@rovela-ai/sdk 0.17.0 → 0.18.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/admin/api/orders.d.ts.map +1 -1
- package/dist/admin/api/orders.js +10 -3
- package/dist/admin/api/orders.js.map +1 -1
- package/dist/admin/api/refund.d.ts.map +1 -1
- package/dist/admin/api/refund.js +4 -1
- package/dist/admin/api/refund.js.map +1 -1
- package/dist/admin/api/return.d.ts.map +1 -1
- package/dist/admin/api/return.js +3 -1
- package/dist/admin/api/return.js.map +1 -1
- package/dist/admin/api/settings.d.ts.map +1 -1
- package/dist/admin/api/settings.js +38 -5
- package/dist/admin/api/settings.js.map +1 -1
- package/dist/admin/api/stats.d.ts.map +1 -1
- package/dist/admin/api/stats.js +5 -2
- package/dist/admin/api/stats.js.map +1 -1
- package/dist/admin/components/CookieBannerConfigurator.d.ts +9 -0
- package/dist/admin/components/CookieBannerConfigurator.d.ts.map +1 -0
- package/dist/admin/components/CookieBannerConfigurator.js +97 -0
- package/dist/admin/components/CookieBannerConfigurator.js.map +1 -0
- package/dist/admin/components/CustomerDetails.d.ts.map +1 -1
- package/dist/admin/components/CustomerDetails.js +5 -17
- package/dist/admin/components/CustomerDetails.js.map +1 -1
- package/dist/admin/components/CustomerTable.d.ts.map +1 -1
- package/dist/admin/components/CustomerTable.js +4 -8
- package/dist/admin/components/CustomerTable.js.map +1 -1
- package/dist/admin/components/FilesManager.d.ts.map +1 -1
- package/dist/admin/components/FilesManager.js +7 -3
- package/dist/admin/components/FilesManager.js.map +1 -1
- package/dist/admin/components/OrderDetails.d.ts.map +1 -1
- package/dist/admin/components/OrderDetails.js +8 -12
- package/dist/admin/components/OrderDetails.js.map +1 -1
- package/dist/admin/components/OrderTable.d.ts.map +1 -1
- package/dist/admin/components/OrderTable.js +9 -13
- package/dist/admin/components/OrderTable.js.map +1 -1
- package/dist/admin/components/PaymentSettings.js +1 -1
- package/dist/admin/components/PaymentSettings.js.map +1 -1
- package/dist/admin/components/RecentOrders.d.ts.map +1 -1
- package/dist/admin/components/RecentOrders.js +9 -12
- package/dist/admin/components/RecentOrders.js.map +1 -1
- package/dist/admin/components/RefundDialog.d.ts +1 -1
- package/dist/admin/components/RefundDialog.d.ts.map +1 -1
- package/dist/admin/components/RefundDialog.js +3 -2
- package/dist/admin/components/RefundDialog.js.map +1 -1
- package/dist/admin/components/RevenueChart.d.ts.map +1 -1
- package/dist/admin/components/RevenueChart.js +6 -11
- package/dist/admin/components/RevenueChart.js.map +1 -1
- package/dist/admin/components/StoreSettings.d.ts.map +1 -1
- package/dist/admin/components/StoreSettings.js +54 -15
- package/dist/admin/components/StoreSettings.js.map +1 -1
- package/dist/admin/components/UsersTable.d.ts.map +1 -1
- package/dist/admin/components/UsersTable.js +5 -7
- package/dist/admin/components/UsersTable.js.map +1 -1
- package/dist/admin/components/index.d.ts +2 -0
- package/dist/admin/components/index.d.ts.map +1 -1
- package/dist/admin/components/index.js +1 -0
- package/dist/admin/components/index.js.map +1 -1
- package/dist/admin/hooks/useAdminDates.d.ts +11 -0
- package/dist/admin/hooks/useAdminDates.d.ts.map +1 -0
- package/dist/admin/hooks/useAdminDates.js +46 -0
- package/dist/admin/hooks/useAdminDates.js.map +1 -0
- package/dist/admin/types.d.ts +12 -1
- package/dist/admin/types.d.ts.map +1 -1
- package/dist/analytics/api/dashboard.d.ts.map +1 -1
- package/dist/analytics/api/dashboard.js +4 -1
- package/dist/analytics/api/dashboard.js.map +1 -1
- package/dist/analytics/server/queries.d.ts +1 -1
- package/dist/analytics/server/queries.d.ts.map +1 -1
- package/dist/analytics/server/queries.js +6 -4
- package/dist/analytics/server/queries.js.map +1 -1
- package/dist/analytics/views/DashboardsView.d.ts.map +1 -1
- package/dist/analytics/views/DashboardsView.js +5 -7
- package/dist/analytics/views/DashboardsView.js.map +1 -1
- package/dist/analytics/views/EventsView.d.ts.map +1 -1
- package/dist/analytics/views/EventsView.js +7 -2
- package/dist/analytics/views/EventsView.js.map +1 -1
- package/dist/analytics/views/VisitorsView.d.ts.map +1 -1
- package/dist/analytics/views/VisitorsView.js +6 -2
- package/dist/analytics/views/VisitorsView.js.map +1 -1
- package/dist/auth/api/request-refund.d.ts.map +1 -1
- package/dist/auth/api/request-refund.js +2 -1
- package/dist/auth/api/request-refund.js.map +1 -1
- package/dist/core/StoreSettingsProvider.d.ts.map +1 -1
- package/dist/core/StoreSettingsProvider.js +22 -9
- package/dist/core/StoreSettingsProvider.js.map +1 -1
- package/dist/core/api/settings.d.ts.map +1 -1
- package/dist/core/api/settings.js +4 -2
- package/dist/core/api/settings.js.map +1 -1
- package/dist/core/cookie-consent/CookieBanner.d.ts.map +1 -1
- package/dist/core/cookie-consent/CookieBanner.js +266 -92
- package/dist/core/cookie-consent/CookieBanner.js.map +1 -1
- package/dist/core/cookie-consent/CookieConsentProvider.d.ts +11 -2
- package/dist/core/cookie-consent/CookieConsentProvider.d.ts.map +1 -1
- package/dist/core/cookie-consent/CookieConsentProvider.js +26 -7
- package/dist/core/cookie-consent/CookieConsentProvider.js.map +1 -1
- package/dist/core/cookie-consent/CookiePreferencesLink.d.ts.map +1 -1
- package/dist/core/cookie-consent/CookiePreferencesLink.js +5 -3
- package/dist/core/cookie-consent/CookiePreferencesLink.js.map +1 -1
- package/dist/core/cookie-consent/index.d.ts +2 -1
- package/dist/core/cookie-consent/index.d.ts.map +1 -1
- package/dist/core/cookie-consent/index.js +1 -0
- package/dist/core/cookie-consent/index.js.map +1 -1
- package/dist/core/cookie-consent/types.d.ts +70 -4
- package/dist/core/cookie-consent/types.d.ts.map +1 -1
- package/dist/core/cookie-consent/types.js +117 -5
- package/dist/core/cookie-consent/types.js.map +1 -1
- package/dist/core/dates.d.ts +15 -0
- package/dist/core/dates.d.ts.map +1 -0
- package/dist/core/dates.js +22 -0
- package/dist/core/dates.js.map +1 -0
- package/dist/core/db/queries.d.ts +7 -5
- package/dist/core/db/queries.d.ts.map +1 -1
- package/dist/core/db/queries.js +35 -16
- package/dist/core/db/queries.js.map +1 -1
- package/dist/core/db/schema.d.ts +19 -0
- package/dist/core/db/schema.d.ts.map +1 -1
- package/dist/core/db/schema.js +7 -1
- package/dist/core/db/schema.js.map +1 -1
- package/dist/core/index.d.ts +1 -0
- package/dist/core/index.d.ts.map +1 -1
- package/dist/core/index.js +2 -0
- package/dist/core/index.js.map +1 -1
- package/dist/core/useStoreFormatting.d.ts +4 -1
- package/dist/core/useStoreFormatting.d.ts.map +1 -1
- package/dist/core/useStoreFormatting.js +10 -11
- package/dist/core/useStoreFormatting.js.map +1 -1
- package/dist/core/utils.d.ts +9 -4
- package/dist/core/utils.d.ts.map +1 -1
- package/dist/core/utils.js +12 -6
- package/dist/core/utils.js.map +1 -1
- package/dist/emails/config.d.ts +6 -0
- package/dist/emails/config.d.ts.map +1 -1
- package/dist/emails/config.js +19 -1
- package/dist/emails/config.js.map +1 -1
- package/dist/emails/send/auth.js +1 -1
- package/dist/emails/send/auth.js.map +1 -1
- package/dist/emails/types.d.ts +2 -0
- package/dist/emails/types.d.ts.map +1 -1
- package/dist/emails/utils.d.ts +13 -5
- package/dist/emails/utils.d.ts.map +1 -1
- package/dist/emails/utils.js +23 -19
- package/dist/emails/utils.js.map +1 -1
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DashboardsView.d.ts","sourceRoot":"","sources":["../../../src/analytics/views/DashboardsView.tsx"],"names":[],"mappings":"AAwCA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,UAAU,CAAA;
|
|
1
|
+
{"version":3,"file":"DashboardsView.d.ts","sourceRoot":"","sources":["../../../src/analytics/views/DashboardsView.tsx"],"names":[],"mappings":"AAwCA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,UAAU,CAAA;AAG/C,MAAM,WAAW,mBAAmB;IAClC,MAAM,EAAE,eAAe,CAAA;CACxB;AAkHD,wBAAgB,cAAc,CAAC,EAAE,MAAM,EAAE,EAAE,mBAAmB,2CAkL7D"}
|
|
@@ -21,6 +21,7 @@ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
|
21
21
|
import { ArrowDownRight, ArrowUpRight, Users, Activity, Eye, Target, BarChart3, } from 'lucide-react';
|
|
22
22
|
import { Area, AreaChart, CartesianGrid, ResponsiveContainer, Tooltip, XAxis, YAxis, } from 'recharts';
|
|
23
23
|
import { useAnalyticsDashboard } from '../hooks/useAnalyticsDashboard';
|
|
24
|
+
import { formatDayLabel } from '../../core/dates';
|
|
24
25
|
// =============================================================================
|
|
25
26
|
// Delta pill (re-used across cards)
|
|
26
27
|
// =============================================================================
|
|
@@ -46,9 +47,9 @@ function StatCard({ label, value, delta, icon: Icon, isLoading }) {
|
|
|
46
47
|
function TrendTooltip({ active, payload, label }) {
|
|
47
48
|
if (!active || !payload || !payload.length)
|
|
48
49
|
return null;
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
50
|
+
// Day keys are store-timezone buckets — render tz-neutrally (a Date parse
|
|
51
|
+
// would shift a day in negative-offset browser zones).
|
|
52
|
+
const date = label ? formatDayLabel(String(label)) : '';
|
|
52
53
|
return (_jsxs("div", { className: "admin-chart-tooltip", children: [_jsx("p", { className: "admin-chart-tooltip-label", children: date }), payload.map((p, i) => (_jsxs("p", { className: "admin-chart-tooltip-value", children: [_jsx("span", { style: { color: p.color }, children: "\u25CF " }), p.value, ' ', _jsx("span", { className: "admin-text-muted", children: p.dataKey === 'visitors' ? 'visitors' : 'page views' })] }, i)))] }));
|
|
53
54
|
}
|
|
54
55
|
// =============================================================================
|
|
@@ -71,10 +72,7 @@ export function DashboardsView({ period }) {
|
|
|
71
72
|
// visitors only and rename the chart label; dual-series-from-DB is a fast
|
|
72
73
|
// follow.
|
|
73
74
|
const trendData = data?.trend ?? [];
|
|
74
|
-
const formatXAxis = (dateStr) =>
|
|
75
|
-
const d = new Date(dateStr);
|
|
76
|
-
return d.toLocaleDateString('en-US', { month: 'short', day: 'numeric' });
|
|
77
|
-
};
|
|
75
|
+
const formatXAxis = (dateStr) => formatDayLabel(dateStr);
|
|
78
76
|
const tickFormatter = (value, index) => {
|
|
79
77
|
if (index % 5 === 0 || index === trendData.length - 1)
|
|
80
78
|
return formatXAxis(value);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DashboardsView.js","sourceRoot":"","sources":["../../../src/analytics/views/DashboardsView.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAA;;AAEZ;;;;;;;;;;;;;;;;;GAiBG;AAEH,OAAO,EACL,cAAc,EACd,YAAY,EACZ,KAAK,EACL,QAAQ,EACR,GAAG,EACH,MAAM,EACN,SAAS,GACV,MAAM,cAAc,CAAA;AACrB,OAAO,EACL,IAAI,EACJ,SAAS,EACT,aAAa,EACb,mBAAmB,EACnB,OAAO,EACP,KAAK,EACL,KAAK,GACN,MAAM,UAAU,CAAA;AACjB,OAAO,EAAE,qBAAqB,EAAE,MAAM,gCAAgC,CAAA;
|
|
1
|
+
{"version":3,"file":"DashboardsView.js","sourceRoot":"","sources":["../../../src/analytics/views/DashboardsView.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"EventsView.d.ts","sourceRoot":"","sources":["../../../src/analytics/views/EventsView.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"EventsView.d.ts","sourceRoot":"","sources":["../../../src/analytics/views/EventsView.tsx"],"names":[],"mappings":"AAiBA,OAAO,KAAK,EAEV,eAAe,EAEhB,MAAM,UAAU,CAAA;AAEjB,MAAM,WAAW,eAAe;IAC9B,MAAM,EAAE,eAAe,CAAA;CACxB;AA0FD,wBAAgB,UAAU,CAAC,EAAE,MAAM,EAAE,EAAE,eAAe,2CAgLrD"}
|
|
@@ -13,6 +13,7 @@ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
|
13
13
|
import { useState } from 'react';
|
|
14
14
|
import { ArrowDown, ArrowUp, ChevronLeft, ChevronRight } from 'lucide-react';
|
|
15
15
|
import { useEventsLog } from '../hooks/useEventsLog';
|
|
16
|
+
import { useStoreSettingsOptional } from '../../core';
|
|
16
17
|
// =============================================================================
|
|
17
18
|
// Event pill tint — same family-based color logic as the Activity feed (§43)
|
|
18
19
|
// =============================================================================
|
|
@@ -36,18 +37,20 @@ function eventTint(kind) {
|
|
|
36
37
|
// =============================================================================
|
|
37
38
|
// View
|
|
38
39
|
// =============================================================================
|
|
39
|
-
function formatTs(iso) {
|
|
40
|
+
function formatTs(iso, timeZone = 'UTC') {
|
|
40
41
|
try {
|
|
41
42
|
const d = new Date(iso);
|
|
42
43
|
const date = d.toLocaleDateString('en-US', {
|
|
43
44
|
day: '2-digit',
|
|
44
45
|
month: 'short',
|
|
46
|
+
timeZone,
|
|
45
47
|
});
|
|
46
48
|
const time = d.toLocaleTimeString('en-US', {
|
|
47
49
|
hour: '2-digit',
|
|
48
50
|
minute: '2-digit',
|
|
49
51
|
second: '2-digit',
|
|
50
52
|
hour12: false,
|
|
53
|
+
timeZone,
|
|
51
54
|
});
|
|
52
55
|
return `${date}, ${time}`;
|
|
53
56
|
}
|
|
@@ -64,6 +67,8 @@ function SortableHeader({ label, column, activeColumn, activeDir, onClick, }) {
|
|
|
64
67
|
(activeDir === 'asc' ? (_jsx(ArrowUp, { className: "h-3 w-3" })) : (_jsx(ArrowDown, { className: "h-3 w-3" })))] }) }));
|
|
65
68
|
}
|
|
66
69
|
export function EventsView({ period }) {
|
|
70
|
+
// Store-timezone timestamps (admin shows store time, not browser time).
|
|
71
|
+
const storeTz = useStoreSettingsOptional()?.settings?.storeTimezone || 'UTC';
|
|
67
72
|
const [sortBy, setSortBy] = useState('ts');
|
|
68
73
|
const [sortDir, setSortDir] = useState('desc');
|
|
69
74
|
const [hideHeartbeats, setHideHeartbeats] = useState(true);
|
|
@@ -80,6 +85,6 @@ export function EventsView({ period }) {
|
|
|
80
85
|
// Cursor pagination only stable on ts-sorted; disable next when custom sort.
|
|
81
86
|
const canPaginate = sortBy === 'ts';
|
|
82
87
|
const hasNext = Boolean(page?.nextCursor) && canPaginate;
|
|
83
|
-
return (_jsxs("div", { className: "space-y-4", children: [error && (_jsx("div", { className: "rounded-md bg-destructive/10 px-4 py-3 text-sm text-destructive", children: error })), _jsxs("div", { className: "flex flex-wrap items-center justify-between gap-2", children: [_jsx("h2", { className: "text-sm font-semibold text-foreground", children: "Events" }), _jsxs("label", { className: "inline-flex items-center gap-2 text-sm text-muted-foreground", children: [_jsx("input", { type: "checkbox", checked: !hideHeartbeats, onChange: (e) => setHideHeartbeats(!e.target.checked), className: "h-4 w-4 rounded border-border" }), "Show heartbeats"] })] }), _jsx("div", { className: "admin-chart", children: _jsx("div", { className: "admin-chart-body", children: isLoading && !page ? (_jsx("div", { className: "admin-chart-loading", children: _jsx("div", { className: "admin-chart-spinner" }) })) : !page || page.rows.length === 0 ? (_jsxs("div", { className: "admin-chart-empty", children: [_jsx("p", { className: "admin-chart-empty-text", children: "No events yet." }), _jsx("p", { className: "admin-chart-empty-subtext", children: "Once visitors start browsing your store, you'll see every page view, cart add, and purchase right here." })] })) : (_jsxs("table", { className: "w-full text-sm", children: [_jsx("thead", { children: _jsxs("tr", { className: "border-b border-border", children: [_jsx(SortableHeader, { label: "Timestamp", column: "ts", activeColumn: sortBy, activeDir: sortDir, onClick: onSortClick }), _jsx(SortableHeader, { label: "Event", column: "event", activeColumn: sortBy, activeDir: sortDir, onClick: onSortClick }), _jsx(SortableHeader, { label: "Path", column: "path", activeColumn: sortBy, activeDir: sortDir, onClick: onSortClick }), _jsx(SortableHeader, { label: "Referrer", column: "referrer", activeColumn: sortBy, activeDir: sortDir, onClick: onSortClick }), _jsx(SortableHeader, { label: "Country", column: "country", activeColumn: sortBy, activeDir: sortDir, onClick: onSortClick }), _jsx("th", { className: "py-2 text-left text-xs font-medium uppercase tracking-wider text-muted-foreground", children: "Session" })] }) }), _jsx("tbody", { children: page.rows.map((row) => (_jsxs("tr", { className: "border-b border-border/50 last:border-0 hover:bg-foreground/[0.02]", children: [_jsx("td", { className: "py-2 tabular-nums text-foreground", children: formatTs(row.ts) }), _jsx("td", { className: "py-2", children: _jsx("span", { className: `inline-flex items-center rounded-md px-2 py-0.5 font-mono text-xs ${eventTint(row.event)}`, children: row.event }) }), _jsx("td", { className: "py-2 font-mono text-xs text-foreground", children: row.path }), _jsx("td", { className: "py-2 text-muted-foreground", children: row.referrer ?? _jsx("span", { className: "italic", children: "(direct)" }) }), _jsx("td", { className: "py-2 tabular-nums text-foreground", children: row.country ?? '—' }), _jsx("td", { className: "py-2 font-mono text-xs text-muted-foreground", title: row.sessionId, children: shortId(row.sessionId, 8) })] }, row.id))) })] })) }) }), (cursor || hasNext) && (_jsxs("div", { className: "flex items-center justify-end gap-2", children: [!canPaginate && (_jsx("span", { className: "text-xs text-muted-foreground", children: "Pagination disabled for custom sort" })), _jsxs("button", { type: "button", onClick: firstPage, disabled: !cursor || isLoading, className: "inline-flex items-center gap-1 rounded-md border border-border bg-background px-3 py-1.5 text-xs font-medium text-foreground transition-colors hover:bg-accent disabled:cursor-not-allowed disabled:opacity-50", children: [_jsx(ChevronLeft, { className: "h-3 w-3" }), "Newer"] }), _jsxs("button", { type: "button", onClick: nextPage, disabled: !hasNext || isLoading, className: "inline-flex items-center gap-1 rounded-md border border-border bg-background px-3 py-1.5 text-xs font-medium text-foreground transition-colors hover:bg-accent disabled:cursor-not-allowed disabled:opacity-50", children: ["Older", _jsx(ChevronRight, { className: "h-3 w-3" })] })] }))] }));
|
|
88
|
+
return (_jsxs("div", { className: "space-y-4", children: [error && (_jsx("div", { className: "rounded-md bg-destructive/10 px-4 py-3 text-sm text-destructive", children: error })), _jsxs("div", { className: "flex flex-wrap items-center justify-between gap-2", children: [_jsx("h2", { className: "text-sm font-semibold text-foreground", children: "Events" }), _jsxs("label", { className: "inline-flex items-center gap-2 text-sm text-muted-foreground", children: [_jsx("input", { type: "checkbox", checked: !hideHeartbeats, onChange: (e) => setHideHeartbeats(!e.target.checked), className: "h-4 w-4 rounded border-border" }), "Show heartbeats"] })] }), _jsx("div", { className: "admin-chart", children: _jsx("div", { className: "admin-chart-body", children: isLoading && !page ? (_jsx("div", { className: "admin-chart-loading", children: _jsx("div", { className: "admin-chart-spinner" }) })) : !page || page.rows.length === 0 ? (_jsxs("div", { className: "admin-chart-empty", children: [_jsx("p", { className: "admin-chart-empty-text", children: "No events yet." }), _jsx("p", { className: "admin-chart-empty-subtext", children: "Once visitors start browsing your store, you'll see every page view, cart add, and purchase right here." })] })) : (_jsxs("table", { className: "w-full text-sm", children: [_jsx("thead", { children: _jsxs("tr", { className: "border-b border-border", children: [_jsx(SortableHeader, { label: "Timestamp", column: "ts", activeColumn: sortBy, activeDir: sortDir, onClick: onSortClick }), _jsx(SortableHeader, { label: "Event", column: "event", activeColumn: sortBy, activeDir: sortDir, onClick: onSortClick }), _jsx(SortableHeader, { label: "Path", column: "path", activeColumn: sortBy, activeDir: sortDir, onClick: onSortClick }), _jsx(SortableHeader, { label: "Referrer", column: "referrer", activeColumn: sortBy, activeDir: sortDir, onClick: onSortClick }), _jsx(SortableHeader, { label: "Country", column: "country", activeColumn: sortBy, activeDir: sortDir, onClick: onSortClick }), _jsx("th", { className: "py-2 text-left text-xs font-medium uppercase tracking-wider text-muted-foreground", children: "Session" })] }) }), _jsx("tbody", { children: page.rows.map((row) => (_jsxs("tr", { className: "border-b border-border/50 last:border-0 hover:bg-foreground/[0.02]", children: [_jsx("td", { className: "py-2 tabular-nums text-foreground", children: formatTs(row.ts, storeTz) }), _jsx("td", { className: "py-2", children: _jsx("span", { className: `inline-flex items-center rounded-md px-2 py-0.5 font-mono text-xs ${eventTint(row.event)}`, children: row.event }) }), _jsx("td", { className: "py-2 font-mono text-xs text-foreground", children: row.path }), _jsx("td", { className: "py-2 text-muted-foreground", children: row.referrer ?? _jsx("span", { className: "italic", children: "(direct)" }) }), _jsx("td", { className: "py-2 tabular-nums text-foreground", children: row.country ?? '—' }), _jsx("td", { className: "py-2 font-mono text-xs text-muted-foreground", title: row.sessionId, children: shortId(row.sessionId, 8) })] }, row.id))) })] })) }) }), (cursor || hasNext) && (_jsxs("div", { className: "flex items-center justify-end gap-2", children: [!canPaginate && (_jsx("span", { className: "text-xs text-muted-foreground", children: "Pagination disabled for custom sort" })), _jsxs("button", { type: "button", onClick: firstPage, disabled: !cursor || isLoading, className: "inline-flex items-center gap-1 rounded-md border border-border bg-background px-3 py-1.5 text-xs font-medium text-foreground transition-colors hover:bg-accent disabled:cursor-not-allowed disabled:opacity-50", children: [_jsx(ChevronLeft, { className: "h-3 w-3" }), "Newer"] }), _jsxs("button", { type: "button", onClick: nextPage, disabled: !hasNext || isLoading, className: "inline-flex items-center gap-1 rounded-md border border-border bg-background px-3 py-1.5 text-xs font-medium text-foreground transition-colors hover:bg-accent disabled:cursor-not-allowed disabled:opacity-50", children: ["Older", _jsx(ChevronRight, { className: "h-3 w-3" })] })] }))] }));
|
|
84
89
|
}
|
|
85
90
|
//# sourceMappingURL=EventsView.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"EventsView.js","sourceRoot":"","sources":["../../../src/analytics/views/EventsView.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAA;;AAEZ;;;;;;;;;GASG;AAEH,OAAO,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAA;AAChC,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,cAAc,CAAA;AAC5E,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAA;
|
|
1
|
+
{"version":3,"file":"EventsView.js","sourceRoot":"","sources":["../../../src/analytics/views/EventsView.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"VisitorsView.d.ts","sourceRoot":"","sources":["../../../src/analytics/views/VisitorsView.tsx"],"names":[],"mappings":"AAgBA,OAAO,KAAK,EAAE,eAAe,EAAoB,MAAM,UAAU,CAAA;
|
|
1
|
+
{"version":3,"file":"VisitorsView.d.ts","sourceRoot":"","sources":["../../../src/analytics/views/VisitorsView.tsx"],"names":[],"mappings":"AAgBA,OAAO,KAAK,EAAE,eAAe,EAAoB,MAAM,UAAU,CAAA;AAGjE,MAAM,WAAW,iBAAiB;IAChC,MAAM,EAAE,eAAe,CAAA;CACxB;AA6DD,wBAAgB,YAAY,CAAC,EAAE,MAAM,EAAE,EAAE,iBAAiB,2CAyJzD"}
|
|
@@ -13,7 +13,8 @@ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
|
13
13
|
import { useState } from 'react';
|
|
14
14
|
import { ArrowDown, ArrowUp, ChevronLeft, ChevronRight } from 'lucide-react';
|
|
15
15
|
import { useVisitorsList } from '../hooks/useVisitorsList';
|
|
16
|
-
|
|
16
|
+
import { useStoreSettingsOptional } from '../../core';
|
|
17
|
+
function formatTs(iso, timeZone = 'UTC') {
|
|
17
18
|
try {
|
|
18
19
|
const d = new Date(iso);
|
|
19
20
|
return d.toLocaleDateString('en-US', {
|
|
@@ -22,6 +23,7 @@ function formatTs(iso) {
|
|
|
22
23
|
hour: '2-digit',
|
|
23
24
|
minute: '2-digit',
|
|
24
25
|
hour12: false,
|
|
26
|
+
timeZone,
|
|
25
27
|
});
|
|
26
28
|
}
|
|
27
29
|
catch {
|
|
@@ -38,6 +40,8 @@ function SortableHeader({ label, column, activeColumn, activeDir, onClick, }) {
|
|
|
38
40
|
(activeDir === 'asc' ? (_jsx(ArrowUp, { className: "h-3 w-3" })) : (_jsx(ArrowDown, { className: "h-3 w-3" })))] }) }));
|
|
39
41
|
}
|
|
40
42
|
export function VisitorsView({ period }) {
|
|
43
|
+
// Store-timezone timestamps (admin shows store time, not browser time).
|
|
44
|
+
const storeTz = useStoreSettingsOptional()?.settings?.storeTimezone || 'UTC';
|
|
41
45
|
const [sortBy, setSortBy] = useState('last_seen');
|
|
42
46
|
const [sortDir, setSortDir] = useState('desc');
|
|
43
47
|
const { page, isLoading, error, cursor, nextPage, firstPage } = useVisitorsList({ period, sortBy, sortDir });
|
|
@@ -52,6 +56,6 @@ export function VisitorsView({ period }) {
|
|
|
52
56
|
setSortDir(column === 'country' ? 'asc' : 'desc');
|
|
53
57
|
}
|
|
54
58
|
};
|
|
55
|
-
return (_jsxs("div", { className: "space-y-4", children: [error && (_jsx("div", { className: "rounded-md bg-destructive/10 px-4 py-3 text-sm text-destructive", children: error })), _jsx("h2", { className: "text-sm font-semibold text-foreground", children: "Visitors" }), _jsx("div", { className: "admin-chart", children: _jsx("div", { className: "admin-chart-body", children: isLoading && !page ? (_jsx("div", { className: "admin-chart-loading", children: _jsx("div", { className: "admin-chart-spinner" }) })) : !page || page.rows.length === 0 ? (_jsxs("div", { className: "admin-chart-empty", children: [_jsx("p", { className: "admin-chart-empty-text", children: "No visitors yet." }), _jsx("p", { className: "admin-chart-empty-subtext", children: "Anyone who visits your storefront will appear here, grouped by their pseudonymous visitor ID." })] })) : (_jsxs("table", { className: "w-full text-sm", children: [_jsx("thead", { children: _jsxs("tr", { className: "border-b border-border", children: [_jsx("th", { className: "py-2 text-center text-xs font-medium uppercase tracking-wider text-muted-foreground", children: "Visitor" }), _jsx(SortableHeader, { label: "First seen", column: "first_seen", activeColumn: sortBy, activeDir: sortDir, onClick: onSortClick }), _jsx(SortableHeader, { label: "Last seen", column: "last_seen", activeColumn: sortBy, activeDir: sortDir, onClick: onSortClick }), _jsx(SortableHeader, { label: "Sessions", column: "sessions", activeColumn: sortBy, activeDir: sortDir, onClick: onSortClick }), _jsx(SortableHeader, { label: "Pageviews", column: "pageviews", activeColumn: sortBy, activeDir: sortDir, onClick: onSortClick }), _jsx(SortableHeader, { label: "Country", column: "country", activeColumn: sortBy, activeDir: sortDir, onClick: onSortClick }), _jsx("th", { className: "py-2 text-center text-xs font-medium uppercase tracking-wider text-muted-foreground", children: "Source" })] }) }), _jsx("tbody", { children: page.rows.map((row) => (_jsxs("tr", { className: "border-b border-border/50 last:border-0 hover:bg-foreground/[0.02]", children: [_jsx("td", { className: "py-2 text-center font-mono text-xs text-foreground", title: row.visitorId, children: shortId(row.visitorId) }), _jsx("td", { className: "py-2 text-center tabular-nums text-muted-foreground", children: formatTs(row.firstSeen) }), _jsx("td", { className: "py-2 text-center tabular-nums text-foreground", children: formatTs(row.lastSeen) }), _jsx("td", { className: "py-2 text-center tabular-nums text-foreground", children: numberFmt(row.sessions) }), _jsx("td", { className: "py-2 text-center tabular-nums text-foreground", children: numberFmt(row.pageviews) }), _jsx("td", { className: "py-2 text-center tabular-nums text-foreground", children: row.country ?? '—' }), _jsx("td", { className: "py-2 text-center text-muted-foreground", children: row.initialSource })] }, row.visitorId))) })] })) }) }), (cursor || page?.nextCursor) && (_jsxs("div", { className: "flex items-center justify-end gap-2", children: [_jsxs("button", { type: "button", onClick: firstPage, disabled: !cursor || isLoading, className: "inline-flex items-center gap-1 rounded-md border border-border bg-background px-3 py-1.5 text-xs font-medium text-foreground transition-colors hover:bg-accent disabled:cursor-not-allowed disabled:opacity-50", children: [_jsx(ChevronLeft, { className: "h-3 w-3" }), "Newer"] }), _jsxs("button", { type: "button", onClick: nextPage, disabled: !page?.nextCursor || isLoading, className: "inline-flex items-center gap-1 rounded-md border border-border bg-background px-3 py-1.5 text-xs font-medium text-foreground transition-colors hover:bg-accent disabled:cursor-not-allowed disabled:opacity-50", children: ["Older", _jsx(ChevronRight, { className: "h-3 w-3" })] })] }))] }));
|
|
59
|
+
return (_jsxs("div", { className: "space-y-4", children: [error && (_jsx("div", { className: "rounded-md bg-destructive/10 px-4 py-3 text-sm text-destructive", children: error })), _jsx("h2", { className: "text-sm font-semibold text-foreground", children: "Visitors" }), _jsx("div", { className: "admin-chart", children: _jsx("div", { className: "admin-chart-body", children: isLoading && !page ? (_jsx("div", { className: "admin-chart-loading", children: _jsx("div", { className: "admin-chart-spinner" }) })) : !page || page.rows.length === 0 ? (_jsxs("div", { className: "admin-chart-empty", children: [_jsx("p", { className: "admin-chart-empty-text", children: "No visitors yet." }), _jsx("p", { className: "admin-chart-empty-subtext", children: "Anyone who visits your storefront will appear here, grouped by their pseudonymous visitor ID." })] })) : (_jsxs("table", { className: "w-full text-sm", children: [_jsx("thead", { children: _jsxs("tr", { className: "border-b border-border", children: [_jsx("th", { className: "py-2 text-center text-xs font-medium uppercase tracking-wider text-muted-foreground", children: "Visitor" }), _jsx(SortableHeader, { label: "First seen", column: "first_seen", activeColumn: sortBy, activeDir: sortDir, onClick: onSortClick }), _jsx(SortableHeader, { label: "Last seen", column: "last_seen", activeColumn: sortBy, activeDir: sortDir, onClick: onSortClick }), _jsx(SortableHeader, { label: "Sessions", column: "sessions", activeColumn: sortBy, activeDir: sortDir, onClick: onSortClick }), _jsx(SortableHeader, { label: "Pageviews", column: "pageviews", activeColumn: sortBy, activeDir: sortDir, onClick: onSortClick }), _jsx(SortableHeader, { label: "Country", column: "country", activeColumn: sortBy, activeDir: sortDir, onClick: onSortClick }), _jsx("th", { className: "py-2 text-center text-xs font-medium uppercase tracking-wider text-muted-foreground", children: "Source" })] }) }), _jsx("tbody", { children: page.rows.map((row) => (_jsxs("tr", { className: "border-b border-border/50 last:border-0 hover:bg-foreground/[0.02]", children: [_jsx("td", { className: "py-2 text-center font-mono text-xs text-foreground", title: row.visitorId, children: shortId(row.visitorId) }), _jsx("td", { className: "py-2 text-center tabular-nums text-muted-foreground", children: formatTs(row.firstSeen, storeTz) }), _jsx("td", { className: "py-2 text-center tabular-nums text-foreground", children: formatTs(row.lastSeen, storeTz) }), _jsx("td", { className: "py-2 text-center tabular-nums text-foreground", children: numberFmt(row.sessions) }), _jsx("td", { className: "py-2 text-center tabular-nums text-foreground", children: numberFmt(row.pageviews) }), _jsx("td", { className: "py-2 text-center tabular-nums text-foreground", children: row.country ?? '—' }), _jsx("td", { className: "py-2 text-center text-muted-foreground", children: row.initialSource })] }, row.visitorId))) })] })) }) }), (cursor || page?.nextCursor) && (_jsxs("div", { className: "flex items-center justify-end gap-2", children: [_jsxs("button", { type: "button", onClick: firstPage, disabled: !cursor || isLoading, className: "inline-flex items-center gap-1 rounded-md border border-border bg-background px-3 py-1.5 text-xs font-medium text-foreground transition-colors hover:bg-accent disabled:cursor-not-allowed disabled:opacity-50", children: [_jsx(ChevronLeft, { className: "h-3 w-3" }), "Newer"] }), _jsxs("button", { type: "button", onClick: nextPage, disabled: !page?.nextCursor || isLoading, className: "inline-flex items-center gap-1 rounded-md border border-border bg-background px-3 py-1.5 text-xs font-medium text-foreground transition-colors hover:bg-accent disabled:cursor-not-allowed disabled:opacity-50", children: ["Older", _jsx(ChevronRight, { className: "h-3 w-3" })] })] }))] }));
|
|
56
60
|
}
|
|
57
61
|
//# sourceMappingURL=VisitorsView.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"VisitorsView.js","sourceRoot":"","sources":["../../../src/analytics/views/VisitorsView.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAA;;AAEZ;;;;;;;;;GASG;AAEH,OAAO,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAA;AAChC,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,cAAc,CAAA;AAC5E,OAAO,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAA;
|
|
1
|
+
{"version":3,"file":"VisitorsView.js","sourceRoot":"","sources":["../../../src/analytics/views/VisitorsView.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"request-refund.d.ts","sourceRoot":"","sources":["../../../src/auth/api/request-refund.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AAWvD,UAAU,qBAAqB;IAC7B,OAAO,EAAE,OAAO,CAAA;IAChB,OAAO,EAAE,MAAM,CAAA;IACf,QAAQ,CAAC,EAAE,MAAM,CAAA;CAClB;AAED,UAAU,kBAAkB;IAC1B,KAAK,EAAE,MAAM,CAAA;IACb,IAAI,EAAE,cAAc,GAAG,WAAW,GAAG,WAAW,GAAG,kBAAkB,GAAG,gBAAgB,CAAA;CACzF;AAMD;;;;;;;;GAQG;AACH,wBAAsB,IAAI,CACxB,QAAQ,EAAE,WAAW,EACrB,EAAE,MAAM,EAAE,EAAE;IAAE,MAAM,EAAE,OAAO,CAAC;QAAE,EAAE,EAAE,MAAM,CAAA;KAAE,CAAC,CAAA;CAAE,GAC9C,OAAO,CAAC,YAAY,CAAC,qBAAqB,GAAG,kBAAkB,CAAC,CAAC,
|
|
1
|
+
{"version":3,"file":"request-refund.d.ts","sourceRoot":"","sources":["../../../src/auth/api/request-refund.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AAWvD,UAAU,qBAAqB;IAC7B,OAAO,EAAE,OAAO,CAAA;IAChB,OAAO,EAAE,MAAM,CAAA;IACf,QAAQ,CAAC,EAAE,MAAM,CAAA;CAClB;AAED,UAAU,kBAAkB;IAC1B,KAAK,EAAE,MAAM,CAAA;IACb,IAAI,EAAE,cAAc,GAAG,WAAW,GAAG,WAAW,GAAG,kBAAkB,GAAG,gBAAgB,CAAA;CACzF;AAMD;;;;;;;;GAQG;AACH,wBAAsB,IAAI,CACxB,QAAQ,EAAE,WAAW,EACrB,EAAE,MAAM,EAAE,EAAE;IAAE,MAAM,EAAE,OAAO,CAAC;QAAE,EAAE,EAAE,MAAM,CAAA;KAAE,CAAC,CAAA;CAAE,GAC9C,OAAO,CAAC,YAAY,CAAC,qBAAqB,GAAG,kBAAkB,CAAC,CAAC,CAoJnE"}
|
|
@@ -98,7 +98,8 @@ export async function POST(_request, { params }) {
|
|
|
98
98
|
// Send refund notification email (non-blocking)
|
|
99
99
|
if (order.email) {
|
|
100
100
|
const settings = await findSettings().catch(() => null);
|
|
101
|
-
|
|
101
|
+
// Per-order snapshot first (see admin/api/refund.ts).
|
|
102
|
+
const currency = order.currency || settings?.storeCurrency || 'USD';
|
|
102
103
|
const customerName = order.email.split('@')[0];
|
|
103
104
|
sendRefundProcessedAsync({
|
|
104
105
|
to: order.email,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"request-refund.js","sourceRoot":"","sources":["../../../src/auth/api/request-refund.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"request-refund.js","sourceRoot":"","sources":["../../../src/auth/api/request-refund.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"StoreSettingsProvider.d.ts","sourceRoot":"","sources":["../../src/core/StoreSettingsProvider.tsx"],"names":[],"mappings":"AAEA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AAEH,OAAO,EAOL,KAAK,SAAS,EACf,MAAM,OAAO,CAAA;AAMd,MAAM,WAAW,aAAa;IAC5B,SAAS,EAAE,MAAM,CAAA;IACjB,UAAU,EAAE,MAAM,CAAA;IAClB,OAAO,EAAE,MAAM,GAAG,IAAI,CAAA;IACtB,sEAAsE;IACtE,UAAU,EAAE,MAAM,GAAG,IAAI,CAAA;IACzB,aAAa,EAAE,MAAM,CAAA;IACrB,aAAa,EAAE,MAAM,CAAA;IACrB,2FAA2F;IAC3F,YAAY,EAAE,MAAM,GAAG,IAAI,CAAA;IAC3B,aAAa,EAAE,MAAM,GAAG,IAAI,CAAA;IAC5B,cAAc,EAAE,MAAM,EAAE,CAAA;IACxB,UAAU,EAAE,OAAO,CAAA;IACnB,OAAO,EAAE,MAAM,CAAA;IACf,eAAe,EAAE,OAAO,CAAA;IACxB,qBAAqB,EAAE,MAAM,CAAA;IAC7B,+EAA+E;IAC/E,mBAAmB,EAAE,MAAM,EAAE,CAAA;IAC7B,sEAAsE;IACtE,aAAa,EAAE,OAAO,CAAA;IACtB,qEAAqE;IACrE,gBAAgB,EAAE,OAAO,CAAA;CAC1B;AAED,MAAM,WAAW,yBAAyB;IACxC,yBAAyB;IACzB,SAAS,EAAE,MAAM,CAAA;IACjB,qBAAqB;IACrB,OAAO,EAAE,MAAM,GAAG,IAAI,CAAA;IACtB,2EAA2E;IAC3E,UAAU,EAAE,MAAM,GAAG,IAAI,CAAA;IACzB,2CAA2C;IAC3C,QAAQ,EAAE,MAAM,CAAA;IAChB,2EAA2E;IAC3E,OAAO,EAAE,MAAM,GAAG,IAAI,CAAA;IACtB,kCAAkC;IAClC,MAAM,EAAE,MAAM,CAAA;IACd,oBAAoB;IACpB,YAAY,EAAE,MAAM,CAAA;IACpB,yCAAyC;IACzC,SAAS,EAAE,OAAO,CAAA;IAClB,oCAAoC;IACpC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAA;IACpB,2BAA2B;IAC3B,QAAQ,EAAE,aAAa,GAAG,IAAI,CAAA;IAC9B,+CAA+C;IAC/C,WAAW,EAAE,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,KAAK,MAAM,CAAA;IAC/C,yDAAyD;IACzD,UAAU,EAAE,CAAC,IAAI,EAAE,IAAI,GAAG,MAAM,EAAE,OAAO,CAAC,EAAE,IAAI,CAAC,qBAAqB,KAAK,MAAM,CAAA;IACjF,mCAAmC;IACnC,OAAO,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAA;CAC7B;AAED,MAAM,WAAW,0BAA0B;IACzC,QAAQ,EAAE,SAAS,CAAA;IACnB,0CAA0C;IAC1C,eAAe,CAAC,EAAE,OAAO,CAAC,aAAa,CAAC,CAAA;IACxC,kDAAkD;IAClD,QAAQ,CAAC,EAAE;QACT,SAAS,CAAC,EAAE,MAAM,CAAA;QAClB,QAAQ,CAAC,EAAE,MAAM,CAAA;QACjB,MAAM,CAAC,EAAE,MAAM,CAAA;QACf,YAAY,CAAC,EAAE,MAAM,CAAA;KACtB,CAAA;CACF;
|
|
1
|
+
{"version":3,"file":"StoreSettingsProvider.d.ts","sourceRoot":"","sources":["../../src/core/StoreSettingsProvider.tsx"],"names":[],"mappings":"AAEA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AAEH,OAAO,EAOL,KAAK,SAAS,EACf,MAAM,OAAO,CAAA;AAMd,MAAM,WAAW,aAAa;IAC5B,SAAS,EAAE,MAAM,CAAA;IACjB,UAAU,EAAE,MAAM,CAAA;IAClB,OAAO,EAAE,MAAM,GAAG,IAAI,CAAA;IACtB,sEAAsE;IACtE,UAAU,EAAE,MAAM,GAAG,IAAI,CAAA;IACzB,aAAa,EAAE,MAAM,CAAA;IACrB,aAAa,EAAE,MAAM,CAAA;IACrB,2FAA2F;IAC3F,YAAY,EAAE,MAAM,GAAG,IAAI,CAAA;IAC3B,aAAa,EAAE,MAAM,GAAG,IAAI,CAAA;IAC5B,cAAc,EAAE,MAAM,EAAE,CAAA;IACxB,UAAU,EAAE,OAAO,CAAA;IACnB,OAAO,EAAE,MAAM,CAAA;IACf,eAAe,EAAE,OAAO,CAAA;IACxB,qBAAqB,EAAE,MAAM,CAAA;IAC7B,+EAA+E;IAC/E,mBAAmB,EAAE,MAAM,EAAE,CAAA;IAC7B,sEAAsE;IACtE,aAAa,EAAE,OAAO,CAAA;IACtB,qEAAqE;IACrE,gBAAgB,EAAE,OAAO,CAAA;CAC1B;AAED,MAAM,WAAW,yBAAyB;IACxC,yBAAyB;IACzB,SAAS,EAAE,MAAM,CAAA;IACjB,qBAAqB;IACrB,OAAO,EAAE,MAAM,GAAG,IAAI,CAAA;IACtB,2EAA2E;IAC3E,UAAU,EAAE,MAAM,GAAG,IAAI,CAAA;IACzB,2CAA2C;IAC3C,QAAQ,EAAE,MAAM,CAAA;IAChB,2EAA2E;IAC3E,OAAO,EAAE,MAAM,GAAG,IAAI,CAAA;IACtB,kCAAkC;IAClC,MAAM,EAAE,MAAM,CAAA;IACd,oBAAoB;IACpB,YAAY,EAAE,MAAM,CAAA;IACpB,yCAAyC;IACzC,SAAS,EAAE,OAAO,CAAA;IAClB,oCAAoC;IACpC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAA;IACpB,2BAA2B;IAC3B,QAAQ,EAAE,aAAa,GAAG,IAAI,CAAA;IAC9B,+CAA+C;IAC/C,WAAW,EAAE,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,KAAK,MAAM,CAAA;IAC/C,yDAAyD;IACzD,UAAU,EAAE,CAAC,IAAI,EAAE,IAAI,GAAG,MAAM,EAAE,OAAO,CAAC,EAAE,IAAI,CAAC,qBAAqB,KAAK,MAAM,CAAA;IACjF,mCAAmC;IACnC,OAAO,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAA;CAC7B;AAED,MAAM,WAAW,0BAA0B;IACzC,QAAQ,EAAE,SAAS,CAAA;IACnB,0CAA0C;IAC1C,eAAe,CAAC,EAAE,OAAO,CAAC,aAAa,CAAC,CAAA;IACxC,kDAAkD;IAClD,QAAQ,CAAC,EAAE;QACT,SAAS,CAAC,EAAE,MAAM,CAAA;QAClB,QAAQ,CAAC,EAAE,MAAM,CAAA;QACjB,MAAM,CAAC,EAAE,MAAM,CAAA;QACf,YAAY,CAAC,EAAE,MAAM,CAAA;KACtB,CAAA;CACF;AA+DD,wBAAgB,qBAAqB,CAAC,EACpC,QAAQ,EACR,eAAe,EACf,QAAQ,GACT,EAAE,0BAA0B,2CAoI5B;AAMD;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,gBAAgB,IAAI,yBAAyB,CAW5D;AAED;;;GAGG;AACH,wBAAgB,wBAAwB,IAAI,yBAAyB,GAAG,IAAI,CAE3E"}
|
|
@@ -42,7 +42,7 @@ const DEFAULT_SETTINGS = {
|
|
|
42
42
|
logoUrl: null,
|
|
43
43
|
faviconUrl: null,
|
|
44
44
|
storeCurrency: 'USD',
|
|
45
|
-
storeTimezone: '
|
|
45
|
+
storeTimezone: 'UTC', // matches the seed's last-resort rule — never leak a US default
|
|
46
46
|
storeCountry: null,
|
|
47
47
|
defaultLocale: null,
|
|
48
48
|
enabledLocales: [],
|
|
@@ -67,6 +67,18 @@ const CURRENCY_LOCALES = {
|
|
|
67
67
|
AED: 'en-AE',
|
|
68
68
|
INR: 'en-IN', // lakh/crore grouping
|
|
69
69
|
CNY: 'en-US', // English formatting for CNY (renders as CN¥)
|
|
70
|
+
// Full coverage of the admin currency select (PaymentSettings) — an
|
|
71
|
+
// unmapped code silently fell back to en-US; harmless but inconsistent.
|
|
72
|
+
CHF: 'en-CH',
|
|
73
|
+
MXN: 'en-US',
|
|
74
|
+
BRL: 'en-US',
|
|
75
|
+
SGD: 'en-SG',
|
|
76
|
+
HKD: 'en-HK',
|
|
77
|
+
NZD: 'en-NZ',
|
|
78
|
+
SEK: 'en-US',
|
|
79
|
+
NOK: 'en-US',
|
|
80
|
+
DKK: 'en-US',
|
|
81
|
+
KRW: 'en-US',
|
|
70
82
|
};
|
|
71
83
|
// =============================================================================
|
|
72
84
|
// Context
|
|
@@ -134,17 +146,18 @@ export function StoreSettingsProvider({ children, initialSettings, fallback, })
|
|
|
134
146
|
const formatPrice = useCallback((price) => {
|
|
135
147
|
const currency = settings?.storeCurrency || fallback?.currency || 'USD';
|
|
136
148
|
const locale = CURRENCY_LOCALES[currency] || fallback?.locale || DEFAULT_LOCALE;
|
|
137
|
-
//
|
|
138
|
-
|
|
139
|
-
//
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
149
|
+
// MONEY CONTRACT: input is DECIMAL CURRENCY UNITS (matches the
|
|
150
|
+
// decimal(10,2) columns and every server serialization) — never cents.
|
|
151
|
+
// The old ">100 whole integer means cents, divide by 100" heuristic
|
|
152
|
+
// rendered any whole-unit amount over 100 at 1% of its value
|
|
153
|
+
// (a 150.00 order total showed as 1.50) and destroyed zero-decimal
|
|
154
|
+
// currencies (JPY 5000 -> 50). Callers with cents divide BEFORE calling.
|
|
155
|
+
const numPrice = typeof price === 'string' ? parseFloat(price) : price;
|
|
156
|
+
// No fraction-digit overrides: Intl knows each currency's native
|
|
157
|
+
// digits (EUR=2, JPY=0) — forcing 2 rendered "¥5,000.00".
|
|
143
158
|
return new Intl.NumberFormat(locale, {
|
|
144
159
|
style: 'currency',
|
|
145
160
|
currency,
|
|
146
|
-
minimumFractionDigits: 2,
|
|
147
|
-
maximumFractionDigits: 2,
|
|
148
161
|
}).format(numPrice);
|
|
149
162
|
}, [settings?.storeCurrency, fallback?.currency, fallback?.locale]);
|
|
150
163
|
// Memoized formatDate function with timezone support
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"StoreSettingsProvider.js","sourceRoot":"","sources":["../../src/core/StoreSettingsProvider.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAA;;AAEZ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AAEH,OAAO,EACL,aAAa,EACb,UAAU,EACV,QAAQ,EACR,SAAS,EACT,WAAW,EACX,OAAO,GAER,MAAM,OAAO,CAAA;AAwEd,gFAAgF;AAChF,WAAW;AACX,gFAAgF;AAEhF,MAAM,gBAAgB,GAAkB;IACtC,SAAS,EAAE,OAAO;IAClB,UAAU,EAAE,EAAE;IACd,OAAO,EAAE,IAAI;IACb,UAAU,EAAE,IAAI;IAChB,aAAa,EAAE,KAAK;IACpB,aAAa,EAAE,
|
|
1
|
+
{"version":3,"file":"StoreSettingsProvider.js","sourceRoot":"","sources":["../../src/core/StoreSettingsProvider.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"settings.d.ts","sourceRoot":"","sources":["../../../src/core/api/settings.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AAO1C,UAAU,sBAAsB;IAC9B,QAAQ,EAAE;QACR,SAAS,EAAE,MAAM,GAAG,IAAI,CAAA;QACxB,UAAU,EAAE,MAAM,GAAG,IAAI,CAAA;QACzB,OAAO,EAAE,MAAM,GAAG,IAAI,CAAA;QACtB,UAAU,EAAE,MAAM,GAAG,IAAI,CAAA;QACzB,aAAa,EAAE,MAAM,GAAG,IAAI,CAAA;QAC5B,aAAa,EAAE,MAAM,GAAG,IAAI,CAAA;QAC5B,YAAY,EAAE,MAAM,GAAG,IAAI,CAAA;QAC3B,aAAa,EAAE,MAAM,GAAG,IAAI,CAAA;QAC5B,cAAc,EAAE,MAAM,EAAE,CAAA;QACxB,mBAAmB,EAAE,OAAO,GAAG,IAAI,CAAA;QACnC,eAAe,EAAE,OAAO,GAAG,IAAI,CAAA;QAC/B,qBAAqB,EAAE,MAAM,GAAG,IAAI,CAAA;QACpC,mBAAmB,EAAE,MAAM,EAAE,CAAA;QAC7B,aAAa,EAAE,OAAO,CAAA;QACtB,gBAAgB,EAAE,OAAO,CAAA;KAC1B,CAAA;CACF;AAED,UAAU,aAAa;IACrB,KAAK,EAAE,MAAM,CAAA;IACb,IAAI,EAAE,MAAM,CAAA;CACb;
|
|
1
|
+
{"version":3,"file":"settings.d.ts","sourceRoot":"","sources":["../../../src/core/api/settings.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AAO1C,UAAU,sBAAsB;IAC9B,QAAQ,EAAE;QACR,SAAS,EAAE,MAAM,GAAG,IAAI,CAAA;QACxB,UAAU,EAAE,MAAM,GAAG,IAAI,CAAA;QACzB,OAAO,EAAE,MAAM,GAAG,IAAI,CAAA;QACtB,UAAU,EAAE,MAAM,GAAG,IAAI,CAAA;QACzB,aAAa,EAAE,MAAM,GAAG,IAAI,CAAA;QAC5B,aAAa,EAAE,MAAM,GAAG,IAAI,CAAA;QAC5B,YAAY,EAAE,MAAM,GAAG,IAAI,CAAA;QAC3B,aAAa,EAAE,MAAM,GAAG,IAAI,CAAA;QAC5B,cAAc,EAAE,MAAM,EAAE,CAAA;QACxB,mBAAmB,EAAE,OAAO,GAAG,IAAI,CAAA;QACnC,eAAe,EAAE,OAAO,GAAG,IAAI,CAAA;QAC/B,qBAAqB,EAAE,MAAM,GAAG,IAAI,CAAA;QACpC,mBAAmB,EAAE,MAAM,EAAE,CAAA;QAC7B,aAAa,EAAE,OAAO,CAAA;QACtB,gBAAgB,EAAE,OAAO,CAAA;KAC1B,CAAA;CACF;AAED,UAAU,aAAa;IACrB,KAAK,EAAE,MAAM,CAAA;IACb,IAAI,EAAE,MAAM,CAAA;CACb;AA8BD;;;;;GAKG;AACH,wBAAsB,iBAAiB,IAAI,OAAO,CAAC,YAAY,CAAC,sBAAsB,GAAG,aAAa,CAAC,CAAC,CAyCvG"}
|
|
@@ -25,8 +25,10 @@ const DEFAULT_SETTINGS = {
|
|
|
25
25
|
logoUrl: process.env.NEXT_PUBLIC_STORE_LOGO_URL || process.env.STORE_LOGO_URL || null,
|
|
26
26
|
faviconUrl: process.env.NEXT_PUBLIC_STORE_FAVICON_URL || null,
|
|
27
27
|
storeCurrency: process.env.STORE_CURRENCY || 'USD',
|
|
28
|
-
|
|
29
|
-
|
|
28
|
+
// 'UTC' matches the seed's own last-resort rule — never leak a US
|
|
29
|
+
// default. (The old STORE_TIMEZONE env read was dead: no writer exists.)
|
|
30
|
+
storeTimezone: 'UTC',
|
|
31
|
+
storeCountry: null, // DB-only field (the old STORE_COUNTRY env read was dead)
|
|
30
32
|
defaultLocale: null,
|
|
31
33
|
enabledLocales: [],
|
|
32
34
|
taxIncludedInPrices: true, // Default: prices include tax
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"settings.js","sourceRoot":"","sources":["../../../src/core/api/settings.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AAC1C,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAA;AA+B5C,gFAAgF;AAChF,mBAAmB;AACnB,gFAAgF;AAEhF,MAAM,gBAAgB,GAAG;IACvB,SAAS,EAAE,OAAO,CAAC,GAAG,CAAC,UAAU,IAAI,OAAO;IAC5C,UAAU,EAAE,OAAO,CAAC,GAAG,CAAC,aAAa,IAAI,OAAO,CAAC,GAAG,CAAC,iBAAiB,IAAI,EAAE;IAC5E,OAAO,EAAE,OAAO,CAAC,GAAG,CAAC,0BAA0B,IAAI,OAAO,CAAC,GAAG,CAAC,cAAc,IAAI,IAAI;IACrF,UAAU,EAAE,OAAO,CAAC,GAAG,CAAC,6BAA6B,IAAI,IAAI;IAC7D,aAAa,EAAE,OAAO,CAAC,GAAG,CAAC,cAAc,IAAI,KAAK;IAClD,aAAa,EAAE,
|
|
1
|
+
{"version":3,"file":"settings.js","sourceRoot":"","sources":["../../../src/core/api/settings.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CookieBanner.d.ts","sourceRoot":"","sources":["../../../src/core/cookie-consent/CookieBanner.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"CookieBanner.d.ts","sourceRoot":"","sources":["../../../src/core/cookie-consent/CookieBanner.tsx"],"names":[],"mappings":"AAqIA,wBAAgB,YAAY,mDAwN3B"}
|