@@ -6,76 +6,61 @@ import { assert, type Equals } from "tsafe/assert";
66
77export default function ArtworkWhiteLabel ( props : {
88 theme : "light" | "dark" | "system" ;
9- sizePx ? : number ;
9+ sizePx : number ;
1010} ) {
11- const { theme, sizePx = 24 } = props ;
11+ const { theme : theme_mode , sizePx } = props ;
1212
13- switch ( theme ) {
13+ const theme = useTheme ( ) ;
14+
15+ const fillColor = theme . palette . text . primary ;
16+
17+ const style = { height : sizePx , width : sizePx } ;
18+
19+ switch ( theme_mode ) {
1420 case "light" :
15- return < LightMode sizePx = { sizePx } /> ;
21+ return (
22+ < svg
23+ style = { style }
24+ xmlns = "http://www.w3.org/2000/svg"
25+ height = "24"
26+ viewBox = "0 0 24 24"
27+ width = "24"
28+ fill = { fillColor }
29+ >
30+ < path d = "M0 0h24v24H0z" fill = "none" />
31+ < path d = "M20 8.69V4h-4.69L12 .69 8.69 4H4v4.69L.69 12 4 15.31V20h4.69L12 23.31 15.31 20H20v-4.69L23.31 12 20 8.69zM12 18c-3.31 0-6-2.69-6-6s2.69-6 6-6 6 2.69 6 6-2.69 6-6 6zm0-10c-2.21 0-4 1.79-4 4s1.79 4 4 4 4-1.79 4-4-1.79-4-4-4z" />
32+ </ svg >
33+ ) ;
1634 case "dark" :
17- return < DarkMode sizePx = { sizePx } /> ;
35+ return (
36+ < svg
37+ style = { style }
38+ xmlns = "http://www.w3.org/2000/svg"
39+ enableBackground = "new 0 0 24 24"
40+ height = "24"
41+ viewBox = "0 0 24 24"
42+ width = "24"
43+ fill = { fillColor }
44+ >
45+ < rect fill = "none" />
46+ < path d = "M12,3c-4.97,0-9,4.03-9,9s4.03,9,9,9s9-4.03,9-9c0-0.46-0.04-0.92-0.1-1.36c-0.98,1.37-2.58,2.26-4.4,2.26 c-2.98,0-5.4-2.42-5.4-5.4c0-1.81,0.89-3.42,2.26-4.4C12.92,3.04,12.46,3,12,3L12,3z" />
47+ </ svg >
48+ ) ;
1849 case "system" :
19- return < AutoMode sizePx = { sizePx } /> ;
50+ return (
51+ < svg
52+ style = { style }
53+ xmlns = "http://www.w3.org/2000/svg"
54+ height = "24"
55+ viewBox = "0 0 24 24"
56+ width = "24"
57+ fill = { fillColor }
58+ >
59+ < path d = "M0 0h24v24H0z" fill = "none" />
60+ < path d = "M10.85 12.65h2.3L12 9l-1.15 3.65zM20 8.69V4h-4.69L12 .69 8.69 4H4v4.69L.69 12 4 15.31V20h4.69L12 23.31 15.31 20H20v-4.69L23.31 12 20 8.69zM14.3 16l-.7-2h-3.2l-.7 2H7.8L11 7h2l3.2 9h-1.9z" />
61+ </ svg >
62+ ) ;
2063 default :
21- assert < Equals < typeof theme , never > > ( false ) ;
64+ assert < Equals < typeof theme_mode , never > > ( false ) ;
2265 }
2366}
24-
25- function LightMode ( props : { sizePx : number } ) {
26- const { sizePx } = props ;
27-
28- const theme = useTheme ( ) ;
29-
30- return (
31- < svg
32- xmlns = "http://www.w3.org/2000/svg"
33- height = { sizePx }
34- viewBox = { `0 0 24 ${ sizePx } ` }
35- width = { sizePx }
36- fill = { theme . palette . primary . main }
37- >
38- < path d = "M0 0h24v24H0z" fill = "none" />
39- < path d = "M20 8.69V4h-4.69L12 .69 8.69 4H4v4.69L.69 12 4 15.31V20h4.69L12 23.31 15.31 20H20v-4.69L23.31 12 20 8.69zM12 18c-3.31 0-6-2.69-6-6s2.69-6 6-6 6 2.69 6 6-2.69 6-6 6zm0-10c-2.21 0-4 1.79-4 4s1.79 4 4 4 4-1.79 4-4-1.79-4-4-4z" />
40- </ svg >
41- ) ;
42- }
43-
44- function AutoMode ( props : { sizePx : number } ) {
45- const { sizePx } = props ;
46-
47- const theme = useTheme ( ) ;
48-
49- return (
50- < svg
51- xmlns = "http://www.w3.org/2000/svg"
52- height = { sizePx }
53- viewBox = { `"0 0 ${ sizePx } ${ sizePx } ` }
54- width = { sizePx }
55- fill = { theme . palette . primary . main }
56- >
57- < path d = "M0 0h24v24H0z" fill = "none" />
58- < path d = "M21 3H3c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h18c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm0 16.01H3V4.99h18v14.02zM8 16h2.5l1.5 1.5 1.5-1.5H16v-2.5l1.5-1.5-1.5-1.5V8h-2.5L12 6.5 10.5 8H8v2.5L6.5 12 8 13.5V16zm4-7c1.66 0 3 1.34 3 3s-1.34 3-3 3V9z" />
59- </ svg >
60- ) ;
61- }
62-
63- function DarkMode ( props : { sizePx : number } ) {
64- const { sizePx } = props ;
65-
66- const theme = useTheme ( ) ;
67-
68- return (
69- < svg
70- xmlns = "http://www.w3.org/2000/svg"
71- enable-background = { `new 0 0 ${ sizePx } ${ sizePx } ` }
72- height = { sizePx }
73- viewBox = { `0 0 ${ sizePx } ${ sizePx } ` }
74- width = { sizePx }
75- fill = { theme . palette . primary . main }
76- >
77- < rect fill = "none" height = { sizePx } width = { sizePx } />
78- < path d = "M12,3c-4.97,0-9,4.03-9,9s4.03,9,9,9s9-4.03,9-9c0-0.46-0.04-0.92-0.1-1.36c-0.98,1.37-2.58,2.26-4.4,2.26 c-2.98,0-5.4-2.42-5.4-5.4c0-1.81,0.89-3.42,2.26-4.4C12.92,3.04,12.46,3,12,3L12,3z" />
79- </ svg >
80- ) ;
81- }
0 commit comments