From d1bff8bfd99b4c96dfdc5d6abbf01ce44937795f Mon Sep 17 00:00:00 2001 From: Timothy Yin Date: Thu, 12 Mar 2026 13:30:02 +0800 Subject: [PATCH] feat: add grid view for IdTagsPage and toggle button --- apps/web/app/dashboard/id-tags/page.tsx | 289 ++++++++++++++++++------ 1 file changed, 223 insertions(+), 66 deletions(-) diff --git a/apps/web/app/dashboard/id-tags/page.tsx b/apps/web/app/dashboard/id-tags/page.tsx index d419e92..af44627 100644 --- a/apps/web/app/dashboard/id-tags/page.tsx +++ b/apps/web/app/dashboard/id-tags/page.tsx @@ -24,9 +24,11 @@ import { } from "@heroui/react"; import { parseDate } from "@internationalized/date"; import { ArrowRotateRight, Pencil, Plus, TrashBin } from "@gravity-ui/icons"; +import { LayoutGrid, List } from "lucide-react"; import { api, type IdTag, type UserRow } from "@/lib/api"; import { useSession } from "@/lib/auth-client"; import dayjs from "@/lib/dayjs"; +import { IdTagCard } from "@/components/id-tag-card"; const statusColorMap: Record = { Accepted: "success", @@ -396,6 +398,7 @@ export default function IdTagsPage() { const [saving, setSaving] = useState(false); const [deletingTag, setDeletingTag] = useState(null); const [claiming, setClaiming] = useState(false); + const [viewMode, setViewMode] = useState<"table" | "grid">("table"); const { data: idTagsData, @@ -505,6 +508,19 @@ export default function IdTagsPage() { > +