task-p.6 migrate

This commit is contained in:
phaichayon
2026-06-30 11:50:50 +07:00
parent b0081c7031
commit 9ab254ef0d
27 changed files with 3170 additions and 32 deletions

View File

@@ -0,0 +1,41 @@
import { auth } from '@/auth';
import { HydrationBoundary, dehydrate } from '@tanstack/react-query';
import PageContainer from '@/components/layout/page-container';
import { DocumentLibrarySettings } from '@/features/foundation/document-library/components/document-library-settings';
import { documentLibrariesQueryOptions } from '@/features/foundation/document-library/queries';
import { PERMISSIONS } from '@/lib/auth/rbac';
import { getQueryClient } from '@/lib/query-client';
export default async function DocumentLibraryRoute() {
const session = await auth();
const canRead =
session?.user?.systemRole === 'super_admin' ||
(!!session?.user?.activeOrganizationId &&
(session.user.activeMembershipRole === 'admin' ||
session.user.activePermissions.includes(PERMISSIONS.crmDocumentLibraryRead)));
const queryClient = getQueryClient();
if (canRead) {
void queryClient.prefetchQuery(documentLibrariesQueryOptions());
}
return (
<PageContainer
pageTitle='Document Library'
pageDescription='Reusable static PDF documents for future quotation assembly workflows.'
access={canRead}
accessFallback={
<div className='text-muted-foreground rounded-lg border border-dashed p-8 text-center'>
You do not have access to the document library.
</div>
}
>
{canRead ? (
<HydrationBoundary state={dehydrate(queryClient)}>
<DocumentLibrarySettings />
</HydrationBoundary>
) : null}
</PageContainer>
);
}