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 <noreply@anthropic.com>
286 lines
7.1 KiB
Plaintext
286 lines
7.1 KiB
Plaintext
{"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": {}}
|