'use client' import { buttonVariants } from '@/components/ui/button' import { Dialog, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogTitle } from '@/components/ui/dialog' import { IconSlack } from '@/components/ui/icons' import { Separator } from '@/components/ui/separator' import { useHealth } from '@/lib/hooks/use-health' import { PropsWithChildren, useEffect, useState } from 'react' import WorkerCard from './components/worker-card' import { useWorkers } from '@/lib/hooks/use-workers' import { WorkerKind } from '@/lib/gql/generates/graphql' import { CopyButton } from '@/components/copy-button' import { graphql } from '@/lib/gql/generates' import { useGraphQLQuery } from '@/lib/tabby/gql' import { useSession } from '@/lib/tabby/auth' const COMMUNITY_DIALOG_SHOWN_KEY = 'community-dialog-shown' export default function Home() { const { status } = useSession() const [open, setOpen] = useState(false) useEffect(() => { if (status !== 'authenticated') return if (!localStorage.getItem(COMMUNITY_DIALOG_SHOWN_KEY)) { setOpen(true) localStorage.setItem(COMMUNITY_DIALOG_SHOWN_KEY, 'true') } }, [status]) return (