| @@ -24,7 +24,7 @@ export default function HeaderLinks(props) { | |||||
| return ( | return ( | ||||
| <List className={classes.list}> | <List className={classes.list}> | ||||
| <ListItem className={classes.listItem}> | <ListItem className={classes.listItem}> | ||||
| <Link href="/home"> | |||||
| <Link href="/yamaha/home"> | |||||
| <Button color="transparent" className={classes.navLink}> | <Button color="transparent" className={classes.navLink}> | ||||
| <img | <img | ||||
| src="https://1.bp.blogspot.com/-J9AsxdwrF-Y/Wn70KyBApaI/AAAAAAAACRo/LTy3zrALzhckryd9QPi_KuVyWvwFMZyMQCLcBGAs/s640/TG.png" width="180px" | src="https://1.bp.blogspot.com/-J9AsxdwrF-Y/Wn70KyBApaI/AAAAAAAACRo/LTy3zrALzhckryd9QPi_KuVyWvwFMZyMQCLcBGAs/s640/TG.png" width="180px" | ||||
| @@ -33,7 +33,7 @@ export default function HeaderLinks(props) { | |||||
| </Link> | </Link> | ||||
| </ListItem> | </ListItem> | ||||
| <ListItem className={classes.listItem}> | <ListItem className={classes.listItem}> | ||||
| <Link href="/home"> | |||||
| <Link href="/yamaha/home"> | |||||
| <Button color="transparent" className={classes.navLink} style={{marginTop:"10px"}}> | <Button color="transparent" className={classes.navLink} style={{marginTop:"10px"}}> | ||||
| <Icon className={classes.icons}>home</Icon> Home | <Icon className={classes.icons}>home</Icon> Home | ||||
| </Button> | </Button> | ||||
| @@ -50,42 +50,42 @@ export default function HeaderLinks(props) { | |||||
| }} | }} | ||||
| buttonIcon={Apps} | buttonIcon={Apps} | ||||
| dropdownList={[ | dropdownList={[ | ||||
| <Link href="/product/product"> | |||||
| <Link href="/yamaha/product/product"> | |||||
| <a className={classes.dropdownLink}>Motor</a> | <a className={classes.dropdownLink}>Motor</a> | ||||
| </Link>, | </Link>, | ||||
| <Link href="/product/ygp"> | |||||
| <Link href="/yamaha/product/ygp"> | |||||
| <a className={classes.dropdownLink}>YGP</a> | <a className={classes.dropdownLink}>YGP</a> | ||||
| </Link>, | </Link>, | ||||
| <Link href="/product/yamalube"> | |||||
| <Link href="/yamaha/product/yamalube"> | |||||
| <a className={classes.dropdownLink}>Yamalube</a> | <a className={classes.dropdownLink}>Yamalube</a> | ||||
| </Link>, | </Link>, | ||||
| <Link href="/product/helmet"> | |||||
| <Link href="/yamaha/product/helmet"> | |||||
| <a className={classes.dropdownLink}>Helmet</a> | <a className={classes.dropdownLink}>Helmet</a> | ||||
| </Link>, | </Link>, | ||||
| <Link href="/product/apparel"> | |||||
| <Link href="/yamaha/product/apparel"> | |||||
| <a className={classes.dropdownLink}>Apparel</a> | <a className={classes.dropdownLink}>Apparel</a> | ||||
| </Link>, | </Link>, | ||||
| <Link href="/product/accessories"> | |||||
| <Link href="/yamaha/product/accessories"> | |||||
| <a className={classes.dropdownLink}>Accessories</a> | <a className={classes.dropdownLink}>Accessories</a> | ||||
| </Link>, | </Link>, | ||||
| <Link href="https://booking.thamrin.co.id/"> | <Link href="https://booking.thamrin.co.id/"> | ||||
| <a className={classes.dropdownLink}>Service</a> | <a className={classes.dropdownLink}>Service</a> | ||||
| </Link>, | </Link>, | ||||
| <Link href="/dealers"> | |||||
| <Link href="/yamaha/dealers"> | |||||
| <a className={classes.dropdownLink}>Dealers</a> | <a className={classes.dropdownLink}>Dealers</a> | ||||
| </Link>, | </Link>, | ||||
| ]} | ]} | ||||
| /> | /> | ||||
| </ListItem> | </ListItem> | ||||
| <ListItem className={classes.listItem} style={{marginTop:"10px"}}> | <ListItem className={classes.listItem} style={{marginTop:"10px"}}> | ||||
| <Link href="/latestnews"> | |||||
| <Link href="/yamaha/latestnews"> | |||||
| <Button color="transparent" className={classes.navLink}> | <Button color="transparent" className={classes.navLink}> | ||||
| <Icon className={classes.icons}>event</Icon> Latest News | <Icon className={classes.icons}>event</Icon> Latest News | ||||
| </Button> | </Button> | ||||
| </Link> | </Link> | ||||
| </ListItem> | </ListItem> | ||||
| <ListItem className={classes.listItem} style={{marginTop:"10px"}}> | <ListItem className={classes.listItem} style={{marginTop:"10px"}}> | ||||
| <Button href="/carrer" color="transparent" className={classes.navLink}> | |||||
| <Button href="/yamaha/carrer" color="transparent" className={classes.navLink}> | |||||
| <Icon className={classes.icons}>wallet_travel</Icon> Career | <Icon className={classes.icons}>wallet_travel</Icon> Career | ||||
| </Button> | </Button> | ||||
| </ListItem> | </ListItem> | ||||
| @@ -135,7 +135,7 @@ export default function HeaderLinks(props) { | |||||
| </ListItem> | </ListItem> | ||||
| <ListItem className={classes.listItem} style={{marginTop:"10px"}}> | <ListItem className={classes.listItem} style={{marginTop:"10px"}}> | ||||
| <Button | <Button | ||||
| href="abous_us/aboutus" | |||||
| href="/yamaha/abous_us/aboutus" | |||||
| color="transparent" | color="transparent" | ||||
| className={classes.navLink} | className={classes.navLink} | ||||
| > | > | ||||
| @@ -149,7 +149,7 @@ export default function HeaderLinks(props) { | |||||
| </ListItem> | </ListItem> | ||||
| <ListItem className={classes.listItem} style={{marginTop:"10px"}}> | <ListItem className={classes.listItem} style={{marginTop:"10px"}}> | ||||
| <Button | <Button | ||||
| href="/login" | |||||
| href="/yamaha/login" | |||||
| className={classes.registerNavLink} | className={classes.registerNavLink} | ||||
| color="info" | color="info" | ||||
| round | round | ||||
| @@ -38,7 +38,7 @@ const DataCarrers = function ({ backend, s1, d3, sma, ...props }) { | |||||
| author="Post By Thamrin Group" | author="Post By Thamrin Group" | ||||
| /> | /> | ||||
| Masa Pendaftaran : {data.start_regis} s/d {data.until_regis} | Masa Pendaftaran : {data.start_regis} s/d {data.until_regis} | ||||
| <Button color="danger" style={{marginLeft:"20px"}} round href={"/carrer_details?s="+data.id}> | |||||
| <Button color="danger" style={{marginLeft:"20px"}} round href={"/yamaha/carrer_details?s="+data.id}> | |||||
| <Icon className={classes.icons}>open_in_new</Icon>Detail Carrer | <Icon className={classes.icons}>open_in_new</Icon>Detail Carrer | ||||
| </Button> | </Button> | ||||
| </CardBody> | </CardBody> | ||||
| @@ -57,7 +57,7 @@ const DataCarrers = function ({ backend, s1, d3, sma, ...props }) { | |||||
| author="Post By Thamrin Group" | author="Post By Thamrin Group" | ||||
| /> | /> | ||||
| Masa Pendaftaran : {data.start_regis} s/d {data.until_regis} | Masa Pendaftaran : {data.start_regis} s/d {data.until_regis} | ||||
| <Button color="danger" style={{marginLeft:"20px"}} round href={"/carrer_details?s="+data.id}> | |||||
| <Button color="danger" style={{marginLeft:"20px"}} round href={"/yamaha/carrer_details?s="+data.id}> | |||||
| <Icon className={classes.icons}>open_in_new</Icon>Detail Carrer | <Icon className={classes.icons}>open_in_new</Icon>Detail Carrer | ||||
| </Button> | </Button> | ||||
| </CardBody> | </CardBody> | ||||
| @@ -76,7 +76,7 @@ const DataCarrers = function ({ backend, s1, d3, sma, ...props }) { | |||||
| author="Post By Thamrin Group" | author="Post By Thamrin Group" | ||||
| /> | /> | ||||
| Masa Pendaftaran : {data.start_regis} s/d {data.until_regis} | Masa Pendaftaran : {data.start_regis} s/d {data.until_regis} | ||||
| <Button color="danger" style={{marginLeft:"20px"}} round href={"/carrer_details?s="+data.id}> | |||||
| <Button color="danger" style={{marginLeft:"20px"}} round href={"/yamaha/carrer_details?s="+data.id}> | |||||
| <Icon className={classes.icons}>open_in_new</Icon>Detail Carrer | <Icon className={classes.icons}>open_in_new</Icon>Detail Carrer | ||||
| </Button> | </Button> | ||||
| </CardBody> | </CardBody> | ||||
| @@ -27,7 +27,7 @@ const DataLatestNews = function ({ backend, news, ...props }) { | |||||
| <CardBody> | <CardBody> | ||||
| <p>{data.title}</p> | <p>{data.title}</p> | ||||
| <p>{data.published_at}</p> | <p>{data.published_at}</p> | ||||
| <Button color="info" round href={"/latestnews_details?s="+data.id}> | |||||
| <Button color="info" round href={"/yamaha/latestnews_details?s="+data.id}> | |||||
| <Icon className={classes.icons}>open_in_new</Icon>Read More | <Icon className={classes.icons}>open_in_new</Icon>Read More | ||||
| </Button> | </Button> | ||||
| </CardBody> | </CardBody> | ||||
| @@ -36,7 +36,7 @@ const DataAccessories = function ({ selected, handleName, backend, accessories, | |||||
| <h4>Rp.{data.price}</h4> | <h4>Rp.{data.price}</h4> | ||||
| <Button | <Button | ||||
| color="info" round | color="info" round | ||||
| href={"/product/accessories_details?s="+data.id} | |||||
| href={"/yamaha/product/accessories_details?s="+data.id} | |||||
| > | > | ||||
| <Icon className={classes.icons}>open_in_new</Icon>Detail Product | <Icon className={classes.icons}>open_in_new</Icon>Detail Product | ||||
| </Button> | </Button> | ||||
| @@ -39,7 +39,7 @@ const DataApparel = function ({ selected, handleName, backend, apparel, asia, ba | |||||
| <h5>Rp.{data.price}</h5> | <h5>Rp.{data.price}</h5> | ||||
| <Button | <Button | ||||
| color="info" round | color="info" round | ||||
| href={"/product/apparel_details?s="+data.id} | |||||
| href={"/yamaha/product/apparel_details?s="+data.id} | |||||
| > | > | ||||
| <Icon className={classes.icons}>open_in_new</Icon>Detail Product | <Icon className={classes.icons}>open_in_new</Icon>Detail Product | ||||
| </Button> | </Button> | ||||
| @@ -67,7 +67,7 @@ const DataApparel = function ({ selected, handleName, backend, apparel, asia, ba | |||||
| <h5>Rp.{data.price}</h5> | <h5>Rp.{data.price}</h5> | ||||
| <Button | <Button | ||||
| color="info" round | color="info" round | ||||
| href={"/product/apparel_details?s="+data.id} | |||||
| href={"/yamaha/product/apparel_details?s="+data.id} | |||||
| > | > | ||||
| <Icon className={classes.icons}>open_in_new</Icon>Detail Product | <Icon className={classes.icons}>open_in_new</Icon>Detail Product | ||||
| </Button> | </Button> | ||||
| @@ -82,7 +82,7 @@ const DataApparel = function ({ selected, handleName, backend, apparel, asia, ba | |||||
| <div> | <div> | ||||
| <Card className={classes.textCenter} align="center"> | <Card className={classes.textCenter} align="center"> | ||||
| <CardBody> | <CardBody> | ||||
| <div align="center"> | |||||
| {/* <div align="center"> | |||||
| <h2>Yamaha Apparel</h2> | <h2>Yamaha Apparel</h2> | ||||
| <Select | <Select | ||||
| value={(selected)?apparel.filter((i)=>i.id==selected):null} | value={(selected)?apparel.filter((i)=>i.id==selected):null} | ||||
| @@ -94,7 +94,7 @@ const DataApparel = function ({ selected, handleName, backend, apparel, asia, ba | |||||
| placeholder="filter by Nama Part" | placeholder="filter by Nama Part" | ||||
| onChange={values => handleName(values)} | onChange={values => handleName(values)} | ||||
| /> | /> | ||||
| </div><br></br><br></br><br></br> | |||||
| </div><br></br><br></br><br></br> */} | |||||
| <div align="center"> | <div align="center"> | ||||
| <div align="center" className={classes.section} id="notifications"> | <div align="center" className={classes.section} id="notifications"> | ||||
| <SnackbarContent | <SnackbarContent | ||||
| @@ -36,7 +36,7 @@ const DataHelmet = function ({ selected, handleName, backend, helmet, mtx, extre | |||||
| <h5>Rp.{data.price}</h5> | <h5>Rp.{data.price}</h5> | ||||
| <Button | <Button | ||||
| color="info" round | color="info" round | ||||
| href={"/product/helmet_details?s="+data.id} | |||||
| href={"/yamaha/product/helmet_details?s="+data.id} | |||||
| > | > | ||||
| <Icon className={classes.icons}>open_in_new</Icon>Detail Product | <Icon className={classes.icons}>open_in_new</Icon>Detail Product | ||||
| </Button> | </Button> | ||||
| @@ -60,7 +60,7 @@ const DataHelmet = function ({ selected, handleName, backend, helmet, mtx, extre | |||||
| <h5>Rp.{data.price}</h5> | <h5>Rp.{data.price}</h5> | ||||
| <Button | <Button | ||||
| color="info" round | color="info" round | ||||
| href={"/product/helmet_details?s="+data.id} | |||||
| href={"/yamaha/product/helmet_details?s="+data.id} | |||||
| > | > | ||||
| <Icon className={classes.icons}>open_in_new</Icon>Detail Product | <Icon className={classes.icons}>open_in_new</Icon>Detail Product | ||||
| </Button> | </Button> | ||||
| @@ -84,7 +84,7 @@ const DataHelmet = function ({ selected, handleName, backend, helmet, mtx, extre | |||||
| <h5>Rp.{data.price}</h5> | <h5>Rp.{data.price}</h5> | ||||
| <Button | <Button | ||||
| color="info" round | color="info" round | ||||
| href={"/product/helmet_details?s="+data.id} | |||||
| href={"/yamaha/product/helmet_details?s="+data.id} | |||||
| > | > | ||||
| <Icon className={classes.icons}>open_in_new</Icon>Detail Product | <Icon className={classes.icons}>open_in_new</Icon>Detail Product | ||||
| </Button> | </Button> | ||||
| @@ -108,7 +108,7 @@ const DataHelmet = function ({ selected, handleName, backend, helmet, mtx, extre | |||||
| <h5>Rp.{data.price}</h5> | <h5>Rp.{data.price}</h5> | ||||
| <Button | <Button | ||||
| color="info" round | color="info" round | ||||
| href={"/product/helmet_details?s="+data.id} | |||||
| href={"/yamaha/product/helmet_details?s="+data.id} | |||||
| > | > | ||||
| <Icon className={classes.icons}>open_in_new</Icon>Detail Product | <Icon className={classes.icons}>open_in_new</Icon>Detail Product | ||||
| </Button> | </Button> | ||||
| @@ -132,7 +132,7 @@ const DataHelmet = function ({ selected, handleName, backend, helmet, mtx, extre | |||||
| <h5>Rp.{data.price}</h5> | <h5>Rp.{data.price}</h5> | ||||
| <Button | <Button | ||||
| color="info" round | color="info" round | ||||
| href={"/product/helmet_details?s="+data.id} | |||||
| href={"/yamaha/product/helmet_details?s="+data.id} | |||||
| > | > | ||||
| <Icon className={classes.icons}>open_in_new</Icon>Detail Product | <Icon className={classes.icons}>open_in_new</Icon>Detail Product | ||||
| </Button> | </Button> | ||||
| @@ -156,7 +156,7 @@ const DataHelmet = function ({ selected, handleName, backend, helmet, mtx, extre | |||||
| <h5>Rp.{data.price}</h5> | <h5>Rp.{data.price}</h5> | ||||
| <Button | <Button | ||||
| color="info" round | color="info" round | ||||
| href={"/product/helmet_details?s="+data.id} | |||||
| href={"/yamaha/product/helmet_details?s="+data.id} | |||||
| > | > | ||||
| <Icon className={classes.icons}>open_in_new</Icon>Detail Product | <Icon className={classes.icons}>open_in_new</Icon>Detail Product | ||||
| </Button> | </Button> | ||||
| @@ -180,7 +180,7 @@ const DataHelmet = function ({ selected, handleName, backend, helmet, mtx, extre | |||||
| <h5>Rp.{data.price}</h5> | <h5>Rp.{data.price}</h5> | ||||
| <Button | <Button | ||||
| color="info" round | color="info" round | ||||
| href={"/product/helmet_details?s="+data.id} | |||||
| href={"/yamaha/product/helmet_details?s="+data.id} | |||||
| > | > | ||||
| <Icon className={classes.icons}>open_in_new</Icon>Detail Product | <Icon className={classes.icons}>open_in_new</Icon>Detail Product | ||||
| </Button> | </Button> | ||||
| @@ -204,7 +204,7 @@ const DataHelmet = function ({ selected, handleName, backend, helmet, mtx, extre | |||||
| <h5>Rp.{data.price}</h5> | <h5>Rp.{data.price}</h5> | ||||
| <Button | <Button | ||||
| color="info" round | color="info" round | ||||
| href={"/product/helmet_details?s="+data.id} | |||||
| href={"/yamaha/product/helmet_details?s="+data.id} | |||||
| > | > | ||||
| <Icon className={classes.icons}>open_in_new</Icon>Detail Product | <Icon className={classes.icons}>open_in_new</Icon>Detail Product | ||||
| </Button> | </Button> | ||||
| @@ -219,21 +219,28 @@ const DataHelmet = function ({ selected, handleName, backend, helmet, mtx, extre | |||||
| <div> | <div> | ||||
| <Card className={classes.textCenter} style={{padding:"5px"}}> | <Card className={classes.textCenter} style={{padding:"5px"}}> | ||||
| <CardBody> | <CardBody> | ||||
| <div align="center" style={{marginTop:"-50px"}}> | |||||
| {/* <div align="center" style={{marginTop:"-50px"}}> | |||||
| <h2>Yamaha Helmet</h2> | <h2>Yamaha Helmet</h2> | ||||
| <Select | <Select | ||||
| value={(selected)?helmet.filter((i)=>i.id==selected):null} | value={(selected)?helmet.filter((i)=>i.id==selected):null} | ||||
| getOptionLabel={option => `${option.name}`} | getOptionLabel={option => `${option.name}`} | ||||
| getOptionValue={option => option.id} | getOptionValue={option => option.id} | ||||
| options={helmet} | options={helmet} | ||||
| options={mtx} | |||||
| options={extreme} | |||||
| options={ranger} | |||||
| options={fighter} | |||||
| options={swirl} | |||||
| options={classic} | |||||
| options={uno} | |||||
| isMulti | isMulti | ||||
| instanceId="name" | instanceId="name" | ||||
| placeholder="Search" | placeholder="Search" | ||||
| onChange={values => handleName(values)} | onChange={values => handleName(values)} | ||||
| /> | /> | ||||
| <br></br><br></br><br></br> | <br></br><br></br><br></br> | ||||
| </div> | |||||
| <div align="center" style={{marginTop:"-50px"}}> | |||||
| </div> */} | |||||
| <div align="center"> | |||||
| <div align="center" className={classes.section} id="notifications"> | <div align="center" className={classes.section} id="notifications"> | ||||
| <SnackbarContent | <SnackbarContent | ||||
| message={ | message={ | ||||
| @@ -39,7 +39,7 @@ const DataProduct = function ({ backend, maxi, matic, naked, sport, offroad, mop | |||||
| <h5>Rp.{data.price}</h5> | <h5>Rp.{data.price}</h5> | ||||
| <Button | <Button | ||||
| color="info" round | color="info" round | ||||
| href={"/product/product_detail?s="+data.id} | |||||
| href={"/yamaha/product/product_detail?s="+data.id} | |||||
| > | > | ||||
| <Icon className={classes.icons}>open_in_new</Icon>Detail Product | <Icon className={classes.icons}>open_in_new</Icon>Detail Product | ||||
| </Button> | </Button> | ||||
| @@ -63,7 +63,7 @@ const DataProduct = function ({ backend, maxi, matic, naked, sport, offroad, mop | |||||
| <h5>Rp.{data.price}</h5> | <h5>Rp.{data.price}</h5> | ||||
| <Button | <Button | ||||
| color="info" round | color="info" round | ||||
| href={"/product/product_detail?s="+data.id} | |||||
| href={"/yamaha/product/product_detail?s="+data.id} | |||||
| > | > | ||||
| <Icon className={classes.icons}>open_in_new</Icon>Detail Product | <Icon className={classes.icons}>open_in_new</Icon>Detail Product | ||||
| </Button> | </Button> | ||||
| @@ -87,7 +87,7 @@ const DataProduct = function ({ backend, maxi, matic, naked, sport, offroad, mop | |||||
| <h5>Rp.{data.price}</h5> | <h5>Rp.{data.price}</h5> | ||||
| <Button | <Button | ||||
| color="info" round | color="info" round | ||||
| href={"/product/product_detail?s="+data.id} | |||||
| href={"/yamaha/product/product_detail?s="+data.id} | |||||
| > | > | ||||
| <Icon className={classes.icons}>open_in_new</Icon>Detail Product | <Icon className={classes.icons}>open_in_new</Icon>Detail Product | ||||
| </Button> | </Button> | ||||
| @@ -111,7 +111,7 @@ const DataProduct = function ({ backend, maxi, matic, naked, sport, offroad, mop | |||||
| <h5>Rp.{data.price}</h5> | <h5>Rp.{data.price}</h5> | ||||
| <Button | <Button | ||||
| color="info" round | color="info" round | ||||
| href={"/product/product_detail?s="+data.id} | |||||
| href={"/yamaha/product/product_detail?s="+data.id} | |||||
| > | > | ||||
| <Icon className={classes.icons}>open_in_new</Icon>Detail Product | <Icon className={classes.icons}>open_in_new</Icon>Detail Product | ||||
| </Button> | </Button> | ||||
| @@ -135,7 +135,7 @@ const DataProduct = function ({ backend, maxi, matic, naked, sport, offroad, mop | |||||
| <h5>Rp.{data.price}</h5> | <h5>Rp.{data.price}</h5> | ||||
| <Button | <Button | ||||
| color="info" round | color="info" round | ||||
| href={"/product/product_detail?s="+data.id} | |||||
| href={"/yamaha/product/product_detail?s="+data.id} | |||||
| > | > | ||||
| <Icon className={classes.icons}>open_in_new</Icon>Detail Product | <Icon className={classes.icons}>open_in_new</Icon>Detail Product | ||||
| </Button> | </Button> | ||||
| @@ -159,7 +159,7 @@ const DataProduct = function ({ backend, maxi, matic, naked, sport, offroad, mop | |||||
| <h5>Rp.{data.price}</h5> | <h5>Rp.{data.price}</h5> | ||||
| <Button | <Button | ||||
| color="info" round | color="info" round | ||||
| href={"/product/product_detail?s="+data.id} | |||||
| href={"/yamaha/product/product_detail?s="+data.id} | |||||
| > | > | ||||
| <Icon className={classes.icons}>open_in_new</Icon>Detail Product | <Icon className={classes.icons}>open_in_new</Icon>Detail Product | ||||
| </Button> | </Button> | ||||
| @@ -183,7 +183,7 @@ const DataProduct = function ({ backend, maxi, matic, naked, sport, offroad, mop | |||||
| <h5>Rp.{data.price}</h5> | <h5>Rp.{data.price}</h5> | ||||
| <Button | <Button | ||||
| color="info" round | color="info" round | ||||
| href={"/product/product_detail?s="+data.id} | |||||
| href={"/yamaha/product/product_detail?s="+data.id} | |||||
| > | > | ||||
| <Icon className={classes.icons}>open_in_new</Icon>Detail Product | <Icon className={classes.icons}>open_in_new</Icon>Detail Product | ||||
| </Button> | </Button> | ||||
| @@ -207,7 +207,7 @@ const DataProduct = function ({ backend, maxi, matic, naked, sport, offroad, mop | |||||
| <h5>Rp.{data.price}</h5> | <h5>Rp.{data.price}</h5> | ||||
| <Button | <Button | ||||
| color="info" round | color="info" round | ||||
| href={"/product/product_detail?s="+data.id} | |||||
| href={"/yamaha/product/product_detail?s="+data.id} | |||||
| > | > | ||||
| <Icon className={classes.icons}>open_in_new</Icon>Detail Product | <Icon className={classes.icons}>open_in_new</Icon>Detail Product | ||||
| </Button> | </Button> | ||||
| @@ -35,7 +35,7 @@ const DataYamalube = function ({ selected, handleName, backend, yamalube, ...pro | |||||
| <h5>Rp.{data.price}</h5> | <h5>Rp.{data.price}</h5> | ||||
| <Button | <Button | ||||
| color="info" round | color="info" round | ||||
| href={"/product/yamalube_detail?s="+data.id} | |||||
| href={"/yamaha/product/yamalube_detail?s="+data.id} | |||||
| > | > | ||||
| <Icon className={classes.icons}>open_in_new</Icon>Detail Product | <Icon className={classes.icons}>open_in_new</Icon>Detail Product | ||||
| </Button> | </Button> | ||||
| @@ -23,7 +23,7 @@ const DataYGP = function ({ selected,handleName, backend, ygp, ...props }) { | |||||
| ); | ); | ||||
| const navImageClasses = classNames(classes.imgRounded, classes.imgGallery); | const navImageClasses = classNames(classes.imgRounded, classes.imgGallery); | ||||
| const ProductYGP = ygp.map((data) => { | const ProductYGP = ygp.map((data) => { | ||||
| return ( | |||||
| return ( | |||||
| <div style={{padding: "20px", marginTop:"-40px"}}> | <div style={{padding: "20px", marginTop:"-40px"}}> | ||||
| <Card className={classes.textCenter} align="center" style={{width:"300px"}}> | <Card className={classes.textCenter} align="center" style={{width:"300px"}}> | ||||
| <CardBody> | <CardBody> | ||||
| @@ -35,7 +35,7 @@ const DataYGP = function ({ selected,handleName, backend, ygp, ...props }) { | |||||
| <h5>Rp.{data.price}</h5> | <h5>Rp.{data.price}</h5> | ||||
| <Button | <Button | ||||
| color="info" round | color="info" round | ||||
| href={"/product/ygp_detail?s="+data.id} | |||||
| href={"/yamaha/product/ygp_detail?s="+data.id} | |||||
| > | > | ||||
| <Icon className={classes.icons}>open_in_new</Icon>Detail Product | <Icon className={classes.icons}>open_in_new</Icon>Detail Product | ||||
| </Button> | </Button> | ||||
| @@ -3,10 +3,10 @@ import Router from "next/router"; | |||||
| export default class Index extends Component { | export default class Index extends Component { | ||||
| componentDidMount = () => { | componentDidMount = () => { | ||||
| Router.push("/home"); | |||||
| Router.push("/yamaha/home"); | |||||
| }; | }; | ||||
| render() { | render() { | ||||
| return <div />; | return <div />; | ||||
| } | } | ||||
| } | |||||
| } | |||||
| @@ -0,0 +1,48 @@ | |||||
| import React from "react"; | |||||
| import ReactDOM from "react-dom"; | |||||
| import App from "next/app"; | |||||
| import Head from "next/head"; | |||||
| import Router from "next/router"; | |||||
| import PageChange from "components/PageChange/PageChange.js"; | |||||
| import "assets/scss/nextjs-material-kit.scss?v=1.1.0"; | |||||
| // import styles from "assets/jss/nextjs-material-kit/pages/components.js"; | |||||
| Router.events.on("routeChangeStart", (url) => { | |||||
| console.log(`Loading: ${url}`); | |||||
| document.body.classList.add("body-page-transition"); | |||||
| ReactDOM.render( | |||||
| <PageChange path={url} />, | |||||
| document.getElementById("page-transition") | |||||
| ); | |||||
| }); | |||||
| Router.events.on("routeChangeComplete", () => { | |||||
| ReactDOM.unmountComponentAtNode(document.getElementById("page-transition")); | |||||
| document.body.classList.remove("body-page-transition"); | |||||
| }); | |||||
| Router.events.on("routeChangeError", () => { | |||||
| ReactDOM.unmountComponentAtNode(document.getElementById("page-transition")); | |||||
| document.body.classList.remove("body-page-transition"); | |||||
| }); | |||||
| export default class MyApp extends App { | |||||
| static async getInitialProps({ Component, router, ctx }) { | |||||
| let pageProps = {}; | |||||
| if (Component.getInitialProps) { | |||||
| pageProps = await Component.getInitialProps(ctx); | |||||
| } | |||||
| return { pageProps }; | |||||
| } | |||||
| render() { | |||||
| const { Component, pageProps } = this.props; | |||||
| return ( | |||||
| <React.Fragment> | |||||
| <Head> | |||||
| <title>Thamrin Group</title> | |||||
| </Head> | |||||
| <Component {...pageProps} /> | |||||
| </React.Fragment> | |||||
| ); | |||||
| } | |||||
| } | |||||
| @@ -0,0 +1,89 @@ | |||||
| import React from "react"; | |||||
| import Document, { Head, Main, NextScript } from "next/document"; | |||||
| import { ServerStyleSheets } from "@material-ui/styles"; | |||||
| class MyDocument extends Document { | |||||
| render() { | |||||
| return ( | |||||
| <html lang="en"> | |||||
| <Head> | |||||
| <meta charSet="utf-8" /> | |||||
| <meta | |||||
| name="viewport" | |||||
| content="width=device-width, initial-scale=1, shrink-to-fit=no" | |||||
| /> | |||||
| <meta name="theme-color" content="#000000" /> | |||||
| <link rel="shortcut icon" href={require("assets/img/favicon.png")} /> | |||||
| <link | |||||
| rel="apple-touch-icon" | |||||
| sizes="76x76" | |||||
| href={require("assets/img/apple-icon.png")} | |||||
| /> | |||||
| {/* Fonts and icons */} | |||||
| <link | |||||
| rel="stylesheet" | |||||
| type="text/css" | |||||
| href="https://fonts.googleapis.com/css?family=Roboto:300,400,500,700|Roboto+Slab:400,700|Material+Icons" | |||||
| /> | |||||
| <link | |||||
| href="https://use.fontawesome.com/releases/v5.0.10/css/all.css" | |||||
| rel="stylesheet" | |||||
| /> | |||||
| </Head> | |||||
| <body> | |||||
| <div id="page-transition"></div> | |||||
| <Main /> | |||||
| <NextScript /> | |||||
| </body> | |||||
| </html> | |||||
| ); | |||||
| } | |||||
| } | |||||
| MyDocument.getInitialProps = async ctx => { | |||||
| // Resolution order | |||||
| // | |||||
| // On the server: | |||||
| // 1. app.getInitialProps | |||||
| // 2. page.getInitialProps | |||||
| // 3. document.getInitialProps | |||||
| // 4. app.render | |||||
| // 5. page.render | |||||
| // 6. document.render | |||||
| // | |||||
| // On the server with error: | |||||
| // 1. document.getInitialProps | |||||
| // 2. app.render | |||||
| // 3. page.render | |||||
| // 4. document.render | |||||
| // | |||||
| // On the client | |||||
| // 1. app.getInitialProps | |||||
| // 2. page.getInitialProps | |||||
| // 3. app.render | |||||
| // 4. page.render | |||||
| // Render app and page and get the context of the page with collected side effects. | |||||
| const sheets = new ServerStyleSheets(); | |||||
| const originalRenderPage = ctx.renderPage; | |||||
| ctx.renderPage = () => | |||||
| originalRenderPage({ | |||||
| enhanceApp: App => props => sheets.collect(<App {...props} />) | |||||
| }); | |||||
| const initialProps = await Document.getInitialProps(ctx); | |||||
| return { | |||||
| ...initialProps, | |||||
| // Styles fragment is rendered after the app and page rendering finish. | |||||
| styles: [ | |||||
| <React.Fragment key="styles"> | |||||
| {initialProps.styles} | |||||
| {sheets.getStyleElement()} | |||||
| </React.Fragment> | |||||
| ] | |||||
| }; | |||||
| }; | |||||
| export default MyDocument; | |||||
| @@ -0,0 +1,12 @@ | |||||
| import React, { Component } from "react"; | |||||
| import Router from "next/router"; | |||||
| export default class _error extends Component { | |||||
| componentDidMount = () => { | |||||
| Router.push("/home"); | |||||
| }; | |||||
| render() { | |||||
| return <div />; | |||||
| } | |||||
| } | |||||
| @@ -0,0 +1,27 @@ | |||||
| import DetailProduct from "../../../api/product/product"; | |||||
| export default async function handler(req, res) { | |||||
| console.log("masuk"); | |||||
| if (req.method == "POST") { | |||||
| var id = req.body.id; | |||||
| var detailproduct = await DetailProduct.GetDetailProduct(id); | |||||
| if (detailproduct["STATUS"] == 0) { | |||||
| res.status(200).json(detailproduct); | |||||
| } else if (detailproduct["DATA"]["products"] == null) { | |||||
| res | |||||
| .status(200) | |||||
| .json({ | |||||
| STATUS: 0, | |||||
| DATA: "Product Tidak Ditemukan" | |||||
| }); | |||||
| } else { | |||||
| res.status(200).json({ | |||||
| STATUS: 1, | |||||
| DATA: detailproduct["DATA"]["products"], | |||||
| }); | |||||
| } | |||||
| } else { | |||||
| console.log("masukas"); | |||||
| res.status(200).send("NOT FOUND"); | |||||
| } | |||||
| } | |||||
| @@ -0,0 +1,12 @@ | |||||
| import React, { Component } from "react"; | |||||
| import Router from "next/router"; | |||||
| export default class Index extends Component { | |||||
| componentDidMount = () => { | |||||
| Router.push("/home"); | |||||
| }; | |||||
| render() { | |||||
| return <div />; | |||||
| } | |||||
| } | |||||
| @@ -0,0 +1,58 @@ | |||||
| import React from "react"; | |||||
| // nodejs library that concatenates classes | |||||
| import classNames from "classnames"; | |||||
| // react components for routing our app without refresh | |||||
| import Link from "next/link"; | |||||
| // @material-ui/core components | |||||
| import { makeStyles } from "@material-ui/core/styles"; | |||||
| // @material-ui/icons | |||||
| // core components | |||||
| import Header from "components/Header/Header.js"; | |||||
| import HeaderLinks from "components/Header/HeaderLinks.js"; | |||||
| import Footer from "components/Footer/Footer.js"; | |||||
| import GridContainer from "components/Grid/GridContainer.js"; | |||||
| import GridItem from "components/Grid/GridItem.js"; | |||||
| import AboutUs from "pages-sections/yamaha/about_us/about_us.js"; | |||||
| import Parallax from "components/Parallax/Parallax.js"; | |||||
| import styles from "assets/jss/nextjs-material-kit/pages/components.js"; | |||||
| const useStyles = makeStyles(styles); | |||||
| const AboutUS = function ({ backend, businessPartners, service, carousel, ...props }) { | |||||
| const classes = useStyles(); | |||||
| const { ...rest } = props; | |||||
| return ( | |||||
| <div> | |||||
| <Header | |||||
| rightLinks={<HeaderLinks />} | |||||
| fixed | |||||
| color="info" | |||||
| changeColorOnScroll={{ | |||||
| height: 400, | |||||
| color: "white" | |||||
| }} | |||||
| {...rest} | |||||
| /> | |||||
| <Parallax image={require("assets/img/aboutus.jpg")} width="200px"> | |||||
| <div className={classes.container}> | |||||
| <GridContainer> | |||||
| <GridItem> | |||||
| {/* <div className={classes.brand}> | |||||
| <h1 className={classes.title}>NextJS Material Kit.</h1> | |||||
| <h3 className={classes.subtitle}> | |||||
| A Badass Material Kit based on Material-UI and NextJS. | |||||
| </h3> | |||||
| </div> */} | |||||
| </GridItem> | |||||
| </GridContainer> | |||||
| </div> | |||||
| </Parallax> | |||||
| <div className={classNames(classes.main, classes.mainRaised)}> | |||||
| <AboutUs /> | |||||
| </div> | |||||
| <Footer /> | |||||
| </div> | |||||
| ); | |||||
| } | |||||
| export default AboutUS; | |||||
| @@ -0,0 +1,58 @@ | |||||
| import React from "react"; | |||||
| // nodejs library that concatenates classes | |||||
| import classNames from "classnames"; | |||||
| // react components for routing our app without refresh | |||||
| import Link from "next/link"; | |||||
| // @material-ui/core components | |||||
| import { makeStyles } from "@material-ui/core/styles"; | |||||
| // @material-ui/icons | |||||
| // core components | |||||
| import Header from "components/Header/Header.js"; | |||||
| import HeaderLinks from "components/Header/HeaderLinks.js"; | |||||
| import Footer from "components/Footer/Footer.js"; | |||||
| import GridContainer from "components/Grid/GridContainer.js"; | |||||
| import GridItem from "components/Grid/GridItem.js"; | |||||
| import Penghargaan from "pages-sections/yamaha/about_us/penghargaan.js"; | |||||
| import Parallax from "components/Parallax/Parallax.js"; | |||||
| import styles from "assets/jss/nextjs-material-kit/pages/components.js"; | |||||
| const useStyles = makeStyles(styles); | |||||
| const penghargaan = function ({ backend, businessPartners, service, carousel, ...props }) { | |||||
| const classes = useStyles(); | |||||
| const { ...rest } = props; | |||||
| return ( | |||||
| <div> | |||||
| <Header | |||||
| rightLinks={<HeaderLinks />} | |||||
| fixed | |||||
| color="info" | |||||
| changeColorOnScroll={{ | |||||
| height: 400, | |||||
| color: "white" | |||||
| }} | |||||
| {...rest} | |||||
| /> | |||||
| <Parallax image={require("assets/img/aboutus.jpg")} width="200px"> | |||||
| <div className={classes.container}> | |||||
| <GridContainer> | |||||
| <GridItem> | |||||
| {/* <div className={classes.brand}> | |||||
| <h1 className={classes.title}>NextJS Material Kit.</h1> | |||||
| <h3 className={classes.subtitle}> | |||||
| A Badass Material Kit based on Material-UI and NextJS. | |||||
| </h3> | |||||
| </div> */} | |||||
| </GridItem> | |||||
| </GridContainer> | |||||
| </div> | |||||
| </Parallax> | |||||
| <div className={classNames(classes.main, classes.mainRaised)}> | |||||
| <Penghargaan /> | |||||
| </div> | |||||
| <Footer /> | |||||
| </div> | |||||
| ); | |||||
| } | |||||
| export default penghargaan; | |||||
| @@ -0,0 +1,58 @@ | |||||
| import React from "react"; | |||||
| // nodejs library that concatenates classes | |||||
| import classNames from "classnames"; | |||||
| // react components for routing our app without refresh | |||||
| import Link from "next/link"; | |||||
| // @material-ui/core components | |||||
| import { makeStyles } from "@material-ui/core/styles"; | |||||
| // @material-ui/icons | |||||
| // core components | |||||
| import Header from "components/Header/Header.js"; | |||||
| import HeaderLinks from "components/Header/HeaderLinks.js"; | |||||
| import Footer from "components/Footer/Footer.js"; | |||||
| import GridContainer from "components/Grid/GridContainer.js"; | |||||
| import GridItem from "components/Grid/GridItem.js"; | |||||
| import Profile from "pages-sections/yamaha/about_us/profile.js"; | |||||
| import Parallax from "components/Parallax/Parallax.js"; | |||||
| import styles from "assets/jss/nextjs-material-kit/pages/components.js"; | |||||
| const useStyles = makeStyles(styles); | |||||
| const profile = function ({ backend, businessPartners, service, carousel, ...props }) { | |||||
| const classes = useStyles(); | |||||
| const { ...rest } = props; | |||||
| return ( | |||||
| <div> | |||||
| <Header | |||||
| rightLinks={<HeaderLinks />} | |||||
| fixed | |||||
| color="info" | |||||
| changeColorOnScroll={{ | |||||
| height: 400, | |||||
| color: "white" | |||||
| }} | |||||
| {...rest} | |||||
| /> | |||||
| <Parallax image={require("assets/img/aboutus.jpg")} width="200px"> | |||||
| <div className={classes.container}> | |||||
| <GridContainer> | |||||
| <GridItem> | |||||
| {/* <div className={classes.brand}> | |||||
| <h1 className={classes.title}>NextJS Material Kit.</h1> | |||||
| <h3 className={classes.subtitle}> | |||||
| A Badass Material Kit based on Material-UI and NextJS. | |||||
| </h3> | |||||
| </div> */} | |||||
| </GridItem> | |||||
| </GridContainer> | |||||
| </div> | |||||
| </Parallax> | |||||
| <div className={classNames(classes.main, classes.mainRaised)}> | |||||
| <Profile /> | |||||
| </div> | |||||
| <Footer /> | |||||
| </div> | |||||
| ); | |||||
| } | |||||
| export default profile; | |||||
| @@ -0,0 +1,58 @@ | |||||
| import React from "react"; | |||||
| // nodejs library that concatenates classes | |||||
| import classNames from "classnames"; | |||||
| // react components for routing our app without refresh | |||||
| import Link from "next/link"; | |||||
| // @material-ui/core components | |||||
| import { makeStyles } from "@material-ui/core/styles"; | |||||
| // @material-ui/icons | |||||
| // core components | |||||
| import Header from "components/Header/Header.js"; | |||||
| import HeaderLinks from "components/Header/HeaderLinks.js"; | |||||
| import Footer from "components/Footer/Footer.js"; | |||||
| import GridContainer from "components/Grid/GridContainer.js"; | |||||
| import GridItem from "components/Grid/GridItem.js"; | |||||
| import Saham from "pages-sections/yamaha/about_us/saham.js"; | |||||
| import Parallax from "components/Parallax/Parallax.js"; | |||||
| import styles from "assets/jss/nextjs-material-kit/pages/components.js"; | |||||
| const useStyles = makeStyles(styles); | |||||
| const saham = function ({ backend, businessPartners, service, carousel, ...props }) { | |||||
| const classes = useStyles(); | |||||
| const { ...rest } = props; | |||||
| return ( | |||||
| <div> | |||||
| <Header | |||||
| rightLinks={<HeaderLinks />} | |||||
| fixed | |||||
| color="info" | |||||
| changeColorOnScroll={{ | |||||
| height: 400, | |||||
| color: "white" | |||||
| }} | |||||
| {...rest} | |||||
| /> | |||||
| <Parallax image={require("assets/img/aboutus.jpg")} width="200px"> | |||||
| <div className={classes.container}> | |||||
| <GridContainer> | |||||
| <GridItem> | |||||
| {/* <div className={classes.brand}> | |||||
| <h1 className={classes.title}>NextJS Material Kit.</h1> | |||||
| <h3 className={classes.subtitle}> | |||||
| A Badass Material Kit based on Material-UI and NextJS. | |||||
| </h3> | |||||
| </div> */} | |||||
| </GridItem> | |||||
| </GridContainer> | |||||
| </div> | |||||
| </Parallax> | |||||
| <div className={classNames(classes.main, classes.mainRaised)}> | |||||
| <Saham /> | |||||
| </div> | |||||
| <Footer /> | |||||
| </div> | |||||
| ); | |||||
| } | |||||
| export default saham; | |||||
| @@ -0,0 +1,58 @@ | |||||
| import React from "react"; | |||||
| // nodejs library that concatenates classes | |||||
| import classNames from "classnames"; | |||||
| // react components for routing our app without refresh | |||||
| import Link from "next/link"; | |||||
| // @material-ui/core components | |||||
| import { makeStyles } from "@material-ui/core/styles"; | |||||
| // @material-ui/icons | |||||
| // core components | |||||
| import Header from "components/Header/Header.js"; | |||||
| import HeaderLinks from "components/Header/HeaderLinks.js"; | |||||
| import Footer from "components/Footer/Footer.js"; | |||||
| import GridContainer from "components/Grid/GridContainer.js"; | |||||
| import GridItem from "components/Grid/GridItem.js"; | |||||
| import Sejarah from "pages-sections/yamaha/about_us/sejarah.js"; | |||||
| import Parallax from "components/Parallax/Parallax.js"; | |||||
| import styles from "assets/jss/nextjs-material-kit/pages/components.js"; | |||||
| const useStyles = makeStyles(styles); | |||||
| const sejarah = function ({ backend, businessPartners, service, carousel, ...props }) { | |||||
| const classes = useStyles(); | |||||
| const { ...rest } = props; | |||||
| return ( | |||||
| <div> | |||||
| <Header | |||||
| rightLinks={<HeaderLinks />} | |||||
| fixed | |||||
| color="info" | |||||
| changeColorOnScroll={{ | |||||
| height: 400, | |||||
| color: "white" | |||||
| }} | |||||
| {...rest} | |||||
| /> | |||||
| <Parallax image={require("assets/img/aboutus.jpg")} width="200px"> | |||||
| <div className={classes.container}> | |||||
| <GridContainer> | |||||
| <GridItem> | |||||
| {/* <div className={classes.brand}> | |||||
| <h1 className={classes.title}>NextJS Material Kit.</h1> | |||||
| <h3 className={classes.subtitle}> | |||||
| A Badass Material Kit based on Material-UI and NextJS. | |||||
| </h3> | |||||
| </div> */} | |||||
| </GridItem> | |||||
| </GridContainer> | |||||
| </div> | |||||
| </Parallax> | |||||
| <div className={classNames(classes.main, classes.mainRaised)}> | |||||
| <Sejarah /> | |||||
| </div> | |||||
| <Footer /> | |||||
| </div> | |||||
| ); | |||||
| } | |||||
| export default sejarah; | |||||
| @@ -0,0 +1,58 @@ | |||||
| import React from "react"; | |||||
| // nodejs library that concatenates classes | |||||
| import classNames from "classnames"; | |||||
| // react components for routing our app without refresh | |||||
| import Link from "next/link"; | |||||
| // @material-ui/core components | |||||
| import { makeStyles } from "@material-ui/core/styles"; | |||||
| // @material-ui/icons | |||||
| // core components | |||||
| import Header from "components/Header/Header.js"; | |||||
| import HeaderLinks from "components/Header/HeaderLinks.js"; | |||||
| import Footer from "components/Footer/Footer.js"; | |||||
| import GridContainer from "components/Grid/GridContainer.js"; | |||||
| import GridItem from "components/Grid/GridItem.js"; | |||||
| import StrukturOrganisasi from "pages-sections/yamaha/about_us/struktur_organisasi.js"; | |||||
| import Parallax from "components/Parallax/Parallax.js"; | |||||
| import styles from "assets/jss/nextjs-material-kit/pages/components.js"; | |||||
| const useStyles = makeStyles(styles); | |||||
| const Strukturorganisasi = function ({ backend, businessPartners, service, carousel, ...props }) { | |||||
| const classes = useStyles(); | |||||
| const { ...rest } = props; | |||||
| return ( | |||||
| <div> | |||||
| <Header | |||||
| rightLinks={<HeaderLinks />} | |||||
| fixed | |||||
| color="info" | |||||
| changeColorOnScroll={{ | |||||
| height: 400, | |||||
| color: "white" | |||||
| }} | |||||
| {...rest} | |||||
| /> | |||||
| <Parallax image={require("assets/img/aboutus.jpg")} width="200px"> | |||||
| <div className={classes.container}> | |||||
| <GridContainer> | |||||
| <GridItem> | |||||
| {/* <div className={classes.brand}> | |||||
| <h1 className={classes.title}>NextJS Material Kit.</h1> | |||||
| <h3 className={classes.subtitle}> | |||||
| A Badass Material Kit based on Material-UI and NextJS. | |||||
| </h3> | |||||
| </div> */} | |||||
| </GridItem> | |||||
| </GridContainer> | |||||
| </div> | |||||
| </Parallax> | |||||
| <div className={classNames(classes.main, classes.mainRaised)}> | |||||
| <StrukturOrganisasi /> | |||||
| </div> | |||||
| <Footer /> | |||||
| </div> | |||||
| ); | |||||
| } | |||||
| export default Strukturorganisasi; | |||||
| @@ -0,0 +1,58 @@ | |||||
| import React from "react"; | |||||
| // nodejs library that concatenates classes | |||||
| import classNames from "classnames"; | |||||
| // react components for routing our app without refresh | |||||
| import Link from "next/link"; | |||||
| // @material-ui/core components | |||||
| import { makeStyles } from "@material-ui/core/styles"; | |||||
| // @material-ui/icons | |||||
| // core components | |||||
| import Header from "components/Header/Header.js"; | |||||
| import HeaderLinks from "components/Header/HeaderLinks.js"; | |||||
| import Footer from "components/Footer/Footer.js"; | |||||
| import GridContainer from "components/Grid/GridContainer.js"; | |||||
| import GridItem from "components/Grid/GridItem.js"; | |||||
| import TataKelola from "pages-sections/yamaha/about_us/tata_kelola.js"; | |||||
| import Parallax from "components/Parallax/Parallax.js"; | |||||
| import styles from "assets/jss/nextjs-material-kit/pages/components.js"; | |||||
| const useStyles = makeStyles(styles); | |||||
| const Tatakelola = function ({ backend, businessPartners, service, carousel, ...props }) { | |||||
| const classes = useStyles(); | |||||
| const { ...rest } = props; | |||||
| return ( | |||||
| <div> | |||||
| <Header | |||||
| rightLinks={<HeaderLinks />} | |||||
| fixed | |||||
| color="info" | |||||
| changeColorOnScroll={{ | |||||
| height: 400, | |||||
| color: "white" | |||||
| }} | |||||
| {...rest} | |||||
| /> | |||||
| <Parallax image={require("assets/img/aboutus.jpg")} width="200px"> | |||||
| <div className={classes.container}> | |||||
| <GridContainer> | |||||
| <GridItem> | |||||
| {/* <div className={classes.brand}> | |||||
| <h1 className={classes.title}>NextJS Material Kit.</h1> | |||||
| <h3 className={classes.subtitle}> | |||||
| A Badass Material Kit based on Material-UI and NextJS. | |||||
| </h3> | |||||
| </div> */} | |||||
| </GridItem> | |||||
| </GridContainer> | |||||
| </div> | |||||
| </Parallax> | |||||
| <div className={classNames(classes.main, classes.mainRaised)}> | |||||
| <TataKelola /> | |||||
| </div> | |||||
| <Footer /> | |||||
| </div> | |||||
| ); | |||||
| } | |||||
| export default Tatakelola; | |||||
| @@ -0,0 +1,58 @@ | |||||
| import React from "react"; | |||||
| // nodejs library that concatenates classes | |||||
| import classNames from "classnames"; | |||||
| // react components for routing our app without refresh | |||||
| import Link from "next/link"; | |||||
| // @material-ui/core components | |||||
| import { makeStyles } from "@material-ui/core/styles"; | |||||
| // @material-ui/icons | |||||
| // core components | |||||
| import Header from "components/Header/Header.js"; | |||||
| import HeaderLinks from "components/Header/HeaderLinks.js"; | |||||
| import Footer from "components/Footer/Footer.js"; | |||||
| import GridContainer from "components/Grid/GridContainer.js"; | |||||
| import GridItem from "components/Grid/GridItem.js"; | |||||
| import TugasFungsi from "pages-sections/yamaha/about_us/tugas_fungsi.js"; | |||||
| import Parallax from "components/Parallax/Parallax.js"; | |||||
| import styles from "assets/jss/nextjs-material-kit/pages/components.js"; | |||||
| const useStyles = makeStyles(styles); | |||||
| const AboutUS = function ({ backend, businessPartners, service, carousel, ...props }) { | |||||
| const classes = useStyles(); | |||||
| const { ...rest } = props; | |||||
| return ( | |||||
| <div> | |||||
| <Header | |||||
| rightLinks={<HeaderLinks />} | |||||
| fixed | |||||
| color="info" | |||||
| changeColorOnScroll={{ | |||||
| height: 400, | |||||
| color: "white" | |||||
| }} | |||||
| {...rest} | |||||
| /> | |||||
| <Parallax image={require("assets/img/aboutus.jpg")} width="200px"> | |||||
| <div className={classes.container}> | |||||
| <GridContainer> | |||||
| <GridItem> | |||||
| {/* <div className={classes.brand}> | |||||
| <h1 className={classes.title}>NextJS Material Kit.</h1> | |||||
| <h3 className={classes.subtitle}> | |||||
| A Badass Material Kit based on Material-UI and NextJS. | |||||
| </h3> | |||||
| </div> */} | |||||
| </GridItem> | |||||
| </GridContainer> | |||||
| </div> | |||||
| </Parallax> | |||||
| <div className={classNames(classes.main, classes.mainRaised)}> | |||||
| <TugasFungsi /> | |||||
| </div> | |||||
| <Footer /> | |||||
| </div> | |||||
| ); | |||||
| } | |||||
| export default AboutUS; | |||||
| @@ -0,0 +1,66 @@ | |||||
| 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/HeaderLinks.js"; | |||||
| import Footer from "components/Footer/Footer.js"; | |||||
| import Parallax from "components/Parallax/Parallax.js"; | |||||
| import styles from "assets/jss/nextjs-material-kit/pages/components.js"; | |||||
| import SectionCarrer from "pages-sections/yamaha/carrer/carrer.js"; | |||||
| import Getcarrer from "../../api/carrer/carrer.js" | |||||
| const useStyles = makeStyles(styles); | |||||
| const Carrer = function ({ backend, s1, d3, sma, ...props }) { | |||||
| const classes = useStyles(); | |||||
| const { ...rest } = props; | |||||
| return ( | |||||
| <div> | |||||
| <Header | |||||
| rightLinks={<HeaderLinks />} | |||||
| fixed | |||||
| color="info" | |||||
| changeColorOnScroll={{ | |||||
| height: 400, | |||||
| color: "white" | |||||
| }} | |||||
| {...rest} | |||||
| /> | |||||
| <Parallax image={require("assets/img/carrer.png")} height="50px"/> | |||||
| <div className={classNames(classes.main, classes.mainRaised)}> | |||||
| <SectionCarrer s1={s1} d3={d3} sma={sma} backend={backend}/> | |||||
| </div> | |||||
| <Footer /> | |||||
| </div> | |||||
| ); | |||||
| } | |||||
| export default Carrer; | |||||
| export async function getServerSideProps(context) { | |||||
| var s1 = []; | |||||
| var d3 = []; | |||||
| var sma = []; | |||||
| const backend = process.env.BACKEND_SERVER_URI; | |||||
| var res = await Getcarrer.GetCarrerS1(); | |||||
| if (res["STATUS"] === 1) { | |||||
| s1 = res["DATA"]["carrers"]; | |||||
| } | |||||
| var res = await Getcarrer.GetCarrerD3(); | |||||
| if (res["STATUS"] === 1) { | |||||
| d3 = res["DATA"]["carrers"]; | |||||
| } | |||||
| var res = await Getcarrer.GetCarrerSMA(); | |||||
| if (res["STATUS"] === 1) { | |||||
| sma = res["DATA"]["carrers"]; | |||||
| } | |||||
| return { | |||||
| props: { s1, d3, sma, backend }, // will be passed to the page component as props | |||||
| }; | |||||
| } | |||||
| @@ -0,0 +1,56 @@ | |||||
| 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/HeaderLinks.js"; | |||||
| import Footer from "components/Footer/Footer.js"; | |||||
| import CarrerDetail from "pages-sections/yamaha/carrer/carrer_details.js"; | |||||
| import Parallax from "components/Parallax/Parallax.js"; | |||||
| import styles from "assets/jss/nextjs-material-kit/pages/components.js"; | |||||
| import GetDetailcarrer from "../../api/carrer/carrer.js" | |||||
| const useStyles = makeStyles(styles); | |||||
| const CarrerDetails = function ({ backend, detailcarrer, ...props }) { | |||||
| const classes = useStyles(); | |||||
| const { ...rest } = props; | |||||
| return ( | |||||
| <div> | |||||
| <Header | |||||
| rightLinks={<HeaderLinks/>} | |||||
| fixed | |||||
| color="info" | |||||
| changeColorOnScroll={{ | |||||
| height: 400, | |||||
| color: "white" | |||||
| }} | |||||
| {...rest} | |||||
| /> | |||||
| <Parallax image={require("assets/img/carrer.png")} height="50px"/> | |||||
| <div className={classNames(classes.main, classes.mainRaised)}> | |||||
| <CarrerDetail detailcarrer={detailcarrer} backend={backend}/> | |||||
| </div> | |||||
| <Footer /> | |||||
| </div> | |||||
| ); | |||||
| } | |||||
| export default CarrerDetails; | |||||
| export async function getServerSideProps(context) { | |||||
| var {query} = context; | |||||
| var detailcarrer = []; | |||||
| const backend = process.env.BACKEND_SERVER_URI; | |||||
| var res = await GetDetailcarrer.GetDetailCarrer(query.s||0); | |||||
| if (res["STATUS"] === 1) { | |||||
| detailcarrer = res["DATA"]["carrers"]; | |||||
| } | |||||
| console.log(res); | |||||
| return { | |||||
| props: { detailcarrer, backend }, // will be passed to the page component as props | |||||
| }; | |||||
| } | |||||
| @@ -0,0 +1,36 @@ | |||||
| 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/HeaderLinks.js"; | |||||
| import Footer from "components/Footer/Footer.js"; | |||||
| // import SectionChart from "pages-sections/cart/SectionChart.js"; | |||||
| import Parallax from "components/Parallax/Parallax.js"; | |||||
| import styles from "../assets/jss/nextjs-material-kit/pages/components.js"; | |||||
| const useStyles = makeStyles(styles); | |||||
| export default function Components(props) { | |||||
| const classes = useStyles(); | |||||
| const { ...rest } = props; | |||||
| return ( | |||||
| <div> | |||||
| <Header | |||||
| rightLinks={<HeaderLinks />} | |||||
| 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)}> | |||||
| {/* <SectionChart /> */} | |||||
| </div> | |||||
| <Footer /> | |||||
| </div> | |||||
| ); | |||||
| } | |||||
| @@ -0,0 +1,74 @@ | |||||
| import React from "react"; | |||||
| import classNames from "classnames"; | |||||
| import { makeStyles } from "@material-ui/core/styles"; | |||||
| import Router from 'next/router' | |||||
| import Header from "components/Header/Header.js"; | |||||
| import HeaderLinks from "components/Header/HeaderLinks.js"; | |||||
| import Parallax from "components/Parallax/Parallax.js"; | |||||
| import styles from "assets/jss/nextjs-material-kit/pages/components.js"; | |||||
| import Footer from "components/Footer/Footer.js"; | |||||
| import Getdealer from "../../api/dealer/dealer.js"; | |||||
| import DataSnackbarContent from "../../pages-sections/yamaha/snackbar.js"; | |||||
| import DataDealers from "../../pages-sections/yamaha/dealers/dealers.js"; | |||||
| import { QueryClient, QueryClientProvider, useQuery } from 'react-query' | |||||
| const queryClient = new QueryClient() | |||||
| const handleName = values => { | |||||
| Router.push({ | |||||
| pathname: 'yamaha/dealers', | |||||
| query: (values&&values.length!=0)?{ filter: values[0]["name"] }:{}, | |||||
| }) | |||||
| } | |||||
| const useStyles = makeStyles(styles); | |||||
| const Dealers = function ({ selected, backend, dealers, ...props }) { | |||||
| const classes = useStyles(); | |||||
| const { ...rest } = props; | |||||
| return ( | |||||
| <div> | |||||
| <Header | |||||
| rightLinks={<HeaderLinks/>} | |||||
| fixed | |||||
| color="info" | |||||
| changeColorOnScroll={{ | |||||
| height: 400, | |||||
| color: "white", | |||||
| }} | |||||
| {...rest} | |||||
| /> | |||||
| <Parallax image={require("assets/img/dealers.png")}styles={{ marginTop: "50px" }}/> | |||||
| <div className={classNames(classes.main, classes.mainRaised)}> | |||||
| <QueryClientProvider client={queryClient}> | |||||
| <DataSnackbarContent /> | |||||
| <DataDealers selected={(selected=="")?null:selected[0]["id"]} handleName={handleName} dealers={dealers} backend={backend} /> | |||||
| </QueryClientProvider> | |||||
| </div> | |||||
| <Footer /> | |||||
| </div> | |||||
| ); | |||||
| }; | |||||
| export default Dealers; | |||||
| export async function getServerSideProps(context) { | |||||
| var dealers = []; | |||||
| var filter = context.query.filter||""; | |||||
| var selected = ""; | |||||
| const backend = process.env.BACKEND_SERVER_URI; | |||||
| var res = await Getdealer.GetDealers(filter); | |||||
| if (res["STATUS"] === 1) { | |||||
| dealers = res["DATA"]["dealers"]; | |||||
| if (filter !=""){ | |||||
| selected = dealers.filter((i)=>i.name==filter); | |||||
| } | |||||
| } | |||||
| return { | |||||
| props: { selected, dealers, backend, }, // will be passed to the page component as props | |||||
| }; | |||||
| } | |||||
| @@ -0,0 +1,87 @@ | |||||
| 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/HeaderLinks.js"; | |||||
| import Parallax from "components/Parallax/Parallax.js"; | |||||
| import styles from "assets/jss/nextjs-material-kit/pages/components.js"; | |||||
| import Footer from "components/Footer/Footer.js"; | |||||
| import GetbusinessPartners from "../../api/home/businessPartner.js"; | |||||
| import Getservices from "../../api/home/service.js"; | |||||
| import Getcarousels from "../../api/home/carousel.js"; | |||||
| import DataSnackbarContent from "../../pages-sections/yamaha/snackbar.js"; | |||||
| import DataCarousel from "../../pages-sections/yamaha/home/carousel.js"; | |||||
| import DataService from "../../pages-sections/yamaha/home/service.js"; | |||||
| import DataBusinessPartner from "../../pages-sections/yamaha/home/business_partner.js"; | |||||
| import DataSosmed from "../../pages-sections/yamaha/home/sosmed.js"; | |||||
| import CoreValue from "../../pages-sections/yamaha/home/core_value.js"; | |||||
| import DataFeature from "../../pages-sections/yamaha/home/feature.js"; | |||||
| const useStyles = makeStyles(styles); | |||||
| const Home = function ({ | |||||
| backend, | |||||
| businessPartners, | |||||
| service, | |||||
| carousel, | |||||
| ...props | |||||
| }) { | |||||
| const classes = useStyles(); | |||||
| const { ...rest } = props; | |||||
| <DataService service={props.service} />; | |||||
| return ( | |||||
| <div> | |||||
| <Header | |||||
| rightLinks={<HeaderLinks/>} | |||||
| fixed | |||||
| color="info" | |||||
| changeColorOnScroll={{ | |||||
| height: 400, | |||||
| color: "white", | |||||
| }} | |||||
| {...rest} | |||||
| /> | |||||
| <Parallax image={require("assets/img/Promotion_2-1.jpg")}styles={{ marginTop: "50px" }}/> | |||||
| <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/> | |||||
| </div> | |||||
| <Footer /> | |||||
| </div> | |||||
| ); | |||||
| }; | |||||
| export async function getServerSideProps(context) { | |||||
| var businessPartners = []; | |||||
| var service = []; | |||||
| var carousel = []; | |||||
| const backend = process.env.BACKEND_SERVER_URI; | |||||
| var res = await GetbusinessPartners.GetbusinessPartners(); | |||||
| if (res["STATUS"] === 1) { | |||||
| businessPartners = res["DATA"]["businessPartners"]; | |||||
| } | |||||
| var res = await Getservices.Getservices(); | |||||
| if (res["STATUS"] === 1) { | |||||
| service = res["DATA"]["services"]; | |||||
| } | |||||
| var res = await Getcarousels.GetCarousels(); | |||||
| if (res["STATUS"] === 1) { | |||||
| carousel = res["DATA"]["carousels"]; | |||||
| } | |||||
| return { | |||||
| props: { businessPartners, service, carousel, backend }, // will be passed to the page component as props | |||||
| }; | |||||
| } | |||||
| export default Home; | |||||
| @@ -0,0 +1,56 @@ | |||||
| 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/HeaderLinks.js"; | |||||
| import Footer from "components/Footer/Footer.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/yamaha/snackbar.js"; | |||||
| import DataLatestNews from "../../pages-sections/yamaha/latest_news/news.js"; | |||||
| const useStyles = makeStyles(styles); | |||||
| const LatestNews = function ({ backend, news, ...props }) { | |||||
| const classes = useStyles(); | |||||
| const { ...rest } = props; | |||||
| <DataLatestNews news={props.news}/> | |||||
| return ( | |||||
| <div> | |||||
| <Header | |||||
| rightLinks={<HeaderLinks />} | |||||
| fixed | |||||
| color="info" | |||||
| changeColorOnScroll={{ | |||||
| height: 400, | |||||
| color: "white" | |||||
| }} | |||||
| {...rest} | |||||
| /> | |||||
| <Parallax image={require("assets/img/simulasicicilan.jpg")} width="200px"/> | |||||
| <div className={classNames(classes.main, classes.mainRaised)}> | |||||
| <DataSnackbarContent/> | |||||
| <DataLatestNews news={news} backend={backend}/> | |||||
| </div> | |||||
| <Footer /> | |||||
| </div> | |||||
| ); | |||||
| } | |||||
| export default LatestNews; | |||||
| export async function getServerSideProps(context) { | |||||
| var news = []; | |||||
| const backend = process.env.BACKEND_SERVER_URI; | |||||
| var res = await GetLatestNews.GetNews(); | |||||
| if (res["STATUS"] === 1) { | |||||
| news = res["DATA"]["latestNews"]; | |||||
| } | |||||
| return { | |||||
| props: { news, backend }, // will be passed to the page component as props | |||||
| }; | |||||
| } | |||||
| @@ -0,0 +1,63 @@ | |||||
| 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/HeaderLinks.js"; | |||||
| import Footer from "components/Footer/Footer.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/yamaha/snackbar.js"; | |||||
| import DetailLatestNews from "../../pages-sections/yamaha/latest_news/news_details.js"; | |||||
| const useStyles = makeStyles(styles); | |||||
| const detailLatestNews = function ({ backend, news, othernews, ...props }) { | |||||
| const classes = useStyles(); | |||||
| const { ...rest } = props; | |||||
| <DetailLatestNews news={props.news}/> | |||||
| return ( | |||||
| <div> | |||||
| <Header | |||||
| rightLinks={<HeaderLinks />} | |||||
| fixed | |||||
| color="info" | |||||
| changeColorOnScroll={{ | |||||
| height: 400, | |||||
| color: "white" | |||||
| }} | |||||
| {...rest} | |||||
| /> | |||||
| <Parallax image={require("assets/img/simulasicicilan.jpg")} width="200px"/> | |||||
| <div className={classNames(classes.main, classes.mainRaised)}> | |||||
| <DataSnackbarContent/> | |||||
| <DetailLatestNews news={news} othernews={othernews} backend={backend}/> | |||||
| </div> | |||||
| <Footer /> | |||||
| </div> | |||||
| ); | |||||
| } | |||||
| export default detailLatestNews; | |||||
| export async function getServerSideProps(context) { | |||||
| var {query} = context; | |||||
| var news = []; | |||||
| var othernews = []; | |||||
| const backend = process.env.BACKEND_SERVER_URI; | |||||
| var res = await GetLatestNews.GetDetailNews(query.s||0); | |||||
| if (res["STATUS"] === 1) { | |||||
| news = res["DATA"]["latestNews"]; | |||||
| } | |||||
| var res = await GetLatestNews.GetOtherNews(); | |||||
| if (res["STATUS"] === 1) { | |||||
| othernews = res["DATA"]["latestNews"]; | |||||
| } | |||||
| return { | |||||
| props: { othernews, news, backend }, // will be passed to the page component as props | |||||
| }; | |||||
| } | |||||
| @@ -0,0 +1,138 @@ | |||||
| import React from "react"; | |||||
| // @material-ui/core components | |||||
| import { makeStyles } from "@material-ui/core/styles"; | |||||
| import InputAdornment from "@material-ui/core/InputAdornment"; | |||||
| import Icon from "@material-ui/core/Icon"; | |||||
| // @material-ui/icons | |||||
| import Email from "@material-ui/icons/Email"; | |||||
| import People from "@material-ui/icons/People"; | |||||
| // core components | |||||
| import Header from "components/Header/Header.js"; | |||||
| import HeaderLinks from "components/Header/HeaderLinks.js"; | |||||
| import Footer from "components/Footer/Footer.js"; | |||||
| import GridContainer from "components/Grid/GridContainer.js"; | |||||
| import GridItem from "components/Grid/GridItem.js"; | |||||
| import Button from "components/CustomButtons/Button.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 CustomInput from "components/CustomInput/CustomInput.js"; | |||||
| import styles from "assets/jss/nextjs-material-kit/pages/loginPage.js"; | |||||
| import image from "assets/img/bgtbg.jpg"; | |||||
| const useStyles = makeStyles(styles); | |||||
| export default function LoginPage(props) { | |||||
| const [cardAnimaton, setCardAnimation] = React.useState("cardHidden"); | |||||
| setTimeout(function() { | |||||
| setCardAnimation(""); | |||||
| }, 700); | |||||
| const classes = useStyles(); | |||||
| const { ...rest } = props; | |||||
| return ( | |||||
| <div> | |||||
| <Header | |||||
| absolute | |||||
| color="info" | |||||
| rightLinks={<HeaderLinks />} | |||||
| {...rest} | |||||
| /> | |||||
| <div | |||||
| className={classes.pageHeader} | |||||
| style={{ | |||||
| backgroundImage: "url(" + image + ")", | |||||
| backgroundSize: "cover", | |||||
| backgroundPosition: "top center" | |||||
| }} | |||||
| > | |||||
| <div className={classes.container}> | |||||
| <GridContainer justify="center"> | |||||
| <GridItem xs={12} sm={6} md={4}> | |||||
| <Card className={classes[cardAnimaton]}> | |||||
| <form className={classes.form}> | |||||
| <CardHeader color="info" className={classes.cardHeader}> | |||||
| <h4>Login</h4> | |||||
| <div className={classes.socialLine}> | |||||
| <Button | |||||
| justIcon | |||||
| href="#pablo" | |||||
| target="_blank" | |||||
| color="transparent" | |||||
| onClick={e => e.preventDefault()} | |||||
| > | |||||
| <i className={"fab fa-twitter"} /> | |||||
| </Button> | |||||
| <Button | |||||
| justIcon | |||||
| href="#pablo" | |||||
| target="_blank" | |||||
| color="transparent" | |||||
| onClick={e => e.preventDefault()} | |||||
| > | |||||
| <i className={"fab fa-facebook"} /> | |||||
| </Button> | |||||
| <Button | |||||
| justIcon | |||||
| href="#pablo" | |||||
| target="_blank" | |||||
| color="transparent" | |||||
| onClick={e => e.preventDefault()} | |||||
| > | |||||
| <i className={"fab fa-google-plus-g"} /> | |||||
| </Button> | |||||
| </div> | |||||
| </CardHeader> | |||||
| <p className={classes.divider}>Welcome to Thamrin Brothers</p> | |||||
| <CardBody> | |||||
| <CustomInput | |||||
| labelText="Email..." | |||||
| id="email" | |||||
| formControlProps={{ | |||||
| fullWidth: true | |||||
| }} | |||||
| inputProps={{ | |||||
| type: "email", | |||||
| endAdornment: ( | |||||
| <InputAdornment position="end"> | |||||
| <Email className={classes.inputIconsColor} /> | |||||
| </InputAdornment> | |||||
| ) | |||||
| }} | |||||
| /> | |||||
| <CustomInput | |||||
| labelText="Password" | |||||
| id="pass" | |||||
| formControlProps={{ | |||||
| fullWidth: true | |||||
| }} | |||||
| inputProps={{ | |||||
| type: "password", | |||||
| endAdornment: ( | |||||
| <InputAdornment position="end"> | |||||
| <Icon className={classes.inputIconsColor}> | |||||
| lock_outline | |||||
| </Icon> | |||||
| </InputAdornment> | |||||
| ), | |||||
| autoComplete: "off" | |||||
| }} | |||||
| /> | |||||
| </CardBody> | |||||
| <CardFooter className={classes.cardFooter}> | |||||
| <Button color="info" size="lg"> | |||||
| Login | |||||
| </Button> | |||||
| </CardFooter> | |||||
| </form> | |||||
| </Card> | |||||
| </GridItem> | |||||
| </GridContainer> | |||||
| </div> | |||||
| <Footer whiteFont /> | |||||
| </div> | |||||
| </div> | |||||
| ); | |||||
| } | |||||
| @@ -0,0 +1,72 @@ | |||||
| import React from "react"; | |||||
| import classNames from "classnames"; | |||||
| import { makeStyles } from "@material-ui/core/styles"; | |||||
| import { QueryClient, QueryClientProvider, useQuery } from 'react-query' | |||||
| import Header from "components/Header/Header.js"; | |||||
| import HeaderLinks from "components/Header/HeaderLinks.js"; | |||||
| import Footer from "components/Footer/Footer.js"; | |||||
| import Parallax from "components/Parallax/Parallax.js"; | |||||
| import styles from "assets/jss/nextjs-material-kit/pages/components.js"; | |||||
| import GetDataAccessories from "../../../api/product/accessories.js"; | |||||
| import DataAccessories from "../../../pages-sections/yamaha/product/accessories.js"; | |||||
| import DataSnackbarContent from "../../../pages-sections/yamaha/snackbar.js"; | |||||
| import Router from 'next/router' | |||||
| const useStyles = makeStyles(styles); | |||||
| const queryClient = new QueryClient(); | |||||
| const handleName = values => { | |||||
| Router.push({ | |||||
| pathname: 'yamaha/product/accessories', | |||||
| query: (values&&values.length!=0)?{ filter: values[0]["name"] }:{}, | |||||
| }) | |||||
| } | |||||
| const Accessories = function ({ selected, accessories, backend, ...props }) { | |||||
| const classes = useStyles(); | |||||
| const { ...rest } = props; | |||||
| return ( | |||||
| <div> | |||||
| <Header | |||||
| rightLinks={<HeaderLinks />} | |||||
| fixed | |||||
| color="info" | |||||
| changeColorOnScroll={{ | |||||
| height: 400, | |||||
| color: "white", | |||||
| }} | |||||
| {...rest} | |||||
| /> | |||||
| <Parallax image={require("assets/img/yamalube.jpg")} height="200px"/> | |||||
| <div className={classNames(classes.main, classes.mainRaised)}> | |||||
| <QueryClientProvider client={queryClient}> | |||||
| <DataSnackbarContent/> | |||||
| <DataAccessories selected={(selected=="")?null:selected[0]["id"]} handleName={handleName} accessories={accessories} backend={backend} /> | |||||
| </QueryClientProvider> | |||||
| </div> | |||||
| <Footer /> | |||||
| </div> | |||||
| ); | |||||
| }; | |||||
| export default Accessories; | |||||
| export async function getServerSideProps(context) { | |||||
| var accessories = []; | |||||
| var filter = context.query.filter||""; | |||||
| var selected = ""; | |||||
| const backend = process.env.BACKEND_SERVER_URI; | |||||
| var res = await GetDataAccessories.GetAccessories(filter); | |||||
| if (res["STATUS"] === 1) { | |||||
| accessories = res["DATA"]["accessories"]; | |||||
| if (filter !=""){ | |||||
| selected = accessories.filter((i)=>i.name==filter); | |||||
| } | |||||
| } | |||||
| return { | |||||
| props: { selected, accessories, backend }, // will be passed to the page component as props | |||||
| }; | |||||
| } | |||||
| @@ -0,0 +1,55 @@ | |||||
| 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/HeaderLinks.js"; | |||||
| import Footer from "components/Footer/Footer.js"; | |||||
| import AccessoriesDetail from "pages-sections/yamaha/product/accessories_details.js"; | |||||
| import Parallax from "components/Parallax/Parallax.js"; | |||||
| import styles from "assets/jss/nextjs-material-kit/pages/components.js"; | |||||
| import GetDetailAccessories from "../../../api/product/accessories.js" | |||||
| const useStyles = makeStyles(styles); | |||||
| const AccessoriesDetails = function ({ backend, detailaccessories, ...props }) { | |||||
| const classes = useStyles(); | |||||
| const { ...rest } = props; | |||||
| return ( | |||||
| <div> | |||||
| <Header | |||||
| rightLinks={<HeaderLinks/>} | |||||
| fixed | |||||
| color="info" | |||||
| changeColorOnScroll={{ | |||||
| height: 400, | |||||
| color: "white" | |||||
| }} | |||||
| {...rest} | |||||
| /> | |||||
| <Parallax image={require("assets/img/yamalube.jpg")} width="200px"/> | |||||
| <div className={classNames(classes.main, classes.mainRaised)}> | |||||
| <AccessoriesDetail detailaccessories={detailaccessories} backend={backend}/> | |||||
| </div> | |||||
| <Footer /> | |||||
| </div> | |||||
| ); | |||||
| } | |||||
| export default AccessoriesDetails; | |||||
| export async function getServerSideProps(context) { | |||||
| var {query} = context; | |||||
| var detailaccessories = []; | |||||
| const backend = process.env.BACKEND_SERVER_URI; | |||||
| var res = await GetDetailAccessories.GetDetailAccessories(query.s||0); | |||||
| if (res["STATUS"] === 1) { | |||||
| detailaccessories = res["DATA"]["accessories"]; | |||||
| } | |||||
| console.log(detailaccessories); | |||||
| return { | |||||
| props: { detailaccessories, backend }, // will be passed to the page component as props | |||||
| }; | |||||
| } | |||||
| @@ -0,0 +1,135 @@ | |||||
| import React from "react"; | |||||
| import classNames from "classnames"; | |||||
| import { makeStyles } from "@material-ui/core/styles"; | |||||
| import { QueryClient, QueryClientProvider, useQuery } from 'react-query' | |||||
| import Header from "components/Header/Header.js"; | |||||
| import HeaderLinks from "components/Header/HeaderLinks.js"; | |||||
| import Footer from "components/Footer/Footer.js"; | |||||
| import Parallax from "components/Parallax/Parallax.js"; | |||||
| import styles from "assets/jss/nextjs-material-kit/pages/components.js"; | |||||
| import GetDataApparel from "../../../api/product/apparel.js"; | |||||
| import DataApparel from "../../../pages-sections/yamaha/product/apparel.js"; | |||||
| import DataSnackbarContent from "../../../pages-sections/yamaha/snackbar.js"; | |||||
| import Router from 'next/router' | |||||
| const useStyles = makeStyles(styles); | |||||
| const queryClient = new QueryClient(); | |||||
| const handleName = values => { | |||||
| Router.push({ | |||||
| pathname: 'yamaha/product/apparel', | |||||
| query: (values&&values.length!=0)?{ filter: values[0]["name"] }:{}, | |||||
| }) | |||||
| } | |||||
| const Apparel = function ({ selected, apparel, asia, basic, merchand, maxi, rainsuit, motogp, offroad, backend, ...props }) { | |||||
| const classes = useStyles(); | |||||
| const { ...rest } = props; | |||||
| return ( | |||||
| <div> | |||||
| <Header | |||||
| rightLinks={<HeaderLinks />} | |||||
| fixed | |||||
| color="info" | |||||
| changeColorOnScroll={{ | |||||
| height: 400, | |||||
| color: "white", | |||||
| }} | |||||
| {...rest} | |||||
| /> | |||||
| <Parallax image={require("assets/img/yamalube.jpg")} height="200px"/> | |||||
| <div className={classNames(classes.main, classes.mainRaised)}> | |||||
| <QueryClientProvider client={queryClient}> | |||||
| <DataSnackbarContent/> | |||||
| <DataApparel selected={(selected=="")?null:selected[0]["id"]} handleName={handleName} apparel={apparel} asia={asia} basic={basic} merchand={merchand} maxi={maxi} rainsuit={rainsuit} motogp={motogp} offroad={offroad} backend={backend} /> | |||||
| </QueryClientProvider> | |||||
| </div> | |||||
| <Footer /> | |||||
| </div> | |||||
| ); | |||||
| }; | |||||
| export default Apparel; | |||||
| export async function getServerSideProps(context) { | |||||
| var apparel = []; | |||||
| var asia = []; | |||||
| var basic = []; | |||||
| var merchand = []; | |||||
| var maxi = []; | |||||
| var rainsuit = []; | |||||
| var motogp = []; | |||||
| var offroad = []; | |||||
| var filter = context.query.filter||""; | |||||
| var selected = ""; | |||||
| const backend = process.env.BACKEND_SERVER_URI; | |||||
| var res = await GetDataApparel.GetApparel(filter); | |||||
| if (res["STATUS"] === 1) { | |||||
| apparel = res["DATA"]["apparels"]; | |||||
| if (filter !=""){ | |||||
| selected = apparel.filter((i)=>i.name==filter); | |||||
| } | |||||
| } | |||||
| var res = await GetDataApparel.GetApparel46Asia(filter); | |||||
| if (res["STATUS"] === 1) { | |||||
| asia = res["DATA"]["apparels"]; | |||||
| if (filter !=""){ | |||||
| selected = asia.filter((i)=>i.name==filter); | |||||
| } | |||||
| } | |||||
| var res = await GetDataApparel.GetApparelBasic(filter); | |||||
| if (res["STATUS"] === 1) { | |||||
| basic = res["DATA"]["apparels"]; | |||||
| if (filter !=""){ | |||||
| selected = basic.filter((i)=>i.name==filter); | |||||
| } | |||||
| } | |||||
| var res = await GetDataApparel.GetApparelMerchandise(filter); | |||||
| if (res["STATUS"] === 1) { | |||||
| merchand = res["DATA"]["apparels"]; | |||||
| if (filter !=""){ | |||||
| selected = merchand.filter((i)=>i.name==filter); | |||||
| } | |||||
| } | |||||
| var res = await GetDataApparel.GetApparelMaxi(filter); | |||||
| if (res["STATUS"] === 1) { | |||||
| maxi = res["DATA"]["apparels"]; | |||||
| if (filter !=""){ | |||||
| selected = maxi.filter((i)=>i.name==filter); | |||||
| } | |||||
| } | |||||
| var res = await GetDataApparel.GetApparelRainSuit(filter); | |||||
| if (res["STATUS"] === 1) { | |||||
| rainsuit = res["DATA"]["apparels"]; | |||||
| if (filter !=""){ | |||||
| selected = rainsuit.filter((i)=>i.name==filter); | |||||
| } | |||||
| } | |||||
| var res = await GetDataApparel.GetApparelMotoGP(filter); | |||||
| if (res["STATUS"] === 1) { | |||||
| motogp = res["DATA"]["apparels"]; | |||||
| if (filter !=""){ | |||||
| selected = motogp.filter((i)=>i.name==filter); | |||||
| } | |||||
| } | |||||
| var res = await GetDataApparel.GetApparelOffRoad(filter); | |||||
| if (res["STATUS"] === 1) { | |||||
| offroad = res["DATA"]["apparels"]; | |||||
| if (filter !=""){ | |||||
| selected = offroad.filter((i)=>i.name==filter); | |||||
| } | |||||
| } | |||||
| return { | |||||
| props: { selected, apparel, asia, basic, merchand, maxi, rainsuit, motogp, offroad, backend }, // will be passed to the page component as props | |||||
| }; | |||||
| } | |||||
| @@ -0,0 +1,54 @@ | |||||
| 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/HeaderLinks.js"; | |||||
| import Footer from "components/Footer/Footer.js"; | |||||
| import ApparelDetail from "pages-sections/yamaha/product/apparel_details.js"; | |||||
| import Parallax from "components/Parallax/Parallax.js"; | |||||
| import styles from "assets/jss/nextjs-material-kit/pages/components.js"; | |||||
| import GetDetailApparel from "../../../api/product/apparel.js" | |||||
| const useStyles = makeStyles(styles); | |||||
| const ApparelDetails = function ({ backend, detailapparel, ...props }) { | |||||
| const classes = useStyles(); | |||||
| const { ...rest } = props; | |||||
| return ( | |||||
| <div> | |||||
| <Header | |||||
| rightLinks={<HeaderLinks/>} | |||||
| fixed | |||||
| color="info" | |||||
| changeColorOnScroll={{ | |||||
| height: 400, | |||||
| color: "white" | |||||
| }} | |||||
| {...rest} | |||||
| /> | |||||
| <Parallax image={require("assets/img/yamalube.jpg")} width="200px"/> | |||||
| <div className={classNames(classes.main, classes.mainRaised)}> | |||||
| <ApparelDetail detailapparel={detailapparel} backend={backend}/> | |||||
| </div> | |||||
| <Footer /> | |||||
| </div> | |||||
| ); | |||||
| } | |||||
| export default ApparelDetails; | |||||
| export async function getServerSideProps(context) { | |||||
| var {query} = context; | |||||
| var detailapparel = []; | |||||
| const backend = process.env.BACKEND_SERVER_URI; | |||||
| var res = await GetDetailApparel.GetDetailApparel(query.s||0); | |||||
| if (res["STATUS"] === 1) { | |||||
| detailapparel = res["DATA"]["apparels"]; | |||||
| } | |||||
| return { | |||||
| props: { detailapparel, backend }, // will be passed to the page component as props | |||||
| }; | |||||
| } | |||||
| @@ -0,0 +1,135 @@ | |||||
| import React from "react"; | |||||
| import classNames from "classnames"; | |||||
| import { makeStyles } from "@material-ui/core/styles"; | |||||
| import { QueryClient, QueryClientProvider, useQuery } from 'react-query' | |||||
| import Header from "components/Header/Header.js"; | |||||
| import HeaderLinks from "components/Header/HeaderLinks.js"; | |||||
| import Footer from "components/Footer/Footer.js"; | |||||
| import Parallax from "components/Parallax/Parallax.js"; | |||||
| import styles from "assets/jss/nextjs-material-kit/pages/components.js"; | |||||
| import GetDataHelmet from "../../../api/product/helmet.js" | |||||
| import DataHelmet from "../../../pages-sections/yamaha/product/helmet.js"; | |||||
| import DataSnackbarContent from "../../../pages-sections/yamaha/snackbar.js"; | |||||
| import Router from 'next/router' | |||||
| const useStyles = makeStyles(styles); | |||||
| const queryClient = new QueryClient(); | |||||
| const handleName = values => { | |||||
| Router.push({ | |||||
| pathname: '/yamaha/product/helmet', | |||||
| query: (values&&values.length!=0)?{ filter: values[0]["name"] }:{}, | |||||
| }) | |||||
| } | |||||
| const Helmet = function ({ selected, helmet, mtx, extreme, ranger, backend, fighter, swirl, classic, uno, ...props }) { | |||||
| const classes = useStyles(); | |||||
| const { ...rest } = props; | |||||
| return ( | |||||
| <div> | |||||
| <Header | |||||
| rightLinks={<HeaderLinks />} | |||||
| fixed | |||||
| color="info" | |||||
| changeColorOnScroll={{ | |||||
| height: 400, | |||||
| color: "white", | |||||
| }} | |||||
| {...rest} | |||||
| /> | |||||
| <Parallax image={require("assets/img/yamalube.jpg")} height="200px"/> | |||||
| <div className={classNames(classes.main, classes.mainRaised)}> | |||||
| <QueryClientProvider client={queryClient}> | |||||
| <DataSnackbarContent/> | |||||
| <DataHelmet selected={(selected=="")?null:selected[0]["id"]} handleName={handleName} helmet={helmet} mtx={mtx} extreme={extreme} ranger={ranger} fighter={fighter} swirl={swirl} classic={classic} uno={uno} backend={backend} /> | |||||
| </QueryClientProvider> | |||||
| </div> | |||||
| <Footer /> | |||||
| </div> | |||||
| ); | |||||
| }; | |||||
| export default Helmet; | |||||
| export async function getServerSideProps(context) { | |||||
| var helmet = []; | |||||
| var mtx = []; | |||||
| var extreme = []; | |||||
| var ranger = []; | |||||
| var fighter = []; | |||||
| var swirl = []; | |||||
| var classic = []; | |||||
| var uno = []; | |||||
| var filter = context.query.filter||""; | |||||
| var selected = ""; | |||||
| const backend = process.env.BACKEND_SERVER_URI; | |||||
| var res = await GetDataHelmet.GetHelmetRConcepts(filter); | |||||
| if (res["STATUS"] === 1) { | |||||
| helmet = res["DATA"]["helmets"]; | |||||
| if (filter !=""){ | |||||
| selected = helmet.filter((i)=>i.name==filter); | |||||
| } | |||||
| } | |||||
| var res = await GetDataHelmet.GetHelmetMTX(filter); | |||||
| if (res["STATUS"] === 1) { | |||||
| mtx = res["DATA"]["helmets"]; | |||||
| if (filter !=""){ | |||||
| selected = mtx.filter((i)=>i.name==filter); | |||||
| } | |||||
| } | |||||
| var res = await GetDataHelmet.GetHelmetExtreme(filter); | |||||
| if (res["STATUS"] === 1) { | |||||
| extreme = res["DATA"]["helmets"]; | |||||
| if (filter !=""){ | |||||
| selected = extreme.filter((i)=>i.name==filter); | |||||
| } | |||||
| } | |||||
| var res = await GetDataHelmet.GetHelmetRanger(filter); | |||||
| if (res["STATUS"] === 1) { | |||||
| ranger = res["DATA"]["helmets"]; | |||||
| if (filter !=""){ | |||||
| selected = ranger.filter((i)=>i.name==filter); | |||||
| } | |||||
| } | |||||
| var res = await GetDataHelmet.GetHelmetFighter(filter); | |||||
| if (res["STATUS"] === 1) { | |||||
| fighter = res["DATA"]["helmets"]; | |||||
| if (filter !=""){ | |||||
| selected = fighter.filter((i)=>i.name==filter); | |||||
| } | |||||
| } | |||||
| var res = await GetDataHelmet.GetHelmetSwirl(filter); | |||||
| if (res["STATUS"] === 1) { | |||||
| swirl = res["DATA"]["helmets"]; | |||||
| if (filter !=""){ | |||||
| selected = swirl.filter((i)=>i.name==filter); | |||||
| } | |||||
| } | |||||
| var res = await GetDataHelmet.GetHelmetClassic(filter); | |||||
| if (res["STATUS"] === 1) { | |||||
| classic = res["DATA"]["helmets"]; | |||||
| if (filter !=""){ | |||||
| selected = classic.filter((i)=>i.name==filter); | |||||
| } | |||||
| } | |||||
| var res = await GetDataHelmet.GetHelmetUno(filter); | |||||
| if (res["STATUS"] === 1) { | |||||
| uno = res["DATA"]["helmets"]; | |||||
| if (filter !=""){ | |||||
| selected = uno.filter((i)=>i.name==filter); | |||||
| } | |||||
| } | |||||
| return { | |||||
| props: { selected, helmet, mtx, extreme, ranger, fighter, swirl, classic, uno, backend }, // will be passed to the page component as props | |||||
| }; | |||||
| } | |||||
| @@ -0,0 +1,55 @@ | |||||
| 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/HeaderLinks.js"; | |||||
| import Footer from "components/Footer/Footer.js"; | |||||
| import HelmetDetail from "pages-sections/yamaha/product/helmet_details.js"; | |||||
| import Parallax from "components/Parallax/Parallax.js"; | |||||
| import styles from "assets/jss/nextjs-material-kit/pages/components.js"; | |||||
| import GetDetailHelmet from "../../../api/product/helmet.js" | |||||
| const useStyles = makeStyles(styles); | |||||
| const HelmetDetails = function ({ backend, detailhelmet, ...props }) { | |||||
| const classes = useStyles(); | |||||
| const { ...rest } = props; | |||||
| return ( | |||||
| <div> | |||||
| <Header | |||||
| rightLinks={<HeaderLinks/>} | |||||
| fixed | |||||
| color="info" | |||||
| changeColorOnScroll={{ | |||||
| height: 400, | |||||
| color: "white" | |||||
| }} | |||||
| {...rest} | |||||
| /> | |||||
| <Parallax image={require("assets/img/yamalube.jpg")} width="200px"/> | |||||
| <div className={classNames(classes.main, classes.mainRaised)}> | |||||
| <HelmetDetail detailhelmet={detailhelmet} backend={backend}/> | |||||
| </div> | |||||
| <Footer /> | |||||
| </div> | |||||
| ); | |||||
| } | |||||
| export default HelmetDetails; | |||||
| export async function getServerSideProps(context) { | |||||
| var {query} = context; | |||||
| var detailhelmet = []; | |||||
| const backend = process.env.BACKEND_SERVER_URI; | |||||
| var res = await GetDetailHelmet.GetDetailHelmet(query.s||0); | |||||
| if (res["STATUS"] === 1) { | |||||
| detailhelmet = res["DATA"]["helmets"]; | |||||
| } | |||||
| console.log(detailhelmet); | |||||
| return { | |||||
| props: { detailhelmet, backend }, // will be passed to the page component as props | |||||
| }; | |||||
| } | |||||
| @@ -0,0 +1,129 @@ | |||||
| 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/HeaderLinks.js"; | |||||
| import Footer from "components/Footer/Footer.js"; | |||||
| import DataProduct from "pages-sections/yamaha/product/product.js"; | |||||
| import Parallax from "components/Parallax/Parallax.js"; | |||||
| import styles from "assets/jss/nextjs-material-kit/pages/components.js"; | |||||
| import Getproduct from "../../../api/product/product.js"; | |||||
| const useStyles = makeStyles(styles); | |||||
| const Product = function ({ | |||||
| backend, | |||||
| maxi, | |||||
| matic, | |||||
| naked, | |||||
| sport, | |||||
| offroad, | |||||
| moped, | |||||
| monsterenergy, | |||||
| cbu, | |||||
| ...props | |||||
| }) { | |||||
| const classes = useStyles(); | |||||
| const { ...rest } = props; | |||||
| return ( | |||||
| <div> | |||||
| <Header | |||||
| rightLinks={<HeaderLinks />} | |||||
| 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)}> | |||||
| <DataProduct | |||||
| maxi={maxi} | |||||
| matic={matic} | |||||
| naked={naked} | |||||
| sport={sport} | |||||
| offroad={offroad} | |||||
| moped={moped} | |||||
| monsterenergy={monsterenergy} | |||||
| cbu={cbu} | |||||
| backend={backend} | |||||
| /> | |||||
| </div> | |||||
| <Footer /> | |||||
| </div> | |||||
| ); | |||||
| }; | |||||
| export default Product; | |||||
| export async function getServerSideProps(context) { | |||||
| var maxi = []; | |||||
| var matic = []; | |||||
| var naked = []; | |||||
| var sport = []; | |||||
| var offroad = []; | |||||
| var moped = []; | |||||
| var monsterenergy = []; | |||||
| var cbu = []; | |||||
| const backend = process.env.BACKEND_SERVER_URI; | |||||
| var res = await Getproduct.GetProductMaxi(); | |||||
| if (res["STATUS"] === 1) { | |||||
| maxi = res["DATA"]["products"]; | |||||
| } | |||||
| var res = await Getproduct.GetProductMatic(); | |||||
| if (res["STATUS"] === 1) { | |||||
| matic = res["DATA"]["products"]; | |||||
| } | |||||
| var res = await Getproduct.GetProductNaked(); | |||||
| if (res["STATUS"] === 1) { | |||||
| naked = res["DATA"]["products"]; | |||||
| } | |||||
| var res = await Getproduct.GetProductSport(); | |||||
| if (res["STATUS"] === 1) { | |||||
| sport = res["DATA"]["products"]; | |||||
| } | |||||
| var res = await Getproduct.GetProductOffRoad(); | |||||
| if (res["STATUS"] === 1) { | |||||
| offroad = res["DATA"]["products"]; | |||||
| } | |||||
| var res = await Getproduct.GetProductMoped(); | |||||
| if (res["STATUS"] === 1) { | |||||
| moped = res["DATA"]["products"]; | |||||
| } | |||||
| var res = await Getproduct.GetProductMonsterEnergy(); | |||||
| if (res["STATUS"] === 1) { | |||||
| monsterenergy = res["DATA"]["products"]; | |||||
| } | |||||
| var res = await Getproduct.GetProductCBU(); | |||||
| if (res["STATUS"] === 1) { | |||||
| cbu = res["DATA"]["products"]; | |||||
| } | |||||
| console.log(cbu); | |||||
| return { | |||||
| props: { | |||||
| maxi, | |||||
| matic, | |||||
| naked, | |||||
| sport, | |||||
| offroad, | |||||
| moped, | |||||
| monsterenergy, | |||||
| cbu, | |||||
| backend, | |||||
| }, // will be passed to the page component as props | |||||
| }; | |||||
| } | |||||
| @@ -0,0 +1,54 @@ | |||||
| 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/HeaderLinks.js"; | |||||
| import Footer from "components/Footer/Footer.js"; | |||||
| import ProductDetail from "pages-sections/yamaha/product/product_details.js"; | |||||
| import Parallax from "components/Parallax/Parallax.js"; | |||||
| import styles from "assets/jss/nextjs-material-kit/pages/components.js"; | |||||
| import GetDetailproduct from "../../../api/product/product.js" | |||||
| const useStyles = makeStyles(styles); | |||||
| const ProductDetails = function ({ backend, detailproduct, ...props }) { | |||||
| const classes = useStyles(); | |||||
| const { ...rest } = props; | |||||
| return ( | |||||
| <div> | |||||
| <Header | |||||
| rightLinks={<HeaderLinks/>} | |||||
| 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)}> | |||||
| <ProductDetail detailproduct={detailproduct} backend={backend}/> | |||||
| </div> | |||||
| <Footer /> | |||||
| </div> | |||||
| ); | |||||
| } | |||||
| export default ProductDetails; | |||||
| export async function getServerSideProps(context) { | |||||
| var {query} = context; | |||||
| var detailproduct = []; | |||||
| const backend = process.env.BACKEND_SERVER_URI; | |||||
| var res = await GetDetailproduct.GetDetailProduct(query.s||0); | |||||
| if (res["STATUS"] === 1) { | |||||
| detailproduct = res["DATA"]["products"]; | |||||
| } | |||||
| return { | |||||
| props: { detailproduct, backend }, // will be passed to the page component as props | |||||
| }; | |||||
| } | |||||
| @@ -0,0 +1,73 @@ | |||||
| import React from "react"; | |||||
| import classNames from "classnames"; | |||||
| import { makeStyles } from "@material-ui/core/styles"; | |||||
| import { QueryClient, QueryClientProvider, useQuery } from 'react-query' | |||||
| import Header from "components/Header/Header.js"; | |||||
| import HeaderLinks from "components/Header/HeaderLinks.js"; | |||||
| import Footer from "components/Footer/Footer.js"; | |||||
| import Parallax from "components/Parallax/Parallax.js"; | |||||
| import styles from "assets/jss/nextjs-material-kit/pages/components.js"; | |||||
| import GetDataYamalube from "../../../api/product/accessories.js"; | |||||
| import DataYamalube from "../../../pages-sections/yamaha/product/yamalube.js"; | |||||
| import DataSnackbarContent from "../../../pages-sections/yamaha/snackbar.js"; | |||||
| import Router from 'next/router' | |||||
| const useStyles = makeStyles(styles); | |||||
| const queryClient = new QueryClient(); | |||||
| const handleName = values => { | |||||
| Router.push({ | |||||
| pathname: '/yamaha/product/yamalube', | |||||
| query: (values&&values.length!=0)?{ filter: values[0]["name"] }:{}, | |||||
| }) | |||||
| } | |||||
| const Yamalube = function ({ selected, yamalube, backend, ...props }) { | |||||
| const classes = useStyles(); | |||||
| const { ...rest } = props; | |||||
| return ( | |||||
| <div> | |||||
| <Header | |||||
| rightLinks={<HeaderLinks />} | |||||
| fixed | |||||
| color="info" | |||||
| changeColorOnScroll={{ | |||||
| height: 400, | |||||
| color: "white", | |||||
| }} | |||||
| {...rest} | |||||
| /> | |||||
| <Parallax image={require("assets/img/yamalube.jpg")} height="200px"/> | |||||
| <div className={classNames(classes.main, classes.mainRaised)}> | |||||
| <QueryClientProvider client={queryClient}> | |||||
| <DataSnackbarContent/> | |||||
| <DataYamalube selected={(selected=="")?null:selected[0]["id"]} handleName={handleName} yamalube={yamalube} backend={backend} /> | |||||
| </QueryClientProvider> | |||||
| </div> | |||||
| <Footer /> | |||||
| </div> | |||||
| ); | |||||
| }; | |||||
| export default Yamalube; | |||||
| export async function getServerSideProps(context) { | |||||
| var yamalube = []; | |||||
| var filter = context.query.filter||""; | |||||
| var selected = ""; | |||||
| const backend = process.env.BACKEND_SERVER_URI; | |||||
| var res = await GetDataYamalube.GetYamalube(filter); | |||||
| if (res["STATUS"] === 1) { | |||||
| yamalube = res["DATA"]["accessories"]; | |||||
| if (filter !=""){ | |||||
| selected = yamalube.filter((i)=>i.name==filter); | |||||
| } | |||||
| } | |||||
| return { | |||||
| props: { selected, yamalube, backend }, // will be passed to the page component as props | |||||
| }; | |||||
| } | |||||
| @@ -0,0 +1,54 @@ | |||||
| 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/HeaderLinks.js"; | |||||
| import Footer from "components/Footer/Footer.js"; | |||||
| import YamalubeDetail from "pages-sections/yamaha/product/yamalube_details.js"; | |||||
| import Parallax from "components/Parallax/Parallax.js"; | |||||
| import styles from "assets/jss/nextjs-material-kit/pages/components.js"; | |||||
| import GetDetailYamalube from "../../../api/product/accessories.js" | |||||
| const useStyles = makeStyles(styles); | |||||
| const YamalubeDetails = function ({ backend, detailyamalube, ...props }) { | |||||
| const classes = useStyles(); | |||||
| const { ...rest } = props; | |||||
| return ( | |||||
| <div> | |||||
| <Header | |||||
| rightLinks={<HeaderLinks/>} | |||||
| fixed | |||||
| color="info" | |||||
| changeColorOnScroll={{ | |||||
| height: 400, | |||||
| color: "white" | |||||
| }} | |||||
| {...rest} | |||||
| /> | |||||
| <Parallax image={require("assets/img/yamalube.jpg")} width="200px"/> | |||||
| <div className={classNames(classes.main, classes.mainRaised)}> | |||||
| <YamalubeDetail detailyamalube={detailyamalube} backend={backend}/> | |||||
| </div> | |||||
| <Footer /> | |||||
| </div> | |||||
| ); | |||||
| } | |||||
| export default YamalubeDetails; | |||||
| export async function getServerSideProps(context) { | |||||
| var {query} = context; | |||||
| var detailyamalube = []; | |||||
| const backend = process.env.BACKEND_SERVER_URI; | |||||
| var res = await GetDetailYamalube.GetDetailAccessories(query.s||0); | |||||
| if (res["STATUS"] === 1) { | |||||
| detailyamalube = res["DATA"]["accessories"]; | |||||
| } | |||||
| return { | |||||
| props: { detailyamalube, backend }, // will be passed to the page component as props | |||||
| }; | |||||
| } | |||||
| @@ -0,0 +1,74 @@ | |||||
| import React from "react"; | |||||
| import classNames from "classnames"; | |||||
| import { makeStyles } from "@material-ui/core/styles"; | |||||
| import { QueryClient, QueryClientProvider, useQuery } from 'react-query' | |||||
| import Header from "components/Header/Header.js"; | |||||
| import HeaderLinks from "components/Header/HeaderLinks.js"; | |||||
| import Footer from "components/Footer/Footer.js"; | |||||
| import Parallax from "components/Parallax/Parallax.js"; | |||||
| import styles from "assets/jss/nextjs-material-kit/pages/components.js"; | |||||
| import GetDataYGP from "../../../api/product/accessories.js"; | |||||
| import DataYGP from "../../../pages-sections/yamaha/product/ygp.js"; | |||||
| import DataSnackbarContent from "../../../pages-sections/yamaha/snackbar.js"; | |||||
| import Router from 'next/router' | |||||
| const useStyles = makeStyles(styles); | |||||
| const queryClient = new QueryClient(); | |||||
| const handleName = values => { | |||||
| Router.push({ | |||||
| pathname: '/yamaha/product/ygp', | |||||
| query: (values&&values.length!=0)?{ filter: values[0]["name"] }:{}, | |||||
| }) | |||||
| } | |||||
| const YGP = function ({ selected,ygp, backend, ...props }) { | |||||
| const classes = useStyles(); | |||||
| const { ...rest } = props; | |||||
| return ( | |||||
| <div> | |||||
| <Header | |||||
| rightLinks={<HeaderLinks />} | |||||
| fixed | |||||
| color="info" | |||||
| changeColorOnScroll={{ | |||||
| height: 400, | |||||
| color: "white", | |||||
| }} | |||||
| {...rest} | |||||
| /> | |||||
| <Parallax image={require("assets/img/yamalube.jpg")} height="200px"/> | |||||
| <div className={classNames(classes.main, classes.mainRaised)}> | |||||
| <QueryClientProvider client={queryClient}> | |||||
| <DataSnackbarContent/> | |||||
| <DataYGP selected={(selected=="")?null:selected[0]["id"]} handleName={handleName} ygp={ygp} backend={backend} /> | |||||
| </QueryClientProvider> | |||||
| </div> | |||||
| <Footer /> | |||||
| </div> | |||||
| ); | |||||
| }; | |||||
| export default YGP; | |||||
| export async function getServerSideProps(context) { | |||||
| var ygp = []; | |||||
| var filter = context.query.filter||""; | |||||
| var selected = ""; | |||||
| const backend = process.env.BACKEND_SERVER_URI; | |||||
| var res = await GetDataYGP.GetYGP(filter); | |||||
| if (res["STATUS"] === 1) { | |||||
| ygp = res["DATA"]["accessories"]; | |||||
| if (filter !=""){ | |||||
| selected = ygp.filter((i)=>i.name==filter); | |||||
| } | |||||
| } | |||||
| return { | |||||
| props: { selected, ygp, backend }, // will be passed to the page component as props | |||||
| }; | |||||
| } | |||||
| @@ -0,0 +1,54 @@ | |||||
| 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/HeaderLinks.js"; | |||||
| import Footer from "components/Footer/Footer.js"; | |||||
| import YGPDetail from "pages-sections/yamaha/product/ygp_details.js"; | |||||
| import Parallax from "components/Parallax/Parallax.js"; | |||||
| import styles from "assets/jss/nextjs-material-kit/pages/components.js"; | |||||
| import GetDetailYGP from "../../../api/product/accessories.js" | |||||
| const useStyles = makeStyles(styles); | |||||
| const YGPDetails = function ({ backend, detailygp, ...props }) { | |||||
| const classes = useStyles(); | |||||
| const { ...rest } = props; | |||||
| return ( | |||||
| <div> | |||||
| <Header | |||||
| rightLinks={<HeaderLinks/>} | |||||
| fixed | |||||
| color="info" | |||||
| changeColorOnScroll={{ | |||||
| height: 400, | |||||
| color: "white" | |||||
| }} | |||||
| {...rest} | |||||
| /> | |||||
| <Parallax image={require("assets/img/yamalube.jpg")} width="200px"/> | |||||
| <div className={classNames(classes.main, classes.mainRaised)}> | |||||
| <YGPDetail detailygp={detailygp} backend={backend}/> | |||||
| </div> | |||||
| <Footer /> | |||||
| </div> | |||||
| ); | |||||
| } | |||||
| export default YGPDetails; | |||||
| export async function getServerSideProps(context) { | |||||
| var {query} = context; | |||||
| var detailygp = []; | |||||
| const backend = process.env.BACKEND_SERVER_URI; | |||||
| var res = await GetDetailYGP.GetDetailAccessories(query.s||0); | |||||
| if (res["STATUS"] === 1) { | |||||
| detailygp = res["DATA"]["accessories"]; | |||||
| } | |||||
| return { | |||||
| props: { detailygp, backend }, // will be passed to the page component as props | |||||
| }; | |||||
| } | |||||