您最多选择25个主题 主题必须以字母或数字开头,可以包含连字符 (-),并且长度不得超过35个字符
 
 

107 行
3.4 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. const useStyles = makeStyles(styles);
  26. const Home = function ({ backend, businessPartners, service, carousel, ...props }) {
  27. const classes = useStyles();
  28. const { ...rest } = props;
  29. <DataService service={props.service}/>
  30. return (
  31. <div>
  32. <Header
  33. rightLinks={<HeaderLinks/>}
  34. fixed
  35. color="info"
  36. changeColorOnScroll={{
  37. height: 400,
  38. color: "white"
  39. }}
  40. {...rest}
  41. />
  42. <Parallax image={require("assets/img/Promotion_2-1.jpg")} width="200px">
  43. <div className={classes.container}>
  44. <GridContainer>
  45. {/* <GridItem>
  46. <div className={classes.brand} align="center">
  47. <h1 className={classes.title}>Thamrin Group</h1>
  48. <h3 className={classes.subtitle}>
  49. A Badass Material Kit based on Material-UI and NextJS.
  50. </h3>
  51. </div>
  52. <Button
  53. href="/login"
  54. className={classes.registerNavLink}
  55. color="info"
  56. box
  57. >
  58. Shop Now
  59. </Button>
  60. </GridItem> */}
  61. </GridContainer>
  62. </div>
  63. </Parallax>
  64. <div className={classNames(classes.main, classes.mainRaised)}>
  65. <DataSnackbarContent />
  66. <DataCarousel carousel={carousel} backend={backend}/>
  67. <DataService service={service} backend={backend}/>
  68. <DataBusinessPartner businessPartners={businessPartners} backend={backend}/>
  69. </div>
  70. <Footer />
  71. </div>
  72. );
  73. }
  74. export async function getServerSideProps(context) {
  75. var businessPartners = [];
  76. var service = [];
  77. var carousel = [];
  78. const backend = process.env.BACKEND_SERVER_URI;
  79. var res = await GetbusinessPartners.GetbusinessPartners();
  80. if (res["STATUS"] === 1) {
  81. businessPartners = res["DATA"]["businessPartners"];
  82. }
  83. var res = await Getservices.Getservices();
  84. if (res["STATUS"] === 1) {
  85. service = res["DATA"]["services"];
  86. }
  87. var res = await Getcarousels.GetCarousels();
  88. if (res["STATUS"] === 1) {
  89. carousel = res["DATA"]["carousels"];
  90. }
  91. console.log(carousel);
  92. return {
  93. props: { businessPartners, service, carousel, backend }, // will be passed to the page component as props
  94. };
  95. }
  96. export default Home;