diff --git a/.eslintrc.cjs b/.eslintrc.cjs index 4dcb439..8adb83f 100644 --- a/.eslintrc.cjs +++ b/.eslintrc.cjs @@ -12,6 +12,7 @@ module.exports = { settings: { react: { version: '18.2' } }, plugins: ['react-refresh'], rules: { + "react/prop-types": "off", 'react-refresh/only-export-components': [ 'warn', { allowConstantExport: true }, diff --git a/index.html b/index.html index 2d45a96..c5f662e 100644 --- a/index.html +++ b/index.html @@ -1,5 +1,5 @@ - + diff --git a/src/App.jsx b/src/App.jsx index 042d39e..eee6a73 100644 --- a/src/App.jsx +++ b/src/App.jsx @@ -7,12 +7,17 @@ import { collection, doc, getDoc, getDocs } from "firebase/firestore"; import { db } from "./firebase"; import Invoices from "./Pages/invoices/Invoices"; import Invoice from "./Pages/Invoice"; -import { AiFillHome, AiOutlineSearch, AiFillHeart } from "react-icons/ai"; + +import { AiFillHome} from "react-icons/ai"; +import { MdProductionQuantityLimits} from "react-icons/md"; import { CgProfile } from "react-icons/cg"; -import { BsFillMapFill } from "react-icons/bs"; +import { FcSalesPerformance } from "react-icons/fc"; +import { FaFileInvoiceDollar } from "react-icons/fa"; import { GiHamburgerMenu } from "react-icons/gi"; +import {FaProductHunt} from "react-icons/fa" import Home from "./Pages/Home/Home"; import Profile from "./Pages/profile/Profile"; +import NoQuantityProduct from "./Pages/noQuantityProduct/NoQuantityProduct"; function App() { const [sidebarOpen, setSidebarOpen] = useState(false); @@ -28,13 +33,24 @@ function App() { setProducts(products); }); }; - + //get no quantity Products + // const getNoQuantityProducts=async () => { + // await getDocs(collection(db,"noQuantityProducts")).then ((noQuantityProducts)=>{ + // const noQuantity =noQuantityProducts.docs.map((doc)=>({ + // ...doc.data(), + // id:doc.id, + // })) + // setNoQuantityProducts(noQuantity); + // }) + // } useEffect(() => { + // console.log(`noQuantityProducts : ${noQuantityProducts}`); console.log(`noQuantityProducts : ${noQuantityProducts}`); }, [noQuantityProducts]); useEffect(() => { getProducts(); + // getNoQuantityProducts() }, []); return ( @@ -49,17 +65,21 @@ function App() {

الرئيسيه

-

المنتجات

+

المنتجات

-

فاتوره

+ < FcSalesPerformance/>

فاتوره

-

بيع المنتجات

+

بيع المنتجات

+ + + +

منتجات فارغه

-

Profile

+

ملف الشخصى

} + element={} /> } /> } /> @@ -96,6 +116,16 @@ function App() { /> } /> + + } + />
diff --git a/src/Pages/noQuantityProduct/NoQuantityProduct.jsx b/src/Pages/noQuantityProduct/NoQuantityProduct.jsx new file mode 100644 index 0000000..9d68caa --- /dev/null +++ b/src/Pages/noQuantityProduct/NoQuantityProduct.jsx @@ -0,0 +1,75 @@ +import { useEffect, useState } from "react"; +import { collection, getDocs } from "firebase/firestore"; +import { db } from "../../firebase"; + +const NoQuantityProduct = () => { + + const [noQuantityProducts, setNoQuantityProducts] = useState([]); + + const getNoQuantityProducts = async () => { + + await getDocs(collection(db, "noQuantityProducts")) + .then((querySnapshot) => { + const newData = querySnapshot.docs + .map((doc) => ({ ...doc.data(), id: doc.id })); + setNoQuantityProducts(newData); + console.log(noQuantityProducts, newData); + }) + + } + + useEffect(() => { + getNoQuantityProducts(); + }, []) + + // const [products, setProducts] = useState([]); + // const getProducts = async () => { + // await getDocs(collection(db, "noQuantityProducts")).then((product) => { + // const products = product.docs.map((doc) => ({ + // ...doc.data(), + // id: doc.id, + // })); + // setProducts(products); + // }); + // }; + + // useEffect(()=>{ + // console.log(products); + // getProducts() + // },[]) + return ( + + + <> +
+ + + + + + + + + { + noQuantityProducts?.map((item) => ( + <> + + + + + + + + + )) + } + +
اسم المنتجالسعرالكميه المتاحه
{item.name}{item.price}{item.quantity}
+
+ + + + ) +} + +export default NoQuantityProduct \ No newline at end of file diff --git a/src/components/DataTable/DataTable.jsx b/src/components/DataTable/DataTable.jsx index 2d4caef..901e66e 100644 --- a/src/components/DataTable/DataTable.jsx +++ b/src/components/DataTable/DataTable.jsx @@ -1,4 +1,4 @@ -import React, { useEffect, useState } from "react"; +import { useEffect, useState } from "react"; import "./dataTable.scss"; import Typography from "@mui/material/Typography"; import TablePagination from "./TablePagination"; @@ -31,10 +31,13 @@ export default function DataTable({ const [startIndex, setStartIndex] = useState(1); const [firstOrlast, setFirstOrLast] = useState("first"); const [searchWord, setSearchWord] = useState(""); + + // console.log(products.id); const visibleRows = products - ?.filter((product) => + ?.filter((product) =>{ product.name.toLowerCase().includes(searchWord.toLowerCase()) + } ) ?.sort(function (a, b) { if (firstOrlast === "first") { diff --git a/src/components/DataTable/TablePagination.jsx b/src/components/DataTable/TablePagination.jsx index 8478ba0..0274896 100644 --- a/src/components/DataTable/TablePagination.jsx +++ b/src/components/DataTable/TablePagination.jsx @@ -1,4 +1,3 @@ -import React from "react"; const TablePagination = ({ rowsPerPage,