Skip to content

Commit 47a9b4b

Browse files
azizmejri1claude
andcommitted
Show only preview/diff panels when version selected
When a version is selected in the versions panel, restrict the preview toolbar to the Preview and Code panels, rename "Code" to "Diff", and swap the Code icon for the stacked +/- Diff icon. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
1 parent 0036a2f commit 47a9b4b

2 files changed

Lines changed: 13 additions & 6 deletions

File tree

src/components/preview_panel/PreviewToolbar.tsx

Lines changed: 12 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -3,12 +3,14 @@ import {
33
type PreviewMode,
44
previewModeAtom,
55
selectedAppIdAtom,
6+
selectedVersionIdAtom,
67
} from "@/atoms/appAtoms";
78
import { isPreviewOpenAtom } from "@/atoms/viewAtoms";
89
import { useCheckProblems } from "@/hooks/useCheckProblems";
910
import {
1011
AlertTriangle,
1112
Code,
13+
Diff,
1214
Eye,
1315
Globe,
1416
MoreHorizontal,
@@ -51,6 +53,8 @@ const PreviewToolbarModeButtons = ({ isCompact }: ModeButtonsProps) => {
5153
const [previewMode, setPreviewMode] = useAtom(previewModeAtom);
5254
const [isPreviewOpen, setIsPreviewOpen] = useAtom(isPreviewOpenAtom);
5355
const selectedAppId = useAtomValue(selectedAppIdAtom);
56+
const selectedVersionId = useAtomValue(selectedVersionIdAtom);
57+
const isVersionSelected = selectedVersionId != null;
5458
const { problemReport } = useCheckProblems(selectedAppId);
5559

5660
const problemCount = problemReport ? problemReport.problems.length : 0;
@@ -88,8 +92,8 @@ const PreviewToolbarModeButtons = ({ isCompact }: ModeButtonsProps) => {
8892
testId: "problems-mode-button",
8993
},
9094
code: {
91-
icon: <Code size={16} />,
92-
label: t("preview.code"),
95+
icon: isVersionSelected ? <Diff size={16} /> : <Code size={16} />,
96+
label: isVersionSelected ? t("preview.diff") : t("preview.code"),
9397
testId: "code-mode-button",
9498
},
9599
configure: {
@@ -147,9 +151,11 @@ const PreviewToolbarModeButtons = ({ isCompact }: ModeButtonsProps) => {
147151
);
148152
};
149153

150-
const visibleModes: readonly ToolbarMode[] = isCompact
151-
? PRIMARY_MODES
152-
: [...PRIMARY_MODES, ...OVERFLOW_MODES];
154+
const visibleModes: readonly ToolbarMode[] = isVersionSelected
155+
? (["preview", "code"] as const)
156+
: isCompact
157+
? PRIMARY_MODES
158+
: [...PRIMARY_MODES, ...OVERFLOW_MODES];
153159
const isOverflowActive =
154160
(OVERFLOW_MODES as readonly PreviewMode[]).includes(previewMode) &&
155161
isPreviewOpen;
@@ -158,7 +164,7 @@ const PreviewToolbarModeButtons = ({ isCompact }: ModeButtonsProps) => {
158164
return (
159165
<div className="flex items-center gap-0.5">
160166
{visibleModes.map((mode) => renderButton(mode))}
161-
{isCompact && (
167+
{isCompact && !isVersionSelected && (
162168
<DropdownMenu>
163169
<Tooltip>
164170
<TooltipTrigger

src/i18n/locales/en/home.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -199,6 +199,7 @@
199199
"title": "Preview",
200200
"problems": "Problems",
201201
"code": "Code",
202+
"diff": "Diff",
202203
"configure": "Configure",
203204
"security": "Security",
204205
"publish": "Publish",

0 commit comments

Comments
 (0)