Вы не можете выбрать более 25 тем Темы должны начинаться с буквы или цифры, могут содержать дефисы(-) и должны содержать не более 35 символов.

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