You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 

198 lines
11 KiB

  1. import React, { useState, useEffect } from "react";
  2. import classNames from "classnames";
  3. import { makeStyles } from "@material-ui/core/styles";
  4. import ReactHtmlParser from "react-html-parser";
  5. import Dashboard from "@material-ui/icons/Dashboard";
  6. import Icon from "@material-ui/core/Icon";
  7. import Rating from '@material-ui/lab/Rating';
  8. import Typography from '@material-ui/core/Typography';
  9. import Box from '@material-ui/core/Box';
  10. import CustomTabs from "components/CustomTabs/CustomTabs.js";
  11. import NumberFormat from 'react-number-format';
  12. import Select from 'react-select';
  13. import GridContainer from "components/Grid/GridContainer.js";
  14. import Grid from '@material-ui/core/Grid';
  15. import GridItem from "components/Grid/GridItem.js";
  16. import Card from "components/Card/Card.js";
  17. import CardBody from "components/Card/CardBody.js";
  18. import CardHeader from "components/Card/CardHeader.js";
  19. import CardFooter from "components/Card/CardFooter.js";
  20. import Button from "components/CustomButtons/Button.js";
  21. import styles from "assets/jss/nextjs-material-kit/pages/profilePage.js";
  22. const useStyles = makeStyles(styles);
  23. const DetailDataYGP = function ({ backend, detailygp, ...props }) {
  24. console.log(detailygp);
  25. const classes = useStyles();
  26. const { ...rest } = props;
  27. const imageClasses = classNames(
  28. classes.imgRaised,
  29. classes.imgRoundedCircle,
  30. classes.imgFluid
  31. );
  32. const [value, setValue] = React.useState(5);
  33. const [value5, setValue5] = React.useState(5);
  34. const [value4, setValue4] = React.useState(4);
  35. const [value3, setValue3] = React.useState(3);
  36. const [value2, setValue2] = React.useState(2);
  37. const [value1, setValue1] = React.useState(1);
  38. const navImageClasses = classNames(classes.imgRounded, classes.imgGallery);
  39. const YGPdetails = detailygp.map((data) => {
  40. return (
  41. <div>
  42. <GridContainer>
  43. <Grid fluid xs={5}>
  44. <div className={classes.section} id="notifications">
  45. <div className={classes.section}>
  46. <div className={classes.container}>
  47. <GridContainer>
  48. <GridItem className={classes.marginAuto}>
  49. <Card>
  50. <img className={navImageClasses} width="300px" alt="First slide" src={`${backend}${data.img["url"]}`} />
  51. </Card>
  52. <div align="center">
  53. <h3><b>Pilih Varian Sparepart</b></h3>
  54. <Select
  55. getOptionLabel={option => `${option.name}`}
  56. getOptionValue={option => option.id}
  57. options={data.ygp_units}
  58. isMulti
  59. instanceId="name"
  60. placeholder="Pilih Varian"
  61. onChange={values => handleName(values)}
  62. />
  63. <h3><b>Ulasan (17)</b></h3>
  64. <h5><b>{data.name}</b></h5>
  65. <GridContainer>
  66. <Grid fluid xs={5}>
  67. <h1><b>5.0</b></h1>
  68. <Rating align="center" name="read-only" value={value} readOnly/>
  69. </Grid>
  70. <Grid fluid xs={5}>
  71. <GridContainer>
  72. <Grid fluid xs={3}>
  73. <Rating name="read-only" value={value5} readOnly/>
  74. </Grid>
  75. <Grid fluid xs={5}>
  76. </Grid>
  77. </GridContainer>
  78. <GridContainer>
  79. <Grid fluid xs={5}>
  80. <Rating name="read-only" value={value4} readOnly/>
  81. </Grid>
  82. <Grid fluid xs={5}>
  83. </Grid>
  84. </GridContainer>
  85. <GridContainer>
  86. <Grid fluid xs={5}>
  87. <Rating name="read-only" value={value3} readOnly/>
  88. </Grid>
  89. <Grid fluid xs={5}>
  90. </Grid>
  91. </GridContainer>
  92. <GridContainer>
  93. <Grid fluid xs={5}>
  94. <Rating name="read-only" value={value2} readOnly/>
  95. </Grid>
  96. <Grid fluid xs={5}>
  97. </Grid>
  98. </GridContainer>
  99. <GridContainer>
  100. <Grid fluid xs={5}>
  101. <Rating name="read-only" value={value1} readOnly/>
  102. </Grid>
  103. <Grid fluid xs={5}>
  104. </Grid>
  105. </GridContainer>
  106. </Grid>
  107. </GridContainer>
  108. </div>
  109. </GridItem>
  110. </GridContainer>
  111. </div>
  112. </div>
  113. </div>
  114. </Grid>
  115. <Grid xs={7} style={{padding:"40px", marginTop:"-30px"}}>
  116. <h2><b>{data.name}</b></h2>
  117. <Rating name="read-only" value={value} readOnly/>
  118. <div style={{marginTop:"-20px"}}>
  119. <h3><b>
  120. <NumberFormat value={data.price1} displayType={'text'} thousandSeparator={true} prefix={'Rp.'} />
  121. </b></h3>
  122. </div><br/>
  123. <CustomTabs
  124. headerColor="info"
  125. tabs={[
  126. {
  127. tabName: "Detail Product",
  128. tabContent: (
  129. <p className={classes.textCenter}>
  130. <b>{ReactHtmlParser(data.description)}</b>
  131. </p>
  132. ),
  133. },
  134. {
  135. tabName: "Info Penting",
  136. tabContent: (
  137. <p className={classes.textCenter}>
  138. <h4><b>Informasi mengenai prosedur pengiriman, pembelian dan dokumen</b></h4>
  139. <ul>
  140. <li>Kota Palembang, Kayu Agung, Prabumulih, Pangkalan Balai, Betung : 2-3 hari kerja*</li>
  141. <li>Untuk daerah Sungsang/daerah lain yang menggunakan kapal motor, maka motor diantar sampai di dermaga sesuai dengan jadwal yang diinformasikan</li>
  142. <li>Sekayu, Babat Toman, Pendopo, Baturaja, Martapura, Muara Dua, Lahat, Tanjung Enim, Tugu Mulyo, Belitang : 4-5 hari kerja*</li>
  143. <li>Lubuk Linggau, Curup, Pagar Alam : 6-7 hari kerja*</li>
  144. </ul>
  145. <h4><b>Informasi mengenai prosedur pengiriman, pembelian dan dokumen</b></h4>
  146. <h4><b>Harga</b></h4>
  147. <ul>
  148. <li>Harga OTR sudah termasuk biaya pengiriman dan BBN, kecuali tambahan pengenaan pajak progresif kepemilikan kendaraan bermotor (sesuai dengan peraturan yang telah ditetapkan oleh pemerintah)</li>
  149. <li>Harga OTR diatas berlaku untuk KTP domisili PALEMBANG, OGAN ILIR, dan BANYUASIN, diluar wilayah tersebut harap menghubungi kami untuk konfirmasi harga.</li>
  150. <li>Harga OTR sewaktu-waktu dapat berubah.</li>
  151. <li>Proses pemesanan sepeda motor tidak dapat dibatalkan dan warna yang sudah dipesan tidak dapat diubah.</li>
  152. <li>Proses pemesanan yang terkait waktu pengiriman produk dan kelengkapan dokumen yang dibutuhkan untuk pembuatan STNK dan BPKB akan diinformasikan oleh pihak Dealer.</li>
  153. <li>Proses pengiriman sepeda motor akan dilakukan setelah pelunasan transaksi dan dokumen yang dibutuhkan telah lengkap.</li>
  154. </ul>
  155. <h4><b>Dokumen</b></h4>
  156. <ul>
  157. <li>Proses pembuatan STNK setelah KTP diterima oleh pihak dealer adalah 19-25 hari kerja*.</li>
  158. <li>Proses pembuatan BPKB adalah 3-4 bulan.</li>
  159. <li>STNK dan BPKB wajib diambil sendiri oleh pihak yang bersangkutan sesuai dengan identitas yang tertera STNK di dealer yang ditunjuk.</li>
  160. <li>Untuk proses pembuatan STNK dan BPKB sepenuhnya menjadi tanggung jawab dealer terkait.</li>
  161. <li>Buku servis diterima bersamaan dengan pengiriman sepeda motor.</li>
  162. </ul>
  163. <h4><b>*tidak termasuk Sabtu dan Minggu.</b></h4>
  164. </p>
  165. ),
  166. },
  167. ]}
  168. />
  169. </Grid>
  170. </GridContainer>
  171. </div>
  172. );
  173. })
  174. return (
  175. <Card className={classes.textCenter}>
  176. <div align="center">
  177. <CardHeader color="info">Product Detail</CardHeader>
  178. </div>
  179. <CardBody>
  180. <div>
  181. {YGPdetails}
  182. </div>
  183. </CardBody>
  184. <CardFooter className={classes.textMuted} textAlign="center">
  185. © 2020 , All Right Reserved by @Thamrin Brother Company
  186. </CardFooter>
  187. </Card>
  188. );
  189. }
  190. export default DetailDataYGP;