@timardex/cluemart-shared 1.5.586 → 1.5.589

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,6 +1,6 @@
1
1
  import {
2
2
  mapArrayToOptions
3
- } from "./chunk-L74HNX7U.mjs";
3
+ } from "./chunk-YV2JDG4R.mjs";
4
4
  import {
5
5
  EnumFoodFlavor
6
6
  } from "./chunk-ZR4TGWTS.mjs";
@@ -1952,4 +1952,4 @@ export {
1952
1952
  contactUsFields,
1953
1953
  partnerBasicInfoFields
1954
1954
  };
1955
- //# sourceMappingURL=chunk-IMTMBZI7.mjs.map
1955
+ //# sourceMappingURL=chunk-2NQUR2AV.mjs.map
@@ -0,0 +1,204 @@
1
+ // src/sharing/formatCategoryLabel.ts
2
+ function formatCategoryLabel(category) {
3
+ const subcategoryNames = category.subcategories.map((subcategory) => subcategory.name).filter(Boolean);
4
+ if (subcategoryNames.length === 0) {
5
+ return category.name;
6
+ }
7
+ return `${category.name} (${subcategoryNames.join(", ")})`;
8
+ }
9
+
10
+ // src/sharing/joinShareDescriptionSections.ts
11
+ var SHARE_DESCRIPTION_SECTION_SEPARATOR = " \xB7 ";
12
+ var SHARE_COMPACT_SECTION_SEPARATOR = SHARE_DESCRIPTION_SECTION_SEPARATOR;
13
+ function joinShareDescriptionSections(sections) {
14
+ return sections.filter((section) => Boolean(section)).join(SHARE_DESCRIPTION_SECTION_SEPARATOR);
15
+ }
16
+
17
+ // src/sharing/buildRelationShareDescription.ts
18
+ function formatShareDate(isoDate) {
19
+ try {
20
+ return new Intl.DateTimeFormat("en-NZ", {
21
+ day: "numeric",
22
+ month: "short",
23
+ year: "numeric"
24
+ }).format(new Date(isoDate));
25
+ } catch {
26
+ return isoDate;
27
+ }
28
+ }
29
+ function buildInvitationShareDescription(event, eventInfo) {
30
+ const stallTypes = eventInfo?.dateTime?.flatMap((date) => date.stallTypes) ?? [];
31
+ if (!eventInfo || stallTypes.length === 0) {
32
+ return event.description?.trim() || "";
33
+ }
34
+ const requirementLabels = (eventInfo.requirements ?? []).filter((item) => item.value).map((item) => item.label);
35
+ const sections = [
36
+ event.location.fullAddress,
37
+ ...event.dateTime.map((date) => {
38
+ const start = formatShareDate(date.startDate);
39
+ const end = date.endDate ? ` \u2013 ${formatShareDate(date.endDate)}` : "";
40
+ return `Market date: ${start}${end}`;
41
+ }),
42
+ `Application deadline: vendors must apply at least ${eventInfo.applicationDeadlineHours} hours before each market date.`,
43
+ ...stallTypes.map(
44
+ (stall) => `Stall: ${stall.label} \u2014 $${stall.price} (${stall.stallCapacity} spaces)`
45
+ ),
46
+ requirementLabels.length > 0 && `Requirements: ${requirementLabels.join(", ")}`
47
+ ];
48
+ return joinShareDescriptionSections(sections);
49
+ }
50
+ function buildApplicationShareDescription(vendor, vendorInfo) {
51
+ const categoryLabels = vendor.categories.map(
52
+ (category) => formatCategoryLabel(category)
53
+ );
54
+ if (!vendorInfo) {
55
+ return vendor.description?.trim() || "";
56
+ }
57
+ const compliance = vendorInfo.compliance;
58
+ const complianceLabels = [
59
+ compliance?.liabilityInsurance && "Liability insurance",
60
+ compliance?.foodBeverageLicense && "Food & beverage licence"
61
+ ].filter(Boolean);
62
+ const profileDescription = vendor.description?.trim();
63
+ const sections = [
64
+ categoryLabels.length > 0 && `Categories: ${categoryLabels.join(", ")}`,
65
+ `Stall size: ${vendorInfo.stallInfo.size.width}m \xD7 ${vendorInfo.stallInfo.size.depth}m`,
66
+ `Compliance: ${complianceLabels.length > 0 ? complianceLabels.join(", ") : "Not specified"}`,
67
+ `Price range: $${vendorInfo.product.priceRange.min} \u2013 $${vendorInfo.product.priceRange.max}`,
68
+ profileDescription
69
+ ];
70
+ return joinShareDescriptionSections(sections);
71
+ }
72
+
73
+ // src/sharing/relationShareTypes.ts
74
+ var RELATION_SHARE_INVITATION = "invitation";
75
+ var RELATION_SHARE_APPLICATION = "application";
76
+ var RELATION_SHARE_RESOURCE_TYPES = [
77
+ RELATION_SHARE_INVITATION,
78
+ RELATION_SHARE_APPLICATION
79
+ ];
80
+ function isRelationShareResourceType(resourceType) {
81
+ return RELATION_SHARE_RESOURCE_TYPES.includes(
82
+ resourceType
83
+ );
84
+ }
85
+
86
+ // src/sharing/constants.ts
87
+ var SHARE_SITE_URL = "https://cluemart.co.nz";
88
+ var DEFAULT_SHARE_OG_IMAGE = `${SHARE_SITE_URL}/assets/logo.webp`;
89
+ var RESOURCE_SHARE_TYPES = [
90
+ "market",
91
+ "stallholder",
92
+ "partner"
93
+ ];
94
+ var POST_SHARE_RESOURCE_TYPES = [
95
+ "daily_meets",
96
+ "daily_tips",
97
+ "daily_games"
98
+ ];
99
+ var SHARE_RESOURCE_LABEL = {
100
+ [RELATION_SHARE_APPLICATION]: "Application",
101
+ [RELATION_SHARE_INVITATION]: "Invitation",
102
+ daily_games: "Daily Game",
103
+ daily_meets: "Daily Meet",
104
+ daily_tips: "Daily Tip",
105
+ market: "Market",
106
+ partner: "Partner",
107
+ stallholder: "Stallholder"
108
+ };
109
+ function isPostShareResourceType(resourceType) {
110
+ return POST_SHARE_RESOURCE_TYPES.includes(
111
+ resourceType
112
+ );
113
+ }
114
+
115
+ // src/sharing/buildShareUrl.ts
116
+ var PUBLIC_SHARE_PATH_TYPES = [
117
+ ...RESOURCE_SHARE_TYPES,
118
+ ...POST_SHARE_RESOURCE_TYPES
119
+ ];
120
+ var RESOURCE_SHARE_TYPES_FOR_URL = PUBLIC_SHARE_PATH_TYPES;
121
+ var SHARE_TYPE_PATH_REGEX = [
122
+ ...PUBLIC_SHARE_PATH_TYPES,
123
+ RELATION_SHARE_APPLICATION,
124
+ RELATION_SHARE_INVITATION
125
+ ].join("|");
126
+ function buildShareUrl(type, id) {
127
+ return `${SHARE_SITE_URL}/share/${type}/${encodeURIComponent(id)}`;
128
+ }
129
+
130
+ // src/sharing/normalizeShareDescription.ts
131
+ function normalizeShareSection(value) {
132
+ if (value == null) {
133
+ return "";
134
+ }
135
+ return value.trim().split("\n").map((line) => line.trim().replace(/[ \t]+/g, " ")).join("\n").replace(/\n{3,}/g, "\n\n");
136
+ }
137
+ function normalizeShareOgDescription(value) {
138
+ const trimmed = value.trim();
139
+ if (!trimmed) {
140
+ return "";
141
+ }
142
+ if (/\n\n/.test(trimmed)) {
143
+ return trimmed.split(/\n\n+/).map((section) => section.replace(/\s+/g, " ").trim()).filter(Boolean).join(SHARE_DESCRIPTION_SECTION_SEPARATOR);
144
+ }
145
+ return trimmed.replace(/\s+/g, " ").trim();
146
+ }
147
+ function formatShareSectionsForCompactDisplay(value) {
148
+ const trimmed = value.trim();
149
+ if (!trimmed) {
150
+ return "";
151
+ }
152
+ if (!/\n\n/.test(trimmed)) {
153
+ return normalizeShareSection(trimmed);
154
+ }
155
+ return trimmed.split(/\n\n+/).map((section) => normalizeShareSection(section)).filter((section) => section.length > 0).join(SHARE_DESCRIPTION_SECTION_SEPARATOR);
156
+ }
157
+ function buildFacebookShareQuote(title, description) {
158
+ const titlePart = normalizeShareSection(title);
159
+ const descriptionPart = normalizeShareSection(description);
160
+ const bodyPart = descriptionPart ? formatShareSectionsForCompactDisplay(descriptionPart) : "";
161
+ const parts = [titlePart, bodyPart].filter((part) => part.length > 0);
162
+ return parts.length > 0 ? parts.join(SHARE_DESCRIPTION_SECTION_SEPARATOR) : void 0;
163
+ }
164
+
165
+ // src/sharing/normalizeShareRouteId.ts
166
+ function normalizeShareRouteId(id) {
167
+ try {
168
+ return decodeURIComponent(id);
169
+ } catch {
170
+ return id;
171
+ }
172
+ }
173
+ function buildSharePagePath(resourceType, rawId) {
174
+ return `/share/${resourceType}/${encodeURIComponent(normalizeShareRouteId(rawId))}`;
175
+ }
176
+
177
+ export {
178
+ formatCategoryLabel,
179
+ SHARE_DESCRIPTION_SECTION_SEPARATOR,
180
+ SHARE_COMPACT_SECTION_SEPARATOR,
181
+ joinShareDescriptionSections,
182
+ buildInvitationShareDescription,
183
+ buildApplicationShareDescription,
184
+ RELATION_SHARE_INVITATION,
185
+ RELATION_SHARE_APPLICATION,
186
+ RELATION_SHARE_RESOURCE_TYPES,
187
+ isRelationShareResourceType,
188
+ SHARE_SITE_URL,
189
+ DEFAULT_SHARE_OG_IMAGE,
190
+ RESOURCE_SHARE_TYPES,
191
+ POST_SHARE_RESOURCE_TYPES,
192
+ SHARE_RESOURCE_LABEL,
193
+ isPostShareResourceType,
194
+ PUBLIC_SHARE_PATH_TYPES,
195
+ RESOURCE_SHARE_TYPES_FOR_URL,
196
+ SHARE_TYPE_PATH_REGEX,
197
+ buildShareUrl,
198
+ normalizeShareOgDescription,
199
+ formatShareSectionsForCompactDisplay,
200
+ buildFacebookShareQuote,
201
+ normalizeShareRouteId,
202
+ buildSharePagePath
203
+ };
204
+ //# sourceMappingURL=chunk-36TVNR7V.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/sharing/formatCategoryLabel.ts","../src/sharing/joinShareDescriptionSections.ts","../src/sharing/buildRelationShareDescription.ts","../src/sharing/relationShareTypes.ts","../src/sharing/constants.ts","../src/sharing/buildShareUrl.ts","../src/sharing/normalizeShareDescription.ts","../src/sharing/normalizeShareRouteId.ts"],"sourcesContent":["import type { ShareVendorCategory } from \"./shareRelationTypes\";\n\nexport function formatCategoryLabel(category: ShareVendorCategory): string {\n const subcategoryNames = category.subcategories\n .map((subcategory) => subcategory.name)\n .filter(Boolean);\n\n if (subcategoryNames.length === 0) {\n return category.name;\n }\n\n return `${category.name} (${subcategoryNames.join(\", \")})`;\n}\n","/** Visible separator for multi-block share text (OG, Facebook quote, crawlers collapse newlines). */\nexport const SHARE_DESCRIPTION_SECTION_SEPARATOR = \" · \";\n\n/** @deprecated Use {@link SHARE_DESCRIPTION_SECTION_SEPARATOR}. */\nexport const SHARE_COMPACT_SECTION_SEPARATOR =\n SHARE_DESCRIPTION_SECTION_SEPARATOR;\n\nexport function joinShareDescriptionSections(\n sections: ReadonlyArray<string | false | null | undefined>,\n): string {\n return sections\n .filter((section): section is string => Boolean(section))\n .join(SHARE_DESCRIPTION_SECTION_SEPARATOR);\n}\n","import { formatCategoryLabel } from \"./formatCategoryLabel\";\nimport { joinShareDescriptionSections } from \"./joinShareDescriptionSections\";\nimport type {\n ShareEventForInvitation,\n ShareEventInfoForInvitation,\n ShareVendorForApplication,\n ShareVendorInfoForApplication,\n} from \"./shareRelationTypes\";\n\nexport type {\n ShareEventDateTime,\n ShareEventForInvitation,\n ShareEventInfoForInvitation,\n ShareStallType,\n ShareVendorCategory,\n ShareVendorForApplication,\n ShareVendorInfoForApplication,\n} from \"./shareRelationTypes\";\n\nfunction formatShareDate(isoDate: string): string {\n try {\n return new Intl.DateTimeFormat(\"en-NZ\", {\n day: \"numeric\",\n month: \"short\",\n year: \"numeric\",\n }).format(new Date(isoDate));\n } catch {\n return isoDate;\n }\n}\n\nexport function buildInvitationShareDescription(\n event: ShareEventForInvitation,\n eventInfo: ShareEventInfoForInvitation | null | undefined,\n): string {\n const stallTypes =\n eventInfo?.dateTime?.flatMap((date) => date.stallTypes) ?? [];\n\n if (!eventInfo || stallTypes.length === 0) {\n return event.description?.trim() || \"\";\n }\n\n const requirementLabels = (eventInfo.requirements ?? [])\n .filter((item) => item.value)\n .map((item) => item.label);\n\n const sections = [\n event.location.fullAddress,\n ...event.dateTime.map((date) => {\n const start = formatShareDate(date.startDate);\n const end = date.endDate ? ` – ${formatShareDate(date.endDate)}` : \"\";\n return `Market date: ${start}${end}`;\n }),\n `Application deadline: vendors must apply at least ${eventInfo.applicationDeadlineHours} hours before each market date.`,\n ...stallTypes.map(\n (stall) =>\n `Stall: ${stall.label} — $${stall.price} (${stall.stallCapacity} spaces)`,\n ),\n requirementLabels.length > 0 &&\n `Requirements: ${requirementLabels.join(\", \")}`,\n ];\n\n return joinShareDescriptionSections(sections);\n}\n\nexport function buildApplicationShareDescription(\n vendor: ShareVendorForApplication,\n vendorInfo: ShareVendorInfoForApplication | null | undefined,\n): string {\n const categoryLabels = vendor.categories.map((category) =>\n formatCategoryLabel(category),\n );\n\n if (!vendorInfo) {\n return vendor.description?.trim() || \"\";\n }\n\n const compliance = vendorInfo.compliance;\n const complianceLabels = [\n compliance?.liabilityInsurance && \"Liability insurance\",\n compliance?.foodBeverageLicense && \"Food & beverage licence\",\n ].filter(Boolean);\n\n const profileDescription = vendor.description?.trim();\n\n const sections = [\n categoryLabels.length > 0 && `Categories: ${categoryLabels.join(\", \")}`,\n `Stall size: ${vendorInfo.stallInfo.size.width}m × ${vendorInfo.stallInfo.size.depth}m`,\n `Compliance: ${complianceLabels.length > 0 ? complianceLabels.join(\", \") : \"Not specified\"}`,\n `Price range: $${vendorInfo.product.priceRange.min} – $${vendorInfo.product.priceRange.max}`,\n profileDescription,\n ];\n\n return joinShareDescriptionSections(sections);\n}\n","/** Path segments for relation share URLs — must match mobile `RelationTitle` values. */\nexport const RELATION_SHARE_INVITATION = \"invitation\" as const;\nexport const RELATION_SHARE_APPLICATION = \"application\" as const;\n\nexport const RELATION_SHARE_RESOURCE_TYPES = [\n RELATION_SHARE_INVITATION,\n RELATION_SHARE_APPLICATION,\n] as const;\n\nexport type RelationShareResourceType =\n (typeof RELATION_SHARE_RESOURCE_TYPES)[number];\n\nexport function isRelationShareResourceType(\n resourceType: string,\n): resourceType is RelationShareResourceType {\n return (RELATION_SHARE_RESOURCE_TYPES as readonly string[]).includes(\n resourceType,\n );\n}\n","import {\n RELATION_SHARE_APPLICATION,\n RELATION_SHARE_INVITATION,\n type RelationShareResourceType,\n} from \"./relationShareTypes\";\n\nexport {\n RELATION_SHARE_APPLICATION,\n RELATION_SHARE_INVITATION,\n RELATION_SHARE_RESOURCE_TYPES,\n isRelationShareResourceType,\n type RelationShareResourceType,\n} from \"./relationShareTypes\";\n\nexport const SHARE_SITE_URL = \"https://cluemart.co.nz\";\n\nexport const DEFAULT_SHARE_OG_IMAGE = `${SHARE_SITE_URL}/assets/logo.webp`;\n\nexport const RESOURCE_SHARE_TYPES = [\n \"market\",\n \"stallholder\",\n \"partner\",\n] as const;\n\nexport type ResourceShareType = (typeof RESOURCE_SHARE_TYPES)[number];\n\nexport const POST_SHARE_RESOURCE_TYPES = [\n \"daily_meets\",\n \"daily_tips\",\n \"daily_games\",\n] as const;\n\nexport type PostShareResourceType = (typeof POST_SHARE_RESOURCE_TYPES)[number];\n\nexport type ShareResourceType =\n | ResourceShareType\n | PostShareResourceType\n | RelationShareResourceType;\n\nexport const SHARE_RESOURCE_LABEL: Record<ShareResourceType, string> = {\n [RELATION_SHARE_APPLICATION]: \"Application\",\n [RELATION_SHARE_INVITATION]: \"Invitation\",\n daily_games: \"Daily Game\",\n daily_meets: \"Daily Meet\",\n daily_tips: \"Daily Tip\",\n market: \"Market\",\n partner: \"Partner\",\n stallholder: \"Stallholder\",\n};\n\nexport function isPostShareResourceType(\n resourceType: ShareResourceType,\n): resourceType is PostShareResourceType {\n return (POST_SHARE_RESOURCE_TYPES as readonly string[]).includes(\n resourceType,\n );\n}\n","import {\n POST_SHARE_RESOURCE_TYPES,\n RESOURCE_SHARE_TYPES,\n SHARE_SITE_URL,\n} from \"./constants\";\nimport {\n RELATION_SHARE_APPLICATION,\n RELATION_SHARE_INVITATION,\n} from \"./relationShareTypes\";\n\n/** Path segments for public resource share URLs (markets, posts, etc.). */\nexport const PUBLIC_SHARE_PATH_TYPES = [\n ...RESOURCE_SHARE_TYPES,\n ...POST_SHARE_RESOURCE_TYPES,\n] as const;\n\nexport type PublicSharePathType = (typeof PUBLIC_SHARE_PATH_TYPES)[number];\n\n/** @deprecated Use {@link PUBLIC_SHARE_PATH_TYPES} — kept for mobile deep-link helpers. */\nexport const RESOURCE_SHARE_TYPES_FOR_URL = PUBLIC_SHARE_PATH_TYPES;\n\nexport type RelationSharePathType =\n | typeof RELATION_SHARE_INVITATION\n | typeof RELATION_SHARE_APPLICATION;\n\nexport type ShareType = PublicSharePathType | RelationSharePathType;\n\n/** Alternation for deep-link regexes — keep in sync with {@link ShareType}. */\nexport const SHARE_TYPE_PATH_REGEX = [\n ...PUBLIC_SHARE_PATH_TYPES,\n RELATION_SHARE_APPLICATION,\n RELATION_SHARE_INVITATION,\n].join(\"|\");\n\nexport function buildShareUrl(type: ShareType, id: string): string {\n return `${SHARE_SITE_URL}/share/${type}/${encodeURIComponent(id)}`;\n}\n","import { SHARE_DESCRIPTION_SECTION_SEPARATOR } from \"./joinShareDescriptionSections\";\n\n/** Trims a share section and collapses spaces per line; preserves line breaks. */\nfunction normalizeShareSection(value: string | null | undefined): string {\n if (value == null) {\n return \"\";\n }\n return value\n .trim()\n .split(\"\\n\")\n .map((line) => line.trim().replace(/[ \\t]+/g, \" \"))\n .join(\"\\n\")\n .replace(/\\n{3,}/g, \"\\n\\n\");\n}\n\n/**\n * Formats share descriptions for Open Graph / Twitter meta tags.\n * Legacy `\\n\\n` sections are joined with {@link SHARE_DESCRIPTION_SECTION_SEPARATOR}\n * because Facebook and others collapse line breaks into spaces.\n */\nexport function normalizeShareOgDescription(value: string): string {\n const trimmed = value.trim();\n if (!trimmed) {\n return \"\";\n }\n\n if (/\\n\\n/.test(trimmed)) {\n return trimmed\n .split(/\\n\\n+/)\n .map((section) => section.replace(/\\s+/g, \" \").trim())\n .filter(Boolean)\n .join(SHARE_DESCRIPTION_SECTION_SEPARATOR);\n }\n\n return trimmed.replace(/\\s+/g, \" \").trim();\n}\n\n/**\n * Formats multiline share copy for UIs that strip line breaks (Facebook SDK quote).\n */\nexport function formatShareSectionsForCompactDisplay(value: string): string {\n const trimmed = value.trim();\n if (!trimmed) {\n return \"\";\n }\n\n if (!/\\n\\n/.test(trimmed)) {\n return normalizeShareSection(trimmed);\n }\n\n return trimmed\n .split(/\\n\\n+/)\n .map((section) => normalizeShareSection(section))\n .filter((section) => section.length > 0)\n .join(SHARE_DESCRIPTION_SECTION_SEPARATOR);\n}\n\n/**\n * Quote text for Facebook ShareDialog — avoids `\\n\\n` which Meta renders as a single space.\n */\nexport function buildFacebookShareQuote(\n title: string,\n description: string,\n): string | undefined {\n const titlePart = normalizeShareSection(title);\n const descriptionPart = normalizeShareSection(description);\n const bodyPart = descriptionPart\n ? formatShareSectionsForCompactDisplay(descriptionPart)\n : \"\";\n\n const parts = [titlePart, bodyPart].filter((part) => part.length > 0);\n return parts.length > 0\n ? parts.join(SHARE_DESCRIPTION_SECTION_SEPARATOR)\n : undefined;\n}\n","import type { ShareResourceType } from \"./constants\";\n\nexport function normalizeShareRouteId(id: string): string {\n try {\n return decodeURIComponent(id);\n } catch {\n return id;\n }\n}\n\nexport function buildSharePagePath(\n resourceType: ShareResourceType,\n rawId: string,\n): string {\n return `/share/${resourceType}/${encodeURIComponent(normalizeShareRouteId(rawId))}`;\n}\n"],"mappings":";AAEO,SAAS,oBAAoB,UAAuC;AACzE,QAAM,mBAAmB,SAAS,cAC/B,IAAI,CAAC,gBAAgB,YAAY,IAAI,EACrC,OAAO,OAAO;AAEjB,MAAI,iBAAiB,WAAW,GAAG;AACjC,WAAO,SAAS;AAAA,EAClB;AAEA,SAAO,GAAG,SAAS,IAAI,KAAK,iBAAiB,KAAK,IAAI,CAAC;AACzD;;;ACXO,IAAM,sCAAsC;AAG5C,IAAM,kCACX;AAEK,SAAS,6BACd,UACQ;AACR,SAAO,SACJ,OAAO,CAAC,YAA+B,QAAQ,OAAO,CAAC,EACvD,KAAK,mCAAmC;AAC7C;;;ACMA,SAAS,gBAAgB,SAAyB;AAChD,MAAI;AACF,WAAO,IAAI,KAAK,eAAe,SAAS;AAAA,MACtC,KAAK;AAAA,MACL,OAAO;AAAA,MACP,MAAM;AAAA,IACR,CAAC,EAAE,OAAO,IAAI,KAAK,OAAO,CAAC;AAAA,EAC7B,QAAQ;AACN,WAAO;AAAA,EACT;AACF;AAEO,SAAS,gCACd,OACA,WACQ;AACR,QAAM,aACJ,WAAW,UAAU,QAAQ,CAAC,SAAS,KAAK,UAAU,KAAK,CAAC;AAE9D,MAAI,CAAC,aAAa,WAAW,WAAW,GAAG;AACzC,WAAO,MAAM,aAAa,KAAK,KAAK;AAAA,EACtC;AAEA,QAAM,qBAAqB,UAAU,gBAAgB,CAAC,GACnD,OAAO,CAAC,SAAS,KAAK,KAAK,EAC3B,IAAI,CAAC,SAAS,KAAK,KAAK;AAE3B,QAAM,WAAW;AAAA,IACf,MAAM,SAAS;AAAA,IACf,GAAG,MAAM,SAAS,IAAI,CAAC,SAAS;AAC9B,YAAM,QAAQ,gBAAgB,KAAK,SAAS;AAC5C,YAAM,MAAM,KAAK,UAAU,WAAM,gBAAgB,KAAK,OAAO,CAAC,KAAK;AACnE,aAAO,gBAAgB,KAAK,GAAG,GAAG;AAAA,IACpC,CAAC;AAAA,IACD,qDAAqD,UAAU,wBAAwB;AAAA,IACvF,GAAG,WAAW;AAAA,MACZ,CAAC,UACC,UAAU,MAAM,KAAK,YAAO,MAAM,KAAK,KAAK,MAAM,aAAa;AAAA,IACnE;AAAA,IACA,kBAAkB,SAAS,KACzB,iBAAiB,kBAAkB,KAAK,IAAI,CAAC;AAAA,EACjD;AAEA,SAAO,6BAA6B,QAAQ;AAC9C;AAEO,SAAS,iCACd,QACA,YACQ;AACR,QAAM,iBAAiB,OAAO,WAAW;AAAA,IAAI,CAAC,aAC5C,oBAAoB,QAAQ;AAAA,EAC9B;AAEA,MAAI,CAAC,YAAY;AACf,WAAO,OAAO,aAAa,KAAK,KAAK;AAAA,EACvC;AAEA,QAAM,aAAa,WAAW;AAC9B,QAAM,mBAAmB;AAAA,IACvB,YAAY,sBAAsB;AAAA,IAClC,YAAY,uBAAuB;AAAA,EACrC,EAAE,OAAO,OAAO;AAEhB,QAAM,qBAAqB,OAAO,aAAa,KAAK;AAEpD,QAAM,WAAW;AAAA,IACf,eAAe,SAAS,KAAK,eAAe,eAAe,KAAK,IAAI,CAAC;AAAA,IACrE,eAAe,WAAW,UAAU,KAAK,KAAK,UAAO,WAAW,UAAU,KAAK,KAAK;AAAA,IACpF,eAAe,iBAAiB,SAAS,IAAI,iBAAiB,KAAK,IAAI,IAAI,eAAe;AAAA,IAC1F,iBAAiB,WAAW,QAAQ,WAAW,GAAG,YAAO,WAAW,QAAQ,WAAW,GAAG;AAAA,IAC1F;AAAA,EACF;AAEA,SAAO,6BAA6B,QAAQ;AAC9C;;;AC7FO,IAAM,4BAA4B;AAClC,IAAM,6BAA6B;AAEnC,IAAM,gCAAgC;AAAA,EAC3C;AAAA,EACA;AACF;AAKO,SAAS,4BACd,cAC2C;AAC3C,SAAQ,8BAAoD;AAAA,IAC1D;AAAA,EACF;AACF;;;ACJO,IAAM,iBAAiB;AAEvB,IAAM,yBAAyB,GAAG,cAAc;AAEhD,IAAM,uBAAuB;AAAA,EAClC;AAAA,EACA;AAAA,EACA;AACF;AAIO,IAAM,4BAA4B;AAAA,EACvC;AAAA,EACA;AAAA,EACA;AACF;AASO,IAAM,uBAA0D;AAAA,EACrE,CAAC,0BAA0B,GAAG;AAAA,EAC9B,CAAC,yBAAyB,GAAG;AAAA,EAC7B,aAAa;AAAA,EACb,aAAa;AAAA,EACb,YAAY;AAAA,EACZ,QAAQ;AAAA,EACR,SAAS;AAAA,EACT,aAAa;AACf;AAEO,SAAS,wBACd,cACuC;AACvC,SAAQ,0BAAgD;AAAA,IACtD;AAAA,EACF;AACF;;;AC7CO,IAAM,0BAA0B;AAAA,EACrC,GAAG;AAAA,EACH,GAAG;AACL;AAKO,IAAM,+BAA+B;AASrC,IAAM,wBAAwB;AAAA,EACnC,GAAG;AAAA,EACH;AAAA,EACA;AACF,EAAE,KAAK,GAAG;AAEH,SAAS,cAAc,MAAiB,IAAoB;AACjE,SAAO,GAAG,cAAc,UAAU,IAAI,IAAI,mBAAmB,EAAE,CAAC;AAClE;;;ACjCA,SAAS,sBAAsB,OAA0C;AACvE,MAAI,SAAS,MAAM;AACjB,WAAO;AAAA,EACT;AACA,SAAO,MACJ,KAAK,EACL,MAAM,IAAI,EACV,IAAI,CAAC,SAAS,KAAK,KAAK,EAAE,QAAQ,WAAW,GAAG,CAAC,EACjD,KAAK,IAAI,EACT,QAAQ,WAAW,MAAM;AAC9B;AAOO,SAAS,4BAA4B,OAAuB;AACjE,QAAM,UAAU,MAAM,KAAK;AAC3B,MAAI,CAAC,SAAS;AACZ,WAAO;AAAA,EACT;AAEA,MAAI,OAAO,KAAK,OAAO,GAAG;AACxB,WAAO,QACJ,MAAM,OAAO,EACb,IAAI,CAAC,YAAY,QAAQ,QAAQ,QAAQ,GAAG,EAAE,KAAK,CAAC,EACpD,OAAO,OAAO,EACd,KAAK,mCAAmC;AAAA,EAC7C;AAEA,SAAO,QAAQ,QAAQ,QAAQ,GAAG,EAAE,KAAK;AAC3C;AAKO,SAAS,qCAAqC,OAAuB;AAC1E,QAAM,UAAU,MAAM,KAAK;AAC3B,MAAI,CAAC,SAAS;AACZ,WAAO;AAAA,EACT;AAEA,MAAI,CAAC,OAAO,KAAK,OAAO,GAAG;AACzB,WAAO,sBAAsB,OAAO;AAAA,EACtC;AAEA,SAAO,QACJ,MAAM,OAAO,EACb,IAAI,CAAC,YAAY,sBAAsB,OAAO,CAAC,EAC/C,OAAO,CAAC,YAAY,QAAQ,SAAS,CAAC,EACtC,KAAK,mCAAmC;AAC7C;AAKO,SAAS,wBACd,OACA,aACoB;AACpB,QAAM,YAAY,sBAAsB,KAAK;AAC7C,QAAM,kBAAkB,sBAAsB,WAAW;AACzD,QAAM,WAAW,kBACb,qCAAqC,eAAe,IACpD;AAEJ,QAAM,QAAQ,CAAC,WAAW,QAAQ,EAAE,OAAO,CAAC,SAAS,KAAK,SAAS,CAAC;AACpE,SAAO,MAAM,SAAS,IAClB,MAAM,KAAK,mCAAmC,IAC9C;AACN;;;ACxEO,SAAS,sBAAsB,IAAoB;AACxD,MAAI;AACF,WAAO,mBAAmB,EAAE;AAAA,EAC9B,QAAQ;AACN,WAAO;AAAA,EACT;AACF;AAEO,SAAS,mBACd,cACA,OACQ;AACR,SAAO,UAAU,YAAY,IAAI,mBAAmB,sBAAsB,KAAK,CAAC,CAAC;AACnF;","names":[]}
@@ -1452,7 +1452,20 @@ var useCreateEvent = () => {
1452
1452
  var useUpdateEvent = () => {
1453
1453
  const [updateEvent, { loading, error }] = useMutation5(UPDATE_EVENT_MUTATION, {
1454
1454
  awaitRefetchQueries: true,
1455
- refetchQueries: [{ query: GET_USER_EVENTS }]
1455
+ refetchQueries: (mutationResult) => {
1456
+ const eventId = mutationResult?.data?.updateEvent?._id;
1457
+ if (!eventId) return [];
1458
+ return [
1459
+ {
1460
+ query: GET_USER_EVENTS
1461
+ },
1462
+ {
1463
+ query: GET_EVENT,
1464
+ variables: { _id: eventId }
1465
+ // Pass the eventId for refetching
1466
+ }
1467
+ ];
1468
+ }
1456
1469
  });
1457
1470
  return { error, loading, updateEvent };
1458
1471
  };
@@ -4115,4 +4128,4 @@ export {
4115
4128
  useGetSchools,
4116
4129
  useGetSchool
4117
4130
  };
4118
- //# sourceMappingURL=chunk-YGKLLYKV.mjs.map
4131
+ //# sourceMappingURL=chunk-P52HS2NB.mjs.map