agent-orchestrator/ui-electrobun/src/mainview/wizard-icons.ts
Hibryda 021feba3ed fix(electrobun): wizard 7 fixes — validation, GitLab, SSHFS, icons, model dropdown, keyboard nav
- Git Platform: validates repo via git.probe before enabling Next, supports GitHub + GitLab + any git URL
- Template dir configurable in Advanced Settings (template_dir key)
- SSHFS: checks sshfs availability, mountpoint selector when enabled
- CustomDropdown: flip-up when insufficient space below
- 50 Lucide icons (was 24) with categories (AI, Data, DevOps, Security, Media, Comms)
- Model: CustomDropdown from live API, max_tokens as slider, effort only with adaptive thinking
- Keyboard: Escape closes wizard, Tab navigation with :focus-visible rings, source cards navigable
2026-03-23 14:20:30 +01:00

86 lines
4.8 KiB
TypeScript

/**
* Icon and color data for the Project Wizard.
*
* Lucide icon names mapped to display labels.
* Catppuccin accent color list for project color selection.
*/
/** Lucide icon choices for projects. Key = Lucide component name. */
export const PROJECT_ICONS: Array<{ name: string; label: string; category: string }> = [
// General
{ name: 'Terminal', label: 'Terminal', category: 'General' },
{ name: 'Server', label: 'Server', category: 'General' },
{ name: 'Globe', label: 'Web', category: 'General' },
{ name: 'Code', label: 'Code', category: 'General' },
{ name: 'Cpu', label: 'CPU', category: 'General' },
{ name: 'Zap', label: 'Zap', category: 'General' },
{ name: 'Rocket', label: 'Rocket', category: 'General' },
{ name: 'Bug', label: 'Bug', category: 'General' },
{ name: 'Puzzle', label: 'Plugin', category: 'General' },
{ name: 'Box', label: 'Package', category: 'General' },
{ name: 'Layers', label: 'Layers', category: 'General' },
{ name: 'GitBranch', label: 'Branch', category: 'General' },
{ name: 'FileCode', label: 'Script', category: 'General' },
{ name: 'Wrench', label: 'Tools', category: 'General' },
{ name: 'Folder', label: 'Folder', category: 'General' },
{ name: 'FlaskConical', label: 'Lab', category: 'General' },
// AI / ML
{ name: 'Brain', label: 'Brain', category: 'AI / ML' },
{ name: 'BrainCircuit', label: 'Neural Net', category: 'AI / ML' },
{ name: 'Sparkles', label: 'AI', category: 'AI / ML' },
{ name: 'Wand2', label: 'Magic', category: 'AI / ML' },
{ name: 'Bot', label: 'Bot', category: 'AI / ML' },
// Data
{ name: 'Database', label: 'Database', category: 'Data' },
{ name: 'HardDrive', label: 'Storage', category: 'Data' },
{ name: 'Table', label: 'Table', category: 'Data' },
{ name: 'BarChart3', label: 'Chart', category: 'Data' },
// DevOps
{ name: 'Container', label: 'Container', category: 'DevOps' },
{ name: 'Cloud', label: 'Cloud', category: 'DevOps' },
{ name: 'Wifi', label: 'Network', category: 'DevOps' },
{ name: 'Activity', label: 'Monitor', category: 'DevOps' },
{ name: 'Settings', label: 'Settings', category: 'DevOps' },
{ name: 'Cog', label: 'Config', category: 'DevOps' },
// Security
{ name: 'Shield', label: 'Shield', category: 'Security' },
{ name: 'Lock', label: 'Lock', category: 'Security' },
{ name: 'Key', label: 'Key', category: 'Security' },
{ name: 'Fingerprint', label: 'Fingerprint', category: 'Security' },
{ name: 'ShieldCheck', label: 'Verified', category: 'Security' },
// Media
{ name: 'Image', label: 'Image', category: 'Media' },
{ name: 'Video', label: 'Video', category: 'Media' },
{ name: 'Music', label: 'Music', category: 'Media' },
{ name: 'Camera', label: 'Camera', category: 'Media' },
{ name: 'Palette', label: 'Design', category: 'Media' },
// Communication
{ name: 'MessageCircle', label: 'Chat', category: 'Communication' },
{ name: 'Mail', label: 'Mail', category: 'Communication' },
{ name: 'Phone', label: 'Phone', category: 'Communication' },
{ name: 'Radio', label: 'Radio', category: 'Communication' },
{ name: 'Send', label: 'Send', category: 'Communication' },
// Misc
{ name: 'Gamepad2', label: 'Game', category: 'Misc' },
{ name: 'BookOpen', label: 'Docs', category: 'Misc' },
{ name: 'Blocks', label: 'Blocks', category: 'Misc' },
{ name: 'Leaf', label: 'Eco', category: 'Misc' },
];
/** Catppuccin accent colors for project color selection. */
export const ACCENT_COLORS: Array<{ name: string; var: string }> = [
{ name: 'Rosewater', var: '--ctp-rosewater' },
{ name: 'Flamingo', var: '--ctp-flamingo' },
{ name: 'Pink', var: '--ctp-pink' },
{ name: 'Mauve', var: '--ctp-mauve' },
{ name: 'Red', var: '--ctp-red' },
{ name: 'Maroon', var: '--ctp-maroon' },
{ name: 'Peach', var: '--ctp-peach' },
{ name: 'Yellow', var: '--ctp-yellow' },
{ name: 'Green', var: '--ctp-green' },
{ name: 'Teal', var: '--ctp-teal' },
{ name: 'Sky', var: '--ctp-sky' },
{ name: 'Sapphire', var: '--ctp-sapphire' },
{ name: 'Blue', var: '--ctp-blue' },
{ name: 'Lavender', var: '--ctp-lavender' },
];