e27d1f5c8d12cb36f200ae522e498134b49e436a
Three changes to singlePlayerPage:
1. Store creation no longer waits for isEditorReady. The editor ref
is already passed as optional to NavigationSnapshotService and
loadNodeSnapshotFromDatabase, so we can create and populate the
store without needing the editor to be mounted first.
2. <Tldraw> only renders when store is defined: {store && <Tldraw>}.
Previously it rendered immediately with store={undefined}, which
caused TLDraw to initialize with no backing store and crash
reading topOffset on an unresolved internal object.
3. Loading guard also checks !user so the component never renders
with a null profile before the redirect effect fires.
Co-Authored-By: Claude Sonnet 4.6 <[email protected]>
Description
React 18 + TypeScript + TLDraw 3.6 frontend for Classroom Copilot — whiteboard, transcription panel, timetable, and graph views
8.5 MiB
Languages
TypeScript
96.1%
CSS
3.1%
JavaScript
0.5%
Dockerfile
0.2%
HTML
0.1%