/** * Settings → Appearance panel. * * Houses the UI scale (S/M/L) and color-theme picker that used to live in * the always-visible LogsFooter chrome. Moved here because they're * rarely-used preferences that don't need to compete with logs / error * counts on every screen — Settings is where appearance config belongs. */ import React from 'react'; import { Palette } from 'lucide-react'; import { Segmented } from '../../ui'; import { useAppStore } from '../../store'; import './AppearancePanel.css'; const THEMES = [ { id: 'gruvbox', label: 'Gruvbox', dot: '#d3869b' }, { id: 'midnight', label: 'Midnight', dot: '#8b5cf6' }, { id: 'nord', label: 'Nord', dot: '#88c0d0' }, { id: 'solarized', label: 'Solarized', dot: '#268bd2' }, { id: 'rose-pine', label: 'Rosé Pine', dot: '#ebbcba' }, { id: 'catppuccin', label: 'Catppuccin', dot: '#cba6f7' }, ]; export default function AppearancePanel() { const uiScale = useAppStore(s => s.uiScale); const setUiScale = useAppStore(s => s.setUiScale); const theme = useAppStore(s => s.theme); const setTheme = useAppStore(s => s.setTheme); return (

Appearance

UI scale
Color theme
{THEMES.map(t => (

These controls used to live in the bottom logs bar — moved here so the footer can stay focused on logs. Changes apply instantly and persist across launches.

); }