import { useRouter } from "next/router"; import { AnnotationQueuesTable } from "@/src/features/annotation-queues/components/AnnotationQueuesTable"; import { useHasProjectAccess } from "@/src/features/rbac/utils/checkProjectAccess"; import { SupportOrUpgradePage } from "@/src/ee/features/billing/components/SupportOrUpgradePage"; import Page from "@/src/components/layouts/page"; import { AnnotationQueuesOnboarding } from "@/src/components/onboarding/AnnotationQueuesOnboarding"; import { api } from "@/src/utils/api"; import { CreateOrEditAnnotationQueueButton } from "@/src/features/annotation-queues/components/CreateOrEditAnnotationQueueButton"; export default function AnnotationQueues() { const router = useRouter(); const projectId = router.query.projectId as string; const hasAccess = useHasProjectAccess({ projectId: projectId, scope: "annotationQueues:read", }); // Check if the user has any annotation queues const { data: hasAnyQueue, isLoading } = api.annotationQueues.hasAny.useQuery( { projectId }, { enabled: !!projectId, trpc: { context: { skipBatch: true, }, }, refetchInterval: 10_000, }, ); const showOnboarding = !isLoading && !hasAnyQueue; if (!hasAccess) return ; return ( ), }} scrollable={showOnboarding} > {/* Show onboarding screen if user has no annotation queues */} {showOnboarding ? ( ) : ( )} ); }