@airdraft/react-ui 0.1.0 → 0.1.3

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/CHANGELOG.md CHANGED
@@ -1,5 +1,51 @@
1
1
  # Changelog
2
2
 
3
+ All notable changes to this project will be documented in this file. See [standard-version](https://github.com/conventional-changelog/standard-version) for commit guidelines.
4
+
5
+ ### [0.1.3](https://github.com/aevrHQ/airdraft/compare/react-ui@v0.1.2...react-ui@v0.1.3) (2026-05-22)
6
+
7
+
8
+ ### Features
9
+
10
+ * **react-ui:** add CMSAdmin component and update related files for new admin functionality ([50f1459](https://github.com/aevrHQ/airdraft/commit/50f14598c268823615f61428ee1e0e399c610630))
11
+
12
+ ### [0.1.2](https://github.com/aevrHQ/airdraft/compare/react-ui@v0.1.1...react-ui@v0.1.2) (2026-05-22)
13
+
14
+
15
+ ### Features
16
+
17
+ * **cli,core,docs:** implement local filesystem mode with enhanced initialization and error handling ([1848408](https://github.com/aevrHQ/airdraft/commit/1848408738ee3d2bfa0ef532e6dec7a3beef0fb1))
18
+ * **cli:** add CMS client template and optional blog scaffolding to initialization ([cf7bda8](https://github.com/aevrHQ/airdraft/commit/cf7bda8137777aa319acd8edf55fb2cd718a9cd1))
19
+ * **cli:** enhance project initialization templates with schema path support ([a3b20c9](https://github.com/aevrHQ/airdraft/commit/a3b20c9d0dbf0e23594079f1685be8d688e7779b))
20
+ * **client:** add convenience methods for listing and retrieving entries ([c48e3f6](https://github.com/aevrHQ/airdraft/commit/c48e3f6848772bf1ed860785e1e3f9eadffb5ddc))
21
+ * **content:** update content package with new field components and type changes ([e1bd5fa](https://github.com/aevrHQ/airdraft/commit/e1bd5fa8af9b2903024c39a0fa945e49f87754d3))
22
+
23
+ ### [0.1.1](https://github.com/aevrHQ/airdraft/compare/react-ui@v0.1.0...react-ui@v0.1.1) (2026-05-22)
24
+
25
+
26
+ ### Features
27
+
28
+ * add Next.js app detection and prompt for app directory in init commands ([2ed1afd](https://github.com/aevrHQ/airdraft/commit/2ed1afdd1ba3142fd50a9bfd4133f01c2ad22ae9))
29
+ * add schema editor plugin and GitHub schema adapter for managing airdraft.schema.json ([46fd7f2](https://github.com/aevrHQ/airdraft/commit/46fd7f271afe8bc562d5f2fe72b94390cb257161))
30
+ * add versioning and changelog support for all packages ([d6c85df](https://github.com/aevrHQ/airdraft/commit/d6c85dfed37f11c42151c93b49a80ede90699616))
31
+ * enhance media input components and add scoped media adapter for project isolation ([e599cf2](https://github.com/aevrHQ/airdraft/commit/e599cf2c488cf73164d1cb7b1ce479d6005cf923))
32
+ * implement terminal UI helpers for improved user interaction ([0e0dca4](https://github.com/aevrHQ/airdraft/commit/0e0dca4a4e06196abea22e99c9a350fdd202a948))
33
+
34
+
35
+ ### Bug Fixes
36
+
37
+ * improve error handling for missing schema file in buildProjectHandler ([4c3d318](https://github.com/aevrHQ/airdraft/commit/4c3d3184c9c454062fd2d9b33fb0593d5e91b71c))
38
+ * update cloud package version to 0.1.4 and enhance audit log persistence logic ([e1fb0e5](https://github.com/aevrHQ/airdraft/commit/e1fb0e5509c7f95c4e659495bcdbd1339da20cea))
39
+ * update package versions and enhance schema cache handling ([7f4f395](https://github.com/aevrHQ/airdraft/commit/7f4f39572168b4e75dd6f1d756ebd5ef2d7ddbe1))
40
+ * update schema URL from airdraft.dev to airdraft.space ([dbace6e](https://github.com/aevrHQ/airdraft/commit/dbace6e13334f915feace70661810d5dc919f69b))
41
+
42
+
43
+ ### Documentation
44
+
45
+ * add Releasing & Publishing section to README ([132193b](https://github.com/aevrHQ/airdraft/commit/132193bebff585ad3223ccb82176c30615f21443))
46
+
47
+ # Changelog
48
+
3
49
  All notable changes to `@airdraft/react-ui` will be documented here.
4
50
 
5
51
  See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
@@ -1 +1 @@
1
- {"version":3,"file":"AuditLogViewer.d.ts","sourceRoot":"","sources":["../src/AuditLogViewer.tsx"],"names":[],"mappings":"AAwBA,MAAM,WAAW,gBAAgB;IAC/B,SAAS,EAAE,MAAM,CAAA;IACjB,SAAS,EAAE,MAAM,CAAA;IACjB,UAAU,EAAE,MAAM,CAAA;IAClB,MAAM,EAAE,MAAM,CAAA;IACd,IAAI,EAAE,MAAM,CAAA;IACZ,MAAM,EAAE,MAAM,CAAA;IACd,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,UAAU,EAAE,MAAM,CAAA;IAClB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IACjC,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IAClC,KAAK,CAAC,EAAE;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAA;KAAE,CAAA;CAC3C;AAgDD,MAAM,WAAW,mBAAmB;IAClC;;;OAGG;IACH,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,cAAc,CAAC,EAAE,MAAqB,EAAE,SAAS,EAAE,EAAE,mBAAmB,2CA6KvF"}
1
+ {"version":3,"file":"AuditLogViewer.d.ts","sourceRoot":"","sources":["../src/AuditLogViewer.tsx"],"names":[],"mappings":"AAwBA,MAAM,WAAW,gBAAgB;IAC/B,SAAS,EAAE,MAAM,CAAA;IACjB,SAAS,EAAE,MAAM,CAAA;IACjB,UAAU,EAAE,MAAM,CAAA;IAClB,MAAM,EAAE,MAAM,CAAA;IACd,IAAI,EAAE,MAAM,CAAA;IACZ,MAAM,EAAE,MAAM,CAAA;IACd,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,UAAU,EAAE,MAAM,CAAA;IAClB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IACjC,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IAClC,KAAK,CAAC,EAAE;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAA;KAAE,CAAA;CAC3C;AAgDD,MAAM,WAAW,mBAAmB;IAClC;;;OAGG;IACH,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,cAAc,CAAC,EAAE,MAAqB,EAAE,SAAS,EAAE,EAAE,mBAAmB,2CAmLvF"}
@@ -2,14 +2,14 @@
2
2
  import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
3
3
  import { useEffect, useState, useCallback } from 'react';
4
4
  import { Button } from './ui/button.js';
5
- import { Input } from './ui/input.js';
5
+ import { InputGroup, InputGroupAddon, InputGroupText, InputGroupInput } from './ui/input-group.js';
6
6
  import { Badge } from './ui/badge.js';
7
7
  import { PageHeader } from './components/PageHeader.js';
8
8
  import { EmptyState } from './components/EmptyState.js';
9
9
  import { ErrorAlert } from './components/ErrorAlert.js';
10
10
  import { Table, TableBody, TableCell, TableHead, TableHeader, TableRow, } from './ui/table.js';
11
11
  import { cn } from './lib/utils.js';
12
- import { RefreshCw, ScrollText } from 'lucide-react';
12
+ import { RefreshCw, ScrollText, Search } from 'lucide-react';
13
13
  // ---------------------------------------------------------------------------
14
14
  // Helpers
15
15
  // ---------------------------------------------------------------------------
@@ -90,6 +90,6 @@ export function AuditLogViewer({ apiUrl = '/api/audit', className }) {
90
90
  : events;
91
91
  return (_jsxs("div", { className: cn('space-y-4', className), children: [_jsx(PageHeader, { title: "Audit Log", description: loading ? 'Loading…'
92
92
  : error ? 'Error'
93
- : `${filtered.length} of ${total} event${total === 1 ? '' : 's'}`, actions: _jsxs(Button, { variant: "outline", size: "sm", onClick: load, disabled: loading, children: [_jsx(RefreshCw, { className: cn('h-3.5 w-3.5 mr-1.5', loading && 'animate-spin') }), "Refresh"] }) }), _jsx(Input, { placeholder: "Filter by action, path, status, collection\u2026", value: filter, onChange: (e) => setFilter(e.target.value), className: "max-w-md" }), error && _jsx(ErrorAlert, { error: error, title: "Failed to load audit log", onRetry: load }), !loading && !error && filtered.length === 0 && (_jsx(EmptyState, { icon: _jsx(ScrollText, { className: "h-10 w-10" }), title: "No events", description: q ? 'No events match your filter.' : 'No audit events recorded yet.' })), filtered.length > 0 && (_jsxs(Table, { children: [_jsx(TableHeader, { children: _jsxs(TableRow, { children: [_jsx(TableHead, { className: "w-[160px]", children: "Time" }), _jsx(TableHead, { className: "w-[60px]", children: "Method" }), _jsx(TableHead, { children: "Path" }), _jsx(TableHead, { className: "w-[80px]", children: "Status" }), _jsx(TableHead, { className: "w-[70px] text-right", children: "ms" })] }) }), _jsx(TableBody, { children: filtered.map((ev) => (_jsxs(_Fragment, { children: [_jsxs(TableRow, { className: cn('cursor-pointer hover:bg-muted/50', expanded === ev.requestId && 'bg-muted/40'), onClick: () => setExpanded((prev) => (prev === ev.requestId ? null : ev.requestId)), children: [_jsx(TableCell, { className: "font-mono text-xs text-muted-foreground whitespace-nowrap", children: formatTs(ev.timestamp) }), _jsx(TableCell, { children: _jsx(MethodBadge, { method: ev.method }) }), _jsxs(TableCell, { className: "font-mono text-xs max-w-[320px] truncate", children: [_jsx("span", { className: "text-muted-foreground", children: ev.path }), ev.error && (_jsx("span", { className: "ml-2 text-destructive text-xs", children: ev.error.message }))] }), _jsx(TableCell, { children: _jsx(StatusBadge, { code: ev.statusCode }) }), _jsx(TableCell, { className: "text-right font-mono text-xs text-muted-foreground", children: ev.durationMs })] }, ev.requestId), expanded === ev.requestId && (_jsx(TableRow, { className: "bg-muted/20 hover:bg-muted/20", children: _jsx(TableCell, { colSpan: 5, className: "p-0", children: _jsx("div", { className: "px-4 py-3 font-mono text-xs space-y-1.5", children: _jsxs("div", { className: "grid grid-cols-[120px_1fr] gap-x-4 gap-y-1", children: [_jsx("span", { className: "text-muted-foreground", children: "requestId" }), _jsx("span", { children: ev.requestId }), _jsx("span", { className: "text-muted-foreground", children: "action" }), _jsx("span", { children: ev.action }), ev.collection && (_jsxs(_Fragment, { children: [_jsx("span", { className: "text-muted-foreground", children: "collection" }), _jsx("span", { children: ev.collection })] })), ev.slug && (_jsxs(_Fragment, { children: [_jsx("span", { className: "text-muted-foreground", children: "slug" }), _jsx("span", { children: ev.slug })] })), ev.actor && (_jsxs(_Fragment, { children: [_jsx("span", { className: "text-muted-foreground", children: "actor" }), _jsx("span", { className: "truncate max-w-[300px]", children: ev.actor })] })), ev.error && (_jsxs(_Fragment, { children: [_jsx("span", { className: "text-muted-foreground", children: "error" }), _jsxs("span", { className: "text-destructive", children: [ev.error.code ? `[${ev.error.code}] ` : '', ev.error.message] })] })), ev.response && Object.keys(ev.response).length > 0 && (_jsxs(_Fragment, { children: [_jsx("span", { className: "text-muted-foreground", children: "response" }), _jsx("span", { className: "text-muted-foreground break-all", children: JSON.stringify(ev.response) })] }))] }) }) }) }, `${ev.requestId}-detail`))] }))) })] }))] }));
93
+ : `${filtered.length} of ${total} event${total === 1 ? '' : 's'}`, actions: _jsxs(Button, { variant: "outline", size: "sm", onClick: load, disabled: loading, children: [_jsx(RefreshCw, { className: cn('h-3.5 w-3.5 mr-1.5', loading && 'animate-spin') }), "Refresh"] }) }), _jsxs(InputGroup, { className: "max-w-md", children: [_jsx(InputGroupAddon, { align: "inline-start", children: _jsx(InputGroupText, { children: _jsx(Search, {}) }) }), _jsx(InputGroupInput, { placeholder: "Filter by action, path, status, collection\u2026", value: filter, onChange: (e) => setFilter(e.target.value) })] }), error && _jsx(ErrorAlert, { error: error, title: "Failed to load audit log", onRetry: load }), !loading && !error && filtered.length === 0 && (_jsx(EmptyState, { icon: _jsx(ScrollText, { className: "h-10 w-10" }), title: "No events", description: q ? 'No events match your filter.' : 'No audit events recorded yet.' })), filtered.length > 0 && (_jsxs(Table, { children: [_jsx(TableHeader, { children: _jsxs(TableRow, { children: [_jsx(TableHead, { className: "w-[160px]", children: "Time" }), _jsx(TableHead, { className: "w-[60px]", children: "Method" }), _jsx(TableHead, { children: "Path" }), _jsx(TableHead, { className: "w-[80px]", children: "Status" }), _jsx(TableHead, { className: "w-[70px] text-right", children: "ms" })] }) }), _jsx(TableBody, { children: filtered.map((ev) => (_jsxs(_Fragment, { children: [_jsxs(TableRow, { className: cn('cursor-pointer hover:bg-muted/50', expanded === ev.requestId && 'bg-muted/40'), onClick: () => setExpanded((prev) => (prev === ev.requestId ? null : ev.requestId)), children: [_jsx(TableCell, { className: "font-mono text-xs text-muted-foreground whitespace-nowrap", children: formatTs(ev.timestamp) }), _jsx(TableCell, { children: _jsx(MethodBadge, { method: ev.method }) }), _jsxs(TableCell, { className: "font-mono text-xs max-w-[320px] truncate", children: [_jsx("span", { className: "text-muted-foreground", children: ev.path }), ev.error && (_jsx("span", { className: "ml-2 text-destructive text-xs", children: ev.error.message }))] }), _jsx(TableCell, { children: _jsx(StatusBadge, { code: ev.statusCode }) }), _jsx(TableCell, { className: "text-right font-mono text-xs text-muted-foreground", children: ev.durationMs })] }, ev.requestId), expanded === ev.requestId && (_jsx(TableRow, { className: "bg-muted/20 hover:bg-muted/20", children: _jsx(TableCell, { colSpan: 5, className: "p-0", children: _jsx("div", { className: "px-4 py-3 font-mono text-xs space-y-1.5", children: _jsxs("div", { className: "grid grid-cols-[120px_1fr] gap-x-4 gap-y-1", children: [_jsx("span", { className: "text-muted-foreground", children: "requestId" }), _jsx("span", { children: ev.requestId }), _jsx("span", { className: "text-muted-foreground", children: "action" }), _jsx("span", { children: ev.action }), ev.collection && (_jsxs(_Fragment, { children: [_jsx("span", { className: "text-muted-foreground", children: "collection" }), _jsx("span", { children: ev.collection })] })), ev.slug && (_jsxs(_Fragment, { children: [_jsx("span", { className: "text-muted-foreground", children: "slug" }), _jsx("span", { children: ev.slug })] })), ev.actor && (_jsxs(_Fragment, { children: [_jsx("span", { className: "text-muted-foreground", children: "actor" }), _jsx("span", { className: "truncate max-w-[300px]", children: ev.actor })] })), ev.error && (_jsxs(_Fragment, { children: [_jsx("span", { className: "text-muted-foreground", children: "error" }), _jsxs("span", { className: "text-destructive", children: [ev.error.code ? `[${ev.error.code}] ` : '', ev.error.message] })] })), ev.response && Object.keys(ev.response).length > 0 && (_jsxs(_Fragment, { children: [_jsx("span", { className: "text-muted-foreground", children: "response" }), _jsx("span", { className: "text-muted-foreground break-all", children: JSON.stringify(ev.response) })] }))] }) }) }) }, `${ev.requestId}-detail`))] }))) })] }))] }));
94
94
  }
95
95
  //# sourceMappingURL=AuditLogViewer.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"AuditLogViewer.js","sourceRoot":"","sources":["../src/AuditLogViewer.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"AuditLogViewer.js","sourceRoot":"","sources":["../src/AuditLogViewer.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,31 @@
1
+ import type { AuthConfig } from '@airdraft/react';
2
+ export interface CMSAdminProps {
3
+ /** Catch-all route segments from Next.js params — pass `params.route ?? []`. */
4
+ segments?: string[];
5
+ /** Mount point of the CMS admin. Default: "/cms" */
6
+ basePath?: string;
7
+ /** Airdraft API base URL. Default: "/api/cms" */
8
+ apiUrl?: string;
9
+ /** Auth config. Falls back to NEXT_PUBLIC_CMS_API_KEY env var, then session mode. */
10
+ auth?: AuthConfig;
11
+ /** Brand name shown in the header logo. Default: "Airdraft" */
12
+ brandName?: string;
13
+ /** Brand logo image URL. Default: Airdraft favicon */
14
+ brandLogoUrl?: string;
15
+ }
16
+ /**
17
+ * Drop-in CMS admin component for Next.js catch-all routes.
18
+ *
19
+ * Place in `app/cms/[[...route]]/page.tsx`:
20
+ *
21
+ * ```tsx
22
+ * import { CMSAdmin } from '@airdraft/react-ui'
23
+ *
24
+ * export default async function CmsPage({ params }: { params: Promise<{ route?: string[] }> }) {
25
+ * const { route } = await params
26
+ * return <CMSAdmin segments={route} />
27
+ * }
28
+ * ```
29
+ */
30
+ export declare function CMSAdmin({ segments, basePath, apiUrl, auth, brandName, brandLogoUrl, }: CMSAdminProps): import("react/jsx-runtime").JSX.Element;
31
+ //# sourceMappingURL=CMSAdmin.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CMSAdmin.d.ts","sourceRoot":"","sources":["../src/CMSAdmin.tsx"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAA;AAgBjD,MAAM,WAAW,aAAa;IAC5B,gFAAgF;IAChF,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAA;IACnB,oDAAoD;IACpD,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,iDAAiD;IACjD,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,qFAAqF;IACrF,IAAI,CAAC,EAAE,UAAU,CAAA;IACjB,+DAA+D;IAC/D,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,sDAAsD;IACtD,YAAY,CAAC,EAAE,MAAM,CAAA;CACtB;AA0OD;;;;;;;;;;;;;GAaG;AACH,wBAAgB,QAAQ,CAAC,EACvB,QAAa,EACb,QAAiB,EACjB,MAAmB,EACnB,IAAI,EACJ,SAAsB,EACtB,YAAY,GACb,EAAE,aAAa,2CAgBf"}
@@ -0,0 +1,152 @@
1
+ "use client";
2
+ import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
3
+ import { useEffect } from 'react';
4
+ import { useRouter } from 'next/navigation';
5
+ import { AirdraftProvider, useAuth } from '@airdraft/react';
6
+ import { CmsAdminHeader } from './components/CmsAdminHeader.js';
7
+ import { CollectionsIndex } from './CollectionsIndex.js';
8
+ import { ContentManager } from './ContentManager.js';
9
+ import { EntryEditor } from './EntryEditor.js';
10
+ import { MediaManager } from './MediaManager.js';
11
+ import { LoginForm } from './LoginForm.js';
12
+ import { SchemaEditor } from './SchemaEditor.js';
13
+ import { TeamManager } from './TeamManager.js';
14
+ import { AuditLogViewer } from './AuditLogViewer.js';
15
+ import { EmptyState } from './components/EmptyState.js';
16
+ // ---------------------------------------------------------------------------
17
+ // Resolve auth from prop → env var → session
18
+ // ---------------------------------------------------------------------------
19
+ function resolveAuth(auth) {
20
+ if (auth)
21
+ return auth;
22
+ const apiKey = typeof process !== 'undefined'
23
+ ? (process.env['NEXT_PUBLIC_CMS_API_KEY'] ?? '')
24
+ : '';
25
+ if (apiKey)
26
+ return { type: 'apiKey', token: apiKey };
27
+ return undefined; // falls back to { type: 'session' } implicitly
28
+ }
29
+ // ---------------------------------------------------------------------------
30
+ // Login view — no shell, centered card
31
+ // ---------------------------------------------------------------------------
32
+ function LoginView({ basePath, brandName, }) {
33
+ const router = useRouter();
34
+ return (_jsx("div", { className: "min-h-screen flex items-center justify-center p-4 bg-background", children: _jsxs("div", { className: "w-full max-w-sm space-y-6", children: [_jsxs("div", { className: "text-center", children: [_jsx("h1", { className: "text-2xl font-semibold tracking-tight", children: brandName }), _jsx("p", { className: "text-sm text-muted-foreground mt-1", children: "Sign in to your account" })] }), _jsx("div", { className: "rounded-xl border bg-card p-6 shadow-sm", children: _jsx(LoginForm, { onSuccess: () => router.replace(basePath) }) })] }) }));
35
+ }
36
+ // ---------------------------------------------------------------------------
37
+ // API-key shell — no auth guard
38
+ // ---------------------------------------------------------------------------
39
+ function ApiKeyShell({ children, basePath, brandName, brandLogoUrl, }) {
40
+ return (_jsxs(_Fragment, { children: [_jsx(CmsAdminHeader, { basePath: basePath, brandName: brandName, brandLogoUrl: brandLogoUrl }), _jsx("div", { className: "px-4", children: _jsx("main", { className: "mx-auto max-w-4xl space-y-6 py-6", children: children }) })] }));
41
+ }
42
+ // ---------------------------------------------------------------------------
43
+ // Session shell — auth guard + logout
44
+ // ---------------------------------------------------------------------------
45
+ function SessionShell({ children, basePath, brandName, brandLogoUrl, }) {
46
+ const router = useRouter();
47
+ const { user, isLoading, logout } = useAuth();
48
+ useEffect(() => {
49
+ if (!isLoading && !user) {
50
+ router.replace(`${basePath}/login`);
51
+ }
52
+ }, [isLoading, user, basePath, router]);
53
+ if (isLoading) {
54
+ return (_jsx("div", { className: "flex min-h-screen items-center justify-center", children: _jsx("p", { className: "text-sm text-muted-foreground", children: "Loading\u2026" }) }));
55
+ }
56
+ if (!user)
57
+ return null;
58
+ async function handleLogout() {
59
+ await logout();
60
+ router.replace(`${basePath}/login`);
61
+ }
62
+ return (_jsxs(_Fragment, { children: [_jsx(CmsAdminHeader, { user: user, onLogout: handleLogout, basePath: basePath, brandName: brandName, brandLogoUrl: brandLogoUrl }), _jsx("div", { className: "px-4", children: _jsx("main", { className: "mx-auto max-w-4xl space-y-6 py-6", children: children }) })] }));
63
+ }
64
+ // ---------------------------------------------------------------------------
65
+ // View switcher — maps segments → component
66
+ // ---------------------------------------------------------------------------
67
+ function CmsView({ segments, basePath, apiUrl, brandName, brandLogoUrl, isApiKeyMode, }) {
68
+ const router = useRouter();
69
+ const Shell = isApiKeyMode ? ApiKeyShell : SessionShell;
70
+ const shellProps = { basePath, brandName, brandLogoUrl };
71
+ // Login page — rendered without a shell
72
+ if (segments[0] === 'login') {
73
+ if (isApiKeyMode) {
74
+ // API-key mode doesn't use login — redirect to base
75
+ router.replace(basePath);
76
+ return null;
77
+ }
78
+ return _jsx(LoginView, { basePath: basePath, brandName: brandName });
79
+ }
80
+ // Settings redirect: /settings → /settings/schema
81
+ if (segments[0] === 'settings' && segments.length === 1) {
82
+ router.replace(`${basePath}/settings/schema`);
83
+ return null;
84
+ }
85
+ // /collections → redirect to base (the collections index is the root)
86
+ if (segments[0] === 'collections' && segments.length === 1) {
87
+ router.replace(basePath);
88
+ return null;
89
+ }
90
+ // Determine view content
91
+ let content;
92
+ if (segments.length === 0) {
93
+ // Root → collections index
94
+ content = (_jsx(CollectionsIndex, { onSelect: (name) => router.push(`${basePath}/collections/${name}`) }));
95
+ }
96
+ else if (segments[0] === 'collections' && segments.length === 2) {
97
+ // /collections/[collection]
98
+ const collection = segments[1];
99
+ content = (_jsx(ContentManager, { collection: collection, onEdit: (slug) => router.push(`${basePath}/collections/${collection}/${slug}`) }));
100
+ }
101
+ else if (segments[0] === 'collections' && segments.length === 3) {
102
+ // /collections/[collection]/[slug]
103
+ const [, collection, slug] = segments;
104
+ content = (_jsx(EntryEditor, { collection: collection, slug: slug, onBack: () => router.push(`${basePath}/collections/${collection}`) }));
105
+ }
106
+ else if (segments[0] === 'media') {
107
+ content = _jsx(MediaManager, {});
108
+ }
109
+ else if (segments[0] === 'settings' && segments[1] === 'schema') {
110
+ content = _jsx(SchemaEditor, {});
111
+ }
112
+ else if (segments[0] === 'settings' && segments[1] === 'team') {
113
+ // TeamManager — only meaningful in session mode (useAuth inside Shell provides user)
114
+ content = _jsx(TeamManagerView, {});
115
+ }
116
+ else if (segments[0] === 'settings' && segments[1] === 'audit') {
117
+ content = _jsx(AuditLogViewer, { apiUrl: `${apiUrl}/audit` });
118
+ }
119
+ else {
120
+ // Unknown route
121
+ content = (_jsx(EmptyState, { title: "Page not found", description: `The path "/${segments.join('/')}" doesn't exist in the CMS admin.` }));
122
+ }
123
+ return _jsx(Shell, { ...shellProps, children: content });
124
+ }
125
+ // Thin wrapper so TeamManager can read useAuth inside the Shell's AirdraftProvider tree
126
+ function TeamManagerView() {
127
+ const { user } = useAuth();
128
+ return (_jsx(TeamManager, { isAdmin: user?.role === 'admin', currentUserEmail: user?.email }));
129
+ }
130
+ // ---------------------------------------------------------------------------
131
+ // CMSAdmin — public entry point
132
+ // ---------------------------------------------------------------------------
133
+ /**
134
+ * Drop-in CMS admin component for Next.js catch-all routes.
135
+ *
136
+ * Place in `app/cms/[[...route]]/page.tsx`:
137
+ *
138
+ * ```tsx
139
+ * import { CMSAdmin } from '@airdraft/react-ui'
140
+ *
141
+ * export default async function CmsPage({ params }: { params: Promise<{ route?: string[] }> }) {
142
+ * const { route } = await params
143
+ * return <CMSAdmin segments={route} />
144
+ * }
145
+ * ```
146
+ */
147
+ export function CMSAdmin({ segments = [], basePath = '/cms', apiUrl = '/api/cms', auth, brandName = 'Airdraft', brandLogoUrl, }) {
148
+ const resolvedAuth = resolveAuth(auth);
149
+ const isApiKeyMode = resolvedAuth?.type === 'apiKey';
150
+ return (_jsx(AirdraftProvider, { apiUrl: apiUrl, auth: resolvedAuth, children: _jsx(CmsView, { segments: segments, basePath: basePath, apiUrl: apiUrl, brandName: brandName, brandLogoUrl: brandLogoUrl, isApiKeyMode: isApiKeyMode }) }));
151
+ }
152
+ //# sourceMappingURL=CMSAdmin.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CMSAdmin.js","sourceRoot":"","sources":["../src/CMSAdmin.tsx"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"MediaManager.d.ts","sourceRoot":"","sources":["../src/MediaManager.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAA;AAa/C,MAAM,WAAW,iBAAiB;IAChC,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,mEAAmE;IACnE,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE,SAAS,KAAK,IAAI,CAAA;CACrC;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,YAAY,CAAC,EAAE,SAAS,EAAE,QAAQ,EAAE,EAAE,iBAAiB,2CAiGtE"}
1
+ {"version":3,"file":"MediaManager.d.ts","sourceRoot":"","sources":["../src/MediaManager.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAA;AAa/C,MAAM,WAAW,iBAAiB;IAChC,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,mEAAmE;IACnE,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE,SAAS,KAAK,IAAI,CAAA;CACrC;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,YAAY,CAAC,EAAE,SAAS,EAAE,QAAQ,EAAE,EAAE,iBAAiB,2CAoGtE"}
@@ -4,7 +4,7 @@ import { useState, useCallback } from 'react';
4
4
  import { useMediaLibrary, useMediaUpload, useMediaDelete } from '@airdraft/react';
5
5
  import { Button } from './ui/button.js';
6
6
  import Loader from './ui/aevr/loader.js';
7
- import { Input } from './ui/input.js';
7
+ import { InputGroup, InputGroupAddon, InputGroupText, InputGroupInput } from './ui/input-group.js';
8
8
  import { PageHeader } from './components/PageHeader.js';
9
9
  import { EmptyState } from './components/EmptyState.js';
10
10
  import { MediaCard } from './components/MediaCard.js';
@@ -54,6 +54,6 @@ export function MediaManager({ className, onSelect }) {
54
54
  setDeletingKey(null);
55
55
  }
56
56
  }, [deleteItem, refresh]);
57
- return (_jsxs("div", { className: cn('space-y-4', className), children: [_jsx(PageHeader, { title: "Media", description: `${items.length} item${items.length === 1 ? '' : 's'}`, actions: _jsx(Button, { size: "sm", onClick: () => setShowUpload((v) => !v), children: showUpload ? (_jsxs(_Fragment, { children: [_jsx(X, { className: "mr-1.5 h-3.5 w-3.5" }), "Cancel"] })) : (_jsx(_Fragment, { children: "Upload" })) }) }), showUpload && (_jsxs("div", { className: "space-y-2", children: [_jsx(UploadZone, { onFiles: handleUpload, uploading: uploading }), uploadError && _jsx(ErrorAlert, { error: uploadError, compact: true })] })), _jsxs("div", { className: "relative", children: [_jsx(Search, { className: "absolute left-2.5 top-1/2 -translate-y-1/2 h-3.5 w-3.5 text-muted-foreground" }), _jsx(Input, { value: search, onChange: (e) => setSearch(e.target.value), placeholder: "Search by filename\u2026", className: "pl-8 h-8 text-sm" })] }), loading ? (_jsx("div", { className: "flex justify-center py-8", children: _jsx(Loader, {}) })) : error ? (_jsx(ErrorAlert, { error: error, title: "Failed to load media", onRetry: refresh })) : items.length === 0 ? (_jsx(EmptyState, { icon: _jsx(Images, { className: "h-10 w-10" }), title: search ? 'No results' : 'No media yet', description: search ? 'Try a different search term.' : 'Upload your first file to get started.', action: !search && (_jsx(Button, { size: "sm", onClick: () => setShowUpload(true), children: "Upload" })) })) : (_jsx("div", { className: "grid grid-cols-2 gap-3 sm:grid-cols-3 md:grid-cols-4 lg:grid-cols-5", children: items.map((item) => (_jsx(MediaCard, { item: item, onDelete: handleDelete, onSelect: onSelect, deleting: deletingKey === item.key }, item.key))) }))] }));
57
+ return (_jsxs("div", { className: cn('space-y-4', className), children: [_jsx(PageHeader, { title: "Media", description: `${items.length} item${items.length === 1 ? '' : 's'}`, actions: _jsx(Button, { size: "sm", onClick: () => setShowUpload((v) => !v), children: showUpload ? (_jsxs(_Fragment, { children: [_jsx(X, { className: "mr-1.5 h-3.5 w-3.5" }), "Cancel"] })) : (_jsx(_Fragment, { children: "Upload" })) }) }), showUpload && (_jsxs("div", { className: "space-y-2", children: [_jsx(UploadZone, { onFiles: handleUpload, uploading: uploading }), uploadError && _jsx(ErrorAlert, { error: uploadError, compact: true })] })), _jsxs(InputGroup, { children: [_jsx(InputGroupAddon, { align: "inline-start", children: _jsx(InputGroupText, { children: _jsx(Search, {}) }) }), _jsx(InputGroupInput, { value: search, onChange: (e) => setSearch(e.target.value), placeholder: "Search by filename\u2026" })] }), loading ? (_jsx("div", { className: "flex justify-center py-8", children: _jsx(Loader, {}) })) : error ? (_jsx(ErrorAlert, { error: error, title: "Failed to load media", onRetry: refresh })) : items.length === 0 ? (_jsx(EmptyState, { icon: _jsx(Images, { className: "h-10 w-10" }), title: search ? 'No results' : 'No media yet', description: search ? 'Try a different search term.' : 'Upload your first file to get started.', action: !search && (_jsx(Button, { size: "sm", onClick: () => setShowUpload(true), children: "Upload" })) })) : (_jsx("div", { className: "grid grid-cols-2 gap-3 sm:grid-cols-3 md:grid-cols-4 lg:grid-cols-5", children: items.map((item) => (_jsx(MediaCard, { item: item, onDelete: handleDelete, onSelect: onSelect, deleting: deletingKey === item.key }, item.key))) }))] }));
58
58
  }
59
59
  //# sourceMappingURL=MediaManager.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"MediaManager.js","sourceRoot":"","sources":["../src/MediaManager.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"MediaManager.js","sourceRoot":"","sources":["../src/MediaManager.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAA;;AAEZ,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,OAAO,CAAA;AAE7C,OAAO,EAAE,eAAe,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAA;AACjF,OAAO,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAA;AACvC,OAAO,MAAM,MAAM,qBAAqB,CAAA;AACxC,OAAO,EAAE,UAAU,EAAE,eAAe,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAA;AAClG,OAAO,EAAE,UAAU,EAAE,MAAM,4BAA4B,CAAA;AACvD,OAAO,EAAE,UAAU,EAAE,MAAM,4BAA4B,CAAA;AACvD,OAAO,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAA;AACrD,OAAO,EAAE,UAAU,EAAE,MAAM,4BAA4B,CAAA;AACvD,OAAO,EAAE,UAAU,EAAE,MAAM,4BAA4B,CAAA;AACvD,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,cAAc,CAAA;AAChD,OAAO,EAAE,EAAE,EAAE,MAAM,gBAAgB,CAAA;AAQnC;;;;;;;;;;;;GAYG;AACH,MAAM,UAAU,YAAY,CAAC,EAAE,SAAS,EAAE,QAAQ,EAAqB;IACrE,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,QAAQ,CAAC,EAAE,CAAC,CAAA;IACxC,MAAM,CAAC,UAAU,EAAE,aAAa,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAA;IACnD,MAAM,CAAC,WAAW,EAAE,cAAc,CAAC,GAAG,QAAQ,CAAgB,IAAI,CAAC,CAAA;IACnE,MAAM,CAAC,WAAW,EAAE,cAAc,CAAC,GAAG,QAAQ,CAAgB,IAAI,CAAC,CAAA;IAEnE,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,GAAG,eAAe,CAAC,EAAE,MAAM,EAAE,MAAM,IAAI,SAAS,EAAE,CAAC,CAAA;IAC3F,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,GAAG,cAAc,EAAE,CAAA;IAC9C,MAAM,EAAE,UAAU,EAAE,GAAG,cAAc,EAAE,CAAA;IAEvC,MAAM,YAAY,GAAG,WAAW,CAAC,KAAK,EAAE,KAAa,EAAE,EAAE;QACvD,cAAc,CAAC,IAAI,CAAC,CAAA;QACpB,IAAI,CAAC;YACH,MAAM,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;YAC9C,OAAO,EAAE,CAAA;YACT,aAAa,CAAC,KAAK,CAAC,CAAA;QACtB,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,cAAc,CAAC,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAA;QACvE,CAAC;IACH,CAAC,EAAE,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAA;IAErB,MAAM,YAAY,GAAG,WAAW,CAAC,KAAK,EAAE,IAAe,EAAE,EAAE;QACzD,cAAc,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;QACxB,IAAI,CAAC;YACH,MAAM,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;YAC1B,OAAO,EAAE,CAAA;QACX,CAAC;gBAAS,CAAC;YACT,cAAc,CAAC,IAAI,CAAC,CAAA;QACtB,CAAC;IACH,CAAC,EAAE,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC,CAAA;IAEzB,OAAO,CACL,eAAK,SAAS,EAAE,EAAE,CAAC,WAAW,EAAE,SAAS,CAAC,aACxC,KAAC,UAAU,IACT,KAAK,EAAC,OAAO,EACb,WAAW,EAAE,GAAG,KAAK,CAAC,MAAM,QAAQ,KAAK,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,EAAE,EACnE,OAAO,EACL,KAAC,MAAM,IAAC,IAAI,EAAC,IAAI,EAAC,OAAO,EAAE,GAAG,EAAE,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,YACtD,UAAU,CAAC,CAAC,CAAC,CACZ,8BAAE,KAAC,CAAC,IAAC,SAAS,EAAC,oBAAoB,GAAG,cAAS,CAChD,CAAC,CAAC,CAAC,CACF,uCAAW,CACZ,GACM,GAEX,EAED,UAAU,IAAI,CACb,eAAK,SAAS,EAAC,WAAW,aACxB,KAAC,UAAU,IAAC,OAAO,EAAE,YAAY,EAAE,SAAS,EAAE,SAAS,GAAI,EAC1D,WAAW,IAAI,KAAC,UAAU,IAAC,KAAK,EAAE,WAAW,EAAE,OAAO,SAAG,IACtD,CACP,EAGD,MAAC,UAAU,eACT,KAAC,eAAe,IAAC,KAAK,EAAC,cAAc,YACnC,KAAC,cAAc,cACb,KAAC,MAAM,KAAG,GACK,GACD,EAClB,KAAC,eAAe,IACd,KAAK,EAAE,MAAM,EACb,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAC1C,WAAW,EAAC,0BAAqB,GACjC,IACS,EAEZ,OAAO,CAAC,CAAC,CAAC,CACT,cAAK,SAAS,EAAC,0BAA0B,YACvC,KAAC,MAAM,KAAG,GACN,CACP,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CACV,KAAC,UAAU,IAAC,KAAK,EAAE,KAAK,EAAE,KAAK,EAAC,sBAAsB,EAAC,OAAO,EAAE,OAAO,GAAI,CAC5E,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,CACvB,KAAC,UAAU,IACT,IAAI,EAAE,KAAC,MAAM,IAAC,SAAS,EAAC,WAAW,GAAG,EACtC,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,cAAc,EAC7C,WAAW,EAAE,MAAM,CAAC,CAAC,CAAC,8BAA8B,CAAC,CAAC,CAAC,wCAAwC,EAC/F,MAAM,EACJ,CAAC,MAAM,IAAI,CACT,KAAC,MAAM,IAAC,IAAI,EAAC,IAAI,EAAC,OAAO,EAAE,GAAG,EAAE,CAAC,aAAa,CAAC,IAAI,CAAC,uBAAiB,CACtE,GAEH,CACH,CAAC,CAAC,CAAC,CACF,cAAK,SAAS,EAAC,qEAAqE,YACjF,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CACnB,KAAC,SAAS,IAER,IAAI,EAAE,IAAI,EACV,QAAQ,EAAE,YAAY,EACtB,QAAQ,EAAE,QAAQ,EAClB,QAAQ,EAAE,WAAW,KAAK,IAAI,CAAC,GAAG,IAJ7B,IAAI,CAAC,GAAG,CAKb,CACH,CAAC,GACE,CACP,IACG,CACP,CAAA;AACH,CAAC"}
@@ -6,6 +6,12 @@ export interface CmsAdminHeaderProps {
6
6
  name?: string;
7
7
  } | null;
8
8
  onLogout?: () => void;
9
+ /** Mount point of the CMS admin. Default: "/cms" */
10
+ basePath?: string;
11
+ /** Brand name shown in the header logo. Default: "Airdraft" */
12
+ brandName?: string;
13
+ /** Brand logo image URL. Default: Airdraft favicon */
14
+ brandLogoUrl?: string;
9
15
  }
10
- export declare function CmsAdminHeader({ user, onLogout }: CmsAdminHeaderProps): import("react/jsx-runtime").JSX.Element;
16
+ export declare function CmsAdminHeader({ user, onLogout, basePath, brandName, brandLogoUrl, }: CmsAdminHeaderProps): import("react/jsx-runtime").JSX.Element;
11
17
  //# sourceMappingURL=CmsAdminHeader.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"CmsAdminHeader.d.ts","sourceRoot":"","sources":["../../src/components/CmsAdminHeader.tsx"],"names":[],"mappings":"AA4HA,MAAM,WAAW,mBAAmB;IAClC;4EACwE;IACxE,IAAI,CAAC,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAAC;IAC/C,QAAQ,CAAC,EAAE,MAAM,IAAI,CAAC;CACvB;AAED,wBAAgB,cAAc,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,mBAAmB,2CA8CrE"}
1
+ {"version":3,"file":"CmsAdminHeader.d.ts","sourceRoot":"","sources":["../../src/components/CmsAdminHeader.tsx"],"names":[],"mappings":"AAkGA,MAAM,WAAW,mBAAmB;IAClC;4EACwE;IACxE,IAAI,CAAC,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAAC;IAC/C,QAAQ,CAAC,EAAE,MAAM,IAAI,CAAC;IACtB,oDAAoD;IACpD,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,+DAA+D;IAC/D,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,sDAAsD;IACtD,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,wBAAgB,cAAc,CAAC,EAC7B,IAAI,EACJ,QAAQ,EACR,QAAiB,EACjB,SAAsB,EACtB,YAAgC,GACjC,EAAE,mBAAmB,2CAgDrB"}
@@ -7,8 +7,8 @@ import { PageHeader } from "../ui/aevr/page-header.js";
7
7
  import { NavUser } from "../ui/aevr/nav-user.js";
8
8
  import { SearchCommand } from "../ui/aevr/search-command.js";
9
9
  import { ActivityIcon, Code2Icon, ImageIcon, LayoutListIcon, SettingsIcon, UsersIcon, } from "lucide-react";
10
+ const AIRDRAFT_LOGO_URL = "https://aevr.online/favicon.ico";
10
11
  // ── Segment config for CMS breadcrumbs ───────────────────────────────────────
11
- // The "cms" segment itself is skipped so breadcrumbs start from the sub-route.
12
12
  const CMS_SEGMENT_CONFIG = {
13
13
  collections: {
14
14
  label: "Content",
@@ -21,96 +21,73 @@ const CMS_SEGMENT_CONFIG = {
21
21
  team: { label: "Team", shortLabel: "Team", icon: UsersIcon },
22
22
  audit: { label: "Audit Log", shortLabel: "Audit", icon: ActivityIcon },
23
23
  };
24
- // ── Search command config ─────────────────────────────────────────────────────
25
- const CMS_SEARCH_GROUPS = [
26
- {
27
- heading: "Navigation",
28
- entries: [
29
- {
30
- title: "Content",
31
- description: "Manage collection entries",
32
- href: "/cms",
33
- icon: LayoutListIcon,
34
- shortcut: "gc",
35
- keywords: ["content", "entries", "collections"],
36
- },
37
- {
38
- title: "Media",
39
- description: "Upload and browse media files",
40
- href: "/cms/media",
41
- icon: ImageIcon,
42
- shortcut: "gm",
43
- keywords: ["media", "images", "files", "uploads"],
44
- },
45
- {
46
- title: "Schema",
47
- description: "Edit content schema and fields",
48
- href: "/cms/settings/schema",
49
- icon: Code2Icon,
50
- shortcut: "gs",
51
- keywords: ["schema", "fields", "types"],
52
- },
53
- {
54
- title: "Team",
55
- description: "Manage team members and invites",
56
- href: "/cms/settings/team",
57
- icon: UsersIcon,
58
- shortcut: "gt",
59
- keywords: ["team", "users", "members", "invites"],
60
- },
61
- {
62
- title: "Audit Log",
63
- description: "View content activity history",
64
- href: "/cms/settings/audit",
65
- icon: ActivityIcon,
66
- keywords: ["audit", "log", "activity", "history"],
67
- },
68
- ],
69
- },
70
- ];
71
- const CMS_KEY_SEQUENCES = {
72
- gc: "/cms",
73
- gm: "/cms/media",
74
- gs: "/cms/settings/schema",
75
- gt: "/cms/settings/team",
76
- };
77
- // ── Primary nav items ─────────────────────────────────────────────────────────
78
- const NAV_ITEMS = [
79
- {
80
- href: "/cms",
81
- label: "Content",
82
- match: (p) => p === "/cms" || p.startsWith("/cms/collections"),
83
- },
84
- {
85
- href: "/cms/media",
86
- label: "Media",
87
- match: (p) => p.startsWith("/cms/media"),
88
- },
89
- {
90
- href: "/cms/settings/schema",
91
- label: "Schema",
92
- match: (p) => p.startsWith("/cms/settings/schema"),
93
- },
94
- {
95
- href: "/cms/settings/team",
96
- label: "Team",
97
- match: (p) => p.startsWith("/cms/settings/team"),
98
- },
99
- {
100
- href: "/cms/settings/audit",
101
- label: "Audit",
102
- match: (p) => p.startsWith("/cms/settings/audit"),
103
- },
104
- ];
105
- export function CmsAdminHeader({ user, onLogout }) {
106
- const pathname = usePathname();
24
+ // ── basePath-aware helpers ────────────────────────────────────────────────────
25
+ function buildSearchGroups(b) {
26
+ return [
27
+ {
28
+ heading: "Navigation",
29
+ entries: [
30
+ {
31
+ title: "Content",
32
+ description: "Manage collection entries",
33
+ href: b,
34
+ icon: LayoutListIcon,
35
+ shortcut: "gc",
36
+ keywords: ["content", "entries", "collections"],
37
+ },
38
+ {
39
+ title: "Media",
40
+ description: "Upload and browse media files",
41
+ href: `${b}/media`,
42
+ icon: ImageIcon,
43
+ shortcut: "gm",
44
+ keywords: ["media", "images", "files", "uploads"],
45
+ },
46
+ {
47
+ title: "Schema",
48
+ description: "Edit content schema and fields",
49
+ href: `${b}/settings/schema`,
50
+ icon: Code2Icon,
51
+ shortcut: "gs",
52
+ keywords: ["schema", "fields", "types"],
53
+ },
54
+ {
55
+ title: "Team",
56
+ description: "Manage team members and invites",
57
+ href: `${b}/settings/team`,
58
+ icon: UsersIcon,
59
+ shortcut: "gt",
60
+ keywords: ["team", "users", "members", "invites"],
61
+ },
62
+ {
63
+ title: "Audit Log",
64
+ description: "View content activity history",
65
+ href: `${b}/settings/audit`,
66
+ icon: ActivityIcon,
67
+ keywords: ["audit", "log", "activity", "history"],
68
+ },
69
+ ],
70
+ },
71
+ ];
72
+ }
73
+ function buildKeySequences(b) {
74
+ return {
75
+ gc: b,
76
+ gm: `${b}/media`,
77
+ gs: `${b}/settings/schema`,
78
+ gt: `${b}/settings/team`,
79
+ };
80
+ }
81
+ export function CmsAdminHeader({ user, onLogout, basePath = "/cms", brandName = "Airdraft", brandLogoUrl = AIRDRAFT_LOGO_URL, }) {
82
+ usePathname(); // keep subscription for breadcrumb reactivity
83
+ const baseSegment = basePath.replace(/^\//, "").split("/").at(-1) ?? "cms";
107
84
  const navUser = user
108
85
  ? {
109
86
  displayName: user.name ?? user.email.split("@")[0],
110
87
  email: user.email,
111
88
  }
112
89
  : null;
113
- return (_jsx(PageHeader, { segmentConfig: CMS_SEGMENT_CONFIG, skipSegments: ["cms"], logoSlot: _jsxs(Link, { href: "/cms", className: "text-sm flex items-center gap-2 font-semibold whitespace-nowrap", children: [_jsx(Image, { src: "https://aevr.online/favicon.ico", alt: "Airdraft", width: 24, height: 24, className: "rounded-full" }), "Airdraft"] }), searchSlot: _jsx(SearchCommand, { groups: CMS_SEARCH_GROUPS, keySequenceRoutes: CMS_KEY_SEQUENCES, triggerLabel: "Search...", storageKey: "cms:search:recent" }), userSlot: navUser && (_jsx(NavUser, { variant: "header", user: navUser, onLogout: onLogout })), options: {
90
+ return (_jsx(PageHeader, { segmentConfig: CMS_SEGMENT_CONFIG, skipSegments: [baseSegment], logoSlot: _jsxs(Link, { href: basePath, className: "text-sm flex items-center gap-2 font-semibold whitespace-nowrap", children: [_jsx(Image, { src: brandLogoUrl, alt: brandName, width: 24, height: 24, className: "rounded-full" }), brandName] }), searchSlot: _jsx(SearchCommand, { groups: buildSearchGroups(basePath), keySequenceRoutes: buildKeySequences(basePath), triggerLabel: "Search...", storageKey: "cms:search:recent" }), userSlot: navUser && (_jsx(NavUser, { variant: "header", user: navUser, onLogout: onLogout })), options: {
114
91
  showBreadcrumbs: true,
115
92
  showThemeToggle: true,
116
93
  showSearch: true,
@@ -1 +1 @@
1
- {"version":3,"file":"CmsAdminHeader.js","sourceRoot":"","sources":["../../src/components/CmsAdminHeader.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"CmsAdminHeader.js","sourceRoot":"","sources":["../../src/components/CmsAdminHeader.tsx"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -1,5 +1,7 @@
1
1
  export { SchemaEditor } from './SchemaEditor.js';
2
2
  export type { SchemaEditorProps } from './SchemaEditor.js';
3
+ export { CMSAdmin } from './CMSAdmin.js';
4
+ export type { CMSAdminProps } from './CMSAdmin.js';
3
5
  export { SchemaEditorRoot, useSchemaEditorContext } from './SchemaEditorRoot.js';
4
6
  export type { SchemaEditorRootProps, SchemaEditorLabels } from './SchemaEditorRoot.js';
5
7
  export { SchemaEditorSidebar } from './SchemaEditorSidebar.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAA;AAChD,YAAY,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAA;AAG1D,OAAO,EAAE,gBAAgB,EAAE,sBAAsB,EAAE,MAAM,uBAAuB,CAAA;AAChF,YAAY,EAAE,qBAAqB,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAA;AAEtF,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAA;AAC9D,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAA;AAC9D,OAAO,EAAE,uBAAuB,EAAE,MAAM,8BAA8B,CAAA;AAEtE,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAA;AACpD,YAAY,EAAE,mBAAmB,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAA;AAGhF,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAA;AACxD,YAAY,EAAE,qBAAqB,EAAE,MAAM,uBAAuB,CAAA;AAElE,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAA;AACpD,YAAY,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAA;AAE9D,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAA;AAC9C,YAAY,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAA;AAExD,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAA;AAChD,YAAY,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAA;AAE1D,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAA;AAC9C,YAAY,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAA;AAExD,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAA;AAC1C,YAAY,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAA;AAEpD,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAA;AACxD,YAAY,EAAE,qBAAqB,EAAE,MAAM,uBAAuB,CAAA;AAGlE,OAAO,EACL,aAAa,EACb,UAAU,EACV,UAAU,EACV,SAAS,EACT,WAAW,EACX,QAAQ,EACR,SAAS,EACT,UAAU,EACV,SAAS,EACT,SAAS,EACT,UAAU,EACV,cAAc,GACf,MAAM,uBAAuB,CAAA;AAC9B,YAAY,EACV,kBAAkB,EAClB,eAAe,EACf,eAAe,EACf,cAAc,EACd,OAAO,EACP,gBAAgB,EAChB,aAAa,EACb,cAAc,EACd,eAAe,EACf,cAAc,EACd,OAAO,EACP,cAAc,EACd,SAAS,EACT,eAAe,EACf,QAAQ,EACR,aAAa,EACb,mBAAmB,GACpB,MAAM,uBAAuB,CAAA;AAG9B,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAA;AAGxD,OAAO,EACL,eAAe,EACf,yBAAyB,EACzB,gBAAgB,EAChB,gBAAgB,EAChB,sBAAsB,EACtB,gBAAgB,EAChB,gBAAgB,EAChB,gBAAgB,GACjB,MAAM,mBAAmB,CAAA;AAC1B,YAAY,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAA;AAChD,YAAY,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAA;AAG1D,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAA;AACxC,YAAY,EAAE,aAAa,EAAE,MAAM,eAAe,CAAA;AAGlD,OAAO,EAAE,gBAAgB,EAAE,sBAAsB,EAAE,MAAM,uBAAuB,CAAA;AAChF,YAAY,EAAE,qBAAqB,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAA;AAEtF,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAA;AAC9D,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAA;AAC9D,OAAO,EAAE,uBAAuB,EAAE,MAAM,8BAA8B,CAAA;AAEtE,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAA;AACpD,YAAY,EAAE,mBAAmB,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAA;AAGhF,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAA;AACxD,YAAY,EAAE,qBAAqB,EAAE,MAAM,uBAAuB,CAAA;AAElE,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAA;AACpD,YAAY,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAA;AAE9D,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAA;AAC9C,YAAY,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAA;AAExD,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAA;AAChD,YAAY,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAA;AAE1D,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAA;AAC9C,YAAY,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAA;AAExD,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAA;AAC1C,YAAY,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAA;AAEpD,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAA;AACxD,YAAY,EAAE,qBAAqB,EAAE,MAAM,uBAAuB,CAAA;AAGlE,OAAO,EACL,aAAa,EACb,UAAU,EACV,UAAU,EACV,SAAS,EACT,WAAW,EACX,QAAQ,EACR,SAAS,EACT,UAAU,EACV,SAAS,EACT,SAAS,EACT,UAAU,EACV,cAAc,GACf,MAAM,uBAAuB,CAAA;AAC9B,YAAY,EACV,kBAAkB,EAClB,eAAe,EACf,eAAe,EACf,cAAc,EACd,OAAO,EACP,gBAAgB,EAChB,aAAa,EACb,cAAc,EACd,eAAe,EACf,cAAc,EACd,OAAO,EACP,cAAc,EACd,SAAS,EACT,eAAe,EACf,QAAQ,EACR,aAAa,EACb,mBAAmB,GACpB,MAAM,uBAAuB,CAAA;AAG9B,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAA;AAGxD,OAAO,EACL,eAAe,EACf,yBAAyB,EACzB,gBAAgB,EAChB,gBAAgB,EAChB,sBAAsB,EACtB,gBAAgB,EAChB,gBAAgB,EAChB,gBAAgB,GACjB,MAAM,mBAAmB,CAAA;AAC1B,YAAY,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAA"}
package/dist/index.js CHANGED
@@ -1,5 +1,7 @@
1
1
  // Schema editor — Tier 3 drop-in
2
2
  export { SchemaEditor } from './SchemaEditor.js';
3
+ // CMS Admin — Tier 3 drop-in catch-all
4
+ export { CMSAdmin } from './CMSAdmin.js';
3
5
  // Schema editor — Tier 2 composable slots
4
6
  export { SchemaEditorRoot, useSchemaEditorContext } from './SchemaEditorRoot.js';
5
7
  export { SchemaEditorSidebar } from './SchemaEditorSidebar.js';
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,iCAAiC;AACjC,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAA;AAGhD,0CAA0C;AAC1C,OAAO,EAAE,gBAAgB,EAAE,sBAAsB,EAAE,MAAM,uBAAuB,CAAA;AAGhF,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAA;AAC9D,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAA;AAC9D,OAAO,EAAE,uBAAuB,EAAE,MAAM,8BAA8B,CAAA;AAEtE,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAA;AAGpD,2BAA2B;AAC3B,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAA;AAGxD,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAA;AAGpD,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAA;AAG9C,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAA;AAGhD,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAA;AAG9C,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAA;AAG1C,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAA;AAGxD,2BAA2B;AAC3B,OAAO,EACL,aAAa,EACb,UAAU,EACV,UAAU,EACV,SAAS,EACT,WAAW,EACX,QAAQ,EACR,SAAS,EACT,UAAU,EACV,SAAS,EACT,SAAS,EACT,UAAU,EACV,cAAc,GACf,MAAM,uBAAuB,CAAA;AAqB9B,QAAQ;AACR,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAA;AAExD,wGAAwG;AACxG,OAAO,EACL,eAAe,EACf,yBAAyB,EACzB,gBAAgB,EAChB,gBAAgB,EAChB,sBAAsB,EACtB,gBAAgB,EAChB,gBAAgB,EAChB,gBAAgB,GACjB,MAAM,mBAAmB,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,iCAAiC;AACjC,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAA;AAGhD,uCAAuC;AACvC,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAA;AAGxC,0CAA0C;AAC1C,OAAO,EAAE,gBAAgB,EAAE,sBAAsB,EAAE,MAAM,uBAAuB,CAAA;AAGhF,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAA;AAC9D,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAA;AAC9D,OAAO,EAAE,uBAAuB,EAAE,MAAM,8BAA8B,CAAA;AAEtE,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAA;AAGpD,2BAA2B;AAC3B,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAA;AAGxD,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAA;AAGpD,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAA;AAG9C,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAA;AAGhD,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAA;AAG9C,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAA;AAG1C,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAA;AAGxD,2BAA2B;AAC3B,OAAO,EACL,aAAa,EACb,UAAU,EACV,UAAU,EACV,SAAS,EACT,WAAW,EACX,QAAQ,EACR,SAAS,EACT,UAAU,EACV,SAAS,EACT,SAAS,EACT,UAAU,EACV,cAAc,GACf,MAAM,uBAAuB,CAAA;AAqB9B,QAAQ;AACR,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAA;AAExD,wGAAwG;AACxG,OAAO,EACL,eAAe,EACf,yBAAyB,EACzB,gBAAgB,EAChB,gBAAgB,EAChB,sBAAsB,EACtB,gBAAgB,EAChB,gBAAgB,EAChB,gBAAgB,GACjB,MAAM,mBAAmB,CAAA"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@airdraft/react-ui",
3
- "version": "0.1.0",
3
+ "version": "0.1.3",
4
4
  "description": "Airdraft React UI — schema editor and team management components",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",
@@ -11,7 +11,11 @@
11
11
  "types": "./dist/index.d.ts"
12
12
  }
13
13
  },
14
- "files": ["dist", "README.md", "CHANGELOG.md"],
14
+ "files": [
15
+ "dist",
16
+ "README.md",
17
+ "CHANGELOG.md"
18
+ ],
15
19
  "scripts": {
16
20
  "build": "tsc",
17
21
  "dev": "tsc --watch",