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,