@actuate-media/cms-admin 0.30.0 → 0.31.0

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.
@@ -1 +1 @@
1
- {"version":3,"file":"Users.js","sourceRoot":"","sources":["../../src/views/Users.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Users.js","sourceRoot":"","sources":["../../src/views/Users.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,9 @@
1
+ export interface UserDetailDrawerProps {
2
+ userId: string | null;
3
+ open: boolean;
4
+ onOpenChange: (open: boolean) => void;
5
+ /** Refetch the parent table after any change to this user. */
6
+ onChanged?: () => void;
7
+ }
8
+ export declare function UserDetailDrawer({ userId, open, onOpenChange, onChanged }: UserDetailDrawerProps): import("react/jsx-runtime").JSX.Element;
9
+ //# sourceMappingURL=UserDetailDrawer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"UserDetailDrawer.d.ts","sourceRoot":"","sources":["../../../src/views/users/UserDetailDrawer.tsx"],"names":[],"mappings":"AAuRA,MAAM,WAAW,qBAAqB;IACpC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAA;IACrB,IAAI,EAAE,OAAO,CAAA;IACb,YAAY,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,CAAA;IACrC,8DAA8D;IAC9D,SAAS,CAAC,EAAE,MAAM,IAAI,CAAA;CACvB;AAED,wBAAgB,gBAAgB,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,YAAY,EAAE,SAAS,EAAE,EAAE,qBAAqB,2CA4nBhG"}
@@ -0,0 +1,236 @@
1
+ 'use client';
2
+ import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
3
+ /**
4
+ * User detail drawer — opened from a Team members row. Five tabs:
5
+ *
6
+ * Overview — identity, role, status, lifecycle facts, content owned.
7
+ * Security — MFA / password / lock state + admin security actions.
8
+ * Sessions — active sessions with per-session + bulk revoke.
9
+ * Activity — recent audit events where the user is actor or target.
10
+ * Permissions — read-only effective role + permission scopes.
11
+ *
12
+ * Every mutating action is permission-checked and audited server-side. The
13
+ * high-impact ones (MFA reset, Admin/Owner password reset) return a 401
14
+ * "reauth required" which this component handles by prompting for the admin's
15
+ * password and retrying with the `x-reauth-password` header.
16
+ */
17
+ import * as Tabs from '@radix-ui/react-tabs';
18
+ import { ShieldCheck, ShieldAlert, KeyRound, Lock, Unlock, Ban, Monitor, LogOut, Activity as ActivityIcon, FileText, AlertTriangle, Check, } from 'lucide-react';
19
+ import { useCallback, useState } from 'react';
20
+ import { toast } from 'sonner';
21
+ import { cmsApi } from '../../lib/api.js';
22
+ import { useApiData } from '../../lib/useApiData.js';
23
+ import { Drawer } from '../../components/forms/Drawer.js';
24
+ import { Modal } from '../../components/ui/Modal.js';
25
+ import { Button } from '../../components/ui/Button.js';
26
+ import { Skeleton } from '../../components/ui/Skeleton.js';
27
+ import { EmptyState } from '../../components/ui/EmptyState.js';
28
+ import { ConfirmDialog } from '../../components/ui/ConfirmDialog.js';
29
+ // ---------------------------------------------------------------------------
30
+ // Formatting helpers
31
+ // ---------------------------------------------------------------------------
32
+ function relativeTime(iso) {
33
+ if (!iso)
34
+ return 'Never';
35
+ const then = new Date(iso).getTime();
36
+ if (Number.isNaN(then))
37
+ return '—';
38
+ const diffMs = Date.now() - then;
39
+ const mins = Math.floor(diffMs / 60000);
40
+ if (mins < 5)
41
+ return 'Just now';
42
+ if (mins < 60)
43
+ return `${mins}m ago`;
44
+ const hours = Math.floor(mins / 60);
45
+ if (hours < 24)
46
+ return `${hours}h ago`;
47
+ const days = Math.floor(hours / 24);
48
+ if (days === 1)
49
+ return 'Yesterday';
50
+ return `${days} days ago`;
51
+ }
52
+ function formatDate(iso) {
53
+ if (!iso)
54
+ return '—';
55
+ const d = new Date(iso);
56
+ if (Number.isNaN(d.getTime()))
57
+ return '—';
58
+ return d.toLocaleDateString(undefined, { year: 'numeric', month: 'short', day: 'numeric' });
59
+ }
60
+ function humanizeEvent(event) {
61
+ return event.replace(/_/g, ' ').replace(/^\w/, (c) => c.toUpperCase());
62
+ }
63
+ const ROLE_PILL = {
64
+ Owner: 'bg-brand/10 text-brand',
65
+ Admin: 'bg-info/10 text-info',
66
+ Editor: 'bg-accent text-accent-foreground',
67
+ Viewer: 'bg-muted text-muted-foreground',
68
+ };
69
+ const STATUS_META = {
70
+ active: { dot: 'bg-success', text: 'text-success', label: 'Active' },
71
+ suspended: { dot: 'bg-muted-foreground', text: 'text-muted-foreground', label: 'Suspended' },
72
+ locked: { dot: 'bg-destructive', text: 'text-destructive', label: 'Locked' },
73
+ deactivated: {
74
+ dot: 'bg-muted-foreground',
75
+ text: 'text-muted-foreground',
76
+ label: 'Deactivated',
77
+ },
78
+ };
79
+ // ---------------------------------------------------------------------------
80
+ // Reauth dialog
81
+ // ---------------------------------------------------------------------------
82
+ function ReauthDialog({ open, onClose, onSubmit, }) {
83
+ const [password, setPassword] = useState('');
84
+ const [busy, setBusy] = useState(false);
85
+ const submit = async () => {
86
+ if (!password || busy)
87
+ return;
88
+ setBusy(true);
89
+ try {
90
+ await onSubmit(password);
91
+ setPassword('');
92
+ }
93
+ finally {
94
+ setBusy(false);
95
+ }
96
+ };
97
+ return (_jsxs(Modal, { open: open, onClose: () => {
98
+ setPassword('');
99
+ onClose();
100
+ }, title: "Confirm it's you", actions: _jsxs(_Fragment, { children: [_jsx(Button, { variant: "ghost", onClick: () => {
101
+ setPassword('');
102
+ onClose();
103
+ }, children: "Cancel" }), _jsx(Button, { variant: "primary", loading: busy, disabled: !password || busy, onClick: submit, children: "Confirm" })] }), children: [_jsx("p", { className: "text-muted-foreground mb-3 text-sm", children: "This is a sensitive action. Re-enter your password to continue." }), _jsx("label", { htmlFor: "reauth-password", className: "text-card-foreground mb-1 block text-sm font-medium", children: "Your password" }), _jsx("input", { id: "reauth-password", type: "password", value: password, onChange: (e) => setPassword(e.target.value), onKeyDown: (e) => {
104
+ if (e.key === 'Enter')
105
+ submit();
106
+ }, autoComplete: "current-password", className: "border-border bg-input-background text-foreground focus:ring-brand w-full rounded-md border px-3 py-2 text-sm focus:ring-2 focus:outline-none" })] }));
107
+ }
108
+ // ---------------------------------------------------------------------------
109
+ // Small presentational bits
110
+ // ---------------------------------------------------------------------------
111
+ function Fact({ label, value }) {
112
+ return (_jsxs("div", { className: "min-w-0", children: [_jsx("dt", { className: "text-muted-foreground text-xs", children: label }), _jsx("dd", { className: "text-card-foreground mt-0.5 truncate text-sm", children: value })] }));
113
+ }
114
+ function SecurityRow({ icon, title, description, action, }) {
115
+ return (_jsxs("div", { className: "border-border flex items-center justify-between gap-3 border-b py-3 last:border-b-0", children: [_jsxs("div", { className: "flex min-w-0 items-start gap-2.5", children: [_jsx("span", { className: "text-muted-foreground mt-0.5 shrink-0", children: icon }), _jsxs("div", { className: "min-w-0", children: [_jsx("div", { className: "text-card-foreground text-sm font-medium", children: title }), _jsx("div", { className: "text-muted-foreground text-xs", children: description })] })] }), _jsx("div", { className: "shrink-0", children: action })] }));
116
+ }
117
+ // ---------------------------------------------------------------------------
118
+ // Drawer
119
+ // ---------------------------------------------------------------------------
120
+ const TABS = [
121
+ { id: 'overview', label: 'Overview' },
122
+ { id: 'security', label: 'Security' },
123
+ { id: 'sessions', label: 'Sessions' },
124
+ { id: 'activity', label: 'Activity' },
125
+ { id: 'permissions', label: 'Permissions' },
126
+ ];
127
+ export function UserDetailDrawer({ userId, open, onOpenChange, onChanged }) {
128
+ const [tab, setTab] = useState('overview');
129
+ const detailEp = open && userId ? `/users/${userId}` : null;
130
+ const detail = useApiData(detailEp);
131
+ const sessionsEp = open && userId && tab === 'sessions' ? `/users/${userId}/sessions` : null;
132
+ const sessions = useApiData(sessionsEp);
133
+ const activityEp = open && userId && tab === 'activity' ? `/users/${userId}/activity` : null;
134
+ const activity = useApiData(activityEp);
135
+ const permsEp = open && userId && tab === 'permissions' ? `/users/${userId}/permissions` : null;
136
+ const perms = useApiData(permsEp);
137
+ const [reauth, setReauth] = useState(null);
138
+ const [confirm, setConfirm] = useState(null);
139
+ const [pending, setPending] = useState(null);
140
+ const refreshAfterChange = useCallback(() => {
141
+ detail.refetch();
142
+ onChanged?.();
143
+ }, [detail, onChanged]);
144
+ /**
145
+ * Run a mutating action. If the server demands reauthentication (401), prompt
146
+ * for the password and retry once with the `x-reauth-password` header.
147
+ */
148
+ const runAction = useCallback(async (key, path, options, { successMsg, after }) => {
149
+ setPending(key);
150
+ try {
151
+ const res = await cmsApi(path, options);
152
+ if (res.status === 401 && /re-?authenticat/i.test(res.error ?? '')) {
153
+ setReauth({
154
+ run: async (password) => {
155
+ const retry = await cmsApi(path, {
156
+ ...options,
157
+ headers: { ...(options.headers ?? {}), 'x-reauth-password': password },
158
+ });
159
+ if (retry.error) {
160
+ toast.error(retry.error);
161
+ return;
162
+ }
163
+ toast.success(successMsg);
164
+ setReauth(null);
165
+ after?.();
166
+ },
167
+ });
168
+ return;
169
+ }
170
+ if (res.error) {
171
+ toast.error(res.error);
172
+ return;
173
+ }
174
+ toast.success(successMsg);
175
+ after?.();
176
+ }
177
+ finally {
178
+ setPending(null);
179
+ }
180
+ }, []);
181
+ const u = detail.data;
182
+ return (_jsxs(_Fragment, { children: [_jsx(Drawer, { open: open, onOpenChange: onOpenChange, width: "max-w-xl", title: u ? u.name : detail.loading ? 'Loading…' : 'User', description: u?.email, headerExtra: u ? (_jsx("span", { className: `mr-1 inline-flex items-center rounded-full px-2 py-0.5 text-xs font-medium ${ROLE_PILL[u.roleName] ?? ROLE_PILL.Viewer}`, children: u.roleName })) : undefined, children: detail.loading ? (_jsxs("div", { className: "space-y-3", children: [_jsx(Skeleton, { variant: "card" }), _jsx(Skeleton, { variant: "table-row", lines: 4 })] })) : detail.error || !u ? (_jsxs("div", { className: "flex items-center gap-3 py-6", children: [_jsx(AlertTriangle, { size: 18, className: "text-destructive shrink-0", "aria-hidden": true }), _jsx("span", { className: "text-destructive flex-1 text-sm", children: detail.error ?? 'User not found.' }), _jsx(Button, { variant: "outline", size: "sm", onClick: () => detail.refetch(), children: "Retry" })] })) : (_jsxs(Tabs.Root, { value: tab, onValueChange: setTab, children: [_jsx(Tabs.List, { className: "border-border mb-4 flex gap-1 overflow-x-auto border-b", "aria-label": "User detail sections", children: TABS.map((t) => (_jsx(Tabs.Trigger, { value: t.id, className: "text-muted-foreground hover:text-foreground data-[state=active]:text-foreground data-[state=active]:border-brand focus-visible:ring-ring -mb-px shrink-0 border-b-2 border-transparent px-3 py-2 text-sm font-medium transition-colors focus-visible:ring-2 focus-visible:outline-none", children: t.label }, t.id))) }), _jsxs(Tabs.Content, { value: "overview", tabIndex: -1, className: "focus:outline-none", children: [_jsxs("div", { className: "mb-4 flex items-center gap-2", children: [_jsxs("span", { className: `inline-flex items-center gap-1.5 text-sm ${STATUS_META[u.status].text}`, children: [_jsx("span", { className: `h-2 w-2 rounded-full ${STATUS_META[u.status].dot}`, "aria-hidden": true }), STATUS_META[u.status].label] }), u.isCurrentUser && (_jsx("span", { className: "bg-muted text-muted-foreground rounded px-1.5 py-0.5 text-xs", children: "You" })), u.externalDomain && (_jsx("span", { className: "bg-warning/10 text-warning rounded px-1.5 py-0.5 text-xs", children: "External domain" }))] }), _jsxs("dl", { className: "grid grid-cols-2 gap-x-4 gap-y-4", children: [_jsx(Fact, { label: "Role", value: u.roleName }), _jsx(Fact, { label: "Status", value: STATUS_META[u.status].label }), _jsx(Fact, { label: "Last active", value: relativeTime(u.lastActiveAt) }), _jsx(Fact, { label: "Last sign-in", value: relativeTime(u.lastLoginAt) }), _jsx(Fact, { label: "Created", value: formatDate(u.createdAt) }), _jsx(Fact, { label: "Accepted invite", value: formatDate(u.acceptedInviteAt) }), _jsx(Fact, { label: "Invited by", value: u.invitedBy ? (u.invitedBy.name) : (_jsx("span", { className: "text-muted-foreground", children: "\u2014" })) }), _jsx(Fact, { label: "Email domain", value: u.email.split('@')[1] ?? '—' }), _jsx(Fact, { label: "Content owned", value: `${u.contentOwnedCount} ${u.contentOwnedCount === 1 ? 'item' : 'items'}` }), _jsx(Fact, { label: "Email verified", value: u.emailVerified ? 'Yes' : _jsx("span", { className: "text-warning", children: "No" }) }), u.authProvider && _jsx(Fact, { label: "Auth provider", value: u.authProvider }), u.oauthProviders.length > 0 && (_jsx(Fact, { label: "Connected accounts", value: u.oauthProviders.join(', ') }))] }), u.contentOwnedCount > 0 && (_jsxs("div", { className: "border-info/30 bg-info/5 text-muted-foreground mt-4 flex items-start gap-2 rounded-md border p-3 text-xs", children: [_jsx(FileText, { size: 14, className: "text-info mt-0.5 shrink-0", "aria-hidden": true }), _jsxs("span", { children: ["This user owns ", u.contentOwnedCount, " content", ' ', u.contentOwnedCount === 1 ? 'item' : 'items', ". Revoking access suspends the account and preserves their content and authorship."] })] }))] }), _jsxs(Tabs.Content, { value: "security", tabIndex: -1, className: "focus:outline-none", children: [_jsx(SecurityRow, { icon: u.mfaEnabled ? _jsx(ShieldCheck, { size: 16 }) : _jsx(ShieldAlert, { size: 16 }), title: "Multi-factor authentication", description: u.mfaEnabled
183
+ ? 'Enabled for this account.'
184
+ : u.mfaRequired
185
+ ? 'Required but not yet enrolled.'
186
+ : 'Not enabled.', action: _jsxs("div", { className: "flex items-center gap-2", children: [!u.mfaRequired && (_jsx(Button, { size: "sm", variant: "outline", loading: pending === 'require-mfa', onClick: () => runAction('require-mfa', `/users/${u.id}/require-mfa`, { method: 'POST', body: JSON.stringify({ required: true }) }, {
187
+ successMsg: 'MFA is now required for this user.',
188
+ after: refreshAfterChange,
189
+ }), children: "Require MFA" })), _jsx(Button, { size: "sm", variant: "outline", disabled: !u.mfaEnabled, title: !u.mfaEnabled ? 'No MFA enrolment to reset' : undefined, loading: pending === 'mfa-reset', onClick: () => setConfirm({
190
+ title: 'Reset MFA enrolment',
191
+ description: `This clears ${u.name}'s authenticator and backup codes and signs them out everywhere. Resetting MFA temporarily lowers account protection until the user re-enrols. You'll be asked to confirm your password.`,
192
+ confirmLabel: 'Reset MFA',
193
+ destructive: true,
194
+ onConfirm: () => runAction('mfa-reset', `/users/${u.id}/mfa-reset`, { method: 'POST' }, { successMsg: 'MFA enrolment reset.', after: refreshAfterChange }),
195
+ }), children: "Reset MFA" })] }) }), _jsx(SecurityRow, { icon: _jsx(KeyRound, { size: 16 }), title: "Password", description: u.ssoOnly
196
+ ? 'Signs in via an external identity provider — no local password.'
197
+ : u.forcePasswordReset
198
+ ? 'Must set a new password on next sign-in.'
199
+ : u.passwordSet
200
+ ? 'A password is set.'
201
+ : 'No password set yet.', action: _jsxs("div", { className: "flex items-center gap-2", children: [_jsx(Button, { size: "sm", variant: "outline", disabled: u.ssoOnly || !u.passwordSet, title: u.ssoOnly ? 'External identity provider — no password to reset' : undefined, loading: pending === 'password-reset', onClick: () => runAction('password-reset', `/users/${u.id}/password-reset`, { method: 'POST' }, { successMsg: `Password reset email sent to ${u.email}.` }), children: "Send reset" }), _jsx(Button, { size: "sm", variant: "outline", disabled: u.ssoOnly, loading: pending === 'force-reset', onClick: () => runAction('force-reset', `/users/${u.id}/force-password-reset`, {
202
+ method: 'POST',
203
+ body: JSON.stringify({ enabled: !u.forcePasswordReset }),
204
+ }, {
205
+ successMsg: u.forcePasswordReset
206
+ ? 'Forced reset cleared.'
207
+ : 'User must reset password on next sign-in.',
208
+ after: refreshAfterChange,
209
+ }), children: u.forcePasswordReset ? 'Clear forced reset' : 'Force reset' })] }) }), _jsx(SecurityRow, { icon: _jsx(ShieldAlert, { size: 16 }), title: "Failed sign-ins", description: `${u.failedLoginCount} failed ${u.failedLoginCount === 1 ? 'attempt' : 'attempts'} on record.`, action: null }), _jsx(SecurityRow, { icon: u.status === 'locked' ? _jsx(Lock, { size: 16 }) : _jsx(Unlock, { size: 16 }), title: "Account lock", description: u.status === 'locked' ? 'Locked by a security policy or an admin.' : 'Not locked.', action: u.status === 'locked' ? (_jsx(Button, { size: "sm", variant: "outline", loading: pending === 'unlock', onClick: () => runAction('unlock', `/users/${u.id}/unlock`, { method: 'POST' }, { successMsg: 'Account unlocked.', after: refreshAfterChange }), children: "Unlock" })) : (_jsx(Button, { size: "sm", variant: "outline", disabled: u.isCurrentUser, title: u.isCurrentUser ? 'You cannot lock your own account' : undefined, loading: pending === 'lock', onClick: () => setConfirm({
210
+ title: 'Lock account',
211
+ description: `${u.name} will be blocked from signing in and all their sessions will be revoked until you unlock the account.`,
212
+ confirmLabel: 'Lock account',
213
+ destructive: true,
214
+ onConfirm: () => runAction('lock', `/users/${u.id}/lock`, { method: 'POST' }, { successMsg: 'Account locked.', after: refreshAfterChange }),
215
+ }), children: "Lock" })) }), _jsx(SecurityRow, { icon: _jsx(Ban, { size: 16 }), title: "Account access", description: u.status === 'suspended'
216
+ ? 'Suspended — cannot sign in, history preserved.'
217
+ : 'Active — can sign in.', action: u.status === 'suspended' || u.status === 'deactivated' ? (_jsx(Button, { size: "sm", variant: "outline", loading: pending === 'reactivate', onClick: () => runAction('reactivate', `/users/${u.id}/reactivate`, { method: 'POST' }, { successMsg: 'Access restored.', after: refreshAfterChange }), children: "Reactivate" })) : (_jsx(Button, { size: "sm", variant: "outline", disabled: u.isCurrentUser, title: u.isCurrentUser ? 'You cannot suspend your own account' : undefined, loading: pending === 'suspend', onClick: () => setConfirm({
218
+ title: 'Suspend user',
219
+ description: `${u.name} will be blocked from signing in and signed out everywhere. Their content and history are preserved, and you can reactivate them later.`,
220
+ confirmLabel: 'Suspend',
221
+ destructive: true,
222
+ onConfirm: () => runAction('suspend', `/users/${u.id}/suspend`, { method: 'POST' }, { successMsg: 'User suspended.', after: refreshAfterChange }),
223
+ }), children: "Suspend" })) })] }), _jsx(Tabs.Content, { value: "sessions", tabIndex: -1, className: "focus:outline-none", children: sessions.loading ? (_jsx(Skeleton, { variant: "table-row", lines: 3 })) : sessions.error ? (_jsxs("div", { className: "flex items-center gap-3 py-4", children: [_jsx(AlertTriangle, { size: 16, className: "text-destructive shrink-0", "aria-hidden": true }), _jsx("span", { className: "text-destructive flex-1 text-sm", children: sessions.error }), _jsx(Button, { variant: "outline", size: "sm", onClick: () => sessions.refetch(), children: "Retry" })] })) : (sessions.data?.filter((s) => s.active).length ?? 0) === 0 ? (_jsx(EmptyState, { icon: _jsx(Monitor, { size: 24, "aria-hidden": true }), title: "No active sessions", description: "This user isn't signed in on any device." })) : (_jsxs(_Fragment, { children: [_jsx("div", { className: "mb-3 flex justify-end", children: _jsx(Button, { size: "sm", variant: "outline", loading: pending === 'revoke-all', leftIcon: _jsx(LogOut, { size: 14, "aria-hidden": true }), onClick: () => setConfirm({
224
+ title: 'Revoke all sessions',
225
+ description: `${u.name} will be signed out of every device${u.isCurrentUser ? ' except this one' : ''}.`,
226
+ confirmLabel: 'Revoke all',
227
+ destructive: true,
228
+ onConfirm: () => runAction('revoke-all', `/users/${u.id}/sessions/revoke-all`, { method: 'POST' }, { successMsg: 'Sessions revoked.', after: () => sessions.refetch() }),
229
+ }), children: "Revoke all" }) }), _jsx("ul", { className: "space-y-2", children: sessions.data
230
+ ?.filter((s) => s.active)
231
+ .map((s) => (_jsxs("li", { className: "border-border flex items-center justify-between gap-3 rounded-md border p-3", children: [_jsxs("div", { className: "flex min-w-0 items-center gap-2.5", children: [_jsx(Monitor, { size: 16, className: "text-muted-foreground shrink-0", "aria-hidden": true }), _jsxs("div", { className: "min-w-0", children: [_jsxs("div", { className: "text-card-foreground flex items-center gap-1.5 text-sm", children: [_jsx("span", { className: "truncate", children: s.deviceLabel }), s.current && (_jsx("span", { className: "bg-success/10 text-success rounded px-1 text-[10px]", children: "This device" }))] }), _jsxs("div", { className: "text-muted-foreground text-xs", children: ["Signed in ", relativeTime(s.createdAt), " \u00B7 expires", ' ', formatDate(s.expiresAt)] })] })] }), _jsx("button", { type: "button", disabled: pending === `revoke-${s.id}`, onClick: () => runAction(`revoke-${s.id}`, `/users/${u.id}/sessions/${s.id}`, { method: 'DELETE' }, { successMsg: 'Session revoked.', after: () => sessions.refetch() }), className: "text-muted-foreground hover:text-destructive shrink-0 text-xs font-medium transition-colors disabled:opacity-50", children: "Revoke" })] }, s.id))) })] })) }), _jsx(Tabs.Content, { value: "activity", tabIndex: -1, className: "focus:outline-none", children: activity.loading ? (_jsx(Skeleton, { variant: "table-row", lines: 4 })) : activity.error ? (_jsxs("div", { className: "flex items-center gap-3 py-4", children: [_jsx(AlertTriangle, { size: 16, className: "text-destructive shrink-0", "aria-hidden": true }), _jsx("span", { className: "text-destructive flex-1 text-sm", children: activity.error }), _jsx(Button, { variant: "outline", size: "sm", onClick: () => activity.refetch(), children: "Retry" })] })) : (activity.data?.length ?? 0) === 0 ? (_jsx(EmptyState, { icon: _jsx(ActivityIcon, { size: 24, "aria-hidden": true }), title: "No recent activity", description: "Audit events for this user will appear here." })) : (_jsx("ul", { className: "space-y-1", children: activity.data?.map((e) => (_jsxs("li", { className: "hover:bg-accent/30 flex items-center justify-between gap-3 rounded-md px-2 py-2", children: [_jsxs("div", { className: "flex min-w-0 items-center gap-2.5", children: [_jsx(ActivityIcon, { size: 14, className: "text-muted-foreground shrink-0", "aria-hidden": true }), _jsxs("div", { className: "min-w-0", children: [_jsx("div", { className: "text-card-foreground truncate text-sm", children: humanizeEvent(e.event) }), _jsxs("div", { className: "text-muted-foreground text-xs", children: [e.role === 'target' ? 'Affected this user' : 'Performed by this user', e.ipAddress ? ` · ${e.ipAddress}` : ''] })] })] }), _jsx("span", { className: "text-muted-foreground shrink-0 text-xs", children: relativeTime(e.timestamp) })] }, e.id))) })) }), _jsx(Tabs.Content, { value: "permissions", tabIndex: -1, className: "focus:outline-none", children: perms.loading ? (_jsx(Skeleton, { variant: "table-row", lines: 4 })) : perms.error ? (_jsxs("div", { className: "flex items-center gap-3 py-4", children: [_jsx(AlertTriangle, { size: 16, className: "text-destructive shrink-0", "aria-hidden": true }), _jsx("span", { className: "text-destructive flex-1 text-sm", children: perms.error }), _jsx(Button, { variant: "outline", size: "sm", onClick: () => perms.refetch(), children: "Retry" })] })) : perms.data ? (_jsxs(_Fragment, { children: [_jsxs("p", { className: "text-muted-foreground mb-3 text-sm", children: ["Effective role", ' ', _jsx("span", { className: "text-card-foreground font-medium", children: perms.data.roleName }), ' ', "grants ", perms.data.permissions.length, " permission", perms.data.permissions.length === 1 ? '' : 's', ". Permissions are derived from the role and managed in configuration."] }), _jsx("ul", { className: "flex flex-wrap gap-1.5", children: perms.data.permissions.map((p) => (_jsxs("li", { className: "border-border bg-muted/50 text-card-foreground inline-flex items-center gap-1 rounded-md border px-2 py-1 text-xs", children: [_jsx(Check, { size: 12, className: "text-success", "aria-hidden": true }), p] }, p))) })] })) : null })] })) }), confirm && (_jsx(ConfirmDialog, { open: !!confirm, onClose: () => setConfirm(null), onConfirm: confirm.onConfirm, title: confirm.title, description: confirm.description, confirmLabel: confirm.confirmLabel, destructive: confirm.destructive })), _jsx(ReauthDialog, { open: !!reauth, onClose: () => setReauth(null), onSubmit: async (password) => {
232
+ if (reauth)
233
+ await reauth.run(password);
234
+ } })] }));
235
+ }
236
+ //# sourceMappingURL=UserDetailDrawer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"UserDetailDrawer.js","sourceRoot":"","sources":["../../../src/views/users/UserDetailDrawer.tsx"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@actuate-media/cms-admin",
3
- "version": "0.30.0",
3
+ "version": "0.31.0",
4
4
  "repository": {
5
5
  "type": "git",
6
6
  "url": "https://github.com/actuate-media/actuatecms.git",
@@ -88,7 +88,7 @@
88
88
  "tailwindcss": "^4.0.0",
89
89
  "typescript": "^5.7.0",
90
90
  "vitest": "^4.1.0",
91
- "@actuate-media/cms-core": "0.39.0",
91
+ "@actuate-media/cms-core": "0.40.0",
92
92
  "@actuate-media/component-blocks": "0.2.0"
93
93
  },
94
94
  "scripts": {
@@ -0,0 +1,119 @@
1
+ // @vitest-environment happy-dom
2
+ import { beforeEach, describe, expect, it, vi } from 'vitest'
3
+ import { render, screen, fireEvent, waitFor } from '@testing-library/react'
4
+
5
+ /**
6
+ * Render tests for the User detail drawer: overview facts, lazy-loaded Sessions
7
+ * and Permissions tabs, and the security action surface.
8
+ */
9
+
10
+ const DETAIL = {
11
+ id: 'u1',
12
+ name: 'Priya Nair',
13
+ email: 'priya@actuatemedia.com',
14
+ avatarUrl: null,
15
+ initials: 'PN',
16
+ role: 'EDITOR',
17
+ roleName: 'Editor',
18
+ status: 'active',
19
+ mfaEnabled: true,
20
+ mfaRequired: false,
21
+ passwordSet: true,
22
+ forcePasswordReset: false,
23
+ failedLoginCount: 0,
24
+ lockedAt: null,
25
+ suspendedAt: null,
26
+ authProvider: null,
27
+ oauthProviders: [],
28
+ ssoOnly: false,
29
+ emailVerified: true,
30
+ lastLoginAt: new Date(Date.now() - 86400000).toISOString(),
31
+ lastActiveAt: new Date(Date.now() - 86400000).toISOString(),
32
+ acceptedInviteAt: new Date('2026-01-02').toISOString(),
33
+ createdAt: new Date('2026-01-01').toISOString(),
34
+ invitedBy: { id: 'o1', name: 'Dana Chen', email: 'dana@actuatemedia.com' },
35
+ externalDomain: false,
36
+ contentOwnedCount: 4,
37
+ isCurrentUser: false,
38
+ }
39
+
40
+ const SESSIONS = [
41
+ {
42
+ id: 's1',
43
+ deviceLabel: 'Chrome on macOS',
44
+ browser: 'Chrome',
45
+ os: 'macOS',
46
+ ipCountry: null,
47
+ createdAt: new Date(Date.now() - 3600000).toISOString(),
48
+ lastSeenAt: new Date().toISOString(),
49
+ expiresAt: new Date(Date.now() + 86400000).toISOString(),
50
+ revokedAt: null,
51
+ current: false,
52
+ active: true,
53
+ },
54
+ ]
55
+
56
+ const PERMISSIONS = {
57
+ role: 'EDITOR',
58
+ roleName: 'Editor',
59
+ permissions: ['dashboard.view', 'content.publish'],
60
+ }
61
+
62
+ const { cmsApi } = vi.hoisted(() => ({ cmsApi: vi.fn() }))
63
+ vi.mock('../../lib/api.js', () => ({ cmsApi }))
64
+
65
+ cmsApi.mockImplementation(async (endpoint?: string) => {
66
+ if (!endpoint) return { data: null, status: 200 }
67
+ if (endpoint.endsWith('/sessions')) return { data: SESSIONS, status: 200 }
68
+ if (endpoint.endsWith('/permissions')) return { data: PERMISSIONS, status: 200 }
69
+ if (endpoint.endsWith('/activity')) return { data: [], status: 200 }
70
+ if (endpoint.startsWith('/users/u1')) return { data: DETAIL, status: 200 }
71
+ return { data: null, status: 200 }
72
+ })
73
+
74
+ const { UserDetailDrawer } = await import('../../views/users/UserDetailDrawer.js')
75
+
76
+ // Radix Tabs activates on mousedown (button 0), not a bare click.
77
+ function selectTab(name: string) {
78
+ const tab = screen.getByRole('tab', { name })
79
+ fireEvent.mouseDown(tab, { button: 0 })
80
+ fireEvent.click(tab)
81
+ }
82
+
83
+ describe('UserDetailDrawer', () => {
84
+ beforeEach(() => cmsApi.mockClear())
85
+
86
+ it('renders overview facts for the user', async () => {
87
+ render(<UserDetailDrawer userId="u1" open onOpenChange={() => {}} />)
88
+ expect(await screen.findByText('Priya Nair')).toBeTruthy()
89
+ expect(screen.getByText('Content owned')).toBeTruthy()
90
+ expect(screen.getByText('4 items')).toBeTruthy()
91
+ expect(screen.getByText('Dana Chen')).toBeTruthy()
92
+ })
93
+
94
+ it('shows security actions on the Security tab', async () => {
95
+ render(<UserDetailDrawer userId="u1" open onOpenChange={() => {}} />)
96
+ await screen.findByText('Priya Nair')
97
+ selectTab('Security')
98
+ expect(await screen.findByText('Multi-factor authentication')).toBeTruthy()
99
+ expect(screen.getByRole('button', { name: 'Reset MFA' })).toBeTruthy()
100
+ expect(screen.getByRole('button', { name: 'Send reset' })).toBeTruthy()
101
+ expect(screen.getByRole('button', { name: 'Suspend' })).toBeTruthy()
102
+ })
103
+
104
+ it('lazy-loads the Sessions tab', async () => {
105
+ render(<UserDetailDrawer userId="u1" open onOpenChange={() => {}} />)
106
+ await screen.findByText('Priya Nair')
107
+ selectTab('Sessions')
108
+ expect(await screen.findByText('Chrome on macOS')).toBeTruthy()
109
+ expect(screen.getByRole('button', { name: 'Revoke all' })).toBeTruthy()
110
+ })
111
+
112
+ it('lazy-loads derived permissions', async () => {
113
+ render(<UserDetailDrawer userId="u1" open onOpenChange={() => {}} />)
114
+ await screen.findByText('Priya Nair')
115
+ selectTab('Permissions')
116
+ await waitFor(() => expect(screen.getByText('content.publish')).toBeTruthy())
117
+ expect(screen.getByText('dashboard.view')).toBeTruthy()
118
+ })
119
+ })