ghost 6.52.0 → 6.52.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 (220) hide show
  1. package/components/tryghost-kg-card-factory-5.2.3.tgz +0 -0
  2. package/components/tryghost-kg-clean-basic-html-4.3.3.tgz +0 -0
  3. package/components/tryghost-kg-converters-1.2.3.tgz +0 -0
  4. package/components/tryghost-kg-default-cards-10.3.3.tgz +0 -0
  5. package/components/tryghost-kg-default-nodes-2.1.3.tgz +0 -0
  6. package/components/tryghost-kg-default-transforms-1.3.3.tgz +0 -0
  7. package/components/tryghost-kg-html-to-lexical-1.3.3.tgz +0 -0
  8. package/components/tryghost-kg-lexical-html-renderer-1.4.3.tgz +0 -0
  9. package/components/tryghost-kg-markdown-html-renderer-7.2.3.tgz +0 -0
  10. package/components/tryghost-kg-utils-1.1.3.tgz +0 -0
  11. package/core/built/admin/assets/Growth-CczbRexv.js +3 -0
  12. package/core/built/admin/assets/Newsletters-rFycX4x8.js +1 -0
  13. package/core/built/admin/assets/Overview-DFubBJaR.js +1 -0
  14. package/core/built/admin/assets/Web-BDE2lN4_.js +2 -0
  15. package/core/built/admin/assets/{account-migration-DiS76mRS.js → account-migration-gvH5a8ea.js} +1 -1
  16. package/core/built/admin/assets/audience-CMWMCxFS.js +1 -0
  17. package/core/built/admin/assets/{automated-emails-Cel18g7S.js → automated-emails-293Lcj5S.js} +1 -1
  18. package/core/built/admin/assets/automations-BxnjfCKn.js +1 -0
  19. package/core/built/admin/assets/automations-kPr44AmD.js +1 -0
  20. package/core/built/admin/assets/bluesky-sharing-Cww54F3Y.js +1 -0
  21. package/core/built/admin/assets/{chunk.912.9d6df5a6da679d905bbf.js → chunk.251.dd82df30188bb633b4ae.js} +9 -9
  22. package/core/built/admin/assets/{chunk.730.2457b7fede040aa52c88.js → chunk.341.20e7d2936dfa5877deea.js} +3 -3
  23. package/core/built/admin/assets/{chunk.524.d6d399b571454ea0234d.js → chunk.524.697bf0ded48e7c994fc3.js} +5 -5
  24. package/core/built/admin/assets/{chunk.582.50a9a5cbab6996daf0fe.js → chunk.582.6b742e9ba932688c442c.js} +6 -6
  25. package/core/built/admin/assets/{code-editor-view-BLGzcLub.js → code-editor-view-DSY5RHLf.js} +1 -1
  26. package/core/built/admin/assets/comments-BwNUmaNM.js +1 -0
  27. package/core/built/admin/assets/constants-c-JNF9c2.js +1 -0
  28. package/core/built/admin/assets/container-CD33Rm0u.js +1 -0
  29. package/core/built/admin/assets/content-helpers-CNBPrwsi.js +1 -0
  30. package/core/built/admin/assets/date-range-select-BkkNN98H.js +1 -0
  31. package/core/built/admin/assets/disabled-sources-indicator-ChHTF69d.js +1 -0
  32. package/core/built/admin/assets/{domain-2REz20SO.js → domain-CGk9SMa-.js} +1 -1
  33. package/core/built/admin/assets/dropzone-9zocztX0.js +5 -0
  34. package/core/built/admin/assets/{edit-profile-7QEh0VtN.js → edit-profile-C0B2Kbsl.js} +1 -1
  35. package/core/built/admin/assets/editor-Bz2Sm2O8.js +8 -0
  36. package/core/built/admin/assets/{esm-CEtFqV1y.js → esm-CsHLKmLh.js} +1 -1
  37. package/core/built/admin/assets/explore-CpRAMnx7.js +1 -0
  38. package/core/built/admin/assets/feed-BRoOWghO.js +1 -0
  39. package/core/built/admin/assets/filter-sources-DhxqZID1.js +1 -0
  40. package/core/built/admin/assets/{filters-DUy8rzI5.js → filters-B8nLLYGO.js} +1 -1
  41. package/core/built/admin/assets/{gh-chart-DdBGmBS8.js → gh-chart-Cqy9gGq7.js} +1 -1
  42. package/core/built/admin/assets/{gift-link-modal-CSgyxenA.js → gift-link-modal-v55u0VUL.js} +1 -1
  43. package/core/built/admin/assets/growth-BIfM3w1p.js +1 -0
  44. package/core/built/admin/assets/{inbox-CTD-ix6u.js → inbox-CDX57fXK.js} +11 -11
  45. package/core/built/admin/assets/index-B5yxmQNp.js +69 -0
  46. package/core/built/admin/assets/inline-DdrWe7D3.js +1 -0
  47. package/core/built/admin/assets/{input-group-DkR63-nk.js → input-group-DUPGQck1.js} +1 -1
  48. package/core/built/admin/assets/{koenig-lexical-D09TwwLs.js → koenig-lexical-CUVpp-dC.js} +1 -1
  49. package/core/built/admin/assets/{kpi-card-Fr_HJH78.js → kpi-card-DyDbok3h.js} +1 -1
  50. package/core/built/admin/assets/kpi-helpers-Bx9IHIMq.js +1 -0
  51. package/core/built/admin/assets/{kpi-tabs-Dc4Nt4a5.js → kpi-tabs-DmUcThFc.js} +1 -1
  52. package/core/built/admin/assets/labels-DLL8dl-7.js +1 -0
  53. package/core/built/admin/assets/layout-B7K3SmL0.js +1 -0
  54. package/core/built/admin/assets/{links-CfAB2Yeq.js → link-helpers-DHG_8GIT.js} +1 -1
  55. package/core/built/admin/assets/list-page-COAUFrmV.js +1 -0
  56. package/core/built/admin/assets/members-BxWs_mjq.js +10 -0
  57. package/core/built/admin/assets/{modals-Bu-1Uxdc.js → modals-DF2sECo6.js} +4 -4
  58. package/core/built/admin/assets/moderation-DYKTx5x0.js +1 -0
  59. package/core/built/admin/assets/newsletter-C-ZD1dI8.js +1 -0
  60. package/core/built/admin/assets/note-oaRdU_5z.js +1 -0
  61. package/core/built/admin/assets/notifications-BF4fAiP1.js +1 -0
  62. package/core/built/admin/assets/{nql-lang-CvCSOQG3.js → nql-lang-BoHzkNg5.js} +1 -1
  63. package/core/built/admin/assets/{onboarding-route-BDaa9hd3.js → onboarding-route-SS-e9Aeb.js} +1 -1
  64. package/core/built/admin/assets/overview-Cbn6bIoR.js +1 -0
  65. package/core/built/admin/assets/post-analytics-Bk9-KEgB.js +1 -0
  66. package/core/built/admin/assets/post-analytics-context-C8t_048I.js +1 -0
  67. package/core/built/admin/assets/post-analytics-header-xTjcg4H0.js +1 -0
  68. package/core/built/admin/assets/post-analytics-provider-CqnWwLMk.js +1 -0
  69. package/core/built/admin/assets/{post-share-modal-59Ujf4t1.js → post-share-modal-ZUCX7JZo.js} +1 -1
  70. package/core/built/admin/assets/preferences-BgjgxiBB.js +5 -0
  71. package/core/built/admin/assets/profile-qIwaxKTm.js +1 -0
  72. package/core/built/admin/assets/{router-provider-DcttGCQn.js → router-provider-S8Wf6jdu.js} +1 -1
  73. package/core/built/admin/assets/select-Cp27ScMR.js +1 -0
  74. package/core/built/admin/assets/{settings-dLraw6et.js → settings-CdDfyF90.js} +1 -1
  75. package/core/built/admin/assets/{settings-CIslWMfh.js → settings-CynBh-YN.js} +4 -4
  76. package/core/built/admin/assets/{share-modal-CI3E67kW.js → share-modal-DTIFYNI1.js} +1 -1
  77. package/core/built/admin/assets/social-urls-DVvRfwEp.js +16 -0
  78. package/core/built/admin/assets/{sort-button-BYwI0xdN.js → sort-button-BHh5Ba1K.js} +1 -1
  79. package/core/built/admin/assets/source-icon--egCE7iN.js +1 -0
  80. package/core/built/admin/assets/stats-DkqCtrPh.js +1 -0
  81. package/core/built/admin/assets/stats-view-BvWWxegf.js +1 -0
  82. package/core/built/admin/assets/step-1-DWjw7rIn.js +1 -0
  83. package/core/built/admin/assets/{step-2-CVOvLQ2n.js → step-2-D1LrETIB.js} +1 -1
  84. package/core/built/admin/assets/{step-3-BsVXcpWU.js → step-3-BAdJdZw4.js} +2 -2
  85. package/core/built/admin/assets/{tabs-Bw8aEqsd.js → tabs-DSrHPjWP.js} +1 -1
  86. package/core/built/admin/assets/tags-BWZqBj19.js +1 -0
  87. package/core/built/admin/assets/{textarea-CNaqhk5P.js → textarea-CUVQjsrM.js} +1 -1
  88. package/core/built/admin/assets/{toggle-group-CMp1taHd.js → toggle-group-CrFpl-Xz.js} +1 -1
  89. package/core/built/admin/assets/{topic-filter-D2_9eEw4.js → topic-filter-jAxwwd9I.js} +1 -1
  90. package/core/built/admin/assets/types-uYQ1HgqL.js +1 -0
  91. package/core/built/admin/assets/url-helpers-CCyfRrKj.js +1 -0
  92. package/core/built/admin/assets/use-analytics-data-DXG7mpgK.js +1 -0
  93. package/core/built/admin/assets/use-filter-params-EoQBXfP3.js +1 -0
  94. package/core/built/admin/assets/use-growth-stats-DJoXxVfD.js +1 -0
  95. package/core/built/admin/assets/use-post-referrers-B-onYbuS.js +1 -0
  96. package/core/built/admin/assets/use-reply-chain-data-D8IFALoz.js +1 -0
  97. package/core/built/admin/assets/{use-tinybird-query-CNCaUn39.js → use-tinybird-query-BSL3iVCc.js} +1 -1
  98. package/core/built/admin/assets/{use-tinybird-token-1T80Odca.js → use-tinybird-token-DHgOnrNu.js} +1 -1
  99. package/core/built/admin/assets/virtual-list-AQrbRAXP.js +1 -0
  100. package/core/built/admin/assets/web-zEFi98DS.js +1 -0
  101. package/core/built/admin/index.html +6 -6
  102. package/core/server/services/automations/automations-api.js +20 -0
  103. package/core/server/services/automations/automations-api.ts +31 -0
  104. package/core/server/services/automations/poll.js +7 -7
  105. package/core/server/services/automations/poll.ts +12 -9
  106. package/core/server/services/email-analytics/email-analytics-provider-mailgun.js +2 -2
  107. package/core/server/services/email-analytics/email-analytics-service-wrapper.js +1 -4
  108. package/core/server/services/email-analytics/email-analytics-service.js +5 -7
  109. package/core/server/services/webhooks/serialize.js +6 -5
  110. package/package.json +1 -1
  111. package/pnpm-lock.yaml +14 -14
  112. package/pnpm-workspace.yaml +5 -0
  113. package/core/built/admin/assets/Growth-Dx0vv-BS.js +0 -3
  114. package/core/built/admin/assets/Newsletters-v1GnbUjW.js +0 -1
  115. package/core/built/admin/assets/Overview-BgM7o-Z8.js +0 -1
  116. package/core/built/admin/assets/Web-DRv-83Ow.js +0 -2
  117. package/core/built/admin/assets/automations-DFLgH14-.js +0 -1
  118. package/core/built/admin/assets/automations-Dc4DUKBb.js +0 -1
  119. package/core/built/admin/assets/bluesky-sharing-Dk1RTUaz.js +0 -1
  120. package/core/built/admin/assets/comments-DgH1rC7w.js +0 -1
  121. package/core/built/admin/assets/constants-BlvYJTqz.js +0 -1
  122. package/core/built/admin/assets/content-helpers-BEgGpvyE.js +0 -1
  123. package/core/built/admin/assets/editor-u3BPqQed.js +0 -8
  124. package/core/built/admin/assets/en-DA2zVD_n.js +0 -1
  125. package/core/built/admin/assets/explore-BgHmdFVz.js +0 -1
  126. package/core/built/admin/assets/feed-Cs7-F3I5.js +0 -1
  127. package/core/built/admin/assets/filter-query-core-D6GjHUFB.js +0 -1
  128. package/core/built/admin/assets/growth-IkQZ1ZV9.js +0 -1
  129. package/core/built/admin/assets/index-BMhs4O3N.js +0 -69
  130. package/core/built/admin/assets/inline-C1CpHxuO.js +0 -1
  131. package/core/built/admin/assets/kpis-BTZ8cyw-.js +0 -1
  132. package/core/built/admin/assets/labels-sA9m188H.js +0 -5
  133. package/core/built/admin/assets/layout-szLkuQ88.js +0 -1
  134. package/core/built/admin/assets/list-page-DWkOdljb.js +0 -1
  135. package/core/built/admin/assets/main-layout-B-K8KliJ.js +0 -1
  136. package/core/built/admin/assets/members-PNNhalbu.js +0 -10
  137. package/core/built/admin/assets/moderation-DqnsNTiw.js +0 -1
  138. package/core/built/admin/assets/newsletter-BhuQeWFL.js +0 -1
  139. package/core/built/admin/assets/note-DFy2JTpP.js +0 -1
  140. package/core/built/admin/assets/notifications-BVu-JOkB.js +0 -1
  141. package/core/built/admin/assets/overview-Bhg8M7VS.js +0 -1
  142. package/core/built/admin/assets/pagemenu-C4paivNj.js +0 -1
  143. package/core/built/admin/assets/post-analytics-BhQUmZyA.js +0 -1
  144. package/core/built/admin/assets/post-analytics-context-Dy17HR1_.js +0 -1
  145. package/core/built/admin/assets/post-analytics-header-DAQep1VQ.js +0 -1
  146. package/core/built/admin/assets/posts/_react-dom-Blmuc0OL.js +0 -21
  147. package/core/built/admin/assets/posts/alert-dialog-DBJeQQTK.js +0 -154
  148. package/core/built/admin/assets/posts/app-provider-BJr9fdEC.js +0 -22
  149. package/core/built/admin/assets/posts/app-utils-9O53Czfw.js +0 -83
  150. package/core/built/admin/assets/posts/automations-BM0oBTjO.js +0 -275
  151. package/core/built/admin/assets/posts/automations-Dbp-gdHS.js +0 -223
  152. package/core/built/admin/assets/posts/avatar-kOk1tTvT.js +0 -144
  153. package/core/built/admin/assets/posts/badge-DnByIHe9.js +0 -25
  154. package/core/built/admin/assets/posts/button-Dd8Xreln.js +0 -40844
  155. package/core/built/admin/assets/posts/chunk-KS7C4IRE-ECXkcZq6.js +0 -7740
  156. package/core/built/admin/assets/posts/comments-D-7hbbdw.js +0 -8032
  157. package/core/built/admin/assets/posts/data-list-DdD_glQ-.js +0 -14219
  158. package/core/built/admin/assets/posts/dialog-DDkTy_np.js +0 -229
  159. package/core/built/admin/assets/posts/editor-D7-01KV_.js +0 -14633
  160. package/core/built/admin/assets/posts/empty-indicator-Ze-bwJ27.js +0 -38
  161. package/core/built/admin/assets/posts/filters-CmKfKtpS.js +0 -5611
  162. package/core/built/admin/assets/posts/get-site-timezone-DVbWc-NA.js +0 -39
  163. package/core/built/admin/assets/posts/growth-DlhFUzVg.js +0 -299
  164. package/core/built/admin/assets/posts/heading-BBl-8tMC.js +0 -92
  165. package/core/built/admin/assets/posts/hooks-gZAmj4Al.js +0 -5429
  166. package/core/built/admin/assets/posts/input-DuPLeCGW.js +0 -16
  167. package/core/built/admin/assets/posts/input-surface-ClwNIxfd.js +0 -17
  168. package/core/built/admin/assets/posts/jsx-runtime-BfZnKD4L.js +0 -95
  169. package/core/built/admin/assets/posts/koenig-lexical-DCHiJJou.js +0 -77579
  170. package/core/built/admin/assets/posts/kpis-Fsx0XmYK.js +0 -2061
  171. package/core/built/admin/assets/posts/label-D1wSl69p.js +0 -32
  172. package/core/built/admin/assets/posts/links-DLozzgMh.js +0 -1243
  173. package/core/built/admin/assets/posts/loading-indicator-BgU2kK3v.js +0 -44
  174. package/core/built/admin/assets/posts/main-layout-DDlTMrnF.js +0 -15
  175. package/core/built/admin/assets/posts/newsletter-DAQJ1GLe.js +0 -736
  176. package/core/built/admin/assets/posts/overview-G3MfRm-S.js +0 -426
  177. package/core/built/admin/assets/posts/page-header-CanFyB95.js +0 -284
  178. package/core/built/admin/assets/posts/popover-Cta8ZDHJ.js +0 -221
  179. package/core/built/admin/assets/posts/post-analytics-cS07-wo_.js +0 -121
  180. package/core/built/admin/assets/posts/post-analytics-context-D868SMoq.js +0 -150
  181. package/core/built/admin/assets/posts/post-analytics-header-CZYiuaEL.js +0 -42249
  182. package/core/built/admin/assets/posts/post-share-modal-BJfswZzf.js +0 -352
  183. package/core/built/admin/assets/posts/posts-CpusjBC0.js +0 -37
  184. package/core/built/admin/assets/posts/posts-app-context-CPC7dOlt.js +0 -26
  185. package/core/built/admin/assets/posts/posts.js +0 -145
  186. package/core/built/admin/assets/posts/router-provider-DrqpOc8m.js +0 -114
  187. package/core/built/admin/assets/posts/separator-DAZNzARU.js +0 -37
  188. package/core/built/admin/assets/posts/settings-CMfUn5Hq.js +0 -66
  189. package/core/built/admin/assets/posts/shade-app-DLbeExcd-NeEZjE3R.js +0 -4764
  190. package/core/built/admin/assets/posts/sheet-CEuv-0a5.js +0 -62
  191. package/core/built/admin/assets/posts/site-WJ6ldary.js +0 -10
  192. package/core/built/admin/assets/posts/skeleton-CO0qCdQF.js +0 -2426
  193. package/core/built/admin/assets/posts/source-icon-Bs6o84W3.js +0 -143
  194. package/core/built/admin/assets/posts/stats-B1Z8H0JT.js +0 -92
  195. package/core/built/admin/assets/posts/table-CbJ9bOpM.js +0 -77
  196. package/core/built/admin/assets/posts/tabs-BvzzwQ4P.js +0 -242
  197. package/core/built/admin/assets/posts/tags-D-4TwsD0.js +0 -462
  198. package/core/built/admin/assets/posts/tooltip-BI7VtFUY.js +0 -380
  199. package/core/built/admin/assets/posts/update-queries-DiUznIQ1.js +0 -60
  200. package/core/built/admin/assets/posts/users-UgRPrTKW.js +0 -83
  201. package/core/built/admin/assets/posts/value-DF_wOhJe.js +0 -415
  202. package/core/built/admin/assets/posts/virtual-list-window-DP63Onpm.js +0 -853
  203. package/core/built/admin/assets/posts/web-axp2l3kK.js +0 -8077
  204. package/core/built/admin/assets/preferences-ChOzBKcF.js +0 -5
  205. package/core/built/admin/assets/profile-DlcrYKay.js +0 -1
  206. package/core/built/admin/assets/select-BbtNHCBq.js +0 -1
  207. package/core/built/admin/assets/social-urls-DVzIHh2W.js +0 -16
  208. package/core/built/admin/assets/source-icon-Uuhttjun.js +0 -1
  209. package/core/built/admin/assets/source-utils-BchD0sF0.js +0 -1
  210. package/core/built/admin/assets/stats-CrlPzgdd.js +0 -1
  211. package/core/built/admin/assets/stats-view-UNMhTMCZ.js +0 -1
  212. package/core/built/admin/assets/step-1-C2HY6pyi.js +0 -1
  213. package/core/built/admin/assets/tags-DjCsJo0X.js +0 -1
  214. package/core/built/admin/assets/typeof-Ca-duI-z.js +0 -1
  215. package/core/built/admin/assets/url-helpers-DxA844rA.js +0 -1
  216. package/core/built/admin/assets/use-growth-stats-DNIGdI8h.js +0 -1
  217. package/core/built/admin/assets/use-reply-chain-data-DtEC2Azp.js +0 -1
  218. package/core/built/admin/assets/virtual-list-window-BTXGwpf5.js +0 -1
  219. package/core/built/admin/assets/web-Cj8VEw3s.js +0 -1
  220. /package/core/built/admin/assets/{chunk.912.9d6df5a6da679d905bbf.js.LICENSE.txt → chunk.251.dd82df30188bb633b4ae.js.LICENSE.txt} +0 -0
@@ -1,426 +0,0 @@
1
- import { D as e, b as t, p as n, t as r, w as i } from "./jsx-runtime-BfZnKD4L.js";
2
- import { u as a } from "./chunk-KS7C4IRE-ECXkcZq6.js";
3
- import { H as o, K as s, W as c, b as l, q as u, t as d } from "./button-Dd8Xreln.js";
4
- import { t as f } from "./separator-DAZNzARU.js";
5
- import { t as p } from "./skeleton-CO0qCdQF.js";
6
- import { c as m, n as h } from "./post-analytics-context-D868SMoq.js";
7
- import { a as g, c as _, f as v, g as y, h as ee, i as te, l as b, m as ne, n as re, o as ie, p as x, r as ae, t as oe } from "./post-analytics-header-CZYiuaEL.js";
8
- import { r as S } from "./router-provider-DrqpOc8m.js";
9
- import { d as C, f as w, s as T } from "./shade-app-DLbeExcd-NeEZjE3R.js";
10
- import { r as E } from "./heading-BBl-8tMC.js";
11
- import { n as se } from "./posts-app-context-CPC7dOlt.js";
12
- import { i as D, l as ce, o as le, s as ue } from "./app-utils-9O53Czfw.js";
13
- import { c as O, l as k, n as A, o as j, r as M, s as N, t as de, u as fe } from "./data-list-DdD_glQ-.js";
14
- import { a as pe, n as me, o as he, r as P } from "./links-DLozzgMh.js";
15
- import { c as F, i as I, o as L, s as R, t as ge } from "./kpis-Fsx0XmYK.js";
16
- import { t as z } from "./empty-indicator-Ze-bwJ27.js";
17
- import { t as B } from "./loading-indicator-BgU2kK3v.js";
18
- import { c as V, d as H, l as U, s as W } from "./stats-B1Z8H0JT.js";
19
- import { centsToDollars as _e, n as ve, t as ye } from "./growth-DlhFUzVg.js";
20
- //#region ../shade/es/components/patterns/kpi-card.js
21
- n();
22
- var G = r(), K = ({ children: e, className: t, ...n }) => /* @__PURE__ */ (0, G.jsx)("div", {
23
- className: T("flex flex-col items-start gap-4 border-r border-border px-6 py-5 transition-all last:border-none", t),
24
- ...n,
25
- children: e
26
- }), q = ({ children: e, className: t, color: n, ...r }) => /* @__PURE__ */ (0, G.jsxs)("div", {
27
- className: T("flex h-[22px] items-center gap-1.5 text-base font-medium text-muted-foreground [&_svg]:size-4", t),
28
- ...r,
29
- children: [n && /* @__PURE__ */ (0, G.jsx)("div", {
30
- className: "ml-1 size-2 rounded-full opacity-50",
31
- style: { backgroundColor: n }
32
- }), e]
33
- }), J = ({ value: e, diffDirection: t, diffValue: n, diffTooltip: r }) => {
34
- let i = null;
35
- return t && t !== "hidden" && (i = t === "empty" ? /* @__PURE__ */ (0, G.jsx)("div", {
36
- className: "flex h-[22px] items-center px-1.5 text-xs leading-none font-medium",
37
- "data-testid": "kpi-card-header-diff",
38
- children: n
39
- }) : /* @__PURE__ */ (0, G.jsx)(R, {
40
- "data-testid": "kpi-card-header-diff",
41
- direction: t,
42
- tooltip: r,
43
- value: n ?? ""
44
- })), /* @__PURE__ */ (0, G.jsx)(F, {
45
- trailing: i,
46
- value: e,
47
- valueTestId: "kpi-card-header-value"
48
- });
49
- };
50
- //#endregion
51
- //#region src/views/PostAnalytics/Overview/components/newsletter-overview.tsx
52
- n();
53
- var be = ({ post: e, isNewsletterStatsLoading: t, isWebShown: n }) => {
54
- let { postId: r } = a(), s = S(), l = i(() => {
55
- let t = e.email?.opened_count || 0, n = e.email?.email_count || 0, r = e.count?.clicks || 0;
56
- return {
57
- opened: t,
58
- clicked: r,
59
- openedRate: n > 0 ? t / n : 0,
60
- clickedRate: n > 0 ? r / n : 0,
61
- sent: n
62
- };
63
- }, [e]), { data: u } = me({ searchParams: { filter: `post_id:'${r}'` } }), p = i(() => pe(u), [u]), m = [{
64
- datatype: "Clicked",
65
- value: l.clickedRate,
66
- fill: "url(#gradientTeal)",
67
- color: "var(--chart-teal)"
68
- }, {
69
- datatype: "Opened",
70
- value: l.openedRate,
71
- fill: "url(#gradientBlue)",
72
- color: "var(--chart-blue)"
73
- }], h = {
74
- percentage: { label: "Opened" },
75
- Average: { label: "Clicked" },
76
- "This newsletter": { label: "Opened" }
77
- }, g = e.email_only || !n;
78
- return /* @__PURE__ */ (0, G.jsxs)(_, {
79
- className: `group/datalist overflow-hidden ${g && "col-span-2"}`,
80
- children: [/* @__PURE__ */ (0, G.jsxs)("div", {
81
- className: "relative flex items-center justify-between gap-6",
82
- children: [/* @__PURE__ */ (0, G.jsx)(v, { children: /* @__PURE__ */ (0, G.jsxs)(x, {
83
- className: "flex items-center gap-1.5 text-lg",
84
- children: [/* @__PURE__ */ (0, G.jsx)(o, {
85
- size: 16,
86
- strokeWidth: 1.5
87
- }), "Newsletter performance"]
88
- }) }), /* @__PURE__ */ (0, G.jsx)(d, {
89
- className: "absolute right-6 translate-x-10 opacity-0 transition-all duration-300 group-hover/datalist:translate-x-0 group-hover/datalist:opacity-100 focus-visible:translate-x-0 focus-visible:opacity-100",
90
- size: "sm",
91
- variant: "outline",
92
- onClick: () => {
93
- s(`/posts/analytics/${r}/newsletter`);
94
- },
95
- children: "View more"
96
- })]
97
- }), t ? /* @__PURE__ */ (0, G.jsx)(b, { children: /* @__PURE__ */ (0, G.jsx)("div", {
98
- className: "mx-auto flex min-h-[250px] items-center justify-center xl:size-full",
99
- children: /* @__PURE__ */ (0, G.jsx)(B, {})
100
- }) }) : /* @__PURE__ */ (0, G.jsxs)(b, {
101
- className: `${g && "grid grid-cols-2"}`,
102
- children: [/* @__PURE__ */ (0, G.jsxs)("div", {
103
- className: `${g && "border-r pr-6"}`,
104
- children: [
105
- /* @__PURE__ */ (0, G.jsxs)("div", {
106
- className: "grid grid-cols-2 gap-6",
107
- children: [/* @__PURE__ */ (0, G.jsx)(K, {
108
- className: "group relative flex grow flex-row items-start justify-between gap-5 border-none px-0 pt-0",
109
- children: /* @__PURE__ */ (0, G.jsxs)("div", {
110
- className: "flex grow flex-col gap-1.5 border-none pb-0",
111
- children: [/* @__PURE__ */ (0, G.jsx)(q, {
112
- color: "var(--chart-blue)",
113
- children: "Open rate"
114
- }), /* @__PURE__ */ (0, G.jsx)(J, { value: w(l.openedRate) })]
115
- })
116
- }), /* @__PURE__ */ (0, G.jsx)(K, {
117
- className: "group relative flex grow flex-row items-start justify-between gap-5 border-none px-0 pt-0",
118
- children: /* @__PURE__ */ (0, G.jsxs)("div", {
119
- className: "flex grow flex-col gap-1.5 border-none pb-0",
120
- children: [/* @__PURE__ */ (0, G.jsx)(q, {
121
- color: "var(--chart-teal)",
122
- children: "Click rate"
123
- }), /* @__PURE__ */ (0, G.jsx)(J, { value: w(l.clickedRate) })]
124
- })
125
- })]
126
- }),
127
- !g && /* @__PURE__ */ (0, G.jsx)(f, {}),
128
- /* @__PURE__ */ (0, G.jsx)("div", {
129
- className: "mx-auto my-6 h-[240px]",
130
- children: /* @__PURE__ */ (0, G.jsx)(he, {
131
- className: "pointer-events-none aspect-square h-[240px]",
132
- config: h,
133
- data: m,
134
- tooltip: !1
135
- })
136
- })
137
- ]
138
- }), /* @__PURE__ */ (0, G.jsxs)("div", {
139
- className: `${g && "pl-6"}`,
140
- children: [!g && /* @__PURE__ */ (0, G.jsx)(f, {}), /* @__PURE__ */ (0, G.jsxs)("div", {
141
- className: g ? "" : "pt-3",
142
- children: [/* @__PURE__ */ (0, G.jsxs)("div", {
143
- className: `flex items-center justify-between gap-3 ${g ? "pb-3" : "py-3"}`,
144
- children: [/* @__PURE__ */ (0, G.jsx)("span", {
145
- className: "font-medium text-muted-foreground",
146
- children: "Top clicked links in this email"
147
- }), /* @__PURE__ */ (0, G.jsx)(E, { children: "Members" })]
148
- }), p.length > 0 ? /* @__PURE__ */ (0, G.jsx)(de, {
149
- className: "",
150
- children: /* @__PURE__ */ (0, G.jsx)(M, { children: p.slice(0, g ? 10 : 5).map((e) => {
151
- let t = l.clicked > 0 ? e.count / l.clicked : 0;
152
- return /* @__PURE__ */ (0, G.jsxs)(fe, { children: [
153
- /* @__PURE__ */ (0, G.jsx)(A, { style: { width: `${t ? Math.round(t * 100) : 0}%` } }),
154
- /* @__PURE__ */ (0, G.jsx)(j, { children: /* @__PURE__ */ (0, G.jsxs)("div", {
155
- className: "flex items-center space-x-2 overflow-hidden",
156
- children: [/* @__PURE__ */ (0, G.jsx)(c, {
157
- className: "shrink-0 text-muted-foreground",
158
- size: 16,
159
- strokeWidth: 1.5
160
- }), /* @__PURE__ */ (0, G.jsx)("a", {
161
- className: "block truncate font-medium hover:underline",
162
- href: e.link.to,
163
- rel: "noreferrer",
164
- target: "_blank",
165
- title: e.link.to,
166
- children: P(e.link.to, !0)
167
- })]
168
- }) }),
169
- /* @__PURE__ */ (0, G.jsxs)(N, { children: [/* @__PURE__ */ (0, G.jsx)(O, { children: C(e.count || 0) }), /* @__PURE__ */ (0, G.jsx)(k, { children: w(t) })] })
170
- ] }, e.link.link_id);
171
- }) })
172
- }) : /* @__PURE__ */ (0, G.jsx)("div", {
173
- className: "py-20 text-center text-sm text-gray-700",
174
- children: "You have no links in your post."
175
- })]
176
- })]
177
- })]
178
- })]
179
- });
180
- };
181
- //#endregion
182
- //#region src/views/PostAnalytics/Overview/components/web-overview.tsx
183
- n();
184
- var xe = ({ chartData: e, range: t, isLoading: n, visitors: r, sourcesData: o, isNewsletterShown: c = !0 }) => {
185
- let { postId: l } = a(), u = S(), { data: p } = h(), m = p?.url, g = p?.icon, y = i(() => o ? o.reduce((e, t) => e + Number(t.visits || 0), 0) : 0, [o]);
186
- return /* @__PURE__ */ (0, G.jsx)(G.Fragment, { children: /* @__PURE__ */ (0, G.jsxs)(_, {
187
- className: `group/datalist overflow-hidden ${!c && "col-span-2"}`,
188
- "data-testid": "web-performance",
189
- children: [/* @__PURE__ */ (0, G.jsxs)("div", {
190
- className: "relative flex items-center justify-between gap-6",
191
- children: [/* @__PURE__ */ (0, G.jsx)(v, { children: /* @__PURE__ */ (0, G.jsxs)(x, {
192
- className: "flex items-center gap-1.5 text-lg",
193
- children: [/* @__PURE__ */ (0, G.jsx)(s, {
194
- size: 16,
195
- strokeWidth: 1.5
196
- }), "Web performance"]
197
- }) }), /* @__PURE__ */ (0, G.jsx)(d, {
198
- className: "absolute right-6 translate-x-10 opacity-0 transition-all duration-300 group-hover/datalist:translate-x-0 group-hover/datalist:opacity-100 focus-visible:translate-x-0 focus-visible:opacity-100",
199
- size: "sm",
200
- variant: "outline",
201
- onClick: () => {
202
- u(`/posts/analytics/${l}/web`);
203
- },
204
- children: "View more"
205
- })]
206
- }), /* @__PURE__ */ (0, G.jsxs)(b, { children: [/* @__PURE__ */ (0, G.jsxs)("div", { children: [
207
- /* @__PURE__ */ (0, G.jsx)(K, {
208
- className: "group relative flex grow flex-row items-start justify-between gap-5 border-none px-0 pt-0",
209
- "data-testid": "unique-visitors",
210
- children: /* @__PURE__ */ (0, G.jsxs)("div", {
211
- className: "flex grow flex-col gap-1.5 border-none pb-0",
212
- children: [/* @__PURE__ */ (0, G.jsx)(q, {
213
- color: "var(--chart-blue)",
214
- children: "Unique visitors"
215
- }), /* @__PURE__ */ (0, G.jsx)(J, { value: C(r) })]
216
- })
217
- }),
218
- /* @__PURE__ */ (0, G.jsx)(f, {}),
219
- /* @__PURE__ */ (0, G.jsx)("div", {
220
- className: "max-h-[288px] py-6 [&_.recharts-cartesian-axis-tick-value]:fill-gray-500",
221
- children: n ? /* @__PURE__ */ (0, G.jsx)("div", {
222
- className: "flex h-[16vw] min-h-[240px] items-center justify-center",
223
- children: /* @__PURE__ */ (0, G.jsx)(B, {})
224
- }) : /* @__PURE__ */ (0, G.jsx)(L, {
225
- className: "aspect-auto h-[240px] w-full",
226
- color: "var(--chart-blue)",
227
- data: e || [],
228
- id: "visitors",
229
- range: t,
230
- syncId: "overview-charts"
231
- })
232
- })
233
- ] }), c && /* @__PURE__ */ (0, G.jsxs)("div", {
234
- className: c ? "border-t pt-3" : "-mt-3",
235
- children: [/* @__PURE__ */ (0, G.jsx)("div", { children: /* @__PURE__ */ (0, G.jsxs)("div", {
236
- className: "flex items-center justify-between gap-3 py-3",
237
- children: [/* @__PURE__ */ (0, G.jsx)("span", {
238
- className: "font-medium text-muted-foreground",
239
- children: "How readers found this post"
240
- }), /* @__PURE__ */ (0, G.jsx)(E, { children: "Visitors" })]
241
- }) }), o && o.length > 0 ? /* @__PURE__ */ (0, G.jsx)(I, {
242
- data: o,
243
- range: t,
244
- siteIcon: g,
245
- siteUrl: m,
246
- tableOnly: !0,
247
- topSourcesLimit: 5,
248
- totalVisitors: y
249
- }) : /* @__PURE__ */ (0, G.jsx)(z, {
250
- className: "h-full py-10",
251
- description: "Once someone visits this post, sources will show here",
252
- title: "No visitors since you published this post",
253
- children: /* @__PURE__ */ (0, G.jsx)(s, { strokeWidth: 1.5 })
254
- })]
255
- })] })]
256
- }) });
257
- };
258
- //#endregion
259
- //#region src/views/PostAnalytics/Overview/overview.tsx
260
- n();
261
- var Y = () => {
262
- let n = S(), { statsConfig: r, isLoading: a, post: o, isPostLoading: s, postId: c } = h(), { totals: f, isLoading: w, currencySymbol: T } = ye(c), { appSettings: E } = se(), { emailTrackClicks: O, emailTrackOpens: k } = E?.analytics || {}, A = E?.analytics?.webAnalytics === !0, j = re(o), { token: M, isLoading: N, error: de } = g(c, { enabled: j }), { usage: fe, loading: pe, error: me } = te({
263
- postUuid: o?.uuid,
264
- token: M,
265
- tokenLoading: N,
266
- tokenError: de,
267
- enabled: j
268
- }), [he, P] = e(!1), F = i(() => o?.published_at ? ue(o.published_at) : m.ALL_TIME.value, [o?.published_at]), { startDate: I, endDate: L, timezone: R } = le(F), z = i(() => {
269
- let e = {
270
- site_uuid: r?.id || "",
271
- date_from: D(I),
272
- date_to: D(L),
273
- timezone: R,
274
- post_uuid: ""
275
- };
276
- return !s && o?.uuid ? {
277
- ...e,
278
- post_uuid: o.uuid
279
- } : e;
280
- }, [
281
- s,
282
- o,
283
- r?.id,
284
- I,
285
- L,
286
- R
287
- ]), { data: K, loading: q } = y({
288
- endpoint: "api_kpis",
289
- statsConfig: r,
290
- params: z
291
- }), J = i(() => K?.length ? K.reduce((e, t) => {
292
- let n = Number(t.visits);
293
- return e + (isNaN(n) ? 0 : n);
294
- }, 0) : 0, [K]), Y = ge.visits, Se = ce(K || [], F, Y.dataKey, "sum")?.map((e) => {
295
- let t = Number(e[Y.dataKey]);
296
- return {
297
- date: String(e.date),
298
- value: t,
299
- formattedValue: Y.formatter(t),
300
- label: Y.label
301
- };
302
- }), { data: Ce, loading: we } = y({
303
- endpoint: "api_top_sources",
304
- statsConfig: r,
305
- params: z
306
- }), Te = a || w || s || q, Ee = s || a || q, X = ee(o) && k && O, Z = !o?.email_only && A, Q = E?.analytics.membersTrackSources, $ = !!(j && o && E?.analytics.webAnalytics);
307
- return t(() => {
308
- !s && o && ne(o) && !A && Q && n(`/posts/analytics/${c}/growth`, { replace: !0 });
309
- }, [
310
- s,
311
- o,
312
- A,
313
- n,
314
- c,
315
- Q
316
- ]), s ? /* @__PURE__ */ (0, G.jsx)(B, {}) : /* @__PURE__ */ (0, G.jsxs)(G.Fragment, { children: [
317
- /* @__PURE__ */ (0, G.jsx)(oe, { currentTab: "Overview" }),
318
- /* @__PURE__ */ (0, G.jsx)(ie, { children: /* @__PURE__ */ (0, G.jsxs)("div", {
319
- className: "flex flex-col gap-6 lg:grid lg:grid-cols-2",
320
- children: [
321
- Z && /* @__PURE__ */ (0, G.jsx)(xe, {
322
- chartData: Se,
323
- isLoading: Ee || Te || we,
324
- isNewsletterShown: X,
325
- range: F,
326
- sourcesData: Ce,
327
- visitors: J
328
- }),
329
- X && /* @__PURE__ */ (0, G.jsx)(be, {
330
- isNewsletterStatsLoading: s,
331
- isWebShown: Z,
332
- post: o
333
- }),
334
- (Q || $) && /* @__PURE__ */ (0, G.jsxs)("div", {
335
- className: "col-span-2 flex flex-col gap-6 lg:grid lg:grid-cols-3",
336
- children: [Q && /* @__PURE__ */ (0, G.jsxs)(_, {
337
- className: `group overflow-hidden p-0 ${$ ? "lg:col-span-2" : "lg:col-span-3"}`,
338
- "data-testid": "growth",
339
- children: [/* @__PURE__ */ (0, G.jsxs)("div", {
340
- className: "relative flex items-center justify-between gap-6",
341
- children: [/* @__PURE__ */ (0, G.jsx)(v, { children: /* @__PURE__ */ (0, G.jsxs)(x, {
342
- className: "flex items-center gap-1.5 text-lg",
343
- children: [/* @__PURE__ */ (0, G.jsx)(l, {
344
- size: 16,
345
- strokeWidth: 1.5
346
- }), "Growth"]
347
- }) }), /* @__PURE__ */ (0, G.jsx)(d, {
348
- className: "absolute right-6 translate-x-10 opacity-0 transition-all duration-200 group-hover:translate-x-0 group-hover:opacity-100 focus-visible:translate-x-0 focus-visible:opacity-100",
349
- size: "sm",
350
- variant: "outline",
351
- onClick: () => {
352
- n(`/posts/analytics/${c}/growth`);
353
- },
354
- children: "View more"
355
- })]
356
- }), /* @__PURE__ */ (0, G.jsx)(b, {
357
- className: "flex flex-col gap-6 px-0 md:grid md:grid-cols-3 md:items-stretch md:gap-0",
358
- children: Te ? Array.from({ length: 3 }, (e, t) => /* @__PURE__ */ (0, G.jsxs)("div", {
359
- className: "h-[98px] gap-1 border-r px-6 py-5 last:border-r-0",
360
- children: [/* @__PURE__ */ (0, G.jsx)(p, { className: "w-2/3" }), /* @__PURE__ */ (0, G.jsx)(p, { className: "h-7 w-12" })]
361
- }, t)) : /* @__PURE__ */ (0, G.jsxs)(G.Fragment, { children: [/* @__PURE__ */ (0, G.jsxs)(W, {
362
- className: "grow gap-1 py-0",
363
- children: [/* @__PURE__ */ (0, G.jsx)(U, { children: "Free members" }), /* @__PURE__ */ (0, G.jsx)(V, { children: /* @__PURE__ */ (0, G.jsx)(H, {
364
- className: "text-[2.2rem]",
365
- children: C(f?.free_members || 0)
366
- }) })]
367
- }), E?.paidMembersEnabled && /* @__PURE__ */ (0, G.jsxs)(G.Fragment, { children: [/* @__PURE__ */ (0, G.jsxs)(W, {
368
- className: "grow gap-1 py-0",
369
- children: [/* @__PURE__ */ (0, G.jsx)(U, { children: "Paid members" }), /* @__PURE__ */ (0, G.jsx)(V, { children: /* @__PURE__ */ (0, G.jsx)(H, {
370
- className: "text-[2.2rem]",
371
- children: C(f?.paid_members || 0)
372
- }) })]
373
- }), /* @__PURE__ */ (0, G.jsxs)(W, {
374
- className: "grow gap-1 py-0",
375
- children: [/* @__PURE__ */ (0, G.jsx)(U, { children: "MRR impact" }), /* @__PURE__ */ (0, G.jsx)(V, { children: /* @__PURE__ */ (0, G.jsxs)(H, {
376
- className: "text-[2.2rem]",
377
- children: [T, C(_e(f?.mrr || 0))]
378
- }) })]
379
- })] })] })
380
- })]
381
- }), $ && /* @__PURE__ */ (0, G.jsxs)(_, {
382
- className: `group/datalist overflow-hidden ${Q ? "lg:col-span-1" : "lg:col-span-3"}`,
383
- "data-testid": "gift-link-card",
384
- children: [/* @__PURE__ */ (0, G.jsxs)("div", {
385
- className: "relative flex items-center justify-between gap-6",
386
- children: [/* @__PURE__ */ (0, G.jsx)(v, { children: /* @__PURE__ */ (0, G.jsxs)(x, {
387
- className: "flex items-center gap-1.5 text-lg",
388
- children: [/* @__PURE__ */ (0, G.jsx)(u, {
389
- size: 16,
390
- strokeWidth: 1.5
391
- }), "Gift link"]
392
- }) }), /* @__PURE__ */ (0, G.jsx)(d, {
393
- className: "absolute right-6 translate-x-10 opacity-0 transition-all duration-300 group-hover/datalist:translate-x-0 group-hover/datalist:opacity-100 focus-visible:translate-x-0 focus-visible:opacity-100",
394
- size: "sm",
395
- variant: "outline",
396
- onClick: () => P(!0),
397
- children: "Share"
398
- })]
399
- }), !pe && !me && /* @__PURE__ */ (0, G.jsxs)(b, {
400
- className: "flex flex-col gap-1",
401
- children: [/* @__PURE__ */ (0, G.jsx)("span", {
402
- className: "text-sm text-muted-foreground",
403
- children: "Visitors"
404
- }), /* @__PURE__ */ (0, G.jsx)("span", {
405
- className: "text-[2.2rem] leading-none font-semibold",
406
- "data-testid": "gift-link-card-visitors",
407
- children: C(fe?.visits ?? 0)
408
- })]
409
- })]
410
- })]
411
- }),
412
- !Z && !X && !Q && !$ && /* @__PURE__ */ (0, G.jsx)(ve, { className: "col-span-2 py-20" })
413
- ]
414
- }) }),
415
- $ && /* @__PURE__ */ (0, G.jsx)(ae, {
416
- open: he,
417
- postId: c,
418
- source: "gift-link-card",
419
- onOpenChange: P
420
- }, c)
421
- ] });
422
- };
423
- //#endregion
424
- export { Y as default };
425
-
426
- //# sourceMappingURL=overview-G3MfRm-S.js.map