@burdenoff/microfe-ggnomad 2026.825.1 → 2026.828.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.
Files changed (98) hide show
  1. package/dist/ggnomad/components/AvailabilityPanel.d.ts +15 -0
  2. package/dist/ggnomad/components/AvailabilityPanel.d.ts.map +1 -0
  3. package/dist/ggnomad/components/AvailabilityPanel.js +91 -0
  4. package/dist/ggnomad/components/AvailabilityPanel.js.map +1 -0
  5. package/dist/ggnomad/components/BookingPanel.d.ts +1 -3
  6. package/dist/ggnomad/components/BookingPanel.d.ts.map +1 -1
  7. package/dist/ggnomad/components/BookingPanel.js +91 -82
  8. package/dist/ggnomad/components/BookingPanel.js.map +1 -1
  9. package/dist/ggnomad/components/EcoAccessPanel.d.ts +17 -0
  10. package/dist/ggnomad/components/EcoAccessPanel.d.ts.map +1 -0
  11. package/dist/ggnomad/components/EcoAccessPanel.js +68 -0
  12. package/dist/ggnomad/components/EcoAccessPanel.js.map +1 -0
  13. package/dist/ggnomad/components/FactGrid.d.ts +18 -0
  14. package/dist/ggnomad/components/FactGrid.d.ts.map +1 -0
  15. package/dist/ggnomad/components/FactGrid.js +29 -0
  16. package/dist/ggnomad/components/FactGrid.js.map +1 -0
  17. package/dist/ggnomad/components/GroupTripPanel.d.ts +22 -0
  18. package/dist/ggnomad/components/GroupTripPanel.d.ts.map +1 -0
  19. package/dist/ggnomad/components/GroupTripPanel.js +350 -0
  20. package/dist/ggnomad/components/GroupTripPanel.js.map +1 -0
  21. package/dist/ggnomad/components/ListingFilters.d.ts +29 -0
  22. package/dist/ggnomad/components/ListingFilters.d.ts.map +1 -0
  23. package/dist/ggnomad/components/ListingFilters.js +164 -0
  24. package/dist/ggnomad/components/ListingFilters.js.map +1 -0
  25. package/dist/ggnomad/components/PhotoGallery.d.ts +15 -0
  26. package/dist/ggnomad/components/PhotoGallery.d.ts.map +1 -0
  27. package/dist/ggnomad/components/PhotoGallery.js +54 -0
  28. package/dist/ggnomad/components/PhotoGallery.js.map +1 -0
  29. package/dist/ggnomad/components/ProviderCard.d.ts +19 -0
  30. package/dist/ggnomad/components/ProviderCard.d.ts.map +1 -0
  31. package/dist/ggnomad/components/ProviderCard.js +66 -0
  32. package/dist/ggnomad/components/ProviderCard.js.map +1 -0
  33. package/dist/ggnomad/components/RatingSummary.d.ts +14 -0
  34. package/dist/ggnomad/components/RatingSummary.d.ts.map +1 -0
  35. package/dist/ggnomad/components/RatingSummary.js +32 -0
  36. package/dist/ggnomad/components/RatingSummary.js.map +1 -0
  37. package/dist/ggnomad/components/TagChips.d.ts +16 -0
  38. package/dist/ggnomad/components/TagChips.d.ts.map +1 -0
  39. package/dist/ggnomad/components/TagChips.js +20 -0
  40. package/dist/ggnomad/components/TagChips.js.map +1 -0
  41. package/dist/ggnomad/components/index.d.ts +13 -0
  42. package/dist/ggnomad/components/index.d.ts.map +1 -1
  43. package/dist/ggnomad/components/index.js +9 -0
  44. package/dist/ggnomad/graphql.d.ts +10 -0
  45. package/dist/ggnomad/graphql.d.ts.map +1 -1
  46. package/dist/ggnomad/graphql.js +308 -20
  47. package/dist/ggnomad/graphql.js.map +1 -1
  48. package/dist/ggnomad/pages/ActivityDetailsPage.d.ts.map +1 -1
  49. package/dist/ggnomad/pages/ActivityDetailsPage.js +174 -86
  50. package/dist/ggnomad/pages/ActivityDetailsPage.js.map +1 -1
  51. package/dist/ggnomad/pages/AnalyticsPage.d.ts.map +1 -1
  52. package/dist/ggnomad/pages/AnalyticsPage.js +109 -77
  53. package/dist/ggnomad/pages/AnalyticsPage.js.map +1 -1
  54. package/dist/ggnomad/pages/BookingsPage.d.ts.map +1 -1
  55. package/dist/ggnomad/pages/BookingsPage.js +188 -137
  56. package/dist/ggnomad/pages/BookingsPage.js.map +1 -1
  57. package/dist/ggnomad/pages/DashboardPage.d.ts.map +1 -1
  58. package/dist/ggnomad/pages/DashboardPage.js +245 -128
  59. package/dist/ggnomad/pages/DashboardPage.js.map +1 -1
  60. package/dist/ggnomad/pages/EntertainmentPage.d.ts.map +1 -1
  61. package/dist/ggnomad/pages/EntertainmentPage.js +115 -53
  62. package/dist/ggnomad/pages/EntertainmentPage.js.map +1 -1
  63. package/dist/ggnomad/pages/EventDetailsPage.d.ts.map +1 -1
  64. package/dist/ggnomad/pages/EventDetailsPage.js +170 -87
  65. package/dist/ggnomad/pages/EventDetailsPage.js.map +1 -1
  66. package/dist/ggnomad/pages/FavoritesPage.d.ts.map +1 -1
  67. package/dist/ggnomad/pages/FavoritesPage.js +201 -84
  68. package/dist/ggnomad/pages/FavoritesPage.js.map +1 -1
  69. package/dist/ggnomad/pages/HospitalityPage.d.ts.map +1 -1
  70. package/dist/ggnomad/pages/HospitalityPage.js +99 -56
  71. package/dist/ggnomad/pages/HospitalityPage.js.map +1 -1
  72. package/dist/ggnomad/pages/PropertyDetailsPage.d.ts.map +1 -1
  73. package/dist/ggnomad/pages/PropertyDetailsPage.js +177 -93
  74. package/dist/ggnomad/pages/PropertyDetailsPage.js.map +1 -1
  75. package/dist/ggnomad/pages/ProviderPage.d.ts.map +1 -1
  76. package/dist/ggnomad/pages/ProviderPage.js +112 -63
  77. package/dist/ggnomad/pages/ProviderPage.js.map +1 -1
  78. package/dist/ggnomad/pages/SearchPage.d.ts.map +1 -1
  79. package/dist/ggnomad/pages/SearchPage.js +236 -65
  80. package/dist/ggnomad/pages/SearchPage.js.map +1 -1
  81. package/dist/ggnomad/pages/TourDetailsPage.d.ts.map +1 -1
  82. package/dist/ggnomad/pages/TourDetailsPage.js +171 -86
  83. package/dist/ggnomad/pages/TourDetailsPage.js.map +1 -1
  84. package/dist/ggnomad/pages/TourismPage.d.ts.map +1 -1
  85. package/dist/ggnomad/pages/TourismPage.js +108 -54
  86. package/dist/ggnomad/pages/TourismPage.js.map +1 -1
  87. package/dist/ggnomad/pages/TravelPage.d.ts.map +1 -1
  88. package/dist/ggnomad/pages/TravelPage.js +406 -43
  89. package/dist/ggnomad/pages/TravelPage.js.map +1 -1
  90. package/dist/ggnomad/pages/TripPlanDetailPage.d.ts.map +1 -1
  91. package/dist/ggnomad/pages/TripPlanDetailPage.js +93 -70
  92. package/dist/ggnomad/pages/TripPlanDetailPage.js.map +1 -1
  93. package/dist/ggnomad/utils/format.d.ts +47 -0
  94. package/dist/ggnomad/utils/format.d.ts.map +1 -0
  95. package/dist/ggnomad/utils/format.js +125 -0
  96. package/dist/ggnomad/utils/format.js.map +1 -0
  97. package/dist/stories/BookingPanel.stories.d.ts.map +1 -1
  98. package/package.json +1 -1
@@ -1,137 +1,225 @@
1
1
  import { GGNOMAD_ACTIVITY_QUERY as e } from "../graphql.js";
2
- import { PageShell as t } from "./PageShell.js";
3
- import { SectionCard as n } from "../components/SectionCard.js";
4
- import { DetailRow as r } from "../components/DetailRow.js";
5
- import { DetailHero as i } from "../components/DetailHero.js";
6
- import { useGGNomad as a } from "../providers/GGNomadProvider.js";
7
- import { joinPath as o } from "../utils/navigation.js";
8
- import { BookingPanel as s } from "../components/BookingPanel.js";
9
- import { ReviewsSection as c } from "../components/ReviewsSection.js";
10
- import { ListingEditDialog as l } from "../components/ListingEditDialog.js";
2
+ import { humanizeEnum as t, jsonLabel as n } from "../utils/format.js";
3
+ import { PageShell as r } from "./PageShell.js";
4
+ import { StatusBadge as i } from "../components/StatusBadge.js";
5
+ import { SectionCard as a } from "../components/SectionCard.js";
6
+ import { DetailRow as o } from "../components/DetailRow.js";
7
+ import { DetailHero as s } from "../components/DetailHero.js";
8
+ import { useGGNomad as c } from "../providers/GGNomadProvider.js";
9
+ import { joinPath as l } from "../utils/navigation.js";
10
+ import { BookingPanel as u } from "../components/BookingPanel.js";
11
+ import { ReviewsSection as d } from "../components/ReviewsSection.js";
12
+ import { ListingEditDialog as f } from "../components/ListingEditDialog.js";
13
+ import { PhotoGallery as p } from "../components/PhotoGallery.js";
14
+ import { TagChips as m } from "../components/TagChips.js";
15
+ import { FactGrid as h } from "../components/FactGrid.js";
16
+ import { RatingSummary as g } from "../components/RatingSummary.js";
17
+ import { EcoAccessPanel as _ } from "../components/EcoAccessPanel.js";
18
+ import { ProviderCard as v } from "../components/ProviderCard.js";
19
+ import { AvailabilityPanel as y } from "../components/AvailabilityPanel.js";
11
20
  import "../components/index.js";
12
- import { useState as u } from "react";
13
- import { Activity as d, Compass as f, Pencil as p, ShieldCheck as m } from "lucide-react";
14
- import { useI18n as h } from "@burdenoff/fe-libs/shared/providers/shell/I18nProvider";
15
- import { useNavigate as g, useParams as _ } from "react-router";
16
- import { useQuery as v } from "@apollo/client/react";
17
- import { GlassCard as y, IllustratedEmptyState as b, NextSteps as x, PagePurpose as S } from "@burdenoff/fe-libs/ui";
18
- import { Fragment as C, jsx as w, jsxs as T } from "react/jsx-runtime";
21
+ import { useState as b } from "react";
22
+ import { Activity as x, CheckCircle2 as S, Clock as C, Compass as w, Gauge as T, ListChecks as E, MapPin as D, Pencil as O, ShieldCheck as k, Users as A, Zap as j } from "lucide-react";
23
+ import { useI18n as M } from "@burdenoff/fe-libs/shared/providers/shell/I18nProvider";
24
+ import { useNavigate as N, useParams as P } from "react-router";
25
+ import { useQuery as F } from "@apollo/client/react";
26
+ import { GlassCard as I, IllustratedEmptyState as L, NextSteps as R, PagePurpose as z } from "@burdenoff/fe-libs/ui";
27
+ import { Fragment as B, jsx as V, jsxs as H } from "react/jsx-runtime";
19
28
  //#region src/ggnomad/pages/ActivityDetailsPage.tsx
20
- function E() {
21
- let { t: E } = h(), D = g(), { basePath: O = "/" } = a(), { id: k = "" } = _(), [A, j] = u(!1), { data: M, refetch: N } = v(e, {
22
- variables: { id: k },
23
- skip: !k
24
- }), P = M?.ggnomadActivity;
25
- return /* @__PURE__ */ w(t, {
26
- title: P?.name ?? E("ggnomad.activity.fallbackTitle", "Activity details"),
27
- subtitle: E("ggnomad.activity.subtitle", "Safety, inclusions and participation details"),
28
- children: P ? /* @__PURE__ */ T(C, { children: [
29
- /* @__PURE__ */ w(i, {
30
- image: P.images?.[0],
31
- alt: P.name
29
+ function U() {
30
+ let { t: U } = M(), W = N(), { basePath: G = "/" } = c(), { id: K = "" } = P(), [q, J] = b(!1), { data: Y, refetch: X } = F(e, {
31
+ variables: { id: K },
32
+ skip: !K
33
+ }), Z = Y?.ggnomadActivity, Q = n(Z?.location), $ = [];
34
+ return Z && ($.push({
35
+ id: "duration",
36
+ label: U("ggnomad.activity.duration", "Duration"),
37
+ value: Z.duration,
38
+ icon: /* @__PURE__ */ V(C, {})
39
+ }), Z.difficulty && $.push({
40
+ id: "difficulty",
41
+ label: U("ggnomad.activity.difficulty", "Difficulty"),
42
+ value: t(Z.difficulty),
43
+ icon: /* @__PURE__ */ V(T, {})
44
+ }), $.push({
45
+ id: "participants",
46
+ label: U("ggnomad.activity.maxParticipants", "Max participants"),
47
+ value: String(Z.maxParticipants),
48
+ icon: /* @__PURE__ */ V(A, {})
49
+ }), Q && $.push({
50
+ id: "location",
51
+ label: U("ggnomad.activity.location", "Location"),
52
+ value: Q,
53
+ icon: /* @__PURE__ */ V(D, {})
54
+ })), /* @__PURE__ */ V(r, {
55
+ title: Z?.name ?? U("ggnomad.activity.fallbackTitle", "Activity details"),
56
+ subtitle: U("ggnomad.activity.subtitle", "Safety, inclusions and participation details"),
57
+ children: Z ? /* @__PURE__ */ H(B, { children: [
58
+ Z.images.length > 0 ? /* @__PURE__ */ V(p, {
59
+ images: Z.images,
60
+ alt: Z.name
61
+ }) : /* @__PURE__ */ V(s, { alt: Z.name }),
62
+ /* @__PURE__ */ H("div", {
63
+ className: "flex flex-wrap items-center gap-3",
64
+ children: [
65
+ /* @__PURE__ */ V("span", {
66
+ className: "rounded-full border border-border-seam bg-bg-sunken px-3 py-1 text-sm text-text-primary",
67
+ children: t(Z.category)
68
+ }),
69
+ Z.status ? /* @__PURE__ */ V(i, { status: Z.status }) : null,
70
+ /* @__PURE__ */ V(g, {
71
+ rating: Z.rating,
72
+ reviewCount: Z.reviewCount
73
+ }),
74
+ Z.instantBook ? /* @__PURE__ */ H("span", {
75
+ className: "inline-flex items-center gap-1.5 rounded-full bg-status-success-bg-subtle px-3 py-1 text-sm font-medium text-status-success-text",
76
+ children: [/* @__PURE__ */ V(j, {
77
+ className: "size-3.5",
78
+ "aria-hidden": "true"
79
+ }), U("ggnomad.listing.instantBook", "Instant book")]
80
+ }) : null
81
+ ]
32
82
  }),
33
- /* @__PURE__ */ w(S, {
34
- icon: /* @__PURE__ */ w(d, { className: "size-4" }),
35
- children: E("ggnomad.activity.purpose", "Everything you need to know before joining this activity — its category, duration, group size, price and the safety policy that applies — so you can be confident it fits your group before you book.")
83
+ /* @__PURE__ */ V(z, {
84
+ icon: /* @__PURE__ */ V(x, { className: "size-4" }),
85
+ children: U("ggnomad.activity.purpose", "Everything you need to know before joining this activity — its category, duration, group size, price and the safety policy that applies — so you can be confident it fits your group before you book.")
36
86
  }),
37
- /* @__PURE__ */ w(x, {
87
+ /* @__PURE__ */ V(h, { facts: $ }),
88
+ /* @__PURE__ */ V(R, {
38
89
  storageKey: "ggnomad-activity-detail",
39
90
  steps: [{
40
91
  id: "browse",
41
- label: E("ggnomad.activity.next.browse", "Explore more experiences"),
42
- description: E("ggnomad.activity.next.browseDesc", "Return to Tourism to compare tours and activities."),
43
- icon: /* @__PURE__ */ w(f, { className: "size-4" }),
44
- onClick: () => D(o(O, "tourism"))
92
+ label: U("ggnomad.activity.next.browse", "Explore more experiences"),
93
+ description: U("ggnomad.activity.next.browseDesc", "Return to Tourism to compare tours and activities."),
94
+ icon: /* @__PURE__ */ V(w, { className: "size-4" }),
95
+ onClick: () => W(l(G, "tourism"))
45
96
  }]
46
97
  }),
47
- /* @__PURE__ */ T("div", {
98
+ /* @__PURE__ */ H("div", {
48
99
  className: "grid gap-4 lg:grid-cols-3",
49
- children: [/* @__PURE__ */ T("div", {
100
+ children: [/* @__PURE__ */ H("div", {
50
101
  className: "lg:col-span-2 space-y-4",
51
102
  children: [
52
- /* @__PURE__ */ T(y, {
103
+ Z.description ? /* @__PURE__ */ V(a, {
104
+ title: U("ggnomad.activity.about", "About this activity"),
105
+ children: /* @__PURE__ */ V("p", {
106
+ className: "text-text-primary",
107
+ children: Z.description
108
+ })
109
+ }) : null,
110
+ /* @__PURE__ */ H(I, {
53
111
  treatment: "glass",
54
112
  glow: !0,
55
113
  className: "border-border-seam p-5",
56
- children: [/* @__PURE__ */ T("div", {
114
+ children: [/* @__PURE__ */ H("div", {
57
115
  className: "mb-4 flex items-center justify-between gap-3",
58
- children: [/* @__PURE__ */ w("h2", {
116
+ children: [/* @__PURE__ */ V("h2", {
59
117
  className: "text-lg font-medium tracking-tight text-text-primary",
60
- children: E("ggnomad.activity.details", "Details")
61
- }), /* @__PURE__ */ w("button", {
62
- onClick: () => j(!0),
118
+ children: U("ggnomad.activity.details", "Details")
119
+ }), /* @__PURE__ */ V("button", {
120
+ onClick: () => J(!0),
63
121
  className: "rounded-md p-2 text-text-secondary hover:bg-action-primary-bg hover:text-action-primary-text",
64
- "aria-label": E("ggnomad.activity.editListing", "Edit listing"),
65
- title: E("ggnomad.activity.editListing", "Edit listing"),
66
- children: /* @__PURE__ */ w(p, { className: "size-4" })
122
+ "aria-label": U("ggnomad.activity.editListing", "Edit listing"),
123
+ title: U("ggnomad.activity.editListing", "Edit listing"),
124
+ children: /* @__PURE__ */ V(O, { className: "size-4" })
67
125
  })]
68
- }), /* @__PURE__ */ T("dl", {
126
+ }), /* @__PURE__ */ H("dl", {
69
127
  className: "space-y-2 text-sm",
70
128
  children: [
71
- /* @__PURE__ */ w(r, {
72
- label: E("ggnomad.activity.category", "Category"),
73
- value: P.category
129
+ /* @__PURE__ */ V(o, {
130
+ label: U("ggnomad.activity.category", "Category"),
131
+ value: t(Z.category)
74
132
  }),
75
- /* @__PURE__ */ w(r, {
76
- label: E("ggnomad.activity.duration", "Duration"),
77
- value: P.duration
133
+ /* @__PURE__ */ V(o, {
134
+ label: U("ggnomad.activity.duration", "Duration"),
135
+ value: Z.duration
78
136
  }),
79
- /* @__PURE__ */ w(r, {
80
- label: E("ggnomad.activity.maxParticipants", "Max participants"),
81
- value: String(P.maxParticipants)
137
+ /* @__PURE__ */ V(o, {
138
+ label: U("ggnomad.activity.maxParticipants", "Max participants"),
139
+ value: String(Z.maxParticipants)
82
140
  }),
83
- /* @__PURE__ */ w(r, {
84
- label: E("ggnomad.activity.price", "Price"),
85
- value: `${P.currency} ${Number(P.price).toFixed(2)}`
141
+ /* @__PURE__ */ V(o, {
142
+ label: U("ggnomad.activity.price", "Price per participant"),
143
+ value: `${Z.currency} ${Number(Z.price).toFixed(2)}`
86
144
  })
87
145
  ]
88
146
  })]
89
147
  }),
90
- /* @__PURE__ */ w(n, {
91
- title: E("ggnomad.activity.safety", "Safety information"),
92
- children: /* @__PURE__ */ T("div", {
148
+ Z.includes.length > 0 ? /* @__PURE__ */ V(a, {
149
+ title: U("ggnomad.activity.includes", "What’s included"),
150
+ children: /* @__PURE__ */ V("ul", {
151
+ className: "space-y-2 text-sm",
152
+ children: Z.includes.map((e) => /* @__PURE__ */ H("li", {
153
+ className: "flex items-start gap-2 text-text-primary",
154
+ children: [/* @__PURE__ */ V(S, {
155
+ className: "mt-0.5 size-4 flex-shrink-0 text-status-success-text",
156
+ "aria-hidden": "true"
157
+ }), e]
158
+ }, e))
159
+ })
160
+ }) : null,
161
+ Z.requirements.length > 0 ? /* @__PURE__ */ V(a, {
162
+ title: U("ggnomad.activity.requirements", "What you need to bring"),
163
+ children: /* @__PURE__ */ V(m, {
164
+ items: Z.requirements,
165
+ icon: /* @__PURE__ */ V(E, {})
166
+ })
167
+ }) : null,
168
+ /* @__PURE__ */ V(a, {
169
+ title: U("ggnomad.activity.safety", "Safety information"),
170
+ children: /* @__PURE__ */ H("div", {
93
171
  className: "flex items-start gap-2 text-sm text-text-primary",
94
- children: [/* @__PURE__ */ w(m, {
172
+ children: [/* @__PURE__ */ V(k, {
95
173
  className: "mt-0.5 size-4 flex-shrink-0 text-status-success-text",
96
174
  "aria-hidden": "true"
97
- }), /* @__PURE__ */ w("p", { children: P.safetyInfo ?? E("ggnomad.activity.defaultSafety", "Standard provider safety policy applies.") })]
175
+ }), /* @__PURE__ */ V("p", { children: Z.safetyInfo ?? U("ggnomad.activity.defaultSafety", "Standard provider safety policy applies.") })]
98
176
  })
99
177
  }),
100
- /* @__PURE__ */ w(c, {
178
+ /* @__PURE__ */ V(_, {
179
+ sustainabilityScore: Z.sustainabilityScore,
180
+ sustainabilityPractices: Z.sustainabilityPractices,
181
+ accessibilityFeatures: Z.accessibilityFeatures
182
+ }),
183
+ /* @__PURE__ */ V(y, {
184
+ listingId: Z.id ?? K,
185
+ listingType: "ACTIVITY"
186
+ }),
187
+ Z.provider ? /* @__PURE__ */ V(v, { provider: Z.provider }) : null,
188
+ /* @__PURE__ */ V(d, {
101
189
  targetType: "ACTIVITY",
102
- targetId: P.id ?? k
190
+ targetId: Z.id ?? K
103
191
  })
104
192
  ]
105
- }), /* @__PURE__ */ w("div", { children: /* @__PURE__ */ w(s, {
193
+ }), /* @__PURE__ */ V("div", { children: /* @__PURE__ */ V(u, {
106
194
  bookingType: "ACTIVITY",
107
- itemId: P.id ?? k,
108
- itemName: P.name,
109
- unitPrice: P.price ?? 0,
110
- currency: P.currency ?? "USD"
195
+ itemId: Z.id ?? K,
196
+ itemName: Z.name,
197
+ unitPrice: Z.price ?? 0,
198
+ currency: Z.currency ?? "USD"
111
199
  }) })]
112
200
  }),
113
- /* @__PURE__ */ w(l, {
114
- open: A,
115
- onOpenChange: j,
201
+ /* @__PURE__ */ V(f, {
202
+ open: q,
203
+ onOpenChange: J,
116
204
  targetType: "ACTIVITY",
117
- id: P.id ?? k,
205
+ id: Z.id ?? K,
118
206
  initial: {
119
- name: P.name,
120
- description: P.description,
121
- price: P.price,
122
- status: P.status,
123
- images: P.images
207
+ name: Z.name,
208
+ description: Z.description ?? void 0,
209
+ price: Z.price,
210
+ status: Z.status,
211
+ images: Z.images
124
212
  },
125
- onSaved: () => N()
213
+ onSaved: () => X()
126
214
  })
127
- ] }) : /* @__PURE__ */ w(b, {
215
+ ] }) : /* @__PURE__ */ V(L, {
128
216
  illustration: "empty-data",
129
- title: E("ggnomad.activity.notFoundTitle", "No activity found"),
130
- description: E("ggnomad.activity.notFoundDescription", "This activity is unavailable or may have been removed.")
217
+ title: U("ggnomad.activity.notFoundTitle", "No activity found"),
218
+ description: U("ggnomad.activity.notFoundDescription", "This activity is unavailable or may have been removed.")
131
219
  })
132
220
  });
133
221
  }
134
222
  //#endregion
135
- export { E as ActivityDetailsPage };
223
+ export { U as ActivityDetailsPage };
136
224
 
137
225
  //# sourceMappingURL=ActivityDetailsPage.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ActivityDetailsPage.js","names":[],"sources":["../../../src/ggnomad/pages/ActivityDetailsPage.tsx"],"sourcesContent":["import { useState } from 'react';\nimport { useQuery } from '@apollo/client/react';\nimport type { TypedDocumentNode } from '@apollo/client';\nimport { useI18n } from '@burdenoff/fe-libs/shared/providers/shell/I18nProvider';\nimport { useNavigate, useParams } from 'react-router';\nimport { Activity, Compass, Pencil, ShieldCheck } from 'lucide-react';\nimport { GlassCard, IllustratedEmptyState, NextSteps, PagePurpose } from '@burdenoff/fe-libs/ui';\n\nimport { GGNOMAD_ACTIVITY_QUERY } from '../graphql';\nimport { useGGNomad } from '../providers/GGNomadProvider';\nimport { joinPath } from '../utils/navigation';\nimport { PageShell } from './PageShell';\nimport {\n DetailRow,\n SectionCard,\n DetailHero,\n BookingPanel,\n ReviewsSection,\n ListingEditDialog,\n} from '../components';\n\nexport function ActivityDetailsPage() {\n const { t } = useI18n();\n const navigate = useNavigate();\n const { basePath = '/' } = useGGNomad();\n const { id = '' } = useParams();\n const [editDialogOpen, setEditDialogOpen] = useState(false);\n const { data, refetch } = useQuery(\n GGNOMAD_ACTIVITY_QUERY as TypedDocumentNode<\n {\n ggnomadActivity: {\n id: string;\n name: string;\n description?: string;\n category: string;\n duration: string;\n maxParticipants: number;\n currency: string;\n price: number;\n status?: string;\n safetyInfo?: string;\n images?: string[];\n } | null;\n },\n { id: string }\n >,\n { variables: { id }, skip: !id }\n );\n const activity = data?.ggnomadActivity;\n\n return (\n <PageShell\n title={activity?.name ?? t('ggnomad.activity.fallbackTitle', 'Activity details')}\n subtitle={t('ggnomad.activity.subtitle', 'Safety, inclusions and participation details')}\n >\n {!activity ? (\n <IllustratedEmptyState\n illustration=\"empty-data\"\n title={t('ggnomad.activity.notFoundTitle', 'No activity found')}\n description={t(\n 'ggnomad.activity.notFoundDescription',\n 'This activity is unavailable or may have been removed.'\n )}\n />\n ) : (\n <>\n <DetailHero image={activity.images?.[0]} alt={activity.name} />\n <PagePurpose icon={<Activity className=\"size-4\" />}>\n {t(\n 'ggnomad.activity.purpose',\n 'Everything you need to know before joining this activity — its category, duration, group size, price and the safety policy that applies — so you can be confident it fits your group before you book.'\n )}\n </PagePurpose>\n\n <NextSteps\n storageKey=\"ggnomad-activity-detail\"\n steps={[\n {\n id: 'browse',\n label: t('ggnomad.activity.next.browse', 'Explore more experiences'),\n description: t(\n 'ggnomad.activity.next.browseDesc',\n 'Return to Tourism to compare tours and activities.'\n ),\n icon: <Compass className=\"size-4\" />,\n onClick: () => navigate(joinPath(basePath, 'tourism')),\n },\n ]}\n />\n\n <div className=\"grid gap-4 lg:grid-cols-3\">\n <div className=\"lg:col-span-2 space-y-4\">\n <GlassCard treatment=\"glass\" glow className=\"border-border-seam p-5\">\n <div className=\"mb-4 flex items-center justify-between gap-3\">\n <h2 className=\"text-lg font-medium tracking-tight text-text-primary\">\n {t('ggnomad.activity.details', 'Details')}\n </h2>\n <button\n onClick={() => setEditDialogOpen(true)}\n className=\"rounded-md p-2 text-text-secondary hover:bg-action-primary-bg hover:text-action-primary-text\"\n aria-label={t('ggnomad.activity.editListing', 'Edit listing')}\n title={t('ggnomad.activity.editListing', 'Edit listing')}\n >\n <Pencil className=\"size-4\" />\n </button>\n </div>\n <dl className=\"space-y-2 text-sm\">\n <DetailRow\n label={t('ggnomad.activity.category', 'Category')}\n value={activity.category}\n />\n <DetailRow\n label={t('ggnomad.activity.duration', 'Duration')}\n value={activity.duration}\n />\n <DetailRow\n label={t('ggnomad.activity.maxParticipants', 'Max participants')}\n value={String(activity.maxParticipants)}\n />\n <DetailRow\n label={t('ggnomad.activity.price', 'Price')}\n value={`${activity.currency} ${Number(activity.price).toFixed(2)}`}\n />\n </dl>\n </GlassCard>\n <SectionCard title={t('ggnomad.activity.safety', 'Safety information')}>\n <div className=\"flex items-start gap-2 text-sm text-text-primary\">\n <ShieldCheck\n className=\"mt-0.5 size-4 flex-shrink-0 text-status-success-text\"\n aria-hidden=\"true\"\n />\n <p>\n {activity.safetyInfo ??\n t(\n 'ggnomad.activity.defaultSafety',\n 'Standard provider safety policy applies.'\n )}\n </p>\n </div>\n </SectionCard>\n <ReviewsSection targetType=\"ACTIVITY\" targetId={activity.id ?? id} />\n </div>\n <div>\n <BookingPanel\n bookingType=\"ACTIVITY\"\n itemId={activity.id ?? id}\n itemName={activity.name}\n unitPrice={activity.price ?? 0}\n currency={activity.currency ?? 'USD'}\n />\n </div>\n </div>\n\n <ListingEditDialog\n open={editDialogOpen}\n onOpenChange={setEditDialogOpen}\n targetType=\"ACTIVITY\"\n id={activity.id ?? id}\n initial={{\n name: activity.name,\n description: activity.description,\n price: activity.price,\n status: activity.status,\n images: activity.images,\n }}\n onSaved={() => refetch()}\n />\n </>\n )}\n </PageShell>\n );\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"ActivityDetailsPage.js","names":[],"sources":["../../../src/ggnomad/pages/ActivityDetailsPage.tsx"],"sourcesContent":["import { useState } from 'react';\nimport { useQuery } from '@apollo/client/react';\nimport type { TypedDocumentNode } from '@apollo/client';\nimport { useI18n } from '@burdenoff/fe-libs/shared/providers/shell/I18nProvider';\nimport { useNavigate, useParams } from 'react-router';\nimport {\n Activity,\n CheckCircle2,\n Clock,\n Compass,\n Gauge,\n ListChecks,\n MapPin,\n Pencil,\n ShieldCheck,\n Users,\n Zap,\n} from 'lucide-react';\nimport { GlassCard, IllustratedEmptyState, NextSteps, PagePurpose } from '@burdenoff/fe-libs/ui';\n\nimport { GGNOMAD_ACTIVITY_QUERY } from '../graphql';\nimport { useGGNomad } from '../providers/GGNomadProvider';\nimport { joinPath } from '../utils/navigation';\nimport { humanizeEnum, jsonLabel } from '../utils/format';\nimport { PageShell } from './PageShell';\nimport {\n AvailabilityPanel,\n BookingPanel,\n DetailHero,\n DetailRow,\n EcoAccessPanel,\n FactGrid,\n ListingEditDialog,\n PhotoGallery,\n ProviderCard,\n RatingSummary,\n ReviewsSection,\n SectionCard,\n StatusBadge,\n TagChips,\n} from '../components';\nimport type { Fact } from '../components';\n\ntype ActivityDetail = {\n id: string;\n name: string;\n description?: string | null;\n category: string;\n status?: string;\n location?: unknown;\n duration: string;\n difficulty?: string | null;\n maxParticipants: number;\n currency: string;\n price: number;\n rating?: number | null;\n reviewCount: number;\n includes: string[];\n requirements: string[];\n safetyInfo?: string | null;\n images: string[];\n instantBook: boolean;\n sustainabilityScore: number;\n sustainabilityPractices: string[];\n accessibilityFeatures: string[];\n provider?: {\n id: string;\n name: string;\n type?: string | null;\n rating?: number | null;\n reviewCount?: number | null;\n listingCount?: number | null;\n contactEmail?: string | null;\n website?: string | null;\n } | null;\n};\n\nexport function ActivityDetailsPage() {\n const { t } = useI18n();\n const navigate = useNavigate();\n const { basePath = '/' } = useGGNomad();\n const { id = '' } = useParams();\n const [editDialogOpen, setEditDialogOpen] = useState(false);\n const { data, refetch } = useQuery(\n GGNOMAD_ACTIVITY_QUERY as TypedDocumentNode<\n { ggnomadActivity: ActivityDetail | null },\n { id: string }\n >,\n { variables: { id }, skip: !id }\n );\n const activity = data?.ggnomadActivity;\n const locationLabel = jsonLabel(activity?.location);\n\n const facts: Fact[] = [];\n if (activity) {\n facts.push({\n id: 'duration',\n label: t('ggnomad.activity.duration', 'Duration'),\n value: activity.duration,\n icon: <Clock />,\n });\n if (activity.difficulty) {\n facts.push({\n id: 'difficulty',\n label: t('ggnomad.activity.difficulty', 'Difficulty'),\n value: humanizeEnum(activity.difficulty),\n icon: <Gauge />,\n });\n }\n facts.push({\n id: 'participants',\n label: t('ggnomad.activity.maxParticipants', 'Max participants'),\n value: String(activity.maxParticipants),\n icon: <Users />,\n });\n if (locationLabel) {\n facts.push({\n id: 'location',\n label: t('ggnomad.activity.location', 'Location'),\n value: locationLabel,\n icon: <MapPin />,\n });\n }\n }\n\n return (\n <PageShell\n title={activity?.name ?? t('ggnomad.activity.fallbackTitle', 'Activity details')}\n subtitle={t('ggnomad.activity.subtitle', 'Safety, inclusions and participation details')}\n >\n {!activity ? (\n <IllustratedEmptyState\n illustration=\"empty-data\"\n title={t('ggnomad.activity.notFoundTitle', 'No activity found')}\n description={t(\n 'ggnomad.activity.notFoundDescription',\n 'This activity is unavailable or may have been removed.'\n )}\n />\n ) : (\n <>\n {activity.images.length > 0 ? (\n <PhotoGallery images={activity.images} alt={activity.name} />\n ) : (\n <DetailHero alt={activity.name} />\n )}\n\n <div className=\"flex flex-wrap items-center gap-3\">\n <span className=\"rounded-full border border-border-seam bg-bg-sunken px-3 py-1 text-sm text-text-primary\">\n {humanizeEnum(activity.category)}\n </span>\n {activity.status ? <StatusBadge status={activity.status} /> : null}\n <RatingSummary rating={activity.rating} reviewCount={activity.reviewCount} />\n {activity.instantBook ? (\n <span className=\"inline-flex items-center gap-1.5 rounded-full bg-status-success-bg-subtle px-3 py-1 text-sm font-medium text-status-success-text\">\n <Zap className=\"size-3.5\" aria-hidden=\"true\" />\n {t('ggnomad.listing.instantBook', 'Instant book')}\n </span>\n ) : null}\n </div>\n\n <PagePurpose icon={<Activity className=\"size-4\" />}>\n {t(\n 'ggnomad.activity.purpose',\n 'Everything you need to know before joining this activity — its category, duration, group size, price and the safety policy that applies — so you can be confident it fits your group before you book.'\n )}\n </PagePurpose>\n\n <FactGrid facts={facts} />\n\n <NextSteps\n storageKey=\"ggnomad-activity-detail\"\n steps={[\n {\n id: 'browse',\n label: t('ggnomad.activity.next.browse', 'Explore more experiences'),\n description: t(\n 'ggnomad.activity.next.browseDesc',\n 'Return to Tourism to compare tours and activities.'\n ),\n icon: <Compass className=\"size-4\" />,\n onClick: () => navigate(joinPath(basePath, 'tourism')),\n },\n ]}\n />\n\n <div className=\"grid gap-4 lg:grid-cols-3\">\n <div className=\"lg:col-span-2 space-y-4\">\n {activity.description ? (\n <SectionCard title={t('ggnomad.activity.about', 'About this activity')}>\n <p className=\"text-text-primary\">{activity.description}</p>\n </SectionCard>\n ) : null}\n\n <GlassCard treatment=\"glass\" glow className=\"border-border-seam p-5\">\n <div className=\"mb-4 flex items-center justify-between gap-3\">\n <h2 className=\"text-lg font-medium tracking-tight text-text-primary\">\n {t('ggnomad.activity.details', 'Details')}\n </h2>\n <button\n onClick={() => setEditDialogOpen(true)}\n className=\"rounded-md p-2 text-text-secondary hover:bg-action-primary-bg hover:text-action-primary-text\"\n aria-label={t('ggnomad.activity.editListing', 'Edit listing')}\n title={t('ggnomad.activity.editListing', 'Edit listing')}\n >\n <Pencil className=\"size-4\" />\n </button>\n </div>\n <dl className=\"space-y-2 text-sm\">\n <DetailRow\n label={t('ggnomad.activity.category', 'Category')}\n value={humanizeEnum(activity.category)}\n />\n <DetailRow\n label={t('ggnomad.activity.duration', 'Duration')}\n value={activity.duration}\n />\n <DetailRow\n label={t('ggnomad.activity.maxParticipants', 'Max participants')}\n value={String(activity.maxParticipants)}\n />\n <DetailRow\n label={t('ggnomad.activity.price', 'Price per participant')}\n value={`${activity.currency} ${Number(activity.price).toFixed(2)}`}\n />\n </dl>\n </GlassCard>\n\n {activity.includes.length > 0 ? (\n <SectionCard title={t('ggnomad.activity.includes', 'What’s included')}>\n <ul className=\"space-y-2 text-sm\">\n {activity.includes.map((item) => (\n <li key={item} className=\"flex items-start gap-2 text-text-primary\">\n <CheckCircle2\n className=\"mt-0.5 size-4 flex-shrink-0 text-status-success-text\"\n aria-hidden=\"true\"\n />\n {item}\n </li>\n ))}\n </ul>\n </SectionCard>\n ) : null}\n\n {activity.requirements.length > 0 ? (\n <SectionCard title={t('ggnomad.activity.requirements', 'What you need to bring')}>\n <TagChips items={activity.requirements} icon={<ListChecks />} />\n </SectionCard>\n ) : null}\n\n <SectionCard title={t('ggnomad.activity.safety', 'Safety information')}>\n <div className=\"flex items-start gap-2 text-sm text-text-primary\">\n <ShieldCheck\n className=\"mt-0.5 size-4 flex-shrink-0 text-status-success-text\"\n aria-hidden=\"true\"\n />\n <p>\n {activity.safetyInfo ??\n t(\n 'ggnomad.activity.defaultSafety',\n 'Standard provider safety policy applies.'\n )}\n </p>\n </div>\n </SectionCard>\n\n <EcoAccessPanel\n sustainabilityScore={activity.sustainabilityScore}\n sustainabilityPractices={activity.sustainabilityPractices}\n accessibilityFeatures={activity.accessibilityFeatures}\n />\n\n <AvailabilityPanel listingId={activity.id ?? id} listingType=\"ACTIVITY\" />\n\n {activity.provider ? <ProviderCard provider={activity.provider} /> : null}\n\n <ReviewsSection targetType=\"ACTIVITY\" targetId={activity.id ?? id} />\n </div>\n <div>\n <BookingPanel\n bookingType=\"ACTIVITY\"\n itemId={activity.id ?? id}\n itemName={activity.name}\n unitPrice={activity.price ?? 0}\n currency={activity.currency ?? 'USD'}\n />\n </div>\n </div>\n\n <ListingEditDialog\n open={editDialogOpen}\n onOpenChange={setEditDialogOpen}\n targetType=\"ACTIVITY\"\n id={activity.id ?? id}\n initial={{\n name: activity.name,\n description: activity.description ?? undefined,\n price: activity.price,\n status: activity.status,\n images: activity.images,\n }}\n onSaved={() => refetch()}\n />\n </>\n )}\n </PageShell>\n );\n}\n"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"AnalyticsPage.d.ts","sourceRoot":"","sources":["../../../src/ggnomad/pages/AnalyticsPage.tsx"],"names":[],"mappings":"AAyBA,wBAAgB,aAAa,gCAgL5B"}
1
+ {"version":3,"file":"AnalyticsPage.d.ts","sourceRoot":"","sources":["../../../src/ggnomad/pages/AnalyticsPage.tsx"],"names":[],"mappings":"AA0BA,wBAAgB,aAAa,gCA8N5B"}