From 921f0f40000c2e44898bb90e85755d32c3a890ad Mon Sep 17 00:00:00 2001 From: amhsirak Date: Mon, 19 Jan 2026 13:57:32 +0530 Subject: [PATCH 01/10] feat: sdk tab --- src/components/dashboard/MainMenu.tsx | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/src/components/dashboard/MainMenu.tsx b/src/components/dashboard/MainMenu.tsx index 6cdcc73e..9d570847 100644 --- a/src/components/dashboard/MainMenu.tsx +++ b/src/components/dashboard/MainMenu.tsx @@ -118,6 +118,13 @@ export const MainMenu = ({ value = 'robots', handleChangeContent }: MainMenuProp + - From d96811cf995096c10e0abc558d9ad072ab2961d6 Mon Sep 17 00:00:00 2001 From: amhsirak Date: Mon, 19 Jan 2026 14:32:31 +0530 Subject: [PATCH 04/10] feat: github star counter --- src/components/dashboard/MainMenu.tsx | 116 ++++++++++++++++++++++++-- 1 file changed, 110 insertions(+), 6 deletions(-) diff --git a/src/components/dashboard/MainMenu.tsx b/src/components/dashboard/MainMenu.tsx index 16b24e67..39561939 100644 --- a/src/components/dashboard/MainMenu.tsx +++ b/src/components/dashboard/MainMenu.tsx @@ -1,10 +1,10 @@ -import React, { useState } from 'react'; +import React, { useState, useEffect } from 'react'; // Added useEffect 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, Divider } from "@mui/material"; -import { AutoAwesome, VpnKey, Usb, CloudQueue, Description, Favorite, SlowMotionVideo, PlayArrow, ArrowForwardIos } from "@mui/icons-material"; +import { AutoAwesome, VpnKey, Usb, CloudQueue, Description, Favorite, SlowMotionVideo, PlayArrow, ArrowForwardIos, Star } from "@mui/icons-material"; import { useTranslation } from 'react-i18next'; import { useGlobalInfoStore } from "../../context/globalInfo"; @@ -22,9 +22,42 @@ export const MainMenu = ({ value = 'robots', handleChangeContent }: MainMenuProp const [sponsorModalOpen, setSponsorModalOpen] = useState(false); const [docModalOpen, setDocModalOpen] = useState(false); + const [starCount, setStarCount] = useState(null); + const [isLoading, setIsLoading] = useState(false); const ossDiscountCode = "MAXUNOSS8"; + useEffect(() => { + const fetchStarCount = async () => { + setIsLoading(true); + try { + const response = await fetch('https://api.github.com/repos/getmaxun/maxun', { + headers: { + 'Accept': 'application/vnd.github.v3+json' + } + }); + + if (response.ok) { + const data = await response.json(); + setStarCount(data.stargazers_count); + } else { + console.error('Failed to fetch GitHub star count'); + } + } catch (error) { + console.error('Error fetching GitHub star count:', error); + } finally { + setIsLoading(false); + } + }; + + fetchStarCount(); + + // Optional: Refresh star count every 5 minutes + const intervalId = setInterval(fetchStarCount, 5 * 60 * 1000); + + return () => clearInterval(intervalId); + }, []); + const handleChange = (event: React.SyntheticEvent, newValue: string) => { navigate(`/${newValue}`); handleChangeContent(newValue); @@ -66,6 +99,23 @@ export const MainMenu = ({ value = 'robots', handleChangeContent }: MainMenuProp }, }; + const starButtonStyles = { + justifyContent: 'flex-start', + textAlign: 'left', + fontSize: '15px', + padding: '12px 20px 12px 22px', + minHeight: '48px', + minWidth: '100%', + display: 'flex', + alignItems: 'center', + textTransform: 'none', + color: theme.palette.mode === 'light' ? '#6C6C6C' : 'inherit', + backgroundColor: theme.palette.mode === 'light' ? '#fafafa' : 'rgba(255, 255, 255, 0.04)', + '&:hover': { + color: theme.palette.mode === 'light' ? '#6C6C6C' : 'inherit', + backgroundColor: theme.palette.mode === 'light' ? '#f0f0f0' : 'rgba(255, 255, 255, 0.08)', + }, + }; return ( <> @@ -74,20 +124,30 @@ export const MainMenu = ({ value = 'robots', handleChangeContent }: MainMenuProp height: '100%', width: '230px', backgroundColor: theme.palette.background.paper, - paddingTop: '0.5rem', color: defaultcolor, + display: 'flex', + flexDirection: 'column', }} variant="outlined" square > - + + + + setSponsorModalOpen(false)}> @@ -190,4 +294,4 @@ export const MainMenu = ({ value = 'robots', handleChangeContent }: MainMenuProp ); -}; +}; \ No newline at end of file From 17fab54765545a93c6f052771bad0cc4114912b9 Mon Sep 17 00:00:00 2001 From: amhsirak Date: Mon, 19 Jan 2026 14:33:09 +0530 Subject: [PATCH 05/10] chore: -rm stale discount code --- src/components/dashboard/MainMenu.tsx | 12 ------------ 1 file changed, 12 deletions(-) diff --git a/src/components/dashboard/MainMenu.tsx b/src/components/dashboard/MainMenu.tsx index 39561939..75a44782 100644 --- a/src/components/dashboard/MainMenu.tsx +++ b/src/components/dashboard/MainMenu.tsx @@ -18,15 +18,12 @@ export const MainMenu = ({ value = 'robots', handleChangeContent }: MainMenuProp const { t } = useTranslation(); const navigate = useNavigate(); const location = useLocation(); - const { notify } = useGlobalInfoStore(); const [sponsorModalOpen, setSponsorModalOpen] = useState(false); const [docModalOpen, setDocModalOpen] = useState(false); const [starCount, setStarCount] = useState(null); const [isLoading, setIsLoading] = useState(false); - const ossDiscountCode = "MAXUNOSS8"; - useEffect(() => { const fetchStarCount = async () => { setIsLoading(true); @@ -70,15 +67,6 @@ export const MainMenu = ({ value = 'robots', handleChangeContent }: MainMenuProp } }; - 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 = { From e50b438995c34298d256aa55f427fc66f4bc94ea Mon Sep 17 00:00:00 2001 From: amhsirak Date: Mon, 19 Jan 2026 14:33:24 +0530 Subject: [PATCH 06/10] chore: -rm unused code --- src/components/dashboard/MainMenu.tsx | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/src/components/dashboard/MainMenu.tsx b/src/components/dashboard/MainMenu.tsx index 75a44782..06c1c9be 100644 --- a/src/components/dashboard/MainMenu.tsx +++ b/src/components/dashboard/MainMenu.tsx @@ -1,4 +1,4 @@ -import React, { useState, useEffect } from 'react'; // Added useEffect +import React, { useState, useEffect } from 'react'; import Tabs from '@mui/material/Tabs'; import Tab from '@mui/material/Tab'; import Box from '@mui/material/Box'; @@ -6,7 +6,6 @@ import { useNavigate, useLocation } from 'react-router-dom'; import { Paper, Button, useTheme, Modal, Typography, Stack, Divider } from "@mui/material"; import { AutoAwesome, VpnKey, Usb, CloudQueue, Description, Favorite, SlowMotionVideo, PlayArrow, ArrowForwardIos, Star } from "@mui/icons-material"; import { useTranslation } from 'react-i18next'; -import { useGlobalInfoStore } from "../../context/globalInfo"; interface MainMenuProps { value: string; From ff86404085558a35521cc3897185a4412c84928f Mon Sep 17 00:00:00 2001 From: amhsirak Date: Mon, 19 Jan 2026 14:41:08 +0530 Subject: [PATCH 07/10] feat: gh star styles --- src/components/dashboard/MainMenu.tsx | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/components/dashboard/MainMenu.tsx b/src/components/dashboard/MainMenu.tsx index 06c1c9be..70970d0b 100644 --- a/src/components/dashboard/MainMenu.tsx +++ b/src/components/dashboard/MainMenu.tsx @@ -233,7 +233,7 @@ export const MainMenu = ({ value = 'robots', handleChangeContent }: MainMenuProp } > - Star us on GitHub + Star On GitHub {isLoading ? ( Date: Mon, 19 Jan 2026 14:54:43 +0530 Subject: [PATCH 08/10] feat: set minHeight of tab to 60 --- src/context/theme-provider.tsx | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/context/theme-provider.tsx b/src/context/theme-provider.tsx index 41cce056..b506a6b1 100644 --- a/src/context/theme-provider.tsx +++ b/src/context/theme-provider.tsx @@ -2,6 +2,7 @@ import React, { createContext, useContext, useState, useEffect } from 'react'; import { ThemeProvider, createTheme } from '@mui/material/styles'; import CssBaseline from '@mui/material/CssBaseline'; + const lightTheme = createTheme({ palette: { primary: { @@ -75,7 +76,8 @@ const lightTheme = createTheme({ MuiTab: { styleOverrides: { root: { - textTransform: "none", + minHeight: 60, + textTransform: "none", }, }, }, @@ -221,6 +223,7 @@ const darkTheme = createTheme({ MuiTab: { styleOverrides: { root: { + minHeight: 60, textTransform: "none", color: '#ffffff', "&.Mui-selected": { From 17af7538537d6dd16133600bc57282fea9f29107 Mon Sep 17 00:00:00 2001 From: amhsirak Date: Mon, 19 Jan 2026 14:59:30 +0530 Subject: [PATCH 09/10] fix: match button styles to tab --- src/components/dashboard/MainMenu.tsx | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/components/dashboard/MainMenu.tsx b/src/components/dashboard/MainMenu.tsx index 70970d0b..4bd7e4ed 100644 --- a/src/components/dashboard/MainMenu.tsx +++ b/src/components/dashboard/MainMenu.tsx @@ -73,8 +73,8 @@ export const MainMenu = ({ value = 'robots', handleChangeContent }: MainMenuProp textAlign: 'left', fontSize: '15px', letterSpacing: '0.02857em', - padding: '20px 20px 20px 22px', - minHeight: '48px', + padding: '20px 20px 0px 22px', + minHeight: '60px', minWidth: '100%', display: 'flex', alignItems: 'center', From 95c5b0b111babcee0a72a1cd33b95249ed36cc79 Mon Sep 17 00:00:00 2001 From: amhsirak Date: Mon, 19 Jan 2026 15:04:04 +0530 Subject: [PATCH 10/10] chore: remove unused imports --- src/components/dashboard/NavBar.tsx | 1 - 1 file changed, 1 deletion(-) diff --git a/src/components/dashboard/NavBar.tsx b/src/components/dashboard/NavBar.tsx index f9b4bc90..41a315b1 100644 --- a/src/components/dashboard/NavBar.tsx +++ b/src/components/dashboard/NavBar.tsx @@ -27,7 +27,6 @@ import { GitHub, Update, Close, - Description, LightMode, DarkMode, Translate