0.1.5•Updated 6 months ago
import type { PageProps } from "$fresh/server.ts";
import { TopBar } from "@infinity-beyond/ui/components/ui/TopBar.tsx";
import { Drawer } from "@infinity-beyond/ui/components/ui/layout/Drawer.tsx";
import { Partial } from "$fresh/runtime.ts";
import State from "@infinity-beyond/modules/state.ts";
// deno-lint-ignore no-explicit-any
export default function InfinityApp({ Component, state }: PageProps<any, Infinity.Context>) {
return (
<html class="h-full">
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>{ State.Application!.app_name }</title>
<link rel="icon" type="image/png" href="/favicon-96x96.png" sizes="96x96" />
<link rel="icon" type="image/svg+xml" href="/favicon.svg" />
<link rel="shortcut icon" href="/favicon.ico" />
<link rel="apple-touch-icon" sizes="180x180" href="/apple-touch-icon.png" />
<meta name="apple-mobile-web-app-title" content="Infinity" />
<link rel="manifest" href="/site.webmanifest" />
<link rel="stylesheet" href="/styles.css" />
</head>
<body class="h-full" f-client-nav>
<Drawer state={state} >
<TopBar state={state} />
<Partial name="main">
<div class="grow-1 h-full">
<Component />
</div>
</Partial>
</Drawer>
</body>
</html>
);
}