From 0484d97dfbc3b8a2e7878d3ab35a9895decdf467 Mon Sep 17 00:00:00 2001
From: bndw <ben@bdw.to>
Date: Sat, 28 Feb 2026 21:35:39 -0800
Subject: feat: **1 — `git.ts`:** Add exported `getCurrentBranch` helpe… (+8
 more)
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

- ✅ **1 — `git.ts`:** Add exported `getCurrentBranch` helper after `ensureGitRepo`
- ✅ **2a — `ipc/handlers.ts`:** Update git import to include `ensureGitRepo` and `getCurrentBranch`
- ✅ **2b — `ipc/handlers.ts`:** Replace `workflow:advance` implement-phase block with branching-toggle logic
- ✅ **3 — `GitSettings.tsx`:** Create new settings component with pill toggle
- ✅ **4 — `SettingsPage.tsx`:** Add `"git"` section type, import, nav item, content render; fix both unicode glyphs
- ✅ **5 — `globals.css`:** Append toggle-row + pill toggle + maximize-btn CSS
- ✅ **6 — `index.ts`:** Add `ipcMain` to import; add `window:toggleMaximize` handler + maximize/unmaximize events inside `createWindow()`
- ✅ **7 — `preload.ts`:** Add `toggleMaximize` + `onWindowMaximized` to interface and `api` object
- ✅ **8 — `Header.tsx`:** Add `isMaximized` state + effect + maximize button in JSX
---
 renderer/src/components/SettingsPage.tsx | 17 +++++++++++++----
 1 file changed, 13 insertions(+), 4 deletions(-)

(limited to 'renderer/src/components/SettingsPage.tsx')

diff --git a/renderer/src/components/SettingsPage.tsx b/renderer/src/components/SettingsPage.tsx
index 5267665..9ebde44 100644
--- a/renderer/src/components/SettingsPage.tsx
+++ b/renderer/src/components/SettingsPage.tsx
@@ -1,7 +1,8 @@
 import React, { useState } from "react";
 import { SystemPromptsSettings } from "./settings/SystemPromptsSettings";
+import { GitSettings } from "./settings/GitSettings";
 
-type SettingsSection = "system-prompts";
+type SettingsSection = "system-prompts" | "git";
 
 interface SettingsPageProps {
   onClose: () => void;
@@ -16,14 +17,14 @@ export function SettingsPage({ onClose }: SettingsPageProps) {
       {/* Header — matches the main app header height/style */}
       <div className="settings-header">
         <div className="settings-header-left">
-          <span className="settings-title">\u2699 Settings</span>
+          <span className="settings-title">{'⚙'} Settings</span>
         </div>
         <button
           className="settings-close"
           onClick={onClose}
           title="Close settings"
         >
-          \u00d7
+          {'×'}
         </button>
       </div>
 
@@ -38,12 +39,20 @@ export function SettingsPage({ onClose }: SettingsPageProps) {
           >
             System Prompts
           </button>
-          {/* Future sections added here */}
+          <button
+            className={`settings-nav-item${
+              activeSection === "git" ? " active" : ""
+            }`}
+            onClick={() => setActiveSection("git")}
+          >
+            Git
+          </button>
         </nav>
 
         {/* Content */}
         <div className="settings-content">
           {activeSection === "system-prompts" && <SystemPromptsSettings />}
+          {activeSection === "git" && <GitSettings />}
         </div>
       </div>
     </div>
-- 
cgit v1.2.3

