ghost 6.44.0 → 6.44.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/core/boot.js +9 -13
- package/core/bridge.js +6 -10
- package/core/built/admin/assets/{PolarAngleAxis-eFuSrR7S.js → PolarAngleAxis-DWP6qq-Z.js} +2 -2
- package/core/built/admin/assets/{_baseAssignValue-XVHfKew7.js → _baseAssignValue-N9f4o_XK.js} +1 -1
- package/core/built/admin/assets/{a-large-small-DOzPDzKp.js → a-large-small-BOAtcFiE.js} +1 -1
- package/core/built/admin/assets/{account-migration-Cx45M5qm.js → account-migration-CtZx_5ib.js} +1 -1
- package/core/built/admin/assets/admin-x-settings/admin-x-settings.js +1 -1
- package/core/built/admin/assets/admin-x-settings/{code-editor-view-Bi8Orhyj.mjs → code-editor-view-BMovCjer.mjs} +2 -2
- package/core/built/admin/assets/admin-x-settings/{index-1_V9g9Pt.mjs → index-BT1n-g2b.mjs} +3 -3
- package/core/built/admin/assets/admin-x-settings/{index-e9saYQJa.mjs → index-BnowNBGd.mjs} +5 -5
- package/core/built/admin/assets/admin-x-settings/{index-CnvQi01U.mjs → index-CRpK6gF8.mjs} +3 -3
- package/core/built/admin/assets/admin-x-settings/{index-BmU6BOfy.mjs → index-CfXS3AZ8.mjs} +3 -3
- package/core/built/admin/assets/admin-x-settings/{index-EuMiBt6I.mjs → index-Cs8zML6u.mjs} +3 -3
- package/core/built/admin/assets/admin-x-settings/{index-B43MPc5u.mjs → index-DmpwO1w3.mjs} +2 -2
- package/core/built/admin/assets/admin-x-settings/{index-DOgG0XZa.mjs → index-DwFIdhcR.mjs} +3 -3
- package/core/built/admin/assets/admin-x-settings/{index-CWdxMIcZ.mjs → index-sNyPiIJA.mjs} +2 -2
- package/core/built/admin/assets/admin-x-settings/{index-Ojg_pBvq.mjs → index-xTILut54.mjs} +1259 -1259
- package/core/built/admin/assets/admin-x-settings/{modals-Ckbx9UQF.mjs → modals-Cm5t13os.mjs} +9 -9
- package/core/built/admin/assets/{arrow-right-DckEQtp9.js → arrow-right-BxdHN_En.js} +1 -1
- package/core/built/admin/assets/{at-sign-BChf68aS.js → at-sign-Cajf-dOf.js} +1 -1
- package/core/built/admin/assets/{audience-BYU5Bd7D.js → audience-CHNb9mCT.js} +1 -1
- package/core/built/admin/assets/{automated-email-design-Z26Qit0_.js → automated-email-design-B9C9mKUS.js} +2 -2
- package/core/built/admin/assets/{automated-emails-aBicreLv.js → automated-emails-DhLhkq8L.js} +1 -1
- package/core/built/admin/assets/{automations-vpH-d72N.js → automations-6-cgZovk.js} +1 -1
- package/core/built/admin/assets/{automations-Ddo22yPk.js → automations-CxJ-N_YK.js} +1 -1
- package/core/built/admin/assets/{avatar-flipboard-CoI3LQ-o.js → avatar-flipboard-f5nSMmek.js} +1 -1
- package/core/built/admin/assets/{bluesky-sharing-iVDkCMKN.js → bluesky-sharing-Dm2k8qZH.js} +1 -1
- package/core/built/admin/assets/{chart-CjM1VQqH.js → chart-BbJnjWey.js} +23 -23
- package/core/built/admin/assets/{checkbox-CC5kd_Kf.js → checkbox-CT7DNFAI.js} +1 -1
- package/core/built/admin/assets/{chevron-up-D__wzyXT.js → chevron-up-BxijmTT9.js} +1 -1
- package/core/built/admin/assets/{chunk.696.79505fa556d329d6e824.js → chunk.167.37bb0d7f6ac67fefa679.js} +3184 -3523
- package/core/built/admin/assets/{chunk.696.79505fa556d329d6e824.js.LICENSE.txt → chunk.167.37bb0d7f6ac67fefa679.js.LICENSE.txt} +1 -1
- package/core/built/admin/assets/{chunk.524.1ff649a6cc62dc38f538.js → chunk.524.ed812b62217210a913d4.js} +5 -5
- package/core/built/admin/assets/{chunk.582.408a40e0095e479e3d11.js → chunk.582.7db5c9f17bca5a484049.js} +6 -6
- package/core/built/admin/assets/{chunk.945.835812fcb16029abd7f9.js → chunk.834.f9db7c62b9457db93e8c.js} +3 -3
- package/core/built/admin/assets/{code-editor-view-C735d5EA.js → code-editor-view-D8slE0IA.js} +1 -1
- package/core/built/admin/assets/{comments-DgFPax3Y.js → comments-BvfR-fA8.js} +1 -1
- package/core/built/admin/assets/{content-helpers-DjugSfvm.js → content-helpers-DUWGLvgL.js} +1 -1
- package/core/built/admin/assets/{copy-D9JONGcK.js → copy-ht18t5gu.js} +1 -1
- package/core/built/admin/assets/{data-list-QWLEHG4y.js → data-list-Daha2dIs.js} +1 -1
- package/core/built/admin/assets/{deleted-feed-item-CwSCflTW.js → deleted-feed-item-ChP5bwgi.js} +1 -1
- package/core/built/admin/assets/{dropzone-lK_4vpWS.js → dropzone-h_qyk514.js} +1 -1
- package/core/built/admin/assets/{edit-profile-BmioJZHv.js → edit-profile-BT8RQpAG.js} +1 -1
- package/core/built/admin/assets/editor-s1mqd9_o.js +8 -0
- package/core/built/admin/assets/{empty-indicator-Dg64lT_g.js → empty-indicator-BIUvv6JE.js} +1 -1
- package/core/built/admin/assets/{en-DCwBNJ98.js → en-BEcDl42w.js} +1 -1
- package/core/built/admin/assets/{eye-psLxWnjO.js → eye-TPnIdamu.js} +1 -1
- package/core/built/admin/assets/{feed-TUcCSZHL.js → feed-BK3qvLWi.js} +1 -1
- package/core/built/admin/assets/{field-Uk8NOvtc.js → field-CSFsrvVy.js} +1 -1
- package/core/built/admin/assets/{filter-query-core-CbH_VKcG.js → filter-query-core-R8cQCO2w.js} +1 -1
- package/core/built/admin/assets/{filters-DmawZ5Uu.js → filters-Cp1voB1e.js} +1 -1
- package/core/built/admin/assets/gh-chart-BFsyOJD_.js +1 -0
- package/core/built/admin/assets/{ghost-2baa7ddc3630015f41c0efd13bd586b8.js → ghost-1881362e8a92dae1e3333a0484c173a3.js} +7 -6
- package/core/built/admin/assets/{growth-BAl-TyMy.js → growth-DIigOxF1.js} +1 -1
- package/core/built/admin/assets/{hash-Q1ou0OMZ.js → hash-B3iFVeCl.js} +1 -1
- package/core/built/admin/assets/{inbox-BAOtR6tN.js → inbox-2bPMLikt.js} +1 -1
- package/core/built/admin/assets/{index-BnJp51QE.js → index-52qUC8yv.js} +5 -5
- package/core/built/admin/assets/{index-BDIwushG.js → index-9j01Aj_X.js} +1 -1
- package/core/built/admin/assets/index-B9UVpmey.js +1 -0
- package/core/built/admin/assets/{index-DTeOW3Se.js → index-BXc5OF6x.js} +1 -1
- package/core/built/admin/assets/{index-Duc21aJ7.js → index-BaGL3IFe.js} +1 -1
- package/core/built/admin/assets/{index-DKC8uXHk.js → index-BdozZbt2.js} +2 -2
- package/core/built/admin/assets/{index-z951kI4K.js → index-Bgpz7M7i.js} +1 -1
- package/core/built/admin/assets/{index-BfSvX9is.js → index-Bp4O7TVf.js} +1 -1
- package/core/built/admin/assets/{index-C5S08C6P.js → index-BuqUmpe9.js} +1 -1
- package/core/built/admin/assets/{index-D7OtVnbo.js → index-CEF_Ofn0.js} +1 -1
- package/core/built/admin/assets/{index-Bs6rUYFS.js → index-CgSVv5Up.js} +58 -58
- package/core/built/admin/assets/{index-Ro9qXetv.js → index-Cr6x2czK.js} +1 -1
- package/core/built/admin/assets/{index-DJbgQjV6.js → index-CrbZj3Ju.js} +1 -1
- package/core/built/admin/assets/{index-BTBcWw_z.js → index-CrlAPDdD.js} +2 -2
- package/core/built/admin/assets/{index-B6SD2Qs-.js → index-CtrmMGWT.js} +1 -1
- package/core/built/admin/assets/{index-Bw0oyOFd.js → index-D-V_DAdt.js} +1 -1
- package/core/built/admin/assets/{index-DAJduTBl.js → index-D0poOSjw.js} +4 -4
- package/core/built/admin/assets/{index-CGT3W8fi.js → index-DWVGCPEC.js} +3 -3
- package/core/built/admin/assets/index-Dozbr_4s.css +1 -0
- package/core/built/admin/assets/{index-FyplpnYQ.js → index-S3Ai3lDy.js} +1 -1
- package/core/built/admin/assets/{index-DLr8D_Ks.js → index-VDhA5kgU.js} +1 -1
- package/core/built/admin/assets/{index-DRA1fORQ.js → index-fnIFqFMt.js} +1 -1
- package/core/built/admin/assets/{index-BhWQZObu.js → index-kA3UcdW7.js} +1 -1
- package/core/built/admin/assets/{input-group-DH32syTz.js → input-group-Fdl0S6pw.js} +1 -1
- package/core/built/admin/assets/{koenig-lexical-CxVcbgsH.js → koenig-lexical-REiYtzGD.js} +1 -1
- package/core/built/admin/assets/{kpi-card-DBWHDi3l.js → kpi-card-BS8vEj4c.js} +1 -1
- package/core/built/admin/assets/{kpi-card-BYhzWV5F.js → kpi-card-D3HEfOCP.js} +1 -1
- package/core/built/admin/assets/{kpi-tabs-Kxc-utyg.js → kpi-tabs-8vaI7yWq.js} +1 -1
- package/core/built/admin/assets/kpis-CkD0Xteg.js +1 -0
- package/core/built/admin/assets/label-DT38Gd2T.js +1 -0
- package/core/built/admin/assets/{links-Cg8O8ZGP.js → links-BK-azjCL.js} +1 -1
- package/core/built/admin/assets/{list-page-D2KCBsiy.js → list-page-DVpac3lc.js} +1 -1
- package/core/built/admin/assets/{loader-circle-nmLqhMZL.js → loader-circle-CIq5Cv-9.js} +1 -1
- package/core/built/admin/assets/{mail-D7cxYMd5.js → mail-gdeIU06V.js} +1 -1
- package/core/built/admin/assets/{main-layout-BXdUkeCo.js → main-layout-B2t-RiNE.js} +1 -1
- package/core/built/admin/assets/members-7z-tESWd.js +10 -0
- package/core/built/admin/assets/minus-BbGfVkll.js +1 -0
- package/core/built/admin/assets/{modals-VRvX8mK0.js → modals-DVIfijEz.js} +3 -3
- package/core/built/admin/assets/{moderation-DkT8qVJs.js → moderation-DwzDOhih.js} +1 -1
- package/core/built/admin/assets/{newsletter-sUT4ciRJ.js → newsletter-D1N8bUfp.js} +1 -1
- package/core/built/admin/assets/{newsletters-BNvAF2Oi.js → newsletters-7GSeQdQe.js} +1 -1
- package/core/built/admin/assets/{note-B0JhJv7s.js → note-Bn1-ZWDE.js} +1 -1
- package/core/built/admin/assets/offers-BsuLKYy9.js +1 -0
- package/core/built/admin/assets/{onboarding-route-IrO_SCb3.js → onboarding-route-C73r9kyO.js} +1 -1
- package/core/built/admin/assets/{overview-C2nk_B6i.js → overview-6U5p38zx.js} +1 -1
- package/core/built/admin/assets/{pagemenu-BGhty1iq.js → pagemenu-DrueoEX9.js} +1 -1
- package/core/built/admin/assets/{pencil-DiA3J4m5.js → pencil-Csnv8udS.js} +1 -1
- package/core/built/admin/assets/{pin-off-HWos3YHh.js → pin-off-BDeHGsSQ.js} +1 -1
- package/core/built/admin/assets/{post-analytics-context-BJwP-XAB.js → post-analytics-context-jKeUh2Ka.js} +1 -1
- package/core/built/admin/assets/{post-analytics-header-CZF5QmAD.js → post-analytics-header-C5QLn6Lm.js} +1 -1
- package/core/built/admin/assets/{post-analytics-DBUHbt1b.js → post-analytics-ngMqqbt9.js} +1 -1
- package/core/built/admin/assets/{post-share-modal-Bb8R05dH.js → post-share-modal-04B7JT4R.js} +1 -1
- package/core/built/admin/assets/posts/{alert-dialog-mmQvJUHQ.mjs → alert-dialog-CYvHtOQ5.mjs} +4 -4
- package/core/built/admin/assets/posts/{app-utils-CD0bhOLs.mjs → app-utils-Cs-8qje1.mjs} +3 -3
- package/core/built/admin/assets/posts/{automations-BL0WaXHA.mjs → automations-DE2rwx-Z.mjs} +25 -25
- package/core/built/admin/assets/posts/{automations-BmGKngyG.mjs → automations-Dq0_cprS.mjs} +4 -4
- package/core/built/admin/assets/posts/{avatar-CeJ0Zq_A.mjs → avatar-Dt_bGEgl.mjs} +7 -7
- package/core/built/admin/assets/posts/{button-CQCNdxY6.mjs → button-DO7JrPsL.mjs} +2 -2
- package/core/built/admin/assets/posts/{chevron-up-DaikhWC2.mjs → chevron-up-B8WyJjCr.mjs} +3 -3
- package/core/built/admin/assets/posts/{comments-DUSJ25vf.mjs → comments-B3-RpqJU.mjs} +1933 -1905
- package/core/built/admin/assets/posts/{data-list-BiiYXQes.mjs → data-list-BiZFP6Co.mjs} +5 -5
- package/core/built/admin/assets/posts/{dialog-DRN6olky.mjs → dialog-Bvl2PD8s.mjs} +3 -3
- package/core/built/admin/assets/posts/{editor-DN_Zz0m2.mjs → editor-BCtdAD74.mjs} +3230 -3130
- package/core/built/admin/assets/posts/{ellipsis-BIs4PL5-.mjs → ellipsis-B5H7Hudx.mjs} +2 -2
- package/core/built/admin/assets/posts/{empty-indicator-Wiukrx4T.mjs → empty-indicator-BRoAf6Jv.mjs} +2 -2
- package/core/built/admin/assets/posts/{filters-CJl5ebXd.mjs → filters-CffYQY_8.mjs} +12 -12
- package/core/built/admin/assets/posts/{get-site-timezone-JepxGwVr.mjs → get-site-timezone-CSrPVUfX.mjs} +2 -2
- package/core/built/admin/assets/posts/{growth-cNlqbz-x.mjs → growth--LVGRPtS.mjs} +13 -13
- package/core/built/admin/assets/posts/{heading-C_V6Ckxx.mjs → heading-BRQEP7IA.mjs} +2 -2
- package/core/built/admin/assets/posts/{heart-BMBWsLs2.mjs → heart-CC2f1qWb.mjs} +2 -2
- package/core/built/admin/assets/posts/{hooks-D4pJ_p_P.mjs → hooks-J2WpDj1d.mjs} +2 -2
- package/core/built/admin/assets/posts/{index-DzWTmJMy.mjs → index-D-vhKzUJ.mjs} +3 -3
- package/core/built/admin/assets/posts/{index-CDwlVw9E.mjs → index-LnPyGojr.mjs} +2 -2
- package/core/built/admin/assets/posts/{index-BuIZkUhD.mjs → index-nxfIbREV.mjs} +11 -11
- package/core/built/admin/assets/posts/{input-DUvSHOFz.mjs → input-DTtfruk_.mjs} +3 -3
- package/core/built/admin/assets/posts/{input-surface-CO8-j6V2.mjs → input-surface-DXTGCuo2.mjs} +2 -2
- package/core/built/admin/assets/posts/{koenig-lexical-cRm7bY-6.mjs → koenig-lexical-CNcifuT7.mjs} +2 -2
- package/core/built/admin/assets/posts/{kpis-BXukzbg6.mjs → kpis-n8L4BlMi.mjs} +5843 -5854
- package/core/built/admin/assets/posts/{label-TTt0QyDb.mjs → label-yl8B8ADj.mjs} +6 -6
- package/core/built/admin/assets/posts/{links-BAXELE82.mjs → links-DDApMJfk.mjs} +4 -4
- package/core/built/admin/assets/posts/{list-page-DQIiFvFP.mjs → list-page-BJJ9amzJ.mjs} +4 -4
- package/core/built/admin/assets/posts/{loading-indicator-BsY7eGY6.mjs → loading-indicator-CQBDNvdo.mjs} +3 -3
- package/core/built/admin/assets/posts/{mail-Bi1gt3MU.mjs → mail-BHg0SvNu.mjs} +2 -2
- package/core/built/admin/assets/posts/{main-layout-DejRuxP8.mjs → main-layout-DXveCJ5W.mjs} +2 -2
- package/core/built/admin/assets/posts/{newsletter-PCUtHW6Z.mjs → newsletter-DUpVmnKN.mjs} +19 -19
- package/core/built/admin/assets/posts/{overview-f4eDWazr.mjs → overview-sv6i-2h9.mjs} +18 -18
- package/core/built/admin/assets/posts/{pencil-DDnfXQqn.mjs → pencil-DsGDLJp6.mjs} +2 -2
- package/core/built/admin/assets/posts/{plus-DW3bG6ui.mjs → plus-DjZ_REvJ.mjs} +2 -2
- package/core/built/admin/assets/posts/{popover-Du2NcggM.mjs → popover-2PA9zdiD.mjs} +4 -4
- package/core/built/admin/assets/posts/{post-analytics-BmnHyWJq.mjs → post-analytics-CKHoiJFY.mjs} +6 -6
- package/core/built/admin/assets/posts/{post-analytics-context-0fieM91Y.mjs → post-analytics-context-D17CB7nm.mjs} +6 -6
- package/core/built/admin/assets/posts/{post-analytics-header-Bxi56AWV.mjs → post-analytics-header-aQLnrdWi.mjs} +12 -12
- package/core/built/admin/assets/posts/{post-share-modal-DiuT4GFO.mjs → post-share-modal-C8-8CZw8.mjs} +6 -6
- package/core/built/admin/assets/posts/{posts-CYjfxmgX.mjs → posts-BA2vu_T2.mjs} +2 -2
- package/core/built/admin/assets/posts/posts.js +1 -1
- package/core/built/admin/assets/posts/{search-Dz7F6ifc.mjs → search-Bx6BvCRk.mjs} +2 -2
- package/core/built/admin/assets/posts/{select-FX6QYAFU.mjs → select-QOJ2OvL0.mjs} +7 -7
- package/core/built/admin/assets/posts/{separator-C7QPCSjM.mjs → separator-CHtBa4OX.mjs} +3 -3
- package/core/built/admin/assets/posts/{settings-DJqx19W1.mjs → settings-CxhTCxXg.mjs} +2 -2
- package/core/built/admin/assets/posts/{sheet-wg_8-w45.mjs → sheet-DO5nhiru.mjs} +4 -4
- package/core/built/admin/assets/posts/{site-Bxv-L5Dn.mjs → site-6g4pKVnR.mjs} +2 -2
- package/core/built/admin/assets/posts/{skeleton-DrFcKwP3.mjs → skeleton-DgWx-52p.mjs} +3 -3
- package/core/built/admin/assets/posts/{source-icon-DD_bmIqg.mjs → source-icon-_zLbYeab.mjs} +4 -4
- package/core/built/admin/assets/posts/{stats-DkOg80Vt.mjs → stats-BGJFxx5f.mjs} +4 -4
- package/core/built/admin/assets/posts/{switch-DZFGAF_Y.mjs → switch-Djipx7gc.mjs} +5 -5
- package/core/built/admin/assets/posts/{table-CZCVviNy.mjs → table-DpDCE80J.mjs} +2 -2
- package/core/built/admin/assets/posts/{tabs-1fkhM4p8.mjs → tabs-CLWGiyQ4.mjs} +4 -4
- package/core/built/admin/assets/posts/{tags-CkyGqwqi.mjs → tags-B4KIn7er.mjs} +2 -2
- package/core/built/admin/assets/posts/{tags-BAmugIR1.mjs → tags-Dn1L_Z_4.mjs} +16 -16
- package/core/built/admin/assets/posts/{toggle-group-B_ubMZvo.mjs → toggle-group-DMMjXGB3.mjs} +4 -4
- package/core/built/admin/assets/posts/{tooltip-D1X0uVas.mjs → tooltip-DlCjZwmt.mjs} +5 -5
- package/core/built/admin/assets/posts/{underline-CV8OJ7qc.mjs → underline-WN3ZSFyI.mjs} +2 -2
- package/core/built/admin/assets/posts/{value-DhEK7_uT.mjs → value-BWiEmo45.mjs} +2 -2
- package/core/built/admin/assets/posts/{virtual-list-window-DqbQUkIo.mjs → virtual-list-window-F3Tvi9H5.mjs} +3 -3
- package/core/built/admin/assets/posts/{web-5jcYGeBz.mjs → web-C8PxkHvH.mjs} +18 -18
- package/core/built/admin/assets/posts/{x-Cl72IwQm.mjs → x-BdlZ3sG3.mjs} +2 -2
- package/core/built/admin/assets/posts/{zap-BPDyHF1u.mjs → zap-BuAk2C7n.mjs} +33 -21
- package/core/built/admin/assets/{posts-D6K0FKB9.js → posts-bRma2Aji.js} +1 -1
- package/core/built/admin/assets/power-B4VCYMPn.js +1 -0
- package/core/built/admin/assets/{referrers-C9UK_aF_.js → referrers-BgXy4ZDF.js} +1 -1
- package/core/built/admin/assets/{repeat-BwgUDBQn.js → repeat-BElPLZnh.js} +1 -1
- package/core/built/admin/assets/{reply-DbknkQhJ.js → reply-qlUFZ_G8.js} +1 -1
- package/core/built/admin/assets/{rocket-1EqU2MzS.js → rocket-CXYckFbm.js} +1 -1
- package/core/built/admin/assets/{select-BGJXWb8i.js → select-MGAxyhXP.js} +1 -1
- package/core/built/admin/assets/{send-_CqvCQBY.js → send-DcU5LcPI.js} +1 -1
- package/core/built/admin/assets/{settings-Bnep890F.js → settings-DGSAz4oa.js} +4 -4
- package/core/built/admin/assets/{settings-Ct244PHl.js → settings-DI95fXs5.js} +1 -1
- package/core/built/admin/assets/{share-modal-B8pN_3tk.js → share-modal-CsNAIPeN.js} +1 -1
- package/core/built/admin/assets/{sort-button-EXsVVSdw.js → sort-button-wV9PBd2P.js} +1 -1
- package/core/built/admin/assets/{source-icon-XMs0toB0.js → source-icon-CYt4X1-M.js} +1 -1
- package/core/built/admin/assets/{sprout-uA_pVmDr.js → sprout-5QqpAoO8.js} +1 -1
- package/core/built/admin/assets/{square-atKnWQyw.js → square-YHeYyKG9.js} +1 -1
- package/core/built/admin/assets/{stats-CPNnZGD9.js → stats-PD64opSw.js} +1 -1
- package/core/built/admin/assets/{stats-view-BP8LU5rf.js → stats-view-C4fnD3uG.js} +1 -1
- package/core/built/admin/assets/{step-1-FHeGC4GW.js → step-1-BqeM_LxC.js} +1 -1
- package/core/built/admin/assets/{step-2-BFhgD2N8.js → step-2-C7AcokE9.js} +1 -1
- package/core/built/admin/assets/{step-3-BZMKjY5n.js → step-3-9Z0qkfpM.js} +2 -2
- package/core/built/admin/assets/{table-kGA62bBZ.js → table-C8Mxw8fs.js} +1 -1
- package/core/built/admin/assets/{tabs-Dl3BXr4Z.js → tabs-2KXMNRG-.js} +1 -1
- package/core/built/admin/assets/{tags-CLhASxwZ.js → tags-Cx-Jx8Yb.js} +1 -1
- package/core/built/admin/assets/{tags-D-W0kJMe.js → tags-cn7wgGit.js} +1 -1
- package/core/built/admin/assets/{textarea-DMub6CsU.js → textarea-dKwIcAK5.js} +1 -1
- package/core/built/admin/assets/{thumbs-up-DZu4SX5N.js → thumbs-up-gzGza05L.js} +1 -1
- package/core/built/admin/assets/{tiers-2bg8BCFj.js → tiers-D--LgD9v.js} +1 -1
- package/core/built/admin/assets/{toggle-group-ByS0KZ3G.js → toggle-group-C8KbiBQS.js} +1 -1
- package/core/built/admin/assets/{topic-filter-oRqwlePZ.js → topic-filter--VQn4A7D.js} +1 -1
- package/core/built/admin/assets/{trash-BHoSD8mS.js → trash-CnBwlhjN.js} +1 -1
- package/core/built/admin/assets/{underline-1YSgOpPm.js → underline-B2FjHOE0.js} +1 -1
- package/core/built/admin/assets/{undo-2-BwYMlB8G.js → undo-2-fUPuO2Zt.js} +1 -1
- package/core/built/admin/assets/{upload-BDz0_o9b.js → upload-BPOrFdtp.js} +1 -1
- package/core/built/admin/assets/{use-growth-stats-PRVcCUT7.js → use-growth-stats-By0ZDqFi.js} +1 -1
- package/core/built/admin/assets/{use-pintura-config-CROsgSEd.js → use-pintura-config-0ykvCF7U.js} +1 -1
- package/core/built/admin/assets/{use-simple-pagination-CBjKBNNI.js → use-simple-pagination-TruuCHV6.js} +1 -1
- package/core/built/admin/assets/{user-round-check-DKooQiV7.js → user-round-check-C1Vahz0b.js} +1 -1
- package/core/built/admin/assets/{user-round-x-B94nAYJb.js → user-round-x-CzKFo5GY.js} +1 -1
- package/core/built/admin/assets/{virtual-list-window-Cf_vCQFb.js → virtual-list-window-BWEknk_A.js} +1 -1
- package/core/built/admin/assets/{wallet-cards-BorRQari.js → wallet-cards-CRHrrjiy.js} +1 -1
- package/core/built/admin/assets/{web-BVHy-80k.js → web-C2H0oAut.js} +1 -1
- package/core/built/admin/index.html +7 -7
- package/core/frontend/services/llms/service.js +37 -10
- package/core/frontend/services/routing/config.js +5 -3
- package/core/frontend/services/routing/config.ts +59 -0
- package/core/frontend/services/sitemap/handler.js +2 -14
- package/core/frontend/services/sitemap/site-map-manager.js +9 -214
- package/core/server/api/endpoints/comment-replies.js +1 -2
- package/core/server/api/endpoints/members.js +4 -1
- package/core/server/api/endpoints/search-index-public.js +12 -1
- package/core/server/api/endpoints/search-index.js +13 -2
- package/core/server/lib/bootstrap-socket.js +31 -36
- package/core/server/lib/bootstrap-socket.ts +114 -0
- package/core/server/lib/common/to-plain.js +9 -21
- package/core/server/lib/common/to-plain.ts +25 -0
- package/core/server/models/role-utils.js +5 -7
- package/core/server/models/role-utils.ts +56 -0
- package/core/server/services/adapter-manager/adapter-manager.js +5 -1
- package/core/server/services/audience-feedback/audience-feedback-service.js +1 -1
- package/core/server/services/automations/automations-api.js +37 -2
- package/core/server/services/automations/automations-api.ts +43 -2
- package/core/server/services/comments/comments-controller.js +87 -55
- package/core/server/services/comments/comments-service-emails.js +1 -1
- package/core/server/services/comments/comments-service.js +249 -79
- package/core/server/services/mail/templates/notification.html +157 -0
- package/core/server/services/member-attribution/url-translator.js +1 -1
- package/core/server/services/members/members-api/services/token-service.js +21 -2
- package/core/server/services/notifications/notification-email.js +38 -0
- package/core/server/services/notifications/notification-email.ts +66 -0
- package/core/server/services/notifications/sanitize-email-html.js +37 -0
- package/core/server/services/notifications/sanitize-email-html.ts +35 -0
- package/core/server/services/route-settings/route-settings.js +2 -18
- package/core/server/services/route-settings/validate.js +2 -1
- package/core/server/services/update-check/index.js +10 -3
- package/core/server/services/update-check/update-check-service.js +18 -25
- package/core/server/services/url/index.js +1 -16
- package/core/shared/config/defaults.json +0 -1
- package/package.json +2 -1
- package/pnpm-lock.yaml +11 -1
- package/pnpm-workspace.yaml +2 -0
- package/core/built/admin/assets/editor-G3BxjP48.js +0 -8
- package/core/built/admin/assets/gh-chart-vpcpdiS9.js +0 -1
- package/core/built/admin/assets/index-BP5ial3p.js +0 -1
- package/core/built/admin/assets/index-Bd9VZ28k.css +0 -1
- package/core/built/admin/assets/kpis-B8pv3wne.js +0 -1
- package/core/built/admin/assets/label-BjHICZC1.js +0 -1
- package/core/built/admin/assets/members-DcuuSs_v.js +0 -10
- package/core/built/admin/assets/minus-Dv51QEND.js +0 -1
- package/core/built/admin/assets/offers-DKZ0qsmb.js +0 -1
- package/core/built/admin/assets/power-D5QO6MjY.js +0 -1
- package/core/server/services/url/lazy-find-resource.js +0 -49
- package/core/server/services/url/lazy-find-resource.ts +0 -62
- package/core/server/services/url/lazy-url-service.js +0 -262
- package/core/server/services/url/lazy-url-service.ts +0 -308
|
@@ -1 +1 @@
|
|
|
1
|
-
import{
|
|
1
|
+
import{cT as a}from"./index-CgSVv5Up.js";const e=[["rect",{width:"20",height:"5",x:"2",y:"3",rx:"1",key:"1wp1u1"}],["path",{d:"M4 8v11a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8",key:"1s80jp"}],["path",{d:"M10 12h4",key:"a56b0p"}]],y=a("archive",e);const t=[["path",{d:"M4 12.15V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.706.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2h-3.35",key:"1wthlu"}],["path",{d:"M14 2v5a1 1 0 0 0 1 1h5",key:"wfsgrz"}],["path",{d:"m5 16-3 3 3 3",key:"331omg"}],["path",{d:"m9 22 3-3-3-3",key:"lsp7cz"}]],k=a("file-code-corner",t);const o=[["path",{d:"m6 14 1.5-2.9A2 2 0 0 1 9.24 10H20a2 2 0 0 1 1.94 2.5l-1.54 6a2 2 0 0 1-1.95 1.5H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h3.9a2 2 0 0 1 1.69.9l.81 1.2a2 2 0 0 0 1.67.9H18a2 2 0 0 1 2 2v2",key:"usdka0"}]],r=a("folder-open",o);const d=[["path",{d:"M20 20a2 2 0 0 0 2-2V8a2 2 0 0 0-2-2h-7.9a2 2 0 0 1-1.69-.9L9.6 3.9A2 2 0 0 0 7.93 3H4a2 2 0 0 0-2 2v13a2 2 0 0 0 2 2Z",key:"1kt360"}]],i=a("folder",d);const h=[["path",{d:"M2 5h20",key:"1fs1ex"}],["path",{d:"M6 12h12",key:"8npq4p"}],["path",{d:"M9 19h6",key:"456am0"}]],l=a("list-filter",h);const s=[["path",{d:"M15.2 3a2 2 0 0 1 1.4.6l3.8 3.8a2 2 0 0 1 .6 1.4V19a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2z",key:"1c8476"}],["path",{d:"M17 21v-7a1 1 0 0 0-1-1H8a1 1 0 0 0-1 1v7",key:"1ydtos"}],["path",{d:"M7 3v4a1 1 0 0 0 1 1h7",key:"t51u73"}]],M=a("save",s);const c=[["path",{d:"m16 16-3 3 3 3",key:"117b85"}],["path",{d:"M3 12h14.5a1 1 0 0 1 0 7H13",key:"18xa6z"}],["path",{d:"M3 19h6",key:"1ygdsz"}],["path",{d:"M3 5h18",key:"1u36vt"}]],_=a("text-wrap",c);const n=[["path",{d:"M9 14 4 9l5-5",key:"102s5s"}],["path",{d:"M4 9h10.5a5.5 5.5 0 0 1 5.5 5.5a5.5 5.5 0 0 1-5.5 5.5H11",key:"f3b9sd"}]],v=a("undo-2",n);export{y as A,k as F,l as L,M as S,_ as T,v as U,i as a,r as b};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{
|
|
1
|
+
import{cT as a}from"./index-CgSVv5Up.js";const e=[["path",{d:"m16 3 4 4-4 4",key:"1x1c3m"}],["path",{d:"M20 7H4",key:"zbl0bi"}],["path",{d:"m8 21-4-4 4-4",key:"h9nckh"}],["path",{d:"M4 17h16",key:"g4d7ey"}]],M=a("arrow-right-left",e);const t=[["path",{d:"m14 18 4 4 4-4",key:"1waygx"}],["path",{d:"M16 2v4",key:"4m81vk"}],["path",{d:"M18 14v8",key:"irew45"}],["path",{d:"M21 11.354V6a2 2 0 0 0-2-2H5a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h7.343",key:"bse4f3"}],["path",{d:"M3 10h18",key:"8toen8"}],["path",{d:"M8 2v4",key:"1cmpym"}]],m=a("calendar-arrow-down",t);const c=[["path",{d:"M16 14v2.2l1.6 1",key:"fo4ql5"}],["path",{d:"M16 2v4",key:"4m81vk"}],["path",{d:"M21 7.5V6a2 2 0 0 0-2-2H5a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h3.5",key:"1osxxc"}],["path",{d:"M3 10h5",key:"r794hk"}],["path",{d:"M8 2v4",key:"1cmpym"}],["circle",{cx:"16",cy:"16",r:"6",key:"qoo3c4"}]],v=a("calendar-clock",c);const o=[["path",{d:"M16 19h6",key:"xwg31i"}],["path",{d:"M16 2v4",key:"4m81vk"}],["path",{d:"M19 16v6",key:"tddt3s"}],["path",{d:"M21 12.598V6a2 2 0 0 0-2-2H5a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h8.5",key:"1glfrc"}],["path",{d:"M3 10h18",key:"8toen8"}],["path",{d:"M8 2v4",key:"1cmpym"}]],_=a("calendar-plus",o);const d=[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["circle",{cx:"12",cy:"10",r:"3",key:"ilqhr7"}],["path",{d:"M7 20.662V19a2 2 0 0 1 2-2h6a2 2 0 0 1 2 2v1.662",key:"154egf"}]],x=a("circle-user",d);const h=[["path",{d:"M12 15V3",key:"m9g1x1"}],["path",{d:"M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4",key:"ih7n3h"}],["path",{d:"m7 10 5 5 5-5",key:"brsn70"}]],w=a("download",h);const n=[["path",{d:"M21.2 8.4c.5.38.8.97.8 1.6v10a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V10a2 2 0 0 1 .8-1.6l8-6a2 2 0 0 1 2.4 0l8 6Z",key:"1jhwl8"}],["path",{d:"m22 10-8.97 5.7a1.94 1.94 0 0 1-2.06 0L2 10",key:"1qfld7"}]],N=a("mail-open",n);const y=[["path",{d:"M22 13V6a2 2 0 0 0-2-2H4a2 2 0 0 0-2 2v12c0 1.1.9 2 2 2h9",key:"1j9vog"}],["path",{d:"m22 7-8.97 5.7a1.94 1.94 0 0 1-2.06 0L2 7",key:"1ocrg3"}],["path",{d:"m17 17 4 4",key:"1b3523"}],["path",{d:"m21 17-4 4",key:"uinynz"}]],g=a("mail-x",y);const k=[["path",{d:"M14 4.1 12 6",key:"ita8i4"}],["path",{d:"m5.1 8-2.9-.8",key:"1go3kf"}],["path",{d:"m6 12-1.9 2",key:"mnht97"}],["path",{d:"M7.2 2.2 8 5.1",key:"1cfko1"}],["path",{d:"M9.037 9.69a.498.498 0 0 1 .653-.653l11 4.5a.5.5 0 0 1-.074.949l-4.349 1.041a1 1 0 0 0-.74.739l-1.04 4.35a.5.5 0 0 1-.95.074z",key:"s0h3yz"}]],$=a("mouse-pointer-click",k);const p=[["path",{d:"M15 18h-5",key:"95g1m2"}],["path",{d:"M18 14h-8",key:"sponae"}],["path",{d:"M4 22h16a2 2 0 0 0 2-2V4a2 2 0 0 0-2-2H8a2 2 0 0 0-2 2v16a2 2 0 0 1-4 0v-9a2 2 0 0 1 2-2h2",key:"39pd36"}],["rect",{width:"8",height:"4",x:"10",y:"6",rx:"1",key:"aywv1n"}]],f=a("newspaper",p);const s=[["line",{x1:"19",x2:"5",y1:"5",y2:"19",key:"1x9vlm"}],["circle",{cx:"6.5",cy:"6.5",r:"2.5",key:"4mh3h7"}],["circle",{cx:"17.5",cy:"17.5",r:"2.5",key:"1mdrzq"}]],H=a("percent",s);const r=[["path",{d:"M2 9a3 3 0 0 1 0 6v2a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2v-2a3 3 0 0 1 0-6V7a2 2 0 0 0-2-2H4a2 2 0 0 0-2 2Z",key:"qn84l0"}],["path",{d:"M13 5v2",key:"dyzc3o"}],["path",{d:"M13 17v2",key:"1ont0d"}],["path",{d:"M13 11v2",key:"1wjjxi"}]],V=a("ticket",r);const i=[["path",{d:"M12 3v12",key:"1x0j5s"}],["path",{d:"m17 8-5-5-5 5",key:"7q97r8"}],["path",{d:"M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4",key:"ih7n3h"}]],u=a("upload",i);export{M as A,m as C,w as D,N as M,f as N,H as P,V as T,u as U,v as a,_ as b,x as c,g as d,$ as e};
|
package/core/built/admin/assets/{use-growth-stats-PRVcCUT7.js → use-growth-stats-By0ZDqFi.js}
RENAMED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{
|
|
1
|
+
import{eb as C,dq as F,dg as H,dE as s,df as _,de as k}from"./index-CgSVv5Up.js";import{u as v,a as V,h as j}from"./stats-PD64opSw.js";import{g as q}from"./currency-fEUUCkj0.js";const G=(r,T,D,i)=>{if(!r.length)return{totalMembers:0,freeMembers:0,paidMembers:0,mrr:0,percentChanges:{total:"0%",free:"0%",paid:"0%",mrr:"0%"},directions:{total:"same",free:"same",paid:"same",mrr:"same"}};const f=i||r[r.length-1],m=r.length>0?r[r.length-1]:{free:0,paid:0,comped:0,gift:0},P=T.length>0?T[T.length-1]:{mrr:0},c=f.free+f.paid+f.comped+(f.gift??0),g=P.mrr,M={total:"0%",free:"0%",paid:"0%",mrr:"0%"},y={total:"same",free:"same",paid:"same",mrr:"same"};if(r.length>1){const t=r[0],e=t.free+t.paid+t.comped+(t.gift??0);if(e>0){const a=(c-e)/e*100;M.total=_(a/100),y.total=a>0?"up":a<0?"down":"same"}if(t.free>0){const a=(m.free-t.free)/t.free*100;M.free=_(a/100),y.free=a>0?"up":a<0?"down":"same"}const u=t.paid+t.comped+(t.gift??0),d=m.paid+m.comped+(m.gift??0);if(u>0){const a=(d-u)/u*100;M.paid=_(a/100),y.paid=a>0?"up":a<0?"down":"same"}}if(T.length>1){const t=s(D).format("YYYY-MM-DD"),e=T.find(a=>s(a.date).isSameOrAfter(t)),u=s(D).isSame(s().startOf("year"),"day")||s(D).year()<s().year();let d=0;if(e&&s(e.date).isSame(t,"day")?d=e.mrr:u?d=0:d=g,d>=0){const a=d===0?g>0?100:0:(g-d)/d*100;M.mrr=_(a/100),y.mrr=a>0?"up":a<0?"down":"same"}}return{totalMembers:c,freeMembers:f.free,paidMembers:f.paid+f.comped+(f.gift??0),mrr:g,percentChanges:M,directions:y}},K=(r,T)=>{const D=[...r].sort((t,e)=>new Date(t.date).getTime()-new Date(e.date).getTime()),i=[...T].sort((t,e)=>new Date(t.date).getTime()-new Date(e.date).getTime()),f=D.map(t=>t.date),m=i.map(t=>t.date),P=[...new Set([...f,...m])].sort((t,e)=>new Date(t).getTime()-new Date(e).getTime());let c=null,g=null;const M=new Map(D.map(t=>[t.date,t])),y=new Map(i.map(t=>[t.date,t]));return P.map(t=>{const e=M.get(t);e&&(c=e);const u=y.get(t);u&&(g=u);const d=c?.free??0,a=c?.paid??0,O=c?.comped??0,A=c?.gift??0,L=a+O+A,o=d+L,R=g?.mrr??0,S=c?.paid_subscribed??0,h=c?.paid_canceled??0;return{date:t,value:o,free:d,paid:L,comped:O,gift:A,mrr:R,paid_subscribed:S,paid_canceled:h,formattedValue:k(o),label:"Total members"}})},X=r=>{const{startDate:T,endDate:D}=C.useMemo(()=>F(r),[r]),i=H(T),f=r===1?s(i).subtract(1,"day").format("YYYY-MM-DD"):i,{data:m,isLoading:P}=v({searchParams:{date_from:f}}),{data:c,isLoading:g}=V({searchParams:{date_from:f}}),{data:M,isLoading:y}=j(),t=C.useMemo(()=>{let o=[];if(m?.stats?o=m.stats:Array.isArray(m)&&(o=m),r===1&&o.length>=2){const R=o[o.length-2],S=o[o.length-1],h=s(i).format("YYYY-MM-DD"),l=s(i).add(1,"day").format("YYYY-MM-DD"),p={...R,date:h},Y={...S,date:l};return[p,Y]}return o},[m,r,i]),{mrrData:e,selectedCurrency:u}=C.useMemo(()=>{const o=s(i),R=r===1?s().endOf("day"):s().startOf("day");if(c?.stats&&c?.meta?.totals){const S=c.meta.totals;let h=S[0];if(!h)return{mrrData:[],selectedCurrency:"usd"};for(const n of S)n.mrr>h.mrr&&(h=n);const l=h.currency,p=c.stats.filter(n=>n.currency===l),Y=p.filter(n=>s(n.date).isSameOrAfter(o)),x=[...p].sort((n,w)=>new Date(w.date).getTime()-new Date(n.date).getTime()),b=[...Y];if(!b.some(n=>s(n.date).isSame(o,"day"))){const n=x.find(w=>s(w.date).isBefore(o));if(n)b.unshift({...n,date:o.format("YYYY-MM-DD")});else if(b.length>0){const w=[...b].sort((B,I)=>new Date(B.date).getTime()-new Date(I.date).getTime())[0];b.unshift({...w,date:o.format("YYYY-MM-DD")})}}const E=r===1?s().startOf("day"):R;if(!b.some(n=>s(n.date).isSame(E,"day"))&&b.length>0){const w=[...b].sort((B,I)=>new Date(I.date).getTime()-new Date(B.date).getTime())[0];b.push({...w,date:E.format("YYYY-MM-DD")})}return{mrrData:b.sort((n,w)=>new Date(n.date).getTime()-new Date(w.date).getTime()),selectedCurrency:l}}return{mrrData:[],selectedCurrency:"usd"}},[c,i,r]),d=C.useMemo(()=>G(t,e,i,m?.meta?.totals),[t,e,i,m?.meta?.totals]),a=C.useMemo(()=>K(t,e),[t,e]),O=C.useMemo(()=>q(u),[u]),A=C.useMemo(()=>P||g||y,[P,g,y]),L=C.useMemo(()=>{if(!M?.stats)return[];const o=M.stats.reduce((l,p)=>{const Y=p.date;return l[Y]||(l[Y]={date:Y,signups:0,cancellations:0}),l[Y].signups+=p.signups,l[Y].cancellations+=p.cancellations,l},{}),R=Object.values(o).sort((l,p)=>new Date(l.date).getTime()-new Date(p.date).getTime()),S=s(i),h=s(D);return R.filter(l=>{const p=s(l.date);return p.isSameOrAfter(S)&&p.isSameOrBefore(h)})},[M,i,D]);return{isLoading:A,memberData:t,mrrData:e,dateFrom:i,endDate:D,totals:d,chartData:a,subscriptionData:L,selectedCurrency:u,currencySymbol:O}};export{X as u};
|
package/core/built/admin/assets/{use-pintura-config-CROsgSEd.js → use-pintura-config-0ykvCF7U.js}
RENAMED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{
|
|
1
|
+
import{f9 as R,eb as b,cy as U,dm as j,eI as E,eM as M,du as F}from"./index-CgSVv5Up.js";import{a as T}from"./offers-BsuLKYy9.js";import{u as _}from"./posts-bRma2Aji.js";const N=(e=[],o,t)=>!e||!t?e:e.filter(r=>r[o]?.toLowerCase().includes(t.toLowerCase())),A=e=>"'"+e.replace(/'/g,"\\'")+"'",D=({path:e,filterKey:o,responseKey:t,limit:r=20})=>{const g=R(),u=b.useRef({}),h=async l=>{if((u.current.allLoaded||u.current.lastInput===l)&&u.current.data)return N(u.current.data,o,l);const a=await g(U(e,{filter:l?`${o}:~${A(l)}`:"",limit:r.toString()}));return u.current.data=a[t],u.current.allLoaded=!l&&!a.meta?.pagination.next,u.current.lastInput=l,N(a[t],o,l)};return{loadData:h,loadInitialValues:async(l,a)=>{await h("");const x=[...u.current.data||[]],m=l.filter(f=>!u.current.data?.find(c=>c[a]===f));if(m.length){const f=await g(U(e,{filter:`${a}:[${m.join(",")}]`,limit:"100"}));x.push(...f[t])}return l.map(f=>x.find(c=>c[a]===f))}}},L={image:{mimeTypes:["image/gif","image/jpg","image/jpeg","image/png","image/svg+xml","image/webp"],extensions:["gif","jpg","jpeg","png","svg","svgz","webp"],endpoint:"/images/upload/",requestMethod:"post",resourceName:"images"},video:{mimeTypes:["video/mp4","video/webm","video/ogg"],extensions:["mp4","webm","ogv"],endpoint:"/media/upload/",requestMethod:"post",resourceName:"media"},audio:{mimeTypes:["audio/mp3","audio/mpeg","audio/ogg","audio/wav","audio/vnd.wav","audio/wave","audio/x-wav","audio/mp4","audio/x-m4a"],extensions:["mp3","wav","ogg","m4a"],endpoint:"/media/upload/",requestMethod:"post",resourceName:"media"},mediaThumbnail:{mimeTypes:["image/gif","image/jpg","image/jpeg","image/png","image/webp"],extensions:["gif","jpg","jpeg","png","webp"],endpoint:"/media/thumbnail/upload/",requestMethod:"put",resourceName:"media"},file:{extensions:[],endpoint:"/files/upload/",requestMethod:"post",resourceName:"files"}},k=(e,o)=>{let t=e;for(const r of o)if(t&&typeof t=="object"&&r in t)t=t[r];else return null;return typeof t=="string"?t:null},V=(e="image")=>{const[o,t]=b.useState(0),[r,g]=b.useState(!1),[u,h]=b.useState([]),[v,l]=b.useState(0),a=b.useRef(new Map),x=R();function m(){if(a.current.size===0){t(0);return}let s=0;a.current.forEach(d=>{s+=d}),t(Math.round(s/a.current.size))}const f=s=>{if(e==="file")return!0;const d=L[e].extensions,[,p]=/(?:\.([^.]+))?$/.exec(s.name)??[];return d&&(!p||d.indexOf(p.toLowerCase())===-1)?`The file type you uploaded is not supported. Please use ${`.${d.join(", .").toUpperCase()}`}`:!0},c=(s=[])=>{const d=[];for(let p=0;p<s.length;p+=1){const w=s[p],n=f(w);n!==!0&&d.push({fileName:w.name,message:n})}return d},i=async(s,{formData:d={}}={})=>{a.current.set(s,0);const p=new FormData;p.append("file",s,s.name),Object.keys(d).forEach(n=>{p.append(n,d[n])});const w=`${j().apiRoot}${L[e].endpoint}`;try{const n=await x(w,{method:L[e].requestMethod,body:p,onUploadProgress(P){a.current.set(s,P),m()}});a.current.set(s,100),m();let y;if(n){const P=n[L[e].resourceName];P&&Array.isArray(P)&&P[0]&&(y=P[0].url)}return{url:y,fileName:s.name}}catch(n){throw console.error(n),{message:k(n,["data","errors",0,"message"])||k(n,["message"])||"",context:k(n,["data","errors",0,"context"])||"",fileName:s.name}}};return{progress:o,isLoading:r,upload:async(s=[],d={})=>{l(s.length),g(!0);const p=c(s);if(p.length)return h(p),g(!1),t(100),null;const w=[];for(let n=0;n<s.length;n+=1){const y=s[n];w.push(i(y,d))}try{const n=await Promise.all(w);return t(100),a.current.clear(),g(!1),h([]),n}catch(n){return console.error(n),h(y=>[...y,n]),g(!1),t(100),a.current.clear(),null}},errors:u,filesNumber:v}},I=()=>{const e=R();return b.useCallback(async(o,{type:t}={})=>{const r=new URL(`${j().apiRoot}/oembed/`,window.location.origin);return r.searchParams.set("url",o),t&&r.searchParams.set("type",t),await e(r)},[e])},K=({siteUrl:e,membersSignupAccess:o,donationsEnabled:t,recommendationsEnabled:r})=>{const{data:g}=T(),{data:u}=_({searchParams:{filter:"status:published",fields:"id,url,title,visibility,published_at",order:"published_at desc",limit:"5"}}),h=D({path:"/search-index/posts/",filterKey:"title",responseKey:"posts"}),v=D({path:"/search-index/pages/",filterKey:"title",responseKey:"pages"}),l=b.useMemo(()=>[{label:"Latest posts",items:(u?.posts||[]).map(c=>({id:c.id,title:c.title,url:c.url,visibility:c.visibility,publishedAt:c.published_at}))}],[u?.posts]),a=b.useCallback(async()=>{const m=[{label:"Homepage",value:e},{label:"Free signup",value:"#/portal/signup/free"}],f=o==="all"?[{label:"Paid signup",value:"#/portal/signup"},{label:"Upgrade or change plan",value:"#/portal/account/plans"}]:[],c=t?[{label:"Tips and donations",value:"#/portal/support"}]:[],i=r?[{label:"Recommendations",value:"#/portal/recommendations"}]:[],C=(g?.offers||[]).filter(s=>s.status==="active"&&s.redemption_type==="signup").map(s=>({label:`Offer - ${s.name}`,value:new URL(s.code,e).toString()}));return[...m,...f,...c,...i,...C]},[t,o,g?.offers,r,e]),x=b.useCallback(async m=>{if(!m)return l;const[f,c]=await Promise.all([h.loadData(m),v.loadData(m)]);return[{label:"Posts",items:f.filter(i=>i.status==="published").map(i=>({id:i.id,title:i.title,url:i.url,visibility:i.visibility,publishedAt:i.published_at}))},{label:"Pages",items:c.filter(i=>i.status==="published").map(i=>({id:i.id,title:i.title,url:i.url,visibility:i.visibility,publishedAt:i.published_at}))}].filter(i=>i.items.length>0)},[l,v,h]);return{fetchAutocompleteLinks:a,searchLinks:x}};function z(e,o){const t=e.editorInstance.getRootElement();if(!t)return;const{bottom:r}=t.getBoundingClientRect();o.pageY>r&&o.clientY>r&&(o.preventDefault(),e.lastNodeIsDecorator()&&e.insertParagraphAtBottom(),e.focusEditor({position:"bottom"}))}const S=e=>{if(!(e===null||typeof e>"u")){if(typeof e=="string")return e;throw new TypeError("Expected value to be null, undefined, or a string")}},$=e=>{if(e.startsWith("/")){const{adminRoot:o}=j();return window.location.origin+o.replace(/\/$/,"")+e}return e};function J(){const{data:e}=E(),{data:o}=M(),r=e?.config?.hostSettings?.pintura,g=o?.settings??null,[u,h,v]=F(g,["pintura","pintura_js_url","pintura_css_url"]);let l,a;return u&&(l=r?.js||S(h),a=r?.css||S(v)),b.useMemo(()=>!l||!a?null:{jsUrl:$(l),cssUrl:$(a)},[l,a])}export{I as a,V as b,K as c,J as d,z as f,L as k,D as u};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{
|
|
1
|
+
import{d4 as u,d$ as i,cL as c,J as l,v as h,eb as m}from"./index-CgSVv5Up.js";import{A as N}from"./arrow-right-BxdHN_En.js";const v=u.forwardRef(({className:e,children:t,...n},a)=>i.jsx("div",{ref:a,className:c("flex items-center justify-between gap-4 pb-6 text-sm",e),...n,children:t}));v.displayName="SimplePagination";const w=u.forwardRef(({className:e,currentPage:t,totalPages:n,...a},o)=>i.jsxs("span",{ref:o,className:c("text-muted-foreground",e),...a,children:["Pages ",t," of ",n]}));w.displayName="SimplePaginationPages";const j=u.forwardRef(({className:e,children:t,...n},a)=>i.jsx("div",{ref:a,className:c("flex items-center gap-1.5",e),...n,children:t}));j.displayName="SimplePaginationNavigation";const M=u.forwardRef(({variant:e="outline",...t},n)=>i.jsx(l,{ref:n,size:"sm",variant:e,...t,children:i.jsx(h,{})}));M.displayName="SimplePaginationPreviousButton";const R=u.forwardRef(({variant:e="outline",...t},n)=>i.jsx(l,{ref:n,size:"sm",variant:e,...t,children:i.jsx(N,{})}));R.displayName="SimplePaginationNextButton";function B({data:e,itemsPerPage:t,initialPage:n=1}){const[a,o]=m.useState(n);if(t<=0)throw new Error("itemsPerPage must be a positive number");const p=s=>{const S=Math.max(1,Math.min(r,s));o(S)},r=m.useMemo(()=>e?Math.ceil(e.length/t):1,[e,t]);m.useEffect(()=>{a>r&&o(1)},[a,r]);const g=m.useMemo(()=>{if(!e)return null;const s=(a-1)*t;return e.slice(s,s+t)},[e,a,t]),f=()=>{o(s=>Math.min(r,s+1))},x=()=>{o(s=>Math.max(1,s-1))},P=a<r,d=a>1;return{currentPage:a,setCurrentPage:p,totalPages:r,paginatedData:g,nextPage:f,previousPage:x,hasNextPage:P,hasPreviousPage:d}}export{v as S,j as a,R as b,w as c,M as d,B as u};
|
package/core/built/admin/assets/{user-round-check-DKooQiV7.js → user-round-check-C1Vahz0b.js}
RENAMED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{
|
|
1
|
+
import{cT as e}from"./index-CgSVv5Up.js";const c=[["path",{d:"m2 9 3-3 3 3",key:"1ltn5i"}],["path",{d:"M13 18H7a2 2 0 0 1-2-2V6",key:"1r6tfw"}],["path",{d:"m22 15-3 3-3-3",key:"4rnwn2"}],["path",{d:"M11 6h6a2 2 0 0 1 2 2v10",key:"2f72bc"}]],a=e("repeat-2",c);const t=[["path",{d:"M2 21a8 8 0 0 1 13.292-6",key:"bjp14o"}],["circle",{cx:"10",cy:"8",r:"5",key:"o932ke"}],["path",{d:"m16 19 2 2 4-4",key:"1b14m6"}]],n=e("user-round-check",t);export{a as R,n as U};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{
|
|
1
|
+
import{cT as e}from"./index-CgSVv5Up.js";const o=[["path",{d:"M2 21a8 8 0 0 1 11.873-7",key:"74fkxq"}],["circle",{cx:"10",cy:"8",r:"5",key:"o932ke"}],["path",{d:"m17 17 5 5",key:"p7ous7"}],["path",{d:"m22 17-5 5",key:"gqnmv0"}]],r=e("user-round-x",o);export{r as U};
|
package/core/built/admin/assets/{virtual-list-window-Cf_vCQFb.js → virtual-list-window-BWEknk_A.js}
RENAMED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{dY as A,J as H,e8 as v,e7 as N,fg as B}from"./index-Bs6rUYFS.js";const ct=({isLoading:o,onClick:a})=>{const t=!!o;return A.jsx("div",{className:"flex justify-center px-4 py-6",children:A.jsx(H,{disabled:t,variant:"outline",onClick:a,children:t?"Loading more...":"Load more"})})};function D(o){const t=o instanceof HTMLElement&&window.getComputedStyle(o).overflowY,s=t!=="visible"&&t!=="hidden";if(o){if(s&&o.scrollHeight>=o.clientHeight)return o}else return null;return D(o.parentNode)||document.body}function K(o,a,t){const s=new Array(o);return new Proxy(s,{get(e,n,i){if(typeof n=="string"){const r=n.charCodeAt(0);if(r>=48&&r<=57){const l=+n;if(Number.isInteger(l)&&l>=0&&l<o){let h=e[l];if(!h){const c=a[l*2];h=e[l]={index:l,key:t(l),start:c,size:a[l*2+1],end:c+a[l*2+1],lane:0}}return h}}if(n==="length")return o}return Reflect.get(e,n,i)}})}function w(o,a,t){let s=t.initialDeps??[],e,n=!0;function i(){const r=o();return(r.length!==s.length||r.some((h,c)=>s[c]!==h))&&(s=r,e=a(...r),t?.onChange&&!(n&&t.skipInitialOnChange)&&t.onChange(e),n=!1),e}return i.updateDeps=r=>{s=r},i}function R(o,a){if(o===void 0)throw new Error("Unexpected undefined");return o}const P=(o,a)=>Math.abs(o-a)<1.01,U=(o,a,t)=>{let s;return function(...e){o.clearTimeout(s),s=o.setTimeout(()=>a.apply(this,e),t)}};let y;const L=()=>{if(y!==void 0)return y;if(typeof navigator>"u")return y=!1;if(/iP(hone|od|ad)/.test(navigator.userAgent))return y=!0;const o=navigator.maxTouchPoints;return y=navigator.platform==="MacIntel"&&o!==void 0&&o>0},W=o=>{const{offsetWidth:a,offsetHeight:t}=o;return{width:a,height:t}},J=o=>o,Y=o=>{const a=Math.max(o.startIndex-o.overscan,0),s=Math.min(o.endIndex+o.overscan,o.count-1)-a+1,e=new Array(s);for(let n=0;n<s;n++)e[n]=a+n;return e},q=(o,a)=>{const t=o.scrollElement;if(!t)return;const s=o.targetWindow;if(!s)return;const e=i=>{const{width:r,height:l}=i;a({width:Math.round(r),height:Math.round(l)})};if(e(W(t)),!s.ResizeObserver)return()=>{};const n=new s.ResizeObserver(i=>{const r=()=>{const l=i[0];if(l?.borderBoxSize){const h=l.borderBoxSize[0];if(h){e({width:h.inlineSize,height:h.blockSize});return}}e(W(t))};o.options.useAnimationFrameWithResizeObserver?requestAnimationFrame(r):r()});return n.observe(t,{box:"border-box"}),()=>{n.unobserve(t)}},O={passive:!0},$=typeof window>"u"?!0:"onscrollend"in window,X=(o,a,t)=>{const s=o.scrollElement;if(!s)return;const e=o.targetWindow;if(!e)return;const n=o.options.useScrollendEvent&&$;let i=0;const r=n?null:U(e,()=>a(i,!1),o.options.isScrollingResetDelay),l=f=>()=>{i=t(s),r?.(),a(i,f)},h=l(!0),c=l(!1);return s.addEventListener("scroll",h,O),n&&s.addEventListener("scrollend",c,O),()=>{s.removeEventListener("scroll",h),n&&s.removeEventListener("scrollend",c)}},Z=(o,a)=>X(o,a,t=>{const{horizontal:s,isRtl:e}=o.options;return s?t.scrollLeft*(e&&-1||1):t.scrollTop}),G=(o,a,t)=>{if(a?.borderBoxSize){const s=a.borderBoxSize[0];if(s)return Math.round(s[t.options.horizontal?"inlineSize":"blockSize"])}return o[t.options.horizontal?"offsetWidth":"offsetHeight"]},Q=(o,{adjustments:a=0,behavior:t},s)=>{var e,n;(n=(e=s.scrollElement)==null?void 0:e.scrollTo)==null||n.call(e,{[s.options.horizontal?"left":"top"]:o+a,behavior:t})},tt=Q;class et{constructor(a){this.unsubs=[],this.scrollElement=null,this.targetWindow=null,this.isScrolling=!1,this.scrollState=null,this.measurementsCache=[],this._flatMeasurements=null,this.itemSizeCache=new Map,this.itemSizeCacheVersion=0,this.laneAssignments=new Map,this.pendingMin=null,this.prevLanes=void 0,this.lanesChangedFlag=!1,this.lanesSettling=!1,this.scrollRect=null,this.scrollOffset=null,this.scrollDirection=null,this.scrollAdjustments=0,this._iosDeferredAdjustment=0,this._iosTouching=!1,this._iosJustTouchEnded=!1,this._iosTouchEndTimerId=null,this._intendedScrollOffset=null,this.elementsCache=new Map,this.now=()=>{var t,s,e;return((e=(s=(t=this.targetWindow)==null?void 0:t.performance)==null?void 0:s.now)==null?void 0:e.call(s))??Date.now()},this.observer=(()=>{let t=null;const s=()=>t||(!this.targetWindow||!this.targetWindow.ResizeObserver?null:t=new this.targetWindow.ResizeObserver(e=>{e.forEach(n=>{const i=()=>{const r=n.target,l=this.indexFromElement(r);if(!r.isConnected){this.observer.unobserve(r);for(const[h,c]of this.elementsCache)if(c===r){this.elementsCache.delete(h);break}return}this.shouldMeasureDuringScroll(l)&&this.resizeItem(l,this.options.measureElement(r,n,this))};this.options.useAnimationFrameWithResizeObserver?requestAnimationFrame(i):i()})}));return{disconnect:()=>{var e;(e=s())==null||e.disconnect(),t=null},observe:e=>{var n;return(n=s())==null?void 0:n.observe(e,{box:"border-box"})},unobserve:e=>{var n;return(n=s())==null?void 0:n.unobserve(e)}}})(),this.range=null,this.setOptions=t=>{const s={debug:!1,initialOffset:0,overscan:1,paddingStart:0,paddingEnd:0,scrollPaddingStart:0,scrollPaddingEnd:0,horizontal:!1,getItemKey:J,rangeExtractor:Y,onChange:()=>{},measureElement:G,initialRect:{width:0,height:0},scrollMargin:0,gap:0,indexAttribute:"data-index",initialMeasurementsCache:[],lanes:1,isScrollingResetDelay:150,enabled:!0,isRtl:!1,useScrollendEvent:!1,useAnimationFrameWithResizeObserver:!1,laneAssignmentMode:"estimate"};for(const e in t){const n=t[e];n!==void 0&&(s[e]=n)}this.options=s},this.notify=t=>{var s,e;(e=(s=this.options).onChange)==null||e.call(s,this,t)},this.maybeNotify=w(()=>(this.calculateRange(),[this.isScrolling,this.range?this.range.startIndex:null,this.range?this.range.endIndex:null]),t=>{this.notify(t)},{key:!1,debug:()=>this.options.debug,initialDeps:[this.isScrolling,this.range?this.range.startIndex:null,this.range?this.range.endIndex:null]}),this.cleanup=()=>{this.unsubs.filter(Boolean).forEach(t=>t()),this.unsubs=[],this.observer.disconnect(),this.rafId!=null&&this.targetWindow&&(this.targetWindow.cancelAnimationFrame(this.rafId),this.rafId=null),this.scrollState=null,this.scrollElement=null,this.targetWindow=null},this._didMount=()=>()=>{this.cleanup()},this._willUpdate=()=>{var t;const s=this.options.enabled?this.options.getScrollElement():null;if(this.scrollElement!==s){if(this.cleanup(),!s){this.maybeNotify();return}if(this.scrollElement=s,this.scrollElement&&"ownerDocument"in this.scrollElement?this.targetWindow=this.scrollElement.ownerDocument.defaultView:this.targetWindow=((t=this.scrollElement)==null?void 0:t.window)??null,this.elementsCache.forEach(e=>{this.observer.observe(e)}),this.unsubs.push(this.options.observeElementRect(this,e=>{this.scrollRect=e,this.maybeNotify()})),this.unsubs.push(this.options.observeElementOffset(this,(e,n)=>{this._intendedScrollOffset!==null&&Math.abs(e-this._intendedScrollOffset)<1.5&&(e=this._intendedScrollOffset),this._intendedScrollOffset=null,this.scrollAdjustments=0,this.scrollDirection=n?this.getScrollOffset()<e?"forward":"backward":null,this.scrollOffset=e,this.isScrolling=n,this._flushIosDeferredIfReady(),this.scrollState&&this.scheduleScrollReconcile(),this.maybeNotify()})),"addEventListener"in this.scrollElement){const e=this.scrollElement,n=()=>{this._iosTouching=!0,this._iosJustTouchEnded=!1,this._iosTouchEndTimerId!==null&&this.targetWindow!=null&&(this.targetWindow.clearTimeout(this._iosTouchEndTimerId),this._iosTouchEndTimerId=null)},i=()=>{this._iosTouching=!1,!(!L()||this.targetWindow==null)&&(this._iosJustTouchEnded=!0,this._iosTouchEndTimerId=this.targetWindow.setTimeout(()=>{this._iosJustTouchEnded=!1,this._iosTouchEndTimerId=null,this._flushIosDeferredIfReady()},150))};e.addEventListener("touchstart",n,O),e.addEventListener("touchend",i,O),this.unsubs.push(()=>{e.removeEventListener("touchstart",n),e.removeEventListener("touchend",i),this._iosTouchEndTimerId!==null&&this.targetWindow!=null&&(this.targetWindow.clearTimeout(this._iosTouchEndTimerId),this._iosTouchEndTimerId=null)})}this._scrollToOffset(this.getScrollOffset(),{adjustments:void 0,behavior:void 0})}},this._flushIosDeferredIfReady=()=>{if(this._iosDeferredAdjustment===0||this.isScrolling||this._iosTouching||this._iosJustTouchEnded)return;const t=this.getScrollOffset(),s=this.getMaxScrollOffset();if(t<0||t>s)return;const e=this._iosDeferredAdjustment;this._iosDeferredAdjustment=0,this._scrollToOffset(t,{adjustments:this.scrollAdjustments+=e,behavior:void 0})},this.rafId=null,this.getSize=()=>this.options.enabled?(this.scrollRect=this.scrollRect??this.options.initialRect,this.scrollRect[this.options.horizontal?"width":"height"]):(this.scrollRect=null,0),this.getScrollOffset=()=>this.options.enabled?(this.scrollOffset=this.scrollOffset??(typeof this.options.initialOffset=="function"?this.options.initialOffset():this.options.initialOffset),this.scrollOffset):(this.scrollOffset=null,0),this.getFurthestMeasurement=(t,s)=>{const e=new Map,n=new Map;for(let i=s-1;i>=0;i--){const r=t[i];if(e.has(r.lane))continue;const l=n.get(r.lane);if(l==null||r.end>l.end?n.set(r.lane,r):r.end<l.end&&e.set(r.lane,!0),e.size===this.options.lanes)break}return n.size===this.options.lanes?Array.from(n.values()).sort((i,r)=>i.end===r.end?i.index-r.index:i.end-r.end)[0]:void 0},this.getMeasurementOptions=w(()=>[this.options.count,this.options.paddingStart,this.options.scrollMargin,this.options.getItemKey,this.options.enabled,this.options.lanes,this.options.laneAssignmentMode],(t,s,e,n,i,r,l)=>(this.prevLanes!==void 0&&this.prevLanes!==r&&(this.lanesChangedFlag=!0),this.prevLanes=r,this.pendingMin=null,{count:t,paddingStart:s,scrollMargin:e,getItemKey:n,enabled:i,lanes:r,laneAssignmentMode:l}),{key:!1}),this.getMeasurements=w(()=>[this.getMeasurementOptions(),this.itemSizeCacheVersion],({count:t,paddingStart:s,scrollMargin:e,getItemKey:n,enabled:i,lanes:r,laneAssignmentMode:l},h)=>{const c=this.itemSizeCache;if(!i)return this.measurementsCache=[],this.itemSizeCache.clear(),this.laneAssignments.clear(),[];if(this.laneAssignments.size>t)for(const u of this.laneAssignments.keys())u>=t&&this.laneAssignments.delete(u);this.lanesChangedFlag&&(this.lanesChangedFlag=!1,this.lanesSettling=!0,this.measurementsCache=[],this.itemSizeCache.clear(),this.laneAssignments.clear(),this.pendingMin=null),this.measurementsCache.length===0&&!this.lanesSettling&&(this.measurementsCache=this.options.initialMeasurementsCache,this.measurementsCache.forEach(u=>{this.itemSizeCache.set(u.key,u.size)}));const f=this.lanesSettling?0:this.pendingMin??0;if(this.pendingMin=null,this.lanesSettling&&this.measurementsCache.length===t&&(this.lanesSettling=!1),r===1){const u=this.options.gap,S=t*2;let m=this._flatMeasurements;if(!m||m.length<S){const g=new Float64Array(S);m&&f>0&&g.set(m.subarray(0,f*2)),m=g,this._flatMeasurements=m}let p;if(f===0)p=s+e;else{const g=f-1;p=m[g*2]+m[g*2+1]+u}for(let g=f;g<t;g++){const _=n(g),M=c.get(_),x=typeof M=="number"?M:this.options.estimateSize(g);m[g*2]=p,m[g*2+1]=x,p+=x+u}const b=K(t,m,n);return this.measurementsCache=b,b}const d=this.measurementsCache.slice(0,f),I=new Array(r).fill(void 0);for(let u=0;u<f;u++){const S=d[u];S&&(I[S.lane]=u)}for(let u=f;u<t;u++){const S=n(u),m=this.laneAssignments.get(u);let p,b;const g=l==="estimate"||c.has(S);if(m!==void 0&&this.options.lanes>1){p=m;const E=I[p],T=E!==void 0?d[E]:void 0;b=T?T.end+this.options.gap:s+e}else{const E=this.options.lanes===1?d[u-1]:this.getFurthestMeasurement(d,u);b=E?E.end+this.options.gap:s+e,p=E?E.lane:u%this.options.lanes,this.options.lanes>1&&g&&this.laneAssignments.set(u,p)}const _=c.get(S),M=typeof _=="number"?_:this.options.estimateSize(u),x=b+M;d[u]={index:u,start:b,size:M,end:x,key:S,lane:p},I[p]=u}return this.measurementsCache=d,d},{key:!1,debug:()=>this.options.debug}),this.calculateRange=w(()=>[this.getMeasurements(),this.getSize(),this.getScrollOffset(),this.options.lanes],(t,s,e,n)=>this.range=t.length>0&&s>0?st({measurements:t,outerSize:s,scrollOffset:e,lanes:n,flat:n===1&&this._flatMeasurements!=null?this._flatMeasurements:null}):null,{key:!1,debug:()=>this.options.debug}),this.getVirtualIndexes=w(()=>{let t=null,s=null;const e=this.calculateRange();return e&&(t=e.startIndex,s=e.endIndex),this.maybeNotify.updateDeps([this.isScrolling,t,s]),[this.options.rangeExtractor,this.options.overscan,this.options.count,t,s]},(t,s,e,n,i)=>n===null||i===null?[]:t({startIndex:n,endIndex:i,overscan:s,count:e}),{key:!1,debug:()=>this.options.debug}),this.indexFromElement=t=>{const s=this.options.indexAttribute,e=t.getAttribute(s);return e?parseInt(e,10):(console.warn(`Missing attribute name '${s}={index}' on measured element.`),-1)},this.shouldMeasureDuringScroll=t=>{var s;if(!this.scrollState||this.scrollState.behavior!=="smooth")return!0;const e=this.scrollState.index??((s=this.getVirtualItemForOffset(this.scrollState.lastTargetOffset))==null?void 0:s.index);if(e!==void 0&&this.range){const n=Math.max(this.options.overscan,Math.ceil((this.range.endIndex-this.range.startIndex)/2)),i=Math.max(0,e-n),r=Math.min(this.options.count-1,e+n);return t>=i&&t<=r}return!0},this.measureElement=t=>{if(!t){this.elementsCache.forEach((i,r)=>{i.isConnected||(this.observer.unobserve(i),this.elementsCache.delete(r))});return}const s=this.indexFromElement(t),e=this.options.getItemKey(s),n=this.elementsCache.get(e);n!==t&&(n&&this.observer.unobserve(n),this.observer.observe(t),this.elementsCache.set(e,t)),(!this.isScrolling||this.scrollState)&&this.shouldMeasureDuringScroll(s)&&this.resizeItem(s,this.options.measureElement(t,void 0,this))},this.resizeItem=(t,s)=>{var e;if(t<0||t>=this.options.count)return;let n,i,r;const l=this._flatMeasurements;if(this.options.lanes===1&&l!==null)r=this.options.getItemKey(t),i=l[t*2],n=l[t*2+1];else{const f=this.measurementsCache[t];if(!f)return;r=f.key,i=f.start,n=f.size}const h=this.itemSizeCache.get(r)??n,c=s-h;c!==0&&(((e=this.scrollState)==null?void 0:e.behavior)!=="smooth"&&(this.shouldAdjustScrollPositionOnItemSizeChange!==void 0?this.shouldAdjustScrollPositionOnItemSizeChange(this.measurementsCache[t]??{index:t,key:r,start:i,size:n,end:i+n,lane:0},c,this):i<this.getScrollOffset()+this.scrollAdjustments&&this.scrollDirection!=="backward")&&(L()&&(this.isScrolling||this._iosTouching||this._iosJustTouchEnded)?this._iosDeferredAdjustment+=c:this._scrollToOffset(this.getScrollOffset(),{adjustments:this.scrollAdjustments+=c,behavior:void 0})),(this.pendingMin===null||t<this.pendingMin)&&(this.pendingMin=t),this.itemSizeCache.set(r,s),this.itemSizeCacheVersion++,this.notify(!1))},this.getVirtualItems=w(()=>[this.getVirtualIndexes(),this.getMeasurements()],(t,s)=>{const e=[];for(let n=0,i=t.length;n<i;n++){const r=t[n],l=s[r];e.push(l)}return e},{key:!1,debug:()=>this.options.debug}),this.getVirtualItemForOffset=t=>{const s=this.getMeasurements();if(s.length===0)return;const e=this._flatMeasurements,n=this.options.lanes===1&&e!=null,i=j(0,s.length-1,n?r=>e[r*2]:r=>R(s[r]).start,t);return R(s[i])},this.getMaxScrollOffset=()=>{if(!this.scrollElement)return 0;if("scrollHeight"in this.scrollElement)return this.options.horizontal?this.scrollElement.scrollWidth-this.scrollElement.clientWidth:this.scrollElement.scrollHeight-this.scrollElement.clientHeight;{const t=this.scrollElement.document.documentElement;return this.options.horizontal?t.scrollWidth-this.scrollElement.innerWidth:t.scrollHeight-this.scrollElement.innerHeight}},this.getOffsetForAlignment=(t,s,e=0)=>{if(!this.scrollElement)return 0;const n=this.getSize(),i=this.getScrollOffset();s==="auto"&&(s=t>=i+n?"end":"start"),s==="center"?t+=(e-n)/2:s==="end"&&(t-=n);const r=this.getMaxScrollOffset();return Math.max(Math.min(r,t),0)},this.getOffsetForIndex=(t,s="auto")=>{t=Math.max(0,Math.min(t,this.options.count-1));const e=this.getSize(),n=this.getScrollOffset(),i=this.measurementsCache[t];if(!i)return;if(s==="auto")if(i.end>=n+e-this.options.scrollPaddingEnd)s="end";else if(i.start<=n+this.options.scrollPaddingStart)s="start";else return[n,s];if(s==="end"&&t===this.options.count-1)return[this.getMaxScrollOffset(),s];const r=s==="end"?i.end+this.options.scrollPaddingEnd:i.start-this.options.scrollPaddingStart;return[this.getOffsetForAlignment(r,s,i.size),s]},this.scrollToOffset=(t,{align:s="start",behavior:e="auto"}={})=>{const n=this.getOffsetForAlignment(t,s),i=this.now();this.scrollState={index:null,align:s,behavior:e,startedAt:i,lastTargetOffset:n,stableFrames:0},this._scrollToOffset(n,{adjustments:void 0,behavior:e}),this.scheduleScrollReconcile()},this.scrollToIndex=(t,{align:s="auto",behavior:e="auto"}={})=>{t=Math.max(0,Math.min(t,this.options.count-1));const n=this.getOffsetForIndex(t,s);if(!n)return;const[i,r]=n,l=this.now();this.scrollState={index:t,align:r,behavior:e,startedAt:l,lastTargetOffset:i,stableFrames:0},this._scrollToOffset(i,{adjustments:void 0,behavior:e}),this.scheduleScrollReconcile()},this.scrollBy=(t,{behavior:s="auto"}={})=>{const e=this.getScrollOffset()+t,n=this.now();this.scrollState={index:null,align:"start",behavior:s,startedAt:n,lastTargetOffset:e,stableFrames:0},this._scrollToOffset(e,{adjustments:void 0,behavior:s}),this.scheduleScrollReconcile()},this.getTotalSize=()=>{var t;const s=this.getMeasurements();let e;if(s.length===0)e=this.options.paddingStart;else if(this.options.lanes===1){const n=s.length-1,i=this._flatMeasurements;i!=null?e=i[n*2]+i[n*2+1]:e=((t=s[n])==null?void 0:t.end)??0}else{const n=Array(this.options.lanes).fill(null);let i=s.length-1;for(;i>=0&&n.some(r=>r===null);){const r=s[i];n[r.lane]===null&&(n[r.lane]=r.end),i--}e=Math.max(...n.filter(r=>r!==null))}return Math.max(e-this.options.scrollMargin+this.options.paddingEnd,0)},this.takeSnapshot=()=>{const t=[];if(this.itemSizeCache.size===0)return t;const s=this.getMeasurements();for(const e of s)e&&this.itemSizeCache.has(e.key)&&t.push({index:e.index,key:e.key,start:e.start,size:e.size,end:e.end,lane:e.lane});return t},this._scrollToOffset=(t,{adjustments:s,behavior:e})=>{this._intendedScrollOffset=t+(s??0),this.options.scrollToFn(t,{behavior:e,adjustments:s},this)},this.measure=()=>{this.pendingMin=null,this.itemSizeCache.clear(),this.laneAssignments.clear(),this.itemSizeCacheVersion++,this.notify(!1)},this.setOptions(a)}scheduleScrollReconcile(){if(!this.targetWindow){this.scrollState=null;return}this.rafId==null&&(this.rafId=this.targetWindow.requestAnimationFrame(()=>{this.rafId=null,this.reconcileScroll()}))}reconcileScroll(){if(!this.scrollState||!this.scrollElement)return;if(this.now()-this.scrollState.startedAt>5e3){this.scrollState=null;return}const s=this.scrollState.index!=null?this.getOffsetForIndex(this.scrollState.index,this.scrollState.align):void 0,e=s?s[0]:this.scrollState.lastTargetOffset,n=1,i=e!==this.scrollState.lastTargetOffset;if(!i&&P(e,this.getScrollOffset())){if(this.scrollState.stableFrames++,this.scrollState.stableFrames>=n){this.getScrollOffset()!==e&&this._scrollToOffset(e,{adjustments:void 0,behavior:"auto"}),this.scrollState=null;return}}else if(this.scrollState.stableFrames=0,i){const r=this.getSize()||600,l=Math.abs(e-this.getScrollOffset()),h=this.scrollState.behavior==="smooth"&&l>r;this.scrollState.lastTargetOffset=e,h||(this.scrollState.behavior="auto"),this._scrollToOffset(e,{adjustments:void 0,behavior:h?"smooth":"auto"})}this.scheduleScrollReconcile()}}const j=(o,a,t,s)=>{for(;o<=a;){const e=(o+a)/2|0,n=t(e);if(n<s)o=e+1;else if(n>s)a=e-1;else return e}return o>0?o-1:0};function st({measurements:o,outerSize:a,scrollOffset:t,lanes:s,flat:e}){const n=o.length-1,i=e?c=>e[c*2]:c=>o[c].start,r=e?c=>e[c*2]+e[c*2+1]:c=>o[c].end;if(o.length<=s)return{startIndex:0,endIndex:n};let l=j(0,n,i,t),h=l;if(s===1)for(;h<n&&r(h)<t+a;)h++;else if(s>1){const c=Array(s).fill(0);for(;h<n&&c.some(d=>d<t+a);){const d=o[h];c[d.lane]=d.end,h++}const f=Array(s).fill(t+a);for(;l>=0&&f.some(d=>d>=t);){const d=o[l];f[d.lane]=d.start,l--}l=Math.max(0,l-l%s),h=Math.min(n,h+(s-1-h%s))}return{startIndex:l,endIndex:h}}const F=typeof document<"u"?v.useLayoutEffect:v.useEffect;function nt({useFlushSync:o=!0,...a}){const t=v.useReducer(n=>n+1,0)[1],s={...a,onChange:(n,i)=>{var r;o&&i?N.flushSync(t):t(),(r=a.onChange)==null||r.call(a,n,i)}},[e]=v.useState(()=>new et(s));return e.setOptions(s),F(()=>e._didMount(),[]),F(()=>e._willUpdate()),e}function it(o){return nt({observeElementRect:q,observeElementOffset:Z,scrollToFn:tt,...o})}function ut({items:o,totalItems:a,parentRef:t,hasNextPage:s,isFetchingNextPage:e,fetchNextPage:n,estimateSize:i=()=>100,overscan:r=5}){const l=it({count:a,getScrollElement:()=>D(t.current),estimateSize:i,overscan:r}),h=l.getVirtualItems(),c=h.length>0?(h.at(0)?.start??0)-l.options.scrollMargin:0,f=h.length>0?l.getTotalSize()-(h.at(-1)?.end??0):0,d=h.map(u=>({virtualItem:u,key:u.key,item:o[u.index],props:{ref:l.measureElement,"data-index":u.index}})),I=d.at(-1)&&!d.at(-1)?.item;return v.useEffect(()=>{s&&I&&!e&&n()},[s,I,e,n]),{visibleItems:d,virtualizer:l,spaceBefore:c,spaceAfter:f}}const V=1e3,C="ghostVirtualListWindow";function ot({totalItems:o,unlockedItemCount:a}){const t=Math.min(o,a);return{visibleItemCount:t,canLoadMore:o>t}}function rt(o){return o+V}function lt(o,a){return`${o}::${a}`}function k(o,a,t=V){const s=o?.[C];if(!s||typeof s!="object")return t;const e=s[a];return typeof e!="number"||!Number.isFinite(e)?t:Math.max(1,Math.floor(e))}function at(o,a,t){if(typeof window>"u")return;const s=o?.[C],e={...o??{},[C]:{...s&&typeof s=="object"?s:{},[a]:t}};window.history.replaceState(e,"")}function z(){if(!(typeof window>"u"))return window.history.state}function dt(o,{resetKey:a}={}){const{key:t,pathname:s,search:e}=B(),i=lt(s,a??e),[r,l]=v.useState(()=>k(z(),i)),h=v.useRef(i);v.useEffect(()=>{if(h.current!==i){h.current=i,l(k(z(),i));return}at(z(),i,r)},[i,t,r]);const{visibleItemCount:c,canLoadMore:f}=ot({totalItems:o,unlockedItemCount:r});return{visibleItemCount:c,canLoadMore:f,loadMore:()=>l(d=>rt(d))}}export{ct as L,dt as a,D as g,ut as u};
|
|
1
|
+
import{d$ as A,J as H,eb as v,ea as N,fk as B}from"./index-CgSVv5Up.js";const ct=({isLoading:o,onClick:a})=>{const t=!!o;return A.jsx("div",{className:"flex justify-center px-4 py-6",children:A.jsx(H,{disabled:t,variant:"outline",onClick:a,children:t?"Loading more...":"Load more"})})};function D(o){const t=o instanceof HTMLElement&&window.getComputedStyle(o).overflowY,s=t!=="visible"&&t!=="hidden";if(o){if(s&&o.scrollHeight>=o.clientHeight)return o}else return null;return D(o.parentNode)||document.body}function K(o,a,t){const s=new Array(o);return new Proxy(s,{get(e,n,i){if(typeof n=="string"){const r=n.charCodeAt(0);if(r>=48&&r<=57){const l=+n;if(Number.isInteger(l)&&l>=0&&l<o){let h=e[l];if(!h){const c=a[l*2];h=e[l]={index:l,key:t(l),start:c,size:a[l*2+1],end:c+a[l*2+1],lane:0}}return h}}if(n==="length")return o}return Reflect.get(e,n,i)}})}function w(o,a,t){let s=t.initialDeps??[],e,n=!0;function i(){const r=o();return(r.length!==s.length||r.some((h,c)=>s[c]!==h))&&(s=r,e=a(...r),t?.onChange&&!(n&&t.skipInitialOnChange)&&t.onChange(e),n=!1),e}return i.updateDeps=r=>{s=r},i}function R(o,a){if(o===void 0)throw new Error("Unexpected undefined");return o}const P=(o,a)=>Math.abs(o-a)<1.01,U=(o,a,t)=>{let s;return function(...e){o.clearTimeout(s),s=o.setTimeout(()=>a.apply(this,e),t)}};let y;const L=()=>{if(y!==void 0)return y;if(typeof navigator>"u")return y=!1;if(/iP(hone|od|ad)/.test(navigator.userAgent))return y=!0;const o=navigator.maxTouchPoints;return y=navigator.platform==="MacIntel"&&o!==void 0&&o>0},W=o=>{const{offsetWidth:a,offsetHeight:t}=o;return{width:a,height:t}},J=o=>o,$=o=>{const a=Math.max(o.startIndex-o.overscan,0),s=Math.min(o.endIndex+o.overscan,o.count-1)-a+1,e=new Array(s);for(let n=0;n<s;n++)e[n]=a+n;return e},q=(o,a)=>{const t=o.scrollElement;if(!t)return;const s=o.targetWindow;if(!s)return;const e=i=>{const{width:r,height:l}=i;a({width:Math.round(r),height:Math.round(l)})};if(e(W(t)),!s.ResizeObserver)return()=>{};const n=new s.ResizeObserver(i=>{const r=()=>{const l=i[0];if(l?.borderBoxSize){const h=l.borderBoxSize[0];if(h){e({width:h.inlineSize,height:h.blockSize});return}}e(W(t))};o.options.useAnimationFrameWithResizeObserver?requestAnimationFrame(r):r()});return n.observe(t,{box:"border-box"}),()=>{n.unobserve(t)}},O={passive:!0},Y=typeof window>"u"?!0:"onscrollend"in window,X=(o,a,t)=>{const s=o.scrollElement;if(!s)return;const e=o.targetWindow;if(!e)return;const n=o.options.useScrollendEvent&&Y;let i=0;const r=n?null:U(e,()=>a(i,!1),o.options.isScrollingResetDelay),l=f=>()=>{i=t(s),r?.(),a(i,f)},h=l(!0),c=l(!1);return s.addEventListener("scroll",h,O),n&&s.addEventListener("scrollend",c,O),()=>{s.removeEventListener("scroll",h),n&&s.removeEventListener("scrollend",c)}},Z=(o,a)=>X(o,a,t=>{const{horizontal:s,isRtl:e}=o.options;return s?t.scrollLeft*(e&&-1||1):t.scrollTop}),G=(o,a,t)=>{if(a?.borderBoxSize){const s=a.borderBoxSize[0];if(s)return Math.round(s[t.options.horizontal?"inlineSize":"blockSize"])}return o[t.options.horizontal?"offsetWidth":"offsetHeight"]},Q=(o,{adjustments:a=0,behavior:t},s)=>{var e,n;(n=(e=s.scrollElement)==null?void 0:e.scrollTo)==null||n.call(e,{[s.options.horizontal?"left":"top"]:o+a,behavior:t})},tt=Q;class et{constructor(a){this.unsubs=[],this.scrollElement=null,this.targetWindow=null,this.isScrolling=!1,this.scrollState=null,this.measurementsCache=[],this._flatMeasurements=null,this.itemSizeCache=new Map,this.itemSizeCacheVersion=0,this.laneAssignments=new Map,this.pendingMin=null,this.prevLanes=void 0,this.lanesChangedFlag=!1,this.lanesSettling=!1,this.scrollRect=null,this.scrollOffset=null,this.scrollDirection=null,this.scrollAdjustments=0,this._iosDeferredAdjustment=0,this._iosTouching=!1,this._iosJustTouchEnded=!1,this._iosTouchEndTimerId=null,this._intendedScrollOffset=null,this.elementsCache=new Map,this.now=()=>{var t,s,e;return((e=(s=(t=this.targetWindow)==null?void 0:t.performance)==null?void 0:s.now)==null?void 0:e.call(s))??Date.now()},this.observer=(()=>{let t=null;const s=()=>t||(!this.targetWindow||!this.targetWindow.ResizeObserver?null:t=new this.targetWindow.ResizeObserver(e=>{e.forEach(n=>{const i=()=>{const r=n.target,l=this.indexFromElement(r);if(!r.isConnected){this.observer.unobserve(r);for(const[h,c]of this.elementsCache)if(c===r){this.elementsCache.delete(h);break}return}this.shouldMeasureDuringScroll(l)&&this.resizeItem(l,this.options.measureElement(r,n,this))};this.options.useAnimationFrameWithResizeObserver?requestAnimationFrame(i):i()})}));return{disconnect:()=>{var e;(e=s())==null||e.disconnect(),t=null},observe:e=>{var n;return(n=s())==null?void 0:n.observe(e,{box:"border-box"})},unobserve:e=>{var n;return(n=s())==null?void 0:n.unobserve(e)}}})(),this.range=null,this.setOptions=t=>{const s={debug:!1,initialOffset:0,overscan:1,paddingStart:0,paddingEnd:0,scrollPaddingStart:0,scrollPaddingEnd:0,horizontal:!1,getItemKey:J,rangeExtractor:$,onChange:()=>{},measureElement:G,initialRect:{width:0,height:0},scrollMargin:0,gap:0,indexAttribute:"data-index",initialMeasurementsCache:[],lanes:1,isScrollingResetDelay:150,enabled:!0,isRtl:!1,useScrollendEvent:!1,useAnimationFrameWithResizeObserver:!1,laneAssignmentMode:"estimate"};for(const e in t){const n=t[e];n!==void 0&&(s[e]=n)}this.options=s},this.notify=t=>{var s,e;(e=(s=this.options).onChange)==null||e.call(s,this,t)},this.maybeNotify=w(()=>(this.calculateRange(),[this.isScrolling,this.range?this.range.startIndex:null,this.range?this.range.endIndex:null]),t=>{this.notify(t)},{key:!1,debug:()=>this.options.debug,initialDeps:[this.isScrolling,this.range?this.range.startIndex:null,this.range?this.range.endIndex:null]}),this.cleanup=()=>{this.unsubs.filter(Boolean).forEach(t=>t()),this.unsubs=[],this.observer.disconnect(),this.rafId!=null&&this.targetWindow&&(this.targetWindow.cancelAnimationFrame(this.rafId),this.rafId=null),this.scrollState=null,this.scrollElement=null,this.targetWindow=null},this._didMount=()=>()=>{this.cleanup()},this._willUpdate=()=>{var t;const s=this.options.enabled?this.options.getScrollElement():null;if(this.scrollElement!==s){if(this.cleanup(),!s){this.maybeNotify();return}if(this.scrollElement=s,this.scrollElement&&"ownerDocument"in this.scrollElement?this.targetWindow=this.scrollElement.ownerDocument.defaultView:this.targetWindow=((t=this.scrollElement)==null?void 0:t.window)??null,this.elementsCache.forEach(e=>{this.observer.observe(e)}),this.unsubs.push(this.options.observeElementRect(this,e=>{this.scrollRect=e,this.maybeNotify()})),this.unsubs.push(this.options.observeElementOffset(this,(e,n)=>{this._intendedScrollOffset!==null&&Math.abs(e-this._intendedScrollOffset)<1.5&&(e=this._intendedScrollOffset),this._intendedScrollOffset=null,this.scrollAdjustments=0,this.scrollDirection=n?this.getScrollOffset()<e?"forward":"backward":null,this.scrollOffset=e,this.isScrolling=n,this._flushIosDeferredIfReady(),this.scrollState&&this.scheduleScrollReconcile(),this.maybeNotify()})),"addEventListener"in this.scrollElement){const e=this.scrollElement,n=()=>{this._iosTouching=!0,this._iosJustTouchEnded=!1,this._iosTouchEndTimerId!==null&&this.targetWindow!=null&&(this.targetWindow.clearTimeout(this._iosTouchEndTimerId),this._iosTouchEndTimerId=null)},i=()=>{this._iosTouching=!1,!(!L()||this.targetWindow==null)&&(this._iosJustTouchEnded=!0,this._iosTouchEndTimerId=this.targetWindow.setTimeout(()=>{this._iosJustTouchEnded=!1,this._iosTouchEndTimerId=null,this._flushIosDeferredIfReady()},150))};e.addEventListener("touchstart",n,O),e.addEventListener("touchend",i,O),this.unsubs.push(()=>{e.removeEventListener("touchstart",n),e.removeEventListener("touchend",i),this._iosTouchEndTimerId!==null&&this.targetWindow!=null&&(this.targetWindow.clearTimeout(this._iosTouchEndTimerId),this._iosTouchEndTimerId=null)})}this._scrollToOffset(this.getScrollOffset(),{adjustments:void 0,behavior:void 0})}},this._flushIosDeferredIfReady=()=>{if(this._iosDeferredAdjustment===0||this.isScrolling||this._iosTouching||this._iosJustTouchEnded)return;const t=this.getScrollOffset(),s=this.getMaxScrollOffset();if(t<0||t>s)return;const e=this._iosDeferredAdjustment;this._iosDeferredAdjustment=0,this._scrollToOffset(t,{adjustments:this.scrollAdjustments+=e,behavior:void 0})},this.rafId=null,this.getSize=()=>this.options.enabled?(this.scrollRect=this.scrollRect??this.options.initialRect,this.scrollRect[this.options.horizontal?"width":"height"]):(this.scrollRect=null,0),this.getScrollOffset=()=>this.options.enabled?(this.scrollOffset=this.scrollOffset??(typeof this.options.initialOffset=="function"?this.options.initialOffset():this.options.initialOffset),this.scrollOffset):(this.scrollOffset=null,0),this.getFurthestMeasurement=(t,s)=>{const e=new Map,n=new Map;for(let i=s-1;i>=0;i--){const r=t[i];if(e.has(r.lane))continue;const l=n.get(r.lane);if(l==null||r.end>l.end?n.set(r.lane,r):r.end<l.end&&e.set(r.lane,!0),e.size===this.options.lanes)break}return n.size===this.options.lanes?Array.from(n.values()).sort((i,r)=>i.end===r.end?i.index-r.index:i.end-r.end)[0]:void 0},this.getMeasurementOptions=w(()=>[this.options.count,this.options.paddingStart,this.options.scrollMargin,this.options.getItemKey,this.options.enabled,this.options.lanes,this.options.laneAssignmentMode],(t,s,e,n,i,r,l)=>(this.prevLanes!==void 0&&this.prevLanes!==r&&(this.lanesChangedFlag=!0),this.prevLanes=r,this.pendingMin=null,{count:t,paddingStart:s,scrollMargin:e,getItemKey:n,enabled:i,lanes:r,laneAssignmentMode:l}),{key:!1}),this.getMeasurements=w(()=>[this.getMeasurementOptions(),this.itemSizeCacheVersion],({count:t,paddingStart:s,scrollMargin:e,getItemKey:n,enabled:i,lanes:r,laneAssignmentMode:l},h)=>{const c=this.itemSizeCache;if(!i)return this.measurementsCache=[],this.itemSizeCache.clear(),this.laneAssignments.clear(),[];if(this.laneAssignments.size>t)for(const u of this.laneAssignments.keys())u>=t&&this.laneAssignments.delete(u);this.lanesChangedFlag&&(this.lanesChangedFlag=!1,this.lanesSettling=!0,this.measurementsCache=[],this.itemSizeCache.clear(),this.laneAssignments.clear(),this.pendingMin=null),this.measurementsCache.length===0&&!this.lanesSettling&&(this.measurementsCache=this.options.initialMeasurementsCache,this.measurementsCache.forEach(u=>{this.itemSizeCache.set(u.key,u.size)}));const f=this.lanesSettling?0:this.pendingMin??0;if(this.pendingMin=null,this.lanesSettling&&this.measurementsCache.length===t&&(this.lanesSettling=!1),r===1){const u=this.options.gap,S=t*2;let m=this._flatMeasurements;if(!m||m.length<S){const g=new Float64Array(S);m&&f>0&&g.set(m.subarray(0,f*2)),m=g,this._flatMeasurements=m}let p;if(f===0)p=s+e;else{const g=f-1;p=m[g*2]+m[g*2+1]+u}for(let g=f;g<t;g++){const _=n(g),M=c.get(_),x=typeof M=="number"?M:this.options.estimateSize(g);m[g*2]=p,m[g*2+1]=x,p+=x+u}const b=K(t,m,n);return this.measurementsCache=b,b}const d=this.measurementsCache.slice(0,f),I=new Array(r).fill(void 0);for(let u=0;u<f;u++){const S=d[u];S&&(I[S.lane]=u)}for(let u=f;u<t;u++){const S=n(u),m=this.laneAssignments.get(u);let p,b;const g=l==="estimate"||c.has(S);if(m!==void 0&&this.options.lanes>1){p=m;const E=I[p],T=E!==void 0?d[E]:void 0;b=T?T.end+this.options.gap:s+e}else{const E=this.options.lanes===1?d[u-1]:this.getFurthestMeasurement(d,u);b=E?E.end+this.options.gap:s+e,p=E?E.lane:u%this.options.lanes,this.options.lanes>1&&g&&this.laneAssignments.set(u,p)}const _=c.get(S),M=typeof _=="number"?_:this.options.estimateSize(u),x=b+M;d[u]={index:u,start:b,size:M,end:x,key:S,lane:p},I[p]=u}return this.measurementsCache=d,d},{key:!1,debug:()=>this.options.debug}),this.calculateRange=w(()=>[this.getMeasurements(),this.getSize(),this.getScrollOffset(),this.options.lanes],(t,s,e,n)=>this.range=t.length>0&&s>0?st({measurements:t,outerSize:s,scrollOffset:e,lanes:n,flat:n===1&&this._flatMeasurements!=null?this._flatMeasurements:null}):null,{key:!1,debug:()=>this.options.debug}),this.getVirtualIndexes=w(()=>{let t=null,s=null;const e=this.calculateRange();return e&&(t=e.startIndex,s=e.endIndex),this.maybeNotify.updateDeps([this.isScrolling,t,s]),[this.options.rangeExtractor,this.options.overscan,this.options.count,t,s]},(t,s,e,n,i)=>n===null||i===null?[]:t({startIndex:n,endIndex:i,overscan:s,count:e}),{key:!1,debug:()=>this.options.debug}),this.indexFromElement=t=>{const s=this.options.indexAttribute,e=t.getAttribute(s);return e?parseInt(e,10):(console.warn(`Missing attribute name '${s}={index}' on measured element.`),-1)},this.shouldMeasureDuringScroll=t=>{var s;if(!this.scrollState||this.scrollState.behavior!=="smooth")return!0;const e=this.scrollState.index??((s=this.getVirtualItemForOffset(this.scrollState.lastTargetOffset))==null?void 0:s.index);if(e!==void 0&&this.range){const n=Math.max(this.options.overscan,Math.ceil((this.range.endIndex-this.range.startIndex)/2)),i=Math.max(0,e-n),r=Math.min(this.options.count-1,e+n);return t>=i&&t<=r}return!0},this.measureElement=t=>{if(!t){this.elementsCache.forEach((i,r)=>{i.isConnected||(this.observer.unobserve(i),this.elementsCache.delete(r))});return}const s=this.indexFromElement(t),e=this.options.getItemKey(s),n=this.elementsCache.get(e);n!==t&&(n&&this.observer.unobserve(n),this.observer.observe(t),this.elementsCache.set(e,t)),(!this.isScrolling||this.scrollState)&&this.shouldMeasureDuringScroll(s)&&this.resizeItem(s,this.options.measureElement(t,void 0,this))},this.resizeItem=(t,s)=>{var e;if(t<0||t>=this.options.count)return;let n,i,r;const l=this._flatMeasurements;if(this.options.lanes===1&&l!==null)r=this.options.getItemKey(t),i=l[t*2],n=l[t*2+1];else{const f=this.measurementsCache[t];if(!f)return;r=f.key,i=f.start,n=f.size}const h=this.itemSizeCache.get(r)??n,c=s-h;c!==0&&(((e=this.scrollState)==null?void 0:e.behavior)!=="smooth"&&(this.shouldAdjustScrollPositionOnItemSizeChange!==void 0?this.shouldAdjustScrollPositionOnItemSizeChange(this.measurementsCache[t]??{index:t,key:r,start:i,size:n,end:i+n,lane:0},c,this):i<this.getScrollOffset()+this.scrollAdjustments&&this.scrollDirection!=="backward")&&(L()&&(this.isScrolling||this._iosTouching||this._iosJustTouchEnded)?this._iosDeferredAdjustment+=c:this._scrollToOffset(this.getScrollOffset(),{adjustments:this.scrollAdjustments+=c,behavior:void 0})),(this.pendingMin===null||t<this.pendingMin)&&(this.pendingMin=t),this.itemSizeCache.set(r,s),this.itemSizeCacheVersion++,this.notify(!1))},this.getVirtualItems=w(()=>[this.getVirtualIndexes(),this.getMeasurements()],(t,s)=>{const e=[];for(let n=0,i=t.length;n<i;n++){const r=t[n],l=s[r];e.push(l)}return e},{key:!1,debug:()=>this.options.debug}),this.getVirtualItemForOffset=t=>{const s=this.getMeasurements();if(s.length===0)return;const e=this._flatMeasurements,n=this.options.lanes===1&&e!=null,i=j(0,s.length-1,n?r=>e[r*2]:r=>R(s[r]).start,t);return R(s[i])},this.getMaxScrollOffset=()=>{if(!this.scrollElement)return 0;if("scrollHeight"in this.scrollElement)return this.options.horizontal?this.scrollElement.scrollWidth-this.scrollElement.clientWidth:this.scrollElement.scrollHeight-this.scrollElement.clientHeight;{const t=this.scrollElement.document.documentElement;return this.options.horizontal?t.scrollWidth-this.scrollElement.innerWidth:t.scrollHeight-this.scrollElement.innerHeight}},this.getOffsetForAlignment=(t,s,e=0)=>{if(!this.scrollElement)return 0;const n=this.getSize(),i=this.getScrollOffset();s==="auto"&&(s=t>=i+n?"end":"start"),s==="center"?t+=(e-n)/2:s==="end"&&(t-=n);const r=this.getMaxScrollOffset();return Math.max(Math.min(r,t),0)},this.getOffsetForIndex=(t,s="auto")=>{t=Math.max(0,Math.min(t,this.options.count-1));const e=this.getSize(),n=this.getScrollOffset(),i=this.measurementsCache[t];if(!i)return;if(s==="auto")if(i.end>=n+e-this.options.scrollPaddingEnd)s="end";else if(i.start<=n+this.options.scrollPaddingStart)s="start";else return[n,s];if(s==="end"&&t===this.options.count-1)return[this.getMaxScrollOffset(),s];const r=s==="end"?i.end+this.options.scrollPaddingEnd:i.start-this.options.scrollPaddingStart;return[this.getOffsetForAlignment(r,s,i.size),s]},this.scrollToOffset=(t,{align:s="start",behavior:e="auto"}={})=>{const n=this.getOffsetForAlignment(t,s),i=this.now();this.scrollState={index:null,align:s,behavior:e,startedAt:i,lastTargetOffset:n,stableFrames:0},this._scrollToOffset(n,{adjustments:void 0,behavior:e}),this.scheduleScrollReconcile()},this.scrollToIndex=(t,{align:s="auto",behavior:e="auto"}={})=>{t=Math.max(0,Math.min(t,this.options.count-1));const n=this.getOffsetForIndex(t,s);if(!n)return;const[i,r]=n,l=this.now();this.scrollState={index:t,align:r,behavior:e,startedAt:l,lastTargetOffset:i,stableFrames:0},this._scrollToOffset(i,{adjustments:void 0,behavior:e}),this.scheduleScrollReconcile()},this.scrollBy=(t,{behavior:s="auto"}={})=>{const e=this.getScrollOffset()+t,n=this.now();this.scrollState={index:null,align:"start",behavior:s,startedAt:n,lastTargetOffset:e,stableFrames:0},this._scrollToOffset(e,{adjustments:void 0,behavior:s}),this.scheduleScrollReconcile()},this.getTotalSize=()=>{var t;const s=this.getMeasurements();let e;if(s.length===0)e=this.options.paddingStart;else if(this.options.lanes===1){const n=s.length-1,i=this._flatMeasurements;i!=null?e=i[n*2]+i[n*2+1]:e=((t=s[n])==null?void 0:t.end)??0}else{const n=Array(this.options.lanes).fill(null);let i=s.length-1;for(;i>=0&&n.some(r=>r===null);){const r=s[i];n[r.lane]===null&&(n[r.lane]=r.end),i--}e=Math.max(...n.filter(r=>r!==null))}return Math.max(e-this.options.scrollMargin+this.options.paddingEnd,0)},this.takeSnapshot=()=>{const t=[];if(this.itemSizeCache.size===0)return t;const s=this.getMeasurements();for(const e of s)e&&this.itemSizeCache.has(e.key)&&t.push({index:e.index,key:e.key,start:e.start,size:e.size,end:e.end,lane:e.lane});return t},this._scrollToOffset=(t,{adjustments:s,behavior:e})=>{this._intendedScrollOffset=t+(s??0),this.options.scrollToFn(t,{behavior:e,adjustments:s},this)},this.measure=()=>{this.pendingMin=null,this.itemSizeCache.clear(),this.laneAssignments.clear(),this.itemSizeCacheVersion++,this.notify(!1)},this.setOptions(a)}scheduleScrollReconcile(){if(!this.targetWindow){this.scrollState=null;return}this.rafId==null&&(this.rafId=this.targetWindow.requestAnimationFrame(()=>{this.rafId=null,this.reconcileScroll()}))}reconcileScroll(){if(!this.scrollState||!this.scrollElement)return;if(this.now()-this.scrollState.startedAt>5e3){this.scrollState=null;return}const s=this.scrollState.index!=null?this.getOffsetForIndex(this.scrollState.index,this.scrollState.align):void 0,e=s?s[0]:this.scrollState.lastTargetOffset,n=1,i=e!==this.scrollState.lastTargetOffset;if(!i&&P(e,this.getScrollOffset())){if(this.scrollState.stableFrames++,this.scrollState.stableFrames>=n){this.getScrollOffset()!==e&&this._scrollToOffset(e,{adjustments:void 0,behavior:"auto"}),this.scrollState=null;return}}else if(this.scrollState.stableFrames=0,i){const r=this.getSize()||600,l=Math.abs(e-this.getScrollOffset()),h=this.scrollState.behavior==="smooth"&&l>r;this.scrollState.lastTargetOffset=e,h||(this.scrollState.behavior="auto"),this._scrollToOffset(e,{adjustments:void 0,behavior:h?"smooth":"auto"})}this.scheduleScrollReconcile()}}const j=(o,a,t,s)=>{for(;o<=a;){const e=(o+a)/2|0,n=t(e);if(n<s)o=e+1;else if(n>s)a=e-1;else return e}return o>0?o-1:0};function st({measurements:o,outerSize:a,scrollOffset:t,lanes:s,flat:e}){const n=o.length-1,i=e?c=>e[c*2]:c=>o[c].start,r=e?c=>e[c*2]+e[c*2+1]:c=>o[c].end;if(o.length<=s)return{startIndex:0,endIndex:n};let l=j(0,n,i,t),h=l;if(s===1)for(;h<n&&r(h)<t+a;)h++;else if(s>1){const c=Array(s).fill(0);for(;h<n&&c.some(d=>d<t+a);){const d=o[h];c[d.lane]=d.end,h++}const f=Array(s).fill(t+a);for(;l>=0&&f.some(d=>d>=t);){const d=o[l];f[d.lane]=d.start,l--}l=Math.max(0,l-l%s),h=Math.min(n,h+(s-1-h%s))}return{startIndex:l,endIndex:h}}const F=typeof document<"u"?v.useLayoutEffect:v.useEffect;function nt({useFlushSync:o=!0,...a}){const t=v.useReducer(n=>n+1,0)[1],s={...a,onChange:(n,i)=>{var r;o&&i?N.flushSync(t):t(),(r=a.onChange)==null||r.call(a,n,i)}},[e]=v.useState(()=>new et(s));return e.setOptions(s),F(()=>e._didMount(),[]),F(()=>e._willUpdate()),e}function it(o){return nt({observeElementRect:q,observeElementOffset:Z,scrollToFn:tt,...o})}function ut({items:o,totalItems:a,parentRef:t,hasNextPage:s,isFetchingNextPage:e,fetchNextPage:n,estimateSize:i=()=>100,overscan:r=5}){const l=it({count:a,getScrollElement:()=>D(t.current),estimateSize:i,overscan:r}),h=l.getVirtualItems(),c=h.length>0?(h.at(0)?.start??0)-l.options.scrollMargin:0,f=h.length>0?l.getTotalSize()-(h.at(-1)?.end??0):0,d=h.map(u=>({virtualItem:u,key:u.key,item:o[u.index],props:{ref:l.measureElement,"data-index":u.index}})),I=d.at(-1)&&!d.at(-1)?.item;return v.useEffect(()=>{s&&I&&!e&&n()},[s,I,e,n]),{visibleItems:d,virtualizer:l,spaceBefore:c,spaceAfter:f}}const V=1e3,C="ghostVirtualListWindow";function ot({totalItems:o,unlockedItemCount:a}){const t=Math.min(o,a);return{visibleItemCount:t,canLoadMore:o>t}}function rt(o){return o+V}function lt(o,a){return`${o}::${a}`}function k(o,a,t=V){const s=o?.[C];if(!s||typeof s!="object")return t;const e=s[a];return typeof e!="number"||!Number.isFinite(e)?t:Math.max(1,Math.floor(e))}function at(o,a,t){if(typeof window>"u")return;const s=o?.[C],e={...o??{},[C]:{...s&&typeof s=="object"?s:{},[a]:t}};window.history.replaceState(e,"")}function z(){if(!(typeof window>"u"))return window.history.state}function dt(o,{resetKey:a}={}){const{key:t,pathname:s,search:e}=B(),i=lt(s,a??e),[r,l]=v.useState(()=>k(z(),i)),h=v.useRef(i);v.useEffect(()=>{if(h.current!==i){h.current=i,l(k(z(),i));return}at(z(),i,r)},[i,t,r]);const{visibleItemCount:c,canLoadMore:f}=ot({totalItems:o,unlockedItemCount:r});return{visibleItemCount:c,canLoadMore:f,loadMore:()=>l(d=>rt(d))}}export{ct as L,dt as a,D as g,ut as u};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{
|
|
1
|
+
import{cT as c}from"./index-CgSVv5Up.js";const t=[["path",{d:"M22 12h-2.48a2 2 0 0 0-1.93 1.46l-2.35 8.36a.25.25 0 0 1-.48 0L9.24 2.18a.25.25 0 0 0-.48 0l-2.35 8.36A2 2 0 0 1 4.49 12H2",key:"169zse"}]],i=c("activity",t);const a=[["path",{d:"M13.744 17.736a6 6 0 1 1-7.48-7.48",key:"bq4yh3"}],["path",{d:"M15 6h1v4",key:"11y1tn"}],["path",{d:"m6.134 14.768.866-.5 2 3.464",key:"17snzx"}],["circle",{cx:"16",cy:"8",r:"6",key:"14bfc9"}]],s=c("coins",a);const e=[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",key:"afitv7"}],["path",{d:"M3 9a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2",key:"4125el"}],["path",{d:"M3 11h3c.8 0 1.6.3 2.1.9l1.1.9c1.6 1.6 4.1 1.6 5.7 0l1.1-.9c.5-.5 1.3-.9 2.1-.9H21",key:"1dpki6"}]],d=c("wallet-cards",e);export{i as A,s as C,d as W};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{dY as t,aC as be,bL as xe,bP as Se,bU as je,J as oe,bQ as Ce,bS as _e,bT as Ne,bR as ve,aG as Le,dc as ye,dd as Te,ey as Ee,e8 as l,ck as Fe,aw as X,cf as Oe,cg as ke,dn as ne,de as K,c2 as De,fx as Ie,fj as Me,fp as we,dp as Ae,E as Pe}from"./index-Bs6rUYFS.js";import{u as H,c as ie,S as re,A as Z,b as z,a as q,U as le}from"./post-analytics-context-BJwP-XAB.js";import{S as Ue,e as Ve,f as Re,a as Be,b as ze,d as $e,c as Ke}from"./select-BGJXWb8i.js";import{C as Ge,a as He}from"./loader-circle-nmLqhMZL.js";import{b as We,a as Qe,S as Ye,g as qe}from"./kpis-B8pv3wne.js";import{F as Je,c as W,e as ce}from"./en-DCwBNJ98.js";import{C as ue,d as Xe,e as Ze,b as et,a as de,c as tt,T as st,j as $,f as ee}from"./pagemenu-BGhty1iq.js";import{D as at,d as ot,c as te,b as nt,i as it,a as rt,e as lt,f as ct,g as ut,h as dt}from"./data-list-QWLEHG4y.js";import{a as mt,P as pt}from"./post-analytics-header-CZF5QmAD.js";import{h as ht,i as gt}from"./filters-DmawZ5Uu.js";import{i as ft,g as bt,F as xt,S as St,T as jt}from"./gh-chart-vpcpdiS9.js";import{e as Ct}from"./upload-BDz0_o9b.js";import{F as _t}from"./pin-off-HWos3YHh.js";import{E as Nt}from"./empty-indicator-Dg64lT_g.js";import"./posts-D6K0FKB9.js";import"./chevron-up-D__wzyXT.js";import"./source-icon-XMs0toB0.js";import"./mail-D7cxYMd5.js";import"./source-utils-B1S3ZHA2.js";import"./arrow-right-DckEQtp9.js";import"./tabs-Dl3BXr4Z.js";import"./kpi-tabs-Kxc-utyg.js";import"./post-share-modal-Bb8R05dH.js";import"./share-modal-B8pN_3tk.js";import"./copy-D9JONGcK.js";import"./get-site-timezone-BDBAcjmq.js";import"./post-helpers-BLitiasQ.js";import"./trash-BHoSD8mS.js";import"./eye-psLxWnjO.js";import"./a-large-small-DOzPDzKp.js";import"./wallet-cards-BorRQari.js";import"./undo-2-BwYMlB8G.js";import"./chart-CjM1VQqH.js";import"./_baseAssignValue-XVHfKew7.js";import"./index-B6SD2Qs-.js";import"./value-BTdN53H7.js";import"./at-sign-BChf68aS.js";import"./underline-1YSgOpPm.js";import"./power-D5QO6MjY.js";import"./hash-Q1ou0OMZ.js";import"./inbox-BAOtR6tN.js";import"./minus-Dv51QEND.js";import"./pencil-DiA3J4m5.js";import"./square-atKnWQyw.js";import"./user-round-check-DKooQiV7.js";import"./repeat-BwgUDBQn.js";import"./reply-DbknkQhJ.js";import"./rocket-1EqU2MzS.js";import"./send-_CqvCQBY.js";import"./sprout-uA_pVmDr.js";import"./tags-D-W0kJMe.js";import"./thumbs-up-DZu4SX5N.js";import"./user-round-x-B94nAYJb.js";const se=()=>{const{range:e,setRange:s}=H();return t.jsxs(Ue,{value:`${e}`,onValueChange:a=>{s(Number(a))},children:[t.jsxs(Ve,{className:"w-auto",children:[t.jsx(Ge,{className:"mr-2",size:16,strokeWidth:1.5}),t.jsx(Re,{placeholder:"Select a period"})]}),t.jsx(Be,{align:"end",children:t.jsxs(ze,{children:[t.jsx($e,{children:"Period"}),Object.values(ie).map(a=>t.jsx(Ke,{value:`${a.value}`,children:a.name},a.value))]})})]})};W.registerLocale(ce);const vt=e=>re[e]||W.getName(e,"en")||"Unknown",Lt=e=>{const s={"UNITED STATES":"US","UNITED STATES OF AMERICA":"US",USA:"US","UNITED KINGDOM":"GB",UK:"GB","GREAT BRITAIN":"GB",NETHERLANDS:"NL"},a=e.toUpperCase();return s[a]||(e.length>2?e.substring(0,2):e)},ae=({tableHeader:e,data:s,onLocationClick:a})=>t.jsxs(at,{children:[e&&t.jsxs(ot,{children:[t.jsx(te,{children:"Country"}),t.jsx(te,{children:"Visitors"})]}),t.jsx(nt,{children:s.map(i=>{const o=vt(`${i.location}`),r=a&&i.location!=="Unknown",c=i.location?i.location.toLowerCase():"unknown";return t.jsxs(it,{className:r?"cursor-pointer":"","data-testid":`location-row-${c}`,onClick:r?()=>a(i.location):void 0,children:[t.jsx(rt,{style:{width:`${i.percentage?Math.round(i.percentage*100):0}%`}}),t.jsx(lt,{className:"group-hover/data:max-w-[calc(100%-140px)]",children:t.jsxs("div",{className:"flex items-center space-x-3 overflow-hidden",title:o,children:[t.jsx(Je,{countryCode:`${Lt(i.location)}`,fallback:t.jsx("span",{className:"flex h-[14px] w-[22px] items-center justify-center rounded-[2px] bg-black text-white",children:t.jsx(Le.SkullAndBones,{className:"size-3"})})}),t.jsx("div",{className:"truncate font-medium",children:o})]})}),t.jsxs(ct,{children:[t.jsx(ut,{children:ye(Number(i.visits))}),t.jsx(dt,{children:Te(i.percentage)})]})]},i.location||"unknown")})})]}),yt=({data:e,isLoading:s,onLocationClick:a})=>{const i=e.slice(0,10);return t.jsx(t.Fragment,{children:s?"":t.jsx(t.Fragment,{children:e&&e.length>0&&t.jsxs(ue,{className:"group/datalist","data-testid":"locations-card",children:[t.jsxs("div",{className:"flex items-center justify-between p-6",children:[t.jsxs(Xe,{className:"p-0",children:[t.jsx(Ze,{children:"Locations"}),t.jsx(et,{children:"Where are the readers of this post"})]}),t.jsx(be,{className:"mr-2",children:"Visitors"})]}),t.jsxs(de,{className:"overflow-hidden",children:[t.jsx(xe,{}),t.jsx(ae,{data:i,tableHeader:!1,onLocationClick:a})]}),e.length>10&&t.jsx(tt,{children:t.jsxs(Se,{children:[t.jsx(je,{asChild:!0,children:t.jsxs(oe,{variant:"outline",children:["View all ",t.jsx(st,{})]})}),t.jsxs(Ce,{className:"overflow-y-auto pt-0 sm:max-w-[420px]",children:[t.jsxs(_e,{className:"sticky top-0 z-40 -mx-6 bg-background/60 p-6 backdrop-blur",children:[t.jsx(Ne,{children:"Top locations"}),t.jsx(ve,{children:"Where are the readers of this post"})]}),t.jsx("div",{className:"group/datalist",children:t.jsx(ae,{data:e,tableHeader:!0,onLocationClick:a})})]})]})})]})})})},me=e=>!e||e.length===0?Z:z.filter(s=>e.includes(s.value)).reduce((s,a)=>s|a.bit,0)||Z,pe=e=>{const s=[];return(e&q.PUBLIC)!==0&&s.push(z[0].value),(e&q.FREE)!==0&&s.push(z[1].value),(e&q.PAID)!==0&&s.push(z[2].value),s.join(",")};W.registerLocale(ce);const Tt=e=>re[e]||W.getName(e,"en")||e,Et=({visits:e})=>t.jsx("span",{className:"order-2 font-mono text-xs text-muted-foreground",children:e.toLocaleString()}),Ft={utm_source:{endpoint:"api_top_utm_sources",valueKey:"utm_source",transformValue:e=>({value:e||"(not set)",label:e||"(not set)"})},utm_medium:{endpoint:"api_top_utm_mediums",valueKey:"utm_medium",transformValue:e=>({value:e||"(not set)",label:e||"(not set)"})},utm_campaign:{endpoint:"api_top_utm_campaigns",valueKey:"utm_campaign",transformValue:e=>({value:e||"(not set)",label:e||"(not set)"})},utm_content:{endpoint:"api_top_utm_contents",valueKey:"utm_content",transformValue:e=>({value:e||"(not set)",label:e||"(not set)"})},utm_term:{endpoint:"api_top_utm_terms",valueKey:"utm_term",transformValue:e=>({value:e||"(not set)",label:e||"(not set)"})},source:{endpoint:"api_top_sources",valueKey:"source",transformValue:e=>({value:e||"",label:e||"Direct"})},location:{endpoint:"api_top_locations",valueKey:"location",filterItem(e){const s=String(e.location||"");return s!==""&&!le.includes(s)},transformValue:e=>({value:e,label:Tt(e)})},device:{endpoint:"api_top_devices",valueKey:"device",transformValue:e=>({value:e,label:e==="mobile-ios"?"iOS":e==="mobile-android"?"Android":e==="desktop"?"Desktop":e==="bot"?"Bot":e})}},Ot=(e,s,a)=>{const i={...a};return e.forEach(o=>{if(o.field===s||o.values.length===0)return;const r=o.values[0];o.field!=="audience"&&(o.field==="source"||o.field==="device"||o.field==="location"||o.field.startsWith("utm_"))&&(i[o.field]=r)}),i},O=(e,s=[],a,i={})=>{const{enabled:o=!0}=i,{statsConfig:r,range:c}=H(),{startDate:b,endDate:m,timezone:x}=ne(c),p=Ft[e],d=l.useMemo(()=>{const j=s.find(h=>h.field==="audience");return me(j?.values)},[s]),S=l.useMemo(()=>{const j={site_uuid:r?.id||"",date_from:K(b),date_to:K(m),timezone:x,member_status:pe(d),limit:"50"};return a&&(j.post_uuid=a),Ot(s,e,j)},[r?.id,b,m,x,d,s,e,a]),{data:v,loading:k}=$({endpoint:p?.endpoint||"",statsConfig:r,params:S,enabled:o&&!!p});return{options:l.useMemo(()=>p?(v||[]).filter(h=>p.filterItem?p.filterItem(h):!0).map(h=>{const E=String(h[p.valueKey]??""),w=Number(h.visits)||0,{value:F,label:y}=p.transformValue?p.transformValue(E):{value:E,label:E};return{label:y,value:F,icon:t.jsx(Et,{visits:w})}}):[],[v,p]),loading:k}};function kt({filters:e,onChange:s,...a}){const{appSettings:i}=Ee(),{post:o}=H(),r=o?.uuid,[c,b]=l.useState(null),[m,x]=l.useState(!1);l.useEffect(()=>{const g=window.matchMedia("(max-width: 1024px)"),_=T=>{x(T.matches)};return _(g),g.addEventListener("change",_),()=>g.removeEventListener("change",_)},[]);const p=l.useMemo(()=>{const g=[{value:"undefined",label:"Public visitors",icon:t.jsx(X,{className:"text-gray-700"})},{value:"free",label:"Free members",icon:t.jsx(Oe,{className:"text-green"})},{value:"paid",label:"Paid members",icon:t.jsx(ke,{className:"text-orange"})}];return i?.paidMembersEnabled?g:g.filter(_=>_.value!=="paid")},[i?.paidMembersEnabled]),d=l.useCallback(g=>{const _=c===g,T=e.some(n=>n.field===g);return _||T},[c,e]),{options:S,loading:v}=O("utm_source",e,r,{enabled:d("utm_source")}),{options:k,loading:M}=O("utm_medium",e,r,{enabled:d("utm_medium")}),{options:j,loading:h}=O("utm_campaign",e,r,{enabled:d("utm_campaign")}),{options:E,loading:w}=O("utm_content",e,r,{enabled:d("utm_content")}),{options:F,loading:y}=O("utm_term",e,r,{enabled:d("utm_term")}),{options:R,loading:D}=O("source",e,r,{enabled:d("source")}),{options:U,loading:I}=O("device",e,r,{enabled:d("device")}),{options:B,loading:A}=O("location",e,r,{enabled:d("location")}),C=l.useMemo(()=>[{value:"is",label:"is"}],[]),Q=l.useMemo(()=>{const g=[{key:"utm_source",label:"UTM Source",type:"select",icon:t.jsx(Ct,{className:"size-4"}),placeholder:"Select source",operators:C,defaultOperator:"is",hideOperatorSelect:!0,options:S,isLoading:v,searchable:!0,selectedOptionsClassName:"hidden"},{key:"utm_medium",label:"UTM Medium",type:"select",icon:t.jsx(St,{className:"size-4"}),placeholder:"Select medium",operators:C,defaultOperator:"is",hideOperatorSelect:!0,options:k,isLoading:M,className:"w-60",popoverContentClassName:"w-60",searchable:!0,selectedOptionsClassName:"hidden"},{key:"utm_campaign",label:"UTM Campaign",type:"select",icon:t.jsx(_t,{className:"size-4"}),placeholder:"Select campaign",operators:C,defaultOperator:"is",hideOperatorSelect:!0,options:j,isLoading:h,className:"w-60",popoverContentClassName:"w-60",searchable:!0,selectedOptionsClassName:"hidden"},{key:"utm_content",label:"UTM Content",type:"select",icon:t.jsx(jt,{className:"size-4"}),placeholder:"Select content",operators:C,defaultOperator:"is",hideOperatorSelect:!0,options:E,isLoading:w,className:"w-60",popoverContentClassName:"w-60",searchable:!0,selectedOptionsClassName:"hidden"},{key:"utm_term",label:"UTM Term",type:"select",icon:t.jsx(De,{className:"size-4"}),placeholder:"Select term",operators:C,defaultOperator:"is",hideOperatorSelect:!0,options:F,isLoading:y,className:"w-60",popoverContentClassName:"w-60",searchable:!0,selectedOptionsClassName:"hidden"}];return[{group:"Basic",fields:[{key:"audience",label:"Audience",type:"multiselect",icon:t.jsx(Fe,{}),options:p.map(({value:_,label:T,icon:n})=>({value:_,label:T,icon:n})),defaultOperator:"is any of",hideOperatorSelect:!0,autoCloseOnSelect:!0},{key:"source",label:"Source",type:"select",icon:t.jsx(X,{className:"size-4"}),placeholder:"Select source",operators:C,defaultOperator:"is",hideOperatorSelect:!0,options:R,isLoading:D,className:"w-60",popoverContentClassName:"w-60",searchable:!0,selectedOptionsClassName:"hidden"},{key:"device",label:"Device",type:"select",icon:t.jsx(ft,{className:"size-4"}),placeholder:"Select device",operators:C,defaultOperator:"is",hideOperatorSelect:!0,options:U,isLoading:I,selectedOptionsClassName:"hidden"},{key:"location",label:"Location",type:"select",icon:t.jsx(bt,{className:"size-4"}),placeholder:"Select location",operators:C,defaultOperator:"is",hideOperatorSelect:!0,options:B,isLoading:A,searchable:!0,selectedOptionsClassName:"hidden"}]},{group:"UTM parameters",fields:g}]},[S,v,k,M,j,h,E,w,F,y,C,p,R,D,U,I,B,A]),P=e.length>0,Y=l.useCallback(()=>{s&&s([])},[s]);return t.jsxs("div",{className:"mt-3 flex w-full justify-between gap-2 lg:mt-0","data-testid":"stats-filter-container",children:[t.jsx(ht,{addButtonIcon:t.jsx(He,{}),addButtonText:P?"Add filter":"Filter",allowMultiple:!1,className:`[&>button]:order-last ${P&&"[&>button]:border-none"}`,fields:Q,filters:e,keyboardShortcut:"f",popoverAlign:m||P?"start":"end",showSearchInput:!1,onActiveFieldChange:b,onChange:s||(()=>{}),...a}),P&&t.jsxs(oe,{className:"hidden font-normal text-muted-foreground lg:flex","data-testid":"stats-filter-clear-button",variant:"ghost",onClick:Y,children:[t.jsx(xt,{}),"Clear"]})]})}const G=["audience","source","device","location","utm_source","utm_medium","utm_campaign","utm_content","utm_term"],he="__empty__",ge="%2C";function Dt(e){const s=new URLSearchParams;return e.forEach(a=>{if(G.includes(a.field)&&a.values.length>0){const i=a.values.map(o=>o===""?he:String(o).replace(/,/g,ge)).join(",");s.set(a.field,i)}}),s}const J=new Map;function It(e){return J.has(e)||J.set(e,`url-${e}-${Date.now()}-${Math.random().toString(36).substring(2,11)}`),J.get(e)}function Mt(e){const s=[],a=new Set(G);return e.forEach((i,o)=>{if(!a.has(o))return;const r=i.split(",").map(c=>c===he?"":c.replace(new RegExp(ge,"g"),","));if(r.length>0){const c=o==="audience"?"is any of":"is";s.push({id:It(o),field:o,operator:c,values:r})}}),s}function wt(e={}){const[s,a]=Ie(),{onFiltersChange:i}=e,o=l.useRef(!1),r=l.useMemo(()=>Mt(s),[s]);l.useEffect(()=>{!o.current&&i&&i(r)},[r,i]);const c=l.useCallback(m=>{o.current=!0;const x=typeof m=="function"?m(r):m,p=Dt(x),d=new URLSearchParams(s);G.forEach(S=>{d.delete(S)}),p.forEach((S,v)=>{d.set(v,S)}),a(d,{replace:!0}),setTimeout(()=>{o.current=!1},0)},[r,s,a]),b=l.useCallback(()=>{o.current=!0;const m=new URLSearchParams(s);G.forEach(x=>{m.delete(x)}),a(m,{replace:!0}),setTimeout(()=>{o.current=!1},0)},[s,a]);return{filters:r,setFilters:c,clearFilters:b}}const ws=()=>{const e=Me(),{postId:s}=we(),{statsConfig:a,isLoading:i,range:o,data:r,post:c,isPostLoading:b}=H(),{filters:m,setFilters:x}=wt(),p=l.useMemo(()=>{const n=m.find(f=>f.field==="audience");return me(n?.values)},[m]);l.useEffect(()=>{!b&&c?.email_only&&e(`/posts/analytics/${s}`)},[b,c?.email_only,e,s]);const d=l.useMemo(()=>{if(!c?.published_at)return ie.ALL_TIME.value;const n=Ae(c.published_at);return o>n?n:o},[c?.published_at,o]),{startDate:S,endDate:v,timezone:k}=ne(d),M=l.useCallback(()=>{const n=document.querySelector(".overflow-y-scroll");n&&n.scrollTo({top:0,behavior:"smooth"})},[]),j=l.useMemo(()=>{const n={};return m.forEach(f=>{const N=f.field,L=f.values;if(N==="audience")return;const u=L&&L.length>0&&L[0]!==null&&L[0]!==void 0,V=N==="source"&&L?.[0]==="";if(u&&(L[0]!==""||V)){const fe=String(L[0]);n[N]=fe}}),n},[m]),h=l.useCallback((n,f)=>{x(N=>N.find(u=>u.field===n)?N.map(u=>u.field===n?{...u,values:[f]}:u):[...N,gt(n,"is",[f])]),M()},[x,M]),E=l.useCallback(n=>h("location",n),[h]),w=l.useCallback(n=>h("source",n),[h]),F=l.useMemo(()=>{const n={site_uuid:a?.id||"",date_from:K(S),date_to:K(v),timezone:k,member_status:pe(p),post_uuid:"",...j};return!b&&c?.uuid?{...n,post_uuid:c.uuid}:n},[b,c,a?.id,S,v,k,p,j]),{data:y,loading:R}=$({endpoint:"api_kpis",statsConfig:a||{id:""},params:F}),{data:D,loading:U}=$({endpoint:"api_top_locations",statsConfig:a||{id:""},params:F}),{data:I,loading:B}=$({endpoint:"api_top_sources",statsConfig:a||{id:""},params:F}),A=l.useMemo(()=>D?.reduce((n,f)=>n+Number(f.visits),0)||0,[D]),C=l.useMemo(()=>I?I.reduce((n,f)=>n+Number(f.visits||0),0):0,[I]),Q=r?.url,P=r?.icon,Y=l.useMemo(()=>{const n=D?.map(u=>({location:String(u.location),visits:Number(u.visits),percentage:A>0?Number(u.visits)/A:0,isUnknown:le.includes(String(u.location))}))||[],f=n.filter(u=>!u.isUnknown),N=n.filter(u=>u.isUnknown),L=N.length>0?[{location:"Unknown",visits:N.reduce((u,V)=>u+V.visits,0),percentage:N.reduce((u,V)=>u+V.percentage,0)}]:[];return[...f,...L]},[D,A]),g=i||b||R||U||B,_=We(y),T=m.length>0;return t.jsxs(t.Fragment,{children:[t.jsxs(mt,{currentTab:"Web",children:[T&&t.jsx(ee,{children:t.jsx(se,{})}),t.jsxs(ee,{className:`${T?"mt-0! [grid-area:subactions] lg:mt-[25px]!":"[grid-area:actions]"}`,children:[t.jsx(kt,{filters:m,onChange:x}),!T&&t.jsx(se,{})]})]}),t.jsx(pt,{children:g?t.jsx(ue,{className:"size-full",variant:"plain",children:t.jsx(de,{className:"size-full items-center justify-center",children:t.jsx(Pe,{})})}):y&&y.length!==0&&_.visits!=="0"?t.jsxs(t.Fragment,{children:[t.jsx(Qe,{data:y,range:d}),t.jsxs("div",{className:"flex flex-col gap-6 lg:grid lg:grid-cols-2",children:[t.jsx(yt,{data:Y,isLoading:U,onLocationClick:E}),t.jsx(Ye,{data:I,range:d,siteIcon:P,siteUrl:Q,totalVisitors:C,onSourceClick:w})]})]}):t.jsx("div",{className:"grow",children:t.jsx(Nt,{className:"h-full",description:"Try adjusting filters to see more data.",title:`No visitors ${qe(o)}`,children:t.jsx(X,{strokeWidth:1.5})})})})]})};export{ws as default};
|
|
1
|
+
import{d$ as t,aC as be,bN as xe,bR as Se,bW as je,J as oe,bS as Ce,bU as _e,bV as Ne,bT as ve,aH as Le,de as ye,df as Te,eB as Ee,eb as l,cm as Fe,aw as X,ch as Oe,ci as ke,dq as ne,dg as K,c4 as De,fB as Ie,fn as Me,ft as we,dr as Ae,E as Pe}from"./index-CgSVv5Up.js";import{u as H,c as ie,S as re,A as Z,b as z,a as Y,U as le}from"./post-analytics-context-jKeUh2Ka.js";import{S as Ue,e as Ve,f as Re,a as Be,b as ze,d as $e,c as Ke}from"./select-MGAxyhXP.js";import{C as Ge,a as He}from"./loader-circle-CIq5Cv-9.js";import{b as We,a as Qe,S as qe,g as Ye}from"./kpis-CkD0Xteg.js";import{F as Je,c as W,e as ce}from"./en-BEcDl42w.js";import{C as ue,d as Xe,e as Ze,b as et,a as de,c as tt,T as st,j as $,f as ee}from"./pagemenu-DrueoEX9.js";import{D as at,d as ot,c as te,b as nt,i as it,a as rt,e as lt,f as ct,g as ut,h as dt}from"./data-list-Daha2dIs.js";import{a as mt,P as pt}from"./post-analytics-header-C5QLn6Lm.js";import{h as ht,i as gt}from"./filters-Cp1voB1e.js";import{i as ft,g as bt,F as xt,S as St,T as jt}from"./gh-chart-BFsyOJD_.js";import{e as Ct}from"./upload-BPOrFdtp.js";import{F as _t}from"./pin-off-BDeHGsSQ.js";import{E as Nt}from"./empty-indicator-BIUvv6JE.js";import"./posts-bRma2Aji.js";import"./chevron-up-BxijmTT9.js";import"./source-icon-CYt4X1-M.js";import"./mail-gdeIU06V.js";import"./source-utils-B1S3ZHA2.js";import"./arrow-right-BxdHN_En.js";import"./tabs-2KXMNRG-.js";import"./kpi-tabs-8vaI7yWq.js";import"./post-share-modal-04B7JT4R.js";import"./share-modal-CsNAIPeN.js";import"./copy-ht18t5gu.js";import"./get-site-timezone-BDBAcjmq.js";import"./post-helpers-BLitiasQ.js";import"./trash-CnBwlhjN.js";import"./eye-TPnIdamu.js";import"./a-large-small-BOAtcFiE.js";import"./wallet-cards-CRHrrjiy.js";import"./undo-2-fUPuO2Zt.js";import"./chart-BbJnjWey.js";import"./_baseAssignValue-N9f4o_XK.js";import"./index-CtrmMGWT.js";import"./value-BTdN53H7.js";import"./at-sign-Cajf-dOf.js";import"./underline-B2FjHOE0.js";import"./power-B4VCYMPn.js";import"./hash-B3iFVeCl.js";import"./inbox-2bPMLikt.js";import"./minus-BbGfVkll.js";import"./pencil-Csnv8udS.js";import"./square-YHeYyKG9.js";import"./user-round-check-C1Vahz0b.js";import"./repeat-BElPLZnh.js";import"./reply-qlUFZ_G8.js";import"./rocket-CXYckFbm.js";import"./send-DcU5LcPI.js";import"./sprout-5QqpAoO8.js";import"./tags-cn7wgGit.js";import"./thumbs-up-gzGza05L.js";import"./user-round-x-CzKFo5GY.js";const se=()=>{const{range:e,setRange:s}=H();return t.jsxs(Ue,{value:`${e}`,onValueChange:a=>{s(Number(a))},children:[t.jsxs(Ve,{className:"w-auto",children:[t.jsx(Ge,{className:"mr-2",size:16,strokeWidth:1.5}),t.jsx(Re,{placeholder:"Select a period"})]}),t.jsx(Be,{align:"end",children:t.jsxs(ze,{children:[t.jsx($e,{children:"Period"}),Object.values(ie).map(a=>t.jsx(Ke,{value:`${a.value}`,children:a.name},a.value))]})})]})};W.registerLocale(ce);const vt=e=>re[e]||W.getName(e,"en")||"Unknown",Lt=e=>{const s={"UNITED STATES":"US","UNITED STATES OF AMERICA":"US",USA:"US","UNITED KINGDOM":"GB",UK:"GB","GREAT BRITAIN":"GB",NETHERLANDS:"NL"},a=e.toUpperCase();return s[a]||(e.length>2?e.substring(0,2):e)},ae=({tableHeader:e,data:s,onLocationClick:a})=>t.jsxs(at,{children:[e&&t.jsxs(ot,{children:[t.jsx(te,{children:"Country"}),t.jsx(te,{children:"Visitors"})]}),t.jsx(nt,{children:s.map(i=>{const o=vt(`${i.location}`),r=a&&i.location!=="Unknown",c=i.location?i.location.toLowerCase():"unknown";return t.jsxs(it,{className:r?"cursor-pointer":"","data-testid":`location-row-${c}`,onClick:r?()=>a(i.location):void 0,children:[t.jsx(rt,{style:{width:`${i.percentage?Math.round(i.percentage*100):0}%`}}),t.jsx(lt,{className:"group-hover/data:max-w-[calc(100%-140px)]",children:t.jsxs("div",{className:"flex items-center space-x-3 overflow-hidden",title:o,children:[t.jsx(Je,{countryCode:`${Lt(i.location)}`,fallback:t.jsx("span",{className:"flex h-[14px] w-[22px] items-center justify-center rounded-[2px] bg-black text-white",children:t.jsx(Le.SkullAndBones,{className:"size-3"})})}),t.jsx("div",{className:"truncate font-medium",children:o})]})}),t.jsxs(ct,{children:[t.jsx(ut,{children:ye(Number(i.visits))}),t.jsx(dt,{children:Te(i.percentage)})]})]},i.location||"unknown")})})]}),yt=({data:e,isLoading:s,onLocationClick:a})=>{const i=e.slice(0,10);return t.jsx(t.Fragment,{children:s?"":t.jsx(t.Fragment,{children:e&&e.length>0&&t.jsxs(ue,{className:"group/datalist","data-testid":"locations-card",children:[t.jsxs("div",{className:"flex items-center justify-between p-6",children:[t.jsxs(Xe,{className:"p-0",children:[t.jsx(Ze,{children:"Locations"}),t.jsx(et,{children:"Where are the readers of this post"})]}),t.jsx(be,{className:"mr-2",children:"Visitors"})]}),t.jsxs(de,{className:"overflow-hidden",children:[t.jsx(xe,{}),t.jsx(ae,{data:i,tableHeader:!1,onLocationClick:a})]}),e.length>10&&t.jsx(tt,{children:t.jsxs(Se,{children:[t.jsx(je,{asChild:!0,children:t.jsxs(oe,{variant:"outline",children:["View all ",t.jsx(st,{})]})}),t.jsxs(Ce,{className:"overflow-y-auto pt-0 sm:max-w-[420px]",children:[t.jsxs(_e,{className:"sticky top-0 z-40 -mx-6 bg-background/60 p-6 backdrop-blur",children:[t.jsx(Ne,{children:"Top locations"}),t.jsx(ve,{children:"Where are the readers of this post"})]}),t.jsx("div",{className:"group/datalist",children:t.jsx(ae,{data:e,tableHeader:!0,onLocationClick:a})})]})]})})]})})})},me=e=>!e||e.length===0?Z:z.filter(s=>e.includes(s.value)).reduce((s,a)=>s|a.bit,0)||Z,pe=e=>{const s=[];return(e&Y.PUBLIC)!==0&&s.push(z[0].value),(e&Y.FREE)!==0&&s.push(z[1].value),(e&Y.PAID)!==0&&s.push(z[2].value),s.join(",")};W.registerLocale(ce);const Tt=e=>re[e]||W.getName(e,"en")||e,Et=({visits:e})=>t.jsx("span",{className:"order-2 font-mono text-xs text-muted-foreground",children:e.toLocaleString()}),Ft={utm_source:{endpoint:"api_top_utm_sources",valueKey:"utm_source",transformValue:e=>({value:e||"(not set)",label:e||"(not set)"})},utm_medium:{endpoint:"api_top_utm_mediums",valueKey:"utm_medium",transformValue:e=>({value:e||"(not set)",label:e||"(not set)"})},utm_campaign:{endpoint:"api_top_utm_campaigns",valueKey:"utm_campaign",transformValue:e=>({value:e||"(not set)",label:e||"(not set)"})},utm_content:{endpoint:"api_top_utm_contents",valueKey:"utm_content",transformValue:e=>({value:e||"(not set)",label:e||"(not set)"})},utm_term:{endpoint:"api_top_utm_terms",valueKey:"utm_term",transformValue:e=>({value:e||"(not set)",label:e||"(not set)"})},source:{endpoint:"api_top_sources",valueKey:"source",transformValue:e=>({value:e||"",label:e||"Direct"})},location:{endpoint:"api_top_locations",valueKey:"location",filterItem(e){const s=String(e.location||"");return s!==""&&!le.includes(s)},transformValue:e=>({value:e,label:Tt(e)})},device:{endpoint:"api_top_devices",valueKey:"device",transformValue:e=>({value:e,label:e==="mobile-ios"?"iOS":e==="mobile-android"?"Android":e==="desktop"?"Desktop":e==="bot"?"Bot":e})}},Ot=(e,s,a)=>{const i={...a};return e.forEach(o=>{if(o.field===s||o.values.length===0)return;const r=o.values[0];o.field!=="audience"&&(o.field==="source"||o.field==="device"||o.field==="location"||o.field.startsWith("utm_"))&&(i[o.field]=r)}),i},O=(e,s=[],a,i={})=>{const{enabled:o=!0}=i,{statsConfig:r,range:c}=H(),{startDate:b,endDate:m,timezone:x}=ne(c),p=Ft[e],d=l.useMemo(()=>{const j=s.find(h=>h.field==="audience");return me(j?.values)},[s]),S=l.useMemo(()=>{const j={site_uuid:r?.id||"",date_from:K(b),date_to:K(m),timezone:x,member_status:pe(d),limit:"50"};return a&&(j.post_uuid=a),Ot(s,e,j)},[r?.id,b,m,x,d,s,e,a]),{data:v,loading:k}=$({endpoint:p?.endpoint||"",statsConfig:r,params:S,enabled:o&&!!p});return{options:l.useMemo(()=>p?(v||[]).filter(h=>p.filterItem?p.filterItem(h):!0).map(h=>{const E=String(h[p.valueKey]??""),w=Number(h.visits)||0,{value:F,label:y}=p.transformValue?p.transformValue(E):{value:E,label:E};return{label:y,value:F,icon:t.jsx(Et,{visits:w})}}):[],[v,p]),loading:k}};function kt({filters:e,onChange:s,...a}){const{appSettings:i}=Ee(),{post:o}=H(),r=o?.uuid,[c,b]=l.useState(null),[m,x]=l.useState(!1);l.useEffect(()=>{const g=window.matchMedia("(max-width: 1024px)"),_=T=>{x(T.matches)};return _(g),g.addEventListener("change",_),()=>g.removeEventListener("change",_)},[]);const p=l.useMemo(()=>{const g=[{value:"undefined",label:"Public visitors",icon:t.jsx(X,{className:"text-gray-700"})},{value:"free",label:"Free members",icon:t.jsx(Oe,{className:"text-green"})},{value:"paid",label:"Paid members",icon:t.jsx(ke,{className:"text-orange"})}];return i?.paidMembersEnabled?g:g.filter(_=>_.value!=="paid")},[i?.paidMembersEnabled]),d=l.useCallback(g=>{const _=c===g,T=e.some(n=>n.field===g);return _||T},[c,e]),{options:S,loading:v}=O("utm_source",e,r,{enabled:d("utm_source")}),{options:k,loading:M}=O("utm_medium",e,r,{enabled:d("utm_medium")}),{options:j,loading:h}=O("utm_campaign",e,r,{enabled:d("utm_campaign")}),{options:E,loading:w}=O("utm_content",e,r,{enabled:d("utm_content")}),{options:F,loading:y}=O("utm_term",e,r,{enabled:d("utm_term")}),{options:R,loading:D}=O("source",e,r,{enabled:d("source")}),{options:U,loading:I}=O("device",e,r,{enabled:d("device")}),{options:B,loading:A}=O("location",e,r,{enabled:d("location")}),C=l.useMemo(()=>[{value:"is",label:"is"}],[]),Q=l.useMemo(()=>{const g=[{key:"utm_source",label:"UTM Source",type:"select",icon:t.jsx(Ct,{className:"size-4"}),placeholder:"Select source",operators:C,defaultOperator:"is",hideOperatorSelect:!0,options:S,isLoading:v,searchable:!0,selectedOptionsClassName:"hidden"},{key:"utm_medium",label:"UTM Medium",type:"select",icon:t.jsx(St,{className:"size-4"}),placeholder:"Select medium",operators:C,defaultOperator:"is",hideOperatorSelect:!0,options:k,isLoading:M,className:"w-60",popoverContentClassName:"w-60",searchable:!0,selectedOptionsClassName:"hidden"},{key:"utm_campaign",label:"UTM Campaign",type:"select",icon:t.jsx(_t,{className:"size-4"}),placeholder:"Select campaign",operators:C,defaultOperator:"is",hideOperatorSelect:!0,options:j,isLoading:h,className:"w-60",popoverContentClassName:"w-60",searchable:!0,selectedOptionsClassName:"hidden"},{key:"utm_content",label:"UTM Content",type:"select",icon:t.jsx(jt,{className:"size-4"}),placeholder:"Select content",operators:C,defaultOperator:"is",hideOperatorSelect:!0,options:E,isLoading:w,className:"w-60",popoverContentClassName:"w-60",searchable:!0,selectedOptionsClassName:"hidden"},{key:"utm_term",label:"UTM Term",type:"select",icon:t.jsx(De,{className:"size-4"}),placeholder:"Select term",operators:C,defaultOperator:"is",hideOperatorSelect:!0,options:F,isLoading:y,className:"w-60",popoverContentClassName:"w-60",searchable:!0,selectedOptionsClassName:"hidden"}];return[{group:"Basic",fields:[{key:"audience",label:"Audience",type:"multiselect",icon:t.jsx(Fe,{}),options:p.map(({value:_,label:T,icon:n})=>({value:_,label:T,icon:n})),defaultOperator:"is any of",hideOperatorSelect:!0,autoCloseOnSelect:!0},{key:"source",label:"Source",type:"select",icon:t.jsx(X,{className:"size-4"}),placeholder:"Select source",operators:C,defaultOperator:"is",hideOperatorSelect:!0,options:R,isLoading:D,className:"w-60",popoverContentClassName:"w-60",searchable:!0,selectedOptionsClassName:"hidden"},{key:"device",label:"Device",type:"select",icon:t.jsx(ft,{className:"size-4"}),placeholder:"Select device",operators:C,defaultOperator:"is",hideOperatorSelect:!0,options:U,isLoading:I,selectedOptionsClassName:"hidden"},{key:"location",label:"Location",type:"select",icon:t.jsx(bt,{className:"size-4"}),placeholder:"Select location",operators:C,defaultOperator:"is",hideOperatorSelect:!0,options:B,isLoading:A,searchable:!0,selectedOptionsClassName:"hidden"}]},{group:"UTM parameters",fields:g}]},[S,v,k,M,j,h,E,w,F,y,C,p,R,D,U,I,B,A]),P=e.length>0,q=l.useCallback(()=>{s&&s([])},[s]);return t.jsxs("div",{className:"mt-3 flex w-full justify-between gap-2 lg:mt-0","data-testid":"stats-filter-container",children:[t.jsx(ht,{addButtonIcon:t.jsx(He,{}),addButtonText:P?"Add filter":"Filter",allowMultiple:!1,className:`[&>button]:order-last ${P&&"[&>button]:border-none"}`,fields:Q,filters:e,keyboardShortcut:"f",popoverAlign:m||P?"start":"end",showSearchInput:!1,onActiveFieldChange:b,onChange:s||(()=>{}),...a}),P&&t.jsxs(oe,{className:"hidden font-normal text-muted-foreground lg:flex","data-testid":"stats-filter-clear-button",variant:"ghost",onClick:q,children:[t.jsx(xt,{}),"Clear"]})]})}const G=["audience","source","device","location","utm_source","utm_medium","utm_campaign","utm_content","utm_term"],he="__empty__",ge="%2C";function Dt(e){const s=new URLSearchParams;return e.forEach(a=>{if(G.includes(a.field)&&a.values.length>0){const i=a.values.map(o=>o===""?he:String(o).replace(/,/g,ge)).join(",");s.set(a.field,i)}}),s}const J=new Map;function It(e){return J.has(e)||J.set(e,`url-${e}-${Date.now()}-${Math.random().toString(36).substring(2,11)}`),J.get(e)}function Mt(e){const s=[],a=new Set(G);return e.forEach((i,o)=>{if(!a.has(o))return;const r=i.split(",").map(c=>c===he?"":c.replace(new RegExp(ge,"g"),","));if(r.length>0){const c=o==="audience"?"is any of":"is";s.push({id:It(o),field:o,operator:c,values:r})}}),s}function wt(e={}){const[s,a]=Ie(),{onFiltersChange:i}=e,o=l.useRef(!1),r=l.useMemo(()=>Mt(s),[s]);l.useEffect(()=>{!o.current&&i&&i(r)},[r,i]);const c=l.useCallback(m=>{o.current=!0;const x=typeof m=="function"?m(r):m,p=Dt(x),d=new URLSearchParams(s);G.forEach(S=>{d.delete(S)}),p.forEach((S,v)=>{d.set(v,S)}),a(d,{replace:!0}),setTimeout(()=>{o.current=!1},0)},[r,s,a]),b=l.useCallback(()=>{o.current=!0;const m=new URLSearchParams(s);G.forEach(x=>{m.delete(x)}),a(m,{replace:!0}),setTimeout(()=>{o.current=!1},0)},[s,a]);return{filters:r,setFilters:c,clearFilters:b}}const ws=()=>{const e=Me(),{postId:s}=we(),{statsConfig:a,isLoading:i,range:o,data:r,post:c,isPostLoading:b}=H(),{filters:m,setFilters:x}=wt(),p=l.useMemo(()=>{const n=m.find(f=>f.field==="audience");return me(n?.values)},[m]);l.useEffect(()=>{!b&&c?.email_only&&e(`/posts/analytics/${s}`)},[b,c?.email_only,e,s]);const d=l.useMemo(()=>{if(!c?.published_at)return ie.ALL_TIME.value;const n=Ae(c.published_at);return o>n?n:o},[c?.published_at,o]),{startDate:S,endDate:v,timezone:k}=ne(d),M=l.useCallback(()=>{const n=document.querySelector(".overflow-y-scroll");n&&n.scrollTo({top:0,behavior:"smooth"})},[]),j=l.useMemo(()=>{const n={};return m.forEach(f=>{const N=f.field,L=f.values;if(N==="audience")return;const u=L&&L.length>0&&L[0]!==null&&L[0]!==void 0,V=N==="source"&&L?.[0]==="";if(u&&(L[0]!==""||V)){const fe=String(L[0]);n[N]=fe}}),n},[m]),h=l.useCallback((n,f)=>{x(N=>N.find(u=>u.field===n)?N.map(u=>u.field===n?{...u,values:[f]}:u):[...N,gt(n,"is",[f])]),M()},[x,M]),E=l.useCallback(n=>h("location",n),[h]),w=l.useCallback(n=>h("source",n),[h]),F=l.useMemo(()=>{const n={site_uuid:a?.id||"",date_from:K(S),date_to:K(v),timezone:k,member_status:pe(p),post_uuid:"",...j};return!b&&c?.uuid?{...n,post_uuid:c.uuid}:n},[b,c,a?.id,S,v,k,p,j]),{data:y,loading:R}=$({endpoint:"api_kpis",statsConfig:a||{id:""},params:F}),{data:D,loading:U}=$({endpoint:"api_top_locations",statsConfig:a||{id:""},params:F}),{data:I,loading:B}=$({endpoint:"api_top_sources",statsConfig:a||{id:""},params:F}),A=l.useMemo(()=>D?.reduce((n,f)=>n+Number(f.visits),0)||0,[D]),C=l.useMemo(()=>I?I.reduce((n,f)=>n+Number(f.visits||0),0):0,[I]),Q=r?.url,P=r?.icon,q=l.useMemo(()=>{const n=D?.map(u=>({location:String(u.location),visits:Number(u.visits),percentage:A>0?Number(u.visits)/A:0,isUnknown:le.includes(String(u.location))}))||[],f=n.filter(u=>!u.isUnknown),N=n.filter(u=>u.isUnknown),L=N.length>0?[{location:"Unknown",visits:N.reduce((u,V)=>u+V.visits,0),percentage:N.reduce((u,V)=>u+V.percentage,0)}]:[];return[...f,...L]},[D,A]),g=i||b||R||U||B,_=We(y),T=m.length>0;return t.jsxs(t.Fragment,{children:[t.jsxs(mt,{currentTab:"Web",children:[T&&t.jsx(ee,{children:t.jsx(se,{})}),t.jsxs(ee,{className:`${T?"mt-0! [grid-area:subactions] lg:mt-[25px]!":"[grid-area:actions]"}`,children:[t.jsx(kt,{filters:m,onChange:x}),!T&&t.jsx(se,{})]})]}),t.jsx(pt,{children:g?t.jsx(ue,{className:"size-full",variant:"plain",children:t.jsx(de,{className:"size-full items-center justify-center",children:t.jsx(Pe,{})})}):y&&y.length!==0&&_.visits!=="0"?t.jsxs(t.Fragment,{children:[t.jsx(Qe,{data:y,range:d}),t.jsxs("div",{className:"flex flex-col gap-6 lg:grid lg:grid-cols-2",children:[t.jsx(yt,{data:q,isLoading:U,onLocationClick:E}),t.jsx(qe,{data:I,range:d,siteIcon:P,siteUrl:Q,totalVisitors:C,onSourceClick:w})]})]}):t.jsx("div",{className:"grow",children:t.jsx(Nt,{className:"h-full",description:"Try adjusting filters to see more data.",title:`No visitors ${Ye(o)}`,children:t.jsx(X,{strokeWidth:1.5})})})})]})};export{ws as default};
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
<head>
|
|
4
4
|
<link rel="stylesheet" href="./assets/vendor-3bf602dfa6463c3400ffd81697767274.css">
|
|
5
5
|
<link rel="stylesheet" href="./assets/ghost-a5d1d916f03a5ea4dcf1fa5c52edab2e.css">
|
|
6
|
-
<meta name="ghost-admin/config/environment" content="%7B%22modulePrefix%22%3A%22ghost-admin%22%2C%22environment%22%3A%22production%22%2C%22editorUrl%22%3A%22%22%2C%22rootURL%22%3A%22%22%2C%22locationType%22%3A%22trailing-hash%22%2C%22EmberENV%22%3A%7B%22FEATURES%22%3A%7B%7D%2C%22EXTEND_PROTOTYPES%22%3A%7B%22Date%22%3Afalse%2C%22Array%22%3Atrue%2C%22String%22%3Atrue%2C%22Function%22%3Afalse%7D%2C%22_APPLICATION_TEMPLATE_WRAPPER%22%3Afalse%2C%22_JQUERY_INTEGRATION%22%3Atrue%2C%22_TEMPLATE_ONLY_GLIMMER_COMPONENTS%22%3Atrue%7D%2C%22APP%22%3A%7B%22version%22%3A%226.44%22%2C%22name%22%3A%22ghost-admin%22%7D%2C%22ember-simple-auth%22%3A%7B%7D%2C%22%40sentry%2Fember%22%3A%7B%22disablePerformance%22%3Atrue%2C%22sentry%22%3A%7B%7D%7D%2C%22ember-cli-mirage%22%3A%7B%22usingProxy%22%3Afalse%2C%22useDefaultPassthroughs%22%3Atrue%7D%2C%22exportApplicationGlobal%22%3Afalse%2C%22ember-load%22%3A%7B%22loadingIndicatorClass%22%3A%22ember-load-indicator%22%7D%2C%22editorFilename%22%3A%22koenig-lexical.umd.js%22%2C%22editorHash%22%3A%22e8dabbf72b%22%2C%22adminXSettingsFilename%22%3A%22admin-x-settings.js%22%2C%22adminXSettingsHash%22%3A%
|
|
6
|
+
<meta name="ghost-admin/config/environment" content="%7B%22modulePrefix%22%3A%22ghost-admin%22%2C%22environment%22%3A%22production%22%2C%22editorUrl%22%3A%22%22%2C%22rootURL%22%3A%22%22%2C%22locationType%22%3A%22trailing-hash%22%2C%22EmberENV%22%3A%7B%22FEATURES%22%3A%7B%7D%2C%22EXTEND_PROTOTYPES%22%3A%7B%22Date%22%3Afalse%2C%22Array%22%3Atrue%2C%22String%22%3Atrue%2C%22Function%22%3Afalse%7D%2C%22_APPLICATION_TEMPLATE_WRAPPER%22%3Afalse%2C%22_JQUERY_INTEGRATION%22%3Atrue%2C%22_TEMPLATE_ONLY_GLIMMER_COMPONENTS%22%3Atrue%7D%2C%22APP%22%3A%7B%22version%22%3A%226.44%22%2C%22name%22%3A%22ghost-admin%22%7D%2C%22ember-simple-auth%22%3A%7B%7D%2C%22%40sentry%2Fember%22%3A%7B%22disablePerformance%22%3Atrue%2C%22sentry%22%3A%7B%7D%7D%2C%22ember-cli-mirage%22%3A%7B%22usingProxy%22%3Afalse%2C%22useDefaultPassthroughs%22%3Atrue%7D%2C%22exportApplicationGlobal%22%3Afalse%2C%22ember-load%22%3A%7B%22loadingIndicatorClass%22%3A%22ember-load-indicator%22%7D%2C%22editorFilename%22%3A%22koenig-lexical.umd.js%22%2C%22editorHash%22%3A%22e8dabbf72b%22%2C%22adminXSettingsFilename%22%3A%22admin-x-settings.js%22%2C%22adminXSettingsHash%22%3A%22b27633ba94%22%2C%22activitypubFilename%22%3A%22activitypub.js%22%2C%22activitypubHash%22%3A%22cbfa28e012%22%2C%22postsFilename%22%3A%22posts.js%22%2C%22postsHash%22%3A%2277dd75d29c%22%2C%22statsFilename%22%3A%22stats.js%22%2C%22statsHash%22%3A%22ddd42a39ce%22%2C%22activitypubRemoteConfigUrl%22%3A%22%2F.ghost%2Factivitypub%2Fstable%2Fclient-config%22%7D">
|
|
7
7
|
|
|
8
8
|
<meta charset="UTF-8" />
|
|
9
9
|
|
|
@@ -20,8 +20,8 @@
|
|
|
20
20
|
|
|
21
21
|
<link rel="shortcut icon" href="assets/img/favicon.ico" />
|
|
22
22
|
<link rel="apple-touch-icon" href="assets/img/apple-touch-icon.png" />
|
|
23
|
-
<script type="module" crossorigin src="./assets/index-
|
|
24
|
-
<link rel="stylesheet" crossorigin href="./assets/index-
|
|
23
|
+
<script type="module" crossorigin src="./assets/index-CgSVv5Up.js"></script>
|
|
24
|
+
<link rel="stylesheet" crossorigin href="./assets/index-Dozbr_4s.css">
|
|
25
25
|
</head>
|
|
26
26
|
<body class="react-admin">
|
|
27
27
|
<div id="ember-alerts-wormhole"></div>
|
|
@@ -41,9 +41,9 @@
|
|
|
41
41
|
<div id="ember-liquid-wormhole"></div>
|
|
42
42
|
<div id="ember-notifications-wormhole"></div>
|
|
43
43
|
<script src="./assets/vendor-df57a00eefcc111c31b42ed642f78922.js"></script>
|
|
44
|
-
<script src="./assets/chunk.
|
|
45
|
-
<script src="./assets/chunk.
|
|
46
|
-
<script src="./assets/chunk.524.
|
|
47
|
-
<script src="./assets/ghost-
|
|
44
|
+
<script src="./assets/chunk.167.37bb0d7f6ac67fefa679.js"></script>
|
|
45
|
+
<script src="./assets/chunk.834.f9db7c62b9457db93e8c.js"></script>
|
|
46
|
+
<script src="./assets/chunk.524.ed812b62217210a913d4.js"></script>
|
|
47
|
+
<script src="./assets/ghost-1881362e8a92dae1e3333a0484c173a3.js"></script>
|
|
48
48
|
</body>
|
|
49
49
|
</html>
|
|
@@ -6,10 +6,16 @@ const {
|
|
|
6
6
|
|
|
7
7
|
const DEFAULT_BUDGET = 5 * 1024 * 1024;
|
|
8
8
|
const TRUNCATION_FOOTER = '\n_Truncated after 5 MiB. Use `/llms.txt` for the complete index of older public content._\n';
|
|
9
|
+
const RECENT_POSTS_FOOTER = '\n_Includes the latest 500 public posts. Use `/llms.txt` for the complete index of older public content._\n';
|
|
9
10
|
const FULL_PAGE_SIZE = 100;
|
|
11
|
+
const FULL_POST_LIMIT = 500;
|
|
10
12
|
|
|
11
13
|
function createLlmsService({settingsCache, labs, config, urlServiceFacade, urlUtils, models, routing, api, fullTxtBudget}) {
|
|
12
|
-
const
|
|
14
|
+
const footerBudget = Math.max(
|
|
15
|
+
Buffer.byteLength(TRUNCATION_FOOTER, 'utf8'),
|
|
16
|
+
Buffer.byteLength(RECENT_POSTS_FOOTER, 'utf8')
|
|
17
|
+
);
|
|
18
|
+
const BUDGET = (fullTxtBudget || DEFAULT_BUDGET) - footerBudget;
|
|
13
19
|
function isEnabled() {
|
|
14
20
|
return labs.isSet('llmsTxt') && !settingsCache.get('is_private') && settingsCache.get('llms_enabled') !== false;
|
|
15
21
|
}
|
|
@@ -67,46 +73,55 @@ function createLlmsService({settingsCache, labs, config, urlServiceFacade, urlUt
|
|
|
67
73
|
|
|
68
74
|
let output = header;
|
|
69
75
|
let wasTruncated = false;
|
|
76
|
+
let wasLimited = false;
|
|
70
77
|
|
|
71
78
|
const pageResult = await appendBoundedSectionPaginated(output, 'Pages', 'page');
|
|
72
79
|
output = pageResult.output;
|
|
73
80
|
wasTruncated = pageResult.wasTruncated;
|
|
74
81
|
|
|
75
82
|
if (!wasTruncated) {
|
|
76
|
-
const postResult = await appendBoundedSectionPaginated(output, 'Posts', 'post');
|
|
83
|
+
const postResult = await appendBoundedSectionPaginated(output, 'Posts', 'post', {maxEntries: FULL_POST_LIMIT});
|
|
77
84
|
output = postResult.output;
|
|
78
85
|
wasTruncated = postResult.wasTruncated;
|
|
86
|
+
wasLimited = postResult.wasLimited;
|
|
79
87
|
}
|
|
80
88
|
|
|
81
89
|
if (wasTruncated) {
|
|
82
90
|
output += TRUNCATION_FOOTER;
|
|
91
|
+
} else if (wasLimited) {
|
|
92
|
+
output += RECENT_POSTS_FOOTER;
|
|
83
93
|
}
|
|
84
94
|
|
|
85
95
|
return output.trimEnd() + '\n';
|
|
86
96
|
}
|
|
87
97
|
|
|
88
|
-
async function appendBoundedSectionPaginated(prefix, heading, type) {
|
|
98
|
+
async function appendBoundedSectionPaginated(prefix, heading, type, {maxEntries = null} = {}) {
|
|
89
99
|
const headingBlock = `${prefix}## ${heading}\n`;
|
|
90
100
|
|
|
91
101
|
if (Buffer.byteLength(headingBlock, 'utf8') > BUDGET) {
|
|
92
|
-
return {output: prefix, wasTruncated: true};
|
|
102
|
+
return {output: prefix, wasTruncated: true, wasLimited: false};
|
|
93
103
|
}
|
|
94
104
|
|
|
95
105
|
let output = headingBlock;
|
|
106
|
+
let outputBytes = Buffer.byteLength(output, 'utf8');
|
|
96
107
|
let wasTruncated = false;
|
|
108
|
+
let wasLimited = false;
|
|
97
109
|
let page = 1;
|
|
98
110
|
let hasMore = true;
|
|
111
|
+
let entriesRendered = 0;
|
|
99
112
|
|
|
100
|
-
while (hasMore && !wasTruncated) {
|
|
113
|
+
while (hasMore && !wasTruncated && !wasLimited) {
|
|
101
114
|
const result = await fetchFullEntries(type, page);
|
|
102
115
|
const entries = result.entries;
|
|
103
116
|
hasMore = result.hasMore;
|
|
104
117
|
|
|
105
118
|
if (!entries.length && page === 1) {
|
|
106
119
|
const emptySection = `${output}_No public content available._\n`;
|
|
120
|
+
const emptySectionBytes = Buffer.byteLength(emptySection, 'utf8');
|
|
107
121
|
|
|
108
|
-
if (
|
|
122
|
+
if (emptySectionBytes <= BUDGET) {
|
|
109
123
|
output = emptySection;
|
|
124
|
+
outputBytes = emptySectionBytes;
|
|
110
125
|
} else {
|
|
111
126
|
wasTruncated = true;
|
|
112
127
|
}
|
|
@@ -115,21 +130,33 @@ function createLlmsService({settingsCache, labs, config, urlServiceFacade, urlUt
|
|
|
115
130
|
}
|
|
116
131
|
|
|
117
132
|
for (const entry of entries) {
|
|
133
|
+
if (maxEntries && entriesRendered >= maxEntries) {
|
|
134
|
+
wasLimited = true;
|
|
135
|
+
break;
|
|
136
|
+
}
|
|
137
|
+
|
|
118
138
|
const formattedEntry = buildFullEntry(entry);
|
|
119
|
-
const
|
|
139
|
+
const entryBlock = `${formattedEntry}\n`;
|
|
140
|
+
const entryBytes = Buffer.byteLength(entryBlock, 'utf8');
|
|
120
141
|
|
|
121
|
-
if (
|
|
142
|
+
if (outputBytes + entryBytes > BUDGET) {
|
|
122
143
|
wasTruncated = true;
|
|
123
144
|
break;
|
|
124
145
|
}
|
|
125
146
|
|
|
126
|
-
output =
|
|
147
|
+
output = `${output}${entryBlock}`;
|
|
148
|
+
outputBytes += entryBytes;
|
|
149
|
+
entriesRendered += 1;
|
|
150
|
+
}
|
|
151
|
+
|
|
152
|
+
if (maxEntries && entriesRendered >= maxEntries && hasMore) {
|
|
153
|
+
wasLimited = true;
|
|
127
154
|
}
|
|
128
155
|
|
|
129
156
|
page += 1;
|
|
130
157
|
}
|
|
131
158
|
|
|
132
|
-
return {output, wasTruncated};
|
|
159
|
+
return {output, wasTruncated, wasLimited};
|
|
133
160
|
}
|
|
134
161
|
|
|
135
162
|
function buildHeader() {
|
|
@@ -1,4 +1,7 @@
|
|
|
1
|
-
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.TAXONOMIES = exports.QUERY = void 0;
|
|
4
|
+
exports.QUERY = {
|
|
2
5
|
tag: {
|
|
3
6
|
controller: 'tagsPublic',
|
|
4
7
|
type: 'read',
|
|
@@ -44,8 +47,7 @@ module.exports.QUERY = {
|
|
|
44
47
|
}
|
|
45
48
|
}
|
|
46
49
|
};
|
|
47
|
-
|
|
48
|
-
module.exports.TAXONOMIES = {
|
|
50
|
+
exports.TAXONOMIES = {
|
|
49
51
|
tag: {
|
|
50
52
|
filter: 'tags:\'%s\'+tags.visibility:public',
|
|
51
53
|
editRedirect: '#/tags/:slug/',
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
export const QUERY = {
|
|
2
|
+
tag: {
|
|
3
|
+
controller: 'tagsPublic',
|
|
4
|
+
type: 'read',
|
|
5
|
+
resource: 'tags',
|
|
6
|
+
options: {
|
|
7
|
+
slug: '%s',
|
|
8
|
+
visibility: 'public'
|
|
9
|
+
}
|
|
10
|
+
},
|
|
11
|
+
author: {
|
|
12
|
+
controller: 'authorsPublic',
|
|
13
|
+
type: 'read',
|
|
14
|
+
resource: 'authors',
|
|
15
|
+
options: {
|
|
16
|
+
slug: '%s'
|
|
17
|
+
}
|
|
18
|
+
},
|
|
19
|
+
post: {
|
|
20
|
+
controller: 'postsPublic',
|
|
21
|
+
type: 'read',
|
|
22
|
+
resource: 'posts',
|
|
23
|
+
options: {
|
|
24
|
+
slug: '%s'
|
|
25
|
+
}
|
|
26
|
+
},
|
|
27
|
+
page: {
|
|
28
|
+
controller: 'pagesPublic',
|
|
29
|
+
type: 'read',
|
|
30
|
+
resource: 'pages',
|
|
31
|
+
options: {
|
|
32
|
+
slug: '%s'
|
|
33
|
+
}
|
|
34
|
+
},
|
|
35
|
+
previews: {
|
|
36
|
+
controller: 'previews',
|
|
37
|
+
resource: 'previews'
|
|
38
|
+
},
|
|
39
|
+
email: {
|
|
40
|
+
controller: 'emailPost',
|
|
41
|
+
resource: 'email_posts',
|
|
42
|
+
options: {
|
|
43
|
+
slug: '%s'
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
} as const;
|
|
47
|
+
|
|
48
|
+
export const TAXONOMIES = {
|
|
49
|
+
tag: {
|
|
50
|
+
filter: 'tags:\'%s\'+tags.visibility:public',
|
|
51
|
+
editRedirect: '#/tags/:slug/',
|
|
52
|
+
resource: 'tags'
|
|
53
|
+
},
|
|
54
|
+
author: {
|
|
55
|
+
filter: 'authors:\'%s\'',
|
|
56
|
+
editRedirect: '#/settings/staff/:slug/',
|
|
57
|
+
resource: 'authors'
|
|
58
|
+
}
|
|
59
|
+
} as const;
|