carga
This commit is contained in:
110
frontend/src/components/NotificationsVolume/index.js
Normal file
110
frontend/src/components/NotificationsVolume/index.js
Normal file
@@ -0,0 +1,110 @@
|
||||
import React, { useState, useRef } from "react";
|
||||
|
||||
import Popover from "@material-ui/core/Popover";
|
||||
import IconButton from "@material-ui/core/IconButton";
|
||||
import List from "@material-ui/core/List";
|
||||
import { makeStyles } from "@material-ui/core/styles";
|
||||
import VolumeUpIcon from "@material-ui/icons/VolumeUp";
|
||||
import VolumeDownIcon from "@material-ui/icons/VolumeDown";
|
||||
|
||||
import { Grid, Slider } from "@material-ui/core";
|
||||
|
||||
const useStyles = makeStyles((theme) => ({
|
||||
tabContainer: {
|
||||
padding: theme.spacing(2),
|
||||
},
|
||||
popoverPaper: {
|
||||
width: "100%",
|
||||
maxWidth: 350,
|
||||
marginLeft: theme.spacing(2),
|
||||
marginRight: theme.spacing(1),
|
||||
[theme.breakpoints.down("sm")]: {
|
||||
maxWidth: 270,
|
||||
},
|
||||
},
|
||||
noShadow: {
|
||||
boxShadow: "none !important",
|
||||
},
|
||||
icons: {
|
||||
color: "#fff",
|
||||
},
|
||||
customBadge: {
|
||||
backgroundColor: "#f44336",
|
||||
color: "#fff",
|
||||
},
|
||||
}));
|
||||
|
||||
const NotificationsVolume = ({ volume, setVolume }) => {
|
||||
const classes = useStyles();
|
||||
|
||||
const anchorEl = useRef();
|
||||
const [isOpen, setIsOpen] = useState(false);
|
||||
|
||||
const handleClick = () => {
|
||||
setIsOpen((prevState) => !prevState);
|
||||
};
|
||||
|
||||
const handleClickAway = () => {
|
||||
setIsOpen(false);
|
||||
};
|
||||
|
||||
const handleVolumeChange = (value) => {
|
||||
setVolume(value);
|
||||
localStorage.setItem("volume", value);
|
||||
};
|
||||
|
||||
return (
|
||||
<>
|
||||
<IconButton
|
||||
className={classes.icons}
|
||||
onClick={handleClick}
|
||||
ref={anchorEl}
|
||||
aria-label="Open Notifications"
|
||||
// color="inherit"
|
||||
// color="secondary"
|
||||
>
|
||||
<VolumeUpIcon color="inherit" />
|
||||
</IconButton>
|
||||
<Popover
|
||||
disableScrollLock
|
||||
open={isOpen}
|
||||
anchorEl={anchorEl.current}
|
||||
anchorOrigin={{
|
||||
vertical: "bottom",
|
||||
horizontal: "right",
|
||||
}}
|
||||
transformOrigin={{
|
||||
vertical: "top",
|
||||
horizontal: "right",
|
||||
}}
|
||||
classes={{ paper: classes.popoverPaper }}
|
||||
onClose={handleClickAway}
|
||||
>
|
||||
<List dense className={classes.tabContainer}>
|
||||
<Grid container spacing={2}>
|
||||
<Grid item>
|
||||
<VolumeDownIcon />
|
||||
</Grid>
|
||||
<Grid item xs>
|
||||
<Slider
|
||||
value={volume}
|
||||
aria-labelledby="continuous-slider"
|
||||
step={0.1}
|
||||
min={0}
|
||||
max={1}
|
||||
onChange={(e, value) =>
|
||||
handleVolumeChange(value)
|
||||
}
|
||||
/>
|
||||
</Grid>
|
||||
<Grid item>
|
||||
<VolumeUpIcon />
|
||||
</Grid>
|
||||
</Grid>
|
||||
</List>
|
||||
</Popover>
|
||||
</>
|
||||
);
|
||||
};
|
||||
|
||||
export default NotificationsVolume;
|
||||
Reference in New Issue
Block a user