@rovela-ai/sdk 0.19.0 → 0.19.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/components/AdminLayout.d.ts +9 -2
- package/dist/admin/components/AdminLayout.d.ts.map +1 -1
- package/dist/admin/components/AdminLayout.js +40 -2
- package/dist/admin/components/AdminLayout.js.map +1 -1
- package/dist/admin/components/AdminModal.d.ts +2 -1
- package/dist/admin/components/AdminModal.d.ts.map +1 -1
- package/dist/admin/components/AdminModal.js +3 -19
- package/dist/admin/components/AdminModal.js.map +1 -1
- package/dist/admin/components/AdminNav.d.ts +5 -1
- package/dist/admin/components/AdminNav.d.ts.map +1 -1
- package/dist/admin/components/AdminNav.js +10 -5
- package/dist/admin/components/AdminNav.js.map +1 -1
- package/dist/admin/components/AdminTopBar.d.ts +3 -1
- package/dist/admin/components/AdminTopBar.d.ts.map +1 -1
- package/dist/admin/components/AdminTopBar.js +3 -3
- package/dist/admin/components/AdminTopBar.js.map +1 -1
- package/dist/admin/components/CustomerTable.d.ts.map +1 -1
- package/dist/admin/components/CustomerTable.js +11 -11
- package/dist/admin/components/CustomerTable.js.map +1 -1
- package/dist/admin/components/OrderTable.js +3 -3
- package/dist/admin/components/OrderTable.js.map +1 -1
- package/dist/admin/components/ProductTable.js +4 -4
- package/dist/admin/components/ProductTable.js.map +1 -1
- package/dist/admin/components/ShippingSettings.js +2 -2
- package/dist/admin/components/ShippingSettings.js.map +1 -1
- package/dist/admin/components/UsersTable.d.ts.map +1 -1
- package/dist/admin/components/UsersTable.js +18 -18
- package/dist/admin/components/UsersTable.js.map +1 -1
- package/dist/admin/components/scroll-lock.d.ts +11 -0
- package/dist/admin/components/scroll-lock.d.ts.map +1 -0
- package/dist/admin/components/scroll-lock.js +24 -0
- package/dist/admin/components/scroll-lock.js.map +1 -0
- package/dist/admin/styles/admin-theme.css +329 -0
- package/package.json +1 -1
|
@@ -3,11 +3,18 @@
|
|
|
3
3
|
*
|
|
4
4
|
* Admin dashboard layout with sidebar navigation.
|
|
5
5
|
* Applies the Rovela admin theme for consistent branding.
|
|
6
|
-
* User menu is rendered in the
|
|
6
|
+
* User menu is rendered in the top bar via AdminTopBar.
|
|
7
|
+
*
|
|
8
|
+
* Mobile (<768px): the sidebar becomes an overlay DRAWER — opened by the
|
|
9
|
+
* top-bar hamburger, closed by the scrim, the X, Escape, navigating, or
|
|
10
|
+
* resizing past the breakpoint. The layout owns the open state (no context
|
|
11
|
+
* needed — TopBar and Nav are its direct children) and locks body scroll
|
|
12
|
+
* through the shared counter while the drawer is open, mirroring the
|
|
13
|
+
* platform sidebar's drawer behavior with pure CSS animation.
|
|
7
14
|
*/
|
|
15
|
+
import { type ReactNode } from 'react';
|
|
8
16
|
import { type NavItem } from './AdminNav';
|
|
9
17
|
import type { AdminLayoutProps } from '../types';
|
|
10
|
-
import type { ReactNode } from 'react';
|
|
11
18
|
import '../styles/admin-theme.css';
|
|
12
19
|
interface ExtendedAdminLayoutProps extends AdminLayoutProps {
|
|
13
20
|
/** Store name for sidebar */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AdminLayout.d.ts","sourceRoot":"","sources":["../../../src/admin/components/AdminLayout.tsx"],"names":[],"mappings":"AAEA
|
|
1
|
+
{"version":3,"file":"AdminLayout.d.ts","sourceRoot":"","sources":["../../../src/admin/components/AdminLayout.tsx"],"names":[],"mappings":"AAEA;;;;;;;;;;;;;GAaG;AAEH,OAAO,EAAuB,KAAK,SAAS,EAAE,MAAM,OAAO,CAAA;AAC3D,OAAO,EAAY,KAAK,OAAO,EAAE,MAAM,YAAY,CAAA;AAInD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAA;AAQhD,OAAO,2BAA2B,CAAA;AAMlC,UAAU,wBAAyB,SAAQ,gBAAgB;IACzD,6BAA6B;IAC7B,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,sCAAsC;IACtC,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,8BAA8B;IAC9B,QAAQ,CAAC,EAAE,OAAO,EAAE,CAAA;IACpB,+BAA+B;IAC/B,IAAI,CAAC,EAAE,SAAS,CAAA;CACjB;AAUD;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,WAAW,CAAC,EAC1B,QAAQ,EACR,SAAS,EACT,SAAmB,EACnB,QAAc,EACd,QAAQ,EACR,IAAI,EACJ,SAAc,GACf,EAAE,wBAAwB,2CA6E1B"}
|
|
@@ -5,17 +5,29 @@ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
|
5
5
|
*
|
|
6
6
|
* Admin dashboard layout with sidebar navigation.
|
|
7
7
|
* Applies the Rovela admin theme for consistent branding.
|
|
8
|
-
* User menu is rendered in the
|
|
8
|
+
* User menu is rendered in the top bar via AdminTopBar.
|
|
9
|
+
*
|
|
10
|
+
* Mobile (<768px): the sidebar becomes an overlay DRAWER — opened by the
|
|
11
|
+
* top-bar hamburger, closed by the scrim, the X, Escape, navigating, or
|
|
12
|
+
* resizing past the breakpoint. The layout owns the open state (no context
|
|
13
|
+
* needed — TopBar and Nav are its direct children) and locks body scroll
|
|
14
|
+
* through the shared counter while the drawer is open, mirroring the
|
|
15
|
+
* platform sidebar's drawer behavior with pure CSS animation.
|
|
9
16
|
*/
|
|
17
|
+
import { useEffect, useState } from 'react';
|
|
10
18
|
import { AdminNav } from './AdminNav';
|
|
11
19
|
import { AdminTopBar } from './AdminTopBar';
|
|
12
20
|
import { AdminToaster } from './AdminToaster';
|
|
21
|
+
import { lockBodyScroll, unlockBodyScroll } from './scroll-lock';
|
|
13
22
|
// `ExampleContentBanner` (R107) was retired in favor of the SetupGuide,
|
|
14
23
|
// which subsumes the "review your example content" nudge into its
|
|
15
24
|
// "Add or edit your first product" task. The banner component is still
|
|
16
25
|
// exported for any custom store that imported it directly.
|
|
17
26
|
// Import Rovela admin theme CSS
|
|
18
27
|
import '../styles/admin-theme.css';
|
|
28
|
+
// The shell pivot — keep in lockstep with the `@media (max-width: 767px)`
|
|
29
|
+
// mobile rules in admin-theme.css.
|
|
30
|
+
const MOBILE_BREAKPOINT = 768;
|
|
19
31
|
// =============================================================================
|
|
20
32
|
// Component
|
|
21
33
|
// =============================================================================
|
|
@@ -36,6 +48,32 @@ import '../styles/admin-theme.css';
|
|
|
36
48
|
* ```
|
|
37
49
|
*/
|
|
38
50
|
export function AdminLayout({ children, activeNav, storeName = 'Admin', storeUrl = '/', navItems, logo, className = '', }) {
|
|
39
|
-
|
|
51
|
+
// Mobile drawer state. Desktop sidebar is always visible (CSS ignores this).
|
|
52
|
+
const [mobileNavOpen, setMobileNavOpen] = useState(false);
|
|
53
|
+
// While the drawer is open: Escape closes it, body scroll locks (shared
|
|
54
|
+
// counter — safe under a modal opened from the drawer), and growing the
|
|
55
|
+
// viewport past the breakpoint resets it so stale state can't reappear
|
|
56
|
+
// on the next shrink.
|
|
57
|
+
useEffect(() => {
|
|
58
|
+
if (!mobileNavOpen)
|
|
59
|
+
return;
|
|
60
|
+
const onKeyDown = (e) => {
|
|
61
|
+
if (e.key === 'Escape')
|
|
62
|
+
setMobileNavOpen(false);
|
|
63
|
+
};
|
|
64
|
+
const onResize = () => {
|
|
65
|
+
if (window.innerWidth >= MOBILE_BREAKPOINT)
|
|
66
|
+
setMobileNavOpen(false);
|
|
67
|
+
};
|
|
68
|
+
document.addEventListener('keydown', onKeyDown);
|
|
69
|
+
window.addEventListener('resize', onResize);
|
|
70
|
+
lockBodyScroll();
|
|
71
|
+
return () => {
|
|
72
|
+
document.removeEventListener('keydown', onKeyDown);
|
|
73
|
+
window.removeEventListener('resize', onResize);
|
|
74
|
+
unlockBodyScroll();
|
|
75
|
+
};
|
|
76
|
+
}, [mobileNavOpen]);
|
|
77
|
+
return (_jsxs("div", { className: `rovela-admin-theme ${className}`, children: [_jsxs("div", { className: "admin-shell", children: [_jsx(AdminTopBar, { storeName: storeName, logo: logo, storeUrl: storeUrl, onMenuClick: () => setMobileNavOpen(true) }), _jsxs("div", { className: "admin-shell-body", children: [_jsx("div", { className: "admin-nav-backdrop", "data-open": mobileNavOpen ? 'true' : 'false', onClick: () => setMobileNavOpen(false), "aria-hidden": "true" }), _jsx(AdminNav, { activeNav: activeNav, items: navItems, mobileOpen: mobileNavOpen, onMobileClose: () => setMobileNavOpen(false) }), _jsx("div", { className: "admin-layout-main", children: _jsx("main", { className: "admin-layout-content", children: children }) })] })] }), _jsx(AdminToaster, {})] }));
|
|
40
78
|
}
|
|
41
79
|
//# sourceMappingURL=AdminLayout.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AdminLayout.js","sourceRoot":"","sources":["../../../src/admin/components/AdminLayout.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAA;;AAEZ
|
|
1
|
+
{"version":3,"file":"AdminLayout.js","sourceRoot":"","sources":["../../../src/admin/components/AdminLayout.tsx"],"names":[],"mappings":"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"}
|
|
@@ -9,7 +9,8 @@
|
|
|
9
9
|
* - the one blurred backdrop (`admin-modal-backdrop`)
|
|
10
10
|
* - Escape closes, click-outside closes — both inert while `busy`
|
|
11
11
|
* (an in-flight submit must never be dismissed out from under itself)
|
|
12
|
-
* - body scroll lock (counter-
|
|
12
|
+
* - body scroll lock (the shared counter in ./scroll-lock — safe when
|
|
13
|
+
* stacked with the mobile nav drawer or another modal)
|
|
13
14
|
* - focus moves into the card on open, Tab wraps inside it, and focus
|
|
14
15
|
* returns to the opener on close
|
|
15
16
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AdminModal.d.ts","sourceRoot":"","sources":["../../../src/admin/components/AdminModal.tsx"],"names":[],"mappings":"AAEA
|
|
1
|
+
{"version":3,"file":"AdminModal.d.ts","sourceRoot":"","sources":["../../../src/admin/components/AdminModal.tsx"],"names":[],"mappings":"AAEA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AAEH,OAAO,EAA+B,KAAK,SAAS,EAAE,MAAM,OAAO,CAAA;AASnE,MAAM,WAAW,eAAe;IAC9B,mCAAmC;IACnC,IAAI,EAAE,OAAO,CAAA;IACb,2EAA2E;IAC3E,OAAO,EAAE,MAAM,IAAI,CAAA;IACnB,oDAAoD;IACpD,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,iCAAiC;IACjC,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,6DAA6D;IAC7D,IAAI,CAAC,EAAE,SAAS,CAAA;IAChB,6EAA6E;IAC7E,QAAQ,CAAC,EAAE,OAAO,GAAG,SAAS,GAAG,SAAS,GAAG,MAAM,CAAA;IACnD,2EAA2E;IAC3E,KAAK,CAAC,EAAE,IAAI,GAAG,IAAI,GAAG,IAAI,CAAA;IAC1B,4EAA4E;IAC5E,IAAI,CAAC,EAAE,OAAO,CAAA;IACd,wEAAwE;IACxE,SAAS,CAAC,EAAE,OAAO,CAAA;IACnB,oDAAoD;IACpD,MAAM,CAAC,EAAE,SAAS,CAAA;IAClB,sCAAsC;IACtC,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,QAAQ,CAAC,EAAE,SAAS,CAAA;CACrB;AAYD,wBAAgB,UAAU,CAAC,EACzB,IAAI,EACJ,OAAO,EACP,KAAK,EACL,WAAW,EACX,IAAI,EACJ,QAAkB,EAClB,KAAY,EACZ,IAAY,EACZ,SAAiB,EACjB,MAAM,EACN,SAAc,EACd,QAAQ,GACT,EAAE,eAAe,sCA0HjB"}
|
|
@@ -11,7 +11,8 @@ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
|
11
11
|
* - the one blurred backdrop (`admin-modal-backdrop`)
|
|
12
12
|
* - Escape closes, click-outside closes — both inert while `busy`
|
|
13
13
|
* (an in-flight submit must never be dismissed out from under itself)
|
|
14
|
-
* - body scroll lock (counter-
|
|
14
|
+
* - body scroll lock (the shared counter in ./scroll-lock — safe when
|
|
15
|
+
* stacked with the mobile nav drawer or another modal)
|
|
15
16
|
* - focus moves into the card on open, Tab wraps inside it, and focus
|
|
16
17
|
* returns to the opener on close
|
|
17
18
|
*
|
|
@@ -26,24 +27,7 @@ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
|
26
27
|
import { useEffect, useRef, useState } from 'react';
|
|
27
28
|
import { createPortal } from 'react-dom';
|
|
28
29
|
import { X } from 'lucide-react';
|
|
29
|
-
|
|
30
|
-
// Body scroll lock — counter-based so stacked modals can't unlock early
|
|
31
|
-
// =============================================================================
|
|
32
|
-
let scrollLockCount = 0;
|
|
33
|
-
let previousOverflow = '';
|
|
34
|
-
function lockBodyScroll() {
|
|
35
|
-
if (scrollLockCount === 0) {
|
|
36
|
-
previousOverflow = document.body.style.overflow;
|
|
37
|
-
document.body.style.overflow = 'hidden';
|
|
38
|
-
}
|
|
39
|
-
scrollLockCount++;
|
|
40
|
-
}
|
|
41
|
-
function unlockBodyScroll() {
|
|
42
|
-
scrollLockCount = Math.max(0, scrollLockCount - 1);
|
|
43
|
-
if (scrollLockCount === 0) {
|
|
44
|
-
document.body.style.overflow = previousOverflow;
|
|
45
|
-
}
|
|
46
|
-
}
|
|
30
|
+
import { lockBodyScroll, unlockBodyScroll } from './scroll-lock';
|
|
47
31
|
// =============================================================================
|
|
48
32
|
// Component
|
|
49
33
|
// =============================================================================
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AdminModal.js","sourceRoot":"","sources":["../../../src/admin/components/AdminModal.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAA;;AAEZ
|
|
1
|
+
{"version":3,"file":"AdminModal.js","sourceRoot":"","sources":["../../../src/admin/components/AdminModal.tsx"],"names":[],"mappings":"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"}
|
|
@@ -37,6 +37,10 @@ export interface AdminNavProps {
|
|
|
37
37
|
logo?: ReactNode;
|
|
38
38
|
/** @deprecated The View-store link moved to AdminTopBar — accepted for back-compat, unused. */
|
|
39
39
|
storeUrl?: string;
|
|
40
|
+
/** Mobile drawer open state (<768px the sidebar becomes an overlay drawer). */
|
|
41
|
+
mobileOpen?: boolean;
|
|
42
|
+
/** Close the mobile drawer (X button, link navigation). */
|
|
43
|
+
onMobileClose?: () => void;
|
|
40
44
|
/** Custom className */
|
|
41
45
|
className?: string;
|
|
42
46
|
}
|
|
@@ -48,5 +52,5 @@ export interface AdminNavProps {
|
|
|
48
52
|
* <AdminNav activeNav="dashboard" />
|
|
49
53
|
* ```
|
|
50
54
|
*/
|
|
51
|
-
export declare function AdminNav({ activeNav, items, className, }: AdminNavProps): import("react/jsx-runtime").JSX.Element;
|
|
55
|
+
export declare function AdminNav({ activeNav, items, mobileOpen, onMobileClose, className, }: AdminNavProps): import("react/jsx-runtime").JSX.Element;
|
|
52
56
|
//# sourceMappingURL=AdminNav.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AdminNav.d.ts","sourceRoot":"","sources":["../../../src/admin/components/AdminNav.tsx"],"names":[],"mappings":"AAEA;;;;;;;;;;;;;;;;GAgBG;AAEH,OAAc,EAA+B,KAAK,SAAS,EAAE,MAAM,OAAO,CAAA;
|
|
1
|
+
{"version":3,"file":"AdminNav.d.ts","sourceRoot":"","sources":["../../../src/admin/components/AdminNav.tsx"],"names":[],"mappings":"AAEA;;;;;;;;;;;;;;;;GAgBG;AAEH,OAAc,EAA+B,KAAK,SAAS,EAAE,MAAM,OAAO,CAAA;AAY1E,MAAM,WAAW,OAAO;IACtB,EAAE,EAAE,MAAM,CAAA;IACV,KAAK,EAAE,MAAM,CAAA;IACb,IAAI,EAAE,MAAM,CAAA;IACZ,IAAI,CAAC,EAAE,SAAS,CAAA;CACjB;AAED,MAAM,WAAW,QAAQ;IACvB,KAAK,EAAE,MAAM,CAAA;IACb,KAAK,EAAE,OAAO,EAAE,CAAA;CACjB;AAED,MAAM,WAAW,aAAa;IAC5B,mCAAmC;IACnC,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,wDAAwD;IACxD,KAAK,CAAC,EAAE,OAAO,EAAE,CAAA;IACjB,oFAAoF;IACpF,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,oFAAoF;IACpF,IAAI,CAAC,EAAE,SAAS,CAAA;IAChB,+FAA+F;IAC/F,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,+EAA+E;IAC/E,UAAU,CAAC,EAAE,OAAO,CAAA;IACpB,2DAA2D;IAC3D,aAAa,CAAC,EAAE,MAAM,IAAI,CAAA;IAC1B,uBAAuB;IACvB,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB;AAyJD;;;;;;;GAOG;AACH,wBAAgB,QAAQ,CAAC,EACvB,SAAS,EACT,KAAK,EACL,UAAkB,EAClB,aAAa,EACb,SAAc,GACf,EAAE,aAAa,2CAwJf"}
|
|
@@ -20,7 +20,9 @@ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
|
20
20
|
import React, { useEffect, useRef, useState } from 'react';
|
|
21
21
|
import Link from 'next/link';
|
|
22
22
|
import { usePathname } from 'next/navigation';
|
|
23
|
-
import { LayoutDashboard, Package, FolderOpen, ClipboardList, Users, UserCog, Settings, Truck, CreditCard, Tag, Receipt, BarChart3, MapPin, Mail, Image as ImageGlyph } from 'lucide-react';
|
|
23
|
+
import { LayoutDashboard, Package, FolderOpen, ClipboardList, Users, UserCog, Settings, Truck, CreditCard, Tag, Receipt, BarChart3, MapPin, Mail, X, Image as ImageGlyph } from 'lucide-react';
|
|
24
|
+
import { useStoreSettingsOptional } from '../../core';
|
|
25
|
+
import { AdminBrandTile } from './AdminBrandTile';
|
|
24
26
|
import { useAdminAuth } from '../hooks/useAdminAuth';
|
|
25
27
|
// =============================================================================
|
|
26
28
|
// Default Navigation Groups
|
|
@@ -117,9 +119,9 @@ const iconMap = {
|
|
|
117
119
|
// =============================================================================
|
|
118
120
|
// Nav Item Component
|
|
119
121
|
// =============================================================================
|
|
120
|
-
function NavItemButton({ item, isActive, }) {
|
|
122
|
+
function NavItemButton({ item, isActive, onNavigate, }) {
|
|
121
123
|
const Icon = item.icon || iconMap[item.id];
|
|
122
|
-
return (_jsxs(Link, { href: item.href, className: `admin-sidebar-item ${isActive ? 'active' : ''}`, children: [_jsx("span", { className: "admin-sidebar-item-icon", children: Icon && (React.isValidElement(Icon)
|
|
124
|
+
return (_jsxs(Link, { href: item.href, onClick: onNavigate, className: `admin-sidebar-item ${isActive ? 'active' : ''}`, children: [_jsx("span", { className: "admin-sidebar-item-icon", children: Icon && (React.isValidElement(Icon)
|
|
123
125
|
? Icon
|
|
124
126
|
: React.createElement(Icon, { className: 'admin-sidebar-item-svg' })) }), _jsx("span", { className: "admin-sidebar-item-label", children: item.label })] }));
|
|
125
127
|
}
|
|
@@ -134,7 +136,10 @@ function NavItemButton({ item, isActive, }) {
|
|
|
134
136
|
* <AdminNav activeNav="dashboard" />
|
|
135
137
|
* ```
|
|
136
138
|
*/
|
|
137
|
-
export function AdminNav({ activeNav, items, className = '', }) {
|
|
139
|
+
export function AdminNav({ activeNav, items, mobileOpen = false, onMobileClose, className = '', }) {
|
|
140
|
+
// Drawer-head identity (mobile only — desktop identity lives in AdminTopBar)
|
|
141
|
+
const storeSettings = useStoreSettingsOptional();
|
|
142
|
+
const drawerStoreName = storeSettings?.storeName || 'Admin';
|
|
138
143
|
// Get the current admin's role for nav filtering. Safe to call even when
|
|
139
144
|
// AdminNav is mounted outside a SessionProvider — useAdminAuth defends
|
|
140
145
|
// against that and returns `{ admin: null }`.
|
|
@@ -208,6 +213,6 @@ export function AdminNav({ activeNav, items, className = '', }) {
|
|
|
208
213
|
window.removeEventListener('resize', sync);
|
|
209
214
|
};
|
|
210
215
|
}, [items, admin?.role]);
|
|
211
|
-
return (_jsxs("nav", { className: `admin-sidebar admin-sidebar-slim ${className}`, children: [_jsxs("div", { className: "admin-sidebar-scrollwrap", children: [_jsx("div", { className: "admin-sidebar-nav", ref: navScrollRef, children: _jsx("div", { className: "admin-sidebar-groups", children: navGroups.map((group, groupIndex) => (_jsxs("div", { className: "admin-sidebar-section", children: [group.label && (_jsx("p", { className: "admin-sidebar-section-title", children: group.label })), _jsx("ul", { className: "admin-sidebar-items", children: group.items.map((item) => (_jsx("li", { children: _jsx(NavItemButton, { item: item, isActive: resolvedActiveNav === item.id }) }, item.id))) })] }, group.label || `group-${groupIndex}`))) }) }), _jsx("span", { className: `admin-sidebar-fade admin-sidebar-fade-up ${fade.up ? 'show' : ''}`, "aria-hidden": "true" }), _jsx("span", { className: `admin-sidebar-fade admin-sidebar-fade-down ${fade.down ? 'show' : ''}`, "aria-hidden": "true" })] }), _jsx("div", { className: "admin-sidebar-footer", children: _jsxs("div", { className: "admin-sidebar-footer-content", children: [_jsx(NavItemButton, { item: settingsItem, isActive: resolvedActiveNav === 'settings' }), _jsxs("a", { href: "https://rovela.ai", target: "_blank", rel: "noopener noreferrer", className: "admin-sidebar-powered-by", children: [_jsx("span", { children: "Powered by" }), _jsx(RovelaLogo, { className: "admin-rovela-logo" }), _jsx("span", { className: "admin-powered-by-name", children: "Rovela" })] })] }) })] }));
|
|
216
|
+
return (_jsxs("nav", { className: `admin-sidebar admin-sidebar-slim ${className}`, "data-mobile-open": mobileOpen ? 'true' : 'false', children: [_jsxs("div", { className: "admin-nav-drawer-head", children: [_jsx(AdminBrandTile, { storeName: drawerStoreName }), _jsxs("div", { className: "admin-nav-drawer-name", children: [_jsx("b", { children: drawerStoreName }), _jsx("span", { className: "admin-topbar-tag", children: "Admin" })] }), _jsx("button", { type: "button", onClick: onMobileClose, "aria-label": "Close menu", className: "admin-nav-drawer-x", children: _jsx(X, { className: "h-4 w-4" }) })] }), _jsxs("div", { className: "admin-sidebar-scrollwrap", children: [_jsx("div", { className: "admin-sidebar-nav", ref: navScrollRef, children: _jsx("div", { className: "admin-sidebar-groups", children: navGroups.map((group, groupIndex) => (_jsxs("div", { className: "admin-sidebar-section", children: [group.label && (_jsx("p", { className: "admin-sidebar-section-title", children: group.label })), _jsx("ul", { className: "admin-sidebar-items", children: group.items.map((item) => (_jsx("li", { children: _jsx(NavItemButton, { item: item, isActive: resolvedActiveNav === item.id, onNavigate: onMobileClose }) }, item.id))) })] }, group.label || `group-${groupIndex}`))) }) }), _jsx("span", { className: `admin-sidebar-fade admin-sidebar-fade-up ${fade.up ? 'show' : ''}`, "aria-hidden": "true" }), _jsx("span", { className: `admin-sidebar-fade admin-sidebar-fade-down ${fade.down ? 'show' : ''}`, "aria-hidden": "true" })] }), _jsx("div", { className: "admin-sidebar-footer", children: _jsxs("div", { className: "admin-sidebar-footer-content", children: [_jsx(NavItemButton, { item: settingsItem, isActive: resolvedActiveNav === 'settings', onNavigate: onMobileClose }), _jsxs("a", { href: "https://rovela.ai", target: "_blank", rel: "noopener noreferrer", className: "admin-sidebar-powered-by", children: [_jsx("span", { children: "Powered by" }), _jsx(RovelaLogo, { className: "admin-rovela-logo" }), _jsx("span", { className: "admin-powered-by-name", children: "Rovela" })] })] }) })] }));
|
|
212
217
|
}
|
|
213
218
|
//# sourceMappingURL=AdminNav.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AdminNav.js","sourceRoot":"","sources":["../../../src/admin/components/AdminNav.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAA;;AAEZ;;;;;;;;;;;;;;;;GAgBG;AAEH,OAAO,KAAK,EAAE,EAAE,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAkB,MAAM,OAAO,CAAA;AAC1E,OAAO,IAAI,MAAM,WAAW,CAAA;AAC5B,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAA;AAC7C,OAAO,EAAE,eAAe,EAAE,OAAO,EAAE,UAAU,EAAE,aAAa,EAAE,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,UAAU,EAAE,GAAG,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,IAAI,UAAU,EAAE,MAAM,cAAc,CAAA;
|
|
1
|
+
{"version":3,"file":"AdminNav.js","sourceRoot":"","sources":["../../../src/admin/components/AdminNav.tsx"],"names":[],"mappings":"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"}
|
|
@@ -6,8 +6,10 @@ export interface AdminTopBarProps {
|
|
|
6
6
|
logo?: ReactNode;
|
|
7
7
|
/** Storefront URL for the View-store link. */
|
|
8
8
|
storeUrl?: string;
|
|
9
|
+
/** Opens the mobile nav drawer (renders the hamburger, <768px only). */
|
|
10
|
+
onMenuClick?: () => void;
|
|
9
11
|
/** Custom className */
|
|
10
12
|
className?: string;
|
|
11
13
|
}
|
|
12
|
-
export declare function AdminTopBar({ storeName: storeNameProp, logo, storeUrl, className, }: AdminTopBarProps): import("react/jsx-runtime").JSX.Element;
|
|
14
|
+
export declare function AdminTopBar({ storeName: storeNameProp, logo, storeUrl, onMenuClick, className, }: AdminTopBarProps): import("react/jsx-runtime").JSX.Element;
|
|
13
15
|
//# sourceMappingURL=AdminTopBar.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AdminTopBar.d.ts","sourceRoot":"","sources":["../../../src/admin/components/AdminTopBar.tsx"],"names":[],"mappings":"AAoBA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;AAStC,MAAM,WAAW,gBAAgB;IAC/B,sEAAsE;IACtE,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,wDAAwD;IACxD,IAAI,CAAC,EAAE,SAAS,CAAA;IAChB,8CAA8C;IAC9C,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,uBAAuB;IACvB,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB;AAMD,wBAAgB,WAAW,CAAC,EAC1B,SAAS,EAAE,aAAuB,EAClC,IAAI,EACJ,QAAc,EACd,SAAc,GACf,EAAE,gBAAgB,
|
|
1
|
+
{"version":3,"file":"AdminTopBar.d.ts","sourceRoot":"","sources":["../../../src/admin/components/AdminTopBar.tsx"],"names":[],"mappings":"AAoBA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;AAStC,MAAM,WAAW,gBAAgB;IAC/B,sEAAsE;IACtE,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,wDAAwD;IACxD,IAAI,CAAC,EAAE,SAAS,CAAA;IAChB,8CAA8C;IAC9C,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,wEAAwE;IACxE,WAAW,CAAC,EAAE,MAAM,IAAI,CAAA;IACxB,uBAAuB;IACvB,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB;AAMD,wBAAgB,WAAW,CAAC,EAC1B,SAAS,EAAE,aAAuB,EAClC,IAAI,EACJ,QAAc,EACd,WAAW,EACX,SAAc,GACf,EAAE,gBAAgB,2CA+ElB"}
|
|
@@ -16,14 +16,14 @@ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
|
16
16
|
* renders a skeleton (a wrong value that corrects itself reads as a glitch).
|
|
17
17
|
*/
|
|
18
18
|
import Link from 'next/link';
|
|
19
|
-
import { ExternalLink, Pencil } from 'lucide-react';
|
|
19
|
+
import { ExternalLink, Menu, Pencil } from 'lucide-react';
|
|
20
20
|
import { useStoreSettingsOptional } from '../../core';
|
|
21
21
|
import { AdminBrandTile } from './AdminBrandTile';
|
|
22
22
|
import { AdminUserMenu } from './AdminUserMenu';
|
|
23
23
|
// =============================================================================
|
|
24
24
|
// Component
|
|
25
25
|
// =============================================================================
|
|
26
|
-
export function AdminTopBar({ storeName: storeNameProp = 'Admin', logo, storeUrl = '/', className = '', }) {
|
|
26
|
+
export function AdminTopBar({ storeName: storeNameProp = 'Admin', logo, storeUrl = '/', onMenuClick, className = '', }) {
|
|
27
27
|
// Store name + logo resolve from context (optional — works outside the
|
|
28
28
|
// provider too). Same precedence AdminNav used before the revamp:
|
|
29
29
|
// prop > context > default.
|
|
@@ -44,6 +44,6 @@ export function AdminTopBar({ storeName: storeNameProp = 'Admin', logo, storeUrl
|
|
|
44
44
|
const editStoreUrl = rovelaProjectId
|
|
45
45
|
? `${rovelaBase.replace(/\/$/, '')}/generate/${rovelaProjectId}`
|
|
46
46
|
: null;
|
|
47
|
-
return (_jsxs("header", { className: `admin-topbar ${className}`.trim(), children: [_jsxs(Link, { href: "/admin", className: "admin-topbar-brand", children: [logo || _jsx(AdminBrandTile, { storeName: storeName }), settingsLoading ? (_jsx("span", { className: "admin-skeleton admin-topbar-name-skeleton" })) : (_jsx("span", { className: "admin-topbar-store", children: storeName })), _jsx("span", { className: "admin-topbar-tag", children: "Admin" })] }), _jsxs("div", { className: "admin-topbar-actions", children: [_jsxs("a", { href: storeUrl, target: "_blank", rel: "noopener noreferrer", className: "admin-topbar-btn", children: [_jsx(ExternalLink, { className: "h-3.5 w-3.5", strokeWidth: 1.5 }), "View store"] }), editStoreUrl && (_jsxs("a", { href: editStoreUrl, target: "_blank", rel: "noopener noreferrer", className: "admin-topbar-btn", children: [_jsx(Pencil, { className: "h-3.5 w-3.5", strokeWidth: 1.5 }), "Edit store"] })), _jsx("span", { className: "admin-topbar-divider", "aria-hidden": "true" }), _jsx(AdminUserMenu, { compact: true })] })] }));
|
|
47
|
+
return (_jsxs("header", { className: `admin-topbar ${className}`.trim(), children: [onMenuClick && (_jsx("button", { type: "button", onClick: onMenuClick, "aria-label": "Open menu", className: "admin-topbar-burger", children: _jsx(Menu, { className: "h-[18px] w-[18px]" }) })), _jsxs(Link, { href: "/admin", className: "admin-topbar-brand", children: [logo || _jsx(AdminBrandTile, { storeName: storeName }), settingsLoading ? (_jsx("span", { className: "admin-skeleton admin-topbar-name-skeleton" })) : (_jsx("span", { className: "admin-topbar-store", children: storeName })), _jsx("span", { className: "admin-topbar-tag", children: "Admin" })] }), _jsxs("div", { className: "admin-topbar-actions", children: [_jsxs("a", { href: storeUrl, target: "_blank", rel: "noopener noreferrer", className: "admin-topbar-btn", "aria-label": "View store", children: [_jsx(ExternalLink, { className: "h-3.5 w-3.5", strokeWidth: 1.5 }), _jsx("span", { className: "admin-topbar-btn-label", children: "View store" })] }), editStoreUrl && (_jsxs("a", { href: editStoreUrl, target: "_blank", rel: "noopener noreferrer", className: "admin-topbar-btn", "aria-label": "Edit store", children: [_jsx(Pencil, { className: "h-3.5 w-3.5", strokeWidth: 1.5 }), _jsx("span", { className: "admin-topbar-btn-label", children: "Edit store" })] })), _jsx("span", { className: "admin-topbar-divider", "aria-hidden": "true" }), _jsx(AdminUserMenu, { compact: true })] })] }));
|
|
48
48
|
}
|
|
49
49
|
//# sourceMappingURL=AdminTopBar.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AdminTopBar.js","sourceRoot":"","sources":["../../../src/admin/components/AdminTopBar.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAA;;AAEZ;;;;;;;;;;;;;;GAcG;AAEH,OAAO,IAAI,MAAM,WAAW,CAAA;AAC5B,OAAO,EAAE,YAAY,EAAE,MAAM,EAAE,MAAM,cAAc,CAAA;
|
|
1
|
+
{"version":3,"file":"AdminTopBar.js","sourceRoot":"","sources":["../../../src/admin/components/AdminTopBar.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CustomerTable.d.ts","sourceRoot":"","sources":["../../../src/admin/components/CustomerTable.tsx"],"names":[],"mappings":"AAsBA,OAAO,KAAK,EAAE,kBAAkB,EAAyB,MAAM,UAAU,CAAA;AAkGzE;;;;;;;;;GASG;AACH,wBAAgB,aAAa,CAAC,EAC5B,QAAa,EACb,eAAe,EACf,SAAc,GACf,EAAE,kBAAkB,
|
|
1
|
+
{"version":3,"file":"CustomerTable.d.ts","sourceRoot":"","sources":["../../../src/admin/components/CustomerTable.tsx"],"names":[],"mappings":"AAsBA,OAAO,KAAK,EAAE,kBAAkB,EAAyB,MAAM,UAAU,CAAA;AAkGzE;;;;;;;;;GASG;AACH,wBAAgB,aAAa,CAAC,EAC5B,QAAa,EACb,eAAe,EACf,SAAc,GACf,EAAE,kBAAkB,2CA2apB"}
|
|
@@ -24,7 +24,7 @@ import { adminToast } from './AdminToaster';
|
|
|
24
24
|
/** AdminSelect sentinel for "remove from group" (empty string = placeholder). */
|
|
25
25
|
const UNGROUP_SENTINEL = '__ungroup__';
|
|
26
26
|
function CustomerRow({ customer, groupName, isSelected, onToggleSelect, onCustomerClick, onDeleteClick, formatDate }) {
|
|
27
|
-
return (_jsxs("tr", { onClick: () => onCustomerClick?.(customer.id), className: `admin-table-row ${onCustomerClick ? 'cursor-pointer' : ''} ${isSelected ? 'admin-table-row-selected' : ''}`, children: [_jsx("td", { className: "px-4 py-3 w-12", onClick: (e) => e.stopPropagation(), children: _jsx("input", { type: "checkbox", className: "admin-checkbox", checked: isSelected, onChange: () => onToggleSelect(customer.id), "aria-label": `Select ${customer.name || customer.email}` }) }), _jsx("td", { className: "px-4 py-3", children: _jsxs("div", { className: "flex items-center gap-3", children: [_jsx("div", { className: "admin-customer-avatar h-9 w-9 text-sm font-medium", children: (customer.name || customer.email).charAt(0).toUpperCase() }), _jsx("span", { className: "font-medium", children: customer.name || 'Unnamed' })] }) }), _jsx("td", { className: "px-4 py-3", children: _jsx("span", { className: "text-sm admin-text-muted", children: customer.email }) }), _jsx("td", { className: "px-4 py-3", children: groupName ? (_jsx("span", { className: "admin-badge admin-badge-neutral", children: groupName })) : (_jsx("span", { className: "text-sm admin-text-muted", children: "\u2014" })) }), _jsx("td", { className: "px-4 py-3", children: customer.emailVerified ? (_jsx("span", { className: "text-sm admin-text-muted", children: "Verified" })) : (_jsx("span", { className: "admin-badge admin-badge-unverified", children: "Pending" })) }), _jsx("td", { className: "px-4 py-3", children: _jsx("span", { className: "text-sm admin-text-muted tabular-nums", children: formatDate(customer.createdAt) }) }), _jsx("td", { className: "px-4 py-3", children: _jsx("span", { className: "admin-row-actions -ml-2", children: _jsx("button", { type: "button", onClick: (e) => onDeleteClick(customer.id, customer.name || customer.email, e), className: "admin-btn admin-btn-ghost admin-btn-icon admin-btn-sm", "aria-label": "Delete customer", children: _jsx(Trash2, { className: "h-4 w-4" }) }) }) })] }));
|
|
27
|
+
return (_jsxs("tr", { onClick: () => onCustomerClick?.(customer.id), className: `admin-table-row ${onCustomerClick ? 'cursor-pointer' : ''} ${isSelected ? 'admin-table-row-selected' : ''}`, children: [_jsx("td", { className: "px-4 py-3 w-12 admin-col-bulk", onClick: (e) => e.stopPropagation(), children: _jsx("input", { type: "checkbox", className: "admin-checkbox", checked: isSelected, onChange: () => onToggleSelect(customer.id), "aria-label": `Select ${customer.name || customer.email}` }) }), _jsx("td", { className: "px-4 py-3", children: _jsxs("div", { className: "flex items-center gap-3", children: [_jsx("div", { className: "admin-customer-avatar h-9 w-9 text-sm font-medium", children: (customer.name || customer.email).charAt(0).toUpperCase() }), _jsx("span", { className: "font-medium", children: customer.name || 'Unnamed' })] }) }), _jsx("td", { className: "px-4 py-3", children: _jsx("span", { className: "text-sm admin-text-muted", children: customer.email }) }), _jsx("td", { className: "px-4 py-3 admin-col-optional", children: groupName ? (_jsx("span", { className: "admin-badge admin-badge-neutral", children: groupName })) : (_jsx("span", { className: "text-sm admin-text-muted", children: "\u2014" })) }), _jsx("td", { className: "px-4 py-3", children: customer.emailVerified ? (_jsx("span", { className: "text-sm admin-text-muted", children: "Verified" })) : (_jsx("span", { className: "admin-badge admin-badge-unverified", children: "Pending" })) }), _jsx("td", { className: "px-4 py-3 admin-col-optional", children: _jsx("span", { className: "text-sm admin-text-muted tabular-nums", children: formatDate(customer.createdAt) }) }), _jsx("td", { className: "px-4 py-3", children: _jsx("span", { className: "admin-row-actions -ml-2", children: _jsx("button", { type: "button", onClick: (e) => onDeleteClick(customer.id, customer.name || customer.email, e), className: "admin-btn admin-btn-ghost admin-btn-icon admin-btn-sm", "aria-label": "Delete customer", children: _jsx(Trash2, { className: "h-4 w-4" }) }) }) })] }));
|
|
28
28
|
}
|
|
29
29
|
// =============================================================================
|
|
30
30
|
// Component
|
|
@@ -185,16 +185,16 @@ export function CustomerTable({ pageSize = 20, onCustomerClick, className = '',
|
|
|
185
185
|
], className: "min-w-[170px]" }), _jsxs("button", { type: "button", onClick: performBulkAssign, disabled: isProcessing || !bulkGroupPick, className: "admin-btn admin-btn-primary admin-btn-sm", children: [_jsx(Tags, { className: "h-4 w-4" }), "Assign"] }), _jsxs("button", { type: "button", onClick: () => setBulkDeleteConfirm(true), disabled: isProcessing, className: "admin-btn admin-btn-destructive admin-btn-sm", children: [_jsx(Trash2, { className: "h-4 w-4" }), "Delete"] })] })) : (_jsxs("div", { className: "flex flex-wrap items-center justify-between gap-4", children: [_jsx(AdminSearchInput, { onSearch: setDebouncedSearch, initialValue: debouncedSearch, placeholder: "Search by email or name\u2026", className: "flex-1 max-w-sm" }, searchResetKey), _jsx(AdminSelect, { value: groupFilter, onChange: setGroupFilter, options: [
|
|
186
186
|
{ value: '', label: 'All groups' },
|
|
187
187
|
...groups.map((g) => ({ value: g.id, label: g.name })),
|
|
188
|
-
], className: "w-44" }), _jsxs("button", { type: "button", onClick: () => setShowGroupsManager((v) => !v), className: "admin-btn admin-btn-secondary admin-btn-sm inline-flex items-center gap-1.5", children: [_jsx(Tags, { className: "h-4 w-4" }), showGroupsManager ? 'Hide groups' : 'Manage groups'] }), _jsxs("div", { className: "flex items-center gap-2 text-sm admin-text-muted", children: [_jsx(Users, { className: "h-4 w-4" }), _jsxs("span", { children: [total, " customer", total !== 1 ? 's' : ''] })] })] })), showGroupsManager && _jsx(CustomerGroupsManager, { onChanged: fetchGroups }), error && (_jsx("div", { className: "admin-alert-inline admin-alert-inline-error", children: error })), _jsx("div", { className: "admin-card overflow-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
188
|
+
], className: "w-44" }), _jsxs("button", { type: "button", onClick: () => setShowGroupsManager((v) => !v), className: "admin-btn admin-btn-secondary admin-btn-sm inline-flex items-center gap-1.5", children: [_jsx(Tags, { className: "h-4 w-4" }), showGroupsManager ? 'Hide groups' : 'Manage groups'] }), _jsxs("div", { className: "flex items-center gap-2 text-sm admin-text-muted", children: [_jsx(Users, { className: "h-4 w-4" }), _jsxs("span", { children: [total, " customer", total !== 1 ? 's' : ''] })] })] })), showGroupsManager && _jsx(CustomerGroupsManager, { onChanged: fetchGroups }), error && (_jsx("div", { className: "admin-alert-inline admin-alert-inline-error", children: error })), _jsx("div", { className: "admin-card", children: _jsx("div", { className: "overflow-x-auto overflow-y-visible", children: _jsxs("table", { className: "admin-table w-full", children: [_jsx("thead", { children: _jsxs("tr", { className: "admin-table-header", children: [_jsx("th", { className: "px-4 py-3 w-12 text-left admin-col-bulk", children: _jsx("input", { type: "checkbox", className: "admin-checkbox", checked: allOnPageSelected, ref: (el) => {
|
|
189
|
+
if (el)
|
|
190
|
+
el.indeterminate = someOnPageSelected && !allOnPageSelected;
|
|
191
|
+
}, onChange: handleSelectAllOnPage, "aria-label": "Select all customers on this page" }) }), _jsx("th", { className: "px-4 py-3 text-left", children: "Customer" }), _jsx("th", { className: "px-4 py-3 text-left", children: "Email" }), _jsx("th", { className: "px-4 py-3 text-left admin-col-optional", children: "Group" }), _jsx("th", { className: "px-4 py-3 text-left", children: "Status" }), _jsx("th", { className: "px-4 py-3 text-left admin-col-optional", children: "Joined" }), _jsx("th", { className: "px-4 py-3 text-left", children: "Actions" })] }) }), _jsx("tbody", { children: isLoading && customers.length === 0 ? (
|
|
192
|
+
// Loading skeleton
|
|
193
|
+
Array.from({ length: 5 }).map((_, i) => (_jsxs("tr", { className: "admin-table-row", children: [_jsx("td", { className: "px-4 py-3 w-12 admin-col-bulk", children: _jsx("div", { className: "admin-skeleton admin-skeleton-md w-4 rounded" }) }), _jsx("td", { className: "px-4 py-3", children: _jsxs("div", { className: "flex items-center gap-3", children: [_jsx("div", { className: "admin-skeleton admin-skeleton-xl w-9 rounded-full" }), _jsx("div", { className: "admin-skeleton admin-skeleton-md w-24 rounded" })] }) }), _jsx("td", { className: "px-4 py-3", children: _jsx("div", { className: "admin-skeleton admin-skeleton-md w-48 rounded" }) }), _jsx("td", { className: "px-4 py-3 admin-col-optional", children: _jsx("div", { className: "admin-skeleton admin-skeleton-md w-16 rounded" }) }), _jsx("td", { className: "px-4 py-3", children: _jsx("div", { className: "admin-skeleton admin-skeleton-lg w-20 rounded" }) }), _jsx("td", { className: "px-4 py-3 admin-col-optional", children: _jsx("div", { className: "admin-skeleton admin-skeleton-md w-24 rounded" }) }), _jsx("td", { className: "px-4 py-3", children: _jsx("div", { className: "admin-skeleton admin-skeleton-md w-8 rounded" }) })] }, i)))) : customers.length === 0 ? (_jsx("tr", { children: _jsx("td", { colSpan: 7, children: debouncedSearch || groupFilter ? (_jsx(AdminEmptyState, { tone: "muted", icon: _jsx(Search, {}), title: "No customers match", description: "Nothing matches your search or group filter. Try different terms or clear them.", action: _jsx("button", { type: "button", onClick: () => {
|
|
194
|
+
setDebouncedSearch('');
|
|
195
|
+
setGroupFilter('');
|
|
196
|
+
setSearchResetKey((k) => k + 1);
|
|
197
|
+
}, className: "admin-btn admin-btn-secondary", children: "Clear filters" }) })) : (_jsx(AdminEmptyState, { icon: _jsx(Users, {}), title: "No customers yet", description: "Customers appear here after their first order or account signup." })) }) })) : (customers.map((customer) => (_jsx(CustomerRow, { customer: customer, groupName: customer.groupId ? groupNameById.get(customer.groupId) ?? null : null, isSelected: selected.has(customer.id), onToggleSelect: toggleSelect, onCustomerClick: onCustomerClick, onDeleteClick: handleDeleteClick, formatDate: formatDate }, customer.id)))) })] }) }) }), _jsx(DeleteConfirmDialog, { isOpen: !!deleteTarget, title: "Delete customer", itemName: deleteTarget?.name || '', itemType: "customer", isDeleting: isDeleting, error: deleteError, onConfirm: handleDeleteConfirm, onCancel: handleDeleteCancel }), _jsx(DeleteConfirmDialog, { isOpen: bulkDeleteConfirm, title: `Delete ${selected.size} customer${selected.size === 1 ? '' : 's'}`, itemName: "", description: `Are you sure you want to delete ${selected.size} customer${selected.size === 1 ? '' : 's'}? Their personal data is anonymized; order history is preserved. This action cannot be undone.`, isDeleting: isProcessing, onConfirm: performBulkDelete, onCancel: () => {
|
|
198
198
|
if (!isProcessing)
|
|
199
199
|
setBulkDeleteConfirm(false);
|
|
200
200
|
} }), totalPages > 1 && (_jsx(AdminPagination, { page: page, pageSize: pageSize, total: total, onPageChange: handlePageChange, noun: "customers" }))] }));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CustomerTable.js","sourceRoot":"","sources":["../../../src/admin/components/CustomerTable.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAA;;AAEZ;;;;;GAKG;AAEH,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM,OAAO,CAAA;AACjE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,cAAc,CAAA;AAC1D,OAAO,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAA;AAC9D,OAAO,EAAE,sBAAsB,EAAE,MAAM,iCAAiC,CAAA;AACxE,OAAO,EAAE,gBAAgB,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAA;AAC5E,OAAO,EAAE,wBAAwB,EAAE,MAAM,kCAAkC,CAAA;AAC3E,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAA;AAC3C,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAA;AACrD,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAA;AACnD,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAA;AACnD,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAA;AAC/C,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAA;AAC3D,OAAO,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAA;AAE/D,OAAO,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAA;AACtD,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAA;AAE3C,iFAAiF;AACjF,MAAM,gBAAgB,GAAG,aAAa,CAAA;AAiBtC,SAAS,WAAW,CAAC,EAAE,QAAQ,EAAE,SAAS,EAAE,UAAU,EAAE,cAAc,EAAE,eAAe,EAAE,aAAa,EAAE,UAAU,EAAoB;IACpI,OAAO,CACL,cACE,OAAO,EAAE,GAAG,EAAE,CAAC,eAAe,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,EAC7C,SAAS,EAAE,mBAAmB,eAAe,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,EAAE,IAAI,UAAU,CAAC,CAAC,CAAC,0BAA0B,CAAC,CAAC,CAAC,EAAE,EAAE,aAGvH,aAAI,SAAS,EAAC,gBAAgB,EAAC,OAAO,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,eAAe,EAAE,YAChE,gBACE,IAAI,EAAC,UAAU,EACf,SAAS,EAAC,gBAAgB,EAC1B,OAAO,EAAE,UAAU,EACnB,QAAQ,EAAE,GAAG,EAAE,CAAC,cAAc,CAAC,QAAQ,CAAC,EAAE,CAAC,gBAC/B,UAAU,QAAQ,CAAC,IAAI,IAAI,QAAQ,CAAC,KAAK,EAAE,GACvD,GACC,EACL,aAAI,SAAS,EAAC,WAAW,YACvB,eAAK,SAAS,EAAC,yBAAyB,aAEtC,cAAK,SAAS,EAAC,mDAAmD,YAC/D,CAAC,QAAQ,CAAC,IAAI,IAAI,QAAQ,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GACtD,EACN,eAAM,SAAS,EAAC,aAAa,YAC1B,QAAQ,CAAC,IAAI,IAAI,SAAS,GACtB,IACH,GACH,EAGL,aAAI,SAAS,EAAC,WAAW,YACvB,eAAM,SAAS,EAAC,0BAA0B,YAAE,QAAQ,CAAC,KAAK,GAAQ,GAC/D,EACL,aAAI,SAAS,EAAC,WAAW,YACtB,SAAS,CAAC,CAAC,CAAC,CACX,eAAM,SAAS,EAAC,iCAAiC,YAAE,SAAS,GAAQ,CACrE,CAAC,CAAC,CAAC,CACF,eAAM,SAAS,EAAC,0BAA0B,uBAAS,CACpD,GACE,EACL,aAAI,SAAS,EAAC,WAAW,YAGtB,QAAQ,CAAC,aAAa,CAAC,CAAC,CAAC,CACxB,eAAM,SAAS,EAAC,0BAA0B,yBAAgB,CAC3D,CAAC,CAAC,CAAC,CACF,eAAM,SAAS,EAAC,oCAAoC,wBAAe,CACpE,GACE,EACL,aAAI,SAAS,EAAC,WAAW,YACvB,eAAM,SAAS,EAAC,uCAAuC,YACpD,UAAU,CAAC,QAAQ,CAAC,SAAS,CAAC,GAC1B,GACJ,EACL,aAAI,SAAS,EAAC,WAAW,YAIvB,eAAM,SAAS,EAAC,yBAAyB,YACvC,iBACE,IAAI,EAAC,QAAQ,EACb,OAAO,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,aAAa,CAAC,QAAQ,CAAC,EAAE,EAAE,QAAQ,CAAC,IAAI,IAAI,QAAQ,CAAC,KAAK,EAAE,CAAC,CAAC,EAC9E,SAAS,EAAC,uDAAuD,gBACtD,iBAAiB,YAE5B,KAAC,MAAM,IAAC,SAAS,EAAC,SAAS,GAAG,GACvB,GACJ,GACJ,IACF,CACN,CAAA;AACH,CAAC;AAED,gFAAgF;AAChF,YAAY;AACZ,gFAAgF;AAEhF;;;;;;;;;GASG;AACH,MAAM,UAAU,aAAa,CAAC,EAC5B,QAAQ,GAAG,EAAE,EACb,eAAe,EACf,SAAS,GAAG,EAAE,GACK;IACnB,MAAM,EACJ,SAAS,EACT,KAAK,EACL,IAAI,EACJ,SAAS,EACT,KAAK,EACL,cAAc,EACd,cAAc,EACd,mBAAmB,EACnB,kBAAkB,GACnB,GAAG,iBAAiB,EAAE,CAAA;IACvB,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,GAAG,sBAAsB,EAAE,CAAA;IAExD,0BAA0B;IAC1B,MAAM,aAAa,GAAG,wBAAwB,EAAE,CAAA;IAChD,MAAM,cAAc,GAAG,aAAa,EAAE,MAAM,IAAI,OAAO,CAAA;IAEvD,oFAAoF;IACpF,MAAM,CAAC,cAAc,EAAE,iBAAiB,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAA;IACvD,MAAM,CAAC,eAAe,EAAE,kBAAkB,CAAC,GAAG,QAAQ,CAAC,EAAE,CAAC,CAAA;IAC1D,MAAM,CAAC,WAAW,EAAE,cAAc,CAAC,GAAG,QAAQ,CAAC,EAAE,CAAC,CAAA,CAAC,kBAAkB;IACrE,MAAM,CAAC,iBAAiB,EAAE,oBAAoB,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAA;IAEjE,MAAM,aAAa,GAAG,OAAO,CAAC,GAAG,EAAE;QACjC,MAAM,GAAG,GAAG,IAAI,GAAG,EAAkB,CAAA;QACrC,KAAK,MAAM,CAAC,IAAI,MAAM;YAAE,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,CAAA;QAC7C,OAAO,GAAG,CAAA;IACZ,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAA;IAEZ,4BAA4B;IAC5B,MAAM,CAAC,YAAY,EAAE,eAAe,CAAC,GAAG,QAAQ,CAAsC,IAAI,CAAC,CAAA;IAC3F,MAAM,CAAC,UAAU,EAAE,aAAa,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAA;IACnD,MAAM,CAAC,WAAW,EAAE,cAAc,CAAC,GAAG,QAAQ,CAAgB,IAAI,CAAC,CAAA;IAEnE,0EAA0E;IAC1E,+DAA+D;IAC/D,MAAM,EACJ,QAAQ,EACR,aAAa,EACb,MAAM,EAAE,YAAY,EACpB,UAAU,EAAE,gBAAgB,EAC5B,iBAAiB,EACjB,KAAK,EAAE,cAAc,GACtB,GAAG,gBAAgB,EAAE,CAAA;IACtB,MAAM,CAAC,YAAY,EAAE,eAAe,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAA;IACvD,MAAM,CAAC,oBAAoB,EAAE,uBAAuB,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAA;IACvE,MAAM,CAAC,aAAa,EAAE,gBAAgB,CAAC,GAAG,QAAQ,CAAC,EAAE,CAAC,CAAA;IACtD,MAAM,CAAC,iBAAiB,EAAE,oBAAoB,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAA;IAEjE,mCAAmC;IACnC,SAAS,CAAC,GAAG,EAAE;QACb,cAAc,CAAC;YACb,MAAM,EAAE,eAAe,IAAI,SAAS;YACpC,KAAK,EAAE,WAAW,IAAI,SAAS;YAC/B,IAAI,EAAE,CAAC;YACP,KAAK,EAAE,QAAQ;SAChB,CAAC,CAAA;QACF,wEAAwE;QACxE,cAAc,EAAE,CAAA;IAClB,CAAC,EAAE,CAAC,eAAe,EAAE,WAAW,EAAE,QAAQ,EAAE,cAAc,EAAE,cAAc,CAAC,CAAC,CAAA;IAE5E,MAAM,gBAAgB,GAAG,WAAW,CAAC,CAAC,OAAe,EAAE,EAAE;QACvD,cAAc,CAAC;YACb,MAAM,EAAE,eAAe,IAAI,SAAS;YACpC,KAAK,EAAE,WAAW,IAAI,SAAS;YAC/B,IAAI,EAAE,OAAO;YACb,KAAK,EAAE,QAAQ;SAChB,CAAC,CAAA;IACJ,CAAC,EAAE,CAAC,eAAe,EAAE,WAAW,EAAE,QAAQ,EAAE,cAAc,CAAC,CAAC,CAAA;IAE5D,kBAAkB;IAClB,MAAM,iBAAiB,GAAG,WAAW,CAAC,CAAC,EAAU,EAAE,IAAY,EAAE,CAAmB,EAAE,EAAE;QACtF,CAAC,CAAC,eAAe,EAAE,CAAA,CAAC,+BAA+B;QACnD,eAAe,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC,CAAA;QAC7B,cAAc,CAAC,IAAI,CAAC,CAAA;IACtB,CAAC,EAAE,EAAE,CAAC,CAAA;IAEN,MAAM,mBAAmB,GAAG,WAAW,CAAC,KAAK,IAAI,EAAE;QACjD,IAAI,CAAC,YAAY;YAAE,OAAM;QAEzB,aAAa,CAAC,IAAI,CAAC,CAAA;QACnB,cAAc,CAAC,IAAI,CAAC,CAAA;QAEpB,MAAM,MAAM,GAAG,MAAM,cAAc,CAAC,YAAY,CAAC,EAAE,CAAC,CAAA;QAEpD,aAAa,CAAC,KAAK,CAAC,CAAA;QAEpB,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;YACnB,eAAe,CAAC,IAAI,CAAC,CAAA;YACrB,cAAc,CAAC,EAAE,MAAM,EAAE,eAAe,IAAI,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC,CAAA;QACjF,CAAC;aAAM,CAAC;YACN,cAAc,CAAC,MAAM,CAAC,KAAK,IAAI,8CAA8C,CAAC,CAAA;QAChF,CAAC;IACH,CAAC,EAAE,CAAC,YAAY,EAAE,cAAc,EAAE,cAAc,EAAE,eAAe,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC,CAAA;IAEnF,MAAM,kBAAkB,GAAG,WAAW,CAAC,GAAG,EAAE;QAC1C,IAAI,CAAC,UAAU,EAAE,CAAC;YAChB,eAAe,CAAC,IAAI,CAAC,CAAA;YACrB,cAAc,CAAC,IAAI,CAAC,CAAA;QACtB,CAAC;IACH,CAAC,EAAE,CAAC,UAAU,CAAC,CAAC,CAAA;IAEhB,2EAA2E;IAE3E,MAAM,qBAAqB,GAAG,WAAW,CAAC,GAAG,EAAE;QAC7C,gBAAgB,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAA;IAC9C,CAAC,EAAE,CAAC,SAAS,EAAE,gBAAgB,CAAC,CAAC,CAAA;IAEjC,MAAM,uBAAuB,GAAG,WAAW,CAAC,KAAK,IAAI,EAAE;QACrD,uBAAuB,CAAC,IAAI,CAAC,CAAA;QAC7B,MAAM,GAAG,GAAG,MAAM,mBAAmB,CAAC;YACpC,MAAM,EAAE,eAAe,IAAI,SAAS;YACpC,KAAK,EAAE,WAAW,IAAI,SAAS;SAChC,CAAC,CAAA;QACF,uBAAuB,CAAC,KAAK,CAAC,CAAA;QAC9B,IAAI,GAAG;YAAE,iBAAiB,CAAC,GAAG,CAAC,CAAA;IACjC,CAAC,EAAE,CAAC,eAAe,EAAE,WAAW,EAAE,mBAAmB,EAAE,iBAAiB,CAAC,CAAC,CAAA;IAE1E,MAAM,WAAW,GAAG,WAAW,CAAC,GAAG,EAAE;QACnC,cAAc,CAAC;YACb,MAAM,EAAE,eAAe,IAAI,SAAS;YACpC,KAAK,EAAE,WAAW,IAAI,SAAS;YAC/B,IAAI;YACJ,KAAK,EAAE,QAAQ;SAChB,CAAC,CAAA;IACJ,CAAC,EAAE,CAAC,cAAc,EAAE,eAAe,EAAE,WAAW,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC,CAAA;IAElE,MAAM,iBAAiB,GAAG,WAAW,CAAC,KAAK,IAAI,EAAE;QAC/C,IAAI,CAAC,aAAa;YAAE,OAAM;QAC1B,MAAM,GAAG,GAAG,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;QAChC,IAAI,GAAG,CAAC,MAAM,KAAK,CAAC;YAAE,OAAM;QAC5B,MAAM,OAAO,GAAG,aAAa,KAAK,gBAAgB,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,aAAa,CAAA;QACzE,eAAe,CAAC,IAAI,CAAC,CAAA;QACrB,MAAM,MAAM,GAAG,MAAM,cAAc,CAAC,GAAG,EAAE,CAAC,KAAK,EAAE,EAAE,CACjD,kBAAkB,CAAC,KAAK,EAAE,cAAc,EAAE,OAAO,CAAC,CACnD,CAAA;QACD,eAAe,CAAC,KAAK,CAAC,CAAA;QACtB,gBAAgB,CAAC,EAAE,CAAC,CAAA;QACpB,cAAc,EAAE,CAAA;QAChB,WAAW,EAAE,CAAA;QACb,oDAAoD;QACpD,IAAI,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC7B,UAAU,CAAC,KAAK,CACd,GAAG,MAAM,CAAC,SAAS,CAAC,MAAM,IAAI,MAAM,CAAC,SAAS,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,WAAW,cAAc,MAAM,CAAC,MAAM,CAAC,MAAM,SAAS,CAClI,CAAA;QACH,CAAC;aAAM,IAAI,MAAM,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACvC,UAAU,CAAC,OAAO,CAChB,GAAG,MAAM,CAAC,SAAS,CAAC,MAAM,IAAI,MAAM,CAAC,SAAS,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,WAAW,wBAAwB,CAC/G,CAAA;QACH,CAAC;IACH,CAAC,EAAE,CAAC,aAAa,EAAE,QAAQ,EAAE,kBAAkB,EAAE,cAAc,EAAE,WAAW,CAAC,CAAC,CAAA;IAE9E,MAAM,iBAAiB,GAAG,WAAW,CAAC,KAAK,IAAI,EAAE;QAC/C,MAAM,GAAG,GAAG,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;QAChC,IAAI,GAAG,CAAC,MAAM,KAAK,CAAC;YAAE,OAAM;QAC5B,eAAe,CAAC,IAAI,CAAC,CAAA;QACrB,MAAM,MAAM,GAAG,MAAM,cAAc,CAAC,GAAG,EAAE,CAAC,KAAK,EAAE,EAAE,CACjD,kBAAkB,CAAC,KAAK,EAAE,QAAQ,CAAC,CACpC,CAAA;QACD,eAAe,CAAC,KAAK,CAAC,CAAA;QACtB,oBAAoB,CAAC,KAAK,CAAC,CAAA;QAC3B,cAAc,EAAE,CAAA;QAChB,WAAW,EAAE,CAAA;QACb,IAAI,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC7B,UAAU,CAAC,KAAK,CACd,GAAG,MAAM,CAAC,SAAS,CAAC,MAAM,IAAI,MAAM,CAAC,SAAS,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,WAAW,aAAa,MAAM,CAAC,MAAM,CAAC,MAAM,SAAS,CACjI,CAAA;QACH,CAAC;aAAM,IAAI,MAAM,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACvC,UAAU,CAAC,OAAO,CAChB,GAAG,MAAM,CAAC,SAAS,CAAC,MAAM,IAAI,MAAM,CAAC,SAAS,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,WAAW,UAAU,CACjG,CAAA;QACH,CAAC;IACH,CAAC,EAAE,CAAC,QAAQ,EAAE,kBAAkB,EAAE,cAAc,EAAE,WAAW,CAAC,CAAC,CAAA;IAE/D,qEAAqE;IACrE,MAAM,EAAE,UAAU,EAAE,eAAe,EAAE,GAAG,aAAa,CAAC,cAAc,CAAC,CAAA;IACrE,MAAM,UAAU,GAAG,CAAC,UAAkB,EAAE,EAAE,CAAC,eAAe,CAAC,UAAU,CAAC,CAAA;IAEtE,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,GAAG,QAAQ,CAAC,CAAA;IAE9C,MAAM,iBAAiB,GACrB,SAAS,CAAC,MAAM,GAAG,CAAC,IAAI,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAA;IACpE,MAAM,kBAAkB,GACtB,SAAS,CAAC,MAAM,GAAG,CAAC,IAAI,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAA;IAEnE,OAAO,CACL,eAAK,SAAS,EAAE,aAAa,SAAS,EAAE,aAErC,QAAQ,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,CACnB,MAAC,aAAa,IACZ,KAAK,EAAE,QAAQ,CAAC,IAAI,EACpB,KAAK,EAAE,KAAK,EACZ,aAAa,EAAE,aAAa,EAC5B,IAAI,EAAC,UAAU,EACf,YAAY,EAAE,YAAY,EAC1B,mBAAmB,EAAE,uBAAuB,EAC5C,oBAAoB,EAAE,oBAAoB,EAC1C,OAAO,EAAE,cAAc,aAEvB,KAAC,WAAW,IACV,KAAK,EAAE,aAAa,EACpB,QAAQ,EAAE,gBAAgB,EAC1B,WAAW,EAAC,qBAAgB,EAC5B,IAAI,EAAC,IAAI,EACT,OAAO,EAAE;4BACP,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;4BACtD,EAAE,KAAK,EAAE,gBAAgB,EAAE,KAAK,EAAE,oBAAoB,EAAE;yBACzD,EACD,SAAS,EAAC,eAAe,GACzB,EACF,kBACE,IAAI,EAAC,QAAQ,EACb,OAAO,EAAE,iBAAiB,EAC1B,QAAQ,EAAE,YAAY,IAAI,CAAC,aAAa,EACxC,SAAS,EAAC,0CAA0C,aAEpD,KAAC,IAAI,IAAC,SAAS,EAAC,SAAS,GAAG,cAErB,EACT,kBACE,IAAI,EAAC,QAAQ,EACb,OAAO,EAAE,GAAG,EAAE,CAAC,oBAAoB,CAAC,IAAI,CAAC,EACzC,QAAQ,EAAE,YAAY,EACtB,SAAS,EAAC,8CAA8C,aAExD,KAAC,MAAM,IAAC,SAAS,EAAC,SAAS,GAAG,cAEvB,IACK,CACjB,CAAC,CAAC,CAAC,CACF,eAAK,SAAS,EAAC,mDAAmD,aAEhE,KAAC,gBAAgB,IAEf,QAAQ,EAAE,kBAAkB,EAC5B,YAAY,EAAE,eAAe,EAC7B,WAAW,EAAC,+BAA0B,EACtC,SAAS,EAAC,iBAAiB,IAJtB,cAAc,CAKnB,EAIF,KAAC,WAAW,IACV,KAAK,EAAE,WAAW,EAClB,QAAQ,EAAE,cAAc,EACxB,OAAO,EAAE;4BACP,EAAE,KAAK,EAAE,EAAE,EAAE,KAAK,EAAE,YAAY,EAAE;4BAClC,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;yBACvD,EACD,SAAS,EAAC,MAAM,GAChB,EAGF,kBACE,IAAI,EAAC,QAAQ,EACb,OAAO,EAAE,GAAG,EAAE,CAAC,oBAAoB,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,EAC9C,SAAS,EAAC,6EAA6E,aAEvF,KAAC,IAAI,IAAC,SAAS,EAAC,SAAS,GAAG,EAC3B,iBAAiB,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,eAAe,IAC7C,EAGT,eAAK,SAAS,EAAC,kDAAkD,aAC/D,KAAC,KAAK,IAAC,SAAS,EAAC,SAAS,GAAG,EAC7B,2BAAO,KAAK,eAAW,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,IAAQ,IACjD,IACF,CACP,EAGA,iBAAiB,IAAI,KAAC,qBAAqB,IAAC,SAAS,EAAE,WAAW,GAAI,EAGtE,KAAK,IAAI,CACR,cAAK,SAAS,EAAC,6CAA6C,YACzD,KAAK,GACF,CACP,EAGD,cAAK,SAAS,EAAC,4BAA4B,YACzC,iBAAO,SAAS,EAAC,oBAAoB,aACnC,0BACE,cAAI,SAAS,EAAC,oBAAoB,aAChC,aAAI,SAAS,EAAC,0BAA0B,YACtC,gBACE,IAAI,EAAC,UAAU,EACf,SAAS,EAAC,gBAAgB,EAC1B,OAAO,EAAE,iBAAiB,EAC1B,GAAG,EAAE,CAAC,EAAE,EAAE,EAAE;gDACV,IAAI,EAAE;oDACJ,EAAE,CAAC,aAAa,GAAG,kBAAkB,IAAI,CAAC,iBAAiB,CAAA;4CAC/D,CAAC,EACD,QAAQ,EAAE,qBAAqB,gBACpB,mCAAmC,GAC9C,GACC,EACL,aAAI,SAAS,EAAC,qBAAqB,yBAAc,EACjD,aAAI,SAAS,EAAC,qBAAqB,sBAAW,EAC9C,aAAI,SAAS,EAAC,qBAAqB,sBAAW,EAC9C,aAAI,SAAS,EAAC,qBAAqB,uBAAY,EAC/C,aAAI,SAAS,EAAC,qBAAqB,uBAAY,EAC/C,aAAI,SAAS,EAAC,qBAAqB,wBAAa,IAC7C,GACC,EACR,0BACG,SAAS,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC;4BACrC,mBAAmB;4BACnB,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CACtC,cAAY,SAAS,EAAC,iBAAiB,aACrC,aAAI,SAAS,EAAC,gBAAgB,YAC5B,cAAK,SAAS,EAAC,8CAA8C,GAAG,GAC7D,EACL,aAAI,SAAS,EAAC,WAAW,YACvB,eAAK,SAAS,EAAC,yBAAyB,aACtC,cAAK,SAAS,EAAC,mDAAmD,GAAG,EACrE,cAAK,SAAS,EAAC,+CAA+C,GAAG,IAC7D,GACH,EACL,aAAI,SAAS,EAAC,WAAW,YACvB,cAAK,SAAS,EAAC,+CAA+C,GAAG,GAC9D,EACL,aAAI,SAAS,EAAC,WAAW,YACvB,cAAK,SAAS,EAAC,+CAA+C,GAAG,GAC9D,EACL,aAAI,SAAS,EAAC,WAAW,YACvB,cAAK,SAAS,EAAC,+CAA+C,GAAG,GAC9D,EACL,aAAI,SAAS,EAAC,WAAW,YACvB,cAAK,SAAS,EAAC,+CAA+C,GAAG,GAC9D,EACL,aAAI,SAAS,EAAC,WAAW,YACvB,cAAK,SAAS,EAAC,8CAA8C,GAAG,GAC7D,KAxBE,CAAC,CAyBL,CACN,CAAC,CACH,CAAC,CAAC,CAAC,SAAS,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,CAC3B,uBACE,aAAI,OAAO,EAAE,CAAC,YACX,eAAe,IAAI,WAAW,CAAC,CAAC,CAAC,CAChC,KAAC,eAAe,IACd,IAAI,EAAC,OAAO,EACZ,IAAI,EAAE,KAAC,MAAM,KAAG,EAChB,KAAK,EAAC,oBAAoB,EAC1B,WAAW,EAAC,iFAAiF,EAC7F,MAAM,EACJ,iBACE,IAAI,EAAC,QAAQ,EACb,OAAO,EAAE,GAAG,EAAE;gDACZ,kBAAkB,CAAC,EAAE,CAAC,CAAA;gDACtB,cAAc,CAAC,EAAE,CAAC,CAAA;gDAClB,iBAAiB,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAA;4CACjC,CAAC,EACD,SAAS,EAAC,+BAA+B,8BAGlC,GAEX,CACH,CAAC,CAAC,CAAC,CACF,KAAC,eAAe,IACd,IAAI,EAAE,KAAC,KAAK,KAAG,EACf,KAAK,EAAC,kBAAkB,EACxB,WAAW,EAAC,kEAAkE,GAC9E,CACH,GACE,GACF,CACN,CAAC,CAAC,CAAC,CACF,SAAS,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,CAC1B,KAAC,WAAW,IAEV,QAAQ,EAAE,QAAQ,EAClB,SAAS,EAAE,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,aAAa,CAAC,GAAG,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,IAAI,EAChF,UAAU,EAAE,QAAQ,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC,EACrC,cAAc,EAAE,YAAY,EAC5B,eAAe,EAAE,eAAe,EAChC,aAAa,EAAE,iBAAiB,EAChC,UAAU,EAAE,UAAU,IAPjB,QAAQ,CAAC,EAAE,CAQhB,CACH,CAAC,CACH,GACK,IACF,GACJ,EAGN,KAAC,mBAAmB,IAClB,MAAM,EAAE,CAAC,CAAC,YAAY,EACtB,KAAK,EAAC,iBAAiB,EACvB,QAAQ,EAAE,YAAY,EAAE,IAAI,IAAI,EAAE,EAClC,QAAQ,EAAC,UAAU,EACnB,UAAU,EAAE,UAAU,EACtB,KAAK,EAAE,WAAW,EAClB,SAAS,EAAE,mBAAmB,EAC9B,QAAQ,EAAE,kBAAkB,GAC5B,EAGF,KAAC,mBAAmB,IAClB,MAAM,EAAE,iBAAiB,EACzB,KAAK,EAAE,UAAU,QAAQ,CAAC,IAAI,YAAY,QAAQ,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,EAAE,EAC1E,QAAQ,EAAC,EAAE,EACX,WAAW,EAAE,mCAAmC,QAAQ,CAAC,IAAI,YAAY,QAAQ,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,gGAAgG,EACvM,UAAU,EAAE,YAAY,EACxB,SAAS,EAAE,iBAAiB,EAC5B,QAAQ,EAAE,GAAG,EAAE;oBACb,IAAI,CAAC,YAAY;wBAAE,oBAAoB,CAAC,KAAK,CAAC,CAAA;gBAChD,CAAC,GACD,EAGD,UAAU,GAAG,CAAC,IAAI,CACjB,KAAC,eAAe,IACd,IAAI,EAAE,IAAI,EACV,QAAQ,EAAE,QAAQ,EAClB,KAAK,EAAE,KAAK,EACZ,YAAY,EAAE,gBAAgB,EAC9B,IAAI,EAAC,WAAW,GAChB,CACH,IACG,CACP,CAAA;AACH,CAAC"}
|
|
1
|
+
{"version":3,"file":"CustomerTable.js","sourceRoot":"","sources":["../../../src/admin/components/CustomerTable.tsx"],"names":[],"mappings":"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"}
|
|
@@ -27,7 +27,7 @@ function StatusBadge({ status }) {
|
|
|
27
27
|
return (_jsx("span", { className: orderStatusBadgeClass(status), children: orderStatusLabel(status) }));
|
|
28
28
|
}
|
|
29
29
|
function OrderRow({ order, isSelected, onToggleSelect, onOrderClick, onStatusChange, formatCurrency, formatDate }) {
|
|
30
|
-
return (_jsxs("tr", { className: `admin-table-row ${isSelected ? 'admin-table-row-selected' : ''}`, children: [_jsx("td", { className: "px-4 py-4 w-12", children: _jsx("input", { type: "checkbox", className: "admin-checkbox", checked: isSelected, onChange: () => onToggleSelect(order.id), "aria-label": `Select order ${order.id.slice(-8).toUpperCase()}` }) }), _jsx("td", { className: "px-6 py-4", children: _jsxs("button", { onClick: () => onOrderClick?.(order.id), className: "admin-table-row-link", children: ["#", order.id.slice(-8).toUpperCase()] }) }), _jsx("td", { className: "px-6 py-4 text-sm", children: order.email }), _jsx("td", { className: "px-6 py-4", children: _jsx(StatusBadge, { status: order.status }) }), _jsx("td", { className: "px-6 py-4 text-sm font-medium text-right tabular-nums", children: formatCurrency(order.total, order.currency) }), _jsx("td", { className: "px-6 py-4 text-sm admin-text-muted", children: formatDate(order.createdAt) }), _jsx("td", { className: "px-6 py-4", children: _jsx(AdminSelect, { value: order.status, onChange: (value) => onStatusChange(order.id, value), disabled: order.status === 'refunded' || order.status === 'cancelled', size: "sm", options: [
|
|
30
|
+
return (_jsxs("tr", { className: `admin-table-row ${isSelected ? 'admin-table-row-selected' : ''}`, children: [_jsx("td", { className: "px-4 py-4 w-12 admin-col-bulk", children: _jsx("input", { type: "checkbox", className: "admin-checkbox", checked: isSelected, onChange: () => onToggleSelect(order.id), "aria-label": `Select order ${order.id.slice(-8).toUpperCase()}` }) }), _jsx("td", { className: "px-6 py-4", children: _jsxs("button", { onClick: () => onOrderClick?.(order.id), className: "admin-table-row-link", children: ["#", order.id.slice(-8).toUpperCase()] }) }), _jsx("td", { className: "px-6 py-4 text-sm", children: order.email }), _jsx("td", { className: "px-6 py-4", children: _jsx(StatusBadge, { status: order.status }) }), _jsx("td", { className: "px-6 py-4 text-sm font-medium text-right tabular-nums", children: formatCurrency(order.total, order.currency) }), _jsx("td", { className: "px-6 py-4 text-sm admin-text-muted admin-col-optional", children: formatDate(order.createdAt) }), _jsx("td", { className: "px-6 py-4", children: _jsx(AdminSelect, { value: order.status, onChange: (value) => onStatusChange(order.id, value), disabled: order.status === 'refunded' || order.status === 'cancelled', size: "sm", options: [
|
|
31
31
|
{ value: 'pending', label: 'Pending' },
|
|
32
32
|
{ value: 'paid', label: 'Paid' },
|
|
33
33
|
// Pickup orders reuse shipped/delivered with honest labels.
|
|
@@ -173,10 +173,10 @@ export function OrderTable({ initialSearch, initialStatus, pageSize = 20, onOrde
|
|
|
173
173
|
{ value: 'oldest', label: 'Oldest First' },
|
|
174
174
|
{ value: 'total-desc', label: 'Highest Total' },
|
|
175
175
|
{ value: 'total-asc', label: 'Lowest Total' },
|
|
176
|
-
], className: "w-[150px]" })] })), _jsxs("div", { className: "admin-card", children: [_jsx("div", { className: "overflow-x-auto overflow-y-visible", children: _jsxs("table", { className: "admin-table w-full", children: [_jsx("thead", { children: _jsxs("tr", { className: "admin-table-header", children: [_jsx("th", { className: "px-4 py-3 w-12 text-left", children: _jsx("input", { type: "checkbox", className: "admin-checkbox", checked: allOnPageSelected, ref: (el) => {
|
|
176
|
+
], className: "w-[150px]" })] })), _jsxs("div", { className: "admin-card", children: [_jsx("div", { className: "overflow-x-auto overflow-y-visible", children: _jsxs("table", { className: "admin-table w-full", children: [_jsx("thead", { children: _jsxs("tr", { className: "admin-table-header", children: [_jsx("th", { className: "px-4 py-3 w-12 text-left admin-col-bulk", children: _jsx("input", { type: "checkbox", className: "admin-checkbox", checked: allOnPageSelected, ref: (el) => {
|
|
177
177
|
if (el)
|
|
178
178
|
el.indeterminate = someOnPageSelected && !allOnPageSelected;
|
|
179
|
-
}, onChange: handleSelectAllOnPage, "aria-label": "Select all orders on this page" }) }), _jsx("th", { className: "px-6 py-3 text-left", children: "Order" }), _jsx("th", { className: "px-6 py-3 text-left", children: "Customer" }), _jsx("th", { className: "px-6 py-3 text-left", children: "Status" }), _jsx("th", { className: "px-6 py-3 text-right", children: "Total" }), _jsx("th", { className: "px-6 py-3 text-left", children: "Date" }), _jsx("th", { className: "px-6 py-3 text-left", children: "Actions" })] }) }), _jsx("tbody", { children: isLoading && orders.length === 0 ? ([...Array(5)].map((_, i) => (_jsxs("tr", { className: "admin-table-row", children: [_jsx("td", { className: "px-4 py-4 w-12", children: _jsx("div", { className: "admin-skeleton admin-skeleton-md w-4 rounded" }) }), _jsx("td", { className: "px-6 py-4", children: _jsx("div", { className: "admin-skeleton admin-skeleton-md w-24 rounded" }) }), _jsx("td", { className: "px-6 py-4", children: _jsx("div", { className: "admin-skeleton admin-skeleton-md w-32 rounded" }) }), _jsx("td", { className: "px-6 py-4", children: _jsx("div", { className: "admin-skeleton admin-skeleton-lg w-16 rounded" }) }), _jsx("td", { className: "px-6 py-4", children: _jsx("div", { className: "admin-skeleton admin-skeleton-md w-20 rounded" }) }), _jsx("td", { className: "px-6 py-4", children: _jsx("div", { className: "admin-skeleton admin-skeleton-md w-28 rounded" }) }), _jsx("td", { className: "px-6 py-4", children: _jsx("div", { className: "admin-skeleton admin-skeleton-md w-20 rounded" }) })] }, i)))) : orders.length === 0 ? (_jsx("tr", { children: _jsx("td", { colSpan: 7, children: search.trim() || status ? (_jsx(AdminEmptyState, { tone: "muted", icon: _jsx(Search, {}), title: "No orders match", description: "Nothing matches your search or status filter. Try different terms or clear them.", action: _jsx("button", { type: "button", onClick: () => {
|
|
179
|
+
}, onChange: handleSelectAllOnPage, "aria-label": "Select all orders on this page" }) }), _jsx("th", { className: "px-6 py-3 text-left", children: "Order" }), _jsx("th", { className: "px-6 py-3 text-left", children: "Customer" }), _jsx("th", { className: "px-6 py-3 text-left", children: "Status" }), _jsx("th", { className: "px-6 py-3 text-right", children: "Total" }), _jsx("th", { className: "px-6 py-3 text-left admin-col-optional", children: "Date" }), _jsx("th", { className: "px-6 py-3 text-left", children: "Actions" })] }) }), _jsx("tbody", { children: isLoading && orders.length === 0 ? ([...Array(5)].map((_, i) => (_jsxs("tr", { className: "admin-table-row", children: [_jsx("td", { className: "px-4 py-4 w-12 admin-col-bulk", children: _jsx("div", { className: "admin-skeleton admin-skeleton-md w-4 rounded" }) }), _jsx("td", { className: "px-6 py-4", children: _jsx("div", { className: "admin-skeleton admin-skeleton-md w-24 rounded" }) }), _jsx("td", { className: "px-6 py-4", children: _jsx("div", { className: "admin-skeleton admin-skeleton-md w-32 rounded" }) }), _jsx("td", { className: "px-6 py-4", children: _jsx("div", { className: "admin-skeleton admin-skeleton-lg w-16 rounded" }) }), _jsx("td", { className: "px-6 py-4", children: _jsx("div", { className: "admin-skeleton admin-skeleton-md w-20 rounded" }) }), _jsx("td", { className: "px-6 py-4 admin-col-optional", children: _jsx("div", { className: "admin-skeleton admin-skeleton-md w-28 rounded" }) }), _jsx("td", { className: "px-6 py-4", children: _jsx("div", { className: "admin-skeleton admin-skeleton-md w-20 rounded" }) })] }, i)))) : orders.length === 0 ? (_jsx("tr", { children: _jsx("td", { colSpan: 7, children: search.trim() || status ? (_jsx(AdminEmptyState, { tone: "muted", icon: _jsx(Search, {}), title: "No orders match", description: "Nothing matches your search or status filter. Try different terms or clear them.", action: _jsx("button", { type: "button", onClick: () => {
|
|
180
180
|
setSearch('');
|
|
181
181
|
setStatus('');
|
|
182
182
|
setSearchResetKey((k) => k + 1);
|