import { Button, CunninghamProvider } from "@openfun/cunningham-react"; import React, { useEffect, useState } from "react"; import { Create } from "./Create"; import { Home } from "./Home"; enum Theme { DEFAULT = "default", DARK = "dark", } export enum Page { HOME, CREATE, } export interface PageProps { changePage: (page: Page) => void; } const preferredScheme = window.matchMedia("(prefers-color-scheme: dark)") .matches ? Theme.DARK : Theme.DEFAULT; export const App = () => { const [locale] = useState("en-US"); const [theme, setTheme] = useState(preferredScheme); const [page, setPage] = useState(Page.HOME); const handleThemeChange = (event: MediaQueryListEvent) => setTheme(event.matches ? Theme.DARK : Theme.DEFAULT); useEffect(() => { const query = window.matchMedia("(prefers-color-scheme: dark)"); query.addEventListener("change", handleThemeChange); return () => { query.removeEventListener("change", handleThemeChange); }; }, []); return (
Background pattern {page === Page.HOME && setPage(p)} />} {page === Page.CREATE && setPage(p)} />}
); };