| @@ -0,0 +1,155 @@ | |||
| import apollo from "../../lib/apollo.js"; | |||
| async function getTransaction(token = "") { | |||
| var res = await apollo.query( | |||
| ` | |||
| query { | |||
| transactions{ | |||
| id | |||
| order_id | |||
| cust_name | |||
| cust_telp | |||
| cust_address | |||
| product_img{ | |||
| url | |||
| } | |||
| product_name | |||
| product_color | |||
| product_quantity | |||
| product_courier | |||
| product_price | |||
| } | |||
| }`, | |||
| token | |||
| ); | |||
| return res; | |||
| } | |||
| async function getTransactionUnpaid(token = "") { | |||
| var res = await apollo.query( | |||
| ` | |||
| query { | |||
| transactions(where: { status: "1" }){ | |||
| id | |||
| order_id | |||
| cust_name | |||
| cust_telp | |||
| cust_address | |||
| product_img{ | |||
| url | |||
| } | |||
| product_name | |||
| product_color | |||
| product_quantity | |||
| product_courier | |||
| product_price | |||
| } | |||
| }`, | |||
| token | |||
| ); | |||
| return res; | |||
| } | |||
| async function getTransactionPrepared(token = "") { | |||
| var res = await apollo.query( | |||
| ` | |||
| query { | |||
| transactions(where: { status: "2" }){ | |||
| id | |||
| order_id | |||
| cust_name | |||
| cust_telp | |||
| cust_address | |||
| product_img{ | |||
| url | |||
| } | |||
| product_name | |||
| product_color | |||
| product_quantity | |||
| product_courier | |||
| product_price | |||
| } | |||
| }`, | |||
| token | |||
| ); | |||
| return res; | |||
| } | |||
| async function getTransactionSending(token = "") { | |||
| var res = await apollo.query( | |||
| ` | |||
| query { | |||
| transactions(where: { status: "3" }){ | |||
| id | |||
| order_id | |||
| cust_name | |||
| cust_telp | |||
| cust_address | |||
| product_img{ | |||
| url | |||
| } | |||
| product_name | |||
| product_color | |||
| product_quantity | |||
| product_courier | |||
| product_price | |||
| } | |||
| }`, | |||
| token | |||
| ); | |||
| return res; | |||
| } | |||
| async function getTransactionFinished(token = "") { | |||
| var res = await apollo.query( | |||
| ` | |||
| query { | |||
| transactions(where: { status: "4" }){ | |||
| id | |||
| order_id | |||
| cust_name | |||
| cust_telp | |||
| cust_address | |||
| product_img{ | |||
| url | |||
| } | |||
| product_name | |||
| product_color | |||
| product_quantity | |||
| product_courier | |||
| product_price | |||
| } | |||
| }`, | |||
| token | |||
| ); | |||
| return res; | |||
| } | |||
| async function newTransaction(content, token="") { | |||
| var res = await apollo.mutation( | |||
| ` | |||
| mutation($input : TransactionInput!){ | |||
| createTransaction( input:{data:$input} ) | |||
| { | |||
| transaction{ | |||
| id | |||
| } | |||
| } | |||
| } | |||
| `, | |||
| token, | |||
| { | |||
| input: content, | |||
| } | |||
| ); | |||
| return res; | |||
| } | |||
| module.exports = { | |||
| newTransaction: newTransaction, | |||
| getTransaction:getTransaction, | |||
| getTransactionUnpaid:getTransactionUnpaid, | |||
| getTransactionPrepared:getTransactionPrepared, | |||
| getTransactionSending:getTransactionSending, | |||
| getTransactionFinished:getTransactionFinished, | |||
| }; | |||
| @@ -24,11 +24,10 @@ const headerLinksStyle = theme => ({ | |||
| [theme.breakpoints.down("sm")]: { | |||
| width: "100%", | |||
| "&:after": { | |||
| width: "calc(100% - 30px)", | |||
| width: "100%", | |||
| content: '""', | |||
| display: "block", | |||
| height: "1px", | |||
| marginLeft: "15px", | |||
| backgroundColor: "#e5e5e5" | |||
| } | |||
| } | |||
| @@ -69,7 +68,6 @@ const headerLinksStyle = theme => ({ | |||
| margin: "5px 15px" | |||
| }, | |||
| color: "#FFF", | |||
| padding: "0.9375rem", | |||
| fontWeight: "400", | |||
| fontSize: "12px", | |||
| textTransform: "uppercase", | |||
| @@ -6,7 +6,6 @@ const notificationsStyles = { | |||
| display: "block", | |||
| width: "100%", | |||
| position: "relative", | |||
| padding: "0" | |||
| }, | |||
| title: { | |||
| ...title, | |||
| @@ -1,16 +1,10 @@ | |||
| /*eslint-disable*/ | |||
| import React from "react"; | |||
| // nodejs library to set properties for components | |||
| import PropTypes from "prop-types"; | |||
| // nodejs library that concatenates classes | |||
| import classNames from "classnames"; | |||
| // material-ui core components | |||
| import { List, ListItem } from "@material-ui/core"; | |||
| import { makeStyles } from "@material-ui/core/styles"; | |||
| // @material-ui/icons | |||
| import Favorite from "@material-ui/icons/Favorite"; | |||
| import GridContainer from "components/Grid/GridContainer.js"; | |||
| import Grid from '@material-ui/core/Grid'; | |||
| import GridItem from "components/Grid/GridItem.js"; | |||
| @@ -18,39 +12,30 @@ import Paper from '@material-ui/core/Paper'; | |||
| import Card from "components/Card/Card.js"; | |||
| import styles from "assets/jss/nextjs-material-kit/components/footerStyle.js"; | |||
| // import iconfb from "assets/img/sosmed/iconfb.png"; | |||
| // import iconig from "assets/img/sosmed/iconig.png"; | |||
| // import icontwt from "assets/img/sosmed/icontwt.png"; | |||
| // import iconyt from "assets/img/sosmed/iconyt.png"; | |||
| const useStyles = makeStyles(styles); | |||
| export default function Footer(props) { | |||
| const classes = useStyles(); | |||
| const { whiteFont } = props; | |||
| const footerClasses = classNames({ | |||
| [classes.footer]: true, | |||
| [classes.footerWhiteFont]: whiteFont | |||
| }); | |||
| const aClasses = classNames({ | |||
| [classes.a]: true, | |||
| [classes.footerWhiteFont]: whiteFont | |||
| }); | |||
| return ( | |||
| <div> | |||
| <GridContainer style={{padding: "40px"}} justify="center"> | |||
| <Grid> | |||
| <div align="center" style={{marginTop:"-20px"}}> | |||
| <img className={classes.imgCard} src="https://1.bp.blogspot.com/-GTTVvnJ9x0c/Wn70CJxGoYI/AAAAAAAACRY/GSv1ehPFOPQZcvOfiALy_p7Xa7GOBRHKgCLcBGAs/s320/TB.pn" style={{width:"350px"}}/> | |||
| <img className={classes.imgCard} src="https://belimotoryuk.com/wp-content/uploads/2017/03/cropped-logo-yamaha.png" style={{width:"350px"}}/> | |||
| </div> | |||
| </Grid> | |||
| <Grid> | |||
| <div> | |||
| <footer className={footerClasses}> | |||
| <div className={classes.container}> | |||
| <div className={classes.left}> | |||
| <List className={classes.list}> | |||
| const classes = useStyles(); | |||
| const { whiteFont } = props; | |||
| const footerClasses = classNames({ | |||
| [classes.footer]: true, | |||
| [classes.footerWhiteFont]: whiteFont | |||
| }); | |||
| const aClasses = classNames({ | |||
| [classes.a]: true, | |||
| [classes.footerWhiteFont]: whiteFont | |||
| }); | |||
| return ( | |||
| <GridItem xs={12}> | |||
| <div align="center" style={{marginTop:"-20px"}}> | |||
| <br></br> | |||
| <div align="center" style={{marginTop:"-20px"}}> | |||
| <img className={classes.imgCard} src="https://1.bp.blogspot.com/-GTTVvnJ9x0c/Wn70CJxGoYI/AAAAAAAACRY/GSv1ehPFOPQZcvOfiALy_p7Xa7GOBRHKgCLcBGAs/s320/TB.pn" style={{width:"350px"}}/> | |||
| <img className={classes.imgCard} src="https://belimotoryuk.com/wp-content/uploads/2017/03/cropped-logo-yamaha.png" style={{width:"350px"}}/> | |||
| </div> | |||
| </div><br/> | |||
| <div align="center"> | |||
| <List className={classes.list}> | |||
| <ListItem className={classes.inlineBlock}> | |||
| <a href="/yamaha/home" className={classes.block} > Home </a> | |||
| </ListItem> | |||
| @@ -88,51 +73,30 @@ export default function Footer(props) { | |||
| <a href="/yamaha/about_us/aboutus" className={classes.block}> About Us </a> | |||
| </ListItem> | |||
| </List> | |||
| </div> | |||
| </div> | |||
| </footer> | |||
| </div> | |||
| </Grid> | |||
| </GridContainer> | |||
| <GridContainer style={{marginTop: "-100px", padding:"50px"}} justify="center"> | |||
| <Grid> | |||
| <div> | |||
| <footer className={footerClasses}> | |||
| <div className={classes.container}> | |||
| <div className={classes.left}> | |||
| <List className={classes.list}> | |||
| <ListItem className={classes.inlineBlock}> | |||
| <a href="#" className={classes.block} >Facebook</a> | |||
| <div align="center"> | |||
| <List className={classes.list}> | |||
| <ListItem className={classes.inlineBlock}> | |||
| <a href="#" target="_blank" className={classes.block} >Facebook</a> | |||
| </ListItem> | |||
| <ListItem className={classes.inlineBlock}> | |||
| <a href="#" className={classes.block}>Instagram</a> | |||
| <a href="#" target="_blank" className={classes.block}>Instagram</a> | |||
| </ListItem> | |||
| <ListItem className={classes.inlineBlock}> | |||
| <a href="#" className={classes.block}>Twitter</a> | |||
| <a href="#" target="_blank" className={classes.block}>Twitter</a> | |||
| </ListItem> | |||
| <ListItem className={classes.inlineBlock}> | |||
| <a href="//#endregion" className={classes.block}>Youtube</a> | |||
| <a href="#" target="_blank" className={classes.block}>Youtube</a> | |||
| </ListItem> | |||
| </List> | |||
| </div> | |||
| </div> | |||
| </footer> | |||
| </div> | |||
| </Grid> | |||
| </GridContainer> | |||
| <GridContainer style={{marginTop: "-40px"}} justify="center"> | |||
| <Grid> | |||
| <div align="center"> | |||
| <div className={classes.right}> | |||
| © {1900 + new Date().getYear()} , All Right Reserved{" "} by{" "} @Thamrin Group Company | |||
| </div> | |||
| </div> | |||
| </Grid> | |||
| </GridContainer> | |||
| </div> | |||
| ); | |||
| </div><br/><br/> | |||
| <div align="center"> | |||
| © {1900 + new Date().getYear()} , All Right Reserved{" "} by{" "} @Thamrin Brothers | |||
| </div><br/><br/> | |||
| </GridItem> | |||
| ); | |||
| } | |||
| Footer.propTypes = { | |||
| whiteFont: PropTypes.bool | |||
| whiteFont: PropTypes.bool | |||
| }; | |||
| @@ -2,26 +2,16 @@ | |||
| import React from "react"; | |||
| // nodejs library to set properties for components | |||
| import PropTypes from "prop-types"; | |||
| // nodejs library that concatenates classes | |||
| import classNames from "classnames"; | |||
| // material-ui core components | |||
| import { List, ListItem } from "@material-ui/core"; | |||
| import { makeStyles } from "@material-ui/core/styles"; | |||
| // @material-ui/icons | |||
| import Favorite from "@material-ui/icons/Favorite"; | |||
| import GridContainer from "components/Grid/GridContainer.js"; | |||
| import Grid from '@material-ui/core/Grid'; | |||
| import Paper from '@material-ui/core/Paper'; | |||
| import Card from "components/Card/Card.js"; | |||
| import GridItem from "components/Grid/GridItem.js"; | |||
| import styles from "assets/jss/nextjs-material-kit/components/footerStyle.js"; | |||
| import CLM from "assets/img/clm.png"; | |||
| import Hino from "assets/img/logohino.png"; | |||
| const useStyles = makeStyles(styles); | |||
| export default function Footer(props) { | |||
| const classes = useStyles(); | |||
| const { whiteFont } = props; | |||
| @@ -34,98 +24,53 @@ export default function Footer(props) { | |||
| [classes.footerWhiteFont]: whiteFont | |||
| }); | |||
| return ( | |||
| <div><br/> | |||
| <GridContainer justify="center"> | |||
| <Grid style={{padding:"25px"}}> | |||
| <br/> | |||
| <img className={classes.imgCard} src={CLM} style={{width:"200px"}}/> | |||
| </Grid> | |||
| <Grid style={{padding:"25px"}}> | |||
| <img className={classes.imgCard} src={Hino} style={{width:"250px"}}/> | |||
| </Grid> | |||
| </GridContainer> | |||
| <GridContainer justify="center"> | |||
| <Grid style={{padding:"25px", marginTop:"-50px"}}> | |||
| <footer className={footerClasses}> | |||
| <div className={classes.container}> | |||
| <div className={classes.left}> | |||
| <List className={classes.list}> | |||
| <ListItem className={classes.inlineBlock}> | |||
| <a href="/suzuki/home" className={classes.block} > Home </a> | |||
| </ListItem> | |||
| <ListItem className={classes.inlineBlock}> | |||
| <a href="/suzuki/product/product" className={classes.block}> Product </a> | |||
| </ListItem> | |||
| {/* <ListItem className={classes.inlineBlock}> | |||
| <a href="/suzuki/product/ygp" className={classes.block}> YGP </a> | |||
| </ListItem> | |||
| <ListItem className={classes.inlineBlock}> | |||
| <a href="/suzuki/product/yamalube" className={classes.block}> Yamalube </a> | |||
| </ListItem> | |||
| <ListItem className={classes.inlineBlock}> | |||
| <a href="/suzuki/product/apparel" className={classes.block}> Apparel </a> | |||
| </ListItem> | |||
| <ListItem className={classes.inlineBlock}> | |||
| <a href="/suzuki/product/helmet" className={classes.block}> Helmet </a> | |||
| </ListItem> | |||
| <ListItem className={classes.inlineBlock}> | |||
| <a href="/suzuki/product/accessories" className={classes.block}> Accessories </a> | |||
| </ListItem> | |||
| <ListItem className={classes.inlineBlock}> | |||
| <a href="/suzuki/product/service" className={classes.block}> Service </a> | |||
| </ListItem> | |||
| <ListItem className={classes.inlineBlock}> | |||
| <a href="/suzuki/product/dealer" className={classes.block}> Dealer </a> | |||
| </ListItem> */} | |||
| <ListItem className={classes.inlineBlock}> | |||
| <a href="/suzuki/latestsnews" className={classes.block}> Latest News </a> | |||
| </ListItem> | |||
| <ListItem className={classes.inlineBlock}> | |||
| <a href="/suzuki/carrer" className={classes.block}> Carrer </a> | |||
| </ListItem> | |||
| <ListItem className={classes.inlineBlock}> | |||
| <a href="/suzuki/about_us/aboutus" className={classes.block}> About Us </a> | |||
| </ListItem> | |||
| </List> | |||
| </div> | |||
| </div> | |||
| </footer> | |||
| </Grid> | |||
| </GridContainer> | |||
| <GridContainer style={{marginTop: "-100px", padding:"50px"}} justify="center"> | |||
| <Grid> | |||
| <div> | |||
| <footer className={footerClasses}> | |||
| <div className={classes.container}> | |||
| <div className={classes.left}> | |||
| <List className={classes.list}> | |||
| <ListItem className={classes.inlineBlock}> | |||
| <a href="#" className={classes.block} >Facebook</a> | |||
| </ListItem> | |||
| <ListItem className={classes.inlineBlock}> | |||
| <a href="#" className={classes.block}>Instagram</a> | |||
| </ListItem> | |||
| <ListItem className={classes.inlineBlock}> | |||
| <a href="#" className={classes.block}>Twitter</a> | |||
| </ListItem> | |||
| <ListItem className={classes.inlineBlock}> | |||
| <a href="//#endregion" className={classes.block}>Youtube</a> | |||
| </ListItem> | |||
| </List> | |||
| </div> | |||
| </div> | |||
| </footer> | |||
| <GridItem xs={12}> | |||
| <div align="center" style={{marginTop:"-20px"}}> | |||
| <br/><br/><br/> | |||
| <div align="center" style={{marginTop:"-20px"}}> | |||
| <img className={classes.imgCard} src={CLM}style={{width:"250px", padding:"20px"}}/> | |||
| <img className={classes.imgCard} src={Hino} style={{width:"250px", padding:"20px"}}/> | |||
| </div> | |||
| </Grid> | |||
| </GridContainer> | |||
| <GridContainer justify="center"> | |||
| <Grid style={{padding:"25px", marginTop:"-50px"}}> | |||
| <div className={classes.right}> | |||
| © {1900 + new Date().getYear()} , All Right Reserved{" "} by{" "} @Thamrin Group Company | |||
| </div> | |||
| </Grid> | |||
| </GridContainer> | |||
| </div> | |||
| </div><br/> | |||
| <div align="center"> | |||
| <List className={classes.list}> | |||
| <ListItem className={classes.inlineBlock}> | |||
| <a href="/suzuki/home" className={classes.block} > Home </a> | |||
| </ListItem> | |||
| <ListItem className={classes.inlineBlock}> | |||
| <a href="/suzuki/product/product" className={classes.block}> Product </a> | |||
| </ListItem> | |||
| <ListItem className={classes.inlineBlock}> | |||
| <a href="/suzuki/latestsnews" className={classes.block}> Latest News </a> | |||
| </ListItem> | |||
| <ListItem className={classes.inlineBlock}> | |||
| <a href="/suzuki/carrer" className={classes.block}> Carrer </a> | |||
| </ListItem> | |||
| <ListItem className={classes.inlineBlock}> | |||
| <a href="/suzuki/about_us/aboutus" className={classes.block}> About Us </a> | |||
| </ListItem> | |||
| </List> | |||
| </div> | |||
| <div align="center"> | |||
| <List className={classes.list}> | |||
| <ListItem className={classes.inlineBlock}> | |||
| <a href="#" target="_blank" className={classes.block} >Facebook</a> | |||
| </ListItem> | |||
| <ListItem className={classes.inlineBlock}> | |||
| <a href="#" target="_blank" className={classes.block}>Instagram</a> | |||
| </ListItem> | |||
| <ListItem className={classes.inlineBlock}> | |||
| <a href="#" target="_blank" className={classes.block}>Twitter</a> | |||
| </ListItem> | |||
| <ListItem className={classes.inlineBlock}> | |||
| <a href="#" target="_blank" className={classes.block}>Youtube</a> | |||
| </ListItem> | |||
| </List> | |||
| </div><br/><br/> | |||
| <div align="center"> | |||
| © {1900 + new Date().getYear()} , All Right Reserved{" "} by{" "} @Thamrin Brothers | |||
| </div><br/><br/> | |||
| </GridItem> | |||
| ); | |||
| } | |||
| @@ -1,30 +1,19 @@ | |||
| /*eslint-disable*/ | |||
| import React from "react"; | |||
| // nodejs library to set properties for components | |||
| import PropTypes from "prop-types"; | |||
| // nodejs library that concatenates classes | |||
| import classNames from "classnames"; | |||
| // material-ui core components | |||
| import { List, ListItem } from "@material-ui/core"; | |||
| import { makeStyles } from "@material-ui/core/styles"; | |||
| // @material-ui/icons | |||
| import Favorite from "@material-ui/icons/Favorite"; | |||
| import GridContainer from "components/Grid/GridContainer.js"; | |||
| import Grid from '@material-ui/core/Grid'; | |||
| import GridItem from "components/Grid/GridItem.js"; | |||
| import Paper from '@material-ui/core/Paper'; | |||
| import Card from "components/Card/Card.js"; | |||
| import styles from "assets/jss/nextjs-material-kit/components/footerStyle.js"; | |||
| import Logo from "assets/img/White.png"; | |||
| // import iconfb from "assets/img/sosmed/iconfb.png"; | |||
| // import iconig from "assets/img/sosmed/iconig.png"; | |||
| // import icontwt from "assets/img/sosmed/icontwt.png"; | |||
| // import iconyt from "assets/img/sosmed/iconyt.png"; | |||
| const useStyles = makeStyles(styles); | |||
| export default function Footer(props) { | |||
| @@ -39,20 +28,13 @@ export default function Footer(props) { | |||
| [classes.footerWhiteFont]: whiteFont | |||
| }); | |||
| return ( | |||
| <div> | |||
| <GridContainer style={{padding: "40px"}} justify="center"> | |||
| <Grid> | |||
| <GridItem xs={12}> | |||
| <div align="center" style={{marginTop:"-20px"}}> | |||
| <br></br> | |||
| <img className={classes.imgCard} src={Logo} style={{width:"500px"}}/> | |||
| </div> | |||
| </Grid> | |||
| <Grid> | |||
| <div> | |||
| <footer className={footerClasses}> | |||
| <div className={classes.container}> | |||
| <div className={classes.left}> | |||
| <List className={classes.list}> | |||
| <img className={classes.imgCard} src={Logo} style={{width:"500px"}}/> | |||
| </div><br/><br/> | |||
| <div align="center"> | |||
| <List className={classes.list}> | |||
| <ListItem className={classes.inlineBlock}> | |||
| <a href="/yamaha/home" target="_blank" className={classes.block} > Yamaha </a> | |||
| </ListItem> | |||
| @@ -80,19 +62,9 @@ export default function Footer(props) { | |||
| <ListItem className={classes.inlineBlock}> | |||
| <a href="http://homes.thamrin.xyz/" target="_blank" className={classes.block}> Thamrin Homes </a> | |||
| </ListItem> | |||
| </List> | |||
| </div> | |||
| </div> | |||
| </footer> | |||
| </List> | |||
| </div> | |||
| </Grid> | |||
| </GridContainer> | |||
| <GridContainer style={{marginTop: "-100px", padding:"50px"}} justify="center"> | |||
| <Grid> | |||
| <div> | |||
| <footer className={footerClasses}> | |||
| <div className={classes.container}> | |||
| <div className={classes.left}> | |||
| <div align="center"> | |||
| <List className={classes.list}> | |||
| <ListItem className={classes.inlineBlock}> | |||
| <a href="#" target="_blank" className={classes.block} >Facebook</a> | |||
| @@ -106,23 +78,12 @@ export default function Footer(props) { | |||
| <ListItem className={classes.inlineBlock}> | |||
| <a href="#" target="_blank" className={classes.block}>Youtube</a> | |||
| </ListItem> | |||
| </List> | |||
| </div> | |||
| </div> | |||
| </footer> | |||
| </div> | |||
| </Grid> | |||
| </GridContainer> | |||
| <GridContainer style={{marginTop: "-40px"}} justify="center"> | |||
| <Grid> | |||
| <div align="center"> | |||
| <div className={classes.right}> | |||
| </List> | |||
| </div><br/><br/> | |||
| <div align="center"> | |||
| © {1900 + new Date().getYear()} , All Right Reserved{" "} by{" "} @Thamrin Group Company | |||
| </div> | |||
| </div> | |||
| </Grid> | |||
| </GridContainer> | |||
| </div> | |||
| </div><br/><br/> | |||
| </GridItem> | |||
| ); | |||
| } | |||
| @@ -1,22 +1,17 @@ | |||
| /*eslint-disable*/ | |||
| import React from "react"; | |||
| // nodejs library to set properties for components | |||
| import PropTypes from "prop-types"; | |||
| // nodejs library that concatenates classes | |||
| import classNames from "classnames"; | |||
| // material-ui core components | |||
| import { List, ListItem } from "@material-ui/core"; | |||
| import { makeStyles } from "@material-ui/core/styles"; | |||
| // @material-ui/icons | |||
| import Favorite from "@material-ui/icons/Favorite"; | |||
| import GridContainer from "components/Grid/GridContainer.js"; | |||
| import Grid from '@material-ui/core/Grid'; | |||
| import GridItem from "components/Grid/GridItem.js"; | |||
| import Paper from '@material-ui/core/Paper'; | |||
| import Card from "components/Card/Card.js"; | |||
| import styles from "assets/jss/nextjs-material-kit/components/footerStyle.js"; | |||
| import NSCB from "assets/img/nscb.png"; | |||
| const useStyles = makeStyles(styles); | |||
| @@ -32,97 +27,74 @@ export default function Footer(props) { | |||
| [classes.footerWhiteFont]: whiteFont | |||
| }); | |||
| return ( | |||
| <div><br/> | |||
| <GridContainer justify="center"> | |||
| <Grid style={{padding:"25px"}}> | |||
| <img className={classes.imgCard} src="https://cdn.pixabay.com/photo/2016/08/15/18/18/honda-1596081_640.png" style={{width:"300px"}}/> | |||
| </Grid> | |||
| <Grid style={{padding:"25px"}}> | |||
| <img className={classes.imgCard} src="https://cdn.pixabay.com/photo/2016/08/15/18/18/honda-1596081_640.png" style={{width:"300px"}}/> | |||
| </Grid> | |||
| </GridContainer> | |||
| <GridContainer justify="center"> | |||
| <Grid style={{padding:"25px", marginTop:"-50px"}}> | |||
| <footer className={footerClasses}> | |||
| <div className={classes.container}> | |||
| <div className={classes.left}> | |||
| <List className={classes.list}> | |||
| <ListItem className={classes.inlineBlock}> | |||
| <a href="/suzuki/home" className={classes.block} > Home </a> | |||
| </ListItem> | |||
| <ListItem className={classes.inlineBlock}> | |||
| <a href="/suzuki/product/product" className={classes.block}> Product </a> | |||
| </ListItem> | |||
| {/* <ListItem className={classes.inlineBlock}> | |||
| <a href="/suzuki/product/ygp" className={classes.block}> YGP </a> | |||
| </ListItem> | |||
| <ListItem className={classes.inlineBlock}> | |||
| <a href="/suzuki/product/yamalube" className={classes.block}> Yamalube </a> | |||
| </ListItem> | |||
| <ListItem className={classes.inlineBlock}> | |||
| <a href="/suzuki/product/apparel" className={classes.block}> Apparel </a> | |||
| </ListItem> | |||
| <ListItem className={classes.inlineBlock}> | |||
| <a href="/suzuki/product/helmet" className={classes.block}> Helmet </a> | |||
| </ListItem> | |||
| <ListItem className={classes.inlineBlock}> | |||
| <a href="/suzuki/product/accessories" className={classes.block}> Accessories </a> | |||
| </ListItem> | |||
| <ListItem className={classes.inlineBlock}> | |||
| <a href="/suzuki/product/service" className={classes.block}> Service </a> | |||
| </ListItem> | |||
| <ListItem className={classes.inlineBlock}> | |||
| <a href="/suzuki/product/dealer" className={classes.block}> Dealer </a> | |||
| </ListItem> */} | |||
| <ListItem className={classes.inlineBlock}> | |||
| <a href="/suzuki/latestsnews" className={classes.block}> Latest News </a> | |||
| </ListItem> | |||
| <ListItem className={classes.inlineBlock}> | |||
| <a href="/suzuki/carrer" className={classes.block}> Carrer </a> | |||
| </ListItem> | |||
| <ListItem className={classes.inlineBlock}> | |||
| <a href="/suzuki/about_us/aboutus" className={classes.block}> About Us </a> | |||
| </ListItem> | |||
| </List> | |||
| </div> | |||
| </div> | |||
| </footer> | |||
| </Grid> | |||
| </GridContainer> | |||
| <GridContainer style={{marginTop: "-100px", padding:"50px"}} justify="center"> | |||
| <Grid> | |||
| <div> | |||
| <footer className={footerClasses}> | |||
| <div className={classes.container}> | |||
| <div className={classes.left}> | |||
| <List className={classes.list}> | |||
| <ListItem className={classes.inlineBlock}> | |||
| <a href="#" className={classes.block} >Facebook</a> | |||
| </ListItem> | |||
| <ListItem className={classes.inlineBlock}> | |||
| <a href="#" className={classes.block}>Instagram</a> | |||
| </ListItem> | |||
| <ListItem className={classes.inlineBlock}> | |||
| <a href="#" className={classes.block}>Twitter</a> | |||
| </ListItem> | |||
| <ListItem className={classes.inlineBlock}> | |||
| <a href="//#endregion" className={classes.block}>Youtube</a> | |||
| </ListItem> | |||
| </List> | |||
| </div> | |||
| </div> | |||
| </footer> | |||
| </div> | |||
| </Grid> | |||
| </GridContainer> | |||
| <GridContainer justify="center"> | |||
| <Grid style={{padding:"25px", marginTop:"-50px"}}> | |||
| <div className={classes.right}> | |||
| © {1900 + new Date().getYear()} , All Right Reserved{" "} by{" "} @Thamrin Group Company | |||
| <GridItem xs={12}> | |||
| <div align="center" style={{marginTop:"-20px"}}> | |||
| <br/><br/><br/> | |||
| <div align="center" style={{marginTop:"-20px"}}> | |||
| <img className={classes.imgCard} src="https://cdn.pixabay.com/photo/2016/08/15/18/18/honda-1596081_640.png" style={{width:"300px", padding:"20px"}}/> | |||
| <img className={classes.imgCard} src="https://cdn.pixabay.com/photo/2016/08/15/18/18/honda-1596081_640.png" style={{width:"300px", padding:"20px"}}/> | |||
| </div> | |||
| </Grid> | |||
| </GridContainer> | |||
| </div> | |||
| </div><br/> | |||
| <div align="center"> | |||
| <List className={classes.list}> | |||
| <ListItem className={classes.inlineBlock}> | |||
| <a href="/honda/home" className={classes.block} > Home </a> | |||
| </ListItem> | |||
| <ListItem className={classes.inlineBlock}> | |||
| <a href="/honda/product/product" className={classes.block}> Product </a> | |||
| </ListItem> | |||
| {/* <ListItem className={classes.inlineBlock}> | |||
| <a href="/honda/product/ygp" className={classes.block}> YGP </a> | |||
| </ListItem> | |||
| <ListItem className={classes.inlineBlock}> | |||
| <a href="/honda/product/yamalube" className={classes.block}> Yamalube </a> | |||
| </ListItem> | |||
| <ListItem className={classes.inlineBlock}> | |||
| <a href="/honda/product/apparel" className={classes.block}> Apparel </a> | |||
| </ListItem> | |||
| <ListItem className={classes.inlineBlock}> | |||
| <a href="/honda/product/helmet" className={classes.block}> Helmet </a> | |||
| </ListItem> | |||
| <ListItem className={classes.inlineBlock}> | |||
| <a href="/honda/product/accessories" className={classes.block}> Accessories </a> | |||
| </ListItem> | |||
| <ListItem className={classes.inlineBlock}> | |||
| <a href="/honda/product/service" className={classes.block}> Service </a> | |||
| </ListItem> | |||
| <ListItem className={classes.inlineBlock}> | |||
| <a href="/honda/product/dealer" className={classes.block}> Dealer </a> | |||
| </ListItem> */} | |||
| <ListItem className={classes.inlineBlock}> | |||
| <a href="/honda/latestsnews" className={classes.block}> Latest News </a> | |||
| </ListItem> | |||
| <ListItem className={classes.inlineBlock}> | |||
| <a href="/honda/carrer" className={classes.block}> Carrer </a> | |||
| </ListItem> | |||
| <ListItem className={classes.inlineBlock}> | |||
| <a href="/honda/about_us/aboutus" className={classes.block}> About Us </a> | |||
| </ListItem> | |||
| </List> | |||
| </div> | |||
| <div align="center"> | |||
| <List className={classes.list}> | |||
| <ListItem className={classes.inlineBlock}> | |||
| <a href="#" target="_blank" className={classes.block} >Facebook</a> | |||
| </ListItem> | |||
| <ListItem className={classes.inlineBlock}> | |||
| <a href="#" target="_blank" className={classes.block}>Instagram</a> | |||
| </ListItem> | |||
| <ListItem className={classes.inlineBlock}> | |||
| <a href="#" target="_blank" className={classes.block}>Twitter</a> | |||
| </ListItem> | |||
| <ListItem className={classes.inlineBlock}> | |||
| <a href="#" target="_blank" className={classes.block}>Youtube</a> | |||
| </ListItem> | |||
| </List> | |||
| </div><br/><br/> | |||
| <div align="center"> | |||
| © {1900 + new Date().getYear()} , All Right Reserved{" "} by{" "} @Thamrin Brothers | |||
| </div><br/><br/> | |||
| </GridItem> | |||
| ); | |||
| } | |||
| @@ -1,25 +1,20 @@ | |||
| /*eslint-disable*/ | |||
| import React from "react"; | |||
| // nodejs library to set properties for components | |||
| import PropTypes from "prop-types"; | |||
| // nodejs library that concatenates classes | |||
| import classNames from "classnames"; | |||
| // material-ui core components | |||
| import { List, ListItem } from "@material-ui/core"; | |||
| import { makeStyles } from "@material-ui/core/styles"; | |||
| // @material-ui/icons | |||
| import Favorite from "@material-ui/icons/Favorite"; | |||
| import GridContainer from "components/Grid/GridContainer.js"; | |||
| import Grid from '@material-ui/core/Grid'; | |||
| import GridItem from "components/Grid/GridItem.js"; | |||
| import Paper from '@material-ui/core/Paper'; | |||
| import Card from "components/Card/Card.js"; | |||
| import styles from "assets/jss/nextjs-material-kit/components/footerStyle.js"; | |||
| import NSCB from "assets/img/nscb.png"; | |||
| import Suzuki from "assets/img/Suzuki.png"; | |||
| const useStyles = makeStyles(styles); | |||
| export default function Footer(props) { | |||
| const classes = useStyles(); | |||
| const { whiteFont } = props; | |||
| @@ -32,97 +27,53 @@ export default function Footer(props) { | |||
| [classes.footerWhiteFont]: whiteFont | |||
| }); | |||
| return ( | |||
| <div><br/> | |||
| <GridContainer justify="center"> | |||
| <Grid style={{padding:"25px"}}> | |||
| <img className={classes.imgCard} src={NSCB} style={{width:"300px"}}/> | |||
| </Grid> | |||
| <Grid style={{padding:"25px"}}> | |||
| <img className={classes.imgCard} src="https://nomorsalesmobil.com/wp-content/uploads/2018/10/Suzuki-logo-5000x2500.png" style={{width:"350px"}}/> | |||
| </Grid> | |||
| </GridContainer> | |||
| <GridContainer justify="center"> | |||
| <Grid style={{padding:"25px", marginTop:"-50px"}}> | |||
| <footer className={footerClasses}> | |||
| <div className={classes.container}> | |||
| <div className={classes.left}> | |||
| <List className={classes.list}> | |||
| <ListItem className={classes.inlineBlock}> | |||
| <a href="/suzuki/home" className={classes.block} > Home </a> | |||
| </ListItem> | |||
| <ListItem className={classes.inlineBlock}> | |||
| <a href="/suzuki/product/product" className={classes.block}> Product </a> | |||
| </ListItem> | |||
| {/* <ListItem className={classes.inlineBlock}> | |||
| <a href="/suzuki/product/ygp" className={classes.block}> YGP </a> | |||
| </ListItem> | |||
| <ListItem className={classes.inlineBlock}> | |||
| <a href="/suzuki/product/yamalube" className={classes.block}> Yamalube </a> | |||
| </ListItem> | |||
| <ListItem className={classes.inlineBlock}> | |||
| <a href="/suzuki/product/apparel" className={classes.block}> Apparel </a> | |||
| </ListItem> | |||
| <ListItem className={classes.inlineBlock}> | |||
| <a href="/suzuki/product/helmet" className={classes.block}> Helmet </a> | |||
| </ListItem> | |||
| <ListItem className={classes.inlineBlock}> | |||
| <a href="/suzuki/product/accessories" className={classes.block}> Accessories </a> | |||
| </ListItem> | |||
| <ListItem className={classes.inlineBlock}> | |||
| <a href="/suzuki/product/service" className={classes.block}> Service </a> | |||
| </ListItem> | |||
| <ListItem className={classes.inlineBlock}> | |||
| <a href="/suzuki/product/dealer" className={classes.block}> Dealer </a> | |||
| </ListItem> */} | |||
| <ListItem className={classes.inlineBlock}> | |||
| <a href="/suzuki/latestsnews" className={classes.block}> Latest News </a> | |||
| </ListItem> | |||
| <ListItem className={classes.inlineBlock}> | |||
| <a href="/suzuki/carrer" className={classes.block}> Carrer </a> | |||
| </ListItem> | |||
| <ListItem className={classes.inlineBlock}> | |||
| <a href="/suzuki/about_us/aboutus" className={classes.block}> About Us </a> | |||
| </ListItem> | |||
| </List> | |||
| </div> | |||
| </div> | |||
| </footer> | |||
| </Grid> | |||
| </GridContainer> | |||
| <GridContainer style={{marginTop: "-100px", padding:"50px"}} justify="center"> | |||
| <Grid> | |||
| <div> | |||
| <footer className={footerClasses}> | |||
| <div className={classes.container}> | |||
| <div className={classes.left}> | |||
| <List className={classes.list}> | |||
| <ListItem className={classes.inlineBlock}> | |||
| <a href="#" className={classes.block} >Facebook</a> | |||
| </ListItem> | |||
| <ListItem className={classes.inlineBlock}> | |||
| <a href="#" className={classes.block}>Instagram</a> | |||
| </ListItem> | |||
| <ListItem className={classes.inlineBlock}> | |||
| <a href="#" className={classes.block}>Twitter</a> | |||
| </ListItem> | |||
| <ListItem className={classes.inlineBlock}> | |||
| <a href="//#endregion" className={classes.block}>Youtube</a> | |||
| </ListItem> | |||
| </List> | |||
| </div> | |||
| </div> | |||
| </footer> | |||
| <GridItem xs={12}> | |||
| <div align="center" style={{marginTop:"-20px"}}> | |||
| <br/><br/><br/> | |||
| <div align="center" style={{marginTop:"-20px"}}> | |||
| <img className={classes.imgCard} src={NSCB}style={{width:"350px", padding:"20px"}}/> | |||
| <img className={classes.imgCard} src={Suzuki} style={{width:"350px", padding:"20px"}}/> | |||
| </div> | |||
| </Grid> | |||
| </GridContainer> | |||
| <GridContainer justify="center"> | |||
| <Grid style={{padding:"25px", marginTop:"-50px"}}> | |||
| <div className={classes.right}> | |||
| © {1900 + new Date().getYear()} , All Right Reserved{" "} by{" "} @Thamrin Group Company | |||
| </div> | |||
| </Grid> | |||
| </GridContainer> | |||
| </div> | |||
| </div><br/> | |||
| <div align="center"> | |||
| <List className={classes.list}> | |||
| <ListItem className={classes.inlineBlock}> | |||
| <a href="/suzuki/home" className={classes.block} > Home </a> | |||
| </ListItem> | |||
| <ListItem className={classes.inlineBlock}> | |||
| <a href="/suzuki/product/product" className={classes.block}> Product </a> | |||
| </ListItem> | |||
| <ListItem className={classes.inlineBlock}> | |||
| <a href="/suzuki/latestsnews" className={classes.block}> Latest News </a> | |||
| </ListItem> | |||
| <ListItem className={classes.inlineBlock}> | |||
| <a href="/suzuki/carrer" className={classes.block}> Carrer </a> | |||
| </ListItem> | |||
| <ListItem className={classes.inlineBlock}> | |||
| <a href="/suzuki/about_us/aboutus" className={classes.block}> About Us </a> | |||
| </ListItem> | |||
| </List> | |||
| </div> | |||
| <div align="center"> | |||
| <List className={classes.list}> | |||
| <ListItem className={classes.inlineBlock}> | |||
| <a href="#" target="_blank" className={classes.block} >Facebook</a> | |||
| </ListItem> | |||
| <ListItem className={classes.inlineBlock}> | |||
| <a href="#" target="_blank" className={classes.block}>Instagram</a> | |||
| </ListItem> | |||
| <ListItem className={classes.inlineBlock}> | |||
| <a href="#" target="_blank" className={classes.block}>Twitter</a> | |||
| </ListItem> | |||
| <ListItem className={classes.inlineBlock}> | |||
| <a href="#" target="_blank" className={classes.block}>Youtube</a> | |||
| </ListItem> | |||
| </List> | |||
| </div><br/><br/> | |||
| <div align="center"> | |||
| © {1900 + new Date().getYear()} , All Right Reserved{" "} by{" "} @Thamrin Brothers | |||
| </div><br/><br/> | |||
| </GridItem> | |||
| ); | |||
| } | |||
| @@ -43,7 +43,7 @@ export default function HeaderHome(props) { | |||
| </Link> | |||
| </ListItem> | |||
| <ListItem className={classes.listItem}> | |||
| <Link href="#"> | |||
| <Link href='#section1'> | |||
| <Button color="transparent" className={classes.navLink} style={{marginTop:"10px"}}> | |||
| <Icon className={classes.icons}>card_travel</Icon> Core Value | |||
| </Button> | |||
| @@ -88,6 +88,9 @@ export default function HeaderLinks({ username, ...props }) { | |||
| <a href="/yamaha/dealer/dealers" className={classes.dropdownLink}> | |||
| Dealers | |||
| </a>, | |||
| <a href="/yamaha/order/order" className={classes.dropdownLink}> | |||
| Dealers | |||
| </a>, | |||
| ]} | |||
| /> | |||
| </ListItem> | |||
| @@ -68,6 +68,7 @@ async function mutation(mutation, token = "", variables = {}) { | |||
| }); | |||
| res = { STATUS: 1, DATA: sql.data }; | |||
| } catch (e) { | |||
| console.log(e); | |||
| res = { STATUS: 0, DATA: errorHandler(e) }; | |||
| } | |||
| return res; | |||
| @@ -65,6 +65,7 @@ | |||
| "react-datetime": "2.16.3", | |||
| "react-dom": "16.13.1", | |||
| "react-html-parser": "^2.0.2", | |||
| "react-input-number": "^5.0.19", | |||
| "react-paginate": "^7.1.0", | |||
| "react-query": "^3.12.1", | |||
| "react-select": "^4.2.1", | |||
| @@ -73,6 +74,7 @@ | |||
| "rsuite": "^4.9.2", | |||
| "scss": "^0.2.4", | |||
| "styled-components": "5.1.0", | |||
| "sweetalert": "^2.1.2", | |||
| "webpack": "4.43.0" | |||
| } | |||
| } | |||
| @@ -0,0 +1,341 @@ | |||
| import React from 'react'; | |||
| import { makeStyles } from '@material-ui/core/styles'; | |||
| import clsx from 'clsx'; | |||
| import SnackbarContent from "components/Snackbar/SnackbarContent.js"; | |||
| import Button1 from "components/CustomButtons/Button.js"; | |||
| import image1 from "../../../assets/img/mail.png" | |||
| import GridContainer from "components/Grid/GridContainer.js"; | |||
| import classNames from "classnames"; | |||
| import Icon from "@material-ui/core/Icon"; | |||
| import Grid from '@material-ui/core/Grid'; | |||
| import TextField from '@material-ui/core/TextField'; | |||
| import Button from '@material-ui/core/Button'; | |||
| import Dialog from '@material-ui/core/Dialog'; | |||
| import ListItemText from '@material-ui/core/ListItemText'; | |||
| import ListItem from '@material-ui/core/ListItem'; | |||
| import List from '@material-ui/core/List'; | |||
| import Divider from '@material-ui/core/Divider'; | |||
| import AppBar from '@material-ui/core/AppBar'; | |||
| import Toolbar from '@material-ui/core/Toolbar'; | |||
| import IconButton from '@material-ui/core/IconButton'; | |||
| import Typography from '@material-ui/core/Typography'; | |||
| import CloseIcon from '@material-ui/icons/Close'; | |||
| import Slide from '@material-ui/core/Slide'; | |||
| import FormControl from '@material-ui/core/FormControl'; | |||
| import Select from '@material-ui/core/Select'; | |||
| import MenuItem from '@material-ui/core/MenuItem'; | |||
| import Card from "components/Card/Card.js"; | |||
| import CardBody from "components/Card/CardBody.js"; | |||
| const useStyles = makeStyles((theme) => ({ | |||
| root: { | |||
| width: '100%', | |||
| }, | |||
| button: { | |||
| marginTop: theme.spacing(1), | |||
| marginRight: theme.spacing(1), | |||
| }, | |||
| actionsContainer: { | |||
| marginBottom: theme.spacing(2), | |||
| }, | |||
| resetContainer: { | |||
| padding: theme.spacing(3), | |||
| }, | |||
| appBar: { | |||
| position: 'relative', | |||
| }, | |||
| title: { | |||
| marginLeft: theme.spacing(2), | |||
| flex: 1, | |||
| }, | |||
| root: { | |||
| '&:hover': { | |||
| backgroundColor: 'transparent', | |||
| }, | |||
| }, | |||
| icon: { | |||
| borderRadius: '50%', | |||
| width: 16, | |||
| height: 16, | |||
| boxShadow: 'inset 0 0 0 1px rgba(16,22,26,.2), inset 0 -1px 0 rgba(16,22,26,.1)', | |||
| backgroundColor: '#f5f8fa', | |||
| backgroundImage: 'linear-gradient(180deg,hsla(0,0%,100%,.8),hsla(0,0%,100%,0))', | |||
| '$root.Mui-focusVisible &': { | |||
| outline: '2px auto rgba(19,124,189,.6)', | |||
| outlineOffset: 2, | |||
| }, | |||
| 'input:hover ~ &': { | |||
| backgroundColor: '#ebf1f5', | |||
| }, | |||
| 'input:disabled ~ &': { | |||
| boxShadow: 'none', | |||
| background: 'rgba(206,217,224,.5)', | |||
| }, | |||
| }, | |||
| checkedIcon: { | |||
| backgroundColor: '#137cbd', | |||
| backgroundImage: 'linear-gradient(180deg,hsla(0,0%,100%,.1),hsla(0,0%,100%,0))', | |||
| '&:before': { | |||
| display: 'block', | |||
| width: 16, | |||
| height: 16, | |||
| backgroundImage: 'radial-gradient(#fff,#fff 28%,transparent 32%)', | |||
| content: '""', | |||
| }, | |||
| 'input:hover ~ &': { | |||
| backgroundColor: '#106ba3', | |||
| }, | |||
| }, | |||
| })); | |||
| const Transition = React.forwardRef(function Transition(props, ref) { | |||
| return <Slide direction="up" ref={ref} {...props} />; | |||
| }); | |||
| const DataCheckout = function ({ province, cities, midtransClient, backend, checkoutproduct, transactionToken, ...props }) { | |||
| console.log('Token :',transactionToken); | |||
| const classes = useStyles(); | |||
| const [open, setOpen] = React.useState(false); | |||
| const handleClickOpen = () => { | |||
| setOpen(true); | |||
| }; | |||
| const handleClose = () => { | |||
| setOpen(false); | |||
| }; | |||
| const { ...rest } = props; | |||
| const imageClasses = classNames( | |||
| classes.imgRaised, | |||
| classes.imgRoundedCircle, | |||
| classes.imgFluid | |||
| ); | |||
| const navImageClasses = classNames(classes.imgRounded, classes.imgGallery); | |||
| const CheckoutAlamat = checkoutproduct.map((data) => { | |||
| return ( | |||
| <div align="center"> | |||
| <Card className={classes.textCenter} align="center"> | |||
| <CardBody> | |||
| <div style={{padding:"10px"}}> | |||
| <Typography variant="h6" align="left" className={classes.title}> | |||
| Alamat Pengiriman | |||
| </Typography><br></br> | |||
| <img src={image1} style={{width:"1100px"}}/><br></br> | |||
| <h5>Yusmar</h5> | |||
| <h5>087797315685</h5> | |||
| <h5>Thamrin Indrapura Jl.Aipda Karel Satsuit Tubun,17 Ilir, Kec.Ilir Tim.I, Palembang, KOTA PALEMBANG - ILIR TIMUR II, SUMATERA SELATAN, ID 30114</h5> | |||
| <Button1 color="info" href={"/yamaha/profile/edit-profile"}> | |||
| <Icon className={classes.icons}>cached</Icon> | |||
| Ubah Alamat | |||
| </Button1> | |||
| </div> | |||
| </CardBody> | |||
| </Card> | |||
| </div> | |||
| ); | |||
| }) | |||
| const CheckoutProdukPesanan = checkoutproduct.map((data) => { | |||
| const handleChange = (event) => { | |||
| setAge(event.target.value); | |||
| }; | |||
| const handleChanges = (event) => { | |||
| setPengiriman(event.target.value); | |||
| }; | |||
| const [age, setAge] = React.useState(''); | |||
| const [pengiriman, setPengiriman] = React.useState(''); | |||
| return ( | |||
| <div align="center"> | |||
| <Card className={classes.textCenter} align="center"> | |||
| <CardBody> | |||
| <div style={{padding:"10px"}}> | |||
| <Typography variant="h6" align="left" className={classes.title}> | |||
| Pesanan Produk | |||
| </Typography><br></br><hr></hr> | |||
| <GridContainer> | |||
| <Grid item xs> | |||
| <div align="center"> | |||
| <h4>Produk Dipesan</h4> | |||
| <img className={navImageClasses} width="200px" alt="First slide" src={`${backend}${data.img[0]["url"]}`} /> | |||
| </div> | |||
| </Grid> | |||
| <Grid item xs> | |||
| <div align="center"> | |||
| <h4></h4><br></br><br></br><br></br><br></br> | |||
| <h5>{data.name}</h5> | |||
| </div> | |||
| </Grid> | |||
| <Grid item xs> | |||
| <div align="center"> | |||
| <h4>Warna</h4><br></br><br></br><br></br> | |||
| <FormControl className={classes.formControl}> | |||
| <Select | |||
| labelId="demo-simple-select-label" | |||
| id="demo-simple-select" | |||
| value={age} | |||
| onChange={handleChange} | |||
| > | |||
| <MenuItem value={10}>Hitam</MenuItem> | |||
| <MenuItem value={20}>Merah</MenuItem> | |||
| <MenuItem value={30}>Biru</MenuItem> | |||
| <MenuItem value={30}>Putih</MenuItem> | |||
| </Select> | |||
| </FormControl> | |||
| </div> | |||
| </Grid> | |||
| <Grid item xs> | |||
| <div align="center"> | |||
| <h4>Harga Satuan</h4><br></br><br></br><br></br> | |||
| <h5>Rp.{data.price}</h5> | |||
| </div> | |||
| </Grid> | |||
| <Grid item xs> | |||
| <div align="center"> | |||
| <h4>Jumlah Unit</h4><br></br><br></br><br></br> | |||
| <FormControl className={classes.formControl}> | |||
| <TextField | |||
| id="outlined-number" | |||
| type="number" | |||
| align="center" | |||
| InputLabelProps={{ | |||
| shrink: true, | |||
| }} | |||
| /> | |||
| </FormControl> | |||
| </div> | |||
| </Grid> | |||
| <Grid item xs> | |||
| <div align="center"> | |||
| <h4>Sub Total Produk</h4><br></br><br></br><br></br> | |||
| <h5>Total Rp.{data.price}</h5> | |||
| </div> | |||
| </Grid> | |||
| </GridContainer> | |||
| <GridContainer style={{padding:"20px"}}> | |||
| <Grid item xs style={{padding:"20px"}}> | |||
| <TextField | |||
| id="outlined-full-width" | |||
| label="Pesan" | |||
| style={{ margin: 8 }} | |||
| placeholder="( Opsional ) Tinggalkan Pesan Kepada Dealer" | |||
| fullWidth | |||
| margin="normal" | |||
| InputLabelProps={{ | |||
| shrink: true, | |||
| }} | |||
| variant="outlined" | |||
| /> | |||
| </Grid> | |||
| <Grid item xs style={{padding:"20px"}}><br></br> | |||
| <Button variant="outlined" color="primary" onClick={handleClickOpen}> | |||
| Pilih Opsi Pengiriman | |||
| </Button> | |||
| <Dialog fullScreen open={open} onClose={handleClose} TransitionComponent={Transition}> | |||
| <AppBar className={classes.appBar}> | |||
| <Toolbar> | |||
| <IconButton edge="start" color="inherit" onClick={handleClose} aria-label="close"> | |||
| <CloseIcon /> | |||
| </IconButton> | |||
| <Typography variant="h6" className={classes.title}> | |||
| Pilih Opsi Pengiriman | |||
| </Typography> | |||
| <Button autoFocus color="inherit" onClick={handleClose}> | |||
| Pilih | |||
| </Button> | |||
| </Toolbar> | |||
| </AppBar> | |||
| <List> | |||
| <ListItem button | |||
| id="POS" | |||
| value={pengiriman} | |||
| onChange={handleChanges} | |||
| > | |||
| <ListItemText primary="POS" secondary="Akan diterima pada tanggal 2 Apr - 6 Apr" /> | |||
| </ListItem> | |||
| <Divider /> | |||
| <ListItem button | |||
| id="JNE" | |||
| value={pengiriman} | |||
| onChange={handleChanges} | |||
| > | |||
| <ListItemText primary="JNE" secondary="Akan diterima pada tanggal 30 Mar - 2 Apr" /> | |||
| </ListItem> | |||
| <ListItem button | |||
| id="TIKI" | |||
| value={pengiriman} | |||
| onChange={handleChanges} | |||
| > | |||
| <ListItemText primary="TIKI" secondary="Akan diterima pada tanggal 1 Apr - 4 Apr, COD (Bayar di Tempat) tidak didukung" /> | |||
| </ListItem> | |||
| </List> | |||
| </Dialog> | |||
| </Grid> | |||
| <Grid item xs align="right" style={{padding:"20px"}}><br></br> | |||
| Total Rp. {data.price} | |||
| </Grid> | |||
| </GridContainer> | |||
| </div> | |||
| </CardBody> | |||
| </Card> | |||
| </div> | |||
| ); | |||
| }) | |||
| return ( | |||
| <div style={{padding:"50px"}}> | |||
| <script type="text/javascript" src="https://app.sandbox.midtrans.com/snap/snap.js" data-client-key="SB-Mid-client-srx674LjNbEybd4-"/> | |||
| <div align="center" className={classes.section} id="notifications"> | |||
| <SnackbarContent | |||
| message={ | |||
| <h2><b>Checkout</b></h2> | |||
| } | |||
| align="center" | |||
| color="danger" | |||
| /> | |||
| </div> | |||
| <div> | |||
| {CheckoutAlamat} | |||
| </div> | |||
| <div> | |||
| {CheckoutProdukPesanan} | |||
| </div> | |||
| <div> | |||
| <Card className={classes.textCenter} align="center"> | |||
| <CardBody> | |||
| {/* <GridContainer> | |||
| <Grid item xs={6} style={{padding:"20px"}}> | |||
| <Button1 color="info" href="/yamaha/order/order"> | |||
| <Icon className={classes.icons}>attach_money</Icon> | |||
| Buat Pesanan | |||
| </Button1> | |||
| </Grid> | |||
| <Grid item xs={6} style={{padding:"20px"}}> | |||
| <Button1 color="danger" onClick={(e)=>{snap.pay(transactionToken);}} style={{width:"100%"}}> | |||
| <Icon className={classes.icons}>attach_money</Icon> | |||
| Batalkan Pesanan | |||
| </Button1> | |||
| </Grid> | |||
| </GridContainer> */} | |||
| <GridContainer> | |||
| <Grid item xs={6} style={{padding:"20px"}}> | |||
| <Button1 color="info" onClick={(e)=>{snap.pay(transactionToken);}} style={{width:"100%"}}> | |||
| <Icon className={classes.icons}>attach_money</Icon> | |||
| Bayar Pesanan | |||
| </Button1> | |||
| </Grid> | |||
| {/* <Grid item xs={6} style={{padding:"20px"}}> | |||
| <Button1 color="info" onClick={(e)=>{snap.pay(transactionToken);}} style={{width:"100%"}}> | |||
| <Icon className={classes.icons}>attach_money</Icon> | |||
| Bayar Pesanan | |||
| </Button1> | |||
| </Grid> */} | |||
| </GridContainer> | |||
| </CardBody> | |||
| </Card> | |||
| </div> | |||
| </div> | |||
| ); | |||
| } | |||
| export default DataCheckout; | |||
| @@ -68,11 +68,6 @@ const DataLatestNews = function ({ backend, news, othernews,...props }) { | |||
| <img className={navImageClasses} width="300px" alt="First slide" src={`${backend}${data.img[0]["url"]}`} /> | |||
| </Carousel> | |||
| </Card> | |||
| <hr></hr> | |||
| <div align="center"> | |||
| <h3>Other Latest News</h3> | |||
| <h3>{otherlatnews}</h3> | |||
| </div> | |||
| </GridItem> | |||
| </GridContainer> | |||
| </div> | |||
| @@ -45,7 +45,7 @@ const DataProduct = function ({ backend, car, ...props }) { | |||
| </Button> | |||
| <Button | |||
| color="info" round | |||
| href={"/hino/checkout/checkout?s="+data.id} | |||
| href={"/hino/cart/checkout?s="+data.id} | |||
| > | |||
| <Icon className={classes.icons}>shopping_cart</Icon>Add to Cart | |||
| </Button> | |||
| @@ -31,14 +31,9 @@ export default function WorkSection() { | |||
| console.log(stylecss.container); | |||
| return ( | |||
| <div> | |||
| <GridContainer justify="center" color="dark"> | |||
| <GridItem xs={12} sm={12}> | |||
| <h2 className={classes.title}>Thamrin Group Businees Partner</h2> | |||
| </GridItem> | |||
| </GridContainer> | |||
| <h2 className={classes.title}>Thamrin Group Businees Partner</h2> | |||
| <div className={classes.root}> | |||
| <Grid container spacing={3}> | |||
| <Grid item xs={12} sm={12} className={classes.marginAuto}> | |||
| <Grid item xs={12} sm={12} className={classes.marginAuto}> | |||
| <Card> | |||
| <div className="container"> | |||
| <img src={yamaha} alt="Snow" style={{width:"100%"}}/> | |||
| @@ -46,7 +41,7 @@ export default function WorkSection() { | |||
| </div> | |||
| </Card> | |||
| </Grid> | |||
| <Grid item xs={12} sm={12} style={{marginTop:"-85px"}} className={classes.marginAuto}> | |||
| <Grid item xs={12} sm={12} style={{marginTop:"-30px"}} className={classes.marginAuto}> | |||
| <Card> | |||
| <div className="container"> | |||
| <img src={suzuki} alt="Snow" style={{width:"100%"}}/> | |||
| @@ -54,15 +49,7 @@ export default function WorkSection() { | |||
| </div> | |||
| </Card> | |||
| </Grid> | |||
| <Grid item xs={12} sm={12} style={{marginTop:"-85px"}} className={classes.marginAuto}> | |||
| <Card> | |||
| <div className="container"> | |||
| <img src={honda} alt="Snow" style={{width:"100%"}}/> | |||
| <Button href="/honda/home" target="_blank" className="btn">Visit Page</Button> | |||
| </div> | |||
| </Card> | |||
| </Grid> | |||
| <Grid item xs={12} sm={12} style={{marginTop:"-85px"}} className={classes.marginAuto}> | |||
| <Grid item xs={12} sm={12} style={{marginTop:"-30px"}} className={classes.marginAuto}> | |||
| <Card> | |||
| <div className="container"> | |||
| <img src={hino} alt="Snow" style={{width:"100%"}}/> | |||
| @@ -70,23 +57,23 @@ export default function WorkSection() { | |||
| </div> | |||
| </Card> | |||
| </Grid> | |||
| <Grid item xs={12} sm={12} style={{marginTop:"-85px"}} className={classes.marginAuto}> | |||
| <Grid item xs={12} sm={12} style={{marginTop:"-30px"}} className={classes.marginAuto}> | |||
| <Card> | |||
| <div className="container"> | |||
| <img src={mercedes} alt="Snow" style={{width:"100%"}}/> | |||
| <Button href="https://www.thamrin.mercedes-benz.co.id/en/desktop/passenger-cars.html" target="_blank" className="btn">Visit Page</Button> | |||
| <img src={honda} alt="Snow" style={{width:"100%"}}/> | |||
| <Button href="/honda/home" target="_blank" className="btn">Visit Page</Button> | |||
| </div> | |||
| </Card> | |||
| </Grid> | |||
| <Grid item xs={12} sm={12} style={{marginTop:"-85px"}} className={classes.marginAuto}> | |||
| <Grid item xs={12} sm={12} style={{marginTop:"-30px"}} className={classes.marginAuto}> | |||
| <Card> | |||
| <div className="container"> | |||
| <img src={emilia} alt="Snow" style={{width:"100%"}}/> | |||
| <Button href="http://www.emilia-hotel.com/" target="_blank" className="btn">Visit Page</Button> | |||
| <img src={mercedes} alt="Snow" style={{width:"100%"}}/> | |||
| <Button href="https://www.thamrin.mercedes-benz.co.id/en/desktop/passenger-cars.html" target="_blank" className="btn">Visit Page</Button> | |||
| </div> | |||
| </Card> | |||
| </Grid> | |||
| <Grid item xs={12} sm={12} style={{marginTop:"-85px"}} className={classes.marginAuto}> | |||
| <Grid item xs={12} sm={12} style={{marginTop:"-30px"}} className={classes.marginAuto}> | |||
| <Card> | |||
| <div className="container"> | |||
| <img src={bpr} alt="Snow" style={{width:"100%"}}/> | |||
| @@ -94,7 +81,15 @@ export default function WorkSection() { | |||
| </div> | |||
| </Card> | |||
| </Grid> | |||
| <Grid item xs={12} sm={12} style={{marginTop:"-85px"}} className={classes.marginAuto}> | |||
| <Grid item xs={12} sm={12} style={{marginTop:"-30px"}} className={classes.marginAuto}> | |||
| <Card> | |||
| <div className="container"> | |||
| <img src={emilia} alt="Snow" style={{width:"100%"}}/> | |||
| <Button href="http://www.emilia-hotel.com/" target="_blank" className="btn">Visit Page</Button> | |||
| </div> | |||
| </Card> | |||
| </Grid> | |||
| <Grid item xs={12} sm={12} style={{marginTop:"-30px"}} className={classes.marginAuto}> | |||
| <Card> | |||
| <div className="container"> | |||
| <img src={pim} alt="Snow" style={{width:"100%"}}/> | |||
| @@ -102,7 +97,7 @@ export default function WorkSection() { | |||
| </div> | |||
| </Card> | |||
| </Grid> | |||
| <Grid item xs={12} sm={12} style={{marginTop:"-85px"}} className={classes.marginAuto}> | |||
| <Grid item xs={12} sm={12} style={{marginTop:"-30px"}} className={classes.marginAuto}> | |||
| <Card> | |||
| <div className="container"> | |||
| <img src={home} alt="Snow" style={{width:"100%"}}/> | |||
| @@ -110,7 +105,6 @@ export default function WorkSection() { | |||
| </div> | |||
| </Card> | |||
| </Grid> | |||
| </Grid> | |||
| </div> | |||
| </div> | |||
| ); | |||
| @@ -10,6 +10,8 @@ import Fingerprint from "@material-ui/icons/Fingerprint"; | |||
| import GridContainer from "components/Grid/GridContainer.js"; | |||
| import GridItem from "components/Grid/GridItem.js"; | |||
| import InfoArea from "components/InfoArea/InfoArea.js"; | |||
| import Paper from '@material-ui/core/Paper'; | |||
| import Grid from '@material-ui/core/Grid'; | |||
| import styles from "assets/jss/nextjs-material-kit/pages/landingPageSections/productStyle.js"; | |||
| @@ -25,14 +27,9 @@ export default function ProductSection() { | |||
| const classes = useStyles(); | |||
| return ( | |||
| <div className={classes.section}> | |||
| <GridContainer justify="center"> | |||
| <GridItem xs={12} sm={12} md={8}> | |||
| <h2 className={classes.title}>Thamrin Group Core Value</h2> | |||
| </GridItem> | |||
| </GridContainer> | |||
| <h2 className={classes.title}>Thamrin Group Core Value</h2> | |||
| <div> | |||
| <GridContainer> | |||
| <GridItem xs={12} sm={12} md={4}> | |||
| <GridItem xs={12}> | |||
| <br/> | |||
| <div align="center"> | |||
| <img src={core1}/> | |||
| @@ -45,7 +42,7 @@ export default function ProductSection() { | |||
| /> | |||
| </div> | |||
| </GridItem> | |||
| <GridItem xs={12} sm={12} md={4}> | |||
| <GridItem xs={12}> | |||
| <br/> | |||
| <div align="center"> | |||
| <img src={core2}/> | |||
| @@ -58,7 +55,7 @@ export default function ProductSection() { | |||
| /> | |||
| </div> | |||
| </GridItem> | |||
| <GridItem xs={12} sm={12} md={4}> | |||
| <GridItem xs={12}> | |||
| <br/> | |||
| <div align="center"> | |||
| <img src={core3}/> | |||
| @@ -71,9 +68,7 @@ export default function ProductSection() { | |||
| /> | |||
| </div> | |||
| </GridItem> | |||
| </GridContainer> | |||
| <GridContainer> | |||
| <GridItem xs={6} sm={6}> | |||
| <GridItem xs={12}> | |||
| <br/> | |||
| <div align="center"> | |||
| <img src={core4}/> | |||
| @@ -86,7 +81,7 @@ export default function ProductSection() { | |||
| /> | |||
| </div> | |||
| </GridItem> | |||
| <GridItem xs={6} sm={6}> | |||
| <GridItem xs={12}> | |||
| <br/> | |||
| <div align="center"> | |||
| <img src={core5}/> | |||
| @@ -99,7 +94,6 @@ export default function ProductSection() { | |||
| /> | |||
| </div> | |||
| </GridItem> | |||
| </GridContainer> | |||
| </div> | |||
| </div> | |||
| ); | |||
| @@ -26,15 +26,11 @@ export default function WorkSection() { | |||
| const classes = useStyles(); | |||
| return ( | |||
| <div> | |||
| <GridContainer justify="center"> | |||
| <GridItem xs={12} sm={12} md={8}> | |||
| <h2 className={classes.title}>Thamrin Group Gallery</h2> | |||
| </GridItem> | |||
| </GridContainer> | |||
| <h2 className={classes.title}>Thamrin Group Gallery</h2> | |||
| <div className={classes.section} id="notifications" style={{marginTop:"-150px"}}> | |||
| <div className={classes.section}> | |||
| <div className={classes.container} align="center"> | |||
| <Grid container spacing={3}> | |||
| <Grid item spacing={3}> | |||
| <Grid item xs={3}> | |||
| <Card> | |||
| <img src={img1} alt="First slide" className="slick-image"/> | |||
| @@ -56,7 +52,7 @@ export default function WorkSection() { | |||
| </Card> | |||
| </Grid> | |||
| </Grid> | |||
| <Grid container spacing={3}> | |||
| {/* <Grid container spacing={3}> | |||
| <Grid item xs={3}> | |||
| <Card> | |||
| <img src={img8} alt="First slide" className="slick-image"/> | |||
| @@ -99,7 +95,7 @@ export default function WorkSection() { | |||
| <img src={img4} alt="First slide" className="slick-image"/> | |||
| </Card> | |||
| </Grid> | |||
| </Grid> | |||
| </Grid> */} | |||
| </div> | |||
| </div> | |||
| </div> | |||
| @@ -0,0 +1,341 @@ | |||
| import React from 'react'; | |||
| import { makeStyles } from '@material-ui/core/styles'; | |||
| import clsx from 'clsx'; | |||
| import SnackbarContent from "components/Snackbar/SnackbarContent.js"; | |||
| import Button1 from "components/CustomButtons/Button.js"; | |||
| import image1 from "../../../assets/img/mail.png" | |||
| import GridContainer from "components/Grid/GridContainer.js"; | |||
| import classNames from "classnames"; | |||
| import Icon from "@material-ui/core/Icon"; | |||
| import Grid from '@material-ui/core/Grid'; | |||
| import TextField from '@material-ui/core/TextField'; | |||
| import Button from '@material-ui/core/Button'; | |||
| import Dialog from '@material-ui/core/Dialog'; | |||
| import ListItemText from '@material-ui/core/ListItemText'; | |||
| import ListItem from '@material-ui/core/ListItem'; | |||
| import List from '@material-ui/core/List'; | |||
| import Divider from '@material-ui/core/Divider'; | |||
| import AppBar from '@material-ui/core/AppBar'; | |||
| import Toolbar from '@material-ui/core/Toolbar'; | |||
| import IconButton from '@material-ui/core/IconButton'; | |||
| import Typography from '@material-ui/core/Typography'; | |||
| import CloseIcon from '@material-ui/icons/Close'; | |||
| import Slide from '@material-ui/core/Slide'; | |||
| import FormControl from '@material-ui/core/FormControl'; | |||
| import Select from '@material-ui/core/Select'; | |||
| import MenuItem from '@material-ui/core/MenuItem'; | |||
| import Card from "components/Card/Card.js"; | |||
| import CardBody from "components/Card/CardBody.js"; | |||
| const useStyles = makeStyles((theme) => ({ | |||
| root: { | |||
| width: '100%', | |||
| }, | |||
| button: { | |||
| marginTop: theme.spacing(1), | |||
| marginRight: theme.spacing(1), | |||
| }, | |||
| actionsContainer: { | |||
| marginBottom: theme.spacing(2), | |||
| }, | |||
| resetContainer: { | |||
| padding: theme.spacing(3), | |||
| }, | |||
| appBar: { | |||
| position: 'relative', | |||
| }, | |||
| title: { | |||
| marginLeft: theme.spacing(2), | |||
| flex: 1, | |||
| }, | |||
| root: { | |||
| '&:hover': { | |||
| backgroundColor: 'transparent', | |||
| }, | |||
| }, | |||
| icon: { | |||
| borderRadius: '50%', | |||
| width: 16, | |||
| height: 16, | |||
| boxShadow: 'inset 0 0 0 1px rgba(16,22,26,.2), inset 0 -1px 0 rgba(16,22,26,.1)', | |||
| backgroundColor: '#f5f8fa', | |||
| backgroundImage: 'linear-gradient(180deg,hsla(0,0%,100%,.8),hsla(0,0%,100%,0))', | |||
| '$root.Mui-focusVisible &': { | |||
| outline: '2px auto rgba(19,124,189,.6)', | |||
| outlineOffset: 2, | |||
| }, | |||
| 'input:hover ~ &': { | |||
| backgroundColor: '#ebf1f5', | |||
| }, | |||
| 'input:disabled ~ &': { | |||
| boxShadow: 'none', | |||
| background: 'rgba(206,217,224,.5)', | |||
| }, | |||
| }, | |||
| checkedIcon: { | |||
| backgroundColor: '#137cbd', | |||
| backgroundImage: 'linear-gradient(180deg,hsla(0,0%,100%,.1),hsla(0,0%,100%,0))', | |||
| '&:before': { | |||
| display: 'block', | |||
| width: 16, | |||
| height: 16, | |||
| backgroundImage: 'radial-gradient(#fff,#fff 28%,transparent 32%)', | |||
| content: '""', | |||
| }, | |||
| 'input:hover ~ &': { | |||
| backgroundColor: '#106ba3', | |||
| }, | |||
| }, | |||
| })); | |||
| const Transition = React.forwardRef(function Transition(props, ref) { | |||
| return <Slide direction="up" ref={ref} {...props} />; | |||
| }); | |||
| const DataCheckout = function ({ province, cities, midtransClient, backend, checkoutproduct, transactionToken, ...props }) { | |||
| console.log('Token :',transactionToken); | |||
| const classes = useStyles(); | |||
| const [open, setOpen] = React.useState(false); | |||
| const handleClickOpen = () => { | |||
| setOpen(true); | |||
| }; | |||
| const handleClose = () => { | |||
| setOpen(false); | |||
| }; | |||
| const { ...rest } = props; | |||
| const imageClasses = classNames( | |||
| classes.imgRaised, | |||
| classes.imgRoundedCircle, | |||
| classes.imgFluid | |||
| ); | |||
| const navImageClasses = classNames(classes.imgRounded, classes.imgGallery); | |||
| const CheckoutAlamat = checkoutproduct.map((data) => { | |||
| return ( | |||
| <div align="center"> | |||
| <Card className={classes.textCenter} align="center"> | |||
| <CardBody> | |||
| <div style={{padding:"10px"}}> | |||
| <Typography variant="h6" align="left" className={classes.title}> | |||
| Alamat Pengiriman | |||
| </Typography><br></br> | |||
| <img src={image1} style={{width:"1100px"}}/><br></br> | |||
| <h5>Yusmar</h5> | |||
| <h5>087797315685</h5> | |||
| <h5>Thamrin Indrapura Jl.Aipda Karel Satsuit Tubun,17 Ilir, Kec.Ilir Tim.I, Palembang, KOTA PALEMBANG - ILIR TIMUR II, SUMATERA SELATAN, ID 30114</h5> | |||
| <Button1 color="info" href={"/yamaha/profile/edit-profile"}> | |||
| <Icon className={classes.icons}>cached</Icon> | |||
| Ubah Alamat | |||
| </Button1> | |||
| </div> | |||
| </CardBody> | |||
| </Card> | |||
| </div> | |||
| ); | |||
| }) | |||
| const CheckoutProdukPesanan = checkoutproduct.map((data) => { | |||
| const handleChange = (event) => { | |||
| setAge(event.target.value); | |||
| }; | |||
| const handleChanges = (event) => { | |||
| setPengiriman(event.target.value); | |||
| }; | |||
| const [age, setAge] = React.useState(''); | |||
| const [pengiriman, setPengiriman] = React.useState(''); | |||
| return ( | |||
| <div align="center"> | |||
| <Card className={classes.textCenter} align="center"> | |||
| <CardBody> | |||
| <div style={{padding:"10px"}}> | |||
| <Typography variant="h6" align="left" className={classes.title}> | |||
| Pesanan Produk | |||
| </Typography><br></br><hr></hr> | |||
| <GridContainer> | |||
| <Grid item xs> | |||
| <div align="center"> | |||
| <h4>Produk Dipesan</h4> | |||
| <img className={navImageClasses} width="200px" alt="First slide" src={`${backend}${data.img[0]["url"]}`} /> | |||
| </div> | |||
| </Grid> | |||
| <Grid item xs> | |||
| <div align="center"> | |||
| <h4></h4><br></br><br></br><br></br><br></br> | |||
| <h5>{data.name}</h5> | |||
| </div> | |||
| </Grid> | |||
| <Grid item xs> | |||
| <div align="center"> | |||
| <h4>Warna</h4><br></br><br></br><br></br> | |||
| <FormControl className={classes.formControl}> | |||
| <Select | |||
| labelId="demo-simple-select-label" | |||
| id="demo-simple-select" | |||
| value={age} | |||
| onChange={handleChange} | |||
| > | |||
| <MenuItem value={10}>Hitam</MenuItem> | |||
| <MenuItem value={20}>Merah</MenuItem> | |||
| <MenuItem value={30}>Biru</MenuItem> | |||
| <MenuItem value={30}>Putih</MenuItem> | |||
| </Select> | |||
| </FormControl> | |||
| </div> | |||
| </Grid> | |||
| <Grid item xs> | |||
| <div align="center"> | |||
| <h4>Harga Satuan</h4><br></br><br></br><br></br> | |||
| <h5>Rp.{data.price}</h5> | |||
| </div> | |||
| </Grid> | |||
| <Grid item xs> | |||
| <div align="center"> | |||
| <h4>Jumlah Unit</h4><br></br><br></br><br></br> | |||
| <FormControl className={classes.formControl}> | |||
| <TextField | |||
| id="outlined-number" | |||
| type="number" | |||
| align="center" | |||
| InputLabelProps={{ | |||
| shrink: true, | |||
| }} | |||
| /> | |||
| </FormControl> | |||
| </div> | |||
| </Grid> | |||
| <Grid item xs> | |||
| <div align="center"> | |||
| <h4>Sub Total Produk</h4><br></br><br></br><br></br> | |||
| <h5>Total Rp.{data.price}</h5> | |||
| </div> | |||
| </Grid> | |||
| </GridContainer> | |||
| <GridContainer style={{padding:"20px"}}> | |||
| <Grid item xs style={{padding:"20px"}}> | |||
| <TextField | |||
| id="outlined-full-width" | |||
| label="Pesan" | |||
| style={{ margin: 8 }} | |||
| placeholder="( Opsional ) Tinggalkan Pesan Kepada Dealer" | |||
| fullWidth | |||
| margin="normal" | |||
| InputLabelProps={{ | |||
| shrink: true, | |||
| }} | |||
| variant="outlined" | |||
| /> | |||
| </Grid> | |||
| <Grid item xs style={{padding:"20px"}}><br></br> | |||
| <Button variant="outlined" color="primary" onClick={handleClickOpen}> | |||
| Pilih Opsi Pengiriman | |||
| </Button> | |||
| <Dialog fullScreen open={open} onClose={handleClose} TransitionComponent={Transition}> | |||
| <AppBar className={classes.appBar}> | |||
| <Toolbar> | |||
| <IconButton edge="start" color="inherit" onClick={handleClose} aria-label="close"> | |||
| <CloseIcon /> | |||
| </IconButton> | |||
| <Typography variant="h6" className={classes.title}> | |||
| Pilih Opsi Pengiriman | |||
| </Typography> | |||
| <Button autoFocus color="inherit" onClick={handleClose}> | |||
| Pilih | |||
| </Button> | |||
| </Toolbar> | |||
| </AppBar> | |||
| <List> | |||
| <ListItem button | |||
| id="POS" | |||
| value={pengiriman} | |||
| onChange={handleChanges} | |||
| > | |||
| <ListItemText primary="POS" secondary="Akan diterima pada tanggal 2 Apr - 6 Apr" /> | |||
| </ListItem> | |||
| <Divider /> | |||
| <ListItem button | |||
| id="JNE" | |||
| value={pengiriman} | |||
| onChange={handleChanges} | |||
| > | |||
| <ListItemText primary="JNE" secondary="Akan diterima pada tanggal 30 Mar - 2 Apr" /> | |||
| </ListItem> | |||
| <ListItem button | |||
| id="TIKI" | |||
| value={pengiriman} | |||
| onChange={handleChanges} | |||
| > | |||
| <ListItemText primary="TIKI" secondary="Akan diterima pada tanggal 1 Apr - 4 Apr, COD (Bayar di Tempat) tidak didukung" /> | |||
| </ListItem> | |||
| </List> | |||
| </Dialog> | |||
| </Grid> | |||
| <Grid item xs align="right" style={{padding:"20px"}}><br></br> | |||
| Total Rp. {data.price} | |||
| </Grid> | |||
| </GridContainer> | |||
| </div> | |||
| </CardBody> | |||
| </Card> | |||
| </div> | |||
| ); | |||
| }) | |||
| return ( | |||
| <div style={{padding:"50px"}}> | |||
| <script type="text/javascript" src="https://app.sandbox.midtrans.com/snap/snap.js" data-client-key="SB-Mid-client-srx674LjNbEybd4-"/> | |||
| <div align="center" className={classes.section} id="notifications"> | |||
| <SnackbarContent | |||
| message={ | |||
| <h2><b>Checkout</b></h2> | |||
| } | |||
| align="center" | |||
| color="danger" | |||
| /> | |||
| </div> | |||
| <div> | |||
| {CheckoutAlamat} | |||
| </div> | |||
| <div> | |||
| {CheckoutProdukPesanan} | |||
| </div> | |||
| <div> | |||
| <Card className={classes.textCenter} align="center"> | |||
| <CardBody> | |||
| {/* <GridContainer> | |||
| <Grid item xs={6} style={{padding:"20px"}}> | |||
| <Button1 color="info" href="/yamaha/order/order"> | |||
| <Icon className={classes.icons}>attach_money</Icon> | |||
| Buat Pesanan | |||
| </Button1> | |||
| </Grid> | |||
| <Grid item xs={6} style={{padding:"20px"}}> | |||
| <Button1 color="danger" onClick={(e)=>{snap.pay(transactionToken);}} style={{width:"100%"}}> | |||
| <Icon className={classes.icons}>attach_money</Icon> | |||
| Batalkan Pesanan | |||
| </Button1> | |||
| </Grid> | |||
| </GridContainer> */} | |||
| <GridContainer> | |||
| <Grid item xs={6} style={{padding:"20px"}}> | |||
| <Button1 color="info" onClick={(e)=>{snap.pay(transactionToken);}} style={{width:"100%"}}> | |||
| <Icon className={classes.icons}>attach_money</Icon> | |||
| Bayar Pesanan | |||
| </Button1> | |||
| </Grid> | |||
| {/* <Grid item xs={6} style={{padding:"20px"}}> | |||
| <Button1 color="info" onClick={(e)=>{snap.pay(transactionToken);}} style={{width:"100%"}}> | |||
| <Icon className={classes.icons}>attach_money</Icon> | |||
| Bayar Pesanan | |||
| </Button1> | |||
| </Grid> */} | |||
| </GridContainer> | |||
| </CardBody> | |||
| </Card> | |||
| </div> | |||
| </div> | |||
| ); | |||
| } | |||
| export default DataCheckout; | |||
| @@ -32,25 +32,29 @@ const DataCarousel = function ({ backend, carousel, ...props }) { | |||
| <div className={classes.section}> | |||
| <div className={classes.container}> | |||
| <GridContainer> | |||
| <GridItem className={classes.marginAuto}> | |||
| <Card carousel> | |||
| <Carousel {...settings}> | |||
| {Carousels} | |||
| </Carousel> | |||
| </Card> | |||
| </GridItem> | |||
| <GridItem className={classes.marginAuto}> | |||
| <Card carousel> | |||
| <Carousel {...settings}> | |||
| {Carousels} | |||
| </Carousel> | |||
| </Card> | |||
| </GridItem> | |||
| </GridContainer> | |||
| <GridContainer style={{marginTop:"-30px"}}> | |||
| <Grid style={{padding:"35px"}}> | |||
| <Card> | |||
| <iframe width="815" height="448" src="https://www.youtube.com/embed/ctv6XEB3ZT4" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen style={{height: "300px", width: "500px", display: "block"}}></iframe> | |||
| <GridContainer> | |||
| <GridItem className={classes.marginAuto} xs={6}> | |||
| <Card carousel> | |||
| <Carousel {...settings}> | |||
| <iframe height="300px" src="https://www.youtube.com/embed/ctv6XEB3ZT4" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe> | |||
| </Carousel> | |||
| </Card> | |||
| </Grid> | |||
| <Grid style={{padding:"35px"}}> | |||
| <Card> | |||
| <iframe width="815" height="448" src="https://www.youtube.com/embed/sI3n7Fh8lrQ" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen style={{height: "300px", width: "500px", display: "block"}}></iframe> | |||
| </GridItem> | |||
| <GridItem className={classes.marginAuto} xs={6}> | |||
| <Card carousel> | |||
| <Carousel {...settings}> | |||
| <iframe height="300px" src="https://www.youtube.com/embed/sI3n7Fh8lrQ" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe> | |||
| </Carousel> | |||
| </Card> | |||
| </Grid> | |||
| </GridItem> | |||
| </GridContainer> | |||
| </div> | |||
| </div> | |||
| @@ -43,8 +43,8 @@ const DataProduct = function ({ backend, car, ...props }) { | |||
| <Icon className={classes.icons}>open_in_new</Icon>Detail Product | |||
| </Button> | |||
| <Button | |||
| color="info" round | |||
| href={"/honda/checkout/checkout?s="+data.id} | |||
| color="info" round | |||
| href={"/honda/cart/checkout?s="+data.id} | |||
| > | |||
| <Icon className={classes.icons}>shopping_cart</Icon>Add to Cart | |||
| </Button> | |||
| @@ -0,0 +1,341 @@ | |||
| import React from 'react'; | |||
| import { makeStyles } from '@material-ui/core/styles'; | |||
| import clsx from 'clsx'; | |||
| import SnackbarContent from "components/Snackbar/SnackbarContent.js"; | |||
| import Button1 from "components/CustomButtons/Button.js"; | |||
| import image1 from "../../../assets/img/mail.png" | |||
| import GridContainer from "components/Grid/GridContainer.js"; | |||
| import classNames from "classnames"; | |||
| import Icon from "@material-ui/core/Icon"; | |||
| import Grid from '@material-ui/core/Grid'; | |||
| import TextField from '@material-ui/core/TextField'; | |||
| import Button from '@material-ui/core/Button'; | |||
| import Dialog from '@material-ui/core/Dialog'; | |||
| import ListItemText from '@material-ui/core/ListItemText'; | |||
| import ListItem from '@material-ui/core/ListItem'; | |||
| import List from '@material-ui/core/List'; | |||
| import Divider from '@material-ui/core/Divider'; | |||
| import AppBar from '@material-ui/core/AppBar'; | |||
| import Toolbar from '@material-ui/core/Toolbar'; | |||
| import IconButton from '@material-ui/core/IconButton'; | |||
| import Typography from '@material-ui/core/Typography'; | |||
| import CloseIcon from '@material-ui/icons/Close'; | |||
| import Slide from '@material-ui/core/Slide'; | |||
| import FormControl from '@material-ui/core/FormControl'; | |||
| import Select from '@material-ui/core/Select'; | |||
| import MenuItem from '@material-ui/core/MenuItem'; | |||
| import Card from "components/Card/Card.js"; | |||
| import CardBody from "components/Card/CardBody.js"; | |||
| const useStyles = makeStyles((theme) => ({ | |||
| root: { | |||
| width: '100%', | |||
| }, | |||
| button: { | |||
| marginTop: theme.spacing(1), | |||
| marginRight: theme.spacing(1), | |||
| }, | |||
| actionsContainer: { | |||
| marginBottom: theme.spacing(2), | |||
| }, | |||
| resetContainer: { | |||
| padding: theme.spacing(3), | |||
| }, | |||
| appBar: { | |||
| position: 'relative', | |||
| }, | |||
| title: { | |||
| marginLeft: theme.spacing(2), | |||
| flex: 1, | |||
| }, | |||
| root: { | |||
| '&:hover': { | |||
| backgroundColor: 'transparent', | |||
| }, | |||
| }, | |||
| icon: { | |||
| borderRadius: '50%', | |||
| width: 16, | |||
| height: 16, | |||
| boxShadow: 'inset 0 0 0 1px rgba(16,22,26,.2), inset 0 -1px 0 rgba(16,22,26,.1)', | |||
| backgroundColor: '#f5f8fa', | |||
| backgroundImage: 'linear-gradient(180deg,hsla(0,0%,100%,.8),hsla(0,0%,100%,0))', | |||
| '$root.Mui-focusVisible &': { | |||
| outline: '2px auto rgba(19,124,189,.6)', | |||
| outlineOffset: 2, | |||
| }, | |||
| 'input:hover ~ &': { | |||
| backgroundColor: '#ebf1f5', | |||
| }, | |||
| 'input:disabled ~ &': { | |||
| boxShadow: 'none', | |||
| background: 'rgba(206,217,224,.5)', | |||
| }, | |||
| }, | |||
| checkedIcon: { | |||
| backgroundColor: '#137cbd', | |||
| backgroundImage: 'linear-gradient(180deg,hsla(0,0%,100%,.1),hsla(0,0%,100%,0))', | |||
| '&:before': { | |||
| display: 'block', | |||
| width: 16, | |||
| height: 16, | |||
| backgroundImage: 'radial-gradient(#fff,#fff 28%,transparent 32%)', | |||
| content: '""', | |||
| }, | |||
| 'input:hover ~ &': { | |||
| backgroundColor: '#106ba3', | |||
| }, | |||
| }, | |||
| })); | |||
| const Transition = React.forwardRef(function Transition(props, ref) { | |||
| return <Slide direction="up" ref={ref} {...props} />; | |||
| }); | |||
| const DataCheckout = function ({ province, cities, midtransClient, backend, checkoutproduct, transactionToken, ...props }) { | |||
| console.log('Token :',transactionToken); | |||
| const classes = useStyles(); | |||
| const [open, setOpen] = React.useState(false); | |||
| const handleClickOpen = () => { | |||
| setOpen(true); | |||
| }; | |||
| const handleClose = () => { | |||
| setOpen(false); | |||
| }; | |||
| const { ...rest } = props; | |||
| const imageClasses = classNames( | |||
| classes.imgRaised, | |||
| classes.imgRoundedCircle, | |||
| classes.imgFluid | |||
| ); | |||
| const navImageClasses = classNames(classes.imgRounded, classes.imgGallery); | |||
| const CheckoutAlamat = checkoutproduct.map((data) => { | |||
| return ( | |||
| <div align="center"> | |||
| <Card className={classes.textCenter} align="center"> | |||
| <CardBody> | |||
| <div style={{padding:"10px"}}> | |||
| <Typography variant="h6" align="left" className={classes.title}> | |||
| Alamat Pengiriman | |||
| </Typography><br></br> | |||
| <img src={image1} style={{width:"1100px"}}/><br></br> | |||
| <h5>Yusmar</h5> | |||
| <h5>087797315685</h5> | |||
| <h5>Thamrin Indrapura Jl.Aipda Karel Satsuit Tubun,17 Ilir, Kec.Ilir Tim.I, Palembang, KOTA PALEMBANG - ILIR TIMUR II, SUMATERA SELATAN, ID 30114</h5> | |||
| <Button1 color="info" href={"/yamaha/profile/edit-profile"}> | |||
| <Icon className={classes.icons}>cached</Icon> | |||
| Ubah Alamat | |||
| </Button1> | |||
| </div> | |||
| </CardBody> | |||
| </Card> | |||
| </div> | |||
| ); | |||
| }) | |||
| const CheckoutProdukPesanan = checkoutproduct.map((data) => { | |||
| const handleChange = (event) => { | |||
| setAge(event.target.value); | |||
| }; | |||
| const handleChanges = (event) => { | |||
| setPengiriman(event.target.value); | |||
| }; | |||
| const [age, setAge] = React.useState(''); | |||
| const [pengiriman, setPengiriman] = React.useState(''); | |||
| return ( | |||
| <div align="center"> | |||
| <Card className={classes.textCenter} align="center"> | |||
| <CardBody> | |||
| <div style={{padding:"10px"}}> | |||
| <Typography variant="h6" align="left" className={classes.title}> | |||
| Pesanan Produk | |||
| </Typography><br></br><hr></hr> | |||
| <GridContainer> | |||
| <Grid item xs> | |||
| <div align="center"> | |||
| <h4>Produk Dipesan</h4> | |||
| <img className={navImageClasses} width="200px" alt="First slide" src={`${backend}${data.img[0]["url"]}`} /> | |||
| </div> | |||
| </Grid> | |||
| <Grid item xs> | |||
| <div align="center"> | |||
| <h4></h4><br></br><br></br><br></br><br></br> | |||
| <h5>{data.name}</h5> | |||
| </div> | |||
| </Grid> | |||
| <Grid item xs> | |||
| <div align="center"> | |||
| <h4>Warna</h4><br></br><br></br><br></br> | |||
| <FormControl className={classes.formControl}> | |||
| <Select | |||
| labelId="demo-simple-select-label" | |||
| id="demo-simple-select" | |||
| value={age} | |||
| onChange={handleChange} | |||
| > | |||
| <MenuItem value={10}>Hitam</MenuItem> | |||
| <MenuItem value={20}>Merah</MenuItem> | |||
| <MenuItem value={30}>Biru</MenuItem> | |||
| <MenuItem value={30}>Putih</MenuItem> | |||
| </Select> | |||
| </FormControl> | |||
| </div> | |||
| </Grid> | |||
| <Grid item xs> | |||
| <div align="center"> | |||
| <h4>Harga Satuan</h4><br></br><br></br><br></br> | |||
| <h5>Rp.{data.price}</h5> | |||
| </div> | |||
| </Grid> | |||
| <Grid item xs> | |||
| <div align="center"> | |||
| <h4>Jumlah Unit</h4><br></br><br></br><br></br> | |||
| <FormControl className={classes.formControl}> | |||
| <TextField | |||
| id="outlined-number" | |||
| type="number" | |||
| align="center" | |||
| InputLabelProps={{ | |||
| shrink: true, | |||
| }} | |||
| /> | |||
| </FormControl> | |||
| </div> | |||
| </Grid> | |||
| <Grid item xs> | |||
| <div align="center"> | |||
| <h4>Sub Total Produk</h4><br></br><br></br><br></br> | |||
| <h5>Total Rp.{data.price}</h5> | |||
| </div> | |||
| </Grid> | |||
| </GridContainer> | |||
| <GridContainer style={{padding:"20px"}}> | |||
| <Grid item xs style={{padding:"20px"}}> | |||
| <TextField | |||
| id="outlined-full-width" | |||
| label="Pesan" | |||
| style={{ margin: 8 }} | |||
| placeholder="( Opsional ) Tinggalkan Pesan Kepada Dealer" | |||
| fullWidth | |||
| margin="normal" | |||
| InputLabelProps={{ | |||
| shrink: true, | |||
| }} | |||
| variant="outlined" | |||
| /> | |||
| </Grid> | |||
| <Grid item xs style={{padding:"20px"}}><br></br> | |||
| <Button variant="outlined" color="primary" onClick={handleClickOpen}> | |||
| Pilih Opsi Pengiriman | |||
| </Button> | |||
| <Dialog fullScreen open={open} onClose={handleClose} TransitionComponent={Transition}> | |||
| <AppBar className={classes.appBar}> | |||
| <Toolbar> | |||
| <IconButton edge="start" color="inherit" onClick={handleClose} aria-label="close"> | |||
| <CloseIcon /> | |||
| </IconButton> | |||
| <Typography variant="h6" className={classes.title}> | |||
| Pilih Opsi Pengiriman | |||
| </Typography> | |||
| <Button autoFocus color="inherit" onClick={handleClose}> | |||
| Pilih | |||
| </Button> | |||
| </Toolbar> | |||
| </AppBar> | |||
| <List> | |||
| <ListItem button | |||
| id="POS" | |||
| value={pengiriman} | |||
| onChange={handleChanges} | |||
| > | |||
| <ListItemText primary="POS" secondary="Akan diterima pada tanggal 2 Apr - 6 Apr" /> | |||
| </ListItem> | |||
| <Divider /> | |||
| <ListItem button | |||
| id="JNE" | |||
| value={pengiriman} | |||
| onChange={handleChanges} | |||
| > | |||
| <ListItemText primary="JNE" secondary="Akan diterima pada tanggal 30 Mar - 2 Apr" /> | |||
| </ListItem> | |||
| <ListItem button | |||
| id="TIKI" | |||
| value={pengiriman} | |||
| onChange={handleChanges} | |||
| > | |||
| <ListItemText primary="TIKI" secondary="Akan diterima pada tanggal 1 Apr - 4 Apr, COD (Bayar di Tempat) tidak didukung" /> | |||
| </ListItem> | |||
| </List> | |||
| </Dialog> | |||
| </Grid> | |||
| <Grid item xs align="right" style={{padding:"20px"}}><br></br> | |||
| Total Rp. {data.price} | |||
| </Grid> | |||
| </GridContainer> | |||
| </div> | |||
| </CardBody> | |||
| </Card> | |||
| </div> | |||
| ); | |||
| }) | |||
| return ( | |||
| <div style={{padding:"50px"}}> | |||
| <script type="text/javascript" src="https://app.sandbox.midtrans.com/snap/snap.js" data-client-key="SB-Mid-client-srx674LjNbEybd4-"/> | |||
| <div align="center" className={classes.section} id="notifications"> | |||
| <SnackbarContent | |||
| message={ | |||
| <h2><b>Checkout</b></h2> | |||
| } | |||
| align="center" | |||
| color="danger" | |||
| /> | |||
| </div> | |||
| <div> | |||
| {CheckoutAlamat} | |||
| </div> | |||
| <div> | |||
| {CheckoutProdukPesanan} | |||
| </div> | |||
| <div> | |||
| <Card className={classes.textCenter} align="center"> | |||
| <CardBody> | |||
| {/* <GridContainer> | |||
| <Grid item xs={6} style={{padding:"20px"}}> | |||
| <Button1 color="info" href="/yamaha/order/order"> | |||
| <Icon className={classes.icons}>attach_money</Icon> | |||
| Buat Pesanan | |||
| </Button1> | |||
| </Grid> | |||
| <Grid item xs={6} style={{padding:"20px"}}> | |||
| <Button1 color="danger" onClick={(e)=>{snap.pay(transactionToken);}} style={{width:"100%"}}> | |||
| <Icon className={classes.icons}>attach_money</Icon> | |||
| Batalkan Pesanan | |||
| </Button1> | |||
| </Grid> | |||
| </GridContainer> */} | |||
| <GridContainer> | |||
| <Grid item xs={6} style={{padding:"20px"}}> | |||
| <Button1 color="info" onClick={(e)=>{snap.pay(transactionToken);}} style={{width:"100%"}}> | |||
| <Icon className={classes.icons}>attach_money</Icon> | |||
| Bayar Pesanan | |||
| </Button1> | |||
| </Grid> | |||
| {/* <Grid item xs={6} style={{padding:"20px"}}> | |||
| <Button1 color="info" onClick={(e)=>{snap.pay(transactionToken);}} style={{width:"100%"}}> | |||
| <Icon className={classes.icons}>attach_money</Icon> | |||
| Bayar Pesanan | |||
| </Button1> | |||
| </Grid> */} | |||
| </GridContainer> | |||
| </CardBody> | |||
| </Card> | |||
| </div> | |||
| </div> | |||
| ); | |||
| } | |||
| export default DataCheckout; | |||
| @@ -40,17 +40,21 @@ const DataCarousel = function ({ backend, carousels, ...props }) { | |||
| </Card> | |||
| </GridItem> | |||
| </GridContainer> | |||
| <GridContainer style={{marginTop:"-30px"}}> | |||
| <Grid style={{padding:"35px"}}> | |||
| <Card> | |||
| <iframe width="853" height="480" src="https://www.youtube.com/embed/lF8mfdLz2A8" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen style={{height: "300px", width: "500px", display: "block"}}></iframe> | |||
| </Card> | |||
| </Grid> | |||
| <Grid style={{padding:"35px"}}> | |||
| <Card> | |||
| <iframe width="853" height="480" src="https://www.youtube.com/embed/W5y2C8lqOeA" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen style={{height: "300px", width: "500px", display: "block"}}></iframe> | |||
| </Card> | |||
| </Grid> | |||
| <GridContainer> | |||
| <GridItem className={classes.marginAuto} xs={6}> | |||
| <Card carousel> | |||
| <Carousel {...settings}> | |||
| <iframe height="300px" src="https://www.youtube.com/embed/lF8mfdLz2A8" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe> | |||
| </Carousel> | |||
| </Card> | |||
| </GridItem> | |||
| <GridItem className={classes.marginAuto} xs={6}> | |||
| <Card carousel> | |||
| <Carousel {...settings}> | |||
| <iframe height="300px" src="https://www.youtube.com/embed/W5y2C8lqOeA" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe> | |||
| </Carousel> | |||
| </Card> | |||
| </GridItem> | |||
| </GridContainer> | |||
| </div> | |||
| </div> | |||
| @@ -40,10 +40,8 @@ const DataLatestNews = function ({ backend, news, ...props }) { | |||
| <div align="center"> | |||
| <h2>Latest News</h2> | |||
| </div> | |||
| <div> | |||
| <GridContainer justify="center"> | |||
| {latnews} | |||
| </GridContainer> | |||
| <div align="center"> | |||
| {latnews} | |||
| </div> | |||
| <div align="center"> | |||
| <Paginations | |||
| @@ -55,7 +55,6 @@ const DataLatestNews = function ({ backend, news, othernews,...props }) { | |||
| }) | |||
| const latnews = news.map((data) => { | |||
| return ( | |||
| <GridContainer justify="center"> | |||
| <Grid fluid xs={4}> | |||
| <div className={classes.section} id="notifications"> | |||
| @@ -68,11 +67,6 @@ const DataLatestNews = function ({ backend, news, othernews,...props }) { | |||
| <img className={navImageClasses} width="300px" alt="First slide" src={`${backend}${data.img[0]["url"]}`} /> | |||
| </Carousel> | |||
| </Card> | |||
| <hr></hr> | |||
| <div align="center"> | |||
| <h3>Other Latest News</h3> | |||
| <h3>{otherlatnews}</h3> | |||
| </div> | |||
| </GridItem> | |||
| </GridContainer> | |||
| </div> | |||
| @@ -45,7 +45,7 @@ const DataProduct = function ({ backend, car, ...props }) { | |||
| </Button> | |||
| <Button | |||
| color="info" round | |||
| href={"/suzuki/checkout/checkout?s="+data.id} | |||
| href={"/suzuki/cart/checkout?s="+data.id} | |||
| > | |||
| <Icon className={classes.icons}>shopping_cart</Icon>Add to Cart | |||
| </Button> | |||
| @@ -7,6 +7,7 @@ import Button1 from "components/CustomButtons/Button.js"; | |||
| import image1 from "../../../assets/img/mail.png" | |||
| import GridContainer from "components/Grid/GridContainer.js"; | |||
| import classNames from "classnames"; | |||
| import swal from 'sweetalert'; | |||
| import Icon from "@material-ui/core/Icon"; | |||
| import Grid from '@material-ui/core/Grid'; | |||
| @@ -23,11 +24,12 @@ import IconButton from '@material-ui/core/IconButton'; | |||
| import Typography from '@material-ui/core/Typography'; | |||
| import CloseIcon from '@material-ui/icons/Close'; | |||
| import Slide from '@material-ui/core/Slide'; | |||
| import FormControl from '@material-ui/core/FormControl'; | |||
| import Select from '@material-ui/core/Select'; | |||
| import MenuItem from '@material-ui/core/MenuItem'; | |||
| import Card from "components/Card/Card.js"; | |||
| import CardBody from "components/Card/CardBody.js"; | |||
| import FormControl from '@material-ui/core/FormControl'; | |||
| import { FormGroup } from "rsuite"; | |||
| const useStyles = makeStyles((theme) => ({ | |||
| root: { | |||
| @@ -112,6 +114,30 @@ const DataCheckout = function ({ province, cities, midtransClient, backend, chec | |||
| ); | |||
| const navImageClasses = classNames(classes.imgRounded, classes.imgGallery); | |||
| const [formValue, setFormValue] = React.useState({ | |||
| cust_name: "cust_name", | |||
| cust_telp: null, | |||
| cust_address: null, | |||
| product_img: null, | |||
| product_name: null, | |||
| product_color: null, | |||
| product_quantity: null, | |||
| product_price: null, | |||
| product_courier: null, | |||
| }); | |||
| function create_UUID(){ | |||
| var dt = new Date().getTime(); | |||
| var uuid = 'Order-ID-xxxxxxxx'.replace(/[x]/g, function(c) { | |||
| var r = (dt + Math.random()*16)%16 | 0; | |||
| dt = Math.floor(dt/16); | |||
| return (c=='x' ? r :(r&0x3|0x8)).toString(16); | |||
| }); | |||
| return uuid; | |||
| } | |||
| console.log(create_UUID); | |||
| const CheckoutAlamat = checkoutproduct.map((data) => { | |||
| return ( | |||
| <div align="center"> | |||
| @@ -122,8 +148,17 @@ const DataCheckout = function ({ province, cities, midtransClient, backend, chec | |||
| Alamat Pengiriman | |||
| </Typography><br></br> | |||
| <img src={image1} style={{width:"1100px"}}/><br></br> | |||
| <h5>Yusmar</h5> | |||
| <FormGroup> | |||
| <FormControl name="cust_name" type="text" value={data.name}/> | |||
| </FormGroup> | |||
| <h5>{data.name}</h5> | |||
| <FormGroup> | |||
| <FormControl name="cust_telp" type="text"/> | |||
| </FormGroup> | |||
| <h5>087797315685</h5> | |||
| <FormGroup> | |||
| <FormControl name="cust_address" type="text" value={data.name}/> | |||
| </FormGroup> | |||
| <h5>Thamrin Indrapura Jl.Aipda Karel Satsuit Tubun,17 Ilir, Kec.Ilir Tim.I, Palembang, KOTA PALEMBANG - ILIR TIMUR II, SUMATERA SELATAN, ID 30114</h5> | |||
| <Button1 color="info" href={"/yamaha/profile/edit-profile"}> | |||
| <Icon className={classes.icons}>cached</Icon> | |||
| @@ -154,18 +189,27 @@ const DataCheckout = function ({ province, cities, midtransClient, backend, chec | |||
| Pesanan Produk | |||
| </Typography><br></br><hr></hr> | |||
| <GridContainer> | |||
| <FormGroup> | |||
| <FormControl name="product_img" type="text" value={data.name}/> | |||
| </FormGroup> | |||
| <Grid item xs> | |||
| <div align="center"> | |||
| <h4>Produk Dipesan</h4> | |||
| <img className={navImageClasses} width="200px" alt="First slide" src={`${backend}${data.img[0]["url"]}`} /> | |||
| </div> | |||
| </Grid> | |||
| <FormGroup> | |||
| <FormControl name="product_name" type="text" value={data.name}/> | |||
| </FormGroup> | |||
| <Grid item xs> | |||
| <div align="center"> | |||
| <h4></h4><br></br><br></br><br></br><br></br> | |||
| <h5>{data.name}</h5> | |||
| </div> | |||
| </Grid> | |||
| <FormGroup> | |||
| <FormControl name="product_color" type="text" value={data.name}/> | |||
| </FormGroup> | |||
| <Grid item xs> | |||
| <div align="center"> | |||
| <h4>Warna</h4><br></br><br></br><br></br> | |||
| @@ -190,6 +234,9 @@ const DataCheckout = function ({ province, cities, midtransClient, backend, chec | |||
| <h5>Rp.{data.price}</h5> | |||
| </div> | |||
| </Grid> | |||
| <FormGroup> | |||
| <FormControl name="product_quantity" type="text" value={data.name}/> | |||
| </FormGroup> | |||
| <Grid item xs> | |||
| <div align="center"> | |||
| <h4>Jumlah Unit</h4><br></br><br></br><br></br> | |||
| @@ -198,6 +245,7 @@ const DataCheckout = function ({ province, cities, midtransClient, backend, chec | |||
| id="outlined-number" | |||
| type="number" | |||
| align="center" | |||
| name="quantity" | |||
| InputLabelProps={{ | |||
| shrink: true, | |||
| }} | |||
| @@ -205,6 +253,9 @@ const DataCheckout = function ({ province, cities, midtransClient, backend, chec | |||
| </FormControl> | |||
| </div> | |||
| </Grid> | |||
| <FormGroup> | |||
| <FormControl name="product_price" type="text"/> | |||
| </FormGroup> | |||
| <Grid item xs> | |||
| <div align="center"> | |||
| <h4>Sub Total Produk</h4><br></br><br></br><br></br> | |||
| @@ -227,6 +278,9 @@ const DataCheckout = function ({ province, cities, midtransClient, backend, chec | |||
| variant="outlined" | |||
| /> | |||
| </Grid> | |||
| <FormGroup> | |||
| <FormControl name="product_courier" type="text" value={data.name}/> | |||
| </FormGroup> | |||
| <Grid item xs style={{padding:"20px"}}><br></br> | |||
| <Button variant="outlined" color="primary" onClick={handleClickOpen}> | |||
| Pilih Opsi Pengiriman | |||
| @@ -248,7 +302,6 @@ const DataCheckout = function ({ province, cities, midtransClient, backend, chec | |||
| <List> | |||
| <ListItem button | |||
| id="POS" | |||
| value={pengiriman} | |||
| onChange={handleChanges} | |||
| > | |||
| <ListItemText primary="POS" secondary="Akan diterima pada tanggal 2 Apr - 6 Apr" /> | |||
| @@ -256,14 +309,12 @@ const DataCheckout = function ({ province, cities, midtransClient, backend, chec | |||
| <Divider /> | |||
| <ListItem button | |||
| id="JNE" | |||
| value={pengiriman} | |||
| onChange={handleChanges} | |||
| > | |||
| <ListItemText primary="JNE" secondary="Akan diterima pada tanggal 30 Mar - 2 Apr" /> | |||
| </ListItem> | |||
| <ListItem button | |||
| id="TIKI" | |||
| value={pengiriman} | |||
| onChange={handleChanges} | |||
| > | |||
| <ListItemText primary="TIKI" secondary="Akan diterima pada tanggal 1 Apr - 4 Apr, COD (Bayar di Tempat) tidak didukung" /> | |||
| @@ -301,41 +352,57 @@ const DataCheckout = function ({ province, cities, midtransClient, backend, chec | |||
| {CheckoutProdukPesanan} | |||
| </div> | |||
| <div> | |||
| <Card className={classes.textCenter} align="center"> | |||
| <CardBody> | |||
| <GridContainer> | |||
| <Grid item xs={6} style={{padding:"20px"}}> | |||
| <Button1 color="info" href="/yamaha/order/order"> | |||
| <Icon className={classes.icons}>attach_money</Icon> | |||
| Buat Pesanan | |||
| </Button1> | |||
| </Grid> | |||
| <Grid item xs={6} style={{padding:"20px"}}> | |||
| <Button1 color="danger" onClick={(e)=>{snap.pay(transactionToken);}} style={{width:"100%"}}> | |||
| <Icon className={classes.icons}>attach_money</Icon> | |||
| Batalkan Pesanan | |||
| </Button1> | |||
| </Grid> | |||
| </GridContainer> | |||
| {/* <GridContainer> | |||
| <Grid item xs={6} style={{padding:"20px"}}> | |||
| <Button1 color="info" onClick={(e)=>{snap.pay(transactionToken);}} style={{width:"100%"}}> | |||
| <Icon className={classes.icons}>attach_money</Icon> | |||
| Bayar Pesanan | |||
| </Button1> | |||
| </Grid> | |||
| <Grid item xs={6} style={{padding:"20px"}}> | |||
| <Button1 color="info" onClick={(e)=>{snap.pay(transactionToken);}} style={{width:"100%"}}> | |||
| <Icon className={classes.icons}>attach_money</Icon> | |||
| Bayar Pesanan | |||
| </Button1> | |||
| </Grid> | |||
| </GridContainer> */} | |||
| </CardBody> | |||
| </Card> | |||
| <GridContainer> | |||
| <Grid item xs={6} style={{padding:"20px"}}> | |||
| <Button1 color="info" style={{width:"100%"}} | |||
| onClick={async function (e) { | |||
| // setFormValue({cust_name:"tes"}); | |||
| const response = await fetch( | |||
| "/api/transaction/create", | |||
| { | |||
| method: "POST", | |||
| headers: { | |||
| 'Content-Type': 'application/json' | |||
| }, | |||
| body: JSON.stringify({formValue}), | |||
| } | |||
| ); | |||
| if (response.ok) { | |||
| var res = await response.json(); | |||
| if (res["STATUS"] === 1) { | |||
| res["DATA"]["transaction"]; | |||
| swal("Transaksi Berhasil", "success"); | |||
| } | |||
| else { | |||
| swal("Transaksi Gagal", `${res["DATA"].message || res["DATA"] }`, "error"); | |||
| } | |||
| } else { | |||
| alert(`Transaksi Gagal 2. ${response.statusText} `); | |||
| } | |||
| }} | |||
| > | |||
| <Icon className={classes.icons}>attach_money</Icon> | |||
| Buat Pesanan | |||
| </Button1> | |||
| </Grid> | |||
| <Grid item xs={6} style={{padding:"20px"}}> | |||
| <Button1 color="danger" style={{width:"100%"}}> | |||
| <Icon className={classes.icons}>attach_money</Icon> | |||
| Batalkan Pesanan | |||
| </Button1> | |||
| </Grid> | |||
| </GridContainer> | |||
| {/* <GridContainer> | |||
| <Grid item xs={6} style={{padding:"20px"}}> | |||
| <Button1 color="info" onClick={(e)=>{snap.pay(transactionToken);}} style={{width:"100%"}}> | |||
| <Icon className={classes.icons}>attach_money</Icon> | |||
| Bayar Pesanan | |||
| </Button1> | |||
| </Grid> | |||
| </GridContainer> */} | |||
| </div> | |||
| </div> | |||
| ); | |||
| } | |||
| export default DataCheckout; | |||
| export default DataCheckout; | |||
| @@ -4,7 +4,7 @@ import { makeStyles } from "@material-ui/core/styles"; | |||
| import GridContainer from "components/Grid/GridContainer.js"; | |||
| import Grid from '@material-ui/core/Grid'; | |||
| import Card from "components/Card/Card.js"; | |||
| import styles from "assets/jss/nextjs-material-kit/pages/componentsSections/notificationsStyles.js"; | |||
| import styles from "assets/jss/nextjs-material-kit/pages/profilePage.js"; | |||
| import SnackbarContent from "components/Snackbar/SnackbarContent.js"; | |||
| const useStyles = makeStyles(styles); | |||
| @@ -4,7 +4,7 @@ import { makeStyles } from "@material-ui/core/styles"; | |||
| import GridContainer from "components/Grid/GridContainer.js"; | |||
| import GridItem from "components/Grid/GridItem.js"; | |||
| import Card from "components/Card/Card.js"; | |||
| import styles from "assets/jss/nextjs-material-kit/pages/componentsSections/notificationsStyles.js"; | |||
| import styles from "assets/jss/nextjs-material-kit/pages/profilePage.js"; | |||
| import Carousel from "react-slick"; | |||
| import image1 from "assets/img/core1.png"; | |||
| @@ -5,7 +5,7 @@ import GridContainer from "components/Grid/GridContainer.js"; | |||
| import Grid from '@material-ui/core/Grid'; | |||
| import Paper from '@material-ui/core/Paper'; | |||
| import Card from "components/Card/Card.js"; | |||
| import styles from "assets/jss/nextjs-material-kit/pages/componentsSections/notificationsStyles.js"; | |||
| import styles from "assets/jss/nextjs-material-kit/pages/profilePage.js"; | |||
| import SnackbarContent from "components/Snackbar/SnackbarContent.js"; | |||
| const useStyles = makeStyles(styles); | |||
| @@ -2,7 +2,7 @@ import React from 'react'; | |||
| import { makeStyles } from "@material-ui/core/styles"; | |||
| import styles from "assets/jss/nextjs-material-kit/pages/componentsSections/notificationsStyles.js"; | |||
| import styles from "assets/jss/nextjs-material-kit/pages/profilePage.js"; | |||
| import Grid from '@material-ui/core/Grid'; | |||
| import GridContainer from "components/Grid/GridContainer.js"; | |||
| import GridItem from "components/Grid/GridItem.js"; | |||
| @@ -69,11 +69,6 @@ const DataLatestNews = function ({ backend, news, othernews,...props }) { | |||
| <img className={navImageClasses} width="300px" alt="First slide" src={`${backend}${data.img[0]["url"]}`} /> | |||
| </Carousel> | |||
| </Card> | |||
| <hr></hr> | |||
| <div align="center"> | |||
| <h3>Other Latest News</h3> | |||
| <h3>{otherlatnews}</h3> | |||
| </div> | |||
| </GridItem> | |||
| </GridContainer> | |||
| </div> | |||
| @@ -17,120 +17,343 @@ import Typography from '@material-ui/core/Typography'; | |||
| import styles from "assets/jss/nextjs-material-kit/pages/profilePage.js"; | |||
| import Carousel from "react-slick"; | |||
| import Image from "assets/img/sosmed/yt.jpg"; | |||
| import Paper from '@material-ui/core/Paper'; | |||
| const useStyles = makeStyles(styles); | |||
| const DataCheckout = function ({ backend, order, ...props }) { | |||
| const DataCheckout = function ({ backend, order, unpaid, prepared, sending, finished, ...props }) { | |||
| const classes = useStyles(); | |||
| const navImageClasses = classNames(classes.imgRounded, classes.imgGallery); | |||
| const SemuaOrder = order.map((data) => { | |||
| return ( | |||
| <div align="center"> | |||
| <Card className={classes.textCenter} align="center"> | |||
| <CardBody> | |||
| <div style={{padding:"10px"}}> | |||
| <h5>Yusmar</h5> | |||
| <h5>087797315685</h5> | |||
| <h5>Thamrin Indrapura Jl.Aipda Karel Satsuit Tubun,17 Ilir, Kec.Ilir Tim.I, Palembang, KOTA PALEMBANG - ILIR TIMUR II, SUMATERA SELATAN, ID 30114</h5> | |||
| <Button color="info" href={"/yamaha/profile/edit-profile"}> | |||
| <Icon className={classes.icons}>cached</Icon> | |||
| Ubah Alamat | |||
| </Button> | |||
| </div> | |||
| </CardBody> | |||
| <div className={classes.root}> | |||
| <Card style={{padding:"10px"}}> | |||
| <Grid container spacing={3}> | |||
| <Grid item xs={6}> | |||
| <h4>Dealer A.Rivai | Thamrin Brothers - Yamaha</h4> | |||
| </Grid> | |||
| <Grid item xs={6}> | |||
| <div align="right"> | |||
| <h4>Paket Telah Diterima | Selesai</h4> | |||
| </div> | |||
| </Grid> | |||
| </Grid> | |||
| <Grid container spacing={3}> | |||
| <Grid item xs={4}><br/> | |||
| <img src={Image} width="60%"/> | |||
| </Grid> | |||
| <Grid item xs={4} style={{marginLeft:"-70px", marginTop:"12px"}}> | |||
| <h4>All New NMAX 155 Connected / ABS Version</h4> | |||
| <h5>Variasi = Hitam</h5> | |||
| <h5>Jumlah = 1 Unit</h5> | |||
| </Grid> | |||
| <Grid item xs={4}> | |||
| <div align="right" style={{marginRight:"-70px", marginTop:"12px"}}> | |||
| <h4>Rp.32.000.000,-</h4><br/><br/><br/><br/> | |||
| <h4>Total Pesanan = Rp.32.000.000,-</h4> | |||
| </div> | |||
| </Grid> | |||
| </Grid> | |||
| <Grid container> | |||
| <Grid item xs={4}> | |||
| <h5>Nilai produk sebelum 30-10-2021</h5> | |||
| <h5>Nilai sekarang & dapatkan 100 Koin Loyalty!</h5> | |||
| </Grid> | |||
| <Grid item xs={2}> | |||
| </Grid> | |||
| <Grid item xs={2}> | |||
| </Grid> | |||
| <Grid item xs={2}> | |||
| <div align="right"> | |||
| <Button color="danger" href={"/yamaha/product/product_detail?s="}> | |||
| <Icon className={classes.icons}>shopping_cart</Icon>Beli Lagi Produk | |||
| </Button> | |||
| </div> | |||
| </Grid> | |||
| <Grid item xs={2}> | |||
| <div align="right"> | |||
| <Button | |||
| color="info" | |||
| href={"/yamaha/product/product_detail?s="} | |||
| > | |||
| <Icon className={classes.icons}>open_in_new</Icon>Beri Nilai Produk | |||
| </Button> | |||
| </div> | |||
| </Grid> | |||
| </Grid> | |||
| </Card> | |||
| </div> | |||
| ); | |||
| }) | |||
| const BelumBayar = order.map((data) => { | |||
| const BelumBayar = unpaid.map((data) => { | |||
| return ( | |||
| <div align="center"> | |||
| <Card className={classes.textCenter} align="center"> | |||
| <CardBody> | |||
| <div style={{padding:"10px"}}> | |||
| <h5>Yusmar</h5> | |||
| <h5>087797315685</h5> | |||
| <h5>Thamrin Indrapura Jl.Aipda Karel Satsuit Tubun,17 Ilir, Kec.Ilir Tim.I, Palembang, KOTA PALEMBANG - ILIR TIMUR II, SUMATERA SELATAN, ID 30114</h5> | |||
| <Button color="info" href={"/yamaha/profile/edit-profile"}> | |||
| <Icon className={classes.icons}>cached</Icon> | |||
| Ubah Alamat | |||
| </Button> | |||
| </div> | |||
| </CardBody> | |||
| <div className={classes.root}> | |||
| <Card style={{padding:"10px"}}> | |||
| <Grid container spacing={3}> | |||
| <Grid item xs={6}> | |||
| <h4>Dealer A.Rivai | Thamrin Brothers - Yamaha</h4> | |||
| </Grid> | |||
| <Grid item xs={6}> | |||
| <div align="right"> | |||
| <h4>Paket Telah Diterima | Selesai</h4> | |||
| </div> | |||
| </Grid> | |||
| </Grid> | |||
| <hr/> | |||
| <Grid container spacing={3}> | |||
| <Grid item xs={4}><br/> | |||
| <img src={Image} width="60%"/> | |||
| </Grid> | |||
| <Grid item xs={4} style={{marginLeft:"-70px", marginTop:"12px"}}> | |||
| <h4>All New NMAX 155 Connected / ABS Version</h4> | |||
| <h5>Variasi = Hitam</h5> | |||
| <h5>Jumlah = 1 Unit</h5> | |||
| </Grid> | |||
| <Grid item xs={4}> | |||
| <div align="right" style={{marginRight:"-70px", marginTop:"12px"}}> | |||
| <h4>Rp.32.000.000,-</h4><br/><br/><br/><br/> | |||
| <h4>Total Pesanan = Rp.32.000.000,-</h4> | |||
| </div> | |||
| </Grid> | |||
| </Grid> | |||
| <Grid container> | |||
| <Grid item xs={4}> | |||
| <h5>Nilai produk sebelum 30-10-2021</h5> | |||
| <h5>Nilai sekarang & dapatkan 100 Koin Loyalty!</h5> | |||
| </Grid> | |||
| <Grid item xs={2}> | |||
| </Grid> | |||
| <Grid item xs={2}> | |||
| </Grid> | |||
| <Grid item xs={2}> | |||
| <div align="right"> | |||
| <Button color="danger" href={"/yamaha/product/product_detail?s="}> | |||
| <Icon className={classes.icons}>shopping_cart</Icon>Bayar Produk | |||
| </Button> | |||
| </div> | |||
| </Grid> | |||
| <Grid item xs={2}> | |||
| <div align="right"> | |||
| <Button | |||
| color="info" | |||
| href={"/yamaha/product/product_detail?s="} | |||
| > | |||
| <Icon className={classes.icons}>open_in_new</Icon>Hapus Produk | |||
| </Button> | |||
| </div> | |||
| </Grid> | |||
| </Grid> | |||
| </Card> | |||
| </div> | |||
| ); | |||
| }) | |||
| const Dikemas = order.map((data) => { | |||
| const Dikemas = prepared.map((data) => { | |||
| return ( | |||
| <GridContainer> | |||
| <div align="left"> | |||
| <GridContainer style={{padding:"15px"}}> | |||
| <Grid xs={4}> | |||
| <div className={classes.section} id="notifications"> | |||
| <div className={classes.section}> | |||
| <div className={classes.container}> | |||
| <GridContainer> | |||
| <GridItem className={classes.marginAuto}> | |||
| <img className={navImageClasses} width="100px" alt="First slide" src={Image}/> | |||
| </GridItem> | |||
| </GridContainer> | |||
| </div> | |||
| </div> | |||
| </div> | |||
| </Grid> | |||
| <Grid xs={8} style={{padding:"40px", marginTop:"-50px"}}> | |||
| <div align="right"> | |||
| <div className={classes.root}> | |||
| <Card style={{padding:"10px"}}> | |||
| <Grid container spacing={3}> | |||
| <Grid item xs={6}> | |||
| <h4>Dealer A.Rivai | Thamrin Brothers - Yamaha</h4> | |||
| </Grid> | |||
| <Grid item xs={6}> | |||
| <div align="right"> | |||
| <h4>Paket Telah Diterima | Selesai</h4> | |||
| </div> | |||
| </Grid> | |||
| </Grid> | |||
| <hr/> | |||
| <Grid container spacing={3}> | |||
| <Grid item xs={4}><br/> | |||
| <img src={Image} width="80%"/> | |||
| </Grid> | |||
| <Grid item xs={4}> | |||
| <h3>All New NMAX 155 Connected / ABS Version</h3> | |||
| <h5>Variasi = Hitam</h5> | |||
| <h5>Jumlah = 1 Unit</h5> | |||
| </Grid> | |||
| <Grid item xs={4}> | |||
| <div align="left"> | |||
| <h3>Rp.32.000.000,-</h3><br/><br/><br/><br/> | |||
| <h3>Total Pesanan = Rp.32.000.000,-</h3> | |||
| </div> | |||
| </Grid> | |||
| </Grid> | |||
| <hr/><br/> | |||
| <Grid container> | |||
| <Grid item xs={4}> | |||
| <h5>Nilai produk sebelum 30-10-2021</h5> | |||
| <h5>Nilai sekarang & dapatkan 100 Koin Loyalty!</h5> | |||
| </Grid> | |||
| <Grid item xs={2}> | |||
| </div> | |||
| <div align="left"> | |||
| <h4>All New NMAX VSS</h4> | |||
| <h4>Variasi : Hitam</h4> | |||
| <h4>Jumlah : 1 Unit</h4> | |||
| </div> | |||
| </Grid> | |||
| </GridContainer> | |||
| </div> | |||
| </GridContainer> | |||
| </Grid> | |||
| <Grid item xs={2}> | |||
| </Grid> | |||
| <Grid item xs={2}> | |||
| <div align="right"> | |||
| <Button | |||
| color="danger" | |||
| href={"/yamaha/product/product_detail?s="} | |||
| > | |||
| <Icon className={classes.icons}>shopping_cart</Icon>Beli Lagi Produk | |||
| </Button> | |||
| </div> | |||
| </Grid> | |||
| <Grid item xs={2}> | |||
| <div align="right"> | |||
| <Button | |||
| color="info" | |||
| href={"/yamaha/product/product_detail?s="} | |||
| > | |||
| <Icon className={classes.icons}>open_in_new</Icon>Beri Nilai Produk | |||
| </Button> | |||
| </div> | |||
| </Grid> | |||
| </Grid> | |||
| </Card> | |||
| </div> | |||
| ); | |||
| }) | |||
| const Dikirim = order.map((data) => { | |||
| const Dikirim = sending.map((data) => { | |||
| return ( | |||
| <div align="center"> | |||
| <Card className={classes.textCenter} align="center"> | |||
| <CardBody> | |||
| <div style={{padding:"10px"}}> | |||
| <h5>Yusmar</h5> | |||
| <h5>087797315685</h5> | |||
| <h5>Thamrin Indrapura Jl.Aipda Karel Satsuit Tubun,17 Ilir, Kec.Ilir Tim.I, Palembang, KOTA PALEMBANG - ILIR TIMUR II, SUMATERA SELATAN, ID 30114</h5> | |||
| <Button color="info" href={"/yamaha/profile/edit-profile"}> | |||
| <Icon className={classes.icons}>cached</Icon> | |||
| Ubah Alamat | |||
| </Button> | |||
| </div> | |||
| </CardBody> | |||
| <div className={classes.root}> | |||
| <Card style={{padding:"10px"}}> | |||
| <Grid container spacing={3}> | |||
| <Grid item xs={6}> | |||
| <h4>Dealer A.Rivai | Thamrin Brothers - Yamaha</h4> | |||
| </Grid> | |||
| <Grid item xs={6}> | |||
| <div align="right"> | |||
| <h4>Paket Telah Diterima | Selesai</h4> | |||
| </div> | |||
| </Grid> | |||
| </Grid> | |||
| <hr/> | |||
| <Grid container spacing={3}> | |||
| <Grid item xs={4}><br/> | |||
| <img src={Image} width="80%"/> | |||
| </Grid> | |||
| <Grid item xs={4}> | |||
| <h3>All New NMAX 155 Connected / ABS Version</h3> | |||
| <h5>Variasi = Hitam</h5> | |||
| <h5>Jumlah = 1 Unit</h5> | |||
| </Grid> | |||
| <Grid item xs={4}> | |||
| <div align="left"> | |||
| <h3>Rp.32.000.000,-</h3><br/><br/><br/><br/> | |||
| <h3>Total Pesanan = Rp.32.000.000,-</h3> | |||
| </div> | |||
| </Grid> | |||
| </Grid> | |||
| <hr/><br/> | |||
| <Grid container> | |||
| <Grid item xs={4}> | |||
| <h5>Nilai produk sebelum 30-10-2021</h5> | |||
| <h5>Nilai sekarang & dapatkan 100 Koin Loyalty!</h5> | |||
| </Grid> | |||
| <Grid item xs={2}> | |||
| </Grid> | |||
| <Grid item xs={2}> | |||
| </Grid> | |||
| <Grid item xs={2}> | |||
| <div align="right"> | |||
| <Button | |||
| color="danger" | |||
| href={"/yamaha/product/product_detail?s="} | |||
| > | |||
| <Icon className={classes.icons}>shopping_cart</Icon>Beli Lagi Produk | |||
| </Button> | |||
| </div> | |||
| </Grid> | |||
| <Grid item xs={2}> | |||
| <div align="right"> | |||
| <Button | |||
| color="info" | |||
| href={"/yamaha/product/product_detail?s="} | |||
| > | |||
| <Icon className={classes.icons}>open_in_new</Icon>Beri Nilai Produk | |||
| </Button> | |||
| </div> | |||
| </Grid> | |||
| </Grid> | |||
| </Card> | |||
| </div> | |||
| ); | |||
| }) | |||
| const Selesai = order.map((data) => { | |||
| const Selesai = finished.map((data) => { | |||
| return ( | |||
| <div align="center"> | |||
| <Card className={classes.textCenter} align="center"> | |||
| <CardBody> | |||
| <div style={{padding:"10px"}}> | |||
| <h5>Yusmar</h5> | |||
| <h5>087797315685</h5> | |||
| <h5>Thamrin Indrapura Jl.Aipda Karel Satsuit Tubun,17 Ilir, Kec.Ilir Tim.I, Palembang, KOTA PALEMBANG - ILIR TIMUR II, SUMATERA SELATAN, ID 30114</h5> | |||
| <Button color="info" href={"/yamaha/profile/edit-profile"}> | |||
| <Icon className={classes.icons}>cached</Icon> | |||
| Ubah Alamat | |||
| </Button> | |||
| </div> | |||
| </CardBody> | |||
| <div className={classes.root}> | |||
| <Card style={{padding:"10px"}}> | |||
| <Grid container spacing={3}> | |||
| <Grid item xs={6}> | |||
| <h4>Dealer A.Rivai | Thamrin Brothers - Yamaha</h4> | |||
| </Grid> | |||
| <Grid item xs={6}> | |||
| <div align="right"> | |||
| <h4>Paket Telah Diterima | Selesai</h4> | |||
| </div> | |||
| </Grid> | |||
| </Grid> | |||
| <hr/> | |||
| <Grid container spacing={3}> | |||
| <Grid item xs={4}><br/> | |||
| <img src={Image} width="80%"/> | |||
| </Grid> | |||
| <Grid item xs={4}> | |||
| <h3>All New NMAX 155 Connected / ABS Version</h3> | |||
| <h5>Variasi = Hitam</h5> | |||
| <h5>Jumlah = 1 Unit</h5> | |||
| </Grid> | |||
| <Grid item xs={4}> | |||
| <div align="left"> | |||
| <h3>Rp.32.000.000,-</h3><br/><br/><br/><br/> | |||
| <h3>Total Pesanan = Rp.32.000.000,-</h3> | |||
| </div> | |||
| </Grid> | |||
| </Grid> | |||
| <hr/><br/> | |||
| <Grid container> | |||
| <Grid item xs={4}> | |||
| <h5>Nilai produk sebelum 30-10-2021</h5> | |||
| <h5>Nilai sekarang & dapatkan 100 Koin Loyalty!</h5> | |||
| </Grid> | |||
| <Grid item xs={2}> | |||
| </Grid> | |||
| <Grid item xs={2}> | |||
| </Grid> | |||
| <Grid item xs={2}> | |||
| <div align="right"> | |||
| <Button | |||
| color="danger" | |||
| href={"/yamaha/product/product_detail?s="} | |||
| > | |||
| <Icon className={classes.icons}>shopping_cart</Icon>Beli Lagi Produk | |||
| </Button> | |||
| </div> | |||
| </Grid> | |||
| <Grid item xs={2}> | |||
| <div align="right"> | |||
| <Button | |||
| color="info" | |||
| href={"/yamaha/product/product_detail?s="} | |||
| > | |||
| <Icon className={classes.icons}>open_in_new</Icon>Beri Nilai Produk | |||
| </Button> | |||
| </div> | |||
| </Grid> | |||
| </Grid> | |||
| </Card> | |||
| </div> | |||
| ); | |||
| @@ -155,64 +378,60 @@ const DataCheckout = function ({ backend, order, ...props }) { | |||
| tabButton: "Semua", | |||
| tabIcon: Dashboard, | |||
| tabContent: ( | |||
| <GridContainer justify="center"> | |||
| <div> | |||
| <Typography variant="h6" align="left" className={classes.title}> | |||
| Semua Pesanan | |||
| </Typography><hr/> | |||
| {SemuaOrder} | |||
| <h2>Semua Pesanan</h2><hr/> | |||
| <div style={{padding:"20px"}}> | |||
| {SemuaOrder} | |||
| </div> | |||
| </div> | |||
| </GridContainer> | |||
| ), | |||
| }, | |||
| { | |||
| tabButton: "Belum Bayar", | |||
| tabIcon: Dashboard, | |||
| tabContent: ( | |||
| <GridContainer justify="center"> | |||
| <div> | |||
| <Typography variant="h6" align="left" className={classes.title}> | |||
| Belum Bayar | |||
| </Typography><hr/> | |||
| {BelumBayar} | |||
| <h2>Belum Bayar</h2><hr/> | |||
| <div > | |||
| {BelumBayar} | |||
| </div> | |||
| </div> | |||
| </GridContainer> | |||
| ), | |||
| }, | |||
| { | |||
| tabButton: "Dikemas", | |||
| tabIcon: Dashboard, | |||
| tabContent: ( | |||
| <GridContainer justify="center"> | |||
| <Typography variant="h6" align="left" className={classes.title}> | |||
| Dikemas | |||
| </Typography><hr/> | |||
| {Dikemas} | |||
| </GridContainer> | |||
| <div> | |||
| <h2>Dikemas</h2><hr/> | |||
| <div > | |||
| {Dikemas} | |||
| </div> | |||
| </div> | |||
| ), | |||
| }, | |||
| { | |||
| tabButton: "Dikirim", | |||
| tabIcon: Dashboard, | |||
| tabContent: ( | |||
| <GridContainer justify="center"> | |||
| <Typography variant="h6" align="left" className={classes.title}> | |||
| Dikirim | |||
| </Typography><hr/> | |||
| {Dikirim} | |||
| </GridContainer> | |||
| <div> | |||
| <h2>Dikirim</h2><hr/> | |||
| <div > | |||
| {Dikirim} | |||
| </div> | |||
| </div> | |||
| ), | |||
| }, | |||
| { | |||
| tabButton: "Selesai", | |||
| tabIcon: Dashboard, | |||
| tabContent: ( | |||
| <GridContainer justify="center"> | |||
| <Typography variant="h6" align="left" className={classes.title}> | |||
| Selesai | |||
| </Typography><hr/> | |||
| {Selesai} | |||
| </GridContainer> | |||
| <div> | |||
| <h2>Selesai</h2><hr/> | |||
| <div > | |||
| {Selesai} | |||
| </div> | |||
| </div> | |||
| ), | |||
| }, | |||
| ]} | |||
| @@ -2,15 +2,12 @@ import React from "react"; | |||
| import classNames from "classnames"; | |||
| import { makeStyles } from "@material-ui/core/styles"; | |||
| import Dashboard from "@material-ui/icons/Dashboard"; | |||
| import GridContainer from "components/Grid/GridContainer.js"; | |||
| import GridItem from "components/Grid/GridItem.js"; | |||
| import NavPills from "components/NavPills/NavPills.js"; | |||
| import Card from "components/Card/Card.js"; | |||
| import CardBody from "components/Card/CardBody.js"; | |||
| import CardHeader from "components/Card/CardHeader.js"; | |||
| import CardFooter from "components/Card/CardFooter.js"; | |||
| import Button from "components/CustomButtons/Button.js"; | |||
| import styles from "assets/jss/nextjs-material-kit/pages/profilePage.js"; | |||
| import Icon from "@material-ui/core/Icon"; | |||
| @@ -36,7 +33,9 @@ const DataProduct = function ({ backend, maxi, matic, naked, sport, offroad, mop | |||
| /> | |||
| <div align="center"> | |||
| <h5>{data.name}</h5> | |||
| <h5>Rp.{data.price}</h5> | |||
| <h5>Rp.{data.price} | |||
| {/* <NumberFormat value={data.price} displayType={'text'} thousandSeparator={true} prefix={'$'} /> */} | |||
| </h5> | |||
| <Button | |||
| color="info" round | |||
| href={"/yamaha/product/product_detail?s="+data.id} | |||
| @@ -1,41 +0,0 @@ | |||
| import auth from "../../../api/auth/auth"; | |||
| import Cookies from "cookies"; | |||
| export default async function handler(req, res) { | |||
| if (req.method == "POST") { | |||
| const cookies = new Cookies(req, res); | |||
| var email = req.body.email; | |||
| var pass = req.body.pass; | |||
| var partner = req.body.partner; | |||
| var resp = await auth.login(partner, email, pass); | |||
| var login = resp["res"]; | |||
| // console.log(login["DATA"]); | |||
| if (login["STATUS"] == 0) { | |||
| return res | |||
| .status(400) | |||
| .send(login["DATA"] + ". Check user and password again."); | |||
| } | |||
| var userObj = resp["cookies"]["user"]; | |||
| await cookies.set("myToken", resp["cookies"]["token"], { | |||
| httpOnly: true, // true by default | |||
| }); | |||
| await cookies.set("user", JSON.stringify(userObj), { | |||
| httpOnly: true, // true by default | |||
| }); | |||
| let sessionId = userObj["partners_login_states"].filter( | |||
| (i) => | |||
| i.business_partner && | |||
| i.business_partner.name.toUpperCase() == partner.toUpperCase() | |||
| ); | |||
| if (sessionId.length == 0) return res.status(400).send("Login Failed"); | |||
| return res.status(200).send("Success Login"); | |||
| // res.status(200).json(login); | |||
| // res.writeHead(200, { | |||
| // Location: "../home", | |||
| // //add other headers here... | |||
| // }); | |||
| // res.end(); | |||
| } else { | |||
| return res.status(400).send("NOT FOUND"); | |||
| } | |||
| } | |||
| @@ -1,36 +0,0 @@ | |||
| import auth from "../../../api/auth/auth"; | |||
| import Cookies from "cookies"; | |||
| export default async function handler(req, res) { | |||
| if (req.method == "POST") { | |||
| const cookies = new Cookies(req, res); | |||
| const partner = req.body.p; | |||
| var user = await cookies.get("user"); | |||
| var token = await cookies.get("myToken"); | |||
| var userObj = user ? JSON.parse(user) : null; | |||
| let sessionId = userObj["partners_login_states"].filter( | |||
| (i) => | |||
| i.business_partner && | |||
| i.business_partner.name.toUpperCase() == partner.toUpperCase() | |||
| ); | |||
| sessionId.forEach(async (i) => { | |||
| var resp = await auth.logout(i.id, token); | |||
| if (resp["STATUS"] == 0) { | |||
| return res.status(400).send(resp["DATA"]); | |||
| } | |||
| }); | |||
| userObj["partners_login_states"] = userObj[ | |||
| "partners_login_states" | |||
| ].filter( | |||
| (i) => | |||
| i.business_partner && | |||
| i.business_partner.name.toUpperCase() != partner.toUpperCase() | |||
| ); | |||
| await cookies.set("user", JSON.stringify(userObj), { | |||
| httpOnly: true, // true by default | |||
| }); | |||
| return res.status(200).send("Success Logout"); | |||
| } else { | |||
| return res.status(400).send("NOT FOUND"); | |||
| } | |||
| } | |||
| @@ -0,0 +1,8 @@ | |||
| import Transaction from "api/transaction/transaction"; | |||
| export default async function handler(req, resp) { | |||
| var input = req.body; | |||
| var res = await Transaction.newTransaction(input.formValue); | |||
| console.log(input); | |||
| resp.status(200).json(res); | |||
| } | |||
| @@ -0,0 +1,149 @@ | |||
| import React from "react"; | |||
| import classNames from "classnames"; | |||
| import { makeStyles } from "@material-ui/core/styles"; | |||
| import Header from "components/Header/Header.js"; | |||
| import HeaderLinks from "components/Header/HeaderHino.js"; | |||
| import Footer from "components/Footer/FooterHino.js"; | |||
| import Checkout from "pages-sections/yamaha/cart/checkout.js"; | |||
| import Parallax from "components/Parallax/Parallax.js"; | |||
| import styles from "assets/jss/nextjs-material-kit/pages/components.js"; | |||
| import GetCheckoutproduct from "api/cart/checkout.js"; | |||
| import Cookies from "cookies"; | |||
| const useStyles = makeStyles(styles); | |||
| const ProductDetails = function ({ province, cities, backend, checkoutproduct, user, transactionToken, ...props }) { | |||
| const classes = useStyles(); | |||
| const { ...rest } = props; | |||
| return ( | |||
| <div> | |||
| <Header | |||
| rightLinks={<HeaderLinks username={user} />} | |||
| fixed | |||
| color="info" | |||
| changeColorOnScroll={{ | |||
| height: 400, | |||
| color: "white" | |||
| }} | |||
| {...rest} | |||
| /> | |||
| <Parallax image={require("assets/img/Promotion_2-1.jpg")} width="200px"/> | |||
| <div className={classNames(classes.main, classes.mainRaised)}> | |||
| <Checkout province={province} cities={cities} checkoutproduct={checkoutproduct} transactionToken={transactionToken} backend={backend} /> | |||
| </div> | |||
| <Footer /> | |||
| </div> | |||
| ); | |||
| } | |||
| export default ProductDetails; | |||
| export async function getServerSideProps(context) { | |||
| var {query} = context; | |||
| var checkoutproduct = []; | |||
| const backend = process.env.BACKEND_SERVER_URI; | |||
| var { req, resp } = context; | |||
| const cookies = new Cookies(req, resp); | |||
| var user = ""; | |||
| var userObj = (await cookies.get("user")) | |||
| ? JSON.parse(await cookies.get("user")) | |||
| : null; | |||
| if (userObj) { | |||
| let sessionId = userObj["partners_login_states"].filter(function (i) { | |||
| return ( | |||
| i.business_partner && i.business_partner.name.toUpperCase() == "YAMAHA" | |||
| ); | |||
| }); | |||
| if (sessionId.length != 0) user = userObj["username"]; | |||
| } | |||
| var res = await GetCheckoutproduct.GetCheckoutproduct(query.s||0); | |||
| if (res["STATUS"] === 1) { | |||
| checkoutproduct = res["DATA"]["products"]; | |||
| } | |||
| //midtrans | |||
| var parameters = await GetCheckoutproduct.GetCheckoutproductBayar(query.s||0); | |||
| var transactionToken = []; | |||
| if ( parameters["STATUS"] === 1 ) | |||
| { | |||
| const midtransClient = require('midtrans-client'); | |||
| let snap = new midtransClient.Snap({ | |||
| isProduction : false, | |||
| serverKey : 'SB-Mid-server-SfBhLkXXlTxCBx7EYP5T2k3d', | |||
| clientKey : 'SB-Mid-client-srx674LjNbEybd4-' | |||
| }); | |||
| let parameter = { | |||
| "transaction_details": { | |||
| "order_id":parameters["DATA"]["product"]["id"], | |||
| "gross_amount":parameters["DATA"]["product"]["price"], | |||
| }, "credit_card":{ | |||
| "secure" : true | |||
| }, | |||
| "customer_details": { | |||
| "first_name": "Yusmardi", | |||
| "last_name": "anto", | |||
| "email": "yusmardianto@thamrin.co.id", | |||
| "phone": "087797315685", | |||
| "billing_address": | |||
| { | |||
| "first_name": "Yusmardi", | |||
| "last_name": "anto", | |||
| "email": "yusmardianto@thamrin.co.id", | |||
| "phone": "087797315685", | |||
| "address": "Thamrin Indrapura Jl.Aipda Karel Satsuit Tubun", | |||
| "city": "Kec.Ilir Tim.I, Palembang", | |||
| "postal_code": "30114", | |||
| "country_code": "IDN" | |||
| }, | |||
| "shipping_address": | |||
| { | |||
| "first_name": "Yusmardi", | |||
| "last_name": "anto", | |||
| "email": "yusmardianto@thamrin.co.id", | |||
| "phone": "087797315685", | |||
| "address": "Thamrin Indrapura Jl.Aipda Karel Satsuit Tubun", | |||
| "city": "Kec.Ilir Tim.I, Palembang", | |||
| "postal_code": "30114", | |||
| "country_code": "IDN" | |||
| } | |||
| } | |||
| }; | |||
| await snap.createTransaction(parameter) | |||
| .then((transaction)=>{ | |||
| // transaction token | |||
| transactionToken = transaction.token; | |||
| console.log('transactionToken:',transactionToken); | |||
| // transaction redirect url | |||
| let transactionRedirectUrl = transaction.redirect_url; | |||
| console.log('transactionRedirectUrl:',transactionRedirectUrl); | |||
| }) | |||
| .catch((e)=>{ | |||
| console.log('Error occured:',e.message); | |||
| }); | |||
| } | |||
| //rajaOngkir | |||
| var province = []; | |||
| var cities = []; | |||
| var RajaOngkir = require('rajaongkir-nodejs').Starter('f4ac703bb25ada32478d52ef2e1cab7a'); | |||
| await RajaOngkir.getProvinces().then(function (result){ | |||
| province = result; | |||
| }).catch(function (error){ | |||
| // Aksi ketika error terjadi | |||
| }); | |||
| await RajaOngkir.getCities().then(function (result){ | |||
| cities = result; | |||
| }).catch(function (error){ | |||
| // Aksi ketika error terjadi | |||
| }); | |||
| return { | |||
| props: { province, cities, user, checkoutproduct, backend, transactionToken }, // will be passed to the page component as props | |||
| }; | |||
| } | |||
| @@ -37,14 +37,9 @@ export default function LandingPage(props) { | |||
| console.log(stylecss.act); | |||
| return ( | |||
| <div> | |||
| <Header | |||
| color="dark" | |||
| routes={dashboardRoutes} | |||
| rightLinks={<HeaderHome />} | |||
| fixed | |||
| /> | |||
| <Header color="dark" routes={dashboardRoutes} rightLinks={<HeaderHome />} fixed/> | |||
| <Parallax color="dark" responsive image={require("assets/img/bga.png")}> | |||
| <div className={classes.container}> | |||
| <div> | |||
| <GridContainer> | |||
| <GridItem> | |||
| <div align="center"> | |||
| @@ -70,14 +65,14 @@ export default function LandingPage(props) { | |||
| <div className={classNames(classes.main, classes.mainRaised)}> | |||
| <div className={classes.container}> | |||
| <Carousel /> | |||
| <CoreValue /> | |||
| <CoreValue id={'section1'}/> | |||
| <BusineesPartner /> | |||
| <Gallery /> | |||
| <a href="https://wa.me/087797315685" target="_blank" class="float"> | |||
| <i class="fa fa-phone my-float"></i> | |||
| </a> | |||
| {/* <Gallery /> */} | |||
| {/* <a href="https://wa.me/087797315685" target="_blank" className="float"> | |||
| <i className="fa fa-phone my-float"></i> | |||
| </a> */} | |||
| </div> | |||
| </div> | |||
| </div><br/> | |||
| <Footer /> | |||
| </div> | |||
| ); | |||
| @@ -0,0 +1,149 @@ | |||
| import React from "react"; | |||
| import classNames from "classnames"; | |||
| import { makeStyles } from "@material-ui/core/styles"; | |||
| import Header from "components/Header/Header.js"; | |||
| import HeaderLinks from "components/Header/HeaderHonda.js"; | |||
| import Footer from "components/Footer/FooterHonda.js"; | |||
| import Checkout from "pages-sections/yamaha/cart/checkout.js"; | |||
| import Parallax from "components/Parallax/Parallax.js"; | |||
| import styles from "assets/jss/nextjs-material-kit/pages/components.js"; | |||
| import GetCheckoutproduct from "api/cart/checkout.js"; | |||
| import Cookies from "cookies"; | |||
| const useStyles = makeStyles(styles); | |||
| const ProductDetails = function ({ province, cities, backend, checkoutproduct, user, transactionToken, ...props }) { | |||
| const classes = useStyles(); | |||
| const { ...rest } = props; | |||
| return ( | |||
| <div> | |||
| <Header | |||
| rightLinks={<HeaderLinks username={user} />} | |||
| fixed | |||
| color="info" | |||
| changeColorOnScroll={{ | |||
| height: 400, | |||
| color: "white" | |||
| }} | |||
| {...rest} | |||
| /> | |||
| <Parallax image={require("assets/img/Promotion_2-1.jpg")} width="200px"/> | |||
| <div className={classNames(classes.main, classes.mainRaised)}> | |||
| <Checkout province={province} cities={cities} checkoutproduct={checkoutproduct} transactionToken={transactionToken} backend={backend} /> | |||
| </div> | |||
| <Footer /> | |||
| </div> | |||
| ); | |||
| } | |||
| export default ProductDetails; | |||
| export async function getServerSideProps(context) { | |||
| var {query} = context; | |||
| var checkoutproduct = []; | |||
| const backend = process.env.BACKEND_SERVER_URI; | |||
| var { req, resp } = context; | |||
| const cookies = new Cookies(req, resp); | |||
| var user = ""; | |||
| var userObj = (await cookies.get("user")) | |||
| ? JSON.parse(await cookies.get("user")) | |||
| : null; | |||
| if (userObj) { | |||
| let sessionId = userObj["partners_login_states"].filter(function (i) { | |||
| return ( | |||
| i.business_partner && i.business_partner.name.toUpperCase() == "YAMAHA" | |||
| ); | |||
| }); | |||
| if (sessionId.length != 0) user = userObj["username"]; | |||
| } | |||
| var res = await GetCheckoutproduct.GetCheckoutproduct(query.s||0); | |||
| if (res["STATUS"] === 1) { | |||
| checkoutproduct = res["DATA"]["products"]; | |||
| } | |||
| //midtrans | |||
| var parameters = await GetCheckoutproduct.GetCheckoutproductBayar(query.s||0); | |||
| var transactionToken = []; | |||
| if ( parameters["STATUS"] === 1 ) | |||
| { | |||
| const midtransClient = require('midtrans-client'); | |||
| let snap = new midtransClient.Snap({ | |||
| isProduction : false, | |||
| serverKey : 'SB-Mid-server-SfBhLkXXlTxCBx7EYP5T2k3d', | |||
| clientKey : 'SB-Mid-client-srx674LjNbEybd4-' | |||
| }); | |||
| let parameter = { | |||
| "transaction_details": { | |||
| "order_id":parameters["DATA"]["product"]["id"], | |||
| "gross_amount":parameters["DATA"]["product"]["price"], | |||
| }, "credit_card":{ | |||
| "secure" : true | |||
| }, | |||
| "customer_details": { | |||
| "first_name": "Yusmardi", | |||
| "last_name": "anto", | |||
| "email": "yusmardianto@thamrin.co.id", | |||
| "phone": "087797315685", | |||
| "billing_address": | |||
| { | |||
| "first_name": "Yusmardi", | |||
| "last_name": "anto", | |||
| "email": "yusmardianto@thamrin.co.id", | |||
| "phone": "087797315685", | |||
| "address": "Thamrin Indrapura Jl.Aipda Karel Satsuit Tubun", | |||
| "city": "Kec.Ilir Tim.I, Palembang", | |||
| "postal_code": "30114", | |||
| "country_code": "IDN" | |||
| }, | |||
| "shipping_address": | |||
| { | |||
| "first_name": "Yusmardi", | |||
| "last_name": "anto", | |||
| "email": "yusmardianto@thamrin.co.id", | |||
| "phone": "087797315685", | |||
| "address": "Thamrin Indrapura Jl.Aipda Karel Satsuit Tubun", | |||
| "city": "Kec.Ilir Tim.I, Palembang", | |||
| "postal_code": "30114", | |||
| "country_code": "IDN" | |||
| } | |||
| } | |||
| }; | |||
| await snap.createTransaction(parameter) | |||
| .then((transaction)=>{ | |||
| // transaction token | |||
| transactionToken = transaction.token; | |||
| console.log('transactionToken:',transactionToken); | |||
| // transaction redirect url | |||
| let transactionRedirectUrl = transaction.redirect_url; | |||
| console.log('transactionRedirectUrl:',transactionRedirectUrl); | |||
| }) | |||
| .catch((e)=>{ | |||
| console.log('Error occured:',e.message); | |||
| }); | |||
| } | |||
| //rajaOngkir | |||
| var province = []; | |||
| var cities = []; | |||
| var RajaOngkir = require('rajaongkir-nodejs').Starter('f4ac703bb25ada32478d52ef2e1cab7a'); | |||
| await RajaOngkir.getProvinces().then(function (result){ | |||
| province = result; | |||
| }).catch(function (error){ | |||
| // Aksi ketika error terjadi | |||
| }); | |||
| await RajaOngkir.getCities().then(function (result){ | |||
| cities = result; | |||
| }).catch(function (error){ | |||
| // Aksi ketika error terjadi | |||
| }); | |||
| return { | |||
| props: { province, cities, user, checkoutproduct, backend, transactionToken }, // will be passed to the page component as props | |||
| }; | |||
| } | |||
| @@ -0,0 +1,149 @@ | |||
| import React from "react"; | |||
| import classNames from "classnames"; | |||
| import { makeStyles } from "@material-ui/core/styles"; | |||
| import Header from "components/Header/Header.js"; | |||
| import HeaderLinks from "components/Header/HeaderSuzuki.js"; | |||
| import Footer from "components/Footer/FooterSuzuki.js"; | |||
| import Checkout from "pages-sections/yamaha/cart/checkout.js"; | |||
| import Parallax from "components/Parallax/Parallax.js"; | |||
| import styles from "assets/jss/nextjs-material-kit/pages/components.js"; | |||
| import GetCheckoutproduct from "api/cart/checkout.js"; | |||
| import Cookies from "cookies"; | |||
| const useStyles = makeStyles(styles); | |||
| const ProductDetails = function ({ province, cities, backend, checkoutproduct, user, transactionToken, ...props }) { | |||
| const classes = useStyles(); | |||
| const { ...rest } = props; | |||
| return ( | |||
| <div> | |||
| <Header | |||
| rightLinks={<HeaderLinks username={user} />} | |||
| fixed | |||
| color="info" | |||
| changeColorOnScroll={{ | |||
| height: 400, | |||
| color: "white" | |||
| }} | |||
| {...rest} | |||
| /> | |||
| <Parallax image={require("assets/img/Promotion_2-1.jpg")} width="200px"/> | |||
| <div className={classNames(classes.main, classes.mainRaised)}> | |||
| <Checkout province={province} cities={cities} checkoutproduct={checkoutproduct} transactionToken={transactionToken} backend={backend} /> | |||
| </div> | |||
| <Footer /> | |||
| </div> | |||
| ); | |||
| } | |||
| export default ProductDetails; | |||
| export async function getServerSideProps(context) { | |||
| var {query} = context; | |||
| var checkoutproduct = []; | |||
| const backend = process.env.BACKEND_SERVER_URI; | |||
| var { req, resp } = context; | |||
| const cookies = new Cookies(req, resp); | |||
| var user = ""; | |||
| var userObj = (await cookies.get("user")) | |||
| ? JSON.parse(await cookies.get("user")) | |||
| : null; | |||
| if (userObj) { | |||
| let sessionId = userObj["partners_login_states"].filter(function (i) { | |||
| return ( | |||
| i.business_partner && i.business_partner.name.toUpperCase() == "YAMAHA" | |||
| ); | |||
| }); | |||
| if (sessionId.length != 0) user = userObj["username"]; | |||
| } | |||
| var res = await GetCheckoutproduct.GetCheckoutproduct(query.s||0); | |||
| if (res["STATUS"] === 1) { | |||
| checkoutproduct = res["DATA"]["products"]; | |||
| } | |||
| //midtrans | |||
| var parameters = await GetCheckoutproduct.GetCheckoutproductBayar(query.s||0); | |||
| var transactionToken = []; | |||
| if ( parameters["STATUS"] === 1 ) | |||
| { | |||
| const midtransClient = require('midtrans-client'); | |||
| let snap = new midtransClient.Snap({ | |||
| isProduction : false, | |||
| serverKey : 'SB-Mid-server-SfBhLkXXlTxCBx7EYP5T2k3d', | |||
| clientKey : 'SB-Mid-client-srx674LjNbEybd4-' | |||
| }); | |||
| let parameter = { | |||
| "transaction_details": { | |||
| "order_id":parameters["DATA"]["product"]["id"], | |||
| "gross_amount":parameters["DATA"]["product"]["price"], | |||
| }, "credit_card":{ | |||
| "secure" : true | |||
| }, | |||
| "customer_details": { | |||
| "first_name": "Yusmardi", | |||
| "last_name": "anto", | |||
| "email": "yusmardianto@thamrin.co.id", | |||
| "phone": "087797315685", | |||
| "billing_address": | |||
| { | |||
| "first_name": "Yusmardi", | |||
| "last_name": "anto", | |||
| "email": "yusmardianto@thamrin.co.id", | |||
| "phone": "087797315685", | |||
| "address": "Thamrin Indrapura Jl.Aipda Karel Satsuit Tubun", | |||
| "city": "Kec.Ilir Tim.I, Palembang", | |||
| "postal_code": "30114", | |||
| "country_code": "IDN" | |||
| }, | |||
| "shipping_address": | |||
| { | |||
| "first_name": "Yusmardi", | |||
| "last_name": "anto", | |||
| "email": "yusmardianto@thamrin.co.id", | |||
| "phone": "087797315685", | |||
| "address": "Thamrin Indrapura Jl.Aipda Karel Satsuit Tubun", | |||
| "city": "Kec.Ilir Tim.I, Palembang", | |||
| "postal_code": "30114", | |||
| "country_code": "IDN" | |||
| } | |||
| } | |||
| }; | |||
| await snap.createTransaction(parameter) | |||
| .then((transaction)=>{ | |||
| // transaction token | |||
| transactionToken = transaction.token; | |||
| console.log('transactionToken:',transactionToken); | |||
| // transaction redirect url | |||
| let transactionRedirectUrl = transaction.redirect_url; | |||
| console.log('transactionRedirectUrl:',transactionRedirectUrl); | |||
| }) | |||
| .catch((e)=>{ | |||
| console.log('Error occured:',e.message); | |||
| }); | |||
| } | |||
| //rajaOngkir | |||
| var province = []; | |||
| var cities = []; | |||
| var RajaOngkir = require('rajaongkir-nodejs').Starter('f4ac703bb25ada32478d52ef2e1cab7a'); | |||
| await RajaOngkir.getProvinces().then(function (result){ | |||
| province = result; | |||
| }).catch(function (error){ | |||
| // Aksi ketika error terjadi | |||
| }); | |||
| await RajaOngkir.getCities().then(function (result){ | |||
| cities = result; | |||
| }).catch(function (error){ | |||
| // Aksi ketika error terjadi | |||
| }); | |||
| return { | |||
| props: { province, cities, user, checkoutproduct, backend, transactionToken }, // will be passed to the page component as props | |||
| }; | |||
| } | |||
| @@ -50,8 +50,7 @@ const Home = function ({ | |||
| <DataSnackbarContent /> | |||
| <DataCarousel carousels={carousels} backend={backend} /> | |||
| <DataService service={service} backend={backend} /> | |||
| <DataFeature /> | |||
| {/* <DataSosmed service={service} backend={backend} /> */} | |||
| {/* <DataFeature /> */} | |||
| <a href="https://wa.me/087797315685" target="_blank" class="float"> | |||
| <i class="fa fa-phone my-float"></i> | |||
| </a> | |||
| @@ -8,9 +8,9 @@ import FooterSuzuki from "components/Footer/FooterSuzuki.js"; | |||
| import Parallax from "components/Parallax/Parallax.js"; | |||
| import styles from "assets/jss/nextjs-material-kit/pages/components.js"; | |||
| import GetLatestNews from "../../../api/latest_news/news.js" | |||
| import DataSnackbarContent from "../../../pages-sections/suzuki/snackbar.js"; | |||
| import DataLatestNews from "../../../pages-sections/suzuki/latest_news/news.js"; | |||
| import GetLatestNews from "api/latest_news/news.js" | |||
| import DataSnackbarContent from "pages-sections/suzuki/snackbar.js"; | |||
| import DataLatestNews from "pages-sections/suzuki/latest_news/news.js"; | |||
| const useStyles = makeStyles(styles); | |||
| @@ -143,9 +143,6 @@ export async function getServerSideProps(context) { | |||
| // Aksi ketika error terjadi | |||
| }); | |||
| console.log('provinsi',province); | |||
| console.log('kota',cities); | |||
| // console.log(cost); | |||
| return { | |||
| props: { province, cities, user, checkoutproduct, backend, transactionToken }, // will be passed to the page component as props | |||
| }; | |||
| @@ -52,15 +52,9 @@ const Home = function ({ | |||
| /> | |||
| <div className={classNames(classes.main, classes.mainRaised)}> | |||
| <DataSnackbarContent /> | |||
| {/* <CoreValue /> */} | |||
| <DataCarousel carousel={carousel} backend={backend} /> | |||
| <DataService service={service} backend={backend} /> | |||
| <DataFeature /> | |||
| {/* <DataBusinessPartner | |||
| businessPartners={businessPartners} | |||
| backend={backend} | |||
| /> */} | |||
| {/* <DataSosmed /> */} | |||
| <a href="https://wa.me/087797315685" target="_blank" class="float"> | |||
| <i class="fa fa-phone my-float"></i> | |||
| </a> | |||
| @@ -8,11 +8,11 @@ import Footer from "components/Footer/Footer.js"; | |||
| import OrderProduct from "pages-sections/yamaha/order/order.js"; | |||
| import Parallax from "components/Parallax/Parallax.js"; | |||
| import styles from "assets/jss/nextjs-material-kit/pages/components.js"; | |||
| import GetOrder from "api/home/businessPartner.js"; | |||
| import GetTransaction from "api/transaction/transaction.js"; | |||
| import Cookies from "cookies"; | |||
| const useStyles = makeStyles(styles); | |||
| const Order = function ({ user, order, backend, ...props }) { | |||
| const Order = function ({ user, order, unpaid, prepared, sending, finished, backend, ...props }) { | |||
| const classes = useStyles(); | |||
| const { ...rest } = props; | |||
| return ( | |||
| @@ -29,7 +29,7 @@ const Order = function ({ user, order, backend, ...props }) { | |||
| /> | |||
| <Parallax image={require("assets/img/Promotion_2-1.jpg")} width="200px"/> | |||
| <div className={classNames(classes.main, classes.mainRaised)}> | |||
| <OrderProduct order={order} backend={backend}/> | |||
| <OrderProduct order={order} unpaid={unpaid} prepared={prepared} sending={sending} finished={finished} backend={backend}/> | |||
| </div> | |||
| <Footer /> | |||
| </div> | |||
| @@ -41,9 +41,33 @@ export default Order; | |||
| export async function getServerSideProps(context) { | |||
| var order = []; | |||
| var res = await GetOrder.GetbusinessPartners(); | |||
| var res = await GetTransaction.getTransaction(); | |||
| if (res["STATUS"] === 1) { | |||
| order = res["DATA"]["businessPartners"]; | |||
| order = res["DATA"]["transactions"]; | |||
| } | |||
| var unpaid = []; | |||
| var res = await GetTransaction.getTransactionUnpaid(); | |||
| if (res["STATUS"] === 1) { | |||
| unpaid = res["DATA"]["transactions"]; | |||
| } | |||
| var prepared = []; | |||
| var res = await GetTransaction.getTransactionPrepared(); | |||
| if (res["STATUS"] === 1) { | |||
| prepared = res["DATA"]["transactions"]; | |||
| } | |||
| var sending = []; | |||
| var res = await GetTransaction.getTransactionSending(); | |||
| if (res["STATUS"] === 1) { | |||
| sending = res["DATA"]["transactions"]; | |||
| } | |||
| var finished = []; | |||
| var res = await GetTransaction.getTransactionFinished(); | |||
| if (res["STATUS"] === 1) { | |||
| finished = res["DATA"]["transactions"]; | |||
| } | |||
| //backend | |||
| @@ -66,6 +90,6 @@ export async function getServerSideProps(context) { | |||
| } | |||
| return { | |||
| props: { backend, user, order, }, // will be passed to the page component as props | |||
| props: { backend, user, unpaid, prepared, sending, finished, order, }, // will be passed to the page component as props | |||
| }; | |||
| } | |||
| @@ -65,7 +65,7 @@ | |||
| tslib "^1.10.0" | |||
| zen-observable "^0.8.14" | |||
| "@babel/code-frame@^7.12.13", "@babel/code-frame@^7.5.5": | |||
| "@babel/code-frame@^7.0.0", "@babel/code-frame@^7.12.13", "@babel/code-frame@^7.5.5": | |||
| version "7.12.13" | |||
| resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.12.13.tgz#dcfc826beef65e75c50e21d3837d7d95798dd658" | |||
| integrity sha512-HV1Cm0Q3ZrpCR93tkWOYiuYIgLxZXZFVG2VgK+MBWjUqZTundupbfx2aXarXuw5Ko5aMcjtJgbSs4vUGBS5v6g== | |||
| @@ -942,6 +942,16 @@ | |||
| resolved "https://registry.yarnpkg.com/@date-io/moment/-/moment-1.3.5.tgz#e5bf3837cbd3f5f5f5d7f49d8549e4118ea75f8d" | |||
| integrity sha512-b0JQb10Lie07iW2/9uKCQSrXif262d6zfYBstCLLJUk0JVA+7o/yLDg5p2+GkjgJbmodjHozIXs4Bi34RRhL8Q== | |||
| "@emotion/cache@^10.0.27": | |||
| version "10.0.29" | |||
| resolved "https://registry.yarnpkg.com/@emotion/cache/-/cache-10.0.29.tgz#87e7e64f412c060102d589fe7c6dc042e6f9d1e0" | |||
| integrity sha512-fU2VtSVlHiF27empSbxi1O2JFdNWZO+2NFHfwO0pxgTep6Xa3uGb+3pVKfLww2l/IBGLNEZl5Xf/++A4wAYDYQ== | |||
| dependencies: | |||
| "@emotion/sheet" "0.9.4" | |||
| "@emotion/stylis" "0.8.5" | |||
| "@emotion/utils" "0.11.3" | |||
| "@emotion/weak-memoize" "0.2.5" | |||
| "@emotion/cache@^11.0.0", "@emotion/cache@^11.1.3": | |||
| version "11.1.3" | |||
| resolved "https://registry.yarnpkg.com/@emotion/cache/-/cache-11.1.3.tgz#c7683a9484bcd38d5562f2b9947873cf66829afd" | |||
| @@ -953,7 +963,28 @@ | |||
| "@emotion/weak-memoize" "^0.2.5" | |||
| stylis "^4.0.3" | |||
| "@emotion/hash@^0.8.0": | |||
| "@emotion/core@^10.0.14": | |||
| version "10.1.1" | |||
| resolved "https://registry.yarnpkg.com/@emotion/core/-/core-10.1.1.tgz#c956c1365f2f2481960064bcb8c4732e5fb612c3" | |||
| integrity sha512-ZMLG6qpXR8x031NXD8HJqugy/AZSkAuMxxqB46pmAR7ze47MhNJ56cdoX243QPZdGctrdfo+s08yZTiwaUcRKA== | |||
| dependencies: | |||
| "@babel/runtime" "^7.5.5" | |||
| "@emotion/cache" "^10.0.27" | |||
| "@emotion/css" "^10.0.27" | |||
| "@emotion/serialize" "^0.11.15" | |||
| "@emotion/sheet" "0.9.4" | |||
| "@emotion/utils" "0.11.3" | |||
| "@emotion/css@^10.0.27": | |||
| version "10.0.27" | |||
| resolved "https://registry.yarnpkg.com/@emotion/css/-/css-10.0.27.tgz#3a7458198fbbebb53b01b2b87f64e5e21241e14c" | |||
| integrity sha512-6wZjsvYeBhyZQYNrGoR5yPMYbMBNEnanDrqmsqS1mzDm1cOTu12shvl2j4QHNS36UaTE0USIJawCH9C8oW34Zw== | |||
| dependencies: | |||
| "@emotion/serialize" "^0.11.15" | |||
| "@emotion/utils" "0.11.3" | |||
| babel-plugin-emotion "^10.0.27" | |||
| "@emotion/hash@0.8.0", "@emotion/hash@^0.8.0": | |||
| version "0.8.0" | |||
| resolved "https://registry.yarnpkg.com/@emotion/hash/-/hash-0.8.0.tgz#bbbff68978fefdbe68ccb533bc8cbe1d1afb5413" | |||
| integrity sha512-kBJtf7PH6aWwZ6fka3zQ0p6SBYzx4fl1LoZXE2RrnYST9Xljm7WfKJrU4g/Xr3Beg72MLrp1AWNUmuYJTL7Cow== | |||
| @@ -988,6 +1019,17 @@ | |||
| "@emotion/weak-memoize" "^0.2.5" | |||
| hoist-non-react-statics "^3.3.1" | |||
| "@emotion/serialize@^0.11.15", "@emotion/serialize@^0.11.16": | |||
| version "0.11.16" | |||
| resolved "https://registry.yarnpkg.com/@emotion/serialize/-/serialize-0.11.16.tgz#dee05f9e96ad2fb25a5206b6d759b2d1ed3379ad" | |||
| integrity sha512-G3J4o8by0VRrO+PFeSc3js2myYNOXVJ3Ya+RGVxnshRYgsvErfAOglKAiy1Eo1vhzxqtUvjCyS5gtewzkmvSSg== | |||
| dependencies: | |||
| "@emotion/hash" "0.8.0" | |||
| "@emotion/memoize" "0.7.4" | |||
| "@emotion/unitless" "0.7.5" | |||
| "@emotion/utils" "0.11.3" | |||
| csstype "^2.5.7" | |||
| "@emotion/serialize@^1.0.0": | |||
| version "1.0.2" | |||
| resolved "https://registry.yarnpkg.com/@emotion/serialize/-/serialize-1.0.2.tgz#77cb21a0571c9f68eb66087754a65fa97bfcd965" | |||
| @@ -999,27 +1041,37 @@ | |||
| "@emotion/utils" "^1.0.0" | |||
| csstype "^3.0.2" | |||
| "@emotion/sheet@0.9.4": | |||
| version "0.9.4" | |||
| resolved "https://registry.yarnpkg.com/@emotion/sheet/-/sheet-0.9.4.tgz#894374bea39ec30f489bbfc3438192b9774d32e5" | |||
| integrity sha512-zM9PFmgVSqBw4zL101Q0HrBVTGmpAxFZH/pYx/cjJT5advXguvcgjHFTCaIO3enL/xr89vK2bh0Mfyj9aa0ANA== | |||
| "@emotion/sheet@^1.0.0", "@emotion/sheet@^1.0.1": | |||
| version "1.0.1" | |||
| resolved "https://registry.yarnpkg.com/@emotion/sheet/-/sheet-1.0.1.tgz#245f54abb02dfd82326e28689f34c27aa9b2a698" | |||
| integrity sha512-GbIvVMe4U+Zc+929N1V7nW6YYJtidj31lidSmdYcWozwoBIObXBnaJkKNDjZrLm9Nc0BR+ZyHNaRZxqNZbof5g== | |||
| "@emotion/stylis@^0.8.4": | |||
| "@emotion/stylis@0.8.5", "@emotion/stylis@^0.8.4": | |||
| version "0.8.5" | |||
| resolved "https://registry.yarnpkg.com/@emotion/stylis/-/stylis-0.8.5.tgz#deacb389bd6ee77d1e7fcaccce9e16c5c7e78e04" | |||
| integrity sha512-h6KtPihKFn3T9fuIrwvXXUOwlx3rfUvfZIcP5a6rh8Y7zjE3O06hT5Ss4S/YI1AYhuZ1kjaE/5EaOOI2NqSylQ== | |||
| "@emotion/unitless@^0.7.4", "@emotion/unitless@^0.7.5": | |||
| "@emotion/unitless@0.7.5", "@emotion/unitless@^0.7.4", "@emotion/unitless@^0.7.5": | |||
| version "0.7.5" | |||
| resolved "https://registry.yarnpkg.com/@emotion/unitless/-/unitless-0.7.5.tgz#77211291c1900a700b8a78cfafda3160d76949ed" | |||
| integrity sha512-OWORNpfjMsSSUBVrRBVGECkhWcULOAJz9ZW8uK9qgxD+87M7jHRcvh/A96XXNhXTLmKcoYSQtBEX7lHMO7YRwg== | |||
| "@emotion/utils@0.11.3": | |||
| version "0.11.3" | |||
| resolved "https://registry.yarnpkg.com/@emotion/utils/-/utils-0.11.3.tgz#a759863867befa7e583400d322652a3f44820924" | |||
| integrity sha512-0o4l6pZC+hI88+bzuaX/6BgOvQVhbt2PfmxauVaYOGgbsAw14wdKyvMCZXnsnsHys94iadcF+RG/wZyx6+ZZBw== | |||
| "@emotion/utils@^1.0.0": | |||
| version "1.0.0" | |||
| resolved "https://registry.yarnpkg.com/@emotion/utils/-/utils-1.0.0.tgz#abe06a83160b10570816c913990245813a2fd6af" | |||
| integrity sha512-mQC2b3XLDs6QCW+pDQDiyO/EdGZYOygE8s5N5rrzjSI4M3IejPE/JPndCBwRT9z982aqQNi6beWs1UeayrQxxA== | |||
| "@emotion/weak-memoize@^0.2.5": | |||
| "@emotion/weak-memoize@0.2.5", "@emotion/weak-memoize@^0.2.5": | |||
| version "0.2.5" | |||
| resolved "https://registry.yarnpkg.com/@emotion/weak-memoize/-/weak-memoize-0.2.5.tgz#8eed982e2ee6f7f4e44c253e12962980791efd46" | |||
| integrity sha512-6U71C2Wp7r5XtFtQzYrW5iKFT67OixrSxjI4MptCHzdSVlgabczzqLe0ZSgnub/5Kp4hSbpDB1tMytZY9pwxxA== | |||
| @@ -1229,6 +1281,11 @@ | |||
| csstype "^2.0.0" | |||
| indefinite-observable "^1.0.1" | |||
| "@types/parse-json@^4.0.0": | |||
| version "4.0.0" | |||
| resolved "https://registry.yarnpkg.com/@types/parse-json/-/parse-json-4.0.0.tgz#2f8bb441434d163b35fb8ffdccd7138927ffb8c0" | |||
| integrity sha512-//oorEZjL6sbPcKUaCdIGlIUeH26mgzimjBB77G6XRgnDl/L5wOnpyBGRe/Mmf5CVW3PwEBE1NjiMZ/ssFh4wA== | |||
| "@types/prop-types@*", "@types/prop-types@^15.7.3": | |||
| version "15.7.3" | |||
| resolved "https://registry.yarnpkg.com/@types/prop-types/-/prop-types-15.7.3.tgz#2ab0d5da2e5815f94b0b9d4b95d1e5f243ab2ca7" | |||
| @@ -1746,6 +1803,31 @@ babel-plugin-dynamic-import-node@^2.3.0, babel-plugin-dynamic-import-node@^2.3.3 | |||
| dependencies: | |||
| object.assign "^4.1.0" | |||
| babel-plugin-emotion@^10.0.27: | |||
| version "10.2.2" | |||
| resolved "https://registry.yarnpkg.com/babel-plugin-emotion/-/babel-plugin-emotion-10.2.2.tgz#a1fe3503cff80abfd0bdda14abd2e8e57a79d17d" | |||
| integrity sha512-SMSkGoqTbTyUTDeuVuPIWifPdUGkTk1Kf9BWRiXIOIcuyMfsdp2EjeiiFvOzX8NOBvEh/ypKYvUh2rkgAJMCLA== | |||
| dependencies: | |||
| "@babel/helper-module-imports" "^7.0.0" | |||
| "@emotion/hash" "0.8.0" | |||
| "@emotion/memoize" "0.7.4" | |||
| "@emotion/serialize" "^0.11.16" | |||
| babel-plugin-macros "^2.0.0" | |||
| babel-plugin-syntax-jsx "^6.18.0" | |||
| convert-source-map "^1.5.0" | |||
| escape-string-regexp "^1.0.5" | |||
| find-root "^1.1.0" | |||
| source-map "^0.5.7" | |||
| babel-plugin-macros@^2.0.0: | |||
| version "2.8.0" | |||
| resolved "https://registry.yarnpkg.com/babel-plugin-macros/-/babel-plugin-macros-2.8.0.tgz#0f958a7cc6556b1e65344465d99111a1e5e10138" | |||
| integrity sha512-SEP5kJpfGYqYKpBrj5XU3ahw5p5GOHJ0U5ssOSQ/WBVdwkD2Dzlce95exQTs3jOVWPPKLBN2rlEWkCK7dSmLvg== | |||
| dependencies: | |||
| "@babel/runtime" "^7.7.2" | |||
| cosmiconfig "^6.0.0" | |||
| resolve "^1.12.0" | |||
| "babel-plugin-styled-components@>= 1": | |||
| version "1.12.0" | |||
| resolved "https://registry.yarnpkg.com/babel-plugin-styled-components/-/babel-plugin-styled-components-1.12.0.tgz#1dec1676512177de6b827211e9eda5a30db4f9b9" | |||
| @@ -2085,6 +2167,11 @@ callsites@^2.0.0: | |||
| resolved "https://registry.yarnpkg.com/callsites/-/callsites-2.0.0.tgz#06eb84f00eea413da86affefacbffb36093b3c50" | |||
| integrity sha1-BuuE8A7qQT2oav/vrL/7Ngk7PFA= | |||
| callsites@^3.0.0: | |||
| version "3.1.0" | |||
| resolved "https://registry.yarnpkg.com/callsites/-/callsites-3.1.0.tgz#b3630abd8943432f54b3f0519238e33cd7df2f73" | |||
| integrity sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ== | |||
| camelcase-keys@^2.0.0: | |||
| version "2.1.0" | |||
| resolved "https://registry.yarnpkg.com/camelcase-keys/-/camelcase-keys-2.1.0.tgz#308beeaffdf28119051efa1d932213c91b8f92e7" | |||
| @@ -2417,7 +2504,7 @@ constants-browserify@^1.0.0: | |||
| resolved "https://registry.yarnpkg.com/constants-browserify/-/constants-browserify-1.0.0.tgz#c20b96d8c617748aaf1c16021760cd27fcb8cb75" | |||
| integrity sha1-wguW2MYXdIqvHBYCF2DNJ/y4y3U= | |||
| convert-source-map@1.7.0, convert-source-map@^1.7.0: | |||
| convert-source-map@1.7.0, convert-source-map@^1.5.0, convert-source-map@^1.7.0: | |||
| version "1.7.0" | |||
| resolved "https://registry.yarnpkg.com/convert-source-map/-/convert-source-map-1.7.0.tgz#17a2cb882d7f77d3490585e2ce6c524424a3a442" | |||
| integrity sha512-4FJkXzKXEDB1snCFZlLP4gpC3JILicCpGbzG9f9G7tGqGCzETQ2hWPrcinA9oU4wtf2biUaEH5065UnMeR33oA== | |||
| @@ -2489,6 +2576,17 @@ cosmiconfig@^5.0.0: | |||
| js-yaml "^3.13.1" | |||
| parse-json "^4.0.0" | |||
| cosmiconfig@^6.0.0: | |||
| version "6.0.0" | |||
| resolved "https://registry.yarnpkg.com/cosmiconfig/-/cosmiconfig-6.0.0.tgz#da4fee853c52f6b1e6935f41c1a2fc50bd4a9982" | |||
| integrity sha512-xb3ZL6+L8b9JLLCx3ZdoZy4+2ECphCMo2PwqgP1tlfVq6M6YReyzBJtvWWtbDSpNr9hn96pkCiZqUcFEc+54Qg== | |||
| dependencies: | |||
| "@types/parse-json" "^4.0.0" | |||
| import-fresh "^3.1.0" | |||
| parse-json "^5.0.0" | |||
| path-type "^4.0.0" | |||
| yaml "^1.7.2" | |||
| create-ecdh@^4.0.0: | |||
| version "4.0.4" | |||
| resolved "https://registry.yarnpkg.com/create-ecdh/-/create-ecdh-4.0.4.tgz#d6e7f4bffa66736085a0762fd3a632684dabcc4e" | |||
| @@ -2780,7 +2878,7 @@ csso@^4.0.2: | |||
| dependencies: | |||
| css-tree "^1.1.2" | |||
| csstype@^2.0.0, csstype@^2.5.2: | |||
| csstype@^2.0.0, csstype@^2.5.2, csstype@^2.5.7: | |||
| version "2.6.17" | |||
| resolved "https://registry.yarnpkg.com/csstype/-/csstype-2.6.17.tgz#4cf30eb87e1d1a005d8b6510f95292413f6a1c0e" | |||
| integrity sha512-u1wmTI1jJGzCJzWndZo8mk4wnPTZd1eOIYTYvuEyOQGfmDl3TrabCCfKnOC86FZwW/9djqTl933UF/cS425i9A== | |||
| @@ -3216,6 +3314,11 @@ es6-iterator@2.0.3, es6-iterator@~2.0.3: | |||
| es5-ext "^0.10.35" | |||
| es6-symbol "^3.1.1" | |||
| es6-object-assign@^1.1.0: | |||
| version "1.1.0" | |||
| resolved "https://registry.yarnpkg.com/es6-object-assign/-/es6-object-assign-1.1.0.tgz#c2c3582656247c39ea107cb1e6652b6f9f24523c" | |||
| integrity sha1-wsNYJlYkfDnqEHyx5mUrb58kUjw= | |||
| es6-symbol@^3.1.1, es6-symbol@~3.1.3: | |||
| version "3.1.3" | |||
| resolved "https://registry.yarnpkg.com/es6-symbol/-/es6-symbol-3.1.3.tgz#bad5d3c1bcdac28269f4cb331e431c78ac705d18" | |||
| @@ -3437,6 +3540,11 @@ find-cache-dir@^2.1.0: | |||
| make-dir "^2.0.0" | |||
| pkg-dir "^3.0.0" | |||
| find-root@^1.1.0: | |||
| version "1.1.0" | |||
| resolved "https://registry.yarnpkg.com/find-root/-/find-root-1.1.0.tgz#abcfc8ba76f708c42a97b3d685b7e9450bfb9ce4" | |||
| integrity sha512-NKfW6bec6GfKc0SGx1e07QZY9PE99u0Bft/0rzSD5k3sO/vwkVUpDUKVm5Gpp5Ue3YfShPFTX2070tDs5kB9Ng== | |||
| find-up@2.1.0: | |||
| version "2.1.0" | |||
| resolved "https://registry.yarnpkg.com/find-up/-/find-up-2.1.0.tgz#45d1b7e506c717ddd482775a2b77920a3c0c57a7" | |||
| @@ -3994,6 +4102,14 @@ import-fresh@^2.0.0: | |||
| caller-path "^2.0.0" | |||
| resolve-from "^3.0.0" | |||
| import-fresh@^3.1.0: | |||
| version "3.3.0" | |||
| resolved "https://registry.yarnpkg.com/import-fresh/-/import-fresh-3.3.0.tgz#37162c25fcb9ebaa2e6e53d5b4d88ce17d9e0c2b" | |||
| integrity sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw== | |||
| dependencies: | |||
| parent-module "^1.0.0" | |||
| resolve-from "^4.0.0" | |||
| import-from@^2.1.0: | |||
| version "2.1.0" | |||
| resolved "https://registry.yarnpkg.com/import-from/-/import-from-2.1.0.tgz#335db7f2a7affd53aaa471d4b8021dee36b7f3b1" | |||
| @@ -4470,6 +4586,11 @@ json-parse-better-errors@^1.0.1, json-parse-better-errors@^1.0.2: | |||
| resolved "https://registry.yarnpkg.com/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz#bb867cfb3450e69107c131d1c514bab3dc8bcaa9" | |||
| integrity sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw== | |||
| json-parse-even-better-errors@^2.3.0: | |||
| version "2.3.1" | |||
| resolved "https://registry.yarnpkg.com/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz#7c47805a94319928e05777405dc12e1f7a4ee02d" | |||
| integrity sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w== | |||
| json-schema-traverse@^0.4.1: | |||
| version "0.4.1" | |||
| resolved "https://registry.yarnpkg.com/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz#69f6a87d9513ab8bb8fe63bdb0979c448e684660" | |||
| @@ -4706,6 +4827,11 @@ less@^4.1.1: | |||
| needle "^2.5.2" | |||
| source-map "~0.6.0" | |||
| lines-and-columns@^1.1.6: | |||
| version "1.1.6" | |||
| resolved "https://registry.yarnpkg.com/lines-and-columns/-/lines-and-columns-1.1.6.tgz#1c00c743b433cd0a4e80758f7b64a57440d9ff00" | |||
| integrity sha1-HADHQ7QzzQpOgHWPe2SldEDZ/wA= | |||
| load-json-file@^1.0.0: | |||
| version "1.1.0" | |||
| resolved "https://registry.yarnpkg.com/load-json-file/-/load-json-file-1.1.0.tgz#956905708d58b4bab4c2261b04f59f31c99374c0" | |||
| @@ -5698,6 +5824,13 @@ parallel-transform@^1.1.0: | |||
| inherits "^2.0.3" | |||
| readable-stream "^2.1.5" | |||
| parent-module@^1.0.0: | |||
| version "1.0.1" | |||
| resolved "https://registry.yarnpkg.com/parent-module/-/parent-module-1.0.1.tgz#691d2709e78c79fae3a156622452d00762caaaa2" | |||
| integrity sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g== | |||
| dependencies: | |||
| callsites "^3.0.0" | |||
| parse-asn1@^5.0.0, parse-asn1@^5.1.5: | |||
| version "5.1.6" | |||
| resolved "https://registry.yarnpkg.com/parse-asn1/-/parse-asn1-5.1.6.tgz#385080a3ec13cb62a62d39409cb3e88844cdaed4" | |||
| @@ -5724,6 +5857,16 @@ parse-json@^4.0.0: | |||
| error-ex "^1.3.1" | |||
| json-parse-better-errors "^1.0.1" | |||
| parse-json@^5.0.0: | |||
| version "5.2.0" | |||
| resolved "https://registry.yarnpkg.com/parse-json/-/parse-json-5.2.0.tgz#c76fc66dee54231c962b22bcc8a72cf2f99753cd" | |||
| integrity sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg== | |||
| dependencies: | |||
| "@babel/code-frame" "^7.0.0" | |||
| error-ex "^1.3.1" | |||
| json-parse-even-better-errors "^2.3.0" | |||
| lines-and-columns "^1.1.6" | |||
| parse-node-version@^1.0.1: | |||
| version "1.0.1" | |||
| resolved "https://registry.yarnpkg.com/parse-node-version/-/parse-node-version-1.0.1.tgz#e2b5dbede00e7fa9bc363607f53327e8b073189b" | |||
| @@ -5787,6 +5930,11 @@ path-type@^1.0.0: | |||
| pify "^2.0.0" | |||
| pinkie-promise "^2.0.0" | |||
| path-type@^4.0.0: | |||
| version "4.0.0" | |||
| resolved "https://registry.yarnpkg.com/path-type/-/path-type-4.0.0.tgz#84ed01c0a7ba380afe09d90a8c180dcd9d03043b" | |||
| integrity sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw== | |||
| path@0.12.7: | |||
| version "0.12.7" | |||
| resolved "https://registry.yarnpkg.com/path/-/path-0.12.7.tgz#d4dc2a506c4ce2197eb481ebfcd5b36c0140b10f" | |||
| @@ -6302,6 +6450,11 @@ promise-inflight@^1.0.1: | |||
| resolved "https://registry.yarnpkg.com/promise-inflight/-/promise-inflight-1.0.1.tgz#98472870bf228132fcbdd868129bad12c3c029e3" | |||
| integrity sha1-mEcocL8igTL8vdhoEputEsPAKeM= | |||
| promise-polyfill@^6.0.2: | |||
| version "6.1.0" | |||
| resolved "https://registry.yarnpkg.com/promise-polyfill/-/promise-polyfill-6.1.0.tgz#dfa96943ea9c121fca4de9b5868cb39d3472e057" | |||
| integrity sha1-36lpQ+qcEh/KTem1hoyznTRy4Fc= | |||
| promise@^7.1.1: | |||
| version "7.3.1" | |||
| resolved "https://registry.yarnpkg.com/promise/-/promise-7.3.1.tgz#064b72602b18f90f29192b8b1bc418ffd1ebd3bf" | |||
| @@ -6535,6 +6688,15 @@ react-input-autosize@^3.0.0: | |||
| dependencies: | |||
| prop-types "^15.5.8" | |||
| react-input-number@^5.0.19: | |||
| version "5.0.19" | |||
| resolved "https://registry.yarnpkg.com/react-input-number/-/react-input-number-5.0.19.tgz#3ce3e9522190c908a0f616364ca735914648c83c" | |||
| integrity sha512-Aa9RmOoOgzCn6b/RYyrKRkBtIWGum6v9sA73rJFtl9N0O3kjWrAdj9lk09n9QoOaxvyEHc3GQZwLcUrBEIH2Cw== | |||
| dependencies: | |||
| "@babel/runtime" "^7.5.5" | |||
| "@emotion/core" "^10.0.14" | |||
| lodash "^4.17.15" | |||
| react-is@16.8.6: | |||
| version "16.8.6" | |||
| resolved "https://registry.yarnpkg.com/react-is/-/react-is-16.8.6.tgz#5bbc1e2d29141c9fbdfed456343fe2bc430a6a16" | |||
| @@ -7009,6 +7171,11 @@ resolve-from@^3.0.0: | |||
| resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-3.0.0.tgz#b22c7af7d9d6881bc8b6e653335eebcb0a188748" | |||
| integrity sha1-six699nWiBvItuZTM17rywoYh0g= | |||
| resolve-from@^4.0.0: | |||
| version "4.0.0" | |||
| resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-4.0.0.tgz#4abcd852ad32dd7baabfe9b40e00a36db5f392e6" | |||
| integrity sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g== | |||
| resolve-pathname@^3.0.0: | |||
| version "3.0.0" | |||
| resolved "https://registry.yarnpkg.com/resolve-pathname/-/resolve-pathname-3.0.0.tgz#99d02224d3cf263689becbb393bc560313025dcd" | |||
| @@ -7035,7 +7202,7 @@ resolve-url@^0.2.1: | |||
| resolved "https://registry.yarnpkg.com/resolve-url/-/resolve-url-0.2.1.tgz#2c637fe77c893afd2a663fe21aa9080068e2052a" | |||
| integrity sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo= | |||
| resolve@^1.10.0, resolve@^1.3.2, resolve@^1.8.1: | |||
| resolve@^1.10.0, resolve@^1.12.0, resolve@^1.3.2, resolve@^1.8.1: | |||
| version "1.20.0" | |||
| resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.20.0.tgz#629a013fb3f70755d6f0b7935cc1c2c5378b1975" | |||
| integrity sha512-wENBPt4ySzg4ybFQW2TT1zMQucPK95HSh/nq2CFTZVOGut2+pQvSsgtda4d26YrYcr067wjbmzOG8byDPBX63A== | |||
| @@ -7420,7 +7587,7 @@ source-map@^0.4.2: | |||
| dependencies: | |||
| amdefine ">=0.0.4" | |||
| source-map@^0.5.0, source-map@^0.5.6: | |||
| source-map@^0.5.0, source-map@^0.5.6, source-map@^0.5.7: | |||
| version "0.5.7" | |||
| resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.5.7.tgz#8a039d2d1021d22d1ea14c80d8ea468ba2ef3fcc" | |||
| integrity sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w= | |||
| @@ -7743,6 +7910,14 @@ svgo@^1.0.0: | |||
| unquote "~1.1.1" | |||
| util.promisify "~1.0.0" | |||
| sweetalert@^2.1.2: | |||
| version "2.1.2" | |||
| resolved "https://registry.yarnpkg.com/sweetalert/-/sweetalert-2.1.2.tgz#010baaa80d0dbdc86f96bfcaa96b490728594b79" | |||
| integrity sha512-iWx7X4anRBNDa/a+AdTmvAzQtkN1+s4j/JJRWlHpYE8Qimkohs8/XnFcWeYHH2lMA8LRCa5tj2d244If3S/hzA== | |||
| dependencies: | |||
| es6-object-assign "^1.1.0" | |||
| promise-polyfill "^6.0.2" | |||
| symbol-observable@1.2.0, symbol-observable@^1.0.4, symbol-observable@^1.1.0: | |||
| version "1.2.0" | |||
| resolved "https://registry.yarnpkg.com/symbol-observable/-/symbol-observable-1.2.0.tgz#c22688aed4eab3cdc2dfeacbb561660560a00804" | |||
| @@ -8350,6 +8525,11 @@ yallist@^4.0.0: | |||
| resolved "https://registry.yarnpkg.com/yallist/-/yallist-4.0.0.tgz#9bb92790d9c0effec63be73519e11a35019a3a72" | |||
| integrity sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A== | |||
| yaml@^1.7.2: | |||
| version "1.10.2" | |||
| resolved "https://registry.yarnpkg.com/yaml/-/yaml-1.10.2.tgz#2301c5ffbf12b467de8da2333a459e29e7920e4b" | |||
| integrity sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg== | |||
| yargs-parser@^13.1.2: | |||
| version "13.1.2" | |||
| resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-13.1.2.tgz#130f09702ebaeef2650d54ce6e3e5706f7a4fb38" | |||