Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merge from main #84

Merged
merged 4 commits into from
Jan 6, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
74 changes: 71 additions & 3 deletions src/components/PaymentCartPanel.jsx
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,11 @@ import back_icon_arrow from "../styles/icons/back_icon_arrow.svg";

import ProgressBar from "./ProgressBar";

// Defines
const FIRST_CART_PANEL = 1;
const SECOND_CART_PANEL = 2;
const THIRD_CART_PANEL = 3;

const PaymentCartPanel = ({}) => {
const [price_total, setPriceTotal] = useState(0);
const baseUrl = window.location.origin + "/images/";
Expand All @@ -15,6 +20,11 @@ const PaymentCartPanel = ({}) => {
const [termsAndConditionsChecked, setTermsAndConditionsChecked] =
useState(false);

/*
Stage of the payment process
*/
const [cartPanelStage, setCartPanelStage] = useState(FIRST_CART_PANEL);

const monthNumberToAbbreviationMap = {
1: "ian",
2: "feb",
Expand Down Expand Up @@ -160,6 +170,13 @@ const PaymentCartPanel = ({}) => {
return dateArray;
};

const handleCartPanelStageChange = (stage) => {
setCartPanelStage(stage);

// bring the user to the top of the page
window.scrollTo(0, 0);
};

const ProductsList = () => {
var image_path;
var dateArray, duration;
Expand Down Expand Up @@ -266,6 +283,10 @@ const PaymentCartPanel = ({}) => {

return (
<div>

{/* First stage of the payment process, where the client visualise the cart only. */}
{cartPanelStage === FIRST_CART_PANEL && (
<div>
<ProgressBar progressBarIndex={1} />
<div className="w-[wh] flex flex-col bg-white overflow-hidden text-left text-[1rem] text-dark-navy font-text-body">
<div className="w-[wh] max-w-[1050px] flex justify-center items-center xl:mr-[36rem] lg:mr-[22rem] md:mr-[9rem] sm:ml-[0rem] mr-0 ">
Expand All @@ -281,17 +302,63 @@ const PaymentCartPanel = ({}) => {
src={back_icon_arrow}
/>
<div className="relative tracking-[0.05em] leading-[1.5rem] font-medium flex items-center h-[1.5rem] shrink-0">
Continua cumparaturile
Continuă cumpărăturile
</div>
</button>
</div>
<div className="flex flex-col gap-[1.5rem] text-text-fields-grey-hf w-[wh]">
<div className="flex flex-col gap-[1.5rem] text-text-fields-grey-hf w-[100%]">
<ProductsList />

<div className=" tracking-[0.08em] leading-[120%] font-bold text-[1.2rem] flex gap-[0.5rem] text-dark-navy">
Total de plată: {price_total} RON
</div>

</div>
<div className="w-[20rem] mt-5 flex flex-col items-start justify-center gap-[1.5rem]">
<div
className="self-stretch flex flex-col items-start justify-start cursor-pointer text-center text-[0.88rem] text-white"
onClick={() => handleCartPanelStageChange(SECOND_CART_PANEL)}
>
<div className="self-stretch rounded bg-accent h-[2.25rem] flex flex-row items-center justify-start py-[0rem] px-[1rem] box-border">
<b className="flex-1 relative tracking-[0.15em] leading-[120%] uppercase flex items-center justify-center h-[2.25rem]">
Continuă
</b>
</div>
</div>
</div>
</div>
</div>
</div>
</div>)}

{/* Second stage of the payment process, where the client has to introduce their phone number, name and email address, eventually the address where they live or whatever. */}
{cartPanelStage === SECOND_CART_PANEL && (
<div>
<ProgressBar progressBarIndex={2} />
<div className="w-[wh] flex flex-col bg-white overflow-hidden text-left text-[1rem] text-dark-navy font-text-body">
<div className="w-[wh] max-w-[1050px] flex justify-center items-center xl:mr-[36rem] lg:mr-[22rem] md:mr-[9rem] sm:ml-[0rem] mr-0 ">
<div className=" flex flex-col items-start py-[1.5rem] gap-[2.5rem]">
<div className="flex">
<button
className="self-stretch flex flex-row gap-[1rem]"
onClick={() => setCartPanelStage(FIRST_CART_PANEL)}
>
<img
className="relative rounded-sm w-[0.83rem] h-[1.63rem]"
alt=""
src={back_icon_arrow}
/>
<div className="relative tracking-[0.05em] leading-[1.5rem] font-medium flex items-center h-[1.5rem] shrink-0">
Înapoi la coș
</div>
</button>
</div>
<div className="flex flex-col gap-[1.5rem] text-text-fields-grey-hf w-[wh]">

<div className=" tracking-[0.08em] leading-[120%] font-bold text-[1.2rem] flex gap-[0.5rem] text-dark-navy">
Total de plată: {price_total} RON
</div>

<div className="flex text-dark-navy">
<div className="flex items-center justify-center">
<input
Expand Down Expand Up @@ -319,7 +386,7 @@ const PaymentCartPanel = ({}) => {
/>
<span className=" tracking-[0.08em] leading-[120%] text-xs sm:text-[16px] flex items-center cursor-pointer">
Sunt de acord cu &nbsp;
<span className="underline">Termenii și Conditiile</span>
<span className="underline">Termenii și Condițiile</span>
</span>
</div>
</div>
Expand All @@ -339,6 +406,7 @@ const PaymentCartPanel = ({}) => {
</div>
</div>
</div>
</div>)}
</div>
);
};
Expand Down
4 changes: 0 additions & 4 deletions src/styles/icons/checkmark.svg:Zone.Identifier

This file was deleted.

Loading