diff --git a/src/app/notebooks/[id]/page.tsx b/src/app/notebooks/[id]/page.tsx index 1e8198b..acd4b68 100644 --- a/src/app/notebooks/[id]/page.tsx +++ b/src/app/notebooks/[id]/page.tsx @@ -7,6 +7,7 @@ import { NoteCard } from '@/components/NoteCard'; import { CanvasEmbed } from '@/components/CanvasEmbed'; import { UserMenu } from '@/components/UserMenu'; import { authFetch } from '@/lib/authFetch'; +import type { CanvasShapeMessage } from '@/lib/canvas-sync'; interface NoteData { id: string; @@ -51,6 +52,23 @@ export default function NotebookDetailPage() { fetchNotebook(); }, [fetchNotebook]); + const handleShapeUpdate = useCallback(async (message: CanvasShapeMessage) => { + try { + await fetch('/api/sync', { + method: 'POST', + headers: { 'Content-Type': 'application/json' }, + body: JSON.stringify({ + shapeId: message.shapeId, + type: message.type, + data: message.data, + }), + }); + fetchNotebook(); + } catch (err) { + console.error('Canvas sync error:', err); + } + }, [fetchNotebook]); + const handleCreateCanvas = async () => { if (creatingCanvas) return; setCreatingCanvas(true); @@ -98,51 +116,54 @@ export default function NotebookDetailPage() { return (
-