Shell polish: storage line, status pill, footer strip, sidebar

Backend:
- apps.core with GET /api/status/ (env, git hash, OS, watched folder,
  worker counts) and a TimingMiddleware adding X-Server-Time-Ms
- status endpoint reports its own server-side assembly time

Frontend:
- top bar shows the storage line (watched folder) and a status pill
  with ENV, git hash, host OS, server time (e621 time once it exists)
- fixed 32px footer strip: storage path, active workers, build version
- collapsible filter sidebar: closed by default, Ctrl/Cmd+B toggle,
  overlay drawer with backdrop blur under 1024px
- rating filters, per-page and sidebar state persist in localStorage
This commit is contained in:
2026-09-17 08:19:27 -05:00
parent 0ff6232ba5
commit 3aa42f3703
14 changed files with 401 additions and 110 deletions
+19
View File
@@ -35,3 +35,22 @@ export interface Paginated<T> {
previous: string | null;
results: T[];
}
export interface SystemStatus {
app: string;
env: "dev" | "prod";
git_hash: string;
version: string;
os: {
name: string;
release: string;
icon: "linux" | "apple" | "windows" | "unknown";
};
watched_folder: string;
e621_time_ms: number | null;
workers: {
active: number;
queued: number;
};
server_time_ms: number;
}