summaryrefslogtreecommitdiffhomepage
path: root/packages/ui/src/components
diff options
context:
space:
mode:
authorDavid Hill <[email protected]>2026-01-27 17:16:01 +0000
committerDavid Hill <[email protected]>2026-01-27 20:22:05 +0000
commitf2bf6202061228584663eebb2fad95f9f494f3e6 (patch)
tree112a242b62c12dd21e2ae064a2eb05fe59bc8702 /packages/ui/src/components
parent00c7729658ffe705faae3bcca21b6b416e9f7fbe (diff)
downloadopencode-f2bf6202061228584663eebb2fad95f9f494f3e6.tar.gz
opencode-f2bf6202061228584663eebb2fad95f9f494f3e6.zip
fix(app): highlight selected change
Track clicked file in the Changes tree and apply selection styling to the matching review diff.
Diffstat (limited to 'packages/ui/src/components')
-rw-r--r--packages/ui/src/components/button.css9
-rw-r--r--packages/ui/src/components/session-review.css7
-rw-r--r--packages/ui/src/components/session-review.tsx2
3 files changed, 17 insertions, 1 deletions
diff --git a/packages/ui/src/components/button.css b/packages/ui/src/components/button.css
index 933c7ce5f..d9b345923 100644
--- a/packages/ui/src/components/button.css
+++ b/packages/ui/src/components/button.css
@@ -43,6 +43,10 @@
background-color: transparent;
color: var(--text-strong);
+ [data-slot="icon-svg"] {
+ color: var(--icon-base);
+ }
+
&:hover:not(:disabled) {
background-color: var(--surface-raised-base-hover);
}
@@ -54,8 +58,11 @@
}
&:disabled {
color: var(--text-weak);
- opacity: 0.7;
cursor: not-allowed;
+
+ [data-slot="icon-svg"] {
+ color: var(--icon-disabled);
+ }
}
&[data-selected="true"]:not(:disabled) {
background-color: var(--surface-raised-base-hover);
diff --git a/packages/ui/src/components/session-review.css b/packages/ui/src/components/session-review.css
index dd75b1905..20d2fef15 100644
--- a/packages/ui/src/components/session-review.css
+++ b/packages/ui/src/components/session-review.css
@@ -54,6 +54,13 @@
background-color: var(--background-stronger) !important;
}
+ [data-slot="session-review-accordion-item"][data-selected] {
+ [data-slot="session-review-accordion-content"] {
+ box-shadow: var(--shadow-xs-border-select);
+ border-radius: var(--radius-lg);
+ }
+ }
+
[data-slot="accordion-item"] {
[data-slot="accordion-content"] {
display: none;
diff --git a/packages/ui/src/components/session-review.tsx b/packages/ui/src/components/session-review.tsx
index 8dfbbb1ca..84ec934e2 100644
--- a/packages/ui/src/components/session-review.tsx
+++ b/packages/ui/src/components/session-review.tsx
@@ -44,6 +44,7 @@ export interface SessionReviewProps {
comments?: SessionReviewComment[]
focusedComment?: SessionReviewFocus | null
onFocusedCommentChange?: (focus: SessionReviewFocus | null) => void
+ focusedFile?: string
open?: string[]
onOpenChange?: (open: string[]) => void
scrollRef?: (el: HTMLDivElement) => void
@@ -501,6 +502,7 @@ export const SessionReview = (props: SessionReviewProps) => {
id={diffId(diff.file)}
data-file={diff.file}
data-slot="session-review-accordion-item"
+ data-selected={props.focusedFile === diff.file ? "" : undefined}
>
<StickyAccordionHeader>
<Accordion.Trigger>