feat: add import/export for JSON, CSV, and Trello formats

This commit is contained in:
Your Name
2026-02-15 19:14:06 +02:00
parent 491c089be6
commit e020ba6e8b
3 changed files with 370 additions and 8 deletions

View File

@@ -4,6 +4,7 @@ import { Button } from "@/components/ui/button";
import { useAppStore } from "@/stores/app-store";
import { BoardCard } from "@/components/boards/BoardCard";
import { NewBoardDialog } from "@/components/boards/NewBoardDialog";
import { ImportExportButtons } from "@/components/import-export/ImportExportButtons";
export function BoardList() {
const boards = useAppStore((s) => s.boards);
@@ -27,10 +28,13 @@ export function BoardList() {
<p className="font-mono text-sm text-pylon-text-secondary">
Create your first board
</p>
<Button onClick={() => setDialogOpen(true)}>
<Plus className="size-4" />
New Board
</Button>
<div className="flex items-center gap-2">
<Button onClick={() => setDialogOpen(true)}>
<Plus className="size-4" />
New Board
</Button>
<ImportExportButtons />
</div>
</div>
<NewBoardDialog open={dialogOpen} onOpenChange={setDialogOpen} />
</>
@@ -45,10 +49,13 @@ export function BoardList() {
<h2 className="font-mono text-xs font-semibold uppercase tracking-widest text-pylon-text-secondary">
Your Boards
</h2>
<Button size="sm" onClick={() => setDialogOpen(true)}>
<Plus className="size-4" />
New
</Button>
<div className="flex items-center gap-2">
<ImportExportButtons />
<Button size="sm" onClick={() => setDialogOpen(true)}>
<Plus className="size-4" />
New
</Button>
</div>
</div>
{/* Board grid */}