@bash-app/bash-common 30.361.0 → 30.362.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/utils/__tests__/locationVisibility.test.js +39 -1
- package/dist/utils/__tests__/locationVisibility.test.js.map +1 -1
- package/dist/utils/locationVisibility.d.ts +4 -0
- package/dist/utils/locationVisibility.d.ts.map +1 -1
- package/dist/utils/locationVisibility.js +14 -3
- package/dist/utils/locationVisibility.js.map +1 -1
- package/dist/utils/slugUtils.d.ts.map +1 -1
- package/dist/utils/slugUtils.js +18 -1
- package/dist/utils/slugUtils.js.map +1 -1
- package/package.json +1 -1
- package/prisma/schema.prisma +3 -0
- package/src/utils/__tests__/locationVisibility.test.ts +50 -0
- package/src/utils/locationVisibility.ts +17 -2
- package/src/utils/slugUtils.ts +31 -1
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { applyBashEventLocationRedaction, computeLocationPublicRevealDueAt, defaultLocationRevealAudience, geocodeQueryTextForPublicBashMap, isLocationGloballyPublic, redactBashEventLocation, shouldAutoRevealLocationToPublicNow, viewerCanSeeFullBashLocation, viewerOwnsValidTicketForBash, } from "../locationVisibility.js";
|
|
1
|
+
import { applyBashEventLocationRedaction, computeLocationPublicRevealDueAt, defaultLocationRevealAudience, defaultLocationRevealMode, geocodeQueryTextForPublicBashMap, isLocationGloballyPublic, redactBashEventLocation, shouldAutoRevealLocationToPublicNow, viewerCanSeeFullBashLocation, viewerOwnsValidTicketForBash, } from "../locationVisibility.js";
|
|
2
2
|
const baseBash = {
|
|
3
3
|
creatorId: "host-1",
|
|
4
4
|
hideLocation: true,
|
|
@@ -140,6 +140,39 @@ describe("computeLocationPublicRevealDueAt / shouldAutoRevealLocationToPublicNow
|
|
|
140
140
|
locationRevealMode: "ManualOnly",
|
|
141
141
|
})).toBeNull();
|
|
142
142
|
});
|
|
143
|
+
it("CustomDateTime returns the scheduled timestamp regardless of start time", () => {
|
|
144
|
+
const scheduled = new Date("2026-01-05T15:00:00.000Z");
|
|
145
|
+
expect(computeLocationPublicRevealDueAt({
|
|
146
|
+
...baseBash,
|
|
147
|
+
locationRevealMode: "CustomDateTime",
|
|
148
|
+
locationRevealScheduledAt: scheduled,
|
|
149
|
+
startDateTime: null,
|
|
150
|
+
})).toEqual(scheduled);
|
|
151
|
+
});
|
|
152
|
+
it("CustomDateTime returns null when no scheduled timestamp is set", () => {
|
|
153
|
+
expect(computeLocationPublicRevealDueAt({
|
|
154
|
+
...baseBash,
|
|
155
|
+
locationRevealMode: "CustomDateTime",
|
|
156
|
+
locationRevealScheduledAt: null,
|
|
157
|
+
})).toBeNull();
|
|
158
|
+
});
|
|
159
|
+
it("CustomDateTime returns null for an invalid scheduled timestamp", () => {
|
|
160
|
+
expect(computeLocationPublicRevealDueAt({
|
|
161
|
+
...baseBash,
|
|
162
|
+
locationRevealMode: "CustomDateTime",
|
|
163
|
+
locationRevealScheduledAt: "not-a-date",
|
|
164
|
+
})).toBeNull();
|
|
165
|
+
});
|
|
166
|
+
it("shouldAutoRevealLocationToPublicNow fires at the scheduled CustomDateTime", () => {
|
|
167
|
+
const bash = {
|
|
168
|
+
...baseBash,
|
|
169
|
+
locationRevealMode: "CustomDateTime",
|
|
170
|
+
locationRevealScheduledAt: new Date("2026-02-01T12:00:00.000Z"),
|
|
171
|
+
startDateTime: new Date("2026-03-01T20:00:00.000Z"),
|
|
172
|
+
};
|
|
173
|
+
expect(shouldAutoRevealLocationToPublicNow(bash, new Date("2026-02-01T11:59:00.000Z"))).toBe(false);
|
|
174
|
+
expect(shouldAutoRevealLocationToPublicNow(bash, new Date("2026-02-01T12:00:00.000Z"))).toBe(true);
|
|
175
|
+
});
|
|
143
176
|
it("shouldAutoRevealLocationToPublicNow respects time", () => {
|
|
144
177
|
const bash = {
|
|
145
178
|
...baseBash,
|
|
@@ -159,6 +192,11 @@ describe("defaultLocationRevealAudience", () => {
|
|
|
159
192
|
expect(defaultLocationRevealAudience(false)).toBe("TicketHoldersAndRsvps");
|
|
160
193
|
});
|
|
161
194
|
});
|
|
195
|
+
describe("defaultLocationRevealMode", () => {
|
|
196
|
+
it("defaults to manual reveal so the pin stays gated", () => {
|
|
197
|
+
expect(defaultLocationRevealMode()).toBe("ManualOnly");
|
|
198
|
+
});
|
|
199
|
+
});
|
|
162
200
|
describe("geocodeQueryTextForPublicBashMap", () => {
|
|
163
201
|
it("uses city when location redacted", () => {
|
|
164
202
|
expect(geocodeQueryTextForPublicBashMap({
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"locationVisibility.test.js","sourceRoot":"","sources":["../../../src/utils/__tests__/locationVisibility.test.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"locationVisibility.test.js","sourceRoot":"","sources":["../../../src/utils/__tests__/locationVisibility.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -7,6 +7,8 @@ export type BashLocationVisibilityEvent = {
|
|
|
7
7
|
locationRevealAudience?: LocationRevealAudience | null;
|
|
8
8
|
locationRevealMode?: LocationRevealMode | null;
|
|
9
9
|
locationRevealOffsetMins?: number | null;
|
|
10
|
+
/** Absolute reveal timestamp; used when locationRevealMode = CustomDateTime. */
|
|
11
|
+
locationRevealScheduledAt?: Date | string | null;
|
|
10
12
|
startDateTime?: Date | string | null;
|
|
11
13
|
};
|
|
12
14
|
export type ViewerLocationContext = {
|
|
@@ -59,6 +61,8 @@ export declare function computeLocationPublicRevealDueAt(bash: BashLocationVisib
|
|
|
59
61
|
export declare function shouldAutoRevealLocationToPublicNow(bash: BashLocationVisibilityEvent, now: Date): boolean;
|
|
60
62
|
/** Default audience for the Where step: paid tiers → ticket holders only; else RSVPs+invited path default. */
|
|
61
63
|
export declare function defaultLocationRevealAudience(hasPaidTicketTiers: boolean): LocationRevealAudience;
|
|
64
|
+
/** Default reveal timing when the host turns on hide-location: stay gated until they choose otherwise. */
|
|
65
|
+
export declare function defaultLocationRevealMode(): LocationRevealMode;
|
|
62
66
|
/** Address string for Google geocoding on public maps when full `location` is redacted. */
|
|
63
67
|
export declare function geocodeQueryTextForPublicBashMap(event: {
|
|
64
68
|
location?: string | null;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"locationVisibility.d.ts","sourceRoot":"","sources":["../../src/utils/locationVisibility.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,sBAAsB,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AAEjF,oEAAoE;AACpE,MAAM,MAAM,2BAA2B,GAAG;IACxC,YAAY,CAAC,EAAE,OAAO,GAAG,IAAI,CAAC;IAC9B,kBAAkB,CAAC,EAAE,IAAI,GAAG,MAAM,GAAG,IAAI,CAAC;IAC1C,SAAS,EAAE,MAAM,CAAC;IAClB,sBAAsB,CAAC,EAAE,sBAAsB,GAAG,IAAI,CAAC;IACvD,kBAAkB,CAAC,EAAE,kBAAkB,GAAG,IAAI,CAAC;IAC/C,wBAAwB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACzC,aAAa,CAAC,EAAE,IAAI,GAAG,MAAM,GAAG,IAAI,CAAC;CACtC,CAAC;AAEF,MAAM,MAAM,qBAAqB,GAAG;IAClC,YAAY,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC;IACxC,iBAAiB,EAAE,OAAO,CAAC;IAC3B,qBAAqB,EAAE,OAAO,CAAC;IAC/B,qBAAqB,EAAE,OAAO,CAAC;IAC/B,2BAA2B,EAAE,OAAO,CAAC;IACrC;;;OAGG;IACH,oBAAoB,CAAC,EAAE,OAAO,CAAC;CAChC,CAAC;AAIF;;;GAGG;AACH,wBAAgB,4BAA4B,CAC1C,OAAO,EAAE,aAAa,CAAC;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAA;CAAE,CAAC,GAAG,IAAI,GAAG,SAAS,EACrF,YAAY,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GACtC,OAAO,CAMT;AAED;;;GAGG;AACH,wBAAgB,4BAA4B,CAC1C,IAAI,EAAE,2BAA2B,EACjC,GAAG,EAAE,qBAAqB,GACzB,OAAO,CAyBT;AAED,sEAAsE;AACtE,wBAAgB,wBAAwB,CAAC,IAAI,EAAE,2BAA2B,GAAG,OAAO,CAEnF;AAED,MAAM,MAAM,6BAA6B,GAAG;IAC1C,YAAY,CAAC,EAAE,OAAO,GAAG,IAAI,CAAC;IAC9B,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,WAAW,CAAC,EAAE,aAAa,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC;CAC7C,CAAC;AAEF;;;GAGG;AACH,wBAAgB,uBAAuB,CAAC,CAAC,SAAS,6BAA6B,EAAE,KAAK,EAAE,CAAC,GAAG,CAAC,CAW5F;AAED;;GAEG;AACH,wBAAgB,+BAA+B,CAAC,CAAC,SAAS,6BAA6B,EACrF,KAAK,EAAE,CAAC,EACR,UAAU,EAAE,OAAO,GAClB,CAAC,CAKH;AAED,mFAAmF;AACnF,wBAAgB,gCAAgC,CAAC,IAAI,EAAE,2BAA2B,GAAG,IAAI,GAAG,IAAI,
|
|
1
|
+
{"version":3,"file":"locationVisibility.d.ts","sourceRoot":"","sources":["../../src/utils/locationVisibility.ts"],"names":[],"mappings":"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"}
|
|
@@ -70,12 +70,18 @@ export function applyBashEventLocationRedaction(event, canSeeFull) {
|
|
|
70
70
|
export function computeLocationPublicRevealDueAt(bash) {
|
|
71
71
|
if (!bash.hideLocation || bash.locationRevealedAt)
|
|
72
72
|
return null;
|
|
73
|
-
const start = bash.startDateTime ? new Date(bash.startDateTime) : null;
|
|
74
|
-
if (!start || Number.isNaN(start.getTime()))
|
|
75
|
-
return null;
|
|
76
73
|
const mode = bash.locationRevealMode ?? "AtStartTime";
|
|
77
74
|
if (mode === "ManualOnly")
|
|
78
75
|
return null;
|
|
76
|
+
if (mode === "CustomDateTime") {
|
|
77
|
+
const scheduled = bash.locationRevealScheduledAt
|
|
78
|
+
? new Date(bash.locationRevealScheduledAt)
|
|
79
|
+
: null;
|
|
80
|
+
return scheduled && !Number.isNaN(scheduled.getTime()) ? scheduled : null;
|
|
81
|
+
}
|
|
82
|
+
const start = bash.startDateTime ? new Date(bash.startDateTime) : null;
|
|
83
|
+
if (!start || Number.isNaN(start.getTime()))
|
|
84
|
+
return null;
|
|
79
85
|
if (mode === "AtStartTime")
|
|
80
86
|
return start;
|
|
81
87
|
if (mode === "CustomOffset") {
|
|
@@ -102,6 +108,10 @@ export function shouldAutoRevealLocationToPublicNow(bash, now) {
|
|
|
102
108
|
export function defaultLocationRevealAudience(hasPaidTicketTiers) {
|
|
103
109
|
return hasPaidTicketTiers ? "TicketHolders" : "TicketHoldersAndRsvps";
|
|
104
110
|
}
|
|
111
|
+
/** Default reveal timing when the host turns on hide-location: stay gated until they choose otherwise. */
|
|
112
|
+
export function defaultLocationRevealMode() {
|
|
113
|
+
return "ManualOnly";
|
|
114
|
+
}
|
|
105
115
|
/** Address string for Google geocoding on public maps when full `location` is redacted. */
|
|
106
116
|
export function geocodeQueryTextForPublicBashMap(event) {
|
|
107
117
|
const loc = event.location?.trim();
|
|
@@ -113,3 +123,4 @@ export function geocodeQueryTextForPublicBashMap(event) {
|
|
|
113
123
|
}
|
|
114
124
|
return null;
|
|
115
125
|
}
|
|
126
|
+
//# sourceMappingURL=locationVisibility.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"locationVisibility.js","sourceRoot":"","sources":["../../src/utils/locationVisibility.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"locationVisibility.js","sourceRoot":"","sources":["../../src/utils/locationVisibility.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"slugUtils.d.ts","sourceRoot":"","sources":["../../src/utils/slugUtils.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"slugUtils.d.ts","sourceRoot":"","sources":["../../src/utils/slugUtils.ts"],"names":[],"mappings":"AAsCA,wBAAgB,YAAY,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAMlD;AAED,wBAAsB,kBAAkB,CACtC,KAAK,EAAE,MAAM,EACb,eAAe,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM,KAAK,OAAO,CAAC,OAAO,CAAC,EACvE,SAAS,CAAC,EAAE,MAAM,GACjB,OAAO,CAAC,MAAM,CAAC,CAajB;AAED,wBAAgB,qBAAqB,CAAC,WAAW,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,CAE/E;AAED;;;GAGG;AACH,wBAAgB,uBAAuB,CACrC,WAAW,EAAE,MAAM,EACnB,IAAI,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GAC9B,MAAM,CAMR;AAED;;;;GAIG;AACH,wBAAgB,yBAAyB,CACvC,WAAW,EAAE,MAAM,EACnB,IAAI,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GAC9B,MAAM,CAER;AAED,yFAAyF;AACzF,wBAAgB,0BAA0B,CACxC,WAAW,EAAE,MAAM,EACnB,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,MAAM,GACd,MAAM,CAER;AAED,+EAA+E;AAC/E,wBAAgB,gCAAgC,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,CAM5E;AAED,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,MAAM,GAAG;IAAE,EAAE,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAA;CAAE,GAAG,IAAI,CAqB5F;AAED,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAGlD"}
|
package/dist/utils/slugUtils.js
CHANGED
|
@@ -1,5 +1,22 @@
|
|
|
1
|
-
import
|
|
1
|
+
import * as slugifyImport from "slugify";
|
|
2
2
|
import { BASH_DETAIL_URL, BASH_EVENT_WIZARD_HOW_MAJOR_STEP, BASH_EVENT_WIZARD_HOW_SUBSTEP_PAYOUT, BASH_EVENT_WIZARD_PATH_PREFIX, } from '../definitions.js';
|
|
3
|
+
function isSlugifyFn(value) {
|
|
4
|
+
return typeof value === "function";
|
|
5
|
+
}
|
|
6
|
+
/** CJS `slugify` under Vite exposes `default` on the namespace, not a default import. */
|
|
7
|
+
function resolveSlugify() {
|
|
8
|
+
if (isSlugifyFn(slugifyImport)) {
|
|
9
|
+
return slugifyImport;
|
|
10
|
+
}
|
|
11
|
+
if (typeof slugifyImport === "object" &&
|
|
12
|
+
slugifyImport !== null &&
|
|
13
|
+
"default" in slugifyImport &&
|
|
14
|
+
isSlugifyFn(slugifyImport.default)) {
|
|
15
|
+
return slugifyImport.default;
|
|
16
|
+
}
|
|
17
|
+
throw new Error("slugify package did not export a callable function");
|
|
18
|
+
}
|
|
19
|
+
const slugify = resolveSlugify();
|
|
3
20
|
export function generateSlug(title) {
|
|
4
21
|
return slugify(title, {
|
|
5
22
|
lower: true,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"slugUtils.js","sourceRoot":"","sources":["../../src/utils/slugUtils.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"slugUtils.js","sourceRoot":"","sources":["../../src/utils/slugUtils.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
package/prisma/schema.prisma
CHANGED
|
@@ -780,6 +780,8 @@ model BashEvent {
|
|
|
780
780
|
locationRevealMode LocationRevealMode @default(AtStartTime)
|
|
781
781
|
/// Minutes before startDateTime to auto-reveal; used when locationRevealMode = CustomOffset.
|
|
782
782
|
locationRevealOffsetMins Int?
|
|
783
|
+
/// Absolute reveal timestamp; used when locationRevealMode = CustomDateTime.
|
|
784
|
+
locationRevealScheduledAt DateTime?
|
|
783
785
|
/// When set, exact address is public to everyone (cron, manual reveal, or start-time rule).
|
|
784
786
|
locationRevealedAt DateTime?
|
|
785
787
|
status BashStatus @default(Draft)
|
|
@@ -7936,6 +7938,7 @@ enum Privacy {
|
|
|
7936
7938
|
enum LocationRevealMode {
|
|
7937
7939
|
AtStartTime
|
|
7938
7940
|
CustomOffset
|
|
7941
|
+
CustomDateTime
|
|
7939
7942
|
ManualOnly
|
|
7940
7943
|
}
|
|
7941
7944
|
|
|
@@ -2,6 +2,7 @@ import {
|
|
|
2
2
|
applyBashEventLocationRedaction,
|
|
3
3
|
computeLocationPublicRevealDueAt,
|
|
4
4
|
defaultLocationRevealAudience,
|
|
5
|
+
defaultLocationRevealMode,
|
|
5
6
|
geocodeQueryTextForPublicBashMap,
|
|
6
7
|
isLocationGloballyPublic,
|
|
7
8
|
redactBashEventLocation,
|
|
@@ -207,6 +208,49 @@ describe("computeLocationPublicRevealDueAt / shouldAutoRevealLocationToPublicNow
|
|
|
207
208
|
).toBeNull();
|
|
208
209
|
});
|
|
209
210
|
|
|
211
|
+
it("CustomDateTime returns the scheduled timestamp regardless of start time", () => {
|
|
212
|
+
const scheduled = new Date("2026-01-05T15:00:00.000Z");
|
|
213
|
+
expect(
|
|
214
|
+
computeLocationPublicRevealDueAt({
|
|
215
|
+
...baseBash,
|
|
216
|
+
locationRevealMode: "CustomDateTime",
|
|
217
|
+
locationRevealScheduledAt: scheduled,
|
|
218
|
+
startDateTime: null,
|
|
219
|
+
})
|
|
220
|
+
).toEqual(scheduled);
|
|
221
|
+
});
|
|
222
|
+
|
|
223
|
+
it("CustomDateTime returns null when no scheduled timestamp is set", () => {
|
|
224
|
+
expect(
|
|
225
|
+
computeLocationPublicRevealDueAt({
|
|
226
|
+
...baseBash,
|
|
227
|
+
locationRevealMode: "CustomDateTime",
|
|
228
|
+
locationRevealScheduledAt: null,
|
|
229
|
+
})
|
|
230
|
+
).toBeNull();
|
|
231
|
+
});
|
|
232
|
+
|
|
233
|
+
it("CustomDateTime returns null for an invalid scheduled timestamp", () => {
|
|
234
|
+
expect(
|
|
235
|
+
computeLocationPublicRevealDueAt({
|
|
236
|
+
...baseBash,
|
|
237
|
+
locationRevealMode: "CustomDateTime",
|
|
238
|
+
locationRevealScheduledAt: "not-a-date",
|
|
239
|
+
})
|
|
240
|
+
).toBeNull();
|
|
241
|
+
});
|
|
242
|
+
|
|
243
|
+
it("shouldAutoRevealLocationToPublicNow fires at the scheduled CustomDateTime", () => {
|
|
244
|
+
const bash = {
|
|
245
|
+
...baseBash,
|
|
246
|
+
locationRevealMode: "CustomDateTime" as const,
|
|
247
|
+
locationRevealScheduledAt: new Date("2026-02-01T12:00:00.000Z"),
|
|
248
|
+
startDateTime: new Date("2026-03-01T20:00:00.000Z"),
|
|
249
|
+
};
|
|
250
|
+
expect(shouldAutoRevealLocationToPublicNow(bash, new Date("2026-02-01T11:59:00.000Z"))).toBe(false);
|
|
251
|
+
expect(shouldAutoRevealLocationToPublicNow(bash, new Date("2026-02-01T12:00:00.000Z"))).toBe(true);
|
|
252
|
+
});
|
|
253
|
+
|
|
210
254
|
it("shouldAutoRevealLocationToPublicNow respects time", () => {
|
|
211
255
|
const bash = {
|
|
212
256
|
...baseBash,
|
|
@@ -234,6 +278,12 @@ describe("defaultLocationRevealAudience", () => {
|
|
|
234
278
|
});
|
|
235
279
|
});
|
|
236
280
|
|
|
281
|
+
describe("defaultLocationRevealMode", () => {
|
|
282
|
+
it("defaults to manual reveal so the pin stays gated", () => {
|
|
283
|
+
expect(defaultLocationRevealMode()).toBe("ManualOnly");
|
|
284
|
+
});
|
|
285
|
+
});
|
|
286
|
+
|
|
237
287
|
describe("geocodeQueryTextForPublicBashMap", () => {
|
|
238
288
|
it("uses city when location redacted", () => {
|
|
239
289
|
expect(
|
|
@@ -8,6 +8,8 @@ export type BashLocationVisibilityEvent = {
|
|
|
8
8
|
locationRevealAudience?: LocationRevealAudience | null;
|
|
9
9
|
locationRevealMode?: LocationRevealMode | null;
|
|
10
10
|
locationRevealOffsetMins?: number | null;
|
|
11
|
+
/** Absolute reveal timestamp; used when locationRevealMode = CustomDateTime. */
|
|
12
|
+
locationRevealScheduledAt?: Date | string | null;
|
|
11
13
|
startDateTime?: Date | string | null;
|
|
12
14
|
};
|
|
13
15
|
|
|
@@ -122,10 +124,18 @@ export function applyBashEventLocationRedaction<T extends BashEventLocationRedac
|
|
|
122
124
|
/** When the address becomes public to everyone (null = manual-only or unknown). */
|
|
123
125
|
export function computeLocationPublicRevealDueAt(bash: BashLocationVisibilityEvent): Date | null {
|
|
124
126
|
if (!bash.hideLocation || bash.locationRevealedAt) return null;
|
|
125
|
-
const start = bash.startDateTime ? new Date(bash.startDateTime) : null;
|
|
126
|
-
if (!start || Number.isNaN(start.getTime())) return null;
|
|
127
127
|
const mode = bash.locationRevealMode ?? "AtStartTime";
|
|
128
128
|
if (mode === "ManualOnly") return null;
|
|
129
|
+
|
|
130
|
+
if (mode === "CustomDateTime") {
|
|
131
|
+
const scheduled = bash.locationRevealScheduledAt
|
|
132
|
+
? new Date(bash.locationRevealScheduledAt)
|
|
133
|
+
: null;
|
|
134
|
+
return scheduled && !Number.isNaN(scheduled.getTime()) ? scheduled : null;
|
|
135
|
+
}
|
|
136
|
+
|
|
137
|
+
const start = bash.startDateTime ? new Date(bash.startDateTime) : null;
|
|
138
|
+
if (!start || Number.isNaN(start.getTime())) return null;
|
|
129
139
|
if (mode === "AtStartTime") return start;
|
|
130
140
|
if (mode === "CustomOffset") {
|
|
131
141
|
const mins = bash.locationRevealOffsetMins;
|
|
@@ -153,6 +163,11 @@ export function defaultLocationRevealAudience(hasPaidTicketTiers: boolean): Loca
|
|
|
153
163
|
return hasPaidTicketTiers ? "TicketHolders" : "TicketHoldersAndRsvps";
|
|
154
164
|
}
|
|
155
165
|
|
|
166
|
+
/** Default reveal timing when the host turns on hide-location: stay gated until they choose otherwise. */
|
|
167
|
+
export function defaultLocationRevealMode(): LocationRevealMode {
|
|
168
|
+
return "ManualOnly";
|
|
169
|
+
}
|
|
170
|
+
|
|
156
171
|
/** Address string for Google geocoding on public maps when full `location` is redacted. */
|
|
157
172
|
export function geocodeQueryTextForPublicBashMap(event: {
|
|
158
173
|
location?: string | null;
|
package/src/utils/slugUtils.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import
|
|
1
|
+
import * as slugifyImport from "slugify";
|
|
2
2
|
import {
|
|
3
3
|
BASH_DETAIL_URL,
|
|
4
4
|
BASH_EVENT_WIZARD_HOW_MAJOR_STEP,
|
|
@@ -6,6 +6,36 @@ import {
|
|
|
6
6
|
BASH_EVENT_WIZARD_PATH_PREFIX,
|
|
7
7
|
} from '../definitions.js';
|
|
8
8
|
|
|
9
|
+
type SlugifyOptions = {
|
|
10
|
+
lower?: boolean;
|
|
11
|
+
strict?: boolean;
|
|
12
|
+
remove?: RegExp;
|
|
13
|
+
};
|
|
14
|
+
|
|
15
|
+
type SlugifyFn = (input: string, options?: SlugifyOptions) => string;
|
|
16
|
+
|
|
17
|
+
function isSlugifyFn(value: unknown): value is SlugifyFn {
|
|
18
|
+
return typeof value === "function";
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
/** CJS `slugify` under Vite exposes `default` on the namespace, not a default import. */
|
|
22
|
+
function resolveSlugify(): SlugifyFn {
|
|
23
|
+
if (isSlugifyFn(slugifyImport)) {
|
|
24
|
+
return slugifyImport;
|
|
25
|
+
}
|
|
26
|
+
if (
|
|
27
|
+
typeof slugifyImport === "object" &&
|
|
28
|
+
slugifyImport !== null &&
|
|
29
|
+
"default" in slugifyImport &&
|
|
30
|
+
isSlugifyFn(slugifyImport.default)
|
|
31
|
+
) {
|
|
32
|
+
return slugifyImport.default;
|
|
33
|
+
}
|
|
34
|
+
throw new Error("slugify package did not export a callable function");
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
const slugify = resolveSlugify();
|
|
38
|
+
|
|
9
39
|
export function generateSlug(title: string): string {
|
|
10
40
|
return slugify(title, {
|
|
11
41
|
lower: true,
|