Ви не можете вибрати більше 25 тем Теми мають розпочинатися з літери або цифри, можуть містити дефіси (-) і не повинні перевищувати 35 символів.

58 рядки
1.5 KiB

  1. import React from 'react';
  2. import Navbar from "@/components/_App/NavbarYamaha";
  3. import Footer from "@/components/_App/FooterYamaha";
  4. import ProductCard from '@/components/Yamaha/Product/Ygp_Detail';
  5. import GetDetailSparepart from "api/sparepart/sparepart.js";
  6. import Cookies from "cookies";
  7. const Shop = function ({ detailygp, backend, user, ...props }) {
  8. return (
  9. <>
  10. <Navbar />
  11. <ProductCard detailygp={detailygp} backend={backend} user={user} />
  12. <Footer />
  13. </>
  14. )
  15. }
  16. export default Shop;
  17. export async function getServerSideProps(context) {
  18. var {query} = context;
  19. var detailygp = [];
  20. const backend = process.env.BACKEND_SERVER_URI;
  21. console.log("backend :", backend);
  22. var { req, resp } = context;
  23. const cookies = new Cookies(req, resp);
  24. var user = "";
  25. var userObj = (await cookies.get("user"))
  26. ? JSON.parse(await cookies.get("user"))
  27. : null;
  28. if (userObj) {
  29. let sessionId = userObj["partners_login_states"].filter(function (i) {
  30. return (
  31. i.business_partner && i.business_partner.name.toUpperCase() == "YAMAHA"
  32. );
  33. });
  34. if (sessionId.length != 0) user = userObj["username"];
  35. }
  36. var res = await GetDetailSparepart.GetYGPDetail(query.s||0);
  37. if (res["STATUS"] === 1) {
  38. detailygp = res["DATA"]["ygParts"];
  39. }
  40. return {
  41. props: {
  42. detailygp, backend, user,
  43. }, // will be passed to the page component as props
  44. };
  45. }