number establishedYear
deploy to danak / build_and_deploy (push) Has been cancelled

This commit is contained in:
hamid zarghami
2026-06-20 10:02:15 +03:30
parent 15655e0a32
commit a6ff4c6967
2 changed files with 18 additions and 8 deletions
+17 -7
View File
@@ -28,9 +28,13 @@ const validationSchema = yup.object({
longitude: yup.number().required("انتخاب موقعیت روی نقشه الزامی است"),
description: yup.string().nullable(),
establishedYear: yup
.string()
.number()
.nullable()
.matches(/^$|^\d{4}$/, "سال تاسیس باید ۴ رقم باشد"),
.transform((value, originalValue) => (originalValue === "" ? null : value))
.test("four-digits", "سال تاسیس باید ۴ رقم باشد", (value) => {
if (value == null) return true;
return String(value).length === 4;
}),
});
const GeneralSettings: FC = () => {
@@ -52,11 +56,14 @@ const GeneralSettings: FC = () => {
description: "",
logo: "",
serviceArea: undefined,
establishedYear: "",
establishedYear: undefined,
},
validationSchema,
onSubmit: (values) => {
const submitSettings = (logoUrl?: string) => {
if (values.establishedYear) {
values.establishedYear = Number(values.establishedYear);
}
const settingsData: UpdateRestaurantType = {
...values,
logo: logoUrl || values.logo || "",
@@ -69,7 +76,7 @@ const GeneralSettings: FC = () => {
setLogoFile([]);
},
onError: (error: unknown) => {
toast.error("خطا در ذخیره تنظیمات");
toast.error(extractErrorMessage(error));
console.error(error);
},
});
@@ -106,7 +113,7 @@ const GeneralSettings: FC = () => {
description: restaurantData.description || "",
logo: restaurantData.logo || "",
serviceArea: restaurantData.serviceArea || undefined,
establishedYear: restaurantData.establishedYear?.toString() || "",
establishedYear: restaurantData.establishedYear ?? undefined,
});
}
// eslint-disable-next-line react-hooks/exhaustive-deps
@@ -178,8 +185,11 @@ const GeneralSettings: FC = () => {
label="سال تاسیس"
name="establishedYear"
type="number"
value={formik.values.establishedYear}
onChange={formik.handleChange}
value={formik.values.establishedYear ?? ""}
onChange={(e) => {
const val = e.target.value;
formik.setFieldValue("establishedYear", val === "" ? undefined : Number(val));
}}
onBlur={formik.handleBlur}
error_text={formik.touched.establishedYear && formik.errors.establishedYear ? formik.errors.establishedYear : undefined}
placeholder="مثال: 1400"
+1 -1
View File
@@ -17,7 +17,7 @@ export type UpdateRestaurantType = {
latitude?: number;
longitude?: number;
description?: string;
establishedYear?: string;
establishedYear?: number;
serviceArea?: GeoJSONPolygon;
score?: {
purchaseAmount: string;