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, TextField, InputAdornment, IconButton } from "@mui/material";
import { AutoAwesome, FormatListBulleted, VpnKey, Usb, CloudQueue, Description, Favorite, ContentCopy, SlowMotionVideo } 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 [cloudModalOpen, setCloudModalOpen] = useState(false);
const [sponsorModalOpen, setSponsorModalOpen] = 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" sx={{ justifyContent: 'flex-start', textAlign: 'left', fontSize: 'medium' }} onClick={handleRobotsClick} />
} iconPosition="start" sx={{ justifyContent: 'flex-start', textAlign: 'left', fontSize: 'medium' }} />
} iconPosition="start" sx={{ justifyContent: 'flex-start', textAlign: 'left', fontSize: 'medium' }} />
} iconPosition="start" sx={{ justifyContent: 'flex-start', textAlign: 'left', fontSize: 'medium' }} />
}>
Documentation
}>
Tutorials
setCloudModalOpen(false)}>
Join Maxun Cloud
Unlock reliable web data extraction. Maxun Cloud ensures you bypass blocks and scale with ease.
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! 💙
>
);
};