25개 이상의 토픽을 선택하실 수 없습니다. Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 

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