@rovela-ai/sdk 0.16.2 → 0.16.4
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.map +1 -1
- package/dist/admin/components/AdminLayout.js +2 -1
- package/dist/admin/components/AdminLayout.js.map +1 -1
- package/dist/admin/components/AdminNav.d.ts +17 -9
- package/dist/admin/components/AdminNav.d.ts.map +1 -1
- package/dist/admin/components/AdminNav.js +44 -34
- package/dist/admin/components/AdminNav.js.map +1 -1
- package/dist/admin/components/AdminTopBar.d.ts +13 -0
- package/dist/admin/components/AdminTopBar.d.ts.map +1 -0
- package/dist/admin/components/AdminTopBar.js +48 -0
- package/dist/admin/components/AdminTopBar.js.map +1 -0
- package/dist/admin/components/AdminUserMenu.d.ts +3 -1
- package/dist/admin/components/AdminUserMenu.d.ts.map +1 -1
- package/dist/admin/components/AdminUserMenu.js +2 -2
- package/dist/admin/components/AdminUserMenu.js.map +1 -1
- package/dist/admin/components/emails/ColorField.d.ts.map +1 -1
- package/dist/admin/components/emails/ColorField.js +1 -0
- package/dist/admin/components/emails/ColorField.js.map +1 -1
- package/dist/admin/components/index.d.ts +2 -0
- package/dist/admin/components/index.d.ts.map +1 -1
- package/dist/admin/components/index.js +1 -0
- package/dist/admin/components/index.js.map +1 -1
- package/dist/admin/hooks/useAdminSession.d.ts.map +1 -1
- package/dist/admin/hooks/useAdminSession.js +14 -2
- package/dist/admin/hooks/useAdminSession.js.map +1 -1
- package/dist/admin/index.d.ts +2 -2
- package/dist/admin/index.d.ts.map +1 -1
- package/dist/admin/index.js +3 -1
- package/dist/admin/index.js.map +1 -1
- package/dist/admin/styles/admin-theme.css +281 -15
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AdminLayout.d.ts","sourceRoot":"","sources":["../../../src/admin/components/AdminLayout.tsx"],"names":[],"mappings":"AAEA;;;;;;GAMG;AAEH,OAAO,EAAY,KAAK,OAAO,EAAE,MAAM,YAAY,CAAA;
|
|
1
|
+
{"version":3,"file":"AdminLayout.d.ts","sourceRoot":"","sources":["../../../src/admin/components/AdminLayout.tsx"],"names":[],"mappings":"AAEA;;;;;;GAMG;AAEH,OAAO,EAAY,KAAK,OAAO,EAAE,MAAM,YAAY,CAAA;AAEnD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAA;AAChD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;AAQtC,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;AAMD;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,WAAW,CAAC,EAC1B,QAAQ,EACR,SAAS,EACT,SAAmB,EACnB,QAAc,EACd,QAAQ,EACR,IAAI,EACJ,SAAc,GACf,EAAE,wBAAwB,2CA2B1B"}
|
|
@@ -8,6 +8,7 @@ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
|
8
8
|
* User menu is rendered in the sidebar footer via AdminNav.
|
|
9
9
|
*/
|
|
10
10
|
import { AdminNav } from './AdminNav';
|
|
11
|
+
import { AdminTopBar } from './AdminTopBar';
|
|
11
12
|
// `ExampleContentBanner` (R107) was retired in favor of the SetupGuide,
|
|
12
13
|
// which subsumes the "review your example content" nudge into its
|
|
13
14
|
// "Add or edit your first product" task. The banner component is still
|
|
@@ -34,6 +35,6 @@ import '../styles/admin-theme.css';
|
|
|
34
35
|
* ```
|
|
35
36
|
*/
|
|
36
37
|
export function AdminLayout({ children, activeNav, storeName = 'Admin', storeUrl = '/', navItems, logo, className = '', }) {
|
|
37
|
-
return (_jsx("div", { className: `rovela-admin-theme ${className}`, children: _jsxs("div", { className: "admin-
|
|
38
|
+
return (_jsx("div", { className: `rovela-admin-theme ${className}`, children: _jsxs("div", { className: "admin-shell", children: [_jsx(AdminTopBar, { storeName: storeName, logo: logo, storeUrl: storeUrl }), _jsxs("div", { className: "admin-shell-body", children: [_jsx(AdminNav, { activeNav: activeNav, items: navItems }), _jsx("div", { className: "admin-layout-main", children: _jsx("main", { className: "admin-layout-content", children: children }) })] })] }) }));
|
|
38
39
|
}
|
|
39
40
|
//# 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;;;;;;GAMG;AAEH,OAAO,EAAE,QAAQ,EAAgB,MAAM,YAAY,CAAA;
|
|
1
|
+
{"version":3,"file":"AdminLayout.js","sourceRoot":"","sources":["../../../src/admin/components/AdminLayout.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAA;;AAEZ;;;;;;GAMG;AAEH,OAAO,EAAE,QAAQ,EAAgB,MAAM,YAAY,CAAA;AACnD,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAA;AAI3C,wEAAwE;AACxE,kEAAkE;AAClE,uEAAuE;AACvE,2DAA2D;AAE3D,gCAAgC;AAChC,OAAO,2BAA2B,CAAA;AAiBlC,gFAAgF;AAChF,YAAY;AACZ,gFAAgF;AAEhF;;;;;;;;;;;;;;;GAeG;AACH,MAAM,UAAU,WAAW,CAAC,EAC1B,QAAQ,EACR,SAAS,EACT,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,YAI/C,eAAK,SAAS,EAAC,aAAa,aAC1B,KAAC,WAAW,IAAC,SAAS,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,GAAI,EAErE,eAAK,SAAS,EAAC,kBAAkB,aAE/B,KAAC,QAAQ,IAAC,SAAS,EAAE,SAAS,EAAE,KAAK,EAAE,QAAQ,GAAI,EAGnD,cAAK,SAAS,EAAC,mBAAmB,YAChC,eAAM,SAAS,EAAC,sBAAsB,YAKnC,QAAQ,GACJ,GACH,IACF,IACF,GACF,CACP,CAAA;AACH,CAAC"}
|
|
@@ -1,11 +1,19 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* @rovela/sdk/admin/components/AdminNav
|
|
3
3
|
*
|
|
4
|
-
* Admin sidebar navigation
|
|
5
|
-
* elegant styling, and Rovela branding.
|
|
4
|
+
* Admin sidebar navigation — 2026-07 revamp: NAVIGATION ONLY.
|
|
6
5
|
*
|
|
7
|
-
*
|
|
8
|
-
*
|
|
6
|
+
* Store identity, the View/Edit store links and the account menu moved up
|
|
7
|
+
* into `AdminTopBar` (Shopify's architecture): the top bar carries the one
|
|
8
|
+
* accent-washed hairline, and this column gets its full height back for
|
|
9
|
+
* nav. Core groups fit without scrolling on ≥640px viewports; when a
|
|
10
|
+
* merchant's custom Features pages overflow it, the nav scrolls with a
|
|
11
|
+
* hidden-until-hover scrollbar and directional fades as the indicator.
|
|
12
|
+
*
|
|
13
|
+
* Internal links are `next/link`, NEVER bare anchors: a plain <a> forced a
|
|
14
|
+
* full document reload on every click, remounting the whole tree (session +
|
|
15
|
+
* settings refetched, names flashed to fallbacks). Soft navigation keeps
|
|
16
|
+
* the layout, providers and sidebar state alive.
|
|
9
17
|
*/
|
|
10
18
|
import { type ReactNode } from 'react';
|
|
11
19
|
export interface NavItem {
|
|
@@ -23,11 +31,11 @@ export interface AdminNavProps {
|
|
|
23
31
|
activeNav?: string;
|
|
24
32
|
/** Navigation items (defaults to standard admin nav) */
|
|
25
33
|
items?: NavItem[];
|
|
26
|
-
/**
|
|
34
|
+
/** @deprecated Identity moved to AdminTopBar — accepted for back-compat, unused. */
|
|
27
35
|
storeName?: string;
|
|
28
|
-
/**
|
|
36
|
+
/** @deprecated Identity moved to AdminTopBar — accepted for back-compat, unused. */
|
|
29
37
|
logo?: ReactNode;
|
|
30
|
-
/**
|
|
38
|
+
/** @deprecated The View-store link moved to AdminTopBar — accepted for back-compat, unused. */
|
|
31
39
|
storeUrl?: string;
|
|
32
40
|
/** Custom className */
|
|
33
41
|
className?: string;
|
|
@@ -37,8 +45,8 @@ export interface AdminNavProps {
|
|
|
37
45
|
*
|
|
38
46
|
* @example
|
|
39
47
|
* ```tsx
|
|
40
|
-
* <AdminNav activeNav="dashboard"
|
|
48
|
+
* <AdminNav activeNav="dashboard" />
|
|
41
49
|
* ```
|
|
42
50
|
*/
|
|
43
|
-
export declare function AdminNav({ activeNav, items,
|
|
51
|
+
export declare function AdminNav({ activeNav, items, className, }: AdminNavProps): import("react/jsx-runtime").JSX.Element;
|
|
44
52
|
//# sourceMappingURL=AdminNav.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AdminNav.d.ts","sourceRoot":"","sources":["../../../src/admin/components/AdminNav.tsx"],"names":[],"mappings":"AAEA
|
|
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;AAU1E,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,uBAAuB;IACvB,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB;AAsJD;;;;;;;GAOG;AACH,wBAAgB,QAAQ,CAAC,EACvB,SAAS,EACT,KAAK,EACL,SAAc,GACf,EAAE,aAAa,2CA6Hf"}
|
|
@@ -1,20 +1,27 @@
|
|
|
1
1
|
'use client';
|
|
2
|
-
import { jsx as _jsx, jsxs as _jsxs
|
|
2
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
3
3
|
/**
|
|
4
4
|
* @rovela/sdk/admin/components/AdminNav
|
|
5
5
|
*
|
|
6
|
-
* Admin sidebar navigation
|
|
7
|
-
* elegant styling, and Rovela branding.
|
|
6
|
+
* Admin sidebar navigation — 2026-07 revamp: NAVIGATION ONLY.
|
|
8
7
|
*
|
|
9
|
-
*
|
|
10
|
-
*
|
|
8
|
+
* Store identity, the View/Edit store links and the account menu moved up
|
|
9
|
+
* into `AdminTopBar` (Shopify's architecture): the top bar carries the one
|
|
10
|
+
* accent-washed hairline, and this column gets its full height back for
|
|
11
|
+
* nav. Core groups fit without scrolling on ≥640px viewports; when a
|
|
12
|
+
* merchant's custom Features pages overflow it, the nav scrolls with a
|
|
13
|
+
* hidden-until-hover scrollbar and directional fades as the indicator.
|
|
14
|
+
*
|
|
15
|
+
* Internal links are `next/link`, NEVER bare anchors: a plain <a> forced a
|
|
16
|
+
* full document reload on every click, remounting the whole tree (session +
|
|
17
|
+
* settings refetched, names flashed to fallbacks). Soft navigation keeps
|
|
18
|
+
* the layout, providers and sidebar state alive.
|
|
11
19
|
*/
|
|
12
|
-
import React from 'react';
|
|
20
|
+
import React, { useEffect, useRef, useState } from 'react';
|
|
21
|
+
import Link from 'next/link';
|
|
13
22
|
import { usePathname } from 'next/navigation';
|
|
14
|
-
import { LayoutDashboard, Package, FolderOpen, ClipboardList, Users, UserCog, Settings,
|
|
15
|
-
import { useStoreSettingsOptional } from '../../core';
|
|
23
|
+
import { LayoutDashboard, Package, FolderOpen, ClipboardList, Users, UserCog, Settings, Truck, CreditCard, Tag, Receipt, BarChart3, MapPin, Mail, Image as ImageGlyph } from 'lucide-react';
|
|
16
24
|
import { useAdminAuth } from '../hooks/useAdminAuth';
|
|
17
|
-
import { AdminUserMenu } from './AdminUserMenu';
|
|
18
25
|
// =============================================================================
|
|
19
26
|
// Default Navigation Groups
|
|
20
27
|
// =============================================================================
|
|
@@ -112,7 +119,7 @@ const iconMap = {
|
|
|
112
119
|
// =============================================================================
|
|
113
120
|
function NavItemButton({ item, isActive, }) {
|
|
114
121
|
const Icon = item.icon || iconMap[item.id];
|
|
115
|
-
return (_jsxs(
|
|
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)
|
|
116
123
|
? Icon
|
|
117
124
|
: React.createElement(Icon, { className: 'admin-sidebar-item-svg' })) }), _jsx("span", { className: "admin-sidebar-item-label", children: item.label })] }));
|
|
118
125
|
}
|
|
@@ -124,27 +131,14 @@ function NavItemButton({ item, isActive, }) {
|
|
|
124
131
|
*
|
|
125
132
|
* @example
|
|
126
133
|
* ```tsx
|
|
127
|
-
* <AdminNav activeNav="dashboard"
|
|
134
|
+
* <AdminNav activeNav="dashboard" />
|
|
128
135
|
* ```
|
|
129
136
|
*/
|
|
130
|
-
export function AdminNav({ activeNav, items,
|
|
131
|
-
// Get store settings from context (optional - works even outside provider)
|
|
132
|
-
const storeSettings = useStoreSettingsOptional();
|
|
137
|
+
export function AdminNav({ activeNav, items, className = '', }) {
|
|
133
138
|
// Get the current admin's role for nav filtering. Safe to call even when
|
|
134
139
|
// AdminNav is mounted outside a SessionProvider — useAdminAuth defends
|
|
135
140
|
// against that and returns `{ admin: null }`.
|
|
136
141
|
const { admin } = useAdminAuth();
|
|
137
|
-
// Deep-link back to the Rovela editor (/generate/[id]) so the merchant has a
|
|
138
|
-
// clean Manage ↔ Edit loop from the admin sidebar. Only rendered when
|
|
139
|
-
// NEXT_PUBLIC_ROVELA_PROJECT_ID is set (present on every store rebuilt since
|
|
140
|
-
// buildStoreEnvVars started emitting it); older stores show nothing. These
|
|
141
|
-
// must be literal `process.env.NEXT_PUBLIC_*` reads so the consuming store's
|
|
142
|
-
// Next.js build statically inlines them. Base falls back to prod rovela.ai.
|
|
143
|
-
const rovelaProjectId = process.env.NEXT_PUBLIC_ROVELA_PROJECT_ID;
|
|
144
|
-
const rovelaBase = process.env.NEXT_PUBLIC_ROVELA_URL || 'https://rovela.ai';
|
|
145
|
-
const editStoreUrl = rovelaProjectId
|
|
146
|
-
? `${rovelaBase.replace(/\/$/, '')}/generate/${rovelaProjectId}`
|
|
147
|
-
: null;
|
|
148
142
|
// Auto-detect active nav from pathname when not explicitly provided
|
|
149
143
|
const pathname = usePathname();
|
|
150
144
|
const resolvedActiveNav = activeNav ?? (() => {
|
|
@@ -183,10 +177,6 @@ export function AdminNav({ activeNav, items, storeName: storeNameProp = 'Admin',
|
|
|
183
177
|
}
|
|
184
178
|
return undefined;
|
|
185
179
|
})();
|
|
186
|
-
// Resolve store name: prop > context > default
|
|
187
|
-
const storeName = storeNameProp !== 'Admin' ? storeNameProp : (storeSettings?.storeName || storeNameProp);
|
|
188
|
-
// Get logo URL from context (database) first, fall back to env var for instant updates
|
|
189
|
-
const logoUrl = storeSettings?.logoUrl || process.env.NEXT_PUBLIC_STORE_LOGO_URL || null;
|
|
190
180
|
// Filter role-gated items (currently just `users`) before appending any
|
|
191
181
|
// custom "Features" group.
|
|
192
182
|
const baseGroups = filterNavGroupsByRole(defaultNavGroups, admin?.role ?? null);
|
|
@@ -194,10 +184,30 @@ export function AdminNav({ activeNav, items, storeName: storeNameProp = 'Admin',
|
|
|
194
184
|
const navGroups = items
|
|
195
185
|
? [...baseGroups, { label: 'Features', items }]
|
|
196
186
|
: baseGroups;
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
187
|
+
// Directional scroll fades — the scroll indicator. Each fade shows only
|
|
188
|
+
// when content continues in that direction; the scrollbar itself stays
|
|
189
|
+
// hidden until hover. Initial sync runs in a rAF so the measurement
|
|
190
|
+
// happens after paint (and setState never fires synchronously in the
|
|
191
|
+
// effect body).
|
|
192
|
+
const navScrollRef = useRef(null);
|
|
193
|
+
const [fade, setFade] = useState({ up: false, down: false });
|
|
194
|
+
useEffect(() => {
|
|
195
|
+
const el = navScrollRef.current;
|
|
196
|
+
if (!el)
|
|
197
|
+
return;
|
|
198
|
+
const sync = () => setFade({
|
|
199
|
+
up: el.scrollTop > 4,
|
|
200
|
+
down: el.scrollTop + el.clientHeight < el.scrollHeight - 4,
|
|
201
|
+
});
|
|
202
|
+
const raf = requestAnimationFrame(sync);
|
|
203
|
+
el.addEventListener('scroll', sync, { passive: true });
|
|
204
|
+
window.addEventListener('resize', sync);
|
|
205
|
+
return () => {
|
|
206
|
+
cancelAnimationFrame(raf);
|
|
207
|
+
el.removeEventListener('scroll', sync);
|
|
208
|
+
window.removeEventListener('resize', sync);
|
|
209
|
+
};
|
|
210
|
+
}, [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" })] })] }) })] }));
|
|
202
212
|
}
|
|
203
213
|
//# 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
|
|
1
|
+
{"version":3,"file":"AdminNav.js","sourceRoot":"","sources":["../../../src/admin/components/AdminNav.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import type { ReactNode } from 'react';
|
|
2
|
+
export interface AdminTopBarProps {
|
|
3
|
+
/** Store name (falls back to StoreSettingsProvider, then 'Admin'). */
|
|
4
|
+
storeName?: string;
|
|
5
|
+
/** Custom logo element — replaces the tile entirely. */
|
|
6
|
+
logo?: ReactNode;
|
|
7
|
+
/** Storefront URL for the View-store link. */
|
|
8
|
+
storeUrl?: string;
|
|
9
|
+
/** Custom className */
|
|
10
|
+
className?: string;
|
|
11
|
+
}
|
|
12
|
+
export declare function AdminTopBar({ storeName: storeNameProp, logo, storeUrl, className, }: AdminTopBarProps): import("react/jsx-runtime").JSX.Element;
|
|
13
|
+
//# sourceMappingURL=AdminTopBar.d.ts.map
|
|
@@ -0,0 +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;AAQtC,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,2CA4ElB"}
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
'use client';
|
|
2
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
3
|
+
/**
|
|
4
|
+
* @rovela/sdk/admin/components/AdminTopBar
|
|
5
|
+
*
|
|
6
|
+
* The admin's identity band (2026-07 sidebar revamp, Shopify's architecture):
|
|
7
|
+
* a 52px sticky bar spanning the full width. Left: logo tile + store name +
|
|
8
|
+
* Admin chip, the whole cluster linking to /admin. Right: View store, Edit
|
|
9
|
+
* store (when the Rovela project id env is present) and the account menu.
|
|
10
|
+
*
|
|
11
|
+
* It carries the ONE accent wash + hairline of the app's top — the sidebar
|
|
12
|
+
* below is pure navigation and page headers stay quiet, so there is exactly
|
|
13
|
+
* one horizontal line at the top of the admin and nothing to misalign.
|
|
14
|
+
*
|
|
15
|
+
* Identity is never painted wrong: while store settings load, the name slot
|
|
16
|
+
* renders a skeleton (a wrong value that corrects itself reads as a glitch).
|
|
17
|
+
*/
|
|
18
|
+
import Link from 'next/link';
|
|
19
|
+
import { ExternalLink, Pencil } from 'lucide-react';
|
|
20
|
+
import { useStoreSettingsOptional } from '../../core';
|
|
21
|
+
import { AdminUserMenu } from './AdminUserMenu';
|
|
22
|
+
// =============================================================================
|
|
23
|
+
// Component
|
|
24
|
+
// =============================================================================
|
|
25
|
+
export function AdminTopBar({ storeName: storeNameProp = 'Admin', logo, storeUrl = '/', className = '', }) {
|
|
26
|
+
// Store name + logo resolve from context (optional — works outside the
|
|
27
|
+
// provider too). Same precedence AdminNav used before the revamp:
|
|
28
|
+
// prop > context > default.
|
|
29
|
+
const storeSettings = useStoreSettingsOptional();
|
|
30
|
+
const settingsLoading = storeNameProp === 'Admin' && !!storeSettings?.isLoading && !storeSettings?.settings;
|
|
31
|
+
const storeName = storeNameProp !== 'Admin' ? storeNameProp : (storeSettings?.storeName || storeNameProp);
|
|
32
|
+
const logoUrl = storeSettings?.logoUrl || process.env.NEXT_PUBLIC_STORE_LOGO_URL || null;
|
|
33
|
+
// Deep-link back to the Rovela editor (/generate/[id]) so the merchant has
|
|
34
|
+
// a clean Manage ↔ Edit loop. Only rendered when NEXT_PUBLIC_ROVELA_PROJECT_ID
|
|
35
|
+
// is set (present on every store rebuilt since buildStoreEnvVars started
|
|
36
|
+
// emitting it); older stores show nothing. These must be literal
|
|
37
|
+
// `process.env.NEXT_PUBLIC_*` reads so the consuming store's Next.js build
|
|
38
|
+
// statically inlines them. Base falls back to prod rovela.ai.
|
|
39
|
+
const rovelaProjectId = process.env.NEXT_PUBLIC_ROVELA_PROJECT_ID;
|
|
40
|
+
const rovelaBase = process.env.NEXT_PUBLIC_ROVELA_URL || 'https://rovela.ai';
|
|
41
|
+
const editStoreUrl = rovelaProjectId
|
|
42
|
+
? `${rovelaBase.replace(/\/$/, '')}/generate/${rovelaProjectId}`
|
|
43
|
+
: null;
|
|
44
|
+
return (_jsxs("header", { className: `admin-topbar ${className}`.trim(), children: [_jsxs(Link, { href: "/admin", className: "admin-topbar-brand", children: [logo || (_jsx("span", { className: `admin-brand-tile ${logoUrl ? '' : 'admin-brand-tile-monogram'}`, children: logoUrl ? (
|
|
45
|
+
// eslint-disable-next-line @next/next/no-img-element
|
|
46
|
+
_jsx("img", { src: logoUrl, alt: "" })) : settingsLoading ? (_jsx("span", { className: "admin-skeleton admin-brand-tile-skeleton" })) : (storeName.charAt(0).toUpperCase()) })), 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
|
+
}
|
|
48
|
+
//# sourceMappingURL=AdminTopBar.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AdminTopBar.js","sourceRoot":"","sources":["../../../src/admin/components/AdminTopBar.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
export interface AdminUserMenuProps {
|
|
2
2
|
/** Custom className */
|
|
3
3
|
className?: string;
|
|
4
|
+
/** Compact trigger (avatar + chevron, no name) — used by the top bar. */
|
|
5
|
+
compact?: boolean;
|
|
4
6
|
}
|
|
5
7
|
/**
|
|
6
8
|
* Floating user menu with avatar and dropdown actions.
|
|
@@ -10,5 +12,5 @@ export interface AdminUserMenuProps {
|
|
|
10
12
|
* <AdminUserMenu />
|
|
11
13
|
* ```
|
|
12
14
|
*/
|
|
13
|
-
export declare function AdminUserMenu({ className, }: AdminUserMenuProps): import("react/jsx-runtime").JSX.Element;
|
|
15
|
+
export declare function AdminUserMenu({ className, compact, }: AdminUserMenuProps): import("react/jsx-runtime").JSX.Element;
|
|
14
16
|
//# sourceMappingURL=AdminUserMenu.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AdminUserMenu.d.ts","sourceRoot":"","sources":["../../../src/admin/components/AdminUserMenu.tsx"],"names":[],"mappings":"AAkBA,MAAM,WAAW,kBAAkB;IACjC,uBAAuB;IACvB,SAAS,CAAC,EAAE,MAAM,CAAA;
|
|
1
|
+
{"version":3,"file":"AdminUserMenu.d.ts","sourceRoot":"","sources":["../../../src/admin/components/AdminUserMenu.tsx"],"names":[],"mappings":"AAkBA,MAAM,WAAW,kBAAkB;IACjC,uBAAuB;IACvB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,yEAAyE;IACzE,OAAO,CAAC,EAAE,OAAO,CAAA;CAClB;AAMD;;;;;;;GAOG;AACH,wBAAgB,aAAa,CAAC,EAC5B,SAAc,EACd,OAAe,GAChB,EAAE,kBAAkB,2CAwGpB"}
|
|
@@ -21,7 +21,7 @@ import { useLinkedCustomerStatus } from '../hooks/useLinkedCustomerStatus';
|
|
|
21
21
|
* <AdminUserMenu />
|
|
22
22
|
* ```
|
|
23
23
|
*/
|
|
24
|
-
export function AdminUserMenu({ className = '', }) {
|
|
24
|
+
export function AdminUserMenu({ className = '', compact = false, }) {
|
|
25
25
|
const { admin, signOut } = useAdminAuth();
|
|
26
26
|
const linkedCustomer = useLinkedCustomerStatus();
|
|
27
27
|
const [isMenuOpen, setIsMenuOpen] = useState(false);
|
|
@@ -29,6 +29,6 @@ export function AdminUserMenu({ className = '', }) {
|
|
|
29
29
|
await signOut();
|
|
30
30
|
window.location.href = '/admin/login';
|
|
31
31
|
}, [signOut]);
|
|
32
|
-
return (_jsx("div", { className: `admin-user-menu ${className}`, children: _jsxs("div", { className: "admin-dropdown", children: [_jsxs("button", { onClick: () => setIsMenuOpen(!isMenuOpen), className: "admin-user-menu-btn", children: [_jsx("div", { className: "admin-avatar admin-avatar-sm", children: admin
|
|
32
|
+
return (_jsx("div", { className: `admin-user-menu ${compact ? 'admin-user-menu-compact' : ''} ${className}`, children: _jsxs("div", { className: "admin-dropdown", children: [_jsxs("button", { onClick: () => setIsMenuOpen(!isMenuOpen), className: "admin-user-menu-btn", "aria-label": "Account menu", children: [_jsx("div", { className: "admin-avatar admin-avatar-sm", children: admin ? (admin.name?.charAt(0).toUpperCase() || admin.email.charAt(0).toUpperCase()) : (_jsx("span", { className: "admin-skeleton admin-avatar-skeleton" })) }), !compact && (admin ? (_jsx("span", { className: "admin-user-menu-name", children: admin.name })) : (_jsx("span", { className: "admin-skeleton admin-user-menu-name-skeleton" }))), _jsx(ChevronDown, { className: `h-4 w-4 admin-text-muted transition-transform ${isMenuOpen ? 'rotate-180' : ''}` })] }), isMenuOpen && (_jsxs(_Fragment, { children: [_jsx("div", { className: "admin-dropdown-backdrop", onClick: () => setIsMenuOpen(false) }), _jsxs("div", { className: "admin-dropdown-content", children: [_jsxs("div", { className: "admin-dropdown-header", children: [_jsx("p", { className: "admin-dropdown-header-name", children: admin?.name }), _jsx("p", { className: "admin-dropdown-header-email", children: admin?.email }), admin?.role === 'owner' && (_jsx("span", { className: "admin-badge admin-badge-primary mt-2", children: "Owner" }))] }), _jsxs("div", { className: "py-1", children: [_jsxs("a", { href: "/admin", className: "admin-dropdown-item w-full", children: [_jsx(LayoutDashboard, { className: "h-4 w-4", strokeWidth: 1.5 }), "My admin dashboard"] }), linkedCustomer === 'linked' && (_jsxs("a", { href: "/account", target: "_blank", rel: "noopener noreferrer", className: "admin-dropdown-item w-full", children: [_jsx(ShoppingBag, { className: "h-4 w-4", strokeWidth: 1.5 }), "My customer account"] })), _jsxs("a", { href: "/admin/account", className: "admin-dropdown-item w-full", children: [_jsx(User, { className: "h-4 w-4", strokeWidth: 1.5 }), "My account"] }), _jsxs("button", { onClick: handleSignOut, className: "admin-dropdown-item admin-dropdown-item-destructive w-full", children: [_jsx(LogOut, { className: "h-4 w-4", strokeWidth: 1.5 }), "Sign Out"] })] })] })] }))] }) }));
|
|
33
33
|
}
|
|
34
34
|
//# sourceMappingURL=AdminUserMenu.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AdminUserMenu.js","sourceRoot":"","sources":["../../../src/admin/components/AdminUserMenu.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAA;;AAEZ;;;;;GAKG;AAEH,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,OAAO,CAAA;AAC7C,OAAO,EAAE,WAAW,EAAE,eAAe,EAAE,MAAM,EAAE,WAAW,EAAE,IAAI,EAAE,MAAM,cAAc,CAAA;AACtF,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAA;AACpD,OAAO,EAAE,uBAAuB,EAAE,MAAM,kCAAkC,CAAA;
|
|
1
|
+
{"version":3,"file":"AdminUserMenu.js","sourceRoot":"","sources":["../../../src/admin/components/AdminUserMenu.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ColorField.d.ts","sourceRoot":"","sources":["../../../../src/admin/components/emails/ColorField.tsx"],"names":[],"mappings":"AAgBA,MAAM,WAAW,eAAe;IAC9B,KAAK,EAAE,MAAM,CAAA;IACb,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,4EAA4E;IAC5E,KAAK,EAAE,MAAM,GAAG,SAAS,CAAA;IACzB,8DAA8D;IAC9D,QAAQ,EAAE,MAAM,CAAA;IAChB,QAAQ,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAA;IAC/B,QAAQ,CAAC,EAAE,OAAO,CAAA;CACnB;AAED,wBAAgB,UAAU,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,eAAe,
|
|
1
|
+
{"version":3,"file":"ColorField.d.ts","sourceRoot":"","sources":["../../../../src/admin/components/emails/ColorField.tsx"],"names":[],"mappings":"AAgBA,MAAM,WAAW,eAAe;IAC9B,KAAK,EAAE,MAAM,CAAA;IACb,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,4EAA4E;IAC5E,KAAK,EAAE,MAAM,GAAG,SAAS,CAAA;IACzB,8DAA8D;IAC9D,QAAQ,EAAE,MAAM,CAAA;IAChB,QAAQ,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAA;IAC/B,QAAQ,CAAC,EAAE,OAAO,CAAA;CACnB;AAED,wBAAgB,UAAU,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,eAAe,2CA8F/F"}
|
|
@@ -18,6 +18,7 @@ export function ColorField({ label, hint, value, fallback, onChange, disabled })
|
|
|
18
18
|
// Pattern A — reset the draft when the outside value changes (brand
|
|
19
19
|
// swatch click, theme reset) without clobbering in-progress typing.
|
|
20
20
|
useEffect(() => {
|
|
21
|
+
// eslint-disable-next-line react-hooks/set-state-in-effect
|
|
21
22
|
setHexDraft(value ?? '');
|
|
22
23
|
}, [value]);
|
|
23
24
|
// Close on outside click.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ColorField.js","sourceRoot":"","sources":["../../../../src/admin/components/emails/ColorField.tsx"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ColorField.js","sourceRoot":"","sources":["../../../../src/admin/components/emails/ColorField.tsx"],"names":[],"mappings":"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"}
|
|
@@ -10,6 +10,8 @@ export type { AdminForgotPasswordFormProps } from './AdminForgotPasswordForm';
|
|
|
10
10
|
export { AdminResetPasswordForm } from './AdminResetPasswordForm';
|
|
11
11
|
export type { AdminResetPasswordFormProps } from './AdminResetPasswordForm';
|
|
12
12
|
export { AdminLayout } from './AdminLayout';
|
|
13
|
+
export { AdminTopBar } from './AdminTopBar';
|
|
14
|
+
export type { AdminTopBarProps } from './AdminTopBar';
|
|
13
15
|
export { AdminNav } from './AdminNav';
|
|
14
16
|
export { AdminUserMenu } from './AdminUserMenu';
|
|
15
17
|
export type { AdminUserMenuProps } from './AdminUserMenu';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/admin/components/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAMH,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAA;AACzC,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAA;AACjD,OAAO,EAAE,uBAAuB,EAAE,MAAM,2BAA2B,CAAA;AACnE,YAAY,EAAE,4BAA4B,EAAE,MAAM,2BAA2B,CAAA;AAC7E,OAAO,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAA;AACjE,YAAY,EAAE,2BAA2B,EAAE,MAAM,0BAA0B,CAAA;AAM3E,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAA;AAC3C,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAA;AACrC,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAA;AAC/C,YAAY,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAA;AACzD,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAA;AAM7D,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAA;AACzC,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAA;AAC7C,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAA;AAC/C,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAA;AAC7C,YAAY,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAA;AACvD,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAA;AACrD,YAAY,EAAE,qBAAqB,EAAE,MAAM,oBAAoB,CAAA;AAC/D,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAA;AACvD,YAAY,EAAE,sBAAsB,EAAE,MAAM,qBAAqB,CAAA;AACjE,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAA;AAC3D,YAAY,EAAE,wBAAwB,EAAE,MAAM,uBAAuB,CAAA;AACrE,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAA;AACjD,YAAY,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAA;AAC3D,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAA;AAMzC,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAA;AAC7C,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAA;AAC3C,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAA;AAMnD,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAA;AACjD,YAAY,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAA;AAC3D,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAA;AAC7C,YAAY,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAA;AAMvD,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAA;AAC3C,YAAY,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAA;AACxE,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAA;AACzC,YAAY,EAAE,eAAe,EAAE,MAAM,cAAc,CAAA;AACnD,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAA;AACrC,YAAY,EAAE,aAAa,EAAE,MAAM,YAAY,CAAA;AAC/C,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAA;AACjD,YAAY,EAAE,mBAAmB,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAA;AACvF,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAA;AAC3D,YAAY,EAAE,wBAAwB,EAAE,MAAM,uBAAuB,CAAA;AACrE,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAA;AAC/C,YAAY,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAA;AACzD,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAA;AACzC,YAAY,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,cAAc,CAAA;AACnE,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAA;AACnD,YAAY,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAA;AAM7D,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAA;AACzC,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAA;AAC7C,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAA;AAM7C,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAA;AAC/C,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAA;AACzC,YAAY,EAAE,eAAe,EAAE,MAAM,cAAc,CAAA;AACnD,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAA;AACnD,OAAO,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAA;AAC/D,YAAY,EAAE,0BAA0B,EAAE,MAAM,yBAAyB,CAAA;AACzE,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAA;AACrD,YAAY,EAAE,qBAAqB,EAAE,MAAM,oBAAoB,CAAA;AAC/D,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAA;AACrD,YAAY,EAAE,qBAAqB,EAAE,MAAM,oBAAoB,CAAA;AAC/D,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAA;AAC3D,YAAY,EAAE,wBAAwB,EAAE,MAAM,uBAAuB,CAAA;AACrE,OAAO,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAA;AAC/D,YAAY,EAAE,0BAA0B,EAAE,MAAM,yBAAyB,CAAA;AAMzE,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAA;AAMrD,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAA;AAM3C,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAA;AAC/C,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAA;AACnD,OAAO,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAA;AAC/D,YAAY,EAAE,0BAA0B,EAAE,MAAM,yBAAyB,CAAA;AAMzE,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAA;AACzC,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAA;AACrD,OAAO,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAA;AAC/D,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAA;AACrD,YAAY,EAAE,qBAAqB,EAAE,MAAM,oBAAoB,CAAA;AAC/D,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAA;AACvD,YAAY,EAAE,sBAAsB,EAAE,MAAM,qBAAqB,CAAA;AAMjE,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAA;AAC7C,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAA;AAC/C,YAAY,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAA;AACzD,YAAY,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAA;AACvD,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAA;AACzD,YAAY,EAAE,uBAAuB,EAAE,MAAM,sBAAsB,CAAA"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/admin/components/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -14,6 +14,7 @@ export { AdminResetPasswordForm } from './AdminResetPasswordForm';
|
|
|
14
14
|
// Layout Components
|
|
15
15
|
// =============================================================================
|
|
16
16
|
export { AdminLayout } from './AdminLayout';
|
|
17
|
+
export { AdminTopBar } from './AdminTopBar';
|
|
17
18
|
export { AdminNav } from './AdminNav';
|
|
18
19
|
export { AdminUserMenu } from './AdminUserMenu';
|
|
19
20
|
export { ExampleContentBanner } from './ExampleContentBanner';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/admin/components/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/admin/components/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useAdminSession.d.ts","sourceRoot":"","sources":["../../../src/admin/hooks/useAdminSession.ts"],"names":[],"mappings":"AAoDA,MAAM,MAAM,kBAAkB,GAAG,SAAS,GAAG,eAAe,GAAG,iBAAiB,CAAA;AAEhF;;;GAGG;AACH,MAAM,WAAW,mBAAmB;IAClC,IAAI,EAAE;QACJ,EAAE,EAAE,MAAM,CAAA;QACV,KAAK,EAAE,MAAM,CAAA;QACb,IAAI,EAAE,MAAM,CAAA;QACZ,IAAI,EAAE,OAAO,GAAG,OAAO,GAAG,eAAe,GAAG,SAAS,GAAG,MAAM,CAAA;QAC9D,cAAc,CAAC,EAAE,MAAM,CAAA;KACxB,CAAA;IACD,OAAO,CAAC,EAAE,MAAM,CAAA;CACjB;AAED,MAAM,WAAW,qBAAqB;IACpC,IAAI,EAAE,mBAAmB,GAAG,IAAI,CAAA;IAChC,MAAM,EAAE,kBAAkB,CAAA;IAC1B,+EAA+E;IAC/E,MAAM,EAAE,MAAM,OAAO,CAAC,mBAAmB,GAAG,IAAI,CAAC,CAAA;CAClD;
|
|
1
|
+
{"version":3,"file":"useAdminSession.d.ts","sourceRoot":"","sources":["../../../src/admin/hooks/useAdminSession.ts"],"names":[],"mappings":"AAoDA,MAAM,MAAM,kBAAkB,GAAG,SAAS,GAAG,eAAe,GAAG,iBAAiB,CAAA;AAEhF;;;GAGG;AACH,MAAM,WAAW,mBAAmB;IAClC,IAAI,EAAE;QACJ,EAAE,EAAE,MAAM,CAAA;QACV,KAAK,EAAE,MAAM,CAAA;QACb,IAAI,EAAE,MAAM,CAAA;QACZ,IAAI,EAAE,OAAO,GAAG,OAAO,GAAG,eAAe,GAAG,SAAS,GAAG,MAAM,CAAA;QAC9D,cAAc,CAAC,EAAE,MAAM,CAAA;KACxB,CAAA;IACD,OAAO,CAAC,EAAE,MAAM,CAAA;CACjB;AAED,MAAM,WAAW,qBAAqB;IACpC,IAAI,EAAE,mBAAmB,GAAG,IAAI,CAAA;IAChC,MAAM,EAAE,kBAAkB,CAAA;IAC1B,+EAA+E;IAC/E,MAAM,EAAE,MAAM,OAAO,CAAC,mBAAmB,GAAG,IAAI,CAAC,CAAA;CAClD;AAmBD,wBAAgB,eAAe,IAAI,qBAAqB,CAuEvD"}
|
|
@@ -50,9 +50,15 @@ const ADMIN_SESSION_URL = '/api/admin-auth/session';
|
|
|
50
50
|
// =============================================================================
|
|
51
51
|
// Hook
|
|
52
52
|
// =============================================================================
|
|
53
|
+
// Module-level last-known-session cache (2026-07 sidebar revamp): a fresh
|
|
54
|
+
// hook consumer (remount, new component) paints the cached identity
|
|
55
|
+
// instantly instead of a loading fallback, then the mount fetch reconciles.
|
|
56
|
+
// Cleared whenever the server says unauthenticated. JS-session only —
|
|
57
|
+
// never persisted, dies with the tab.
|
|
58
|
+
let lastKnownSession = null;
|
|
53
59
|
export function useAdminSession() {
|
|
54
|
-
const [data, setData] = useState(
|
|
55
|
-
const [status, setStatus] = useState('loading');
|
|
60
|
+
const [data, setData] = useState(lastKnownSession);
|
|
61
|
+
const [status, setStatus] = useState(lastKnownSession ? 'authenticated' : 'loading');
|
|
56
62
|
const mountedRef = useRef(true);
|
|
57
63
|
const fetchSession = useCallback(async () => {
|
|
58
64
|
try {
|
|
@@ -61,6 +67,7 @@ export function useAdminSession() {
|
|
|
61
67
|
headers: { Accept: 'application/json' },
|
|
62
68
|
});
|
|
63
69
|
if (!res.ok) {
|
|
70
|
+
lastKnownSession = null;
|
|
64
71
|
if (!mountedRef.current)
|
|
65
72
|
return null;
|
|
66
73
|
setData(null);
|
|
@@ -69,6 +76,10 @@ export function useAdminSession() {
|
|
|
69
76
|
}
|
|
70
77
|
const json = (await res.json());
|
|
71
78
|
const hasUser = !!(json && json.user?.id);
|
|
79
|
+
if (hasUser)
|
|
80
|
+
lastKnownSession = json;
|
|
81
|
+
else
|
|
82
|
+
lastKnownSession = null;
|
|
72
83
|
if (!mountedRef.current)
|
|
73
84
|
return hasUser ? json : null;
|
|
74
85
|
if (hasUser) {
|
|
@@ -82,6 +93,7 @@ export function useAdminSession() {
|
|
|
82
93
|
return null;
|
|
83
94
|
}
|
|
84
95
|
catch {
|
|
96
|
+
lastKnownSession = null;
|
|
85
97
|
if (!mountedRef.current)
|
|
86
98
|
return null;
|
|
87
99
|
setData(null);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useAdminSession.js","sourceRoot":"","sources":["../../../src/admin/hooks/useAdminSession.ts"],"names":[],"mappings":"AAAA,YAAY,CAAA;AAEZ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA0CG;AAEH,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAA;AA8BhE,gFAAgF;AAChF,YAAY;AACZ,gFAAgF;AAEhF,MAAM,iBAAiB,GAAG,yBAAyB,CAAA;AAEnD,gFAAgF;AAChF,OAAO;AACP,gFAAgF;AAEhF,MAAM,UAAU,eAAe;IAC7B,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,GAAG,QAAQ,CAA6B,
|
|
1
|
+
{"version":3,"file":"useAdminSession.js","sourceRoot":"","sources":["../../../src/admin/hooks/useAdminSession.ts"],"names":[],"mappings":"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"}
|
package/dist/admin/index.d.ts
CHANGED
|
@@ -61,6 +61,6 @@ export { getProducts, createProduct, getProduct, updateProduct, deleteProduct, a
|
|
|
61
61
|
export { useAdminAuth, useAdminSession, useAdminStats, useAdminProducts, useAdminProductMetrics, useAdminOrders, useAdminCategories, useAdminCustomers, useAdminCustomerGroups, useAdminPaymentMethods, useAdminDiscounts, useAdminLocations, useBulkSelection, runChunkedBulk, BULK_CHUNK_SIZE, useAdminUsers, useAdminPermissions, useAdminMe, useLinkedCustomerStatus, useSetupGuide, } from './hooks';
|
|
62
62
|
export type { AdminSessionPayload, AdminSessionStatus, UseAdminSessionReturn, SetupTaskId as SetupGuideTaskId, SetupTier as SetupGuideTier, SetupTask as SetupGuideTaskItem, SetupGuideData, ManualMarkKey as SetupGuideManualMarkKey, } from './hooks';
|
|
63
63
|
export type { CategoryTreeItem } from './hooks/useAdminCategories';
|
|
64
|
-
export { AdminGuard, AdminLoginForm, AdminLayout, AdminNav, ExampleContentBanner, StatsCards, RecentOrders, LowStockAlert, RevenueChart, OrderStatusChart, PrimaryMetricsRow, SecondaryMetricsRow, PeriodSelector, SetupGuide, ProductTable, ProductForm, InventoryEditor, CategorySelect, CategoryForm, SEOPreview, TagInput, VariantManager, OrderTable, OrderDetails, RefundDialog, StoreSettings, LogoUpload, PaymentSettings, PaymentMethodsManager, DiscountsManager, LocationsManager, AdminDateTimePicker, FilesManager, EmailsManager, MediaLibraryPicker, ShippingSettings, TaxSettings, CustomerTable, CustomerDetails, CustomerGroupsManager, UsersTable, AdminForgotPasswordForm, AdminResetPasswordForm, InviteUserDialog, AdminAcceptInviteForm, AdminAccountPage, PermissionsMatrix, DeleteConfirmDialog, BulkActionBar, AdminPageHeader, } from './components';
|
|
65
|
-
export type { RevenueChartProps, OrderStatusChartProps, PrimaryMetricsRowProps, SecondaryMetricsRowProps, PeriodSelectorProps, CategorySelectProps, CategoryFormProps, SEOPreviewProps, TagInputProps, VariantManagerProps, VariantOption, VariantData, DeleteConfirmDialogProps, LogoUploadProps, PermissionsMatrixProps, AdminPageHeaderProps, } from './components';
|
|
64
|
+
export { AdminGuard, AdminLoginForm, AdminLayout, AdminNav, ExampleContentBanner, StatsCards, RecentOrders, LowStockAlert, RevenueChart, OrderStatusChart, PrimaryMetricsRow, SecondaryMetricsRow, PeriodSelector, SetupGuide, ProductTable, ProductForm, InventoryEditor, CategorySelect, CategoryForm, SEOPreview, TagInput, VariantManager, OrderTable, OrderDetails, RefundDialog, StoreSettings, LogoUpload, PaymentSettings, PaymentMethodsManager, DiscountsManager, LocationsManager, AdminDateTimePicker, FilesManager, EmailsManager, MediaLibraryPicker, ShippingSettings, TaxSettings, CustomerTable, CustomerDetails, CustomerGroupsManager, UsersTable, AdminForgotPasswordForm, AdminResetPasswordForm, InviteUserDialog, AdminAcceptInviteForm, AdminAccountPage, PermissionsMatrix, DeleteConfirmDialog, BulkActionBar, AdminPageHeader, AdminTopBar, } from './components';
|
|
65
|
+
export type { RevenueChartProps, OrderStatusChartProps, PrimaryMetricsRowProps, SecondaryMetricsRowProps, PeriodSelectorProps, CategorySelectProps, CategoryFormProps, SEOPreviewProps, TagInputProps, VariantManagerProps, VariantOption, VariantData, DeleteConfirmDialogProps, LogoUploadProps, PermissionsMatrixProps, AdminPageHeaderProps, AdminTopBarProps, } from './components';
|
|
66
66
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/admin/index.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/admin/index.ts"],"names":[],"mappings":"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"}
|
package/dist/admin/index.js
CHANGED
|
@@ -146,5 +146,7 @@ PermissionsMatrix,
|
|
|
146
146
|
// Utility
|
|
147
147
|
DeleteConfirmDialog, BulkActionBar,
|
|
148
148
|
// Page chrome — THE page header every admin route opens with
|
|
149
|
-
AdminPageHeader,
|
|
149
|
+
AdminPageHeader,
|
|
150
|
+
// Identity top bar (2026-07 sidebar revamp)
|
|
151
|
+
AdminTopBar, } from './components';
|
|
150
152
|
//# sourceMappingURL=index.js.map
|
package/dist/admin/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/admin/index.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/admin/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -1090,7 +1090,8 @@
|
|
|
1090
1090
|
font-size: var(--admin-text-2xs);
|
|
1091
1091
|
font-weight: var(--admin-font-semibold);
|
|
1092
1092
|
text-transform: uppercase;
|
|
1093
|
-
|
|
1093
|
+
/* Matches the page-header eyebrow — ONE eyebrow spec across the system. */
|
|
1094
|
+
letter-spacing: 0.14em;
|
|
1094
1095
|
color: hsl(var(--admin-sidebar-foreground-muted) / 0.75);
|
|
1095
1096
|
}
|
|
1096
1097
|
|
|
@@ -1135,17 +1136,20 @@
|
|
|
1135
1136
|
}
|
|
1136
1137
|
|
|
1137
1138
|
.rovela-admin-theme .admin-sidebar-item-icon {
|
|
1138
|
-
|
|
1139
|
-
|
|
1139
|
+
/* 16px at 1.5 stroke beside 13px labels (LAW 07) — was 18px / 2. */
|
|
1140
|
+
width: 1rem;
|
|
1141
|
+
height: 1rem;
|
|
1140
1142
|
flex-shrink: 0;
|
|
1141
1143
|
}
|
|
1142
1144
|
|
|
1143
1145
|
/* Sidebar item icon (svg) - ensure consistent sizing */
|
|
1144
1146
|
.rovela-admin-theme .admin-sidebar-item svg,
|
|
1145
1147
|
.rovela-admin-theme .admin-sidebar-item-svg {
|
|
1146
|
-
width:
|
|
1147
|
-
height:
|
|
1148
|
+
width: 1rem;
|
|
1149
|
+
height: 1rem;
|
|
1148
1150
|
flex-shrink: 0;
|
|
1151
|
+
/* CSS presentation property beats lucide's stroke-width="2" attribute. */
|
|
1152
|
+
stroke-width: 1.5;
|
|
1149
1153
|
}
|
|
1150
1154
|
|
|
1151
1155
|
/* Sidebar item label */
|
|
@@ -4174,13 +4178,12 @@
|
|
|
4174
4178
|
}
|
|
4175
4179
|
|
|
4176
4180
|
/* ═══════════════════════════════════════════════════════════════════════════
|
|
4177
|
-
PAGE HEADER
|
|
4181
|
+
PAGE HEADER — quiet since the 2026-07 sidebar revamp.
|
|
4178
4182
|
|
|
4179
|
-
The
|
|
4180
|
-
band
|
|
4181
|
-
|
|
4182
|
-
|
|
4183
|
-
read as Rovela at a glance.
|
|
4183
|
+
The accent wash + hairline moved UP into the AdminTopBar (the app's one
|
|
4184
|
+
identity band, Shopify's architecture). Page headers keep their structure
|
|
4185
|
+
(eyebrow / title / subtitle / actions via AdminPageHeader) but sit plainly
|
|
4186
|
+
on the cream — fewer horizontal lines, calmer chrome, nothing to misalign.
|
|
4184
4187
|
═══════════════════════════════════════════════════════════════════════════ */
|
|
4185
4188
|
|
|
4186
4189
|
.rovela-admin-theme .admin-page-header {
|
|
@@ -4189,10 +4192,8 @@
|
|
|
4189
4192
|
justify-content: space-between;
|
|
4190
4193
|
flex-wrap: wrap;
|
|
4191
4194
|
gap: var(--admin-space-4);
|
|
4192
|
-
|
|
4193
|
-
|
|
4194
|
-
background: linear-gradient(to bottom, hsl(var(--admin-accent) / 0.055), transparent);
|
|
4195
|
-
border-bottom: var(--admin-border-width) solid hsl(var(--admin-border) / 0.7);
|
|
4195
|
+
padding-top: var(--admin-space-1);
|
|
4196
|
+
margin-bottom: var(--admin-space-2);
|
|
4196
4197
|
}
|
|
4197
4198
|
|
|
4198
4199
|
.rovela-admin-theme .admin-page-header-eyebrow {
|
|
@@ -4423,3 +4424,268 @@ a.rovela-admin-theme .admin-id:hover,
|
|
|
4423
4424
|
.rovela-admin-theme .admin-stat-icon {
|
|
4424
4425
|
display: none;
|
|
4425
4426
|
}
|
|
4427
|
+
|
|
4428
|
+
/* ═══════════════════════════════════════════════════════════════════════════
|
|
4429
|
+
TOP BAR + SLIM SIDEBAR — 2026-07 sidebar revamp (Shopify's architecture)
|
|
4430
|
+
|
|
4431
|
+
Identity moved OUT of the sidebar into a 52px sticky top bar spanning the
|
|
4432
|
+
full width. The top bar carries the app's ONE accent wash + hairline (the
|
|
4433
|
+
page headers went quiet); the sidebar below is pure navigation with its
|
|
4434
|
+
own scroll region, hidden-until-hover scrollbar and directional fade
|
|
4435
|
+
indicators. All classes here are ADDITIVE — the legacy .admin-layout /
|
|
4436
|
+
.admin-sidebar-header / .admin-sidebar-link rules above stay for stores
|
|
4437
|
+
pinned to older SDKs and CC-authored custom chrome.
|
|
4438
|
+
═══════════════════════════════════════════════════════════════════════════ */
|
|
4439
|
+
|
|
4440
|
+
.rovela-admin-theme {
|
|
4441
|
+
--admin-topbar-h: 3.25rem; /* 52px */
|
|
4442
|
+
}
|
|
4443
|
+
|
|
4444
|
+
/* ── Shell: top bar over (sidebar | main) ─────────────────────────────── */
|
|
4445
|
+
.rovela-admin-theme .admin-shell {
|
|
4446
|
+
display: flex;
|
|
4447
|
+
flex-direction: column;
|
|
4448
|
+
height: 100vh;
|
|
4449
|
+
width: 100%;
|
|
4450
|
+
}
|
|
4451
|
+
|
|
4452
|
+
.rovela-admin-theme .admin-shell-body {
|
|
4453
|
+
display: flex;
|
|
4454
|
+
flex: 1;
|
|
4455
|
+
min-height: 0;
|
|
4456
|
+
width: 100%;
|
|
4457
|
+
}
|
|
4458
|
+
|
|
4459
|
+
/* ── Top bar — the identity band ──────────────────────────────────────── */
|
|
4460
|
+
.rovela-admin-theme .admin-topbar {
|
|
4461
|
+
display: flex;
|
|
4462
|
+
align-items: center;
|
|
4463
|
+
justify-content: space-between;
|
|
4464
|
+
gap: var(--admin-space-4);
|
|
4465
|
+
height: var(--admin-topbar-h);
|
|
4466
|
+
flex-shrink: 0;
|
|
4467
|
+
padding: 0 var(--admin-space-3) 0 var(--admin-space-4);
|
|
4468
|
+
background:
|
|
4469
|
+
linear-gradient(to bottom, hsl(var(--admin-accent) / 0.05), hsl(var(--admin-accent) / 0.012)),
|
|
4470
|
+
hsl(var(--admin-sidebar));
|
|
4471
|
+
border-bottom: var(--admin-border-width) solid hsl(var(--admin-border) / 0.7);
|
|
4472
|
+
position: relative;
|
|
4473
|
+
z-index: var(--admin-z-sticky, 40);
|
|
4474
|
+
}
|
|
4475
|
+
|
|
4476
|
+
.rovela-admin-theme .admin-topbar-brand {
|
|
4477
|
+
display: flex;
|
|
4478
|
+
align-items: center;
|
|
4479
|
+
gap: var(--admin-space-2-5);
|
|
4480
|
+
min-width: 0;
|
|
4481
|
+
text-decoration: none;
|
|
4482
|
+
color: inherit;
|
|
4483
|
+
}
|
|
4484
|
+
|
|
4485
|
+
/* Framed logo tile: merchant logos are arbitrary — the tile makes them all
|
|
4486
|
+
read clean. White + hairline when an image exists; ink monogram fallback
|
|
4487
|
+
(never the accent — LAW 02). */
|
|
4488
|
+
.rovela-admin-theme .admin-brand-tile {
|
|
4489
|
+
display: flex;
|
|
4490
|
+
align-items: center;
|
|
4491
|
+
justify-content: center;
|
|
4492
|
+
width: 1.75rem;
|
|
4493
|
+
height: 1.75rem;
|
|
4494
|
+
border-radius: var(--admin-radius-sm);
|
|
4495
|
+
background: hsl(var(--admin-card));
|
|
4496
|
+
border: var(--admin-border-width) solid hsl(var(--admin-border));
|
|
4497
|
+
box-shadow: var(--admin-shadow-sm);
|
|
4498
|
+
overflow: hidden;
|
|
4499
|
+
flex-shrink: 0;
|
|
4500
|
+
}
|
|
4501
|
+
|
|
4502
|
+
.rovela-admin-theme .admin-brand-tile img {
|
|
4503
|
+
width: 100%;
|
|
4504
|
+
height: 100%;
|
|
4505
|
+
object-fit: contain;
|
|
4506
|
+
padding: 2px;
|
|
4507
|
+
}
|
|
4508
|
+
|
|
4509
|
+
.rovela-admin-theme .admin-brand-tile-monogram {
|
|
4510
|
+
background: hsl(var(--admin-foreground));
|
|
4511
|
+
border-color: hsl(var(--admin-foreground));
|
|
4512
|
+
color: hsl(var(--admin-background));
|
|
4513
|
+
font-size: var(--admin-text-xs);
|
|
4514
|
+
font-weight: var(--admin-font-bold);
|
|
4515
|
+
}
|
|
4516
|
+
|
|
4517
|
+
.rovela-admin-theme .admin-brand-tile-skeleton {
|
|
4518
|
+
display: block;
|
|
4519
|
+
width: 100%;
|
|
4520
|
+
height: 100%;
|
|
4521
|
+
}
|
|
4522
|
+
|
|
4523
|
+
.rovela-admin-theme .admin-topbar-store {
|
|
4524
|
+
font-size: var(--admin-text-md);
|
|
4525
|
+
font-weight: var(--admin-font-bold);
|
|
4526
|
+
white-space: nowrap;
|
|
4527
|
+
overflow: hidden;
|
|
4528
|
+
text-overflow: ellipsis;
|
|
4529
|
+
}
|
|
4530
|
+
|
|
4531
|
+
.rovela-admin-theme .admin-topbar-name-skeleton {
|
|
4532
|
+
display: inline-block;
|
|
4533
|
+
width: 6rem;
|
|
4534
|
+
height: 0.875rem;
|
|
4535
|
+
border-radius: var(--admin-radius-xs);
|
|
4536
|
+
}
|
|
4537
|
+
|
|
4538
|
+
.rovela-admin-theme .admin-topbar-tag {
|
|
4539
|
+
font-size: 0.625rem;
|
|
4540
|
+
font-weight: var(--admin-font-bold);
|
|
4541
|
+
letter-spacing: 0.08em;
|
|
4542
|
+
text-transform: uppercase;
|
|
4543
|
+
color: hsl(var(--admin-foreground-muted));
|
|
4544
|
+
background: hsl(var(--admin-sidebar-hover));
|
|
4545
|
+
border-radius: var(--admin-radius-full);
|
|
4546
|
+
padding: 2px 7px;
|
|
4547
|
+
flex-shrink: 0;
|
|
4548
|
+
}
|
|
4549
|
+
|
|
4550
|
+
.rovela-admin-theme .admin-topbar-actions {
|
|
4551
|
+
display: flex;
|
|
4552
|
+
align-items: center;
|
|
4553
|
+
gap: 2px;
|
|
4554
|
+
flex-shrink: 0;
|
|
4555
|
+
}
|
|
4556
|
+
|
|
4557
|
+
.rovela-admin-theme .admin-topbar-btn {
|
|
4558
|
+
display: inline-flex;
|
|
4559
|
+
align-items: center;
|
|
4560
|
+
gap: var(--admin-space-1-5);
|
|
4561
|
+
height: 1.75rem;
|
|
4562
|
+
padding: 0 var(--admin-space-2-5);
|
|
4563
|
+
border-radius: var(--admin-radius-sm);
|
|
4564
|
+
font-size: var(--admin-text-xs);
|
|
4565
|
+
font-weight: var(--admin-font-semibold);
|
|
4566
|
+
color: hsl(var(--admin-foreground-muted));
|
|
4567
|
+
text-decoration: none;
|
|
4568
|
+
transition: background var(--admin-transition-fast), color var(--admin-transition-fast);
|
|
4569
|
+
}
|
|
4570
|
+
|
|
4571
|
+
.rovela-admin-theme .admin-topbar-btn:hover {
|
|
4572
|
+
background: hsl(var(--admin-foreground) / 0.05);
|
|
4573
|
+
color: hsl(var(--admin-foreground));
|
|
4574
|
+
}
|
|
4575
|
+
|
|
4576
|
+
.rovela-admin-theme .admin-topbar-divider {
|
|
4577
|
+
width: var(--admin-border-width);
|
|
4578
|
+
height: 1rem;
|
|
4579
|
+
background: hsl(var(--admin-border));
|
|
4580
|
+
margin: 0 var(--admin-space-1-5);
|
|
4581
|
+
}
|
|
4582
|
+
|
|
4583
|
+
/* In the top bar the user menu is a normal flex child — the legacy
|
|
4584
|
+
.admin-user-menu rule floats it absolutely (top-right corner, from the
|
|
4585
|
+
pre-revamp layout), which made it overlay the View/Edit store buttons.
|
|
4586
|
+
The legacy rule stays for old stores; this scoped override neutralizes it. */
|
|
4587
|
+
.rovela-admin-theme .admin-topbar .admin-user-menu {
|
|
4588
|
+
position: static;
|
|
4589
|
+
}
|
|
4590
|
+
|
|
4591
|
+
/* Compact account trigger in the top bar: avatar + chevron, ghost. */
|
|
4592
|
+
.rovela-admin-theme .admin-topbar .admin-user-menu-btn {
|
|
4593
|
+
background: transparent;
|
|
4594
|
+
border: none;
|
|
4595
|
+
padding: var(--admin-space-1);
|
|
4596
|
+
gap: var(--admin-space-1);
|
|
4597
|
+
border-radius: var(--admin-radius-full);
|
|
4598
|
+
}
|
|
4599
|
+
|
|
4600
|
+
.rovela-admin-theme .admin-topbar .admin-user-menu-btn:hover {
|
|
4601
|
+
background: hsl(var(--admin-foreground) / 0.05);
|
|
4602
|
+
}
|
|
4603
|
+
|
|
4604
|
+
/* Identity is never painted wrong — skeleton slots while loading. */
|
|
4605
|
+
.rovela-admin-theme .admin-avatar-skeleton {
|
|
4606
|
+
display: block;
|
|
4607
|
+
width: 100%;
|
|
4608
|
+
height: 100%;
|
|
4609
|
+
border-radius: var(--admin-radius-full);
|
|
4610
|
+
}
|
|
4611
|
+
|
|
4612
|
+
.rovela-admin-theme .admin-user-menu-name-skeleton {
|
|
4613
|
+
display: inline-block;
|
|
4614
|
+
width: 5rem;
|
|
4615
|
+
height: 0.75rem;
|
|
4616
|
+
border-radius: var(--admin-radius-xs);
|
|
4617
|
+
}
|
|
4618
|
+
|
|
4619
|
+
/* ── Slim sidebar — navigation only, own scroll region ────────────────── */
|
|
4620
|
+
.rovela-admin-theme .admin-sidebar-slim {
|
|
4621
|
+
min-height: 0;
|
|
4622
|
+
height: 100%;
|
|
4623
|
+
flex-shrink: 0;
|
|
4624
|
+
}
|
|
4625
|
+
|
|
4626
|
+
.rovela-admin-theme .admin-sidebar-scrollwrap {
|
|
4627
|
+
position: relative;
|
|
4628
|
+
flex: 1;
|
|
4629
|
+
min-height: 0;
|
|
4630
|
+
display: flex;
|
|
4631
|
+
flex-direction: column;
|
|
4632
|
+
}
|
|
4633
|
+
|
|
4634
|
+
.rovela-admin-theme .admin-sidebar-slim .admin-sidebar-nav {
|
|
4635
|
+
flex: 1;
|
|
4636
|
+
min-height: 0;
|
|
4637
|
+
overflow-y: auto;
|
|
4638
|
+
/* Scrollbar hidden until hover — the fades are the indicator. */
|
|
4639
|
+
scrollbar-width: none;
|
|
4640
|
+
}
|
|
4641
|
+
|
|
4642
|
+
.rovela-admin-theme .admin-sidebar-slim .admin-sidebar-nav::-webkit-scrollbar {
|
|
4643
|
+
width: 0;
|
|
4644
|
+
height: 0;
|
|
4645
|
+
}
|
|
4646
|
+
|
|
4647
|
+
.rovela-admin-theme .admin-sidebar-slim:hover .admin-sidebar-nav {
|
|
4648
|
+
scrollbar-width: thin;
|
|
4649
|
+
scrollbar-color: hsl(var(--admin-border-hover)) transparent;
|
|
4650
|
+
}
|
|
4651
|
+
|
|
4652
|
+
.rovela-admin-theme .admin-sidebar-slim:hover .admin-sidebar-nav::-webkit-scrollbar {
|
|
4653
|
+
width: 6px;
|
|
4654
|
+
}
|
|
4655
|
+
|
|
4656
|
+
.rovela-admin-theme .admin-sidebar-slim:hover .admin-sidebar-nav::-webkit-scrollbar-thumb {
|
|
4657
|
+
background: hsl(var(--admin-border-hover));
|
|
4658
|
+
border-radius: var(--admin-radius-full);
|
|
4659
|
+
}
|
|
4660
|
+
|
|
4661
|
+
/* Directional fades — each shows ONLY while content continues that way. */
|
|
4662
|
+
.rovela-admin-theme .admin-sidebar-fade {
|
|
4663
|
+
position: absolute;
|
|
4664
|
+
left: 0;
|
|
4665
|
+
right: 0;
|
|
4666
|
+
height: 2rem;
|
|
4667
|
+
pointer-events: none;
|
|
4668
|
+
opacity: 0;
|
|
4669
|
+
transition: opacity var(--admin-transition-base);
|
|
4670
|
+
z-index: 2;
|
|
4671
|
+
}
|
|
4672
|
+
|
|
4673
|
+
.rovela-admin-theme .admin-sidebar-fade-up {
|
|
4674
|
+
top: 0;
|
|
4675
|
+
background: linear-gradient(to top, hsl(var(--admin-sidebar) / 0), hsl(var(--admin-sidebar)) 80%);
|
|
4676
|
+
}
|
|
4677
|
+
|
|
4678
|
+
.rovela-admin-theme .admin-sidebar-fade-down {
|
|
4679
|
+
bottom: 0;
|
|
4680
|
+
background: linear-gradient(to bottom, hsl(var(--admin-sidebar) / 0), hsl(var(--admin-sidebar)) 80%);
|
|
4681
|
+
}
|
|
4682
|
+
|
|
4683
|
+
.rovela-admin-theme .admin-sidebar-fade.show {
|
|
4684
|
+
opacity: 1;
|
|
4685
|
+
}
|
|
4686
|
+
|
|
4687
|
+
@media (prefers-reduced-motion: reduce) {
|
|
4688
|
+
.rovela-admin-theme .admin-sidebar-fade {
|
|
4689
|
+
transition: none;
|
|
4690
|
+
}
|
|
4691
|
+
}
|