audit.tsx46 lines · main
1import { LogoLoader } from 'ui'
2import {
3 PageHeader,
4 PageHeaderDescription,
5 PageHeaderMeta,
6 PageHeaderSummary,
7 PageHeaderTitle,
8} from 'ui-patterns/PageHeader'
9
10import { AuditLogs } from '@/components/interfaces/Organization/AuditLogs/AuditLogs'
11import { DefaultLayout } from '@/components/layouts/DefaultLayout'
12import OrganizationLayout from '@/components/layouts/OrganizationLayout'
13import { OrganizationSettingsLayout } from '@/components/layouts/ProjectLayout/OrganizationSettingsLayout'
14import { usePermissionsQuery } from '@/data/permissions/permissions-query'
15import { useSelectedOrganizationQuery } from '@/hooks/misc/useSelectedOrganization'
16import type { NextPageWithLayout } from '@/types'
17
18const OrgAuditLogs: NextPageWithLayout = () => {
19 const { isPending: isLoadingPermissions } = usePermissionsQuery()
20 const { data: selectedOrganization } = useSelectedOrganizationQuery()
21
22 return (
23 <>
24 <PageHeader size="default">
25 <PageHeaderMeta>
26 <PageHeaderSummary>
27 <PageHeaderTitle>Audit Logs</PageHeaderTitle>
28 <PageHeaderDescription>
29 Organization-level activity history and security event records
30 </PageHeaderDescription>
31 </PageHeaderSummary>
32 </PageHeaderMeta>
33 </PageHeader>
34 {selectedOrganization === undefined && isLoadingPermissions ? <LogoLoader /> : <AuditLogs />}
35 </>
36 )
37}
38
39OrgAuditLogs.getLayout = (page) => (
40 <DefaultLayout>
41 <OrganizationLayout title="Audit Logs">
42 <OrganizationSettingsLayout>{page}</OrganizationSettingsLayout>
43 </OrganizationLayout>
44 </DefaultLayout>
45)
46export default OrgAuditLogs