ok
This commit is contained in:
@@ -27,7 +27,8 @@ function HomePage({
|
|||||||
showedModal,
|
showedModal,
|
||||||
setShowedModal,
|
setShowedModal,
|
||||||
productSectionRef,
|
productSectionRef,
|
||||||
courseSectionRef
|
courseSectionRef,
|
||||||
|
setWillDo
|
||||||
}) {
|
}) {
|
||||||
return (
|
return (
|
||||||
<>
|
<>
|
||||||
@@ -41,6 +42,7 @@ function HomePage({
|
|||||||
setHoveredCard={setHoveredCard}
|
setHoveredCard={setHoveredCard}
|
||||||
setSelectedProduct={setSelectedProduct}
|
setSelectedProduct={setSelectedProduct}
|
||||||
setShowedModal={setShowedModal}
|
setShowedModal={setShowedModal}
|
||||||
|
setWillDo={setWillDo}
|
||||||
/>
|
/>
|
||||||
<AcademySection
|
<AcademySection
|
||||||
courseSectionRef={courseSectionRef}
|
courseSectionRef={courseSectionRef}
|
||||||
@@ -48,6 +50,7 @@ function HomePage({
|
|||||||
setHoveredCard={setHoveredCard}
|
setHoveredCard={setHoveredCard}
|
||||||
setSelectedProduct={setSelectedProduct}
|
setSelectedProduct={setSelectedProduct}
|
||||||
setShowedModal={setShowedModal}
|
setShowedModal={setShowedModal}
|
||||||
|
setWillDo={setWillDo}
|
||||||
/>
|
/>
|
||||||
<KnowledgeBaseSection />
|
<KnowledgeBaseSection />
|
||||||
<ClientsSection />
|
<ClientsSection />
|
||||||
@@ -84,6 +87,7 @@ function App() {
|
|||||||
const courseSectionRef = useRef(null);
|
const courseSectionRef = useRef(null);
|
||||||
|
|
||||||
const [productModalRequest, setProductModalRequest] = useState(null);
|
const [productModalRequest, setProductModalRequest] = useState(null);
|
||||||
|
const [willDo, setWillDo] = useState('');
|
||||||
|
|
||||||
|
|
||||||
const scrollToProduct = () => {
|
const scrollToProduct = () => {
|
||||||
@@ -307,6 +311,7 @@ function App() {
|
|||||||
setShowedModal={setShowedModal}
|
setShowedModal={setShowedModal}
|
||||||
productSectionRef={productSectionRef}
|
productSectionRef={productSectionRef}
|
||||||
courseSectionRef={courseSectionRef}
|
courseSectionRef={courseSectionRef}
|
||||||
|
setWillDo={setWillDo}
|
||||||
/>
|
/>
|
||||||
}
|
}
|
||||||
/>
|
/>
|
||||||
@@ -348,6 +353,8 @@ function App() {
|
|||||||
requestLogin={requestLogin}
|
requestLogin={requestLogin}
|
||||||
product={selectedProduct}
|
product={selectedProduct}
|
||||||
setShowedModal={setShowedModal}
|
setShowedModal={setShowedModal}
|
||||||
|
willDo={willDo}
|
||||||
|
setWillDo={setWillDo}
|
||||||
/>
|
/>
|
||||||
)}
|
)}
|
||||||
{showedModal === 'create-item' && (
|
{showedModal === 'create-item' && (
|
||||||
|
|||||||
@@ -2,7 +2,7 @@ import React, { useEffect, useState } from 'react';
|
|||||||
import { Container } from 'react-bootstrap';
|
import { Container } from 'react-bootstrap';
|
||||||
import styles from './Styles.module.css';
|
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([]);
|
const [products, setProducts] = useState([]);
|
||||||
|
|
||||||
useEffect(() => {
|
useEffect(() => {
|
||||||
@@ -68,6 +68,12 @@ const AcademySection = ({hoveredCard, setHoveredCard, setSelectedProduct, setSho
|
|||||||
: `Rp ${product.price.toLocaleString('id-ID')}`}
|
: `Rp ${product.price.toLocaleString('id-ID')}`}
|
||||||
</span>
|
</span>
|
||||||
</div>
|
</div>
|
||||||
|
<button className="px-4 py-2 rounded-pill text-white" style={{ background: 'linear-gradient(to right, #6a59ff, #8261ee)', border: 'none' }}
|
||||||
|
onClick={() => {
|
||||||
|
setSelectedProduct(product);
|
||||||
|
setShowedModal('product');
|
||||||
|
setWillDo('checkout');
|
||||||
|
}}>Beli</button>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
))}
|
))}
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
import React, { useState } from 'react';
|
import React, { useState, useEffect } from 'react';
|
||||||
import styles from './ProductDetail.module.css';
|
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 [showChildSelector, setShowChildSelector] = useState(false);
|
||||||
const [selectedChildIds, setSelectedChildIds] = useState([]);
|
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';
|
const priceColor = product.price === 0 ? '#059669' : '#2563eb';
|
||||||
console.log(product)
|
console.log(product)
|
||||||
return (
|
return (
|
||||||
|
|||||||
@@ -4,7 +4,7 @@ import styles from './Styles.module.css';
|
|||||||
import processProducts from '../helper/processProducts';
|
import processProducts from '../helper/processProducts';
|
||||||
|
|
||||||
|
|
||||||
const ProductSection = ({ hoveredCard, setHoveredCard, setSelectedProduct, setShowedModal, productSectionRef }) => {
|
const ProductSection = ({ hoveredCard, setHoveredCard, setSelectedProduct, setShowedModal, productSectionRef, setWillDo }) => {
|
||||||
const [products, setProducts] = useState([]);
|
const [products, setProducts] = useState([]);
|
||||||
// Define this function outside useEffect so it can be called anywhere
|
// Define this function outside useEffect so it can be called anywhere
|
||||||
|
|
||||||
@@ -75,6 +75,12 @@ useEffect(() => {
|
|||||||
: `Rp ${product.price.toLocaleString('id-ID')}`}
|
: `Rp ${product.price.toLocaleString('id-ID')}`}
|
||||||
</span>
|
</span>
|
||||||
</div>
|
</div>
|
||||||
|
<button className="px-4 py-2 rounded-pill text-white" style={{ background: 'linear-gradient(to right, #6a59ff, #8261ee)', border: 'none' }}
|
||||||
|
onClick={() => {
|
||||||
|
setSelectedProduct(product);
|
||||||
|
setShowedModal('product');
|
||||||
|
setWillDo('checkout');
|
||||||
|
}}>Beli</button>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
))}
|
))}
|
||||||
|
|||||||
@@ -256,6 +256,8 @@
|
|||||||
padding: 1rem;
|
padding: 1rem;
|
||||||
padding-top: 0;
|
padding-top: 0;
|
||||||
text-align: left;
|
text-align: left;
|
||||||
|
display: flex;
|
||||||
|
justify-content: space-between;
|
||||||
}
|
}
|
||||||
|
|
||||||
.courseCategory {
|
.courseCategory {
|
||||||
|
|||||||
Reference in New Issue
Block a user