auth-logs.tsx31 lines · main
1import { PermissionAction } from '@supabase/shared-types/out/constants'
2
3import { LogsPreviewer } from '@/components/interfaces/Settings/Logs/LogsPreviewer'
4import DefaultLayout from '@/components/layouts/DefaultLayout'
5import LogsLayout from '@/components/layouts/LogsLayout/LogsLayout'
6import NoPermission from '@/components/ui/NoPermission'
7import { useAsyncCheckPermissions } from '@/hooks/misc/useCheckPermissions'
8import { useSelectedProjectQuery } from '@/hooks/misc/useSelectedProject'
9import type { NextPageWithLayout } from '@/types'
10
11const LogsPage: NextPageWithLayout = () => {
12 const { data: project } = useSelectedProjectQuery()
13 const { can: canReadAuthLogs } = useAsyncCheckPermissions(
14 PermissionAction.ANALYTICS_READ,
15 'logflare'
16 )
17
18 return !canReadAuthLogs ? (
19 <NoPermission isFullPage resourceText="access your project's authentication logs" />
20 ) : !!project ? (
21 <LogsPreviewer condensedLayout projectRef={project!.ref} queryType="auth" />
22 ) : null
23}
24
25LogsPage.getLayout = (page) => (
26 <DefaultLayout>
27 <LogsLayout title="Auth Logs">{page}</LogsLayout>
28 </DefaultLayout>
29)
30
31export default LogsPage