99import { useEffect , useState } from "react"
1010
1111// Custom Imports
12+ import resolveConfig from "tailwindcss/resolveConfig.js"
1213import SpotlightComponent from "../spotlight/spotlight.jsx"
1314import { CloseIcon , MaximizeIcon , MinimizeIcon } from "./icons.jsx"
1415import AdvancedMenu from "./menus/advanced.jsx"
1516import FileMenu from "./menus/file.jsx"
1617import ViewMenu from "./menus/view.jsx"
1718
18- // Redux
1919
20+ // Redux
2021import { useSelector } from "react-redux"
2122import { selectConnectedToDrone } from "../../redux/slices/droneConnectionSlice.js"
23+ import { Button , Group , Modal } from "@mantine/core"
24+
25+
26+ // Tailwind
27+ import tailwindConfig from "../../../tailwind.config.js"
28+ const tailwindColors = resolveConfig ( tailwindConfig ) . theme . colors
29+
30+
31+ function ConfirmExitModal ( ) {
32+
33+ return (
34+ < Modal
35+ opened = { false }
36+ onClose = { ( ) => {
37+ } }
38+ title = "Confirm Quit"
39+ centered
40+ overlayProps = { {
41+ backgroundOpacity : 0.55 ,
42+ blur : 3 ,
43+ } }
44+ styles = { {
45+ content : {
46+ borderRadius : "0.5rem" ,
47+ } ,
48+ } }
49+ withCloseButton = { true }
50+ >
51+
52+ < Group justify = "space-between" className = "pt-4" >
53+ < Button
54+ variant = "filled"
55+ color = { tailwindColors . red [ 600 ] }
56+ onClick = { ( ) => {
57+ } }
58+ >
59+ Close
60+ </ Button >
61+ < Button
62+ variant = "filled"
63+ type = "submit"
64+ color = { tailwindColors . green [ 600 ] }
65+ >
66+ Connect
67+ </ Button >
68+ </ Group >
69+
70+ </ Modal >
71+ )
72+ }
2273
2374
2475export default function Toolbar ( ) {
2576 const [ areMenusActive , setMenusActive ] = useState ( false )
2677 const [ isMac , setIsMac ] = useState ( false )
78+ const [ confirmModelOpen , setConfirmModelOpen ] = useState ( false )
2779
2880 const connectedToDrone = useSelector ( selectConnectedToDrone )
2981
@@ -35,10 +87,10 @@ export default function Toolbar() {
3587
3688 const onClose = ( ) => {
3789 if ( connectedToDrone ) {
38- console . log ( "ISSUING WARNING" ) ;
90+ setConfirmModelOpen ( true ) ;
3991 }
4092
41- window . ipcRenderer . send ( "window:close" , [ ] )
93+
4294 }
4395
4496 return (
@@ -124,6 +176,9 @@ export default function Toolbar() {
124176 </ div >
125177 ) }
126178 </ div >
179+
180+ < ConfirmExitModal > </ ConfirmExitModal >
181+
127182 </ >
128183 )
129184}
0 commit comments