@actuate-media/cms-admin 0.77.0 → 0.79.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 (92) hide show
  1. package/CHANGELOG.md +35 -0
  2. package/dist/__tests__/components/attribution-rows.test.d.ts +2 -0
  3. package/dist/__tests__/components/attribution-rows.test.d.ts.map +1 -0
  4. package/dist/__tests__/components/attribution-rows.test.js +82 -0
  5. package/dist/__tests__/components/attribution-rows.test.js.map +1 -0
  6. package/dist/__tests__/views/form-editor.render.test.js +1 -0
  7. package/dist/__tests__/views/form-editor.render.test.js.map +1 -1
  8. package/dist/__tests__/views/form-entries.render.test.js +20 -0
  9. package/dist/__tests__/views/form-entries.render.test.js.map +1 -1
  10. package/dist/__tests__/views/form-submissions.render.test.js +12 -0
  11. package/dist/__tests__/views/form-submissions.render.test.js.map +1 -1
  12. package/dist/__tests__/views/forms-list.render.test.js +2 -0
  13. package/dist/__tests__/views/forms-list.render.test.js.map +1 -1
  14. package/dist/__tests__/views/redirects-pane.render.test.js +2 -0
  15. package/dist/__tests__/views/redirects-pane.render.test.js.map +1 -1
  16. package/dist/components/forms/ExportMenu.d.ts +8 -0
  17. package/dist/components/forms/ExportMenu.d.ts.map +1 -0
  18. package/dist/components/forms/ExportMenu.js +32 -0
  19. package/dist/components/forms/ExportMenu.js.map +1 -0
  20. package/dist/components/forms/FormEntryDetailPane.d.ts +13 -0
  21. package/dist/components/forms/FormEntryDetailPane.d.ts.map +1 -1
  22. package/dist/components/forms/FormEntryDetailPane.js +74 -8
  23. package/dist/components/forms/FormEntryDetailPane.js.map +1 -1
  24. package/dist/components/forms/FormSchemaPane.js +1 -1
  25. package/dist/components/forms/FormSchemaPane.js.map +1 -1
  26. package/dist/components/forms/NotificationsPanel.d.ts +4 -1
  27. package/dist/components/forms/NotificationsPanel.d.ts.map +1 -1
  28. package/dist/components/forms/NotificationsPanel.js +66 -12
  29. package/dist/components/forms/NotificationsPanel.js.map +1 -1
  30. package/dist/components/forms/ShortcodeGlossary.d.ts +5 -0
  31. package/dist/components/forms/ShortcodeGlossary.d.ts.map +1 -0
  32. package/dist/components/forms/ShortcodeGlossary.js +62 -0
  33. package/dist/components/forms/ShortcodeGlossary.js.map +1 -0
  34. package/dist/components/forms/WebhooksPanel.d.ts.map +1 -1
  35. package/dist/components/forms/WebhooksPanel.js +1 -1
  36. package/dist/components/forms/WebhooksPanel.js.map +1 -1
  37. package/dist/components/ui/ReauthDialog.d.ts +17 -0
  38. package/dist/components/ui/ReauthDialog.d.ts.map +1 -0
  39. package/dist/components/ui/ReauthDialog.js +34 -0
  40. package/dist/components/ui/ReauthDialog.js.map +1 -0
  41. package/dist/components/ui/index.d.ts +2 -0
  42. package/dist/components/ui/index.d.ts.map +1 -1
  43. package/dist/components/ui/index.js +1 -0
  44. package/dist/components/ui/index.js.map +1 -1
  45. package/dist/lib/forms-service.d.ts +23 -0
  46. package/dist/lib/forms-service.d.ts.map +1 -1
  47. package/dist/lib/forms-service.js +42 -1
  48. package/dist/lib/forms-service.js.map +1 -1
  49. package/dist/lib/seo-service.d.ts +4 -0
  50. package/dist/lib/seo-service.d.ts.map +1 -1
  51. package/dist/lib/seo-service.js +1 -0
  52. package/dist/lib/seo-service.js.map +1 -1
  53. package/dist/views/ApiKeys.d.ts.map +1 -1
  54. package/dist/views/ApiKeys.js +22 -23
  55. package/dist/views/ApiKeys.js.map +1 -1
  56. package/dist/views/FormEditor.js +1 -1
  57. package/dist/views/FormEditor.js.map +1 -1
  58. package/dist/views/FormEntries.d.ts.map +1 -1
  59. package/dist/views/FormEntries.js +8 -36
  60. package/dist/views/FormEntries.js.map +1 -1
  61. package/dist/views/FormSubmissions.d.ts.map +1 -1
  62. package/dist/views/FormSubmissions.js +7 -36
  63. package/dist/views/FormSubmissions.js.map +1 -1
  64. package/dist/views/seo/RedirectsTab.d.ts.map +1 -1
  65. package/dist/views/seo/RedirectsTab.js +3 -2
  66. package/dist/views/seo/RedirectsTab.js.map +1 -1
  67. package/dist/views/users/UserDetailDrawer.d.ts.map +1 -1
  68. package/dist/views/users/UserDetailDrawer.js +2 -30
  69. package/dist/views/users/UserDetailDrawer.js.map +1 -1
  70. package/package.json +3 -3
  71. package/src/__tests__/components/attribution-rows.test.ts +93 -0
  72. package/src/__tests__/views/form-editor.render.test.tsx +1 -0
  73. package/src/__tests__/views/form-entries.render.test.tsx +29 -0
  74. package/src/__tests__/views/form-submissions.render.test.tsx +17 -0
  75. package/src/__tests__/views/forms-list.render.test.tsx +2 -0
  76. package/src/__tests__/views/redirects-pane.render.test.tsx +2 -0
  77. package/src/components/forms/ExportMenu.tsx +70 -0
  78. package/src/components/forms/FormEntryDetailPane.tsx +82 -8
  79. package/src/components/forms/FormSchemaPane.tsx +1 -1
  80. package/src/components/forms/NotificationsPanel.tsx +150 -20
  81. package/src/components/forms/ShortcodeGlossary.tsx +146 -0
  82. package/src/components/forms/WebhooksPanel.tsx +5 -1
  83. package/src/components/ui/ReauthDialog.tsx +93 -0
  84. package/src/components/ui/index.ts +2 -0
  85. package/src/lib/forms-service.ts +57 -1
  86. package/src/lib/seo-service.ts +5 -0
  87. package/src/views/ApiKeys.tsx +48 -41
  88. package/src/views/FormEditor.tsx +1 -1
  89. package/src/views/FormEntries.tsx +7 -46
  90. package/src/views/FormSubmissions.tsx +6 -46
  91. package/src/views/seo/RedirectsTab.tsx +3 -1
  92. package/src/views/users/UserDetailDrawer.tsx +1 -76
@@ -1,5 +1,5 @@
1
1
  'use client';
2
- import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { jsxs as _jsxs, jsx as _jsx, Fragment as _Fragment } from "react/jsx-runtime";
3
3
  /**
4
4
  * User detail drawer — opened from a Team members row. Five tabs:
5
5
  *
@@ -26,6 +26,7 @@ import { Button } from '../../components/ui/Button.js';
26
26
  import { Skeleton } from '../../components/ui/Skeleton.js';
27
27
  import { EmptyState } from '../../components/ui/EmptyState.js';
28
28
  import { ConfirmDialog } from '../../components/ui/ConfirmDialog.js';
29
+ import { ReauthDialog } from '../../components/ui/ReauthDialog.js';
29
30
  // ---------------------------------------------------------------------------
30
31
  // Formatting helpers
31
32
  // ---------------------------------------------------------------------------
@@ -76,35 +77,6 @@ const STATUS_META = {
76
77
  label: 'Deactivated',
77
78
  },
78
79
  };
79
- // ---------------------------------------------------------------------------
80
- // Reauth dialog
81
- // ---------------------------------------------------------------------------
82
- function ReauthDialog({ open, onClose, onSubmit, }) {
83
- const [password, setPassword] = useState('');
84
- const [busy, setBusy] = useState(false);
85
- const submit = async () => {
86
- if (!password || busy)
87
- return;
88
- setBusy(true);
89
- try {
90
- await onSubmit(password);
91
- setPassword('');
92
- }
93
- finally {
94
- setBusy(false);
95
- }
96
- };
97
- return (_jsxs(Modal, { open: open, onClose: () => {
98
- setPassword('');
99
- onClose();
100
- }, title: "Confirm it's you", actions: _jsxs(_Fragment, { children: [_jsx(Button, { variant: "ghost", onClick: () => {
101
- setPassword('');
102
- onClose();
103
- }, children: "Cancel" }), _jsx(Button, { variant: "primary", loading: busy, disabled: !password || busy, onClick: submit, children: "Confirm" })] }), children: [_jsx("p", { className: "text-muted-foreground mb-3 text-sm", children: "This is a sensitive action. Re-enter your password to continue." }), _jsx("label", { htmlFor: "reauth-password", className: "text-card-foreground mb-1 block text-sm font-medium", children: "Your password" }), _jsx("input", { id: "reauth-password", type: "password", value: password, onChange: (e) => setPassword(e.target.value), onKeyDown: (e) => {
104
- if (e.key === 'Enter')
105
- submit();
106
- }, autoComplete: "current-password", className: "border-border bg-input-background text-foreground focus:ring-brand w-full rounded-md border px-3 py-2 text-sm focus:ring-2 focus:outline-none" })] }));
107
- }
108
80
  function TransferContentModal({ open, onClose, fromUser, onTransferred, }) {
109
81
  // Only fetch the directory while the picker is open.
110
82
  const members = useApiData(open ? '/users' : null);
@@ -1 +1 @@
1
- {"version":3,"file":"UserDetailDrawer.js","sourceRoot":"","sources":["../../../src/views/users/UserDetailDrawer.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"UserDetailDrawer.js","sourceRoot":"","sources":["../../../src/views/users/UserDetailDrawer.tsx"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@actuate-media/cms-admin",
3
- "version": "0.77.0",
3
+ "version": "0.79.0",
4
4
  "license": "MIT",
5
5
  "repository": {
6
6
  "type": "git",
@@ -98,12 +98,12 @@
98
98
  "tailwindcss": "^4.0.0",
99
99
  "typescript": "^5.7.0",
100
100
  "vitest": "^4.1.0",
101
- "@actuate-media/cms-core": "0.98.0",
101
+ "@actuate-media/cms-core": "0.100.0",
102
102
  "@actuate-media/component-blocks": "0.2.2",
103
103
  "@actuate-media/plugin-ai": "0.5.6",
104
104
  "@actuate-media/plugin-blocks": "0.1.0",
105
105
  "@actuate-media/plugin-commerce": "0.1.3",
106
- "@actuate-media/plugin-forms": "0.0.17",
106
+ "@actuate-media/plugin-forms": "0.0.18",
107
107
  "@actuate-media/plugin-media": "0.1.0",
108
108
  "@actuate-media/plugin-navigation": "0.1.0",
109
109
  "@actuate-media/plugin-seo": "0.0.19"
@@ -0,0 +1,93 @@
1
+ import { describe, expect, it } from 'vitest'
2
+ import { buildAttributionRows } from '../../components/forms/FormEntryDetailPane.js'
3
+ import type { FormSubmission } from '../../lib/forms-service.js'
4
+
5
+ function entry(overrides: Partial<FormSubmission> = {}): FormSubmission {
6
+ return {
7
+ id: 'e1',
8
+ formId: 'f1',
9
+ data: {},
10
+ unread: false,
11
+ starred: false,
12
+ archived: false,
13
+ spamStatus: 'clean',
14
+ submittedAt: '2026-07-13T00:00:00.000Z',
15
+ createdAt: '2026-07-13T00:00:00.000Z',
16
+ updatedAt: '2026-07-13T00:00:00.000Z',
17
+ ...overrides,
18
+ }
19
+ }
20
+
21
+ function rowMap(e: FormSubmission): Record<string, string> {
22
+ const out: Record<string, string> = {}
23
+ for (const row of buildAttributionRows(e)) out[row.label] = String(row.value)
24
+ return out
25
+ }
26
+
27
+ describe('buildAttributionRows', () => {
28
+ it('renders the rich attribution blob with channel, click IDs, and landing page', () => {
29
+ const rows = rowMap(
30
+ entry({
31
+ attribution: {
32
+ source: 'google',
33
+ medium: 'cpc',
34
+ campaign: 'spring',
35
+ term: 'implants',
36
+ channel: 'paid',
37
+ referrerName: 'Google',
38
+ landingPage: 'https://site.com/landing',
39
+ referrer: 'https://www.google.com/',
40
+ deviceType: 'mobile',
41
+ clickIds: { gclid: 'G123', fbclid: '' },
42
+ },
43
+ }),
44
+ )
45
+ expect(rows['Channel']).toBe('Paid · Google')
46
+ expect(rows['Source']).toBe('google')
47
+ expect(rows['Medium']).toBe('cpc')
48
+ expect(rows['Campaign']).toBe('spring')
49
+ expect(rows['Term']).toBe('implants')
50
+ expect(rows['Landing page']).toBe('https://site.com/landing')
51
+ expect(rows['Device']).toBe('Mobile')
52
+ expect(rows['GCLID (Google Ads)']).toBe('G123')
53
+ // Empty click IDs never render a row.
54
+ expect(rows['FBCLID (Meta)']).toBeUndefined()
55
+ })
56
+
57
+ it('falls back to denormalized UTM columns for legacy entries without a blob', () => {
58
+ const rows = rowMap(
59
+ entry({
60
+ utmSource: 'newsletter',
61
+ utmMedium: 'email',
62
+ utmCampaign: 'july',
63
+ pageUrl: 'https://site.com/contact',
64
+ referrer: 'https://mail.google.com/',
65
+ }),
66
+ )
67
+ expect(rows['Source']).toBe('newsletter')
68
+ expect(rows['Medium']).toBe('email')
69
+ expect(rows['Campaign']).toBe('july')
70
+ expect(rows['Page']).toBe('https://site.com/contact')
71
+ expect(rows['Referrer']).toBe('https://mail.google.com/')
72
+ expect(rows['Channel']).toBeUndefined()
73
+ })
74
+
75
+ it('returns no rows when nothing was captured', () => {
76
+ expect(buildAttributionRows(entry())).toEqual([])
77
+ })
78
+
79
+ it('labels an AI channel with the assistant name', () => {
80
+ const rows = rowMap(
81
+ entry({
82
+ attribution: {
83
+ source: 'chatgpt',
84
+ medium: 'referral',
85
+ channel: 'ai',
86
+ referrerName: 'ChatGPT',
87
+ referrer: 'https://chatgpt.com/',
88
+ },
89
+ }),
90
+ )
91
+ expect(rows['Channel']).toBe('AI · ChatGPT')
92
+ })
93
+ })
@@ -52,6 +52,7 @@ vi.mock('../../lib/forms-service.js', () => ({
52
52
  createForm: (payload: Record<string, unknown>) => createForm(payload),
53
53
  fetchNotificationSettings: (id: string) => fetchNotificationSettings(id),
54
54
  updateNotificationSettings: () => updateNotificationSettings(),
55
+ testNotificationSettings: vi.fn(async () => ({ data: { notified: 1, autoresponded: false } })),
55
56
  fetchEmbedSettings: () => fetchEmbedSettings(),
56
57
  updateEmbedSettings: vi.fn(async () => ({ data: {} })),
57
58
  fetchFormWebhooks: () => fetchFormWebhooks(),
@@ -61,6 +61,7 @@ const fetchEntryCounts = vi.fn(async (_p?: unknown) => ({
61
61
  }))
62
62
  const fetchEntry = vi.fn(async (_id?: string) => ({ entry: ENTRIES[0], fields: [] }))
63
63
  const updateEntry = vi.fn(async (_id?: string, _patch?: unknown) => ({ data: ENTRIES[0] }))
64
+ const downloadEntriesExport = vi.fn(async (_opts?: unknown) => ({}))
64
65
 
65
66
  vi.mock('../../lib/forms-service.js', () => ({
66
67
  fetchForms: () => fetchForms(),
@@ -70,6 +71,7 @@ vi.mock('../../lib/forms-service.js', () => ({
70
71
  updateEntry: (id?: string, patch?: unknown) => updateEntry(id, patch),
71
72
  deleteEntry: vi.fn(async () => ({})),
72
73
  bulkUpdateEntries: vi.fn(async () => ({ data: { updated: 1 } })),
74
+ downloadEntriesExport: (opts?: unknown) => downloadEntriesExport(opts),
73
75
  }))
74
76
 
75
77
  vi.mock('../../lib/forms-events.js', () => ({
@@ -142,4 +144,31 @@ describe('FormEntries (All Entries)', () => {
142
144
  fireEvent.click(screen.getByRole('button', { name: 'Close entry details' }))
143
145
  expect(screen.queryByRole('region', { name: 'Entry details' })).toBeNull()
144
146
  })
147
+
148
+ it('downloads the unscoped export, honoring the active form filter', async () => {
149
+ downloadEntriesExport.mockClear()
150
+ render(<FormEntries onNavigate={() => {}} />)
151
+ await screen.findByText('Jordan Avery')
152
+
153
+ // Radix DropdownMenu opens on pointerdown (not click), which happy-dom
154
+ // doesn't synthesize from fireEvent.click — open via keyboard instead.
155
+ const openExportMenu = () =>
156
+ fireEvent.keyDown(screen.getByRole('button', { name: /Export/ }), { key: 'Enter' })
157
+
158
+ // Unscoped: exports across all forms.
159
+ openExportMenu()
160
+ fireEvent.click(await screen.findByRole('menuitem', { name: /CSV/ }))
161
+ await waitFor(() =>
162
+ expect(downloadEntriesExport).toHaveBeenCalledWith({ formId: undefined, format: 'csv' }),
163
+ )
164
+
165
+ // Scoped: the form filter carries into the export.
166
+ fireEvent.change(screen.getByLabelText('Filter by form'), { target: { value: 'f2' } })
167
+ await screen.findByText('Jordan Avery')
168
+ openExportMenu()
169
+ fireEvent.click(await screen.findByRole('menuitem', { name: /Excel/ }))
170
+ await waitFor(() =>
171
+ expect(downloadEntriesExport).toHaveBeenCalledWith({ formId: 'f2', format: 'xlsx' }),
172
+ )
173
+ })
145
174
  })
@@ -59,6 +59,7 @@ const fetchEntryCounts = vi.fn(async (_p?: unknown) => ({
59
59
  }))
60
60
  const fetchEntry = vi.fn(async (_id?: string) => ({ entry: ENTRIES[0], fields: [] }))
61
61
  const updateEntry = vi.fn(async (_id?: string, _patch?: unknown) => ({ data: ENTRIES[0] }))
62
+ const downloadEntriesExport = vi.fn(async (_opts?: unknown) => ({}))
62
63
 
63
64
  vi.mock('../../lib/forms-service.js', () => ({
64
65
  fetchFormById: (id?: string) => fetchFormById(id),
@@ -68,6 +69,7 @@ vi.mock('../../lib/forms-service.js', () => ({
68
69
  updateEntry: (id?: string, patch?: unknown) => updateEntry(id, patch),
69
70
  deleteEntry: vi.fn(async () => ({})),
70
71
  bulkUpdateEntries: vi.fn(async () => ({ data: { updated: 1 } })),
72
+ downloadEntriesExport: (opts?: unknown) => downloadEntriesExport(opts),
71
73
  }))
72
74
 
73
75
  vi.mock('../../lib/forms-events.js', () => ({
@@ -138,4 +140,19 @@ describe('FormSubmissions table', () => {
138
140
  fireEvent.click(screen.getByRole('button', { name: 'Close entry details' }))
139
141
  expect(screen.queryByRole('region', { name: 'Entry details' })).toBeNull()
140
142
  })
143
+
144
+ it('downloads the server-side export scoped to this form', async () => {
145
+ downloadEntriesExport.mockClear()
146
+ render(<FormSubmissions formId="f1" onNavigate={() => {}} />)
147
+ await screen.findByText('Jordan Avery')
148
+
149
+ // Radix DropdownMenu opens on pointerdown (not click), which happy-dom
150
+ // doesn't synthesize from fireEvent.click — open via keyboard instead.
151
+ fireEvent.keyDown(screen.getByRole('button', { name: /Export/ }), { key: 'Enter' })
152
+ fireEvent.click(await screen.findByRole('menuitem', { name: /Excel/ }))
153
+
154
+ await waitFor(() =>
155
+ expect(downloadEntriesExport).toHaveBeenCalledWith({ formId: 'f1', format: 'xlsx' }),
156
+ )
157
+ })
141
158
  })
@@ -70,6 +70,8 @@ vi.mock('../../lib/forms-service.js', () => ({
70
70
  updateEmbedSettings: vi.fn(async () => ({ data: {} })),
71
71
  fetchNotificationSettings: () => fetchNotificationSettings(),
72
72
  updateNotificationSettings: vi.fn(async () => ({ data: {} })),
73
+ testNotificationSettings: vi.fn(async () => ({ data: { notified: 1, autoresponded: false } })),
74
+ fetchFormById: vi.fn(async () => FORMS[0]),
73
75
  }))
74
76
 
75
77
  vi.mock('sonner', () => ({ toast: { success: vi.fn(), error: vi.fn(), loading: vi.fn() } }))
@@ -20,6 +20,7 @@ function makeRule(over: Record<string, unknown> = {}) {
20
20
  preserveQuery: false,
21
21
  hits: 3,
22
22
  lastHitAt: null,
23
+ neverHit: true,
23
24
  stale: false,
24
25
  source: 'manual',
25
26
  notes: null,
@@ -40,6 +41,7 @@ vi.mock('../../lib/seo-service.js', () => ({
40
41
  fetchRedirectOverview: vi.fn(async () => ({
41
42
  activeRedirects: 2,
42
43
  staleRedirects: 0,
44
+ neverHitRedirects: 0,
43
45
  notFoundCount: 0,
44
46
  chainsAndLoops: 0,
45
47
  })),
@@ -0,0 +1,70 @@
1
+ 'use client'
2
+
3
+ /**
4
+ * Export dropdown shared by the per-form Submissions view and the All
5
+ * Entries inbox. Downloads the *server-side* export (every page, decrypted
6
+ * values, attribution columns — up to 5,000 rows), not just the rows
7
+ * currently rendered, in CSV or Excel format.
8
+ */
9
+ import { useState } from 'react'
10
+ import * as DropdownMenu from '@radix-ui/react-dropdown-menu'
11
+ import { ChevronDown, Download, FileSpreadsheet, FileText } from 'lucide-react'
12
+ import { toast } from 'sonner'
13
+ import { adminPortalContainer } from '../../lib/portal-container.js'
14
+ import { downloadEntriesExport, type EntriesExportFormat } from '../../lib/forms-service.js'
15
+ import { btnSecondary } from './primitives.js'
16
+
17
+ export interface ExportMenuProps {
18
+ /** Scope the export to one form; omit to export entries across all forms. */
19
+ formId?: string
20
+ /** Disable the trigger (e.g. no entries to export). */
21
+ disabled?: boolean
22
+ }
23
+
24
+ const itemClass =
25
+ 'text-card-foreground data-highlighted:bg-accent flex cursor-pointer items-center gap-2 rounded-md px-2 py-1.5 text-sm outline-none'
26
+
27
+ export function ExportMenu({ formId, disabled }: ExportMenuProps) {
28
+ const [busy, setBusy] = useState(false)
29
+
30
+ const run = async (format: EntriesExportFormat) => {
31
+ setBusy(true)
32
+ try {
33
+ const res = await downloadEntriesExport({ formId, format })
34
+ if (res.error) toast.error(res.error)
35
+ } finally {
36
+ setBusy(false)
37
+ }
38
+ }
39
+
40
+ return (
41
+ <DropdownMenu.Root>
42
+ <DropdownMenu.Trigger asChild>
43
+ <button type="button" className={btnSecondary} disabled={disabled || busy}>
44
+ <Download className="h-4 w-4" aria-hidden />
45
+ {busy ? 'Exporting…' : 'Export'}
46
+ <ChevronDown className="h-4 w-4" aria-hidden />
47
+ </button>
48
+ </DropdownMenu.Trigger>
49
+ <DropdownMenu.Portal container={adminPortalContainer()}>
50
+ <DropdownMenu.Content
51
+ align="end"
52
+ sideOffset={4}
53
+ className="border-border bg-card z-50 min-w-52 rounded-lg border p-1 shadow-md"
54
+ >
55
+ <DropdownMenu.Label className="text-muted-foreground px-2 py-1.5 text-xs">
56
+ Exports all submissions with attribution
57
+ </DropdownMenu.Label>
58
+ <DropdownMenu.Item onSelect={() => void run('csv')} className={itemClass}>
59
+ <FileText size={14} aria-hidden />
60
+ CSV (.csv)
61
+ </DropdownMenu.Item>
62
+ <DropdownMenu.Item onSelect={() => void run('xlsx')} className={itemClass}>
63
+ <FileSpreadsheet size={14} aria-hidden />
64
+ Excel (.xlsx)
65
+ </DropdownMenu.Item>
66
+ </DropdownMenu.Content>
67
+ </DropdownMenu.Portal>
68
+ </DropdownMenu.Root>
69
+ )
70
+ }
@@ -58,14 +58,88 @@ interface AttrRow {
58
58
  value: string | null | undefined
59
59
  }
60
60
 
61
- function attributionRows(entry: FormSubmission): AttrRow[] {
62
- return [
63
- { label: 'Source', value: entry.utmSource },
64
- { label: 'Medium', value: entry.utmMedium },
65
- { label: 'Campaign', value: entry.utmCampaign },
61
+ const CHANNEL_LABELS: Record<string, string> = {
62
+ paid: 'Paid',
63
+ search_organic: 'Organic search',
64
+ social: 'Social',
65
+ email: 'Email',
66
+ ai: 'AI',
67
+ referral: 'Referral',
68
+ direct: 'Direct',
69
+ }
70
+
71
+ const CLICK_ID_LABELS: Record<string, string> = {
72
+ gclid: 'GCLID (Google Ads)',
73
+ fbclid: 'FBCLID (Meta)',
74
+ msclkid: 'MSCLKID (Microsoft)',
75
+ ttclid: 'TTCLID (TikTok)',
76
+ li_fat_id: 'LinkedIn click ID',
77
+ dclid: 'DCLID (Display)',
78
+ twclid: 'TWCLID (X Ads)',
79
+ rdt_cid: 'Reddit click ID',
80
+ }
81
+
82
+ const DEVICE_LABELS: Record<string, string> = {
83
+ desktop: 'Desktop',
84
+ tablet: 'Tablet',
85
+ mobile: 'Mobile',
86
+ }
87
+
88
+ function attrString(blob: Record<string, unknown>, key: string): string {
89
+ const v = blob[key]
90
+ return typeof v === 'string' ? v : ''
91
+ }
92
+
93
+ /**
94
+ * Build the attribution rows for an entry. Prefers the full client-captured
95
+ * blob (channel, click IDs, first/last touch) and falls back to the
96
+ * denormalized UTM columns for entries captured before attribution shipped.
97
+ * Exported for tests.
98
+ */
99
+ export function buildAttributionRows(entry: FormSubmission): AttrRow[] {
100
+ const blob =
101
+ entry.attribution && typeof entry.attribution === 'object' && !Array.isArray(entry.attribution)
102
+ ? entry.attribution
103
+ : {}
104
+
105
+ const channel = attrString(blob, 'channel')
106
+ const referrerName = attrString(blob, 'referrerName')
107
+ const channelLabel = channel
108
+ ? `${CHANNEL_LABELS[channel] ?? channel}${referrerName ? ` · ${referrerName}` : ''}`
109
+ : ''
110
+
111
+ const rows: AttrRow[] = [
112
+ { label: 'Channel', value: channelLabel },
113
+ { label: 'Source', value: attrString(blob, 'source') || entry.utmSource },
114
+ { label: 'Medium', value: attrString(blob, 'medium') || entry.utmMedium },
115
+ { label: 'Campaign', value: attrString(blob, 'campaign') || entry.utmCampaign },
116
+ { label: 'Term', value: attrString(blob, 'term') },
117
+ { label: 'Content', value: attrString(blob, 'content') },
118
+ { label: 'Landing page', value: attrString(blob, 'landingPage') },
66
119
  { label: 'Page', value: entry.pageUrl },
67
- { label: 'Referrer', value: entry.referrer },
68
- ].filter((r) => r.value)
120
+ { label: 'Referrer', value: attrString(blob, 'referrer') || entry.referrer },
121
+ {
122
+ label: 'Device',
123
+ value: DEVICE_LABELS[attrString(blob, 'deviceType')] ?? '',
124
+ },
125
+ { label: 'First touch', value: formatDateTimeOrEmpty(attrString(blob, 'firstTouchAt')) },
126
+ ]
127
+
128
+ const clickIds = blob.clickIds
129
+ if (clickIds && typeof clickIds === 'object' && !Array.isArray(clickIds)) {
130
+ for (const [key, label] of Object.entries(CLICK_ID_LABELS)) {
131
+ const value = (clickIds as Record<string, unknown>)[key]
132
+ if (typeof value === 'string' && value) rows.push({ label, value })
133
+ }
134
+ }
135
+
136
+ return rows.filter((r) => r.value)
137
+ }
138
+
139
+ function formatDateTimeOrEmpty(iso: string): string {
140
+ if (!iso) return ''
141
+ const formatted = formatDateTime(iso)
142
+ return formatted === '—' ? '' : formatted
69
143
  }
70
144
 
71
145
  export interface FormEntryDetailPaneProps {
@@ -155,7 +229,7 @@ export function FormEntryDetailPane({
155
229
 
156
230
  const entry = detail?.entry
157
231
  const senderName = entry?.senderName || 'Anonymous'
158
- const attrRows = entry ? attributionRows(entry) : []
232
+ const attrRows = entry ? buildAttributionRows(entry) : []
159
233
 
160
234
  return (
161
235
  <>
@@ -150,7 +150,7 @@ export function FormSchemaPane({
150
150
  </Tabs.Content>
151
151
 
152
152
  <Tabs.Content value="notifications" tabIndex={-1}>
153
- <NotificationsPanel formId={formId} onChanged={onSaved} />
153
+ <NotificationsPanel formId={formId} fields={fields} onChanged={onSaved} />
154
154
  </Tabs.Content>
155
155
 
156
156
  <Tabs.Content value="integrations" tabIndex={-1}>