@polishd/next 0.2.2 → 0.2.3-dev.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 (150) hide show
  1. package/AGENTS.md +2 -1
  2. package/CHANGELOG.md +238 -0
  3. package/README.md +63 -0
  4. package/bin/doctor.mjs +8 -1
  5. package/dist/ai/digest.d.ts.map +1 -1
  6. package/dist/ai/digest.js +3 -2
  7. package/dist/ai/digest.js.map +1 -1
  8. package/dist/ai/github.d.ts +22 -1
  9. package/dist/ai/github.d.ts.map +1 -1
  10. package/dist/ai/github.js +99 -3
  11. package/dist/ai/github.js.map +1 -1
  12. package/dist/ai/issue-pages.d.ts +52 -0
  13. package/dist/ai/issue-pages.d.ts.map +1 -0
  14. package/dist/ai/issue-pages.js +50 -0
  15. package/dist/ai/issue-pages.js.map +1 -0
  16. package/dist/ai/issues.d.ts +13 -1
  17. package/dist/ai/issues.d.ts.map +1 -1
  18. package/dist/ai/issues.js +60 -4
  19. package/dist/ai/issues.js.map +1 -1
  20. package/dist/ai/summary.d.ts.map +1 -1
  21. package/dist/ai/summary.js +7 -0
  22. package/dist/ai/summary.js.map +1 -1
  23. package/dist/ai/types.d.ts +43 -0
  24. package/dist/ai/types.d.ts.map +1 -1
  25. package/dist/client/dom.d.ts +23 -0
  26. package/dist/client/dom.d.ts.map +1 -1
  27. package/dist/client/dom.js +45 -2
  28. package/dist/client/dom.js.map +1 -1
  29. package/dist/client/init.d.ts.map +1 -1
  30. package/dist/client/init.js +54 -14
  31. package/dist/client/init.js.map +1 -1
  32. package/dist/client/monitor.d.ts.map +1 -1
  33. package/dist/client/monitor.js +5 -1
  34. package/dist/client/monitor.js.map +1 -1
  35. package/dist/client/script-provenance.d.ts +21 -0
  36. package/dist/client/script-provenance.d.ts.map +1 -0
  37. package/dist/client/script-provenance.js +127 -0
  38. package/dist/client/script-provenance.js.map +1 -0
  39. package/dist/config.d.ts +10 -0
  40. package/dist/config.d.ts.map +1 -1
  41. package/dist/config.js +1 -0
  42. package/dist/config.js.map +1 -1
  43. package/dist/dashboard/chrome.d.ts +4 -2
  44. package/dist/dashboard/chrome.d.ts.map +1 -1
  45. package/dist/dashboard/chrome.js +15 -5
  46. package/dist/dashboard/chrome.js.map +1 -1
  47. package/dist/dashboard/design-review-card.d.ts.map +1 -1
  48. package/dist/dashboard/design-review-card.js +3 -3
  49. package/dist/dashboard/design-review-card.js.map +1 -1
  50. package/dist/dashboard/design.d.ts +5 -1
  51. package/dist/dashboard/design.d.ts.map +1 -1
  52. package/dist/dashboard/design.js +3 -2
  53. package/dist/dashboard/design.js.map +1 -1
  54. package/dist/dashboard/drawer.d.ts +34 -0
  55. package/dist/dashboard/drawer.d.ts.map +1 -0
  56. package/dist/dashboard/drawer.js +44 -0
  57. package/dist/dashboard/drawer.js.map +1 -0
  58. package/dist/dashboard/index.d.ts +3 -1
  59. package/dist/dashboard/index.d.ts.map +1 -1
  60. package/dist/dashboard/index.js +48 -37
  61. package/dist/dashboard/index.js.map +1 -1
  62. package/dist/dashboard/installs.d.ts.map +1 -1
  63. package/dist/dashboard/installs.js +2 -1
  64. package/dist/dashboard/installs.js.map +1 -1
  65. package/dist/dashboard/issues.d.ts +9 -0
  66. package/dist/dashboard/issues.d.ts.map +1 -0
  67. package/dist/dashboard/issues.js +81 -0
  68. package/dist/dashboard/issues.js.map +1 -0
  69. package/dist/dashboard/journeys.d.ts.map +1 -1
  70. package/dist/dashboard/journeys.js +4 -2
  71. package/dist/dashboard/journeys.js.map +1 -1
  72. package/dist/dashboard/metric-trends.d.ts +6 -0
  73. package/dist/dashboard/metric-trends.d.ts.map +1 -0
  74. package/dist/dashboard/metric-trends.js +236 -0
  75. package/dist/dashboard/metric-trends.js.map +1 -0
  76. package/dist/dashboard/pages.d.ts.map +1 -1
  77. package/dist/dashboard/pages.js +8 -46
  78. package/dist/dashboard/pages.js.map +1 -1
  79. package/dist/dashboard/settings.d.ts.map +1 -1
  80. package/dist/dashboard/settings.js +6 -2
  81. package/dist/dashboard/settings.js.map +1 -1
  82. package/dist/dashboard/show-more.d.ts.map +1 -1
  83. package/dist/dashboard/show-more.js +1 -1
  84. package/dist/dashboard/show-more.js.map +1 -1
  85. package/dist/dashboard/snapshot-actions.d.ts +16 -0
  86. package/dist/dashboard/snapshot-actions.d.ts.map +1 -0
  87. package/dist/dashboard/snapshot-actions.js +79 -0
  88. package/dist/dashboard/snapshot-actions.js.map +1 -0
  89. package/dist/dashboard/snapshots.d.ts +13 -0
  90. package/dist/dashboard/snapshots.d.ts.map +1 -0
  91. package/dist/dashboard/snapshots.js +88 -0
  92. package/dist/dashboard/snapshots.js.map +1 -0
  93. package/dist/dashboard/summary.d.ts.map +1 -1
  94. package/dist/dashboard/summary.js +11 -6
  95. package/dist/dashboard/summary.js.map +1 -1
  96. package/dist/dashboard/telemetry.d.ts +3 -1
  97. package/dist/dashboard/telemetry.d.ts.map +1 -1
  98. package/dist/dashboard/telemetry.js +55 -12
  99. package/dist/dashboard/telemetry.js.map +1 -1
  100. package/dist/dashboard/ui.d.ts +33 -6
  101. package/dist/dashboard/ui.d.ts.map +1 -1
  102. package/dist/dashboard/ui.js +44 -6
  103. package/dist/dashboard/ui.js.map +1 -1
  104. package/dist/dashboard.css +193 -2
  105. package/dist/server/ingest.d.ts +2 -5
  106. package/dist/server/ingest.d.ts.map +1 -1
  107. package/dist/server/ingest.js +47 -10
  108. package/dist/server/ingest.js.map +1 -1
  109. package/dist/server/queries.d.ts +64 -11
  110. package/dist/server/queries.d.ts.map +1 -1
  111. package/dist/server/queries.js +207 -37
  112. package/dist/server/queries.js.map +1 -1
  113. package/dist/server/reclassify.d.ts +3 -0
  114. package/dist/server/reclassify.d.ts.map +1 -0
  115. package/dist/server/reclassify.js +65 -0
  116. package/dist/server/reclassify.js.map +1 -0
  117. package/dist/server/snapshots.d.ts +81 -0
  118. package/dist/server/snapshots.d.ts.map +1 -0
  119. package/dist/server/snapshots.js +371 -0
  120. package/dist/server/snapshots.js.map +1 -0
  121. package/dist/server/store.d.ts +5 -0
  122. package/dist/server/store.d.ts.map +1 -1
  123. package/dist/server/store.js +17 -0
  124. package/dist/server/store.js.map +1 -1
  125. package/dist/server/telemetry.d.ts +13 -0
  126. package/dist/server/telemetry.d.ts.map +1 -1
  127. package/dist/server/telemetry.js +28 -7
  128. package/dist/server/telemetry.js.map +1 -1
  129. package/dist/shared/capture-status.d.ts +99 -0
  130. package/dist/shared/capture-status.d.ts.map +1 -0
  131. package/dist/shared/capture-status.js +133 -0
  132. package/dist/shared/capture-status.js.map +1 -0
  133. package/dist/shared/error-noise.d.ts +39 -0
  134. package/dist/shared/error-noise.d.ts.map +1 -0
  135. package/dist/shared/error-noise.js +101 -0
  136. package/dist/shared/error-noise.js.map +1 -0
  137. package/dist/shared/metric-buckets.d.ts +31 -0
  138. package/dist/shared/metric-buckets.d.ts.map +1 -0
  139. package/dist/shared/metric-buckets.js +49 -0
  140. package/dist/shared/metric-buckets.js.map +1 -0
  141. package/dist/shared/text-signals.d.ts +56 -0
  142. package/dist/shared/text-signals.d.ts.map +1 -0
  143. package/dist/shared/text-signals.js +80 -0
  144. package/dist/shared/text-signals.js.map +1 -0
  145. package/dist/shared/types.d.ts +1 -1
  146. package/dist/shared/types.d.ts.map +1 -1
  147. package/dist/shared/types.js +4 -0
  148. package/dist/shared/types.js.map +1 -1
  149. package/docs/SETUP.md +25 -0
  150. package/package.json +9 -2
@@ -1,5 +1,6 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
2
2
  import DesignReviewCard, { RefreshMetricsButton } from "./design-review-card";
3
+ import SnapshotsCard from "./snapshots";
3
4
  import { Annotated, ColorToken, ContrastMeter, contrastPercent } from "./design-tokens";
4
5
  import OverflowRow from "./overflow-row";
5
6
  import ShowMore from "./show-more";
@@ -106,10 +107,10 @@ function ScannedPages({ data }) {
106
107
  const overflow = data.pages.slice(VISIBLE_ROWS);
107
108
  return (_jsx(Section, { title: "Scanned pages", tip: "\u2014 latest design scan per route; the dashboard itself is never scanned.", children: _jsxs("div", { className: `${card} overflow-hidden`, children: [visible.map((p, i) => (_jsx(PageRow, { p: p, first: i === 0 }, p.path))), _jsx(ShowMore, { count: overflow.length, label: "pages", children: overflow.map((p) => (_jsx(PageRow, { p: p, first: false }, p.path))) })] }) }));
108
109
  }
109
- export function DesignPanel({ data, review, reviewStale, settings }) {
110
+ export function DesignPanel({ data, review, reviewStale, settings, snapshots, captureIssue, }) {
110
111
  const hasScans = data.pages.length > 0;
111
112
  return (_jsxs("main", { className: "text-white", children: [_jsxs("div", { className: `mb-8 flex items-start justify-between gap-3 border-b ${border} pb-6`, children: [_jsxs("div", { children: [_jsx("h1", { className: "text-[22px] font-semibold tracking-tight text-white", children: "Design review" }), _jsx("p", { className: "mt-1 max-w-xl text-[13px] leading-relaxed text-[#666]", children: "Your site's brand guideline, reverse-engineered from the rendered pages \u2014 the typography, palette, radii and spacing it actually ships, with anything that breaks the system flagged." })] }), _jsxs("div", { className: "flex shrink-0 items-center gap-2", children: [_jsx(RefreshMetricsButton, {}), _jsx("div", { className: `whitespace-nowrap rounded-full px-3 py-1 text-[11px] font-medium ${hasScans ? "bg-emerald-950 text-emerald-400" : "bg-[#1a1a1a] text-[#666]"}`, children: hasScans
112
113
  ? `● ${data.pages.length} ${data.pages.length === 1 ? "page" : "pages"} scanned`
113
- : "○ no scans yet" })] })] }), !data.ready && (_jsxs("div", { className: "mb-8 rounded-lg border border-amber-900/50 bg-amber-950/30 px-4 py-3 text-[13px] text-amber-400", children: ["The analytics store isn't writable in this environment. Run locally or configure a database \u2014 see the ", _jsx("span", { className: "font-mono text-amber-300", children: "@polishd/next" }), " ", "DATABASE.md guide."] })), data.ready && !hasScans && (_jsx("div", { className: `mb-8 ${card} px-5 py-8 text-center`, children: _jsx("p", { className: "text-[13px] text-[#888]", children: "No design scans captured yet. Each page measures its own rendered design (fonts, colors, radii, spacing) once per visitor session \u2014 browse a few pages of the site, then refresh the metrics." }) })), _jsx(DesignReviewCard, { initialReview: review, initialStale: reviewStale, hasApiKey: settings.hasApiKey, provider: settings.provider, model: settings.model, scannedPages: data.pages.length }), hasScans && (_jsxs(_Fragment, { children: [_jsx(TypographySection, { data: data }), _jsx(PaletteSection, { data: data }), _jsx(ContrastSection, { data: data }), _jsx(RadiusSection, { data: data }), _jsx(SpacingSection, { data: data }), _jsx(ScannedPages, { data: data })] }))] }));
114
+ : "○ no scans yet" })] })] }), !data.ready && (_jsxs("div", { className: "mb-8 rounded-lg border border-amber-900/50 bg-amber-950/30 px-4 py-3 text-[13px] text-amber-400", children: ["The analytics store isn't writable in this environment. Run locally or configure a database \u2014 see the ", _jsx("span", { className: "font-mono text-amber-300", children: "@polishd/next" }), " ", "DATABASE.md guide."] })), data.ready && !hasScans && (_jsx("div", { className: `mb-8 ${card} px-5 py-8 text-center`, children: _jsx("p", { className: "text-[13px] text-[#888]", children: "No design scans captured yet. Each page measures its own rendered design (fonts, colors, radii, spacing) once per visitor session \u2014 browse a few pages of the site, then refresh the metrics." }) })), _jsx(SnapshotsCard, { initial: snapshots, captureIssue: captureIssue }), _jsx(DesignReviewCard, { initialReview: review, initialStale: reviewStale, hasApiKey: settings.hasApiKey, provider: settings.provider, model: settings.model, scannedPages: data.pages.length }), hasScans && (_jsxs(_Fragment, { children: [_jsx(TypographySection, { data: data }), _jsx(PaletteSection, { data: data }), _jsx(ContrastSection, { data: data }), _jsx(RadiusSection, { data: data }), _jsx(SpacingSection, { data: data }), _jsx(ScannedPages, { data: data })] }))] }));
114
115
  }
115
116
  //# sourceMappingURL=design.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"design.js","sourceRoot":"","sources":["../../src/dashboard/design.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"design.js","sourceRoot":"","sources":["../../src/dashboard/design.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,34 @@
1
+ /**
2
+ * Polishd — the dashboard's bottom drawer (client).
3
+ *
4
+ * The shell that two panels open detail into: a page's sessions over time, and
5
+ * a stat tile's metric over time. Both wanted the same wide, short surface —
6
+ * a time-series chart is landscape, and a bottom sheet leaves the table or the
7
+ * tile grid visible above it — so the shell lives here rather than as a second
8
+ * copy of the backdrop, the transition, the Escape handler and the scroll lock.
9
+ *
10
+ * `open` is derived by the caller from whatever it selected, so the drawer
11
+ * animates out with its content still mounted; render children unconditionally
12
+ * and let this component decide when they are reachable.
13
+ */
14
+ import { type ReactNode } from "react";
15
+ export default function BottomDrawer({ open, onClose, label, children, }: {
16
+ open: boolean;
17
+ onClose: () => void;
18
+ /** Accessible name for the dialog, e.g. "Page sessions over time". */
19
+ label: string;
20
+ children: ReactNode;
21
+ }): import("react").JSX.Element;
22
+ /**
23
+ * The drawer's title row: what you opened, and the way back out. Kept here so
24
+ * the close button behaves and looks the same wherever the drawer is used.
25
+ */
26
+ export declare function DrawerHeader({ eyebrow, title, onClose, children, }: {
27
+ /** Small label above the title, e.g. "Page". */
28
+ eyebrow: string;
29
+ title: ReactNode;
30
+ onClose: () => void;
31
+ /** Optional controls that sit between the title and the close button. */
32
+ children?: ReactNode;
33
+ }): import("react").JSX.Element;
34
+ //# sourceMappingURL=drawer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"drawer.d.ts","sourceRoot":"","sources":["../../src/dashboard/drawer.tsx"],"names":[],"mappings":"AAEA;;;;;;;;;;;;GAYG;AACH,OAAO,EAAa,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AAIlD,MAAM,CAAC,OAAO,UAAU,YAAY,CAAC,EACnC,IAAI,EACJ,OAAO,EACP,KAAK,EACL,QAAQ,GACT,EAAE;IACD,IAAI,EAAE,OAAO,CAAC;IACd,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,sEAAsE;IACtE,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,SAAS,CAAC;CACrB,+BA4CA;AAED;;;GAGG;AACH,wBAAgB,YAAY,CAAC,EAC3B,OAAO,EACP,KAAK,EACL,OAAO,EACP,QAAQ,GACT,EAAE;IACD,gDAAgD;IAChD,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,SAAS,CAAC;IACjB,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,yEAAyE;IACzE,QAAQ,CAAC,EAAE,SAAS,CAAC;CACtB,+BAqBA"}
@@ -0,0 +1,44 @@
1
+ "use client";
2
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
3
+ /**
4
+ * Polishd — the dashboard's bottom drawer (client).
5
+ *
6
+ * The shell that two panels open detail into: a page's sessions over time, and
7
+ * a stat tile's metric over time. Both wanted the same wide, short surface —
8
+ * a time-series chart is landscape, and a bottom sheet leaves the table or the
9
+ * tile grid visible above it — so the shell lives here rather than as a second
10
+ * copy of the backdrop, the transition, the Escape handler and the scroll lock.
11
+ *
12
+ * `open` is derived by the caller from whatever it selected, so the drawer
13
+ * animates out with its content still mounted; render children unconditionally
14
+ * and let this component decide when they are reachable.
15
+ */
16
+ import { useEffect } from "react";
17
+ import { border, labelCls } from "./ui";
18
+ export default function BottomDrawer({ open, onClose, label, children, }) {
19
+ // Esc to close + lock background scroll while the drawer is open.
20
+ useEffect(() => {
21
+ if (!open)
22
+ return;
23
+ const onKey = (e) => {
24
+ if (e.key === "Escape")
25
+ onClose();
26
+ };
27
+ document.addEventListener("keydown", onKey);
28
+ const prev = document.body.style.overflow;
29
+ document.body.style.overflow = "hidden";
30
+ return () => {
31
+ document.removeEventListener("keydown", onKey);
32
+ document.body.style.overflow = prev;
33
+ };
34
+ }, [open, onClose]);
35
+ return (_jsxs("div", { className: `fixed inset-0 z-50 ${open ? "" : "pointer-events-none"}`, "aria-hidden": !open, children: [_jsx("div", { onClick: onClose, className: `absolute inset-0 bg-black/60 transition-opacity duration-200 ${open ? "opacity-100" : "opacity-0"}` }), _jsx("div", { className: `absolute inset-x-0 bottom-0 transition-transform duration-200 ease-out ${open ? "translate-y-0" : "translate-y-full"}`, children: _jsxs("div", { role: "dialog", "aria-modal": "true", "aria-label": label, className: `mx-auto max-h-[80vh] max-w-5xl overflow-y-auto rounded-t-xl border ${border} bg-[#0a0a0a] px-4 pb-6 pt-4 shadow-2xl sm:px-6 sm:pb-8 sm:pt-5`, children: [_jsx("div", { className: "mx-auto mb-4 h-1 w-10 rounded-full bg-[#2e2e2e]" }), children] }) })] }));
36
+ }
37
+ /**
38
+ * The drawer's title row: what you opened, and the way back out. Kept here so
39
+ * the close button behaves and looks the same wherever the drawer is used.
40
+ */
41
+ export function DrawerHeader({ eyebrow, title, onClose, children, }) {
42
+ return (_jsxs("div", { className: "mb-6 flex flex-wrap items-start justify-between gap-4", children: [_jsxs("div", { children: [_jsx("div", { className: labelCls, children: eyebrow }), _jsx("div", { className: "mt-1", children: title })] }), _jsxs("div", { className: "flex items-center gap-2", children: [children, _jsx("button", { type: "button", "data-component": "drawer-close", onClick: onClose, "aria-label": "Close", className: "flex h-7 w-7 shrink-0 items-center justify-center rounded-md border border-[#2e2e2e] text-[#888] transition-colors hover:bg-[#111] hover:text-white", children: "\u2715" })] })] }));
43
+ }
44
+ //# sourceMappingURL=drawer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"drawer.js","sourceRoot":"","sources":["../../src/dashboard/drawer.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;;AAEb;;;;;;;;;;;;GAYG;AACH,OAAO,EAAE,SAAS,EAAkB,MAAM,OAAO,CAAC;AAElD,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,MAAM,CAAC;AAExC,MAAM,CAAC,OAAO,UAAU,YAAY,CAAC,EACnC,IAAI,EACJ,OAAO,EACP,KAAK,EACL,QAAQ,GAOT;IACC,kEAAkE;IAClE,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,CAAC,IAAI;YAAE,OAAO;QAClB,MAAM,KAAK,GAAG,CAAC,CAAgB,EAAE,EAAE;YACjC,IAAI,CAAC,CAAC,GAAG,KAAK,QAAQ;gBAAE,OAAO,EAAE,CAAC;QACpC,CAAC,CAAC;QACF,QAAQ,CAAC,gBAAgB,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;QAC5C,MAAM,IAAI,GAAG,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC;QAC1C,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,GAAG,QAAQ,CAAC;QACxC,OAAO,GAAG,EAAE;YACV,QAAQ,CAAC,mBAAmB,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;YAC/C,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,GAAG,IAAI,CAAC;QACtC,CAAC,CAAC;IACJ,CAAC,EAAE,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC;IAEpB,OAAO,CACL,eAAK,SAAS,EAAE,sBAAsB,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,qBAAqB,EAAE,iBAAe,CAAC,IAAI,aAE3F,cACE,OAAO,EAAE,OAAO,EAChB,SAAS,EAAE,gEACT,IAAI,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,WACzB,EAAE,GACF,EAEF,cACE,SAAS,EAAE,0EACT,IAAI,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,kBAC3B,EAAE,YAEF,eACE,IAAI,EAAC,QAAQ,gBACF,MAAM,gBACL,KAAK,EACjB,SAAS,EAAE,sEAAsE,MAAM,iEAAiE,aAGxJ,cAAK,SAAS,EAAC,iDAAiD,GAAG,EAClE,QAAQ,IACL,GACF,IACF,CACP,CAAC;AACJ,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,YAAY,CAAC,EAC3B,OAAO,EACP,KAAK,EACL,OAAO,EACP,QAAQ,GAQT;IACC,OAAO,CACL,eAAK,SAAS,EAAC,uDAAuD,aACpE,0BACE,cAAK,SAAS,EAAE,QAAQ,YAAG,OAAO,GAAO,EACzC,cAAK,SAAS,EAAC,MAAM,YAAE,KAAK,GAAO,IAC/B,EACN,eAAK,SAAS,EAAC,yBAAyB,aACrC,QAAQ,EACT,iBACE,IAAI,EAAC,QAAQ,oBACE,cAAc,EAC7B,OAAO,EAAE,OAAO,gBACL,OAAO,EAClB,SAAS,EAAC,qJAAqJ,uBAGxJ,IACL,IACF,CACP,CAAC;AACJ,CAAC"}
@@ -38,11 +38,13 @@ export interface PolishdAIBundle {
38
38
  sourceAvailable: boolean;
39
39
  }
40
40
  export type { PolishdDashboardTab } from "./chrome";
41
- export declare function PolishdDashboard({ data, ai, showInstalls, }: {
41
+ export declare function PolishdDashboard({ data, ai, showInstalls, showIssues, }: {
42
42
  data: PolishdDashboardData;
43
43
  ai: PolishdAIBundle;
44
44
  /** Forwarded to the chrome: whether this install collects telemetry. */
45
45
  showInstalls?: boolean;
46
+ /** Forwarded to the chrome: whether a GitHub repo is connected. */
47
+ showIssues?: boolean;
46
48
  }): import("react").JSX.Element;
47
49
  /**
48
50
  * Props Next passes to a page. Only `searchParams` is used — the unlock form
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/dashboard/index.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AACH,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,MAAM,CAAC;AAErC,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAEvC,OAAO,EAAiC,KAAK,aAAa,EAAE,MAAM,WAAW,CAAC;AAE9E,OAAO,EAOL,KAAK,oBAAoB,EAG1B,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAGL,KAAK,mBAAmB,EAEzB,MAAM,aAAa,CAAC;AACrB,OAAO,EAGL,KAAK,uBAAuB,EAC7B,MAAM,cAAc,CAAC;AAQtB,OAAO,KAAK,EACV,uBAAuB,EACvB,qBAAqB,EACrB,cAAc,EACf,MAAM,aAAa,CAAC;AAYrB,eAAO,MAAM,OAAO,WAAW,CAAC;AAChC,eAAO,MAAM,OAAO,kBAAkB,CAAC;AAEvC,eAAO,MAAM,QAAQ,EAAE,QAGtB,CAAC;AAwKF,OAAO,EAAE,wBAAwB,EAAE,KAAK,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AAIxF,OAAO,EACL,gBAAgB,EAChB,wBAAwB,EACxB,KAAK,uBAAuB,GAC7B,MAAM,cAAc,CAAC;AAEtB,kDAAkD;AAClD,MAAM,WAAW,eAAe;IAC9B,OAAO,EAAE,cAAc,GAAG,IAAI,CAAC;IAC/B,QAAQ,EAAE,uBAAuB,CAAC;IAClC,KAAK,EAAE,OAAO,CAAC;IACf,OAAO,EAAE,qBAAqB,GAAG,IAAI,CAAC;IACtC,iEAAiE;IACjE,IAAI,EAAE,MAAM,EAAE,CAAC;IACf,wEAAwE;IACxE,eAAe,EAAE,OAAO,CAAC;CAC1B;AAID,YAAY,EAAE,mBAAmB,EAAE,MAAM,UAAU,CAAC;AAGpD,wBAAgB,gBAAgB,CAAC,EAC/B,IAAI,EACJ,EAAE,EACF,YAAoB,GACrB,EAAE;IACD,IAAI,EAAE,oBAAoB,CAAC;IAC3B,EAAE,EAAE,eAAe,CAAC;IACpB,wEAAwE;IACxE,YAAY,CAAC,EAAE,OAAO,CAAC;CACxB,+BAyTA;AAgED;;;;GAIG;AACH,MAAM,WAAW,gBAAgB;IAC/B,YAAY,CAAC,EAAE,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,SAAS,CAAC,CAAC,CAAC;CACvE;AAED,MAAM,WAAW,wBAAwB;IACvC;;;;;;;;;OASG;IACH,YAAY,CAAC,EAAE,mBAAmB,CAAC;IACnC;;;OAGG;IACH,YAAY,CAAC,EAAE,SAAS,CAAC;IACzB,iEAAiE;IACjE,SAAS,CAAC,EAAE,uBAAuB,CAAC;IACpC;;;;;;;OAOG;IACH,MAAM,CAAC,EAAE,OAAO,CAAC,aAAa,CAAC,CAAC;IAChC;;;;;OAKG;IACH,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB;AA0ID;;;GAGG;AACH,wBAAgB,iBAAiB,CAAC,IAAI,GAAE,wBAA6B,IA4BjC,QAAO,gBAAqB,0CAsJ/D"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/dashboard/index.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AACH,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,MAAM,CAAC;AAErC,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAEvC,OAAO,EAAiC,KAAK,aAAa,EAAE,MAAM,WAAW,CAAC;AAG9E,OAAO,EAOL,KAAK,oBAAoB,EAG1B,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAGL,KAAK,mBAAmB,EAEzB,MAAM,aAAa,CAAC;AACrB,OAAO,EAGL,KAAK,uBAAuB,EAC7B,MAAM,cAAc,CAAC;AAWtB,OAAO,KAAK,EACV,uBAAuB,EACvB,qBAAqB,EACrB,cAAc,EACf,MAAM,aAAa,CAAC;AAcrB,eAAO,MAAM,OAAO,WAAW,CAAC;AAChC,eAAO,MAAM,OAAO,kBAAkB,CAAC;AAEvC,eAAO,MAAM,QAAQ,EAAE,QAGtB,CAAC;AA0HF,OAAO,EAAE,wBAAwB,EAAE,KAAK,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AAIxF,OAAO,EACL,gBAAgB,EAChB,wBAAwB,EACxB,KAAK,uBAAuB,GAC7B,MAAM,cAAc,CAAC;AAEtB,kDAAkD;AAClD,MAAM,WAAW,eAAe;IAC9B,OAAO,EAAE,cAAc,GAAG,IAAI,CAAC;IAC/B,QAAQ,EAAE,uBAAuB,CAAC;IAClC,KAAK,EAAE,OAAO,CAAC;IACf,OAAO,EAAE,qBAAqB,GAAG,IAAI,CAAC;IACtC,iEAAiE;IACjE,IAAI,EAAE,MAAM,EAAE,CAAC;IACf,wEAAwE;IACxE,eAAe,EAAE,OAAO,CAAC;CAC1B;AAID,YAAY,EAAE,mBAAmB,EAAE,MAAM,UAAU,CAAC;AAGpD,wBAAgB,gBAAgB,CAAC,EAC/B,IAAI,EACJ,EAAE,EACF,YAAoB,EACpB,UAAkB,GACnB,EAAE;IACD,IAAI,EAAE,oBAAoB,CAAC;IAC3B,EAAE,EAAE,eAAe,CAAC;IACpB,wEAAwE;IACxE,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,mEAAmE;IACnE,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB,+BA8TA;AAgED;;;;GAIG;AACH,MAAM,WAAW,gBAAgB;IAC/B,YAAY,CAAC,EAAE,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,SAAS,CAAC,CAAC,CAAC;CACvE;AAED,MAAM,WAAW,wBAAwB;IACvC;;;;;;;;;OASG;IACH,YAAY,CAAC,EAAE,mBAAmB,CAAC;IACnC;;;OAGG;IACH,YAAY,CAAC,EAAE,SAAS,CAAC;IACzB,iEAAiE;IACjE,SAAS,CAAC,EAAE,uBAAuB,CAAC;IACpC;;;;;;;OAOG;IACH,MAAM,CAAC,EAAE,OAAO,CAAC,aAAa,CAAC,CAAC;IAChC;;;;;OAKG;IACH,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB;AA0ID;;;GAGG;AACH,wBAAgB,iBAAiB,CAAC,IAAI,GAAE,wBAA6B,IA4BjC,QAAO,gBAAqB,0CAoL/D"}
@@ -1,6 +1,7 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
2
2
  import { after } from "next/server";
3
3
  import { registerPolishdDashboardRoute } from "../config";
4
+ import { captureStatus } from "../shared/capture-status";
4
5
  import { getMonitoredComponents, getTelemetryInstalls, getTelemetryTopPaths, getTopInteractions, hasTelemetryInstalls, loadPolishdDashboardData, } from "../server/queries";
5
6
  import { polishdAuthContext, registerPolishdAuth, } from "../ai/guard";
6
7
  import { polishdDashboardToken, polishdTokenAuth, } from "./token-auth";
@@ -8,34 +9,37 @@ import { unlockPolishdDashboard } from "./unlock";
8
9
  import { loadPolishdTelemetryState } from "../server/telemetry";
9
10
  import { PolishdTelemetryConsent, PolishdTelemetryEmitter } from "./telemetry";
10
11
  import { loadDesignReviewState } from "../ai/design";
12
+ import { isGithubConnected } from "../ai/github";
13
+ import { listFiledIssues } from "../ai/issues";
11
14
  import { loadProfileState } from "../ai/profile";
12
15
  import { generateSummary, getAISettingsPublic, loadSummaryState } from "../ai/summary";
13
16
  import { getDesignData } from "../server/design";
17
+ import { listSnapshots, snapshotCaptureIssue } from "../server/snapshots";
14
18
  import DashboardChrome from "./chrome";
15
19
  import { DesignPanel } from "./design";
16
20
  import InstallsView from "./installs";
21
+ import IssuesView from "./issues";
17
22
  import ElementsTable from "./elements";
18
23
  import TopFeaturesTable from "./features";
19
24
  import JourneyList from "./journeys";
20
25
  import TopPagesTable from "./pages";
21
26
  import SettingsView from "./settings";
22
27
  import SummaryCard from "./summary";
23
- import { border, card, divider, labelCls as label } from "./ui";
28
+ import OverviewStatTiles from "./metric-trends";
29
+ import { InfoTip, border, card, divider, labelCls as label } from "./ui";
24
30
  export const runtime = "nodejs";
25
31
  export const dynamic = "force-dynamic";
26
32
  export const metadata = {
27
33
  title: "Polishd — What gets measured gets improved",
28
34
  robots: { index: false, follow: false },
29
35
  };
30
- // ── Tooltip ──────────────────────────────────────────────────────────────────
31
- function InfoTip({ text, anchor = "center", below = false, }) {
32
- const anchorClass = anchor === "left" ? "left-0" : anchor === "right" ? "right-0" : "left-1/2 -translate-x-1/2";
33
- const vClass = below ? "top-full mt-2" : "bottom-full mb-2";
34
- return (_jsxs("span", { className: "group/tip relative ml-1 inline-flex translate-y-px cursor-help align-middle", children: [_jsx("span", { className: "flex h-3.5 w-3.5 items-center justify-center rounded-full border border-[#444] text-[9px] font-bold leading-none text-[#666]", children: "i" }), _jsx("span", { role: "tooltip", className: `pointer-events-none absolute ${vClass} ${anchorClass} z-20 w-64 max-w-[calc(100vw-2rem)] rounded-lg border border-[#2e2e2e] bg-[#111] px-3 py-2 text-left text-[12px] font-normal normal-case leading-snug tracking-normal text-[#aaa] opacity-0 shadow-2xl transition-opacity duration-150 group-hover/tip:opacity-100`, children: text })] }));
35
- }
36
- // ── Stat card ────────────────────────────────────────────────────────────────
37
- function Stat({ label: labelText, value, tip, tone = "text-white", }) {
38
- return (_jsxs("div", { className: `${card} px-4 py-4`, children: [_jsx("div", { className: `text-[28px] font-semibold tabular-nums leading-none ${tone}`, children: value.toLocaleString() }), _jsxs("div", { className: `mt-2 flex items-center ${label}`, children: [labelText, _jsx(InfoTip, { text: tip })] })] }));
36
+ /** A share of traffic, kept readable when it rounds to nothing. */
37
+ function formatShare(pct) {
38
+ if (pct >= 10)
39
+ return `${Math.round(pct)}%`;
40
+ if (pct >= 1)
41
+ return `${pct.toFixed(1)}%`;
42
+ return "<1%";
39
43
  }
40
44
  // ── Table header cell ────────────────────────────────────────────────────────
41
45
  function Th({ children, tip, align = "right", }) {
@@ -73,26 +77,17 @@ export { loadPolishdDashboardData } from "../server/queries";
73
77
  // `createPolishdPage()` already applies it when POLISHD_DASHBOARD_TOKEN is set.
74
78
  export { polishdTokenAuth, POLISHD_DASHBOARD_COOKIE, } from "./token-auth";
75
79
  // ── Dashboard (presentational) ───────────────────────────────────────────────
76
- export function PolishdDashboard({ data, ai, showInstalls = false, }) {
77
- const { overview, health, pages, elements, devices, topUsed, journeys, errors, monitored } = data;
78
- // Events are arriving but landing without a session cookie, which means the
79
- // proxy isn't running on those requests. When nothing at all has been
80
- // stored, any drop is the whole story — show it. But on a site that IS
81
- // storing events, a handful of cookie-less batches is background noise
82
- // (bots posting to the public endpoint, a visitor with cookies blocked,
83
- // someone's curl test), not a broken proxy — a real proxy failure drops
84
- // *every* batch, so the count climbs in proportion to traffic. Require the
85
- // drops to be both recent and material relative to what got stored before
86
- // raising the alarm.
87
- const proxyBroken = health.lastNoSessionAt !== null &&
88
- (overview.totalEvents === 0
89
- ? true
90
- : Date.now() - health.lastNoSessionAt < 3_600_000 &&
91
- health.noSessionCount >= 3 &&
92
- health.noSessionCount > overview.totalEvents / 400);
93
- return (_jsx(DashboardChrome, { active: "analytics", showInstalls: showInstalls, children: _jsxs("main", { className: "text-white", children: [_jsxs("div", { className: `mb-8 flex items-start justify-between gap-3 border-b ${border} pb-6`, children: [_jsxs("div", { children: [_jsx("h1", { className: "text-[22px] font-semibold tracking-tight text-white", children: "Analytics" }), _jsxs("p", { className: "mt-1 text-[13px] text-[#666]", children: ["Stage 1 \u2014 Capture. Hover", " ", _jsx("span", { className: "inline-flex h-3 w-3 items-center justify-center rounded-full border border-[#444] text-[8px] font-bold text-[#666]", children: "i" }), " ", "for calculation details."] })] }), _jsx("div", { className: `shrink-0 whitespace-nowrap rounded-full px-3 py-1 text-[11px] font-medium ${overview.ready
80
+ export function PolishdDashboard({ data, ai, showInstalls = false, showIssues = false, }) {
81
+ const { overview, health, pages, trends, elements, devices, topUsed, journeys, errors, monitored, } = data;
82
+ // Events arriving without a session cookie mean the proxy didn't run on
83
+ // those requests — or that something posted straight at the public endpoint.
84
+ // Telling those apart is the whole job of `captureStatus`, which lives in
85
+ // shared/capture-status.ts with the record ingest writes, and is tested.
86
+ const capture = captureStatus(health, overview.totalEvents);
87
+ const windowLabel = `${Math.round(health.windowMs / 3_600_000)}h`;
88
+ return (_jsx(DashboardChrome, { active: "analytics", showInstalls: showInstalls, showIssues: showIssues, children: _jsxs("main", { className: "text-white", children: [_jsxs("div", { className: `mb-8 flex items-start justify-between gap-3 border-b ${border} pb-6`, children: [_jsxs("div", { children: [_jsx("h1", { className: "text-[22px] font-semibold tracking-tight text-white", children: "Analytics" }), _jsxs("p", { className: "mt-1 text-[13px] text-[#666]", children: ["Stage 1 \u2014 Capture. Hover", " ", _jsx("span", { className: "inline-flex h-3 w-3 items-center justify-center rounded-full border border-[#444] text-[8px] font-bold text-[#666]", children: "i" }), " ", "for calculation details."] })] }), _jsx("div", { className: `shrink-0 whitespace-nowrap rounded-full px-3 py-1 text-[11px] font-medium ${overview.ready
94
89
  ? "bg-emerald-950 text-emerald-400"
95
- : "bg-[#1a1a1a] text-[#666]"}`, children: overview.ready ? "● collecting" : "○ no store" })] }), !overview.ready && (_jsxs("div", { className: `mb-8 rounded-lg border border-amber-900/50 bg-amber-950/30 px-4 py-3 text-[13px] text-amber-400`, children: ["The analytics store isn't writable in this environment. Run locally or configure a database \u2014 see the ", _jsx("span", { className: "font-mono text-amber-300", children: "@polishd/next" }), " DATABASE.md guide."] })), proxyBroken && (_jsxs("div", { className: "mb-8 rounded-lg border border-red-900/50 bg-red-950/30 px-4 py-3 text-[13px] text-red-400", children: [_jsx("p", { className: "font-medium text-red-300", children: "Receiving events, but no session cookie \u2014 your proxy isn't running." }), _jsxs("p", { className: "mt-1.5", children: [health.noSessionCount.toLocaleString(), " ", health.noSessionCount === 1 ? "batch has" : "batches have", " been dropped. Polishd attributes every event to the anonymous cookie the proxy mints, so nothing is being stored. Check that you have a", " ", _jsx("span", { className: "font-mono text-red-300", children: "proxy.ts" }), " (Next 16+) or", " ", _jsx("span", { className: "font-mono text-red-300", children: "middleware.ts" }), " (Next 15) at your project root \u2014 matching your installed Next major \u2014 exporting a function of the same name, with", " ", _jsx("span", { className: "font-mono text-red-300", children: "config.matcher" }), " written as an inline literal that covers the pages you're capturing."] }), _jsxs("p", { className: "mt-1.5 text-red-500/80", children: ["Run ", _jsx("span", { className: "font-mono text-red-300", children: "npx @polishd/next doctor" }), " to check this automatically."] })] })), _jsx(SummaryCard, { initialSummary: ai.summary, initialSettings: ai.settings, initialStale: ai.stale, initialProfile: ai.profile, initialGaps: ai.gaps, sourceAvailable: ai.sourceAvailable }), _jsx(Section, { title: "Overview", children: _jsxs("div", { className: "grid grid-cols-2 gap-3 sm:grid-cols-3 lg:grid-cols-6", children: [_jsx(Stat, { label: "Sessions", value: overview.sessions, tip: "Distinct anonymous visitors, counted by the polishd_session cookie. One cookie = one session; no fingerprinting." }), _jsx(Stat, { label: "Page views", value: overview.pageViews, tip: "page_view events \u2014 initial page loads plus client-side (soft) navigations between routes." }), _jsx(Stat, { label: "Rage clicks", value: overview.rageClicks, tone: "text-red-500", tip: "3+ clicks on the same element within 500ms. A strong signal of frustration \u2014 something looks clickable or is broken." }), _jsx(Stat, { label: "Dead clicks", value: overview.deadClicks, tone: "text-[#f5a623]", tip: "Clicks on non-interactive elements (no link, button, or role within 4 ancestors). Users expected something to happen but nothing did." }), _jsx(Stat, { label: "JS errors", value: overview.jsErrors, tone: "text-red-500", tip: "Uncaught exceptions and unhandled promise rejections, with page and component context." }), _jsx(Stat, { label: "Events", value: overview.totalEvents, tip: "Total raw signals captured across all event types." })] }) }), _jsx(Section, { title: _jsxs(_Fragment, { children: ["Device sizes", _jsx(InfoTip, { anchor: "left", text: "One viewport sample per session, taken at session start, bucketed by CSS width: mobile (<640px), tablet (640\u20131023px), desktop (\u22651024px). Shows what screen size visitors actually use." })] }), children: _jsx("div", { className: card, children: devices.length === 0 ? (_jsx("p", { className: "px-5 py-8 text-center text-[13px] text-[#555]", children: "No viewport data yet \u2014 browse the site then refresh." })) : (devices.map((d) => _jsx(DeviceRow, { bucket: d }, d.category))) }) }), _jsx(Section, { title: _jsxs(_Fragment, { children: ["Top pages", _jsx(InfoTip, { anchor: "left", text: "The most-visited routes, ranked by distinct sessions. Click a page to open a chart of its sessions over time." })] }), children: _jsx(TopPagesTable, { pages: pages }) }), _jsx(Section, { title: _jsxs(_Fragment, { children: ["Monitored components", _jsx(InfoTip, { anchor: "left", text: "Components explicitly wrapped in <PolishdMonitor>. Shows viewport engagement (views, avg time visible, scroll depth, dimensions) alongside click activity. A high view count with low clicks often signals interest without commitment." })] }), children: _jsx("div", { className: card, children: monitored.length === 0 ? (_jsxs("p", { className: "px-5 py-8 text-center text-[13px] text-[#555]", children: ["No monitored components yet \u2014 wrap elements with", " ", _jsx("code", { className: "font-mono text-[#777]", children: "<PolishdMonitor name=\"…\">" }), " to track them here."] })) : (_jsx("div", { className: "overflow-x-auto", children: _jsxs("table", { className: "w-full min-w-[820px]", children: [_jsx("thead", { children: _jsxs("tr", { children: [_jsx(Th, { align: "left", tip: "The name prop passed to <PolishdMonitor>. Sessions and pages shown beneath.", children: "Component" }), _jsx(Th, { tip: "Times this region rendered (mount events). Only content-tracked monitors emit these.", children: "Mounts" }), _jsx(Th, { tip: "Times this component entered the viewport for \u2265500ms.", children: "Views" }), _jsx(Th, { tip: "Average time visible per viewport visit \u2014 a proxy for reading/engagement time.", children: "Avg time" }), _jsx(Th, { tip: "Average % of the component's height scrolled through per visit. 100% = user reached the bottom.", children: "Scroll depth" }), _jsx(Th, { tip: "Largest rendered height in px seen for this component \u2014 for an article, its full content height.", children: "Height" }), _jsx(Th, { tip: "Normal (non-rage, non-dead) clicks.", children: "Clicks" }), _jsx(Th, { tip: "Deliberate pointer hovers (\u2265200ms dwell).", children: "Hovers" }), _jsx(Th, { tip: "Rage clicks (3+ rapid clicks) \u2014 frustration signal.", children: "Rage" })] }) }), _jsx("tbody", { children: monitored.map((m) => (_jsx(MonitoredRow, { m: m }, m.name))) })] }) })) }) }), _jsx(Section, { title: _jsxs(_Fragment, { children: ["Sampled user journeys", _jsx(InfoTip, { anchor: "left", text: "Full sessions sampled and ranked by a composite score (rage\u00D73 + dead\u00D72 + errors\u00D72.5), preferring complete recordings and recent ones. Click a session to open its start-to-finish flow chart." })] }), children: _jsx(JourneyList, { journeys: journeys }) }), _jsx(Section, { title: _jsxs(_Fragment, { children: ["Most-used features", _jsx(InfoTip, { anchor: "left", text: "Interactive elements ranked by raw click volume (successful clicks only \u2014 rage and dead clicks excluded). The buttons and features visitors actually use most." })] }), children: _jsx("div", { className: card, children: topUsed.length === 0 ? (_jsx("p", { className: "px-5 py-8 text-center text-[13px] text-[#555]", children: "No clicks captured yet \u2014 browse the site then refresh." })) : (_jsx(TopFeaturesTable, { features: topUsed, header: _jsxs("tr", { children: [_jsx(Th, { align: "left", tip: "Component name (from data-component) or DOM selector. Sample text and selector shown beneath.", children: "Element" }), _jsx(Th, { tip: "Total successful (interactive) clicks across all pages.", children: "Clicks" }), _jsx(Th, { tip: "Distinct sessions that clicked this element.", children: "Sessions" }), _jsx(Th, { tip: "How many distinct pages this element was clicked on.", children: "Pages" })] }) })) }) }), _jsx(Section, { title: _jsxs(_Fragment, { children: ["Interactions by element", _jsx(InfoTip, { anchor: "left", text: "Click-type events grouped by DOM selector. This is which UI element the issues are on \u2014 the primary input to Stage 2 synthesis. Components wrapped in <PolishdMonitor> are listed separately under Monitored components." })] }), children: _jsx("div", { className: card, children: elements.length === 0 ? (_jsx("p", { className: "px-5 py-8 text-center text-[13px] text-[#555]", children: "No interactions captured yet \u2014 browse the site then refresh." })) : (_jsx(ElementsTable, { elements: elements, header: _jsxs("tr", { children: [_jsx(Th, { align: "left", tip: "DOM selector path for the interacted element. Sample text shown beneath.", children: "Element" }), _jsx(Th, { tip: "rage\u00D73 + dead\u00D72 for this element across all pages.", children: "Score" }), _jsx(Th, { tip: "Normal (non-rage, non-dead) clicks.", children: "Clicks" }), _jsx(Th, { tip: "Rage clicks on this element.", children: "Rage" }), _jsx(Th, { tip: "Dead clicks on this element.", children: "Dead" }), _jsx(Th, { tip: "How many distinct pages this element appeared on.", children: "Pages" })] }) })) }) }), errors.length > 0 && (_jsx(Section, { title: "Recent errors", children: _jsx("div", { className: card, children: errors.map((e, i) => (_jsx("div", { className: i > 0 ? divider : "", children: _jsxs("div", { className: "px-5 py-3", children: [_jsx("div", { className: "font-mono text-[13px] text-red-400", children: e.message }), _jsxs("div", { className: "mt-0.5 text-[11px] text-[#555]", children: [e.path, e.component ? ` · ${e.component}` : ""] })] }) }, i))) }) }))] }) }));
90
+ : "bg-[#1a1a1a] text-[#666]"}`, children: overview.ready ? "● collecting" : "○ no store" })] }), !overview.ready && (_jsxs("div", { className: `mb-8 rounded-lg border border-amber-900/50 bg-amber-950/30 px-4 py-3 text-[13px] text-amber-400`, children: ["The analytics store isn't writable in this environment. Run locally or configure a database \u2014 see the ", _jsx("span", { className: "font-mono text-amber-300", children: "@polishd/next" }), " DATABASE.md guide."] })), capture.level === "broken" && (_jsxs("div", { className: "mb-8 rounded-lg border border-red-900/50 bg-red-950/30 px-4 py-3 text-[13px] text-red-400", children: [_jsx("p", { className: "font-medium text-red-300", children: "Receiving events, but no session cookie \u2014 your proxy isn't running." }), _jsxs("p", { className: "mt-1.5", children: [capture.droppedBatches.toLocaleString(), " ", capture.droppedBatches === 1 ? "batch has" : "batches have", " been dropped", capture.nothingStored ? "" : ` and nothing has been stored in the last ${windowLabel}`, ". Polishd attributes every event to the anonymous cookie the proxy mints", capture.nothingStored ? ", so nothing is being stored" : "", ". Check that you have a", " ", _jsx("span", { className: "font-mono text-red-300", children: "proxy.ts" }), " (Next 16+) or", " ", _jsx("span", { className: "font-mono text-red-300", children: "middleware.ts" }), " (Next 15) at your project root \u2014 matching your installed Next major \u2014 exporting a function of the same name, with", " ", _jsx("span", { className: "font-mono text-red-300", children: "config.matcher" }), " written as an inline literal that covers the pages you're capturing."] }), _jsxs("p", { className: "mt-1.5 text-red-500/80", children: ["Run", " ", _jsx("span", { className: "font-mono text-red-300", children: "npx @polishd/next doctor --url <your deployed origin>" }), " ", "to check this against the running site. Plain", " ", _jsx("span", { className: "font-mono text-red-300", children: "doctor" }), " only reads your source tree, so it can pass every check while the deployed build still doesn't mint a cookie \u2014", " ", _jsx("span", { className: "font-mono text-red-300", children: "--url" }), " is the part that proves it."] })] })), capture.level === "notice" && (_jsx("div", { className: `mb-8 rounded-lg border ${border} bg-[#0f0f0f] px-4 py-3 text-[13px] text-[#999]`, children: _jsxs("p", { children: [capture.droppedBatches.toLocaleString(), " ", capture.droppedBatches === 1 ? "batch" : "batches", " arrived without a session cookie in the last ", windowLabel, capture.sharePct !== null && ` — ${formatShare(capture.sharePct)} of traffic`, " (bots, or visitors with cookies blocked). Those events aren't stored; capture itself is working", capture.storedSinceDrop ? " — a batch has been stored since the most recent drop" : "", "."] }) })), _jsx(SummaryCard, { initialSummary: ai.summary, initialSettings: ai.settings, initialStale: ai.stale, initialProfile: ai.profile, initialGaps: ai.gaps, sourceAvailable: ai.sourceAvailable }), _jsx(Section, { title: _jsxs(_Fragment, { children: ["Overview", _jsx(InfoTip, { anchor: "left", text: "All-time totals for everything captured. Click any tile to open that metric as a chart over time, bucketed by hour or by day." })] }), children: _jsx(OverviewStatTiles, { overview: overview, trends: trends }) }), _jsx(Section, { title: _jsxs(_Fragment, { children: ["Device sizes", _jsx(InfoTip, { anchor: "left", text: "One viewport sample per session, taken at session start, bucketed by CSS width: mobile (<640px), tablet (640\u20131023px), desktop (\u22651024px). Shows what screen size visitors actually use." })] }), children: _jsx("div", { className: card, children: devices.length === 0 ? (_jsx("p", { className: "px-5 py-8 text-center text-[13px] text-[#555]", children: "No viewport data yet \u2014 browse the site then refresh." })) : (devices.map((d) => _jsx(DeviceRow, { bucket: d }, d.category))) }) }), _jsx(Section, { title: _jsxs(_Fragment, { children: ["Top pages", _jsx(InfoTip, { anchor: "left", text: "The most-visited routes, ranked by distinct sessions. Click a page to open a chart of its sessions over time." })] }), children: _jsx(TopPagesTable, { pages: pages }) }), _jsx(Section, { title: _jsxs(_Fragment, { children: ["Monitored components", _jsx(InfoTip, { anchor: "left", text: "Components explicitly wrapped in <PolishdMonitor>. Shows viewport engagement (views, avg time visible, scroll depth, dimensions) alongside click activity. A high view count with low clicks often signals interest without commitment." })] }), children: _jsx("div", { className: card, children: monitored.length === 0 ? (_jsxs("p", { className: "px-5 py-8 text-center text-[13px] text-[#555]", children: ["No monitored components yet \u2014 wrap elements with", " ", _jsx("code", { className: "font-mono text-[#777]", children: "<PolishdMonitor name=\"…\">" }), " to track them here."] })) : (_jsx("div", { className: "overflow-x-auto", children: _jsxs("table", { className: "w-full min-w-[820px]", children: [_jsx("thead", { children: _jsxs("tr", { children: [_jsx(Th, { align: "left", tip: "The name prop passed to <PolishdMonitor>. Sessions and pages shown beneath.", children: "Component" }), _jsx(Th, { tip: "Times this region rendered (mount events). Only content-tracked monitors emit these.", children: "Mounts" }), _jsx(Th, { tip: "Times this component entered the viewport for \u2265500ms.", children: "Views" }), _jsx(Th, { tip: "Average time visible per viewport visit \u2014 a proxy for reading/engagement time.", children: "Avg time" }), _jsx(Th, { tip: "Average % of the component's height scrolled through per visit. 100% = user reached the bottom. Only measured for components taller than one screen \u2014 shorter ones show no value.", children: "Scroll depth" }), _jsx(Th, { tip: "Largest rendered height in px seen for this component \u2014 for an article, its full content height.", children: "Height" }), _jsx(Th, { tip: "Normal (non-rage, non-dead) clicks.", children: "Clicks" }), _jsx(Th, { tip: "Deliberate pointer hovers (\u2265200ms dwell).", children: "Hovers" }), _jsx(Th, { tip: "Rage clicks (3+ rapid clicks) \u2014 frustration signal.", children: "Rage" })] }) }), _jsx("tbody", { children: monitored.map((m) => (_jsx(MonitoredRow, { m: m }, m.name))) })] }) })) }) }), _jsx(Section, { title: _jsxs(_Fragment, { children: ["Sampled user journeys", _jsx(InfoTip, { anchor: "left", text: "Full sessions sampled and ranked by a composite score (rage\u00D73 + dead\u00D72 + errors\u00D72.5), preferring complete recordings and recent ones. Click a session to open its start-to-finish flow chart." })] }), children: _jsx(JourneyList, { journeys: journeys }) }), _jsx(Section, { title: _jsxs(_Fragment, { children: ["Most-used features", _jsx(InfoTip, { anchor: "left", text: "Interactive elements ranked by raw click volume (successful clicks only \u2014 rage and dead clicks excluded). The buttons and features visitors actually use most." })] }), children: _jsx("div", { className: card, children: topUsed.length === 0 ? (_jsx("p", { className: "px-5 py-8 text-center text-[13px] text-[#555]", children: "No clicks captured yet \u2014 browse the site then refresh." })) : (_jsx(TopFeaturesTable, { features: topUsed, header: _jsxs("tr", { children: [_jsx(Th, { align: "left", tip: "Component name (from data-component) or DOM selector. Sample text and selector shown beneath.", children: "Element" }), _jsx(Th, { tip: "Total successful (interactive) clicks across all pages.", children: "Clicks" }), _jsx(Th, { tip: "Distinct sessions that clicked this element.", children: "Sessions" }), _jsx(Th, { tip: "How many distinct pages this element was clicked on.", children: "Pages" })] }) })) }) }), _jsx(Section, { title: _jsxs(_Fragment, { children: ["Interactions by element", _jsx(InfoTip, { anchor: "left", text: "Click-type events grouped by DOM selector. This is which UI element the issues are on \u2014 the primary input to Stage 2 synthesis. Components wrapped in <PolishdMonitor> are listed separately under Monitored components." })] }), children: _jsx("div", { className: card, children: elements.length === 0 ? (_jsx("p", { className: "px-5 py-8 text-center text-[13px] text-[#555]", children: "No interactions captured yet \u2014 browse the site then refresh." })) : (_jsx(ElementsTable, { elements: elements, header: _jsxs("tr", { children: [_jsx(Th, { align: "left", tip: "DOM selector path for the interacted element. Sample text shown beneath.", children: "Element" }), _jsx(Th, { tip: "rage\u00D73 + dead\u00D72 for this element across all pages.", children: "Score" }), _jsx(Th, { tip: "Normal (non-rage, non-dead) clicks.", children: "Clicks" }), _jsx(Th, { tip: "Rage clicks on this element.", children: "Rage" }), _jsx(Th, { tip: "Dead clicks on this element.", children: "Dead" }), _jsx(Th, { tip: "How many distinct pages this element appeared on.", children: "Pages" })] }) })) }) }), errors.length > 0 && (_jsx(Section, { title: "Recent errors", children: _jsx("div", { className: card, children: errors.map((e, i) => (_jsx("div", { className: i > 0 ? divider : "", children: _jsxs("div", { className: "px-5 py-3", children: [_jsx("div", { className: `font-mono text-[13px] ${e.origin ? "text-[#8a6a6a]" : "text-red-400"}`, children: e.message }), _jsxs("div", { className: "mt-0.5 text-[11px] text-[#555]", children: [e.path, e.component ? ` · ${e.component}` : "", e.origin === "foreign" ? " · not your code" : "", e.origin === "unknown" ? " · unattributable" : ""] })] }) }, i))) }) }))] }) }));
96
91
  }
97
92
  // ── Built-in fallback for a failed auth check ────────────────────────────────
98
93
  function Unauthorized() {
@@ -247,25 +242,41 @@ export function createPolishdPage(opts = {}) {
247
242
  // Dogfood telemetry — decided per render, after auth, so the consent
248
243
  // prompt and the emitter are only ever served to the dashboard's owner.
249
244
  // `showInstalls` is the collector-side counterpart: whether any tagged
250
- // telemetry has landed here, which is what earns the Installs tab.
251
- const [telemetry, showInstalls] = await Promise.all([
245
+ // telemetry has landed here, which is what earns the Installs tab, and
246
+ // `showIssues` is the same idea for the tracker the Issues tab reads.
247
+ const [telemetry, showInstalls, showIssues] = await Promise.all([
252
248
  loadPolishdTelemetryState(),
253
249
  hasTelemetryInstalls(),
250
+ isGithubConnected(),
254
251
  ]);
255
- const telemetryUi = (_jsxs(_Fragment, { children: [telemetry.status === "granted" && (_jsx(PolishdTelemetryEmitter, { endpoint: telemetry.endpoint })), telemetry.status === "unset" && _jsx(PolishdTelemetryConsent, {})] }));
252
+ const telemetryUi = (_jsxs(_Fragment, { children: [telemetry.status === "granted" && (_jsx(PolishdTelemetryEmitter, { endpoint: telemetry.endpoint, installState: telemetry.installState })), telemetry.status === "unset" && _jsx(PolishdTelemetryConsent, {})] }));
256
253
  // Which tab to render, from the `?tab=` query the sidebar links carry.
257
254
  const rawTab = Array.isArray(sp.tab) ? sp.tab[0] : sp.tab;
258
255
  if (rawTab === "design") {
259
- const [design, settings] = await Promise.all([getDesignData(), getAISettingsPublic()]);
256
+ const [design, settings, snapshots, captureIssue] = await Promise.all([
257
+ getDesignData(),
258
+ getAISettingsPublic(),
259
+ listSnapshots(),
260
+ snapshotCaptureIssue(),
261
+ ]);
260
262
  const reviewState = await loadDesignReviewState(design);
261
- return wrap(_jsxs(_Fragment, { children: [_jsx(DashboardChrome, { active: "design", showInstalls: showInstalls, children: _jsx(DesignPanel, { data: design, review: reviewState.review, reviewStale: reviewState.stale, settings: settings }) }), telemetryUi] }));
263
+ return wrap(_jsxs(_Fragment, { children: [_jsx(DashboardChrome, { active: "design", showInstalls: showInstalls, showIssues: showIssues, children: _jsx(DesignPanel, { data: design, review: reviewState.review, reviewStale: reviewState.stale, settings: settings, snapshots: snapshots, captureIssue: captureIssue }) }), telemetryUi] }));
264
+ }
265
+ if (rawTab === "issues") {
266
+ // Reachable by URL with nothing connected, in which case the listing is
267
+ // empty and the view says how to fix that.
268
+ const [issues, settings] = await Promise.all([
269
+ listFiledIssues(),
270
+ getAISettingsPublic(),
271
+ ]);
272
+ return wrap(_jsxs(_Fragment, { children: [_jsx(DashboardChrome, { active: "issues", showInstalls: showInstalls, showIssues: showIssues, children: _jsx(IssuesView, { issues: issues, repo: settings.githubRepo, connected: showIssues }) }), telemetryUi] }));
262
273
  }
263
274
  if (rawTab === "installs") {
264
275
  const [installs, topPaths] = await Promise.all([
265
276
  getTelemetryInstalls(),
266
277
  getTelemetryTopPaths(),
267
278
  ]);
268
- return wrap(_jsxs(_Fragment, { children: [_jsx(DashboardChrome, { active: "installs", showInstalls: showInstalls, children: _jsx(InstallsView, { installs: installs, topPaths: topPaths }) }), telemetryUi] }));
279
+ return wrap(_jsxs(_Fragment, { children: [_jsx(DashboardChrome, { active: "installs", showInstalls: showInstalls, showIssues: showIssues, children: _jsx(InstallsView, { installs: installs, topPaths: topPaths }) }), telemetryUi] }));
269
280
  }
270
281
  if (rawTab === "settings") {
271
282
  // `loadProfileState` only reads component identifiers out of the
@@ -277,7 +288,7 @@ export function createPolishdPage(opts = {}) {
277
288
  getTopInteractions(),
278
289
  ]);
279
290
  const profileState = await loadProfileState({ monitored, topUsed });
280
- return wrap(_jsxs(_Fragment, { children: [_jsx(DashboardChrome, { active: "settings", showInstalls: showInstalls, children: _jsx(SettingsView, { initialSettings: settings, initialProfile: profileState.profile, initialGaps: profileState.gaps, sourceAvailable: profileState.sourceAvailable }) }), telemetryUi] }));
291
+ return wrap(_jsxs(_Fragment, { children: [_jsx(DashboardChrome, { active: "settings", showInstalls: showInstalls, showIssues: showIssues, children: _jsx(SettingsView, { initialSettings: settings, initialProfile: profileState.profile, initialGaps: profileState.gaps, sourceAvailable: profileState.sourceAvailable }) }), telemetryUi] }));
281
292
  }
282
293
  const data = await loadPolishdDashboardData();
283
294
  const [summaryState, settings, profileState] = await Promise.all([
@@ -310,7 +321,7 @@ export function createPolishdPage(opts = {}) {
310
321
  });
311
322
  }
312
323
  }
313
- return wrap(_jsxs(_Fragment, { children: [_jsx(PolishdDashboard, { data: data, showInstalls: showInstalls, ai: {
324
+ return wrap(_jsxs(_Fragment, { children: [_jsx(PolishdDashboard, { data: data, showInstalls: showInstalls, showIssues: showIssues, ai: {
314
325
  summary: summaryState.summary,
315
326
  settings,
316
327
  stale: summaryState.stale,
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/dashboard/index.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/dashboard/index.tsx"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"installs.d.ts","sourceRoot":"","sources":["../../src/dashboard/installs.tsx"],"names":[],"mappings":"AAWA,OAAO,KAAK,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AA8C7E,MAAM,CAAC,OAAO,UAAU,YAAY,CAAC,EACnC,QAAQ,EACR,QAAQ,GACT,EAAE;IACD,QAAQ,EAAE,gBAAgB,EAAE,CAAC;IAC7B,QAAQ,EAAE,iBAAiB,EAAE,CAAC;CAC/B,+BA6HA"}
1
+ {"version":3,"file":"installs.d.ts","sourceRoot":"","sources":["../../src/dashboard/installs.tsx"],"names":[],"mappings":"AAWA,OAAO,KAAK,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AA8C7E,MAAM,CAAC,OAAO,UAAU,YAAY,CAAC,EACnC,QAAQ,EACR,QAAQ,GACT,EAAE;IACD,QAAQ,EAAE,gBAAgB,EAAE,CAAC;IAC7B,QAAQ,EAAE,iBAAiB,EAAE,CAAC;CAC/B,+BA2IA"}
@@ -31,6 +31,7 @@ export default function InstallsView({ installs, topPaths, }) {
31
31
  const now = Date.now();
32
32
  const activeWeek = installs.filter((i) => now - i.lastSeen < WEEK_MS).length;
33
33
  const sessions = installs.reduce((sum, i) => sum + i.sessions, 0);
34
- return (_jsxs("main", { className: "text-white", children: [_jsxs("div", { className: `mb-8 border-b ${border} pb-6`, children: [_jsx("h1", { className: "text-[22px] font-semibold tracking-tight text-white", children: "Installs" }), _jsx("p", { className: "mt-1 text-[13px] text-[#666]", children: "Polishd dashboards out in the wild \u2014 anonymous usage reported by installations whose owners opted in, named by the domain they run on. This install's own analytics are never mixed in here, and these rows never appear in its analytics." })] }), _jsx("section", { className: "mb-8", children: _jsxs("div", { className: "grid grid-cols-3 gap-3", children: [_jsx(Stat, { label: "Installs", value: installs.length }), _jsx(Stat, { label: "Active this week", value: activeWeek }), _jsx(Stat, { label: "Dashboard sessions", value: sessions })] }) }), _jsxs("section", { className: "mb-8", children: [_jsx("div", { className: `mb-3 ${label}`, children: "Installations" }), _jsx("div", { className: card, children: installs.length === 0 ? (_jsxs("p", { className: "px-5 py-8 text-center text-[13px] text-[#555]", children: ["No telemetry received yet. This tab fills in once a dashboard whose owner opted in reports to this installation's ", _jsx("code", { className: "font-mono", children: "/telemetry" }), " ", "endpoint."] })) : (_jsx("div", { className: "overflow-x-auto", children: _jsxs("table", { className: "w-full min-w-[640px]", children: [_jsx("thead", { children: _jsxs("tr", { children: [_jsx(Th, { align: "left", children: "Install" }), _jsx(Th, { children: "Sessions" }), _jsx(Th, { children: "Tab views" }), _jsx(Th, { children: "Clicks" }), _jsx(Th, { children: "Rage" }), _jsx(Th, { children: "Dead" }), _jsx(Th, { children: "Last seen" })] }) }), _jsx("tbody", { children: installs.map((i) => (_jsxs("tr", { className: `${divider} first:border-t-0`, children: [_jsx("td", { className: "py-2.5 pl-5 pr-4 text-[13px] font-medium text-white", children: i.install }), _jsx("td", { className: "py-2.5 px-4 text-right text-[13px] tabular-nums text-[#888]", children: i.sessions }), _jsx("td", { className: "py-2.5 px-4 text-right text-[13px] font-semibold tabular-nums text-white", children: i.pageViews }), _jsx("td", { className: "py-2.5 px-4 text-right text-[13px] tabular-nums text-[#888]", children: i.clicks }), _jsx("td", { className: "py-2.5 px-4 text-right text-[13px] tabular-nums", children: i.rageClicks > 0 ? (_jsx("span", { className: "text-red-400", children: i.rageClicks })) : (_jsx("span", { className: "text-[#444]", children: "\u2014" })) }), _jsx("td", { className: "py-2.5 px-4 text-right text-[13px] tabular-nums", children: i.deadClicks > 0 ? (_jsx("span", { className: "text-[#f5a623]", children: i.deadClicks })) : (_jsx("span", { className: "text-[#444]", children: "\u2014" })) }), _jsx("td", { className: "py-2.5 pl-4 pr-5 text-right text-[12px] tabular-nums text-[#666]", children: timeAgo(i.lastSeen) })] }, i.install))) })] }) })) })] }), topPaths.length > 0 && (_jsxs("section", { className: "mb-8", children: [_jsx("div", { className: `mb-3 ${label}`, children: "Most-used dashboard tabs" }), _jsx("div", { className: card, children: _jsxs("table", { className: "w-full", children: [_jsx("thead", { children: _jsxs("tr", { children: [_jsx(Th, { align: "left", children: "Tab" }), _jsx(Th, { children: "Views" }), _jsx(Th, { children: "Sessions" }), _jsx(Th, { children: "Installs" })] }) }), _jsx("tbody", { children: topPaths.map((p) => (_jsxs("tr", { className: `${divider} first:border-t-0`, children: [_jsx("td", { className: "py-2.5 pl-5 pr-4 text-[13px] font-medium capitalize text-white", children: tabName(p.path) }), _jsx("td", { className: "py-2.5 px-4 text-right text-[13px] font-semibold tabular-nums text-white", children: p.views }), _jsx("td", { className: "py-2.5 px-4 text-right text-[13px] tabular-nums text-[#888]", children: p.sessions }), _jsx("td", { className: "py-2.5 pl-4 pr-5 text-right text-[13px] tabular-nums text-[#888]", children: p.installs })] }, p.path))) })] }) })] }))] }));
34
+ const withModel = installs.filter((i) => i.hasModel === true).length;
35
+ return (_jsxs("main", { className: "text-white", children: [_jsxs("div", { className: `mb-8 border-b ${border} pb-6`, children: [_jsx("h1", { className: "text-[22px] font-semibold tracking-tight text-white", children: "Installs" }), _jsx("p", { className: "mt-1 text-[13px] text-[#666]", children: "Polishd dashboards out in the wild \u2014 anonymous usage reported by installations whose owners opted in, named by the domain they run on. This install's own analytics are never mixed in here, and these rows never appear in its analytics." })] }), _jsx("section", { className: "mb-8", children: _jsxs("div", { className: "grid grid-cols-2 gap-3 sm:grid-cols-4", children: [_jsx(Stat, { label: "Installs", value: installs.length }), _jsx(Stat, { label: "Active this week", value: activeWeek }), _jsx(Stat, { label: "Dashboard sessions", value: sessions }), _jsx(Stat, { label: "With a model", value: withModel })] }) }), _jsxs("section", { className: "mb-8", children: [_jsx("div", { className: `mb-3 ${label}`, children: "Installations" }), _jsx("div", { className: card, children: installs.length === 0 ? (_jsxs("p", { className: "px-5 py-8 text-center text-[13px] text-[#555]", children: ["No telemetry received yet. This tab fills in once a dashboard whose owner opted in reports to this installation's ", _jsx("code", { className: "font-mono", children: "/telemetry" }), " ", "endpoint."] })) : (_jsx("div", { className: "overflow-x-auto", children: _jsxs("table", { className: "w-full min-w-[760px]", children: [_jsx("thead", { children: _jsxs("tr", { children: [_jsx(Th, { align: "left", children: "Install" }), _jsx(Th, { align: "left", children: "Model" }), _jsx(Th, { children: "Sessions" }), _jsx(Th, { children: "Tab views" }), _jsx(Th, { children: "Clicks" }), _jsx(Th, { children: "Rage" }), _jsx(Th, { children: "Dead" }), _jsx(Th, { children: "Last seen" })] }) }), _jsx("tbody", { children: installs.map((i) => (_jsxs("tr", { className: `${divider} first:border-t-0`, children: [_jsx("td", { className: "py-2.5 pl-5 pr-4 text-[13px] font-medium text-white", children: i.install }), _jsx("td", { className: "py-2.5 pl-5 pr-6 text-[12px]", children: i.hasModel ? (_jsx("span", { className: "font-mono text-[11px] text-[#aaa]", children: [i.provider, i.model].filter(Boolean).join(" · ") || "connected" })) : i.hasModel === false ? (_jsx("span", { className: "text-[#555]", children: "none" })) : (_jsx("span", { className: "text-[#444]", children: "\u2014" })) }), _jsx("td", { className: "py-2.5 px-4 text-right text-[13px] tabular-nums text-[#888]", children: i.sessions }), _jsx("td", { className: "py-2.5 px-4 text-right text-[13px] font-semibold tabular-nums text-white", children: i.pageViews }), _jsx("td", { className: "py-2.5 px-4 text-right text-[13px] tabular-nums text-[#888]", children: i.clicks }), _jsx("td", { className: "py-2.5 px-4 text-right text-[13px] tabular-nums", children: i.rageClicks > 0 ? (_jsx("span", { className: "text-red-400", children: i.rageClicks })) : (_jsx("span", { className: "text-[#444]", children: "\u2014" })) }), _jsx("td", { className: "py-2.5 px-4 text-right text-[13px] tabular-nums", children: i.deadClicks > 0 ? (_jsx("span", { className: "text-[#f5a623]", children: i.deadClicks })) : (_jsx("span", { className: "text-[#444]", children: "\u2014" })) }), _jsx("td", { className: "py-2.5 pl-4 pr-5 text-right text-[12px] tabular-nums text-[#666]", children: timeAgo(i.lastSeen) })] }, i.install))) })] }) })) })] }), topPaths.length > 0 && (_jsxs("section", { className: "mb-8", children: [_jsx("div", { className: `mb-3 ${label}`, children: "Most-used dashboard tabs" }), _jsx("div", { className: card, children: _jsxs("table", { className: "w-full", children: [_jsx("thead", { children: _jsxs("tr", { children: [_jsx(Th, { align: "left", children: "Tab" }), _jsx(Th, { children: "Views" }), _jsx(Th, { children: "Sessions" }), _jsx(Th, { children: "Installs" })] }) }), _jsx("tbody", { children: topPaths.map((p) => (_jsxs("tr", { className: `${divider} first:border-t-0`, children: [_jsx("td", { className: "py-2.5 pl-5 pr-4 text-[13px] font-medium capitalize text-white", children: tabName(p.path) }), _jsx("td", { className: "py-2.5 px-4 text-right text-[13px] font-semibold tabular-nums text-white", children: p.views }), _jsx("td", { className: "py-2.5 px-4 text-right text-[13px] tabular-nums text-[#888]", children: p.sessions }), _jsx("td", { className: "py-2.5 pl-4 pr-5 text-right text-[13px] tabular-nums text-[#888]", children: p.installs })] }, p.path))) })] }) })] }))] }));
35
36
  }
36
37
  //# sourceMappingURL=installs.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"installs.js","sourceRoot":"","sources":["../../src/dashboard/installs.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"installs.js","sourceRoot":"","sources":["../../src/dashboard/installs.tsx"],"names":[],"mappings":"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"}