@timardex/cluemart-shared 1.3.15 → 1.3.16

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.
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/enums/index.ts","../src/formFields/vendor/vendor.ts","../src/utils/index.ts","../src/formFields/vendor/vendorInfo.ts","../src/formFields/event/event.ts","../src/formFields/event/eventInfo.ts","../src/formFields/global.ts","../src/formFields/auth.ts","../src/formFields/user.ts","../src/formFields/categories/clothingAndFashion.ts","../src/formFields/categories/electronicsAndTechnology.ts","../src/formFields/categories/foodAndBeverages.ts","../src/formFields/categories/handmadeAndLocalProducts.ts","../src/formFields/categories/healthAndWellness.ts","../src/formFields/categories/homeGardenHousehold.ts","../src/formFields/categories/petProductsAndAnimalGoods.ts","../src/formFields/categories/serviceAndExperience.ts","../src/formFields/categories/toysChildren.ts","../src/formFields/categories/vintageAndAntique.ts","../src/formFields/categories/index.ts","../src/formFields/socialMedia.ts","../src/formFields/testers.ts","../src/formFields/contactUs.ts","../src/formFields/partner.ts","../src/graphql/hooks/admin/hooksMutation.ts","../src/graphql/mutations/admin.ts","../src/graphql/queries/event.ts","../src/graphql/queries/global.ts","../src/graphql/queries/tester.ts","../src/graphql/queries/vendor.ts","../src/graphql/hooks/auth.ts","../src/graphql/mutations/auth.ts","../src/graphql/hooks/chat/hooksMutation.ts","../src/graphql/mutations/chat.ts","../src/graphql/queries/chat.ts","../src/graphql/hooks/chat/hooksQuery.ts","../src/graphql/subscriptions/chat.ts","../src/graphql/hooks/contactUs.ts","../src/graphql/mutations/contactUs.ts","../src/graphql/hooks/event/hooksMutation.ts","../src/graphql/mutations/event.ts","../src/graphql/queries/user.ts","../src/graphql/queries/partner.ts","../src/graphql/hooks/event/hooksQuery.ts","../src/graphql/hooks/notifications/hooksMutation.ts","../src/graphql/mutations/notification.ts","../src/graphql/queries/notification.ts","../src/graphql/hooks/notifications/hooksQuery.ts","../src/graphql/hooks/notifications/hooksSubscription.ts","../src/graphql/subscriptions/notification.ts","../src/graphql/hooks/poster.ts","../src/graphql/mutations/poster.ts","../src/graphql/hooks/pushToken.ts","../src/graphql/mutations/pushToken.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/vendor/hooksMutation.ts","../src/graphql/mutations/vendor.ts","../src/graphql/hooks/vendor/hooksQuery.ts","../src/graphql/hooks/tester/hooksMutation.ts","../src/graphql/mutations/tester.ts","../src/graphql/hooks/tester/hooksQuery.ts","../src/graphql/hooks/user/hooksMutation.ts","../src/graphql/mutations/user.ts","../src/graphql/hooks/user/hooksQuery.ts","../src/graphql/hooks/ad/hooksMutation.ts","../src/graphql/mutations/ad.ts","../src/graphql/queries/ad.ts","../src/graphql/hooks/ad/hooksQuery.ts","../src/graphql/hooks/resourceActivities/hooksMutation.ts","../src/graphql/mutations/resourceActivities.ts","../src/graphql/hooks/resourceActivities/hooksQuery.ts","../src/graphql/queries/resourceActivities.ts","../src/graphql/hooks/stripe/hooksMutation.ts","../src/graphql/mutations/stripe.ts","../src/graphql/hooks/stripe/hooksQuery.ts","../src/graphql/queries/stripe.ts","../src/graphql/hooks/partner/hooksMutation.ts","../src/graphql/mutations/partner.ts","../src/graphql/hooks/partner/hooksQuery.ts","../src/graphql/hooks/post/hooksMutation.ts","../src/graphql/mutations/post.ts","../src/graphql/queries/post.ts","../src/graphql/hooks/post/hooksQuery.ts","../src/hooks/useLocationSearch.ts","../src/hooks/vendor/useVendorForm.ts","../src/yupSchema/global.ts","../src/yupSchema/event.ts","../src/yupSchema/vendor.ts","../src/yupSchema/user.ts","../src/yupSchema/auth.ts","../src/yupSchema/tester.ts","../src/types/tester.ts","../src/yupSchema/ad.ts","../src/types/ad.ts","../src/yupSchema/partner.ts","../src/yupSchema/post.ts","../src/types/post.ts","../src/hooks/utils.ts","../src/hooks/vendor/useVendorInfoForm.ts","../src/hooks/event/useEventForm.ts","../src/hooks/event/useEventInfoForm.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/useTesterForm.ts","../src/hooks/useContactUsForm.ts","../src/yupSchema/contactUs.ts","../src/hooks/useAdForm.ts","../src/hooks/partner/usePartnerForm.ts","../src/hooks/usePostForm.ts","../src/storage/index.ts","../src/theme/index.ts","../src/types/resourceActivities.ts"],"sourcesContent":["export enum EnumInviteStatus {\n ACCEPTED = \"Accepted\",\n COMPLETED = \"Completed\",\n EXPIRED = \"Expired\",\n NO_STATUS = \"No_Status\",\n PAID = \"Paid\",\n PENDING = \"Pending\",\n REJECTED = \"Rejected\",\n UNAVAILABLE = \"Unavailable\",\n WAITING = \"Waiting\",\n}\n\nexport enum EnumChatType {\n GROUP = \"group\",\n PRIVATE = \"private\",\n RELATION = \"relation\",\n}\n\nexport enum EnumPaymentMethod {\n CASH = \"cash\",\n EFTPOS = \"eftpos\",\n BANK_TRANSFER = \"bank_transfer\",\n PAYPAL = \"paypal\",\n STRIPE = \"stripe\",\n}\n\nexport enum EnumFoodFlavor {\n SALTY = \"Salty\",\n SAVOURY = \"Savoury\",\n SPICY = \"Spicy\",\n SWEET = \"Sweet\",\n}\n\nexport enum EnumFoodType {\n ADDITIVE_FREE = \"Additive_Free\",\n AIR_FRIED = \"Air_Fried\",\n ALLERGEN_FRIENDLY = \"Allergen_Friendly\",\n ATHLETE_FRIENDLY = \"Athlete_Friendly\",\n BAKED = \"Baked\",\n DAIRY_FREE = \"Dairy_Free\",\n DIABETIC_FRIENDLY = \"Diabetic_Friendly\",\n EGG_FREE = \"Egg_Free\",\n FRESH = \"Fresh\",\n GLUTEN_FREE = \"Gluten_Free\",\n GRILLED = \"Grilled\",\n HALAL = \"Halal\",\n HEART_HEALTHY = \"Heart_Healthy\",\n HIGH_FIBER = \"High_Fiber\",\n HIGH_PROTEIN = \"High_Protein\",\n KETO = \"Keto\",\n KOSHER = \"Kosher\",\n LACTOSE_FREE = \"Lactose_Free\",\n LOW_CALORIE = \"Low_Calorie\",\n LOW_CARB = \"Low_Carb\",\n LOW_FAT = \"Low_Fat\",\n LOW_SODIUM = \"Low_Sodium\",\n NO_ADDED_SUGAR = \"No_Added_Sugar\",\n NO_PRESERVATIVES = \"No_Preservatives\",\n NON_GMO = \"Non_GMO\",\n NUT_FREE = \"Nut_Free\",\n ORGANIC = \"Organic\",\n PALEO = \"Paleo\",\n PLANT_BASED = \"Plant_Based\",\n RAW = \"Raw\",\n SMOKED = \"Smoked\",\n SOY_FREE = \"Soy_Free\",\n SUGAR_FREE = \"Sugar_Free\",\n VEGAN = \"Vegan\",\n VEGETARIAN = \"Vegetarian\",\n}\n\nexport enum EnumResourceType {\n EVENT = \"event\",\n VENDOR = \"vendor\",\n PARTNER = \"partner\",\n}\n\nexport enum EnumEventType {\n MARKET = \"Market\",\n EXPO = \"Expo\",\n FAIR = \"Fair\",\n FESTIVAL = \"Festival\",\n}\n\nexport enum EnumVendorType {\n STALLHOLDER = \"Stallholder\",\n SHOP = \"Shop\",\n}\n\nexport enum EnumPartnerType {\n CHARITY_PARTNER = \"Charity_Partner\",\n MEDIA_PARTNER = \"Media_Partner\",\n SUPPORTING_PARTNER = \"Supporting_Partner\",\n}\n\nexport enum EnumOSPlatform {\n ANDROID = \"android\",\n IOS = \"ios\",\n WEB = \"web\",\n}\n\nexport enum EnumRelationResource {\n EVENT_INVITE_VENDOR = \"event_invite_vendor\",\n VENDOR_APPLICATION_TO_EVENT = \"vendor_application_to_event\",\n}\n\nexport enum EnumNotificationResourceType {\n ADDED_AS_ASSOCIATE_EVENT = \"added_as_associate_event\",\n ADDED_AS_ASSOCIATE_VENDOR = \"added_as_associate_vendor\",\n APPROVED_EVENT = \"approved_event\",\n APPROVED_VENDOR = \"approved_vendor\",\n CREATED_EVENT = \"created_event\",\n CREATED_VENDOR = \"created_vendor\",\n EVENT_INVITE_VENDOR = EnumRelationResource.EVENT_INVITE_VENDOR,\n EVENT_STARTING_SOON = \"event_starting_soon\",\n NEW_CHAT_MESSAGE = \"new_chat_message\",\n VENDOR_APPLICATION_TO_EVENT = EnumRelationResource.VENDOR_APPLICATION_TO_EVENT,\n}\n\nexport enum EnumNotificationType {\n EVENT = EnumResourceType.EVENT,\n VENDOR = EnumResourceType.VENDOR,\n RELATION = \"relation\",\n CHAT = \"chat\",\n SYSTEM = \"system\",\n}\n\nexport enum EnumRegions {\n Auckland = \"Auckland\",\n BayOfPlentyGisborne = \"Bay of Plenty & Gisborne\",\n CanterburyWestCoast = \"Canterbury & West Coast\",\n HawkesBay = \"Hawke's Bay\",\n ManawatuWanganui = \"Manawatu-Wanganui\",\n MarlboroughNelsonTasman = \"Marlborough & Nelson & Tasman\",\n Northland = \"Northland\",\n Otago = \"Otago\",\n Southland = \"Southland\",\n Taranaki = \"Taranaki\",\n Waikato = \"Waikato\",\n Wellington = \"Wellington\",\n}\n\nexport enum ImageTypeEnum {\n AVATAR = \"avatar\",\n COVER = \"cover\",\n IMAGE = \"image\",\n LOGO = \"logo\",\n}\n\nexport enum EnumUserLicence {\n PRO_EVENT = \"pro_event\",\n PRO_PLUS_EVENT = \"pro_plus_event\",\n PRO_PLUS_VENDOR = \"pro_plus_vendor\",\n PRO_VENDOR = \"pro_vendor\",\n STANDARD_EVENT = \"standard_event\",\n STANDARD_VENDOR = \"standard_vendor\",\n STANDARD_PARTNER = \"standard_partner\",\n}\n\nexport enum EnumUserRole {\n ADMIN = \"admin\",\n CUSTOMER = \"customer\",\n MARKETING = \"marketing\",\n MODERATOR = \"moderator\",\n SUPPORT = \"support\",\n}\n\nexport enum EnumSocialMedia {\n FACEBOOK = \"facebook\",\n INSTAGRAM = \"instagram\",\n TIKTOK = \"tiktok\",\n TWITTER = \"twitter\",\n WEBSITE = \"website\",\n YOUTUBE = \"youtube\",\n}\n\nexport enum EnumEventDateStatus {\n STARTING_SOON = \"Starting_Soon\",\n STARTED = \"Started\",\n TODAY = \"Today\",\n TOMORROW = \"Tomorrow\",\n THIS_WEEKEND = \"This_Weekend\",\n THIS_WEEK = \"This_Week\",\n NEXT_WEEK = \"Next_Week\",\n UPCOMING = \"Upcoming\",\n ENDED = \"Ended\",\n RE_SCHEDULED = \"Rescheduled\",\n CANCELED = \"Canceled\",\n}\n\nexport enum EnumSubscriptionStatus {\n ACTIVE = \"active\",\n INACTIVE = \"inactive\",\n CANCELLED = \"cancelled\",\n NO_SUBSCRIPTION = \"no_subscription\",\n PAST_DUE = \"past_due\",\n}\n","import { FormDateField, FormField } from \"../../types/global\";\n\nexport const vendorBasicInfoFields: FormField[] = [\n {\n helperText: \"Business Name *\",\n name: \"name\",\n placeholder: \"Business Name\",\n },\n {\n helperText: \"Description *\",\n isTextArea: true,\n name: \"description\",\n placeholder: \"Description\",\n },\n];\n\nexport const vendorMultiLocation: FormField = {\n helperText:\n \"Usefull when you are not only selling products on Events but also providing services at other locations.\",\n name: \"multiLocation\",\n placeholder: \"Multi location\",\n};\n\nexport const vendorFullAddress: FormField = {\n helperText: \"Enter address\",\n name: \"fullAddress\",\n placeholder: \"Start typing to find address\",\n};\n\nexport const vendorStartDateFields: 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 vendorEndDateFields: 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 vendorAvailability: FormField[] = [\n {\n name: \"availability.school\",\n placeholder: \"School events\",\n },\n {\n name: \"availability.private\",\n placeholder: \"Private events\",\n },\n {\n name: \"availability.corporate\",\n placeholder: \"Corporate events\",\n },\n];\n\nexport const vendorLocationDescription: FormField = {\n helperText: \"Description\",\n isTextArea: true,\n name: \"description\",\n placeholder: \"Description\",\n};\n\nexport const vendorMenuFields: FormField[] = [\n {\n helperText: \"Item name\",\n name: \"name\",\n placeholder: \"Item name\",\n },\n {\n helperText: \"Item Description\",\n isTextArea: true,\n name: \"description\",\n placeholder: \"Item Description\",\n },\n {\n helperText: \"Price\",\n keyboardType: \"decimal-pad\",\n name: \"price\",\n placeholder: \"Price\",\n },\n];\n\nexport const productLabelGroups = [\n {\n category: \"Food Sensitivity\",\n items: [\n { abbreviation: \"DF\", fullName: \"Dairy-Free\" },\n { abbreviation: \"EF\", fullName: \"Egg-Free\" },\n { abbreviation: \"GF\", fullName: \"Gluten-Free\" },\n { abbreviation: \"NF\", fullName: \"Nut-Free\" },\n ],\n },\n {\n category: \"Lifestyle\",\n items: [\n { abbreviation: \"KETO\", fullName: \"Keto-Friendly\" },\n { abbreviation: \"P\", fullName: \"Paleo\" },\n { abbreviation: \"V\", fullName: \"Vegan\" },\n { abbreviation: \"VG\", fullName: \"Vegetarian\" },\n ],\n },\n {\n category: \"Natural\",\n items: [\n { abbreviation: \"ECO\", fullName: \"Eco-Friendly\" },\n { abbreviation: \"ORGANIC\", fullName: \"Organic Product\" },\n ],\n },\n {\n category: \"Market Character\",\n items: [\n { abbreviation: \"HM\", fullName: \"Handmade\" },\n { abbreviation: \"LOC\", fullName: \"Local Product\" },\n ],\n },\n {\n category: \"Cosmetic / Natural\",\n items: [\n { abbreviation: \"AROM\", fullName: \"Aromatherapy\" },\n { abbreviation: \"CRF\", fullName: \"Cruelty-Free\" },\n { abbreviation: \"HYPO\", fullName: \"Hypoallergenic\" },\n ],\n },\n {\n category: \"Animal Related\",\n items: [\n { abbreviation: \"GF-PET\", fullName: \"Grain-Free (Pet)\" },\n { abbreviation: \"PF\", fullName: \"Pet-Friendly\" },\n ],\n },\n {\n category: \"Plant / Natural\",\n items: [\n { abbreviation: \"NPF\", fullName: \"Non-Pesticide / Chemical-Free\" },\n { abbreviation: \"PLN\", fullName: \"Plant-Based\" },\n ],\n },\n {\n category: \"Gift / Design\",\n items: [\n { abbreviation: \"ART\", fullName: \"Artisan\" },\n { abbreviation: \"LTD\", fullName: \"Limited Edition\" },\n ],\n },\n {\n category: \"Sustainability\",\n items: [{ abbreviation: \"ZWP\", fullName: \"Zero-Waste Product\" }],\n },\n];\n","import dayjs from \"dayjs\";\nimport customParseFormat from \"dayjs/plugin/customParseFormat.js\";\nimport isSameOrAfter from \"dayjs/plugin/isSameOrAfter.js\";\nimport timezone from \"dayjs/plugin/timezone.js\";\nimport utc from \"dayjs/plugin/utc.js\";\n\nimport { EnumInviteStatus, EnumPaymentMethod, EnumRegions } 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\ndayjs.extend(customParseFormat);\ndayjs.extend(utc);\ndayjs.extend(timezone);\ndayjs.extend(isSameOrAfter);\n\nconst NZ_TZ = \"Pacific/Auckland\";\n\nexport function toNZTime(date: Date | string) {\n return dayjs(date).tz(NZ_TZ).format();\n}\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 T extends { startDate: string; startTime: string },\n>(\n dates: T[],\n): T[] => {\n const now = dayjs(); // current date and time\n\n return dates.filter((dateObj) => {\n const dateTime = dayjs(\n `${dateObj.startDate} ${dateObj.startTime}`,\n `${dateFormat} ${timeFormat}`,\n );\n return dateTime.isSameOrAfter(now);\n });\n};\n\nexport const isFutureDatesBeforeThreshold = (\n date: {\n startDate: string;\n startTime: string;\n },\n minHoursFromNow: number,\n): boolean => {\n const threshold = minHoursFromNow\n ? dayjs().add(minHoursFromNow, \"hour\")\n : dayjs().startOf(\"day\");\n\n const dateTime = dayjs(\n `${date.startDate} ${date.startTime}`,\n `${dateFormat} ${timeFormat}`,\n );\n\n return dateTime.isSameOrAfter(threshold);\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 defaultRegion: Region = {\n latitude: -36.8624942, // Default: New Zealand\n latitudeDelta: 5.0,\n longitude: 174.7450494,\n longitudeDelta: 5.0,\n};\n\nconst isIsoDateString = (value: unknown): value is string => {\n return typeof value === \"string\" && !isNaN(Date.parse(value));\n};\n\nexport const removeTypename = (obj: any): any => {\n // Preserve Date objects\n if (obj instanceof Date) {\n return obj;\n }\n\n // Preserve ISO date strings\n if (isIsoDateString(obj)) {\n return obj;\n }\n\n // Handle arrays\n if (Array.isArray(obj)) {\n return obj.map(removeTypename);\n }\n\n // Handle plain objects only\n if (obj !== null && typeof obj === \"object\") {\n const { __typename, ...cleanedObj } = obj;\n\n return Object.keys(cleanedObj).reduce((acc: any, key) => {\n acc[key] = removeTypename(cleanedObj[key]);\n return acc;\n }, {});\n }\n\n // Primitives\n return obj;\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,\n value: item,\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 sortDatesChronologically<\n T extends { startDate: string; startTime: string },\n>(dates: T[]): T[] {\n if (!dates || !dates.length) {\n return [];\n }\n\n return [...dates].sort((a, b) => {\n const dateTimeFormat = `${dateFormat} ${timeFormat}`;\n const dateA = dayjs(`${a.startDate} ${a.startTime}`, dateTimeFormat);\n const dateB = dayjs(`${b.startDate} ${b.startTime}`, dateTimeFormat);\n return dateA.valueOf() - dateB.valueOf(); // chronological order\n });\n}\n\nexport const availableRegionTypes = Object.values(EnumRegions);\nexport const availableRegionOptions: OptionItem[] =\n mapArrayToOptions(availableRegionTypes);\n\nexport const paymentMethodOptions: OptionItem[] = mapArrayToOptions(\n Object.values(EnumPaymentMethod),\n);\n\nexport function normalizeUrl(url: string): string {\n if (!url.startsWith(\"http://\") && !url.startsWith(\"https://\")) {\n return `https://${url}`;\n }\n return url;\n}\n","import { EnumFoodFlavor } from \"src/enums\";\n\nimport { FormField, OptionItem } from \"../../types\";\nimport { mapArrayToOptions } from \"../../utils\";\n\nexport const vendorElectricity: {\n details: FormField;\n isRequired: FormField;\n} = {\n details: {\n helperText: \"Please describe details e.g. amps, voltage, etc.\",\n isTextArea: true,\n name: \"requirements.electricity.details\",\n placeholder: \"Electricity requirements\",\n },\n isRequired: {\n name: \"requirements.electricity.isRequired\",\n placeholder: \"Do you require electricity?\",\n },\n};\n\nexport const vendorGazebo: {\n details: FormField;\n isRequired: FormField;\n} = {\n details: {\n helperText: \"Please describe details e.g. size, etc.\",\n isTextArea: true,\n name: \"requirements.gazebo.details\",\n placeholder: \"Gazebo requirements\",\n },\n isRequired: {\n name: \"requirements.gazebo.isRequired\",\n placeholder: \"Do you require Gazebo?\",\n },\n};\n\nexport const vendorTable: {\n details: FormField;\n isRequired: FormField;\n} = {\n details: {\n helperText: \"Please describe details e.g. size, etc.\",\n isTextArea: true,\n name: \"requirements.table.details\",\n placeholder: \"Table requirements\",\n },\n isRequired: {\n name: \"requirements.table.isRequired\",\n placeholder: \"Do you require Table?\",\n },\n};\n\nexport const vendorPriceRange: {\n max: FormField;\n min: FormField;\n} = {\n max: {\n helperText: \"Product maximum price\",\n name: \"product.priceRange.max\",\n placeholder: \"Maximum price: \",\n },\n min: {\n helperText: \"Product minimum price\",\n name: \"product.priceRange.min\",\n placeholder: \"Minimum price: \",\n },\n};\n\nexport const vendorStallSize: {\n depth: FormField;\n width: FormField;\n} = {\n depth: {\n helperText: \"Stall size in depth\",\n name: \"stallInfo.size.depth\",\n placeholder: \"Stall Depth: \",\n },\n width: {\n helperText: \"Stall size in width\",\n name: \"stallInfo.size.width\",\n placeholder: \"Stall Width: \",\n },\n};\n\nexport const vendorPackaging: FormField = {\n helperText: \"Select packaging type, you can select more than one\",\n name: \"product.packaging\",\n placeholder: \"Packaging type\",\n};\n\nexport const vendorProducedIn: FormField = {\n helperText:\n \"Select where the product is produced, you can select more than one\",\n name: \"product.producedIn\",\n placeholder: \"Produced type\",\n};\n\nexport const vendorFoodFlavour: FormField = {\n helperText: \"You can select more than one food flavour\",\n name: \"product.foodFlavors\",\n placeholder: \"Food flavours\",\n};\n\nexport const vendorCompliance: FormField[] = [\n {\n name: \"compliance.liabilityInsurance\",\n placeholder: \"Liability Insurance\",\n },\n {\n name: \"compliance.foodBeverageLicense\",\n placeholder: \"Food and Beverage License\",\n },\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\nexport const packagingOptions: OptionItem[] = mapArrayToOptions(packagingTypes);\nexport const producedIngOptions: OptionItem[] =\n mapArrayToOptions(producedIngTypes);\nexport const foodFlavourOptions: OptionItem[] = Object.values(\n EnumFoodFlavor,\n).map((flavour) => ({\n label: flavour,\n value: flavour,\n}));\n","import { FormDateField, FormField, OptionItem } from \"../../types/global\";\n\nexport const eventBasicInfoFields: FormField[] = [\n {\n helperText: \"Name of the Event *\",\n name: \"name\",\n placeholder: \"Name\",\n },\n {\n helperText:\n \"NZBN number (required – ClueMart only accepts events with valid NZBN number) *\",\n keyboardType: \"number-pad\",\n name: \"nzbn\",\n placeholder: \"NZBN number\",\n },\n {\n helperText: \"Name of the Provider (if applicable)\",\n name: \"provider\",\n placeholder: \"Provider\",\n },\n {\n helperText: \"Description of the Event *\",\n isTextArea: true,\n name: \"description\",\n placeholder: \"Description\",\n },\n];\n\nexport const eventStartDateFields: FormDateField[] = [\n {\n dateMode: \"date\",\n helperText: \"Start Date of the Event *\",\n name: \"startDate\",\n placeholder: \"Start Date\",\n },\n {\n dateMode: \"time\",\n helperText: \"Start Time of the Event *\",\n name: \"startTime\",\n placeholder: \"Start Time\",\n },\n];\n\nexport const eventEndDateFields: FormDateField[] = [\n {\n dateMode: \"date\",\n helperText: \"End Date of the Event *\",\n name: \"endDate\",\n placeholder: \"End Date\",\n },\n {\n dateMode: \"time\",\n helperText: \"End Time of the Event *\",\n name: \"endTime\",\n placeholder: \"End Time\",\n },\n];\n\nexport const availableTagTypes = [\n { icon: \"human-male-female-child\", label: \"All Ages\" },\n { icon: \"weather-sunny\", label: \"Day Market\" },\n { icon: \"account-child\", label: \"Family Friendly\" },\n { icon: \"ticket-percent\", label: \"Free Entry\" },\n { icon: \"home-city\", label: \"Indoor Market\" },\n { icon: \"music\", label: \"Live Music\" },\n { icon: \"bus\", label: \"Near Bustop\" },\n { icon: \"slide\", label: \"Near Playground\" },\n { icon: \"train\", label: \"Near Train Station\" },\n { icon: \"weather-night\", label: \"Night Market\" },\n { icon: \"tree\", label: \"Outdoor Market\" },\n { icon: \"car\", label: \"Parking Available\" },\n { icon: \"dog\", label: \"Pet Friendly\" },\n { icon: \"ship-wheel\", label: \"Port Nearby\" },\n { icon: \"toilet\", label: \"Toilet Available\" },\n { icon: \"wheelchair-accessibility\", label: \"Wheelchair Accessible\" },\n];\n\nexport const tagOptions: OptionItem[] = availableTagTypes.map((tag) => ({\n label: tag.label,\n value: tag.label,\n}));\n","import { Requirement, StallType } from \"../../types/event\";\nimport { FormField } from \"../../types/global\";\n\nexport const eventInfo: FormField[] = [\n {\n helperText: \"Application Deadline (hours before event start) *\",\n keyboardType: \"number-pad\",\n name: \"applicationDeadlineHours\",\n placeholder: \"Application Deadline (in hours)\",\n },\n {\n helperText:\n \"Payment Due (hours after application or invitation acceptance) *\",\n keyboardType: \"number-pad\",\n name: \"paymentDueHours\",\n placeholder: \"Payment Due (in hours)\",\n },\n {\n helperText: \"Pack-In Time (hours before event start) *\",\n keyboardType: \"number-pad\",\n name: \"packInTime\",\n placeholder: \"Pack In Time (in hours)\",\n },\n];\n\nexport const eventInfoPaymentInfo: FormField[] = [\n {\n helperText: \"Account holder name *\",\n name: \"accountHolderName\",\n placeholder: \"Account holder name\",\n },\n {\n helperText: \"Account number *\",\n keyboardType: \"number-pad\",\n name: \"accountNumber\",\n placeholder: \"Account number\",\n },\n {\n helperText: \"Payment link, where applicants can pay *\",\n keyboardType: \"url\",\n name: \"link\",\n placeholder: \"Payment link\",\n },\n];\n\nexport const requirementsOptions: Requirement[] = [\n {\n category: \"Environment\",\n label: \"All packaging must be eco-friendly or recyclable where possible.\",\n value: false,\n },\n {\n category: \"Environment\",\n label: \"No single-use plastic bags are to be handed out.\",\n value: false,\n },\n {\n category: \"Environment\",\n label:\n \"Stall area must be left clean with no trace of activity after pack-down.\",\n value: false,\n },\n {\n category: \"Environment\",\n label:\n \"No disposal of oils, fats, or chemicals in public drains or on grassed areas.\",\n value: false,\n },\n {\n category: \"Environment\",\n label:\n \"You must provide bins at your site for rubbish and recycling, and take away all bins including rubbish, to dispose of outside of the town centre.\",\n value: false,\n },\n {\n category: \"Food Safety\",\n label:\n \"Food must be prepared and stored according to your food regulation.\",\n value: false,\n },\n {\n category: \"Food Safety\",\n label: \"The stallholder must display a current food grade certificate.\",\n value: false,\n },\n {\n category: \"Food Safety\",\n label: \"Only licensed food vendors may sell ready-to-eat food items.\",\n value: false,\n },\n {\n category: \"Food Safety\",\n label:\n \"Handwashing facilities must be available at your stall if preparing food.\",\n value: false,\n },\n {\n category: \"Food Safety\",\n label: \"You must have a food safety plan in place for your stall.\",\n value: false,\n },\n {\n category: \"Food Safety\",\n label:\n \"Allergens must be clearly listed on packaged and unpackaged food items.\",\n value: false,\n },\n {\n category: \"Legal & Safety\",\n label: \"All stallholders must comply with local council regulations.\",\n value: false,\n },\n {\n category: \"Legal & Safety\",\n label: \"No unauthorised subletting of stall space to other vendors.\",\n value: false,\n },\n {\n category: \"Legal & Safety\",\n label:\n \"Gas bottles and fuel containers must be secured and in good condition if applicable.\",\n value: false,\n },\n {\n category: \"Legal & Safety\",\n label:\n \"Fire extinguishers must be available for stalls using cooking or heating equipment.\",\n value: false,\n },\n {\n category: \"Legal & Safety\",\n label:\n \"Stallholders must not sell items that are illegal or prohibited by law.\",\n value: false,\n },\n {\n category: \"Legal & Safety\",\n label: \"All electrical equipment must be tested and tagged.\",\n value: false,\n },\n {\n category: \"Legal & Safety\",\n label:\n \"Noise levels must be kept to a minimum unless part of a permitted performance.\",\n value: false,\n },\n {\n category: \"Legal & Safety\",\n label: \"Pets at the stall must be secured and well-behaved at all times.\",\n value: false,\n },\n {\n category: \"Legal & Safety\",\n label: \"Cables must be secured and not create tripping hazards.\",\n value: false,\n },\n {\n category: \"Legal & Safety\",\n label: \"Stalls must not obstruct emergency access routes.\",\n value: false,\n },\n {\n category: \"Legal & Safety\",\n label: \"First aid kit must be available at the stall for minor injuries.\",\n value: false,\n },\n {\n category: \"Legal & Safety\",\n label: \"Stallholders must hold valid liability insurance where required.\",\n value: false,\n },\n {\n category: \"Legal & Safety\",\n label:\n \"You must secure your gazebo and equipment to withstand wind or bad weather.\",\n value: false,\n },\n {\n category: \"Legal & Safety\",\n label:\n \"You are responsible for the safety of your setup and any potential hazards.\",\n value: false,\n },\n {\n category: \"Operations\",\n label: \"Generators must be quiet and pre-approved by the event organiser.\",\n value: false,\n },\n {\n category: \"Operations\",\n label:\n \"Only approved products or services may be sold — no last-minute changes.\",\n value: false,\n },\n {\n category: \"Operations\",\n label:\n \"Stallholders must arrive and be fully set up by the designated opening time.\",\n value: false,\n },\n {\n category: \"Operations\",\n label: \"You may not pack down your stall before the event officially ends.\",\n value: false,\n },\n {\n category: \"Operations\",\n label: \"You must be self-sufficient in all operations.\",\n value: false,\n },\n {\n category: \"Operations\",\n label: \"Stall layout must be kept within your allocated space.\",\n value: false,\n },\n];\n\nconst stallTypes = [\n \"1.8m table only\",\n \"2x2m mini stall\",\n \"3x3m tent site\",\n \"Corner stall\",\n \"Craft stall with power\",\n \"Craft stall without power\",\n \"Double stall (6x3m)\",\n \"Food truck site\",\n \"Food vendor with power\",\n \"Food vendor without power\",\n \"Inside hall stall\",\n \"Non-profit/community stall\",\n \"Outdoor open area\",\n \"Shared table space\",\n \"Wall-based vendor\",\n \"Workshop/seating area\",\n] as const;\n\nexport const stallTypeOptions: StallType[] = stallTypes.map((type) => ({\n electricity: {\n price: null,\n selected: false,\n },\n label: type,\n price: 0,\n stallCapacity: 0,\n}));\n","import { FormField } from \"src/types/global\";\n\nexport const emailField: FormField = {\n helperText: \"Enter email address\",\n keyboardType: \"email-address\",\n name: \"email\",\n placeholder: \"Email\",\n};\n\nexport const companyContactFields: FormField[] = [\n {\n ...emailField,\n name: \"contactDetails.email\",\n },\n {\n helperText: \"Enter your mobile phone number\",\n keyboardType: \"phone-pad\",\n name: \"contactDetails.mobilePhone\",\n placeholder: \"Mobile Phone Number\",\n },\n {\n helperText: \"Enter your landline phone number\",\n keyboardType: \"phone-pad\",\n name: \"contactDetails.landlinePhone\",\n placeholder: \"Landline Phone Number\",\n },\n];\n","import { FormField } from \"../types/global\";\n\nimport { emailField } from \"./global\";\n\nexport const loginFields: FormField[] = [\n {\n ...emailField,\n },\n {\n helperText: \"Enter password *\",\n keyboardType: \"default\",\n name: \"password\",\n placeholder: \"Password\",\n secureTextEntry: true,\n },\n];\n\nexport const registerFields: FormField[] = [\n {\n helperText: \"Enter first name *\",\n keyboardType: \"default\",\n name: \"firstName\",\n placeholder: \"First Name\",\n },\n {\n helperText: \"Enter last name *\",\n keyboardType: \"default\",\n name: \"lastName\",\n placeholder: \"Last Name\",\n },\n {\n ...emailField,\n },\n {\n helperText: \"Enter password *\",\n keyboardType: \"default\",\n name: \"password\",\n placeholder: \"Password\",\n secureTextEntry: true,\n },\n];\n\nexport const requestPasswordResetFields: FormField[] = [\n {\n ...emailField,\n helperText: \"Enter email address to reset your password *\",\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\nexport const validateVerificationTokenFields: FormField[] = [\n {\n ...emailField,\n disabled: true,\n helperText: \"Your email address *\",\n },\n {\n helperText: \"Enter the Verification code sent to you by email *\",\n keyboardType: \"number-pad\",\n name: \"verificationToken\",\n placeholder: \"Verification code\",\n },\n];\n","import { FormField } from \"../types/global\";\n\nimport { emailField } from \"./global\";\n\nexport const profileFields: FormField[] = [\n {\n ...emailField,\n disabled: true,\n helperText: \"Email cannot be changed\",\n },\n {\n helperText: \"Enter first name\",\n keyboardType: \"default\",\n name: \"firstName\",\n placeholder: \"First Name\",\n },\n {\n helperText: \"Enter 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","/* eslint-disable sort-keys */\nimport { Category } from \"src/types\";\n\nexport const clothingAndFashion: Category[] = [\n {\n id: \"clothing-fashion\",\n name: \"Clothing & Fashion\",\n description:\n \"New, handmade, or upcycled clothing and accessories with a creative twist.\",\n subcategories: [\n {\n id: \"apparel-babywear\",\n name: \"Apparel & Babywear\",\n items: [\n {\n id: \"apparel\",\n name: \"Apparel\",\n description: \"Dresses, t-shirts, jumpers, rompers, sets, kidswear.\",\n },\n {\n id: \"baby-toddler-apparel\",\n name: \"Baby & Toddler Apparel\",\n description:\n \"Handmade baby clothes, soft shoes, bibs, hats, knitted sets.\",\n },\n {\n id: \"upcycled-fashion\",\n name: \"Upcycled Fashion\",\n description:\n \"Reworked garments, patchwork pieces, restyled vintage.\",\n },\n {\n id: \"other-wearable-items\",\n name: \"Other wearable items\",\n description: \"Unique clothing not listed above.\",\n },\n ],\n },\n {\n id: \"fashion-accessories\",\n name: \"Fashion Accessories\",\n items: [\n {\n id: \"accessories\",\n name: \"Accessories\",\n description: \"Scarves, belts, gloves, hats, headbands, caps.\",\n },\n {\n id: \"shoes\",\n name: \"Shoes\",\n description: \"Handmade shoes, baby booties, sandals, slippers.\",\n },\n {\n id: \"bags-wallets\",\n name: \"Bags & Wallets\",\n description:\n \"Leather bags, fabric purses, wallets, backpacks, totes.\",\n },\n {\n id: \"other-accessories\",\n name: \"Other accessories\",\n description: \"Brooches, pins, or hybrid functional items.\",\n },\n ],\n },\n {\n id: \"jewelry-creative-wearables\",\n name: \"Jewelry & Creative Wearables\",\n items: [\n {\n id: \"jewelry\",\n name: \"Jewelry\",\n description: \"Necklaces, earrings, bracelets, rings, anklets.\",\n },\n {\n id: \"other-creative-wearables\",\n name: \"Other creative wearables\",\n description:\n \"Wearable art, statement pieces, bold handmade designs.\",\n },\n ],\n },\n {\n id: \"traditional-cultural-clothing-accessories\",\n name: \"Traditional & Cultural Clothing and Accessories\",\n items: [\n {\n id: \"traditional-clothing-accessories\",\n name: \"Traditional Clothing & Accessories \",\n description:\n \"raditional clothing, jewellery, accessories and footwear from around the world, including both handmade and non-handmade items.\",\n },\n {\n id: \"other-traditional-cultural-items\",\n name: \"Other Traditional & Cultural Items\",\n description:\n \"traditional or culturally inspired wearables and decorative cultural pieces such as plates, table linens and similar items.\",\n },\n ],\n },\n ],\n },\n];\n","/* eslint-disable sort-keys */\nimport { Category } from \"src/types\";\n\nexport const electronicsAndTechnology: Category[] = [\n {\n id: \"electronics-technology\",\n name: \"Electronics & Technology\",\n description:\n \"New, second-hand, or handmade tech and digital items commonly found at markets.\",\n subcategories: [\n {\n id: \"mobile-everyday-tech\",\n name: \"Mobile & Everyday Tech\",\n items: [\n {\n id: \"mobile-phone-accessories\",\n name: \"Mobile & Phone Accessories\",\n description:\n \"Phone cases, holders, screen protectors, charging cables, power banks, grips.\",\n },\n {\n id: \"other-mobile-gadgets\",\n name: \"Other mobile gadgets\",\n description:\n \"Stands, styluses, SIM tools, cleaning kits, wallet accessories.\",\n },\n ],\n },\n {\n id: \"audio-music-creative-tech\",\n name: \"Audio, Music & Creative Tech\",\n items: [\n {\n id: \"audio-music-tech\",\n name: \"Audio & Music Tech\",\n description:\n \"Portable speakers, headphones, mini radios, Bluetooth adapters, sound accessories.\",\n },\n {\n id: \"instruments-music-gear\",\n name: \"Instruments & Music Gear\",\n description:\n \"Small electronic instruments, DIY synth kits, drum pads, loop machines.\",\n },\n {\n id: \"recording-creative-devices\",\n name: \"Recording & Creative Devices\",\n description:\n \"USB microphones, podcast tools, voice recorders, mobile lighting, content tools.\",\n },\n {\n id: \"other-audio-music-items\",\n name: \"Other audio or music-related items\",\n description: \"Musical gadgets or creative gear not listed above.\",\n },\n ],\n },\n {\n id: \"diy-gadgets-secondhand-finds\",\n name: \"DIY, Gadgets & Second-Hand Finds\",\n items: [\n {\n id: \"diy-electronics-tools\",\n name: \"DIY Electronics & Tools\",\n description:\n \"LED lights, USB gadgets, circuit boards, repair kits, tech-themed toys, novelty items.\",\n },\n {\n id: \"other-tech-finds\",\n name: \"Other Tech Finds\",\n description:\n \"Used electronics, smart gadgets, wearable tech, calculators, tablet stands, e-waste upcycles.\",\n },\n {\n id: \"other-technology-innovation-items\",\n name: \"Other technology or innovation-related items\",\n description: \"Anything not covered but clearly tech-driven.\",\n },\n ],\n },\n ],\n },\n];\n","/* eslint-disable sort-keys */\nimport { Category } from \"src/types\";\n\nexport const foodAndBeverages: Category[] = [\n {\n id: \"food-beverages\",\n name: \"Food & Beverages\",\n description:\n \"Fresh produce, drinks, sweet and savoury street food, ready-to-eat meals, and packaged goods.\",\n subcategories: [\n {\n id: \"fresh-food-groceries\",\n name: \"Fresh Food & Groceries\",\n items: [\n {\n id: \"fruits-vegetables\",\n name: \"Fruits & Vegetables\",\n description:\n \"Fresh seasonal fruit, organic vegetables, specialty produce, berries, tropical fruit, heritage varieties.\",\n },\n {\n id: \"meat-seafood\",\n name: \"Meat & Seafood\",\n description:\n \"Butcher cuts, fresh fish, smoked meats, sausages, seafood platters, artisanal jerky.\",\n },\n {\n id: \"dairy-eggs\",\n name: \"Dairy & Eggs\",\n description:\n \"Farm eggs, handmade cheeses, yoghurt, fresh milk, goat’s milk products.\",\n },\n {\n id: \"bakery-pastries\",\n name: \"Bakery & Pastries\",\n description:\n \"Freshly baked bread, sourdough, bagels, croissants, focaccia, traditional baked goods.\",\n },\n {\n id: \"spices-condiments\",\n name: \"Spices & Condiments\",\n description:\n \"Dried herbs, spice blends, specialty salts, hot sauces, infused oils, chutneys.\",\n },\n {\n id: \"packaged-specialty-foods\",\n name: \"Packaged & Specialty Foods\",\n description:\n \"Honey, jams, preserves, pickles, nut butters, sauces, pre-packaged snacks.\",\n },\n {\n id: \"other-fresh-food-items\",\n name: \"Other fresh food items\",\n description:\n \"Items that don’t fit above, e.g. fermented foods, plant-based substitutes.\",\n },\n ],\n },\n {\n id: \"beverages-specialty-drinks\",\n name: \"Beverages & Specialty Drinks\",\n items: [\n {\n id: \"fresh-juices-smoothies\",\n name: \"Fresh Juices & Smoothies\",\n description:\n \"Cold-pressed juices, detox blends, fruit smoothies, tropical mixes.\",\n },\n {\n id: \"coffee-teas\",\n name: \"Coffee & Teas\",\n description:\n \"Espresso, pour-over coffee, herbal teas, matcha, bubble tea, locally blended tea.\",\n },\n {\n id: \"dairy-plant-based-drinks\",\n name: \"Dairy & Plant-Based Drinks\",\n description:\n \"Milkshakes, lassis, almond/oat milk drinks, coconut water.\",\n },\n {\n id: \"alcoholic-beverages\",\n name: \"Alcoholic Beverages\",\n description:\n \"Local wines, craft beer, mead, cider, infused spirits, cocktail kits.\",\n },\n {\n id: \"other-beverages\",\n name: \"Other beverages\",\n description:\n \"Kombucha, kefir, energy drinks, non-alcoholic wines or beers.\",\n },\n ],\n },\n {\n id: \"savoury-prepared-foods-street-food\",\n name: \"Savoury Prepared Foods & Street Food\",\n items: [\n {\n id: \"local-specialties\",\n name: \"Local Specialties\",\n description:\n \"Meat pies, hangi, seafood chowder, fry bread, traditional NZ dishes.\",\n },\n {\n id: \"asian-cuisine\",\n name: \"Asian Cuisine\",\n description:\n \"Sushi, bao buns, dumplings, ramen, satay, spring rolls, fried rice.\",\n },\n {\n id: \"mediterranean-cuisine\",\n name: \"Mediterranean Cuisine\",\n description: \"Falafel, hummus wraps, souvlaki, Greek salad, dolma.\",\n },\n {\n id: \"italian-delights\",\n name: \"Italian Delights\",\n description: \"Pizza, calzone, focaccia, fresh pasta, arancini.\",\n },\n {\n id: \"bbq-grilled-foods\",\n name: \"BBQ & Grilled Foods\",\n description: \"Kebabs, grilled chicken, ribs, burgers, sausages.\",\n },\n {\n id: \"savoury-crepes-pancakes\",\n name: \"Savoury Crepes & Pancakes\",\n description: \"Filled savoury crepes, mini savoury pancakes.\",\n },\n {\n id: \"savoury-baked-goods-pastries\",\n name: \"Savoury Baked Goods & Pastries\",\n description:\n \"Quiches, savoury muffins, filled savoury pastries, empanadas.\",\n },\n {\n id: \"vegan-vegetarian-dishes\",\n name: \"Vegan & Vegetarian Dishes\",\n description:\n \"Buddha bowls, plant-based burgers, salads, vegan sushi.\",\n },\n {\n id: \"other-savoury-foods\",\n name: \"Other Savoury Foods\",\n description: \"Fusion dishes, mixed platters, savoury meal kits.\",\n },\n ],\n },\n {\n id: \"sweet-prepared-foods\",\n name: \"Sweet Prepared Foods\",\n items: [\n {\n id: \"sweet-crepes-pancakes-fried-treats\",\n name: \"Sweet Crepes, Pancakes & Fried Treats\",\n description: \"Crepes, waffles, mini pancakes, muffins, doughnuts.\",\n },\n {\n id: \"sweet-baked-goods-desserts\",\n name: \"Sweet Baked Goods & Desserts\",\n description: \"Cakes, pastries, slices, trifles, layered desserts.\",\n },\n {\n id: \"fruit-based-snacks\",\n name: \"Fruit-Based Snacks\",\n description:\n \"Fruit skewers, dried fruit packs, chocolate-dipped fruit.\",\n },\n {\n id: \"candy-confectionery\",\n name: \"Candy & Confectionery\",\n description: \"Fudge, handmade candies, toffee, nougat, brittle.\",\n },\n {\n id: \"other-sweet-foods\",\n name: \"Other Sweet Foods\",\n description: \"Fusion desserts, sweet platters, sweet meal kits.\",\n },\n ],\n },\n ],\n },\n];\n","/* eslint-disable sort-keys */\nimport { Category } from \"src/types\";\n\nexport const handmadeAndLocalProducts: Category[] = [\n {\n id: \"handmade-local-products\",\n name: \"Handmade & Local Products\",\n description: \"Unique, handmade, or locally produced artisan goods.\",\n subcategories: [\n {\n id: \"home-living\",\n name: \"Home & Living\",\n items: [\n {\n id: \"ceramics-pottery\",\n name: \"Ceramics & Pottery\",\n description:\n \"Handmade mugs, vases, bowls, decorative plates, plant pots.\",\n },\n {\n id: \"candles-home-scents\",\n name: \"Candles & Home Scents\",\n description:\n \"Soy candles, beeswax candles, wax melts, incense sticks, room sprays and herbal sachets.\",\n },\n {\n id: \"botanical-crafts\",\n name: \"Botanical Crafts\",\n description: \"Dried-flower décor and pressed-flower crafts\",\n },\n {\n id: \"textiles-embroidery\",\n name: \"Textiles & Embroidery\",\n description:\n \"Handsewn items, embroidered napkins, home linens, aprons, fabric gift wraps, handmade fabric bags, quilted goods, personalized textile gifts.\",\n },\n {\n id: \"woodcraft-metalcraft\",\n name: \"Woodcraft & Metalcraft\",\n description:\n \"Wooden boards, handmade frames, sculptures, metal signs, furniture.\",\n },\n {\n id: \"handmade-soaps-natural-body-goods\",\n name: \"Handmade Soaps & Natural Body Goods\",\n description: \"Handmade soaps, balms, oils, bath items\",\n },\n {\n id: \"seasonal-festive-crafts\",\n name: \"Seasonal & Festive Crafts\",\n description: \"Christmas, Easter and seasonal handmade decor\",\n },\n {\n id: \"other-home-living-products\",\n name: \"Other home & living products\",\n description:\n \"Items that don't fit above but serve home-related purposes.\",\n },\n ],\n },\n {\n id: \"art-personal-expression\",\n name: \"Art & Personal Expression\",\n items: [\n {\n id: \"paintings-illustrations\",\n name: \"Paintings & Illustrations\",\n description:\n \"Paintings, canvas art, hand-drawn illustrations, digital prints, graphic art and calligraphy pieces.\",\n },\n {\n id: \"sculptures-carvings\",\n name: \"Sculptures & Carvings \",\n description:\n \"Sculptures made from wood, stone, metal, clay or resin, carved decorative pieces and artistic 3D works.\",\n },\n {\n id: \"creative-handmade-alternative-art\",\n name: \"Creative Handmade & Alternative Art\",\n description:\n \"Handmade textile décor, fabric ornaments, mixed-media art, creative craft pieces and modern handmade artworks.\",\n },\n {\n id: \"handmade-mini-figures-decor\",\n name: \"Handmade Mini Figures & Décor\",\n description:\n \"Small handmade figures, tiny houses and crafted mini decorative items.\",\n },\n {\n id: \"other-artistic-expressive-products\",\n name: \"Other Artistic or Expressive Products\",\n description:\n \"Custom artworks, specialty handmade décor, unique crafts.\",\n },\n ],\n },\n {\n id: \"handmade-jewellery-accessories-cultural-crafts\",\n name: \"Handmade Jewellery, Accessories & Cultural Crafts\",\n items: [\n {\n id: \"jewellery-handmade-items-nz-traditional-materials\",\n name: \"Jewellery & Handmade Items from NZ Traditional Materials\",\n description:\n \"Handmade jewellery and decorative or functional items crafted from pounamu, bone, wood and other traditional New Zealand materials.\",\n },\n {\n id: \"maori-pasifika-cultural-crafts-clothing\",\n name: \"Māori & Pasifika Cultural Crafts and Clothing\",\n description:\n \"Culturally inspired handmade items, accessories and garments featuring Māori or Pasifika motifs, traditional patterns and regional craftsmanship.\",\n },\n {\n id: \"traditional-handmade-clothing-jewellery-crafts-global-cultures\",\n name: \"Traditional Handmade Clothing, Jewellery & Crafts from Global Cultures\",\n description:\n \"Handcrafted clothing, jewellery and cultural items from diverse traditions — including Asian, African, European, Middle Eastern, Indian, Chinese, Japanese, Pacific, and other culturally significant handmade pieces.\",\n },\n {\n id: \"other-handmade-cultural-items\",\n name: \"Other Handmade Cultural Items\",\n description:\n \"Unique or culturally inspired handmade pieces not specifically covered in the categories above.\",\n },\n ],\n },\n {\n id: \"gift-ideas-accessories\",\n name: \"Gift Ideas & Accessories\",\n items: [\n {\n id: \"handmade-pens-keychains-fridge-magnets\",\n name: \"Handmade Pens, Keychains and Fridge Magnets\",\n description: null,\n },\n {\n id: \"gift-packaging-wrapping-accessories\",\n name: \"Gift Packaging & Wrapping Accessories\",\n description: null,\n },\n {\n id: \"handmade-crochet-knitting-fibre-crafts\",\n name: \"Handmade Crochet, Knitting & Fibre Crafts\",\n description:\n \"Handmade crochet and knitted items, fabric-based crafts, small decorative pieces, creative fibre artworks and unique handcrafted accessories.\",\n },\n {\n id: \"handmade-toys-mini-play-items\",\n name: \"Handmade Toys & Mini Play Items\",\n description:\n \"small handmade toys, soft toys, wooden miniatures, crochet or felt play pieces\",\n },\n {\n id: \"other-small-handmade-gifts-accessories\",\n name: \"Other small handmade gifts or accessories\",\n description: \"Compact creative items made to surprise or delight.\",\n },\n ],\n },\n ],\n },\n];\n","/* eslint-disable sort-keys */\nimport { Category } from \"src/types\";\n\nexport const healthAndWellness: Category[] = [\n {\n id: \"health-wellness\",\n name: \"Health & Wellness\",\n description:\n \"Natural products and services that promote wellbeing, body care, and holistic health.\",\n subcategories: [\n {\n id: \"body-skincare\",\n name: \"Body & Skincare\",\n items: [\n {\n id: \"skincare-body-products\",\n name: \"Skincare & Body Products\",\n description:\n \"Soaps, creams, lip balms, bath salts, bath bombs, body oils, natural deodorants.\",\n },\n {\n id: \"other-body-care-items\",\n name: \"Other body care items\",\n description:\n \"Additional handmade or eco-conscious personal care goods.\",\n },\n ],\n },\n {\n id: \"aromatherapy-herbal-wellness\",\n name: \"Aromatherapy & Herbal Wellness\",\n items: [\n {\n id: \"aromatherapy-herbal-remedies\",\n name: \"Aromatherapy & Herbal Remedies\",\n description:\n \"Essential oils, herbal balms, massage oils, salves, natural teas, rollers.\",\n },\n {\n id: \"other-herbal-aroma-products\",\n name: \"Other herbal or aroma-based products\",\n description: \"Wellness blends, herb sachets, custom infusions.\",\n },\n ],\n },\n {\n id: \"wellness-tools-accessories\",\n name: \"Wellness Tools & Accessories\",\n items: [\n {\n id: \"wellness-accessories\",\n name: \"Wellness Accessories\",\n description:\n \"Yoga mats, meditation cushions, eye pillows, incense, smudging sticks, eco water bottles, wellness journals.\",\n },\n {\n id: \"spiritual-tools-crystals\",\n name: \"Spiritual Tools & Crystals\",\n description:\n \"Healing crystals, gemstone bracelets, pendulums, sprays, spiritual kits, altar decor.\",\n },\n {\n id: \"other-wellness-spiritual-items\",\n name: \"Other wellness or spiritual items\",\n description: \"Items that aid relaxation, focus, or inner work.\",\n },\n ],\n },\n ],\n },\n];\n","/* eslint-disable sort-keys */\nimport { Category } from \"src/types\";\n\nexport const homeGardenHousehold: Category[] = [\n {\n id: \"home-garden-household-goods\",\n name: \"Home, Garden & Household Goods\",\n description:\n \"Functional, decorative, and eco-conscious products designed for everyday use indoors and outdoors.\",\n subcategories: [\n {\n id: \"home-decor-living\",\n name: \"Home Decor & Living\",\n items: [\n {\n id: \"home-decor\",\n name: \"Home Decor\",\n description:\n \"Cushions, wall art, table runners, vases, trays, mirrors, handmade centerpieces.\",\n },\n {\n id: \"kitchenware-dining\",\n name: \"Kitchenware & Dining\",\n description:\n \"Mugs, bowls, cutting boards, utensils, jars, coasters, kitchen textiles.\",\n },\n {\n id: \"mini-figures-decor\",\n name: \"Mini Figures & Décor\",\n description:\n \"handmade or non-handmade small figures, tiny houses and miniature decorative items.\",\n },\n {\n id: \"other-indoor-home-items\",\n name: \"Other indoor home items\",\n description:\n \"Any decorative or practical household items not listed above.\",\n },\n ],\n },\n {\n id: \"cleaning-eco-essentials\",\n name: \"Cleaning & Eco Essentials\",\n items: [\n {\n id: \"cleaning-eco-supplies\",\n name: \"Cleaning & Eco Supplies\",\n description:\n \"Beeswax wraps, reusable cloths, brushes, natural soaps, detergent bars, eco sponges.\",\n },\n {\n id: \"other-eco-cleaning-items\",\n name: \"Other eco or cleaning items\",\n description: \"Environmentally friendly goods not listed above.\",\n },\n ],\n },\n {\n id: \"garden-outdoor-living\",\n name: \"Garden & Outdoor Living\",\n items: [\n {\n id: \"plants-botanical-decor\",\n name: \"Plants & Botanical Decor\",\n description:\n \"Potted herbs, succulents, dried flowers, terrariums, plant-based ornaments.\",\n },\n {\n id: \"fresh-flowers-botanical-bouquets\",\n name: \"Fresh Flowers & Botanical Bouquets\",\n description:\n \"Cut flowers, seasonal bouquets, simple floral arrangements, native flower selections, and other fresh botanical items.\",\n },\n {\n id: \"natural-decor-nature-inspired-elements\",\n name: \"Natural Decor & Nature-Inspired Elements\",\n description:\n \"Seashell décor, driftwood pieces, sand ornaments, natural wood accents, stone or mineral decorations, and other nature-based decorative items.\",\n },\n {\n id: \"garden-tools-outdoor-items\",\n name: \"Garden Tools & Outdoor Items\",\n description:\n \"Plant markers, garden signs, stakes, small tools, wind chimes, gifts.\",\n },\n {\n id: \"other-outdoor-garden-products\",\n name: \"Other outdoor or garden products\",\n description: \"Functional or decorative items for outside use.\",\n },\n ],\n },\n ],\n },\n];\n","/* eslint-disable sort-keys */\nimport { Category } from \"src/types\";\n\nexport const petProductsAndAnimalGoods: Category[] = [\n {\n id: \"pet-products-animal-goods\",\n name: \"Pet Products & Animal Goods\",\n description: \"Items for pets, pet lovers, or animal-themed market stalls.\",\n subcategories: [\n {\n id: \"products-for-pets\",\n name: \"Products for Pets\",\n items: [\n {\n id: \"pet-food-treats\",\n name: \"Pet Food & Treats\",\n description:\n \"Homemade dog biscuits, cat snacks, natural chews, pet-safe cakes, training treats.\",\n },\n {\n id: \"apparel-toys-accessories\",\n name: \"Apparel, Toys & Accessories\",\n description:\n \"Leashes, collars, harnesses, toys, grooming tools, beds, travel gear, jumpers, bandanas.\",\n },\n {\n id: \"other-pet-products\",\n name: \"Other pet products\",\n description: \"Any pet-related items not listed above.\",\n },\n ],\n },\n {\n id: \"small-pets-birds-exotic-animals\",\n name: \"Small Pets, Birds & Exotic Animals\",\n items: [\n {\n id: \"products-small-pets-birds-exotics\",\n name: \"Products for Small Pets, Birds & Exotics\",\n description:\n \"Toys, enclosures, perches, feeding bowls, bedding, habitat decor, transport gear, and care items for birds, rabbits, hamsters, reptiles, turtles, aquarium pets, and other exotic species.\",\n },\n {\n id: \"other-small-exotic-animal-items\",\n name: \"Other small or exotic animal items\",\n description: \"Unusual accessories for non-mainstream pets.\",\n },\n ],\n },\n {\n id: \"farm-working-animals\",\n name: \"Farm & Working Animals\",\n items: [\n {\n id: \"goods-for-farm-working-animals\",\n name: \"Goods for Farm & Working Animals\",\n description:\n \"Treats, care products, equipment, signage and accessories for chickens, goats, alpacas, horses, and other livestock.\",\n },\n {\n id: \"other-farm-animal-items\",\n name: \"Other farm animal-related items\",\n description:\n \"Rural, barnyard, or utility-specific gear not listed above.\",\n },\n ],\n },\n {\n id: \"animal-themed-gifts-custom-items\",\n name: \"Animal-Themed Gifts & Custom Items\",\n items: [\n {\n id: \"pet-art-custom-gifts\",\n name: \"Pet Art & Custom Gifts\",\n description:\n \"Pet portraits, name tags, personalized bowls, breed-specific items, pet-themed home decor and stationery.\",\n },\n {\n id: \"other-animal-themed-gifts\",\n name: \"Other animal-themed gifts\",\n description:\n \"Artistic or sentimental items made for animal lovers.\",\n },\n ],\n },\n ],\n },\n];\n","import { Category } from \"src/types\";\n\n/* eslint-disable sort-keys */\nexport const serviceAndExperience: Category[] = [\n {\n id: \"services-experiences\",\n name: \"Services & Experiences\",\n description:\n \"On-site offerings that provide entertainment, personal care, learning, or interactive activities beyond products.\",\n subcategories: [\n {\n id: \"personal-care-body-art\",\n name: \"Personal Care & Body Art\",\n items: [\n {\n id: \"nails-handcare\",\n name: \"Nails & Handcare\",\n description:\n \"Nail painting, decoration, quick manicures, temporary nail extensions.\",\n },\n {\n id: \"hair-styling-braiding\",\n name: \"Hair Styling & Braiding\",\n description:\n \"Hair braiding, plaits, child-friendly festival hairstyles.\",\n },\n {\n id: \"face-body-decoration\",\n name: \"Face & Body Decoration\",\n description:\n \"Henna, glitter tattoos, face painting, light makeup, eyelash styling, professional tattooing (where permitted).\",\n },\n {\n id: \"other-beauty-grooming-services\",\n name: \"Other beauty or grooming services\",\n description: \"Small-scale personal care options offered on-site.\",\n },\n ],\n },\n {\n id: \"practical-wellness-services\",\n name: \"Practical & Wellness Services\",\n items: [\n {\n id: \"mobile-practical-services\",\n name: \"Mobile & Practical Services\",\n description:\n \"Shoe repair, phone repairs, knife sharpening, key cutting, battery replacement, bike repairs, engraving.\",\n },\n {\n id: \"wellness-alternative-therapies\",\n name: \"Wellness & Alternative Therapies\",\n description:\n \"Massage, aromatherapy, reflexology, energy healing (e.g. Reiki), natural consultations.\",\n },\n {\n id: \"other-service-based-offerings\",\n name: \"Other service-based offerings\",\n description: \"Wellness or functional services not listed above.\",\n },\n ],\n },\n {\n id: \"creative-educational-experiences\",\n name: \"Creative & Educational Experiences\",\n items: [\n {\n id: \"creative-workshops-maker-services\",\n name: \"Creative Workshops & Maker Services\",\n description:\n \"Candle making, pottery, jewelry crafting, soap or balm workshops, calligraphy, seasonal crafts.\",\n },\n {\n id: \"education-awareness-stalls\",\n name: \"Education & Awareness Stalls\",\n description:\n \"Eco awareness, cultural storytelling, local history, first aid demos, health booths, sustainability education, kids’ science displays.\",\n },\n {\n id: \"other-creative-educational-services\",\n name: \"Other creative or educational services\",\n description:\n \"Informal learning, demonstrations, or community-focused sessions.\",\n },\n ],\n },\n {\n id: \"kids-activities-family-fun\",\n name: \"Kids’ Activities & Family Fun\",\n items: [\n {\n id: \"kids-activities-fun\",\n name: \"Kids’ Activities & Fun\",\n description:\n \"Face painting, glitter tattoos, pony rides, bouncy castles, small amusement rides, balloon twisting, animal petting zones.\",\n },\n {\n id: \"other-family-oriented-activities\",\n name: \"Other family-oriented activities\",\n description:\n \"On-site entertainment that engages children or family groups.\",\n },\n ],\n },\n ],\n },\n];\n","import { Category } from \"src/types\";\n\n/* eslint-disable sort-keys */\nexport const toysChildren: Category[] = [\n {\n id: \"toys-childrens-items\",\n name: \"Toys & Children’s Items\",\n description: \"Products and services made for or inspired by children.\",\n subcategories: [\n {\n id: \"toys-playthings\",\n name: \"Toys & Playthings\",\n items: [\n {\n id: \"toys-classic-electric-character\",\n name: \"Toys – Classic, Electric & Character-Based\",\n description:\n \"Building blocks, dolls, puzzles, plush animals, toy vehicles, remote-control toys, light-up gadgets, character figurines, themed playsets.\",\n },\n {\n id: \"handmade-toys-crafty-playthings\",\n name: \"Handmade Toys & Crafty Playthings\",\n description:\n \"Wooden puzzles, crocheted animals, felt toys, fabric dolls, DIY kits, nature-inspired games, sensory toys.\",\n },\n {\n id: \"other-play-items\",\n name: \"Other play items\",\n description:\n \"Toys not listed above, including limited-edition or hybrid items.\",\n },\n ],\n },\n {\n id: \"educational-developmental\",\n name: \"Educational & Developmental\",\n items: [\n {\n id: \"educational-developmental-tools\",\n name: \"Educational & Developmental Tools\",\n description:\n \"STEM kits, Montessori toys, storybooks, picture books, flashcards, early learning games, language tools.\",\n },\n {\n id: \"other-educational-experience-based-items\",\n name: \"Other educational or experience-based items\",\n description:\n \"Creative experiences or learning aids not listed above.\",\n },\n ],\n },\n {\n id: \"baby-kidswear-accessories\",\n name: \"Baby & Kidswear + Accessories\",\n items: [\n {\n id: \"baby-kidswear-accessories\",\n name: \"Baby & Kidswear + Accessories\",\n description:\n \"Handmade baby clothes, toddler outfits, bibs, hats, headbands, bags, pacifier clips, soft shoes.\",\n },\n {\n id: \"baby-developmental-soft-toys\",\n name: \"Baby Developmental Soft Toys\",\n description:\n \"Sensory toys, rattles, fabric books, teething items, high-contrast cards, and early-skill. Montessori materials designed to support infants’ cognitive and motor development.\",\n },\n {\n id: \"other-childrens-clothing-accessories\",\n name: \"Other children’s clothing or accessories\",\n description: \"Unique fashion or functional pieces for kids.\",\n },\n ],\n },\n ],\n },\n];\n","/* eslint-disable sort-keys */\nimport { Category } from \"src/types\";\n\nexport const vintageAndAntique: Category[] = [\n {\n id: \"vintage-antique\",\n name: \"Vintage & Antique\",\n description:\n \"Unique, historic, or nostalgic items with collectible or decorative value.\",\n subcategories: [\n {\n id: \"vintage-antique-clothing-accessories\",\n name: \"Vintage & Antique Clothing & Accessories\",\n items: [\n {\n id: \"clothing-vintage-fashion\",\n name: \"Clothing and wearable items from past eras\",\n description:\n \"Vintage dresses, jackets, hats, gloves, belts, bags, shoes, jewellery.\",\n },\n {\n id: \"other-clothing-accessory-items\",\n name: \"Other clothing-related items\",\n description:\n \"Hair clips, brooches, pins, scarf rings, small fashion accessories.\",\n },\n ],\n },\n {\n id: \"collectibles-memorabilia\",\n name: \"Collectibles & Memorabilia\",\n items: [\n {\n id: \"small-collectible-items\",\n name: \"Small collectible items with historical or nostalgic significance\",\n description:\n \"Coins, stamps, toys, postcards, comics, sports cards, vintage packaging.\",\n },\n {\n id: \"other-collectible-items\",\n name: \"Other collectible items\",\n description:\n \"Rare small objects, miniature figurines, special-edition items.\",\n },\n ],\n },\n {\n id: \"homewares-decor-curiosities\",\n name: \"Homewares, Decor & Curiosities\",\n items: [\n {\n id: \"decorative-functional-vintage-items\",\n name: \"Decorative or functional items with a vintage or antique aesthetic\",\n description:\n \"Teacups, plates, vases, mirrors, clocks, furniture, old tools, lanterns, typewriters, curiosities.\",\n },\n {\n id: \"handmade-vintage-art\",\n name: \"Handmade vintage art\",\n description: \"Paintings, sculptures, crafted pieces.\",\n },\n {\n id: \"other-home-decor-items\",\n name: \"Other home or decor items\",\n description:\n \"Decorative pieces not listed above, unique household objects.\",\n },\n ],\n },\n {\n id: \"vintage-media-printed-nostalgia\",\n name: \"Vintage Media & Printed Nostalgia\",\n items: [\n {\n id: \"older-media-printed-works\",\n name: \"Older media formats and printed works\",\n description:\n \"Vinyl records, cassette tapes, CDs, DVDs, books, magazines, board games, posters.\",\n },\n {\n id: \"other-media-printed-items\",\n name: \"Other media or printed items\",\n description: \"Maps, manuals, leaflets, out-of-print materials.\",\n },\n ],\n },\n {\n id: \"other-vintage-antique-items\",\n name: \"Other Vintage & Antique Items\",\n items: [\n {\n id: \"any-vintage-antique-items-not-listed\",\n name: \"Any vintage or antique items not listed above\",\n description: \"Unique, rare or uncategorised pieces.\",\n },\n ],\n },\n ],\n },\n];\n","import { Category } from \"../../types/global\";\n\nimport { clothingAndFashion } from \"./clothingAndFashion\";\nimport { electronicsAndTechnology } from \"./electronicsAndTechnology\";\nimport { foodAndBeverages } from \"./foodAndBeverages\";\nimport { handmadeAndLocalProducts } from \"./handmadeAndLocalProducts\";\nimport { healthAndWellness } from \"./healthAndWellness\";\nimport { homeGardenHousehold } from \"./homeGardenHousehold\";\nimport { petProductsAndAnimalGoods } from \"./petProductsAndAnimalGoods\";\nimport { serviceAndExperience } from \"./serviceAndExperience\";\nimport { toysChildren } from \"./toysChildren\";\nimport { vintageAndAntique } from \"./vintageAndAntique\";\n\nexport const categoryColors: Record<string, string> = {\n \"clothing-fashion\": \"#9D4EDD\",\n \"electronics-technology\": \"#3AF3FF\",\n \"food-beverages\": \"#FF0D1F\",\n \"handmade-local-products\": \"#EE7E54\",\n \"health-wellness\": \"#E23794\",\n \"home-garden-household-goods\": \"#067325\",\n \"pet-products-animal-goods\": \"#68E788\",\n \"services-experiences\": \"#2E16A5\",\n \"toys-childrens-items\": \"#FFF966\",\n \"vintage-antique\": \"#8D6748\",\n};\n\nconst assignColorToCategories = (categories: Category[]): Category[] => {\n const result = categories.map((category) => ({\n ...category,\n color: categoryColors[category.id],\n }));\n return result;\n};\n\nexport const availableCategories = assignColorToCategories([\n ...foodAndBeverages,\n ...handmadeAndLocalProducts,\n ...clothingAndFashion,\n ...homeGardenHousehold,\n ...toysChildren,\n ...healthAndWellness,\n ...electronicsAndTechnology,\n ...vintageAndAntique,\n ...petProductsAndAnimalGoods,\n ...serviceAndExperience,\n]);\n","import { FormField } from \"../types/global\";\n\nconst socialMedia = [\n {\n key: \"facebook\",\n name: \"Facebook\",\n placeholder: \"https://www.facebook.com/your-page\",\n },\n {\n key: \"instagram\",\n name: \"Instagram\",\n placeholder: \"https://www.instagram.com/your-profile\",\n },\n {\n key: \"tiktok\",\n name: \"TikTok\",\n placeholder: \"https://www.tiktok.com/@your-profile\",\n },\n {\n key: \"twitter\",\n name: \"Twitter\",\n placeholder: \"https://twitter.com/your-profile\",\n },\n {\n key: \"website\",\n name: \"Website\",\n placeholder: \"https://www.yourwebsite.com\",\n },\n {\n key: \"youtube\",\n name: \"YouTube\",\n placeholder: \"https://www.youtube.com/channel/your-channel\",\n },\n];\nexport const socialMediaFields: FormField[] = socialMedia.map((link) => ({\n helperText: link.name,\n keyboardType: \"url\",\n name: link.key,\n placeholder: link.placeholder,\n}));\n","import { FormField } from \"src/types\";\n\nimport { emailField } from \"./global\";\n\nexport const testersFields: FormField[] = [\n {\n helperText: \"Enter your business name *\",\n keyboardType: \"default\",\n name: \"businessName\",\n placeholder: \"Business Name *\",\n },\n {\n helperText: \"Enter first name *\",\n keyboardType: \"default\",\n name: \"firstName\",\n placeholder: \"First Name *\",\n },\n {\n helperText: \"Enter last name *\",\n keyboardType: \"default\",\n name: \"lastName\",\n placeholder: \"Last Name *\",\n },\n {\n ...emailField,\n helperText: \"Enter email address *\",\n },\n {\n helperText: \"Enter your mobile phone number *\",\n keyboardType: \"phone-pad\",\n name: \"mobilePhone\",\n placeholder: \"Mobile Phone Number *\",\n },\n];\n","import { FormField } from \"src/types\";\n\nimport { emailField } from \"./global\";\n\nexport const contactUsFields: FormField[] = [\n {\n helperText: \"Enter first name *\",\n keyboardType: \"default\",\n name: \"firstName\",\n placeholder: \"First Name\",\n },\n {\n helperText: \"Enter last name *\",\n keyboardType: \"default\",\n name: \"lastName\",\n placeholder: \"Last Name\",\n },\n {\n ...emailField,\n helperText: \"Enter email address *\",\n },\n {\n helperText: \"Enter your message *\",\n isTextArea: true,\n keyboardType: \"default\",\n name: \"message\",\n placeholder: \"Message\",\n },\n];\n","import { FormField } from \"../types/global\";\n\nexport const partnerBasicInfoFields: FormField[] = [\n {\n helperText: \"Business Name *\",\n name: \"name\",\n placeholder: \"Business Name\",\n },\n {\n helperText:\n \"NZBN number (required – ClueMart only accepts events with valid NZBN number) *\",\n keyboardType: \"number-pad\",\n name: \"nzbn\",\n placeholder: \"NZBN number\",\n },\n {\n helperText: \"Description *\",\n isTextArea: true,\n name: \"description\",\n placeholder: \"Description\",\n },\n];\n","import { useMutation } from \"@apollo/client\";\n\nimport { EnumResourceType } from \"src/enums\";\nimport {\n ADMIN_UPDATE_RESOURCE_TYPE_MUTATION,\n ADMIN_UPDATE_TESTER_MUTATION,\n} from \"src/graphql/mutations/admin\";\nimport { GET_EVENT } from \"src/graphql/queries/event\";\nimport { GET_TESTER } from \"src/graphql/queries/tester\";\nimport { GET_VENDOR } from \"src/graphql/queries/vendor\";\n\nexport const useAdminUpdateResourceType = () => {\n const [adminUpdateResourceType, { loading, error }] = useMutation<{\n adminUpdateResourceType: {\n resourceId: string;\n resourceType: EnumResourceType;\n };\n }>(ADMIN_UPDATE_RESOURCE_TYPE_MUTATION, {\n awaitRefetchQueries: true,\n refetchQueries: (mutationResult) => {\n // Extract resourceId and resourceType from the mutation response\n const adminUpdateResourceType =\n mutationResult?.data?.adminUpdateResourceType;\n const resourceId = adminUpdateResourceType?.resourceId;\n const resourceType = adminUpdateResourceType?.resourceType;\n\n if (!resourceId) return [];\n\n const detectQuery =\n resourceType === EnumResourceType.EVENT ? GET_EVENT : GET_VENDOR;\n\n return [\n {\n query: detectQuery,\n variables: { _id: resourceId },\n },\n ];\n },\n });\n\n return {\n adminUpdateResourceType,\n error,\n loading,\n };\n};\n\nexport const useAdminUpdateTester = () => {\n const [adminUpdateTester, { loading, error }] = useMutation<{\n adminUpdateTester: {\n _id: string;\n approved: boolean;\n };\n }>(ADMIN_UPDATE_TESTER_MUTATION, {\n awaitRefetchQueries: true,\n refetchQueries: (mutationResult) => {\n // Extract testerId from the mutation response\n const adminUpdateTester = mutationResult?.data?.adminUpdateTester;\n const testerId = adminUpdateTester?._id;\n\n return [\n {\n query: GET_TESTER,\n variables: { _id: testerId },\n },\n ];\n },\n });\n return {\n adminUpdateTester,\n error,\n loading,\n };\n};\n","import { gql } from \"@apollo/client\";\n\nexport const ADMIN_UPDATE_RESOURCE_TYPE_MUTATION = gql`\n mutation adminUpdateResourceType($input: AdminUpdateResourceInputType!) {\n adminUpdateResourceType(input: $input) {\n active\n resourceId\n resourceType\n }\n }\n`;\n\nexport const ADMIN_UPDATE_TESTER_MUTATION = gql`\n mutation adminUpdateTester($input: AdminUpdateTesterInputType!) {\n adminUpdateTester(input: $input) {\n _id\n approved\n }\n }\n`;\n","import { gql } from \"@apollo/client\";\n\nimport {\n CONTACT_DETAILS_FIELDS_FRAGMENT,\n EVENT_DATETIME_FIELDS_FRAGMENT,\n OWNER_FIELDS_FRAGMENT,\n ASSOCIATES_FIELDS_FRAGMENT,\n POSTER_USAGE_FIELDS_FRAGMENT,\n RELATION_DATES_FRAGMENT,\n RESOURCE_IMAGE_FIELDS_FRAGMENT,\n SOCIAL_MEDIA_FIELDS_FRAGMENT,\n STALL_TYPE_FIELDS_FRAGMENT,\n TERMS_AGREEMENT_FIELDS_FRAGMENT,\n LOCATION_FIELDS_FRAGMENT,\n} from \"./global\";\n\nexport const EVENT_INFO = gql`\n fragment EventInfoFields on EventInfoType {\n _id\n applicationDeadlineHours\n dateTime {\n dateStatus\n endDate\n endTime\n stallTypes {\n ...StallTypeFields\n }\n startDate\n startTime\n }\n eventId\n packInTime\n paymentDueHours\n paymentInfo {\n accountHolderName\n accountNumber\n link\n paymentMethod\n }\n requirements {\n category\n label\n value\n }\n }\n ${STALL_TYPE_FIELDS_FRAGMENT}\n`;\n\nexport const EVENT = gql`\n fragment EventFields on EventType {\n _id\n active\n associates {\n ...AssociatesFields\n }\n adIds\n cover {\n ...ResourceImageFields\n }\n createdAt\n contactDetails {\n ...ContactDetailsFields\n }\n dateTime {\n ...EventDateTimeFields\n }\n description\n deletedAt\n images {\n ...ResourceImageFields\n }\n eventType\n location {\n ...LocationFields\n }\n logo {\n ...ResourceImageFields\n }\n eventInfoId\n name\n nzbn\n owner {\n ...OwnerFields\n }\n promoCodes\n provider\n posterUsage {\n ...PosterUsageFields\n }\n region\n relations {\n relationId\n relationDates {\n ...RelationDates\n }\n }\n socialMedia {\n ...SocialMediaFields\n }\n rainOrShine\n tags\n termsAgreement {\n ...TermsAgreementFields\n }\n updatedAt\n }\n ${EVENT_DATETIME_FIELDS_FRAGMENT}\n ${LOCATION_FIELDS_FRAGMENT}\n ${OWNER_FIELDS_FRAGMENT}\n ${RESOURCE_IMAGE_FIELDS_FRAGMENT}\n ${SOCIAL_MEDIA_FIELDS_FRAGMENT}\n ${POSTER_USAGE_FIELDS_FRAGMENT}\n ${ASSOCIATES_FIELDS_FRAGMENT}\n ${CONTACT_DETAILS_FIELDS_FRAGMENT}\n ${TERMS_AGREEMENT_FIELDS_FRAGMENT}\n ${RELATION_DATES_FRAGMENT}\n`;\n\nexport const GET_EVENTS = gql`\n query getEvents {\n events {\n ...EventFields\n }\n }\n ${EVENT}\n`;\n\nexport const GET_EVENT = gql`\n query getEvent($_id: ID!) {\n event(_id: $_id) {\n ...EventFields\n }\n }\n ${EVENT}\n`;\n\nexport const GET_EVENTS_BY_REGION = gql`\n query getEventsByRegion($region: String!) {\n eventsByRegion(region: $region) {\n ...EventFields\n }\n }\n ${EVENT}\n`;\n\nexport const SEARCH_EVENTS = gql`\n query searchEvents($search: String!, $region: String) {\n eventsSearch(search: $search, region: $region) {\n ...EventFields\n }\n }\n ${EVENT}\n`;\n\nexport const GET_EVENTS_NEAR_ME = gql`\n query getEventsNearMe($latitude: Float!, $longitude: Float!, $radius: Int) {\n eventsNearMe(latitude: $latitude, longitude: $longitude, radius: $radius) {\n ...EventFields\n }\n }\n ${EVENT}\n`;\n\nexport const GET_EVENT_INFO = gql`\n query getEventInfo($eventId: ID!) {\n eventInfo(eventId: $eventId) {\n ...EventInfoFields\n }\n }\n ${EVENT_INFO}\n`;\n","import { gql } from \"@apollo/client\";\n\nexport const POSTER_USAGE_FIELDS_FRAGMENT = gql`\n fragment PosterUsageFields on PosterUsageType {\n month\n count\n }\n`;\n\nexport const SOCIAL_MEDIA_FIELDS_FRAGMENT = gql`\n fragment SocialMediaFields on SocialMediaType {\n name\n link\n }\n`;\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 email\n userId\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 id\n name\n }\n name\n }\n }\n`;\n\nexport const LICENCE_FIELDS_FRAGMENT = gql`\n fragment LicenceFields on UserLicenceType {\n expiryDate\n issuedDate\n licenceType\n }\n`;\n\nexport const ASSOCIATES_FIELDS_FRAGMENT = gql`\n fragment AssociatesFields on AssociateType {\n email\n resourceId\n resourceType\n licence {\n ...LicenceFields\n }\n }\n ${LICENCE_FIELDS_FRAGMENT}\n`;\n\nexport const TERMS_AGREEMENT_FIELDS_FRAGMENT = gql`\n fragment TermsAgreementFields on TermsAgreementType {\n appBuildNumber\n appId\n appVersion\n brand\n deviceName\n installationId\n manufacturer\n modelName\n osName\n osVersion\n termVersion\n timestamp\n }\n`;\n\nexport const EVENT_DATETIME_FIELDS_FRAGMENT = gql`\n fragment EventDateTimeFields on EventDateTimeType {\n dateStatus\n endDate\n endTime\n startDate\n startTime\n }\n`;\n\nconst USER_ACTIVITY_FIELDS_FRAGMENT = gql`\n fragment UserActivityFields on UserActivityType {\n favourites {\n events\n vendors\n }\n going {\n events {\n resourceId\n dateTime {\n ...EventDateTimeFields\n }\n }\n }\n interested {\n events {\n resourceId\n dateTime {\n ...EventDateTimeFields\n }\n }\n }\n present {\n events {\n resourceId\n dateTime {\n ...EventDateTimeFields\n }\n }\n }\n }\n ${EVENT_DATETIME_FIELDS_FRAGMENT}\n`;\n\nexport const USER_FIELDS_FRAGMENT = gql`\n fragment UserFields on UserType {\n _id\n active\n associates {\n ...AssociatesFields\n }\n avatar {\n ...ResourceImageFields\n }\n createdAt\n deletedAt\n email\n events\n firstName\n isTester\n lastName\n licences {\n ...LicenceFields\n }\n platform\n preferredRegion\n refreshToken\n role\n termsAgreement {\n ...TermsAgreementFields\n }\n userActivity {\n ...UserActivityFields\n }\n vendor\n updatedAt\n }\n ${RESOURCE_IMAGE_FIELDS_FRAGMENT}\n ${ASSOCIATES_FIELDS_FRAGMENT}\n ${TERMS_AGREEMENT_FIELDS_FRAGMENT}\n ${USER_ACTIVITY_FIELDS_FRAGMENT}\n ${LICENCE_FIELDS_FRAGMENT}\n`;\n\nexport const STALL_TYPE_FIELDS_FRAGMENT = gql`\n fragment StallTypeFields on StallTypeType {\n label\n price\n stallCapacity\n electricity {\n price\n selected\n }\n }\n`;\n\nexport const RELATION_DATES_FRAGMENT = gql`\n fragment RelationDates on RelationDateType {\n dateTime {\n dateStatus\n endDate\n endTime\n startDate\n startTime\n stallType {\n ...StallTypeFields\n }\n }\n lastUpdateBy {\n resourceId\n userEmail\n }\n paymentReference\n status\n }\n ${STALL_TYPE_FIELDS_FRAGMENT}\n`;\n\nexport const CONTACT_DETAILS_FIELDS_FRAGMENT = gql`\n fragment ContactDetailsFields on ContactDetailsType {\n email\n landlinePhone\n mobilePhone\n }\n`;\n\nexport const LOCATION_FIELDS_FRAGMENT = gql`\n fragment LocationFields on LocationType {\n city\n coordinates\n country\n fullAddress\n latitude\n longitude\n region\n type\n }\n`;\n","import { gql } from \"@apollo/client\";\n\nimport { CATEGORY_FIELDS_FRAGMENT } from \"./global\";\n\nconst TESTER_VENDOR_FIELDS_FRAGMENT = gql`\n fragment TesterVendorFields on TesterVendorType {\n categories {\n ...CategoryFields\n }\n productsOrServices\n marketsAttended {\n name\n city\n }\n sellingFrequency\n yearlySellingApprox\n questionary {\n uploadStallProfileFirstWeek\n applyToAtLeastOneMarket\n tryVisitorFeatures\n completeFeedbackQuestionnaire\n sendPhotoForSocialMedia\n appearInVideoIntroduction\n socialMediaFeatureReason\n excitementAboutApp\n usefulnessExpectations\n testingPeriodConcerns\n }\n }\n ${CATEGORY_FIELDS_FRAGMENT}\n`;\n\nconst TESTER_EVENT_FIELDS_FRAGMENT = gql`\n fragment TesterEventFields on TesterEventType {\n organizedMarketCount\n markets {\n name\n cityOrVenue\n frequency\n averageStallCount\n }\n questionary {\n allowMarketingAppearance\n completeFinalQuestionnaire\n dailyCoordinationNeeds\n interestedInCharityInitiative\n inviteAtLeastFiveStallholders\n manageApplicationsAndCommunication\n organizerExpectations\n registerMarketsFirstWeek\n spaceForClueMart\n }\n }\n`;\n\nexport const TESTER_FIELDS_FRAGMENT = gql`\n fragment TesterFields on TesterType {\n _id\n active\n approved\n businessName\n consents {\n betaTestConsent\n privacyConsent\n }\n createdAt\n email\n firstName\n lastName\n mobilePhone\n osType\n region\n resourceType\n updatedAt\n vendor {\n ...TesterVendorFields\n }\n event {\n ...TesterEventFields\n }\n }\n ${TESTER_VENDOR_FIELDS_FRAGMENT}\n ${TESTER_EVENT_FIELDS_FRAGMENT}\n`;\n\nexport const GET_TESTERS = gql`\n query getTesters {\n testers {\n ...TesterFields\n }\n }\n ${TESTER_FIELDS_FRAGMENT}\n`;\n\nexport const GET_TESTER = gql`\n query getTester($_id: ID!) {\n tester(_id: $_id) {\n ...TesterFields\n }\n }\n ${TESTER_FIELDS_FRAGMENT}\n`;\n","import { gql } from \"@apollo/client\";\n\nimport {\n OWNER_FIELDS_FRAGMENT,\n CATEGORY_FIELDS_FRAGMENT,\n RESOURCE_IMAGE_FIELDS_FRAGMENT,\n SOCIAL_MEDIA_FIELDS_FRAGMENT,\n POSTER_USAGE_FIELDS_FRAGMENT,\n CONTACT_DETAILS_FIELDS_FRAGMENT,\n TERMS_AGREEMENT_FIELDS_FRAGMENT,\n RELATION_DATES_FRAGMENT,\n ASSOCIATES_FIELDS_FRAGMENT,\n} from \"./global\";\n\nexport const VENDOR_LOCATION_FIELDS_FRAGMENT = gql`\n fragment VendorLocationFields on VendorLocationType {\n city\n coordinates\n country\n fullAddress\n latitude\n longitude\n region\n type\n }\n`;\n\nexport const VENDOR_DATETIME_FIELDS_FRAGMENT = gql`\n fragment VendorDateTimeFields on VendorDateTimeType {\n dateStatus\n endDate\n endTime\n startDate\n startTime\n }\n`;\n\nexport const VENDOR_MENU_FIELDS_FRAGMENT = gql`\n fragment VendorMenuFields on VendorMenuType {\n description\n name\n price\n productGroups\n }\n`;\n\nexport const VENDOR = gql`\n fragment VendorFields on VendorType {\n _id\n active\n associates {\n ...AssociatesFields\n }\n adIds\n availability {\n corporate\n private\n school\n }\n vendorInfoId\n categories {\n ...CategoryFields\n }\n contactDetails {\n ...ContactDetailsFields\n }\n cover {\n ...ResourceImageFields\n }\n createdAt\n description\n deletedAt\n foodTruck\n images {\n ...ResourceImageFields\n }\n locations {\n dateTime {\n ...VendorDateTimeFields\n }\n description\n location {\n ...VendorLocationFields\n }\n }\n logo {\n ...ResourceImageFields\n }\n multiLocation\n name\n owner {\n ...OwnerFields\n }\n products {\n ...VendorMenuFields\n }\n promoCodes\n posterUsage {\n ...PosterUsageFields\n }\n region\n relations {\n relationId\n relationDates {\n ...RelationDates\n }\n }\n socialMedia {\n ...SocialMediaFields\n }\n termsAgreement {\n ...TermsAgreementFields\n }\n updatedAt\n vendorType\n }\n ${CATEGORY_FIELDS_FRAGMENT}\n ${VENDOR_DATETIME_FIELDS_FRAGMENT}\n ${VENDOR_LOCATION_FIELDS_FRAGMENT}\n ${OWNER_FIELDS_FRAGMENT}\n ${RESOURCE_IMAGE_FIELDS_FRAGMENT}\n ${SOCIAL_MEDIA_FIELDS_FRAGMENT}\n ${POSTER_USAGE_FIELDS_FRAGMENT}\n ${ASSOCIATES_FIELDS_FRAGMENT}\n ${VENDOR_MENU_FIELDS_FRAGMENT}\n ${CONTACT_DETAILS_FIELDS_FRAGMENT}\n ${TERMS_AGREEMENT_FIELDS_FRAGMENT}\n ${RELATION_DATES_FRAGMENT}\n`;\n\nconst VENDOR_ATTRIBUTES_FRAGMENT = gql`\n fragment VendorAttributesFields on VendorAttributesType {\n details\n isRequired\n }\n`;\n\nexport const VENDOR_INFO = gql`\n fragment VendorInfoFields on VendorInfoType {\n _id\n compliance {\n foodBeverageLicense\n liabilityInsurance\n }\n documents {\n ...ResourceImageFields\n }\n requirements {\n electricity {\n ...VendorAttributesFields\n }\n gazebo {\n ...VendorAttributesFields\n }\n table {\n ...VendorAttributesFields\n }\n }\n product {\n foodFlavors\n packaging\n priceRange {\n max\n min\n }\n producedIn\n }\n stallInfo {\n size {\n depth\n width\n }\n }\n vendorId\n }\n ${VENDOR_ATTRIBUTES_FRAGMENT}\n ${RESOURCE_IMAGE_FIELDS_FRAGMENT}\n`;\n\nexport const GET_VENDORS = gql`\n query getVendors {\n vendors {\n ...VendorFields\n }\n }\n ${VENDOR}\n`;\n\nexport const GET_VENDOR = gql`\n query getVendor($_id: ID!) {\n vendor(_id: $_id) {\n ...VendorFields\n }\n }\n ${VENDOR}\n`;\n\nexport const GET_VENDORS_BY_REGION = gql`\n query getVendorsByRegion($region: String!) {\n vendorsByRegion(region: $region) {\n ...VendorFields\n }\n }\n ${VENDOR}\n`;\n\nexport const SEARCH_VENDORS = gql`\n query searchVendors($search: String!, $region: String) {\n vendorSearch(search: $search, region: $region) {\n ...VendorFields\n }\n }\n ${VENDOR}\n`;\n\nexport const GET_VENDOR_INFO = gql`\n query getVendorInfo($vendorId: ID!) {\n vendorInfo(vendorId: $vendorId) {\n ...VendorInfoFields\n }\n }\n ${VENDOR_INFO}\n`;\n","import { useMutation } from \"@apollo/client\";\n\nimport {\n REQUEST_PASSWORD_RESET_MUTATION,\n LOGIN_MUTATION,\n REGISTER_MUTATION,\n VALIDATE_VERIFICATION_TOKEN_MUTATION,\n RESET_PASSWORD_MUTATION,\n LOGOUT_MUTATION,\n REFRESH_TOKEN_MUTATION,\n} from \"../mutations/auth\";\n\nexport const useRegister = () => {\n const [register, { loading, error }] = useMutation(REGISTER_MUTATION);\n return { error, loading, register };\n};\n\nexport const useLogin = () => {\n const [login, { loading, error }] = useMutation(LOGIN_MUTATION);\n return { error, loading, login };\n};\n\nexport const useLogout = () => {\n const [logout, { loading, error }] = useMutation(LOGOUT_MUTATION);\n return { error, loading, logout };\n};\n\nexport const useRefreshToken = () => {\n const [refreshToken, { loading, error }] = useMutation(\n REFRESH_TOKEN_MUTATION,\n );\n return { error, loading, refreshToken };\n};\n\nexport const useRequestPasswordReset = () => {\n const [requestPasswordReset, { loading, error }] = useMutation(\n REQUEST_PASSWORD_RESET_MUTATION,\n );\n\n return { error, loading, requestPasswordReset };\n};\n\nexport const useValidateVerificationToken = () => {\n const [validateVerificationToken, { loading, error }] = useMutation(\n VALIDATE_VERIFICATION_TOKEN_MUTATION,\n );\n\n return { error, loading, validateVerificationToken };\n};\n\nexport const useResetPassword = () => {\n const [resetPassword, { loading, error }] = useMutation(\n RESET_PASSWORD_MUTATION,\n );\n\n return { error, loading, resetPassword };\n};\n","import { gql } from \"@apollo/client\";\n\nimport { USER_FIELDS_FRAGMENT } from \"../queries/global\";\n\nexport const REGISTER_MUTATION = gql`\n mutation register($input: RegisterInputType!) {\n register(input: $input) {\n message\n refreshToken\n token\n user {\n ...UserFields\n }\n }\n }\n ${USER_FIELDS_FRAGMENT}\n`;\n\nexport const LOGIN_MUTATION = gql`\n mutation login($input: LoginInputType!) {\n login(input: $input) {\n message\n refreshToken\n token\n user {\n ...UserFields\n }\n }\n }\n ${USER_FIELDS_FRAGMENT}\n`;\n\nexport const LOGOUT_MUTATION = gql`\n mutation logout {\n logout {\n message\n }\n }\n`;\n\nexport const REFRESH_TOKEN_MUTATION = gql`\n mutation refreshToken($input: RefreshTokenInputType!) {\n refreshToken(input: $input) {\n refreshToken\n token\n }\n }\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 REQUEST_PASSWORD_RESET_MUTATION = gql`\n mutation requestPasswordReset($input: RequestPasswordResetInputType!) {\n requestPasswordReset(input: $input) {\n message\n }\n }\n`;\n\nexport const VALIDATE_VERIFICATION_TOKEN_MUTATION = gql`\n mutation validateVerificationToken(\n $input: ValidateVerificationTokenInputType!\n ) {\n validateVerificationToken(input: $input) {\n message\n }\n }\n`;\n","import { useMutation } from \"@apollo/client\";\n\nimport {\n ADD_PARTICIPANT_TO_CHAT_MUTATION,\n DELETE_CHAT_MUTATION,\n REMOVE_PARTICIPANT_FROM_CHAT_MUTATION,\n SEND_CHAT_MESSAGE_MUTATION,\n} from \"../../mutations/chat\";\nimport { CHAT, USER_CHATS } from \"../../queries/chat\";\n\nexport const useSendChatMessage = () => {\n const [sendChatMessage, { loading, error }] = useMutation<{\n sendChatMessage: {\n _id: string;\n };\n }>(SEND_CHAT_MESSAGE_MUTATION, {\n awaitRefetchQueries: true,\n refetchQueries: (mutationResult) => {\n // Extract chatId from the mutation response\n const chatId = mutationResult?.data?.sendChatMessage?._id;\n\n return [\n {\n query: CHAT,\n variables: { _id: chatId },\n },\n ];\n },\n });\n\n return { error, loading, sendChatMessage };\n};\n\nexport const useDeleteChat = () => {\n const [deleteChat, { loading, error }] = useMutation(DELETE_CHAT_MUTATION, {\n awaitRefetchQueries: true,\n refetchQueries: [{ query: USER_CHATS }],\n });\n\n return { deleteChat, error, loading };\n};\n\nexport const useAddParticipantToChat = () => {\n const [addParticipantToChat, { loading, error }] = useMutation<{\n addParticipantToChat: {\n _id: string;\n };\n }>(ADD_PARTICIPANT_TO_CHAT_MUTATION, {\n awaitRefetchQueries: true,\n refetchQueries: (mutationResult) => {\n // Extract chatId from the mutation response\n const chatId = mutationResult?.data?.addParticipantToChat?._id;\n\n return [\n {\n query: CHAT,\n variables: { _id: chatId },\n },\n {\n query: USER_CHATS,\n },\n ];\n },\n });\n\n return { addParticipantToChat, error, loading };\n};\n\nexport const useRemoveParticipantFromChat = () => {\n const [removeParticipantFromChat, { loading, error }] = useMutation(\n REMOVE_PARTICIPANT_FROM_CHAT_MUTATION,\n {\n awaitRefetchQueries: true,\n refetchQueries: [{ query: USER_CHATS }],\n },\n );\n\n return { error, loading, removeParticipantFromChat };\n};\n","import { gql } from \"@apollo/client\";\n\nimport { CHAT_FIELDS_FRAGMENT } from \"../queries/chat\";\n\nexport const SEND_CHAT_MESSAGE_MUTATION = gql`\n mutation sendChatMessage($_id: ID!, $input: ChatMessageInputType!) {\n sendChatMessage(_id: $_id, input: $input) {\n ...ChatFields\n }\n }\n ${CHAT_FIELDS_FRAGMENT}\n`;\n\nexport const DELETE_CHAT_MUTATION = gql`\n mutation deleteChat($_id: ID!) {\n deleteChat(_id: $_id)\n }\n`;\n\nexport const ADD_PARTICIPANT_TO_CHAT_MUTATION = gql`\n mutation addParticipantToChat($chatId: ID!, $userId: ID!) {\n addParticipantToChat(chatId: $chatId, userId: $userId) {\n ...ChatFields\n }\n }\n ${CHAT_FIELDS_FRAGMENT}\n`;\n\nexport const REMOVE_PARTICIPANT_FROM_CHAT_MUTATION = gql`\n mutation removeParticipantFromChat($chatId: ID!, $userId: ID!) {\n removeParticipantFromChat(chatId: $chatId, userId: $userId)\n }\n`;\n","import { gql } from \"@apollo/client\";\n\nexport const CHAT_MESSAGE_FIELDS_FRAGMENT = gql`\n fragment ChatMessageFields on ChatMessageType {\n _id\n content\n createdAt\n senderId\n updatedAt\n }\n`;\n\nexport const CHAT_PARTICIPANT = gql`\n fragment ChatParticipantFields on ChatParticipantType {\n active\n userAvatar\n userEmail\n userId\n userName\n }\n`;\n\nexport const CHAT_FIELDS_FRAGMENT = gql`\n fragment ChatFields on ChatType {\n _id\n active\n chatName\n chatType\n createdAt\n deletedAt\n messages {\n ...ChatMessageFields\n }\n participants {\n ...ChatParticipantFields\n }\n updatedAt\n }\n ${CHAT_MESSAGE_FIELDS_FRAGMENT}\n ${CHAT_PARTICIPANT}\n`;\n\nexport const CHAT = gql`\n query chat($_id: ID!) {\n chat(_id: $_id) {\n ...ChatFields\n }\n }\n ${CHAT_FIELDS_FRAGMENT}\n`;\n\nexport const USER_CHATS = gql`\n query userChats {\n userChats {\n ...ChatFields\n }\n }\n ${CHAT_FIELDS_FRAGMENT}\n`;\n","import { useQuery, useSubscription } from \"@apollo/client\";\n\nimport { GET_CHAT_MESSAGE } from \"src/graphql/subscriptions/chat\";\n\nimport { ChatType } from \"../../../types/chat\";\nimport { CHAT, USER_CHATS } from \"../../queries/chat\";\n\nexport const useGetChat = (_id: string) => {\n const { loading, error, data, refetch } = useQuery<{ chat: ChatType }>(CHAT, {\n fetchPolicy: \"network-only\",\n skip: !_id,\n variables: { _id },\n });\n\n const chat = data?.chat;\n\n return { chat, error, loading, refetch };\n};\n\nexport const useGetUserChats = () => {\n const { loading, error, data, refetch } = useQuery<{ userChats: ChatType[] }>(\n USER_CHATS,\n {\n fetchPolicy: \"network-only\",\n },\n );\n\n const userChats = data?.userChats || [];\n\n return { error, loading, refetch, userChats };\n};\n\nexport const useGetChatSubscription = () => {\n const { data, loading, error } = useSubscription<{ getChat: ChatType }>(\n GET_CHAT_MESSAGE,\n );\n\n const chat = data?.getChat;\n\n return { chat, error, loading };\n};\n","import { gql } from \"@apollo/client\";\n\nimport { CHAT_FIELDS_FRAGMENT } from \"../queries/chat\";\n\nexport const GET_CHAT_MESSAGE = gql`\n subscription {\n getChatMessage {\n ...ChatFields\n }\n }\n ${CHAT_FIELDS_FRAGMENT}\n`;\n","import { useMutation } from \"@apollo/client\";\n\nimport { CONTACT_US_MUTATION } from \"../mutations/contactUs\";\n\nexport const useContactUs = () => {\n const [contactUs, { loading, error }] = useMutation(CONTACT_US_MUTATION);\n return { contactUs, error, loading };\n};\n","import { gql } from \"@apollo/client\";\n\nexport const CONTACT_US_MUTATION = gql`\n mutation contactUs($input: ContactUsInputType!) {\n contactUs(input: $input) {\n message\n }\n }\n`;\n","import { useMutation } from \"@apollo/client\";\n\nimport {\n CREATE_EVENT_INFO_MUTATION,\n CREATE_EVENT_MUTATION,\n DELETE_EVENT_MUTATION,\n UPDATE_EVENT_INFO_MUTATION,\n UPDATE_EVENT_MUTATION,\n} from \"../../mutations/event\";\nimport { GET_EVENT, GET_EVENT_INFO } from \"../../queries/event\";\nimport { GET_USER_EVENTS } from \"../../queries/user\";\n\nexport const useCreateEvent = () => {\n const [createEvent, { loading, error }] = useMutation(CREATE_EVENT_MUTATION, {\n awaitRefetchQueries: true,\n refetchQueries: [{ query: GET_USER_EVENTS }],\n });\n\n return { createEvent, error, loading };\n};\n\nexport const useUpdateEvent = () => {\n const [updateEvent, { loading, error }] = useMutation(UPDATE_EVENT_MUTATION, {\n awaitRefetchQueries: true,\n refetchQueries: [{ query: GET_USER_EVENTS }],\n });\n\n return { error, loading, updateEvent };\n};\n\nexport const useDeleteEvent = () => {\n const [deleteEvent, { loading, error }] = useMutation(DELETE_EVENT_MUTATION, {\n awaitRefetchQueries: true,\n refetchQueries: [{ query: GET_USER_EVENTS }],\n });\n return { deleteEvent, error, loading };\n};\n\nexport const useCreateEventInfo = () => {\n const [createEventInfo, { loading, error }] = useMutation<{\n createEventInfo: {\n eventId: string;\n };\n }>(CREATE_EVENT_INFO_MUTATION, {\n awaitRefetchQueries: true,\n refetchQueries: (mutationResult) => {\n // Extract eventId from the mutation response\n const eventId = mutationResult?.data?.createEventInfo?.eventId;\n\n if (!eventId) return [];\n\n return [\n {\n query: GET_EVENT_INFO,\n variables: { eventId }, // Pass the eventId for refetching\n },\n {\n query: GET_USER_EVENTS,\n },\n {\n query: GET_EVENT,\n variables: { _id: eventId },\n },\n ];\n },\n });\n\n return { createEventInfo, error, loading };\n};\n\nexport const useUpdateEventInfo = () => {\n const [updateEventInfo, { loading, error }] = useMutation<{\n updateEventInfo: {\n eventId: string;\n };\n }>(UPDATE_EVENT_INFO_MUTATION, {\n awaitRefetchQueries: true,\n refetchQueries: (mutationResult) => {\n // Extract eventId from the mutation response\n const eventId = mutationResult?.data?.updateEventInfo?.eventId;\n\n if (!eventId) return [];\n\n return [\n {\n query: GET_EVENT_INFO,\n variables: { eventId }, // Pass the eventId for refetching\n },\n {\n query: GET_EVENT,\n variables: { _id: eventId }, // Pass the eventId for refetching\n },\n ];\n },\n });\n\n return { error, loading, updateEventInfo };\n};\n","import { gql } from \"@apollo/client\";\n\nimport { EVENT, EVENT_INFO } from \"../queries/event\";\n\nexport const CREATE_EVENT_MUTATION = gql`\n mutation createEvent($input: EventInputType!) {\n createEvent(input: $input) {\n ...EventFields\n }\n }\n ${EVENT}\n`;\n\nexport const UPDATE_EVENT_MUTATION = gql`\n mutation updateEvent($_id: ID!, $input: EventInputType!) {\n updateEvent(_id: $_id, input: $input) {\n ...EventFields\n }\n }\n ${EVENT}\n`;\n\nexport const DELETE_EVENT_MUTATION = gql`\n mutation deleteEvent($_id: ID!) {\n deleteEvent(_id: $_id)\n }\n`;\n\nexport const CREATE_EVENT_INFO_MUTATION = gql`\n mutation createEventInfo($input: EventInfoInputType!) {\n createEventInfo(input: $input) {\n ...EventInfoFields\n }\n }\n ${EVENT_INFO}\n`;\n\nexport const UPDATE_EVENT_INFO_MUTATION = gql`\n mutation updateEventInfo($_id: ID!, $input: EventInfoInputType!) {\n updateEventInfo(_id: $_id, input: $input) {\n ...EventInfoFields\n }\n }\n ${EVENT_INFO}\n`;\n","import { gql } from \"@apollo/client\";\n\nimport { EVENT } from \"./event\";\nimport { USER_FIELDS_FRAGMENT } from \"./global\";\nimport { PARTNER } from \"./partner\";\nimport { VENDOR } from \"./vendor\";\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_EVENTS = gql`\n query getUserEvents {\n userEvents {\n ...EventFields\n }\n }\n ${EVENT}\n`;\n\nexport const GET_USER_VENDORS = gql`\n query getUserVendors {\n userVendors {\n ...VendorFields\n }\n }\n ${VENDOR}\n`;\n\nexport const GET_USER_PARTNERS = gql`\n query getUserPartners {\n userPartners {\n ...PartnerFields\n }\n }\n ${PARTNER}\n`;\n\nexport const GET_USER_ACTIVITIES = gql`\n query getUserActivities {\n userActivities {\n favourites {\n events {\n ...EventFields\n }\n vendors {\n ...VendorFields\n }\n }\n going {\n events {\n ...EventFields\n }\n }\n interested {\n events {\n ...EventFields\n }\n }\n present {\n events {\n ...EventFields\n }\n }\n }\n }\n ${EVENT}\n ${VENDOR}\n`;\n","import { gql } from \"@apollo/client\";\n\nimport {\n ASSOCIATES_FIELDS_FRAGMENT,\n CONTACT_DETAILS_FIELDS_FRAGMENT,\n LOCATION_FIELDS_FRAGMENT,\n OWNER_FIELDS_FRAGMENT,\n POSTER_USAGE_FIELDS_FRAGMENT,\n RESOURCE_IMAGE_FIELDS_FRAGMENT,\n SOCIAL_MEDIA_FIELDS_FRAGMENT,\n TERMS_AGREEMENT_FIELDS_FRAGMENT,\n} from \"./global\";\n\nexport const PARTNER = gql`\n fragment PartnerFields on PartnerType {\n _id\n active\n associates {\n ...AssociatesFields\n }\n adIds\n cover {\n ...ResourceImageFields\n }\n createdAt\n contactDetails {\n ...ContactDetailsFields\n }\n description\n deletedAt\n images {\n ...ResourceImageFields\n }\n location {\n ...LocationFields\n }\n logo {\n ...ResourceImageFields\n }\n name\n nzbn\n owner {\n ...OwnerFields\n }\n partnerType\n posterUsage {\n ...PosterUsageFields\n }\n region\n socialMedia {\n ...SocialMediaFields\n }\n termsAgreement {\n ...TermsAgreementFields\n }\n updatedAt\n }\n ${TERMS_AGREEMENT_FIELDS_FRAGMENT}\n ${LOCATION_FIELDS_FRAGMENT}\n ${OWNER_FIELDS_FRAGMENT}\n ${ASSOCIATES_FIELDS_FRAGMENT}\n ${RESOURCE_IMAGE_FIELDS_FRAGMENT}\n ${POSTER_USAGE_FIELDS_FRAGMENT}\n ${SOCIAL_MEDIA_FIELDS_FRAGMENT}\n ${CONTACT_DETAILS_FIELDS_FRAGMENT}\n`;\n\nexport const GET_PARTNERS = gql`\n query getPartners {\n partners {\n ...PartnerFields\n }\n }\n ${PARTNER}\n`;\n\nexport const GET_PARTNER = gql`\n query getPartner($_id: ID!) {\n partner(_id: $_id) {\n ...PartnerFields\n }\n }\n ${PARTNER}\n`;\n\nexport const GET_PARTNERS_BY_REGION = gql`\n query getPartnersByRegion($region: String!) {\n partnersByRegion(region: $region) {\n ...PartnerFields\n }\n }\n ${PARTNER}\n`;\n\nexport const SEARCH_PARTNERS = gql`\n query searchPartners($search: String!, $region: String) {\n partnersSearch(search: $search, region: $region) {\n ...PartnerFields\n }\n }\n ${PARTNER}\n`;\n","import { useQuery } from \"@apollo/client\";\n\nimport { EventInfoType, EventType } from \"../../../types/event\";\nimport {\n GET_EVENT,\n GET_EVENT_INFO,\n GET_EVENTS,\n GET_EVENTS_BY_REGION,\n GET_EVENTS_NEAR_ME,\n SEARCH_EVENTS,\n} from \"../../queries/event\";\n\nexport const useGetEvents = () => {\n const { loading, error, data, refetch } = useQuery<{ events: EventType[] }>(\n GET_EVENTS,\n {\n fetchPolicy: \"network-only\",\n },\n );\n\n const events = data?.events || [];\n\n return { error, events, loading, refetch };\n};\n\nexport const useGetEvent = (_id: string) => {\n const { loading, error, data, refetch } = useQuery<{ event: EventType }>(\n GET_EVENT,\n {\n fetchPolicy: \"network-only\",\n skip: !_id,\n variables: { _id },\n },\n );\n\n const event = data?.event;\n\n return { error, event, loading, refetch };\n};\n\nexport const useGetEventsByRegion = (region: string) => {\n const { loading, error, data, refetch } = useQuery<{\n eventsByRegion: EventType[];\n }>(GET_EVENTS_BY_REGION, {\n fetchPolicy: \"no-cache\",\n skip: !region,\n variables: { region },\n });\n\n const eventsByRegion = data?.eventsByRegion || [];\n\n return { error, eventsByRegion, loading, refetch };\n};\n\nexport const useSearchEvents = (search: string, region: string) => {\n const { loading, error, data, refetch } = useQuery<{\n eventsSearch: EventType[];\n }>(SEARCH_EVENTS, {\n fetchPolicy: \"network-only\",\n skip: search.length < 3,\n variables: { region, search },\n });\n\n const eventsSearch = data?.eventsSearch || [];\n\n return { error, eventsSearch, loading, refetch };\n};\n\nexport const useGetEventsNearMe = (location: {\n latitude: number;\n longitude: number;\n radius?: number;\n}) => {\n const { loading, error, data, refetch } = useQuery<{\n eventsNearMe: EventType[];\n }>(GET_EVENTS_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 eventsNearMe = data?.eventsNearMe || [];\n\n return { error, eventsNearMe, loading, refetch };\n};\n\nexport const useGetEventInfo = (eventId: string) => {\n const { loading, error, data, refetch } = useQuery<{\n eventInfo: EventInfoType;\n }>(GET_EVENT_INFO, {\n fetchPolicy: \"network-only\",\n skip: !eventId,\n variables: { eventId },\n });\n\n const eventInfo = data?.eventInfo;\n\n return { error, eventInfo, loading, refetch };\n};\n","import { useMutation } from \"@apollo/client\";\n\nimport {\n CREATE_BULK_NOTIFICATIONS,\n DELETE_ALL_NOTIFICATIONS,\n DELETE_NOTIFICATION,\n MARK_ALL_NOTIFICATIONS_READ,\n MARK_NOTIFICATION_READ,\n} from \"src/graphql/mutations/notification\";\nimport {\n GET_NOTIFICATION_COUNT,\n GET_USER_NOTIFICATIONS,\n} from \"src/graphql/queries/notification\";\n\nexport const useCreateBulkNotifications = () => {\n const [createBulkNotifications, { loading, error }] = useMutation(\n CREATE_BULK_NOTIFICATIONS,\n );\n return { createBulkNotifications, error, loading };\n};\n\nexport const useMarkNotificationRead = () => {\n const [markNotificationRead, { loading, error }] = useMutation(\n MARK_NOTIFICATION_READ,\n {\n refetchQueries: [\n {\n query: GET_USER_NOTIFICATIONS,\n },\n {\n query: GET_NOTIFICATION_COUNT,\n },\n ],\n },\n );\n return { error, loading, markNotificationRead };\n};\n\nexport const useMarkAllNotificationsRead = () => {\n const [markAllNotificationsRead, { loading, error }] = useMutation(\n MARK_ALL_NOTIFICATIONS_READ,\n {\n refetchQueries: [\n {\n query: GET_USER_NOTIFICATIONS,\n },\n {\n query: GET_NOTIFICATION_COUNT,\n },\n ],\n },\n );\n return { error, loading, markAllNotificationsRead };\n};\n\nexport const useDeleteNotification = () => {\n const [deleteNotification, { loading, error }] = useMutation(\n DELETE_NOTIFICATION,\n {\n refetchQueries: [\n {\n query: GET_USER_NOTIFICATIONS,\n },\n {\n query: GET_NOTIFICATION_COUNT,\n },\n ],\n },\n );\n return { deleteNotification, error, loading };\n};\n\nexport const useDeleteAllNotifications = () => {\n const [deleteAllNotifications, { loading, error }] = useMutation(\n DELETE_ALL_NOTIFICATIONS,\n {\n refetchQueries: [\n {\n query: GET_USER_NOTIFICATIONS,\n },\n {\n query: GET_NOTIFICATION_COUNT,\n },\n ],\n },\n );\n return { deleteAllNotifications, error, loading };\n};\n","import { gql } from \"@apollo/client\";\n\nimport { NOTIFICATION_FRAGMENT } from \"../queries/notification\";\n\nexport const CREATE_BULK_NOTIFICATIONS = gql`\n mutation createBulkNotifications($input: CreateBulkNotificationInput!) {\n createBulkNotifications(input: $input) {\n ...NotificationFields\n }\n }\n ${NOTIFICATION_FRAGMENT}\n`;\n\nexport const MARK_NOTIFICATION_READ = gql`\n mutation markNotificationRead($_id: ID!) {\n markNotificationRead(_id: $_id) {\n ...NotificationFields\n }\n }\n ${NOTIFICATION_FRAGMENT}\n`;\n\nexport const MARK_ALL_NOTIFICATIONS_READ = gql`\n mutation markAllNotificationsRead {\n markAllNotificationsRead\n }\n`;\n\nexport const DELETE_NOTIFICATION = gql`\n mutation deleteNotification($_id: ID!) {\n deleteNotification(_id: $_id)\n }\n`;\n\nexport const DELETE_ALL_NOTIFICATIONS = gql`\n mutation deleteAllNotifications {\n deleteAllNotifications\n }\n`;\n","import { gql } from \"@apollo/client\";\n\nexport const NOTIFICATION_FRAGMENT = gql`\n fragment NotificationFields on Notification {\n _id\n userId\n title\n message\n type\n isRead\n data {\n resourceId\n resourceName\n resourceType\n }\n createdAt\n updatedAt\n }\n`;\n\nexport const GET_USER_NOTIFICATIONS = gql`\n query getUserNotifications($limit: Int, $offset: Int) {\n userNotifications(limit: $limit, offset: $offset) {\n ...NotificationFields\n }\n }\n ${NOTIFICATION_FRAGMENT}\n`;\n\nexport const GET_NOTIFICATION_COUNT = gql`\n query getNotificationCount {\n notificationCount {\n total\n unread\n }\n }\n`;\n","import { useQuery } from \"@apollo/client\";\n\nimport { NotificationCount, NotificationType } from \"../../../types\";\nimport {\n GET_NOTIFICATION_COUNT,\n GET_USER_NOTIFICATIONS,\n} from \"../../queries/notification\";\n\nexport const useGetUserNotifications = (limit?: number, offset?: number) => {\n const { data, loading, error, refetch } = useQuery<{\n userNotifications: NotificationType[];\n }>(GET_USER_NOTIFICATIONS, {\n fetchPolicy: \"no-cache\",\n variables: { limit, offset },\n });\n\n return {\n error,\n loading,\n notifications: data?.userNotifications || [],\n refetch,\n };\n};\n\nexport const useGetNotificationCount = () => {\n const { data, loading, error, refetch } = useQuery<{\n notificationCount: NotificationCount;\n }>(GET_NOTIFICATION_COUNT, {\n fetchPolicy: \"no-cache\",\n });\n\n return {\n error,\n loading,\n notificationCount: data?.notificationCount || { total: 0, unread: 0 },\n refetch,\n };\n};\n","import { useSubscription } from \"@apollo/client\";\n\nimport { NotificationCount, NotificationType } from \"../../../types\";\nimport {\n GET_NOTIFICATION_COUNT_SUBSCRIPTION,\n GET_NOTIFICATIONS_SUBSCRIPTION,\n} from \"../../subscriptions/notification\";\n\nexport const useGetUserNotificationsSubscription = () => {\n const { data, loading, error } = useSubscription<{\n getUserNotifications: NotificationType[];\n }>(GET_NOTIFICATIONS_SUBSCRIPTION, {\n fetchPolicy: \"no-cache\",\n shouldResubscribe: true,\n });\n\n return {\n error,\n loading,\n notifications: data?.getUserNotifications,\n };\n};\n\nexport const useGetNotificationCountSubscription = () => {\n const { data, loading, error } = useSubscription<{\n getNotificationCount: NotificationCount;\n }>(GET_NOTIFICATION_COUNT_SUBSCRIPTION, {\n fetchPolicy: \"no-cache\",\n shouldResubscribe: true,\n });\n\n return {\n error,\n loading,\n notificationCount: data?.getNotificationCount,\n };\n};\n","import { gql } from \"@apollo/client\";\n\nimport { NOTIFICATION_FRAGMENT } from \"../queries/notification\";\n\nexport const GET_NOTIFICATIONS_SUBSCRIPTION = gql`\n subscription {\n getUserNotifications {\n ...NotificationFields\n }\n }\n ${NOTIFICATION_FRAGMENT}\n`;\n\nexport const GET_NOTIFICATION_COUNT_SUBSCRIPTION = gql`\n subscription {\n getNotificationCount {\n total\n unread\n }\n }\n`;\n","import { useMutation } from \"@apollo/client\";\n\nimport { CREATE_POSTER_MUTATION } from \"../mutations/poster\";\nimport { GET_USER_EVENTS, GET_USER_VENDORS } from \"../queries/user\";\n\nexport const useCreatePoster = () => {\n const [createPoster, { loading, error }] = useMutation(\n CREATE_POSTER_MUTATION,\n {\n refetchQueries: [{ query: GET_USER_EVENTS }, { query: GET_USER_VENDORS }],\n },\n );\n return { createPoster, error, loading };\n};\n","import { gql } from \"@apollo/client\";\n\nimport { POSTER_USAGE_FIELDS_FRAGMENT } from \"../queries/global\";\n\nexport const CREATE_POSTER_MUTATION = gql`\n mutation createPoster($input: PosterInputType!) {\n createPoster(input: $input) {\n message\n posterUsage {\n ...PosterUsageFields\n }\n }\n }\n ${POSTER_USAGE_FIELDS_FRAGMENT}\n`;\n","import { useMutation } from \"@apollo/client\";\n\nimport { CREATE_PUSH_TOKEN_MUTATION } from \"../mutations/pushToken\";\n\nexport const useCreatePushToken = () => {\n const [createPushToken, { loading, error }] = useMutation(\n CREATE_PUSH_TOKEN_MUTATION,\n );\n return { createPushToken, error, loading };\n};\n","import { gql } from \"@apollo/client\";\n\nexport const CREATE_PUSH_TOKEN_MUTATION = gql`\n mutation createPushToken($input: PushTokenInput!) {\n createPushToken(input: $input) {\n success\n }\n }\n`;\n","import { useMutation } from \"@apollo/client\";\n\nimport { EnumResourceType } from \"src/enums\";\nimport { RelationType } from \"src/types\";\n\nimport {\n CREATE_RELATION_MUTATION,\n DELETE_RELATION_MUTATION,\n UPDATE_RELATION_MUTATION,\n} from \"../../mutations/relation\";\nimport { USER_CHATS } from \"../../queries/chat\";\nimport { GET_EVENT, GET_EVENT_INFO } from \"../../queries/event\";\nimport {\n GET_EVENT_RELATIONS,\n GET_RELATION_BY_EVENT_AND_VENDOR,\n GET_RESOURCE_CONNECTIONS,\n GET_VENDOR_RELATIONS,\n} from \"../../queries/relation\";\nimport { GET_VENDOR } from \"../../queries/vendor\";\n\nexport const useCreateRelation = () => {\n const [createRelation, { loading, error }] = useMutation<{\n createRelation: {\n eventId: string;\n vendorId: string;\n lastUpdateBy: EnumResourceType;\n };\n }>(CREATE_RELATION_MUTATION, {\n awaitRefetchQueries: true,\n refetchQueries: (mutationResult) => {\n // Extract relationId from the mutation response\n const createRelation = mutationResult?.data?.createRelation;\n const eventId = createRelation?.eventId;\n const vendorId = createRelation?.vendorId;\n\n const resourceType = createRelation?.lastUpdateBy;\n const resourceId =\n resourceType === EnumResourceType.EVENT ? eventId : vendorId;\n\n return [\n {\n query: GET_EVENT_RELATIONS,\n variables: { eventId },\n },\n {\n query: GET_EVENT,\n variables: { _id: eventId },\n },\n {\n query: GET_EVENT_INFO,\n variables: { eventId },\n },\n {\n query: GET_VENDOR_RELATIONS,\n variables: { vendorId },\n },\n {\n query: GET_VENDOR,\n variables: { _id: vendorId },\n },\n {\n query: GET_RELATION_BY_EVENT_AND_VENDOR,\n variables: { eventId, vendorId },\n },\n {\n query: GET_RESOURCE_CONNECTIONS,\n variables: { resourceId, resourceType },\n },\n {\n query: USER_CHATS,\n },\n ];\n },\n });\n\n return { createRelation, error, loading };\n};\n\nexport const useUpdateRelation = () => {\n const [updateRelation, { loading, error }] = useMutation<{\n updateRelation: RelationType;\n }>(UPDATE_RELATION_MUTATION, {\n awaitRefetchQueries: true,\n refetchQueries: (mutationResult) => {\n const updateRelation = mutationResult?.data?.updateRelation;\n const eventId = updateRelation?.eventId;\n const vendorId = updateRelation?.vendorId;\n\n const resourceType = updateRelation?.lastUpdateBy;\n const resourceId =\n resourceType === EnumResourceType.EVENT ? eventId : vendorId;\n\n return [\n {\n query: GET_EVENT_RELATIONS,\n variables: { eventId },\n },\n {\n query: GET_EVENT,\n variables: { _id: eventId },\n },\n {\n query: GET_EVENT_INFO,\n variables: { eventId },\n },\n {\n query: GET_VENDOR_RELATIONS,\n variables: { vendorId },\n },\n {\n query: GET_VENDOR,\n variables: { _id: vendorId },\n },\n {\n query: GET_RELATION_BY_EVENT_AND_VENDOR,\n variables: { eventId, vendorId },\n },\n {\n query: GET_RESOURCE_CONNECTIONS,\n variables: { resourceId, resourceType },\n },\n ];\n },\n });\n\n return { error, loading, updateRelation };\n};\n\nexport const useDeleteRelation = () => {\n const [deleteRelation, { loading, error }] = useMutation<{\n deleteRelation: RelationType;\n }>(DELETE_RELATION_MUTATION, {\n awaitRefetchQueries: true,\n refetchQueries: (mutationResult) => {\n // Extract relationId from the mutation response\n const deleteRelation = mutationResult?.data?.deleteRelation;\n const eventId = deleteRelation?.eventId;\n const vendorId = deleteRelation?.vendorId;\n const resourceType = deleteRelation?.lastUpdateBy;\n const resourceId =\n resourceType === EnumResourceType.EVENT ? eventId : vendorId;\n return [\n {\n query: GET_EVENT_INFO,\n variables: { eventId },\n },\n {\n query: GET_EVENT_RELATIONS,\n variables: { eventId },\n },\n {\n query: GET_VENDOR_RELATIONS,\n variables: { vendorId },\n },\n {\n query: GET_RELATION_BY_EVENT_AND_VENDOR,\n variables: { eventId, vendorId },\n },\n {\n query: GET_RESOURCE_CONNECTIONS,\n variables: { resourceId, resourceType },\n },\n {\n query: USER_CHATS,\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 { EVENT } from \"./event\";\nimport { RELATION_DATES_FRAGMENT } from \"./global\";\nimport { VENDOR } from \"./vendor\";\n\nexport const RELATION_FIELDS_FRAGMENT = gql`\n fragment RelationFields on RelationType {\n _id\n active\n apiMessage\n chatId\n createdAt\n lastUpdateBy\n eventId\n relationDates {\n ...RelationDates\n }\n relationType\n vendorId\n updatedAt\n }\n ${RELATION_DATES_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_EVENT_AND_VENDOR = gql`\n query getRelationByEventAndVendor($eventId: ID!, $vendorId: ID!) {\n relationByEventAndVendor(eventId: $eventId, vendorId: $vendorId) {\n ...RelationFields\n }\n }\n ${RELATION_FIELDS_FRAGMENT}\n`;\n\nexport const GET_EVENT_RELATIONS = gql`\n query getEventRelations($eventId: ID!) {\n eventRelations(eventId: $eventId) {\n ...RelationFields\n }\n }\n ${RELATION_FIELDS_FRAGMENT}\n`;\n\nexport const GET_VENDOR_RELATIONS = gql`\n query getVendorRelations($vendorId: ID!) {\n vendorRelations(vendorId: $vendorId) {\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 events {\n ...EventFields\n }\n vendors {\n ...VendorFields\n }\n }\n }\n ${VENDOR}\n ${EVENT}\n`;\n","import { useQuery } from \"@apollo/client\";\n\nimport { EnumResourceType } from \"../../../enums\";\nimport { ResourceConnectionsType } from \"../../../types\";\nimport { RelationType } from \"../../../types/relation\";\nimport {\n GET_EVENT_RELATIONS,\n GET_RELATION_BY_EVENT_AND_VENDOR,\n GET_RESOURCE_CONNECTIONS,\n GET_RELATION,\n GET_VENDOR_RELATIONS,\n} from \"../../queries/relation\";\n\nexport const useGetRelation = (_id: string) => {\n const { loading, error, data, refetch } = useQuery<{\n relation: RelationType;\n }>(GET_RELATION, {\n fetchPolicy: \"network-only\",\n skip: !_id,\n variables: { _id },\n });\n\n const relation = data?.relation;\n\n return { error, loading, refetch, relation };\n};\n\nexport const useGetRelationByEventAndVendor = (\n eventId: string,\n vendorId: string,\n) => {\n const { loading, error, data, refetch } = useQuery<{\n relationByEventAndVendor: RelationType;\n }>(GET_RELATION_BY_EVENT_AND_VENDOR, {\n fetchPolicy: \"network-only\",\n skip: !eventId || !vendorId,\n variables: { eventId, vendorId },\n });\n\n const relationByEventAndVendor = data?.relationByEventAndVendor;\n\n return { error, loading, refetch, relationByEventAndVendor };\n};\n\nexport const useGetEventRelations = (eventId: string) => {\n const { loading, error, data, refetch } = useQuery<{\n eventRelations: RelationType[];\n }>(GET_EVENT_RELATIONS, {\n fetchPolicy: \"network-only\",\n skip: !eventId,\n variables: { eventId },\n });\n\n const eventRelations = data?.eventRelations || [];\n\n return { error, eventRelations, loading, refetch };\n};\n\nexport const useGetVendorRelations = (vendorId: string) => {\n const { loading, error, data, refetch } = useQuery<{\n vendorRelations: RelationType[];\n }>(GET_VENDOR_RELATIONS, {\n fetchPolicy: \"network-only\",\n skip: !vendorId,\n variables: { vendorId },\n });\n\n const vendorRelations = data?.vendorRelations || [];\n\n return { error, loading, refetch, vendorRelations };\n};\n\nexport const useGetResourceConnections = (\n resourceId: string,\n resourceType: EnumResourceType,\n) => {\n const { loading, error, data, refetch } = useQuery<{\n resourceConnections: ResourceConnectionsType;\n }>(GET_RESOURCE_CONNECTIONS, {\n fetchPolicy: \"network-only\",\n variables: { resourceId, resourceType },\n });\n\n const resourceConnections = data?.resourceConnections;\n\n return { error, loading, refetch, resourceConnections };\n};\n","import { useMutation } from \"@apollo/client\";\n\nimport { GET_USER_VENDORS } from \"src/graphql/queries/user\";\n\nimport {\n CREATE_VENDOR_INFO_MUTATION,\n CREATE_VENDOR_MUTATION,\n DELETE_VENDOR_MUTATION,\n UPDATE_VENDOR_INFO_MUTATION,\n UPDATE_VENDOR_MUTATION,\n} from \"../../mutations/vendor\";\nimport { GET_VENDOR, GET_VENDOR_INFO } from \"../../queries/vendor\";\n\nexport const useCreateVendor = () => {\n const [createVendor, { loading, error }] = useMutation(\n CREATE_VENDOR_MUTATION,\n {\n awaitRefetchQueries: true,\n refetchQueries: [{ query: GET_USER_VENDORS }],\n },\n );\n\n return { createVendor, error, loading };\n};\n\nexport const useUpdateVendor = () => {\n const [updateVendor, { loading, error }] = useMutation(\n UPDATE_VENDOR_MUTATION,\n {\n awaitRefetchQueries: true,\n refetchQueries: [{ query: GET_USER_VENDORS }],\n },\n );\n return { error, loading, updateVendor };\n};\n\nexport const useDeleteVendor = () => {\n const [deleteVendor, { loading, error }] = useMutation(\n DELETE_VENDOR_MUTATION,\n {\n awaitRefetchQueries: true,\n refetchQueries: [{ query: GET_USER_VENDORS }],\n },\n );\n return { deleteVendor, error, loading };\n};\n\nexport const useCreateVendorInfo = () => {\n const [createVendorInfo, { loading, error }] = useMutation<{\n createVendorInfo: { vendorId: string };\n }>(CREATE_VENDOR_INFO_MUTATION, {\n awaitRefetchQueries: true,\n refetchQueries: (mutationResult) => {\n // Extract vendorId from the mutation response\n const vendorId = mutationResult?.data?.createVendorInfo?.vendorId;\n\n if (!vendorId) return [];\n\n return [\n {\n query: GET_VENDOR_INFO,\n variables: { vendorId }, // Pass the vendorId for refetching\n },\n {\n query: GET_USER_VENDORS,\n },\n {\n query: GET_VENDOR,\n variables: { _id: vendorId },\n },\n ];\n },\n });\n\n return { createVendorInfo, error, loading };\n};\n\nexport const useUpdateVendorInfo = () => {\n const [updateVendorInfo, { loading, error }] = useMutation<{\n updateVendorInfo: { vendorId: string };\n }>(UPDATE_VENDOR_INFO_MUTATION, {\n awaitRefetchQueries: true,\n refetchQueries: (mutationResult) => {\n // Extract vendorId from the mutation response\n const vendorId = mutationResult?.data?.updateVendorInfo?.vendorId;\n\n if (!vendorId) return [];\n\n return [\n {\n query: GET_VENDOR_INFO,\n variables: { vendorId }, // Pass the vendorId for refetching\n },\n ];\n },\n });\n\n return { error, loading, updateVendorInfo };\n};\n","import { gql } from \"@apollo/client\";\n\nimport { VENDOR, VENDOR_INFO } from \"../queries/vendor\";\n\nexport const CREATE_VENDOR_MUTATION = gql`\n mutation createVendor($input: VendorInputType!) {\n createVendor(input: $input) {\n ...VendorFields\n }\n }\n ${VENDOR}\n`;\n\nexport const UPDATE_VENDOR_MUTATION = gql`\n mutation updateVendor($_id: ID!, $input: VendorInputType!) {\n updateVendor(_id: $_id, input: $input) {\n ...VendorFields\n }\n }\n ${VENDOR}\n`;\n\nexport const DELETE_VENDOR_MUTATION = gql`\n mutation deleteVendor($_id: ID!) {\n deleteVendor(_id: $_id)\n }\n`;\n\nexport const CREATE_VENDOR_INFO_MUTATION = gql`\n mutation createVendorInfo($input: VendorInfoInputType!) {\n createVendorInfo(input: $input) {\n ...VendorInfoFields\n }\n }\n ${VENDOR_INFO}\n`;\n\nexport const UPDATE_VENDOR_INFO_MUTATION = gql`\n mutation updateVendorInfo($_id: ID!, $input: VendorInfoInputType!) {\n updateVendorInfo(_id: $_id, input: $input) {\n ...VendorInfoFields\n }\n }\n ${VENDOR_INFO}\n`;\n","import { useQuery } from \"@apollo/client\";\n\nimport { VendorInfoType, VendorType } from \"../../../types/vendor\";\nimport {\n GET_VENDOR,\n GET_VENDOR_INFO,\n GET_VENDORS,\n GET_VENDORS_BY_REGION,\n SEARCH_VENDORS,\n} from \"../../queries/vendor\";\n\nexport const useGetVendors = () => {\n const { loading, error, data, refetch } = useQuery<{ vendors: VendorType[] }>(\n GET_VENDORS,\n {\n fetchPolicy: \"network-only\",\n },\n );\n\n const vendors = data?.vendors || [];\n\n return {\n error,\n loading,\n refetch,\n vendors,\n };\n};\n\nexport const useGetVendor = (_id: string) => {\n const { loading, error, data, refetch } = useQuery<{ vendor: VendorType }>(\n GET_VENDOR,\n {\n fetchPolicy: \"network-only\",\n skip: !_id,\n variables: { _id },\n },\n );\n\n const vendor = data?.vendor;\n\n return { error, loading, refetch, vendor };\n};\n\nexport const useGetVendorsByRegion = (region: string) => {\n const { loading, error, data, refetch } = useQuery<{\n vendorsByRegion: VendorType[];\n }>(GET_VENDORS_BY_REGION, {\n fetchPolicy: \"no-cache\",\n skip: !region,\n variables: { region },\n });\n\n const vendorsByRegion = data?.vendorsByRegion || [];\n\n return { error, loading, refetch, vendorsByRegion };\n};\n\nexport const useSearchVendors = (search: string, region: string) => {\n const { loading, error, data, refetch } = useQuery<{\n vendorSearch: VendorType[];\n }>(SEARCH_VENDORS, {\n fetchPolicy: \"network-only\",\n skip: search.length < 3,\n variables: { region, search },\n });\n\n const vendorSearch = data?.vendorSearch || [];\n\n return { error, loading, refetch, vendorSearch };\n};\n\nexport const useGetVendorInfo = (vendorId: string) => {\n const { loading, error, data, refetch } = useQuery<{\n vendorInfo: VendorInfoType;\n }>(GET_VENDOR_INFO, {\n fetchPolicy: \"network-only\",\n skip: !vendorId,\n variables: { vendorId },\n });\n\n const vendorInfo = data?.vendorInfo;\n\n return {\n error,\n loading,\n refetch,\n vendorInfo,\n };\n};\n","import { useMutation } from \"@apollo/client\";\n\nimport {\n CREATE_TESTER_MUTATION,\n DELETE_TESTER_MUTATION,\n UPDATE_TESTER_MUTATION,\n} from \"src/graphql/mutations/tester\";\n\nexport const useCreateTester = () => {\n const [createTester, { data, loading, error }] = useMutation(\n CREATE_TESTER_MUTATION,\n );\n\n return {\n createTester,\n data,\n error,\n loading,\n };\n};\n\nexport const useUpdateTester = () => {\n const [updateTester, { data, loading, error }] = useMutation(\n UPDATE_TESTER_MUTATION,\n );\n\n return {\n data,\n error,\n loading,\n updateTester,\n };\n};\n\nexport const useDeleteTester = () => {\n const [deleteTester, { loading, error }] = useMutation(\n DELETE_TESTER_MUTATION,\n );\n\n return { deleteTester, error, loading };\n};\n","import { gql } from \"@apollo/client\";\n\nimport { TESTER_FIELDS_FRAGMENT } from \"../queries/tester\";\n\nexport const CREATE_TESTER_MUTATION = gql`\n mutation createTester($input: TesterInputType!) {\n createTester(input: $input) {\n ...TesterFields\n }\n }\n ${TESTER_FIELDS_FRAGMENT}\n`;\n\nexport const UPDATE_TESTER_MUTATION = gql`\n mutation updateTester($_id: ID!, $input: TesterInputType!) {\n updateTester(_id: $_id, input: $input) {\n ...TesterFields\n }\n }\n ${TESTER_FIELDS_FRAGMENT}\n`;\n\nexport const DELETE_TESTER_MUTATION = gql`\n mutation deleteTester($_id: ID!) {\n deleteTester(_id: $_id)\n }\n`;\n","import { useQuery } from \"@apollo/client\";\n\nimport { GET_TESTER, GET_TESTERS } from \"src/graphql/queries/tester\";\nimport { TesterType } from \"src/types/tester\";\n\nexport const useGetTesters = () => {\n const { data, loading, error, refetch } = useQuery<{ testers: TesterType[] }>(\n GET_TESTERS,\n );\n\n const testers = data?.testers || [];\n return {\n error,\n loading,\n refetch,\n testers,\n };\n};\n\nexport const useGetTester = (_id: string) => {\n const { data, loading, error, refetch } = useQuery<{ tester: TesterType }>(\n GET_TESTER,\n {\n skip: !_id,\n variables: { _id },\n },\n );\n\n const tester = data?.tester;\n\n return { error, loading, refetch, tester };\n};\n","import { useMutation } from \"@apollo/client\";\n\nimport {\n GET_USER,\n GET_USER_ACTIVITIES,\n GET_USER_EVENTS,\n GET_USER_VENDORS,\n} from \"src/graphql/queries/user\";\nimport { UserLicenceType } from \"src/types\";\n\nimport {\n ADD_USER_FAVOURITE_RESOURCE_MUTATION,\n ADD_USER_GOING_RESOURCE_MUTATION,\n ADD_USER_INTEREST_RESOURCE_MUTATION,\n ADD_USER_PRESENT_RESOURCE_MUTATION,\n CREATE_USER_MUTATION,\n DELETE_USER_MUTATION,\n REMOVE_USER_FAVOURITE_RESOURCE_MUTATION,\n REMOVE_USER_GOING_RESOURCE_MUTATION,\n REMOVE_USER_INTEREST_RESOURCE_MUTATION,\n REMOVE_USER_PRESENT_RESOURCE_MUTATION,\n SELECT_PACKAGE_MUTATION,\n UPDATE_USER_MUTATION,\n} from \"../../mutations/user\";\n\nexport const useCreateUser = () => {\n const [createUser, { loading, error }] = useMutation(CREATE_USER_MUTATION);\n\n return { createUser, error, loading };\n};\n\nexport const useUpdateUser = () => {\n const [updateUser, { loading, error }] = useMutation<{\n updateUser: { _id: string };\n }>(UPDATE_USER_MUTATION, {\n awaitRefetchQueries: true,\n refetchQueries: (mutationResult) => {\n // Extract userId from the mutation response\n const userId = mutationResult?.data?.updateUser?._id;\n\n if (!userId) return [];\n\n return [{ query: GET_USER, variables: { _id: userId } }];\n },\n });\n\n return { error, loading, updateUser };\n};\n\nexport const useDeleteUser = () => {\n const [deleteUser, { loading, error }] = useMutation(DELETE_USER_MUTATION);\n\n return { deleteUser, error, loading };\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_ACTIVITIES }],\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_ACTIVITIES }],\n },\n );\n\n return { error, loading, removeUserFavouriteResource };\n};\n\nexport const useSelectPackage = () => {\n const [selectPackage, { loading, error }] = useMutation<{\n selectPackage: {\n userId: string;\n message: string;\n licences: UserLicenceType[];\n };\n }>(SELECT_PACKAGE_MUTATION, {\n awaitRefetchQueries: true,\n refetchQueries: (mutationResult) => {\n // Extract userId from the mutation response\n const userId = mutationResult?.data?.selectPackage?.userId;\n\n if (!userId) return [];\n\n return [\n { query: GET_USER, variables: { _id: userId } },\n { query: GET_USER_EVENTS },\n { query: GET_USER_VENDORS },\n ];\n },\n });\n\n return { error, loading, selectPackage };\n};\n\nexport const useAddUserInterestResource = () => {\n const [addUserInterestResource, { loading, error }] = useMutation(\n ADD_USER_INTEREST_RESOURCE_MUTATION,\n {\n awaitRefetchQueries: true,\n refetchQueries: [{ query: GET_USER_ACTIVITIES }],\n },\n );\n\n return { addUserInterestResource, error, loading };\n};\n\nexport const useRemoveUserInterestResource = () => {\n const [removeUserInterestResource, { loading, error }] = useMutation(\n REMOVE_USER_INTEREST_RESOURCE_MUTATION,\n {\n awaitRefetchQueries: true,\n refetchQueries: [{ query: GET_USER_ACTIVITIES }],\n },\n );\n\n return { error, loading, removeUserInterestResource };\n};\n\nexport const useAddUserGoingResource = () => {\n const [addUserGoingResource, { loading, error }] = useMutation(\n ADD_USER_GOING_RESOURCE_MUTATION,\n {\n awaitRefetchQueries: true,\n refetchQueries: [{ query: GET_USER_ACTIVITIES }],\n },\n );\n\n return { addUserGoingResource, error, loading };\n};\n\nexport const useRemoveUserGoingResource = () => {\n const [removeUserGoingResource, { loading, error }] = useMutation(\n REMOVE_USER_GOING_RESOURCE_MUTATION,\n {\n awaitRefetchQueries: true,\n refetchQueries: [{ query: GET_USER_ACTIVITIES }],\n },\n );\n\n return { error, loading, removeUserGoingResource };\n};\n\nexport const useAddUserPresentResource = () => {\n const [addUserPresentResource, { loading, error }] = useMutation(\n ADD_USER_PRESENT_RESOURCE_MUTATION,\n {\n awaitRefetchQueries: true,\n refetchQueries: [{ query: GET_USER_ACTIVITIES }],\n },\n );\n\n return { addUserPresentResource, error, loading };\n};\n\nexport const useRemoveUserPresentResource = () => {\n const [removeUserPresentResource, { loading, error }] = useMutation(\n REMOVE_USER_PRESENT_RESOURCE_MUTATION,\n {\n awaitRefetchQueries: true,\n refetchQueries: [{ query: GET_USER_ACTIVITIES }],\n },\n );\n\n return { error, loading, removeUserPresentResource };\n};\n","import { gql } from \"@apollo/client\";\n\nimport {\n LICENCE_FIELDS_FRAGMENT,\n USER_FIELDS_FRAGMENT,\n} 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 DELETE_USER_MUTATION = gql`\n mutation deleteUser($email: String!) {\n deleteUser(email: $email)\n }\n`;\n\nexport const ADD_USER_FAVOURITE_RESOURCE_MUTATION = gql`\n mutation addUserFavouriteResource(\n $resourceId: ID!\n $resourceType: ResourceTypeEnum!\n ) {\n addUserFavouriteResource(\n resourceId: $resourceId\n resourceType: $resourceType\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 ) {\n removeUserFavouriteResource(\n resourceId: $resourceId\n resourceType: $resourceType\n ) {\n ...UserFields\n }\n }\n ${USER_FIELDS_FRAGMENT}\n`;\n\nexport const SELECT_PACKAGE_MUTATION = gql`\n mutation selectPackage(\n $selectedLicence: LicencesEnumType!\n $removedLicence: LicencesEnumType\n ) {\n selectPackage(\n selectedLicence: $selectedLicence\n removedLicence: $removedLicence\n ) {\n licences {\n ...LicenceFields\n }\n message\n }\n }\n ${LICENCE_FIELDS_FRAGMENT}\n`;\n\nexport const ADD_USER_INTEREST_RESOURCE_MUTATION = gql`\n mutation addUserInterestResource($input: UserActivityInputType!) {\n addUserInterestResource(input: $input) {\n ...UserFields\n }\n }\n ${USER_FIELDS_FRAGMENT}\n`;\n\nexport const REMOVE_USER_INTEREST_RESOURCE_MUTATION = gql`\n mutation removeUserInterestResource($input: UserActivityInputType!) {\n removeUserInterestResource(input: $input) {\n ...UserFields\n }\n }\n ${USER_FIELDS_FRAGMENT}\n`;\n\nexport const ADD_USER_GOING_RESOURCE_MUTATION = gql`\n mutation addUserGoingResource($input: UserActivityInputType!) {\n addUserGoingResource(input: $input) {\n ...UserFields\n }\n }\n ${USER_FIELDS_FRAGMENT}\n`;\n\nexport const REMOVE_USER_GOING_RESOURCE_MUTATION = gql`\n mutation removeUserGoingResource($input: UserActivityInputType!) {\n removeUserGoingResource(input: $input) {\n ...UserFields\n }\n }\n ${USER_FIELDS_FRAGMENT}\n`;\n\nexport const ADD_USER_PRESENT_RESOURCE_MUTATION = gql`\n mutation addUserPresentResource($input: UserActivityInputType!) {\n addUserPresentResource(input: $input) {\n ...UserFields\n }\n }\n ${USER_FIELDS_FRAGMENT}\n`;\n\nexport const REMOVE_USER_PRESENT_RESOURCE_MUTATION = gql`\n mutation removeUserPresentResource($input: UserActivityInputType!) {\n removeUserPresentResource(input: $input) {\n ...UserFields\n }\n }\n ${USER_FIELDS_FRAGMENT}\n`;\n","import { useQuery } from \"@apollo/client\";\n\nimport { EventType, VendorType } from \"src/types\";\n\nimport { UserType } from \"../../../types/user\";\nimport {\n GET_USER,\n GET_USER_ACTIVITIES,\n GET_USER_EVENTS,\n GET_USER_VENDORS,\n GET_USERS,\n} from \"../../queries/user\";\n\nexport const useGetUsers = () => {\n const { loading, error, data, refetch } = useQuery<{ users: UserType[] }>(\n GET_USERS,\n {\n fetchPolicy: \"network-only\",\n },\n );\n\n const users = data?.users || [];\n\n return { error, loading, refetch, users };\n};\n\nexport const useGetUser = (_id: string) => {\n const { loading, error, data, refetch } = useQuery<{ user: UserType }>(\n GET_USER,\n {\n variables: { _id },\n },\n );\n\n const user = data?.user;\n\n return { error, loading, refetch, user };\n};\n\nexport const useGetUserEvents = () => {\n const { loading, error, data, refetch } = useQuery<{\n userEvents: EventType[];\n }>(GET_USER_EVENTS, {\n fetchPolicy: \"network-only\",\n });\n\n const userEvents = data?.userEvents || [];\n\n return { error, loading, refetch, userEvents };\n};\n\nexport const useGetUserVendors = () => {\n const { loading, error, data, refetch } = useQuery<{\n userVendors: VendorType[];\n }>(GET_USER_VENDORS, {\n fetchPolicy: \"network-only\",\n });\n\n const userVendors = data?.userVendors || [];\n\n return { error, loading, refetch, userVendors };\n};\n\nexport const useGetUserActivities = () => {\n const { loading, error, data, refetch } = useQuery<{\n userActivities: {\n favourites: {\n events: EventType[];\n vendors: VendorType[];\n };\n going: {\n events: EventType[];\n };\n interested: {\n events: EventType[];\n };\n present: {\n events: EventType[];\n };\n };\n }>(GET_USER_ACTIVITIES, {\n fetchPolicy: \"network-only\",\n });\n\n const userActivities = {\n favourites: {\n events: data?.userActivities.favourites.events || [],\n vendors: data?.userActivities.favourites.vendors || [],\n },\n going: {\n events: data?.userActivities.going.events || [],\n },\n interested: {\n events: data?.userActivities.interested.events || [],\n },\n present: {\n events: data?.userActivities.present.events || [],\n },\n };\n\n return { error, loading, refetch, userActivities };\n};\n","import { useMutation } from \"@apollo/client\";\n\nimport {\n CREATE_AD_MUTATION,\n DELETE_AD_MUTATION,\n UPDATE_AD_MUTATION,\n} from \"src/graphql/mutations/ad\";\nimport { GET_ADS } from \"src/graphql/queries/ad\";\n\nexport const useCreateAd = () => {\n const [createAd, { loading, error }] = useMutation(CREATE_AD_MUTATION, {\n awaitRefetchQueries: true,\n refetchQueries: [{ query: GET_ADS }],\n });\n\n return {\n createAd,\n error,\n loading,\n };\n};\n\nexport const useUpdateAd = () => {\n const [updateAd, { loading, error }] = useMutation(UPDATE_AD_MUTATION, {\n awaitRefetchQueries: true,\n refetchQueries: [{ query: GET_ADS }],\n });\n\n return {\n error,\n loading,\n updateAd,\n };\n};\n\nexport const useDeleteAd = () => {\n const [deleteAd, { loading, error }] = useMutation(DELETE_AD_MUTATION, {\n awaitRefetchQueries: true,\n refetchQueries: [{ query: GET_ADS }],\n });\n\n return {\n deleteAd,\n error,\n loading,\n };\n};\n","import { gql } from \"@apollo/client\";\n\nimport { AD_FIELDS_FRAGMENT } from \"../queries/ad\";\n\nexport const CREATE_AD_MUTATION = gql`\n mutation createAd($input: AdInputType!) {\n createAd(input: $input) {\n ...AdFields\n }\n }\n ${AD_FIELDS_FRAGMENT}\n`;\n\nexport const UPDATE_AD_MUTATION = gql`\n mutation updateAd($_id: ID!, $input: AdInputType!) {\n updateAd(_id: $_id, input: $input) {\n ...AdFields\n }\n }\n ${AD_FIELDS_FRAGMENT}\n`;\n\nexport const DELETE_AD_MUTATION = gql`\n mutation deleteAd($_id: ID!) {\n deleteAd(_id: $_id)\n }\n`;\n","import { gql } from \"@apollo/client\";\n\nimport { SOCIAL_MEDIA_FIELDS_FRAGMENT } from \"./global\";\n\nexport const AD_FIELDS_FRAGMENT = gql`\n fragment AdFields on AdType {\n _id\n active\n adStyle\n adType\n clicks\n createdAt\n end\n impressions\n resourceCover\n resourceDescription\n resourceId\n resourceLogo\n resourceName\n resourceRegion\n resourceType\n showOn\n socialMedia {\n ...SocialMediaFields\n }\n start\n status\n targetRegion\n updatedAt\n }\n ${SOCIAL_MEDIA_FIELDS_FRAGMENT}\n`;\n\nexport const GET_ADS = gql`\n query getAds {\n ads {\n ...AdFields\n }\n }\n ${AD_FIELDS_FRAGMENT}\n`;\n\nexport const GET_AD = gql`\n query getAd($_id: ID!) {\n ad(_id: $_id) {\n ...AdFields\n }\n }\n ${AD_FIELDS_FRAGMENT}\n`;\n\nexport const GET_ADS_BY_REGION = gql`\n query getAdsByRegion($region: String!, $status: AdStatusTypeEnum) {\n adsByRegion(region: $region, status: $status) {\n ...AdFields\n }\n }\n ${AD_FIELDS_FRAGMENT}\n`;\n","import { useQuery } from \"@apollo/client\";\n\nimport { GET_ADS, GET_AD, GET_ADS_BY_REGION } from \"src/graphql/queries/ad\";\nimport { AdType, EnumAdStatus } from \"src/types\";\n\nexport const useGetAds = () => {\n const { data, loading, error, refetch } = useQuery<{ ads: AdType[] }>(\n GET_ADS,\n {\n fetchPolicy: \"no-cache\",\n },\n );\n\n return {\n ads: data?.ads || [],\n error,\n loading,\n refetch,\n };\n};\n\nexport const useGetAd = (_id: string) => {\n const { data, loading, error, refetch } = useQuery<{ ad: AdType }>(GET_AD, {\n fetchPolicy: \"no-cache\",\n skip: !_id,\n variables: { _id },\n });\n\n return {\n ad: data?.ad,\n error,\n loading,\n refetch,\n };\n};\n\nexport const useGetAdsByRegion = (region: string, status?: EnumAdStatus) => {\n const { data, loading, error, refetch } = useQuery<{\n adsByRegion: AdType[];\n }>(GET_ADS_BY_REGION, {\n fetchPolicy: \"no-cache\",\n skip: !region,\n variables: { region, status },\n });\n\n return {\n adsByRegion: data?.adsByRegion || [],\n error,\n loading,\n refetch,\n };\n};\n","import { useMutation } from \"@apollo/client\";\n\nimport { CREATE_RESOURCE_ACTIVITY_MUTATION } from \"src/graphql/mutations/resourceActivities\";\n\nexport const useCreateResourceActivity = () => {\n const [createResourceActivity, { loading, error }] = useMutation(\n CREATE_RESOURCE_ACTIVITY_MUTATION,\n );\n\n return { createResourceActivity, error, loading };\n};\n","import { gql } from \"@apollo/client\";\n\nexport const CREATE_RESOURCE_ACTIVITY_MUTATION = gql`\n mutation createResourceActivity($input: ResourceActivityInputType!) {\n createResourceActivity(input: $input)\n }\n`;\n","import { useQuery } from \"@apollo/client\";\n\nimport { EnumResourceType } from \"src/enums\";\nimport { GET_RESOURCE_ACTIVITIES } from \"src/graphql/queries/resourceActivities\";\nimport { ResourceActivityType } from \"src/types\";\n\nexport const useGetResourceActivities = (\n resourceId: string,\n resourceType: EnumResourceType,\n) => {\n const { data, loading, error, refetch } = useQuery<{\n resourceActivities: ResourceActivityType[];\n }>(GET_RESOURCE_ACTIVITIES, {\n fetchPolicy: \"network-only\",\n variables: { resourceId, resourceType },\n });\n\n return {\n error,\n loading,\n refetch,\n resourceActivities: data?.resourceActivities || [],\n };\n};\n","import { gql } from \"@apollo/client\";\n\nconst RESOURCE_ACTIVITIES_FIELDS_FRAGMENT = gql`\n fragment ResourceActivitiesFields on ResourceActivitiesType {\n resourceId\n resourceType\n activity {\n activityType\n location {\n type\n coordinates\n }\n dateStatus\n startDate\n startTime\n timestamp\n userAgent\n userId\n }\n }\n`;\n\nexport const GET_RESOURCE_ACTIVITIES = gql`\n query getResourceActivities(\n $resourceType: ResourceTypeEnum!\n $resourceId: ID!\n ) {\n resourceActivities(resourceType: $resourceType, resourceId: $resourceId) {\n ...ResourceActivitiesFields\n }\n }\n ${RESOURCE_ACTIVITIES_FIELDS_FRAGMENT}\n`;\n","import { useMutation } from \"@apollo/client\";\n\nimport {\n CANCEL_SUBSCRIPTION_MUTATION,\n CREATE_CHECKOUT_SESSION_MUTATION,\n UPDATE_SUBSCRIPTION_PLAN_MUTATION,\n} from \"../../mutations/stripe\";\n\nexport const useCreateCheckoutSession = () => {\n const [createCheckoutSession, { loading, error }] = useMutation(\n CREATE_CHECKOUT_SESSION_MUTATION,\n );\n\n return { createCheckoutSession, error, loading };\n};\n\nexport const useCancelSubscription = () => {\n const [cancelSubscription, { loading, error }] = useMutation(\n CANCEL_SUBSCRIPTION_MUTATION,\n );\n\n return { cancelSubscription, error, loading };\n};\n\nexport const useUpdateSubscriptionPlan = () => {\n const [updateSubscriptionPlan, { loading, error }] = useMutation(\n UPDATE_SUBSCRIPTION_PLAN_MUTATION,\n );\n\n return { error, loading, updateSubscriptionPlan };\n};\n","import { gql } from \"@apollo/client\";\n\nexport const CREATE_CHECKOUT_SESSION_MUTATION = gql`\n mutation createCheckoutSession($planId: LicencesEnumType!) {\n createCheckoutSession(planId: $planId) {\n sessionId\n checkoutUrl\n }\n }\n`;\n\nexport const CANCEL_SUBSCRIPTION_MUTATION = gql`\n mutation cancelSubscription {\n cancelSubscription\n }\n`;\n\nexport const UPDATE_SUBSCRIPTION_PLAN_MUTATION = gql`\n mutation updateSubscriptionPlan($newPlanId: LicencesEnumType!) {\n updateSubscriptionPlan(newPlanId: $newPlanId) {\n subscriptionId\n status\n priceId\n currentPlan\n }\n }\n`;\n","import { useQuery } from \"@apollo/client\";\n\nimport { SubscriptionStatusData } from \"../../../types/user\";\nimport { GET_SUBSCRIPTION_STATUS } from \"../../queries/stripe\";\n\nexport const useGetSubscriptionStatus = () => {\n const { data, loading, error, refetch } = useQuery<{\n getSubscriptionStatus: SubscriptionStatusData;\n }>(GET_SUBSCRIPTION_STATUS);\n\n return {\n data: data?.getSubscriptionStatus,\n error,\n loading,\n refetch,\n };\n};\n","import { gql } from \"@apollo/client\";\n\nexport const GET_SUBSCRIPTION_STATUS = gql`\n query getSubscriptionStatus {\n getSubscriptionStatus {\n subscriptionId\n status\n priceId\n currentPlan\n }\n }\n`;\n","import { useMutation } from \"@apollo/client\";\n\nimport {\n CREATE_PARTNER_MUTATION,\n DELETE_PARTNER_MUTATION,\n UPDATE_PARTNER_MUTATION,\n} from \"src/graphql/mutations/partner\";\nimport { GET_USER_PARTNERS } from \"src/graphql/queries/user\";\n\nexport const useCreatePartner = () => {\n const [createPartner, { loading, error }] = useMutation(\n CREATE_PARTNER_MUTATION,\n {\n awaitRefetchQueries: true,\n refetchQueries: [{ query: GET_USER_PARTNERS }],\n },\n );\n\n return { createPartner, error, loading };\n};\n\nexport const useUpdatePartner = () => {\n const [updatePartner, { loading, error }] = useMutation(\n UPDATE_PARTNER_MUTATION,\n {\n awaitRefetchQueries: true,\n refetchQueries: [{ query: GET_USER_PARTNERS }],\n },\n );\n\n return { error, loading, updatePartner };\n};\n\nexport const useDeletePartner = () => {\n const [deletePartner, { loading, error }] = useMutation(\n DELETE_PARTNER_MUTATION,\n {\n awaitRefetchQueries: true,\n refetchQueries: [{ query: GET_USER_PARTNERS }],\n },\n );\n\n return { deletePartner, error, loading };\n};\n","import { gql } from \"@apollo/client\";\n\nimport { PARTNER } from \"../queries/partner\";\n\nexport const CREATE_PARTNER_MUTATION = gql`\n mutation createPartner($input: PartnerInputType!) {\n createPartner(input: $input) {\n ...PartnerFields\n }\n }\n ${PARTNER}\n`;\n\nexport const UPDATE_PARTNER_MUTATION = gql`\n mutation updatePartner($_id: ID!, $input: PartnerInputType!) {\n updatePartner(_id: $_id, input: $input) {\n ...PartnerFields\n }\n }\n ${PARTNER}\n`;\n\nexport const DELETE_PARTNER_MUTATION = gql`\n mutation deletePartner($_id: ID!) {\n deletePartner(_id: $_id)\n }\n`;\n","import { useQuery } from \"@apollo/client\";\n\nimport { PartnerType } from \"src/types/partner\";\n\nimport {\n GET_PARTNER,\n GET_PARTNERS,\n GET_PARTNERS_BY_REGION,\n SEARCH_PARTNERS,\n} from \"../../queries/partner\";\n\nexport const useGetPartners = () => {\n const { loading, error, data, refetch } = useQuery<{\n partners: PartnerType[];\n }>(GET_PARTNERS, {\n fetchPolicy: \"network-only\",\n });\n const partners = data?.partners || [];\n\n return {\n error,\n loading,\n partners,\n refetch,\n };\n};\n\nexport const useGetPartner = (_id: string) => {\n const { loading, error, data, refetch } = useQuery<{ partner: PartnerType }>(\n GET_PARTNER,\n {\n fetchPolicy: \"network-only\",\n skip: !_id,\n variables: { _id },\n },\n );\n\n const partner = data?.partner;\n\n return { error, loading, partner, refetch };\n};\n\nexport const useGetPartnersByRegion = (region: string) => {\n const { loading, error, data, refetch } = useQuery<{\n partnersByRegion: PartnerType[];\n }>(GET_PARTNERS_BY_REGION, {\n fetchPolicy: \"no-cache\",\n skip: !region,\n variables: { region },\n });\n\n const partnersByRegion = data?.partnersByRegion || [];\n\n return { error, loading, partnersByRegion, refetch };\n};\n\nexport const useSearchPartners = (search: string, region: string) => {\n const { loading, error, data, refetch } = useQuery<{\n partnersSearch: PartnerType[];\n }>(SEARCH_PARTNERS, {\n fetchPolicy: \"network-only\",\n skip: search.length < 3,\n variables: { region, search },\n });\n\n const partnersSearch = data?.partnersSearch || [];\n\n return { error, loading, partnersSearch, refetch };\n};\n","import { useMutation } from \"@apollo/client\";\n\nimport {\n CREATE_POST_MUTATION,\n DELETE_POST_MUTATION,\n UPDATE_POST_MUTATION,\n} from \"src/graphql/mutations/post\";\nimport { GET_POSTS } from \"src/graphql/queries/post\";\n\nexport const useCreatePost = () => {\n const [createPost, { loading, error }] = useMutation(CREATE_POST_MUTATION, {\n awaitRefetchQueries: true,\n refetchQueries: [{ query: GET_POSTS }],\n });\n\n return { createPost, error, loading };\n};\n\nexport const useUpdatePost = () => {\n const [updatePost, { loading, error }] = useMutation(UPDATE_POST_MUTATION, {\n awaitRefetchQueries: true,\n refetchQueries: [{ query: GET_POSTS }],\n });\n\n return { error, loading, updatePost };\n};\n\nexport const useDeletePost = () => {\n const [deletePost, { loading, error }] = useMutation(DELETE_POST_MUTATION, {\n awaitRefetchQueries: true,\n refetchQueries: [{ query: GET_POSTS }],\n });\n\n return { deletePost, error, loading };\n};\n","import { gql } from \"@apollo/client\";\n\nimport { POST_FIELDS_FRAGMENT } from \"../queries/post\";\n\nexport const CREATE_POST_MUTATION = gql`\n mutation createPost($input: PostInputType!) {\n createPost(input: $input) {\n ...PostFields\n }\n }\n ${POST_FIELDS_FRAGMENT}\n`;\n\nexport const UPDATE_POST_MUTATION = gql`\n mutation updatePost($_id: ID!, $input: PostInputType!) {\n updatePost(_id: $_id, input: $input) {\n ...PostFields\n }\n }\n ${POST_FIELDS_FRAGMENT}\n`;\n\nexport const DELETE_POST_MUTATION = gql`\n mutation deletePost($_id: ID!) {\n deletePost(_id: $_id)\n }\n`;\n","import { gql } from \"@apollo/client\";\n\nimport { RESOURCE_IMAGE_FIELDS_FRAGMENT } from \"./global\";\n\nconst POST_CONTENT_DATA_FIELDS_FRAGMENT = gql`\n fragment PostContentDataFields on PostContentData {\n cover {\n ...ResourceImageFields\n }\n textarea {\n title\n data\n }\n images {\n ...ResourceImageFields\n }\n video {\n source\n title\n }\n list {\n title\n items\n }\n }\n ${RESOURCE_IMAGE_FIELDS_FRAGMENT}\n`;\n\nconst POST_CONTENT_FIELDS_FRAGMENT = gql`\n fragment PostContentFields on PostContentType {\n _id\n contentData {\n ...PostContentDataFields\n }\n contentOrder\n contentType\n }\n ${POST_CONTENT_DATA_FIELDS_FRAGMENT}\n`;\n\nexport const POST_FIELDS_FRAGMENT = gql`\n fragment PostFields on PostType {\n _id\n active\n content {\n ...PostContentFields\n }\n postType\n tags\n title\n createdAt\n updatedAt\n }\n ${POST_CONTENT_FIELDS_FRAGMENT}\n`;\n\nexport const GET_POSTS = gql`\n query getPosts {\n posts {\n ...PostFields\n }\n }\n ${POST_FIELDS_FRAGMENT}\n`;\n\nexport const GET_POST = gql`\n query getPost($postId: ID!) {\n post(postId: $postId) {\n ...PostFields\n }\n }\n ${POST_FIELDS_FRAGMENT}\n`;\n\nexport const GET_POSTS_BY_TYPE = gql`\n query getPostsByType($postType: PostTypeEnum!) {\n postsByType(postType: $postType) {\n ...PostFields\n }\n }\n ${POST_FIELDS_FRAGMENT}\n`;\n","import { useQuery } from \"@apollo/client\";\n\nimport {\n GET_POST,\n GET_POSTS,\n GET_POSTS_BY_TYPE,\n} from \"src/graphql/queries/post\";\nimport { EnumPostType, PostType } from \"src/types\";\n\nexport const useGetPosts = () => {\n const { data, loading, error, refetch } = useQuery<{\n posts: PostType[];\n }>(GET_POSTS);\n\n return { error, loading, posts: data?.posts || [], refetch };\n};\n\nexport const useGetPost = (postId: string) => {\n const { data, loading, error, refetch } = useQuery<{\n post: PostType;\n }>(GET_POST, {\n skip: !postId,\n variables: { postId },\n });\n\n return { error, loading, post: data?.post || null, refetch };\n};\n\nexport const useGetPostsByType = (postType: EnumPostType) => {\n const { data, loading, error, refetch } = useQuery<{\n postsByType: PostType[];\n }>(GET_POSTS_BY_TYPE, {\n skip: !postType,\n variables: { postType },\n });\n\n return { error, loading, postsByType: data?.postsByType || [], refetch };\n};\n","/* 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\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 { Resolver, useForm } from \"react-hook-form\";\n\nimport { CreateVendorFormData, VendorFormData } from \"../../types/vendor\";\nimport { vendorSchema } from \"../../yupSchema\";\nimport {\n defaultVendorFormValues,\n mapBaseResourceTypeToFormData,\n} from \"../utils\";\n\n/**\n * Custom hook to manage the vendor form state and validation.\n *\n * @param {VendorFormData} data - The initial form data.\n * @returns {CreateVendorFormData} - The form methods and state.\n */\nexport function useVendorForm(data?: VendorFormData): CreateVendorFormData {\n const {\n control,\n formState: { errors },\n getValues,\n handleSubmit,\n reset,\n setValue,\n watch,\n } = useForm<VendorFormData>({\n defaultValues: defaultVendorFormValues,\n resolver: yupResolver(vendorSchema) as Resolver<VendorFormData>,\n });\n\n React.useEffect(() => {\n if (data) {\n reset({\n ...mapBaseResourceTypeToFormData(data),\n availability: data.availability,\n categories: data.categories,\n foodTruck: data.foodTruck,\n locations: data.locations,\n multiLocation: data.multiLocation,\n products: data.products,\n vendorType: data.vendorType,\n });\n } else {\n reset(defaultVendorFormValues);\n }\n }, [data]);\n\n const {\n _id,\n active,\n associates,\n availability,\n categories,\n contactDetails,\n cover,\n coverUpload,\n foodTruck,\n description,\n images,\n imagesUpload,\n locations,\n logo,\n logoUpload,\n multiLocation,\n name,\n owner,\n products,\n promoCodes,\n region,\n socialMedia,\n termsAgreement,\n vendorType,\n } = getValues();\n\n return {\n control,\n fields: {\n _id,\n active,\n associates,\n availability,\n categories,\n contactDetails,\n cover,\n coverUpload,\n description,\n foodTruck,\n images,\n imagesUpload,\n locations,\n logo,\n logoUpload,\n multiLocation,\n name,\n owner,\n products,\n promoCodes,\n region,\n socialMedia,\n termsAgreement,\n vendorType,\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 {\n EnumEventDateStatus,\n EnumResourceType,\n EnumSocialMedia,\n EnumUserLicence,\n} from \"src/enums\";\n\nimport { dateFormat, normalizeUrl, timeFormat } from \"../utils\";\n\ntype NoLeadingZerosOptions = {\n allowDecimal?: boolean;\n};\n\nexport const nzBankAccountRegex = /^\\d{2}-\\d{4}-\\d{7}-\\d{2}$/;\n\nexport const nzbnRegex = /^94\\d{11}$/;\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\n// ✅ Reusable Required Email Schema\nexport const emailRequiredSchema = yup\n .string()\n .email(\"Invalid email address\")\n .required(\"Email is required\")\n .label(\"Email\")\n .transform((value) =>\n typeof value === \"string\" ? value.trim().toLowerCase() : value,\n );\n\nexport const emailOptionalSchema = yup\n .string()\n .nullable()\n .notRequired()\n .transform((value) =>\n typeof value === \"string\" ? value.trim().toLowerCase() : value,\n )\n .test(\n \"is-valid-email\",\n \"Invalid email address\",\n (value) => !value || yup.string().email().isValidSync(value),\n )\n .label(\"Email\");\n\n// Mobile: starts with 02, 9-11 digits\nexport const mobileRegex = /^02\\d{7,9}$/;\n// Landline: starts with 03, 04, 06, 07, 09 (but not 090), 7 digits after area code\nconst landlineRegex = /^(0(3|4|6|7|9)[0-9]{7})$/;\n\nexport const mobilePhoneSchema = yup\n .string()\n .label(\"Mobile Phone\")\n .nullable()\n .notRequired()\n .test(\n \"mobile-phone\",\n \"Mobile must start with 02 and be 9–11 digits\",\n (value) => !value || mobileRegex.test(value), // skip empty values\n );\n\nconst landlinePhoneSchema = yup\n .string()\n .label(\"Landline Phone\")\n .nullable()\n .notRequired()\n .test(\n \"landline-phone\",\n \"Landline must start with 03, 04, 06, 07, or 09 (not 090) and have 7 digits after area code\",\n (value) => !value || landlineRegex.test(value), // skip empty values\n );\n\nexport const contactDetailsSchema = yup\n .object({\n email: emailOptionalSchema,\n mobilePhone: mobilePhoneSchema,\n landlinePhone: landlinePhoneSchema,\n })\n .nullable()\n .default(undefined);\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 const now = dayjs(); // Current date and time\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 const now = dayjs(); // Current date and time\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 now = dayjs(); // Current date and time\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 dateStatus: yup\n .mixed<EnumEventDateStatus>()\n .oneOf(Object.values(EnumEventDateStatus))\n .required(\"Date status is required\"),\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 Type\")\n .required(\"Stall type 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 .label(\"Stall Capacity\")\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 electricity: yup\n .object({\n selected: yup\n .boolean()\n .nullable()\n .optional()\n .label(\"Electricity Available\"),\n price: yup\n .number()\n .transform((value, originalValue) =>\n originalValue === \"\" ? null : value,\n )\n .integer(\"Electricity price must be a whole number\")\n .test(\n \"no-leading-zeros\",\n \"\",\n noLeadingZeros(\"Electricity price\", { allowDecimal: true }),\n )\n .nullable()\n .optional(),\n })\n .nullable()\n .optional()\n .label(\"Electricity Information\"),\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 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\nexport const 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 contactDetails: contactDetailsSchema,\n description: yup\n .string()\n .label(\"Description\")\n .trim()\n .min(3)\n .required(\"Description is required\"),\n name: yup\n .string()\n .label(\"Name\")\n .trim()\n .min(3)\n .max(40)\n .required(\"Name is required\"),\n region: yup.string().label(\"Region\").required(\"Region is required\"),\n socialMedia: yup.array().of(socialMediaSchema).nullable().default(null),\n associates: yup\n .array()\n .of(\n yup.object().shape({\n email: emailRequiredSchema,\n resourceId: yup\n .string()\n .label(\"Resource ID\")\n .required(\"Resource ID is required\"),\n resourceType: yup\n .mixed<EnumResourceType>()\n .oneOf(Object.values(EnumResourceType))\n .label(\"Resource Type\")\n .required(\"Resource Type is required\"),\n licence: yup.object({\n expiryDate: yup.date().required(\"Expiry Date is required\"),\n issuedDate: yup.date().required(\"Issued Date is required\"),\n licenceType: yup\n .mixed<EnumUserLicence>()\n .oneOf(Object.values(EnumUserLicence))\n .label(\"Licence Type\")\n .required(\"Licence Type is required\"),\n }),\n }),\n )\n .nullable()\n .default(null),\n});\n\nexport const categorySchema = yup.array().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","/* eslint-disable sort-keys */\nimport * as yup from \"yup\";\n\nimport { EnumEventType, EnumPaymentMethod } from \"../enums\";\n\nimport {\n dateTimeSchema,\n dateTimeWithPriceSchema,\n globalResourceSchema,\n locationSchema,\n noLeadingZeros,\n normalizedUrlTransform,\n nzBankAccountRegex,\n nzbnRegex,\n} from \"./global\";\n\nexport const eventSchema = globalResourceSchema.shape({\n dateTime: yup\n .array()\n .of(dateTimeSchema)\n .min(1, \"At least one Event date required\")\n .max(50, \"You can only add up to 50 Event dates\") // <-- enforce max 50\n .required(\"DateTime is required\")\n .test(\n \"unique-start-date-time\",\n \"Start Date and Start Time must be unique\",\n function (value) {\n if (!value) return true;\n\n const seen = new Set<string>();\n for (const item of value) {\n // Only validate uniqueness when both fields exist\n if (!item.startDate || !item.startTime) continue;\n\n const key = `${item.startDate}_${item.startTime}`;\n\n if (seen.has(key)) {\n return false;\n }\n\n seen.add(key);\n }\n return true;\n },\n ),\n eventType: yup\n .mixed<EnumEventType>()\n .oneOf(Object.values(EnumEventType))\n .required(\"Please select an Event type\"),\n location: locationSchema,\n nzbn: yup\n .string()\n .required(\"NZBN is required\")\n .matches(nzbnRegex, \"NZBN must be 13 digits and start with 94\"),\n rainOrShine: yup\n .boolean()\n .label(\"Rain or Shine\")\n .required(\"Please specify if the event is rain or shine\"),\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 eventInfoSchema = yup.object().shape({\n applicationDeadlineHours: yup\n .number()\n .label(\"Application Deadline Hours\")\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 eventId: yup.string().trim().required(\"Event ID is required\"),\n packInTime: yup\n .number()\n .label(\"Pack In Time\")\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 .label(\"Payment Due Hours\")\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 .test(\n \"payment-before-deadline\",\n \"Payment due hours must be less than application deadline hours\",\n function (value) {\n const { applicationDeadlineHours } = this.parent;\n\n // Both are numbers (enforced by schema), so direct comparison is fine\n return value < applicationDeadlineHours;\n },\n ),\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 { EnumFoodFlavor, EnumVendorType } from \"src/enums\";\n\nimport { categorySchema, globalResourceSchema } from \"./global\";\n\nconst vendroMenuSchema = yup.object().shape({\n description: yup.string().trim().max(100).optional().nullable(),\n price: yup\n .number()\n .transform((value, originalValue) => (originalValue === \"\" ? null : value))\n .min(0)\n .optional()\n .nullable(),\n title: yup.string().trim().max(50).optional().nullable(),\n});\n\nexport const vendorSchema = globalResourceSchema.shape({\n categories: categorySchema\n .min(1, \"Category list must contain at least one item\")\n .required(\"Categories are required\"),\n foodTruck: yup\n .boolean()\n .label(\"Food Truck\")\n .required(\"Please specify if the vendor is a food truck\"),\n multiLocation: yup.boolean().required(\"Multi location is required\"),\n products: yup.array().of(vendroMenuSchema).nullable().default(null),\n vendorType: yup\n .mixed<EnumVendorType>()\n .oneOf(Object.values(EnumVendorType))\n .required(\"Please select a Vendor type\"),\n});\n\nexport const vendorInfoSchema = yup.object().shape({\n product: yup.object().shape({\n foodFlavors: yup\n .array()\n .of(\n yup\n .mixed<EnumFoodFlavor>()\n .oneOf(Object.values(EnumFoodFlavor), \"Invalid flavor selected\")\n .required(\"Flavor is required\"),\n )\n .min(1, \"Food flavors list must contain at least one item\")\n .required(\"Food flavors are required\"),\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 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 }),\n requirements: yup\n .object()\n .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\n .boolean()\n .required(\"Electricity requirement is required\"),\n }),\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 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 .optional(),\n stallInfo: yup.object().shape({\n size: 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 }),\n vendorId: yup.string().trim().required(\"Vendor ID is required\"),\n});\n","/* eslint-disable sort-keys */\nimport * as yup from \"yup\";\n\nimport { EnumUserRole } from \"../enums\";\n\nimport { emailRequiredSchema } from \"./global\";\n\nexport const userSchema = yup.object().shape({\n active: yup.boolean().required(\"Active is required\"),\n email: emailRequiredSchema,\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 isTester: yup.boolean().required(\"Tester status is required\"),\n password: yup\n .string()\n .nullable()\n .trim()\n .label(\"Password\")\n // simple rule: if user enters something → must be at least 8 chars\n .min(8, \"Password must be at least 8 characters long\")\n .notRequired(),\n preferredRegion: yup\n .string()\n .label(\"Preferred Region\")\n .required(\"Preferred region is required\"),\n confirmPassword: yup\n .string()\n .nullable()\n .trim()\n .label(\"Confirm Password\")\n .when(\"password\", {\n is: (val: string | null) => !!val, // only necessary if password typed\n then: (schema) =>\n schema\n .required(\"Confirm Password is required\")\n .oneOf([yup.ref(\"password\")], \"Passwords must match\"),\n otherwise: (schema) => schema.notRequired(),\n }),\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 { emailRequiredSchema, passwordSchema } from \"./global\";\n\nexport const loginSchema = yup.object().shape({\n email: emailRequiredSchema,\n password: passwordSchema,\n});\n\nexport const registerSchema = yup.object().shape({\n email: emailRequiredSchema,\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: emailRequiredSchema,\n});\n\nexport const resetPasswordSchema = yup.object().shape({\n email: emailRequiredSchema,\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: emailRequiredSchema,\n verificationToken: yup\n .string()\n .required(\"Verification code is required\")\n .matches(/^\\d{6}$/, \"Verification code must be exactly 6 digits\"),\n});\n","import * as yup from \"yup\";\n\nimport { EnumOSPlatform, EnumResourceType } from \"src/enums\";\nimport {\n OrganizedMarketCount,\n OrganizerMarketFrequency,\n TesterEvent,\n TesterVendor,\n VendorSellingFrequency,\n} from \"src/types/tester\";\n\nimport {\n categorySchema,\n emailRequiredSchema,\n mobileRegex,\n noLeadingZeros,\n} from \"./global\";\n\nconst testerVendorSchema = yup.object().shape({\n categories: categorySchema\n .min(1, \"Category list must contain at least one item\")\n .required(\"Categories are required\"),\n marketsAttended: yup\n .array()\n .of(\n yup.object().shape({\n city: yup.string().trim().required(\"City is required\"),\n name: yup.string().trim().required(\"Market name is required\"),\n }),\n )\n .min(1, \"At least one market must be provided\")\n .required(\"Markets attended are required\"),\n productsOrServices: yup\n .string()\n .trim()\n .required(\"Products or services description is required\"),\n questionary: yup.object().shape({\n appearInVideoIntroduction: yup.boolean().optional(),\n applyToAtLeastOneMarket: yup.boolean().required(\"Required field\"),\n completeFeedbackQuestionnaire: yup.boolean().required(\"Required field\"),\n excitementAboutApp: yup.string().trim().optional(),\n sendPhotoForSocialMedia: yup.boolean().optional(),\n socialMediaFeatureReason: yup.string().trim().optional(),\n testingPeriodConcerns: yup.string().trim().optional(),\n tryVisitorFeatures: yup.boolean().required(\"Required field\"),\n uploadStallProfileFirstWeek: yup.boolean().required(\"Required field\"),\n usefulnessExpectations: yup.string().trim().optional(),\n }),\n sellingFrequency: yup\n .mixed<VendorSellingFrequency>()\n .oneOf(\n Object.values(VendorSellingFrequency),\n \"Please select a valid selling frequency\",\n )\n .required(\"Required field\"),\n yearlySellingApprox: yup\n .number()\n .label(\"Yearly Selling Approx\")\n .min(1, \"Yearly selling approximate must be at least 1\")\n .integer(\"Yearly selling approximate must be a whole number\")\n .required(\"Yearly selling approximate is required\")\n .test(\"no-leading-zeros\", \"\", noLeadingZeros(\"Yearly selling approximate\")),\n});\n\nconst testerEventSchema = yup.object().shape({\n markets: yup\n .array()\n .of(\n yup.object().shape({\n averageStallCount: yup\n .number()\n .label(\"Average Stall Count\")\n .min(1, \"Average stall count must be at least 1\")\n .integer(\"Average stall count must be a whole number\")\n .required(\"Average stall count is required\")\n .test(\"no-leading-zeros\", \"\", noLeadingZeros(\"Average stall count\")),\n cityOrVenue: yup.string().trim().required(\"City or venue is required\"),\n frequency: yup\n .mixed<OrganizerMarketFrequency>()\n .oneOf(\n Object.values(OrganizerMarketFrequency),\n \"Please select a valid frequency\",\n )\n .required(\"Frequency is required\"),\n name: yup.string().trim().required(\"Market name is required\"),\n }),\n )\n .min(1, \"At least one market must be provided\")\n .required(\"Markets are required\"),\n organizedMarketCount: yup\n .mixed<OrganizedMarketCount>()\n .oneOf(\n Object.values(OrganizedMarketCount),\n \"Please select a valid market count\",\n )\n .required(\"Organized market count is required\"),\n\n questionary: yup.object().shape({\n allowMarketingAppearance: yup.boolean().optional(),\n completeFinalQuestionnaire: yup.boolean().required(\"Required field\"),\n dailyCoordinationNeeds: yup.string().trim().optional(),\n interestedInCharityInitiative: yup.boolean().optional(),\n inviteAtLeastFiveStallholders: yup.boolean().required(\"Required field\"),\n manageApplicationsAndCommunication: yup\n .boolean()\n .required(\"Required field\"),\n organizerExpectations: yup.string().trim().optional(),\n registerMarketsFirstWeek: yup.boolean().required(\"Required field\"),\n spaceForClueMart: yup.boolean().optional(),\n }),\n});\n\nexport const testerSchema = yup.object().shape({\n businessName: yup.string().required(\"Business name is required\"),\n consents: yup.object().shape({\n betaTestConsent: yup\n .boolean()\n .oneOf([true], \"You must consent to beta testing\")\n .required(\"Beta test consent is required\"),\n privacyConsent: yup\n .boolean()\n .oneOf([true], \"You must accept the Privacy Policy\")\n .required(\"Privacy consent is required\"),\n }),\n email: emailRequiredSchema,\n event: yup.object().when(\"resourceType\", {\n is: (resourceType: EnumResourceType) =>\n resourceType === EnumResourceType.EVENT,\n otherwise: (schema) => schema.nullable().optional(),\n then: (schema) =>\n schema\n .required(\"Event information is required\")\n .shape(testerEventSchema.fields),\n }) as unknown as yup.Schema<TesterEvent | null | undefined>,\n firstName: yup.string().required(\"First name is required\"),\n lastName: yup.string().required(\"Last name is required\"),\n mobilePhone: yup\n .string()\n .label(\"Mobile Phone\")\n .required(\"Mobile phone is required\")\n .test(\n \"mobile-phone\",\n \"Mobile must start with 02 and be 9–11 digits\",\n (value) => !value || mobileRegex.test(value), // skip empty values\n ),\n osType: yup\n .mixed<EnumOSPlatform>()\n .oneOf(Object.values(EnumOSPlatform), \"Please select Android or iOS\")\n .required(\"OS Type is required\"),\n region: yup.string().required(\"Region is required\"),\n resourceType: yup\n .mixed<EnumResourceType>()\n .oneOf(\n Object.values(EnumResourceType),\n \"Please select Event or Stallholder\",\n )\n .required(\"Resource Type is required\"),\n vendor: yup.object().when(\"resourceType\", {\n is: (resourceType: EnumResourceType) =>\n resourceType === EnumResourceType.VENDOR,\n otherwise: (schema) => schema.nullable().optional(),\n then: (schema) =>\n schema\n .required(\"Vendor information is required\")\n .shape(testerVendorSchema.fields),\n }) as unknown as yup.Schema<TesterVendor | null | undefined>,\n});\n","import { EnumOSPlatform, EnumResourceType } from \"src/enums\";\n\nimport { Category, CreateFormData } from \"./global\";\n\nexport enum OrganizedMarketCount {\n ONE = \"One\",\n TWO_TO_THREE = \"Two_to_Three\",\n FOUR_TO_FIVE = \"Four_to_Five\",\n MORE_THAN_FIVE = \"More_than_Five\",\n}\n\nexport enum VendorSellingFrequency {\n TWICE_A_WEEK = \"Two_to_Three_times_a_week\",\n ONCE_A_WEEK = \"Once_a_week\",\n ONE_TO_TWO_TIMES_A_MONTH = \"One_to_Two_times_a_month\",\n LESS_OFTEN = \"Less_often\",\n}\n\nexport enum OrganizerMarketFrequency {\n WEEKLY = \"Weekly\",\n FORTNIGHTLY = \"Fortnightly\",\n MONTHLY = \"Monthly\",\n SEASONAL = \"Seasonal\",\n}\n\nexport type TesterVendor = {\n categories: Category[];\n marketsAttended: { name: string; city: string }[];\n productsOrServices: string;\n sellingFrequency: VendorSellingFrequency;\n yearlySellingApprox: number;\n questionary: {\n appearInVideoIntroduction?: boolean; // Q15 (Yes / No)\n applyToAtLeastOneMarket: boolean; // Q11\n completeFeedbackQuestionnaire: boolean; // Q13\n excitementAboutApp?: string; // Q17\n sendPhotoForSocialMedia?: boolean; // Q14 (Yes / No)\n socialMediaFeatureReason?: string; // Q16 (optional free text)\n testingPeriodConcerns?: string; // Q19 (optional)\n tryVisitorFeatures: boolean; // Q12\n uploadStallProfileFirstWeek: boolean; // Q10\n usefulnessExpectations?: string; // Q18\n };\n};\n\nexport type TesterEvent = {\n /** Organizer background */\n organizedMarketCount: OrganizedMarketCount;\n markets: {\n name: string;\n cityOrVenue: string;\n frequency: OrganizerMarketFrequency;\n averageStallCount: number;\n }[];\n questionary: {\n allowMarketingAppearance?: boolean;\n completeFinalQuestionnaire: boolean;\n dailyCoordinationNeeds?: string;\n interestedInCharityInitiative?: boolean;\n inviteAtLeastFiveStallholders: boolean;\n manageApplicationsAndCommunication: boolean;\n organizerExpectations?: string;\n registerMarketsFirstWeek: boolean;\n spaceForClueMart?: boolean;\n };\n};\n\nexport interface TesterFormData {\n businessName: string;\n consents: {\n privacyConsent: boolean;\n betaTestConsent: boolean;\n };\n email: string;\n event?: TesterEvent | null;\n firstName: string;\n lastName: string;\n mobilePhone: string;\n osType: EnumOSPlatform;\n region: string;\n resourceType: EnumResourceType;\n vendor?: TesterVendor | null;\n}\n\nexport type CreateTesterFormData = CreateFormData<TesterFormData>;\n\nexport interface TesterType extends TesterFormData {\n _id: string;\n active: boolean;\n approved: boolean;\n createdAt: Date;\n updatedAt: Date | null;\n}\n","/* eslint-disable sort-keys */\nimport * as yup from \"yup\";\n\nimport { EnumResourceType } from \"src/enums\";\nimport {\n EnumAdShowOn,\n EnumAdStatus,\n EnumAdStyle,\n EnumAdType,\n} from \"src/types/ad\";\n\nimport { socialMediaSchema } from \"./global\";\n\nexport const adSchema = yup.object().shape({\n active: yup.boolean().required(\"Active status is required\"),\n adStyle: yup\n .mixed<EnumAdStyle>()\n .oneOf(Object.values(EnumAdStyle), \"Please select a valid ad style\")\n .required(\"Ad style is required\"),\n adType: yup\n .mixed<EnumAdType>()\n .oneOf(Object.values(EnumAdType), \"Please select a valid ad type\")\n .required(\"Ad type is required\"),\n clui: yup.string().nullable().notRequired(),\n end: yup\n .date()\n .required(\"End date is required\")\n .test(\"is-future-date\", \"End date must be in the future\", (value) => {\n if (!value) return false;\n const endDate = new Date(value);\n const now = new Date();\n return endDate > now;\n })\n .when(\"start\", {\n is: (val: string) => val && val.length > 0,\n then: (schema) =>\n schema.test(\n \"is-after-start\",\n \"End date must be after start date\",\n function (value) {\n const { start } = this.parent;\n if (!value || !start) return false;\n return new Date(value) > new Date(start);\n },\n ),\n }),\n resourceCover: yup\n .string()\n .url(\"Resource cover must be a valid URL\")\n .required(\"Resource cover is required\"),\n resourceDescription: yup\n .string()\n .required(\"Resource description is required\"),\n resourceId: yup.string().required(\"Resource ID is required\"),\n resourceLogo: yup\n .string()\n .url(\"Resource logo must be a valid URL\")\n .nullable()\n .notRequired(),\n resourceName: yup.string().required(\"Resource name is required\"),\n resourceRegion: yup.string().required(\"Resource region is required\"),\n resourceType: yup\n .mixed<EnumResourceType>()\n .oneOf(Object.values(EnumResourceType), \"Please select Event or Vendor\")\n .required(\"Resource Type is required\"),\n showOn: yup\n .mixed<EnumAdShowOn>()\n .oneOf(\n Object.values(EnumAdShowOn),\n \"Please select a valid display location\",\n )\n .required(\"Display location is required\"),\n socialMedia: yup.array().of(socialMediaSchema).nullable().optional(),\n status: yup\n .mixed<EnumAdStatus>()\n .oneOf(Object.values(EnumAdStatus))\n .required(\"Ad status is required\"),\n start: yup.date().when(\"status\", {\n is: (status: EnumAdStatus) => status !== EnumAdStatus.ACTIVE,\n then: () =>\n yup\n .date()\n .required(\"Start date is required\")\n .test(\"is-future-date\", \"Start date must be in the future\", (value) => {\n if (!value) return false;\n return value > new Date();\n }),\n otherwise: () => yup.date().nullable().notRequired(),\n }),\n targetRegion: yup.string().nullable().notRequired(),\n});\n","import { EnumResourceType } from \"src/enums\";\n\nimport { CreateFormData, SocialMediaType } from \"./global\";\n\nexport enum EnumAdShowOn {\n EVENTS_PAGE = \"Events_page\",\n FRONT_PAGE = \"Front_page\",\n PARTNERS_PAGE = \"Partners_page\",\n VENDORS_PAGE = \"Vendors_page\",\n}\n\nexport enum EnumAdStatus {\n ACTIVE = \"Active\",\n PAUSED = \"Paused\",\n EXPIRED = \"Expired\",\n}\n\nexport enum EnumAdType {\n SPONSORED = \"Sponsored\",\n FREE = \"Free\",\n}\n\nexport enum EnumAdStyle {\n BLOOM = \"Bloom\",\n RISE = \"Rise\",\n}\n\nexport interface AdFormData {\n active: boolean;\n adStyle: EnumAdStyle;\n adType: EnumAdType;\n clui?: string | null;\n end: Date; // ISO date string\n resourceCover: string;\n resourceDescription: string;\n resourceId: string;\n resourceLogo?: string | null;\n resourceName: string;\n resourceRegion: string;\n resourceType: EnumResourceType;\n showOn: EnumAdShowOn;\n socialMedia?: SocialMediaType[] | null;\n start?: Date; // ISO date string\n status: EnumAdStatus;\n targetRegion?: string | null;\n}\n\nexport type CreateAdFormData = CreateFormData<AdFormData>;\n\nexport interface AdType extends AdFormData {\n _id: string;\n clicks?: number; // How many times the ad was clicked\n createdAt: Date;\n impressions?: number; // How often the ad was seen\n start: Date; // ISO date string\n updatedAt: Date | null;\n}\n","import * as yup from \"yup\";\n\nimport { EnumPartnerType } from \"src/enums\";\n\nimport { globalResourceSchema, locationSchema, nzbnRegex } from \"./global\";\n\nexport const partnerSchema = globalResourceSchema.shape({\n location: locationSchema,\n nzbn: yup\n .string()\n .required(\"NZBN is required\")\n .matches(nzbnRegex, \"NZBN must be 13 digits and start with 94\"),\n partnerType: yup\n .mixed<EnumPartnerType>()\n .oneOf(Object.values(EnumPartnerType))\n .required(\"Please select a Partner type\"),\n});\n","import * as yup from \"yup\";\n\nimport {\n EnumPostContentType,\n EnumPostType,\n PostContentData,\n} from \"src/types/post\";\n\n/* ------------------------------------------------------------------ */\n/* ContentData sub-schemas */\n/* ------------------------------------------------------------------ */\n\nconst coverContentSchema = yup.object({\n cover: yup\n .object({\n source: yup.string().required(\"Cover source is required\"),\n title: yup.string().required(\"Cover title is required\"),\n })\n .required(),\n});\n\nconst textareaContentSchema = yup.object({\n textarea: yup\n .object({\n data: yup.string().required(\"Textarea content is required\"),\n title: yup.string().optional(),\n })\n .required(),\n});\n\nconst imagesContentSchema = yup.object({\n images: yup\n .array()\n .of(\n yup.object({\n source: yup.string().required(\"Image source is required\"),\n title: yup.string().required(\"Image title is required\"),\n }),\n )\n .nullable(),\n});\n\nconst videoContentSchema = yup.object({\n video: yup\n .object({\n source: yup.string().required(\"Video source is required\"),\n title: yup.string().optional(),\n })\n .required(),\n});\n\nconst listContentSchema = yup.object({\n list: yup\n .object({\n items: yup\n .array()\n .of(yup.string().required())\n .min(1, \"List must contain at least one item\")\n .required(),\n title: yup.string().optional(),\n })\n .required(),\n});\n\n/* ------------------------------------------------------------------ */\n/* Discriminated contentData schema */\n/* ------------------------------------------------------------------ */\n\nconst contentDataSchema = yup\n .mixed<PostContentData>()\n .required(\"Content data is required\")\n .test(\n \"contentData-by-type\",\n \"Invalid content data for content type\",\n function (value) {\n const { contentType } = this.parent;\n const schema = (() => {\n switch (contentType) {\n case EnumPostContentType.COVER:\n return coverContentSchema;\n case EnumPostContentType.TEXTAREA:\n return textareaContentSchema;\n case EnumPostContentType.IMAGE:\n return imagesContentSchema;\n case EnumPostContentType.VIDEO:\n return videoContentSchema;\n case EnumPostContentType.LIST:\n return listContentSchema;\n default:\n return null;\n }\n })();\n\n if (!schema) return false;\n\n return schema.isValidSync(value);\n },\n );\n\n/* ------------------------------------------------------------------ */\n/* Post content block schema */\n/* ------------------------------------------------------------------ */\n\nexport const postContentSchema = yup.object().shape({\n contentData: contentDataSchema,\n contentOrder: yup.number().min(0).required(),\n contentType: yup\n .mixed<EnumPostContentType>()\n .oneOf(Object.values(EnumPostContentType))\n .required(),\n});\n\n/* ------------------------------------------------------------------ */\n/* Final post schema */\n/* ------------------------------------------------------------------ */\n\nexport const postSchema = yup.object().shape({\n active: yup.boolean().required(),\n content: yup.array().of(postContentSchema).required(),\n postType: yup\n .mixed<EnumPostType>()\n .oneOf(Object.values(EnumPostType))\n .required(),\n\n tags: yup.array().of(yup.string().required()).nullable().optional(),\n title: yup.string().required(),\n});\n","import { CreateFormData, ResourceImageType } from \"./global\";\n\nexport enum EnumPostType {\n DAILY_MEETS = \"daily_meets\",\n DAILY_TIPS = \"daily_tips\",\n DAILY_POLL = \"daily_poll\",\n}\n\nexport enum EnumPostContentType {\n COVER = \"cover\",\n IMAGE = \"image\",\n LIST = \"list\",\n TEXTAREA = \"textarea\",\n VIDEO = \"video\",\n}\n\nexport type PostContentCover = {\n cover: ResourceImageType;\n coverUpload?: ResourceImageType | null;\n};\n\nexport type PostContentTextarea = {\n textarea: {\n title?: string;\n data: string;\n };\n};\n\nexport type PostContentImage = {\n images: ResourceImageType[] | null;\n imagesUpload?: ResourceImageType[] | null;\n};\n\nexport type PostContentVideo = {\n video: {\n source: string;\n title?: string;\n };\n};\n\nexport type PostContentList = {\n list: {\n title?: string;\n items: string[];\n };\n};\n\nexport type PostContentData =\n | PostContentCover\n | PostContentTextarea\n | PostContentImage\n | PostContentVideo\n | PostContentList;\n\nexport type PostContentFormData = {\n contentData: PostContentData;\n contentOrder: number;\n contentType: EnumPostContentType;\n};\n\nexport interface PostFormData {\n active: boolean;\n content: PostContentFormData[];\n postType: EnumPostType;\n tags?: string[] | null;\n title: string;\n}\n\nexport type CreatePostFormData = CreateFormData<PostFormData>;\n\nexport type PostContentType = Omit<PostContentFormData, \"contentData\"> & {\n _id: string;\n contentData: Omit<PostContentData, \"imagesUpload\" | \"coverUpload\">;\n};\n\nexport type PostType = Omit<PostFormData, \"content\"> & {\n _id: string;\n content: PostContentType;\n createdAt: Date;\n deletedAt: Date | null;\n updatedAt: Date | null;\n};\n","import {\n EnumEventType,\n EnumFoodFlavor,\n EnumPartnerType,\n EnumVendorType,\n} from \"src/enums\";\n\nimport {\n BaseResourceTypeFormData,\n EventFormData,\n EventInfoFormData,\n LocationType,\n PartnerFormData,\n VendorFormData,\n VendorInfoFormData,\n} from \"../types\";\n\nconst defaultLocation: LocationType = {\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\nexport const globalDefaultValues: BaseResourceTypeFormData = {\n active: false,\n associates: null,\n contactDetails: {\n email: null,\n landlinePhone: null,\n mobilePhone: null,\n },\n cover: {\n source: \"\",\n title: \"\",\n },\n coverUpload: {\n source: \"\",\n title: \"\",\n },\n description: \"\",\n images: null,\n imagesUpload: null,\n logo: null,\n logoUpload: null,\n name: \"\",\n promoCodes: [],\n region: \"\",\n socialMedia: [],\n};\n\nexport const defaultPartnerFormValues: PartnerFormData = {\n ...globalDefaultValues,\n location: defaultLocation,\n nzbn: \"\",\n partnerType: EnumPartnerType.CHARITY_PARTNER,\n};\n\nexport const defaultEventFormValues: EventFormData = {\n ...globalDefaultValues,\n dateTime: [],\n eventType: EnumEventType.MARKET,\n location: defaultLocation,\n nzbn: \"\",\n provider: null,\n rainOrShine: false,\n tags: [],\n};\n\nexport const defaultEventInfoFormValues: EventInfoFormData = {\n applicationDeadlineHours: 24,\n dateTime: [],\n eventId: \"\",\n packInTime: 2, // e.g., 2 hours before event opens\n paymentDueHours: 12,\n paymentInfo: [],\n requirements: [],\n};\n\nexport const defaultVendorFormValues: VendorFormData = {\n ...globalDefaultValues,\n availability: {\n corporate: false,\n private: false,\n school: false,\n },\n categories: [],\n foodTruck: false,\n locations: null,\n multiLocation: false,\n products: null,\n vendorType: EnumVendorType.STALLHOLDER,\n};\n\nexport const defaultVendorInfoFormValues: VendorInfoFormData = {\n compliance: { foodBeverageLicense: false, liabilityInsurance: false },\n documents: null,\n documentsUpload: null,\n product: {\n foodFlavors: [] as EnumFoodFlavor[],\n packaging: [],\n priceRange: { max: 0, min: 0 },\n producedIn: [],\n },\n requirements: {\n electricity: { details: null, isRequired: false },\n gazebo: { details: null, isRequired: false },\n table: { details: null, isRequired: false },\n },\n stallInfo: {\n size: { depth: 0, width: 0 },\n },\n vendorId: \"\",\n};\n\nexport function mapBaseResourceTypeToFormData(\n data: BaseResourceTypeFormData,\n): BaseResourceTypeFormData {\n return {\n _id: data._id,\n active: data.active,\n associates: data.associates,\n contactDetails: data.contactDetails,\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 owner: data.owner,\n promoCodes: data.promoCodes,\n region: data.region,\n socialMedia: data.socialMedia,\n termsAgreement: data.termsAgreement,\n };\n}\n","import { yupResolver } from \"@hookform/resolvers/yup\";\nimport * as React from \"react\";\nimport { Resolver, useForm } from \"react-hook-form\";\n\nimport {\n CreateVendorInfoFormData,\n VendorInfoFormData,\n} from \"../../types/vendor\";\nimport { vendorInfoSchema } from \"../../yupSchema\";\nimport { defaultVendorInfoFormValues } from \"../utils\";\n\nexport function useVendorInfoForm(\n data?: VendorInfoFormData,\n): CreateVendorInfoFormData {\n const {\n control,\n formState: { errors },\n getValues,\n handleSubmit,\n reset,\n setValue,\n watch,\n } = useForm<VendorInfoFormData>({\n defaultValues: defaultVendorInfoFormValues,\n resolver: yupResolver(vendorInfoSchema) as Resolver<VendorInfoFormData>,\n });\n\n React.useEffect(() => {\n if (data) {\n reset({\n _id: data._id,\n compliance: data.compliance,\n documents: data.documents,\n documentsUpload: data.documentsUpload,\n product: data.product,\n requirements: data.requirements,\n stallInfo: data.stallInfo,\n vendorId: data.vendorId,\n });\n } else {\n reset(defaultVendorInfoFormValues);\n }\n }, [data]);\n\n const {\n _id,\n compliance,\n documents,\n documentsUpload,\n product,\n requirements,\n stallInfo,\n vendorId,\n } = getValues();\n\n return {\n control,\n fields: {\n _id,\n compliance,\n documents,\n documentsUpload,\n product,\n requirements,\n stallInfo,\n vendorId,\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 { Resolver, useForm } from \"react-hook-form\";\n\nimport { CreateEventFormData, EventFormData } from \"../../types/event\";\nimport { eventSchema } from \"../../yupSchema\";\nimport {\n defaultEventFormValues,\n mapBaseResourceTypeToFormData,\n} from \"../utils\";\n\n/**\n * Custom hook to manage the event form state and validation.\n *\n * @param {EventFormData} data - The initial form data.\n * @returns {CreateEventFormData} - The form methods and state.\n */\nexport function useEventForm(data?: EventFormData): CreateEventFormData {\n const {\n control,\n formState: { errors },\n getValues,\n handleSubmit,\n reset,\n setValue,\n watch,\n } = useForm<EventFormData>({\n defaultValues: defaultEventFormValues,\n resolver: yupResolver(eventSchema) as Resolver<EventFormData>,\n });\n\n React.useEffect(() => {\n if (data) {\n reset({\n ...mapBaseResourceTypeToFormData(data),\n dateTime: data.dateTime,\n eventType: data.eventType,\n location: data.location,\n nzbn: data.nzbn,\n provider: data.provider,\n rainOrShine: data.rainOrShine,\n tags: data.tags,\n });\n } else {\n reset(defaultEventFormValues);\n }\n }, [data]);\n\n const {\n _id,\n active,\n associates,\n contactDetails,\n cover,\n coverUpload,\n dateTime,\n description,\n eventType,\n images,\n imagesUpload,\n location,\n logo,\n logoUpload,\n name,\n nzbn,\n owner,\n promoCodes,\n provider,\n rainOrShine,\n region,\n socialMedia,\n tags,\n termsAgreement,\n } = getValues();\n\n return {\n control,\n fields: {\n _id,\n active,\n associates,\n contactDetails,\n cover,\n coverUpload,\n dateTime,\n description,\n eventType,\n images,\n imagesUpload,\n location,\n logo,\n logoUpload,\n name,\n nzbn,\n owner,\n promoCodes,\n provider,\n rainOrShine,\n region,\n socialMedia,\n tags,\n termsAgreement,\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 { CreateEventInfoFormData, EventInfoFormData } from \"../../types/event\";\nimport { eventInfoSchema } from \"../../yupSchema\";\nimport { defaultEventInfoFormValues } from \"../utils\";\n\n/**\n * Custom hook to manage the event form state and validation.\n *\n * @param {EventInfoFormData} data - The initial form data.\n * @returns {CreateEventInfoFormData} - The form methods and state.\n */\nexport function useEventInfoForm(\n data?: EventInfoFormData,\n): CreateEventInfoFormData {\n const {\n control,\n formState: { errors },\n getValues,\n handleSubmit,\n reset,\n setValue,\n watch,\n } = useForm<EventInfoFormData>({\n defaultValues: defaultEventInfoFormValues,\n resolver: yupResolver(eventInfoSchema),\n });\n\n React.useEffect(() => {\n if (data) {\n reset({\n _id: data._id,\n applicationDeadlineHours: data.applicationDeadlineHours,\n dateTime: data.dateTime,\n eventId: data.eventId,\n packInTime: data.packInTime,\n paymentDueHours: data.paymentDueHours,\n paymentInfo: data.paymentInfo,\n requirements: data.requirements,\n });\n } else {\n reset(defaultEventInfoFormValues);\n }\n }, [data]);\n\n const {\n _id,\n applicationDeadlineHours,\n dateTime,\n eventId,\n packInTime,\n paymentDueHours,\n paymentInfo,\n requirements,\n } = getValues();\n\n return {\n control,\n fields: {\n _id,\n applicationDeadlineHours,\n dateTime,\n eventId,\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 { Resolver, 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 isTester: false,\n lastName: \"\",\n password: null,\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) as Resolver<UserFormData>,\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 email: data.email,\n firstName: data.firstName,\n isTester: data.isTester,\n lastName: data.lastName,\n password: data.password,\n preferredRegion: data.preferredRegion,\n role: data.role,\n termsAgreement: data.termsAgreement,\n });\n } else {\n reset(defaultValues);\n }\n }, [data]);\n\n const {\n _id,\n active,\n avatar,\n avatarUpload,\n email,\n firstName,\n isTester,\n lastName,\n password,\n preferredRegion,\n role,\n termsAgreement,\n } = getValues();\n\n return {\n control,\n fields: {\n _id,\n active,\n avatar,\n avatarUpload,\n email,\n firstName,\n isTester,\n lastName,\n password,\n preferredRegion,\n role,\n termsAgreement,\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 { EnumOSPlatform, EnumResourceType } from \"src/enums\";\nimport { CreateTesterFormData, TesterFormData } from \"src/types/tester\";\nimport { testerSchema } from \"src/yupSchema/tester\";\n\nconst defaultValues = {\n businessName: \"\",\n consents: {\n betaTestConsent: false,\n privacyConsent: false,\n },\n email: \"\",\n event: {},\n firstName: \"\",\n lastName: \"\",\n mobilePhone: \"\",\n osType: \"\" as EnumOSPlatform,\n region: \"\",\n resourceType: \"\" as EnumResourceType,\n vendor: {},\n};\n\nexport function useTesterForm(data?: TesterFormData): CreateTesterFormData {\n const {\n control,\n formState: { errors },\n getValues,\n handleSubmit,\n reset,\n setValue,\n watch,\n } = useForm<TesterFormData>({\n defaultValues,\n resolver: yupResolver(testerSchema),\n });\n\n React.useEffect(() => {\n if (data) {\n reset({\n businessName: data.businessName,\n consents: data.consents,\n email: data.email,\n event: data.event,\n firstName: data.firstName,\n lastName: data.lastName,\n mobilePhone: data.mobilePhone,\n osType: data.osType,\n region: data.region,\n resourceType: data.resourceType,\n vendor: data.vendor,\n });\n } else {\n reset(defaultValues);\n }\n }, [data]);\n\n const {\n businessName,\n consents,\n email,\n event,\n firstName,\n lastName,\n mobilePhone,\n osType,\n region,\n resourceType,\n vendor,\n } = getValues();\n\n return {\n control,\n fields: {\n businessName,\n consents,\n email,\n event,\n firstName,\n lastName,\n mobilePhone,\n osType,\n region,\n resourceType,\n vendor,\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 { emailRequiredSchema } from \"./global\";\n\nexport const contactUsSchema = yup.object().shape({\n email: emailRequiredSchema,\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 message: yup.string().label(\"Message\").required(\"Message is required\"),\n});\n","import { yupResolver } from \"@hookform/resolvers/yup\";\nimport React from \"react\";\nimport { Resolver, useForm } from \"react-hook-form\";\n\nimport { EnumResourceType } from \"src/enums\";\nimport {\n AdFormData,\n CreateAdFormData,\n EnumAdShowOn,\n EnumAdStatus,\n EnumAdStyle,\n EnumAdType,\n} from \"src/types/ad\";\nimport { adSchema } from \"src/yupSchema\";\n\nconst defaultValues: AdFormData = {\n active: true,\n adStyle: EnumAdStyle.BLOOM, // default to bloom\n adType: EnumAdType.SPONSORED, // default to sponsored\n clui: null,\n end: new Date(),\n resourceCover: \"\",\n resourceDescription: \"\",\n resourceId: \"\",\n resourceLogo: null,\n resourceName: \"\",\n resourceRegion: \"\",\n resourceType: \"\" as EnumResourceType.EVENT, // default to event\n showOn: EnumAdShowOn.FRONT_PAGE, // default to front page\n socialMedia: [],\n start: new Date(),\n status: EnumAdStatus.PAUSED, // default to paused\n targetRegion: null,\n};\n\nexport function useAdForm(data?: AdFormData): CreateAdFormData {\n const {\n control,\n formState: { errors },\n getValues,\n handleSubmit,\n reset,\n setValue,\n watch,\n } = useForm<AdFormData>({\n defaultValues: defaultValues,\n resolver: yupResolver(adSchema) as Resolver<AdFormData>,\n });\n\n React.useEffect(() => {\n if (data) {\n reset({\n active: data.active,\n adStyle: data.adStyle,\n adType: data.adType,\n clui: data.clui,\n end: data.end,\n resourceCover: data.resourceCover,\n resourceDescription: data.resourceDescription,\n resourceId: data.resourceId,\n resourceLogo: data.resourceLogo,\n resourceName: data.resourceName,\n resourceRegion: data.resourceRegion,\n resourceType: data.resourceType,\n socialMedia: data.socialMedia,\n start: data.start,\n status: data.status,\n targetRegion: data.targetRegion,\n });\n } else {\n reset(defaultValues);\n }\n }, [data]);\n\n const {\n active,\n adStyle,\n adType,\n clui,\n end,\n resourceCover,\n resourceDescription,\n resourceId,\n resourceLogo,\n resourceName,\n resourceRegion,\n resourceType,\n showOn,\n socialMedia,\n start,\n status,\n targetRegion,\n } = getValues();\n\n return {\n control,\n fields: {\n active,\n adStyle,\n adType,\n clui,\n end,\n resourceCover,\n resourceDescription,\n resourceId,\n resourceLogo,\n resourceName,\n resourceRegion,\n resourceType,\n showOn,\n socialMedia,\n start,\n status,\n targetRegion,\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 { Resolver, useForm } from \"react-hook-form\";\n\nimport { CreatePartnerFormData, PartnerFormData } from \"src/types/partner\";\nimport { partnerSchema } from \"src/yupSchema/partner\";\n\nimport {\n defaultPartnerFormValues,\n mapBaseResourceTypeToFormData,\n} from \"../utils\";\n\n/**\n * Custom hook to manage the partner form state and validation.\n *\n * @param {PartnerFormData} data - The initial form data.\n * @returns {CreatePartnerFormData} - The form methods and state.\n */\nexport function usePartnerForm(data?: PartnerFormData): CreatePartnerFormData {\n const {\n control,\n formState: { errors },\n getValues,\n handleSubmit,\n reset,\n setValue,\n watch,\n } = useForm<PartnerFormData>({\n defaultValues: defaultPartnerFormValues,\n resolver: yupResolver(partnerSchema) as Resolver<PartnerFormData>,\n });\n\n React.useEffect(() => {\n if (data) {\n reset({\n ...mapBaseResourceTypeToFormData(data),\n location: data.location,\n nzbn: data.nzbn,\n partnerType: data.partnerType,\n });\n } else {\n reset(defaultPartnerFormValues);\n }\n }, [data]);\n\n const {\n _id,\n active,\n associates,\n contactDetails,\n cover,\n coverUpload,\n description,\n images,\n imagesUpload,\n location,\n logo,\n logoUpload,\n name,\n nzbn,\n owner,\n partnerType,\n promoCodes,\n region,\n socialMedia,\n termsAgreement,\n } = getValues();\n\n return {\n control,\n fields: {\n _id,\n active,\n associates,\n contactDetails,\n cover,\n coverUpload,\n description,\n images,\n imagesUpload,\n location,\n logo,\n logoUpload,\n name,\n nzbn,\n owner,\n partnerType,\n promoCodes,\n region,\n socialMedia,\n termsAgreement,\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 { CreatePostFormData, EnumPostType, PostFormData } from \"src/types/post\";\nimport { postSchema } from \"src/yupSchema/post\";\n\nconst defaultValues: PostFormData = {\n active: true,\n content: [],\n postType: EnumPostType.DAILY_MEETS,\n tags: [],\n title: \"\",\n};\n\nexport function usePostform(data?: PostFormData): CreatePostFormData {\n const {\n control,\n formState: { errors },\n getValues,\n handleSubmit,\n reset,\n setValue,\n watch,\n } = useForm<PostFormData>({\n defaultValues,\n resolver: yupResolver(postSchema),\n });\n\n React.useEffect(() => {\n if (data) {\n reset({\n active: data.active,\n content: data.content,\n postType: data.postType,\n tags: data.tags,\n title: data.title,\n });\n } else {\n reset(defaultValues);\n }\n }, [data]);\n\n const { active, content, postType, tags, title } = getValues();\n\n return {\n control,\n fields: {\n active,\n content,\n postType,\n tags,\n title,\n },\n formState: { errors },\n handleSubmit,\n reset,\n setValue,\n watch,\n };\n}\n","export const SAVED_PASSWORD_KEY = \"savedPassword\";\nexport const SAVED_EMAIL_KEY = \"savedEmail\";\nexport const SAVED_TOKEN_KEY = \"savedToken\";\nexport const SAVED_REFRESH_TOKEN_KEY = \"savedRefreshToken\";\nexport const USER_STORAGE_KEY = \"authUser\";\n","export const darkColors = {\n background: \"#3D3D3F\",\n card: \"#1c1c1e\",\n primary: \"#ff7a00\",\n quaternary: \"#3b7c67\",\n secondary: \"#371134\",\n tertiary: \"#191a75\",\n textMuted: \"#8e8e93\",\n};\n\nexport const lightColors = {\n background: \"#ffffff\",\n card: \"#f1f2f6\",\n primary: \"#ff7a00\",\n quaternary: \"#3b7c67\",\n secondary: \"#371134\",\n tertiary: \"#191a75\",\n textMuted: \"#6c757d\",\n};\n\nexport const fonts = {\n bold: {\n fontFamily: \"Roboto-Bold\",\n fontWeight: \"700\" as const,\n },\n heavy: {\n fontFamily: \"Roboto-ExtraBold\",\n fontWeight: \"900\" as const,\n },\n medium: {\n fontFamily: \"Roboto-Medium\",\n fontWeight: \"500\" as const,\n },\n regular: {\n fontFamily: \"Roboto-Regular\",\n fontWeight: \"400\" as const,\n },\n};\n","import {\n EnumEventDateStatus,\n EnumOSPlatform,\n EnumResourceType,\n} from \"src/enums\";\n\nexport enum EnumActivity {\n FAVORITE = \"FAVORITE\",\n GOING = \"GOING\",\n INTERESTED = \"INTERESTED\",\n PRESENT = \"PRESENT\",\n VIEW = \"VIEW\",\n}\n\nexport type ResourceActivityEntry = {\n activityType: EnumActivity;\n location: {\n type: \"Point\";\n coordinates: number[]; // [longitude, latitude]\n } | null;\n dateStatus?: EnumEventDateStatus | null;\n startDate?: string | null;\n startTime?: string | null;\n timestamp: Date;\n userAgent: EnumOSPlatform;\n userId?: string | null;\n};\n\nexport type ResourceActivityType = {\n _id: string;\n resourceType: EnumResourceType;\n resourceId: string;\n activity: ResourceActivityEntry[];\n};\n\nexport type ResourceActivityInputType = {\n resourceId: string;\n resourceType: string;\n activity: Omit<ResourceActivityEntry, \"timestamp\">;\n};\n"],"mappings":"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","names":["EnumInviteStatus","EnumChatType","EnumPaymentMethod","EnumFoodFlavor","EnumFoodType","EnumResourceType","EnumEventType","EnumVendorType","EnumPartnerType","EnumOSPlatform","EnumRelationResource","EnumNotificationResourceType","EnumNotificationType","EnumRegions","ImageTypeEnum","EnumUserLicence","EnumUserRole","EnumSocialMedia","EnumEventDateStatus","EnumSubscriptionStatus","date","gql","gql","gql","gql","gql","gql","gql","adminUpdateResourceType","adminUpdateTester","useMutation","gql","gql","useMutation","useMutation","gql","gql","gql","useMutation","gql","gql","useMutation","gql","useMutation","useMutation","gql","gql","gql","gql","gql","gql","useMutation","useQuery","useQuery","eventInfo","useMutation","gql","gql","gql","useMutation","useQuery","useQuery","useSubscription","gql","gql","useSubscription","useMutation","gql","gql","useMutation","useMutation","gql","useMutation","useMutation","gql","gql","gql","gql","useMutation","createRelation","updateRelation","deleteRelation","useQuery","useQuery","useMutation","gql","gql","useMutation","useQuery","useQuery","useMutation","gql","gql","useMutation","useQuery","useQuery","useMutation","gql","gql","useMutation","useQuery","useQuery","useMutation","gql","gql","gql","gql","useMutation","useQuery","useQuery","useMutation","gql","useMutation","useQuery","gql","useQuery","useMutation","gql","useMutation","useQuery","gql","useQuery","useMutation","gql","gql","useMutation","useQuery","useQuery","useMutation","gql","gql","gql","gql","useMutation","useQuery","useQuery","dayjs","customParseFormat","isSameOrAfter","dayjs","isSameOrAfter","customParseFormat","yup","yup","yup","yup","yup","OrganizedMarketCount","VendorSellingFrequency","OrganizerMarketFrequency","yup","EnumAdShowOn","EnumAdStatus","EnumAdType","EnumAdStyle","yup","yup","EnumPostType","EnumPostContentType","socialMedia","yupResolver","React","useForm","useForm","yupResolver","yupResolver","React","useForm","useForm","yupResolver","socialMedia","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","yupResolver","React","useForm","defaultValues","useForm","yupResolver","React","socialMedia","yupResolver","React","useForm","useForm","yupResolver","socialMedia","yupResolver","React","useForm","defaultValues","useForm","yupResolver","React","EnumActivity"]}
1
+ {"version":3,"sources":["../src/enums/index.ts","../src/formFields/vendor/vendor.ts","../src/utils/index.ts","../src/formFields/vendor/vendorInfo.ts","../src/formFields/event/event.ts","../src/formFields/event/eventInfo.ts","../src/formFields/global.ts","../src/formFields/auth.ts","../src/formFields/user.ts","../src/formFields/categories/clothingAndFashion.ts","../src/formFields/categories/electronicsAndTechnology.ts","../src/formFields/categories/foodAndBeverages.ts","../src/formFields/categories/handmadeAndLocalProducts.ts","../src/formFields/categories/healthAndWellness.ts","../src/formFields/categories/homeGardenHousehold.ts","../src/formFields/categories/petProductsAndAnimalGoods.ts","../src/formFields/categories/serviceAndExperience.ts","../src/formFields/categories/toysChildren.ts","../src/formFields/categories/vintageAndAntique.ts","../src/formFields/categories/index.ts","../src/formFields/socialMedia.ts","../src/formFields/testers.ts","../src/formFields/contactUs.ts","../src/formFields/partner.ts","../src/graphql/hooks/admin/hooksMutation.ts","../src/graphql/mutations/admin.ts","../src/graphql/queries/event.ts","../src/graphql/queries/global.ts","../src/graphql/queries/tester.ts","../src/graphql/queries/vendor.ts","../src/graphql/hooks/auth.ts","../src/graphql/mutations/auth.ts","../src/graphql/hooks/chat/hooksMutation.ts","../src/graphql/mutations/chat.ts","../src/graphql/queries/chat.ts","../src/graphql/hooks/chat/hooksQuery.ts","../src/graphql/subscriptions/chat.ts","../src/graphql/hooks/contactUs.ts","../src/graphql/mutations/contactUs.ts","../src/graphql/hooks/event/hooksMutation.ts","../src/graphql/mutations/event.ts","../src/graphql/queries/user.ts","../src/graphql/queries/partner.ts","../src/graphql/hooks/event/hooksQuery.ts","../src/graphql/hooks/notifications/hooksMutation.ts","../src/graphql/mutations/notification.ts","../src/graphql/queries/notification.ts","../src/graphql/hooks/notifications/hooksQuery.ts","../src/graphql/hooks/notifications/hooksSubscription.ts","../src/graphql/subscriptions/notification.ts","../src/graphql/hooks/poster.ts","../src/graphql/mutations/poster.ts","../src/graphql/hooks/pushToken.ts","../src/graphql/mutations/pushToken.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/vendor/hooksMutation.ts","../src/graphql/mutations/vendor.ts","../src/graphql/hooks/vendor/hooksQuery.ts","../src/graphql/hooks/tester/hooksMutation.ts","../src/graphql/mutations/tester.ts","../src/graphql/hooks/tester/hooksQuery.ts","../src/graphql/hooks/user/hooksMutation.ts","../src/graphql/mutations/user.ts","../src/graphql/hooks/user/hooksQuery.ts","../src/graphql/hooks/ad/hooksMutation.ts","../src/graphql/mutations/ad.ts","../src/graphql/queries/ad.ts","../src/graphql/hooks/ad/hooksQuery.ts","../src/graphql/hooks/resourceActivities/hooksMutation.ts","../src/graphql/mutations/resourceActivities.ts","../src/graphql/hooks/resourceActivities/hooksQuery.ts","../src/graphql/queries/resourceActivities.ts","../src/graphql/hooks/stripe/hooksMutation.ts","../src/graphql/mutations/stripe.ts","../src/graphql/hooks/stripe/hooksQuery.ts","../src/graphql/queries/stripe.ts","../src/graphql/hooks/partner/hooksMutation.ts","../src/graphql/mutations/partner.ts","../src/graphql/hooks/partner/hooksQuery.ts","../src/graphql/hooks/post/hooksMutation.ts","../src/graphql/mutations/post.ts","../src/graphql/queries/post.ts","../src/graphql/hooks/post/hooksQuery.ts","../src/hooks/useLocationSearch.ts","../src/hooks/vendor/useVendorForm.ts","../src/yupSchema/global.ts","../src/yupSchema/event.ts","../src/yupSchema/vendor.ts","../src/yupSchema/user.ts","../src/yupSchema/auth.ts","../src/yupSchema/tester.ts","../src/types/tester.ts","../src/yupSchema/ad.ts","../src/types/ad.ts","../src/yupSchema/partner.ts","../src/yupSchema/post.ts","../src/types/post.ts","../src/hooks/utils.ts","../src/hooks/vendor/useVendorInfoForm.ts","../src/hooks/event/useEventForm.ts","../src/hooks/event/useEventInfoForm.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/useTesterForm.ts","../src/hooks/useContactUsForm.ts","../src/yupSchema/contactUs.ts","../src/hooks/useAdForm.ts","../src/hooks/partner/usePartnerForm.ts","../src/hooks/usePostForm.ts","../src/storage/index.ts","../src/theme/index.ts","../src/types/resourceActivities.ts"],"sourcesContent":["export enum EnumInviteStatus {\n ACCEPTED = \"Accepted\",\n COMPLETED = \"Completed\",\n EXPIRED = \"Expired\",\n NO_STATUS = \"No_Status\",\n PAID = \"Paid\",\n PENDING = \"Pending\",\n REJECTED = \"Rejected\",\n UNAVAILABLE = \"Unavailable\",\n WAITING = \"Waiting\",\n}\n\nexport enum EnumChatType {\n GROUP = \"group\",\n PRIVATE = \"private\",\n RELATION = \"relation\",\n}\n\nexport enum EnumPaymentMethod {\n CASH = \"cash\",\n EFTPOS = \"eftpos\",\n BANK_TRANSFER = \"bank_transfer\",\n PAYPAL = \"paypal\",\n STRIPE = \"stripe\",\n}\n\nexport enum EnumFoodFlavor {\n SALTY = \"Salty\",\n SAVOURY = \"Savoury\",\n SPICY = \"Spicy\",\n SWEET = \"Sweet\",\n}\n\nexport enum EnumFoodType {\n ADDITIVE_FREE = \"Additive_Free\",\n AIR_FRIED = \"Air_Fried\",\n ALLERGEN_FRIENDLY = \"Allergen_Friendly\",\n ATHLETE_FRIENDLY = \"Athlete_Friendly\",\n BAKED = \"Baked\",\n DAIRY_FREE = \"Dairy_Free\",\n DIABETIC_FRIENDLY = \"Diabetic_Friendly\",\n EGG_FREE = \"Egg_Free\",\n FRESH = \"Fresh\",\n GLUTEN_FREE = \"Gluten_Free\",\n GRILLED = \"Grilled\",\n HALAL = \"Halal\",\n HEART_HEALTHY = \"Heart_Healthy\",\n HIGH_FIBER = \"High_Fiber\",\n HIGH_PROTEIN = \"High_Protein\",\n KETO = \"Keto\",\n KOSHER = \"Kosher\",\n LACTOSE_FREE = \"Lactose_Free\",\n LOW_CALORIE = \"Low_Calorie\",\n LOW_CARB = \"Low_Carb\",\n LOW_FAT = \"Low_Fat\",\n LOW_SODIUM = \"Low_Sodium\",\n NO_ADDED_SUGAR = \"No_Added_Sugar\",\n NO_PRESERVATIVES = \"No_Preservatives\",\n NON_GMO = \"Non_GMO\",\n NUT_FREE = \"Nut_Free\",\n ORGANIC = \"Organic\",\n PALEO = \"Paleo\",\n PLANT_BASED = \"Plant_Based\",\n RAW = \"Raw\",\n SMOKED = \"Smoked\",\n SOY_FREE = \"Soy_Free\",\n SUGAR_FREE = \"Sugar_Free\",\n VEGAN = \"Vegan\",\n VEGETARIAN = \"Vegetarian\",\n}\n\nexport enum EnumResourceType {\n EVENT = \"event\",\n VENDOR = \"vendor\",\n PARTNER = \"partner\",\n}\n\nexport enum EnumEventType {\n MARKET = \"Market\",\n EXPO = \"Expo\",\n FAIR = \"Fair\",\n FESTIVAL = \"Festival\",\n}\n\nexport enum EnumVendorType {\n STALLHOLDER = \"Stallholder\",\n SHOP = \"Shop\",\n}\n\nexport enum EnumPartnerType {\n CHARITY_PARTNER = \"Charity_Partner\",\n MEDIA_PARTNER = \"Media_Partner\",\n SUPPORTING_PARTNER = \"Supporting_Partner\",\n}\n\nexport enum EnumOSPlatform {\n ANDROID = \"android\",\n IOS = \"ios\",\n WEB = \"web\",\n}\n\nexport enum EnumRelationResource {\n EVENT_INVITE_VENDOR = \"event_invite_vendor\",\n VENDOR_APPLICATION_TO_EVENT = \"vendor_application_to_event\",\n}\n\nexport enum EnumNotificationResourceType {\n ADDED_AS_ASSOCIATE_EVENT = \"added_as_associate_event\",\n ADDED_AS_ASSOCIATE_VENDOR = \"added_as_associate_vendor\",\n APPROVED_EVENT = \"approved_event\",\n APPROVED_VENDOR = \"approved_vendor\",\n CREATED_EVENT = \"created_event\",\n CREATED_VENDOR = \"created_vendor\",\n EVENT_INVITE_VENDOR = EnumRelationResource.EVENT_INVITE_VENDOR,\n EVENT_STARTING_SOON = \"event_starting_soon\",\n NEW_CHAT_MESSAGE = \"new_chat_message\",\n VENDOR_APPLICATION_TO_EVENT = EnumRelationResource.VENDOR_APPLICATION_TO_EVENT,\n}\n\nexport enum EnumNotificationType {\n EVENT = EnumResourceType.EVENT,\n VENDOR = EnumResourceType.VENDOR,\n RELATION = \"relation\",\n CHAT = \"chat\",\n SYSTEM = \"system\",\n}\n\nexport enum EnumRegions {\n Auckland = \"Auckland\",\n BayOfPlentyGisborne = \"Bay of Plenty & Gisborne\",\n CanterburyWestCoast = \"Canterbury & West Coast\",\n HawkesBay = \"Hawke's Bay\",\n ManawatuWanganui = \"Manawatu-Wanganui\",\n MarlboroughNelsonTasman = \"Marlborough & Nelson & Tasman\",\n Northland = \"Northland\",\n Otago = \"Otago\",\n Southland = \"Southland\",\n Taranaki = \"Taranaki\",\n Waikato = \"Waikato\",\n Wellington = \"Wellington\",\n}\n\nexport enum ImageTypeEnum {\n AVATAR = \"avatar\",\n COVER = \"cover\",\n IMAGE = \"image\",\n LOGO = \"logo\",\n}\n\nexport enum EnumUserLicence {\n PRO_EVENT = \"pro_event\",\n PRO_PLUS_EVENT = \"pro_plus_event\",\n PRO_PLUS_VENDOR = \"pro_plus_vendor\",\n PRO_VENDOR = \"pro_vendor\",\n STANDARD_EVENT = \"standard_event\",\n STANDARD_VENDOR = \"standard_vendor\",\n STANDARD_PARTNER = \"standard_partner\",\n}\n\nexport enum EnumUserRole {\n ADMIN = \"admin\",\n CUSTOMER = \"customer\",\n MARKETING = \"marketing\",\n MODERATOR = \"moderator\",\n SUPPORT = \"support\",\n}\n\nexport enum EnumSocialMedia {\n FACEBOOK = \"facebook\",\n INSTAGRAM = \"instagram\",\n TIKTOK = \"tiktok\",\n TWITTER = \"twitter\",\n WEBSITE = \"website\",\n YOUTUBE = \"youtube\",\n}\n\nexport enum EnumEventDateStatus {\n STARTING_SOON = \"Starting_Soon\",\n STARTED = \"Started\",\n TODAY = \"Today\",\n TOMORROW = \"Tomorrow\",\n THIS_WEEKEND = \"This_Weekend\",\n THIS_WEEK = \"This_Week\",\n NEXT_WEEK = \"Next_Week\",\n UPCOMING = \"Upcoming\",\n ENDED = \"Ended\",\n RE_SCHEDULED = \"Rescheduled\",\n CANCELED = \"Canceled\",\n}\n\nexport enum EnumSubscriptionStatus {\n ACTIVE = \"active\",\n INACTIVE = \"inactive\",\n CANCELLED = \"cancelled\",\n NO_SUBSCRIPTION = \"no_subscription\",\n PAST_DUE = \"past_due\",\n}\n","import { FormDateField, FormField } from \"../../types/global\";\n\nexport const vendorBasicInfoFields: FormField[] = [\n {\n helperText: \"Business Name *\",\n name: \"name\",\n placeholder: \"Business Name\",\n },\n {\n helperText: \"Description *\",\n isTextArea: true,\n name: \"description\",\n placeholder: \"Description\",\n },\n];\n\nexport const vendorMultiLocation: FormField = {\n helperText:\n \"Usefull when you are not only selling products on Events but also providing services at other locations.\",\n name: \"multiLocation\",\n placeholder: \"Multi location\",\n};\n\nexport const vendorFullAddress: FormField = {\n helperText: \"Enter address\",\n name: \"fullAddress\",\n placeholder: \"Start typing to find address\",\n};\n\nexport const vendorStartDateFields: 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 vendorEndDateFields: 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 vendorAvailability: FormField[] = [\n {\n name: \"availability.school\",\n placeholder: \"School events\",\n },\n {\n name: \"availability.private\",\n placeholder: \"Private events\",\n },\n {\n name: \"availability.corporate\",\n placeholder: \"Corporate events\",\n },\n];\n\nexport const vendorLocationDescription: FormField = {\n helperText: \"Description\",\n isTextArea: true,\n name: \"description\",\n placeholder: \"Description\",\n};\n\nexport const vendorMenuFields: FormField[] = [\n {\n helperText: \"Item name\",\n name: \"name\",\n placeholder: \"Item name\",\n },\n {\n helperText: \"Item Description\",\n isTextArea: true,\n name: \"description\",\n placeholder: \"Item Description\",\n },\n {\n helperText: \"Price\",\n keyboardType: \"decimal-pad\",\n name: \"price\",\n placeholder: \"Price\",\n },\n];\n\nexport const productLabelGroups = [\n {\n category: \"Food Sensitivity\",\n items: [\n { abbreviation: \"DF\", fullName: \"Dairy-Free\" },\n { abbreviation: \"EF\", fullName: \"Egg-Free\" },\n { abbreviation: \"GF\", fullName: \"Gluten-Free\" },\n { abbreviation: \"NF\", fullName: \"Nut-Free\" },\n ],\n },\n {\n category: \"Lifestyle\",\n items: [\n { abbreviation: \"KETO\", fullName: \"Keto-Friendly\" },\n { abbreviation: \"P\", fullName: \"Paleo\" },\n { abbreviation: \"V\", fullName: \"Vegan\" },\n { abbreviation: \"VG\", fullName: \"Vegetarian\" },\n ],\n },\n {\n category: \"Natural\",\n items: [\n { abbreviation: \"ECO\", fullName: \"Eco-Friendly\" },\n { abbreviation: \"ORGANIC\", fullName: \"Organic Product\" },\n ],\n },\n {\n category: \"Market Character\",\n items: [\n { abbreviation: \"HM\", fullName: \"Handmade\" },\n { abbreviation: \"LOC\", fullName: \"Local Product\" },\n ],\n },\n {\n category: \"Cosmetic / Natural\",\n items: [\n { abbreviation: \"AROM\", fullName: \"Aromatherapy\" },\n { abbreviation: \"CRF\", fullName: \"Cruelty-Free\" },\n { abbreviation: \"HYPO\", fullName: \"Hypoallergenic\" },\n ],\n },\n {\n category: \"Animal Related\",\n items: [\n { abbreviation: \"GF-PET\", fullName: \"Grain-Free (Pet)\" },\n { abbreviation: \"PF\", fullName: \"Pet-Friendly\" },\n ],\n },\n {\n category: \"Plant / Natural\",\n items: [\n { abbreviation: \"NPF\", fullName: \"Non-Pesticide / Chemical-Free\" },\n { abbreviation: \"PLN\", fullName: \"Plant-Based\" },\n ],\n },\n {\n category: \"Gift / Design\",\n items: [\n { abbreviation: \"ART\", fullName: \"Artisan\" },\n { abbreviation: \"LTD\", fullName: \"Limited Edition\" },\n ],\n },\n {\n category: \"Sustainability\",\n items: [{ abbreviation: \"ZWP\", fullName: \"Zero-Waste Product\" }],\n },\n];\n","import dayjs from \"dayjs\";\nimport customParseFormat from \"dayjs/plugin/customParseFormat.js\";\nimport isSameOrAfter from \"dayjs/plugin/isSameOrAfter.js\";\nimport timezone from \"dayjs/plugin/timezone.js\";\nimport utc from \"dayjs/plugin/utc.js\";\n\nimport { EnumInviteStatus, EnumPaymentMethod, EnumRegions } 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\ndayjs.extend(customParseFormat);\ndayjs.extend(utc);\ndayjs.extend(timezone);\ndayjs.extend(isSameOrAfter);\n\nconst NZ_TZ = \"Pacific/Auckland\";\n\nexport function toNZTime(date: Date | string) {\n return dayjs(date).tz(NZ_TZ).format();\n}\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 T extends { startDate: string; startTime: string },\n>(\n dates: T[],\n): T[] => {\n const now = dayjs(); // current date and time\n\n return dates.filter((dateObj) => {\n const dateTime = dayjs(\n `${dateObj.startDate} ${dateObj.startTime}`,\n `${dateFormat} ${timeFormat}`,\n );\n return dateTime.isSameOrAfter(now);\n });\n};\n\nexport const isFutureDatesBeforeThreshold = (\n date: {\n startDate: string;\n startTime: string;\n },\n minHoursFromNow: number,\n): boolean => {\n const threshold = minHoursFromNow\n ? dayjs().add(minHoursFromNow, \"hour\")\n : dayjs().startOf(\"day\");\n\n const dateTime = dayjs(\n `${date.startDate} ${date.startTime}`,\n `${dateFormat} ${timeFormat}`,\n );\n\n return dateTime.isSameOrAfter(threshold);\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 defaultRegion: Region = {\n latitude: -36.8624942, // Default: New Zealand\n latitudeDelta: 5.0,\n longitude: 174.7450494,\n longitudeDelta: 5.0,\n};\n\nconst isIsoDateString = (value: unknown): value is string => {\n return typeof value === \"string\" && !isNaN(Date.parse(value));\n};\n\nexport const removeTypename = (obj: any): any => {\n // Preserve Date objects\n if (obj instanceof Date) {\n return obj;\n }\n\n // Preserve ISO date strings\n if (isIsoDateString(obj)) {\n return obj;\n }\n\n // Handle arrays\n if (Array.isArray(obj)) {\n return obj.map(removeTypename);\n }\n\n // Handle plain objects only\n if (obj !== null && typeof obj === \"object\") {\n const { __typename, ...cleanedObj } = obj;\n\n return Object.keys(cleanedObj).reduce((acc: any, key) => {\n acc[key] = removeTypename(cleanedObj[key]);\n return acc;\n }, {});\n }\n\n // Primitives\n return obj;\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,\n value: item,\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 sortDatesChronologically<\n T extends { startDate: string; startTime: string },\n>(dates: T[]): T[] {\n if (!dates || !dates.length) {\n return [];\n }\n\n return [...dates].sort((a, b) => {\n const dateTimeFormat = `${dateFormat} ${timeFormat}`;\n const dateA = dayjs(`${a.startDate} ${a.startTime}`, dateTimeFormat);\n const dateB = dayjs(`${b.startDate} ${b.startTime}`, dateTimeFormat);\n return dateA.valueOf() - dateB.valueOf(); // chronological order\n });\n}\n\nexport const availableRegionTypes = Object.values(EnumRegions);\nexport const availableRegionOptions: OptionItem[] =\n mapArrayToOptions(availableRegionTypes);\n\nexport const paymentMethodOptions: OptionItem[] = mapArrayToOptions(\n Object.values(EnumPaymentMethod),\n);\n\nexport function normalizeUrl(url: string): string {\n if (!url.startsWith(\"http://\") && !url.startsWith(\"https://\")) {\n return `https://${url}`;\n }\n return url;\n}\n","import { EnumFoodFlavor } from \"src/enums\";\n\nimport { FormField, OptionItem } from \"../../types\";\nimport { mapArrayToOptions } from \"../../utils\";\n\nexport const vendorElectricity: {\n details: FormField;\n isRequired: FormField;\n} = {\n details: {\n helperText: \"Please describe details e.g. amps, voltage, etc.\",\n isTextArea: true,\n name: \"requirements.electricity.details\",\n placeholder: \"Electricity requirements\",\n },\n isRequired: {\n name: \"requirements.electricity.isRequired\",\n placeholder: \"Do you require electricity?\",\n },\n};\n\nexport const vendorGazebo: {\n details: FormField;\n isRequired: FormField;\n} = {\n details: {\n helperText: \"Please describe details e.g. size, etc.\",\n isTextArea: true,\n name: \"requirements.gazebo.details\",\n placeholder: \"Gazebo requirements\",\n },\n isRequired: {\n name: \"requirements.gazebo.isRequired\",\n placeholder: \"Do you require Gazebo?\",\n },\n};\n\nexport const vendorTable: {\n details: FormField;\n isRequired: FormField;\n} = {\n details: {\n helperText: \"Please describe details e.g. size, etc.\",\n isTextArea: true,\n name: \"requirements.table.details\",\n placeholder: \"Table requirements\",\n },\n isRequired: {\n name: \"requirements.table.isRequired\",\n placeholder: \"Do you require Table?\",\n },\n};\n\nexport const vendorPriceRange: {\n max: FormField;\n min: FormField;\n} = {\n max: {\n helperText: \"Product maximum price\",\n name: \"product.priceRange.max\",\n placeholder: \"Maximum price: \",\n },\n min: {\n helperText: \"Product minimum price\",\n name: \"product.priceRange.min\",\n placeholder: \"Minimum price: \",\n },\n};\n\nexport const vendorStallSize: {\n depth: FormField;\n width: FormField;\n} = {\n depth: {\n helperText: \"Stall size in depth\",\n name: \"stallInfo.size.depth\",\n placeholder: \"Stall Depth: \",\n },\n width: {\n helperText: \"Stall size in width\",\n name: \"stallInfo.size.width\",\n placeholder: \"Stall Width: \",\n },\n};\n\nexport const vendorPackaging: FormField = {\n helperText: \"Select packaging type, you can select more than one\",\n name: \"product.packaging\",\n placeholder: \"Packaging type\",\n};\n\nexport const vendorProducedIn: FormField = {\n helperText:\n \"Select where the product is produced, you can select more than one\",\n name: \"product.producedIn\",\n placeholder: \"Produced type\",\n};\n\nexport const vendorFoodFlavour: FormField = {\n helperText: \"You can select more than one food flavour\",\n name: \"product.foodFlavors\",\n placeholder: \"Food flavours\",\n};\n\nexport const vendorCompliance: FormField[] = [\n {\n name: \"compliance.liabilityInsurance\",\n placeholder: \"Liability Insurance\",\n },\n {\n name: \"compliance.foodBeverageLicense\",\n placeholder: \"Food and Beverage License\",\n },\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\nexport const packagingOptions: OptionItem[] = mapArrayToOptions(packagingTypes);\nexport const producedIngOptions: OptionItem[] =\n mapArrayToOptions(producedIngTypes);\nexport const foodFlavourOptions: OptionItem[] = Object.values(\n EnumFoodFlavor,\n).map((flavour) => ({\n label: flavour,\n value: flavour,\n}));\n","import { FormDateField, FormField, OptionItem } from \"../../types/global\";\n\nexport const eventBasicInfoFields: FormField[] = [\n {\n helperText: \"Name of the Event *\",\n name: \"name\",\n placeholder: \"Name\",\n },\n {\n helperText:\n \"NZBN number (required – ClueMart only accepts events with valid NZBN number) *\",\n keyboardType: \"number-pad\",\n name: \"nzbn\",\n placeholder: \"NZBN number\",\n },\n {\n helperText: \"Name of the Provider (if applicable)\",\n name: \"provider\",\n placeholder: \"Provider\",\n },\n {\n helperText: \"Description of the Event *\",\n isTextArea: true,\n name: \"description\",\n placeholder: \"Description\",\n },\n];\n\nexport const eventStartDateFields: FormDateField[] = [\n {\n dateMode: \"date\",\n helperText: \"Start Date of the Event *\",\n name: \"startDate\",\n placeholder: \"Start Date\",\n },\n {\n dateMode: \"time\",\n helperText: \"Start Time of the Event *\",\n name: \"startTime\",\n placeholder: \"Start Time\",\n },\n];\n\nexport const eventEndDateFields: FormDateField[] = [\n {\n dateMode: \"date\",\n helperText: \"End Date of the Event *\",\n name: \"endDate\",\n placeholder: \"End Date\",\n },\n {\n dateMode: \"time\",\n helperText: \"End Time of the Event *\",\n name: \"endTime\",\n placeholder: \"End Time\",\n },\n];\n\nexport const availableTagTypes = [\n { icon: \"human-male-female-child\", label: \"All Ages\" },\n { icon: \"weather-sunny\", label: \"Day Market\" },\n { icon: \"account-child\", label: \"Family Friendly\" },\n { icon: \"ticket-percent\", label: \"Free Entry\" },\n { icon: \"home-city\", label: \"Indoor Market\" },\n { icon: \"music\", label: \"Live Music\" },\n { icon: \"bus\", label: \"Near Bustop\" },\n { icon: \"slide\", label: \"Near Playground\" },\n { icon: \"train\", label: \"Near Train Station\" },\n { icon: \"weather-night\", label: \"Night Market\" },\n { icon: \"tree\", label: \"Outdoor Market\" },\n { icon: \"car\", label: \"Parking Available\" },\n { icon: \"dog\", label: \"Pet Friendly\" },\n { icon: \"ship-wheel\", label: \"Port Nearby\" },\n { icon: \"toilet\", label: \"Toilet Available\" },\n { icon: \"wheelchair-accessibility\", label: \"Wheelchair Accessible\" },\n];\n\nexport const tagOptions: OptionItem[] = availableTagTypes.map((tag) => ({\n label: tag.label,\n value: tag.label,\n}));\n","import { Requirement, StallType } from \"../../types/event\";\nimport { FormField } from \"../../types/global\";\n\nexport const eventInfo: FormField[] = [\n {\n helperText: \"Application Deadline (hours before event start) *\",\n keyboardType: \"number-pad\",\n name: \"applicationDeadlineHours\",\n placeholder: \"Application Deadline (in hours)\",\n },\n {\n helperText:\n \"Payment Due (hours after application or invitation acceptance) *\",\n keyboardType: \"number-pad\",\n name: \"paymentDueHours\",\n placeholder: \"Payment Due (in hours)\",\n },\n {\n helperText: \"Pack-In Time (hours before event start) *\",\n keyboardType: \"number-pad\",\n name: \"packInTime\",\n placeholder: \"Pack In Time (in hours)\",\n },\n];\n\nexport const eventInfoPaymentInfo: FormField[] = [\n {\n helperText: \"Account holder name *\",\n name: \"accountHolderName\",\n placeholder: \"Account holder name\",\n },\n {\n helperText: \"Account number *\",\n keyboardType: \"number-pad\",\n name: \"accountNumber\",\n placeholder: \"Account number\",\n },\n {\n helperText: \"Payment link, where applicants can pay *\",\n keyboardType: \"url\",\n name: \"link\",\n placeholder: \"Payment link\",\n },\n];\n\nexport const requirementsOptions: Requirement[] = [\n {\n category: \"Environment\",\n label: \"All packaging must be eco-friendly or recyclable where possible.\",\n value: false,\n },\n {\n category: \"Environment\",\n label: \"No single-use plastic bags are to be handed out.\",\n value: false,\n },\n {\n category: \"Environment\",\n label:\n \"Stall area must be left clean with no trace of activity after pack-down.\",\n value: false,\n },\n {\n category: \"Environment\",\n label:\n \"No disposal of oils, fats, or chemicals in public drains or on grassed areas.\",\n value: false,\n },\n {\n category: \"Environment\",\n label:\n \"You must provide bins at your site for rubbish and recycling, and take away all bins including rubbish, to dispose of outside of the town centre.\",\n value: false,\n },\n {\n category: \"Food Safety\",\n label:\n \"Food must be prepared and stored according to your food regulation.\",\n value: false,\n },\n {\n category: \"Food Safety\",\n label: \"The stallholder must display a current food grade certificate.\",\n value: false,\n },\n {\n category: \"Food Safety\",\n label: \"Only licensed food vendors may sell ready-to-eat food items.\",\n value: false,\n },\n {\n category: \"Food Safety\",\n label:\n \"Handwashing facilities must be available at your stall if preparing food.\",\n value: false,\n },\n {\n category: \"Food Safety\",\n label: \"You must have a food safety plan in place for your stall.\",\n value: false,\n },\n {\n category: \"Food Safety\",\n label:\n \"Allergens must be clearly listed on packaged and unpackaged food items.\",\n value: false,\n },\n {\n category: \"Legal & Safety\",\n label: \"All stallholders must comply with local council regulations.\",\n value: false,\n },\n {\n category: \"Legal & Safety\",\n label: \"No unauthorised subletting of stall space to other vendors.\",\n value: false,\n },\n {\n category: \"Legal & Safety\",\n label:\n \"Gas bottles and fuel containers must be secured and in good condition if applicable.\",\n value: false,\n },\n {\n category: \"Legal & Safety\",\n label:\n \"Fire extinguishers must be available for stalls using cooking or heating equipment.\",\n value: false,\n },\n {\n category: \"Legal & Safety\",\n label:\n \"Stallholders must not sell items that are illegal or prohibited by law.\",\n value: false,\n },\n {\n category: \"Legal & Safety\",\n label: \"All electrical equipment must be tested and tagged.\",\n value: false,\n },\n {\n category: \"Legal & Safety\",\n label:\n \"Noise levels must be kept to a minimum unless part of a permitted performance.\",\n value: false,\n },\n {\n category: \"Legal & Safety\",\n label: \"Pets at the stall must be secured and well-behaved at all times.\",\n value: false,\n },\n {\n category: \"Legal & Safety\",\n label: \"Cables must be secured and not create tripping hazards.\",\n value: false,\n },\n {\n category: \"Legal & Safety\",\n label: \"Stalls must not obstruct emergency access routes.\",\n value: false,\n },\n {\n category: \"Legal & Safety\",\n label: \"First aid kit must be available at the stall for minor injuries.\",\n value: false,\n },\n {\n category: \"Legal & Safety\",\n label: \"Stallholders must hold valid liability insurance where required.\",\n value: false,\n },\n {\n category: \"Legal & Safety\",\n label:\n \"You must secure your gazebo and equipment to withstand wind or bad weather.\",\n value: false,\n },\n {\n category: \"Legal & Safety\",\n label:\n \"You are responsible for the safety of your setup and any potential hazards.\",\n value: false,\n },\n {\n category: \"Operations\",\n label: \"Generators must be quiet and pre-approved by the event organiser.\",\n value: false,\n },\n {\n category: \"Operations\",\n label:\n \"Only approved products or services may be sold — no last-minute changes.\",\n value: false,\n },\n {\n category: \"Operations\",\n label:\n \"Stallholders must arrive and be fully set up by the designated opening time.\",\n value: false,\n },\n {\n category: \"Operations\",\n label: \"You may not pack down your stall before the event officially ends.\",\n value: false,\n },\n {\n category: \"Operations\",\n label: \"You must be self-sufficient in all operations.\",\n value: false,\n },\n {\n category: \"Operations\",\n label: \"Stall layout must be kept within your allocated space.\",\n value: false,\n },\n];\n\nconst stallTypes = [\n \"1.8m table only\",\n \"2x2m mini stall\",\n \"3x3m tent site\",\n \"Corner stall\",\n \"Craft stall with power\",\n \"Craft stall without power\",\n \"Double stall (6x3m)\",\n \"Food truck site\",\n \"Food vendor with power\",\n \"Food vendor without power\",\n \"Inside hall stall\",\n \"Non-profit/community stall\",\n \"Outdoor open area\",\n \"Shared table space\",\n \"Wall-based vendor\",\n \"Workshop/seating area\",\n] as const;\n\nexport const stallTypeOptions: StallType[] = stallTypes.map((type) => ({\n electricity: {\n price: null,\n selected: false,\n },\n label: type,\n price: 0,\n stallCapacity: 0,\n}));\n","import { FormField } from \"src/types/global\";\n\nexport const emailField: FormField = {\n helperText: \"Enter email address\",\n keyboardType: \"email-address\",\n name: \"email\",\n placeholder: \"Email\",\n};\n\nexport const companyContactFields: FormField[] = [\n {\n ...emailField,\n name: \"contactDetails.email\",\n },\n {\n helperText: \"Enter your mobile phone number\",\n keyboardType: \"phone-pad\",\n name: \"contactDetails.mobilePhone\",\n placeholder: \"Mobile Phone Number\",\n },\n {\n helperText: \"Enter your landline phone number\",\n keyboardType: \"phone-pad\",\n name: \"contactDetails.landlinePhone\",\n placeholder: \"Landline Phone Number\",\n },\n];\n","import { FormField } from \"../types/global\";\n\nimport { emailField } from \"./global\";\n\nexport const loginFields: FormField[] = [\n {\n ...emailField,\n },\n {\n helperText: \"Enter password *\",\n keyboardType: \"default\",\n name: \"password\",\n placeholder: \"Password\",\n secureTextEntry: true,\n },\n];\n\nexport const registerFields: FormField[] = [\n {\n helperText: \"Enter first name *\",\n keyboardType: \"default\",\n name: \"firstName\",\n placeholder: \"First Name\",\n },\n {\n helperText: \"Enter last name *\",\n keyboardType: \"default\",\n name: \"lastName\",\n placeholder: \"Last Name\",\n },\n {\n ...emailField,\n },\n {\n helperText: \"Enter password *\",\n keyboardType: \"default\",\n name: \"password\",\n placeholder: \"Password\",\n secureTextEntry: true,\n },\n];\n\nexport const requestPasswordResetFields: FormField[] = [\n {\n ...emailField,\n helperText: \"Enter email address to reset your password *\",\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\nexport const validateVerificationTokenFields: FormField[] = [\n {\n ...emailField,\n disabled: true,\n helperText: \"Your email address *\",\n },\n {\n helperText: \"Enter the Verification code sent to you by email *\",\n keyboardType: \"number-pad\",\n name: \"verificationToken\",\n placeholder: \"Verification code\",\n },\n];\n","import { FormField } from \"../types/global\";\n\nimport { emailField } from \"./global\";\n\nexport const profileFields: FormField[] = [\n {\n ...emailField,\n disabled: true,\n helperText: \"Email cannot be changed\",\n },\n {\n helperText: \"Enter first name\",\n keyboardType: \"default\",\n name: \"firstName\",\n placeholder: \"First Name\",\n },\n {\n helperText: \"Enter 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","/* eslint-disable sort-keys */\nimport { Category } from \"src/types\";\n\nexport const clothingAndFashion: Category[] = [\n {\n id: \"clothing-fashion\",\n name: \"Clothing & Fashion\",\n description:\n \"New, handmade, or upcycled clothing and accessories with a creative twist.\",\n subcategories: [\n {\n id: \"apparel-babywear\",\n name: \"Apparel & Babywear\",\n items: [\n {\n id: \"apparel\",\n name: \"Apparel\",\n description: \"Dresses, t-shirts, jumpers, rompers, sets, kidswear.\",\n },\n {\n id: \"baby-toddler-apparel\",\n name: \"Baby & Toddler Apparel\",\n description:\n \"Handmade baby clothes, soft shoes, bibs, hats, knitted sets.\",\n },\n {\n id: \"upcycled-fashion\",\n name: \"Upcycled Fashion\",\n description:\n \"Reworked garments, patchwork pieces, restyled vintage.\",\n },\n {\n id: \"other-wearable-items\",\n name: \"Other wearable items\",\n description: \"Unique clothing not listed above.\",\n },\n ],\n },\n {\n id: \"fashion-accessories\",\n name: \"Fashion Accessories\",\n items: [\n {\n id: \"accessories\",\n name: \"Accessories\",\n description: \"Scarves, belts, gloves, hats, headbands, caps.\",\n },\n {\n id: \"shoes\",\n name: \"Shoes\",\n description: \"Handmade shoes, baby booties, sandals, slippers.\",\n },\n {\n id: \"bags-wallets\",\n name: \"Bags & Wallets\",\n description:\n \"Leather bags, fabric purses, wallets, backpacks, totes.\",\n },\n {\n id: \"other-accessories\",\n name: \"Other accessories\",\n description: \"Brooches, pins, or hybrid functional items.\",\n },\n ],\n },\n {\n id: \"jewelry-creative-wearables\",\n name: \"Jewelry & Creative Wearables\",\n items: [\n {\n id: \"jewelry\",\n name: \"Jewelry\",\n description: \"Necklaces, earrings, bracelets, rings, anklets.\",\n },\n {\n id: \"other-creative-wearables\",\n name: \"Other creative wearables\",\n description:\n \"Wearable art, statement pieces, bold handmade designs.\",\n },\n ],\n },\n {\n id: \"traditional-cultural-clothing-accessories\",\n name: \"Traditional & Cultural Clothing and Accessories\",\n items: [\n {\n id: \"traditional-clothing-accessories\",\n name: \"Traditional Clothing & Accessories \",\n description:\n \"raditional clothing, jewellery, accessories and footwear from around the world, including both handmade and non-handmade items.\",\n },\n {\n id: \"other-traditional-cultural-items\",\n name: \"Other Traditional & Cultural Items\",\n description:\n \"traditional or culturally inspired wearables and decorative cultural pieces such as plates, table linens and similar items.\",\n },\n ],\n },\n ],\n },\n];\n","/* eslint-disable sort-keys */\nimport { Category } from \"src/types\";\n\nexport const electronicsAndTechnology: Category[] = [\n {\n id: \"electronics-technology\",\n name: \"Electronics & Technology\",\n description:\n \"New, second-hand, or handmade tech and digital items commonly found at markets.\",\n subcategories: [\n {\n id: \"mobile-everyday-tech\",\n name: \"Mobile & Everyday Tech\",\n items: [\n {\n id: \"mobile-phone-accessories\",\n name: \"Mobile & Phone Accessories\",\n description:\n \"Phone cases, holders, screen protectors, charging cables, power banks, grips.\",\n },\n {\n id: \"other-mobile-gadgets\",\n name: \"Other mobile gadgets\",\n description:\n \"Stands, styluses, SIM tools, cleaning kits, wallet accessories.\",\n },\n ],\n },\n {\n id: \"audio-music-creative-tech\",\n name: \"Audio, Music & Creative Tech\",\n items: [\n {\n id: \"audio-music-tech\",\n name: \"Audio & Music Tech\",\n description:\n \"Portable speakers, headphones, mini radios, Bluetooth adapters, sound accessories.\",\n },\n {\n id: \"instruments-music-gear\",\n name: \"Instruments & Music Gear\",\n description:\n \"Small electronic instruments, DIY synth kits, drum pads, loop machines.\",\n },\n {\n id: \"recording-creative-devices\",\n name: \"Recording & Creative Devices\",\n description:\n \"USB microphones, podcast tools, voice recorders, mobile lighting, content tools.\",\n },\n {\n id: \"other-audio-music-items\",\n name: \"Other audio or music-related items\",\n description: \"Musical gadgets or creative gear not listed above.\",\n },\n ],\n },\n {\n id: \"diy-gadgets-secondhand-finds\",\n name: \"DIY, Gadgets & Second-Hand Finds\",\n items: [\n {\n id: \"diy-electronics-tools\",\n name: \"DIY Electronics & Tools\",\n description:\n \"LED lights, USB gadgets, circuit boards, repair kits, tech-themed toys, novelty items.\",\n },\n {\n id: \"other-tech-finds\",\n name: \"Other Tech Finds\",\n description:\n \"Used electronics, smart gadgets, wearable tech, calculators, tablet stands, e-waste upcycles.\",\n },\n {\n id: \"other-technology-innovation-items\",\n name: \"Other technology or innovation-related items\",\n description: \"Anything not covered but clearly tech-driven.\",\n },\n ],\n },\n ],\n },\n];\n","/* eslint-disable sort-keys */\nimport { Category } from \"src/types\";\n\nexport const foodAndBeverages: Category[] = [\n {\n id: \"food-beverages\",\n name: \"Food & Beverages\",\n description:\n \"Fresh produce, drinks, sweet and savoury street food, ready-to-eat meals, and packaged goods.\",\n subcategories: [\n {\n id: \"fresh-food-groceries\",\n name: \"Fresh Food & Groceries\",\n items: [\n {\n id: \"fruits-vegetables\",\n name: \"Fruits & Vegetables\",\n description:\n \"Fresh seasonal fruit, organic vegetables, specialty produce, berries, tropical fruit, heritage varieties.\",\n },\n {\n id: \"meat-seafood\",\n name: \"Meat & Seafood\",\n description:\n \"Butcher cuts, fresh fish, smoked meats, sausages, seafood platters, artisanal jerky.\",\n },\n {\n id: \"dairy-eggs\",\n name: \"Dairy & Eggs\",\n description:\n \"Farm eggs, handmade cheeses, yoghurt, fresh milk, goat’s milk products.\",\n },\n {\n id: \"bakery-pastries\",\n name: \"Bakery & Pastries\",\n description:\n \"Freshly baked bread, sourdough, bagels, croissants, focaccia, traditional baked goods.\",\n },\n {\n id: \"spices-condiments\",\n name: \"Spices & Condiments\",\n description:\n \"Dried herbs, spice blends, specialty salts, hot sauces, infused oils, chutneys.\",\n },\n {\n id: \"packaged-specialty-foods\",\n name: \"Packaged & Specialty Foods\",\n description:\n \"Honey, jams, preserves, pickles, nut butters, sauces, pre-packaged snacks.\",\n },\n {\n id: \"other-fresh-food-items\",\n name: \"Other fresh food items\",\n description:\n \"Items that don’t fit above, e.g. fermented foods, plant-based substitutes.\",\n },\n ],\n },\n {\n id: \"beverages-specialty-drinks\",\n name: \"Beverages & Specialty Drinks\",\n items: [\n {\n id: \"fresh-juices-smoothies\",\n name: \"Fresh Juices & Smoothies\",\n description:\n \"Cold-pressed juices, detox blends, fruit smoothies, tropical mixes.\",\n },\n {\n id: \"coffee-teas\",\n name: \"Coffee & Teas\",\n description:\n \"Espresso, pour-over coffee, herbal teas, matcha, bubble tea, locally blended tea.\",\n },\n {\n id: \"dairy-plant-based-drinks\",\n name: \"Dairy & Plant-Based Drinks\",\n description:\n \"Milkshakes, lassis, almond/oat milk drinks, coconut water.\",\n },\n {\n id: \"alcoholic-beverages\",\n name: \"Alcoholic Beverages\",\n description:\n \"Local wines, craft beer, mead, cider, infused spirits, cocktail kits.\",\n },\n {\n id: \"other-beverages\",\n name: \"Other beverages\",\n description:\n \"Kombucha, kefir, energy drinks, non-alcoholic wines or beers.\",\n },\n ],\n },\n {\n id: \"savoury-prepared-foods-street-food\",\n name: \"Savoury Prepared Foods & Street Food\",\n items: [\n {\n id: \"local-specialties\",\n name: \"Local Specialties\",\n description:\n \"Meat pies, hangi, seafood chowder, fry bread, traditional NZ dishes.\",\n },\n {\n id: \"asian-cuisine\",\n name: \"Asian Cuisine\",\n description:\n \"Sushi, bao buns, dumplings, ramen, satay, spring rolls, fried rice.\",\n },\n {\n id: \"mediterranean-cuisine\",\n name: \"Mediterranean Cuisine\",\n description: \"Falafel, hummus wraps, souvlaki, Greek salad, dolma.\",\n },\n {\n id: \"italian-delights\",\n name: \"Italian Delights\",\n description: \"Pizza, calzone, focaccia, fresh pasta, arancini.\",\n },\n {\n id: \"bbq-grilled-foods\",\n name: \"BBQ & Grilled Foods\",\n description: \"Kebabs, grilled chicken, ribs, burgers, sausages.\",\n },\n {\n id: \"savoury-crepes-pancakes\",\n name: \"Savoury Crepes & Pancakes\",\n description: \"Filled savoury crepes, mini savoury pancakes.\",\n },\n {\n id: \"savoury-baked-goods-pastries\",\n name: \"Savoury Baked Goods & Pastries\",\n description:\n \"Quiches, savoury muffins, filled savoury pastries, empanadas.\",\n },\n {\n id: \"vegan-vegetarian-dishes\",\n name: \"Vegan & Vegetarian Dishes\",\n description:\n \"Buddha bowls, plant-based burgers, salads, vegan sushi.\",\n },\n {\n id: \"other-savoury-foods\",\n name: \"Other Savoury Foods\",\n description: \"Fusion dishes, mixed platters, savoury meal kits.\",\n },\n ],\n },\n {\n id: \"sweet-prepared-foods\",\n name: \"Sweet Prepared Foods\",\n items: [\n {\n id: \"sweet-crepes-pancakes-fried-treats\",\n name: \"Sweet Crepes, Pancakes & Fried Treats\",\n description: \"Crepes, waffles, mini pancakes, muffins, doughnuts.\",\n },\n {\n id: \"sweet-baked-goods-desserts\",\n name: \"Sweet Baked Goods & Desserts\",\n description: \"Cakes, pastries, slices, trifles, layered desserts.\",\n },\n {\n id: \"fruit-based-snacks\",\n name: \"Fruit-Based Snacks\",\n description:\n \"Fruit skewers, dried fruit packs, chocolate-dipped fruit.\",\n },\n {\n id: \"candy-confectionery\",\n name: \"Candy & Confectionery\",\n description: \"Fudge, handmade candies, toffee, nougat, brittle.\",\n },\n {\n id: \"other-sweet-foods\",\n name: \"Other Sweet Foods\",\n description: \"Fusion desserts, sweet platters, sweet meal kits.\",\n },\n ],\n },\n ],\n },\n];\n","/* eslint-disable sort-keys */\nimport { Category } from \"src/types\";\n\nexport const handmadeAndLocalProducts: Category[] = [\n {\n id: \"handmade-local-products\",\n name: \"Handmade & Local Products\",\n description: \"Unique, handmade, or locally produced artisan goods.\",\n subcategories: [\n {\n id: \"home-living\",\n name: \"Home & Living\",\n items: [\n {\n id: \"ceramics-pottery\",\n name: \"Ceramics & Pottery\",\n description:\n \"Handmade mugs, vases, bowls, decorative plates, plant pots.\",\n },\n {\n id: \"candles-home-scents\",\n name: \"Candles & Home Scents\",\n description:\n \"Soy candles, beeswax candles, wax melts, incense sticks, room sprays and herbal sachets.\",\n },\n {\n id: \"botanical-crafts\",\n name: \"Botanical Crafts\",\n description: \"Dried-flower décor and pressed-flower crafts\",\n },\n {\n id: \"textiles-embroidery\",\n name: \"Textiles & Embroidery\",\n description:\n \"Handsewn items, embroidered napkins, home linens, aprons, fabric gift wraps, handmade fabric bags, quilted goods, personalized textile gifts.\",\n },\n {\n id: \"woodcraft-metalcraft\",\n name: \"Woodcraft & Metalcraft\",\n description:\n \"Wooden boards, handmade frames, sculptures, metal signs, furniture.\",\n },\n {\n id: \"handmade-soaps-natural-body-goods\",\n name: \"Handmade Soaps & Natural Body Goods\",\n description: \"Handmade soaps, balms, oils, bath items\",\n },\n {\n id: \"seasonal-festive-crafts\",\n name: \"Seasonal & Festive Crafts\",\n description: \"Christmas, Easter and seasonal handmade decor\",\n },\n {\n id: \"other-home-living-products\",\n name: \"Other home & living products\",\n description:\n \"Items that don't fit above but serve home-related purposes.\",\n },\n ],\n },\n {\n id: \"art-personal-expression\",\n name: \"Art & Personal Expression\",\n items: [\n {\n id: \"paintings-illustrations\",\n name: \"Paintings & Illustrations\",\n description:\n \"Paintings, canvas art, hand-drawn illustrations, digital prints, graphic art and calligraphy pieces.\",\n },\n {\n id: \"sculptures-carvings\",\n name: \"Sculptures & Carvings \",\n description:\n \"Sculptures made from wood, stone, metal, clay or resin, carved decorative pieces and artistic 3D works.\",\n },\n {\n id: \"creative-handmade-alternative-art\",\n name: \"Creative Handmade & Alternative Art\",\n description:\n \"Handmade textile décor, fabric ornaments, mixed-media art, creative craft pieces and modern handmade artworks.\",\n },\n {\n id: \"handmade-mini-figures-decor\",\n name: \"Handmade Mini Figures & Décor\",\n description:\n \"Small handmade figures, tiny houses and crafted mini decorative items.\",\n },\n {\n id: \"other-artistic-expressive-products\",\n name: \"Other Artistic or Expressive Products\",\n description:\n \"Custom artworks, specialty handmade décor, unique crafts.\",\n },\n ],\n },\n {\n id: \"handmade-jewellery-accessories-cultural-crafts\",\n name: \"Handmade Jewellery, Accessories & Cultural Crafts\",\n items: [\n {\n id: \"jewellery-handmade-items-nz-traditional-materials\",\n name: \"Jewellery & Handmade Items from NZ Traditional Materials\",\n description:\n \"Handmade jewellery and decorative or functional items crafted from pounamu, bone, wood and other traditional New Zealand materials.\",\n },\n {\n id: \"maori-pasifika-cultural-crafts-clothing\",\n name: \"Māori & Pasifika Cultural Crafts and Clothing\",\n description:\n \"Culturally inspired handmade items, accessories and garments featuring Māori or Pasifika motifs, traditional patterns and regional craftsmanship.\",\n },\n {\n id: \"traditional-handmade-clothing-jewellery-crafts-global-cultures\",\n name: \"Traditional Handmade Clothing, Jewellery & Crafts from Global Cultures\",\n description:\n \"Handcrafted clothing, jewellery and cultural items from diverse traditions — including Asian, African, European, Middle Eastern, Indian, Chinese, Japanese, Pacific, and other culturally significant handmade pieces.\",\n },\n {\n id: \"other-handmade-cultural-items\",\n name: \"Other Handmade Cultural Items\",\n description:\n \"Unique or culturally inspired handmade pieces not specifically covered in the categories above.\",\n },\n ],\n },\n {\n id: \"gift-ideas-accessories\",\n name: \"Gift Ideas & Accessories\",\n items: [\n {\n id: \"handmade-pens-keychains-fridge-magnets\",\n name: \"Handmade Pens, Keychains and Fridge Magnets\",\n description: null,\n },\n {\n id: \"gift-packaging-wrapping-accessories\",\n name: \"Gift Packaging & Wrapping Accessories\",\n description: null,\n },\n {\n id: \"handmade-crochet-knitting-fibre-crafts\",\n name: \"Handmade Crochet, Knitting & Fibre Crafts\",\n description:\n \"Handmade crochet and knitted items, fabric-based crafts, small decorative pieces, creative fibre artworks and unique handcrafted accessories.\",\n },\n {\n id: \"handmade-toys-mini-play-items\",\n name: \"Handmade Toys & Mini Play Items\",\n description:\n \"small handmade toys, soft toys, wooden miniatures, crochet or felt play pieces\",\n },\n {\n id: \"other-small-handmade-gifts-accessories\",\n name: \"Other small handmade gifts or accessories\",\n description: \"Compact creative items made to surprise or delight.\",\n },\n ],\n },\n ],\n },\n];\n","/* eslint-disable sort-keys */\nimport { Category } from \"src/types\";\n\nexport const healthAndWellness: Category[] = [\n {\n id: \"health-wellness\",\n name: \"Health & Wellness\",\n description:\n \"Natural products and services that promote wellbeing, body care, and holistic health.\",\n subcategories: [\n {\n id: \"body-skincare\",\n name: \"Body & Skincare\",\n items: [\n {\n id: \"skincare-body-products\",\n name: \"Skincare & Body Products\",\n description:\n \"Soaps, creams, lip balms, bath salts, bath bombs, body oils, natural deodorants.\",\n },\n {\n id: \"other-body-care-items\",\n name: \"Other body care items\",\n description:\n \"Additional handmade or eco-conscious personal care goods.\",\n },\n ],\n },\n {\n id: \"aromatherapy-herbal-wellness\",\n name: \"Aromatherapy & Herbal Wellness\",\n items: [\n {\n id: \"aromatherapy-herbal-remedies\",\n name: \"Aromatherapy & Herbal Remedies\",\n description:\n \"Essential oils, herbal balms, massage oils, salves, natural teas, rollers.\",\n },\n {\n id: \"other-herbal-aroma-products\",\n name: \"Other herbal or aroma-based products\",\n description: \"Wellness blends, herb sachets, custom infusions.\",\n },\n ],\n },\n {\n id: \"wellness-tools-accessories\",\n name: \"Wellness Tools & Accessories\",\n items: [\n {\n id: \"wellness-accessories\",\n name: \"Wellness Accessories\",\n description:\n \"Yoga mats, meditation cushions, eye pillows, incense, smudging sticks, eco water bottles, wellness journals.\",\n },\n {\n id: \"spiritual-tools-crystals\",\n name: \"Spiritual Tools & Crystals\",\n description:\n \"Healing crystals, gemstone bracelets, pendulums, sprays, spiritual kits, altar decor.\",\n },\n {\n id: \"other-wellness-spiritual-items\",\n name: \"Other wellness or spiritual items\",\n description: \"Items that aid relaxation, focus, or inner work.\",\n },\n ],\n },\n ],\n },\n];\n","/* eslint-disable sort-keys */\nimport { Category } from \"src/types\";\n\nexport const homeGardenHousehold: Category[] = [\n {\n id: \"home-garden-household-goods\",\n name: \"Home, Garden & Household Goods\",\n description:\n \"Functional, decorative, and eco-conscious products designed for everyday use indoors and outdoors.\",\n subcategories: [\n {\n id: \"home-decor-living\",\n name: \"Home Decor & Living\",\n items: [\n {\n id: \"home-decor\",\n name: \"Home Decor\",\n description:\n \"Cushions, wall art, table runners, vases, trays, mirrors, handmade centerpieces.\",\n },\n {\n id: \"kitchenware-dining\",\n name: \"Kitchenware & Dining\",\n description:\n \"Mugs, bowls, cutting boards, utensils, jars, coasters, kitchen textiles.\",\n },\n {\n id: \"mini-figures-decor\",\n name: \"Mini Figures & Décor\",\n description:\n \"handmade or non-handmade small figures, tiny houses and miniature decorative items.\",\n },\n {\n id: \"other-indoor-home-items\",\n name: \"Other indoor home items\",\n description:\n \"Any decorative or practical household items not listed above.\",\n },\n ],\n },\n {\n id: \"cleaning-eco-essentials\",\n name: \"Cleaning & Eco Essentials\",\n items: [\n {\n id: \"cleaning-eco-supplies\",\n name: \"Cleaning & Eco Supplies\",\n description:\n \"Beeswax wraps, reusable cloths, brushes, natural soaps, detergent bars, eco sponges.\",\n },\n {\n id: \"other-eco-cleaning-items\",\n name: \"Other eco or cleaning items\",\n description: \"Environmentally friendly goods not listed above.\",\n },\n ],\n },\n {\n id: \"garden-outdoor-living\",\n name: \"Garden & Outdoor Living\",\n items: [\n {\n id: \"plants-botanical-decor\",\n name: \"Plants & Botanical Decor\",\n description:\n \"Potted herbs, succulents, dried flowers, terrariums, plant-based ornaments.\",\n },\n {\n id: \"fresh-flowers-botanical-bouquets\",\n name: \"Fresh Flowers & Botanical Bouquets\",\n description:\n \"Cut flowers, seasonal bouquets, simple floral arrangements, native flower selections, and other fresh botanical items.\",\n },\n {\n id: \"natural-decor-nature-inspired-elements\",\n name: \"Natural Decor & Nature-Inspired Elements\",\n description:\n \"Seashell décor, driftwood pieces, sand ornaments, natural wood accents, stone or mineral decorations, and other nature-based decorative items.\",\n },\n {\n id: \"garden-tools-outdoor-items\",\n name: \"Garden Tools & Outdoor Items\",\n description:\n \"Plant markers, garden signs, stakes, small tools, wind chimes, gifts.\",\n },\n {\n id: \"other-outdoor-garden-products\",\n name: \"Other outdoor or garden products\",\n description: \"Functional or decorative items for outside use.\",\n },\n ],\n },\n ],\n },\n];\n","/* eslint-disable sort-keys */\nimport { Category } from \"src/types\";\n\nexport const petProductsAndAnimalGoods: Category[] = [\n {\n id: \"pet-products-animal-goods\",\n name: \"Pet Products & Animal Goods\",\n description: \"Items for pets, pet lovers, or animal-themed market stalls.\",\n subcategories: [\n {\n id: \"products-for-pets\",\n name: \"Products for Pets\",\n items: [\n {\n id: \"pet-food-treats\",\n name: \"Pet Food & Treats\",\n description:\n \"Homemade dog biscuits, cat snacks, natural chews, pet-safe cakes, training treats.\",\n },\n {\n id: \"apparel-toys-accessories\",\n name: \"Apparel, Toys & Accessories\",\n description:\n \"Leashes, collars, harnesses, toys, grooming tools, beds, travel gear, jumpers, bandanas.\",\n },\n {\n id: \"other-pet-products\",\n name: \"Other pet products\",\n description: \"Any pet-related items not listed above.\",\n },\n ],\n },\n {\n id: \"small-pets-birds-exotic-animals\",\n name: \"Small Pets, Birds & Exotic Animals\",\n items: [\n {\n id: \"products-small-pets-birds-exotics\",\n name: \"Products for Small Pets, Birds & Exotics\",\n description:\n \"Toys, enclosures, perches, feeding bowls, bedding, habitat decor, transport gear, and care items for birds, rabbits, hamsters, reptiles, turtles, aquarium pets, and other exotic species.\",\n },\n {\n id: \"other-small-exotic-animal-items\",\n name: \"Other small or exotic animal items\",\n description: \"Unusual accessories for non-mainstream pets.\",\n },\n ],\n },\n {\n id: \"farm-working-animals\",\n name: \"Farm & Working Animals\",\n items: [\n {\n id: \"goods-for-farm-working-animals\",\n name: \"Goods for Farm & Working Animals\",\n description:\n \"Treats, care products, equipment, signage and accessories for chickens, goats, alpacas, horses, and other livestock.\",\n },\n {\n id: \"other-farm-animal-items\",\n name: \"Other farm animal-related items\",\n description:\n \"Rural, barnyard, or utility-specific gear not listed above.\",\n },\n ],\n },\n {\n id: \"animal-themed-gifts-custom-items\",\n name: \"Animal-Themed Gifts & Custom Items\",\n items: [\n {\n id: \"pet-art-custom-gifts\",\n name: \"Pet Art & Custom Gifts\",\n description:\n \"Pet portraits, name tags, personalized bowls, breed-specific items, pet-themed home decor and stationery.\",\n },\n {\n id: \"other-animal-themed-gifts\",\n name: \"Other animal-themed gifts\",\n description:\n \"Artistic or sentimental items made for animal lovers.\",\n },\n ],\n },\n ],\n },\n];\n","import { Category } from \"src/types\";\n\n/* eslint-disable sort-keys */\nexport const serviceAndExperience: Category[] = [\n {\n id: \"services-experiences\",\n name: \"Services & Experiences\",\n description:\n \"On-site offerings that provide entertainment, personal care, learning, or interactive activities beyond products.\",\n subcategories: [\n {\n id: \"personal-care-body-art\",\n name: \"Personal Care & Body Art\",\n items: [\n {\n id: \"nails-handcare\",\n name: \"Nails & Handcare\",\n description:\n \"Nail painting, decoration, quick manicures, temporary nail extensions.\",\n },\n {\n id: \"hair-styling-braiding\",\n name: \"Hair Styling & Braiding\",\n description:\n \"Hair braiding, plaits, child-friendly festival hairstyles.\",\n },\n {\n id: \"face-body-decoration\",\n name: \"Face & Body Decoration\",\n description:\n \"Henna, glitter tattoos, face painting, light makeup, eyelash styling, professional tattooing (where permitted).\",\n },\n {\n id: \"other-beauty-grooming-services\",\n name: \"Other beauty or grooming services\",\n description: \"Small-scale personal care options offered on-site.\",\n },\n ],\n },\n {\n id: \"practical-wellness-services\",\n name: \"Practical & Wellness Services\",\n items: [\n {\n id: \"mobile-practical-services\",\n name: \"Mobile & Practical Services\",\n description:\n \"Shoe repair, phone repairs, knife sharpening, key cutting, battery replacement, bike repairs, engraving.\",\n },\n {\n id: \"wellness-alternative-therapies\",\n name: \"Wellness & Alternative Therapies\",\n description:\n \"Massage, aromatherapy, reflexology, energy healing (e.g. Reiki), natural consultations.\",\n },\n {\n id: \"other-service-based-offerings\",\n name: \"Other service-based offerings\",\n description: \"Wellness or functional services not listed above.\",\n },\n ],\n },\n {\n id: \"creative-educational-experiences\",\n name: \"Creative & Educational Experiences\",\n items: [\n {\n id: \"creative-workshops-maker-services\",\n name: \"Creative Workshops & Maker Services\",\n description:\n \"Candle making, pottery, jewelry crafting, soap or balm workshops, calligraphy, seasonal crafts.\",\n },\n {\n id: \"education-awareness-stalls\",\n name: \"Education & Awareness Stalls\",\n description:\n \"Eco awareness, cultural storytelling, local history, first aid demos, health booths, sustainability education, kids’ science displays.\",\n },\n {\n id: \"other-creative-educational-services\",\n name: \"Other creative or educational services\",\n description:\n \"Informal learning, demonstrations, or community-focused sessions.\",\n },\n ],\n },\n {\n id: \"kids-activities-family-fun\",\n name: \"Kids’ Activities & Family Fun\",\n items: [\n {\n id: \"kids-activities-fun\",\n name: \"Kids’ Activities & Fun\",\n description:\n \"Face painting, glitter tattoos, pony rides, bouncy castles, small amusement rides, balloon twisting, animal petting zones.\",\n },\n {\n id: \"other-family-oriented-activities\",\n name: \"Other family-oriented activities\",\n description:\n \"On-site entertainment that engages children or family groups.\",\n },\n ],\n },\n ],\n },\n];\n","import { Category } from \"src/types\";\n\n/* eslint-disable sort-keys */\nexport const toysChildren: Category[] = [\n {\n id: \"toys-childrens-items\",\n name: \"Toys & Children’s Items\",\n description: \"Products and services made for or inspired by children.\",\n subcategories: [\n {\n id: \"toys-playthings\",\n name: \"Toys & Playthings\",\n items: [\n {\n id: \"toys-classic-electric-character\",\n name: \"Toys – Classic, Electric & Character-Based\",\n description:\n \"Building blocks, dolls, puzzles, plush animals, toy vehicles, remote-control toys, light-up gadgets, character figurines, themed playsets.\",\n },\n {\n id: \"handmade-toys-crafty-playthings\",\n name: \"Handmade Toys & Crafty Playthings\",\n description:\n \"Wooden puzzles, crocheted animals, felt toys, fabric dolls, DIY kits, nature-inspired games, sensory toys.\",\n },\n {\n id: \"other-play-items\",\n name: \"Other play items\",\n description:\n \"Toys not listed above, including limited-edition or hybrid items.\",\n },\n ],\n },\n {\n id: \"educational-developmental\",\n name: \"Educational & Developmental\",\n items: [\n {\n id: \"educational-developmental-tools\",\n name: \"Educational & Developmental Tools\",\n description:\n \"STEM kits, Montessori toys, storybooks, picture books, flashcards, early learning games, language tools.\",\n },\n {\n id: \"other-educational-experience-based-items\",\n name: \"Other educational or experience-based items\",\n description:\n \"Creative experiences or learning aids not listed above.\",\n },\n ],\n },\n {\n id: \"baby-kidswear-accessories\",\n name: \"Baby & Kidswear + Accessories\",\n items: [\n {\n id: \"baby-kidswear-accessories\",\n name: \"Baby & Kidswear + Accessories\",\n description:\n \"Handmade baby clothes, toddler outfits, bibs, hats, headbands, bags, pacifier clips, soft shoes.\",\n },\n {\n id: \"baby-developmental-soft-toys\",\n name: \"Baby Developmental Soft Toys\",\n description:\n \"Sensory toys, rattles, fabric books, teething items, high-contrast cards, and early-skill. Montessori materials designed to support infants’ cognitive and motor development.\",\n },\n {\n id: \"other-childrens-clothing-accessories\",\n name: \"Other children’s clothing or accessories\",\n description: \"Unique fashion or functional pieces for kids.\",\n },\n ],\n },\n ],\n },\n];\n","/* eslint-disable sort-keys */\nimport { Category } from \"src/types\";\n\nexport const vintageAndAntique: Category[] = [\n {\n id: \"vintage-antique\",\n name: \"Vintage & Antique\",\n description:\n \"Unique, historic, or nostalgic items with collectible or decorative value.\",\n subcategories: [\n {\n id: \"vintage-antique-clothing-accessories\",\n name: \"Vintage & Antique Clothing & Accessories\",\n items: [\n {\n id: \"clothing-vintage-fashion\",\n name: \"Clothing and wearable items from past eras\",\n description:\n \"Vintage dresses, jackets, hats, gloves, belts, bags, shoes, jewellery.\",\n },\n {\n id: \"other-clothing-accessory-items\",\n name: \"Other clothing-related items\",\n description:\n \"Hair clips, brooches, pins, scarf rings, small fashion accessories.\",\n },\n ],\n },\n {\n id: \"collectibles-memorabilia\",\n name: \"Collectibles & Memorabilia\",\n items: [\n {\n id: \"small-collectible-items\",\n name: \"Small collectible items with historical or nostalgic significance\",\n description:\n \"Coins, stamps, toys, postcards, comics, sports cards, vintage packaging.\",\n },\n {\n id: \"other-collectible-items\",\n name: \"Other collectible items\",\n description:\n \"Rare small objects, miniature figurines, special-edition items.\",\n },\n ],\n },\n {\n id: \"homewares-decor-curiosities\",\n name: \"Homewares, Decor & Curiosities\",\n items: [\n {\n id: \"decorative-functional-vintage-items\",\n name: \"Decorative or functional items with a vintage or antique aesthetic\",\n description:\n \"Teacups, plates, vases, mirrors, clocks, furniture, old tools, lanterns, typewriters, curiosities.\",\n },\n {\n id: \"handmade-vintage-art\",\n name: \"Handmade vintage art\",\n description: \"Paintings, sculptures, crafted pieces.\",\n },\n {\n id: \"other-home-decor-items\",\n name: \"Other home or decor items\",\n description:\n \"Decorative pieces not listed above, unique household objects.\",\n },\n ],\n },\n {\n id: \"vintage-media-printed-nostalgia\",\n name: \"Vintage Media & Printed Nostalgia\",\n items: [\n {\n id: \"older-media-printed-works\",\n name: \"Older media formats and printed works\",\n description:\n \"Vinyl records, cassette tapes, CDs, DVDs, books, magazines, board games, posters.\",\n },\n {\n id: \"other-media-printed-items\",\n name: \"Other media or printed items\",\n description: \"Maps, manuals, leaflets, out-of-print materials.\",\n },\n ],\n },\n {\n id: \"other-vintage-antique-items\",\n name: \"Other Vintage & Antique Items\",\n items: [\n {\n id: \"any-vintage-antique-items-not-listed\",\n name: \"Any vintage or antique items not listed above\",\n description: \"Unique, rare or uncategorised pieces.\",\n },\n ],\n },\n ],\n },\n];\n","import { Category } from \"../../types/global\";\n\nimport { clothingAndFashion } from \"./clothingAndFashion\";\nimport { electronicsAndTechnology } from \"./electronicsAndTechnology\";\nimport { foodAndBeverages } from \"./foodAndBeverages\";\nimport { handmadeAndLocalProducts } from \"./handmadeAndLocalProducts\";\nimport { healthAndWellness } from \"./healthAndWellness\";\nimport { homeGardenHousehold } from \"./homeGardenHousehold\";\nimport { petProductsAndAnimalGoods } from \"./petProductsAndAnimalGoods\";\nimport { serviceAndExperience } from \"./serviceAndExperience\";\nimport { toysChildren } from \"./toysChildren\";\nimport { vintageAndAntique } from \"./vintageAndAntique\";\n\nexport const categoryColors: Record<string, string> = {\n \"clothing-fashion\": \"#9D4EDD\",\n \"electronics-technology\": \"#3AF3FF\",\n \"food-beverages\": \"#FF0D1F\",\n \"handmade-local-products\": \"#EE7E54\",\n \"health-wellness\": \"#E23794\",\n \"home-garden-household-goods\": \"#067325\",\n \"pet-products-animal-goods\": \"#68E788\",\n \"services-experiences\": \"#2E16A5\",\n \"toys-childrens-items\": \"#FFF966\",\n \"vintage-antique\": \"#8D6748\",\n};\n\nconst assignColorToCategories = (categories: Category[]): Category[] => {\n const result = categories.map((category) => ({\n ...category,\n color: categoryColors[category.id],\n }));\n return result;\n};\n\nexport const availableCategories = assignColorToCategories([\n ...foodAndBeverages,\n ...handmadeAndLocalProducts,\n ...clothingAndFashion,\n ...homeGardenHousehold,\n ...toysChildren,\n ...healthAndWellness,\n ...electronicsAndTechnology,\n ...vintageAndAntique,\n ...petProductsAndAnimalGoods,\n ...serviceAndExperience,\n]);\n","import { FormField } from \"../types/global\";\n\nconst socialMedia = [\n {\n key: \"facebook\",\n name: \"Facebook\",\n placeholder: \"https://www.facebook.com/your-page\",\n },\n {\n key: \"instagram\",\n name: \"Instagram\",\n placeholder: \"https://www.instagram.com/your-profile\",\n },\n {\n key: \"tiktok\",\n name: \"TikTok\",\n placeholder: \"https://www.tiktok.com/@your-profile\",\n },\n {\n key: \"twitter\",\n name: \"Twitter\",\n placeholder: \"https://twitter.com/your-profile\",\n },\n {\n key: \"website\",\n name: \"Website\",\n placeholder: \"https://www.yourwebsite.com\",\n },\n {\n key: \"youtube\",\n name: \"YouTube\",\n placeholder: \"https://www.youtube.com/channel/your-channel\",\n },\n];\nexport const socialMediaFields: FormField[] = socialMedia.map((link) => ({\n helperText: link.name,\n keyboardType: \"url\",\n name: link.key,\n placeholder: link.placeholder,\n}));\n","import { FormField } from \"src/types\";\n\nimport { emailField } from \"./global\";\n\nexport const testersFields: FormField[] = [\n {\n helperText: \"Enter your business name *\",\n keyboardType: \"default\",\n name: \"businessName\",\n placeholder: \"Business Name *\",\n },\n {\n helperText: \"Enter first name *\",\n keyboardType: \"default\",\n name: \"firstName\",\n placeholder: \"First Name *\",\n },\n {\n helperText: \"Enter last name *\",\n keyboardType: \"default\",\n name: \"lastName\",\n placeholder: \"Last Name *\",\n },\n {\n ...emailField,\n helperText: \"Enter email address *\",\n },\n {\n helperText: \"Enter your mobile phone number *\",\n keyboardType: \"phone-pad\",\n name: \"mobilePhone\",\n placeholder: \"Mobile Phone Number *\",\n },\n];\n","import { FormField } from \"src/types\";\n\nimport { emailField } from \"./global\";\n\nexport const contactUsFields: FormField[] = [\n {\n helperText: \"Enter first name *\",\n keyboardType: \"default\",\n name: \"firstName\",\n placeholder: \"First Name\",\n },\n {\n helperText: \"Enter last name *\",\n keyboardType: \"default\",\n name: \"lastName\",\n placeholder: \"Last Name\",\n },\n {\n ...emailField,\n helperText: \"Enter email address *\",\n },\n {\n helperText: \"Enter your message *\",\n isTextArea: true,\n keyboardType: \"default\",\n name: \"message\",\n placeholder: \"Message\",\n },\n];\n","import { FormField } from \"../types/global\";\n\nexport const partnerBasicInfoFields: FormField[] = [\n {\n helperText: \"Business Name *\",\n name: \"name\",\n placeholder: \"Business Name\",\n },\n {\n helperText:\n \"NZBN number (required – ClueMart only accepts events with valid NZBN number) *\",\n keyboardType: \"number-pad\",\n name: \"nzbn\",\n placeholder: \"NZBN number\",\n },\n {\n helperText: \"Description *\",\n isTextArea: true,\n name: \"description\",\n placeholder: \"Description\",\n },\n];\n","import { useMutation } from \"@apollo/client\";\n\nimport { EnumResourceType } from \"src/enums\";\nimport {\n ADMIN_UPDATE_RESOURCE_TYPE_MUTATION,\n ADMIN_UPDATE_TESTER_MUTATION,\n} from \"src/graphql/mutations/admin\";\nimport { GET_EVENT } from \"src/graphql/queries/event\";\nimport { GET_TESTER } from \"src/graphql/queries/tester\";\nimport { GET_VENDOR } from \"src/graphql/queries/vendor\";\n\nexport const useAdminUpdateResourceType = () => {\n const [adminUpdateResourceType, { loading, error }] = useMutation<{\n adminUpdateResourceType: {\n resourceId: string;\n resourceType: EnumResourceType;\n };\n }>(ADMIN_UPDATE_RESOURCE_TYPE_MUTATION, {\n awaitRefetchQueries: true,\n refetchQueries: (mutationResult) => {\n // Extract resourceId and resourceType from the mutation response\n const adminUpdateResourceType =\n mutationResult?.data?.adminUpdateResourceType;\n const resourceId = adminUpdateResourceType?.resourceId;\n const resourceType = adminUpdateResourceType?.resourceType;\n\n if (!resourceId) return [];\n\n const detectQuery =\n resourceType === EnumResourceType.EVENT ? GET_EVENT : GET_VENDOR;\n\n return [\n {\n query: detectQuery,\n variables: { _id: resourceId },\n },\n ];\n },\n });\n\n return {\n adminUpdateResourceType,\n error,\n loading,\n };\n};\n\nexport const useAdminUpdateTester = () => {\n const [adminUpdateTester, { loading, error }] = useMutation<{\n adminUpdateTester: {\n _id: string;\n approved: boolean;\n };\n }>(ADMIN_UPDATE_TESTER_MUTATION, {\n awaitRefetchQueries: true,\n refetchQueries: (mutationResult) => {\n // Extract testerId from the mutation response\n const adminUpdateTester = mutationResult?.data?.adminUpdateTester;\n const testerId = adminUpdateTester?._id;\n\n return [\n {\n query: GET_TESTER,\n variables: { _id: testerId },\n },\n ];\n },\n });\n return {\n adminUpdateTester,\n error,\n loading,\n };\n};\n","import { gql } from \"@apollo/client\";\n\nexport const ADMIN_UPDATE_RESOURCE_TYPE_MUTATION = gql`\n mutation adminUpdateResourceType($input: AdminUpdateResourceInputType!) {\n adminUpdateResourceType(input: $input) {\n active\n resourceId\n resourceType\n }\n }\n`;\n\nexport const ADMIN_UPDATE_TESTER_MUTATION = gql`\n mutation adminUpdateTester($input: AdminUpdateTesterInputType!) {\n adminUpdateTester(input: $input) {\n _id\n approved\n }\n }\n`;\n","import { gql } from \"@apollo/client\";\n\nimport {\n CONTACT_DETAILS_FIELDS_FRAGMENT,\n EVENT_DATETIME_FIELDS_FRAGMENT,\n OWNER_FIELDS_FRAGMENT,\n ASSOCIATES_FIELDS_FRAGMENT,\n POSTER_USAGE_FIELDS_FRAGMENT,\n RELATION_DATES_FRAGMENT,\n RESOURCE_IMAGE_FIELDS_FRAGMENT,\n SOCIAL_MEDIA_FIELDS_FRAGMENT,\n STALL_TYPE_FIELDS_FRAGMENT,\n TERMS_AGREEMENT_FIELDS_FRAGMENT,\n LOCATION_FIELDS_FRAGMENT,\n} from \"./global\";\n\nexport const EVENT_INFO = gql`\n fragment EventInfoFields on EventInfoType {\n _id\n applicationDeadlineHours\n dateTime {\n dateStatus\n endDate\n endTime\n stallTypes {\n ...StallTypeFields\n }\n startDate\n startTime\n }\n eventId\n packInTime\n paymentDueHours\n paymentInfo {\n accountHolderName\n accountNumber\n link\n paymentMethod\n }\n requirements {\n category\n label\n value\n }\n }\n ${STALL_TYPE_FIELDS_FRAGMENT}\n`;\n\nexport const EVENT = gql`\n fragment EventFields on EventType {\n _id\n active\n associates {\n ...AssociatesFields\n }\n adIds\n cover {\n ...ResourceImageFields\n }\n createdAt\n contactDetails {\n ...ContactDetailsFields\n }\n dateTime {\n ...EventDateTimeFields\n }\n description\n deletedAt\n images {\n ...ResourceImageFields\n }\n eventType\n location {\n ...LocationFields\n }\n logo {\n ...ResourceImageFields\n }\n eventInfoId\n name\n nzbn\n owner {\n ...OwnerFields\n }\n promoCodes\n provider\n posterUsage {\n ...PosterUsageFields\n }\n region\n relations {\n relationId\n relationDates {\n ...RelationDates\n }\n }\n socialMedia {\n ...SocialMediaFields\n }\n rainOrShine\n tags\n termsAgreement {\n ...TermsAgreementFields\n }\n updatedAt\n }\n ${EVENT_DATETIME_FIELDS_FRAGMENT}\n ${LOCATION_FIELDS_FRAGMENT}\n ${OWNER_FIELDS_FRAGMENT}\n ${RESOURCE_IMAGE_FIELDS_FRAGMENT}\n ${SOCIAL_MEDIA_FIELDS_FRAGMENT}\n ${POSTER_USAGE_FIELDS_FRAGMENT}\n ${ASSOCIATES_FIELDS_FRAGMENT}\n ${CONTACT_DETAILS_FIELDS_FRAGMENT}\n ${TERMS_AGREEMENT_FIELDS_FRAGMENT}\n ${RELATION_DATES_FRAGMENT}\n`;\n\nexport const GET_EVENTS = gql`\n query getEvents {\n events {\n ...EventFields\n }\n }\n ${EVENT}\n`;\n\nexport const GET_EVENT = gql`\n query getEvent($_id: ID!) {\n event(_id: $_id) {\n ...EventFields\n }\n }\n ${EVENT}\n`;\n\nexport const GET_EVENTS_BY_REGION = gql`\n query getEventsByRegion($region: String!) {\n eventsByRegion(region: $region) {\n ...EventFields\n }\n }\n ${EVENT}\n`;\n\nexport const SEARCH_EVENTS = gql`\n query searchEvents($search: String!, $region: String) {\n eventsSearch(search: $search, region: $region) {\n ...EventFields\n }\n }\n ${EVENT}\n`;\n\nexport const GET_EVENTS_NEAR_ME = gql`\n query getEventsNearMe($latitude: Float!, $longitude: Float!, $radius: Int) {\n eventsNearMe(latitude: $latitude, longitude: $longitude, radius: $radius) {\n ...EventFields\n }\n }\n ${EVENT}\n`;\n\nexport const GET_EVENT_INFO = gql`\n query getEventInfo($eventId: ID!) {\n eventInfo(eventId: $eventId) {\n ...EventInfoFields\n }\n }\n ${EVENT_INFO}\n`;\n","import { gql } from \"@apollo/client\";\n\nexport const POSTER_USAGE_FIELDS_FRAGMENT = gql`\n fragment PosterUsageFields on PosterUsageType {\n month\n count\n }\n`;\n\nexport const SOCIAL_MEDIA_FIELDS_FRAGMENT = gql`\n fragment SocialMediaFields on SocialMediaType {\n name\n link\n }\n`;\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 email\n userId\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 id\n name\n }\n name\n }\n }\n`;\n\nexport const LICENCE_FIELDS_FRAGMENT = gql`\n fragment LicenceFields on UserLicenceType {\n expiryDate\n issuedDate\n licenceType\n }\n`;\n\nexport const ASSOCIATES_FIELDS_FRAGMENT = gql`\n fragment AssociatesFields on AssociateType {\n email\n resourceId\n resourceType\n licence {\n ...LicenceFields\n }\n }\n ${LICENCE_FIELDS_FRAGMENT}\n`;\n\nexport const TERMS_AGREEMENT_FIELDS_FRAGMENT = gql`\n fragment TermsAgreementFields on TermsAgreementType {\n appBuildNumber\n appId\n appVersion\n brand\n deviceName\n installationId\n manufacturer\n modelName\n osName\n osVersion\n termVersion\n timestamp\n }\n`;\n\nexport const EVENT_DATETIME_FIELDS_FRAGMENT = gql`\n fragment EventDateTimeFields on EventDateTimeType {\n dateStatus\n endDate\n endTime\n startDate\n startTime\n }\n`;\n\nconst USER_ACTIVITY_FIELDS_FRAGMENT = gql`\n fragment UserActivityFields on UserActivityType {\n favourites {\n events\n vendors\n }\n going {\n events {\n resourceId\n dateTime {\n ...EventDateTimeFields\n }\n }\n }\n interested {\n events {\n resourceId\n dateTime {\n ...EventDateTimeFields\n }\n }\n }\n present {\n events {\n resourceId\n dateTime {\n ...EventDateTimeFields\n }\n }\n }\n }\n ${EVENT_DATETIME_FIELDS_FRAGMENT}\n`;\n\nexport const USER_FIELDS_FRAGMENT = gql`\n fragment UserFields on UserType {\n _id\n active\n associates {\n ...AssociatesFields\n }\n avatar {\n ...ResourceImageFields\n }\n createdAt\n deletedAt\n email\n events\n firstName\n isTester\n lastName\n licences {\n ...LicenceFields\n }\n platform\n preferredRegion\n refreshToken\n role\n termsAgreement {\n ...TermsAgreementFields\n }\n userActivity {\n ...UserActivityFields\n }\n vendor\n updatedAt\n }\n ${RESOURCE_IMAGE_FIELDS_FRAGMENT}\n ${ASSOCIATES_FIELDS_FRAGMENT}\n ${TERMS_AGREEMENT_FIELDS_FRAGMENT}\n ${USER_ACTIVITY_FIELDS_FRAGMENT}\n ${LICENCE_FIELDS_FRAGMENT}\n`;\n\nexport const STALL_TYPE_FIELDS_FRAGMENT = gql`\n fragment StallTypeFields on StallTypeType {\n label\n price\n stallCapacity\n electricity {\n price\n selected\n }\n }\n`;\n\nexport const RELATION_DATES_FRAGMENT = gql`\n fragment RelationDates on RelationDateType {\n dateTime {\n dateStatus\n endDate\n endTime\n startDate\n startTime\n stallType {\n ...StallTypeFields\n }\n }\n lastUpdateBy {\n resourceId\n userEmail\n }\n paymentReference\n status\n }\n ${STALL_TYPE_FIELDS_FRAGMENT}\n`;\n\nexport const CONTACT_DETAILS_FIELDS_FRAGMENT = gql`\n fragment ContactDetailsFields on ContactDetailsType {\n email\n landlinePhone\n mobilePhone\n }\n`;\n\nexport const LOCATION_FIELDS_FRAGMENT = gql`\n fragment LocationFields on LocationType {\n city\n coordinates\n country\n fullAddress\n latitude\n longitude\n region\n type\n }\n`;\n","import { gql } from \"@apollo/client\";\n\nimport { CATEGORY_FIELDS_FRAGMENT } from \"./global\";\n\nconst TESTER_VENDOR_FIELDS_FRAGMENT = gql`\n fragment TesterVendorFields on TesterVendorType {\n categories {\n ...CategoryFields\n }\n productsOrServices\n marketsAttended {\n name\n city\n }\n sellingFrequency\n yearlySellingApprox\n questionary {\n uploadStallProfileFirstWeek\n applyToAtLeastOneMarket\n tryVisitorFeatures\n completeFeedbackQuestionnaire\n sendPhotoForSocialMedia\n appearInVideoIntroduction\n socialMediaFeatureReason\n excitementAboutApp\n usefulnessExpectations\n testingPeriodConcerns\n }\n }\n ${CATEGORY_FIELDS_FRAGMENT}\n`;\n\nconst TESTER_EVENT_FIELDS_FRAGMENT = gql`\n fragment TesterEventFields on TesterEventType {\n organizedMarketCount\n markets {\n name\n cityOrVenue\n frequency\n averageStallCount\n }\n questionary {\n allowMarketingAppearance\n completeFinalQuestionnaire\n dailyCoordinationNeeds\n interestedInCharityInitiative\n inviteAtLeastFiveStallholders\n manageApplicationsAndCommunication\n organizerExpectations\n registerMarketsFirstWeek\n spaceForClueMart\n }\n }\n`;\n\nexport const TESTER_FIELDS_FRAGMENT = gql`\n fragment TesterFields on TesterType {\n _id\n active\n approved\n businessName\n consents {\n betaTestConsent\n privacyConsent\n }\n createdAt\n email\n firstName\n lastName\n mobilePhone\n osType\n region\n resourceType\n updatedAt\n vendor {\n ...TesterVendorFields\n }\n event {\n ...TesterEventFields\n }\n }\n ${TESTER_VENDOR_FIELDS_FRAGMENT}\n ${TESTER_EVENT_FIELDS_FRAGMENT}\n`;\n\nexport const GET_TESTERS = gql`\n query getTesters {\n testers {\n ...TesterFields\n }\n }\n ${TESTER_FIELDS_FRAGMENT}\n`;\n\nexport const GET_TESTER = gql`\n query getTester($_id: ID!) {\n tester(_id: $_id) {\n ...TesterFields\n }\n }\n ${TESTER_FIELDS_FRAGMENT}\n`;\n","import { gql } from \"@apollo/client\";\n\nimport {\n OWNER_FIELDS_FRAGMENT,\n CATEGORY_FIELDS_FRAGMENT,\n RESOURCE_IMAGE_FIELDS_FRAGMENT,\n SOCIAL_MEDIA_FIELDS_FRAGMENT,\n POSTER_USAGE_FIELDS_FRAGMENT,\n CONTACT_DETAILS_FIELDS_FRAGMENT,\n TERMS_AGREEMENT_FIELDS_FRAGMENT,\n RELATION_DATES_FRAGMENT,\n ASSOCIATES_FIELDS_FRAGMENT,\n} from \"./global\";\n\nexport const VENDOR_LOCATION_FIELDS_FRAGMENT = gql`\n fragment VendorLocationFields on VendorLocationType {\n city\n coordinates\n country\n fullAddress\n latitude\n longitude\n region\n type\n }\n`;\n\nexport const VENDOR_DATETIME_FIELDS_FRAGMENT = gql`\n fragment VendorDateTimeFields on VendorDateTimeType {\n dateStatus\n endDate\n endTime\n startDate\n startTime\n }\n`;\n\nexport const VENDOR_MENU_FIELDS_FRAGMENT = gql`\n fragment VendorMenuFields on VendorMenuType {\n description\n name\n price\n productGroups\n }\n`;\n\nexport const VENDOR = gql`\n fragment VendorFields on VendorType {\n _id\n active\n associates {\n ...AssociatesFields\n }\n adIds\n availability {\n corporate\n private\n school\n }\n vendorInfoId\n categories {\n ...CategoryFields\n }\n contactDetails {\n ...ContactDetailsFields\n }\n cover {\n ...ResourceImageFields\n }\n createdAt\n description\n deletedAt\n foodTruck\n images {\n ...ResourceImageFields\n }\n locations {\n dateTime {\n ...VendorDateTimeFields\n }\n description\n location {\n ...VendorLocationFields\n }\n }\n logo {\n ...ResourceImageFields\n }\n multiLocation\n name\n owner {\n ...OwnerFields\n }\n products {\n ...VendorMenuFields\n }\n promoCodes\n posterUsage {\n ...PosterUsageFields\n }\n region\n relations {\n relationId\n relationDates {\n ...RelationDates\n }\n }\n socialMedia {\n ...SocialMediaFields\n }\n termsAgreement {\n ...TermsAgreementFields\n }\n updatedAt\n vendorType\n }\n ${CATEGORY_FIELDS_FRAGMENT}\n ${VENDOR_DATETIME_FIELDS_FRAGMENT}\n ${VENDOR_LOCATION_FIELDS_FRAGMENT}\n ${OWNER_FIELDS_FRAGMENT}\n ${RESOURCE_IMAGE_FIELDS_FRAGMENT}\n ${SOCIAL_MEDIA_FIELDS_FRAGMENT}\n ${POSTER_USAGE_FIELDS_FRAGMENT}\n ${ASSOCIATES_FIELDS_FRAGMENT}\n ${VENDOR_MENU_FIELDS_FRAGMENT}\n ${CONTACT_DETAILS_FIELDS_FRAGMENT}\n ${TERMS_AGREEMENT_FIELDS_FRAGMENT}\n ${RELATION_DATES_FRAGMENT}\n`;\n\nconst VENDOR_ATTRIBUTES_FRAGMENT = gql`\n fragment VendorAttributesFields on VendorAttributesType {\n details\n isRequired\n }\n`;\n\nexport const VENDOR_INFO = gql`\n fragment VendorInfoFields on VendorInfoType {\n _id\n compliance {\n foodBeverageLicense\n liabilityInsurance\n }\n documents {\n ...ResourceImageFields\n }\n requirements {\n electricity {\n ...VendorAttributesFields\n }\n gazebo {\n ...VendorAttributesFields\n }\n table {\n ...VendorAttributesFields\n }\n }\n product {\n foodFlavors\n packaging\n priceRange {\n max\n min\n }\n producedIn\n }\n stallInfo {\n size {\n depth\n width\n }\n }\n vendorId\n }\n ${VENDOR_ATTRIBUTES_FRAGMENT}\n ${RESOURCE_IMAGE_FIELDS_FRAGMENT}\n`;\n\nexport const GET_VENDORS = gql`\n query getVendors {\n vendors {\n ...VendorFields\n }\n }\n ${VENDOR}\n`;\n\nexport const GET_VENDOR = gql`\n query getVendor($_id: ID!) {\n vendor(_id: $_id) {\n ...VendorFields\n }\n }\n ${VENDOR}\n`;\n\nexport const GET_VENDORS_BY_REGION = gql`\n query getVendorsByRegion($region: String!) {\n vendorsByRegion(region: $region) {\n ...VendorFields\n }\n }\n ${VENDOR}\n`;\n\nexport const SEARCH_VENDORS = gql`\n query searchVendors($search: String!, $region: String) {\n vendorSearch(search: $search, region: $region) {\n ...VendorFields\n }\n }\n ${VENDOR}\n`;\n\nexport const GET_VENDOR_INFO = gql`\n query getVendorInfo($vendorId: ID!) {\n vendorInfo(vendorId: $vendorId) {\n ...VendorInfoFields\n }\n }\n ${VENDOR_INFO}\n`;\n","import { useMutation } from \"@apollo/client\";\n\nimport {\n REQUEST_PASSWORD_RESET_MUTATION,\n LOGIN_MUTATION,\n REGISTER_MUTATION,\n VALIDATE_VERIFICATION_TOKEN_MUTATION,\n RESET_PASSWORD_MUTATION,\n LOGOUT_MUTATION,\n REFRESH_TOKEN_MUTATION,\n} from \"../mutations/auth\";\n\nexport const useRegister = () => {\n const [register, { loading, error }] = useMutation(REGISTER_MUTATION);\n return { error, loading, register };\n};\n\nexport const useLogin = () => {\n const [login, { loading, error }] = useMutation(LOGIN_MUTATION);\n return { error, loading, login };\n};\n\nexport const useLogout = () => {\n const [logout, { loading, error }] = useMutation(LOGOUT_MUTATION);\n return { error, loading, logout };\n};\n\nexport const useRefreshToken = () => {\n const [refreshToken, { loading, error }] = useMutation(\n REFRESH_TOKEN_MUTATION,\n );\n return { error, loading, refreshToken };\n};\n\nexport const useRequestPasswordReset = () => {\n const [requestPasswordReset, { loading, error }] = useMutation(\n REQUEST_PASSWORD_RESET_MUTATION,\n );\n\n return { error, loading, requestPasswordReset };\n};\n\nexport const useValidateVerificationToken = () => {\n const [validateVerificationToken, { loading, error }] = useMutation(\n VALIDATE_VERIFICATION_TOKEN_MUTATION,\n );\n\n return { error, loading, validateVerificationToken };\n};\n\nexport const useResetPassword = () => {\n const [resetPassword, { loading, error }] = useMutation(\n RESET_PASSWORD_MUTATION,\n );\n\n return { error, loading, resetPassword };\n};\n","import { gql } from \"@apollo/client\";\n\nimport { USER_FIELDS_FRAGMENT } from \"../queries/global\";\n\nexport const REGISTER_MUTATION = gql`\n mutation register($input: RegisterInputType!) {\n register(input: $input) {\n message\n refreshToken\n token\n user {\n ...UserFields\n }\n }\n }\n ${USER_FIELDS_FRAGMENT}\n`;\n\nexport const LOGIN_MUTATION = gql`\n mutation login($input: LoginInputType!) {\n login(input: $input) {\n message\n refreshToken\n token\n user {\n ...UserFields\n }\n }\n }\n ${USER_FIELDS_FRAGMENT}\n`;\n\nexport const LOGOUT_MUTATION = gql`\n mutation logout {\n logout {\n message\n }\n }\n`;\n\nexport const REFRESH_TOKEN_MUTATION = gql`\n mutation refreshToken($input: RefreshTokenInputType!) {\n refreshToken(input: $input) {\n refreshToken\n token\n }\n }\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 REQUEST_PASSWORD_RESET_MUTATION = gql`\n mutation requestPasswordReset($input: RequestPasswordResetInputType!) {\n requestPasswordReset(input: $input) {\n message\n }\n }\n`;\n\nexport const VALIDATE_VERIFICATION_TOKEN_MUTATION = gql`\n mutation validateVerificationToken(\n $input: ValidateVerificationTokenInputType!\n ) {\n validateVerificationToken(input: $input) {\n message\n }\n }\n`;\n","import { useMutation } from \"@apollo/client\";\n\nimport {\n ADD_PARTICIPANT_TO_CHAT_MUTATION,\n DELETE_CHAT_MUTATION,\n REMOVE_PARTICIPANT_FROM_CHAT_MUTATION,\n SEND_CHAT_MESSAGE_MUTATION,\n} from \"../../mutations/chat\";\nimport { CHAT, USER_CHATS } from \"../../queries/chat\";\n\nexport const useSendChatMessage = () => {\n const [sendChatMessage, { loading, error }] = useMutation<{\n sendChatMessage: {\n _id: string;\n };\n }>(SEND_CHAT_MESSAGE_MUTATION, {\n awaitRefetchQueries: true,\n refetchQueries: (mutationResult) => {\n // Extract chatId from the mutation response\n const chatId = mutationResult?.data?.sendChatMessage?._id;\n\n return [\n {\n query: CHAT,\n variables: { _id: chatId },\n },\n ];\n },\n });\n\n return { error, loading, sendChatMessage };\n};\n\nexport const useDeleteChat = () => {\n const [deleteChat, { loading, error }] = useMutation(DELETE_CHAT_MUTATION, {\n awaitRefetchQueries: true,\n refetchQueries: [{ query: USER_CHATS }],\n });\n\n return { deleteChat, error, loading };\n};\n\nexport const useAddParticipantToChat = () => {\n const [addParticipantToChat, { loading, error }] = useMutation<{\n addParticipantToChat: {\n _id: string;\n };\n }>(ADD_PARTICIPANT_TO_CHAT_MUTATION, {\n awaitRefetchQueries: true,\n refetchQueries: (mutationResult) => {\n // Extract chatId from the mutation response\n const chatId = mutationResult?.data?.addParticipantToChat?._id;\n\n return [\n {\n query: CHAT,\n variables: { _id: chatId },\n },\n {\n query: USER_CHATS,\n },\n ];\n },\n });\n\n return { addParticipantToChat, error, loading };\n};\n\nexport const useRemoveParticipantFromChat = () => {\n const [removeParticipantFromChat, { loading, error }] = useMutation(\n REMOVE_PARTICIPANT_FROM_CHAT_MUTATION,\n {\n awaitRefetchQueries: true,\n refetchQueries: [{ query: USER_CHATS }],\n },\n );\n\n return { error, loading, removeParticipantFromChat };\n};\n","import { gql } from \"@apollo/client\";\n\nimport { CHAT_FIELDS_FRAGMENT } from \"../queries/chat\";\n\nexport const SEND_CHAT_MESSAGE_MUTATION = gql`\n mutation sendChatMessage($_id: ID!, $input: ChatMessageInputType!) {\n sendChatMessage(_id: $_id, input: $input) {\n ...ChatFields\n }\n }\n ${CHAT_FIELDS_FRAGMENT}\n`;\n\nexport const DELETE_CHAT_MUTATION = gql`\n mutation deleteChat($_id: ID!) {\n deleteChat(_id: $_id)\n }\n`;\n\nexport const ADD_PARTICIPANT_TO_CHAT_MUTATION = gql`\n mutation addParticipantToChat($chatId: ID!, $userId: ID!) {\n addParticipantToChat(chatId: $chatId, userId: $userId) {\n ...ChatFields\n }\n }\n ${CHAT_FIELDS_FRAGMENT}\n`;\n\nexport const REMOVE_PARTICIPANT_FROM_CHAT_MUTATION = gql`\n mutation removeParticipantFromChat($chatId: ID!, $userId: ID!) {\n removeParticipantFromChat(chatId: $chatId, userId: $userId)\n }\n`;\n","import { gql } from \"@apollo/client\";\n\nexport const CHAT_MESSAGE_FIELDS_FRAGMENT = gql`\n fragment ChatMessageFields on ChatMessageType {\n _id\n content\n createdAt\n senderId\n updatedAt\n }\n`;\n\nexport const CHAT_PARTICIPANT = gql`\n fragment ChatParticipantFields on ChatParticipantType {\n active\n userAvatar\n userEmail\n userId\n userName\n }\n`;\n\nexport const CHAT_FIELDS_FRAGMENT = gql`\n fragment ChatFields on ChatType {\n _id\n active\n chatName\n chatType\n createdAt\n deletedAt\n messages {\n ...ChatMessageFields\n }\n participants {\n ...ChatParticipantFields\n }\n updatedAt\n }\n ${CHAT_MESSAGE_FIELDS_FRAGMENT}\n ${CHAT_PARTICIPANT}\n`;\n\nexport const CHAT = gql`\n query chat($_id: ID!) {\n chat(_id: $_id) {\n ...ChatFields\n }\n }\n ${CHAT_FIELDS_FRAGMENT}\n`;\n\nexport const USER_CHATS = gql`\n query userChats {\n userChats {\n ...ChatFields\n }\n }\n ${CHAT_FIELDS_FRAGMENT}\n`;\n","import { useQuery, useSubscription } from \"@apollo/client\";\n\nimport { GET_CHAT_MESSAGE } from \"src/graphql/subscriptions/chat\";\n\nimport { ChatType } from \"../../../types/chat\";\nimport { CHAT, USER_CHATS } from \"../../queries/chat\";\n\nexport const useGetChat = (_id: string) => {\n const { loading, error, data, refetch } = useQuery<{ chat: ChatType }>(CHAT, {\n fetchPolicy: \"network-only\",\n skip: !_id,\n variables: { _id },\n });\n\n const chat = data?.chat;\n\n return { chat, error, loading, refetch };\n};\n\nexport const useGetUserChats = () => {\n const { loading, error, data, refetch } = useQuery<{ userChats: ChatType[] }>(\n USER_CHATS,\n {\n fetchPolicy: \"network-only\",\n },\n );\n\n const userChats = data?.userChats || [];\n\n return { error, loading, refetch, userChats };\n};\n\nexport const useGetChatSubscription = () => {\n const { data, loading, error } = useSubscription<{ getChat: ChatType }>(\n GET_CHAT_MESSAGE,\n );\n\n const chat = data?.getChat;\n\n return { chat, error, loading };\n};\n","import { gql } from \"@apollo/client\";\n\nimport { CHAT_FIELDS_FRAGMENT } from \"../queries/chat\";\n\nexport const GET_CHAT_MESSAGE = gql`\n subscription {\n getChatMessage {\n ...ChatFields\n }\n }\n ${CHAT_FIELDS_FRAGMENT}\n`;\n","import { useMutation } from \"@apollo/client\";\n\nimport { CONTACT_US_MUTATION } from \"../mutations/contactUs\";\n\nexport const useContactUs = () => {\n const [contactUs, { loading, error }] = useMutation(CONTACT_US_MUTATION);\n return { contactUs, error, loading };\n};\n","import { gql } from \"@apollo/client\";\n\nexport const CONTACT_US_MUTATION = gql`\n mutation contactUs($input: ContactUsInputType!) {\n contactUs(input: $input) {\n message\n }\n }\n`;\n","import { useMutation } from \"@apollo/client\";\n\nimport {\n CREATE_EVENT_INFO_MUTATION,\n CREATE_EVENT_MUTATION,\n DELETE_EVENT_MUTATION,\n UPDATE_EVENT_INFO_MUTATION,\n UPDATE_EVENT_MUTATION,\n} from \"../../mutations/event\";\nimport { GET_EVENT, GET_EVENT_INFO } from \"../../queries/event\";\nimport { GET_USER_EVENTS } from \"../../queries/user\";\n\nexport const useCreateEvent = () => {\n const [createEvent, { loading, error }] = useMutation(CREATE_EVENT_MUTATION, {\n awaitRefetchQueries: true,\n refetchQueries: [{ query: GET_USER_EVENTS }],\n });\n\n return { createEvent, error, loading };\n};\n\nexport const useUpdateEvent = () => {\n const [updateEvent, { loading, error }] = useMutation(UPDATE_EVENT_MUTATION, {\n awaitRefetchQueries: true,\n refetchQueries: [{ query: GET_USER_EVENTS }],\n });\n\n return { error, loading, updateEvent };\n};\n\nexport const useDeleteEvent = () => {\n const [deleteEvent, { loading, error }] = useMutation(DELETE_EVENT_MUTATION, {\n awaitRefetchQueries: true,\n refetchQueries: [{ query: GET_USER_EVENTS }],\n });\n return { deleteEvent, error, loading };\n};\n\nexport const useCreateEventInfo = () => {\n const [createEventInfo, { loading, error }] = useMutation<{\n createEventInfo: {\n eventId: string;\n };\n }>(CREATE_EVENT_INFO_MUTATION, {\n awaitRefetchQueries: true,\n refetchQueries: (mutationResult) => {\n // Extract eventId from the mutation response\n const eventId = mutationResult?.data?.createEventInfo?.eventId;\n\n if (!eventId) return [];\n\n return [\n {\n query: GET_EVENT_INFO,\n variables: { eventId }, // Pass the eventId for refetching\n },\n {\n query: GET_USER_EVENTS,\n },\n {\n query: GET_EVENT,\n variables: { _id: eventId },\n },\n ];\n },\n });\n\n return { createEventInfo, error, loading };\n};\n\nexport const useUpdateEventInfo = () => {\n const [updateEventInfo, { loading, error }] = useMutation<{\n updateEventInfo: {\n eventId: string;\n };\n }>(UPDATE_EVENT_INFO_MUTATION, {\n awaitRefetchQueries: true,\n refetchQueries: (mutationResult) => {\n // Extract eventId from the mutation response\n const eventId = mutationResult?.data?.updateEventInfo?.eventId;\n\n if (!eventId) return [];\n\n return [\n {\n query: GET_EVENT_INFO,\n variables: { eventId }, // Pass the eventId for refetching\n },\n {\n query: GET_EVENT,\n variables: { _id: eventId }, // Pass the eventId for refetching\n },\n ];\n },\n });\n\n return { error, loading, updateEventInfo };\n};\n","import { gql } from \"@apollo/client\";\n\nimport { EVENT, EVENT_INFO } from \"../queries/event\";\n\nexport const CREATE_EVENT_MUTATION = gql`\n mutation createEvent($input: EventInputType!) {\n createEvent(input: $input) {\n ...EventFields\n }\n }\n ${EVENT}\n`;\n\nexport const UPDATE_EVENT_MUTATION = gql`\n mutation updateEvent($_id: ID!, $input: EventInputType!) {\n updateEvent(_id: $_id, input: $input) {\n ...EventFields\n }\n }\n ${EVENT}\n`;\n\nexport const DELETE_EVENT_MUTATION = gql`\n mutation deleteEvent($_id: ID!) {\n deleteEvent(_id: $_id)\n }\n`;\n\nexport const CREATE_EVENT_INFO_MUTATION = gql`\n mutation createEventInfo($input: EventInfoInputType!) {\n createEventInfo(input: $input) {\n ...EventInfoFields\n }\n }\n ${EVENT_INFO}\n`;\n\nexport const UPDATE_EVENT_INFO_MUTATION = gql`\n mutation updateEventInfo($_id: ID!, $input: EventInfoInputType!) {\n updateEventInfo(_id: $_id, input: $input) {\n ...EventInfoFields\n }\n }\n ${EVENT_INFO}\n`;\n","import { gql } from \"@apollo/client\";\n\nimport { EVENT } from \"./event\";\nimport { USER_FIELDS_FRAGMENT } from \"./global\";\nimport { PARTNER } from \"./partner\";\nimport { VENDOR } from \"./vendor\";\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_EVENTS = gql`\n query getUserEvents {\n userEvents {\n ...EventFields\n }\n }\n ${EVENT}\n`;\n\nexport const GET_USER_VENDORS = gql`\n query getUserVendors {\n userVendors {\n ...VendorFields\n }\n }\n ${VENDOR}\n`;\n\nexport const GET_USER_PARTNERS = gql`\n query getUserPartners {\n userPartners {\n ...PartnerFields\n }\n }\n ${PARTNER}\n`;\n\nexport const GET_USER_ACTIVITIES = gql`\n query getUserActivities {\n userActivities {\n favourites {\n events {\n ...EventFields\n }\n vendors {\n ...VendorFields\n }\n }\n going {\n events {\n ...EventFields\n }\n }\n interested {\n events {\n ...EventFields\n }\n }\n present {\n events {\n ...EventFields\n }\n }\n }\n }\n ${EVENT}\n ${VENDOR}\n`;\n","import { gql } from \"@apollo/client\";\n\nimport {\n ASSOCIATES_FIELDS_FRAGMENT,\n CONTACT_DETAILS_FIELDS_FRAGMENT,\n LOCATION_FIELDS_FRAGMENT,\n OWNER_FIELDS_FRAGMENT,\n POSTER_USAGE_FIELDS_FRAGMENT,\n RESOURCE_IMAGE_FIELDS_FRAGMENT,\n SOCIAL_MEDIA_FIELDS_FRAGMENT,\n TERMS_AGREEMENT_FIELDS_FRAGMENT,\n} from \"./global\";\n\nexport const PARTNER = gql`\n fragment PartnerFields on PartnerType {\n _id\n active\n associates {\n ...AssociatesFields\n }\n adIds\n cover {\n ...ResourceImageFields\n }\n createdAt\n contactDetails {\n ...ContactDetailsFields\n }\n description\n deletedAt\n images {\n ...ResourceImageFields\n }\n location {\n ...LocationFields\n }\n logo {\n ...ResourceImageFields\n }\n name\n nzbn\n owner {\n ...OwnerFields\n }\n partnerType\n posterUsage {\n ...PosterUsageFields\n }\n region\n socialMedia {\n ...SocialMediaFields\n }\n termsAgreement {\n ...TermsAgreementFields\n }\n updatedAt\n }\n ${TERMS_AGREEMENT_FIELDS_FRAGMENT}\n ${LOCATION_FIELDS_FRAGMENT}\n ${OWNER_FIELDS_FRAGMENT}\n ${ASSOCIATES_FIELDS_FRAGMENT}\n ${RESOURCE_IMAGE_FIELDS_FRAGMENT}\n ${POSTER_USAGE_FIELDS_FRAGMENT}\n ${SOCIAL_MEDIA_FIELDS_FRAGMENT}\n ${CONTACT_DETAILS_FIELDS_FRAGMENT}\n`;\n\nexport const GET_PARTNERS = gql`\n query getPartners {\n partners {\n ...PartnerFields\n }\n }\n ${PARTNER}\n`;\n\nexport const GET_PARTNER = gql`\n query getPartner($_id: ID!) {\n partner(_id: $_id) {\n ...PartnerFields\n }\n }\n ${PARTNER}\n`;\n\nexport const GET_PARTNERS_BY_REGION = gql`\n query getPartnersByRegion($region: String!) {\n partnersByRegion(region: $region) {\n ...PartnerFields\n }\n }\n ${PARTNER}\n`;\n\nexport const SEARCH_PARTNERS = gql`\n query searchPartners($search: String!, $region: String) {\n partnersSearch(search: $search, region: $region) {\n ...PartnerFields\n }\n }\n ${PARTNER}\n`;\n","import { useQuery } from \"@apollo/client\";\n\nimport { EventInfoType, EventType } from \"../../../types/event\";\nimport {\n GET_EVENT,\n GET_EVENT_INFO,\n GET_EVENTS,\n GET_EVENTS_BY_REGION,\n GET_EVENTS_NEAR_ME,\n SEARCH_EVENTS,\n} from \"../../queries/event\";\n\nexport const useGetEvents = () => {\n const { loading, error, data, refetch } = useQuery<{ events: EventType[] }>(\n GET_EVENTS,\n {\n fetchPolicy: \"network-only\",\n },\n );\n\n const events = data?.events || [];\n\n return { error, events, loading, refetch };\n};\n\nexport const useGetEvent = (_id: string) => {\n const { loading, error, data, refetch } = useQuery<{ event: EventType }>(\n GET_EVENT,\n {\n fetchPolicy: \"network-only\",\n skip: !_id,\n variables: { _id },\n },\n );\n\n const event = data?.event;\n\n return { error, event, loading, refetch };\n};\n\nexport const useGetEventsByRegion = (region: string) => {\n const { loading, error, data, refetch } = useQuery<{\n eventsByRegion: EventType[];\n }>(GET_EVENTS_BY_REGION, {\n fetchPolicy: \"no-cache\",\n skip: !region,\n variables: { region },\n });\n\n const eventsByRegion = data?.eventsByRegion || [];\n\n return { error, eventsByRegion, loading, refetch };\n};\n\nexport const useSearchEvents = (search: string, region: string) => {\n const { loading, error, data, refetch } = useQuery<{\n eventsSearch: EventType[];\n }>(SEARCH_EVENTS, {\n fetchPolicy: \"network-only\",\n skip: search.length < 3,\n variables: { region, search },\n });\n\n const eventsSearch = data?.eventsSearch || [];\n\n return { error, eventsSearch, loading, refetch };\n};\n\nexport const useGetEventsNearMe = (location: {\n latitude: number;\n longitude: number;\n radius?: number;\n}) => {\n const { loading, error, data, refetch } = useQuery<{\n eventsNearMe: EventType[];\n }>(GET_EVENTS_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 eventsNearMe = data?.eventsNearMe || [];\n\n return { error, eventsNearMe, loading, refetch };\n};\n\nexport const useGetEventInfo = (eventId: string) => {\n const { loading, error, data, refetch } = useQuery<{\n eventInfo: EventInfoType;\n }>(GET_EVENT_INFO, {\n fetchPolicy: \"network-only\",\n skip: !eventId,\n variables: { eventId },\n });\n\n const eventInfo = data?.eventInfo;\n\n return { error, eventInfo, loading, refetch };\n};\n","import { useMutation } from \"@apollo/client\";\n\nimport {\n CREATE_BULK_NOTIFICATIONS,\n DELETE_ALL_NOTIFICATIONS,\n DELETE_NOTIFICATION,\n MARK_ALL_NOTIFICATIONS_READ,\n MARK_NOTIFICATION_READ,\n} from \"src/graphql/mutations/notification\";\nimport {\n GET_NOTIFICATION_COUNT,\n GET_USER_NOTIFICATIONS,\n} from \"src/graphql/queries/notification\";\n\nexport const useCreateBulkNotifications = () => {\n const [createBulkNotifications, { loading, error }] = useMutation(\n CREATE_BULK_NOTIFICATIONS,\n );\n return { createBulkNotifications, error, loading };\n};\n\nexport const useMarkNotificationRead = () => {\n const [markNotificationRead, { loading, error }] = useMutation(\n MARK_NOTIFICATION_READ,\n {\n refetchQueries: [\n {\n query: GET_USER_NOTIFICATIONS,\n },\n {\n query: GET_NOTIFICATION_COUNT,\n },\n ],\n },\n );\n return { error, loading, markNotificationRead };\n};\n\nexport const useMarkAllNotificationsRead = () => {\n const [markAllNotificationsRead, { loading, error }] = useMutation(\n MARK_ALL_NOTIFICATIONS_READ,\n {\n refetchQueries: [\n {\n query: GET_USER_NOTIFICATIONS,\n },\n {\n query: GET_NOTIFICATION_COUNT,\n },\n ],\n },\n );\n return { error, loading, markAllNotificationsRead };\n};\n\nexport const useDeleteNotification = () => {\n const [deleteNotification, { loading, error }] = useMutation(\n DELETE_NOTIFICATION,\n {\n refetchQueries: [\n {\n query: GET_USER_NOTIFICATIONS,\n },\n {\n query: GET_NOTIFICATION_COUNT,\n },\n ],\n },\n );\n return { deleteNotification, error, loading };\n};\n\nexport const useDeleteAllNotifications = () => {\n const [deleteAllNotifications, { loading, error }] = useMutation(\n DELETE_ALL_NOTIFICATIONS,\n {\n refetchQueries: [\n {\n query: GET_USER_NOTIFICATIONS,\n },\n {\n query: GET_NOTIFICATION_COUNT,\n },\n ],\n },\n );\n return { deleteAllNotifications, error, loading };\n};\n","import { gql } from \"@apollo/client\";\n\nimport { NOTIFICATION_FRAGMENT } from \"../queries/notification\";\n\nexport const CREATE_BULK_NOTIFICATIONS = gql`\n mutation createBulkNotifications($input: CreateBulkNotificationInput!) {\n createBulkNotifications(input: $input) {\n ...NotificationFields\n }\n }\n ${NOTIFICATION_FRAGMENT}\n`;\n\nexport const MARK_NOTIFICATION_READ = gql`\n mutation markNotificationRead($_id: ID!) {\n markNotificationRead(_id: $_id) {\n ...NotificationFields\n }\n }\n ${NOTIFICATION_FRAGMENT}\n`;\n\nexport const MARK_ALL_NOTIFICATIONS_READ = gql`\n mutation markAllNotificationsRead {\n markAllNotificationsRead\n }\n`;\n\nexport const DELETE_NOTIFICATION = gql`\n mutation deleteNotification($_id: ID!) {\n deleteNotification(_id: $_id)\n }\n`;\n\nexport const DELETE_ALL_NOTIFICATIONS = gql`\n mutation deleteAllNotifications {\n deleteAllNotifications\n }\n`;\n","import { gql } from \"@apollo/client\";\n\nexport const NOTIFICATION_FRAGMENT = gql`\n fragment NotificationFields on Notification {\n _id\n userId\n title\n message\n type\n isRead\n data {\n resourceId\n resourceName\n resourceType\n }\n createdAt\n updatedAt\n }\n`;\n\nexport const GET_USER_NOTIFICATIONS = gql`\n query getUserNotifications($limit: Int, $offset: Int) {\n userNotifications(limit: $limit, offset: $offset) {\n ...NotificationFields\n }\n }\n ${NOTIFICATION_FRAGMENT}\n`;\n\nexport const GET_NOTIFICATION_COUNT = gql`\n query getNotificationCount {\n notificationCount {\n total\n unread\n }\n }\n`;\n","import { useQuery } from \"@apollo/client\";\n\nimport { NotificationCount, NotificationType } from \"../../../types\";\nimport {\n GET_NOTIFICATION_COUNT,\n GET_USER_NOTIFICATIONS,\n} from \"../../queries/notification\";\n\nexport const useGetUserNotifications = (limit?: number, offset?: number) => {\n const { data, loading, error, refetch } = useQuery<{\n userNotifications: NotificationType[];\n }>(GET_USER_NOTIFICATIONS, {\n fetchPolicy: \"no-cache\",\n variables: { limit, offset },\n });\n\n return {\n error,\n loading,\n notifications: data?.userNotifications || [],\n refetch,\n };\n};\n\nexport const useGetNotificationCount = () => {\n const { data, loading, error, refetch } = useQuery<{\n notificationCount: NotificationCount;\n }>(GET_NOTIFICATION_COUNT, {\n fetchPolicy: \"no-cache\",\n });\n\n return {\n error,\n loading,\n notificationCount: data?.notificationCount || { total: 0, unread: 0 },\n refetch,\n };\n};\n","import { useSubscription } from \"@apollo/client\";\n\nimport { NotificationCount, NotificationType } from \"../../../types\";\nimport {\n GET_NOTIFICATION_COUNT_SUBSCRIPTION,\n GET_NOTIFICATIONS_SUBSCRIPTION,\n} from \"../../subscriptions/notification\";\n\nexport const useGetUserNotificationsSubscription = () => {\n const { data, loading, error } = useSubscription<{\n getUserNotifications: NotificationType[];\n }>(GET_NOTIFICATIONS_SUBSCRIPTION, {\n fetchPolicy: \"no-cache\",\n shouldResubscribe: true,\n });\n\n return {\n error,\n loading,\n notifications: data?.getUserNotifications,\n };\n};\n\nexport const useGetNotificationCountSubscription = () => {\n const { data, loading, error } = useSubscription<{\n getNotificationCount: NotificationCount;\n }>(GET_NOTIFICATION_COUNT_SUBSCRIPTION, {\n fetchPolicy: \"no-cache\",\n shouldResubscribe: true,\n });\n\n return {\n error,\n loading,\n notificationCount: data?.getNotificationCount,\n };\n};\n","import { gql } from \"@apollo/client\";\n\nimport { NOTIFICATION_FRAGMENT } from \"../queries/notification\";\n\nexport const GET_NOTIFICATIONS_SUBSCRIPTION = gql`\n subscription {\n getUserNotifications {\n ...NotificationFields\n }\n }\n ${NOTIFICATION_FRAGMENT}\n`;\n\nexport const GET_NOTIFICATION_COUNT_SUBSCRIPTION = gql`\n subscription {\n getNotificationCount {\n total\n unread\n }\n }\n`;\n","import { useMutation } from \"@apollo/client\";\n\nimport { CREATE_POSTER_MUTATION } from \"../mutations/poster\";\nimport { GET_USER_EVENTS, GET_USER_VENDORS } from \"../queries/user\";\n\nexport const useCreatePoster = () => {\n const [createPoster, { loading, error }] = useMutation(\n CREATE_POSTER_MUTATION,\n {\n refetchQueries: [{ query: GET_USER_EVENTS }, { query: GET_USER_VENDORS }],\n },\n );\n return { createPoster, error, loading };\n};\n","import { gql } from \"@apollo/client\";\n\nimport { POSTER_USAGE_FIELDS_FRAGMENT } from \"../queries/global\";\n\nexport const CREATE_POSTER_MUTATION = gql`\n mutation createPoster($input: PosterInputType!) {\n createPoster(input: $input) {\n message\n posterUsage {\n ...PosterUsageFields\n }\n }\n }\n ${POSTER_USAGE_FIELDS_FRAGMENT}\n`;\n","import { useMutation } from \"@apollo/client\";\n\nimport { CREATE_PUSH_TOKEN_MUTATION } from \"../mutations/pushToken\";\n\nexport const useCreatePushToken = () => {\n const [createPushToken, { loading, error }] = useMutation(\n CREATE_PUSH_TOKEN_MUTATION,\n );\n return { createPushToken, error, loading };\n};\n","import { gql } from \"@apollo/client\";\n\nexport const CREATE_PUSH_TOKEN_MUTATION = gql`\n mutation createPushToken($input: PushTokenInput!) {\n createPushToken(input: $input) {\n success\n }\n }\n`;\n","import { useMutation } from \"@apollo/client\";\n\nimport { EnumResourceType } from \"src/enums\";\nimport { RelationType } from \"src/types\";\n\nimport {\n CREATE_RELATION_MUTATION,\n DELETE_RELATION_MUTATION,\n UPDATE_RELATION_MUTATION,\n} from \"../../mutations/relation\";\nimport { USER_CHATS } from \"../../queries/chat\";\nimport { GET_EVENT, GET_EVENT_INFO } from \"../../queries/event\";\nimport {\n GET_EVENT_RELATIONS,\n GET_RELATION_BY_EVENT_AND_VENDOR,\n GET_RESOURCE_CONNECTIONS,\n GET_VENDOR_RELATIONS,\n} from \"../../queries/relation\";\nimport { GET_VENDOR } from \"../../queries/vendor\";\n\nexport const useCreateRelation = () => {\n const [createRelation, { loading, error }] = useMutation<{\n createRelation: {\n eventId: string;\n vendorId: string;\n lastUpdateBy: EnumResourceType;\n };\n }>(CREATE_RELATION_MUTATION, {\n awaitRefetchQueries: true,\n refetchQueries: (mutationResult) => {\n // Extract relationId from the mutation response\n const createRelation = mutationResult?.data?.createRelation;\n const eventId = createRelation?.eventId;\n const vendorId = createRelation?.vendorId;\n\n const resourceType = createRelation?.lastUpdateBy;\n const resourceId =\n resourceType === EnumResourceType.EVENT ? eventId : vendorId;\n\n return [\n {\n query: GET_EVENT_RELATIONS,\n variables: { eventId },\n },\n {\n query: GET_EVENT,\n variables: { _id: eventId },\n },\n {\n query: GET_EVENT_INFO,\n variables: { eventId },\n },\n {\n query: GET_VENDOR_RELATIONS,\n variables: { vendorId },\n },\n {\n query: GET_VENDOR,\n variables: { _id: vendorId },\n },\n {\n query: GET_RELATION_BY_EVENT_AND_VENDOR,\n variables: { eventId, vendorId },\n },\n {\n query: GET_RESOURCE_CONNECTIONS,\n variables: { resourceId, resourceType },\n },\n {\n query: USER_CHATS,\n },\n ];\n },\n });\n\n return { createRelation, error, loading };\n};\n\nexport const useUpdateRelation = () => {\n const [updateRelation, { loading, error }] = useMutation<{\n updateRelation: RelationType;\n }>(UPDATE_RELATION_MUTATION, {\n awaitRefetchQueries: true,\n refetchQueries: (mutationResult) => {\n const updateRelation = mutationResult?.data?.updateRelation;\n const eventId = updateRelation?.eventId;\n const vendorId = updateRelation?.vendorId;\n\n const resourceType = updateRelation?.lastUpdateBy;\n const resourceId =\n resourceType === EnumResourceType.EVENT ? eventId : vendorId;\n\n return [\n {\n query: GET_EVENT_RELATIONS,\n variables: { eventId },\n },\n {\n query: GET_EVENT,\n variables: { _id: eventId },\n },\n {\n query: GET_EVENT_INFO,\n variables: { eventId },\n },\n {\n query: GET_VENDOR_RELATIONS,\n variables: { vendorId },\n },\n {\n query: GET_VENDOR,\n variables: { _id: vendorId },\n },\n {\n query: GET_RELATION_BY_EVENT_AND_VENDOR,\n variables: { eventId, vendorId },\n },\n {\n query: GET_RESOURCE_CONNECTIONS,\n variables: { resourceId, resourceType },\n },\n ];\n },\n });\n\n return { error, loading, updateRelation };\n};\n\nexport const useDeleteRelation = () => {\n const [deleteRelation, { loading, error }] = useMutation<{\n deleteRelation: RelationType;\n }>(DELETE_RELATION_MUTATION, {\n awaitRefetchQueries: true,\n refetchQueries: (mutationResult) => {\n // Extract relationId from the mutation response\n const deleteRelation = mutationResult?.data?.deleteRelation;\n const eventId = deleteRelation?.eventId;\n const vendorId = deleteRelation?.vendorId;\n const resourceType = deleteRelation?.lastUpdateBy;\n const resourceId =\n resourceType === EnumResourceType.EVENT ? eventId : vendorId;\n return [\n {\n query: GET_EVENT_INFO,\n variables: { eventId },\n },\n {\n query: GET_EVENT_RELATIONS,\n variables: { eventId },\n },\n {\n query: GET_VENDOR_RELATIONS,\n variables: { vendorId },\n },\n {\n query: GET_RELATION_BY_EVENT_AND_VENDOR,\n variables: { eventId, vendorId },\n },\n {\n query: GET_RESOURCE_CONNECTIONS,\n variables: { resourceId, resourceType },\n },\n {\n query: USER_CHATS,\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 { EVENT } from \"./event\";\nimport { RELATION_DATES_FRAGMENT } from \"./global\";\nimport { VENDOR } from \"./vendor\";\n\nexport const RELATION_FIELDS_FRAGMENT = gql`\n fragment RelationFields on RelationType {\n _id\n active\n apiMessage\n chatId\n createdAt\n lastUpdateBy\n eventId\n relationDates {\n ...RelationDates\n }\n relationType\n vendorId\n updatedAt\n }\n ${RELATION_DATES_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_EVENT_AND_VENDOR = gql`\n query getRelationByEventAndVendor($eventId: ID!, $vendorId: ID!) {\n relationByEventAndVendor(eventId: $eventId, vendorId: $vendorId) {\n ...RelationFields\n }\n }\n ${RELATION_FIELDS_FRAGMENT}\n`;\n\nexport const GET_EVENT_RELATIONS = gql`\n query getEventRelations($eventId: ID!) {\n eventRelations(eventId: $eventId) {\n ...RelationFields\n }\n }\n ${RELATION_FIELDS_FRAGMENT}\n`;\n\nexport const GET_VENDOR_RELATIONS = gql`\n query getVendorRelations($vendorId: ID!) {\n vendorRelations(vendorId: $vendorId) {\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 events {\n ...EventFields\n }\n vendors {\n ...VendorFields\n }\n }\n }\n ${VENDOR}\n ${EVENT}\n`;\n","import { useQuery } from \"@apollo/client\";\n\nimport { EnumResourceType } from \"../../../enums\";\nimport { ResourceConnectionsType } from \"../../../types\";\nimport { RelationType } from \"../../../types/relation\";\nimport {\n GET_EVENT_RELATIONS,\n GET_RELATION_BY_EVENT_AND_VENDOR,\n GET_RESOURCE_CONNECTIONS,\n GET_RELATION,\n GET_VENDOR_RELATIONS,\n} from \"../../queries/relation\";\n\nexport const useGetRelation = (_id: string) => {\n const { loading, error, data, refetch } = useQuery<{\n relation: RelationType;\n }>(GET_RELATION, {\n fetchPolicy: \"network-only\",\n skip: !_id,\n variables: { _id },\n });\n\n const relation = data?.relation;\n\n return { error, loading, refetch, relation };\n};\n\nexport const useGetRelationByEventAndVendor = (\n eventId: string,\n vendorId: string,\n) => {\n const { loading, error, data, refetch } = useQuery<{\n relationByEventAndVendor: RelationType;\n }>(GET_RELATION_BY_EVENT_AND_VENDOR, {\n fetchPolicy: \"network-only\",\n skip: !eventId || !vendorId,\n variables: { eventId, vendorId },\n });\n\n const relationByEventAndVendor = data?.relationByEventAndVendor;\n\n return { error, loading, refetch, relationByEventAndVendor };\n};\n\nexport const useGetEventRelations = (eventId: string) => {\n const { loading, error, data, refetch } = useQuery<{\n eventRelations: RelationType[];\n }>(GET_EVENT_RELATIONS, {\n fetchPolicy: \"network-only\",\n skip: !eventId,\n variables: { eventId },\n });\n\n const eventRelations = data?.eventRelations || [];\n\n return { error, eventRelations, loading, refetch };\n};\n\nexport const useGetVendorRelations = (vendorId: string) => {\n const { loading, error, data, refetch } = useQuery<{\n vendorRelations: RelationType[];\n }>(GET_VENDOR_RELATIONS, {\n fetchPolicy: \"network-only\",\n skip: !vendorId,\n variables: { vendorId },\n });\n\n const vendorRelations = data?.vendorRelations || [];\n\n return { error, loading, refetch, vendorRelations };\n};\n\nexport const useGetResourceConnections = (\n resourceId: string,\n resourceType: EnumResourceType,\n) => {\n const { loading, error, data, refetch } = useQuery<{\n resourceConnections: ResourceConnectionsType;\n }>(GET_RESOURCE_CONNECTIONS, {\n fetchPolicy: \"network-only\",\n variables: { resourceId, resourceType },\n });\n\n const resourceConnections = data?.resourceConnections;\n\n return { error, loading, refetch, resourceConnections };\n};\n","import { useMutation } from \"@apollo/client\";\n\nimport { GET_USER_VENDORS } from \"src/graphql/queries/user\";\n\nimport {\n CREATE_VENDOR_INFO_MUTATION,\n CREATE_VENDOR_MUTATION,\n DELETE_VENDOR_MUTATION,\n UPDATE_VENDOR_INFO_MUTATION,\n UPDATE_VENDOR_MUTATION,\n} from \"../../mutations/vendor\";\nimport { GET_VENDOR, GET_VENDOR_INFO } from \"../../queries/vendor\";\n\nexport const useCreateVendor = () => {\n const [createVendor, { loading, error }] = useMutation(\n CREATE_VENDOR_MUTATION,\n {\n awaitRefetchQueries: true,\n refetchQueries: [{ query: GET_USER_VENDORS }],\n },\n );\n\n return { createVendor, error, loading };\n};\n\nexport const useUpdateVendor = () => {\n const [updateVendor, { loading, error }] = useMutation(\n UPDATE_VENDOR_MUTATION,\n {\n awaitRefetchQueries: true,\n refetchQueries: [{ query: GET_USER_VENDORS }],\n },\n );\n return { error, loading, updateVendor };\n};\n\nexport const useDeleteVendor = () => {\n const [deleteVendor, { loading, error }] = useMutation(\n DELETE_VENDOR_MUTATION,\n {\n awaitRefetchQueries: true,\n refetchQueries: [{ query: GET_USER_VENDORS }],\n },\n );\n return { deleteVendor, error, loading };\n};\n\nexport const useCreateVendorInfo = () => {\n const [createVendorInfo, { loading, error }] = useMutation<{\n createVendorInfo: { vendorId: string };\n }>(CREATE_VENDOR_INFO_MUTATION, {\n awaitRefetchQueries: true,\n refetchQueries: (mutationResult) => {\n // Extract vendorId from the mutation response\n const vendorId = mutationResult?.data?.createVendorInfo?.vendorId;\n\n if (!vendorId) return [];\n\n return [\n {\n query: GET_VENDOR_INFO,\n variables: { vendorId }, // Pass the vendorId for refetching\n },\n {\n query: GET_USER_VENDORS,\n },\n {\n query: GET_VENDOR,\n variables: { _id: vendorId },\n },\n ];\n },\n });\n\n return { createVendorInfo, error, loading };\n};\n\nexport const useUpdateVendorInfo = () => {\n const [updateVendorInfo, { loading, error }] = useMutation<{\n updateVendorInfo: { vendorId: string };\n }>(UPDATE_VENDOR_INFO_MUTATION, {\n awaitRefetchQueries: true,\n refetchQueries: (mutationResult) => {\n // Extract vendorId from the mutation response\n const vendorId = mutationResult?.data?.updateVendorInfo?.vendorId;\n\n if (!vendorId) return [];\n\n return [\n {\n query: GET_VENDOR_INFO,\n variables: { vendorId }, // Pass the vendorId for refetching\n },\n ];\n },\n });\n\n return { error, loading, updateVendorInfo };\n};\n","import { gql } from \"@apollo/client\";\n\nimport { VENDOR, VENDOR_INFO } from \"../queries/vendor\";\n\nexport const CREATE_VENDOR_MUTATION = gql`\n mutation createVendor($input: VendorInputType!) {\n createVendor(input: $input) {\n ...VendorFields\n }\n }\n ${VENDOR}\n`;\n\nexport const UPDATE_VENDOR_MUTATION = gql`\n mutation updateVendor($_id: ID!, $input: VendorInputType!) {\n updateVendor(_id: $_id, input: $input) {\n ...VendorFields\n }\n }\n ${VENDOR}\n`;\n\nexport const DELETE_VENDOR_MUTATION = gql`\n mutation deleteVendor($_id: ID!) {\n deleteVendor(_id: $_id)\n }\n`;\n\nexport const CREATE_VENDOR_INFO_MUTATION = gql`\n mutation createVendorInfo($input: VendorInfoInputType!) {\n createVendorInfo(input: $input) {\n ...VendorInfoFields\n }\n }\n ${VENDOR_INFO}\n`;\n\nexport const UPDATE_VENDOR_INFO_MUTATION = gql`\n mutation updateVendorInfo($_id: ID!, $input: VendorInfoInputType!) {\n updateVendorInfo(_id: $_id, input: $input) {\n ...VendorInfoFields\n }\n }\n ${VENDOR_INFO}\n`;\n","import { useQuery } from \"@apollo/client\";\n\nimport { VendorInfoType, VendorType } from \"../../../types/vendor\";\nimport {\n GET_VENDOR,\n GET_VENDOR_INFO,\n GET_VENDORS,\n GET_VENDORS_BY_REGION,\n SEARCH_VENDORS,\n} from \"../../queries/vendor\";\n\nexport const useGetVendors = () => {\n const { loading, error, data, refetch } = useQuery<{ vendors: VendorType[] }>(\n GET_VENDORS,\n {\n fetchPolicy: \"network-only\",\n },\n );\n\n const vendors = data?.vendors || [];\n\n return {\n error,\n loading,\n refetch,\n vendors,\n };\n};\n\nexport const useGetVendor = (_id: string) => {\n const { loading, error, data, refetch } = useQuery<{ vendor: VendorType }>(\n GET_VENDOR,\n {\n fetchPolicy: \"network-only\",\n skip: !_id,\n variables: { _id },\n },\n );\n\n const vendor = data?.vendor;\n\n return { error, loading, refetch, vendor };\n};\n\nexport const useGetVendorsByRegion = (region: string) => {\n const { loading, error, data, refetch } = useQuery<{\n vendorsByRegion: VendorType[];\n }>(GET_VENDORS_BY_REGION, {\n fetchPolicy: \"no-cache\",\n skip: !region,\n variables: { region },\n });\n\n const vendorsByRegion = data?.vendorsByRegion || [];\n\n return { error, loading, refetch, vendorsByRegion };\n};\n\nexport const useSearchVendors = (search: string, region: string) => {\n const { loading, error, data, refetch } = useQuery<{\n vendorSearch: VendorType[];\n }>(SEARCH_VENDORS, {\n fetchPolicy: \"network-only\",\n skip: search.length < 3,\n variables: { region, search },\n });\n\n const vendorSearch = data?.vendorSearch || [];\n\n return { error, loading, refetch, vendorSearch };\n};\n\nexport const useGetVendorInfo = (vendorId: string) => {\n const { loading, error, data, refetch } = useQuery<{\n vendorInfo: VendorInfoType;\n }>(GET_VENDOR_INFO, {\n fetchPolicy: \"network-only\",\n skip: !vendorId,\n variables: { vendorId },\n });\n\n const vendorInfo = data?.vendorInfo;\n\n return {\n error,\n loading,\n refetch,\n vendorInfo,\n };\n};\n","import { useMutation } from \"@apollo/client\";\n\nimport {\n CREATE_TESTER_MUTATION,\n DELETE_TESTER_MUTATION,\n UPDATE_TESTER_MUTATION,\n} from \"src/graphql/mutations/tester\";\n\nexport const useCreateTester = () => {\n const [createTester, { data, loading, error }] = useMutation(\n CREATE_TESTER_MUTATION,\n );\n\n return {\n createTester,\n data,\n error,\n loading,\n };\n};\n\nexport const useUpdateTester = () => {\n const [updateTester, { data, loading, error }] = useMutation(\n UPDATE_TESTER_MUTATION,\n );\n\n return {\n data,\n error,\n loading,\n updateTester,\n };\n};\n\nexport const useDeleteTester = () => {\n const [deleteTester, { loading, error }] = useMutation(\n DELETE_TESTER_MUTATION,\n );\n\n return { deleteTester, error, loading };\n};\n","import { gql } from \"@apollo/client\";\n\nimport { TESTER_FIELDS_FRAGMENT } from \"../queries/tester\";\n\nexport const CREATE_TESTER_MUTATION = gql`\n mutation createTester($input: TesterInputType!) {\n createTester(input: $input) {\n ...TesterFields\n }\n }\n ${TESTER_FIELDS_FRAGMENT}\n`;\n\nexport const UPDATE_TESTER_MUTATION = gql`\n mutation updateTester($_id: ID!, $input: TesterInputType!) {\n updateTester(_id: $_id, input: $input) {\n ...TesterFields\n }\n }\n ${TESTER_FIELDS_FRAGMENT}\n`;\n\nexport const DELETE_TESTER_MUTATION = gql`\n mutation deleteTester($_id: ID!) {\n deleteTester(_id: $_id)\n }\n`;\n","import { useQuery } from \"@apollo/client\";\n\nimport { GET_TESTER, GET_TESTERS } from \"src/graphql/queries/tester\";\nimport { TesterType } from \"src/types/tester\";\n\nexport const useGetTesters = () => {\n const { data, loading, error, refetch } = useQuery<{ testers: TesterType[] }>(\n GET_TESTERS,\n );\n\n const testers = data?.testers || [];\n return {\n error,\n loading,\n refetch,\n testers,\n };\n};\n\nexport const useGetTester = (_id: string) => {\n const { data, loading, error, refetch } = useQuery<{ tester: TesterType }>(\n GET_TESTER,\n {\n skip: !_id,\n variables: { _id },\n },\n );\n\n const tester = data?.tester;\n\n return { error, loading, refetch, tester };\n};\n","import { useMutation } from \"@apollo/client\";\n\nimport {\n GET_USER,\n GET_USER_ACTIVITIES,\n GET_USER_EVENTS,\n GET_USER_VENDORS,\n} from \"src/graphql/queries/user\";\nimport { UserLicenceType } from \"src/types\";\n\nimport {\n ADD_USER_FAVOURITE_RESOURCE_MUTATION,\n ADD_USER_GOING_RESOURCE_MUTATION,\n ADD_USER_INTEREST_RESOURCE_MUTATION,\n ADD_USER_PRESENT_RESOURCE_MUTATION,\n CREATE_USER_MUTATION,\n DELETE_USER_MUTATION,\n REMOVE_USER_FAVOURITE_RESOURCE_MUTATION,\n REMOVE_USER_GOING_RESOURCE_MUTATION,\n REMOVE_USER_INTEREST_RESOURCE_MUTATION,\n REMOVE_USER_PRESENT_RESOURCE_MUTATION,\n SELECT_PACKAGE_MUTATION,\n UPDATE_USER_MUTATION,\n} from \"../../mutations/user\";\n\nexport const useCreateUser = () => {\n const [createUser, { loading, error }] = useMutation(CREATE_USER_MUTATION);\n\n return { createUser, error, loading };\n};\n\nexport const useUpdateUser = () => {\n const [updateUser, { loading, error }] = useMutation<{\n updateUser: { _id: string };\n }>(UPDATE_USER_MUTATION, {\n awaitRefetchQueries: true,\n refetchQueries: (mutationResult) => {\n // Extract userId from the mutation response\n const userId = mutationResult?.data?.updateUser?._id;\n\n if (!userId) return [];\n\n return [{ query: GET_USER, variables: { _id: userId } }];\n },\n });\n\n return { error, loading, updateUser };\n};\n\nexport const useDeleteUser = () => {\n const [deleteUser, { loading, error }] = useMutation(DELETE_USER_MUTATION);\n\n return { deleteUser, error, loading };\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_ACTIVITIES }],\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_ACTIVITIES }],\n },\n );\n\n return { error, loading, removeUserFavouriteResource };\n};\n\nexport const useSelectPackage = () => {\n const [selectPackage, { loading, error }] = useMutation<{\n selectPackage: {\n userId: string;\n message: string;\n licences: UserLicenceType[];\n };\n }>(SELECT_PACKAGE_MUTATION, {\n awaitRefetchQueries: true,\n refetchQueries: (mutationResult) => {\n // Extract userId from the mutation response\n const userId = mutationResult?.data?.selectPackage?.userId;\n\n if (!userId) return [];\n\n return [\n { query: GET_USER, variables: { _id: userId } },\n { query: GET_USER_EVENTS },\n { query: GET_USER_VENDORS },\n ];\n },\n });\n\n return { error, loading, selectPackage };\n};\n\nexport const useAddUserInterestResource = () => {\n const [addUserInterestResource, { loading, error }] = useMutation(\n ADD_USER_INTEREST_RESOURCE_MUTATION,\n {\n awaitRefetchQueries: true,\n refetchQueries: [{ query: GET_USER_ACTIVITIES }],\n },\n );\n\n return { addUserInterestResource, error, loading };\n};\n\nexport const useRemoveUserInterestResource = () => {\n const [removeUserInterestResource, { loading, error }] = useMutation(\n REMOVE_USER_INTEREST_RESOURCE_MUTATION,\n {\n awaitRefetchQueries: true,\n refetchQueries: [{ query: GET_USER_ACTIVITIES }],\n },\n );\n\n return { error, loading, removeUserInterestResource };\n};\n\nexport const useAddUserGoingResource = () => {\n const [addUserGoingResource, { loading, error }] = useMutation(\n ADD_USER_GOING_RESOURCE_MUTATION,\n {\n awaitRefetchQueries: true,\n refetchQueries: [{ query: GET_USER_ACTIVITIES }],\n },\n );\n\n return { addUserGoingResource, error, loading };\n};\n\nexport const useRemoveUserGoingResource = () => {\n const [removeUserGoingResource, { loading, error }] = useMutation(\n REMOVE_USER_GOING_RESOURCE_MUTATION,\n {\n awaitRefetchQueries: true,\n refetchQueries: [{ query: GET_USER_ACTIVITIES }],\n },\n );\n\n return { error, loading, removeUserGoingResource };\n};\n\nexport const useAddUserPresentResource = () => {\n const [addUserPresentResource, { loading, error }] = useMutation(\n ADD_USER_PRESENT_RESOURCE_MUTATION,\n {\n awaitRefetchQueries: true,\n refetchQueries: [{ query: GET_USER_ACTIVITIES }],\n },\n );\n\n return { addUserPresentResource, error, loading };\n};\n\nexport const useRemoveUserPresentResource = () => {\n const [removeUserPresentResource, { loading, error }] = useMutation(\n REMOVE_USER_PRESENT_RESOURCE_MUTATION,\n {\n awaitRefetchQueries: true,\n refetchQueries: [{ query: GET_USER_ACTIVITIES }],\n },\n );\n\n return { error, loading, removeUserPresentResource };\n};\n","import { gql } from \"@apollo/client\";\n\nimport {\n LICENCE_FIELDS_FRAGMENT,\n USER_FIELDS_FRAGMENT,\n} 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 DELETE_USER_MUTATION = gql`\n mutation deleteUser($email: String!) {\n deleteUser(email: $email)\n }\n`;\n\nexport const ADD_USER_FAVOURITE_RESOURCE_MUTATION = gql`\n mutation addUserFavouriteResource(\n $resourceId: ID!\n $resourceType: ResourceTypeEnum!\n ) {\n addUserFavouriteResource(\n resourceId: $resourceId\n resourceType: $resourceType\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 ) {\n removeUserFavouriteResource(\n resourceId: $resourceId\n resourceType: $resourceType\n ) {\n ...UserFields\n }\n }\n ${USER_FIELDS_FRAGMENT}\n`;\n\nexport const SELECT_PACKAGE_MUTATION = gql`\n mutation selectPackage(\n $selectedLicence: LicencesEnumType!\n $removedLicence: LicencesEnumType\n ) {\n selectPackage(\n selectedLicence: $selectedLicence\n removedLicence: $removedLicence\n ) {\n licences {\n ...LicenceFields\n }\n message\n }\n }\n ${LICENCE_FIELDS_FRAGMENT}\n`;\n\nexport const ADD_USER_INTEREST_RESOURCE_MUTATION = gql`\n mutation addUserInterestResource($input: UserActivityInputType!) {\n addUserInterestResource(input: $input) {\n ...UserFields\n }\n }\n ${USER_FIELDS_FRAGMENT}\n`;\n\nexport const REMOVE_USER_INTEREST_RESOURCE_MUTATION = gql`\n mutation removeUserInterestResource($input: UserActivityInputType!) {\n removeUserInterestResource(input: $input) {\n ...UserFields\n }\n }\n ${USER_FIELDS_FRAGMENT}\n`;\n\nexport const ADD_USER_GOING_RESOURCE_MUTATION = gql`\n mutation addUserGoingResource($input: UserActivityInputType!) {\n addUserGoingResource(input: $input) {\n ...UserFields\n }\n }\n ${USER_FIELDS_FRAGMENT}\n`;\n\nexport const REMOVE_USER_GOING_RESOURCE_MUTATION = gql`\n mutation removeUserGoingResource($input: UserActivityInputType!) {\n removeUserGoingResource(input: $input) {\n ...UserFields\n }\n }\n ${USER_FIELDS_FRAGMENT}\n`;\n\nexport const ADD_USER_PRESENT_RESOURCE_MUTATION = gql`\n mutation addUserPresentResource($input: UserActivityInputType!) {\n addUserPresentResource(input: $input) {\n ...UserFields\n }\n }\n ${USER_FIELDS_FRAGMENT}\n`;\n\nexport const REMOVE_USER_PRESENT_RESOURCE_MUTATION = gql`\n mutation removeUserPresentResource($input: UserActivityInputType!) {\n removeUserPresentResource(input: $input) {\n ...UserFields\n }\n }\n ${USER_FIELDS_FRAGMENT}\n`;\n","import { useQuery } from \"@apollo/client\";\n\nimport { EventType, VendorType } from \"src/types\";\n\nimport { UserType } from \"../../../types/user\";\nimport {\n GET_USER,\n GET_USER_ACTIVITIES,\n GET_USER_EVENTS,\n GET_USER_VENDORS,\n GET_USERS,\n} from \"../../queries/user\";\n\nexport const useGetUsers = () => {\n const { loading, error, data, refetch } = useQuery<{ users: UserType[] }>(\n GET_USERS,\n {\n fetchPolicy: \"network-only\",\n },\n );\n\n const users = data?.users || [];\n\n return { error, loading, refetch, users };\n};\n\nexport const useGetUser = (_id: string) => {\n const { loading, error, data, refetch } = useQuery<{ user: UserType }>(\n GET_USER,\n {\n variables: { _id },\n },\n );\n\n const user = data?.user;\n\n return { error, loading, refetch, user };\n};\n\nexport const useGetUserEvents = () => {\n const { loading, error, data, refetch } = useQuery<{\n userEvents: EventType[];\n }>(GET_USER_EVENTS, {\n fetchPolicy: \"network-only\",\n });\n\n const userEvents = data?.userEvents || [];\n\n return { error, loading, refetch, userEvents };\n};\n\nexport const useGetUserVendors = () => {\n const { loading, error, data, refetch } = useQuery<{\n userVendors: VendorType[];\n }>(GET_USER_VENDORS, {\n fetchPolicy: \"network-only\",\n });\n\n const userVendors = data?.userVendors || [];\n\n return { error, loading, refetch, userVendors };\n};\n\nexport const useGetUserActivities = () => {\n const { loading, error, data, refetch } = useQuery<{\n userActivities: {\n favourites: {\n events: EventType[];\n vendors: VendorType[];\n };\n going: {\n events: EventType[];\n };\n interested: {\n events: EventType[];\n };\n present: {\n events: EventType[];\n };\n };\n }>(GET_USER_ACTIVITIES, {\n fetchPolicy: \"network-only\",\n });\n\n const userActivities = {\n favourites: {\n events: data?.userActivities.favourites.events || [],\n vendors: data?.userActivities.favourites.vendors || [],\n },\n going: {\n events: data?.userActivities.going.events || [],\n },\n interested: {\n events: data?.userActivities.interested.events || [],\n },\n present: {\n events: data?.userActivities.present.events || [],\n },\n };\n\n return { error, loading, refetch, userActivities };\n};\n","import { useMutation } from \"@apollo/client\";\n\nimport {\n CREATE_AD_MUTATION,\n DELETE_AD_MUTATION,\n UPDATE_AD_MUTATION,\n} from \"src/graphql/mutations/ad\";\nimport { GET_ADS } from \"src/graphql/queries/ad\";\n\nexport const useCreateAd = () => {\n const [createAd, { loading, error }] = useMutation(CREATE_AD_MUTATION, {\n awaitRefetchQueries: true,\n refetchQueries: [{ query: GET_ADS }],\n });\n\n return {\n createAd,\n error,\n loading,\n };\n};\n\nexport const useUpdateAd = () => {\n const [updateAd, { loading, error }] = useMutation(UPDATE_AD_MUTATION, {\n awaitRefetchQueries: true,\n refetchQueries: [{ query: GET_ADS }],\n });\n\n return {\n error,\n loading,\n updateAd,\n };\n};\n\nexport const useDeleteAd = () => {\n const [deleteAd, { loading, error }] = useMutation(DELETE_AD_MUTATION, {\n awaitRefetchQueries: true,\n refetchQueries: [{ query: GET_ADS }],\n });\n\n return {\n deleteAd,\n error,\n loading,\n };\n};\n","import { gql } from \"@apollo/client\";\n\nimport { AD_FIELDS_FRAGMENT } from \"../queries/ad\";\n\nexport const CREATE_AD_MUTATION = gql`\n mutation createAd($input: AdInputType!) {\n createAd(input: $input) {\n ...AdFields\n }\n }\n ${AD_FIELDS_FRAGMENT}\n`;\n\nexport const UPDATE_AD_MUTATION = gql`\n mutation updateAd($_id: ID!, $input: AdInputType!) {\n updateAd(_id: $_id, input: $input) {\n ...AdFields\n }\n }\n ${AD_FIELDS_FRAGMENT}\n`;\n\nexport const DELETE_AD_MUTATION = gql`\n mutation deleteAd($_id: ID!) {\n deleteAd(_id: $_id)\n }\n`;\n","import { gql } from \"@apollo/client\";\n\nimport { SOCIAL_MEDIA_FIELDS_FRAGMENT } from \"./global\";\n\nexport const AD_FIELDS_FRAGMENT = gql`\n fragment AdFields on AdType {\n _id\n active\n adStyle\n adType\n clicks\n createdAt\n end\n impressions\n resourceCover\n resourceDescription\n resourceId\n resourceLogo\n resourceName\n resourceRegion\n resourceType\n showOn\n socialMedia {\n ...SocialMediaFields\n }\n start\n status\n targetRegion\n updatedAt\n }\n ${SOCIAL_MEDIA_FIELDS_FRAGMENT}\n`;\n\nexport const GET_ADS = gql`\n query getAds {\n ads {\n ...AdFields\n }\n }\n ${AD_FIELDS_FRAGMENT}\n`;\n\nexport const GET_AD = gql`\n query getAd($_id: ID!) {\n ad(_id: $_id) {\n ...AdFields\n }\n }\n ${AD_FIELDS_FRAGMENT}\n`;\n\nexport const GET_ADS_BY_REGION = gql`\n query getAdsByRegion($region: String!, $status: AdStatusTypeEnum) {\n adsByRegion(region: $region, status: $status) {\n ...AdFields\n }\n }\n ${AD_FIELDS_FRAGMENT}\n`;\n","import { useQuery } from \"@apollo/client\";\n\nimport { GET_ADS, GET_AD, GET_ADS_BY_REGION } from \"src/graphql/queries/ad\";\nimport { AdType, EnumAdStatus } from \"src/types\";\n\nexport const useGetAds = () => {\n const { data, loading, error, refetch } = useQuery<{ ads: AdType[] }>(\n GET_ADS,\n {\n fetchPolicy: \"no-cache\",\n },\n );\n\n return {\n ads: data?.ads || [],\n error,\n loading,\n refetch,\n };\n};\n\nexport const useGetAd = (_id: string) => {\n const { data, loading, error, refetch } = useQuery<{ ad: AdType }>(GET_AD, {\n fetchPolicy: \"no-cache\",\n skip: !_id,\n variables: { _id },\n });\n\n return {\n ad: data?.ad,\n error,\n loading,\n refetch,\n };\n};\n\nexport const useGetAdsByRegion = (region: string, status?: EnumAdStatus) => {\n const { data, loading, error, refetch } = useQuery<{\n adsByRegion: AdType[];\n }>(GET_ADS_BY_REGION, {\n fetchPolicy: \"no-cache\",\n skip: !region,\n variables: { region, status },\n });\n\n return {\n adsByRegion: data?.adsByRegion || [],\n error,\n loading,\n refetch,\n };\n};\n","import { useMutation } from \"@apollo/client\";\n\nimport { CREATE_RESOURCE_ACTIVITY_MUTATION } from \"src/graphql/mutations/resourceActivities\";\n\nexport const useCreateResourceActivity = () => {\n const [createResourceActivity, { loading, error }] = useMutation(\n CREATE_RESOURCE_ACTIVITY_MUTATION,\n );\n\n return { createResourceActivity, error, loading };\n};\n","import { gql } from \"@apollo/client\";\n\nexport const CREATE_RESOURCE_ACTIVITY_MUTATION = gql`\n mutation createResourceActivity($input: ResourceActivityInputType!) {\n createResourceActivity(input: $input)\n }\n`;\n","import { useQuery } from \"@apollo/client\";\n\nimport { EnumResourceType } from \"src/enums\";\nimport { GET_RESOURCE_ACTIVITIES } from \"src/graphql/queries/resourceActivities\";\nimport { ResourceActivityType } from \"src/types\";\n\nexport const useGetResourceActivities = (\n resourceId: string,\n resourceType: EnumResourceType,\n) => {\n const { data, loading, error, refetch } = useQuery<{\n resourceActivities: ResourceActivityType[];\n }>(GET_RESOURCE_ACTIVITIES, {\n fetchPolicy: \"network-only\",\n variables: { resourceId, resourceType },\n });\n\n return {\n error,\n loading,\n refetch,\n resourceActivities: data?.resourceActivities || [],\n };\n};\n","import { gql } from \"@apollo/client\";\n\nconst RESOURCE_ACTIVITIES_FIELDS_FRAGMENT = gql`\n fragment ResourceActivitiesFields on ResourceActivitiesType {\n resourceId\n resourceType\n activity {\n activityType\n location {\n type\n coordinates\n }\n dateStatus\n startDate\n startTime\n timestamp\n userAgent\n userId\n }\n }\n`;\n\nexport const GET_RESOURCE_ACTIVITIES = gql`\n query getResourceActivities(\n $resourceType: ResourceTypeEnum!\n $resourceId: ID!\n ) {\n resourceActivities(resourceType: $resourceType, resourceId: $resourceId) {\n ...ResourceActivitiesFields\n }\n }\n ${RESOURCE_ACTIVITIES_FIELDS_FRAGMENT}\n`;\n","import { useMutation } from \"@apollo/client\";\n\nimport {\n CANCEL_SUBSCRIPTION_MUTATION,\n CREATE_CHECKOUT_SESSION_MUTATION,\n UPDATE_SUBSCRIPTION_PLAN_MUTATION,\n} from \"../../mutations/stripe\";\n\nexport const useCreateCheckoutSession = () => {\n const [createCheckoutSession, { loading, error }] = useMutation(\n CREATE_CHECKOUT_SESSION_MUTATION,\n );\n\n return { createCheckoutSession, error, loading };\n};\n\nexport const useCancelSubscription = () => {\n const [cancelSubscription, { loading, error }] = useMutation(\n CANCEL_SUBSCRIPTION_MUTATION,\n );\n\n return { cancelSubscription, error, loading };\n};\n\nexport const useUpdateSubscriptionPlan = () => {\n const [updateSubscriptionPlan, { loading, error }] = useMutation(\n UPDATE_SUBSCRIPTION_PLAN_MUTATION,\n );\n\n return { error, loading, updateSubscriptionPlan };\n};\n","import { gql } from \"@apollo/client\";\n\nexport const CREATE_CHECKOUT_SESSION_MUTATION = gql`\n mutation createCheckoutSession($planId: LicencesEnumType!) {\n createCheckoutSession(planId: $planId) {\n sessionId\n checkoutUrl\n }\n }\n`;\n\nexport const CANCEL_SUBSCRIPTION_MUTATION = gql`\n mutation cancelSubscription {\n cancelSubscription\n }\n`;\n\nexport const UPDATE_SUBSCRIPTION_PLAN_MUTATION = gql`\n mutation updateSubscriptionPlan($newPlanId: LicencesEnumType!) {\n updateSubscriptionPlan(newPlanId: $newPlanId) {\n subscriptionId\n status\n priceId\n currentPlan\n }\n }\n`;\n","import { useQuery } from \"@apollo/client\";\n\nimport { SubscriptionStatusData } from \"../../../types/user\";\nimport { GET_SUBSCRIPTION_STATUS } from \"../../queries/stripe\";\n\nexport const useGetSubscriptionStatus = () => {\n const { data, loading, error, refetch } = useQuery<{\n getSubscriptionStatus: SubscriptionStatusData;\n }>(GET_SUBSCRIPTION_STATUS);\n\n return {\n data: data?.getSubscriptionStatus,\n error,\n loading,\n refetch,\n };\n};\n","import { gql } from \"@apollo/client\";\n\nexport const GET_SUBSCRIPTION_STATUS = gql`\n query getSubscriptionStatus {\n getSubscriptionStatus {\n subscriptionId\n status\n priceId\n currentPlan\n }\n }\n`;\n","import { useMutation } from \"@apollo/client\";\n\nimport {\n CREATE_PARTNER_MUTATION,\n DELETE_PARTNER_MUTATION,\n UPDATE_PARTNER_MUTATION,\n} from \"src/graphql/mutations/partner\";\nimport { GET_USER_PARTNERS } from \"src/graphql/queries/user\";\n\nexport const useCreatePartner = () => {\n const [createPartner, { loading, error }] = useMutation(\n CREATE_PARTNER_MUTATION,\n {\n awaitRefetchQueries: true,\n refetchQueries: [{ query: GET_USER_PARTNERS }],\n },\n );\n\n return { createPartner, error, loading };\n};\n\nexport const useUpdatePartner = () => {\n const [updatePartner, { loading, error }] = useMutation(\n UPDATE_PARTNER_MUTATION,\n {\n awaitRefetchQueries: true,\n refetchQueries: [{ query: GET_USER_PARTNERS }],\n },\n );\n\n return { error, loading, updatePartner };\n};\n\nexport const useDeletePartner = () => {\n const [deletePartner, { loading, error }] = useMutation(\n DELETE_PARTNER_MUTATION,\n {\n awaitRefetchQueries: true,\n refetchQueries: [{ query: GET_USER_PARTNERS }],\n },\n );\n\n return { deletePartner, error, loading };\n};\n","import { gql } from \"@apollo/client\";\n\nimport { PARTNER } from \"../queries/partner\";\n\nexport const CREATE_PARTNER_MUTATION = gql`\n mutation createPartner($input: PartnerInputType!) {\n createPartner(input: $input) {\n ...PartnerFields\n }\n }\n ${PARTNER}\n`;\n\nexport const UPDATE_PARTNER_MUTATION = gql`\n mutation updatePartner($_id: ID!, $input: PartnerInputType!) {\n updatePartner(_id: $_id, input: $input) {\n ...PartnerFields\n }\n }\n ${PARTNER}\n`;\n\nexport const DELETE_PARTNER_MUTATION = gql`\n mutation deletePartner($_id: ID!) {\n deletePartner(_id: $_id)\n }\n`;\n","import { useQuery } from \"@apollo/client\";\n\nimport { PartnerType } from \"src/types/partner\";\n\nimport {\n GET_PARTNER,\n GET_PARTNERS,\n GET_PARTNERS_BY_REGION,\n SEARCH_PARTNERS,\n} from \"../../queries/partner\";\n\nexport const useGetPartners = () => {\n const { loading, error, data, refetch } = useQuery<{\n partners: PartnerType[];\n }>(GET_PARTNERS, {\n fetchPolicy: \"network-only\",\n });\n const partners = data?.partners || [];\n\n return {\n error,\n loading,\n partners,\n refetch,\n };\n};\n\nexport const useGetPartner = (_id: string) => {\n const { loading, error, data, refetch } = useQuery<{ partner: PartnerType }>(\n GET_PARTNER,\n {\n fetchPolicy: \"network-only\",\n skip: !_id,\n variables: { _id },\n },\n );\n\n const partner = data?.partner;\n\n return { error, loading, partner, refetch };\n};\n\nexport const useGetPartnersByRegion = (region: string) => {\n const { loading, error, data, refetch } = useQuery<{\n partnersByRegion: PartnerType[];\n }>(GET_PARTNERS_BY_REGION, {\n fetchPolicy: \"no-cache\",\n skip: !region,\n variables: { region },\n });\n\n const partnersByRegion = data?.partnersByRegion || [];\n\n return { error, loading, partnersByRegion, refetch };\n};\n\nexport const useSearchPartners = (search: string, region: string) => {\n const { loading, error, data, refetch } = useQuery<{\n partnersSearch: PartnerType[];\n }>(SEARCH_PARTNERS, {\n fetchPolicy: \"network-only\",\n skip: search.length < 3,\n variables: { region, search },\n });\n\n const partnersSearch = data?.partnersSearch || [];\n\n return { error, loading, partnersSearch, refetch };\n};\n","import { useMutation } from \"@apollo/client\";\n\nimport {\n CREATE_POST_MUTATION,\n DELETE_POST_MUTATION,\n UPDATE_POST_MUTATION,\n} from \"src/graphql/mutations/post\";\nimport { GET_POSTS } from \"src/graphql/queries/post\";\n\nexport const useCreatePost = () => {\n const [createPost, { loading, error }] = useMutation(CREATE_POST_MUTATION, {\n awaitRefetchQueries: true,\n refetchQueries: [{ query: GET_POSTS }],\n });\n\n return { createPost, error, loading };\n};\n\nexport const useUpdatePost = () => {\n const [updatePost, { loading, error }] = useMutation(UPDATE_POST_MUTATION, {\n awaitRefetchQueries: true,\n refetchQueries: [{ query: GET_POSTS }],\n });\n\n return { error, loading, updatePost };\n};\n\nexport const useDeletePost = () => {\n const [deletePost, { loading, error }] = useMutation(DELETE_POST_MUTATION, {\n awaitRefetchQueries: true,\n refetchQueries: [{ query: GET_POSTS }],\n });\n\n return { deletePost, error, loading };\n};\n","import { gql } from \"@apollo/client\";\n\nimport { POST_FIELDS_FRAGMENT } from \"../queries/post\";\n\nexport const CREATE_POST_MUTATION = gql`\n mutation createPost($input: PostInputType!) {\n createPost(input: $input) {\n ...PostFields\n }\n }\n ${POST_FIELDS_FRAGMENT}\n`;\n\nexport const UPDATE_POST_MUTATION = gql`\n mutation updatePost($_id: ID!, $input: PostInputType!) {\n updatePost(_id: $_id, input: $input) {\n ...PostFields\n }\n }\n ${POST_FIELDS_FRAGMENT}\n`;\n\nexport const DELETE_POST_MUTATION = gql`\n mutation deletePost($_id: ID!) {\n deletePost(_id: $_id)\n }\n`;\n","import { gql } from \"@apollo/client\";\n\nimport { RESOURCE_IMAGE_FIELDS_FRAGMENT } from \"./global\";\n\nconst POST_CONTENT_DATA_FIELDS_FRAGMENT = gql`\n fragment PostContentDataFields on PostContentData {\n cover {\n ...ResourceImageFields\n }\n textarea {\n title\n data\n }\n images {\n ...ResourceImageFields\n }\n video {\n source\n title\n }\n list {\n title\n items {\n text\n }\n }\n }\n ${RESOURCE_IMAGE_FIELDS_FRAGMENT}\n`;\n\nconst POST_CONTENT_FIELDS_FRAGMENT = gql`\n fragment PostContentFields on PostContentType {\n _id\n contentData {\n ...PostContentDataFields\n }\n contentOrder\n contentType\n }\n ${POST_CONTENT_DATA_FIELDS_FRAGMENT}\n`;\n\nexport const POST_FIELDS_FRAGMENT = gql`\n fragment PostFields on PostType {\n _id\n active\n content {\n ...PostContentFields\n }\n postType\n tags\n title\n createdAt\n updatedAt\n }\n ${POST_CONTENT_FIELDS_FRAGMENT}\n`;\n\nexport const GET_POSTS = gql`\n query getPosts {\n posts {\n ...PostFields\n }\n }\n ${POST_FIELDS_FRAGMENT}\n`;\n\nexport const GET_POST = gql`\n query getPost($postId: ID!) {\n post(postId: $postId) {\n ...PostFields\n }\n }\n ${POST_FIELDS_FRAGMENT}\n`;\n\nexport const GET_POSTS_BY_TYPE = gql`\n query getPostsByType($postType: PostTypeEnum!) {\n postsByType(postType: $postType) {\n ...PostFields\n }\n }\n ${POST_FIELDS_FRAGMENT}\n`;\n","import { useQuery } from \"@apollo/client\";\n\nimport {\n GET_POST,\n GET_POSTS,\n GET_POSTS_BY_TYPE,\n} from \"src/graphql/queries/post\";\nimport { EnumPostType, PostType } from \"src/types\";\n\nexport const useGetPosts = () => {\n const { data, loading, error, refetch } = useQuery<{\n posts: PostType[];\n }>(GET_POSTS);\n\n return { error, loading, posts: data?.posts || [], refetch };\n};\n\nexport const useGetPost = (postId: string) => {\n const { data, loading, error, refetch } = useQuery<{\n post: PostType;\n }>(GET_POST, {\n skip: !postId,\n variables: { postId },\n });\n\n return { error, loading, post: data?.post || null, refetch };\n};\n\nexport const useGetPostsByType = (postType: EnumPostType) => {\n const { data, loading, error, refetch } = useQuery<{\n postsByType: PostType[];\n }>(GET_POSTS_BY_TYPE, {\n skip: !postType,\n variables: { postType },\n });\n\n return { error, loading, postsByType: data?.postsByType || [], refetch };\n};\n","/* 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\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 { Resolver, useForm } from \"react-hook-form\";\n\nimport { CreateVendorFormData, VendorFormData } from \"../../types/vendor\";\nimport { vendorSchema } from \"../../yupSchema\";\nimport {\n defaultVendorFormValues,\n mapBaseResourceTypeToFormData,\n} from \"../utils\";\n\n/**\n * Custom hook to manage the vendor form state and validation.\n *\n * @param {VendorFormData} data - The initial form data.\n * @returns {CreateVendorFormData} - The form methods and state.\n */\nexport function useVendorForm(data?: VendorFormData): CreateVendorFormData {\n const {\n control,\n formState: { errors },\n getValues,\n handleSubmit,\n reset,\n setValue,\n watch,\n } = useForm<VendorFormData>({\n defaultValues: defaultVendorFormValues,\n resolver: yupResolver(vendorSchema) as Resolver<VendorFormData>,\n });\n\n React.useEffect(() => {\n if (data) {\n reset({\n ...mapBaseResourceTypeToFormData(data),\n availability: data.availability,\n categories: data.categories,\n foodTruck: data.foodTruck,\n locations: data.locations,\n multiLocation: data.multiLocation,\n products: data.products,\n vendorType: data.vendorType,\n });\n } else {\n reset(defaultVendorFormValues);\n }\n }, [data]);\n\n const {\n _id,\n active,\n associates,\n availability,\n categories,\n contactDetails,\n cover,\n coverUpload,\n foodTruck,\n description,\n images,\n imagesUpload,\n locations,\n logo,\n logoUpload,\n multiLocation,\n name,\n owner,\n products,\n promoCodes,\n region,\n socialMedia,\n termsAgreement,\n vendorType,\n } = getValues();\n\n return {\n control,\n fields: {\n _id,\n active,\n associates,\n availability,\n categories,\n contactDetails,\n cover,\n coverUpload,\n description,\n foodTruck,\n images,\n imagesUpload,\n locations,\n logo,\n logoUpload,\n multiLocation,\n name,\n owner,\n products,\n promoCodes,\n region,\n socialMedia,\n termsAgreement,\n vendorType,\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 {\n EnumEventDateStatus,\n EnumResourceType,\n EnumSocialMedia,\n EnumUserLicence,\n} from \"src/enums\";\n\nimport { dateFormat, normalizeUrl, timeFormat } from \"../utils\";\n\ntype NoLeadingZerosOptions = {\n allowDecimal?: boolean;\n};\n\nexport const nzBankAccountRegex = /^\\d{2}-\\d{4}-\\d{7}-\\d{2}$/;\n\nexport const nzbnRegex = /^94\\d{11}$/;\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\n// ✅ Reusable Required Email Schema\nexport const emailRequiredSchema = yup\n .string()\n .email(\"Invalid email address\")\n .required(\"Email is required\")\n .label(\"Email\")\n .transform((value) =>\n typeof value === \"string\" ? value.trim().toLowerCase() : value,\n );\n\nexport const emailOptionalSchema = yup\n .string()\n .nullable()\n .notRequired()\n .transform((value) =>\n typeof value === \"string\" ? value.trim().toLowerCase() : value,\n )\n .test(\n \"is-valid-email\",\n \"Invalid email address\",\n (value) => !value || yup.string().email().isValidSync(value),\n )\n .label(\"Email\");\n\n// Mobile: starts with 02, 9-11 digits\nexport const mobileRegex = /^02\\d{7,9}$/;\n// Landline: starts with 03, 04, 06, 07, 09 (but not 090), 7 digits after area code\nconst landlineRegex = /^(0(3|4|6|7|9)[0-9]{7})$/;\n\nexport const mobilePhoneSchema = yup\n .string()\n .label(\"Mobile Phone\")\n .nullable()\n .notRequired()\n .test(\n \"mobile-phone\",\n \"Mobile must start with 02 and be 9–11 digits\",\n (value) => !value || mobileRegex.test(value), // skip empty values\n );\n\nconst landlinePhoneSchema = yup\n .string()\n .label(\"Landline Phone\")\n .nullable()\n .notRequired()\n .test(\n \"landline-phone\",\n \"Landline must start with 03, 04, 06, 07, or 09 (not 090) and have 7 digits after area code\",\n (value) => !value || landlineRegex.test(value), // skip empty values\n );\n\nexport const contactDetailsSchema = yup\n .object({\n email: emailOptionalSchema,\n mobilePhone: mobilePhoneSchema,\n landlinePhone: landlinePhoneSchema,\n })\n .nullable()\n .default(undefined);\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 const now = dayjs(); // Current date and time\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 const now = dayjs(); // Current date and time\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 now = dayjs(); // Current date and time\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 dateStatus: yup\n .mixed<EnumEventDateStatus>()\n .oneOf(Object.values(EnumEventDateStatus))\n .required(\"Date status is required\"),\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 Type\")\n .required(\"Stall type 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 .label(\"Stall Capacity\")\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 electricity: yup\n .object({\n selected: yup\n .boolean()\n .nullable()\n .optional()\n .label(\"Electricity Available\"),\n price: yup\n .number()\n .transform((value, originalValue) =>\n originalValue === \"\" ? null : value,\n )\n .integer(\"Electricity price must be a whole number\")\n .test(\n \"no-leading-zeros\",\n \"\",\n noLeadingZeros(\"Electricity price\", { allowDecimal: true }),\n )\n .nullable()\n .optional(),\n })\n .nullable()\n .optional()\n .label(\"Electricity Information\"),\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 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\nexport const 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 contactDetails: contactDetailsSchema,\n description: yup\n .string()\n .label(\"Description\")\n .trim()\n .min(3)\n .required(\"Description is required\"),\n name: yup\n .string()\n .label(\"Name\")\n .trim()\n .min(3)\n .max(40)\n .required(\"Name is required\"),\n region: yup.string().label(\"Region\").required(\"Region is required\"),\n socialMedia: yup.array().of(socialMediaSchema).nullable().default(null),\n associates: yup\n .array()\n .of(\n yup.object().shape({\n email: emailRequiredSchema,\n resourceId: yup\n .string()\n .label(\"Resource ID\")\n .required(\"Resource ID is required\"),\n resourceType: yup\n .mixed<EnumResourceType>()\n .oneOf(Object.values(EnumResourceType))\n .label(\"Resource Type\")\n .required(\"Resource Type is required\"),\n licence: yup.object({\n expiryDate: yup.date().required(\"Expiry Date is required\"),\n issuedDate: yup.date().required(\"Issued Date is required\"),\n licenceType: yup\n .mixed<EnumUserLicence>()\n .oneOf(Object.values(EnumUserLicence))\n .label(\"Licence Type\")\n .required(\"Licence Type is required\"),\n }),\n }),\n )\n .nullable()\n .default(null),\n});\n\nexport const categorySchema = yup.array().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","/* eslint-disable sort-keys */\nimport * as yup from \"yup\";\n\nimport { EnumEventType, EnumPaymentMethod } from \"../enums\";\n\nimport {\n dateTimeSchema,\n dateTimeWithPriceSchema,\n globalResourceSchema,\n locationSchema,\n noLeadingZeros,\n normalizedUrlTransform,\n nzBankAccountRegex,\n nzbnRegex,\n} from \"./global\";\n\nexport const eventSchema = globalResourceSchema.shape({\n dateTime: yup\n .array()\n .of(dateTimeSchema)\n .min(1, \"At least one Event date required\")\n .max(50, \"You can only add up to 50 Event dates\") // <-- enforce max 50\n .required(\"DateTime is required\")\n .test(\n \"unique-start-date-time\",\n \"Start Date and Start Time must be unique\",\n function (value) {\n if (!value) return true;\n\n const seen = new Set<string>();\n for (const item of value) {\n // Only validate uniqueness when both fields exist\n if (!item.startDate || !item.startTime) continue;\n\n const key = `${item.startDate}_${item.startTime}`;\n\n if (seen.has(key)) {\n return false;\n }\n\n seen.add(key);\n }\n return true;\n },\n ),\n eventType: yup\n .mixed<EnumEventType>()\n .oneOf(Object.values(EnumEventType))\n .required(\"Please select an Event type\"),\n location: locationSchema,\n nzbn: yup\n .string()\n .required(\"NZBN is required\")\n .matches(nzbnRegex, \"NZBN must be 13 digits and start with 94\"),\n rainOrShine: yup\n .boolean()\n .label(\"Rain or Shine\")\n .required(\"Please specify if the event is rain or shine\"),\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 eventInfoSchema = yup.object().shape({\n applicationDeadlineHours: yup\n .number()\n .label(\"Application Deadline Hours\")\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 eventId: yup.string().trim().required(\"Event ID is required\"),\n packInTime: yup\n .number()\n .label(\"Pack In Time\")\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 .label(\"Payment Due Hours\")\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 .test(\n \"payment-before-deadline\",\n \"Payment due hours must be less than application deadline hours\",\n function (value) {\n const { applicationDeadlineHours } = this.parent;\n\n // Both are numbers (enforced by schema), so direct comparison is fine\n return value < applicationDeadlineHours;\n },\n ),\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 { EnumFoodFlavor, EnumVendorType } from \"src/enums\";\n\nimport { categorySchema, globalResourceSchema } from \"./global\";\n\nconst vendroMenuSchema = yup.object().shape({\n description: yup.string().trim().max(100).optional().nullable(),\n price: yup\n .number()\n .transform((value, originalValue) => (originalValue === \"\" ? null : value))\n .min(0)\n .optional()\n .nullable(),\n title: yup.string().trim().max(50).optional().nullable(),\n});\n\nexport const vendorSchema = globalResourceSchema.shape({\n categories: categorySchema\n .min(1, \"Category list must contain at least one item\")\n .required(\"Categories are required\"),\n foodTruck: yup\n .boolean()\n .label(\"Food Truck\")\n .required(\"Please specify if the vendor is a food truck\"),\n multiLocation: yup.boolean().required(\"Multi location is required\"),\n products: yup.array().of(vendroMenuSchema).nullable().default(null),\n vendorType: yup\n .mixed<EnumVendorType>()\n .oneOf(Object.values(EnumVendorType))\n .required(\"Please select a Vendor type\"),\n});\n\nexport const vendorInfoSchema = yup.object().shape({\n product: yup.object().shape({\n foodFlavors: yup\n .array()\n .of(\n yup\n .mixed<EnumFoodFlavor>()\n .oneOf(Object.values(EnumFoodFlavor), \"Invalid flavor selected\")\n .required(\"Flavor is required\"),\n )\n .min(1, \"Food flavors list must contain at least one item\")\n .required(\"Food flavors are required\"),\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 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 }),\n requirements: yup\n .object()\n .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\n .boolean()\n .required(\"Electricity requirement is required\"),\n }),\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 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 .optional(),\n stallInfo: yup.object().shape({\n size: 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 }),\n vendorId: yup.string().trim().required(\"Vendor ID is required\"),\n});\n","/* eslint-disable sort-keys */\nimport * as yup from \"yup\";\n\nimport { EnumUserRole } from \"../enums\";\n\nimport { emailRequiredSchema } from \"./global\";\n\nexport const userSchema = yup.object().shape({\n active: yup.boolean().required(\"Active is required\"),\n email: emailRequiredSchema,\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 isTester: yup.boolean().required(\"Tester status is required\"),\n password: yup\n .string()\n .nullable()\n .trim()\n .label(\"Password\")\n // simple rule: if user enters something → must be at least 8 chars\n .min(8, \"Password must be at least 8 characters long\")\n .notRequired(),\n preferredRegion: yup\n .string()\n .label(\"Preferred Region\")\n .required(\"Preferred region is required\"),\n confirmPassword: yup\n .string()\n .nullable()\n .trim()\n .label(\"Confirm Password\")\n .when(\"password\", {\n is: (val: string | null) => !!val, // only necessary if password typed\n then: (schema) =>\n schema\n .required(\"Confirm Password is required\")\n .oneOf([yup.ref(\"password\")], \"Passwords must match\"),\n otherwise: (schema) => schema.notRequired(),\n }),\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 { emailRequiredSchema, passwordSchema } from \"./global\";\n\nexport const loginSchema = yup.object().shape({\n email: emailRequiredSchema,\n password: passwordSchema,\n});\n\nexport const registerSchema = yup.object().shape({\n email: emailRequiredSchema,\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: emailRequiredSchema,\n});\n\nexport const resetPasswordSchema = yup.object().shape({\n email: emailRequiredSchema,\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: emailRequiredSchema,\n verificationToken: yup\n .string()\n .required(\"Verification code is required\")\n .matches(/^\\d{6}$/, \"Verification code must be exactly 6 digits\"),\n});\n","import * as yup from \"yup\";\n\nimport { EnumOSPlatform, EnumResourceType } from \"src/enums\";\nimport {\n OrganizedMarketCount,\n OrganizerMarketFrequency,\n TesterEvent,\n TesterVendor,\n VendorSellingFrequency,\n} from \"src/types/tester\";\n\nimport {\n categorySchema,\n emailRequiredSchema,\n mobileRegex,\n noLeadingZeros,\n} from \"./global\";\n\nconst testerVendorSchema = yup.object().shape({\n categories: categorySchema\n .min(1, \"Category list must contain at least one item\")\n .required(\"Categories are required\"),\n marketsAttended: yup\n .array()\n .of(\n yup.object().shape({\n city: yup.string().trim().required(\"City is required\"),\n name: yup.string().trim().required(\"Market name is required\"),\n }),\n )\n .min(1, \"At least one market must be provided\")\n .required(\"Markets attended are required\"),\n productsOrServices: yup\n .string()\n .trim()\n .required(\"Products or services description is required\"),\n questionary: yup.object().shape({\n appearInVideoIntroduction: yup.boolean().optional(),\n applyToAtLeastOneMarket: yup.boolean().required(\"Required field\"),\n completeFeedbackQuestionnaire: yup.boolean().required(\"Required field\"),\n excitementAboutApp: yup.string().trim().optional(),\n sendPhotoForSocialMedia: yup.boolean().optional(),\n socialMediaFeatureReason: yup.string().trim().optional(),\n testingPeriodConcerns: yup.string().trim().optional(),\n tryVisitorFeatures: yup.boolean().required(\"Required field\"),\n uploadStallProfileFirstWeek: yup.boolean().required(\"Required field\"),\n usefulnessExpectations: yup.string().trim().optional(),\n }),\n sellingFrequency: yup\n .mixed<VendorSellingFrequency>()\n .oneOf(\n Object.values(VendorSellingFrequency),\n \"Please select a valid selling frequency\",\n )\n .required(\"Required field\"),\n yearlySellingApprox: yup\n .number()\n .label(\"Yearly Selling Approx\")\n .min(1, \"Yearly selling approximate must be at least 1\")\n .integer(\"Yearly selling approximate must be a whole number\")\n .required(\"Yearly selling approximate is required\")\n .test(\"no-leading-zeros\", \"\", noLeadingZeros(\"Yearly selling approximate\")),\n});\n\nconst testerEventSchema = yup.object().shape({\n markets: yup\n .array()\n .of(\n yup.object().shape({\n averageStallCount: yup\n .number()\n .label(\"Average Stall Count\")\n .min(1, \"Average stall count must be at least 1\")\n .integer(\"Average stall count must be a whole number\")\n .required(\"Average stall count is required\")\n .test(\"no-leading-zeros\", \"\", noLeadingZeros(\"Average stall count\")),\n cityOrVenue: yup.string().trim().required(\"City or venue is required\"),\n frequency: yup\n .mixed<OrganizerMarketFrequency>()\n .oneOf(\n Object.values(OrganizerMarketFrequency),\n \"Please select a valid frequency\",\n )\n .required(\"Frequency is required\"),\n name: yup.string().trim().required(\"Market name is required\"),\n }),\n )\n .min(1, \"At least one market must be provided\")\n .required(\"Markets are required\"),\n organizedMarketCount: yup\n .mixed<OrganizedMarketCount>()\n .oneOf(\n Object.values(OrganizedMarketCount),\n \"Please select a valid market count\",\n )\n .required(\"Organized market count is required\"),\n\n questionary: yup.object().shape({\n allowMarketingAppearance: yup.boolean().optional(),\n completeFinalQuestionnaire: yup.boolean().required(\"Required field\"),\n dailyCoordinationNeeds: yup.string().trim().optional(),\n interestedInCharityInitiative: yup.boolean().optional(),\n inviteAtLeastFiveStallholders: yup.boolean().required(\"Required field\"),\n manageApplicationsAndCommunication: yup\n .boolean()\n .required(\"Required field\"),\n organizerExpectations: yup.string().trim().optional(),\n registerMarketsFirstWeek: yup.boolean().required(\"Required field\"),\n spaceForClueMart: yup.boolean().optional(),\n }),\n});\n\nexport const testerSchema = yup.object().shape({\n businessName: yup.string().required(\"Business name is required\"),\n consents: yup.object().shape({\n betaTestConsent: yup\n .boolean()\n .oneOf([true], \"You must consent to beta testing\")\n .required(\"Beta test consent is required\"),\n privacyConsent: yup\n .boolean()\n .oneOf([true], \"You must accept the Privacy Policy\")\n .required(\"Privacy consent is required\"),\n }),\n email: emailRequiredSchema,\n event: yup.object().when(\"resourceType\", {\n is: (resourceType: EnumResourceType) =>\n resourceType === EnumResourceType.EVENT,\n otherwise: (schema) => schema.nullable().optional(),\n then: (schema) =>\n schema\n .required(\"Event information is required\")\n .shape(testerEventSchema.fields),\n }) as unknown as yup.Schema<TesterEvent | null | undefined>,\n firstName: yup.string().required(\"First name is required\"),\n lastName: yup.string().required(\"Last name is required\"),\n mobilePhone: yup\n .string()\n .label(\"Mobile Phone\")\n .required(\"Mobile phone is required\")\n .test(\n \"mobile-phone\",\n \"Mobile must start with 02 and be 9–11 digits\",\n (value) => !value || mobileRegex.test(value), // skip empty values\n ),\n osType: yup\n .mixed<EnumOSPlatform>()\n .oneOf(Object.values(EnumOSPlatform), \"Please select Android or iOS\")\n .required(\"OS Type is required\"),\n region: yup.string().required(\"Region is required\"),\n resourceType: yup\n .mixed<EnumResourceType>()\n .oneOf(\n Object.values(EnumResourceType),\n \"Please select Event or Stallholder\",\n )\n .required(\"Resource Type is required\"),\n vendor: yup.object().when(\"resourceType\", {\n is: (resourceType: EnumResourceType) =>\n resourceType === EnumResourceType.VENDOR,\n otherwise: (schema) => schema.nullable().optional(),\n then: (schema) =>\n schema\n .required(\"Vendor information is required\")\n .shape(testerVendorSchema.fields),\n }) as unknown as yup.Schema<TesterVendor | null | undefined>,\n});\n","import { EnumOSPlatform, EnumResourceType } from \"src/enums\";\n\nimport { Category, CreateFormData } from \"./global\";\n\nexport enum OrganizedMarketCount {\n ONE = \"One\",\n TWO_TO_THREE = \"Two_to_Three\",\n FOUR_TO_FIVE = \"Four_to_Five\",\n MORE_THAN_FIVE = \"More_than_Five\",\n}\n\nexport enum VendorSellingFrequency {\n TWICE_A_WEEK = \"Two_to_Three_times_a_week\",\n ONCE_A_WEEK = \"Once_a_week\",\n ONE_TO_TWO_TIMES_A_MONTH = \"One_to_Two_times_a_month\",\n LESS_OFTEN = \"Less_often\",\n}\n\nexport enum OrganizerMarketFrequency {\n WEEKLY = \"Weekly\",\n FORTNIGHTLY = \"Fortnightly\",\n MONTHLY = \"Monthly\",\n SEASONAL = \"Seasonal\",\n}\n\nexport type TesterVendor = {\n categories: Category[];\n marketsAttended: { name: string; city: string }[];\n productsOrServices: string;\n sellingFrequency: VendorSellingFrequency;\n yearlySellingApprox: number;\n questionary: {\n appearInVideoIntroduction?: boolean; // Q15 (Yes / No)\n applyToAtLeastOneMarket: boolean; // Q11\n completeFeedbackQuestionnaire: boolean; // Q13\n excitementAboutApp?: string; // Q17\n sendPhotoForSocialMedia?: boolean; // Q14 (Yes / No)\n socialMediaFeatureReason?: string; // Q16 (optional free text)\n testingPeriodConcerns?: string; // Q19 (optional)\n tryVisitorFeatures: boolean; // Q12\n uploadStallProfileFirstWeek: boolean; // Q10\n usefulnessExpectations?: string; // Q18\n };\n};\n\nexport type TesterEvent = {\n /** Organizer background */\n organizedMarketCount: OrganizedMarketCount;\n markets: {\n name: string;\n cityOrVenue: string;\n frequency: OrganizerMarketFrequency;\n averageStallCount: number;\n }[];\n questionary: {\n allowMarketingAppearance?: boolean;\n completeFinalQuestionnaire: boolean;\n dailyCoordinationNeeds?: string;\n interestedInCharityInitiative?: boolean;\n inviteAtLeastFiveStallholders: boolean;\n manageApplicationsAndCommunication: boolean;\n organizerExpectations?: string;\n registerMarketsFirstWeek: boolean;\n spaceForClueMart?: boolean;\n };\n};\n\nexport interface TesterFormData {\n businessName: string;\n consents: {\n privacyConsent: boolean;\n betaTestConsent: boolean;\n };\n email: string;\n event?: TesterEvent | null;\n firstName: string;\n lastName: string;\n mobilePhone: string;\n osType: EnumOSPlatform;\n region: string;\n resourceType: EnumResourceType;\n vendor?: TesterVendor | null;\n}\n\nexport type CreateTesterFormData = CreateFormData<TesterFormData>;\n\nexport interface TesterType extends TesterFormData {\n _id: string;\n active: boolean;\n approved: boolean;\n createdAt: Date;\n updatedAt: Date | null;\n}\n","/* eslint-disable sort-keys */\nimport * as yup from \"yup\";\n\nimport { EnumResourceType } from \"src/enums\";\nimport {\n EnumAdShowOn,\n EnumAdStatus,\n EnumAdStyle,\n EnumAdType,\n} from \"src/types/ad\";\n\nimport { socialMediaSchema } from \"./global\";\n\nexport const adSchema = yup.object().shape({\n active: yup.boolean().required(\"Active status is required\"),\n adStyle: yup\n .mixed<EnumAdStyle>()\n .oneOf(Object.values(EnumAdStyle), \"Please select a valid ad style\")\n .required(\"Ad style is required\"),\n adType: yup\n .mixed<EnumAdType>()\n .oneOf(Object.values(EnumAdType), \"Please select a valid ad type\")\n .required(\"Ad type is required\"),\n clui: yup.string().nullable().notRequired(),\n end: yup\n .date()\n .required(\"End date is required\")\n .test(\"is-future-date\", \"End date must be in the future\", (value) => {\n if (!value) return false;\n const endDate = new Date(value);\n const now = new Date();\n return endDate > now;\n })\n .when(\"start\", {\n is: (val: string) => val && val.length > 0,\n then: (schema) =>\n schema.test(\n \"is-after-start\",\n \"End date must be after start date\",\n function (value) {\n const { start } = this.parent;\n if (!value || !start) return false;\n return new Date(value) > new Date(start);\n },\n ),\n }),\n resourceCover: yup\n .string()\n .url(\"Resource cover must be a valid URL\")\n .required(\"Resource cover is required\"),\n resourceDescription: yup\n .string()\n .required(\"Resource description is required\"),\n resourceId: yup.string().required(\"Resource ID is required\"),\n resourceLogo: yup\n .string()\n .url(\"Resource logo must be a valid URL\")\n .nullable()\n .notRequired(),\n resourceName: yup.string().required(\"Resource name is required\"),\n resourceRegion: yup.string().required(\"Resource region is required\"),\n resourceType: yup\n .mixed<EnumResourceType>()\n .oneOf(Object.values(EnumResourceType), \"Please select Event or Vendor\")\n .required(\"Resource Type is required\"),\n showOn: yup\n .mixed<EnumAdShowOn>()\n .oneOf(\n Object.values(EnumAdShowOn),\n \"Please select a valid display location\",\n )\n .required(\"Display location is required\"),\n socialMedia: yup.array().of(socialMediaSchema).nullable().optional(),\n status: yup\n .mixed<EnumAdStatus>()\n .oneOf(Object.values(EnumAdStatus))\n .required(\"Ad status is required\"),\n start: yup.date().when(\"status\", {\n is: (status: EnumAdStatus) => status !== EnumAdStatus.ACTIVE,\n then: () =>\n yup\n .date()\n .required(\"Start date is required\")\n .test(\"is-future-date\", \"Start date must be in the future\", (value) => {\n if (!value) return false;\n return value > new Date();\n }),\n otherwise: () => yup.date().nullable().notRequired(),\n }),\n targetRegion: yup.string().nullable().notRequired(),\n});\n","import { EnumResourceType } from \"src/enums\";\n\nimport { CreateFormData, SocialMediaType } from \"./global\";\n\nexport enum EnumAdShowOn {\n EVENTS_PAGE = \"Events_page\",\n FRONT_PAGE = \"Front_page\",\n PARTNERS_PAGE = \"Partners_page\",\n VENDORS_PAGE = \"Vendors_page\",\n}\n\nexport enum EnumAdStatus {\n ACTIVE = \"Active\",\n PAUSED = \"Paused\",\n EXPIRED = \"Expired\",\n}\n\nexport enum EnumAdType {\n SPONSORED = \"Sponsored\",\n FREE = \"Free\",\n}\n\nexport enum EnumAdStyle {\n BLOOM = \"Bloom\",\n RISE = \"Rise\",\n}\n\nexport interface AdFormData {\n active: boolean;\n adStyle: EnumAdStyle;\n adType: EnumAdType;\n clui?: string | null;\n end: Date; // ISO date string\n resourceCover: string;\n resourceDescription: string;\n resourceId: string;\n resourceLogo?: string | null;\n resourceName: string;\n resourceRegion: string;\n resourceType: EnumResourceType;\n showOn: EnumAdShowOn;\n socialMedia?: SocialMediaType[] | null;\n start?: Date; // ISO date string\n status: EnumAdStatus;\n targetRegion?: string | null;\n}\n\nexport type CreateAdFormData = CreateFormData<AdFormData>;\n\nexport interface AdType extends AdFormData {\n _id: string;\n clicks?: number; // How many times the ad was clicked\n createdAt: Date;\n impressions?: number; // How often the ad was seen\n start: Date; // ISO date string\n updatedAt: Date | null;\n}\n","import * as yup from \"yup\";\n\nimport { EnumPartnerType } from \"src/enums\";\n\nimport { globalResourceSchema, locationSchema, nzbnRegex } from \"./global\";\n\nexport const partnerSchema = globalResourceSchema.shape({\n location: locationSchema,\n nzbn: yup\n .string()\n .required(\"NZBN is required\")\n .matches(nzbnRegex, \"NZBN must be 13 digits and start with 94\"),\n partnerType: yup\n .mixed<EnumPartnerType>()\n .oneOf(Object.values(EnumPartnerType))\n .required(\"Please select a Partner type\"),\n});\n","import * as yup from \"yup\";\n\nimport {\n EnumPostContentType,\n EnumPostType,\n PostContentData,\n} from \"src/types/post\";\n\n/* ------------------------------------------------------------------ */\n/* ContentData sub-schemas */\n/* ------------------------------------------------------------------ */\n\nconst coverContentSchema = yup.object({\n cover: yup\n .object({\n source: yup.string().required(\"Cover source is required\"),\n title: yup.string().required(\"Cover title is required\"),\n })\n .required(),\n});\n\nconst textareaContentSchema = yup.object({\n textarea: yup\n .object({\n data: yup.string().required(\"Textarea content is required\"),\n title: yup.string().optional(),\n })\n .required(),\n});\n\nconst imagesContentSchema = yup.object({\n images: yup\n .array()\n .of(\n yup.object({\n source: yup.string().required(\"Image source is required\"),\n title: yup.string().required(\"Image title is required\"),\n }),\n )\n .nullable(),\n});\n\nconst videoContentSchema = yup.object({\n video: yup\n .object({\n source: yup.string().required(\"Video source is required\"),\n title: yup.string().optional(),\n })\n .required(),\n});\n\nconst listContentSchema = yup.object({\n list: yup\n .object({\n items: yup\n .array()\n .of(\n yup.object({\n text: yup.string().required(\"List item text is required\"),\n }),\n )\n .min(1, \"List must contain at least one item\")\n .required(),\n title: yup.string().optional(),\n })\n .required(),\n});\n\n/* ------------------------------------------------------------------ */\n/* Discriminated contentData schema */\n/* ------------------------------------------------------------------ */\n\nconst contentDataSchema = yup\n .mixed<PostContentData>()\n .required(\"Content data is required\")\n .test(\n \"contentData-by-type\",\n \"Invalid content data for content type\",\n function (value) {\n const { contentType } = this.parent;\n const schema = (() => {\n switch (contentType) {\n case EnumPostContentType.COVER:\n return coverContentSchema;\n case EnumPostContentType.TEXTAREA:\n return textareaContentSchema;\n case EnumPostContentType.IMAGE:\n return imagesContentSchema;\n case EnumPostContentType.VIDEO:\n return videoContentSchema;\n case EnumPostContentType.LIST:\n return listContentSchema;\n default:\n return null;\n }\n })();\n\n if (!schema) return false;\n\n return schema.isValidSync(value);\n },\n );\n\n/* ------------------------------------------------------------------ */\n/* Post content block schema */\n/* ------------------------------------------------------------------ */\n\nexport const postContentSchema = yup.object().shape({\n contentData: contentDataSchema,\n contentOrder: yup.number().min(0).required(),\n contentType: yup\n .mixed<EnumPostContentType>()\n .oneOf(Object.values(EnumPostContentType))\n .required(),\n});\n\n/* ------------------------------------------------------------------ */\n/* Final post schema */\n/* ------------------------------------------------------------------ */\n\nexport const postSchema = yup.object().shape({\n active: yup.boolean().required(),\n content: yup.array().of(postContentSchema).required(),\n postType: yup\n .mixed<EnumPostType>()\n .oneOf(Object.values(EnumPostType))\n .required(),\n\n tags: yup.array().of(yup.string().required()).nullable().optional(),\n title: yup.string().required(),\n});\n","import { CreateFormData, ResourceImageType } from \"./global\";\n\nexport enum EnumPostType {\n DAILY_MEETS = \"daily_meets\",\n DAILY_TIPS = \"daily_tips\",\n DAILY_POLL = \"daily_poll\",\n}\n\nexport enum EnumPostContentType {\n COVER = \"cover\",\n IMAGE = \"image\",\n LIST = \"list\",\n TEXTAREA = \"textarea\",\n VIDEO = \"video\",\n}\n\nexport type PostContentCover = {\n cover: ResourceImageType;\n coverUpload?: ResourceImageType | null;\n};\n\nexport type PostContentTextarea = {\n textarea: {\n title?: string;\n data: string;\n };\n};\n\nexport type PostContentImage = {\n images: ResourceImageType[] | null;\n imagesUpload?: ResourceImageType[] | null;\n};\n\nexport type PostContentVideo = {\n video: {\n source: string;\n title?: string;\n };\n};\n\nexport type PostContentList = {\n list: {\n title?: string;\n items: {\n text: string;\n }[];\n };\n};\n\nexport type PostContentData =\n | PostContentCover\n | PostContentTextarea\n | PostContentImage\n | PostContentVideo\n | PostContentList;\n\nexport type PostContentFormData = {\n contentData: PostContentData;\n contentOrder: number;\n contentType: EnumPostContentType;\n};\n\nexport interface PostFormData {\n active: boolean;\n content: PostContentFormData[];\n postType: EnumPostType;\n tags?: string[] | null;\n title: string;\n}\n\nexport type CreatePostFormData = CreateFormData<PostFormData>;\n\nexport type PostContentType = Omit<PostContentFormData, \"contentData\"> & {\n _id: string;\n contentData: Omit<PostContentData, \"imagesUpload\" | \"coverUpload\">;\n};\n\nexport type PostType = Omit<PostFormData, \"content\"> & {\n _id: string;\n content: PostContentType;\n createdAt: Date;\n deletedAt: Date | null;\n updatedAt: Date | null;\n};\n","import {\n EnumEventType,\n EnumFoodFlavor,\n EnumPartnerType,\n EnumVendorType,\n} from \"src/enums\";\n\nimport {\n BaseResourceTypeFormData,\n EventFormData,\n EventInfoFormData,\n LocationType,\n PartnerFormData,\n VendorFormData,\n VendorInfoFormData,\n} from \"../types\";\n\nconst defaultLocation: LocationType = {\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\nexport const globalDefaultValues: BaseResourceTypeFormData = {\n active: false,\n associates: null,\n contactDetails: {\n email: null,\n landlinePhone: null,\n mobilePhone: null,\n },\n cover: {\n source: \"\",\n title: \"\",\n },\n coverUpload: {\n source: \"\",\n title: \"\",\n },\n description: \"\",\n images: null,\n imagesUpload: null,\n logo: null,\n logoUpload: null,\n name: \"\",\n promoCodes: [],\n region: \"\",\n socialMedia: [],\n};\n\nexport const defaultPartnerFormValues: PartnerFormData = {\n ...globalDefaultValues,\n location: defaultLocation,\n nzbn: \"\",\n partnerType: EnumPartnerType.CHARITY_PARTNER,\n};\n\nexport const defaultEventFormValues: EventFormData = {\n ...globalDefaultValues,\n dateTime: [],\n eventType: EnumEventType.MARKET,\n location: defaultLocation,\n nzbn: \"\",\n provider: null,\n rainOrShine: false,\n tags: [],\n};\n\nexport const defaultEventInfoFormValues: EventInfoFormData = {\n applicationDeadlineHours: 24,\n dateTime: [],\n eventId: \"\",\n packInTime: 2, // e.g., 2 hours before event opens\n paymentDueHours: 12,\n paymentInfo: [],\n requirements: [],\n};\n\nexport const defaultVendorFormValues: VendorFormData = {\n ...globalDefaultValues,\n availability: {\n corporate: false,\n private: false,\n school: false,\n },\n categories: [],\n foodTruck: false,\n locations: null,\n multiLocation: false,\n products: null,\n vendorType: EnumVendorType.STALLHOLDER,\n};\n\nexport const defaultVendorInfoFormValues: VendorInfoFormData = {\n compliance: { foodBeverageLicense: false, liabilityInsurance: false },\n documents: null,\n documentsUpload: null,\n product: {\n foodFlavors: [] as EnumFoodFlavor[],\n packaging: [],\n priceRange: { max: 0, min: 0 },\n producedIn: [],\n },\n requirements: {\n electricity: { details: null, isRequired: false },\n gazebo: { details: null, isRequired: false },\n table: { details: null, isRequired: false },\n },\n stallInfo: {\n size: { depth: 0, width: 0 },\n },\n vendorId: \"\",\n};\n\nexport function mapBaseResourceTypeToFormData(\n data: BaseResourceTypeFormData,\n): BaseResourceTypeFormData {\n return {\n _id: data._id,\n active: data.active,\n associates: data.associates,\n contactDetails: data.contactDetails,\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 owner: data.owner,\n promoCodes: data.promoCodes,\n region: data.region,\n socialMedia: data.socialMedia,\n termsAgreement: data.termsAgreement,\n };\n}\n","import { yupResolver } from \"@hookform/resolvers/yup\";\nimport * as React from \"react\";\nimport { Resolver, useForm } from \"react-hook-form\";\n\nimport {\n CreateVendorInfoFormData,\n VendorInfoFormData,\n} from \"../../types/vendor\";\nimport { vendorInfoSchema } from \"../../yupSchema\";\nimport { defaultVendorInfoFormValues } from \"../utils\";\n\nexport function useVendorInfoForm(\n data?: VendorInfoFormData,\n): CreateVendorInfoFormData {\n const {\n control,\n formState: { errors },\n getValues,\n handleSubmit,\n reset,\n setValue,\n watch,\n } = useForm<VendorInfoFormData>({\n defaultValues: defaultVendorInfoFormValues,\n resolver: yupResolver(vendorInfoSchema) as Resolver<VendorInfoFormData>,\n });\n\n React.useEffect(() => {\n if (data) {\n reset({\n _id: data._id,\n compliance: data.compliance,\n documents: data.documents,\n documentsUpload: data.documentsUpload,\n product: data.product,\n requirements: data.requirements,\n stallInfo: data.stallInfo,\n vendorId: data.vendorId,\n });\n } else {\n reset(defaultVendorInfoFormValues);\n }\n }, [data]);\n\n const {\n _id,\n compliance,\n documents,\n documentsUpload,\n product,\n requirements,\n stallInfo,\n vendorId,\n } = getValues();\n\n return {\n control,\n fields: {\n _id,\n compliance,\n documents,\n documentsUpload,\n product,\n requirements,\n stallInfo,\n vendorId,\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 { Resolver, useForm } from \"react-hook-form\";\n\nimport { CreateEventFormData, EventFormData } from \"../../types/event\";\nimport { eventSchema } from \"../../yupSchema\";\nimport {\n defaultEventFormValues,\n mapBaseResourceTypeToFormData,\n} from \"../utils\";\n\n/**\n * Custom hook to manage the event form state and validation.\n *\n * @param {EventFormData} data - The initial form data.\n * @returns {CreateEventFormData} - The form methods and state.\n */\nexport function useEventForm(data?: EventFormData): CreateEventFormData {\n const {\n control,\n formState: { errors },\n getValues,\n handleSubmit,\n reset,\n setValue,\n watch,\n } = useForm<EventFormData>({\n defaultValues: defaultEventFormValues,\n resolver: yupResolver(eventSchema) as Resolver<EventFormData>,\n });\n\n React.useEffect(() => {\n if (data) {\n reset({\n ...mapBaseResourceTypeToFormData(data),\n dateTime: data.dateTime,\n eventType: data.eventType,\n location: data.location,\n nzbn: data.nzbn,\n provider: data.provider,\n rainOrShine: data.rainOrShine,\n tags: data.tags,\n });\n } else {\n reset(defaultEventFormValues);\n }\n }, [data]);\n\n const {\n _id,\n active,\n associates,\n contactDetails,\n cover,\n coverUpload,\n dateTime,\n description,\n eventType,\n images,\n imagesUpload,\n location,\n logo,\n logoUpload,\n name,\n nzbn,\n owner,\n promoCodes,\n provider,\n rainOrShine,\n region,\n socialMedia,\n tags,\n termsAgreement,\n } = getValues();\n\n return {\n control,\n fields: {\n _id,\n active,\n associates,\n contactDetails,\n cover,\n coverUpload,\n dateTime,\n description,\n eventType,\n images,\n imagesUpload,\n location,\n logo,\n logoUpload,\n name,\n nzbn,\n owner,\n promoCodes,\n provider,\n rainOrShine,\n region,\n socialMedia,\n tags,\n termsAgreement,\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 { CreateEventInfoFormData, EventInfoFormData } from \"../../types/event\";\nimport { eventInfoSchema } from \"../../yupSchema\";\nimport { defaultEventInfoFormValues } from \"../utils\";\n\n/**\n * Custom hook to manage the event form state and validation.\n *\n * @param {EventInfoFormData} data - The initial form data.\n * @returns {CreateEventInfoFormData} - The form methods and state.\n */\nexport function useEventInfoForm(\n data?: EventInfoFormData,\n): CreateEventInfoFormData {\n const {\n control,\n formState: { errors },\n getValues,\n handleSubmit,\n reset,\n setValue,\n watch,\n } = useForm<EventInfoFormData>({\n defaultValues: defaultEventInfoFormValues,\n resolver: yupResolver(eventInfoSchema),\n });\n\n React.useEffect(() => {\n if (data) {\n reset({\n _id: data._id,\n applicationDeadlineHours: data.applicationDeadlineHours,\n dateTime: data.dateTime,\n eventId: data.eventId,\n packInTime: data.packInTime,\n paymentDueHours: data.paymentDueHours,\n paymentInfo: data.paymentInfo,\n requirements: data.requirements,\n });\n } else {\n reset(defaultEventInfoFormValues);\n }\n }, [data]);\n\n const {\n _id,\n applicationDeadlineHours,\n dateTime,\n eventId,\n packInTime,\n paymentDueHours,\n paymentInfo,\n requirements,\n } = getValues();\n\n return {\n control,\n fields: {\n _id,\n applicationDeadlineHours,\n dateTime,\n eventId,\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 { Resolver, 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 isTester: false,\n lastName: \"\",\n password: null,\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) as Resolver<UserFormData>,\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 email: data.email,\n firstName: data.firstName,\n isTester: data.isTester,\n lastName: data.lastName,\n password: data.password,\n preferredRegion: data.preferredRegion,\n role: data.role,\n termsAgreement: data.termsAgreement,\n });\n } else {\n reset(defaultValues);\n }\n }, [data]);\n\n const {\n _id,\n active,\n avatar,\n avatarUpload,\n email,\n firstName,\n isTester,\n lastName,\n password,\n preferredRegion,\n role,\n termsAgreement,\n } = getValues();\n\n return {\n control,\n fields: {\n _id,\n active,\n avatar,\n avatarUpload,\n email,\n firstName,\n isTester,\n lastName,\n password,\n preferredRegion,\n role,\n termsAgreement,\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 { EnumOSPlatform, EnumResourceType } from \"src/enums\";\nimport { CreateTesterFormData, TesterFormData } from \"src/types/tester\";\nimport { testerSchema } from \"src/yupSchema/tester\";\n\nconst defaultValues = {\n businessName: \"\",\n consents: {\n betaTestConsent: false,\n privacyConsent: false,\n },\n email: \"\",\n event: {},\n firstName: \"\",\n lastName: \"\",\n mobilePhone: \"\",\n osType: \"\" as EnumOSPlatform,\n region: \"\",\n resourceType: \"\" as EnumResourceType,\n vendor: {},\n};\n\nexport function useTesterForm(data?: TesterFormData): CreateTesterFormData {\n const {\n control,\n formState: { errors },\n getValues,\n handleSubmit,\n reset,\n setValue,\n watch,\n } = useForm<TesterFormData>({\n defaultValues,\n resolver: yupResolver(testerSchema),\n });\n\n React.useEffect(() => {\n if (data) {\n reset({\n businessName: data.businessName,\n consents: data.consents,\n email: data.email,\n event: data.event,\n firstName: data.firstName,\n lastName: data.lastName,\n mobilePhone: data.mobilePhone,\n osType: data.osType,\n region: data.region,\n resourceType: data.resourceType,\n vendor: data.vendor,\n });\n } else {\n reset(defaultValues);\n }\n }, [data]);\n\n const {\n businessName,\n consents,\n email,\n event,\n firstName,\n lastName,\n mobilePhone,\n osType,\n region,\n resourceType,\n vendor,\n } = getValues();\n\n return {\n control,\n fields: {\n businessName,\n consents,\n email,\n event,\n firstName,\n lastName,\n mobilePhone,\n osType,\n region,\n resourceType,\n vendor,\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 { emailRequiredSchema } from \"./global\";\n\nexport const contactUsSchema = yup.object().shape({\n email: emailRequiredSchema,\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 message: yup.string().label(\"Message\").required(\"Message is required\"),\n});\n","import { yupResolver } from \"@hookform/resolvers/yup\";\nimport React from \"react\";\nimport { Resolver, useForm } from \"react-hook-form\";\n\nimport { EnumResourceType } from \"src/enums\";\nimport {\n AdFormData,\n CreateAdFormData,\n EnumAdShowOn,\n EnumAdStatus,\n EnumAdStyle,\n EnumAdType,\n} from \"src/types/ad\";\nimport { adSchema } from \"src/yupSchema\";\n\nconst defaultValues: AdFormData = {\n active: true,\n adStyle: EnumAdStyle.BLOOM, // default to bloom\n adType: EnumAdType.SPONSORED, // default to sponsored\n clui: null,\n end: new Date(),\n resourceCover: \"\",\n resourceDescription: \"\",\n resourceId: \"\",\n resourceLogo: null,\n resourceName: \"\",\n resourceRegion: \"\",\n resourceType: \"\" as EnumResourceType.EVENT, // default to event\n showOn: EnumAdShowOn.FRONT_PAGE, // default to front page\n socialMedia: [],\n start: new Date(),\n status: EnumAdStatus.PAUSED, // default to paused\n targetRegion: null,\n};\n\nexport function useAdForm(data?: AdFormData): CreateAdFormData {\n const {\n control,\n formState: { errors },\n getValues,\n handleSubmit,\n reset,\n setValue,\n watch,\n } = useForm<AdFormData>({\n defaultValues: defaultValues,\n resolver: yupResolver(adSchema) as Resolver<AdFormData>,\n });\n\n React.useEffect(() => {\n if (data) {\n reset({\n active: data.active,\n adStyle: data.adStyle,\n adType: data.adType,\n clui: data.clui,\n end: data.end,\n resourceCover: data.resourceCover,\n resourceDescription: data.resourceDescription,\n resourceId: data.resourceId,\n resourceLogo: data.resourceLogo,\n resourceName: data.resourceName,\n resourceRegion: data.resourceRegion,\n resourceType: data.resourceType,\n socialMedia: data.socialMedia,\n start: data.start,\n status: data.status,\n targetRegion: data.targetRegion,\n });\n } else {\n reset(defaultValues);\n }\n }, [data]);\n\n const {\n active,\n adStyle,\n adType,\n clui,\n end,\n resourceCover,\n resourceDescription,\n resourceId,\n resourceLogo,\n resourceName,\n resourceRegion,\n resourceType,\n showOn,\n socialMedia,\n start,\n status,\n targetRegion,\n } = getValues();\n\n return {\n control,\n fields: {\n active,\n adStyle,\n adType,\n clui,\n end,\n resourceCover,\n resourceDescription,\n resourceId,\n resourceLogo,\n resourceName,\n resourceRegion,\n resourceType,\n showOn,\n socialMedia,\n start,\n status,\n targetRegion,\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 { Resolver, useForm } from \"react-hook-form\";\n\nimport { CreatePartnerFormData, PartnerFormData } from \"src/types/partner\";\nimport { partnerSchema } from \"src/yupSchema/partner\";\n\nimport {\n defaultPartnerFormValues,\n mapBaseResourceTypeToFormData,\n} from \"../utils\";\n\n/**\n * Custom hook to manage the partner form state and validation.\n *\n * @param {PartnerFormData} data - The initial form data.\n * @returns {CreatePartnerFormData} - The form methods and state.\n */\nexport function usePartnerForm(data?: PartnerFormData): CreatePartnerFormData {\n const {\n control,\n formState: { errors },\n getValues,\n handleSubmit,\n reset,\n setValue,\n watch,\n } = useForm<PartnerFormData>({\n defaultValues: defaultPartnerFormValues,\n resolver: yupResolver(partnerSchema) as Resolver<PartnerFormData>,\n });\n\n React.useEffect(() => {\n if (data) {\n reset({\n ...mapBaseResourceTypeToFormData(data),\n location: data.location,\n nzbn: data.nzbn,\n partnerType: data.partnerType,\n });\n } else {\n reset(defaultPartnerFormValues);\n }\n }, [data]);\n\n const {\n _id,\n active,\n associates,\n contactDetails,\n cover,\n coverUpload,\n description,\n images,\n imagesUpload,\n location,\n logo,\n logoUpload,\n name,\n nzbn,\n owner,\n partnerType,\n promoCodes,\n region,\n socialMedia,\n termsAgreement,\n } = getValues();\n\n return {\n control,\n fields: {\n _id,\n active,\n associates,\n contactDetails,\n cover,\n coverUpload,\n description,\n images,\n imagesUpload,\n location,\n logo,\n logoUpload,\n name,\n nzbn,\n owner,\n partnerType,\n promoCodes,\n region,\n socialMedia,\n termsAgreement,\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 { CreatePostFormData, EnumPostType, PostFormData } from \"src/types/post\";\nimport { postSchema } from \"src/yupSchema/post\";\n\nconst defaultValues: PostFormData = {\n active: true,\n content: [],\n postType: EnumPostType.DAILY_MEETS,\n tags: [],\n title: \"\",\n};\n\nexport function usePostForm(data?: PostFormData): CreatePostFormData {\n const {\n control,\n formState: { errors },\n getValues,\n handleSubmit,\n reset,\n setValue,\n watch,\n } = useForm<PostFormData>({\n defaultValues,\n resolver: yupResolver(postSchema),\n });\n\n React.useEffect(() => {\n if (data) {\n reset({\n active: data.active,\n content: data.content,\n postType: data.postType,\n tags: data.tags,\n title: data.title,\n });\n } else {\n reset(defaultValues);\n }\n }, [data]);\n\n const { active, content, postType, tags, title } = getValues();\n\n return {\n control,\n fields: {\n active,\n content,\n postType,\n tags,\n title,\n },\n formState: { errors },\n handleSubmit,\n reset,\n setValue,\n watch,\n };\n}\n","export const SAVED_PASSWORD_KEY = \"savedPassword\";\nexport const SAVED_EMAIL_KEY = \"savedEmail\";\nexport const SAVED_TOKEN_KEY = \"savedToken\";\nexport const SAVED_REFRESH_TOKEN_KEY = \"savedRefreshToken\";\nexport const USER_STORAGE_KEY = \"authUser\";\n","export const darkColors = {\n background: \"#3D3D3F\",\n card: \"#1c1c1e\",\n primary: \"#ff7a00\",\n quaternary: \"#3b7c67\",\n secondary: \"#371134\",\n tertiary: \"#191a75\",\n textMuted: \"#8e8e93\",\n};\n\nexport const lightColors = {\n background: \"#ffffff\",\n card: \"#f1f2f6\",\n primary: \"#ff7a00\",\n quaternary: \"#3b7c67\",\n secondary: \"#371134\",\n tertiary: \"#191a75\",\n textMuted: \"#6c757d\",\n};\n\nexport const fonts = {\n bold: {\n fontFamily: \"Roboto-Bold\",\n fontWeight: \"700\" as const,\n },\n heavy: {\n fontFamily: \"Roboto-ExtraBold\",\n fontWeight: \"900\" as const,\n },\n medium: {\n fontFamily: \"Roboto-Medium\",\n fontWeight: \"500\" as const,\n },\n regular: {\n fontFamily: \"Roboto-Regular\",\n fontWeight: \"400\" as const,\n },\n};\n","import {\n EnumEventDateStatus,\n EnumOSPlatform,\n EnumResourceType,\n} from \"src/enums\";\n\nexport enum EnumActivity {\n FAVORITE = \"FAVORITE\",\n GOING = \"GOING\",\n INTERESTED = \"INTERESTED\",\n PRESENT = \"PRESENT\",\n VIEW = \"VIEW\",\n}\n\nexport type ResourceActivityEntry = {\n activityType: EnumActivity;\n location: {\n type: \"Point\";\n coordinates: number[]; // [longitude, latitude]\n } | null;\n dateStatus?: EnumEventDateStatus | null;\n startDate?: string | null;\n startTime?: string | null;\n timestamp: Date;\n userAgent: EnumOSPlatform;\n userId?: string | null;\n};\n\nexport type ResourceActivityType = {\n _id: string;\n resourceType: EnumResourceType;\n resourceId: string;\n activity: ResourceActivityEntry[];\n};\n\nexport type ResourceActivityInputType = {\n resourceId: string;\n resourceType: string;\n activity: Omit<ResourceActivityEntry, \"timestamp\">;\n};\n"],"mappings":"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","names":["EnumInviteStatus","EnumChatType","EnumPaymentMethod","EnumFoodFlavor","EnumFoodType","EnumResourceType","EnumEventType","EnumVendorType","EnumPartnerType","EnumOSPlatform","EnumRelationResource","EnumNotificationResourceType","EnumNotificationType","EnumRegions","ImageTypeEnum","EnumUserLicence","EnumUserRole","EnumSocialMedia","EnumEventDateStatus","EnumSubscriptionStatus","date","gql","gql","gql","gql","gql","gql","gql","adminUpdateResourceType","adminUpdateTester","useMutation","gql","gql","useMutation","useMutation","gql","gql","gql","useMutation","gql","gql","useMutation","gql","useMutation","useMutation","gql","gql","gql","gql","gql","gql","useMutation","useQuery","useQuery","eventInfo","useMutation","gql","gql","gql","useMutation","useQuery","useQuery","useSubscription","gql","gql","useSubscription","useMutation","gql","gql","useMutation","useMutation","gql","useMutation","useMutation","gql","gql","gql","gql","useMutation","createRelation","updateRelation","deleteRelation","useQuery","useQuery","useMutation","gql","gql","useMutation","useQuery","useQuery","useMutation","gql","gql","useMutation","useQuery","useQuery","useMutation","gql","gql","useMutation","useQuery","useQuery","useMutation","gql","gql","gql","gql","useMutation","useQuery","useQuery","useMutation","gql","useMutation","useQuery","gql","useQuery","useMutation","gql","useMutation","useQuery","gql","useQuery","useMutation","gql","gql","useMutation","useQuery","useQuery","useMutation","gql","gql","gql","gql","useMutation","useQuery","useQuery","dayjs","customParseFormat","isSameOrAfter","dayjs","isSameOrAfter","customParseFormat","yup","yup","yup","yup","yup","OrganizedMarketCount","VendorSellingFrequency","OrganizerMarketFrequency","yup","EnumAdShowOn","EnumAdStatus","EnumAdType","EnumAdStyle","yup","yup","EnumPostType","EnumPostContentType","socialMedia","yupResolver","React","useForm","useForm","yupResolver","yupResolver","React","useForm","useForm","yupResolver","socialMedia","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","yupResolver","React","useForm","defaultValues","useForm","yupResolver","React","socialMedia","yupResolver","React","useForm","useForm","yupResolver","socialMedia","yupResolver","React","useForm","defaultValues","useForm","yupResolver","React","EnumActivity"]}