'use client'; import { useState } from 'react'; import { Plus, UploadCloud } from 'lucide-react'; import { PageHeader } from '@/components/page-header'; import { Button } from '@/components/ui/button'; import type { UploadListItem } from '@/types'; import { CreateUploadDialog } from './components/CreateUploadDialog'; import { useUploadListColumns } from './components/UploadListColumns'; import { UploadTable } from './components/UploadTable'; import { VideoPreviewDialog } from './components/VideoPreviewDialog'; import { useUploadFilters } from './hooks/useUploadFilters'; import { useUploadListEvents } from './hooks/useUploadListEvents'; import { useUploadsQuery } from './hooks/useUploadQueries'; export default function UploadPage() { const { skip, setSkip, limit, setLimit } = useUploadFilters(); const uploadsQuery = useUploadsQuery({ skip, limit }); useUploadListEvents(); const [isCreateOpen, setIsCreateOpen] = useState(false); const [videoUpload, setVideoUpload] = useState(null); const uploads = uploadsQuery.data?.items ?? []; const total = uploadsQuery.data?.total ?? 0; const isLoading = uploadsQuery.isLoading; const columns = useUploadListColumns(setVideoUpload); return ( <>
setIsCreateOpen(true)} size="sm"> Upload New } />
{ if (!open) setVideoUpload(null); }} /> ); }