File tree Expand file tree Collapse file tree 3 files changed +60
-0
lines changed
Expand file tree Collapse file tree 3 files changed +60
-0
lines changed Original file line number Diff line number Diff line change 1+ function Backdrop ( props ) {
2+ return < div className = "backdrop" onClick = { props . onCancel } /> ;
3+ }
4+
5+ export default Backdrop ;
Original file line number Diff line number Diff line change 1+ function Model ( props ) {
2+ function cancelHandler ( ) {
3+ props . onCancel ( ) ;
4+ }
5+ function confirmHandler ( ) {
6+ props . onConfirm ( ) ;
7+ }
8+
9+ return (
10+ < div className = "modal" >
11+ < p > Are you sure?</ p >
12+ < button className = "btn btn--alt" onClick = { cancelHandler } >
13+ Cancel
14+ </ button >
15+ < button className = "btn" onClick = { confirmHandler } >
16+ Confirm
17+ </ button >
18+ </ div >
19+ ) ;
20+ }
21+
22+ export default Model ;
Original file line number Diff line number Diff line change 1+ import { useState } from "react" ;
2+
3+ import Backdrop from "./Backdrop" ;
4+ import Model from "./Model" ;
5+
6+ function Todo ( props ) {
7+ const [ modalIsOpen , setModalIsOpen ] = useState ( false ) ;
8+
9+ function deleteHandler ( ) {
10+ setModalIsOpen ( true ) ;
11+ }
12+
13+ function closeModalHandler ( ) {
14+ setModalIsOpen ( false ) ;
15+ }
16+
17+ return (
18+ < div className = "card" >
19+ < h2 > { props . text } </ h2 >
20+ < div className = "actions" >
21+ < button className = "btn" onClick = { deleteHandler } >
22+ Delete
23+ </ button >
24+ </ div >
25+ { modalIsOpen && (
26+ < Model onCancel = { closeModalHandler } onConfirm = { closeModalHandler } />
27+ ) }
28+ { modalIsOpen && < Backdrop onCancel = { closeModalHandler } /> }
29+ </ div >
30+ ) ;
31+ }
32+
33+ export default Todo ;
You can’t perform that action at this time.
0 commit comments