diff --git a/src/App.js b/src/App.js
index 91847a1..0655d57 100644
--- a/src/App.js
+++ b/src/App.js
@@ -27,7 +27,8 @@ function HomePage({
showedModal,
setShowedModal,
productSectionRef,
- courseSectionRef
+ courseSectionRef,
+ setWillDo
}) {
return (
<>
@@ -41,6 +42,7 @@ function HomePage({
setHoveredCard={setHoveredCard}
setSelectedProduct={setSelectedProduct}
setShowedModal={setShowedModal}
+ setWillDo={setWillDo}
/>
@@ -84,6 +87,7 @@ function App() {
const courseSectionRef = useRef(null);
const [productModalRequest, setProductModalRequest] = useState(null);
+ const [willDo, setWillDo] = useState('');
const scrollToProduct = () => {
@@ -307,6 +311,7 @@ function App() {
setShowedModal={setShowedModal}
productSectionRef={productSectionRef}
courseSectionRef={courseSectionRef}
+ setWillDo={setWillDo}
/>
}
/>
@@ -348,6 +353,8 @@ function App() {
requestLogin={requestLogin}
product={selectedProduct}
setShowedModal={setShowedModal}
+ willDo={willDo}
+ setWillDo={setWillDo}
/>
)}
{showedModal === 'create-item' && (
diff --git a/src/components/AcademySection.js b/src/components/AcademySection.js
index 67842c4..3c4a5d6 100644
--- a/src/components/AcademySection.js
+++ b/src/components/AcademySection.js
@@ -2,7 +2,7 @@ import React, { useEffect, useState } from 'react';
import { Container } from 'react-bootstrap';
import styles from './Styles.module.css';
-const AcademySection = ({hoveredCard, setHoveredCard, setSelectedProduct, setShowedModal, courseSectionRef}) => {
+const AcademySection = ({hoveredCard, setHoveredCard, setSelectedProduct, setShowedModal, courseSectionRef, setWillDo}) => {
const [products, setProducts] = useState([]);
useEffect(() => {
@@ -68,6 +68,12 @@ const AcademySection = ({hoveredCard, setHoveredCard, setSelectedProduct, setSho
: `Rp ${product.price.toLocaleString('id-ID')}`}
+
))}
diff --git a/src/components/ProductDetailPage.js b/src/components/ProductDetailPage.js
index 0c1c0b0..f024a08 100644
--- a/src/components/ProductDetailPage.js
+++ b/src/components/ProductDetailPage.js
@@ -1,7 +1,7 @@
-import React, { useState } from 'react';
+import React, { useState, useEffect } from 'react';
import styles from './ProductDetail.module.css';
-const ProductDetail = ({ subscriptions, product, requestLogin, setShowedModal }) => {
+const ProductDetail = ({ willDo, setWillDo, subscriptions, product, requestLogin, setShowedModal }) => {
const [showChildSelector, setShowChildSelector] = useState(false);
const [selectedChildIds, setSelectedChildIds] = useState([]);
@@ -139,6 +139,13 @@ const ProductDetail = ({ subscriptions, product, requestLogin, setShowedModal })
}
};
+ useEffect(() => {
+ if (willDo === 'checkout') {
+ onCheckout();
+ }
+ if(setWillDo) setWillDo(''); // Reset willDo after handling
+ }, []);
+
const priceColor = product.price === 0 ? '#059669' : '#2563eb';
console.log(product)
return (
diff --git a/src/components/ProductSection.js b/src/components/ProductSection.js
index e0a0337..0f5a410 100644
--- a/src/components/ProductSection.js
+++ b/src/components/ProductSection.js
@@ -4,7 +4,7 @@ import styles from './Styles.module.css';
import processProducts from '../helper/processProducts';
-const ProductSection = ({ hoveredCard, setHoveredCard, setSelectedProduct, setShowedModal, productSectionRef }) => {
+const ProductSection = ({ hoveredCard, setHoveredCard, setSelectedProduct, setShowedModal, productSectionRef, setWillDo }) => {
const [products, setProducts] = useState([]);
// Define this function outside useEffect so it can be called anywhere
@@ -75,6 +75,12 @@ useEffect(() => {
: `Rp ${product.price.toLocaleString('id-ID')}`}
+
))}
diff --git a/src/components/Styles.module.css b/src/components/Styles.module.css
index 38e6675..a00a110 100644
--- a/src/components/Styles.module.css
+++ b/src/components/Styles.module.css
@@ -256,6 +256,8 @@
padding: 1rem;
padding-top: 0;
text-align: left;
+ display: flex;
+ justify-content: space-between;
}
.courseCategory {