@@ -6,6 +6,9 @@ import type { MainMenu as MainMenuType } from '@atyrode/excalidraw';
66import { LogOut , SquarePlus , LayoutDashboard , User , Text , Settings , Terminal , FileText , FlaskConical } from 'lucide-react' ;
77import md5 from 'crypto-js/md5' ;
88
9+ // Components
10+ import SettingsDialog from './SettingsDialog' ; // Added import
11+
912import { useLogout } from '../hooks/useLogout' ;
1013import { useAuthStatus } from '../hooks/useAuthStatus' ;
1114
@@ -25,19 +28,15 @@ const getGravatarUrl = (email: string, size = 32) => {
2528interface MainMenuConfigProps {
2629 MainMenu : typeof MainMenuType ;
2730 excalidrawAPI : ExcalidrawImperativeAPI | null ;
28- showPadsModal : boolean ;
29- setShowPadsModal : ( show : boolean ) => void ;
30- showSettingsModal ?: boolean ;
31- setShowSettingsModal ?: ( show : boolean ) => void ;
3231}
3332
3433export const MainMenuConfig : React . FC < MainMenuConfigProps > = ( {
3534 MainMenu,
3635 excalidrawAPI,
37- setShowPadsModal,
38- setShowSettingsModal = ( show : boolean ) => { } ,
3936} ) => {
4037 const [ showAccountModal , setShowAccountModal ] = useState ( false ) ;
38+ const [ showSettingsModal , setShowSettingsModal ] = useState ( false ) ;
39+
4140 const { mutate : logoutMutation , isPending : isLoggingOut } = useLogout ( ) ;
4241 const { user, isLoading, isError } = useAuthStatus ( ) ;
4342
@@ -132,13 +131,13 @@ export const MainMenuConfig: React.FC<MainMenuConfigProps> = ({
132131 } ) ;
133132 } ;
134133
135- const handleManagePadsClick = ( ) => {
136- setShowPadsModal ( true ) ;
137- } ;
138-
139134 const handleSettingsClick = ( ) => {
140135 setShowSettingsModal ( true ) ;
141136 } ;
137+
138+ const handleCloseSettingsModal = ( ) => { // Added handler to close settings modal
139+ setShowSettingsModal ( false ) ;
140+ } ;
142141
143142 const handleAccountClick = ( ) => {
144143 setShowAccountModal ( true ) ;
@@ -205,6 +204,12 @@ export const MainMenuConfig: React.FC<MainMenuConfigProps> = ({
205204 onClose = { ( ) => setShowAccountModal ( false ) }
206205 />
207206 ) }
207+ { showSettingsModal && ( // Added conditional rendering for SettingsDialog
208+ < SettingsDialog
209+ excalidrawAPI = { excalidrawAPI }
210+ onClose = { handleCloseSettingsModal }
211+ />
212+ ) }
208213 < MainMenu >
209214 < div className = "main-menu__top-row" >
210215 < span className = "main-menu__label" style = { { gap : 0.2 } } >
@@ -227,12 +232,6 @@ export const MainMenuConfig: React.FC<MainMenuConfigProps> = ({
227232 < MainMenu . DefaultItems . LoadScene />
228233 < MainMenu . DefaultItems . Export />
229234 < MainMenu . DefaultItems . SaveAsImage />
230- < MainMenu . Item
231- icon = { < FileText /> }
232- onClick = { handleManagePadsClick }
233- >
234- Manage pads...
235- </ MainMenu . Item >
236235 < MainMenu . DefaultItems . ClearCanvas />
237236 </ MainMenu . Group >
238237
0 commit comments