Advertisement
Guest User

Untitled

a guest
Sep 20th, 2019
130
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 23.31 KB | None | 0 0
  1. import React, { Component, Fragment } from 'react';
  2. import {
  3. View,
  4. TextInput,
  5. Text,
  6. Dimensions,
  7. FlatList,
  8. Alert,
  9. TouchableOpacity,
  10. Platform,
  11. StyleSheet
  12. } from 'react-native';
  13. import { SearchBar, Header, Input, Button, Image } from 'react-native-elements';
  14. import AsyncStorage from '@react-native-community/async-storage';
  15. import moment from "moment";
  16. // import Icon from 'react-native-vector-icons/dist/FontAwesome';
  17. // import Logo from '../assets/img/gundam.png';
  18. // import LoginLogo from '../assets/img/login-logo.png';
  19. // import LoginDoctor from '../assets/img/login-doctor.png';
  20. // import Ext from '../assets/img/Group5x.png';
  21. // import Stet from '../assets/img/stethoscope.png';
  22. // import Appoint from '../assets/img/browser.png';
  23. // import Que from '../assets/img/time-management.png';
  24. // import LeftHeaderLogin from '../components/leftHeaderLogin';
  25. // import { TextField } from 'react-native-material-textfield';
  26. // import { TextInputMask } from 'react-native-masked-text';
  27. // import CardQuota from '../components/cardQuota';
  28.  
  29. // import Doctor from '../assets/img/doctor2.png';
  30. import Doctor from '../../../component/img/doctor2.png';
  31. import NoDoctor from '../../../component/img/no_doctor.png';
  32. import { SafeAreaView } from 'react-navigation';
  33. import { ScrollView } from 'react-native-gesture-handler';
  34. import LeftHeaderBack from '../../../component/header/leftHeaderBack';
  35. import CardDoctor from '../../../component/card/cardDoctor';
  36. import CardQuotaSelect from '../../../component/card/cardQuotaSelect';
  37. import Loader from '../../../global/loader';
  38. import { URL_SERVER_PHC } from '../../../global/settings';
  39. import base64 from 'react-native-base64';
  40. import { Peringatan, DateFormat, Exception, _1stColor} from '../../../global/dev';
  41.  
  42.  
  43. // import LeftHeaderBack from '../components/leftHeaderBack';
  44. // import CardDoctor from '../components/cardDoctor';
  45. // import CardQuotaSelect from '../components/cardQuotaSelect';
  46. const UkuranBaku = Dimensions.get('window').width;
  47.  
  48. export default class getDokterJadwalList extends Component {
  49. constructor(props) {
  50. super(props);
  51. this.state = {
  52. // token: null,
  53. token: 'g4nUG',
  54. data: [],
  55. search: "",
  56. loading: false,
  57. HeightHeadVal: 122,
  58. PaddingTopVal: 70,
  59. HeightScreen: 712,
  60. coba: [],
  61. fromScreen: "",
  62. isLogedOn: false,
  63. fotoDokter: '',
  64.  
  65. pasien_noPeserta_as: '',
  66. kodeAsuransi_as: '',
  67. norm_as: '',
  68. pasien_nama_as: '',
  69. tglLahir_as: '',
  70. pasien_alamat_as: '',
  71. namaAsuransi_as: '',
  72. pasien_email_as: '',
  73. pasien_phone_as: '',
  74. noAsuransi_as: '',
  75. appointmentType: 'byRS',
  76.  
  77. test: '',
  78. tgl: '',
  79. tanggalPilih:'',
  80. };
  81. }
  82.  
  83. componentDidMount = () => {
  84. this.checkState();
  85. };
  86.  
  87. async checkState() {
  88. this.setState({
  89. loading: false
  90. })
  91. // const value = await AsyncStorage.getItem('ibs_jwt_token');
  92. // const value2 = await AsyncStorage.getItem('ibs_kd_cabang');
  93. // const value3 = await AsyncStorage.getItem('ibs_mplg_kode');
  94. // const value4 = await AsyncStorage.getItem('ibs_username');
  95. const pasien_noPeserta_as = await AsyncStorage.getItem('phc_pasien_noPeserta');
  96. const kodeAsuransi_as = await AsyncStorage.getItem('phc_kodeAsuransi');
  97. const norm_as = await AsyncStorage.getItem('phc_norm');
  98. const pasien_nama_as = await AsyncStorage.getItem('phc_pasien_nama');
  99. const tglLahir_as = await AsyncStorage.getItem('phc_tglLahir');
  100. const pasien_alamat_as = await AsyncStorage.getItem('phc_pasien_alamat');
  101. const namaAsuransi_as = await AsyncStorage.getItem('phc_namaAsuransi');
  102. const pasien_email_as = await AsyncStorage.getItem('phc_pasien_email');
  103. const pasien_phone_as = await AsyncStorage.getItem('phc_pasien_phone');
  104. const noAsuransi_as = await AsyncStorage.getItem('phc_noAsuransi');
  105. const isLogedOn = await AsyncStorage.getItem('phc_pasien_noPeserta') ? true : false;
  106.  
  107.  
  108. this.setState({
  109. isLogedOn: isLogedOn,
  110.  
  111. pasien_noPeserta_as: pasien_noPeserta_as ? pasien_noPeserta_as : '-',
  112. kodeAsuransi_as: kodeAsuransi_as ? kodeAsuransi_as : '-',
  113. norm_as: norm_as ? norm_as : '-',
  114. pasien_nama_as: pasien_nama_as ? pasien_nama_as : '-',
  115. tglLahir_as: tglLahir_as ? tglLahir_as : '-',
  116. pasien_alamat_as: pasien_alamat_as ? pasien_alamat_as : '-',
  117. namaAsuransi_as: namaAsuransi_as ? namaAsuransi_as : '-',
  118. pasien_email_as: pasien_email_as ? pasien_email_as : '-',
  119. pasien_phone_as: pasien_phone_as ? pasien_phone_as : '-',
  120. noAsuransi_as: noAsuransi_as ? noAsuransi_as : '-',
  121. });
  122. if (this.state.token) {
  123. this.getData(moment().format('YYYY-MM-DD'))
  124. // this.getData('2019-09-10')
  125. }
  126. }
  127.  
  128. getData = (setTanggal) => {
  129. // this.setState({ loading: true });
  130. // if (this.state.token != null) {
  131. if (this.state.kodePoli && this.state.kodeDokter) {
  132. let urlx = base64.decode(URL_SERVER_PHC) + 'ol_daftar_dokter_perjam.php?kddok=' + this.state.kodeDokter + '&kdklinik=' + this.state.kodePoli + '&tglberobat=' + setTanggal;
  133. return fetch(urlx, {
  134. method: 'GET',
  135. headers: {
  136. Accept: 'application/json',
  137. 'Content-Type': 'application/json'
  138. },
  139. })
  140. .then((response) => response.json())
  141. .then((responseJson) => {
  142. // alert(JSON.stringify(responseJson))
  143.  
  144. // this.setState({ data: responseJson.data });
  145.  
  146. if (responseJson.data == 'null') {
  147. // alert('kosomng')
  148. Peringatan(responseJson.data[0]);
  149. this.props.navigation.goBack();
  150. } else {
  151. this.setState({ data: responseJson.data });
  152. }
  153.  
  154.  
  155. // console.error(this.state.data[0].TGL_PRAKTEK.date);
  156. // console.error(this.state.data[1].date);
  157. // console.error(this.state.data);
  158. this.setState({
  159. loading: false
  160. });
  161.  
  162. })
  163. .catch((error) => {
  164. Exception('getData@getDokterJadwalList.js');
  165. this.setState({
  166. loading: false
  167. });
  168. });
  169. } else {
  170. this.setState({ loading: false });
  171. Peringatan('kode ' + (!this.state.kodePoli ? 'klinik' : 'dokter') + ' tidak ada');
  172. this.props.navigation.goBack();
  173. }
  174. }
  175.  
  176. gotoAppointment1 = (a, b, kdp, ndp, c) => {
  177. // nyamm appoint
  178. let toScreen = '';
  179. // if (this.state.appointmentType == 'byRS') toScreen = 'PendaftaranRJOnline';
  180. // else if (this.state.appointmentType == 'byKlinik') toScreen = 'PendaftaranRJOnlineformKlinik';
  181. // else toScreen = 'PageAppointment1';
  182. toScreen = 'PageAppointment1';
  183. // end nyamm appoint
  184.  
  185. this.props.navigation.navigate(toScreen, {
  186. kodeKlinik: this.state.kodeKlinik,
  187. namaKlinik: this.state.namaKlinik,
  188. kodePoli: this.state.kodePoli,
  189. namaPoli: this.state.namaPoli,
  190. kodeDokter: this.state.kodeDokter,
  191. namaDokter: this.state.namaDokter,
  192. tglPrakter: a.substring(0, 10),
  193. jamPrakter: b,
  194. kodeDokterPengganti: kdp,
  195. namaDokterPengganti: ndp,
  196. quota: c,
  197.  
  198. // nyamm appoint
  199. appointmentType: this.state.appointmentType
  200. });
  201. }
  202.  
  203. gotoAppointment2 = (a, b, kdp, ndp, c) => {
  204. let toScreen = '';
  205. // if (this.state.appointmentType == 'byRS') toScreen = 'PendaftaranRJOnline';
  206. // else if (this.state.appointmentType == 'byKlinik') toScreen = 'PendaftaranRJOnlineformKlinik';
  207. // else toScreen = 'PageAppointment1';
  208. toScreen = 'PageAppointment1';
  209.  
  210. if (this.state.isLogedOn) {
  211. toScreen = 'PageAppointment2';
  212.  
  213. this.props.navigation.navigate(toScreen, {
  214. kodeKlinik: this.state.kodeKlinik,
  215. namaKlinik: this.state.namaKlinik,
  216. kodeDokter: this.state.kodeDokter,
  217. namaDokter: this.state.namaDokter,
  218. namaPoli: this.state.namaPoli,
  219. kodePoli: this.state.kodePoli,
  220. tglPrakter: a.substring(0, 10),
  221. norm: this.state.norm_as.substring(0, 6),
  222. tglLahir: this.state.tglLahir_as,
  223. pasien_nama: this.state.pasien_nama_as,
  224. pasien_alamat: this.state.pasien_alamat_as,
  225. pasien_email: this.state.pasien_email_as,
  226. pasien_noKartu: this.state.noAsuransi_as,
  227. pasien_noPeserta: this.state.pasien_noPeserta_as,
  228. pasien_phone: this.state.pasien_phone_as,
  229. kodeAsuransi: this.state.kodeAsuransi_as,
  230. namaAsuransi: this.state.namaAsuransi_as,
  231. noAsuransi: this.state.noAsuransi_as,
  232. isValidPasien: true,
  233. jamPrakter: b,
  234.  
  235. // nyamm appoint
  236. appointmentType: this.state.appointmentType
  237. });
  238. } else {
  239. this.gotoAppointment1();
  240. }
  241. }
  242.  
  243.  
  244. handleSettingsPress = (a, b, kdp, ndp, c) => {
  245.  
  246. /////////////////////////////////////////////////////////
  247. if (this.state.isLogedOn) {
  248. Alert.alert(
  249. 'Notifikasi',
  250. 'Apakah anda mendaftar untuk diri sendiri .?',
  251. [
  252. // { text: 'cancel', onPress: () => '' },
  253. { text: 'orang lain', onPress: () => this.gotoAppointment1(a, b, kdp, ndp, c), },
  254. {
  255. text: 'saya sendiri',
  256. onPress: () => this.gotoAppointment2(a, b, kdp, ndp, c),
  257. style: 'cancel',
  258. },
  259. ],
  260. { cancelable: false },
  261. );
  262. } else {
  263. this.gotoAppointment1(a, b, kdp, ndp, c)
  264. }
  265. /////////////////////////////////////////////////////////
  266.  
  267. };
  268.  
  269. _renderItem = (item) => {
  270. let tglx = item;
  271. // console.error(tglx);
  272. // console.error('tglx');
  273.  
  274. // this.state.data[0].TGL_PRAKTEK.date
  275. // console.error('itemx');
  276. // let tglPraktekDate = new Date(item.TGL_PRAKTEK.date.substring(0, 10));
  277.  
  278.  
  279. return (
  280. <TouchableOpacity id={item.KDDOK}
  281. onPress={item.KUOTA_JAM <= 0 || item.KUOTA_JAM == '0' || item.KUOTA_JAM == '' || item.KUOTA_JAM == null ? () => alert('kuota habis') : () => this.handleSettingsPress(
  282. JSON.stringify(this.state.tanggalPilih),
  283. item.JAM,
  284. // item.PENGGANTI.substring(0, 3), //kdp
  285. // item.PENGGANTI.substring(6), //ndp
  286. item.KUOTA_JAM
  287. )}
  288. underlayColor='#F5FCFF'
  289. >
  290. <CardQuotaSelect
  291. // Date(this.props.tglPrakter.substring(0, 10))
  292. // tgl={item.TGL_PRAKTEK ? DateFormat(tglPraktekDate.getDay(), 'DD') + ', ' + DateFormat(item.TGL_PRAKTEK.date.substring(0, 10), 'dd-mm-yyyy') : '-'}
  293. // tgl={item[0].TGL_PRAKTEK.date}
  294. tgl={item.JAM}
  295. doctor={item.KUOTA_JAM}
  296. spesialis={this.state.namaPoli}
  297. number={item.KUOTA_JAM} />
  298. {/* tgl={item.tgl}
  299. jam={item.jam}
  300. doctor={item.doctor}
  301. spesialis={item.spesialis}
  302. number={item.number} /> */}
  303. </TouchableOpacity>
  304. )
  305. }
  306.  
  307. lihatSemua = () => {
  308. alert('lihat semua')
  309. }
  310.  
  311.  
  312. convertDay = (day) => {
  313. let a = '';
  314. if(day=='Sunday'){
  315. a = 'Min'
  316. } else if (day=='Monday'){
  317. a = 'Sen'
  318. } else if (day=='Tuesday'){
  319. a = 'Sel'
  320. } else if (day=='Wednesday'){
  321. a = 'Rab'
  322. } else if (day=='Thursday'){
  323. a = 'Kam'
  324. } else if (day=='Friday'){
  325. a = 'Jum'
  326. }
  327. else {
  328. a = 'Sab'
  329. }
  330. return a;
  331. }
  332.  
  333. day = (name) => {
  334. let a = this.convertDay(moment().add(name, 'days').format('dddd'));
  335. return a;
  336. }
  337.  
  338. date = (date) => {
  339. let a = moment().add(date, 'days').format('DD')
  340. return a;
  341. }
  342.  
  343. getTgl = (tgl) => {
  344. let a = moment().add(tgl, 'days').format('YYYY-MM-DD')
  345. this.setState({
  346. tanggalPilih : a
  347. })
  348. this.getData(a);
  349. }
  350.  
  351. render() {
  352. const { navigation } = this.props;
  353. this.state.fromScreen = navigation.getParam('Screen');
  354. this.state.kodeKlinik = navigation.getParam('kodeKlinik');
  355. this.state.namaKlinik = navigation.getParam('namaKlinik');
  356. this.state.kodePoli = navigation.getParam('kodePoli');
  357. this.state.namaPoli = navigation.getParam('namaPoli');
  358. this.state.kodeDokter = navigation.getParam('kodeDokter');
  359. this.state.namaDokter = navigation.getParam('namaDokter');
  360. this.state.fotoDokter = navigation.getParam('fotoDokter');
  361. this.state.kodeDokterPengganti = navigation.getParam('kodeDokterPengganti');
  362. this.state.namaDokterPengganti = navigation.getParam('dokterPengganti');
  363.  
  364. // nyamm appoint
  365. this.state.appointmentType = navigation.getParam('appointmentType');
  366. // console.error(this.state.appointmentType)
  367. // console.error(this.state.fotoDokter)
  368.  
  369. return (
  370. <SafeAreaView style={styles.container}>
  371. <Loader loading={this.state.loading} />
  372. <Header
  373. placement="left"
  374. leftComponent={<LeftHeaderBack title={'Pilih Jadwal'} onBack={() => this.props.navigation.goBack()} />}
  375. leftContainerStyle={{ width: Dimensions.get('window').width / 2 }}
  376. containerStyle={{
  377. flex: 0,
  378. backgroundColor: 'transparent',
  379. borderBottomWidth: 1,
  380. height: (0.185 * UkuranBaku),
  381. // height: 70,
  382. shadowColor: '#000',
  383. shadowOpacity: 0.1,
  384. justifyContent: 'center'
  385. //backfaceVisibility: 'hidden',
  386. }}
  387. style={{ opacity: 0.1 }}
  388. //backgroundColor={'transparent'}
  389. />
  390. <View style={styles.bottomContainer}>
  391. <CardDoctor
  392. // pic={NoDoctor}
  393. pic={this.state.fotoDokter}
  394. doctor={this.state.namaDokter}
  395. spesialis={this.state.namaPoli}
  396. // doctor={'Nur Rahmi, Dr.Sp.A'}
  397. // spesialis={'Spesialis Anak'}
  398. />
  399.  
  400. <Text style={{ fontFamily: 'Montserrat-LightItalic', marginLeft: (0.045 * UkuranBaku), marginBottom: (0.0125 * UkuranBaku), fontSize: (0.045 * UkuranBaku), marginTop: (0.055 * UkuranBaku) }}>{this.state.namaKlinik}</Text>
  401. {/* <Text style={{ fontFamily: 'Montserrat-LightItalic', marginLeft: 10, marginBottom: 5, fontSize: 20, marginTop: 10 }}>RS PHC Surabaya</Text> */}
  402.  
  403. </View>
  404. <View style={{flexDirection:'row', backgroundColor:_1stColor, height:50, justifyContent: 'center', width:'100%'}}>
  405. <Text style={styles.headerDate}>{moment().format('MMMM YYYY')}</Text>
  406. </View>
  407.  
  408. <View style={{flexDirection:'row', backgroundColor:_1stColor, height:50, width:'100%'}}>
  409. <View style={{width:'14%'}}>
  410. <TouchableOpacity
  411. onPress={() => this.getData(moment().format('YYYY-MM-DD'))}
  412. // onPress={() => this.data()}
  413. >
  414. <Text style={styles.date}>{this.convertDay(moment(new Date()).format("dddd"))}</Text>
  415. <Text style={styles.date}>{moment(new Date()).format("DD")}</Text>
  416. </TouchableOpacity>
  417. </View>
  418. <View style={{width:'14%'}}>
  419. <TouchableOpacity
  420. // onPress={() => this.getData(moment().format('YYYY-MM-DD'))}
  421. onPress={() => this.getTgl(1)}
  422. >
  423. <Text style={styles.date}>{this.day(1)}</Text>
  424. <Text style={styles.date}>{this.date(1)}</Text>
  425. </TouchableOpacity>
  426. </View>
  427. <View style={{width:'14%'}}>
  428. <TouchableOpacity
  429. onPress={() => this.getTgl(2)}
  430. >
  431. <Text style={styles.date}>{this.day(2)}</Text>
  432. <Text style={styles.date}>{this.date(2)}</Text>
  433. </TouchableOpacity>
  434. </View>
  435. <View style={{width:'14%'}}>
  436. <TouchableOpacity
  437. onPress={() => this.getTgl(3)}
  438. >
  439. <Text style={styles.date}>{this.day(3)}</Text>
  440. <Text style={styles.date}>{this.date(3)}</Text>
  441. </TouchableOpacity>
  442. </View>
  443. <View style={{width:'14%'}}>
  444. <TouchableOpacity
  445. onPress={() => this.getTgl(4)}
  446. >
  447. <Text style={styles.date}>{this.day(4)}</Text>
  448. <Text style={styles.date}>{this.date(4)}</Text>
  449. </TouchableOpacity>
  450. </View>
  451. <View style={{width:'14%'}}>
  452. <TouchableOpacity
  453. onPress={() => this.getTgl(5)}
  454. >
  455. <Text style={styles.date}>{this.day(5)}</Text>
  456. <Text style={styles.date}>{this.date(5)}</Text>
  457. </TouchableOpacity>
  458. </View>
  459. <View style={{width:'14%'}}>
  460. <TouchableOpacity
  461. onPress={() => this.getTgl(6)}
  462. >
  463. <Text style={styles.date}>{this.day(6)}</Text>
  464. <Text style={styles.date}>{this.date(6)}</Text>
  465. </TouchableOpacity>
  466. </View>
  467. </View>
  468. <ScrollView style={{ width: '100%' }}>
  469. {/* {console.error(this.state.data)} */}
  470. <View>
  471. <FlatList
  472. // style={{
  473. // marginHorizontal: (0.0125 * UkuranBaku),
  474. // marginVertical: (0.125 * UkuranBaku),
  475. // }}
  476. // data={this.state.daÎta}
  477. //horizontal={true}
  478. data={this.state.data ? this.state.data : []}
  479. renderItem={({ item }) => this._renderItem(item)}
  480. keyExtractor={(item, index) => 'index' + index}
  481. />
  482. </View>
  483. </ScrollView>
  484. </SafeAreaView>
  485. );
  486. }
  487. }
  488.  
  489.  
  490.  
  491. const styles = StyleSheet.create({
  492. container: {
  493. flex: 1,
  494. //justifyContent: 'space-between',
  495. backgroundColor: '#fff',
  496. alignItems: 'center',
  497. width: '100%',
  498. },
  499. h0: {
  500. color: '#008F68',
  501. fontSize: 24,
  502. alignSelf: 'center'
  503. },
  504. h1: {
  505. color: '#008F68',
  506. fontSize: 40,
  507. },
  508. h2: {
  509. color: '#FAE042',
  510. fontSize: 18,
  511. marginTop: 8,
  512. },
  513. image: {
  514. width: 300,
  515. height: 260,
  516. justifyContent: 'center',
  517. },
  518. cardform: {
  519. borderRadius: 5,
  520. backgroundColor: '#F4F4F4',
  521. width: '95%',
  522. alignSelf: 'center'
  523. },
  524. logo: {
  525. flex: 1,
  526. maxHeight: 40,
  527. maxWidth: 40,
  528. alignSelf: 'center',
  529. marginLeft: 20,
  530. marginRight: 10
  531. },
  532. search: {
  533. borderWidth: 1,
  534. borderColor: '#bfc7ce',
  535. borderRadius: 5,
  536. backgroundColor: '#CAD1D7',
  537. //marginLeft: 10,
  538. //marginRight: 10,
  539. marginBottom: 10,
  540. flex: 1,
  541. width: '90%',
  542. alignSelf: 'center'
  543. },
  544. header: {
  545. maxHeight: 60,
  546. backgroundColor: '#fff',
  547. //flex: 1,
  548. width: '100%',
  549. margin: 0,
  550. flexDirection: 'row'
  551. },
  552. hr: {
  553. fontFamily: 'Montserrat-LightItalic',
  554. fontSize: (0.035 * UkuranBaku),
  555. color: '#4b4b7d',
  556. alignSelf: 'flex-start',
  557. marginTop: (0.025 * UkuranBaku),
  558. marginLeft: (0.025 * UkuranBaku),
  559. },
  560. headerDate: {
  561. fontFamily: 'Montserrat-LightItalic',
  562. fontSize: (0.090 * UkuranBaku),
  563. color: 'white',
  564. alignItems: 'center'
  565. },
  566. date: {
  567. fontFamily: 'Montserrat-LightItalic',
  568. fontSize: (0.035 * UkuranBaku),
  569. color: 'white',
  570. alignSelf: 'flex-start',
  571. },
  572. button: {
  573. flex: 1,
  574. width: 800,
  575. backgroundColor: '#008F68',
  576. color: '#008F68'
  577. },
  578. button2: {
  579. margin: 2,
  580. height: 100,
  581. width: 100,
  582. backgroundColor: '#000',
  583. borderRadius: 5
  584. },
  585. button3: {
  586. margin: 5,
  587. height: 90,
  588. width: 80,
  589. //backgroundColor: '#000',
  590. //borderWidth: 1,
  591. //borderColor: '#F4F4F4', //'#F4F4F4','#c6ced0'
  592. //borderRadius: 15
  593. },
  594. topContainer: {
  595. flex: 2,
  596. //margin: 0
  597. //justifyContent: 'center',
  598. //alignItems: 'center',
  599. },
  600. middleContainer: {
  601. //flex: 2,
  602. justifyContent: 'flex-start',
  603. //alignItems: 'center',
  604. //marginTop: 5,
  605. marginTop: 1,
  606. height: 240
  607. },
  608. bottomContainer: {
  609. justifyContent: 'flex-end',
  610. width: '100%',
  611. marginTop: (0.014 * UkuranBaku),
  612. // marginBottom: 50
  613. //padding: 10,
  614. },
  615. buttonContainer: {
  616. backgroundColor: '#008F68',
  617. borderRadius: 5,
  618. padding: 8,
  619. margin: 8,
  620. },
  621. });
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement