feat(studio): studio web UI (course list, manifest, lessons with live preview, decks, attachments, exercises, conflicts, sync) and dev entry

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
Lucas Winther
2026-10-30 03:26:18 +01:00
co-authored by Claude Opus 5.5
parent 497ce91216
commit 0992df7257
18 changed files with 1403 additions and 5 deletions
+12
View File
@@ -0,0 +1,12 @@
import type { WebFeature } from "@stc/contracts";
/** Studio web routes. The pages call /api/studio, which allows only owners, authors and per-course authors. */
export const studioWeb: WebFeature = {
name: "studio",
routes: [
{ path: "/studio", element: () => import("./ui/StudioHome"), nav: { label: "Studio", area: "header" } },
{ path: "/studio/:courseId", element: () => import("./ui/CourseStudio") },
],
};
export { setLessonPreview, type LessonPreviewProps, type LessonPreviewComponent } from "./ui/preview";