@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.
@@ -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":"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"}
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":"AA0BA,MAAM,8BAA8B,GAAG,IAAI,GAAG,CAAC,CAAC,WAAW,EAAE,iBAAiB,CAAC,CAAC,CAAC;AAEjF;;;GAGG;AACH,MAAM,UAAU,4BAA4B,CAC1C,OAAqF,EACrF,YAAuC;IAEvC,IAAI,CAAC,YAAY,IAAI,CAAC,OAAO,EAAE,MAAM;QAAE,OAAO,KAAK,CAAC;IACpD,OAAO,OAAO,CAAC,IAAI,CACjB,CAAC,CAAC,EAAE,EAAE,CACJ,CAAC,CAAC,OAAO,KAAK,YAAY,IAAI,CAAC,8BAA8B,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,CAC9E,CAAC;AACJ,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,4BAA4B,CAC1C,IAAiC,EACjC,GAA0B;IAE1B,IAAI,CAAC,IAAI,CAAC,YAAY;QAAE,OAAO,IAAI,CAAC;IACpC,IAAI,IAAI,CAAC,kBAAkB;QAAE,OAAO,IAAI,CAAC;IACzC,IAAI,GAAG,CAAC,iBAAiB;QAAE,OAAO,IAAI,CAAC;IAEvC,MAAM,UAAU,GAAG,GAAG,CAAC,oBAAoB,KAAK,IAAI,CAAC;IACrD,IAAI,CAAC,GAAG,CAAC,YAAY,IAAI,CAAC,UAAU;QAAE,OAAO,KAAK,CAAC;IAEnD,MAAM,QAAQ,GAAG,IAAI,CAAC,sBAAsB,IAAI,eAAe,CAAC;IAEhE,IAAI,GAAG,CAAC,qBAAqB;QAAE,OAAO,IAAI,CAAC;IAE3C,IAAI,QAAQ,KAAK,eAAe;QAAE,OAAO,KAAK,CAAC;IAE/C,MAAM,SAAS,GAAG,GAAG,CAAC,qBAAqB,IAAI,UAAU,CAAC;IAE1D,IAAI,QAAQ,KAAK,uBAAuB,IAAI,QAAQ,KAAK,yBAAyB,EAAE,CAAC;QACnF,IAAI,SAAS;YAAE,OAAO,IAAI,CAAC;IAC7B,CAAC;IAED,IAAI,QAAQ,KAAK,yBAAyB,IAAI,GAAG,CAAC,2BAA2B,EAAE,CAAC;QAC9E,OAAO,IAAI,CAAC;IACd,CAAC;IAED,OAAO,KAAK,CAAC;AACf,CAAC;AAED,sEAAsE;AACtE,MAAM,UAAU,wBAAwB,CAAC,IAAiC;IACxE,OAAO,CAAC,IAAI,CAAC,YAAY,IAAI,IAAI,CAAC,kBAAkB,IAAI,IAAI,CAAC;AAC/D,CAAC;AAWD;;;GAGG;AACH,MAAM,UAAU,uBAAuB,CAA0C,KAAQ;IACvF,MAAM,GAAG,GAAG,EAAE,GAAG,KAAK,EAAE,CAAC;IACzB,GAAG,CAAC,QAAQ,GAAG,IAAI,CAAC;IACpB,GAAG,CAAC,MAAM,GAAG,IAAI,CAAC;IAClB,GAAG,CAAC,OAAO,GAAG,IAAI,CAAC;IACnB,GAAG,CAAC,OAAO,GAAG,IAAI,CAAC;IACnB,MAAM,MAAM,GAAI,GAA0C,CAAC,WAAW,CAAC;IACvE,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC9C,GAAmC,CAAC,WAAW,GAAG,EAAE,CAAC;IACxD,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,+BAA+B,CAC7C,KAAQ,EACR,UAAmB;IAEnB,IAAI,CAAC,KAAK,CAAC,YAAY,IAAI,UAAU,EAAE,CAAC;QACtC,OAAO,KAAK,CAAC;IACf,CAAC;IACD,OAAO,uBAAuB,CAAC,KAAK,CAAC,CAAC;AACxC,CAAC;AAED,mFAAmF;AACnF,MAAM,UAAU,gCAAgC,CAAC,IAAiC;IAChF,IAAI,CAAC,IAAI,CAAC,YAAY,IAAI,IAAI,CAAC,kBAAkB;QAAE,OAAO,IAAI,CAAC;IAC/D,MAAM,KAAK,GAAG,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IACvE,IAAI,CAAC,KAAK,IAAI,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC;QAAE,OAAO,IAAI,CAAC;IACzD,MAAM,IAAI,GAAG,IAAI,CAAC,kBAAkB,IAAI,aAAa,CAAC;IACtD,IAAI,IAAI,KAAK,YAAY;QAAE,OAAO,IAAI,CAAC;IACvC,IAAI,IAAI,KAAK,aAAa;QAAE,OAAO,KAAK,CAAC;IACzC,IAAI,IAAI,KAAK,cAAc,EAAE,CAAC;QAC5B,MAAM,IAAI,GAAG,IAAI,CAAC,wBAAwB,CAAC;QAC3C,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,CAAC;YAAE,OAAO,IAAI,CAAC;QAC1C,OAAO,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,GAAG,IAAI,GAAG,MAAM,CAAC,CAAC;IACnD,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,+EAA+E;AAC/E,MAAM,UAAU,mCAAmC,CACjD,IAAiC,EACjC,GAAS;IAET,IAAI,CAAC,IAAI,CAAC,YAAY,IAAI,IAAI,CAAC,kBAAkB;QAAE,OAAO,KAAK,CAAC;IAChE,MAAM,IAAI,GAAG,IAAI,CAAC,kBAAkB,IAAI,aAAa,CAAC;IACtD,IAAI,IAAI,KAAK,YAAY;QAAE,OAAO,KAAK,CAAC;IACxC,MAAM,GAAG,GAAG,gCAAgC,CAAC,IAAI,CAAC,CAAC;IACnD,IAAI,CAAC,GAAG;QAAE,OAAO,KAAK,CAAC;IACvB,OAAO,GAAG,CAAC,OAAO,EAAE,IAAI,GAAG,CAAC,OAAO,EAAE,CAAC;AACxC,CAAC;AAED,8GAA8G;AAC9G,MAAM,UAAU,6BAA6B,CAAC,kBAA2B;IACvE,OAAO,kBAAkB,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,uBAAuB,CAAC;AACxE,CAAC;AAED,2FAA2F;AAC3F,MAAM,UAAU,gCAAgC,CAAC,KAOhD;IACC,MAAM,GAAG,GAAG,KAAK,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC;IACnC,IAAI,GAAG;QAAE,OAAO,GAAG,CAAC;IACpB,IAAI,KAAK,CAAC,YAAY,IAAI,CAAC,KAAK,CAAC,kBAAkB,EAAE,CAAC;QACpD,MAAM,KAAK,GAAG,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC,MAAM,CAC3D,CAAC,CAAC,EAAe,EAAE,CAAC,OAAO,CAAC,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CACnD,CAAC;QACF,OAAO,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IAChD,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC"}
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":"AAQA,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"}
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"}
@@ -1,5 +1,22 @@
1
- import slugify from 'slugify';
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":"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"}
1
+ {"version":3,"file":"slugUtils.js","sourceRoot":"","sources":["../../src/utils/slugUtils.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@bash-app/bash-common",
3
- "version": "30.361.0",
3
+ "version": "30.362.0",
4
4
  "description": "Common data and scripts to use on the frontend and backend",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",
@@ -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;
@@ -1,4 +1,4 @@
1
- import slugify from 'slugify';
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,