@prenta/admin 1.11.0 → 1.13.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 (75) hide show
  1. package/CHANGELOG.md +48 -0
  2. package/dist/__tests__/components/seo-editor-pane.render.test.js +15 -0
  3. package/dist/__tests__/components/seo-editor-pane.render.test.js.map +1 -1
  4. package/dist/__tests__/lib/seo-service-errors.test.js +87 -1
  5. package/dist/__tests__/lib/seo-service-errors.test.js.map +1 -1
  6. package/dist/__tests__/views/ai-settings.render.test.js +26 -8
  7. package/dist/__tests__/views/ai-settings.render.test.js.map +1 -1
  8. package/dist/__tests__/views/redirects-pane.render.test.js +20 -2
  9. package/dist/__tests__/views/redirects-pane.render.test.js.map +1 -1
  10. package/dist/__tests__/views/seo-settings.render.test.js +110 -5
  11. package/dist/__tests__/views/seo-settings.render.test.js.map +1 -1
  12. package/dist/components/seo/SeoCopilotDrawer.d.ts.map +1 -1
  13. package/dist/components/seo/SeoCopilotDrawer.js +4 -0
  14. package/dist/components/seo/SeoCopilotDrawer.js.map +1 -1
  15. package/dist/components/seo/SeoEditorPane.d.ts.map +1 -1
  16. package/dist/components/seo/SeoEditorPane.js +8 -1
  17. package/dist/components/seo/SeoEditorPane.js.map +1 -1
  18. package/dist/components/seo/SeoIssueFixDrawer.d.ts.map +1 -1
  19. package/dist/components/seo/SeoIssueFixDrawer.js +4 -0
  20. package/dist/components/seo/SeoIssueFixDrawer.js.map +1 -1
  21. package/dist/components/seo/SeoSearchStats.d.ts +4 -0
  22. package/dist/components/seo/SeoSearchStats.d.ts.map +1 -0
  23. package/dist/components/seo/SeoSearchStats.js +91 -0
  24. package/dist/components/seo/SeoSearchStats.js.map +1 -0
  25. package/dist/lib/seo-service.d.ts +60 -0
  26. package/dist/lib/seo-service.d.ts.map +1 -1
  27. package/dist/lib/seo-service.js +53 -1
  28. package/dist/lib/seo-service.js.map +1 -1
  29. package/dist/prenta-admin.css +1 -1
  30. package/dist/views/seo/OverviewTab.js +1 -1
  31. package/dist/views/seo/OverviewTab.js.map +1 -1
  32. package/dist/views/seo/RedirectsTab.d.ts.map +1 -1
  33. package/dist/views/seo/RedirectsTab.js +6 -0
  34. package/dist/views/seo/RedirectsTab.js.map +1 -1
  35. package/dist/views/settings/AISettingsTab.d.ts.map +1 -1
  36. package/dist/views/settings/AISettingsTab.js +1 -1
  37. package/dist/views/settings/AISettingsTab.js.map +1 -1
  38. package/dist/views/settings/AiFeaturesCard.d.ts +8 -3
  39. package/dist/views/settings/AiFeaturesCard.d.ts.map +1 -1
  40. package/dist/views/settings/AiFeaturesCard.js +7 -6
  41. package/dist/views/settings/AiFeaturesCard.js.map +1 -1
  42. package/dist/views/settings/SearchDataCard.d.ts +10 -0
  43. package/dist/views/settings/SearchDataCard.d.ts.map +1 -0
  44. package/dist/views/settings/SearchDataCard.js +126 -0
  45. package/dist/views/settings/SearchDataCard.js.map +1 -0
  46. package/dist/views/settings/SeoDigestCard.d.ts +9 -0
  47. package/dist/views/settings/SeoDigestCard.d.ts.map +1 -0
  48. package/dist/views/settings/SeoDigestCard.js +77 -0
  49. package/dist/views/settings/SeoDigestCard.js.map +1 -0
  50. package/dist/views/settings/SeoSettingsTab.d.ts.map +1 -1
  51. package/dist/views/settings/SeoSettingsTab.js +3 -1
  52. package/dist/views/settings/SeoSettingsTab.js.map +1 -1
  53. package/dist/views/settings/useAiSettings.d.ts +12 -0
  54. package/dist/views/settings/useAiSettings.d.ts.map +1 -1
  55. package/dist/views/settings/useAiSettings.js +29 -1
  56. package/dist/views/settings/useAiSettings.js.map +1 -1
  57. package/package.json +3 -3
  58. package/src/__tests__/components/seo-editor-pane.render.test.tsx +25 -3
  59. package/src/__tests__/lib/seo-service-errors.test.ts +111 -0
  60. package/src/__tests__/views/ai-settings.render.test.tsx +38 -8
  61. package/src/__tests__/views/redirects-pane.render.test.tsx +28 -2
  62. package/src/__tests__/views/seo-settings.render.test.tsx +156 -4
  63. package/src/components/seo/SeoCopilotDrawer.tsx +4 -0
  64. package/src/components/seo/SeoEditorPane.tsx +13 -0
  65. package/src/components/seo/SeoIssueFixDrawer.tsx +4 -0
  66. package/src/components/seo/SeoSearchStats.tsx +183 -0
  67. package/src/lib/seo-service.ts +107 -2
  68. package/src/views/seo/OverviewTab.tsx +1 -1
  69. package/src/views/seo/RedirectsTab.tsx +6 -0
  70. package/src/views/settings/AISettingsTab.tsx +1 -0
  71. package/src/views/settings/AiFeaturesCard.tsx +59 -2
  72. package/src/views/settings/SearchDataCard.tsx +390 -0
  73. package/src/views/settings/SeoDigestCard.tsx +164 -0
  74. package/src/views/settings/SeoSettingsTab.tsx +4 -0
  75. package/src/views/settings/useAiSettings.ts +71 -2
@@ -1 +1 @@
1
- {"version":3,"file":"RedirectsTab.d.ts","sourceRoot":"","sources":["../../../src/views/seo/RedirectsTab.tsx"],"names":[],"mappings":"AAqTA,wBAAgB,YAAY,4CA2N3B"}
1
+ {"version":3,"file":"RedirectsTab.d.ts","sourceRoot":"","sources":["../../../src/views/seo/RedirectsTab.tsx"],"names":[],"mappings":"AA2TA,wBAAgB,YAAY,4CA2N3B"}
@@ -71,6 +71,12 @@ function Ai404RecoveryCard({ onApplied }) {
71
71
  ? ` ${res.autoApplied} high-confidence redirect${res.autoApplied === 1 ? '' : 's'} applied automatically.`
72
72
  : '';
73
73
  toast.success(`Generated 404 recovery suggestions.${autoMsg}`);
74
+ if (res.governanceBlocked) {
75
+ // AI governance vetoed the auto-apply (eligible plans were stored as
76
+ // pending suggestions). Tell the operator why, since the SEO module's
77
+ // "Auto-apply" toggle alone no longer decides.
78
+ toast.info(`Auto-apply skipped: ${res.governanceBlocked}`);
79
+ }
74
80
  refetch();
75
81
  }
76
82
  async function handleAccept(id) {
@@ -1 +1 @@
1
- {"version":3,"file":"RedirectsTab.js","sourceRoot":"","sources":["../../../src/views/seo/RedirectsTab.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"RedirectsTab.js","sourceRoot":"","sources":["../../../src/views/seo/RedirectsTab.tsx"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"AISettingsTab.d.ts","sourceRoot":"","sources":["../../../src/views/settings/AISettingsTab.tsx"],"names":[],"mappings":"AA6BA,MAAM,WAAW,kBAAkB;IACjC,2DAA2D;IAC3D,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,uFAAuF;IACvF,MAAM,CAAC,EAAE,OAAO,CAAA;CACjB;AAED,wBAAgB,aAAa,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,kBAAkB,2CAgIjE"}
1
+ {"version":3,"file":"AISettingsTab.d.ts","sourceRoot":"","sources":["../../../src/views/settings/AISettingsTab.tsx"],"names":[],"mappings":"AA6BA,MAAM,WAAW,kBAAkB;IACjC,2DAA2D;IAC3D,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,uFAAuF;IACvF,MAAM,CAAC,EAAE,OAAO,CAAA;CACjB;AAED,wBAAgB,aAAa,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,kBAAkB,2CAiIjE"}
@@ -52,7 +52,7 @@ export function AISettingsTab({ role, config }) {
52
52
  if (ai.loading) {
53
53
  return (_jsxs("div", { className: "space-y-4", "aria-busy": "true", "aria-live": "polite", children: [_jsx("span", { className: "sr-only", children: "Loading AI settings\u2026" }), [0, 1, 2].map((i) => (_jsxs("div", { className: "border-border bg-card rounded-lg border p-6", children: [_jsx("div", { className: "bg-muted mb-4 h-4 w-40 animate-pulse rounded" }), _jsxs("div", { className: "space-y-3", children: [_jsx("div", { className: "bg-muted h-9 w-full animate-pulse rounded" }), _jsx("div", { className: "bg-muted h-9 w-full animate-pulse rounded" })] })] }, i)))] }));
54
54
  }
55
- return (_jsxs("div", { className: "space-y-4", children: [ai.loadError && (_jsxs("div", { role: "alert", className: "border-destructive/30 bg-destructive/10 text-destructive flex items-center gap-3 rounded-lg border p-4 text-sm", children: [_jsx(AlertTriangle, { size: 16, className: "shrink-0", "aria-hidden": "true" }), _jsx("span", { className: "flex-1", children: ai.loadError }), _jsx("button", { type: "button", onClick: ai.refetch, className: "border-destructive/40 rounded-md border px-3 py-1 transition-colors hover:opacity-80", children: "Retry" })] })), !canEdit && (_jsxs("div", { className: "border-border bg-muted text-muted-foreground flex items-center gap-2 rounded-lg border p-4 text-sm", children: [_jsx(Info, { size: 16, className: "shrink-0", "aria-hidden": "true" }), "You have read-only access to AI settings. Only administrators can make changes."] })), _jsx(AssistantCard, { ai: ai, canEdit: canEdit }), _jsx(ProviderConnectionsSection, { ai: ai, canEdit: canEdit }), _jsx(AiFeaturesCard, { features: ai.form.features, models: ai.models, defaultModelId: ai.form.defaultModelId, canEdit: canEdit, onToggle: ai.toggleFeature, onSetFeatureModel: ai.setFeatureModel }), _jsx(BrandVoiceCard, { value: ai.form.brandVoice, canEdit: canEdit, onChange: ai.setBrandVoice, config: config, onAnalyze: canEdit ? ai.analyzeBrandVoice : undefined, onScore: canEdit ? ai.scoreBrandVoice : undefined, editMode: ai.brandVoiceEditMode, onEditModeChange: ai.setBrandVoiceEditMode, aiReadiness: brandVoiceAiReadiness }), _jsx(MonthlyUsageCard, { usage: ai.usage, monthlyTokenLimit: ai.form.monthlyTokenLimit, onChangeLimit: ai.setMonthlyTokenLimit, budgetError: ai.budgetError, canEdit: canEdit }), ai.saveState === 'error' && ai.saveError && (_jsxs("div", { role: "alert", className: "border-destructive/30 bg-destructive/10 text-destructive flex items-center gap-3 rounded-lg border p-4 text-sm", children: [_jsx(AlertTriangle, { size: 16, className: "shrink-0", "aria-hidden": "true" }), _jsx("span", { className: "flex-1", children: ai.saveError })] })), _jsx(SettingsSaveBar, { dirty: ai.dirty, canEdit: canEdit, hasErrors: Boolean(ai.budgetError), saveState: ai.saveState, onSave: ai.save, onReset: ai.reset })] }));
55
+ return (_jsxs("div", { className: "space-y-4", children: [ai.loadError && (_jsxs("div", { role: "alert", className: "border-destructive/30 bg-destructive/10 text-destructive flex items-center gap-3 rounded-lg border p-4 text-sm", children: [_jsx(AlertTriangle, { size: 16, className: "shrink-0", "aria-hidden": "true" }), _jsx("span", { className: "flex-1", children: ai.loadError }), _jsx("button", { type: "button", onClick: ai.refetch, className: "border-destructive/40 rounded-md border px-3 py-1 transition-colors hover:opacity-80", children: "Retry" })] })), !canEdit && (_jsxs("div", { className: "border-border bg-muted text-muted-foreground flex items-center gap-2 rounded-lg border p-4 text-sm", children: [_jsx(Info, { size: 16, className: "shrink-0", "aria-hidden": "true" }), "You have read-only access to AI settings. Only administrators can make changes."] })), _jsx(AssistantCard, { ai: ai, canEdit: canEdit }), _jsx(ProviderConnectionsSection, { ai: ai, canEdit: canEdit }), _jsx(AiFeaturesCard, { features: ai.form.features, models: ai.models, defaultModelId: ai.form.defaultModelId, canEdit: canEdit, onToggle: ai.toggleFeature, onSetFeatureModel: ai.setFeatureModel, onSetGovernance: ai.setFeatureGovernance }), _jsx(BrandVoiceCard, { value: ai.form.brandVoice, canEdit: canEdit, onChange: ai.setBrandVoice, config: config, onAnalyze: canEdit ? ai.analyzeBrandVoice : undefined, onScore: canEdit ? ai.scoreBrandVoice : undefined, editMode: ai.brandVoiceEditMode, onEditModeChange: ai.setBrandVoiceEditMode, aiReadiness: brandVoiceAiReadiness }), _jsx(MonthlyUsageCard, { usage: ai.usage, monthlyTokenLimit: ai.form.monthlyTokenLimit, onChangeLimit: ai.setMonthlyTokenLimit, budgetError: ai.budgetError, canEdit: canEdit }), ai.saveState === 'error' && ai.saveError && (_jsxs("div", { role: "alert", className: "border-destructive/30 bg-destructive/10 text-destructive flex items-center gap-3 rounded-lg border p-4 text-sm", children: [_jsx(AlertTriangle, { size: 16, className: "shrink-0", "aria-hidden": "true" }), _jsx("span", { className: "flex-1", children: ai.saveError })] })), _jsx(SettingsSaveBar, { dirty: ai.dirty, canEdit: canEdit, hasErrors: Boolean(ai.budgetError), saveState: ai.saveState, onSave: ai.save, onReset: ai.reset })] }));
56
56
  }
57
57
  // ---------------------------------------------------------------------------
58
58
  // AI Assistant — default provider + default model
@@ -1 +1 @@
1
- {"version":3,"file":"AISettingsTab.js","sourceRoot":"","sources":["../../../src/views/settings/AISettingsTab.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"AISettingsTab.js","sourceRoot":"","sources":["../../../src/views/settings/AISettingsTab.tsx"],"names":[],"mappings":"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"}
@@ -3,15 +3,20 @@ import type { AiFeatureView, AiModelView } from './useAiSettings.js';
3
3
  * Global AI feature toggles with per-feature model routing. Each switch persists
4
4
  * (via the Save bar) to the shared `ai.features.*` flags; the optional model
5
5
  * picker overrides which model that feature uses (otherwise it inherits the
6
- * default). Enforcement across modules lands in a later phase; here we surface
7
- * and store the operator's intent.
6
+ * default). The governance flags (approval, bulk apply, daily cap) are enforced
7
+ * by the governed AI runtime and the auto-apply gates in core.
8
8
  */
9
- export declare function AiFeaturesCard({ features, models, defaultModelId, canEdit, onToggle, onSetFeatureModel, }: {
9
+ export declare function AiFeaturesCard({ features, models, defaultModelId, canEdit, onToggle, onSetFeatureModel, onSetGovernance, }: {
10
10
  features: AiFeatureView[];
11
11
  models: AiModelView[];
12
12
  defaultModelId: string;
13
13
  canEdit: boolean;
14
14
  onToggle: (key: string, enabled: boolean) => void;
15
15
  onSetFeatureModel: (key: string, modelId: string) => void;
16
+ onSetGovernance: (key: string, patch: Partial<{
17
+ approvalRequired: boolean;
18
+ allowBulkApply: boolean;
19
+ maxRequestsPerDay: string;
20
+ }>) => void;
16
21
  }): import("react/jsx-runtime").JSX.Element;
17
22
  //# sourceMappingURL=AiFeaturesCard.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"AiFeaturesCard.d.ts","sourceRoot":"","sources":["../../../src/views/settings/AiFeaturesCard.tsx"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAA;AAKpE;;;;;;GAMG;AACH,wBAAgB,cAAc,CAAC,EAC7B,QAAQ,EACR,MAAM,EACN,cAAc,EACd,OAAO,EACP,QAAQ,EACR,iBAAiB,GAClB,EAAE;IACD,QAAQ,EAAE,aAAa,EAAE,CAAA;IACzB,MAAM,EAAE,WAAW,EAAE,CAAA;IACrB,cAAc,EAAE,MAAM,CAAA;IACtB,OAAO,EAAE,OAAO,CAAA;IAChB,QAAQ,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,KAAK,IAAI,CAAA;IACjD,iBAAiB,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,KAAK,IAAI,CAAA;CAC1D,2CAyBA"}
1
+ {"version":3,"file":"AiFeaturesCard.d.ts","sourceRoot":"","sources":["../../../src/views/settings/AiFeaturesCard.tsx"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAA;AAKpE;;;;;;GAMG;AACH,wBAAgB,cAAc,CAAC,EAC7B,QAAQ,EACR,MAAM,EACN,cAAc,EACd,OAAO,EACP,QAAQ,EACR,iBAAiB,EACjB,eAAe,GAChB,EAAE;IACD,QAAQ,EAAE,aAAa,EAAE,CAAA;IACzB,MAAM,EAAE,WAAW,EAAE,CAAA;IACrB,cAAc,EAAE,MAAM,CAAA;IACtB,OAAO,EAAE,OAAO,CAAA;IAChB,QAAQ,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,KAAK,IAAI,CAAA;IACjD,iBAAiB,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,KAAK,IAAI,CAAA;IACzD,eAAe,EAAE,CACf,GAAG,EAAE,MAAM,EACX,KAAK,EAAE,OAAO,CAAC;QACb,gBAAgB,EAAE,OAAO,CAAA;QACzB,cAAc,EAAE,OAAO,CAAA;QACvB,iBAAiB,EAAE,MAAM,CAAA;KAC1B,CAAC,KACC,IAAI,CAAA;CACV,2CA0BA"}
@@ -9,14 +9,15 @@ const SELECT_CLASS = 'w-full rounded-md border border-border bg-input-background
9
9
  * Global AI feature toggles with per-feature model routing. Each switch persists
10
10
  * (via the Save bar) to the shared `ai.features.*` flags; the optional model
11
11
  * picker overrides which model that feature uses (otherwise it inherits the
12
- * default). Enforcement across modules lands in a later phase; here we surface
13
- * and store the operator's intent.
12
+ * default). The governance flags (approval, bulk apply, daily cap) are enforced
13
+ * by the governed AI runtime and the auto-apply gates in core.
14
14
  */
15
- export function AiFeaturesCard({ features, models, defaultModelId, canEdit, onToggle, onSetFeatureModel, }) {
16
- return (_jsx(SettingsCard, { title: "AI Features", description: "Turn individual AI-powered features on or off, and optionally route each to a specific model.", children: features.length === 0 ? (_jsx("p", { className: "text-muted-foreground text-sm", children: "No AI features are available." })) : (_jsx("div", { className: "divide-border divide-y", children: features.map((f) => (_jsx(FeatureRow, { feature: f, models: models, defaultModelId: defaultModelId, canEdit: canEdit, onToggle: onToggle, onSetFeatureModel: onSetFeatureModel }, f.key))) })) }));
15
+ export function AiFeaturesCard({ features, models, defaultModelId, canEdit, onToggle, onSetFeatureModel, onSetGovernance, }) {
16
+ return (_jsx(SettingsCard, { title: "AI Features", description: "Turn individual AI-powered features on or off, and optionally route each to a specific model.", children: features.length === 0 ? (_jsx("p", { className: "text-muted-foreground text-sm", children: "No AI features are available." })) : (_jsx("div", { className: "divide-border divide-y", children: features.map((f) => (_jsx(FeatureRow, { feature: f, models: models, defaultModelId: defaultModelId, canEdit: canEdit, onToggle: onToggle, onSetFeatureModel: onSetFeatureModel, onSetGovernance: onSetGovernance }, f.key))) })) }));
17
17
  }
18
- function FeatureRow({ feature, models, defaultModelId, canEdit, onToggle, onSetFeatureModel, }) {
18
+ function FeatureRow({ feature, models, defaultModelId, canEdit, onToggle, onSetFeatureModel, onSetGovernance, }) {
19
19
  const selectId = useId();
20
+ const capId = useId();
20
21
  const required = feature.requiredCapabilities ?? [];
21
22
  const effective = effectiveFeatureModel(feature.modelId, defaultModelId, required, models);
22
23
  const defaultModel = models.find((m) => m.id === defaultModelId || m.providerModelId === defaultModelId);
@@ -29,6 +30,6 @@ function FeatureRow({ feature, models, defaultModelId, canEdit, onToggle, onSetF
29
30
  return (_jsxs("option", { value: m.id, disabled: !compatible, children: [m.displayName, m.status === 'unavailable' ? ' (unavailable)' : '', m.status !== 'unavailable' && !compatible ? ' (incompatible)' : ''] }, m.id));
30
31
  })] })) : (_jsx("p", { className: "text-muted-foreground text-sm", children: "Connect a provider and refresh models to route this feature." })), hasModels && !effective.isOverride && (_jsx("p", { className: "text-muted-foreground mt-1 text-sm", children: effective.model
31
32
  ? `Uses the default model (${effective.model.displayName}).`
32
- : 'No default model selected yet — set one in the AI Assistant card above.' })), hasModels && effective.missingCapabilities.length > 0 && (_jsxs("p", { className: "text-warning mt-1.5 flex items-start gap-1.5 text-sm", role: "status", children: [_jsx(AlertTriangle, { size: 14, className: "mt-0.5 shrink-0", "aria-hidden": "true" }), "This model can't do", ' ', effective.missingCapabilities.map(capabilityLabel).join(', '), ", which this feature needs. Pick a compatible model."] }))] }))] }));
33
+ : 'No default model selected yet — set one in the AI Assistant card above.' })), hasModels && effective.missingCapabilities.length > 0 && (_jsxs("p", { className: "text-warning mt-1.5 flex items-start gap-1.5 text-sm", role: "status", children: [_jsx(AlertTriangle, { size: 14, className: "mt-0.5 shrink-0", "aria-hidden": "true" }), "This model can't do", ' ', effective.missingCapabilities.map(capabilityLabel).join(', '), ", which this feature needs. Pick a compatible model."] })), _jsxs("div", { className: "border-border mt-4 space-y-3 border-t pt-3", children: [_jsx(SettingsToggleRow, { label: "Require approval", description: "AI output must be human-approved before it is applied.", checked: feature.approvalRequired, disabled: !canEdit, onChange: (v) => onSetGovernance(feature.key, { approvalRequired: v }) }), _jsx(SettingsToggleRow, { label: "Allow bulk apply", description: "Permit applying many AI results in one operation.", checked: feature.allowBulkApply, disabled: !canEdit, onChange: (v) => onSetGovernance(feature.key, { allowBulkApply: v }) }), _jsxs("div", { children: [_jsx("label", { htmlFor: capId, className: "text-muted-foreground mb-1 block text-sm", children: "Max requests per day" }), _jsx("input", { id: capId, type: "text", inputMode: "numeric", value: feature.maxRequestsPerDay, placeholder: "Unlimited", disabled: !canEdit, onChange: (e) => onSetGovernance(feature.key, { maxRequestsPerDay: e.target.value }), className: SELECT_CLASS }), _jsx("p", { className: "text-muted-foreground mt-1 text-sm", children: "Site-wide daily cap for this feature. Leave empty for unlimited." })] })] })] }))] }));
33
34
  }
34
35
  //# sourceMappingURL=AiFeaturesCard.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"AiFeaturesCard.js","sourceRoot":"","sources":["../../../src/views/settings/AiFeaturesCard.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAA;;AAEZ,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAA;AAC5C,OAAO,EAAE,KAAK,EAAE,MAAM,OAAO,CAAA;AAC7B,OAAO,EAAE,YAAY,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAA;AACjE,OAAO,EAAE,eAAe,EAAE,qBAAqB,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAA;AAG7F,MAAM,YAAY,GAChB,sNAAsN,CAAA;AAExN;;;;;;GAMG;AACH,MAAM,UAAU,cAAc,CAAC,EAC7B,QAAQ,EACR,MAAM,EACN,cAAc,EACd,OAAO,EACP,QAAQ,EACR,iBAAiB,GAQlB;IACC,OAAO,CACL,KAAC,YAAY,IACX,KAAK,EAAC,aAAa,EACnB,WAAW,EAAC,+FAA+F,YAE1G,QAAQ,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,CACvB,YAAG,SAAS,EAAC,+BAA+B,8CAAkC,CAC/E,CAAC,CAAC,CAAC,CACF,cAAK,SAAS,EAAC,wBAAwB,YACpC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CACnB,KAAC,UAAU,IAET,OAAO,EAAE,CAAC,EACV,MAAM,EAAE,MAAM,EACd,cAAc,EAAE,cAAc,EAC9B,OAAO,EAAE,OAAO,EAChB,QAAQ,EAAE,QAAQ,EAClB,iBAAiB,EAAE,iBAAiB,IAN/B,CAAC,CAAC,GAAG,CAOV,CACH,CAAC,GACE,CACP,GACY,CAChB,CAAA;AACH,CAAC;AAED,SAAS,UAAU,CAAC,EAClB,OAAO,EACP,MAAM,EACN,cAAc,EACd,OAAO,EACP,QAAQ,EACR,iBAAiB,GAQlB;IACC,MAAM,QAAQ,GAAG,KAAK,EAAE,CAAA;IACxB,MAAM,QAAQ,GAAG,OAAO,CAAC,oBAAoB,IAAI,EAAE,CAAA;IACnD,MAAM,SAAS,GAAG,qBAAqB,CAAC,OAAO,CAAC,OAAO,EAAE,cAAc,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAA;IAC1F,MAAM,YAAY,GAAG,MAAM,CAAC,IAAI,CAC9B,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,cAAc,IAAI,CAAC,CAAC,eAAe,KAAK,cAAc,CACvE,CAAA;IAED,MAAM,SAAS,GAAG,MAAM,CAAC,MAAM,GAAG,CAAC,CAAA;IACnC,MAAM,YAAY,GAAG,YAAY;QAC/B,CAAC,CAAC,gBAAgB,YAAY,CAAC,WAAW,GAAG;QAC7C,CAAC,CAAC,mBAAmB,CAAA;IAEvB,OAAO,CACL,eAAK,SAAS,EAAC,MAAM,aACnB,KAAC,iBAAiB,IAChB,KAAK,EAAE,OAAO,CAAC,KAAK,EACpB,WAAW,EAAE,OAAO,CAAC,WAAW,EAChC,OAAO,EAAE,OAAO,CAAC,OAAO,EACxB,QAAQ,EAAE,CAAC,OAAO,EAClB,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC,GACzC,EAED,OAAO,CAAC,OAAO,IAAI,CAClB,eAAK,SAAS,EAAC,WAAW,aACxB,gBAAO,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAC,0CAA0C,sBAEtE,EACP,SAAS,CAAC,CAAC,CAAC,CACX,kBACE,EAAE,EAAE,QAAQ,EACZ,KAAK,EAAE,OAAO,CAAC,OAAO,IAAI,EAAE,EAC5B,QAAQ,EAAE,CAAC,OAAO,EAClB,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,iBAAiB,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAC/D,SAAS,EAAE,YAAY,aAEvB,iBAAQ,KAAK,EAAC,EAAE,YAAE,YAAY,GAAU,EACvC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;gCAChB,MAAM,UAAU,GAAG,iBAAiB,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAA;gCACjD,OAAO,CACL,kBAAmB,KAAK,EAAE,CAAC,CAAC,EAAE,EAAE,QAAQ,EAAE,CAAC,UAAU,aAClD,CAAC,CAAC,WAAW,EACb,CAAC,CAAC,MAAM,KAAK,aAAa,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,EAAE,EAClD,CAAC,CAAC,MAAM,KAAK,aAAa,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,EAAE,KAHxD,CAAC,CAAC,EAAE,CAIR,CACV,CAAA;4BACH,CAAC,CAAC,IACK,CACV,CAAC,CAAC,CAAC,CACF,YAAG,SAAS,EAAC,+BAA+B,6EAExC,CACL,EAEA,SAAS,IAAI,CAAC,SAAS,CAAC,UAAU,IAAI,CACrC,YAAG,SAAS,EAAC,oCAAoC,YAC9C,SAAS,CAAC,KAAK;4BACd,CAAC,CAAC,2BAA2B,SAAS,CAAC,KAAK,CAAC,WAAW,IAAI;4BAC5D,CAAC,CAAC,yEAAyE,GAC3E,CACL,EAEA,SAAS,IAAI,SAAS,CAAC,mBAAmB,CAAC,MAAM,GAAG,CAAC,IAAI,CACxD,aAAG,SAAS,EAAC,sDAAsD,EAAC,IAAI,EAAC,QAAQ,aAC/E,KAAC,aAAa,IAAC,IAAI,EAAE,EAAE,EAAE,SAAS,EAAC,iBAAiB,iBAAa,MAAM,GAAG,yBACjD,GAAG,EAC3B,SAAS,CAAC,mBAAmB,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,4DAE5D,CACL,IACG,CACP,IACG,CACP,CAAA;AACH,CAAC"}
1
+ {"version":3,"file":"AiFeaturesCard.js","sourceRoot":"","sources":["../../../src/views/settings/AiFeaturesCard.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,10 @@
1
+ /**
2
+ * Settings → SEO "Search data" card: Google Search Console service-account
3
+ * credentials, CrUX API key, connection test, and manual sync. Key material is
4
+ * write-only — the server stores it encrypted and never echoes it back, so the
5
+ * inputs stay empty with a "Key stored" badge once saved.
6
+ */
7
+ export declare function SearchDataCard({ canEdit }: {
8
+ canEdit: boolean;
9
+ }): import("react/jsx-runtime").JSX.Element;
10
+ //# sourceMappingURL=SearchDataCard.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SearchDataCard.d.ts","sourceRoot":"","sources":["../../../src/views/settings/SearchDataCard.tsx"],"names":[],"mappings":"AAuCA;;;;;GAKG;AACH,wBAAgB,cAAc,CAAC,EAAE,OAAO,EAAE,EAAE;IAAE,OAAO,EAAE,OAAO,CAAA;CAAE,2CAwV/D"}
@@ -0,0 +1,126 @@
1
+ 'use client';
2
+ import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
3
+ import { useCallback, useEffect, useId, useState } from 'react';
4
+ import { AlertTriangle, CheckCircle2, KeyRound, Loader2, PlugZap, RefreshCw, X } from 'lucide-react';
5
+ import { toast } from 'sonner';
6
+ import { cmsApi } from '../../lib/api.js';
7
+ import { SettingsCard } from './components.js';
8
+ const INPUT_CLASS = 'w-full rounded-md border border-border bg-input-background px-3 py-2 text-base text-foreground focus-visible:ring-2 focus-visible:ring-ring focus-visible:outline-none disabled:cursor-not-allowed disabled:opacity-60';
9
+ const LABEL_CLASS = 'mb-1 flex items-center gap-2 text-sm font-medium text-foreground';
10
+ function KeyStoredBadge() {
11
+ return (_jsxs("span", { className: "text-muted-foreground border-border bg-muted inline-flex items-center gap-1 rounded-md border px-1.5 py-0.5 text-xs", children: [_jsx(CheckCircle2, { size: 11, className: "text-success", "aria-hidden": "true" }), "Key stored"] }));
12
+ }
13
+ /**
14
+ * Settings → SEO "Search data" card: Google Search Console service-account
15
+ * credentials, CrUX API key, connection test, and manual sync. Key material is
16
+ * write-only — the server stores it encrypted and never echoes it back, so the
17
+ * inputs stay empty with a "Key stored" badge once saved.
18
+ */
19
+ export function SearchDataCard({ canEdit }) {
20
+ const propertyId = useId();
21
+ const keyId = useId();
22
+ const cruxId = useId();
23
+ const [status, setStatus] = useState(null);
24
+ const [loading, setLoading] = useState(true);
25
+ const [loadError, setLoadError] = useState(null);
26
+ const [property, setProperty] = useState('');
27
+ const [serviceKey, setServiceKey] = useState('');
28
+ const [cruxKey, setCruxKey] = useState('');
29
+ const [saving, setSaving] = useState(false);
30
+ const [testing, setTesting] = useState(false);
31
+ const [syncing, setSyncing] = useState(false);
32
+ const load = useCallback(async () => {
33
+ setLoading(true);
34
+ setLoadError(null);
35
+ const res = await cmsApi('/seo/search-console');
36
+ if (res.data) {
37
+ setStatus(res.data);
38
+ setProperty(res.data.propertyUrl ?? '');
39
+ }
40
+ else {
41
+ setLoadError(res.error ?? 'Failed to load search data settings');
42
+ }
43
+ setLoading(false);
44
+ }, []);
45
+ useEffect(() => {
46
+ void load();
47
+ }, [load]);
48
+ const dirty = property.trim() !== (status?.propertyUrl ?? '') ||
49
+ serviceKey.trim() !== '' ||
50
+ cruxKey.trim() !== '';
51
+ async function save(extra) {
52
+ setSaving(true);
53
+ const body = { propertyUrl: property.trim(), ...extra };
54
+ if (!extra) {
55
+ if (serviceKey.trim())
56
+ body.serviceAccountKey = serviceKey.trim();
57
+ if (cruxKey.trim())
58
+ body.cruxApiKey = cruxKey.trim();
59
+ }
60
+ const res = await cmsApi('/seo/search-console', {
61
+ method: 'PUT',
62
+ body: JSON.stringify(body),
63
+ });
64
+ setSaving(false);
65
+ if (res.error) {
66
+ toast.error(res.error);
67
+ return;
68
+ }
69
+ toast.success('Search data settings saved');
70
+ setServiceKey('');
71
+ setCruxKey('');
72
+ await load();
73
+ }
74
+ async function testConnection() {
75
+ setTesting(true);
76
+ const res = await cmsApi('/seo/search-console/test', { method: 'POST' });
77
+ setTesting(false);
78
+ if (res.error) {
79
+ toast.error(res.error);
80
+ return;
81
+ }
82
+ if (res.data?.ok) {
83
+ toast.success('Connected to Google Search Console');
84
+ }
85
+ else {
86
+ toast.error(res.data?.message ?? 'Connection test failed');
87
+ }
88
+ await load();
89
+ }
90
+ async function syncNow() {
91
+ setSyncing(true);
92
+ const res = await cmsApi('/seo/search-sync', { method: 'POST' });
93
+ setSyncing(false);
94
+ if (res.error) {
95
+ toast.error(res.error);
96
+ return;
97
+ }
98
+ const state = res.data?.status.state;
99
+ if (state === 'ok') {
100
+ toast.success(`Sync complete — ${res.data?.rowsUpserted ?? 0} rows updated`);
101
+ }
102
+ else if (state === 'partial') {
103
+ toast.warning(res.data?.status.message ?? 'Sync finished with warnings');
104
+ }
105
+ else if (state === 'not-configured') {
106
+ toast.error('Add a service account key and property first.');
107
+ }
108
+ else {
109
+ toast.error(res.data?.status.message ?? 'Sync failed');
110
+ }
111
+ await load();
112
+ }
113
+ if (loading) {
114
+ return (_jsx(SettingsCard, { title: "Search data", description: "Google Search Console and Core Web Vitals feed real search performance into the SEO workspace.", children: _jsxs("div", { className: "space-y-3", "aria-busy": "true", "aria-live": "polite", children: [_jsx("span", { className: "sr-only", children: "Loading search data settings\u2026" }), _jsx("div", { className: "bg-muted h-9 w-full animate-pulse rounded" }), _jsx("div", { className: "bg-muted h-20 w-full animate-pulse rounded" })] }) }));
115
+ }
116
+ if (loadError) {
117
+ return (_jsx(SettingsCard, { title: "Search data", description: "Google Search Console and Core Web Vitals feed real search performance into the SEO workspace.", children: _jsxs("div", { role: "alert", className: "border-destructive/30 bg-destructive/10 text-destructive flex items-center gap-3 rounded-lg border p-4 text-sm", children: [_jsx(AlertTriangle, { size: 16, className: "shrink-0", "aria-hidden": "true" }), _jsx("span", { className: "flex-1", children: loadError }), _jsx("button", { type: "button", onClick: () => void load(), className: "border-destructive/40 rounded-md border px-3 py-1 transition-colors hover:opacity-80", children: "Retry" })] }) }));
118
+ }
119
+ const lastSync = status?.lastSyncAt ? new Date(status.lastSyncAt).toLocaleString() : 'Never';
120
+ return (_jsx(SettingsCard, { title: "Search data", description: "Connect Google Search Console (service account) and the CrUX API to feed real clicks, impressions, and Core Web Vitals into audits, quick wins, and AI suggestions.", children: _jsxs("div", { className: "space-y-4", children: [_jsxs("div", { className: "flex items-center justify-between gap-2 text-sm", children: [_jsx("span", { className: "text-muted-foreground", children: "Status" }), status?.connected ? (_jsxs("span", { className: "text-success inline-flex items-center gap-1 font-medium", children: [_jsx(CheckCircle2, { size: 14, "aria-hidden": "true" }), "Connected"] })) : (_jsxs("span", { className: "text-muted-foreground inline-flex items-center gap-1 font-medium", children: [_jsx(X, { size: 14, "aria-hidden": "true" }), "Not connected"] }))] }), _jsxs("div", { children: [_jsx("label", { htmlFor: propertyId, className: LABEL_CLASS, children: "Search Console property" }), _jsx("input", { id: propertyId, type: "text", autoComplete: "off", spellCheck: false, value: property, disabled: !canEdit, placeholder: status?.suggestedProperty ?? 'sc-domain:example.com', onChange: (e) => setProperty(e.target.value), className: INPUT_CLASS }), _jsxs("p", { className: "text-muted-foreground mt-1 text-sm", children: ["Domain property (", _jsx("code", { children: "sc-domain:example.com" }), ") or URL prefix (", _jsx("code", { children: "https://example.com/" }), ") exactly as it appears in Search Console.", status?.suggestedProperty && !property.trim() && canEdit && (_jsxs(_Fragment, { children: [' ', _jsxs("button", { type: "button", onClick: () => setProperty(status.suggestedProperty ?? ''), className: "text-brand hover:underline", children: ["Use ", status.suggestedProperty] })] }))] })] }), _jsxs("div", { children: [_jsxs("label", { htmlFor: keyId, className: LABEL_CLASS, children: ["Service account key (JSON)", status?.hasServiceAccountKey && _jsx(KeyStoredBadge, {})] }), _jsx("textarea", { id: keyId, rows: 3, value: serviceKey, disabled: !canEdit, autoComplete: "off", spellCheck: false, placeholder: status?.hasServiceAccountKey
121
+ ? 'Paste a new key to replace the stored one'
122
+ : '{ "type": "service_account", "client_email": … }', onChange: (e) => setServiceKey(e.target.value), className: `${INPUT_CLASS} resize-y font-mono text-sm` }), _jsx("p", { className: "text-muted-foreground mt-1 text-sm", children: status?.serviceAccountEmail ? (_jsxs(_Fragment, { children: ["Grant", ' ', _jsx("span", { className: "text-foreground font-medium", children: status.serviceAccountEmail }), ' ', "access in Search Console \u2192 Settings \u2192 Users and permissions."] })) : ('Create a service account in Google Cloud, enable the Search Console API, and add its email as a user on the property.') }), status?.hasServiceAccountKey && canEdit && (_jsxs("button", { type: "button", onClick: () => void save({ serviceAccountKey: '' }), className: "text-muted-foreground hover:text-destructive mt-1 inline-flex items-center gap-1 rounded-md text-sm transition-colors", children: [_jsx(X, { size: 13, "aria-hidden": "true" }), "Remove stored key"] }))] }), _jsxs("div", { children: [_jsxs("label", { htmlFor: cruxId, className: LABEL_CLASS, children: ["CrUX API key", status?.hasCruxApiKey && _jsx(KeyStoredBadge, {})] }), _jsx("input", { id: cruxId, type: "password", autoComplete: "off", value: cruxKey, disabled: !canEdit, placeholder: status?.hasCruxApiKey ? 'Paste a new key to replace the stored one' : 'AIza…', onChange: (e) => setCruxKey(e.target.value), className: INPUT_CLASS }), _jsx("p", { className: "text-muted-foreground mt-1 text-sm", children: "Optional \u2014 collects real-user Core Web Vitals (LCP, INP, CLS) from the Chrome UX Report." }), status?.hasCruxApiKey && canEdit && (_jsxs("button", { type: "button", onClick: () => void save({ cruxApiKey: '' }), className: "text-muted-foreground hover:text-destructive mt-1 inline-flex items-center gap-1 rounded-md text-sm transition-colors", children: [_jsx(X, { size: 13, "aria-hidden": "true" }), "Remove stored key"] }))] }), _jsxs("div", { className: "border-border flex flex-wrap items-center gap-2 border-t pt-4", children: [_jsxs("button", { type: "button", onClick: () => void save(), disabled: !canEdit || saving || !dirty, className: "bg-primary text-primary-foreground inline-flex items-center gap-2 rounded-md px-4 py-2 text-sm font-medium transition-opacity hover:opacity-90 disabled:cursor-not-allowed disabled:opacity-60", children: [saving ? (_jsx(Loader2, { size: 14, className: "animate-spin", "aria-hidden": "true" })) : (_jsx(KeyRound, { size: 14, "aria-hidden": "true" })), "Save credentials"] }), _jsxs("button", { type: "button", onClick: () => void testConnection(), disabled: !canEdit || testing || !status?.hasServiceAccountKey, className: "border-border text-foreground hover:bg-accent inline-flex items-center gap-2 rounded-md border px-4 py-2 text-sm transition-colors disabled:cursor-not-allowed disabled:opacity-60", children: [testing ? (_jsx(Loader2, { size: 14, className: "animate-spin", "aria-hidden": "true" })) : (_jsx(PlugZap, { size: 14, "aria-hidden": "true" })), "Test connection"] }), _jsxs("button", { type: "button", onClick: () => void syncNow(), disabled: !canEdit || syncing || !status?.connected, className: "border-border text-foreground hover:bg-accent inline-flex items-center gap-2 rounded-md border px-4 py-2 text-sm transition-colors disabled:cursor-not-allowed disabled:opacity-60", children: [syncing ? (_jsx(Loader2, { size: 14, className: "animate-spin", "aria-hidden": "true" })) : (_jsx(RefreshCw, { size: 14, "aria-hidden": "true" })), "Sync now"] })] }), _jsxs("div", { className: "space-y-2 text-sm", children: [_jsxs("div", { className: "flex items-center justify-between gap-2", children: [_jsx("span", { className: "text-muted-foreground", children: "Last sync" }), _jsx("span", { className: "text-foreground font-medium", children: lastSync })] }), status?.syncStatus && status.syncStatus.state !== 'ok' && status.syncStatus.message && (_jsxs("div", { role: "status", className: status.syncStatus.state === 'error'
123
+ ? 'border-destructive/30 bg-destructive/10 text-destructive flex items-start gap-2 rounded-md border p-3'
124
+ : 'border-warning/30 bg-warning/10 text-warning flex items-start gap-2 rounded-md border p-3', children: [_jsx(AlertTriangle, { size: 14, className: "mt-0.5 shrink-0", "aria-hidden": "true" }), _jsx("span", { children: status.syncStatus.message })] }))] })] }) }));
125
+ }
126
+ //# sourceMappingURL=SearchDataCard.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SearchDataCard.js","sourceRoot":"","sources":["../../../src/views/settings/SearchDataCard.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,9 @@
1
+ /**
2
+ * Settings → SEO "Weekly SEO digest" card: opt-in toggle, explicit recipient
3
+ * list, last-sent status, and a rate-limited test send. The digest itself is
4
+ * sent by the Monday /cron/seo-scan tick after the persisted audit.
5
+ */
6
+ export declare function SeoDigestCard({ canEdit }: {
7
+ canEdit: boolean;
8
+ }): import("react/jsx-runtime").JSX.Element;
9
+ //# sourceMappingURL=SeoDigestCard.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SeoDigestCard.d.ts","sourceRoot":"","sources":["../../../src/views/settings/SeoDigestCard.tsx"],"names":[],"mappings":"AAgBA;;;;GAIG;AACH,wBAAgB,aAAa,CAAC,EAAE,OAAO,EAAE,EAAE;IAAE,OAAO,EAAE,OAAO,CAAA;CAAE,2CA8I9D"}
@@ -0,0 +1,77 @@
1
+ 'use client';
2
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
3
+ import { useCallback, useEffect, useId, useState } from 'react';
4
+ import { Loader2, Send } from 'lucide-react';
5
+ import { toast } from 'sonner';
6
+ import { fetchDigestSettings, sendTestDigest, updateDigestSettings, } from '../../lib/seo-service.js';
7
+ import { SettingsCard, SettingsToggleRow } from './components.js';
8
+ const INPUT_CLASS = 'w-full rounded-md border border-border bg-input-background px-3 py-2 text-base text-foreground focus-visible:ring-2 focus-visible:ring-ring focus-visible:outline-none disabled:cursor-not-allowed disabled:opacity-60';
9
+ /**
10
+ * Settings → SEO "Weekly SEO digest" card: opt-in toggle, explicit recipient
11
+ * list, last-sent status, and a rate-limited test send. The digest itself is
12
+ * sent by the Monday /cron/seo-scan tick after the persisted audit.
13
+ */
14
+ export function SeoDigestCard({ canEdit }) {
15
+ const recipientsId = useId();
16
+ const [settings, setSettings] = useState(null);
17
+ const [loading, setLoading] = useState(true);
18
+ const [recipientsText, setRecipientsText] = useState('');
19
+ const [saving, setSaving] = useState(false);
20
+ const [sendingTest, setSendingTest] = useState(false);
21
+ const load = useCallback(async () => {
22
+ setLoading(true);
23
+ const s = await fetchDigestSettings();
24
+ if (s) {
25
+ setSettings(s);
26
+ setRecipientsText(s.recipients.join(', '));
27
+ }
28
+ setLoading(false);
29
+ }, []);
30
+ useEffect(() => {
31
+ void load();
32
+ }, [load]);
33
+ async function handleToggle(enabled) {
34
+ const res = await updateDigestSettings({ enabled });
35
+ if (!res.ok) {
36
+ toast.error(res.error ?? 'Failed to update digest settings');
37
+ return;
38
+ }
39
+ toast.success(enabled ? 'Weekly digest enabled' : 'Weekly digest disabled');
40
+ await load();
41
+ }
42
+ async function handleSaveRecipients() {
43
+ setSaving(true);
44
+ const recipients = recipientsText
45
+ .split(',')
46
+ .map((r) => r.trim())
47
+ .filter((r) => r.length > 0);
48
+ const res = await updateDigestSettings({ recipients });
49
+ setSaving(false);
50
+ if (!res.ok) {
51
+ toast.error(res.error ?? 'Failed to save recipients');
52
+ return;
53
+ }
54
+ toast.success('Digest recipients saved');
55
+ await load();
56
+ }
57
+ async function handleTestSend() {
58
+ setSendingTest(true);
59
+ const res = await sendTestDigest();
60
+ setSendingTest(false);
61
+ if (!res.ok) {
62
+ toast.error(res.error ?? 'Test digest failed');
63
+ return;
64
+ }
65
+ toast.success(`Test digest sent to ${res.to ?? 'your email'}`);
66
+ }
67
+ if (loading) {
68
+ return (_jsx(SettingsCard, { title: "Weekly SEO digest", children: _jsxs("div", { className: "text-muted-foreground flex items-center gap-2 text-sm", children: [_jsx(Loader2, { size: 16, className: "motion-safe:animate-spin", "aria-hidden": "true" }), "Loading\u2026"] }) }));
69
+ }
70
+ if (!settings) {
71
+ return (_jsx(SettingsCard, { title: "Weekly SEO digest", children: _jsx("p", { className: "text-destructive text-sm", children: "Failed to load digest settings." }) }));
72
+ }
73
+ return (_jsx(SettingsCard, { title: "Weekly SEO digest", description: "A Monday email with the site score, search performance, quick wins, new issues, and pending proposals. Sent by the weekly audit cron.", children: _jsxs("div", { className: "flex flex-col gap-4", children: [_jsx(SettingsToggleRow, { label: "Send weekly digest", description: "Requires at least one recipient below.", checked: settings.enabled, onChange: handleToggle, disabled: !canEdit }), _jsxs("div", { children: [_jsx("label", { htmlFor: recipientsId, className: "text-foreground mb-1 flex items-center gap-2 text-sm font-medium", children: "Recipients" }), _jsx("input", { id: recipientsId, type: "text", className: INPUT_CLASS, placeholder: "owner@example.com, seo@example.com", value: recipientsText, onChange: (e) => setRecipientsText(e.target.value), disabled: !canEdit }), _jsx("p", { className: "text-muted-foreground mt-1 text-sm", children: "Comma-separated, up to 10 addresses." })] }), _jsxs("div", { className: "flex items-center gap-3", children: [_jsx("button", { type: "button", className: "bg-primary text-primary-foreground rounded-md px-4 py-2 text-base font-medium disabled:cursor-not-allowed disabled:opacity-60", onClick: () => void handleSaveRecipients(), disabled: !canEdit || saving, children: saving ? 'Saving…' : 'Save recipients' }), _jsxs("button", { type: "button", className: "border-border text-foreground inline-flex items-center gap-2 rounded-md border px-4 py-2 text-base font-medium disabled:cursor-not-allowed disabled:opacity-60", onClick: () => void handleTestSend(), disabled: !canEdit || sendingTest, children: [sendingTest ? (_jsx(Loader2, { size: 16, className: "motion-safe:animate-spin", "aria-hidden": "true" })) : (_jsx(Send, { size: 16, "aria-hidden": "true" })), "Send test digest"] })] }), _jsxs("p", { className: "text-muted-foreground text-sm", children: [settings.lastSentAt
74
+ ? `Last sent ${new Date(settings.lastSentAt).toLocaleString()}`
75
+ : 'Never sent', settings.lastError ? (_jsxs("span", { className: "text-destructive", children: [" \u00B7 ", settings.lastError] })) : null] })] }) }));
76
+ }
77
+ //# sourceMappingURL=SeoDigestCard.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SeoDigestCard.js","sourceRoot":"","sources":["../../../src/views/settings/SeoDigestCard.tsx"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"SeoSettingsTab.d.ts","sourceRoot":"","sources":["../../../src/views/settings/SeoSettingsTab.tsx"],"names":[],"mappings":"AAuEA,MAAM,WAAW,mBAAmB;IAClC,UAAU,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAA;IACnC,2DAA2D;IAC3D,IAAI,CAAC,EAAE,MAAM,CAAA;CACd;AAED,wBAAgB,cAAc,CAAC,EAAE,UAAU,EAAE,IAAI,EAAE,EAAE,mBAAmB,2CAwHvE"}
1
+ {"version":3,"file":"SeoSettingsTab.d.ts","sourceRoot":"","sources":["../../../src/views/settings/SeoSettingsTab.tsx"],"names":[],"mappings":"AAyEA,MAAM,WAAW,mBAAmB;IAClC,UAAU,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAA;IACnC,2DAA2D;IAC3D,IAAI,CAAC,EAAE,MAAM,CAAA;CACd;AAED,wBAAgB,cAAc,CAAC,EAAE,UAAU,EAAE,IAAI,EAAE,EAAE,mBAAmB,2CA0HvE"}
@@ -5,6 +5,8 @@ import { AlertTriangle, CheckCircle2, ExternalLink, ImageIcon, Info, Loader2, Re
5
5
  import { siteUrlMatchesAdminOrigin } from '../../lib/preview-link.js';
6
6
  import { MediaPickerModal } from '../../components/MediaPickerModal.js';
7
7
  import { SEOConfigPanel } from '../../components/SEOConfigPanel.js';
8
+ import { SearchDataCard } from './SearchDataCard.js';
9
+ import { SeoDigestCard } from './SeoDigestCard.js';
8
10
  import { ConfirmDangerousSettingDialog, SettingsCard, SettingsSaveBar, SettingsSourceBadge, SettingsToggleRow, SettingsValidationSummary, } from './components.js';
9
11
  import { META_DESCRIPTION_MAX, META_DESCRIPTION_MIN, useSeoSettings, validateTitleTemplateClient, } from './useSeoSettings.js';
10
12
  const INPUT_CLASS = 'w-full rounded-md border border-border bg-input-background px-3 py-2 text-base text-foreground focus-visible:ring-2 focus-visible:ring-ring focus-visible:outline-none disabled:cursor-not-allowed disabled:opacity-60';
@@ -45,7 +47,7 @@ export function SeoSettingsTab({ onNavigate, role }) {
45
47
  if (seo.loading) {
46
48
  return (_jsxs("div", { className: "space-y-4", "aria-busy": "true", "aria-live": "polite", children: [_jsx("span", { className: "sr-only", children: "Loading SEO settings\u2026" }), [0, 1, 2, 3].map((i) => (_jsxs("div", { className: "border-border bg-card rounded-lg border p-6", children: [_jsx("div", { className: "bg-muted mb-4 h-4 w-40 animate-pulse rounded" }), _jsxs("div", { className: "space-y-3", children: [_jsx("div", { className: "bg-muted h-9 w-full animate-pulse rounded" }), _jsx("div", { className: "bg-muted h-9 w-full animate-pulse rounded" })] })] }, i)))] }));
47
49
  }
48
- return (_jsxs("div", { className: "space-y-4", children: [_jsx(SeoWorkspaceCallout, { onNavigate: onNavigate }), seo.loadError && (_jsxs("div", { role: "alert", className: "border-destructive/30 bg-destructive/10 text-destructive flex items-center gap-3 rounded-lg border p-4 text-sm", children: [_jsx(AlertTriangle, { size: 16, className: "shrink-0", "aria-hidden": "true" }), _jsx("span", { className: "flex-1", children: seo.loadError }), _jsx("button", { type: "button", onClick: seo.refetch, className: "border-destructive/40 rounded-md border px-3 py-1 transition-colors hover:opacity-80", children: "Retry" })] })), !canEdit && (_jsxs("div", { className: "border-border bg-muted text-muted-foreground flex items-center gap-2 rounded-lg border p-4 text-sm", children: [_jsx(Info, { size: 16, className: "shrink-0", "aria-hidden": "true" }), "You have read-only access to SEO defaults. Only administrators can make changes."] })), _jsx(SettingsValidationSummary, { issues: seo.issues }), !seo.siteUrl ? (_jsxs("div", { role: "status", className: "border-warning/30 bg-warning/10 text-warning flex items-start gap-2 rounded-lg border p-4 text-sm", children: [_jsx(AlertTriangle, { size: 16, className: "mt-0.5 shrink-0", "aria-hidden": "true" }), "Set the public site URL in Settings \u2192 General. View site and Share stay disabled until it is set."] })) : siteUrlMatchesAdminOrigin(seo.siteUrl) ? (_jsxs("div", { role: "status", className: "border-warning/30 bg-warning/10 text-warning flex items-start gap-2 rounded-lg border p-4 text-sm", children: [_jsx(AlertTriangle, { size: 16, className: "mt-0.5 shrink-0", "aria-hidden": "true" }), "This origin is the admin, not the public site. Set the public site URL to the live apex \u2014 View site and Share stay disabled while it matches this CMS host."] })) : null, _jsx(MetaDefaultsCard, { seo: seo, canEdit: canEdit }), _jsx(OrganizationCard, { seo: seo, canEdit: canEdit }), _jsx(SearchEngineVerificationCard, { seo: seo, canEdit: canEdit }), _jsx(SitemapDefaultsCard, { seo: seo, canEdit: canEdit, onNavigate: onNavigate }), _jsxs("details", { className: "border-border bg-card group rounded-lg border", children: [_jsxs("summary", { className: "text-foreground flex cursor-pointer list-none items-center justify-between p-4 text-base font-medium", children: [_jsx("span", { children: "Advanced & per-collection SEO" }), _jsx("span", { className: "text-muted-foreground text-sm font-normal group-open:hidden", children: "Show" }), _jsx("span", { className: "text-muted-foreground hidden text-sm font-normal group-open:inline", children: "Hide" })] }), _jsxs("div", { className: "border-border border-t p-4", children: [_jsx("p", { className: "text-muted-foreground mb-4 text-sm", children: "Site name, social handle, per-collection schema, and route toggles. These share the same SEO configuration as the defaults above." }), _jsx(SEOConfigPanel, {})] })] }), seo.saveState === 'error' && seo.saveError && (_jsxs("div", { role: "alert", className: "border-destructive/30 bg-destructive/10 text-destructive flex items-center gap-3 rounded-lg border p-4 text-sm", children: [_jsx(AlertTriangle, { size: 16, className: "shrink-0", "aria-hidden": "true" }), _jsx("span", { className: "flex-1", children: seo.saveError }), _jsx("button", { type: "button", onClick: seo.save, className: "border-destructive/40 rounded-md border px-3 py-1 transition-colors hover:opacity-80", children: "Retry" })] })), _jsx(SettingsSaveBar, { dirty: seo.dirty, canEdit: canEdit, hasErrors: seo.hasErrors, saveState: seo.saveState, onSave: seo.save, onReset: seo.reset })] }));
50
+ return (_jsxs("div", { className: "space-y-4", children: [_jsx(SeoWorkspaceCallout, { onNavigate: onNavigate }), seo.loadError && (_jsxs("div", { role: "alert", className: "border-destructive/30 bg-destructive/10 text-destructive flex items-center gap-3 rounded-lg border p-4 text-sm", children: [_jsx(AlertTriangle, { size: 16, className: "shrink-0", "aria-hidden": "true" }), _jsx("span", { className: "flex-1", children: seo.loadError }), _jsx("button", { type: "button", onClick: seo.refetch, className: "border-destructive/40 rounded-md border px-3 py-1 transition-colors hover:opacity-80", children: "Retry" })] })), !canEdit && (_jsxs("div", { className: "border-border bg-muted text-muted-foreground flex items-center gap-2 rounded-lg border p-4 text-sm", children: [_jsx(Info, { size: 16, className: "shrink-0", "aria-hidden": "true" }), "You have read-only access to SEO defaults. Only administrators can make changes."] })), _jsx(SettingsValidationSummary, { issues: seo.issues }), !seo.siteUrl ? (_jsxs("div", { role: "status", className: "border-warning/30 bg-warning/10 text-warning flex items-start gap-2 rounded-lg border p-4 text-sm", children: [_jsx(AlertTriangle, { size: 16, className: "mt-0.5 shrink-0", "aria-hidden": "true" }), "Set the public site URL in Settings \u2192 General. View site and Share stay disabled until it is set."] })) : siteUrlMatchesAdminOrigin(seo.siteUrl) ? (_jsxs("div", { role: "status", className: "border-warning/30 bg-warning/10 text-warning flex items-start gap-2 rounded-lg border p-4 text-sm", children: [_jsx(AlertTriangle, { size: 16, className: "mt-0.5 shrink-0", "aria-hidden": "true" }), "This origin is the admin, not the public site. Set the public site URL to the live apex \u2014 View site and Share stay disabled while it matches this CMS host."] })) : null, _jsx(MetaDefaultsCard, { seo: seo, canEdit: canEdit }), _jsx(OrganizationCard, { seo: seo, canEdit: canEdit }), _jsx(SearchEngineVerificationCard, { seo: seo, canEdit: canEdit }), _jsx(SearchDataCard, { canEdit: canEdit }), _jsx(SeoDigestCard, { canEdit: canEdit }), _jsx(SitemapDefaultsCard, { seo: seo, canEdit: canEdit, onNavigate: onNavigate }), _jsxs("details", { className: "border-border bg-card group rounded-lg border", children: [_jsxs("summary", { className: "text-foreground flex cursor-pointer list-none items-center justify-between p-4 text-base font-medium", children: [_jsx("span", { children: "Advanced & per-collection SEO" }), _jsx("span", { className: "text-muted-foreground text-sm font-normal group-open:hidden", children: "Show" }), _jsx("span", { className: "text-muted-foreground hidden text-sm font-normal group-open:inline", children: "Hide" })] }), _jsxs("div", { className: "border-border border-t p-4", children: [_jsx("p", { className: "text-muted-foreground mb-4 text-sm", children: "Site name, social handle, per-collection schema, and route toggles. These share the same SEO configuration as the defaults above." }), _jsx(SEOConfigPanel, {})] })] }), seo.saveState === 'error' && seo.saveError && (_jsxs("div", { role: "alert", className: "border-destructive/30 bg-destructive/10 text-destructive flex items-center gap-3 rounded-lg border p-4 text-sm", children: [_jsx(AlertTriangle, { size: 16, className: "shrink-0", "aria-hidden": "true" }), _jsx("span", { className: "flex-1", children: seo.saveError }), _jsx("button", { type: "button", onClick: seo.save, className: "border-destructive/40 rounded-md border px-3 py-1 transition-colors hover:opacity-80", children: "Retry" })] })), _jsx(SettingsSaveBar, { dirty: seo.dirty, canEdit: canEdit, hasErrors: seo.hasErrors, saveState: seo.saveState, onSave: seo.save, onReset: seo.reset })] }));
49
51
  }
50
52
  // ---------------------------------------------------------------------------
51
53
  // Full SEO workspace callout