import { render } from "preact";
import { App } from "./ui/app";
import { applyTheme } from "./ui/settings";
import { boot } from "./state/store";
import "./styles.css";

declare global {
  // injected by vite.config.ts
  const __APP_VERSION__: string;
}

applyTheme((localStorage.getItem("cairde.theme") as "system" | "light" | "dark") ?? "system");

void boot();
render(<App />, document.getElementById("root")!);

if ("serviceWorker" in navigator && !import.meta.env.DEV) {
  window.addEventListener("load", () => {
    void navigator.serviceWorker.register(`/sw.js?v=${__APP_VERSION__}`);
  });
}
