@rovela-ai/sdk 0.18.7 → 0.19.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.
Files changed (37) hide show
  1. package/dist/admin/components/AdminAccountPage.d.ts.map +1 -1
  2. package/dist/admin/components/AdminAccountPage.js +42 -25
  3. package/dist/admin/components/AdminAccountPage.js.map +1 -1
  4. package/dist/admin/components/CategoryForm.d.ts.map +1 -1
  5. package/dist/admin/components/CategoryForm.js +14 -9
  6. package/dist/admin/components/CategoryForm.js.map +1 -1
  7. package/dist/admin/components/CustomerDetails.d.ts.map +1 -1
  8. package/dist/admin/components/CustomerDetails.js +48 -21
  9. package/dist/admin/components/CustomerDetails.js.map +1 -1
  10. package/dist/admin/components/DiscardChangesModal.d.ts +9 -0
  11. package/dist/admin/components/DiscardChangesModal.d.ts.map +1 -0
  12. package/dist/admin/components/DiscardChangesModal.js +19 -0
  13. package/dist/admin/components/DiscardChangesModal.js.map +1 -0
  14. package/dist/admin/components/DiscountsManager.d.ts.map +1 -1
  15. package/dist/admin/components/DiscountsManager.js +47 -21
  16. package/dist/admin/components/DiscountsManager.js.map +1 -1
  17. package/dist/admin/components/EmailsManager.d.ts.map +1 -1
  18. package/dist/admin/components/EmailsManager.js +124 -52
  19. package/dist/admin/components/EmailsManager.js.map +1 -1
  20. package/dist/admin/components/LocationsManager.d.ts.map +1 -1
  21. package/dist/admin/components/LocationsManager.js +49 -22
  22. package/dist/admin/components/LocationsManager.js.map +1 -1
  23. package/dist/admin/components/ProductForm.d.ts.map +1 -1
  24. package/dist/admin/components/ProductForm.js +16 -7
  25. package/dist/admin/components/ProductForm.js.map +1 -1
  26. package/dist/admin/components/emails/EmailThemePanel.d.ts +4 -2
  27. package/dist/admin/components/emails/EmailThemePanel.d.ts.map +1 -1
  28. package/dist/admin/components/emails/EmailThemePanel.js +1 -1
  29. package/dist/admin/components/emails/EmailThemePanel.js.map +1 -1
  30. package/dist/admin/components/index.d.ts +2 -0
  31. package/dist/admin/components/index.d.ts.map +1 -1
  32. package/dist/admin/components/index.js +1 -0
  33. package/dist/admin/components/index.js.map +1 -1
  34. package/dist/admin/hooks/useDirtyState.d.ts.map +1 -1
  35. package/dist/admin/hooks/useDirtyState.js +7 -0
  36. package/dist/admin/hooks/useDirtyState.js.map +1 -1
  37. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"AdminAccountPage.d.ts","sourceRoot":"","sources":["../../../src/admin/components/AdminAccountPage.tsx"],"names":[],"mappings":"AA8BA,MAAM,WAAW,qBAAqB;IACpC,+CAA+C;IAC/C,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,wEAAwE;IACxE,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,4EAA4E;IAC5E,eAAe,CAAC,EAAE,MAAM,CAAA;CACzB;AAMD,wBAAgB,gBAAgB,CAAC,EAC/B,SAAc,EACd,QAAyB,EACzB,eAAsB,GACvB,EAAE,qBAAqB,2CAyWvB"}
1
+ {"version":3,"file":"AdminAccountPage.d.ts","sourceRoot":"","sources":["../../../src/admin/components/AdminAccountPage.tsx"],"names":[],"mappings":"AA8BA,MAAM,WAAW,qBAAqB;IACpC,+CAA+C;IAC/C,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,wEAAwE;IACxE,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,4EAA4E;IAC5E,eAAe,CAAC,EAAE,MAAM,CAAA;CACzB;AAMD,wBAAgB,gBAAgB,CAAC,EAC/B,SAAc,EACd,QAAyB,EACzB,eAAsB,GACvB,EAAE,qBAAqB,2CAoWvB"}
@@ -16,12 +16,12 @@ import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-run
16
16
  * Styled with the shared admin-theme classes, matching AdminLoginForm and
17
17
  * the rest of the admin panel.
18
18
  */
19
- import { useState, useEffect, useCallback } from 'react';
19
+ import { useState, useEffect, useCallback, useRef } from 'react';
20
20
  import { User, KeyRound, Mail, CheckCircle2, AlertCircle } from 'lucide-react';
21
21
  import { AdminPageHeader } from './AdminPageHeader';
22
22
  import { useAdminMe } from '../hooks/useAdminMe';
23
- import { adminToast } from './AdminToaster';
24
23
  import { AdminModal } from './AdminModal';
24
+ import { AdminSaveBar } from './AdminSaveBar';
25
25
  // =============================================================================
26
26
  // Component
27
27
  // =============================================================================
@@ -31,10 +31,8 @@ export function AdminAccountPage({ className = '', loginUrl = '/admin/login', re
31
31
  const [name, setName] = useState('');
32
32
  const [email, setEmail] = useState('');
33
33
  const [originalEmail, setOriginalEmail] = useState('');
34
- const [profileSaving, setProfileSaving] = useState(false);
35
- const [profileError, setProfileError] = useState(null);
36
34
  const [showEmailWarning, setShowEmailWarning] = useState(false);
37
- // Seed form fields once `me` loads.
35
+ // Seed form fields once `me` loads (and re-seed after a save refetch).
38
36
  // Pattern C — populate state from async-loaded data.
39
37
  // Alternative is a data-fetching library (TanStack Query / SWR).
40
38
  useEffect(() => {
@@ -46,30 +44,44 @@ export function AdminAccountPage({ className = '', loginUrl = '/admin/login', re
46
44
  }
47
45
  }, [me]);
48
46
  const emailChanged = email.trim().toLowerCase() !== originalEmail.toLowerCase();
47
+ // Dirty is a live compare against `me` (not useDirtyState): the source of
48
+ // truth re-seeds the fields after every save refetch, so snapshot capture
49
+ // timing can never produce phantom dirt here.
49
50
  const profileDirty = me ? (name.trim() !== me.name || emailChanged) : false;
50
- const handleProfileSubmit = useCallback(async (e) => {
51
- e.preventDefault();
52
- setProfileError(null);
53
- // If email changed and user hasn't confirmed, show warning dialog
54
- if (emailChanged && !showEmailWarning) {
55
- setShowEmailWarning(true);
56
- return;
51
+ // Email-change confirm interlock: the bar's onSave awaits the modal's
52
+ // answer through this resolver. Confirm proceeds; Cancel reverts the email
53
+ // field to the current address (declining the change IS discarding that
54
+ // edit) so the bar never has to surface a fake error.
55
+ const emailConfirmResolver = useRef(null);
56
+ const doProfileSave = useCallback(async () => {
57
+ if (!me)
58
+ return { success: false, error: 'Account not loaded' };
59
+ let sendEmail = emailChanged;
60
+ if (emailChanged) {
61
+ const ok = await new Promise((resolve) => {
62
+ emailConfirmResolver.current = resolve;
63
+ setShowEmailWarning(true);
64
+ });
65
+ setShowEmailWarning(false);
66
+ emailConfirmResolver.current = null;
67
+ if (!ok) {
68
+ setEmail(originalEmail);
69
+ sendEmail = false;
70
+ // Only the email had changed — nothing left to save; the fields now
71
+ // match the server again, so a clean "Saved" morph is honest.
72
+ if (name.trim() === me.name)
73
+ return { success: true };
74
+ }
57
75
  }
58
- setProfileSaving(true);
59
76
  const result = await updateProfile({
60
- name: name.trim() !== me?.name ? name.trim() : undefined,
61
- email: emailChanged ? email.trim() : undefined,
77
+ name: name.trim() !== me.name ? name.trim() : undefined,
78
+ email: sendEmail ? email.trim() : undefined,
62
79
  });
63
- setProfileSaving(false);
64
- setShowEmailWarning(false);
65
80
  if (!result.success) {
66
- setProfileError(result.error || 'Failed to update profile.');
67
- return;
81
+ return { success: false, error: result.error || 'Failed to update profile.' };
68
82
  }
69
- // Profile saved is an EVENT → the toaster (the old inline banner with
70
- // a 3s timer was a pseudo-toast — the wrong channel, convention #7).
71
- adminToast.success('Profile updated');
72
- }, [emailChanged, showEmailWarning, me, name, email, updateProfile]);
83
+ return { success: true };
84
+ }, [me, emailChanged, name, email, originalEmail, updateProfile]);
73
85
  // --- Password form state -----------------------------------------------
74
86
  const [currentPassword, setCurrentPassword] = useState('');
75
87
  const [newPassword, setNewPassword] = useState('');
@@ -116,9 +128,14 @@ export function AdminAccountPage({ className = '', loginUrl = '/admin/login', re
116
128
  if (error || !me) {
117
129
  return (_jsx("div", { className: `space-y-4 ${className}`, children: _jsx("div", { className: "admin-alert admin-alert-error", children: _jsx("div", { className: "admin-alert-description", children: error || 'Unable to load your account.' }) }) }));
118
130
  }
119
- return (_jsxs("div", { className: `space-y-6 ${className}`, children: [_jsx(AdminPageHeader, { title: "My account", subtitle: "Manage your profile and password." }), _jsxs("div", { className: "admin-card p-6", children: [_jsxs("div", { className: "flex items-center gap-2 mb-4", children: [_jsx(User, { className: "h-5 w-5 admin-icon-primary" }), _jsx("h2", { className: "text-lg font-semibold", children: "Profile" })] }), _jsxs("form", { onSubmit: handleProfileSubmit, className: "space-y-4", children: [profileError && (_jsx("div", { className: "admin-alert admin-alert-error", children: _jsx("div", { className: "admin-alert-description", children: profileError }) })), _jsxs("div", { children: [_jsx("label", { htmlFor: "account-name", className: "admin-label", children: "Name" }), _jsx("input", { id: "account-name", type: "text", value: name, onChange: (e) => setName(e.target.value), required: true, minLength: 2, disabled: profileSaving, className: "admin-input w-full" })] }), _jsxs("div", { children: [_jsx("label", { htmlFor: "account-email", className: "admin-label", children: "Email" }), _jsxs("div", { className: "admin-input-with-icon", children: [_jsx(Mail, { className: "admin-input-with-icon-left h-4 w-4" }), _jsx("input", { id: "account-email", type: "email", value: email, onChange: (e) => setEmail(e.target.value), required: true, disabled: profileSaving, className: "admin-input w-full" })] }), _jsx("p", { className: "text-xs admin-text-muted mt-1", children: "Used for sign-in and forgot-password emails." })] }), _jsxs("div", { children: [_jsx("label", { className: "admin-label", children: "Role" }), _jsxs("div", { className: "text-sm admin-text-muted", children: [me.role, " (managed by the store owner)"] })] }), _jsx("div", { className: "flex items-center justify-end pt-2", children: _jsx("button", { type: "submit", disabled: !profileDirty || profileSaving, className: "admin-btn admin-btn-primary", children: profileSaving ? (_jsxs("span", { className: "flex items-center gap-2", children: [_jsx("span", { className: "admin-spinner admin-spinner-sm" }), "Saving..."] })) : ('Save profile') }) })] }), _jsx(AdminModal, { open: showEmailWarning, onClose: () => setShowEmailWarning(false), busy: profileSaving, title: "Change email?", description: `Your sign-in email will change from ${originalEmail} to ${email}. Future forgot-password emails will go to the new address. Make sure you can receive email there.`, icon: _jsx(AlertCircle, { className: "h-5 w-5" }), iconTone: "warning", footer: _jsxs(_Fragment, { children: [_jsx("button", { type: "button", onClick: () => setShowEmailWarning(false), disabled: profileSaving, className: "admin-btn admin-btn-secondary", children: "Cancel" }), _jsx("button", { type: "button", onClick: (e) => handleProfileSubmit(e), disabled: profileSaving, className: "admin-btn admin-btn-primary", children: profileSaving ? 'Saving…' : 'Yes, change email' })] }) })] }), _jsxs("div", { className: "admin-card p-6", children: [_jsxs("div", { className: "flex items-center gap-2 mb-4", children: [_jsx(KeyRound, { className: "h-5 w-5 admin-icon-primary" }), _jsx("h2", { className: "text-lg font-semibold", children: "Password" })] }), passwordSuccess ? (_jsxs("div", { className: "text-center py-6", children: [_jsx("div", { className: "admin-icon-container-sm mx-auto mb-4", children: _jsx(CheckCircle2, { className: "h-6 w-6 admin-icon-primary" }) }), _jsx("h3", { className: "admin-heading-2 mb-2", children: "Password changed" }), _jsx("p", { className: "text-sm admin-text-muted", children: "For your security, all sessions have been signed out. Redirecting to sign in..." })] })) : (_jsxs("form", { onSubmit: handlePasswordSubmit, className: "space-y-4", children: [passwordError && (_jsx("div", { className: "admin-alert admin-alert-error", children: _jsx("div", { className: "admin-alert-description", children: passwordError }) })), _jsxs("div", { children: [_jsx("label", { htmlFor: "current-password", className: "admin-label admin-label-required", children: "Current password" }), _jsx("input", { id: "current-password", type: "password", value: currentPassword, onChange: (e) => setCurrentPassword(e.target.value), required: true, autoComplete: "current-password", disabled: passwordSaving, className: "admin-input w-full" })] }), _jsxs("div", { children: [_jsx("label", { htmlFor: "new-password", className: "admin-label admin-label-required", children: "New password" }), _jsx("input", { id: "new-password", type: "password", value: newPassword, onChange: (e) => setNewPassword(e.target.value), required: true, minLength: 8, autoComplete: "new-password", disabled: passwordSaving, className: "admin-input w-full", placeholder: "At least 8 characters" })] }), _jsxs("div", { children: [_jsx("label", { htmlFor: "confirm-new-password", className: "admin-label admin-label-required", children: "Confirm new password" }), _jsx("input", { id: "confirm-new-password", type: "password", value: confirmPassword, onChange: (e) => setConfirmPassword(e.target.value), required: true, minLength: 8, autoComplete: "new-password", disabled: passwordSaving, className: "admin-input w-full" })] }), _jsx("p", { className: "text-xs admin-text-muted", children: "After changing your password, you'll be signed out and need to sign back in." }), _jsx("div", { className: "flex items-center justify-end pt-2", children: _jsx("button", { type: "submit", disabled: passwordSaving ||
131
+ return (_jsxs("div", { className: `space-y-6 ${className}`, children: [_jsx(AdminPageHeader, { title: "My account", subtitle: "Manage your profile and password." }), _jsxs("div", { className: "admin-card p-6", children: [_jsxs("div", { className: "flex items-center gap-2 mb-4", children: [_jsx(User, { className: "h-5 w-5 admin-icon-primary" }), _jsx("h2", { className: "text-lg font-semibold", children: "Profile" })] }), _jsxs("form", { onSubmit: (e) => e.preventDefault(), className: "space-y-4", children: [_jsxs("div", { children: [_jsx("label", { htmlFor: "account-name", className: "admin-label", children: "Name" }), _jsx("input", { id: "account-name", type: "text", value: name, onChange: (e) => setName(e.target.value), required: true, minLength: 2, className: "admin-input w-full" })] }), _jsxs("div", { children: [_jsx("label", { htmlFor: "account-email", className: "admin-label", children: "Email" }), _jsxs("div", { className: "admin-input-with-icon", children: [_jsx(Mail, { className: "admin-input-with-icon-left h-4 w-4" }), _jsx("input", { id: "account-email", type: "email", value: email, onChange: (e) => setEmail(e.target.value), required: true, className: "admin-input w-full" })] }), _jsx("p", { className: "text-xs admin-text-muted mt-1", children: "Used for sign-in and forgot-password emails." })] }), _jsxs("div", { children: [_jsx("label", { className: "admin-label", children: "Role" }), _jsxs("div", { className: "text-sm admin-text-muted", children: [me.role, " (managed by the store owner)"] })] })] }), _jsx(AdminModal, { open: showEmailWarning, onClose: () => emailConfirmResolver.current?.(false), title: "Change email?", description: `Your sign-in email will change from ${originalEmail} to ${email}. Future forgot-password emails will go to the new address. Make sure you can receive email there.`, icon: _jsx(AlertCircle, { className: "h-5 w-5" }), iconTone: "warning", footer: _jsxs(_Fragment, { children: [_jsx("button", { type: "button", onClick: () => emailConfirmResolver.current?.(false), className: "admin-btn admin-btn-secondary", children: "Keep current email" }), _jsx("button", { type: "button", onClick: () => emailConfirmResolver.current?.(true), className: "admin-btn admin-btn-primary", children: "Yes, change email" })] }) })] }), _jsxs("div", { className: "admin-card p-6", children: [_jsxs("div", { className: "flex items-center gap-2 mb-4", children: [_jsx(KeyRound, { className: "h-5 w-5 admin-icon-primary" }), _jsx("h2", { className: "text-lg font-semibold", children: "Password" })] }), passwordSuccess ? (_jsxs("div", { className: "text-center py-6", children: [_jsx("div", { className: "admin-icon-container-sm mx-auto mb-4", children: _jsx(CheckCircle2, { className: "h-6 w-6 admin-icon-primary" }) }), _jsx("h3", { className: "admin-heading-2 mb-2", children: "Password changed" }), _jsx("p", { className: "text-sm admin-text-muted", children: "For your security, all sessions have been signed out. Redirecting to sign in..." })] })) : (_jsxs("form", { onSubmit: handlePasswordSubmit, className: "space-y-4", children: [passwordError && (_jsx("div", { className: "admin-alert admin-alert-error", children: _jsx("div", { className: "admin-alert-description", children: passwordError }) })), _jsxs("div", { children: [_jsx("label", { htmlFor: "current-password", className: "admin-label admin-label-required", children: "Current password" }), _jsx("input", { id: "current-password", type: "password", value: currentPassword, onChange: (e) => setCurrentPassword(e.target.value), required: true, autoComplete: "current-password", disabled: passwordSaving, className: "admin-input w-full" })] }), _jsxs("div", { children: [_jsx("label", { htmlFor: "new-password", className: "admin-label admin-label-required", children: "New password" }), _jsx("input", { id: "new-password", type: "password", value: newPassword, onChange: (e) => setNewPassword(e.target.value), required: true, minLength: 8, autoComplete: "new-password", disabled: passwordSaving, className: "admin-input w-full", placeholder: "At least 8 characters" })] }), _jsxs("div", { children: [_jsx("label", { htmlFor: "confirm-new-password", className: "admin-label admin-label-required", children: "Confirm new password" }), _jsx("input", { id: "confirm-new-password", type: "password", value: confirmPassword, onChange: (e) => setConfirmPassword(e.target.value), required: true, minLength: 8, autoComplete: "new-password", disabled: passwordSaving, className: "admin-input w-full" })] }), _jsx("p", { className: "text-xs admin-text-muted", children: "After changing your password, you'll be signed out and need to sign back in." }), _jsx("div", { className: "flex items-center justify-end pt-2", children: _jsx("button", { type: "submit", disabled: passwordSaving ||
120
132
  !currentPassword ||
121
133
  !newPassword ||
122
- !confirmPassword, className: "admin-btn admin-btn-primary", children: passwordSaving ? (_jsxs("span", { className: "flex items-center gap-2", children: [_jsx("span", { className: "admin-spinner admin-spinner-sm" }), "Updating..."] })) : ('Change password') }) })] }))] })] }));
134
+ !confirmPassword, className: "admin-btn admin-btn-primary", children: passwordSaving ? (_jsxs("span", { className: "flex items-center gap-2", children: [_jsx("span", { className: "admin-spinner admin-spinner-sm" }), "Updating..."] })) : ('Change password') }) })] }))] }), _jsx(AdminSaveBar, { isDirty: profileDirty, onSave: doProfileSave, onDiscard: () => {
135
+ if (me) {
136
+ setName(me.name);
137
+ setEmail(me.email);
138
+ }
139
+ } })] }));
123
140
  }
124
141
  //# sourceMappingURL=AdminAccountPage.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"AdminAccountPage.js","sourceRoot":"","sources":["../../../src/admin/components/AdminAccountPage.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"AdminAccountPage.js","sourceRoot":"","sources":["../../../src/admin/components/AdminAccountPage.tsx"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"CategoryForm.d.ts","sourceRoot":"","sources":["../../../src/admin/components/CategoryForm.tsx"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAE,gBAAgB,EAAyB,MAAM,UAAU,CAAA;AAYvE,MAAM,WAAW,iBAAiB;IAChC,gCAAgC;IAChC,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,iDAAiD;IACjD,WAAW,CAAC,EAAE,OAAO,CAAC,gBAAgB,CAAC,CAAA;IACvC,kCAAkC;IAClC,SAAS,CAAC,EAAE,CAAC,UAAU,EAAE,MAAM,KAAK,IAAI,CAAA;IACxC,sCAAsC;IACtC,QAAQ,CAAC,EAAE,MAAM,IAAI,CAAA;IACrB,6BAA6B;IAC7B,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB;AAMD;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,YAAY,CAAC,EAC3B,UAAU,EACV,WAAW,EACX,SAAS,EACT,QAAQ,EACR,SAAc,GACf,EAAE,iBAAiB,2CA4SnB"}
1
+ {"version":3,"file":"CategoryForm.d.ts","sourceRoot":"","sources":["../../../src/admin/components/CategoryForm.tsx"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAE,gBAAgB,EAAyB,MAAM,UAAU,CAAA;AAYvE,MAAM,WAAW,iBAAiB;IAChC,gCAAgC;IAChC,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,iDAAiD;IACjD,WAAW,CAAC,EAAE,OAAO,CAAC,gBAAgB,CAAC,CAAA;IACvC,kCAAkC;IAClC,SAAS,CAAC,EAAE,CAAC,UAAU,EAAE,MAAM,KAAK,IAAI,CAAA;IACxC,sCAAsC;IACtC,QAAQ,CAAC,EAAE,MAAM,IAAI,CAAA;IACrB,6BAA6B;IAC7B,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB;AAMD;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,YAAY,CAAC,EAC3B,UAAU,EACV,WAAW,EACX,SAAS,EACT,QAAQ,EACR,SAAc,GACf,EAAE,iBAAiB,2CAgTnB"}
@@ -45,7 +45,10 @@ export function CategoryForm({ categoryId, initialData, onSuccess, onCancel, cla
45
45
  // Categories for parent selector
46
46
  const [categories, setCategories] = useState([]);
47
47
  // UI state
48
- const [isFetching, setIsFetching] = useState(false);
48
+ // Lazily true in edit mode so the dirty baseline can never capture the
49
+ // pristine empty form on render 1 — the fetch effect flips this too late
50
+ // (useDirtyState's capture effect runs first).
51
+ const [isFetching, setIsFetching] = useState(() => !!categoryId && !initialData);
49
52
  const [error, setError] = useState(null);
50
53
  // Document dirty tracking (AdminSaveBar contract). Create mode baselines
51
54
  // the pristine empty form immediately; edit mode after the fetch resolves.
@@ -91,6 +94,11 @@ export function CategoryForm({ categoryId, initialData, onSuccess, onCancel, cla
91
94
  name: cat.name,
92
95
  slug: cat.slug,
93
96
  description: cat.description || '',
97
+ // Catalog translations — MUST be echoed back into the form. doSave
98
+ // always sends the field, so omitting it here made every edit-mode
99
+ // save overwrite DB translations with {} (data loss).
100
+ translations: cat
101
+ .translations || {},
94
102
  image: cat.image || '',
95
103
  parentId: cat.parentId || '',
96
104
  order: cat.order,
@@ -146,14 +154,11 @@ export function CategoryForm({ categoryId, initialData, onSuccess, onCancel, cla
146
154
  if (isFetching) {
147
155
  return (_jsx("div", { className: "flex items-center justify-center py-12", children: _jsx("div", { className: "admin-spinner admin-spinner-lg" }) }));
148
156
  }
149
- return (_jsxs("form", { onSubmit: (e) => e.preventDefault(), className: `space-y-6 ${className}`, children: [error && (_jsx("div", { className: "admin-alert admin-alert-error", children: _jsx("div", { className: "admin-alert-description", children: error }) })), _jsxs("div", { className: "admin-card rounded-lg p-6", children: [_jsx("h3", { className: "admin-card-title mb-4", children: "Basic Information" }), _jsxs("div", { className: "space-y-4", children: [_jsxs("div", { children: [_jsx("label", { htmlFor: "name", className: "admin-label admin-label-required", children: "Category Name" }), _jsx("input", { id: "name", name: "name", type: "text", value: formData.name, onChange: handleChange, required: true, placeholder: "e.g., Electronics, Clothing", className: "admin-input mt-1 w-full" })] }), _jsxs("div", { children: [_jsx("label", { htmlFor: "slug", className: "admin-label", children: "URL Handle" }), _jsxs("div", { className: "admin-input-group mt-1 flex rounded-md", children: [_jsx("span", { className: "admin-input-prefix inline-flex items-center rounded-l-md px-3 text-sm", children: "/categories/" }), _jsx("input", { id: "slug", name: "slug", type: "text", value: formData.slug, onChange: handleChange, placeholder: autoSlug || 'auto-generated', className: "admin-input-inline flex-1 rounded-r-md border-0 px-3 py-2 text-sm outline-none" })] }), _jsx("p", { className: "admin-helper-text mt-1", children: "Leave blank to auto-generate from category name" })] }), _jsxs("div", { children: [_jsx("label", { htmlFor: "description", className: "admin-label", children: "Description" }), _jsx("textarea", { id: "description", name: "description", value: formData.description, onChange: handleChange, rows: 3, placeholder: "Brief description of this category\u2026", className: "admin-input admin-textarea mt-1 w-full" })] }), _jsx(CatalogTranslationsEditor, { value: formData.translations, onChange: (next) => setFormData((prev) => ({ ...prev, translations: next })), baseName: formData.name, className: "mt-2" })] })] }), _jsxs("div", { className: "admin-card rounded-lg p-6", children: [_jsx("h3", { className: "admin-card-title mb-4", children: "Image" }), _jsx(ImageUpload, { value: formData.image || null, onChange: (url) => setFormData((prev) => ({ ...prev, image: url || '' })), onSave: categoryId ? async (url) => {
150
- // Auto-persist image to database in edit mode
151
- await fetchAdminApi(`/api/admin/categories/${categoryId}`, {
152
- method: 'PUT',
153
- headers: { 'Content-Type': 'application/json' },
154
- body: JSON.stringify({ image: url || null }),
155
- });
156
- } : undefined, folder: "categories", entityId: categoryId, placeholder: "Upload category image" })] }), _jsxs("div", { className: "admin-card rounded-lg p-6", children: [_jsx("h3", { className: "admin-card-title mb-4", children: "Organization" }), _jsxs("div", { className: "grid gap-4 sm:grid-cols-2", children: [_jsxs("div", { children: [_jsx("label", { htmlFor: "parentId", className: "admin-label", children: "Parent Category" }), _jsx(AdminSelect, { id: "parentId", name: "parentId", value: formData.parentId || '', onChange: (value) => setFormData((prev) => ({ ...prev, parentId: value })), options: [
157
+ return (_jsxs("form", { onSubmit: (e) => e.preventDefault(), className: `space-y-6 ${className}`, children: [error && (_jsx("div", { className: "admin-alert admin-alert-error", children: _jsx("div", { className: "admin-alert-description", children: error }) })), _jsxs("div", { className: "admin-card rounded-lg p-6", children: [_jsx("h3", { className: "admin-card-title mb-4", children: "Basic Information" }), _jsxs("div", { className: "space-y-4", children: [_jsxs("div", { children: [_jsx("label", { htmlFor: "name", className: "admin-label admin-label-required", children: "Category Name" }), _jsx("input", { id: "name", name: "name", type: "text", value: formData.name, onChange: handleChange, required: true, placeholder: "e.g., Electronics, Clothing", className: "admin-input mt-1 w-full" })] }), _jsxs("div", { children: [_jsx("label", { htmlFor: "slug", className: "admin-label", children: "URL Handle" }), _jsxs("div", { className: "admin-input-group mt-1 flex rounded-md", children: [_jsx("span", { className: "admin-input-prefix inline-flex items-center rounded-l-md px-3 text-sm", children: "/categories/" }), _jsx("input", { id: "slug", name: "slug", type: "text", value: formData.slug, onChange: handleChange, placeholder: autoSlug || 'auto-generated', className: "admin-input-inline flex-1 rounded-r-md border-0 px-3 py-2 text-sm outline-none" })] }), _jsx("p", { className: "admin-helper-text mt-1", children: "Leave blank to auto-generate from category name" })] }), _jsxs("div", { children: [_jsx("label", { htmlFor: "description", className: "admin-label", children: "Description" }), _jsx("textarea", { id: "description", name: "description", value: formData.description, onChange: handleChange, rows: 3, placeholder: "Brief description of this category\u2026", className: "admin-input admin-textarea mt-1 w-full" })] }), _jsx(CatalogTranslationsEditor, { value: formData.translations, onChange: (next) => setFormData((prev) => ({ ...prev, translations: next })), baseName: formData.name, className: "mt-2" })] })] }), _jsxs("div", { className: "admin-card rounded-lg p-6", children: [_jsx("h3", { className: "admin-card-title mb-4", children: "Image" }), _jsx(ImageUpload, { value: formData.image || null, onChange: (url) => setFormData((prev) => ({ ...prev, image: url || '' })),
158
+ /* No onSave auto-persist: the image DB pointer rides the save bar
159
+ like every other field (a direct PUT here bypassed the document
160
+ model). The file still uploads to R2 immediately. */
161
+ folder: "categories", entityId: categoryId, placeholder: "Upload category image" })] }), _jsxs("div", { className: "admin-card rounded-lg p-6", children: [_jsx("h3", { className: "admin-card-title mb-4", children: "Organization" }), _jsxs("div", { className: "grid gap-4 sm:grid-cols-2", children: [_jsxs("div", { children: [_jsx("label", { htmlFor: "parentId", className: "admin-label", children: "Parent Category" }), _jsx(AdminSelect, { id: "parentId", name: "parentId", value: formData.parentId || '', onChange: (value) => setFormData((prev) => ({ ...prev, parentId: value })), options: [
157
162
  { value: '', label: 'None (Top Level)' },
158
163
  ...parentOptions.map((cat) => ({ value: cat.id, label: cat.name })),
159
164
  ], className: "mt-1 w-full" }), _jsx("p", { className: "admin-helper-text mt-1", children: "Make this a subcategory of another category" })] }), _jsxs("div", { children: [_jsx("label", { htmlFor: "order", className: "admin-label", children: "Display Order" }), _jsx("input", { id: "order", name: "order", type: "number", min: "0", value: formData.order, onChange: handleChange, className: "admin-input mt-1 w-full" }), _jsx("p", { className: "admin-helper-text mt-1", children: "Lower numbers appear first" })] })] })] }), _jsx(AdminSaveBar, { isDirty: isDirty, forceVisible: !isEditMode, saveLabel: isEditMode ? 'Save' : 'Create category', onSave: doSave, onDiscard: () => {
@@ -1 +1 @@
1
- {"version":3,"file":"CategoryForm.js","sourceRoot":"","sources":["../../../src/admin/components/CategoryForm.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAA;;AAEZ;;;;GAIG;AAEH,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,OAAO,CAAA;AAEjE,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAA;AACzC,OAAO,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAA;AACtD,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAA;AAC7C,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAA;AAC3C,OAAO,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAA;AACtD,OAAO,EAAE,yBAAyB,EAAE,MAAM,6BAA6B,CAAA;AAmBvE,gFAAgF;AAChF,YAAY;AACZ,gFAAgF;AAEhF;;;;;;;;;;;;;;GAcG;AACH,MAAM,UAAU,YAAY,CAAC,EAC3B,UAAU,EACV,WAAW,EACX,SAAS,EACT,QAAQ,EACR,SAAS,GAAG,EAAE,GACI;IAClB,MAAM,UAAU,GAAG,CAAC,CAAC,UAAU,CAAA;IAE/B,aAAa;IACb,MAAM,CAAC,QAAQ,EAAE,WAAW,CAAC,GAAG,QAAQ,CAAmB;QACzD,IAAI,EAAE,WAAW,EAAE,IAAI,IAAI,EAAE;QAC7B,IAAI,EAAE,WAAW,EAAE,IAAI,IAAI,EAAE;QAC7B,WAAW,EAAE,WAAW,EAAE,WAAW,IAAI,EAAE;QAC3C,YAAY,EAAG,WAA0F,EAAE,YAAY,IAAI,EAAE;QAC7H,KAAK,EAAE,WAAW,EAAE,KAAK,IAAI,EAAE;QAC/B,QAAQ,EAAE,WAAW,EAAE,QAAQ,IAAI,EAAE;QACrC,KAAK,EAAE,WAAW,EAAE,KAAK,IAAI,CAAC;KAC/B,CAAC,CAAA;IAEF,iCAAiC;IACjC,MAAM,CAAC,UAAU,EAAE,aAAa,CAAC,GAAG,QAAQ,CAA0B,EAAE,CAAC,CAAA;IAEzE,WAAW;IACX,MAAM,CAAC,UAAU,EAAE,aAAa,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAA;IACnD,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,QAAQ,CAAgB,IAAI,CAAC,CAAA;IAEvD,yEAAyE;IACzE,2EAA2E;IAC3E,MAAM,EAAE,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,GAAG,aAAa,CAAC,QAAQ,EAAE,CAAC,UAAU,CAAC,CAAA;IAEnF,+BAA+B;IAC/B,MAAM,QAAQ,GAAG,OAAO,CAAC,GAAG,EAAE;QAC5B,OAAO,QAAQ,CAAC,IAAI;aACjB,WAAW,EAAE;aACb,OAAO,CAAC,aAAa,EAAE,GAAG,CAAC;aAC3B,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAA;IAC1B,CAAC,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAA;IAEnB,uCAAuC;IACvC,SAAS,CAAC,GAAG,EAAE;QACb,MAAM,IAAI,GAAG,KAAK,IAAI,EAAE;YACtB,MAAM,GAAG,GAAG,MAAM,aAAa,CAC7B,iCAAiC,CAClC,CAAA;YACD,IAAI,GAAG,CAAC,EAAE,EAAE,CAAC;gBACX,aAAa,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,IAAI,EAAE,CAAC,CAAA;YACpC,CAAC;YACD,sEAAsE;QACxE,CAAC,CAAA;QACD,IAAI,EAAE,CAAA;IACR,CAAC,EAAE,EAAE,CAAC,CAAA;IAEN,kCAAkC;IAClC,mEAAmE;IACnE,iEAAiE;IACjE,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,CAAC,UAAU,IAAI,WAAW;YAAE,OAAM;QAEtC,IAAI,SAAS,GAAG,KAAK,CAAA;QACrB,2DAA2D;QAC3D,aAAa,CAAC,IAAI,CAAC,CAClB;QAAA,CAAC,KAAK,IAAI,EAAE;YACX,MAAM,GAAG,GAAG,MAAM,aAAa,CAC7B,yBAAyB,UAAU,EAAE,CACtC,CAAA;YACD,IAAI,SAAS;gBAAE,OAAM;YACrB,aAAa,CAAC,KAAK,CAAC,CAAA;YACpB,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC;gBACZ,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,CAAA;gBACnB,OAAM;YACR,CAAC;YACD,MAAM,GAAG,GAAG,GAAG,CAAC,IAAI,CAAC,IAAI,CAAA;YACzB,WAAW,CAAC;gBACV,IAAI,EAAE,GAAG,CAAC,IAAI;gBACd,IAAI,EAAE,GAAG,CAAC,IAAI;gBACd,WAAW,EAAE,GAAG,CAAC,WAAW,IAAI,EAAE;gBAClC,KAAK,EAAE,GAAG,CAAC,KAAK,IAAI,EAAE;gBACtB,QAAQ,EAAE,GAAG,CAAC,QAAQ,IAAI,EAAE;gBAC5B,KAAK,EAAE,GAAG,CAAC,KAAK;aACjB,CAAC,CAAA;QACJ,CAAC,CAAC,EAAE,CAAA;QACJ,OAAO,GAAG,EAAE;YACV,SAAS,GAAG,IAAI,CAAA;QAClB,CAAC,CAAA;IACH,CAAC,EAAE,CAAC,UAAU,EAAE,WAAW,CAAC,CAAC,CAAA;IAE7B,sDAAsD;IACtD,MAAM,aAAa,GAAG,OAAO,CAAC,GAAG,EAAE;QACjC,IAAI,CAAC,UAAU;YAAE,OAAO,UAAU,CAAA;QAElC,4EAA4E;QAC5E,OAAO,UAAU,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,EAAE,KAAK,UAAU,CAAC,CAAA;IAC1D,CAAC,EAAE,CAAC,UAAU,EAAE,UAAU,EAAE,UAAU,CAAC,CAAC,CAAA;IAExC,uBAAuB;IACvB,MAAM,YAAY,GAAG,WAAW,CAAC,CAC/B,CAAgF,EAChF,EAAE;QACF,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,CAAC,CAAC,MAAM,CAAA;QAEtC,WAAW,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;YACrB,GAAG,IAAI;YACP,CAAC,IAAI,CAAC,EAAE,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,EAAG,+BAA+B;SAC5E,CAAC,CAAC,CAAA;IACL,CAAC,EAAE,EAAE,CAAC,CAAA;IAEN,gBAAgB;IAChB,MAAM,MAAM,GAAG,WAAW,CAAC,KAAK,IAAmD,EAAE;QACnF,MAAM,IAAI,GAAqB;YAC7B,IAAI,EAAE,QAAQ,CAAC,IAAI;YACnB,IAAI,EAAE,QAAQ,CAAC,IAAI,IAAI,QAAQ;YAC/B,WAAW,EAAE,QAAQ,CAAC,WAAW,IAAI,SAAS;YAC9C,YAAY,EAAE,QAAQ,CAAC,YAAY;YACnC,KAAK,EAAE,QAAQ,CAAC,KAAK,IAAI,SAAS;YAClC,QAAQ,EAAE,QAAQ,CAAC,QAAQ,IAAI,SAAS;YACxC,KAAK,EAAE,QAAQ,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC;SACjD,CAAA;QAED,MAAM,GAAG,GAAG,UAAU;YACpB,CAAC,CAAC,yBAAyB,UAAU,EAAE;YACvC,CAAC,CAAC,uBAAuB,CAAA;QAE3B,MAAM,GAAG,GAAG,MAAM,aAAa,CAA2B,GAAG,EAAE;YAC7D,MAAM,EAAE,UAAU,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM;YACnC,OAAO,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE;YAC/C,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC;SAC3B,CAAC,CAAA;QAEF,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC;YACZ,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,CAAC,KAAK,EAAE,CAAA;QAC7C,CAAC;QAED,gEAAgE;QAChE,UAAU,EAAE,CAAA;QACZ,SAAS,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;QAC7B,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAA;IAC1B,CAAC,EAAE,CAAC,UAAU,EAAE,UAAU,EAAE,QAAQ,EAAE,QAAQ,EAAE,SAAS,EAAE,UAAU,CAAC,CAAC,CAAA;IAEvE,gBAAgB;IAChB,IAAI,UAAU,EAAE,CAAC;QACf,OAAO,CACL,cAAK,SAAS,EAAC,wCAAwC,YACrD,cAAK,SAAS,EAAC,gCAAgC,GAAG,GAC9C,CACP,CAAA;IACH,CAAC;IAED,OAAO,CACL,gBAAM,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,cAAc,EAAE,EAAE,SAAS,EAAE,aAAa,SAAS,EAAE,aAE3E,KAAK,IAAI,CACR,cAAK,SAAS,EAAC,+BAA+B,YAC5C,cAAK,SAAS,EAAC,yBAAyB,YAAE,KAAK,GAAO,GAClD,CACP,EAGD,eAAK,SAAS,EAAC,2BAA2B,aACxC,aAAI,SAAS,EAAC,uBAAuB,kCAAuB,EAC5D,eAAK,SAAS,EAAC,WAAW,aACxB,0BACE,gBAAO,OAAO,EAAC,MAAM,EAAC,SAAS,EAAC,kCAAkC,8BAE1D,EACR,gBACE,EAAE,EAAC,MAAM,EACT,IAAI,EAAC,MAAM,EACX,IAAI,EAAC,MAAM,EACX,KAAK,EAAE,QAAQ,CAAC,IAAI,EACpB,QAAQ,EAAE,YAAY,EACtB,QAAQ,QACR,WAAW,EAAC,6BAA6B,EACzC,SAAS,EAAC,yBAAyB,GACnC,IACE,EAEN,0BACE,gBAAO,OAAO,EAAC,MAAM,EAAC,SAAS,EAAC,aAAa,2BAErC,EACR,eAAK,SAAS,EAAC,wCAAwC,aACrD,eAAM,SAAS,EAAC,uEAAuE,6BAEhF,EACP,gBACE,EAAE,EAAC,MAAM,EACT,IAAI,EAAC,MAAM,EACX,IAAI,EAAC,MAAM,EACX,KAAK,EAAE,QAAQ,CAAC,IAAI,EACpB,QAAQ,EAAE,YAAY,EACtB,WAAW,EAAE,QAAQ,IAAI,gBAAgB,EACzC,SAAS,EAAC,gFAAgF,GAC1F,IACE,EACN,YAAG,SAAS,EAAC,wBAAwB,gEAEjC,IACA,EAEN,0BACE,gBAAO,OAAO,EAAC,aAAa,EAAC,SAAS,EAAC,aAAa,4BAE5C,EACR,mBACE,EAAE,EAAC,aAAa,EAChB,IAAI,EAAC,aAAa,EAClB,KAAK,EAAE,QAAQ,CAAC,WAAW,EAC3B,QAAQ,EAAE,YAAY,EACtB,IAAI,EAAE,CAAC,EACP,WAAW,EAAC,0CAAqC,EACjD,SAAS,EAAC,wCAAwC,GAClD,IACE,EAGN,KAAC,yBAAyB,IACxB,KAAK,EAAE,QAAQ,CAAC,YAAY,EAC5B,QAAQ,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,WAAW,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,EAAE,GAAG,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,CAAC,CAAC,EAC5E,QAAQ,EAAE,QAAQ,CAAC,IAAI,EACvB,SAAS,EAAC,MAAM,GAChB,IACE,IACF,EAGN,eAAK,SAAS,EAAC,2BAA2B,aACxC,aAAI,SAAS,EAAC,uBAAuB,sBAAW,EAChD,KAAC,WAAW,IACV,KAAK,EAAE,QAAQ,CAAC,KAAK,IAAI,IAAI,EAC7B,QAAQ,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,WAAW,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,EAAE,GAAG,IAAI,EAAE,KAAK,EAAE,GAAG,IAAI,EAAE,EAAE,CAAC,CAAC,EACzE,MAAM,EAAE,UAAU,CAAC,CAAC,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE;4BACjC,8CAA8C;4BAC9C,MAAM,aAAa,CAAC,yBAAyB,UAAU,EAAE,EAAE;gCACzD,MAAM,EAAE,KAAK;gCACb,OAAO,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE;gCAC/C,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,GAAG,IAAI,IAAI,EAAE,CAAC;6BAC7C,CAAC,CAAA;wBACJ,CAAC,CAAC,CAAC,CAAC,SAAS,EACb,MAAM,EAAC,YAAY,EACnB,QAAQ,EAAE,UAAU,EACpB,WAAW,EAAC,uBAAuB,GACnC,IACE,EAGN,eAAK,SAAS,EAAC,2BAA2B,aACxC,aAAI,SAAS,EAAC,uBAAuB,6BAAkB,EACvD,eAAK,SAAS,EAAC,2BAA2B,aACxC,0BACE,gBAAO,OAAO,EAAC,UAAU,EAAC,SAAS,EAAC,aAAa,gCAEzC,EACR,KAAC,WAAW,IACV,EAAE,EAAC,UAAU,EACb,IAAI,EAAC,UAAU,EACf,KAAK,EAAE,QAAQ,CAAC,QAAQ,IAAI,EAAE,EAC9B,QAAQ,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,WAAW,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,EAAE,GAAG,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,CAAC,EAC1E,OAAO,EAAE;4CACP,EAAE,KAAK,EAAE,EAAE,EAAE,KAAK,EAAE,kBAAkB,EAAE;4CACxC,GAAG,aAAa,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,GAAG,CAAC,EAAE,EAAE,KAAK,EAAE,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC;yCACpE,EACD,SAAS,EAAC,aAAa,GACvB,EACF,YAAG,SAAS,EAAC,wBAAwB,4DAEjC,IACA,EAEN,0BACE,gBAAO,OAAO,EAAC,OAAO,EAAC,SAAS,EAAC,aAAa,8BAEtC,EACR,gBACE,EAAE,EAAC,OAAO,EACV,IAAI,EAAC,OAAO,EACZ,IAAI,EAAC,QAAQ,EACb,GAAG,EAAC,GAAG,EACP,KAAK,EAAE,QAAQ,CAAC,KAAK,EACrB,QAAQ,EAAE,YAAY,EACtB,SAAS,EAAC,yBAAyB,GACnC,EACF,YAAG,SAAS,EAAC,wBAAwB,2CAEjC,IACA,IACF,IACF,EAIN,KAAC,YAAY,IACX,OAAO,EAAE,OAAO,EAChB,YAAY,EAAE,CAAC,UAAU,EACzB,SAAS,EAAE,UAAU,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,iBAAiB,EAClD,MAAM,EAAE,MAAM,EACd,SAAS,EAAE,GAAG,EAAE;oBACd,IAAI,CAAC,UAAU,IAAI,QAAQ,EAAE,CAAC;wBAC5B,QAAQ,EAAE,CAAA;wBACV,OAAM;oBACR,CAAC;oBACD,IAAI,aAAa;wBAAE,WAAW,CAAC,aAAa,CAAC,CAAA;gBAC/C,CAAC,GACD,IACG,CACR,CAAA;AACH,CAAC"}
1
+ {"version":3,"file":"CategoryForm.js","sourceRoot":"","sources":["../../../src/admin/components/CategoryForm.tsx"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"CustomerDetails.d.ts","sourceRoot":"","sources":["../../../src/admin/components/CustomerDetails.tsx"],"names":[],"mappings":"AAkBA,OAAO,KAAK,EAAE,oBAAoB,EAAuB,MAAM,UAAU,CAAA;AA4CzE;;;;;;;;;;;GAWG;AACH,wBAAgB,eAAe,CAAC,EAC9B,UAAU,EACV,MAAM,EACN,QAAQ,EACR,SAAc,GACf,EAAE,oBAAoB,2CA6dtB"}
1
+ {"version":3,"file":"CustomerDetails.d.ts","sourceRoot":"","sources":["../../../src/admin/components/CustomerDetails.tsx"],"names":[],"mappings":"AAkBA,OAAO,KAAK,EAAE,oBAAoB,EAAuB,MAAM,UAAU,CAAA;AA8CzE;;;;;;;;;;;GAWG;AACH,wBAAgB,eAAe,CAAC,EAC9B,UAAU,EACV,MAAM,EACN,QAAQ,EACR,SAAc,GACf,EAAE,oBAAoB,2CA6ftB"}
@@ -16,7 +16,10 @@ import { AdminSelect } from './AdminSelect';
16
16
  import { OrderStatusBadge } from './statusBadges';
17
17
  import { CustomerAddressPanel } from './CustomerAddressPanel';
18
18
  import { useAdminDates } from '../hooks/useAdminDates';
19
- import { Mail, User, Phone, Tags, Calendar, CheckCircle, Clock, CreditCard, ShoppingBag, DollarSign, Pencil, Trash2, X, Check, } from 'lucide-react';
19
+ import { Mail, User, Phone, Tags, Calendar, CheckCircle, Clock, CreditCard, ShoppingBag, DollarSign, Pencil, Trash2, X, } from 'lucide-react';
20
+ import { AdminSaveBar } from './AdminSaveBar';
21
+ import { useDirtyState } from '../hooks/useDirtyState';
22
+ import { DiscardChangesModal } from './DiscardChangesModal';
20
23
  // =============================================================================
21
24
  // Status Badges - Pure CSS Classes
22
25
  // =============================================================================
@@ -52,8 +55,11 @@ export function CustomerDetails({ customerId, onBack, onDelete, className = '',
52
55
  const [editEmail, setEditEmail] = useState('');
53
56
  const [editPhone, setEditPhone] = useState('');
54
57
  const [editGroupId, setEditGroupId] = useState(''); // '' = no group
55
- const [isSaving, setIsSaving] = useState(false);
56
- const [editError, setEditError] = useState(null);
58
+ // Document dirty tracking (AdminSaveBar contract) over the edit-session
59
+ // fields. handleEditStart rebaselines explicitly because edit mode opens
60
+ // repeatedly against the live customer values.
61
+ const { isDirty, baselineValue, rebaseline } = useDirtyState({ editName, editEmail, editPhone, editGroupId }, isEditing);
62
+ const [confirmCancel, setConfirmCancel] = useState(false);
57
63
  // Delete state
58
64
  const [showDeleteDialog, setShowDeleteDialog] = useState(false);
59
65
  const [isDeleting, setIsDeleting] = useState(false);
@@ -89,30 +95,41 @@ export function CustomerDetails({ customerId, onBack, onDelete, className = '',
89
95
  // Edit handlers
90
96
  const handleEditStart = useCallback(() => {
91
97
  if (customer) {
92
- setEditName(customer.name || '');
93
- setEditEmail(customer.email);
94
- setEditPhone(customer.phone || '');
95
- setEditGroupId(customer.groupId || '');
96
- setEditError(null);
98
+ const next = {
99
+ editName: customer.name || '',
100
+ editEmail: customer.email,
101
+ editPhone: customer.phone || '',
102
+ editGroupId: customer.groupId || '',
103
+ };
104
+ setEditName(next.editName);
105
+ setEditEmail(next.editEmail);
106
+ setEditPhone(next.editPhone);
107
+ setEditGroupId(next.editGroupId);
108
+ rebaseline(next);
97
109
  setIsEditing(true);
98
110
  }
99
- }, [customer]);
111
+ }, [customer, rebaseline]);
112
+ // Exit edit mode; while dirty, route through the discard confirm (the
113
+ // bar's nav-guard only intercepts sidebar/top-bar links, not this link).
100
114
  const handleEditCancel = useCallback(() => {
115
+ if (isDirty) {
116
+ setConfirmCancel(true);
117
+ return;
118
+ }
101
119
  setIsEditing(false);
102
- setEditError(null);
103
- }, []);
120
+ }, [isDirty]);
121
+ // Save for the AdminSaveBar — the bar owns the phase machine and surfaces
122
+ // failures in its error state. On success edit mode closes back to the
123
+ // read view showing the updated values (the feedback; no toast).
104
124
  const handleEditSave = useCallback(async () => {
105
125
  if (!customer)
106
- return;
107
- setIsSaving(true);
108
- setEditError(null);
126
+ return { success: false, error: 'Customer not loaded' };
109
127
  const result = await updateCustomer(customer.id, {
110
128
  name: editName || undefined,
111
129
  email: editEmail,
112
130
  phone: editPhone.trim() || null,
113
131
  groupId: editGroupId || null,
114
132
  });
115
- setIsSaving(false);
116
133
  if (result.success && result.data) {
117
134
  setCustomer((prev) => prev
118
135
  ? {
@@ -123,12 +140,12 @@ export function CustomerDetails({ customerId, onBack, onDelete, className = '',
123
140
  groupId: result.data.groupId ?? null,
124
141
  }
125
142
  : null);
143
+ rebaseline();
126
144
  setIsEditing(false);
145
+ return { success: true };
127
146
  }
128
- else {
129
- setEditError(result.error || 'Failed to update customer');
130
- }
131
- }, [customer, editName, editEmail, editPhone, editGroupId, updateCustomer]);
147
+ return { success: false, error: result.error || 'Failed to update customer' };
148
+ }, [customer, editName, editEmail, editPhone, editGroupId, updateCustomer, rebaseline]);
132
149
  // Delete handlers
133
150
  const handleDeleteClick = useCallback(() => {
134
151
  setDeleteError(null);
@@ -163,9 +180,19 @@ export function CustomerDetails({ customerId, onBack, onDelete, className = '',
163
180
  if (!customer) {
164
181
  return (_jsx("div", { className: `admin-card ${className}`, children: _jsx(AdminEmptyState, { className: "py-12", icon: _jsx(User, {}), title: "Customer not found", description: "It may have been deleted.", tone: "muted", action: onBack ? (_jsx("button", { onClick: onBack, className: "admin-link-primary text-sm", children: "Go back" })) : undefined }) }));
165
182
  }
166
- return (_jsxs("div", { className: `space-y-6 ${className}`, children: [onBack && (_jsx(AdminPageHeader, { onBack: onBack, backLabel: "Back to customers", eyebrow: "Customers", title: customer.name || 'Unnamed Customer', subtitle: customer.email, badge: _jsx(VerificationBadge, { verified: !!customer.emailVerified }) })), _jsxs("div", { className: "grid gap-6 lg:grid-cols-3", children: [_jsxs("div", { className: "lg:col-span-2 space-y-6", children: [_jsxs("div", { className: "admin-card overflow-hidden", children: [_jsxs("div", { className: "admin-card-header flex items-center justify-between", children: [_jsx("h2", { className: "admin-card-title", children: "Customer Information" }), !isEditing && (_jsxs("button", { onClick: handleEditStart, className: "admin-action-link inline-flex items-center gap-1", children: [_jsx(Pencil, { className: "h-3 w-3" }), "Edit"] }))] }), _jsx("div", { className: "p-6", children: isEditing ? (_jsxs("div", { className: "space-y-4", children: [_jsxs("div", { children: [_jsx("label", { className: "admin-label", children: "Name" }), _jsx("input", { type: "text", value: editName, onChange: (e) => setEditName(e.target.value), placeholder: "Customer name", className: "admin-input w-full" })] }), _jsxs("div", { children: [_jsx("label", { className: "admin-label", children: "Email" }), _jsx("input", { type: "email", value: editEmail, onChange: (e) => setEditEmail(e.target.value), placeholder: "customer@example.com", className: "admin-input w-full" })] }), _jsxs("div", { children: [_jsx("label", { className: "admin-label", children: "Phone" }), _jsx("input", { type: "tel", value: editPhone, onChange: (e) => setEditPhone(e.target.value), placeholder: "Customer phone", className: "admin-input w-full", maxLength: 40 })] }), _jsxs("div", { children: [_jsx("label", { className: "admin-label", children: "Group" }), _jsx(AdminSelect, { value: editGroupId, onChange: setEditGroupId, options: [
183
+ return (_jsxs("div", { className: `space-y-6 ${className}`, children: [onBack && (_jsx(AdminPageHeader, { onBack: onBack, backLabel: "Back to customers", eyebrow: "Customers", title: customer.name || 'Unnamed Customer', subtitle: customer.email, badge: _jsx(VerificationBadge, { verified: !!customer.emailVerified }) })), _jsxs("div", { className: "grid gap-6 lg:grid-cols-3", children: [_jsxs("div", { className: "lg:col-span-2 space-y-6", children: [_jsxs("div", { className: "admin-card overflow-hidden", children: [_jsxs("div", { className: "admin-card-header flex items-center justify-between", children: [_jsx("h2", { className: "admin-card-title", children: "Customer Information" }), !isEditing ? (_jsxs("button", { onClick: handleEditStart, className: "admin-action-link inline-flex items-center gap-1", children: [_jsx(Pencil, { className: "h-3 w-3" }), "Edit"] })) : (_jsxs("button", { onClick: handleEditCancel, className: "admin-action-link inline-flex items-center gap-1", children: [_jsx(X, { className: "h-3 w-3" }), "Cancel"] }))] }), _jsx("div", { className: "p-6", children: isEditing ? (_jsxs("div", { className: "space-y-4", children: [_jsxs("div", { children: [_jsx("label", { className: "admin-label", children: "Name" }), _jsx("input", { type: "text", value: editName, onChange: (e) => setEditName(e.target.value), placeholder: "Customer name", className: "admin-input w-full" })] }), _jsxs("div", { children: [_jsx("label", { className: "admin-label", children: "Email" }), _jsx("input", { type: "email", value: editEmail, onChange: (e) => setEditEmail(e.target.value), placeholder: "customer@example.com", className: "admin-input w-full" })] }), _jsxs("div", { children: [_jsx("label", { className: "admin-label", children: "Phone" }), _jsx("input", { type: "tel", value: editPhone, onChange: (e) => setEditPhone(e.target.value), placeholder: "Customer phone", className: "admin-input w-full", maxLength: 40 })] }), _jsxs("div", { children: [_jsx("label", { className: "admin-label", children: "Group" }), _jsx(AdminSelect, { value: editGroupId, onChange: setEditGroupId, options: [
167
184
  { value: '', label: 'No group' },
168
185
  ...groups.map((g) => ({ value: g.id, label: g.name })),
169
- ], className: "w-full" })] }), editError && (_jsx("p", { className: "admin-error-text text-sm", children: editError })), _jsxs("div", { className: "flex gap-2", children: [_jsxs("button", { onClick: handleEditSave, disabled: isSaving, className: "admin-btn admin-btn-primary admin-btn-sm inline-flex items-center gap-1 disabled:opacity-50", children: [_jsx(Check, { className: "h-3 w-3" }), isSaving ? 'Saving…' : 'Save'] }), _jsxs("button", { onClick: handleEditCancel, disabled: isSaving, className: "admin-btn admin-btn-secondary admin-btn-sm inline-flex items-center gap-1 disabled:opacity-50", children: [_jsx(X, { className: "h-3 w-3" }), "Cancel"] })] })] })) : (_jsxs("div", { className: "space-y-4", children: [_jsxs("div", { className: "flex items-center gap-3", children: [_jsx(Mail, { className: "h-4 w-4 admin-text-muted" }), _jsxs("div", { children: [_jsx("p", { className: "text-sm admin-text-muted", children: "Email" }), _jsx("p", { children: customer.email })] })] }), _jsxs("div", { className: "flex items-center gap-3", children: [_jsx(User, { className: "h-4 w-4 admin-text-muted" }), _jsxs("div", { children: [_jsx("p", { className: "text-sm admin-text-muted", children: "Name" }), _jsx("p", { children: customer.name || 'Not provided' })] })] }), _jsxs("div", { className: "flex items-center gap-3", children: [_jsx(Phone, { className: "h-4 w-4 admin-text-muted" }), _jsxs("div", { children: [_jsx("p", { className: "text-sm admin-text-muted", children: "Phone" }), _jsx("p", { children: customer.phone || 'Not provided' })] })] }), _jsxs("div", { className: "flex items-center gap-3", children: [_jsx(Tags, { className: "h-4 w-4 admin-text-muted" }), _jsxs("div", { children: [_jsx("p", { className: "text-sm admin-text-muted", children: "Group" }), customer.groupId ? (_jsx("span", { className: "admin-badge admin-badge-neutral", children: groups.find((g) => g.id === customer.groupId)?.name || 'Unknown group' })) : (_jsx("p", { className: "admin-text-muted", children: "No group" }))] })] }), _jsxs("div", { className: "flex items-center gap-3", children: [_jsx(Calendar, { className: "h-4 w-4 admin-text-muted" }), _jsxs("div", { children: [_jsx("p", { className: "text-sm admin-text-muted", children: "Joined" }), _jsx("p", { children: formatDate(customer.createdAt) })] })] }), customer.stripeCustomerId && (_jsxs("div", { className: "flex items-center gap-3", children: [_jsx(CreditCard, { className: "h-4 w-4 admin-text-muted" }), _jsxs("div", { children: [_jsx("p", { className: "text-sm admin-text-muted", children: "Stripe Customer ID" }), _jsx("p", { className: "font-mono text-sm", children: customer.stripeCustomerId })] })] }))] })) })] }), _jsxs("div", { className: "admin-card overflow-hidden", children: [_jsx("div", { className: "admin-card-header", children: _jsx("h2", { className: "admin-card-title", children: "Order History" }) }), customer.orders && customer.orders.length > 0 ? (_jsx("div", { className: "admin-card-divider-y", children: customer.orders.map((order) => (_jsxs("a", { href: `/admin/orders/${order.id}`, className: "admin-inventory-item flex items-center justify-between", children: [_jsxs("div", { className: "flex items-center gap-4", children: [_jsx("div", { className: "admin-image-placeholder h-10 w-10 rounded", children: _jsx(ShoppingBag, { className: "h-5 w-5" }) }), _jsxs("div", { children: [_jsxs("p", { className: "admin-inventory-item-link", children: ["Order #", order.id.slice(-8).toUpperCase()] }), _jsx("p", { className: "text-sm admin-text-muted", children: formatDateTime(order.createdAt) })] })] }), _jsxs("div", { className: "flex items-center gap-4", children: [_jsx(OrderStatusBadge, { status: order.status }), _jsx("span", { className: "font-medium", children: formatCurrency(order.total) })] })] }, order.id))) })) : (_jsx(AdminEmptyState, { className: "py-12", icon: _jsx(ShoppingBag, {}), title: "No orders yet", description: "Orders this customer places will appear here." }))] }), _jsx(CustomerAddressPanel, { customerId: customer.id, addresses: customer.addresses || [], onCreate: createCustomerAddress, onUpdate: updateCustomerAddress, onDelete: deleteCustomerAddress })] }), _jsxs("div", { className: "space-y-6", children: [_jsxs("div", { className: "admin-card p-6", children: [_jsx("h2", { className: "admin-card-title mb-4", children: "Customer Stats" }), _jsxs("div", { className: "space-y-4", children: [_jsxs("div", { className: "flex items-center justify-between", children: [_jsxs("div", { className: "flex items-center gap-2 admin-text-muted", children: [_jsx(ShoppingBag, { className: "h-4 w-4" }), _jsx("span", { className: "text-sm", children: "Total Orders" })] }), _jsx("span", { className: "font-medium", children: customer.stats?.totalOrders ?? 0 })] }), _jsxs("div", { className: "flex items-center justify-between", children: [_jsxs("div", { className: "flex items-center gap-2 admin-text-muted", children: [_jsx(DollarSign, { className: "h-4 w-4" }), _jsx("span", { className: "text-sm", children: "Total Spent" })] }), _jsx("span", { className: "font-medium", children: formatCurrency(customer.stats?.totalSpent ?? 0) })] })] })] }), _jsxs("div", { className: "admin-card p-6", children: [_jsx("h2", { className: "admin-card-title mb-4", children: "Actions" }), _jsxs("div", { className: "space-y-3", children: [_jsxs("button", { onClick: handleDeleteClick, className: "admin-btn admin-btn-destructive w-full inline-flex items-center justify-center gap-2", children: [_jsx(Trash2, { className: "h-4 w-4" }), "Delete customer"] }), _jsx("p", { className: "text-xs admin-text-muted", children: "Deleting a customer anonymizes their data while preserving order history." })] })] })] })] }), _jsx(DeleteConfirmDialog, { isOpen: showDeleteDialog, title: "Delete customer", itemName: customer.name || customer.email, itemType: "customer", isDeleting: isDeleting, error: deleteError, onConfirm: handleDeleteConfirm, onCancel: handleDeleteCancel })] }));
186
+ ], className: "w-full" })] })] })) : (_jsxs("div", { className: "space-y-4", children: [_jsxs("div", { className: "flex items-center gap-3", children: [_jsx(Mail, { className: "h-4 w-4 admin-text-muted" }), _jsxs("div", { children: [_jsx("p", { className: "text-sm admin-text-muted", children: "Email" }), _jsx("p", { children: customer.email })] })] }), _jsxs("div", { className: "flex items-center gap-3", children: [_jsx(User, { className: "h-4 w-4 admin-text-muted" }), _jsxs("div", { children: [_jsx("p", { className: "text-sm admin-text-muted", children: "Name" }), _jsx("p", { children: customer.name || 'Not provided' })] })] }), _jsxs("div", { className: "flex items-center gap-3", children: [_jsx(Phone, { className: "h-4 w-4 admin-text-muted" }), _jsxs("div", { children: [_jsx("p", { className: "text-sm admin-text-muted", children: "Phone" }), _jsx("p", { children: customer.phone || 'Not provided' })] })] }), _jsxs("div", { className: "flex items-center gap-3", children: [_jsx(Tags, { className: "h-4 w-4 admin-text-muted" }), _jsxs("div", { children: [_jsx("p", { className: "text-sm admin-text-muted", children: "Group" }), customer.groupId ? (_jsx("span", { className: "admin-badge admin-badge-neutral", children: groups.find((g) => g.id === customer.groupId)?.name || 'Unknown group' })) : (_jsx("p", { className: "admin-text-muted", children: "No group" }))] })] }), _jsxs("div", { className: "flex items-center gap-3", children: [_jsx(Calendar, { className: "h-4 w-4 admin-text-muted" }), _jsxs("div", { children: [_jsx("p", { className: "text-sm admin-text-muted", children: "Joined" }), _jsx("p", { children: formatDate(customer.createdAt) })] })] }), customer.stripeCustomerId && (_jsxs("div", { className: "flex items-center gap-3", children: [_jsx(CreditCard, { className: "h-4 w-4 admin-text-muted" }), _jsxs("div", { children: [_jsx("p", { className: "text-sm admin-text-muted", children: "Stripe Customer ID" }), _jsx("p", { className: "font-mono text-sm", children: customer.stripeCustomerId })] })] }))] })) })] }), _jsxs("div", { className: "admin-card overflow-hidden", children: [_jsx("div", { className: "admin-card-header", children: _jsx("h2", { className: "admin-card-title", children: "Order History" }) }), customer.orders && customer.orders.length > 0 ? (_jsx("div", { className: "admin-card-divider-y", children: customer.orders.map((order) => (_jsxs("a", { href: `/admin/orders/${order.id}`, className: "admin-inventory-item flex items-center justify-between", children: [_jsxs("div", { className: "flex items-center gap-4", children: [_jsx("div", { className: "admin-image-placeholder h-10 w-10 rounded", children: _jsx(ShoppingBag, { className: "h-5 w-5" }) }), _jsxs("div", { children: [_jsxs("p", { className: "admin-inventory-item-link", children: ["Order #", order.id.slice(-8).toUpperCase()] }), _jsx("p", { className: "text-sm admin-text-muted", children: formatDateTime(order.createdAt) })] })] }), _jsxs("div", { className: "flex items-center gap-4", children: [_jsx(OrderStatusBadge, { status: order.status }), _jsx("span", { className: "font-medium", children: formatCurrency(order.total) })] })] }, order.id))) })) : (_jsx(AdminEmptyState, { className: "py-12", icon: _jsx(ShoppingBag, {}), title: "No orders yet", description: "Orders this customer places will appear here." }))] }), _jsx(CustomerAddressPanel, { customerId: customer.id, addresses: customer.addresses || [], onCreate: createCustomerAddress, onUpdate: updateCustomerAddress, onDelete: deleteCustomerAddress })] }), _jsxs("div", { className: "space-y-6", children: [_jsxs("div", { className: "admin-card p-6", children: [_jsx("h2", { className: "admin-card-title mb-4", children: "Customer Stats" }), _jsxs("div", { className: "space-y-4", children: [_jsxs("div", { className: "flex items-center justify-between", children: [_jsxs("div", { className: "flex items-center gap-2 admin-text-muted", children: [_jsx(ShoppingBag, { className: "h-4 w-4" }), _jsx("span", { className: "text-sm", children: "Total Orders" })] }), _jsx("span", { className: "font-medium", children: customer.stats?.totalOrders ?? 0 })] }), _jsxs("div", { className: "flex items-center justify-between", children: [_jsxs("div", { className: "flex items-center gap-2 admin-text-muted", children: [_jsx(DollarSign, { className: "h-4 w-4" }), _jsx("span", { className: "text-sm", children: "Total Spent" })] }), _jsx("span", { className: "font-medium", children: formatCurrency(customer.stats?.totalSpent ?? 0) })] })] })] }), _jsxs("div", { className: "admin-card p-6", children: [_jsx("h2", { className: "admin-card-title mb-4", children: "Actions" }), _jsxs("div", { className: "space-y-3", children: [_jsxs("button", { onClick: handleDeleteClick, className: "admin-btn admin-btn-destructive w-full inline-flex items-center justify-center gap-2", children: [_jsx(Trash2, { className: "h-4 w-4" }), "Delete customer"] }), _jsx("p", { className: "text-xs admin-text-muted", children: "Deleting a customer anonymizes their data while preserving order history." })] })] })] })] }), _jsx(DeleteConfirmDialog, { isOpen: showDeleteDialog, title: "Delete customer", itemName: customer.name || customer.email, itemType: "customer", isDeleting: isDeleting, error: deleteError, onConfirm: handleDeleteConfirm, onCancel: handleDeleteCancel }), isEditing && (_jsx(AdminSaveBar, { isDirty: isDirty, onSave: handleEditSave, onDiscard: () => {
187
+ if (baselineValue) {
188
+ setEditName(baselineValue.editName);
189
+ setEditEmail(baselineValue.editEmail);
190
+ setEditPhone(baselineValue.editPhone);
191
+ setEditGroupId(baselineValue.editGroupId);
192
+ }
193
+ } })), _jsx(DiscardChangesModal, { open: confirmCancel, onKeepEditing: () => setConfirmCancel(false), onDiscard: () => {
194
+ setConfirmCancel(false);
195
+ setIsEditing(false);
196
+ } })] }));
170
197
  }
171
198
  //# sourceMappingURL=CustomerDetails.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"CustomerDetails.js","sourceRoot":"","sources":["../../../src/admin/components/CustomerDetails.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAA;;AAEZ;;;;GAIG;AAEH,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,OAAO,CAAA;AACxD,OAAO,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAA;AAC9D,OAAO,EAAE,sBAAsB,EAAE,MAAM,iCAAiC,CAAA;AACxE,OAAO,EAAE,wBAAwB,EAAE,MAAM,kCAAkC,CAAA;AAC3E,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAA;AAC3D,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAA;AACnD,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAA;AACnD,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAA;AAC3C,OAAO,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAA;AACjD,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAA;AAE7D,OAAO,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAA;AACtD,OAAO,EACL,IAAI,EACJ,IAAI,EACJ,KAAK,EACL,IAAI,EACJ,QAAQ,EACR,WAAW,EACX,KAAK,EACL,UAAU,EACV,WAAW,EACX,UAAU,EACV,MAAM,EACN,MAAM,EACN,CAAC,EACD,KAAK,GACN,MAAM,cAAc,CAAA;AAErB,gFAAgF;AAChF,mCAAmC;AACnC,gFAAgF;AAEhF,SAAS,iBAAiB,CAAC,EAAE,QAAQ,EAAyB;IAC5D,IAAI,QAAQ,EAAE,CAAC;QACb,OAAO,CACL,gBAAM,SAAS,EAAC,iEAAiE,aAC/E,KAAC,WAAW,IAAC,SAAS,EAAC,SAAS,GAAG,gBAE9B,CACR,CAAA;IACH,CAAC;IACD,OAAO,CACL,gBAAM,SAAS,EAAC,mEAAmE,aACjF,KAAC,KAAK,IAAC,SAAS,EAAC,SAAS,GAAG,eAExB,CACR,CAAA;AACH,CAAC;AAED,gFAAgF;AAChF,YAAY;AACZ,gFAAgF;AAEhF;;;;;;;;;;;GAWG;AACH,MAAM,UAAU,eAAe,CAAC,EAC9B,UAAU,EACV,MAAM,EACN,QAAQ,EACR,SAAS,GAAG,EAAE,GACO;IACrB,MAAM,EACJ,WAAW,EACX,cAAc,EACd,cAAc,EACd,qBAAqB,EACrB,qBAAqB,EACrB,qBAAqB,GACtB,GAAG,iBAAiB,EAAE,CAAA;IACvB,MAAM,EAAE,MAAM,EAAE,GAAG,sBAAsB,EAAE,CAAA;IAC3C,MAAM,CAAC,QAAQ,EAAE,WAAW,CAAC,GAAG,QAAQ,CAA6B,IAAI,CAAC,CAAA;IAC1E,MAAM,CAAC,SAAS,EAAE,YAAY,CAAC,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAA;IAEhD,aAAa;IACb,MAAM,CAAC,SAAS,EAAE,YAAY,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAA;IACjD,MAAM,CAAC,QAAQ,EAAE,WAAW,CAAC,GAAG,QAAQ,CAAC,EAAE,CAAC,CAAA;IAC5C,MAAM,CAAC,SAAS,EAAE,YAAY,CAAC,GAAG,QAAQ,CAAC,EAAE,CAAC,CAAA;IAC9C,MAAM,CAAC,SAAS,EAAE,YAAY,CAAC,GAAG,QAAQ,CAAC,EAAE,CAAC,CAAA;IAC9C,MAAM,CAAC,WAAW,EAAE,cAAc,CAAC,GAAG,QAAQ,CAAC,EAAE,CAAC,CAAA,CAAC,gBAAgB;IACnE,MAAM,CAAC,QAAQ,EAAE,WAAW,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAA;IAC/C,MAAM,CAAC,SAAS,EAAE,YAAY,CAAC,GAAG,QAAQ,CAAgB,IAAI,CAAC,CAAA;IAE/D,eAAe;IACf,MAAM,CAAC,gBAAgB,EAAE,mBAAmB,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAA;IAC/D,MAAM,CAAC,UAAU,EAAE,aAAa,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAA;IACnD,MAAM,CAAC,WAAW,EAAE,cAAc,CAAC,GAAG,QAAQ,CAAgB,IAAI,CAAC,CAAA;IAEnE,mCAAmC;IACnC,MAAM,aAAa,GAAG,wBAAwB,EAAE,CAAA;IAChD,MAAM,gBAAgB,GAAG,aAAa,EAAE,QAAQ,IAAI,KAAK,CAAA;IACzD,MAAM,cAAc,GAAG,aAAa,EAAE,MAAM,IAAI,OAAO,CAAA;IAEvD,uBAAuB;IACvB,qDAAqD;IACrD,iEAAiE;IACjE,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,UAAU,EAAE,CAAC;YACf,2DAA2D;YAC3D,YAAY,CAAC,IAAI,CAAC,CAAA;YAClB,WAAW,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE;gBACpC,WAAW,CAAC,IAAI,CAAC,CAAA;gBACjB,YAAY,CAAC,KAAK,CAAC,CAAA;YACrB,CAAC,CAAC,CAAA;QACJ,CAAC;IACH,CAAC,EAAE,CAAC,UAAU,EAAE,WAAW,CAAC,CAAC,CAAA;IAE7B,gFAAgF;IAChF,MAAM,UAAU,GAAG,aAAa,CAAC,cAAc,CAAC,CAAA;IAChD,MAAM,UAAU,GAAG,CAAC,UAAkB,EAAE,EAAE,CACxC,UAAU,CAAC,UAAU,CAAC,UAAU,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAA;IAEtD,MAAM,cAAc,GAAG,CAAC,UAAkB,EAAE,EAAE,CAAC,UAAU,CAAC,cAAc,CAAC,UAAU,CAAC,CAAA;IAEpF,MAAM,cAAc,GAAG,CAAC,KAAsB,EAAE,EAAE;QAChD,MAAM,QAAQ,GAAG,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAA;QACtE,OAAO,IAAI,IAAI,CAAC,YAAY,CAAC,cAAc,EAAE;YAC3C,KAAK,EAAE,UAAU;YACjB,QAAQ,EAAE,gBAAgB;SAC3B,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAA;IACrB,CAAC,CAAA;IAED,gBAAgB;IAChB,MAAM,eAAe,GAAG,WAAW,CAAC,GAAG,EAAE;QACvC,IAAI,QAAQ,EAAE,CAAC;YACb,WAAW,CAAC,QAAQ,CAAC,IAAI,IAAI,EAAE,CAAC,CAAA;YAChC,YAAY,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAA;YAC5B,YAAY,CAAC,QAAQ,CAAC,KAAK,IAAI,EAAE,CAAC,CAAA;YAClC,cAAc,CAAC,QAAQ,CAAC,OAAO,IAAI,EAAE,CAAC,CAAA;YACtC,YAAY,CAAC,IAAI,CAAC,CAAA;YAClB,YAAY,CAAC,IAAI,CAAC,CAAA;QACpB,CAAC;IACH,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAA;IAEd,MAAM,gBAAgB,GAAG,WAAW,CAAC,GAAG,EAAE;QACxC,YAAY,CAAC,KAAK,CAAC,CAAA;QACnB,YAAY,CAAC,IAAI,CAAC,CAAA;IACpB,CAAC,EAAE,EAAE,CAAC,CAAA;IAEN,MAAM,cAAc,GAAG,WAAW,CAAC,KAAK,IAAI,EAAE;QAC5C,IAAI,CAAC,QAAQ;YAAE,OAAM;QAErB,WAAW,CAAC,IAAI,CAAC,CAAA;QACjB,YAAY,CAAC,IAAI,CAAC,CAAA;QAElB,MAAM,MAAM,GAAG,MAAM,cAAc,CAAC,QAAQ,CAAC,EAAE,EAAE;YAC/C,IAAI,EAAE,QAAQ,IAAI,SAAS;YAC3B,KAAK,EAAE,SAAS;YAChB,KAAK,EAAE,SAAS,CAAC,IAAI,EAAE,IAAI,IAAI;YAC/B,OAAO,EAAE,WAAW,IAAI,IAAI;SAC7B,CAAC,CAAA;QAEF,WAAW,CAAC,KAAK,CAAC,CAAA;QAElB,IAAI,MAAM,CAAC,OAAO,IAAI,MAAM,CAAC,IAAI,EAAE,CAAC;YAClC,WAAW,CAAC,CAAC,IAAI,EAAE,EAAE,CACnB,IAAI;gBACF,CAAC,CAAC;oBACE,GAAG,IAAI;oBACP,IAAI,EAAE,MAAM,CAAC,IAAK,CAAC,IAAI;oBACvB,KAAK,EAAE,MAAM,CAAC,IAAK,CAAC,KAAK;oBACzB,KAAK,EAAE,MAAM,CAAC,IAAK,CAAC,KAAK,IAAI,IAAI;oBACjC,OAAO,EAAE,MAAM,CAAC,IAAK,CAAC,OAAO,IAAI,IAAI;iBACtC;gBACH,CAAC,CAAC,IAAI,CACT,CAAA;YACD,YAAY,CAAC,KAAK,CAAC,CAAA;QACrB,CAAC;aAAM,CAAC;YACN,YAAY,CAAC,MAAM,CAAC,KAAK,IAAI,2BAA2B,CAAC,CAAA;QAC3D,CAAC;IACH,CAAC,EAAE,CAAC,QAAQ,EAAE,QAAQ,EAAE,SAAS,EAAE,SAAS,EAAE,WAAW,EAAE,cAAc,CAAC,CAAC,CAAA;IAE3E,kBAAkB;IAClB,MAAM,iBAAiB,GAAG,WAAW,CAAC,GAAG,EAAE;QACzC,cAAc,CAAC,IAAI,CAAC,CAAA;QACpB,mBAAmB,CAAC,IAAI,CAAC,CAAA;IAC3B,CAAC,EAAE,EAAE,CAAC,CAAA;IAEN,MAAM,mBAAmB,GAAG,WAAW,CAAC,KAAK,IAAI,EAAE;QACjD,IAAI,CAAC,QAAQ;YAAE,OAAM;QAErB,aAAa,CAAC,IAAI,CAAC,CAAA;QACnB,cAAc,CAAC,IAAI,CAAC,CAAA;QAEpB,MAAM,MAAM,GAAG,MAAM,cAAc,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAA;QAEhD,aAAa,CAAC,KAAK,CAAC,CAAA;QAEpB,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;YACnB,mBAAmB,CAAC,KAAK,CAAC,CAAA;YAC1B,QAAQ,EAAE,EAAE,CAAA;QACd,CAAC;aAAM,CAAC;YACN,cAAc,CAAC,MAAM,CAAC,KAAK,IAAI,8CAA8C,CAAC,CAAA;QAChF,CAAC;IACH,CAAC,EAAE,CAAC,QAAQ,EAAE,cAAc,EAAE,QAAQ,CAAC,CAAC,CAAA;IAExC,MAAM,kBAAkB,GAAG,WAAW,CAAC,GAAG,EAAE;QAC1C,IAAI,CAAC,UAAU,EAAE,CAAC;YAChB,mBAAmB,CAAC,KAAK,CAAC,CAAA;YAC1B,cAAc,CAAC,IAAI,CAAC,CAAA;QACtB,CAAC;IACH,CAAC,EAAE,CAAC,UAAU,CAAC,CAAC,CAAA;IAEhB,gBAAgB;IAChB,IAAI,SAAS,EAAE,CAAC;QACd,OAAO,CACL,eAAK,SAAS,EAAE,aAAa,SAAS,EAAE,aACtC,cAAK,SAAS,EAAC,+CAA+C,GAAG,EACjE,eAAK,SAAS,EAAC,2BAA2B,aACxC,cAAK,SAAS,EAAC,yBAAyB,YACtC,cAAK,SAAS,EAAC,gBAAgB,YAC7B,cAAK,SAAS,EAAC,WAAW,YACvB,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAC3B,cAAa,SAAS,EAAC,iDAAiD,IAA9D,CAAC,CAAgE,CAC5E,CAAC,GACE,GACF,GACF,EACN,cAAK,SAAS,EAAC,WAAW,YACxB,cAAK,SAAS,EAAC,gBAAgB,YAC7B,cAAK,SAAS,EAAC,WAAW,YACvB,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAC3B,cAAa,SAAS,EAAC,iDAAiD,IAA9D,CAAC,CAAgE,CAC5E,CAAC,GACE,GACF,GACF,IACF,IACF,CACP,CAAA;IACH,CAAC;IAED,kBAAkB;IAClB,IAAI,CAAC,QAAQ,EAAE,CAAC;QACd,OAAO,CACL,cAAK,SAAS,EAAE,cAAc,SAAS,EAAE,YACvC,KAAC,eAAe,IACd,SAAS,EAAC,OAAO,EACjB,IAAI,EAAE,KAAC,IAAI,KAAG,EACd,KAAK,EAAC,oBAAoB,EAC1B,WAAW,EAAC,2BAA2B,EACvC,IAAI,EAAC,OAAO,EACZ,MAAM,EACJ,MAAM,CAAC,CAAC,CAAC,CACP,iBACE,OAAO,EAAE,MAAM,EACf,SAAS,EAAC,4BAA4B,wBAG/B,CACV,CAAC,CAAC,CAAC,SAAS,GAEf,GACE,CACP,CAAA;IACH,CAAC;IAED,OAAO,CACL,eAAK,SAAS,EAAE,aAAa,SAAS,EAAE,aAGrC,MAAM,IAAI,CACT,KAAC,eAAe,IACd,MAAM,EAAE,MAAM,EACd,SAAS,EAAC,mBAAmB,EAC7B,OAAO,EAAC,WAAW,EACnB,KAAK,EAAE,QAAQ,CAAC,IAAI,IAAI,kBAAkB,EAC1C,QAAQ,EAAE,QAAQ,CAAC,KAAK,EACxB,KAAK,EAAE,KAAC,iBAAiB,IAAC,QAAQ,EAAE,CAAC,CAAC,QAAQ,CAAC,aAAa,GAAI,GAChE,CACH,EAED,eAAK,SAAS,EAAC,2BAA2B,aAExC,eAAK,SAAS,EAAC,yBAAyB,aAEtC,eAAK,SAAS,EAAC,4BAA4B,aACzC,eAAK,SAAS,EAAC,qDAAqD,aAClE,aAAI,SAAS,EAAC,kBAAkB,qCAA0B,EACzD,CAAC,SAAS,IAAI,CACb,kBACE,OAAO,EAAE,eAAe,EACxB,SAAS,EAAC,kDAAkD,aAE5D,KAAC,MAAM,IAAC,SAAS,EAAC,SAAS,GAAG,YAEvB,CACV,IACG,EACN,cAAK,SAAS,EAAC,KAAK,YACjB,SAAS,CAAC,CAAC,CAAC,CACX,eAAK,SAAS,EAAC,WAAW,aACxB,0BACE,gBAAO,SAAS,EAAC,aAAa,qBAEtB,EACR,gBACE,IAAI,EAAC,MAAM,EACX,KAAK,EAAE,QAAQ,EACf,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,WAAW,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAC5C,WAAW,EAAC,eAAe,EAC3B,SAAS,EAAC,oBAAoB,GAC9B,IACE,EACN,0BACE,gBAAO,SAAS,EAAC,aAAa,sBAEtB,EACR,gBACE,IAAI,EAAC,OAAO,EACZ,KAAK,EAAE,SAAS,EAChB,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,YAAY,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAC7C,WAAW,EAAC,sBAAsB,EAClC,SAAS,EAAC,oBAAoB,GAC9B,IACE,EACN,0BACE,gBAAO,SAAS,EAAC,aAAa,sBAEtB,EACR,gBACE,IAAI,EAAC,KAAK,EACV,KAAK,EAAE,SAAS,EAChB,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,YAAY,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAC7C,WAAW,EAAC,gBAAgB,EAC5B,SAAS,EAAC,oBAAoB,EAC9B,SAAS,EAAE,EAAE,GACb,IACE,EACN,0BACE,gBAAO,SAAS,EAAC,aAAa,sBAEtB,EACR,KAAC,WAAW,IACV,KAAK,EAAE,WAAW,EAClB,QAAQ,EAAE,cAAc,EACxB,OAAO,EAAE;gEACP,EAAE,KAAK,EAAE,EAAE,EAAE,KAAK,EAAE,UAAU,EAAE;gEAChC,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;6DACvD,EACD,SAAS,EAAC,QAAQ,GAClB,IACE,EACL,SAAS,IAAI,CACZ,YAAG,SAAS,EAAC,0BAA0B,YAAE,SAAS,GAAK,CACxD,EACD,eAAK,SAAS,EAAC,YAAY,aACzB,kBACE,OAAO,EAAE,cAAc,EACvB,QAAQ,EAAE,QAAQ,EAClB,SAAS,EAAC,6FAA6F,aAEvG,KAAC,KAAK,IAAC,SAAS,EAAC,SAAS,GAAG,EAC5B,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,IACvB,EACT,kBACE,OAAO,EAAE,gBAAgB,EACzB,QAAQ,EAAE,QAAQ,EAClB,SAAS,EAAC,+FAA+F,aAEzG,KAAC,CAAC,IAAC,SAAS,EAAC,SAAS,GAAG,cAElB,IACL,IACF,CACP,CAAC,CAAC,CAAC,CACF,eAAK,SAAS,EAAC,WAAW,aACxB,eAAK,SAAS,EAAC,yBAAyB,aACtC,KAAC,IAAI,IAAC,SAAS,EAAC,0BAA0B,GAAG,EAC7C,0BACE,YAAG,SAAS,EAAC,0BAA0B,sBAAU,EACjD,sBAAI,QAAQ,CAAC,KAAK,GAAK,IACnB,IACF,EACN,eAAK,SAAS,EAAC,yBAAyB,aACtC,KAAC,IAAI,IAAC,SAAS,EAAC,0BAA0B,GAAG,EAC7C,0BACE,YAAG,SAAS,EAAC,0BAA0B,qBAAS,EAChD,sBAAI,QAAQ,CAAC,IAAI,IAAI,cAAc,GAAK,IACpC,IACF,EACN,eAAK,SAAS,EAAC,yBAAyB,aACtC,KAAC,KAAK,IAAC,SAAS,EAAC,0BAA0B,GAAG,EAC9C,0BACE,YAAG,SAAS,EAAC,0BAA0B,sBAAU,EACjD,sBAAI,QAAQ,CAAC,KAAK,IAAI,cAAc,GAAK,IACrC,IACF,EACN,eAAK,SAAS,EAAC,yBAAyB,aACtC,KAAC,IAAI,IAAC,SAAS,EAAC,0BAA0B,GAAG,EAC7C,0BACE,YAAG,SAAS,EAAC,0BAA0B,sBAAU,EAChD,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,CAClB,eAAM,SAAS,EAAC,iCAAiC,YAC9C,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,QAAQ,CAAC,OAAO,CAAC,EAAE,IAAI,IAAI,eAAe,GAClE,CACR,CAAC,CAAC,CAAC,CACF,YAAG,SAAS,EAAC,kBAAkB,yBAAa,CAC7C,IACG,IACF,EACN,eAAK,SAAS,EAAC,yBAAyB,aACtC,KAAC,QAAQ,IAAC,SAAS,EAAC,0BAA0B,GAAG,EACjD,0BACE,YAAG,SAAS,EAAC,0BAA0B,uBAAW,EAClD,sBAAI,UAAU,CAAC,QAAQ,CAAC,SAAS,CAAC,GAAK,IACnC,IACF,EACL,QAAQ,CAAC,gBAAgB,IAAI,CAC5B,eAAK,SAAS,EAAC,yBAAyB,aACtC,KAAC,UAAU,IAAC,SAAS,EAAC,0BAA0B,GAAG,EACnD,0BACE,YAAG,SAAS,EAAC,0BAA0B,mCAAuB,EAC9D,YAAG,SAAS,EAAC,mBAAmB,YAC7B,QAAQ,CAAC,gBAAgB,GACxB,IACA,IACF,CACP,IACG,CACP,GACG,IACF,EAGN,eAAK,SAAS,EAAC,4BAA4B,aACzC,cAAK,SAAS,EAAC,mBAAmB,YAChC,aAAI,SAAS,EAAC,kBAAkB,8BAAmB,GAC/C,EACL,QAAQ,CAAC,MAAM,IAAI,QAAQ,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAC/C,cAAK,SAAS,EAAC,sBAAsB,YAClC,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAC9B,aAEE,IAAI,EAAE,iBAAiB,KAAK,CAAC,EAAE,EAAE,EACjC,SAAS,EAAC,wDAAwD,aAElE,eAAK,SAAS,EAAC,yBAAyB,aACtC,cAAK,SAAS,EAAC,2CAA2C,YACxD,KAAC,WAAW,IAAC,SAAS,EAAC,SAAS,GAAG,GAC/B,EACN,0BACE,aAAG,SAAS,EAAC,2BAA2B,wBAC9B,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,IACtC,EACJ,YAAG,SAAS,EAAC,0BAA0B,YACpC,cAAc,CAAC,KAAK,CAAC,SAAS,CAAC,GAC9B,IACA,IACF,EACN,eAAK,SAAS,EAAC,yBAAyB,aACtC,KAAC,gBAAgB,IAAC,MAAM,EAAE,KAAK,CAAC,MAAM,GAAI,EAC1C,eAAM,SAAS,EAAC,aAAa,YAC1B,cAAc,CAAC,KAAK,CAAC,KAAK,CAAC,GACvB,IACH,KAtBD,KAAK,CAAC,EAAE,CAuBX,CACL,CAAC,GACE,CACP,CAAC,CAAC,CAAC,CACF,KAAC,eAAe,IACd,SAAS,EAAC,OAAO,EACjB,IAAI,EAAE,KAAC,WAAW,KAAG,EACrB,KAAK,EAAC,eAAe,EACrB,WAAW,EAAC,+CAA+C,GAC3D,CACH,IACG,EAGN,KAAC,oBAAoB,IACnB,UAAU,EAAE,QAAQ,CAAC,EAAE,EACvB,SAAS,EAAE,QAAQ,CAAC,SAAS,IAAI,EAAE,EACnC,QAAQ,EAAE,qBAAqB,EAC/B,QAAQ,EAAE,qBAAqB,EAC/B,QAAQ,EAAE,qBAAqB,GAC/B,IACE,EAGN,eAAK,SAAS,EAAC,WAAW,aAExB,eAAK,SAAS,EAAC,gBAAgB,aAC7B,aAAI,SAAS,EAAC,uBAAuB,+BAAoB,EACzD,eAAK,SAAS,EAAC,WAAW,aACxB,eAAK,SAAS,EAAC,mCAAmC,aAChD,eAAK,SAAS,EAAC,0CAA0C,aACvD,KAAC,WAAW,IAAC,SAAS,EAAC,SAAS,GAAG,EACnC,eAAM,SAAS,EAAC,SAAS,6BAAoB,IACzC,EACN,eAAM,SAAS,EAAC,aAAa,YAC1B,QAAQ,CAAC,KAAK,EAAE,WAAW,IAAI,CAAC,GAC5B,IACH,EACN,eAAK,SAAS,EAAC,mCAAmC,aAChD,eAAK,SAAS,EAAC,0CAA0C,aACvD,KAAC,UAAU,IAAC,SAAS,EAAC,SAAS,GAAG,EAClC,eAAM,SAAS,EAAC,SAAS,4BAAmB,IACxC,EACN,eAAM,SAAS,EAAC,aAAa,YAC1B,cAAc,CAAC,QAAQ,CAAC,KAAK,EAAE,UAAU,IAAI,CAAC,CAAC,GAC3C,IACH,IACF,IACF,EAGN,eAAK,SAAS,EAAC,gBAAgB,aAC7B,aAAI,SAAS,EAAC,uBAAuB,wBAAa,EAClD,eAAK,SAAS,EAAC,WAAW,aACxB,kBACE,OAAO,EAAE,iBAAiB,EAC1B,SAAS,EAAC,sFAAsF,aAEhG,KAAC,MAAM,IAAC,SAAS,EAAC,SAAS,GAAG,uBAEvB,EACT,YAAG,SAAS,EAAC,0BAA0B,0FAEnC,IACA,IACF,IACF,IACF,EAGN,KAAC,mBAAmB,IAClB,MAAM,EAAE,gBAAgB,EACxB,KAAK,EAAC,iBAAiB,EACvB,QAAQ,EAAE,QAAQ,CAAC,IAAI,IAAI,QAAQ,CAAC,KAAK,EACzC,QAAQ,EAAC,UAAU,EACnB,UAAU,EAAE,UAAU,EACtB,KAAK,EAAE,WAAW,EAClB,SAAS,EAAE,mBAAmB,EAC9B,QAAQ,EAAE,kBAAkB,GAC5B,IACE,CACP,CAAA;AACH,CAAC"}
1
+ {"version":3,"file":"CustomerDetails.js","sourceRoot":"","sources":["../../../src/admin/components/CustomerDetails.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,9 @@
1
+ export interface DiscardChangesModalProps {
2
+ open: boolean;
3
+ /** Keep editing — dismiss the confirm, stay on the editor. */
4
+ onKeepEditing: () => void;
5
+ /** Throw the edits away and leave the editor. */
6
+ onDiscard: () => void;
7
+ }
8
+ export declare function DiscardChangesModal({ open, onKeepEditing, onDiscard, }: DiscardChangesModalProps): import("react/jsx-runtime").JSX.Element;
9
+ //# sourceMappingURL=DiscardChangesModal.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DiscardChangesModal.d.ts","sourceRoot":"","sources":["../../../src/admin/components/DiscardChangesModal.tsx"],"names":[],"mappings":"AAiBA,MAAM,WAAW,wBAAwB;IACvC,IAAI,EAAE,OAAO,CAAA;IACb,8DAA8D;IAC9D,aAAa,EAAE,MAAM,IAAI,CAAA;IACzB,iDAAiD;IACjD,SAAS,EAAE,MAAM,IAAI,CAAA;CACtB;AAED,wBAAgB,mBAAmB,CAAC,EAClC,IAAI,EACJ,aAAa,EACb,SAAS,GACV,EAAE,wBAAwB,2CA6B1B"}
@@ -0,0 +1,19 @@
1
+ 'use client';
2
+ import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
3
+ /**
4
+ * @rovela/sdk/admin/components/DiscardChangesModal
5
+ *
6
+ * The one "leave without saving?" confirm for in-page editors whose exit
7
+ * affordance is a page BUTTON the AdminSaveBar's nav-guard can't intercept
8
+ * (the bar only shakes on sidebar/top-bar links). Used by the managers that
9
+ * host a document editor inline on the page (discounts, locations, emails):
10
+ * Back-while-dirty opens this instead of silently dropping the edits.
11
+ *
12
+ * Built on AdminModal — never a native confirm().
13
+ */
14
+ import { AlertTriangle } from 'lucide-react';
15
+ import { AdminModal } from './AdminModal';
16
+ export function DiscardChangesModal({ open, onKeepEditing, onDiscard, }) {
17
+ return (_jsx(AdminModal, { open: open, onClose: onKeepEditing, title: "Discard unsaved changes?", description: "Your edits haven't been saved and will be lost.", icon: _jsx(AlertTriangle, { className: "h-5 w-5" }), iconTone: "warning", footer: _jsxs(_Fragment, { children: [_jsx("button", { type: "button", onClick: onKeepEditing, className: "admin-btn admin-btn-secondary admin-btn-sm", children: "Keep editing" }), _jsx("button", { type: "button", onClick: onDiscard, className: "admin-btn admin-btn-destructive admin-btn-sm", children: "Discard changes" })] }) }));
18
+ }
19
+ //# sourceMappingURL=DiscardChangesModal.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DiscardChangesModal.js","sourceRoot":"","sources":["../../../src/admin/components/DiscardChangesModal.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAA;;AAEZ;;;;;;;;;;GAUG;AAEH,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAA;AAC5C,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAA;AAUzC,MAAM,UAAU,mBAAmB,CAAC,EAClC,IAAI,EACJ,aAAa,EACb,SAAS,GACgB;IACzB,OAAO,CACL,KAAC,UAAU,IACT,IAAI,EAAE,IAAI,EACV,OAAO,EAAE,aAAa,EACtB,KAAK,EAAC,0BAA0B,EAChC,WAAW,EAAC,iDAAiD,EAC7D,IAAI,EAAE,KAAC,aAAa,IAAC,SAAS,EAAC,SAAS,GAAG,EAC3C,QAAQ,EAAC,SAAS,EAClB,MAAM,EACJ,8BACE,iBACE,IAAI,EAAC,QAAQ,EACb,OAAO,EAAE,aAAa,EACtB,SAAS,EAAC,4CAA4C,6BAG/C,EACT,iBACE,IAAI,EAAC,QAAQ,EACb,OAAO,EAAE,SAAS,EAClB,SAAS,EAAC,8CAA8C,gCAGjD,IACR,GAEL,CACH,CAAA;AACH,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"DiscountsManager.d.ts","sourceRoot":"","sources":["../../../src/admin/components/DiscountsManager.tsx"],"names":[],"mappings":"AAkCA,MAAM,WAAW,qBAAqB;IACpC,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB;AAkcD,wBAAgB,gBAAgB,CAAC,EAAE,SAAc,EAAE,EAAE,qBAAqB,2CAooBzE"}
1
+ {"version":3,"file":"DiscountsManager.d.ts","sourceRoot":"","sources":["../../../src/admin/components/DiscountsManager.tsx"],"names":[],"mappings":"AAqCA,MAAM,WAAW,qBAAqB;IACpC,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB;AAkcD,wBAAgB,gBAAgB,CAAC,EAAE,SAAc,EAAE,EAAE,qBAAqB,2CAqqBzE"}