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.
 
 

60 line
1.7 KiB

  1. import React from 'react';
  2. import Navbar from "@/components/_App/NavbarYamaha";
  3. import Footer from "@/components/_App/FooterYamaha";
  4. import PageBanner from '@/components/Common/PageBanner';
  5. import LatestNews from '@/components/Yamaha/LatestNews/LatestNews';
  6. import GetLatestNews from "api/latest_news/news.js"
  7. import Cookies from "cookies";
  8. const News = function ({ backend, news, othernews, user, ...props }) {
  9. return (
  10. <>
  11. <Navbar username={user} />
  12. <PageBanner pageTitle="Latest News" />
  13. <LatestNews news={news} othernews={othernews} backend={backend} />
  14. <Footer />
  15. </>
  16. )
  17. }
  18. export default News;
  19. export async function getServerSideProps(context) {
  20. var news = [];
  21. var othernews = [];
  22. const backend = process.env.BACKEND_SERVER_URI;
  23. var { req, resp } = context;
  24. const cookies = new Cookies(req, resp);
  25. var user = "";
  26. var userObj = (await cookies.get("user"))
  27. ? JSON.parse(await cookies.get("user"))
  28. : null;
  29. if (userObj) {
  30. let sessionId = userObj["partners_login_states"].filter(function (i) {
  31. return (
  32. i.business_partner && i.business_partner.name.toUpperCase() == "YAMAHA"
  33. );
  34. });
  35. if (sessionId.length != 0) user = userObj["username"];
  36. }
  37. var res = await GetLatestNews.GetNewsYamaha();
  38. if (res["STATUS"] === 1) {
  39. news = res["DATA"]["latestNews"];
  40. }
  41. var res = await GetLatestNews.GetOtherNewsYamaha();
  42. if (res["STATUS"] === 1) {
  43. othernews = res["DATA"]["latestNews"];
  44. }
  45. return {
  46. props: { news, othernews, backend, user }, // will be passed to the page component as props
  47. };
  48. }