@rovela-ai/sdk 0.14.1 → 0.15.1

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 (115) hide show
  1. package/dist/admin/api/emails.d.ts +2 -1
  2. package/dist/admin/api/emails.d.ts.map +1 -1
  3. package/dist/admin/api/emails.js +215 -34
  4. package/dist/admin/api/emails.js.map +1 -1
  5. package/dist/admin/components/AdminNav.d.ts.map +1 -1
  6. package/dist/admin/components/AdminNav.js +2 -1
  7. package/dist/admin/components/AdminNav.js.map +1 -1
  8. package/dist/admin/components/EmailsManager.d.ts.map +1 -1
  9. package/dist/admin/components/EmailsManager.js +192 -60
  10. package/dist/admin/components/EmailsManager.js.map +1 -1
  11. package/dist/admin/components/UsersTable.d.ts.map +1 -1
  12. package/dist/admin/components/UsersTable.js +15 -9
  13. package/dist/admin/components/UsersTable.js.map +1 -1
  14. package/dist/admin/components/emails/BlocksEditor.d.ts +19 -0
  15. package/dist/admin/components/emails/BlocksEditor.d.ts.map +1 -0
  16. package/dist/admin/components/emails/BlocksEditor.js +117 -0
  17. package/dist/admin/components/emails/BlocksEditor.js.map +1 -0
  18. package/dist/admin/components/emails/CustomerPicker.d.ts +9 -0
  19. package/dist/admin/components/emails/CustomerPicker.d.ts.map +1 -0
  20. package/dist/admin/components/emails/CustomerPicker.js +59 -0
  21. package/dist/admin/components/emails/CustomerPicker.js.map +1 -0
  22. package/dist/admin/components/emails/EmailPreviewPane.d.ts +14 -0
  23. package/dist/admin/components/emails/EmailPreviewPane.d.ts.map +1 -0
  24. package/dist/admin/components/emails/EmailPreviewPane.js +63 -0
  25. package/dist/admin/components/emails/EmailPreviewPane.js.map +1 -0
  26. package/dist/admin/components/emails/EmailThemePanel.d.ts +27 -0
  27. package/dist/admin/components/emails/EmailThemePanel.d.ts.map +1 -0
  28. package/dist/admin/components/emails/EmailThemePanel.js +25 -0
  29. package/dist/admin/components/emails/EmailThemePanel.js.map +1 -0
  30. package/dist/admin/components/emails/FontPicker.d.ts +11 -0
  31. package/dist/admin/components/emails/FontPicker.d.ts.map +1 -0
  32. package/dist/admin/components/emails/FontPicker.js +55 -0
  33. package/dist/admin/components/emails/FontPicker.js.map +1 -0
  34. package/dist/admin/components/emails/TextBlockEditor.d.ts +7 -0
  35. package/dist/admin/components/emails/TextBlockEditor.d.ts.map +1 -0
  36. package/dist/admin/components/emails/TextBlockEditor.js +87 -0
  37. package/dist/admin/components/emails/TextBlockEditor.js.map +1 -0
  38. package/dist/core/db/queries.d.ts +38 -29
  39. package/dist/core/db/queries.d.ts.map +1 -1
  40. package/dist/core/db/queries.js +20 -0
  41. package/dist/core/db/queries.js.map +1 -1
  42. package/dist/core/db/schema.d.ts +35 -1
  43. package/dist/core/db/schema.d.ts.map +1 -1
  44. package/dist/core/db/schema.js +4 -0
  45. package/dist/core/db/schema.js.map +1 -1
  46. package/dist/emails/blocks.d.ts +104 -0
  47. package/dist/emails/blocks.d.ts.map +1 -0
  48. package/dist/emails/blocks.js +270 -0
  49. package/dist/emails/blocks.js.map +1 -0
  50. package/dist/emails/google-fonts.d.ts +13 -0
  51. package/dist/emails/google-fonts.d.ts.map +1 -0
  52. package/dist/emails/google-fonts.js +1943 -0
  53. package/dist/emails/google-fonts.js.map +1 -0
  54. package/dist/emails/i18n.d.ts.map +1 -1
  55. package/dist/emails/i18n.js +15 -0
  56. package/dist/emails/i18n.js.map +1 -1
  57. package/dist/emails/overrides.d.ts +6 -0
  58. package/dist/emails/overrides.d.ts.map +1 -1
  59. package/dist/emails/overrides.js +10 -2
  60. package/dist/emails/overrides.js.map +1 -1
  61. package/dist/emails/registry.d.ts +49 -5
  62. package/dist/emails/registry.d.ts.map +1 -1
  63. package/dist/emails/registry.js +584 -122
  64. package/dist/emails/registry.js.map +1 -1
  65. package/dist/emails/send/auth.d.ts.map +1 -1
  66. package/dist/emails/send/auth.js +40 -25
  67. package/dist/emails/send/auth.js.map +1 -1
  68. package/dist/emails/send/orders.d.ts.map +1 -1
  69. package/dist/emails/send/orders.js +85 -55
  70. package/dist/emails/send/orders.js.map +1 -1
  71. package/dist/emails/templates/base.d.ts +7 -0
  72. package/dist/emails/templates/base.d.ts.map +1 -1
  73. package/dist/emails/templates/base.js +34 -12
  74. package/dist/emails/templates/base.js.map +1 -1
  75. package/dist/emails/templates/email-verification.d.ts +4 -0
  76. package/dist/emails/templates/email-verification.d.ts.map +1 -1
  77. package/dist/emails/templates/email-verification.js +10 -2
  78. package/dist/emails/templates/email-verification.js.map +1 -1
  79. package/dist/emails/templates/order-cancelled.d.ts +4 -0
  80. package/dist/emails/templates/order-cancelled.d.ts.map +1 -1
  81. package/dist/emails/templates/order-cancelled.js +18 -10
  82. package/dist/emails/templates/order-cancelled.js.map +1 -1
  83. package/dist/emails/templates/order-confirmation.d.ts +18 -0
  84. package/dist/emails/templates/order-confirmation.d.ts.map +1 -1
  85. package/dist/emails/templates/order-confirmation.js +43 -21
  86. package/dist/emails/templates/order-confirmation.js.map +1 -1
  87. package/dist/emails/templates/order-delivered.d.ts +6 -0
  88. package/dist/emails/templates/order-delivered.d.ts.map +1 -1
  89. package/dist/emails/templates/order-delivered.js +22 -16
  90. package/dist/emails/templates/order-delivered.js.map +1 -1
  91. package/dist/emails/templates/order-ready-for-pickup.d.ts +10 -0
  92. package/dist/emails/templates/order-ready-for-pickup.d.ts.map +1 -1
  93. package/dist/emails/templates/order-ready-for-pickup.js +38 -22
  94. package/dist/emails/templates/order-ready-for-pickup.js.map +1 -1
  95. package/dist/emails/templates/order-shipped.d.ts +6 -0
  96. package/dist/emails/templates/order-shipped.d.ts.map +1 -1
  97. package/dist/emails/templates/order-shipped.js +17 -9
  98. package/dist/emails/templates/order-shipped.js.map +1 -1
  99. package/dist/emails/templates/password-reset.d.ts +4 -0
  100. package/dist/emails/templates/password-reset.d.ts.map +1 -1
  101. package/dist/emails/templates/password-reset.js +10 -2
  102. package/dist/emails/templates/password-reset.js.map +1 -1
  103. package/dist/emails/templates/refund-processed.d.ts +6 -0
  104. package/dist/emails/templates/refund-processed.d.ts.map +1 -1
  105. package/dist/emails/templates/refund-processed.js +17 -7
  106. package/dist/emails/templates/refund-processed.js.map +1 -1
  107. package/dist/emails/templates/welcome.d.ts +2 -0
  108. package/dist/emails/templates/welcome.d.ts.map +1 -1
  109. package/dist/emails/templates/welcome.js +8 -4
  110. package/dist/emails/templates/welcome.js.map +1 -1
  111. package/dist/emails/theme.d.ts +35 -12
  112. package/dist/emails/theme.d.ts.map +1 -1
  113. package/dist/emails/theme.js +131 -42
  114. package/dist/emails/theme.js.map +1 -1
  115. package/package.json +7 -1
@@ -1,35 +1,48 @@
1
1
  'use client';
2
- import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
3
3
  /**
4
4
  * @rovela/sdk/admin/components/EmailsManager
5
5
  *
6
6
  * The Emails module admin surface (Phase D), mounted at /admin/emails.
7
7
  *
8
- * Three views in one component:
9
- * - LIST: every transactional email the store sends, grouped by category,
10
- * with its trigger sentence and Customized / Off state.
11
- * - EMAIL: per-email editor (subject + intro + outro, per enabled language
12
- * on multilingual stores, on/off where safe) with a live HTML preview
13
- * (desktop/mobile width, language toggle) and a Send-test button.
14
- * - THEME: the shared brand theme — one edit restyles every email at once.
15
- * Defaults derive from the store's brand; Reset returns to that.
8
+ * Views:
9
+ * - LIST: every transactional email (grouped Orders / Account) + the
10
+ * merchant's own emails ("Your emails"), with Customized / Off state and
11
+ * a Create email action.
12
+ * - EMAIL: per-email editor subject with {{variable}} chips, and EITHER
13
+ * the standard layout (with intro/outro notes) OR a full block editor
14
+ * ("Customize layout"): drag-to-reorder headings, text, buttons, images
15
+ * and this email's dynamic data blocks. ONE always-visible Language
16
+ * control drives BOTH the content being edited and the preview render —
17
+ * a single mental model that scales to any number of store languages.
18
+ * Send test (destination stated up front); custom emails can also be
19
+ * sent to a customer (searchable picker) and deleted.
20
+ * - THEME: the shared brand theme (colors incl. brand swatches, heading +
21
+ * body fonts across the full Google catalog, corner shapes, logo,
22
+ * footer). One edit restyles every email at once.
16
23
  *
17
- * Previews render server-side through the REAL templates with sample data
18
- * (POST /api/admin/emails/preview) so what the merchant sees is what ships.
24
+ * Previews render server-side through the REAL pipeline with sample data
25
+ * (POST /api/admin/emails/preview) so what the merchant sees is what ships,
26
+ * displayed in an inbox-style crossfading preview pane.
19
27
  */
20
28
  import { useCallback, useEffect, useMemo, useRef, useState } from 'react';
21
- import { Mail, Palette, ChevronRight, ChevronLeft, Send, Monitor, Smartphone, RotateCcw, Check, } from 'lucide-react';
29
+ import { Mail, Palette, ChevronRight, ChevronLeft, Send, Check, Plus, Trash2, LayoutTemplate, RotateCcw, PenLine, Globe, } from 'lucide-react';
30
+ import { LOCALE_LABELS } from '../../core/i18n/types';
31
+ import { DeleteConfirmDialog } from './DeleteConfirmDialog';
32
+ import { EmailPreviewPane } from './emails/EmailPreviewPane';
33
+ import { EmailThemePanel } from './emails/EmailThemePanel';
34
+ import { BlocksEditor } from './emails/BlocksEditor';
35
+ import { CustomerPicker } from './emails/CustomerPicker';
22
36
  const EMPTY_DRAFT = { subject: '', intro: '', outro: '' };
23
37
  const DEFAULT_ROW = '_default';
38
+ const CUSTOM_PREFIX = 'custom_';
24
39
  const CATEGORY_LABELS = {
25
40
  orders: 'Orders',
26
41
  account: 'Account',
27
42
  };
28
- const RADIUS_OPTIONS = [
29
- { value: 'sm', label: 'Subtle (6px)' },
30
- { value: 'md', label: 'Rounded (12px)' },
31
- { value: 'full', label: 'Pill' },
32
- ];
43
+ function cloneBlocks(blocks) {
44
+ return JSON.parse(JSON.stringify(blocks));
45
+ }
33
46
  export function EmailsManager({ className = '' }) {
34
47
  const [data, setData] = useState(null);
35
48
  const [isLoading, setIsLoading] = useState(true);
@@ -37,16 +50,25 @@ export function EmailsManager({ className = '' }) {
37
50
  const [view, setView] = useState('list'); // string = email key
38
51
  const [activeLocale, setActiveLocale] = useState(DEFAULT_ROW);
39
52
  const [drafts, setDrafts] = useState({});
53
+ const [blockDrafts, setBlockDrafts] = useState({});
40
54
  const [enabledDraft, setEnabledDraft] = useState(true);
55
+ const [nameDraft, setNameDraft] = useState('');
41
56
  const [themeDraft, setThemeDraft] = useState({});
42
57
  const [isSaving, setIsSaving] = useState(false);
43
58
  const [saveFlash, setSaveFlash] = useState(null);
44
59
  const [actionError, setActionError] = useState(null);
45
60
  const [isSendingTest, setIsSendingTest] = useState(false);
61
+ const [createOpen, setCreateOpen] = useState(false);
62
+ const [createName, setCreateName] = useState('');
63
+ const [isCreating, setIsCreating] = useState(false);
64
+ const [sendToOpen, setSendToOpen] = useState(false);
65
+ const [sendToEmail, setSendToEmail] = useState('');
66
+ const [sendToName, setSendToName] = useState('');
67
+ const [confirmDelete, setConfirmDelete] = useState(false);
68
+ const [resetConfirmOpen, setResetConfirmOpen] = useState(false);
46
69
  const [previewHtml, setPreviewHtml] = useState('');
47
70
  const [previewSubject, setPreviewSubject] = useState('');
48
71
  const [previewWidth, setPreviewWidth] = useState('desktop');
49
- const [previewLocale, setPreviewLocale] = useState(null);
50
72
  const [isPreviewLoading, setIsPreviewLoading] = useState(false);
51
73
  const previewAbort = useRef(null);
52
74
  // ── Load module state ──────────────────────────────────────────────────────
@@ -60,9 +82,11 @@ export function EmailsManager({ className = '' }) {
60
82
  const json = (await res.json());
61
83
  setData(json);
62
84
  setThemeDraft(json.theme.stored);
85
+ return json;
63
86
  }
64
87
  catch {
65
88
  setLoadError('Could not load the emails module. Refresh to retry.');
89
+ return null;
66
90
  }
67
91
  finally {
68
92
  setIsLoading(false);
@@ -72,7 +96,10 @@ export function EmailsManager({ className = '' }) {
72
96
  useEffect(() => {
73
97
  load();
74
98
  }, [load]);
75
- const activeEntry = useMemo(() => (data && view !== 'list' && view !== 'theme' ? data.registry.find((e) => e.key === view) ?? null : null), [data, view]);
99
+ const isCustomKey = view.startsWith(CUSTOM_PREFIX);
100
+ const activeEntry = useMemo(() => (data && view !== 'list' && view !== 'theme' && !isCustomKey ? (data.registry.find((e) => e.key === view) ?? null) : null), [data, view, isCustomKey]);
101
+ const activeCustom = useMemo(() => (data && isCustomKey ? (data.customs.find((c) => c.key === view) ?? null) : null), [data, view, isCustomKey]);
102
+ const activeKey = activeEntry?.key ?? activeCustom?.key ?? null;
76
103
  const isMultilingual = (data?.enabledLocales.length ?? 0) > 1;
77
104
  /** Locale row keys the editor exposes: '_default' + each non-default enabled locale. */
78
105
  const localeRows = useMemo(() => {
@@ -80,34 +107,43 @@ export function EmailsManager({ className = '' }) {
80
107
  return [DEFAULT_ROW];
81
108
  return [DEFAULT_ROW, ...data.enabledLocales.filter((l) => l !== data.defaultLocale)];
82
109
  }, [data]);
110
+ const localeName = useCallback((locale) => LOCALE_LABELS[locale] ?? locale.toUpperCase(), []);
83
111
  const localeRowLabel = useCallback((row) => {
84
112
  if (!data)
85
113
  return row;
86
- if (row === DEFAULT_ROW) {
87
- return isMultilingual ? `${data.defaultLocale.toUpperCase()} (default)` : 'Content';
88
- }
89
- return row.toUpperCase();
90
- }, [data, isMultilingual]);
114
+ const locale = row === DEFAULT_ROW ? data.defaultLocale : row;
115
+ return row === DEFAULT_ROW ? `${localeName(locale)} (default)` : localeName(locale);
116
+ }, [data, localeName]);
117
+ /** The concrete language the merchant is working on right now. */
118
+ const editingLocale = data ? (activeLocale === DEFAULT_ROW ? data.defaultLocale : activeLocale) : 'en';
91
119
  // ── Open an email: hydrate drafts from saved rows ──────────────────────────
92
- const openEmail = useCallback((key) => {
93
- if (!data)
120
+ const openEmail = useCallback((key, fresh) => {
121
+ const state = fresh ?? data;
122
+ if (!state)
94
123
  return;
95
- const rows = data.overrides.filter((o) => o.emailKey === key);
96
- const next = {};
97
- for (const rowKey of [DEFAULT_ROW, ...data.enabledLocales]) {
124
+ const rows = state.overrides.filter((o) => o.emailKey === key);
125
+ const nextDrafts = {};
126
+ const nextBlocks = {};
127
+ for (const rowKey of [DEFAULT_ROW, ...state.enabledLocales]) {
98
128
  const row = rows.find((r) => r.locale === rowKey);
99
- next[rowKey] = {
129
+ nextDrafts[rowKey] = {
100
130
  subject: row?.subject ?? '',
101
131
  intro: row?.intro ?? '',
102
132
  outro: row?.outro ?? '',
103
133
  };
134
+ nextBlocks[rowKey] = Array.isArray(row?.bodyBlocks) && row.bodyBlocks.length > 0 ? row.bodyBlocks : null;
104
135
  }
105
- setDrafts(next);
136
+ setDrafts(nextDrafts);
137
+ setBlockDrafts(nextBlocks);
106
138
  setEnabledDraft(rows.find((r) => r.locale === DEFAULT_ROW)?.enabled ?? true);
139
+ setNameDraft(rows.find((r) => r.locale === DEFAULT_ROW)?.name ?? '');
107
140
  setActiveLocale(DEFAULT_ROW);
108
- setPreviewLocale(null);
109
141
  setActionError(null);
110
142
  setSaveFlash(null);
143
+ setSendToOpen(false);
144
+ setConfirmDelete(false);
145
+ setPreviewHtml('');
146
+ setPreviewSubject('');
111
147
  setView(key);
112
148
  }, [data]);
113
149
  // ── Preview (debounced; draft-aware) ───────────────────────────────────────
@@ -124,6 +160,7 @@ export function EmailsManager({ className = '' }) {
124
160
  key: opts.key,
125
161
  locale: opts.locale ?? null,
126
162
  draft: opts.draft ?? null,
163
+ blocks: opts.blocks,
127
164
  draftTheme: opts.draftTheme ?? null,
128
165
  }),
129
166
  signal: controller.signal,
@@ -142,20 +179,24 @@ export function EmailsManager({ className = '' }) {
142
179
  setIsPreviewLoading(false);
143
180
  }
144
181
  }, []);
145
- // Email view: refresh on draft/locale changes (debounced).
182
+ // Email view: refresh on draft/block/language changes (debounced). The
183
+ // ONE language control drives both the edited row and the render locale.
146
184
  useEffect(() => {
147
- if (!activeEntry)
185
+ if (!activeKey)
148
186
  return;
149
- const draft = drafts[previewLocale ?? activeLocale] ?? drafts[DEFAULT_ROW] ?? EMPTY_DRAFT;
187
+ const draft = drafts[activeLocale] ?? drafts[DEFAULT_ROW] ?? EMPTY_DRAFT;
188
+ const blocks = blockDrafts[activeLocale] ?? blockDrafts[DEFAULT_ROW] ?? null;
189
+ const locale = activeLocale === DEFAULT_ROW ? null : activeLocale;
150
190
  const handle = window.setTimeout(() => {
151
191
  refreshPreview({
152
- key: activeEntry.key,
192
+ key: activeKey,
153
193
  draft,
154
- locale: previewLocale,
194
+ blocks,
195
+ locale,
155
196
  });
156
- }, 500);
197
+ }, 450);
157
198
  return () => window.clearTimeout(handle);
158
- }, [activeEntry, drafts, activeLocale, previewLocale, refreshPreview]);
199
+ }, [activeKey, drafts, blockDrafts, activeLocale, refreshPreview]);
159
200
  // Theme view: refresh against a representative email (order confirmation).
160
201
  useEffect(() => {
161
202
  if (view !== 'theme' || !data)
@@ -167,23 +208,26 @@ export function EmailsManager({ className = '' }) {
167
208
  }, [view, themeDraft, data, refreshPreview]);
168
209
  // ── Saves ──────────────────────────────────────────────────────────────────
169
210
  async function saveOverride() {
170
- if (!activeEntry)
211
+ if (!activeKey)
171
212
  return;
172
213
  setIsSaving(true);
173
214
  setActionError(null);
174
215
  try {
175
216
  const draft = drafts[activeLocale] ?? EMPTY_DRAFT;
217
+ const blocks = blockDrafts[activeLocale] ?? null;
176
218
  const res = await fetch('/api/admin/emails', {
177
219
  method: 'PUT',
178
220
  headers: { 'Content-Type': 'application/json' },
179
221
  body: JSON.stringify({
180
222
  action: 'override',
181
- emailKey: activeEntry.key,
223
+ emailKey: activeKey,
182
224
  locale: activeLocale,
183
225
  subject: draft.subject,
184
226
  intro: draft.intro,
185
227
  outro: draft.outro,
228
+ blocks,
186
229
  enabled: enabledDraft,
230
+ ...(isCustomKey ? { name: nameDraft } : {}),
187
231
  }),
188
232
  });
189
233
  if (!res.ok)
@@ -228,8 +272,8 @@ export function EmailsManager({ className = '' }) {
228
272
  setIsSaving(false);
229
273
  }
230
274
  }
231
- async function sendTest() {
232
- if (!activeEntry)
275
+ async function sendTest(sendTo) {
276
+ if (!activeKey)
233
277
  return;
234
278
  setIsSendingTest(true);
235
279
  setActionError(null);
@@ -237,27 +281,90 @@ export function EmailsManager({ className = '' }) {
237
281
  const res = await fetch('/api/admin/emails/test', {
238
282
  method: 'POST',
239
283
  headers: { 'Content-Type': 'application/json' },
240
- body: JSON.stringify({ key: activeEntry.key, locale: previewLocale }),
284
+ body: JSON.stringify({
285
+ key: activeKey,
286
+ locale: activeLocale === DEFAULT_ROW ? null : activeLocale,
287
+ sendTo: sendTo ?? null,
288
+ }),
241
289
  });
242
290
  const json = await res.json().catch(() => null);
243
291
  if (!res.ok)
244
292
  throw new Error(json?.error);
245
- setSaveFlash(`Test sent to ${json?.to ?? 'your address'}`);
293
+ setSaveFlash(`Sent to ${json?.to ?? 'your address'}`);
246
294
  window.setTimeout(() => setSaveFlash(null), 3500);
295
+ if (sendTo) {
296
+ setSendToOpen(false);
297
+ setSendToEmail('');
298
+ setSendToName('');
299
+ }
247
300
  }
248
- catch {
249
- setActionError('Could not send the test email.');
301
+ catch (err) {
302
+ setActionError(err instanceof Error && err.message ? err.message : 'Could not send the email.');
250
303
  }
251
304
  finally {
252
305
  setIsSendingTest(false);
253
306
  }
254
307
  }
308
+ async function createCustomEmail() {
309
+ const name = createName.trim();
310
+ if (!name)
311
+ return;
312
+ setIsCreating(true);
313
+ setActionError(null);
314
+ try {
315
+ const res = await fetch('/api/admin/emails', {
316
+ method: 'PUT',
317
+ headers: { 'Content-Type': 'application/json' },
318
+ body: JSON.stringify({ action: 'create-custom', name }),
319
+ });
320
+ const json = await res.json().catch(() => null);
321
+ if (!res.ok || !json?.key)
322
+ throw new Error();
323
+ setCreateOpen(false);
324
+ setCreateName('');
325
+ const fresh = await load();
326
+ if (fresh)
327
+ openEmail(json.key, fresh);
328
+ }
329
+ catch {
330
+ setActionError('Could not create the email. Please try again.');
331
+ }
332
+ finally {
333
+ setIsCreating(false);
334
+ }
335
+ }
336
+ async function deleteCustomEmail() {
337
+ if (!activeKey || !isCustomKey)
338
+ return;
339
+ setIsSaving(true);
340
+ setActionError(null);
341
+ try {
342
+ const res = await fetch('/api/admin/emails', {
343
+ method: 'PUT',
344
+ headers: { 'Content-Type': 'application/json' },
345
+ body: JSON.stringify({ action: 'delete-custom', emailKey: activeKey }),
346
+ });
347
+ if (!res.ok)
348
+ throw new Error();
349
+ setView('list');
350
+ await load();
351
+ }
352
+ catch {
353
+ setActionError('Could not delete the email. Please try again.');
354
+ setIsSaving(false);
355
+ }
356
+ finally {
357
+ setIsSaving(false);
358
+ setConfirmDelete(false);
359
+ }
360
+ }
255
361
  // ── Derived list state ─────────────────────────────────────────────────────
256
362
  const customizedKeys = useMemo(() => {
257
363
  const set = new Set();
258
364
  for (const o of data?.overrides ?? []) {
259
- if (o.subject || o.intro || o.outro)
365
+ if (o.subject || o.intro || o.outro || (Array.isArray(o.bodyBlocks) && o.bodyBlocks.length > 0)) {
260
366
  set.add(o.emailKey);
367
+ }
261
368
  }
262
369
  return set;
263
370
  }, [data]);
@@ -270,37 +377,62 @@ export function EmailsManager({ className = '' }) {
270
377
  return set;
271
378
  }, [data]);
272
379
  // ── Render ─────────────────────────────────────────────────────────────────
273
- if (isLoading) {
380
+ if (isLoading && !data) {
274
381
  return (_jsx("div", { className: `admin-card ${className}`, children: _jsx("div", { className: "admin-card-body", children: _jsx("div", { className: "space-y-3 py-4", children: Array.from({ length: 5 }).map((_, i) => (_jsx("div", { className: "h-14 animate-pulse rounded-lg bg-[hsl(var(--admin-muted))]" }, i))) }) }) }));
275
382
  }
276
383
  if (loadError || !data) {
277
384
  return (_jsx("div", { className: `admin-card ${className}`, children: _jsx("div", { className: "admin-card-body", children: _jsx("div", { className: "admin-alert-inline admin-alert-inline-error", children: loadError ?? 'Failed to load.' }) }) }));
278
385
  }
279
- const themeEffective = { ...data.theme.derived, ...themeDraft };
280
- const previewPane = (_jsxs("div", { className: "min-w-0 flex-1", children: [_jsxs("div", { className: "mb-2 flex items-center justify-between gap-2", children: [_jsxs("p", { className: "text-xs font-semibold uppercase tracking-wide text-[hsl(var(--admin-foreground-muted))]", children: ["Preview", isPreviewLoading && _jsx("span", { className: "ml-2 normal-case font-normal", children: "updating\u2026" })] }), _jsxs("div", { className: "flex items-center gap-1.5", children: [isMultilingual && view !== 'theme' && (_jsx("select", { className: "admin-input h-8 w-auto py-0 text-xs", value: previewLocale ?? data.defaultLocale, onChange: (e) => setPreviewLocale(e.target.value === data.defaultLocale ? null : e.target.value), "aria-label": "Preview language", children: data.enabledLocales.map((l) => (_jsx("option", { value: l, children: l.toUpperCase() }, l))) })), _jsx("button", { type: "button", onClick: () => setPreviewWidth('desktop'), className: `inline-flex h-8 w-8 items-center justify-center rounded-md border border-[hsl(var(--admin-border))] ${previewWidth === 'desktop' ? 'bg-[hsl(var(--admin-muted))]' : ''}`, "aria-label": "Desktop width", children: _jsx(Monitor, { className: "h-4 w-4" }) }), _jsx("button", { type: "button", onClick: () => setPreviewWidth('mobile'), className: `inline-flex h-8 w-8 items-center justify-center rounded-md border border-[hsl(var(--admin-border))] ${previewWidth === 'mobile' ? 'bg-[hsl(var(--admin-muted))]' : ''}`, "aria-label": "Mobile width", children: _jsx(Smartphone, { className: "h-4 w-4" }) })] })] }), previewSubject && (_jsxs("p", { className: "mb-2 truncate rounded-md border border-[hsl(var(--admin-border))] bg-[hsl(var(--admin-muted))] px-3 py-2 text-sm", children: [_jsx("span", { className: "font-semibold", children: "Subject:" }), " ", previewSubject] })), _jsx("div", { className: "overflow-hidden rounded-lg border border-[hsl(var(--admin-border))] bg-[hsl(var(--admin-muted))]", children: _jsx("div", { className: "mx-auto transition-all", style: { maxWidth: previewWidth === 'mobile' ? 390 : 720 }, children: _jsx("iframe", { title: "Email preview", srcDoc: previewHtml || '<p style="font-family:sans-serif;color:#888;padding:24px;text-align:center">Loading preview…</p>', sandbox: "", className: "h-[620px] w-full border-0 bg-transparent" }) }) })] }));
386
+ const fromName = data.sender.storeName ?? 'Your store';
387
+ const previewPane = (_jsx(EmailPreviewPane, { subject: previewSubject, html: previewHtml, isLoading: isPreviewLoading, width: previewWidth, onWidthChange: setPreviewWidth, fromName: fromName, fromEmail: data.sender.fromEmail }));
281
388
  // ── THEME VIEW ─────────────────────────────────────────────────────────────
282
389
  if (view === 'theme') {
283
- return (_jsxs("div", { className: `admin-card ${className}`, children: [_jsx("div", { className: "admin-card-header", children: _jsxs("div", { className: "flex items-center gap-2", children: [_jsxs("button", { type: "button", onClick: () => setView('list'), className: "admin-action-link inline-flex items-center gap-1 text-sm", children: [_jsx(ChevronLeft, { className: "h-4 w-4" }), " Emails"] }), _jsx("span", { className: "text-[hsl(var(--admin-foreground-muted))]", children: "/" }), _jsxs("h2", { className: "inline-flex items-center gap-2 text-base font-semibold", children: [_jsx(Palette, { className: "h-4 w-4 text-[hsl(var(--admin-primary))]" }), " Email theme"] })] }) }), _jsxs("div", { className: "admin-card-body", children: [_jsx("p", { className: "mb-5 max-w-2xl text-sm text-[hsl(var(--admin-foreground-muted))]", children: "One shared theme styles every email your store sends. It starts from your brand (logo, primary color, font) \u2014 adjust anything below and every email updates at once." }), actionError && (_jsx("div", { className: "admin-alert-inline admin-alert-inline-error mb-4", children: actionError })), _jsxs("div", { className: "flex flex-col gap-8 lg:flex-row", children: [_jsxs("div", { className: "w-full max-w-sm space-y-4", children: [_jsxs("div", { children: [_jsx("label", { className: "admin-label", children: "Accent color" }), _jsxs("div", { className: "flex items-center gap-2", children: [_jsx("input", { type: "color", value: themeEffective.primaryColor ?? '#0CAF7D', onChange: (e) => setThemeDraft((p) => ({ ...p, primaryColor: e.target.value })), className: "h-10 w-12 cursor-pointer rounded-md border border-[hsl(var(--admin-border))] bg-transparent p-1", "aria-label": "Accent color" }), _jsx("input", { className: "admin-input w-full", value: themeEffective.primaryColor ?? '', onChange: (e) => setThemeDraft((p) => ({ ...p, primaryColor: e.target.value })), placeholder: data.theme.derived.primaryColor ?? '#0CAF7D', maxLength: 7 })] }), _jsxs("p", { className: "mt-1 text-xs text-[hsl(var(--admin-foreground-subtle))]", children: ["Buttons, links and highlights.", data.theme.derived.primaryColor ? ` Your brand color is ${data.theme.derived.primaryColor}.` : ''] })] }), _jsxs("div", { children: [_jsx("label", { className: "admin-label", children: "Font" }), _jsx("select", { className: "admin-input w-full", value: themeEffective.fontName ?? 'Plus Jakarta Sans', onChange: (e) => setThemeDraft((p) => ({ ...p, fontName: e.target.value })), children: data.theme.fonts.map((f) => (_jsx("option", { value: f, children: f }, f))) })] }), _jsxs("div", { children: [_jsx("label", { className: "admin-label", children: "Button shape" }), _jsx("select", { className: "admin-input w-full", value: themeEffective.buttonRadius ?? 'md', onChange: (e) => setThemeDraft((p) => ({ ...p, buttonRadius: e.target.value })), children: RADIUS_OPTIONS.map((o) => (_jsx("option", { value: o.value, children: o.label }, o.value))) })] }), _jsxs("div", { children: [_jsx("label", { className: "admin-label", children: "Background color" }), _jsxs("div", { className: "flex items-center gap-2", children: [_jsx("input", { type: "color", value: themeEffective.backgroundColor ?? '#F7F7F7', onChange: (e) => setThemeDraft((p) => ({ ...p, backgroundColor: e.target.value })), className: "h-10 w-12 cursor-pointer rounded-md border border-[hsl(var(--admin-border))] bg-transparent p-1", "aria-label": "Background color" }), _jsx("input", { className: "admin-input w-full", value: themeEffective.backgroundColor ?? '', onChange: (e) => setThemeDraft((p) => ({ ...p, backgroundColor: e.target.value })), placeholder: "#F7F7F7", maxLength: 7 })] })] }), _jsxs("div", { children: [_jsx("label", { className: "admin-label", children: "Footer note (optional)" }), _jsx("textarea", { className: "admin-input w-full", rows: 3, value: themeEffective.footerNote ?? '', onChange: (e) => setThemeDraft((p) => ({ ...p, footerNote: e.target.value })), placeholder: "A legal line or tagline shown at the bottom of every email", maxLength: 300 })] }), _jsxs("div", { className: "flex items-center gap-2 pt-2", children: [_jsx("button", { type: "button", onClick: () => saveTheme(themeDraft), disabled: isSaving, className: "admin-btn admin-btn-primary admin-btn-sm disabled:opacity-50", children: isSaving ? 'Saving…' : 'Save theme' }), _jsxs("button", { type: "button", onClick: () => {
284
- setThemeDraft({});
285
- saveTheme({});
286
- }, disabled: isSaving, className: "admin-btn admin-btn-secondary admin-btn-sm inline-flex items-center gap-1 disabled:opacity-50", children: [_jsx(RotateCcw, { className: "h-3.5 w-3.5" }), " Reset to brand"] }), saveFlash && (_jsxs("span", { className: "inline-flex items-center gap-1 text-sm text-[hsl(var(--admin-success,142_71%_45%))]", children: [_jsx(Check, { className: "h-4 w-4" }), " ", saveFlash] }))] })] }), previewPane] })] })] }));
390
+ return (_jsxs("div", { className: `admin-card ${className}`, children: [_jsx("div", { className: "admin-card-header", children: _jsxs("div", { className: "flex items-center gap-2", children: [_jsxs("button", { type: "button", onClick: () => setView('list'), className: "admin-action-link inline-flex items-center gap-1 text-sm", children: [_jsx(ChevronLeft, { className: "h-4 w-4" }), " Emails"] }), _jsx("span", { className: "text-[hsl(var(--admin-foreground-muted))]", children: "/" }), _jsxs("h2", { className: "inline-flex items-center gap-2 text-base font-semibold", children: [_jsx(Palette, { className: "h-4 w-4 text-[hsl(var(--admin-primary))]" }), " Email theme"] })] }) }), _jsxs("div", { className: "admin-card-body", children: [_jsx("p", { className: "mb-5 max-w-2xl text-sm text-[hsl(var(--admin-foreground-muted))]", children: "One shared theme styles every email your store sends. It starts from your brand (logo, colors, fonts) \u2014 adjust anything below and every email updates at once." }), actionError && (_jsx("div", { className: "admin-alert-inline admin-alert-inline-error mb-4", children: actionError })), _jsxs("div", { className: "flex flex-col gap-8 lg:flex-row", children: [_jsx(EmailThemePanel, { draft: themeDraft, derived: data.theme.derived, palette: data.theme.palette, suggestedFonts: data.theme.suggestedFonts, onChange: (patch) => setThemeDraft((p) => ({ ...p, ...patch })), onSave: () => saveTheme(themeDraft), onReset: () => {
391
+ setThemeDraft({});
392
+ saveTheme({});
393
+ }, isSaving: isSaving, saveFlash: saveFlash }), previewPane] })] })] }));
287
394
  }
288
395
  // ── EMAIL DETAIL VIEW ──────────────────────────────────────────────────────
289
- if (activeEntry) {
396
+ if (activeKey) {
290
397
  const draft = drafts[activeLocale] ?? EMPTY_DRAFT;
291
398
  const setDraftField = (field, value) => setDrafts((prev) => ({ ...prev, [activeLocale]: { ...(prev[activeLocale] ?? EMPTY_DRAFT), [field]: value } }));
399
+ const rowBlocks = blockDrafts[activeLocale] ?? null;
400
+ const defaultRowBlocks = blockDrafts[DEFAULT_ROW] ?? null;
401
+ const hasRowBlocks = rowBlocks !== null;
402
+ const variables = activeEntry?.variables ?? data.customVariables;
403
+ const slots = activeEntry?.slots ?? [];
404
+ const displayName = activeEntry?.name ?? activeCustom?.name ?? 'Email';
405
+ const seedBlocks = () => {
406
+ const localizedDefault = activeEntry?.defaultBlocksByLocale[activeLocale] ??
407
+ activeEntry?.defaultBlocksByLocale[DEFAULT_ROW] ??
408
+ [];
409
+ const seed = rowBlocks ?? defaultRowBlocks ?? localizedDefault;
410
+ setBlockDrafts((prev) => ({ ...prev, [activeLocale]: cloneBlocks(seed) }));
411
+ };
412
+ const rowHasOwnContent = !!(drafts[activeLocale]?.subject || drafts[activeLocale]?.intro || drafts[activeLocale]?.outro) ||
413
+ blockDrafts[activeLocale] !== null;
292
414
  return (_jsxs("div", { className: `admin-card ${className}`, children: [_jsx("div", { className: "admin-card-header", children: _jsxs("div", { className: "flex flex-wrap items-center gap-2", children: [_jsxs("button", { type: "button", onClick: () => {
293
415
  setView('list');
294
416
  load();
295
- }, className: "admin-action-link inline-flex items-center gap-1 text-sm", children: [_jsx(ChevronLeft, { className: "h-4 w-4" }), " Emails"] }), _jsx("span", { className: "text-[hsl(var(--admin-foreground-muted))]", children: "/" }), _jsx("h2", { className: "text-base font-semibold", children: activeEntry.name }), disabledKeys.has(activeEntry.key) && _jsx("span", { className: "admin-badge admin-badge-neutral", children: "Off" })] }) }), _jsxs("div", { className: "admin-card-body", children: [_jsx("p", { className: "mb-5 max-w-2xl text-sm text-[hsl(var(--admin-foreground-muted))]", children: activeEntry.trigger }), actionError && (_jsx("div", { className: "admin-alert-inline admin-alert-inline-error mb-4", children: actionError })), _jsxs("div", { className: "flex flex-col gap-8 lg:flex-row", children: [_jsxs("div", { className: "w-full max-w-sm space-y-4", children: [activeEntry.canDisable && (_jsxs("label", { className: "flex cursor-pointer items-center gap-2 text-sm", children: [_jsx("input", { type: "checkbox", className: "admin-checkbox", checked: enabledDraft, onChange: (e) => setEnabledDraft(e.target.checked) }), "Send this email"] })), isMultilingual && (_jsx("div", { className: "flex gap-1 rounded-lg border border-[hsl(var(--admin-border))] p-1", children: localeRows.map((row) => (_jsx("button", { type: "button", onClick: () => setActiveLocale(row), className: `flex-1 rounded-md px-2 py-1.5 text-xs font-semibold ${activeLocale === row
296
- ? 'bg-[hsl(var(--admin-muted))]'
297
- : 'text-[hsl(var(--admin-foreground-muted))]'}`, children: localeRowLabel(row) }, row))) })), _jsxs("div", { children: [_jsx("label", { className: "admin-label", children: "Subject" }), _jsx("input", { className: "admin-input w-full", value: draft.subject, onChange: (e) => setDraftField('subject', e.target.value), placeholder: "Leave empty to use the standard subject", maxLength: 200 }), _jsx("div", { className: "mt-1.5 flex flex-wrap gap-1", children: activeEntry.variables.map((v) => (_jsxs("button", { type: "button", onClick: () => setDraftField('subject', `${draft.subject}{{${v}}}`), className: "rounded-full border border-[hsl(var(--admin-border))] px-2 py-0.5 text-xs text-[hsl(var(--admin-foreground-muted))] hover:border-[hsl(var(--admin-primary))] hover:text-[hsl(var(--admin-primary))]", children: ['{{', v, '}}'] }, v))) })] }), _jsxs("div", { children: [_jsx("label", { className: "admin-label", children: "Intro note (optional)" }), _jsx("textarea", { className: "admin-input w-full", rows: 3, value: draft.intro, onChange: (e) => setDraftField('intro', e.target.value), placeholder: "A short personal note shown at the top of the email", maxLength: 2000 })] }), _jsxs("div", { children: [_jsx("label", { className: "admin-label", children: "Footer note (optional)" }), _jsx("textarea", { className: "admin-input w-full", rows: 3, value: draft.outro, onChange: (e) => setDraftField('outro', e.target.value), placeholder: "A short note shown at the bottom, before the footer", maxLength: 2000 })] }), _jsxs("div", { className: "flex flex-wrap items-center gap-2 pt-2", children: [_jsx("button", { type: "button", onClick: saveOverride, disabled: isSaving, className: "admin-btn admin-btn-primary admin-btn-sm disabled:opacity-50", children: isSaving ? 'Saving…' : 'Save' }), _jsxs("button", { type: "button", onClick: sendTest, disabled: isSendingTest, className: "admin-btn admin-btn-secondary admin-btn-sm inline-flex items-center gap-1 disabled:opacity-50", children: [_jsx(Send, { className: "h-3.5 w-3.5" }), " ", isSendingTest ? 'Sending…' : 'Send test'] }), saveFlash && (_jsxs("span", { className: "inline-flex items-center gap-1 text-sm text-[hsl(var(--admin-success,142_71%_45%))]", children: [_jsx(Check, { className: "h-4 w-4" }), " ", saveFlash] }))] })] }), previewPane] })] })] }));
417
+ }, className: "admin-action-link inline-flex items-center gap-1 text-sm", children: [_jsx(ChevronLeft, { className: "h-4 w-4" }), " Emails"] }), _jsx("span", { className: "text-[hsl(var(--admin-foreground-muted))]", children: "/" }), _jsx("h2", { className: "text-base font-semibold", children: displayName }), isCustomKey && _jsx("span", { className: "admin-badge admin-badge-neutral", children: "Your email" }), activeKey && disabledKeys.has(activeKey) && _jsx("span", { className: "admin-badge admin-badge-neutral", children: "Off" })] }) }), _jsxs("div", { className: "admin-card-body", children: [_jsx("p", { className: "mb-5 max-w-2xl text-sm text-[hsl(var(--admin-foreground-muted))]", children: activeEntry?.trigger ?? 'Your own email — send it to a customer whenever you like.' }), actionError && (_jsx("div", { className: "admin-alert-inline admin-alert-inline-error mb-4", children: actionError })), _jsxs("div", { className: "flex flex-col gap-8 lg:flex-row", children: [_jsxs("div", { className: "w-full space-y-4 lg:max-w-md", children: [isCustomKey && (_jsxs("div", { children: [_jsx("label", { className: "admin-label", children: "Name" }), _jsx("input", { className: "admin-input w-full", value: nameDraft, onChange: (e) => setNameDraft(e.target.value), maxLength: 80 })] })), activeEntry?.canDisable && (_jsxs("label", { className: "flex cursor-pointer items-center gap-2 text-sm", children: [_jsx("input", { type: "checkbox", className: "admin-checkbox", checked: enabledDraft, onChange: (e) => setEnabledDraft(e.target.checked) }), "Send this email"] })), _jsxs("div", { className: "rounded-lg border border-[hsl(var(--admin-border))] px-3 py-2.5", children: [_jsxs("div", { className: "flex items-center gap-2", children: [_jsx(Globe, { className: "h-4 w-4 shrink-0 text-[hsl(var(--admin-foreground-muted))]" }), _jsx("span", { className: "text-xs font-semibold uppercase tracking-wide text-[hsl(var(--admin-foreground-muted))]", children: "Language" }), isMultilingual ? (_jsx("select", { className: "admin-input text-sm", style: { width: 'auto', minWidth: '11rem', height: '2rem', paddingTop: 0, paddingBottom: 0 }, value: activeLocale, onChange: (e) => setActiveLocale(e.target.value), "aria-label": "Language you are editing", children: localeRows.map((row) => (_jsx("option", { value: row, children: localeRowLabel(row) }, row))) })) : (_jsx("span", { className: "text-sm font-medium", children: localeRowLabel(DEFAULT_ROW) }))] }), isMultilingual && activeLocale !== DEFAULT_ROW && !rowHasOwnContent && (_jsxs("p", { className: "mt-1.5 text-xs text-[hsl(var(--admin-foreground-muted))]", children: ["Showing your ", localeName(data.defaultLocale), " content \u2014 anything you save here becomes the ", localeName(editingLocale), " version."] })), !isMultilingual && (_jsxs("p", { className: "mt-1.5 text-xs text-[hsl(var(--admin-foreground-subtle))]", children: ["Your store sends emails in ", localeName(editingLocale), ". Add languages in", ' ', _jsx("a", { href: "/admin/settings", className: "underline hover:text-[hsl(var(--admin-primary))]", children: "Settings \u2192 Languages" }), "."] }))] }), _jsxs("div", { children: [_jsx("label", { className: "admin-label", children: "Subject" }), _jsx("input", { className: "admin-input w-full", value: draft.subject, onChange: (e) => setDraftField('subject', e.target.value), placeholder: isCustomKey ? 'The subject your customer sees' : 'Leave empty to use the standard subject', maxLength: 200 }), _jsx("div", { className: "mt-1.5 flex flex-wrap gap-1", children: variables.map((v) => (_jsxs("button", { type: "button", onClick: () => setDraftField('subject', `${draft.subject}{{${v}}}`), className: "rounded-full border border-[hsl(var(--admin-border))] px-2 py-0.5 text-xs text-[hsl(var(--admin-foreground-muted))] hover:border-[hsl(var(--admin-primary))] hover:text-[hsl(var(--admin-primary))]", children: ['{{', v, '}}'] }, v))) })] }), isCustomKey || hasRowBlocks ? (_jsxs("div", { className: "space-y-2", children: [_jsxs("div", { className: "flex items-center justify-between", children: [_jsx("label", { className: "admin-label !mb-0", children: "Content" }), !isCustomKey && (_jsxs("button", { type: "button", onClick: () => setResetConfirmOpen(true), className: "admin-action-link inline-flex items-center gap-1 text-xs", children: [_jsx(RotateCcw, { className: "h-3 w-3" }), " Reset to standard layout"] }))] }), _jsx(BlocksEditor, { blocks: rowBlocks ?? defaultRowBlocks ?? [], onChange: (next) => setBlockDrafts((prev) => ({ ...prev, [activeLocale]: next })), slots: slots, variables: variables, locale: editingLocale })] })) : (_jsxs(_Fragment, { children: [_jsxs("div", { className: "rounded-lg border border-[hsl(var(--admin-border))] bg-[hsl(var(--admin-muted))]/40 px-3 py-3", children: [_jsxs("p", { className: "mb-2 inline-flex items-center gap-1.5 text-sm", children: [_jsx(LayoutTemplate, { className: "h-4 w-4 text-[hsl(var(--admin-foreground-muted))]" }), "Using the standard layout."] }), _jsxs("button", { type: "button", onClick: seedBlocks, className: "admin-btn admin-btn-secondary admin-btn-sm inline-flex items-center gap-1.5", children: [_jsx(PenLine, { className: "h-3.5 w-3.5" }), " Customize layout"] }), defaultRowBlocks !== null && activeLocale !== DEFAULT_ROW && (_jsxs("p", { className: "mt-2 text-xs text-[hsl(var(--admin-foreground-muted))]", children: ["This language currently uses your ", localeName(data.defaultLocale), " layout \u2014 customizing creates a ", localeName(editingLocale), " version."] }))] }), _jsxs("div", { children: [_jsx("label", { className: "admin-label", children: "Intro note (optional)" }), _jsx("textarea", { className: "admin-input w-full", rows: 3, value: draft.intro, onChange: (e) => setDraftField('intro', e.target.value), placeholder: "A short personal note shown at the top of the email", maxLength: 2000 })] }), _jsxs("div", { children: [_jsx("label", { className: "admin-label", children: "Footer note (optional)" }), _jsx("textarea", { className: "admin-input w-full", rows: 3, value: draft.outro, onChange: (e) => setDraftField('outro', e.target.value), placeholder: "A short note shown at the bottom, before the footer", maxLength: 2000 })] })] })), _jsxs("div", { className: "flex flex-wrap items-center gap-2 pt-2", children: [_jsx("button", { type: "button", onClick: saveOverride, disabled: isSaving, className: "admin-btn admin-btn-primary admin-btn-sm disabled:opacity-50", children: isSaving ? 'Saving…' : 'Save' }), _jsxs("button", { type: "button", onClick: () => sendTest(), disabled: isSendingTest, title: `Sends a test to you — ${data.viewer.email}`, className: "admin-btn admin-btn-secondary admin-btn-sm inline-flex items-center gap-1 disabled:opacity-50", children: [_jsx(Send, { className: "h-3.5 w-3.5" }), " ", isSendingTest ? 'Sending…' : 'Send test'] }), isCustomKey && (_jsxs("button", { type: "button", onClick: () => setSendToOpen((o) => !o), className: "admin-btn admin-btn-secondary admin-btn-sm inline-flex items-center gap-1", children: [_jsx(Mail, { className: "h-3.5 w-3.5" }), " Send to a customer"] })), saveFlash && (_jsxs("span", { className: "inline-flex items-center gap-1 text-sm text-[hsl(var(--admin-success,142_71%_45%))]", children: [_jsx(Check, { className: "h-4 w-4" }), " ", saveFlash] }))] }), _jsxs("p", { className: "text-xs text-[hsl(var(--admin-foreground-subtle))]", children: ["Tests go to you \u2014 ", data.viewer.email] }), isCustomKey && sendToOpen && (_jsxs("div", { className: "space-y-2 rounded-lg border border-[hsl(var(--admin-border))] p-3", children: [_jsx("p", { className: "text-xs font-semibold uppercase tracking-wide text-[hsl(var(--admin-foreground-muted))]", children: "Send to a customer" }), _jsx("p", { className: "text-xs text-[hsl(var(--admin-foreground-muted))]", children: "Sends the SAVED version of this email \u2014 save your changes first." }), _jsx(CustomerPicker, { onPick: (c) => {
418
+ setSendToEmail(c.email);
419
+ setSendToName(c.name);
420
+ } }), _jsx("p", { className: "text-xs text-[hsl(var(--admin-foreground-subtle))]", children: "Or enter an email manually:" }), _jsx("input", { className: "admin-input w-full", type: "email", value: sendToEmail, onChange: (e) => setSendToEmail(e.target.value), placeholder: "customer@example.com" }), _jsx("input", { className: "admin-input w-full", value: sendToName, onChange: (e) => setSendToName(e.target.value), placeholder: "Customer's first name (for {{customerName}})" }), _jsx("button", { type: "button", disabled: isSendingTest || !sendToEmail.trim(), onClick: () => sendTest({ email: sendToEmail.trim(), name: sendToName }), className: "admin-btn admin-btn-primary admin-btn-sm disabled:opacity-50", children: isSendingTest ? 'Sending…' : 'Send now' })] })), isCustomKey && (_jsx("div", { className: "border-t border-[hsl(var(--admin-border))] pt-3", children: confirmDelete ? (_jsxs("div", { className: "flex items-center gap-2", children: [_jsx("span", { className: "text-sm", children: "Delete this email for good?" }), _jsx("button", { type: "button", onClick: deleteCustomEmail, disabled: isSaving, className: "admin-btn admin-btn-sm bg-red-600 text-white hover:bg-red-700 disabled:opacity-50", children: "Delete" }), _jsx("button", { type: "button", onClick: () => setConfirmDelete(false), className: "admin-btn admin-btn-secondary admin-btn-sm", children: "Cancel" })] })) : (_jsxs("button", { type: "button", onClick: () => setConfirmDelete(true), className: "inline-flex items-center gap-1 text-sm text-red-600 hover:underline", children: [_jsx(Trash2, { className: "h-3.5 w-3.5" }), " Delete this email"] })) }))] }), previewPane] })] }), _jsx(DeleteConfirmDialog, { isOpen: resetConfirmOpen, title: "Reset layout", itemName: displayName, description: `Go back to the standard layout? Your custom ${localeName(editingLocale)} layout will be removed when you save.`, confirmLabel: "Reset layout", variant: "primary", onConfirm: () => {
421
+ setBlockDrafts((prev) => ({ ...prev, [activeLocale]: null }));
422
+ setResetConfirmOpen(false);
423
+ }, onCancel: () => setResetConfirmOpen(false) })] }));
298
424
  }
299
425
  // ── LIST VIEW ──────────────────────────────────────────────────────────────
300
426
  const grouped = ['orders', 'account'].map((cat) => ({
301
427
  cat,
302
428
  entries: data.registry.filter((e) => e.category === cat),
303
429
  }));
304
- return (_jsxs("div", { className: `admin-card ${className}`, children: [_jsx("div", { className: "admin-card-header", children: _jsxs("div", { className: "flex items-center justify-between gap-3", children: [_jsxs("h2", { className: "inline-flex items-center gap-2 text-base font-semibold", children: [_jsx(Mail, { className: "h-4 w-4 text-[hsl(var(--admin-primary))]" }), " Emails"] }), _jsxs("button", { type: "button", onClick: () => setView('theme'), className: "admin-btn admin-btn-secondary admin-btn-sm inline-flex items-center gap-1.5", children: [_jsx(Palette, { className: "h-3.5 w-3.5" }), " Email theme"] })] }) }), _jsxs("div", { className: "admin-card-body", children: [_jsx("p", { className: "mb-5 max-w-2xl text-sm text-[hsl(var(--admin-foreground-muted))]", children: "Every email your store sends automatically. They all share one theme based on your brand \u2014 open any email to preview it, adjust its wording, or send yourself a test." }), _jsx("div", { className: "space-y-6", children: grouped.map(({ cat, entries }) => (_jsxs("div", { children: [_jsx("p", { className: "mb-2 text-xs font-semibold uppercase tracking-wide text-[hsl(var(--admin-foreground-muted))]", children: CATEGORY_LABELS[cat] }), _jsx("div", { className: "divide-y divide-[hsl(var(--admin-border))] rounded-lg border border-[hsl(var(--admin-border))]", children: entries.map((entry) => (_jsxs("button", { type: "button", onClick: () => openEmail(entry.key), className: "flex w-full items-center gap-3 px-4 py-3 text-left hover:bg-[hsl(var(--admin-muted))]", children: [_jsxs("div", { className: "min-w-0 flex-1", children: [_jsx("p", { className: "text-sm font-semibold", children: entry.name }), _jsx("p", { className: "truncate text-xs text-[hsl(var(--admin-foreground-muted))]", children: entry.trigger })] }), customizedKeys.has(entry.key) && (_jsx("span", { className: "admin-badge admin-badge-neutral shrink-0", children: "Customized" })), disabledKeys.has(entry.key) && (_jsx("span", { className: "admin-badge admin-badge-neutral shrink-0", children: "Off" })), _jsx(ChevronRight, { className: "h-4 w-4 shrink-0 text-[hsl(var(--admin-foreground-subtle))]" })] }, entry.key))) })] }, cat))) })] })] }));
430
+ const listRow = (key, name, trigger) => (_jsxs("button", { type: "button", onClick: () => openEmail(key), className: "flex w-full items-center gap-3 px-4 py-3 text-left hover:bg-[hsl(var(--admin-muted))]", children: [_jsxs("div", { className: "min-w-0 flex-1", children: [_jsx("p", { className: "text-sm font-semibold", children: name }), _jsx("p", { className: "truncate text-xs text-[hsl(var(--admin-foreground-muted))]", children: trigger })] }), customizedKeys.has(key) && _jsx("span", { className: "admin-badge admin-badge-neutral shrink-0", children: "Customized" }), disabledKeys.has(key) && _jsx("span", { className: "admin-badge admin-badge-neutral shrink-0", children: "Off" }), _jsx(ChevronRight, { className: "h-4 w-4 shrink-0 text-[hsl(var(--admin-foreground-subtle))]" })] }, key));
431
+ return (_jsxs("div", { className: `admin-card ${className}`, children: [_jsx("div", { className: "admin-card-header", children: _jsxs("div", { className: "flex flex-wrap items-center justify-between gap-3", children: [_jsxs("h2", { className: "inline-flex items-center gap-2 text-base font-semibold", children: [_jsx(Mail, { className: "h-4 w-4 text-[hsl(var(--admin-primary))]" }), " Emails"] }), _jsxs("div", { className: "flex items-center gap-2", children: [_jsxs("button", { type: "button", onClick: () => setCreateOpen((o) => !o), className: "admin-btn admin-btn-primary admin-btn-sm inline-flex items-center gap-1.5", children: [_jsx(Plus, { className: "h-3.5 w-3.5" }), " Create email"] }), _jsxs("button", { type: "button", onClick: () => setView('theme'), className: "admin-btn admin-btn-secondary admin-btn-sm inline-flex items-center gap-1.5", children: [_jsx(Palette, { className: "h-3.5 w-3.5" }), " Email theme"] })] })] }) }), _jsxs("div", { className: "admin-card-body", children: [_jsx("p", { className: "mb-5 max-w-2xl text-sm text-[hsl(var(--admin-foreground-muted))]", children: "Every email your store sends automatically, plus your own. They all share one theme based on your brand \u2014 open any email to preview it, edit its layout and wording, or send yourself a test." }), actionError && _jsx("div", { className: "admin-alert-inline admin-alert-inline-error mb-4", children: actionError }), createOpen && (_jsxs("div", { className: "mb-5 flex flex-wrap items-center gap-2 rounded-lg border border-[hsl(var(--admin-border))] p-3", children: [_jsx("input", { autoFocus: true, className: "admin-input w-64", value: createName, onChange: (e) => setCreateName(e.target.value), onKeyDown: (e) => {
432
+ if (e.key === 'Enter')
433
+ createCustomEmail();
434
+ if (e.key === 'Escape')
435
+ setCreateOpen(false);
436
+ }, placeholder: "Name your email (e.g. Back in stock)", maxLength: 80 }), _jsx("button", { type: "button", onClick: createCustomEmail, disabled: isCreating || !createName.trim(), className: "admin-btn admin-btn-primary admin-btn-sm disabled:opacity-50", children: isCreating ? 'Creating…' : 'Create' }), _jsx("button", { type: "button", onClick: () => setCreateOpen(false), className: "admin-btn admin-btn-secondary admin-btn-sm", children: "Cancel" })] })), _jsxs("div", { className: "space-y-6", children: [grouped.map(({ cat, entries }) => (_jsxs("div", { children: [_jsx("p", { className: "mb-2 text-xs font-semibold uppercase tracking-wide text-[hsl(var(--admin-foreground-muted))]", children: CATEGORY_LABELS[cat] }), _jsx("div", { className: "divide-y divide-[hsl(var(--admin-border))] rounded-lg border border-[hsl(var(--admin-border))]", children: entries.map((entry) => listRow(entry.key, entry.name, entry.trigger)) })] }, cat))), data.customs.length > 0 && (_jsxs("div", { children: [_jsx("p", { className: "mb-2 text-xs font-semibold uppercase tracking-wide text-[hsl(var(--admin-foreground-muted))]", children: "Your emails" }), _jsx("div", { className: "divide-y divide-[hsl(var(--admin-border))] rounded-lg border border-[hsl(var(--admin-border))]", children: data.customs.map((c) => listRow(c.key, c.name, 'Built by you — send it to a customer whenever you like.')) })] }))] })] })] }));
305
437
  }
306
438
  //# sourceMappingURL=EmailsManager.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"EmailsManager.js","sourceRoot":"","sources":["../../../src/admin/components/EmailsManager.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"EmailsManager.js","sourceRoot":"","sources":["../../../src/admin/components/EmailsManager.tsx"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"UsersTable.d.ts","sourceRoot":"","sources":["../../../src/admin/components/UsersTable.tsx"],"names":[],"mappings":"AAgDA,OAAO,KAAK,EACV,eAAe,EAGhB,MAAM,UAAU,CAAA;AA0djB,wBAAgB,UAAU,CAAC,EAAE,QAAa,EAAE,SAAc,EAAE,EAAE,eAAe,2CAglB5E"}
1
+ {"version":3,"file":"UsersTable.d.ts","sourceRoot":"","sources":["../../../src/admin/components/UsersTable.tsx"],"names":[],"mappings":"AAgDA,OAAO,KAAK,EACV,eAAe,EAGhB,MAAM,UAAU,CAAA;AA0djB,wBAAgB,UAAU,CAAC,EAAE,QAAa,EAAE,SAAc,EAAE,EAAE,eAAe,2CAimB5E"}