import { SHORTCUT_REFERENCE_GROUPS } from '../referenceGroups' import { RegistryDefinations } from '../types' /** * Contextual chords for jumping between Authentication sub-pages — `A + `. * * Active only while AuthLayout is mounted (i.e. the user is somewhere under * `/project//auth/*`). Mirrors the database-nav pattern: the leading `A` * is layout-scoped so it doesn't burn a global key. */ export const AUTH_NAV_SHORTCUT_IDS = { NAV_AUTH_OVERVIEW: 'nav.auth-overview', NAV_AUTH_USERS: 'nav.auth-users', NAV_AUTH_OAUTH_APPS: 'nav.auth-oauth-apps', NAV_AUTH_EMAIL: 'nav.auth-email', NAV_AUTH_POLICIES: 'nav.auth-policies', NAV_AUTH_SIGN_IN: 'nav.auth-sign-in', NAV_AUTH_PASSKEYS: 'nav.auth-passkeys', NAV_AUTH_OAUTH_SERVER: 'nav.auth-oauth-server', NAV_AUTH_SESSIONS: 'nav.auth-sessions', NAV_AUTH_RATE_LIMITS: 'nav.auth-rate-limits', NAV_AUTH_MFA: 'nav.auth-mfa', NAV_AUTH_URL_CONFIGURATION: 'nav.auth-url-configuration', NAV_AUTH_PROTECTION: 'nav.auth-protection', NAV_AUTH_HOOKS: 'nav.auth-hooks', NAV_AUTH_AUDIT_LOGS: 'nav.auth-audit-logs', NAV_AUTH_PERFORMANCE: 'nav.auth-performance', } export type AuthNavShortcutId = (typeof AUTH_NAV_SHORTCUT_IDS)[keyof typeof AUTH_NAV_SHORTCUT_IDS] export const authNavRegistry: RegistryDefinations = { [AUTH_NAV_SHORTCUT_IDS.NAV_AUTH_OVERVIEW]: { id: AUTH_NAV_SHORTCUT_IDS.NAV_AUTH_OVERVIEW, label: 'Go to Overview', sequence: ['A', 'O'], showInSettings: false, referenceGroup: SHORTCUT_REFERENCE_GROUPS.NAVIGATION_AUTH, }, [AUTH_NAV_SHORTCUT_IDS.NAV_AUTH_USERS]: { id: AUTH_NAV_SHORTCUT_IDS.NAV_AUTH_USERS, label: 'Go to Users', sequence: ['A', 'U'], showInSettings: false, referenceGroup: SHORTCUT_REFERENCE_GROUPS.NAVIGATION_AUTH, }, [AUTH_NAV_SHORTCUT_IDS.NAV_AUTH_OAUTH_APPS]: { id: AUTH_NAV_SHORTCUT_IDS.NAV_AUTH_OAUTH_APPS, label: 'Go to OAuth Apps', sequence: ['A', 'A'], showInSettings: false, referenceGroup: SHORTCUT_REFERENCE_GROUPS.NAVIGATION_AUTH, }, [AUTH_NAV_SHORTCUT_IDS.NAV_AUTH_EMAIL]: { id: AUTH_NAV_SHORTCUT_IDS.NAV_AUTH_EMAIL, label: 'Go to Email', sequence: ['A', 'E'], showInSettings: false, referenceGroup: SHORTCUT_REFERENCE_GROUPS.NAVIGATION_AUTH, }, [AUTH_NAV_SHORTCUT_IDS.NAV_AUTH_POLICIES]: { id: AUTH_NAV_SHORTCUT_IDS.NAV_AUTH_POLICIES, label: 'Go to Policies', sequence: ['A', 'P'], showInSettings: false, referenceGroup: SHORTCUT_REFERENCE_GROUPS.NAVIGATION_AUTH, }, [AUTH_NAV_SHORTCUT_IDS.NAV_AUTH_SIGN_IN]: { id: AUTH_NAV_SHORTCUT_IDS.NAV_AUTH_SIGN_IN, label: 'Go to Sign In / Providers', sequence: ['A', 'I'], showInSettings: false, referenceGroup: SHORTCUT_REFERENCE_GROUPS.NAVIGATION_AUTH, }, [AUTH_NAV_SHORTCUT_IDS.NAV_AUTH_PASSKEYS]: { id: AUTH_NAV_SHORTCUT_IDS.NAV_AUTH_PASSKEYS, label: 'Go to Passkeys', sequence: ['A', 'K'], showInSettings: false, referenceGroup: SHORTCUT_REFERENCE_GROUPS.NAVIGATION_AUTH, }, [AUTH_NAV_SHORTCUT_IDS.NAV_AUTH_OAUTH_SERVER]: { id: AUTH_NAV_SHORTCUT_IDS.NAV_AUTH_OAUTH_SERVER, label: 'Go to OAuth Server', sequence: ['A', 'V'], showInSettings: false, referenceGroup: SHORTCUT_REFERENCE_GROUPS.NAVIGATION_AUTH, }, [AUTH_NAV_SHORTCUT_IDS.NAV_AUTH_SESSIONS]: { id: AUTH_NAV_SHORTCUT_IDS.NAV_AUTH_SESSIONS, label: 'Go to Sessions', sequence: ['A', 'S'], showInSettings: false, referenceGroup: SHORTCUT_REFERENCE_GROUPS.NAVIGATION_AUTH, }, [AUTH_NAV_SHORTCUT_IDS.NAV_AUTH_RATE_LIMITS]: { id: AUTH_NAV_SHORTCUT_IDS.NAV_AUTH_RATE_LIMITS, label: 'Go to Rate Limits', sequence: ['A', 'R'], showInSettings: false, referenceGroup: SHORTCUT_REFERENCE_GROUPS.NAVIGATION_AUTH, }, [AUTH_NAV_SHORTCUT_IDS.NAV_AUTH_MFA]: { id: AUTH_NAV_SHORTCUT_IDS.NAV_AUTH_MFA, label: 'Go to Multi-Factor', sequence: ['A', 'M'], showInSettings: false, referenceGroup: SHORTCUT_REFERENCE_GROUPS.NAVIGATION_AUTH, }, [AUTH_NAV_SHORTCUT_IDS.NAV_AUTH_URL_CONFIGURATION]: { id: AUTH_NAV_SHORTCUT_IDS.NAV_AUTH_URL_CONFIGURATION, label: 'Go to URL Configuration', sequence: ['A', 'L'], showInSettings: false, referenceGroup: SHORTCUT_REFERENCE_GROUPS.NAVIGATION_AUTH, }, [AUTH_NAV_SHORTCUT_IDS.NAV_AUTH_PROTECTION]: { id: AUTH_NAV_SHORTCUT_IDS.NAV_AUTH_PROTECTION, label: 'Go to Attack Protection', sequence: ['A', 'T'], showInSettings: false, referenceGroup: SHORTCUT_REFERENCE_GROUPS.NAVIGATION_AUTH, }, [AUTH_NAV_SHORTCUT_IDS.NAV_AUTH_HOOKS]: { id: AUTH_NAV_SHORTCUT_IDS.NAV_AUTH_HOOKS, label: 'Go to Auth Hooks', sequence: ['A', 'H'], showInSettings: false, referenceGroup: SHORTCUT_REFERENCE_GROUPS.NAVIGATION_AUTH, }, [AUTH_NAV_SHORTCUT_IDS.NAV_AUTH_AUDIT_LOGS]: { id: AUTH_NAV_SHORTCUT_IDS.NAV_AUTH_AUDIT_LOGS, label: 'Go to Audit Logs', sequence: ['A', 'G'], showInSettings: false, referenceGroup: SHORTCUT_REFERENCE_GROUPS.NAVIGATION_AUTH, }, [AUTH_NAV_SHORTCUT_IDS.NAV_AUTH_PERFORMANCE]: { id: AUTH_NAV_SHORTCUT_IDS.NAV_AUTH_PERFORMANCE, label: 'Go to Performance', sequence: ['A', 'F'], showInSettings: false, referenceGroup: SHORTCUT_REFERENCE_GROUPS.NAVIGATION_AUTH, }, }