import { createFileRoute, Link } from "@tanstack/react-router" import { useState } from "react" import { useTranslation } from "react-i18next" import { ArrowLeft, ChevronRight, Sparkles, Trash2 } from "lucide-react" import { Badge } from "@/components/ui/badge" import { Button } from "@/components/ui/button" import { Card, CardContent } from "@/components/ui/card" import { Drawer, DrawerContent, DrawerHeader, DrawerTitle, } from "@/components/ui/drawer" import { Input } from "@/components/ui/input" import { Label } from "@/components/ui/label" import { Skeleton } from "@/components/ui/skeleton" import { EmptyState } from "@/components/empty-state" import { useAuth, useIsAdmin } from "@/components/auth-provider" import { Select, SelectContent, SelectItem, SelectTrigger, SelectValue } from "@/components/ui/select" import { useWrapUps, useGenerateWrapUp, useDeleteWrapUp, } from "@/hooks/use-wrapup" import { useUsers } from "@/hooks/use-users" export const Route = createFileRoute("/_app/settings/wrapup")({ component: WrapupPage, }) function WrapupPage() { const { t } = useTranslation() const { auth } = useAuth() const isAdmin = useIsAdmin() const { data, isPending } = useWrapUps() const generate = useGenerateWrapUp() const remove = useDeleteWrapUp() const { data: usersData } = useUsers() const [open, setOpen] = useState(false) const [startDate, setStartDate] = useState("") const [endDate, setEndDate] = useState("") const [targetUserId, setTargetUserId] = useState("self") const handleGenerate = () => { const user_id = targetUserId === "global" ? undefined : targetUserId === "self" ? auth?.user_id : targetUserId generate.mutate( { start_date: startDate, end_date: endDate, user_id }, { onSuccess: () => { setOpen(false) setStartDate("") setEndDate("") }, }, ) } const items = data?.items ?? [] return (

{t("wrapup.title")}

{isAdmin && ( )}
{isPending ? (
{[1, 2].map((i) => ( ))}
) : !items.length ? ( ) : (
{items.map((w) => ( {w.status === "Ready" ? (

{w.start_date} — {w.end_date}

{w.status}
) : (

{w.start_date} — {w.end_date}

{w.status}
)} {isAdmin && ( )}
))}
)} {t("wrapup.generateWrapUp")}
setStartDate(e.target.value)} />
setEndDate(e.target.value)} />
{isAdmin && usersData?.users && (
)}
) }