diff options
| author | bndw <ben@bdw.to> | 2026-02-28 21:08:40 -0800 |
|---|---|---|
| committer | bndw <ben@bdw.to> | 2026-02-28 21:08:40 -0800 |
| commit | 04c63d4ef601876186e5d7fab980d76575c494ec (patch) | |
| tree | 2620784e148957ae2ee3af0327c2b128983577e7 /renderer/src/components/Header.tsx | |
| parent | 0da42e4fa414ab3268d4f71896455097239f8590 (diff) | |
feat: **1. `src/main/db/schema.ts`** — add `settings` table … (+10 more)
- ✅ **1. `src/main/db/schema.ts`** — add `settings` table to `initSchema`
- ✅ **2. `src/main/db/settings.ts`** — create file with `getSetting`, `getSettings`, `setSetting`, `deleteSetting`
- ✅ **3. `src/main/claude/phases.ts`** — add `customSystemPrompt?` param to `getPhaseConfig`; add `getDefaultSystemPromptTemplate` export
- ✅ **4. `src/main/claude/index.ts`** — import `getSetting`; load custom prompt in `sendMessage`; pass to `getPhaseConfig`
- ✅ **5. `src/main/ipc/handlers.ts`** — import `settingsDb` + `getDefaultSystemPromptTemplate`; register `settings:get`, `settings:set`, `settings:delete`, `settings:getDefaultPrompts`
- ✅ **6. `src/main/preload.ts`** — add `getSettings`, `setSetting`, `deleteSetting`, `getDefaultSystemPrompts` to interface + api object
- ✅ **7. `renderer/src/styles/globals.css`** — append all new CSS rules
- ✅ **8. `renderer/src/components/settings/SystemPromptsSettings.tsx`** — create file (new directory)
- ✅ **9. `renderer/src/components/SettingsPage.tsx`** — create file
- ✅ **10. `renderer/src/components/Header.tsx`** — add `onOpenSettings` prop + ⚙ button
- ✅ **11. `renderer/src/App.tsx`** — add `showSettings` state; import + render `<SettingsPage>`; pass `onOpenSettings` to Header
Diffstat (limited to 'renderer/src/components/Header.tsx')
| -rw-r--r-- | renderer/src/components/Header.tsx | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/renderer/src/components/Header.tsx b/renderer/src/components/Header.tsx index fc0289d..3a530d3 100644 --- a/renderer/src/components/Header.tsx +++ b/renderer/src/components/Header.tsx | |||
| @@ -18,6 +18,7 @@ interface HeaderProps { | |||
| 18 | theme: Theme; | 18 | theme: Theme; |
| 19 | onToggleTheme: () => void; | 19 | onToggleTheme: () => void; |
| 20 | gitBranch: string | null; | 20 | gitBranch: string | null; |
| 21 | onOpenSettings: () => void; | ||
| 21 | } | 22 | } |
| 22 | 23 | ||
| 23 | const phaseLabels: Record<Phase, string> = { | 24 | const phaseLabels: Record<Phase, string> = { |
| @@ -43,6 +44,7 @@ export function Header({ | |||
| 43 | theme, | 44 | theme, |
| 44 | onToggleTheme, | 45 | onToggleTheme, |
| 45 | gitBranch, | 46 | gitBranch, |
| 47 | onOpenSettings, | ||
| 46 | }: HeaderProps) { | 48 | }: HeaderProps) { |
| 47 | const handleDeleteProject = () => { | 49 | const handleDeleteProject = () => { |
| 48 | if (!selectedProject || !onDeleteProject) return; | 50 | if (!selectedProject || !onDeleteProject) return; |
| @@ -222,6 +224,11 @@ export function Header({ | |||
| 222 | <button className="theme-toggle" onClick={onToggleTheme}> | 224 | <button className="theme-toggle" onClick={onToggleTheme}> |
| 223 | {theme === "dark" ? "[light]" : "[dark]"} | 225 | {theme === "dark" ? "[light]" : "[dark]"} |
| 224 | </button> | 226 | </button> |
| 227 | |||
| 228 | {/* ── Settings button ── */} | ||
| 229 | <button className="settings-btn" onClick={onOpenSettings} title="Settings"> | ||
| 230 | ⚙ | ||
| 231 | </button> | ||
| 225 | </div> | 232 | </div> |
| 226 | </header> | 233 | </header> |
| 227 | ); | 234 | ); |
