@timardex/cluemart-shared 1.0.73 → 1.0.75
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/formFields/index.cjs +21 -14
- package/dist/formFields/index.cjs.map +1 -1
- package/dist/formFields/index.d.mts +2 -2
- package/dist/formFields/index.d.ts +2 -2
- package/dist/formFields/index.mjs +21 -14
- package/dist/formFields/index.mjs.map +1 -1
- package/dist/{global-Dqtku_n8.d.mts → global-2TLPFthS.d.mts} +2 -1
- package/dist/{global-Cpfu9Dud.d.ts → global-Drk9CYfv.d.ts} +2 -1
- package/dist/graphql/index.cjs +8 -9
- package/dist/graphql/index.cjs.map +1 -1
- package/dist/graphql/index.d.mts +1 -1
- package/dist/graphql/index.d.ts +1 -1
- package/dist/graphql/index.mjs +8 -9
- package/dist/graphql/index.mjs.map +1 -1
- package/dist/hooks/index.cjs +23 -22
- package/dist/hooks/index.cjs.map +1 -1
- package/dist/hooks/index.d.mts +1 -1
- package/dist/hooks/index.d.ts +1 -1
- package/dist/hooks/index.mjs +23 -22
- package/dist/hooks/index.mjs.map +1 -1
- package/dist/index.cjs +52 -45
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.mts +3 -2
- package/dist/index.d.ts +3 -2
- package/dist/index.mjs +52 -45
- package/dist/index.mjs.map +1 -1
- package/dist/types/index.d.mts +1 -1
- package/dist/types/index.d.ts +1 -1
- package/dist/utils/index.d.mts +1 -1
- package/dist/utils/index.d.ts +1 -1
- package/package.json +1 -1
package/dist/hooks/index.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/hooks/useLocationSearch.ts","../../src/hooks/stallholder/useStallholderForm.ts","../../src/yupSchema/global.ts","../../src/yupSchema/market.ts","../../src/yupSchema/stallholder.ts","../../src/yupSchema/user.ts","../../src/yupSchema/auth.ts","../../src/yupSchema/testers.ts","../../src/hooks/utils.ts","../../src/hooks/stallholder/useStallholderInfoForm.ts","../../src/hooks/market/useMarketForm.ts","../../src/hooks/market/useMarketInfoForm.ts","../../src/hooks/useUserForm.ts","../../src/hooks/auth/useLoginForm.ts","../../src/hooks/auth/useRegisterForm.ts","../../src/hooks/auth/useRequestPasswordResetForm.ts","../../src/hooks/auth/useValidateVerificationTokenForm.ts","../../src/hooks/auth/useResetPasswordForm.ts","../../src/hooks/useTestersForm.ts","../../src/hooks/useContactUsForm.ts","../../src/yupSchema/contactUs.ts"],"sourcesContent":["/* eslint-disable camelcase */\nimport { LocationType } from \"../types/global\";\n\nexport interface PlacePrediction {\n place_id: string;\n description: string;\n}\n\ninterface PlaceDetails {\n address_components: {\n long_name: string;\n short_name: string;\n types: string[];\n }[];\n formatted_address: string;\n geometry: {\n location: {\n lat: number;\n lng: number;\n };\n };\n url: string;\n}\n\ninterface UseLocation {\n getPredictions: (text: string) => Promise<PlacePrediction[] | undefined>;\n getPlaceDetails: (placeId: string) => Promise<LocationType | undefined>;\n}\n\n/** Handles API request errors */\nconst handleApiError = (error: unknown, message: string) => {\n console.error(message, error);\n};\n\n/**\n * Custom hook to manage location search functionality.\n *\n * @returns {UseLocation} - The functions to get predictions and place details.\n */\nexport const useLocationSearch = (googleApi: string): UseLocation => {\n const getPredictions = async (\n text: string,\n ): Promise<PlacePrediction[] | undefined> => {\n try {\n const response = await fetch(\n `https://maps.googleapis.com/maps/api/place/autocomplete/json?input=${text}&components=country:nz&key=${googleApi}`,\n );\n\n if (!response.ok) {\n throw new Error(`HTTP error! Status: ${response.status}`);\n }\n\n const data = await response.json();\n return data.predictions;\n } catch (error) {\n console.error(\"Error fetching predictions:\", error);\n handleApiError(error, \"Failed to fetch address predictions.\");\n }\n };\n\n const getPlaceDetails = async (\n placeId: string,\n ): Promise<LocationType | undefined> => {\n try {\n const response = await fetch(\n `https://maps.googleapis.com/maps/api/place/details/json?place_id=${placeId}&key=${googleApi}`,\n );\n\n if (!response.ok) {\n throw new Error(`HTTP error! Status: ${response.status}`);\n }\n\n const data = (await response.json()) as { result: PlaceDetails };\n const { result } = data;\n const { lat, lng } = result.geometry.location;\n const { address_components, formatted_address } = result;\n\n const address = address_components.reduce((acc, item) => {\n if (item.types.includes(\"street_number\")) {\n return { ...acc, streetNumber: item.long_name };\n }\n if (item.types.includes(\"route\")) {\n return { ...acc, streetName: item.long_name };\n }\n if (item.types.includes(\"locality\")) {\n return { ...acc, city: item.long_name };\n }\n if (item.types.includes(\"administrative_area_level_1\")) {\n return { ...acc, region: item.long_name };\n }\n if (item.types.includes(\"country\")) {\n return { ...acc, country: item.long_name };\n }\n return acc;\n }, {} as LocationType);\n\n const newLocation = {\n city: address.city.toLowerCase(),\n coordinates: [lng, lat], // [longitude, latitude]\n country: address.country,\n fullAddress: formatted_address,\n latitude: lat,\n longitude: lng,\n region: address.region.replace(/ Region$/, \"\"), // Remove \" Region\" suffix\n type: \"Point\" as const, // Mongoose GeoJSON type\n };\n\n return newLocation;\n } catch (error) {\n handleApiError(error, \"Failed to fetch place details.\");\n }\n };\n\n return {\n getPlaceDetails,\n getPredictions,\n };\n};\n","import { yupResolver } from \"@hookform/resolvers/yup\";\nimport * as React from \"react\";\nimport { useForm } from \"react-hook-form\";\n\nimport {\n CreateStallholderFormData,\n StallholderFormData,\n} from \"../../types/stallholder\";\nimport { stallHolderSchema } from \"../../yupSchema\";\nimport {\n defaultStallholderFormValues,\n mapBaseResourceTypeToFormData,\n} from \"../utils\";\n\n/**\n * Custom hook to manage the stallholder form state and validation.\n *\n * @param {StallholderFormData} data - The initial form data.\n * @returns {CreateStallholderFormData} - The form methods and state.\n */\nexport function useStallholderForm(\n data?: StallholderFormData,\n): CreateStallholderFormData {\n const {\n control,\n formState: { errors },\n getValues,\n handleSubmit,\n reset,\n setValue,\n watch,\n } = useForm<StallholderFormData>({\n defaultValues: defaultStallholderFormValues,\n resolver: yupResolver(stallHolderSchema),\n });\n\n React.useEffect(() => {\n if (data) {\n reset({\n ...mapBaseResourceTypeToFormData(data),\n categories: data.categories,\n locations: data.locations,\n multiLocation: data.multiLocation,\n products: data.products,\n specialities: data.specialities,\n });\n } else {\n reset(defaultStallholderFormValues);\n }\n }, [data]);\n\n const {\n _id,\n active,\n categories,\n cover,\n coverUpload,\n description,\n images,\n imagesUpload,\n locations,\n logo,\n logoUpload,\n multiLocation,\n name,\n products,\n promoCode,\n socialMedia,\n region,\n specialities,\n } = getValues();\n\n return {\n control,\n fields: {\n _id,\n active,\n categories,\n cover,\n coverUpload,\n description,\n images,\n imagesUpload,\n locations,\n logo,\n logoUpload,\n multiLocation,\n name,\n products,\n promoCode,\n region,\n socialMedia,\n specialities,\n },\n formState: { errors },\n handleSubmit,\n reset,\n setValue,\n watch,\n };\n}\n","/* eslint-disable sort-keys */\nimport dayjs from \"dayjs\";\nimport customParseFormat from \"dayjs/plugin/customParseFormat.js\";\nimport isSameOrAfter from \"dayjs/plugin/isSameOrAfter.js\";\nimport * as yup from \"yup\";\nimport { TestFunction } from \"yup\";\n\nimport { EnumSocialMedia } from \"src/enums\";\n\nimport { dateFormat, normalizeUrl, timeFormat } from \"../utils\";\n\ntype NoLeadingZerosOptions = {\n allowDecimal?: boolean;\n};\n\nexport const normalizedUrlTransform = () =>\n yup\n .string()\n .trim()\n .transform((value) =>\n typeof value === \"string\" ? value.toLowerCase() : value,\n )\n .transform((value) =>\n typeof value === \"string\" ? normalizeUrl(value) : value,\n );\n\nexport const noLeadingZeros = (\n fieldName: string,\n options: NoLeadingZerosOptions = {},\n): TestFunction<number | undefined> => {\n return function (value, context) {\n const original = context.originalValue?.toString() ?? \"\";\n\n const regex = options.allowDecimal\n ? /^0\\d+(\\.\\d+)?$/ // e.g. \"03\", \"03.5\", \"0002.75\"\n : /^0\\d+$/; // e.g. \"01\", \"0001\"\n\n if (regex.test(original)) {\n return context.createError({\n message: `${fieldName} must not have leading zeros`,\n });\n }\n\n return true;\n };\n};\n\ndayjs.extend(isSameOrAfter);\ndayjs.extend(customParseFormat);\n\nconst now = dayjs(); // Current date and time\n\n// DATE AND TIME SCHEMA\nexport const endDateNotInPastTest = yup\n .string()\n .test(\"not-in-past\", \"End date cannot be in the past\", (value) => {\n return value\n ? dayjs(value, dateFormat, true).isSameOrAfter(now, \"day\")\n : false;\n });\n\nexport const startDateNotInPastTest = yup\n .string()\n .test(\"not-in-past\", \"Start date cannot be in the past\", (value) => {\n return value\n ? dayjs(value, dateFormat, true).isSameOrAfter(now, \"day\")\n : false;\n });\n\nexport const endDateAfterStartDateTest = yup\n .string()\n .test(\n \"end-after-start\",\n \"End date cannot be before start date\",\n function (value) {\n const { startDate } = this.parent;\n if (!startDate || !value) return false;\n return dayjs(value, dateFormat, true).isSameOrAfter(\n dayjs(startDate, dateFormat, true),\n \"day\",\n );\n },\n );\n\nexport const endTimeMustBeAfterStartTimeTest = yup\n .string()\n .test(\n \"valid-end-time\",\n \"End time must be after start time\",\n function (value) {\n const { startDate, endDate, startTime } = this.parent;\n if (!startDate || !endDate || !startTime || !value) return false;\n\n const startDateTime = dayjs(\n `${startDate} ${startTime}`,\n `${dateFormat} ${timeFormat}`,\n true,\n );\n const endDateTime = dayjs(\n `${endDate} ${value}`,\n `${dateFormat} ${timeFormat}`,\n true,\n );\n\n return endDateTime.isAfter(startDateTime);\n },\n );\n\nexport const startTimeCannotBeInPastTest = yup\n .string()\n .test(\n \"valid-start-time\",\n \"Start time cannot be in the past\",\n function (value) {\n const { startDate } = this.parent;\n if (!startDate || !value) return false;\n const startDateTime = dayjs(\n `${startDate} ${value}`,\n `${dateFormat} ${timeFormat}`,\n true,\n );\n return startDateTime.isSameOrAfter(now);\n },\n );\n\nexport const dateTimeSchema = yup.object().shape({\n endDate: yup\n .string()\n .label(\"End Date\")\n .concat(endDateNotInPastTest)\n .concat(endDateAfterStartDateTest)\n .required(\"End date is required\"),\n endTime: yup\n .string()\n .label(\"End Time\")\n .concat(endTimeMustBeAfterStartTimeTest)\n .required(\"End time is required\"),\n startDate: yup\n .string()\n .label(\"Start Date\")\n .concat(startDateNotInPastTest)\n .required(\"Start date is required\"),\n startTime: yup\n .string()\n .label(\"Start Time\")\n .concat(startTimeCannotBeInPastTest)\n .required(\"Start time is required\"),\n});\n\nconst stallTypesSchema = yup.object({\n label: yup\n .string()\n .trim()\n .label(\"Stall Label\")\n .required(\"Stall label is required\"),\n price: yup\n .number()\n .label(\"Stall Price\")\n .min(0.1, \"Stall price must be at least 0.1\")\n .required(\"Stall price is required\")\n .test(\n \"no-leading-zeros\",\n \"\",\n noLeadingZeros(\"Stall price\", { allowDecimal: true }),\n ),\n stallCapacity: yup\n .number()\n .typeError(\"Stall capacity must be a number\")\n .min(1, \"Stall capacity must be at least 1\")\n .integer(\"Stall capacity must be a whole number\")\n .required(\"Stall capacity is required\")\n .test(\"no-leading-zeros\", \"\", noLeadingZeros(\"Stall capacity\")),\n});\n\nexport const dateTimeWithPriceSchema = dateTimeSchema.shape({\n stallTypes: yup\n .array()\n .of(stallTypesSchema)\n .min(1, \"At least one stall type is required\")\n .required(\"Stall types are required\"),\n});\n\nexport const locationSchema = yup.object().shape({\n city: yup.string().label(\"City\").required(\"City is required\"),\n coordinates: yup\n .array()\n .of(yup.number().required(\"Coordinates must be numbers\"))\n .length(\n 2,\n \"Coordinates must contain exactly two numbers (longitude, latitude)\",\n )\n .required(\"Coordinates are required\"),\n country: yup.string().label(\"Country\").required(\"Country is required\"),\n fullAddress: yup.string().label(\"Address\").required(\"Address is required\"),\n latitude: yup.number().label(\"Latitude\").required(\"Latitude is required\"),\n longitude: yup.number().label(\"Longitude\").required(\"Longitude is required\"),\n region: yup.string().label(\"Region\").required(\"Region is required\"),\n type: yup\n .string()\n .oneOf([\"Point\"], \"Type must be 'Point'\")\n .default(\"Point\")\n .required(\"Type is required\"),\n});\n\n// ✅ Reusable Email Schema\nexport const emailSchema = yup\n .string()\n .email(\"Invalid email address\")\n .required(\"Email is required\")\n .label(\"Email\")\n .transform((value) =>\n typeof value === \"string\" ? value.toLowerCase() : value,\n );\n\n// ✅ Reusable Password Schema\nexport const passwordSchema = yup\n .string()\n .trim()\n .label(\"Password\")\n .min(8, \"Password must be at least 8 characters long\")\n .required(\"Password is required\");\n\nconst socialMediaSchema = yup.object({\n name: yup\n .mixed<EnumSocialMedia>()\n .oneOf(Object.values(EnumSocialMedia))\n .label(\"Social Media Name\")\n .optional(),\n link: yup.string().when(\"name\", {\n is: (name: EnumSocialMedia | undefined) => !!name, // If name has a value\n then: () =>\n normalizedUrlTransform()\n .required(\"Link is required when name is set\")\n .url(\"Link must be a valid URL\")\n .label(\"Social Media Link\"),\n otherwise: (schema) => schema.notRequired(),\n }),\n});\n\nexport const globalResourceSchema = yup.object().shape({\n active: yup.boolean().required(\"Active is required\"),\n cover: yup.object({\n source: yup.string().label(\"Cover\").required(\"Cover is required\"),\n title: yup.string().label(\"Cover Title\").required(\"Cover is required\"),\n }),\n description: yup\n .string()\n .label(\"Description\")\n .trim()\n .min(3)\n .required(\"Description is required\"),\n name: yup.string().label(\"Name\").trim().min(3).required(\"Name is required\"),\n region: yup.string().label(\"Region\").required(\"Region is required\"),\n socialMedia: yup.array().of(socialMediaSchema).nullable().optional(),\n});\n","/* eslint-disable sort-keys */\nimport * as yup from \"yup\";\n\nimport { EnumPaymentMethod } from \"../enums\";\n\nimport {\n dateTimeSchema,\n dateTimeWithPriceSchema,\n globalResourceSchema,\n locationSchema,\n noLeadingZeros,\n normalizedUrlTransform,\n} from \"./global\";\n\nconst nzBankAccountRegex = /^\\d{2}-\\d{4}-\\d{7}-\\d{2}$/;\n\nexport const marketSchema = globalResourceSchema.shape({\n dateTime: yup\n .array()\n .of(dateTimeSchema)\n .min(1, \"At least one Market date required\")\n .required(\"DateTime is required\")\n .test(\n \"unique-start-date-time\",\n \"Start Date and Time must be unique\",\n function (value) {\n if (!value) return true;\n\n const seen = new Set();\n for (const item of value) {\n if (!item.startDate || !item.startTime) continue;\n\n const key = `${item.startDate}-${item.startTime}`;\n if (seen.has(key)) {\n return false; // duplicate found\n }\n seen.add(key);\n }\n return true;\n },\n ),\n location: locationSchema,\n provider: yup\n .string()\n .label(\"Provider\")\n .trim()\n .min(3)\n .required(\"Provider is required\"),\n tags: yup\n .array()\n .of(yup.string().defined())\n .min(1, \"Tags are required\")\n .required(\"Tags are required\"),\n});\n\nconst paymentInfoSchema = yup.object({\n paymentMethod: yup\n .mixed<EnumPaymentMethod>()\n .oneOf(Object.values(EnumPaymentMethod))\n .required(\"Please select a Payment method\"),\n\n accountHolderName: yup.string().when(\"paymentMethod\", {\n is: EnumPaymentMethod.BANK_TRANSFER,\n then: (schema) =>\n schema\n .required(\"Account holder name is required for bank transfer\")\n .trim(),\n otherwise: (schema) => schema.notRequired(),\n }),\n\n accountNumber: yup.string().when(\"paymentMethod\", {\n is: EnumPaymentMethod.BANK_TRANSFER,\n then: (schema) =>\n schema\n .required(\"Account number is required for bank transfer\")\n .matches(\n nzBankAccountRegex,\n \"Account number must be in format: XX-XXXX-XXXXXXX-XX\",\n )\n .trim(),\n otherwise: (schema) => schema.notRequired(),\n }),\n\n link: yup.string().when(\"paymentMethod\", {\n is: (val: EnumPaymentMethod) => val !== EnumPaymentMethod.BANK_TRANSFER,\n then: () =>\n normalizedUrlTransform()\n .url(\"Link must be a valid URL\")\n .required(\"Link is required for PayPal/Stripe\"),\n otherwise: (schema) => schema.notRequired(),\n }),\n});\n\nexport const marketInfoSchema = yup.object().shape({\n applicationDeadlineHours: yup\n .number()\n .nullable()\n .transform((value, originalValue) => (originalValue === \"\" ? null : value))\n .typeError(\"Application deadline hours must be a number\")\n .min(1, \"Application deadline hours must be at least 1\")\n .required(\"Application deadline hours is required\")\n .test(\"no-leading-zeros\", \"\", noLeadingZeros(\"Application deadline hours\")),\n dateTime: yup\n .array()\n .of(dateTimeWithPriceSchema)\n .required(\"DateTime is required\"),\n marketId: yup.string().trim().required(\"Market ID is required\"),\n packInTime: yup\n .number()\n .typeError(\"Pack in time must be a number\")\n .min(1, \"Pack in time must be at least 1\")\n .required(\"Pack in time is required\")\n .test(\"no-leading-zeros\", \"\", noLeadingZeros(\"Pack in time\")),\n paymentDueHours: yup\n .number()\n .typeError(\"Payment due hours must be a number\")\n .min(1, \"Payment due hours must be at least 1\")\n .required(\"Payment due hours is required\")\n .test(\"no-leading-zeros\", \"\", noLeadingZeros(\"Payment due hours\")),\n paymentInfo: yup\n .array()\n .of(paymentInfoSchema)\n .min(1, \"At least one payment info is required\")\n .required(\"Payment info is required\"),\n});\n","import * as yup from \"yup\";\n\nimport { EnumPaymentMethod } from \"../enums\";\n\nimport { globalResourceSchema } from \"./global\";\n\nexport const stallHolderSchema = globalResourceSchema.shape({\n categories: yup\n .array()\n .of(\n yup.object().shape({\n id: yup.string().required(\"Category id is required\"),\n name: yup.string().required(\"Category name is required\"),\n subcategories: yup\n .array()\n .of(\n yup.object().shape({\n id: yup.string().defined(),\n items: yup\n .array()\n .of(\n yup.object().shape({\n id: yup.string().defined(),\n name: yup.string().defined(),\n }),\n )\n .nullable(),\n name: yup.string().defined(),\n }),\n )\n .min(1, \"At least one subcategory is required\")\n .required(\"Subcategories are required\"),\n }),\n )\n .min(1, \"Category list must contain at least one item\")\n .required(\"Categories are required\"),\n multiLocation: yup.boolean().required(\"Multi location is required\"),\n products: yup\n .array()\n .of(yup.string().defined())\n .min(1, \"Product list must contain at least one item\")\n .required(\"Products are required\"),\n});\n\nexport const stallholderInfoSchema = yup.object().shape({\n electricity: yup.object().shape({\n details: yup\n .string()\n .trim()\n .test(\"details-required\", \"Please add details\", function (value) {\n return !this.parent?.isRequired || (value?.trim().length ?? 0) > 0;\n })\n .nullable(),\n isRequired: yup.boolean().required(\"Electricity requirement is required\"),\n }),\n foodSafetyGradeFiles: yup.array().of(yup.string().defined()).nullable(),\n foodSafetyGradeFilesUpload: yup.array().of(yup.string().defined()).nullable(),\n gazebo: yup.object().shape({\n details: yup\n .string()\n .trim()\n .test(\"details-required\", \"Please add details\", function (value) {\n return !this.parent?.isRequired || (value?.trim().length ?? 0) > 0;\n })\n .nullable(),\n isRequired: yup.boolean().required(\"Gazebo requirement is required\"),\n }),\n packaging: yup\n .array()\n .of(yup.string().defined())\n .min(1, \"Packaging list must contain at least one item\")\n .required(\"Packaging is required\"),\n paymentMethod: yup\n .mixed<EnumPaymentMethod>()\n .oneOf(Object.values(EnumPaymentMethod))\n .required(\"Please select a Payment method\"),\n priceRange: yup.object().shape({\n max: yup\n .number()\n .min(1)\n .required(\"Max price is required\")\n .test(\n \"is-greater\",\n \"Max price must be greater than or equal to Min price\",\n function (max) {\n const { min } = this.parent;\n return max >= min;\n },\n ),\n min: yup.number().min(1).required(\"Min price is required\"),\n }),\n producedIn: yup\n .array()\n .of(yup.string().defined())\n .min(1, \"Produced in list must contain at least one item\")\n .required(\"Produced in is required\"),\n stallholderId: yup.string().trim().required(\"Stallholder ID is required\"),\n stallSize: yup.object().shape({\n depth: yup.number().min(1).required(\"Depth is required\"),\n width: yup.number().min(1).required(\"Width is required\"),\n }),\n table: yup.object().shape({\n details: yup\n .string()\n .trim()\n .test(\"details-required\", \"Please add details\", function (value) {\n return !this.parent?.isRequired || (value?.trim().length ?? 0) > 0;\n })\n .nullable(),\n isRequired: yup.boolean().required(\"Table requirement is required\"),\n }),\n});\n","import * as yup from \"yup\";\n\nimport { EnumUserRole } from \"../enums\";\n\nimport { emailSchema, passwordSchema } from \"./global\";\n\nexport const userSchema = yup.object().shape({\n active: yup.boolean().required(\"Active is required\"),\n email: emailSchema,\n firstName: yup.string().required(\"First name is required\"),\n lastName: yup.string().required(\"Last name is required\"),\n password: passwordSchema,\n preferredRegion: yup.string().required(\"Preferred region is required\"),\n // eslint-disable-next-line sort-keys\n confirmPassword: yup\n .string()\n .oneOf([yup.ref(\"password\")], \"Passwords must match\")\n .required(\"Confirm Password is required\"),\n role: yup\n .mixed<EnumUserRole>()\n .oneOf(Object.values(EnumUserRole))\n .required(\"Role is required\"),\n});\n","import * as yup from \"yup\";\n\nimport { emailSchema, passwordSchema } from \"./global\";\n\nexport const loginSchema = yup.object().shape({\n email: emailSchema,\n password: passwordSchema,\n});\n\nexport const registerSchema = yup.object().shape({\n email: emailSchema,\n firstName: yup\n .string()\n .label(\"First Name\")\n .required(\"First Name is required\"),\n lastName: yup.string().label(\"Last Name\").required(\"Last Name is required\"),\n password: passwordSchema,\n preferredRegion: yup\n .string()\n .label(\"Preferred Region\")\n .required(\"Preferred Region is required\"),\n});\n\nexport const requestPasswordResetSchema = yup.object().shape({\n email: emailSchema,\n});\n\nexport const resetPasswordSchema = yup.object().shape({\n email: emailSchema,\n password: passwordSchema,\n // eslint-disable-next-line sort-keys\n confirmPassword: yup\n .string()\n .oneOf([yup.ref(\"password\")], \"Passwords must match\")\n .required(\"Confirm Password is required\"),\n});\n\nexport const validateVerificationTokenSchema = yup.object().shape({\n email: emailSchema,\n verificationToken: yup\n .string()\n .required(\"Verification code is required\")\n .matches(/^\\d{5}$/, \"Verification code must be exactly 5 digits\"),\n});\n","import * as yup from \"yup\";\n\nimport { EnumOSType, EnumResourceType } from \"src/enums\";\n\nimport { emailSchema } from \"./global\";\n\nexport const testersSchema = yup.object().shape({\n email: emailSchema,\n firstName: yup.string().required(\"First name is required\"),\n lastName: yup.string().required(\"Last name is required\"),\n osType: yup\n .mixed<EnumOSType>()\n .oneOf(Object.values(EnumOSType), \"Please select Android or iOS device\")\n .required(\"OS Type is required\"),\n resourceType: yup\n .mixed<EnumResourceType>()\n .oneOf(\n Object.values(EnumResourceType),\n \"Please select Market or Stallholder\",\n )\n .required(\"Resource Type is required\"),\n});\n","import { EnumPaymentMethod } from \"../enums\";\nimport {\n BaseResourceTypeFormData,\n MarketFormData,\n MarketInfoFormData,\n StallholderFormData,\n StallholderInfoFormData,\n} from \"../types\";\n\nexport const globalDefaultValues: BaseResourceTypeFormData = {\n active: false,\n cover: {\n source: \"\",\n title: \"\",\n },\n coverUpload: {\n source: \"\",\n title: \"\",\n },\n description:\n \"Lorem Ipsum is a placeholder text commonly used in design and publishing to represent the visual form of a document without relying on meaningful content. It's a jumbled Latin text, not intended to be read or understood, and is used to show the layout and typography before actual content is added.\",\n images: null,\n imagesUpload: null,\n logo: null,\n logoUpload: null,\n name: \"Resource name\",\n promoCode: \"\",\n region: \"\",\n socialMedia: [],\n};\n\nexport const defaultMarketFormValues: MarketFormData = {\n ...globalDefaultValues,\n dateTime: [\n {\n endDate: \"04-07-2025\",\n endTime: \"15:00\",\n startDate: \"04-07-2025\",\n startTime: \"09:00\",\n },\n {\n endDate: \"05-07-2025\",\n endTime: \"15:00\",\n startDate: \"05-07-2025\",\n startTime: \"09:00\",\n },\n ],\n location: {\n city: \"\",\n coordinates: [0, 0], // [longitude, latitude]\n country: \"\",\n fullAddress: \"\",\n latitude: 0,\n longitude: 0,\n region: \"\",\n type: \"Point\", // Default type for GeoJSON\n },\n provider: \"Provider name\",\n tags: [],\n};\n\nexport const defaultMarketInfoFormValues: MarketInfoFormData = {\n applicationDeadlineHours: 48,\n dateTime: [\n {\n endDate: \"04-05-2025\",\n endTime: \"15:00\",\n stallTypes: [],\n startDate: \"04-05-2025\",\n startTime: \"09:00\",\n },\n {\n endDate: \"05-05-2025\",\n endTime: \"15:00\",\n stallTypes: [],\n startDate: \"05-05-2025\",\n startTime: \"09:00\",\n },\n ],\n marketId: \"\",\n packInTime: 2, // e.g., 2 hours before market opens\n paymentDueHours: 24,\n paymentInfo: [],\n requirements: [],\n};\n\nexport const defaultStallholderFormValues: StallholderFormData = {\n ...globalDefaultValues,\n categories: [],\n locations: null,\n multiLocation: false,\n products: [],\n specialities: null,\n};\n\nexport const defaultStallholderInfoFormValues: StallholderInfoFormData = {\n electricity: { details: null, isRequired: false },\n foodSafetyGradeFiles: null,\n foodSafetyGradeFilesUpload: null,\n gazebo: { details: null, isRequired: false },\n packaging: [],\n paymentMethod: \"\" as EnumPaymentMethod,\n priceRange: { max: 0, min: 0 },\n producedIn: [],\n stallholderId: \"\",\n stallSize: { depth: 0, width: 0 },\n table: { details: null, isRequired: false },\n};\n\nexport function mapBaseResourceTypeToFormData(\n data: MarketFormData | StallholderFormData,\n): BaseResourceTypeFormData {\n return {\n _id: data._id,\n active: data.active,\n cover: data.cover,\n coverUpload: data.coverUpload,\n description: data.description,\n images: data.images,\n imagesUpload: data.imagesUpload,\n logo: data.logo,\n logoUpload: data.logoUpload,\n name: data.name,\n promoCode: data.promoCode,\n region: data.region,\n socialMedia: data.socialMedia,\n };\n}\n","import { yupResolver } from \"@hookform/resolvers/yup\";\nimport * as React from \"react\";\nimport { useForm } from \"react-hook-form\";\n\nimport {\n CreateStallholderInfoFormData,\n StallholderInfoFormData,\n} from \"../../types/stallholder\";\nimport { stallholderInfoSchema } from \"../../yupSchema\";\nimport { defaultStallholderInfoFormValues } from \"../utils\";\n\n/**\n * Custom hook to manage the stallholder apply form state and validation.\n *\n * @param {StallholderApplyFormFormData} data - The initial form data.\n * @returns {CreateStallholderInfoFormData} - The form methods and state.\n */\nexport function useStallholderInfoForm(\n data?: StallholderInfoFormData,\n): CreateStallholderInfoFormData {\n const {\n control,\n formState: { errors },\n getValues,\n handleSubmit,\n reset,\n setValue,\n watch,\n } = useForm<StallholderInfoFormData>({\n defaultValues: defaultStallholderInfoFormValues,\n resolver: yupResolver(stallholderInfoSchema),\n });\n\n React.useEffect(() => {\n if (data) {\n reset({\n _id: data._id,\n electricity: data.electricity,\n foodSafetyGradeFiles: data.foodSafetyGradeFiles,\n foodSafetyGradeFilesUpload: data.foodSafetyGradeFilesUpload,\n gazebo: data.gazebo,\n packaging: data.packaging,\n paymentMethod: data.paymentMethod,\n priceRange: data.priceRange,\n producedIn: data.producedIn,\n stallholderId: data.stallholderId,\n stallSize: data.stallSize,\n table: data.table,\n });\n } else {\n reset(defaultStallholderInfoFormValues);\n }\n }, [data]);\n\n const {\n _id,\n electricity,\n foodSafetyGradeFiles,\n foodSafetyGradeFilesUpload,\n gazebo,\n packaging,\n paymentMethod,\n priceRange,\n producedIn,\n stallholderId,\n stallSize,\n table,\n } = getValues();\n\n return {\n control,\n fields: {\n _id,\n electricity,\n foodSafetyGradeFiles,\n foodSafetyGradeFilesUpload,\n gazebo,\n packaging,\n paymentMethod,\n priceRange,\n producedIn,\n stallholderId,\n stallSize,\n table,\n },\n formState: { errors },\n handleSubmit,\n reset,\n setValue,\n watch,\n };\n}\n","import { yupResolver } from \"@hookform/resolvers/yup\";\nimport * as React from \"react\";\nimport { useForm } from \"react-hook-form\";\n\nimport { CreateMarketFormData, MarketFormData } from \"../../types/market\";\nimport { marketSchema } from \"../../yupSchema\";\nimport {\n defaultMarketFormValues,\n mapBaseResourceTypeToFormData,\n} from \"../utils\";\n\n/**\n * Custom hook to manage the market form state and validation.\n *\n * @param {MarketFormData} data - The initial form data.\n * @returns {CreateMarketFormData} - The form methods and state.\n */\nexport function useMarketForm(data?: MarketFormData): CreateMarketFormData {\n const {\n control,\n formState: { errors },\n getValues,\n handleSubmit,\n reset,\n setValue,\n watch,\n } = useForm<MarketFormData>({\n defaultValues: defaultMarketFormValues,\n resolver: yupResolver(marketSchema),\n });\n\n React.useEffect(() => {\n if (data) {\n reset({\n ...mapBaseResourceTypeToFormData(data),\n dateTime: data.dateTime,\n location: data.location,\n provider: data.provider,\n tags: data.tags,\n });\n } else {\n reset(defaultMarketFormValues);\n }\n }, [data]);\n\n const {\n _id,\n active,\n cover,\n coverUpload,\n dateTime,\n description,\n images,\n imagesUpload,\n location,\n logo,\n logoUpload,\n name,\n provider,\n region,\n tags,\n promoCode,\n socialMedia,\n } = getValues();\n\n return {\n control,\n fields: {\n _id,\n active,\n cover,\n coverUpload,\n dateTime,\n description,\n images,\n imagesUpload,\n location,\n logo,\n logoUpload,\n name,\n promoCode,\n provider,\n region,\n socialMedia,\n tags,\n },\n formState: { errors },\n handleSubmit,\n reset,\n setValue,\n watch,\n };\n}\n","import { yupResolver } from \"@hookform/resolvers/yup\";\nimport * as React from \"react\";\nimport { useForm } from \"react-hook-form\";\n\nimport {\n CreateMarketInfoFormData,\n MarketInfoFormData,\n} from \"../../types/market\";\nimport { marketInfoSchema } from \"../../yupSchema\";\nimport { defaultMarketInfoFormValues } from \"../utils\";\n\n/**\n * Custom hook to manage the market form state and validation.\n *\n * @param {MarketInfoFormData} data - The initial form data.\n * @returns {CreateMarketInfoFormData} - The form methods and state.\n */\nexport function useMarketInfoForm(\n data?: MarketInfoFormData,\n): CreateMarketInfoFormData {\n const {\n control,\n formState: { errors },\n getValues,\n handleSubmit,\n reset,\n setValue,\n watch,\n } = useForm<MarketInfoFormData>({\n defaultValues: defaultMarketInfoFormValues,\n resolver: yupResolver(marketInfoSchema),\n });\n\n React.useEffect(() => {\n if (data) {\n reset({\n _id: data._id,\n applicationDeadlineHours: data.applicationDeadlineHours,\n dateTime: data.dateTime,\n marketId: data.marketId,\n packInTime: data.packInTime,\n paymentDueHours: data.paymentDueHours,\n paymentInfo: data.paymentInfo,\n requirements: data.requirements,\n });\n } else {\n reset(defaultMarketInfoFormValues);\n }\n }, [data]);\n\n const {\n _id,\n applicationDeadlineHours,\n dateTime,\n marketId,\n packInTime,\n paymentDueHours,\n paymentInfo,\n requirements,\n } = getValues();\n\n return {\n control,\n fields: {\n _id,\n applicationDeadlineHours,\n dateTime,\n marketId,\n packInTime,\n paymentDueHours,\n paymentInfo,\n requirements,\n },\n formState: { errors },\n handleSubmit,\n reset,\n setValue,\n watch,\n };\n}\n","import { yupResolver } from \"@hookform/resolvers/yup\";\nimport * as React from \"react\";\nimport { useForm } from \"react-hook-form\";\n\nimport { EnumUserRole } from \"../enums\";\nimport { CreateUserFormData, UserFormData } from \"../types/user\";\nimport { userSchema } from \"../yupSchema/user\";\n\nconst defaultValues: UserFormData = {\n active: false,\n avatar: null,\n avatarUpload: null,\n confirmPassword: \"\",\n email: \"\",\n firstName: \"\",\n lastName: \"\",\n password: \"\",\n preferredRegion: \"\",\n role: EnumUserRole.CUSTOMER,\n};\n\n/**\n * Custom hook to manage the user form state and validation.\n *\n * @param {UserFormData} data - The initial form data.\n * @returns {CreateUserFormData} - The form methods and state.\n */\nexport function useUserForm(data?: UserFormData): CreateUserFormData {\n const {\n control,\n formState: { errors },\n getValues,\n handleSubmit,\n reset,\n setValue,\n watch,\n } = useForm<UserFormData>({\n defaultValues,\n resolver: yupResolver(userSchema),\n });\n\n React.useEffect(() => {\n if (data) {\n reset({\n _id: data._id,\n active: data.active,\n avatar: data.avatar,\n avatarUpload: data.avatarUpload,\n confirmPassword: data.confirmPassword,\n email: data.email,\n firstName: data.firstName,\n lastName: data.lastName,\n password: data.password,\n preferredRegion: data.preferredRegion,\n role: data.role,\n });\n } else {\n reset(defaultValues);\n }\n }, [data]);\n\n const {\n _id,\n active,\n avatar,\n avatarUpload,\n confirmPassword,\n email,\n firstName,\n lastName,\n password,\n preferredRegion,\n role,\n } = getValues();\n\n return {\n control,\n fields: {\n _id,\n active,\n avatar,\n avatarUpload,\n confirmPassword,\n email,\n firstName,\n lastName,\n password,\n preferredRegion,\n role,\n },\n formState: { errors },\n handleSubmit,\n reset,\n setValue,\n watch,\n };\n}\n","import { yupResolver } from \"@hookform/resolvers/yup\";\nimport { useForm } from \"react-hook-form\";\n\nimport { CreateLoginFormData, LoginFormData } from \"../../types/auth\";\nimport { loginSchema } from \"../../yupSchema/auth\";\n\nconst defaultValues: LoginFormData = {\n email: \"\",\n password: \"\",\n};\n\n/**\n * Custom hook to manage the login form state and validation.\n *\n * @returns {CreateLoginFormData} - The form methods and state.\n */\nexport function useLoginForm(): CreateLoginFormData {\n const {\n control,\n formState: { errors },\n getValues,\n handleSubmit,\n reset,\n setValue,\n watch,\n } = useForm<LoginFormData>({\n defaultValues,\n resolver: yupResolver(loginSchema),\n });\n\n const { email, password } = getValues();\n\n return {\n control,\n fields: {\n email,\n password,\n },\n formState: { errors },\n handleSubmit,\n reset,\n setValue,\n watch,\n };\n}\n","import { yupResolver } from \"@hookform/resolvers/yup\";\nimport { useForm } from \"react-hook-form\";\n\nimport { CreateRegisterFormData, RegisterFormData } from \"../../types/auth\";\nimport { registerSchema } from \"../../yupSchema/auth\";\n\nconst defaultValues: RegisterFormData = {\n email: \"\",\n firstName: \"\",\n lastName: \"\",\n password: \"\",\n preferredRegion: \"\",\n};\n\n/**\n * Custom hook to manage the register form state and validation.\n *\n * @returns {CreateRegisterFormData} - The form methods and state.\n */\nexport function useRegisterForm(): CreateRegisterFormData {\n const {\n control,\n formState: { errors },\n getValues,\n handleSubmit,\n reset,\n setValue,\n watch,\n } = useForm<RegisterFormData>({\n defaultValues,\n resolver: yupResolver(registerSchema),\n });\n\n const { email, firstName, lastName, password, preferredRegion } = getValues();\n\n return {\n control,\n fields: {\n email,\n firstName,\n lastName,\n password,\n preferredRegion,\n },\n formState: { errors },\n handleSubmit,\n reset,\n setValue,\n watch,\n };\n}\n","import { yupResolver } from \"@hookform/resolvers/yup\";\nimport { useForm } from \"react-hook-form\";\n\nimport {\n CreateRequestPasswordResetFormData,\n RequestPasswordResetFormData,\n} from \"../../types/auth\";\nimport { requestPasswordResetSchema } from \"../../yupSchema/auth\";\n\nconst defaultValues: RequestPasswordResetFormData = {\n email: \"\",\n};\n\nexport function useRequestPasswordResetForm(): CreateRequestPasswordResetFormData {\n const {\n control,\n formState: { errors },\n getValues,\n handleSubmit,\n reset,\n setValue,\n watch,\n } = useForm<RequestPasswordResetFormData>({\n defaultValues,\n resolver: yupResolver(requestPasswordResetSchema),\n });\n\n const { email } = getValues();\n\n return {\n control,\n fields: {\n email,\n },\n formState: { errors },\n handleSubmit,\n reset,\n setValue,\n watch,\n };\n}\n","import { yupResolver } from \"@hookform/resolvers/yup\";\nimport { useForm } from \"react-hook-form\";\n\nimport {\n CreateValidateVerificationTokenFormData,\n ValidateVerificationTokenFormData,\n} from \"../../types/auth\";\nimport { validateVerificationTokenSchema } from \"../../yupSchema/auth\";\n\nconst defaultValues: ValidateVerificationTokenFormData = {\n email: \"\",\n verificationToken: \"\",\n};\n\nexport function useValidateVerificationTokenForm(): CreateValidateVerificationTokenFormData {\n const {\n control,\n formState: { errors },\n getValues,\n handleSubmit,\n reset,\n setValue,\n watch,\n } = useForm<ValidateVerificationTokenFormData>({\n defaultValues,\n resolver: yupResolver(validateVerificationTokenSchema),\n });\n\n const { email, verificationToken } = getValues();\n\n return {\n control,\n fields: {\n email,\n verificationToken,\n },\n formState: { errors },\n handleSubmit,\n reset,\n setValue,\n watch,\n };\n}\n","import { yupResolver } from \"@hookform/resolvers/yup\";\nimport { useForm } from \"react-hook-form\";\n\nimport {\n CreateResetPasswordFormData,\n ResetPasswordFormData,\n} from \"../../types/auth\";\nimport { resetPasswordSchema } from \"../../yupSchema/auth\";\n\nconst defaultValues: ResetPasswordFormData = {\n confirmPassword: \"\",\n email: \"\",\n password: \"\",\n};\n\nexport function useResetPasswordForm(): CreateResetPasswordFormData {\n const {\n control,\n formState: { errors },\n getValues,\n handleSubmit,\n reset,\n setValue,\n watch,\n } = useForm<ResetPasswordFormData>({\n defaultValues,\n resolver: yupResolver(resetPasswordSchema),\n });\n\n const { confirmPassword, email, password } = getValues();\n\n return {\n control,\n fields: {\n confirmPassword,\n email,\n password,\n },\n formState: { errors },\n handleSubmit,\n reset,\n setValue,\n watch,\n };\n}\n","import { yupResolver } from \"@hookform/resolvers/yup\";\nimport React from \"react\";\nimport { useForm } from \"react-hook-form\";\n\nimport { EnumOSType, EnumResourceType } from \"src/enums\";\nimport { CreateTestersFormData, TestersFormData } from \"src/types/testers\";\nimport { testersSchema } from \"src/yupSchema/testers\";\n\nconst defaultValues = {\n email: \"\",\n firstName: \"\",\n lastName: \"\",\n osType: \"\" as EnumOSType,\n resourceType: \"\" as EnumResourceType,\n};\n\nexport function useTestersForm(data?: TestersFormData): CreateTestersFormData {\n const {\n control,\n formState: { errors },\n getValues,\n handleSubmit,\n reset,\n setValue,\n watch,\n } = useForm<TestersFormData>({\n defaultValues,\n resolver: yupResolver(testersSchema),\n });\n\n React.useEffect(() => {\n if (data) {\n reset({\n email: data.email,\n firstName: data.firstName,\n lastName: data.lastName,\n osType: data.osType,\n resourceType: data.resourceType,\n });\n } else {\n reset(defaultValues);\n }\n }, [data]);\n\n const { email, firstName, lastName, osType, resourceType } = getValues();\n\n return {\n control,\n fields: {\n email,\n firstName,\n lastName,\n osType,\n resourceType,\n },\n formState: { errors },\n handleSubmit,\n reset,\n setValue,\n watch,\n };\n}\n","import { yupResolver } from \"@hookform/resolvers/yup\";\nimport React from \"react\";\nimport { useForm } from \"react-hook-form\";\n\nimport {\n ContactUsFormData,\n CreateContactUsFormData,\n} from \"src/types/contactUs\";\nimport { contactUsSchema } from \"src/yupSchema/contactUs\";\n\nconst defaultValues = {\n email: \"\",\n firstName: \"\",\n lastName: \"\",\n message: \"\",\n};\n\nexport function useContactUsForm(\n data?: ContactUsFormData,\n): CreateContactUsFormData {\n const {\n control,\n formState: { errors },\n getValues,\n handleSubmit,\n reset,\n setValue,\n watch,\n } = useForm<ContactUsFormData>({\n defaultValues,\n resolver: yupResolver(contactUsSchema),\n });\n\n React.useEffect(() => {\n if (data) {\n reset({\n email: data.email,\n firstName: data.firstName,\n lastName: data.lastName,\n message: data.message,\n });\n } else {\n reset(defaultValues);\n }\n }, [data]);\n\n const { email, firstName, lastName, message } = getValues();\n\n return {\n control,\n fields: {\n email,\n firstName,\n lastName,\n message,\n },\n formState: { errors },\n handleSubmit,\n reset,\n setValue,\n watch,\n };\n}\n","import * as yup from \"yup\";\n\nimport { emailSchema } from \"./global\";\n\nexport const contactUsSchema = yup.object().shape({\n email: emailSchema,\n firstName: yup.string().required(\"First name is required\"),\n lastName: yup.string().required(\"Last name is required\"),\n message: yup.string().required(\"Message is required\"),\n});\n"],"mappings":"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","names":["yup","yup","yup","yup","yup","yupResolver","React","useForm","useForm","yupResolver","yupResolver","React","useForm","useForm","yupResolver","yupResolver","React","useForm","useForm","yupResolver","yupResolver","React","useForm","useForm","yupResolver","yupResolver","useForm","defaultValues","useForm","yupResolver","yupResolver","useForm","defaultValues","useForm","yupResolver","yupResolver","useForm","defaultValues","useForm","yupResolver","yupResolver","useForm","defaultValues","useForm","yupResolver","yupResolver","useForm","defaultValues","useForm","yupResolver","yupResolver","React","useForm","defaultValues","useForm","yupResolver","React","yupResolver","React","useForm","yup","defaultValues","useForm","yupResolver","React"]}
|
|
1
|
+
{"version":3,"sources":["../../src/hooks/useLocationSearch.ts","../../src/hooks/stallholder/useStallholderForm.ts","../../src/yupSchema/global.ts","../../src/yupSchema/market.ts","../../src/yupSchema/stallholder.ts","../../src/yupSchema/user.ts","../../src/yupSchema/auth.ts","../../src/yupSchema/testers.ts","../../src/hooks/utils.ts","../../src/hooks/stallholder/useStallholderInfoForm.ts","../../src/hooks/market/useMarketForm.ts","../../src/hooks/market/useMarketInfoForm.ts","../../src/hooks/useUserForm.ts","../../src/hooks/auth/useLoginForm.ts","../../src/hooks/auth/useRegisterForm.ts","../../src/hooks/auth/useRequestPasswordResetForm.ts","../../src/hooks/auth/useValidateVerificationTokenForm.ts","../../src/hooks/auth/useResetPasswordForm.ts","../../src/hooks/useTestersForm.ts","../../src/hooks/useContactUsForm.ts","../../src/yupSchema/contactUs.ts"],"sourcesContent":["/* eslint-disable camelcase */\nimport { LocationType } from \"../types/global\";\n\nexport interface PlacePrediction {\n place_id: string;\n description: string;\n}\n\ninterface PlaceDetails {\n address_components: {\n long_name: string;\n short_name: string;\n types: string[];\n }[];\n formatted_address: string;\n geometry: {\n location: {\n lat: number;\n lng: number;\n };\n };\n url: string;\n}\n\ninterface UseLocation {\n getPredictions: (text: string) => Promise<PlacePrediction[] | undefined>;\n getPlaceDetails: (placeId: string) => Promise<LocationType | undefined>;\n}\n\n/** Handles API request errors */\nconst handleApiError = (error: unknown, message: string) => {\n console.error(message, error);\n};\n\n/**\n * Custom hook to manage location search functionality.\n *\n * @returns {UseLocation} - The functions to get predictions and place details.\n */\nexport const useLocationSearch = (googleApi: string): UseLocation => {\n const getPredictions = async (\n text: string,\n ): Promise<PlacePrediction[] | undefined> => {\n try {\n const response = await fetch(\n `https://maps.googleapis.com/maps/api/place/autocomplete/json?input=${text}&components=country:nz&key=${googleApi}`,\n );\n\n if (!response.ok) {\n throw new Error(`HTTP error! Status: ${response.status}`);\n }\n\n const data = await response.json();\n return data.predictions;\n } catch (error) {\n console.error(\"Error fetching predictions:\", error);\n handleApiError(error, \"Failed to fetch address predictions.\");\n }\n };\n\n const getPlaceDetails = async (\n placeId: string,\n ): Promise<LocationType | undefined> => {\n try {\n const response = await fetch(\n `https://maps.googleapis.com/maps/api/place/details/json?place_id=${placeId}&key=${googleApi}`,\n );\n\n if (!response.ok) {\n throw new Error(`HTTP error! Status: ${response.status}`);\n }\n\n const data = (await response.json()) as { result: PlaceDetails };\n const { result } = data;\n const { lat, lng } = result.geometry.location;\n const { address_components, formatted_address } = result;\n\n const address = address_components.reduce((acc, item) => {\n if (item.types.includes(\"street_number\")) {\n return { ...acc, streetNumber: item.long_name };\n }\n if (item.types.includes(\"route\")) {\n return { ...acc, streetName: item.long_name };\n }\n if (item.types.includes(\"locality\")) {\n return { ...acc, city: item.long_name };\n }\n if (item.types.includes(\"administrative_area_level_1\")) {\n return { ...acc, region: item.long_name };\n }\n if (item.types.includes(\"country\")) {\n return { ...acc, country: item.long_name };\n }\n return acc;\n }, {} as LocationType);\n\n const newLocation = {\n city: address.city.toLowerCase(),\n coordinates: [lng, lat], // [longitude, latitude]\n country: address.country,\n fullAddress: formatted_address,\n latitude: lat,\n longitude: lng,\n region: address.region.replace(/ Region$/, \"\"), // Remove \" Region\" suffix\n type: \"Point\" as const, // Mongoose GeoJSON type\n };\n\n return newLocation;\n } catch (error) {\n handleApiError(error, \"Failed to fetch place details.\");\n }\n };\n\n return {\n getPlaceDetails,\n getPredictions,\n };\n};\n","import { yupResolver } from \"@hookform/resolvers/yup\";\nimport * as React from \"react\";\nimport { useForm } from \"react-hook-form\";\n\nimport {\n CreateStallholderFormData,\n StallholderFormData,\n} from \"../../types/stallholder\";\nimport { stallHolderSchema } from \"../../yupSchema\";\nimport {\n defaultStallholderFormValues,\n mapBaseResourceTypeToFormData,\n} from \"../utils\";\n\n/**\n * Custom hook to manage the stallholder form state and validation.\n *\n * @param {StallholderFormData} data - The initial form data.\n * @returns {CreateStallholderFormData} - The form methods and state.\n */\nexport function useStallholderForm(\n data?: StallholderFormData,\n): CreateStallholderFormData {\n const {\n control,\n formState: { errors },\n getValues,\n handleSubmit,\n reset,\n setValue,\n watch,\n } = useForm<StallholderFormData>({\n defaultValues: defaultStallholderFormValues,\n resolver: yupResolver(stallHolderSchema),\n });\n\n React.useEffect(() => {\n if (data) {\n reset({\n ...mapBaseResourceTypeToFormData(data),\n categories: data.categories,\n locations: data.locations,\n multiLocation: data.multiLocation,\n products: data.products,\n specialities: data.specialities,\n });\n } else {\n reset(defaultStallholderFormValues);\n }\n }, [data]);\n\n const {\n _id,\n active,\n categories,\n cover,\n coverUpload,\n description,\n images,\n imagesUpload,\n locations,\n logo,\n logoUpload,\n multiLocation,\n name,\n products,\n promoCode,\n socialMedia,\n region,\n specialities,\n } = getValues();\n\n return {\n control,\n fields: {\n _id,\n active,\n categories,\n cover,\n coverUpload,\n description,\n images,\n imagesUpload,\n locations,\n logo,\n logoUpload,\n multiLocation,\n name,\n products,\n promoCode,\n region,\n socialMedia,\n specialities,\n },\n formState: { errors },\n handleSubmit,\n reset,\n setValue,\n watch,\n };\n}\n","/* eslint-disable sort-keys */\nimport dayjs from \"dayjs\";\nimport customParseFormat from \"dayjs/plugin/customParseFormat.js\";\nimport isSameOrAfter from \"dayjs/plugin/isSameOrAfter.js\";\nimport * as yup from \"yup\";\nimport { TestFunction } from \"yup\";\n\nimport { EnumSocialMedia } from \"src/enums\";\n\nimport { dateFormat, normalizeUrl, timeFormat } from \"../utils\";\n\ntype NoLeadingZerosOptions = {\n allowDecimal?: boolean;\n};\n\nexport const normalizedUrlTransform = () =>\n yup\n .string()\n .trim()\n .transform((value) =>\n typeof value === \"string\" ? value.toLowerCase() : value,\n )\n .transform((value) =>\n typeof value === \"string\" ? normalizeUrl(value) : value,\n );\n\nexport const noLeadingZeros = (\n fieldName: string,\n options: NoLeadingZerosOptions = {},\n): TestFunction<number | undefined> => {\n return function (value, context) {\n const original = context.originalValue?.toString() ?? \"\";\n\n const regex = options.allowDecimal\n ? /^0\\d+(\\.\\d+)?$/ // e.g. \"03\", \"03.5\", \"0002.75\"\n : /^0\\d+$/; // e.g. \"01\", \"0001\"\n\n if (regex.test(original)) {\n return context.createError({\n message: `${fieldName} must not have leading zeros`,\n });\n }\n\n return true;\n };\n};\n\ndayjs.extend(isSameOrAfter);\ndayjs.extend(customParseFormat);\n\nconst now = dayjs(); // Current date and time\n\n// DATE AND TIME SCHEMA\nexport const endDateNotInPastTest = yup\n .string()\n .test(\"not-in-past\", \"End date cannot be in the past\", (value) => {\n return value\n ? dayjs(value, dateFormat, true).isSameOrAfter(now, \"day\")\n : false;\n });\n\nexport const startDateNotInPastTest = yup\n .string()\n .test(\"not-in-past\", \"Start date cannot be in the past\", (value) => {\n return value\n ? dayjs(value, dateFormat, true).isSameOrAfter(now, \"day\")\n : false;\n });\n\nexport const endDateAfterStartDateTest = yup\n .string()\n .test(\n \"end-after-start\",\n \"End date cannot be before start date\",\n function (value) {\n const { startDate } = this.parent;\n if (!startDate || !value) return false;\n return dayjs(value, dateFormat, true).isSameOrAfter(\n dayjs(startDate, dateFormat, true),\n \"day\",\n );\n },\n );\n\nexport const endTimeMustBeAfterStartTimeTest = yup\n .string()\n .test(\n \"valid-end-time\",\n \"End time must be after start time\",\n function (value) {\n const { startDate, endDate, startTime } = this.parent;\n if (!startDate || !endDate || !startTime || !value) return false;\n\n const startDateTime = dayjs(\n `${startDate} ${startTime}`,\n `${dateFormat} ${timeFormat}`,\n true,\n );\n const endDateTime = dayjs(\n `${endDate} ${value}`,\n `${dateFormat} ${timeFormat}`,\n true,\n );\n\n return endDateTime.isAfter(startDateTime);\n },\n );\n\nexport const startTimeCannotBeInPastTest = yup\n .string()\n .test(\n \"valid-start-time\",\n \"Start time cannot be in the past\",\n function (value) {\n const { startDate } = this.parent;\n if (!startDate || !value) return false;\n const startDateTime = dayjs(\n `${startDate} ${value}`,\n `${dateFormat} ${timeFormat}`,\n true,\n );\n return startDateTime.isSameOrAfter(now);\n },\n );\n\nexport const dateTimeSchema = yup.object().shape({\n endDate: yup\n .string()\n .label(\"End Date\")\n .concat(endDateNotInPastTest)\n .concat(endDateAfterStartDateTest)\n .required(\"End date is required\"),\n endTime: yup\n .string()\n .label(\"End Time\")\n .concat(endTimeMustBeAfterStartTimeTest)\n .required(\"End time is required\"),\n startDate: yup\n .string()\n .label(\"Start Date\")\n .concat(startDateNotInPastTest)\n .required(\"Start date is required\"),\n startTime: yup\n .string()\n .label(\"Start Time\")\n .concat(startTimeCannotBeInPastTest)\n .required(\"Start time is required\"),\n});\n\nconst stallTypesSchema = yup.object({\n label: yup\n .string()\n .trim()\n .label(\"Stall Label\")\n .required(\"Stall label is required\"),\n price: yup\n .number()\n .label(\"Stall Price\")\n .min(0.1, \"Stall price must be at least 0.1\")\n .required(\"Stall price is required\")\n .test(\n \"no-leading-zeros\",\n \"\",\n noLeadingZeros(\"Stall price\", { allowDecimal: true }),\n ),\n stallCapacity: yup\n .number()\n .typeError(\"Stall capacity must be a number\")\n .min(1, \"Stall capacity must be at least 1\")\n .integer(\"Stall capacity must be a whole number\")\n .required(\"Stall capacity is required\")\n .test(\"no-leading-zeros\", \"\", noLeadingZeros(\"Stall capacity\")),\n});\n\nexport const dateTimeWithPriceSchema = dateTimeSchema.shape({\n stallTypes: yup\n .array()\n .of(stallTypesSchema)\n .min(1, \"At least one stall type is required\")\n .required(\"Stall types are required\"),\n});\n\nexport const locationSchema = yup.object().shape({\n city: yup.string().label(\"City\").required(\"City is required\"),\n coordinates: yup\n .array()\n .of(yup.number().required(\"Coordinates must be numbers\"))\n .length(\n 2,\n \"Coordinates must contain exactly two numbers (longitude, latitude)\",\n )\n .required(\"Coordinates are required\"),\n country: yup.string().label(\"Country\").required(\"Country is required\"),\n fullAddress: yup.string().label(\"Address\").required(\"Address is required\"),\n latitude: yup.number().label(\"Latitude\").required(\"Latitude is required\"),\n longitude: yup.number().label(\"Longitude\").required(\"Longitude is required\"),\n region: yup.string().label(\"Region\").required(\"Region is required\"),\n type: yup\n .string()\n .oneOf([\"Point\"], \"Type must be 'Point'\")\n .default(\"Point\")\n .required(\"Type is required\"),\n});\n\n// ✅ Reusable Email Schema\nexport const emailSchema = yup\n .string()\n .email(\"Invalid email address\")\n .required(\"Email is required\")\n .label(\"Email\")\n .transform((value) =>\n typeof value === \"string\" ? value.toLowerCase() : value,\n );\n\n// ✅ Reusable Password Schema\nexport const passwordSchema = yup\n .string()\n .trim()\n .label(\"Password\")\n .min(8, \"Password must be at least 8 characters long\")\n .required(\"Password is required\");\n\nconst socialMediaSchema = yup.object({\n name: yup\n .mixed<EnumSocialMedia>()\n .oneOf(Object.values(EnumSocialMedia))\n .label(\"Social Media Name\")\n .optional(),\n link: yup.string().when(\"name\", {\n is: (name: EnumSocialMedia | undefined) => !!name, // If name has a value\n then: () =>\n normalizedUrlTransform()\n .required(\"Link is required when name is set\")\n .url(\"Link must be a valid URL\")\n .label(\"Social Media Link\"),\n otherwise: (schema) => schema.notRequired(),\n }),\n});\n\nexport const globalResourceSchema = yup.object().shape({\n active: yup.boolean().required(\"Active is required\"),\n cover: yup.object({\n source: yup.string().label(\"Cover\").required(\"Cover is required\"),\n title: yup.string().label(\"Cover Title\").required(\"Cover is required\"),\n }),\n description: yup\n .string()\n .label(\"Description\")\n .trim()\n .min(3)\n .required(\"Description is required\"),\n name: yup.string().label(\"Name\").trim().min(3).required(\"Name is required\"),\n region: yup.string().label(\"Region\").required(\"Region is required\"),\n socialMedia: yup.array().of(socialMediaSchema).nullable().optional(),\n});\n\nexport const categorySchema = yup\n .array()\n .of(\n yup.object().shape({\n id: yup.string().required(\"Category id is required\"),\n name: yup.string().required(\"Category name is required\"),\n subcategories: yup\n .array()\n .of(\n yup.object().shape({\n id: yup.string().defined(),\n items: yup\n .array()\n .of(\n yup.object().shape({\n id: yup.string().defined(),\n name: yup.string().defined(),\n }),\n )\n .nullable(),\n name: yup.string().defined(),\n }),\n )\n .min(1, \"At least one subcategory is required\")\n .required(\"Subcategories are required\"),\n }),\n )\n .min(1, \"Category list must contain at least one item\")\n .required(\"Categories are required\");\n","/* eslint-disable sort-keys */\nimport * as yup from \"yup\";\n\nimport { EnumPaymentMethod } from \"../enums\";\n\nimport {\n dateTimeSchema,\n dateTimeWithPriceSchema,\n globalResourceSchema,\n locationSchema,\n noLeadingZeros,\n normalizedUrlTransform,\n} from \"./global\";\n\nconst nzBankAccountRegex = /^\\d{2}-\\d{4}-\\d{7}-\\d{2}$/;\n\nexport const marketSchema = globalResourceSchema.shape({\n dateTime: yup\n .array()\n .of(dateTimeSchema)\n .min(1, \"At least one Market date required\")\n .required(\"DateTime is required\")\n .test(\n \"unique-start-date-time\",\n \"Start Date and Time must be unique\",\n function (value) {\n if (!value) return true;\n\n const seen = new Set();\n for (const item of value) {\n if (!item.startDate || !item.startTime) continue;\n\n const key = `${item.startDate}-${item.startTime}`;\n if (seen.has(key)) {\n return false; // duplicate found\n }\n seen.add(key);\n }\n return true;\n },\n ),\n location: locationSchema,\n provider: yup\n .string()\n .label(\"Provider\")\n .trim()\n .min(3)\n .required(\"Provider is required\"),\n tags: yup\n .array()\n .of(yup.string().defined())\n .min(1, \"Tags are required\")\n .required(\"Tags are required\"),\n});\n\nconst paymentInfoSchema = yup.object({\n paymentMethod: yup\n .mixed<EnumPaymentMethod>()\n .oneOf(Object.values(EnumPaymentMethod))\n .required(\"Please select a Payment method\"),\n\n accountHolderName: yup.string().when(\"paymentMethod\", {\n is: EnumPaymentMethod.BANK_TRANSFER,\n then: (schema) =>\n schema\n .required(\"Account holder name is required for bank transfer\")\n .trim(),\n otherwise: (schema) => schema.notRequired(),\n }),\n\n accountNumber: yup.string().when(\"paymentMethod\", {\n is: EnumPaymentMethod.BANK_TRANSFER,\n then: (schema) =>\n schema\n .required(\"Account number is required for bank transfer\")\n .matches(\n nzBankAccountRegex,\n \"Account number must be in format: XX-XXXX-XXXXXXX-XX\",\n )\n .trim(),\n otherwise: (schema) => schema.notRequired(),\n }),\n\n link: yup.string().when(\"paymentMethod\", {\n is: (val: EnumPaymentMethod) => val !== EnumPaymentMethod.BANK_TRANSFER,\n then: () =>\n normalizedUrlTransform()\n .url(\"Link must be a valid URL\")\n .required(\"Link is required for PayPal/Stripe\"),\n otherwise: (schema) => schema.notRequired(),\n }),\n});\n\nexport const marketInfoSchema = yup.object().shape({\n applicationDeadlineHours: yup\n .number()\n .nullable()\n .transform((value, originalValue) => (originalValue === \"\" ? null : value))\n .typeError(\"Application deadline hours must be a number\")\n .min(1, \"Application deadline hours must be at least 1\")\n .required(\"Application deadline hours is required\")\n .test(\"no-leading-zeros\", \"\", noLeadingZeros(\"Application deadline hours\")),\n dateTime: yup\n .array()\n .of(dateTimeWithPriceSchema)\n .required(\"DateTime is required\"),\n marketId: yup.string().trim().required(\"Market ID is required\"),\n packInTime: yup\n .number()\n .typeError(\"Pack in time must be a number\")\n .min(1, \"Pack in time must be at least 1\")\n .required(\"Pack in time is required\")\n .test(\"no-leading-zeros\", \"\", noLeadingZeros(\"Pack in time\")),\n paymentDueHours: yup\n .number()\n .typeError(\"Payment due hours must be a number\")\n .min(1, \"Payment due hours must be at least 1\")\n .required(\"Payment due hours is required\")\n .test(\"no-leading-zeros\", \"\", noLeadingZeros(\"Payment due hours\")),\n paymentInfo: yup\n .array()\n .of(paymentInfoSchema)\n .min(1, \"At least one payment info is required\")\n .required(\"Payment info is required\"),\n});\n","import * as yup from \"yup\";\n\nimport { EnumPaymentMethod } from \"../enums\";\n\nimport { categorySchema, globalResourceSchema } from \"./global\";\n\nexport const stallHolderSchema = globalResourceSchema.shape({\n categories: categorySchema,\n multiLocation: yup.boolean().required(\"Multi location is required\"),\n products: yup\n .array()\n .of(yup.string().defined())\n .min(1, \"Product list must contain at least one item\")\n .required(\"Products are required\"),\n});\n\nexport const stallholderInfoSchema = yup.object().shape({\n electricity: yup.object().shape({\n details: yup\n .string()\n .trim()\n .test(\"details-required\", \"Please add details\", function (value) {\n return !this.parent?.isRequired || (value?.trim().length ?? 0) > 0;\n })\n .nullable(),\n isRequired: yup.boolean().required(\"Electricity requirement is required\"),\n }),\n foodSafetyGradeFiles: yup.array().of(yup.string().defined()).nullable(),\n foodSafetyGradeFilesUpload: yup.array().of(yup.string().defined()).nullable(),\n gazebo: yup.object().shape({\n details: yup\n .string()\n .trim()\n .test(\"details-required\", \"Please add details\", function (value) {\n return !this.parent?.isRequired || (value?.trim().length ?? 0) > 0;\n })\n .nullable(),\n isRequired: yup.boolean().required(\"Gazebo requirement is required\"),\n }),\n packaging: yup\n .array()\n .of(yup.string().defined())\n .min(1, \"Packaging list must contain at least one item\")\n .required(\"Packaging is required\"),\n paymentMethod: yup\n .mixed<EnumPaymentMethod>()\n .oneOf(Object.values(EnumPaymentMethod))\n .required(\"Please select a Payment method\"),\n priceRange: yup.object().shape({\n max: yup\n .number()\n .min(1)\n .required(\"Max price is required\")\n .test(\n \"is-greater\",\n \"Max price must be greater than or equal to Min price\",\n function (max) {\n const { min } = this.parent;\n return max >= min;\n },\n ),\n min: yup.number().min(1).required(\"Min price is required\"),\n }),\n producedIn: yup\n .array()\n .of(yup.string().defined())\n .min(1, \"Produced in list must contain at least one item\")\n .required(\"Produced in is required\"),\n stallholderId: yup.string().trim().required(\"Stallholder ID is required\"),\n stallSize: yup.object().shape({\n depth: yup.number().min(1).required(\"Depth is required\"),\n width: yup.number().min(1).required(\"Width is required\"),\n }),\n table: yup.object().shape({\n details: yup\n .string()\n .trim()\n .test(\"details-required\", \"Please add details\", function (value) {\n return !this.parent?.isRequired || (value?.trim().length ?? 0) > 0;\n })\n .nullable(),\n isRequired: yup.boolean().required(\"Table requirement is required\"),\n }),\n});\n","import * as yup from \"yup\";\n\nimport { EnumUserRole } from \"../enums\";\n\nimport { emailSchema, passwordSchema } from \"./global\";\n\nexport const userSchema = yup.object().shape({\n active: yup.boolean().required(\"Active is required\"),\n email: emailSchema,\n firstName: yup.string().required(\"First name is required\"),\n lastName: yup.string().required(\"Last name is required\"),\n password: passwordSchema,\n preferredRegion: yup.string().required(\"Preferred region is required\"),\n // eslint-disable-next-line sort-keys\n confirmPassword: yup\n .string()\n .oneOf([yup.ref(\"password\")], \"Passwords must match\")\n .required(\"Confirm Password is required\"),\n role: yup\n .mixed<EnumUserRole>()\n .oneOf(Object.values(EnumUserRole))\n .required(\"Role is required\"),\n});\n","import * as yup from \"yup\";\n\nimport { emailSchema, passwordSchema } from \"./global\";\n\nexport const loginSchema = yup.object().shape({\n email: emailSchema,\n password: passwordSchema,\n});\n\nexport const registerSchema = yup.object().shape({\n email: emailSchema,\n firstName: yup\n .string()\n .label(\"First Name\")\n .required(\"First Name is required\"),\n lastName: yup.string().label(\"Last Name\").required(\"Last Name is required\"),\n password: passwordSchema,\n preferredRegion: yup\n .string()\n .label(\"Preferred Region\")\n .required(\"Preferred Region is required\"),\n});\n\nexport const requestPasswordResetSchema = yup.object().shape({\n email: emailSchema,\n});\n\nexport const resetPasswordSchema = yup.object().shape({\n email: emailSchema,\n password: passwordSchema,\n // eslint-disable-next-line sort-keys\n confirmPassword: yup\n .string()\n .oneOf([yup.ref(\"password\")], \"Passwords must match\")\n .required(\"Confirm Password is required\"),\n});\n\nexport const validateVerificationTokenSchema = yup.object().shape({\n email: emailSchema,\n verificationToken: yup\n .string()\n .required(\"Verification code is required\")\n .matches(/^\\d{5}$/, \"Verification code must be exactly 5 digits\"),\n});\n","import * as yup from \"yup\";\n\nimport { EnumOSType, EnumResourceType } from \"src/enums\";\n\nimport { emailSchema } from \"./global\";\n\nexport const testersSchema = yup.object().shape({\n email: emailSchema,\n firstName: yup.string().required(\"First name is required\"),\n lastName: yup.string().required(\"Last name is required\"),\n osType: yup\n .mixed<EnumOSType>()\n .oneOf(Object.values(EnumOSType), \"Please select Android or iOS device\")\n .required(\"OS Type is required\"),\n resourceType: yup\n .mixed<EnumResourceType>()\n .oneOf(\n Object.values(EnumResourceType),\n \"Please select Market or Stallholder\",\n )\n .required(\"Resource Type is required\"),\n});\n","import { EnumPaymentMethod } from \"../enums\";\nimport {\n BaseResourceTypeFormData,\n MarketFormData,\n MarketInfoFormData,\n StallholderFormData,\n StallholderInfoFormData,\n} from \"../types\";\n\nexport const globalDefaultValues: BaseResourceTypeFormData = {\n active: false,\n cover: {\n source: \"\",\n title: \"\",\n },\n coverUpload: {\n source: \"\",\n title: \"\",\n },\n description:\n \"Lorem Ipsum is a placeholder text commonly used in design and publishing to represent the visual form of a document without relying on meaningful content. It's a jumbled Latin text, not intended to be read or understood, and is used to show the layout and typography before actual content is added.\",\n images: null,\n imagesUpload: null,\n logo: null,\n logoUpload: null,\n name: \"Resource name\",\n promoCode: \"\",\n region: \"\",\n socialMedia: [],\n};\n\nexport const defaultMarketFormValues: MarketFormData = {\n ...globalDefaultValues,\n dateTime: [\n {\n endDate: \"04-09-2025\",\n endTime: \"15:00\",\n startDate: \"04-09-2025\",\n startTime: \"09:00\",\n },\n {\n endDate: \"05-09-2025\",\n endTime: \"15:00\",\n startDate: \"05-09-2025\",\n startTime: \"09:00\",\n },\n ],\n location: {\n city: \"\",\n coordinates: [0, 0], // [longitude, latitude]\n country: \"\",\n fullAddress: \"\",\n latitude: 0,\n longitude: 0,\n region: \"\",\n type: \"Point\", // Default type for GeoJSON\n },\n provider: \"Provider name\",\n tags: [],\n};\n\nexport const defaultMarketInfoFormValues: MarketInfoFormData = {\n applicationDeadlineHours: 48,\n dateTime: [\n {\n endDate: \"04-05-2025\",\n endTime: \"15:00\",\n stallTypes: [],\n startDate: \"04-05-2025\",\n startTime: \"09:00\",\n },\n {\n endDate: \"05-05-2025\",\n endTime: \"15:00\",\n stallTypes: [],\n startDate: \"05-05-2025\",\n startTime: \"09:00\",\n },\n ],\n marketId: \"\",\n packInTime: 2, // e.g., 2 hours before market opens\n paymentDueHours: 24,\n paymentInfo: [],\n requirements: [],\n};\n\nexport const defaultStallholderFormValues: StallholderFormData = {\n ...globalDefaultValues,\n categories: [],\n locations: null,\n multiLocation: false,\n products: [],\n specialities: null,\n};\n\nexport const defaultStallholderInfoFormValues: StallholderInfoFormData = {\n electricity: { details: null, isRequired: false },\n foodSafetyGradeFiles: null,\n foodSafetyGradeFilesUpload: null,\n gazebo: { details: null, isRequired: false },\n packaging: [],\n paymentMethod: \"\" as EnumPaymentMethod,\n priceRange: { max: 0, min: 0 },\n producedIn: [],\n stallholderId: \"\",\n stallSize: { depth: 0, width: 0 },\n table: { details: null, isRequired: false },\n};\n\nexport function mapBaseResourceTypeToFormData(\n data: MarketFormData | StallholderFormData,\n): BaseResourceTypeFormData {\n return {\n _id: data._id,\n active: data.active,\n cover: data.cover,\n coverUpload: data.coverUpload,\n description: data.description,\n images: data.images,\n imagesUpload: data.imagesUpload,\n logo: data.logo,\n logoUpload: data.logoUpload,\n name: data.name,\n promoCode: data.promoCode,\n region: data.region,\n socialMedia: data.socialMedia,\n };\n}\n","import { yupResolver } from \"@hookform/resolvers/yup\";\nimport * as React from \"react\";\nimport { useForm } from \"react-hook-form\";\n\nimport {\n CreateStallholderInfoFormData,\n StallholderInfoFormData,\n} from \"../../types/stallholder\";\nimport { stallholderInfoSchema } from \"../../yupSchema\";\nimport { defaultStallholderInfoFormValues } from \"../utils\";\n\n/**\n * Custom hook to manage the stallholder apply form state and validation.\n *\n * @param {StallholderApplyFormFormData} data - The initial form data.\n * @returns {CreateStallholderInfoFormData} - The form methods and state.\n */\nexport function useStallholderInfoForm(\n data?: StallholderInfoFormData,\n): CreateStallholderInfoFormData {\n const {\n control,\n formState: { errors },\n getValues,\n handleSubmit,\n reset,\n setValue,\n watch,\n } = useForm<StallholderInfoFormData>({\n defaultValues: defaultStallholderInfoFormValues,\n resolver: yupResolver(stallholderInfoSchema),\n });\n\n React.useEffect(() => {\n if (data) {\n reset({\n _id: data._id,\n electricity: data.electricity,\n foodSafetyGradeFiles: data.foodSafetyGradeFiles,\n foodSafetyGradeFilesUpload: data.foodSafetyGradeFilesUpload,\n gazebo: data.gazebo,\n packaging: data.packaging,\n paymentMethod: data.paymentMethod,\n priceRange: data.priceRange,\n producedIn: data.producedIn,\n stallholderId: data.stallholderId,\n stallSize: data.stallSize,\n table: data.table,\n });\n } else {\n reset(defaultStallholderInfoFormValues);\n }\n }, [data]);\n\n const {\n _id,\n electricity,\n foodSafetyGradeFiles,\n foodSafetyGradeFilesUpload,\n gazebo,\n packaging,\n paymentMethod,\n priceRange,\n producedIn,\n stallholderId,\n stallSize,\n table,\n } = getValues();\n\n return {\n control,\n fields: {\n _id,\n electricity,\n foodSafetyGradeFiles,\n foodSafetyGradeFilesUpload,\n gazebo,\n packaging,\n paymentMethod,\n priceRange,\n producedIn,\n stallholderId,\n stallSize,\n table,\n },\n formState: { errors },\n handleSubmit,\n reset,\n setValue,\n watch,\n };\n}\n","import { yupResolver } from \"@hookform/resolvers/yup\";\nimport * as React from \"react\";\nimport { useForm } from \"react-hook-form\";\n\nimport { CreateMarketFormData, MarketFormData } from \"../../types/market\";\nimport { marketSchema } from \"../../yupSchema\";\nimport {\n defaultMarketFormValues,\n mapBaseResourceTypeToFormData,\n} from \"../utils\";\n\n/**\n * Custom hook to manage the market form state and validation.\n *\n * @param {MarketFormData} data - The initial form data.\n * @returns {CreateMarketFormData} - The form methods and state.\n */\nexport function useMarketForm(data?: MarketFormData): CreateMarketFormData {\n const {\n control,\n formState: { errors },\n getValues,\n handleSubmit,\n reset,\n setValue,\n watch,\n } = useForm<MarketFormData>({\n defaultValues: defaultMarketFormValues,\n resolver: yupResolver(marketSchema),\n });\n\n React.useEffect(() => {\n if (data) {\n reset({\n ...mapBaseResourceTypeToFormData(data),\n dateTime: data.dateTime,\n location: data.location,\n provider: data.provider,\n tags: data.tags,\n });\n } else {\n reset(defaultMarketFormValues);\n }\n }, [data]);\n\n const {\n _id,\n active,\n cover,\n coverUpload,\n dateTime,\n description,\n images,\n imagesUpload,\n location,\n logo,\n logoUpload,\n name,\n provider,\n region,\n tags,\n promoCode,\n socialMedia,\n } = getValues();\n\n return {\n control,\n fields: {\n _id,\n active,\n cover,\n coverUpload,\n dateTime,\n description,\n images,\n imagesUpload,\n location,\n logo,\n logoUpload,\n name,\n promoCode,\n provider,\n region,\n socialMedia,\n tags,\n },\n formState: { errors },\n handleSubmit,\n reset,\n setValue,\n watch,\n };\n}\n","import { yupResolver } from \"@hookform/resolvers/yup\";\nimport * as React from \"react\";\nimport { useForm } from \"react-hook-form\";\n\nimport {\n CreateMarketInfoFormData,\n MarketInfoFormData,\n} from \"../../types/market\";\nimport { marketInfoSchema } from \"../../yupSchema\";\nimport { defaultMarketInfoFormValues } from \"../utils\";\n\n/**\n * Custom hook to manage the market form state and validation.\n *\n * @param {MarketInfoFormData} data - The initial form data.\n * @returns {CreateMarketInfoFormData} - The form methods and state.\n */\nexport function useMarketInfoForm(\n data?: MarketInfoFormData,\n): CreateMarketInfoFormData {\n const {\n control,\n formState: { errors },\n getValues,\n handleSubmit,\n reset,\n setValue,\n watch,\n } = useForm<MarketInfoFormData>({\n defaultValues: defaultMarketInfoFormValues,\n resolver: yupResolver(marketInfoSchema),\n });\n\n React.useEffect(() => {\n if (data) {\n reset({\n _id: data._id,\n applicationDeadlineHours: data.applicationDeadlineHours,\n dateTime: data.dateTime,\n marketId: data.marketId,\n packInTime: data.packInTime,\n paymentDueHours: data.paymentDueHours,\n paymentInfo: data.paymentInfo,\n requirements: data.requirements,\n });\n } else {\n reset(defaultMarketInfoFormValues);\n }\n }, [data]);\n\n const {\n _id,\n applicationDeadlineHours,\n dateTime,\n marketId,\n packInTime,\n paymentDueHours,\n paymentInfo,\n requirements,\n } = getValues();\n\n return {\n control,\n fields: {\n _id,\n applicationDeadlineHours,\n dateTime,\n marketId,\n packInTime,\n paymentDueHours,\n paymentInfo,\n requirements,\n },\n formState: { errors },\n handleSubmit,\n reset,\n setValue,\n watch,\n };\n}\n","import { yupResolver } from \"@hookform/resolvers/yup\";\nimport * as React from \"react\";\nimport { useForm } from \"react-hook-form\";\n\nimport { EnumUserRole } from \"../enums\";\nimport { CreateUserFormData, UserFormData } from \"../types/user\";\nimport { userSchema } from \"../yupSchema/user\";\n\nconst defaultValues: UserFormData = {\n active: false,\n avatar: null,\n avatarUpload: null,\n confirmPassword: \"\",\n email: \"\",\n firstName: \"\",\n lastName: \"\",\n password: \"\",\n preferredRegion: \"\",\n role: EnumUserRole.CUSTOMER,\n};\n\n/**\n * Custom hook to manage the user form state and validation.\n *\n * @param {UserFormData} data - The initial form data.\n * @returns {CreateUserFormData} - The form methods and state.\n */\nexport function useUserForm(data?: UserFormData): CreateUserFormData {\n const {\n control,\n formState: { errors },\n getValues,\n handleSubmit,\n reset,\n setValue,\n watch,\n } = useForm<UserFormData>({\n defaultValues,\n resolver: yupResolver(userSchema),\n });\n\n React.useEffect(() => {\n if (data) {\n reset({\n _id: data._id,\n active: data.active,\n avatar: data.avatar,\n avatarUpload: data.avatarUpload,\n confirmPassword: data.confirmPassword,\n email: data.email,\n firstName: data.firstName,\n lastName: data.lastName,\n password: data.password,\n preferredRegion: data.preferredRegion,\n role: data.role,\n });\n } else {\n reset(defaultValues);\n }\n }, [data]);\n\n const {\n _id,\n active,\n avatar,\n avatarUpload,\n confirmPassword,\n email,\n firstName,\n lastName,\n password,\n preferredRegion,\n role,\n } = getValues();\n\n return {\n control,\n fields: {\n _id,\n active,\n avatar,\n avatarUpload,\n confirmPassword,\n email,\n firstName,\n lastName,\n password,\n preferredRegion,\n role,\n },\n formState: { errors },\n handleSubmit,\n reset,\n setValue,\n watch,\n };\n}\n","import { yupResolver } from \"@hookform/resolvers/yup\";\nimport { useForm } from \"react-hook-form\";\n\nimport { CreateLoginFormData, LoginFormData } from \"../../types/auth\";\nimport { loginSchema } from \"../../yupSchema/auth\";\n\nconst defaultValues: LoginFormData = {\n email: \"\",\n password: \"\",\n};\n\n/**\n * Custom hook to manage the login form state and validation.\n *\n * @returns {CreateLoginFormData} - The form methods and state.\n */\nexport function useLoginForm(): CreateLoginFormData {\n const {\n control,\n formState: { errors },\n getValues,\n handleSubmit,\n reset,\n setValue,\n watch,\n } = useForm<LoginFormData>({\n defaultValues,\n resolver: yupResolver(loginSchema),\n });\n\n const { email, password } = getValues();\n\n return {\n control,\n fields: {\n email,\n password,\n },\n formState: { errors },\n handleSubmit,\n reset,\n setValue,\n watch,\n };\n}\n","import { yupResolver } from \"@hookform/resolvers/yup\";\nimport { useForm } from \"react-hook-form\";\n\nimport { CreateRegisterFormData, RegisterFormData } from \"../../types/auth\";\nimport { registerSchema } from \"../../yupSchema/auth\";\n\nconst defaultValues: RegisterFormData = {\n email: \"\",\n firstName: \"\",\n lastName: \"\",\n password: \"\",\n preferredRegion: \"\",\n};\n\n/**\n * Custom hook to manage the register form state and validation.\n *\n * @returns {CreateRegisterFormData} - The form methods and state.\n */\nexport function useRegisterForm(): CreateRegisterFormData {\n const {\n control,\n formState: { errors },\n getValues,\n handleSubmit,\n reset,\n setValue,\n watch,\n } = useForm<RegisterFormData>({\n defaultValues,\n resolver: yupResolver(registerSchema),\n });\n\n const { email, firstName, lastName, password, preferredRegion } = getValues();\n\n return {\n control,\n fields: {\n email,\n firstName,\n lastName,\n password,\n preferredRegion,\n },\n formState: { errors },\n handleSubmit,\n reset,\n setValue,\n watch,\n };\n}\n","import { yupResolver } from \"@hookform/resolvers/yup\";\nimport { useForm } from \"react-hook-form\";\n\nimport {\n CreateRequestPasswordResetFormData,\n RequestPasswordResetFormData,\n} from \"../../types/auth\";\nimport { requestPasswordResetSchema } from \"../../yupSchema/auth\";\n\nconst defaultValues: RequestPasswordResetFormData = {\n email: \"\",\n};\n\nexport function useRequestPasswordResetForm(): CreateRequestPasswordResetFormData {\n const {\n control,\n formState: { errors },\n getValues,\n handleSubmit,\n reset,\n setValue,\n watch,\n } = useForm<RequestPasswordResetFormData>({\n defaultValues,\n resolver: yupResolver(requestPasswordResetSchema),\n });\n\n const { email } = getValues();\n\n return {\n control,\n fields: {\n email,\n },\n formState: { errors },\n handleSubmit,\n reset,\n setValue,\n watch,\n };\n}\n","import { yupResolver } from \"@hookform/resolvers/yup\";\nimport { useForm } from \"react-hook-form\";\n\nimport {\n CreateValidateVerificationTokenFormData,\n ValidateVerificationTokenFormData,\n} from \"../../types/auth\";\nimport { validateVerificationTokenSchema } from \"../../yupSchema/auth\";\n\nconst defaultValues: ValidateVerificationTokenFormData = {\n email: \"\",\n verificationToken: \"\",\n};\n\nexport function useValidateVerificationTokenForm(): CreateValidateVerificationTokenFormData {\n const {\n control,\n formState: { errors },\n getValues,\n handleSubmit,\n reset,\n setValue,\n watch,\n } = useForm<ValidateVerificationTokenFormData>({\n defaultValues,\n resolver: yupResolver(validateVerificationTokenSchema),\n });\n\n const { email, verificationToken } = getValues();\n\n return {\n control,\n fields: {\n email,\n verificationToken,\n },\n formState: { errors },\n handleSubmit,\n reset,\n setValue,\n watch,\n };\n}\n","import { yupResolver } from \"@hookform/resolvers/yup\";\nimport { useForm } from \"react-hook-form\";\n\nimport {\n CreateResetPasswordFormData,\n ResetPasswordFormData,\n} from \"../../types/auth\";\nimport { resetPasswordSchema } from \"../../yupSchema/auth\";\n\nconst defaultValues: ResetPasswordFormData = {\n confirmPassword: \"\",\n email: \"\",\n password: \"\",\n};\n\nexport function useResetPasswordForm(): CreateResetPasswordFormData {\n const {\n control,\n formState: { errors },\n getValues,\n handleSubmit,\n reset,\n setValue,\n watch,\n } = useForm<ResetPasswordFormData>({\n defaultValues,\n resolver: yupResolver(resetPasswordSchema),\n });\n\n const { confirmPassword, email, password } = getValues();\n\n return {\n control,\n fields: {\n confirmPassword,\n email,\n password,\n },\n formState: { errors },\n handleSubmit,\n reset,\n setValue,\n watch,\n };\n}\n","import { yupResolver } from \"@hookform/resolvers/yup\";\nimport React from \"react\";\nimport { useForm } from \"react-hook-form\";\n\nimport { EnumOSType, EnumResourceType } from \"src/enums\";\nimport { CreateTestersFormData, TestersFormData } from \"src/types/testers\";\nimport { testersSchema } from \"src/yupSchema/testers\";\n\nconst defaultValues = {\n email: \"\",\n firstName: \"\",\n lastName: \"\",\n osType: \"\" as EnumOSType,\n resourceType: \"\" as EnumResourceType,\n};\n\nexport function useTestersForm(data?: TestersFormData): CreateTestersFormData {\n const {\n control,\n formState: { errors },\n getValues,\n handleSubmit,\n reset,\n setValue,\n watch,\n } = useForm<TestersFormData>({\n defaultValues,\n resolver: yupResolver(testersSchema),\n });\n\n React.useEffect(() => {\n if (data) {\n reset({\n email: data.email,\n firstName: data.firstName,\n lastName: data.lastName,\n osType: data.osType,\n resourceType: data.resourceType,\n });\n } else {\n reset(defaultValues);\n }\n }, [data]);\n\n const { email, firstName, lastName, osType, resourceType } = getValues();\n\n return {\n control,\n fields: {\n email,\n firstName,\n lastName,\n osType,\n resourceType,\n },\n formState: { errors },\n handleSubmit,\n reset,\n setValue,\n watch,\n };\n}\n","import { yupResolver } from \"@hookform/resolvers/yup\";\nimport React from \"react\";\nimport { useForm } from \"react-hook-form\";\n\nimport {\n ContactUsFormData,\n CreateContactUsFormData,\n} from \"src/types/contactUs\";\nimport { contactUsSchema } from \"src/yupSchema/contactUs\";\n\nconst defaultValues = {\n email: \"\",\n firstName: \"\",\n lastName: \"\",\n message: \"\",\n};\n\nexport function useContactUsForm(\n data?: ContactUsFormData,\n): CreateContactUsFormData {\n const {\n control,\n formState: { errors },\n getValues,\n handleSubmit,\n reset,\n setValue,\n watch,\n } = useForm<ContactUsFormData>({\n defaultValues,\n resolver: yupResolver(contactUsSchema),\n });\n\n React.useEffect(() => {\n if (data) {\n reset({\n email: data.email,\n firstName: data.firstName,\n lastName: data.lastName,\n message: data.message,\n });\n } else {\n reset(defaultValues);\n }\n }, [data]);\n\n const { email, firstName, lastName, message } = getValues();\n\n return {\n control,\n fields: {\n email,\n firstName,\n lastName,\n message,\n },\n formState: { errors },\n handleSubmit,\n reset,\n setValue,\n watch,\n };\n}\n","import * as yup from \"yup\";\n\nimport { emailSchema } from \"./global\";\n\nexport const contactUsSchema = yup.object().shape({\n email: emailSchema,\n firstName: yup.string().required(\"First name is required\"),\n lastName: yup.string().required(\"Last name is required\"),\n message: yup.string().required(\"Message is required\"),\n});\n"],"mappings":"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","names":["yup","yup","yup","yup","yup","yupResolver","React","useForm","useForm","yupResolver","yupResolver","React","useForm","useForm","yupResolver","yupResolver","React","useForm","useForm","yupResolver","yupResolver","React","useForm","useForm","yupResolver","yupResolver","useForm","defaultValues","useForm","yupResolver","yupResolver","useForm","defaultValues","useForm","yupResolver","yupResolver","useForm","defaultValues","useForm","yupResolver","yupResolver","useForm","defaultValues","useForm","yupResolver","yupResolver","useForm","defaultValues","useForm","yupResolver","yupResolver","React","useForm","defaultValues","useForm","yupResolver","React","yupResolver","React","useForm","yup","defaultValues","useForm","yupResolver","React"]}
|
package/dist/index.cjs
CHANGED
|
@@ -1016,6 +1016,25 @@ var profileFields = [
|
|
|
1016
1016
|
];
|
|
1017
1017
|
|
|
1018
1018
|
// src/formFields/categories.ts
|
|
1019
|
+
var categoryColors = {
|
|
1020
|
+
"antiques-collectibles": "#8D6748",
|
|
1021
|
+
"clothing-fashion": "#9D4EDD",
|
|
1022
|
+
"electronics-technology": "#3AF3FF",
|
|
1023
|
+
"food-beverages": "#FF0D1F",
|
|
1024
|
+
"handmade-local-products": "#EE7E54",
|
|
1025
|
+
"health-wellness": "#E23794",
|
|
1026
|
+
"home-garden-household-goods": "#067325",
|
|
1027
|
+
"pet-products-animal-goods": "#68E788",
|
|
1028
|
+
"services-experiences": "#2E16A5",
|
|
1029
|
+
"toys-childrens-items": "#FFF966"
|
|
1030
|
+
};
|
|
1031
|
+
var assignColorToCategories = (categories) => {
|
|
1032
|
+
const result = categories.map((category) => ({
|
|
1033
|
+
...category,
|
|
1034
|
+
color: categoryColors[category.id]
|
|
1035
|
+
}));
|
|
1036
|
+
return result;
|
|
1037
|
+
};
|
|
1019
1038
|
var foodAndBeverages = [
|
|
1020
1039
|
{
|
|
1021
1040
|
id: "food-beverages",
|
|
@@ -1865,7 +1884,7 @@ var serviceAndExperience = [
|
|
|
1865
1884
|
]
|
|
1866
1885
|
}
|
|
1867
1886
|
];
|
|
1868
|
-
var availableCategories = [
|
|
1887
|
+
var availableCategories = assignColorToCategories([
|
|
1869
1888
|
...foodAndBeverages,
|
|
1870
1889
|
...handmadeAndLocalProducts,
|
|
1871
1890
|
...clothingAndFashion,
|
|
@@ -1876,19 +1895,7 @@ var availableCategories = [
|
|
|
1876
1895
|
...antiquesAndCollectibles,
|
|
1877
1896
|
...petProductsAndAnimalGoods,
|
|
1878
1897
|
...serviceAndExperience
|
|
1879
|
-
];
|
|
1880
|
-
var categoryColors = {
|
|
1881
|
-
"antiques-collectibles": "#8D6748",
|
|
1882
|
-
"clothing-fashion": "#9D4EDD",
|
|
1883
|
-
"electronics-technology": "#3AF3FF",
|
|
1884
|
-
"food-beverages": "#FF0D1F",
|
|
1885
|
-
"handmade-local-products": "#EE7E54",
|
|
1886
|
-
"health-wellness": "#E23794",
|
|
1887
|
-
"home-garden-household-goods": "#067325",
|
|
1888
|
-
"pet-products-animal-goods": "#68E788",
|
|
1889
|
-
"services-experiences": "#2E16A5",
|
|
1890
|
-
"toys-childrens-items": "#FFF966"
|
|
1891
|
-
};
|
|
1898
|
+
]);
|
|
1892
1899
|
|
|
1893
1900
|
// src/formFields/socialMedia.ts
|
|
1894
1901
|
var socialMedia = [
|
|
@@ -2792,7 +2799,7 @@ var useCreateMarket = () => {
|
|
|
2792
2799
|
CREATE_MARKET_MUTATION,
|
|
2793
2800
|
{
|
|
2794
2801
|
awaitRefetchQueries: true,
|
|
2795
|
-
refetchQueries: [{
|
|
2802
|
+
refetchQueries: [{ fetchPolicy: "no-cache", query: GET_USER_MARKETS }]
|
|
2796
2803
|
}
|
|
2797
2804
|
);
|
|
2798
2805
|
return { createMarket, error, loading };
|
|
@@ -2802,7 +2809,7 @@ var useUpdateMarket = () => {
|
|
|
2802
2809
|
UPDATE_MARKET_MUTATION,
|
|
2803
2810
|
{
|
|
2804
2811
|
awaitRefetchQueries: true,
|
|
2805
|
-
refetchQueries: [{
|
|
2812
|
+
refetchQueries: [{ fetchPolicy: "no-cache", query: GET_USER_MARKETS }]
|
|
2806
2813
|
}
|
|
2807
2814
|
);
|
|
2808
2815
|
return { error, loading, updateMarket };
|
|
@@ -2812,7 +2819,7 @@ var useDeleteMarket = () => {
|
|
|
2812
2819
|
DELETE_MARKET_MUTATION,
|
|
2813
2820
|
{
|
|
2814
2821
|
awaitRefetchQueries: true,
|
|
2815
|
-
refetchQueries: [{
|
|
2822
|
+
refetchQueries: [{ fetchPolicy: "no-cache", query: GET_USER_MARKETS }]
|
|
2816
2823
|
}
|
|
2817
2824
|
);
|
|
2818
2825
|
return { deleteMarket, error, loading };
|
|
@@ -2832,6 +2839,7 @@ var useCreateMarketInfo = () => {
|
|
|
2832
2839
|
// Pass the marketId for refetching
|
|
2833
2840
|
},
|
|
2834
2841
|
{
|
|
2842
|
+
fetchPolicy: "no-cache",
|
|
2835
2843
|
query: GET_MARKET,
|
|
2836
2844
|
variables: { _id: marketId }
|
|
2837
2845
|
// Pass the marketId for refetching
|
|
@@ -3404,8 +3412,7 @@ var useCreateStallholder = () => {
|
|
|
3404
3412
|
{
|
|
3405
3413
|
awaitRefetchQueries: true,
|
|
3406
3414
|
refetchQueries: [
|
|
3407
|
-
{ query:
|
|
3408
|
-
{ query: GET_USER_STALLHOLDER }
|
|
3415
|
+
{ fetchPolicy: "no-cache", query: GET_USER_STALLHOLDER }
|
|
3409
3416
|
]
|
|
3410
3417
|
}
|
|
3411
3418
|
);
|
|
@@ -3417,8 +3424,7 @@ var useUpdateStallholder = () => {
|
|
|
3417
3424
|
{
|
|
3418
3425
|
awaitRefetchQueries: true,
|
|
3419
3426
|
refetchQueries: [
|
|
3420
|
-
{ query:
|
|
3421
|
-
{ query: GET_USER_STALLHOLDER }
|
|
3427
|
+
{ fetchPolicy: "no-cache", query: GET_USER_STALLHOLDER }
|
|
3422
3428
|
]
|
|
3423
3429
|
}
|
|
3424
3430
|
);
|
|
@@ -3430,8 +3436,7 @@ var useDeleteStallholder = () => {
|
|
|
3430
3436
|
{
|
|
3431
3437
|
awaitRefetchQueries: true,
|
|
3432
3438
|
refetchQueries: [
|
|
3433
|
-
{ query:
|
|
3434
|
-
{ query: GET_USER_STALLHOLDER }
|
|
3439
|
+
{ fetchPolicy: "no-cache", query: GET_USER_STALLHOLDER }
|
|
3435
3440
|
]
|
|
3436
3441
|
}
|
|
3437
3442
|
);
|
|
@@ -3452,6 +3457,7 @@ var useCreateStallholderInfo = () => {
|
|
|
3452
3457
|
// Pass the stallholderId for refetching
|
|
3453
3458
|
},
|
|
3454
3459
|
{
|
|
3460
|
+
fetchPolicy: "no-cache",
|
|
3455
3461
|
query: GET_USER_STALLHOLDER
|
|
3456
3462
|
}
|
|
3457
3463
|
];
|
|
@@ -4078,6 +4084,24 @@ var globalResourceSchema = yup.object().shape({
|
|
|
4078
4084
|
region: yup.string().label("Region").required("Region is required"),
|
|
4079
4085
|
socialMedia: yup.array().of(socialMediaSchema).nullable().optional()
|
|
4080
4086
|
});
|
|
4087
|
+
var categorySchema = yup.array().of(
|
|
4088
|
+
yup.object().shape({
|
|
4089
|
+
id: yup.string().required("Category id is required"),
|
|
4090
|
+
name: yup.string().required("Category name is required"),
|
|
4091
|
+
subcategories: yup.array().of(
|
|
4092
|
+
yup.object().shape({
|
|
4093
|
+
id: yup.string().defined(),
|
|
4094
|
+
items: yup.array().of(
|
|
4095
|
+
yup.object().shape({
|
|
4096
|
+
id: yup.string().defined(),
|
|
4097
|
+
name: yup.string().defined()
|
|
4098
|
+
})
|
|
4099
|
+
).nullable(),
|
|
4100
|
+
name: yup.string().defined()
|
|
4101
|
+
})
|
|
4102
|
+
).min(1, "At least one subcategory is required").required("Subcategories are required")
|
|
4103
|
+
})
|
|
4104
|
+
).min(1, "Category list must contain at least one item").required("Categories are required");
|
|
4081
4105
|
|
|
4082
4106
|
// src/yupSchema/market.ts
|
|
4083
4107
|
var yup2 = __toESM(require("yup"));
|
|
@@ -4137,24 +4161,7 @@ var marketInfoSchema = yup2.object().shape({
|
|
|
4137
4161
|
// src/yupSchema/stallholder.ts
|
|
4138
4162
|
var yup3 = __toESM(require("yup"));
|
|
4139
4163
|
var stallHolderSchema = globalResourceSchema.shape({
|
|
4140
|
-
categories:
|
|
4141
|
-
yup3.object().shape({
|
|
4142
|
-
id: yup3.string().required("Category id is required"),
|
|
4143
|
-
name: yup3.string().required("Category name is required"),
|
|
4144
|
-
subcategories: yup3.array().of(
|
|
4145
|
-
yup3.object().shape({
|
|
4146
|
-
id: yup3.string().defined(),
|
|
4147
|
-
items: yup3.array().of(
|
|
4148
|
-
yup3.object().shape({
|
|
4149
|
-
id: yup3.string().defined(),
|
|
4150
|
-
name: yup3.string().defined()
|
|
4151
|
-
})
|
|
4152
|
-
).nullable(),
|
|
4153
|
-
name: yup3.string().defined()
|
|
4154
|
-
})
|
|
4155
|
-
).min(1, "At least one subcategory is required").required("Subcategories are required")
|
|
4156
|
-
})
|
|
4157
|
-
).min(1, "Category list must contain at least one item").required("Categories are required"),
|
|
4164
|
+
categories: categorySchema,
|
|
4158
4165
|
multiLocation: yup3.boolean().required("Multi location is required"),
|
|
4159
4166
|
products: yup3.array().of(yup3.string().defined()).min(1, "Product list must contain at least one item").required("Products are required")
|
|
4160
4167
|
});
|
|
@@ -4279,15 +4286,15 @@ var defaultMarketFormValues = {
|
|
|
4279
4286
|
...globalDefaultValues,
|
|
4280
4287
|
dateTime: [
|
|
4281
4288
|
{
|
|
4282
|
-
endDate: "04-
|
|
4289
|
+
endDate: "04-09-2025",
|
|
4283
4290
|
endTime: "15:00",
|
|
4284
|
-
startDate: "04-
|
|
4291
|
+
startDate: "04-09-2025",
|
|
4285
4292
|
startTime: "09:00"
|
|
4286
4293
|
},
|
|
4287
4294
|
{
|
|
4288
|
-
endDate: "05-
|
|
4295
|
+
endDate: "05-09-2025",
|
|
4289
4296
|
endTime: "15:00",
|
|
4290
|
-
startDate: "05-
|
|
4297
|
+
startDate: "05-09-2025",
|
|
4291
4298
|
startTime: "09:00"
|
|
4292
4299
|
}
|
|
4293
4300
|
],
|