Du kannst nicht mehr als 25 Themen auswählen Themen müssen entweder mit einem Buchstaben oder einer Ziffer beginnen. Sie können Bindestriche („-“) enthalten und bis zu 35 Zeichen lang sein.
 
 

82 Zeilen
2.5 KiB

  1. import React from "react";
  2. import classNames from "classnames";
  3. import { makeStyles } from "@material-ui/core/styles";
  4. import Header from "components/Header/Header.js";
  5. import HeaderLinks from "components/Header/HeaderLinks.js";
  6. import Footer from "components/Footer/Footer.js";
  7. import ProductDetail from "pages-sections/yamaha/product/product_details.js";
  8. import Parallax from "components/Parallax/Parallax.js";
  9. import styles from "assets/jss/nextjs-material-kit/pages/components.js";
  10. import GetDetailproduct from "../../../api/product/product.js"
  11. import Cookies from "cookies";
  12. import stylecss from "pages/home.css";
  13. const useStyles = makeStyles(styles);
  14. const ProductDetails = function ({ backend, detailproduct, user, color, ...props }) {
  15. const classes = useStyles();
  16. const { ...rest } = props;
  17. return (
  18. <div>
  19. <Header
  20. leftLinks={<HeaderLinks username={user} />}
  21. fixed
  22. color="info"
  23. changeColorOnScroll={{
  24. height: 400,
  25. color: "white"
  26. }}
  27. {...rest}
  28. />
  29. <Parallax image={require("assets/img/Promotion_2-1.jpg")} width="200px"/>
  30. <div className={classNames(classes.main, classes.mainRaised)}>
  31. <ProductDetail detailproduct={detailproduct} backend={backend} color={color}/>
  32. <a href="https://wa.me/+6287797315685" class="float" target="_blank">
  33. <i class="fa fa-whatsapp my-float"></i>
  34. </a>
  35. </div>
  36. <Footer />
  37. </div>
  38. );
  39. }
  40. export default ProductDetails;
  41. export async function getServerSideProps(context) {
  42. var {query} = context;
  43. var detailproduct = [];
  44. var color = [];
  45. const backend = process.env.BACKEND_SERVER_URI;
  46. var { req, resp } = context;
  47. const cookies = new Cookies(req, resp);
  48. var user = "";
  49. var userObj = (await cookies.get("user"))
  50. ? JSON.parse(await cookies.get("user"))
  51. : null;
  52. if (userObj) {
  53. let sessionId = userObj["partners_login_states"].filter(function (i) {
  54. return (
  55. i.business_partner && i.business_partner.name.toUpperCase() == "YAMAHA"
  56. );
  57. });
  58. if (sessionId.length != 0) user = userObj["username"];
  59. }
  60. var res = await GetDetailproduct.GetProductImgColor(query.s||0);
  61. if (res["STATUS"] === 1) {
  62. color = res["DATA"]["productImageColors"];
  63. }
  64. var res = await GetDetailproduct.GetDetailProduct(query.s||0);
  65. if (res["STATUS"] === 1) {
  66. detailproduct = res["DATA"]["products"];
  67. }
  68. return {
  69. props: { detailproduct, backend, color, user }, // will be passed to the page component as props
  70. };
  71. }