realtime-nav.ts 1.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  1. // @ts-nocheck
  2. import { SHORTCUT_REFERENCE_GROUPS } from '../referenceGroups'
  3. import { RegistryDefinations } from '../types'
  4. /**
  5. * Contextual chords for jumping between Realtime sub-pages — `R + <letter>`.
  6. *
  7. * Active only while RealtimeLayout is mounted (i.e. the user is somewhere
  8. * under `/project/<ref>/realtime/*`). Mirrors the database-nav / auth-nav /
  9. * functions-nav pattern: the leading `R` is layout-scoped so it doesn't burn a
  10. * global key.
  11. */
  12. export const REALTIME_NAV_SHORTCUT_IDS = {
  13. NAV_REALTIME_INSPECTOR: 'nav.realtime-inspector',
  14. NAV_REALTIME_POLICIES: 'nav.realtime-policies',
  15. NAV_REALTIME_SETTINGS: 'nav.realtime-settings',
  16. }
  17. export type RealtimeNavShortcutId =
  18. (typeof REALTIME_NAV_SHORTCUT_IDS)[keyof typeof REALTIME_NAV_SHORTCUT_IDS]
  19. export const realtimeNavRegistry: RegistryDefinations<RealtimeNavShortcutId> = {
  20. [REALTIME_NAV_SHORTCUT_IDS.NAV_REALTIME_INSPECTOR]: {
  21. id: REALTIME_NAV_SHORTCUT_IDS.NAV_REALTIME_INSPECTOR,
  22. label: 'Go to Inspector',
  23. sequence: ['R', 'I'],
  24. showInSettings: false,
  25. referenceGroup: SHORTCUT_REFERENCE_GROUPS.NAVIGATION_REALTIME,
  26. },
  27. [REALTIME_NAV_SHORTCUT_IDS.NAV_REALTIME_POLICIES]: {
  28. id: REALTIME_NAV_SHORTCUT_IDS.NAV_REALTIME_POLICIES,
  29. label: 'Go to Policies',
  30. sequence: ['R', 'P'],
  31. showInSettings: false,
  32. referenceGroup: SHORTCUT_REFERENCE_GROUPS.NAVIGATION_REALTIME,
  33. },
  34. [REALTIME_NAV_SHORTCUT_IDS.NAV_REALTIME_SETTINGS]: {
  35. id: REALTIME_NAV_SHORTCUT_IDS.NAV_REALTIME_SETTINGS,
  36. label: 'Go to Settings',
  37. sequence: ['R', 'S'],
  38. showInSettings: false,
  39. referenceGroup: SHORTCUT_REFERENCE_GROUPS.NAVIGATION_REALTIME,
  40. },
  41. }