feat(ui): redesign UI with Tailwind CSS, CodeMirror 6, and new layout

- Replace all hand-written CSS with Tailwind utility classes
- Upgrade CodeMirror 5 to CodeMirror 6 (scoped @codemirror/* packages)
- Redesign layout with responsive sidebar navigation using JSX/Mithril
- Flatten admin routes (e.g. /admin/presets -> /presets)
- Add "remember me" login option with 2-week persistent cookie
- Add delete confirmation dialogs across admin pages
- Upgrade esbuild from 0.21 to 0.27 and update browser targets
- Add Inter and Roboto Mono variable fonts with subset script
This commit is contained in:
Zaid Humaimidi committed 2026-03-12 14:55:10 -07:00
1 parent a7256620e0
commit 4a191afdec
64 files changed
+4147 -2421

No files matched your search

+7 -12
View File
@@ -1,7 +1,7 @@
import * as notifications from "./notifications.ts";
export let codeMirror: typeof import("codemirror");
export let yaml: typeof import("yaml");
export let codeMirror: typeof import("./codemirror-loader");
export let yaml: typeof import("./yaml-loader");
let note;
@@ -23,14 +23,9 @@ export function loadCodeMirror(): Promise<void> {
if (codeMirror) return Promise.resolve();
return new Promise((resolve, reject) => {
const promises = [
import("codemirror"),
import("codemirror/mode/javascript/javascript"),
import("codemirror/mode/yaml/yaml"),
];
Promise.all(promises)
.then((modules) => {
codeMirror = modules[0].default;
import("./codemirror-loader")
.then((module) => {
codeMirror = module;
resolve();
})
.catch((err) => {
@@ -44,9 +39,9 @@ export function loadYaml(): Promise<void> {
if (yaml) return Promise.resolve();
return new Promise((resolve, reject) => {
import("yaml")
import("./yaml-loader")
.then((module) => {
yaml = module.default;
yaml = module;
resolve();
})
.catch((err) => {