@burdenoff/microfe-ggnomad 2026.529.1 → 2026.624.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/pages/ActivityDetailsPage.js +1 -1
- package/dist/ggnomad/pages/ActivityDetailsPage.js.map +1 -1
- package/dist/ggnomad/pages/AnalyticsPage.js +4 -4
- package/dist/ggnomad/pages/AnalyticsPage.js.map +1 -1
- package/dist/ggnomad/pages/DashboardPage.js +6 -6
- package/dist/ggnomad/pages/DashboardPage.js.map +1 -1
- package/dist/ggnomad/pages/EntertainmentPage.js +2 -2
- package/dist/ggnomad/pages/EntertainmentPage.js.map +1 -1
- package/dist/ggnomad/pages/EventDetailsPage.js +1 -1
- package/dist/ggnomad/pages/EventDetailsPage.js.map +1 -1
- package/dist/ggnomad/pages/HospitalityPage.js +3 -3
- package/dist/ggnomad/pages/HospitalityPage.js.map +1 -1
- package/dist/ggnomad/pages/PageShell.js +1 -1
- package/dist/ggnomad/pages/PageShell.js.map +1 -1
- package/dist/ggnomad/pages/PropertyDetailsPage.js +3 -3
- package/dist/ggnomad/pages/PropertyDetailsPage.js.map +1 -1
- package/dist/ggnomad/pages/ProviderPage.js +1 -1
- package/dist/ggnomad/pages/ProviderPage.js.map +1 -1
- package/dist/ggnomad/pages/TourDetailsPage.js +1 -1
- package/dist/ggnomad/pages/TourDetailsPage.js.map +1 -1
- package/dist/ggnomad/pages/TourismPage.js +4 -4
- package/dist/ggnomad/pages/TourismPage.js.map +1 -1
- package/package.json +1 -1
|
@@ -35,7 +35,7 @@ function o() {
|
|
|
35
35
|
}), /* @__PURE__ */ i("p", { children: c.safetyInfo ?? "Standard provider safety policy applies." })]
|
|
36
36
|
})]
|
|
37
37
|
}) : /* @__PURE__ */ i("div", {
|
|
38
|
-
className: "rounded-lg border p-4 text-
|
|
38
|
+
className: "rounded-lg border p-4 text-text-secondary",
|
|
39
39
|
children: "No activity found."
|
|
40
40
|
})
|
|
41
41
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ActivityDetailsPage.js","names":[],"sources":["../../../src/ggnomad/pages/ActivityDetailsPage.tsx"],"sourcesContent":["import { useQuery } from '@apollo/client/react';\nimport { useParams } from 'react-router-dom';\n\nimport { GGNOMAD_ACTIVITY_QUERY } from '../graphql';\nimport { PageShell } from './PageShell';\n\nexport function ActivityDetailsPage() {\n const { id = '' } = useParams();\n const { data } = useQuery<{\n ggnomadActivity: {\n name: string;\n category: string;\n duration: string;\n maxParticipants: number;\n currency: string;\n price: number;\n safetyInfo?: string;\n } | null;\n }>(GGNOMAD_ACTIVITY_QUERY, { variables: { id }, skip: !id });\n const activity = data?.ggnomadActivity;\n\n return (\n <PageShell\n title={activity?.name ?? 'Activity details'}\n subtitle=\"Safety, inclusions and participation details\"\n >\n {!activity ? (\n <div className=\"rounded-lg border p-4 text-
|
|
1
|
+
{"version":3,"file":"ActivityDetailsPage.js","names":[],"sources":["../../../src/ggnomad/pages/ActivityDetailsPage.tsx"],"sourcesContent":["import { useQuery } from '@apollo/client/react';\nimport { useParams } from 'react-router-dom';\n\nimport { GGNOMAD_ACTIVITY_QUERY } from '../graphql';\nimport { PageShell } from './PageShell';\n\nexport function ActivityDetailsPage() {\n const { id = '' } = useParams();\n const { data } = useQuery<{\n ggnomadActivity: {\n name: string;\n category: string;\n duration: string;\n maxParticipants: number;\n currency: string;\n price: number;\n safetyInfo?: string;\n } | null;\n }>(GGNOMAD_ACTIVITY_QUERY, { variables: { id }, skip: !id });\n const activity = data?.ggnomadActivity;\n\n return (\n <PageShell\n title={activity?.name ?? 'Activity details'}\n subtitle=\"Safety, inclusions and participation details\"\n >\n {!activity ? (\n <div className=\"rounded-lg border p-4 text-text-secondary\">No activity found.</div>\n ) : (\n <div className=\"space-y-3 text-sm\">\n <div className=\"rounded-lg border p-4\">\n <p>Category: {activity.category}</p>\n <p>Duration: {activity.duration}</p>\n <p>Max participants: {activity.maxParticipants}</p>\n <p>\n Price: {activity.currency} {Number(activity.price).toFixed(2)}\n </p>\n </div>\n <div className=\"rounded-lg border p-4\">\n <p className=\"font-medium\">Safety information</p>\n <p>{activity.safetyInfo ?? 'Standard provider safety policy applies.'}</p>\n </div>\n </div>\n )}\n </PageShell>\n );\n}\n"],"mappings":";;;;;;AAMA,SAAgB,IAAsB;CACpC,IAAM,EAAE,QAAK,OAAO,GAAW,EACzB,EAAE,YAAS,EAUd,GAAwB;EAAE,WAAW,EAAE,OAAI;EAAE,MAAM,CAAC;EAAI,CAAC,EACtD,IAAW,GAAM;AAEvB,QACE,kBAAC,GAAD;EACE,OAAO,GAAU,QAAQ;EACzB,UAAS;YAEP,IAGA,kBAAC,OAAD;GAAK,WAAU;aAAf,CACE,kBAAC,OAAD;IAAK,WAAU;cAAf;KACE,kBAAC,KAAD,EAAA,UAAA,CAAG,cAAW,EAAS,SAAa,EAAA,CAAA;KACpC,kBAAC,KAAD,EAAA,UAAA,CAAG,cAAW,EAAS,SAAa,EAAA,CAAA;KACpC,kBAAC,KAAD,EAAA,UAAA,CAAG,sBAAmB,EAAS,gBAAoB,EAAA,CAAA;KACnD,kBAAC,KAAD,EAAA,UAAA;MAAG;MACO,EAAS;MAAS;MAAE,OAAO,EAAS,MAAM,CAAC,QAAQ,EAAE;MAC3D,EAAA,CAAA;KACA;OACN,kBAAC,OAAD;IAAK,WAAU;cAAf,CACE,kBAAC,KAAD;KAAG,WAAU;eAAc;KAAsB,CAAA,EACjD,kBAAC,KAAD,EAAA,UAAI,EAAS,cAAc,4CAA+C,CAAA,CACtE;MACF;OAfN,kBAAC,OAAD;GAAK,WAAU;aAA4C;GAAwB,CAAA;EAiB3E,CAAA"}
|
|
@@ -14,7 +14,7 @@ function a() {
|
|
|
14
14
|
/* @__PURE__ */ i("div", {
|
|
15
15
|
className: "rounded-lg border p-4",
|
|
16
16
|
children: [/* @__PURE__ */ r("p", {
|
|
17
|
-
className: "text-sm text-
|
|
17
|
+
className: "text-sm text-text-secondary",
|
|
18
18
|
children: "Revenue"
|
|
19
19
|
}), /* @__PURE__ */ i("p", {
|
|
20
20
|
className: "text-xl font-semibold",
|
|
@@ -24,7 +24,7 @@ function a() {
|
|
|
24
24
|
/* @__PURE__ */ i("div", {
|
|
25
25
|
className: "rounded-lg border p-4",
|
|
26
26
|
children: [/* @__PURE__ */ r("p", {
|
|
27
|
-
className: "text-sm text-
|
|
27
|
+
className: "text-sm text-text-secondary",
|
|
28
28
|
children: "Bookings"
|
|
29
29
|
}), /* @__PURE__ */ r("p", {
|
|
30
30
|
className: "text-xl font-semibold",
|
|
@@ -34,7 +34,7 @@ function a() {
|
|
|
34
34
|
/* @__PURE__ */ i("div", {
|
|
35
35
|
className: "rounded-lg border p-4",
|
|
36
36
|
children: [/* @__PURE__ */ r("p", {
|
|
37
|
-
className: "text-sm text-
|
|
37
|
+
className: "text-sm text-text-secondary",
|
|
38
38
|
children: "Users"
|
|
39
39
|
}), /* @__PURE__ */ r("p", {
|
|
40
40
|
className: "text-xl font-semibold",
|
|
@@ -44,7 +44,7 @@ function a() {
|
|
|
44
44
|
/* @__PURE__ */ i("div", {
|
|
45
45
|
className: "rounded-lg border p-4",
|
|
46
46
|
children: [/* @__PURE__ */ r("p", {
|
|
47
|
-
className: "text-sm text-
|
|
47
|
+
className: "text-sm text-text-secondary",
|
|
48
48
|
children: "Conversion"
|
|
49
49
|
}), /* @__PURE__ */ i("p", {
|
|
50
50
|
className: "text-xl font-semibold",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AnalyticsPage.js","names":[],"sources":["../../../src/ggnomad/pages/AnalyticsPage.tsx"],"sourcesContent":["import { useQuery } from '@apollo/client/react';\n\nimport { GGNOMAD_OVERVIEW_QUERY } from '../graphql';\nimport { PageShell } from './PageShell';\n\nexport function AnalyticsPage() {\n const { data } = useQuery<{\n ggnomadAnalytics: {\n totalRevenue: number;\n totalBookings: number;\n totalUsers: number;\n conversionRate: number;\n revenueByCategory: Record<string, unknown>;\n };\n }>(GGNOMAD_OVERVIEW_QUERY);\n const analytics = data?.ggnomadAnalytics;\n\n return (\n <PageShell title=\"Analytics\" subtitle=\"GGNomad performance and growth analytics\">\n <div className=\"grid gap-4 md:grid-cols-4\">\n <div className=\"rounded-lg border p-4\">\n <p className=\"text-sm text-
|
|
1
|
+
{"version":3,"file":"AnalyticsPage.js","names":[],"sources":["../../../src/ggnomad/pages/AnalyticsPage.tsx"],"sourcesContent":["import { useQuery } from '@apollo/client/react';\n\nimport { GGNOMAD_OVERVIEW_QUERY } from '../graphql';\nimport { PageShell } from './PageShell';\n\nexport function AnalyticsPage() {\n const { data } = useQuery<{\n ggnomadAnalytics: {\n totalRevenue: number;\n totalBookings: number;\n totalUsers: number;\n conversionRate: number;\n revenueByCategory: Record<string, unknown>;\n };\n }>(GGNOMAD_OVERVIEW_QUERY);\n const analytics = data?.ggnomadAnalytics;\n\n return (\n <PageShell title=\"Analytics\" subtitle=\"GGNomad performance and growth analytics\">\n <div className=\"grid gap-4 md:grid-cols-4\">\n <div className=\"rounded-lg border p-4\">\n <p className=\"text-sm text-text-secondary\">Revenue</p>\n <p className=\"text-xl font-semibold\">\n ${Number(analytics?.totalRevenue ?? 0).toLocaleString()}\n </p>\n </div>\n <div className=\"rounded-lg border p-4\">\n <p className=\"text-sm text-text-secondary\">Bookings</p>\n <p className=\"text-xl font-semibold\">{analytics?.totalBookings ?? 0}</p>\n </div>\n <div className=\"rounded-lg border p-4\">\n <p className=\"text-sm text-text-secondary\">Users</p>\n <p className=\"text-xl font-semibold\">{analytics?.totalUsers ?? 0}</p>\n </div>\n <div className=\"rounded-lg border p-4\">\n <p className=\"text-sm text-text-secondary\">Conversion</p>\n <p className=\"text-xl font-semibold\">\n {Number(analytics?.conversionRate ?? 0).toFixed(2)}%\n </p>\n </div>\n </div>\n <pre className=\"overflow-auto rounded-lg border p-4 text-xs\">\n {JSON.stringify(analytics?.revenueByCategory ?? {}, null, 2)}\n </pre>\n </PageShell>\n );\n}\n"],"mappings":";;;;;AAKA,SAAgB,IAAgB;CAC9B,IAAM,EAAE,YAAS,EAQd,EAAuB,EACpB,IAAY,GAAM;AAExB,QACE,kBAAC,GAAD;EAAW,OAAM;EAAY,UAAS;YAAtC,CACE,kBAAC,OAAD;GAAK,WAAU;aAAf;IACE,kBAAC,OAAD;KAAK,WAAU;eAAf,CACE,kBAAC,KAAD;MAAG,WAAU;gBAA8B;MAAW,CAAA,EACtD,kBAAC,KAAD;MAAG,WAAU;gBAAb,CAAqC,KACjC,OAAO,GAAW,gBAAgB,EAAE,CAAC,gBAAgB,CACrD;QACA;;IACN,kBAAC,OAAD;KAAK,WAAU;eAAf,CACE,kBAAC,KAAD;MAAG,WAAU;gBAA8B;MAAY,CAAA,EACvD,kBAAC,KAAD;MAAG,WAAU;gBAAyB,GAAW,iBAAiB;MAAM,CAAA,CACpE;;IACN,kBAAC,OAAD;KAAK,WAAU;eAAf,CACE,kBAAC,KAAD;MAAG,WAAU;gBAA8B;MAAS,CAAA,EACpD,kBAAC,KAAD;MAAG,WAAU;gBAAyB,GAAW,cAAc;MAAM,CAAA,CACjE;;IACN,kBAAC,OAAD;KAAK,WAAU;eAAf,CACE,kBAAC,KAAD;MAAG,WAAU;gBAA8B;MAAc,CAAA,EACzD,kBAAC,KAAD;MAAG,WAAU;gBAAb,CACG,OAAO,GAAW,kBAAkB,EAAE,CAAC,QAAQ,EAAE,EAAC,IACjD;QACA;;IACF;MACN,kBAAC,OAAD;GAAK,WAAU;aACZ,KAAK,UAAU,GAAW,qBAAqB,EAAE,EAAE,MAAM,EAAE;GACxD,CAAA,CACI"}
|
|
@@ -27,7 +27,7 @@ function u() {
|
|
|
27
27
|
/* @__PURE__ */ l("div", {
|
|
28
28
|
className: "rounded-lg border p-4",
|
|
29
29
|
children: [/* @__PURE__ */ c("p", {
|
|
30
|
-
className: "text-sm text-
|
|
30
|
+
className: "text-sm text-text-secondary",
|
|
31
31
|
children: u("ggnomad.dashboard.stats.users", "Users")
|
|
32
32
|
}), /* @__PURE__ */ c("p", {
|
|
33
33
|
className: "text-2xl font-semibold",
|
|
@@ -37,7 +37,7 @@ function u() {
|
|
|
37
37
|
/* @__PURE__ */ l("div", {
|
|
38
38
|
className: "rounded-lg border p-4",
|
|
39
39
|
children: [/* @__PURE__ */ c("p", {
|
|
40
|
-
className: "text-sm text-
|
|
40
|
+
className: "text-sm text-text-secondary",
|
|
41
41
|
children: u("ggnomad.dashboard.stats.listings", "Listings")
|
|
42
42
|
}), /* @__PURE__ */ c("p", {
|
|
43
43
|
className: "text-2xl font-semibold",
|
|
@@ -47,7 +47,7 @@ function u() {
|
|
|
47
47
|
/* @__PURE__ */ l("div", {
|
|
48
48
|
className: "rounded-lg border p-4",
|
|
49
49
|
children: [/* @__PURE__ */ c("p", {
|
|
50
|
-
className: "text-sm text-
|
|
50
|
+
className: "text-sm text-text-secondary",
|
|
51
51
|
children: u("ggnomad.dashboard.stats.bookings", "Bookings")
|
|
52
52
|
}), /* @__PURE__ */ c("p", {
|
|
53
53
|
className: "text-2xl font-semibold",
|
|
@@ -57,7 +57,7 @@ function u() {
|
|
|
57
57
|
/* @__PURE__ */ l("div", {
|
|
58
58
|
className: "rounded-lg border p-4",
|
|
59
59
|
children: [/* @__PURE__ */ c("p", {
|
|
60
|
-
className: "text-sm text-
|
|
60
|
+
className: "text-sm text-text-secondary",
|
|
61
61
|
children: u("ggnomad.dashboard.stats.monthlyRevenue", "Monthly Revenue")
|
|
62
62
|
}), /* @__PURE__ */ l("p", {
|
|
63
63
|
className: "text-2xl font-semibold",
|
|
@@ -81,7 +81,7 @@ function u() {
|
|
|
81
81
|
" - ",
|
|
82
82
|
e.itemName
|
|
83
83
|
] }), /* @__PURE__ */ c("span", {
|
|
84
|
-
className: "text-
|
|
84
|
+
className: "text-text-secondary",
|
|
85
85
|
children: e.status
|
|
86
86
|
})]
|
|
87
87
|
}, e.id))
|
|
@@ -113,7 +113,7 @@ function u() {
|
|
|
113
113
|
h.data?.ggnomadEvents?.length ?? 0
|
|
114
114
|
] }),
|
|
115
115
|
/* @__PURE__ */ c("p", {
|
|
116
|
-
className: "text-
|
|
116
|
+
className: "text-text-secondary",
|
|
117
117
|
children: u("ggnomad.dashboard.inventory.liveDataNotice", "Data is live from `wspace-ggnomad-svc` GraphQL APIs.")
|
|
118
118
|
})
|
|
119
119
|
]
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DashboardPage.js","names":[],"sources":["../../../src/ggnomad/pages/DashboardPage.tsx"],"sourcesContent":["import { useQuery } from '@apollo/client/react';\nimport { useI18n } from '@burdenoff/fe-libs/shared/providers/shell/I18nProvider';\n\nimport {\n GGNOMAD_OVERVIEW_QUERY,\n GGNOMAD_BOOKINGS_QUERY,\n GGNOMAD_PROPERTIES_QUERY,\n GGNOMAD_TOURS_QUERY,\n GGNOMAD_EVENTS_QUERY,\n} from '../graphql';\nimport { PageShell } from './PageShell';\n\nexport function DashboardPage() {\n const { t } = useI18n();\n const overview = useQuery<{\n ggnomadOverviewStats: {\n users: number;\n listings: number;\n bookings: number;\n monthlyRevenue: number;\n };\n }>(GGNOMAD_OVERVIEW_QUERY);\n const bookings = useQuery<{\n ggnomadBookings: Array<{ id: string; referenceCode: string; itemName: string; status: string }>;\n }>(GGNOMAD_BOOKINGS_QUERY, {\n variables: { first: 5, skip: 0 },\n });\n const properties = useQuery<{ ggnomadProperties: Array<{ id: string }> }>(\n GGNOMAD_PROPERTIES_QUERY,\n { variables: { first: 4, skip: 0 } }\n );\n const tours = useQuery<{ ggnomadTours: Array<{ id: string }> }>(GGNOMAD_TOURS_QUERY, {\n variables: { first: 4, skip: 0 },\n });\n const events = useQuery<{ ggnomadEvents: Array<{ id: string }> }>(GGNOMAD_EVENTS_QUERY, {\n variables: { first: 4, skip: 0 },\n });\n\n const stats = overview.data?.ggnomadOverviewStats;\n\n return (\n <PageShell\n title={t('ggnomad.dashboard.title', 'GGNomad Dashboard')}\n subtitle={t(\n 'ggnomad.dashboard.subtitle',\n 'Unified travel, hospitality, tourism and entertainment operations'\n )}\n >\n <section className=\"grid gap-4 md:grid-cols-4\">\n <div className=\"rounded-lg border p-4\">\n <p className=\"text-sm text-
|
|
1
|
+
{"version":3,"file":"DashboardPage.js","names":[],"sources":["../../../src/ggnomad/pages/DashboardPage.tsx"],"sourcesContent":["import { useQuery } from '@apollo/client/react';\nimport { useI18n } from '@burdenoff/fe-libs/shared/providers/shell/I18nProvider';\n\nimport {\n GGNOMAD_OVERVIEW_QUERY,\n GGNOMAD_BOOKINGS_QUERY,\n GGNOMAD_PROPERTIES_QUERY,\n GGNOMAD_TOURS_QUERY,\n GGNOMAD_EVENTS_QUERY,\n} from '../graphql';\nimport { PageShell } from './PageShell';\n\nexport function DashboardPage() {\n const { t } = useI18n();\n const overview = useQuery<{\n ggnomadOverviewStats: {\n users: number;\n listings: number;\n bookings: number;\n monthlyRevenue: number;\n };\n }>(GGNOMAD_OVERVIEW_QUERY);\n const bookings = useQuery<{\n ggnomadBookings: Array<{ id: string; referenceCode: string; itemName: string; status: string }>;\n }>(GGNOMAD_BOOKINGS_QUERY, {\n variables: { first: 5, skip: 0 },\n });\n const properties = useQuery<{ ggnomadProperties: Array<{ id: string }> }>(\n GGNOMAD_PROPERTIES_QUERY,\n { variables: { first: 4, skip: 0 } }\n );\n const tours = useQuery<{ ggnomadTours: Array<{ id: string }> }>(GGNOMAD_TOURS_QUERY, {\n variables: { first: 4, skip: 0 },\n });\n const events = useQuery<{ ggnomadEvents: Array<{ id: string }> }>(GGNOMAD_EVENTS_QUERY, {\n variables: { first: 4, skip: 0 },\n });\n\n const stats = overview.data?.ggnomadOverviewStats;\n\n return (\n <PageShell\n title={t('ggnomad.dashboard.title', 'GGNomad Dashboard')}\n subtitle={t(\n 'ggnomad.dashboard.subtitle',\n 'Unified travel, hospitality, tourism and entertainment operations'\n )}\n >\n <section className=\"grid gap-4 md:grid-cols-4\">\n <div className=\"rounded-lg border p-4\">\n <p className=\"text-sm text-text-secondary\">\n {t('ggnomad.dashboard.stats.users', 'Users')}\n </p>\n <p className=\"text-2xl font-semibold\">{stats?.users ?? 0}</p>\n </div>\n <div className=\"rounded-lg border p-4\">\n <p className=\"text-sm text-text-secondary\">\n {t('ggnomad.dashboard.stats.listings', 'Listings')}\n </p>\n <p className=\"text-2xl font-semibold\">{stats?.listings ?? 0}</p>\n </div>\n <div className=\"rounded-lg border p-4\">\n <p className=\"text-sm text-text-secondary\">\n {t('ggnomad.dashboard.stats.bookings', 'Bookings')}\n </p>\n <p className=\"text-2xl font-semibold\">{stats?.bookings ?? 0}</p>\n </div>\n <div className=\"rounded-lg border p-4\">\n <p className=\"text-sm text-text-secondary\">\n {t('ggnomad.dashboard.stats.monthlyRevenue', 'Monthly Revenue')}\n </p>\n <p className=\"text-2xl font-semibold\">\n ${Number(stats?.monthlyRevenue ?? 0).toLocaleString()}\n </p>\n </div>\n </section>\n\n <section className=\"grid gap-4 lg:grid-cols-2\">\n <div className=\"rounded-lg border p-4\">\n <h2 className=\"mb-3 text-lg font-medium\">\n {t('ggnomad.dashboard.sections.recentBookings', 'Recent bookings')}\n </h2>\n <ul className=\"space-y-2 text-sm\">\n {(bookings.data?.ggnomadBookings ?? []).map(\n (booking: {\n id: string;\n referenceCode: string;\n itemName: string;\n status: string;\n }) => (\n <li\n key={booking.id}\n className=\"flex items-center justify-between rounded border p-2\"\n >\n <span>\n {booking.referenceCode} - {booking.itemName}\n </span>\n <span className=\"text-text-secondary\">{booking.status}</span>\n </li>\n )\n )}\n </ul>\n </div>\n <div className=\"rounded-lg border p-4\">\n <h2 className=\"mb-3 text-lg font-medium\">\n {t('ggnomad.dashboard.sections.featuredInventory', 'Featured inventory')}\n </h2>\n <div className=\"grid gap-2 text-sm\">\n <p>\n {t('ggnomad.dashboard.inventory.properties', 'Properties')}:{' '}\n {properties.data?.ggnomadProperties?.length ?? 0}\n </p>\n <p>\n {t('ggnomad.dashboard.inventory.tours', 'Tours')}:{' '}\n {tours.data?.ggnomadTours?.length ?? 0}\n </p>\n <p>\n {t('ggnomad.dashboard.inventory.events', 'Events')}:{' '}\n {events.data?.ggnomadEvents?.length ?? 0}\n </p>\n <p className=\"text-text-secondary\">\n {t(\n 'ggnomad.dashboard.inventory.liveDataNotice',\n 'Data is live from `wspace-ggnomad-svc` GraphQL APIs.'\n )}\n </p>\n </div>\n </div>\n </section>\n </PageShell>\n );\n}\n"],"mappings":";;;;;;AAYA,SAAgB,IAAgB;CAC9B,IAAM,EAAE,SAAM,GAAS,EACjB,IAAW,EAOd,EAAuB,EACpB,IAAW,EAEd,GAAwB,EACzB,WAAW;EAAE,OAAO;EAAG,MAAM;EAAG,EACjC,CAAC,EACI,IAAa,EACjB,GACA,EAAE,WAAW;EAAE,OAAO;EAAG,MAAM;EAAG,EAAE,CACrC,EACK,IAAQ,EAAkD,GAAqB,EACnF,WAAW;EAAE,OAAO;EAAG,MAAM;EAAG,EACjC,CAAC,EACI,IAAS,EAAmD,GAAsB,EACtF,WAAW;EAAE,OAAO;EAAG,MAAM;EAAG,EACjC,CAAC,EAEI,IAAQ,EAAS,MAAM;AAE7B,QACE,kBAAC,GAAD;EACE,OAAO,EAAE,2BAA2B,oBAAoB;EACxD,UAAU,EACR,8BACA,oEACD;YALH,CAOE,kBAAC,WAAD;GAAS,WAAU;aAAnB;IACE,kBAAC,OAAD;KAAK,WAAU;eAAf,CACE,kBAAC,KAAD;MAAG,WAAU;gBACV,EAAE,iCAAiC,QAAQ;MAC1C,CAAA,EACJ,kBAAC,KAAD;MAAG,WAAU;gBAA0B,GAAO,SAAS;MAAM,CAAA,CACzD;;IACN,kBAAC,OAAD;KAAK,WAAU;eAAf,CACE,kBAAC,KAAD;MAAG,WAAU;gBACV,EAAE,oCAAoC,WAAW;MAChD,CAAA,EACJ,kBAAC,KAAD;MAAG,WAAU;gBAA0B,GAAO,YAAY;MAAM,CAAA,CAC5D;;IACN,kBAAC,OAAD;KAAK,WAAU;eAAf,CACE,kBAAC,KAAD;MAAG,WAAU;gBACV,EAAE,oCAAoC,WAAW;MAChD,CAAA,EACJ,kBAAC,KAAD;MAAG,WAAU;gBAA0B,GAAO,YAAY;MAAM,CAAA,CAC5D;;IACN,kBAAC,OAAD;KAAK,WAAU;eAAf,CACE,kBAAC,KAAD;MAAG,WAAU;gBACV,EAAE,0CAA0C,kBAAkB;MAC7D,CAAA,EACJ,kBAAC,KAAD;MAAG,WAAU;gBAAb,CAAsC,KAClC,OAAO,GAAO,kBAAkB,EAAE,CAAC,gBAAgB,CACnD;QACA;;IACE;MAEV,kBAAC,WAAD;GAAS,WAAU;aAAnB,CACE,kBAAC,OAAD;IAAK,WAAU;cAAf,CACE,kBAAC,MAAD;KAAI,WAAU;eACX,EAAE,6CAA6C,kBAAkB;KAC/D,CAAA,EACL,kBAAC,MAAD;KAAI,WAAU;gBACV,EAAS,MAAM,mBAAmB,EAAE,EAAE,KACrC,MAMC,kBAAC,MAAD;MAEE,WAAU;gBAFZ,CAIE,kBAAC,QAAD,EAAA,UAAA;OACG,EAAQ;OAAc;OAAI,EAAQ;OAC9B,EAAA,CAAA,EACP,kBAAC,QAAD;OAAM,WAAU;iBAAuB,EAAQ;OAAc,CAAA,CAC1D;QAPE,EAAQ,GAOV,CAER;KACE,CAAA,CACD;OACN,kBAAC,OAAD;IAAK,WAAU;cAAf,CACE,kBAAC,MAAD;KAAI,WAAU;eACX,EAAE,gDAAgD,qBAAqB;KACrE,CAAA,EACL,kBAAC,OAAD;KAAK,WAAU;eAAf;MACE,kBAAC,KAAD,EAAA,UAAA;OACG,EAAE,0CAA0C,aAAa;OAAC;OAAE;OAC5D,EAAW,MAAM,mBAAmB,UAAU;OAC7C,EAAA,CAAA;MACJ,kBAAC,KAAD,EAAA,UAAA;OACG,EAAE,qCAAqC,QAAQ;OAAC;OAAE;OAClD,EAAM,MAAM,cAAc,UAAU;OACnC,EAAA,CAAA;MACJ,kBAAC,KAAD,EAAA,UAAA;OACG,EAAE,sCAAsC,SAAS;OAAC;OAAE;OACpD,EAAO,MAAM,eAAe,UAAU;OACrC,EAAA,CAAA;MACJ,kBAAC,KAAD;OAAG,WAAU;iBACV,EACC,8CACA,uDACD;OACC,CAAA;MACA;OACF;MACE;KACA"}
|
|
@@ -16,14 +16,14 @@ function o() {
|
|
|
16
16
|
className: "grid gap-3 md:grid-cols-2",
|
|
17
17
|
children: (o?.ggnomadEvents ?? []).map((e) => /* @__PURE__ */ a(n, {
|
|
18
18
|
to: e.id,
|
|
19
|
-
className: "rounded-lg border p-4 text-sm hover:bg-
|
|
19
|
+
className: "rounded-lg border p-4 text-sm hover:bg-bg-sunken/30",
|
|
20
20
|
children: [
|
|
21
21
|
/* @__PURE__ */ i("p", {
|
|
22
22
|
className: "font-medium",
|
|
23
23
|
children: e.name
|
|
24
24
|
}),
|
|
25
25
|
/* @__PURE__ */ i("p", {
|
|
26
|
-
className: "text-
|
|
26
|
+
className: "text-text-secondary",
|
|
27
27
|
children: e.category
|
|
28
28
|
}),
|
|
29
29
|
/* @__PURE__ */ i("p", { children: new Date(e.startsAt).toLocaleString() }),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"EntertainmentPage.js","names":[],"sources":["../../../src/ggnomad/pages/EntertainmentPage.tsx"],"sourcesContent":["import { useQuery } from '@apollo/client/react';\nimport { Link } from 'react-router-dom';\n\nimport { GGNOMAD_EVENTS_QUERY } from '../graphql';\nimport { PageShell } from './PageShell';\n\nexport function EntertainmentPage() {\n const { data } = useQuery<{\n ggnomadEvents: Array<{\n id: string;\n name: string;\n category: string;\n startsAt: string;\n price: number;\n currency: string;\n }>;\n }>(GGNOMAD_EVENTS_QUERY, { variables: { first: 20, skip: 0 } });\n const events = data?.ggnomadEvents ?? [];\n\n return (\n <PageShell title=\"Entertainment\" subtitle=\"Events and live experiences\">\n <div className=\"grid gap-3 md:grid-cols-2\">\n {events.map(\n (event: {\n id: string;\n name: string;\n category: string;\n startsAt: string;\n price: number;\n currency: string;\n }) => (\n <Link\n key={event.id}\n to={event.id}\n className=\"rounded-lg border p-4 text-sm hover:bg-
|
|
1
|
+
{"version":3,"file":"EntertainmentPage.js","names":[],"sources":["../../../src/ggnomad/pages/EntertainmentPage.tsx"],"sourcesContent":["import { useQuery } from '@apollo/client/react';\nimport { Link } from 'react-router-dom';\n\nimport { GGNOMAD_EVENTS_QUERY } from '../graphql';\nimport { PageShell } from './PageShell';\n\nexport function EntertainmentPage() {\n const { data } = useQuery<{\n ggnomadEvents: Array<{\n id: string;\n name: string;\n category: string;\n startsAt: string;\n price: number;\n currency: string;\n }>;\n }>(GGNOMAD_EVENTS_QUERY, { variables: { first: 20, skip: 0 } });\n const events = data?.ggnomadEvents ?? [];\n\n return (\n <PageShell title=\"Entertainment\" subtitle=\"Events and live experiences\">\n <div className=\"grid gap-3 md:grid-cols-2\">\n {events.map(\n (event: {\n id: string;\n name: string;\n category: string;\n startsAt: string;\n price: number;\n currency: string;\n }) => (\n <Link\n key={event.id}\n to={event.id}\n className=\"rounded-lg border p-4 text-sm hover:bg-bg-sunken/30\"\n >\n <p className=\"font-medium\">{event.name}</p>\n <p className=\"text-text-secondary\">{event.category}</p>\n <p>{new Date(event.startsAt).toLocaleString()}</p>\n <p>\n {event.currency} {Number(event.price).toFixed(2)}\n </p>\n </Link>\n )\n )}\n </div>\n </PageShell>\n );\n}\n"],"mappings":";;;;;;AAMA,SAAgB,IAAoB;CAClC,IAAM,EAAE,YAAS,EASd,GAAsB,EAAE,WAAW;EAAE,OAAO;EAAI,MAAM;EAAG,EAAE,CAAC;AAG/D,QACE,kBAAC,GAAD;EAAW,OAAM;EAAgB,UAAS;YACxC,kBAAC,OAAD;GAAK,WAAU;cAJJ,GAAM,iBAAiB,EAAE,EAK1B,KACL,MAQC,kBAAC,GAAD;IAEE,IAAI,EAAM;IACV,WAAU;cAHZ;KAKE,kBAAC,KAAD;MAAG,WAAU;gBAAe,EAAM;MAAS,CAAA;KAC3C,kBAAC,KAAD;MAAG,WAAU;gBAAuB,EAAM;MAAa,CAAA;KACvD,kBAAC,KAAD,EAAA,UAAI,IAAI,KAAK,EAAM,SAAS,CAAC,gBAAgB,EAAK,CAAA;KAClD,kBAAC,KAAD,EAAA,UAAA;MACG,EAAM;MAAS;MAAE,OAAO,EAAM,MAAM,CAAC,QAAQ,EAAE;MAC9C,EAAA,CAAA;KACC;MAVA,EAAM,GAUN,CAEV;GACG,CAAA;EACI,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"EventDetailsPage.js","names":[],"sources":["../../../src/ggnomad/pages/EventDetailsPage.tsx"],"sourcesContent":["import { useQuery } from '@apollo/client/react';\nimport { useParams } from 'react-router-dom';\n\nimport { GGNOMAD_EVENT_QUERY } from '../graphql';\nimport { PageShell } from './PageShell';\n\nexport function EventDetailsPage() {\n const { id = '' } = useParams();\n const { data } = useQuery<{\n ggnomadEvent: {\n name: string;\n category: string;\n startsAt: string;\n endsAt?: string;\n currency: string;\n price: number;\n performers: string[];\n } | null;\n }>(GGNOMAD_EVENT_QUERY, { variables: { id }, skip: !id });\n const event = data?.ggnomadEvent;\n\n return (\n <PageShell\n title={event?.name ?? 'Event details'}\n subtitle=\"Live event details, venue and lineup\"\n >\n {!event ? (\n <div className=\"rounded-lg border p-4 text-
|
|
1
|
+
{"version":3,"file":"EventDetailsPage.js","names":[],"sources":["../../../src/ggnomad/pages/EventDetailsPage.tsx"],"sourcesContent":["import { useQuery } from '@apollo/client/react';\nimport { useParams } from 'react-router-dom';\n\nimport { GGNOMAD_EVENT_QUERY } from '../graphql';\nimport { PageShell } from './PageShell';\n\nexport function EventDetailsPage() {\n const { id = '' } = useParams();\n const { data } = useQuery<{\n ggnomadEvent: {\n name: string;\n category: string;\n startsAt: string;\n endsAt?: string;\n currency: string;\n price: number;\n performers: string[];\n } | null;\n }>(GGNOMAD_EVENT_QUERY, { variables: { id }, skip: !id });\n const event = data?.ggnomadEvent;\n\n return (\n <PageShell\n title={event?.name ?? 'Event details'}\n subtitle=\"Live event details, venue and lineup\"\n >\n {!event ? (\n <div className=\"rounded-lg border p-4 text-text-secondary\">No event found.</div>\n ) : (\n <div className=\"grid gap-4 md:grid-cols-2 text-sm\">\n <div className=\"rounded-lg border p-4\">\n <p>Category: {event.category}</p>\n <p>Starts: {new Date(event.startsAt).toLocaleString()}</p>\n <p>Ends: {event.endsAt ? new Date(event.endsAt).toLocaleString() : 'N/A'}</p>\n <p>\n Price: {event.currency} {Number(event.price).toFixed(2)}\n </p>\n </div>\n <div className=\"rounded-lg border p-4\">\n <p className=\"font-medium\">Performers</p>\n <ul className=\"list-inside list-disc\">\n {(event.performers ?? []).map((performer: string) => (\n <li key={performer}>{performer}</li>\n ))}\n </ul>\n </div>\n </div>\n )}\n </PageShell>\n );\n}\n"],"mappings":";;;;;;AAMA,SAAgB,IAAmB;CACjC,IAAM,EAAE,QAAK,OAAO,GAAW,EACzB,EAAE,YAAS,EAUd,GAAqB;EAAE,WAAW,EAAE,OAAI;EAAE,MAAM,CAAC;EAAI,CAAC,EACnD,IAAQ,GAAM;AAEpB,QACE,kBAAC,GAAD;EACE,OAAO,GAAO,QAAQ;EACtB,UAAS;YAEP,IAGA,kBAAC,OAAD;GAAK,WAAU;aAAf,CACE,kBAAC,OAAD;IAAK,WAAU;cAAf;KACE,kBAAC,KAAD,EAAA,UAAA,CAAG,cAAW,EAAM,SAAa,EAAA,CAAA;KACjC,kBAAC,KAAD,EAAA,UAAA,CAAG,YAAS,IAAI,KAAK,EAAM,SAAS,CAAC,gBAAgB,CAAK,EAAA,CAAA;KAC1D,kBAAC,KAAD,EAAA,UAAA,CAAG,UAAO,EAAM,SAAS,IAAI,KAAK,EAAM,OAAO,CAAC,gBAAgB,GAAG,MAAU,EAAA,CAAA;KAC7E,kBAAC,KAAD,EAAA,UAAA;MAAG;MACO,EAAM;MAAS;MAAE,OAAO,EAAM,MAAM,CAAC,QAAQ,EAAE;MACrD,EAAA,CAAA;KACA;OACN,kBAAC,OAAD;IAAK,WAAU;cAAf,CACE,kBAAC,KAAD;KAAG,WAAU;eAAc;KAAc,CAAA,EACzC,kBAAC,MAAD;KAAI,WAAU;gBACV,EAAM,cAAc,EAAE,EAAE,KAAK,MAC7B,kBAAC,MAAD,EAAA,UAAqB,GAAe,EAA3B,EAA2B,CACpC;KACC,CAAA,CACD;MACF;OAnBN,kBAAC,OAAD;GAAK,WAAU;aAA4C;GAAqB,CAAA;EAqBxE,CAAA"}
|
|
@@ -17,14 +17,14 @@ function s() {
|
|
|
17
17
|
className: "grid gap-3 md:grid-cols-2",
|
|
18
18
|
children: l.map((e) => /* @__PURE__ */ o(r, {
|
|
19
19
|
to: e.id,
|
|
20
|
-
className: "rounded-lg border p-4 text-sm hover:bg-
|
|
20
|
+
className: "rounded-lg border p-4 text-sm hover:bg-bg-sunken/30",
|
|
21
21
|
children: [
|
|
22
22
|
/* @__PURE__ */ a("p", {
|
|
23
23
|
className: "font-medium",
|
|
24
24
|
children: e.name
|
|
25
25
|
}),
|
|
26
26
|
/* @__PURE__ */ a("p", {
|
|
27
|
-
className: "text-
|
|
27
|
+
className: "text-text-secondary",
|
|
28
28
|
children: e.type
|
|
29
29
|
}),
|
|
30
30
|
/* @__PURE__ */ o("p", { children: [
|
|
@@ -35,7 +35,7 @@ function s() {
|
|
|
35
35
|
s("ggnomad.hospitality.card.perNight", "per night")
|
|
36
36
|
] }),
|
|
37
37
|
/* @__PURE__ */ o("p", {
|
|
38
|
-
className: "text-
|
|
38
|
+
className: "text-text-secondary",
|
|
39
39
|
children: [
|
|
40
40
|
s("ggnomad.hospitality.card.rating", "Rating"),
|
|
41
41
|
": ",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"HospitalityPage.js","names":[],"sources":["../../../src/ggnomad/pages/HospitalityPage.tsx"],"sourcesContent":["import { useQuery } from '@apollo/client/react';\nimport { useI18n } from '@burdenoff/fe-libs/shared/providers/shell/I18nProvider';\nimport { Link } from 'react-router-dom';\n\nimport { GGNOMAD_PROPERTIES_QUERY } from '../graphql';\nimport { PageShell } from './PageShell';\n\nexport function HospitalityPage() {\n const { t } = useI18n();\n const { data } = useQuery<{\n ggnomadProperties: Array<{\n id: string;\n name: string;\n type: string;\n pricePerNight: number;\n currency: string;\n rating?: number;\n }>;\n }>(GGNOMAD_PROPERTIES_QUERY, { variables: { first: 20, skip: 0 } });\n const properties = data?.ggnomadProperties ?? [];\n\n return (\n <PageShell\n title={t('ggnomad.hospitality.title', 'Hospitality')}\n subtitle={t(\n 'ggnomad.hospitality.subtitle',\n 'Property discovery powered by live GraphQL data'\n )}\n >\n <div className=\"grid gap-3 md:grid-cols-2\">\n {properties.map(\n (property: {\n id: string;\n name: string;\n type: string;\n pricePerNight: number;\n currency: string;\n rating?: number;\n }) => (\n <Link\n key={property.id}\n to={property.id}\n className=\"rounded-lg border p-4 text-sm hover:bg-
|
|
1
|
+
{"version":3,"file":"HospitalityPage.js","names":[],"sources":["../../../src/ggnomad/pages/HospitalityPage.tsx"],"sourcesContent":["import { useQuery } from '@apollo/client/react';\nimport { useI18n } from '@burdenoff/fe-libs/shared/providers/shell/I18nProvider';\nimport { Link } from 'react-router-dom';\n\nimport { GGNOMAD_PROPERTIES_QUERY } from '../graphql';\nimport { PageShell } from './PageShell';\n\nexport function HospitalityPage() {\n const { t } = useI18n();\n const { data } = useQuery<{\n ggnomadProperties: Array<{\n id: string;\n name: string;\n type: string;\n pricePerNight: number;\n currency: string;\n rating?: number;\n }>;\n }>(GGNOMAD_PROPERTIES_QUERY, { variables: { first: 20, skip: 0 } });\n const properties = data?.ggnomadProperties ?? [];\n\n return (\n <PageShell\n title={t('ggnomad.hospitality.title', 'Hospitality')}\n subtitle={t(\n 'ggnomad.hospitality.subtitle',\n 'Property discovery powered by live GraphQL data'\n )}\n >\n <div className=\"grid gap-3 md:grid-cols-2\">\n {properties.map(\n (property: {\n id: string;\n name: string;\n type: string;\n pricePerNight: number;\n currency: string;\n rating?: number;\n }) => (\n <Link\n key={property.id}\n to={property.id}\n className=\"rounded-lg border p-4 text-sm hover:bg-bg-sunken/30\"\n >\n <p className=\"font-medium\">{property.name}</p>\n <p className=\"text-text-secondary\">{property.type}</p>\n <p>\n {property.currency} {Number(property.pricePerNight).toFixed(2)}{' '}\n {t('ggnomad.hospitality.card.perNight', 'per night')}\n </p>\n <p className=\"text-text-secondary\">\n {t('ggnomad.hospitality.card.rating', 'Rating')}: {property.rating ?? 'N/A'}\n </p>\n </Link>\n )\n )}\n </div>\n </PageShell>\n );\n}\n"],"mappings":";;;;;;;AAOA,SAAgB,IAAkB;CAChC,IAAM,EAAE,SAAM,GAAS,EACjB,EAAE,YAAS,EASd,GAA0B,EAAE,WAAW;EAAE,OAAO;EAAI,MAAM;EAAG,EAAE,CAAC,EAC7D,IAAa,GAAM,qBAAqB,EAAE;AAEhD,QACE,kBAAC,GAAD;EACE,OAAO,EAAE,6BAA6B,cAAc;EACpD,UAAU,EACR,gCACA,kDACD;YAED,kBAAC,OAAD;GAAK,WAAU;aACZ,EAAW,KACT,MAQC,kBAAC,GAAD;IAEE,IAAI,EAAS;IACb,WAAU;cAHZ;KAKE,kBAAC,KAAD;MAAG,WAAU;gBAAe,EAAS;MAAS,CAAA;KAC9C,kBAAC,KAAD;MAAG,WAAU;gBAAuB,EAAS;MAAS,CAAA;KACtD,kBAAC,KAAD,EAAA,UAAA;MACG,EAAS;MAAS;MAAE,OAAO,EAAS,cAAc,CAAC,QAAQ,EAAE;MAAE;MAC/D,EAAE,qCAAqC,YAAY;MAClD,EAAA,CAAA;KACJ,kBAAC,KAAD;MAAG,WAAU;gBAAb;OACG,EAAE,mCAAmC,SAAS;OAAC;OAAG,EAAS,UAAU;OACpE;;KACC;MAbA,EAAS,GAaT,CAEV;GACG,CAAA;EACI,CAAA"}
|
|
@@ -7,7 +7,7 @@ function n({ title: n, subtitle: r, children: i }) {
|
|
|
7
7
|
className: "text-3xl font-semibold tracking-tight",
|
|
8
8
|
children: n
|
|
9
9
|
}), /* @__PURE__ */ e("p", {
|
|
10
|
-
className: "text-sm text-
|
|
10
|
+
className: "text-sm text-text-secondary",
|
|
11
11
|
children: r
|
|
12
12
|
})] }), i]
|
|
13
13
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PageShell.js","names":[],"sources":["../../../src/ggnomad/pages/PageShell.tsx"],"sourcesContent":["import type { PropsWithChildren } from 'react';\n\nexport function PageShell({\n title,\n subtitle,\n children,\n}: PropsWithChildren<{ title: string; subtitle: string }>) {\n return (\n <div className=\"space-y-6 p-6\">\n <header>\n <h1 className=\"text-3xl font-semibold tracking-tight\">{title}</h1>\n <p className=\"text-sm text-
|
|
1
|
+
{"version":3,"file":"PageShell.js","names":[],"sources":["../../../src/ggnomad/pages/PageShell.tsx"],"sourcesContent":["import type { PropsWithChildren } from 'react';\n\nexport function PageShell({\n title,\n subtitle,\n children,\n}: PropsWithChildren<{ title: string; subtitle: string }>) {\n return (\n <div className=\"space-y-6 p-6\">\n <header>\n <h1 className=\"text-3xl font-semibold tracking-tight\">{title}</h1>\n <p className=\"text-sm text-text-secondary\">{subtitle}</p>\n </header>\n {children}\n </div>\n );\n}\n"],"mappings":";;AAEA,SAAgB,EAAU,EACxB,UACA,aACA,eACyD;AACzD,QACE,kBAAC,OAAD;EAAK,WAAU;YAAf,CACE,kBAAC,UAAD,EAAA,UAAA,CACE,kBAAC,MAAD;GAAI,WAAU;aAAyC;GAAW,CAAA,EAClE,kBAAC,KAAD;GAAG,WAAU;aAA+B;GAAa,CAAA,CAClD,EAAA,CAAA,EACR,EACG"}
|
|
@@ -18,12 +18,12 @@ function o() {
|
|
|
18
18
|
className: "rounded-lg border p-4",
|
|
19
19
|
children: [
|
|
20
20
|
/* @__PURE__ */ i("p", {
|
|
21
|
-
className: "text-sm text-
|
|
21
|
+
className: "text-sm text-text-secondary",
|
|
22
22
|
children: "Type"
|
|
23
23
|
}),
|
|
24
24
|
/* @__PURE__ */ i("p", { children: c.type }),
|
|
25
25
|
/* @__PURE__ */ i("p", {
|
|
26
|
-
className: "mt-2 text-sm text-
|
|
26
|
+
className: "mt-2 text-sm text-text-secondary",
|
|
27
27
|
children: "Description"
|
|
28
28
|
}),
|
|
29
29
|
/* @__PURE__ */ i("p", { children: c.description ?? "No description" })
|
|
@@ -43,7 +43,7 @@ function o() {
|
|
|
43
43
|
]
|
|
44
44
|
})]
|
|
45
45
|
}) : /* @__PURE__ */ i("div", {
|
|
46
|
-
className: "rounded-lg border p-4 text-sm text-
|
|
46
|
+
className: "rounded-lg border p-4 text-sm text-text-secondary",
|
|
47
47
|
children: "No property found."
|
|
48
48
|
})
|
|
49
49
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PropertyDetailsPage.js","names":[],"sources":["../../../src/ggnomad/pages/PropertyDetailsPage.tsx"],"sourcesContent":["import { useQuery } from '@apollo/client/react';\nimport { useParams } from 'react-router-dom';\n\nimport { GGNOMAD_PROPERTY_QUERY } from '../graphql';\nimport { PageShell } from './PageShell';\n\nexport function PropertyDetailsPage() {\n const { id = '' } = useParams();\n const { data } = useQuery<{\n ggnomadProperty: {\n name: string;\n type: string;\n description?: string;\n currency: string;\n pricePerNight: number;\n maxGuests: number;\n rating?: number;\n provider?: { name: string };\n } | null;\n }>(GGNOMAD_PROPERTY_QUERY, { variables: { id }, skip: !id });\n const property = data?.ggnomadProperty;\n\n return (\n <PageShell\n title={property?.name ?? 'Property details'}\n subtitle=\"Detailed hospitality listing view\"\n >\n {!property ? (\n <div className=\"rounded-lg border p-4 text-sm text-
|
|
1
|
+
{"version":3,"file":"PropertyDetailsPage.js","names":[],"sources":["../../../src/ggnomad/pages/PropertyDetailsPage.tsx"],"sourcesContent":["import { useQuery } from '@apollo/client/react';\nimport { useParams } from 'react-router-dom';\n\nimport { GGNOMAD_PROPERTY_QUERY } from '../graphql';\nimport { PageShell } from './PageShell';\n\nexport function PropertyDetailsPage() {\n const { id = '' } = useParams();\n const { data } = useQuery<{\n ggnomadProperty: {\n name: string;\n type: string;\n description?: string;\n currency: string;\n pricePerNight: number;\n maxGuests: number;\n rating?: number;\n provider?: { name: string };\n } | null;\n }>(GGNOMAD_PROPERTY_QUERY, { variables: { id }, skip: !id });\n const property = data?.ggnomadProperty;\n\n return (\n <PageShell\n title={property?.name ?? 'Property details'}\n subtitle=\"Detailed hospitality listing view\"\n >\n {!property ? (\n <div className=\"rounded-lg border p-4 text-sm text-text-secondary\">\n No property found.\n </div>\n ) : (\n <div className=\"grid gap-4 md:grid-cols-2\">\n <div className=\"rounded-lg border p-4\">\n <p className=\"text-sm text-text-secondary\">Type</p>\n <p>{property.type}</p>\n <p className=\"mt-2 text-sm text-text-secondary\">Description</p>\n <p>{property.description ?? 'No description'}</p>\n </div>\n <div className=\"rounded-lg border p-4\">\n <p>\n Price: {property.currency} {Number(property.pricePerNight).toFixed(2)}\n </p>\n <p>Guests: {property.maxGuests}</p>\n <p>Rating: {property.rating ?? 'N/A'}</p>\n <p>Provider: {property.provider?.name ?? 'Unassigned'}</p>\n </div>\n </div>\n )}\n </PageShell>\n );\n}\n"],"mappings":";;;;;;AAMA,SAAgB,IAAsB;CACpC,IAAM,EAAE,QAAK,OAAO,GAAW,EACzB,EAAE,YAAS,EAWd,GAAwB;EAAE,WAAW,EAAE,OAAI;EAAE,MAAM,CAAC;EAAI,CAAC,EACtD,IAAW,GAAM;AAEvB,QACE,kBAAC,GAAD;EACE,OAAO,GAAU,QAAQ;EACzB,UAAS;YAEP,IAKA,kBAAC,OAAD;GAAK,WAAU;aAAf,CACE,kBAAC,OAAD;IAAK,WAAU;cAAf;KACE,kBAAC,KAAD;MAAG,WAAU;gBAA8B;MAAQ,CAAA;KACnD,kBAAC,KAAD,EAAA,UAAI,EAAS,MAAS,CAAA;KACtB,kBAAC,KAAD;MAAG,WAAU;gBAAmC;MAAe,CAAA;KAC/D,kBAAC,KAAD,EAAA,UAAI,EAAS,eAAe,kBAAqB,CAAA;KAC7C;OACN,kBAAC,OAAD;IAAK,WAAU;cAAf;KACE,kBAAC,KAAD,EAAA,UAAA;MAAG;MACO,EAAS;MAAS;MAAE,OAAO,EAAS,cAAc,CAAC,QAAQ,EAAE;MACnE,EAAA,CAAA;KACJ,kBAAC,KAAD,EAAA,UAAA,CAAG,YAAS,EAAS,UAAc,EAAA,CAAA;KACnC,kBAAC,KAAD,EAAA,UAAA,CAAG,YAAS,EAAS,UAAU,MAAU,EAAA,CAAA;KACzC,kBAAC,KAAD,EAAA,UAAA,CAAG,cAAW,EAAS,UAAU,QAAQ,aAAiB,EAAA,CAAA;KACtD;MACF;OAnBN,kBAAC,OAAD;GAAK,WAAU;aAAoD;GAE7D,CAAA;EAmBE,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ProviderPage.js","names":[],"sources":["../../../src/ggnomad/pages/ProviderPage.tsx"],"sourcesContent":["import { useQuery } from '@apollo/client/react';\n\nimport { GGNOMAD_PROVIDERS_QUERY } from '../graphql';\nimport { PageShell } from './PageShell';\n\nexport function ProviderPage() {\n const { data } = useQuery<{\n ggnomadProviders: Array<{\n id: string;\n name: string;\n type: string;\n status: string;\n listingCount: number;\n totalRevenue: number;\n rating?: number;\n }>;\n }>(GGNOMAD_PROVIDERS_QUERY, { variables: { first: 20, skip: 0 } });\n const providers = data?.ggnomadProviders ?? [];\n\n return (\n <PageShell title=\"Provider Dashboard\" subtitle=\"B2B provider operations and onboarding metrics\">\n <div className=\"grid gap-3 md:grid-cols-2\">\n {providers.map(\n (provider: {\n id: string;\n name: string;\n type: string;\n status: string;\n listingCount: number;\n totalRevenue: number;\n rating?: number;\n }) => (\n <div key={provider.id} className=\"rounded-lg border p-4 text-sm\">\n <p className=\"font-medium\">{provider.name}</p>\n <p className=\"text-
|
|
1
|
+
{"version":3,"file":"ProviderPage.js","names":[],"sources":["../../../src/ggnomad/pages/ProviderPage.tsx"],"sourcesContent":["import { useQuery } from '@apollo/client/react';\n\nimport { GGNOMAD_PROVIDERS_QUERY } from '../graphql';\nimport { PageShell } from './PageShell';\n\nexport function ProviderPage() {\n const { data } = useQuery<{\n ggnomadProviders: Array<{\n id: string;\n name: string;\n type: string;\n status: string;\n listingCount: number;\n totalRevenue: number;\n rating?: number;\n }>;\n }>(GGNOMAD_PROVIDERS_QUERY, { variables: { first: 20, skip: 0 } });\n const providers = data?.ggnomadProviders ?? [];\n\n return (\n <PageShell title=\"Provider Dashboard\" subtitle=\"B2B provider operations and onboarding metrics\">\n <div className=\"grid gap-3 md:grid-cols-2\">\n {providers.map(\n (provider: {\n id: string;\n name: string;\n type: string;\n status: string;\n listingCount: number;\n totalRevenue: number;\n rating?: number;\n }) => (\n <div key={provider.id} className=\"rounded-lg border p-4 text-sm\">\n <p className=\"font-medium\">{provider.name}</p>\n <p className=\"text-text-secondary\">\n {provider.type} - {provider.status}\n </p>\n <p>Listings: {provider.listingCount}</p>\n <p>Revenue: ${Number(provider.totalRevenue).toLocaleString()}</p>\n <p>Rating: {provider.rating ?? 'N/A'}</p>\n </div>\n )\n )}\n </div>\n </PageShell>\n );\n}\n"],"mappings":";;;;;AAKA,SAAgB,IAAe;CAC7B,IAAM,EAAE,YAAS,EAUd,GAAyB,EAAE,WAAW;EAAE,OAAO;EAAI,MAAM;EAAG,EAAE,CAAC;AAGlE,QACE,kBAAC,GAAD;EAAW,OAAM;EAAqB,UAAS;YAC7C,kBAAC,OAAD;GAAK,WAAU;cAJD,GAAM,oBAAoB,EAAE,EAK7B,KACR,MASC,kBAAC,OAAD;IAAuB,WAAU;cAAjC;KACE,kBAAC,KAAD;MAAG,WAAU;gBAAe,EAAS;MAAS,CAAA;KAC9C,kBAAC,KAAD;MAAG,WAAU;gBAAb;OACG,EAAS;OAAK;OAAI,EAAS;OAC1B;;KACJ,kBAAC,KAAD,EAAA,UAAA,CAAG,cAAW,EAAS,aAAiB,EAAA,CAAA;KACxC,kBAAC,KAAD,EAAA,UAAA,CAAG,cAAW,OAAO,EAAS,aAAa,CAAC,gBAAgB,CAAK,EAAA,CAAA;KACjE,kBAAC,KAAD,EAAA,UAAA,CAAG,YAAS,EAAS,UAAU,MAAU,EAAA,CAAA;KACrC;MARI,EAAS,GAQb,CAET;GACG,CAAA;EACI,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TourDetailsPage.js","names":[],"sources":["../../../src/ggnomad/pages/TourDetailsPage.tsx"],"sourcesContent":["import { useQuery } from '@apollo/client/react';\nimport { useParams } from 'react-router-dom';\n\nimport { GGNOMAD_TOUR_QUERY } from '../graphql';\nimport { PageShell } from './PageShell';\n\nexport function TourDetailsPage() {\n const { id = '' } = useParams();\n const { data } = useQuery<{\n ggnomadTour: {\n name: string;\n duration: string;\n difficulty?: string;\n guideName?: string;\n currency: string;\n price: number;\n highlights: string[];\n } | null;\n }>(GGNOMAD_TOUR_QUERY, { variables: { id }, skip: !id });\n const tour = data?.ggnomadTour;\n\n return (\n <PageShell\n title={tour?.name ?? 'Tour details'}\n subtitle=\"Tour package details and booking context\"\n >\n {!tour ? (\n <div className=\"rounded-lg border p-4 text-
|
|
1
|
+
{"version":3,"file":"TourDetailsPage.js","names":[],"sources":["../../../src/ggnomad/pages/TourDetailsPage.tsx"],"sourcesContent":["import { useQuery } from '@apollo/client/react';\nimport { useParams } from 'react-router-dom';\n\nimport { GGNOMAD_TOUR_QUERY } from '../graphql';\nimport { PageShell } from './PageShell';\n\nexport function TourDetailsPage() {\n const { id = '' } = useParams();\n const { data } = useQuery<{\n ggnomadTour: {\n name: string;\n duration: string;\n difficulty?: string;\n guideName?: string;\n currency: string;\n price: number;\n highlights: string[];\n } | null;\n }>(GGNOMAD_TOUR_QUERY, { variables: { id }, skip: !id });\n const tour = data?.ggnomadTour;\n\n return (\n <PageShell\n title={tour?.name ?? 'Tour details'}\n subtitle=\"Tour package details and booking context\"\n >\n {!tour ? (\n <div className=\"rounded-lg border p-4 text-text-secondary\">No tour found.</div>\n ) : (\n <div className=\"grid gap-4 md:grid-cols-2 text-sm\">\n <div className=\"rounded-lg border p-4\">\n <p>Duration: {tour.duration}</p>\n <p>Difficulty: {tour.difficulty ?? 'N/A'}</p>\n <p>Guide: {tour.guideName ?? 'N/A'}</p>\n <p>\n Price: {tour.currency} {Number(tour.price).toFixed(2)}\n </p>\n </div>\n <div className=\"rounded-lg border p-4\">\n <p className=\"mb-2 font-medium\">Highlights</p>\n <ul className=\"list-inside list-disc\">\n {(tour.highlights ?? []).map((highlight: string) => (\n <li key={highlight}>{highlight}</li>\n ))}\n </ul>\n </div>\n </div>\n )}\n </PageShell>\n );\n}\n"],"mappings":";;;;;;AAMA,SAAgB,IAAkB;CAChC,IAAM,EAAE,QAAK,OAAO,GAAW,EACzB,EAAE,YAAS,EAUd,GAAoB;EAAE,WAAW,EAAE,OAAI;EAAE,MAAM,CAAC;EAAI,CAAC,EAClD,IAAO,GAAM;AAEnB,QACE,kBAAC,GAAD;EACE,OAAO,GAAM,QAAQ;EACrB,UAAS;YAEP,IAGA,kBAAC,OAAD;GAAK,WAAU;aAAf,CACE,kBAAC,OAAD;IAAK,WAAU;cAAf;KACE,kBAAC,KAAD,EAAA,UAAA,CAAG,cAAW,EAAK,SAAa,EAAA,CAAA;KAChC,kBAAC,KAAD,EAAA,UAAA,CAAG,gBAAa,EAAK,cAAc,MAAU,EAAA,CAAA;KAC7C,kBAAC,KAAD,EAAA,UAAA,CAAG,WAAQ,EAAK,aAAa,MAAU,EAAA,CAAA;KACvC,kBAAC,KAAD,EAAA,UAAA;MAAG;MACO,EAAK;MAAS;MAAE,OAAO,EAAK,MAAM,CAAC,QAAQ,EAAE;MACnD,EAAA,CAAA;KACA;OACN,kBAAC,OAAD;IAAK,WAAU;cAAf,CACE,kBAAC,KAAD;KAAG,WAAU;eAAmB;KAAc,CAAA,EAC9C,kBAAC,MAAD;KAAI,WAAU;gBACV,EAAK,cAAc,EAAE,EAAE,KAAK,MAC5B,kBAAC,MAAD,EAAA,UAAqB,GAAe,EAA3B,EAA2B,CACpC;KACC,CAAA,CACD;MACF;OAnBN,kBAAC,OAAD;GAAK,WAAU;aAA4C;GAAoB,CAAA;EAqBvE,CAAA"}
|
|
@@ -24,14 +24,14 @@ function s() {
|
|
|
24
24
|
children: "Tours"
|
|
25
25
|
}), l.map((e) => /* @__PURE__ */ o(r, {
|
|
26
26
|
to: `tours/${e.id}`,
|
|
27
|
-
className: "block rounded-lg border p-3 text-sm hover:bg-
|
|
27
|
+
className: "block rounded-lg border p-3 text-sm hover:bg-bg-sunken/30",
|
|
28
28
|
children: [
|
|
29
29
|
/* @__PURE__ */ a("p", {
|
|
30
30
|
className: "font-medium",
|
|
31
31
|
children: e.name
|
|
32
32
|
}),
|
|
33
33
|
/* @__PURE__ */ a("p", {
|
|
34
|
-
className: "text-
|
|
34
|
+
className: "text-text-secondary",
|
|
35
35
|
children: e.duration
|
|
36
36
|
}),
|
|
37
37
|
/* @__PURE__ */ o("p", { children: [
|
|
@@ -48,14 +48,14 @@ function s() {
|
|
|
48
48
|
children: "Activities"
|
|
49
49
|
}), u.map((e) => /* @__PURE__ */ o(r, {
|
|
50
50
|
to: `activities/${e.id}`,
|
|
51
|
-
className: "block rounded-lg border p-3 text-sm hover:bg-
|
|
51
|
+
className: "block rounded-lg border p-3 text-sm hover:bg-bg-sunken/30",
|
|
52
52
|
children: [
|
|
53
53
|
/* @__PURE__ */ a("p", {
|
|
54
54
|
className: "font-medium",
|
|
55
55
|
children: e.name
|
|
56
56
|
}),
|
|
57
57
|
/* @__PURE__ */ a("p", {
|
|
58
|
-
className: "text-
|
|
58
|
+
className: "text-text-secondary",
|
|
59
59
|
children: e.duration
|
|
60
60
|
}),
|
|
61
61
|
/* @__PURE__ */ o("p", { children: [
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TourismPage.js","names":[],"sources":["../../../src/ggnomad/pages/TourismPage.tsx"],"sourcesContent":["import { useQuery } from '@apollo/client/react';\nimport { Link } from 'react-router-dom';\n\nimport { GGNOMAD_ACTIVITIES_QUERY, GGNOMAD_TOURS_QUERY } from '../graphql';\nimport { PageShell } from './PageShell';\n\nexport function TourismPage() {\n const { data: toursData } = useQuery<{\n ggnomadTours: Array<{\n id: string;\n name: string;\n duration: string;\n price: number;\n currency: string;\n }>;\n }>(GGNOMAD_TOURS_QUERY, {\n variables: { first: 12, skip: 0 },\n });\n const { data: activitiesData } = useQuery<{\n ggnomadActivities: Array<{\n id: string;\n name: string;\n duration: string;\n price: number;\n currency: string;\n }>;\n }>(GGNOMAD_ACTIVITIES_QUERY, { variables: { first: 12, skip: 0 } });\n const tours = toursData?.ggnomadTours ?? [];\n const activities = activitiesData?.ggnomadActivities ?? [];\n\n return (\n <PageShell title=\"Tourism\" subtitle=\"Tours and curated activity experiences\">\n <div className=\"grid gap-6 md:grid-cols-2\">\n <div className=\"space-y-2\">\n <h2 className=\"text-lg font-medium\">Tours</h2>\n {tours.map(\n (tour: {\n id: string;\n name: string;\n duration: string;\n price: number;\n currency: string;\n }) => (\n <Link\n key={tour.id}\n to={`tours/${tour.id}`}\n className=\"block rounded-lg border p-3 text-sm hover:bg-
|
|
1
|
+
{"version":3,"file":"TourismPage.js","names":[],"sources":["../../../src/ggnomad/pages/TourismPage.tsx"],"sourcesContent":["import { useQuery } from '@apollo/client/react';\nimport { Link } from 'react-router-dom';\n\nimport { GGNOMAD_ACTIVITIES_QUERY, GGNOMAD_TOURS_QUERY } from '../graphql';\nimport { PageShell } from './PageShell';\n\nexport function TourismPage() {\n const { data: toursData } = useQuery<{\n ggnomadTours: Array<{\n id: string;\n name: string;\n duration: string;\n price: number;\n currency: string;\n }>;\n }>(GGNOMAD_TOURS_QUERY, {\n variables: { first: 12, skip: 0 },\n });\n const { data: activitiesData } = useQuery<{\n ggnomadActivities: Array<{\n id: string;\n name: string;\n duration: string;\n price: number;\n currency: string;\n }>;\n }>(GGNOMAD_ACTIVITIES_QUERY, { variables: { first: 12, skip: 0 } });\n const tours = toursData?.ggnomadTours ?? [];\n const activities = activitiesData?.ggnomadActivities ?? [];\n\n return (\n <PageShell title=\"Tourism\" subtitle=\"Tours and curated activity experiences\">\n <div className=\"grid gap-6 md:grid-cols-2\">\n <div className=\"space-y-2\">\n <h2 className=\"text-lg font-medium\">Tours</h2>\n {tours.map(\n (tour: {\n id: string;\n name: string;\n duration: string;\n price: number;\n currency: string;\n }) => (\n <Link\n key={tour.id}\n to={`tours/${tour.id}`}\n className=\"block rounded-lg border p-3 text-sm hover:bg-bg-sunken/30\"\n >\n <p className=\"font-medium\">{tour.name}</p>\n <p className=\"text-text-secondary\">{tour.duration}</p>\n <p>\n {tour.currency} {Number(tour.price).toFixed(2)}\n </p>\n </Link>\n )\n )}\n </div>\n <div className=\"space-y-2\">\n <h2 className=\"text-lg font-medium\">Activities</h2>\n {activities.map(\n (activity: {\n id: string;\n name: string;\n duration: string;\n price: number;\n currency: string;\n }) => (\n <Link\n key={activity.id}\n to={`activities/${activity.id}`}\n className=\"block rounded-lg border p-3 text-sm hover:bg-bg-sunken/30\"\n >\n <p className=\"font-medium\">{activity.name}</p>\n <p className=\"text-text-secondary\">{activity.duration}</p>\n <p>\n {activity.currency} {Number(activity.price).toFixed(2)}\n </p>\n </Link>\n )\n )}\n </div>\n </div>\n </PageShell>\n );\n}\n"],"mappings":";;;;;;AAMA,SAAgB,IAAc;CAC5B,IAAM,EAAE,MAAM,MAAc,EAQzB,GAAqB,EACtB,WAAW;EAAE,OAAO;EAAI,MAAM;EAAG,EAClC,CAAC,EACI,EAAE,MAAM,MAAmB,EAQ9B,GAA0B,EAAE,WAAW;EAAE,OAAO;EAAI,MAAM;EAAG,EAAE,CAAC,EAC7D,IAAQ,GAAW,gBAAgB,EAAE,EACrC,IAAa,GAAgB,qBAAqB,EAAE;AAE1D,QACE,kBAAC,GAAD;EAAW,OAAM;EAAU,UAAS;YAClC,kBAAC,OAAD;GAAK,WAAU;aAAf,CACE,kBAAC,OAAD;IAAK,WAAU;cAAf,CACE,kBAAC,MAAD;KAAI,WAAU;eAAsB;KAAU,CAAA,EAC7C,EAAM,KACJ,MAOC,kBAAC,GAAD;KAEE,IAAI,SAAS,EAAK;KAClB,WAAU;eAHZ;MAKE,kBAAC,KAAD;OAAG,WAAU;iBAAe,EAAK;OAAS,CAAA;MAC1C,kBAAC,KAAD;OAAG,WAAU;iBAAuB,EAAK;OAAa,CAAA;MACtD,kBAAC,KAAD,EAAA,UAAA;OACG,EAAK;OAAS;OAAE,OAAO,EAAK,MAAM,CAAC,QAAQ,EAAE;OAC5C,EAAA,CAAA;MACC;OATA,EAAK,GASL,CAEV,CACG;OACN,kBAAC,OAAD;IAAK,WAAU;cAAf,CACE,kBAAC,MAAD;KAAI,WAAU;eAAsB;KAAe,CAAA,EAClD,EAAW,KACT,MAOC,kBAAC,GAAD;KAEE,IAAI,cAAc,EAAS;KAC3B,WAAU;eAHZ;MAKE,kBAAC,KAAD;OAAG,WAAU;iBAAe,EAAS;OAAS,CAAA;MAC9C,kBAAC,KAAD;OAAG,WAAU;iBAAuB,EAAS;OAAa,CAAA;MAC1D,kBAAC,KAAD,EAAA,UAAA;OACG,EAAS;OAAS;OAAE,OAAO,EAAS,MAAM,CAAC,QAAQ,EAAE;OACpD,EAAA,CAAA;MACC;OATA,EAAS,GAST,CAEV,CACG;MACF;;EACI,CAAA"}
|