import React, { useState } from 'react'; import Tabs from '@mui/material/Tabs'; import Tab from '@mui/material/Tab'; import Box from '@mui/material/Box'; import { useNavigate, useLocation } from 'react-router-dom'; import { Paper, Button, useTheme, Modal, Typography, Stack } from "@mui/material"; import { AutoAwesome, VpnKey, Usb, CloudQueue, Description, Favorite, SlowMotionVideo, PlayArrow } from "@mui/icons-material"; import { useTranslation } from 'react-i18next'; import { useGlobalInfoStore } from "../../context/globalInfo"; interface MainMenuProps { value: string; handleChangeContent: (newValue: string) => void; } export const MainMenu = ({ value = 'robots', handleChangeContent }: MainMenuProps) => { const theme = useTheme(); const { t } = useTranslation(); const navigate = useNavigate(); const location = useLocation(); const { notify } = useGlobalInfoStore(); const [sponsorModalOpen, setSponsorModalOpen] = useState(false); const [docModalOpen, setDocModalOpen] = useState(false); const ossDiscountCode = "MAXUNOSS8"; const handleChange = (event: React.SyntheticEvent, newValue: string) => { navigate(`/${newValue}`); handleChangeContent(newValue); }; const handleRobotsClick = () => { if (location.pathname !== '/robots') { navigate('/robots'); handleChangeContent('robots'); } }; const copyDiscountCode = () => { navigator.clipboard.writeText(ossDiscountCode).then(() => { notify("success", "Discount code copied to clipboard!"); }).catch(err => { console.error('Failed to copy text: ', err); notify("error", "Failed to copy discount code."); }); }; const defaultcolor = theme.palette.mode === 'light' ? 'black' : 'white'; const buttonStyles = { justifyContent: 'flex-start', textAlign: 'left', fontSize: '17px', letterSpacing: '0.02857em', padding: '20px 20px 20px 22px', minHeight: '48px', minWidth: '100%', display: 'flex', alignItems: 'center', textTransform: 'none', color: theme.palette.mode === 'light' ? '#6C6C6C' : 'inherit', '&:hover': { color: theme.palette.mode === 'light' ? '#6C6C6C' : 'inherit', backgroundColor: theme.palette.mode === 'light' ? '#f5f5f5' : 'inherit', }, }; return ( <> } iconPosition="start" disableRipple={true} sx={{ justifyContent: 'flex-start', textAlign: 'left', fontSize: 'medium' }} onClick={handleRobotsClick} /> } iconPosition="start" disableRipple={true} sx={{ justifyContent: 'flex-start', textAlign: 'left', fontSize: 'medium' }} /> } iconPosition="start" disableRipple={true} sx={{ justifyContent: 'flex-start', textAlign: 'left', fontSize: 'medium' }} /> } iconPosition="start" disableRipple={true} sx={{ justifyContent: 'flex-start', textAlign: 'left', fontSize: 'medium' }} />
setDocModalOpen(false)}>
setSponsorModalOpen(false)}> Support Maxun Open Source Maxun is built by a small, full-time team. Your donations directly contribute to making it better.
Thank you for your support! 🩷
); };