diff --git a/pages-sections/yamaha/product/product_details.js b/pages-sections/yamaha/product/product_details.js
index 0eb8dc2..5ffdd79 100644
--- a/pages-sections/yamaha/product/product_details.js
+++ b/pages-sections/yamaha/product/product_details.js
@@ -24,7 +24,6 @@ import Carousel from "react-slick";
const useStyles = makeStyles(styles);
const DataProduct = function ({ backend, detailproduct, ...props }) {
- console.log(detailproduct);
const classes = useStyles();
const { ...rest } = props;
const imageClasses = classNames(
@@ -35,7 +34,7 @@ const DataProduct = function ({ backend, detailproduct, ...props }) {
const settings = {
dots: true,
infinite: true,
- speed: 500,
+ speed: 1000,
slidesToShow: 1,
slidesToScroll: 1,
autoplay: true,
@@ -48,6 +47,12 @@ const DataProduct = function ({ backend, detailproduct, ...props }) {
const [value2, setValue2] = React.useState(2);
const [value1, setValue1] = React.useState(1);
const navImageClasses = classNames(classes.imgRounded, classes.imgGallery);
+ const ProdcutImgColor = detailproduct.map((data) => {
+ return (
+
+
+ );
+ })
const Productdetails = detailproduct.map((data) => {
return (
@@ -137,7 +144,7 @@ const DataProduct = function ({ backend, detailproduct, ...props }) {
- s/d
+ s/d
-
-
-
-
);
})
diff --git a/pages/api/auth/login.js b/pages/api/auth/login.js
new file mode 100644
index 0000000..78164f4
--- /dev/null
+++ b/pages/api/auth/login.js
@@ -0,0 +1,41 @@
+import auth from "../../../api/auth/auth";
+import Cookies from "cookies";
+
+export default async function handler(req, res) {
+ if (req.method == "POST") {
+ const cookies = new Cookies(req, res);
+ var email = req.body.email;
+ var pass = req.body.pass;
+ var partner = req.body.partner;
+ var resp = await auth.login(partner, email, pass);
+ var login = resp["res"];
+ // console.log(login["DATA"]);
+ if (login["STATUS"] == 0) {
+ return res
+ .status(400)
+ .send(login["DATA"] + ". Check user and password again.");
+ }
+ var userObj = resp["cookies"]["user"];
+ await cookies.set("myToken", resp["cookies"]["token"], {
+ httpOnly: true, // true by default
+ });
+ await cookies.set("user", JSON.stringify(userObj), {
+ httpOnly: true, // true by default
+ });
+ let sessionId = userObj["partners_login_states"].filter(
+ (i) =>
+ i.business_partner &&
+ i.business_partner.name.toUpperCase() == partner.toUpperCase()
+ );
+ if (sessionId.length == 0) return res.status(400).send("Login Failed");
+ return res.status(200).send("Success Login");
+ // res.status(200).json(login);
+ // res.writeHead(200, {
+ // Location: "../home",
+ // //add other headers here...
+ // });
+ // res.end();
+ } else {
+ return res.status(400).send("NOT FOUND");
+ }
+}
diff --git a/pages/api/auth/logout.js b/pages/api/auth/logout.js
new file mode 100644
index 0000000..ca12142
--- /dev/null
+++ b/pages/api/auth/logout.js
@@ -0,0 +1,36 @@
+import auth from "../../../api/auth/auth";
+import Cookies from "cookies";
+
+export default async function handler(req, res) {
+ if (req.method == "POST") {
+ const cookies = new Cookies(req, res);
+ const partner = req.body.p;
+ var user = await cookies.get("user");
+ var token = await cookies.get("myToken");
+ var userObj = user ? JSON.parse(user) : null;
+ let sessionId = userObj["partners_login_states"].filter(
+ (i) =>
+ i.business_partner &&
+ i.business_partner.name.toUpperCase() == partner.toUpperCase()
+ );
+ sessionId.forEach(async (i) => {
+ var resp = await auth.logout(i.id, token);
+ if (resp["STATUS"] == 0) {
+ return res.status(400).send(resp["DATA"]);
+ }
+ });
+ userObj["partners_login_states"] = userObj[
+ "partners_login_states"
+ ].filter(
+ (i) =>
+ i.business_partner &&
+ i.business_partner.name.toUpperCase() != partner.toUpperCase()
+ );
+ await cookies.set("user", JSON.stringify(userObj), {
+ httpOnly: true, // true by default
+ });
+ return res.status(200).send("Success Logout");
+ } else {
+ return res.status(400).send("NOT FOUND");
+ }
+}
diff --git a/pages/yamaha/home.js b/pages/yamaha/home.js
index 99408fe..5b9789a 100644
--- a/pages/yamaha/home.js
+++ b/pages/yamaha/home.js
@@ -9,7 +9,7 @@ import styles from "assets/jss/nextjs-material-kit/pages/components.js";
import Footer from "components/Footer/Footer.js";
import Getcarousels from "api/home/carousel.js";
-import Getdealer from "../../api/dealer/dealer.js";
+import Getdealer from "api/dealer/dealer.js";
import DataSnackbarContent from "pages-sections/yamaha/snackbar.js";
import DataCarousel from "pages-sections/yamaha/home/carousel.js";
import DataService from "pages-sections/yamaha/home/service.js";
diff --git a/pages/yamaha/product/product_detail.js b/pages/yamaha/product/product_detail.js
index 03dcf31..1a36b62 100644
--- a/pages/yamaha/product/product_detail.js
+++ b/pages/yamaha/product/product_detail.js
@@ -13,7 +13,7 @@ import Cookies from "cookies";
const useStyles = makeStyles(styles);
-const ProductDetails = function ({ backend, detailproduct, user, ...props }) {
+const ProductDetails = function ({ backend, detailproduct, user, color, ...props }) {
const classes = useStyles();
const { ...rest } = props;
return (
@@ -30,7 +30,7 @@ const ProductDetails = function ({ backend, detailproduct, user, ...props }) {
/>
@@ -42,6 +42,8 @@ export default ProductDetails;
export async function getServerSideProps(context) {
var {query} = context;
var detailproduct = [];
+ var color = [];
+
const backend = process.env.BACKEND_SERVER_URI;
var { req, resp } = context;
@@ -59,12 +61,17 @@ export async function getServerSideProps(context) {
if (sessionId.length != 0) user = userObj["username"];
}
+ var res = await GetDetailproduct.GetProductImgColor(query.s||0);
+ if (res["STATUS"] === 1) {
+ color = res["DATA"]["productImageColors"];
+ }
+
var res = await GetDetailproduct.GetDetailProduct(query.s||0);
if (res["STATUS"] === 1) {
detailproduct = res["DATA"]["products"];
}
return {
- props: { detailproduct, backend, user }, // will be passed to the page component as props
+ props: { detailproduct, backend, color, user }, // will be passed to the page component as props
};
-}
\ No newline at end of file
+}