Skip to content

Restyle desktop selections and bare buttons onto the Kcap theme - #1127

Merged
alexeyzimarev merged 1 commit into
mainfrom
norton/desktop-selection-theme
Sep 23, 2026
Merged

alexeyzimarev merged 1 commit into
mainfrom
norton/desktop-selection-theme

Conversation

@nortonandreev

@nortonandreev nortonandreev commented Sep 23, 2026 •

Copy link
Copy Markdown
Contributor

No GitHub issue. No Linear issue: this is a small change and does not need one.

What & why

Success green is status only. A picked question option, the current question step, a checked ACP option, and a selected launcher machine or model use info blue so they do not read as done. "Open in web" uses the ghost button class, and the lifecycle prompt uses chip and primary, so those controls take the Kcap hover instead of Fluent's.

Where to look

The answered-step tick stays success green: that mark is settled, not a selection. Hover on a step that is not current uses the raised surface, so it does not share the current step's info fill.

Verification

dotnet run --project test/Capacitor.App.Tests.Unit/Capacitor.App.Tests.Unit.csproj -- --treenode-filter "/*/*/ChatTabViewSmokeTests/A_picked_option_paints_the_accent_border_and_a_second_click_clears_it" — 1 passed.

@nortonandreev nortonandreev self-assigned this Sep 23, 2026
@qodo-code-review

Copy link
Copy Markdown

PR Summary by Qodo

Align desktop selections and buttons with the Kcap theme

✨ Enhancement 🧪 Tests 🕐 10-20 Minutes

Grey Divider

AI Description

• Uses info blue for active selections while preserving success green for completed states.
• Applies Kcap button classes to lifecycle and web-launch actions.
• Updates selection smoke assertions for the revised theme tokens.
Diagram

graph TD
    Theme["Kcap Theme"] --> Pending["Pending Cards"] --> Tests["Smoke Tests"]
    Theme --> Launcher["Launcher Pane"]
    Theme --> Prompt["Lifecycle Prompt"]
    Theme --> Sessions["Session Views"]
Loading
High-Level Assessment

The PR appropriately reuses existing semantic Kcap brushes and button classes rather than introducing local overrides or duplicate selection tokens. This keeps interaction states consistent across desktop views while retaining success green exclusively for settled status.

Files changed (7) +29 / -24

Enhancement (5) +26 / -21
LauncherPaneView.axaml.csRender launcher selections with info blue +3/-3

Render launcher selections with info blue

• Changes selected machine checkmarks and selected model labels from the success brush to the info brush.

src/Capacitor.App/Views/LauncherPaneView.axaml.cs

LifecyclePromptWindow.axamlApply Kcap styles to lifecycle actions +2/-2

Apply Kcap styles to lifecycle actions

• Styles the decline action as a Kcap chip and the accept action as a Kcap primary button, replacing Fluent defaults.

src/Capacitor.App/Views/LifecyclePromptWindow.axaml

PendingCardTemplates.axamlRestyle pending-card selection states +19/-12

Restyle pending-card selection states

• Moves selected questions, current steps, and checked ACP options from success green to info blue. Separates non-current step hover styling onto the raised surface while preserving current-step highlighting.

src/Capacitor.App/Views/PendingCardTemplates.axaml

RemoteSessionView.axamlUse the Kcap ghost style for web launch +1/-2

Use the Kcap ghost style for web launch

• Replaces local transparent button styling on the remote session web action with the shared Kcap ghost class.

src/Capacitor.App/Views/RemoteSessionView.axaml

WorkspaceView.axamlUse the Kcap ghost style for workspace web launch +1/-2

Use the Kcap ghost style for workspace web launch

• Replaces local transparent button styling on the workspace web action with the shared Kcap ghost class.

src/Capacitor.App/Views/WorkspaceView.axaml

Tests (1) +2 / -2
ChatTabViewSmokeTests.csVerify info-blue question selection styling +2/-2

Verify info-blue question selection styling

• Updates the picked-option smoke test to expect the Kcap info border and dim background brushes instead of success brushes.

test/Capacitor.App.Tests.Unit/ChatTabViewSmokeTests.cs

Documentation (1) +1 / -1
App.axamlClarify semantic use of success and info colors +1/-1

Clarify semantic use of success and info colors

• Revises the theme comment to document that green represents status while info blue represents selection.

src/Capacitor.App/App.axaml

@qodo-code-review

qodo-code-review Bot commented Sep 23, 2026 •

Copy link
Copy Markdown

Code Review by Qodo

🐞 Bugs (0) 📘 Rule violations (0) 🔗 Cross-repo conflicts (0) 📜 Skill insights (0)

Grey Divider


Remediation recommended

1. Merge commit loses issue traceability ✗ Dismissed 📘 Rule violation ⚙ Maintainability
Description
Restyle desktop selections and bare buttons onto the Kcap theme does not end with a parenthesized
GitHub issue number. When this subject is used for the merge, it fails the required subject form and
leaves the resulting commit without the mandated issue reference.
Code

src/Capacitor.App/App.axaml[24]

+            <!-- Primary CTAs: near-white fill. Green is status only; a selection uses info blue. -->
Relevance

●●● Strong

Explicit commit-subject compliance rule; recent PR #659 confirms the team enforces issue-reference
guidance.

PR-#659

ⓘ Recommendations generated based on similar findings in past PRs

Evidence
PR Compliance ID 2897961 requires the merge subject to end with (#<digits>), while the supplied
commit subject has no issue reference.

Rule 2897961: Enforce single-clause imperative commit subject with GitHub issue reference and 80-char limit

Agent prompt
The issue below was found during a code review. Follow the provided context and guidance below and implement a solution

## Issue description
The commit subject lacks the required trailing GitHub issue reference.

## Fix Focus Areas
- src/Capacitor.App/App.axaml[24-24]

## Recommended Fix
Amend the commit subject to retain a single imperative clause and end with a genuine GitHub issue reference in the form `(#123)`. Do not invent or infer an issue number.

ⓘ Copy this prompt and use it to remediate the issue with your preferred AI generation tools


2. Pull request omits required issue links ✗ Dismissed 📘 Rule violation § Compliance
Description
The description’s first non-empty line says No GitHub or Linear issue. instead of containing both
a GitHub closing reference and a Linear issue key. Because neither reference appears on that line,
the pull request does not provide the required cross-tracker linkage.
Code

src/Capacitor.App/App.axaml[24]

+            <!-- Primary CTAs: near-white fill. Green is status only; a selection uses info blue. -->
Relevance

●●● Strong

Recent PR #659 accepted enforcing both GitHub closing and Linear references in the description.

PR-#659

ⓘ Recommendations generated based on similar findings in past PRs

Evidence
PR Compliance ID 2897991 requires one description line containing both reference forms, but the
supplied description explicitly states that neither issue exists.

Rule 2897991: PR description must contain both GitHub and Linear issue references; PR title must not contain issue IDs

Agent prompt
The issue below was found during a code review. Follow the provided context and guidance below and implement a solution

## Issue description
The pull request description lacks the required combined GitHub and Linear reference line.

## Fix Focus Areas
- src/Capacitor.App/App.axaml[24-24]

## Recommended Fix
Replace the no-issue statement with one reference line containing exactly one GitHub closing reference and at least one genuine Linear issue key, such as `Closes #123 AI-456`. Do not fabricate either reference.

ⓘ Copy this prompt and use it to remediate the issue with your preferred AI generation tools


Grey Divider

Context sources
✅ Compliance rules (platform): 64 rules
✅ Cross-repo context — repo relationships
Review mode: ⚖️ Balanced: This is a localized UI styling change across several views and resource selectors with behavioral visual-state effects, warranting a complete single-pass review but not redundant extended review.

Grey Divider

Tip of the day
💡 Did you know, you can keep summaries lean with Finding overflow, which tucks the rest behind 'View more'

More tips ↗ | Customize Qodo ↗ | Qodo docs ↗

Grey Divider

Qodo Logo

Comment thread src/Capacitor.App/App.axaml
Comment thread src/Capacitor.App/App.axaml
Success green is reserved for settled status, so a picked option or selected row painted in it reads as done. A button with no Kcap class keeps Fluent's grey hover on the dark canvas.
@nortonandreev
nortonandreev force-pushed the norton/desktop-selection-theme branch from 0528f0f to 508617e Compare September 23, 2026 12:05
@alexeyzimarev
alexeyzimarev merged commit 6e6c158 into main Sep 23, 2026
8 checks passed
@alexeyzimarev
alexeyzimarev deleted the norton/desktop-selection-theme branch September 23, 2026 15:32
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants