ghost 6.47.0 → 6.48.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/MigratorConfig.js +0 -1
- package/bin/create-migration.js +1 -1
- package/bin/generate-golden-email.js +0 -1
- package/components/tryghost-i18n-0.0.0.tgz +0 -0
- package/core/boot.js +13 -7
- package/core/built/admin/assets/{PolarAngleAxis-CLluELUg.js → PolarAngleAxis-DufzOBEz.js} +1 -1
- package/core/built/admin/assets/{_baseAssignValue-Dz1iqdwD.js → _baseAssignValue-BjUm4QeA.js} +1 -1
- package/core/built/admin/assets/{a-large-small-BA74vHPp.js → a-large-small-D0RF_WS9.js} +1 -1
- package/core/built/admin/assets/{account-migration-B-NqdKuN.js → account-migration-B7n6ezrZ.js} +1 -1
- package/core/built/admin/assets/activitypub/{account-migration-ClmVrAXr.js → account-migration-BJeRnMCl.js} +3 -3
- package/core/built/admin/assets/activitypub/activitypub.js +1 -1
- package/core/built/admin/assets/activitypub/{at-sign-9F3qd4Nn.js → at-sign-BygVOKdj.js} +2 -2
- package/core/built/admin/assets/activitypub/{avatar-flipboard-jBHA13Ej.js → avatar-flipboard-CNcjI8lK.js} +2 -2
- package/core/built/admin/assets/activitypub/{bluesky-sharing-1irhvVtF.js → bluesky-sharing-mgBNeRfA.js} +4 -4
- package/core/built/admin/assets/activitypub/{copy-DXRvsGiK.js → copy-BMChXIQc.js} +2 -2
- package/core/built/admin/assets/activitypub/{deleted-feed-item-67VQJde4.js → deleted-feed-item-D-spb6V1.js} +2 -2
- package/core/built/admin/assets/activitypub/{edit-profile-BfpbEj98.js → edit-profile-CDQ3V8-c.js} +4 -4
- package/core/built/admin/assets/activitypub/{feed-DUrI7SPC.js → feed-Vqr3WU-V.js} +4 -4
- package/core/built/admin/assets/activitypub/{hash-CMtB10PN.js → hash-D7SSXVOg.js} +2 -2
- package/core/built/admin/assets/activitypub/{inbox-2xq8SJ7A.js → inbox-BHk5Dw27.js} +2 -2
- package/core/built/admin/assets/activitypub/{index-BT97xLpd.js → index-BejkeH-m.js} +2 -2
- package/core/built/admin/assets/activitypub/{index-DssHQAjK.js → index-BqL23J-m.js} +32 -32
- package/core/built/admin/assets/activitypub/{index-Ba6FXt8y.js → index-CHhvjNuG.js} +6 -6
- package/core/built/admin/assets/activitypub/{index-ERtz4Bvy.js → index-CZsNO9hA.js} +5 -5
- package/core/built/admin/assets/activitypub/{index-sgY7lLrg.js → index-CaIhRYzz.js} +3 -3
- package/core/built/admin/assets/activitypub/{index-D1EWoXrK.js → index-DA2MkQVu.js} +2 -2
- package/core/built/admin/assets/activitypub/{index-sudOvKcY.js → index-DHhFcmfu.js} +21 -21
- package/core/built/admin/assets/activitypub/{index-Ccighz1t.js → index-sh2bDSls.js} +4 -4
- package/core/built/admin/assets/activitypub/{label-KQSsSjmN.js → label-D80yhOIm.js} +2 -2
- package/core/built/admin/assets/activitypub/{moderation-B78if-r0.js → moderation-LJNmKBCi.js} +3 -3
- package/core/built/admin/assets/activitypub/{note-Bfr7ovn7.js → note-CyjKLcQ-.js} +4 -4
- package/core/built/admin/assets/activitypub/{reply-CehesW8Z.js → reply-BiiCFx7G.js} +2 -2
- package/core/built/admin/assets/activitypub/{separator-B_Ly_Qq8.js → separator-CY3PMmtI.js} +2 -2
- package/core/built/admin/assets/activitypub/{settings-D6R97p7v.js → settings-BQy6Gr7R.js} +3 -3
- package/core/built/admin/assets/activitypub/{step-1-Cl1YxgZ1.js → step-1-DCqRwgf3.js} +3 -3
- package/core/built/admin/assets/activitypub/{step-2-DDyR--Qe.js → step-2-DQlhehTO.js} +5 -5
- package/core/built/admin/assets/activitypub/{step-3-Don8gv0n.js → step-3-DAUCAcxW.js} +7 -7
- package/core/built/admin/assets/activitypub/{tabs-DTpfm-wu.js → tabs-B_6UuI7r.js} +3 -3
- package/core/built/admin/assets/activitypub/{topic-filter-Oee10885.js → topic-filter--FT1A_dc.js} +2 -2
- 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-CGZuiDGx.js → code-editor-view-Bp_sCJR0.js} +2 -2
- package/core/built/admin/assets/admin-x-settings/{index-CwEblQZC.js → index-BPXA3pTW.js} +5 -5
- package/core/built/admin/assets/admin-x-settings/{index-rr_UntGE.js → index-BS375mg1.js} +3 -3
- package/core/built/admin/assets/admin-x-settings/{index-BpM6W2br.js → index-B_PlQoEG.js} +3 -3
- package/core/built/admin/assets/admin-x-settings/{index-BGdS5xw4.js → index-BflhAbu2.js} +3 -3
- package/core/built/admin/assets/admin-x-settings/{index-DtWUeJhp.js → index-CftMe8fe.js} +3 -3
- package/core/built/admin/assets/admin-x-settings/{index-B65inCwj.js → index-DRB7FH6y.js} +2 -2
- package/core/built/admin/assets/admin-x-settings/{index-DSX261S9.js → index-DijZ3oAM.js} +2 -2
- package/core/built/admin/assets/admin-x-settings/{index-DF6YEs01.js → index-cV0Lof9H.js} +1526 -1500
- package/core/built/admin/assets/admin-x-settings/{index-CluZYkUC.js → index-qc4x3vZj.js} +3 -3
- package/core/built/admin/assets/admin-x-settings/{modals-Bf4KOU31.js → modals-CkjuEByw.js} +55 -67
- package/core/built/admin/assets/{arrow-right-BxP3aeA5.js → arrow-right-BF77Yx73.js} +1 -1
- package/core/built/admin/assets/{at-sign-Bf0y-jim.js → at-sign-DhJF3n_V.js} +1 -1
- package/core/built/admin/assets/{audience-DHR1WgFK.js → audience-DHPKKayV.js} +1 -1
- package/core/built/admin/assets/{automated-emails-DbJbDLib.js → automated-emails-DInKYTEC.js} +1 -1
- package/core/built/admin/assets/{automations-aLgTzSsZ.js → automations-DJpeZw9T.js} +1 -1
- package/core/built/admin/assets/automations-DpQKN9j0.js +1 -0
- package/core/built/admin/assets/{avatar-flipboard-B0F2LMW5.js → avatar-flipboard-yRdmFC6R.js} +1 -1
- package/core/built/admin/assets/{bluesky-sharing-DjhtIuyr.js → bluesky-sharing-qSiCERoR.js} +1 -1
- package/core/built/admin/assets/{chart-BGwxlD0z.js → chart-CP2N9ZC-.js} +1 -1
- package/core/built/admin/assets/{chevron-up-C2FeVzre.js → chevron-up-BQ6fOpFR.js} +1 -1
- package/core/built/admin/assets/{chunk.524.31b31f7958dfae110016.js → chunk.524.ad4560630d4d62fbceb5.js} +4 -4
- package/core/built/admin/assets/{chunk.582.a855020953886af6e83b.js → chunk.582.fd4878e4e0af31ef86c0.js} +6 -6
- package/core/built/admin/assets/{chunk.972.258e6b1dab79b2189f1c.js → chunk.98.69968e0f393d82c2949c.js} +4 -4
- package/core/built/admin/assets/{code-editor-view-DzPkm_nJ.js → code-editor-view-CVODiRVJ.js} +1 -1
- package/core/built/admin/assets/{comments-DgItXUWN.js → comments-CP-NxopD.js} +1 -1
- package/core/built/admin/assets/{content-helpers-BNefU_PE.js → content-helpers-Crzkusiq.js} +1 -1
- package/core/built/admin/assets/{copy-DoNNUZlb.js → copy-r1LFsU75.js} +1 -1
- package/core/built/admin/assets/{data-list-CO1cZQRU.js → data-list-CzSc7z-2.js} +1 -1
- package/core/built/admin/assets/{deleted-feed-item-DC2wSAhv.js → deleted-feed-item-PyEM8FiX.js} +1 -1
- package/core/built/admin/assets/{dropzone-BTODLafn.js → dropzone-DI8A9qO6.js} +1 -1
- package/core/built/admin/assets/{edit-profile-BMMpmWIZ.js → edit-profile-DlJ64lV7.js} +1 -1
- package/core/built/admin/assets/editor-CevNZicQ.js +8 -0
- package/core/built/admin/assets/{empty-indicator-Dza0FQlj.js → empty-indicator-Dxg05yWg.js} +1 -1
- package/core/built/admin/assets/{en-yf9qAqTu.js → en-D93GVp3o.js} +1 -1
- package/core/built/admin/assets/{eye-CAqnnfQF.js → eye-6POPPpTw.js} +1 -1
- package/core/built/admin/assets/{feed-BkNsbWiF.js → feed-P_RMYb5x.js} +1 -1
- package/core/built/admin/assets/{field-Ddb1ZOqM.js → field-DeNjwWrL.js} +1 -1
- package/core/built/admin/assets/{filter-query-core-5Mac92kh.js → filter-query-core-DFs5WSmA.js} +1 -1
- package/core/built/admin/assets/{filters-BCb4bgtg.js → filters-C_BSQgb7.js} +1 -1
- package/core/built/admin/assets/{gh-chart-C6zkIg8k.js → gh-chart-pNHAbeQn.js} +1 -1
- package/core/built/admin/assets/{ghost-5313258fd425ced5db6516acde01ba36.js → ghost-3f5b3569e0beec61266cb74077677fbc.js} +3 -3
- package/core/built/admin/assets/{growth-ezUlN8OE.js → growth-B83tVOYO.js} +1 -1
- package/core/built/admin/assets/{hash-DE2OmChI.js → hash-BCTATV5W.js} +1 -1
- package/core/built/admin/assets/{inbox-OthiHvlV.js → inbox-rE3c5suT.js} +1 -1
- package/core/built/admin/assets/{index-BLyzLfyx.js → index-7EiRc5Ay.js} +1 -1
- package/core/built/admin/assets/{index-CV5v0eFE.js → index-B5bpZGTI.js} +1 -1
- package/core/built/admin/assets/index-BNtzAd7H.css +1 -0
- package/core/built/admin/assets/{index-BC1yWeaJ.js → index-BT33w2Io.js} +1 -1
- package/core/built/admin/assets/{index-DjffQ3VJ.js → index-BbkXWdhb.js} +1 -1
- package/core/built/admin/assets/{index-DH6PA3W6.js → index-BfhSrnrJ.js} +1 -1
- package/core/built/admin/assets/{index-CRvK0Iac.js → index-BmR_OUpb.js} +1 -1
- package/core/built/admin/assets/{index-CNV7fxKZ.js → index-BuhMgn5c.js} +1 -1
- package/core/built/admin/assets/{index-pkixJbdq.js → index-C-075SzJ.js} +34 -34
- package/core/built/admin/assets/{index-DJoByVS8.js → index-CB3hJd9E.js} +1 -1
- package/core/built/admin/assets/{index-D3bb-MEJ.js → index-CCISLIQd.js} +1 -1
- package/core/built/admin/assets/{index-BIEhcKiV.js → index-Cnptpx11.js} +1 -1
- package/core/built/admin/assets/{index-DK1cu59e.js → index-CrBRU81r.js} +1 -1
- package/core/built/admin/assets/{index-B0_p1-R0.js → index-CscUHFJp.js} +1 -1
- package/core/built/admin/assets/{index-Bi5qzf86.js → index-D3ZzfuJt.js} +1 -1
- package/core/built/admin/assets/{index-CKPny_6u.js → index-D4wn-U0V.js} +1 -1
- package/core/built/admin/assets/{index-YzcsD17L.js → index-DNRlkUeu.js} +1 -1
- package/core/built/admin/assets/{index-BoMsDCxD.js → index-D_G6negZ.js} +1 -1
- package/core/built/admin/assets/{index-CwsmINtV.js → index-DfxHSK1s.js} +1 -1
- package/core/built/admin/assets/{index-X91I8PcS.js → index-Dpc3COTl.js} +1 -1
- package/core/built/admin/assets/{index-c1h-EQpd.js → index-UsbnU2jy.js} +1 -1
- package/core/built/admin/assets/{index-oKgNVmwC.js → index-VfrJzh5m.js} +1 -1
- package/core/built/admin/assets/{index-D5MrQBSe.js → index-fbxc8Dpt.js} +1 -1
- package/core/built/admin/assets/{input-group-BOLMrDfJ.js → input-group-BLygwiDK.js} +1 -1
- package/core/built/admin/assets/{koenig-lexical-DlzcWUPw.js → koenig-lexical-B9U3sBS5.js} +1 -1
- package/core/built/admin/assets/{kpi-card-BlF7JKRC.js → kpi-card-Bmnvvp4X.js} +1 -1
- package/core/built/admin/assets/{kpi-card-HDshm3lO.js → kpi-card-CGVtzdgJ.js} +1 -1
- package/core/built/admin/assets/{kpi-tabs-Dty6zMSP.js → kpi-tabs-DxbvMkIU.js} +1 -1
- package/core/built/admin/assets/{kpis-CFz4r5wW.js → kpis-CQBAGVjP.js} +1 -1
- package/core/built/admin/assets/{label-CVzNcbjb.js → label-DpTwHQi_.js} +1 -1
- package/core/built/admin/assets/{links-D9dHwDlP.js → links-Bdw25FJF.js} +1 -1
- package/core/built/admin/assets/{list-page-shoQED7N.js → list-page-BvTQwP5F.js} +1 -1
- package/core/built/admin/assets/{loader-circle-cad701gH.js → loader-circle-3HJkQKWf.js} +1 -1
- package/core/built/admin/assets/{mail-DG4PKpZy.js → mail-DvrqP73n.js} +1 -1
- package/core/built/admin/assets/{main-layout-BmFla3Se.js → main-layout-BAPpm0bz.js} +1 -1
- package/core/built/admin/assets/{members-d19Z6k1C.js → members-CF4CzJSf.js} +1 -1
- package/core/built/admin/assets/minus-DJIePlnU.js +1 -0
- package/core/built/admin/assets/modals-CVsVi0zu.js +35 -0
- package/core/built/admin/assets/{moderation-BWBLnh4h.js → moderation-BX1KH5QL.js} +1 -1
- package/core/built/admin/assets/{newsletter-DNY4MroI.js → newsletter-BlKeb58e.js} +1 -1
- package/core/built/admin/assets/{newsletters-B10iBPP-.js → newsletters-3In8H0Z5.js} +1 -1
- package/core/built/admin/assets/{note-S0b6wjRR.js → note-ybwJCAxm.js} +1 -1
- package/core/built/admin/assets/{offers-B-9mZqKd.js → offers-Cl0ZNEMr.js} +1 -1
- package/core/built/admin/assets/{onboarding-route-AMFn0X5G.js → onboarding-route-A3ECeMAi.js} +1 -1
- package/core/built/admin/assets/{overview-WKadyZRW.js → overview-DrMrfsk-.js} +1 -1
- package/core/built/admin/assets/{pagemenu-BofQcFaF.js → pagemenu-O7HbsehH.js} +1 -1
- package/core/built/admin/assets/{pencil-LfMcD0vS.js → pencil-CknTbJeE.js} +1 -1
- package/core/built/admin/assets/{pin-CayUjL8e.js → pin-BNs-JdQ3.js} +1 -1
- package/core/built/admin/assets/{post-analytics-DMHvt3Jl.js → post-analytics-Dk1VloZp.js} +1 -1
- package/core/built/admin/assets/{post-analytics-context-10cqioP1.js → post-analytics-context-kPL94Ivz.js} +1 -1
- package/core/built/admin/assets/{post-analytics-header-DlICE18K.js → post-analytics-header-CpMOozq-.js} +1 -1
- package/core/built/admin/assets/{post-share-modal-Cfwy2UwD.js → post-share-modal-F0dobdhF.js} +1 -1
- package/core/built/admin/assets/posts/{alert-dialog-cQK32v9G.js → alert-dialog-NoPLULhG.js} +5 -5
- package/core/built/admin/assets/posts/{app-utils-DQ2hixop.js → app-utils-BiM9QO4L.js} +3 -3
- package/core/built/admin/assets/posts/{automations-BqkU9-zY.js → automations-BgIAmq9f.js} +3 -3
- package/core/built/admin/assets/posts/{automations-CoilKpVH.js → automations-D_XwO405.js} +30 -30
- package/core/built/admin/assets/posts/{avatar-BejAO6Rj.js → avatar-BYsYOpmq.js} +5 -5
- package/core/built/admin/assets/posts/{badge-BYGRyd2f.js → badge-B54vLono.js} +2 -2
- package/core/built/admin/assets/posts/{button-CG2Dpjqy.js → button-DMLfwOQt.js} +3 -3
- package/core/built/admin/assets/posts/{check-fsC5BvGC.js → check-D6qDi62T.js} +2 -2
- package/core/built/admin/assets/posts/{comments-CsyF5C1S.js → comments-CyYCbvUG.js} +26 -26
- package/core/built/admin/assets/posts/{data-list-JslRF2F5.js → data-list-B0DrMm-x.js} +4 -4
- package/core/built/admin/assets/posts/{dialog-3KY3A8t5.js → dialog-DtEZpY1q.js} +3 -3
- package/core/built/admin/assets/posts/{editor-3HPW_xW4.js → editor-LJHLmUoW.js} +1943 -1943
- package/core/built/admin/assets/posts/{ellipsis-BhK5S70U.js → ellipsis-JeIF0Biz.js} +2 -2
- package/core/built/admin/assets/posts/{empty-indicator-C9DbE9wZ.js → empty-indicator-dktzN32y.js} +2 -2
- package/core/built/admin/assets/posts/{filters-BCBDCnQF.js → filters-D1L-LU_m.js} +10 -10
- package/core/built/admin/assets/posts/{get-site-timezone-83C41MGz.js → get-site-timezone-dsyl8nlB.js} +3 -3
- package/core/built/admin/assets/posts/{growth-COoL1kMe.js → growth-yX8UB_ce.js} +12 -12
- package/core/built/admin/assets/posts/{heading-D3VqNO3z.js → heading-CNte43wH.js} +2 -2
- package/core/built/admin/assets/posts/{hooks-5YpJYWOw.js → hooks-BIgv7QBp.js} +2 -2
- package/core/built/admin/assets/posts/{index-Dqn5WIFh.js → index-2FO6Vy0r.js} +11 -11
- package/core/built/admin/assets/posts/{input-C1qcZBGw.js → input-BycmlCp8.js} +3 -3
- package/core/built/admin/assets/posts/{input-surface-C4vUAdbV.js → input-surface-vY3ACaso.js} +2 -2
- package/core/built/admin/assets/posts/{koenig-lexical-NZjxFY0X.js → koenig-lexical-Cq8SUcZC.js} +2 -2
- package/core/built/admin/assets/posts/{kpis-C2FEXoUT.js → kpis-CAJcU1w0.js} +27 -27
- package/core/built/admin/assets/posts/{label-CmJzmJY7.js → label-BmLTflMF.js} +3 -3
- package/core/built/admin/assets/posts/{links-nzud7t_t.js → links-BVcmMZmF.js} +4 -4
- package/core/built/admin/assets/posts/{list-page-D_rv4TgN.js → list-page-DX2WRn5T.js} +4 -4
- package/core/built/admin/assets/posts/{loading-indicator-DAOD6O2b.js → loading-indicator-C6FD4nS6.js} +3 -3
- package/core/built/admin/assets/posts/{mail-CtH0gTpq.js → mail-BMyoNUVM.js} +2 -2
- package/core/built/admin/assets/posts/{main-layout-VqvCxOXQ.js → main-layout-ClnxdW1Y.js} +2 -2
- package/core/built/admin/assets/posts/{message-circle-D4bCjxKS.js → message-circle-DwfHX-p1.js} +2 -2
- package/core/built/admin/assets/posts/{newsletter-BfwFyv6d.js → newsletter-Bid5_Bim.js} +19 -19
- package/core/built/admin/assets/posts/{overview-DKGum6ro.js → overview-BXti6Wg_.js} +18 -18
- package/core/built/admin/assets/posts/{pencil-Cffx-vm3.js → pencil-ChTk8IpW.js} +2 -2
- package/core/built/admin/assets/posts/{plus-D2ekwsq0.js → plus-DIKls8C6.js} +2 -2
- package/core/built/admin/assets/posts/{popover-DdbdKflP.js → popover-DVZsAT5u.js} +4 -4
- package/core/built/admin/assets/posts/{post-analytics-BleJYoNZ.js → post-analytics-DBL_kS0g.js} +6 -6
- package/core/built/admin/assets/posts/{post-analytics-context-DT3Avn9Q.js → post-analytics-context-Dr5y5nxd.js} +6 -6
- package/core/built/admin/assets/posts/{post-analytics-header-BktlrM_v.js → post-analytics-header-LH2-Jzgp.js} +13 -13
- package/core/built/admin/assets/posts/{post-share-modal-G8v3ZuSg.js → post-share-modal-D4DrfNfJ.js} +6 -6
- package/core/built/admin/assets/posts/{posts-CdWV_nlm.js → posts-ByxhcCrn.js} +2 -2
- package/core/built/admin/assets/posts/posts.js +1 -1
- package/core/built/admin/assets/posts/{search-CXP00fG8.js → search-DZR23LP-.js} +2 -2
- package/core/built/admin/assets/posts/{settings-DEXxDYc2.js → settings-CWyOKKnK.js} +2 -2
- package/core/built/admin/assets/posts/{sheet-CXHmD_eT.js → sheet-CNe7II5c.js} +3 -3
- package/core/built/admin/assets/posts/{site-C6DajagV.js → site-H9RAiQVv.js} +2 -2
- package/core/built/admin/assets/posts/{skeleton-Bihnkn8q.js → skeleton-Cn6x1x_C.js} +3 -3
- package/core/built/admin/assets/posts/{source-icon-C3oQy3UI.js → source-icon-BZOYujd1.js} +4 -4
- package/core/built/admin/assets/posts/{stats-DFicPtCX.js → stats-ugHCg8Oe.js} +4 -4
- package/core/built/admin/assets/posts/{table-DSJmeU5t.js → table-dG3Q5X95.js} +2 -2
- package/core/built/admin/assets/posts/{tabs-oRdVpN8P.js → tabs--EW8uL5B.js} +4 -4
- package/core/built/admin/assets/posts/{tags-6v5Qt_05.js → tags-DVdOfiSf.js} +2 -2
- package/core/built/admin/assets/posts/{tags-Upnkm0CF.js → tags-i0HJqNYU.js} +16 -16
- package/core/built/admin/assets/posts/{tooltip-Ci7pesWi.js → tooltip-ZvsT1Fs9.js} +4 -4
- package/core/built/admin/assets/posts/{trash-2-NCYWjRlg.js → trash-2-BT9fEHUL.js} +2 -2
- package/core/built/admin/assets/posts/{value-CcwzOh2_.js → value-DoFcsWDk.js} +2 -2
- package/core/built/admin/assets/posts/{virtual-list-window-CNahQBXY.js → virtual-list-window-Bt47XODn.js} +3 -3
- package/core/built/admin/assets/posts/{web-C3KrPq0T.js → web-BMTRLT-h.js} +20 -20
- package/core/built/admin/assets/posts/{zap-k30mZEuO.js → zap-DcIfEzKX.js} +2 -2
- package/core/built/admin/assets/{posts-DAfLuxAA.js → posts-DODOCB1E.js} +1 -1
- package/core/built/admin/assets/{power-Drkzg1xX.js → power-BZ7BM82m.js} +1 -1
- package/core/built/admin/assets/{referrers-TYxTJ2On.js → referrers-xwNb6L-8.js} +1 -1
- package/core/built/admin/assets/{repeat-CTM1qAzl.js → repeat-DHMCQMCA.js} +1 -1
- package/core/built/admin/assets/{reply-DXN16g7W.js → reply-DoLURZi2.js} +1 -1
- package/core/built/admin/assets/{rocket-DLixlWs0.js → rocket-BDH89dZr.js} +1 -1
- package/core/built/admin/assets/{select-DbiLEqYb.js → select-oE39QRll.js} +1 -1
- package/core/built/admin/assets/{send-B71C_46D.js → send-QgRN_yRy.js} +1 -1
- package/core/built/admin/assets/{settings-BBMPA3MP.js → settings-CF4NLxuS.js} +4 -4
- package/core/built/admin/assets/{settings-lSFHFrsJ.js → settings-D7e6KLAi.js} +1 -1
- package/core/built/admin/assets/{share-modal-CXrYja6o.js → share-modal-BxIh7i7o.js} +1 -1
- package/core/built/admin/assets/{sort-button-WYo-9Kge.js → sort-button-CEe_40Pi.js} +1 -1
- package/core/built/admin/assets/{source-icon-D6BzjYPP.js → source-icon-CzTNLO6j.js} +1 -1
- package/core/built/admin/assets/{sprout-DVfG_qhy.js → sprout-B2fN41p-.js} +1 -1
- package/core/built/admin/assets/{square-BbUJwQJi.js → square-CJZsjE-3.js} +1 -1
- package/core/built/admin/assets/{stats-CnXALQ4j.js → stats-jTxCK1CB.js} +1 -1
- package/core/built/admin/assets/{stats-view-B-yeMUkl.js → stats-view-B4jz69N8.js} +1 -1
- package/core/built/admin/assets/{step-1-DUl_hlpV.js → step-1-BovjhDNc.js} +1 -1
- package/core/built/admin/assets/{step-2-DjX_A4Ke.js → step-2-ClG40BfX.js} +1 -1
- package/core/built/admin/assets/{step-3-CnDCCA8T.js → step-3-ZMSyEHZI.js} +1 -1
- package/core/built/admin/assets/{table-AagTvMa9.js → table-B8Pj96or.js} +1 -1
- package/core/built/admin/assets/{tabs-IDJWnQD-.js → tabs-BZosOk0o.js} +1 -1
- package/core/built/admin/assets/{tags-CXAcIDw-.js → tags-BpWoYBfB.js} +1 -1
- package/core/built/admin/assets/{tags-C3lykbgu.js → tags-DZukMyuU.js} +1 -1
- package/core/built/admin/assets/{textarea-Cc3nUXep.js → textarea-BtnzsOk7.js} +1 -1
- package/core/built/admin/assets/{thumbs-down-SsjC2lMD.js → thumbs-down-CZTzyz7D.js} +1 -1
- package/core/built/admin/assets/{tiers-J8AeZmRd.js → tiers-Do7zBqAk.js} +1 -1
- package/core/built/admin/assets/{toggle-group-BzD8yimX.js → toggle-group-abk9FYXi.js} +1 -1
- package/core/built/admin/assets/{topic-filter-CA_L6ehz.js → topic-filter-CdMvjkmc.js} +1 -1
- package/core/built/admin/assets/{trash-BKhRqxsX.js → trash-DNXRsBf0.js} +1 -1
- package/core/built/admin/assets/{underline-_HIgX6e1.js → underline-HXWuVCAi.js} +1 -1
- package/core/built/admin/assets/{undo-2-ClkkOS0O.js → undo-2-C2ntNJKC.js} +1 -1
- package/core/built/admin/assets/{upload-DEPHbyvo.js → upload-D52l7HIb.js} +1 -1
- package/core/built/admin/assets/{use-growth-stats-BM2qWt0C.js → use-growth-stats-Dgs0UxDT.js} +1 -1
- package/core/built/admin/assets/{use-simple-pagination-zyklfekn.js → use-simple-pagination-Cj2rVggA.js} +1 -1
- package/core/built/admin/assets/{user-round-check-DoaGU2hC.js → user-round-check-C0GdT99c.js} +1 -1
- package/core/built/admin/assets/{user-round-x-CwEKNuU6.js → user-round-x-CVCvxuUG.js} +1 -1
- package/core/built/admin/assets/{virtual-list-window-C0Cv0gUC.js → virtual-list-window-mdQS2bt_.js} +1 -1
- package/core/built/admin/assets/{wallet-cards-BjdG5glh.js → wallet-cards-CtLF01jQ.js} +1 -1
- package/core/built/admin/assets/{web-BZNnanCT.js → web-DTib8_n8.js} +1 -1
- package/core/built/admin/index.html +6 -6
- package/core/frontend/helpers/ghost_foot.js +12 -2
- package/core/frontend/helpers/prev_post.js +1 -1
- package/core/frontend/helpers/tpl/gift-toast.hbs +130 -0
- package/core/frontend/services/proxy.js +9 -0
- package/core/frontend/services/routing/controllers/entry/canonical-url.js +15 -0
- package/core/frontend/services/routing/controllers/entry/canonical-url.ts +14 -0
- package/core/frontend/services/routing/controllers/entry/gift-links.js +82 -0
- package/core/frontend/services/routing/controllers/entry/gift-links.ts +92 -0
- package/core/frontend/services/routing/controllers/entry/markdown.js +62 -0
- package/core/frontend/services/routing/controllers/entry/markdown.ts +66 -0
- package/core/frontend/services/routing/controllers/entry.js +96 -105
- package/core/frontend/services/routing/controllers/entry.ts +97 -0
- package/core/frontend/services/routing/controllers/index.js +1 -1
- package/core/frontend/web/middleware/frontend-caching.js +9 -0
- package/core/server/adapters/cache/Redis.js +0 -1
- package/core/server/adapters/redirects/RedirectsStoreBase.d.ts +0 -4
- package/core/server/adapters/scheduling/scheduling-default.js +8 -1
- package/core/server/api/endpoints/gift-links.js +23 -16
- package/core/server/api/endpoints/gift-links.ts +25 -17
- package/core/server/api/endpoints/index.js +0 -1
- package/core/server/api/endpoints/previews.js +3 -24
- package/core/server/api/endpoints/utils/serializers/output/gift-links.js +4 -4
- package/core/server/api/endpoints/utils/serializers/output/gift-links.ts +4 -4
- package/core/server/api/endpoints/utils/serializers/output/index.js +0 -1
- package/core/server/api/endpoints/utils/validators/input/automation_email_previews.js +8 -9
- package/core/server/api/endpoints/utils/validators/input/index.js +0 -1
- package/core/server/data/migrations/versions/6.48/2026-06-23-00-00-00-drop-gift-links-revoked-at.js +6 -0
- package/core/server/data/migrations/versions/6.48/2026-06-23-00-00-01-rename-gift-links-revoke-all-permission-to-remove-all.js +37 -0
- package/core/server/data/migrations/versions/6.48/2026-06-24-00-00-00-drop-gift-links-redemption-columns.js +10 -0
- package/core/server/data/schema/fixtures/fixtures.json +2 -2
- package/core/server/data/schema/schema.js +1 -4
- package/core/server/data/seeders/data-generator.js +4 -1
- package/core/server/data/seeders/importers/members-login-events-importer.js +0 -1
- package/core/server/data/seeders/importers/members-newsletters-importer.js +0 -1
- package/core/server/data/seeders/importers/members-paid-subscription-events-importer.js +0 -1
- package/core/server/data/seeders/importers/members-status-events-importer.js +0 -1
- package/core/server/data/seeders/importers/members-stripe-customers-importer.js +0 -1
- package/core/server/data/seeders/importers/members-stripe-customers-subscriptions-importer.js +0 -1
- package/core/server/data/seeders/importers/members-subscribe-events-importer.js +0 -1
- package/core/server/data/seeders/importers/members-subscription-created-events-importer.js +0 -1
- package/core/server/lib/lexical.js +62 -36
- package/core/server/lib/post-revisions.js +0 -2
- package/core/server/lib/post-revisions.ts +0 -3
- package/core/server/models/index.js +0 -3
- package/core/server/services/auth/reset-authentication.js +0 -2
- package/core/server/services/auth/reset-authentication.ts +0 -3
- package/core/server/services/auth/session/index.js +0 -1
- package/core/server/services/automations/automations-api.js +59 -17
- package/core/server/services/automations/automations-api.ts +69 -16
- package/core/server/services/automations/database-automations-repository.js +58 -3
- package/core/server/services/automations/database-automations-repository.ts +70 -3
- package/core/server/services/automations/stale-lock-cutoff.js +7 -0
- package/core/server/services/automations/stale-lock-cutoff.ts +5 -0
- package/core/server/services/email-address/email-address-parser.js.d.ts +0 -1
- package/core/server/services/email-service/batch-sending-service.js +99 -26
- package/core/server/services/email-service/email-service-wrapper.js +7 -2
- package/core/server/services/email-service/email-service.js +146 -4
- package/core/server/services/gift-links/database.js +0 -3
- package/core/server/services/gift-links/database.ts +1 -4
- package/core/server/services/gift-links/index.js +2 -2
- package/core/server/services/gift-links/index.ts +4 -2
- package/core/server/services/gift-links/models.js +0 -2
- package/core/server/services/gift-links/models.ts +0 -2
- package/core/server/services/gift-links/queries.js +2 -2
- package/core/server/services/gift-links/queries.ts +2 -2
- package/core/server/services/gift-links/serializers.js +0 -2
- package/core/server/services/gift-links/serializers.ts +0 -2
- package/core/server/services/gift-links/service.js +54 -35
- package/core/server/services/gift-links/service.ts +70 -35
- package/core/server/services/gifts/gift-reminder-scheduler.js +0 -2
- package/core/server/services/gifts/gift-reminder-scheduler.ts +0 -2
- package/core/server/services/indexnow.js +8 -1
- package/core/server/services/internal-keys/index.js +0 -1
- package/core/server/services/internal-keys/index.ts +0 -2
- package/core/server/services/lib/dynamic-redirect-manager.d.ts +0 -1
- package/core/server/services/lib/in-memory-repository.js +0 -1
- package/core/server/services/lib/in-memory-repository.ts +0 -2
- package/core/server/services/members/api.js +0 -3
- package/core/server/services/members/create-paid-member-shim.js +31 -0
- package/core/server/services/members/create-paid-member-shim.ts +31 -0
- package/core/server/services/members/emails/signin.js +0 -1
- package/core/server/services/members/members-api/members-api.js +0 -2
- package/core/server/services/members/members-api/repositories/member-repository.js +0 -3
- package/core/server/services/members/service.js +4 -0
- package/core/server/services/post-scheduling/index.js +0 -2
- package/core/server/services/post-scheduling/index.ts +0 -2
- package/core/server/services/post-scheduling/post-scheduling.js +0 -5
- package/core/server/services/post-scheduling/post-scheduling.ts +0 -5
- package/core/server/services/recommendations/service/bookshelf-repository.js +0 -1
- package/core/server/services/recommendations/service/bookshelf-repository.ts +0 -4
- package/core/server/services/recommendations/service/incoming-recommendation-service.js +0 -1
- package/core/server/services/recommendations/service/incoming-recommendation-service.ts +0 -1
- package/core/server/services/recommendations/service/recommendation-controller.js +0 -1
- package/core/server/services/recommendations/service/recommendation-controller.ts +0 -1
- package/core/server/services/recommendations/service/recommendation-metadata-service.js +0 -1
- package/core/server/services/recommendations/service/recommendation-metadata-service.ts +0 -1
- package/core/server/services/recommendations/service/recommendation.js +0 -1
- package/core/server/services/recommendations/service/recommendation.ts +0 -1
- package/core/server/services/remote-flags/index.js +0 -1
- package/core/server/services/remote-flags/index.ts +0 -1
- package/core/server/services/slack.js +5 -1
- package/core/server/services/update-check/index.js +0 -1
- package/core/server/services/url/lazy-find-resource.js +0 -1
- package/core/server/services/url/lazy-find-resource.ts +0 -2
- package/core/server/services/url/lazy-url-service.js +0 -1
- package/core/server/services/url/lazy-url-service.ts +0 -2
- package/core/server/services/url/permalink-matcher.js +0 -1
- package/core/server/services/url/permalink-matcher.ts +0 -2
- package/core/server/services/url/router-filter.js +0 -2
- package/core/server/services/url/router-filter.ts +0 -2
- package/core/server/services/url/url-service-facade.js +0 -1
- package/core/server/services/url/url-service-facade.ts +0 -2
- package/core/server/services/verification/verification-webhook-service.js +0 -1
- package/core/server/services/verification/verification-webhook-service.ts +0 -1
- package/core/server/web/api/endpoints/admin/routes.js +7 -7
- package/core/shared/events-ts/post-deleted-event.js +0 -2
- package/core/shared/events-ts/post-deleted-event.ts +0 -2
- package/core/shared/labs.js +0 -1
- package/package.json +8 -16
- package/pnpm-lock.yaml +162 -113
- package/core/built/admin/assets/automations-BthXBzzq.js +0 -1
- package/core/built/admin/assets/editor-91xrI2A3.js +0 -8
- package/core/built/admin/assets/index-BYb09f-7.css +0 -1
- package/core/built/admin/assets/minus-DmrVsJ-z.js +0 -1
- package/core/built/admin/assets/modals-dnqxCS3l.js +0 -35
- package/core/server/models/outbox.js +0 -24
- package/core/server/services/outbox/events/start-outbox-processing-event.js +0 -22
- package/core/server/services/outbox/handlers/member-created.js +0 -85
- package/core/server/services/outbox/index.js +0 -49
- package/core/server/services/outbox/jobs/index.js +0 -30
- package/core/server/services/outbox/jobs/lib/constants.js +0 -17
- package/core/server/services/outbox/jobs/lib/process-entries.js +0 -117
- package/core/server/services/outbox/jobs/lib/process-outbox.js +0 -96
- package/core/server/services/outbox/jobs/outbox-job.js +0 -36
- package/types/ghost-storage-base.d.ts +0 -22
|
@@ -1 +1 @@
|
|
|
1
|
-
import{eH as P,eI as T,eG as _,fM as E,ed as i,eF as H,fL as W,fs as R,d$ as e,aR as V,az as $,b5 as k,b6 as j,C as p,bn as z,e as v,a as G,bW as n,J as c,dy as J,es as d}from"./index-
|
|
1
|
+
import{eH as P,eI as T,eG as _,fM as E,ed as i,eF as H,fL as W,fs as R,d$ as e,aR as V,az as $,b5 as k,b6 as j,C as p,bn as z,e as v,a as G,bW as n,J as c,dy as J,es as d}from"./index-C-075SzJ.js";import{T as q,b as K,c as w,a as f}from"./tabs-BZosOk0o.js";const X=()=>{const{data:N,isLoading:t}=P("index"),{data:g,isLoading:o}=T("index"),u=t?Array(5).fill({apId:"",name:"",handle:"",avatarUrl:""}):N?.pages.flatMap(s=>s.accounts)??[],x=o?Array(5).fill({apId:"",name:""}):g?.pages.flatMap(s=>s.domains)??[],I=_("index"),U=E("index"),[M,m]=i.useState(new Set),D=H("index"),y=W("index"),[B,h]=i.useState(new Set),[b,r]=i.useState(null),S=R(),L=s=>{m(l=>{const a=new Set([...l]);return a.add(s.apId),a}),U.mutate(s),d.success("User unblocked")},A=s=>{m(l=>{const a=new Set([...l]);return a.delete(s.apId),a}),I.mutate(s),d.success("User blocked")},C=s=>{h(l=>{const a=new Set([...l]);return a.add(s.url),a}),y.mutate({url:s.url}),d.success("Domain unblocked")},F=s=>{h(l=>{const a=new Set([...l]);return a.delete(s.url),a}),D.mutate({url:s.url}),d.success("Domain blocked")};return e.jsx(V,{children:e.jsxs("div",{className:"mx-auto max-w-[620px] py-[min(4vh,48px)]",children:[e.jsx("div",{className:"flex items-center justify-between gap-8",children:e.jsx($,{children:"Moderation"})}),e.jsx("div",{className:"mt-6",children:e.jsxs(q,{defaultValue:"blocked_users",variant:"underline",children:[e.jsxs(K,{children:[e.jsx(w,{value:"blocked_users",children:"Blocked users"}),e.jsx(w,{value:"blocked_domains",children:"Blocked domains"})]}),e.jsx(f,{className:"mt-2",value:"blocked_users",children:!t&&u.length===0?e.jsxs(k,{children:[e.jsx(j,{children:e.jsx(p,{})}),e.jsx("div",{className:"mt-2 flex max-w-[400px] flex-col items-center gap-1 text-center",children:e.jsx("p",{children:"When you block someone, they won't be able to follow you or interact with your content on the social web."})})]}):u.map((s,l)=>e.jsx(z,{actor:s,isCurrentUser:!0,children:e.jsx("div",{children:e.jsxs(v,{onClick:t?void 0:()=>J(s.handle,S),children:[e.jsx(G,{author:{icon:{url:s.avatarUrl},name:s.name,handle:s.handle}}),e.jsxs("div",{className:"flex min-w-0 flex-col",children:[e.jsx("span",{className:"block truncate font-semibold text-black dark:text-white",children:t?e.jsx(n,{className:"w-24"}):s.name}),e.jsx("span",{className:"block truncate text-sm text-gray-600",children:t?e.jsx(n,{className:"w-40"}):s.handle})]}),M.has(s.apId)?e.jsx(c,{className:"ml-auto min-w-[90px] text-red hover:bg-red/5! hover:text-red-400",variant:"outline",onClick:a=>{a.stopPropagation(),A(s)},children:"Block"}):t?e.jsx("div",{className:"ml-auto w-16",children:e.jsx(n,{})}):e.jsx(c,{className:"ml-auto min-w-[90px]",variant:"destructive",onClick:a=>{a.stopPropagation(),L(s)},onMouseEnter:()=>r(s.apId),onMouseLeave:()=>r(null),children:b===s.apId?"Unblock":"Blocked"})]})})},s.apId?s.apId:`loading-${l}`))}),e.jsx(f,{className:"mt-[11px]",value:"blocked_domains",children:!o&&x.length===0?e.jsxs(k,{children:[e.jsx(j,{children:e.jsx(p,{})}),e.jsx("div",{className:"mt-2 flex max-w-[400px] flex-col items-center gap-1 text-center",children:e.jsx("p",{children:"When you block a domain, all users from that domain won't be able to follow you or interact with your content."})})]}):x.map((s,l)=>e.jsxs(v,{children:[e.jsx("div",{className:"flex min-w-0 flex-col",children:e.jsx("span",{className:"block truncate font-semibold text-black dark:text-white",children:o?e.jsx(n,{className:"w-48"}):new URL(s.url).hostname})}),B.has(s.url)?e.jsx(c,{className:"ml-auto min-w-[90px] text-red hover:bg-red/5! hover:text-red-400",variant:"outline",onClick:()=>F(s),children:"Block"}):o?e.jsx("div",{className:"ml-auto w-16",children:e.jsx(n,{})}):e.jsx(c,{className:"ml-auto min-w-[90px]",variant:"destructive",onClick:()=>C(s),onMouseEnter:()=>r(s.url),onMouseLeave:()=>r(null),children:b===s.url?"Unblock":"Blocked"})]},s.url?s.url:`loading-${l}`))})]})})]})})};export{X as default};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{cW as Re,ed as i,fx as Te,fq as ne,d$ as e,dd as N,aC as re,bM as H,bX as le,w as Fe,x as Se,dp as Me,eq as ze,db as ee,df as Ee,J as K,eD as $e,E as Ae,dc as $,aL as De,O as Ie}from"./index-pkixJbdq.js";import{C as Y,d as J,e as Q,b as X,a as F,c as ce,T as Ve,i as Be}from"./pagemenu-BofQcFaF.js";import{u as oe,S as de,a as me,d as pe,b as ue}from"./use-simple-pagination-zyklfekn.js";import{T as Ue,b as Oe,c as se}from"./tabs-IDJWnQD-.js";import{a as We,T as qe}from"./thumbs-down-SsjC2lMD.js";import{K as V,c as B,b as U,a as O,d as W}from"./kpi-card-BlF7JKRC.js";import{a as Ge,P as He}from"./post-analytics-header-DlICE18K.js";import{D as Ke,b as Ye,i as Je,a as Qe,e as Xe,f as Ze,g as es,h as ss}from"./data-list-CO1cZQRU.js";import{u as ts,a as as,p as is,g as q,N as G}from"./links-D9dHwDlP.js";import{u as ns}from"./post-analytics-context-10cqioP1.js";import{b as rs}from"./member-route-ZLy3opLv.js";import{h as ls}from"./post-helpers-BLitiasQ.js";import{b as cs,c as os}from"./stats-CnXALQ4j.js";import{g as te}from"./posts-DAfLuxAA.js";import{b as ds}from"./chart-BGwxlD0z.js";import"./arrow-right-BxP3aeA5.js";import"./post-share-modal-Cfwy2UwD.js";import"./share-modal-CXrYja6o.js";import"./copy-DoNNUZlb.js";import"./get-site-timezone-BDBAcjmq.js";import"./trash-BKhRqxsX.js";import"./PolarAngleAxis-CLluELUg.js";import"./_baseAssignValue-Dz1iqdwD.js";import"./index-CNV7fxKZ.js";import"./value-BTdN53H7.js";const ms="FeedbackResponseType",ps=Re({dataType:ms,path:t=>`/feedback/${t}/`}),us=(t,s)=>{const{data:c,isLoading:o,error:p}=ps(t,{searchParams:{limit:"50",...s!==void 0?{score:s.toString()}:{}}});return{feedback:i.useMemo(()=>c?.feedback?c.feedback:[],[c]),isLoading:o,error:p}},xs=({feedbackStats:t})=>{const{postId:s}=Te(),c=ne(),[o,p]=i.useState("positive"),n=9,f=o==="positive"?1:0,{feedback:S,isLoading:_}=us(s||"",f),{totalPages:k,paginatedData:a,nextPage:v,previousPage:R,hasNextPage:y,hasPreviousPage:u}=oe({data:S,itemsPerPage:n}),g=_;return e.jsxs(Y,{children:[e.jsxs(J,{className:"pb-5",children:[e.jsx(Q,{children:"Feedback"}),e.jsx(X,{children:"What did your readers think?"})]}),t.totalFeedback>0?e.jsxs(F,{className:"pb-3",children:[e.jsxs("div",{className:"flex items-center justify-between gap-3",children:[e.jsx(Ue,{className:"pb-3",defaultValue:"positive",value:o,variant:"button",onValueChange:r=>p(r),children:e.jsxs(Oe,{className:"gap-1",children:[e.jsx(se,{className:"h-7",value:"positive",children:e.jsxs("div",{className:"flex items-center gap-1 text-xs",children:[e.jsx(We,{size:14,strokeWidth:1.25}),e.jsx("span",{className:"hidden font-medium sm:visible! sm:inline!",children:"More like this"}),e.jsx("span",{className:"font-semibold tracking-tight",children:N(t.positiveFeedback/t.totalFeedback)})]})}),e.jsx(se,{className:"h-7",value:"negative",children:e.jsxs("div",{className:"flex items-center gap-1 text-xs",children:[e.jsx(qe,{size:14,strokeWidth:1.25}),e.jsx("span",{className:"hidden font-medium sm:visible! sm:inline!",children:"Less like this"}),e.jsx("span",{className:"font-semibold tracking-tight",children:N(t.negativeFeedback/t.totalFeedback)})]})})]})}),e.jsx(re,{className:"mr-2 mb-3 lg:hidden xl:visible! xl:block!",children:"Date"})]}),e.jsx(H,{}),g?e.jsx(le,{className:"mt-3",lines:3}):a&&a.length>0?e.jsx("div",{className:"flex w-full flex-col py-3",children:a.map(r=>e.jsxs("div",{className:"flex h-10 w-full items-center justify-between gap-3 rounded-sm border-none px-2 text-sm hover:cursor-pointer hover:bg-accent",onClick:()=>{c(`/members/${r.member.id}`,{crossApp:!0})},children:[e.jsxs("div",{className:"flex items-center gap-2 font-medium",children:[e.jsxs(Fe,{className:"size-7",children:[r.member?.avatar_image&&e.jsx("img",{className:"absolute aspect-square size-full",src:r.member?.avatar_image}),e.jsx(Se,{className:"text-white",style:{backgroundColor:`${ze(ee(r.member),"75","55")}`},children:Me(r.member)})]}),ee(r.member)]}),e.jsx("div",{className:"whitespace-nowrap text-muted-foreground",children:Ee(r.created_at)})]},r.id))}):e.jsx("div",{className:"flex h-full items-center justify-center py-8 text-center text-sm text-muted-foreground",children:e.jsxs("div",{children:["No ",o==="positive"?"positive":"negative"," feedback yet"]})})]}):e.jsxs(F,{className:"flex grow flex-col items-center justify-center text-center text-sm text-muted-foreground",children:[e.jsx("div",{children:"No members have given feedback yet"}),e.jsx("div",{children:"When someone does, you'll see their response here."})]}),t.totalFeedback>0&&e.jsx(ce,{className:"grow-0",children:e.jsxs("div",{className:"flex w-full items-center justify-between gap-3",children:[e.jsxs(K,{variant:"outline",onClick:()=>{const r=`(feedback.post_id:'${s}'+feedback.score:1)`,T=`(feedback.post_id:'${s}'+feedback.score:0)`,d=`${encodeURIComponent(r)}&post=${s}`,L=`${encodeURIComponent(T)}&post=${s}`;c(`/members?filter=${o==="positive"?d:L}`,{crossApp:!0})},children:["View all",e.jsx(Ve,{})]}),k>1&&e.jsx(de,{className:"pb-0",children:e.jsxs(me,{children:[e.jsx(pe,{disabled:!u,onClick:R}),e.jsx(ue,{disabled:!y,onClick:v})]})})]})})]})},gs=()=>{const{mutateAsync:t,isLoading:s}=ts();return{editLinks:t,isEditLinksLoading:s}},hs=t=>{const{data:s,isLoading:c}=te(t),{data:o,isLoading:p}=te(t,{searchParams:{include:"count.positive_feedback,count.negative_feedback"}}),n=i.useMemo(()=>s?.posts[0],[s]),f=i.useMemo(()=>o?.posts[0],[o]),S=i.useMemo(()=>n?{sent:n.email?.email_count||0,opened:n.email?.opened_count||0,clicked:n.count?.clicks||0,openedRate:n.email?.opened_count?n.email.opened_count/n.email.email_count:0,clickedRate:n.count?.clicks&&n.email?.email_count?n.count.clicks/n.email.email_count:0}:{sent:0,opened:0,clicked:0,openedRate:0,clickedRate:0},[n]),_=i.useMemo(()=>{if(!f?.count)return{positiveFeedback:0,negativeFeedback:0,totalFeedback:0};const x=f.count.positive_feedback||0,j=f.count.negative_feedback||0,w=x+j;return{positiveFeedback:x,negativeFeedback:j,totalFeedback:w}},[f]),k=i.useMemo(()=>n?.newsletter?.id,[n]),{data:a,isLoading:v}=cs({searchParams:k?{newsletter_id:k}:{},enabled:!!k}),R=i.useMemo(()=>a?.stats?a.stats.map(x=>x.post_id):[],[a]),{data:y,isLoading:u}=os({searchParams:k&&R.length>0?{newsletter_id:k,post_ids:R.join(",")}:{},enabled:!!k&&R.length>0}),g=i.useMemo(()=>{if(!a?.stats)return;const x=a.stats,j=y?.stats||[],w=new Map;j.forEach(b=>{w.set(b.post_id,b)});const C=x.map(b=>{const E=w.get(b.post_id);return{...b,total_clicks:E?.total_clicks||0,click_rate:E?.click_rate||0}});return{...a,stats:C}},[a,y]),r=v||u,{data:T,isLoading:d,refetch:L}=as({searchParams:{filter:`post_id:'${t}'`}}),h=i.useMemo(()=>{if(!g||!g.stats)return{openRate:0,clickRate:0};const x=g.stats;if(x.length===0)return{openRate:0,clickRate:0};const j=x.reduce((C,b)=>C+(b.open_rate||0),0),w=x.reduce((C,b)=>C+(b.click_rate||0),0);return{openRate:Number((j/x.length).toFixed(2)),clickRate:Number((w/x.length).toFixed(2))}},[g]),A=i.useMemo(()=>is(T),[T]),D=i.useMemo(()=>({openedRate:h.openRate,clickedRate:h.clickRate}),[h]);return{post:n,stats:S,feedbackStats:_,averageStats:D,topLinks:A,refetchTopLinks:L,isLoading:c||p||r||d}},bs=({breakpoints:t={sm:1080,md:1280,lg:1360}}={})=>{const[s,c]=i.useState("md");return i.useEffect(()=>{const o=()=>{const p=window.innerWidth;p<t.sm?c("sm"):p<t.md?c("md"):c("lg")};return o(),window.addEventListener("resize",o),()=>window.removeEventListener("resize",o)},[t]),{chartSize:s,isSmall:s==="sm",isMedium:s==="md",isLarge:s==="lg"}},ae=()=>e.jsx("div",{className:"absolute top-1/2 -right-4 z-10 hidden size-8 -translate-y-1/2 items-center justify-center rounded-full border bg-background text-muted-foreground md:visible! md:flex!",children:e.jsx(Ie,{className:"ml-0.5",size:16,strokeWidth:1.5})}),ie=({dataColor:t,value:s,avgValue:c})=>e.jsxs("div",{className:"absolute top-6 left-1/2 z-50 flex w-[200px] -translate-x-1/2 flex-col items-stretch gap-1.5 rounded-md bg-background px-4 py-2 text-sm opacity-0 shadow-md transition-all group-hover/block:top-3 group-hover/block:opacity-100",children:[e.jsxs("div",{className:"flex items-center justify-between gap-4",children:[e.jsxs("div",{className:"flex items-center gap-2 text-muted-foreground",children:[e.jsx("div",{className:"size-2 rounded-full bg-chart-blue opacity-50",style:{backgroundColor:t}}),"This newsletter"]}),e.jsx("div",{className:"text-right font-mono",children:s})]}),e.jsxs("div",{className:"flex items-center justify-between gap-4",children:[e.jsxs("div",{className:"flex items-center gap-2 text-muted-foreground",children:[e.jsx("div",{className:"size-2 rounded-full bg-chart-gray opacity-80"}),"Average"]}),e.jsx("div",{className:"text-right font-mono",children:c})]})]}),Os=()=>{const t=ne(),[s,c]=i.useState(null),[o,p]=i.useState(""),n=i.useRef(null),f=i.useRef(null),S=10,{chartSize:_}=bs(),{appSettings:k}=$e(),{emailTrackClicks:a,emailTrackOpens:v}=k?.analytics||{},{post:R,isPostLoading:y,postId:u}=ns(),g=l=>t(rs({filter:l}),{crossApp:!0}),r=R,T=ls(r);i.useEffect(()=>{!y&&!T&&t(`/posts/analytics/${u}`)},[t,u,y,T]);const{stats:d,averageStats:L,topLinks:h,isLoading:A,refetchTopLinks:D}=hs(u),{editLinks:x}=gs(),j=i.useMemo(()=>{if(!r?.count)return{positiveFeedback:0,negativeFeedback:0,totalFeedback:0};const l=r.count.positive_feedback||0,m=r.count.negative_feedback||0,P=l+m;return{positiveFeedback:l,negativeFeedback:m,totalFeedback:P}},[r]),w=i.useMemo(()=>r?.newsletter?.feedback_enabled===!0,[r]),C=i.useMemo(()=>j.totalFeedback>0?!0:w,[j.totalFeedback,w]),b=l=>{const m=q(h,l);m&&(c(l),p(m.link.to))},E=()=>{if(!s)return;const l=q(h,s);if(!l)return;const m=o.trim();if(m===""||m===l.link.to){c(null),p("");return}x({originalUrl:l.link.originalTo,editedUrl:o,postId:u},{onSuccess:()=>{c(null),p(""),D()}})},{totalPages:xe,paginatedData:ge,nextPage:he,previousPage:be,hasNextPage:fe,hasPreviousPage:ke}=oe({data:h,itemsPerPage:S});i.useEffect(()=>{if(s&&n.current){n.current.focus();const l=q(h,s),m=P=>{f.current&&!f.current.contains(P.target)&&o===l?.link.to&&(c(null),p(""))};return document.addEventListener("mousedown",m),()=>{document.removeEventListener("mousedown",m)}}},[s,o,h]);const I=A||y,ve=[{datatype:"Sent",value:1,fill:"url(#gradientPurple)",color:"var(--chart-purple)"}],je={percentage:{label:"O"},Average:{label:"Average"},"This newsletter":{label:"This newsletter"}},Ne=[{datatype:"Average",value:L.openedRate,fill:"url(#gradientGray)",color:"var(--chart-gray)"},{datatype:"This newsletter",value:d.openedRate,fill:"url(#gradientBlue)",color:"var(--chart-blue)"}],we={percentage:{label:"Opened"},Average:{label:"Average"},"This newsletter":{label:"This newsletter"}},Ce=[{datatype:"Average",value:L.clickedRate,fill:"url(#gradientGray)",color:"var(--chart-gray)"},{datatype:"This newsletter",value:d.clickedRate,fill:"url(#gradientTeal)",color:"var(--chart-teal)"}],ye={percentage:{label:"Clicked"},Average:{label:"Average"},"This newsletter":{label:"This newsletter"}};let M="grid-cols-3",z="aspect-[16/10] w-full max-w-[320px] sm:aspect-[2/1] md:aspect-[10/14] md:max-w-none lg:aspect-square";return(!a||!v)&&(M="grid-cols-2",z="aspect-[16/10] w-full max-w-[320px] sm:aspect-[2/1] md:aspect-square md:max-w-none lg:aspect-[15/10]"),!a&&!v&&(M="grid-cols-1",z="aspect-square w-full sm:aspect-[16/10] md:max-w-[320px] md:max-h-[320px] lg:aspect-[12/10]"),e.jsxs(e.Fragment,{children:[e.jsx(Ge,{currentTab:"Newsletter"}),e.jsx(He,{children:e.jsxs("div",{className:`grid grid-cols-1 gap-6 ${C&&a&&"lg:grid-cols-2"}`,children:[e.jsxs(Y,{className:C&&a?"lg:col-span-2":"",children:[e.jsxs(J,{className:"hidden",children:[e.jsx(Q,{children:"Newsletters"}),e.jsx(X,{children:"How did this post perform"})]}),I?e.jsx(F,{className:"h-[25vw] p-6",children:e.jsx(Ae,{})}):e.jsxs(F,{className:"p-0",children:[e.jsxs("div",{className:`grid ${M} items-stretch border-b`,children:[e.jsxs(V,{className:"group relative isolate grow p-3 md:px-6 md:py-5",children:[e.jsx(B,{onClick:()=>{g(`emails.post_id:${u}`)},children:"View members →"}),e.jsxs(U,{onClick:()=>{g(`emails.post_id:${u}`)},children:[e.jsx("div",{className:"ml-0.5 size-[9px] rounded-full bg-chart-purple opacity-50"}),"Sent"]}),e.jsx(O,{children:e.jsx(W,{className:"text-xl leading-none sm:text-2xl md:text-[2.6rem]",children:$(d.sent)})})]}),v&&e.jsxs(V,{className:"p-3 md:px-6 md:py-5",children:[e.jsx(B,{onClick:()=>{g(`opened_emails.post_id:${u}`)},children:"View members →"}),e.jsxs(U,{onClick:()=>{g(`opened_emails.post_id:${u}`)},children:[e.jsx("div",{className:"ml-0.5 size-[9px] rounded-full bg-chart-blue opacity-50"}),"Opened"]}),e.jsx(O,{children:e.jsx(W,{className:"text-xl leading-none sm:text-2xl md:text-[2.6rem]",children:$(d.opened)})})]}),a&&e.jsxs(V,{className:"group relative isolate grow p-3 md:px-6 md:py-5",children:[e.jsx(B,{onClick:()=>{g(`clicked_links.post_id:${u}`)},children:"View members →"}),e.jsxs(U,{onClick:()=>{g(`clicked_links.post_id:${u}`)},children:[e.jsx("div",{className:"ml-0.5 size-[9px] rounded-full bg-chart-teal opacity-50"}),"Clicked"]}),e.jsx(O,{children:e.jsx(W,{className:"text-xl leading-none sm:text-2xl md:text-[2.6rem]",children:$(d.clicked)})})]})]}),e.jsxs("div",{className:`$ mx-auto grid grid-cols-1 items-center justify-center gap-4 transition-all md:gap-0 ${M==="grid-cols-2"&&"md:grid-cols-2"} ${M==="grid-cols-3"&&"md:grid-cols-3"}`,children:[e.jsxs("div",{className:`relative border-r-0 px-6 ${(v||a)&&"md:border-r"}`,children:[e.jsx(G,{className:z,config:je,data:ve,percentageLabel:"Sent",percentageValue:N(1),size:_,tooltip:!1}),(v||a)&&e.jsx(ae,{})]}),v&&e.jsxs("div",{className:`group/block relative border-r-0 px-6 transition-all hover:bg-muted/25 ${a&&"md:border-r"}`,children:[e.jsx(ie,{avgValue:N(L.openedRate),dataColor:"var(--chart-blue)",value:N(d.openedRate)}),e.jsx(G,{className:z,config:we,data:Ne,percentageLabel:"Open rate",percentageValue:N(d.openedRate),size:_,tooltip:!1}),a&&e.jsx(ae,{})]}),a&&e.jsxs("div",{className:"group/block relative px-6 transition-all hover:bg-muted/25",children:[e.jsx(ie,{avgValue:N(L.clickedRate),dataColor:"var(--chart-teal)",value:N(d.clickedRate)}),e.jsx(G,{className:z,config:ye,data:Ce,percentageLabel:"Click rate",percentageValue:N(d.clickedRate),size:_,tooltip:!1})]})]})]})]}),C&&e.jsx(xs,{feedbackStats:j}),a&&e.jsxs(Y,{className:"group/datalist overflow-hidden",children:[e.jsxs("div",{className:"flex items-center justify-between p-6",children:[e.jsxs(J,{className:"p-0",children:[e.jsx(Q,{children:"Newsletter clicks"}),e.jsx(X,{children:"Which links resonated with your readers"})]}),e.jsx(re,{className:"mr-2",children:"Members"})]}),I?e.jsxs(F,{className:"p-6 pt-0",children:[e.jsx(H,{}),e.jsx(le,{className:"mt-6"})]}):e.jsxs(F,{className:"pb-0",children:[e.jsx(H,{}),h.length>0?e.jsx(Ke,{className:"",children:e.jsx(Ye,{children:ge?.map(l=>{const m=d.clicked>0?l.count/d.clicked:0,P=l.link.link_id,Z=l.link.title,Le=l.link.to,Pe=l.link.edited;return e.jsxs(Je,{children:[s!==P&&e.jsx(Qe,{style:{width:`${m?Math.round(m*100):0}%`}}),e.jsx(Xe,{className:"w-full",children:s===P?e.jsxs("div",{ref:f,className:"flex w-full items-center gap-2",children:[e.jsx(De,{ref:n,className:"z-50 h-7 w-full border-border bg-background text-sm",value:o,onChange:_e=>p(_e.target.value)}),e.jsx(K,{size:"sm",onClick:E,children:"Update"})]}):e.jsxs(e.Fragment,{children:[e.jsx(K,{className:"mr-2 shrink-0 bg-background",size:"sm",variant:"outline",onClick:()=>b(P),children:e.jsx(Be,{})}),e.jsx("a",{className:"block truncate font-medium hover:underline",href:Le,rel:"noreferrer",target:"_blank",title:Z,children:Z}),Pe&&e.jsx("span",{className:"ml-1 text-gray-500",children:"(edited)"})]})}),e.jsxs(Ze,{children:[e.jsx(es,{children:$(l.count||0)}),e.jsx(ss,{children:N(m)})]})]},P)})})}):e.jsx("div",{className:"py-20 text-center text-sm text-gray-700",children:"You have no links in your post."})]}),!I&&h.length>1&&e.jsx(ce,{children:e.jsxs("div",{className:"flex w-full items-start justify-between gap-3",children:[e.jsxs("div",{className:"mt-2 flex items-start gap-2 pl-4 text-sm text-green",children:[e.jsx(ds,{size:20,strokeWidth:1.5}),"Sent a broken link? You can update it!"]}),xe>1&&e.jsx(de,{className:"pb-0",children:e.jsxs(me,{children:[e.jsx(pe,{disabled:!ke,onClick:be}),e.jsx(ue,{disabled:!fe,onClick:he})]})})]})})]})]})})]})};export{Os as default};
|
|
1
|
+
import{cW as Re,ed as i,fx as Te,fq as ne,d$ as e,dd as N,aC as re,bM as H,bX as le,w as Fe,x as Se,dp as Me,eq as ze,db as ee,df as Ee,J as K,eD as $e,E as Ae,dc as $,aL as De,O as Ie}from"./index-C-075SzJ.js";import{C as Y,d as J,e as Q,b as X,a as F,c as ce,T as Ve,i as Be}from"./pagemenu-O7HbsehH.js";import{u as oe,S as de,a as me,d as pe,b as ue}from"./use-simple-pagination-Cj2rVggA.js";import{T as Ue,b as Oe,c as se}from"./tabs-BZosOk0o.js";import{a as We,T as qe}from"./thumbs-down-CZTzyz7D.js";import{K as V,c as B,b as U,a as O,d as W}from"./kpi-card-Bmnvvp4X.js";import{a as Ge,P as He}from"./post-analytics-header-CpMOozq-.js";import{D as Ke,b as Ye,i as Je,a as Qe,e as Xe,f as Ze,g as es,h as ss}from"./data-list-CzSc7z-2.js";import{u as ts,a as as,p as is,g as q,N as G}from"./links-Bdw25FJF.js";import{u as ns}from"./post-analytics-context-kPL94Ivz.js";import{b as rs}from"./member-route-ZLy3opLv.js";import{h as ls}from"./post-helpers-BLitiasQ.js";import{b as cs,c as os}from"./stats-jTxCK1CB.js";import{g as te}from"./posts-DODOCB1E.js";import{b as ds}from"./chart-CP2N9ZC-.js";import"./arrow-right-BF77Yx73.js";import"./post-share-modal-F0dobdhF.js";import"./share-modal-BxIh7i7o.js";import"./copy-r1LFsU75.js";import"./get-site-timezone-BDBAcjmq.js";import"./trash-DNXRsBf0.js";import"./PolarAngleAxis-DufzOBEz.js";import"./_baseAssignValue-BjUm4QeA.js";import"./index-BuhMgn5c.js";import"./value-BTdN53H7.js";const ms="FeedbackResponseType",ps=Re({dataType:ms,path:t=>`/feedback/${t}/`}),us=(t,s)=>{const{data:c,isLoading:o,error:p}=ps(t,{searchParams:{limit:"50",...s!==void 0?{score:s.toString()}:{}}});return{feedback:i.useMemo(()=>c?.feedback?c.feedback:[],[c]),isLoading:o,error:p}},xs=({feedbackStats:t})=>{const{postId:s}=Te(),c=ne(),[o,p]=i.useState("positive"),n=9,f=o==="positive"?1:0,{feedback:S,isLoading:_}=us(s||"",f),{totalPages:k,paginatedData:a,nextPage:v,previousPage:R,hasNextPage:y,hasPreviousPage:u}=oe({data:S,itemsPerPage:n}),g=_;return e.jsxs(Y,{children:[e.jsxs(J,{className:"pb-5",children:[e.jsx(Q,{children:"Feedback"}),e.jsx(X,{children:"What did your readers think?"})]}),t.totalFeedback>0?e.jsxs(F,{className:"pb-3",children:[e.jsxs("div",{className:"flex items-center justify-between gap-3",children:[e.jsx(Ue,{className:"pb-3",defaultValue:"positive",value:o,variant:"button",onValueChange:r=>p(r),children:e.jsxs(Oe,{className:"gap-1",children:[e.jsx(se,{className:"h-7",value:"positive",children:e.jsxs("div",{className:"flex items-center gap-1 text-xs",children:[e.jsx(We,{size:14,strokeWidth:1.25}),e.jsx("span",{className:"hidden font-medium sm:visible! sm:inline!",children:"More like this"}),e.jsx("span",{className:"font-semibold tracking-tight",children:N(t.positiveFeedback/t.totalFeedback)})]})}),e.jsx(se,{className:"h-7",value:"negative",children:e.jsxs("div",{className:"flex items-center gap-1 text-xs",children:[e.jsx(qe,{size:14,strokeWidth:1.25}),e.jsx("span",{className:"hidden font-medium sm:visible! sm:inline!",children:"Less like this"}),e.jsx("span",{className:"font-semibold tracking-tight",children:N(t.negativeFeedback/t.totalFeedback)})]})})]})}),e.jsx(re,{className:"mr-2 mb-3 lg:hidden xl:visible! xl:block!",children:"Date"})]}),e.jsx(H,{}),g?e.jsx(le,{className:"mt-3",lines:3}):a&&a.length>0?e.jsx("div",{className:"flex w-full flex-col py-3",children:a.map(r=>e.jsxs("div",{className:"flex h-10 w-full items-center justify-between gap-3 rounded-sm border-none px-2 text-sm hover:cursor-pointer hover:bg-accent",onClick:()=>{c(`/members/${r.member.id}`,{crossApp:!0})},children:[e.jsxs("div",{className:"flex items-center gap-2 font-medium",children:[e.jsxs(Fe,{className:"size-7",children:[r.member?.avatar_image&&e.jsx("img",{className:"absolute aspect-square size-full",src:r.member?.avatar_image}),e.jsx(Se,{className:"text-white",style:{backgroundColor:`${ze(ee(r.member),"75","55")}`},children:Me(r.member)})]}),ee(r.member)]}),e.jsx("div",{className:"whitespace-nowrap text-muted-foreground",children:Ee(r.created_at)})]},r.id))}):e.jsx("div",{className:"flex h-full items-center justify-center py-8 text-center text-sm text-muted-foreground",children:e.jsxs("div",{children:["No ",o==="positive"?"positive":"negative"," feedback yet"]})})]}):e.jsxs(F,{className:"flex grow flex-col items-center justify-center text-center text-sm text-muted-foreground",children:[e.jsx("div",{children:"No members have given feedback yet"}),e.jsx("div",{children:"When someone does, you'll see their response here."})]}),t.totalFeedback>0&&e.jsx(ce,{className:"grow-0",children:e.jsxs("div",{className:"flex w-full items-center justify-between gap-3",children:[e.jsxs(K,{variant:"outline",onClick:()=>{const r=`(feedback.post_id:'${s}'+feedback.score:1)`,T=`(feedback.post_id:'${s}'+feedback.score:0)`,d=`${encodeURIComponent(r)}&post=${s}`,L=`${encodeURIComponent(T)}&post=${s}`;c(`/members?filter=${o==="positive"?d:L}`,{crossApp:!0})},children:["View all",e.jsx(Ve,{})]}),k>1&&e.jsx(de,{className:"pb-0",children:e.jsxs(me,{children:[e.jsx(pe,{disabled:!u,onClick:R}),e.jsx(ue,{disabled:!y,onClick:v})]})})]})})]})},gs=()=>{const{mutateAsync:t,isLoading:s}=ts();return{editLinks:t,isEditLinksLoading:s}},hs=t=>{const{data:s,isLoading:c}=te(t),{data:o,isLoading:p}=te(t,{searchParams:{include:"count.positive_feedback,count.negative_feedback"}}),n=i.useMemo(()=>s?.posts[0],[s]),f=i.useMemo(()=>o?.posts[0],[o]),S=i.useMemo(()=>n?{sent:n.email?.email_count||0,opened:n.email?.opened_count||0,clicked:n.count?.clicks||0,openedRate:n.email?.opened_count?n.email.opened_count/n.email.email_count:0,clickedRate:n.count?.clicks&&n.email?.email_count?n.count.clicks/n.email.email_count:0}:{sent:0,opened:0,clicked:0,openedRate:0,clickedRate:0},[n]),_=i.useMemo(()=>{if(!f?.count)return{positiveFeedback:0,negativeFeedback:0,totalFeedback:0};const x=f.count.positive_feedback||0,j=f.count.negative_feedback||0,w=x+j;return{positiveFeedback:x,negativeFeedback:j,totalFeedback:w}},[f]),k=i.useMemo(()=>n?.newsletter?.id,[n]),{data:a,isLoading:v}=cs({searchParams:k?{newsletter_id:k}:{},enabled:!!k}),R=i.useMemo(()=>a?.stats?a.stats.map(x=>x.post_id):[],[a]),{data:y,isLoading:u}=os({searchParams:k&&R.length>0?{newsletter_id:k,post_ids:R.join(",")}:{},enabled:!!k&&R.length>0}),g=i.useMemo(()=>{if(!a?.stats)return;const x=a.stats,j=y?.stats||[],w=new Map;j.forEach(b=>{w.set(b.post_id,b)});const C=x.map(b=>{const E=w.get(b.post_id);return{...b,total_clicks:E?.total_clicks||0,click_rate:E?.click_rate||0}});return{...a,stats:C}},[a,y]),r=v||u,{data:T,isLoading:d,refetch:L}=as({searchParams:{filter:`post_id:'${t}'`}}),h=i.useMemo(()=>{if(!g||!g.stats)return{openRate:0,clickRate:0};const x=g.stats;if(x.length===0)return{openRate:0,clickRate:0};const j=x.reduce((C,b)=>C+(b.open_rate||0),0),w=x.reduce((C,b)=>C+(b.click_rate||0),0);return{openRate:Number((j/x.length).toFixed(2)),clickRate:Number((w/x.length).toFixed(2))}},[g]),A=i.useMemo(()=>is(T),[T]),D=i.useMemo(()=>({openedRate:h.openRate,clickedRate:h.clickRate}),[h]);return{post:n,stats:S,feedbackStats:_,averageStats:D,topLinks:A,refetchTopLinks:L,isLoading:c||p||r||d}},bs=({breakpoints:t={sm:1080,md:1280,lg:1360}}={})=>{const[s,c]=i.useState("md");return i.useEffect(()=>{const o=()=>{const p=window.innerWidth;p<t.sm?c("sm"):p<t.md?c("md"):c("lg")};return o(),window.addEventListener("resize",o),()=>window.removeEventListener("resize",o)},[t]),{chartSize:s,isSmall:s==="sm",isMedium:s==="md",isLarge:s==="lg"}},ae=()=>e.jsx("div",{className:"absolute top-1/2 -right-4 z-10 hidden size-8 -translate-y-1/2 items-center justify-center rounded-full border bg-background text-muted-foreground md:visible! md:flex!",children:e.jsx(Ie,{className:"ml-0.5",size:16,strokeWidth:1.5})}),ie=({dataColor:t,value:s,avgValue:c})=>e.jsxs("div",{className:"absolute top-6 left-1/2 z-50 flex w-[200px] -translate-x-1/2 flex-col items-stretch gap-1.5 rounded-md bg-background px-4 py-2 text-sm opacity-0 shadow-md transition-all group-hover/block:top-3 group-hover/block:opacity-100",children:[e.jsxs("div",{className:"flex items-center justify-between gap-4",children:[e.jsxs("div",{className:"flex items-center gap-2 text-muted-foreground",children:[e.jsx("div",{className:"size-2 rounded-full bg-chart-blue opacity-50",style:{backgroundColor:t}}),"This newsletter"]}),e.jsx("div",{className:"text-right font-mono",children:s})]}),e.jsxs("div",{className:"flex items-center justify-between gap-4",children:[e.jsxs("div",{className:"flex items-center gap-2 text-muted-foreground",children:[e.jsx("div",{className:"size-2 rounded-full bg-chart-gray opacity-80"}),"Average"]}),e.jsx("div",{className:"text-right font-mono",children:c})]})]}),Os=()=>{const t=ne(),[s,c]=i.useState(null),[o,p]=i.useState(""),n=i.useRef(null),f=i.useRef(null),S=10,{chartSize:_}=bs(),{appSettings:k}=$e(),{emailTrackClicks:a,emailTrackOpens:v}=k?.analytics||{},{post:R,isPostLoading:y,postId:u}=ns(),g=l=>t(rs({filter:l}),{crossApp:!0}),r=R,T=ls(r);i.useEffect(()=>{!y&&!T&&t(`/posts/analytics/${u}`)},[t,u,y,T]);const{stats:d,averageStats:L,topLinks:h,isLoading:A,refetchTopLinks:D}=hs(u),{editLinks:x}=gs(),j=i.useMemo(()=>{if(!r?.count)return{positiveFeedback:0,negativeFeedback:0,totalFeedback:0};const l=r.count.positive_feedback||0,m=r.count.negative_feedback||0,P=l+m;return{positiveFeedback:l,negativeFeedback:m,totalFeedback:P}},[r]),w=i.useMemo(()=>r?.newsletter?.feedback_enabled===!0,[r]),C=i.useMemo(()=>j.totalFeedback>0?!0:w,[j.totalFeedback,w]),b=l=>{const m=q(h,l);m&&(c(l),p(m.link.to))},E=()=>{if(!s)return;const l=q(h,s);if(!l)return;const m=o.trim();if(m===""||m===l.link.to){c(null),p("");return}x({originalUrl:l.link.originalTo,editedUrl:o,postId:u},{onSuccess:()=>{c(null),p(""),D()}})},{totalPages:xe,paginatedData:ge,nextPage:he,previousPage:be,hasNextPage:fe,hasPreviousPage:ke}=oe({data:h,itemsPerPage:S});i.useEffect(()=>{if(s&&n.current){n.current.focus();const l=q(h,s),m=P=>{f.current&&!f.current.contains(P.target)&&o===l?.link.to&&(c(null),p(""))};return document.addEventListener("mousedown",m),()=>{document.removeEventListener("mousedown",m)}}},[s,o,h]);const I=A||y,ve=[{datatype:"Sent",value:1,fill:"url(#gradientPurple)",color:"var(--chart-purple)"}],je={percentage:{label:"O"},Average:{label:"Average"},"This newsletter":{label:"This newsletter"}},Ne=[{datatype:"Average",value:L.openedRate,fill:"url(#gradientGray)",color:"var(--chart-gray)"},{datatype:"This newsletter",value:d.openedRate,fill:"url(#gradientBlue)",color:"var(--chart-blue)"}],we={percentage:{label:"Opened"},Average:{label:"Average"},"This newsletter":{label:"This newsletter"}},Ce=[{datatype:"Average",value:L.clickedRate,fill:"url(#gradientGray)",color:"var(--chart-gray)"},{datatype:"This newsletter",value:d.clickedRate,fill:"url(#gradientTeal)",color:"var(--chart-teal)"}],ye={percentage:{label:"Clicked"},Average:{label:"Average"},"This newsletter":{label:"This newsletter"}};let M="grid-cols-3",z="aspect-[16/10] w-full max-w-[320px] sm:aspect-[2/1] md:aspect-[10/14] md:max-w-none lg:aspect-square";return(!a||!v)&&(M="grid-cols-2",z="aspect-[16/10] w-full max-w-[320px] sm:aspect-[2/1] md:aspect-square md:max-w-none lg:aspect-[15/10]"),!a&&!v&&(M="grid-cols-1",z="aspect-square w-full sm:aspect-[16/10] md:max-w-[320px] md:max-h-[320px] lg:aspect-[12/10]"),e.jsxs(e.Fragment,{children:[e.jsx(Ge,{currentTab:"Newsletter"}),e.jsx(He,{children:e.jsxs("div",{className:`grid grid-cols-1 gap-6 ${C&&a&&"lg:grid-cols-2"}`,children:[e.jsxs(Y,{className:C&&a?"lg:col-span-2":"",children:[e.jsxs(J,{className:"hidden",children:[e.jsx(Q,{children:"Newsletters"}),e.jsx(X,{children:"How did this post perform"})]}),I?e.jsx(F,{className:"h-[25vw] p-6",children:e.jsx(Ae,{})}):e.jsxs(F,{className:"p-0",children:[e.jsxs("div",{className:`grid ${M} items-stretch border-b`,children:[e.jsxs(V,{className:"group relative isolate grow p-3 md:px-6 md:py-5",children:[e.jsx(B,{onClick:()=>{g(`emails.post_id:${u}`)},children:"View members →"}),e.jsxs(U,{onClick:()=>{g(`emails.post_id:${u}`)},children:[e.jsx("div",{className:"ml-0.5 size-[9px] rounded-full bg-chart-purple opacity-50"}),"Sent"]}),e.jsx(O,{children:e.jsx(W,{className:"text-xl leading-none sm:text-2xl md:text-[2.6rem]",children:$(d.sent)})})]}),v&&e.jsxs(V,{className:"p-3 md:px-6 md:py-5",children:[e.jsx(B,{onClick:()=>{g(`opened_emails.post_id:${u}`)},children:"View members →"}),e.jsxs(U,{onClick:()=>{g(`opened_emails.post_id:${u}`)},children:[e.jsx("div",{className:"ml-0.5 size-[9px] rounded-full bg-chart-blue opacity-50"}),"Opened"]}),e.jsx(O,{children:e.jsx(W,{className:"text-xl leading-none sm:text-2xl md:text-[2.6rem]",children:$(d.opened)})})]}),a&&e.jsxs(V,{className:"group relative isolate grow p-3 md:px-6 md:py-5",children:[e.jsx(B,{onClick:()=>{g(`clicked_links.post_id:${u}`)},children:"View members →"}),e.jsxs(U,{onClick:()=>{g(`clicked_links.post_id:${u}`)},children:[e.jsx("div",{className:"ml-0.5 size-[9px] rounded-full bg-chart-teal opacity-50"}),"Clicked"]}),e.jsx(O,{children:e.jsx(W,{className:"text-xl leading-none sm:text-2xl md:text-[2.6rem]",children:$(d.clicked)})})]})]}),e.jsxs("div",{className:`$ mx-auto grid grid-cols-1 items-center justify-center gap-4 transition-all md:gap-0 ${M==="grid-cols-2"&&"md:grid-cols-2"} ${M==="grid-cols-3"&&"md:grid-cols-3"}`,children:[e.jsxs("div",{className:`relative border-r-0 px-6 ${(v||a)&&"md:border-r"}`,children:[e.jsx(G,{className:z,config:je,data:ve,percentageLabel:"Sent",percentageValue:N(1),size:_,tooltip:!1}),(v||a)&&e.jsx(ae,{})]}),v&&e.jsxs("div",{className:`group/block relative border-r-0 px-6 transition-all hover:bg-muted/25 ${a&&"md:border-r"}`,children:[e.jsx(ie,{avgValue:N(L.openedRate),dataColor:"var(--chart-blue)",value:N(d.openedRate)}),e.jsx(G,{className:z,config:we,data:Ne,percentageLabel:"Open rate",percentageValue:N(d.openedRate),size:_,tooltip:!1}),a&&e.jsx(ae,{})]}),a&&e.jsxs("div",{className:"group/block relative px-6 transition-all hover:bg-muted/25",children:[e.jsx(ie,{avgValue:N(L.clickedRate),dataColor:"var(--chart-teal)",value:N(d.clickedRate)}),e.jsx(G,{className:z,config:ye,data:Ce,percentageLabel:"Click rate",percentageValue:N(d.clickedRate),size:_,tooltip:!1})]})]})]})]}),C&&e.jsx(xs,{feedbackStats:j}),a&&e.jsxs(Y,{className:"group/datalist overflow-hidden",children:[e.jsxs("div",{className:"flex items-center justify-between p-6",children:[e.jsxs(J,{className:"p-0",children:[e.jsx(Q,{children:"Newsletter clicks"}),e.jsx(X,{children:"Which links resonated with your readers"})]}),e.jsx(re,{className:"mr-2",children:"Members"})]}),I?e.jsxs(F,{className:"p-6 pt-0",children:[e.jsx(H,{}),e.jsx(le,{className:"mt-6"})]}):e.jsxs(F,{className:"pb-0",children:[e.jsx(H,{}),h.length>0?e.jsx(Ke,{className:"",children:e.jsx(Ye,{children:ge?.map(l=>{const m=d.clicked>0?l.count/d.clicked:0,P=l.link.link_id,Z=l.link.title,Le=l.link.to,Pe=l.link.edited;return e.jsxs(Je,{children:[s!==P&&e.jsx(Qe,{style:{width:`${m?Math.round(m*100):0}%`}}),e.jsx(Xe,{className:"w-full",children:s===P?e.jsxs("div",{ref:f,className:"flex w-full items-center gap-2",children:[e.jsx(De,{ref:n,className:"z-50 h-7 w-full border-border bg-background text-sm",value:o,onChange:_e=>p(_e.target.value)}),e.jsx(K,{size:"sm",onClick:E,children:"Update"})]}):e.jsxs(e.Fragment,{children:[e.jsx(K,{className:"mr-2 shrink-0 bg-background",size:"sm",variant:"outline",onClick:()=>b(P),children:e.jsx(Be,{})}),e.jsx("a",{className:"block truncate font-medium hover:underline",href:Le,rel:"noreferrer",target:"_blank",title:Z,children:Z}),Pe&&e.jsx("span",{className:"ml-1 text-gray-500",children:"(edited)"})]})}),e.jsxs(Ze,{children:[e.jsx(es,{children:$(l.count||0)}),e.jsx(ss,{children:N(m)})]})]},P)})})}):e.jsx("div",{className:"py-20 text-center text-sm text-gray-700",children:"You have no links in your post."})]}),!I&&h.length>1&&e.jsx(ce,{children:e.jsxs("div",{className:"flex w-full items-start justify-between gap-3",children:[e.jsxs("div",{className:"mt-2 flex items-start gap-2 pl-4 text-sm text-green",children:[e.jsx(ds,{size:20,strokeWidth:1.5}),"Sent a broken link? You can update it!"]}),xe>1&&e.jsx(de,{className:"pb-0",children:e.jsxs(me,{children:[e.jsx(pe,{disabled:!ke,onClick:be}),e.jsx(ue,{disabled:!fe,onClick:he})]})})]})})]})]})})]})};export{Os as default};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{cQ as p,cT as r,dJ as c,et as n}from"./index-
|
|
1
|
+
import{cQ as p,cT as r,dJ as c,et as n}from"./index-C-075SzJ.js";const s="NewslettersResponseType",d=s,l=p({dataType:s,path:"/newsletters/",defaultSearchParams:{include:"count.active_members,count.posts",limit:"50"},defaultNextPageParams:(e,t)=>({...t,page:(e.meta?.pagination.next||1).toString()}),returnData:e=>{const{pages:t}=e,i=t.flatMap(o=>o.newsletters),a=t[t.length-1].meta;return{newsletters:i,meta:a,isEnd:a?a.pagination.pages===a.pagination.page:!0}}}),m=r({method:"POST",path:()=>"/newsletters/",body:({opt_in_existing:e,...t})=>({newsletters:[t]}),searchParams:e=>({opt_in_existing:e.opt_in_existing.toString(),include:"count.active_members,count.posts"}),updateQueries:{dataType:s,emberUpdateType:"createOrUpdate",update:c("newsletters")}}),w=r({method:"PUT",path:e=>`/newsletters/${e.id}/`,body:e=>({newsletters:[e]}),defaultSearchParams:{include:"count.active_members,count.posts"},updateQueries:{dataType:s,emberUpdateType:"createOrUpdate",update:n("newsletters")}}),g=r({method:"PUT",path:()=>"/newsletters/verifications/",body:({token:e})=>({token:e}),defaultSearchParams:{include:"count.active_members,count.posts"},updateQueries:{dataType:s,emberUpdateType:"createOrUpdate",update:n("newsletters")}});export{l as a,w as b,g as c,d as n,m as u};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{fx as Z,ft as _,ed as a,fs as G,d$ as e,aR as N,bW as r,ai as ee,ah as te,bn as se,a as ne,dm as ae,eg as oe,dy as le,ao as j,d2 as ce,dX as y,aU as ie}from"./index-
|
|
1
|
+
import{fx as Z,ft as _,ed as a,fs as G,d$ as e,aR as N,bW as r,ai as ee,ah as te,bn as se,a as ne,dm as ae,eg as oe,dy as le,ao as j,d2 as ce,dX as y,aU as ie}from"./index-C-075SzJ.js";import{u as re,D as de,A as ue,S as $}from"./deleted-feed-item-PyEM8FiX.js";import{H as xe}from"./hash-BCTATV5W.js";import"./trash-DNXRsBf0.js";const C=()=>e.jsx("div",{className:"h-px w-full bg-gray-200 dark:bg-gray-950"}),Ce=()=>{const{postId:A}=Z(),{canGoBack:R}=_(),[U,z]=a.useState(new Set),[B,H]=a.useState(new Set),[k,S]=a.useState(new Set),[p,P]=a.useState(!1),T=a.useRef(null),w=a.useRef(null),d=a.useRef(null),v=a.useRef(null),m=G(),{threadParents:u,post:n,processedReplies:D,isLoading:I,loadMoreChildren:E,loadMoreChildReplies:M,hasMoreChildren:b,hasMoreChildReplies:f}=re(decodeURIComponent(A??""),{includeAncestors:!0}),o=n?.object,V=o?.replyCount??0,[F,W]=a.useState(!1);if(a.useEffect(()=>{w.current&&u.length>0&&!F&&(w.current.scrollIntoView({behavior:"instant",block:"start"}),W(!0))},[u,F]),a.useEffect(()=>{d.current&&d.current.disconnect();const t=document.querySelector("[data-scrollable-container]");if(t)return d.current=new IntersectionObserver(async l=>{if(l[0].isIntersecting&&b&&!p){P(!0);try{await E()}catch(s){console.error("Failed to load more top-level replies:",s)}finally{P(!1)}}},{root:t,rootMargin:"200px"}),v.current&&d.current.observe(v.current),()=>{d.current&&d.current.disconnect()}},[b,p,E]),I)return e.jsx(N,{children:e.jsxs("div",{className:"mx-auto flex max-w-[620px] flex-col items-center gap-3 pt-9 lg:px-8",children:[e.jsxs("div",{className:"flex w-full items-center gap-3",children:[e.jsx(r,{className:"size-10 rounded-full"}),e.jsxs("div",{className:"grow pt-1",children:[e.jsx(r,{className:"w-24"}),e.jsx(r,{className:"w-3/5"})]})]}),e.jsxs("div",{className:"mb-7 w-full",children:[e.jsx(r,{}),e.jsx(r,{className:"w-4/5"}),e.jsx(r,{})]}),e.jsx(C,{}),e.jsxs("div",{className:"flex w-full items-center gap-3 py-3",children:[e.jsx(r,{className:"block size-full",containerClassName:"size-10 rounded-full overflow-hidden"}),e.jsxs("div",{children:[e.jsx(r,{className:"w-52"}),e.jsx(r,{className:"w-28"})]})]}),e.jsx(C,{})]})});if(!n)return e.jsx(N,{children:e.jsx("div",{className:"mx-auto mt-4 flex w-full max-w-[620px] flex-col items-center",children:e.jsxs(ee,{children:[e.jsx(te,{children:e.jsx(xe,{})}),e.jsx("div",{children:"Error loading note."})]})})});function g(){}function q(t){z(l=>{const s=new Set(l);return s.has(t)?s.delete(t):(s.add(t),H(c=>{const x=new Set(c);return x.add(t),x})),s})}async function O(t,l){if(!k.has(t)){S(s=>new Set(s).add(t));try{M&&await M(l)}catch(s){console.error("Failed to load more replies for chain:",s)}finally{S(s=>{const c=new Set(s);return c.delete(t),c})}}}return e.jsx(N,{children:e.jsx("div",{className:"mx-auto flex h-full max-w-[620px] flex-col",children:e.jsx("div",{className:"relative flex-1",children:e.jsx("div",{className:"grow overflow-y-auto",children:e.jsxs("div",{className:"mx-auto px-8 pt-5 pb-10 max-lg:px-0",children:[!u.length&&e.jsx(se,{actor:n.actor,isCurrentUser:n.object.authored,children:e.jsxs("div",{className:`col-[2/3] mx-auto flex w-full cursor-pointer items-center gap-3 ${R?"pt-10 max-md:pt-5":"pt-5"}`,children:[e.jsx("div",{className:"relative z-10",children:e.jsx(ne,{author:n.actor,showFollowButton:!n.object.authored&&!n.actor.followedByMe})}),e.jsxs("div",{className:"relative z-10 flex w-full min-w-0 cursor-pointer flex-col overflow-visible text-[1.5rem]",onClick:t=>{le(n.actor,m,t)},children:[e.jsx("div",{className:"flex w-full",children:e.jsx("span",{className:"min-w-0 truncate font-semibold whitespace-nowrap hover:underline",children:n.actor.name})}),e.jsxs("div",{className:"flex w-full",children:[e.jsx("span",{className:'truncate text-gray-700 after:mx-1 after:font-normal after:text-gray-700 after:content-["·"]',children:ae(n.actor)}),e.jsx("span",{className:"text-gray-700",children:oe(o,!o.authored)})]})]})]})}),u.map(t=>t.object.type==="Tombstone"?e.jsx(de,{last:!1}):e.jsx(j,{actor:t.actor,allowDelete:!1,commentCount:t.object.replyCount??0,last:!1,layout:"reply",likeCount:t.object.likeCount??0,object:t.object,repostCount:t.object.repostCount??0,type:"Note",onClick:()=>{m(`/${t.object.type==="Article"?"reader":"notes"}/${encodeURIComponent(t.object.id)}`)}})),e.jsx("div",{ref:w,className:`${R?"scroll-mt-[12px]":"scroll-mt-[124px]"}`,children:e.jsxs("div",{className:`${u.length>0&&"min-h-[calc(100vh-52px)]"}`,children:[e.jsx(j,{actor:n.actor,allowDelete:!1,commentCount:V,last:!0,layout:"modal",likeCount:o.likeCount??0,object:o,repostCount:o.repostCount,showHeader:u.length>0,showStats:!0,type:"Note"}),e.jsx(ue,{object:o}),e.jsx(C,{}),e.jsxs("div",{ref:T,children:[D.map((t,l)=>{const s=l===D.length-1,c=t.mainReply.id,x=U.has(c),X=B.has(c),J=k.has(c),h=t.chain.length>0;return e.jsxs(ce.Fragment,{children:[e.jsx(j,{actor:t.mainReply.actor,allowDelete:t.mainReply.object.authored,commentCount:t.mainReply.object.replyCount??0,isChainParent:h,isPending:y(t.mainReply.id),last:!h,layout:"reply",likeCount:t.mainReply.object.likeCount??0,object:t.mainReply.object,parentId:o.id,repostCount:t.mainReply.object.repostCount??0,type:"Note",onClick:()=>{m(`/notes/${encodeURIComponent(t.mainReply.id)}`)},onDelete:g}),h&&t.chain[0]&&e.jsx(j,{actor:t.chain[0].actor,allowDelete:t.chain[0].object.authored,commentCount:t.chain[0].object.replyCount??0,isChainContinuation:!0,isPending:y(t.chain[0].id),last:t.chain.length===1,layout:"reply",likeCount:t.chain[0].object.likeCount??0,object:t.chain[0].object,parentId:o.id,repostCount:t.chain[0].object.repostCount??0,type:"Note",onClick:()=>{m(`/notes/${encodeURIComponent(t.chain[0].id)}`)},onDelete:g},t.chain[0].id),h&&x&&t.chain.slice(1).map((i,K)=>{const L=K===t.chain.slice(1).length-1,Q=f&&f(l),Y=L&&Q;return e.jsx(j,{actor:i.actor,allowDelete:i.object.authored,commentCount:i.object.replyCount??0,isChainContinuation:!0,isPending:y(i.id),last:L&&!Y,layout:"reply",likeCount:i.object.likeCount??0,object:i.object,parentId:o.id,repostCount:i.object.repostCount??0,type:"Note",onClick:()=>{m(`/notes/${encodeURIComponent(i.id)}`)},onDelete:g},i.id)}),h&&t.chain.length>1&&!x&&e.jsx($,{variant:"expand",onClick:()=>q(c)}),h&&x&&X&&f&&f(l)&&e.jsx($,{loading:J,variant:"loadMore",onClick:()=>O(c,l)}),!s&&e.jsx(C,{})]},t.mainReply.id)}),p&&e.jsx("div",{className:"flex flex-col items-center justify-center text-center",children:e.jsx(ie,{size:"md"})})]}),b&&e.jsx("div",{ref:v,className:"h-1"})]})})]})})})})})};export{Ce as default};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{cW as a,cT as r,dJ as t,cV as f,et as o,fB as d}from"./index-
|
|
1
|
+
import{cW as a,cT as r,dJ as t,cV as f,et as o,fB as d}from"./index-C-075SzJ.js";const s="OffersResponseType",p=()=>{const e=d();return()=>e.invalidateQueries([s])},c=f({dataType:s,path:"/offers/",defaultSearchParams:{}}),n=a({dataType:s,path:e=>`/offers/${e}/`}),i=r({method:"PUT",path:e=>`/offers/${e.id}/`,body:e=>({offers:[e]}),updateQueries:{dataType:s,emberUpdateType:"createOrUpdate",update:o("offers")}}),y=r({method:"POST",path:()=>"/offers/",body:e=>({offers:[e]}),updateQueries:{dataType:s,emberUpdateType:"createOrUpdate",update:t("offers")}});export{c as a,n as b,i as c,p as d,y as u};
|
package/core/built/admin/assets/{onboarding-route-AMFn0X5G.js → onboarding-route-A3ECeMAi.js}
RENAMED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{d$ as e,K as N,b7 as u,J as h,aI as B,fq as A,fF as D,fv as T,eO as U,eP as E,ed as g,du as b,b3 as F}from"./index-
|
|
1
|
+
import{d$ as e,K as N,b7 as u,J as h,aI as B,fq as A,fF as D,fv as T,eO as U,eP as E,ed as g,du as b,b3 as F}from"./index-C-075SzJ.js";import{A as V}from"./arrow-right-BF77Yx73.js";import{R as q}from"./rocket-BDH89dZr.js";import{S as i}from"./share-modal-BxIh7i7o.js";import"./copy-r1LFsU75.js";const G=""+new URL("logo-loader-dark-CuSPz-zc.mp4",import.meta.url).href,H=""+new URL("logo-loader-88VPEpXE.mp4",import.meta.url).href;function M(){return e.jsxs("div",{className:"relative mb-6 size-20",children:[e.jsx("video",{"aria-hidden":"true",autoPlay:!0,className:"size-20 dark:hidden",height:80,loop:!0,muted:!0,playsInline:!0,preload:"metadata",role:"presentation",tabIndex:-1,width:80,children:e.jsx("source",{src:H,type:"video/mp4"})}),e.jsx("video",{"aria-hidden":"true",autoPlay:!0,className:"hidden size-20 dark:block",height:80,loop:!0,muted:!0,playsInline:!0,preload:"metadata",role:"presentation",tabIndex:-1,width:80,children:e.jsx("source",{src:G,type:"video/mp4"})}),e.jsx("div",{className:"pointer-events-none absolute inset-0 hidden bg-[hsl(216deg_11%_70%/1%)] dark:block"})]})}function X({complete:t,id:l,isBeforeNext:a,isLast:d,isNext:n,onClick:r,step:s}){const x=s.icon,p=n?`relative z-10 -mx-8 flex w-[calc(100%+64px)] items-center justify-between rounded-md bg-background px-8 py-6 text-left shadow-[0_1px_0_rgba(17,17,26,0.05),0_0_8px_rgba(17,17,26,0.10)] transition-none dark:ring-1 dark:ring-border ${d?"-mb-[18px]":"mb-1.5"}`:`relative flex w-full items-center justify-between bg-transparent py-6 text-left ${d||a||n?"":"after:absolute after:inset-x-0 after:bottom-0 after:h-px after:bg-border after:content-['']"}`;return e.jsxs("button",{className:`group ${p}`,"data-testid":`onboarding-step-${s.id}`,id:l,type:"button",onClick:r,children:[e.jsxs("span",{className:`flex min-w-0 items-center ${t?"opacity-20 group-hover:opacity-25":"group-hover:opacity-90"}`,children:[e.jsx(x,{className:"mr-4 size-5 shrink-0 text-purple"}),e.jsxs("span",{className:"min-w-0 text-left",children:[e.jsx("span",{className:"block truncate pr-8 text-[16px] leading-[1.3] font-bold text-foreground",children:s.title}),n&&e.jsx("span",{className:"mt-1 block pr-8 text-[15px] leading-[1.4] text-muted-foreground",children:s.description})]})]}),e.jsx("span",{className:`flex shrink-0 items-center transition-transform group-hover:translate-x-[5px] ${t?"text-green":"text-purple"}`,children:t?e.jsx(N,{className:"size-5"}):e.jsx(V,{className:"size-3.5"})})]})}function J({allStepsCompleted:t,completedSteps:l,nextStep:a,onComplete:d,onDismiss:n,onStepClick:r,siteTitle:s}){const x=new Set(l);return e.jsx("main",{className:"relative flex min-h-screen flex-col items-center justify-center px-6 py-8",children:e.jsxs("section",{className:"mt-[-48px] flex w-full flex-col items-center","data-test-dashboard":"onboarding-checklist","data-testid":"onboarding-checklist",children:[e.jsxs("div",{className:"mb-8 flex flex-col items-center text-center",children:[e.jsx(M,{}),t?e.jsx("h1",{className:"text-[32px] leading-[1.15] font-bold tracking-normal text-foreground max-[480px]:text-[24px]",children:"You're all set."}):e.jsxs(e.Fragment,{children:[e.jsx("h1",{className:"text-[32px] leading-[1.15] font-bold tracking-normal text-foreground max-[480px]:text-[24px]",children:"Let's get started!"}),e.jsxs("p",{className:"mt-2 mb-0 text-[15px] text-muted-foreground max-[480px]:m-0 max-[480px]:text-[14px]",children:["Welcome! It's time to set up ",s,"."]})]})]}),e.jsxs("div",{className:"w-full max-w-[540px] rounded-md border border-border bg-background px-6 pt-4 pb-1",children:[e.jsxs("div",{className:`mt-[-12px] flex items-center justify-between py-6 ${a==="customize-design"?"border-b-0":"border-b border-border"}`,children:[e.jsxs("span",{className:"flex min-w-0 items-center opacity-20",children:[e.jsx(q,{className:"mr-4 size-5 shrink-0 text-purple"}),e.jsx("span",{className:"truncate pr-8 text-[16px] leading-[1.3] font-bold text-foreground",children:"Start a new Ghost publication"})]}),e.jsx("span",{className:"shrink-0 text-green",children:e.jsx(N,{className:"size-5"})})]}),u.map((o,p)=>e.jsx(X,{complete:x.has(o.id),id:`ob-${o.id}`,isBeforeNext:u[p+1]?.id===a,isLast:p===u.length-1,isNext:a===o.id,step:o,onClick:()=>r(o.id)},o.id))]}),t&&e.jsx(h,{className:"mt-6 h-auto w-full max-w-[540px] px-3 py-3 text-[16px] max-[480px]:text-[15px]","data-testid":"onboarding-complete",id:"ob-completed",type:"button",onClick:d,children:"Explore your dashboard"}),e.jsxs("p",{className:"mt-8 mb-0 text-[15px] text-muted-foreground max-[480px]:text-[14px]",children:["More questions? Check out our"," ",e.jsx(h,{asChild:!0,className:"h-auto p-0 align-baseline text-[15px] text-green hover:text-green/90 max-[480px]:text-[14px]",variant:"link",children:e.jsx("a",{href:"https://ghost.org/help?utm_source=admin&utm_campaign=onboarding",id:"ob-help-center",rel:"noreferrer",target:"_blank",children:"Help Center"})}),"."]}),!t&&e.jsx(h,{className:"mt-6 h-[38px] overflow-hidden px-3.5 py-px text-[15px] font-normal whitespace-nowrap text-muted-foreground hover:border-gray-300 hover:text-foreground","data-testid":"onboarding-skip",id:"ob-skip",type:"button",variant:"outline",onClick:n,children:"Skip onboarding"})]})})}function K({description:t,imageUrl:l,onOpenChange:a,open:d,siteTitle:n,siteUrl:r}){const s=encodeURIComponent(r),x=[{href:`https://twitter.com/intent/tweet?url=${s}`,id:"ob-share-on-x",label:"Share your publication on X",service:"x"},{href:`https://threads.net/intent/post?text=${s}`,id:"ob-share-on-threads",label:"Share your publication on Threads",service:"threads"},{href:`https://www.facebook.com/sharer/sharer.php?u=${s}`,id:"ob-share-on-fb",label:"Share your publication on Facebook",service:"facebook"},{href:`https://www.linkedin.com/feed/?shareActive=true&text=${s}`,id:"ob-share-on-li",label:"Share your publication on LinkedIn",service:"linkedin"}];return e.jsx(i.Root,{open:d,onOpenChange:a,children:e.jsxs(i.Content,{className:"dark:bg-surface-elevated","data-test-modal":"onboarding-share","data-testid":"onboarding-share-modal",children:[e.jsxs(i.Header,{className:"flex-row items-center justify-between gap-4 space-y-0 text-left",children:[e.jsx(i.Title,{className:"text-2xl",children:"Share your publication"}),e.jsx(i.CloseButton,{id:"ob-close-share-modal",onClick:()=>a(!1)})]}),e.jsxs(i.Preview,{className:"rounded-lg bg-card",href:r,children:[l?e.jsx("div",{className:"aspect-video bg-cover bg-center",style:{backgroundImage:`url(${l})`}}):e.jsx("div",{className:"flex aspect-video items-center justify-center bg-muted text-muted-foreground",children:e.jsx(B,{className:"size-8"})}),e.jsxs("div",{className:"p-5",children:[e.jsx("div",{className:"text-lg font-semibold",children:n}),t&&e.jsx("p",{className:"mt-1 text-sm text-muted-foreground",children:t})]})]}),e.jsxs("p",{className:"text-sm text-muted-foreground",children:["Set your publication's cover image and description in"," ",e.jsx(h,{asChild:!0,className:"h-auto p-0 align-baseline text-sm text-green hover:text-green/90",variant:"link",children:e.jsx("a",{href:"#/settings/design/edit?ref=setup",id:"ob-share-modal-design-settings",children:"Design settings"})}),"."]}),e.jsxs(i.Footer,{children:[e.jsx(i.SocialLinks,{links:x}),e.jsx(i.CopyButton,{className:"ml-0! grow cursor-pointer",copyURL:r,"data-testid":"onboarding-copy-link",icon:"link",id:"ob-copy-publication-link",label:"Copy link"})]})]})})}function W(t){return t&&/^\/analytics(?:\/|\?|$)/.test(t)?t:"/analytics"}function se(){const t=A(),[l]=D(),a=W(l.get("returnTo")),d=T(),n=U(),r=E(),s=g.useRef(!1),[x,o]=g.useState(!1),[p,f]=g.useState(!1),j=String(b(n.data?.settings,"title")||r.data?.site.title||"your publication"),y=String(b(n.data?.settings,"description")||r.data?.site.description||""),w=String(b(n.data?.settings,"cover_image")||""),S=r.data?.site.url||"/",{allStepsCompleted:C,completeChecklist:L,completedSteps:R,dismissChecklist:$,shouldShowChecklist:I,isLoading:z,markStepCompleted:k,nextStep:_}=d;if(z||r.isLoading||x||s.current)return null;if(!I)return e.jsx(F,{crossApp:!0,replace:!0,to:a});const v=async c=>{s.current=!0,o(!0);try{await c(),t(a,{crossApp:!0,replace:!0})}catch(m){s.current=!1,o(!1),console.error(m)}},O=async c=>{if(c==="share-publication"){await k(c),f(!0);return}await k(c);const m=u.find(({id:P})=>P===c)?.route;m&&t(m,{crossApp:!0})};return e.jsxs(e.Fragment,{children:[e.jsx(J,{allStepsCompleted:C,completedSteps:R,nextStep:_,siteTitle:j,onComplete:()=>{v(L)},onDismiss:()=>{v($)},onStepClick:c=>{O(c)}}),e.jsx(K,{description:y,imageUrl:w,open:p,siteTitle:j,siteUrl:S,onOpenChange:f})]})}export{se as default};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{fx as J,fq as A,ed as x,d$ as e,J as E,E as K,dd as C,bM as T,aC as Y,aT as re,dc as f,aw as F,eD as ie,dr as oe,dq as le,de as q,ej as ne,bW as U}from"./index-pkixJbdq.js";import{u as ce,c as de,D as me}from"./growth-ezUlN8OE.js";import{K as L,b as _,a as S,d as D}from"./kpi-card-BlF7JKRC.js";import{C as O,d as P,e as V,a as y,j as Q}from"./pagemenu-BofQcFaF.js";import{D as pe,b as xe,i as he,a as ue,e as ge,f as je,g as fe,h as ve}from"./data-list-CO1cZQRU.js";import{K as R,a as I,b as M}from"./kpi-card-HDshm3lO.js";import{a as be,p as Ne,N as ye,c as we}from"./links-D9dHwDlP.js";import{M as ke}from"./mail-DG4PKpZy.js";import{a as Ce,P as Le}from"./post-analytics-header-DlICE18K.js";import{S as _e,K as Se}from"./kpis-CFz4r5wW.js";import{E as De}from"./empty-indicator-Dza0FQlj.js";import{G as Te}from"./gh-chart-C6zkIg8k.js";import{u as X,c as Re}from"./post-analytics-context-10cqioP1.js";import{h as Ie,c as Me}from"./post-helpers-BLitiasQ.js";import{S as Ae}from"./sprout-DVfG_qhy.js";import"./wallet-cards-BjdG5glh.js";import"./source-icon-D6BzjYPP.js";import"./source-utils-B1S3ZHA2.js";import"./table-AagTvMa9.js";import"./member-route-ZLy3opLv.js";import"./currency-fEUUCkj0.js";import"./stats-CnXALQ4j.js";import"./chart-BGwxlD0z.js";import"./_baseAssignValue-Dz1iqdwD.js";import"./index-CNV7fxKZ.js";import"./value-BTdN53H7.js";import"./PolarAngleAxis-CLluELUg.js";import"./post-share-modal-Cfwy2UwD.js";import"./share-modal-CXrYja6o.js";import"./copy-DoNNUZlb.js";import"./get-site-timezone-BDBAcjmq.js";import"./posts-DAfLuxAA.js";import"./trash-BKhRqxsX.js";import"./arrow-right-BxP3aeA5.js";import"./tabs-IDJWnQD-.js";import"./kpi-tabs-Dty6zMSP.js";import"./a-large-small-BA74vHPp.js";import"./undo-2-ClkkOS0O.js";import"./upload-DEPHbyvo.js";import"./at-sign-Bf0y-jim.js";import"./underline-_HIgX6e1.js";import"./loader-circle-cad701gH.js";import"./chevron-up-C2FeVzre.js";import"./eye-CAqnnfQF.js";import"./power-Drkzg1xX.js";import"./pin-CayUjL8e.js";import"./hash-DE2OmChI.js";import"./inbox-OthiHvlV.js";import"./minus-DmrVsJ-z.js";import"./pencil-LfMcD0vS.js";import"./square-BbUJwQJi.js";import"./user-round-check-DoaGU2hC.js";import"./repeat-CTM1qAzl.js";import"./reply-DXN16g7W.js";import"./rocket-DLixlWs0.js";import"./send-B71C_46D.js";import"./tags-C3lykbgu.js";import"./thumbs-down-SsjC2lMD.js";import"./user-round-x-CwEKNuU6.js";const Ee=({post:l,isNewsletterStatsLoading:c,isWebShown:h})=>{const{postId:s}=J(),t=A(),a=x.useMemo(()=>{const o=l.email?.opened_count||0,r=l.email?.email_count||0,p=l.count?.clicks||0;return{opened:o,clicked:p,openedRate:r>0?o/r:0,clickedRate:r>0?p/r:0,sent:r}},[l]),{data:m}=be({searchParams:{filter:`post_id:'${s}'`}}),u=x.useMemo(()=>Ne(m),[m]),g=[{datatype:"Clicked",value:a.clickedRate,fill:"url(#gradientTeal)",color:"var(--chart-teal)"},{datatype:"Opened",value:a.openedRate,fill:"url(#gradientBlue)",color:"var(--chart-blue)"}],n={percentage:{label:"Opened"},Average:{label:"Clicked"},"This newsletter":{label:"Opened"}},i=l.email_only||!h;return e.jsxs(O,{className:`group/datalist overflow-hidden ${i&&"col-span-2"}`,children:[e.jsxs("div",{className:"relative flex items-center justify-between gap-6",children:[e.jsx(P,{children:e.jsxs(V,{className:"flex items-center gap-1.5 text-lg",children:[e.jsx(ke,{size:16,strokeWidth:1.5}),"Newsletter performance"]})}),e.jsx(E,{className:"absolute right-6 translate-x-10 opacity-0 transition-all duration-300 group-hover/datalist:translate-x-0 group-hover/datalist:opacity-100",size:"sm",variant:"outline",onClick:()=>{t(`/posts/analytics/${s}/newsletter`)},children:"View more"})]}),c?e.jsx(y,{children:e.jsx("div",{className:"mx-auto flex min-h-[250px] items-center justify-center xl:size-full",children:e.jsx(K,{})})}):e.jsxs(y,{className:`${i&&"grid grid-cols-2"}`,children:[e.jsxs("div",{className:`${i&&"border-r pr-6"}`,children:[e.jsxs("div",{className:"grid grid-cols-2 gap-6",children:[e.jsx(R,{className:"group relative flex grow flex-row items-start justify-between gap-5 border-none px-0 pt-0",children:e.jsxs("div",{className:"flex grow flex-col gap-1.5 border-none pb-0",children:[e.jsx(I,{color:"var(--chart-blue)",children:"Open rate"}),e.jsx(M,{value:C(a.openedRate)})]})}),e.jsx(R,{className:"group relative flex grow flex-row items-start justify-between gap-5 border-none px-0 pt-0",children:e.jsxs("div",{className:"flex grow flex-col gap-1.5 border-none pb-0",children:[e.jsx(I,{color:"var(--chart-teal)",children:"Click rate"}),e.jsx(M,{value:C(a.clickedRate)})]})})]}),!i&&e.jsx(T,{}),e.jsx("div",{className:"mx-auto my-6 h-[240px]",children:e.jsx(ye,{className:"pointer-events-none aspect-square h-[240px]",config:n,data:g,tooltip:!1})})]}),e.jsxs("div",{className:`${i&&"pl-6"}`,children:[!i&&e.jsx(T,{}),e.jsxs("div",{className:i?"":"pt-3",children:[e.jsxs("div",{className:`flex items-center justify-between gap-3 ${i?"pb-3":"py-3"}`,children:[e.jsx("span",{className:"font-medium text-muted-foreground",children:"Top clicked links in this email"}),e.jsx(Y,{children:"Members"})]}),u.length>0?e.jsx(pe,{className:"",children:e.jsx(xe,{children:u.slice(0,i?10:5).map(o=>{const r=a.clicked>0?o.count/a.clicked:0;return e.jsxs(he,{children:[e.jsx(ue,{style:{width:`${r?Math.round(r*100):0}%`}}),e.jsx(ge,{children:e.jsxs("div",{className:"flex items-center space-x-2 overflow-hidden",children:[e.jsx(re,{className:"shrink-0 text-muted-foreground",size:16,strokeWidth:1.5}),e.jsx("a",{className:"block truncate font-medium hover:underline",href:o.link.to,rel:"noreferrer",target:"_blank",title:o.link.to,children:we(o.link.to,!0)})]})}),e.jsxs(je,{children:[e.jsx(fe,{children:f(o.count||0)}),e.jsx(ve,{children:C(r)})]})]},o.link.link_id)})})}):e.jsx("div",{className:"py-20 text-center text-sm text-gray-700",children:"You have no links in your post."})]})]})]})]})},Ke=({chartData:l,range:c,isLoading:h,visitors:s,sourcesData:t,isNewsletterShown:a=!0})=>{const{postId:m}=J(),u=A(),{data:g}=X(),n=g?.url,i=g?.icon,o=x.useMemo(()=>t?t.reduce((r,p)=>r+Number(p.visits||0),0):0,[t]);return e.jsx(e.Fragment,{children:e.jsxs(O,{className:`group/datalist overflow-hidden ${!a&&"col-span-2"}`,"data-testid":"web-performance",children:[e.jsxs("div",{className:"relative flex items-center justify-between gap-6",children:[e.jsx(P,{children:e.jsxs(V,{className:"flex items-center gap-1.5 text-lg",children:[e.jsx(F,{size:16,strokeWidth:1.5}),"Web performance"]})}),e.jsx(E,{className:"absolute right-6 translate-x-10 opacity-0 transition-all duration-300 group-hover/datalist:translate-x-0 group-hover/datalist:opacity-100",size:"sm",variant:"outline",onClick:()=>{u(`/posts/analytics/${m}/web`)},children:"View more"})]}),e.jsxs(y,{children:[e.jsxs("div",{children:[e.jsx(R,{className:"group relative flex grow flex-row items-start justify-between gap-5 border-none px-0 pt-0","data-testid":"unique-visitors",children:e.jsxs("div",{className:"flex grow flex-col gap-1.5 border-none pb-0",children:[e.jsx(I,{color:"var(--chart-blue)",children:"Unique visitors"}),e.jsx(M,{value:f(s)})]})}),e.jsx(T,{}),e.jsx("div",{className:"max-h-[288px] py-6 [&_.recharts-cartesian-axis-tick-value]:fill-gray-500",children:h?e.jsx("div",{className:"flex h-[16vw] min-h-[240px] items-center justify-center",children:e.jsx(K,{})}):e.jsx(Te,{className:"aspect-auto h-[240px] w-full",color:"var(--chart-blue)",data:l||[],id:"visitors",range:c,syncId:"overview-charts"})})]}),a&&e.jsxs("div",{className:a?"border-t pt-3":"-mt-3",children:[e.jsx("div",{children:e.jsxs("div",{className:"flex items-center justify-between gap-3 py-3",children:[e.jsx("span",{className:"font-medium text-muted-foreground",children:"How readers found this post"}),e.jsx(Y,{children:"Visitors"})]})}),t&&t.length>0?e.jsx(_e,{data:t,range:c,siteIcon:i,siteUrl:n,tableOnly:!0,topSourcesLimit:5,totalVisitors:o}):e.jsx(De,{className:"h-full py-10",description:"Once someone visits this post, sources will show here",title:"No visitors since you published this post",children:e.jsx(F,{strokeWidth:1.5})})]})]})]})})},Ws=()=>{const l=A(),{statsConfig:c,isLoading:h,post:s,isPostLoading:t,postId:a}=X(),{totals:m,isLoading:u,currencySymbol:g}=ce(a),{appSettings:n}=ie(),{emailTrackClicks:i,emailTrackOpens:o}=n?.analytics||{},r=x.useMemo(()=>s?.published_at?oe(s.published_at):Re.ALL_TIME.value,[s?.published_at]),{startDate:p,endDate:$,timezone:z}=le(r),W=x.useMemo(()=>{const d={site_uuid:c?.id||"",date_from:q(p),date_to:q($),timezone:z,post_uuid:""};return!t&&s?.uuid?{...d,post_uuid:s.uuid}:d},[t,s,c?.id,p,$,z]),{data:v,loading:G}=Q({endpoint:"api_kpis",statsConfig:c||{id:""},params:W}),Z=x.useMemo(()=>v?.length?v.reduce((d,j)=>{const B=Number(j.visits);return d+(isNaN(B)?0:B)},0):0,[v]),b=Se.visits,ee=ne(v||[],r,b.dataKey,"sum")?.map(d=>{const j=Number(d[b.dataKey]);return{date:String(d.date),value:j,formattedValue:b.formatter(j),label:b.label}}),{data:se,loading:te}=Q({endpoint:"api_top_sources",statsConfig:c||{id:""},params:W}),H=h||u||t||G,ae=t||h||G,w=Ie(s)&&o&&i,k=!s?.email_only&&n?.analytics.webAnalytics,N=n?.analytics.membersTrackSources;return x.useEffect(()=>{!t&&s&&Me(s)&&!n?.analytics.webAnalytics&&N&&l(`/posts/analytics/${a}/growth`,{replace:!0})},[t,s,n?.analytics.webAnalytics,l,a,N]),t?e.jsx(K,{}):e.jsxs(e.Fragment,{children:[e.jsx(Ce,{currentTab:"Overview"}),e.jsx(Le,{children:e.jsxs("div",{className:"flex flex-col gap-6 lg:grid lg:grid-cols-2",children:[k&&e.jsx(Ke,{chartData:ee,isLoading:ae||H||te,isNewsletterShown:w,range:r,sourcesData:se,visitors:Z}),w&&e.jsx(Ee,{isNewsletterStatsLoading:t,isWebShown:k,post:s}),N&&e.jsxs(O,{className:"group col-span-2 overflow-hidden p-0","data-testid":"growth",children:[e.jsxs("div",{className:"relative flex items-center justify-between gap-6",children:[e.jsx(P,{children:e.jsxs(V,{className:"flex items-center gap-1.5 text-lg",children:[e.jsx(Ae,{size:16,strokeWidth:1.5}),"Growth"]})}),e.jsx(E,{className:"absolute right-6 translate-x-10 opacity-0 transition-all duration-200 group-hover:translate-x-0 group-hover:opacity-100",size:"sm",variant:"outline",onClick:()=>{l(`/posts/analytics/${a}/growth`)},children:"View more"})]}),e.jsx(y,{className:"flex flex-col gap-6 px-0 md:grid md:grid-cols-3 md:items-stretch md:gap-0",children:H?Array.from({length:3},(d,j)=>e.jsxs("div",{className:"h-[98px] gap-1 border-r px-6 py-5 last:border-r-0",children:[e.jsx(U,{className:"w-2/3"}),e.jsx(U,{className:"h-7 w-12"})]},j)):e.jsxs(e.Fragment,{children:[e.jsxs(L,{className:"grow gap-1 py-0",children:[e.jsx(_,{children:"Free members"}),e.jsx(S,{children:e.jsx(D,{className:"text-[2.2rem]",children:f(m?.free_members||0)})})]}),n?.paidMembersEnabled&&e.jsxs(e.Fragment,{children:[e.jsxs(L,{className:"grow gap-1 py-0",children:[e.jsx(_,{children:"Paid members"}),e.jsx(S,{children:e.jsx(D,{className:"text-[2.2rem]",children:f(m?.paid_members||0)})})]}),e.jsxs(L,{className:"grow gap-1 py-0",children:[e.jsx(_,{children:"MRR impact"}),e.jsx(S,{children:e.jsxs(D,{className:"text-[2.2rem]",children:[g,f(de(m?.mrr||0))]})})]})]})]})})]}),!k&&!w&&!N&&e.jsx(me,{className:"col-span-2 py-20"})]})})]})};export{Ws as default};
|
|
1
|
+
import{fx as J,fq as A,ed as x,d$ as e,J as E,E as K,dd as C,bM as T,aC as Y,aT as re,dc as f,aw as F,eD as ie,dr as oe,dq as le,de as q,ej as ne,bW as U}from"./index-C-075SzJ.js";import{u as ce,c as de,D as me}from"./growth-B83tVOYO.js";import{K as L,b as _,a as S,d as D}from"./kpi-card-Bmnvvp4X.js";import{C as O,d as P,e as V,a as y,j as Q}from"./pagemenu-O7HbsehH.js";import{D as pe,b as xe,i as he,a as ue,e as ge,f as je,g as fe,h as ve}from"./data-list-CzSc7z-2.js";import{K as R,a as I,b as M}from"./kpi-card-CGVtzdgJ.js";import{a as be,p as Ne,N as ye,c as we}from"./links-Bdw25FJF.js";import{M as ke}from"./mail-DvrqP73n.js";import{a as Ce,P as Le}from"./post-analytics-header-CpMOozq-.js";import{S as _e,K as Se}from"./kpis-CQBAGVjP.js";import{E as De}from"./empty-indicator-Dxg05yWg.js";import{G as Te}from"./gh-chart-pNHAbeQn.js";import{u as X,c as Re}from"./post-analytics-context-kPL94Ivz.js";import{h as Ie,c as Me}from"./post-helpers-BLitiasQ.js";import{S as Ae}from"./sprout-B2fN41p-.js";import"./wallet-cards-CtLF01jQ.js";import"./source-icon-CzTNLO6j.js";import"./source-utils-B1S3ZHA2.js";import"./table-B8Pj96or.js";import"./member-route-ZLy3opLv.js";import"./currency-fEUUCkj0.js";import"./stats-jTxCK1CB.js";import"./chart-CP2N9ZC-.js";import"./_baseAssignValue-BjUm4QeA.js";import"./index-BuhMgn5c.js";import"./value-BTdN53H7.js";import"./PolarAngleAxis-DufzOBEz.js";import"./post-share-modal-F0dobdhF.js";import"./share-modal-BxIh7i7o.js";import"./copy-r1LFsU75.js";import"./get-site-timezone-BDBAcjmq.js";import"./posts-DODOCB1E.js";import"./trash-DNXRsBf0.js";import"./arrow-right-BF77Yx73.js";import"./tabs-BZosOk0o.js";import"./kpi-tabs-DxbvMkIU.js";import"./a-large-small-D0RF_WS9.js";import"./undo-2-C2ntNJKC.js";import"./upload-D52l7HIb.js";import"./at-sign-DhJF3n_V.js";import"./underline-HXWuVCAi.js";import"./loader-circle-3HJkQKWf.js";import"./chevron-up-BQ6fOpFR.js";import"./eye-6POPPpTw.js";import"./power-BZ7BM82m.js";import"./pin-BNs-JdQ3.js";import"./hash-BCTATV5W.js";import"./inbox-rE3c5suT.js";import"./minus-DJIePlnU.js";import"./pencil-CknTbJeE.js";import"./square-CJZsjE-3.js";import"./user-round-check-C0GdT99c.js";import"./repeat-DHMCQMCA.js";import"./reply-DoLURZi2.js";import"./rocket-BDH89dZr.js";import"./send-QgRN_yRy.js";import"./tags-DZukMyuU.js";import"./thumbs-down-CZTzyz7D.js";import"./user-round-x-CVCvxuUG.js";const Ee=({post:l,isNewsletterStatsLoading:c,isWebShown:h})=>{const{postId:s}=J(),t=A(),a=x.useMemo(()=>{const o=l.email?.opened_count||0,r=l.email?.email_count||0,p=l.count?.clicks||0;return{opened:o,clicked:p,openedRate:r>0?o/r:0,clickedRate:r>0?p/r:0,sent:r}},[l]),{data:m}=be({searchParams:{filter:`post_id:'${s}'`}}),u=x.useMemo(()=>Ne(m),[m]),g=[{datatype:"Clicked",value:a.clickedRate,fill:"url(#gradientTeal)",color:"var(--chart-teal)"},{datatype:"Opened",value:a.openedRate,fill:"url(#gradientBlue)",color:"var(--chart-blue)"}],n={percentage:{label:"Opened"},Average:{label:"Clicked"},"This newsletter":{label:"Opened"}},i=l.email_only||!h;return e.jsxs(O,{className:`group/datalist overflow-hidden ${i&&"col-span-2"}`,children:[e.jsxs("div",{className:"relative flex items-center justify-between gap-6",children:[e.jsx(P,{children:e.jsxs(V,{className:"flex items-center gap-1.5 text-lg",children:[e.jsx(ke,{size:16,strokeWidth:1.5}),"Newsletter performance"]})}),e.jsx(E,{className:"absolute right-6 translate-x-10 opacity-0 transition-all duration-300 group-hover/datalist:translate-x-0 group-hover/datalist:opacity-100",size:"sm",variant:"outline",onClick:()=>{t(`/posts/analytics/${s}/newsletter`)},children:"View more"})]}),c?e.jsx(y,{children:e.jsx("div",{className:"mx-auto flex min-h-[250px] items-center justify-center xl:size-full",children:e.jsx(K,{})})}):e.jsxs(y,{className:`${i&&"grid grid-cols-2"}`,children:[e.jsxs("div",{className:`${i&&"border-r pr-6"}`,children:[e.jsxs("div",{className:"grid grid-cols-2 gap-6",children:[e.jsx(R,{className:"group relative flex grow flex-row items-start justify-between gap-5 border-none px-0 pt-0",children:e.jsxs("div",{className:"flex grow flex-col gap-1.5 border-none pb-0",children:[e.jsx(I,{color:"var(--chart-blue)",children:"Open rate"}),e.jsx(M,{value:C(a.openedRate)})]})}),e.jsx(R,{className:"group relative flex grow flex-row items-start justify-between gap-5 border-none px-0 pt-0",children:e.jsxs("div",{className:"flex grow flex-col gap-1.5 border-none pb-0",children:[e.jsx(I,{color:"var(--chart-teal)",children:"Click rate"}),e.jsx(M,{value:C(a.clickedRate)})]})})]}),!i&&e.jsx(T,{}),e.jsx("div",{className:"mx-auto my-6 h-[240px]",children:e.jsx(ye,{className:"pointer-events-none aspect-square h-[240px]",config:n,data:g,tooltip:!1})})]}),e.jsxs("div",{className:`${i&&"pl-6"}`,children:[!i&&e.jsx(T,{}),e.jsxs("div",{className:i?"":"pt-3",children:[e.jsxs("div",{className:`flex items-center justify-between gap-3 ${i?"pb-3":"py-3"}`,children:[e.jsx("span",{className:"font-medium text-muted-foreground",children:"Top clicked links in this email"}),e.jsx(Y,{children:"Members"})]}),u.length>0?e.jsx(pe,{className:"",children:e.jsx(xe,{children:u.slice(0,i?10:5).map(o=>{const r=a.clicked>0?o.count/a.clicked:0;return e.jsxs(he,{children:[e.jsx(ue,{style:{width:`${r?Math.round(r*100):0}%`}}),e.jsx(ge,{children:e.jsxs("div",{className:"flex items-center space-x-2 overflow-hidden",children:[e.jsx(re,{className:"shrink-0 text-muted-foreground",size:16,strokeWidth:1.5}),e.jsx("a",{className:"block truncate font-medium hover:underline",href:o.link.to,rel:"noreferrer",target:"_blank",title:o.link.to,children:we(o.link.to,!0)})]})}),e.jsxs(je,{children:[e.jsx(fe,{children:f(o.count||0)}),e.jsx(ve,{children:C(r)})]})]},o.link.link_id)})})}):e.jsx("div",{className:"py-20 text-center text-sm text-gray-700",children:"You have no links in your post."})]})]})]})]})},Ke=({chartData:l,range:c,isLoading:h,visitors:s,sourcesData:t,isNewsletterShown:a=!0})=>{const{postId:m}=J(),u=A(),{data:g}=X(),n=g?.url,i=g?.icon,o=x.useMemo(()=>t?t.reduce((r,p)=>r+Number(p.visits||0),0):0,[t]);return e.jsx(e.Fragment,{children:e.jsxs(O,{className:`group/datalist overflow-hidden ${!a&&"col-span-2"}`,"data-testid":"web-performance",children:[e.jsxs("div",{className:"relative flex items-center justify-between gap-6",children:[e.jsx(P,{children:e.jsxs(V,{className:"flex items-center gap-1.5 text-lg",children:[e.jsx(F,{size:16,strokeWidth:1.5}),"Web performance"]})}),e.jsx(E,{className:"absolute right-6 translate-x-10 opacity-0 transition-all duration-300 group-hover/datalist:translate-x-0 group-hover/datalist:opacity-100",size:"sm",variant:"outline",onClick:()=>{u(`/posts/analytics/${m}/web`)},children:"View more"})]}),e.jsxs(y,{children:[e.jsxs("div",{children:[e.jsx(R,{className:"group relative flex grow flex-row items-start justify-between gap-5 border-none px-0 pt-0","data-testid":"unique-visitors",children:e.jsxs("div",{className:"flex grow flex-col gap-1.5 border-none pb-0",children:[e.jsx(I,{color:"var(--chart-blue)",children:"Unique visitors"}),e.jsx(M,{value:f(s)})]})}),e.jsx(T,{}),e.jsx("div",{className:"max-h-[288px] py-6 [&_.recharts-cartesian-axis-tick-value]:fill-gray-500",children:h?e.jsx("div",{className:"flex h-[16vw] min-h-[240px] items-center justify-center",children:e.jsx(K,{})}):e.jsx(Te,{className:"aspect-auto h-[240px] w-full",color:"var(--chart-blue)",data:l||[],id:"visitors",range:c,syncId:"overview-charts"})})]}),a&&e.jsxs("div",{className:a?"border-t pt-3":"-mt-3",children:[e.jsx("div",{children:e.jsxs("div",{className:"flex items-center justify-between gap-3 py-3",children:[e.jsx("span",{className:"font-medium text-muted-foreground",children:"How readers found this post"}),e.jsx(Y,{children:"Visitors"})]})}),t&&t.length>0?e.jsx(_e,{data:t,range:c,siteIcon:i,siteUrl:n,tableOnly:!0,topSourcesLimit:5,totalVisitors:o}):e.jsx(De,{className:"h-full py-10",description:"Once someone visits this post, sources will show here",title:"No visitors since you published this post",children:e.jsx(F,{strokeWidth:1.5})})]})]})]})})},Ws=()=>{const l=A(),{statsConfig:c,isLoading:h,post:s,isPostLoading:t,postId:a}=X(),{totals:m,isLoading:u,currencySymbol:g}=ce(a),{appSettings:n}=ie(),{emailTrackClicks:i,emailTrackOpens:o}=n?.analytics||{},r=x.useMemo(()=>s?.published_at?oe(s.published_at):Re.ALL_TIME.value,[s?.published_at]),{startDate:p,endDate:$,timezone:z}=le(r),W=x.useMemo(()=>{const d={site_uuid:c?.id||"",date_from:q(p),date_to:q($),timezone:z,post_uuid:""};return!t&&s?.uuid?{...d,post_uuid:s.uuid}:d},[t,s,c?.id,p,$,z]),{data:v,loading:G}=Q({endpoint:"api_kpis",statsConfig:c||{id:""},params:W}),Z=x.useMemo(()=>v?.length?v.reduce((d,j)=>{const B=Number(j.visits);return d+(isNaN(B)?0:B)},0):0,[v]),b=Se.visits,ee=ne(v||[],r,b.dataKey,"sum")?.map(d=>{const j=Number(d[b.dataKey]);return{date:String(d.date),value:j,formattedValue:b.formatter(j),label:b.label}}),{data:se,loading:te}=Q({endpoint:"api_top_sources",statsConfig:c||{id:""},params:W}),H=h||u||t||G,ae=t||h||G,w=Ie(s)&&o&&i,k=!s?.email_only&&n?.analytics.webAnalytics,N=n?.analytics.membersTrackSources;return x.useEffect(()=>{!t&&s&&Me(s)&&!n?.analytics.webAnalytics&&N&&l(`/posts/analytics/${a}/growth`,{replace:!0})},[t,s,n?.analytics.webAnalytics,l,a,N]),t?e.jsx(K,{}):e.jsxs(e.Fragment,{children:[e.jsx(Ce,{currentTab:"Overview"}),e.jsx(Le,{children:e.jsxs("div",{className:"flex flex-col gap-6 lg:grid lg:grid-cols-2",children:[k&&e.jsx(Ke,{chartData:ee,isLoading:ae||H||te,isNewsletterShown:w,range:r,sourcesData:se,visitors:Z}),w&&e.jsx(Ee,{isNewsletterStatsLoading:t,isWebShown:k,post:s}),N&&e.jsxs(O,{className:"group col-span-2 overflow-hidden p-0","data-testid":"growth",children:[e.jsxs("div",{className:"relative flex items-center justify-between gap-6",children:[e.jsx(P,{children:e.jsxs(V,{className:"flex items-center gap-1.5 text-lg",children:[e.jsx(Ae,{size:16,strokeWidth:1.5}),"Growth"]})}),e.jsx(E,{className:"absolute right-6 translate-x-10 opacity-0 transition-all duration-200 group-hover:translate-x-0 group-hover:opacity-100",size:"sm",variant:"outline",onClick:()=>{l(`/posts/analytics/${a}/growth`)},children:"View more"})]}),e.jsx(y,{className:"flex flex-col gap-6 px-0 md:grid md:grid-cols-3 md:items-stretch md:gap-0",children:H?Array.from({length:3},(d,j)=>e.jsxs("div",{className:"h-[98px] gap-1 border-r px-6 py-5 last:border-r-0",children:[e.jsx(U,{className:"w-2/3"}),e.jsx(U,{className:"h-7 w-12"})]},j)):e.jsxs(e.Fragment,{children:[e.jsxs(L,{className:"grow gap-1 py-0",children:[e.jsx(_,{children:"Free members"}),e.jsx(S,{children:e.jsx(D,{className:"text-[2.2rem]",children:f(m?.free_members||0)})})]}),n?.paidMembersEnabled&&e.jsxs(e.Fragment,{children:[e.jsxs(L,{className:"grow gap-1 py-0",children:[e.jsx(_,{children:"Paid members"}),e.jsx(S,{children:e.jsx(D,{className:"text-[2.2rem]",children:f(m?.paid_members||0)})})]}),e.jsxs(L,{className:"grow gap-1 py-0",children:[e.jsx(_,{children:"MRR impact"}),e.jsx(S,{children:e.jsxs(D,{className:"text-[2.2rem]",children:[g,f(de(m?.mrr||0))]})})]})]})]})})]}),!k&&!w&&!N&&e.jsx(me,{className:"col-span-2 py-20"})]})})]})};export{Ws as default};
|