From c54bc63a741c66dd931ee34515b12c4fb9e32374 Mon Sep 17 00:00:00 2001 From: Pablo Gonzalez Date: Wed, 29 Jul 2026 12:51:17 +0200 Subject: [PATCH] feat(desktop): use add-line glyph for maximize/restore traffic light Replaces the custom corner-triangle SVG with Remixicon's `add` (+) glyph for both maximize and restore states in traffic-lights style, matching the close/minimize glyphs. The restore vs maximize label still flips via isMaximized. --- .../desktop/WindowsWindowControls.tsx | 22 +++++-------------- 1 file changed, 5 insertions(+), 17 deletions(-) diff --git a/packages/ui/src/components/desktop/WindowsWindowControls.tsx b/packages/ui/src/components/desktop/WindowsWindowControls.tsx index 9db608d8..e722fc11 100644 --- a/packages/ui/src/components/desktop/WindowsWindowControls.tsx +++ b/packages/ui/src/components/desktop/WindowsWindowControls.tsx @@ -16,28 +16,16 @@ const TRAFFIC_LIGHT_COLORS: Record = ({ action, isMaximized }) => { +const TrafficLightGlyph: React.FC<{ action: DesktopWindowControlAction }> = ({ action }) => { if (action === 'close') { return ; } if (action === 'minimize') { return ; } - // Green expand: two filled corner triangles pointing outward (maximize) - // or inward (restore). No Remixicon equivalent exists. - // Glyphs are 10px inside the 14px circle on purpose: 9px left a half-pixel - // (2.5px) padding that rasterized lopsided at 1x DPR. - return isMaximized ? ( - - - - - ) : ( - - - - - ); + // Green maximize/restore: same `add` (+) glyph for both states. The label + // (restore vs maximize) still flips via isMaximized in TrafficLightButton. + return ; }; type TrafficLightButtonProps = { @@ -73,7 +61,7 @@ const TrafficLightButton: React.FC = ({ action, isMaxim style={{ backgroundColor: fill, color: glyph }} > - +