aboutsummaryrefslogtreecommitdiffstats
path: root/renderer/src/components/Header.tsx
diff options
context:
space:
mode:
authorbndw <ben@bdw.to>2026-02-28 21:08:40 -0800
committerbndw <ben@bdw.to>2026-02-28 21:08:40 -0800
commit04c63d4ef601876186e5d7fab980d76575c494ec (patch)
tree2620784e148957ae2ee3af0327c2b128983577e7 /renderer/src/components/Header.tsx
parent0da42e4fa414ab3268d4f71896455097239f8590 (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.tsx7
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
23const phaseLabels: Record<Phase, string> = { 24const 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 &#9881;
231 </button>
225 </div> 232 </div>
226 </header> 233 </header>
227 ); 234 );