ghost 6.18.2 → 6.19.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/components/tryghost-i18n-6.19.0.tgz +0 -0
- package/components/tryghost-parse-email-address-6.19.0.tgz +0 -0
- package/core/built/admin/assets/{PolarAngleAxis-DALH8FDm.js → PolarAngleAxis-CGprvq8M.js} +1 -1
- package/core/built/admin/assets/{_baseAssignValue-D_UsvJRN.js → _baseAssignValue-Bwn07Ln5.js} +1 -1
- package/core/built/admin/assets/{a-large-small-DVyx4GMu.js → a-large-small-p58xibEK.js} +1 -1
- package/core/built/admin/assets/admin-x-settings/admin-x-settings.js +1 -1
- package/core/built/admin/assets/admin-x-settings/{code-editor-view-DBrulgE8.mjs → code-editor-view-DCKvO1TY.mjs} +2 -2
- package/core/built/admin/assets/admin-x-settings/{index-DgGwb1L-.mjs → index-BxWVtVnD.mjs} +6 -6
- package/core/built/admin/assets/admin-x-settings/{index-Cypgljb3.mjs → index-DyZIONe1.mjs} +2 -2
- package/core/built/admin/assets/admin-x-settings/{index-CsGHbqSU.mjs → index-HfMJcj2U.mjs} +2 -2
- package/core/built/admin/assets/admin-x-settings/{modals-rdo7i0D3.mjs → modals-CIiqfKY0.mjs} +7593 -7509
- package/core/built/admin/assets/{at-sign-CGNkBrZS.js → at-sign-BZPuAx5m.js} +1 -1
- package/core/built/admin/assets/audience-Cy9gLIa9.js +1 -0
- package/core/built/admin/assets/{avatar-flipboard-jqr9Aapd.js → avatar-flipboard-CLmWb5Xn.js} +1 -1
- package/core/built/admin/assets/{bluesky-sharing-C2749SVt.js → bluesky-sharing-BHt0oiii.js} +1 -1
- package/core/built/admin/assets/{chart-BAQCVPCH.js → chart--RFLGIL4.js} +1 -1
- package/core/built/admin/assets/{chunk.524.428356d01feabbc7b932.js → chunk.524.5c5c3f3273a86d1d9913.js} +7 -7
- package/core/built/admin/assets/{chunk.582.b8b41ba720f49d724992.js → chunk.582.e6c787cdf7e6de7819e0.js} +9 -9
- package/core/built/admin/assets/{code-editor-view-YNhJ1w71.js → code-editor-view-BW9y0JXN.js} +1 -1
- package/core/built/admin/assets/comments-C_lilDBp.js +1 -0
- package/core/built/admin/assets/content-helpers-BOnQQADZ.js +1 -0
- package/core/built/admin/assets/{copy-CNsHZEFR.js → copy-Bi7VpgPR.js} +1 -1
- package/core/built/admin/assets/{data-list-Dn5MkmyD.js → data-list-Bu3jzs1s.js} +1 -1
- package/core/built/admin/assets/{deleted-feed-item-Dmm_clMl.js → deleted-feed-item-B-doIIKc.js} +1 -1
- package/core/built/admin/assets/{edit-profile-BLSdtROQ.js → edit-profile-ZBdjFfvL.js} +1 -1
- package/core/built/admin/assets/{empty-indicator-C2Z0dddU.js → empty-indicator-C6BBh99D.js} +1 -1
- package/core/built/admin/assets/{en-DuTkaMAI.js → en-C7eSFQRw.js} +1 -1
- package/core/built/admin/assets/{feed-B4Xp4C2J.js → feed-CAioauwD.js} +1 -1
- package/core/built/admin/assets/{filters-gnOx5Z45.js → filters-DEKF0tIB.js} +1 -1
- package/core/built/admin/assets/{gh-chart-B2aWYkGg.js → gh-chart-D9KI0_sO.js} +1 -1
- package/core/built/admin/assets/{ghost-29f8f3c80e41126ba5e3c52ad5727e8a.js → ghost-6bff5c535ef015b0ed9421ceb6c699a7.js} +220 -211
- package/core/built/admin/assets/{growth-BysawIWe.js → growth-C6XGchvT.js} +1 -1
- package/core/built/admin/assets/{hash-j3sh-UI3.js → hash-DFhnGHId.js} +1 -1
- package/core/built/admin/assets/{inbox-1cUdr8Mm.js → inbox-p-Y5uScT.js} +1 -1
- package/core/built/admin/assets/{index-BVoBTlp_.js → index--VlvGKWi.js} +1 -1
- package/core/built/admin/assets/{index-DGBK5k9H.js → index-3uU4zg_6.js} +1 -1
- package/core/built/admin/assets/index-4ZkTY34B.css +1 -0
- package/core/built/admin/assets/{index-BhY_SbGB.js → index-BWnrLoWI.js} +1 -1
- package/core/built/admin/assets/{index-I9n711UW.js → index-BzU2odQq.js} +1 -1
- package/core/built/admin/assets/{index-mhojl7aD.js → index-CIZ_upe2.js} +1 -1
- package/core/built/admin/assets/{index-WjY3mGep.js → index-CS4XqyC-.js} +2 -2
- package/core/built/admin/assets/{index-BgrwCpgw.js → index-D17PEsUB.js} +1 -1
- package/core/built/admin/assets/{index-B8G0f0hb.js → index-DCTdAEHx.js} +3 -3
- package/core/built/admin/assets/{index-DarAAzVH.js → index-FPf-AERu.js} +1 -1
- package/core/built/admin/assets/index-JmqyGBro.js +1 -0
- package/core/built/admin/assets/{index-DKAlEWM4.js → index-LyfDjTto.js} +1 -1
- package/core/built/admin/assets/index-S62-c8TV.js +13 -0
- package/core/built/admin/assets/{index-D8CXbJm4.js → index-Wx8_AGZX.js} +1 -1
- package/core/built/admin/assets/{index-CkAUXgAi.js → index-jAidr8jI.js} +1 -1
- package/core/built/admin/assets/{index-Dz8eTtOq.js → index-lPLmWtv0.js} +1 -1
- package/core/built/admin/assets/koenig-lexical/index.css +1 -1
- package/core/built/admin/assets/koenig-lexical/koenig-lexical.js +1853 -1863
- package/core/built/admin/assets/koenig-lexical/koenig-lexical.umd.js +94 -94
- package/core/built/admin/assets/{koenig-lexical-coiS9dIC.js → koenig-lexical-CWnkYKQt.js} +77 -77
- package/core/built/admin/assets/{kpi-card-BEFHo2gr.js → kpi-card-B5UaJgOT.js} +1 -1
- package/core/built/admin/assets/{kpis-D-gz-lUk.js → kpis-Cc2RxnvZ.js} +1 -1
- package/core/built/admin/assets/{label-BvlHzzcJ.js → label-CW7Kmp9w.js} +1 -1
- package/core/built/admin/assets/{links-tdJvBrsT.js → links-wWNc9Uat.js} +1 -1
- package/core/built/admin/assets/{list-filter-DPE4Xj2T.js → list-filter-3EF6cVg-.js} +1 -1
- package/core/built/admin/assets/{lucide-react-ClQ3Iy7l.js → lucide-react-DtMIZssr.js} +214 -214
- package/core/built/admin/assets/{main-layout-DY96wK-_.js → main-layout-BFYhCrLn.js} +1 -1
- package/core/built/admin/assets/{message-square-text-Dd1XS5-H.js → message-square-text-BDZtUW-2.js} +1 -1
- package/core/built/admin/assets/{minus-CyEc3BE5.js → minus-CSphShdJ.js} +1 -1
- package/core/built/admin/assets/modals-CDWP04Iy.js +77 -0
- package/core/built/admin/assets/{moderation-B0fdmlig.js → moderation-qcng2_lB.js} +1 -1
- package/core/built/admin/assets/{newsletter-Byg3ARa5.js → newsletter-R-IYcV4M.js} +1 -1
- package/core/built/admin/assets/{newsletters-DbH39vgA.js → newsletters-BB4e24i1.js} +1 -1
- package/core/built/admin/assets/{note-Cwy-rIAF.js → note-B_bpRX66.js} +1 -1
- package/core/built/admin/assets/overview-Nh-IoP-v.js +1 -0
- package/core/built/admin/assets/{pagemenu-CkzsZrHC.js → pagemenu-Cd45frnF.js} +1 -1
- package/core/built/admin/assets/{post-analytics-context-BLkup0Xh.js → post-analytics-context-BST4bzps.js} +1 -1
- package/core/built/admin/assets/post-analytics-header-DAZPp6M8.js +1 -0
- package/core/built/admin/assets/{post-analytics-aA-nG9Fq.js → post-analytics-jHZOhQ8L.js} +1 -1
- package/core/built/admin/assets/{post-share-modal-CkvJtrRw.js → post-share-modal-D1JQfuYx.js} +1 -1
- package/core/built/admin/assets/posts/{comments-Bn_vn_sb.mjs → comments-C0ntS6jH.mjs} +678 -692
- package/core/built/admin/assets/posts/{dialog-CKPcMrj7.mjs → dialog-CXEmd-rC.mjs} +3 -3
- package/core/built/admin/assets/posts/{empty-indicator-kkrhP6K_.mjs → empty-indicator-CY1NEQZt.mjs} +2 -2
- package/core/built/admin/assets/posts/{filters-DHsxxy0F.mjs → filters-CWWDQAf0.mjs} +6 -6
- package/core/built/admin/assets/posts/{growth-D7ACh-oR.mjs → growth-DUnL-W24.mjs} +20 -19
- package/core/built/admin/assets/posts/{heading-BrKVbOxA.mjs → heading-DZWin3nG.mjs} +2 -2
- package/core/built/admin/assets/posts/{hooks-BBEMuLiW.mjs → hooks-DQYjPsLg.mjs} +2 -2
- package/core/built/admin/assets/posts/{index-C0rRguZx.mjs → index-BiGQFQkQ.mjs} +9 -9
- package/core/built/admin/assets/posts/{kpis-1o524OIK.mjs → kpis-DNnkyd0U.mjs} +10 -10
- package/core/built/admin/assets/posts/{links-JpeATx1f.mjs → links-D3nSZFlJ.mjs} +4 -4
- package/core/built/admin/assets/posts/{loading-indicator-BHAmSf8j.mjs → loading-indicator-CZQmPRvv.mjs} +3 -3
- package/core/built/admin/assets/posts/{main-layout-BTItAOQE.mjs → main-layout-D5WnaGr4.mjs} +2 -2
- package/core/built/admin/assets/posts/{newsletter-CQdsCEHv.mjs → newsletter-C5eikVBq.mjs} +13 -13
- package/core/built/admin/assets/posts/{overview-sYh4JN1D.mjs → overview-C5mCMPJY.mjs} +113 -112
- package/core/built/admin/assets/posts/{post-analytics-DtLt2SWx.mjs → post-analytics-Cc2NCQis.mjs} +6 -6
- package/core/built/admin/assets/posts/{post-analytics-context-CB1yM9fk.mjs → post-analytics-context-qXWjDzSt.mjs} +44 -41
- package/core/built/admin/assets/posts/{post-analytics-header-BYaWuL9W.mjs → post-analytics-header-QGsYyvhA.mjs} +11 -11
- package/core/built/admin/assets/posts/{post-share-modal-V0HTOBaf.mjs → post-share-modal-B9Q7FJsH.mjs} +4 -4
- package/core/built/admin/assets/posts/posts-C2SKGLoU.mjs +17 -0
- package/core/built/admin/assets/posts/posts.js +1 -1
- package/core/built/admin/assets/posts/{search-CLjC37AT.mjs → search-C8k0TFkh.mjs} +2 -2
- package/core/built/admin/assets/posts/{separator-KNoTIaJx.mjs → separator-CJnnsW1a.mjs} +5 -5
- package/core/built/admin/assets/posts/{sheet-DBg_SCDt.mjs → sheet-HDzKgNHc.mjs} +3 -3
- package/core/built/admin/assets/posts/{skeleton-DvsoolWu.mjs → skeleton-BlZGKNzB.mjs} +3 -3
- package/core/built/admin/assets/posts/{source-icon-OmRaTU2G.mjs → source-icon-DjBIjtaY.mjs} +3 -3
- package/core/built/admin/assets/posts/{stats-BC2DzntY.mjs → stats-BRVHejqx.mjs} +4 -4
- package/core/built/admin/assets/posts/{table-CxX9OKAj.mjs → table-D7AEpPWL.mjs} +2 -2
- package/core/built/admin/assets/posts/{tabs-B1jw7cBi.mjs → tabs-RcpmzDgr.mjs} +10 -10
- package/core/built/admin/assets/posts/{tags-BitrLT_j.mjs → tags-8k1xw8R8.mjs} +2 -2
- package/core/built/admin/assets/posts/{tags-BBilTo1a.mjs → tags-DNY2rBlf.mjs} +11 -11
- package/core/built/admin/assets/posts/{use-infinite-virtual-scroll-DaijA1ao.mjs → use-infinite-virtual-scroll-CMiIpcDA.mjs} +3 -3
- package/core/built/admin/assets/posts/{web-CKmyC4Xj.mjs → web-BCl5J6bB.mjs} +15 -15
- package/core/built/admin/assets/{posts-DDkuYoN7.js → posts-DFiJPOft.js} +1 -1
- package/core/built/admin/assets/{repeat-B-SL0yPM.js → repeat-Smml9n0k.js} +1 -1
- package/core/built/admin/assets/{reply-BdCPoUQ9.js → reply-CooY4lmk.js} +1 -1
- package/core/built/admin/assets/{select-C7aNW8QS.js → select-WwMsbBbg.js} +1 -1
- package/core/built/admin/assets/{settings-D-dhma2e.js → settings-CQEhPDQU.js} +4 -4
- package/core/built/admin/assets/{settings-Bzy1GNfD.js → settings-CxWtvcUf.js} +1 -1
- package/core/built/admin/assets/{sort-button-Dv8vjh13.js → sort-button-DFr8vezl.js} +1 -1
- package/core/built/admin/assets/{source-icon-DTz4isLK.js → source-icon-VpYWpwYb.js} +1 -1
- package/core/built/admin/assets/{sprout-BwLQTzMf.js → sprout-DRqlFJSK.js} +1 -1
- package/core/built/admin/assets/{square-YF1YE9ex.js → square-CwHQ9sJ2.js} +1 -1
- package/core/built/admin/assets/stats/audience-Caf7BjaU.mjs +269 -0
- package/core/built/admin/assets/stats/{url-helpers-Drq3xg0l.mjs → content-helpers-MbtAvUJh.mjs} +83 -106
- package/core/built/admin/assets/stats/{index-CcCyLMxL.mjs → index-BGqKbF1D.mjs} +8 -8
- package/core/built/admin/assets/stats/{index-DXU2rE9t.mjs → index-BTjfXOi6.mjs} +30 -30
- package/core/built/admin/assets/stats/{index-K7ASx7EG.mjs → index-ChjIxhHy.mjs} +5 -5
- package/core/built/admin/assets/stats/{index-D5mlMG4l.mjs → index-DMkZbbZs.mjs} +14 -14
- package/core/built/admin/assets/stats/{index-CUuQaROI.mjs → index-wT0OIw_N.mjs} +355 -335
- package/core/built/admin/assets/stats/{sort-button-CELUx6Zp.mjs → sort-button-B8n8fYMi.mjs} +23 -23
- package/core/built/admin/assets/stats/{stats-d_u_in4l.mjs → stats-CGH-0JNs.mjs} +120 -119
- package/core/built/admin/assets/stats/stats.js +1 -1
- package/core/built/admin/assets/stats/{tabs-3wLZsy0v.mjs → tabs-EQCUj3Y9.mjs} +19 -19
- package/core/built/admin/assets/stats/{use-growth-stats-28Sr42va.mjs → use-growth-stats--CIfag21.mjs} +3 -3
- package/core/built/admin/assets/{stats-C5ad0fgQ.js → stats-lnFiOQZx.js} +1 -1
- package/core/built/admin/assets/{stats-view-BvkxPYNX.js → stats-view-BJVawuIv.js} +1 -1
- package/core/built/admin/assets/{step-1-D7_s-D99.js → step-1-Bx8MiQVF.js} +1 -1
- package/core/built/admin/assets/{step-2-B94Yf7FF.js → step-2-CLLXppER.js} +1 -1
- package/core/built/admin/assets/{step-3-DswXYYf4.js → step-3-C5WrQe8u.js} +2 -2
- package/core/built/admin/assets/{table-D30IXfUP.js → table-2waWpIF5.js} +1 -1
- package/core/built/admin/assets/{tabs-CjNdfW0y.js → tabs-CBD0hW8V.js} +1 -1
- package/core/built/admin/assets/{tags-B0ux9_dT.js → tags-Bgw5Hrb5.js} +1 -1
- package/core/built/admin/assets/{tags-PGeGAafJ.js → tags-CKrBptuC.js} +1 -1
- package/core/built/admin/assets/{tiers-BaXK0JoI.js → tiers-CO-pz1FX.js} +1 -1
- package/core/built/admin/assets/{toggle-group-DdY8HF3Y.js → toggle-group-BXAZzvJ9.js} +1 -1
- package/core/built/admin/assets/{topic-filter-Boh22uGD.js → topic-filter-U3qUH2P_.js} +1 -1
- package/core/built/admin/assets/{trash-D7ZWrnDq.js → trash-CJY1Wro_.js} +1 -1
- package/core/built/admin/assets/{use-growth-stats-Bg0nE0WG.js → use-growth-stats-BrLZI7da.js} +1 -1
- package/core/built/admin/assets/{use-infinite-virtual-scroll-DoeI5IY-.js → use-infinite-virtual-scroll-CiRn3kpz.js} +2 -2
- package/core/built/admin/assets/{use-simple-pagination-BJzBULR3.js → use-simple-pagination-CskJ0MDP.js} +1 -1
- package/core/built/admin/assets/{user-round-check-BLc3L-ei.js → user-round-check-zOuzV3OS.js} +1 -1
- package/core/built/admin/assets/{wallet-cards-xX4QZik7.js → wallet-cards-ddLuIN-b.js} +1 -1
- package/core/built/admin/assets/{web-DQ2qBymm.js → web-CGbkZWn3.js} +1 -1
- package/core/built/admin/index.html +6 -5
- package/core/frontend/services/theme-engine/i18n/i18n.js +9 -14
- package/core/server/api/endpoints/settings-public.js +3 -1
- package/core/server/api/endpoints/utils/serializers/input/settings.js +6 -1
- package/core/server/data/migrations/versions/6.19/2026-02-10-12-00-00-add-transistor-portal-settings.js +39 -0
- package/core/server/data/schema/default-settings/default-settings.json +28 -0
- package/core/server/data/schema/schema.js +2 -2
- package/core/server/data/seeders/importers/offers-importer.js +2 -2
- package/core/server/data/tinybird/endpoints/api_top_pages_router.pipe +28 -0
- package/core/server/data/tinybird/endpoints/api_top_pages_v3.pipe +8 -4
- package/core/server/data/tinybird/tests/api_top_pages_router.yaml +74 -0
- package/core/server/services/comments/comments-service-emails.js +1 -4
- package/core/server/services/email-service/email-templates/partials/styles.hbs +43 -0
- package/core/server/services/koenig/node-renderers/transistor-renderer.js +23 -17
- package/core/server/services/members/members-api/repositories/member-repository.js +30 -6
- package/core/server/services/members/members-api/services/next-payment-calculator.js +28 -20
- package/core/server/services/members/members-api/services/payments-service.js +1 -1
- package/core/server/services/members/members-api/utils/add-calendar-months.js +49 -0
- package/core/server/services/offers/application/offer-mapper.js +2 -2
- package/core/server/services/offers/domain/models/offer-amount.js +16 -0
- package/core/server/services/offers/domain/models/offer-duration.js +3 -4
- package/core/server/services/offers/domain/models/offer-type.js +5 -3
- package/core/server/services/offers/domain/models/offer.js +8 -1
- package/core/server/services/staff/staff-service-emails.js +2 -0
- package/core/server/services/stripe/stripe-api.js +19 -0
- package/core/shared/config/defaults.json +1 -1
- package/core/shared/labs.js +0 -1
- package/core/shared/settings-cache/cache-manager.js +8 -0
- package/core/shared/settings-cache/public.js +5 -0
- package/package.json +5 -5
- package/yarn.lock +4 -4
- package/components/tryghost-i18n-6.18.2.tgz +0 -0
- package/components/tryghost-parse-email-address-6.18.2.tgz +0 -0
- package/core/built/admin/assets/audience-CJHVR7kD.js +0 -1
- package/core/built/admin/assets/comments-CPd_iCc3.js +0 -1
- package/core/built/admin/assets/index-B2yksBz4.js +0 -13
- package/core/built/admin/assets/index-Cl_EPbQ2.js +0 -1
- package/core/built/admin/assets/index-D_sGUCda.css +0 -1
- package/core/built/admin/assets/modals-C06GcVIm.js +0 -77
- package/core/built/admin/assets/overview-CVMLGrVt.js +0 -1
- package/core/built/admin/assets/post-analytics-header-D9srAPT5.js +0 -1
- package/core/built/admin/assets/posts/posts-DeQT3knv.mjs +0 -21
- package/core/built/admin/assets/stats/audience-BWqU7WWT.mjs +0 -245
- package/core/built/admin/assets/url-helpers-mt6MBIi0.js +0 -1
package/core/built/admin/assets/stats/{url-helpers-Drq3xg0l.mjs → content-helpers-MbtAvUJh.mjs}
RENAMED
|
@@ -1,32 +1,32 @@
|
|
|
1
|
-
import { f as p, v as z, C as g, w as y, j as
|
|
2
|
-
import {
|
|
3
|
-
import { R as
|
|
4
|
-
var
|
|
5
|
-
function
|
|
1
|
+
import { f as p, v as z, C as g, w as y, j as i, x as T, F as G, c as f, S as W, G as I } from "./index-ChjIxhHy.mjs";
|
|
2
|
+
import { ad as L, X as M, br as F } from "./stats-CGH-0JNs.mjs";
|
|
3
|
+
import { R as Y, T as Z, P as H, C as E, e as U, a as A, D as O, O as P } from "./audience-Caf7BjaU.mjs";
|
|
4
|
+
var B = Symbol.for("react.lazy"), w = z[" use ".trim().toString()];
|
|
5
|
+
function K(t) {
|
|
6
6
|
return typeof t == "object" && t !== null && "then" in t;
|
|
7
7
|
}
|
|
8
|
-
function
|
|
9
|
-
return t != null && typeof t == "object" && "$$typeof" in t && t.$$typeof ===
|
|
8
|
+
function C(t) {
|
|
9
|
+
return t != null && typeof t == "object" && "$$typeof" in t && t.$$typeof === B && "_payload" in t && K(t._payload);
|
|
10
10
|
}
|
|
11
11
|
// @__NO_SIDE_EFFECTS__
|
|
12
|
-
function
|
|
13
|
-
const e = /* @__PURE__ */
|
|
12
|
+
function X(t) {
|
|
13
|
+
const e = /* @__PURE__ */ q(t), o = p((s, r) => {
|
|
14
14
|
let { children: a, ...c } = s;
|
|
15
|
-
|
|
16
|
-
const l = g.toArray(a),
|
|
17
|
-
if (
|
|
18
|
-
const
|
|
19
|
-
return /* @__PURE__ */
|
|
15
|
+
C(a) && typeof w == "function" && (a = w(a._payload));
|
|
16
|
+
const l = g.toArray(a), u = l.find(Q);
|
|
17
|
+
if (u) {
|
|
18
|
+
const n = u.props.children, m = l.map((S) => S === u ? g.count(n) > 1 ? g.only(null) : y(n) ? n.props.children : null : S);
|
|
19
|
+
return /* @__PURE__ */ i.jsx(e, { ...c, ref: r, children: y(n) ? T(n, void 0, m) : null });
|
|
20
20
|
}
|
|
21
|
-
return /* @__PURE__ */
|
|
21
|
+
return /* @__PURE__ */ i.jsx(e, { ...c, ref: r, children: a });
|
|
22
22
|
});
|
|
23
23
|
return o.displayName = `${t}.Slot`, o;
|
|
24
24
|
}
|
|
25
25
|
// @__NO_SIDE_EFFECTS__
|
|
26
|
-
function
|
|
26
|
+
function q(t) {
|
|
27
27
|
const e = p((o, s) => {
|
|
28
28
|
let { children: r, ...a } = o;
|
|
29
|
-
if (
|
|
29
|
+
if (C(r) && typeof w == "function" && (r = w(r._payload)), y(r)) {
|
|
30
30
|
const c = tt(r), l = V(a, r.props);
|
|
31
31
|
return r.type !== G && (l.ref = s ? L(s, c) : c), T(r, l);
|
|
32
32
|
}
|
|
@@ -43,8 +43,8 @@ function V(t, e) {
|
|
|
43
43
|
for (const s in e) {
|
|
44
44
|
const r = t[s], a = e[s];
|
|
45
45
|
/^on[A-Z]/.test(s) ? r && a ? o[s] = (...l) => {
|
|
46
|
-
const
|
|
47
|
-
return r(...l),
|
|
46
|
+
const u = a(...l);
|
|
47
|
+
return r(...l), u;
|
|
48
48
|
} : r && (o[s] = r) : s === "style" ? o[s] = { ...r, ...a } : s === "className" && (o[s] = [r, a].filter(Boolean).join(" "));
|
|
49
49
|
}
|
|
50
50
|
return { ...t, ...o };
|
|
@@ -73,14 +73,14 @@ var et = [
|
|
|
73
73
|
"svg",
|
|
74
74
|
"ul"
|
|
75
75
|
], ot = et.reduce((t, e) => {
|
|
76
|
-
const o = /* @__PURE__ */
|
|
77
|
-
const { asChild: c, ...l } = r,
|
|
78
|
-
return typeof window < "u" && (window[Symbol.for("radix-ui")] = !0), /* @__PURE__ */
|
|
76
|
+
const o = /* @__PURE__ */ X(`Primitive.${e}`), s = p((r, a) => {
|
|
77
|
+
const { asChild: c, ...l } = r, u = c ? o : e;
|
|
78
|
+
return typeof window < "u" && (window[Symbol.for("radix-ui")] = !0), /* @__PURE__ */ i.jsx(u, { ...l, ref: a });
|
|
79
79
|
});
|
|
80
80
|
return s.displayName = `Primitive.${e}`, { ...t, [e]: s };
|
|
81
|
-
}, {}), st = "Separator", b = "horizontal", rt = ["horizontal", "vertical"],
|
|
81
|
+
}, {}), st = "Separator", b = "horizontal", rt = ["horizontal", "vertical"], j = p((t, e) => {
|
|
82
82
|
const { decorative: o, orientation: s = b, ...r } = t, a = at(s) ? s : b, l = o ? { role: "none" } : { "aria-orientation": a === "vertical" ? a : void 0, role: "separator" };
|
|
83
|
-
return /* @__PURE__ */
|
|
83
|
+
return /* @__PURE__ */ i.jsx(
|
|
84
84
|
ot.div,
|
|
85
85
|
{
|
|
86
86
|
"data-orientation": a,
|
|
@@ -90,12 +90,12 @@ var et = [
|
|
|
90
90
|
}
|
|
91
91
|
);
|
|
92
92
|
});
|
|
93
|
-
|
|
93
|
+
j.displayName = st;
|
|
94
94
|
function at(t) {
|
|
95
95
|
return rt.includes(t);
|
|
96
96
|
}
|
|
97
|
-
var
|
|
98
|
-
const
|
|
97
|
+
var k = j;
|
|
98
|
+
const it = {
|
|
99
99
|
Reddit: "reddit.com",
|
|
100
100
|
"www.reddit.com": "reddit.com",
|
|
101
101
|
Facebook: "facebook.com",
|
|
@@ -140,7 +140,7 @@ const nt = {
|
|
|
140
140
|
return null;
|
|
141
141
|
}
|
|
142
142
|
};
|
|
143
|
-
function
|
|
143
|
+
function yt({
|
|
144
144
|
processedData: t,
|
|
145
145
|
totalVisitors: e,
|
|
146
146
|
mode: o
|
|
@@ -150,7 +150,7 @@ function wt({
|
|
|
150
150
|
percentage: e > 0 ? s.visits / e : 0
|
|
151
151
|
}));
|
|
152
152
|
}
|
|
153
|
-
const D = (t, e) => t === e ? !0 : t.endsWith(`.${e}`),
|
|
153
|
+
const D = (t, e) => t === e ? !0 : t.endsWith(`.${e}`), nt = (t, e) => {
|
|
154
154
|
if (!t || typeof t != "string")
|
|
155
155
|
return { domain: null, isDirectTraffic: !1 };
|
|
156
156
|
if (t === "Direct")
|
|
@@ -163,10 +163,10 @@ const D = (t, e) => t === e ? !0 : t.endsWith(`.${e}`), it = (t, e) => {
|
|
|
163
163
|
if (D(t, o))
|
|
164
164
|
return { domain: o, isDirectTraffic: !0 };
|
|
165
165
|
}
|
|
166
|
-
const s =
|
|
166
|
+
const s = it[t];
|
|
167
167
|
return s ? { domain: s, isDirectTraffic: !1 } : /^[a-zA-Z0-9]([a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(\.[a-zA-Z0-9]([a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)*$/.test(t) ? { domain: t.replace(/^www\./, ""), isDirectTraffic: !1 } : { domain: null, isDirectTraffic: !1 };
|
|
168
168
|
};
|
|
169
|
-
function
|
|
169
|
+
function wt({
|
|
170
170
|
data: t,
|
|
171
171
|
mode: e,
|
|
172
172
|
siteUrl: o,
|
|
@@ -177,12 +177,12 @@ function vt({
|
|
|
177
177
|
return [];
|
|
178
178
|
const a = /* @__PURE__ */ new Map();
|
|
179
179
|
let c = 0;
|
|
180
|
-
if (t.forEach((
|
|
181
|
-
const { domain:
|
|
182
|
-
if (S || !
|
|
180
|
+
if (t.forEach((n) => {
|
|
181
|
+
const { domain: m, isDirectTraffic: S } = nt(n.source, o), v = Number(n.visits || 0);
|
|
182
|
+
if (S || !n.source || n.source === "")
|
|
183
183
|
c += v;
|
|
184
184
|
else {
|
|
185
|
-
const h = String(
|
|
185
|
+
const h = String(n.source), $ = m ? `https://www.faviconextractor.com/favicon/${m}?larger=true` : r, R = m ? `https://${m}` : void 0;
|
|
186
186
|
if (a.has(h)) {
|
|
187
187
|
const N = a.get(h);
|
|
188
188
|
N.visits += v;
|
|
@@ -191,7 +191,7 @@ function vt({
|
|
|
191
191
|
source: h,
|
|
192
192
|
visits: v,
|
|
193
193
|
isDirectTraffic: !1,
|
|
194
|
-
iconSrc:
|
|
194
|
+
iconSrc: $,
|
|
195
195
|
displayName: h,
|
|
196
196
|
linkUrl: R
|
|
197
197
|
};
|
|
@@ -199,7 +199,7 @@ function vt({
|
|
|
199
199
|
}
|
|
200
200
|
}
|
|
201
201
|
}), c > 0) {
|
|
202
|
-
const
|
|
202
|
+
const n = {
|
|
203
203
|
source: "Direct",
|
|
204
204
|
visits: c,
|
|
205
205
|
isDirectTraffic: !0,
|
|
@@ -207,16 +207,16 @@ function vt({
|
|
|
207
207
|
displayName: "Direct",
|
|
208
208
|
linkUrl: void 0
|
|
209
209
|
};
|
|
210
|
-
a.set("Direct",
|
|
210
|
+
a.set("Direct", n);
|
|
211
211
|
}
|
|
212
|
-
return Array.from(a.values()).sort((
|
|
212
|
+
return Array.from(a.values()).sort((n, m) => m.visits - n.visits);
|
|
213
213
|
}
|
|
214
214
|
const ct = p(
|
|
215
|
-
({ className: t, orientation: e = "horizontal", decorative: o = !0, ...s }, r) => /* @__PURE__ */
|
|
216
|
-
|
|
215
|
+
({ className: t, orientation: e = "horizontal", decorative: o = !0, ...s }, r) => /* @__PURE__ */ i.jsx(
|
|
216
|
+
k,
|
|
217
217
|
{
|
|
218
218
|
ref: r,
|
|
219
|
-
className:
|
|
219
|
+
className: f(
|
|
220
220
|
"shrink-0 bg-border",
|
|
221
221
|
e === "horizontal" ? "h-[1px] w-full" : "h-full w-[1px]",
|
|
222
222
|
t
|
|
@@ -227,11 +227,11 @@ const ct = p(
|
|
|
227
227
|
}
|
|
228
228
|
)
|
|
229
229
|
);
|
|
230
|
-
ct.displayName =
|
|
231
|
-
const
|
|
230
|
+
ct.displayName = k.displayName;
|
|
231
|
+
const vt = Y, Nt = Z, lt = H, _ = p(({ className: t, ...e }, o) => /* @__PURE__ */ i.jsx(
|
|
232
232
|
P,
|
|
233
233
|
{
|
|
234
|
-
className:
|
|
234
|
+
className: f(
|
|
235
235
|
"fixed inset-0 z-50 bg-black/10 data-[state=open]:animate-in duration-200 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0",
|
|
236
236
|
t
|
|
237
237
|
),
|
|
@@ -239,7 +239,7 @@ const Nt = H, bt = Y, lt = Z, j = p(({ className: t, ...e }, o) => /* @__PURE__
|
|
|
239
239
|
ref: o
|
|
240
240
|
}
|
|
241
241
|
));
|
|
242
|
-
|
|
242
|
+
_.displayName = P.displayName;
|
|
243
243
|
const dt = I(
|
|
244
244
|
"fixed z-50 gap-4 bg-background p-8 shadow-lg transition ease-in-out data-[state=closed]:duration-200 data-[state=open]:duration-500 data-[state=open]:animate-in data-[state=closed]:animate-out",
|
|
245
245
|
{
|
|
@@ -255,58 +255,58 @@ const dt = I(
|
|
|
255
255
|
side: "right"
|
|
256
256
|
}
|
|
257
257
|
}
|
|
258
|
-
), pt = p(({ side: t = "right", className: e, children: o, ...s }, r) => /* @__PURE__ */
|
|
259
|
-
/* @__PURE__ */
|
|
260
|
-
/* @__PURE__ */
|
|
261
|
-
|
|
258
|
+
), pt = p(({ side: t = "right", className: e, children: o, ...s }, r) => /* @__PURE__ */ i.jsx(lt, { children: /* @__PURE__ */ i.jsxs("div", { className: W, children: [
|
|
259
|
+
/* @__PURE__ */ i.jsx(_, {}),
|
|
260
|
+
/* @__PURE__ */ i.jsxs(
|
|
261
|
+
E,
|
|
262
262
|
{
|
|
263
263
|
ref: r,
|
|
264
|
-
className:
|
|
264
|
+
className: f(dt({ side: t }), e),
|
|
265
265
|
...s,
|
|
266
266
|
children: [
|
|
267
|
-
/* @__PURE__ */
|
|
268
|
-
/* @__PURE__ */
|
|
269
|
-
/* @__PURE__ */
|
|
267
|
+
/* @__PURE__ */ i.jsxs(U, { className: "fixed right-4 top-4 z-50 rounded-sm opacity-70 ring-offset-background transition-opacity hover:opacity-100 disabled:pointer-events-none data-[state=open]:bg-secondary", children: [
|
|
268
|
+
/* @__PURE__ */ i.jsx(M, { className: "size-4" }),
|
|
269
|
+
/* @__PURE__ */ i.jsx("span", { className: "sr-only", children: "Close" })
|
|
270
270
|
] }),
|
|
271
271
|
o
|
|
272
272
|
]
|
|
273
273
|
}
|
|
274
274
|
)
|
|
275
275
|
] }) }));
|
|
276
|
-
pt.displayName =
|
|
277
|
-
const
|
|
276
|
+
pt.displayName = E.displayName;
|
|
277
|
+
const ut = ({
|
|
278
278
|
className: t,
|
|
279
279
|
...e
|
|
280
|
-
}) => /* @__PURE__ */
|
|
280
|
+
}) => /* @__PURE__ */ i.jsx(
|
|
281
281
|
"div",
|
|
282
282
|
{
|
|
283
|
-
className:
|
|
283
|
+
className: f(
|
|
284
284
|
"flex flex-col space-y-1 text-center sm:text-left",
|
|
285
285
|
t
|
|
286
286
|
),
|
|
287
287
|
...e
|
|
288
288
|
}
|
|
289
289
|
);
|
|
290
|
-
|
|
291
|
-
const
|
|
292
|
-
|
|
290
|
+
ut.displayName = "SheetHeader";
|
|
291
|
+
const mt = p(({ className: t, ...e }, o) => /* @__PURE__ */ i.jsx(
|
|
292
|
+
A,
|
|
293
293
|
{
|
|
294
294
|
ref: o,
|
|
295
|
-
className:
|
|
295
|
+
className: f("text-xl font-semibold text-foreground", t),
|
|
296
296
|
...e
|
|
297
297
|
}
|
|
298
298
|
));
|
|
299
|
-
|
|
300
|
-
const
|
|
299
|
+
mt.displayName = A.displayName;
|
|
300
|
+
const ft = p(({ className: t, ...e }, o) => /* @__PURE__ */ i.jsx(
|
|
301
301
|
O,
|
|
302
302
|
{
|
|
303
303
|
ref: o,
|
|
304
|
-
className:
|
|
304
|
+
className: f("text-sm text-muted-foreground", t),
|
|
305
305
|
...e
|
|
306
306
|
}
|
|
307
307
|
));
|
|
308
|
-
|
|
309
|
-
const
|
|
308
|
+
ft.displayName = O.displayName;
|
|
309
|
+
const bt = ({ defaultSourceIconUrl: t, displayName: e, iconSrc: o }) => /* @__PURE__ */ i.jsx(i.Fragment, { children: e.trim().toLowerCase().endsWith("newsletter") ? /* @__PURE__ */ i.jsx(F, { "aria-label": "Newsletter", className: "size-4 text-muted-foreground" }) : /* @__PURE__ */ i.jsx(
|
|
310
310
|
"img",
|
|
311
311
|
{
|
|
312
312
|
alt: "",
|
|
@@ -321,7 +321,7 @@ const xt = ({ defaultSourceIconUrl: t, displayName: e, iconSrc: o }) => /* @__PU
|
|
|
321
321
|
PAGES: "pages",
|
|
322
322
|
POSTS_AND_PAGES: "posts_and_pages",
|
|
323
323
|
SOURCES: "sources"
|
|
324
|
-
},
|
|
324
|
+
}, xt = (t) => {
|
|
325
325
|
switch (t) {
|
|
326
326
|
case d.POSTS:
|
|
327
327
|
return "Top posts";
|
|
@@ -332,7 +332,7 @@ const xt = ({ defaultSourceIconUrl: t, displayName: e, iconSrc: o }) => /* @__PU
|
|
|
332
332
|
default:
|
|
333
333
|
return "Top content";
|
|
334
334
|
}
|
|
335
|
-
},
|
|
335
|
+
}, Dt = (t, e, o) => {
|
|
336
336
|
switch (t) {
|
|
337
337
|
case d.POSTS:
|
|
338
338
|
return `Your highest viewed posts ${o(e)}`;
|
|
@@ -345,7 +345,7 @@ const xt = ({ defaultSourceIconUrl: t, displayName: e, iconSrc: o }) => /* @__PU
|
|
|
345
345
|
default:
|
|
346
346
|
return `Your highest viewed posts or pages ${o(e)}`;
|
|
347
347
|
}
|
|
348
|
-
},
|
|
348
|
+
}, Tt = (t, e, o) => {
|
|
349
349
|
switch (t) {
|
|
350
350
|
case d.POSTS:
|
|
351
351
|
return `Which posts drove the most growth ${o(e)}`;
|
|
@@ -359,44 +359,21 @@ const xt = ({ defaultSourceIconUrl: t, displayName: e, iconSrc: o }) => /* @__PU
|
|
|
359
359
|
return `Which posts drove the most growth ${o(e)}`;
|
|
360
360
|
}
|
|
361
361
|
};
|
|
362
|
-
function ht(t, e) {
|
|
363
|
-
if (!t || !e)
|
|
364
|
-
return "";
|
|
365
|
-
try {
|
|
366
|
-
const o = new URL(e), s = o.pathname.endsWith("/") ? o.pathname : `${o.pathname}/`, r = t.replace(/^\//, ""), a = `${s}${r}`;
|
|
367
|
-
return `${o.origin}${a}`;
|
|
368
|
-
} catch {
|
|
369
|
-
return "";
|
|
370
|
-
}
|
|
371
|
-
}
|
|
372
|
-
function Et(t, e, o, s, r) {
|
|
373
|
-
return () => {
|
|
374
|
-
if (e && t && r === "post") {
|
|
375
|
-
s(`/posts/analytics/${e}`, { crossApp: !0 });
|
|
376
|
-
return;
|
|
377
|
-
}
|
|
378
|
-
if (t && o) {
|
|
379
|
-
const a = ht(t, o);
|
|
380
|
-
a && window.open(a, "_blank", "noopener,noreferrer");
|
|
381
|
-
}
|
|
382
|
-
};
|
|
383
|
-
}
|
|
384
362
|
export {
|
|
385
363
|
d as C,
|
|
386
364
|
ct as S,
|
|
387
|
-
|
|
388
|
-
|
|
365
|
+
vt as a,
|
|
366
|
+
Nt as b,
|
|
389
367
|
pt as c,
|
|
390
|
-
|
|
391
|
-
|
|
392
|
-
|
|
393
|
-
|
|
394
|
-
|
|
395
|
-
|
|
396
|
-
|
|
397
|
-
|
|
398
|
-
|
|
399
|
-
|
|
400
|
-
vt as p
|
|
368
|
+
ut as d,
|
|
369
|
+
yt as e,
|
|
370
|
+
mt as f,
|
|
371
|
+
ft as g,
|
|
372
|
+
bt as h,
|
|
373
|
+
xt as i,
|
|
374
|
+
Dt as j,
|
|
375
|
+
nt as k,
|
|
376
|
+
Tt as l,
|
|
377
|
+
wt as p
|
|
401
378
|
};
|
|
402
|
-
//# sourceMappingURL=
|
|
379
|
+
//# sourceMappingURL=content-helpers-MbtAvUJh.mjs.map
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import { f as B0, u as J0, q as K0, j as t, r as L0, n as j0, t as V0, v as ei, C as Q4, w as X4, x as q8, F as ai, y as ci, z as W0, B as l7, D as t7, E as ii, c as z0, R as $0, G as A1, S as oi, H as E9, I as B9, J as li, U as Y6, g as u2, K as ti, h as a5, L as T9, d as F9, b as n7, o as r7, p as z2, a as ni, M as ri, N as N9, O as si, P as mi, Q as fi } from "./index-
|
|
2
|
-
import { O as U3,
|
|
3
|
-
import { p as qi, e as Zi, S as q9, a as Z9, b as W9, c as J9, d as Y9, f as $9, g as Q9, h as z9, C as d2, i as Wi, j as k9
|
|
4
|
-
import { R as
|
|
5
|
-
import { T as X9, a as ee, b as F8, K as g9, c as q6, d as eo } from "./tabs-
|
|
1
|
+
import { f as B0, u as J0, q as K0, j as t, r as L0, n as j0, t as V0, v as ei, C as Q4, w as X4, x as q8, F as ai, y as ci, z as W0, B as l7, D as t7, E as ii, c as z0, R as $0, G as A1, S as oi, H as E9, I as B9, J as li, U as Y6, g as u2, K as ti, h as a5, L as T9, d as F9, b as n7, o as r7, p as z2, a as ni, M as ri, N as N9, O as si, P as mi, Q as fi } from "./index-ChjIxhHy.mjs";
|
|
2
|
+
import { O as U3, Q as Z8, R as W8, T as c5, V as R1, W as di, Y as hi, Z as s7, _ as p2, $ as P9, a0 as J8, a1 as Y8, a2 as pi, a3 as j9, a4 as I9, a5 as ui, a6 as zi, a7 as L9, a8 as ki, a9 as gi, aa as vi, ab as Mi, ac as bi, ad as K3, ae as wi, af as xi, X as H9, ag as G9, ah as K9, ai as D9, aj as H8, C as _2, ak as G8, al as yi, B as i5, am as Si, an as Ri, a as m7, b as $8, c as Q8, d as X8, m as q2, e as f7, q as e9, E as a9, ao as O9, G as K8, ap as U9, aq as V9, ar as Ai, as as Ci, at as Ei, au as Bi, av as Ti, t as Fi, U as Ni, x as $6, aw as _9, h as Pi, ax as ji, ay as Ii, az as Li, aA as Hi, F as Gi, aB as Ki, j as Di, k as Oi, y as Ui, z as Vi, N as p9, D as u9, A as _i } from "./stats-CGH-0JNs.mjs";
|
|
3
|
+
import { p as qi, e as Zi, S as q9, a as Z9, b as W9, c as J9, d as Y9, f as $9, g as Q9, h as z9, C as d2, i as Wi, j as k9 } from "./content-helpers-MbtAvUJh.mjs";
|
|
4
|
+
import { R as Ji, P as Yi, O as $i, C as Qi, c as c9, b as d7, d as Xi } from "./audience-Caf7BjaU.mjs";
|
|
5
|
+
import { T as X9, a as ee, b as F8, K as g9, c as q6, d as eo } from "./tabs-EQCUj3Y9.mjs";
|
|
6
6
|
var h7 = "Switch", [ao] = W8(h7), [co, io] = ao(h7), ae = B0(
|
|
7
7
|
(c, r) => {
|
|
8
8
|
const {
|
|
@@ -918,7 +918,7 @@ var el = [
|
|
|
918
918
|
}, []), W0(g2.div, { ref: K3(a, r), ...m, "cmdk-list": "", role: "listbox", tabIndex: -1, "aria-activedescendant": i, "aria-label": f, id: v.listId }, k7(c, (g) => W0("div", { ref: K3(d, v.listInnerRef), "cmdk-list-sizer": "" }, g)));
|
|
919
919
|
}), rl = B0((c, r) => {
|
|
920
920
|
let { open: n, onOpenChange: f, overlayClassName: m, contentClassName: a, container: d, ...i } = c;
|
|
921
|
-
return W0(
|
|
921
|
+
return W0(Ji, { open: n, onOpenChange: f }, W0(Yi, { container: d }, W0($i, { "cmdk-overlay": "", className: m }), W0(Qi, { "aria-label": c.label, "cmdk-dialog": "", className: a }, W0(Be, { ref: r, ...i }))));
|
|
922
922
|
}), sl = B0((c, r) => k2((n) => n.filtered.count === 0) ? W0(g2.div, { ref: r, ...c, "cmdk-empty": "", role: "presentation" }) : null), ml = B0((c, r) => {
|
|
923
923
|
let { progress: n, children: f, label: m = "Loading...", ...a } = c;
|
|
924
924
|
return W0(g2.div, { ref: r, ...a, "cmdk-loading": "", role: "progressbar", "aria-valuenow": n, "aria-valuemin": 0, "aria-valuemax": 100, "aria-label": m }, k7(c, (d) => W0("div", { "aria-hidden": !0 }, d)));
|
|
@@ -9625,7 +9625,7 @@ const C9 = ({ tableHeader: c = !1, data: r, contentType: n }) => {
|
|
|
9625
9625
|
/* @__PURE__ */ t.jsx(W2, { children: "Visitors" })
|
|
9626
9626
|
] }),
|
|
9627
9627
|
/* @__PURE__ */ t.jsx(M7, { children: r == null ? void 0 : r.map((d) => {
|
|
9628
|
-
const i = d.post_id && d.post_type === "post", v = i ?
|
|
9628
|
+
const i = d.post_id && d.post_type === "post", v = i ? Xi(d.pathname, d.post_id, m.url || "", f, d.post_type) : () => {
|
|
9629
9629
|
};
|
|
9630
9630
|
return /* @__PURE__ */ t.jsxs(
|
|
9631
9631
|
b7,
|
|
@@ -9984,4 +9984,4 @@ const et = {
|
|
|
9984
9984
|
export {
|
|
9985
9985
|
rt as default
|
|
9986
9986
|
};
|
|
9987
|
-
//# sourceMappingURL=index-
|
|
9987
|
+
//# sourceMappingURL=index-BGqKbF1D.mjs.map
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { u as J, b as Y, a as re, O as ne, d as
|
|
2
|
-
import {
|
|
3
|
-
import { T as Je, a as Ze, K as
|
|
4
|
-
import { B as ss, d as ts, T as as, e as rs, a as G, f as V, S as F, b as M } from "./sort-button-
|
|
1
|
+
import { u as J, b as Y, a as re, O as ne, d as Q, n as h, g as S, r as le, j as e, h as _, $ as ge, e as ie, X as fe, o as Z, p as I, P as be, R as ee } from "./index-ChjIxhHy.mjs";
|
|
2
|
+
import { aB as je, j as ae, ag as ve, ah as ke, ai as Ne, aj as X, k as we, bg as ye, bj as _e, bk as Ce, bl as Te, bh as Se, bt as Re, bn as Le, E as oe, m as se, br as ce, bb as De, bc as Me, bu as Pe, bd as Be, be as Oe, bv as Ee, bw as Ae, bf as ze, bx as $e, by as Ve, bz as He, y as Ke, z as We, N as Fe, D as Ge, A as Ie, a as de, e as ue, b as Ye, c as Qe, d as Ue, q as Xe, B as qe } from "./stats-CGH-0JNs.mjs";
|
|
3
|
+
import { T as Je, a as Ze, K as q, c as O, d as es } from "./tabs-EQCUj3Y9.mjs";
|
|
4
|
+
import { B as ss, d as ts, T as as, e as rs, a as G, f as V, S as F, b as M } from "./sort-button-B8n8fYMi.mjs";
|
|
5
5
|
const ns = ({ active: a, payload: s }) => {
|
|
6
6
|
if (!a || !(s != null && s.length))
|
|
7
7
|
return null;
|
|
@@ -47,7 +47,7 @@ const ns = ({ active: a, payload: s }) => {
|
|
|
47
47
|
isAvgsLoading: t,
|
|
48
48
|
initialTab: i = "total-subscribers"
|
|
49
49
|
}) => {
|
|
50
|
-
const [o, x] = J(i), [u, j] = J(!1), { range: c } = Y(), w = re(), [y] = ne(), { appSettings: b } =
|
|
50
|
+
const [o, x] = J(i), [u, j] = J(!1), { range: c } = Y(), w = re(), [y] = ne(), { appSettings: b } = Q(), { emailTrackClicks: p, emailTrackOpens: g } = (b == null ? void 0 : b.analytics) || {}, { totalSubscribers: P, avgOpenRate: C, avgClickRate: l } = r, k = h(() => {
|
|
51
51
|
if (!a || a.length === 0)
|
|
52
52
|
return [];
|
|
53
53
|
let d = [];
|
|
@@ -106,7 +106,7 @@ const ns = ({ active: a, payload: s }) => {
|
|
|
106
106
|
const d = (te = m[o]) == null ? void 0 : te.datakey;
|
|
107
107
|
if (!d)
|
|
108
108
|
return { barDomain: [0, 1], barTicks: [0, 1] };
|
|
109
|
-
const N = s.map((
|
|
109
|
+
const N = s.map((U) => U[d]).filter((U) => typeof U == "number");
|
|
110
110
|
if (N.length === 0)
|
|
111
111
|
return { barDomain: [0, 1], barTicks: [0, 1] };
|
|
112
112
|
const L = Math.min(...N), z = Math.max(...N), K = Math.floor(L * 10) / 10, $ = Math.ceil(z * 10) / 10, D = Math.max(0, K), W = $ === D ? D + 0.1 : $;
|
|
@@ -119,13 +119,13 @@ const ns = ({ active: a, payload: s }) => {
|
|
|
119
119
|
return /* @__PURE__ */ e.jsx("div", { className: "-mb-6 flex h-[calc(16vw+132px)] w-full items-start justify-center", children: /* @__PURE__ */ e.jsx(ae, {}) });
|
|
120
120
|
let E = "grid-cols-3";
|
|
121
121
|
(!p || !g) && (E = "grid-cols-2"), !p && !g && (E = "grid-cols-1");
|
|
122
|
-
const A = o === "avg-open-rate" && C > f[0] && C < f[1] || o === "avg-click-rate" && l > f[0] && l < f[1],
|
|
122
|
+
const A = o === "avg-open-rate" && C > f[0] && C < f[1] || o === "avg-click-rate" && l > f[0] && l < f[1], B = o === "avg-open-rate" ? C : l;
|
|
123
123
|
return /* @__PURE__ */ e.jsxs(Je, { defaultValue: i, variant: "kpis", children: [
|
|
124
124
|
/* @__PURE__ */ e.jsxs(Ze, { className: `-mx-6 hidden grid-cols-3 md:!visible md:!grid ${E}`, children: [
|
|
125
|
-
/* @__PURE__ */ e.jsx(
|
|
125
|
+
/* @__PURE__ */ e.jsx(q, { className: `${!g && !p && "cursor-auto after:hidden"}`, value: "total-subscribers", onClick: () => {
|
|
126
126
|
v("total-subscribers");
|
|
127
127
|
}, children: /* @__PURE__ */ e.jsx(
|
|
128
|
-
|
|
128
|
+
O,
|
|
129
129
|
{
|
|
130
130
|
color: m["total-subscribers"].color,
|
|
131
131
|
"data-testid": "total-subscribers-value",
|
|
@@ -135,10 +135,10 @@ const ns = ({ active: a, payload: s }) => {
|
|
|
135
135
|
value: S(P)
|
|
136
136
|
}
|
|
137
137
|
) }),
|
|
138
|
-
g && /* @__PURE__ */ e.jsx(
|
|
138
|
+
g && /* @__PURE__ */ e.jsx(q, { value: "avg-open-rate", onClick: () => {
|
|
139
139
|
v("avg-open-rate");
|
|
140
140
|
}, children: /* @__PURE__ */ e.jsx(
|
|
141
|
-
|
|
141
|
+
O,
|
|
142
142
|
{
|
|
143
143
|
className: t ? "opacity-50" : "",
|
|
144
144
|
color: m["avg-open-rate"].color,
|
|
@@ -146,10 +146,10 @@ const ns = ({ active: a, payload: s }) => {
|
|
|
146
146
|
value: _(C)
|
|
147
147
|
}
|
|
148
148
|
) }),
|
|
149
|
-
p && /* @__PURE__ */ e.jsx(
|
|
149
|
+
p && /* @__PURE__ */ e.jsx(q, { value: "avg-click-rate", onClick: () => {
|
|
150
150
|
v("avg-click-rate");
|
|
151
151
|
}, children: /* @__PURE__ */ e.jsx(
|
|
152
|
-
|
|
152
|
+
O,
|
|
153
153
|
{
|
|
154
154
|
className: t ? "opacity-50" : "",
|
|
155
155
|
color: m["avg-click-rate"].color,
|
|
@@ -161,7 +161,7 @@ const ns = ({ active: a, payload: s }) => {
|
|
|
161
161
|
/* @__PURE__ */ e.jsxs(ve, { children: [
|
|
162
162
|
/* @__PURE__ */ e.jsx(ke, { className: "md:hidden", asChild: !0, children: /* @__PURE__ */ e.jsxs(es, { children: [
|
|
163
163
|
o === "total-subscribers" && /* @__PURE__ */ e.jsx(
|
|
164
|
-
|
|
164
|
+
O,
|
|
165
165
|
{
|
|
166
166
|
color: m["total-subscribers"].color,
|
|
167
167
|
label: "Total subscribers",
|
|
@@ -169,7 +169,7 @@ const ns = ({ active: a, payload: s }) => {
|
|
|
169
169
|
}
|
|
170
170
|
),
|
|
171
171
|
o === "avg-open-rate" && g && /* @__PURE__ */ e.jsx(
|
|
172
|
-
|
|
172
|
+
O,
|
|
173
173
|
{
|
|
174
174
|
className: t ? "opacity-50" : "",
|
|
175
175
|
color: m["avg-open-rate"].color,
|
|
@@ -178,7 +178,7 @@ const ns = ({ active: a, payload: s }) => {
|
|
|
178
178
|
}
|
|
179
179
|
),
|
|
180
180
|
o === "avg-click-rate" && p && /* @__PURE__ */ e.jsx(
|
|
181
|
-
|
|
181
|
+
O,
|
|
182
182
|
{
|
|
183
183
|
className: t ? "opacity-50" : "",
|
|
184
184
|
color: m["avg-click-rate"].color,
|
|
@@ -188,9 +188,9 @@ const ns = ({ active: a, payload: s }) => {
|
|
|
188
188
|
)
|
|
189
189
|
] }) }),
|
|
190
190
|
/* @__PURE__ */ e.jsxs(Ne, { align: "end", className: "w-56", children: [
|
|
191
|
-
/* @__PURE__ */ e.jsx(
|
|
192
|
-
g && /* @__PURE__ */ e.jsx(
|
|
193
|
-
p && /* @__PURE__ */ e.jsx(
|
|
191
|
+
/* @__PURE__ */ e.jsx(X, { onClick: () => v("total-subscribers"), children: "Total subscribers" }),
|
|
192
|
+
g && /* @__PURE__ */ e.jsx(X, { onClick: () => v("avg-open-rate"), children: "Avg. open rate" }),
|
|
193
|
+
p && /* @__PURE__ */ e.jsx(X, { onClick: () => v("avg-click-rate"), children: "Avg. click rate" })
|
|
194
194
|
] })
|
|
195
195
|
] }),
|
|
196
196
|
/* @__PURE__ */ e.jsxs("div", { className: "my-4 [&_.recharts-cartesian-axis-tick-value]:fill-gray-500", children: [
|
|
@@ -258,7 +258,7 @@ const ns = ({ active: a, payload: s }) => {
|
|
|
258
258
|
position: { y: 10 }
|
|
259
259
|
}
|
|
260
260
|
),
|
|
261
|
-
A && /* @__PURE__ */ e.jsx(Re, { label: { value: `${_(
|
|
261
|
+
A && /* @__PURE__ */ e.jsx(Re, { label: { value: `${_(B)}`, position: "left", offset: 8, fill: "hsl(var(--muted-foreground))" }, opacity: 0.5, stroke: "hsl(var(--muted-foreground))", strokeDasharray: "4 4", y: B }),
|
|
262
262
|
/* @__PURE__ */ e.jsx(
|
|
263
263
|
Le,
|
|
264
264
|
{
|
|
@@ -307,9 +307,9 @@ const ns = ({ active: a, payload: s }) => {
|
|
|
307
307
|
children: [
|
|
308
308
|
/* @__PURE__ */ e.jsxs(Me, { className: "w-auto", children: [
|
|
309
309
|
/* @__PURE__ */ e.jsx(Pe, { className: "mr-2", size: 16, strokeWidth: 1.5 }),
|
|
310
|
-
/* @__PURE__ */ e.jsx(
|
|
310
|
+
/* @__PURE__ */ e.jsx(Be, { placeholder: "Select a newsletter" })
|
|
311
311
|
] }),
|
|
312
|
-
/* @__PURE__ */ e.jsx(
|
|
312
|
+
/* @__PURE__ */ e.jsx(Oe, { align: "end", children: /* @__PURE__ */ e.jsxs(Ee, { children: [
|
|
313
313
|
/* @__PURE__ */ e.jsx(Ae, { children: "Newsletters" }),
|
|
314
314
|
n.map((t) => /* @__PURE__ */ e.jsx(ze, { value: t.id, children: t.name }, t.id))
|
|
315
315
|
] }) })
|
|
@@ -425,8 +425,8 @@ const ns = ({ active: a, payload: s }) => {
|
|
|
425
425
|
// Reactive to sort changes, but only affects this component
|
|
426
426
|
s || void 0,
|
|
427
427
|
!!r
|
|
428
|
-
), { appSettings: c } =
|
|
429
|
-
/* @__PURE__ */ e.jsx(M, { className: "font-medium", children: /* @__PURE__ */ e.jsx("div", { className: "group/link inline-flex items-center gap-2", children: l.post_id ? /* @__PURE__ */ e.jsx(
|
|
428
|
+
), { appSettings: c } = Q(), { emailTrackClicks: w, emailTrackOpens: y } = (c == null ? void 0 : c.analytics) || {}, b = h(() => (x == null ? void 0 : x.stats) || [], [x]), p = y && w ? 5 : y || w ? 4 : 3, g = h(() => /* @__PURE__ */ e.jsx(e.Fragment, { children: /* @__PURE__ */ e.jsx(G, { className: "last:border-none [&>td]:py-2.5", children: /* @__PURE__ */ e.jsx(M, { className: "font-medium", colSpan: p, children: /* @__PURE__ */ e.jsx(Xe, { className: "mt-5" }) }) }) }), [p]), P = h(() => b.length > 0 ? /* @__PURE__ */ e.jsx(e.Fragment, { children: b.map((l) => /* @__PURE__ */ e.jsxs(G, { className: "last:border-none [&>td]:py-2.5", children: [
|
|
429
|
+
/* @__PURE__ */ e.jsx(M, { className: "font-medium", children: /* @__PURE__ */ e.jsx("div", { className: "group/link inline-flex items-center gap-2", children: l.post_id ? /* @__PURE__ */ e.jsx(qe, { className: "h-auto whitespace-normal p-0 text-left hover:!underline", title: "View post analytics", variant: "link", onClick: () => {
|
|
430
430
|
t(`/posts/analytics/${l.post_id}/`, { crossApp: !0 });
|
|
431
431
|
}, children: l.post_title }) : /* @__PURE__ */ e.jsx(e.Fragment, { children: l.post_title }) }) }),
|
|
432
432
|
/* @__PURE__ */ e.jsx(M, { className: "whitespace-nowrap text-sm", children: ie(l.send_date, o) }),
|
|
@@ -452,12 +452,12 @@ const ns = ({ active: a, payload: s }) => {
|
|
|
452
452
|
he.displayName = "NewsletterTableRows";
|
|
453
453
|
const xe = ee.memo(({ sortBy: a, setSortBy: s, range: r }) => {
|
|
454
454
|
const n = h(() => /* @__PURE__ */ e.jsxs(Ye, { children: [
|
|
455
|
-
/* @__PURE__ */ e.jsx(
|
|
456
|
-
/* @__PURE__ */ e.jsxs(
|
|
455
|
+
/* @__PURE__ */ e.jsx(Qe, { children: "Top newsletters" }),
|
|
456
|
+
/* @__PURE__ */ e.jsxs(Ue, { children: [
|
|
457
457
|
" Your best performing newsletters ",
|
|
458
458
|
se(r)
|
|
459
459
|
] })
|
|
460
|
-
] }), [r]), { appSettings: t } =
|
|
460
|
+
] }), [r]), { appSettings: t } = Q(), { emailTrackClicks: i, emailTrackOpens: o } = (t == null ? void 0 : t.analytics) || {};
|
|
461
461
|
return /* @__PURE__ */ e.jsx(rs, { children: /* @__PURE__ */ e.jsxs(G, { children: [
|
|
462
462
|
/* @__PURE__ */ e.jsx(V, { className: "min-w-[320px]", variant: "cardhead", children: n }),
|
|
463
463
|
/* @__PURE__ */ e.jsx(V, { className: "w-[65px]", children: /* @__PURE__ */ e.jsx(F, { activeSortBy: a, setSortBy: s, sortBy: "date desc", children: "Date" }) }),
|
|
@@ -484,7 +484,7 @@ const pe = ee.memo(({ range: a, selectedNewsletterId: s, shouldFetchStats: r })
|
|
|
484
484
|
});
|
|
485
485
|
pe.displayName = "TopNewslettersTable";
|
|
486
486
|
const fs = () => {
|
|
487
|
-
const { range: a, selectedNewsletterId: s } = Y(), [r] = ne(), { appSettings: n } =
|
|
487
|
+
const { range: a, selectedNewsletterId: s } = Y(), [r] = ne(), { appSettings: n } = Q(), t = r.get("tab") || "total-subscribers", { data: i, isLoading: o } = cs({
|
|
488
488
|
searchParams: {
|
|
489
489
|
limit: "50"
|
|
490
490
|
}
|
|
@@ -502,7 +502,7 @@ const fs = () => {
|
|
|
502
502
|
const l = ((v = b == null ? void 0 : b.count) == null ? void 0 : v.active_members) || ((m = (T = u == null ? void 0 : u.stats) == null ? void 0 : T[0]) == null ? void 0 : m.total) || 0;
|
|
503
503
|
let k = 0, R = 0;
|
|
504
504
|
if (c != null && c.stats && c.stats.length > 0) {
|
|
505
|
-
const f = c.stats, H = f.reduce((A,
|
|
505
|
+
const f = c.stats, H = f.reduce((A, B) => A + (B.open_rate || 0), 0), E = f.reduce((A, B) => A + (B.click_rate || 0), 0);
|
|
506
506
|
k = H / f.length, R = E / f.length;
|
|
507
507
|
}
|
|
508
508
|
return {
|
|
@@ -579,4 +579,4 @@ const fs = () => {
|
|
|
579
579
|
export {
|
|
580
580
|
fs as default
|
|
581
581
|
};
|
|
582
|
-
//# sourceMappingURL=index-
|
|
582
|
+
//# sourceMappingURL=index-BTjfXOi6.mjs.map
|
|
@@ -17469,19 +17469,19 @@ const bg = "/", pg = [
|
|
|
17469
17469
|
children: [
|
|
17470
17470
|
{
|
|
17471
17471
|
index: !0,
|
|
17472
|
-
lazy: v3(() => import("./index-
|
|
17472
|
+
lazy: v3(() => import("./index-wT0OIw_N.mjs"))
|
|
17473
17473
|
},
|
|
17474
17474
|
{
|
|
17475
17475
|
path: "web",
|
|
17476
|
-
lazy: v3(() => import("./index-
|
|
17476
|
+
lazy: v3(() => import("./index-BGqKbF1D.mjs"))
|
|
17477
17477
|
},
|
|
17478
17478
|
{
|
|
17479
17479
|
path: "growth",
|
|
17480
|
-
lazy: v3(() => import("./index-
|
|
17480
|
+
lazy: v3(() => import("./index-DMkZbbZs.mjs"))
|
|
17481
17481
|
},
|
|
17482
17482
|
{
|
|
17483
17483
|
path: "newsletters",
|
|
17484
|
-
lazy: v3(() => import("./index-
|
|
17484
|
+
lazy: v3(() => import("./index-BTjfXOi6.mjs"))
|
|
17485
17485
|
}
|
|
17486
17486
|
]
|
|
17487
17487
|
}
|
|
@@ -17571,4 +17571,4 @@ export {
|
|
|
17571
17571
|
FM as y,
|
|
17572
17572
|
c as z
|
|
17573
17573
|
};
|
|
17574
|
-
//# sourceMappingURL=index-
|
|
17574
|
+
//# sourceMappingURL=index-ChjIxhHy.mjs.map
|