The stored `colors` key names a palette — rhema (the default, Jadeite), aquamarine, black-and-white, or dracula — and the Appearance page of /settings cycles it live, like the theme and icon toggles beside it. Each palette carries a dark and a light appearance under the existing `theme` key; dracula's light side is derived, the official palette ships only dark. The appearance decision moves off token comparison: Theme now answers is_dark() from the ground/text luminance, so palettes beyond the original two get the right per-profile fallback tones.
28 lines
1.0 KiB
TypeScript
28 lines
1.0 KiB
TypeScript
// The web claw is a client-side dashboard over an authenticated API:
|
|
// no server rendering, no secrets on the wire beyond the bearer token
|
|
// the user supplies. In dev, the claw-proxy server middleware (dev-only)
|
|
// keeps /v1 and /healthz same-origin against a locally running claw, so
|
|
// no CORS is involved; in the built static bundle that middleware is
|
|
// inert and the ingress owns the routing (see README.md).
|
|
export default defineNuxtConfig({
|
|
compatibilityDate: '2025-07-15',
|
|
ssr: false,
|
|
devtools: { enabled: false },
|
|
runtimeConfig: {
|
|
// Dev-only: where the proxy middleware forwards the claw's routes.
|
|
clawUpstream: 'http://127.0.0.1:7799',
|
|
public: {
|
|
// Base URL of the claw API; empty = same origin (dev proxy or
|
|
// ingress). Cross-origin bases need CORS the claw does not send.
|
|
clawBase: '',
|
|
// Default bearer token; NUXT_PUBLIC_CLAW_TOKEN. The UI can
|
|
// override it at runtime (stored in localStorage).
|
|
clawToken: '',
|
|
},
|
|
},
|
|
css: ['~/assets/css/main.css'],
|
|
typescript: {
|
|
strict: true,
|
|
},
|
|
})
|