@codeandink/payload-ink 0.0.7-alpha.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 (123) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +64 -0
  3. package/dist/audits/freshness.d.ts +11 -0
  4. package/dist/audits/freshness.d.ts.map +1 -0
  5. package/dist/audits/freshness.js +89 -0
  6. package/dist/audits/freshness.js.map +1 -0
  7. package/dist/audits/seo.d.ts +4 -0
  8. package/dist/audits/seo.d.ts.map +1 -0
  9. package/dist/audits/seo.js +128 -0
  10. package/dist/audits/seo.js.map +1 -0
  11. package/dist/client.d.ts +3 -0
  12. package/dist/client.d.ts.map +1 -0
  13. package/dist/client.js +18 -0
  14. package/dist/client.js.map +1 -0
  15. package/dist/collections/Actions.d.ts +3 -0
  16. package/dist/collections/Actions.d.ts.map +1 -0
  17. package/dist/collections/Actions.js +56 -0
  18. package/dist/collections/Actions.js.map +1 -0
  19. package/dist/collections/Audits.d.ts +3 -0
  20. package/dist/collections/Audits.d.ts.map +1 -0
  21. package/dist/collections/Audits.js +69 -0
  22. package/dist/collections/Audits.js.map +1 -0
  23. package/dist/collections/Insights.d.ts +3 -0
  24. package/dist/collections/Insights.d.ts.map +1 -0
  25. package/dist/collections/Insights.js +99 -0
  26. package/dist/collections/Insights.js.map +1 -0
  27. package/dist/collections/OnboardingProfile.d.ts +3 -0
  28. package/dist/collections/OnboardingProfile.d.ts.map +1 -0
  29. package/dist/collections/OnboardingProfile.js +174 -0
  30. package/dist/collections/OnboardingProfile.js.map +1 -0
  31. package/dist/components/AnalyticsPanel.d.ts +2 -0
  32. package/dist/components/AnalyticsPanel.d.ts.map +1 -0
  33. package/dist/components/AnalyticsPanel.js +151 -0
  34. package/dist/components/AnalyticsPanel.js.map +1 -0
  35. package/dist/components/AuditPanel.d.ts +4 -0
  36. package/dist/components/AuditPanel.d.ts.map +1 -0
  37. package/dist/components/AuditPanel.js +463 -0
  38. package/dist/components/AuditPanel.js.map +1 -0
  39. package/dist/components/AuditsPanel.d.ts +2 -0
  40. package/dist/components/AuditsPanel.d.ts.map +1 -0
  41. package/dist/components/AuditsPanel.js +229 -0
  42. package/dist/components/AuditsPanel.js.map +1 -0
  43. package/dist/components/DigestPanel.d.ts +2 -0
  44. package/dist/components/DigestPanel.d.ts.map +1 -0
  45. package/dist/components/DigestPanel.js +320 -0
  46. package/dist/components/DigestPanel.js.map +1 -0
  47. package/dist/components/FreshnessPanel.d.ts +4 -0
  48. package/dist/components/FreshnessPanel.d.ts.map +1 -0
  49. package/dist/components/FreshnessPanel.js +224 -0
  50. package/dist/components/FreshnessPanel.js.map +1 -0
  51. package/dist/components/InkGradeCell.d.ts +4 -0
  52. package/dist/components/InkGradeCell.d.ts.map +1 -0
  53. package/dist/components/InkGradeCell.js +32 -0
  54. package/dist/components/InkGradeCell.js.map +1 -0
  55. package/dist/components/OnboardingFlow.d.ts +2 -0
  56. package/dist/components/OnboardingFlow.d.ts.map +1 -0
  57. package/dist/components/OnboardingFlow.js +406 -0
  58. package/dist/components/OnboardingFlow.js.map +1 -0
  59. package/dist/components/index.d.ts +8 -0
  60. package/dist/components/index.d.ts.map +1 -0
  61. package/dist/components/index.js +18 -0
  62. package/dist/components/index.js.map +1 -0
  63. package/dist/endpoints/analytics.d.ts +9 -0
  64. package/dist/endpoints/analytics.d.ts.map +1 -0
  65. package/dist/endpoints/analytics.js +68 -0
  66. package/dist/endpoints/analytics.js.map +1 -0
  67. package/dist/endpoints/auditChanges.d.ts +9 -0
  68. package/dist/endpoints/auditChanges.d.ts.map +1 -0
  69. package/dist/endpoints/auditChanges.js +52 -0
  70. package/dist/endpoints/auditChanges.js.map +1 -0
  71. package/dist/endpoints/auditStatus.d.ts +6 -0
  72. package/dist/endpoints/auditStatus.d.ts.map +1 -0
  73. package/dist/endpoints/auditStatus.js +24 -0
  74. package/dist/endpoints/auditStatus.js.map +1 -0
  75. package/dist/endpoints/config.d.ts +8 -0
  76. package/dist/endpoints/config.d.ts.map +1 -0
  77. package/dist/endpoints/config.js +12 -0
  78. package/dist/endpoints/config.js.map +1 -0
  79. package/dist/endpoints/digestPreflight.d.ts +8 -0
  80. package/dist/endpoints/digestPreflight.d.ts.map +1 -0
  81. package/dist/endpoints/digestPreflight.js +79 -0
  82. package/dist/endpoints/digestPreflight.js.map +1 -0
  83. package/dist/endpoints/ga4Test.d.ts +8 -0
  84. package/dist/endpoints/ga4Test.d.ts.map +1 -0
  85. package/dist/endpoints/ga4Test.js +38 -0
  86. package/dist/endpoints/ga4Test.js.map +1 -0
  87. package/dist/endpoints/insights.d.ts +8 -0
  88. package/dist/endpoints/insights.d.ts.map +1 -0
  89. package/dist/endpoints/insights.js +53 -0
  90. package/dist/endpoints/insights.js.map +1 -0
  91. package/dist/endpoints/onboarding.d.ts +4 -0
  92. package/dist/endpoints/onboarding.d.ts.map +1 -0
  93. package/dist/endpoints/onboarding.js +64 -0
  94. package/dist/endpoints/onboarding.js.map +1 -0
  95. package/dist/endpoints/runAudit.d.ts +12 -0
  96. package/dist/endpoints/runAudit.d.ts.map +1 -0
  97. package/dist/endpoints/runAudit.js +174 -0
  98. package/dist/endpoints/runAudit.js.map +1 -0
  99. package/dist/endpoints/runFreshnessAudit.d.ts +13 -0
  100. package/dist/endpoints/runFreshnessAudit.d.ts.map +1 -0
  101. package/dist/endpoints/runFreshnessAudit.js +143 -0
  102. package/dist/endpoints/runFreshnessAudit.js.map +1 -0
  103. package/dist/endpoints/sendDigest.d.ts +10 -0
  104. package/dist/endpoints/sendDigest.d.ts.map +1 -0
  105. package/dist/endpoints/sendDigest.js +259 -0
  106. package/dist/endpoints/sendDigest.js.map +1 -0
  107. package/dist/index.d.ts +4 -0
  108. package/dist/index.d.ts.map +1 -0
  109. package/dist/index.js +6 -0
  110. package/dist/index.js.map +1 -0
  111. package/dist/lib/computeGrade.d.ts +8 -0
  112. package/dist/lib/computeGrade.d.ts.map +1 -0
  113. package/dist/lib/computeGrade.js +48 -0
  114. package/dist/lib/computeGrade.js.map +1 -0
  115. package/dist/plugin.d.ts +28 -0
  116. package/dist/plugin.d.ts.map +1 -0
  117. package/dist/plugin.js +168 -0
  118. package/dist/plugin.js.map +1 -0
  119. package/dist/types.d.ts +99 -0
  120. package/dist/types.d.ts.map +1 -0
  121. package/dist/types.js +3 -0
  122. package/dist/types.js.map +1 -0
  123. package/package.json +75 -0
@@ -0,0 +1,463 @@
1
+ 'use client';
2
+ "use strict";
3
+ Object.defineProperty(exports, "__esModule", { value: true });
4
+ exports.AuditPanel = AuditPanel;
5
+ const jsx_runtime_1 = require("react/jsx-runtime");
6
+ const react_1 = require("react");
7
+ const ink = {
8
+ bg: '#0a0a0a',
9
+ surface: '#141414',
10
+ surfaceElev: '#1c1c1c',
11
+ border: '#262626',
12
+ borderStrong: '#3a3a3a',
13
+ text: '#fafafa',
14
+ textMuted: '#a3a3a3',
15
+ textSubtle: '#737373',
16
+ accent: '#fafafa',
17
+ accentText: '#0a0a0a',
18
+ };
19
+ const gradeColor = {
20
+ A: '#22c55e',
21
+ B: '#84cc16',
22
+ C: '#eab308',
23
+ D: '#f97316',
24
+ F: '#ef4444',
25
+ };
26
+ const mono = "'JetBrains Mono', 'Fira Code', ui-monospace, SFMono-Regular, Menlo, Consolas, monospace";
27
+ function auditToResult(a) {
28
+ const ai = (a.aiResponse ?? null);
29
+ const records = a.findings ?? [];
30
+ const proposals = (ai?.proposals ?? []).map((p) => {
31
+ if (p.pageId && p.collection)
32
+ return p;
33
+ const rec = records.find((r) => r.url === p.url);
34
+ return {
35
+ ...p,
36
+ pageId: p.pageId ?? rec?.pageId,
37
+ collection: p.collection ?? rec?.collection,
38
+ };
39
+ });
40
+ return {
41
+ grade: a.grade ?? '?',
42
+ findingCount: records.length,
43
+ totalScanned: a.totalScanned ?? 0,
44
+ proposals,
45
+ summary: ai?.summary ?? '',
46
+ records,
47
+ };
48
+ }
49
+ function AuditPanel({ embedded = false } = {}) {
50
+ const [loading, setLoading] = (0, react_1.useState)(false);
51
+ const [result, setResult] = (0, react_1.useState)(null);
52
+ const [error, setError] = (0, react_1.useState)(null);
53
+ const [lastRun, setLastRun] = (0, react_1.useState)(null);
54
+ const [usage, setUsage] = (0, react_1.useState)(null);
55
+ const [insightByUrl, setInsightByUrl] = (0, react_1.useState)({});
56
+ const [recentlyApplied, setRecentlyApplied] = (0, react_1.useState)(new Set());
57
+ const [auditId, setAuditId] = (0, react_1.useState)(null);
58
+ const [changes, setChanges] = (0, react_1.useState)(null);
59
+ async function refreshUsage() {
60
+ try {
61
+ const res = await fetch('/api/ink/audit-status');
62
+ if (res.ok)
63
+ setUsage(await res.json());
64
+ }
65
+ catch {
66
+ // ignore
67
+ }
68
+ }
69
+ async function refreshChanges() {
70
+ try {
71
+ const res = await fetch('/api/ink/audit-changes');
72
+ if (res.ok)
73
+ setChanges((await res.json()));
74
+ }
75
+ catch {
76
+ // ignore — staleness display is optional
77
+ }
78
+ }
79
+ async function loadInsightsForAudit(auditId) {
80
+ try {
81
+ const res = await fetch(`/api/ink-insights?where[relatedAudit][equals]=${auditId}&limit=100&depth=0`);
82
+ if (!res.ok)
83
+ return;
84
+ const data = await res.json();
85
+ const map = {};
86
+ for (const ins of data.docs ?? []) {
87
+ if (ins.pageUrl)
88
+ map[ins.pageUrl] = { id: String(ins.id), status: String(ins.status ?? 'new') };
89
+ }
90
+ setInsightByUrl(map);
91
+ }
92
+ catch {
93
+ // ignore
94
+ }
95
+ }
96
+ (0, react_1.useEffect)(() => {
97
+ let cancelled = false;
98
+ fetch('/api/ink-audits?where[type][equals]=seo&limit=1&sort=-createdAt&depth=0')
99
+ .then((r) => (r.ok ? r.json() : null))
100
+ .then((data) => {
101
+ if (cancelled || !data?.docs?.[0])
102
+ return;
103
+ const a = data.docs[0];
104
+ setResult(auditToResult(a));
105
+ setLastRun(a.completedAt ?? a.createdAt ?? null);
106
+ setAuditId(String(a.id));
107
+ loadInsightsForAudit(String(a.id));
108
+ })
109
+ .catch(() => { });
110
+ refreshUsage();
111
+ refreshChanges();
112
+ return () => {
113
+ cancelled = true;
114
+ };
115
+ }, []);
116
+ async function runAudit() {
117
+ setLoading(true);
118
+ setError(null);
119
+ try {
120
+ const res = await fetch('/api/ink/run-audit');
121
+ const data = await res.json();
122
+ if (!res.ok)
123
+ throw new Error(data.error ?? 'Audit failed');
124
+ setResult({
125
+ grade: data.audit.grade ?? '?',
126
+ findingCount: data.findingCount,
127
+ totalScanned: data.totalScanned,
128
+ proposals: data.proposals ?? [],
129
+ summary: data.summary ?? '',
130
+ records: data.audit.findings ?? [],
131
+ });
132
+ setLastRun(data.audit.completedAt ?? data.audit.createdAt ?? new Date().toISOString());
133
+ if (data.aiError)
134
+ setError(`AI partially failed: ${data.aiError}`);
135
+ }
136
+ catch (err) {
137
+ setError(err instanceof Error ? err.message : 'Unknown error');
138
+ }
139
+ finally {
140
+ setLoading(false);
141
+ refreshUsage();
142
+ refreshChanges();
143
+ }
144
+ }
145
+ const atLimit = usage?.atLimit ?? false;
146
+ const noChangesSinceLastRun = Boolean(changes && changes.lastRunAt && !changes.changedSinceLastRun);
147
+ const buttonDisabled = loading || atLimit || noChangesSinceLastRun;
148
+ function isActionedInDb(url) {
149
+ return insightByUrl[url]?.status === 'actioned';
150
+ }
151
+ function handleApplied(url) {
152
+ setRecentlyApplied((prev) => {
153
+ const next = new Set(prev);
154
+ next.add(url);
155
+ return next;
156
+ });
157
+ setInsightByUrl((prev) => {
158
+ const cur = prev[url];
159
+ if (!cur)
160
+ return prev;
161
+ return { ...prev, [url]: { ...cur, status: 'actioned' } };
162
+ });
163
+ }
164
+ const allProposals = result?.proposals ?? [];
165
+ const visibleProposals = allProposals.filter((p) => !isActionedInDb(p.url) || recentlyApplied.has(p.url));
166
+ const actionedCount = allProposals.filter((p) => isActionedInDb(p.url)).length;
167
+ const totalProposals = allProposals.length;
168
+ const pendingProposals = visibleProposals.filter((p) => !recentlyApplied.has(p.url));
169
+ const [bulkApplying, setBulkApplying] = (0, react_1.useState)(null);
170
+ async function applyAll() {
171
+ if (pendingProposals.length === 0)
172
+ return;
173
+ setBulkApplying({ done: 0, total: pendingProposals.length });
174
+ let done = 0;
175
+ for (const p of pendingProposals) {
176
+ if (!p.pageId || !p.collection) {
177
+ done += 1;
178
+ setBulkApplying({ done, total: pendingProposals.length });
179
+ continue;
180
+ }
181
+ try {
182
+ const meta = {};
183
+ if (p.proposedTitle)
184
+ meta.title = p.proposedTitle;
185
+ if (p.proposedDescription)
186
+ meta.description = p.proposedDescription;
187
+ const pageRes = await fetch(`/api/${p.collection}/${p.pageId}`, {
188
+ method: 'PATCH',
189
+ headers: { 'Content-Type': 'application/json' },
190
+ body: JSON.stringify({ meta }),
191
+ });
192
+ if (!pageRes.ok)
193
+ throw new Error(`page ${p.url}`);
194
+ let insightId = insightByUrl[p.url]?.id;
195
+ if (!insightId && auditId) {
196
+ const q = new URLSearchParams({
197
+ 'where[pageUrl][equals]': p.url,
198
+ 'where[relatedAudit][equals]': auditId,
199
+ limit: '1',
200
+ depth: '0',
201
+ });
202
+ const lookup = await fetch(`/api/ink-insights?${q.toString()}`);
203
+ if (lookup.ok) {
204
+ const data = await lookup.json();
205
+ insightId = data?.docs?.[0]?.id ? String(data.docs[0].id) : undefined;
206
+ }
207
+ }
208
+ if (insightId) {
209
+ await fetch(`/api/ink-insights/${insightId}`, {
210
+ method: 'PATCH',
211
+ headers: { 'Content-Type': 'application/json' },
212
+ body: JSON.stringify({ status: 'actioned' }),
213
+ });
214
+ }
215
+ handleApplied(p.url);
216
+ }
217
+ catch {
218
+ // continue with the next one — surface partial failures via missing items
219
+ }
220
+ done += 1;
221
+ setBulkApplying({ done, total: pendingProposals.length });
222
+ }
223
+ setBulkApplying(null);
224
+ }
225
+ const body = ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsxs)("div", { style: { display: 'flex', alignItems: 'center', gap: '16px', marginTop: embedded ? 0 : '20px', flexWrap: 'wrap' }, children: [(0, jsx_runtime_1.jsx)("button", { onClick: runAudit, disabled: buttonDisabled, style: {
226
+ background: buttonDisabled ? ink.borderStrong : ink.accent,
227
+ color: buttonDisabled ? ink.textSubtle : ink.accentText,
228
+ border: 'none',
229
+ padding: '10px 20px',
230
+ cursor: buttonDisabled ? 'not-allowed' : 'pointer',
231
+ fontFamily: mono,
232
+ fontSize: '12px',
233
+ fontWeight: 700,
234
+ textTransform: 'uppercase',
235
+ letterSpacing: '0.08em',
236
+ }, children: loading
237
+ ? 'Running…'
238
+ : atLimit
239
+ ? 'Daily limit reached'
240
+ : noChangesSinceLastRun
241
+ ? 'No changes to audit'
242
+ : 'Run SEO audit' }), usage && ((0, jsx_runtime_1.jsxs)("span", { style: { fontSize: '11px', color: ink.textMuted, letterSpacing: '0.05em' }, children: [usage.usedToday, " / ", usage.dailyLimit, " today"] })), lastRun && ((0, jsx_runtime_1.jsxs)("span", { style: { color: ink.textSubtle, fontSize: '11px' }, children: ["last run ", timeAgo(lastRun)] })), changes && changes.changedSinceLastRun && changes.lastRunAt && ((0, jsx_runtime_1.jsxs)("span", { style: { fontSize: '11px', color: '#a3e635', letterSpacing: '0.05em' }, children: [changes.changedCount, " ", changes.changedCount === 1 ? 'page' : 'pages', " changed since last run"] }))] }), error && ((0, jsx_runtime_1.jsxs)("p", { style: { color: '#f87171', fontSize: '12px', marginTop: '16px' }, children: ["ERROR > ", error] })), result && ((0, jsx_runtime_1.jsx)("p", { style: { marginTop: '20px', fontSize: '13px', color: ink.textMuted, lineHeight: 1.55 }, children: result.summary || `${result.findingCount} of ${result.totalScanned} pages need meta.` })), result && totalProposals > 0 && ((0, jsx_runtime_1.jsx)(ProgressStrip, { actioned: actionedCount, total: totalProposals })), result && visibleProposals.length > 0 && ((0, jsx_runtime_1.jsxs)(Section, { label: "Proposed meta", style: { marginTop: '24px' }, children: [pendingProposals.length > 1 && ((0, jsx_runtime_1.jsxs)("div", { style: { display: 'flex', alignItems: 'center', gap: '12px', marginBottom: '12px' }, children: [(0, jsx_runtime_1.jsx)("button", { onClick: applyAll, disabled: Boolean(bulkApplying), style: {
243
+ background: bulkApplying ? ink.borderStrong : ink.accent,
244
+ color: bulkApplying ? ink.textSubtle : ink.accentText,
245
+ border: 'none',
246
+ padding: '8px 16px',
247
+ cursor: bulkApplying ? 'not-allowed' : 'pointer',
248
+ fontFamily: mono,
249
+ fontSize: '11px',
250
+ fontWeight: 700,
251
+ textTransform: 'uppercase',
252
+ letterSpacing: '0.08em',
253
+ }, children: bulkApplying
254
+ ? `Applying ${bulkApplying.done} / ${bulkApplying.total}…`
255
+ : `Apply all ${pendingProposals.length}` }), (0, jsx_runtime_1.jsx)("span", { style: { fontSize: '11px', color: ink.textMuted }, children: "Patches every pending proposal in one go." })] })), (0, jsx_runtime_1.jsx)("div", { style: { display: 'flex', flexDirection: 'column', gap: '14px' }, children: visibleProposals.map((p, i) => ((0, jsx_runtime_1.jsx)(ProposalCard, { proposal: p, insightId: insightByUrl[p.url]?.id, auditId: auditId ?? undefined, initiallyApplied: recentlyApplied.has(p.url), onApplied: handleApplied }, `${p.url}-${i}`))) })] })), result && totalProposals > 0 && visibleProposals.length === 0 && ((0, jsx_runtime_1.jsx)("p", { style: { marginTop: '24px', fontSize: '13px', color: ink.textMuted, lineHeight: 1.55, fontStyle: 'italic' }, children: "All proposals from this audit have been applied. Run a fresh audit to find more." })), result && result.records.length > 0 && ((0, jsx_runtime_1.jsx)(Section, { label: `Pages needing meta (${result.records.length})`, style: { marginTop: '24px' }, children: (0, jsx_runtime_1.jsx)("div", { style: {
256
+ background: ink.surfaceElev,
257
+ border: `1px solid ${ink.border}`,
258
+ padding: '12px 14px',
259
+ maxHeight: '240px',
260
+ overflowY: 'auto',
261
+ }, children: result.records.map((r, i) => ((0, jsx_runtime_1.jsxs)("div", { style: {
262
+ fontSize: '12px',
263
+ color: ink.textMuted,
264
+ padding: '6px 0',
265
+ borderBottom: i < result.records.length - 1 ? `1px solid ${ink.border}` : 'none',
266
+ display: 'flex',
267
+ gap: '12px',
268
+ }, children: [(0, jsx_runtime_1.jsx)("span", { style: { color: ink.text, minWidth: '160px', overflow: 'hidden', textOverflow: 'ellipsis' }, children: r.title }), (0, jsx_runtime_1.jsx)("span", { style: { color: ink.textSubtle, flex: 1 }, children: r.url }), typeof r.sessions === 'number' && ((0, jsx_runtime_1.jsx)("span", { style: { color: r.sessions > 0 ? ink.text : ink.textSubtle, fontSize: '11px', minWidth: '60px', textAlign: 'right' }, children: r.sessions.toLocaleString() })), (0, jsx_runtime_1.jsx)("span", { style: { color: ink.textSubtle, fontSize: '10px', letterSpacing: '0.06em' }, children: [
269
+ r.missingTitle ? 'TITLE' : null,
270
+ r.missingDescription ? 'DESC' : null,
271
+ r.missingOgImage ? 'OG' : null,
272
+ r.headingIssues && r.headingIssues.length > 0 ? 'H1' : null,
273
+ ]
274
+ .filter((x) => Boolean(x))
275
+ .join(' · ') || 'OK' })] }, i))) }) }))] }));
276
+ if (embedded)
277
+ return body;
278
+ return ((0, jsx_runtime_1.jsxs)("div", { style: {
279
+ background: ink.bg,
280
+ color: ink.text,
281
+ fontFamily: mono,
282
+ padding: '24px',
283
+ border: `1px solid ${ink.border}`,
284
+ maxWidth: '780px',
285
+ margin: '24px 0',
286
+ }, children: [(0, jsx_runtime_1.jsx)(Header, { grade: result?.grade }), body, (0, jsx_runtime_1.jsx)(CollectionLinks, {})] }));
287
+ }
288
+ function ProposalCard({ proposal, insightId, auditId, initiallyApplied, onApplied, }) {
289
+ const [state, setState] = (0, react_1.useState)(initiallyApplied ? 'applied' : 'idle');
290
+ const [errorMsg, setErrorMsg] = (0, react_1.useState)(null);
291
+ async function apply() {
292
+ if (!proposal.pageId || !proposal.collection)
293
+ return;
294
+ setState('applying');
295
+ setErrorMsg(null);
296
+ try {
297
+ const meta = {};
298
+ if (proposal.proposedTitle)
299
+ meta.title = proposal.proposedTitle;
300
+ if (proposal.proposedDescription)
301
+ meta.description = proposal.proposedDescription;
302
+ const res = await fetch(`/api/${proposal.collection}/${proposal.pageId}`, {
303
+ method: 'PATCH',
304
+ headers: { 'Content-Type': 'application/json' },
305
+ body: JSON.stringify({ meta }),
306
+ });
307
+ if (!res.ok) {
308
+ const text = await res.text();
309
+ throw new Error(`HTTP ${res.status}: ${text.slice(0, 120)}`);
310
+ }
311
+ let resolvedInsightId = insightId;
312
+ if (!resolvedInsightId && auditId) {
313
+ try {
314
+ const q = new URLSearchParams({
315
+ 'where[pageUrl][equals]': proposal.url,
316
+ 'where[relatedAudit][equals]': auditId,
317
+ limit: '1',
318
+ depth: '0',
319
+ });
320
+ const lookup = await fetch(`/api/ink-insights?${q.toString()}`);
321
+ if (lookup.ok) {
322
+ const data = await lookup.json();
323
+ resolvedInsightId = data?.docs?.[0]?.id ? String(data.docs[0].id) : undefined;
324
+ }
325
+ }
326
+ catch {
327
+ // ignore — we'll fall through and surface the missing-id case
328
+ }
329
+ }
330
+ if (!resolvedInsightId) {
331
+ throw new Error('Could not find the related Insight to mark actioned.');
332
+ }
333
+ const insightRes = await fetch(`/api/ink-insights/${resolvedInsightId}`, {
334
+ method: 'PATCH',
335
+ headers: { 'Content-Type': 'application/json' },
336
+ body: JSON.stringify({ status: 'actioned' }),
337
+ });
338
+ if (!insightRes.ok) {
339
+ const text = await insightRes.text();
340
+ throw new Error(`Insight update failed (HTTP ${insightRes.status}): ${text.slice(0, 140)}`);
341
+ }
342
+ setState('applied');
343
+ onApplied(proposal.url);
344
+ }
345
+ catch (err) {
346
+ setState('error');
347
+ setErrorMsg(err instanceof Error ? err.message : 'Apply failed');
348
+ }
349
+ }
350
+ const canApply = Boolean(proposal.pageId && proposal.collection && (proposal.proposedTitle || proposal.proposedDescription));
351
+ const applied = state === 'applied';
352
+ return ((0, jsx_runtime_1.jsxs)("div", { style: {
353
+ background: ink.surface,
354
+ border: `1px solid ${applied ? '#a3e635' : ink.border}`,
355
+ padding: '14px 16px',
356
+ opacity: applied ? 0.85 : 1,
357
+ }, children: [(0, jsx_runtime_1.jsxs)("div", { style: { display: 'flex', justifyContent: 'space-between', alignItems: 'baseline', marginBottom: '10px', gap: '12px' }, children: [(0, jsx_runtime_1.jsx)("span", { style: { fontSize: '12px', color: ink.text, fontWeight: 700 }, children: proposal.url }), proposal.collection && proposal.pageId && ((0, jsx_runtime_1.jsx)("a", { href: `/admin/collections/${proposal.collection}/${proposal.pageId}`, style: { fontSize: '10px', color: ink.textMuted, letterSpacing: '0.1em', textDecoration: 'none' }, children: "EDIT \u2192" }))] }), proposal.proposedTitle && ((0, jsx_runtime_1.jsx)(FieldRow, { label: "Title", value: proposal.proposedTitle, chars: proposal.proposedTitle.length, target: "50-60", ok: proposal.proposedTitle.length >= 50 && proposal.proposedTitle.length <= 60 })), proposal.proposedDescription && ((0, jsx_runtime_1.jsx)(FieldRow, { label: "Description", value: proposal.proposedDescription, chars: proposal.proposedDescription.length, target: "140-160", ok: proposal.proposedDescription.length >= 140 && proposal.proposedDescription.length <= 160 })), (0, jsx_runtime_1.jsx)("p", { style: { margin: '10px 0 0', fontSize: '11px', color: ink.textSubtle, lineHeight: 1.55, fontStyle: 'italic' }, children: proposal.rationale }), (0, jsx_runtime_1.jsxs)("div", { style: { marginTop: '12px', display: 'flex', alignItems: 'center', gap: '12px' }, children: [(0, jsx_runtime_1.jsx)("button", { onClick: apply, disabled: !canApply || state === 'applying' || applied, style: {
358
+ background: applied ? 'transparent' : !canApply || state === 'applying' ? ink.borderStrong : ink.accent,
359
+ color: applied ? '#a3e635' : !canApply || state === 'applying' ? ink.textSubtle : ink.accentText,
360
+ border: applied ? `1px solid #a3e635` : 'none',
361
+ padding: '8px 16px',
362
+ fontSize: '11px',
363
+ fontWeight: 700,
364
+ letterSpacing: '0.08em',
365
+ textTransform: 'uppercase',
366
+ fontFamily: mono,
367
+ cursor: !canApply || state === 'applying' || applied ? 'not-allowed' : 'pointer',
368
+ }, children: applied ? '✓ Applied' : state === 'applying' ? 'Applying…' : 'Apply to page' }), state === 'error' && ((0, jsx_runtime_1.jsx)("span", { style: { fontSize: '11px', color: '#f87171' }, children: errorMsg }))] })] }));
369
+ }
370
+ function FieldRow({ label, value, chars, target, ok }) {
371
+ return ((0, jsx_runtime_1.jsxs)("div", { style: { marginBottom: '8px' }, children: [(0, jsx_runtime_1.jsxs)("div", { style: { display: 'flex', justifyContent: 'space-between', alignItems: 'baseline', marginBottom: '3px' }, children: [(0, jsx_runtime_1.jsx)("span", { style: { fontSize: '9px', letterSpacing: '0.15em', color: ink.textSubtle, fontWeight: 700 }, children: label.toUpperCase() }), (0, jsx_runtime_1.jsxs)("span", { style: { fontSize: '10px', color: ok ? '#a3e635' : '#fbbf24', letterSpacing: '0.05em' }, children: [chars, " chars \u00B7 target ", target] })] }), (0, jsx_runtime_1.jsx)("p", { style: { margin: 0, fontSize: '13px', color: ink.text, lineHeight: 1.55, fontFamily: mono }, children: value })] }));
372
+ }
373
+ function Header({ grade }) {
374
+ return ((0, jsx_runtime_1.jsxs)("div", { style: {
375
+ display: 'flex',
376
+ justifyContent: 'space-between',
377
+ alignItems: 'center',
378
+ borderBottom: `1px solid ${ink.border}`,
379
+ paddingBottom: '12px',
380
+ }, children: [(0, jsx_runtime_1.jsxs)("div", { style: { display: 'flex', alignItems: 'baseline', gap: '12px' }, children: [(0, jsx_runtime_1.jsx)("span", { style: { fontSize: '11px', letterSpacing: '0.15em', color: ink.textMuted, fontWeight: 700 }, children: "INK" }), (0, jsx_runtime_1.jsx)("span", { style: { color: ink.textSubtle }, children: "/" }), (0, jsx_runtime_1.jsx)("span", { style: { fontSize: '11px', letterSpacing: '0.1em', color: ink.text, textTransform: 'uppercase' }, children: "SEO audit" })] }), grade && ((0, jsx_runtime_1.jsx)("span", { style: {
381
+ background: gradeColor[grade] ?? ink.borderStrong,
382
+ color: '#000',
383
+ padding: '4px 12px',
384
+ fontSize: '14px',
385
+ fontWeight: 800,
386
+ fontFamily: mono,
387
+ }, children: grade }))] }));
388
+ }
389
+ function Section({ label, children, style }) {
390
+ return ((0, jsx_runtime_1.jsxs)("div", { style: style, children: [(0, jsx_runtime_1.jsx)("p", { style: { margin: '0 0 10px', fontSize: '10px', letterSpacing: '0.15em', textTransform: 'uppercase', color: ink.textSubtle, fontWeight: 700 }, children: label }), children] }));
391
+ }
392
+ function ProgressStrip({ actioned, total }) {
393
+ const remaining = Math.max(0, total - actioned);
394
+ return ((0, jsx_runtime_1.jsxs)("div", { style: {
395
+ marginTop: '20px',
396
+ background: ink.surface,
397
+ border: `1px solid ${ink.border}`,
398
+ padding: '14px 18px',
399
+ display: 'flex',
400
+ alignItems: 'center',
401
+ gap: '20px',
402
+ }, children: [(0, jsx_runtime_1.jsx)(Donut, { actioned: actioned, total: total }), (0, jsx_runtime_1.jsxs)("div", { style: { display: 'flex', flexDirection: 'column', gap: '2px' }, children: [(0, jsx_runtime_1.jsx)("span", { style: { fontSize: '10px', letterSpacing: '0.15em', textTransform: 'uppercase', color: ink.textSubtle, fontWeight: 700 }, children: "Applied this audit" }), (0, jsx_runtime_1.jsxs)("span", { style: { fontSize: '15px', color: ink.text, fontWeight: 700 }, children: [actioned, " of ", total, ' ', (0, jsx_runtime_1.jsxs)("span", { style: { color: ink.textMuted, fontWeight: 500, fontSize: '13px' }, children: ["\u00B7 ", remaining, " remaining"] })] })] })] }));
403
+ }
404
+ function Donut({ actioned, total }) {
405
+ const size = 56;
406
+ const stroke = 6;
407
+ const radius = (size - stroke) / 2;
408
+ const circumference = 2 * Math.PI * radius;
409
+ const ratio = total > 0 ? actioned / total : 0;
410
+ const offset = circumference * (1 - ratio);
411
+ return ((0, jsx_runtime_1.jsxs)("div", { style: { position: 'relative', width: size, height: size, flexShrink: 0 }, children: [(0, jsx_runtime_1.jsxs)("svg", { width: size, height: size, children: [(0, jsx_runtime_1.jsx)("circle", { cx: size / 2, cy: size / 2, r: radius, fill: "none", stroke: ink.border, strokeWidth: stroke }), (0, jsx_runtime_1.jsx)("circle", { cx: size / 2, cy: size / 2, r: radius, fill: "none", stroke: "#a3e635", strokeWidth: stroke, strokeDasharray: circumference, strokeDashoffset: offset, strokeLinecap: "round", transform: `rotate(-90 ${size / 2} ${size / 2})`, style: { transition: 'stroke-dashoffset 300ms ease' } })] }), (0, jsx_runtime_1.jsxs)("span", { style: {
412
+ position: 'absolute',
413
+ inset: 0,
414
+ display: 'flex',
415
+ alignItems: 'center',
416
+ justifyContent: 'center',
417
+ fontSize: '11px',
418
+ fontWeight: 700,
419
+ color: ink.text,
420
+ fontFamily: mono,
421
+ }, children: [Math.round(ratio * 100), "%"] })] }));
422
+ }
423
+ function CollectionLinks() {
424
+ const links = [
425
+ { label: 'Audits', href: '/admin/collections/ink-audits' },
426
+ { label: 'Insights', href: '/admin/collections/ink-insights' },
427
+ { label: 'Actions', href: '/admin/collections/ink-actions' },
428
+ { label: 'Profile', href: '/admin/collections/ink-onboarding-profile' },
429
+ ];
430
+ return ((0, jsx_runtime_1.jsx)("div", { style: {
431
+ marginTop: '28px',
432
+ paddingTop: '14px',
433
+ borderTop: `1px solid ${ink.border}`,
434
+ display: 'flex',
435
+ gap: '20px',
436
+ flexWrap: 'wrap',
437
+ }, children: links.map((l) => ((0, jsx_runtime_1.jsxs)("a", { href: l.href, style: {
438
+ fontSize: '10px',
439
+ letterSpacing: '0.15em',
440
+ textTransform: 'uppercase',
441
+ color: ink.textMuted,
442
+ fontWeight: 700,
443
+ textDecoration: 'none',
444
+ fontFamily: mono,
445
+ }, children: ["\u2192 ", l.label] }, l.href))) }));
446
+ }
447
+ function timeAgo(iso) {
448
+ const diff = Date.now() - new Date(iso).getTime();
449
+ if (Number.isNaN(diff) || diff < 0)
450
+ return 'just now';
451
+ const s = Math.floor(diff / 1000);
452
+ if (s < 60)
453
+ return 'just now';
454
+ const m = Math.floor(s / 60);
455
+ if (m < 60)
456
+ return `${m}m ago`;
457
+ const h = Math.floor(m / 60);
458
+ if (h < 24)
459
+ return `${h}h ago`;
460
+ const d = Math.floor(h / 24);
461
+ return `${d}d ago`;
462
+ }
463
+ //# sourceMappingURL=AuditPanel.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AuditPanel.js","sourceRoot":"","sources":["../../src/components/AuditPanel.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export declare function AuditsPanel(): import("react/jsx-runtime").JSX.Element;
2
+ //# sourceMappingURL=AuditsPanel.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AuditsPanel.d.ts","sourceRoot":"","sources":["../../src/components/AuditsPanel.tsx"],"names":[],"mappings":"AAuCA,wBAAgB,WAAW,4CA8E1B"}