feat(electrobun): project wizard phases 1-5 (WIP)
- sanitize.ts: input sanitization (trim, control chars, path traversal) - provider-scanner.ts: detect Claude/Codex/Ollama/Gemini availability - model-fetcher.ts: live model lists from 4 provider APIs - ModelConfigPanel.svelte: per-provider config (thinking, effort, sandbox, temperature) - WizardStep1-3.svelte: split wizard into composable steps - CustomDropdown/Checkbox/Radio: themed UI components - provider-handlers.ts: provider.scan + provider.models RPC - Wire providers into wizard step 3 (live detection + model lists) - Replace native selects in 5 settings panels with CustomDropdown
This commit is contained in:
parent
b7fc3a0f9b
commit
d4014a193d
25 changed files with 2112 additions and 759 deletions
52
ui-electrobun/src/mainview/wizard-icons.ts
Normal file
52
ui-electrobun/src/mainview/wizard-icons.ts
Normal file
|
|
@ -0,0 +1,52 @@
|
|||
/**
|
||||
* 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 }> = [
|
||||
{ name: 'Terminal', label: 'Terminal' },
|
||||
{ name: 'Server', label: 'Server' },
|
||||
{ name: 'Globe', label: 'Web' },
|
||||
{ name: 'Code', label: 'Code' },
|
||||
{ name: 'Database', label: 'Database' },
|
||||
{ name: 'Cpu', label: 'CPU' },
|
||||
{ name: 'Zap', label: 'Zap' },
|
||||
{ name: 'Shield', label: 'Shield' },
|
||||
{ name: 'Rocket', label: 'Rocket' },
|
||||
{ name: 'Bug', label: 'Bug' },
|
||||
{ name: 'Puzzle', label: 'Plugin' },
|
||||
{ name: 'Box', label: 'Package' },
|
||||
{ name: 'Layers', label: 'Layers' },
|
||||
{ name: 'GitBranch', label: 'Branch' },
|
||||
{ name: 'Wifi', label: 'Network' },
|
||||
{ name: 'Lock', label: 'Security' },
|
||||
{ name: 'FlaskConical', label: 'Lab' },
|
||||
{ name: 'Sparkles', label: 'AI' },
|
||||
{ name: 'FileCode', label: 'Script' },
|
||||
{ name: 'Wrench', label: 'Tools' },
|
||||
{ name: 'Folder', label: 'Folder' },
|
||||
{ name: 'Bot', label: 'Bot' },
|
||||
{ name: 'Cloud', label: 'Cloud' },
|
||||
{ name: 'HardDrive', label: 'Storage' },
|
||||
];
|
||||
|
||||
/** 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' },
|
||||
];
|
||||
Loading…
Add table
Add a link
Reference in a new issue