1
Fork 0
href-plus/source/ts/single-page-application.ts

34 lines
911 B
TypeScript
Raw Normal View History

2021-12-30 22:40:57 +00:00
// Uncomment when debugging and using Preact's DevTools WebExtension.
// import 'preact/debug';
2022-01-01 14:27:01 +00:00
import '@fontsource/inter/latin.css';
2021-12-30 22:40:57 +00:00
import {html, render} from 'htm/preact';
import {Router} from 'preact-router';
import HomePage from './pages/home.js';
import NotFoundPage from './pages/not-found.js';
import ReleasePage from './pages/release.js';
import SettingsPage from './pages/settings.js';
2022-01-14 19:17:52 +00:00
import {getThemeByCssClass, themeContext} from './utilities/themes.js';
2022-01-14 19:17:52 +00:00
const activeTheme = getThemeByCssClass(
window.localStorage.getItem('theme') ?? '',
);
document.body.classList.value = activeTheme.cssClass;
2021-12-30 22:40:57 +00:00
render(
html`
<${themeContext.Provider} value=${activeTheme}>
<${Router}>
<${HomePage} path="/" />
<${SettingsPage} path="/settings" />
<${ReleasePage} path="/release/:mbid" />
<${NotFoundPage} default />
<//>
2021-12-30 22:40:57 +00:00
<//>
`,
document.body,
);