Não pode escolher mais do que 25 tópicos Os tópicos devem começar com uma letra ou um número, podem incluir traços ('-') e podem ter até 35 caracteres.

62 linhas
1.8 KiB

  1. import React from 'react'
  2. import Navbar from "@/components/_App/NavbarYamaha"
  3. import Footer from "@/components/_App/FooterYamaha"
  4. import PageBanner from '@/components/Common/PageBanner'
  5. import CartContent from '@/components/Yamaha/Shop/Cart'
  6. import GetproductCart from 'api/shop/cart';
  7. import Cookies from "cookies";
  8. const Cart = function ({ cart_product, backend, user, ...props }) {
  9. return (
  10. <>
  11. <Navbar username={user} />
  12. <PageBanner pageTitle="Cart" />
  13. <div className="cart-area ptb-80">
  14. <div className="container">
  15. <div className="row">
  16. <div className="col-lg-12 col-md-12">
  17. <CartContent cart_product={cart_product} backend={backend}/>
  18. </div>
  19. </div>
  20. </div>
  21. </div>
  22. <Footer />
  23. </>
  24. )
  25. }
  26. export default Cart;
  27. export async function getServerSideProps(context) {
  28. var cart_product = [];
  29. const backend = process.env.BACKEND_SERVER_URI;
  30. var { req, resp } = context;
  31. const cookies = new Cookies(req, resp);
  32. var user = "";
  33. var userObj = (await cookies.get("user"))
  34. ? JSON.parse(await cookies.get("user"))
  35. : null;
  36. if (userObj) {
  37. let sessionId = userObj["partners_login_states"].filter(function (i) {
  38. return (
  39. i.business_partner && i.business_partner.name.toUpperCase() == "YAMAHA"
  40. );
  41. });
  42. if (sessionId.length != 0) user = userObj["username"];
  43. }
  44. var res = await GetproductCart.GetCartProduct();
  45. if (res["STATUS"] === 1) {
  46. cart_product = res["DATA"]["carts"];
  47. }
  48. return {
  49. props: { cart_product, backend, user }, // will be passed to the page component as props
  50. };
  51. }