@timardex/cluemart-shared 1.6.130 → 1.7.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/ad-CVkVX_z5.d.ts +296 -0
- package/dist/ad-DA9ECAhK.d.mts +296 -0
- package/dist/affiliate-1RtkLnLP.d.ts +35 -0
- package/dist/affiliate-Cos2Syz5.d.mts +35 -0
- package/dist/chunk-HZMP7GXC.mjs +5330 -0
- package/dist/chunk-HZMP7GXC.mjs.map +1 -0
- package/dist/chunk-KZTOISPA.mjs +272 -0
- package/dist/chunk-KZTOISPA.mjs.map +1 -0
- package/dist/chunk-MVQ3CFQR.mjs +230 -0
- package/dist/chunk-MVQ3CFQR.mjs.map +1 -0
- package/dist/chunk-NPFJ2CN2.mjs +109 -0
- package/dist/chunk-NPFJ2CN2.mjs.map +1 -0
- package/dist/chunk-RKIRWZCH.mjs +368 -0
- package/dist/chunk-RKIRWZCH.mjs.map +1 -0
- package/dist/{chunk-OHHJ3KJJ.mjs → chunk-TAECMXM4.mjs} +267 -304
- package/dist/chunk-TAECMXM4.mjs.map +1 -0
- package/dist/chunk-VA5YN2K3.mjs +48 -0
- package/dist/chunk-VA5YN2K3.mjs.map +1 -0
- package/dist/chunk-ZZJSCYJK.mjs +958 -0
- package/dist/chunk-ZZJSCYJK.mjs.map +1 -0
- package/dist/contactUs-DGrDzJaM.d.mts +11 -0
- package/dist/contactUs-H7799pWe.d.ts +11 -0
- package/dist/enums/index.cjs +223 -2
- package/dist/enums/index.cjs.map +1 -1
- package/dist/enums/index.d.mts +164 -5
- package/dist/enums/index.d.ts +164 -5
- package/dist/enums/index.mjs +41 -1
- package/dist/formFields/index.cjs +168 -403
- package/dist/formFields/index.cjs.map +1 -1
- package/dist/formFields/index.d.mts +3 -6
- package/dist/formFields/index.d.ts +3 -6
- package/dist/formFields/index.mjs +47 -921
- package/dist/formFields/index.mjs.map +1 -1
- package/dist/global-BUUfmCo7.d.mts +698 -0
- package/dist/global-fKbMmluy.d.ts +698 -0
- package/dist/graphql/index.cjs +3329 -3340
- package/dist/graphql/index.cjs.map +1 -1
- package/dist/graphql/index.d.mts +487 -690
- package/dist/graphql/index.d.ts +487 -690
- package/dist/graphql/index.mjs +153 -2552
- package/dist/graphql/index.mjs.map +1 -1
- package/dist/hooks/index.cjs +3478 -773
- package/dist/hooks/index.cjs.map +1 -1
- package/dist/hooks/index.d.mts +6 -13
- package/dist/hooks/index.d.ts +6 -13
- package/dist/hooks/index.mjs +99 -193
- package/dist/hooks/index.mjs.map +1 -1
- package/dist/images/apple-maps-icon.webp.d.ts +1 -8
- package/dist/images/banner-horizontal.webp.d.ts +1 -8
- package/dist/images/banner-vertical.webp.d.ts +1 -8
- package/dist/images/cluiTui.webp.d.ts +1 -8
- package/dist/images/corporate.webp.d.ts +1 -8
- package/dist/images/facebook.webp.d.ts +1 -8
- package/dist/images/gazebo-top.webp.d.ts +1 -8
- package/dist/images/google-maps-icon.webp.d.ts +1 -8
- package/dist/images/googleMaps-logo-dark.webp.d.ts +1 -8
- package/dist/images/googleMaps-logo-light.webp.d.ts +1 -8
- package/dist/images/index.mjs +21 -86
- package/dist/images/index.mjs.map +1 -1
- package/dist/images/instagram.webp.d.ts +1 -8
- package/dist/images/logo-atr.webp.d.ts +1 -8
- package/dist/images/logo-dark.webp.d.ts +1 -8
- package/dist/images/logo.webp.d.ts +1 -8
- package/dist/images/meet.webp.d.ts +1 -8
- package/dist/images/mini-market1.webp.d.ts +1 -8
- package/dist/images/mini-market2.webp.d.ts +1 -8
- package/dist/images/mini-market3.webp.d.ts +1 -8
- package/dist/images/mini-market4.webp.d.ts +1 -8
- package/dist/images/mini-market5.webp.d.ts +1 -8
- package/dist/images/poll.webp.d.ts +1 -8
- package/dist/images/poster1.webp.d.ts +1 -8
- package/dist/images/poster2.webp.d.ts +1 -8
- package/dist/images/poster3.webp.d.ts +1 -8
- package/dist/images/poster4.webp.d.ts +1 -8
- package/dist/images/private.webp.d.ts +1 -8
- package/dist/images/qr-code.webp.d.ts +1 -8
- package/dist/images/school.webp.d.ts +1 -8
- package/dist/images/sima.webp.d.ts +1 -8
- package/dist/images/store-android.webp.d.ts +1 -8
- package/dist/images/store-ios.webp.d.ts +1 -8
- package/dist/images/tablas.webp.d.ts +1 -8
- package/dist/images/telefonos.webp.d.ts +1 -8
- package/dist/images/tiktok.webp.d.ts +1 -8
- package/dist/images/tip.webp.d.ts +1 -8
- package/dist/images/ugralos.webp.d.ts +1 -8
- package/dist/images/waze-maps-icon.webp.d.ts +1 -8
- package/dist/images/website.webp.d.ts +1 -8
- package/dist/images/youtube.webp.d.ts +1 -8
- package/dist/index.cjs +5883 -7079
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.mts +1692 -2966
- package/dist/index.d.ts +1692 -2966
- package/dist/index.mjs +5020 -6162
- package/dist/index.mjs.map +1 -1
- package/dist/map/index.cjs +9 -14
- package/dist/map/index.cjs.map +1 -1
- package/dist/map/index.d.mts +14 -18
- package/dist/map/index.d.ts +14 -18
- package/dist/map/index.mjs +9 -14
- package/dist/map/index.mjs.map +1 -1
- package/dist/resourceActivities-BL_12IAo.d.ts +125 -0
- package/dist/resourceActivities-zczOntNk.d.mts +125 -0
- package/dist/sharing/index.cjs +1272 -63
- package/dist/sharing/index.cjs.map +1 -1
- package/dist/sharing/index.d.mts +7 -32
- package/dist/sharing/index.d.ts +7 -32
- package/dist/sharing/index.mjs +30 -188
- package/dist/sharing/index.mjs.map +1 -1
- package/dist/theme/index.mjs +5 -41
- package/dist/theme/index.mjs.map +1 -1
- package/dist/types/index.cjs +110 -868
- package/dist/types/index.cjs.map +1 -1
- package/dist/types/index.d.mts +24 -230
- package/dist/types/index.d.ts +24 -230
- package/dist/types/index.mjs +27 -61
- package/dist/utils/index.cjs +214 -608
- package/dist/utils/index.cjs.map +1 -1
- package/dist/utils/index.d.mts +53 -107
- package/dist/utils/index.d.ts +53 -107
- package/dist/utils/index.mjs +15 -43
- package/package.json +12 -40
- package/dist/affiliate-Bqqlffw8.d.mts +0 -36
- package/dist/affiliate-Btlp5XUp.d.ts +0 -36
- package/dist/affiliateAdapters-BW3BY7c5.d.mts +0 -118
- package/dist/affiliateAdapters-C51ISmuA.d.ts +0 -118
- package/dist/apollo/index.cjs +0 -1383
- package/dist/apollo/index.cjs.map +0 -1
- package/dist/apollo/index.d.mts +0 -323
- package/dist/apollo/index.d.ts +0 -323
- package/dist/apollo/index.mjs +0 -1295
- package/dist/apollo/index.mjs.map +0 -1
- package/dist/auth/index.cjs +0 -3322
- package/dist/auth/index.cjs.map +0 -1
- package/dist/auth/index.d.mts +0 -164
- package/dist/auth/index.d.ts +0 -164
- package/dist/auth/index.mjs +0 -379
- package/dist/auth/index.mjs.map +0 -1
- package/dist/auth-BOmAO53v.d.ts +0 -169
- package/dist/auth-CsITA95p.d.mts +0 -169
- package/dist/chunk-DATBGC2K.mjs +0 -347
- package/dist/chunk-DATBGC2K.mjs.map +0 -1
- package/dist/chunk-DDHECBJR.mjs +0 -726
- package/dist/chunk-DDHECBJR.mjs.map +0 -1
- package/dist/chunk-INQCDU24.mjs +0 -139
- package/dist/chunk-INQCDU24.mjs.map +0 -1
- package/dist/chunk-NWWKI4PJ.mjs +0 -297
- package/dist/chunk-NWWKI4PJ.mjs.map +0 -1
- package/dist/chunk-OHHJ3KJJ.mjs.map +0 -1
- package/dist/chunk-RAYUJODN.mjs +0 -45
- package/dist/chunk-RAYUJODN.mjs.map +0 -1
- package/dist/chunk-TOEFAEF2.mjs +0 -69
- package/dist/chunk-TOEFAEF2.mjs.map +0 -1
- package/dist/chunk-UKW7NZEQ.mjs +0 -2813
- package/dist/chunk-UKW7NZEQ.mjs.map +0 -1
- package/dist/dailyClue-C6WXY73z.d.mts +0 -105
- package/dist/dailyClue-C6WXY73z.d.ts +0 -105
- package/dist/event-C9K7CSg4.d.ts +0 -53
- package/dist/event-W0NhL5Cd.d.mts +0 -53
- package/dist/global-BbSFfYdd.d.ts +0 -181
- package/dist/global-C6v9tRji.d.mts +0 -181
- package/dist/graphql-CDOfA79A.d.ts +0 -1253
- package/dist/graphql-CcvzTs9k.d.mts +0 -1253
- package/dist/resourceActivities-CS8YRIIL.d.mts +0 -89
- package/dist/resourceActivities-DOdNPkhW.d.ts +0 -89
- package/dist/subscription-Cj_qBA7u.d.mts +0 -20
- package/dist/subscription-OiJ50uJb.d.ts +0 -20
- package/dist/vendor-DmMi2qmx.d.mts +0 -73
- package/dist/vendor-M9hVZlni.d.ts +0 -73
|
@@ -1,101 +1,20 @@
|
|
|
1
1
|
import {
|
|
2
|
-
|
|
3
|
-
formatDate,
|
|
4
|
-
isIsoDateString,
|
|
5
|
-
mapArrayToOptions,
|
|
6
|
-
nzStartOfDay,
|
|
7
|
-
sortDatesChronologically,
|
|
8
|
-
stripOverlaySubtitleSpecialChars
|
|
9
|
-
} from "./chunk-NWWKI4PJ.mjs";
|
|
10
|
-
import {
|
|
2
|
+
PROMO_CODE_PREFIX,
|
|
11
3
|
gameScreenIdentifierList
|
|
12
|
-
} from "./chunk-
|
|
13
|
-
import {
|
|
14
|
-
isTransientNetworkError
|
|
15
|
-
} from "./chunk-RAYUJODN.mjs";
|
|
16
|
-
import {
|
|
17
|
-
PROMO_CODE_PREFIX
|
|
18
|
-
} from "./chunk-DATBGC2K.mjs";
|
|
4
|
+
} from "./chunk-MVQ3CFQR.mjs";
|
|
19
5
|
import {
|
|
6
|
+
EnumEventDateStatus,
|
|
7
|
+
EnumInviteStatus,
|
|
8
|
+
EnumPaymentMethod,
|
|
20
9
|
EnumRegions
|
|
21
|
-
} from "./chunk-
|
|
22
|
-
import {
|
|
23
|
-
InviteEnumType,
|
|
24
|
-
PaymentMethodEnumType
|
|
25
|
-
} from "./chunk-INQCDU24.mjs";
|
|
10
|
+
} from "./chunk-KZTOISPA.mjs";
|
|
26
11
|
|
|
27
|
-
// src/utils/
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
x = Math.imul(x ^ x >>> 15, x | 1);
|
|
34
|
-
x ^= x + Math.imul(x ^ x >>> 7, x | 61);
|
|
35
|
-
return ((x ^ x >>> 14) >>> 0) / 4294967296;
|
|
36
|
-
};
|
|
37
|
-
}
|
|
38
|
-
function hashStringToNumber(seed) {
|
|
39
|
-
let hash = 2166136261;
|
|
40
|
-
for (let i = 0; i < seed.length; i++) {
|
|
41
|
-
hash ^= seed.codePointAt(i) ?? 0;
|
|
42
|
-
hash = Math.imul(hash, 16777619);
|
|
43
|
-
}
|
|
44
|
-
return hash >>> 0;
|
|
45
|
-
}
|
|
46
|
-
function seededShuffle(array, seed) {
|
|
47
|
-
const rng = createSeededRng(hashStringToNumber(seed));
|
|
48
|
-
const result = [...array];
|
|
49
|
-
for (let i = result.length - 1; i > 0; i--) {
|
|
50
|
-
const j = Math.floor(rng() * (i + 1));
|
|
51
|
-
[result[i], result[j]] = [result[j], result[i]];
|
|
52
|
-
}
|
|
53
|
-
return result;
|
|
54
|
-
}
|
|
55
|
-
function getDayIndex(start, today) {
|
|
56
|
-
return today.diff(start, "day");
|
|
57
|
-
}
|
|
58
|
-
function computeDailyClueState(dailyClue) {
|
|
59
|
-
const { startDate, endDate } = dailyClue.gameFields.gameDate;
|
|
60
|
-
const { solutionShuffled, collected } = dailyClue.letterInfo;
|
|
61
|
-
const today = nzStartOfDay();
|
|
62
|
-
const start = nzStartOfDay(startDate);
|
|
63
|
-
const end = nzStartOfDay(endDate);
|
|
64
|
-
if (today.isBefore(start)) {
|
|
65
|
-
return null;
|
|
66
|
-
}
|
|
67
|
-
const shuffledPlacements = seededShuffle(
|
|
68
|
-
gameScreenIdentifierList,
|
|
69
|
-
start.toISOString()
|
|
70
|
-
);
|
|
71
|
-
const index = getDayIndex(start, today);
|
|
72
|
-
if (today.isAfter(end)) {
|
|
73
|
-
return {
|
|
74
|
-
todaysClue: null,
|
|
75
|
-
todaysLetter: null,
|
|
76
|
-
todaysPlacement: null
|
|
77
|
-
};
|
|
78
|
-
}
|
|
79
|
-
if (index < 0 || index >= solutionShuffled.length || index >= shuffledPlacements.length) {
|
|
80
|
-
return null;
|
|
81
|
-
}
|
|
82
|
-
const letterToday = solutionShuffled[index];
|
|
83
|
-
const placement = shuffledPlacements[index];
|
|
84
|
-
if (!letterToday || !placement) return null;
|
|
85
|
-
const alreadyCollectedToday = (collected ?? []).includes(letterToday);
|
|
86
|
-
if (alreadyCollectedToday) {
|
|
87
|
-
return {
|
|
88
|
-
todaysClue: null,
|
|
89
|
-
todaysLetter: null,
|
|
90
|
-
todaysPlacement: null
|
|
91
|
-
};
|
|
92
|
-
}
|
|
93
|
-
return {
|
|
94
|
-
todaysClue: placement.clue,
|
|
95
|
-
todaysLetter: letterToday,
|
|
96
|
-
todaysPlacement: placement.id
|
|
97
|
-
};
|
|
98
|
-
}
|
|
12
|
+
// src/utils/date.ts
|
|
13
|
+
import dayjs from "dayjs";
|
|
14
|
+
import customParseFormat from "dayjs/plugin/customParseFormat.js";
|
|
15
|
+
import isSameOrAfter from "dayjs/plugin/isSameOrAfter.js";
|
|
16
|
+
import timezone from "dayjs/plugin/timezone.js";
|
|
17
|
+
import utc from "dayjs/plugin/utc.js";
|
|
99
18
|
|
|
100
19
|
// src/utils/utils.ts
|
|
101
20
|
var removeTypename = (obj) => {
|
|
@@ -121,14 +40,17 @@ var removeTypename = (obj) => {
|
|
|
121
40
|
return obj;
|
|
122
41
|
};
|
|
123
42
|
var truncateText = (text, maxLength = 30) => {
|
|
124
|
-
|
|
125
|
-
return result.length > maxLength ? result.substring(0, maxLength) + "..." : result;
|
|
43
|
+
return text.length > maxLength ? text.substring(0, maxLength) + "..." : text;
|
|
126
44
|
};
|
|
45
|
+
var mapArrayToOptions = (items) => items.map((item) => ({
|
|
46
|
+
label: item,
|
|
47
|
+
value: item
|
|
48
|
+
}));
|
|
127
49
|
var capitalizeFirstLetter = (str) => {
|
|
128
50
|
return str.split(" ").map((word) => word.charAt(0).toUpperCase() + word.slice(1).toLowerCase()).join(" ");
|
|
129
51
|
};
|
|
130
52
|
var statusOptions = [
|
|
131
|
-
...Object.values(
|
|
53
|
+
...Object.values(EnumInviteStatus).map((status) => ({
|
|
132
54
|
label: status,
|
|
133
55
|
value: status
|
|
134
56
|
})).sort((a, b) => a.label.localeCompare(b.label))
|
|
@@ -137,39 +59,39 @@ var statusOptions = [
|
|
|
137
59
|
var availableRegionTypes = Object.values(EnumRegions);
|
|
138
60
|
var availableRegionOptions = mapArrayToOptions(availableRegionTypes);
|
|
139
61
|
var paymentMethodOptions = mapArrayToOptions(
|
|
140
|
-
Object.values(
|
|
62
|
+
Object.values(EnumPaymentMethod)
|
|
141
63
|
);
|
|
142
64
|
function normalizeUrl(url) {
|
|
143
|
-
|
|
144
|
-
|
|
65
|
+
if (!url.startsWith("http://") && !url.startsWith("https://")) {
|
|
66
|
+
return `https://${url}`;
|
|
67
|
+
}
|
|
68
|
+
return url;
|
|
145
69
|
}
|
|
146
70
|
var licenseNiceNames = {
|
|
147
|
-
["pro_event" /*
|
|
148
|
-
["pro_vendor" /*
|
|
149
|
-
["standard_event" /*
|
|
150
|
-
["standard_vendor" /*
|
|
151
|
-
["pro_plus_event" /*
|
|
152
|
-
["pro_plus_vendor" /*
|
|
153
|
-
["standard_partner" /*
|
|
154
|
-
["standard_affiliate" /* StandardAffiliate */]: "Affiliate",
|
|
155
|
-
["standard_school" /* StandardSchool */]: "School"
|
|
71
|
+
["pro_event" /* PRO_EVENT */]: "Pro Event",
|
|
72
|
+
["pro_vendor" /* PRO_VENDOR */]: "Pro Stallholder",
|
|
73
|
+
["standard_event" /* STANDARD_EVENT */]: "Standard Event",
|
|
74
|
+
["standard_vendor" /* STANDARD_VENDOR */]: "Standard Stallholder",
|
|
75
|
+
["pro_plus_event" /* PRO_PLUS_EVENT */]: "Pro+Ads Event",
|
|
76
|
+
["pro_plus_vendor" /* PRO_PLUS_VENDOR */]: "Pro+Ads Stallholder",
|
|
77
|
+
["standard_partner" /* STANDARD_PARTNER */]: "Partner"
|
|
156
78
|
};
|
|
157
79
|
var cluemartSocialMedia = [
|
|
158
80
|
{
|
|
159
81
|
link: "https://www.facebook.com/ClueMartApp",
|
|
160
|
-
name: "facebook" /*
|
|
82
|
+
name: "facebook" /* FACEBOOK */
|
|
161
83
|
},
|
|
162
84
|
{
|
|
163
85
|
link: "https://www.instagram.com/cluemart_app",
|
|
164
|
-
name: "instagram" /*
|
|
86
|
+
name: "instagram" /* INSTAGRAM */
|
|
165
87
|
},
|
|
166
88
|
{
|
|
167
89
|
link: "https://www.tiktok.com/@cluemart",
|
|
168
|
-
name: "tiktok" /*
|
|
90
|
+
name: "tiktok" /* TIKTOK */
|
|
169
91
|
},
|
|
170
92
|
{
|
|
171
93
|
link: "https://www.youtube.com/@ClueMart-App-NZ",
|
|
172
|
-
name: "youtube" /*
|
|
94
|
+
name: "youtube" /* YOUTUBE */
|
|
173
95
|
}
|
|
174
96
|
];
|
|
175
97
|
var IOS_URL = "https://apps.apple.com/nz/app/cluemart/id6747251008";
|
|
@@ -178,34 +100,204 @@ var DEFAULT_RESOURCES_RETURN_LIMIT = 1e3;
|
|
|
178
100
|
var DEFAULT_RESOURCES_RETURN_OFFSET = 0;
|
|
179
101
|
var CLUEMART_MAIN_DOMAIN_URL = "https://cluemart.co.nz";
|
|
180
102
|
var rewardNiceNames = {
|
|
181
|
-
["mystery_joy_box" /*
|
|
103
|
+
["mystery_joy_box" /* MYSTERY_JOY_BOX */]: {
|
|
182
104
|
name: "Mystery Joy Box",
|
|
183
105
|
points: 250
|
|
184
106
|
},
|
|
185
|
-
["mystery_squeeze_box" /*
|
|
107
|
+
["mystery_squeeze_box" /* MYSTERY_SQUEEZE_BOX */]: {
|
|
186
108
|
name: "Mystery Squeeze Box",
|
|
187
109
|
points: 350
|
|
188
110
|
},
|
|
189
|
-
["mystery_deluxe_box" /*
|
|
111
|
+
["mystery_deluxe_box" /* MYSTERY_DELUXE_BOX */]: {
|
|
190
112
|
name: "Mystery Deluxe Box",
|
|
191
113
|
points: 500
|
|
192
114
|
}
|
|
193
115
|
};
|
|
194
116
|
var PostTypeLabels = {
|
|
195
|
-
["market_faces" /*
|
|
196
|
-
["clue_bites" /*
|
|
197
|
-
["play_and_win" /*
|
|
117
|
+
["market_faces" /* MARKET_FACES */]: "Market Faces",
|
|
118
|
+
["clue_bites" /* CLUE_BITES */]: "Clue Bites",
|
|
119
|
+
["play_and_win" /* PLAY_AND_WIN */]: "Play & Win"
|
|
198
120
|
};
|
|
199
121
|
var CM_SCHOOL_PROMO_CODE = `${PROMO_CODE_PREFIX}SCHOOL`;
|
|
200
122
|
var CM_AFFILIATE_PROMO_CODE = `${PROMO_CODE_PREFIX}AFFILIATE`;
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
123
|
+
|
|
124
|
+
// src/utils/date.ts
|
|
125
|
+
var dateFormat = "DD-MM-YYYY";
|
|
126
|
+
var timeFormat = "HH:mm";
|
|
127
|
+
dayjs.extend(customParseFormat);
|
|
128
|
+
dayjs.extend(utc);
|
|
129
|
+
dayjs.extend(timezone);
|
|
130
|
+
dayjs.extend(isSameOrAfter);
|
|
131
|
+
var NZ_TZ = "Pacific/Auckland";
|
|
132
|
+
function toNZTime(date) {
|
|
133
|
+
return date ? dayjs(date).tz(NZ_TZ) : dayjs().tz(NZ_TZ);
|
|
134
|
+
}
|
|
135
|
+
function nzStartOfDay(input) {
|
|
136
|
+
if (input == null) {
|
|
137
|
+
return dayjs().tz(NZ_TZ).startOf("day");
|
|
138
|
+
}
|
|
139
|
+
return dayjs.tz(input, NZ_TZ).startOf("day");
|
|
140
|
+
}
|
|
141
|
+
var formatDate = (dateStr, display = "datetime", timeStr) => {
|
|
142
|
+
const dateTimeStr = timeStr ? `${dateStr} ${timeStr}` : dateStr;
|
|
143
|
+
const dateTime = timeStr ? dayjs(dateTimeStr, `${dateFormat} ${timeFormat}`) : dayjs(dateStr, dateFormat);
|
|
144
|
+
const formattedDate = dateTime.format("dddd, D MMMM, YYYY");
|
|
145
|
+
const formattedTime = dateTime.format("h:mm a");
|
|
146
|
+
switch (display) {
|
|
147
|
+
case "date":
|
|
148
|
+
return formattedDate;
|
|
149
|
+
case "time":
|
|
150
|
+
return formattedTime;
|
|
151
|
+
case "datetime":
|
|
152
|
+
return `${formattedDate} at ${formattedTime}`;
|
|
153
|
+
default:
|
|
154
|
+
return formattedDate;
|
|
155
|
+
}
|
|
156
|
+
};
|
|
157
|
+
var getCurrentAndFutureDates = (dates) => {
|
|
158
|
+
const now = dayjs();
|
|
159
|
+
return dates.filter((dateObj) => {
|
|
160
|
+
const dateTime = dayjs(
|
|
161
|
+
`${dateObj.startDate} ${dateObj.startTime}`,
|
|
162
|
+
`${dateFormat} ${timeFormat}`
|
|
163
|
+
);
|
|
164
|
+
return dateTime.isSameOrAfter(now);
|
|
165
|
+
});
|
|
166
|
+
};
|
|
167
|
+
var isFutureDatesBeforeThreshold = (date, minHoursFromNow) => {
|
|
168
|
+
const threshold = minHoursFromNow ? dayjs().add(minHoursFromNow, "hour") : dayjs().startOf("day");
|
|
169
|
+
const dateTime = dayjs(
|
|
170
|
+
`${date.startDate} ${date.startTime}`,
|
|
171
|
+
`${dateFormat} ${timeFormat}`
|
|
172
|
+
);
|
|
173
|
+
return dateTime.isSameOrAfter(threshold);
|
|
174
|
+
};
|
|
175
|
+
var formatTimestamp = (timestamp) => {
|
|
176
|
+
const formattedDate = toNZTime(timestamp).format(dateFormat);
|
|
177
|
+
return formatDate(formattedDate, "date");
|
|
178
|
+
};
|
|
179
|
+
var isIsoDateString = (value) => {
|
|
180
|
+
return typeof value === "string" && !Number.isNaN(Date.parse(value));
|
|
181
|
+
};
|
|
182
|
+
function sortDatesChronologically(dates) {
|
|
183
|
+
if (!dates?.length) {
|
|
184
|
+
return [];
|
|
185
|
+
}
|
|
186
|
+
return [...dates].sort((a, b) => {
|
|
187
|
+
const dateTimeFormat = `${dateFormat} ${timeFormat}`;
|
|
188
|
+
const dateA = dayjs(`${a.startDate} ${a.startTime}`, dateTimeFormat);
|
|
189
|
+
const dateB = dayjs(`${b.startDate} ${b.startTime}`, dateTimeFormat);
|
|
190
|
+
return dateA.valueOf() - dateB.valueOf();
|
|
191
|
+
});
|
|
192
|
+
}
|
|
193
|
+
var futureTimePeriods = mapArrayToOptions(
|
|
194
|
+
Object.values(EnumEventDateStatus)
|
|
195
|
+
).filter(
|
|
196
|
+
(period) => period.value !== "Starting_Soon" /* STARTING_SOON */ && period.value !== "Canceled" /* CANCELED */ && period.value !== "Rescheduled" /* RE_SCHEDULED */ && period.value !== "Started" /* STARTED */ && period.value !== "Ended" /* ENDED */ && period.value !== "Invalid" /* INVALID */
|
|
197
|
+
).map((period) => ({
|
|
198
|
+
label: period.value.replaceAll("_", " "),
|
|
199
|
+
value: period.value
|
|
200
|
+
}));
|
|
201
|
+
|
|
202
|
+
// src/utils/dailyClueGame.ts
|
|
203
|
+
function createSeededRng(seed) {
|
|
204
|
+
let t = seed >>> 0;
|
|
205
|
+
return function random() {
|
|
206
|
+
t += 1831565813;
|
|
207
|
+
let x = t;
|
|
208
|
+
x = Math.imul(x ^ x >>> 15, x | 1);
|
|
209
|
+
x ^= x + Math.imul(x ^ x >>> 7, x | 61);
|
|
210
|
+
return ((x ^ x >>> 14) >>> 0) / 4294967296;
|
|
211
|
+
};
|
|
212
|
+
}
|
|
213
|
+
function hashStringToNumber(seed) {
|
|
214
|
+
let hash = 2166136261;
|
|
215
|
+
for (let i = 0; i < seed.length; i++) {
|
|
216
|
+
hash ^= seed.codePointAt(i) ?? 0;
|
|
217
|
+
hash = Math.imul(hash, 16777619);
|
|
218
|
+
}
|
|
219
|
+
return hash >>> 0;
|
|
220
|
+
}
|
|
221
|
+
function seededShuffle(array, seed) {
|
|
222
|
+
const rng = createSeededRng(hashStringToNumber(seed));
|
|
223
|
+
const result = [...array];
|
|
224
|
+
for (let i = result.length - 1; i > 0; i--) {
|
|
225
|
+
const j = Math.floor(rng() * (i + 1));
|
|
226
|
+
[result[i], result[j]] = [result[j], result[i]];
|
|
227
|
+
}
|
|
228
|
+
return result;
|
|
229
|
+
}
|
|
230
|
+
function getDayIndex(start, today) {
|
|
231
|
+
return today.diff(start, "day");
|
|
232
|
+
}
|
|
233
|
+
function computeDailyClueState(dailyClue) {
|
|
234
|
+
const { startDate, endDate } = dailyClue.gameFields.gameDate;
|
|
235
|
+
const { solutionShuffled, collected } = dailyClue.letterInfo;
|
|
236
|
+
const today = nzStartOfDay();
|
|
237
|
+
const start = nzStartOfDay(startDate);
|
|
238
|
+
const end = nzStartOfDay(endDate);
|
|
239
|
+
if (today.isBefore(start)) {
|
|
240
|
+
return null;
|
|
241
|
+
}
|
|
242
|
+
const shuffledPlacements = seededShuffle(
|
|
243
|
+
gameScreenIdentifierList,
|
|
244
|
+
start.toISOString()
|
|
245
|
+
);
|
|
246
|
+
const index = getDayIndex(start, today);
|
|
247
|
+
if (today.isAfter(end)) {
|
|
248
|
+
return {
|
|
249
|
+
todaysClue: null,
|
|
250
|
+
todaysLetter: null,
|
|
251
|
+
todaysPlacement: null
|
|
252
|
+
};
|
|
253
|
+
}
|
|
254
|
+
if (index < 0 || index >= solutionShuffled.length || index >= shuffledPlacements.length) {
|
|
255
|
+
return null;
|
|
256
|
+
}
|
|
257
|
+
const letterToday = solutionShuffled[index];
|
|
258
|
+
const placement = shuffledPlacements[index];
|
|
259
|
+
if (!letterToday || !placement) return null;
|
|
260
|
+
const alreadyCollectedToday = (collected ?? []).includes(letterToday);
|
|
261
|
+
if (alreadyCollectedToday) {
|
|
262
|
+
return {
|
|
263
|
+
todaysClue: null,
|
|
264
|
+
todaysLetter: null,
|
|
265
|
+
todaysPlacement: null
|
|
266
|
+
};
|
|
267
|
+
}
|
|
268
|
+
return {
|
|
269
|
+
todaysClue: placement.clue,
|
|
270
|
+
todaysLetter: letterToday,
|
|
271
|
+
todaysPlacement: placement.id
|
|
272
|
+
};
|
|
273
|
+
}
|
|
274
|
+
|
|
275
|
+
// src/utils/affiliate.ts
|
|
276
|
+
var AFFILIATE_REWARDS = {
|
|
277
|
+
["NEW_EVENT_REGISTRATION" /* NEW_EVENT_REGISTRATION */]: {
|
|
278
|
+
description: "10 points for new event registration (one-time reward)",
|
|
279
|
+
value: 10
|
|
280
|
+
},
|
|
281
|
+
["NEW_VENDOR_REGISTRATION" /* NEW_VENDOR_REGISTRATION */]: {
|
|
282
|
+
description: "5 points for new vendor registration (one-time reward)",
|
|
283
|
+
value: 5
|
|
284
|
+
},
|
|
285
|
+
["NEW_PARTNER_REGISTRATION" /* NEW_PARTNER_REGISTRATION */]: {
|
|
286
|
+
description: "",
|
|
287
|
+
value: 0
|
|
288
|
+
}
|
|
289
|
+
};
|
|
290
|
+
function createAffiliateReward(rewardType, createdAt) {
|
|
291
|
+
const reward = AFFILIATE_REWARDS[rewardType];
|
|
292
|
+
return {
|
|
293
|
+
createdAt,
|
|
294
|
+
deletedAt: null,
|
|
295
|
+
redeemedAt: null,
|
|
296
|
+
rewardDescription: reward.description,
|
|
297
|
+
rewardType,
|
|
298
|
+
rewardValue: reward.value,
|
|
299
|
+
updatedAt: null
|
|
300
|
+
};
|
|
209
301
|
}
|
|
210
302
|
|
|
211
303
|
// src/utils/resourceImage.ts
|
|
@@ -232,17 +324,17 @@ var SCHOOL_MAX_STUDENT_COUNT = 0;
|
|
|
232
324
|
|
|
233
325
|
// src/utils/eventDateStatus.ts
|
|
234
326
|
var EVENT_DATE_STATUS_PERIOD_MAP = {
|
|
235
|
-
["Today" /*
|
|
236
|
-
"Started" /*
|
|
237
|
-
"Starting_Soon" /*
|
|
238
|
-
"Today" /*
|
|
327
|
+
["Today" /* TODAY */]: [
|
|
328
|
+
"Started" /* STARTED */,
|
|
329
|
+
"Starting_Soon" /* STARTING_SOON */,
|
|
330
|
+
"Today" /* TODAY */
|
|
239
331
|
],
|
|
240
|
-
["This_Week" /*
|
|
241
|
-
"Started" /*
|
|
242
|
-
"Starting_Soon" /*
|
|
243
|
-
"This_Week" /*
|
|
244
|
-
"Today" /*
|
|
245
|
-
"Tomorrow" /*
|
|
332
|
+
["This_Week" /* THIS_WEEK */]: [
|
|
333
|
+
"Started" /* STARTED */,
|
|
334
|
+
"Starting_Soon" /* STARTING_SOON */,
|
|
335
|
+
"This_Week" /* THIS_WEEK */,
|
|
336
|
+
"Today" /* TODAY */,
|
|
337
|
+
"Tomorrow" /* TOMORROW */
|
|
246
338
|
]
|
|
247
339
|
};
|
|
248
340
|
function getAllowedEventDateStatuses(period) {
|
|
@@ -259,18 +351,18 @@ function filterEventsByDateStatusPeriod(events, period) {
|
|
|
259
351
|
}
|
|
260
352
|
|
|
261
353
|
// src/calendar/eventCalendar.ts
|
|
262
|
-
import
|
|
354
|
+
import dayjs2 from "dayjs";
|
|
263
355
|
var KNOWN_EVENT_SCHEDULE_STATUSES = /* @__PURE__ */ new Set([
|
|
264
|
-
"Started" /*
|
|
265
|
-
"Starting_Soon" /*
|
|
266
|
-
"Ended" /*
|
|
356
|
+
"Started" /* STARTED */,
|
|
357
|
+
"Starting_Soon" /* STARTING_SOON */,
|
|
358
|
+
"Ended" /* ENDED */
|
|
267
359
|
]);
|
|
268
360
|
function toCalendarIsoDate(startDate) {
|
|
269
|
-
const formatted =
|
|
270
|
-
return
|
|
361
|
+
const formatted = dayjs2(startDate, dateFormat).format("YYYY-MM-DD");
|
|
362
|
+
return dayjs2(formatted, "YYYY-MM-DD", true).isValid() ? formatted : null;
|
|
271
363
|
}
|
|
272
364
|
function fromCalendarIsoDate(isoDate) {
|
|
273
|
-
return
|
|
365
|
+
return dayjs2(isoDate, "YYYY-MM-DD").format(dateFormat);
|
|
274
366
|
}
|
|
275
367
|
function getEventCalendarIsoDates(dateTimes) {
|
|
276
368
|
return dateTimes?.map((dateTime) => toCalendarIsoDate(dateTime.startDate)).filter((date) => Boolean(date)) ?? [];
|
|
@@ -293,11 +385,11 @@ function buildCalendarSheetContentData(dateTimes, isoDate, location, resourceId,
|
|
|
293
385
|
}
|
|
294
386
|
function getEventScheduleStatusTone(status) {
|
|
295
387
|
switch (status) {
|
|
296
|
-
case "Started" /*
|
|
388
|
+
case "Started" /* STARTED */:
|
|
297
389
|
return "started";
|
|
298
|
-
case "Starting_Soon" /*
|
|
390
|
+
case "Starting_Soon" /* STARTING_SOON */:
|
|
299
391
|
return "startingSoon";
|
|
300
|
-
case "Ended" /*
|
|
392
|
+
case "Ended" /* ENDED */:
|
|
301
393
|
return "ended";
|
|
302
394
|
default:
|
|
303
395
|
return "default";
|
|
@@ -321,10 +413,10 @@ function getEventScheduleStatusLabel(dateTime, onlyShowKnownStatuses) {
|
|
|
321
413
|
return isKnownStatus ? status.replaceAll("_", " ").toLowerCase() : `Next event date: ${formatDate(dateTime.startDate, "date")}`;
|
|
322
414
|
}
|
|
323
415
|
function shouldShowEventActionsWithWeather(resourceType, dateTime, location) {
|
|
324
|
-
return resourceType === "event" /*
|
|
325
|
-
"Ended" /*
|
|
326
|
-
"Canceled" /*
|
|
327
|
-
"Started" /*
|
|
416
|
+
return resourceType === "event" /* EVENT */ && Boolean(location) && Boolean(dateTime?.dateStatus) && ![
|
|
417
|
+
"Ended" /* ENDED */,
|
|
418
|
+
"Canceled" /* CANCELED */,
|
|
419
|
+
"Started" /* STARTED */
|
|
328
420
|
].includes(dateTime.dateStatus);
|
|
329
421
|
}
|
|
330
422
|
|
|
@@ -1441,12 +1533,12 @@ function getEventStallholderEmptyMessage(hasAnyStallholdersForEvent, selectedDat
|
|
|
1441
1533
|
// src/vendorEvents/vendorEventFilters.ts
|
|
1442
1534
|
function relationHasSelectedDate(relation, selectedDate) {
|
|
1443
1535
|
return relation.relationDates?.some(
|
|
1444
|
-
(date) => date
|
|
1536
|
+
(date) => date.dateTime.startDate === selectedDate
|
|
1445
1537
|
) ?? false;
|
|
1446
1538
|
}
|
|
1447
1539
|
function eventHasSelectedDate(event, selectedDate) {
|
|
1448
1540
|
return event.relations?.some(
|
|
1449
|
-
(relation) =>
|
|
1541
|
+
(relation) => relationHasSelectedDate(relation, selectedDate)
|
|
1450
1542
|
) ?? false;
|
|
1451
1543
|
}
|
|
1452
1544
|
function filterVendorEventsBySelectedDate(events, selectedDate) {
|
|
@@ -1463,14 +1555,11 @@ function collectVendorEventRelationDateTimes(events) {
|
|
|
1463
1555
|
return [];
|
|
1464
1556
|
}
|
|
1465
1557
|
return events.flatMap(
|
|
1466
|
-
(event) => (event.relations ?? []).flatMap(
|
|
1467
|
-
|
|
1468
|
-
|
|
1469
|
-
|
|
1470
|
-
|
|
1471
|
-
(relationDate) => relationDate?.dateTime != null ? [relationDate.dateTime] : []
|
|
1472
|
-
);
|
|
1473
|
-
})
|
|
1558
|
+
(event) => (event.relations ?? []).flatMap(
|
|
1559
|
+
(relation) => (relation.relationDates ?? []).map(
|
|
1560
|
+
(relationDate) => relationDate.dateTime
|
|
1561
|
+
)
|
|
1562
|
+
)
|
|
1474
1563
|
);
|
|
1475
1564
|
}
|
|
1476
1565
|
function getVendorEventRelationStartDates(events) {
|
|
@@ -1495,139 +1584,10 @@ function getVendorEventsEmptyMessage() {
|
|
|
1495
1584
|
return "No events found.";
|
|
1496
1585
|
}
|
|
1497
1586
|
|
|
1498
|
-
// src/utils/affiliate.ts
|
|
1499
|
-
var AFFILIATE_PARTICIPANT_TYPE_LABELS = {
|
|
1500
|
-
["INDIVIDUAL" /* Individual */]: "Individual",
|
|
1501
|
-
["SOLE_TRADER" /* SoleTrader */]: "Sole Trader",
|
|
1502
|
-
["COMPANY" /* Company */]: "Company"
|
|
1503
|
-
};
|
|
1504
|
-
var AFFILIATE_REWARDS = {
|
|
1505
|
-
["NEW_EVENT_REGISTRATION" /* NewEventRegistration */]: {
|
|
1506
|
-
description: "10 points for new event registration (one-time reward)",
|
|
1507
|
-
value: 10
|
|
1508
|
-
},
|
|
1509
|
-
["NEW_VENDOR_REGISTRATION" /* NewVendorRegistration */]: {
|
|
1510
|
-
description: "5 points for new vendor registration (one-time reward)",
|
|
1511
|
-
value: 5
|
|
1512
|
-
},
|
|
1513
|
-
["ACTIVE_VENDOR_PRO_SUBSCRIPTION" /* ActiveVendorProSubscription */]: {
|
|
1514
|
-
description: "3 points for active vendor pro subscription (monthly reward)",
|
|
1515
|
-
value: 3
|
|
1516
|
-
},
|
|
1517
|
-
["ACTIVE_VENDOR_STANDARD_SUBSCRIPTION" /* ActiveVendorStandardSubscription */]: {
|
|
1518
|
-
description: "1 point for active vendor standard subscription (monthly reward)",
|
|
1519
|
-
value: 1
|
|
1520
|
-
},
|
|
1521
|
-
["ACTIVE_VENDOR_BONUS_REWARD" /* ActiveVendorBonusReward */]: {
|
|
1522
|
-
description: "5 bonus points for every 10th active vendor (one-time reward)",
|
|
1523
|
-
value: 5
|
|
1524
|
-
},
|
|
1525
|
-
["ACTIVE_EVENT_WITH_VENDOR_REGISTRATIONS" /* ActiveEventWithVendorRegistrations */]: {
|
|
1526
|
-
description: "40 points for active event with vendor registrations (one-time reward)",
|
|
1527
|
-
value: 40
|
|
1528
|
-
}
|
|
1529
|
-
};
|
|
1530
|
-
function createAffiliateReward(rewardType, createdAt) {
|
|
1531
|
-
const reward = AFFILIATE_REWARDS[rewardType];
|
|
1532
|
-
return {
|
|
1533
|
-
createdAt,
|
|
1534
|
-
redeemedAt: null,
|
|
1535
|
-
rewardDescription: reward.description,
|
|
1536
|
-
rewardType,
|
|
1537
|
-
rewardValue: reward.value
|
|
1538
|
-
};
|
|
1539
|
-
}
|
|
1540
|
-
|
|
1541
|
-
// src/utils/irdNumber.ts
|
|
1542
|
-
var PRIMARY_WEIGHTS = [3, 2, 7, 6, 5, 4, 3, 2];
|
|
1543
|
-
var SECONDARY_WEIGHTS = [7, 4, 3, 2, 5, 2, 7, 6];
|
|
1544
|
-
var IRD_MIN = 1e7;
|
|
1545
|
-
var IRD_MAX = 2e8;
|
|
1546
|
-
function calculateCheckDigit(baseDigits, weights) {
|
|
1547
|
-
const sum = [...baseDigits].reduce(
|
|
1548
|
-
(acc, digit, index) => acc + Number(digit) * weights[index],
|
|
1549
|
-
0
|
|
1550
|
-
);
|
|
1551
|
-
const remainder = sum % 11;
|
|
1552
|
-
return remainder === 0 ? 0 : 11 - remainder;
|
|
1553
|
-
}
|
|
1554
|
-
function normalizeIrdNumber(value) {
|
|
1555
|
-
return value.replace(/\D/g, "");
|
|
1556
|
-
}
|
|
1557
|
-
function formatIrdNumber(input) {
|
|
1558
|
-
const digitsOnly = normalizeIrdNumber(input).slice(0, 9);
|
|
1559
|
-
const parts = [];
|
|
1560
|
-
if (digitsOnly.length > 0) parts.push(digitsOnly.slice(0, 3));
|
|
1561
|
-
if (digitsOnly.length > 3) parts.push(digitsOnly.slice(3, 6));
|
|
1562
|
-
if (digitsOnly.length > 6) parts.push(digitsOnly.slice(6, 9));
|
|
1563
|
-
return parts.join("-");
|
|
1564
|
-
}
|
|
1565
|
-
function isValidIrdNumber(value) {
|
|
1566
|
-
const digits = normalizeIrdNumber(value);
|
|
1567
|
-
if (!/^\d{8,9}$/.test(digits)) {
|
|
1568
|
-
return false;
|
|
1569
|
-
}
|
|
1570
|
-
const ird = Number(digits);
|
|
1571
|
-
if (ird < IRD_MIN || ird > IRD_MAX) {
|
|
1572
|
-
return false;
|
|
1573
|
-
}
|
|
1574
|
-
const padded = digits.padStart(9, "0");
|
|
1575
|
-
const baseDigits = padded.slice(0, -1);
|
|
1576
|
-
const checkDigit = Number(padded.slice(-1));
|
|
1577
|
-
let calculated = calculateCheckDigit(baseDigits, PRIMARY_WEIGHTS);
|
|
1578
|
-
if (calculated === 10) {
|
|
1579
|
-
calculated = calculateCheckDigit(baseDigits, SECONDARY_WEIGHTS);
|
|
1580
|
-
if (calculated === 10) {
|
|
1581
|
-
return false;
|
|
1582
|
-
}
|
|
1583
|
-
}
|
|
1584
|
-
return calculated === checkDigit;
|
|
1585
|
-
}
|
|
1586
|
-
|
|
1587
|
-
// src/utils/toUserFacingErrorMessage.ts
|
|
1588
|
-
var DEFAULT_USER_FACING_ERROR = "Something went wrong. Please try again.";
|
|
1589
|
-
var NETWORK_USER_FACING_ERROR = "Unable to connect. Please check your internet connection and try again.";
|
|
1590
|
-
var INTERNAL_ERROR_PATTERNS = [
|
|
1591
|
-
/connection\s*<monitor>/i,
|
|
1592
|
-
/\bmongo/i,
|
|
1593
|
-
/\b\d{1,3}(?:\.\d{1,3}){3}(?::\d+)?\b/,
|
|
1594
|
-
/\beconn(?:refused|reset|aborted)\b/i,
|
|
1595
|
-
/\betimedout\b/i,
|
|
1596
|
-
/\benotfound\b/i,
|
|
1597
|
-
/\bsocket hang up\b/i,
|
|
1598
|
-
/\binternal server error\b/i,
|
|
1599
|
-
/received status code 5\d\d/i,
|
|
1600
|
-
/\bat\s+\S+\s+\([^)]+:\d+:\d+\)/
|
|
1601
|
-
];
|
|
1602
|
-
function isInternalErrorMessage(message) {
|
|
1603
|
-
return INTERNAL_ERROR_PATTERNS.some((pattern) => pattern.test(message));
|
|
1604
|
-
}
|
|
1605
|
-
function toUserFacingErrorMessage(error, fallback = DEFAULT_USER_FACING_ERROR) {
|
|
1606
|
-
const message = (error ?? "").trim();
|
|
1607
|
-
if (!message) return fallback;
|
|
1608
|
-
if (isTransientNetworkError(message)) {
|
|
1609
|
-
return NETWORK_USER_FACING_ERROR;
|
|
1610
|
-
}
|
|
1611
|
-
if (isInternalErrorMessage(message)) {
|
|
1612
|
-
return fallback;
|
|
1613
|
-
}
|
|
1614
|
-
return message;
|
|
1615
|
-
}
|
|
1616
|
-
function getErrorMessage(error, fallback = DEFAULT_USER_FACING_ERROR) {
|
|
1617
|
-
let raw;
|
|
1618
|
-
if (error instanceof Error) {
|
|
1619
|
-
raw = error.message;
|
|
1620
|
-
} else if (typeof error === "string") {
|
|
1621
|
-
raw = error;
|
|
1622
|
-
}
|
|
1623
|
-
return toUserFacingErrorMessage(raw, fallback);
|
|
1624
|
-
}
|
|
1625
|
-
|
|
1626
1587
|
export {
|
|
1627
|
-
seededShuffle,
|
|
1628
|
-
computeDailyClueState,
|
|
1629
1588
|
removeTypename,
|
|
1630
1589
|
truncateText,
|
|
1590
|
+
mapArrayToOptions,
|
|
1631
1591
|
capitalizeFirstLetter,
|
|
1632
1592
|
statusOptions,
|
|
1633
1593
|
availableRegionTypes,
|
|
@@ -1645,7 +1605,21 @@ export {
|
|
|
1645
1605
|
PostTypeLabels,
|
|
1646
1606
|
CM_SCHOOL_PROMO_CODE,
|
|
1647
1607
|
CM_AFFILIATE_PROMO_CODE,
|
|
1648
|
-
|
|
1608
|
+
dateFormat,
|
|
1609
|
+
timeFormat,
|
|
1610
|
+
toNZTime,
|
|
1611
|
+
nzStartOfDay,
|
|
1612
|
+
formatDate,
|
|
1613
|
+
getCurrentAndFutureDates,
|
|
1614
|
+
isFutureDatesBeforeThreshold,
|
|
1615
|
+
formatTimestamp,
|
|
1616
|
+
isIsoDateString,
|
|
1617
|
+
sortDatesChronologically,
|
|
1618
|
+
futureTimePeriods,
|
|
1619
|
+
seededShuffle,
|
|
1620
|
+
computeDailyClueState,
|
|
1621
|
+
AFFILIATE_REWARDS,
|
|
1622
|
+
createAffiliateReward,
|
|
1649
1623
|
resolveResourceImageActive,
|
|
1650
1624
|
normalizeResourceImage,
|
|
1651
1625
|
isResourceImageActive,
|
|
@@ -1690,17 +1664,6 @@ export {
|
|
|
1690
1664
|
collectVendorEventRelationDateTimes,
|
|
1691
1665
|
getVendorEventRelationStartDates,
|
|
1692
1666
|
getVendorEventRelationDateOptions,
|
|
1693
|
-
getVendorEventsEmptyMessage
|
|
1694
|
-
AFFILIATE_PARTICIPANT_TYPE_LABELS,
|
|
1695
|
-
AFFILIATE_REWARDS,
|
|
1696
|
-
createAffiliateReward,
|
|
1697
|
-
normalizeIrdNumber,
|
|
1698
|
-
formatIrdNumber,
|
|
1699
|
-
isValidIrdNumber,
|
|
1700
|
-
DEFAULT_USER_FACING_ERROR,
|
|
1701
|
-
NETWORK_USER_FACING_ERROR,
|
|
1702
|
-
isInternalErrorMessage,
|
|
1703
|
-
toUserFacingErrorMessage,
|
|
1704
|
-
getErrorMessage
|
|
1667
|
+
getVendorEventsEmptyMessage
|
|
1705
1668
|
};
|
|
1706
|
-
//# sourceMappingURL=chunk-
|
|
1669
|
+
//# sourceMappingURL=chunk-TAECMXM4.mjs.map
|