diff --git a/src/config/Pages.ts b/src/config/Pages.ts index d83757d..c6d1fed 100644 --- a/src/config/Pages.ts +++ b/src/config/Pages.ts @@ -61,4 +61,9 @@ export const Pages = { add: "/admins/add", update: "/admins/update/", }, + shipment_methods: { + list: "/shipment_methods/list", + add: "/shipment_methods/add", + update: "/shipment_methods/update/", + }, }; diff --git a/src/langs/fa.json b/src/langs/fa.json index 5227222..d152549 100644 --- a/src/langs/fa.json +++ b/src/langs/fa.json @@ -63,7 +63,8 @@ "logout": "خروج", "roles": "سطح دسترسی ها", "payment_methods": "روش های پرداخت", - "admins": "مدیران" + "admins": "مدیران", + "shipment_methods": "روش های ارسال" }, "slider": { "new_slider": "اسلایدر جدید", diff --git a/src/pages/shipmentMethod/List.tsx b/src/pages/shipmentMethod/List.tsx new file mode 100644 index 0000000..e425cbc --- /dev/null +++ b/src/pages/shipmentMethod/List.tsx @@ -0,0 +1,29 @@ +import { type FC } from 'react' +import { useGetRestaurantShipmentMethods } from './hooks/useShipmentMethodData' +import { Link } from 'react-router-dom' +import { Pages } from '@/config/Pages' +import Button from '@/components/Button' +import { Add } from 'iconsax-react' + +const ShipmentMethodList: FC = () => { + + const { data: shipmentMethodsData, isLoading } = useGetRestaurantShipmentMethods() + + return ( +
+
+

لیست روش های ارسال

+ + + +
+
+ ) +} + +export default ShipmentMethodList \ No newline at end of file diff --git a/src/pages/shipmentMethod/hooks/useShipmentMethodData.ts b/src/pages/shipmentMethod/hooks/useShipmentMethodData.ts new file mode 100644 index 0000000..19855a3 --- /dev/null +++ b/src/pages/shipmentMethod/hooks/useShipmentMethodData.ts @@ -0,0 +1,9 @@ +import { useQuery } from "@tanstack/react-query"; +import * as api from "../service/ShipmentMethodService"; + +export const useGetRestaurantShipmentMethods = () => { + return useQuery({ + queryKey: ["restaurant-shipment-methods"], + queryFn: api.getRestaurantShipmentMethods, + }); +}; diff --git a/src/pages/shipmentMethod/service/ShipmentMethodService.ts b/src/pages/shipmentMethod/service/ShipmentMethodService.ts new file mode 100644 index 0000000..312ab70 --- /dev/null +++ b/src/pages/shipmentMethod/service/ShipmentMethodService.ts @@ -0,0 +1,6 @@ +import axios from "@/config/axios"; + +export const getRestaurantShipmentMethods = async () => { + const { data } = await axios.get("/admin/restaurant-shipment-methods"); + return data; +}; diff --git a/src/router/Main.tsx b/src/router/Main.tsx index 0fc13de..cf82d11 100644 --- a/src/router/Main.tsx +++ b/src/router/Main.tsx @@ -30,6 +30,7 @@ import UpdatePaymentMethod from '@/pages/paymentMethods/Update' import AdminList from '@/pages/admin/List' import CreateAdmin from '@/pages/admin/Create' import UpdateAdmin from '@/pages/admin/Update' +import ShipmentMethodList from '@/pages/shipmentMethod/List' const MainRouter: FC = () => { const { hasSubMenu } = useSharedStore() @@ -73,6 +74,8 @@ const MainRouter: FC = () => { } /> } /> } /> + + } /> diff --git a/src/shared/SideBar.tsx b/src/shared/SideBar.tsx index 736a2e4..a194759 100644 --- a/src/shared/SideBar.tsx +++ b/src/shared/SideBar.tsx @@ -2,7 +2,7 @@ import { type FC, useEffect } from 'react' import LogoImage from '../assets/images/logo.svg' import LogoSmall from '../assets/images/logo-small.svg' import { useTranslation } from 'react-i18next' -import { DocumentText, Home2, Logout, Message, NotificationStatus, People, Setting2, TicketDiscount, Chart, Calendar, Security, Card, SecurityUser } from 'iconsax-react' +import { DocumentText, Home2, Logout, Message, NotificationStatus, People, Setting2, TicketDiscount, Chart, Calendar, Security, Card, SecurityUser, TruckFast } from 'iconsax-react' import SideBarItem from './SideBarItem' import { useLocation } from 'react-router-dom' import { Pages } from '../config/Pages' @@ -120,6 +120,15 @@ const SideBar: FC = () => { activeName='admins' /> + } + title={t('sidebar.shipment_methods')} + isActive={isActive('shipment_methods')} + link={Pages.shipment_methods.list} + name='shipment_methods' + activeName='shipment_methods' + /> + } title={t('sidebar.discount')}