add avaiable stock
deploy to danak / build_and_deploy (push) Has been cancelled

This commit is contained in:
2026-06-18 18:23:45 +03:30
parent 8e27bf39e8
commit 59f892cb10
4 changed files with 34 additions and 2 deletions
+16 -1
View File
@@ -50,6 +50,7 @@ const CreateFood: FC = () => {
images: [],
isSpecialOffer: false,
dailyStock: 0,
availableStock: 0,
order: 0
},
validationSchema: Yup.object().shape({
@@ -59,6 +60,9 @@ const CreateFood: FC = () => {
prepareTime: Yup.number().required('زمان آماده‌سازی الزامی است').min(0, 'زمان آماده‌سازی باید مثبت باشد'),
discount: Yup.number().min(0, 'تخفیف باید مثبت باشد'),
dailyStock: Yup.number().required('موجودی روزانه الزامی است').min(0, 'موجودی روزانه باید مثبت باشد'),
availableStock: Yup.number()
.required('موجودی فعلی الزامی است')
.min(0, 'موجودی فعلی باید مثبت باشد'),
content: Yup.array().of(Yup.string()),
weekDays: Yup.array().of(Yup.number()),
mealTypes: Yup.array().of(Yup.string())
@@ -147,7 +151,7 @@ const CreateFood: FC = () => {
/>
</div>
<div className='grid grid-cols-1 sm:grid-cols-2 lg:grid-cols-4 gap-4 mt-5'>
<div className='grid grid-cols-1 sm:grid-cols-2 lg:grid-cols-5 gap-4 mt-5'>
<Input
name='price'
label='قیمت'
@@ -190,6 +194,17 @@ const CreateFood: FC = () => {
onChange={(e) => formik.setFieldValue('dailyStock', Number(e.target.value))}
error_text={formik.touched.dailyStock && formik.errors.dailyStock ? formik.errors.dailyStock : ''}
/>
<Input
name='availableStock'
label='موجودی فعلی'
placeholder='عدد'
type='number'
seprator={true}
value={formik.values.availableStock}
onChange={(e) => formik.setFieldValue('availableStock', Number(e.target.value))}
error_text={formik.touched.availableStock && formik.errors.availableStock ? formik.errors.availableStock : ''}
/>
</div>
<div className='mt-5'>
+5
View File
@@ -53,6 +53,7 @@ const UpdateFood: FC = () => {
images: [],
isSpecialOffer: false,
dailyStock: 0,
availableStock: 0,
order: 0
},
validationSchema: Yup.object().shape({
@@ -62,6 +63,9 @@ const UpdateFood: FC = () => {
prepareTime: Yup.number().required('زمان آماده‌سازی الزامی است').min(0, 'زمان آماده‌سازی باید مثبت باشد'),
discount: Yup.number().min(0, 'تخفیف باید مثبت باشد'),
dailyStock: Yup.number().required('موجودی روزانه الزامی است').min(0, 'موجودی روزانه باید مثبت باشد'),
availableStock: Yup.number()
.required('موجودی فعلی الزامی است')
.min(0, 'موجودی فعلی باید مثبت باشد'),
content: Yup.array().of(Yup.string()),
weekDays: Yup.array().of(Yup.number()),
mealTypes: Yup.array().of(Yup.string())
@@ -127,6 +131,7 @@ const UpdateFood: FC = () => {
images: food.images || [],
isSpecialOffer: food.isSpecialOffer || false,
dailyStock: food.inventory?.totalStock || 0,
availableStock: food.inventory?.availableStock || 0,
order: food.order || 0
})
setIsActive(food.isActive || false)
+12 -1
View File
@@ -37,7 +37,7 @@ const BasicInfoSection: FC<BasicInfoSectionProps> = ({ formik, categories }) =>
/>
</div>
<div className='grid grid-cols-1 sm:grid-cols-2 lg:grid-cols-4 gap-4 mt-5'>
<div className='grid grid-cols-1 sm:grid-cols-2 lg:grid-cols-5 gap-4 mt-5'>
<Input
name='price'
label='قیمت'
@@ -80,6 +80,17 @@ const BasicInfoSection: FC<BasicInfoSectionProps> = ({ formik, categories }) =>
onChange={(e) => formik.setFieldValue('dailyStock', Number(e.target.value))}
error_text={formik.touched.dailyStock && formik.errors.dailyStock ? formik.errors.dailyStock : ''}
/>
<Input
name='availableStock'
label='موجودی فعلی'
placeholder='عدد'
type='number'
seprator={true}
value={formik.values.availableStock}
onChange={(e) => formik.setFieldValue('availableStock', Number(e.target.value))}
error_text={formik.touched.availableStock && formik.errors.availableStock ? formik.errors.availableStock : ''}
/>
</div>
<div className='mt-5'>
+1
View File
@@ -16,6 +16,7 @@ export type CreateFoodType = {
discount: number;
isSpecialOffer: boolean;
dailyStock: number;
availableStock: number;
order: number;
};