@@ -53,7 +53,8 @@ export const LoginWidget = () => {
53
53
login : name ,
54
54
password : sign ,
55
55
} ) ;
56
- } , [ node , name , handleSignature ] ) ;
56
+ setAuth ( name ) ;
57
+ } , [ node , name , handleSignature , setAuth ] ) ;
57
58
58
59
const handleAdminLogin = useCallback ( async ( ) => {
59
60
if ( ! node ) {
@@ -64,7 +65,8 @@ export const LoginWidget = () => {
64
65
login : name ,
65
66
password : await handleSignature ( ) ,
66
67
} ) ;
67
- } , [ node , name , handleSignature ] ) ;
68
+ setAuth ( name ) ;
69
+ } , [ node , name , setAuth , handleSignature ] ) ;
68
70
69
71
const handleLogout = useCallback ( async ( ) => {
70
72
try {
@@ -83,6 +85,23 @@ export const LoginWidget = () => {
83
85
}
84
86
} , [ node , resetAuth ] ) ;
85
87
88
+ const handleDelete = useCallback ( async ( ) => {
89
+ try {
90
+ setError ( undefined ) ;
91
+ setMessage ( undefined ) ;
92
+
93
+ if ( ! node ) {
94
+ throw new Error ( 'Not connected to the Node' ) ;
95
+ }
96
+
97
+ await node . user . delete . mutate ( ) ;
98
+ resetAuth ( ) ;
99
+ } catch ( error ) {
100
+ console . log ( error ) ;
101
+ setError ( ( error as Error ) . message || 'Unknown user delete error' ) ;
102
+ }
103
+ } , [ node , resetAuth ] ) ;
104
+
86
105
const handleAdminAction = useCallback ( async ( ) => {
87
106
try {
88
107
setError ( undefined ) ;
@@ -97,11 +116,9 @@ export const LoginWidget = () => {
97
116
await handleAdminRegister ( ) ;
98
117
setAdminAction ( 'login' ) ;
99
118
setMessage ( `Admin "${ name } " successfully registered. Please log in.` ) ;
100
- setAuth ( name ) ;
101
119
break ;
102
120
case 'login' :
103
121
await handleAdminLogin ( ) ;
104
- setAuth ( name ) ;
105
122
break ;
106
123
default :
107
124
throw new Error ( 'Unknown admin action' ) ;
@@ -110,7 +127,7 @@ export const LoginWidget = () => {
110
127
console . log ( error ) ;
111
128
setError ( ( error as Error ) . message || 'Unknown login error' ) ;
112
129
}
113
- } , [ node , adminAction , name , handleAdminRegister , setAuth , handleAdminLogin ] ) ;
130
+ } , [ node , adminAction , name , handleAdminRegister , handleAdminLogin ] ) ;
114
131
115
132
return (
116
133
< >
@@ -170,6 +187,14 @@ export const LoginWidget = () => {
170
187
</ form >
171
188
</ div >
172
189
) }
190
+ { isAuth &&
191
+ < div >
192
+ < div > Delete user</ div >
193
+ < div >
194
+ < button onClick = { handleDelete } > Delete</ button >
195
+ </ div >
196
+ </ div >
197
+ }
173
198
</ TabPanel >
174
199
< TabPanel id = { 1 } activeTab = { selectedTab } >
175
200
{ ! isConnected && < div > Please connect your wallet first</ div > }
@@ -210,6 +235,14 @@ export const LoginWidget = () => {
210
235
</ div >
211
236
</ div >
212
237
) }
238
+ { isAuth &&
239
+ < div >
240
+ < div > Delete user</ div >
241
+ < div >
242
+ < button onClick = { handleDelete } > Delete</ button >
243
+ </ div >
244
+ </ div >
245
+ }
213
246
</ TabPanel >
214
247
215
248
{ message && < div style = { { marginTop : 20 } } > ✅ { message } </ div > }
0 commit comments