@@ -7,9 +7,11 @@ import styles from './SettingsModal.module.css';
7
7
import { X } from 'lucide-react' ;
8
8
import ResetAllModal from './ResetAllModal' ;
9
9
import UpdateConfirmModal from './UpdateConfirmModal' ;
10
+ import WalletWarningModal from './WalletWarningModal' ;
10
11
11
12
const SettingsModal = ( { onResetComplete } ) => {
12
13
const [ showResetModal , setShowResetModal ] = useState ( false ) ;
14
+ const [ showWalletWarning , setShowWalletWarning ] = useState ( false ) ;
13
15
const [ updateStatus , setUpdateStatus ] = useState ( null ) ;
14
16
const [ isCheckingUpdates , setIsCheckingUpdates ] = useState ( false ) ;
15
17
const [ availableUpdates , setAvailableUpdates ] = useState ( [ ] ) ;
@@ -19,6 +21,12 @@ const SettingsModal = ({ onResetComplete }) => {
19
21
const { showQuotes } = useSelector ( ( state ) => state . settings ) ;
20
22
const { isDarkMode, toggleTheme } = useTheme ( ) ;
21
23
const handleClose = ( ) => {
24
+ setShowResetModal ( false ) ;
25
+ setShowWalletWarning ( false ) ;
26
+ setUpdateStatus ( null ) ;
27
+ setIsCheckingUpdates ( false ) ;
28
+ setAvailableUpdates ( [ ] ) ;
29
+ setShowUpdateConfirm ( false ) ;
22
30
dispatch ( hideSettingsModal ( ) ) ;
23
31
} ;
24
32
@@ -64,7 +72,10 @@ const SettingsModal = ({ onResetComplete }) => {
64
72
if ( ! isVisible ) return null ;
65
73
66
74
return (
67
- < div className = { styles . modalOverlay } onClick = { handleOverlayClick } >
75
+ < div
76
+ className = { `${ styles . modalOverlay } ${ isDarkMode ? styles . dark : styles . light } ` }
77
+ onClick = { handleOverlayClick }
78
+ >
68
79
< div className = { styles . modalContent } >
69
80
< div className = { styles . modalHeader } >
70
81
< h2 className = { styles . modalTitle } > Settings</ h2 >
@@ -104,16 +115,7 @@ const SettingsModal = ({ onResetComplete }) => {
104
115
< span className = { styles . settingLabel } > Master Wallet Directory</ span >
105
116
< button
106
117
className = { styles . updateButton }
107
- onClick = { async ( ) => {
108
- try {
109
- const result = await window . electronAPI . invoke ( 'open-wallet-starters-dir' ) ;
110
- if ( ! result . success ) {
111
- throw new Error ( result . error ) ;
112
- }
113
- } catch ( error ) {
114
- console . error ( 'Error opening master wallet directory:' , error ) ;
115
- }
116
- } }
118
+ onClick = { ( ) => setShowWalletWarning ( true ) }
117
119
>
118
120
Open
119
121
</ button >
@@ -164,9 +166,11 @@ const SettingsModal = ({ onResetComplete }) => {
164
166
) }
165
167
</ div >
166
168
167
- < button className = { styles . resetButton } onClick = { handleReset } >
168
- Reset Everything
169
- </ button >
169
+ < div className = { styles . buttonContainer } >
170
+ < button className = { styles . resetButton } onClick = { handleReset } >
171
+ Reset Everything
172
+ </ button >
173
+ </ div >
170
174
</ div >
171
175
{ showResetModal && (
172
176
< ResetAllModal
@@ -203,6 +207,23 @@ const SettingsModal = ({ onResetComplete }) => {
203
207
onClose = { ( ) => setShowUpdateConfirm ( false ) }
204
208
/>
205
209
) }
210
+ { showWalletWarning && (
211
+ < WalletWarningModal
212
+ onConfirm = { async ( ) => {
213
+ try {
214
+ const result = await window . electronAPI . invoke ( 'open-wallet-starters-dir' ) ;
215
+ if ( ! result . success ) {
216
+ throw new Error ( result . error ) ;
217
+ }
218
+ } catch ( error ) {
219
+ console . error ( 'Error opening master wallet directory:' , error ) ;
220
+ } finally {
221
+ setShowWalletWarning ( false ) ;
222
+ }
223
+ } }
224
+ onClose = { ( ) => setShowWalletWarning ( false ) }
225
+ />
226
+ ) }
206
227
</ div >
207
228
) ;
208
229
} ;
0 commit comments