@@ -30,6 +30,7 @@ export default function Sessions(props: SessionsProps) {
3030 const [ selectedItems , setSelectedItems ] = useState < Session [ ] > ( [ ] ) ;
3131 const [ preferences , setPreferences ] = useState ( { pageSize : 20 } ) ;
3232 const [ showModalDelete , setShowModalDelete ] = useState ( false ) ;
33+ const [ deleteAllSessions , setDeleteAllSessions ] = useState ( false ) ;
3334
3435 const { items, collectionProps, paginationProps } = useCollection ( sessions , {
3536 filtering : {
@@ -91,7 +92,6 @@ export default function Sessions(props: SessionsProps) {
9192
9293 const deleteUserSessions = async ( ) => {
9394 if ( ! appContext ) return ;
94- if ( ! confirm ( "Are you sure you want to delete all sessions?" ) ) return ;
9595
9696 setIsLoading ( true ) ;
9797 const apiClient = new ApiClient ( appContext ) ;
@@ -125,6 +125,29 @@ export default function Sessions(props: SessionsProps) {
125125 ? `session ${ selectedItems [ 0 ] . id } ?`
126126 : `${ selectedItems . length } sessions?` }
127127 </ Modal >
128+ < Modal
129+ onDismiss = { ( ) => setDeleteAllSessions ( false ) }
130+ visible = { deleteAllSessions }
131+ footer = {
132+ < Box float = "right" >
133+ < SpaceBetween direction = "horizontal" size = "xs" >
134+ { " " }
135+ < Button
136+ variant = "link"
137+ onClick = { ( ) => setDeleteAllSessions ( false ) }
138+ >
139+ Cancel
140+ </ Button >
141+ < Button variant = "primary" onClick = { deleteUserSessions } >
142+ Ok
143+ </ Button >
144+ </ SpaceBetween > { " " }
145+ </ Box >
146+ }
147+ header = { "Delete all sessions" }
148+ >
149+ { `Do you want to delete ${ sessions . length } sessions?` }
150+ </ Modal >
128151 < Table
129152 { ...collectionProps }
130153 variant = "full-page"
@@ -211,7 +234,7 @@ export default function Sessions(props: SessionsProps) {
211234 iconAlt = "Delete all sessions"
212235 iconName = "delete-marker"
213236 variant = "inline-link"
214- onClick = { ( ) => deleteUserSessions ( ) }
237+ onClick = { ( ) => setDeleteAllSessions ( true ) }
215238 >
216239 Delete all sessions
217240 </ Button >
0 commit comments