fix: handle null defaultRoles in OIDC config page
Some checks failed
CI / build (push) Has been cancelled
CI / docker (push) Has been cancelled
CI / deploy (push) Has been cancelled
CI / deploy-feature (push) Has been cancelled
CI / cleanup-branch (push) Has been cancelled

The API returns defaultRoles as null when no roles are configured.
Add null guards on all defaultRoles accesses to prevent .map() crash.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
hsiegeln
2026-03-24 18:41:59 +01:00
parent f3241e904f
commit 9a4a4dc1af

View File

@@ -50,15 +50,15 @@ export default function OidcConfigPage() {
function addRole() {
if (!form) return;
const role = newRole.trim().toUpperCase();
if (role && !form.defaultRoles.includes(role)) {
update('defaultRoles', [...form.defaultRoles, role]);
if (role && !(form.defaultRoles || []).includes(role)) {
update('defaultRoles', [...(form.defaultRoles || []), role]);
setNewRole('');
}
}
function removeRole(role: string) {
if (!form) return;
update('defaultRoles', form.defaultRoles.filter((r) => r !== role));
update('defaultRoles', (form.defaultRoles || []).filter((r) => r !== role));
}
async function handleSave() {
@@ -187,10 +187,10 @@ export default function OidcConfigPage() {
<section className={styles.section}>
<SectionHeader>Default Roles</SectionHeader>
<div className={styles.tagList}>
{form.defaultRoles.map((role) => (
{(form.defaultRoles || []).map((role) => (
<Tag key={role} label={role} color="primary" onRemove={() => removeRole(role)} />
))}
{form.defaultRoles.length === 0 && (
{(form.defaultRoles || []).length === 0 && (
<span className={styles.noRoles}>No default roles configured</span>
)}
</div>