import React, { useState, useEffect } from "react"; const api = window.api; export function GitSettings() { // null = setting not yet loaded; true/false = loaded value const [branchingEnabled, setBranchingEnabled] = useState(null); const [saveStatus, setSaveStatus] = useState<"idle" | "saved">("idle"); useEffect(() => { api.getSettings(["git.branchingEnabled"]).then((settings) => { // Key absent or any value other than "true" → false (opt-in default) setBranchingEnabled(settings["git.branchingEnabled"] === "true"); }); }, []); const handleToggle = async (enabled: boolean) => { setBranchingEnabled(enabled); if (enabled) { await api.setSetting("git.branchingEnabled", "true"); } else { await api.deleteSetting("git.branchingEnabled"); } setSaveStatus("saved"); setTimeout(() => setSaveStatus("idle"), 1500); }; if (branchingEnabled === null) { return (
Loading...
); } return (
Git
Configure how Claude Flow interacts with your project's git repository during the implement phase.
{saveStatus === "saved" && ( saved ✓ )}
); }