From 7a0084794b4edf178fdb308ba11c44bd591dedc8 Mon Sep 17 00:00:00 2001 From: priyanshuvish Date: Thu, 5 Sep 2024 16:03:03 +0530 Subject: [PATCH] My Requests update --- src/Contexts/GlobalStateProvider.jsx | 98 +++++++- src/Pages/Requests/Requests.jsx | 335 ++++++++++++++++++++++++++- src/assets/dummy-pdf.pdf | Bin 0 -> 7478 bytes 3 files changed, 428 insertions(+), 5 deletions(-) create mode 100644 src/assets/dummy-pdf.pdf diff --git a/src/Contexts/GlobalStateProvider.jsx b/src/Contexts/GlobalStateProvider.jsx index f6cf43a..5b869eb 100644 --- a/src/Contexts/GlobalStateProvider.jsx +++ b/src/Contexts/GlobalStateProvider.jsx @@ -9,6 +9,7 @@ import { HiOutlineReceiptPercent } from "react-icons/hi2"; import { IoMdQrScanner } from "react-icons/io"; import { GrDocumentPdf } from "react-icons/gr"; import { AiOutlineFileGif } from "react-icons/ai"; +import DummyPdf from "../../src/assets/dummy-pdf.pdf" const getRandomDate = (start, end) => { const date = new Date( @@ -41,7 +42,9 @@ export const generateUniqueId = () => { const GlobalStateProvider = ({ children }) => { const [isAuthenticate, setIsAuthenticate] = useState(false); - const [ reportsHistory, setReportsHistory ] = useState([ + + + const [reportsHistory, setReportsHistory] = useState([ { "id": 1, "name": "Office Supplies - July 2024", @@ -213,13 +216,102 @@ const GlobalStateProvider = ({ children }) => { ] ) + + + const [requestsTable, setRequestTable] = useState([ + { + "id": 1, + "transactionType": "Dine In", + "date": "31- 02-2024 04.20 pm", + "walletType": "Food", + "document": `${DummyPdf}`, + "amountSpent": "₹ 5000" + }, + { + "id": 2, + "transactionType": "Dine In", + "date": "31- 02-2024 04.20 pm", + "walletType": "Food", + "document": `${DummyPdf}`, + "amountSpent": "₹ 5000" + }, + { + "id": 3, + "transactionType": "Dine In", + "date": "31- 02-2024 04.20 pm", + "walletType": "Food", + "document": `${DummyPdf}`, + "amountSpent": "₹ 5000" + }, + { + "id": 4, + "transactionType": "Dine In", + "date": "31- 02-2024 04.20 pm", + "walletType": "Food", + "document": `${DummyPdf}`, + "amountSpent": "₹ 5000" + }, + { + "id": 5, + "transactionType": "Dine In", + "date": "31- 02-2024 04.20 pm", + "walletType": "Food", + "document": `${DummyPdf}`, + "amountSpent": "₹ 5000" + }, + { + "id": 6, + "transactionType": "Dine In", + "date": "31- 02-2024 04.20 pm", + "walletType": "Food", + "document": `${DummyPdf}`, + "amountSpent": "₹ 5000" + }, + { + "id": 7, + "transactionType": "Dine In", + "date": "31- 02-2024 04.20 pm", + "walletType": "Food", + "document": `${DummyPdf}`, + "amountSpent": "₹ 5000" + }, + { + "id": 8, + "transactionType": "Dine In", + "date": "31- 02-2024 04.20 pm", + "walletType": "Food", + "document": `${DummyPdf}`, + "amountSpent": "₹ 5000" + }, + { + "id": 9, + "transactionType": "Dine In", + "date": "31- 02-2024 04.20 pm", + "walletType": "Food", + "document": `${DummyPdf}`, + "amountSpent": "₹ 5000" + }, + { + "id": 10, + "transactionType": "Dine In", + "date": "31- 02-2024 04.20 pm", + "walletType": "Food", + "document": `${DummyPdf}`, + "amountSpent": "₹ 5000" + }, + + ] + ) + return ( {children} diff --git a/src/Pages/Requests/Requests.jsx b/src/Pages/Requests/Requests.jsx index c3a48f5..1d48dbb 100644 --- a/src/Pages/Requests/Requests.jsx +++ b/src/Pages/Requests/Requests.jsx @@ -1,15 +1,346 @@ -import { Box } from "@chakra-ui/react"; import React from "react"; +import { + Box, Tabs, Tab, TabList, TabPanels, TabPanel, + Button, + Divider, + Icon, + Tag, + TagLabel, + Text, + VStack, + HStack, + Checkbox +} from "@chakra-ui/react"; +import { useContext, useEffect, useState } from "react"; +import GlobalStateContext from "../../Contexts/GlobalStateContext"; +import { OPACITY_ON_LOAD } from "../../Layout/animations"; +import { RiDeleteBin5Line } from "react-icons/ri"; +import { AiOutlineEdit } from "react-icons/ai"; +import { FaRegEye } from "react-icons/fa"; +import { PiReceipt } from "react-icons/pi"; +import { CalendarIcon } from "@chakra-ui/icons"; import MiniHeader from "../../Components/MiniHeader"; +import NormalTable from "../../Components/DataTable/NormalTable"; +import { FaRegFilePdf } from "react-icons/fa"; +import { MdOutlineRamenDining } from "react-icons/md"; const Requests = () => { + const { requestsTable } = useContext(GlobalStateContext); + const [isLoading, setIsLoading] = useState(false); + + useEffect(() => { + // Set isLoading to true + setIsLoading(true); + + // Simulate a 3-second delay + const timer = setTimeout(() => { + setIsLoading(false); // Set isLoading to false after 3 seconds + }, 500); + + // Cleanup the timer when the component unmounts or when the useEffect re-runs + return () => clearTimeout(timer); + }, []); // Empty dependency array means this effect runs once after the component mounts + + // ===============================[ Table Header ] + const tableHeadRow = [ + "Transaction Type", + "Date", + "Wallet Type", + "Document", + "Amount Spent", + "Actions", + ]; + + // const extractedArray = requestsTable.map((item)=>({ })) + + const extractedArray = requestsTable.map((item, index) => ({ + "Transaction Type": ( + + + + {item.transactionType} + + + ), + "Date": ( + + {item.date} + + ), + "Wallet Type": ( + + ), + + Document: ( + + ), + "Amount Spent": ( + + {item.amountSpent} + + ), + Actions: ( + + + + + ), + })); + + return ( - + + + + + + Advance Expense + + + Reimbursement + + + + + + + + + Expenses + + + + + + + + + + + + + + + + + + + + Expenses + + + + + + + + + + + + + + + + + + + + + ); }; diff --git a/src/assets/dummy-pdf.pdf b/src/assets/dummy-pdf.pdf new file mode 100644 index 0000000000000000000000000000000000000000..8da27b526712a5e417279d7dd2fd7e913b45d47e GIT binary patch literal 7478 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 E2LO^uS^xk5 literal 0 HcmV?d00001