@geowiki/core 0.15.0-dev.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.js ADDED
@@ -0,0 +1,3447 @@
1
+ "use strict";
2
+ var __create = Object.create;
3
+ var __defProp = Object.defineProperty;
4
+ var __defProps = Object.defineProperties;
5
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
6
+ var __getOwnPropDescs = Object.getOwnPropertyDescriptors;
7
+ var __getOwnPropNames = Object.getOwnPropertyNames;
8
+ var __getOwnPropSymbols = Object.getOwnPropertySymbols;
9
+ var __getProtoOf = Object.getPrototypeOf;
10
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
11
+ var __propIsEnum = Object.prototype.propertyIsEnumerable;
12
+ var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
13
+ var __spreadValues = (a, b) => {
14
+ for (var prop in b || (b = {}))
15
+ if (__hasOwnProp.call(b, prop))
16
+ __defNormalProp(a, prop, b[prop]);
17
+ if (__getOwnPropSymbols)
18
+ for (var prop of __getOwnPropSymbols(b)) {
19
+ if (__propIsEnum.call(b, prop))
20
+ __defNormalProp(a, prop, b[prop]);
21
+ }
22
+ return a;
23
+ };
24
+ var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
25
+ var __objRest = (source, exclude) => {
26
+ var target = {};
27
+ for (var prop in source)
28
+ if (__hasOwnProp.call(source, prop) && exclude.indexOf(prop) < 0)
29
+ target[prop] = source[prop];
30
+ if (source != null && __getOwnPropSymbols)
31
+ for (var prop of __getOwnPropSymbols(source)) {
32
+ if (exclude.indexOf(prop) < 0 && __propIsEnum.call(source, prop))
33
+ target[prop] = source[prop];
34
+ }
35
+ return target;
36
+ };
37
+ var __export = (target, all) => {
38
+ for (var name in all)
39
+ __defProp(target, name, { get: all[name], enumerable: true });
40
+ };
41
+ var __copyProps = (to, from, except, desc) => {
42
+ if (from && typeof from === "object" || typeof from === "function") {
43
+ for (let key of __getOwnPropNames(from))
44
+ if (!__hasOwnProp.call(to, key) && key !== except)
45
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
46
+ }
47
+ return to;
48
+ };
49
+ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
50
+ // If the importer is in node compatibility mode or this is not an ESM
51
+ // file that has been converted to a CommonJS file using a Babel-
52
+ // compatible transform (i.e. "__esModule" has not been set), then set
53
+ // "default" to the CommonJS "module.exports" for node compatibility.
54
+ isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
55
+ mod
56
+ ));
57
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
58
+ var __async = (__this, __arguments, generator) => {
59
+ return new Promise((resolve, reject) => {
60
+ var fulfilled = (value) => {
61
+ try {
62
+ step(generator.next(value));
63
+ } catch (e) {
64
+ reject(e);
65
+ }
66
+ };
67
+ var rejected = (value) => {
68
+ try {
69
+ step(generator.throw(value));
70
+ } catch (e) {
71
+ reject(e);
72
+ }
73
+ };
74
+ var step = (x) => x.done ? resolve(x.value) : Promise.resolve(x.value).then(fulfilled, rejected);
75
+ step((generator = generator.apply(__this, __arguments)).next());
76
+ });
77
+ };
78
+
79
+ // src/index.tsx
80
+ var src_exports = {};
81
+ __export(src_exports, {
82
+ ActivityStatus: () => ActivityStatus,
83
+ AdminMenus: () => AdminMenus,
84
+ AnnotationRequired: () => AnnotationRequired,
85
+ CLUSTER_ACTIVITY_STATUS: () => CLUSTER_ACTIVITY_STATUS,
86
+ ClusterFunding: () => ClusterFunding,
87
+ ColorArray: () => ColorArray,
88
+ ColorArrayCSSClass: () => ColorArrayCSSClass,
89
+ Config: () => Config,
90
+ DOTS: () => DOTS,
91
+ FarmingSystem: () => FarmingSystem,
92
+ Features: () => Features,
93
+ HostService: () => HostService,
94
+ HostType: () => HostType,
95
+ HuntingManagement: () => HuntingManagement,
96
+ ImageError: () => ImageError,
97
+ IsTokenExpired: () => IsTokenExpired,
98
+ LiveStock: () => LiveStock,
99
+ LookUps: () => LookUps,
100
+ MainAgriculturalAreas: () => MainAgriculturalAreas,
101
+ MainCrops: () => MainCrops,
102
+ NewsDefaultImage: () => NewsDefaultImage,
103
+ OtherLandscapeElements: () => OtherLandscapeElements,
104
+ Permission: () => Permission,
105
+ PermissionProvider: () => PermissionProvider,
106
+ QueryConstants: () => QueryConstants,
107
+ QueryNames: () => QueryNames,
108
+ QuestionnaireType: () => QuestionnaireType,
109
+ ResourcesMenu: () => ResourcesMenu,
110
+ Responsive: () => Responsive,
111
+ StyleType: () => StyleType,
112
+ TaskEventType: () => TaskEventType,
113
+ TaskState: () => TaskState,
114
+ TaskStatus: () => TaskStatus2,
115
+ TaskStatusColor: () => TaskStatusColor,
116
+ USER_ROLE: () => USER_ROLE,
117
+ ViewStatus: () => ViewStatus,
118
+ classNames: () => classNames,
119
+ configStore: () => configStore,
120
+ delayedSlideInUp: () => delayedSlideInUp,
121
+ downloadData: () => downloadData,
122
+ downloadJSON: () => downloadJSON,
123
+ easing: () => easing,
124
+ findHostInfo: () => findHostInfo,
125
+ formatUnixDate: () => formatUnixDate,
126
+ getButtonAppearance: () => getButtonAppearance,
127
+ getCmsUrlForHost: () => getCmsUrlForHost,
128
+ getContentWithSlug: () => getContentWithSlug,
129
+ getContentWithTypeAndDisplayName: () => getContentWithTypeAndDisplayName,
130
+ getContentsWithType: () => getContentsWithType,
131
+ getDefaultSettings: () => getDefaultSettings,
132
+ getGeoWikiSettings: () => getGeoWikiSettings,
133
+ getHostData: () => getHostData,
134
+ getHostFromRequest: () => getHostFromRequest,
135
+ getHtmlElementFromReactNode: () => getHtmlElementFromReactNode,
136
+ getMediaUrl: () => getMediaUrl,
137
+ getMenus: () => getMenus,
138
+ getPageContent: () => getPageContent,
139
+ getPageProps: () => getPageProps,
140
+ getTenantIdForHost: () => getTenantIdForHost,
141
+ i18n: () => i18n,
142
+ imageMaxDimension: () => imageMaxDimension,
143
+ imageMinDimension: () => imageMinDimension,
144
+ itemVariants: () => itemVariants,
145
+ keyStr: () => keyStr,
146
+ listVariants: () => listVariants,
147
+ rgbDataURL: () => rgbDataURL,
148
+ routes: () => routes,
149
+ scrollToFirstErrorElement: () => scrollToFirstErrorElement,
150
+ settingsStore: () => settingsStore,
151
+ shimmer: () => shimmer,
152
+ showIntroTour: () => showIntroTour,
153
+ slideInLeft: () => slideInLeft,
154
+ slideInRight: () => slideInRight,
155
+ slideInUp: () => slideInUp,
156
+ spring: () => spring,
157
+ toBase64: () => toBase64,
158
+ tokenData: () => tokenData,
159
+ trackAuthEvent: () => trackAuthEvent,
160
+ trackDownloadEvent: () => trackDownloadEvent,
161
+ trackMapEvent: () => trackMapEvent,
162
+ trackUmamiEvent: () => trackUmamiEvent,
163
+ trackUserEvent: () => trackUserEvent,
164
+ triplet: () => triplet,
165
+ useAllNewsFromAllClusters: () => useAllNewsFromAllClusters,
166
+ useApiImage: () => useApiImage,
167
+ useApiUrl: () => useApiUrl,
168
+ useAppConfig: () => useAppConfig,
169
+ useAssignProjectToUser: () => useAssignProjectToUser,
170
+ useAssignableRoles: () => useAssignableRoles,
171
+ useAudience: () => useAudience,
172
+ useBasfStore: () => useBasfStore,
173
+ useBreadCrumbStore: () => useBreadCrumbStore,
174
+ useCluster: () => useCluster,
175
+ useClusterAllNews: () => useClusterAllNews,
176
+ useClusterDescription: () => useClusterDescription,
177
+ useClusterDetails: () => useClusterDetails,
178
+ useClusterFilterSettings: () => useClusterFilterSettings,
179
+ useClusterGetJoinRequests: () => useClusterGetJoinRequests,
180
+ useClusterGetNews: () => useClusterGetNews,
181
+ useClusterGetNewsNextPreviousStatus: () => useClusterGetNewsNextPreviousStatus,
182
+ useClusterImages: () => useClusterImages,
183
+ useClusterImagesAndVideos: () => useClusterImagesAndVideos,
184
+ useClusterLinks: () => useClusterLinks,
185
+ useClusterMapInfo: () => useClusterMapInfo,
186
+ useClusterNews: () => useClusterNews,
187
+ useClusterNewsWithId: () => useClusterNewsWithId,
188
+ useClusterOverview: () => useClusterOverview,
189
+ useClusters: () => useClusters,
190
+ useCmsContentWithType: () => useCmsContentWithType,
191
+ useCmsImage: () => useCmsImage,
192
+ useCmsUrl: () => useCmsUrl,
193
+ useConfigSettings: () => useConfigSettings,
194
+ useContractStatisticsByUser: () => useContractStatisticsByUser,
195
+ useCountries: () => useCountries,
196
+ useCreateHost: () => useCreateHost,
197
+ useCurrentUser: () => useCurrentUser,
198
+ useDefaultSettings: () => useDefaultSettings,
199
+ useDeleteHost: () => useDeleteHost,
200
+ useDimensions: () => useDimensions,
201
+ useEmailing: () => useEmailing,
202
+ useEvolandBands: () => useEvolandBands,
203
+ useEvolandLabels: () => useEvolandLabels,
204
+ useEvolandWmsLayers: () => useEvolandWmsLayers,
205
+ useFeature: () => useFeature,
206
+ useFeatures: () => useFeatures,
207
+ useFileUpload: () => useFileUpload,
208
+ useFileUrl: () => useFileUrl,
209
+ useFilterClusters: () => useFilterClusters,
210
+ useGeoWikiSettings: () => useGeoWikiSettings,
211
+ useGetUserProject: () => useGetUserProject,
212
+ useGrantedPolicies: () => useGrantedPolicies,
213
+ useGroupsInProject: () => useGroupsInProject,
214
+ useHost: () => useHost,
215
+ useHosts: () => useHosts,
216
+ useImageUrl: () => useImageUrl,
217
+ useIntroTourSettings: () => useIntroTourSettings,
218
+ useIsAdmin: () => useIsAdmin,
219
+ useIsAuthenticated: () => useIsAuthenticated,
220
+ useIsInRole: () => useIsInRole,
221
+ useLanguages: () => useLanguages,
222
+ useLatestTaskOnLocation: () => useLatestTaskOnLocation,
223
+ useLayerInfo: () => useLayerInfo,
224
+ useLayerStore: () => useLayerStore,
225
+ useLocation: () => useLocation,
226
+ useLocationBulkUpload: () => useLocationBulkUpload,
227
+ useLocationsForProject: () => useLocationsForProject,
228
+ useLockBodyScroll: () => useLockBodyScroll,
229
+ useLookUp: () => useLookUp,
230
+ useMapMenuItems: () => useMapMenuItems,
231
+ useNews: () => useNews,
232
+ useNewsFromAllClusters: () => useNewsFromAllClusters,
233
+ usePagination: () => usePagination,
234
+ usePanelStore: () => usePanelStore,
235
+ usePermission: () => usePermission,
236
+ usePermissions: () => usePermissions,
237
+ useProfile: () => useProfile,
238
+ useProjectDetails: () => useProjectDetails,
239
+ useProjectResultSet: () => useProjectResultSet,
240
+ useProjectStatisticsByUser: () => useProjectStatisticsByUser,
241
+ useProjectUsers: () => useProjectUsers,
242
+ useProjects: () => useProjects,
243
+ useProjectsPointsDownload: () => useProjectsPointsDownload,
244
+ usePublicationSettings: () => usePublicationSettings,
245
+ useQuestionnaire: () => useQuestionnaire,
246
+ useRandomTasksPerLocation: () => useRandomTasksPerLocation,
247
+ useRenderInfo: () => useRenderInfo,
248
+ useResource: () => useResource,
249
+ useResourceFilter: () => useResourceFilter,
250
+ useResourceType: () => useResourceType,
251
+ useReviewTaskBulkUpload: () => useReviewTaskBulkUpload,
252
+ useRoles: () => useRoles,
253
+ useTaskAnnotation: () => useTaskAnnotation,
254
+ useTaskAnswers: () => useTaskAnswers,
255
+ useTaskBulkUpload: () => useTaskBulkUpload,
256
+ useTaskComments: () => useTaskComments,
257
+ useTaskDelete: () => useTaskDelete,
258
+ useTaskMultipleAnnotations: () => useTaskMultipleAnnotations,
259
+ useTaskSavedAnnotations: () => useTaskSavedAnnotations,
260
+ useTaskStatusList: () => useTaskStatusList,
261
+ useTasksPerLocation: () => useTasksPerLocation,
262
+ useTenants: () => useTenants,
263
+ useTopic: () => useTopic,
264
+ useUpdateActiveGroupInProject: () => useUpdateActiveGroupInProject,
265
+ useUpdateHost: () => useUpdateHost,
266
+ useUpdateUserDetail: () => useUpdateUserDetail,
267
+ useUserProfileGet: () => useUserProfileGet,
268
+ useUserRoles: () => useUserRoles,
269
+ useUsers: () => useUsers
270
+ });
271
+ module.exports = __toCommonJS(src_exports);
272
+
273
+ // src/Animation.ts
274
+ var easing = [0.175, 0.85, 0.42, 0.96];
275
+ var listVariants = {
276
+ initial: { scale: 0.96, y: 30, opacity: 0 },
277
+ enter: {
278
+ scale: 1,
279
+ y: 0,
280
+ opacity: 1,
281
+ transition: {
282
+ duration: 0.5,
283
+ ease: [0.48, 0.15, 0.25, 0.96],
284
+ staggerChildren: 0.1,
285
+ delayChildren: 0.2
286
+ }
287
+ },
288
+ exit: {
289
+ transition: { staggerChildren: 0.1, staggerDirection: -1 }
290
+ }
291
+ };
292
+ var itemVariants = {
293
+ initial: {
294
+ y: 50,
295
+ opacity: 0,
296
+ transition: {
297
+ y: { stiffness: 1e3 }
298
+ }
299
+ },
300
+ enter: {
301
+ y: 0,
302
+ opacity: 1,
303
+ transition: {
304
+ y: { stiffness: 1e3, velocity: -100 }
305
+ }
306
+ },
307
+ exit: {
308
+ y: 50,
309
+ opacity: 0,
310
+ transition: {
311
+ y: { stiffness: 1e3, velocity: -100 }
312
+ }
313
+ }
314
+ };
315
+ var slideInUp = {
316
+ exit: {
317
+ y: 100,
318
+ opacity: 0,
319
+ transition: { duration: 0.2, ease: easing }
320
+ },
321
+ enter: {
322
+ y: 0,
323
+ opacity: 1,
324
+ transition: { delay: 0.1, duration: 0.5, ease: easing }
325
+ }
326
+ };
327
+ var delayedSlideInUp = {
328
+ exit: {
329
+ y: 100,
330
+ opacity: 0,
331
+ transition: { duration: 0.2, ease: easing }
332
+ },
333
+ enter: {
334
+ y: 0,
335
+ opacity: 1,
336
+ transition: {
337
+ delay: 0.2,
338
+ duration: 0.5,
339
+ ease: easing
340
+ }
341
+ }
342
+ };
343
+ var slideInLeft = {
344
+ exit: {
345
+ x: -100,
346
+ opacity: 0,
347
+ transition: { duration: 0.4, ease: easing }
348
+ },
349
+ enter: {
350
+ x: 0,
351
+ opacity: 1,
352
+ transition: { delay: 0.1, duration: 0.5, ease: easing }
353
+ }
354
+ };
355
+ var slideInRight = {
356
+ exit: { x: 150, opacity: 0, transition: { duration: 0.4, ease: easing } },
357
+ enter: {
358
+ x: 0,
359
+ opacity: 1,
360
+ transition: {
361
+ duration: 0.5,
362
+ ease: easing
363
+ }
364
+ }
365
+ };
366
+ var spring = {
367
+ type: "spring",
368
+ stiffness: 500,
369
+ damping: 30
370
+ };
371
+
372
+ // src/hooks/QueryConstants.ts
373
+ var QueryConstants = {
374
+ GetUsers: "GetUsers",
375
+ GetTenants: "GetTenants",
376
+ GetRoles: "GetRoles",
377
+ GetAppConfig: "GetAppConfig",
378
+ GetFeatures: "GetFeatures",
379
+ GetTranslations: "GetTranslations",
380
+ GetPermissions: "GetPermissions",
381
+ GetUserRoles: "GetUserRoles",
382
+ SetUserDetail: "SetUserDetail",
383
+ GetEmailing: "GetEmailing",
384
+ GetAssignableRoles: "GetAssignableRoles",
385
+ GetProfile: "GetProfile",
386
+ GetProjects: "GetProjects",
387
+ GetProjectDetails: "GetProjectDetails",
388
+ GetProjectResultSet: "GetProjectResultSet",
389
+ DownlaodProjectsPoints: "DownlaodProjectsPoints",
390
+ GetProjectStatisticsByUser: "GetProjectStatisticsByUser",
391
+ GetContractStatisticsByUser: "GetContractStatisticsByUser",
392
+ GetGroupsInProject: "GetGroupsInProject",
393
+ UpdateActiveGroupsInProject: "UpdateActiveGroupsInProject",
394
+ GetProjectUsers: "GetProjectUsers",
395
+ GetUserProject: "GetUserProject",
396
+ SetProjectUser: "SetProjectUser",
397
+ GetLocations: "GetLocations",
398
+ UploadLocations: "UploadLocations",
399
+ GetLatestTaskOnLocation: "GetLatestTaskOnLocation",
400
+ GetTasksPerLocation: "GetTasksPerLocation",
401
+ GetTaskComment: "GetTaskComment",
402
+ GetTaskStatusList: "GetTaskStatusList",
403
+ GetTaskAnnotation: "GetTaskAnnotation",
404
+ GetTaskMultipleAnnotations: "GetTaskMultipleAnnotations",
405
+ GetTaskSavedAnnotations: "GetTaskSavedAnnotations",
406
+ DeleteTask: "DeleteTask",
407
+ GetApiImage: "GetApiImage",
408
+ GetCmsImage: "GetCmsImage",
409
+ GetQuestionnaireForProject: "GetQuestionnaireForProject",
410
+ GetTaskAnswers: "GetTaskAnswers",
411
+ UploadTasks: "UploadTasks",
412
+ UploadReviewTasks: "UploadReviewTasks"
413
+ };
414
+
415
+ // src/hooks/useEvolandBands.ts
416
+ var import_react_query = require("@tanstack/react-query");
417
+
418
+ // src/Constants/QueryNames.ts
419
+ var QueryNames = {
420
+ Users: "Users",
421
+ Tenants: "Tenants",
422
+ Roles: "Roles",
423
+ AppConfig: "AppConfig",
424
+ GetMapMenuItems: "GetMapMenuItems",
425
+ GetApps: "GetApps",
426
+ GetCountries: "GetCountries",
427
+ Clusters: "Clusters",
428
+ Cluster: "Cluster",
429
+ ClusterNewsWithId: "ClusterNewsWithId",
430
+ GetClusterOverview: "GetClusterOverview",
431
+ FilterClusters: "FilterClusters",
432
+ ClusterLookUp: "ClusterLookUp",
433
+ JoinRequests: "JoinRequests",
434
+ GetFarmerCluster: "GetFarmerCluster",
435
+ GetFarmerClusterNews: "GetFarmerClusterNews",
436
+ GetFarmerClusterMembers: "GetFarmerClusterMembers",
437
+ Menus: "Menus",
438
+ GetMenu: "GetMenu",
439
+ GetSettings: "GetSettings",
440
+ Layers: "Layers",
441
+ GetLayer: "GetLayer",
442
+ GetClusterForMap: "GetClusterForMap",
443
+ GetAppSettings: "GetAppSettings",
444
+ GetResource: "GetResource",
445
+ FileUpload: "FileUpload",
446
+ // PLOP_QUERY_NAMES
447
+ GetUserProfile: "GetUserProfile",
448
+ GetLookUp: "GetLookUp",
449
+ GetClusterFilterSettings: "GetClusterFilterSettings",
450
+ GetConfig: "GetConfig",
451
+ GetIntroTour: "GetIntroTour",
452
+ GetNews: "GetNews",
453
+ GetPublicationSettings: "GetPublicationSettings",
454
+ GetUseLayerInfo: "GetUseLayerInfo",
455
+ GetMapSettings: "GetMapSettings",
456
+ GetLanguages: "GetLanguages",
457
+ GetResourceFilter: "GetResourceFilter",
458
+ GetAudience: "GetAudience",
459
+ GetTopic: "GetTopic",
460
+ GetResourceType: "GetResourceType",
461
+ GetAvailableWmsLayers: "GetAvailableWmsLayers",
462
+ GetAvailableBands: "GetAvailableBands",
463
+ ClusterAllNews: "ClusterAllNews",
464
+ ClusterNews: "ClusterNews",
465
+ ClusterGetNews: "ClusterGetNews",
466
+ ClusterNewsNextPrevious: "ClusterNewsNextPrevious",
467
+ ClusterImages: "ClusterImages",
468
+ DefaultSettings: "DefaultSettings",
469
+ GetEvolandLabels: "GetEvolandLabels",
470
+ GetEvolandCombinationLabels: "GetEvolandCombinationLabels",
471
+ NewsFromAllClusters: "NewsFromAllClusters",
472
+ MapMenuItems: "MapMenuItems",
473
+ GetSocialLinks: "GetSocialLinks",
474
+ GetCmsContentWithType: "GetCmsContentWithType",
475
+ GetImagesAndVideos: "GetImagesAndVideos",
476
+ GetClusterDescription: "GetClusterDescription",
477
+ GetClusterDetails: "GetClusterDetails",
478
+ GetHost: "GetHost",
479
+ GetHosts: "GetHosts"
480
+ };
481
+
482
+ // src/hooks/useEvolandBands.ts
483
+ var useEvolandBands = () => {
484
+ return (0, import_react_query.useQuery)({
485
+ queryKey: [QueryNames.GetAvailableBands],
486
+ queryFn: () => {
487
+ }
488
+ });
489
+ };
490
+
491
+ // src/hooks/useEvolandWmsLayers.ts
492
+ var import_react_query2 = require("@tanstack/react-query");
493
+ var import_evoland_api_proxy = require("@geowiki/evoland-api-proxy");
494
+ var useEvolandWmsLayers = () => {
495
+ return (0, import_react_query2.useQuery)({
496
+ queryKey: [QueryNames.GetAvailableWmsLayers],
497
+ queryFn: () => __async(void 0, null, function* () {
498
+ const data = yield import_evoland_api_proxy.ProjectService.getAvailableLayersAvailablelayersGet();
499
+ return data;
500
+ })
501
+ });
502
+ };
503
+
504
+ // src/stores/config.ts
505
+ var import_vanilla = require("zustand/vanilla");
506
+ var configStore = (0, import_vanilla.createStore)((set) => ({
507
+ apiUrl: "",
508
+ cmsUrl: "",
509
+ tenantId: "",
510
+ setApiUrl: (url) => set({ apiUrl: url }),
511
+ setCmsUrl: (url) => set({ cmsUrl: url }),
512
+ setTenant: (tenant) => set({ tenantId: tenant })
513
+ }));
514
+ var config_default = configStore;
515
+
516
+ // src/hooks/useApiUrl.ts
517
+ var useApiUrl = () => {
518
+ return config_default.getState().apiUrl;
519
+ };
520
+
521
+ // src/hooks/useAppConfig.ts
522
+ var import_react_query3 = require("@tanstack/react-query");
523
+ var import_api_proxy = require("@geowiki/api-proxy");
524
+ var useAppConfig = () => {
525
+ return (0, import_react_query3.useQuery)({
526
+ queryKey: [QueryConstants.GetAppConfig],
527
+ queryFn: () => __async(void 0, null, function* () {
528
+ const data = yield import_api_proxy.AbpApplicationConfigurationService.abpApplicationConfigurationGet();
529
+ return data;
530
+ }),
531
+ staleTime: 60 * 60 * 1e3
532
+ // 1 hour
533
+ });
534
+ };
535
+
536
+ // src/hooks/useAudience.ts
537
+ var import_api_proxy2 = require("@geowiki/api-proxy");
538
+ var import_react_query4 = require("@tanstack/react-query");
539
+ var useAudience = () => {
540
+ return (0, import_react_query4.useQuery)({
541
+ queryKey: [QueryNames.GetAudience],
542
+ queryFn: () => __async(void 0, null, function* () {
543
+ const data = yield import_api_proxy2.ResourceService.resourceGetAvailableAudience();
544
+ return data;
545
+ }),
546
+ staleTime: 1e3 * 60 * 60 * 24,
547
+ gcTime: 1e3 * 60 * 60 * 24,
548
+ placeholderData: import_react_query4.keepPreviousData
549
+ });
550
+ };
551
+
552
+ // src/hooks/useCluster.ts
553
+ var import_api_proxy3 = require("@geowiki/api-proxy");
554
+ var import_react_query5 = require("@tanstack/react-query");
555
+ var useCluster = (id) => {
556
+ return (0, import_react_query5.useQuery)({
557
+ queryKey: [QueryNames.Cluster, id],
558
+ queryFn: () => __async(void 0, null, function* () {
559
+ const data = yield import_api_proxy3.ClusterService.clusterGet(id);
560
+ return data;
561
+ })
562
+ });
563
+ };
564
+
565
+ // src/hooks/useClusterFilterSettings.ts
566
+ var import_cms_proxy = require("@geowiki/cms-proxy");
567
+ var import_react_query6 = require("@tanstack/react-query");
568
+ var useClusterFilterSettings = () => {
569
+ return (0, import_react_query6.useQuery)({
570
+ queryKey: [QueryNames.GetClusterFilterSettings],
571
+ queryFn: () => __async(void 0, null, function* () {
572
+ var req = yield import_cms_proxy.SettingsService.settingsGetSiteSettings("ClusterFilter");
573
+ return req;
574
+ })
575
+ });
576
+ };
577
+ var useConfigSettings = () => {
578
+ return (0, import_react_query6.useQuery)({
579
+ queryKey: [QueryNames.GetConfig],
580
+ queryFn: () => __async(void 0, null, function* () {
581
+ var req = yield import_cms_proxy.SettingsService.settingsGetSiteSettings("Config");
582
+ return req;
583
+ })
584
+ });
585
+ };
586
+
587
+ // src/hooks/useClusterMapInfo.ts
588
+ var import_api_proxy4 = require("@geowiki/api-proxy");
589
+ var import_react_query7 = require("@tanstack/react-query");
590
+ var useClusterMapInfo = () => {
591
+ return (0, import_react_query7.useQuery)({
592
+ queryKey: [QueryNames.GetClusterForMap],
593
+ queryFn: () => __async(void 0, null, function* () {
594
+ const data = yield import_api_proxy4.ClusterService.clusterGetMapInfo();
595
+ return data;
596
+ })
597
+ });
598
+ };
599
+
600
+ // src/hooks/useClusters.ts
601
+ var import_api_proxy5 = require("@geowiki/api-proxy");
602
+ var import_react_query8 = require("@tanstack/react-query");
603
+ var useClusters = (fetchAll = false, sort = "", skip = 0, take = 100) => {
604
+ return (0, import_react_query8.useQuery)({
605
+ queryKey: [QueryNames.Clusters, skip, take],
606
+ queryFn: () => __async(void 0, null, function* () {
607
+ if (fetchAll) {
608
+ const data = yield import_api_proxy5.ClusterService.clusterGetAllClusters(
609
+ sort,
610
+ skip,
611
+ take
612
+ );
613
+ return data;
614
+ } else {
615
+ const data = yield import_api_proxy5.ClusterService.clusterGetList(sort, skip, take);
616
+ return data;
617
+ }
618
+ }),
619
+ placeholderData: import_react_query8.keepPreviousData
620
+ });
621
+ };
622
+ var useAllNewsFromAllClusters = (sort = "", skip = 0, take = 100) => {
623
+ return (0, import_react_query8.useQuery)({
624
+ queryKey: [QueryNames.GetFarmerClusterNews, sort, skip, take],
625
+ queryFn: () => __async(void 0, null, function* () {
626
+ const data = yield import_api_proxy5.ClusterService.clusterGetAllNewsFromAllClusters(
627
+ sort,
628
+ skip,
629
+ take
630
+ );
631
+ return data;
632
+ })
633
+ });
634
+ };
635
+
636
+ // src/hooks/useHosts.ts
637
+ var import_react_query9 = require("@tanstack/react-query");
638
+ var getHosts = () => __async(void 0, null, function* () {
639
+ const response = yield fetch("/api/hosts");
640
+ if (!response.ok) {
641
+ throw new Error("Failed to fetch hosts");
642
+ }
643
+ return response.json();
644
+ });
645
+ function useHosts() {
646
+ return (0, import_react_query9.useQuery)({
647
+ queryKey: [QueryNames.GetHosts],
648
+ queryFn: getHosts,
649
+ staleTime: 5 * 60 * 1e3,
650
+ // 5 minutes
651
+ // React Query v5 renamed cacheTime to gcTime
652
+ gcTime: 10 * 60 * 1e3
653
+ // 10 minutes
654
+ });
655
+ }
656
+
657
+ // src/hooks/useCmsUrl.ts
658
+ var useCmsUrl = () => {
659
+ const { data: hosts, isLoading } = useHosts();
660
+ var cmsUrl = config_default.getState().cmsUrl;
661
+ if (!cmsUrl && !isLoading && hosts) {
662
+ console.error("CMS URL not found in the store");
663
+ var host = window.location.host;
664
+ var hostInfo = hosts.find((h) => h.host === host);
665
+ if (hostInfo) {
666
+ cmsUrl = hostInfo.cmsUrl;
667
+ }
668
+ }
669
+ return cmsUrl || "https://cms.geo-wiki.org";
670
+ };
671
+
672
+ // src/hooks/useCountries.ts
673
+ var import_react_query10 = require("@tanstack/react-query");
674
+ var import_api_proxy6 = require("@geowiki/api-proxy");
675
+ var useCountries = (fetchAll = false) => {
676
+ return (0, import_react_query10.useQuery)({
677
+ queryKey: [QueryNames.GetCountries, fetchAll],
678
+ queryFn: () => __async(void 0, null, function* () {
679
+ const data = yield import_api_proxy6.ClusterService.clusterGetCountries(fetchAll);
680
+ data.sort((a, b) => {
681
+ if (!a.country || !b.country) {
682
+ return -1;
683
+ }
684
+ if (a.country < b.country) {
685
+ return -1;
686
+ }
687
+ if (a.country > b.country) {
688
+ return 1;
689
+ }
690
+ return 0;
691
+ });
692
+ return data;
693
+ }),
694
+ gcTime: 1e3 * 60 * 60 * 24
695
+ // 24 hours
696
+ });
697
+ };
698
+
699
+ // src/hooks/useDimensions.ts
700
+ var import_react = require("react");
701
+ var useDimensions = (ref) => {
702
+ const dimensions = (0, import_react.useRef)({ width: 0, height: 0 });
703
+ (0, import_react.useEffect)(() => {
704
+ var _a, _b;
705
+ dimensions.current.width = (_a = ref.current) == null ? void 0 : _a.offsetWidth;
706
+ dimensions.current.height = (_b = ref.current) == null ? void 0 : _b.offsetHeight;
707
+ }, []);
708
+ return dimensions.current;
709
+ };
710
+
711
+ // src/hooks/useFeature.ts
712
+ var useFeature = (key) => {
713
+ var _a, _b, _c;
714
+ const { data } = useAppConfig();
715
+ return ((_c = (_b = (_a = data == null ? void 0 : data.features) == null ? void 0 : _a.values) == null ? void 0 : _b[key]) == null ? void 0 : _c.toLowerCase()) === "true";
716
+ };
717
+
718
+ // src/hooks/useFile.ts
719
+ var import_api_proxy7 = require("@geowiki/api-proxy");
720
+ var import_react_query11 = require("@tanstack/react-query");
721
+ var useFileUrl = () => {
722
+ var tenant = config_default.getState().tenantId;
723
+ var url = `${process.env.NEXT_PUBLIC_API_URL}/api/app/file/view?__tenant=${tenant}&id=`;
724
+ return url;
725
+ };
726
+ var useFileUpload = (formData) => {
727
+ return (0, import_react_query11.useQuery)({
728
+ queryKey: [QueryNames.FileUpload, formData],
729
+ queryFn: () => __async(void 0, null, function* () {
730
+ const data = yield import_api_proxy7.FileService.fileUpload(formData);
731
+ return data;
732
+ })
733
+ });
734
+ };
735
+
736
+ // src/hooks/useFilterClusters.ts
737
+ var import_api_proxy8 = require("@geowiki/api-proxy");
738
+ var import_react_query12 = require("@tanstack/react-query");
739
+ var useFilterClusters = (filter) => {
740
+ return (0, import_react_query12.useQuery)({
741
+ queryKey: [
742
+ QueryNames.FilterClusters,
743
+ filter.skip,
744
+ filter.take,
745
+ filter.country,
746
+ filter.activityStatus,
747
+ filter.farmingSystem,
748
+ filter.mainCrop,
749
+ filter.mainAgriculturalAreas,
750
+ filter.sort
751
+ ],
752
+ queryFn: () => __async(void 0, null, function* () {
753
+ const data = yield import_api_proxy8.ClusterService.clusterFilter(filter);
754
+ return data;
755
+ })
756
+ });
757
+ };
758
+
759
+ // src/hooks/useGeoWikiSettings.ts
760
+ var import_cms_proxy2 = require("@geowiki/cms-proxy");
761
+ var import_react_query13 = require("@tanstack/react-query");
762
+ var useGeoWikiSettings = () => {
763
+ return (0, import_react_query13.useQuery)({
764
+ queryKey: [QueryNames.GetAppSettings],
765
+ queryFn: () => __async(void 0, null, function* () {
766
+ var req = yield import_cms_proxy2.SettingsService.settingsGetSiteSettings("GeoWiki");
767
+ return req;
768
+ })
769
+ });
770
+ };
771
+
772
+ // src/hooks/useImageUrl.ts
773
+ var useImageUrl = () => {
774
+ var cmsUrl = useCmsUrl();
775
+ return `${cmsUrl}/media/`;
776
+ };
777
+
778
+ // src/hooks/useIntroTourSettings.ts
779
+ var import_cms_proxy3 = require("@geowiki/cms-proxy");
780
+ var import_react_query14 = require("@tanstack/react-query");
781
+ var useIntroTourSettings = () => {
782
+ return (0, import_react_query14.useQuery)({
783
+ queryKey: [QueryNames.GetIntroTour],
784
+ queryFn: () => __async(void 0, null, function* () {
785
+ var req = yield import_cms_proxy3.SettingsService.settingsGetSiteSettings("IntroTour");
786
+ return req;
787
+ })
788
+ });
789
+ };
790
+
791
+ // src/hooks/useIsAdmin.ts
792
+ var useIsAdmin = () => {
793
+ var _a, _b;
794
+ const { data } = useAppConfig();
795
+ return (_b = (_a = data == null ? void 0 : data.currentUser) == null ? void 0 : _a.roles) == null ? void 0 : _b.includes("admin");
796
+ };
797
+
798
+ // src/hooks/useIsAuthenticated.ts
799
+ var useIsAuthenticated = () => {
800
+ var _a;
801
+ var { data } = useAppConfig();
802
+ return (_a = data == null ? void 0 : data.currentUser) == null ? void 0 : _a.isAuthenticated;
803
+ };
804
+
805
+ // src/hooks/useIsInRole.ts
806
+ var useIsInRole = (role) => {
807
+ var _a, _b;
808
+ const { data, isLoading } = useAppConfig();
809
+ return {
810
+ data: (_b = (_a = data == null ? void 0 : data.currentUser) == null ? void 0 : _a.roles) == null ? void 0 : _b.includes(role),
811
+ isLoading
812
+ };
813
+ };
814
+
815
+ // src/hooks/useLanguages.ts
816
+ var import_api_proxy9 = require("@geowiki/api-proxy");
817
+ var import_react_query15 = require("@tanstack/react-query");
818
+ var useLanguages = () => {
819
+ return (0, import_react_query15.useQuery)({
820
+ queryKey: [QueryNames.GetLanguages],
821
+ queryFn: () => __async(void 0, null, function* () {
822
+ const data = yield import_api_proxy9.ResourceService.resourceGetAvailableLanguages();
823
+ return data;
824
+ }),
825
+ gcTime: 1e3 * 60 * 60 * 24,
826
+ staleTime: 1e3 * 60 * 60 * 24,
827
+ placeholderData: import_react_query15.keepPreviousData
828
+ });
829
+ };
830
+
831
+ // src/hooks/useLayerInfo.ts
832
+ var import_react_query16 = require("@tanstack/react-query");
833
+ var useLayerInfo = (url, layerName) => {
834
+ return (0, import_react_query16.useQuery)({
835
+ queryKey: [QueryNames.GetUseLayerInfo, url, layerName],
836
+ queryFn: () => __async(void 0, null, function* () {
837
+ var legendUrl = url + "?service=WMS&version=1.1.0&request=GetLegendGraphic&layer=" + layerName + "&format=application/json";
838
+ var res = yield fetch(legendUrl);
839
+ var data = yield res.json();
840
+ return data;
841
+ })
842
+ });
843
+ };
844
+
845
+ // src/hooks/useLocation.ts
846
+ var import_react2 = require("react");
847
+ var import_evoland_api_proxy2 = require("@geowiki/evoland-api-proxy");
848
+ var import_react_query17 = require("@tanstack/react-query");
849
+ function useLocation() {
850
+ const [location, setLocation] = (0, import_react2.useState)();
851
+ (0, import_react2.useEffect)(() => {
852
+ navigator.geolocation.getCurrentPosition(function(position) {
853
+ setLocation(position.coords);
854
+ });
855
+ }, []);
856
+ return location;
857
+ }
858
+ var useLocationsForProject = (locationreq) => {
859
+ return (0, import_react_query17.useQuery)({
860
+ queryKey: [QueryConstants.GetLocations, locationreq],
861
+ queryFn: () => __async(void 0, null, function* () {
862
+ return import_evoland_api_proxy2.ProjectService.searchLocationsLocationsPost(locationreq);
863
+ })
864
+ });
865
+ };
866
+ var useLocationBulkUpload = (uploadLocations, file, project_id, group_id) => {
867
+ return (0, import_react_query17.useQuery)({
868
+ queryKey: [QueryConstants.UploadLocations, uploadLocations, file, group_id],
869
+ queryFn: () => __async(void 0, null, function* () {
870
+ try {
871
+ const res = yield import_evoland_api_proxy2.LocationService.bulkUploadLocationsUploadlocationsPost({ file, project_id, group_id });
872
+ return res;
873
+ } catch (error) {
874
+ return { data: error.body, isLoading: false, error: true };
875
+ }
876
+ }),
877
+ enabled: !!uploadLocations && !!file && !!group_id
878
+ });
879
+ };
880
+ var useTaskBulkUpload = (uploadTasks, file, project_id) => {
881
+ return (0, import_react_query17.useQuery)({
882
+ queryKey: [QueryConstants.UploadTasks, uploadTasks, file],
883
+ queryFn: () => __async(void 0, null, function* () {
884
+ try {
885
+ return import_evoland_api_proxy2.LocationService.uploadLocationTaskUploadlocationtaskPost({ file, project_id });
886
+ } catch (error) {
887
+ return { data: error.body, isLoading: false, error: true };
888
+ }
889
+ }),
890
+ enabled: !!uploadTasks && !!file
891
+ });
892
+ };
893
+ var useReviewTaskBulkUpload = (uploadReviewTasks, file, project_id) => {
894
+ return (0, import_react_query17.useQuery)({
895
+ queryKey: [QueryConstants.UploadReviewTasks, uploadReviewTasks, file],
896
+ queryFn: () => __async(void 0, null, function* () {
897
+ try {
898
+ return import_evoland_api_proxy2.LocationService.bulkUploadReviewTasksUploadreviewtasksPost({ file, project_id });
899
+ } catch (error) {
900
+ return { data: error.body, isLoading: false, error: true };
901
+ }
902
+ }),
903
+ enabled: !!uploadReviewTasks && !!file
904
+ });
905
+ };
906
+
907
+ // src/hooks/useLockBodyScroll.ts
908
+ var import_react3 = require("react");
909
+ function useLockBodyScroll() {
910
+ (0, import_react3.useEffect)(() => {
911
+ const originalStyle = window.getComputedStyle(document.body).overflow;
912
+ document.body.style.overflow = "hidden";
913
+ return () => {
914
+ document.body.style.overflow = originalStyle;
915
+ };
916
+ }, []);
917
+ }
918
+
919
+ // src/hooks/useMapSettings.ts
920
+ var import_cms_proxy4 = require("@geowiki/cms-proxy");
921
+ var import_react_query18 = require("@tanstack/react-query");
922
+
923
+ // src/hooks/useNews.ts
924
+ var import_react_query19 = require("@tanstack/react-query");
925
+ var import_api_proxy10 = require("@geowiki/api-proxy");
926
+ var useNews = (lang = "all", skip = 0, take = 100) => {
927
+ return (0, import_react_query19.useQuery)({
928
+ queryKey: [QueryNames.GetNews, lang, skip, take],
929
+ queryFn: () => __async(void 0, null, function* () {
930
+ if (lang == "all") {
931
+ const res2 = yield import_api_proxy10.NewsService.newsGetExternalNews("", skip, take);
932
+ return res2.items;
933
+ }
934
+ const res = yield import_api_proxy10.NewsService.newsGetExternalNewsByLanguage(
935
+ "",
936
+ skip,
937
+ take,
938
+ lang
939
+ );
940
+ return res.items;
941
+ }),
942
+ gcTime: 1e3 * 60 * 60 * 24,
943
+ placeholderData: import_react_query19.keepPreviousData,
944
+ staleTime: 1e3 * 60 * 60 * 24
945
+ });
946
+ };
947
+
948
+ // src/hooks/usePagination.ts
949
+ var import_react4 = require("react");
950
+ var range = (start, end) => {
951
+ let length = end - start + 1;
952
+ return Array.from({ length }, (_, idx) => idx + start);
953
+ };
954
+ var DOTS = "...";
955
+ var usePagination = ({
956
+ totalCount,
957
+ pageSize,
958
+ siblingCount = 1,
959
+ currentPage
960
+ }) => {
961
+ const paginationRange = (0, import_react4.useMemo)(() => {
962
+ const totalPageCount = Math.ceil(totalCount / pageSize);
963
+ const totalPageNumbers = siblingCount + 5;
964
+ if (totalPageNumbers >= totalPageCount) {
965
+ return range(1, totalPageCount);
966
+ }
967
+ const leftSiblingIndex = Math.max(currentPage - siblingCount, 1);
968
+ const rightSiblingIndex = Math.min(
969
+ currentPage + siblingCount,
970
+ totalPageCount
971
+ );
972
+ const shouldShowLeftDots = leftSiblingIndex > 2;
973
+ const shouldShowRightDots = rightSiblingIndex < totalPageCount - 2;
974
+ const firstPageIndex = 1;
975
+ const lastPageIndex = totalPageCount;
976
+ if (!shouldShowLeftDots && shouldShowRightDots) {
977
+ let leftItemCount = 3 + 2 * siblingCount;
978
+ let leftRange = range(1, leftItemCount);
979
+ return [...leftRange, DOTS, totalPageCount];
980
+ }
981
+ if (shouldShowLeftDots && !shouldShowRightDots) {
982
+ let rightItemCount = 3 + 2 * siblingCount;
983
+ let rightRange = range(
984
+ totalPageCount - rightItemCount + 1,
985
+ totalPageCount
986
+ );
987
+ return [firstPageIndex, DOTS, ...rightRange];
988
+ }
989
+ if (shouldShowLeftDots && shouldShowRightDots) {
990
+ let middleRange = range(leftSiblingIndex, rightSiblingIndex);
991
+ return [firstPageIndex, DOTS, ...middleRange, DOTS, lastPageIndex];
992
+ }
993
+ }, [totalCount, pageSize, siblingCount, currentPage]);
994
+ return paginationRange;
995
+ };
996
+
997
+ // src/hooks/usePermission.ts
998
+ var usePermission = (key) => {
999
+ var _a, _b;
1000
+ var { data } = useAppConfig();
1001
+ return ((_b = (_a = data == null ? void 0 : data.auth) == null ? void 0 : _a.grantedPolicies) == null ? void 0 : _b[key]) === true;
1002
+ };
1003
+
1004
+ // src/hooks/usePublicationSettings.ts
1005
+ var import_cms_proxy5 = require("@geowiki/cms-proxy");
1006
+ var import_react_query20 = require("@tanstack/react-query");
1007
+ var usePublicationSettings = () => {
1008
+ return (0, import_react_query20.useQuery)({
1009
+ queryKey: [QueryNames.GetPublicationSettings],
1010
+ queryFn: () => __async(void 0, null, function* () {
1011
+ var req = yield import_cms_proxy5.SettingsService.settingsGetSiteSettings("Publication");
1012
+ return req;
1013
+ })
1014
+ });
1015
+ };
1016
+
1017
+ // src/hooks/useResource.ts
1018
+ var import_api_proxy11 = require("@geowiki/api-proxy");
1019
+ var import_react_query21 = require("@tanstack/react-query");
1020
+ var useResource = (search = "", sort = "", skip = 0, take = 100) => {
1021
+ return (0, import_react_query21.useQuery)({
1022
+ queryKey: [QueryNames.GetResource, search, sort, skip, take],
1023
+ queryFn: () => __async(void 0, null, function* () {
1024
+ if (search !== "") {
1025
+ const data2 = yield import_api_proxy11.ResourceService.resourceSearch(search);
1026
+ return data2;
1027
+ }
1028
+ const data = yield import_api_proxy11.ResourceService.resourceGetAll(sort, skip, take);
1029
+ return data;
1030
+ }),
1031
+ gcTime: 1e3 * 60 * 60 * 24,
1032
+ staleTime: 1e3 * 60 * 60 * 24,
1033
+ placeholderData: import_react_query21.keepPreviousData
1034
+ });
1035
+ };
1036
+
1037
+ // src/hooks/useResourceFilter.ts
1038
+ var import_api_proxy12 = require("@geowiki/api-proxy");
1039
+ var import_react_query22 = require("@tanstack/react-query");
1040
+ var useResourceFilter = (filter) => {
1041
+ return (0, import_react_query22.useQuery)({
1042
+ queryKey: [
1043
+ QueryNames.GetResourceFilter,
1044
+ filter.from,
1045
+ filter.language,
1046
+ filter.topic,
1047
+ filter.resourceType,
1048
+ filter.search,
1049
+ filter.audience,
1050
+ filter.currentPage,
1051
+ filter.pageSize,
1052
+ filter.sorting,
1053
+ filter.isFramework
1054
+ ],
1055
+ queryFn: () => __async(void 0, null, function* () {
1056
+ const data = yield import_api_proxy12.ResourceService.resourceFilter(filter);
1057
+ return data;
1058
+ })
1059
+ });
1060
+ };
1061
+
1062
+ // src/hooks/useResourceType.ts
1063
+ var import_api_proxy13 = require("@geowiki/api-proxy");
1064
+ var import_react_query23 = require("@tanstack/react-query");
1065
+ var useResourceType = () => {
1066
+ return (0, import_react_query23.useQuery)({
1067
+ queryKey: [QueryNames.GetResourceType],
1068
+ queryFn: () => __async(void 0, null, function* () {
1069
+ var data = yield import_api_proxy13.ResourceService.resourceGetAvailableResourceType();
1070
+ return data;
1071
+ })
1072
+ });
1073
+ };
1074
+
1075
+ // src/hooks/useTopic.ts
1076
+ var import_api_proxy14 = require("@geowiki/api-proxy");
1077
+ var import_react_query24 = require("@tanstack/react-query");
1078
+ var useTopic = () => {
1079
+ return (0, import_react_query24.useQuery)({
1080
+ queryKey: [QueryNames.GetTopic],
1081
+ queryFn: () => __async(void 0, null, function* () {
1082
+ var data = yield import_api_proxy14.ResourceService.resourceGetAvailableTopic();
1083
+ return data;
1084
+ }),
1085
+ gcTime: 1e3 * 60 * 60 * 24,
1086
+ staleTime: 1e3 * 60 * 60 * 24,
1087
+ placeholderData: import_react_query24.keepPreviousData
1088
+ });
1089
+ };
1090
+
1091
+ // src/hooks/useUserProfile.ts
1092
+ var import_react_query25 = require("@tanstack/react-query");
1093
+ var import_api_proxy15 = require("@geowiki/api-proxy");
1094
+ var useUserProfileGet = () => {
1095
+ return (0, import_react_query25.useQuery)({
1096
+ queryKey: [QueryNames.GetUserProfile],
1097
+ queryFn: () => __async(void 0, null, function* () {
1098
+ var data = yield import_api_proxy15.ProfileService.profileGet();
1099
+ return data;
1100
+ })
1101
+ });
1102
+ };
1103
+
1104
+ // src/hooks/useUsers.ts
1105
+ var import_react_query26 = require("@tanstack/react-query");
1106
+ var import_api_proxy16 = require("@geowiki/api-proxy");
1107
+ var useUsers = (pageIndex, pageSize, filter, sorting) => {
1108
+ return (0, import_react_query26.useQuery)({
1109
+ queryKey: [QueryConstants.GetUsers, pageIndex, pageSize, filter, sorting],
1110
+ queryFn: () => __async(void 0, null, function* () {
1111
+ let skip = 0;
1112
+ if (pageIndex > 0) {
1113
+ skip = pageIndex * pageSize;
1114
+ }
1115
+ const data = yield import_api_proxy16.UserService.userGetList(
1116
+ filter ? filter : void 0,
1117
+ sorting ? sorting : void 0,
1118
+ skip,
1119
+ pageSize
1120
+ );
1121
+ return data;
1122
+ })
1123
+ });
1124
+ };
1125
+
1126
+ // src/hooks/useRenderInfo.ts
1127
+ var import_react5 = __toESM(require("react"));
1128
+ function useRenderInfo(name = "Unknown") {
1129
+ const count = import_react5.default.useRef(0);
1130
+ const lastRender = import_react5.default.useRef();
1131
+ const now = Date.now();
1132
+ count.current++;
1133
+ import_react5.default.useEffect(() => {
1134
+ lastRender.current = Date.now();
1135
+ });
1136
+ const sinceLastRender = lastRender.current ? now - lastRender.current : 0;
1137
+ if (process.env.NODE_ENV !== "production") {
1138
+ const info = {
1139
+ name,
1140
+ renders: count.current,
1141
+ sinceLastRender,
1142
+ timestamp: now
1143
+ };
1144
+ return info;
1145
+ }
1146
+ }
1147
+
1148
+ // src/hooks/useDefaultSettings.ts
1149
+ var import_cms_proxy6 = require("@geowiki/cms-proxy");
1150
+ var import_react_query27 = require("@tanstack/react-query");
1151
+ var useDefaultSettings = () => {
1152
+ return (0, import_react_query27.useQuery)({
1153
+ queryKey: [QueryNames.DefaultSettings],
1154
+ queryFn: () => __async(void 0, null, function* () {
1155
+ const req = yield import_cms_proxy6.SettingsService.settingsGetDefaultSiteSettings();
1156
+ return req;
1157
+ })
1158
+ });
1159
+ };
1160
+
1161
+ // src/hooks/useCurrentUser.ts
1162
+ var useCurrentUser = () => {
1163
+ const { data } = useAppConfig();
1164
+ return data == null ? void 0 : data.currentUser;
1165
+ };
1166
+
1167
+ // src/hooks/useEmailing.ts
1168
+ var import_api_proxy17 = require("@geowiki/api-proxy");
1169
+ var import_react_query28 = require("@tanstack/react-query");
1170
+ var useEmailing = () => {
1171
+ return (0, import_react_query28.useQuery)({
1172
+ queryKey: [QueryConstants.GetEmailing],
1173
+ queryFn: () => __async(void 0, null, function* () {
1174
+ const data = yield import_api_proxy17.EmailSettingsService.emailSettingsGet();
1175
+ return data;
1176
+ })
1177
+ });
1178
+ };
1179
+
1180
+ // src/hooks/useGrantedPolicies.ts
1181
+ var import_react6 = require("react");
1182
+ var useGrantedPolicies = () => {
1183
+ var _a;
1184
+ const { data } = useAppConfig();
1185
+ const can = (0, import_react6.useCallback)(
1186
+ (key) => {
1187
+ var _a2;
1188
+ if (((_a2 = data == null ? void 0 : data.auth) == null ? void 0 : _a2.grantedPolicies) && !!data.auth.grantedPolicies[key])
1189
+ return true;
1190
+ return false;
1191
+ },
1192
+ [(_a = data == null ? void 0 : data.auth) == null ? void 0 : _a.grantedPolicies]
1193
+ );
1194
+ return { can };
1195
+ };
1196
+
1197
+ // src/hooks/useFeatures.ts
1198
+ var import_api_proxy18 = require("@geowiki/api-proxy");
1199
+ var import_react_query29 = require("@tanstack/react-query");
1200
+ var useFeatures = (providerName, providerKey) => {
1201
+ return (0, import_react_query29.useQuery)({
1202
+ queryKey: [QueryConstants.GetFeatures, providerName, providerKey],
1203
+ queryFn: () => __async(void 0, null, function* () {
1204
+ const data = yield import_api_proxy18.FeaturesService.featuresGet(providerName, providerKey);
1205
+ return data;
1206
+ })
1207
+ });
1208
+ };
1209
+
1210
+ // src/hooks/useAssignableRoles.ts
1211
+ var import_react_query30 = require("@tanstack/react-query");
1212
+ var import_api_proxy19 = require("@geowiki/api-proxy");
1213
+ var useAssignableRoles = () => {
1214
+ return (0, import_react_query30.useQuery)({
1215
+ queryKey: [QueryConstants.GetAssignableRoles],
1216
+ queryFn: () => __async(void 0, null, function* () {
1217
+ const data = yield import_api_proxy19.UserService.userGetAssignableRoles();
1218
+ return data;
1219
+ })
1220
+ });
1221
+ };
1222
+
1223
+ // src/hooks/useUserRoles.ts
1224
+ var import_api_proxy20 = require("@geowiki/api-proxy");
1225
+ var import_react_query31 = require("@tanstack/react-query");
1226
+ var useUserRoles = ({ userId }) => {
1227
+ return (0, import_react_query31.useQuery)({
1228
+ queryKey: [QueryConstants.GetUserRoles, userId],
1229
+ queryFn: () => __async(void 0, null, function* () {
1230
+ const data = yield import_api_proxy20.UserService.userGetRoles(userId);
1231
+ return data;
1232
+ })
1233
+ });
1234
+ };
1235
+
1236
+ // src/hooks/usePermissions.ts
1237
+ var import_api_proxy21 = require("@geowiki/api-proxy");
1238
+ var import_react_query32 = require("@tanstack/react-query");
1239
+ var usePermissions = (providerName, providerKey) => {
1240
+ return (0, import_react_query32.useQuery)({
1241
+ queryKey: [QueryConstants.GetPermissions, providerName, providerKey],
1242
+ queryFn: () => __async(void 0, null, function* () {
1243
+ const data = yield import_api_proxy21.PermissionsService.permissionsGet(
1244
+ providerName,
1245
+ providerKey
1246
+ );
1247
+ return data;
1248
+ })
1249
+ });
1250
+ };
1251
+
1252
+ // src/hooks/useRoles.ts
1253
+ var import_react_query33 = require("@tanstack/react-query");
1254
+ var import_api_proxy22 = require("@geowiki/api-proxy");
1255
+ var useRoles = (pageIndex, pageSize, filter, sorting) => {
1256
+ return (0, import_react_query33.useQuery)({
1257
+ queryKey: [QueryConstants.GetRoles, pageIndex, pageSize, filter, sorting],
1258
+ queryFn: () => __async(void 0, null, function* () {
1259
+ let skip = 0;
1260
+ if (pageIndex > 0) {
1261
+ skip = pageIndex * pageSize;
1262
+ }
1263
+ const data = yield import_api_proxy22.RoleService.roleGetList(
1264
+ filter ? filter : void 0,
1265
+ sorting ? sorting : void 0,
1266
+ skip,
1267
+ pageSize
1268
+ );
1269
+ return data;
1270
+ })
1271
+ });
1272
+ };
1273
+
1274
+ // src/hooks/useProfile.ts
1275
+ var import_api_proxy23 = require("@geowiki/api-proxy");
1276
+ var import_react_query34 = require("@tanstack/react-query");
1277
+ var useProfile = () => {
1278
+ return (0, import_react_query34.useQuery)({
1279
+ queryKey: [QueryConstants.GetProfile],
1280
+ queryFn: () => __async(void 0, null, function* () {
1281
+ const data = yield import_api_proxy23.ProfileService.profileGet();
1282
+ return data;
1283
+ })
1284
+ });
1285
+ };
1286
+
1287
+ // src/hooks/useTenants.ts
1288
+ var import_react_query35 = require("@tanstack/react-query");
1289
+ var import_api_proxy24 = require("@geowiki/api-proxy");
1290
+ var useTenants = (pageIndex, pageSize, filter, sorting) => {
1291
+ return (0, import_react_query35.useQuery)({
1292
+ queryKey: [QueryConstants.GetTenants, pageIndex, pageSize, filter, sorting],
1293
+ queryFn: () => __async(void 0, null, function* () {
1294
+ let skip = 0;
1295
+ if (pageIndex > 0) {
1296
+ skip = pageIndex * pageSize;
1297
+ }
1298
+ const data = yield import_api_proxy24.TenantService.tenantGetList(
1299
+ filter ? filter : void 0,
1300
+ sorting ? sorting : void 0,
1301
+ skip,
1302
+ pageSize
1303
+ );
1304
+ return data;
1305
+ })
1306
+ });
1307
+ };
1308
+
1309
+ // src/hooks/useEvolandLabels.ts
1310
+ var import_react_query36 = require("@tanstack/react-query");
1311
+ var import_evoland_api_proxy3 = require("@geowiki/evoland-api-proxy");
1312
+ var useEvolandLabels = (projectId) => {
1313
+ return (0, import_react_query36.useQuery)({
1314
+ queryKey: [QueryNames.GetEvolandLabels, projectId],
1315
+ queryFn: () => __async(void 0, null, function* () {
1316
+ const data = yield import_evoland_api_proxy3.ProjectService.getLabelsLabelsProjectIdProjectIdGet(projectId);
1317
+ return data;
1318
+ })
1319
+ });
1320
+ };
1321
+
1322
+ // src/hooks/useLookUp.ts
1323
+ var import_react_query37 = require("@tanstack/react-query");
1324
+ var import_api_proxy25 = require("@geowiki/api-proxy");
1325
+ var useLookUp = (ServiceName, params, LookUpsClusterCountries, LookUpsClusterActivityStatus, LookUpsClusterFarmingSystem, LookUpsClusterMainAgricultureArea, LookUpsClusterMainCrops) => {
1326
+ let result;
1327
+ return (0, import_react_query37.useQuery)({
1328
+ queryKey: [QueryNames.GetLookUp, ServiceName, params],
1329
+ queryFn: () => __async(void 0, null, function* () {
1330
+ switch (ServiceName) {
1331
+ case LookUpsClusterCountries: {
1332
+ result = yield import_api_proxy25.ClusterService.clusterGetCountries(params);
1333
+ break;
1334
+ }
1335
+ case LookUpsClusterActivityStatus: {
1336
+ result = yield import_api_proxy25.ClusterService.clusterGetActivityStatus(params);
1337
+ break;
1338
+ }
1339
+ case LookUpsClusterFarmingSystem: {
1340
+ result = yield import_api_proxy25.ClusterService.clusterGetFarmingSystems(params);
1341
+ break;
1342
+ }
1343
+ case LookUpsClusterMainAgricultureArea: {
1344
+ result = yield import_api_proxy25.ClusterService.clusterGetMainAgriculturalAreas(params);
1345
+ break;
1346
+ }
1347
+ case LookUpsClusterMainCrops: {
1348
+ result = yield import_api_proxy25.ClusterService.clusterGetMainCrops(params);
1349
+ break;
1350
+ }
1351
+ }
1352
+ return result;
1353
+ })
1354
+ });
1355
+ };
1356
+
1357
+ // src/hooks/useProjects.ts
1358
+ var import_react_query38 = require("@tanstack/react-query");
1359
+ var import_evoland_api_proxy4 = require("@geowiki/evoland-api-proxy");
1360
+ var useProjects = (fetch2, start = 0, amount = 9) => {
1361
+ return (0, import_react_query38.useQuery)({
1362
+ queryKey: [QueryConstants.GetProjects, fetch2, start, amount],
1363
+ queryFn: () => __async(void 0, null, function* () {
1364
+ if (fetch2)
1365
+ return import_evoland_api_proxy4.ProjectService.listProjectsListprojectsStartidxStartidxAmountAmountGet(
1366
+ start,
1367
+ amount
1368
+ );
1369
+ })
1370
+ });
1371
+ };
1372
+ var useProjectDetails = (projectId, update) => {
1373
+ return (0, import_react_query38.useQuery)({
1374
+ queryKey: [QueryConstants.GetProjectDetails, projectId, update],
1375
+ queryFn: () => __async(void 0, null, function* () {
1376
+ return import_evoland_api_proxy4.ProjectService.projectInfoProjectinfoProjectIdProjectIdGet(
1377
+ projectId
1378
+ );
1379
+ })
1380
+ });
1381
+ };
1382
+ var useTasksPerLocation = (data) => {
1383
+ return (0, import_react_query38.useQuery)({
1384
+ queryKey: [QueryConstants.GetTasksPerLocation, data],
1385
+ queryFn: () => __async(void 0, null, function* () {
1386
+ return import_evoland_api_proxy4.ProjectService.getTasksTasksGet(
1387
+ data.locationProjectId,
1388
+ data.taskForReview,
1389
+ null,
1390
+ data.orderBy,
1391
+ data.search,
1392
+ import_evoland_api_proxy4.TaskStatus[data.status],
1393
+ null,
1394
+ null,
1395
+ null,
1396
+ data.pageIdx,
1397
+ data.pageSize,
1398
+ data.userId,
1399
+ data.userUserAlias,
1400
+ data.userOrderBy,
1401
+ data.locationLocationId,
1402
+ data.locationOrderBy,
1403
+ data.groupName,
1404
+ data.groupOrderBy
1405
+ );
1406
+ }),
1407
+ placeholderData: import_react_query38.keepPreviousData
1408
+ });
1409
+ };
1410
+ var useRandomTasksPerLocation = (data) => {
1411
+ return (0, import_react_query38.useQuery)({
1412
+ queryKey: [QueryConstants.GetTasksPerLocation, data],
1413
+ queryFn: () => __async(void 0, null, function* () {
1414
+ return import_evoland_api_proxy4.ProjectService.getRandomTaskRandomtaskGet(
1415
+ data.locationProjectId,
1416
+ data.taskForReview,
1417
+ null,
1418
+ data.orderBy == "" ? null : data.orderBy,
1419
+ data.search == "" ? null : data.search,
1420
+ import_evoland_api_proxy4.TaskStatus[data.status],
1421
+ data.statusIn == "" ? null : data.statusIn,
1422
+ data.dateLte == "" ? null : data.dateLte,
1423
+ data.dateGte == "" ? null : data.dateGte,
1424
+ data.pageIdx,
1425
+ data.pageSize,
1426
+ data.userId == "" ? null : data.userId,
1427
+ data.userUserAlias == "" ? null : data.userUserAlias,
1428
+ data.userOrderBy == "" ? null : data.userOrderBy,
1429
+ data.locationLocationId == "" ? null : data.locationLocationId,
1430
+ data.locationOrderBy == "" ? null : data.locationOrderBy,
1431
+ data.groupName == "" ? null : data.groupName
1432
+ );
1433
+ }),
1434
+ placeholderData: import_react_query38.keepPreviousData
1435
+ });
1436
+ };
1437
+ var useTaskComments = (taskIds) => {
1438
+ return (0, import_react_query38.useQuery)({
1439
+ queryKey: [QueryConstants.GetTaskComment, taskIds],
1440
+ queryFn: () => __async(void 0, null, function* () {
1441
+ return import_evoland_api_proxy4.TaskService.taskLatestComomentsTasklatestcommentPost({
1442
+ task_ids: taskIds
1443
+ });
1444
+ })
1445
+ });
1446
+ };
1447
+ var useGroupsInProject = (projectId, updateGroup) => {
1448
+ return (0, import_react_query38.useQuery)({
1449
+ queryKey: [QueryConstants.GetGroupsInProject, projectId, updateGroup],
1450
+ queryFn: () => __async(void 0, null, function* () {
1451
+ return import_evoland_api_proxy4.ProjectService.getProjectGroupsProjectgroupsProjectIdProjectIdGet(
1452
+ projectId
1453
+ );
1454
+ })
1455
+ });
1456
+ };
1457
+ var useProjectUsers = (projectId) => {
1458
+ return (0, import_react_query38.useQuery)({
1459
+ queryKey: [QueryConstants.GetProjectUsers, projectId],
1460
+ queryFn: () => __async(void 0, null, function* () {
1461
+ return import_evoland_api_proxy4.ProjectService.projectAllUsersProjectusersProjectIdProjectIdGet(
1462
+ projectId
1463
+ );
1464
+ })
1465
+ });
1466
+ };
1467
+ var useTaskStatusList = () => {
1468
+ return (0, import_react_query38.useQuery)({
1469
+ queryKey: [QueryConstants.GetTaskStatusList],
1470
+ queryFn: () => __async(void 0, null, function* () {
1471
+ return import_evoland_api_proxy4.TaskService.getTaskStatusesTaskstatusesGet();
1472
+ })
1473
+ });
1474
+ };
1475
+ var useUpdateActiveGroupInProject = (projectId, groupId, update) => {
1476
+ return (0, import_react_query38.useQuery)({
1477
+ queryKey: [
1478
+ QueryConstants.UpdateActiveGroupsInProject,
1479
+ projectId,
1480
+ groupId,
1481
+ update
1482
+ ],
1483
+ queryFn: () => __async(void 0, null, function* () {
1484
+ if (update)
1485
+ return import_evoland_api_proxy4.ProjectService.selectProjectGroupProjectselectgroupPost({
1486
+ project_id: projectId,
1487
+ group_id: groupId
1488
+ });
1489
+ })
1490
+ });
1491
+ };
1492
+ var useTaskAnnotation = (taskId) => {
1493
+ return (0, import_react_query38.useQuery)({
1494
+ queryKey: [QueryConstants.GetTaskAnnotation, taskId],
1495
+ queryFn: () => __async(void 0, null, function* () {
1496
+ if (taskId !== null && taskId !== 0 && taskId !== void 0)
1497
+ return import_evoland_api_proxy4.TaskService.getTaskAnnotationAssetTaskannotationTaskIdTaskIdGet(
1498
+ taskId
1499
+ );
1500
+ })
1501
+ });
1502
+ };
1503
+ var useTaskMultipleAnnotations = (taskId) => {
1504
+ return (0, import_react_query38.useQuery)({
1505
+ queryKey: [QueryConstants.GetTaskMultipleAnnotations, taskId],
1506
+ queryFn: () => __async(void 0, null, function* () {
1507
+ if (taskId !== null && taskId !== 0 && taskId !== void 0)
1508
+ return import_evoland_api_proxy4.TaskService.getTaskAnnotationAssetsTaskannotationsTaskIdTaskIdGet(
1509
+ taskId
1510
+ );
1511
+ })
1512
+ });
1513
+ };
1514
+ var useTaskSavedAnnotations = (taskId) => {
1515
+ return (0, import_react_query38.useQuery)({
1516
+ queryKey: [QueryConstants.GetTaskSavedAnnotations, taskId],
1517
+ queryFn: () => __async(void 0, null, function* () {
1518
+ if (taskId !== null && taskId !== 0 && taskId !== void 0)
1519
+ return import_evoland_api_proxy4.TaskService.getSavedAnnotationGetsavedannotationTaskIdTaskIdGet(
1520
+ taskId
1521
+ );
1522
+ })
1523
+ });
1524
+ };
1525
+ var useTaskDelete = (taskId, projectId, deleteTask) => {
1526
+ return (0, import_react_query38.useQuery)({
1527
+ queryKey: [QueryConstants.DeleteTask, taskId, projectId, deleteTask],
1528
+ queryFn: () => __async(void 0, null, function* () {
1529
+ if (taskId !== null && taskId !== void 0 && taskId !== 0 && deleteTask === true)
1530
+ return import_evoland_api_proxy4.TaskService.deleteTaskDeletetaskPost({
1531
+ project_id: projectId,
1532
+ task_id: taskId
1533
+ });
1534
+ })
1535
+ });
1536
+ };
1537
+ var useProjectStatisticsByUser = (projectId, startDate, endDate, filterUserId) => {
1538
+ return (0, import_react_query38.useQuery)({
1539
+ queryKey: [
1540
+ QueryConstants.GetProjectStatisticsByUser,
1541
+ projectId,
1542
+ startDate,
1543
+ endDate,
1544
+ filterUserId
1545
+ ],
1546
+ queryFn: () => __async(void 0, null, function* () {
1547
+ return import_evoland_api_proxy4.StatisticService.getUserStatisticsUserstatisticsProjectIdProjectIdStartDateStartDateEndDateEndDateFilterUserIdFilterUserIdGet(
1548
+ projectId,
1549
+ endDate,
1550
+ startDate,
1551
+ filterUserId
1552
+ );
1553
+ })
1554
+ });
1555
+ };
1556
+ var useContractStatisticsByUser = (projectId, startDate, endDate, filterUserId) => {
1557
+ return (0, import_react_query38.useQuery)({
1558
+ queryKey: [
1559
+ QueryConstants.GetContractStatisticsByUser,
1560
+ projectId,
1561
+ startDate,
1562
+ endDate,
1563
+ filterUserId
1564
+ ],
1565
+ queryFn: () => __async(void 0, null, function* () {
1566
+ return import_evoland_api_proxy4.StatisticService.getUserStatisticsUserstatisticsProjectIdProjectIdStartDateStartDateEndDateEndDateFilterUserIdFilterUserIdGet(
1567
+ projectId,
1568
+ endDate,
1569
+ startDate,
1570
+ filterUserId,
1571
+ true
1572
+ );
1573
+ })
1574
+ });
1575
+ };
1576
+ var useLatestTaskOnLocation = (locationId, projectId, referenceDate) => {
1577
+ return (0, import_react_query38.useQuery)({
1578
+ queryKey: [
1579
+ QueryConstants.GetLatestTaskOnLocation,
1580
+ locationId,
1581
+ projectId,
1582
+ referenceDate
1583
+ ],
1584
+ queryFn: () => __async(void 0, null, function* () {
1585
+ return import_evoland_api_proxy4.ProjectService.locationLatestTaskLocationtaskLocationIdLocationIdProjectIdProjectIdReferenceDateReferenceDateGet(
1586
+ locationId,
1587
+ projectId,
1588
+ referenceDate
1589
+ );
1590
+ })
1591
+ });
1592
+ };
1593
+ var useAssignProjectToUser = (userRoleRequest, update) => {
1594
+ return (0, import_react_query38.useQuery)({
1595
+ queryKey: [QueryConstants.GetProjectDetails, userRoleRequest, update],
1596
+ queryFn: () => __async(void 0, null, function* () {
1597
+ if (update)
1598
+ return import_evoland_api_proxy4.ProjectService.setUserRoleSetuserrolePost(userRoleRequest);
1599
+ }),
1600
+ enabled: !!update && !!userRoleRequest
1601
+ });
1602
+ };
1603
+ var useGetUserProject = (user_id, fetchData) => {
1604
+ return (0, import_react_query38.useQuery)({
1605
+ queryKey: [QueryConstants.GetUserProject, user_id, fetchData],
1606
+ queryFn: () => __async(void 0, null, function* () {
1607
+ if (fetchData)
1608
+ return import_evoland_api_proxy4.ProjectService.getUserRoleProjectGetuserroleprojectUserIdUserIdGet(
1609
+ user_id
1610
+ );
1611
+ })
1612
+ });
1613
+ };
1614
+ var useUpdateUserDetail = (userDetailRequest, update) => {
1615
+ return (0, import_react_query38.useQuery)({
1616
+ queryKey: [QueryConstants.SetUserDetail, userDetailRequest, update],
1617
+ queryFn: () => __async(void 0, null, function* () {
1618
+ if (update)
1619
+ return import_evoland_api_proxy4.ProjectService.setUserDetailSetuserdetailPost(userDetailRequest);
1620
+ })
1621
+ });
1622
+ };
1623
+ var useProjectsPointsDownload = (projectId, download, userRole) => {
1624
+ return (0, import_react_query38.useQuery)({
1625
+ queryKey: [
1626
+ QueryConstants.DownlaodProjectsPoints,
1627
+ projectId,
1628
+ download,
1629
+ userRole
1630
+ ],
1631
+ queryFn: () => __async(void 0, null, function* () {
1632
+ if (userRole == "admin" && download)
1633
+ return import_evoland_api_proxy4.ProjectService.getLocationsSummaryLocationssummaryProjectIdProjectIdGet(
1634
+ projectId
1635
+ );
1636
+ })
1637
+ });
1638
+ };
1639
+ var useQuestionnaire = (projectId) => {
1640
+ return (0, import_react_query38.useQuery)({
1641
+ queryKey: [QueryConstants.GetQuestionnaireForProject, projectId],
1642
+ queryFn: () => __async(void 0, null, function* () {
1643
+ return import_evoland_api_proxy4.QuestionService.getProjectQuestionsAnswersQuestionsAnswersProjectIdProjectIdGet(
1644
+ projectId
1645
+ );
1646
+ })
1647
+ });
1648
+ };
1649
+ var useTaskAnswers = (taskId) => {
1650
+ return (0, import_react_query38.useQuery)({
1651
+ queryKey: [QueryConstants.GetTaskAnswers, taskId],
1652
+ queryFn: () => __async(void 0, null, function* () {
1653
+ return import_evoland_api_proxy4.TaskService.getTaskAnswersTaskanswersTaskIdTaskIdGet(taskId);
1654
+ })
1655
+ });
1656
+ };
1657
+ var useProjectResultSet = (download, projectId, is_geo_json) => {
1658
+ return (0, import_react_query38.useQuery)({
1659
+ queryKey: [QueryConstants.GetProjectResultSet, download, projectId, is_geo_json],
1660
+ queryFn: () => __async(void 0, null, function* () {
1661
+ return import_evoland_api_proxy4.ProjectService.projectResultSetProjectresultsetProjectIdProjectIdIsGeoJsonIsGeoJsonGet(projectId, is_geo_json);
1662
+ }),
1663
+ enabled: !!download && !!projectId
1664
+ });
1665
+ };
1666
+
1667
+ // src/hooks/useApiImage.tsx
1668
+ var import_react_query39 = require("@tanstack/react-query");
1669
+ var useApiImage = (imageId) => {
1670
+ return (0, import_react_query39.useQuery)({
1671
+ queryKey: [QueryConstants.GetApiImage, imageId],
1672
+ queryFn: () => __async(void 0, null, function* () {
1673
+ const res = yield fetch(`/api/api-image/${imageId}`);
1674
+ const data = yield res.json();
1675
+ return data.fileUrl;
1676
+ })
1677
+ });
1678
+ };
1679
+
1680
+ // src/hooks/useCmsImage.tsx
1681
+ var import_react_query40 = require("@tanstack/react-query");
1682
+ var useCmsImage = (imageId) => {
1683
+ return (0, import_react_query40.useQuery)({
1684
+ queryKey: [QueryConstants.GetCmsImage, imageId],
1685
+ queryFn: () => __async(void 0, null, function* () {
1686
+ const res = yield fetch(`/api/cms-image/${imageId}`);
1687
+ const data = yield res.json();
1688
+ return data.fileUrl;
1689
+ })
1690
+ });
1691
+ };
1692
+
1693
+ // src/hooks/useClusterGetJoinRequests.ts
1694
+ var import_api_proxy26 = require("@geowiki/api-proxy");
1695
+ var import_react_query41 = require("@tanstack/react-query");
1696
+ var useClusterGetJoinRequests = (clusterId) => {
1697
+ return (0, import_react_query41.useQuery)({
1698
+ queryKey: [QueryNames.JoinRequests, clusterId],
1699
+ queryFn: () => __async(void 0, null, function* () {
1700
+ const data = yield import_api_proxy26.ClusterService.clusterGetJoinRequests(clusterId);
1701
+ return data;
1702
+ })
1703
+ });
1704
+ };
1705
+
1706
+ // src/hooks/useClusterGetNews.ts
1707
+ var import_api_proxy27 = require("@geowiki/api-proxy");
1708
+ var import_react_query42 = require("@tanstack/react-query");
1709
+ var useClusterGetNews = (clusterId, newsId) => {
1710
+ return (0, import_react_query42.useQuery)({
1711
+ queryKey: [QueryNames.ClusterGetNews, clusterId, newsId],
1712
+ queryFn: () => __async(void 0, null, function* () {
1713
+ const data = yield import_api_proxy27.ClusterService.clusterGetNews(clusterId, newsId);
1714
+ return data;
1715
+ })
1716
+ });
1717
+ };
1718
+
1719
+ // src/hooks/useClusterGetNewsNextPreviousStatus.ts
1720
+ var import_api_proxy28 = require("@geowiki/api-proxy");
1721
+ var import_react_query43 = require("@tanstack/react-query");
1722
+ var useClusterGetNewsNextPreviousStatus = (clusterId, newsId) => {
1723
+ return (0, import_react_query43.useQuery)({
1724
+ queryKey: [QueryNames.ClusterNewsNextPrevious, clusterId, newsId],
1725
+ queryFn: () => __async(void 0, null, function* () {
1726
+ const data = yield import_api_proxy28.ClusterService.clusterGetNewsNextPreviousStatus(
1727
+ clusterId,
1728
+ newsId
1729
+ );
1730
+ return data;
1731
+ })
1732
+ });
1733
+ };
1734
+
1735
+ // src/hooks/useClusterImages.ts
1736
+ var import_api_proxy29 = require("@geowiki/api-proxy");
1737
+ var import_react_query44 = require("@tanstack/react-query");
1738
+ var useClusterImages = (id) => {
1739
+ return (0, import_react_query44.useQuery)({
1740
+ queryKey: [QueryNames.ClusterImages, id],
1741
+ queryFn: () => __async(void 0, null, function* () {
1742
+ const data = yield import_api_proxy29.ClusterService.clusterGetClusterImages(id);
1743
+ return data;
1744
+ })
1745
+ });
1746
+ };
1747
+
1748
+ // src/hooks/useClusterOverview.ts
1749
+ var import_api_proxy30 = require("@geowiki/api-proxy");
1750
+ var import_react_query45 = require("@tanstack/react-query");
1751
+ var useClusterOverview = (id) => {
1752
+ return (0, import_react_query45.useQuery)({
1753
+ queryKey: [QueryNames.GetClusterOverview, id],
1754
+ queryFn: () => __async(void 0, null, function* () {
1755
+ const data = yield import_api_proxy30.ClusterService.clusterGetClusterOverview(id);
1756
+ return data;
1757
+ })
1758
+ });
1759
+ };
1760
+
1761
+ // src/hooks/useClusterAllNews.ts
1762
+ var import_api_proxy31 = require("@geowiki/api-proxy");
1763
+ var import_react_query46 = require("@tanstack/react-query");
1764
+ var useClusterAllNews = (id, refresh, sorting, skipCount, maxResultCount, status) => {
1765
+ return (0, import_react_query46.useQuery)({
1766
+ queryKey: [
1767
+ QueryNames.ClusterAllNews,
1768
+ id,
1769
+ sorting,
1770
+ skipCount,
1771
+ maxResultCount,
1772
+ refresh,
1773
+ status
1774
+ ],
1775
+ queryFn: () => __async(void 0, null, function* () {
1776
+ const data = yield import_api_proxy31.ClusterService.clusterGetAllNews(
1777
+ id,
1778
+ sorting,
1779
+ skipCount,
1780
+ maxResultCount,
1781
+ status
1782
+ );
1783
+ return data;
1784
+ })
1785
+ });
1786
+ };
1787
+
1788
+ // src/hooks/useNewsFromAllClusters.ts
1789
+ var import_api_proxy32 = require("@geowiki/api-proxy");
1790
+ var import_react_query47 = require("@tanstack/react-query");
1791
+ var useNewsFromAllClusters = (skip = 0, take = 10) => {
1792
+ return (0, import_react_query47.useQuery)({
1793
+ queryKey: [QueryNames.ClusterAllNews, skip, take],
1794
+ queryFn: () => __async(void 0, null, function* () {
1795
+ const data = yield import_api_proxy32.ClusterService.clusterGetAllNewsFromAllClusters(
1796
+ "",
1797
+ skip,
1798
+ take
1799
+ );
1800
+ return data;
1801
+ })
1802
+ });
1803
+ };
1804
+
1805
+ // src/hooks/useClusterNewsWithId.ts
1806
+ var import_api_proxy33 = require("@geowiki/api-proxy");
1807
+ var import_react_query48 = require("@tanstack/react-query");
1808
+ var useClusterNewsWithId = (id) => {
1809
+ return (0, import_react_query48.useQuery)({
1810
+ queryKey: [QueryNames.ClusterNewsWithId, id],
1811
+ queryFn: () => __async(void 0, null, function* () {
1812
+ const data = yield import_api_proxy33.ClusterService.clusterGetClusterNewsById(id);
1813
+ return data;
1814
+ })
1815
+ });
1816
+ };
1817
+
1818
+ // src/hooks/useMapMenuItems.ts
1819
+ var import_react_query49 = require("@tanstack/react-query");
1820
+
1821
+ // src/utils/CmsApi.ts
1822
+ var import_cms_proxy7 = require("@geowiki/cms-proxy");
1823
+ var getGeoWikiSettings = () => __async(void 0, null, function* () {
1824
+ const req = yield import_cms_proxy7.SettingsService.settingsGetSiteSettings("GeoWiki");
1825
+ return req;
1826
+ });
1827
+ var getDefaultSettings = () => __async(void 0, null, function* () {
1828
+ const req = yield import_cms_proxy7.SettingsService.settingsGetDefaultSiteSettings();
1829
+ return req;
1830
+ });
1831
+ var getMenus = (displayName) => __async(void 0, null, function* () {
1832
+ const req = yield getContentWithTypeAndDisplayName(
1833
+ "Menu",
1834
+ displayName
1835
+ );
1836
+ const menus = req == null ? void 0 : req.items[0];
1837
+ return menus;
1838
+ });
1839
+ var getPageContent = (displayName) => __async(void 0, null, function* () {
1840
+ const req = yield getContentWithTypeAndDisplayName(
1841
+ "Page",
1842
+ displayName
1843
+ );
1844
+ const page = req == null ? void 0 : req.items[0];
1845
+ return page;
1846
+ });
1847
+ var getContentWithTypeAndDisplayName = (contentType, displayName) => __async(void 0, null, function* () {
1848
+ return import_cms_proxy7.QueryApiService.apiQueryGet(
1849
+ "GetContentByTypeAndDisplayText",
1850
+ `${JSON.stringify({ contenttype: contentType, displaytext: displayName })}`
1851
+ );
1852
+ });
1853
+ var getContentWithSlug = (slug) => __async(void 0, null, function* () {
1854
+ const req = yield import_cms_proxy7.QueryApiService.apiQueryGet(
1855
+ "GetDocumentBySlug",
1856
+ `${JSON.stringify({ path: slug })}`
1857
+ );
1858
+ return req == null ? void 0 : req.items[0];
1859
+ });
1860
+ var getContentsWithType = (contentType) => __async(void 0, null, function* () {
1861
+ const req = yield import_cms_proxy7.QueryApiService.apiQueryGet(
1862
+ "GetContentByType",
1863
+ `${JSON.stringify({ contenttype: contentType })}`
1864
+ );
1865
+ return req == null ? void 0 : req.items;
1866
+ });
1867
+ var getPageProps = (ctx) => __async(void 0, null, function* () {
1868
+ var _a;
1869
+ var page = "index";
1870
+ const slugs = ctx.query.slug;
1871
+ if (slugs && slugs.length > 0) {
1872
+ page = slugs[slugs.length - 1];
1873
+ }
1874
+ return {
1875
+ props: {
1876
+ page: (_a = yield getPageContent(page)) != null ? _a : null
1877
+ }
1878
+ };
1879
+ });
1880
+
1881
+ // src/hooks/useMapMenuItems.ts
1882
+ var useMapMenuItems = () => {
1883
+ return (0, import_react_query49.useQuery)({
1884
+ queryKey: [QueryNames.MapMenuItems],
1885
+ queryFn: () => __async(void 0, null, function* () {
1886
+ const req = yield getContentsWithType("MapMenuItem");
1887
+ return req;
1888
+ })
1889
+ });
1890
+ };
1891
+
1892
+ // src/hooks/useClusterLinks.ts
1893
+ var import_api_proxy34 = require("@geowiki/api-proxy");
1894
+ var import_react_query50 = require("@tanstack/react-query");
1895
+ var useClusterLinks = (id) => {
1896
+ return (0, import_react_query50.useQuery)({
1897
+ queryKey: [QueryNames.GetSocialLinks, id],
1898
+ queryFn: () => __async(void 0, null, function* () {
1899
+ const data = yield import_api_proxy34.ClusterService.clusterGetLinksAndPartner(id);
1900
+ return data;
1901
+ })
1902
+ });
1903
+ };
1904
+
1905
+ // src/hooks/useCmsContentWithType.ts
1906
+ var import_react_query51 = require("@tanstack/react-query");
1907
+ var useCmsContentWithType = (contentType) => {
1908
+ return (0, import_react_query51.useQuery)({
1909
+ queryKey: [QueryNames.GetCmsContentWithType],
1910
+ queryFn: () => __async(void 0, null, function* () {
1911
+ const req = yield getContentsWithType(contentType);
1912
+ return req;
1913
+ })
1914
+ });
1915
+ };
1916
+
1917
+ // src/hooks/useClusterNews.ts
1918
+ var import_api_proxy35 = require("@geowiki/api-proxy");
1919
+ var import_react_query52 = require("@tanstack/react-query");
1920
+ var useClusterNews = (id, sort = "", skip = 0, take = 100) => {
1921
+ return (0, import_react_query52.useQuery)({
1922
+ queryKey: [QueryNames.ClusterNews, id, sort, skip, take],
1923
+ queryFn: () => __async(void 0, null, function* () {
1924
+ const data = yield import_api_proxy35.ClusterService.clusterGetClusterNews(
1925
+ id,
1926
+ sort,
1927
+ skip,
1928
+ take
1929
+ );
1930
+ return data;
1931
+ })
1932
+ });
1933
+ };
1934
+
1935
+ // src/hooks/useClusterDescription.ts
1936
+ var import_api_proxy36 = require("@geowiki/api-proxy");
1937
+ var import_react_query53 = require("@tanstack/react-query");
1938
+ var useClusterDescription = (id) => {
1939
+ return (0, import_react_query53.useQuery)({
1940
+ queryKey: [QueryNames.GetClusterDescription, id],
1941
+ queryFn: () => __async(void 0, null, function* () {
1942
+ const data = yield import_api_proxy36.ClusterService.clusterGetClusterDescription(id);
1943
+ return data;
1944
+ })
1945
+ });
1946
+ };
1947
+
1948
+ // src/hooks/useClusterDetails.ts
1949
+ var import_api_proxy37 = require("@geowiki/api-proxy");
1950
+ var import_react_query54 = require("@tanstack/react-query");
1951
+ var useClusterDetails = (id) => {
1952
+ return (0, import_react_query54.useQuery)({
1953
+ queryKey: [QueryNames.GetClusterDetails, id],
1954
+ queryFn: () => __async(void 0, null, function* () {
1955
+ const data = yield import_api_proxy37.ClusterService.clusterGetClusterDetails(id);
1956
+ return data;
1957
+ })
1958
+ });
1959
+ };
1960
+
1961
+ // src/hooks/useClusterImagesAndVideos.ts
1962
+ var import_api_proxy38 = require("@geowiki/api-proxy");
1963
+ var import_react_query55 = require("@tanstack/react-query");
1964
+ var useClusterImagesAndVideos = (id) => {
1965
+ return (0, import_react_query55.useQuery)({
1966
+ queryKey: [QueryNames.GetImagesAndVideos, id],
1967
+ queryFn: () => __async(void 0, null, function* () {
1968
+ const data = yield import_api_proxy38.ClusterService.clusterGetImagesAndVideos(id);
1969
+ return data;
1970
+ })
1971
+ });
1972
+ };
1973
+
1974
+ // src/hooks/useHost.ts
1975
+ var import_react_query56 = require("@tanstack/react-query");
1976
+ var getHost = () => __async(void 0, null, function* () {
1977
+ const response = yield fetch("/api/host");
1978
+ if (!response.ok) {
1979
+ return Promise.reject(null);
1980
+ }
1981
+ return response.json();
1982
+ });
1983
+ function useHost() {
1984
+ return (0, import_react_query56.useQuery)({
1985
+ queryKey: [QueryNames.GetHost],
1986
+ queryFn: getHost
1987
+ });
1988
+ }
1989
+
1990
+ // src/hooks/useHostManagement.ts
1991
+ var import_react_query57 = require("@tanstack/react-query");
1992
+ var createHost = (hostData) => __async(void 0, null, function* () {
1993
+ const response = yield fetch("/api/hosts", {
1994
+ method: "POST",
1995
+ headers: {
1996
+ "Content-Type": "application/json"
1997
+ },
1998
+ body: JSON.stringify(hostData)
1999
+ });
2000
+ if (!response.ok) {
2001
+ throw new Error("Failed to create host");
2002
+ }
2003
+ return response.json();
2004
+ });
2005
+ var updateHost = (_a) => __async(void 0, null, function* () {
2006
+ var _b = _a, {
2007
+ host
2008
+ } = _b, hostData = __objRest(_b, [
2009
+ "host"
2010
+ ]);
2011
+ const response = yield fetch(`/api/hosts/${host}`, {
2012
+ method: "PUT",
2013
+ headers: {
2014
+ "Content-Type": "application/json"
2015
+ },
2016
+ body: JSON.stringify(hostData)
2017
+ });
2018
+ if (!response.ok) {
2019
+ throw new Error("Failed to update host");
2020
+ }
2021
+ return response.json();
2022
+ });
2023
+ var deleteHost = (host) => __async(void 0, null, function* () {
2024
+ const response = yield fetch(`/api/hosts/${host}`, {
2025
+ method: "DELETE"
2026
+ });
2027
+ if (!response.ok) {
2028
+ throw new Error("Failed to delete host");
2029
+ }
2030
+ });
2031
+ var useCreateHost = () => {
2032
+ const queryClient = (0, import_react_query57.useQueryClient)();
2033
+ return (0, import_react_query57.useMutation)({
2034
+ mutationFn: createHost,
2035
+ onSuccess: () => {
2036
+ queryClient.invalidateQueries({ queryKey: [QueryNames.GetHosts] });
2037
+ }
2038
+ });
2039
+ };
2040
+ var useUpdateHost = () => {
2041
+ const queryClient = (0, import_react_query57.useQueryClient)();
2042
+ return (0, import_react_query57.useMutation)({
2043
+ mutationFn: updateHost,
2044
+ onSuccess: () => {
2045
+ queryClient.invalidateQueries({ queryKey: [QueryNames.GetHosts] });
2046
+ queryClient.invalidateQueries({ queryKey: [QueryNames.GetHost] });
2047
+ }
2048
+ });
2049
+ };
2050
+ var useDeleteHost = () => {
2051
+ const queryClient = (0, import_react_query57.useQueryClient)();
2052
+ return (0, import_react_query57.useMutation)({
2053
+ mutationFn: deleteHost,
2054
+ onSuccess: () => {
2055
+ queryClient.invalidateQueries({ queryKey: [QueryNames.GetHosts] });
2056
+ }
2057
+ });
2058
+ };
2059
+
2060
+ // src/models/HostInfo.ts
2061
+ var HostType = /* @__PURE__ */ ((HostType2) => {
2062
+ HostType2["IsActive"] = "IsActive";
2063
+ HostType2["IsUnderConstruction"] = "IsUnderConstruction";
2064
+ return HostType2;
2065
+ })(HostType || {});
2066
+
2067
+ // src/utils/ServerHostUtils.ts
2068
+ var getHostData = () => {
2069
+ return process.env.NODE_ENV === "production" ? [
2070
+ {
2071
+ host: "v2.geo-wiki.org",
2072
+ cmsUrl: "https://cms.main.geo-wiki.org"
2073
+ },
2074
+ {
2075
+ host: "evo.geo-wiki.org",
2076
+ cmsUrl: "https://cms.main.geo-wiki.org/evoland",
2077
+ tenantId: "3a12f4a0-c86a-d6fc-ec94-910ebeb86aea",
2078
+ redirectUrl: "/evoland/projects"
2079
+ },
2080
+ {
2081
+ host: "evo-dev.main.geo-wiki.org",
2082
+ cmsUrl: "https://cms.main.geo-wiki.org/evoland-dev",
2083
+ tenantId: "3a0d5d86-5eac-0234-6d1c-eeecdd06739d",
2084
+ redirectUrl: "/evoland/projects"
2085
+ },
2086
+ {
2087
+ host: "recodo.geo-wiki.org",
2088
+ cmsUrl: "https://framework.cms.geo-wiki.org",
2089
+ tenantId: "39fdc096-4274-dfe4-1761-03d8f52219a5",
2090
+ redirectUrl: "/page/user/user-profile"
2091
+ },
2092
+ {
2093
+ host: "frameworkv2.geo-wiki.org",
2094
+ cmsUrl: "https://framework.cms.geo-wiki.org",
2095
+ tenantId: "39fdc096-4274-dfe4-1761-03d8f52219a5",
2096
+ redirectUrl: "/page/user/user-profile"
2097
+ },
2098
+ {
2099
+ host: "geo-wiki.org",
2100
+ cmsUrl: "https://cms.main.geo-wiki.org",
2101
+ tenantId: "39fdc097-fa0e-aa99-6ec9-a387d3225abc"
2102
+ },
2103
+ {
2104
+ host: "geowiki.iiasa.ac.at",
2105
+ cmsUrl: "https://cms.main.geo-wiki.org",
2106
+ tenantId: "39fdc097-fa0e-aa99-6ec9-a387d3225abc"
2107
+ },
2108
+ {
2109
+ host: "web.geowiki.iiasa.ac.at",
2110
+ cmsUrl: "https://cms.main.geo-wiki.org",
2111
+ tenantId: "39fdc097-fa0e-aa99-6ec9-a387d3225abc"
2112
+ },
2113
+ {
2114
+ host: "www.geo-wiki.org",
2115
+ cmsUrl: "https://cms.main.geo-wiki.org",
2116
+ tenantId: "39fdc097-fa0e-aa99-6ec9-a387d3225abc"
2117
+ },
2118
+ {
2119
+ host: "recodo.io",
2120
+ cmsUrl: "https://cms.geo-wiki.org/recodo",
2121
+ tenantId: "39fdc096-4274-dfe4-1761-03d8f52219a5",
2122
+ redirectUrl: "/admin/cluster"
2123
+ },
2124
+ {
2125
+ host: "recodo.iiasa.ac.at",
2126
+ cmsUrl: "https://cms.geo-wiki.org/recodo",
2127
+ tenantId: "39fdc096-4274-dfe4-1761-03d8f52219a5",
2128
+ redirectUrl: "/page/user/user-profile"
2129
+ },
2130
+ {
2131
+ host: "framework.geo-wiki.org",
2132
+ cmsUrl: "https://framework.cms.geo-wiki.org",
2133
+ tenantId: "39fdc096-4274-dfe4-1761-03d8f52219a5",
2134
+ redirectUrl: "/page/user/user-profile"
2135
+ },
2136
+ {
2137
+ host: "recodo.nodes.iiasa.ac.at",
2138
+ cmsUrl: "https://framework.cms.geo-wiki.org",
2139
+ tenantId: "39fdc096-4274-dfe4-1761-03d8f52219a5",
2140
+ redirectUrl: "/admin/cluster"
2141
+ },
2142
+ {
2143
+ host: "hpg1025.iiasa.ac.at:31028",
2144
+ cmsUrl: "https://framework.cms.geo-wiki.org",
2145
+ tenantId: "39fdc096-4274-dfe4-1761-03d8f52219a5",
2146
+ redirectUrl: "/page/user/user-profile"
2147
+ },
2148
+ {
2149
+ host: "demo.geo-wiki.org",
2150
+ cmsUrl: "https://demo.cms.geo-wiki.org"
2151
+ },
2152
+ {
2153
+ host: "mindstep.geo-wiki.org",
2154
+ cmsUrl: "https://mindstep.cms.geo-wiki.org"
2155
+ },
2156
+ {
2157
+ host: "tm.geo-wiki.org",
2158
+ cmsUrl: "https://tm.cms.geo-wiki.org"
2159
+ },
2160
+ {
2161
+ host: "cropobserve.org",
2162
+ cmsUrl: "https://cropobserve.cms.geo-wiki.org"
2163
+ },
2164
+ {
2165
+ host: "localhost:3000",
2166
+ cmsUrl: "https://cms.main.geo-wiki.org"
2167
+ },
2168
+ {
2169
+ host: "localhost:4000",
2170
+ cmsUrl: "https://cms.main.geo-wiki.org"
2171
+ },
2172
+ {
2173
+ host: "adapt-uhi.org",
2174
+ cmsUrl: "https://cms.main.geo-wiki.org/adapt"
2175
+ },
2176
+ {
2177
+ host: "geo-trees.nodes.iiasa.ac.at",
2178
+ cmsUrl: "https://cms.main.geo-wiki.org/geotrees",
2179
+ tenantId: "3a12f511-0804-948c-db52-a33491c51e48",
2180
+ redirectUrl: "/"
2181
+ },
2182
+ {
2183
+ host: "globalcanopyatlas.org",
2184
+ cmsUrl: "https://cms.geowiki.iiasa.ac.at/canopyatlas",
2185
+ tenantId: "3a1481ec-90a1-47d0-c34d-70610f97a4e5",
2186
+ redirectUrl: "/",
2187
+ protectedPaths: ["/map"]
2188
+ },
2189
+ {
2190
+ host: "canopyatlas.nodes.iiasa.ac.at",
2191
+ cmsUrl: "https://cms.geowiki.iiasa.ac.at/canopyatlas",
2192
+ tenantId: "3a1481ec-90a1-47d0-c34d-70610f97a4e5",
2193
+ redirectUrl: "/",
2194
+ protectedPaths: ["/map"]
2195
+ },
2196
+ {
2197
+ host: "basf.nodes.iiasa.ac.at",
2198
+ cmsUrl: "https://cms.main.geo-wiki.org/basf",
2199
+ tenantId: "3a16570a-6c13-db58-25f7-1866c09412b7",
2200
+ redirectUrl: "/",
2201
+ protectedPaths: ["/map"]
2202
+ },
2203
+ {
2204
+ host: "evo.nodes.iiasa.ac.at",
2205
+ cmsUrl: "https://cms.main.geo-wiki.org/evoland-dev",
2206
+ tenantId: "3a0d5d86-5eac-0234-6d1c-eeecdd06739d",
2207
+ redirectUrl: "/evoland/projects"
2208
+ },
2209
+ {
2210
+ host: "urbanreleaf.nodes.iiasa.ac.at",
2211
+ cmsUrl: "https://cms.main.geo-wiki.org/urbanreleaf",
2212
+ redirectUrl: "/"
2213
+ },
2214
+ {
2215
+ host: "geoquest.iiasa.ac.at",
2216
+ cmsUrl: "https://cms.geowiki.iiasa.ac.at/geoquest",
2217
+ redirectUrl: "/"
2218
+ },
2219
+ {
2220
+ host: "geo-quest.org",
2221
+ cmsUrl: "https://cms.geowiki.iiasa.ac.at/geoquest",
2222
+ redirectUrl: "/"
2223
+ },
2224
+ {
2225
+ host: "data.geo-trees.org",
2226
+ cmsUrl: "https://cms.main.geo-wiki.org/geotrees",
2227
+ tenantId: "3a1a9007-e328-c293-e501-472a18594650",
2228
+ redirectUrl: "/"
2229
+ }
2230
+ ] : [
2231
+ {
2232
+ host: "localhost:3000",
2233
+ cmsUrl: "https://framework.cms.geo-wiki.org",
2234
+ tenantId: "39fdc096-4274-dfe4-1761-03d8f52219a5",
2235
+ redirectUrl: "/page/user/user-profile"
2236
+ },
2237
+ {
2238
+ host: "geowiki.local:3000",
2239
+ cmsUrl: "https://cms.main.geo-wiki.org"
2240
+ },
2241
+ {
2242
+ host: "recodo.local:3000",
2243
+ cmsUrl: "https://framework.cms.geo-wiki.org"
2244
+ },
2245
+ {
2246
+ host: "evo.local:3000",
2247
+ cmsUrl: "https://cms.main.geo-wiki.org/evoland",
2248
+ tenantId: "3a0d5d86-5eac-0234-6d1c-eeecdd06739d",
2249
+ redirectUrl: "/evoland/projects"
2250
+ }
2251
+ ];
2252
+ };
2253
+ var findHostInfo = (host) => {
2254
+ const hosts = getHostData();
2255
+ return hosts.find((h) => h.host === host);
2256
+ };
2257
+ var getCmsUrlForHost = (host) => {
2258
+ const hostInfo = findHostInfo(host);
2259
+ return (hostInfo == null ? void 0 : hostInfo.cmsUrl) || "https://cms.geo-wiki.org";
2260
+ };
2261
+ var getTenantIdForHost = (host) => {
2262
+ const hostInfo = findHostInfo(host);
2263
+ return hostInfo == null ? void 0 : hostInfo.tenantId;
2264
+ };
2265
+
2266
+ // src/services/HostService.ts
2267
+ var HostService = class {
2268
+ /**
2269
+ * Server-side: Get all hosts data
2270
+ * This should be used in API routes and server-side code
2271
+ */
2272
+ static getHostData() {
2273
+ return getHostData();
2274
+ }
2275
+ /**
2276
+ * Server-side: Find host info by hostname
2277
+ * This should be used in API routes and server-side code
2278
+ */
2279
+ static findHostInfo(host) {
2280
+ return findHostInfo(host);
2281
+ }
2282
+ /**
2283
+ * Server-side: Get CMS URL for a specific host
2284
+ * This should be used in API routes and server-side code
2285
+ */
2286
+ static getCmsUrlForHost(host) {
2287
+ return getCmsUrlForHost(host);
2288
+ }
2289
+ /**
2290
+ * Server-side: Get tenant ID for a specific host
2291
+ * This should be used in API routes and server-side code
2292
+ */
2293
+ static getTenantIdForHost(host) {
2294
+ return getTenantIdForHost(host);
2295
+ }
2296
+ /**
2297
+ * Utility: Check if host is under construction
2298
+ */
2299
+ static isHostUnderConstruction(hostInfo) {
2300
+ return (hostInfo == null ? void 0 : hostInfo.hostType) === "IsUnderConstruction" /* IsUnderConstruction */;
2301
+ }
2302
+ /**
2303
+ * Utility: Check if host has protected paths
2304
+ */
2305
+ static hasProtectedPaths(hostInfo) {
2306
+ return Boolean(
2307
+ (hostInfo == null ? void 0 : hostInfo.protectedPaths) && hostInfo.protectedPaths.length > 0
2308
+ );
2309
+ }
2310
+ /**
2311
+ * Utility: Check if a path is protected for a host
2312
+ */
2313
+ static isPathProtected(hostInfo, path) {
2314
+ if (!(hostInfo == null ? void 0 : hostInfo.protectedPaths))
2315
+ return false;
2316
+ return hostInfo.protectedPaths.some(
2317
+ (protectedPath) => path.startsWith(protectedPath)
2318
+ );
2319
+ }
2320
+ /**
2321
+ * Utility: Get redirect URL for host
2322
+ */
2323
+ static getRedirectUrl(hostInfo) {
2324
+ return hostInfo == null ? void 0 : hostInfo.redirectUrl;
2325
+ }
2326
+ /**
2327
+ * Utility: Get tenant name from host info
2328
+ */
2329
+ static getTenantName(hostInfo) {
2330
+ return hostInfo == null ? void 0 : hostInfo.name;
2331
+ }
2332
+ /**
2333
+ * Utility: Validate host configuration
2334
+ */
2335
+ static validateHostInfo(hostInfo) {
2336
+ const errors = [];
2337
+ if (!hostInfo.host) {
2338
+ errors.push("Host is required");
2339
+ }
2340
+ if (!hostInfo.cmsUrl) {
2341
+ errors.push("CMS URL is required");
2342
+ }
2343
+ if (hostInfo.cmsUrl && !this.isValidUrl(hostInfo.cmsUrl)) {
2344
+ errors.push("CMS URL must be a valid URL");
2345
+ }
2346
+ if (hostInfo.redirectUrl && !this.isValidPath(hostInfo.redirectUrl)) {
2347
+ errors.push("Redirect URL must be a valid path");
2348
+ }
2349
+ return {
2350
+ isValid: errors.length === 0,
2351
+ errors
2352
+ };
2353
+ }
2354
+ /**
2355
+ * Utility: Check if URL is valid
2356
+ */
2357
+ static isValidUrl(url) {
2358
+ try {
2359
+ new URL(url);
2360
+ return true;
2361
+ } catch (e) {
2362
+ return false;
2363
+ }
2364
+ }
2365
+ /**
2366
+ * Utility: Check if path is valid
2367
+ */
2368
+ static isValidPath(path) {
2369
+ return path.startsWith("/") || path.startsWith("http");
2370
+ }
2371
+ /**
2372
+ * Utility: Get host info for current window location (client-side only)
2373
+ */
2374
+ static getCurrentHostInfo(hosts) {
2375
+ if (typeof window === "undefined")
2376
+ return void 0;
2377
+ return hosts.find((h) => h.host === window.location.host);
2378
+ }
2379
+ /**
2380
+ * Utility: Get host info for specific hostname from hosts array
2381
+ */
2382
+ static getHostInfoFromArray(hosts, hostname) {
2383
+ return hosts.find((h) => h.host === hostname);
2384
+ }
2385
+ /**
2386
+ * Utility: Filter hosts by tenant ID
2387
+ */
2388
+ static filterHostsByTenant(hosts, tenantId) {
2389
+ return hosts.filter((h) => h.tenantId === tenantId);
2390
+ }
2391
+ /**
2392
+ * Utility: Filter hosts by CMS URL
2393
+ */
2394
+ static filterHostsByCmsUrl(hosts, cmsUrl) {
2395
+ return hosts.filter((h) => h.cmsUrl === cmsUrl);
2396
+ }
2397
+ /**
2398
+ * Utility: Get unique tenant IDs from hosts
2399
+ */
2400
+ static getUniqueTenantIds(hosts) {
2401
+ const tenantIds = hosts.map((h) => h.tenantId).filter((id) => Boolean(id));
2402
+ return [...new Set(tenantIds)];
2403
+ }
2404
+ /**
2405
+ * Utility: Get unique CMS URLs from hosts
2406
+ */
2407
+ static getUniqueCmsUrls(hosts) {
2408
+ const cmsUrls = hosts.map((h) => h.cmsUrl);
2409
+ return [...new Set(cmsUrls)];
2410
+ }
2411
+ };
2412
+
2413
+ // src/models/ButtonType.ts
2414
+ var StyleType = /* @__PURE__ */ ((StyleType2) => {
2415
+ StyleType2[StyleType2["Primary"] = 0] = "Primary";
2416
+ StyleType2[StyleType2["Secondary"] = 1] = "Secondary";
2417
+ StyleType2[StyleType2["Success"] = 2] = "Success";
2418
+ StyleType2[StyleType2["Danger"] = 3] = "Danger";
2419
+ StyleType2[StyleType2["Warning"] = 4] = "Warning";
2420
+ StyleType2[StyleType2["Info"] = 5] = "Info";
2421
+ return StyleType2;
2422
+ })(StyleType || {});
2423
+
2424
+ // src/models/ViewStatus.ts
2425
+ var ViewStatus = /* @__PURE__ */ ((ViewStatus2) => {
2426
+ ViewStatus2[ViewStatus2["New"] = 0] = "New";
2427
+ ViewStatus2[ViewStatus2["Edit"] = 1] = "Edit";
2428
+ ViewStatus2[ViewStatus2["List"] = 2] = "List";
2429
+ ViewStatus2[ViewStatus2["View"] = 3] = "View";
2430
+ return ViewStatus2;
2431
+ })(ViewStatus || {});
2432
+
2433
+ // src/models/TaskStatus.ts
2434
+ var TaskStatus2 = /* @__PURE__ */ ((TaskStatus3) => {
2435
+ TaskStatus3["ASSIGNED"] = "ASSIGNED";
2436
+ TaskStatus3["SKIPPED"] = "SKIPPED";
2437
+ TaskStatus3["IN_REVIEW"] = "IN_REVIEW";
2438
+ TaskStatus3["SUBMITTED"] = "SUBMITTED";
2439
+ TaskStatus3["TO_FIX"] = "TO_FIX";
2440
+ TaskStatus3["ACCEPTED"] = "ACCEPTED";
2441
+ TaskStatus3["USER_DISCARDED"] = "USER_DISCARDED";
2442
+ TaskStatus3["DISCARDED"] = "DISCARDED";
2443
+ return TaskStatus3;
2444
+ })(TaskStatus2 || {});
2445
+ var TaskStatusColor = /* @__PURE__ */ ((TaskStatusColor2) => {
2446
+ TaskStatusColor2["ASSIGNED"] = "goldenrod";
2447
+ TaskStatusColor2["SKIPPED"] = "darkgray";
2448
+ TaskStatusColor2["IN_REVIEW"] = "pink";
2449
+ TaskStatusColor2["TO_FIX"] = "red";
2450
+ TaskStatusColor2["ACCEPTED"] = "violet";
2451
+ TaskStatusColor2["DISCARDED"] = "aqua";
2452
+ TaskStatusColor2["SUBMITTED"] = "green";
2453
+ TaskStatusColor2["USER_DISCARDED"] = "orange";
2454
+ return TaskStatusColor2;
2455
+ })(TaskStatusColor || {});
2456
+ var TaskEventType = /* @__PURE__ */ ((TaskEventType2) => {
2457
+ TaskEventType2["CREATED"] = "CREATED";
2458
+ TaskEventType2["NEW_ANNOTATION"] = "NEW_ANNOTATION";
2459
+ TaskEventType2["STATUS_UPDATED"] = "STATUS_UPDATED";
2460
+ TaskEventType2["COMMENT"] = "COMMENT";
2461
+ TaskEventType2["QUESTIONNAIRE"] = "QUESTIONNAIRE";
2462
+ TaskEventType2["REVIEW"] = "REVIEW";
2463
+ return TaskEventType2;
2464
+ })(TaskEventType || {});
2465
+ var TaskState = /* @__PURE__ */ ((TaskState2) => {
2466
+ TaskState2["ASSIGNED"] = "Assigned";
2467
+ TaskState2["SKIPPED"] = "Skip";
2468
+ TaskState2["IN_REVIEW"] = "Ask to Review";
2469
+ TaskState2["SUBMITTED"] = "Submit";
2470
+ TaskState2["TO_FIX"] = "To Fix";
2471
+ TaskState2["ACCEPTED"] = "Accept";
2472
+ TaskState2["USER_DISCARDED"] = "Discard";
2473
+ TaskState2["DISCARDED"] = "Discard";
2474
+ return TaskState2;
2475
+ })(TaskState || {});
2476
+ var AnnotationRequired = /* @__PURE__ */ ((AnnotationRequired2) => {
2477
+ AnnotationRequired2["NOT_REQUIRED"] = "NOT_REQUIRED";
2478
+ AnnotationRequired2["REQUIRED"] = "REQUIRED";
2479
+ AnnotationRequired2["OPTIONAL"] = "OPTIONAL";
2480
+ return AnnotationRequired2;
2481
+ })(AnnotationRequired || {});
2482
+ var QuestionnaireType = /* @__PURE__ */ ((QuestionnaireType2) => {
2483
+ QuestionnaireType2["TEXT"] = "TEXT";
2484
+ QuestionnaireType2["CONTEXT"] = "CONTEXT";
2485
+ QuestionnaireType2["SINGLE_CHOICE"] = "SINGLE_CHOICE";
2486
+ QuestionnaireType2["MULTI_CHOICE"] = "MULTI_CHOICE";
2487
+ QuestionnaireType2["DATETIME"] = "DATETIME";
2488
+ return QuestionnaireType2;
2489
+ })(QuestionnaireType || {});
2490
+
2491
+ // src/stores/breadCrumbs.ts
2492
+ var import_zustand = require("zustand");
2493
+ var initialState = [];
2494
+ var useBreadCrumbStore = (0, import_zustand.create)()((set) => ({
2495
+ breadCrumbs: initialState,
2496
+ reset: () => set((state) => {
2497
+ state.breadCrumbs.length = 1;
2498
+ return { breadCrumbs: state.breadCrumbs };
2499
+ }),
2500
+ add: (breadCrumb) => set((state) => {
2501
+ const mainArr = [].concat(
2502
+ ...state.breadCrumbs.map((x) => x.path)
2503
+ );
2504
+ const currArr = [].concat(breadCrumb == null ? void 0 : breadCrumb.map((x) => x.path));
2505
+ if (breadCrumb != null && mainArr.some((r) => currArr == null ? void 0 : currArr.includes(r)) == false) {
2506
+ breadCrumb.forEach((element) => {
2507
+ state.breadCrumbs.push(element);
2508
+ });
2509
+ } else {
2510
+ var index = mainArr.findIndex(
2511
+ (x) => x == currArr[currArr.length - 1]
2512
+ );
2513
+ state.breadCrumbs.length = index + 1;
2514
+ }
2515
+ return { breadCrumbs: state.breadCrumbs };
2516
+ }),
2517
+ remove: (breadCrumb) => set((state) => {
2518
+ var index = state.breadCrumbs.findIndex(
2519
+ (l) => (l == null ? void 0 : l.path) === breadCrumb.path
2520
+ );
2521
+ state.breadCrumbs.length = index + 1;
2522
+ return { breadCrumbs: state.breadCrumbs };
2523
+ })
2524
+ }));
2525
+
2526
+ // src/stores/layers.ts
2527
+ var import_zustand2 = require("zustand");
2528
+ var useLayerStore = (0, import_zustand2.create)()((set) => ({
2529
+ layers: [],
2530
+ add: (layer) => set((state) => {
2531
+ state.layers.push(layer);
2532
+ return { layers: state.layers };
2533
+ }),
2534
+ remove: (layer) => set((state) => {
2535
+ var index = state.layers.findIndex(
2536
+ (l) => l.ContentItemId === layer.ContentItemId
2537
+ );
2538
+ state.layers.splice(index, 1);
2539
+ return { layers: state.layers };
2540
+ })
2541
+ }));
2542
+
2543
+ // src/stores/settings.ts
2544
+ var import_vanilla2 = require("zustand/vanilla");
2545
+ var settingsStore = (0, import_vanilla2.createStore)(() => ({
2546
+ settings: null
2547
+ }));
2548
+
2549
+ // src/stores/panel.ts
2550
+ var import_zustand3 = require("zustand");
2551
+ var usePanelStore = (0, import_zustand3.create)((set) => ({
2552
+ isLeftPanelOpen: false,
2553
+ setIsLeftPanelOpen: (isLeftPanelOpen) => set({ isLeftPanelOpen }),
2554
+ isRightPanelOpen: false,
2555
+ setIsRightPanelOpen: (isRightPanelOpen) => set({ isRightPanelOpen }),
2556
+ panelRef: null,
2557
+ setPanelRef: (panelRef) => set({ panelRef }),
2558
+ showPanels: () => set((state) => {
2559
+ return __spreadProps(__spreadValues({}, state), {
2560
+ isLeftPanelOpen: true,
2561
+ isRightPanelOpen: true
2562
+ });
2563
+ })
2564
+ }));
2565
+
2566
+ // src/stores/basf.ts
2567
+ var import_zustand4 = require("zustand");
2568
+ var useBasfStore = (0, import_zustand4.create)((set) => ({
2569
+ selectedItems: [],
2570
+ // addItem: (item) =>
2571
+ // set((state) => ({
2572
+ // selectedItems: [
2573
+ // ...state.selectedItems,
2574
+ // { ...item, opacity: 1, enabled: true },
2575
+ // ],
2576
+ // rightPanelOpen: true,
2577
+ // })),
2578
+ addItem: (item) => set(() => ({
2579
+ selectedItems: [__spreadProps(__spreadValues({}, item), { opacity: 1, enabled: true })],
2580
+ rightPanelOpen: true
2581
+ })),
2582
+ removeItem: (id) => set((state) => ({
2583
+ selectedItems: state.selectedItems.filter((item) => item.id !== id)
2584
+ })),
2585
+ updateItemOpacity: (id, opacity) => set((state) => ({
2586
+ selectedItems: state.selectedItems.map(
2587
+ (item) => item.id === id ? __spreadProps(__spreadValues({}, item), { opacity }) : item
2588
+ )
2589
+ })),
2590
+ updateItemEnabled: (id, enabled) => set((state) => ({
2591
+ selectedItems: state.selectedItems.map(
2592
+ (item) => item.id === id ? __spreadProps(__spreadValues({}, item), { enabled }) : item
2593
+ )
2594
+ })),
2595
+ rightPanelOpen: false,
2596
+ leftPanelOpen: true,
2597
+ updateRightPanelOpen: (open) => set({ rightPanelOpen: open }),
2598
+ updateLeftPanelOpen: (open) => set({ leftPanelOpen: open })
2599
+ }));
2600
+
2601
+ // src/utils/common.ts
2602
+ var import_client = require("react-dom/client");
2603
+ var import_react_dom = require("react-dom");
2604
+ var import_next_localization = require("next-localization");
2605
+ var import_driver = require("driver.js");
2606
+ var import_driver2 = require("driver.js/dist/driver.css");
2607
+ var XLSX = __toESM(require("xlsx"));
2608
+ var i18n = (0, import_next_localization.I18n)();
2609
+ var getHtmlElementFromReactNode = (node) => {
2610
+ const div = document.createElement("div");
2611
+ const root = (0, import_client.createRoot)(div);
2612
+ queueMicrotask(() => {
2613
+ (0, import_react_dom.flushSync)(() => {
2614
+ root.render(node);
2615
+ });
2616
+ });
2617
+ return div;
2618
+ };
2619
+ var classNames = (...classes) => {
2620
+ return classes.filter(Boolean).join(" ");
2621
+ };
2622
+ function getButtonAppearance(type, background) {
2623
+ if (type === "primary") {
2624
+ if (background === "light") {
2625
+ return "dark";
2626
+ }
2627
+ return "white";
2628
+ } else if (type === "secondary") {
2629
+ if (background === "light") {
2630
+ return "dark-outline";
2631
+ }
2632
+ return "white-outline";
2633
+ }
2634
+ return "dark";
2635
+ }
2636
+ function getMediaUrl(url) {
2637
+ if (url == null) {
2638
+ return "";
2639
+ }
2640
+ if (url.startsWith("http") || url.startsWith("//")) {
2641
+ return url;
2642
+ }
2643
+ }
2644
+ var showIntroTour = (tourSteps) => {
2645
+ const driverObj = (0, import_driver.driver)({
2646
+ showProgress: true,
2647
+ showButtons: ["next", "previous", "close"],
2648
+ steps: tourSteps
2649
+ });
2650
+ setTimeout(() => {
2651
+ driverObj.drive();
2652
+ }, 100);
2653
+ };
2654
+ var tokenData = (token, field) => {
2655
+ try {
2656
+ return JSON.parse(
2657
+ window.atob(
2658
+ token !== void 0 ? token.split(".")[1].replace("-", "+").replace("_", "/") : ""
2659
+ )
2660
+ )[field];
2661
+ } catch (e) {
2662
+ console.error("Invalid JSON : ", e);
2663
+ }
2664
+ };
2665
+ var IsTokenExpired = (tokenExpires) => {
2666
+ try {
2667
+ if (tokenExpires)
2668
+ return new Date(tokenExpires).valueOf() < Date.now().valueOf();
2669
+ } catch (e) {
2670
+ console.log("Invlaid token to check expiry : ", e);
2671
+ }
2672
+ };
2673
+ var getHostFromRequest = (req) => {
2674
+ let host = req.headers.host;
2675
+ if (!host) {
2676
+ host = window.location.host;
2677
+ if (!host) {
2678
+ throw new Error("Host not found");
2679
+ }
2680
+ }
2681
+ if (host == null ? void 0 : host.startsWith("hpg1025")) {
2682
+ const forwardedHost = req == null ? void 0 : req.headers["x-forwarded-host"];
2683
+ if (forwardedHost) {
2684
+ host = forwardedHost;
2685
+ }
2686
+ }
2687
+ return host;
2688
+ };
2689
+ var shimmer = (w, h) => `
2690
+ <svg width="${w}" height="${h}" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
2691
+ <defs>
2692
+ <linearGradient id="g">
2693
+ <stop stop-color="#333" offset="20%" />
2694
+ <stop stop-color="#222" offset="50%" />
2695
+ <stop stop-color="#333" offset="70%" />
2696
+ </linearGradient>
2697
+ </defs>
2698
+ <rect width="${w}" height="${h}" fill="#333" />
2699
+ <rect id="r" width="${w}" height="${h}" fill="url(#g)" />
2700
+ <animate xlink:href="#r" attributeName="x" from="-${w}" to="${w}" dur="1s" repeatCount="indefinite" />
2701
+ </svg>`;
2702
+ var toBase64 = (str) => typeof window === "undefined" ? Buffer.from(str).toString("base64") : window.btoa(str);
2703
+ var keyStr = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";
2704
+ var triplet = (e1, e2, e3) => keyStr.charAt(e1 >> 2) + keyStr.charAt((e1 & 3) << 4 | e2 >> 4) + keyStr.charAt((e2 & 15) << 2 | e3 >> 6) + keyStr.charAt(e3 & 63);
2705
+ var rgbDataURL = (r, g, b) => `data:image/gif;base64,R0lGODlhAQABAPAA${triplet(0, r, g) + triplet(b, 255, 255)}/yH5BAAAAAAALAAAAAABAAEAAAICRAEAOw==`;
2706
+ var downloadData = (data, fileName) => {
2707
+ const worksheet = XLSX.utils.json_to_sheet(data);
2708
+ const workbook = XLSX.utils.book_new();
2709
+ XLSX.utils.book_append_sheet(workbook, worksheet, "Sheet1");
2710
+ XLSX.writeFile(workbook, fileName);
2711
+ };
2712
+ var scrollToFirstErrorElement = (errors) => {
2713
+ const errorsValues = Object.values(errors);
2714
+ console.log(errorsValues);
2715
+ if (errorsValues.length > 0) {
2716
+ var elements = Object.keys(errors).map((name) => document.getElementsByName(name)[0]).filter((x) => x !== void 0);
2717
+ if (elements.length === 0) {
2718
+ var selectors = Object.keys(errors).map(
2719
+ (name) => `[data-name="${name}"]`
2720
+ );
2721
+ var dataElements = selectors.map((selector) => document.querySelectorAll(selector)[0]).filter((x) => x !== void 0 && x !== null);
2722
+ if (dataElements.length > 0) {
2723
+ dataElements[0].scrollIntoView({
2724
+ behavior: "smooth",
2725
+ block: "center",
2726
+ inline: "center"
2727
+ });
2728
+ }
2729
+ }
2730
+ }
2731
+ };
2732
+ var downloadJSON = (data, fileName) => {
2733
+ const jsonString = JSON.stringify(data);
2734
+ const blob = new Blob([jsonString], { type: "application/json" });
2735
+ const url = URL.createObjectURL(blob);
2736
+ const link = document.createElement("a");
2737
+ link.href = url;
2738
+ link.download = fileName;
2739
+ document.body.appendChild(link);
2740
+ link.click();
2741
+ document.body.removeChild(link);
2742
+ URL.revokeObjectURL(url);
2743
+ };
2744
+ var formatUnixDate = (date) => {
2745
+ const dateObj = new Date(date);
2746
+ const year = dateObj.getFullYear();
2747
+ const month = String(dateObj.getMonth() + 1).padStart(2, "0");
2748
+ const day = String(dateObj.getDate()).padStart(2, "0");
2749
+ return `${year}-${month}-${day}`;
2750
+ };
2751
+
2752
+ // src/utils/Config.ts
2753
+ var import_outline = require("@heroicons/react/24/outline");
2754
+ var Config = {
2755
+ site_name: "Geo-Wiki",
2756
+ title: "Geo-Wiki",
2757
+ description: "Geo-Wiki",
2758
+ locale: "en"
2759
+ };
2760
+ var Permission = {
2761
+ FarmerCluster: {
2762
+ Default: "Framework.Cluster",
2763
+ Create: "Framework.Cluster.Create",
2764
+ Update: "Framework.Cluster.Update",
2765
+ Delete: "Framework.Cluster.Delete",
2766
+ AddNews: "Framework.Cluster.AddNews",
2767
+ EditNews: "Framework.Cluster.EditNews",
2768
+ DeleteNews: "Framework.Cluster.DeleteNews",
2769
+ ViewNews: "Framework.Cluster.ViewNews",
2770
+ ViewFarmers: "Framework.Cluster.ViewFarmers",
2771
+ RemoveFarmer: "Framework.Cluster.RemoveFarmer",
2772
+ AddFarmer: "Framework.Cluster.AddFarmer"
2773
+ },
2774
+ Resource: {
2775
+ Default: "Framework.Resource",
2776
+ Create: "Framework.Resource.Create",
2777
+ Update: "Framework.Resource.Update",
2778
+ Delete: "Framework.Resource.Delete"
2779
+ },
2780
+ File: {
2781
+ Default: "GeoWiki.File",
2782
+ Create: "GeoWiki.File.Create",
2783
+ Delete: "GeoWiki.File.Delete",
2784
+ Update: "GeoWiki.File.Update"
2785
+ },
2786
+ News: {
2787
+ Default: "GeoWiki.News",
2788
+ Create: "GeoWiki.News.Create",
2789
+ Delete: "GeoWiki.News.Delete",
2790
+ Update: "GeoWiki.News.Update"
2791
+ },
2792
+ Tenants: {
2793
+ Default: "AbpTenantManagement.Tenants",
2794
+ Create: "AbpTenantManagement.Tenants.Create",
2795
+ Delete: "AbpTenantManagement.Tenants.Delete",
2796
+ Update: "AbpTenantManagement.Tenants.Update",
2797
+ ManageConnectionStrings: "AbpTenantManagement.Tenants.ManageConnectionStrings",
2798
+ ManageFeatures: "AbpTenantManagement.Tenants.ManageFeatures"
2799
+ },
2800
+ Layer: {
2801
+ Default: "GeoWiki.Layer",
2802
+ Create: "GeoWiki.Layer.Create",
2803
+ Delete: "GeoWiki.Layer.Delete",
2804
+ Update: "GeoWiki.Layer.Update"
2805
+ },
2806
+ LayerCategory: {
2807
+ Default: "GeoWiki.LayerCategory",
2808
+ Create: "GeoWiki.LayerCategory.Create",
2809
+ Delete: "GeoWiki.LayerCategory.Delete",
2810
+ Update: "GeoWiki.LayerCategory.Update"
2811
+ },
2812
+ LayerInfo: {
2813
+ Default: "GeoWiki.LayerInfo",
2814
+ Create: "GeoWiki.LayerInfo.Create",
2815
+ Delete: "GeoWiki.LayerInfo.Delete",
2816
+ Update: "GeoWiki.LayerInfo.Update"
2817
+ },
2818
+ Settings: {
2819
+ Default: "GeoWiki.Settings",
2820
+ Create: "GeoWiki.Settings.Create",
2821
+ Update: "GeoWiki.Settings.Update"
2822
+ },
2823
+ Dashboard: {
2824
+ Default: "GeoWiki.Dashboard"
2825
+ }
2826
+ };
2827
+ var USER_ROLE = /* @__PURE__ */ ((USER_ROLE2) => {
2828
+ USER_ROLE2["ADMIN"] = "admin";
2829
+ USER_ROLE2["FARMER_CLUSTER_ADMIN"] = "FarmerClusterAdmin";
2830
+ return USER_ROLE2;
2831
+ })(USER_ROLE || {});
2832
+ var PermissionProvider = /* @__PURE__ */ ((PermissionProvider2) => {
2833
+ PermissionProvider2["U"] = "U";
2834
+ PermissionProvider2["R"] = "R";
2835
+ PermissionProvider2["T"] = "T";
2836
+ return PermissionProvider2;
2837
+ })(PermissionProvider || {});
2838
+ var Features = {
2839
+ FarmerCluster: "Framework.FarmerCluster",
2840
+ FarmerClusterNews: "Framework.FarmerCluster.News",
2841
+ SettingManagementEnable: "SettingManagement.Enable",
2842
+ GeoWikiLogin: "GeoWiki.Login",
2843
+ GeoWikiSettings: "GeoWiki.Settings",
2844
+ SettingManagementAllowTenantsToChangeEmailSettings: "SettingManagement.AllowTenantsToChangeEmailSettings",
2845
+ Resources: "Framework.FarmerCluster.Resource"
2846
+ };
2847
+ var FarmingSystem = [
2848
+ { value: "Conventional", label: "Conventional" },
2849
+ { value: "Organic", label: "Organic" },
2850
+ { value: "Certified", label: "Certified" },
2851
+ { value: "Other", label: "Other" }
2852
+ ];
2853
+ var MainAgriculturalAreas = [
2854
+ { value: "NonPermanentCrops", label: "Non permanent crops" },
2855
+ {
2856
+ value: "PermanentCultureAndTrees",
2857
+ label: "Permanent cultures and trees (fruit orchards, plantations, olive groves, vineyards, tree nurseries, etc.)"
2858
+ },
2859
+ { value: "TemporaryFallow", label: "Temporary fallow" },
2860
+ {
2861
+ value: "Grassland",
2862
+ label: "Grassland (meadows, pasture, other grassland)"
2863
+ },
2864
+ { value: "Other", label: "Other" }
2865
+ ];
2866
+ var MainCrops = [
2867
+ { value: "Cereals", label: "Cereals" },
2868
+ { value: "VegetablesAndMelons", label: "Vegetables and melons" },
2869
+ { value: "FruitAndNuts", label: "Fruit and nuts" },
2870
+ { value: "OilseedCrops", label: "Oilseed crops" },
2871
+ { value: "RootsAndTubers", label: "Roots and tubers" },
2872
+ { value: "BeverageCropsAndSpices", label: "Beverage crops and spices" },
2873
+ { value: "LeguminousCrops", label: "Leguminous crops" },
2874
+ { value: "SugarCrops", label: "Sugar crops" },
2875
+ {
2876
+ value: "OtherCropsIncludingGrasses",
2877
+ label: "Other crops, including grasses"
2878
+ }
2879
+ ];
2880
+ var LiveStock = [
2881
+ { value: "Cattle", label: "Cattle" },
2882
+ { value: "SheepAndGoats", label: "Sheep and goats" },
2883
+ { value: "Pigs", label: "Pigs" },
2884
+ {
2885
+ value: "HorsesMulesAndOtherEquines",
2886
+ label: "Horses, mules and other equines"
2887
+ },
2888
+ { value: "CamelsAndCamelids", label: "Camels and camelids" },
2889
+ { value: "Poultry", label: "Poultry" },
2890
+ { value: "InsectsIncludingBees", label: "Insects, including bees" },
2891
+ { value: "PigeonsAndOtherBirds", label: "Pigeons and other birds" },
2892
+ { value: "OtherAnimals", label: "Other animals" },
2893
+ { value: "NoLivestock", label: "No livestock" }
2894
+ ];
2895
+ var OtherLandscapeElements = [
2896
+ {
2897
+ value: "WoodyElements",
2898
+ label: "Woody elements (trees, tree lines, hedges, other woody strips)"
2899
+ },
2900
+ { value: "FlowerAreasAndStrips", label: "Flower areas and strips" },
2901
+ { value: "Scrubland", label: "Scrubland" },
2902
+ {
2903
+ value: "GrassStripsReedOrSedgeBeds",
2904
+ label: "Grassy strips, reed or sedge beds"
2905
+ },
2906
+ {
2907
+ value: "WaterElement",
2908
+ label: "Water elements (running fresh water, ponds, ditches)"
2909
+ },
2910
+ {
2911
+ value: "StoneRockAndSand",
2912
+ label: "Stone, rock, sands, bare soil or terrace elements"
2913
+ },
2914
+ { value: "Forest", label: "Forest" },
2915
+ { value: "Wetland", label: "Wetland" },
2916
+ { value: "OpenWaters", label: "Open waters" }
2917
+ ];
2918
+ var HuntingManagement = [
2919
+ { value: "SmallGame", label: "Small game" },
2920
+ { value: "BigGame", label: "Big game" },
2921
+ { value: "NoHunting", label: "No hunting" }
2922
+ ];
2923
+ var ClusterFunding = [
2924
+ { value: "LocalAndRegional", label: "Local / Regional" },
2925
+ { value: "National", label: "National" },
2926
+ { value: "DirectEU", label: "Direct EU" },
2927
+ { value: "SelfFunded", label: "Self funded" },
2928
+ { value: "Other", label: "Other" }
2929
+ ];
2930
+ var ActivityStatus = [
2931
+ { value: "Active", label: "Active" },
2932
+ { value: "Dormant", label: "Dormant" },
2933
+ { value: "Discontinued", label: "Discontinued" }
2934
+ ];
2935
+ var routes = {
2936
+ EditFarmerCluster: [
2937
+ {
2938
+ path: "/",
2939
+ name: "Home"
2940
+ },
2941
+ {
2942
+ path: "/admin/cluster",
2943
+ name: "My Area"
2944
+ },
2945
+ {
2946
+ path: "/admin/cluster",
2947
+ name: "My Farmer Clusters"
2948
+ },
2949
+ {
2950
+ path: "#",
2951
+ name: "Edit Farmer Cluster"
2952
+ }
2953
+ ],
2954
+ ViewFarmerClusterNews: [
2955
+ {
2956
+ path: "/",
2957
+ name: "Home"
2958
+ },
2959
+ {
2960
+ path: "/farmer-cluster",
2961
+ name: "Farmer Clusters"
2962
+ }
2963
+ ]
2964
+ };
2965
+ var imageMaxDimension = {
2966
+ width: 1920,
2967
+ height: 1080
2968
+ };
2969
+ var imageMinDimension = {
2970
+ width: 400,
2971
+ height: 250
2972
+ };
2973
+ var ImageError = "Image size requires a minimum 400px width and 250px height and is limited to max 1920px width and 1080px height.";
2974
+ var ColorArray = [
2975
+ "#423e4f",
2976
+ "#0072bb",
2977
+ "#009489",
2978
+ "#a47218",
2979
+ "#516c24",
2980
+ "#EC7063",
2981
+ "#5B2C6F",
2982
+ "#F1C40F"
2983
+ ];
2984
+ var ColorArrayCSSClass = [
2985
+ "bg-zinc-600",
2986
+ "bg-sky-600",
2987
+ "bg-teal-600",
2988
+ "bg-yellow-600",
2989
+ "bg-primary",
2990
+ "bg-rose-300",
2991
+ "bg-purple-600",
2992
+ "bg-orange-300"
2993
+ ];
2994
+ var Responsive = {
2995
+ desktop: {
2996
+ breakpoint: { max: 3e3, min: 1024 },
2997
+ items: 3,
2998
+ slidesToSlide: 3
2999
+ // optional, default to 1.
3000
+ },
3001
+ tablet: {
3002
+ breakpoint: { max: 1024, min: 464 },
3003
+ items: 2,
3004
+ slidesToSlide: 2
3005
+ // optional, default to 1.
3006
+ },
3007
+ mobile: {
3008
+ breakpoint: { max: 464, min: 0 },
3009
+ items: 1,
3010
+ slidesToSlide: 1
3011
+ // optional, default to 1.
3012
+ }
3013
+ };
3014
+ var ResourcesMenu = [
3015
+ {
3016
+ id: "1",
3017
+ name: "Resources",
3018
+ url: "/resources",
3019
+ newTab: false,
3020
+ children: [
3021
+ {
3022
+ id: "2",
3023
+ name: "Resource Finder",
3024
+ url: "/resources",
3025
+ newTab: false
3026
+ },
3027
+ {
3028
+ id: "3",
3029
+ name: "Collections",
3030
+ url: "/resources/collections",
3031
+ newTab: false
3032
+ }
3033
+ ]
3034
+ }
3035
+ ];
3036
+ var NewsDefaultImage = "3a084680-7984-e07d-d44e-d58f946604e3";
3037
+ var LookUps = {
3038
+ ClusterCountries: "Get countries in clusters",
3039
+ ClusterActivityStatus: "Get activity status in clusters",
3040
+ ClusterFarmingSystem: "Get farming system in clusters",
3041
+ ClusterMainAgricultureArea: "Get main agriculture areas in clusters",
3042
+ ClusterMainCrops: "Get main crops in clusters"
3043
+ };
3044
+ var AdminMenus = [
3045
+ {
3046
+ name: "Home",
3047
+ link: "/admin",
3048
+ icon: import_outline.HomeIcon
3049
+ },
3050
+ {
3051
+ name: "Administration",
3052
+ icon: import_outline.WrenchIcon,
3053
+ children: [
3054
+ {
3055
+ name: "Roles",
3056
+ link: "/admin/users/roles"
3057
+ },
3058
+ {
3059
+ name: "Users",
3060
+ link: "/admin/users"
3061
+ }
3062
+ ],
3063
+ roles: ["admin" /* ADMIN */]
3064
+ },
3065
+ {
3066
+ name: "Tenant Management",
3067
+ icon: import_outline.UserIcon,
3068
+ children: [
3069
+ {
3070
+ name: "Tenants",
3071
+ link: "/admin/tenants"
3072
+ }
3073
+ ],
3074
+ roles: ["admin" /* ADMIN */]
3075
+ },
3076
+ {
3077
+ name: "Settings",
3078
+ link: "/admin/settings",
3079
+ icon: "SettingsIcon",
3080
+ roles: ["admin" /* ADMIN */]
3081
+ },
3082
+ {
3083
+ name: "Account",
3084
+ link: "/profile",
3085
+ icon: "AccountIcon",
3086
+ roles: ["admin" /* ADMIN */, "FarmerClusterAdmin" /* FARMER_CLUSTER_ADMIN */]
3087
+ },
3088
+ {
3089
+ name: "Farmer Clusters",
3090
+ link: "/admin/cluster",
3091
+ icon: "FarmerClustersIcon",
3092
+ roles: ["admin" /* ADMIN */, "FarmerClusterAdmin" /* FARMER_CLUSTER_ADMIN */],
3093
+ feature: [Features.FarmerCluster]
3094
+ },
3095
+ {
3096
+ name: "Resources",
3097
+ link: "/admin/resource",
3098
+ icon: "ResourcesIcon",
3099
+ roles: ["admin" /* ADMIN */],
3100
+ feature: [Features.Resources]
3101
+ }
3102
+ ];
3103
+ var CLUSTER_ACTIVITY_STATUS = [
3104
+ { value: "Active", label: "Active" },
3105
+ { value: "Dormant", label: "Dormant" },
3106
+ { value: "Discontinued", label: "Discontinued" }
3107
+ ];
3108
+
3109
+ // src/utils/analytics.ts
3110
+ var trackUmamiEvent = (eventName, eventData, session) => {
3111
+ var _a, _b, _c;
3112
+ console.log("trackUmamiEvent called:", eventName, eventData);
3113
+ if (typeof window !== "undefined" && window.umami) {
3114
+ const userInfo = session ? {
3115
+ userId: (_a = session.user) == null ? void 0 : _a.email,
3116
+ // Using email as userId since id might not be available
3117
+ userEmail: (_b = session.user) == null ? void 0 : _b.email,
3118
+ userName: (_c = session.user) == null ? void 0 : _c.name
3119
+ } : {};
3120
+ window.umami.track(eventName, __spreadValues(__spreadValues({}, eventData), userInfo));
3121
+ console.log("Umami track called with:", eventName, __spreadValues(__spreadValues({}, eventData), userInfo));
3122
+ } else {
3123
+ console.log("Umami not available or window undefined");
3124
+ }
3125
+ };
3126
+ var trackDownloadEvent = {
3127
+ /**
3128
+ * Track download attempt
3129
+ */
3130
+ attempt: (format, country, version, purpose, session) => {
3131
+ trackUmamiEvent(
3132
+ "download_attempt",
3133
+ { format, country, version, purpose },
3134
+ session
3135
+ );
3136
+ },
3137
+ /**
3138
+ * Track successful download
3139
+ */
3140
+ success: (filename, purpose, session) => {
3141
+ trackUmamiEvent("download_success", { filename, purpose }, session);
3142
+ },
3143
+ /**
3144
+ * Track download failure
3145
+ */
3146
+ failure: (error, purpose, session) => {
3147
+ trackUmamiEvent("download_failure", { error, purpose }, session);
3148
+ },
3149
+ /**
3150
+ * Track login attempt for download access
3151
+ */
3152
+ loginAttempt: (session) => {
3153
+ trackUmamiEvent("download_login_attempt", {}, session);
3154
+ }
3155
+ };
3156
+ var trackAuthEvent = {
3157
+ /**
3158
+ * Track login attempt
3159
+ */
3160
+ loginAttempt: (provider, session) => {
3161
+ trackUmamiEvent("auth_login_attempt", { provider }, session);
3162
+ },
3163
+ /**
3164
+ * Track successful login
3165
+ */
3166
+ loginSuccess: (provider, session) => {
3167
+ trackUmamiEvent("auth_login_success", { provider }, session);
3168
+ },
3169
+ /**
3170
+ * Track logout
3171
+ */
3172
+ logout: (session) => {
3173
+ trackUmamiEvent("auth_logout", {}, session);
3174
+ }
3175
+ };
3176
+ var trackUserEvent = {
3177
+ /**
3178
+ * Track page view
3179
+ */
3180
+ pageView: (page, session) => {
3181
+ trackUmamiEvent("page_view", { page }, session);
3182
+ },
3183
+ /**
3184
+ * Track button click
3185
+ */
3186
+ buttonClick: (buttonName, context, session) => {
3187
+ trackUmamiEvent("button_click", { buttonName, context }, session);
3188
+ },
3189
+ /**
3190
+ * Track form submission
3191
+ */
3192
+ formSubmit: (formName, session) => {
3193
+ trackUmamiEvent("form_submit", { formName }, session);
3194
+ },
3195
+ /**
3196
+ * Track map control button click with specific context
3197
+ */
3198
+ mapControlClick: (controlName, action, session) => {
3199
+ trackUmamiEvent("map_control_click", { controlName, action }, session);
3200
+ }
3201
+ };
3202
+ var trackMapEvent = {
3203
+ /**
3204
+ * Track layer toggle
3205
+ */
3206
+ layerToggle: (layerName, action, session) => {
3207
+ console.log("Tracking layer toggle:", layerName, action);
3208
+ trackUmamiEvent("map_layer_toggle", { layerName, action }, session);
3209
+ },
3210
+ /**
3211
+ * Track base layer change
3212
+ */
3213
+ baseLayerChange: (baseLayerName, session) => {
3214
+ trackUmamiEvent("map_base_layer_change", { baseLayerName }, session);
3215
+ },
3216
+ /**
3217
+ * Track layer opacity change
3218
+ */
3219
+ layerOpacityChange: (layerName, opacity, session) => {
3220
+ trackUmamiEvent(
3221
+ "map_layer_opacity_change",
3222
+ { layerName, opacity },
3223
+ session
3224
+ );
3225
+ },
3226
+ /**
3227
+ * Track layer reorder
3228
+ */
3229
+ layerReorder: (layerName, newPosition, session) => {
3230
+ trackUmamiEvent("map_layer_reorder", { layerName, newPosition }, session);
3231
+ },
3232
+ /**
3233
+ * Track layer info view
3234
+ */
3235
+ layerInfoView: (layerName, session) => {
3236
+ trackUmamiEvent("map_layer_info_view", { layerName }, session);
3237
+ },
3238
+ /**
3239
+ * Track measurement tool usage
3240
+ */
3241
+ measurementTool: (action, session) => {
3242
+ trackUmamiEvent("map_measurement_tool", { action }, session);
3243
+ },
3244
+ /**
3245
+ * Track zoom control usage
3246
+ */
3247
+ zoomControl: (action, session) => {
3248
+ trackUmamiEvent("map_zoom_control", { action }, session);
3249
+ },
3250
+ /**
3251
+ * Track legend interaction
3252
+ */
3253
+ legendInteraction: (action, session) => {
3254
+ trackUmamiEvent("map_legend_interaction", { action }, session);
3255
+ }
3256
+ };
3257
+ // Annotate the CommonJS export names for ESM import in node:
3258
+ 0 && (module.exports = {
3259
+ ActivityStatus,
3260
+ AdminMenus,
3261
+ AnnotationRequired,
3262
+ CLUSTER_ACTIVITY_STATUS,
3263
+ ClusterFunding,
3264
+ ColorArray,
3265
+ ColorArrayCSSClass,
3266
+ Config,
3267
+ DOTS,
3268
+ FarmingSystem,
3269
+ Features,
3270
+ HostService,
3271
+ HostType,
3272
+ HuntingManagement,
3273
+ ImageError,
3274
+ IsTokenExpired,
3275
+ LiveStock,
3276
+ LookUps,
3277
+ MainAgriculturalAreas,
3278
+ MainCrops,
3279
+ NewsDefaultImage,
3280
+ OtherLandscapeElements,
3281
+ Permission,
3282
+ PermissionProvider,
3283
+ QueryConstants,
3284
+ QueryNames,
3285
+ QuestionnaireType,
3286
+ ResourcesMenu,
3287
+ Responsive,
3288
+ StyleType,
3289
+ TaskEventType,
3290
+ TaskState,
3291
+ TaskStatus,
3292
+ TaskStatusColor,
3293
+ USER_ROLE,
3294
+ ViewStatus,
3295
+ classNames,
3296
+ configStore,
3297
+ delayedSlideInUp,
3298
+ downloadData,
3299
+ downloadJSON,
3300
+ easing,
3301
+ findHostInfo,
3302
+ formatUnixDate,
3303
+ getButtonAppearance,
3304
+ getCmsUrlForHost,
3305
+ getContentWithSlug,
3306
+ getContentWithTypeAndDisplayName,
3307
+ getContentsWithType,
3308
+ getDefaultSettings,
3309
+ getGeoWikiSettings,
3310
+ getHostData,
3311
+ getHostFromRequest,
3312
+ getHtmlElementFromReactNode,
3313
+ getMediaUrl,
3314
+ getMenus,
3315
+ getPageContent,
3316
+ getPageProps,
3317
+ getTenantIdForHost,
3318
+ i18n,
3319
+ imageMaxDimension,
3320
+ imageMinDimension,
3321
+ itemVariants,
3322
+ keyStr,
3323
+ listVariants,
3324
+ rgbDataURL,
3325
+ routes,
3326
+ scrollToFirstErrorElement,
3327
+ settingsStore,
3328
+ shimmer,
3329
+ showIntroTour,
3330
+ slideInLeft,
3331
+ slideInRight,
3332
+ slideInUp,
3333
+ spring,
3334
+ toBase64,
3335
+ tokenData,
3336
+ trackAuthEvent,
3337
+ trackDownloadEvent,
3338
+ trackMapEvent,
3339
+ trackUmamiEvent,
3340
+ trackUserEvent,
3341
+ triplet,
3342
+ useAllNewsFromAllClusters,
3343
+ useApiImage,
3344
+ useApiUrl,
3345
+ useAppConfig,
3346
+ useAssignProjectToUser,
3347
+ useAssignableRoles,
3348
+ useAudience,
3349
+ useBasfStore,
3350
+ useBreadCrumbStore,
3351
+ useCluster,
3352
+ useClusterAllNews,
3353
+ useClusterDescription,
3354
+ useClusterDetails,
3355
+ useClusterFilterSettings,
3356
+ useClusterGetJoinRequests,
3357
+ useClusterGetNews,
3358
+ useClusterGetNewsNextPreviousStatus,
3359
+ useClusterImages,
3360
+ useClusterImagesAndVideos,
3361
+ useClusterLinks,
3362
+ useClusterMapInfo,
3363
+ useClusterNews,
3364
+ useClusterNewsWithId,
3365
+ useClusterOverview,
3366
+ useClusters,
3367
+ useCmsContentWithType,
3368
+ useCmsImage,
3369
+ useCmsUrl,
3370
+ useConfigSettings,
3371
+ useContractStatisticsByUser,
3372
+ useCountries,
3373
+ useCreateHost,
3374
+ useCurrentUser,
3375
+ useDefaultSettings,
3376
+ useDeleteHost,
3377
+ useDimensions,
3378
+ useEmailing,
3379
+ useEvolandBands,
3380
+ useEvolandLabels,
3381
+ useEvolandWmsLayers,
3382
+ useFeature,
3383
+ useFeatures,
3384
+ useFileUpload,
3385
+ useFileUrl,
3386
+ useFilterClusters,
3387
+ useGeoWikiSettings,
3388
+ useGetUserProject,
3389
+ useGrantedPolicies,
3390
+ useGroupsInProject,
3391
+ useHost,
3392
+ useHosts,
3393
+ useImageUrl,
3394
+ useIntroTourSettings,
3395
+ useIsAdmin,
3396
+ useIsAuthenticated,
3397
+ useIsInRole,
3398
+ useLanguages,
3399
+ useLatestTaskOnLocation,
3400
+ useLayerInfo,
3401
+ useLayerStore,
3402
+ useLocation,
3403
+ useLocationBulkUpload,
3404
+ useLocationsForProject,
3405
+ useLockBodyScroll,
3406
+ useLookUp,
3407
+ useMapMenuItems,
3408
+ useNews,
3409
+ useNewsFromAllClusters,
3410
+ usePagination,
3411
+ usePanelStore,
3412
+ usePermission,
3413
+ usePermissions,
3414
+ useProfile,
3415
+ useProjectDetails,
3416
+ useProjectResultSet,
3417
+ useProjectStatisticsByUser,
3418
+ useProjectUsers,
3419
+ useProjects,
3420
+ useProjectsPointsDownload,
3421
+ usePublicationSettings,
3422
+ useQuestionnaire,
3423
+ useRandomTasksPerLocation,
3424
+ useRenderInfo,
3425
+ useResource,
3426
+ useResourceFilter,
3427
+ useResourceType,
3428
+ useReviewTaskBulkUpload,
3429
+ useRoles,
3430
+ useTaskAnnotation,
3431
+ useTaskAnswers,
3432
+ useTaskBulkUpload,
3433
+ useTaskComments,
3434
+ useTaskDelete,
3435
+ useTaskMultipleAnnotations,
3436
+ useTaskSavedAnnotations,
3437
+ useTaskStatusList,
3438
+ useTasksPerLocation,
3439
+ useTenants,
3440
+ useTopic,
3441
+ useUpdateActiveGroupInProject,
3442
+ useUpdateHost,
3443
+ useUpdateUserDetail,
3444
+ useUserProfileGet,
3445
+ useUserRoles,
3446
+ useUsers
3447
+ });