You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

76 rivejä
2.2 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 CheckoutContent from '@/components/Yamaha/Shop/Checkout';
  6. import * as Icon from 'react-feather';
  7. import CheckoutProduct from "api/shop/checkout";
  8. import Cookies from "cookies";
  9. const Checkout = function ({ backend, checkout_product, user, provinces, ...props }) {
  10. return (
  11. <>
  12. <Navbar username={user} />
  13. <PageBanner pageTitle="Checkout" />
  14. <CheckoutContent user={user} checkout_product={checkout_product} backend={backend} provinces={provinces}/>
  15. <Footer />
  16. </>
  17. )
  18. }
  19. export default Checkout;
  20. export async function getServerSideProps(context) {
  21. var checkout_product = [];
  22. const backend = process.env.BACKEND_SERVER_URI;
  23. var { req, resp } = context;
  24. const cookies = new Cookies(req, resp);
  25. var user = "";
  26. var userObj = (await cookies.get("user"))
  27. ? JSON.parse(await cookies.get("user"))
  28. : null;
  29. if (userObj) {
  30. let sessionId = userObj["partners_login_states"].filter(function (i) {
  31. return (
  32. i.business_partner &&
  33. i.business_partner.name.toUpperCase() == "YAMAHA"
  34. );
  35. });
  36. if (sessionId.length != 0) user = userObj["username"];
  37. }
  38. var res = await CheckoutProduct.GetCheckoutproduct();
  39. if (res["STATUS"] === 1) {
  40. checkout_product = res["DATA"]["checkouts"];
  41. }
  42. var provinces = [];
  43. var cities = [];
  44. var districts = [];
  45. var villages = [];
  46. var request = require("request-promise");
  47. var provinsi = {
  48. method: "GET",
  49. url: "https://emsifa.github.io/api-wilayah-indonesia/api/provinces.json",
  50. // headers: { key: "f4ac703bb25ada32478d52ef2e1cab7a" },
  51. };
  52. var provinces = await request(provinsi);
  53. // var kota = {
  54. // method: "GET",
  55. // url: "https://emsifa.github.io/api-wilayah-indonesia/api/regencies/{provinceId}.json",
  56. // }
  57. // var cities = await request(kota);
  58. return {
  59. props: { checkout_product, backend, user, provinces }, // will be passed to the page component as props
  60. };
  61. }