Ви не можете вибрати більше 25 тем Теми мають розпочинатися з літери або цифри, можуть містити дефіси (-) і не повинні перевищувати 35 символів.

120 рядки
3.6 KiB

  1. import React from "react";
  2. // nodejs library that concatenates classes
  3. import classNames from "classnames";
  4. // react components for routing our app without refresh
  5. import Link from "next/link";
  6. // @material-ui/core components
  7. import { makeStyles } from "@material-ui/core/styles";
  8. // @material-ui/icons
  9. // core components
  10. import Header from "components/Header/Header.js";
  11. import HeaderLinks from "components/Header/HeaderLinks.js";
  12. import Footer from "components/Footer/Footer.js";
  13. import GridContainer from "components/Grid/GridContainer.js";
  14. import GridItem from "components/Grid/GridItem.js";
  15. import Parallax from "components/Parallax/Parallax.js";
  16. import styles from "assets/jss/nextjs-material-kit/pages/components.js";
  17. import Button from "components/CustomButtons/Button.js";
  18. import GetbusinessPartners from "../api/home/businessPartner.js";
  19. import Getservices from "../api/home/service.js";
  20. import Getcarousels from "../api/home/carousel.js";
  21. import DataSnackbarContent from "../pages-sections/snackbar.js";
  22. import DataCarousel from "../pages-sections/home/carousel.js";
  23. import DataService from "../pages-sections/home/service.js";
  24. import DataBusinessPartner from "../pages-sections/home/business_partner.js";
  25. import CoreValue from "../pages-sections/home/core_value.js";
  26. const useStyles = makeStyles(styles);
  27. const Home = function ({
  28. backend,
  29. businessPartners,
  30. service,
  31. carousel,
  32. ...props
  33. }) {
  34. const classes = useStyles();
  35. const { ...rest } = props;
  36. <DataService service={props.service} />;
  37. return (
  38. <div>
  39. <Header
  40. rightLinks={<HeaderLinks />}
  41. fixed
  42. color="info"
  43. changeColorOnScroll={{
  44. height: 400,
  45. color: "white",
  46. }}
  47. {...rest}
  48. />
  49. <Parallax
  50. image={require("assets/img/welcome.png")}
  51. styles={{ marginTop: "50px" }}
  52. >
  53. <div className={classes.container}>
  54. <GridContainer>
  55. {/* <GridItem>
  56. <div className={classes.brand} align="center">
  57. <h1 className={classes.title}>Thamrin Group</h1>
  58. <h3 className={classes.subtitle}>
  59. A Badass Material Kit based on Material-UI and NextJS.
  60. </h3>
  61. </div>
  62. <Button
  63. href="/login"
  64. className={classes.registerNavLink}
  65. color="info"
  66. box
  67. >
  68. Shop Now
  69. </Button>
  70. </GridItem> */}
  71. </GridContainer>
  72. </div>
  73. </Parallax>
  74. <div className={classNames(classes.main, classes.mainRaised)}>
  75. <DataSnackbarContent />
  76. <CoreValue />
  77. <DataCarousel carousel={carousel} backend={backend} />
  78. <DataService service={service} backend={backend} />
  79. <DataBusinessPartner
  80. businessPartners={businessPartners}
  81. backend={backend}
  82. />
  83. </div>
  84. <Footer />
  85. </div>
  86. );
  87. };
  88. export async function getServerSideProps(context) {
  89. var businessPartners = [];
  90. var service = [];
  91. var carousel = [];
  92. const backend = process.env.BACKEND_SERVER_URI;
  93. var res = await GetbusinessPartners.GetbusinessPartners();
  94. if (res["STATUS"] === 1) {
  95. businessPartners = res["DATA"]["businessPartners"];
  96. }
  97. var res = await Getservices.Getservices();
  98. if (res["STATUS"] === 1) {
  99. service = res["DATA"]["services"];
  100. }
  101. var res = await Getcarousels.GetCarousels();
  102. if (res["STATUS"] === 1) {
  103. carousel = res["DATA"]["carousels"];
  104. }
  105. return {
  106. props: { businessPartners, service, carousel, backend }, // will be passed to the page component as props
  107. };
  108. }
  109. export default Home;