index.tsx 4.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134
  1. import Divider from '@mui/material/Divider';
  2. import Paper from '@mui/material/Paper';
  3. import MenuList from '@mui/material/MenuList';
  4. import MenuItem from '@mui/material/MenuItem';
  5. import ListItemText from '@mui/material/ListItemText';
  6. import ListItemIcon from '@mui/material/ListItemIcon';
  7. import PermContactCalendarIcon from '@mui/icons-material/PermContactCalendar';
  8. import SettingsIcon from '@mui/icons-material/Settings';
  9. import Brightness3Icon from '@mui/icons-material/Brightness3';
  10. import HelpOutlineIcon from '@mui/icons-material/HelpOutline';
  11. import BugReportIcon from '@mui/icons-material/BugReport';
  12. import Switch from '@mui/material/Switch';
  13. import { makeStyles } from '@material-ui/core'
  14. import { useDispatch } from 'react-redux';
  15. import { asyncCurrentUser } from '../../../../redux/authorization/operations';
  16. import { updateCredentials } from '../../../../api-data';
  17. const useStyles = makeStyles({
  18. overlay: {
  19. position: 'fixed',
  20. top: 0,
  21. left: 0,
  22. width: '100vw',
  23. height: '100vh',
  24. zIndex:100
  25. },
  26. container: {
  27. position: 'absolute',
  28. width: 270,
  29. maxWidth: '100%',
  30. top: 60,
  31. left: 15,
  32. zIndex: 10,
  33. visibility: 'visible',
  34. },
  35. list: {
  36. background:'#fdfdfd'
  37. },
  38. listItemLast: {
  39. textAlign: 'center',
  40. },
  41. listIcon: {
  42. marginRight: 15,
  43. },
  44. listIconText: {
  45. marginRight: 15,
  46. paddingLeft:6
  47. }
  48. })
  49. const label = { inputProps: { 'aria-label': 'Switch demo' } };
  50. interface IContactsList {
  51. handleSelectedMenu: (i: number) => void,
  52. nightMode: boolean
  53. }
  54. const MenuBar = ({handleSelectedMenu,nightMode}:IContactsList) => {
  55. const classes = useStyles()
  56. const dispatch = useDispatch()
  57. const handleNightMode = () => {
  58. updateCredentials({ nightMode: !nightMode })
  59. dispatch(asyncCurrentUser())
  60. }
  61. return (
  62. <div className={classes.overlay} id='overlay'>
  63. <Paper className={classes.container}>
  64. <MenuList className={classes.list}>
  65. <MenuItem onClick={() => handleSelectedMenu(1)}>
  66. <ListItemIcon className={classes.listIcon}>
  67. <PermContactCalendarIcon fontSize="medium" />
  68. </ListItemIcon>
  69. <ListItemText>Contacts</ListItemText>
  70. </MenuItem>
  71. <MenuItem onClick={() => handleSelectedMenu(2)}>
  72. <ListItemIcon className={classes.listIcon}>
  73. <SettingsIcon fontSize="medium" />
  74. </ListItemIcon>
  75. <ListItemText>Settings</ListItemText>
  76. </MenuItem>
  77. <MenuItem style={{cursor:'default'}}>
  78. <ListItemIcon className={classes.listIcon}>
  79. <Brightness3Icon fontSize="medium" />
  80. </ListItemIcon>
  81. <ListItemText>Night Mode</ListItemText>
  82. <Switch onClick={handleNightMode} checked={nightMode} {...label} style={{cursor:'pointer'}}/>
  83. </MenuItem>
  84. <a style={{ textDecoration: 'none', color: 'inherit' }} target='blank'
  85. href='https://www.makeuseof.com/tag/useful-telegram-features/'>
  86. <MenuItem>
  87. <ListItemIcon className={classes.listIcon}>
  88. <HelpOutlineIcon fontSize="medium" />
  89. </ListItemIcon>
  90. <ListItemText>Telegram Features</ListItemText>
  91. </MenuItem>
  92. </a>
  93. <a style={{ textDecoration: 'none', color: 'inherit' }} target='blank'
  94. href='https://bugs.telegram.org/?tag_ids=41&sort=time'>
  95. <MenuItem>
  96. <ListItemIcon className={classes.listIcon}>
  97. <BugReportIcon fontSize="medium" />
  98. </ListItemIcon>
  99. <ListItemText>Report bug</ListItemText>
  100. </MenuItem>
  101. </a>
  102. <a style={{ textDecoration: 'none', color: 'inherit' }} target='blank'
  103. href='https://www.msn.com/en-in/money/tech/telegram-webk-and-webz-web-apps-launched-whats-the-difference/ar-BB1fOwLR'>
  104. <MenuItem>
  105. <ListItemIcon className={classes.listIconText}>
  106. K
  107. </ListItemIcon>
  108. <ListItemText>Switch to K Version</ListItemText>
  109. </MenuItem>
  110. </a>
  111. <a style={{ textDecoration: 'none', color: 'inherit' }} target='blank'
  112. href='https://desktop.telegram.org/changelog'>
  113. <MenuItem>
  114. <ListItemIcon className={classes.listIconText}>
  115. W
  116. </ListItemIcon>
  117. <ListItemText>Switch to Old Version</ListItemText>
  118. </MenuItem>
  119. </a>
  120. <Divider />
  121. <MenuItem style={{cursor:'default'}}>
  122. <ListItemText secondary='Telegram WebZ 1.32.3' className={classes.listItemLast}/>
  123. </MenuItem>
  124. </MenuList>
  125. </Paper>
  126. </div>
  127. );
  128. }
  129. export default MenuBar