2026-08-01 04:13:25 +00:00
|
|
|
import { createRoute, useParams, useNavigate } from "@tanstack/react-router";
|
|
|
|
|
import { Route as appRoute } from "../../_app";
|
|
|
|
|
import { useApiQuery } from "@/lib/api";
|
|
|
|
|
import type { Canvas } from "@/lib/types";
|
2026-08-10 08:53:18 +00:00
|
|
|
import { CanvasEditor } from "../canvas";
|
2026-08-01 04:13:25 +00:00
|
|
|
|
|
|
|
|
function CanvasDetail() {
|
|
|
|
|
const { id } = useParams({ from: Route.id });
|
|
|
|
|
const navigate = useNavigate();
|
|
|
|
|
const { data: canvas, isLoading } = useApiQuery<Canvas>(["canvas", id], "/canvas/" + id);
|
|
|
|
|
|
|
|
|
|
if (isLoading) return <div className="p-8 text-center text-muted-foreground">Loading...</div>;
|
|
|
|
|
if (!canvas) return <div className="p-8 text-center text-muted-foreground">Canvas not found</div>;
|
|
|
|
|
|
2026-08-10 08:53:18 +00:00
|
|
|
return <CanvasEditor key={canvas.id} canvas={canvas} onBack={() => navigate({ to: "/canvas" })} />;
|
2026-08-01 04:13:25 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
export const Route = createRoute({
|
|
|
|
|
getParentRoute: () => appRoute,
|
|
|
|
|
path: "canvas/$id",
|
|
|
|
|
component: CanvasDetail,
|
|
|
|
|
});
|