From 40fa39ca679728e12d0558a52e2dc6ed08a6b855 Mon Sep 17 00:00:00 2001 From: lucaronin Date: Mon, 23 Feb 2026 20:35:00 +0100 Subject: [PATCH] design: commit & push bug fix wireframes Frames showing the fixed Commit & Push behavior: - Button enabled state with correct badge count (3 files) - Button with no changes (badge hidden) - Commit dialog with correct file count after save+refresh - Success toast after commit - Error toast when commit fails Co-Authored-By: Claude Opus 4.6 --- design/git-commit-zero-files.pen | 285 +++++++++++++++++++++++++++++++ 1 file changed, 285 insertions(+) create mode 100644 design/git-commit-zero-files.pen diff --git a/design/git-commit-zero-files.pen b/design/git-commit-zero-files.pen new file mode 100644 index 00000000..5187d109 --- /dev/null +++ b/design/git-commit-zero-files.pen @@ -0,0 +1,285 @@ +{"children": [ + { + "type": "frame", + "id": "gcz01", + "x": 0, + "y": 0, + "name": "Commit & Push — Enabled (3 files changed)", + "clip": true, + "width": 280, + "height": 60, + "fill": "$--sidebar", + "padding": [12, 12], + "children": [ + { + "type": "frame", + "id": "gcz02", + "name": "commitBtn-enabled", + "width": "fill_container", + "height": 40, + "fill": "$--primary", + "cornerRadius": 6, + "gap": 6, + "padding": [8, 16], + "alignItems": "center", + "justifyContent": "center", + "children": [ + { + "type": "text", + "id": "gcz03", + "name": "btnLabel", + "content": "Commit & Push", + "fontSize": 13, + "fontWeight": 500, + "fill": "$--primary-foreground" + }, + { + "type": "frame", + "id": "gcz04", + "name": "badge", + "fill": "#ffffff40", + "cornerRadius": 9, + "padding": [0, 6], + "children": [ + { + "type": "text", + "id": "gcz05", + "name": "badgeCount", + "content": "3", + "fontSize": 10, + "fontWeight": 600, + "fill": "$--white" + } + ] + } + ] + } + ] + }, + { + "type": "frame", + "id": "gcz10", + "x": 320, + "y": 0, + "name": "Commit & Push — No changes (badge hidden)", + "clip": true, + "width": 280, + "height": 60, + "fill": "$--sidebar", + "padding": [12, 12], + "children": [ + { + "type": "frame", + "id": "gcz11", + "name": "commitBtn-noChanges", + "width": "fill_container", + "height": 40, + "fill": "$--primary", + "cornerRadius": 6, + "gap": 6, + "padding": [8, 16], + "alignItems": "center", + "justifyContent": "center", + "children": [ + { + "type": "text", + "id": "gcz12", + "name": "btnLabel", + "content": "Commit & Push", + "fontSize": 13, + "fontWeight": 500, + "fill": "$--primary-foreground" + } + ] + } + ] + }, + { + "type": "frame", + "id": "gcz20", + "x": 0, + "y": 100, + "name": "Commit Dialog — With correct file count", + "clip": true, + "width": 420, + "height": 220, + "fill": "$--popover", + "cornerRadius": 12, + "stroke": { "align": "inside", "thickness": 1, "fill": "$--border" }, + "layout": "vertical", + "padding": [20, 24], + "gap": 16, + "children": [ + { + "type": "frame", + "id": "gcz21", + "name": "dialogHeader", + "width": "fill_container", + "justifyContent": "spaceBetween", + "alignItems": "center", + "children": [ + { + "type": "text", + "id": "gcz22", + "name": "dialogTitle", + "content": "Commit & Push", + "fontSize": 16, + "fontWeight": 600, + "fill": "$--foreground" + }, + { + "type": "frame", + "id": "gcz23", + "name": "fileCountBadge", + "fill": "$--secondary", + "cornerRadius": 4, + "padding": [2, 8], + "children": [ + { + "type": "text", + "id": "gcz24", + "name": "fileCountText", + "content": "3 files changed", + "fontSize": 12, + "fill": "$--secondary-foreground" + } + ] + } + ] + }, + { + "type": "frame", + "id": "gcz25", + "name": "messageInput", + "width": "fill_container", + "height": 72, + "fill": "$--input", + "cornerRadius": 8, + "stroke": { "align": "inside", "thickness": 1, "fill": "$--border" }, + "padding": [10, 12], + "children": [ + { + "type": "text", + "id": "gcz26", + "name": "placeholder", + "content": "Commit message...", + "fontSize": 13, + "fill": "$--muted-foreground" + } + ] + }, + { + "type": "frame", + "id": "gcz27", + "name": "dialogFooter", + "width": "fill_container", + "justifyContent": "spaceBetween", + "alignItems": "center", + "children": [ + { + "type": "text", + "id": "gcz28", + "name": "hint", + "content": "Cmd+Enter to commit", + "fontSize": 11, + "fill": "$--muted-foreground" + }, + { + "type": "frame", + "id": "gcz29", + "name": "buttons", + "gap": 8, + "children": [ + { + "type": "frame", + "id": "gcz2a", + "name": "cancelBtn", + "fill": "$--background", + "stroke": { "align": "inside", "thickness": 1, "fill": "$--border" }, + "cornerRadius": 6, + "padding": [6, 12], + "children": [ + { + "type": "text", + "id": "gcz2b", + "content": "Cancel", + "fontSize": 13, + "fill": "$--foreground" + } + ] + }, + { + "type": "frame", + "id": "gcz2c", + "name": "commitBtn", + "fill": "$--primary", + "cornerRadius": 6, + "padding": [6, 12], + "children": [ + { + "type": "text", + "id": "gcz2d", + "content": "Commit & Push", + "fontSize": 13, + "fontWeight": 500, + "fill": "$--primary-foreground" + } + ] + } + ] + } + ] + } + ] + }, + { + "type": "frame", + "id": "gcz30", + "x": 460, + "y": 100, + "name": "Success Toast — After commit", + "clip": true, + "width": 280, + "height": 44, + "fill": "$--card", + "cornerRadius": 8, + "stroke": { "align": "inside", "thickness": 1, "fill": "$--border" }, + "padding": [10, 16], + "alignItems": "center", + "children": [ + { + "type": "text", + "id": "gcz31", + "name": "toastText", + "content": "Committed and pushed", + "fontSize": 13, + "fill": "$--foreground" + } + ] + }, + { + "type": "frame", + "id": "gcz40", + "x": 460, + "y": 160, + "name": "Error Toast — Commit failed", + "clip": true, + "width": 280, + "height": 44, + "fill": "$--card", + "cornerRadius": 8, + "stroke": { "align": "inside", "thickness": 1, "fill": "$--destructive" }, + "padding": [10, 16], + "alignItems": "center", + "children": [ + { + "type": "text", + "id": "gcz41", + "name": "errorToastText", + "content": "Commit failed: nothing to commit", + "fontSize": 13, + "fill": "$--destructive" + } + ] + } +], "variables": {}}