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.
 
 

99 lines
3.0 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 HeaderSuzuki from "components/Header/HeaderSuzuki.js";
  6. import Parallax from "components/Parallax/Parallax.js";
  7. import styles from "assets/jss/nextjs-material-kit/pages/components.js";
  8. import FooterSuzuki from "components/Footer/FooterSuzuki.js";
  9. import Getservices from "api/home/service.js";
  10. import Getcarousels from "api/home/carousel.js";
  11. import DataSnackbarContent from "pages-sections/suzuki/snackbar.js";
  12. import DataCarousel from "pages-sections/suzuki/home/carousel.js";
  13. import DataService from "pages-sections/suzuki/home/service.js";
  14. import DataSosmed from "pages-sections/suzuki/home/sosmed.js";
  15. import DataFeature from "pages-sections/suzuki/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. carousels,
  24. user,
  25. ...props
  26. }) {
  27. const classes = useStyles();
  28. const { ...rest } = props;
  29. <DataService service={props.service} />;
  30. return (
  31. <div>
  32. <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/font-awesome/4.5.0/css/font-awesome.min.css"/>
  33. <Header
  34. leftLinks={<HeaderSuzuki username={user} />}
  35. fixed
  36. color="dark"
  37. changeColorOnScroll={{
  38. height: 400,
  39. color: "white",
  40. }}
  41. {...rest}
  42. />
  43. <Parallax
  44. image={require("assets/img/dekstop_pandemi.jpg")}
  45. styles={{ marginTop: "50px" }}
  46. />
  47. <div className={classNames(classes.main, classes.mainRaised)}>
  48. <DataSnackbarContent />
  49. <DataCarousel carousels={carousels} backend={backend} />
  50. <DataService service={service} backend={backend} />
  51. <a href="https://wa.me/+6287797315685" class="float" target="_blank">
  52. <i class="fa fa-whatsapp my-float"></i>
  53. </a>
  54. </div>
  55. <FooterSuzuki />
  56. </div>
  57. );
  58. };
  59. export async function getServerSideProps(context) {
  60. var businessPartners = [];
  61. var service = [];
  62. var carousels = [];
  63. const backend = process.env.BACKEND_SERVER_URI;
  64. var { req, resp } = context;
  65. const cookies = new Cookies(req, resp);
  66. var user = "";
  67. var userObj = (await cookies.get("user"))
  68. ? JSON.parse(await cookies.get("user"))
  69. : null;
  70. if (userObj) {
  71. let sessionId = userObj["partners_login_states"].filter(function (i) {
  72. return (
  73. i.business_partner && i.business_partner.name.toUpperCase() == "SUZUKI"
  74. );
  75. });
  76. if (sessionId.length != 0) user = userObj["username"];
  77. }
  78. var res = await Getservices.GetservicesSuzuki();
  79. if (res["STATUS"] === 1) {
  80. service = res["DATA"]["services"];
  81. }
  82. var res = await Getcarousels.GetCarouselsSuzuki();
  83. if (res["STATUS"] === 1) {
  84. carousels = res["DATA"]["carousels"];
  85. }
  86. return {
  87. props: { businessPartners, service, carousels, backend, user }, // will be passed to the page component as props
  88. };
  89. }
  90. export default Home;