Press n or j to go to the next uncovered block, b, p or k for the previous block.
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 | import { memo } from 'react'; import { Badge, BadgeHue } from '@allshares/studio-design-system'; import { assert } from '@amalia/ext/typescript'; import { TeamRole } from '@amalia/tenants/assignments/teams/types'; import { TeamRoleLabel } from './TeamRoleLabel'; export type TeamRoleBadgeProps = { readonly teamRole: TeamRole; }; export const TeamRoleBadgeVariantRecord: Readonly<Record<TeamRole, BadgeHue>> = { [TeamRole.TEAM_MANAGER]: BadgeHue.MAGENTA, [TeamRole.TEAM_EMPLOYEE]: BadgeHue.BLUE, } as const; export const TeamRoleBadge = memo(function TeamRoleBadge({ teamRole }: TeamRoleBadgeProps) { assert(teamRole in TeamRoleBadgeVariantRecord, `Invalid team role: ${teamRole}`); const badgeVariant = TeamRoleBadgeVariantRecord[teamRole]; return ( <Badge variant={badgeVariant}> <TeamRoleLabel teamRole={teamRole} /> </Badge> ); }); |