11import { GetApp , Refresh , Share } from "@mui/icons-material" ;
22import {
3+ Box ,
34 Button ,
45 Dialog ,
56 DialogActions ,
@@ -11,22 +12,22 @@ import {
1112 Stack ,
1213 Tooltip ,
1314 Typography ,
14- type IconButtonProps ,
15+ type SxProps ,
1516} from "@mui/material" ;
1617import { useState } from "react" ;
1718import { toast } from "sonner" ;
1819import { generateTheme } from "../../generateTheme" ;
1920import { useInnerTheme } from "../../hooks/useInnerTheme" ;
2021import { saveObjectToClipboard } from "../../utils" ;
2122
22- const SHARED_ICONBUTTON_PROPS : IconButtonProps = {
23- size : "large " ,
24- sx : {
25- bgcolor : "primary.main" ,
26- "&:hover " : { bgcolor : "primary.dark " } ,
27- "&:disabled" : { bgcolor : "primary.main" , opacity : 0.5 , color : "primary.contrastText" } ,
28- color : "primary.contrastText" ,
29- } ,
23+ const SHARED_BUTTON_STYLES : SxProps = {
24+ bgcolor : "background.paper " ,
25+ backgroundImage : "var(--mui-overlays-1)" ,
26+ "&:hover" : { bgcolor : "background.paper" } ,
27+ "&:disabled " : { bgcolor : "background.paper" , opacity : 0.5 , color : "text.primary " } ,
28+ color : "text.primary" ,
29+ borderRadius : 1 ,
30+ transition : "all 0.3s ease" ,
3031} ;
3132
3233const shareSite = async ( ) => {
@@ -56,28 +57,25 @@ export const BottomControls = () => {
5657
5758 return (
5859 < Stack gap = { 2 } sx = { { p : { xs : 2 , sm : 3 , md : 4 } , pt : { xs : 0 , sm : 0 , md : 0 } } } alignItems = "center" >
59- < Stack gap = { 1.5 } direction = "row" >
60- < Button
61- size = "large"
62- variant = "contained"
63- onClick = { ( ) => setThemeOptions ( generateTheme ( ) ) }
60+ < Stack gap = { 1 } direction = "row" sx = { { alignItems : "center" } } >
61+ < Box
6462 sx = { {
65- border : "2px solid transparent" ,
66- borderImage : "conic-gradient(from 0deg, red, yellow, lime, aqua, blue, magenta, red) 1" ,
67- borderImageSlice : 1 ,
68- transition : "all 0.3s ease" ,
69- fontWeight : "bold" ,
63+ backgroundImage : "conic-gradient(#ff0000, #ff7300, #fffb00, #48ff00, #00ffd5, #002bff, #7a00ff, #ff00c1, #ff0000)" ,
64+ borderRadius : 1 ,
65+ p : "1px" ,
7066 } }
7167 >
72- Randomize!
73- </ Button >
68+ < Button variant = "contained" onClick = { ( ) => setThemeOptions ( generateTheme ( ) ) } sx = { SHARED_BUTTON_STYLES } >
69+ Randomize!
70+ </ Button >
71+ </ Box >
7472 < Tooltip title = "Export theme" >
75- < IconButton disabled = { ! hasEditedTheme } onClick = { ( ) => saveObjectToClipboard ( themeOptions ) } { ... SHARED_ICONBUTTON_PROPS } >
73+ < IconButton disabled = { ! hasEditedTheme } onClick = { ( ) => saveObjectToClipboard ( themeOptions ) } sx = { SHARED_BUTTON_STYLES } >
7674 < GetApp />
7775 </ IconButton >
7876 </ Tooltip >
7977 < Tooltip title = "Reset" >
80- < IconButton disabled = { ! hasEditedTheme } onClick = { ( ) => setIsResetDialogOpen ( true ) } { ... SHARED_ICONBUTTON_PROPS } >
78+ < IconButton disabled = { ! hasEditedTheme } onClick = { ( ) => setIsResetDialogOpen ( true ) } sx = { SHARED_BUTTON_STYLES } >
8179 < Refresh />
8280 </ IconButton >
8381 </ Tooltip >
@@ -105,7 +103,7 @@ export const BottomControls = () => {
105103 </ DialogActions >
106104 </ Dialog >
107105 < Tooltip title = "Share" >
108- < IconButton onClick = { shareSite } { ... SHARED_ICONBUTTON_PROPS } >
106+ < IconButton onClick = { shareSite } sx = { SHARED_BUTTON_STYLES } >
109107 < Share />
110108 </ IconButton >
111109 </ Tooltip >
0 commit comments