Logs.Commands.tsx 2.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869
  1. import { useParams } from 'common'
  2. import type { CommandOptions } from 'ui-patterns/CommandMenu'
  3. import { useRegisterCommands } from 'ui-patterns/CommandMenu'
  4. import { IRouteCommand } from 'ui-patterns/CommandMenu/internal/types'
  5. import { COMMAND_MENU_SECTIONS } from '@/components/interfaces/App/CommandMenu/CommandMenu.utils'
  6. import { useIsFeatureEnabled } from '@/hooks/misc/useIsFeatureEnabled'
  7. export function useLogsGotoCommands(options?: CommandOptions) {
  8. let { ref } = useParams()
  9. ref ||= '_'
  10. const { logsAll, logsCollections } = useIsFeatureEnabled(['logs:all', 'logs:collections'])
  11. useRegisterCommands(
  12. COMMAND_MENU_SECTIONS.NAVIGATE,
  13. logsAll
  14. ? [
  15. {
  16. id: 'nav-logs-explorer',
  17. name: 'Logs Explorer',
  18. route: `/project/${ref}/logs/explorer`,
  19. defaultHidden: true,
  20. },
  21. ...(logsCollections
  22. ? ([
  23. {
  24. id: 'nav-logs-postgres',
  25. name: 'Postgres Logs',
  26. route: `/project/${ref}/logs/postgres-logs`,
  27. defaultHidden: true,
  28. },
  29. {
  30. id: 'nav-logs-postgrest',
  31. name: 'PostgREST Logs',
  32. route: `/project/${ref}/logs/postgrest-logs`,
  33. defaultHidden: true,
  34. },
  35. {
  36. id: 'nav-logs-pooler',
  37. name: 'Pooler Logs',
  38. route: `/project/${ref}/logs/pooler-logs`,
  39. defaultHidden: true,
  40. },
  41. {
  42. id: 'nav-logs-auth',
  43. name: 'Auth Logs',
  44. route: `/project/${ref}/logs/auth-logs`,
  45. defaultHidden: true,
  46. },
  47. {
  48. id: 'nav-logs-storage',
  49. name: 'Storage Logs',
  50. route: `/project/${ref}/logs/storage-logs`,
  51. defaultHidden: true,
  52. },
  53. {
  54. id: 'nav-logs-realtime',
  55. name: 'Realtime Logs',
  56. route: `/project/${ref}/logs/realtime-logs`,
  57. defaultHidden: true,
  58. },
  59. ] as IRouteCommand[])
  60. : []),
  61. ]
  62. : [],
  63. { ...options, deps: [ref] }
  64. )
  65. }