mirror of
https://github.com/AutoMaker-Org/automaker.git
synced 2026-02-01 08:13:37 +00:00
Move previously nested configs and hooks to global src/ folders to make them reusable across the application, reduce nesting, and establish clearer organization patterns. **New Global Structure:** - src/config/theme-options.ts (moved from appearance/config/) - src/config/api-providers.ts (moved from api-keys/config/) - src/hooks/use-scroll-tracking.ts (moved from settings-view/hooks/) **Changes:** - Move theme-options.ts to src/config/ - app-wide theme configuration - Move api-provider-config.ts to src/config/api-providers.ts - global API config - Move use-scroll-tracking.ts to src/hooks/ - reusable scroll navigation hook - Make useScrollTracking generic and more flexible with options object - Update all imports across settings-view components - Remove duplicate api-provider-config.ts from shared/ folder - Remove empty config/ folders (appearance/config, api-keys/config) **Benefits:** ✅ Single source of truth for themes and API providers ✅ Reusable scroll tracking hook available globally ✅ Cleaner structure with less nesting ✅ Better discoverability for developers ✅ No duplicate configuration files 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
89 lines
1.6 KiB
TypeScript
89 lines
1.6 KiB
TypeScript
import {
|
|
type LucideIcon,
|
|
Atom,
|
|
Cat,
|
|
Eclipse,
|
|
Flame,
|
|
Ghost,
|
|
Moon,
|
|
Radio,
|
|
Snowflake,
|
|
Sparkles,
|
|
Sun,
|
|
Terminal,
|
|
Trees,
|
|
} from "lucide-react";
|
|
import { Theme } from "@/components/views/settings-view/shared/types";
|
|
|
|
export interface ThemeOption {
|
|
value: Theme;
|
|
label: string;
|
|
Icon: LucideIcon;
|
|
testId: string;
|
|
}
|
|
|
|
export const themeOptions: ReadonlyArray<ThemeOption> = [
|
|
{ value: "dark", label: "Dark", Icon: Moon, testId: "dark-mode-button" },
|
|
{ value: "light", label: "Light", Icon: Sun, testId: "light-mode-button" },
|
|
{
|
|
value: "retro",
|
|
label: "Retro",
|
|
Icon: Terminal,
|
|
testId: "retro-mode-button",
|
|
},
|
|
{
|
|
value: "dracula",
|
|
label: "Dracula",
|
|
Icon: Ghost,
|
|
testId: "dracula-mode-button",
|
|
},
|
|
{
|
|
value: "nord",
|
|
label: "Nord",
|
|
Icon: Snowflake,
|
|
testId: "nord-mode-button",
|
|
},
|
|
{
|
|
value: "monokai",
|
|
label: "Monokai",
|
|
Icon: Flame,
|
|
testId: "monokai-mode-button",
|
|
},
|
|
{
|
|
value: "tokyonight",
|
|
label: "Tokyo Night",
|
|
Icon: Sparkles,
|
|
testId: "tokyonight-mode-button",
|
|
},
|
|
{
|
|
value: "solarized",
|
|
label: "Solarized",
|
|
Icon: Eclipse,
|
|
testId: "solarized-mode-button",
|
|
},
|
|
{
|
|
value: "gruvbox",
|
|
label: "Gruvbox",
|
|
Icon: Trees,
|
|
testId: "gruvbox-mode-button",
|
|
},
|
|
{
|
|
value: "catppuccin",
|
|
label: "Catppuccin",
|
|
Icon: Cat,
|
|
testId: "catppuccin-mode-button",
|
|
},
|
|
{
|
|
value: "onedark",
|
|
label: "One Dark",
|
|
Icon: Atom,
|
|
testId: "onedark-mode-button",
|
|
},
|
|
{
|
|
value: "synthwave",
|
|
label: "Synthwave",
|
|
Icon: Radio,
|
|
testId: "synthwave-mode-button",
|
|
},
|
|
];
|