structure shipment method
This commit is contained in:
@@ -61,4 +61,9 @@ export const Pages = {
|
|||||||
add: "/admins/add",
|
add: "/admins/add",
|
||||||
update: "/admins/update/",
|
update: "/admins/update/",
|
||||||
},
|
},
|
||||||
|
shipment_methods: {
|
||||||
|
list: "/shipment_methods/list",
|
||||||
|
add: "/shipment_methods/add",
|
||||||
|
update: "/shipment_methods/update/",
|
||||||
|
},
|
||||||
};
|
};
|
||||||
|
|||||||
+2
-1
@@ -63,7 +63,8 @@
|
|||||||
"logout": "خروج",
|
"logout": "خروج",
|
||||||
"roles": "سطح دسترسی ها",
|
"roles": "سطح دسترسی ها",
|
||||||
"payment_methods": "روش های پرداخت",
|
"payment_methods": "روش های پرداخت",
|
||||||
"admins": "مدیران"
|
"admins": "مدیران",
|
||||||
|
"shipment_methods": "روش های ارسال"
|
||||||
},
|
},
|
||||||
"slider": {
|
"slider": {
|
||||||
"new_slider": "اسلایدر جدید",
|
"new_slider": "اسلایدر جدید",
|
||||||
|
|||||||
@@ -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 (
|
||||||
|
<div className='mt-5'>
|
||||||
|
<div className='flex justify-between items-center'>
|
||||||
|
<h1 className='text-lg font-light'>لیست روش های ارسال</h1>
|
||||||
|
<Link to={Pages.shipment_methods.add}>
|
||||||
|
<Button className='w-fit px-6'>
|
||||||
|
<div className='flex gap-2 items-center'>
|
||||||
|
<Add color='#fff' size={20} />
|
||||||
|
<span>افزودن روش ارسال</span>
|
||||||
|
</div>
|
||||||
|
</Button>
|
||||||
|
</Link>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
)
|
||||||
|
}
|
||||||
|
|
||||||
|
export default ShipmentMethodList
|
||||||
@@ -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,
|
||||||
|
});
|
||||||
|
};
|
||||||
@@ -0,0 +1,6 @@
|
|||||||
|
import axios from "@/config/axios";
|
||||||
|
|
||||||
|
export const getRestaurantShipmentMethods = async () => {
|
||||||
|
const { data } = await axios.get("/admin/restaurant-shipment-methods");
|
||||||
|
return data;
|
||||||
|
};
|
||||||
@@ -30,6 +30,7 @@ import UpdatePaymentMethod from '@/pages/paymentMethods/Update'
|
|||||||
import AdminList from '@/pages/admin/List'
|
import AdminList from '@/pages/admin/List'
|
||||||
import CreateAdmin from '@/pages/admin/Create'
|
import CreateAdmin from '@/pages/admin/Create'
|
||||||
import UpdateAdmin from '@/pages/admin/Update'
|
import UpdateAdmin from '@/pages/admin/Update'
|
||||||
|
import ShipmentMethodList from '@/pages/shipmentMethod/List'
|
||||||
const MainRouter: FC = () => {
|
const MainRouter: FC = () => {
|
||||||
|
|
||||||
const { hasSubMenu } = useSharedStore()
|
const { hasSubMenu } = useSharedStore()
|
||||||
@@ -73,6 +74,8 @@ const MainRouter: FC = () => {
|
|||||||
<Route path={Pages.admins.list} element={<AdminList />} />
|
<Route path={Pages.admins.list} element={<AdminList />} />
|
||||||
<Route path={Pages.admins.add} element={<CreateAdmin />} />
|
<Route path={Pages.admins.add} element={<CreateAdmin />} />
|
||||||
<Route path={Pages.admins.update + ':id'} element={<UpdateAdmin />} />
|
<Route path={Pages.admins.update + ':id'} element={<UpdateAdmin />} />
|
||||||
|
|
||||||
|
<Route path={Pages.shipment_methods.list} element={<ShipmentMethodList />} />
|
||||||
</Routes>
|
</Routes>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
+10
-1
@@ -2,7 +2,7 @@ import { type FC, useEffect } from 'react'
|
|||||||
import LogoImage from '../assets/images/logo.svg'
|
import LogoImage from '../assets/images/logo.svg'
|
||||||
import LogoSmall from '../assets/images/logo-small.svg'
|
import LogoSmall from '../assets/images/logo-small.svg'
|
||||||
import { useTranslation } from 'react-i18next'
|
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 SideBarItem from './SideBarItem'
|
||||||
import { useLocation } from 'react-router-dom'
|
import { useLocation } from 'react-router-dom'
|
||||||
import { Pages } from '../config/Pages'
|
import { Pages } from '../config/Pages'
|
||||||
@@ -120,6 +120,15 @@ const SideBar: FC = () => {
|
|||||||
activeName='admins'
|
activeName='admins'
|
||||||
/>
|
/>
|
||||||
|
|
||||||
|
<SideBarItem
|
||||||
|
icon={<TruckFast variant={isActive('shipment_methods') ? 'Bold' : 'Outline'} color={isActive('shipment_methods') ? 'black' : '#8C90A3'} size={iconSizeSideBar} />}
|
||||||
|
title={t('sidebar.shipment_methods')}
|
||||||
|
isActive={isActive('shipment_methods')}
|
||||||
|
link={Pages.shipment_methods.list}
|
||||||
|
name='shipment_methods'
|
||||||
|
activeName='shipment_methods'
|
||||||
|
/>
|
||||||
|
|
||||||
<SideBarItem
|
<SideBarItem
|
||||||
icon={<TicketDiscount variant={isActive('discounts') ? 'Bold' : 'Outline'} color={isActive('discounts') ? 'black' : '#8C90A3'} size={iconSizeSideBar} />}
|
icon={<TicketDiscount variant={isActive('discounts') ? 'Bold' : 'Outline'} color={isActive('discounts') ? 'black' : '#8C90A3'} size={iconSizeSideBar} />}
|
||||||
title={t('sidebar.discount')}
|
title={t('sidebar.discount')}
|
||||||
|
|||||||
Reference in New Issue
Block a user