Files
openchamber/packages/ui/src/lib/theme/themes/aura-dark.json
T
Bohdan Triapitsyn ddedc02687 feat: introduced a token-based theming system across the UI
* feat: added themes system

* feat: smart sidebar auto-hide for files/diff tabs + lower files sidebar threshold

* feat: added Checkbox component and update theming

- Add reusable Checkbox component for toggles across UI
- Replace several inputs with Checkbox in settings and commands panels
- Add DiffIcon and apply surface/border theming to key UI areas

* feat: Add convert-vscode-theme.cjs to convert VS Code themes to OpenChamber format

* refactor: remove unused permission logic from ChatInput

- Remove unused permission rules parsing logic from ChatInput
- Memoize renderTheme in DiffWorkerProvider to avoid unnecessary recalculations
- Remove forceOpaque helper in vscode theme adapter

* fix: guard VSCode theme loading in MarkdownRenderer

* feat: add custom user themes loading and reload

- Load user themes from ~/.config/openchamber/themes at runtime
- Expose /api/config/themes to fetch custom themes
- Allow theme reloading from Settings → Theme → Reload themes in the UI
2026-02-01 18:29:34 +02:00

177 lines
4.7 KiB
JSON

{
"metadata": {
"id": "aura-dark",
"name": "Aura",
"description": "Aura",
"version": "1.0.0",
"variant": "dark",
"tags": [ "dark", "palette" ]
},
"colors": {
"primary": {
"base": "#A277FF",
"hover": "#8D68DD",
"active": "#B08BFF",
"foreground": "#15141B",
"muted": "#A277FF80",
"emphasis": "#8D68DD"
},
"surface": {
"background": "#15141B",
"foreground": "#EDECEE",
"muted": "#1A1921",
"mutedForeground": "#9c9393",
"elevated": "#201e2b",
"elevatedForeground": "#EDECEE",
"overlay": "#FFFFFF20",
"subtle": "#25232f"
},
"interactive": {
"border": "#2D2B38",
"borderHover": "#47415a",
"borderFocus": "#4E496C",
"selection": "#95abe02d",
"selectionForeground": "#FFFFFF",
"focus": "#A277FF",
"focusRing": "#A277FF40",
"cursor": "#FFFFFF",
"hover": "#7887ac2d",
"active": "#95abe02d"
},
"status": {
"error": "#FF6767",
"errorForeground": "#15141B",
"errorBackground": "#FF676720",
"errorBorder": "#FF676750",
"warning": "#FFCA85",
"warningForeground": "#15141B",
"warningBackground": "#FFCA8520",
"warningBorder": "#FFCA8550",
"success": "#61FFCA",
"successForeground": "#15141B",
"successBackground": "#61FFCA20",
"successBorder": "#61FFCA50",
"info": "#82E2FF",
"infoForeground": "#15141B",
"infoBackground": "#82E2FF20",
"infoBorder": "#82E2FF50"
},
"syntax": {
"base": {
"background": "#1A1921",
"foreground": "#EDECEE",
"comment": "#6D6D6D",
"keyword": "#A277FF",
"string": "#61FFCA",
"number": "#FF6767",
"function": "#A277FF",
"variable": "#EDECEE",
"type": "#FFCA85",
"operator": "#FF6767"
},
"tokens": {
"boolean": "#FFCA85",
"class": "#A277FF",
"className": "#A277FF",
"commentDoc": "#606061",
"constant": "#82E2FF",
"decorator": "#FFCA85",
"enum": "#A277FF",
"exception": "#FF6767",
"functionCall": "#A277FF",
"interface": "#FFCA85",
"jsxTag": "#A277FF",
"key": "#A277FF",
"keywordImport": "#FF6767",
"label": "#FF6767",
"macro": "#82E2FF",
"method": "#61FFCA",
"module": "#FF6767",
"namespace": "#FFCA85",
"parameter": "#EDECEE",
"preprocessor": "#FF6767",
"punctuation": "#6D6D6D",
"regex": "#61FFCA",
"storageModifier": "#82E2FF",
"stringEscape": "#FFFFFF",
"struct": "#A277FF",
"tag": "#A277FF",
"tagAttribute": "#FFCA85",
"tagAttributeValue": "#61FFCA",
"typeParameter": "#FFCA85",
"url": "#A277FF",
"variableGlobal": "#A277FF",
"variableLocal": "#121118",
"variableOther": "#61FFCA",
"variableProperty": "#82E2FF"
},
"highlights": {
"diffAdded": "#61FFCA",
"diffAddedBackground": "#162620",
"diffModified": "#82E2FF",
"diffModifiedBackground": "#1E1D2A",
"diffRemoved": "#FF6767",
"diffRemovedBackground": "#26161A",
"lineNumber": "#3E3A56",
"lineNumberActive": "#FFFFFF"
}
},
"markdown": {
"heading1": "#e7d7f4",
"heading2": "#e7e0ee",
"heading3": "#ece7f0",
"heading4": "#EDECEE",
"link": "#A277FF",
"linkHover": "#F694FF",
"inlineCode": "#61FFCA",
"inlineCodeBackground": "#1A1921",
"blockquote": "#6D6D6D",
"blockquoteBorder": "#2D2B38",
"listMarker": "#A277FF99"
},
"chat": {
"userMessage": "#EDECEE",
"userMessageBackground": "#393647",
"assistantMessage": "#EDECEE",
"assistantMessageBackground": "#15141B",
"timestamp": "#6D6D6D",
"divider": "#2D2B38"
},
"tools": {
"background": "#1A192180",
"border": "#43415480",
"headerHover": "#0F0E14",
"icon": "#6D6D6D",
"title": "#EDECEE",
"description": "#6D6D6D",
"edit": {
"added": "#61FFCA",
"addedBackground": "#61FFCA25",
"removed": "#FF6767",
"removedBackground": "#FF676725",
"lineNumber": "#3E3A56"
}
}
},
"config": {
"fonts": {
"sans": "\"IBM Plex Mono\", monospace",
"mono": "\"IBM Plex Mono\", monospace",
"heading": "\"IBM Plex Mono\", monospace"
},
"radius": {
"none": "0",
"sm": "0.125rem",
"md": "0.375rem",
"lg": "0.5rem",
"xl": "0.75rem",
"full": "9999px"
},
"transitions": {
"fast": "150ms ease",
"normal": "250ms ease",
"slow": "350ms ease"
}
}
}