Não pode escolher mais do que 25 tópicos Os tópicos devem começar com uma letra ou um número, podem incluir traços ('-') e podem ter até 35 caracteres.
 
 

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