Compare commits

...

1 Commits

Author SHA1 Message Date
Jiang Bohan
f3ccb7a87e fix(settings): render invite role label via roleConfig in members tab
The invite-member role Select rendered the raw value ("member"/"admin")
in the trigger because Base UI's SelectValue defaults to the value, not
the item text. PR #1672 worked around it with `className="capitalize"`,
but this file already owns a roleConfig map with proper labels and the
codebase has an established render-prop pattern for SelectValue (see
trigger-config.tsx and runtime-local-skill-import-panel.tsx).

Use roleConfig[inviteRole].label inside SelectValue and reuse the same
labels for SelectItem children. Single source of truth for role display
names; future role additions or i18n won't depend on CSS capitalize.
2026-04-26 09:40:12 +08:00

View File

@@ -310,10 +310,12 @@ export function MembersTab() {
}}
/>
<Select value={inviteRole} onValueChange={(value) => setInviteRole(value as MemberRole)}>
<SelectTrigger size="sm"><SelectValue /></SelectTrigger>
<SelectTrigger size="sm">
<SelectValue>{() => roleConfig[inviteRole].label}</SelectValue>
</SelectTrigger>
<SelectContent>
<SelectItem value="member">Member</SelectItem>
<SelectItem value="admin">Admin</SelectItem>
<SelectItem value="member">{roleConfig.member.label}</SelectItem>
<SelectItem value="admin">{roleConfig.admin.label}</SelectItem>
</SelectContent>
</Select>
<Button