From 63d73e858ab46b98a52cc69f2f24e2233f26292b Mon Sep 17 00:00:00 2001 From: Michael Utama <michaelu670@gmail.com> Date: Fri, 17 Nov 2023 10:37:35 +0700 Subject: [PATCH] feat: topup --- src/components/WalletManagement/Modal.tsx | 3 +++ src/components/WalletManagement/TopUp/TopUp.tsx | 4 +++- src/utils/login.ts | 2 +- src/utils/topup.ts | 16 ++++++++++++++++ 4 files changed, 23 insertions(+), 2 deletions(-) create mode 100644 src/utils/topup.ts diff --git a/src/components/WalletManagement/Modal.tsx b/src/components/WalletManagement/Modal.tsx index 9b22bdf..a02e590 100644 --- a/src/components/WalletManagement/Modal.tsx +++ b/src/components/WalletManagement/Modal.tsx @@ -1,9 +1,12 @@ +import { topup } from '@/utils/topup'; import React from 'react' import { FaWallet } from 'react-icons/fa6'; function Modal({ setPopUp, handleValid, modalTitle, modalText, amount, modalTextIng, prePositionWord }) { const handleYesClick = () => { handleValid(); + const userId = '1'; + topup(userId, amount); setPopUp(false); }; return ( diff --git a/src/components/WalletManagement/TopUp/TopUp.tsx b/src/components/WalletManagement/TopUp/TopUp.tsx index 023a869..215729b 100644 --- a/src/components/WalletManagement/TopUp/TopUp.tsx +++ b/src/components/WalletManagement/TopUp/TopUp.tsx @@ -11,8 +11,10 @@ import BRI from '../../../assets/briva.png'; import BNI from '../../../assets/bni.png'; import BSI from '../../../assets/bsi.png'; import Modal from "../Modal"; +import { topup } from "@/utils/topup"; const TopUp = () => { + const userId = 1; const [balance, setBalance] = useState(1000); const [topUpAmount, setTopUpAmount] = useState(0); const [selectedPaymentMethod, setSelectedPaymentMethod] = useState(''); @@ -157,7 +159,7 @@ const TopUp = () => { </div> {isTopUpValid && ( <div> - <button onClick={() => setPopUp(true)} className="flex items-center mt-5 cursor-pointer hover:bg-lightgreen text-lg mx-auto my-auto font-bold border-2 border-white text-white text-center items-center bg-darkgreen rounded-lg p-5 max-w-screen-sm">TOP-UP</button> + <button onClick={() => {setPopUp(true);}} className="flex items-center mt-5 cursor-pointer hover:bg-lightgreen text-lg mx-auto my-auto font-bold border-2 border-white text-white text-center items-center bg-darkgreen rounded-lg p-5 max-w-screen-sm">TOP-UP</button> {popUp && <Modal setPopUp={setPopUp} handleValid={handleTopUpValid} modalTitle={"TOP-UP"} modalText={"top-up"} amount={`${topUpAmount}`} modalTextIng={"top-up"} prePositionWord={"to"}/>} </div> )} diff --git a/src/utils/login.ts b/src/utils/login.ts index ef5b9df..0d4026c 100644 --- a/src/utils/login.ts +++ b/src/utils/login.ts @@ -4,7 +4,7 @@ import { setCookie, getCookie } from "cookies-next"; export const login = async (username: string, password: string) => { const res = await axios.post ( - REST_BASE_URL + '/user/login', + REST_BASE_URL + '/login', { username: username, password: password, diff --git a/src/utils/topup.ts b/src/utils/topup.ts new file mode 100644 index 0000000..9193e3a --- /dev/null +++ b/src/utils/topup.ts @@ -0,0 +1,16 @@ +import { REST_BASE_URL } from "@/constant/constants" +import axios from "axios"; + +export const topup = async (userId: string, amount: number) => { + const res = await axios.post( + REST_BASE_URL + '/topup/' + userId, + { + amount: amount + } + ); + + + return { + ok: res.data.success + }; +} \ No newline at end of file -- GitLab