import { useState } from "react";
import { StatusBar } from "expo-status-bar";
import { SafeAreaProvider, SafeAreaView } from "react-native-safe-area-context";
import { Column, Container, Navbar, OverlayProvider, ScrollView, Switch, ThemeProvider, Typography, useTheme } from "@nannier/canvas";
import config from "./recipe-config.json";
import packageMetadata from "./package.json";
import { Settings, useSettings } from "./src/recipes/settings";
import { Dashboard, useDashboard } from "./src/recipes/dashboard";
import { Booking, useBooking } from "./src/recipes/booking";
const recipes = ["settings", "dashboard", "booking"];
function Recipes({ dark, onDarkChange }: { dark: boolean; onDarkChange: (dark: boolean) => void }) {
const { tokens } = useTheme();
const [active, setActive] = useState(Math.max(0, recipes.indexOf(config.initialRecipe)));
// State lives above the navigation, so switching recipes preserves each draft.
const settings = useSettings();
const dashboard = useDashboard();
const booking = useBooking();
return
{/* App-frame plumbing supplies the viewport; semantic Canvas containers bound the content. */}
Dark mode} />
{active === 0 ? : active === 1 ? : }
Built with @nannier/canvas {packageMetadata.dependencies["@nannier/canvas"]} · Frontend state only · Reload to reset
;
}
export default function App() {
const [dark, setDark] = useState(false);
return ;
}