Skip to content

refactor(theme): full color palette refactor — Infinite Night / Marsh Field / Burnt Earth#5215

Closed
AndreasRamsli wants to merge 88 commits intoMintplex-Labs:masterfrom
AndreasRamsli:feat/color-palette-refactor
Closed

refactor(theme): full color palette refactor — Infinite Night / Marsh Field / Burnt Earth#5215
AndreasRamsli wants to merge 88 commits intoMintplex-Labs:masterfrom
AndreasRamsli:feat/color-palette-refactor

Conversation

@AndreasRamsli
Copy link

Summary

  • New 6-color palette: Doctor (#F9F9F9), Divine Pleasure (#F4EFE1), Marsh Field (#D4C477), Rustic Wicker (#B18A56), Burnt Earth (#9D4531), Infinite Night (#071037)
  • Tailwind config: Added 8 named palette tokens + remapped zinc 700/800/900 to Infinite Night navy shades — all existing bg-zinc-* dark surfaces auto-adopt new palette with zero component changes
  • CSS variables: Replaced all :root (dark) and [data-theme="light"] theme variables — Infinite Night base with Marsh Field gold accent (dark), Doctor base with Burnt Earth rust accent (light)
  • ~50 component files: Replaced hardcoded light: Tailwind variant classes and dark-mode text-zinc-*/text-slate-* text classes across Sidebar, ChatContainer, PromptInput, Modals, Admin pages, and Settings pages

Architecture

Two theming paths both updated:

  1. CSS variable path (index.csstailwind.config.js theme.* tokens) — covers ~60-70% of surfaces
  2. Tailwind light: variant path (.light & {} selector in JSX) — covers remaining ~30-40%, fully bypasses CSS vars, required per-file updates

Pre-Landing Review

2 informational issues found and fixed before shipping:

  • MultiUserAuth.jsxlight:hover:text-sky-600 (hover variant missed by bulk replace) → light:hover:text-burnt-earth
  • SpeechToText/index.jsxlight:!text-slate-800 (Tailwind !important modifier prevented match) → light:!text-infinite-night

Eval Results

No prompt-related files changed — evals skipped.

Test plan

  • Dark mode: deep navy backgrounds, Marsh Field gold on CTAs/selections, Doctor white text
  • Light mode: Doctor white bg, Divine Pleasure cream sidebar, Burnt Earth rust CTAs, Infinite Night navy text
  • System theme toggle: both directions work correctly
  • Spot-check: sidebar, chat input, modals, file picker, checklist, auth modal, settings, admin pages

🤖 Generated with Claude Code

shatfield4 and others added 30 commits February 25, 2026 18:05
* new chat history layout, remove message alignment setting

* remove orphaned chat alignment hook and MessageDirection

* remove workspace profile picture setting and fetch

* clean up unnecessary changes

* add light mode colors to chat ui and main page backgrounds

* update chat message and action icon colors for light mode

* update thinking and agent ui, layout, sizing

* update user message uploaded images ui

* update thought, agent containers to use new colors

* add truncatable content with gradient to user chat messages

* fix citations margin

* implement new edit message UI with save and submit actions

* add translations for TruncatableContent subcomponent

* remove unused props

* fix text colors for default mode chats, agent, thoughts container

* Normalize translations for new chat history layout (Mintplex-Labs#5022)

* normalize translations

* update translations with DMR

* lint

* fix mismatched home container colors

* fix: add password character validation to onboarding single-user setup (Mintplex-Labs#5037)

* fix single user mode password bug

* share const

---------

Co-authored-by: Timothy Carambat <rambat1010@gmail.com>

* Native Tool calling (Mintplex-Labs#5071)

* checkpoint

* test MCP and flows

* add native tool call detection back to LMStudio

* add native tool call loops for Ollama

* Add ablity detection to DMR (regex parse)

* bedrock and generic openai with ENV flag

* deepseek native tool calling

* localAI native function

* groq support

* linting, add litellm and OR native tool calling via flag

* fix: resolve Gemini agent 400 error on tool call responses (Mintplex-Labs#5054)

* add gtc__ prefix to tool call names in Gemini agent message formatting

* resolve Gemini agent 400 error on tool call responses

* add comments explaining geminis thought signatures

---------

Co-authored-by: Timothy Carambat <rambat1010@gmail.com>

* fix: prevent CMD/CTRL+Arrow scroll from overriding textarea cursor movement (Mintplex-Labs#5053)

prevent CMD/CTRL+Arrow scroll from overriding textarea cursor movement

Co-authored-by: Timothy Carambat <rambat1010@gmail.com>

* linting, assistant speaker spacing and order, copy/edit order

---------

Co-authored-by: Marcello Fitton <106866560+angelplusultra@users.noreply.github.com>
Co-authored-by: Timothy Carambat <rambat1010@gmail.com>
codex and others added 26 commits March 8, 2026 09:59
# Conflicts:
#	frontend/src/components/WorkspaceChat/ChatContainer/ChatHistory/Citation/index.jsx
#	frontend/src/components/WorkspaceChat/ChatContainer/ChatHistory/PromptReply/index.jsx
#	frontend/src/components/WorkspaceChat/ChatContainer/PromptInput/AttachItem/index.jsx
#	frontend/src/components/WorkspaceChat/ChatContainer/PromptInput/SpeechToText/index.jsx
#	frontend/src/components/WorkspaceChat/ChatContainer/PromptInput/ToolsMenu/Tabs/AgentSkills/SkillRow/index.jsx
#	frontend/src/components/WorkspaceChat/ChatContainer/PromptInput/ToolsMenu/Tabs/AgentSkills/index.jsx
#	frontend/src/components/WorkspaceChat/ChatContainer/PromptInput/ToolsMenu/Tabs/SlashCommands/SlashCommandRow/index.jsx
#	frontend/src/components/WorkspaceChat/ChatContainer/PromptInput/ToolsMenu/index.jsx
#	frontend/src/components/WorkspaceChat/ChatContainer/PromptInput/index.jsx
#	frontend/src/components/WorkspaceChat/ChatContainer/SourcesSidebar/MobileCitationModal/SourceDetailView/index.jsx
#	frontend/src/components/WorkspaceChat/ChatContainer/SourcesSidebar/MobileCitationModal/index.jsx
#	frontend/src/components/WorkspaceChat/ChatContainer/SourcesSidebar/SourceItem/index.jsx
#	frontend/src/components/WorkspaceChat/ChatContainer/SourcesSidebar/index.jsx
#	frontend/src/components/WorkspaceChat/ChatContainer/WorkspaceModelPicker/index.jsx
#	frontend/src/components/WorkspaceChat/ChatContainer/index.jsx
#	frontend/src/locales/ar/common.js
#	frontend/src/locales/cs/common.js
#	frontend/src/locales/da/common.js
#	frontend/src/locales/de/common.js
#	frontend/src/locales/en/common.js
#	frontend/src/locales/es/common.js
#	frontend/src/locales/et/common.js
#	frontend/src/locales/fa/common.js
#	frontend/src/locales/fr/common.js
#	frontend/src/locales/he/common.js
#	frontend/src/locales/it/common.js
#	frontend/src/locales/ja/common.js
#	frontend/src/locales/ko/common.js
#	frontend/src/locales/lv/common.js
#	frontend/src/locales/nl/common.js
#	frontend/src/locales/pl/common.js
#	frontend/src/locales/pt_BR/common.js
#	frontend/src/locales/ro/common.js
#	frontend/src/locales/ru/common.js
#	frontend/src/locales/tr/common.js
#	frontend/src/locales/vn/common.js
#	frontend/src/locales/zh/common.js
#	frontend/src/locales/zh_TW/common.js
#	frontend/src/pages/Main/Home/index.jsx
#	package.json
#	server/endpoints/workspaces.js
#	server/utils/agents/aibitat/index.js
#	server/utils/agents/aibitat/plugins/chat-history.js
…map zinc to Infinite Night navy

- Add named tokens: doctor, divine-pleasure, marsh-field, rustic-wicker, burnt-earth, infinite-night (+700/800 shades)
- Remap zinc 700/800/900 to Infinite Night navy (#0f1f50, #0b1845, #071037)
- Zinc remap means all existing bg-zinc-* dark surfaces automatically adopt new palette
Dark theme (:root): Infinite Night (#071037) base, Marsh Field (#D4C477) accent
Light theme ([data-theme=light]): Doctor (#F9F9F9) base, Burnt Earth (#9D4531) accent
Also: body bg white→#F9F9F9, dark media fallback #0e0f0f→#071037, .g327 border update
…oss ~50 components

- Dark text: text-zinc-300/400, text-slate-300/400 → text-doctor/75, text-doctor/55
- Light bg: light:bg-slate-200 → light:bg-divine-pleasure, light:bg-slate-50 → light:bg-doctor
- Light text: light:text-slate-950/800 → light:text-infinite-night, light:text-slate-600/500 → light:text-[rgba(7,16,55,0.55)]
- Light CTA: light:text-sky-300/600, light:bg-sky-200 → burnt-earth equivalents
- Light borders: light:border-blue-800 → light:border-infinite-night
- Covers Sidebar, ChatContainer, PromptInput, Modals, Admin, Settings pages
Main/, WorkspaceChat/, and WorkspaceSettings/ were missed in the palette
refactor — using near-black bg-zinc-950 instead of the new Infinite Night
navy bg-theme-bg-container, causing a visible black-flash on navigation.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
…lwind tokens

Replace ~50 instances of text-[rgba(7,16,55,0.XX)] / border-[rgba(...)]
with text-infinite-night/55, /40, /20, /80 using Tailwind's opacity modifier
syntax. Also fix hub card "Import →" hover states: light:group-hover:bg-slate-300
(cool grey) → light:group-hover:bg-[#E5DFC9] (warm beige, matches palette).

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Replace AnythingLLM placeholder logos with lovora-light.svg and lovora-dark.svg.
LogoContext now picks the correct variant based on isLightMode(). Also add
.gstack/ to .gitignore.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
@AndreasRamsli AndreasRamsli force-pushed the feat/color-palette-refactor branch from c5a033f to bf217ce Compare March 15, 2026 16:25
@AndreasRamsli
Copy link
Author

Closing — this PR was used for fork-internal tracking only. The color palette refactor lives in the Lovora fork.

@AndreasRamsli AndreasRamsli deleted the feat/color-palette-refactor branch March 15, 2026 16:25
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants