@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.
- package/dist/ggnomad/components/AvailabilityPanel.d.ts +15 -0
- package/dist/ggnomad/components/AvailabilityPanel.d.ts.map +1 -0
- package/dist/ggnomad/components/AvailabilityPanel.js +91 -0
- package/dist/ggnomad/components/AvailabilityPanel.js.map +1 -0
- package/dist/ggnomad/components/BookingPanel.d.ts +1 -3
- package/dist/ggnomad/components/BookingPanel.d.ts.map +1 -1
- package/dist/ggnomad/components/BookingPanel.js +91 -82
- package/dist/ggnomad/components/BookingPanel.js.map +1 -1
- package/dist/ggnomad/components/EcoAccessPanel.d.ts +17 -0
- package/dist/ggnomad/components/EcoAccessPanel.d.ts.map +1 -0
- package/dist/ggnomad/components/EcoAccessPanel.js +68 -0
- package/dist/ggnomad/components/EcoAccessPanel.js.map +1 -0
- package/dist/ggnomad/components/FactGrid.d.ts +18 -0
- package/dist/ggnomad/components/FactGrid.d.ts.map +1 -0
- package/dist/ggnomad/components/FactGrid.js +29 -0
- package/dist/ggnomad/components/FactGrid.js.map +1 -0
- package/dist/ggnomad/components/GroupTripPanel.d.ts +22 -0
- package/dist/ggnomad/components/GroupTripPanel.d.ts.map +1 -0
- package/dist/ggnomad/components/GroupTripPanel.js +350 -0
- package/dist/ggnomad/components/GroupTripPanel.js.map +1 -0
- package/dist/ggnomad/components/ListingFilters.d.ts +29 -0
- package/dist/ggnomad/components/ListingFilters.d.ts.map +1 -0
- package/dist/ggnomad/components/ListingFilters.js +164 -0
- package/dist/ggnomad/components/ListingFilters.js.map +1 -0
- package/dist/ggnomad/components/PhotoGallery.d.ts +15 -0
- package/dist/ggnomad/components/PhotoGallery.d.ts.map +1 -0
- package/dist/ggnomad/components/PhotoGallery.js +54 -0
- package/dist/ggnomad/components/PhotoGallery.js.map +1 -0
- package/dist/ggnomad/components/ProviderCard.d.ts +19 -0
- package/dist/ggnomad/components/ProviderCard.d.ts.map +1 -0
- package/dist/ggnomad/components/ProviderCard.js +66 -0
- package/dist/ggnomad/components/ProviderCard.js.map +1 -0
- package/dist/ggnomad/components/RatingSummary.d.ts +14 -0
- package/dist/ggnomad/components/RatingSummary.d.ts.map +1 -0
- package/dist/ggnomad/components/RatingSummary.js +32 -0
- package/dist/ggnomad/components/RatingSummary.js.map +1 -0
- package/dist/ggnomad/components/TagChips.d.ts +16 -0
- package/dist/ggnomad/components/TagChips.d.ts.map +1 -0
- package/dist/ggnomad/components/TagChips.js +20 -0
- package/dist/ggnomad/components/TagChips.js.map +1 -0
- package/dist/ggnomad/components/index.d.ts +13 -0
- package/dist/ggnomad/components/index.d.ts.map +1 -1
- package/dist/ggnomad/components/index.js +9 -0
- package/dist/ggnomad/graphql.d.ts +10 -0
- package/dist/ggnomad/graphql.d.ts.map +1 -1
- package/dist/ggnomad/graphql.js +308 -20
- package/dist/ggnomad/graphql.js.map +1 -1
- package/dist/ggnomad/pages/ActivityDetailsPage.d.ts.map +1 -1
- package/dist/ggnomad/pages/ActivityDetailsPage.js +174 -86
- package/dist/ggnomad/pages/ActivityDetailsPage.js.map +1 -1
- package/dist/ggnomad/pages/AnalyticsPage.d.ts.map +1 -1
- package/dist/ggnomad/pages/AnalyticsPage.js +109 -77
- package/dist/ggnomad/pages/AnalyticsPage.js.map +1 -1
- package/dist/ggnomad/pages/BookingsPage.d.ts.map +1 -1
- package/dist/ggnomad/pages/BookingsPage.js +188 -137
- package/dist/ggnomad/pages/BookingsPage.js.map +1 -1
- package/dist/ggnomad/pages/DashboardPage.d.ts.map +1 -1
- package/dist/ggnomad/pages/DashboardPage.js +245 -128
- package/dist/ggnomad/pages/DashboardPage.js.map +1 -1
- package/dist/ggnomad/pages/EntertainmentPage.d.ts.map +1 -1
- package/dist/ggnomad/pages/EntertainmentPage.js +115 -53
- package/dist/ggnomad/pages/EntertainmentPage.js.map +1 -1
- package/dist/ggnomad/pages/EventDetailsPage.d.ts.map +1 -1
- package/dist/ggnomad/pages/EventDetailsPage.js +170 -87
- package/dist/ggnomad/pages/EventDetailsPage.js.map +1 -1
- package/dist/ggnomad/pages/FavoritesPage.d.ts.map +1 -1
- package/dist/ggnomad/pages/FavoritesPage.js +201 -84
- package/dist/ggnomad/pages/FavoritesPage.js.map +1 -1
- package/dist/ggnomad/pages/HospitalityPage.d.ts.map +1 -1
- package/dist/ggnomad/pages/HospitalityPage.js +99 -56
- package/dist/ggnomad/pages/HospitalityPage.js.map +1 -1
- package/dist/ggnomad/pages/PropertyDetailsPage.d.ts.map +1 -1
- package/dist/ggnomad/pages/PropertyDetailsPage.js +177 -93
- package/dist/ggnomad/pages/PropertyDetailsPage.js.map +1 -1
- package/dist/ggnomad/pages/ProviderPage.d.ts.map +1 -1
- package/dist/ggnomad/pages/ProviderPage.js +112 -63
- package/dist/ggnomad/pages/ProviderPage.js.map +1 -1
- package/dist/ggnomad/pages/SearchPage.d.ts.map +1 -1
- package/dist/ggnomad/pages/SearchPage.js +236 -65
- package/dist/ggnomad/pages/SearchPage.js.map +1 -1
- package/dist/ggnomad/pages/TourDetailsPage.d.ts.map +1 -1
- package/dist/ggnomad/pages/TourDetailsPage.js +171 -86
- package/dist/ggnomad/pages/TourDetailsPage.js.map +1 -1
- package/dist/ggnomad/pages/TourismPage.d.ts.map +1 -1
- package/dist/ggnomad/pages/TourismPage.js +108 -54
- package/dist/ggnomad/pages/TourismPage.js.map +1 -1
- package/dist/ggnomad/pages/TravelPage.d.ts.map +1 -1
- package/dist/ggnomad/pages/TravelPage.js +406 -43
- package/dist/ggnomad/pages/TravelPage.js.map +1 -1
- package/dist/ggnomad/pages/TripPlanDetailPage.d.ts.map +1 -1
- package/dist/ggnomad/pages/TripPlanDetailPage.js +93 -70
- package/dist/ggnomad/pages/TripPlanDetailPage.js.map +1 -1
- package/dist/ggnomad/utils/format.d.ts +47 -0
- package/dist/ggnomad/utils/format.d.ts.map +1 -0
- package/dist/ggnomad/utils/format.js +125 -0
- package/dist/ggnomad/utils/format.js.map +1 -0
- package/dist/stories/BookingPanel.stories.d.ts.map +1 -1
- package/package.json +1 -1
|
@@ -1,137 +1,225 @@
|
|
|
1
1
|
import { GGNOMAD_ACTIVITY_QUERY as e } from "../graphql.js";
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
5
|
-
import {
|
|
6
|
-
import {
|
|
7
|
-
import {
|
|
8
|
-
import {
|
|
9
|
-
import {
|
|
10
|
-
import {
|
|
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
|
|
13
|
-
import { Activity as
|
|
14
|
-
import { useI18n as
|
|
15
|
-
import { useNavigate as
|
|
16
|
-
import { useQuery as
|
|
17
|
-
import { GlassCard as
|
|
18
|
-
import { Fragment as
|
|
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
|
|
21
|
-
let { t:
|
|
22
|
-
variables: { id:
|
|
23
|
-
skip: !
|
|
24
|
-
}),
|
|
25
|
-
return
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
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__ */
|
|
34
|
-
icon: /* @__PURE__ */
|
|
35
|
-
children:
|
|
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__ */
|
|
87
|
+
/* @__PURE__ */ V(h, { facts: $ }),
|
|
88
|
+
/* @__PURE__ */ V(R, {
|
|
38
89
|
storageKey: "ggnomad-activity-detail",
|
|
39
90
|
steps: [{
|
|
40
91
|
id: "browse",
|
|
41
|
-
label:
|
|
42
|
-
description:
|
|
43
|
-
icon: /* @__PURE__ */ w
|
|
44
|
-
onClick: () =>
|
|
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__ */
|
|
98
|
+
/* @__PURE__ */ H("div", {
|
|
48
99
|
className: "grid gap-4 lg:grid-cols-3",
|
|
49
|
-
children: [/* @__PURE__ */
|
|
100
|
+
children: [/* @__PURE__ */ H("div", {
|
|
50
101
|
className: "lg:col-span-2 space-y-4",
|
|
51
102
|
children: [
|
|
52
|
-
/* @__PURE__ */
|
|
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__ */
|
|
114
|
+
children: [/* @__PURE__ */ H("div", {
|
|
57
115
|
className: "mb-4 flex items-center justify-between gap-3",
|
|
58
|
-
children: [/* @__PURE__ */
|
|
116
|
+
children: [/* @__PURE__ */ V("h2", {
|
|
59
117
|
className: "text-lg font-medium tracking-tight text-text-primary",
|
|
60
|
-
children:
|
|
61
|
-
}), /* @__PURE__ */
|
|
62
|
-
onClick: () =>
|
|
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":
|
|
65
|
-
title:
|
|
66
|
-
children: /* @__PURE__ */
|
|
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__ */
|
|
126
|
+
}), /* @__PURE__ */ H("dl", {
|
|
69
127
|
className: "space-y-2 text-sm",
|
|
70
128
|
children: [
|
|
71
|
-
/* @__PURE__ */
|
|
72
|
-
label:
|
|
73
|
-
value:
|
|
129
|
+
/* @__PURE__ */ V(o, {
|
|
130
|
+
label: U("ggnomad.activity.category", "Category"),
|
|
131
|
+
value: t(Z.category)
|
|
74
132
|
}),
|
|
75
|
-
/* @__PURE__ */
|
|
76
|
-
label:
|
|
77
|
-
value:
|
|
133
|
+
/* @__PURE__ */ V(o, {
|
|
134
|
+
label: U("ggnomad.activity.duration", "Duration"),
|
|
135
|
+
value: Z.duration
|
|
78
136
|
}),
|
|
79
|
-
/* @__PURE__ */
|
|
80
|
-
label:
|
|
81
|
-
value: String(
|
|
137
|
+
/* @__PURE__ */ V(o, {
|
|
138
|
+
label: U("ggnomad.activity.maxParticipants", "Max participants"),
|
|
139
|
+
value: String(Z.maxParticipants)
|
|
82
140
|
}),
|
|
83
|
-
/* @__PURE__ */
|
|
84
|
-
label:
|
|
85
|
-
value: `${
|
|
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__ */
|
|
91
|
-
title:
|
|
92
|
-
children: /* @__PURE__ */
|
|
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__ */
|
|
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__ */
|
|
175
|
+
}), /* @__PURE__ */ V("p", { children: Z.safetyInfo ?? U("ggnomad.activity.defaultSafety", "Standard provider safety policy applies.") })]
|
|
98
176
|
})
|
|
99
177
|
}),
|
|
100
|
-
/* @__PURE__ */
|
|
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:
|
|
190
|
+
targetId: Z.id ?? K
|
|
103
191
|
})
|
|
104
192
|
]
|
|
105
|
-
}), /* @__PURE__ */
|
|
193
|
+
}), /* @__PURE__ */ V("div", { children: /* @__PURE__ */ V(u, {
|
|
106
194
|
bookingType: "ACTIVITY",
|
|
107
|
-
itemId:
|
|
108
|
-
itemName:
|
|
109
|
-
unitPrice:
|
|
110
|
-
currency:
|
|
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__ */
|
|
114
|
-
open:
|
|
115
|
-
onOpenChange:
|
|
201
|
+
/* @__PURE__ */ V(f, {
|
|
202
|
+
open: q,
|
|
203
|
+
onOpenChange: J,
|
|
116
204
|
targetType: "ACTIVITY",
|
|
117
|
-
id:
|
|
205
|
+
id: Z.id ?? K,
|
|
118
206
|
initial: {
|
|
119
|
-
name:
|
|
120
|
-
description:
|
|
121
|
-
price:
|
|
122
|
-
status:
|
|
123
|
-
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: () =>
|
|
213
|
+
onSaved: () => X()
|
|
126
214
|
})
|
|
127
|
-
] }) : /* @__PURE__ */
|
|
215
|
+
] }) : /* @__PURE__ */ V(L, {
|
|
128
216
|
illustration: "empty-data",
|
|
129
|
-
title:
|
|
130
|
-
description:
|
|
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 {
|
|
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":"
|
|
1
|
+
{"version":3,"file":"AnalyticsPage.d.ts","sourceRoot":"","sources":["../../../src/ggnomad/pages/AnalyticsPage.tsx"],"names":[],"mappings":"AA0BA,wBAAgB,aAAa,gCA8N5B"}
|