@rovela-ai/sdk 0.1.35 → 0.1.37
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.js +1 -1
- package/dist/admin/components/AdminLayout.js.map +1 -1
- package/dist/admin/components/AdminNav.d.ts.map +1 -1
- package/dist/admin/components/AdminNav.js +9 -9
- package/dist/admin/components/AdminNav.js.map +1 -1
- package/dist/admin/components/CategorySelect.js +1 -1
- package/dist/admin/components/CustomerDetails.js +1 -1
- package/dist/admin/components/CustomerDetails.js.map +1 -1
- package/dist/admin/components/ProductTable.d.ts.map +1 -1
- package/dist/admin/components/ProductTable.js +3 -3
- package/dist/admin/components/ProductTable.js.map +1 -1
- package/dist/admin/components/StatsCards.js +2 -2
- package/dist/admin/components/StatsCards.js.map +1 -1
- package/dist/admin/styles/admin-theme.css +467 -38
- package/package.json +1 -1
|
@@ -41,6 +41,6 @@ import '../styles/admin-theme.css';
|
|
|
41
41
|
* ```
|
|
42
42
|
*/
|
|
43
43
|
export function AdminLayout({ children, activeNav, title, storeName = 'Admin', storeUrl = '/', navItems, logo, className = '', }) {
|
|
44
|
-
return (_jsx("div", { className: `rovela-admin-theme ${className}`, children: _jsxs("div", { className: "
|
|
44
|
+
return (_jsx("div", { className: `rovela-admin-theme ${className}`, children: _jsxs("div", { className: "admin-layout", children: [_jsx(AdminNav, { activeNav: activeNav, items: navItems, storeName: storeName, logo: logo }), _jsxs("div", { className: "admin-layout-main", children: [_jsx(AdminHeader, { title: title, storeUrl: storeUrl }), _jsx("main", { className: "admin-layout-content", children: children })] })] }) }));
|
|
45
45
|
}
|
|
46
46
|
//# 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;;;;;GAKG;AAEH,OAAO,EAAE,QAAQ,EAAgB,MAAM,YAAY,CAAA;AACnD,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAA;AAI3C,gCAAgC;AAChC,OAAO,2BAA2B,CAAA;AAmBlC,gFAAgF;AAChF,YAAY;AACZ,gFAAgF;AAEhF;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,MAAM,UAAU,WAAW,CAAC,EAC1B,QAAQ,EACR,SAAS,EACT,KAAK,EACL,SAAS,GAAG,OAAO,EACnB,QAAQ,GAAG,GAAG,EACd,QAAQ,EACR,IAAI,EACJ,SAAS,GAAG,EAAE,GACW;IACzB,OAAO,CACL,cAAK,SAAS,EAAE,sBAAsB,SAAS,EAAE,YAC/C,eAAK,SAAS,EAAC,
|
|
1
|
+
{"version":3,"file":"AdminLayout.js","sourceRoot":"","sources":["../../../src/admin/components/AdminLayout.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAA;;AAEZ;;;;;GAKG;AAEH,OAAO,EAAE,QAAQ,EAAgB,MAAM,YAAY,CAAA;AACnD,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAA;AAI3C,gCAAgC;AAChC,OAAO,2BAA2B,CAAA;AAmBlC,gFAAgF;AAChF,YAAY;AACZ,gFAAgF;AAEhF;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,MAAM,UAAU,WAAW,CAAC,EAC1B,QAAQ,EACR,SAAS,EACT,KAAK,EACL,SAAS,GAAG,OAAO,EACnB,QAAQ,GAAG,GAAG,EACd,QAAQ,EACR,IAAI,EACJ,SAAS,GAAG,EAAE,GACW;IACzB,OAAO,CACL,cAAK,SAAS,EAAE,sBAAsB,SAAS,EAAE,YAC/C,eAAK,SAAS,EAAC,cAAc,aAE3B,KAAC,QAAQ,IACP,SAAS,EAAE,SAAS,EACpB,KAAK,EAAE,QAAQ,EACf,SAAS,EAAE,SAAS,EACpB,IAAI,EAAE,IAAI,GACV,EAGF,eAAK,SAAS,EAAC,mBAAmB,aAEhC,KAAC,WAAW,IAAC,KAAK,EAAE,KAAK,EAAE,QAAQ,EAAE,QAAQ,GAAI,EAGjD,eAAM,SAAS,EAAC,sBAAsB,YACnC,QAAQ,GACJ,IACH,IACF,GACF,CACP,CAAA;AACH,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AdminNav.d.ts","sourceRoot":"","sources":["../../../src/admin/components/AdminNav.tsx"],"names":[],"mappings":"AAEA;;;;;;;;GAQG;AAEH,OAAc,EAAE,KAAK,SAAS,EAAE,MAAM,OAAO,CAAA;AAQ7C,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,4BAA4B;IAC5B,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,mBAAmB;IACnB,IAAI,CAAC,EAAE,SAAS,CAAA;IAChB,sCAAsC;IACtC,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,uBAAuB;IACvB,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB;AA+FD;;;;;;;GAOG;AACH,wBAAgB,QAAQ,CAAC,EACvB,SAAS,EACT,KAAK,EACL,SAAS,EAAE,aAAuB,EAClC,IAAI,EACJ,QAAc,EACd,SAAc,GACf,EAAE,aAAa,
|
|
1
|
+
{"version":3,"file":"AdminNav.d.ts","sourceRoot":"","sources":["../../../src/admin/components/AdminNav.tsx"],"names":[],"mappings":"AAEA;;;;;;;;GAQG;AAEH,OAAc,EAAE,KAAK,SAAS,EAAE,MAAM,OAAO,CAAA;AAQ7C,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,4BAA4B;IAC5B,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,mBAAmB;IACnB,IAAI,CAAC,EAAE,SAAS,CAAA;IAChB,sCAAsC;IACtC,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,uBAAuB;IACvB,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB;AA+FD;;;;;;;GAOG;AACH,wBAAgB,QAAQ,CAAC,EACvB,SAAS,EACT,KAAK,EACL,SAAS,EAAE,aAAuB,EAClC,IAAI,EACJ,QAAc,EACd,SAAc,GACf,EAAE,aAAa,2CAkIf"}
|
|
@@ -38,11 +38,11 @@ const defaultNavGroups = [
|
|
|
38
38
|
},
|
|
39
39
|
];
|
|
40
40
|
const settingsItem = { id: 'settings', label: 'Settings', href: '/admin/settings' };
|
|
41
|
-
// Rovela Logo Image -
|
|
42
|
-
function RovelaLogo({ className = '
|
|
41
|
+
// Rovela Logo Image - Uses Rovela CDN URL (works in all environments)
|
|
42
|
+
function RovelaLogo({ className = 'admin-rovela-logo', variant = 'color' }) {
|
|
43
43
|
return (
|
|
44
44
|
// eslint-disable-next-line @next/next/no-img-element
|
|
45
|
-
_jsx("img", { src: "/
|
|
45
|
+
_jsx("img", { src: "https://rovela.ai/logo.png", alt: "Rovela", className: className, style: variant === 'white' ? { filter: 'brightness(0) invert(1)' } : undefined }));
|
|
46
46
|
}
|
|
47
47
|
const iconMap = {
|
|
48
48
|
dashboard: LayoutDashboard,
|
|
@@ -57,9 +57,9 @@ const iconMap = {
|
|
|
57
57
|
// =============================================================================
|
|
58
58
|
function NavItemButton({ item, isActive, }) {
|
|
59
59
|
const Icon = item.icon || iconMap[item.id];
|
|
60
|
-
return (_jsxs("a", { href: item.href, className: `admin-sidebar-item
|
|
60
|
+
return (_jsxs("a", { href: item.href, className: `admin-sidebar-item ${isActive ? 'active' : ''}`, children: [_jsx("span", { className: "admin-sidebar-indicator" }), _jsx("span", { className: "admin-sidebar-item-icon", children: Icon && (React.isValidElement(Icon)
|
|
61
61
|
? Icon
|
|
62
|
-
: React.createElement(Icon, { className: '
|
|
62
|
+
: React.createElement(Icon, { className: 'admin-sidebar-item-svg' })) }), _jsx("span", { className: "admin-sidebar-item-label", children: item.label })] }));
|
|
63
63
|
}
|
|
64
64
|
// =============================================================================
|
|
65
65
|
// Component
|
|
@@ -83,12 +83,12 @@ export function AdminNav({ activeNav, items, storeName: storeNameProp = 'Admin',
|
|
|
83
83
|
const useGroups = !items;
|
|
84
84
|
return (_jsxs("nav", { className: `admin-sidebar ${className}`, children: [_jsx("div", { className: "admin-sidebar-header", children: logo || (logoUrl ? (
|
|
85
85
|
// Logo image from environment variable
|
|
86
|
-
_jsxs("a", { href: "/admin", className: "
|
|
86
|
+
_jsxs("a", { href: "/admin", className: "admin-sidebar-header-link", children: [_jsx("img", { src: logoUrl, alt: storeName, className: "admin-sidebar-logo" }), _jsxs("div", { className: "admin-sidebar-header-text", children: [_jsx("span", { className: "admin-sidebar-store-name", children: storeName }), _jsx("span", { className: "admin-sidebar-subtitle", children: "Admin Panel" })] })] })) : (
|
|
87
87
|
// Fallback: Store initial badge
|
|
88
|
-
_jsxs(_Fragment, { children: [_jsx("div", { className: "admin-sidebar-badge", children: storeName.charAt(0).toUpperCase() }), _jsxs("div", { className: "
|
|
88
|
+
_jsxs(_Fragment, { children: [_jsx("div", { className: "admin-sidebar-badge", children: storeName.charAt(0).toUpperCase() }), _jsxs("div", { className: "admin-sidebar-header-text", children: [_jsx("span", { className: "admin-sidebar-store-name", children: storeName }), _jsx("span", { className: "admin-sidebar-subtitle", children: "Admin Panel" })] })] }))) }), _jsx("div", { className: "admin-sidebar-nav", children: useGroups ? (
|
|
89
89
|
// Grouped navigation
|
|
90
|
-
_jsx("div", { className: "
|
|
90
|
+
_jsx("div", { className: "admin-sidebar-groups", children: defaultNavGroups.map((group) => (_jsxs("div", { className: "admin-sidebar-section", children: [_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: activeNav === item.id }) }, item.id))) })] }, group.label))) })) : (
|
|
91
91
|
// Flat navigation (custom items)
|
|
92
|
-
_jsx("ul", { className: "
|
|
92
|
+
_jsx("ul", { className: "admin-sidebar-items", children: items?.map((item) => (_jsx("li", { children: _jsx(NavItemButton, { item: item, isActive: activeNav === item.id }) }, item.id))) })) }), _jsx("div", { className: "admin-sidebar-footer", children: _jsxs("div", { className: "admin-sidebar-footer-content", children: [_jsx(NavItemButton, { item: settingsItem, isActive: activeNav === 'settings' }), _jsxs("a", { href: storeUrl, target: "_blank", rel: "noopener noreferrer", className: "admin-sidebar-link", children: [_jsx(ExternalLink, { className: "admin-sidebar-item-icon" }), "View Store"] }), _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", variant: "white" }), _jsx("span", { className: "admin-powered-by-name", children: "Rovela" })] })] }) })] }));
|
|
93
93
|
}
|
|
94
94
|
//# 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;;;;;;;;GAQG;AAEH,OAAO,KAAyB,MAAM,OAAO,CAAA;AAC7C,OAAO,EAAE,eAAe,EAAE,OAAO,EAAE,UAAU,EAAE,aAAa,EAAE,KAAK,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,cAAc,CAAA;AACjH,OAAO,EAAE,wBAAwB,EAAE,MAAM,YAAY,CAAA;AAiCrD,gFAAgF;AAChF,4BAA4B;AAC5B,gFAAgF;AAEhF,MAAM,gBAAgB,GAAe;IACnC;QACE,KAAK,EAAE,MAAM;QACb,KAAK,EAAE;YACL,EAAE,EAAE,EAAE,WAAW,EAAE,KAAK,EAAE,WAAW,EAAE,IAAI,EAAE,QAAQ,EAAE;SACxD;KACF;IACD;QACE,KAAK,EAAE,SAAS;QAChB,KAAK,EAAE;YACL,EAAE,EAAE,EAAE,UAAU,EAAE,KAAK,EAAE,UAAU,EAAE,IAAI,EAAE,iBAAiB,EAAE;YAC9D,EAAE,EAAE,EAAE,YAAY,EAAE,KAAK,EAAE,YAAY,EAAE,IAAI,EAAE,mBAAmB,EAAE;SACrE;KACF;IACD;QACE,KAAK,EAAE,OAAO;QACd,KAAK,EAAE;YACL,EAAE,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE,QAAQ,EAAE,IAAI,EAAE,eAAe,EAAE;YACxD,EAAE,EAAE,EAAE,WAAW,EAAE,KAAK,EAAE,WAAW,EAAE,IAAI,EAAE,kBAAkB,EAAE;SAClE;KACF;CACF,CAAA;AAED,MAAM,YAAY,GAAY,EAAE,EAAE,EAAE,UAAU,EAAE,KAAK,EAAE,UAAU,EAAE,IAAI,EAAE,iBAAiB,EAAE,CAAA;AAE5F,
|
|
1
|
+
{"version":3,"file":"AdminNav.js","sourceRoot":"","sources":["../../../src/admin/components/AdminNav.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAA;;AAEZ;;;;;;;;GAQG;AAEH,OAAO,KAAyB,MAAM,OAAO,CAAA;AAC7C,OAAO,EAAE,eAAe,EAAE,OAAO,EAAE,UAAU,EAAE,aAAa,EAAE,KAAK,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,cAAc,CAAA;AACjH,OAAO,EAAE,wBAAwB,EAAE,MAAM,YAAY,CAAA;AAiCrD,gFAAgF;AAChF,4BAA4B;AAC5B,gFAAgF;AAEhF,MAAM,gBAAgB,GAAe;IACnC;QACE,KAAK,EAAE,MAAM;QACb,KAAK,EAAE;YACL,EAAE,EAAE,EAAE,WAAW,EAAE,KAAK,EAAE,WAAW,EAAE,IAAI,EAAE,QAAQ,EAAE;SACxD;KACF;IACD;QACE,KAAK,EAAE,SAAS;QAChB,KAAK,EAAE;YACL,EAAE,EAAE,EAAE,UAAU,EAAE,KAAK,EAAE,UAAU,EAAE,IAAI,EAAE,iBAAiB,EAAE;YAC9D,EAAE,EAAE,EAAE,YAAY,EAAE,KAAK,EAAE,YAAY,EAAE,IAAI,EAAE,mBAAmB,EAAE;SACrE;KACF;IACD;QACE,KAAK,EAAE,OAAO;QACd,KAAK,EAAE;YACL,EAAE,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE,QAAQ,EAAE,IAAI,EAAE,eAAe,EAAE;YACxD,EAAE,EAAE,EAAE,WAAW,EAAE,KAAK,EAAE,WAAW,EAAE,IAAI,EAAE,kBAAkB,EAAE;SAClE;KACF;CACF,CAAA;AAED,MAAM,YAAY,GAAY,EAAE,EAAE,EAAE,UAAU,EAAE,KAAK,EAAE,UAAU,EAAE,IAAI,EAAE,iBAAiB,EAAE,CAAA;AAE5F,sEAAsE;AACtE,SAAS,UAAU,CAAC,EAAE,SAAS,GAAG,mBAAmB,EAAE,OAAO,GAAG,OAAO,EAAuD;IAC7H,OAAO;IACL,qDAAqD;IACrD,cACE,GAAG,EAAC,4BAA4B,EAChC,GAAG,EAAC,QAAQ,EACZ,SAAS,EAAE,SAAS,EACpB,KAAK,EAAE,OAAO,KAAK,OAAO,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,yBAAyB,EAAE,CAAC,CAAC,CAAC,SAAS,GAC9E,CACH,CAAA;AACH,CAAC;AAED,MAAM,OAAO,GAAqD;IAChE,SAAS,EAAE,eAAe;IAC1B,QAAQ,EAAE,OAAO;IACjB,UAAU,EAAE,UAAU;IACtB,MAAM,EAAE,aAAa;IACrB,SAAS,EAAE,KAAK;IAChB,QAAQ,EAAE,QAAQ;CACnB,CAAA;AAED,gFAAgF;AAChF,qBAAqB;AACrB,gFAAgF;AAEhF,SAAS,aAAa,CAAC,EACrB,IAAI,EACJ,QAAQ,GAIT;IACC,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;IAE1C,OAAO,CACL,aACE,IAAI,EAAE,IAAI,CAAC,IAAI,EACf,SAAS,EAAE,sBAAsB,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,EAAE,aAG3D,eAAM,SAAS,EAAC,yBAAyB,GAAG,EAG5C,eAAM,SAAS,EAAC,yBAAyB,YACtC,IAAI,IAAI,CACP,KAAK,CAAC,cAAc,CAAC,IAAI,CAAC;oBACxB,CAAC,CAAC,IAAI;oBACN,CAAC,CAAC,KAAK,CAAC,aAAa,CAAC,IAAmD,EAAE,EAAE,SAAS,EAAE,wBAAwB,EAAE,CAAC,CACtH,GACI,EAGP,eAAM,SAAS,EAAC,0BAA0B,YACvC,IAAI,CAAC,KAAK,GACN,IACL,CACL,CAAA;AACH,CAAC;AAED,gFAAgF;AAChF,YAAY;AACZ,gFAAgF;AAEhF;;;;;;;GAOG;AACH,MAAM,UAAU,QAAQ,CAAC,EACvB,SAAS,EACT,KAAK,EACL,SAAS,EAAE,aAAa,GAAG,OAAO,EAClC,IAAI,EACJ,QAAQ,GAAG,GAAG,EACd,SAAS,GAAG,EAAE,GACA;IACd,2EAA2E;IAC3E,MAAM,aAAa,GAAG,wBAAwB,EAAE,CAAA;IAEhD,+CAA+C;IAC/C,MAAM,SAAS,GAAG,aAAa,KAAK,OAAO,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,aAAa,EAAE,SAAS,IAAI,aAAa,CAAC,CAAA;IAEzG,6EAA6E;IAC7E,MAAM,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,0BAA0B,IAAI,IAAI,CAAA;IAE9D,gEAAgE;IAChE,MAAM,SAAS,GAAG,CAAC,KAAK,CAAA;IAExB,OAAO,CACL,eAAK,SAAS,EAAE,iBAAiB,SAAS,EAAE,aAE1C,cAAK,SAAS,EAAC,sBAAsB,YAClC,IAAI,IAAI,CACP,OAAO,CAAC,CAAC,CAAC;gBACR,uCAAuC;gBACvC,aAAG,IAAI,EAAC,QAAQ,EAAC,SAAS,EAAC,2BAA2B,aAEpD,cACE,GAAG,EAAE,OAAO,EACZ,GAAG,EAAE,SAAS,EACd,SAAS,EAAC,oBAAoB,GAC9B,EACF,eAAK,SAAS,EAAC,2BAA2B,aACxC,eAAM,SAAS,EAAC,0BAA0B,YACvC,SAAS,GACL,EACP,eAAM,SAAS,EAAC,wBAAwB,4BAEjC,IACH,IACJ,CACL,CAAC,CAAC,CAAC;gBACF,gCAAgC;gBAChC,8BACE,cAAK,SAAS,EAAC,qBAAqB,YACjC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAC9B,EACN,eAAK,SAAS,EAAC,2BAA2B,aACxC,eAAM,SAAS,EAAC,0BAA0B,YACvC,SAAS,GACL,EACP,eAAM,SAAS,EAAC,wBAAwB,4BAEjC,IACH,IACL,CACJ,CACF,GACG,EAGN,cAAK,SAAS,EAAC,mBAAmB,YAC/B,SAAS,CAAC,CAAC,CAAC;gBACX,qBAAqB;gBACrB,cAAK,SAAS,EAAC,sBAAsB,YAClC,gBAAgB,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAC/B,eAAuB,SAAS,EAAC,uBAAuB,aAEtD,YAAG,SAAS,EAAC,6BAA6B,YACvC,KAAK,CAAC,KAAK,GACV,EAEJ,aAAI,SAAS,EAAC,qBAAqB,YAChC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CACzB,uBACE,KAAC,aAAa,IACZ,IAAI,EAAE,IAAI,EACV,QAAQ,EAAE,SAAS,KAAK,IAAI,CAAC,EAAE,GAC/B,IAJK,IAAI,CAAC,EAAE,CAKX,CACN,CAAC,GACC,KAfG,KAAK,CAAC,KAAK,CAgBf,CACP,CAAC,GACE,CACP,CAAC,CAAC,CAAC;gBACF,iCAAiC;gBACjC,aAAI,SAAS,EAAC,qBAAqB,YAChC,KAAK,EAAE,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CACpB,uBACE,KAAC,aAAa,IACZ,IAAI,EAAE,IAAI,EACV,QAAQ,EAAE,SAAS,KAAK,IAAI,CAAC,EAAE,GAC/B,IAJK,IAAI,CAAC,EAAE,CAKX,CACN,CAAC,GACC,CACN,GACG,EAGN,cAAK,SAAS,EAAC,sBAAsB,YACnC,eAAK,SAAS,EAAC,8BAA8B,aAE3C,KAAC,aAAa,IACZ,IAAI,EAAE,YAAY,EAClB,QAAQ,EAAE,SAAS,KAAK,UAAU,GAClC,EAGF,aACE,IAAI,EAAE,QAAQ,EACd,MAAM,EAAC,QAAQ,EACf,GAAG,EAAC,qBAAqB,EACzB,SAAS,EAAC,oBAAoB,aAE9B,KAAC,YAAY,IAAC,SAAS,EAAC,yBAAyB,GAAG,kBAElD,EAGJ,aACE,IAAI,EAAC,mBAAmB,EACxB,MAAM,EAAC,QAAQ,EACf,GAAG,EAAC,qBAAqB,EACzB,SAAS,EAAC,0BAA0B,aAEpC,wCAAuB,EACvB,KAAC,UAAU,IAAC,SAAS,EAAC,mBAAmB,EAAC,OAAO,EAAC,OAAO,GAAG,EAC5D,eAAM,SAAS,EAAC,uBAAuB,uBAAc,IACnD,IACA,GACF,IACF,CACP,CAAA;AACH,CAAC"}
|
|
@@ -132,7 +132,7 @@ export function CategorySelect({ value, onChange, placeholder = 'Select category
|
|
|
132
132
|
e.stopPropagation();
|
|
133
133
|
onChange(null);
|
|
134
134
|
}
|
|
135
|
-
}, className: "admin-icon-muted rounded p-0.5 cursor-pointer transition-colors hover:opacity-70", children: _jsx(X, { className: "h-3 w-3" }) })), _jsx(ChevronDown, { className: `h-4 w-4 admin-icon-muted transition-transform ${isOpen ? 'rotate-180' : ''}` })] })] }), isOpen && (_jsxs("div", { className: "admin-select-dropdown absolute z-50 mt-1 w-full rounded-md shadow-lg", children: [_jsx("div", { className: "admin-summary-divider p-2", children: _jsxs("div", { className: "relative", children: [_jsx(Search, { className: "absolute left-2.5 top-1/2 h-4 w-4 -translate-y-1/2 admin-icon-muted" }), _jsx("input", { ref: searchInputRef, type: "text", value: search, onChange: (e) => setSearch(e.target.value), placeholder: "Search categories...", className: "admin-input w-full rounded-md py-1.5 pl-
|
|
135
|
+
}, className: "admin-icon-muted rounded p-0.5 cursor-pointer transition-colors hover:opacity-70", children: _jsx(X, { className: "h-3 w-3" }) })), _jsx(ChevronDown, { className: `h-4 w-4 admin-icon-muted transition-transform ${isOpen ? 'rotate-180' : ''}` })] })] }), isOpen && (_jsxs("div", { className: "admin-select-dropdown absolute z-50 mt-1 w-full rounded-md shadow-lg", children: [_jsx("div", { className: "admin-summary-divider p-2", children: _jsxs("div", { className: "relative", children: [_jsx(Search, { className: "absolute left-2.5 top-1/2 h-4 w-4 -translate-y-1/2 admin-icon-muted" }), _jsx("input", { ref: searchInputRef, type: "text", value: search, onChange: (e) => setSearch(e.target.value), placeholder: "Search categories...", className: "admin-input w-full rounded-md py-1.5 pl-9 pr-3 text-sm" })] }) }), _jsx("div", { className: "max-h-60 overflow-auto p-1", children: filteredCategories.length === 0 ? (_jsx("div", { className: "admin-text-muted px-3 py-6 text-center text-sm", children: search ? 'No categories found' : 'No categories yet' })) : (filteredCategories.map((category) => (_jsxs("button", { type: "button", onClick: () => {
|
|
136
136
|
onChange(category.id);
|
|
137
137
|
setIsOpen(false);
|
|
138
138
|
setSearch('');
|
|
@@ -169,6 +169,6 @@ export function CustomerDetails({ customerId, onBack, onDelete, className = '',
|
|
|
169
169
|
if (!customer) {
|
|
170
170
|
return (_jsxs("div", { className: `admin-card p-12 text-center ${className}`, children: [_jsx(User, { className: "mx-auto h-12 w-12 admin-empty-icon" }), _jsx("p", { className: "mt-4 admin-empty-text", children: "Customer not found" }), onBack && (_jsx("button", { onClick: onBack, className: "mt-4 admin-link-primary text-sm", children: "Go back" }))] }));
|
|
171
171
|
}
|
|
172
|
-
return (_jsxs("div", { className: `space-y-6 ${className}`, children: [_jsx("div", { className: "flex items-center justify-between", children: _jsxs("div", { className: "flex items-center gap-4", children: [
|
|
172
|
+
return (_jsxs("div", { className: `space-y-6 ${className}`, children: [onBack && (_jsx("div", { className: "flex items-center justify-between", children: _jsxs("div", { className: "flex items-center gap-4", children: [_jsx("button", { onClick: onBack, className: "admin-btn admin-btn-secondary p-2", children: _jsx(ArrowLeft, { className: "h-4 w-4" }) }), _jsxs("div", { children: [_jsxs("div", { className: "flex items-center gap-3", children: [_jsx("h1", { className: "admin-page-title", children: customer.name || 'Unnamed Customer' }), _jsx(VerificationBadge, { verified: !!customer.emailVerified })] }), _jsx("p", { className: "admin-page-subtitle", children: customer.email })] })] }) })), _jsxs("div", { className: "grid gap-6 lg:grid-cols-3", children: [_jsxs("div", { className: "lg:col-span-2 space-y-6", children: [_jsxs("div", { className: "admin-card overflow-hidden", children: [_jsxs("div", { className: "admin-card-header flex items-center justify-between", children: [_jsx("h2", { className: "admin-card-title", children: "Customer Information" }), !isEditing && (_jsxs("button", { onClick: handleEditStart, className: "admin-action-link inline-flex items-center gap-1", children: [_jsx(Pencil, { className: "h-3 w-3" }), "Edit"] }))] }), _jsx("div", { className: "p-6", children: isEditing ? (_jsxs("div", { className: "space-y-4", children: [_jsxs("div", { children: [_jsx("label", { className: "admin-label", children: "Name" }), _jsx("input", { type: "text", value: editName, onChange: (e) => setEditName(e.target.value), placeholder: "Customer name", className: "admin-input w-full" })] }), _jsxs("div", { children: [_jsx("label", { className: "admin-label", children: "Email" }), _jsx("input", { type: "email", value: editEmail, onChange: (e) => setEditEmail(e.target.value), placeholder: "customer@example.com", className: "admin-input w-full" })] }), editError && (_jsx("p", { className: "admin-error-text text-sm", children: editError })), _jsxs("div", { className: "flex gap-2", children: [_jsxs("button", { onClick: handleEditSave, disabled: isSaving, className: "admin-btn admin-btn-primary admin-btn-sm inline-flex items-center gap-1 disabled:opacity-50", children: [_jsx(Check, { className: "h-3 w-3" }), isSaving ? 'Saving...' : 'Save'] }), _jsxs("button", { onClick: handleEditCancel, disabled: isSaving, className: "admin-btn admin-btn-secondary admin-btn-sm inline-flex items-center gap-1 disabled:opacity-50", children: [_jsx(X, { className: "h-3 w-3" }), "Cancel"] })] })] })) : (_jsxs("div", { className: "space-y-4", children: [_jsxs("div", { className: "flex items-center gap-3", children: [_jsx(Mail, { className: "h-4 w-4 admin-text-muted" }), _jsxs("div", { children: [_jsx("p", { className: "text-sm admin-text-muted", children: "Email" }), _jsx("p", { children: customer.email })] })] }), _jsxs("div", { className: "flex items-center gap-3", children: [_jsx(User, { className: "h-4 w-4 admin-text-muted" }), _jsxs("div", { children: [_jsx("p", { className: "text-sm admin-text-muted", children: "Name" }), _jsx("p", { children: customer.name || 'Not provided' })] })] }), _jsxs("div", { className: "flex items-center gap-3", children: [_jsx(Calendar, { className: "h-4 w-4 admin-text-muted" }), _jsxs("div", { children: [_jsx("p", { className: "text-sm admin-text-muted", children: "Joined" }), _jsx("p", { children: formatDate(customer.createdAt) })] })] }), customer.stripeCustomerId && (_jsxs("div", { className: "flex items-center gap-3", children: [_jsx(CreditCard, { className: "h-4 w-4 admin-text-muted" }), _jsxs("div", { children: [_jsx("p", { className: "text-sm admin-text-muted", children: "Stripe Customer ID" }), _jsx("p", { className: "font-mono text-sm", children: customer.stripeCustomerId })] })] }))] })) })] }), _jsxs("div", { className: "admin-card overflow-hidden", children: [_jsx("div", { className: "admin-card-header", children: _jsx("h2", { className: "admin-card-title", children: "Order History" }) }), customer.orders && customer.orders.length > 0 ? (_jsx("div", { className: "admin-card-divider-y", children: customer.orders.map((order) => (_jsxs("a", { href: `/admin/orders/${order.id}`, className: "admin-inventory-item flex items-center justify-between", children: [_jsxs("div", { className: "flex items-center gap-4", children: [_jsx("div", { className: "admin-image-placeholder h-10 w-10 rounded", children: _jsx(ShoppingBag, { className: "h-5 w-5" }) }), _jsxs("div", { children: [_jsxs("p", { className: "admin-inventory-item-link", children: ["Order #", order.id.slice(-8).toUpperCase()] }), _jsx("p", { className: "text-sm admin-text-muted", children: formatDateTime(order.createdAt) })] })] }), _jsxs("div", { className: "flex items-center gap-4", children: [_jsx(OrderStatusBadge, { status: order.status }), _jsx("span", { className: "font-medium", children: formatCurrency(order.total) })] })] }, order.id))) })) : (_jsxs("div", { className: "admin-empty-state py-12", children: [_jsx(ShoppingBag, { className: "mx-auto h-8 w-8 admin-empty-icon" }), _jsx("p", { className: "mt-2 admin-empty-text text-sm", children: "No orders yet" })] }))] })] }), _jsxs("div", { className: "space-y-6", children: [_jsxs("div", { className: "admin-card p-6", children: [_jsx("h2", { className: "admin-card-title mb-4", children: "Customer Stats" }), _jsxs("div", { className: "space-y-4", children: [_jsxs("div", { className: "flex items-center justify-between", children: [_jsxs("div", { className: "flex items-center gap-2 admin-text-muted", children: [_jsx(ShoppingBag, { className: "h-4 w-4" }), _jsx("span", { className: "text-sm", children: "Total Orders" })] }), _jsx("span", { className: "font-medium", children: customer.stats?.totalOrders ?? 0 })] }), _jsxs("div", { className: "flex items-center justify-between", children: [_jsxs("div", { className: "flex items-center gap-2 admin-text-muted", children: [_jsx(DollarSign, { className: "h-4 w-4" }), _jsx("span", { className: "text-sm", children: "Total Spent" })] }), _jsx("span", { className: "font-medium", children: formatCurrency(customer.stats?.totalSpent ?? 0) })] })] })] }), _jsxs("div", { className: "admin-card p-6", children: [_jsx("h2", { className: "admin-card-title mb-4", children: "Actions" }), _jsxs("div", { className: "space-y-3", children: [_jsxs("button", { onClick: handleDeleteClick, className: "admin-btn admin-btn-destructive w-full inline-flex items-center justify-center gap-2", children: [_jsx(Trash2, { className: "h-4 w-4" }), "Delete Customer"] }), _jsx("p", { className: "text-xs admin-text-muted", children: "Deleting a customer anonymizes their data while preserving order history." })] })] })] })] }), _jsx(DeleteConfirmDialog, { isOpen: showDeleteDialog, title: "Delete Customer", itemName: customer.name || customer.email, itemType: "customer", isDeleting: isDeleting, error: deleteError, onConfirm: handleDeleteConfirm, onCancel: handleDeleteCancel })] }));
|
|
173
173
|
}
|
|
174
174
|
//# sourceMappingURL=CustomerDetails.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CustomerDetails.js","sourceRoot":"","sources":["../../../src/admin/components/CustomerDetails.tsx"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"CustomerDetails.js","sourceRoot":"","sources":["../../../src/admin/components/CustomerDetails.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ProductTable.d.ts","sourceRoot":"","sources":["../../../src/admin/components/ProductTable.tsx"],"names":[],"mappings":"AAcA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAA;
|
|
1
|
+
{"version":3,"file":"ProductTable.d.ts","sourceRoot":"","sources":["../../../src/admin/components/ProductTable.tsx"],"names":[],"mappings":"AAcA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAA;AA+GjD;;;;;;;;;GASG;AACH,wBAAgB,YAAY,CAAC,EAC3B,aAAa,EACb,eAAe,EACf,aAAa,EACb,QAAa,EACb,cAAc,EACd,SAAc,GACf,EAAE,iBAAiB,2CA8NnB"}
|
|
@@ -7,7 +7,7 @@ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
|
7
7
|
* Styled with Rovela admin theme - uses pure CSS for hover states.
|
|
8
8
|
*/
|
|
9
9
|
import { useState, useEffect, useCallback } from 'react';
|
|
10
|
-
import { ImageIcon } from 'lucide-react';
|
|
10
|
+
import { ImageIcon, Pencil, Trash2 } from 'lucide-react';
|
|
11
11
|
import { useAdminProducts } from '../hooks/useAdminProducts';
|
|
12
12
|
import { useStoreSettingsOptional } from '../../core/StoreSettingsProvider';
|
|
13
13
|
import { DeleteConfirmDialog } from './DeleteConfirmDialog';
|
|
@@ -29,7 +29,7 @@ function ProductRow({ product: p, onProductClick, onDeleteClick, formatCurrency
|
|
|
29
29
|
e.preventDefault();
|
|
30
30
|
onProductClick(p.id);
|
|
31
31
|
}
|
|
32
|
-
}, className: "admin-inventory-item-link", children: p.name })] }) }), _jsx("td", { className: "px-6 py-4", children: _jsx(StatusBadge, { status: p.status }) }), _jsx("td", { className: "px-6 py-4 text-sm font-medium", children: formatCurrency(p.price) }), _jsx("td", { className: "px-6 py-4 text-sm admin-text-muted", children: "\u2014" }), _jsx("td", { className: "px-6 py-4", children: _jsxs("div", { className: "flex items-center gap-2", children: [_jsx("a", { href: `/admin/products/${p.id}`, className: "admin-
|
|
32
|
+
}, className: "admin-inventory-item-link", children: p.name })] }) }), _jsx("td", { className: "px-6 py-4", children: _jsx(StatusBadge, { status: p.status }) }), _jsx("td", { className: "px-6 py-4 text-sm font-medium", children: formatCurrency(p.price) }), _jsx("td", { className: "px-6 py-4 text-sm admin-text-muted", children: "\u2014" }), _jsx("td", { className: "px-6 py-4", children: _jsxs("div", { className: "flex items-center gap-2", children: [_jsx("a", { href: `/admin/products/${p.id}`, className: "p-2 rounded-md hover:bg-[hsl(var(--admin-background-subtle))] text-[hsl(var(--admin-foreground-muted))] hover:text-[hsl(var(--admin-foreground))] transition-colors", children: _jsx(Pencil, { className: "h-4 w-4" }) }), _jsx("button", { type: "button", onClick: () => onDeleteClick(p.id, p.name), className: "p-2 rounded-md hover:bg-[hsl(var(--admin-destructive)/0.1)] text-[hsl(var(--admin-foreground-muted))] hover:text-[hsl(var(--admin-destructive))] transition-colors", children: _jsx(Trash2, { className: "h-4 w-4" }) })] }) })] }));
|
|
33
33
|
}
|
|
34
34
|
// =============================================================================
|
|
35
35
|
// Component
|
|
@@ -108,7 +108,7 @@ export function ProductTable({ initialSearch, initialCategory, initialStatus, pa
|
|
|
108
108
|
}).format(parseFloat(value));
|
|
109
109
|
};
|
|
110
110
|
const totalPages = Math.ceil(total / pageSize);
|
|
111
|
-
return (_jsxs("div", { className: `space-y-4 ${className}`, children: [_jsxs("div", { className: "
|
|
111
|
+
return (_jsxs("div", { className: `space-y-4 ${className}`, children: [_jsxs("div", { className: "admin-filter-bar", children: [_jsx("input", { type: "text", value: search, onChange: (e) => setSearch(e.target.value), placeholder: "Search products...", className: "admin-filter-search" }), _jsxs("select", { value: status, onChange: (e) => setStatus(e.target.value), className: "admin-filter-select", children: [_jsx("option", { value: "", children: "All Status" }), _jsx("option", { value: "active", children: "Active" }), _jsx("option", { value: "draft", children: "Draft" }), _jsx("option", { value: "archived", children: "Archived" })] }), _jsxs("select", { value: sort, onChange: (e) => setSort(e.target.value), className: "admin-filter-select", children: [_jsx("option", { value: "newest", children: "Newest" }), _jsx("option", { value: "name", children: "Name" }), _jsx("option", { value: "price-asc", children: "Price: Low to High" }), _jsx("option", { value: "price-desc", children: "Price: High to Low" })] })] }), _jsxs("div", { className: "admin-card overflow-hidden", children: [_jsx("div", { className: "overflow-x-auto", children: _jsxs("table", { className: "admin-table w-full", children: [_jsx("thead", { children: _jsxs("tr", { className: "admin-table-header", children: [_jsx("th", { className: "px-6 py-3 text-left", children: "Product" }), _jsx("th", { className: "px-6 py-3 text-left", children: "Status" }), _jsx("th", { className: "px-6 py-3 text-left", children: "Price" }), _jsx("th", { className: "px-6 py-3 text-left", children: "Inventory" }), _jsx("th", { className: "px-6 py-3 text-left", children: "Actions" })] }) }), _jsx("tbody", { children: isLoading ? ([...Array(5)].map((_, i) => (_jsxs("tr", { className: "admin-table-row", children: [_jsx("td", { className: "px-6 py-4", children: _jsxs("div", { className: "flex items-center gap-3", children: [_jsx("div", { className: "admin-skeleton admin-skeleton-xl w-10 rounded" }), _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-16 rounded" }) }), _jsx("td", { className: "px-6 py-4", children: _jsx("div", { className: "admin-skeleton admin-skeleton-md w-12 rounded" }) }), _jsx("td", { className: "px-6 py-4", children: _jsx("div", { className: "admin-skeleton admin-skeleton-md w-20 rounded" }) })] }, i)))) : products.length === 0 ? (_jsx("tr", { children: _jsx("td", { colSpan: 5, className: "px-6 py-12 text-center admin-empty-text", children: "No products found" }) })) : (products.map((product) => {
|
|
112
112
|
const p = product;
|
|
113
113
|
return (_jsx(ProductRow, { product: p, onProductClick: onProductClick, onDeleteClick: handleDeleteClick, formatCurrency: formatCurrency }, p.id));
|
|
114
114
|
})) })] }) }), totalPages > 1 && (_jsxs("div", { className: "admin-pagination px-6", children: [_jsxs("p", { className: "admin-pagination-info", children: ["Showing ", (page - 1) * pageSize + 1, " to ", Math.min(page * pageSize, total), " of ", total] }), _jsxs("div", { className: "admin-pagination-controls", children: [_jsx("button", { onClick: () => handlePageChange(page - 1), disabled: page === 1, className: "admin-btn admin-btn-secondary admin-btn-sm disabled:opacity-50", children: "Previous" }), _jsx("button", { onClick: () => handlePageChange(page + 1), disabled: page >= totalPages, className: "admin-btn admin-btn-secondary admin-btn-sm disabled:opacity-50", children: "Next" })] })] }))] }), _jsx(DeleteConfirmDialog, { isOpen: !!deleteTarget, title: "Delete Product", itemName: deleteTarget?.name || '', itemType: "product", isDeleting: isDeleting, error: deleteError, onConfirm: handleDeleteConfirm, onCancel: handleDeleteCancel })] }));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ProductTable.js","sourceRoot":"","sources":["../../../src/admin/components/ProductTable.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAA;;AAEZ;;;;;GAKG;AAEH,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,OAAO,CAAA;AACxD,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAA;
|
|
1
|
+
{"version":3,"file":"ProductTable.js","sourceRoot":"","sources":["../../../src/admin/components/ProductTable.tsx"],"names":[],"mappings":"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"}
|
|
@@ -7,7 +7,7 @@ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
|
7
7
|
*/
|
|
8
8
|
import { DollarSign, ShoppingBag, Users, Package, ChevronRight } from 'lucide-react';
|
|
9
9
|
function StatsCardItem({ label, value, format, icon: Icon, href, isLoading }) {
|
|
10
|
-
return (_jsxs("a", { href: href, className: "admin-stat-card
|
|
10
|
+
return (_jsxs("a", { href: href, className: "admin-stat-card", children: [_jsxs("div", { className: "admin-stat-content", children: [_jsxs("div", { className: "admin-stat-text", children: [_jsx("p", { className: "admin-stat-label", children: label }), isLoading ? (_jsx("div", { className: "admin-skeleton", style: { height: '2.25rem', width: '7rem' } })) : (_jsx("p", { className: "admin-stat-value", children: format(value) }))] }), _jsx("div", { className: "admin-stat-icon", children: _jsx(Icon, {}) })] }), _jsxs("div", { className: "admin-stat-link", children: [_jsx("span", { children: "View details" }), _jsx(ChevronRight, { className: "admin-chevron-animate", style: { marginLeft: '0.25rem', width: '0.75rem', height: '0.75rem' } })] })] }));
|
|
11
11
|
}
|
|
12
12
|
// =============================================================================
|
|
13
13
|
// Component
|
|
@@ -66,6 +66,6 @@ export function StatsCards({ stats, isLoading = false, currency = 'USD', classNa
|
|
|
66
66
|
href: '/admin/products',
|
|
67
67
|
},
|
|
68
68
|
];
|
|
69
|
-
return (_jsx("div", { className: `
|
|
69
|
+
return (_jsx("div", { className: `admin-stats-grid ${className}`, children: cards.map((card, index) => (_jsx("div", { className: `admin-animate-fade-up admin-stagger-${index + 1}`, children: _jsx(StatsCardItem, { label: card.label, value: card.value, format: card.format, icon: card.icon, href: card.href, isLoading: isLoading }) }, card.label))) }));
|
|
70
70
|
}
|
|
71
71
|
//# sourceMappingURL=StatsCards.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"StatsCards.js","sourceRoot":"","sources":["../../../src/admin/components/StatsCards.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAA;;AAEZ;;;;GAIG;AAEH,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,KAAK,EAAE,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAA;AAgBpF,SAAS,aAAa,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAsB;IAC9F,OAAO,CACL,aACE,IAAI,EAAE,IAAI,EACV,SAAS,EAAC,
|
|
1
|
+
{"version":3,"file":"StatsCards.js","sourceRoot":"","sources":["../../../src/admin/components/StatsCards.tsx"],"names":[],"mappings":"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"}
|
|
@@ -29,15 +29,16 @@
|
|
|
29
29
|
--admin-background: 36 36% 95%; /* Warm Cream #F7F3ED - matches platform */
|
|
30
30
|
--admin-background-subtle: 36 20% 90%; /* Slightly darker - matches platform --secondary */
|
|
31
31
|
--admin-card: 0 0% 100%; /* Pure white cards */
|
|
32
|
-
--admin-sidebar:
|
|
33
|
-
--admin-sidebar-hover:
|
|
32
|
+
--admin-sidebar: 222 47% 11%; /* #0f172a - Slate 900 - Deep navy */
|
|
33
|
+
--admin-sidebar-hover: 222 47% 15%; /* #1e293b - Slate 800 - Visible hover */
|
|
34
|
+
--admin-sidebar-border: 215 25% 27%; /* #334155 - Slate 700 - Clear border */
|
|
34
35
|
|
|
35
36
|
/* Text Colors */
|
|
36
37
|
--admin-foreground: 220 20% 14%; /* Near-black text */
|
|
37
38
|
--admin-foreground-muted: 220 10% 46%; /* Secondary text #6B7280 */
|
|
38
39
|
--admin-foreground-subtle: 220 10% 64%; /* Tertiary/placeholder */
|
|
39
|
-
--admin-sidebar-foreground:
|
|
40
|
-
--admin-sidebar-foreground-muted:
|
|
40
|
+
--admin-sidebar-foreground: 210 40% 96%;/* #f1f5f9 - Slate 100 - Crisp white */
|
|
41
|
+
--admin-sidebar-foreground-muted: 215 20% 65%; /* #94a3b8 - Slate 400 - Readable muted */
|
|
41
42
|
|
|
42
43
|
/* Borders - Warm gray to match Rovela platform */
|
|
43
44
|
--admin-border: 36 20% 90%; /* Warm gray border (was cool gray 220) */
|
|
@@ -64,6 +65,10 @@
|
|
|
64
65
|
--admin-font-sans: 'Plus Jakarta Sans', system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
|
|
65
66
|
--admin-font-mono: 'SF Mono', 'Fira Code', 'Fira Mono', Menlo, Consolas, monospace;
|
|
66
67
|
|
|
68
|
+
/* Override store font variables to use Rovela's Plus Jakarta Sans in admin */
|
|
69
|
+
--font-heading: 'Plus Jakarta Sans', system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
|
|
70
|
+
--font-body: 'Plus Jakarta Sans', system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
|
|
71
|
+
|
|
67
72
|
/* Font Sizes */
|
|
68
73
|
--admin-text-xs: 0.75rem; /* 12px */
|
|
69
74
|
--admin-text-sm: 0.8125rem; /* 13px */
|
|
@@ -223,15 +228,16 @@
|
|
|
223
228
|
--admin-background: 200 10% 10%; /* Dark blue-gray */
|
|
224
229
|
--admin-background-subtle: 200 10% 14%; /* Slightly lighter */
|
|
225
230
|
--admin-card: 200 10% 14%; /* Card surfaces */
|
|
226
|
-
--admin-sidebar:
|
|
227
|
-
--admin-sidebar-hover:
|
|
231
|
+
--admin-sidebar: 224 71% 4%; /* #020617 - Slate 950 - Near black */
|
|
232
|
+
--admin-sidebar-hover: 222 47% 11%; /* #0f172a - Slate 900 - Visible hover */
|
|
233
|
+
--admin-sidebar-border: 217 33% 17%; /* #1e293b - Slate 800 - Clear border */
|
|
228
234
|
|
|
229
235
|
/* Text Colors - Inverted for dark mode */
|
|
230
236
|
--admin-foreground: 36 36% 95%; /* Cream text */
|
|
231
237
|
--admin-foreground-muted: 196 6% 60%; /* Muted text */
|
|
232
238
|
--admin-foreground-subtle: 196 6% 50%; /* Subtle text */
|
|
233
|
-
--admin-sidebar-foreground:
|
|
234
|
-
--admin-sidebar-foreground-muted:
|
|
239
|
+
--admin-sidebar-foreground: 210 40% 98%; /* #f8fafc - Slate 50 - Bright white */
|
|
240
|
+
--admin-sidebar-foreground-muted: 215 20% 65%; /* #94a3b8 - Slate 400 - Readable */
|
|
235
241
|
|
|
236
242
|
/* Primary - Brighter emerald for dark mode */
|
|
237
243
|
--admin-primary: 163 86% 45%; /* Brighter emerald */
|
|
@@ -293,15 +299,86 @@
|
|
|
293
299
|
--admin-background: 200 10% 10%;
|
|
294
300
|
--admin-background-subtle: 200 10% 14%;
|
|
295
301
|
--admin-card: 200 10% 14%;
|
|
296
|
-
--admin-sidebar:
|
|
297
|
-
--admin-sidebar-hover:
|
|
302
|
+
--admin-sidebar: 224 71% 4%; /* #020617 - Slate 950 - Near black */
|
|
303
|
+
--admin-sidebar-hover: 222 47% 11%; /* #0f172a - Slate 900 - Visible hover */
|
|
304
|
+
--admin-sidebar-border: 217 33% 17%; /* #1e293b - Slate 800 - Clear border */
|
|
298
305
|
|
|
299
306
|
/* Text Colors */
|
|
300
307
|
--admin-foreground: 36 36% 95%;
|
|
301
308
|
--admin-foreground-muted: 196 6% 60%;
|
|
302
309
|
--admin-foreground-subtle: 196 6% 50%;
|
|
303
|
-
--admin-sidebar-foreground:
|
|
304
|
-
--admin-sidebar-foreground-muted:
|
|
310
|
+
--admin-sidebar-foreground: 210 40% 98%; /* #f8fafc - Slate 50 - Bright white */
|
|
311
|
+
--admin-sidebar-foreground-muted: 215 20% 65%; /* #94a3b8 - Slate 400 - Readable */
|
|
312
|
+
|
|
313
|
+
/* Primary */
|
|
314
|
+
--admin-primary: 163 86% 45%;
|
|
315
|
+
--admin-primary-hover: 163 86% 50%;
|
|
316
|
+
--admin-primary-light: 163 86% 20%;
|
|
317
|
+
--admin-primary-foreground: 200 10% 10%;
|
|
318
|
+
|
|
319
|
+
/* Borders */
|
|
320
|
+
--admin-border: 200 10% 20%;
|
|
321
|
+
--admin-border-hover: 200 10% 25%;
|
|
322
|
+
--admin-border-focus: 163 86% 45%;
|
|
323
|
+
|
|
324
|
+
/* Status Colors */
|
|
325
|
+
--admin-success: 168 100% 40%;
|
|
326
|
+
--admin-success-light: 168 100% 15%;
|
|
327
|
+
--admin-success-dark: 168 100% 60%;
|
|
328
|
+
--admin-warning: 43 97% 50%;
|
|
329
|
+
--admin-warning-light: 43 97% 15%;
|
|
330
|
+
--admin-warning-dark: 43 97% 70%;
|
|
331
|
+
--admin-error: 0 100% 65%;
|
|
332
|
+
--admin-error-light: 0 100% 15%;
|
|
333
|
+
--admin-error-dark: 0 100% 75%;
|
|
334
|
+
--admin-info: 199 89% 55%;
|
|
335
|
+
--admin-info-light: 199 89% 15%;
|
|
336
|
+
--admin-info-dark: 199 89% 70%;
|
|
337
|
+
|
|
338
|
+
/* Shadows */
|
|
339
|
+
--admin-shadow-sm: 0 2px 4px rgb(0 0 0 / 0.3);
|
|
340
|
+
--admin-shadow-md: 0 4px 12px rgb(0 0 0 / 0.4);
|
|
341
|
+
--admin-shadow-lg: 0 8px 24px rgb(0 0 0 / 0.5);
|
|
342
|
+
--admin-shadow-xl: 0 16px 48px rgb(0 0 0 / 0.6);
|
|
343
|
+
|
|
344
|
+
/* Standard variable mappings */
|
|
345
|
+
--background: var(--admin-background);
|
|
346
|
+
--foreground: var(--admin-foreground);
|
|
347
|
+
--card: var(--admin-card);
|
|
348
|
+
--card-foreground: var(--admin-foreground);
|
|
349
|
+
--popover: var(--admin-card);
|
|
350
|
+
--popover-foreground: var(--admin-foreground);
|
|
351
|
+
--primary: var(--admin-primary);
|
|
352
|
+
--primary-foreground: var(--admin-primary-foreground);
|
|
353
|
+
--secondary: var(--admin-background-subtle);
|
|
354
|
+
--secondary-foreground: var(--admin-foreground);
|
|
355
|
+
--muted: var(--admin-background-subtle);
|
|
356
|
+
--muted-foreground: var(--admin-foreground-muted);
|
|
357
|
+
--accent: var(--admin-primary-light);
|
|
358
|
+
--accent-foreground: var(--admin-primary);
|
|
359
|
+
--border: var(--admin-border);
|
|
360
|
+
--input: var(--admin-border);
|
|
361
|
+
--ring: var(--admin-primary);
|
|
362
|
+
--destructive: var(--admin-error);
|
|
363
|
+
--destructive-foreground: 0 0% 100%;
|
|
364
|
+
}
|
|
365
|
+
|
|
366
|
+
/* Dark mode when .dark class is on ancestor (next-themes pattern) */
|
|
367
|
+
.dark .rovela-admin-theme {
|
|
368
|
+
/* Backgrounds - Dark blue-gray palette */
|
|
369
|
+
--admin-background: 200 10% 10%;
|
|
370
|
+
--admin-background-subtle: 200 10% 14%;
|
|
371
|
+
--admin-card: 200 10% 14%;
|
|
372
|
+
--admin-sidebar: 224 71% 4%; /* #020617 - Slate 950 - Near black */
|
|
373
|
+
--admin-sidebar-hover: 222 47% 11%; /* #0f172a - Slate 900 - Visible hover */
|
|
374
|
+
--admin-sidebar-border: 217 33% 17%; /* #1e293b - Slate 800 - Clear border */
|
|
375
|
+
|
|
376
|
+
/* Text Colors */
|
|
377
|
+
--admin-foreground: 36 36% 95%;
|
|
378
|
+
--admin-foreground-muted: 196 6% 60%;
|
|
379
|
+
--admin-foreground-subtle: 196 6% 50%;
|
|
380
|
+
--admin-sidebar-foreground: 210 40% 98%; /* #f8fafc - Slate 50 - Bright white */
|
|
381
|
+
--admin-sidebar-foreground-muted: 215 20% 65%; /* #94a3b8 - Slate 400 - Readable */
|
|
305
382
|
|
|
306
383
|
/* Primary */
|
|
307
384
|
--admin-primary: 163 86% 45%;
|
|
@@ -376,6 +453,33 @@
|
|
|
376
453
|
border-color: hsl(var(--admin-border));
|
|
377
454
|
}
|
|
378
455
|
|
|
456
|
+
/* ═══════════════════════════════════════════════════════════════════════════
|
|
457
|
+
LAYOUT STRUCTURE
|
|
458
|
+
═══════════════════════════════════════════════════════════════════════════ */
|
|
459
|
+
|
|
460
|
+
/* Main layout container - flex row with sidebar and main content */
|
|
461
|
+
.rovela-admin-theme .admin-layout {
|
|
462
|
+
display: flex;
|
|
463
|
+
height: 100vh;
|
|
464
|
+
width: 100%;
|
|
465
|
+
}
|
|
466
|
+
|
|
467
|
+
/* Main content area - flex column with header and content */
|
|
468
|
+
.rovela-admin-theme .admin-layout-main {
|
|
469
|
+
display: flex;
|
|
470
|
+
flex: 1;
|
|
471
|
+
flex-direction: column;
|
|
472
|
+
overflow: hidden;
|
|
473
|
+
min-width: 0; /* Prevent flex child from overflowing */
|
|
474
|
+
}
|
|
475
|
+
|
|
476
|
+
/* Content area - scrollable with padding */
|
|
477
|
+
.rovela-admin-theme .admin-layout-content {
|
|
478
|
+
flex: 1;
|
|
479
|
+
overflow-y: auto;
|
|
480
|
+
padding: var(--admin-space-6);
|
|
481
|
+
}
|
|
482
|
+
|
|
379
483
|
/* ═══════════════════════════════════════════════════════════════════════════
|
|
380
484
|
TYPOGRAPHY UTILITIES
|
|
381
485
|
═══════════════════════════════════════════════════════════════════════════ */
|
|
@@ -771,6 +875,74 @@
|
|
|
771
875
|
background: currentColor;
|
|
772
876
|
}
|
|
773
877
|
|
|
878
|
+
/* ═══════════════════════════════════════════════════════════════════════════
|
|
879
|
+
FILTER TOOLBAR - Clean filter bar styling for tables
|
|
880
|
+
═══════════════════════════════════════════════════════════════════════════ */
|
|
881
|
+
|
|
882
|
+
.rovela-admin-theme .admin-filter-bar {
|
|
883
|
+
display: flex;
|
|
884
|
+
flex-wrap: wrap;
|
|
885
|
+
align-items: center;
|
|
886
|
+
gap: var(--admin-space-3);
|
|
887
|
+
margin-bottom: var(--admin-space-4);
|
|
888
|
+
}
|
|
889
|
+
|
|
890
|
+
.rovela-admin-theme .admin-filter-search {
|
|
891
|
+
height: 2.25rem;
|
|
892
|
+
padding: 0 var(--admin-space-3);
|
|
893
|
+
font-family: var(--admin-font-sans);
|
|
894
|
+
font-size: var(--admin-text-sm);
|
|
895
|
+
background: hsl(var(--admin-card));
|
|
896
|
+
border: var(--admin-border-width) solid hsl(var(--admin-border));
|
|
897
|
+
border-radius: var(--admin-radius-md);
|
|
898
|
+
color: hsl(var(--admin-foreground));
|
|
899
|
+
min-width: 200px;
|
|
900
|
+
max-width: 280px;
|
|
901
|
+
transition: var(--admin-transition-colors);
|
|
902
|
+
}
|
|
903
|
+
|
|
904
|
+
.rovela-admin-theme .admin-filter-search::placeholder {
|
|
905
|
+
color: hsl(var(--admin-foreground-subtle));
|
|
906
|
+
}
|
|
907
|
+
|
|
908
|
+
.rovela-admin-theme .admin-filter-search:hover:not(:focus) {
|
|
909
|
+
border-color: hsl(var(--admin-border-hover));
|
|
910
|
+
}
|
|
911
|
+
|
|
912
|
+
.rovela-admin-theme .admin-filter-search:focus {
|
|
913
|
+
outline: none;
|
|
914
|
+
border-color: hsl(var(--admin-primary));
|
|
915
|
+
box-shadow: 0 0 0 3px hsl(var(--admin-primary) / 0.1);
|
|
916
|
+
}
|
|
917
|
+
|
|
918
|
+
.rovela-admin-theme .admin-filter-select {
|
|
919
|
+
appearance: none;
|
|
920
|
+
height: 2.25rem;
|
|
921
|
+
padding: 0 var(--admin-space-8) 0 var(--admin-space-3);
|
|
922
|
+
font-family: var(--admin-font-sans);
|
|
923
|
+
font-size: var(--admin-text-sm);
|
|
924
|
+
background: hsl(var(--admin-card));
|
|
925
|
+
border: var(--admin-border-width) solid hsl(var(--admin-border));
|
|
926
|
+
border-radius: var(--admin-radius-md);
|
|
927
|
+
color: hsl(var(--admin-foreground));
|
|
928
|
+
cursor: pointer;
|
|
929
|
+
background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%236B7280' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");
|
|
930
|
+
background-repeat: no-repeat;
|
|
931
|
+
background-position: right var(--admin-space-2) center;
|
|
932
|
+
background-size: 1rem;
|
|
933
|
+
transition: var(--admin-transition-colors);
|
|
934
|
+
}
|
|
935
|
+
|
|
936
|
+
.rovela-admin-theme .admin-filter-select:hover:not(:focus) {
|
|
937
|
+
border-color: hsl(var(--admin-border-hover));
|
|
938
|
+
}
|
|
939
|
+
|
|
940
|
+
.rovela-admin-theme .admin-filter-select:focus {
|
|
941
|
+
outline: none;
|
|
942
|
+
border-color: hsl(var(--admin-primary));
|
|
943
|
+
box-shadow: 0 0 0 3px hsl(var(--admin-primary) / 0.1);
|
|
944
|
+
}
|
|
945
|
+
|
|
774
946
|
/* ═══════════════════════════════════════════════════════════════════════════
|
|
775
947
|
TABLE COMPONENTS
|
|
776
948
|
═══════════════════════════════════════════════════════════════════════════ */
|
|
@@ -795,9 +967,9 @@
|
|
|
795
967
|
text-transform: uppercase;
|
|
796
968
|
letter-spacing: var(--admin-tracking-wide);
|
|
797
969
|
color: hsl(var(--admin-foreground-muted));
|
|
798
|
-
background:
|
|
970
|
+
background: transparent;
|
|
799
971
|
text-align: left;
|
|
800
|
-
border-bottom:
|
|
972
|
+
border-bottom: 2px solid hsl(var(--admin-border));
|
|
801
973
|
}
|
|
802
974
|
|
|
803
975
|
.rovela-admin-theme .admin-table td {
|
|
@@ -836,14 +1008,57 @@
|
|
|
836
1008
|
min-height: 100vh;
|
|
837
1009
|
background: hsl(var(--admin-sidebar));
|
|
838
1010
|
color: hsl(var(--admin-sidebar-foreground));
|
|
1011
|
+
flex-shrink: 0;
|
|
839
1012
|
}
|
|
840
1013
|
|
|
1014
|
+
/* Sidebar header - aligned with main header (4rem / 64px) */
|
|
841
1015
|
.rovela-admin-theme .admin-sidebar-header {
|
|
842
1016
|
display: flex;
|
|
843
1017
|
align-items: center;
|
|
844
1018
|
gap: var(--admin-space-3);
|
|
845
|
-
|
|
846
|
-
|
|
1019
|
+
height: 4rem;
|
|
1020
|
+
padding: 0 var(--admin-space-4);
|
|
1021
|
+
border-bottom: var(--admin-border-width) solid hsl(var(--admin-sidebar-border));
|
|
1022
|
+
flex-shrink: 0;
|
|
1023
|
+
}
|
|
1024
|
+
|
|
1025
|
+
/* Sidebar header link - replaces Tailwind flex utilities */
|
|
1026
|
+
.rovela-admin-theme .admin-sidebar-header-link {
|
|
1027
|
+
display: flex;
|
|
1028
|
+
align-items: center;
|
|
1029
|
+
gap: var(--admin-space-3);
|
|
1030
|
+
text-decoration: none;
|
|
1031
|
+
color: inherit;
|
|
1032
|
+
}
|
|
1033
|
+
|
|
1034
|
+
/* Sidebar header text container - replaces Tailwind flex-col */
|
|
1035
|
+
.rovela-admin-theme .admin-sidebar-header-text {
|
|
1036
|
+
display: flex;
|
|
1037
|
+
flex-direction: column;
|
|
1038
|
+
gap: var(--admin-space-0-5);
|
|
1039
|
+
}
|
|
1040
|
+
|
|
1041
|
+
/* Sidebar header store name */
|
|
1042
|
+
.rovela-admin-theme .admin-sidebar-store-name {
|
|
1043
|
+
font-size: var(--admin-text-sm);
|
|
1044
|
+
font-weight: var(--admin-font-semibold);
|
|
1045
|
+
line-height: var(--admin-leading-tight);
|
|
1046
|
+
color: hsl(var(--admin-sidebar-foreground));
|
|
1047
|
+
}
|
|
1048
|
+
|
|
1049
|
+
/* Sidebar header subtitle */
|
|
1050
|
+
.rovela-admin-theme .admin-sidebar-subtitle {
|
|
1051
|
+
font-size: var(--admin-text-xs);
|
|
1052
|
+
color: hsl(var(--admin-sidebar-foreground-muted));
|
|
1053
|
+
}
|
|
1054
|
+
|
|
1055
|
+
/* Sidebar store logo */
|
|
1056
|
+
.rovela-admin-theme .admin-sidebar-logo {
|
|
1057
|
+
height: 2rem;
|
|
1058
|
+
width: auto;
|
|
1059
|
+
max-width: 7.5rem;
|
|
1060
|
+
object-fit: contain;
|
|
1061
|
+
flex-shrink: 0;
|
|
847
1062
|
}
|
|
848
1063
|
|
|
849
1064
|
.rovela-admin-theme .admin-sidebar-brand {
|
|
@@ -861,8 +1076,25 @@
|
|
|
861
1076
|
overflow-y: auto;
|
|
862
1077
|
}
|
|
863
1078
|
|
|
1079
|
+
/* Sidebar navigation groups container - replaces Tailwind space-y-6 */
|
|
1080
|
+
.rovela-admin-theme .admin-sidebar-groups {
|
|
1081
|
+
display: flex;
|
|
1082
|
+
flex-direction: column;
|
|
1083
|
+
gap: var(--admin-space-6);
|
|
1084
|
+
}
|
|
1085
|
+
|
|
1086
|
+
/* Sidebar navigation items list - replaces Tailwind space-y-1 */
|
|
1087
|
+
.rovela-admin-theme .admin-sidebar-items {
|
|
1088
|
+
display: flex;
|
|
1089
|
+
flex-direction: column;
|
|
1090
|
+
gap: var(--admin-space-1);
|
|
1091
|
+
list-style: none;
|
|
1092
|
+
margin: 0;
|
|
1093
|
+
padding: 0;
|
|
1094
|
+
}
|
|
1095
|
+
|
|
864
1096
|
.rovela-admin-theme .admin-sidebar-section {
|
|
865
|
-
margin-
|
|
1097
|
+
/* No margin needed - gap handles spacing in .admin-sidebar-groups */
|
|
866
1098
|
}
|
|
867
1099
|
|
|
868
1100
|
.rovela-admin-theme .admin-sidebar-section-title {
|
|
@@ -885,6 +1117,7 @@
|
|
|
885
1117
|
transition: var(--admin-transition-colors);
|
|
886
1118
|
cursor: pointer;
|
|
887
1119
|
text-decoration: none;
|
|
1120
|
+
position: relative;
|
|
888
1121
|
}
|
|
889
1122
|
|
|
890
1123
|
.rovela-admin-theme .admin-sidebar-item:hover {
|
|
@@ -893,12 +1126,12 @@
|
|
|
893
1126
|
}
|
|
894
1127
|
|
|
895
1128
|
.rovela-admin-theme .admin-sidebar-item.active {
|
|
896
|
-
background: hsl(var(--admin-primary) / 0.
|
|
897
|
-
color: hsl(
|
|
1129
|
+
background: hsl(var(--admin-primary) / 0.2);
|
|
1130
|
+
color: hsl(163 86% 55%); /* Brighter emerald for visibility on dark bg */
|
|
898
1131
|
}
|
|
899
1132
|
|
|
900
1133
|
.rovela-admin-theme .admin-sidebar-item.active .admin-sidebar-item-icon {
|
|
901
|
-
color: hsl(
|
|
1134
|
+
color: hsl(163 86% 55%); /* Match brighter emerald */
|
|
902
1135
|
}
|
|
903
1136
|
|
|
904
1137
|
.rovela-admin-theme .admin-sidebar-item-icon {
|
|
@@ -907,9 +1140,32 @@
|
|
|
907
1140
|
flex-shrink: 0;
|
|
908
1141
|
}
|
|
909
1142
|
|
|
1143
|
+
/* Sidebar item icon (svg) - ensure consistent sizing */
|
|
1144
|
+
.rovela-admin-theme .admin-sidebar-item svg,
|
|
1145
|
+
.rovela-admin-theme .admin-sidebar-item-svg {
|
|
1146
|
+
width: 1.25rem;
|
|
1147
|
+
height: 1.25rem;
|
|
1148
|
+
flex-shrink: 0;
|
|
1149
|
+
}
|
|
1150
|
+
|
|
1151
|
+
/* Sidebar item label */
|
|
1152
|
+
.rovela-admin-theme .admin-sidebar-item-label {
|
|
1153
|
+
flex: 1;
|
|
1154
|
+
white-space: nowrap;
|
|
1155
|
+
overflow: hidden;
|
|
1156
|
+
text-overflow: ellipsis;
|
|
1157
|
+
}
|
|
1158
|
+
|
|
910
1159
|
.rovela-admin-theme .admin-sidebar-footer {
|
|
911
1160
|
padding: var(--admin-space-4);
|
|
912
|
-
border-top:
|
|
1161
|
+
border-top: var(--admin-border-width) solid hsl(var(--admin-sidebar-border));
|
|
1162
|
+
}
|
|
1163
|
+
|
|
1164
|
+
/* Sidebar footer content - replaces Tailwind space-y-3 */
|
|
1165
|
+
.rovela-admin-theme .admin-sidebar-footer-content {
|
|
1166
|
+
display: flex;
|
|
1167
|
+
flex-direction: column;
|
|
1168
|
+
gap: var(--admin-space-3);
|
|
913
1169
|
}
|
|
914
1170
|
|
|
915
1171
|
.rovela-admin-theme .admin-sidebar-footer-link {
|
|
@@ -926,6 +1182,44 @@
|
|
|
926
1182
|
color: hsl(var(--admin-sidebar-foreground-muted));
|
|
927
1183
|
}
|
|
928
1184
|
|
|
1185
|
+
/* Powered by Rovela link */
|
|
1186
|
+
.rovela-admin-theme .admin-sidebar-powered-by {
|
|
1187
|
+
display: flex;
|
|
1188
|
+
align-items: center;
|
|
1189
|
+
justify-content: center;
|
|
1190
|
+
gap: var(--admin-space-2);
|
|
1191
|
+
font-size: var(--admin-text-xs);
|
|
1192
|
+
color: hsl(var(--admin-sidebar-foreground-muted) / 0.5);
|
|
1193
|
+
text-decoration: none;
|
|
1194
|
+
transition: var(--admin-transition-colors);
|
|
1195
|
+
}
|
|
1196
|
+
|
|
1197
|
+
.rovela-admin-theme .admin-sidebar-powered-by:hover {
|
|
1198
|
+
color: hsl(var(--admin-sidebar-foreground-muted) / 0.8);
|
|
1199
|
+
}
|
|
1200
|
+
|
|
1201
|
+
.rovela-admin-theme .admin-sidebar-powered-by span {
|
|
1202
|
+
font-weight: var(--admin-font-normal);
|
|
1203
|
+
}
|
|
1204
|
+
|
|
1205
|
+
.rovela-admin-theme .admin-sidebar-powered-by .admin-powered-by-name {
|
|
1206
|
+
font-weight: var(--admin-font-medium);
|
|
1207
|
+
}
|
|
1208
|
+
|
|
1209
|
+
/* Rovela logo in footer */
|
|
1210
|
+
.rovela-admin-theme .admin-rovela-logo {
|
|
1211
|
+
height: 1rem;
|
|
1212
|
+
width: 1rem;
|
|
1213
|
+
object-fit: contain;
|
|
1214
|
+
filter: brightness(0) invert(1);
|
|
1215
|
+
opacity: 0.6;
|
|
1216
|
+
transition: var(--admin-transition-opacity);
|
|
1217
|
+
}
|
|
1218
|
+
|
|
1219
|
+
.rovela-admin-theme .admin-sidebar-powered-by:hover .admin-rovela-logo {
|
|
1220
|
+
opacity: 0.9;
|
|
1221
|
+
}
|
|
1222
|
+
|
|
929
1223
|
/* ═══════════════════════════════════════════════════════════════════════════
|
|
930
1224
|
HEADER COMPONENT
|
|
931
1225
|
═══════════════════════════════════════════════════════════════════════════ */
|
|
@@ -1055,10 +1349,7 @@
|
|
|
1055
1349
|
}
|
|
1056
1350
|
|
|
1057
1351
|
.rovela-admin-theme .admin-modal {
|
|
1058
|
-
position:
|
|
1059
|
-
left: 50%;
|
|
1060
|
-
top: 50%;
|
|
1061
|
-
transform: translate(-50%, -50%);
|
|
1352
|
+
position: relative;
|
|
1062
1353
|
z-index: var(--admin-z-modal);
|
|
1063
1354
|
width: 100%;
|
|
1064
1355
|
max-width: 28rem;
|
|
@@ -1195,19 +1486,84 @@
|
|
|
1195
1486
|
|
|
1196
1487
|
/* Native checkbox input (for forms using <input type="checkbox">) */
|
|
1197
1488
|
.rovela-admin-theme input.admin-checkbox[type="checkbox"] {
|
|
1489
|
+
appearance: none;
|
|
1490
|
+
-webkit-appearance: none;
|
|
1198
1491
|
width: 1rem;
|
|
1199
1492
|
height: 1rem;
|
|
1200
1493
|
border-radius: var(--admin-radius-sm);
|
|
1494
|
+
border: 2px solid hsl(var(--admin-border));
|
|
1495
|
+
background: hsl(var(--admin-card));
|
|
1201
1496
|
cursor: pointer;
|
|
1202
|
-
|
|
1497
|
+
transition: var(--admin-transition-colors);
|
|
1498
|
+
position: relative;
|
|
1499
|
+
flex-shrink: 0;
|
|
1500
|
+
}
|
|
1501
|
+
|
|
1502
|
+
.rovela-admin-theme input.admin-checkbox[type="checkbox"]:hover {
|
|
1503
|
+
border-color: hsl(var(--admin-primary));
|
|
1504
|
+
}
|
|
1505
|
+
|
|
1506
|
+
.rovela-admin-theme input.admin-checkbox[type="checkbox"]:focus {
|
|
1507
|
+
outline: none;
|
|
1508
|
+
box-shadow: 0 0 0 2px hsl(var(--admin-background)), 0 0 0 4px hsl(var(--admin-primary) / 0.3);
|
|
1509
|
+
}
|
|
1510
|
+
|
|
1511
|
+
.rovela-admin-theme input.admin-checkbox[type="checkbox"]:checked {
|
|
1512
|
+
background: hsl(var(--admin-primary));
|
|
1513
|
+
border-color: hsl(var(--admin-primary));
|
|
1514
|
+
}
|
|
1515
|
+
|
|
1516
|
+
.rovela-admin-theme input.admin-checkbox[type="checkbox"]:checked::after {
|
|
1517
|
+
content: '';
|
|
1518
|
+
position: absolute;
|
|
1519
|
+
top: 45%;
|
|
1520
|
+
left: 50%;
|
|
1521
|
+
transform: translate(-50%, -50%) rotate(45deg);
|
|
1522
|
+
width: 0.25rem;
|
|
1523
|
+
height: 0.5rem;
|
|
1524
|
+
border: solid white;
|
|
1525
|
+
border-width: 0 2px 2px 0;
|
|
1203
1526
|
}
|
|
1204
1527
|
|
|
1205
1528
|
/* Native radio input (for forms using <input type="radio">) */
|
|
1206
1529
|
.rovela-admin-theme .admin-radio {
|
|
1530
|
+
appearance: none;
|
|
1531
|
+
-webkit-appearance: none;
|
|
1207
1532
|
width: 1rem;
|
|
1208
1533
|
height: 1rem;
|
|
1534
|
+
border-radius: 50%;
|
|
1535
|
+
border: 2px solid hsl(var(--admin-border));
|
|
1536
|
+
background: hsl(var(--admin-card));
|
|
1209
1537
|
cursor: pointer;
|
|
1210
|
-
|
|
1538
|
+
transition: var(--admin-transition-colors);
|
|
1539
|
+
position: relative;
|
|
1540
|
+
flex-shrink: 0;
|
|
1541
|
+
}
|
|
1542
|
+
|
|
1543
|
+
.rovela-admin-theme .admin-radio:hover {
|
|
1544
|
+
border-color: hsl(var(--admin-primary));
|
|
1545
|
+
}
|
|
1546
|
+
|
|
1547
|
+
.rovela-admin-theme .admin-radio:focus {
|
|
1548
|
+
outline: none;
|
|
1549
|
+
box-shadow: 0 0 0 2px hsl(var(--admin-background)), 0 0 0 4px hsl(var(--admin-primary) / 0.3);
|
|
1550
|
+
}
|
|
1551
|
+
|
|
1552
|
+
.rovela-admin-theme .admin-radio:checked {
|
|
1553
|
+
border-color: hsl(var(--admin-primary));
|
|
1554
|
+
background: hsl(var(--admin-primary));
|
|
1555
|
+
}
|
|
1556
|
+
|
|
1557
|
+
.rovela-admin-theme .admin-radio:checked::after {
|
|
1558
|
+
content: '';
|
|
1559
|
+
position: absolute;
|
|
1560
|
+
top: 50%;
|
|
1561
|
+
left: 50%;
|
|
1562
|
+
transform: translate(-50%, -50%);
|
|
1563
|
+
width: 0.375rem;
|
|
1564
|
+
height: 0.375rem;
|
|
1565
|
+
border-radius: 50%;
|
|
1566
|
+
background: white;
|
|
1211
1567
|
}
|
|
1212
1568
|
|
|
1213
1569
|
/* ═══════════════════════════════════════════════════════════════════════════
|
|
@@ -1498,7 +1854,42 @@
|
|
|
1498
1854
|
STAT CARD COMPONENT
|
|
1499
1855
|
═══════════════════════════════════════════════════════════════════════════ */
|
|
1500
1856
|
|
|
1857
|
+
/* Stats Cards Grid Container - Self-contained, no Tailwind dependency */
|
|
1858
|
+
.rovela-admin-theme .admin-stats-grid {
|
|
1859
|
+
display: grid;
|
|
1860
|
+
gap: var(--admin-space-4);
|
|
1861
|
+
grid-template-columns: repeat(1, 1fr);
|
|
1862
|
+
}
|
|
1863
|
+
|
|
1864
|
+
@media (min-width: 640px) {
|
|
1865
|
+
.rovela-admin-theme .admin-stats-grid {
|
|
1866
|
+
grid-template-columns: repeat(2, 1fr);
|
|
1867
|
+
}
|
|
1868
|
+
}
|
|
1869
|
+
|
|
1870
|
+
@media (min-width: 1024px) {
|
|
1871
|
+
.rovela-admin-theme .admin-stats-grid {
|
|
1872
|
+
grid-template-columns: repeat(4, 1fr);
|
|
1873
|
+
}
|
|
1874
|
+
}
|
|
1875
|
+
|
|
1876
|
+
/* Stats Card Content Layout - Replaces Tailwind flex utilities */
|
|
1877
|
+
.rovela-admin-theme .admin-stat-content {
|
|
1878
|
+
display: flex;
|
|
1879
|
+
align-items: flex-start;
|
|
1880
|
+
justify-content: space-between;
|
|
1881
|
+
position: relative;
|
|
1882
|
+
}
|
|
1883
|
+
|
|
1884
|
+
/* Stats Card Text Group - Replaces Tailwind space-y-2 */
|
|
1885
|
+
.rovela-admin-theme .admin-stat-text {
|
|
1886
|
+
display: flex;
|
|
1887
|
+
flex-direction: column;
|
|
1888
|
+
gap: var(--admin-space-2);
|
|
1889
|
+
}
|
|
1890
|
+
|
|
1501
1891
|
.rovela-admin-theme .admin-stat-card {
|
|
1892
|
+
display: block;
|
|
1502
1893
|
position: relative;
|
|
1503
1894
|
padding: var(--admin-space-6);
|
|
1504
1895
|
background: hsl(var(--admin-card));
|
|
@@ -1507,6 +1898,7 @@
|
|
|
1507
1898
|
box-shadow: var(--admin-shadow-sm);
|
|
1508
1899
|
transition: var(--admin-transition-all);
|
|
1509
1900
|
overflow: hidden;
|
|
1901
|
+
text-decoration: none;
|
|
1510
1902
|
}
|
|
1511
1903
|
|
|
1512
1904
|
.rovela-admin-theme .admin-stat-card:hover {
|
|
@@ -1521,6 +1913,7 @@
|
|
|
1521
1913
|
background: linear-gradient(135deg, hsl(var(--admin-primary) / 0.03) 0%, transparent 60%);
|
|
1522
1914
|
opacity: 0;
|
|
1523
1915
|
transition: var(--admin-transition-opacity);
|
|
1916
|
+
pointer-events: none;
|
|
1524
1917
|
}
|
|
1525
1918
|
|
|
1526
1919
|
.rovela-admin-theme .admin-stat-card:hover::before {
|
|
@@ -1531,6 +1924,7 @@
|
|
|
1531
1924
|
display: flex;
|
|
1532
1925
|
align-items: center;
|
|
1533
1926
|
justify-content: center;
|
|
1927
|
+
flex-shrink: 0;
|
|
1534
1928
|
width: 2.75rem;
|
|
1535
1929
|
height: 2.75rem;
|
|
1536
1930
|
background: hsl(var(--admin-primary-light));
|
|
@@ -1538,17 +1932,21 @@
|
|
|
1538
1932
|
border-radius: var(--admin-radius-lg);
|
|
1539
1933
|
}
|
|
1540
1934
|
|
|
1935
|
+
.rovela-admin-theme .admin-stat-icon svg {
|
|
1936
|
+
width: 1.5rem;
|
|
1937
|
+
height: 1.5rem;
|
|
1938
|
+
}
|
|
1939
|
+
|
|
1541
1940
|
.rovela-admin-theme .admin-stat-value {
|
|
1542
1941
|
font-size: var(--admin-text-2xl);
|
|
1543
1942
|
font-weight: var(--admin-font-bold);
|
|
1544
1943
|
color: hsl(var(--admin-foreground));
|
|
1545
|
-
|
|
1944
|
+
line-height: 1.2;
|
|
1546
1945
|
}
|
|
1547
1946
|
|
|
1548
1947
|
.rovela-admin-theme .admin-stat-label {
|
|
1549
1948
|
font-size: var(--admin-text-sm);
|
|
1550
1949
|
color: hsl(var(--admin-foreground-muted));
|
|
1551
|
-
margin-top: var(--admin-space-1);
|
|
1552
1950
|
}
|
|
1553
1951
|
|
|
1554
1952
|
.rovela-admin-theme .admin-stat-trend {
|
|
@@ -1571,13 +1969,14 @@
|
|
|
1571
1969
|
.rovela-admin-theme .admin-stat-link {
|
|
1572
1970
|
display: flex;
|
|
1573
1971
|
align-items: center;
|
|
1972
|
+
margin-top: var(--admin-space-4);
|
|
1574
1973
|
font-size: var(--admin-text-xs);
|
|
1575
1974
|
font-weight: var(--admin-font-medium);
|
|
1576
1975
|
color: hsl(var(--admin-foreground-muted));
|
|
1577
1976
|
transition: var(--admin-transition-colors);
|
|
1578
1977
|
}
|
|
1579
1978
|
|
|
1580
|
-
.rovela-admin-theme .
|
|
1979
|
+
.rovela-admin-theme .admin-stat-card:hover .admin-stat-link {
|
|
1581
1980
|
color: hsl(var(--admin-primary));
|
|
1582
1981
|
}
|
|
1583
1982
|
|
|
@@ -1771,7 +2170,7 @@
|
|
|
1771
2170
|
font-weight: var(--admin-font-medium);
|
|
1772
2171
|
color: hsl(var(--admin-sidebar-foreground-muted));
|
|
1773
2172
|
background: transparent;
|
|
1774
|
-
border: 1px solid hsl(
|
|
2173
|
+
border: 1px solid hsl(var(--admin-sidebar-border));
|
|
1775
2174
|
border-radius: var(--admin-radius-lg);
|
|
1776
2175
|
text-decoration: none;
|
|
1777
2176
|
transition: var(--admin-transition-colors);
|
|
@@ -2073,18 +2472,19 @@
|
|
|
2073
2472
|
═══════════════════════════════════════════════════════════════════════════ */
|
|
2074
2473
|
|
|
2075
2474
|
.rovela-admin-theme .admin-table-header {
|
|
2076
|
-
background:
|
|
2077
|
-
border-bottom:
|
|
2475
|
+
background: transparent;
|
|
2476
|
+
border-bottom: 2px solid hsl(var(--admin-border));
|
|
2078
2477
|
}
|
|
2079
2478
|
|
|
2080
2479
|
.rovela-admin-theme .admin-table-header th {
|
|
2081
2480
|
padding: var(--admin-space-3) var(--admin-space-4);
|
|
2082
2481
|
font-size: var(--admin-text-xs);
|
|
2083
|
-
font-weight: var(--admin-font-
|
|
2482
|
+
font-weight: var(--admin-font-semibold);
|
|
2084
2483
|
text-transform: uppercase;
|
|
2085
2484
|
letter-spacing: var(--admin-tracking-wide);
|
|
2086
2485
|
color: hsl(var(--admin-foreground-muted));
|
|
2087
2486
|
text-align: left;
|
|
2487
|
+
background: transparent;
|
|
2088
2488
|
}
|
|
2089
2489
|
|
|
2090
2490
|
/* ═══════════════════════════════════════════════════════════════════════════
|
|
@@ -2629,10 +3029,11 @@
|
|
|
2629
3029
|
margin-bottom: var(--admin-space-3);
|
|
2630
3030
|
}
|
|
2631
3031
|
|
|
3032
|
+
/* Google-style SEO preview - theme-aware colors */
|
|
2632
3033
|
.rovela-admin-theme .admin-seo-preview-title {
|
|
2633
3034
|
font-size: var(--admin-text-lg);
|
|
2634
3035
|
font-weight: var(--admin-font-normal);
|
|
2635
|
-
color:
|
|
3036
|
+
color: hsl(var(--admin-primary));
|
|
2636
3037
|
line-height: var(--admin-leading-tight);
|
|
2637
3038
|
cursor: pointer;
|
|
2638
3039
|
}
|
|
@@ -2642,18 +3043,30 @@
|
|
|
2642
3043
|
}
|
|
2643
3044
|
|
|
2644
3045
|
.rovela-admin-theme .admin-seo-preview-url {
|
|
2645
|
-
font-size: var(--admin-text-
|
|
2646
|
-
color:
|
|
3046
|
+
font-size: var(--admin-text-xs);
|
|
3047
|
+
color: hsl(var(--admin-success));
|
|
2647
3048
|
margin-top: var(--admin-space-1);
|
|
2648
3049
|
}
|
|
2649
3050
|
|
|
2650
3051
|
.rovela-admin-theme .admin-seo-preview-description {
|
|
2651
3052
|
font-size: var(--admin-text-sm);
|
|
2652
|
-
color:
|
|
3053
|
+
color: hsl(var(--admin-foreground-muted));
|
|
2653
3054
|
line-height: var(--admin-leading-relaxed);
|
|
2654
3055
|
margin-top: var(--admin-space-1);
|
|
2655
3056
|
}
|
|
2656
3057
|
|
|
3058
|
+
.rovela-admin-theme .admin-seo-preview-favicon {
|
|
3059
|
+
display: flex;
|
|
3060
|
+
align-items: center;
|
|
3061
|
+
justify-content: center;
|
|
3062
|
+
width: 1.75rem;
|
|
3063
|
+
height: 1.75rem;
|
|
3064
|
+
background: hsl(var(--admin-background-subtle));
|
|
3065
|
+
border: 1px solid hsl(var(--admin-border));
|
|
3066
|
+
border-radius: 50%;
|
|
3067
|
+
flex-shrink: 0;
|
|
3068
|
+
}
|
|
3069
|
+
|
|
2657
3070
|
/* ═══════════════════════════════════════════════════════════════════════════
|
|
2658
3071
|
TAG INPUT COMPONENT
|
|
2659
3072
|
═══════════════════════════════════════════════════════════════════════════ */
|
|
@@ -2720,6 +3133,16 @@
|
|
|
2720
3133
|
background: hsl(var(--admin-background));
|
|
2721
3134
|
}
|
|
2722
3135
|
|
|
3136
|
+
/* Root wrapper and content area - prevents white flash during navigation */
|
|
3137
|
+
.rovela-admin-theme {
|
|
3138
|
+
background: hsl(var(--admin-background));
|
|
3139
|
+
min-height: 100vh;
|
|
3140
|
+
}
|
|
3141
|
+
|
|
3142
|
+
.rovela-admin-theme main {
|
|
3143
|
+
background: hsl(var(--admin-background));
|
|
3144
|
+
}
|
|
3145
|
+
|
|
2723
3146
|
/* ═══════════════════════════════════════════════════════════════════════════
|
|
2724
3147
|
SUMMARY/DIVIDER UTILITIES
|
|
2725
3148
|
═══════════════════════════════════════════════════════════════════════════ */
|
|
@@ -2738,6 +3161,12 @@
|
|
|
2738
3161
|
height: auto;
|
|
2739
3162
|
padding: var(--admin-space-1) var(--admin-space-2);
|
|
2740
3163
|
font-size: var(--admin-text-sm);
|
|
3164
|
+
background: hsl(var(--admin-card));
|
|
3165
|
+
color: hsl(var(--admin-foreground));
|
|
3166
|
+
}
|
|
3167
|
+
|
|
3168
|
+
.rovela-admin-theme .admin-input-inline::placeholder {
|
|
3169
|
+
color: hsl(var(--admin-foreground-muted));
|
|
2741
3170
|
}
|
|
2742
3171
|
|
|
2743
3172
|
/* ═══════════════════════════════════════════════════════════════════════════
|