Skip to content

Commit 38dc6a5

Browse files
samejrclaude
andcommitted
feat(webapp): use a custom monitor icon for the System theme
Replaces the heroicons desktop glyph in both theme pickers. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
1 parent 948db74 commit 38dc6a5

2 files changed

Lines changed: 24 additions & 2 deletions

File tree

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
/** Monitor on a stand — the System theme, which follows the OS appearance. */
2+
export function MonitorIcon({ className }: { className?: string }) {
3+
return (
4+
<svg
5+
className={className}
6+
width="24"
7+
height="24"
8+
viewBox="0 0 24 24"
9+
fill="none"
10+
xmlns="http://www.w3.org/2000/svg"
11+
>
12+
<path
13+
d="M21 13H3M11 17H13L14 21H10L11 17ZM5 17H19C20.1046 17 21 16.1046 21 15V6C21 4.89543 20.1046 4 19 4H5C3.89543 4 3 4.89543 3 6V15C3 16.1046 3.89543 17 5 17Z"
14+
stroke="currentColor"
15+
strokeWidth="2"
16+
strokeLinecap="square"
17+
strokeLinejoin="round"
18+
/>
19+
</svg>
20+
);
21+
}

apps/webapp/app/components/themeOptions.ts

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,8 @@
1-
import { ComputerDesktopIcon, SwatchIcon } from "@heroicons/react/24/outline";
1+
import { SwatchIcon } from "@heroicons/react/24/outline";
22
import { type FunctionComponent } from "react";
33
import { CircleFilledIcon } from "~/assets/icons/CircleFilledIcon";
44
import { CircleOutlineIcon } from "~/assets/icons/CircleOutlineIcon";
5+
import { MonitorIcon } from "~/assets/icons/MonitorIcon";
56
import { MoonIcon } from "~/assets/icons/MoonIcon";
67
import { SunIcon } from "~/assets/icons/SunIcon";
78
import { type ThemeAppearance } from "~/hooks/useSystemThemeSync";
@@ -17,7 +18,7 @@ export type ThemeOption = {
1718
* popover's submenu. Shared by every theme picker so the labels and icons
1819
* can't drift apart. */
1920
export const THEME_OPTIONS: ThemeOption[] = [
20-
{ value: "system", label: "System", icon: ComputerDesktopIcon },
21+
{ value: "system", label: "System", icon: MonitorIcon },
2122
{ value: "light", label: "Light", icon: SunIcon },
2223
{ value: "dark", label: "Dark", icon: MoonIcon },
2324
];

0 commit comments

Comments
 (0)