25'ten fazla konu seçemezsiniz Konular bir harf veya rakamla başlamalı, kısa çizgiler ('-') içerebilir ve en fazla 35 karakter uzunluğunda olabilir.
 
 

79 satır
2.5 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 HeaderLinks from "components/Header/HeaderLinks.js";
  6. import Footer from "components/Footer/Footer.js";
  7. import Parallax from "components/Parallax/Parallax.js";
  8. import styles from "assets/jss/nextjs-material-kit/pages/components.js";
  9. import GetLatestNews from "../../../api/latest_news/news.js"
  10. import DataSnackbarContent from "../../../pages-sections/yamaha/snackbar.js";
  11. import DetailLatestNews from "../../../pages-sections/yamaha/latest_news/news_details.js";
  12. import Cookies from "cookies";
  13. const useStyles = makeStyles(styles);
  14. const detailLatestNews = function ({ user, backend, news, othernews, ...props }) {
  15. const classes = useStyles();
  16. const { ...rest } = props;
  17. <DetailLatestNews news={props.news}/>
  18. return (
  19. <div>
  20. <Header
  21. rightLinks={<HeaderLinks username={user} />}
  22. fixed
  23. color="info"
  24. changeColorOnScroll={{
  25. height: 400,
  26. color: "white"
  27. }}
  28. {...rest}
  29. />
  30. <Parallax image={require("assets/img/simulasicicilan.jpg")} width="200px"/>
  31. <div className={classNames(classes.main, classes.mainRaised)}>
  32. <DataSnackbarContent/>
  33. <DetailLatestNews news={news} othernews={othernews} backend={backend}/>
  34. </div>
  35. <Footer />
  36. </div>
  37. );
  38. }
  39. export default detailLatestNews;
  40. export async function getServerSideProps(context) {
  41. var {query} = context;
  42. var news = [];
  43. var othernews = [];
  44. const backend = process.env.BACKEND_SERVER_URI;
  45. var { req, resp } = context;
  46. const cookies = new Cookies(req, resp);
  47. var user = "";
  48. var userObj = (await cookies.get("user"))
  49. ? JSON.parse(await cookies.get("user"))
  50. : null;
  51. if (userObj) {
  52. let sessionId = userObj["partners_login_states"].filter(function (i) {
  53. return (
  54. i.business_partner && i.business_partner.name.toUpperCase() == "YAMAHA"
  55. );
  56. });
  57. if (sessionId.length != 0) user = userObj["username"];
  58. }
  59. var res = await GetLatestNews.GetDetailNews(query.s||0);
  60. if (res["STATUS"] === 1) {
  61. news = res["DATA"]["latestNews"];
  62. }
  63. var res = await GetLatestNews.GetOtherNewsYamaha();
  64. if (res["STATUS"] === 1) {
  65. othernews = res["DATA"]["latestNews"];
  66. }
  67. return {
  68. props: { user, othernews, news, backend }, // will be passed to the page component as props
  69. };
  70. }