@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.
- package/LICENSE +21 -0
- package/README.md +64 -0
- package/dist/audits/freshness.d.ts +11 -0
- package/dist/audits/freshness.d.ts.map +1 -0
- package/dist/audits/freshness.js +89 -0
- package/dist/audits/freshness.js.map +1 -0
- package/dist/audits/seo.d.ts +4 -0
- package/dist/audits/seo.d.ts.map +1 -0
- package/dist/audits/seo.js +128 -0
- package/dist/audits/seo.js.map +1 -0
- package/dist/client.d.ts +3 -0
- package/dist/client.d.ts.map +1 -0
- package/dist/client.js +18 -0
- package/dist/client.js.map +1 -0
- package/dist/collections/Actions.d.ts +3 -0
- package/dist/collections/Actions.d.ts.map +1 -0
- package/dist/collections/Actions.js +56 -0
- package/dist/collections/Actions.js.map +1 -0
- package/dist/collections/Audits.d.ts +3 -0
- package/dist/collections/Audits.d.ts.map +1 -0
- package/dist/collections/Audits.js +69 -0
- package/dist/collections/Audits.js.map +1 -0
- package/dist/collections/Insights.d.ts +3 -0
- package/dist/collections/Insights.d.ts.map +1 -0
- package/dist/collections/Insights.js +99 -0
- package/dist/collections/Insights.js.map +1 -0
- package/dist/collections/OnboardingProfile.d.ts +3 -0
- package/dist/collections/OnboardingProfile.d.ts.map +1 -0
- package/dist/collections/OnboardingProfile.js +174 -0
- package/dist/collections/OnboardingProfile.js.map +1 -0
- package/dist/components/AnalyticsPanel.d.ts +2 -0
- package/dist/components/AnalyticsPanel.d.ts.map +1 -0
- package/dist/components/AnalyticsPanel.js +151 -0
- package/dist/components/AnalyticsPanel.js.map +1 -0
- package/dist/components/AuditPanel.d.ts +4 -0
- package/dist/components/AuditPanel.d.ts.map +1 -0
- package/dist/components/AuditPanel.js +463 -0
- package/dist/components/AuditPanel.js.map +1 -0
- package/dist/components/AuditsPanel.d.ts +2 -0
- package/dist/components/AuditsPanel.d.ts.map +1 -0
- package/dist/components/AuditsPanel.js +229 -0
- package/dist/components/AuditsPanel.js.map +1 -0
- package/dist/components/DigestPanel.d.ts +2 -0
- package/dist/components/DigestPanel.d.ts.map +1 -0
- package/dist/components/DigestPanel.js +320 -0
- package/dist/components/DigestPanel.js.map +1 -0
- package/dist/components/FreshnessPanel.d.ts +4 -0
- package/dist/components/FreshnessPanel.d.ts.map +1 -0
- package/dist/components/FreshnessPanel.js +224 -0
- package/dist/components/FreshnessPanel.js.map +1 -0
- package/dist/components/InkGradeCell.d.ts +4 -0
- package/dist/components/InkGradeCell.d.ts.map +1 -0
- package/dist/components/InkGradeCell.js +32 -0
- package/dist/components/InkGradeCell.js.map +1 -0
- package/dist/components/OnboardingFlow.d.ts +2 -0
- package/dist/components/OnboardingFlow.d.ts.map +1 -0
- package/dist/components/OnboardingFlow.js +406 -0
- package/dist/components/OnboardingFlow.js.map +1 -0
- package/dist/components/index.d.ts +8 -0
- package/dist/components/index.d.ts.map +1 -0
- package/dist/components/index.js +18 -0
- package/dist/components/index.js.map +1 -0
- package/dist/endpoints/analytics.d.ts +9 -0
- package/dist/endpoints/analytics.d.ts.map +1 -0
- package/dist/endpoints/analytics.js +68 -0
- package/dist/endpoints/analytics.js.map +1 -0
- package/dist/endpoints/auditChanges.d.ts +9 -0
- package/dist/endpoints/auditChanges.d.ts.map +1 -0
- package/dist/endpoints/auditChanges.js +52 -0
- package/dist/endpoints/auditChanges.js.map +1 -0
- package/dist/endpoints/auditStatus.d.ts +6 -0
- package/dist/endpoints/auditStatus.d.ts.map +1 -0
- package/dist/endpoints/auditStatus.js +24 -0
- package/dist/endpoints/auditStatus.js.map +1 -0
- package/dist/endpoints/config.d.ts +8 -0
- package/dist/endpoints/config.d.ts.map +1 -0
- package/dist/endpoints/config.js +12 -0
- package/dist/endpoints/config.js.map +1 -0
- package/dist/endpoints/digestPreflight.d.ts +8 -0
- package/dist/endpoints/digestPreflight.d.ts.map +1 -0
- package/dist/endpoints/digestPreflight.js +79 -0
- package/dist/endpoints/digestPreflight.js.map +1 -0
- package/dist/endpoints/ga4Test.d.ts +8 -0
- package/dist/endpoints/ga4Test.d.ts.map +1 -0
- package/dist/endpoints/ga4Test.js +38 -0
- package/dist/endpoints/ga4Test.js.map +1 -0
- package/dist/endpoints/insights.d.ts +8 -0
- package/dist/endpoints/insights.d.ts.map +1 -0
- package/dist/endpoints/insights.js +53 -0
- package/dist/endpoints/insights.js.map +1 -0
- package/dist/endpoints/onboarding.d.ts +4 -0
- package/dist/endpoints/onboarding.d.ts.map +1 -0
- package/dist/endpoints/onboarding.js +64 -0
- package/dist/endpoints/onboarding.js.map +1 -0
- package/dist/endpoints/runAudit.d.ts +12 -0
- package/dist/endpoints/runAudit.d.ts.map +1 -0
- package/dist/endpoints/runAudit.js +174 -0
- package/dist/endpoints/runAudit.js.map +1 -0
- package/dist/endpoints/runFreshnessAudit.d.ts +13 -0
- package/dist/endpoints/runFreshnessAudit.d.ts.map +1 -0
- package/dist/endpoints/runFreshnessAudit.js +143 -0
- package/dist/endpoints/runFreshnessAudit.js.map +1 -0
- package/dist/endpoints/sendDigest.d.ts +10 -0
- package/dist/endpoints/sendDigest.d.ts.map +1 -0
- package/dist/endpoints/sendDigest.js +259 -0
- package/dist/endpoints/sendDigest.js.map +1 -0
- package/dist/index.d.ts +4 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +6 -0
- package/dist/index.js.map +1 -0
- package/dist/lib/computeGrade.d.ts +8 -0
- package/dist/lib/computeGrade.d.ts.map +1 -0
- package/dist/lib/computeGrade.js +48 -0
- package/dist/lib/computeGrade.js.map +1 -0
- package/dist/plugin.d.ts +28 -0
- package/dist/plugin.d.ts.map +1 -0
- package/dist/plugin.js +168 -0
- package/dist/plugin.js.map +1 -0
- package/dist/types.d.ts +99 -0
- package/dist/types.d.ts.map +1 -0
- package/dist/types.js +3 -0
- package/dist/types.js.map +1 -0
- package/package.json +75 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"OnboardingProfile.d.ts","sourceRoot":"","sources":["../../src/collections/OnboardingProfile.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAA;AAE/C,eAAO,MAAM,iBAAiB,EAAE,gBAyK/B,CAAA"}
|
|
@@ -0,0 +1,174 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.OnboardingProfile = void 0;
|
|
4
|
+
exports.OnboardingProfile = {
|
|
5
|
+
slug: 'ink-onboarding-profile',
|
|
6
|
+
admin: {
|
|
7
|
+
useAsTitle: 'siteName',
|
|
8
|
+
group: 'INK',
|
|
9
|
+
},
|
|
10
|
+
access: {
|
|
11
|
+
read: () => true,
|
|
12
|
+
},
|
|
13
|
+
fields: [
|
|
14
|
+
{
|
|
15
|
+
name: 'siteName',
|
|
16
|
+
type: 'text',
|
|
17
|
+
required: true,
|
|
18
|
+
},
|
|
19
|
+
{
|
|
20
|
+
name: 'audiences',
|
|
21
|
+
type: 'array',
|
|
22
|
+
required: true,
|
|
23
|
+
minRows: 1,
|
|
24
|
+
fields: [
|
|
25
|
+
{
|
|
26
|
+
name: 'segment',
|
|
27
|
+
type: 'text',
|
|
28
|
+
required: true,
|
|
29
|
+
},
|
|
30
|
+
{
|
|
31
|
+
name: 'description',
|
|
32
|
+
type: 'textarea',
|
|
33
|
+
},
|
|
34
|
+
],
|
|
35
|
+
},
|
|
36
|
+
{
|
|
37
|
+
name: 'objectives',
|
|
38
|
+
type: 'array',
|
|
39
|
+
required: true,
|
|
40
|
+
minRows: 1,
|
|
41
|
+
maxRows: 3,
|
|
42
|
+
fields: [
|
|
43
|
+
{
|
|
44
|
+
name: 'objective',
|
|
45
|
+
type: 'text',
|
|
46
|
+
required: true,
|
|
47
|
+
},
|
|
48
|
+
],
|
|
49
|
+
},
|
|
50
|
+
{
|
|
51
|
+
name: 'conversionEvents',
|
|
52
|
+
type: 'array',
|
|
53
|
+
admin: {
|
|
54
|
+
description: 'Conversion events to track. The eventName must match exactly what your site fires to GA4 (case-sensitive).',
|
|
55
|
+
},
|
|
56
|
+
fields: [
|
|
57
|
+
{
|
|
58
|
+
name: 'eventName',
|
|
59
|
+
type: 'text',
|
|
60
|
+
required: true,
|
|
61
|
+
admin: {
|
|
62
|
+
description: 'GA4 event name, e.g. member_join_click, apply_submit. Must match exactly what fires.',
|
|
63
|
+
},
|
|
64
|
+
},
|
|
65
|
+
{
|
|
66
|
+
name: 'description',
|
|
67
|
+
type: 'text',
|
|
68
|
+
admin: {
|
|
69
|
+
description: 'Optional. Plain-language description of what this conversion represents for the business.',
|
|
70
|
+
},
|
|
71
|
+
},
|
|
72
|
+
],
|
|
73
|
+
},
|
|
74
|
+
{
|
|
75
|
+
name: 'brandVoice',
|
|
76
|
+
type: 'textarea',
|
|
77
|
+
required: true,
|
|
78
|
+
},
|
|
79
|
+
{
|
|
80
|
+
name: 'cadence',
|
|
81
|
+
type: 'select',
|
|
82
|
+
defaultValue: 'weekly',
|
|
83
|
+
options: [
|
|
84
|
+
{ label: 'Weekly', value: 'weekly' },
|
|
85
|
+
{ label: 'Fortnightly', value: 'fortnightly' },
|
|
86
|
+
{ label: 'Monthly', value: 'monthly' },
|
|
87
|
+
],
|
|
88
|
+
},
|
|
89
|
+
{
|
|
90
|
+
name: 'digestEnabled',
|
|
91
|
+
type: 'checkbox',
|
|
92
|
+
defaultValue: true,
|
|
93
|
+
admin: { description: 'When on, INK auto-sends the digest on schedule. Off pauses delivery without losing the cadence.' },
|
|
94
|
+
},
|
|
95
|
+
{
|
|
96
|
+
name: 'lastDigestSentAt',
|
|
97
|
+
type: 'date',
|
|
98
|
+
admin: {
|
|
99
|
+
hidden: true,
|
|
100
|
+
description: 'Internal — set by the cron when a digest is successfully delivered.',
|
|
101
|
+
},
|
|
102
|
+
},
|
|
103
|
+
{
|
|
104
|
+
name: 'competitors',
|
|
105
|
+
type: 'array',
|
|
106
|
+
fields: [
|
|
107
|
+
{
|
|
108
|
+
name: 'url',
|
|
109
|
+
type: 'text',
|
|
110
|
+
},
|
|
111
|
+
],
|
|
112
|
+
},
|
|
113
|
+
{
|
|
114
|
+
name: 'digestRecipients',
|
|
115
|
+
type: 'array',
|
|
116
|
+
required: true,
|
|
117
|
+
fields: [
|
|
118
|
+
{
|
|
119
|
+
name: 'email',
|
|
120
|
+
type: 'email',
|
|
121
|
+
required: true,
|
|
122
|
+
},
|
|
123
|
+
],
|
|
124
|
+
},
|
|
125
|
+
{
|
|
126
|
+
name: 'guardrails',
|
|
127
|
+
type: 'array',
|
|
128
|
+
fields: [
|
|
129
|
+
{
|
|
130
|
+
name: 'rule',
|
|
131
|
+
type: 'text',
|
|
132
|
+
required: true,
|
|
133
|
+
},
|
|
134
|
+
],
|
|
135
|
+
},
|
|
136
|
+
{
|
|
137
|
+
name: 'inkApiKey',
|
|
138
|
+
type: 'text',
|
|
139
|
+
admin: {
|
|
140
|
+
description: 'Optional. Override the API key configured at plugin install.',
|
|
141
|
+
},
|
|
142
|
+
},
|
|
143
|
+
{
|
|
144
|
+
name: 'ga4PropertyId',
|
|
145
|
+
type: 'text',
|
|
146
|
+
admin: {
|
|
147
|
+
description: 'GA4 property ID for analytics. Find it in GA4 → Admin → Property settings.',
|
|
148
|
+
},
|
|
149
|
+
},
|
|
150
|
+
{
|
|
151
|
+
name: 'gaConnectionVerifiedAt',
|
|
152
|
+
type: 'date',
|
|
153
|
+
admin: {
|
|
154
|
+
description: 'Set when the GA4 connection test passes in the install wizard.',
|
|
155
|
+
},
|
|
156
|
+
},
|
|
157
|
+
{
|
|
158
|
+
name: 'lastDigestPreview',
|
|
159
|
+
type: 'json',
|
|
160
|
+
admin: {
|
|
161
|
+
hidden: true,
|
|
162
|
+
description: 'Internal — cached rendered digest from the last Preview click, reused on Send.',
|
|
163
|
+
},
|
|
164
|
+
},
|
|
165
|
+
{
|
|
166
|
+
name: 'completedAt',
|
|
167
|
+
type: 'date',
|
|
168
|
+
admin: {
|
|
169
|
+
description: 'Set when the install wizard finishes. Empty means onboarding is pending.',
|
|
170
|
+
},
|
|
171
|
+
},
|
|
172
|
+
],
|
|
173
|
+
};
|
|
174
|
+
//# sourceMappingURL=OnboardingProfile.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"OnboardingProfile.js","sourceRoot":"","sources":["../../src/collections/OnboardingProfile.ts"],"names":[],"mappings":";;;AAEa,QAAA,iBAAiB,GAAqB;IACjD,IAAI,EAAE,wBAAwB;IAC9B,KAAK,EAAE;QACL,UAAU,EAAE,UAAU;QACtB,KAAK,EAAE,KAAK;KACb;IACD,MAAM,EAAE;QACN,IAAI,EAAE,GAAG,EAAE,CAAC,IAAI;KACjB;IACD,MAAM,EAAE;QACN;YACE,IAAI,EAAE,UAAU;YAChB,IAAI,EAAE,MAAM;YACZ,QAAQ,EAAE,IAAI;SACf;QACD;YACE,IAAI,EAAE,WAAW;YACjB,IAAI,EAAE,OAAO;YACb,QAAQ,EAAE,IAAI;YACd,OAAO,EAAE,CAAC;YACV,MAAM,EAAE;gBACN;oBACE,IAAI,EAAE,SAAS;oBACf,IAAI,EAAE,MAAM;oBACZ,QAAQ,EAAE,IAAI;iBACf;gBACD;oBACE,IAAI,EAAE,aAAa;oBACnB,IAAI,EAAE,UAAU;iBACjB;aACF;SACF;QACD;YACE,IAAI,EAAE,YAAY;YAClB,IAAI,EAAE,OAAO;YACb,QAAQ,EAAE,IAAI;YACd,OAAO,EAAE,CAAC;YACV,OAAO,EAAE,CAAC;YACV,MAAM,EAAE;gBACN;oBACE,IAAI,EAAE,WAAW;oBACjB,IAAI,EAAE,MAAM;oBACZ,QAAQ,EAAE,IAAI;iBACf;aACF;SACF;QACD;YACE,IAAI,EAAE,kBAAkB;YACxB,IAAI,EAAE,OAAO;YACb,KAAK,EAAE;gBACL,WAAW,EAAE,4GAA4G;aAC1H;YACD,MAAM,EAAE;gBACN;oBACE,IAAI,EAAE,WAAW;oBACjB,IAAI,EAAE,MAAM;oBACZ,QAAQ,EAAE,IAAI;oBACd,KAAK,EAAE;wBACL,WAAW,EAAE,sFAAsF;qBACpG;iBACF;gBACD;oBACE,IAAI,EAAE,aAAa;oBACnB,IAAI,EAAE,MAAM;oBACZ,KAAK,EAAE;wBACL,WAAW,EAAE,2FAA2F;qBACzG;iBACF;aACF;SACF;QACD;YACE,IAAI,EAAE,YAAY;YAClB,IAAI,EAAE,UAAU;YAChB,QAAQ,EAAE,IAAI;SACf;QACD;YACE,IAAI,EAAE,SAAS;YACf,IAAI,EAAE,QAAQ;YACd,YAAY,EAAE,QAAQ;YACtB,OAAO,EAAE;gBACP,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,QAAQ,EAAE;gBACpC,EAAE,KAAK,EAAE,aAAa,EAAE,KAAK,EAAE,aAAa,EAAE;gBAC9C,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,SAAS,EAAE;aACvC;SACF;QACD;YACE,IAAI,EAAE,eAAe;YACrB,IAAI,EAAE,UAAU;YAChB,YAAY,EAAE,IAAI;YAClB,KAAK,EAAE,EAAE,WAAW,EAAE,iGAAiG,EAAE;SAC1H;QACD;YACE,IAAI,EAAE,kBAAkB;YACxB,IAAI,EAAE,MAAM;YACZ,KAAK,EAAE;gBACL,MAAM,EAAE,IAAI;gBACZ,WAAW,EAAE,qEAAqE;aACnF;SACF;QACD;YACE,IAAI,EAAE,aAAa;YACnB,IAAI,EAAE,OAAO;YACb,MAAM,EAAE;gBACN;oBACE,IAAI,EAAE,KAAK;oBACX,IAAI,EAAE,MAAM;iBACb;aACF;SACF;QACD;YACE,IAAI,EAAE,kBAAkB;YACxB,IAAI,EAAE,OAAO;YACb,QAAQ,EAAE,IAAI;YACd,MAAM,EAAE;gBACN;oBACE,IAAI,EAAE,OAAO;oBACb,IAAI,EAAE,OAAO;oBACb,QAAQ,EAAE,IAAI;iBACf;aACF;SACF;QACD;YACE,IAAI,EAAE,YAAY;YAClB,IAAI,EAAE,OAAO;YACb,MAAM,EAAE;gBACN;oBACE,IAAI,EAAE,MAAM;oBACZ,IAAI,EAAE,MAAM;oBACZ,QAAQ,EAAE,IAAI;iBACf;aACF;SACF;QACD;YACE,IAAI,EAAE,WAAW;YACjB,IAAI,EAAE,MAAM;YACZ,KAAK,EAAE;gBACL,WAAW,EAAE,8DAA8D;aAC5E;SACF;QACD;YACE,IAAI,EAAE,eAAe;YACrB,IAAI,EAAE,MAAM;YACZ,KAAK,EAAE;gBACL,WAAW,EAAE,4EAA4E;aAC1F;SACF;QACD;YACE,IAAI,EAAE,wBAAwB;YAC9B,IAAI,EAAE,MAAM;YACZ,KAAK,EAAE;gBACL,WAAW,EAAE,gEAAgE;aAC9E;SACF;QACD;YACE,IAAI,EAAE,mBAAmB;YACzB,IAAI,EAAE,MAAM;YACZ,KAAK,EAAE;gBACL,MAAM,EAAE,IAAI;gBACZ,WAAW,EAAE,gFAAgF;aAC9F;SACF;QACD;YACE,IAAI,EAAE,aAAa;YACnB,IAAI,EAAE,MAAM;YACZ,KAAK,EAAE;gBACL,WAAW,EAAE,0EAA0E;aACxF;SACF;KACF;CACF,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AnalyticsPanel.d.ts","sourceRoot":"","sources":["../../src/components/AnalyticsPanel.tsx"],"names":[],"mappings":"AAsCA,wBAAgB,cAAc,4CA+I7B"}
|
|
@@ -0,0 +1,151 @@
|
|
|
1
|
+
'use client';
|
|
2
|
+
"use strict";
|
|
3
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
|
+
exports.AnalyticsPanel = AnalyticsPanel;
|
|
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
|
+
up: '#a3e635',
|
|
17
|
+
down: '#f87171',
|
|
18
|
+
flat: '#a3a3a3',
|
|
19
|
+
};
|
|
20
|
+
const mono = "'JetBrains Mono', 'Fira Code', ui-monospace, SFMono-Regular, Menlo, Consolas, monospace";
|
|
21
|
+
function AnalyticsPanel() {
|
|
22
|
+
const [summary, setSummary] = (0, react_1.useState)(null);
|
|
23
|
+
const [realtime, setRealtime] = (0, react_1.useState)(null);
|
|
24
|
+
const [error, setError] = (0, react_1.useState)(null);
|
|
25
|
+
const [loading, setLoading] = (0, react_1.useState)(true);
|
|
26
|
+
(0, react_1.useEffect)(() => {
|
|
27
|
+
let cancelled = false;
|
|
28
|
+
fetch('/api/ink/analytics?days=7')
|
|
29
|
+
.then(async (r) => {
|
|
30
|
+
const data = await r.json();
|
|
31
|
+
if (!r.ok)
|
|
32
|
+
throw new Error(data.error ?? `Failed (${r.status})`);
|
|
33
|
+
return data;
|
|
34
|
+
})
|
|
35
|
+
.then((data) => {
|
|
36
|
+
if (cancelled)
|
|
37
|
+
return;
|
|
38
|
+
setSummary(data);
|
|
39
|
+
})
|
|
40
|
+
.catch((err) => {
|
|
41
|
+
if (cancelled)
|
|
42
|
+
return;
|
|
43
|
+
setError(err instanceof Error ? err.message : 'Unknown error');
|
|
44
|
+
})
|
|
45
|
+
.finally(() => {
|
|
46
|
+
if (!cancelled)
|
|
47
|
+
setLoading(false);
|
|
48
|
+
});
|
|
49
|
+
return () => {
|
|
50
|
+
cancelled = true;
|
|
51
|
+
};
|
|
52
|
+
}, []);
|
|
53
|
+
(0, react_1.useEffect)(() => {
|
|
54
|
+
let cancelled = false;
|
|
55
|
+
async function loadRealtime() {
|
|
56
|
+
try {
|
|
57
|
+
const res = await fetch('/api/ink/analytics/realtime');
|
|
58
|
+
if (!res.ok)
|
|
59
|
+
return;
|
|
60
|
+
const data = (await res.json());
|
|
61
|
+
if (!cancelled)
|
|
62
|
+
setRealtime(data);
|
|
63
|
+
}
|
|
64
|
+
catch {
|
|
65
|
+
// ignore — realtime is best-effort
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
loadRealtime();
|
|
69
|
+
const interval = setInterval(loadRealtime, 30_000);
|
|
70
|
+
return () => {
|
|
71
|
+
cancelled = true;
|
|
72
|
+
clearInterval(interval);
|
|
73
|
+
};
|
|
74
|
+
}, []);
|
|
75
|
+
return ((0, jsx_runtime_1.jsxs)("div", { style: {
|
|
76
|
+
background: ink.bg,
|
|
77
|
+
color: ink.text,
|
|
78
|
+
fontFamily: mono,
|
|
79
|
+
padding: '24px',
|
|
80
|
+
border: `1px solid ${ink.border}`,
|
|
81
|
+
maxWidth: '780px',
|
|
82
|
+
margin: '24px 0',
|
|
83
|
+
}, children: [(0, jsx_runtime_1.jsx)("div", { style: {
|
|
84
|
+
display: 'flex',
|
|
85
|
+
justifyContent: 'space-between',
|
|
86
|
+
alignItems: 'center',
|
|
87
|
+
borderBottom: `1px solid ${ink.border}`,
|
|
88
|
+
paddingBottom: '12px',
|
|
89
|
+
marginBottom: '20px',
|
|
90
|
+
}, 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: "Analytics \u00B7 7d" })] }) }), realtime && (0, jsx_runtime_1.jsx)(LiveBlock, { data: realtime }), loading && (0, jsx_runtime_1.jsx)("p", { style: { fontSize: '12px', color: ink.textMuted }, children: "Loading\u2026" }), error && (0, jsx_runtime_1.jsxs)("p", { style: { fontSize: '12px', color: ink.down }, children: ["ERROR > ", error] }), summary && ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsxs)("div", { style: { display: 'grid', gridTemplateColumns: 'repeat(3, 1fr)', gap: '16px', marginBottom: '24px' }, children: [(0, jsx_runtime_1.jsx)(Stat, { label: "Sessions", value: summary.sessions.current, delta: summary.sessions.deltaPct, deltaAbs: summary.sessions.deltaAbs }), (0, jsx_runtime_1.jsx)(Stat, { label: "Users", value: summary.users.current }), (0, jsx_runtime_1.jsx)(Stat, { label: "Pageviews", value: summary.pageviews.current })] }), (0, jsx_runtime_1.jsxs)("div", { children: [(0, jsx_runtime_1.jsx)("p", { style: {
|
|
91
|
+
margin: '0 0 10px',
|
|
92
|
+
fontSize: '10px',
|
|
93
|
+
letterSpacing: '0.15em',
|
|
94
|
+
textTransform: 'uppercase',
|
|
95
|
+
color: ink.textSubtle,
|
|
96
|
+
fontWeight: 700,
|
|
97
|
+
}, children: "Top pages \u00B7 7d" }), (0, jsx_runtime_1.jsxs)("div", { style: { background: ink.surfaceElev, border: `1px solid ${ink.border}`, padding: '12px 14px' }, children: [summary.topPages.length === 0 && ((0, jsx_runtime_1.jsx)("p", { style: { fontSize: '12px', color: ink.textSubtle, margin: 0 }, children: "No traffic in window." })), summary.topPages.map((p, i) => ((0, jsx_runtime_1.jsxs)("div", { style: {
|
|
98
|
+
display: 'flex',
|
|
99
|
+
gap: '12px',
|
|
100
|
+
padding: '6px 0',
|
|
101
|
+
borderBottom: i < summary.topPages.length - 1 ? `1px solid ${ink.border}` : 'none',
|
|
102
|
+
fontSize: '12px',
|
|
103
|
+
}, children: [(0, jsx_runtime_1.jsx)("span", { style: { color: ink.textSubtle, minWidth: '18px' }, children: String(i + 1).padStart(2, '0') }), (0, jsx_runtime_1.jsx)("span", { style: { color: ink.text, flex: 1, overflow: 'hidden', textOverflow: 'ellipsis', whiteSpace: 'nowrap' }, children: p.title || p.path }), (0, jsx_runtime_1.jsx)("span", { style: { color: ink.textSubtle, fontSize: '11px' }, children: p.path }), (0, jsx_runtime_1.jsx)("span", { style: { color: ink.text, minWidth: '60px', textAlign: 'right' }, children: p.sessions.toLocaleString() })] }, `${p.path}-${i}`)))] })] })] }))] }));
|
|
104
|
+
}
|
|
105
|
+
function LiveBlock({ data }) {
|
|
106
|
+
const { activeUsers, minutes, topPages } = data;
|
|
107
|
+
// GA4 returns minutesAgo dimension; index 0 = "this minute", 29 = "29 min ago"
|
|
108
|
+
// For a left-to-right chronological sparkline ("now" on the right), reverse.
|
|
109
|
+
const seriesChronological = [...minutes].reverse();
|
|
110
|
+
return ((0, jsx_runtime_1.jsxs)("div", { style: {
|
|
111
|
+
background: ink.surface,
|
|
112
|
+
border: `1px solid ${ink.border}`,
|
|
113
|
+
padding: '18px 20px',
|
|
114
|
+
marginBottom: '24px',
|
|
115
|
+
display: 'flex',
|
|
116
|
+
flexDirection: 'column',
|
|
117
|
+
gap: '14px',
|
|
118
|
+
}, children: [(0, jsx_runtime_1.jsxs)("div", { style: { display: 'flex', alignItems: 'center', gap: '14px' }, children: [(0, jsx_runtime_1.jsx)(PulsingDot, { active: activeUsers > 0 }), (0, jsx_runtime_1.jsxs)("div", { style: { display: 'flex', alignItems: 'baseline', gap: '10px' }, children: [(0, jsx_runtime_1.jsx)("span", { style: { fontSize: '32px', fontWeight: 700, color: ink.text, fontFamily: mono, lineHeight: 1 }, children: activeUsers.toLocaleString() }), (0, jsx_runtime_1.jsx)("span", { style: { fontSize: '11px', letterSpacing: '0.15em', textTransform: 'uppercase', color: ink.textMuted, fontWeight: 700 }, children: activeUsers === 1 ? 'user · live now' : 'users · live now' })] })] }), (0, jsx_runtime_1.jsx)(Sparkline, { values: seriesChronological }), (0, jsx_runtime_1.jsxs)("div", { style: { display: 'flex', justifyContent: 'space-between', fontSize: '10px', color: ink.textSubtle, letterSpacing: '0.08em' }, children: [(0, jsx_runtime_1.jsx)("span", { children: "30 MIN AGO" }), (0, jsx_runtime_1.jsx)("span", { children: "NOW" })] }), topPages.length > 0 && ((0, jsx_runtime_1.jsxs)("div", { style: { marginTop: '6px', borderTop: `1px solid ${ink.border}`, paddingTop: '12px' }, children: [(0, jsx_runtime_1.jsx)("p", { style: { margin: '0 0 8px', fontSize: '10px', letterSpacing: '0.15em', textTransform: 'uppercase', color: ink.textSubtle, fontWeight: 700 }, children: "Active pages" }), topPages.slice(0, 3).map((p, i) => ((0, jsx_runtime_1.jsxs)("div", { style: {
|
|
119
|
+
display: 'flex',
|
|
120
|
+
gap: '12px',
|
|
121
|
+
padding: '4px 0',
|
|
122
|
+
fontSize: '12px',
|
|
123
|
+
color: ink.textMuted,
|
|
124
|
+
}, children: [(0, jsx_runtime_1.jsx)("span", { style: { color: ink.textSubtle, minWidth: '18px' }, children: String(i + 1).padStart(2, '0') }), (0, jsx_runtime_1.jsx)("span", { style: { color: ink.text, flex: 1, overflow: 'hidden', textOverflow: 'ellipsis', whiteSpace: 'nowrap' }, children: p.page }), (0, jsx_runtime_1.jsx)("span", { style: { color: ink.text, minWidth: '40px', textAlign: 'right' }, children: p.users })] }, `${p.page}-${i}`)))] }))] }));
|
|
125
|
+
}
|
|
126
|
+
function PulsingDot({ active }) {
|
|
127
|
+
const color = active ? ink.up : ink.textSubtle;
|
|
128
|
+
return ((0, jsx_runtime_1.jsxs)("svg", { width: 20, height: 20, viewBox: "0 0 20 20", style: { flexShrink: 0 }, children: [active && ((0, jsx_runtime_1.jsxs)("circle", { cx: "10", cy: "10", r: "6", fill: color, opacity: 0.3, children: [(0, jsx_runtime_1.jsx)("animate", { attributeName: "r", values: "6;10;6", dur: "1.8s", repeatCount: "indefinite" }), (0, jsx_runtime_1.jsx)("animate", { attributeName: "opacity", values: "0.4;0;0.4", dur: "1.8s", repeatCount: "indefinite" })] })), (0, jsx_runtime_1.jsx)("circle", { cx: "10", cy: "10", r: "4", fill: color })] }));
|
|
129
|
+
}
|
|
130
|
+
function Sparkline({ values }) {
|
|
131
|
+
const max = Math.max(...values, 1);
|
|
132
|
+
const width = 600;
|
|
133
|
+
const height = 40;
|
|
134
|
+
const gap = 2;
|
|
135
|
+
const barWidth = (width - gap * (values.length - 1)) / values.length;
|
|
136
|
+
return ((0, jsx_runtime_1.jsx)("svg", { width: "100%", height: height, viewBox: `0 0 ${width} ${height}`, preserveAspectRatio: "none", style: { display: 'block' }, children: values.map((v, i) => {
|
|
137
|
+
const h = (v / max) * height;
|
|
138
|
+
const x = i * (barWidth + gap);
|
|
139
|
+
const y = height - h;
|
|
140
|
+
const isLast = i === values.length - 1;
|
|
141
|
+
return ((0, jsx_runtime_1.jsx)("rect", { x: x, y: y, width: barWidth, height: Math.max(h, 1), fill: isLast ? ink.up : v > 0 ? ink.up : ink.border, opacity: isLast ? 1 : v > 0 ? 0.7 : 1 }, i));
|
|
142
|
+
}) }));
|
|
143
|
+
}
|
|
144
|
+
function Stat({ label, value, delta, deltaAbs, }) {
|
|
145
|
+
const showDelta = typeof delta === 'number';
|
|
146
|
+
const direction = !showDelta ? 'flat' : delta > 0 ? 'up' : delta < 0 ? 'down' : 'flat';
|
|
147
|
+
const color = direction === 'up' ? ink.up : direction === 'down' ? ink.down : ink.flat;
|
|
148
|
+
const arrow = direction === 'up' ? '▲' : direction === 'down' ? '▼' : '–';
|
|
149
|
+
return ((0, jsx_runtime_1.jsxs)("div", { style: { background: ink.surface, border: `1px solid ${ink.border}`, padding: '14px 16px' }, children: [(0, jsx_runtime_1.jsx)("p", { style: { margin: 0, fontSize: '10px', letterSpacing: '0.15em', color: ink.textSubtle, fontWeight: 700, textTransform: 'uppercase' }, children: label }), (0, jsx_runtime_1.jsx)("p", { style: { margin: '6px 0 0', fontSize: '24px', color: ink.text, fontWeight: 700, fontFamily: mono }, children: value.toLocaleString() }), showDelta && ((0, jsx_runtime_1.jsxs)("p", { style: { margin: '4px 0 0', fontSize: '11px', color, letterSpacing: '0.05em' }, children: [arrow, " ", Math.abs(delta).toFixed(1), "%", typeof deltaAbs === 'number' && ((0, jsx_runtime_1.jsxs)("span", { style: { color: ink.textSubtle, marginLeft: '6px' }, children: ["(", deltaAbs > 0 ? '+' : '', deltaAbs.toLocaleString(), ")"] })), (0, jsx_runtime_1.jsx)("span", { style: { color: ink.textSubtle, marginLeft: '6px' }, children: "vs prior 7d" })] }))] }));
|
|
150
|
+
}
|
|
151
|
+
//# sourceMappingURL=AnalyticsPanel.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AnalyticsPanel.js","sourceRoot":"","sources":["../../src/components/AnalyticsPanel.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AuditPanel.d.ts","sourceRoot":"","sources":["../../src/components/AuditPanel.tsx"],"names":[],"mappings":"AAwFA,wBAAgB,UAAU,CAAC,EAAE,QAAgB,EAAE,GAAE;IAAE,QAAQ,CAAC,EAAE,OAAO,CAAA;CAAO,2CAyV3E"}
|