structure payment methods

This commit is contained in:
hamid zarghami
2025-11-23 09:59:37 +03:30
parent c984e719d7
commit 342acaac96
7 changed files with 64 additions and 2 deletions
+5
View File
@@ -10,6 +10,11 @@ export const Pages = {
update: "/schedule/update/",
create: "/schedule/create",
},
payment_methods: {
list: "/payment_methods/list",
add: "/payment_methods/add",
update: "/payment_methods/update/",
},
foods: {
list: "/foods/list",
add: "/foods/add",
+8 -1
View File
@@ -61,7 +61,8 @@
"comments": "نظرات",
"setting": "تنظیمات",
"logout": "خروج",
"roles": "سطح دسترسی ها"
"roles": "سطح دسترسی ها",
"payment_methods": "روش های پرداخت"
},
"slider": {
"new_slider": "اسلایدر جدید",
@@ -821,5 +822,11 @@
"5": "پنج‌شنبه",
"6": "جمعه"
}
},
"payment_methods": {
"payment_methods": "روش های پرداخت",
"payment_methods_list": "لیست روش های پرداخت",
"payment_methods_add": "افزودن روش پرداخت",
"payment_methods_update": "ویرایش روش پرداخت"
}
}
+11
View File
@@ -0,0 +1,11 @@
import { type FC } from 'react'
const PaymentMethodsList: FC = () => {
return (
<div className='mt-5'>
<h1 className='text-lg font-light'>لیست روش های پرداخت</h1>
</div>
)
}
export default PaymentMethodsList
@@ -0,0 +1,16 @@
import * as api from "../service/PaymentMethodService";
import { useQuery } from "@tanstack/react-query";
export const useGetPaymentMethods = () => {
return useQuery({
queryKey: ["payment-methods"],
queryFn: api.getPaymentMethods,
});
};
export const useGetRestaurantPaymentMethods = () => {
return useQuery({
queryKey: ["restaurant-payment-methods"],
queryFn: api.getRestaurantPaymentMethods,
});
};
@@ -0,0 +1,11 @@
import axios from "@/config/axios";
export const getPaymentMethods = async () => {
const { data } = await axios.get("/admin/payment-methods");
return data;
};
export const getRestaurantPaymentMethods = async () => {
const { data } = await axios.get("/admin/restaurant-payment-methods");
return data;
};
+3
View File
@@ -24,6 +24,7 @@ import CreateRole from '@/pages/roles/Create'
import UpdateRole from '@/pages/roles/Update'
import UpdateSchedule from '@/pages/schedule/Update'
import Setting from '@/pages/settings/Setting'
import PaymentMethodsList from '@/pages/paymentMethods/List'
const MainRouter: FC = () => {
const { hasSubMenu } = useSharedStore()
@@ -59,6 +60,8 @@ const MainRouter: FC = () => {
<Route path={Pages.roles.add} element={<CreateRole />} />
<Route path={Pages.roles.update + ':id'} element={<UpdateRole />} />
<Route path={Pages.setting} element={<Setting />} />
<Route path={Pages.payment_methods.list} element={<PaymentMethodsList />} />
</Routes>
</div>
</div>
+10 -1
View File
@@ -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 } from 'iconsax-react'
import { DocumentText, Home2, Logout, Message, NotificationStatus, People, Setting2, TicketDiscount, Chart, Calendar, Security, Card } from 'iconsax-react'
import SideBarItem from './SideBarItem'
import { useLocation } from 'react-router-dom'
import { Pages } from '../config/Pages'
@@ -85,6 +85,15 @@ const SideBar: FC = () => {
activeName='schedule'
/>
<SideBarItem
icon={<Card variant={isActive('payment_methods') ? 'Bold' : 'Outline'} color={isActive('payment_methods') ? 'black' : '#8C90A3'} size={iconSizeSideBar} />}
title={t('sidebar.payment_methods')}
isActive={isActive('payment_methods')}
link={Pages.payment_methods.list}
name='payment_methods'
activeName='payment_methods'
/>
<SideBarItem
icon={<DocumentText variant={isActive('orders') ? 'Bold' : 'Outline'} color={isActive('orders') ? 'black' : '#8C90A3'} size={iconSizeSideBar} />}
title={t('sidebar.orders')}