fix: keep selected options lit when notes field is focused
When Tab opens the notes field, committed/checked options now stay visually prominent (text color + muted description) while unselected options dim. Previously Tab greyed everything out equally. - optionUnselected: respect isCommitted when isFocusDimmed - checkboxUnselected: respect isChecked for description color when isFocusDimmed
This commit is contained in:
parent
647ecbba16
commit
0ce45020af
4 changed files with 26 additions and 13 deletions
25
package-lock.json
generated
25
package-lock.json
generated
|
|
@ -1,16 +1,17 @@
|
|||
{
|
||||
"name": "gsd-pi",
|
||||
"version": "0.1.5",
|
||||
"version": "0.2.2",
|
||||
"lockfileVersion": 3,
|
||||
"requires": true,
|
||||
"packages": {
|
||||
"": {
|
||||
"name": "gsd-pi",
|
||||
"version": "0.1.5",
|
||||
"version": "0.2.2",
|
||||
"hasInstallScript": true,
|
||||
"license": "BUSL-1.1",
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"@mariozechner/pi-coding-agent": "^0.57.1",
|
||||
"gsd-pi": "^0.1.7",
|
||||
"playwright": "^1.58.2"
|
||||
},
|
||||
"bin": {
|
||||
|
|
@ -2575,6 +2576,24 @@
|
|||
"integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==",
|
||||
"license": "ISC"
|
||||
},
|
||||
"node_modules/gsd-pi": {
|
||||
"version": "0.1.7",
|
||||
"resolved": "https://registry.npmjs.org/gsd-pi/-/gsd-pi-0.1.7.tgz",
|
||||
"integrity": "sha512-zHpdoOFc6yFnfRJ9oWEEHLv7S8pNr3ZzToZESSofFVbRbPq6VDF+5xZehcXR8ADNpl67XeVG6JEmIZRsnvjLdw==",
|
||||
"hasInstallScript": true,
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"@mariozechner/pi-coding-agent": "^0.57.1",
|
||||
"playwright": "^1.58.2"
|
||||
},
|
||||
"bin": {
|
||||
"gsd": "dist/loader.js",
|
||||
"gsd-cli": "dist/loader.js"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=20.6.0"
|
||||
}
|
||||
},
|
||||
"node_modules/has-flag": {
|
||||
"version": "4.0.0",
|
||||
"resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
{
|
||||
"name": "gsd-pi",
|
||||
"version": "0.2.1",
|
||||
"version": "0.2.2",
|
||||
"description": "GSD — Get Stuff Done coding agent",
|
||||
"license": "MIT",
|
||||
"repository": {
|
||||
|
|
|
|||
|
|
@ -266,8 +266,8 @@ export function makeUI(theme: Theme, width: number): UI {
|
|||
optionUnselected: (num, label, description, opts = {}) => {
|
||||
const { isCommitted = false, isFocusDimmed = false } = opts;
|
||||
const marker = isCommitted ? theme.fg("success", ` ${GLYPH.check}`) : "";
|
||||
const labelColor = isFocusDimmed ? "dim" : "text";
|
||||
const descColor = isFocusDimmed ? "dim" : "muted";
|
||||
const labelColor = isFocusDimmed ? (isCommitted ? "text" : "dim") : "text";
|
||||
const descColor = isFocusDimmed ? (isCommitted ? "muted" : "dim") : "muted";
|
||||
return [
|
||||
...wrap(`${INDENT.option} ${theme.fg(labelColor, `${num}. ${label}`)}${marker}`),
|
||||
...wrapIndented(`${INDENT.description}${theme.fg(descColor, description)}`, INDENT.description),
|
||||
|
|
@ -287,7 +287,7 @@ export function makeUI(theme: Theme, width: number): UI {
|
|||
checkboxUnselected: (label, description, isChecked, isFocusDimmed = false) => {
|
||||
const box = isChecked ? theme.fg("success", GLYPH.checkedBox) : theme.fg("dim", GLYPH.uncheckedBox);
|
||||
const labelColor = isFocusDimmed ? (isChecked ? "text" : "dim") : "text";
|
||||
const descColor = isFocusDimmed ? "dim" : "muted";
|
||||
const descColor = isFocusDimmed ? (isChecked ? "muted" : "dim") : "muted";
|
||||
return [
|
||||
add(`${INDENT.option} ${box} ${theme.fg(labelColor, label)}`),
|
||||
...wrapIndented(`${INDENT.description}${theme.fg(descColor, description)}`, INDENT.description),
|
||||
|
|
|
|||
|
|
@ -156,12 +156,6 @@ export async function runWizardIfNeeded(authStorage: AuthStorage): Promise<void>
|
|||
` These unlock additional tools. All optional — press ${cyan}Enter${reset} to skip any.\n\n`
|
||||
)
|
||||
|
||||
// Show what each key unlocks
|
||||
for (const key of missing) {
|
||||
process.stdout.write(` ${dim}•${reset} ${cyan}${key.label}${reset} ${dim}— ${key.description}${reset}\n`)
|
||||
}
|
||||
process.stdout.write('\n')
|
||||
|
||||
// ── Prompts ─────────────────────────────────────────────────────────────────
|
||||
let savedCount = 0
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue