// @refresh reload import type { Asset, PageEvent } from "@solidjs/start" import { createHandler, StartServer } from "@solidjs/start/server" import ibmPlexMonoMediumLatin1 from "@ibm/plex/IBM-Plex-Mono/fonts/split/woff2/IBMPlexMono-Medium-Latin1.woff2?url" import { getRequestEvent } from "solid-js/web" import { dir, localeFromRequest, tag } from "./lib/language" import statsStylesheetUrl from "./routes/index.css?url" const statsThemePreloadScript = `;(function () { var preference = "system" try { var stored = localStorage.getItem("opencode:stats-theme") if (stored === "dark" || stored === "light" || stored === "system") preference = stored } catch (_) {} document.documentElement.dataset.statsTheme = preference if (preference === "system") document.documentElement.style.removeProperty("color-scheme") else document.documentElement.style.setProperty("color-scheme", preference) })()` export default createHandler( () => ( { const event = getRequestEvent() as PageEvent | undefined const locale = event ? localeFromRequest(event.request) : "en" const stylesheet = (event?.assets as Asset[] | undefined)?.find( (asset): asset is Extract => asset.tag === "link" && asset.attrs.rel === "stylesheet", ) const stylesheetHref = import.meta.env.DEV ? statsStylesheetUrl : stylesheet?.attrs.href return ( {stylesheetHref ? : null} {assets}
{children}
{scripts} ) }} /> ), { mode: "async", }, )