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.
12 lines
319 B
Vue
12 lines
319 B
Vue
<script setup lang="ts">
|
|
// The pill: one small status or tag word. Machine spellings (session
|
|
// keys, model ids) stay mono via the global `.badge` voice.
|
|
defineProps<{
|
|
variant?: 'dim' | 'accent' | 'ok' | 'warn' | 'error'
|
|
}>()
|
|
</script>
|
|
|
|
<template>
|
|
<span class="badge" :class="variant"><slot /></span>
|
|
</template>
|