25개 이상의 토픽을 선택하실 수 없습니다. Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 

77 lines
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/HeaderSuzuki.js";
  6. import Footer from "components/Footer/FooterSuzuki.js";
  7. import Checkout from "pages-sections/suzuki/cart/checkout.js";
  8. import Parallax from "components/Parallax/Parallax.js";
  9. import styles from "assets/jss/nextjs-material-kit/pages/components.js";
  10. import GetCheckoutproduct from "api/cart/checkout.js";
  11. import GetCheckoutprofile from "api/profile/profile.js";
  12. import Cookies from "cookies";
  13. const useStyles = makeStyles(styles);
  14. const ProductDetails = function ({ backend, checkoutproduct, checkoutprofile, user, ...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. <Checkout checkoutproduct={checkoutproduct} checkoutprofile={checkoutprofile} backend={backend} />
  32. </div>
  33. <Footer />
  34. </div>
  35. );
  36. }
  37. export default ProductDetails;
  38. export async function getServerSideProps(context) {
  39. var {query} = context;
  40. var checkoutproduct = [];
  41. var checkoutprofile = [];
  42. const backend = process.env.BACKEND_SERVER_URI;
  43. var { req, resp } = context;
  44. const cookies = new Cookies(req, resp);
  45. var user = "";
  46. var userObj = (await cookies.get("user"))
  47. ? JSON.parse(await cookies.get("user"))
  48. : null;
  49. if (userObj) {
  50. let sessionId = userObj["partners_login_states"].filter(function (i) {
  51. return (
  52. i.business_partner && i.business_partner.name.toUpperCase() == "SUZUKI"
  53. );
  54. });
  55. if (sessionId.length != 0) user = userObj["username"];
  56. }
  57. var res = await GetCheckoutproduct.GetCheckoutproduct(query.s||0);
  58. if (res["STATUS"] === 1) {
  59. checkoutproduct = res["DATA"]["products"];
  60. }
  61. var res = await GetCheckoutprofile.profile();
  62. if (res["STATUS"] === 1) {
  63. checkoutprofile = res["DATA"]["users"];
  64. }
  65. return {
  66. props: { user, checkoutproduct, checkoutprofile, backend }, // will be passed to the page component as props
  67. };
  68. }