feat(260805-d0r): membership-origin badge on chips (D-19/D-20)
- Reuses admin.groups.members.sourceManual/.sourceLdap -- no new i18n key - Badge markup copied verbatim from GroupMembersModal.tsx (blue for LDAP, neutral gray otherwise), same visual language on both surfaces
This commit is contained in:
@@ -48,6 +48,7 @@ interface UserAccessModalProps {
|
||||
export function UserAccessModal({ userId, username, onClose }: UserAccessModalProps) {
|
||||
const t = useTranslations('admin.users.grants');
|
||||
const tCommon = useTranslations('common');
|
||||
const tMembers = useTranslations('admin.groups.members');
|
||||
|
||||
const [rows, setRows] = useState<ModuleAccessRow[] | null>(null);
|
||||
const [groups, setGroups] = useState<MembershipChip[] | null>(null);
|
||||
@@ -162,6 +163,15 @@ export function UserAccessModal({ userId, username, onClose }: UserAccessModalPr
|
||||
className="flex items-center gap-2 rounded-md border border-border px-3 py-1.5 text-sm"
|
||||
>
|
||||
<span className="font-mono text-xs text-foreground">{group.name}</span>
|
||||
<span
|
||||
className={`rounded px-1.5 py-0.5 text-xs font-medium ${
|
||||
group.source === 'LDAP'
|
||||
? 'bg-blue-100 text-blue-700 dark:bg-blue-900/30 dark:text-blue-400'
|
||||
: 'bg-gray-100 text-gray-500 dark:bg-gray-800 dark:text-gray-500'
|
||||
}`}
|
||||
>
|
||||
{group.source === 'LDAP' ? tMembers('sourceLdap') : tMembers('sourceManual')}
|
||||
</span>
|
||||
</li>
|
||||
))}
|
||||
</ul>
|
||||
|
||||
Reference in New Issue
Block a user