'use client'; import { useEffect, useState } from 'react'; import { LayoutGrid, List, Plus } from 'lucide-react'; import { Button } from '@/components/ui/button'; import { Tabs, TabsList, TabsTrigger } from '@/components/ui/tabs'; import { TasksKanbanView } from '@/components/tasks/tasks-kanban-view'; import { TasksListView } from '@/components/tasks/tasks-list-view'; import { CreateItemDialog } from '@/components/create-item-dialog'; export default function TasksPage() { const [view, setView] = useState<'kanban' | 'list'>('kanban'); const [createOpen, setCreateOpen] = useState(false); const [refreshKey, setRefreshKey] = useState(0); useEffect(() => { if (new URLSearchParams(window.location.search).get('new') === 'true') setCreateOpen(true); }, []); function handleCreateOpenChange(open: boolean) { setCreateOpen(open); if (!open && new URLSearchParams(window.location.search).get('new') === 'true') { window.history.replaceState(null, '', '/tasks'); } } return (

Tasks

Move work forward without losing the thread.

setView(v as 'kanban' | 'list')} >
{view === 'kanban' ? ( ) : ( )} setRefreshKey((key) => key + 1)} />
); }