Non puoi selezionare più di 25 argomenti Gli argomenti devono iniziare con una lettera o un numero, possono includere trattini ('-') e possono essere lunghi fino a 35 caratteri.

76 righe
2.5 KiB

  1. import React from "react";
  2. // nodejs library that concatenates classes
  3. import classNames from "classnames";
  4. // @material-ui/core components
  5. import { makeStyles } from "@material-ui/core/styles";
  6. // core components
  7. import Header from "components/Header/Header.js";
  8. import HeaderLinks from "components/Header/HeaderLinks.js";
  9. import Footer from "components/Footer/Footer.js";
  10. import GridContainer from "components/Grid/GridContainer.js";
  11. import GridItem from "components/Grid/GridItem.js";
  12. import Parallax from "components/Parallax/Parallax.js";
  13. import styles from "assets/jss/nextjs-material-kit/pages/components.js";
  14. import GetLatestNews from "../api/latest_news/news.js"
  15. import DataSnackbarContent from "../pages-sections/snackbar.js";
  16. import DetailLatestNews from "../pages-sections/latest_news/news_details.js";
  17. const useStyles = makeStyles(styles);
  18. const detailLatestNews = function ({ backend, news, ...props }) {
  19. const classes = useStyles();
  20. const { ...rest } = props;
  21. <DetailLatestNews news={props.news}/>
  22. return (
  23. <div>
  24. <Header
  25. rightLinks={<HeaderLinks />}
  26. fixed
  27. color="info"
  28. changeColorOnScroll={{
  29. height: 400,
  30. color: "white"
  31. }}
  32. {...rest}
  33. />
  34. <Parallax image={require("assets/img/simulasicicilan.jpg")} width="200px">
  35. <div className={classes.container}>
  36. <GridContainer>
  37. <GridItem>
  38. {/* <div className={classes.brand}>
  39. <h1 className={classes.title}>NextJS Material Kit.</h1>
  40. <h3 className={classes.subtitle}>
  41. A Badass Material Kit based on Material-UI and NextJS.
  42. </h3>
  43. </div> */}
  44. </GridItem>
  45. </GridContainer>
  46. </div>
  47. </Parallax>
  48. <div className={classNames(classes.main, classes.mainRaised)}>
  49. <DataSnackbarContent/>
  50. <DetailLatestNews news={news} backend={backend}/>
  51. </div>
  52. <Footer />
  53. </div>
  54. );
  55. }
  56. export default detailLatestNews;
  57. export async function getServerSideProps(context) {
  58. var {query} = context;
  59. var news = [];
  60. const backend = process.env.BACKEND_SERVER_URI;
  61. var res = await GetLatestNews.GetDetailNews(query.s||0);
  62. if (res["STATUS"] === 1) {
  63. news = res["DATA"]["latestNews"];
  64. }
  65. return {
  66. props: { news, backend }, // will be passed to the page component as props
  67. };
  68. }