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

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