add order in category

This commit is contained in:
hamid zarghami
2026-01-05 11:14:36 +03:30
parent 7b2a86d3cd
commit 43be71afef
3 changed files with 22 additions and 4 deletions
+9 -4
View File
@@ -20,6 +20,7 @@ import { extractErrorMessage } from '@/config/func'
type CategoryFormValues = { type CategoryFormValues = {
title: string title: string
icon: File[] icon: File[]
order: number
} }
const CategoryFood: FC = () => { const CategoryFood: FC = () => {
@@ -47,7 +48,8 @@ const CategoryFood: FC = () => {
const formik = useFormik<CategoryFormValues>({ const formik = useFormik<CategoryFormValues>({
initialValues: { initialValues: {
title: '', title: '',
icon: [] icon: [],
order: 0
}, },
validationSchema: Yup.object().shape({ validationSchema: Yup.object().shape({
title: Yup.string().required('عنوان دسته‌بندی الزامی است') title: Yup.string().required('عنوان دسته‌بندی الزامی است')
@@ -57,7 +59,8 @@ const CategoryFood: FC = () => {
const categoryData: CreateCategoryType = { const categoryData: CreateCategoryType = {
title: values.title, title: values.title,
isActive, isActive,
avatarUrl: avatarUrl || selectedIconUrl || editingCategory?.avatarUrl || '' avatarUrl: avatarUrl || selectedIconUrl || editingCategory?.avatarUrl || '',
order: values.order
} }
if (editingCategory) { if (editingCategory) {
@@ -115,7 +118,8 @@ const CategoryFood: FC = () => {
const handleEdit = (category: Category) => { const handleEdit = (category: Category) => {
formik.setValues({ formik.setValues({
title: category.title, title: category.title,
icon: [] icon: [],
order: category.order || 0
}) })
setIsActive(category.isActive) setIsActive(category.isActive)
setIconFiles([]) setIconFiles([])
@@ -151,7 +155,8 @@ const CategoryFood: FC = () => {
const categoryData: CreateCategoryType = { const categoryData: CreateCategoryType = {
title: category.title, title: category.title,
isActive: value, isActive: value,
avatarUrl: category.avatarUrl avatarUrl: category.avatarUrl,
order: category.order || 0
} }
updateCategory( updateCategory(
{ id, params: categoryData }, { id, params: categoryData },
@@ -10,6 +10,7 @@ import IconSelectModal from './IconSelectModal'
type CategoryFormValues = { type CategoryFormValues = {
title: string title: string
icon: File[] icon: File[]
order: number
} }
type Props = { type Props = {
@@ -66,6 +67,17 @@ const CategoryForm: FC<Props> = ({
/> />
</div> </div>
<div className="mb-3 lg:mb-4">
<Input
label="اولویت"
name="order"
type="number"
value={formik.values.order}
onChange={(e) => formik.setFieldValue('order', Number(e.target.value))}
error_text={formik.touched.order && formik.errors.order ? formik.errors.order : ''}
/>
</div>
<div className="mb-4 lg:mb-6"> <div className="mb-4 lg:mb-6">
<div className="text-xs lg:text-sm mb-2 font-medium">آیکون دسته بندی</div> <div className="text-xs lg:text-sm mb-2 font-medium">آیکون دسته بندی</div>
<Button <Button
+1
View File
@@ -127,6 +127,7 @@ export type CreateCategoryType = {
title: string; title: string;
isActive: boolean; isActive: boolean;
avatarUrl: string; avatarUrl: string;
order: number;
}; };
export type Icon = { export type Icon = {