import { Router, Route, Switch, Link } from 'wouter-preact';
import { useHashLocation } from 'wouter-preact/use-hash-location';
import { HomePage } from './pages/Home.jsx';
import { TerminalPage } from './pages/Terminal.jsx';
import { SettingsPage } from './pages/Settings.jsx';
import { InstallPage } from './pages/Install.jsx';
import { HostPicker } from './components/HostPicker.jsx';
export function App() {
return (
<Router hook={useHashLocation}>
<Switch>
{}
<Route path="/s/:host/:name">
{(params) => <TerminalPage host={params.host} name={params.name} />}
</Route>
<Route path="/s/:name">
{(params) => <TerminalPage name={params.name} />}
</Route>
{}
<Route>
<Shell>
<Switch>
<Route path="/" component={HomePage} />
<Route path="/settings" component={SettingsPage} />
<Route path="/install" component={InstallPage} />
<Route>
<div class="settings-card">
<h2>Not found</h2>
<p>
No SPA route here yet. <Link href="/">Home</Link>
</p>
</div>
</Route>
</Switch>
</Shell>
</Route>
</Switch>
</Router>
);
}
function Shell({ children }) {
return (
<div class="spa-shell">
<nav class="spa-nav">
<Link href="/">Home</Link>
<Link href="/settings">Settings</Link>
<Link href="/install">Install</Link>
<HostPicker />
</nav>
<main class="spa-main">{children}</main>
</div>
);
}