Initial commit

This commit is contained in:
zhongyidian committed 2026-09-08 14:19:44 +08:00
commit 6b1e803320
158 files changed
+16461

No files matched your search

+45
View File
@@ -0,0 +1,45 @@
import { useEffect } from "react";
import { Outlet } from "react-router-dom";
import { ToastProvider, ToastViewport } from "@/components/ui/toast";
import {
CourseCanvas,
registerAppPortalRoot,
useCourseCanvas,
} from "@/course/canvas";
import { OrientationGuard } from "@/course/orientation";
import { GameAudioProvider } from "@/utils/audio";
import { Navigation } from "./components/business";
function CourseShell() {
const { portalContainer } = useCourseCanvas();
useEffect(() => registerAppPortalRoot(portalContainer), [portalContainer]);
return (
<GameAudioProvider>
<ToastProvider>
<Navigation />
<main className="flex-1 overflow-auto p-8">
<Outlet />
</main>
<ToastViewport container={portalContainer} />
</ToastProvider>
</GameAudioProvider>
);
}
function App() {
return (
<>
<OrientationGuard />
<CourseCanvas
className="bg-gray-900"
canvasClassName="flex flex-col overflow-hidden bg-white"
>
<CourseShell />
</CourseCanvas>
</>
);
}
export default App;