fix: use formRoleKey fallback for roleKey in external dashboard preview

When roles API fails to load or roleId doesn't match a loaded role,
selectedRoleKey() returns empty string. Fall back to formRoleKey() in
all three DashboardDesignPreview instances (compact, full_preview tab,
fullscreen overlay) so the role-specific preview always renders correctly.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
Ashwin Kumar 2026-04-06 22:24:59 +02:00
parent 2e3c2d6db8
commit ead325a3e3

View file

@ -687,7 +687,7 @@ export default function ExternalDashboardManagementPage() {
widgets={widgets()} widgets={widgets()}
fields={fields()} fields={fields()}
mode={'customer_external'} mode={'customer_external'}
roleKey={selectedRoleKey()} roleKey={selectedRoleKey() || formRoleKey()}
exploreRoles={roles().map((r) => ({ key: r.key, name: r.name }))} exploreRoles={roles().map((r) => ({ key: r.key, name: r.name }))}
onOpenFullscreen={() => setFormTab('full_preview')} onOpenFullscreen={() => setFormTab('full_preview')}
/> />
@ -730,7 +730,7 @@ export default function ExternalDashboardManagementPage() {
widgets={widgets()} widgets={widgets()}
fields={fields()} fields={fields()}
mode={'customer_external'} mode={'customer_external'}
roleKey={selectedRoleKey()} roleKey={selectedRoleKey() || formRoleKey()}
exploreRoles={roles().map((r) => ({ key: r.key, name: r.name }))} exploreRoles={roles().map((r) => ({ key: r.key, name: r.name }))}
/> />
</div> </div>
@ -869,7 +869,7 @@ export default function ExternalDashboardManagementPage() {
widgets={widgets()} widgets={widgets()}
fields={fields()} fields={fields()}
mode={'customer_external'} mode={'customer_external'}
roleKey={selectedRoleKey()} roleKey={selectedRoleKey() || formRoleKey()}
exploreRoles={roles().map((r) => ({ key: r.key, name: r.name }))} exploreRoles={roles().map((r) => ({ key: r.key, name: r.name }))}
/> />
</div> </div>