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/App.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/App.tsx')
| -rw-r--r-- | renderer/src/App.tsx | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/renderer/src/App.tsx b/renderer/src/App.tsx index 74b1f91..7d75196 100644 --- a/renderer/src/App.tsx +++ b/renderer/src/App.tsx | |||
| @@ -3,6 +3,7 @@ import { Header } from "./components/Header"; | |||
| 3 | import { DocumentPane } from "./components/DocumentPane"; | 3 | import { DocumentPane } from "./components/DocumentPane"; |
| 4 | import { ChatPane } from "./components/ChatPane"; | 4 | import { ChatPane } from "./components/ChatPane"; |
| 5 | import { ActionBar } from "./components/ActionBar"; | 5 | import { ActionBar } from "./components/ActionBar"; |
| 6 | import { SettingsPage } from "./components/SettingsPage"; | ||
| 6 | import type { Project, Session, Message, Phase, TokenUsage } from "./types"; | 7 | import type { Project, Session, Message, Phase, TokenUsage } from "./types"; |
| 7 | import "./styles/globals.css"; | 8 | import "./styles/globals.css"; |
| 8 | 9 | ||
| @@ -56,6 +57,7 @@ export function App() { | |||
| 56 | outputTokens: 0, | 57 | outputTokens: 0, |
| 57 | }); | 58 | }); |
| 58 | const [error, setError] = useState<string | null>(null); | 59 | const [error, setError] = useState<string | null>(null); |
| 60 | const [showSettings, setShowSettings] = useState(false); | ||
| 59 | 61 | ||
| 60 | const [theme, setTheme] = useState<Theme>( | 62 | const [theme, setTheme] = useState<Theme>( |
| 61 | () => (localStorage.getItem("cf-theme") as Theme) ?? "dark" | 63 | () => (localStorage.getItem("cf-theme") as Theme) ?? "dark" |
| @@ -365,6 +367,7 @@ export function App() { | |||
| 365 | theme={theme} | 367 | theme={theme} |
| 366 | onToggleTheme={handleToggleTheme} | 368 | onToggleTheme={handleToggleTheme} |
| 367 | gitBranch={selectedSession?.git_branch ?? null} | 369 | gitBranch={selectedSession?.git_branch ?? null} |
| 370 | onOpenSettings={() => setShowSettings(true)} | ||
| 368 | /> | 371 | /> |
| 369 | 372 | ||
| 370 | <div className="main-content"> | 373 | <div className="main-content"> |
| @@ -413,6 +416,10 @@ export function App() { | |||
| 413 | }} | 416 | }} |
| 414 | disabled={!selectedSession} | 417 | disabled={!selectedSession} |
| 415 | /> | 418 | /> |
| 419 | |||
| 420 | {showSettings && ( | ||
| 421 | <SettingsPage onClose={() => setShowSettings(false)} /> | ||
| 422 | )} | ||
| 416 | </div> | 423 | </div> |
| 417 | ); | 424 | ); |
| 418 | } | 425 | } |
