You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 

90 lines
3.0 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. import stylecss from "pages/home.css";
  14. const useStyles = makeStyles(styles);
  15. const detailLatestNews = function ({ user, backend, news, othernews, ...props }) {
  16. const classes = useStyles();
  17. const { ...rest } = props;
  18. <DetailLatestNews news={props.news}/>
  19. return (
  20. <div>
  21. <Header
  22. leftLinks={<HeaderLinks username={user} />}
  23. fixed
  24. color="info"
  25. changeColorOnScroll={{
  26. height: 400,
  27. color: "white"
  28. }}
  29. {...rest}
  30. />
  31. <Parallax image={require("assets/img/simulasicicilan.jpg")} width="200px"/>
  32. <div className={classNames(classes.main, classes.mainRaised)}>
  33. <DetailLatestNews news={news} othernews={othernews} backend={backend}/>
  34. <a href="https://wa.me/+6287797315685" class="float" target="_blank">
  35. <i class="fa fa-whatsapp my-float"></i>
  36. </a>
  37. </div>
  38. <Footer />
  39. </div>
  40. );
  41. }
  42. export default detailLatestNews;
  43. export async function getServerSideProps(context) {
  44. var {query} = context;
  45. var news = [];
  46. var othernews = [];
  47. const backend = process.env.BACKEND_SERVER_URI;
  48. var { req, resp } = context;
  49. const cookies = new Cookies(req, resp);
  50. var user = "";
  51. var userObj = (await cookies.get("user"))
  52. ? JSON.parse(await cookies.get("user"))
  53. : null;
  54. if (userObj) {
  55. let sessionId = userObj["partners_login_states"].filter(function (i) {
  56. return (
  57. i.business_partner && i.business_partner.name.toUpperCase() == "YAMAHA"
  58. );
  59. });
  60. if (sessionId.length != 0) user = userObj["username"];
  61. }
  62. else if ( userObj ) {
  63. let sessionId = userObj["partners_login_states"].filter(function (i) {
  64. return (
  65. i.business_partner && i.business_partner.name.toUpperCase() == "YAMAHA"
  66. );
  67. });
  68. if (sessionId.length != 0) user = userObj["username"];
  69. }
  70. var res = await GetLatestNews.GetDetailNews(query.s||0);
  71. if (res["STATUS"] === 1) {
  72. news = res["DATA"]["latestNews"];
  73. }
  74. var res = await GetLatestNews.GetOtherNewsYamaha();
  75. if (res["STATUS"] === 1) {
  76. othernews = res["DATA"]["latestNews"];
  77. }
  78. return {
  79. props: { user, othernews, news, backend }, // will be passed to the page component as props
  80. };
  81. }