@timardex/cluemart-shared 1.0.0

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.
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/utils.ts","../src/enums.ts","../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/hooks/utils.ts","../src/hooks/stallholder/useStallholderApplyForm.ts","../src/hooks/useMarketForm.ts","../src/hooks/useUserForm.ts","../src/hooks/auth/useLoginForm.ts","../src/hooks/auth/useRegisterForm.ts","../src/graphql/hooks/auth.ts","../src/graphql/mutations/auth.ts","../src/graphql/queries/global.ts","../src/graphql/hooks/market/hooksMutation.ts","../src/graphql/mutations/market.ts","../src/graphql/queries/market.ts","../src/graphql/queries/user.ts","../src/graphql/queries/stallholder.ts","../src/graphql/hooks/market/hooksQuery.ts","../src/graphql/hooks/relation/hooksMutation.ts","../src/graphql/mutations/relation.ts","../src/graphql/queries/relation.ts","../src/graphql/hooks/relation/hooksQuery.ts","../src/graphql/hooks/stallholder/hooksMutation.ts","../src/graphql/mutations/stallholder.ts","../src/graphql/hooks/stallholder/hooksQuery.ts","../src/graphql/hooks/subscriptions.ts","../src/graphql/subscriptions/notification.ts","../src/graphql/hooks/user/hooksMutation.ts","../src/graphql/mutations/user.ts","../src/graphql/hooks/user/hooksQuery.ts","../src/formFields/stallholder/createEditStallholder.ts","../src/formFields/stallholder/stallholderApplyForm.ts","../src/formFields/market.ts","../src/formFields/auth.ts","../src/formFields/user.ts","../src/formFields/categories.ts"],"sourcesContent":["import dayjs, { extend } from \"dayjs\";\nimport customParseFormat from \"dayjs/plugin/customParseFormat\";\nimport timezone from \"dayjs/plugin/timezone\";\nimport utc from \"dayjs/plugin/utc\";\n\nimport { EnumInviteStatus } from \"./enums\";\nimport { OptionItem, Region } from \"./types/global\";\n\nexport const dateFormat = \"DD-MM-YYYY\";\nexport const timeFormat = \"HH:mm\";\n\n// Enable custom format parsing\nextend(customParseFormat);\nextend(utc);\nextend(timezone);\n\ntype DateFormat = \"date\" | \"time\" | \"datetime\";\n\n/**\n * Format a date string to a more readable format.\n * @param dateStr - the date string\n * @param timeStr - optional time string\n * @param display - 'date' | 'time' | 'datetime'\n * @returns formatted string based on display option\n */\nexport const formatDate = (\n dateStr: string,\n display: DateFormat = \"datetime\",\n timeStr?: string,\n) => {\n // Combine date and time into a single string if time is provided\n const dateTimeStr = timeStr ? `${dateStr} ${timeStr}` : dateStr;\n\n // Parse with formats\n const dateTime = timeStr\n ? dayjs(dateTimeStr, `${dateFormat} ${timeFormat}`)\n : dayjs(dateStr, dateFormat);\n\n // Format parts\n const formattedDate = dateTime.format(\"dddd, D MMMM, YYYY\");\n const formattedTime = dateTime.format(\"h:mm a\");\n\n // Return based on display option\n switch (display) {\n case \"date\":\n return formattedDate;\n case \"time\":\n return formattedTime;\n case \"datetime\":\n return `${formattedDate} at ${formattedTime}`;\n default:\n return formattedDate;\n }\n};\n\nexport const getCurrentAndFutureDates = (\n dates: {\n startDate: string;\n startTime: string;\n }[],\n) => {\n const today = dayjs().startOf(\"day\");\n\n return dates.filter((dateObj) => {\n const dateTime = dayjs(dateObj.startDate, dateFormat);\n return dateTime.isSameOrAfter(today);\n });\n};\n\nexport const getFutureDatesAfterThreshold = (\n dates: {\n startDate: string;\n startTime: string;\n }[],\n minHoursFromNow?: number, // Optional\n) => {\n const threshold = minHoursFromNow\n ? dayjs().add(minHoursFromNow, \"hour\")\n : dayjs().startOf(\"day\");\n\n return dates.filter((dateObj) => {\n const dateTime = dayjs(\n `${dateObj.startDate} ${dateObj.startTime}`,\n `${dateFormat} ${timeFormat}`,\n );\n return dateTime.isSameOrAfter(threshold);\n });\n};\n\nexport const formatTimestamp = (timestamp: string) => {\n const formattedDate = dayjs(timestamp)\n .tz(\"Pacific/Auckland\")\n .format(dateFormat);\n\n const formattedTime = dayjs(timestamp)\n .tz(\"Pacific/Auckland\")\n .format(timeFormat);\n\n return formatDate(formattedDate, \"date\");\n};\n\nexport const GOOGLE_API_KEY = \"AIzaSyC8UkMGkrF6lIInF9yHxaVQQvlN-zqCfMc\";\n\nexport const defaultRegion: Region = {\n latitude: -36.8624942, // Default: New Zealand\n latitudeDelta: 5.0,\n longitude: 174.7450494,\n longitudeDelta: 5.0,\n};\n\n/**\n * Function to remove __typename from an object or array of objects.\n * @param obj - The object or array to clean.\n * @returns - The cleaned object or array.\n */\nexport const removeTypename = (obj: any): any => {\n if (Array.isArray(obj)) {\n return obj.map((item) => removeTypename(item)); // Recursively clean arrays\n } else if (obj !== null && typeof obj === \"object\") {\n const { __typename, ...cleanedObj } = obj; // Remove __typename\n return Object.keys(cleanedObj).reduce(\n (acc: { [key: string]: any }, key) => {\n acc[key] = removeTypename(cleanedObj[key]); // Recursively clean nested objects\n return acc;\n },\n {},\n );\n }\n return obj; // Return value as-is if it's not an object/array\n};\n\n/**\n * Truncate text to a specified length and append ellipsis if necessary.\n * @param text\n * @param maxLength\n * @returns\n */\nexport const truncateText = (text: string, maxLength: number = 30): string => {\n return text.length > maxLength ? text.substring(0, maxLength) + \"...\" : text;\n};\n\n/**\n * Convert an array of strings to an array of objects with label and value properties.\n * @param items - The array of strings to convert.\n * @returns - The converted array of objects.\n */\nexport const mapArrayToOptions = (items: string[]): OptionItem[] =>\n items.map((item) => ({\n label: item.replace(/_/g, \" \"),\n value: item.replace(/\\s+/g, \"_\").toLowerCase(),\n }));\n\nexport const capitalizeFirstLetter = (str: string): string => {\n return str\n .split(\" \")\n .map((word) => word.charAt(0).toUpperCase() + word.slice(1).toLowerCase())\n .join(\" \");\n};\n\nexport const statusOptions = [\n ...Object.values(EnumInviteStatus)\n .map((status) => ({\n label: status,\n value: status,\n }))\n .sort((a, b) => a.label.localeCompare(b.label)), // Sort the options alphabetically\n];\n\n/**\n * Sort an array of date strings by their proximity to the current date.\n * @param dates - The array of date strings to sort.\n * @returns - The sorted array of date strings.\n */\nexport function sortDatesByProximity(\n dates: {\n startDate: string;\n startTime: string;\n }[],\n) {\n if (!dates || !dates.length) {\n return [];\n }\n\n const reference = dayjs();\n\n return [...dates].sort((a, b) => {\n const dateA = dayjs(a.startDate, dateFormat);\n const dateB = dayjs(b.startDate, dateFormat);\n\n const diffA = Math.abs(dateA.diff(reference));\n const diffB = Math.abs(dateB.diff(reference));\n\n return diffA - diffB;\n });\n}\n","export enum EnumInviteStatus {\n ACCEPTED = \"ACCEPTED\",\n COMPLETED = \"COMPLETED\",\n PENDING = \"PENDING\",\n REJECTED = \"REJECTED\",\n NO_STATUS = \"NO_STATUS\",\n}\n\nexport enum EnumRejectionPolicy {\n SINGLE_DATE_ALLOWED = \"single_date_allowed\",\n MULTI_DATE_ALLOWED = \"multi_date_allowed\",\n}\n\nexport enum EnumResourceType {\n MARKET = \"market\",\n STALLHOLDER = \"stallholder\",\n}\n\nexport enum EnumRelationResource {\n CREATED_MARKET = \"created_market\",\n CREATED_STALLHOLDER = \"created_stallholder\",\n STALLHOLDER_APPLICATION_TO_MARKET = \"stallholder_application_to_market\",\n MARKET_INVITE_STALLHOLDER = \"market_invite_stallholder\",\n}\n\nexport enum EnumResourceTypeIcon {\n MARKET = \"compass\",\n STALLHOLDER = \"store\",\n}\n\nexport enum EnumRegions {\n Auckland = \"Auckland\",\n BayOfPlenty = \"Bay of Plenty\",\n Canterbury = \"Canterbury\",\n Gisborne = \"Gisborne\",\n HawkesBay = \"Hawke's Bay\",\n ManawatuWanganui = \"Manawatu-Wanganui\",\n Marlborough = \"Marlborough\",\n Nelson = \"Nelson\",\n Northland = \"Northland\",\n Otago = \"Otago\",\n Southland = \"Southland\",\n Taranaki = \"Taranaki\",\n Tasman = \"Tasman\",\n Waikato = \"Waikato\",\n Wellington = \"Wellington\",\n WestCoast = \"West Coast\",\n}\n\nexport enum ImageTypeEnum {\n AVATAR = \"avatar\",\n COVER = \"cover\",\n IMAGE = \"image\",\n LOGO = \"logo\",\n}\n\nexport enum EnumUserLicence {\n ENTERPRISE_MARKET = \"enterprise_market\",\n ENTERPRISE_STALLHOLDER = \"enterprise_stallholder\",\n PRO_MARKET = \"pro_market\",\n PRO_STALLHOLDER = \"pro_stallholder\",\n STANDARD_MARKET = \"standard_market\",\n STANDARD_STALLHOLDER = \"standard_stallholder\",\n}\n\nexport enum EnumUserRole {\n ADMIN = \"admin\",\n CUSTOMER = \"customer\",\n}\n","/* eslint-disable camelcase */\nimport { LocationType } from \"../types/global\";\nimport { GOOGLE_API_KEY } from \"../utils\";\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 = (): 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=${GOOGLE_API_KEY}`,\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=${GOOGLE_API_KEY}`,\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 { defaultStallholderFormValues } 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 _id: data._id,\n active: data.active,\n categories: data.categories,\n cover: data.cover,\n coverUpload: data.coverUpload,\n description: data.description,\n images: data.images,\n imagesUpload: data.imagesUpload,\n locations: data.locations,\n logo: data.logo,\n logoUpload: data.logoUpload,\n multiLocation: data.multiLocation,\n name: data.name,\n products: data.products,\n promoCode: data.promoCode,\n region: data.region,\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 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 specialities,\n },\n formState: { errors },\n handleSubmit,\n reset,\n setValue,\n watch,\n };\n}\n","import dayjs, { extend } from \"dayjs\";\nimport customParseFormat from \"dayjs/plugin/customParseFormat\";\nimport isSameOrAfter from \"dayjs/plugin/isSameOrAfter\";\nimport * as yup from \"yup\";\n\nimport { dateFormat, timeFormat } from \"../utils\";\n\nextend(isSameOrAfter);\nextend(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 .concat(endDateNotInPastTest)\n .concat(endDateAfterStartDateTest)\n .required(\"End date is required\"),\n endTime: yup\n .string()\n .concat(endTimeMustBeAfterStartTimeTest)\n .required(\"End time is required\"),\n startDate: yup\n .string()\n .concat(startDateNotInPastTest)\n .required(\"Start date is required\"),\n startTime: yup\n .string()\n .concat(startTimeCannotBeInPastTest)\n .required(\"Start time is required\"),\n});\n\nexport const locationSchema = yup.object().shape({\n city: yup.string().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().required(\"Country is required\"),\n fullAddress: yup.string().required(\"Address is required\"),\n latitude: yup.number().required(\"Latitude is required\"),\n longitude: yup.number().required(\"Longitude is required\"),\n region: yup.string().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 .transform((value) =>\n typeof value === \"string\" ? value.toLowerCase() : value,\n );\n\n// ✅ Reusable Password Schema\nexport const passwordSchema = yup\n .string()\n .trim()\n .min(8, \"Password must be at least 8 characters long\")\n .required(\"Password is required\");\n\nexport const globalResourceSchema = yup.object().shape({\n active: yup.boolean().required(\"Active is required\"),\n cover: yup.object({\n source: yup.string().required(\"Cover is required\"),\n title: yup.string().required(\"Cover is required\"),\n }),\n description: yup.string().trim().min(3).required(\"Description is required\"),\n name: yup.string().trim().min(3).required(\"Name is required\"),\n region: yup.string().required(\"Region is required\"),\n});\n","import * as yup from \"yup\";\n\nimport { EnumRejectionPolicy } from \"../enums\";\n\nimport { dateTimeSchema, globalResourceSchema, locationSchema } from \"./global\";\n\nexport const marketSchema = globalResourceSchema.shape({\n dateTime: yup.array().of(dateTimeSchema).required(\"DateTime is required\"),\n location: locationSchema,\n provider: yup.string().trim().min(3).required(\"Provider is required\"),\n stallApplicationInfo: yup.object().shape({\n applicationDeadlineHours: yup\n .number()\n .min(1)\n .required(\"Application deadline hours is required\"),\n rejectionPolicy: yup\n .mixed<EnumRejectionPolicy>()\n .oneOf(Object.values(EnumRejectionPolicy))\n .required(\"Rejection policy is required\"),\n stallCapacity: yup.number().min(1).required(\"Stall capacity is required\"),\n }),\n tags: yup.array().of(yup.string().defined()).nullable(),\n});\n","import * as yup from \"yup\";\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.array().of(yup.string().defined()).nullable(),\n name: yup.string().defined(),\n }),\n )\n .nullable(),\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\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 stallholderApplyFormSchema = yup.object().shape({\n active: yup.boolean().required(\"Active is required\"),\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.string().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 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 // 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 { EnumUserRole } from \"../enums\";\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.string().required(\"First Name is required\"),\n lastName: yup.string().required(\"Last Name is required\"),\n password: passwordSchema,\n role: yup\n .mixed<EnumUserRole>()\n .oneOf(Object.values(EnumUserRole))\n .required(\"Role is required\"),\n});\n\nexport const forgotPasswordSchema = yup.object().shape({\n email: emailSchema,\n});\n\nexport const resetPasswordSchema = yup.object().shape({\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 validateEmailSchema = yup.object().shape({\n token: yup.string().required(\"Token is required\"),\n});\n","import { EnumRejectionPolicy } from \"../enums\";\nimport {\n BaseResourceTypeFormData,\n MarketFormData,\n StallholderApplyFormFormData,\n StallholderFormData,\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};\n\nexport const defaultMarketFormValues: MarketFormData = {\n ...globalDefaultValues,\n dateTime: [\n {\n endDate: \"04-05-2025\",\n endTime: \"15:00\",\n startDate: \"04-05-2025\",\n startTime: \"09:00\",\n },\n {\n endDate: \"05-05-2025\",\n endTime: \"15:00\",\n startDate: \"05-05-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 stallApplicationInfo: {\n applicationDeadlineHours: 72,\n rejectionPolicy: EnumRejectionPolicy.MULTI_DATE_ALLOWED,\n stallCapacity: 4,\n },\n tags: null,\n};\n\nexport const defaultStallholderFormValues: StallholderFormData = {\n ...globalDefaultValues,\n categories: [],\n locations: null,\n multiLocation: false,\n products: [\"Prod uct 1\", \"Product 2\"],\n specialities: null,\n};\n\nexport const defaultStallholderApplyFormValues: StallholderApplyFormFormData = {\n active: false,\n electricity: { details: null, isRequired: false },\n foodSafetyGradeFiles: null,\n foodSafetyGradeFilesUpload: null,\n gazebo: { details: null, isRequired: false },\n packaging: [],\n paymentMethod: \"\",\n priceRange: { max: 0, min: 0 },\n producedIn: [],\n stallSize: { depth: 0, width: 0 },\n table: { details: null, isRequired: false },\n};\n","import { yupResolver } from \"@hookform/resolvers/yup\";\nimport * as React from \"react\";\nimport { useForm } from \"react-hook-form\";\n\nimport {\n CreateStallholderApplyFormFormData,\n StallholderApplyFormFormData,\n} from \"../../types/stallholder\";\nimport { stallholderApplyFormSchema } from \"../../yupSchema\";\nimport { defaultStallholderApplyFormValues } 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 {CreateStallholderApplyFormFormData} - The form methods and state.\n */\nexport function useStallholderApplyForm(\n data?: StallholderApplyFormFormData,\n): CreateStallholderApplyFormFormData {\n const {\n control,\n formState: { errors },\n getValues,\n handleSubmit,\n reset,\n setValue,\n watch,\n } = useForm<StallholderApplyFormFormData>({\n defaultValues: defaultStallholderApplyFormValues,\n resolver: yupResolver(stallholderApplyFormSchema),\n });\n\n React.useEffect(() => {\n if (data) {\n reset({\n _id: data._id,\n active: data.active,\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 stallSize: data.stallSize,\n table: data.table,\n });\n } else {\n reset(defaultStallholderApplyFormValues);\n }\n }, [data]);\n\n const {\n _id,\n active,\n electricity,\n foodSafetyGradeFiles,\n foodSafetyGradeFilesUpload,\n gazebo,\n packaging,\n paymentMethod,\n priceRange,\n producedIn,\n stallSize,\n table,\n } = getValues();\n\n return {\n control,\n fields: {\n _id,\n active,\n electricity,\n foodSafetyGradeFiles,\n foodSafetyGradeFilesUpload,\n gazebo,\n packaging,\n paymentMethod,\n priceRange,\n producedIn,\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\";\n\nimport { defaultMarketFormValues } 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 _id: data._id,\n active: data.active,\n cover: data.cover,\n coverUpload: data.coverUpload,\n dateTime: data.dateTime,\n description: data.description,\n images: data.images,\n imagesUpload: data.imagesUpload,\n location: data.location,\n logo: data.logo,\n logoUpload: data.logoUpload,\n name: data.name,\n promoCode: data.promoCode,\n provider: data.provider,\n region: data.region,\n stallApplicationInfo: data.stallApplicationInfo,\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 stallApplicationInfo,\n tags,\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 provider,\n region,\n stallApplicationInfo,\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 { 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 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 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 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 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 { EnumUserRole } from \"../../enums\";\nimport { CreateRegisterFormData, RegisterFormData } from \"../../types/auth\";\nimport { registerSchema } from \"../../yupSchema/auth\";\n\nconst defaultValues: RegisterFormData = {\n email: \"timardex@gmail.com\",\n firstName: \"Csaba\",\n lastName: \"Timar\",\n password: \"qwertyui\",\n role: EnumUserRole.ADMIN,\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, role } = getValues();\n\n return {\n control,\n fields: {\n email,\n firstName,\n lastName,\n password,\n role,\n },\n formState: { errors },\n handleSubmit,\n reset,\n setValue,\n watch,\n };\n}\n","import { useMutation } from \"@apollo/client\";\n\nimport {\n FORGOT_PASSWORD_MUTATION,\n LOGIN_MUTATION,\n REGISTER_MUTATION,\n VERYFY_EMAIL_MUTATION,\n} from \"../mutations/auth\";\n\nexport const useLogin = () => {\n const [login, { loading, error }] = useMutation(LOGIN_MUTATION);\n return { error, loading, login };\n};\n\nexport const useRegister = () => {\n const [register, { loading, error }] = useMutation(REGISTER_MUTATION);\n return { error, loading, register };\n};\n\nexport const useForgotPassword = () => {\n const [forgotPassword, { loading, error }] = useMutation(\n FORGOT_PASSWORD_MUTATION,\n );\n\n return { error, forgotPassword, loading };\n};\n\nexport const useVerifyEmail = () => {\n const [verifyEmail, { loading, error }] = useMutation(VERYFY_EMAIL_MUTATION);\n\n return { error, loading, verifyEmail };\n};\n","import { gql } from \"@apollo/client\";\n\nimport { USER_FIELDS_FRAGMENT } from \"../queries/global\";\n\nexport const LOGIN_MUTATION = gql`\n mutation login($input: LoginInputType!) {\n login(input: $input) {\n message\n token\n user {\n ...UserFields\n }\n }\n }\n ${USER_FIELDS_FRAGMENT}\n`;\n\nexport const REGISTER_MUTATION = gql`\n mutation register($input: RegisterInputType!) {\n register(input: $input) {\n message\n token\n user {\n ...UserFields\n }\n }\n }\n ${USER_FIELDS_FRAGMENT}\n`;\n\nexport const RESET_PASSWORD_MUTATION = gql`\n mutation resetPassword($input: ResetPasswordInputType!) {\n resetPassword(input: $input) {\n message\n }\n }\n`;\n\nexport const FORGOT_PASSWORD_MUTATION = gql`\n mutation forgotPassword($input: ForgotPasswordInputType!) {\n forgotPassword(input: $input) {\n message\n }\n }\n`;\n\nexport const VERYFY_EMAIL_MUTATION = gql`\n mutation verifyEmail($input: VerifyEmailInputType!) {\n verifyEmail(input: $input) {\n message\n }\n }\n`;\n","import { gql } from \"@apollo/client\";\n\nexport const RESOURCE_IMAGE_FIELDS_FRAGMENT = gql`\n fragment ResourceImageFields on ResourceImageType {\n source\n title\n }\n`;\n\nexport const OWNER_FIELDS_FRAGMENT = gql`\n fragment OwnerFields on OwnerType {\n _id\n email\n licences\n }\n`;\n\nexport const CATEGORY_FIELDS_FRAGMENT = gql`\n fragment CategoryFields on CategoryType {\n id\n name\n subcategories {\n id\n items\n name\n }\n }\n`;\n\nexport const USER_FIELDS_FRAGMENT = gql`\n fragment UserFields on UserType {\n _id\n active\n avatar {\n ...ResourceImageFields\n }\n createdAt\n email\n favourites {\n markets\n stallholders\n }\n firstName\n lastName\n licences\n markets\n role\n stallholder\n updatedAt\n }\n ${RESOURCE_IMAGE_FIELDS_FRAGMENT}\n`;\n","import { useMutation } from \"@apollo/client\";\n\nimport {\n CREATE_MARKET_MUTATION,\n DELETE_MARKET_MUTATION,\n UPDATE_MARKET_MUTATION,\n} from \"../../mutations/market\";\nimport { GET_MARKETS } from \"../../queries/market\";\nimport { GET_USER_MARKETS } from \"../../queries/user\";\n\nexport const useCreateMarket = () => {\n const [createMarket, { loading, error }] = useMutation(\n CREATE_MARKET_MUTATION,\n {\n awaitRefetchQueries: true,\n refetchQueries: [{ query: GET_USER_MARKETS }, { query: GET_MARKETS }],\n },\n );\n\n return { createMarket, error, loading };\n};\n\nexport const useUpdateMarket = () => {\n const [updateMarket, { loading, error }] = useMutation(\n UPDATE_MARKET_MUTATION,\n {\n awaitRefetchQueries: true,\n refetchQueries: [{ query: GET_USER_MARKETS }, { query: GET_MARKETS }],\n },\n );\n\n return { error, loading, updateMarket };\n};\n\nexport const useDeleteMarket = () => {\n const [deleteMarket, { loading, error }] = useMutation(\n DELETE_MARKET_MUTATION,\n {\n awaitRefetchQueries: true,\n refetchQueries: [{ query: GET_USER_MARKETS }, { query: GET_MARKETS }],\n },\n );\n return { deleteMarket, error, loading };\n};\n","import { gql } from \"@apollo/client\";\n\nimport { MARKET } from \"../queries/market\";\n\nexport const CREATE_MARKET_MUTATION = gql`\n mutation createMarket($input: MarketInputType!) {\n createMarket(input: $input) {\n ...MarketFields\n }\n }\n ${MARKET}\n`;\n\nexport const UPDATE_MARKET_MUTATION = gql`\n mutation updateMarket($_id: ID!, $input: MarketInputType!) {\n updateMarket(_id: $_id, input: $input) {\n ...MarketFields\n }\n }\n ${MARKET}\n`;\n\nexport const DELETE_MARKET_MUTATION = gql`\n mutation deleteMarket($_id: ID!) {\n deleteMarket(_id: $_id)\n }\n`;\n","import { gql } from \"@apollo/client\";\n\nimport {\n OWNER_FIELDS_FRAGMENT,\n RESOURCE_IMAGE_FIELDS_FRAGMENT,\n} from \"./global\";\n\nexport const MARKET_DATETIME_FIELDS_FRAGMENT = gql`\n fragment MarketDateTimeFields on MarketDateTimeType {\n endDate\n endTime\n startDate\n startTime\n }\n`;\n\nexport const MARKET_LOCATION_FIELDS_FRAGMENT = gql`\n fragment MarketLocationFields on MarketLocationType {\n city\n coordinates\n country\n fullAddress\n latitude\n longitude\n region\n type\n }\n`;\n\nexport const MARKET = gql`\n fragment MarketFields on MarketType {\n _id\n active\n cover {\n ...ResourceImageFields\n }\n createdAt\n dateTime {\n ...MarketDateTimeFields\n }\n description\n images {\n ...ResourceImageFields\n }\n location {\n ...MarketLocationFields\n }\n logo {\n ...ResourceImageFields\n }\n name\n owner {\n ...OwnerFields\n }\n promoCode\n provider\n region\n relationIds\n stallApplicationInfo {\n applicationDeadlineHours\n rejectionPolicy\n stallCapacity\n }\n tags\n updatedAt\n }\n ${MARKET_DATETIME_FIELDS_FRAGMENT}\n ${MARKET_LOCATION_FIELDS_FRAGMENT}\n ${OWNER_FIELDS_FRAGMENT}\n ${RESOURCE_IMAGE_FIELDS_FRAGMENT}\n`;\n\nexport const GET_MARKETS = gql`\n query getMarkets {\n markets {\n ...MarketFields\n }\n }\n ${MARKET}\n`;\n\nexport const GET_MARKET = gql`\n query getMarket($_id: ID!) {\n market(_id: $_id) {\n ...MarketFields\n }\n }\n ${MARKET}\n`;\n\nexport const GET_MARKETS_BY_REGION = gql`\n query getMarketsByRegion($region: String!) {\n marketsByRegion(region: $region) {\n ...MarketFields\n }\n }\n ${MARKET}\n`;\n\nexport const SEARCH_MARKETS = gql`\n query searchMarkets($search: String!, $region: String) {\n marketSearch(search: $search, region: $region) {\n ...MarketFields\n }\n }\n ${MARKET}\n`;\n\nexport const GET_MARKETS_NEAR_ME = gql`\n query getMarketsNearMe($latitude: Float!, $longitude: Float!, $radius: Int) {\n marketsNearMe(latitude: $latitude, longitude: $longitude, radius: $radius) {\n ...MarketFields\n }\n }\n ${MARKET}\n`;\n","import { gql } from \"@apollo/client\";\n\nimport { USER_FIELDS_FRAGMENT } from \"./global\";\nimport { MARKET } from \"./market\";\nimport { STALLHOLDER } from \"./stallholder\";\n\nexport const GET_USERS = gql`\n query getUsers {\n users {\n ...UserFields\n }\n }\n ${USER_FIELDS_FRAGMENT}\n`;\n\nexport const GET_USER = gql`\n query getUser($id: ID!) {\n user(_id: $id) {\n ...UserFields\n }\n }\n ${USER_FIELDS_FRAGMENT}\n`;\n\nexport const GET_USER_MARKETS = gql`\n query getUserMarkets {\n userMarkets {\n ...MarketFields\n }\n }\n ${MARKET}\n`;\n\nexport const GET_USER_FAVOURITES = gql`\n query getUserFavourites {\n userFavourites {\n markets {\n ...MarketFields\n }\n stallholders {\n ...StallholderFields\n }\n }\n }\n ${MARKET}\n ${STALLHOLDER}\n`;\n\nexport const GET_USER_NOTIFICATIONS = gql`\n query getMissedNotifications {\n userNotifications\n }\n`;\n","import { gql } from \"@apollo/client\";\n\nimport {\n OWNER_FIELDS_FRAGMENT,\n CATEGORY_FIELDS_FRAGMENT,\n RESOURCE_IMAGE_FIELDS_FRAGMENT,\n} from \"./global\";\n\nexport const STALLHOLDER_LOCATION_FIELDS_FRAGMENT = gql`\n fragment StallholderLocationFields on StallholderLocationType {\n city\n coordinates\n country\n fullAddress\n latitude\n longitude\n region\n type\n }\n`;\n\nexport const STALLHOLDER_DATETIME_FIELDS_FRAGMENT = gql`\n fragment StallholderDateTimeFields on StallholderDateTimeType {\n endDate\n endTime\n startDate\n startTime\n }\n`;\n\nexport const STALLHOLDER = gql`\n fragment StallholderFields on StallholderType {\n _id\n active\n applyFormId\n categories {\n ...CategoryFields\n }\n cover {\n ...ResourceImageFields\n }\n createdAt\n description\n images {\n ...ResourceImageFields\n }\n locations {\n dateTime {\n ...StallholderDateTimeFields\n }\n description\n location {\n ...StallholderLocationFields\n }\n }\n logo {\n ...ResourceImageFields\n }\n multiLocation\n name\n owner {\n ...OwnerFields\n }\n products\n promoCode\n region\n relationIds\n specialities\n updatedAt\n }\n ${CATEGORY_FIELDS_FRAGMENT}\n ${STALLHOLDER_DATETIME_FIELDS_FRAGMENT}\n ${STALLHOLDER_LOCATION_FIELDS_FRAGMENT}\n ${OWNER_FIELDS_FRAGMENT}\n ${RESOURCE_IMAGE_FIELDS_FRAGMENT}\n`;\n\nexport const STALLHOLDER_APPLY_FORM = gql`\n fragment StallholderApplyFormFields on StallholderApplyFormType {\n _id\n active\n electricity {\n details\n isRequired\n }\n foodSafetyGradeFiles\n gazebo {\n details\n isRequired\n }\n packaging\n paymentMethod\n priceRange {\n max\n min\n }\n producedIn\n stallholderId\n stallSize {\n depth\n width\n }\n table {\n details\n isRequired\n }\n }\n`;\n\nexport const GET_STALLHOLDERS = gql`\n query getStallHolders {\n stallholders {\n ...StallholderFields\n }\n }\n ${STALLHOLDER}\n`;\n\nexport const GET_STALLHOLDER = gql`\n query getStallHolder($_id: ID!) {\n stallholder(_id: $_id) {\n ...StallholderFields\n }\n }\n ${STALLHOLDER}\n`;\n\nexport const GET_STALLHOLDERS_BY_REGION = gql`\n query getStallholdersByRegion($region: String!) {\n stallholdersByRegion(region: $region) {\n ...StallholderFields\n }\n }\n ${STALLHOLDER}\n`;\n\nexport const SEARCH_STALLHOLDERS = gql`\n query searchStallholders($search: String!, $region: String) {\n stallholderSearch(search: $search, region: $region) {\n ...StallholderFields\n }\n }\n ${STALLHOLDER}\n`;\n\nexport const GET_STALLHOLDER_APPLY_FORM = gql`\n query getStallholderApplyForm($stallholderId: ID!) {\n stallholderApplyForm(stallholderId: $stallholderId) {\n ...StallholderApplyFormFields\n }\n }\n ${STALLHOLDER_APPLY_FORM}\n`;\n","import { useQuery } from \"@apollo/client\";\n\nimport { MarketType } from \"../../../types/market\";\nimport {\n GET_MARKET,\n GET_MARKETS,\n GET_MARKETS_BY_REGION,\n GET_MARKETS_NEAR_ME,\n SEARCH_MARKETS,\n} from \"../../queries/market\";\n\nexport const useGetMarkets = () => {\n const { loading, error, data, refetch } = useQuery(GET_MARKETS, {\n fetchPolicy: \"network-only\",\n });\n\n const markets = data?.markets as MarketType[];\n\n return { error, loading, markets, refetch };\n};\n\nexport const useGetMarket = (_id: string) => {\n const { loading, error, data, refetch } = useQuery(GET_MARKET, {\n fetchPolicy: \"network-only\",\n skip: !_id,\n variables: { _id },\n });\n\n const market = data?.market as MarketType;\n\n return { error, loading, market, refetch };\n};\n\nexport const useGetMarketsByRegion = (region: string) => {\n const { loading, error, data, refetch } = useQuery(GET_MARKETS_BY_REGION, {\n fetchPolicy: \"network-only\",\n skip: !region,\n variables: { region },\n });\n\n const markets = data?.marketsByRegion as MarketType[];\n\n return { error, loading, markets, refetch };\n};\n\nexport const useSearchMarkets = (search: string, region: string) => {\n const { loading, error, data, refetch } = useQuery(SEARCH_MARKETS, {\n fetchPolicy: \"network-only\",\n skip: search.length < 3,\n variables: { region, search },\n });\n\n const markets = data?.marketSearch as MarketType[];\n\n return { error, loading, markets, refetch };\n};\n\nexport const useGetMarketsNearMe = (location: {\n latitude: number;\n longitude: number;\n radius?: number;\n}) => {\n const { loading, error, data, refetch } = useQuery(GET_MARKETS_NEAR_ME, {\n fetchPolicy: \"network-only\",\n skip: !location.latitude || !location.longitude,\n variables: {\n latitude: location.latitude,\n longitude: location.longitude,\n radius: location.radius || 10000, // Default to 10km if no radius is provided\n },\n });\n\n const markets = data?.marketsNearMe as MarketType[];\n\n return { error, loading, markets, refetch };\n};\n","import { useMutation } from \"@apollo/client\";\n\nimport {\n CREATE_RELATION_MUTATION,\n DELETE_RELATION_MUTATION,\n UPDATE_RELATION_MUTATION,\n} from \"../../mutations/relation\";\nimport { GET_MARKET } from \"../../queries/market\";\nimport {\n GET_MARKET_RELATIONS,\n GET_RELATION_BY_MARKET_AND_STALLHOLDER,\n GET_STALLHOLDER_RELATIONS,\n} from \"../../queries/relation\";\nimport { GET_STALLHOLDER } from \"../../queries/stallholder\";\n\nexport const useCreateRelation = () => {\n const [createRelation, { loading, error }] = useMutation(\n CREATE_RELATION_MUTATION,\n {\n awaitRefetchQueries: true,\n refetchQueries: (mutationResult) => {\n // Extract relationId from the mutation response\n const marketId = mutationResult?.data?.createRelation?.marketId;\n const stallholderId =\n mutationResult?.data?.createRelation?.stallholderId;\n\n return [\n {\n query: GET_MARKET_RELATIONS,\n variables: { marketId },\n },\n {\n query: GET_MARKET,\n variables: { _id: marketId },\n },\n {\n query: GET_STALLHOLDER_RELATIONS,\n variables: { stallholderId },\n },\n {\n query: GET_STALLHOLDER,\n variables: { _id: stallholderId },\n },\n {\n query: GET_RELATION_BY_MARKET_AND_STALLHOLDER,\n variables: { marketId, stallholderId },\n },\n ];\n },\n },\n );\n\n return { createRelation, error, loading };\n};\n\nexport const useUpdateRelation = () => {\n const [updateRelation, { loading, error }] = useMutation(\n UPDATE_RELATION_MUTATION,\n {\n awaitRefetchQueries: true,\n refetchQueries: (mutationResult) => {\n // Extract relationId from the mutation response\n const marketId = mutationResult?.data?.updateRelation?.marketId;\n const stallholderId =\n mutationResult?.data?.updateRelation?.stallholderId;\n\n return [\n {\n query: GET_MARKET_RELATIONS,\n variables: { marketId },\n },\n {\n query: GET_MARKET,\n variables: { _id: marketId },\n },\n {\n query: GET_STALLHOLDER_RELATIONS,\n variables: { stallholderId },\n },\n {\n query: GET_STALLHOLDER,\n variables: { _id: stallholderId },\n },\n {\n query: GET_RELATION_BY_MARKET_AND_STALLHOLDER,\n variables: { marketId, stallholderId },\n },\n ];\n },\n },\n );\n\n return { error, loading, updateRelation };\n};\n\nexport const useDeleteRelation = () => {\n const [deleteRelation, { loading, error }] = useMutation(\n DELETE_RELATION_MUTATION,\n {\n awaitRefetchQueries: true,\n refetchQueries: (mutationResult) => {\n // Extract relationId from the mutation response\n const marketId = mutationResult?.data?.deleteRelation?.marketId;\n const stallholderId =\n mutationResult?.data?.deleteRelation?.stallholderId;\n\n return [\n {\n query: GET_MARKET_RELATIONS,\n variables: { marketId },\n },\n {\n query: GET_STALLHOLDER_RELATIONS,\n variables: { stallholderId },\n },\n {\n query: GET_RELATION_BY_MARKET_AND_STALLHOLDER,\n variables: { marketId, stallholderId },\n },\n ];\n },\n },\n );\n return { deleteRelation, error, loading };\n};\n","import { gql } from \"@apollo/client\";\n\nimport { RELATION_FIELDS_FRAGMENT } from \"../queries/relation\";\n\nexport const CREATE_RELATION_MUTATION = gql`\n mutation createRelation($input: RelationInputType!) {\n createRelation(input: $input) {\n ...RelationFields\n }\n }\n ${RELATION_FIELDS_FRAGMENT}\n`;\n\nexport const UPDATE_RELATION_MUTATION = gql`\n mutation updateRelation($_id: ID!, $input: RelationInputType!) {\n updateRelation(_id: $_id, input: $input) {\n ...RelationFields\n }\n }\n ${RELATION_FIELDS_FRAGMENT}\n`;\n\nexport const DELETE_RELATION_MUTATION = gql`\n mutation deleteRelation($_id: ID!) {\n deleteRelation(_id: $_id) {\n ...RelationFields\n }\n }\n ${RELATION_FIELDS_FRAGMENT}\n`;\n","import { gql } from \"@apollo/client\";\n\nimport {\n CATEGORY_FIELDS_FRAGMENT,\n OWNER_FIELDS_FRAGMENT,\n RESOURCE_IMAGE_FIELDS_FRAGMENT,\n} from \"./global\";\nimport {\n MARKET_DATETIME_FIELDS_FRAGMENT,\n MARKET_LOCATION_FIELDS_FRAGMENT,\n} from \"./market\";\nimport {\n STALLHOLDER_DATETIME_FIELDS_FRAGMENT,\n STALLHOLDER_LOCATION_FIELDS_FRAGMENT,\n} from \"./stallholder\";\n\nconst RELATION_UPDATE_BY_FRAGMENT = gql`\n fragment RelationUpdateBy on RelationUpdateByType {\n resourceId\n resourceName\n resourceType\n startDate\n toStatus\n }\n`;\n\nconst RELATION_LOGS_FRAGMENT = gql`\n fragment RelationLogs on RelationLogType {\n createdAt\n updatedAt\n updatedBy {\n ...RelationUpdateBy\n }\n }\n ${RELATION_UPDATE_BY_FRAGMENT}\n`;\n\nconst RELATION_DATES_FRAGMENT = gql`\n fragment RelationDates on RelationDateType {\n lastUpdateBy\n startDate\n status\n }\n`;\n\nexport const RELATION_FIELDS_FRAGMENT = gql`\n fragment RelationFields on RelationType {\n _id\n createdAt\n lastUpdateBy\n marketId\n relationDates {\n ...RelationDates\n }\n relationLogs {\n ...RelationLogs\n }\n relationType\n stallholderId\n updatedAt\n }\n ${RELATION_DATES_FRAGMENT}\n ${RELATION_LOGS_FRAGMENT}\n`;\n\nexport const GET_RELATION = gql`\n query getRelation($id: ID!) {\n relation(_id: $id) {\n ...RelationFields\n }\n }\n ${RELATION_FIELDS_FRAGMENT}\n`;\n\nexport const GET_RELATION_BY_MARKET_AND_STALLHOLDER = gql`\n query getRelationByMarketAndStallholder($marketId: ID!, $stallholderId: ID!) {\n relationByMarketAndStallholder(\n marketId: $marketId\n stallholderId: $stallholderId\n ) {\n ...RelationFields\n }\n }\n ${RELATION_FIELDS_FRAGMENT}\n`;\n\nexport const GET_MARKET_RELATIONS = gql`\n query getMarketRelations($marketId: ID!) {\n marketRelations(marketId: $marketId) {\n ...RelationFields\n }\n }\n ${RELATION_FIELDS_FRAGMENT}\n`;\n\nexport const GET_STALLHOLDER_RELATIONS = gql`\n query getStallholderRelations($stallholderId: ID!) {\n stallholderRelations(stallholderId: $stallholderId) {\n ...RelationFields\n }\n }\n ${RELATION_FIELDS_FRAGMENT}\n`;\n\nexport const GET_RESOURCE_CONNECTIONS = gql`\n query getResourceConnections(\n $resourceId: ID!\n $resourceType: ResourceTypeEnum!\n ) {\n resourceConnections(resourceId: $resourceId, resourceType: $resourceType) {\n markets {\n _id\n active\n cover {\n ...ResourceImageFields\n }\n createdAt\n dateTime {\n ...MarketDateTimeFields\n }\n description\n images {\n ...ResourceImageFields\n }\n location {\n ...MarketLocationFields\n }\n logo {\n ...ResourceImageFields\n }\n name\n owner {\n ...OwnerFields\n }\n promoCode\n provider\n relationDates {\n ...RelationDates\n }\n relationIds\n stallApplicationInfo {\n applicationDeadlineHours\n rejectionPolicy\n stallCapacity\n }\n tags\n updatedAt\n }\n stallholders {\n _id\n active\n applyFormId\n categories {\n ...CategoryFields\n }\n cover {\n ...ResourceImageFields\n }\n createdAt\n description\n images {\n ...ResourceImageFields\n }\n locations {\n dateTime {\n ...StallholderDateTimeFields\n }\n location {\n ...StallholderLocationFields\n }\n }\n logo {\n ...ResourceImageFields\n }\n multiLocation\n name\n owner {\n ...OwnerFields\n }\n products\n promoCode\n relationDates {\n ...RelationDates\n }\n relationIds\n specialities\n updatedAt\n }\n }\n }\n ${MARKET_DATETIME_FIELDS_FRAGMENT}\n ${MARKET_LOCATION_FIELDS_FRAGMENT}\n ${RESOURCE_IMAGE_FIELDS_FRAGMENT}\n ${RELATION_DATES_FRAGMENT}\n ${CATEGORY_FIELDS_FRAGMENT}\n ${STALLHOLDER_DATETIME_FIELDS_FRAGMENT}\n ${STALLHOLDER_LOCATION_FIELDS_FRAGMENT}\n ${OWNER_FIELDS_FRAGMENT}\n ${RESOURCE_IMAGE_FIELDS_FRAGMENT}\n`;\n","import { useQuery } from \"@apollo/client\";\n\nimport { EnumResourceType } from \"../../../enums\";\nimport { ResourceConnectionsType } from \"../../../types\";\nimport { RelationType } from \"../../../types/relation\";\nimport {\n GET_MARKET_RELATIONS,\n GET_RELATION_BY_MARKET_AND_STALLHOLDER,\n GET_RESOURCE_CONNECTIONS,\n GET_RELATION,\n GET_STALLHOLDER_RELATIONS,\n} from \"../../queries/relation\";\n\nexport const useGetRelation = (id: string) => {\n const { loading, error, data, refetch } = useQuery(GET_RELATION, {\n fetchPolicy: \"network-only\",\n skip: id === \"\",\n variables: { id },\n });\n\n const relation = data?.relation as RelationType;\n\n return { error, loading, refetch, relation };\n};\n\nexport const useGetRelationByMarketAndStallholder = (\n marketId: string,\n stallholderId: string,\n) => {\n const { loading, error, data, refetch } = useQuery(\n GET_RELATION_BY_MARKET_AND_STALLHOLDER,\n {\n fetchPolicy: \"no-cache\",\n skip: marketId === \"\" || stallholderId === \"\",\n variables: { marketId, stallholderId },\n },\n );\n\n const relationByMarketAndStallholder =\n data?.relationByMarketAndStallholder as RelationType;\n\n return { error, loading, refetch, relationByMarketAndStallholder };\n};\n\nexport const useGetMarketRelations = (marketId: string) => {\n const { loading, error, data, refetch } = useQuery(GET_MARKET_RELATIONS, {\n fetchPolicy: \"network-only\",\n skip: marketId === \"\",\n variables: { marketId },\n });\n\n const marketRelations = data?.marketRelations as RelationType[];\n\n return { error, loading, marketRelations, refetch };\n};\n\nexport const useGetStallholderRelations = (stallholderId: string) => {\n const { loading, error, data, refetch } = useQuery(\n GET_STALLHOLDER_RELATIONS,\n {\n fetchPolicy: \"network-only\",\n skip: stallholderId === \"\",\n variables: { stallholderId },\n },\n );\n\n const stallholderRelations = data?.stallholderRelations as RelationType[];\n\n return { error, loading, refetch, stallholderRelations };\n};\n\nexport const useGetResourceConnections = (\n resourceId: string,\n resourceType: EnumResourceType,\n) => {\n const { loading, error, data, refetch } = useQuery(GET_RESOURCE_CONNECTIONS, {\n fetchPolicy: \"network-only\",\n variables: { resourceId, resourceType },\n });\n\n const resourceConnections =\n data?.resourceConnections as ResourceConnectionsType;\n\n return { error, loading, refetch, resourceConnections };\n};\n","import { useMutation } from \"@apollo/client\";\n\nimport {\n CREATE_STALLHOLDER_APPLY_FORM_MUTATION,\n CREATE_STALLHOLDER_MUTATION,\n DELETE_STALLHOLDER_MUTATION,\n UPDATE_STALLHOLDER_APPLY_FORM_MUTATION,\n UPDATE_STALLHOLDER_MUTATION,\n} from \"../../mutations/stallholder\";\nimport {\n GET_STALLHOLDER_APPLY_FORM,\n GET_STALLHOLDERS,\n} from \"../../queries/stallholder\";\n\nexport const useCreateStallholder = () => {\n const [createStallholder, { loading, error }] = useMutation(\n CREATE_STALLHOLDER_MUTATION,\n {\n awaitRefetchQueries: true,\n refetchQueries: [{ query: GET_STALLHOLDERS }],\n },\n );\n\n return { createStallholder, error, loading };\n};\n\nexport const useUpdateStallholder = () => {\n const [updateStallholder, { loading, error }] = useMutation(\n UPDATE_STALLHOLDER_MUTATION,\n {\n awaitRefetchQueries: true,\n refetchQueries: [{ query: GET_STALLHOLDERS }],\n },\n );\n return { error, loading, updateStallholder };\n};\n\nexport const useDeleteStallholder = () => {\n const [deleteStallholder, { loading, error }] = useMutation(\n DELETE_STALLHOLDER_MUTATION,\n {\n awaitRefetchQueries: true,\n refetchQueries: [{ query: GET_STALLHOLDERS }],\n },\n );\n return { deleteStallholder, error, loading };\n};\n\nexport const useCreateStallholderApplyForm = () => {\n const [createStallholderApplyForm, { loading, error }] = useMutation(\n CREATE_STALLHOLDER_APPLY_FORM_MUTATION,\n {\n awaitRefetchQueries: true,\n refetchQueries: (mutationResult) => {\n // Extract stallholderId from the mutation response\n const stallholderId =\n mutationResult?.data?.createStallholderApplyForm?.stallholderId;\n\n if (!stallholderId) return [];\n\n return [\n {\n query: GET_STALLHOLDER_APPLY_FORM,\n variables: { stallholderId }, // Pass the stallholderId for refetching\n },\n ];\n },\n },\n );\n\n return { createStallholderApplyForm, error, loading };\n};\n\nexport const useUpdateStallholderApplyForm = () => {\n const [updateStallholderApplyForm, { loading, error }] = useMutation(\n UPDATE_STALLHOLDER_APPLY_FORM_MUTATION,\n {\n awaitRefetchQueries: true,\n refetchQueries: (mutationResult) => {\n // Extract stallholderId from the mutation response\n const stallholderId =\n mutationResult?.data?.createStallholderApplyForm?.stallholderId;\n\n if (!stallholderId) return [];\n\n return [\n {\n query: GET_STALLHOLDER_APPLY_FORM,\n variables: { stallholderId }, // Pass the stallholderId for refetching\n },\n ];\n },\n },\n );\n\n return { error, loading, updateStallholderApplyForm };\n};\n","import { gql } from \"@apollo/client\";\n\nimport { STALLHOLDER, STALLHOLDER_APPLY_FORM } from \"../queries/stallholder\";\n\nexport const CREATE_STALLHOLDER_MUTATION = gql`\n mutation createStallholder($input: StallholderInputType!) {\n createStallholder(input: $input) {\n ...StallholderFields\n }\n }\n ${STALLHOLDER}\n`;\n\nexport const UPDATE_STALLHOLDER_MUTATION = gql`\n mutation updateStallholder($_id: ID!, $input: StallholderInputType!) {\n updateStallholder(_id: $_id, input: $input) {\n ...StallholderFields\n }\n }\n ${STALLHOLDER}\n`;\n\nexport const DELETE_STALLHOLDER_MUTATION = gql`\n mutation deleteStallholder($_id: ID!) {\n deleteStallholder(_id: $_id)\n }\n`;\n\nexport const CREATE_STALLHOLDER_APPLY_FORM_MUTATION = gql`\n mutation createStallholderApplyForm($input: StallholderApplyFormInputType!) {\n createStallholderApplyForm(input: $input) {\n ...StallholderApplyFormFields\n }\n }\n ${STALLHOLDER_APPLY_FORM}\n`;\n\nexport const UPDATE_STALLHOLDER_APPLY_FORM_MUTATION = gql`\n mutation updateStallholderApplyForm(\n $_id: ID!\n $input: StallholderApplyFormInputType!\n ) {\n updateStallholderApplyForm(_id: $_id, input: $input) {\n ...StallholderApplyFormFields\n }\n }\n ${STALLHOLDER_APPLY_FORM}\n`;\n","import { useQuery } from \"@apollo/client\";\n\nimport {\n StallholderApplyFormType,\n StallholderType,\n} from \"../../../types/stallholder\";\nimport {\n GET_STALLHOLDER,\n GET_STALLHOLDER_APPLY_FORM,\n GET_STALLHOLDERS,\n GET_STALLHOLDERS_BY_REGION,\n SEARCH_STALLHOLDERS,\n} from \"../../queries/stallholder\";\n\nexport const useGetStallholders = () => {\n const { loading, error, data, refetch } = useQuery(GET_STALLHOLDERS, {\n fetchPolicy: \"network-only\",\n });\n\n const stallholders = data?.stallholders as StallholderType[];\n\n return {\n error,\n loading,\n refetch,\n stallholders,\n };\n};\n\nexport const useGetStallholder = (_id: string) => {\n const { loading, error, data, refetch } = useQuery(GET_STALLHOLDER, {\n fetchPolicy: \"network-only\",\n skip: !_id,\n variables: { _id },\n });\n\n const stallholder = data?.stallholder as StallholderType;\n\n return { error, loading, refetch, stallholder };\n};\n\nexport const useGetStallholdersByRegion = (region: string) => {\n const { loading, error, data, refetch } = useQuery(\n GET_STALLHOLDERS_BY_REGION,\n {\n fetchPolicy: \"network-only\",\n skip: !region,\n variables: { region },\n },\n );\n\n const stallholders = data?.stallholdersByRegion as StallholderType[];\n\n return { error, loading, refetch, stallholders };\n};\n\nexport const useSearchStallholders = (search: string, region: string) => {\n const { loading, error, data, refetch } = useQuery(SEARCH_STALLHOLDERS, {\n fetchPolicy: \"network-only\",\n skip: search.length < 3,\n variables: { region, search },\n });\n\n const stallholders = data?.stallholderSearch as StallholderType[];\n\n return { error, loading, refetch, stallholders };\n};\n\nexport const useGetStallholderApplyForm = (stallholderId: string) => {\n const { loading, error, data, refetch } = useQuery(\n GET_STALLHOLDER_APPLY_FORM,\n {\n variables: { stallholderId },\n },\n );\n\n const applyForm = data?.stallholderApplyForm as StallholderApplyFormType;\n\n return {\n applyForm,\n error,\n loading,\n refetch,\n };\n};\n","import { useSubscription } from \"@apollo/client\";\n\nimport { NotificationType } from \"../../types/global\";\nimport {\n GET_GLOBAL_NOTIFICATION,\n GET_RELATION_NOTIFICATION,\n} from \"../subscriptions/notification\";\n\nexport const useGetNotification = () => {\n const {\n data: global,\n loading: loadingGlobal,\n error: errorGlobal,\n } = useSubscription(GET_GLOBAL_NOTIFICATION);\n\n const {\n data: relation,\n loading: loadingImportant,\n error: errorImportant,\n } = useSubscription(GET_RELATION_NOTIFICATION);\n\n const error = errorGlobal || errorImportant;\n const loading = loadingGlobal || loadingImportant;\n\n const notification = (relation?.getRelationNotification ||\n global?.getGlobalNotification) as NotificationType;\n\n return { error, loading, notification };\n};\n","import { gql } from \"@apollo/client\";\n\nconst NOTIFICATION_FIELDS_FRAGMENT = gql`\n fragment NotificationFields on NotificationType {\n createdBy\n important\n message\n notifyUser\n resourceId\n resourceType\n }\n`;\n\nexport const GET_GLOBAL_NOTIFICATION = gql`\n subscription {\n getGlobalNotification {\n ...NotificationFields\n }\n }\n ${NOTIFICATION_FIELDS_FRAGMENT}\n`;\n\nexport const GET_RELATION_NOTIFICATION = gql`\n subscription {\n getRelationNotification {\n ...NotificationFields\n }\n }\n ${NOTIFICATION_FIELDS_FRAGMENT}\n`;\n","import { useMutation } from \"@apollo/client\";\n\nimport { GET_USER_FAVOURITES } from \"src/graphql/queries/user\";\n\nimport {\n ADD_USER_FAVOURITE_RESOURCE_MUTATION,\n CREATE_USER_MUTATION,\n REMOVE_USER_FAVOURITE_RESOURCE_MUTATION,\n UPDATE_USER_MUTATION,\n} from \"../../mutations/user\";\n\nexport const useCreateUser = () => {\n const [createUser, { loading, error }] = useMutation(CREATE_USER_MUTATION, {\n awaitRefetchQueries: true,\n });\n\n return { createUser, error, loading };\n};\n\nexport const useUpdateUser = () => {\n const [updateUser, { loading, error }] = useMutation(UPDATE_USER_MUTATION, {\n awaitRefetchQueries: true,\n });\n\n return { error, loading, updateUser };\n};\n\nexport const useAddUserFavouriteResource = () => {\n const [addUserFavouriteResource, { loading, error }] = useMutation(\n ADD_USER_FAVOURITE_RESOURCE_MUTATION,\n {\n awaitRefetchQueries: true,\n refetchQueries: [{ query: GET_USER_FAVOURITES }],\n },\n );\n\n return { addUserFavouriteResource, error, loading };\n};\n\nexport const useRemoveUserFavouriteResource = () => {\n const [removeUserFavouriteResource, { loading, error }] = useMutation(\n REMOVE_USER_FAVOURITE_RESOURCE_MUTATION,\n {\n awaitRefetchQueries: true,\n refetchQueries: [{ query: GET_USER_FAVOURITES }],\n },\n );\n\n return { error, loading, removeUserFavouriteResource };\n};\n","import { gql } from \"@apollo/client\";\n\nimport { USER_FIELDS_FRAGMENT } from \"../queries/global\";\n\nexport const CREATE_USER_MUTATION = gql`\n mutation createUser($input: UserInputType!) {\n createUser(input: $input) {\n ...UserFields\n }\n }\n ${USER_FIELDS_FRAGMENT}\n`;\n\nexport const UPDATE_USER_MUTATION = gql`\n mutation updateUser($_id: ID!, $input: UserInputType!) {\n updateUser(_id: $_id, input: $input) {\n ...UserFields\n }\n }\n ${USER_FIELDS_FRAGMENT}\n`;\n\nexport const ADD_USER_FAVOURITE_RESOURCE_MUTATION = gql`\n mutation addUserFavouriteResource(\n $resourceId: ID!\n $resourceType: ResourceTypeEnum!\n $userId: ID!\n ) {\n addUserFavouriteResource(\n resourceId: $resourceId\n resourceType: $resourceType\n userId: $userId\n ) {\n ...UserFields\n }\n }\n ${USER_FIELDS_FRAGMENT}\n`;\n\nexport const REMOVE_USER_FAVOURITE_RESOURCE_MUTATION = gql`\n mutation removeUserFavouriteResource(\n $resourceId: ID!\n $resourceType: ResourceTypeEnum!\n $userId: ID!\n ) {\n removeUserFavouriteResource(\n resourceId: $resourceId\n resourceType: $resourceType\n userId: $userId\n ) {\n ...UserFields\n }\n }\n ${USER_FIELDS_FRAGMENT}\n`;\n","import { useQuery } from \"@apollo/client\";\n\nimport { MarketType, StallholderType } from \"src/types\";\n\nimport { UserType } from \"../../../types/user\";\nimport {\n GET_USER,\n GET_USER_FAVOURITES,\n GET_USER_MARKETS,\n GET_USER_NOTIFICATIONS,\n GET_USERS,\n} from \"../../queries/user\";\n\nexport const useGetUsers = () => {\n const { loading, error, data, refetch } = useQuery(GET_USERS, {\n fetchPolicy: \"network-only\",\n });\n\n const users = data?.users as UserType[];\n\n return { error, loading, refetch, users };\n};\n\nexport const useGetUser = (id: string) => {\n const { loading, error, data, refetch } = useQuery(GET_USER, {\n variables: { id },\n });\n\n const user = data?.user as UserType;\n\n return { error, loading, refetch, user };\n};\n\nexport const useGetUserMarkets = () => {\n const { loading, error, data, refetch } = useQuery(GET_USER_MARKETS, {\n fetchPolicy: \"network-only\",\n });\n\n const userMarkets = data?.userMarkets as MarketType[];\n\n return { error, loading, refetch, userMarkets };\n};\n\nexport const useGetUserFavourites = () => {\n const { loading, error, data, refetch } = useQuery(GET_USER_FAVOURITES, {\n fetchPolicy: \"network-only\",\n });\n\n const markets = data?.userFavourites.markets as MarketType[];\n const stallholders = data?.userFavourites.stallholders as StallholderType[];\n\n const userFavourites = {\n markets,\n stallholders,\n };\n\n return { error, loading, refetch, userFavourites };\n};\n\nexport const useGetUserNotifications = () => {\n const { loading, error, data, refetch } = useQuery(GET_USER_NOTIFICATIONS, {\n fetchPolicy: \"network-only\",\n });\n\n const userNotifications = data?.userNotifications as boolean;\n\n return { error, loading, refetch, userNotifications };\n};\n","import { EnumRegions } from \"src/enums\";\n\nimport { FormDateField, FormField, OptionItem } from \"../../types/global\";\nimport { mapArrayToOptions } from \"../../utils\";\n\nexport const stallholderBasicInfoFields: FormField[] = [\n {\n helperText: \"Business Name of the Stallholder *\",\n name: \"name\",\n placeholder: \"Business Name\",\n },\n {\n helperText: \"Description of the Stallholder *\",\n isTextArea: true,\n name: \"description\",\n placeholder: \"Description\",\n },\n {\n helperText: \"Enter Promo code if you have one.\",\n name: \"promoCode\",\n placeholder: \"Promo code\",\n },\n];\n\nexport const stallholderMultiLocation: FormField = {\n helperText:\n \"Usefull when you are not only selling products on Markets but also providing services at other locations.\",\n name: \"multiLocation\",\n placeholder: \"Enable multi location\",\n};\n\nexport const stallholderFullAddress: FormField = {\n helperText: \"Enter address\",\n name: \"fullAddress\",\n placeholder: \"Start typing to find address\",\n};\n\nexport const stallholderStartDateFields: FormDateField[] = [\n {\n dateMode: \"date\",\n helperText: \"Start Date\",\n name: \"startDate\",\n placeholder: \"Start Date\",\n },\n {\n dateMode: \"time\",\n helperText: \"Start Time\",\n name: \"startTime\",\n placeholder: \"Start Time\",\n },\n];\n\nexport const stallholderEndDateFields: FormDateField[] = [\n {\n dateMode: \"date\",\n helperText: \"End Date\",\n name: \"endDate\",\n placeholder: \"End Date\",\n },\n {\n dateMode: \"time\",\n helperText: \"End Time\",\n name: \"endTime\",\n placeholder: \"End Time\",\n },\n];\n\nexport const stallholderLocationDescription: FormField = {\n helperText: \"Description\",\n isTextArea: true,\n name: \"description\",\n placeholder: \"Description\",\n};\n\nconst availableCityTypes = [\n \"Auckland\",\n \"Christchurch\",\n \"Hamilton\",\n \"Wellington\",\n];\n\nexport const availableRegionTypes = Object.values(EnumRegions);\n\nconst nzRegionsWithCities = [\n {\n cities: [\"Auckland\"],\n region: \"Auckland\",\n },\n {\n cities: [\"Tauranga\", \"Whakatāne\", \"Rotorua\"],\n region: \"Bay of Plenty\",\n },\n {\n cities: [\"Christchurch\", \"Timaru\", \"Ashburton\"],\n region: \"Canterbury\",\n },\n {\n cities: [\"Gisborne\"],\n region: \"Gisborne\",\n },\n {\n cities: [\"Napier\", \"Hastings\"],\n region: \"Hawke's Bay\",\n },\n {\n cities: [\"Palmerston North\", \"Whanganui\", \"Levin\"],\n region: \"Manawatū-Whanganui\",\n },\n {\n cities: [\"Blenheim\", \"Picton\"],\n region: \"Marlborough\",\n },\n {\n cities: [\"Nelson\"],\n region: \"Nelson\",\n },\n {\n cities: [\"Whangārei\", \"Kerikeri\", \"Kaitaia\"],\n region: \"Northland\",\n },\n {\n cities: [\"Dunedin\", \"Queenstown\"],\n region: \"Otago\",\n },\n {\n cities: [\"Invercargill\", \"Gore\"],\n region: \"Southland\",\n },\n {\n cities: [\"New Plymouth\", \"Hāwera\"],\n region: \"Taranaki\",\n },\n {\n cities: [\"Richmond\", \"Motueka\"],\n region: \"Tasman\",\n },\n {\n cities: [\"Hamilton\", \"Taupō\", \"Cambridge\"],\n region: \"Waikato\",\n },\n {\n cities: [\"Wellington\", \"Lower Hutt\", \"Upper Hutt\", \"Porirua\"],\n region: \"Wellington\",\n },\n {\n cities: [\"Greymouth\", \"Westport\", \"Hokitika\"],\n region: \"West Coast\",\n },\n];\n\nexport const availableCityOptions: OptionItem[] =\n mapArrayToOptions(availableCityTypes);\n\nexport const availableRegionOptions: OptionItem[] =\n mapArrayToOptions(availableRegionTypes);\n","import { FormField, OptionItem } from \"../../types\";\nimport { mapArrayToOptions } from \"../../utils\";\n\nexport const stallholderElectricity: {\n details: FormField;\n isRequired: FormField;\n} = {\n details: {\n helperText: \"Please describe details e.g. amps, voltage, etc.\",\n isTextArea: true,\n name: \"electricity.details\",\n placeholder: \"Electricity requirements\",\n },\n isRequired: {\n name: \"electricity.isRequired\",\n placeholder: \"Do you require electricity?\",\n },\n};\n\nexport const stallholderGazebo: {\n details: FormField;\n isRequired: FormField;\n} = {\n details: {\n helperText: \"Please describe details e.g. size, etc.\",\n isTextArea: true,\n name: \"gazebo.details\",\n placeholder: \"Gazebo requirements\",\n },\n isRequired: {\n name: \"gazebo.isRequired\",\n placeholder: \"Do you require Gazebo?\",\n },\n};\n\nexport const stallholderTable: {\n details: FormField;\n isRequired: FormField;\n} = {\n details: {\n helperText: \"Please describe details e.g. size, etc.\",\n isTextArea: true,\n name: \"table.details\",\n placeholder: \"Table requirements\",\n },\n isRequired: {\n name: \"table.isRequired\",\n placeholder: \"Do you require Table?\",\n },\n};\n\nexport const stallholderPriceRange: {\n max: FormField;\n min: FormField;\n} = {\n max: {\n helperText: \"Product maximum price\",\n name: \"priceRange.max\",\n placeholder: \"Maximum price: \",\n },\n min: {\n helperText: \"Product minimum price\",\n name: \"priceRange.min\",\n placeholder: \"Minimum price: \",\n },\n};\n\nexport const stallholderStallSize: {\n depth: FormField;\n width: FormField;\n} = {\n depth: {\n helperText: \"Stall size in depth\",\n name: \"stallSize.depth\",\n placeholder: \"Stall Depth: \",\n },\n width: {\n helperText: \"Stall size in width\",\n name: \"stallSize.width\",\n placeholder: \"Stall Width: \",\n },\n};\n\nexport const stallholderPackaging: FormField = {\n helperText: \"Select packaging type, you can select more than one\",\n name: \"packaging\",\n placeholder: \"Packaging type\",\n};\n\nexport const stallholderPaymentMethod: FormField = {\n helperText: \"Select payment method\",\n name: \"paymentMethod\",\n placeholder: \"Payment Method type\",\n};\n\nexport const stallholderProducedIn: FormField = {\n helperText:\n \"Select where the product is produced, you can select more than one\",\n name: \"producedIn\",\n placeholder: \"Produced type\",\n};\n\nconst packagingTypes = [\n \"Biodegradable\",\n \"Compostable\",\n \"Recyclable\",\n \"Reusable\",\n \"Single-use\",\n \"Glass\",\n \"Paper\",\n \"Plastic\",\n \"Wood\",\n \"Other\",\n];\n\nconst producedIngTypes = [\n \"Commercial Kitchen\",\n \"Home Premises\",\n \"Factory\",\n \"Farm\",\n \"Other\",\n];\n\nconst paymentMethodTyes = [\"Cash\", \"Eftpos\", \"Transfer\"];\n\nexport const packagingOptions: OptionItem[] = mapArrayToOptions(packagingTypes);\nexport const producedIngOptions: OptionItem[] =\n mapArrayToOptions(producedIngTypes);\nexport const paymentMethodOptions: OptionItem[] =\n mapArrayToOptions(paymentMethodTyes);\n","import { EnumRejectionPolicy } from \"../enums\";\nimport { FormDateField, FormField, OptionItem } from \"../types/global\";\nimport { mapArrayToOptions } from \"../utils\";\n\nexport const marketBasicInfoFields: FormField[] = [\n {\n helperText: \"Name of the Market *\",\n name: \"name\",\n placeholder: \"Name\",\n },\n {\n helperText: \"Name of the Provider *\",\n name: \"provider\",\n placeholder: \"Provider\",\n },\n {\n helperText: \"Description of the Market *\",\n isTextArea: true,\n name: \"description\",\n placeholder: \"Description\",\n },\n {\n helperText: \"Enter Promo code if you have one.\",\n name: \"promoCode\",\n placeholder: \"Promo code\",\n },\n];\n\nexport const stallApplicationInfo: FormField[] = [\n {\n helperText: \"Application Deadline of the Market *\",\n keyboardType: \"number-pad\",\n name: \"stallApplicationInfo.applicationDeadlineHours\",\n placeholder: \"Application Deadline Hours\",\n },\n {\n helperText: \"Stall Capacity of the Market *\",\n keyboardType: \"number-pad\",\n name: \"stallApplicationInfo.stallCapacity\",\n placeholder: \"Stall Capacity\",\n },\n];\n\nexport const marketStartDateFields: FormDateField[] = [\n {\n dateMode: \"date\",\n helperText: \"Start Date of the Market *\",\n name: \"startDate\",\n placeholder: \"Start Date\",\n },\n {\n dateMode: \"time\",\n helperText: \"Start Time of the Market *\",\n name: \"startTime\",\n placeholder: \"Start Time\",\n },\n];\n\nexport const marketEndDateFields: FormDateField[] = [\n {\n dateMode: \"date\",\n helperText: \"End Date of the Market *\",\n name: \"endDate\",\n placeholder: \"End Date\",\n },\n {\n dateMode: \"time\",\n helperText: \"End Time of the Market *\",\n name: \"endTime\",\n placeholder: \"End Time\",\n },\n];\n\nexport const availableTagTypes = [\n \"All Ages\",\n \"Day Market\",\n \"Family Friendly\",\n \"Free Entry\",\n \"Indoor Market\",\n \"Live Music\",\n \"Night Market\",\n \"Outdoor Market\",\n \"Pet Friendly\",\n \"Near Bustop\",\n \"Near Train Station\",\n \"Parking Available\",\n \"Toilet Available\",\n \"Wheelchair Accessible\",\n \"Near Playground\",\n];\n\nexport const tagOptions: OptionItem[] = mapArrayToOptions(availableTagTypes);\n\nexport const rejectionPolicyOptions: OptionItem[] = mapArrayToOptions(\n Object.values(EnumRejectionPolicy),\n);\n","import { FormField } from \"../types/global\";\n\nexport const loginFields: FormField[] = [\n {\n helperText: \"Enter your email address\",\n keyboardType: \"email-address\",\n name: \"email\",\n placeholder: \"Email\",\n },\n {\n helperText: \"Enter your password\",\n keyboardType: \"default\",\n name: \"password\",\n placeholder: \"Password\",\n secureTextEntry: true,\n },\n];\n\nexport const registerFields: FormField[] = [\n {\n helperText: \"Enter your first name\",\n keyboardType: \"default\",\n name: \"firstName\",\n placeholder: \"First Name\",\n },\n {\n helperText: \"Enter your last name\",\n keyboardType: \"default\",\n name: \"lastName\",\n placeholder: \"Last Name\",\n },\n {\n helperText: \"Enter your email address\",\n keyboardType: \"email-address\",\n name: \"email\",\n placeholder: \"Email\",\n },\n {\n helperText: \"Enter your password\",\n keyboardType: \"default\",\n name: \"password\",\n placeholder: \"Password\",\n secureTextEntry: true,\n },\n];\n\nexport const forgotPasswordFields: FormField[] = [\n {\n helperText: \"Enter your email address\",\n keyboardType: \"email-address\",\n name: \"email\",\n placeholder: \"Email\",\n },\n];\n\nexport const resetPasswordFields: FormField[] = [\n {\n helperText: \"Enter your new password\",\n keyboardType: \"default\",\n name: \"password\",\n placeholder: \"Password\",\n secureTextEntry: true,\n },\n {\n helperText: \"Confirm your new password\",\n keyboardType: \"default\",\n name: \"confirmPassword\",\n placeholder: \"Confirm Password\",\n secureTextEntry: true,\n },\n];\n","import { FormField } from \"../types/global\";\n\nexport const profileFields: FormField[] = [\n {\n disabled: true,\n helperText: \"Email cannot be changed\",\n keyboardType: \"email-address\",\n name: \"email\",\n placeholder: \"Email\",\n },\n {\n helperText: \"Enter your first name\",\n keyboardType: \"default\",\n name: \"firstName\",\n placeholder: \"First Name\",\n },\n {\n helperText: \"Enter your last name\",\n keyboardType: \"default\",\n name: \"lastName\",\n placeholder: \"Last Name\",\n },\n {\n helperText: \"Enter your new password\",\n keyboardType: \"default\",\n name: \"password\",\n placeholder: \"Password\",\n secureTextEntry: true,\n },\n {\n helperText: \"Confirm your new password\",\n keyboardType: \"default\",\n name: \"confirmPassword\",\n placeholder: \"Confirm Password\",\n secureTextEntry: true,\n },\n];\n","import { Category } from \"../types/global\";\n\nexport const availableCategories: Category[] = [\n {\n id: \"food-drinks\",\n name: \"Food & Drinks\",\n subcategories: [\n {\n id: \"fresh-food-groceries\",\n items: [\n \"Fruits & Vegetables\",\n \"Meat & Seafood\",\n \"Dairy & Eggs\",\n \"Bakery & Desserts\",\n \"Spices & Condiments\",\n \"Packaged & Specialty Foods\",\n \"Other\",\n ],\n name: \"Fresh Food & Groceries\",\n },\n {\n id: \"beverages-specialty-drinks\",\n items: [\n \"Fresh Juices & Smoothies\",\n \"Coffee & Teas\",\n \"Dairy & Plant-Based Drinks\",\n \"Alcoholic Beverages\",\n \"Other\",\n ],\n name: \"Beverages & Specialty Drinks\",\n },\n {\n id: \"prepared-street-foods\",\n items: [\n \"Local & International Specialties\",\n \"Vegan & Vegetarian Options\",\n \"Candies & Sweets\",\n \"BBQ & Grilled Foods\",\n \"Other\",\n ],\n name: \"Prepared & Street Foods\",\n },\n ],\n },\n {\n id: \"handmade-local-products\",\n name: \"Handmade & Local Products\",\n subcategories: [\n {\n id: \"home-lifestyle\",\n items: [\n \"Textiles & Home Decor\",\n \"Pottery & Ceramics\",\n \"Woodwork & Carving\",\n \"Handwoven Baskets & Bags\",\n \"Other\",\n ],\n name: \"Home & Lifestyle\",\n },\n {\n id: \"fashion-accessories\",\n items: [\n \"Leather & Hand-Stitched Items\",\n \"Handcrafted Jewelry & Accessories\",\n \"Traditional & Cultural Clothing\",\n \"Other\",\n ],\n name: \"Fashion & Accessories\",\n },\n {\n id: \"eco-friendly-products\",\n items: [\n \"Recycled Goods\",\n \"Eco-Packaging\",\n \"Sustainable Fashion & Accessories\",\n \"Other\",\n ],\n name: \"Eco-Friendly & Sustainable Products\",\n },\n {\n id: \"arts-crafts\",\n items: [\"Art & Crafts\", \"Traditional & Cultural Items\", \"Other\"],\n name: \"Arts & Crafts\",\n },\n ],\n },\n {\n id: \"clothing-fashion\",\n name: \"Clothing & Fashion\",\n subcategories: [\n {\n id: \"casual-modern-wear\",\n items: [\n \"Modern & Casual Clothes\",\n \"Jackets & Outerwear\",\n \"Baby & Kids Clothing\",\n \"Scarves & Shawls\",\n \"Second-Hand Designer Clothes\",\n \"Underwear\",\n \"Other\",\n ],\n name: \"Casual & Modern Wear\",\n },\n {\n id: \"footwear\",\n items: [\n \"Everyday Shoes\",\n \"Formal Shoes\",\n \"Handmade & Leather Shoes\",\n \"Other\",\n ],\n name: \"Footwear\",\n },\n {\n id: \"bags-accessories\",\n items: [\n \"Bags, Belts, Hats, Sunglasses, Watches\",\n \"Retro and Vintage Accessories\",\n \"Other\",\n ],\n name: \"Bags & Accessories\",\n },\n {\n id: \"luxury-designer-brands\",\n items: [\n \"Luxury Clothing\",\n \"Designer Shoes\",\n \"Exclusive Accessories\",\n \"Other\",\n ],\n name: \"Luxury & Designer Brands\",\n },\n ],\n },\n {\n id: \"home-garden-household\",\n name: \"Home, Garden & Household Goods\",\n subcategories: [\n {\n id: \"home-essentials-kitchenware\",\n items: [\n \"Kitchenware & Dining\",\n \"Sustainable & Eco-Friendly Items\",\n \"Handmade & Artisan Home Goods\",\n \"Other\",\n ],\n name: \"Home Essentials & Kitchenware\",\n },\n {\n id: \"furniture-decor-organization\",\n items: [\n \"Furniture & Home Decor\",\n \"Textiles & Bedding\",\n \"Storage & Organization\",\n \"Other\",\n ],\n name: \"Furniture, Decor & Organization\",\n },\n {\n id: \"outdoor-cleaning-essentials\",\n items: [\n \"Garden, Plants & Decorations\",\n \"DIY & Home Improvement\",\n \"Cleaning Supplies & Household Essentials\",\n \"Other\",\n ],\n name: \"Outdoor & Cleaning Essentials\",\n },\n ],\n },\n {\n id: \"toys-pets\",\n name: \"Toys & Pets\",\n subcategories: [\n {\n id: \"handmade-eco-friendly-kids\",\n items: [\"Handmade & Local Toys\", \"Eco-Friendly Kids Products\", \"Other\"],\n name: \"Handmade & Eco-Friendly Kids Products\",\n },\n {\n id: \"toys-all-ages\",\n items: [\n \"Classic & Interactive Toys\",\n \"Building Blocks & Board Games\",\n \"Balloons & Party Accessories\",\n \"Other\",\n ],\n name: \"Toys for All Ages\",\n },\n {\n id: \"pet-products-animal-goods\",\n items: [\n \"Natural Pet Foods\",\n \"Handmade Pet Accessories\",\n \"Livestock & Farm Supplies\",\n \"Other\",\n ],\n name: \"Pet Products & Animal Goods\",\n },\n ],\n },\n {\n id: \"health-wellness-selfcare\",\n name: \"Health, Wellness & Self-Care\",\n subcategories: [\n {\n id: \"natural-remedies-supplements\",\n items: [\n \"Vitamins, Minerals & Herbal Remedies\",\n \"Superfoods, Probiotics & Detox Teas\",\n \"Other\",\n ],\n name: \"Natural Remedies & Supplements\",\n },\n {\n id: \"organic-natural-products\",\n items: [\n \"Organic Produce, Honey, Nuts & Seeds\",\n \"Gluten-Free & Specialty Items\",\n \"Other\",\n ],\n name: \"Organic & Natural Products\",\n },\n {\n id: \"fitness-sports-nutrition\",\n items: [\"Protein Powders & Bars\", \"Sports & Energy Drinks\", \"Other\"],\n name: \"Fitness & Sports Nutrition\",\n },\n {\n id: \"mental-wellbeing-relaxation\",\n items: [\n \"Yoga, Meditation & Stress-Relief Tools\",\n \"Massage & Muscle Relaxers\",\n \"Motivational Books & Tools\",\n \"Other\",\n ],\n name: \"Mental Wellbeing & Relaxation\",\n },\n ],\n },\n {\n id: \"electronics-technology\",\n name: \"Electronics & Technology\",\n subcategories: [\n {\n id: \"electronic-devices-accessories\",\n items: [\n \"Refurbished & Used Electronics\",\n \"Smartphones & Gadgets\",\n \"Computers & Gaming Gear\",\n \"Photography & Audio Equipment\",\n \"Other\",\n ],\n name: \"Electronic Devices & Accessories\",\n },\n ],\n },\n {\n id: \"antiques-collectibles\",\n name: \"Antiques & Collectibles\",\n subcategories: [\n {\n id: \"antiques-vintage-furniture\",\n items: [\n \"Old Clocks, Paintings & Sculptures\",\n \"Coins, Stamps & Rare Books\",\n \"Antique & Vintage Furniture & Home Decor\",\n \"Other\",\n ],\n name: \"Antiques & Vintage Furniture\",\n },\n {\n id: \"historical-rare-items\",\n items: [\n \"War Relics & Military Medals\",\n \"Limited Edition Artworks & Memorabilia\",\n \"Other\",\n ],\n name: \"Historical & Rare Items\",\n },\n {\n id: \"collectible-toys-games\",\n items: [\n \"Limited Edition Figures & Retro Board Games\",\n \"Pop Culture & Sports Memorabilia\",\n \"Other\",\n ],\n name: \"Collectible Toys & Games\",\n },\n ],\n },\n];\n\nexport const categoryColors: Record<string, string> = {\n \"antiques-collectibles\": \"#DE630A\",\n \"clothing-fashion\": \"#6A08C5\",\n \"electronics-technology\": \"#0303BE\",\n \"food-drinks\": \"#FF004D\",\n \"handmade-local-products\": \"#8E4827\",\n \"health-wellness-selfcare\": \"#7DFB03\",\n \"home-garden-household\": \"#006400\",\n \"toys-pets\": \"#3357FF\",\n};\n"],"mappings":"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","names":["EnumInviteStatus","EnumRejectionPolicy","EnumResourceType","EnumRelationResource","EnumResourceTypeIcon","EnumRegions","ImageTypeEnum","EnumUserLicence","EnumUserRole","dayjs","extend","customParseFormat","extend","customParseFormat","dayjs","yup","yup","yup","yup","yupResolver","React","useForm","useForm","yupResolver","yupResolver","React","useForm","useForm","yupResolver","stallApplicationInfo","yupResolver","React","useForm","useForm","yupResolver","yupResolver","useForm","defaultValues","useForm","yupResolver","yupResolver","useForm","defaultValues","useForm","yupResolver","gql","gql","useMutation","gql","gql","gql","gql","gql","gql","gql","gql","useMutation","useMutation","gql","gql","gql","gql","useMutation","useQuery","useQuery","useMutation","gql","gql","useMutation","useQuery","useQuery","gql","useMutation","gql","gql","useMutation","useQuery","useQuery"]}
package/package.json ADDED
@@ -0,0 +1,49 @@
1
+ {
2
+ "name": "@timardex/cluemart-shared",
3
+ "version": "1.0.0",
4
+ "description": "",
5
+ "main": "dist/index.cjs",
6
+ "module": "dist/index.mjs",
7
+ "types": "dist/index.d.ts",
8
+ "exports": {
9
+ "import": "./dist/index.mjs",
10
+ "require": "./dist/index.cjs"
11
+ },
12
+ "scripts": {
13
+ "build": "rimraf dist && tsup src/index.ts --format esm,cjs --dts --sourcemap && mv dist/index.js dist/index.cjs && npm pack",
14
+ "lint": "eslint --ext .ts src",
15
+ "lint:fix": "eslint --ext .ts --fix src",
16
+ "typecheck": "tsc --noEmit"
17
+ },
18
+ "files": [
19
+ "dist"
20
+ ],
21
+ "keywords": [],
22
+ "author": "",
23
+ "license": "ISC",
24
+ "devDependencies": {
25
+ "@types/node": "^22.13.4",
26
+ "@types/react": "~19.0.10",
27
+ "@typescript-eslint/eslint-plugin": "^8.20.0",
28
+ "@typescript-eslint/parser": "^8.20.0",
29
+ "eslint": "^9.26.0",
30
+ "eslint-config-prettier": "^10.0.1",
31
+ "eslint-import-resolver-typescript": "^3.6.1",
32
+ "eslint-plugin-import": "^2.29.1",
33
+ "eslint-plugin-prettier": "^5.2.6",
34
+ "prettier": "^3.4.2",
35
+ "prettier-eslint": "^16.4.1",
36
+ "rimraf": "^6.0.1",
37
+ "tsup": "^8.3.6",
38
+ "typescript": "^5.7.3",
39
+ "typescript-eslint": "^8.31.1"
40
+ },
41
+ "dependencies": {
42
+ "@apollo/client": "^3.13.1",
43
+ "@hookform/resolvers": "^4.1.1",
44
+ "dayjs": "^1.11.13",
45
+ "react": "^19.0.0",
46
+ "react-hook-form": "^7.54.2",
47
+ "yup": "^1.6.1"
48
+ }
49
+ }