diff --git a/packages/dashboard/README.md b/packages/dashboard/README.md index 6116abfb3..8357d661f 100644 --- a/packages/dashboard/README.md +++ b/packages/dashboard/README.md @@ -372,6 +372,8 @@ The Git Manager provides comprehensive repository visualization and management d - Track free/used worktree count **Remotes Tab**: Perform remote operations with commit visibility: +- Selector/detail presentation: remotes are listed in a dedicated selector column while sync status, URLs, and commit inspection render in a focused detail panel for the selected remote +- Responsive flow: at mobile widths, remotes keep the same selector/detail workflow in a stacked layout so fetch/pull/push and edit actions remain reachable without horizontal crowding - Fetch from origin - Pull latest changes - Push current branch diff --git a/packages/dashboard/app/components/GitManagerModal.tsx b/packages/dashboard/app/components/GitManagerModal.tsx index 8d2a99bae..8784b1a85 100644 --- a/packages/dashboard/app/components/GitManagerModal.tsx +++ b/packages/dashboard/app/components/GitManagerModal.tsx @@ -370,7 +370,7 @@ export function GitManagerModal({ isOpen, onClose, tasks: _tasks, addToast, proj } catch (err) { addToast(getErrorMessage(err) || "Failed to discard changes", "error"); } - }, [addToast, projectId, confirm]); + }, [addToast, projectId, confirmContext]); const handleCommit = useCallback(async (e: React.FormEvent) => { e.preventDefault(); @@ -565,7 +565,7 @@ export function GitManagerModal({ isOpen, onClose, tasks: _tasks, addToast, proj } finally { setLoading(false); } - }, [addToast, projectId, confirm]); + }, [addToast, projectId, confirmContext]); const filteredBranches = useMemo(() => { if (!branchSearch.trim()) return branches; @@ -678,7 +678,7 @@ export function GitManagerModal({ isOpen, onClose, tasks: _tasks, addToast, proj } finally { setStashLoading(null); } - }, [addToast, projectId, confirm]); + }, [addToast, projectId, confirmContext]); // ── Remote Handlers ───────────────────────────────────────────── @@ -2062,7 +2062,7 @@ function RemotesPanel({ value={newRemoteName} onChange={(e) => setNewRemoteName(e.target.value)} disabled={remoteActionLoading === "add"} - className="gm-input" + className="input gm-input" /> setNewRemoteUrl(e.target.value)} disabled={remoteActionLoading === "add"} - className="gm-input gm-input-url" + className="input gm-input gm-input-url" /> - +
+ + +
)} @@ -2256,15 +2266,17 @@ function RemotesPanel({
Push: - {selectedRemoteData.pushUrl} + {selectedRemoteData.pushUrl} - +
+ +
)} @@ -2277,7 +2289,7 @@ function RemotesPanel({ type="text" value={editNameValue} onChange={(e) => setEditNameValue(e.target.value)} - className="gm-input" + className="input gm-input" autoFocus />