@axcode/axcloud-sdk 0.2.0-dev.1e6c3d5 → 0.2.0-dev.85285e0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,278 @@
1
+ 'use strict';
2
+
3
+ var chunkDSWRJZWR_js = require('./chunk-DSWRJZWR.js');
4
+ var reactQuery = require('@tanstack/react-query');
5
+
6
+ // src/core/barnsportClient.ts
7
+ var BarnsportClient = class {
8
+ constructor(client, orgId) {
9
+ this.client = client;
10
+ this.orgId = orgId;
11
+ }
12
+ path(path) {
13
+ return `/barnsport/public/${encodeURIComponent(this.orgId)}${path}`;
14
+ }
15
+ listMunicipalities() {
16
+ return this.client.get(this.path("/municipalities"));
17
+ }
18
+ listSports() {
19
+ return this.client.get(this.path("/sports"));
20
+ }
21
+ getSport(slug) {
22
+ return this.client.get(this.path(`/sports/${encodeURIComponent(slug)}`));
23
+ }
24
+ listActivities(filters = {}) {
25
+ return this.client.get(this.path("/activities"), { ...filters });
26
+ }
27
+ getActivity(slug) {
28
+ return this.client.get(this.path(`/activities/${encodeURIComponent(slug)}`));
29
+ }
30
+ getSitemap(baseUrl) {
31
+ return this.client.get(this.path("/sitemap"), { baseUrl });
32
+ }
33
+ listProviders(filters = {}) {
34
+ return this.client.get(this.path("/providers"), { ...filters });
35
+ }
36
+ getProvider(slug) {
37
+ return this.client.get(this.path(`/providers/${encodeURIComponent(slug)}`));
38
+ }
39
+ listActivityOffers(filters = {}) {
40
+ return this.client.get(this.path("/activity-offers"), { ...filters });
41
+ }
42
+ submitInterest(request) {
43
+ return this.client.post(this.path("/interest"), request);
44
+ }
45
+ submitFeedback(request) {
46
+ return this.client.post(this.path("/feedback"), request);
47
+ }
48
+ submitReview(request) {
49
+ return this.client.post(this.path("/reviews"), request);
50
+ }
51
+ trackEvent(request) {
52
+ return this.client.post(this.path("/events"), request);
53
+ }
54
+ submitClubRemovalRequest(clubSlug, request) {
55
+ return this.client.post(
56
+ this.path(`/clubs/${encodeURIComponent(clubSlug)}/removal-request`),
57
+ request
58
+ );
59
+ }
60
+ };
61
+ function createBarnsportClient(client, orgId) {
62
+ return new BarnsportClient(client, orgId);
63
+ }
64
+ function barnsportQueryRoot(context) {
65
+ return ["axcloud", "barnsport", context.stage, context.config.apiUrl, context.orgId];
66
+ }
67
+ function useBarnsportMunicipalities() {
68
+ const { client, orgId } = chunkDSWRJZWR_js.useAxCloudContext();
69
+ const query = reactQuery.useQuery({
70
+ queryKey: ["axcloud", "barnsport", "municipalities", orgId],
71
+ queryFn: () => client.get(
72
+ `/barnsport/public/${orgId}/municipalities`
73
+ ),
74
+ staleTime: 1e3 * 60 * 30
75
+ });
76
+ return {
77
+ municipalities: query.data?.items ?? [],
78
+ count: query.data?.count ?? 0,
79
+ isLoading: query.isLoading,
80
+ isError: query.isError,
81
+ error: query.error,
82
+ refetch: query.refetch
83
+ };
84
+ }
85
+ function useBarnsportSports() {
86
+ const { client, orgId } = chunkDSWRJZWR_js.useAxCloudContext();
87
+ const query = reactQuery.useQuery({
88
+ queryKey: ["axcloud", "barnsport", "sports", orgId],
89
+ queryFn: () => client.get(`/barnsport/public/${orgId}/sports`),
90
+ staleTime: 1e3 * 60 * 30
91
+ });
92
+ return {
93
+ sports: query.data?.items ?? [],
94
+ count: query.data?.count ?? 0,
95
+ isLoading: query.isLoading,
96
+ isError: query.isError,
97
+ error: query.error,
98
+ refetch: query.refetch
99
+ };
100
+ }
101
+ function useBarnsportSport(slug) {
102
+ const { client, orgId } = chunkDSWRJZWR_js.useAxCloudContext();
103
+ const query = reactQuery.useQuery({
104
+ queryKey: ["axcloud", "barnsport", "sport", orgId, slug],
105
+ queryFn: () => client.get(`/barnsport/public/${orgId}/sports/${slug || ""}`),
106
+ enabled: Boolean(slug),
107
+ staleTime: 1e3 * 60 * 15
108
+ });
109
+ return {
110
+ sport: query.data?.sport ?? null,
111
+ isLoading: query.isLoading,
112
+ isError: query.isError,
113
+ error: query.error,
114
+ refetch: query.refetch
115
+ };
116
+ }
117
+ function useBarnsportActivities(filters = {}) {
118
+ const { client, orgId } = chunkDSWRJZWR_js.useAxCloudContext();
119
+ const params = { ...filters };
120
+ const query = reactQuery.useQuery({
121
+ queryKey: ["axcloud", "barnsport", "activities", orgId, filters],
122
+ queryFn: () => client.get(
123
+ `/barnsport/public/${orgId}/activities`,
124
+ params
125
+ ),
126
+ staleTime: 1e3 * 60 * 5
127
+ });
128
+ return {
129
+ activities: query.data?.items ?? [],
130
+ count: query.data?.count ?? 0,
131
+ nextCursor: query.data?.nextCursor ?? null,
132
+ isLoading: query.isLoading,
133
+ isError: query.isError,
134
+ error: query.error,
135
+ refetch: query.refetch
136
+ };
137
+ }
138
+ function useBarnsportActivity(slug) {
139
+ const { client, orgId } = chunkDSWRJZWR_js.useAxCloudContext();
140
+ const query = reactQuery.useQuery({
141
+ queryKey: ["axcloud", "barnsport", "activity", orgId, slug],
142
+ queryFn: () => client.get(`/barnsport/public/${orgId}/activities/${slug || ""}`),
143
+ enabled: Boolean(slug),
144
+ staleTime: 1e3 * 60 * 5
145
+ });
146
+ return {
147
+ activity: query.data?.activity ?? null,
148
+ isLoading: query.isLoading,
149
+ isError: query.isError,
150
+ error: query.error,
151
+ refetch: query.refetch
152
+ };
153
+ }
154
+ function useBarnsportSitemap(baseUrl) {
155
+ const { client, orgId } = chunkDSWRJZWR_js.useAxCloudContext();
156
+ const query = reactQuery.useQuery({
157
+ queryKey: ["axcloud", "barnsport", "sitemap", orgId, baseUrl],
158
+ queryFn: () => client.get(`/barnsport/public/${orgId}/sitemap`, {
159
+ baseUrl
160
+ }),
161
+ staleTime: 1e3 * 60 * 15
162
+ });
163
+ return {
164
+ sitemap: query.data ?? null,
165
+ urls: query.data?.urls ?? [],
166
+ isLoading: query.isLoading,
167
+ isError: query.isError,
168
+ error: query.error,
169
+ refetch: query.refetch
170
+ };
171
+ }
172
+ function useSubmitBarnsportInterest() {
173
+ const { client, orgId } = chunkDSWRJZWR_js.useAxCloudContext();
174
+ return reactQuery.useMutation({
175
+ mutationFn: (submission) => client.post(
176
+ `/barnsport/public/${orgId}/interest`,
177
+ submission
178
+ )
179
+ });
180
+ }
181
+ function useBarnsportProviderSearch(filters) {
182
+ const context = chunkDSWRJZWR_js.useAxCloudContext();
183
+ const api = createBarnsportClient(context.client, context.orgId);
184
+ const normalizedFilters = { ...filters, q: filters.q?.trim() };
185
+ const query = reactQuery.useQuery({
186
+ queryKey: [...barnsportQueryRoot(context), "providers", normalizedFilters],
187
+ queryFn: () => api.listProviders(normalizedFilters),
188
+ enabled: (normalizedFilters.q?.length ?? 0) >= 2,
189
+ staleTime: 1e3 * 60
190
+ });
191
+ return {
192
+ providers: query.data?.items ?? [],
193
+ count: query.data?.count ?? query.data?.items.length ?? 0,
194
+ nextCursor: query.data?.nextCursor ?? null,
195
+ hasMore: query.data?.hasMore ?? false,
196
+ isLoading: query.isLoading,
197
+ isFetching: query.isFetching,
198
+ isError: query.isError,
199
+ error: query.error,
200
+ refetch: query.refetch
201
+ };
202
+ }
203
+ function useBarnsportProvider(slug) {
204
+ const context = chunkDSWRJZWR_js.useAxCloudContext();
205
+ const api = createBarnsportClient(context.client, context.orgId);
206
+ const query = reactQuery.useQuery({
207
+ queryKey: [...barnsportQueryRoot(context), "provider", slug],
208
+ queryFn: () => api.getProvider(slug || ""),
209
+ enabled: Boolean(slug),
210
+ staleTime: 1e3 * 60 * 5
211
+ });
212
+ return {
213
+ provider: query.data?.item ?? null,
214
+ isLoading: query.isLoading,
215
+ isError: query.isError,
216
+ error: query.error,
217
+ refetch: query.refetch
218
+ };
219
+ }
220
+ function useBarnsportActivityOffers(filters = {}) {
221
+ const context = chunkDSWRJZWR_js.useAxCloudContext();
222
+ const api = createBarnsportClient(context.client, context.orgId);
223
+ const query = reactQuery.useQuery({
224
+ queryKey: [...barnsportQueryRoot(context), "activity-offers", filters],
225
+ queryFn: () => api.listActivityOffers(filters),
226
+ staleTime: 1e3 * 60 * 5
227
+ });
228
+ return {
229
+ activityOffers: query.data?.items ?? [],
230
+ count: query.data?.count ?? query.data?.items.length ?? 0,
231
+ nextCursor: query.data?.nextCursor ?? null,
232
+ hasMore: query.data?.hasMore ?? false,
233
+ isLoading: query.isLoading,
234
+ isFetching: query.isFetching,
235
+ isError: query.isError,
236
+ error: query.error,
237
+ refetch: query.refetch
238
+ };
239
+ }
240
+ function useSubmitBarnsportFeedback() {
241
+ const { client, orgId } = chunkDSWRJZWR_js.useAxCloudContext();
242
+ const api = createBarnsportClient(client, orgId);
243
+ return reactQuery.useMutation({
244
+ mutationFn: (request) => api.submitFeedback(request)
245
+ });
246
+ }
247
+ function useSubmitBarnsportReview() {
248
+ const { client, orgId } = chunkDSWRJZWR_js.useAxCloudContext();
249
+ const api = createBarnsportClient(client, orgId);
250
+ return reactQuery.useMutation({
251
+ mutationFn: (request) => api.submitReview(request)
252
+ });
253
+ }
254
+ function useTrackBarnsportEvent() {
255
+ const { client, orgId } = chunkDSWRJZWR_js.useAxCloudContext();
256
+ const api = createBarnsportClient(client, orgId);
257
+ return reactQuery.useMutation({
258
+ mutationFn: (request) => api.trackEvent(request)
259
+ });
260
+ }
261
+
262
+ exports.BarnsportClient = BarnsportClient;
263
+ exports.createBarnsportClient = createBarnsportClient;
264
+ exports.useBarnsportActivities = useBarnsportActivities;
265
+ exports.useBarnsportActivity = useBarnsportActivity;
266
+ exports.useBarnsportActivityOffers = useBarnsportActivityOffers;
267
+ exports.useBarnsportMunicipalities = useBarnsportMunicipalities;
268
+ exports.useBarnsportProvider = useBarnsportProvider;
269
+ exports.useBarnsportProviderSearch = useBarnsportProviderSearch;
270
+ exports.useBarnsportSitemap = useBarnsportSitemap;
271
+ exports.useBarnsportSport = useBarnsportSport;
272
+ exports.useBarnsportSports = useBarnsportSports;
273
+ exports.useSubmitBarnsportFeedback = useSubmitBarnsportFeedback;
274
+ exports.useSubmitBarnsportInterest = useSubmitBarnsportInterest;
275
+ exports.useSubmitBarnsportReview = useSubmitBarnsportReview;
276
+ exports.useTrackBarnsportEvent = useTrackBarnsportEvent;
277
+ //# sourceMappingURL=chunk-EX66R5IA.js.map
278
+ //# sourceMappingURL=chunk-EX66R5IA.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/core/barnsportClient.ts","../src/react/hooks/useBarnsport.ts"],"names":["useAxCloudContext","useQuery","useMutation"],"mappings":";;;;;;AA8BO,IAAM,kBAAN,MAAsB;AAAA,EAC3B,WAAA,CACmB,QACA,KAAA,EACjB;AAFiB,IAAA,IAAA,CAAA,MAAA,GAAA,MAAA;AACA,IAAA,IAAA,CAAA,KAAA,GAAA,KAAA;AAAA,EAChB;AAAA,EAEK,KAAK,IAAA,EAAsB;AACjC,IAAA,OAAO,qBAAqB,kBAAA,CAAmB,IAAA,CAAK,KAAK,CAAC,GAAG,IAAI,CAAA,CAAA;AAAA,EACnE;AAAA,EAEA,kBAAA,GAA4E;AAC1E,IAAA,OAAO,KAAK,MAAA,CAAO,GAAA,CAAI,IAAA,CAAK,IAAA,CAAK,iBAAiB,CAAC,CAAA;AAAA,EACrD;AAAA,EAEA,UAAA,GAA6D;AAC3D,IAAA,OAAO,KAAK,MAAA,CAAO,GAAA,CAAI,IAAA,CAAK,IAAA,CAAK,SAAS,CAAC,CAAA;AAAA,EAC7C;AAAA,EAEA,SAAS,IAAA,EAAkD;AACzD,IAAA,OAAO,IAAA,CAAK,MAAA,CAAO,GAAA,CAAI,IAAA,CAAK,IAAA,CAAK,WAAW,kBAAA,CAAmB,IAAI,CAAC,CAAA,CAAE,CAAC,CAAA;AAAA,EACzE;AAAA,EAEA,cAAA,CACE,OAAA,GAAqC,EAAC,EACqB;AAC3D,IAAA,OAAO,IAAA,CAAK,MAAA,CAAO,GAAA,CAAI,IAAA,CAAK,IAAA,CAAK,aAAa,CAAA,EAAG,EAAE,GAAG,OAAA,EAAwB,CAAA;AAAA,EAChF;AAAA,EAEA,YAAY,IAAA,EAAkD;AAC5D,IAAA,OAAO,IAAA,CAAK,MAAA,CAAO,GAAA,CAAI,IAAA,CAAK,IAAA,CAAK,eAAe,kBAAA,CAAmB,IAAI,CAAC,CAAA,CAAE,CAAC,CAAA;AAAA,EAC7E;AAAA,EAEA,WAAW,OAAA,EAAqD;AAC9D,IAAA,OAAO,IAAA,CAAK,OAAO,GAAA,CAAI,IAAA,CAAK,KAAK,UAAU,CAAA,EAAG,EAAE,OAAA,EAAS,CAAA;AAAA,EAC3D;AAAA,EAEA,aAAA,CACE,OAAA,GAAoC,EAAC,EAC8C;AACnF,IAAA,OAAO,IAAA,CAAK,MAAA,CAAO,GAAA,CAAI,IAAA,CAAK,IAAA,CAAK,YAAY,CAAA,EAAG,EAAE,GAAG,OAAA,EAAwB,CAAA;AAAA,EAC/E;AAAA,EAEA,YAAY,IAAA,EAAwE;AAClF,IAAA,OAAO,IAAA,CAAK,MAAA,CAAO,GAAA,CAAI,IAAA,CAAK,IAAA,CAAK,cAAc,kBAAA,CAAmB,IAAI,CAAC,CAAA,CAAE,CAAC,CAAA;AAAA,EAC5E;AAAA,EAEA,kBAAA,CACE,OAAA,GAAyC,EAAC,EACmD;AAC7F,IAAA,OAAO,IAAA,CAAK,MAAA,CAAO,GAAA,CAAI,IAAA,CAAK,IAAA,CAAK,kBAAkB,CAAA,EAAG,EAAE,GAAG,OAAA,EAAwB,CAAA;AAAA,EACrF;AAAA,EAEA,eACE,OAAA,EAC8C;AAC9C,IAAA,OAAO,KAAK,MAAA,CAAO,IAAA,CAAK,KAAK,IAAA,CAAK,WAAW,GAAG,OAAO,CAAA;AAAA,EACzD;AAAA,EAEA,eAAe,OAAA,EAAuE;AACpF,IAAA,OAAO,KAAK,MAAA,CAAO,IAAA,CAAK,KAAK,IAAA,CAAK,WAAW,GAAG,OAAO,CAAA;AAAA,EACzD;AAAA,EAEA,aACE,OAAA,EAC4C;AAC5C,IAAA,OAAO,KAAK,MAAA,CAAO,IAAA,CAAK,KAAK,IAAA,CAAK,UAAU,GAAG,OAAO,CAAA;AAAA,EACxD;AAAA,EAEA,WAAW,OAAA,EAAiE;AAC1E,IAAA,OAAO,KAAK,MAAA,CAAO,IAAA,CAAK,KAAK,IAAA,CAAK,SAAS,GAAG,OAAO,CAAA;AAAA,EACvD;AAAA,EAEA,wBAAA,CACE,UACA,OAAA,EACuC;AACvC,IAAA,OAAO,KAAK,MAAA,CAAO,IAAA;AAAA,MACjB,KAAK,IAAA,CAAK,CAAA,OAAA,EAAU,kBAAA,CAAmB,QAAQ,CAAC,CAAA,gBAAA,CAAkB,CAAA;AAAA,MAClE;AAAA,KACF;AAAA,EACF;AACF;AAEO,SAAS,qBAAA,CAAsB,QAAuB,KAAA,EAAgC;AAC3F,EAAA,OAAO,IAAI,eAAA,CAAgB,MAAA,EAAQ,KAAK,CAAA;AAC1C;ACtFA,SAAS,mBAAmB,OAAA,EAA+C;AACzE,EAAA,OAAO,CAAC,WAAW,WAAA,EAAa,OAAA,CAAQ,OAAO,OAAA,CAAQ,MAAA,CAAO,MAAA,EAAQ,OAAA,CAAQ,KAAK,CAAA;AACrF;AAEO,SAAS,0BAAA,GAA6B;AAC3C,EAAA,MAAM,EAAE,MAAA,EAAQ,KAAA,EAAM,GAAIA,kCAAA,EAAkB;AAE5C,EAAA,MAAM,QAAQC,mBAAA,CAAuD;AAAA,IACnE,QAAA,EAAU,CAAC,SAAA,EAAW,WAAA,EAAa,kBAAkB,KAAK,CAAA;AAAA,IAC1D,OAAA,EAAS,MACP,MAAA,CAAO,GAAA;AAAA,MACL,qBAAqB,KAAK,CAAA,eAAA;AAAA,KAC5B;AAAA,IACF,SAAA,EAAW,MAAO,EAAA,GAAK;AAAA,GACxB,CAAA;AAED,EAAA,OAAO;AAAA,IACL,cAAA,EAAgB,KAAA,CAAM,IAAA,EAAM,KAAA,IAAS,EAAC;AAAA,IACtC,KAAA,EAAO,KAAA,CAAM,IAAA,EAAM,KAAA,IAAS,CAAA;AAAA,IAC5B,WAAW,KAAA,CAAM,SAAA;AAAA,IACjB,SAAS,KAAA,CAAM,OAAA;AAAA,IACf,OAAO,KAAA,CAAM,KAAA;AAAA,IACb,SAAS,KAAA,CAAM;AAAA,GACjB;AACF;AAEO,SAAS,kBAAA,GAAqB;AACnC,EAAA,MAAM,EAAE,MAAA,EAAQ,KAAA,EAAM,GAAID,kCAAA,EAAkB;AAE5C,EAAA,MAAM,QAAQC,mBAAA,CAAgD;AAAA,IAC5D,QAAA,EAAU,CAAC,SAAA,EAAW,WAAA,EAAa,UAAU,KAAK,CAAA;AAAA,IAClD,SAAS,MACP,MAAA,CAAO,GAAA,CAA2C,CAAA,kBAAA,EAAqB,KAAK,CAAA,OAAA,CAAS,CAAA;AAAA,IACvF,SAAA,EAAW,MAAO,EAAA,GAAK;AAAA,GACxB,CAAA;AAED,EAAA,OAAO;AAAA,IACL,MAAA,EAAQ,KAAA,CAAM,IAAA,EAAM,KAAA,IAAS,EAAC;AAAA,IAC9B,KAAA,EAAO,KAAA,CAAM,IAAA,EAAM,KAAA,IAAS,CAAA;AAAA,IAC5B,WAAW,KAAA,CAAM,SAAA;AAAA,IACjB,SAAS,KAAA,CAAM,OAAA;AAAA,IACf,OAAO,KAAA,CAAM,KAAA;AAAA,IACb,SAAS,KAAA,CAAM;AAAA,GACjB;AACF;AAEO,SAAS,kBAAkB,IAAA,EAA0B;AAC1D,EAAA,MAAM,EAAE,MAAA,EAAQ,KAAA,EAAM,GAAID,kCAAA,EAAkB;AAE5C,EAAA,MAAM,QAAQC,mBAAA,CAAoC;AAAA,IAChD,UAAU,CAAC,SAAA,EAAW,WAAA,EAAa,OAAA,EAAS,OAAO,IAAI,CAAA;AAAA,IACvD,OAAA,EAAS,MACP,MAAA,CAAO,GAAA,CAA+B,qBAAqB,KAAK,CAAA,QAAA,EAAW,IAAA,IAAQ,EAAE,CAAA,CAAE,CAAA;AAAA,IACzF,OAAA,EAAS,QAAQ,IAAI,CAAA;AAAA,IACrB,SAAA,EAAW,MAAO,EAAA,GAAK;AAAA,GACxB,CAAA;AAED,EAAA,OAAO;AAAA,IACL,KAAA,EAAO,KAAA,CAAM,IAAA,EAAM,KAAA,IAAS,IAAA;AAAA,IAC5B,WAAW,KAAA,CAAM,SAAA;AAAA,IACjB,SAAS,KAAA,CAAM,OAAA;AAAA,IACf,OAAO,KAAA,CAAM,KAAA;AAAA,IACb,SAAS,KAAA,CAAM;AAAA,GACjB;AACF;AAEO,SAAS,sBAAA,CAAuB,OAAA,GAAqC,EAAC,EAAG;AAC9E,EAAA,MAAM,EAAE,MAAA,EAAQ,KAAA,EAAM,GAAID,kCAAA,EAAkB;AAC5C,EAAA,MAAM,MAAA,GAAgE,EAAE,GAAG,OAAA,EAAQ;AAEnF,EAAA,MAAM,QAAQC,mBAAA,CAA2D;AAAA,IACvE,UAAU,CAAC,SAAA,EAAW,WAAA,EAAa,YAAA,EAAc,OAAO,OAAO,CAAA;AAAA,IAC/D,OAAA,EAAS,MACP,MAAA,CAAO,GAAA;AAAA,MACL,qBAAqB,KAAK,CAAA,WAAA,CAAA;AAAA,MAC1B;AAAA,KACF;AAAA,IACF,SAAA,EAAW,MAAO,EAAA,GAAK;AAAA,GACxB,CAAA;AAED,EAAA,OAAO;AAAA,IACL,UAAA,EAAY,KAAA,CAAM,IAAA,EAAM,KAAA,IAAS,EAAC;AAAA,IAClC,KAAA,EAAO,KAAA,CAAM,IAAA,EAAM,KAAA,IAAS,CAAA;AAAA,IAC5B,UAAA,EAAY,KAAA,CAAM,IAAA,EAAM,UAAA,IAAc,IAAA;AAAA,IACtC,WAAW,KAAA,CAAM,SAAA;AAAA,IACjB,SAAS,KAAA,CAAM,OAAA;AAAA,IACf,OAAO,KAAA,CAAM,KAAA;AAAA,IACb,SAAS,KAAA,CAAM;AAAA,GACjB;AACF;AAEO,SAAS,qBAAqB,IAAA,EAA0B;AAC7D,EAAA,MAAM,EAAE,MAAA,EAAQ,KAAA,EAAM,GAAID,kCAAA,EAAkB;AAE5C,EAAA,MAAM,QAAQC,mBAAA,CAAoC;AAAA,IAChD,UAAU,CAAC,SAAA,EAAW,WAAA,EAAa,UAAA,EAAY,OAAO,IAAI,CAAA;AAAA,IAC1D,OAAA,EAAS,MACP,MAAA,CAAO,GAAA,CAA+B,qBAAqB,KAAK,CAAA,YAAA,EAAe,IAAA,IAAQ,EAAE,CAAA,CAAE,CAAA;AAAA,IAC7F,OAAA,EAAS,QAAQ,IAAI,CAAA;AAAA,IACrB,SAAA,EAAW,MAAO,EAAA,GAAK;AAAA,GACxB,CAAA;AAED,EAAA,OAAO;AAAA,IACL,QAAA,EAAU,KAAA,CAAM,IAAA,EAAM,QAAA,IAAY,IAAA;AAAA,IAClC,WAAW,KAAA,CAAM,SAAA;AAAA,IACjB,SAAS,KAAA,CAAM,OAAA;AAAA,IACf,OAAO,KAAA,CAAM,KAAA;AAAA,IACb,SAAS,KAAA,CAAM;AAAA,GACjB;AACF;AAEO,SAAS,oBAAoB,OAAA,EAAkB;AACpD,EAAA,MAAM,EAAE,MAAA,EAAQ,KAAA,EAAM,GAAID,kCAAA,EAAkB;AAE5C,EAAA,MAAM,QAAQC,mBAAA,CAAmC;AAAA,IAC/C,UAAU,CAAC,SAAA,EAAW,WAAA,EAAa,SAAA,EAAW,OAAO,OAAO,CAAA;AAAA,IAC5D,SAAS,MACP,MAAA,CAAO,GAAA,CAA8B,CAAA,kBAAA,EAAqB,KAAK,CAAA,QAAA,CAAA,EAAY;AAAA,MACzE;AAAA,KACD,CAAA;AAAA,IACH,SAAA,EAAW,MAAO,EAAA,GAAK;AAAA,GACxB,CAAA;AAED,EAAA,OAAO;AAAA,IACL,OAAA,EAAS,MAAM,IAAA,IAAQ,IAAA;AAAA,IACvB,IAAA,EAAM,KAAA,CAAM,IAAA,EAAM,IAAA,IAAQ,EAAC;AAAA,IAC3B,WAAW,KAAA,CAAM,SAAA;AAAA,IACjB,SAAS,KAAA,CAAM,OAAA;AAAA,IACf,OAAO,KAAA,CAAM,KAAA;AAAA,IACb,SAAS,KAAA,CAAM;AAAA,GACjB;AACF;AAEO,SAAS,0BAAA,GAA6B;AAC3C,EAAA,MAAM,EAAE,MAAA,EAAQ,KAAA,EAAM,GAAID,kCAAA,EAAkB;AAE5C,EAAA,OAAOE,sBAAA,CAIL;AAAA,IACA,UAAA,EAAY,CAAC,UAAA,KACX,MAAA,CAAO,IAAA;AAAA,MACL,qBAAqB,KAAK,CAAA,SAAA,CAAA;AAAA,MAC1B;AAAA;AACF,GACH,CAAA;AACH;AAcO,SAAS,2BAA2B,OAAA,EAAmC;AAC5E,EAAA,MAAM,UAAUF,kCAAA,EAAkB;AAClC,EAAA,MAAM,GAAA,GAAM,qBAAA,CAAsB,OAAA,CAAQ,MAAA,EAAQ,QAAQ,KAAK,CAAA;AAC/D,EAAA,MAAM,iBAAA,GAAoB,EAAE,GAAG,OAAA,EAAS,GAAG,OAAA,CAAQ,CAAA,EAAG,MAAK,EAAE;AAC7D,EAAA,MAAM,QAAQC,mBAAA,CAAmF;AAAA,IAC/F,UAAU,CAAC,GAAG,mBAAmB,OAAO,CAAA,EAAG,aAAa,iBAAiB,CAAA;AAAA,IACzE,OAAA,EAAS,MAAM,GAAA,CAAI,aAAA,CAAc,iBAAiB,CAAA;AAAA,IAClD,OAAA,EAAA,CAAU,iBAAA,CAAkB,CAAA,EAAG,MAAA,IAAU,CAAA,KAAM,CAAA;AAAA,IAC/C,WAAW,GAAA,GAAO;AAAA,GACnB,CAAA;AAED,EAAA,OAAO;AAAA,IACL,SAAA,EAAW,KAAA,CAAM,IAAA,EAAM,KAAA,IAAS,EAAC;AAAA,IACjC,OAAO,KAAA,CAAM,IAAA,EAAM,SAAS,KAAA,CAAM,IAAA,EAAM,MAAM,MAAA,IAAU,CAAA;AAAA,IACxD,UAAA,EAAY,KAAA,CAAM,IAAA,EAAM,UAAA,IAAc,IAAA;AAAA,IACtC,OAAA,EAAS,KAAA,CAAM,IAAA,EAAM,OAAA,IAAW,KAAA;AAAA,IAChC,WAAW,KAAA,CAAM,SAAA;AAAA,IACjB,YAAY,KAAA,CAAM,UAAA;AAAA,IAClB,SAAS,KAAA,CAAM,OAAA;AAAA,IACf,OAAO,KAAA,CAAM,KAAA;AAAA,IACb,SAAS,KAAA,CAAM;AAAA,GACjB;AACF;AAEO,SAAS,qBAAqB,IAAA,EAA0B;AAC7D,EAAA,MAAM,UAAUD,kCAAA,EAAkB;AAClC,EAAA,MAAM,GAAA,GAAM,qBAAA,CAAsB,OAAA,CAAQ,MAAA,EAAQ,QAAQ,KAAK,CAAA;AAC/D,EAAA,MAAM,QAAQC,mBAAA,CAA6C;AAAA,IACzD,UAAU,CAAC,GAAG,mBAAmB,OAAO,CAAA,EAAG,YAAY,IAAI,CAAA;AAAA,IAC3D,OAAA,EAAS,MAAM,GAAA,CAAI,WAAA,CAAY,QAAQ,EAAE,CAAA;AAAA,IACzC,OAAA,EAAS,QAAQ,IAAI,CAAA;AAAA,IACrB,SAAA,EAAW,MAAO,EAAA,GAAK;AAAA,GACxB,CAAA;AAED,EAAA,OAAO;AAAA,IACL,QAAA,EAAU,KAAA,CAAM,IAAA,EAAM,IAAA,IAAQ,IAAA;AAAA,IAC9B,WAAW,KAAA,CAAM,SAAA;AAAA,IACjB,SAAS,KAAA,CAAM,OAAA;AAAA,IACf,OAAO,KAAA,CAAM,KAAA;AAAA,IACb,SAAS,KAAA,CAAM;AAAA,GACjB;AACF;AAEO,SAAS,0BAAA,CAA2B,OAAA,GAAyC,EAAC,EAAG;AACtF,EAAA,MAAM,UAAUD,kCAAA,EAAkB;AAClC,EAAA,MAAM,GAAA,GAAM,qBAAA,CAAsB,OAAA,CAAQ,MAAA,EAAQ,QAAQ,KAAK,CAAA;AAC/D,EAAA,MAAM,QAAQC,mBAAA,CAEZ;AAAA,IACA,UAAU,CAAC,GAAG,mBAAmB,OAAO,CAAA,EAAG,mBAAmB,OAAO,CAAA;AAAA,IACrE,OAAA,EAAS,MAAM,GAAA,CAAI,kBAAA,CAAmB,OAAO,CAAA;AAAA,IAC7C,SAAA,EAAW,MAAO,EAAA,GAAK;AAAA,GACxB,CAAA;AAED,EAAA,OAAO;AAAA,IACL,cAAA,EAAgB,KAAA,CAAM,IAAA,EAAM,KAAA,IAAS,EAAC;AAAA,IACtC,OAAO,KAAA,CAAM,IAAA,EAAM,SAAS,KAAA,CAAM,IAAA,EAAM,MAAM,MAAA,IAAU,CAAA;AAAA,IACxD,UAAA,EAAY,KAAA,CAAM,IAAA,EAAM,UAAA,IAAc,IAAA;AAAA,IACtC,OAAA,EAAS,KAAA,CAAM,IAAA,EAAM,OAAA,IAAW,KAAA;AAAA,IAChC,WAAW,KAAA,CAAM,SAAA;AAAA,IACjB,YAAY,KAAA,CAAM,UAAA;AAAA,IAClB,SAAS,KAAA,CAAM,OAAA;AAAA,IACf,OAAO,KAAA,CAAM,KAAA;AAAA,IACb,SAAS,KAAA,CAAM;AAAA,GACjB;AACF;AAEO,SAAS,0BAAA,GAA6B;AAC3C,EAAA,MAAM,EAAE,MAAA,EAAQ,KAAA,EAAM,GAAID,kCAAA,EAAkB;AAC5C,EAAA,MAAM,GAAA,GAAM,qBAAA,CAAsB,MAAA,EAAQ,KAAK,CAAA;AAC/C,EAAA,OAAOE,sBAAA,CAAwE;AAAA,IAC7E,UAAA,EAAY,CAAC,OAAA,KAAY,GAAA,CAAI,eAAe,OAAO;AAAA,GACpD,CAAA;AACH;AAEO,SAAS,wBAAA,GAA2B;AACzC,EAAA,MAAM,EAAE,MAAA,EAAQ,KAAA,EAAM,GAAIF,kCAAA,EAAkB;AAC5C,EAAA,MAAM,GAAA,GAAM,qBAAA,CAAsB,MAAA,EAAQ,KAAK,CAAA;AAC/C,EAAA,OAAOE,sBAAA,CAAwF;AAAA,IAC7F,UAAA,EAAY,CAAC,OAAA,KAAY,GAAA,CAAI,aAAa,OAAO;AAAA,GAClD,CAAA;AACH;AAEO,SAAS,sBAAA,GAAyB;AACvC,EAAA,MAAM,EAAE,MAAA,EAAQ,KAAA,EAAM,GAAIF,kCAAA,EAAkB;AAC5C,EAAA,MAAM,GAAA,GAAM,qBAAA,CAAsB,MAAA,EAAQ,KAAK,CAAA;AAC/C,EAAA,OAAOE,sBAAA,CAAkE;AAAA,IACvE,UAAA,EAAY,CAAC,OAAA,KAAY,GAAA,CAAI,WAAW,OAAO;AAAA,GAChD,CAAA;AACH","file":"chunk-EX66R5IA.js","sourcesContent":["import type { AxCloudClient } from './client';\nimport type {\n BarnsportActivitiesFilter,\n BarnsportActivityListItem,\n BarnsportActivityOffersFilter,\n BarnsportActivityResponse,\n BarnsportActivityOffer,\n BarnsportClubRemovalRequest,\n BarnsportClubRemovalResponse,\n BarnsportCollectionResponse,\n BarnsportEventRequest,\n BarnsportEventResponse,\n BarnsportFeedbackRequest,\n BarnsportFeedbackResponse,\n BarnsportInterestSubmissionRequest,\n BarnsportInterestSubmissionResponse,\n BarnsportItemResponse,\n BarnsportListResponse,\n BarnsportMunicipality,\n BarnsportProviderProfile,\n BarnsportProvider,\n BarnsportProvidersFilter,\n BarnsportReviewSubmissionRequest,\n BarnsportReviewSubmissionResponse,\n BarnsportSitemapResponse,\n BarnsportSport,\n} from './barnsport';\n\ntype QueryParams = Record<string, string | number | boolean | undefined>;\n\nexport class BarnsportClient {\n constructor(\n private readonly client: AxCloudClient,\n private readonly orgId: string\n ) {}\n\n private path(path: string): string {\n return `/barnsport/public/${encodeURIComponent(this.orgId)}${path}`;\n }\n\n listMunicipalities(): Promise<BarnsportListResponse<BarnsportMunicipality>> {\n return this.client.get(this.path('/municipalities'));\n }\n\n listSports(): Promise<BarnsportListResponse<BarnsportSport>> {\n return this.client.get(this.path('/sports'));\n }\n\n getSport(slug: string): Promise<{ sport: BarnsportSport }> {\n return this.client.get(this.path(`/sports/${encodeURIComponent(slug)}`));\n }\n\n listActivities(\n filters: BarnsportActivitiesFilter = {}\n ): Promise<BarnsportListResponse<BarnsportActivityListItem>> {\n return this.client.get(this.path('/activities'), { ...filters } as QueryParams);\n }\n\n getActivity(slug: string): Promise<BarnsportActivityResponse> {\n return this.client.get(this.path(`/activities/${encodeURIComponent(slug)}`));\n }\n\n getSitemap(baseUrl?: string): Promise<BarnsportSitemapResponse> {\n return this.client.get(this.path('/sitemap'), { baseUrl });\n }\n\n listProviders(\n filters: BarnsportProvidersFilter = {}\n ): Promise<BarnsportCollectionResponse<BarnsportProvider, BarnsportProvidersFilter>> {\n return this.client.get(this.path('/providers'), { ...filters } as QueryParams);\n }\n\n getProvider(slug: string): Promise<BarnsportItemResponse<BarnsportProviderProfile>> {\n return this.client.get(this.path(`/providers/${encodeURIComponent(slug)}`));\n }\n\n listActivityOffers(\n filters: BarnsportActivityOffersFilter = {}\n ): Promise<BarnsportCollectionResponse<BarnsportActivityOffer, BarnsportActivityOffersFilter>> {\n return this.client.get(this.path('/activity-offers'), { ...filters } as QueryParams);\n }\n\n submitInterest(\n request: BarnsportInterestSubmissionRequest\n ): Promise<BarnsportInterestSubmissionResponse> {\n return this.client.post(this.path('/interest'), request);\n }\n\n submitFeedback(request: BarnsportFeedbackRequest): Promise<BarnsportFeedbackResponse> {\n return this.client.post(this.path('/feedback'), request);\n }\n\n submitReview(\n request: BarnsportReviewSubmissionRequest\n ): Promise<BarnsportReviewSubmissionResponse> {\n return this.client.post(this.path('/reviews'), request);\n }\n\n trackEvent(request: BarnsportEventRequest): Promise<BarnsportEventResponse> {\n return this.client.post(this.path('/events'), request);\n }\n\n submitClubRemovalRequest(\n clubSlug: string,\n request: BarnsportClubRemovalRequest\n ): Promise<BarnsportClubRemovalResponse> {\n return this.client.post(\n this.path(`/clubs/${encodeURIComponent(clubSlug)}/removal-request`),\n request\n );\n }\n}\n\nexport function createBarnsportClient(client: AxCloudClient, orgId: string): BarnsportClient {\n return new BarnsportClient(client, orgId);\n}\n","import { useMutation, useQuery } from '@tanstack/react-query';\nimport { useAxCloudContext } from '../context';\nimport type {\n BarnsportActivitiesFilter,\n BarnsportActivityListItem,\n BarnsportActivityResponse,\n BarnsportClubRemovalRequest,\n BarnsportClubRemovalResponse,\n BarnsportInterestSubmissionRequest,\n BarnsportInterestSubmissionResponse,\n BarnsportListResponse,\n BarnsportMunicipality,\n BarnsportSitemapResponse,\n BarnsportSport,\n BarnsportActivityOffersFilter,\n BarnsportActivityOffer,\n BarnsportCollectionResponse,\n BarnsportEventRequest,\n BarnsportEventResponse,\n BarnsportFeedbackRequest,\n BarnsportFeedbackResponse,\n BarnsportProvider,\n BarnsportProviderProfile,\n BarnsportProvidersFilter,\n BarnsportReviewSubmissionRequest,\n BarnsportReviewSubmissionResponse,\n} from '../../core/barnsport';\nimport { createBarnsportClient } from '../../core/barnsportClient';\n\nfunction barnsportQueryRoot(context: ReturnType<typeof useAxCloudContext>) {\n return ['axcloud', 'barnsport', context.stage, context.config.apiUrl, context.orgId] as const;\n}\n\nexport function useBarnsportMunicipalities() {\n const { client, orgId } = useAxCloudContext();\n\n const query = useQuery<BarnsportListResponse<BarnsportMunicipality>>({\n queryKey: ['axcloud', 'barnsport', 'municipalities', orgId],\n queryFn: () =>\n client.get<BarnsportListResponse<BarnsportMunicipality>>(\n `/barnsport/public/${orgId}/municipalities`\n ),\n staleTime: 1000 * 60 * 30,\n });\n\n return {\n municipalities: query.data?.items ?? [],\n count: query.data?.count ?? 0,\n isLoading: query.isLoading,\n isError: query.isError,\n error: query.error,\n refetch: query.refetch,\n };\n}\n\nexport function useBarnsportSports() {\n const { client, orgId } = useAxCloudContext();\n\n const query = useQuery<BarnsportListResponse<BarnsportSport>>({\n queryKey: ['axcloud', 'barnsport', 'sports', orgId],\n queryFn: () =>\n client.get<BarnsportListResponse<BarnsportSport>>(`/barnsport/public/${orgId}/sports`),\n staleTime: 1000 * 60 * 30,\n });\n\n return {\n sports: query.data?.items ?? [],\n count: query.data?.count ?? 0,\n isLoading: query.isLoading,\n isError: query.isError,\n error: query.error,\n refetch: query.refetch,\n };\n}\n\nexport function useBarnsportSport(slug: string | undefined) {\n const { client, orgId } = useAxCloudContext();\n\n const query = useQuery<{ sport: BarnsportSport }>({\n queryKey: ['axcloud', 'barnsport', 'sport', orgId, slug],\n queryFn: () =>\n client.get<{ sport: BarnsportSport }>(`/barnsport/public/${orgId}/sports/${slug || ''}`),\n enabled: Boolean(slug),\n staleTime: 1000 * 60 * 15,\n });\n\n return {\n sport: query.data?.sport ?? null,\n isLoading: query.isLoading,\n isError: query.isError,\n error: query.error,\n refetch: query.refetch,\n };\n}\n\nexport function useBarnsportActivities(filters: BarnsportActivitiesFilter = {}) {\n const { client, orgId } = useAxCloudContext();\n const params: Record<string, string | number | boolean | undefined> = { ...filters };\n\n const query = useQuery<BarnsportListResponse<BarnsportActivityListItem>>({\n queryKey: ['axcloud', 'barnsport', 'activities', orgId, filters],\n queryFn: () =>\n client.get<BarnsportListResponse<BarnsportActivityListItem>>(\n `/barnsport/public/${orgId}/activities`,\n params\n ),\n staleTime: 1000 * 60 * 5,\n });\n\n return {\n activities: query.data?.items ?? [],\n count: query.data?.count ?? 0,\n nextCursor: query.data?.nextCursor ?? null,\n isLoading: query.isLoading,\n isError: query.isError,\n error: query.error,\n refetch: query.refetch,\n };\n}\n\nexport function useBarnsportActivity(slug: string | undefined) {\n const { client, orgId } = useAxCloudContext();\n\n const query = useQuery<BarnsportActivityResponse>({\n queryKey: ['axcloud', 'barnsport', 'activity', orgId, slug],\n queryFn: () =>\n client.get<BarnsportActivityResponse>(`/barnsport/public/${orgId}/activities/${slug || ''}`),\n enabled: Boolean(slug),\n staleTime: 1000 * 60 * 5,\n });\n\n return {\n activity: query.data?.activity ?? null,\n isLoading: query.isLoading,\n isError: query.isError,\n error: query.error,\n refetch: query.refetch,\n };\n}\n\nexport function useBarnsportSitemap(baseUrl?: string) {\n const { client, orgId } = useAxCloudContext();\n\n const query = useQuery<BarnsportSitemapResponse>({\n queryKey: ['axcloud', 'barnsport', 'sitemap', orgId, baseUrl],\n queryFn: () =>\n client.get<BarnsportSitemapResponse>(`/barnsport/public/${orgId}/sitemap`, {\n baseUrl,\n }),\n staleTime: 1000 * 60 * 15,\n });\n\n return {\n sitemap: query.data ?? null,\n urls: query.data?.urls ?? [],\n isLoading: query.isLoading,\n isError: query.isError,\n error: query.error,\n refetch: query.refetch,\n };\n}\n\nexport function useSubmitBarnsportInterest() {\n const { client, orgId } = useAxCloudContext();\n\n return useMutation<\n BarnsportInterestSubmissionResponse,\n Error,\n BarnsportInterestSubmissionRequest\n >({\n mutationFn: (submission) =>\n client.post<BarnsportInterestSubmissionResponse>(\n `/barnsport/public/${orgId}/interest`,\n submission\n ),\n });\n}\n\nexport function useSubmitBarnsportClubRemovalRequest(clubSlug: string | undefined) {\n const { client, orgId } = useAxCloudContext();\n\n return useMutation<BarnsportClubRemovalResponse, Error, BarnsportClubRemovalRequest>({\n mutationFn: (request) =>\n client.post<BarnsportClubRemovalResponse>(\n `/barnsport/public/${orgId}/clubs/${clubSlug || ''}/removal-request`,\n request\n ),\n });\n}\n\nexport function useBarnsportProviderSearch(filters: BarnsportProvidersFilter) {\n const context = useAxCloudContext();\n const api = createBarnsportClient(context.client, context.orgId);\n const normalizedFilters = { ...filters, q: filters.q?.trim() };\n const query = useQuery<BarnsportCollectionResponse<BarnsportProvider, BarnsportProvidersFilter>>({\n queryKey: [...barnsportQueryRoot(context), 'providers', normalizedFilters],\n queryFn: () => api.listProviders(normalizedFilters),\n enabled: (normalizedFilters.q?.length ?? 0) >= 2,\n staleTime: 1000 * 60,\n });\n\n return {\n providers: query.data?.items ?? [],\n count: query.data?.count ?? query.data?.items.length ?? 0,\n nextCursor: query.data?.nextCursor ?? null,\n hasMore: query.data?.hasMore ?? false,\n isLoading: query.isLoading,\n isFetching: query.isFetching,\n isError: query.isError,\n error: query.error,\n refetch: query.refetch,\n };\n}\n\nexport function useBarnsportProvider(slug: string | undefined) {\n const context = useAxCloudContext();\n const api = createBarnsportClient(context.client, context.orgId);\n const query = useQuery<{ item: BarnsportProviderProfile }>({\n queryKey: [...barnsportQueryRoot(context), 'provider', slug],\n queryFn: () => api.getProvider(slug || ''),\n enabled: Boolean(slug),\n staleTime: 1000 * 60 * 5,\n });\n\n return {\n provider: query.data?.item ?? null,\n isLoading: query.isLoading,\n isError: query.isError,\n error: query.error,\n refetch: query.refetch,\n };\n}\n\nexport function useBarnsportActivityOffers(filters: BarnsportActivityOffersFilter = {}) {\n const context = useAxCloudContext();\n const api = createBarnsportClient(context.client, context.orgId);\n const query = useQuery<\n BarnsportCollectionResponse<BarnsportActivityOffer, BarnsportActivityOffersFilter>\n >({\n queryKey: [...barnsportQueryRoot(context), 'activity-offers', filters],\n queryFn: () => api.listActivityOffers(filters),\n staleTime: 1000 * 60 * 5,\n });\n\n return {\n activityOffers: query.data?.items ?? [],\n count: query.data?.count ?? query.data?.items.length ?? 0,\n nextCursor: query.data?.nextCursor ?? null,\n hasMore: query.data?.hasMore ?? false,\n isLoading: query.isLoading,\n isFetching: query.isFetching,\n isError: query.isError,\n error: query.error,\n refetch: query.refetch,\n };\n}\n\nexport function useSubmitBarnsportFeedback() {\n const { client, orgId } = useAxCloudContext();\n const api = createBarnsportClient(client, orgId);\n return useMutation<BarnsportFeedbackResponse, Error, BarnsportFeedbackRequest>({\n mutationFn: (request) => api.submitFeedback(request),\n });\n}\n\nexport function useSubmitBarnsportReview() {\n const { client, orgId } = useAxCloudContext();\n const api = createBarnsportClient(client, orgId);\n return useMutation<BarnsportReviewSubmissionResponse, Error, BarnsportReviewSubmissionRequest>({\n mutationFn: (request) => api.submitReview(request),\n });\n}\n\nexport function useTrackBarnsportEvent() {\n const { client, orgId } = useAxCloudContext();\n const api = createBarnsportClient(client, orgId);\n return useMutation<BarnsportEventResponse, Error, BarnsportEventRequest>({\n mutationFn: (request) => api.trackEvent(request),\n });\n}\n"]}