ghost 6.47.0 → 6.48.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/MigratorConfig.js +0 -1
- package/bin/create-migration.js +1 -1
- package/bin/generate-golden-email.js +0 -1
- package/components/tryghost-i18n-0.0.0.tgz +0 -0
- package/core/boot.js +13 -7
- package/core/built/admin/assets/{PolarAngleAxis-CLluELUg.js → PolarAngleAxis-DufzOBEz.js} +1 -1
- package/core/built/admin/assets/{_baseAssignValue-Dz1iqdwD.js → _baseAssignValue-BjUm4QeA.js} +1 -1
- package/core/built/admin/assets/{a-large-small-BA74vHPp.js → a-large-small-D0RF_WS9.js} +1 -1
- package/core/built/admin/assets/{account-migration-B-NqdKuN.js → account-migration-B7n6ezrZ.js} +1 -1
- package/core/built/admin/assets/activitypub/{account-migration-ClmVrAXr.js → account-migration-BJeRnMCl.js} +3 -3
- package/core/built/admin/assets/activitypub/activitypub.js +1 -1
- package/core/built/admin/assets/activitypub/{at-sign-9F3qd4Nn.js → at-sign-BygVOKdj.js} +2 -2
- package/core/built/admin/assets/activitypub/{avatar-flipboard-jBHA13Ej.js → avatar-flipboard-CNcjI8lK.js} +2 -2
- package/core/built/admin/assets/activitypub/{bluesky-sharing-1irhvVtF.js → bluesky-sharing-mgBNeRfA.js} +4 -4
- package/core/built/admin/assets/activitypub/{copy-DXRvsGiK.js → copy-BMChXIQc.js} +2 -2
- package/core/built/admin/assets/activitypub/{deleted-feed-item-67VQJde4.js → deleted-feed-item-D-spb6V1.js} +2 -2
- package/core/built/admin/assets/activitypub/{edit-profile-BfpbEj98.js → edit-profile-CDQ3V8-c.js} +4 -4
- package/core/built/admin/assets/activitypub/{feed-DUrI7SPC.js → feed-Vqr3WU-V.js} +4 -4
- package/core/built/admin/assets/activitypub/{hash-CMtB10PN.js → hash-D7SSXVOg.js} +2 -2
- package/core/built/admin/assets/activitypub/{inbox-2xq8SJ7A.js → inbox-BHk5Dw27.js} +2 -2
- package/core/built/admin/assets/activitypub/{index-BT97xLpd.js → index-BejkeH-m.js} +2 -2
- package/core/built/admin/assets/activitypub/{index-DssHQAjK.js → index-BqL23J-m.js} +32 -32
- package/core/built/admin/assets/activitypub/{index-Ba6FXt8y.js → index-CHhvjNuG.js} +6 -6
- package/core/built/admin/assets/activitypub/{index-ERtz4Bvy.js → index-CZsNO9hA.js} +5 -5
- package/core/built/admin/assets/activitypub/{index-sgY7lLrg.js → index-CaIhRYzz.js} +3 -3
- package/core/built/admin/assets/activitypub/{index-D1EWoXrK.js → index-DA2MkQVu.js} +2 -2
- package/core/built/admin/assets/activitypub/{index-sudOvKcY.js → index-DHhFcmfu.js} +21 -21
- package/core/built/admin/assets/activitypub/{index-Ccighz1t.js → index-sh2bDSls.js} +4 -4
- package/core/built/admin/assets/activitypub/{label-KQSsSjmN.js → label-D80yhOIm.js} +2 -2
- package/core/built/admin/assets/activitypub/{moderation-B78if-r0.js → moderation-LJNmKBCi.js} +3 -3
- package/core/built/admin/assets/activitypub/{note-Bfr7ovn7.js → note-CyjKLcQ-.js} +4 -4
- package/core/built/admin/assets/activitypub/{reply-CehesW8Z.js → reply-BiiCFx7G.js} +2 -2
- package/core/built/admin/assets/activitypub/{separator-B_Ly_Qq8.js → separator-CY3PMmtI.js} +2 -2
- package/core/built/admin/assets/activitypub/{settings-D6R97p7v.js → settings-BQy6Gr7R.js} +3 -3
- package/core/built/admin/assets/activitypub/{step-1-Cl1YxgZ1.js → step-1-DCqRwgf3.js} +3 -3
- package/core/built/admin/assets/activitypub/{step-2-DDyR--Qe.js → step-2-DQlhehTO.js} +5 -5
- package/core/built/admin/assets/activitypub/{step-3-Don8gv0n.js → step-3-DAUCAcxW.js} +7 -7
- package/core/built/admin/assets/activitypub/{tabs-DTpfm-wu.js → tabs-B_6UuI7r.js} +3 -3
- package/core/built/admin/assets/activitypub/{topic-filter-Oee10885.js → topic-filter--FT1A_dc.js} +2 -2
- package/core/built/admin/assets/admin-x-settings/admin-x-settings.js +1 -1
- package/core/built/admin/assets/admin-x-settings/{code-editor-view-CGZuiDGx.js → code-editor-view-Bp_sCJR0.js} +2 -2
- package/core/built/admin/assets/admin-x-settings/{index-CwEblQZC.js → index-BPXA3pTW.js} +5 -5
- package/core/built/admin/assets/admin-x-settings/{index-rr_UntGE.js → index-BS375mg1.js} +3 -3
- package/core/built/admin/assets/admin-x-settings/{index-BpM6W2br.js → index-B_PlQoEG.js} +3 -3
- package/core/built/admin/assets/admin-x-settings/{index-BGdS5xw4.js → index-BflhAbu2.js} +3 -3
- package/core/built/admin/assets/admin-x-settings/{index-DtWUeJhp.js → index-CftMe8fe.js} +3 -3
- package/core/built/admin/assets/admin-x-settings/{index-B65inCwj.js → index-DRB7FH6y.js} +2 -2
- package/core/built/admin/assets/admin-x-settings/{index-DSX261S9.js → index-DijZ3oAM.js} +2 -2
- package/core/built/admin/assets/admin-x-settings/{index-DF6YEs01.js → index-cV0Lof9H.js} +1526 -1500
- package/core/built/admin/assets/admin-x-settings/{index-CluZYkUC.js → index-qc4x3vZj.js} +3 -3
- package/core/built/admin/assets/admin-x-settings/{modals-Bf4KOU31.js → modals-CkjuEByw.js} +55 -67
- package/core/built/admin/assets/{arrow-right-BxP3aeA5.js → arrow-right-BF77Yx73.js} +1 -1
- package/core/built/admin/assets/{at-sign-Bf0y-jim.js → at-sign-DhJF3n_V.js} +1 -1
- package/core/built/admin/assets/{audience-DHR1WgFK.js → audience-DHPKKayV.js} +1 -1
- package/core/built/admin/assets/{automated-emails-DbJbDLib.js → automated-emails-DInKYTEC.js} +1 -1
- package/core/built/admin/assets/{automations-aLgTzSsZ.js → automations-DJpeZw9T.js} +1 -1
- package/core/built/admin/assets/automations-DpQKN9j0.js +1 -0
- package/core/built/admin/assets/{avatar-flipboard-B0F2LMW5.js → avatar-flipboard-yRdmFC6R.js} +1 -1
- package/core/built/admin/assets/{bluesky-sharing-DjhtIuyr.js → bluesky-sharing-qSiCERoR.js} +1 -1
- package/core/built/admin/assets/{chart-BGwxlD0z.js → chart-CP2N9ZC-.js} +1 -1
- package/core/built/admin/assets/{chevron-up-C2FeVzre.js → chevron-up-BQ6fOpFR.js} +1 -1
- package/core/built/admin/assets/{chunk.524.31b31f7958dfae110016.js → chunk.524.ad4560630d4d62fbceb5.js} +4 -4
- package/core/built/admin/assets/{chunk.582.a855020953886af6e83b.js → chunk.582.fd4878e4e0af31ef86c0.js} +6 -6
- package/core/built/admin/assets/{chunk.972.258e6b1dab79b2189f1c.js → chunk.98.69968e0f393d82c2949c.js} +4 -4
- package/core/built/admin/assets/{code-editor-view-DzPkm_nJ.js → code-editor-view-CVODiRVJ.js} +1 -1
- package/core/built/admin/assets/{comments-DgItXUWN.js → comments-CP-NxopD.js} +1 -1
- package/core/built/admin/assets/{content-helpers-BNefU_PE.js → content-helpers-Crzkusiq.js} +1 -1
- package/core/built/admin/assets/{copy-DoNNUZlb.js → copy-r1LFsU75.js} +1 -1
- package/core/built/admin/assets/{data-list-CO1cZQRU.js → data-list-CzSc7z-2.js} +1 -1
- package/core/built/admin/assets/{deleted-feed-item-DC2wSAhv.js → deleted-feed-item-PyEM8FiX.js} +1 -1
- package/core/built/admin/assets/{dropzone-BTODLafn.js → dropzone-DI8A9qO6.js} +1 -1
- package/core/built/admin/assets/{edit-profile-BMMpmWIZ.js → edit-profile-DlJ64lV7.js} +1 -1
- package/core/built/admin/assets/editor-CevNZicQ.js +8 -0
- package/core/built/admin/assets/{empty-indicator-Dza0FQlj.js → empty-indicator-Dxg05yWg.js} +1 -1
- package/core/built/admin/assets/{en-yf9qAqTu.js → en-D93GVp3o.js} +1 -1
- package/core/built/admin/assets/{eye-CAqnnfQF.js → eye-6POPPpTw.js} +1 -1
- package/core/built/admin/assets/{feed-BkNsbWiF.js → feed-P_RMYb5x.js} +1 -1
- package/core/built/admin/assets/{field-Ddb1ZOqM.js → field-DeNjwWrL.js} +1 -1
- package/core/built/admin/assets/{filter-query-core-5Mac92kh.js → filter-query-core-DFs5WSmA.js} +1 -1
- package/core/built/admin/assets/{filters-BCb4bgtg.js → filters-C_BSQgb7.js} +1 -1
- package/core/built/admin/assets/{gh-chart-C6zkIg8k.js → gh-chart-pNHAbeQn.js} +1 -1
- package/core/built/admin/assets/{ghost-5313258fd425ced5db6516acde01ba36.js → ghost-3f5b3569e0beec61266cb74077677fbc.js} +3 -3
- package/core/built/admin/assets/{growth-ezUlN8OE.js → growth-B83tVOYO.js} +1 -1
- package/core/built/admin/assets/{hash-DE2OmChI.js → hash-BCTATV5W.js} +1 -1
- package/core/built/admin/assets/{inbox-OthiHvlV.js → inbox-rE3c5suT.js} +1 -1
- package/core/built/admin/assets/{index-BLyzLfyx.js → index-7EiRc5Ay.js} +1 -1
- package/core/built/admin/assets/{index-CV5v0eFE.js → index-B5bpZGTI.js} +1 -1
- package/core/built/admin/assets/index-BNtzAd7H.css +1 -0
- package/core/built/admin/assets/{index-BC1yWeaJ.js → index-BT33w2Io.js} +1 -1
- package/core/built/admin/assets/{index-DjffQ3VJ.js → index-BbkXWdhb.js} +1 -1
- package/core/built/admin/assets/{index-DH6PA3W6.js → index-BfhSrnrJ.js} +1 -1
- package/core/built/admin/assets/{index-CRvK0Iac.js → index-BmR_OUpb.js} +1 -1
- package/core/built/admin/assets/{index-CNV7fxKZ.js → index-BuhMgn5c.js} +1 -1
- package/core/built/admin/assets/{index-pkixJbdq.js → index-C-075SzJ.js} +34 -34
- package/core/built/admin/assets/{index-DJoByVS8.js → index-CB3hJd9E.js} +1 -1
- package/core/built/admin/assets/{index-D3bb-MEJ.js → index-CCISLIQd.js} +1 -1
- package/core/built/admin/assets/{index-BIEhcKiV.js → index-Cnptpx11.js} +1 -1
- package/core/built/admin/assets/{index-DK1cu59e.js → index-CrBRU81r.js} +1 -1
- package/core/built/admin/assets/{index-B0_p1-R0.js → index-CscUHFJp.js} +1 -1
- package/core/built/admin/assets/{index-Bi5qzf86.js → index-D3ZzfuJt.js} +1 -1
- package/core/built/admin/assets/{index-CKPny_6u.js → index-D4wn-U0V.js} +1 -1
- package/core/built/admin/assets/{index-YzcsD17L.js → index-DNRlkUeu.js} +1 -1
- package/core/built/admin/assets/{index-BoMsDCxD.js → index-D_G6negZ.js} +1 -1
- package/core/built/admin/assets/{index-CwsmINtV.js → index-DfxHSK1s.js} +1 -1
- package/core/built/admin/assets/{index-X91I8PcS.js → index-Dpc3COTl.js} +1 -1
- package/core/built/admin/assets/{index-c1h-EQpd.js → index-UsbnU2jy.js} +1 -1
- package/core/built/admin/assets/{index-oKgNVmwC.js → index-VfrJzh5m.js} +1 -1
- package/core/built/admin/assets/{index-D5MrQBSe.js → index-fbxc8Dpt.js} +1 -1
- package/core/built/admin/assets/{input-group-BOLMrDfJ.js → input-group-BLygwiDK.js} +1 -1
- package/core/built/admin/assets/{koenig-lexical-DlzcWUPw.js → koenig-lexical-B9U3sBS5.js} +1 -1
- package/core/built/admin/assets/{kpi-card-BlF7JKRC.js → kpi-card-Bmnvvp4X.js} +1 -1
- package/core/built/admin/assets/{kpi-card-HDshm3lO.js → kpi-card-CGVtzdgJ.js} +1 -1
- package/core/built/admin/assets/{kpi-tabs-Dty6zMSP.js → kpi-tabs-DxbvMkIU.js} +1 -1
- package/core/built/admin/assets/{kpis-CFz4r5wW.js → kpis-CQBAGVjP.js} +1 -1
- package/core/built/admin/assets/{label-CVzNcbjb.js → label-DpTwHQi_.js} +1 -1
- package/core/built/admin/assets/{links-D9dHwDlP.js → links-Bdw25FJF.js} +1 -1
- package/core/built/admin/assets/{list-page-shoQED7N.js → list-page-BvTQwP5F.js} +1 -1
- package/core/built/admin/assets/{loader-circle-cad701gH.js → loader-circle-3HJkQKWf.js} +1 -1
- package/core/built/admin/assets/{mail-DG4PKpZy.js → mail-DvrqP73n.js} +1 -1
- package/core/built/admin/assets/{main-layout-BmFla3Se.js → main-layout-BAPpm0bz.js} +1 -1
- package/core/built/admin/assets/{members-d19Z6k1C.js → members-CF4CzJSf.js} +1 -1
- package/core/built/admin/assets/minus-DJIePlnU.js +1 -0
- package/core/built/admin/assets/modals-CVsVi0zu.js +35 -0
- package/core/built/admin/assets/{moderation-BWBLnh4h.js → moderation-BX1KH5QL.js} +1 -1
- package/core/built/admin/assets/{newsletter-DNY4MroI.js → newsletter-BlKeb58e.js} +1 -1
- package/core/built/admin/assets/{newsletters-B10iBPP-.js → newsletters-3In8H0Z5.js} +1 -1
- package/core/built/admin/assets/{note-S0b6wjRR.js → note-ybwJCAxm.js} +1 -1
- package/core/built/admin/assets/{offers-B-9mZqKd.js → offers-Cl0ZNEMr.js} +1 -1
- package/core/built/admin/assets/{onboarding-route-AMFn0X5G.js → onboarding-route-A3ECeMAi.js} +1 -1
- package/core/built/admin/assets/{overview-WKadyZRW.js → overview-DrMrfsk-.js} +1 -1
- package/core/built/admin/assets/{pagemenu-BofQcFaF.js → pagemenu-O7HbsehH.js} +1 -1
- package/core/built/admin/assets/{pencil-LfMcD0vS.js → pencil-CknTbJeE.js} +1 -1
- package/core/built/admin/assets/{pin-CayUjL8e.js → pin-BNs-JdQ3.js} +1 -1
- package/core/built/admin/assets/{post-analytics-DMHvt3Jl.js → post-analytics-Dk1VloZp.js} +1 -1
- package/core/built/admin/assets/{post-analytics-context-10cqioP1.js → post-analytics-context-kPL94Ivz.js} +1 -1
- package/core/built/admin/assets/{post-analytics-header-DlICE18K.js → post-analytics-header-CpMOozq-.js} +1 -1
- package/core/built/admin/assets/{post-share-modal-Cfwy2UwD.js → post-share-modal-F0dobdhF.js} +1 -1
- package/core/built/admin/assets/posts/{alert-dialog-cQK32v9G.js → alert-dialog-NoPLULhG.js} +5 -5
- package/core/built/admin/assets/posts/{app-utils-DQ2hixop.js → app-utils-BiM9QO4L.js} +3 -3
- package/core/built/admin/assets/posts/{automations-BqkU9-zY.js → automations-BgIAmq9f.js} +3 -3
- package/core/built/admin/assets/posts/{automations-CoilKpVH.js → automations-D_XwO405.js} +30 -30
- package/core/built/admin/assets/posts/{avatar-BejAO6Rj.js → avatar-BYsYOpmq.js} +5 -5
- package/core/built/admin/assets/posts/{badge-BYGRyd2f.js → badge-B54vLono.js} +2 -2
- package/core/built/admin/assets/posts/{button-CG2Dpjqy.js → button-DMLfwOQt.js} +3 -3
- package/core/built/admin/assets/posts/{check-fsC5BvGC.js → check-D6qDi62T.js} +2 -2
- package/core/built/admin/assets/posts/{comments-CsyF5C1S.js → comments-CyYCbvUG.js} +26 -26
- package/core/built/admin/assets/posts/{data-list-JslRF2F5.js → data-list-B0DrMm-x.js} +4 -4
- package/core/built/admin/assets/posts/{dialog-3KY3A8t5.js → dialog-DtEZpY1q.js} +3 -3
- package/core/built/admin/assets/posts/{editor-3HPW_xW4.js → editor-LJHLmUoW.js} +1943 -1943
- package/core/built/admin/assets/posts/{ellipsis-BhK5S70U.js → ellipsis-JeIF0Biz.js} +2 -2
- package/core/built/admin/assets/posts/{empty-indicator-C9DbE9wZ.js → empty-indicator-dktzN32y.js} +2 -2
- package/core/built/admin/assets/posts/{filters-BCBDCnQF.js → filters-D1L-LU_m.js} +10 -10
- package/core/built/admin/assets/posts/{get-site-timezone-83C41MGz.js → get-site-timezone-dsyl8nlB.js} +3 -3
- package/core/built/admin/assets/posts/{growth-COoL1kMe.js → growth-yX8UB_ce.js} +12 -12
- package/core/built/admin/assets/posts/{heading-D3VqNO3z.js → heading-CNte43wH.js} +2 -2
- package/core/built/admin/assets/posts/{hooks-5YpJYWOw.js → hooks-BIgv7QBp.js} +2 -2
- package/core/built/admin/assets/posts/{index-Dqn5WIFh.js → index-2FO6Vy0r.js} +11 -11
- package/core/built/admin/assets/posts/{input-C1qcZBGw.js → input-BycmlCp8.js} +3 -3
- package/core/built/admin/assets/posts/{input-surface-C4vUAdbV.js → input-surface-vY3ACaso.js} +2 -2
- package/core/built/admin/assets/posts/{koenig-lexical-NZjxFY0X.js → koenig-lexical-Cq8SUcZC.js} +2 -2
- package/core/built/admin/assets/posts/{kpis-C2FEXoUT.js → kpis-CAJcU1w0.js} +27 -27
- package/core/built/admin/assets/posts/{label-CmJzmJY7.js → label-BmLTflMF.js} +3 -3
- package/core/built/admin/assets/posts/{links-nzud7t_t.js → links-BVcmMZmF.js} +4 -4
- package/core/built/admin/assets/posts/{list-page-D_rv4TgN.js → list-page-DX2WRn5T.js} +4 -4
- package/core/built/admin/assets/posts/{loading-indicator-DAOD6O2b.js → loading-indicator-C6FD4nS6.js} +3 -3
- package/core/built/admin/assets/posts/{mail-CtH0gTpq.js → mail-BMyoNUVM.js} +2 -2
- package/core/built/admin/assets/posts/{main-layout-VqvCxOXQ.js → main-layout-ClnxdW1Y.js} +2 -2
- package/core/built/admin/assets/posts/{message-circle-D4bCjxKS.js → message-circle-DwfHX-p1.js} +2 -2
- package/core/built/admin/assets/posts/{newsletter-BfwFyv6d.js → newsletter-Bid5_Bim.js} +19 -19
- package/core/built/admin/assets/posts/{overview-DKGum6ro.js → overview-BXti6Wg_.js} +18 -18
- package/core/built/admin/assets/posts/{pencil-Cffx-vm3.js → pencil-ChTk8IpW.js} +2 -2
- package/core/built/admin/assets/posts/{plus-D2ekwsq0.js → plus-DIKls8C6.js} +2 -2
- package/core/built/admin/assets/posts/{popover-DdbdKflP.js → popover-DVZsAT5u.js} +4 -4
- package/core/built/admin/assets/posts/{post-analytics-BleJYoNZ.js → post-analytics-DBL_kS0g.js} +6 -6
- package/core/built/admin/assets/posts/{post-analytics-context-DT3Avn9Q.js → post-analytics-context-Dr5y5nxd.js} +6 -6
- package/core/built/admin/assets/posts/{post-analytics-header-BktlrM_v.js → post-analytics-header-LH2-Jzgp.js} +13 -13
- package/core/built/admin/assets/posts/{post-share-modal-G8v3ZuSg.js → post-share-modal-D4DrfNfJ.js} +6 -6
- package/core/built/admin/assets/posts/{posts-CdWV_nlm.js → posts-ByxhcCrn.js} +2 -2
- package/core/built/admin/assets/posts/posts.js +1 -1
- package/core/built/admin/assets/posts/{search-CXP00fG8.js → search-DZR23LP-.js} +2 -2
- package/core/built/admin/assets/posts/{settings-DEXxDYc2.js → settings-CWyOKKnK.js} +2 -2
- package/core/built/admin/assets/posts/{sheet-CXHmD_eT.js → sheet-CNe7II5c.js} +3 -3
- package/core/built/admin/assets/posts/{site-C6DajagV.js → site-H9RAiQVv.js} +2 -2
- package/core/built/admin/assets/posts/{skeleton-Bihnkn8q.js → skeleton-Cn6x1x_C.js} +3 -3
- package/core/built/admin/assets/posts/{source-icon-C3oQy3UI.js → source-icon-BZOYujd1.js} +4 -4
- package/core/built/admin/assets/posts/{stats-DFicPtCX.js → stats-ugHCg8Oe.js} +4 -4
- package/core/built/admin/assets/posts/{table-DSJmeU5t.js → table-dG3Q5X95.js} +2 -2
- package/core/built/admin/assets/posts/{tabs-oRdVpN8P.js → tabs--EW8uL5B.js} +4 -4
- package/core/built/admin/assets/posts/{tags-6v5Qt_05.js → tags-DVdOfiSf.js} +2 -2
- package/core/built/admin/assets/posts/{tags-Upnkm0CF.js → tags-i0HJqNYU.js} +16 -16
- package/core/built/admin/assets/posts/{tooltip-Ci7pesWi.js → tooltip-ZvsT1Fs9.js} +4 -4
- package/core/built/admin/assets/posts/{trash-2-NCYWjRlg.js → trash-2-BT9fEHUL.js} +2 -2
- package/core/built/admin/assets/posts/{value-CcwzOh2_.js → value-DoFcsWDk.js} +2 -2
- package/core/built/admin/assets/posts/{virtual-list-window-CNahQBXY.js → virtual-list-window-Bt47XODn.js} +3 -3
- package/core/built/admin/assets/posts/{web-C3KrPq0T.js → web-BMTRLT-h.js} +20 -20
- package/core/built/admin/assets/posts/{zap-k30mZEuO.js → zap-DcIfEzKX.js} +2 -2
- package/core/built/admin/assets/{posts-DAfLuxAA.js → posts-DODOCB1E.js} +1 -1
- package/core/built/admin/assets/{power-Drkzg1xX.js → power-BZ7BM82m.js} +1 -1
- package/core/built/admin/assets/{referrers-TYxTJ2On.js → referrers-xwNb6L-8.js} +1 -1
- package/core/built/admin/assets/{repeat-CTM1qAzl.js → repeat-DHMCQMCA.js} +1 -1
- package/core/built/admin/assets/{reply-DXN16g7W.js → reply-DoLURZi2.js} +1 -1
- package/core/built/admin/assets/{rocket-DLixlWs0.js → rocket-BDH89dZr.js} +1 -1
- package/core/built/admin/assets/{select-DbiLEqYb.js → select-oE39QRll.js} +1 -1
- package/core/built/admin/assets/{send-B71C_46D.js → send-QgRN_yRy.js} +1 -1
- package/core/built/admin/assets/{settings-BBMPA3MP.js → settings-CF4NLxuS.js} +4 -4
- package/core/built/admin/assets/{settings-lSFHFrsJ.js → settings-D7e6KLAi.js} +1 -1
- package/core/built/admin/assets/{share-modal-CXrYja6o.js → share-modal-BxIh7i7o.js} +1 -1
- package/core/built/admin/assets/{sort-button-WYo-9Kge.js → sort-button-CEe_40Pi.js} +1 -1
- package/core/built/admin/assets/{source-icon-D6BzjYPP.js → source-icon-CzTNLO6j.js} +1 -1
- package/core/built/admin/assets/{sprout-DVfG_qhy.js → sprout-B2fN41p-.js} +1 -1
- package/core/built/admin/assets/{square-BbUJwQJi.js → square-CJZsjE-3.js} +1 -1
- package/core/built/admin/assets/{stats-CnXALQ4j.js → stats-jTxCK1CB.js} +1 -1
- package/core/built/admin/assets/{stats-view-B-yeMUkl.js → stats-view-B4jz69N8.js} +1 -1
- package/core/built/admin/assets/{step-1-DUl_hlpV.js → step-1-BovjhDNc.js} +1 -1
- package/core/built/admin/assets/{step-2-DjX_A4Ke.js → step-2-ClG40BfX.js} +1 -1
- package/core/built/admin/assets/{step-3-CnDCCA8T.js → step-3-ZMSyEHZI.js} +1 -1
- package/core/built/admin/assets/{table-AagTvMa9.js → table-B8Pj96or.js} +1 -1
- package/core/built/admin/assets/{tabs-IDJWnQD-.js → tabs-BZosOk0o.js} +1 -1
- package/core/built/admin/assets/{tags-CXAcIDw-.js → tags-BpWoYBfB.js} +1 -1
- package/core/built/admin/assets/{tags-C3lykbgu.js → tags-DZukMyuU.js} +1 -1
- package/core/built/admin/assets/{textarea-Cc3nUXep.js → textarea-BtnzsOk7.js} +1 -1
- package/core/built/admin/assets/{thumbs-down-SsjC2lMD.js → thumbs-down-CZTzyz7D.js} +1 -1
- package/core/built/admin/assets/{tiers-J8AeZmRd.js → tiers-Do7zBqAk.js} +1 -1
- package/core/built/admin/assets/{toggle-group-BzD8yimX.js → toggle-group-abk9FYXi.js} +1 -1
- package/core/built/admin/assets/{topic-filter-CA_L6ehz.js → topic-filter-CdMvjkmc.js} +1 -1
- package/core/built/admin/assets/{trash-BKhRqxsX.js → trash-DNXRsBf0.js} +1 -1
- package/core/built/admin/assets/{underline-_HIgX6e1.js → underline-HXWuVCAi.js} +1 -1
- package/core/built/admin/assets/{undo-2-ClkkOS0O.js → undo-2-C2ntNJKC.js} +1 -1
- package/core/built/admin/assets/{upload-DEPHbyvo.js → upload-D52l7HIb.js} +1 -1
- package/core/built/admin/assets/{use-growth-stats-BM2qWt0C.js → use-growth-stats-Dgs0UxDT.js} +1 -1
- package/core/built/admin/assets/{use-simple-pagination-zyklfekn.js → use-simple-pagination-Cj2rVggA.js} +1 -1
- package/core/built/admin/assets/{user-round-check-DoaGU2hC.js → user-round-check-C0GdT99c.js} +1 -1
- package/core/built/admin/assets/{user-round-x-CwEKNuU6.js → user-round-x-CVCvxuUG.js} +1 -1
- package/core/built/admin/assets/{virtual-list-window-C0Cv0gUC.js → virtual-list-window-mdQS2bt_.js} +1 -1
- package/core/built/admin/assets/{wallet-cards-BjdG5glh.js → wallet-cards-CtLF01jQ.js} +1 -1
- package/core/built/admin/assets/{web-BZNnanCT.js → web-DTib8_n8.js} +1 -1
- package/core/built/admin/index.html +6 -6
- package/core/frontend/helpers/ghost_foot.js +12 -2
- package/core/frontend/helpers/prev_post.js +1 -1
- package/core/frontend/helpers/tpl/gift-toast.hbs +130 -0
- package/core/frontend/services/proxy.js +9 -0
- package/core/frontend/services/routing/controllers/entry/canonical-url.js +15 -0
- package/core/frontend/services/routing/controllers/entry/canonical-url.ts +14 -0
- package/core/frontend/services/routing/controllers/entry/gift-links.js +82 -0
- package/core/frontend/services/routing/controllers/entry/gift-links.ts +92 -0
- package/core/frontend/services/routing/controllers/entry/markdown.js +62 -0
- package/core/frontend/services/routing/controllers/entry/markdown.ts +66 -0
- package/core/frontend/services/routing/controllers/entry.js +96 -105
- package/core/frontend/services/routing/controllers/entry.ts +97 -0
- package/core/frontend/services/routing/controllers/index.js +1 -1
- package/core/frontend/web/middleware/frontend-caching.js +9 -0
- package/core/server/adapters/cache/Redis.js +0 -1
- package/core/server/adapters/redirects/RedirectsStoreBase.d.ts +0 -4
- package/core/server/adapters/scheduling/scheduling-default.js +8 -1
- package/core/server/api/endpoints/gift-links.js +23 -16
- package/core/server/api/endpoints/gift-links.ts +25 -17
- package/core/server/api/endpoints/index.js +0 -1
- package/core/server/api/endpoints/previews.js +3 -24
- package/core/server/api/endpoints/utils/serializers/output/gift-links.js +4 -4
- package/core/server/api/endpoints/utils/serializers/output/gift-links.ts +4 -4
- package/core/server/api/endpoints/utils/serializers/output/index.js +0 -1
- package/core/server/api/endpoints/utils/validators/input/automation_email_previews.js +8 -9
- package/core/server/api/endpoints/utils/validators/input/index.js +0 -1
- package/core/server/data/migrations/versions/6.48/2026-06-23-00-00-00-drop-gift-links-revoked-at.js +6 -0
- package/core/server/data/migrations/versions/6.48/2026-06-23-00-00-01-rename-gift-links-revoke-all-permission-to-remove-all.js +37 -0
- package/core/server/data/migrations/versions/6.48/2026-06-24-00-00-00-drop-gift-links-redemption-columns.js +10 -0
- package/core/server/data/schema/fixtures/fixtures.json +2 -2
- package/core/server/data/schema/schema.js +1 -4
- package/core/server/data/seeders/data-generator.js +4 -1
- package/core/server/data/seeders/importers/members-login-events-importer.js +0 -1
- package/core/server/data/seeders/importers/members-newsletters-importer.js +0 -1
- package/core/server/data/seeders/importers/members-paid-subscription-events-importer.js +0 -1
- package/core/server/data/seeders/importers/members-status-events-importer.js +0 -1
- package/core/server/data/seeders/importers/members-stripe-customers-importer.js +0 -1
- package/core/server/data/seeders/importers/members-stripe-customers-subscriptions-importer.js +0 -1
- package/core/server/data/seeders/importers/members-subscribe-events-importer.js +0 -1
- package/core/server/data/seeders/importers/members-subscription-created-events-importer.js +0 -1
- package/core/server/lib/lexical.js +62 -36
- package/core/server/lib/post-revisions.js +0 -2
- package/core/server/lib/post-revisions.ts +0 -3
- package/core/server/models/index.js +0 -3
- package/core/server/services/auth/reset-authentication.js +0 -2
- package/core/server/services/auth/reset-authentication.ts +0 -3
- package/core/server/services/auth/session/index.js +0 -1
- package/core/server/services/automations/automations-api.js +59 -17
- package/core/server/services/automations/automations-api.ts +69 -16
- package/core/server/services/automations/database-automations-repository.js +58 -3
- package/core/server/services/automations/database-automations-repository.ts +70 -3
- package/core/server/services/automations/stale-lock-cutoff.js +7 -0
- package/core/server/services/automations/stale-lock-cutoff.ts +5 -0
- package/core/server/services/email-address/email-address-parser.js.d.ts +0 -1
- package/core/server/services/email-service/batch-sending-service.js +99 -26
- package/core/server/services/email-service/email-service-wrapper.js +7 -2
- package/core/server/services/email-service/email-service.js +146 -4
- package/core/server/services/gift-links/database.js +0 -3
- package/core/server/services/gift-links/database.ts +1 -4
- package/core/server/services/gift-links/index.js +2 -2
- package/core/server/services/gift-links/index.ts +4 -2
- package/core/server/services/gift-links/models.js +0 -2
- package/core/server/services/gift-links/models.ts +0 -2
- package/core/server/services/gift-links/queries.js +2 -2
- package/core/server/services/gift-links/queries.ts +2 -2
- package/core/server/services/gift-links/serializers.js +0 -2
- package/core/server/services/gift-links/serializers.ts +0 -2
- package/core/server/services/gift-links/service.js +54 -35
- package/core/server/services/gift-links/service.ts +70 -35
- package/core/server/services/gifts/gift-reminder-scheduler.js +0 -2
- package/core/server/services/gifts/gift-reminder-scheduler.ts +0 -2
- package/core/server/services/indexnow.js +8 -1
- package/core/server/services/internal-keys/index.js +0 -1
- package/core/server/services/internal-keys/index.ts +0 -2
- package/core/server/services/lib/dynamic-redirect-manager.d.ts +0 -1
- package/core/server/services/lib/in-memory-repository.js +0 -1
- package/core/server/services/lib/in-memory-repository.ts +0 -2
- package/core/server/services/members/api.js +0 -3
- package/core/server/services/members/create-paid-member-shim.js +31 -0
- package/core/server/services/members/create-paid-member-shim.ts +31 -0
- package/core/server/services/members/emails/signin.js +0 -1
- package/core/server/services/members/members-api/members-api.js +0 -2
- package/core/server/services/members/members-api/repositories/member-repository.js +0 -3
- package/core/server/services/members/service.js +4 -0
- package/core/server/services/post-scheduling/index.js +0 -2
- package/core/server/services/post-scheduling/index.ts +0 -2
- package/core/server/services/post-scheduling/post-scheduling.js +0 -5
- package/core/server/services/post-scheduling/post-scheduling.ts +0 -5
- package/core/server/services/recommendations/service/bookshelf-repository.js +0 -1
- package/core/server/services/recommendations/service/bookshelf-repository.ts +0 -4
- package/core/server/services/recommendations/service/incoming-recommendation-service.js +0 -1
- package/core/server/services/recommendations/service/incoming-recommendation-service.ts +0 -1
- package/core/server/services/recommendations/service/recommendation-controller.js +0 -1
- package/core/server/services/recommendations/service/recommendation-controller.ts +0 -1
- package/core/server/services/recommendations/service/recommendation-metadata-service.js +0 -1
- package/core/server/services/recommendations/service/recommendation-metadata-service.ts +0 -1
- package/core/server/services/recommendations/service/recommendation.js +0 -1
- package/core/server/services/recommendations/service/recommendation.ts +0 -1
- package/core/server/services/remote-flags/index.js +0 -1
- package/core/server/services/remote-flags/index.ts +0 -1
- package/core/server/services/slack.js +5 -1
- package/core/server/services/update-check/index.js +0 -1
- package/core/server/services/url/lazy-find-resource.js +0 -1
- package/core/server/services/url/lazy-find-resource.ts +0 -2
- package/core/server/services/url/lazy-url-service.js +0 -1
- package/core/server/services/url/lazy-url-service.ts +0 -2
- package/core/server/services/url/permalink-matcher.js +0 -1
- package/core/server/services/url/permalink-matcher.ts +0 -2
- package/core/server/services/url/router-filter.js +0 -2
- package/core/server/services/url/router-filter.ts +0 -2
- package/core/server/services/url/url-service-facade.js +0 -1
- package/core/server/services/url/url-service-facade.ts +0 -2
- package/core/server/services/verification/verification-webhook-service.js +0 -1
- package/core/server/services/verification/verification-webhook-service.ts +0 -1
- package/core/server/web/api/endpoints/admin/routes.js +7 -7
- package/core/shared/events-ts/post-deleted-event.js +0 -2
- package/core/shared/events-ts/post-deleted-event.ts +0 -2
- package/core/shared/labs.js +0 -1
- package/package.json +8 -16
- package/pnpm-lock.yaml +162 -113
- package/core/built/admin/assets/automations-BthXBzzq.js +0 -1
- package/core/built/admin/assets/editor-91xrI2A3.js +0 -8
- package/core/built/admin/assets/index-BYb09f-7.css +0 -1
- package/core/built/admin/assets/minus-DmrVsJ-z.js +0 -1
- package/core/built/admin/assets/modals-dnqxCS3l.js +0 -35
- package/core/server/models/outbox.js +0 -24
- package/core/server/services/outbox/events/start-outbox-processing-event.js +0 -22
- package/core/server/services/outbox/handlers/member-created.js +0 -85
- package/core/server/services/outbox/index.js +0 -49
- package/core/server/services/outbox/jobs/index.js +0 -30
- package/core/server/services/outbox/jobs/lib/constants.js +0 -17
- package/core/server/services/outbox/jobs/lib/process-entries.js +0 -117
- package/core/server/services/outbox/jobs/lib/process-outbox.js +0 -96
- package/core/server/services/outbox/jobs/outbox-job.js +0 -36
- package/types/ghost-storage-base.d.ts +0 -22
|
@@ -2315,7 +2315,7 @@ e.default=Ember.Helper.helper(function([e=[]]){return i(e)})})
|
|
|
2315
2315
|
define("ghost-admin/helpers/noop",["exports"],function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0
|
|
2316
2316
|
e.default=Ember.Helper.helper(function(){return()=>{}})}),define("ghost-admin/helpers/not-eq",["exports","ember-truth-helpers/helpers/not-eq"],function(e,t){Object.defineProperty(e,"__esModule",{value:!0}),Object.defineProperty(e,"default",{enumerable:!0,get:function(){return t.default}}),Object.defineProperty(e,"notEqualHelper",{enumerable:!0,get:function(){return t.notEqualHelper}})}),define("ghost-admin/helpers/not",["exports","ember-truth-helpers/helpers/not"],function(e,t){Object.defineProperty(e,"__esModule",{value:!0}),Object.defineProperty(e,"default",{enumerable:!0,get:function(){return t.default}}),Object.defineProperty(e,"not",{enumerable:!0,get:function(){return t.not}})}),define("ghost-admin/helpers/now",["exports","ember-moment/helpers/now"],function(e,t){Object.defineProperty(e,"__esModule",{value:!0}),Object.defineProperty(e,"default",{enumerable:!0,get:function(){return t.default}})}),define("ghost-admin/helpers/on-key",["exports","ember-keyboard/helpers/on-key.js"],function(e,t){Object.defineProperty(e,"__esModule",{value:!0}),Object.defineProperty(e,"default",{enumerable:!0,get:function(){return t.default}})}),define("ghost-admin/helpers/one-way-select/contains",["exports","ember-one-way-select/helpers/one-way-select/contains"],function(e,t){Object.defineProperty(e,"__esModule",{value:!0}),Object.defineProperty(e,"contains",{enumerable:!0,get:function(){return t.contains}}),Object.defineProperty(e,"default",{enumerable:!0,get:function(){return t.default}})}),define("ghost-admin/helpers/optional",["exports","ember-composable-helpers/helpers/optional"],function(e,t){Object.defineProperty(e,"__esModule",{value:!0}),Object.defineProperty(e,"default",{enumerable:!0,get:function(){return t.default}}),Object.defineProperty(e,"optional",{enumerable:!0,get:function(){return t.optional}})}),define("ghost-admin/helpers/or",["exports","ember-truth-helpers/helpers/or"],function(e,t){Object.defineProperty(e,"__esModule",{value:!0}),Object.defineProperty(e,"default",{enumerable:!0,get:function(){return t.default}}),Object.defineProperty(e,"or",{enumerable:!0,get:function(){return t.or}})}),define("ghost-admin/helpers/parse-history-event",["exports","ghost-admin/utils/asset-base"],function(e,t){Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0
|
|
2317
2317
|
class i extends Ember.Helper{compute([e]){const i=function(e){let t=e.resource_type
|
|
2318
|
-
"api_key"===t?t="API key":"setting"===t?t="settings":"product"===t&&(t="
|
|
2318
|
+
"api_key"===t?t="API key":"setting"===t?t="settings":"product"===t?t="tier":"gift_link"===t&&(t="gift link")
|
|
2319
2319
|
"post"===t&&e.context?.type&&(t=e.context?.type)
|
|
2320
2320
|
let i=e.event
|
|
2321
2321
|
"edited"===e.event&&e.context.action_name&&(i=e.context.action_name)
|
|
@@ -3893,6 +3893,6 @@ this.passwordChange(e),e.hasValidated.addObject("password"),Ember.isBlank(t)&&(e
|
|
|
3893
3893
|
e.default=n.create()}),define("ghost-admin/validators/webhook",["exports","ghost-admin/validators/base","validator"],function(e,t,i){Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0
|
|
3894
3894
|
e.default=t.default.create({properties:["name","event","targetUrl","secret"],name(e){Ember.isBlank(e.name)?(e.errors.add("name","Please enter a name"),e.hasValidated.pushObject("name"),this.invalidate()):i.default.isLength(e.name,{max:191})||(e.errors.add("name","Name is too long, max 191 chars"),e.hasValidated.pushObject("name"),this.invalidate())},event(e){Ember.isBlank(e.event)&&(e.errors.add("event","Please select an event"),e.hasValidated.pushObject("event"),this.invalidate())},targetUrl(e){Ember.isBlank(e.targetUrl)?e.errors.add("targetUrl","Please enter a target URL"):i.default.isURL(e.targetUrl||"",{require_protocol:!1})?i.default.isLength(e.targetUrl,{max:2e3})||e.errors.add("targetUrl","Target URL is too long, max 2000 chars"):e.errors.add("targetUrl","Please enter a valid URL"),e.hasValidated.pushObject("targetUrl"),e.errors.has("targetUrl")&&this.invalidate()},secret(e){Ember.isBlank(e.secret)||i.default.isLength(e.secret,{max:191})||(e.errors.add("secret","Secret is too long, max 191 chars"),e.hasValidated.pushObject("secret"),this.invalidate())}})}),define("ghost-admin/views/application",["exports"],function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0
|
|
3895
3895
|
e.default=Ember.Component.extend({})}),define("ghost-admin/config/environment",[],function(){try{var e="ghost-admin/config/environment",t=document.querySelector('meta[name="'+e+'"]').getAttribute("content"),i={default:JSON.parse(decodeURIComponent(t))}
|
|
3896
|
-
return Object.defineProperty(i,"__esModule",{value:!0}),i}catch(r){throw new Error('Could not read config from meta tag with name "'+e+'".')}}),runningTests||require("ghost-admin/app").default.create({version:"6.
|
|
3896
|
+
return Object.defineProperty(i,"__esModule",{value:!0}),i}catch(r){throw new Error('Could not read config from meta tag with name "'+e+'".')}}),runningTests||require("ghost-admin/app").default.create({version:"6.48",name:"ghost-admin"})
|
|
3897
3897
|
|
|
3898
|
-
//# sourceMappingURL=ghost-
|
|
3898
|
+
//# sourceMappingURL=ghost-1aaf5fc8cd5b50d711ee9284b22129bf.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{fq as G,d$ as s,J as O,eD as _,d2 as D,ci as B,bQ as J,bV as q,bR as Q,bT as X,bU as I,bS as Y,cJ as Z,dc as b,ed as g,fx as ss,bW as E,bM as L,bX as es,ch as rs}from"./index-
|
|
1
|
+
import{fq as G,d$ as s,J as O,eD as _,d2 as D,ci as B,bQ as J,bV as q,bR as Q,bT as X,bU as I,bS as Y,cJ as Z,dc as b,ed as g,fx as ss,bW as E,bM as L,bX as es,ch as rs}from"./index-C-075SzJ.js";import{E as P}from"./empty-indicator-Dxg05yWg.js";import{A as as,W as ts,C as ns}from"./wallet-cards-CtLF01jQ.js";import{S as W}from"./source-icon-CzTNLO6j.js";import{p as cs,e as os}from"./source-utils-B1S3ZHA2.js";import{C as N,d as S,e as C,b as v,a as w,c as is,T as ls}from"./pagemenu-O7HbsehH.js";import{T as ds,f as ms,g as H,d as f,a as hs,b as y}from"./table-B8Pj96or.js";import{K as M,c as A,b as T,a as k,d as R}from"./kpi-card-Bmnvvp4X.js";import{a as xs,P as ps}from"./post-analytics-header-CpMOozq-.js";import{b as us}from"./member-route-ZLy3opLv.js";import{u as js}from"./post-analytics-context-kPL94Ivz.js";import{g as $}from"./currency-fEUUCkj0.js";import{e as bs,d as gs,a as fs}from"./stats-jTxCK1CB.js";const ys=({className:n})=>{const t=G();return s.jsx(P,{actions:s.jsx(O,{variant:"outline",onClick:()=>t("/settings/analytics",{crossApp:!0}),children:"Open settings"}),className:n,description:"Enable member source tracking in settings to see which content drives member growth.",title:"Member sources have been disabled",children:s.jsx(as,{})})},K="https://www.google.com/s2/favicons?domain=ghost.org&sz=64",F=({headerStyle:n="table",children:t="Source",data:m,mode:r,defaultSourceIconUrl:a=K})=>{const{appSettings:o}=_();if(r==="growth")return s.jsxs(ds,{children:[s.jsx(ms,{children:s.jsxs(H,{children:[s.jsx(f,{className:"min-w-[320px]",variant:n==="table"?"default":"cardhead",children:t}),s.jsx(f,{className:"w-[110px] text-right",children:"Free members"}),o?.paidMembersEnabled&&s.jsxs(s.Fragment,{children:[s.jsx(f,{className:"w-[110px] text-right",children:"Paid members"}),s.jsx(f,{className:"w-[100px] text-right",children:"MRR impact"})]})]})}),s.jsx(hs,{children:m?.map(e=>{const h=c=>Math.round(c/100);return s.jsxs(H,{className:"last:border-none",children:[s.jsx(y,{children:e.linkUrl?s.jsxs("a",{className:"group flex items-center gap-2",href:e.linkUrl,rel:"noreferrer",target:"_blank",children:[s.jsx(W,{defaultSourceIconUrl:a,displayName:e.displayName,iconSrc:e.iconSrc}),s.jsx("span",{className:"group-hover:underline",children:e.displayName})]}):s.jsxs("span",{className:"flex items-center gap-2",children:[s.jsx(W,{defaultSourceIconUrl:a,displayName:e.displayName,iconSrc:e.iconSrc}),s.jsx("span",{children:e.displayName})]})}),s.jsxs(y,{className:"text-right font-mono text-sm",children:["+",b(e.free_members||0)]}),o?.paidMembersEnabled&&s.jsxs(s.Fragment,{children:[s.jsxs(y,{className:"text-right font-mono text-sm",children:["+",b(e.paid_members||0)]}),s.jsxs(y,{className:"text-right font-mono text-sm",children:["+$",b(h(e.mrr||0))]})]})]},e.source)})})]})},Ns=({title:n="Top sources",description:t,data:m,mode:r="visits",range:a=30,totalVisitors:o=0,siteUrl:e,siteIcon:h,defaultSourceIconUrl:c=K,getPeriodText:i,className:u})=>{const{appSettings:p}=_(),l=D.useMemo(()=>cs({data:m,mode:r,siteUrl:e,siteIcon:h,defaultSourceIconUrl:c}),[m,e,h,r,c]),d=D.useMemo(()=>os({processedData:l,totalVisitors:o,mode:r}),[l,o,r]),x=d.slice(0,10),j=t||(r==="growth"?"Where did your growth come from?":`How readers found your ${a?"site":"post"}${a&&i?` ${i(a)}`:""}`),V=r==="growth"?"Sources":"Top sources",z=r==="growth"?"Where did your growth come from?":`How readers found your ${a?"site":"post"}${a&&i?` ${i(a)}`:""}`;return s.jsxs(N,{className:Z("group/datalist w-full max-w-[calc(100vw-64px)] overflow-x-auto sidebar:max-w-[calc(100vw-64px-280px)]",u),"data-testid":"top-sources-card",children:[x.length<=0&&s.jsxs(S,{children:[s.jsx(C,{children:n}),s.jsx(v,{children:j})]}),s.jsx(w,{children:r==="growth"&&!p?.analytics.membersTrackSources?s.jsx(ys,{className:"py-10"}):x.length>0?s.jsx(F,{data:x,defaultSourceIconUrl:c,getPeriodText:i,headerStyle:"card",mode:r,range:a,children:s.jsxs(S,{children:[s.jsx(C,{children:n}),s.jsx(v,{children:j})]})}):s.jsx("div",{className:"py-20 text-center text-sm text-gray-700",children:s.jsx(P,{className:"h-full",description:r==="growth"&&"Once someone signs up on this post, sources will show here",title:`No sources data available ${i?i(a):""}`,children:s.jsx(B,{strokeWidth:1.5})})})}),d.length>10&&s.jsx(is,{children:s.jsxs(J,{children:[s.jsx(q,{asChild:!0,children:s.jsxs(O,{variant:"outline",children:["View all ",s.jsx(ls,{})]})}),s.jsxs(Q,{className:"overflow-y-auto pt-0 sm:max-w-[420px]",children:[s.jsxs(X,{className:"sticky top-0 z-40 -mx-6 bg-background/60 p-6 backdrop-blur",children:[s.jsx(I,{children:V}),s.jsx(Y,{children:z})]}),s.jsx("div",{className:"group/datalist",children:s.jsx(F,{data:d,defaultSourceIconUrl:c,getPeriodText:i,mode:r,range:a})})]})]})})]})},ws=n=>{const{data:t,isLoading:m}=bs(n),{data:r,isLoading:a}=gs(n),{data:o,isLoading:e}=fs(),h=g.useMemo(()=>t?.stats||[],[t]),c=g.useMemo(()=>r?.stats.length===0?{free_members:0,paid_members:0,mrr:0}:r?.stats[0],[r]),{selectedCurrency:i,currencySymbol:u}=g.useMemo(()=>{if(o?.stats&&o?.meta?.totals){const l=o.meta.totals;let d=l[0];if(!d)return{selectedCurrency:"usd",currencySymbol:$("usd")};for(const j of l)j.mrr>d.mrr&&(d=j);const x=d.currency;return{selectedCurrency:x,currencySymbol:$(x)}}return{selectedCurrency:"usd",currencySymbol:$("usd")}},[o]);return{isLoading:g.useMemo(()=>m||a||e,[m,a,e]),stats:h,totals:c,selectedCurrency:i,currencySymbol:u}},U=n=>Math.round(n/100),Ss=()=>{const{data:n}=js(),{postId:t}=ss(),{stats:m,totals:r,isLoading:a,currencySymbol:o}=ws(t||""),{appSettings:e}=_(),h=G(),c=d=>h(us({filter:d})),i=n?.url,u=n?.icon;let p="flex flex-col items-stretch gap-6",l="";return e?.paidMembersEnabled||(p="grid grid-cols-1 border rounded-md",l="border-none hover:shadow-none"),s.jsxs(s.Fragment,{children:[s.jsx(xs,{currentTab:"Growth"}),s.jsx(ps,{children:a?s.jsxs("div",{className:p,children:[s.jsx(N,{className:l,children:s.jsx(w,{className:"grid grid-cols-3 p-0",children:Array.from({length:3},(d,x)=>s.jsxs("div",{className:"h-[98px] gap-1 border-r px-6 py-5 last:border-r-0",children:[s.jsx(E,{className:"w-2/3"}),s.jsx(E,{className:"h-7 w-12"})]},x))})}),s.jsxs(N,{className:l,children:[s.jsxs(S,{children:[s.jsx(C,{children:"Top sources"}),s.jsx(v,{children:"Where did your growth come from?"})]}),s.jsxs(w,{children:[s.jsx(L,{}),s.jsx(es,{className:"pt-6"})]})]})]}):s.jsxs("div",{className:p,children:[s.jsxs(N,{className:l,"data-testid":"members-card",children:[s.jsxs(S,{className:"hidden",children:[s.jsx(C,{children:"Newsletters"}),s.jsx(v,{children:"How did this post perform"})]}),s.jsx(w,{className:"p-0",children:s.jsxs("div",{className:`flex flex-col md:grid md:items-stretch ${e?.paidMembersEnabled?"md:grid-cols-3":"md:grid-cols-1"}`,children:[s.jsxs(M,{className:"grow",children:[s.jsx(A,{onClick:()=>{c(`signup:'${t}'+conversion:-'${t}'`)},children:"View members →"}),s.jsxs(T,{onClick:()=>{c(`signup:'${t}'+conversion:-'${t}'`)},children:[s.jsx(rs,{strokeWidth:1.5}),"Free members"]}),s.jsx(k,{children:s.jsx(R,{children:b(r?.free_members||0)})})]}),e?.paidMembersEnabled&&s.jsxs(s.Fragment,{children:[s.jsxs(M,{className:"grow",children:[s.jsx(A,{onClick:()=>{c(`conversion:'${t}'`)},children:"View members →"}),s.jsxs(T,{onClick:()=>{c(`conversion:'${t}'`)},children:[s.jsx(ts,{strokeWidth:1.5}),"Paid members"]}),s.jsx(k,{children:s.jsx(R,{children:b(r?.paid_members||0)})})]}),s.jsxs(M,{className:"grow",children:[s.jsxs(T,{children:[s.jsx(ns,{strokeWidth:1.5}),"MRR"]}),s.jsx(k,{children:s.jsxs(R,{children:["+",o,U(r?.mrr||0)]})})]})]})]})})]}),!e?.paidMembersEnabled&&s.jsx(L,{}),s.jsx(Ns,{className:l,data:m,mode:"growth",siteIcon:u,siteUrl:i})]})})]})},As=Object.freeze(Object.defineProperty({__proto__:null,centsToDollars:U,default:Ss},Symbol.toStringTag,{value:"Module"}));export{ys as D,U as c,As as g,ws as u};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{cR as e}from"./index-
|
|
1
|
+
import{cR as e}from"./index-C-075SzJ.js";const y=[["line",{x1:"4",x2:"20",y1:"9",y2:"9",key:"4lhtct"}],["line",{x1:"4",x2:"20",y1:"15",y2:"15",key:"vyu0kd"}],["line",{x1:"10",x2:"8",y1:"3",y2:"21",key:"1ggp8o"}],["line",{x1:"16",x2:"14",y1:"3",y2:"21",key:"weycgp"}]],o=e("hash",y);export{o as H};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{cR as o}from"./index-
|
|
1
|
+
import{cR as o}from"./index-C-075SzJ.js";const t=[["polyline",{points:"22 12 16 12 14 15 10 15 8 12 2 12",key:"o97t9d"}],["path",{d:"M5.45 5.11 2 12v6a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2v-6l-3.45-6.89A2 2 0 0 0 16.76 4H7.24a2 2 0 0 0-1.79 1.11z",key:"oot6mr"}]],n=o("inbox",t);export{n as I};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{ex as J,ed as u,fs as $,d$ as e,b5 as H,b6 as z,cl as Ce,dm as Ne,d2 as Ue,bn as Me,e as Be,a as ae,J as j,av as ie,dy as De,aU as X,aD as Pe,ao as ce,bM as de,f as ue,n as Te,i as xe,l as Q,m as Y,j as G,aB as W,ch as Fe,aw as Re,k as K,h as fe,es as U,be as Oe,bh as Ie,bg as Ee,bf as ne,g as Se,cz as Ae,fx as me,fn as $e,ft as He,eG as ze,fM as Le,eF as Ve,fL as _e,aR as te,ai as Qe,ah as Ye,bW as O,ag as Ge,_ as We,a6 as Ke,a1 as Je,a4 as Xe,a5 as qe,az as Ze,K as es,z as ss,ek as oe,e8 as ls,er as ns,cu as V,C as ts,dM as os,aj as rs,fy as as,ew as he,fz as is}from"./index-pkixJbdq.js";import{P as cs}from"./pencil-LfMcD0vS.js";import{E as ds}from"./edit-profile-BMMpmWIZ.js";import{T as us,b as xs,c as S,d as _,a as A}from"./tabs-IDJWnQD-.js";import{S as fs}from"./settings-lSFHFrsJ.js";import{U as ms}from"./user-round-x-CwEKNuU6.js";import{C as hs}from"./copy-DoNNUZlb.js";import"./label-CVzNcbjb.js";import"./textarea-Cc3nUXep.js";import"./at-sign-Bf0y-jim.js";function ps(s){return typeof s.name=="string"?s.name:typeof s.preferredUsername=="string"?s.preferredUsername:typeof s.preferredUsername=="object"&&s.preferredUsername!==null&&"@value"in s.preferredUsername&&typeof s.preferredUsername["@value"]=="string"?s.preferredUsername["@value"]:"Unknown"}const pe=({noResultsMessage:s,actors:r,isLoading:n,fetchNextPage:c,hasNextPage:f,isFetchingNextPage:d})=>{const i=J("index","me"),{data:o}=i,t=u.useRef(null),a=u.useRef(null);u.useEffect(()=>(t.current&&t.current.disconnect(),t.current=new IntersectionObserver(l=>{l[0].isIntersecting&&f&&!d&&c()}),a.current&&t.current.observe(a.current),()=>{t.current&&t.current.disconnect()}),[f,d,c]);const x=$();return e.jsxs("div",{className:"pt-3","data-testid":"actor-list",children:[f===!1&&r.length===0?e.jsxs(H,{children:[e.jsx(z,{children:e.jsx(Ce,{})}),s]}):e.jsx("div",{className:"flex flex-col",children:r.map(({actor:l,isFollowing:h,blockedByMe:b,domainBlockedByMe:k})=>{const w=Ne(l),y=w===o?.handle;return e.jsx(Ue.Fragment,{children:e.jsx(Me,{actor:l,align:"center",isCurrentUser:y,side:"left",children:e.jsx("div",{children:e.jsxs(Be,{"data-testid":"actor-item",onClick:()=>{De(l,x)},children:[e.jsx(ae,{author:l}),e.jsx("div",{children:e.jsxs("div",{className:"break-anywhere text-gray-600",children:[e.jsx("span",{className:"mr-1 line-clamp-1 font-bold text-black dark:text-white",children:ps(l)}),e.jsx("div",{className:"line-clamp-1 text-sm",children:w})]})}),b||k?e.jsx(j,{className:"pointer-events-none ml-auto min-w-[90px]",variant:"destructive",children:"Blocked"}):y?null:e.jsx(ie,{className:"ml-auto","data-testid":"follow-button",following:h,handle:w,type:"secondary"})]},l.id)})})},l.id)})}),e.jsx("div",{ref:a,className:"h-1"}),(d||n)&&e.jsx("div",{className:"mt-6 flex flex-col items-center justify-center gap-4 text-center",children:e.jsx(X,{size:"md"})})]})},js=({posts:s,fetchNextPage:r,hasNextPage:n,isFetchingNextPage:c,isLoading:f})=>{const d=u.useRef(null),i=u.useRef(null),o=u.useRef(null),t=Math.max(0,Math.floor(s.length*.75)-1);u.useEffect(()=>(d.current&&d.current.disconnect(),d.current=new IntersectionObserver(x=>{x[0].isIntersecting&&n&&!c&&r()}),i.current&&d.current.observe(i.current),o.current&&d.current.observe(o.current),()=>{d.current&&d.current.disconnect()}),[n,c,r]);const a=$();return e.jsxs(e.Fragment,{children:[n===!1&&s.length===0&&e.jsxs(H,{children:[e.jsx(z,{children:e.jsx(Pe,{})}),"You haven't liked anything yet."]}),e.jsxs("ul",{className:"mx-auto flex max-w-[640px] flex-col","data-testid":"profile-likes-list",children:[s.map((x,l)=>e.jsxs("li",{"data-testid":"profile-like-item","data-test-view-article":!0,children:[e.jsx(ce,{actor:x.actor,allowDelete:x.object.authored,commentCount:x.object.replyCount,isLoading:f,layout:"feed",likeCount:x.object.likeCount,object:x.object,repostCount:x.object.repostCount,type:x.type,onClick:()=>{x.object.type==="Note"?a(`/notes/${encodeURIComponent(x.object.id)}`):x.object.type==="Article"&&a(`/reader/${encodeURIComponent(x.object.id)}`)}}),l<s.length-1&&e.jsx(de,{}),l===t&&e.jsx("div",{ref:i,className:"h-1"})]},`likes-${x.id}`)),c&&e.jsx("li",{className:"flex flex-col items-center justify-center gap-4 text-center",children:e.jsx(X,{size:"md"})})]}),e.jsx("div",{ref:o,className:"h-1"})]})},bs=({posts:s,fetchNextPage:r,hasNextPage:n,isFetchingNextPage:c,isLoading:f,noResultsMessage:d})=>{const i=u.useRef(null),o=u.useRef(null),t=u.useRef(null),a=Math.max(0,Math.floor(s.length*.75)-1);u.useEffect(()=>(i.current&&i.current.disconnect(),i.current=new IntersectionObserver(l=>{l[0].isIntersecting&&n&&!c&&r()}),o.current&&i.current.observe(o.current),t.current&&i.current.observe(t.current),()=>{i.current&&i.current.disconnect()}),[n,c,r]);const x=$();return e.jsxs(e.Fragment,{children:[n===!1&&s.length===0&&e.jsxs(H,{children:[e.jsx(z,{children:e.jsx(cs,{})}),d]}),e.jsxs("ul",{className:"mx-auto flex max-w-[640px] flex-col","data-testid":"profile-posts-list",children:[s.map((l,h)=>e.jsxs("li",{"data-testid":"profile-post-item","data-test-view-article":!0,children:[e.jsx(ce,{actor:l.actor,allowDelete:l.object.authored,commentCount:l.object.replyCount,isLoading:f,layout:"feed",likeCount:l.object.likeCount,object:l.object,repostCount:l.object.repostCount,type:l.type,onClick:()=>{l.object.type==="Note"?x(`/notes/${encodeURIComponent(l.object.id)}`):l.object.type==="Article"&&x(`/reader/${encodeURIComponent(l.object.id)}`)}}),h<s.length-1&&e.jsx(de,{}),h===a&&e.jsx("div",{ref:o,className:"h-1"})]},`posts-${l.id}`)),c&&e.jsx("li",{className:"flex flex-col items-center justify-center gap-4 text-center",children:e.jsx(X,{size:"md"})})]}),e.jsx("div",{ref:t,className:"h-1"})]})},je=({handle:s,isUserBlocked:r,isDomainBlocked:n,onUnblockUser:c,onUnblockDomain:f,trigger:d,onUnblockComplete:i,isOpen:o,onOpenChange:t})=>{const[a,x]=u.useState(!1),[l,h]=u.useState(()=>{const p=r&&n,C=r&&!n,F=!r&&n;let g="idle";return p?g="dual":C?g="userOnly":F&&(g="domainOnly"),{mode:g,userUnblocked:!1,domainUnblocked:!1}}),b=o!==void 0,k=b?o:a,[w,y]=u.useState(!1),M=u.useCallback(()=>{const p=r&&n,C=r&&!n,F=!r&&n;let g="idle";p?g="dual":C?g="userOnly":F&&(g="domainOnly"),h(N=>({...N,mode:g,userUnblocked:!1,domainUnblocked:!1}))},[r,n]);u.useEffect(()=>{k&&!w?(M(),y(!0)):k||y(!1)},[k,w,M]);const P=()=>{b?t?.(!0):x(!0)},m=p=>{p||(b?t?.(!1):x(!1))},I=async()=>{await c(),h(p=>({...p,userUnblocked:!0})),(l.mode!=="dual"||l.domainUnblocked)&&(m(!1),i?.()),U.success("User unblocked")},E=async()=>{await f(),h(p=>({...p,domainUnblocked:!0})),(l.mode!=="dual"||l.userUnblocked)&&(m(!1),i?.()),U.success("Domain unblocked")},T=s.split("@").filter(Boolean)[1],B=()=>e.jsxs(e.Fragment,{children:[e.jsxs(Q,{children:[e.jsx(Y,{className:"mb-1 flex flex-col gap-1",children:"Unblock"}),e.jsx(G,{className:"mt-4!",asChild:!0,children:e.jsxs("div",{className:"flex flex-col rounded-md border",children:[e.jsxs("div",{className:"flex justify-between gap-6 p-5",children:[e.jsxs("div",{className:"flex flex-col gap-1",children:[e.jsx(W,{children:"Unblock user"}),e.jsxs("p",{children:[e.jsx("span",{className:"font-semibold text-black",children:s})," will be able to follow you and engage with your public posts."]})]}),e.jsxs(j,{className:`gap-1 ${l.userUnblocked?"pointer-events-none border-green bg-green text-white hover:bg-green hover:text-white":"text-red hover:text-red-400"}`,variant:"outline",onClick:I,children:[e.jsx(Fe,{}),l.userUnblocked?"User unblocked":"Unblock user"]})]}),e.jsx("div",{className:"border-t"}),e.jsxs("div",{className:"flex justify-between gap-6 p-5",children:[e.jsxs("div",{className:"flex flex-col gap-1",children:[e.jsx(W,{children:"Unblock domain"}),e.jsxs("p",{children:["Users from ",e.jsx("span",{className:"font-semibold text-black",children:T})," will be able to follow you and engage with your public posts."]})]}),e.jsxs(j,{className:`gap-1 ${l.domainUnblocked?"pointer-events-none border-green bg-green text-white hover:bg-green hover:text-white":"text-red hover:text-red-400"}`,variant:"outline",onClick:E,children:[e.jsx(Re,{}),l.domainUnblocked?"Domain unblocked":"Unblock domain"]})]})]})})]}),e.jsx(K,{children:e.jsx(j,{onClick:()=>m(!1),children:"OK"})})]}),D=()=>{const p=l.mode==="userOnly";return e.jsxs(e.Fragment,{children:[e.jsxs(Q,{children:[e.jsx(Y,{className:"mb-1 flex flex-col gap-1",children:p?"Unblock this user?":"Unblock this domain?"}),e.jsx(G,{children:p?e.jsxs(e.Fragment,{children:[e.jsx("span",{className:"font-semibold text-black",children:s})," will be able to follow you and engage with your public posts."]}):e.jsxs(e.Fragment,{children:["Users from ",e.jsx("span",{className:"font-semibold text-black",children:T})," will be able to follow you and engage with your public posts."]})})]}),e.jsxs(K,{children:[e.jsx(fe,{children:"Cancel"}),e.jsx(j,{onClick:p?I:E,children:"Unblock"})]})]})};return e.jsxs(ue,{open:k,onOpenChange:m,children:[d&&e.jsx(Te,{asChild:!0,onClick:P,children:d}),e.jsx(xe,{className:`${l.mode==="dual"&&"max-w-[600px]"}`,children:l.mode==="dual"?B():D()})]})},gs=({account:s,children:r,onCopyHandle:n,onBlockAccount:c,onBlockDomain:f,disabled:d=!1,isBlocked:i=!1,isDomainBlocked:o=!1})=>{const[t,a]=u.useState(null),[x,l]=u.useState(!1),h=m=>{m.stopPropagation(),n()},b=m=>{m.stopPropagation(),c()},k=m=>{m.stopPropagation(),f()},w=s?.handle,y=w?.split("@").filter(Boolean)[1],M=()=>e.jsx(ue,{open:x,onOpenChange:l,children:e.jsxs(xe,{onClick:m=>m.stopPropagation(),children:[e.jsxs(Q,{children:[e.jsx(Y,{className:"mb-1 flex flex-col gap-1",children:t==="user"?"Block this user?":"Block this domain?"}),e.jsx(G,{children:t==="user"?e.jsxs(e.Fragment,{children:[e.jsx("span",{className:"font-semibold text-black",children:w})," will be able to see your public posts, but will no longer be able follow you or interact with your content on the social web."]}):e.jsxs(e.Fragment,{children:["All users from ",e.jsx("span",{className:"font-semibold text-black",children:y})," will be able to see your public posts, but won't be able to follow you or interact with your content."]})})]}),e.jsxs(K,{children:[t!=="domain"&&e.jsx(j,{className:"mr-auto -ml-3 hover:bg-transparent hover:opacity-80",variant:"ghost",onClick:m=>{m.stopPropagation(),a("domain")},children:"Block domain instead"}),e.jsx(fe,{onClick:m=>m.stopPropagation(),children:"Cancel"}),e.jsx(Se,{className:Ae({variant:"destructive"}),onClick:t==="user"?b:k,children:"Block"})]})]})}),P=()=>s&&e.jsx(je,{handle:s.handle,isDomainBlocked:s.domainBlockedByMe,isOpen:x,isUserBlocked:s.blockedByMe,onOpenChange:l,onUnblockDomain:f,onUnblockUser:c});return e.jsxs(e.Fragment,{children:[e.jsxs(Oe,{children:[e.jsx(Ie,{disabled:d,asChild:!0,onClick:m=>m.stopPropagation(),children:r}),e.jsx(Ee,{align:"end",className:"p-2",children:e.jsxs("div",{className:"flex w-48 flex-col",children:[e.jsx(ne,{asChild:!0,children:e.jsx(j,{className:"justify-start",variant:"ghost",onClick:h,children:"Copy handle"})}),e.jsx(ne,{asChild:!0,children:e.jsx(j,{className:"justify-start text-red hover:bg-red/5 hover:text-red",variant:"ghost",onClick:m=>{m.stopPropagation(),!i&&!o&&a("user"),l(!0)},children:i?"Unblock user":o?"Unblock domain":"Block user"})})]})})]}),i||o?P():M()]})},ks=({account:s,onUnblock:r,onDomainUnblock:n,className:c=""})=>{const[f,d]=u.useState(!1),i=e.jsx(j,{className:`min-w-[90px] ${c}`,variant:"destructive",onMouseEnter:()=>d(!0),onMouseLeave:()=>d(!1),children:f?"Unblock":"Blocked"});return e.jsx(je,{handle:s.handle,isDomainBlocked:s.domainBlockedByMe,isUserBlocked:s.blockedByMe,trigger:i,onUnblockDomain:n,onUnblockUser:r})},re=()=>{},ws=({account:s,customFields:r,isLoadingAccount:n,postsTab:c,likesTab:f,followingTab:d,followersTab:i})=>{const o=me(),t=$e(),a=$(),{canGoBack:x}=He(),l=o.handle?`/profile/${o.handle}`:"/profile",h=!o.handle,b=o.handle?o.tab||"":t.pathname.split("/").pop()||"",k=u.useMemo(()=>h?["likes","following","followers"]:["following","followers"],[h]),w=k.includes(b)?b:"posts",y=ze("index"),M=Le("index"),P=Ve("index"),m=_e("index"),I=J("index","me"),{data:E}=o.handle?I:{data:void 0},T=o.handle===E?.handle||!o.handle,B=s?.blockedByMe,D=s?.domainBlockedByMe,[p,C]=u.useState(!1),[F,g]=u.useState(!1),N=u.useRef(null);u.useEffect(()=>()=>{N.current&&window.clearTimeout(N.current)},[]);const q=()=>{B?M.mutate(s):(y.mutate(s),U.success("User blocked")),C(!1)},Z=()=>{D?m.mutate({url:s.apId,handle:s.handle}):(P.mutate({url:s.apId,handle:s.handle}),U.success("Domain blocked")),C(!1)},ee=async()=>{if(!s?.handle||!navigator?.clipboard?.writeText){U.error("Unable to copy handle");return}try{await navigator.clipboard.writeText(s.handle),g(!0),U.success("Handle copied"),N.current&&window.clearTimeout(N.current),N.current=window.setTimeout(()=>g(!1),2e3)}catch{U.error("Failed to copy handle"),g(!1)}},[R,be]=u.useState(!1),[ge,se]=u.useState(!1),ke=()=>{be(!R)},L=u.useRef(null),[le,we]=u.useState(!1);u.useEffect(()=>{L.current&&we(L.current.scrollHeight>160)},[R,s?.bio,r,n]),u.useEffect(()=>{b&&(k.includes(b)||a(l,{replace:!0}))},[k,l,a,b]);const ve=v=>v==="posts"?l:`${l}/${v}`,ye=v=>{v!==w&&a(ve(v),{replace:!0})};return!n&&!s?e.jsx(te,{children:e.jsx("div",{className:"mx-auto mt-4 flex w-full max-w-[620px] flex-col items-center [&_svg]:translate-x-px",children:e.jsxs(Qe,{children:[e.jsx(Ye,{children:e.jsx(ms,{})}),e.jsx("div",{children:"Profile not found"})]})})}):e.jsx(te,{children:e.jsx("div",{className:"z-0 mx-[max(-4vw,-24px)] -mt-9 flex flex-col items-center pb-16",children:e.jsx("div",{className:"mx-auto w-full",children:e.jsxs(e.Fragment,{children:[s?.bannerImageUrl?e.jsx("div",{className:"h-[15vw] min-h-[200px] w-full overflow-hidden bg-gradient-to-tr from-gray-200 to-gray-100",children:e.jsx("img",{alt:s?.name,className:"size-full object-cover",referrerPolicy:"no-referrer",src:s?.bannerImageUrl})}):e.jsx("div",{className:"h-[max(8vw,132px)] w-full overflow-hidden bg-gradient-to-tr from-white to-white dark:from-black dark:to-black"}),e.jsxs("div",{className:`mx-auto max-w-[620px] px-6 ${!s?.bannerImageUrl&&!x?"-mt-8":"-mt-12"}`,children:[e.jsxs("div",{className:"flex items-end justify-between",children:[e.jsx("div",{className:"-ml-2 rounded-full bg-white p-1 dark:bg-black",children:n?e.jsx(O,{className:"size-[92px] rounded-full"}):e.jsx(ae,{author:{icon:{url:s?.avatarUrl},name:s?.name,handle:s?.handle},size:"lg"})}),!T&&!n&&e.jsxs("div",{className:"flex gap-2",children:[B||D?e.jsx(ks,{account:s,onDomainUnblock:Z,onUnblock:q}):e.jsx(ie,{following:s?.followedByMe,handle:s?.handle,type:"primary",onFollow:re,onUnfollow:re}),e.jsx(gs,{account:s,isBlocked:B,isDomainBlocked:D,onBlockAccount:q,onBlockDomain:Z,onCopyHandle:ee,children:e.jsx(j,{"aria-label":"Open profile menu",variant:"outline",children:e.jsx(Ge,{})})})]}),T&&!n&&e.jsxs(We,{open:ge,onOpenChange:se,children:[e.jsx(Ke,{children:e.jsx(fs,{children:e.jsx(j,{variant:"secondary",children:"Edit profile"})})}),e.jsxs(Je,{className:"w-full max-w-[520px]",onOpenAutoFocus:v=>v.preventDefault(),children:[e.jsx(Xe,{children:e.jsx(qe,{children:"Profile settings"})}),s&&e.jsx(ds,{account:s,setIsEditingProfile:se})]})]})]}),e.jsx(Ze,{className:"break-anywhere mt-4 truncate",children:n?e.jsx(O,{className:"w-32"}):s?.name}),e.jsxs("div",{className:"mb-4 flex items-center gap-2",children:[e.jsx("a",{className:"inline-flex max-w-full truncate text-[1.5rem] text-gray-800 hover:text-gray-900 dark:text-gray-600 dark:hover:text-gray-500",href:s?.url,rel:"noopener noreferrer",target:"_blank",children:e.jsx("span",{className:"truncate",children:n?e.jsx(O,{className:"w-full max-w-56"}):s?.handle})}),!n&&e.jsx(j,{className:"-ml-1.5 size-6 p-0 text-gray-800 hover:text-gray-900 dark:text-gray-700 dark:hover:text-gray-600",title:"Copy handle",variant:"link",onClick:ee,children:F?e.jsx(es,{size:16}):e.jsx(hs,{size:16})}),s?.followsMe&&!n&&e.jsx(ss,{className:"mt-px whitespace-nowrap",variant:"secondary",children:"Follows you"})]}),(s?.bio||r?.length>0)&&e.jsxs("div",{ref:L,className:`ap-profile-content break-anywhere relative text-[1.5rem] [&>p]:mb-3 ${R?"max-h-none pb-7":"max-h-[160px] overflow-hidden"} relative`,children:[n?e.jsxs(e.Fragment,{children:[e.jsx(O,{}),e.jsx(O,{className:"w-full max-w-48"})]}):e.jsx("div",{dangerouslySetInnerHTML:{__html:oe(ls(ns(s?.bio??"",["a","br"])))}}),r?.map(v=>e.jsxs("span",{className:"mt-3 line-clamp-1 flex flex-col text-[1.5rem]",children:[e.jsx("span",{className:"text-xs font-semibold",children:v.name}),e.jsx("span",{dangerouslySetInnerHTML:{__html:oe(v.value)},className:"ap-profile-content truncate"})]})),!R&&le&&e.jsx("div",{className:"absolute inset-x-0 bottom-0 h-16 bg-gradient-to-t from-white via-white/100 via-60% to-transparent dark:from-black dark:via-black/100"}),le&&e.jsx(j,{className:"absolute bottom-0 h-auto p-0 text-md",variant:"link",onClick:ke,children:R?"Show less":"Show all"})]}),e.jsxs(us,{className:"mt-5",value:w,variant:"underline",onValueChange:v=>ye(v),children:[e.jsxs(xs,{children:[e.jsx(S,{value:"posts",children:"Posts"}),h&&e.jsxs(S,{value:"likes",children:["Likes",e.jsx(_,{children:V(s?.likedCount||0)})]}),e.jsxs(S,{value:"following",children:["Following",e.jsx(_,{children:V(s?.followingCount||0)})]}),e.jsxs(S,{value:"followers",children:["Followers",e.jsx(_,{children:V(s?.followerCount||0)})]})]}),e.jsx(A,{value:"posts",children:(B||D)&&!p?e.jsxs(H,{children:[e.jsx(z,{children:e.jsx(ts,{})}),e.jsxs("div",{className:"mt-2 flex flex-col items-center gap-0.5",children:[e.jsxs(W,{children:[s.name," is blocked"]}),e.jsx("p",{children:"You can view the posts, but it won't unblock the user."}),e.jsx(j,{className:"mt-4",variant:"secondary",onClick:()=>C(!0),children:"View posts"})]})]}):c}),h&&e.jsx(A,{value:"likes",children:f}),e.jsx(A,{value:"following",children:d}),e.jsx(A,{value:"followers",children:i})]},o.handle||s?.handle||"current-user")]})]})})})})},vs=({handle:s})=>{const{postsByAccountQuery:r}=as(s||"me",{enabled:!0}),{data:n,fetchNextPage:c,hasNextPage:f,isFetchingNextPage:d,isLoading:i}=r,o=n?.pages.flatMap(t=>t.posts)??Array.from({length:5},(t,a)=>({id:`placeholder-${a}`,object:{}}));return e.jsx(bs,{fetchNextPage:c,hasNextPage:f,isFetchingNextPage:d,isLoading:i,noResultsMessage:s?`${s} hasn't posted anything yet`:"You haven't posted anything yet.",posts:o})},ys=()=>{const{postsLikedByAccountQuery:s}=is({enabled:!0}),{data:r,fetchNextPage:n,hasNextPage:c,isFetchingNextPage:f,isLoading:d}=s,i=r?.pages.flatMap(o=>o.posts)??Array.from({length:5},(o,t)=>({id:`placeholder-${t}`,object:{}}));return e.jsx(js,{fetchNextPage:n,hasNextPage:c,isFetchingNextPage:f,isLoading:d,posts:i})},Cs=({handle:s})=>{const r=he(s===""?"me":s,"following"),{data:n,fetchNextPage:c,hasNextPage:f,isFetchingNextPage:d,isLoading:i}=r,o=n?.pages.flatMap(t=>"following"in t?t.following:"accounts"in t?t.accounts.map(a=>({actor:{id:a.id,name:a.name,handle:a.handle,icon:{url:a.avatarUrl}},isFollowing:a.isFollowing,blockedByMe:a.blockedByMe,domainBlockedByMe:a.domainBlockedByMe})):[])??[];return e.jsx(pe,{actors:o,fetchNextPage:c,hasNextPage:f,isFetchingNextPage:d,isLoading:i,noResultsMessage:`${s||"You"} have no following`})},Ns=({handle:s})=>{const r=he(s===""?"me":s,"followers"),{data:n,fetchNextPage:c,hasNextPage:f,isFetchingNextPage:d,isLoading:i}=r,o=n?.pages.flatMap(t=>"followers"in t?t.followers:"accounts"in t?t.accounts.map(a=>({actor:{id:a.id,name:a.name,handle:a.handle,icon:{url:a.avatarUrl}},isFollowing:a.isFollowing})):[])??[];return e.jsx(pe,{actors:o,fetchNextPage:c,hasNextPage:f,isFetchingNextPage:d,isLoading:i,noResultsMessage:`${s||"You"} have no followers yet`})},Es=()=>{const s=me(),{data:r,isLoading:n,error:c,refetch:f}=J("index",s.handle||"me");if(u.useEffect(()=>{f()},[s.handle,f]),c&&os(c)&&c.statusCode!==404)return e.jsx(rs,{errorCode:c.code,statusCode:c.statusCode});const d=Object.keys(r?.customFields||{}).map(x=>({name:x,value:r.customFields[x]}))||[],i=e.jsx(vs,{handle:s.handle||""}),o=e.jsx(ys,{}),t=e.jsx(Cs,{handle:s.handle||""}),a=e.jsx(Ns,{handle:s.handle||""});return e.jsx(ws,{account:r,customFields:d,followersTab:a,followingTab:t,isLoadingAccount:n,likesTab:o,postsTab:i})};export{Es as default};
|
|
1
|
+
import{ex as J,ed as u,fs as $,d$ as e,b5 as H,b6 as z,cl as Ce,dm as Ne,d2 as Ue,bn as Me,e as Be,a as ae,J as j,av as ie,dy as De,aU as X,aD as Pe,ao as ce,bM as de,f as ue,n as Te,i as xe,l as Q,m as Y,j as G,aB as W,ch as Fe,aw as Re,k as K,h as fe,es as U,be as Oe,bh as Ie,bg as Ee,bf as ne,g as Se,cz as Ae,fx as me,fn as $e,ft as He,eG as ze,fM as Le,eF as Ve,fL as _e,aR as te,ai as Qe,ah as Ye,bW as O,ag as Ge,_ as We,a6 as Ke,a1 as Je,a4 as Xe,a5 as qe,az as Ze,K as es,z as ss,ek as oe,e8 as ls,er as ns,cu as V,C as ts,dM as os,aj as rs,fy as as,ew as he,fz as is}from"./index-C-075SzJ.js";import{P as cs}from"./pencil-CknTbJeE.js";import{E as ds}from"./edit-profile-DlJ64lV7.js";import{T as us,b as xs,c as S,d as _,a as A}from"./tabs-BZosOk0o.js";import{S as fs}from"./settings-D7e6KLAi.js";import{U as ms}from"./user-round-x-CVCvxuUG.js";import{C as hs}from"./copy-r1LFsU75.js";import"./label-DpTwHQi_.js";import"./textarea-BtnzsOk7.js";import"./at-sign-DhJF3n_V.js";function ps(s){return typeof s.name=="string"?s.name:typeof s.preferredUsername=="string"?s.preferredUsername:typeof s.preferredUsername=="object"&&s.preferredUsername!==null&&"@value"in s.preferredUsername&&typeof s.preferredUsername["@value"]=="string"?s.preferredUsername["@value"]:"Unknown"}const pe=({noResultsMessage:s,actors:r,isLoading:n,fetchNextPage:c,hasNextPage:f,isFetchingNextPage:d})=>{const i=J("index","me"),{data:o}=i,t=u.useRef(null),a=u.useRef(null);u.useEffect(()=>(t.current&&t.current.disconnect(),t.current=new IntersectionObserver(l=>{l[0].isIntersecting&&f&&!d&&c()}),a.current&&t.current.observe(a.current),()=>{t.current&&t.current.disconnect()}),[f,d,c]);const x=$();return e.jsxs("div",{className:"pt-3","data-testid":"actor-list",children:[f===!1&&r.length===0?e.jsxs(H,{children:[e.jsx(z,{children:e.jsx(Ce,{})}),s]}):e.jsx("div",{className:"flex flex-col",children:r.map(({actor:l,isFollowing:h,blockedByMe:b,domainBlockedByMe:w})=>{const v=Ne(l),y=v===o?.handle;return e.jsx(Ue.Fragment,{children:e.jsx(Me,{actor:l,align:"center",isCurrentUser:y,side:"left",children:e.jsx("div",{children:e.jsxs(Be,{"data-testid":"actor-item",onClick:()=>{De(l,x)},children:[e.jsx(ae,{author:l}),e.jsx("div",{children:e.jsxs("div",{className:"break-anywhere text-gray-600",children:[e.jsx("span",{className:"mr-1 line-clamp-1 font-bold text-black dark:text-white",children:ps(l)}),e.jsx("div",{className:"line-clamp-1 text-sm",children:v})]})}),b||w?e.jsx(j,{className:"pointer-events-none ml-auto min-w-[90px]",variant:"destructive",children:"Blocked"}):y?null:e.jsx(ie,{className:"ml-auto","data-testid":"follow-button",following:h,handle:v,type:"secondary"})]},l.id)})})},l.id)})}),e.jsx("div",{ref:a,className:"h-1"}),(d||n)&&e.jsx("div",{className:"mt-6 flex flex-col items-center justify-center gap-4 text-center",children:e.jsx(X,{size:"md"})})]})},js=({posts:s,fetchNextPage:r,hasNextPage:n,isFetchingNextPage:c,isLoading:f})=>{const d=u.useRef(null),i=u.useRef(null),o=u.useRef(null),t=Math.max(0,Math.floor(s.length*.75)-1);u.useEffect(()=>(d.current&&d.current.disconnect(),d.current=new IntersectionObserver(x=>{x[0].isIntersecting&&n&&!c&&r()}),i.current&&d.current.observe(i.current),o.current&&d.current.observe(o.current),()=>{d.current&&d.current.disconnect()}),[n,c,r]);const a=$();return e.jsxs(e.Fragment,{children:[n===!1&&s.length===0&&e.jsxs(H,{children:[e.jsx(z,{children:e.jsx(Pe,{})}),"You haven't liked anything yet."]}),e.jsxs("ul",{className:"mx-auto flex max-w-[640px] flex-col","data-testid":"profile-likes-list",children:[s.map((x,l)=>e.jsxs("li",{"data-testid":"profile-like-item","data-test-view-article":!0,children:[e.jsx(ce,{actor:x.actor,allowDelete:x.object.authored,commentCount:x.object.replyCount,isLoading:f,layout:"feed",likeCount:x.object.likeCount,object:x.object,repostCount:x.object.repostCount,type:x.type,onClick:()=>{x.object.type==="Note"?a(`/notes/${encodeURIComponent(x.object.id)}`):x.object.type==="Article"&&a(`/reader/${encodeURIComponent(x.object.id)}`)}}),l<s.length-1&&e.jsx(de,{}),l===t&&e.jsx("div",{ref:i,className:"h-1"})]},`likes-${x.id}`)),c&&e.jsx("li",{className:"flex flex-col items-center justify-center gap-4 text-center",children:e.jsx(X,{size:"md"})})]}),e.jsx("div",{ref:o,className:"h-1"})]})},bs=({posts:s,fetchNextPage:r,hasNextPage:n,isFetchingNextPage:c,isLoading:f,noResultsMessage:d})=>{const i=u.useRef(null),o=u.useRef(null),t=u.useRef(null),a=Math.max(0,Math.floor(s.length*.75)-1);u.useEffect(()=>(i.current&&i.current.disconnect(),i.current=new IntersectionObserver(l=>{l[0].isIntersecting&&n&&!c&&r()}),o.current&&i.current.observe(o.current),t.current&&i.current.observe(t.current),()=>{i.current&&i.current.disconnect()}),[n,c,r]);const x=$();return e.jsxs(e.Fragment,{children:[n===!1&&s.length===0&&e.jsxs(H,{children:[e.jsx(z,{children:e.jsx(cs,{})}),d]}),e.jsxs("ul",{className:"mx-auto flex max-w-[640px] flex-col","data-testid":"profile-posts-list",children:[s.map((l,h)=>e.jsxs("li",{"data-testid":"profile-post-item","data-test-view-article":!0,children:[e.jsx(ce,{actor:l.actor,allowDelete:l.object.authored,commentCount:l.object.replyCount,isLoading:f,layout:"feed",likeCount:l.object.likeCount,object:l.object,repostCount:l.object.repostCount,type:l.type,onClick:()=>{l.object.type==="Note"?x(`/notes/${encodeURIComponent(l.object.id)}`):l.object.type==="Article"&&x(`/reader/${encodeURIComponent(l.object.id)}`)}}),h<s.length-1&&e.jsx(de,{}),h===a&&e.jsx("div",{ref:o,className:"h-1"})]},`posts-${l.id}`)),c&&e.jsx("li",{className:"flex flex-col items-center justify-center gap-4 text-center",children:e.jsx(X,{size:"md"})})]}),e.jsx("div",{ref:t,className:"h-1"})]})},je=({handle:s,isUserBlocked:r,isDomainBlocked:n,onUnblockUser:c,onUnblockDomain:f,trigger:d,onUnblockComplete:i,isOpen:o,onOpenChange:t})=>{const[a,x]=u.useState(!1),[l,h]=u.useState(()=>{const p=r&&n,C=r&&!n,F=!r&&n;let g="idle";return p?g="dual":C?g="userOnly":F&&(g="domainOnly"),{mode:g,userUnblocked:!1,domainUnblocked:!1}}),b=o!==void 0,w=b?o:a,[v,y]=u.useState(!1),M=u.useCallback(()=>{const p=r&&n,C=r&&!n,F=!r&&n;let g="idle";p?g="dual":C?g="userOnly":F&&(g="domainOnly"),h(N=>({...N,mode:g,userUnblocked:!1,domainUnblocked:!1}))},[r,n]);u.useEffect(()=>{w&&!v?(M(),y(!0)):w||y(!1)},[w,v,M]);const P=()=>{b?t?.(!0):x(!0)},m=p=>{p||(b?t?.(!1):x(!1))},I=async()=>{await c(),h(p=>({...p,userUnblocked:!0})),(l.mode!=="dual"||l.domainUnblocked)&&(m(!1),i?.()),U.success("User unblocked")},E=async()=>{await f(),h(p=>({...p,domainUnblocked:!0})),(l.mode!=="dual"||l.userUnblocked)&&(m(!1),i?.()),U.success("Domain unblocked")},T=s.split("@").filter(Boolean)[1],B=()=>e.jsxs(e.Fragment,{children:[e.jsxs(Q,{children:[e.jsx(Y,{className:"mb-1 flex flex-col gap-1",children:"Unblock"}),e.jsx(G,{className:"mt-4!",asChild:!0,children:e.jsxs("div",{className:"flex flex-col rounded-md border",children:[e.jsxs("div",{className:"flex justify-between gap-6 p-5",children:[e.jsxs("div",{className:"flex flex-col gap-1",children:[e.jsx(W,{children:"Unblock user"}),e.jsxs("p",{children:[e.jsx("span",{className:"font-semibold text-black",children:s})," will be able to follow you and engage with your public posts."]})]}),e.jsxs(j,{className:`gap-1 ${l.userUnblocked?"pointer-events-none border-green bg-green text-white hover:bg-green hover:text-white":"text-red hover:text-red-400"}`,variant:"outline",onClick:I,children:[e.jsx(Fe,{}),l.userUnblocked?"User unblocked":"Unblock user"]})]}),e.jsx("div",{className:"border-t"}),e.jsxs("div",{className:"flex justify-between gap-6 p-5",children:[e.jsxs("div",{className:"flex flex-col gap-1",children:[e.jsx(W,{children:"Unblock domain"}),e.jsxs("p",{children:["Users from ",e.jsx("span",{className:"font-semibold text-black",children:T})," will be able to follow you and engage with your public posts."]})]}),e.jsxs(j,{className:`gap-1 ${l.domainUnblocked?"pointer-events-none border-green bg-green text-white hover:bg-green hover:text-white":"text-red hover:text-red-400"}`,variant:"outline",onClick:E,children:[e.jsx(Re,{}),l.domainUnblocked?"Domain unblocked":"Unblock domain"]})]})]})})]}),e.jsx(K,{children:e.jsx(j,{onClick:()=>m(!1),children:"OK"})})]}),D=()=>{const p=l.mode==="userOnly";return e.jsxs(e.Fragment,{children:[e.jsxs(Q,{children:[e.jsx(Y,{className:"mb-1 flex flex-col gap-1",children:p?"Unblock this user?":"Unblock this domain?"}),e.jsx(G,{children:p?e.jsxs(e.Fragment,{children:[e.jsx("span",{className:"font-semibold text-black",children:s})," will be able to follow you and engage with your public posts."]}):e.jsxs(e.Fragment,{children:["Users from ",e.jsx("span",{className:"font-semibold text-black",children:T})," will be able to follow you and engage with your public posts."]})})]}),e.jsxs(K,{children:[e.jsx(fe,{children:"Cancel"}),e.jsx(j,{onClick:p?I:E,children:"Unblock"})]})]})};return e.jsxs(ue,{open:w,onOpenChange:m,children:[d&&e.jsx(Te,{asChild:!0,onClick:P,children:d}),e.jsx(xe,{className:`${l.mode==="dual"&&"max-w-[600px]"}`,children:l.mode==="dual"?B():D()})]})},gs=({account:s,children:r,onCopyHandle:n,onBlockAccount:c,onBlockDomain:f,disabled:d=!1,isBlocked:i=!1,isDomainBlocked:o=!1})=>{const[t,a]=u.useState(null),[x,l]=u.useState(!1),h=m=>{m.stopPropagation(),n()},b=m=>{m.stopPropagation(),c()},w=m=>{m.stopPropagation(),f()},v=s?.handle,y=v?.split("@").filter(Boolean)[1],M=()=>e.jsx(ue,{open:x,onOpenChange:l,children:e.jsxs(xe,{onClick:m=>m.stopPropagation(),children:[e.jsxs(Q,{children:[e.jsx(Y,{className:"mb-1 flex flex-col gap-1",children:t==="user"?"Block this user?":"Block this domain?"}),e.jsx(G,{children:t==="user"?e.jsxs(e.Fragment,{children:[e.jsx("span",{className:"font-semibold text-black",children:v})," will be able to see your public posts, but will no longer be able follow you or interact with your content on the social web."]}):e.jsxs(e.Fragment,{children:["All users from ",e.jsx("span",{className:"font-semibold text-black",children:y})," will be able to see your public posts, but won't be able to follow you or interact with your content."]})})]}),e.jsxs(K,{children:[t!=="domain"&&e.jsx(j,{className:"mr-auto -ml-3 hover:bg-transparent hover:opacity-80",variant:"ghost",onClick:m=>{m.stopPropagation(),a("domain")},children:"Block domain instead"}),e.jsx(fe,{onClick:m=>m.stopPropagation(),children:"Cancel"}),e.jsx(Se,{className:Ae({variant:"destructive"}),onClick:t==="user"?b:w,children:"Block"})]})]})}),P=()=>s&&e.jsx(je,{handle:s.handle,isDomainBlocked:s.domainBlockedByMe,isOpen:x,isUserBlocked:s.blockedByMe,onOpenChange:l,onUnblockDomain:f,onUnblockUser:c});return e.jsxs(e.Fragment,{children:[e.jsxs(Oe,{children:[e.jsx(Ie,{disabled:d,asChild:!0,onClick:m=>m.stopPropagation(),children:r}),e.jsx(Ee,{align:"end",className:"p-2",children:e.jsxs("div",{className:"flex w-48 flex-col",children:[e.jsx(ne,{asChild:!0,children:e.jsx(j,{className:"justify-start",variant:"ghost",onClick:h,children:"Copy handle"})}),e.jsx(ne,{asChild:!0,children:e.jsx(j,{className:"justify-start text-red hover:bg-red/5 hover:text-red",variant:"ghost",onClick:m=>{m.stopPropagation(),!i&&!o&&a("user"),l(!0)},children:i?"Unblock user":o?"Unblock domain":"Block user"})})]})})]}),i||o?P():M()]})},ks=({account:s,onUnblock:r,onDomainUnblock:n,className:c=""})=>{const[f,d]=u.useState(!1),i=e.jsx(j,{className:`min-w-[90px] ${c}`,variant:"destructive",onMouseEnter:()=>d(!0),onMouseLeave:()=>d(!1),children:f?"Unblock":"Blocked"});return e.jsx(je,{handle:s.handle,isDomainBlocked:s.domainBlockedByMe,isUserBlocked:s.blockedByMe,trigger:i,onUnblockDomain:n,onUnblockUser:r})},re=()=>{},ws=({account:s,customFields:r,isLoadingAccount:n,postsTab:c,likesTab:f,followingTab:d,followersTab:i})=>{const o=me(),t=$e(),a=$(),{canGoBack:x}=He(),l=o.handle?`/profile/${o.handle}`:"/profile",h=!o.handle,b=o.handle?o.tab||"":t.pathname.split("/").pop()||"",w=u.useMemo(()=>h?["likes","following","followers"]:["following","followers"],[h]),v=w.includes(b)?b:"posts",y=ze("index"),M=Le("index"),P=Ve("index"),m=_e("index"),I=J("index","me"),{data:E}=o.handle?I:{data:void 0},T=o.handle===E?.handle||!o.handle,B=s?.blockedByMe,D=s?.domainBlockedByMe,[p,C]=u.useState(!1),[F,g]=u.useState(!1),N=u.useRef(null);u.useEffect(()=>()=>{N.current&&window.clearTimeout(N.current)},[]);const q=()=>{B?M.mutate(s):(y.mutate(s),U.success("User blocked")),C(!1)},Z=()=>{D?m.mutate({url:s.apId,handle:s.handle}):(P.mutate({url:s.apId,handle:s.handle}),U.success("Domain blocked")),C(!1)},ee=async()=>{if(!s?.handle||!navigator?.clipboard?.writeText){U.error("Unable to copy handle");return}try{await navigator.clipboard.writeText(s.handle),g(!0),U.success("Handle copied"),N.current&&window.clearTimeout(N.current),N.current=window.setTimeout(()=>g(!1),2e3)}catch{U.error("Failed to copy handle"),g(!1)}},[R,be]=u.useState(!1),[ge,se]=u.useState(!1),ke=()=>{be(!R)},L=u.useRef(null),[le,we]=u.useState(!1);u.useEffect(()=>{L.current&&we(L.current.scrollHeight>160)},[R,s?.bio,r,n]),u.useEffect(()=>{b&&(w.includes(b)||a(l,{replace:!0}))},[w,l,a,b]);const ve=k=>k==="posts"?l:`${l}/${k}`,ye=k=>{k!==v&&a(ve(k),{replace:!0})};return!n&&!s?e.jsx(te,{children:e.jsx("div",{className:"mx-auto mt-4 flex w-full max-w-[620px] flex-col items-center [&_svg]:translate-x-px",children:e.jsxs(Qe,{children:[e.jsx(Ye,{children:e.jsx(ms,{})}),e.jsx("div",{children:"Profile not found"})]})})}):e.jsx(te,{children:e.jsx("div",{className:"z-0 mx-[max(-4vw,-24px)] -mt-9 flex flex-col items-center pb-16",children:e.jsx("div",{className:"mx-auto w-full",children:e.jsxs(e.Fragment,{children:[s?.bannerImageUrl?e.jsx("div",{className:"h-[15vw] min-h-[200px] w-full overflow-hidden bg-gradient-to-tr from-gray-200 to-gray-100",children:e.jsx("img",{alt:s?.name,className:"size-full object-cover",referrerPolicy:"no-referrer",src:s?.bannerImageUrl})}):e.jsx("div",{className:"h-[max(8vw,132px)] w-full overflow-hidden bg-gradient-to-tr from-white to-white dark:from-black dark:to-black"}),e.jsxs("div",{className:`mx-auto max-w-[620px] px-6 ${!s?.bannerImageUrl&&!x?"-mt-8":"-mt-12"}`,children:[e.jsxs("div",{className:"flex items-end justify-between",children:[e.jsx("div",{className:"-ml-2 rounded-full bg-white p-1 dark:bg-black",children:n?e.jsx(O,{className:"size-[92px] rounded-full"}):e.jsx(ae,{author:{icon:{url:s?.avatarUrl},name:s?.name,handle:s?.handle},size:"lg"})}),!T&&!n&&e.jsxs("div",{className:"flex gap-2",children:[B||D?e.jsx(ks,{account:s,onDomainUnblock:Z,onUnblock:q}):e.jsx(ie,{following:s?.followedByMe,handle:s?.handle,type:"primary",onFollow:re,onUnfollow:re}),e.jsx(gs,{account:s,isBlocked:B,isDomainBlocked:D,onBlockAccount:q,onBlockDomain:Z,onCopyHandle:ee,children:e.jsx(j,{"aria-label":"Open profile menu",variant:"outline",children:e.jsx(Ge,{})})})]}),T&&!n&&e.jsxs(We,{open:ge,onOpenChange:se,children:[e.jsx(Ke,{children:e.jsx(fs,{children:e.jsx(j,{variant:"secondary",children:"Edit profile"})})}),e.jsxs(Je,{className:"w-full max-w-[520px]",onOpenAutoFocus:k=>k.preventDefault(),children:[e.jsx(Xe,{children:e.jsx(qe,{children:"Profile settings"})}),s&&e.jsx(ds,{account:s,setIsEditingProfile:se})]})]})]}),e.jsx(Ze,{className:"break-anywhere mt-4 truncate",children:n?e.jsx(O,{className:"w-32"}):s?.name}),e.jsxs("div",{className:"mb-4 flex items-center gap-2",children:[e.jsx("a",{className:"inline-flex max-w-full truncate text-[1.5rem] text-gray-800 hover:text-gray-900 dark:text-gray-600 dark:hover:text-gray-500",href:s?.url,rel:"noopener noreferrer",target:"_blank",children:e.jsx("span",{className:"truncate",children:n?e.jsx(O,{className:"w-full max-w-56"}):s?.handle})}),!n&&e.jsx(j,{className:"-ml-1.5 size-6 p-0 text-gray-800 hover:text-gray-900 dark:text-gray-700 dark:hover:text-gray-600",title:"Copy handle",variant:"link",onClick:ee,children:F?e.jsx(es,{size:16}):e.jsx(hs,{size:16})}),s?.followsMe&&!n&&e.jsx(ss,{className:"mt-px whitespace-nowrap",variant:"secondary",children:"Follows you"})]}),(s?.bio||r?.length>0)&&e.jsxs("div",{ref:L,className:`ap-profile-content break-anywhere relative text-[1.5rem] [&>p]:mb-3 ${R?"max-h-none pb-7":"max-h-[160px] overflow-hidden"} relative`,children:[n?e.jsxs(e.Fragment,{children:[e.jsx(O,{}),e.jsx(O,{className:"w-full max-w-48"})]}):e.jsx("div",{dangerouslySetInnerHTML:{__html:oe(ls(ns(s?.bio??"",["a","br"])))}}),r?.map(k=>e.jsxs("span",{className:"mt-3 line-clamp-1 flex flex-col text-[1.5rem]",children:[e.jsx("span",{className:"text-xs font-semibold",children:k.name}),e.jsx("span",{dangerouslySetInnerHTML:{__html:oe(k.value)},className:"ap-profile-content truncate"})]},k.name)),!R&&le&&e.jsx("div",{className:"absolute inset-x-0 bottom-0 h-16 bg-gradient-to-t from-white via-white/100 via-60% to-transparent dark:from-black dark:via-black/100"}),le&&e.jsx(j,{className:"absolute bottom-0 h-auto p-0 text-md",variant:"link",onClick:ke,children:R?"Show less":"Show all"})]}),e.jsxs(us,{className:"mt-5",value:v,variant:"underline",onValueChange:k=>ye(k),children:[e.jsxs(xs,{children:[e.jsx(S,{value:"posts",children:"Posts"}),h&&e.jsxs(S,{value:"likes",children:["Likes",e.jsx(_,{children:V(s?.likedCount||0)})]}),e.jsxs(S,{value:"following",children:["Following",e.jsx(_,{children:V(s?.followingCount||0)})]}),e.jsxs(S,{value:"followers",children:["Followers",e.jsx(_,{children:V(s?.followerCount||0)})]})]}),e.jsx(A,{value:"posts",children:(B||D)&&!p?e.jsxs(H,{children:[e.jsx(z,{children:e.jsx(ts,{})}),e.jsxs("div",{className:"mt-2 flex flex-col items-center gap-0.5",children:[e.jsxs(W,{children:[s.name," is blocked"]}),e.jsx("p",{children:"You can view the posts, but it won't unblock the user."}),e.jsx(j,{className:"mt-4",variant:"secondary",onClick:()=>C(!0),children:"View posts"})]})]}):c}),h&&e.jsx(A,{value:"likes",children:f}),e.jsx(A,{value:"following",children:d}),e.jsx(A,{value:"followers",children:i})]},o.handle||s?.handle||"current-user")]})]})})})})},vs=({handle:s})=>{const{postsByAccountQuery:r}=as(s||"me",{enabled:!0}),{data:n,fetchNextPage:c,hasNextPage:f,isFetchingNextPage:d,isLoading:i}=r,o=n?.pages.flatMap(t=>t.posts)??Array.from({length:5},(t,a)=>({id:`placeholder-${a}`,object:{}}));return e.jsx(bs,{fetchNextPage:c,hasNextPage:f,isFetchingNextPage:d,isLoading:i,noResultsMessage:s?`${s} hasn't posted anything yet`:"You haven't posted anything yet.",posts:o})},ys=()=>{const{postsLikedByAccountQuery:s}=is({enabled:!0}),{data:r,fetchNextPage:n,hasNextPage:c,isFetchingNextPage:f,isLoading:d}=s,i=r?.pages.flatMap(o=>o.posts)??Array.from({length:5},(o,t)=>({id:`placeholder-${t}`,object:{}}));return e.jsx(js,{fetchNextPage:n,hasNextPage:c,isFetchingNextPage:f,isLoading:d,posts:i})},Cs=({handle:s})=>{const r=he(s===""?"me":s,"following"),{data:n,fetchNextPage:c,hasNextPage:f,isFetchingNextPage:d,isLoading:i}=r,o=n?.pages.flatMap(t=>"following"in t?t.following:"accounts"in t?t.accounts.map(a=>({actor:{id:a.id,name:a.name,handle:a.handle,icon:{url:a.avatarUrl}},isFollowing:a.isFollowing,blockedByMe:a.blockedByMe,domainBlockedByMe:a.domainBlockedByMe})):[])??[];return e.jsx(pe,{actors:o,fetchNextPage:c,hasNextPage:f,isFetchingNextPage:d,isLoading:i,noResultsMessage:`${s||"You"} have no following`})},Ns=({handle:s})=>{const r=he(s===""?"me":s,"followers"),{data:n,fetchNextPage:c,hasNextPage:f,isFetchingNextPage:d,isLoading:i}=r,o=n?.pages.flatMap(t=>"followers"in t?t.followers:"accounts"in t?t.accounts.map(a=>({actor:{id:a.id,name:a.name,handle:a.handle,icon:{url:a.avatarUrl}},isFollowing:a.isFollowing})):[])??[];return e.jsx(pe,{actors:o,fetchNextPage:c,hasNextPage:f,isFetchingNextPage:d,isLoading:i,noResultsMessage:`${s||"You"} have no followers yet`})},Es=()=>{const s=me(),{data:r,isLoading:n,error:c,refetch:f}=J("index",s.handle||"me");if(u.useEffect(()=>{f()},[s.handle,f]),c&&os(c)&&c.statusCode!==404)return e.jsx(rs,{errorCode:c.code,statusCode:c.statusCode});const d=Object.keys(r?.customFields||{}).map(x=>({name:x,value:r.customFields[x]}))||[],i=e.jsx(vs,{handle:s.handle||""}),o=e.jsx(ys,{}),t=e.jsx(Cs,{handle:s.handle||""}),a=e.jsx(Ns,{handle:s.handle||""});return e.jsx(ws,{account:r,customFields:d,followersTab:a,followingTab:t,isLoadingAccount:n,likesTab:o,postsTab:i})};export{Es as default};
|