Create a frontend wireframe. (#7)

Sets up API methods and types.
Sets up a colorscheme.
Sets up a homepage.

Removes tailwind in favor of mui for now.

Reviewed-on: #7
Co-authored-by: Drew Galbraith <drew@tiramisu.one>
Co-committed-by: Drew Galbraith <drew@tiramisu.one>
This commit is contained in:
Drew 2025-09-23 04:08:45 +00:00 committed by Drew
parent 7d2b7fc90c
commit d60d834f38
27 changed files with 3114 additions and 977 deletions

View file

@ -6,8 +6,12 @@ import {
Scripts,
ScrollRestoration,
} from 'react-router'
import { ThemeProvider } from '@mui/material/styles'
import { CssBaseline } from '@mui/material'
import type { Route } from './+types/root'
import { theme } from './theme'
import AppLayout from './components/Layout'
import './app.css'
export const links: Route.LinksFunction = () => [
@ -42,7 +46,14 @@ export function Layout({ children }: { children: React.ReactNode }) {
}
export default function App() {
return <Outlet />
return (
<ThemeProvider theme={theme}>
<CssBaseline />
<AppLayout>
<Outlet />
</AppLayout>
</ThemeProvider>
)
}
export function ErrorBoundary({ error }: Route.ErrorBoundaryProps) {
@ -62,14 +73,19 @@ export function ErrorBoundary({ error }: Route.ErrorBoundaryProps) {
}
return (
<main className="pt-16 p-4 container mx-auto">
<h1>{message}</h1>
<p>{details}</p>
{stack && (
<pre className="w-full p-4 overflow-x-auto">
<code>{stack}</code>
</pre>
)}
</main>
<ThemeProvider theme={theme}>
<CssBaseline />
<AppLayout>
<main className="pt-16 p-4 container mx-auto">
<h1>{message}</h1>
<p>{details}</p>
{stack && (
<pre className="w-full p-4 overflow-x-auto">
<code>{stack}</code>
</pre>
)}
</main>
</AppLayout>
</ThemeProvider>
)
}