feat: add SPA app shell, router, system store, and route placeholders

Nav lists every FC-2 and FC-3 surface with a placeholder view that names
the sub-project that will fill it. System store polls /api/health on mount
and renders a status pip in the nav footer.

Favicon uses Curator's aged amber accent (#A87338).

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-05-14 07:36:01 -04:00
parent ad2ac31f1a
commit bcd9a23501
5 changed files with 155 additions and 0 deletions
+18
View File
@@ -0,0 +1,18 @@
import { defineStore } from 'pinia'
import { ref } from 'vue'
export const useSystemStore = defineStore('system', () => {
const healthy = ref(null) // null=unknown, true=ok, false=down
async function refreshHealth() {
try {
const r = await fetch('/api/health')
const body = await r.json()
healthy.value = r.ok && body.status === 'ok'
} catch {
healthy.value = false
}
}
return { healthy, refreshHealth }
})