90 lines
2.1 KiB
JavaScript
90 lines
2.1 KiB
JavaScript
import * as React from "react";
|
|
import Card from "@mui/material/Card";
|
|
import { Typography } from "@mui/material";
|
|
import { styled } from '@mui/material/styles';
|
|
import Badge from '@mui/material/Badge';
|
|
import Avatar from '@mui/material/Avatar';
|
|
import Stack from '@mui/material/Stack';
|
|
|
|
const StyledBadge = styled(Badge)(({ theme }) => ({
|
|
'& .MuiBadge-badge': {
|
|
backgroundColor: '#44b700',
|
|
color: '#44b700',
|
|
boxShadow: `0 0 0 2px ${theme.palette.background.paper}`,
|
|
'&::after': {
|
|
position: 'absolute',
|
|
top: 0,
|
|
left: 0,
|
|
width: '100%',
|
|
height: '100%',
|
|
borderRadius: '50%',
|
|
animation: 'ripple 1.2s infinite ease-in-out',
|
|
border: '1px solid currentColor',
|
|
content: '""',
|
|
},
|
|
},
|
|
'@keyframes ripple': {
|
|
'0%': {
|
|
transform: 'scale(.8)',
|
|
opacity: 1,
|
|
},
|
|
'100%': {
|
|
transform: 'scale(2.4)',
|
|
opacity: 0,
|
|
},
|
|
},
|
|
}));
|
|
|
|
const SmallAvatar = styled(Avatar)(({ theme }) => ({
|
|
width: 22,
|
|
height: 22,
|
|
border: `2px solid ${theme.palette.background.paper}`,
|
|
}));
|
|
|
|
const WithBadge = () => {
|
|
return (
|
|
<>
|
|
<Card
|
|
sx={{
|
|
boxShadow: "none",
|
|
borderRadius: "10px",
|
|
p: "25px",
|
|
mb: "15px",
|
|
}}
|
|
>
|
|
<Typography
|
|
as="h3"
|
|
sx={{
|
|
fontSize: 18,
|
|
fontWeight: 500,
|
|
mb: '20px'
|
|
}}
|
|
>
|
|
With Badge
|
|
</Typography>
|
|
|
|
<Stack direction="row" spacing={2} className="avatars-gap">
|
|
<StyledBadge
|
|
overlap="circular"
|
|
anchorOrigin={{ vertical: 'bottom', horizontal: 'right' }}
|
|
variant="dot"
|
|
>
|
|
<Avatar alt="Remy Sharp" src="/images/user1.png" />
|
|
</StyledBadge>
|
|
<Badge
|
|
overlap="circular"
|
|
anchorOrigin={{ vertical: 'bottom', horizontal: 'right' }}
|
|
badgeContent={
|
|
<SmallAvatar alt="Remy Sharp" src="/images/user2.png" />
|
|
}
|
|
>
|
|
<Avatar alt="Travis Howard" src="/images/user2.png" />
|
|
</Badge>
|
|
</Stack>
|
|
</Card>
|
|
</>
|
|
);
|
|
};
|
|
|
|
export default WithBadge;
|