@@ -7,10 +7,12 @@ import {
7
7
Picker ,
8
8
Switch ,
9
9
Button ,
10
- Modal
10
+ Modal ,
11
+ Alert
11
12
} from "react-native" ;
12
13
import { Card } from "react-native-elements" ;
13
14
import DatePicker from "react-native-datepicker" ;
15
+ import * as Animatable from "react-native-animatable" ;
14
16
15
17
class Reservation extends Component {
16
18
constructor ( props ) {
@@ -34,7 +36,28 @@ class Reservation extends Component {
34
36
35
37
handleReservation ( ) {
36
38
console . log ( JSON . stringify ( this . state ) ) ;
37
- this . toggleModal ( ) ;
39
+ // this.toggleModal();
40
+ const { date, guests, smoking } = this . state ;
41
+
42
+ Alert . alert (
43
+ "Your Reservation OK?" ,
44
+ `Number of guests: ${ guests } \nSmoking? ${
45
+ smoking ? "Yes" : "No"
46
+ } \nDate and Time:${ date } `,
47
+ [
48
+ {
49
+ text : "Cancel" ,
50
+ style : "cancel" ,
51
+ onPress : ( ) => this . resetForm ( )
52
+ } ,
53
+ {
54
+ text : "OK" ,
55
+ // eslint-disable-next-line no-confusing-arrow, no-console
56
+ onPress : ( ) => this . resetForm ( )
57
+ }
58
+ ] ,
59
+ { cancelable : false }
60
+ ) ;
38
61
}
39
62
40
63
resetForm ( ) {
@@ -48,70 +71,71 @@ class Reservation extends Component {
48
71
49
72
render ( ) {
50
73
return (
51
- < ScrollView >
52
- < View style = { styles . formRow } >
53
- < Text style = { styles . formLabel } > Number of Guests</ Text >
54
- < Picker
55
- style = { styles . formItem }
56
- selectedValue = { this . state . guests }
57
- onValueChange = { ( itemValue , itemIndex ) =>
58
- this . setState ( { guests : itemValue } )
59
- }
60
- >
61
- < Picker . Item label = "1" value = "1" />
62
- < Picker . Item label = "2" value = "2" />
63
- < Picker . Item label = "3" value = "3" />
64
- < Picker . Item label = "4" value = "4" />
65
- < Picker . Item label = "5" value = "5" />
66
- < Picker . Item label = "6" value = "6" />
67
- </ Picker >
68
- </ View >
69
- < View style = { styles . formRow } >
70
- < Text style = { styles . formLabel } > Smoking/Non-Smoking?</ Text >
71
- < Switch
72
- style = { styles . formItem }
73
- value = { this . state . smoking }
74
- onTintColor = "#512DA8"
75
- onValueChange = { value => this . setState ( { smoking : value } ) }
76
- > </ Switch >
77
- </ View >
78
- < View style = { styles . formRow } >
79
- < Text style = { styles . formLabel } > Date and Time</ Text >
80
- < DatePicker
81
- style = { { flex : 2 , marginRight : 20 } }
82
- date = { this . state . date }
83
- format = ""
84
- mode = "datetime"
85
- placeholder = "select date and Time"
86
- minDate = "2017-01-01"
87
- confirmBtnText = "Confirm"
88
- cancelBtnText = "Cancel"
89
- customStyles = { {
90
- dateIcon : {
91
- position : "absolute" ,
92
- left : 0 ,
93
- top : 4 ,
94
- marginLeft : 0
95
- } ,
96
- dateInput : {
97
- marginLeft : 36
74
+ < Animatable . View animation = "zoomIn" duration = { 2000 } >
75
+ < ScrollView >
76
+ < View style = { styles . formRow } >
77
+ < Text style = { styles . formLabel } > Number of Guests</ Text >
78
+ < Picker
79
+ style = { styles . formItem }
80
+ selectedValue = { this . state . guests }
81
+ onValueChange = { ( itemValue , itemIndex ) =>
82
+ this . setState ( { guests : itemValue } )
98
83
}
99
- // ... You can check the source to find the other keys.
100
- } }
101
- onDateChange = { date => {
102
- this . setState ( { date : date } ) ;
103
- } }
104
- />
105
- </ View >
106
- < View style = { styles . formRow } >
107
- < Button
108
- onPress = { ( ) => this . handleReservation ( ) }
109
- title = "Reserve"
110
- color = "#512DA8"
111
- accessibilityLabel = "Learn more about this purple button"
112
- />
113
- </ View >
114
- < Modal
84
+ >
85
+ < Picker . Item label = "1" value = "1" />
86
+ < Picker . Item label = "2" value = "2" />
87
+ < Picker . Item label = "3" value = "3" />
88
+ < Picker . Item label = "4" value = "4" />
89
+ < Picker . Item label = "5" value = "5" />
90
+ < Picker . Item label = "6" value = "6" />
91
+ </ Picker >
92
+ </ View >
93
+ < View style = { styles . formRow } >
94
+ < Text style = { styles . formLabel } > Smoking/Non-Smoking?</ Text >
95
+ < Switch
96
+ style = { styles . formItem }
97
+ value = { this . state . smoking }
98
+ onTintColor = "#512DA8"
99
+ onValueChange = { value => this . setState ( { smoking : value } ) }
100
+ > </ Switch >
101
+ </ View >
102
+ < View style = { styles . formRow } >
103
+ < Text style = { styles . formLabel } > Date and Time</ Text >
104
+ < DatePicker
105
+ style = { { flex : 2 , marginRight : 20 } }
106
+ date = { this . state . date }
107
+ format = ""
108
+ mode = "datetime"
109
+ placeholder = "select date and Time"
110
+ minDate = "2017-01-01"
111
+ confirmBtnText = "Confirm"
112
+ cancelBtnText = "Cancel"
113
+ customStyles = { {
114
+ dateIcon : {
115
+ position : "absolute" ,
116
+ left : 0 ,
117
+ top : 4 ,
118
+ marginLeft : 0
119
+ } ,
120
+ dateInput : {
121
+ marginLeft : 36
122
+ }
123
+ // ... You can check the source to find the other keys.
124
+ } }
125
+ onDateChange = { date => {
126
+ this . setState ( { date : date } ) ;
127
+ } }
128
+ />
129
+ </ View >
130
+ < View style = { styles . formRow } >
131
+ < Button
132
+ onPress = { ( ) => this . handleReservation ( ) }
133
+ title = "Reserve"
134
+ color = "#512DA8"
135
+ accessibilityLabel = "Learn more about this purple button"
136
+ />
137
+ </ View >
138
+ { /* <Modal
115
139
animationType={"slide"}
116
140
transparent={false}
117
141
visible={this.state.showModal}
@@ -144,8 +168,9 @@ class Reservation extends Component {
144
168
title="Close"
145
169
/>
146
170
</View>
147
- </ Modal >
148
- </ ScrollView >
171
+ </Modal> */ }
172
+ </ ScrollView >
173
+ </ Animatable . View >
149
174
) ;
150
175
}
151
176
}
0 commit comments