mirror of
https://github.com/clash-verge-rev/clash-verge-rev.git
synced 2026-10-26 05:42:07 +08:00
38 lines
968 B
TypeScript
38 lines
968 B
TypeScript
import KeyboardArrowUpIcon from '@mui/icons-material/KeyboardArrowUp'
|
|
import { IconButton, Fade, SxProps, Theme } from '@mui/material'
|
|
|
|
interface Props {
|
|
onClick: () => void
|
|
show: boolean
|
|
sx?: SxProps<Theme>
|
|
}
|
|
|
|
export const ScrollTopButton = ({ onClick, show, sx }: Props) => {
|
|
return (
|
|
<Fade in={show}>
|
|
<IconButton
|
|
onClick={onClick}
|
|
sx={{
|
|
position: 'absolute',
|
|
bottom: '20px',
|
|
right: '20px',
|
|
backgroundColor: (theme) =>
|
|
theme.palette.mode === 'dark'
|
|
? 'rgba(255,255,255,0.1)'
|
|
: 'rgba(0,0,0,0.1)',
|
|
'&:hover': {
|
|
backgroundColor: (theme) =>
|
|
theme.palette.mode === 'dark'
|
|
? 'rgba(255,255,255,0.2)'
|
|
: 'rgba(0,0,0,0.2)',
|
|
},
|
|
visibility: show ? 'visible' : 'hidden',
|
|
...sx,
|
|
}}
|
|
>
|
|
<KeyboardArrowUpIcon />
|
|
</IconButton>
|
|
</Fade>
|
|
)
|
|
}
|