From 6c27c8b600cdfa2abc2cba221031d22e19736df4 Mon Sep 17 00:00:00 2001 From: Neil <4138956+nwparker@users.noreply.github.com> Date: Mon, 12 Oct 2026 17:38:26 -0700 Subject: [PATCH] Use a minimize icon in the Update skills dialog (#28107) * fix(skills): use a minimize icon for the update dialog * fix(skills): match the app updater minimize icon --- .../skills/SkillFreshnessUpdateDialog.tsx | 1 + src/renderer/src/components/ui/dialog.tsx | 43 +++++++++++++------ src/renderer/src/i18n/locales/en.json | 3 +- src/renderer/src/i18n/locales/es.json | 3 +- src/renderer/src/i18n/locales/fr.json | 3 +- src/renderer/src/i18n/locales/ja.json | 3 +- src/renderer/src/i18n/locales/ko.json | 3 +- src/renderer/src/i18n/locales/zh.json | 3 +- 8 files changed, 44 insertions(+), 18 deletions(-) diff --git a/src/renderer/src/components/skills/SkillFreshnessUpdateDialog.tsx b/src/renderer/src/components/skills/SkillFreshnessUpdateDialog.tsx index 5a74be23c9b..c852b0f4979 100644 --- a/src/renderer/src/components/skills/SkillFreshnessUpdateDialog.tsx +++ b/src/renderer/src/components/skills/SkillFreshnessUpdateDialog.tsx @@ -276,6 +276,7 @@ export function SkillFreshnessUpdateDialog(): React.JSX.Element { diff --git a/src/renderer/src/components/ui/dialog.tsx b/src/renderer/src/components/ui/dialog.tsx index 3670d96a4da..c8ee33f30f6 100644 --- a/src/renderer/src/components/ui/dialog.tsx +++ b/src/renderer/src/components/ui/dialog.tsx @@ -2,12 +2,13 @@ import * as React from 'react' import { cva, type VariantProps } from 'class-variance-authority' -import { XIcon } from 'lucide-react' +import { Minus, XIcon } from 'lucide-react' import * as DialogPrimitive from 'radix-ui/dialog' import { cn } from '@/lib/utils' import { handleImeOverlayEscape } from '@/lib/ime-overlay-escape' import { Button } from '@/components/ui/button' +import { Tooltip, TooltipContent, TooltipTrigger } from '@/components/ui/tooltip' import { translate } from '@/i18n/i18n' function Dialog({ ...props }: React.ComponentProps) { @@ -57,17 +58,45 @@ const dialogContentSurfaceVariants = cva('', { defaultVariants: { surface: 'default' } }) +function DialogContentCloseButton({ variant }: { variant: 'close' | 'minimize' }) { + const label = + variant === 'minimize' + ? translate('auto.components.ui.dialog.minimize', 'Minimize') + : translate('auto.components.ui.dialog.f26c4baeda', 'Close') + const button = ( + + {variant === 'minimize' ? : } + {label} + + ) + return variant === 'minimize' ? ( + + {button} + + {label} + + + ) : ( + button + ) +} + function DialogContent({ className, children, overlayClassName, showCloseButton = true, + closeButtonVariant = 'close', surface, ...props }: React.ComponentProps & VariantProps & { overlayClassName?: string showCloseButton?: boolean + closeButtonVariant?: 'close' | 'minimize' }) { return ( @@ -91,17 +120,7 @@ function DialogContent({ onEscapeKeyDown={(event) => handleImeOverlayEscape(event, props.onEscapeKeyDown)} > {children} - {showCloseButton && ( - - - - {translate('auto.components.ui.dialog.f26c4baeda', 'Close')} - - - )} + {showCloseButton && } ) diff --git a/src/renderer/src/i18n/locales/en.json b/src/renderer/src/i18n/locales/en.json index e61b32a568a..c2f146c796d 100644 --- a/src/renderer/src/i18n/locales/en.json +++ b/src/renderer/src/i18n/locales/en.json @@ -3243,7 +3243,8 @@ } }, "dialog": { - "f26c4baeda": "Close" + "f26c4baeda": "Close", + "minimize": "Minimize" }, "repo": { "multi": { diff --git a/src/renderer/src/i18n/locales/es.json b/src/renderer/src/i18n/locales/es.json index ff33ef7f4d4..9a8e059a949 100644 --- a/src/renderer/src/i18n/locales/es.json +++ b/src/renderer/src/i18n/locales/es.json @@ -3012,7 +3012,8 @@ } }, "dialog": { - "f26c4baeda": "Cerrar" + "f26c4baeda": "Cerrar", + "minimize": "Minimizar" }, "repo": { "multi": { diff --git a/src/renderer/src/i18n/locales/fr.json b/src/renderer/src/i18n/locales/fr.json index 2b3bf9eca36..8a4a9155c41 100644 --- a/src/renderer/src/i18n/locales/fr.json +++ b/src/renderer/src/i18n/locales/fr.json @@ -3117,7 +3117,8 @@ } }, "dialog": { - "f26c4baeda": "Fermer" + "f26c4baeda": "Fermer", + "minimize": "Réduire" }, "repo": { "multi": { diff --git a/src/renderer/src/i18n/locales/ja.json b/src/renderer/src/i18n/locales/ja.json index 47874e9d9f2..d3e15e315d8 100644 --- a/src/renderer/src/i18n/locales/ja.json +++ b/src/renderer/src/i18n/locales/ja.json @@ -3012,7 +3012,8 @@ } }, "dialog": { - "f26c4baeda": "閉じる" + "f26c4baeda": "閉じる", + "minimize": "最小化" }, "repo": { "multi": { diff --git a/src/renderer/src/i18n/locales/ko.json b/src/renderer/src/i18n/locales/ko.json index d6688c78ee1..0febbf4a567 100644 --- a/src/renderer/src/i18n/locales/ko.json +++ b/src/renderer/src/i18n/locales/ko.json @@ -3012,7 +3012,8 @@ } }, "dialog": { - "f26c4baeda": "닫기" + "f26c4baeda": "닫기", + "minimize": "최소화" }, "repo": { "multi": { diff --git a/src/renderer/src/i18n/locales/zh.json b/src/renderer/src/i18n/locales/zh.json index e33c7300ca0..063005e3791 100644 --- a/src/renderer/src/i18n/locales/zh.json +++ b/src/renderer/src/i18n/locales/zh.json @@ -3012,7 +3012,8 @@ } }, "dialog": { - "f26c4baeda": "关闭" + "f26c4baeda": "关闭", + "minimize": "最小化" }, "repo": { "multi": {