Non puoi selezionare più di 25 argomenti Gli argomenti devono iniziare con una lettera o un numero, possono includere trattini ('-') e possono essere lunghi fino a 35 caratteri.

115 righe
3.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 Parallax from "components/Parallax/Parallax.js";
  7. import styles from "assets/jss/nextjs-material-kit/pages/components.js";
  8. import Footer from "components/Footer/Footer.js";
  9. import GetbusinessPartners from "../../api/home/businessPartner.js";
  10. import Getservices from "../../api/home/service.js";
  11. import Getcarousels from "../../api/home/carousel.js";
  12. import DataSnackbarContent from "../../pages-sections/yamaha/snackbar.js";
  13. import DataCarousel from "../../pages-sections/yamaha/home/carousel.js";
  14. import DataService from "../../pages-sections/yamaha/home/service.js";
  15. import DataBusinessPartner from "../../pages-sections/yamaha/home/business_partner.js";
  16. import DataSosmed from "../../pages-sections/yamaha/home/sosmed.js";
  17. import CoreValue from "../../pages-sections/yamaha/home/core_value.js";
  18. import DataFeature from "../../pages-sections/yamaha/home/feature.js";
  19. import stylecss from "pages/home.css";
  20. import Cookies from "cookies";
  21. const useStyles = makeStyles(styles);
  22. const Home = function ({
  23. backend,
  24. businessPartners,
  25. service,
  26. carousel,
  27. user,
  28. ...props
  29. }) {
  30. const classes = useStyles();
  31. const { ...rest } = props;
  32. <DataService service={props.service} />;
  33. return (
  34. <div>
  35. <Header
  36. rightLinks={<HeaderLinks username={user} />}
  37. fixed
  38. color="dark"
  39. changeColorOnScroll={{
  40. height: 400,
  41. color: "white",
  42. }}
  43. {...rest}
  44. />
  45. <Parallax
  46. image={require("assets/img/Promotion_2-1.jpg")}
  47. styles={{ marginTop: "50px" }}
  48. />
  49. <div className={classNames(classes.main, classes.mainRaised)}>
  50. <DataSnackbarContent />
  51. {/* <CoreValue /> */}
  52. <DataCarousel carousel={carousel} backend={backend} />
  53. <DataService service={service} backend={backend} />
  54. <DataFeature />
  55. {/* <DataBusinessPartner
  56. businessPartners={businessPartners}
  57. backend={backend}
  58. /> */}
  59. {/* <DataSosmed /> */}
  60. <a href="https://wa.me/087797315685" target="_blank" class="float">
  61. <i class="fa fa-phone my-float"></i>
  62. </a>
  63. </div>
  64. <Footer />
  65. </div>
  66. );
  67. };
  68. export async function getServerSideProps(context) {
  69. var businessPartners = [];
  70. var service = [];
  71. var carousel = [];
  72. const backend = process.env.BACKEND_SERVER_URI;
  73. var { req, resp } = context;
  74. const cookies = new Cookies(req, resp);
  75. var user = "";
  76. var userObj = (await cookies.get("user"))
  77. ? JSON.parse(await cookies.get("user"))
  78. : null;
  79. if (userObj) {
  80. let sessionId = userObj["partners_login_states"].filter(function (i) {
  81. return (
  82. i.business_partner && i.business_partner.name.toUpperCase() == "YAMAHA"
  83. );
  84. });
  85. if (sessionId.length != 0) user = userObj["username"];
  86. }
  87. var res = await GetbusinessPartners.GetbusinessPartners();
  88. if (res["STATUS"] === 1) {
  89. businessPartners = res["DATA"]["businessPartners"];
  90. }
  91. var res = await Getservices.GetservicesYamaha();
  92. if (res["STATUS"] === 1) {
  93. service = res["DATA"]["services"];
  94. }
  95. var res = await Getcarousels.GetCarouselsYamaha();
  96. if (res["STATUS"] === 1) {
  97. carousel = res["DATA"]["carousels"];
  98. }
  99. return {
  100. props: { businessPartners, service, carousel, backend, user }, // will be passed to the page component as props
  101. };
  102. }
  103. export default Home;