25개 이상의 토픽을 선택하실 수 없습니다. Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 

88 lines
2.8 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 Parallax from "components/Parallax/Parallax.js";
  7. import styles from "assets/jss/nextjs-material-kit/pages/components.js";
  8. import Footer from "components/Footer/Footer.js";
  9. import GetDetailProfile from "api/profile/profile.js"
  10. import DataEditProfile from "pages-sections/yamaha/profile/edit-profile.js"
  11. import Cookies from "cookies";
  12. const useStyles = makeStyles(styles);
  13. const Profile = function ({ province, cities, editprofile, user, profile, ...props }) {
  14. const classes = useStyles();
  15. const { ...rest } = props;
  16. return (
  17. <div>
  18. <Header
  19. rightLinks={<HeaderLinks username={user} />}
  20. fixed
  21. color="info"
  22. changeColorOnScroll={{
  23. height: 400,
  24. color: "white",
  25. }}
  26. {...rest}
  27. />
  28. <Parallax
  29. image={require("assets/img/Promotion_2-1.jpg")}
  30. styles={{ marginTop: "50px" }}
  31. />
  32. <div className={classNames(classes.main, classes.mainRaised)}>
  33. <DataEditProfile province={province} cities={cities} editprofile={editprofile} user={user}/>
  34. </div>
  35. <Footer />
  36. </div>
  37. );
  38. };
  39. export async function getServerSideProps(context) {
  40. var {query} = context;
  41. var editprofile = [];
  42. const backend = process.env.BACKEND_SERVER_URI;
  43. var { req, resp } = context;
  44. const cookies = new Cookies(req, resp);
  45. var user = "";
  46. var userObj = (await cookies.get("user"))
  47. ? JSON.parse(await cookies.get("user"))
  48. : null;
  49. if (userObj) {
  50. let sessionId = userObj["partners_login_states"].filter(function (i) {
  51. return (
  52. i.business_partner && i.business_partner.name.toUpperCase() == "YAMAHA"
  53. );
  54. });
  55. if (sessionId.length != 0) user = userObj["username"];
  56. }
  57. var res = await GetDetailProfile.GetDetailProfile(query.s||0);
  58. if (res["STATUS"] === 1) {
  59. editprofile = res["DATA"]["users"];
  60. }
  61. //rajaOngkir
  62. var province = [];
  63. var cities = [];
  64. var RajaOngkir = require('rajaongkir-nodejs').Starter('f4ac703bb25ada32478d52ef2e1cab7a');
  65. await RajaOngkir.getProvinces().then(function (result){
  66. province = result;
  67. }).catch(function (error){
  68. // Aksi ketika error terjadi
  69. });
  70. await RajaOngkir.getCities().then(function (result){
  71. cities = result;
  72. }).catch(function (error){
  73. // Aksi ketika error terjadi
  74. });
  75. return {
  76. props: { province, cities, editprofile, user }, // will be passed to the page component as props
  77. };
  78. }
  79. export default Profile;