From 925c4ad21c408c0cbb20c358a2ad0b1043475ce0 Mon Sep 17 00:00:00 2001 From: JJ Lee Date: Thu, 3 Sep 2026 08:34:01 -0400 Subject: [PATCH] feat(review): mirror refresh button + icon in overlay (#744) Mirror the opencode fork's refresh icon and button additions into the app-bundle overlay so the amicode build picks them up. Part of #741 --- .../session-review-file-preview-v2.tsx | 45 +++++++++++++++++-- .../src/v2/components/session-review-v2.css | 2 +- .../packages/ui/src/v2/components/icon.tsx | 4 ++ 3 files changed, 47 insertions(+), 4 deletions(-) diff --git a/packages/app-bundle/overlay/packages/session-ui/src/v2/components/session-review-file-preview-v2.tsx b/packages/app-bundle/overlay/packages/session-ui/src/v2/components/session-review-file-preview-v2.tsx index 4f3e28f0..5ab54e3b 100644 --- a/packages/app-bundle/overlay/packages/session-ui/src/v2/components/session-review-file-preview-v2.tsx +++ b/packages/app-bundle/overlay/packages/session-ui/src/v2/components/session-review-file-preview-v2.tsx @@ -5,6 +5,8 @@ import { FileIcon } from "@opencode-ai/ui/file-icon" import { useFileComponent } from "@opencode-ai/ui/context/file" import { useI18n } from "@opencode-ai/ui/context/i18n" import { TooltipV2 } from "@opencode-ai/ui/v2/tooltip-v2" +import { Icon } from "@opencode-ai/ui/v2/icon" +import { IconButtonV2 } from "@opencode-ai/ui/v2/icon-button-v2" import { mediaKindFromPath } from "../../pierre/media" import { cloneSelectedLineRange, previewSelectedLines } from "../../pierre/selection-bridge" import { copyTextToClipboard } from "../../util/clipboard" @@ -55,6 +57,12 @@ function statusLabel(status: ViewDiff["status"]) { return "M" } +function statusTooltip(status: ViewDiff["status"]) { + if (status === "added") return "Added" + if (status === "deleted") return "Deleted" + return "Modified" +} + function statusType(status: ViewDiff["status"]) { if (status === "added") return "added" if (status === "deleted") return "deleted" @@ -258,11 +266,42 @@ export function SessionReviewFilePreviewV2(props: SessionReviewFilePreviewV2Prop return ( <>
+ + {(handler) => ( + + + + )} + -
- {statusLabel(view().status)} -
+ +
+ {statusLabel(view().status)} +
+
`, }, + refresh: { + viewBox: "0 0 16 16", + body: ``, + }, archive: { viewBox: "0 0 16 16", body: ``,