“Hojin

add listview

1 -import React, { Component } from 'react'; 1 +import React, { Component } from "react";
2 -import { StyleSheet, Text, View } from 'react-native'; 2 +import { StyleSheet, Text, View } from "react-native";
3 -import { createAppContainer } from 'react-navigation'; 3 +import { createAppContainer } from "react-navigation";
4 -import { createStackNavigator } from 'react-navigation-stack'; 4 +import { createStackNavigator } from "react-navigation-stack";
5 -import MainScreen from './Components/MainScreen'; 5 +import MainScreen from "./Components/MainScreen";
6 +// import MovieInfo from "./Components/MovieInfo";
6 7
7 const AppStackNavigator = createStackNavigator({ 8 const AppStackNavigator = createStackNavigator({
8 - Main:{ 9 + Main: {
9 screen: MainScreen // MainScreen 컴포넌트를 네비게이터에 등록 10 screen: MainScreen // MainScreen 컴포넌트를 네비게이터에 등록
10 } 11 }
11 }); 12 });
12 13
13 -export default createAppContainer(AppStackNavigator);
...\ No newline at end of file ...\ No newline at end of file
14 +export default createAppContainer(AppStackNavigator);
......
...@@ -7,9 +7,7 @@ import { ...@@ -7,9 +7,7 @@ import {
7 SafeAreaView, 7 SafeAreaView,
8 ScrollView, 8 ScrollView,
9 Alert, 9 Alert,
10 - TouchableOpacity, 10 + TouchableOpacity
11 - TouchableHighlight,
12 - TouchableWithoutFeedback
13 } from "react-native"; 11 } from "react-native";
14 import { Icon } from "native-base"; 12 import { Icon } from "native-base";
15 import { AsyncStorage } from "react-native"; 13 import { AsyncStorage } from "react-native";
...@@ -42,7 +40,9 @@ export default class MovieRankingTab extends Component { ...@@ -42,7 +40,9 @@ export default class MovieRankingTab extends Component {
42 imgur6: [], 40 imgur6: [],
43 imgur7: [], 41 imgur7: [],
44 imgur8: [], 42 imgur8: [],
45 - imgur9: [] 43 + imgur9: [],
44 + overview0: [],
45 + overview1: []
46 }; 46 };
47 static navigationOptions = { 47 static navigationOptions = {
48 tabBarIcon: ({ tintColor }) => ( 48 tabBarIcon: ({ tintColor }) => (
...@@ -55,191 +55,110 @@ export default class MovieRankingTab extends Component { ...@@ -55,191 +55,110 @@ export default class MovieRankingTab extends Component {
55 .get( 55 .get(
56 `http://www.kobis.or.kr/kobisopenapi/webservice/rest/boxoffice/searchDailyBoxOfficeList.json?key=${API_KEY}&targetDt=${date}` 56 `http://www.kobis.or.kr/kobisopenapi/webservice/rest/boxoffice/searchDailyBoxOfficeList.json?key=${API_KEY}&targetDt=${date}`
57 ) 57 )
58 - .then( 58 + .then(response => {
59 - response => { 59 + this.setState({
60 - this.setState({ 60 + name0: response.data.boxOfficeResult.dailyBoxOfficeList[0].movieNm,
61 - name0: response.data.boxOfficeResult.dailyBoxOfficeList[0].movieNm, 61 + name1: response.data.boxOfficeResult.dailyBoxOfficeList[1].movieNm,
62 - name1: response.data.boxOfficeResult.dailyBoxOfficeList[1].movieNm, 62 + name2: response.data.boxOfficeResult.dailyBoxOfficeList[2].movieNm,
63 - name2: response.data.boxOfficeResult.dailyBoxOfficeList[2].movieNm, 63 + name3: response.data.boxOfficeResult.dailyBoxOfficeList[3].movieNm,
64 - name3: response.data.boxOfficeResult.dailyBoxOfficeList[3].movieNm, 64 + name4: response.data.boxOfficeResult.dailyBoxOfficeList[4].movieNm,
65 - name4: response.data.boxOfficeResult.dailyBoxOfficeList[4].movieNm, 65 + name5: response.data.boxOfficeResult.dailyBoxOfficeList[5].movieNm,
66 - name5: response.data.boxOfficeResult.dailyBoxOfficeList[5].movieNm, 66 + name6: response.data.boxOfficeResult.dailyBoxOfficeList[6].movieNm,
67 - name6: response.data.boxOfficeResult.dailyBoxOfficeList[6].movieNm, 67 + name7: response.data.boxOfficeResult.dailyBoxOfficeList[7].movieNm,
68 - name7: response.data.boxOfficeResult.dailyBoxOfficeList[7].movieNm, 68 + name8: response.data.boxOfficeResult.dailyBoxOfficeList[8].movieNm,
69 - name8: response.data.boxOfficeResult.dailyBoxOfficeList[8].movieNm, 69 + name9: response.data.boxOfficeResult.dailyBoxOfficeList[9].movieNm,
70 - name9: response.data.boxOfficeResult.dailyBoxOfficeList[9].movieNm, 70 + info: response.data.boxOfficeResult.dailyBoxOfficeList
71 - info: response.data.boxOfficeResult.dailyBoxOfficeList 71 + });
72 - });
73 72
74 - name = response.data.boxOfficeResult.dailyBoxOfficeList[0].movieNm; 73 + name = response.data.boxOfficeResult.dailyBoxOfficeList[0].movieNm;
75 - fetch( 74 + axios
76 - `https://openapi.naver.com/v1/search/movie.json?query='${name}'`, 75 + .get(
77 - { 76 + `https://api.themoviedb.org/3/search/movie?api_key=840724c8aa8b3b7c4ab68db53310cc9f&query=${name}&language=ko-KR&page=1`
78 - headers: {
79 - "X-Naver-Client-Id": NAVER_CLIENT_ID,
80 - "X-Naver-Client-Secret": NAVER_CLIENT_SECRET
81 - }
82 - }
83 ) 77 )
84 - .then(response => response.json()) 78 + .then(response => {
85 - .then(json => { 79 + this.setState({
86 - this.setState({ 80 + imgurl0: response.data.results[0].poster_path,
87 - imgurl0: json.items[0].image 81 + overview0: response.data.results[0].overview
88 - });
89 }); 82 });
90 - name = response.data.boxOfficeResult.dailyBoxOfficeList[1].movieNm; 83 + });
91 - fetch( 84 +
92 - `https://openapi.naver.com/v1/search/movie.json?query='${name}'`, 85 + name = response.data.boxOfficeResult.dailyBoxOfficeList[1].movieNm;
93 - { 86 + axios
94 - headers: { 87 + .get(
95 - "X-Naver-Client-Id": NAVER_CLIENT_ID, 88 + `https://api.themoviedb.org/3/search/movie?api_key=840724c8aa8b3b7c4ab68db53310cc9f&query=${name}&language=ko-KR&page=1`
96 - "X-Naver-Client-Secret": NAVER_CLIENT_SECRET
97 - }
98 - }
99 ) 89 )
100 - .then(response => response.json()) 90 + .then(response => {
101 - .then(json => { 91 + this.setState({
102 - this.setState({ 92 + imgurl1: response.data.results[0].poster_path,
103 - imgurl1: json.items[0].image 93 + overview1: response.data.results[0].overview
104 - });
105 }); 94 });
106 - name = response.data.boxOfficeResult.dailyBoxOfficeList[2].movieNm; 95 + });
107 - fetch( 96 +
108 - `https://openapi.naver.com/v1/search/movie.json?query='${name}'`, 97 + name = response.data.boxOfficeResult.dailyBoxOfficeList[2].movieNm;
109 - { 98 + axios
110 - headers: { 99 + .get(
111 - "X-Naver-Client-Id": NAVER_CLIENT_ID, 100 + `https://api.themoviedb.org/3/search/movie?api_key=840724c8aa8b3b7c4ab68db53310cc9f&query=${name}&language=ko-KR&page=1`
112 - "X-Naver-Client-Secret": NAVER_CLIENT_SECRET
113 - }
114 - }
115 ) 101 )
116 - .then(response => response.json()) 102 + .then(response => {
117 - .then(json => { 103 + this.setState({ imgurl2: response.data.results[0].poster_path });
118 - this.setState({ 104 + });
119 - imgurl2: json.items[0].image 105 + name = response.data.boxOfficeResult.dailyBoxOfficeList[3].movieNm;
120 - }); 106 + axios
121 - }); 107 + .get(
122 - name = response.data.boxOfficeResult.dailyBoxOfficeList[3].movieNm; 108 + `https://api.themoviedb.org/3/search/movie?api_key=840724c8aa8b3b7c4ab68db53310cc9f&query=${name}&language=ko-KR&page=1`
123 - fetch(
124 - `https://openapi.naver.com/v1/search/movie.json?query='${name}'`,
125 - {
126 - headers: {
127 - "X-Naver-Client-Id": NAVER_CLIENT_ID,
128 - "X-Naver-Client-Secret": NAVER_CLIENT_SECRET
129 - }
130 - }
131 ) 109 )
132 - .then(response => response.json()) 110 + .then(response => {
133 - .then(json => { 111 + this.setState({ imgurl3: response.data.results[0].poster_path });
134 - this.setState({ 112 + });
135 - imgurl3: json.items[0].image 113 + name = response.data.boxOfficeResult.dailyBoxOfficeList[4].movieNm;
136 - }); 114 + axios
137 - }); 115 + .get(
138 - name = response.data.boxOfficeResult.dailyBoxOfficeList[4].movieNm; 116 + `https://api.themoviedb.org/3/search/movie?api_key=840724c8aa8b3b7c4ab68db53310cc9f&query=${name}&language=ko-KR&page=1`
139 - fetch(
140 - `https://openapi.naver.com/v1/search/movie.json?query='${name}'`,
141 - {
142 - headers: {
143 - "X-Naver-Client-Id": NAVER_CLIENT_ID,
144 - "X-Naver-Client-Secret": NAVER_CLIENT_SECRET
145 - }
146 - }
147 ) 117 )
148 - .then(response => response.json()) 118 + .then(response => {
149 - .then(json => { 119 + this.setState({ imgurl4: response.data.results[0].poster_path });
150 - this.setState({ 120 + });
151 - imgurl4: json.items[0].image 121 + name = response.data.boxOfficeResult.dailyBoxOfficeList[5].movieNm;
152 - }); 122 + axios
153 - }); 123 + .get(
154 - name = response.data.boxOfficeResult.dailyBoxOfficeList[5].movieNm; 124 + `https://api.themoviedb.org/3/search/movie?api_key=840724c8aa8b3b7c4ab68db53310cc9f&query=${name}&language=ko-KR&page=1`
155 - fetch(
156 - `https://openapi.naver.com/v1/search/movie.json?query='${name}'`,
157 - {
158 - headers: {
159 - "X-Naver-Client-Id": NAVER_CLIENT_ID,
160 - "X-Naver-Client-Secret": NAVER_CLIENT_SECRET
161 - }
162 - }
163 ) 125 )
164 - .then(response => response.json()) 126 + .then(response => {
165 - .then(json => { 127 + this.setState({ imgurl5: response.data.results[0].poster_path });
166 - this.setState({ 128 + });
167 - imgurl5: json.items[0].image 129 + name = response.data.boxOfficeResult.dailyBoxOfficeList[6].movieNm;
168 - }); 130 + axios
169 - }); 131 + .get(
170 - name = response.data.boxOfficeResult.dailyBoxOfficeList[6].movieNm; 132 + `https://api.themoviedb.org/3/search/movie?api_key=840724c8aa8b3b7c4ab68db53310cc9f&query=${name}&language=ko-KR&page=1`
171 - fetch(
172 - `https://openapi.naver.com/v1/search/movie.json?query='${name}'`,
173 - {
174 - headers: {
175 - "X-Naver-Client-Id": NAVER_CLIENT_ID,
176 - "X-Naver-Client-Secret": NAVER_CLIENT_SECRET
177 - }
178 - }
179 ) 133 )
180 - .then(response => response.json()) 134 + .then(response => {
181 - .then(json => { 135 + this.setState({ imgurl6: response.data.results[0].poster_path });
182 - this.setState({ 136 + });
183 - imgurl6: json.items[0].image 137 + name = response.data.boxOfficeResult.dailyBoxOfficeList[7].movieNm;
184 - }); 138 + axios
185 - }); 139 + .get(
186 - name = response.data.boxOfficeResult.dailyBoxOfficeList[7].movieNm; 140 + `https://api.themoviedb.org/3/search/movie?api_key=840724c8aa8b3b7c4ab68db53310cc9f&query=${name}&language=ko-KR&page=1`
187 - fetch(
188 - `https://openapi.naver.com/v1/search/movie.json?query='${name}'`,
189 - {
190 - headers: {
191 - "X-Naver-Client-Id": NAVER_CLIENT_ID,
192 - "X-Naver-Client-Secret": NAVER_CLIENT_SECRET
193 - }
194 - }
195 ) 141 )
196 - .then(response => response.json()) 142 + .then(response => {
197 - .then(json => { 143 + this.setState({ imgurl7: response.data.results[0].poster_path });
198 - this.setState({ 144 + });
199 - imgurl7: json.items[0].image 145 + name = response.data.boxOfficeResult.dailyBoxOfficeList[8].movieNm;
200 - }); 146 + axios
201 - }); 147 + .get(
202 - name = response.data.boxOfficeResult.dailyBoxOfficeList[8].movieNm; 148 + `https://api.themoviedb.org/3/search/movie?api_key=840724c8aa8b3b7c4ab68db53310cc9f&query=${name}&language=ko-KR&page=1`
203 - fetch(
204 - `https://openapi.naver.com/v1/search/movie.json?query='${name}'`,
205 - {
206 - headers: {
207 - "X-Naver-Client-Id": NAVER_CLIENT_ID,
208 - "X-Naver-Client-Secret": NAVER_CLIENT_SECRET
209 - }
210 - }
211 ) 149 )
212 - .then(response => response.json()) 150 + .then(response => {
213 - .then(json => { 151 + this.setState({ imgurl8: response.data.results[0].poster_path });
214 - this.setState({ 152 + });
215 - imgurl8: json.items[0].image 153 + name = response.data.boxOfficeResult.dailyBoxOfficeList[9].movieNm;
216 - }); 154 + axios
217 - }); 155 + .get(
218 - name = response.data.boxOfficeResult.dailyBoxOfficeList[9].movieNm; 156 + `https://api.themoviedb.org/3/search/movie?api_key=840724c8aa8b3b7c4ab68db53310cc9f&query=${name}&language=ko-KR&page=1`
219 - fetch(
220 - `https://openapi.naver.com/v1/search/movie.json?query='${name}'`,
221 - {
222 - headers: {
223 - "X-Naver-Client-Id": NAVER_CLIENT_ID,
224 - "X-Naver-Client-Secret": NAVER_CLIENT_SECRET
225 - }
226 - }
227 ) 157 )
228 - .then(response => response.json()) 158 + .then(response => {
229 - .then(json => { 159 + this.setState({ imgurl9: response.data.results[0].poster_path });
230 - this.setState({ 160 + });
231 - imgurl9: json.items[0].image 161 + })
232 - });
233 - });
234 - }
235 - // {
236 - // for (var i = 0; i < 10; i++) {
237 - // console.log(
238 - // response.data.boxOfficeResult.dailyBoxOfficeList[i].movieNm
239 - // );
240 - // }
241 - // }
242 - )
243 .catch(error => { 162 .catch(error => {
244 console.log(error); 163 console.log(error);
245 }); 164 });
...@@ -256,50 +175,77 @@ export default class MovieRankingTab extends Component { ...@@ -256,50 +175,77 @@ export default class MovieRankingTab extends Component {
256 var date = year + "" + month + day; 175 var date = year + "" + month + day;
257 this.getMovieList(date); 176 this.getMovieList(date);
258 } 177 }
259 - 178 + _onPressButton(temp) {
260 - _onPressButton = () => { 179 + Alert.alert(temp);
261 - Alert.alert("image pressed the car"); 180 + }
262 - };
263 render() { 181 render() {
264 return ( 182 return (
265 <SafeAreaView style={style.container}> 183 <SafeAreaView style={style.container}>
266 <ScrollView style={style.scrollView}> 184 <ScrollView style={style.scrollView}>
267 - <Text style={style.title}>MovieRanking</Text>
268 <View style={style.lowContainer}> 185 <View style={style.lowContainer}>
269 - <TouchableOpacity onPress={this._onPressButton}> 186 + <View style={style.leftContainer}>
270 - <View> 187 + <TouchableOpacity
188 + onPress={this._onPressButton.bind(this, `${this.state.name0}`)}
189 + >
271 <Image 190 <Image
272 style={style.poster} 191 style={style.poster}
273 - source={{ uri: `${this.state.imgurl0}` }} 192 + source={{
193 + uri: `https://image.tmdb.org/t/p/original/${this.state.imgurl0}`
194 + }}
274 /> 195 />
275 - <Text>{this.state.name0}</Text> 196 + </TouchableOpacity>
197 + </View>
198 + <View style={style.rightContainer}>
199 + <View style={style.rightUpContainer}>
200 + <Text style={style.name}>{this.state.name0}</Text>
276 </View> 201 </View>
277 - </TouchableOpacity> 202 + <View style={style.rightDownContainer}>
278 - <TouchableOpacity 203 + <Text>
279 - style={style.button} 204 + {this.state.overview0.length < 60
280 - onPress={this._onPressButton} 205 + ? `${this.state.overview0}`
281 - > 206 + : `${this.state.overview0.substring(0, 57)}...`}
282 - <View> 207 + </Text>
208 + </View>
209 + </View>
210 + </View>
211 + <View style={style.lowContainer}>
212 + <View style={style.leftContainer}>
213 + <TouchableOpacity
214 + onPress={this._onPressButton.bind(this, `${this.state.name1}`)}
215 + >
283 <Image 216 <Image
284 style={style.poster} 217 style={style.poster}
285 - source={{ uri: `${this.state.imgurl1}` }} 218 + source={{
219 + uri: `https://image.tmdb.org/t/p/original/${this.state.imgurl1}`
220 + }}
286 /> 221 />
287 - <Text>{this.state.name1}</Text> 222 + </TouchableOpacity>
223 + </View>
224 + <View style={style.rightContainer}>
225 + <View style={style.rightUpContainer}>
226 + <Text style={style.name}>{this.state.name1}</Text>
288 </View> 227 </View>
289 - </TouchableOpacity> 228 + <View style={style.rightDownContainer}>
229 + <Text style={style.overview}>{this.state.overview1}</Text>
230 + </View>
231 + </View>
290 </View> 232 </View>
291 - <View style={style.lowContainer}> 233 + {/* <View style={style.lowContainer}>
292 <View style={style.halfContainer}> 234 <View style={style.halfContainer}>
293 <Image 235 <Image
294 style={style.poster} 236 style={style.poster}
295 - source={{ uri: `${this.state.imgurl2}` }} 237 + source={{
238 + uri: `https://image.tmdb.org/t/p/original/${this.state.imgurl2}`
239 + }}
296 /> 240 />
297 <Text>{this.state.name2}</Text> 241 <Text>{this.state.name2}</Text>
298 </View> 242 </View>
299 <View style={style.halfContainer}> 243 <View style={style.halfContainer}>
300 <Image 244 <Image
301 style={style.poster} 245 style={style.poster}
302 - source={{ uri: `${this.state.imgurl3}` }} 246 + source={{
247 + uri: `https://image.tmdb.org/t/p/original/${this.state.imgurl3}`
248 + }}
303 /> 249 />
304 <Text>{this.state.name3}</Text> 250 <Text>{this.state.name3}</Text>
305 </View> 251 </View>
...@@ -308,14 +254,18 @@ export default class MovieRankingTab extends Component { ...@@ -308,14 +254,18 @@ export default class MovieRankingTab extends Component {
308 <View style={style.halfContainer}> 254 <View style={style.halfContainer}>
309 <Image 255 <Image
310 style={style.poster} 256 style={style.poster}
311 - source={{ uri: `${this.state.imgurl4}` }} 257 + source={{
258 + uri: `https://image.tmdb.org/t/p/original/${this.state.imgurl4}`
259 + }}
312 /> 260 />
313 <Text>{this.state.name4}</Text> 261 <Text>{this.state.name4}</Text>
314 </View> 262 </View>
315 <View style={style.halfContainer}> 263 <View style={style.halfContainer}>
316 <Image 264 <Image
317 style={style.poster} 265 style={style.poster}
318 - source={{ uri: `${this.state.imgurl5}` }} 266 + source={{
267 + uri: `https://image.tmdb.org/t/p/original/${this.state.imgurl5}`
268 + }}
319 /> 269 />
320 <Text>{this.state.name5}</Text> 270 <Text>{this.state.name5}</Text>
321 </View> 271 </View>
...@@ -324,14 +274,18 @@ export default class MovieRankingTab extends Component { ...@@ -324,14 +274,18 @@ export default class MovieRankingTab extends Component {
324 <View style={style.halfContainer}> 274 <View style={style.halfContainer}>
325 <Image 275 <Image
326 style={style.poster} 276 style={style.poster}
327 - source={{ uri: `${this.state.imgurl6}` }} 277 + source={{
278 + uri: `https://image.tmdb.org/t/p/original/${this.state.imgurl6}`
279 + }}
328 /> 280 />
329 <Text>{this.state.name6}</Text> 281 <Text>{this.state.name6}</Text>
330 </View> 282 </View>
331 <View style={style.halfContainer}> 283 <View style={style.halfContainer}>
332 <Image 284 <Image
333 style={style.poster} 285 style={style.poster}
334 - source={{ uri: `${this.state.imgurl7}` }} 286 + source={{
287 + uri: `https://image.tmdb.org/t/p/original/${this.state.imgurl7}`
288 + }}
335 /> 289 />
336 <Text>{this.state.name7}</Text> 290 <Text>{this.state.name7}</Text>
337 </View> 291 </View>
...@@ -340,24 +294,27 @@ export default class MovieRankingTab extends Component { ...@@ -340,24 +294,27 @@ export default class MovieRankingTab extends Component {
340 <View style={style.halfContainer}> 294 <View style={style.halfContainer}>
341 <Image 295 <Image
342 style={style.poster} 296 style={style.poster}
343 - source={{ uri: `${this.state.imgurl8}` }} 297 + source={{
298 + uri: `https://image.tmdb.org/t/p/original/${this.state.imgurl8}`
299 + }}
344 /> 300 />
345 <Text>{this.state.name8}</Text> 301 <Text>{this.state.name8}</Text>
346 </View> 302 </View>
347 <View style={style.halfContainer}> 303 <View style={style.halfContainer}>
348 <Image 304 <Image
349 style={style.poster} 305 style={style.poster}
350 - source={{ uri: `${this.state.imgurl9}` }} 306 + source={{
307 + uri: `https://image.tmdb.org/t/p/original/${this.state.imgurl9}`
308 + }}
351 /> 309 />
352 <Text>{this.state.name9}</Text> 310 <Text>{this.state.name9}</Text>
353 </View> 311 </View>
354 - </View> 312 + </View> */}
355 </ScrollView> 313 </ScrollView>
356 </SafeAreaView> 314 </SafeAreaView>
357 ); 315 );
358 } 316 }
359 } 317 }
360 -
361 const style = StyleSheet.create({ 318 const style = StyleSheet.create({
362 container: { 319 container: {
363 flex: 1 320 flex: 1
...@@ -375,20 +332,58 @@ const style = StyleSheet.create({ ...@@ -375,20 +332,58 @@ const style = StyleSheet.create({
375 lowContainer: { 332 lowContainer: {
376 flex: 1, 333 flex: 1,
377 flexDirection: "row", 334 flexDirection: "row",
335 + // backgroundColor: "black",
336 + // alignContent: "space-around",
337 + justifyContent: "center",
338 + alignItems: "center",
339 + marginBottom: 10
340 + },
341 + halfContainer: {
342 + flex: 1,
378 justifyContent: "center", 343 justifyContent: "center",
379 alignItems: "center" 344 alignItems: "center"
380 }, 345 },
381 - poster: { 346 + leftContainer: {
382 - // resizeMode: "cover", 347 + flex: 1,
383 - flex: 10, 348 + // backgroundColor: "yellow",
384 - width: "90%", 349 + justifyContent: "center",
385 - height: 200, 350 + alignItems: "center"
386 - paddingHorizontal: 50
387 - // alignItems: "stretch"
388 }, 351 },
389 - halfContainer: { 352 + rightContainer: {
353 + flex: 2
354 + // flexDirection: "column",
355 + // backgroundColor: "yellow"
356 + },
357 + rightUpContainer: {
390 flex: 1, 358 flex: 1,
359 + paddingTop: 20,
360 + // backgroundColor: "blue",
361 + justifyContent: "center",
362 + marginLeft: 10
363 + // alignItems: "center"
364 + },
365 + rightDownContainer: {
366 + flex: 3,
367 + // backgroundColor: "red",
368 + // margin: "5%"
369 + paddingTop: 20,
370 + paddingBottom: 10
391 // justifyContent: "center", 371 // justifyContent: "center",
392 - alignItems: "center" 372 + // alignItems: "center"
373 + },
374 + poster: {
375 + resizeMode: "cover",
376 + flex: 10,
377 + width: "30%",
378 + height: 160,
379 + paddingHorizontal: 50,
380 + alignItems: "stretch",
381 + borderRadius: 7
382 + },
383 + name: {
384 + fontSize: 16
385 + },
386 + overview: {
387 + fontSize: 14
393 } 388 }
394 }); 389 });
......
1 -import React, { Component } from 'react'; 1 +import React, { Component } from "react";
2 -import { Image, View, Button, Text, TextInput, StyleSheet, TouchableOpacity, Alert } from 'react-native'; 2 +import {
3 -import { Icon } from 'native-base'; 3 + Image,
4 + View,
5 + Text,
6 + TextInput,
7 + StyleSheet,
8 + TouchableOpacity,
9 + SafeAreaView,
10 + ScrollView
11 +} from "react-native";
12 +import { Card, CardItem, Icon } from "native-base";
4 import axios from "axios"; 13 import axios from "axios";
5 -import { AsyncStorage } from "react-native";
6 14
7 const API_KEY = "2bf00f660b1a6a3ffeb6e06ac270cce3"; 15 const API_KEY = "2bf00f660b1a6a3ffeb6e06ac270cce3";
8 const NAVER_CLIENT_ID = "KqPsntd1hcPJ8FUPBGqN"; 16 const NAVER_CLIENT_ID = "KqPsntd1hcPJ8FUPBGqN";
9 const NAVER_CLIENT_SECRET = "0GRb3uya1U"; 17 const NAVER_CLIENT_SECRET = "0GRb3uya1U";
10 18
11 export default class Search extends Component { 19 export default class Search extends Component {
12 - static navigationOptions = { 20 + static navigationOptions = {
13 - tabBarIcon: ({ tintColor }) => ( 21 + tabBarIcon: ({ tintColor }) => (
14 - <Icon name='ios-search' style={{ color: tintColor }} /> 22 + <Icon name="ios-search" style={{ color: tintColor }} />
15 - ) 23 + )
16 - } 24 + };
17 - state = {
18 - typing: "",
19 - keyword: "",
20 - items: [[0],[0]]
21 - };
22 25
23 - getNaverApi = async (search) => { 26 + state = {
24 - fetch(`https://openapi.naver.com/v1/search/movie.json?query="${search}"`, { 27 + typing: "",
25 - headers: { 28 + keyword: "",
26 - "X-Naver-Client-Id": NAVER_CLIENT_ID, 29 + items: [],
27 - "X-Naver-Client-Secret": NAVER_CLIENT_SECRET 30 + info: [],
28 - } 31 + results: []
29 - }) 32 + };
30 - .then(response => response.json())
31 - .then(json => this.setState({items: json.items}))};
32 -
33 - handleSearchUpdate = text => {
34 - this.setState({
35 - searchTerm: text
36 - });
37 - };
38 -
39 - searching = (typing) => {
40 - this.setState({
41 - keyword: typing,
42 - typing: ""
43 - })
44 - this.getNaverApi(typing)
45 - }
46 -
47 - viewimage(){
48 - return this.state.items.map( item =>
49 - <Image style={styles.imagecontainer}
50 - style={{ height: "50%", width: "50%" }}
51 - source={{ uri: `${item.image}`}}
52 - />)
53 - }
54 33
55 - render() { 34 + getDB = async search => {
56 - return ( 35 + axios
57 - <View style={styles.container}> 36 + .get(
58 - <View style={styles.input}> 37 + `https://api.themoviedb.org/3/search/movie?api_key=840724c8aa8b3b7c4ab68db53310cc9f&query=${search}&language=ko-KR&page=1`
59 - <TextInput 38 + )
60 - style={styles.inputText} 39 + .then(response => {
61 - placeholder='Search' 40 + this.setState({ results: response.data.results });
62 - autoCorrect={ false } 41 + console.log(response.data.results);
63 - value = {this.state.typing} 42 + });
64 - onChangeText= { (typing) => this.setState({typing})} 43 + };
44 +
45 + getNaverApi = async search => {
46 + fetch(`https://openapi.naver.com/v1/search/movie.json?query="${search}"`, {
47 + headers: {
48 + "X-Naver-Client-Id": NAVER_CLIENT_ID,
49 + "X-Naver-Client-Secret": NAVER_CLIENT_SECRET
50 + }
51 + })
52 + .then(response => response.json())
53 + .then(json => this.setState({ items: json.items }));
54 + };
55 +
56 + searching = typing => {
57 + this.setState({
58 + keyword: typing,
59 + typing: ""
60 + });
61 + this.getDB(typing);
62 + };
63 +
64 + render() {
65 + return (
66 + <View>
67 + <View style={styles.container}>
68 + <View style={styles.input}>
69 + <TextInput
70 + style={styles.inputText}
71 + placeholder="Search"
72 + autoCorrect={false}
73 + value={this.state.typing}
74 + onChangeText={typing => this.setState({ typing })}
75 + />
76 + <TouchableOpacity onPress={() => this.searching(this.state.typing)}>
77 + <Icon name="ios-search" />
78 + </TouchableOpacity>
79 + </View>
80 + </View>
81 + <SafeAreaView>
82 + <ScrollView>
83 + <Card>
84 + {this.state.results.map(result => (
85 + <View style={styles.lowContainer}>
86 + <View style={styles.leftContainer}>
87 + <CardItem>
88 + {
89 + <Image
90 + source={{
91 + uri: `https://image.tmdb.org/t/p/original/${result.poster_path}`
92 + }}
93 + style={styles.poster}
65 /> 94 />
66 - <TouchableOpacity onPress = {() => this.searching(this.state.typing)}> 95 + }
67 - <Icon name='ios-search'/> 96 + </CardItem>
68 - </TouchableOpacity> 97 + </View>
98 + <View style={styles.rightContainer}>
99 + <View style={styles.rightUpContainer}>
100 + <Text style={styles.name}>{result.title}</Text>
101 + </View>
102 + <View style={styles.rightDownContainer}>
103 + <CardItem>
104 + <Text style={styles.overview}>
105 + {result.overview.length < 60
106 + ? `${result.overview}`
107 + : `${result.overview.substring(0, 57)}...`}
108 + </Text>
109 + </CardItem>
110 + </View>
111 + </View>
69 </View> 112 </View>
70 - <Text> 113 + ))}
71 - {this.state.keyword} 114 + </Card>
72 - </Text> 115 + </ScrollView>
73 - {/* <Image style={styles.imagecontainer} 116 + </SafeAreaView>
74 - style={{ height: "50%", width: "50%" }} 117 + </View>
75 - source={{ uri: `${this.state.items[1].image}` }} 118 + );
76 - source={{ uri: `${this.state.items[0].image}` }} 119 + }
77 - /> */}
78 - {this.viewimage()}
79 - </View>
80 - )}
81 } 120 }
82 121
83 const styles = StyleSheet.create({ 122 const styles = StyleSheet.create({
84 - container: {
85 - marginLeft: 50,
86 - marginRight: 50,
87 - },
88 - input: {
89 - borderRadius: 10,
90 - backgroundColor: "#FFF",
91 - paddingLeft: 10,
92 - paddingRight: 10,
93 - height: 50,
94 - alignItems: "center",
95 - flexDirection: 'row',
96 - justifyContent: 'space-between',
97 - borderBottomColor: "#bbb",
98 - borderBottomWidth: StyleSheet.hairlineWidth,
99 - },
100 - inputText: {
101 - flex: 1,
102 - },
103 - addBtn: {
104 - color: '#4169E1'
105 - },
106 - imagecontainer:{
107 - flex: 1
108 - }
109 -});
...\ No newline at end of file ...\ No newline at end of file
123 + container: {
124 + marginLeft: 50,
125 + marginRight: 50
126 + },
127 + input: {
128 + borderRadius: 10,
129 + backgroundColor: "#FFF",
130 + paddingLeft: 10,
131 + paddingRight: 10,
132 + height: 50,
133 + alignItems: "center",
134 + flexDirection: "row",
135 + justifyContent: "space-between",
136 + borderBottomColor: "#bbb",
137 + borderBottomWidth: StyleSheet.hairlineWidth
138 + },
139 + inputText: {
140 + flex: 1
141 + },
142 + addBtn: {
143 + color: "#4169E1"
144 + },
145 + imagecontainer: {
146 + flex: 1
147 + },
148 + lowContainer: {
149 + flex: 1,
150 + flexDirection: "row",
151 + justifyContent: "center",
152 + alignItems: "center",
153 + marginBottom: 10
154 + },
155 + leftContainer: {
156 + flex: 1,
157 + justifyContent: "center",
158 + alignItems: "center"
159 + },
160 + rightContainer: {
161 + flex: 2
162 + },
163 + rightUpContainer: {
164 + flex: 1,
165 + paddingTop: 20,
166 + justifyContent: "center",
167 + marginLeft: 10
168 + },
169 + rightDownContainer: {
170 + flex: 3,
171 + paddingTop: 20,
172 + paddingBottom: 10
173 + },
174 + poster: {
175 + resizeMode: "cover",
176 + flex: 10,
177 + width: "30%",
178 + height: 160,
179 + paddingHorizontal: 50,
180 + alignItems: "stretch",
181 + borderRadius: 7
182 + },
183 + content: {
184 + flex: 1,
185 + flexDirection: "row"
186 + },
187 + name: {
188 + fontSize: 16
189 + },
190 + overview: {
191 + fontSize: 14
192 + }
193 +});
......
1 -import React, { Component } from 'react'; 1 +import React, { Component } from "react";
2 -import { StyleSheet, Text, View, Button } from 'react-native'; 2 +import { StyleSheet, Text, View, Button } from "react-native";
3 -import { Icon } from 'native-base'; // 추가된 코드 3 +import { Icon } from "native-base"; // 추가된 코드
4 -import { createAppContainer } from 'react-navigation'; 4 +import { createAppContainer } from "react-navigation";
5 -import { createMaterialTopTabNavigator } from 'react-navigation-tabs'; 5 +import { createStackNavigator } from "react-navigation-stack";
6 -import SeenMovieTab from './AppTabNavigator/MovieRankingTab'; 6 +import { createMaterialTopTabNavigator } from "react-navigation-tabs";
7 -import MovieRankingTab from './AppTabNavigator/WantToWatchTab'; 7 +import SeenMovieTab from "./AppTabNavigator/MovieRankingTab";
8 -import WantToWatchTab from './AppTabNavigator/SeenMovieTab'; 8 +import MovieRankingTab from "./AppTabNavigator/WantToWatchTab";
9 -import Search from './/AppTabNavigator/Search'; 9 +import WantToWatchTab from "./AppTabNavigator/SeenMovieTab";
10 -import { Platform } from 'react-native' 10 +import Search from ".//AppTabNavigator/Search";
11 +import { Platform } from "react-native";
11 //import { Ionicons } from '@expo/vector-icons'; 12 //import { Ionicons } from '@expo/vector-icons';
12 13
13 - 14 +const AppTabNavigator = createMaterialTopTabNavigator(
14 -const AppTabNavigator = createMaterialTopTabNavigator({ 15 + {
15 - SeenMovieTab:{ screen: SeenMovieTab }, 16 + SeenMovieTab: { screen: SeenMovieTab },
16 - MovieRankingTab:{ screen: MovieRankingTab }, 17 + MovieRankingTab: { screen: MovieRankingTab },
17 - WantToWatchTab:{ screen: WantToWatchTab }, 18 + WantToWatchTab: { screen: WantToWatchTab },
18 - Search: { screen: Search } 19 + Search: { screen: Search }
19 -}, { 20 + },
20 - animationEnabled: true, 21 + {
21 - swipeEnabled: true, 22 + animationEnabled: true,
22 - tabBarPosition: "bottom", 23 + swipeEnabled: true,
23 - tabBarOptions: { 24 + tabBarPosition: "bottom",
24 - style: { 25 + tabBarOptions: {
26 + style: {
25 ...Platform.select({ 27 ...Platform.select({
26 - android:{ 28 + android: {
27 - backgroundColor:'white', 29 + backgroundColor: "white"
28 } 30 }
29 }) 31 })
30 }, 32 },
31 - iconStyle: { height: 30 }, 33 + iconStyle: { height: 30 },
32 - activeTintColor: '#000', 34 + activeTintColor: "#000",
33 - inactiveTintColor: '#d1cece', 35 + inactiveTintColor: "#d1cece",
34 - upperCaseLabel: false, 36 + upperCaseLabel: false,
35 - showLabel: false, 37 + showLabel: false,
36 - showIcon: true, 38 + showIcon: true
39 + }
37 } 40 }
38 -}); 41 +);
39 42
40 const AppTabContainet = createAppContainer(AppTabNavigator); 43 const AppTabContainet = createAppContainer(AppTabNavigator);
41 44
...@@ -43,19 +46,18 @@ export default class MainScreen extends Component { ...@@ -43,19 +46,18 @@ export default class MainScreen extends Component {
43 // navigationOptions 코드 추가 46 // navigationOptions 코드 추가
44 static navigationOptions = { 47 static navigationOptions = {
45 //headerLeft: <Icon name='ios-camera' style={{ paddingLeft:10 }}/>, 48 //headerLeft: <Icon name='ios-camera' style={{ paddingLeft:10 }}/>,
46 - title: 'PoketMovie' 49 + title: "PoketMovie"
47 - 50 + };
48 -}
49 51
50 render() { 52 render() {
51 - return <AppTabContainet/>; // AppTabContainet 컴포넌트를 리턴한다. 53 + return <AppTabContainet />; // AppTabContainet 컴포넌트를 리턴한다.
52 } 54 }
53 } 55 }
54 56
55 const styles = StyleSheet.create({ 57 const styles = StyleSheet.create({
56 container: { 58 container: {
57 flex: 1, 59 flex: 1,
58 - alignItems: 'center', 60 + alignItems: "center",
59 - justifyContent: 'center', 61 + justifyContent: "center"
60 } 62 }
61 -});
...\ No newline at end of file ...\ No newline at end of file
63 +});
......
1 +import React, { Component } from "react";
2 +import { StyleSheet, Text, View, StatusBar } from "react-native";
3 +
4 +export default class MovieRankingTab extends Component {
5 + return() {
6 + <View style={styles.container}>
7 + <StatusBar barStyle="dark-content" />
8 + <Text style={styles.text}>Getting the current weather</Text>
9 + </View>;
10 + }
11 +}
12 +
13 +const styles = StyleSheet.create({
14 + container: {
15 + flex: 1,
16 + justifyContent: "flex-end",
17 + paddingHorizontal: 30,
18 + paddingVertical: 100,
19 + backgroundColor: "#FDF6AA"
20 + },
21 + text: {
22 + color: "#2c2c2c",
23 + fontSize: 30
24 + }
25 +});
1 -import React from "react";
2 -import { StyleSheet, Text, View } from 'react-native';
3 -import { AsyncStorage } from "react-native";
4 -import Loading from "./Loading";
5 -import axios from "axios";
6 -
7 -const API_KEY = "2bf00f660b1a6a3ffeb6e06ac270cce3";
8 -const NAVER_CLIENT_ID = "KqPsntd1hcPJ8FUPBGqN";
9 -const NAVER_CLIENT_SECRET = "0GRb3uya1U";
10 -
11 -// const option = {
12 -// query: "겨울왕국"
13 -// };
14 -
15 -// request.get(
16 -// {
17 -// uri: "https://openapi.naver.com/v1/search/movie", //xml 요청 주소는 https://openapi.naver.com/v1/search/image.xml
18 -// qs: option,
19 -// headers: {
20 -// "X-Naver-Client-Id": NAVER_CLIENT_ID,
21 -// "X-Naver-Client-Secret": NAVER_CLIENT_SECRET
22 -// }
23 -// },
24 -// function(err, res, body) {
25 -// let json = JSON.parse(body); //json으로 파싱
26 -// console.log(json);
27 -// }
28 -// );
29 -
30 -export default class extends React.Component {
31 - state = {
32 - isLoading: true
33 - };
34 - getNaverApi = async () => {
35 - fetch("https://openapi.naver.com/v1/search/movie.json?query='겨울왕국 2'", {
36 - headers: {
37 - "X-Naver-Client-Id": NAVER_CLIENT_ID,
38 - "X-Naver-Client-Secret": NAVER_CLIENT_SECRET
39 - }
40 - })
41 - .then(response => response.json())
42 - .then(json => {
43 - console.log(json.items[0].image);
44 - });
45 - };
46 - getMovieList = async () => {
47 - axios
48 - .get(
49 - `http://www.kobis.or.kr/kobisopenapi/webservice/rest/boxoffice/searchDailyBoxOfficeList.json?key=${API_KEY}&targetDt=20191129`
50 - )
51 - .then(response => {
52 - for (var i = 0; i < 10; i++) {
53 - console.log(
54 - response.data.boxOfficeResult.dailyBoxOfficeList[i].movieNm
55 - );
56 - }
57 - })
58 - .catch(error => {
59 - console.log(error);
60 - });
61 - };
62 - componentDidMount() {
63 - this.getMovieList();
64 - this.getNaverApi();
65 - }
66 - render() {
67 - return (
68 - <View>
69 - <Text>WantToWatchTab</Text>
70 - </View>
71 - );
72 -}
73 -}
...\ No newline at end of file ...\ No newline at end of file
...@@ -16,7 +16,7 @@ ...@@ -16,7 +16,7 @@
16 "react-native": "https://github.com/expo/react-native/archive/sdk-35.0.0.tar.gz", 16 "react-native": "https://github.com/expo/react-native/archive/sdk-35.0.0.tar.gz",
17 "react-native-axios": "^0.17.1", 17 "react-native-axios": "^0.17.1",
18 "react-native-elements": "^1.2.7", 18 "react-native-elements": "^1.2.7",
19 - "react-native-gesture-handler": "~1.3.0", 19 + "react-native-gesture-handler": "^1.5.2",
20 "react-native-reanimated": "~1.2.0", 20 "react-native-reanimated": "~1.2.0",
21 "react-native-screens": "~1.0.0-alpha.23", 21 "react-native-screens": "~1.0.0-alpha.23",
22 "react-native-stack": "^1.0.0-alpha11", 22 "react-native-stack": "^1.0.0-alpha11",
......
1 Arguments: 1 Arguments:
2 - C:\Program Files\nodejs\node.exe C:\Program Files\nodejs\node_modules\yarn\bin\yarn.js add react-navigation-tabs 2 + C:\Program Files\nodejs\node.exe C:\Users\1004n\AppData\Roaming\npm\node_modules\yarn\bin\yarn.js add ract-navigation-stack --save
3 3
4 PATH: 4 PATH:
5 - C:\Program Files (x86)\Common Files\Oracle\Java\javapath;C:\Program Files (x86)\Intel\iCLS Client\;C:\Program Files\Intel\iCLS Client\;C:\windows\system32;C:\windows;C:\windows\System32\Wbem;C:\windows\System32\WindowsPowerShell\v1.0\;C:\Program Files (x86)\Intel\Intel(R) Management Engine Components\DAL;C:\Program Files\Intel\Intel(R) Management Engine Components\DAL;C:\Program Files (x86)\Intel\Intel(R) Management Engine Components\IPT;C:\Program Files\Intel\Intel(R) Management Engine Components\IPT;C:\Program Files (x86)\NVIDIA Corporation\PhysX\Common;C:\Program Files\Samsung\SamsungLink\AllShare Framework DMS\bin\;C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem;C:\WINDOWS\System32\WindowsPowerShell\v1.0\;C:\WINDOWS\System32\OpenSSH\;C:\Program Files\Git\cmd;C:\TmaxData\tibero6\bin;C:\TmaxData\tibero6\client\bin;C:\Program Files\PuTTY\;C:\Users\SSM\AppData\Roaming\nvm;C:\Program Files\nodejs;C:\Users\SSM\AppData\Local\Programs\Python\Python37\Scripts\;C:\Users\SSM\AppData\Local\Programs\Python\Python37\;C:\Users\SSM\AppData\Local\Microsoft\WindowsApps;C:\intelFPGA\18.1\modelsim_ase\win32aloem;C:\Users\SSM\AppData\Local\Programs\Microsoft VS Code\bin;C:\Users\SSM\AppData\Roaming\npm;C:\Users\SSM\AppData\Roaming\nvm;C:\Program Files\nodejs 5 + C:\Program Files (x86)\Common Files\Oracle\Java\javapath;C:\Program Files (x86)\Intel\Intel(R) Management Engine Components\iCLS\;C:\Program Files\Intel\Intel(R) Management Engine Components\iCLS\;C:\windows\system32;C:\windows;C:\windows\System32\Wbem;C:\windows\System32\WindowsPowerShell\v1.0\;C:\windows\System32\OpenSSH\;C:\Program Files (x86)\NVIDIA Corporation\PhysX\Common;C:\Program Files\Intel\WiFi\bin\;C:\Program Files\Common Files\Intel\WirelessCommon\;C:\Program Files (x86)\Intel\Intel(R) Management Engine Components\DAL;C:\Program Files\Intel\Intel(R) Management Engine Components\DAL;C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem;C:\WINDOWS\System32\WindowsPowerShell\v1.0\;C:\WINDOWS\System32\OpenSSH\;C:\Program Files\nodejs\;C:\Program Files\NVIDIA Corporation\NVIDIA NvDLISR;C:\Program Files\Git\cmd;C:\TmaxData\tibero6\bin;C:\TmaxData\tibero6\client\bin;C:\Program Files\MySQL\MySQL Server 8.0\bin;C:\sqlite;C:\Program Files\MySQL\MySQL Shell 8.0\bin\;C:\Users\1004n\AppData\Local\Microsoft\WindowsApps;C:\Program Files\Bandizip\;C:\Users\1004n\AppData\Local\Programs\Microsoft VS Code\bin;C:\Users\1004n\AppData\Roaming\npm;C:\TRV-Mars\flutter\bin;C:\Program Files\JetBrains\IntelliJ IDEA Community Edition 2019.2\bin;C:\Users\1004n\AppData\Local\Android\Sdk\emulator;C:\Users\1004n\AppData\Local\Android\Sdk\platform-tools;C:\Users\1004n\AppData\Local\Android\Sdk\tools\bin;C:\Program Files\Java\jre1.8.0_231\bin;C:\Users\1004n\.android\avd;C:\Users\1004n\AppData\Local\atom\bin
6 6
7 Yarn version: 7 Yarn version:
8 - 1.19.2 8 + 1.21.0
9 9
10 Node version: 10 Node version:
11 - 12.9.0 11 + 10.16.0
12 12
13 Platform: 13 Platform:
14 win32 x64 14 win32 x64
15 15
16 Trace: 16 Trace:
17 - Error: EPERM: operation not permitted, unlink 'C:\Users\SSM\Desktop\open_proj\khuhub\pocketMovie\node_modules\@babel\generator\node_modules\.bin' 17 + Error: https://registry.yarnpkg.com/ract-navigation-stack: Not found
18 + at Request.params.callback [as _callback] (C:\Users\1004n\AppData\Roaming\npm\node_modules\yarn\lib\cli.js:66938:18)
19 + at Request.self.callback (C:\Users\1004n\AppData\Roaming\npm\node_modules\yarn\lib\cli.js:140622:22)
20 + at Request.emit (events.js:198:13)
21 + at Request.<anonymous> (C:\Users\1004n\AppData\Roaming\npm\node_modules\yarn\lib\cli.js:141594:10)
22 + at Request.emit (events.js:198:13)
23 + at IncomingMessage.<anonymous> (C:\Users\1004n\AppData\Roaming\npm\node_modules\yarn\lib\cli.js:141516:12)
24 + at Object.onceWrapper (events.js:286:20)
25 + at IncomingMessage.emit (events.js:203:15)
26 + at endReadableNT (_stream_readable.js:1129:12)
27 + at process._tickCallback (internal/process/next_tick.js:63:19)
18 28
19 npm manifest: 29 npm manifest:
20 { 30 {
...@@ -34,6 +44,7 @@ npm manifest: ...@@ -34,6 +44,7 @@ npm manifest:
34 "react-dom": "16.8.3", 44 "react-dom": "16.8.3",
35 "react-native": "https://github.com/expo/react-native/archive/sdk-35.0.0.tar.gz", 45 "react-native": "https://github.com/expo/react-native/archive/sdk-35.0.0.tar.gz",
36 "react-native-axios": "^0.17.1", 46 "react-native-axios": "^0.17.1",
47 + "react-native-elements": "^1.2.7",
37 "react-native-gesture-handler": "~1.3.0", 48 "react-native-gesture-handler": "~1.3.0",
38 "react-native-reanimated": "~1.2.0", 49 "react-native-reanimated": "~1.2.0",
39 "react-native-screens": "~1.0.0-alpha.23", 50 "react-native-screens": "~1.0.0-alpha.23",
...@@ -41,6 +52,7 @@ npm manifest: ...@@ -41,6 +52,7 @@ npm manifest:
41 "react-native-web": "^0.11.7", 52 "react-native-web": "^0.11.7",
42 "react-navigation": "^4.0.10", 53 "react-navigation": "^4.0.10",
43 "react-navigation-stack": "^1.10.3", 54 "react-navigation-stack": "^1.10.3",
55 + "react-navigation-tabs": "^2.6.2",
44 "request": "^2.88.0" 56 "request": "^2.88.0"
45 }, 57 },
46 "devDependencies": { 58 "devDependencies": {
...@@ -1004,11 +1016,40 @@ Lockfile: ...@@ -1004,11 +1016,40 @@ Lockfile:
1004 resolved "https://registry.yarnpkg.com/@types/lodash/-/lodash-4.14.149.tgz#1342d63d948c6062838fbf961012f74d4e638440" 1016 resolved "https://registry.yarnpkg.com/@types/lodash/-/lodash-4.14.149.tgz#1342d63d948c6062838fbf961012f74d4e638440"
1005 integrity sha512-ijGqzZt/b7BfzcK9vTrS6MFljQRPn5BFWOx8oE0GYxribu6uV+aA9zZuXI1zc/etK9E8nrgdoF2+LgUw7+9tJQ== 1017 integrity sha512-ijGqzZt/b7BfzcK9vTrS6MFljQRPn5BFWOx8oE0GYxribu6uV+aA9zZuXI1zc/etK9E8nrgdoF2+LgUw7+9tJQ==
1006 1018
1019 + "@types/prop-types@*":
1020 + version "15.7.3"
1021 + resolved "https://registry.yarnpkg.com/@types/prop-types/-/prop-types-15.7.3.tgz#2ab0d5da2e5815f94b0b9d4b95d1e5f243ab2ca7"
1022 + integrity sha512-KfRL3PuHmqQLOG+2tGpRO26Ctg+Cq1E01D2DMriKEATHgWLfeNDmq9e29Q9WIky0dQ3NPkd1mzYH8Lm936Z9qw==
1023 +
1007 "@types/qs@^6.5.1": 1024 "@types/qs@^6.5.1":
1008 version "6.9.0" 1025 version "6.9.0"
1009 resolved "https://registry.yarnpkg.com/@types/qs/-/qs-6.9.0.tgz#2a5fa918786d07d3725726f7f650527e1cfeaffd" 1026 resolved "https://registry.yarnpkg.com/@types/qs/-/qs-6.9.0.tgz#2a5fa918786d07d3725726f7f650527e1cfeaffd"
1010 integrity sha512-c4zji5CjWv1tJxIZkz1oUtGcdOlsH3aza28Nqmm+uNDWBRHoMsjooBEN4czZp1V3iXPihE/VRUOBqg+4Xq0W4g== 1027 integrity sha512-c4zji5CjWv1tJxIZkz1oUtGcdOlsH3aza28Nqmm+uNDWBRHoMsjooBEN4czZp1V3iXPihE/VRUOBqg+4Xq0W4g==
1011 1028
1029 + "@types/react-native-vector-icons@^6.4.4":
1030 + version "6.4.4"
1031 + resolved "https://registry.yarnpkg.com/@types/react-native-vector-icons/-/react-native-vector-icons-6.4.4.tgz#f81dcc371b74a9c408ce12f95b8f494d7543146b"
1032 + integrity sha512-G1Iry/8i23IPjZzNjydMt/WcjV+T1Xu3cTXDwSsP9lpKu0bA0j+c7AACJ1aIka8HVnWXS41NoZnKkHImO0SMkw==
1033 + dependencies:
1034 + "@types/react" "*"
1035 + "@types/react-native" "*"
1036 +
1037 + "@types/react-native@*":
1038 + version "0.60.24"
1039 + resolved "https://registry.yarnpkg.com/@types/react-native/-/react-native-0.60.24.tgz#0648aff3a910f29b8a892cecd0ec3199697bd31f"
1040 + integrity sha512-wI4C39mrEWpnx2JHCGsDKKcB22CNCKUWjLO6Mwt2yzgKD7crawuTjeHpBej/OiD/3df2X8rluuSmJ1xRcOZNAg==
1041 + dependencies:
1042 + "@types/prop-types" "*"
1043 + "@types/react" "*"
1044 +
1045 + "@types/react@*":
1046 + version "16.9.15"
1047 + resolved "https://registry.yarnpkg.com/@types/react/-/react-16.9.15.tgz#aeabb7a50f96c9e31a16079ada20ede9ed602977"
1048 + integrity sha512-WsmM1b6xQn1tG3X2Hx4F3bZwc2E82pJXt5OPs2YJgg71IzvUoKOSSSYOvLXYCg1ttipM+UuA4Lj3sfvqjVxyZw==
1049 + dependencies:
1050 + "@types/prop-types" "*"
1051 + csstype "^2.2.0"
1052 +
1012 "@types/uuid-js@^0.7.1": 1053 "@types/uuid-js@^0.7.1":
1013 version "0.7.2" 1054 version "0.7.2"
1014 resolved "https://registry.yarnpkg.com/@types/uuid-js/-/uuid-js-0.7.2.tgz#5b5552fcbaaf4acf026fb6dc66f7e5bd6b4be92f" 1055 resolved "https://registry.yarnpkg.com/@types/uuid-js/-/uuid-js-0.7.2.tgz#5b5552fcbaaf4acf026fb6dc66f7e5bd6b4be92f"
...@@ -1710,7 +1751,7 @@ Lockfile: ...@@ -1710,7 +1751,7 @@ Lockfile:
1710 resolved "https://registry.yarnpkg.com/color-support/-/color-support-1.1.3.tgz#93834379a1cc9a0c61f82f52f0d04322251bd5a2" 1751 resolved "https://registry.yarnpkg.com/color-support/-/color-support-1.1.3.tgz#93834379a1cc9a0c61f82f52f0d04322251bd5a2"
1711 integrity sha512-qiBjkpbMLO/HL68y+lh4q0/O1MZFj2RX6X/KmMa3+gJD3z+WwI1ZzDHysvqHGS3mP6mznPckpXmw1nI9cJjyRg== 1752 integrity sha512-qiBjkpbMLO/HL68y+lh4q0/O1MZFj2RX6X/KmMa3+gJD3z+WwI1ZzDHysvqHGS3mP6mznPckpXmw1nI9cJjyRg==
1712 1753
1713 - color@~3.1.2: 1754 + color@^3.1.0, color@~3.1.2:
1714 version "3.1.2" 1755 version "3.1.2"
1715 resolved "https://registry.yarnpkg.com/color/-/color-3.1.2.tgz#68148e7f85d41ad7649c5fa8c8106f098d229e10" 1756 resolved "https://registry.yarnpkg.com/color/-/color-3.1.2.tgz#68148e7f85d41ad7649c5fa8c8106f098d229e10"
1716 integrity sha512-vXTJhHebByxZn3lDvDJYw4lR5+uB3vuoHsuYA5AKuxRVn5wzzIfQKGLBmgdVRHKTJYeK5rvJcHnrd0Li49CFpg== 1757 integrity sha512-vXTJhHebByxZn3lDvDJYw4lR5+uB3vuoHsuYA5AKuxRVn5wzzIfQKGLBmgdVRHKTJYeK5rvJcHnrd0Li49CFpg==
...@@ -1882,6 +1923,11 @@ Lockfile: ...@@ -1882,6 +1923,11 @@ Lockfile:
1882 hyphenate-style-name "^1.0.2" 1923 hyphenate-style-name "^1.0.2"
1883 isobject "^3.0.1" 1924 isobject "^3.0.1"
1884 1925
1926 + csstype@^2.2.0:
1927 + version "2.6.7"
1928 + resolved "https://registry.yarnpkg.com/csstype/-/csstype-2.6.7.tgz#20b0024c20b6718f4eda3853a1f5a1cce7f5e4a5"
1929 + integrity sha512-9Mcn9sFbGBAdmimWb2gLVDtFJzeKtDGIr76TUqmjZrw9LFXBMSU70lcs+C0/7fyCd6iBDqmksUcCOUIkisPHsQ==
1930 +
1885 dashdash@^1.12.0: 1931 dashdash@^1.12.0:
1886 version "1.14.1" 1932 version "1.14.1"
1887 resolved "https://registry.yarnpkg.com/dashdash/-/dashdash-1.14.1.tgz#853cfa0f7cbe2fed5de20326b8dd581035f6e2f0" 1933 resolved "https://registry.yarnpkg.com/dashdash/-/dashdash-1.14.1.tgz#853cfa0f7cbe2fed5de20326b8dd581035f6e2f0"
...@@ -1944,6 +1990,11 @@ Lockfile: ...@@ -1944,6 +1990,11 @@ Lockfile:
1944 resolved "https://registry.yarnpkg.com/deep-extend/-/deep-extend-0.6.0.tgz#c4fa7c95404a17a9c3e8ca7e1537312b736330ac" 1990 resolved "https://registry.yarnpkg.com/deep-extend/-/deep-extend-0.6.0.tgz#c4fa7c95404a17a9c3e8ca7e1537312b736330ac"
1945 integrity sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA== 1991 integrity sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==
1946 1992
1993 + deepmerge@^3.1.0:
1994 + version "3.3.0"
1995 + resolved "https://registry.yarnpkg.com/deepmerge/-/deepmerge-3.3.0.tgz#d3c47fd6f3a93d517b14426b0628a17b0125f5f7"
1996 + integrity sha512-GRQOafGHwMHpjPx9iCvTgpu9NojZ49q794EEL94JVEw6VaeA8XTUyBKvAkOOjBX9oJNiV6G3P+T+tihFjo2TqA==
1997 +
1947 define-properties@^1.1.2: 1998 define-properties@^1.1.2:
1948 version "1.1.3" 1999 version "1.1.3"
1949 resolved "https://registry.yarnpkg.com/define-properties/-/define-properties-1.1.3.tgz#cf88da6cbee26fe6db7094f61d870cbd84cee9f1" 2000 resolved "https://registry.yarnpkg.com/define-properties/-/define-properties-1.1.3.tgz#cf88da6cbee26fe6db7094f61d870cbd84cee9f1"
...@@ -2818,7 +2869,7 @@ Lockfile: ...@@ -2818,7 +2869,7 @@ Lockfile:
2818 resolved "https://registry.yarnpkg.com/hoist-non-react-statics/-/hoist-non-react-statics-2.5.5.tgz#c5903cf409c0dfd908f388e619d86b9c1174cb47" 2869 resolved "https://registry.yarnpkg.com/hoist-non-react-statics/-/hoist-non-react-statics-2.5.5.tgz#c5903cf409c0dfd908f388e619d86b9c1174cb47"
2819 integrity sha512-rqcy4pJo55FTTLWt+bU8ukscqHeE/e9KWvsOW2b/a3afxQZhwkQdT1rPPCJ0rYXdj4vNcasY8zHTH+jF/qStxw== 2870 integrity sha512-rqcy4pJo55FTTLWt+bU8ukscqHeE/e9KWvsOW2b/a3afxQZhwkQdT1rPPCJ0rYXdj4vNcasY8zHTH+jF/qStxw==
2820 2871
2821 - hoist-non-react-statics@^3.0.1, hoist-non-react-statics@^3.3.0: 2872 + hoist-non-react-statics@^3.0.1, hoist-non-react-statics@^3.1.0, hoist-non-react-statics@^3.3.0:
2822 version "3.3.1" 2873 version "3.3.1"
2823 resolved "https://registry.yarnpkg.com/hoist-non-react-statics/-/hoist-non-react-statics-3.3.1.tgz#101685d3aff3b23ea213163f6e8e12f4f111e19f" 2874 resolved "https://registry.yarnpkg.com/hoist-non-react-statics/-/hoist-non-react-statics-3.3.1.tgz#101685d3aff3b23ea213163f6e8e12f4f111e19f"
2824 integrity sha512-wbg3bpgA/ZqWrZuMOeJi8+SKMhr7X9TesL/rXMjTzh0p0JUBo3II8DHboYbuIXWRlttrUFxwcu/5kygrCw8fJw== 2875 integrity sha512-wbg3bpgA/ZqWrZuMOeJi8+SKMhr7X9TesL/rXMjTzh0p0JUBo3II8DHboYbuIXWRlttrUFxwcu/5kygrCw8fJw==
...@@ -4261,7 +4312,7 @@ Lockfile: ...@@ -4261,7 +4312,7 @@ Lockfile:
4261 dependencies: 4312 dependencies:
4262 mimic-fn "^1.0.0" 4313 mimic-fn "^1.0.0"
4263 4314
4264 - opencollective-postinstall@^2.0.2: 4315 + opencollective-postinstall@^2.0.0, opencollective-postinstall@^2.0.2:
4265 version "2.0.2" 4316 version "2.0.2"
4266 resolved "https://registry.yarnpkg.com/opencollective-postinstall/-/opencollective-postinstall-2.0.2.tgz#5657f1bede69b6e33a45939b061eb53d3c6c3a89" 4317 resolved "https://registry.yarnpkg.com/opencollective-postinstall/-/opencollective-postinstall-2.0.2.tgz#5657f1bede69b6e33a45939b061eb53d3c6c3a89"
4267 integrity sha512-pVOEP16TrAO2/fjej1IdOyupJY8KDUM1CvsaScRbw6oddvpQoOfGk4ywha0HKKVAD6RkW4x6Q+tNBwhf3Bgpuw== 4318 integrity sha512-pVOEP16TrAO2/fjej1IdOyupJY8KDUM1CvsaScRbw6oddvpQoOfGk4ywha0HKKVAD6RkW4x6Q+tNBwhf3Bgpuw==
...@@ -4681,6 +4732,11 @@ Lockfile: ...@@ -4681,6 +4732,11 @@ Lockfile:
4681 resolved "https://registry.yarnpkg.com/react-is/-/react-is-16.12.0.tgz#2cc0fe0fba742d97fd527c42a13bec4eeb06241c" 4732 resolved "https://registry.yarnpkg.com/react-is/-/react-is-16.12.0.tgz#2cc0fe0fba742d97fd527c42a13bec4eeb06241c"
4682 integrity sha512-rPCkf/mWBtKc97aLL9/txD8DZdemK0vkA3JMLShjlJB3Pj3s+lpf1KaBzMfQrAmhMQB0n1cU/SUGgKKBCe837Q== 4733 integrity sha512-rPCkf/mWBtKc97aLL9/txD8DZdemK0vkA3JMLShjlJB3Pj3s+lpf1KaBzMfQrAmhMQB0n1cU/SUGgKKBCe837Q==
4683 4734
4735 + react-lifecycles-compat@^3.0.4:
4736 + version "3.0.4"
4737 + resolved "https://registry.yarnpkg.com/react-lifecycles-compat/-/react-lifecycles-compat-3.0.4.tgz#4f1a273afdfc8f3488a8c516bfda78f872352362"
4738 + integrity sha512-fBASbA6LnOU9dOU2eW7aQ8xmYBSXUIWr+UmF9b1efZBazGNO+rcXT/icdKnYm2pTwcRylVUYwW7H1PHfLekVzA==
4739 +
4684 react-native-axios@^0.17.1: 4740 react-native-axios@^0.17.1:
4685 version "0.17.1" 4741 version "0.17.1"
4686 resolved "https://registry.yarnpkg.com/react-native-axios/-/react-native-axios-0.17.1.tgz#44292950aa07ceee2e4bd349106ff773bef81f8f" 4742 resolved "https://registry.yarnpkg.com/react-native-axios/-/react-native-axios-0.17.1.tgz#44292950aa07ceee2e4bd349106ff773bef81f8f"
...@@ -4708,6 +4764,20 @@ Lockfile: ...@@ -4708,6 +4764,20 @@ Lockfile:
4708 dependencies: 4764 dependencies:
4709 lodash "^4.17.15" 4765 lodash "^4.17.15"
4710 4766
4767 + react-native-elements@^1.2.7:
4768 + version "1.2.7"
4769 + resolved "https://registry.yarnpkg.com/react-native-elements/-/react-native-elements-1.2.7.tgz#1eca2db715c41722aeb67aea62bd2a4621adb134"
4770 + integrity sha512-0S+0R1cbItl15i64qrkWnyMztwpw60d0SUsZGVDKRAMf0Jvq9Clgyh/MzxJx2sr42mbedQP1sg5Et4fZM7Fp1w==
4771 + dependencies:
4772 + "@types/react-native-vector-icons" "^6.4.4"
4773 + color "^3.1.0"
4774 + deepmerge "^3.1.0"
4775 + hoist-non-react-statics "^3.1.0"
4776 + opencollective-postinstall "^2.0.0"
4777 + prop-types "^15.7.2"
4778 + react-native-ratings "^6.3.0"
4779 + react-native-status-bar-height "^2.2.0"
4780 +
4711 react-native-gesture-handler@~1.3.0: 4781 react-native-gesture-handler@~1.3.0:
4712 version "1.3.0" 4782 version "1.3.0"
4713 resolved "https://registry.yarnpkg.com/react-native-gesture-handler/-/react-native-gesture-handler-1.3.0.tgz#d0386f565928ccc1849537f03f2e37fd5f6ad43f" 4783 resolved "https://registry.yarnpkg.com/react-native-gesture-handler/-/react-native-gesture-handler-1.3.0.tgz#d0386f565928ccc1849537f03f2e37fd5f6ad43f"
...@@ -4730,12 +4800,20 @@ Lockfile: ...@@ -4730,12 +4800,20 @@ Lockfile:
4730 prop-types "^15.6.2" 4800 prop-types "^15.6.2"
4731 react-native-iphone-x-helper "^1.0.3" 4801 react-native-iphone-x-helper "^1.0.3"
4732 4802
4803 + react-native-ratings@^6.3.0:
4804 + version "6.5.0"
4805 + resolved "https://registry.yarnpkg.com/react-native-ratings/-/react-native-ratings-6.5.0.tgz#a1606ccba3c5b54eec8e6cfa4765a45cf0e4ab8d"
4806 + integrity sha512-YMcfQ7UQCmXGEc/WPlukHSHs5yvckTwjq5fTRk1FG8gaO7fZCNygEUGPuw4Dbvvp3IlsCUn0bOQd63RYsb7NDQ==
4807 + dependencies:
4808 + lodash "^4.17.4"
4809 + prop-types "^15.5.10"
4810 +
4733 react-native-reanimated@~1.2.0: 4811 react-native-reanimated@~1.2.0:
4734 version "1.2.0" 4812 version "1.2.0"
4735 resolved "https://registry.yarnpkg.com/react-native-reanimated/-/react-native-reanimated-1.2.0.tgz#9219227a52a5dfa4d34c324596d6726ccd874293" 4813 resolved "https://registry.yarnpkg.com/react-native-reanimated/-/react-native-reanimated-1.2.0.tgz#9219227a52a5dfa4d34c324596d6726ccd874293"
4736 integrity sha512-vkWRHrPK5qfHP/ZawlRoo38oeYe9NZaaOH/lmFxRcsKzaSK6x3H5ZPXI8lK6MfTLveqwo1QhJje3zIKXO4nQQw== 4814 integrity sha512-vkWRHrPK5qfHP/ZawlRoo38oeYe9NZaaOH/lmFxRcsKzaSK6x3H5ZPXI8lK6MfTLveqwo1QhJje3zIKXO4nQQw==
4737 4815
4738 - react-native-safe-area-view@^0.14.1: 4816 + react-native-safe-area-view@^0.14.1, react-native-safe-area-view@^0.14.6:
4739 version "0.14.8" 4817 version "0.14.8"
4740 resolved "https://registry.yarnpkg.com/react-native-safe-area-view/-/react-native-safe-area-view-0.14.8.tgz#ef33c46ff8164ae77acad48c3039ec9c34873e5b" 4818 resolved "https://registry.yarnpkg.com/react-native-safe-area-view/-/react-native-safe-area-view-0.14.8.tgz#ef33c46ff8164ae77acad48c3039ec9c34873e5b"
4741 integrity sha512-MtRSIcZNstxv87Jet+UsPhEd1tpGe8cVskDXlP657x6rHpSrbrc+y13ZNXrwAgGNNhqQNX7UJT68ZIq//ZRmvw== 4819 integrity sha512-MtRSIcZNstxv87Jet+UsPhEd1tpGe8cVskDXlP657x6rHpSrbrc+y13ZNXrwAgGNNhqQNX7UJT68ZIq//ZRmvw==
...@@ -4760,6 +4838,16 @@ Lockfile: ...@@ -4760,6 +4838,16 @@ Lockfile:
4760 tiny-invariant "^1.0.4" 4838 tiny-invariant "^1.0.4"
4761 tiny-warning "^1.0.2" 4839 tiny-warning "^1.0.2"
4762 4840
4841 + react-native-status-bar-height@^2.2.0:
4842 + version "2.4.0"
4843 + resolved "https://registry.yarnpkg.com/react-native-status-bar-height/-/react-native-status-bar-height-2.4.0.tgz#de8cee4bb733a196167210d2d0bc1fa10acba3e3"
4844 + integrity sha512-pWvZFlyIHiuxLugLioq97vXiaGSovFXEyxt76wQtbq0gxv4dGXMPqYow46UmpwOgeJpBhqL1E0EKxnfJRrFz5w==
4845 +
4846 + react-native-tab-view@^2.11.0:
4847 + version "2.11.0"
4848 + resolved "https://registry.yarnpkg.com/react-native-tab-view/-/react-native-tab-view-2.11.0.tgz#2e57d1f617ccc88c7f452708804f3409f880b700"
4849 + integrity sha512-vqetlxGO7A8bnqvXcB50MWpRZAImXFrDGz1WCQKdCqe03Ey3ZzENe7yLuWrtBJYlepGfOLAsmCXv+wW82Yfm1w==
4850 +
4763 react-native-vector-icons@^6.6.0: 4851 react-native-vector-icons@^6.6.0:
4764 version "6.6.0" 4852 version "6.6.0"
4765 resolved "https://registry.yarnpkg.com/react-native-vector-icons/-/react-native-vector-icons-6.6.0.tgz#66cf004918eb05d90778d64bd42077c1800d481b" 4853 resolved "https://registry.yarnpkg.com/react-native-vector-icons/-/react-native-vector-icons-6.6.0.tgz#66cf004918eb05d90778d64bd42077c1800d481b"
...@@ -4852,6 +4940,16 @@ Lockfile: ...@@ -4852,6 +4940,16 @@ Lockfile:
4852 dependencies: 4940 dependencies:
4853 prop-types "^15.7.2" 4941 prop-types "^15.7.2"
4854 4942
4943 + react-navigation-tabs@^2.6.2:
4944 + version "2.6.2"
4945 + resolved "https://registry.yarnpkg.com/react-navigation-tabs/-/react-navigation-tabs-2.6.2.tgz#6611f3bbc5fcbc004a96a457e1dbe8d957d09ef5"
4946 + integrity sha512-b7Bwio3pOyb2dJOsfICm1eXUCekULO63VitLlkslsuwB5v5qXD9u+TkuSGADPiAybRH3Fts4cQX/xA5WGsIsfg==
4947 + dependencies:
4948 + hoist-non-react-statics "^3.3.0"
4949 + react-lifecycles-compat "^3.0.4"
4950 + react-native-safe-area-view "^0.14.6"
4951 + react-native-tab-view "^2.11.0"
4952 +
4855 react-navigation@^4.0.10: 4953 react-navigation@^4.0.10:
4856 version "4.0.10" 4954 version "4.0.10"
4857 resolved "https://registry.yarnpkg.com/react-navigation/-/react-navigation-4.0.10.tgz#ddf41134600689d6ba99e35dd22ba1f664f91e5c" 4955 resolved "https://registry.yarnpkg.com/react-navigation/-/react-navigation-4.0.10.tgz#ddf41134600689d6ba99e35dd22ba1f664f91e5c"
......
...@@ -2726,6 +2726,11 @@ growly@^1.3.0: ...@@ -2726,6 +2726,11 @@ growly@^1.3.0:
2726 resolved "https://registry.yarnpkg.com/growly/-/growly-1.3.0.tgz#f10748cbe76af964b7c96c93c6bcc28af120c081" 2726 resolved "https://registry.yarnpkg.com/growly/-/growly-1.3.0.tgz#f10748cbe76af964b7c96c93c6bcc28af120c081"
2727 integrity sha1-8QdIy+dq+WS3yWyTxrzCivEgwIE= 2727 integrity sha1-8QdIy+dq+WS3yWyTxrzCivEgwIE=
2728 2728
2729 +hammerjs@^2.0.8:
2730 + version "2.0.8"
2731 + resolved "https://registry.yarnpkg.com/hammerjs/-/hammerjs-2.0.8.tgz#04ef77862cff2bb79d30f7692095930222bf60f1"
2732 + integrity sha1-BO93hiz/K7edMPdpIJWTAiK/YPE=
2733 +
2729 har-schema@^2.0.0: 2734 har-schema@^2.0.0:
2730 version "2.0.0" 2735 version "2.0.0"
2731 resolved "https://registry.yarnpkg.com/har-schema/-/har-schema-2.0.0.tgz#a94c2224ebcac04782a0d9035521f24735b7ec92" 2736 resolved "https://registry.yarnpkg.com/har-schema/-/har-schema-2.0.0.tgz#a94c2224ebcac04782a0d9035521f24735b7ec92"
...@@ -4711,14 +4716,15 @@ react-native-elements@^1.2.7: ...@@ -4711,14 +4716,15 @@ react-native-elements@^1.2.7:
4711 react-native-ratings "^6.3.0" 4716 react-native-ratings "^6.3.0"
4712 react-native-status-bar-height "^2.2.0" 4717 react-native-status-bar-height "^2.2.0"
4713 4718
4714 -react-native-gesture-handler@~1.3.0: 4719 +react-native-gesture-handler@^1.5.2:
4715 - version "1.3.0" 4720 + version "1.5.2"
4716 - resolved "https://registry.yarnpkg.com/react-native-gesture-handler/-/react-native-gesture-handler-1.3.0.tgz#d0386f565928ccc1849537f03f2e37fd5f6ad43f" 4721 + resolved "https://registry.yarnpkg.com/react-native-gesture-handler/-/react-native-gesture-handler-1.5.2.tgz#281111550bf1eee10b7feba5278d142169892731"
4717 - integrity sha512-ASRFIXBuKRvqlmwkWJhV8yP2dTpvcqVrLNpd7FKVBFHYWr6SAxjGyO9Ik8w1lAxDhMlRP2IcJ9p9eq5X2WWeLQ== 4722 + integrity sha512-Xp03dq4XYVTD0xmWx4DW4eX+ox1NQLjHmbykspTdS5FCNIVIOekVXRLFCw1698/v8dYUHApNo6K3s3BCD8fqPA==
4718 dependencies: 4723 dependencies:
4724 + hammerjs "^2.0.8"
4719 hoist-non-react-statics "^2.3.1" 4725 hoist-non-react-statics "^2.3.1"
4720 - invariant "^2.2.2" 4726 + invariant "^2.2.4"
4721 - prop-types "^15.5.10" 4727 + prop-types "^15.7.2"
4722 4728
4723 react-native-iphone-x-helper@^1.0.3: 4729 react-native-iphone-x-helper@^1.0.3:
4724 version "1.2.1" 4730 version "1.2.1"
......