ghost 6.55.0 → 6.56.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/components/tryghost-custom-field-types-0.0.0.tgz +0 -0
- package/components/tryghost-kg-default-cards-10.3.3.tgz +0 -0
- package/components/tryghost-kg-default-nodes-2.1.4.tgz +0 -0
- package/components/tryghost-kg-default-transforms-1.3.3.tgz +0 -0
- package/components/tryghost-kg-html-to-lexical-1.3.3.tgz +0 -0
- package/components/tryghost-kg-lexical-html-renderer-1.4.3.tgz +0 -0
- package/components/tryghost-nql-string-0.0.0.tgz +0 -0
- package/core/built/admin/assets/{Combination-CJG7Flp-.js → Combination-BCm9FL4o.js} +1 -1
- package/core/built/admin/assets/{PolarAngleAxis-BGjf7sBu.js → PolarAngleAxis-C4qtHy1B.js} +1 -1
- package/core/built/admin/assets/{RadialBarChart-zeFf9mBz.js → RadialBarChart-Bh09Stsj.js} +1 -1
- package/core/built/admin/assets/{account-migration-sjHLx5dy.js → account-migration-D3O_yVck.js} +1 -1
- package/core/built/admin/assets/activitypub/{account-migration-DoYXtnZ8.js → account-migration-D8FbP-Z-.js} +7 -7
- package/core/built/admin/assets/activitypub/activitypub.js +6 -6
- package/core/built/admin/assets/activitypub/{avatar-B3DEDB1l.js → avatar-11EA1VSs.js} +2 -2
- package/core/built/admin/assets/activitypub/{avatar-flipboard-Cqrg0XMx.js → avatar-flipboard-jfbLG-xe.js} +2 -2
- package/core/built/admin/assets/activitypub/{bluesky-sharing-Bxeh6MKW.js → bluesky-sharing-f1jTQe2P.js} +16 -16
- package/core/built/admin/assets/activitypub/{content-formatters-BpQARh28.js → content-formatters-nmTOPY9M.js} +3 -3
- package/core/built/admin/assets/activitypub/{copy-D9UWIAan.js → copy-BCwo9ep3.js} +2 -2
- package/core/built/admin/assets/activitypub/{dist-D8sFfdpC.js → dist-BEfX-0aW.js} +12 -12
- package/core/built/admin/assets/activitypub/{domain-CWueFW6q.js → domain-AaDlZlrA.js} +9 -9
- package/core/built/admin/assets/activitypub/{edit-profile-BGxPU7N5.js → edit-profile-DPi8Tl5M.js} +945 -945
- package/core/built/admin/assets/activitypub/{explore-DBK-u0Ch.js → explore-CxTzjILQ.js} +8 -8
- package/core/built/admin/assets/activitypub/{feed-Bcir5RQZ.js → feed-DPv5x2MX.js} +33 -33
- package/core/built/admin/assets/activitypub/{field-BV-CIT3d.js → field-DbgA8lat.js} +3 -3
- package/core/built/admin/assets/activitypub/{hash-BC9Q0N4c.js → hash-BWuZoYkA.js} +2 -2
- package/core/built/admin/assets/activitypub/{inbox-DQ4ZnC1m.js → inbox-35VDQ2K2.js} +2 -2
- package/core/built/admin/assets/activitypub/{inbox-yC0nfvzl.js → inbox-DSrF_i1O.js} +85 -85
- package/core/built/admin/assets/activitypub/{label-DTRS9TDk.js → label-CPjFBbo7.js} +3 -3
- package/core/built/admin/assets/activitypub/layout-CTgrezN7.js +1 -0
- package/core/built/admin/assets/activitypub/{moderation-Dwl9t0pb.js → moderation-BkDC1XVZ.js} +11 -11
- package/core/built/admin/assets/activitypub/{note-B-zKsZ7r.js → note-xEyH4xT-.js} +7 -7
- package/core/built/admin/assets/activitypub/{notifications-DjJZD54t.js → notifications-DClaL3ui.js} +9 -9
- package/core/built/admin/assets/activitypub/{preferences-CoU8vs6d.js → preferences-DpnOa-4Z.js} +20 -20
- package/core/built/admin/assets/activitypub/{profile-BAsaJekx.js → profile-Dvi9mz-6.js} +237 -237
- package/core/built/admin/assets/activitypub/{reply-CpdMeAO5.js → reply-Cs9ySd6Z.js} +2 -2
- package/core/built/admin/assets/activitypub/{routes-CLH3OVTP.js → routes-DFBeTnfn.js} +1139 -1150
- package/core/built/admin/assets/activitypub/{separator-BI1FLsYM.js → separator-C5u_VjzY.js} +3 -3
- package/core/built/admin/assets/activitypub/{settings-DA6pNJ-Q.js → settings-CV2fFu6D.js} +13 -13
- package/core/built/admin/assets/activitypub/{site-CQD42Pw5.js → site-_TgDd_EM.js} +81 -81
- package/core/built/admin/assets/activitypub/{step-1-DIDg4aHb.js → step-1-BfnNL2oF.js} +5 -5
- package/core/built/admin/assets/activitypub/{step-2-BfGe8BYt.js → step-2-DLndZkO-.js} +6 -6
- package/core/built/admin/assets/activitypub/{step-3-mE9spAqw.js → step-3-A-PZTtRE.js} +10 -10
- package/core/built/admin/assets/activitypub/{tabs-Cg0saow1.js → tabs-BUbz7tea.js} +317 -315
- package/core/built/admin/assets/activitypub/{topic-filter-DLHBZT93.js → topic-filter-BdX_xYYT.js} +3 -3
- package/core/built/admin/assets/activitypub/{use-activity-pub-queries-VzbN99u_.js → use-activity-pub-queries-EwuRemHh.js} +2 -2
- package/core/built/admin/assets/activitypub/{use-navigate-with-base-path-CAwXTmqH.js → use-navigate-with-base-path-cy4ACBc4.js} +92 -90
- package/core/built/admin/assets/activitypub/{use-reply-chain-data-Br4aOWOh.js → use-reply-chain-data-CyFcGfan.js} +5 -5
- package/core/built/admin/assets/activitypub/{x-C8tAnXly.js → x-7zk8mV2p.js} +2 -2
- package/core/built/admin/assets/{audience-DjEWNhp3.js → audience-CkBb2LlO.js} +1 -1
- package/core/built/admin/assets/{automated-emails-DRy7qY-J.js → automated-emails-6t2bIRWf.js} +1 -1
- package/core/built/admin/assets/{automations-Bx3VcFIL.js → automations-cMllU545.js} +1 -1
- package/core/built/admin/assets/{bluesky-sharing-ClMd0-Ft.js → bluesky-sharing-DPGpyD-G.js} +1 -1
- package/core/built/admin/assets/{box-BWbhXh21.js → box-By_EgGtm.js} +1 -1
- package/core/built/admin/assets/{breadcrumb-BD0U2ygg.js → breadcrumb-DIfcF5ow.js} +1 -1
- package/core/built/admin/assets/build-CsiH26uS.js +1 -0
- package/core/built/admin/assets/{card-DGoDJzrn.js → card-aUHX0hyR.js} +1 -1
- package/core/built/admin/assets/{chart-BuRT2Y6p.js → chart-BnXyfH11.js} +1 -1
- package/core/built/admin/assets/{chart-helpers-fjQKRVyY.js → chart-helpers-DV0FkdcD.js} +1 -1
- package/core/built/admin/assets/{checkbox-CWa28lgO.js → checkbox-BIl077a0.js} +1 -1
- package/core/built/admin/assets/{chunk.481.6c7395a49484bb4583aa.js → chunk.332.05991a101d67f732dec3.js} +43 -42
- package/core/built/admin/assets/chunk.524.87b52f4fada529df2c4c.js +25 -0
- package/core/built/admin/assets/chunk.582.340bcca873e806cbd4bb.js +27 -0
- package/core/built/admin/assets/{code-editor-view-CCr0rBWS.js → code-editor-view-C0aWNwdl.js} +1 -1
- package/core/built/admin/assets/comments-qwhIjH3c.js +1 -0
- package/core/built/admin/assets/{container-BYz2Ed39.js → container-LiZf3XdY.js} +1 -1
- package/core/built/admin/assets/{data-list-16rkJYYi.js → data-list-CupF7bjM.js} +1 -1
- package/core/built/admin/assets/{date-range-select-BFp58EMk.js → date-range-select-dXc-GsVe.js} +1 -1
- package/core/built/admin/assets/{disabled-sources-indicator-CUxMfiPa.js → disabled-sources-indicator-DYAXW-6V.js} +1 -1
- package/core/built/admin/assets/dist-BUKmD51u.js +1 -0
- package/core/built/admin/assets/{dist-2Tnz2Yfq.js → dist-CNlMj7ML.js} +1 -1
- package/core/built/admin/assets/{dist-DGzPJ_bO.js → dist-Cb5RSHSg.js} +1 -1
- package/core/built/admin/assets/{dist-P_ohUlTi.js → dist-CqO2lWS0.js} +1 -1
- package/core/built/admin/assets/domain-B5ogXUBa.js +1 -0
- package/core/built/admin/assets/{dropzone-DlK-K2DQ.js → dropzone-BnFG7dDP.js} +1 -1
- package/core/built/admin/assets/{edit-profile-BKT-REJw.js → edit-profile-B07jCZy9.js} +1 -1
- package/core/built/admin/assets/editor-DDYSOXGN.js +8 -0
- package/core/built/admin/assets/{empty-indicator-oX1u1Pkn.js → empty-indicator-WB1WgT9h.js} +1 -1
- package/core/built/admin/assets/{explore-ClUpJZOp.js → explore-Ca1y8HW_.js} +1 -1
- package/core/built/admin/assets/{feed-DF92dUMP.js → feed-x4iFMBP4.js} +1 -1
- package/core/built/admin/assets/{field-Do7lieBA.js → field-ChCAabZg.js} +1 -1
- package/core/built/admin/assets/filter-sources-LdtH1e-T.js +1 -0
- package/core/built/admin/assets/filters-CLehPo_D.js +1 -0
- package/core/built/admin/assets/filters-CjVKRP8U.js +1 -0
- package/core/built/admin/assets/{ghost-c4057474943effc568c5659ccc4909d7.js → ghost-7f01131115186d1af84ead76e79646dd.js} +149 -129
- package/core/built/admin/assets/{ghost-a9c788f6f0b1ea6cf0f14ca4b13f4496.css → ghost-d38c30b866e59f2e06a357b5eb844fe5.css} +1 -1
- package/core/built/admin/assets/{ghost-dark-db36d795d21c61426837df40af270966.css → ghost-dark-1bffd5099ba7a749303133efacf8480b.css} +1 -1
- package/core/built/admin/assets/{gift-link-modal-f9VIMNDv.js → gift-link-modal-Buqh2vXh.js} +1 -1
- package/core/built/admin/assets/{growth-B3I6gNLm.js → growth-DajOBdN0.js} +1 -1
- package/core/built/admin/assets/{growth-CVw1My4S.js → growth-Dy2UOSay.js} +2 -2
- package/core/built/admin/assets/{inbox-CFBSu4Ed.js → inbox-BUOLDoji.js} +12 -12
- package/core/built/admin/assets/index-08n05-rc.js +67 -0
- package/core/built/admin/assets/index-DgUzgFvS.css +1 -0
- package/core/built/admin/assets/{inline-EMAm3okk.js → inline-Cw-gigDW.js} +1 -1
- package/core/built/admin/assets/input-group-uSK3XT7b.js +1 -0
- package/core/built/admin/assets/{input-surface-BpAjZXY5.js → input-surface-BdOe4KzO.js} +1 -1
- package/core/built/admin/assets/koenig-lexical/koenig-lexical.js +9535 -9527
- package/core/built/admin/assets/koenig-lexical/koenig-lexical.umd.js +124 -124
- package/core/built/admin/assets/{koenig-lexical-f8vHRYvz.js → koenig-lexical-BFc4yFed.js} +86 -86
- package/core/built/admin/assets/{kpi-card-DSap9rAy.js → kpi-card-BN-E6WYX.js} +1 -1
- package/core/built/admin/assets/{kpi-card-DU0rn9Cj.js → kpi-card-CCt-qeWD.js} +1 -1
- package/core/built/admin/assets/{kpi-helpers-Dz33AV6h.js → kpi-helpers-DlxTbTs4.js} +1 -1
- package/core/built/admin/assets/{kpi-tabs-BtTTrKvJ.js → kpi-tabs-BlcUttpn.js} +1 -1
- package/core/built/admin/assets/{label-DS8Mi6G5.js → label-AVrxwmsz.js} +1 -1
- package/core/built/admin/assets/{label-picker-1DvSuLA1.js → label-picker-DVnpu_IF.js} +1 -1
- package/core/built/admin/assets/labels-DAIqKed7.js +1 -0
- package/core/built/admin/assets/layout-B0YLh7R9.js +1 -0
- package/core/built/admin/assets/link-helpers-D9LsDOkG.js +1 -0
- package/core/built/admin/assets/{list-page-B6ANtzkd.js → list-page-CdsnQR9N.js} +1 -1
- package/core/built/admin/assets/member-custom-fields-C8NpZYza.js +1 -0
- package/core/built/admin/assets/member-detail-CIVAdKXf.js +1 -0
- package/core/built/admin/assets/{members-CQpVFJu4.js → members-oLPiSkXD.js} +2 -2
- package/core/built/admin/assets/modals-CB7v-k3T.js +31 -0
- package/core/built/admin/assets/{moderation-DySbgyUS.js → moderation-CQ3urTFE.js} +1 -1
- package/core/built/admin/assets/newsletter-rbeDX9Wk.js +1 -0
- package/core/built/admin/assets/newsletters-vt3Ni1Ov.js +1 -0
- package/core/built/admin/assets/{note-C8kxrz6w.js → note-Dk877BTv.js} +1 -1
- package/core/built/admin/assets/{notifications-CgtSfX7t.js → notifications-CPlLjPxO.js} +1 -1
- package/core/built/admin/assets/{onboarding-route-4qtziA9d.js → onboarding-route-DdStOtjy.js} +1 -1
- package/core/built/admin/assets/{overview-Bf2sbznq.js → overview--4V-kx9c.js} +1 -1
- package/core/built/admin/assets/overview-DSLv30oz.js +1 -0
- package/core/built/admin/assets/{page-header-B3Wb9Jqv.js → page-header-pp4dWmOS.js} +1 -1
- package/core/built/admin/assets/{post-analytics-We-ko5Cb.js → post-analytics-BMJrI81R.js} +1 -1
- package/core/built/admin/assets/post-analytics-header-pU2m9ZuV.js +1 -0
- package/core/built/admin/assets/{post-analytics-provider-B6UynTGb.js → post-analytics-provider-Btml5vJI.js} +1 -1
- package/core/built/admin/assets/{post-share-modal-DFfO93_0.js → post-share-modal-AcUZkbfL.js} +1 -1
- package/core/built/admin/assets/preferences-Ru4CRPHC.js +5 -0
- package/core/built/admin/assets/profile-BNb1oj7D.js +1 -0
- package/core/built/admin/assets/{router-provider-C1R4AZ2o.js → router-provider-BmEZf6c6.js} +1 -1
- package/core/built/admin/assets/select-B0HteHrp.js +1 -0
- package/core/built/admin/assets/settings-B1C9Q3wo.js +4 -0
- package/core/built/admin/assets/{settings-WXNeWyU1.js → settings-BGgk7oCI.js} +1 -1
- package/core/built/admin/assets/{shade-app-B3heOAfz-CGXQwWeO.js → shade-app-B3heOAfz-BhQXxNkT.js} +1 -1
- package/core/built/admin/assets/{share-modal-DsgW3wbg.js → share-modal-BeuydaBf.js} +1 -1
- package/core/built/admin/assets/social-urls-DA2lXrhW.js +8 -0
- package/core/built/admin/assets/{sort-button-Bb_FCl7e.js → sort-button-Df4t2AL8.js} +1 -1
- package/core/built/admin/assets/{source-icon-BeaRxUn9.js → source-icon-ajoaKb41.js} +1 -1
- package/core/built/admin/assets/{stack-xiN0eQ6Z.js → stack-CIfOAAVf.js} +1 -1
- package/core/built/admin/assets/{stats-Bjj_kmJ1.js → stats-C_lfxZAw.js} +1 -1
- package/core/built/admin/assets/{stats-view-BxPbW6K1.js → stats-view-Cxot1iD8.js} +1 -1
- package/core/built/admin/assets/{step-1-B1e3-1F8.js → step-1-ogAA4lDr.js} +1 -1
- package/core/built/admin/assets/{step-2-C5WaeBJo.js → step-2-C5Xini-7.js} +1 -1
- package/core/built/admin/assets/{step-3-B46iVPwu.js → step-3-CZv1FV81.js} +2 -2
- package/core/built/admin/assets/{switch-z5Y6Uzt6.js → switch-CyQcwMAv.js} +1 -1
- package/core/built/admin/assets/{table-CB-4_HBJ.js → table-DFj1wiYv.js} +1 -1
- package/core/built/admin/assets/{tabs-CCEgKYzq.js → tabs-D4y1gqUd.js} +1 -1
- package/core/built/admin/assets/{tags-Cg2VJGmG.js → tags-Dmft-Y4O.js} +1 -1
- package/core/built/admin/assets/{text-DwtjwGkh.js → text-DU9Hv33_.js} +1 -1
- package/core/built/admin/assets/textarea-d9qEkMOP.js +1 -0
- package/core/built/admin/assets/{toggle-group-b3IlxvhV.js → toggle-group-R2QMFvXW.js} +1 -1
- package/core/built/admin/assets/{topic-filter-DAFT87tQ.js → topic-filter-DGDxDalo.js} +1 -1
- package/core/built/admin/assets/{use-analytics-data-S0FTd43s.js → use-analytics-data-C76v4LIp.js} +1 -1
- package/core/built/admin/assets/use-filter-params-WrdhAISv.js +1 -0
- package/core/built/admin/assets/{use-growth-stats-CIaiHOVb.js → use-growth-stats-aNXJOmQr.js} +1 -1
- package/core/built/admin/assets/{use-post-referrers-Cq2vBPrA.js → use-post-referrers-CG0SZioj.js} +1 -1
- package/core/built/admin/assets/{use-reply-chain-data-DBDRtGu-.js → use-reply-chain-data-RLdPKRmS.js} +1 -1
- package/core/built/admin/assets/{use-simple-pagination-CjYNxdwe.js → use-simple-pagination-DgcF69KI.js} +1 -1
- package/core/built/admin/assets/{use-tinybird-query-falHAtuK.js → use-tinybird-query-C1R_Kbmy.js} +1 -1
- package/core/built/admin/assets/{use-tinybird-token-D7-8ND1y.js → use-tinybird-token-C9fPjVM_.js} +1 -1
- package/core/built/admin/assets/{virtual-list-CvnC9zF2.js → virtual-list-BmTUzeoF.js} +1 -1
- package/core/built/admin/assets/{web-B_5GZRvH.js → web-BqW0b0_C.js} +1 -1
- package/core/built/admin/assets/web-Cy5GKMWM.js +2 -0
- package/core/built/admin/index.html +16 -16
- package/core/frontend/services/data/fetch-data.js +10 -5
- package/core/frontend/services/routing/api-adapter.js +115 -0
- package/core/frontend/services/routing/api-adapter.ts +157 -0
- package/core/frontend/services/routing/collection-router.js +5 -3
- package/core/frontend/services/routing/controllers/index.js +1 -1
- package/core/frontend/services/routing/controllers/rss.js +26 -31
- package/core/frontend/services/routing/controllers/rss.ts +66 -0
- package/core/frontend/services/routing/controllers/static.js +8 -7
- package/core/frontend/services/routing/parent-router.js +17 -4
- package/core/frontend/services/routing/permalink-adapter.js +26 -0
- package/core/frontend/services/routing/permalink-adapter.ts +23 -0
- package/core/frontend/services/routing/registry.js +59 -33
- package/core/frontend/services/routing/router-manager.js +9 -13
- package/core/frontend/services/routing/static-routes-router.js +4 -4
- package/core/frontend/services/routing/taxonomy-router.js +6 -2
- package/core/server/data/migrations/versions/6.56/2026-08-03-19-27-51-add-automation-run-step-id-to-automated-email-recipients.js +8 -0
- package/core/server/data/migrations/versions/6.56/2026-08-04-14-42-39-restrict-notification-add-permission-to-administrators.js +12 -0
- package/core/server/data/schema/fixtures/fixtures.json +2 -2
- package/core/server/data/schema/schema.js +1 -0
- package/core/server/models/post.js +10 -1
- package/core/server/services/automations/automations-repository.ts +3 -1
- package/core/server/services/automations/database-automations-repository.js +33 -14
- package/core/server/services/automations/database-automations-repository.ts +41 -15
- package/core/server/services/automations/get-scheduler-idempotency-key.js +13 -0
- package/core/server/services/automations/get-scheduler-idempotency-key.ts +8 -0
- package/core/server/services/automations/poll.js +3 -1
- package/core/server/services/automations/poll.ts +4 -1
- package/core/server/services/automations/service.js +5 -1
- package/core/server/services/automations/service.ts +5 -1
- package/core/server/services/gift-links/CONTEXT.md +9 -0
- package/core/server/services/gifts/CONTEXT.md +55 -0
- package/core/server/services/gifts/README.md +28 -0
- package/core/server/services/gifts/gift-bookshelf-repository.js +65 -45
- package/core/server/services/gifts/gift-bookshelf-repository.ts +203 -74
- package/core/server/services/gifts/gift-checkout-adapter.js +59 -0
- package/core/server/services/gifts/gift-checkout-offer.js +74 -0
- package/core/server/services/gifts/gift-checkout-offer.ts +127 -0
- package/core/server/services/gifts/gift-codec.js +63 -0
- package/core/server/services/gifts/gift-codec.ts +62 -0
- package/core/server/services/gifts/gift-controller.js +6 -31
- package/core/server/services/gifts/gift-controller.ts +6 -69
- package/core/server/services/gifts/gift-email-service.ts +3 -2
- package/core/server/services/gifts/gift-schema.js +34 -0
- package/core/server/services/gifts/gift-schema.ts +39 -0
- package/core/server/services/gifts/gift-service-wrapper.js +13 -11
- package/core/server/services/gifts/gift-service.js +265 -52
- package/core/server/services/gifts/gift-service.ts +431 -97
- package/core/server/services/gifts/gift.ts +16 -39
- package/core/server/services/link-tracking/link-click-repository.js +6 -1
- package/core/server/services/link-tracking/link-click-tracking-service.js +12 -3
- package/core/server/services/member-welcome-emails/member-welcome-email-renderer.js +4 -3
- package/core/server/services/member-welcome-emails/service.js +7 -3
- package/core/server/services/members/api.js +1 -2
- package/core/server/services/members/import-export/import/importer.ts +3 -2
- package/core/server/services/members/import-export/index.js +10 -2
- package/core/server/services/members/import-export/index.ts +14 -4
- package/core/server/services/members/members-api/controllers/router-controller.js +38 -36
- package/core/server/services/members/members-api/members-api.js +13 -7
- package/core/server/services/members/members-api/repositories/event-repository.js +4 -94
- package/core/server/services/members/members-api/services/member-bread-service.js +3 -3
- package/core/server/services/members/members-api/services/payments-service.js +6 -68
- package/core/server/services/members-custom-fields/schema.js +8 -1
- package/core/server/services/members-custom-fields/schema.ts +8 -0
- package/core/server/services/members-custom-fields/values-service.js +118 -2
- package/core/server/services/members-custom-fields/values-service.ts +134 -4
- package/core/server/services/oembed/oembed-service.js +44 -3
- package/core/server/services/posts/posts-service.js +11 -0
- package/core/server/services/route-settings/dynamic-routing-service.js +1 -3
- package/core/server/services/route-settings/route-settings-parser.js +25 -25
- package/core/server/services/route-settings/route-settings-parser.ts +27 -27
- package/core/server/services/route-settings/validation-errors.js +68 -4
- package/core/server/services/route-settings/validation-errors.ts +79 -4
- package/core/server/services/stats/posts-stats-service.js +27 -23
- package/core/server/services/stripe/services/webhook/charge-refunded-event-service.js +1 -1
- package/core/server/services/stripe/services/webhook/checkout-session-event-service.js +16 -4
- package/core/server/services/stripe/stripe-api.js +10 -0
- package/core/server/web/gift-preview/controller.js +10 -25
- package/core/shared/labs.js +2 -2
- package/package.json +10 -9
- package/pnpm-lock.yaml +28 -18
- package/pnpm-workspace.yaml +5 -4
- package/components/tryghost-kg-default-nodes-2.1.3.tgz +0 -0
- package/core/built/admin/assets/activitypub/layout-qx-bUL1k.js +0 -1
- package/core/built/admin/assets/chunk.524.cffd399783a519e404a9.js +0 -25
- package/core/built/admin/assets/chunk.582.eebf0d0b2d202bb746a5.js +0 -27
- package/core/built/admin/assets/comments-DyUSMUdj.js +0 -1
- package/core/built/admin/assets/dist-CjY-f5Z1.js +0 -1
- package/core/built/admin/assets/domain-C0bV2UV8.js +0 -1
- package/core/built/admin/assets/editor-Dp865O-4.js +0 -8
- package/core/built/admin/assets/filter-sources-BV2rnpfA.js +0 -1
- package/core/built/admin/assets/filters-CUXJ2Nm9.js +0 -1
- package/core/built/admin/assets/filters-DfbIWc_l.js +0 -1
- package/core/built/admin/assets/index-9Cw8z3rA.css +0 -1
- package/core/built/admin/assets/index-BGG7NckO.js +0 -67
- package/core/built/admin/assets/input-group-BSgG_lVw.js +0 -1
- package/core/built/admin/assets/labels-CDSUt4J_.js +0 -1
- package/core/built/admin/assets/layout-yQEi2qDM.js +0 -1
- package/core/built/admin/assets/link-helpers-7EYqvvHs.js +0 -1
- package/core/built/admin/assets/member-custom-fields-yOMHyAg9.js +0 -1
- package/core/built/admin/assets/member-detail-BAq7gDaa.js +0 -1
- package/core/built/admin/assets/modals-ReORvWnu.js +0 -31
- package/core/built/admin/assets/newsletter-CJQvtHqN.js +0 -1
- package/core/built/admin/assets/newsletters-B3QQXfGT.js +0 -1
- package/core/built/admin/assets/nql-BsgFMd93.js +0 -1
- package/core/built/admin/assets/overview-CBfePxcr.js +0 -1
- package/core/built/admin/assets/post-analytics-header-Bmc9su6q.js +0 -1
- package/core/built/admin/assets/preferences-DJPfHEGu.js +0 -5
- package/core/built/admin/assets/profile-DqBQp-gT.js +0 -1
- package/core/built/admin/assets/select-C5_xEt5b.js +0 -1
- package/core/built/admin/assets/settings-BwiVIXau.js +0 -4
- package/core/built/admin/assets/social-urls-BQPFEk1_.js +0 -8
- package/core/built/admin/assets/textarea-Bjccvh_E.js +0 -1
- package/core/built/admin/assets/use-filter-params-Gpoq2E1L.js +0 -1
- package/core/built/admin/assets/web-jFYWCKDn.js +0 -2
- package/core/server/services/gifts/gift-repository.js +0 -2
- package/core/server/services/gifts/gift-repository.ts +0 -29
- package/core/server/services/route-settings/activation-bridge.js +0 -174
- package/core/server/services/route-settings/activation-bridge.ts +0 -250
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{o as e}from"./rolldown-runtime-DAXXjFlN.js";import{t}from"./react-Bb3IsNbi.js";import{t as n}from"./jsx-runtime-DX3WBWVO.js";import{c as r,o as i}from"./dist-DGzPJ_bO.js";import{n as a}from"./input-surface-BpAjZXY5.js";import{Ir as o}from"./index-BGG7NckO.js";var s=e(t(),1),c=n();function l({className:e,...t}){return(0,c.jsx)(`div`,{className:r(a.base,a.invalidWithin,`group/input-group relative flex w-full items-center outline-hidden [&>[data-slot=input-group-control]]:bg-transparent`,`h-9 has-[>textarea]:h-auto`,`has-[>[data-align=inline-start]]:[&>input]:pl-2`,`has-[>[data-align=inline-end]]:[&>input]:pr-2`,`has-[>[data-align=block-start]]:h-auto has-[>[data-align=block-start]]:flex-col has-[>[data-align=block-start]]:[&>input]:pb-3`,`has-[>[data-align=block-end]]:h-auto has-[>[data-align=block-end]]:flex-col has-[>[data-align=block-end]]:[&>input]:pt-3`,`has-[[data-slot=input-group-control]:focus-visible]:border-focus-ring has-[[data-slot=input-group-control]:focus-visible]:ring-2 has-[[data-slot=input-group-control]:focus-visible]:ring-focus-ring/25 has-[[data-slot=input-group-control]:focus-visible]:outline-hidden`,e),"data-slot":`input-group`,role:`group`,...t})}var u=i(`flex h-auto cursor-text items-center justify-center gap-2 py-1.5 text-control font-medium text-muted-foreground select-none group-data-[disabled=true]/input-group:opacity-50 [&>kbd]:rounded-[calc(var(--input-group-radius)-5px)] [&>svg:not([class*='size-'])]:size-4`,{variants:{align:{"inline-start":`order-first pl-3 has-[>button]:ml-[-0.45rem] has-[>kbd]:ml-[-0.35rem]`,"inline-end":`order-last pr-3 has-[>button]:mr-[-0.4rem] has-[>kbd]:mr-[-0.35rem]`,"block-start":`order-first w-full justify-start px-3 pt-3 group-has-[>input]/input-group:pt-2.5 [.border-b]:pb-3`,"block-end":`order-last w-full justify-start px-3 pb-3 group-has-[>input]/input-group:pb-2.5 [.border-t]:pt-3`}},defaultVariants:{align:`inline-start`}});function d({className:e,align:t=`inline-start`,...n}){return(0,c.jsx)(`div`,{className:r(u({align:t}),e),"data-align":t,"data-slot":`input-group-addon`,role:`group`,onClick:e=>{e.target.closest(`button`)||(e.currentTarget.closest(`[data-slot="input-group"]`)?.querySelector(`[data-slot="input-group-control"]`))?.focus()},...n})}var f=i(`flex items-center gap-2 text-control shadow-none`,{variants:{size:{xs:`h-6 gap-1 rounded-[calc(var(--input-group-radius)-5px)] px-2 has-[>svg]:px-2 [&>svg:not([class*='size-'])]:size-3.5`,sm:`h-8 gap-1.5 rounded-md px-2.5 has-[>svg]:px-2.5`,"icon-xs":`size-6 rounded-[calc(var(--input-group-radius)-5px)] p-0 has-[>svg]:p-0`,"icon-sm":`size-8 p-0 has-[>svg]:p-0`}},defaultVariants:{size:`xs`}}),p=s.forwardRef(({className:e,type:t=`button`,variant:n=`ghost`,size:i=`xs`,...a},s)=>(0,c.jsx)(o,{ref:s,className:r(f({size:i}),e),"data-size":i,type:t,variant:n,...a}));p.displayName=`InputGroupButton`;function m({className:e,...t}){return(0,c.jsx)(`span`,{className:r(`flex items-center gap-2 text-control text-muted-foreground [&_svg]:pointer-events-none [&_svg:not([class*='size-'])]:size-4`,e),...t})}var h=s.forwardRef(({className:e,...t},n)=>(0,c.jsx)(`input`,{ref:n,className:r(`flex h-9 w-full flex-1 border-0 bg-transparent px-3 py-1 text-control outline-hidden file:border-0 file:bg-transparent file:text-sm file:font-medium file:text-foreground placeholder:text-muted-foreground disabled:cursor-not-allowed disabled:opacity-50`,e),"data-slot":`input-group-control`,...t}));h.displayName=`InputGroupInput`;var g=s.forwardRef(({className:e,...t},n)=>(0,c.jsx)(`textarea`,{ref:n,className:r(`min-h-[80px] w-full flex-1 resize-none border-0 bg-transparent p-3 text-base outline-hidden placeholder:text-muted-foreground disabled:cursor-not-allowed disabled:opacity-50`,e),"data-slot":`input-group-control`,...t}));g.displayName=`InputGroupTextarea`;export{m as a,h as i,d as n,g as o,p as r,l as t};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{o as e}from"./rolldown-runtime-DAXXjFlN.js";import{t}from"./react-Bb3IsNbi.js";import{o as n}from"./framework-provider-CmtnPXIT.js";import{c as r,i,l as a,n as o,r as s,t as c}from"./hooks-CixO01lL.js";import{t as l}from"./nql-BsgFMd93.js";var u=e(t(),1),d=`LabelsResponseType`;s({dataType:d,path:`/labels/`});var f=c({dataType:d,path:`/labels/`,defaultNextPageParams:(e,t)=>{if(e.meta?.pagination.next)return{...t,page:e.meta.pagination.next.toString()}},returnData:e=>{let{pages:t}=e,n=t.flatMap(e=>e.labels),r=t[t.length-1].meta;return{labels:n,meta:r,isEnd:r?r.pagination.pages===r.pagination.page:!0}}});i({dataType:d,path:e=>`/labels/slug/${e}/`});var p=o({method:`POST`,path:()=>`/labels/`,body:e=>({labels:[e]}),invalidateQueries:{dataType:d}}),m=()=>{let e=a();return(0,u.useCallback)(async t=>(await e(r(`/labels/`,{filter:`name:${l(t)}`,limit:`1`}))).labels?.[0],[e])},h=()=>{let e=n();return(0,u.useCallback)(()=>{e.invalidateQueries({queryKey:[d]})},[e])},g=o({method:`PUT`,path:e=>`/labels/${e.id}/`,body:e=>({labels:[e]}),invalidateQueries:{dataType:d}}),_=o({method:`DELETE`,path:e=>`/labels/${e}/`,invalidateQueries:{dataType:d}});export{m as a,g as i,p as n,h as o,_ as r,f as t};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import"./index-BGG7NckO.js";
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{t as e}from"./jsx-runtime-DX3WBWVO.js";import{n as t,r as n}from"./hooks-CixO01lL.js";import{c as r,p as i}from"./dist-DGzPJ_bO.js";import{S as a,i as o,n as s,r as c,x as l}from"./chart-BuRT2Y6p.js";import{n as u,t as d}from"./PolarAngleAxis-BGjf7sBu.js";import{n as f,t as p}from"./RadialBarChart-zeFf9mBz.js";var m=e(),h=({config:e,data:t,percentageValue:n,percentageLabel:h,className:g,tooltip:_=!0,size:v=`responsive`})=>{let y=e=>{if(typeof e==`number`)return e;if(typeof e==`string`){let t=Number(e);return Number.isFinite(t)?t:0}return 0},b=(()=>{switch(v){case`sm`:return{barWidth:28,innerRadiusStart:t.length>1?42:56,fontSize:{percentage:`1.2rem`,label:`0.8rem`}};case`md`:return{barWidth:36,innerRadiusStart:t.length>1?60:72,fontSize:{percentage:`1.4rem`,label:`0.9rem`}};case`lg`:return{barWidth:46,innerRadiusStart:t.length>1?72:94,fontSize:{percentage:`1.6rem`,label:`1rem`}};default:return{barWidth:46,innerRadiusStart:t.length>1?72:94,fontSize:{percentage:`1.6rem`,label:`1rem`}}}})(),x={innerRadius:b.innerRadiusStart,outerRadius:b.innerRadiusStart+b.barWidth,startAngle:90,endAngle:-270};return(0,m.jsx)(s,{className:r(`mx-auto`,g),config:e,children:(0,m.jsxs)(p,{data:t,endAngle:x.endAngle,innerRadius:x.innerRadius,outerRadius:x.outerRadius,startAngle:x.startAngle,children:[(0,m.jsxs)(`defs`,{children:[(0,m.jsxs)(`radialGradient`,{cx:`30%`,cy:`30%`,id:`gradientPurple`,r:`70%`,children:[(0,m.jsx)(`stop`,{offset:`0%`,stopColor:`var(--chart-purple)`,stopOpacity:.5}),(0,m.jsx)(`stop`,{offset:`100%`,stopColor:`var(--chart-purple)`,stopOpacity:1})]}),(0,m.jsxs)(`radialGradient`,{cx:`30%`,cy:`30%`,id:`gradientBlue`,r:`70%`,children:[(0,m.jsx)(`stop`,{offset:`0%`,stopColor:`var(--chart-blue)`,stopOpacity:.5}),(0,m.jsx)(`stop`,{offset:`100%`,stopColor:`var(--chart-blue)`,stopOpacity:1})]}),(0,m.jsxs)(`radialGradient`,{cx:`30%`,cy:`30%`,id:`gradientTeal`,r:`70%`,children:[(0,m.jsx)(`stop`,{offset:`0%`,stopColor:`var(--chart-teal)`,stopOpacity:.5}),(0,m.jsx)(`stop`,{offset:`100%`,stopColor:`var(--chart-teal)`,stopOpacity:1})]}),(0,m.jsxs)(`radialGradient`,{cx:`30%`,cy:`30%`,id:`gradientGray`,r:`70%`,children:[(0,m.jsx)(`stop`,{offset:`0%`,stopColor:`var(--chart-gray)`,stopOpacity:.5}),(0,m.jsx)(`stop`,{offset:`100%`,stopColor:`var(--chart-gray)`,stopOpacity:1})]})]}),(0,m.jsx)(d,{angleAxisId:0,domain:[0,1],tick:!1,type:`number`}),(0,m.jsx)(f,{cornerRadius:10,dataKey:`value`,minPointSize:-2,background:!0,children:t.length>1&&(0,m.jsx)(l,{className:`fill-foreground opacity-60`,dataKey:`datatype`,fontSize:11,position:`insideStart`})}),(0,m.jsx)(u,{axisLine:!1,tick:!1,tickLine:!1,children:(0,m.jsx)(a,{content:({viewBox:e})=>{if(e&&`cx`in e&&`cy`in e)return(0,m.jsxs)(`text`,{dominantBaseline:`middle`,textAnchor:`middle`,x:e.cx,y:e.cy,children:[n&&(0,m.jsx)(`tspan`,{className:`fill-foreground text-[1.6rem] font-semibold tracking-tight`,x:e.cx,y:(e.cy||0)-6,children:n}),h&&(0,m.jsx)(`tspan`,{className:`fill-muted-foreground font-medium`,x:e.cx,y:(e.cy||0)+14,children:h})]})}})}),_&&(0,m.jsx)(c,{content:(0,m.jsx)(o,{formatter:(e,t,n)=>{let r=n.payload;return(0,m.jsxs)(`div`,{className:`flex items-center gap-1`,children:[(0,m.jsx)(`div`,{className:`size-2 rounded-full opacity-50`,style:{backgroundColor:r?.color}}),(0,m.jsx)(`div`,{className:`text-xs text-muted-foreground`,children:r?.datatype}),(0,m.jsx)(`div`,{className:`ml-3 font-mono text-xs`,children:i(y(e))})]})},nameKey:`datatype`,hideLabel:!0}),cursor:!1,isAnimationActive:!1})]})})},g=n({dataType:`LinkResponseType`,path:`/links/`}),_=t({method:`PUT`,path:()=>`/links/bulk/`,body:({editedUrl:e})=>({bulk:{action:`updateLink`,meta:{link:{to:e}}}}),searchParams:({originalUrl:e,postId:t})=>({filter:`post_id:'${t}'+to:'${e}'`})}),v=(e,t=!1)=>{try{let n=[`ref`,`attribution_id`,`attribution_type`],r=new URL(e);for(let e of n)r.searchParams.delete(e);return t?(r.host+(r.pathname===`/`&&!r.search?``:r.pathname)+(r.search?r.search:``)+(r.hash?r.hash:``)).replace(/^www\./,``):r.toString()}catch{return e}},y=(e,t)=>e.find(e=>e.link.link_id===t),b=e=>{let t=(e?.links.map(e=>({link:e.link,count:e.count?.clicks||0}))||[]).map(e=>({...e,link:{...e.link,originalTo:e.link.to,to:v(e.link.to,!1),title:v(e.link.to,!0)}})).reduce((e,t)=>(e[t.link.title]?(e[t.link.title].count||(e[t.link.title].count=0),e[t.link.title].count+=t.count??0):e[t.link.title]=t,e),{});return Object.values(t).sort((e,t)=>{let n=e.count||0;return(t.count||0)-n})};export{g as a,_ as i,y as n,h as o,b as r,v as t};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{o as e}from"./rolldown-runtime-DAXXjFlN.js";import{t}from"./react-Bb3IsNbi.js";import{t as n}from"./jsx-runtime-DX3WBWVO.js";import{i as r,n as i,r as a}from"./hooks-CixO01lL.js";import{c as o}from"./dist-DGzPJ_bO.js";import{a as s,c,i as l,l as u,n as d,o as f,s as p}from"./switch-z5Y6Uzt6.js";import{gn as m,ln as h,mn as g,rs as _,so as v,un as y}from"./index-BGG7NckO.js";var b=e(t(),1),x=n(),S={searchPlaceholder:`Search...`,noResultsFound:`No results found.`,loading:`Loading...`,loadMore:`Load more`};function C(e,t){let n=t.trim().toLowerCase();return n?e.filter(e=>e.label.toLowerCase().includes(n)||e.detail?.toLowerCase().includes(n)):e}function w(e,t,n,r,i,a,o){if(e)return{...e,shouldClientFilter:o??e.shouldClientFilter};let s=!!t,c=t?.useOptions({query:r,selectedValues:i});return{options:s?c?.options??[]:n??[],isInitialLoad:s?c?.isInitialLoad??!1:a&&(n?.length??0)===0,isSearching:s?c?.isSearching??!1:a&&(n?.length??0)>0,hasMore:s?c?.hasMore??!1:!1,isLoadingMore:s?c?.isLoadingMore??!1:!1,loadMore:s?c?.loadMore??(()=>{}):()=>{},shouldClientFilter:o??!s}}function T({optionSource:e,options:t,values:n,onChange:r,valueSource:i,searchable:a=!0,isLoading:m=!1,maxSelections:h,isMultiSelect:g=!0,onClose:y,autoCloseOnSelect:T=!1,className:E,searchInputClassName:D,shouldFilter:O,onSearchChange:k,i18n:A,renderItem:j,groupBy:M,header:N,footer:P}){let F=(0,b.useMemo)(()=>({...S,...A}),[A]),[I,L]=(0,b.useState)(``),R=(0,b.useCallback)(t=>{L(t),e?.onSearchChange?.(t),k?.(t)},[k,e]),z=w(e,i,t,I,n,m,O),B=z.options,[V,H]=(0,b.useState)([]),U=(0,b.useMemo)(()=>B.filter(e=>n.includes(e.value)),[B,n]);(0,b.useEffect)(()=>{if(n.length===0){H([]);return}U.length>0&&H(e=>{let t=[];for(let r of n){let n=U.find(e=>e.value===r)??e.find(e=>e.value===r);n&&t.push(n)}return t})},[U,n]);let W=(0,b.useMemo)(()=>n.length===0?[]:V.length>0?V:U,[V,n.length,U]),G=(0,b.useMemo)(()=>C(W,I),[I,W]),K=(0,b.useMemo)(()=>B.filter(e=>!n.includes(e.value)),[B,n]),q=(0,b.useMemo)(()=>{let e=new Map;for(let t of K){let n=M?.(t),r=typeof n==`string`?n:n?.key,i=typeof n==`string`?n:n?.label,a=e.get(r);e.set(r,{label:i,options:[...a?.options??[],t]})}return[...e.entries()].map(([e,t])=>({key:e,...t}))},[M,K]),J=(0,b.useCallback)(e=>{r(n.filter(t=>t!==e.value))},[r,n]),Y=e=>{r([]),y?.()},X=e=>{let t=[...n,e.value];h&&t.length>h||(r(t),T&&y?.())},Z=e=>{r([e.value]),y?.()},Q=g?J:Y,ee=g?X:Z,te=(0,b.useCallback)(()=>R(``),[R]),ne=(e,t)=>{if(t)return;let n=e.detail?` - ${e.detail}`:``;return e.label+n},$=j??(({option:e,isSelected:t,onSelect:n})=>(0,x.jsxs)(p,{className:`group flex items-center gap-2`,value:ne(e,t),onSelect:n,children:[e.icon,(0,x.jsxs)(`div`,{className:`flex flex-col overflow-hidden`,children:[(0,x.jsx)(`span`,{className:`truncate text-accent-foreground`,title:e.label,children:e.label}),e.detail&&(0,x.jsx)(`span`,{className:`truncate text-sm text-muted-foreground`,title:e.detail,children:e.detail})]}),(0,x.jsx)(_,{className:o(`ms-auto text-primary`,!t&&`opacity-0`)})]},String(e.value)));return(0,x.jsx)(`div`,{className:o(`w-full`,E),children:(0,x.jsxs)(d,{shouldFilter:z.shouldClientFilter,children:[N?.({selectedOptions:W,onDeselect:J}),a&&(0,x.jsxs)(`div`,{className:`relative`,children:[(0,x.jsx)(f,{className:o(`h-(--control-height) pr-8 text-sm`,D),placeholder:F.searchPlaceholder,value:I,onValueChange:R}),z.isSearching&&(0,x.jsx)(v,{className:`pointer-events-none absolute top-1/2 right-3 size-4 -translate-y-1/2 animate-spin text-muted-foreground`})]}),(0,x.jsxs)(c,{className:`outline-hidden`,children:[z.isInitialLoad?(0,x.jsxs)(`div`,{className:`flex items-center justify-center py-6 text-sm text-muted-foreground`,children:[(0,x.jsx)(v,{className:`mr-2 size-4 animate-spin`}),F.loading]}):(0,x.jsx)(l,{children:F.noResultsFound}),G.length>0&&(0,x.jsx)(s,{heading:F.selectedHeading,children:G.map(e=>$({option:e,isSelected:!0,onSelect:()=>Q(e)}))}),K.length>0&&(0,x.jsxs)(x.Fragment,{children:[G.length>0&&(0,x.jsx)(u,{}),q.map(e=>(0,x.jsx)(s,{heading:e.label,children:e.options.map(e=>$({option:e,isSelected:!1,onSelect:()=>ee(e)}))},e.key===void 0?`ungrouped`:`group:${e.key}`))]}),z.hasMore&&(0,x.jsxs)(x.Fragment,{children:[(G.length>0||K.length>0)&&(0,x.jsx)(u,{}),(0,x.jsx)(`div`,{className:`p-1.5`,children:(0,x.jsxs)(`button`,{className:`flex w-full items-center justify-center rounded-xs px-2 py-1.5 text-sm text-muted-foreground hover:bg-accent hover:text-accent-foreground disabled:opacity-50`,disabled:z.isLoadingMore,type:`button`,onClick:z.loadMore,children:[z.isLoadingMore&&(0,x.jsx)(v,{className:`mr-2 size-4 animate-spin`}),z.isLoadingMore?F.loading:F.loadMore]})})]})]}),P?.({searchInput:I,clearSearch:te})]})})}var E=[`short_text`,`long_text`,`address`];y(E);var D=65535,O=e=>new TextEncoder().encode(e).length,k=g({line1:m().min(1).max(255),line2:m().max(255).optional(),city:m().min(1).max(255),state:m().max(255).optional(),postal_code:m().min(1).max(32),country:m().length(2)}),A={short_text:{storageType:`text`,value:m().max(255)},long_text:{storageType:`text`,value:m().refine(e=>O(e)<=D,{message:`Value must be at most ${D} bytes.`})},address:{storageType:`json`,value:k}},j=`.`,M=`custom_fields`;function N(e){let{value:t}=A[e];return t instanceof h?Object.keys(t.shape):null}function P(e){let t=`${M}${j}${e.key}`,n=N(e.type);return n?n.map(e=>`${t}${j}${e}`):[t]}function F(e){return e===M||e.startsWith(`${M}${j}`)}var I={short_text:{label:`Short text`,input:`text`},long_text:{label:`Long text`,input:`textarea`},address:{label:`Address`,input:`address`,subFields:{line1:`Address line 1`,line2:`Address line 2`,city:`City`,state:`State`,postal_code:`Postal code`,country:`Country`}}},L=E.map(e=>({id:e,...I[e]})),R=e=>L.find(t=>t.id===e)||L[0],z=e=>R(e.type),B=e=>e.flatMap(e=>{let t=P({key:e.key,type:e.type});return t.map(n=>{if(t.length===1)return{label:e.name,value:n};let r=n.slice(n.lastIndexOf(`.`)+1),i=R(e.type).subFields?.[r]??r;return{label:`${e.name} (${i})`,value:n}})}),V=`MemberCustomFieldsResponseType`,H=a({dataType:V,path:`/members/custom_fields/`}),U=e=>H({...e,searchParams:{filter:`status:[active,archived]`}});r({dataType:V,path:e=>`/members/custom_fields/${e}/`});var W=i({method:`POST`,path:()=>`/members/custom_fields/`,body:e=>({members_custom_fields:[e]}),invalidateQueries:{dataType:V}}),G=i({method:`PUT`,path:e=>`/members/custom_fields/${e.key}/`,body:({key:e,...t})=>({members_custom_fields:[t]}),invalidateQueries:{dataType:V}}),K=i({method:`DELETE`,path:e=>`/members/custom_fields/${e}/`,invalidateQueries:{dataType:V}});export{W as a,z as c,A as d,T as f,U as i,R as l,L as n,K as o,H as r,G as s,B as t,F as u};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{o as e}from"./rolldown-runtime-DAXXjFlN.js";import{t}from"./react-Bb3IsNbi.js";import{t as n}from"./jsx-runtime-DX3WBWVO.js";import{o as r}from"./framework-provider-CmtnPXIT.js";import{o as i}from"./hooks-CixO01lL.js";import{n as a}from"./dist-Ndy-PuGN.js";import{n as o,t as s}from"./dist-DMFGvqqU.js";import{t as c}from"./currency-CQsJu8iC.js";import{c as l,l as u,m as d,t as f}from"./chunk-KS7C4IRE-DG9HTHQ3.js";import{a as p}from"./router-provider-C1R4AZ2o.js";import{c as m,v as h}from"./dist-DGzPJ_bO.js";import{t as g}from"./box-BWbhXh21.js";import{t as _}from"./container-BYz2Ed39.js";import{t as v}from"./stack-xiN0eQ6Z.js";import{t as y}from"./switch-z5Y6Uzt6.js";import{i as b,n as x,o as ee,s as S,t as te}from"./select-C5_xEt5b.js";import{a as ne,i as re,n as ie,o as ae,r as oe,t as se}from"./breadcrumb-BD0U2ygg.js";import{n as C,t as w}from"./card-DGoDJzrn.js";import{t as T}from"./empty-indicator-oX1u1Pkn.js";import{t as E}from"./label-DS8Mi6G5.js";import{n as ce,o as D,t as le}from"./input-group-BSgG_lVw.js";import{c as ue,d as O,l as de,r as fe}from"./member-custom-fields-yOMHyAg9.js";import{t as pe}from"./textarea-Bjccvh_E.js";import{i as k}from"./users-Dkv8NQZe.js";import{$a as A,$n as j,A as M,Ar as N,Ba as me,Bo as he,Co as P,D as ge,Da as _e,Dr as F,Er as I,F as L,Fa as ve,I as ye,Ir as R,Jr as z,Ka as be,Lo as B,N as V,O as xe,Or as H,Os as Se,P as Ce,Po as we,Qi as U,Qr as W,Ri as Te,S as Ee,So as De,Tn as Oe,Vr as ke,Wa as Ae,Xr as je,Yo as Me,Za as Ne,Zi as Pe,Zn as Fe,ao as Ie,b as Le,dr as Re,eo as ze,fr as Be,ga as Ve,ii as He,io as Ue,ir as We,j as Ge,jo as Ke,k as qe,kn as Je,kr as G,lr as Ye,m as Xe,mr as Ze,ni as Qe,no as $e,ns as et,or as K,pr as tt,ro as nt,rr as q,sr as rt,to as it,ur as at,wr as J,xs as ot,y as st}from"./index-BGG7NckO.js";import{t as ct}from"./page-header-B3Wb9Jqv.js";import{r as lt}from"./newsletters-BXJbJgA-.js";import{a as ut}from"./tiers-DYsa4DCo.js";import{n as dt,r as ft}from"./label-picker-1DvSuLA1.js";var Y=e(t(),1),X=n();function pt({className:e,children:t,...n}){return(0,X.jsx)(v,{className:m(`py-5`,e),"data-detail-page":`header`,gap:`lg`,...n,children:t})}function mt({className:e,children:t,...n}){return(0,X.jsx)(v,{className:m(`min-h-0 min-w-0 grow overflow-y-auto pb-4 lg:pb-8`,e),"data-detail-page":`body`,gap:`none`,...n,children:t})}var ht=Object.assign(function({className:e,children:t,...n}){return(0,X.jsx)(v,{className:m(`h-full min-h-0 grow px-4 lg:px-6`,e),"data-detail-page":`detail-page`,gap:`none`,...n,children:t})},{Header:pt,Body:mt}),gt=new Set([`active`,`trialing`,`unpaid`,`past_due`]);function _t(e){return(e.subscriptions??[]).some(e=>gt.has(e.status))}function vt(e){return e?`Delete member + Cancel subscription`:`Delete member`}var yt=({open:e,onOpenChange:t,member:n,allowLeaveWithUnsavedChanges:r})=>{let i=p(),o=ge(),[s,c]=Y.useState(!1);Y.useEffect(()=>{e&&c(!1)},[e]);let l=_t(n),u=n.email||n.name||`this member`,d=async()=>{try{let e=l&&s;await o.mutateAsync({id:n.id,cancel:e}),a.success(e?`${u} was deleted and their Stripe subscription was cancelled.`:`${u} was deleted.`),t(!1),r(),i(`/members`)}catch{a.error(`Couldn’t delete the member. Please try again.`)}};return(0,X.jsx)(J,{open:e,onOpenChange:e=>{o.isPending||t(e)},children:(0,X.jsxs)(I,{"data-testid":`delete-member-modal`,children:[(0,X.jsxs)(G,{children:[(0,X.jsx)(N,{children:`Delete member account`}),(0,X.jsxs)(F,{children:[`Permanently delete `,(0,X.jsx)(`strong`,{children:u}),` from Ghost.`]})]}),l&&(0,X.jsxs)(`div`,{className:`flex items-start justify-between gap-4`,children:[(0,X.jsxs)(`div`,{className:`flex flex-col gap-0.5`,children:[(0,X.jsx)(`h4`,{className:`text-sm font-medium`,children:`Also cancel subscription in Stripe`}),(0,X.jsx)(`p`,{className:`text-sm text-muted-foreground`,children:`If disabled, the member’s premium subscription will continue`})]}),(0,X.jsx)(y,{"aria-label":`Also cancel subscription in Stripe`,checked:s,"data-testid":`delete-member-cancel-stripe`,disabled:o.isPending,onCheckedChange:c})]}),(0,X.jsxs)(H,{children:[(0,X.jsx)(R,{"data-testid":`cancel-delete-member`,disabled:o.isPending,variant:`outline`,onClick:()=>t(!1),children:`Cancel`}),(0,X.jsx)(R,{"data-testid":`confirm-delete-member`,disabled:o.isPending,variant:`destructive`,onClick:()=>void d(),children:o.isPending?(0,X.jsxs)(X.Fragment,{children:[(0,X.jsx)(q,{size:`sm`}),(0,X.jsx)(`span`,{className:`sr-only`,children:`Deleting`})]}):vt(s&&l)})]})]})})},bt=`Disabled from member settings`,xt=({open:e,onOpenChange:t,member:n})=>{let i=r(),o=xe(),[s,c]=Y.useState(!1);Y.useEffect(()=>{e&&c(!1)},[e]);let l=n.name||n.email||`this member`,u=async()=>{try{await o.mutateAsync({id:n.id,reason:bt,hideComments:s})}catch{a.error(`Couldn’t disable commenting. Please try again.`);return}a.success(`Commenting has been disabled for ${l}.`),t(!1),i.invalidateQueries({queryKey:[`MembersResponseType`]})};return(0,X.jsx)(J,{open:e,onOpenChange:e=>{o.isPending||t(e)},children:(0,X.jsxs)(I,{"data-testid":`disable-commenting-modal`,children:[(0,X.jsxs)(G,{children:[(0,X.jsx)(N,{children:`Disable commenting`}),(0,X.jsxs)(F,{children:[(0,X.jsx)(`strong`,{children:l}),` won’t be able to comment in the future. You can re-enable commenting anytime.`]})]}),(0,X.jsxs)(`div`,{className:`flex items-start justify-between gap-4`,children:[(0,X.jsx)(`div`,{className:`flex flex-col gap-0.5`,children:(0,X.jsx)(`h4`,{className:`text-sm font-medium`,children:`Hide all previous comments`})}),(0,X.jsx)(y,{"aria-label":`Hide all previous comments`,checked:s,"data-testid":`disable-commenting-hide-comments`,disabled:o.isPending,onCheckedChange:c})]}),(0,X.jsxs)(H,{children:[(0,X.jsx)(R,{"data-testid":`cancel-disable-commenting`,disabled:o.isPending,variant:`outline`,onClick:()=>t(!1),children:`Cancel`}),(0,X.jsx)(R,{"data-testid":`confirm-disable-commenting`,disabled:o.isPending,onClick:()=>void u(),children:o.isPending?(0,X.jsxs)(X.Fragment,{children:[(0,X.jsx)(q,{size:`sm`}),(0,X.jsx)(`span`,{className:`sr-only`,children:`Disabling`})]}):`Disable commenting`})]})]})})},St=({open:e,onOpenChange:t,memberId:n})=>{let i=r();Y.useEffect(()=>{e&&i.removeQueries({queryKey:[`MemberSigninUrlResponseType`]})},[e,i]);let{data:o,isFetching:s,isError:c}=Le(n,{enabled:e,defaultErrorHandler:!1}),l=o?.url??``,u=c||!s&&!c&&!l,[d,f]=Y.useState(!1),p=Y.useRef(null),m=Y.useCallback(()=>{p.current!==null&&(clearTimeout(p.current),p.current=null)},[]);Y.useEffect(()=>{e||(m(),f(!1))},[e,m]),Y.useEffect(()=>m,[m]);let h=async()=>{try{await navigator.clipboard.writeText(l),f(!0),m(),p.current=setTimeout(()=>{f(!1),p.current=null},1e3)}catch{a.error(`Couldn’t copy the impersonation link`)}};return(0,X.jsx)(J,{open:e,onOpenChange:t,children:(0,X.jsxs)(I,{"data-testid":`impersonate-modal`,children:[(0,X.jsxs)(G,{children:[(0,X.jsx)(N,{children:`Impersonate member`}),(0,X.jsx)(F,{children:`A single-use signin link that works for 24 hours. Anyone with the link can sign in as this member.`})]}),(0,X.jsxs)(`div`,{className:`flex flex-col gap-1.5`,children:[(0,X.jsx)(E,{htmlFor:`member-signin-url`,children:`Signin link`}),(0,X.jsx)(K,{"data-testid":`member-signin-url`,id:`member-signin-url`,value:s?`Generating link…`:u?`Failed to generate link`:l,readOnly:!0})]}),(0,X.jsxs)(H,{children:[(0,X.jsx)(R,{variant:`outline`,onClick:()=>t(!1),children:`Close`}),(0,X.jsx)(R,{disabled:s||u||!l,onClick:()=>void h(),children:s?(0,X.jsxs)(X.Fragment,{children:[(0,X.jsx)(q,{size:`sm`}),(0,X.jsx)(`span`,{className:`sr-only`,children:`Generating link`})]}):d?`Copied`:`Copy link`})]})]})})},Ct=({open:e,onOpenChange:t,member:n})=>{let r=Ce(),i=n.name||n.email||`This member`,o=async()=>{try{await r.mutateAsync({id:n.id}),a.success(`${i} has been signed out from all devices.`),t(!1)}catch{a.error(`Couldn’t sign the member out. Please try again.`)}};return(0,X.jsx)(rt,{open:e,onOpenChange:e=>{r.isPending||t(e)},children:(0,X.jsxs)(at,{"data-testid":`logout-member-modal`,children:[(0,X.jsxs)(tt,{children:[(0,X.jsx)(Ze,{children:`Sign out member from all devices?`}),(0,X.jsxs)(Re,{children:[(0,X.jsx)(`strong`,{children:i}),` will be signed out of all active sessions, and will need to sign in again upon return.`]})]}),(0,X.jsxs)(Be,{children:[(0,X.jsx)(Ye,{disabled:r.isPending,children:`Cancel`}),(0,X.jsx)(R,{"data-testid":`confirm-logout-member`,disabled:r.isPending,variant:`destructive`,onClick:()=>void o(),children:r.isPending?(0,X.jsxs)(X.Fragment,{children:[(0,X.jsx)(q,{size:`sm`}),(0,X.jsx)(`span`,{className:`sr-only`,children:`Signing out`})]}):`Sign out`})]})]})})};function wt(e){return e.can_comment===!1}function Tt(e){return wt(e)?`Enable commenting`:`Disable commenting`}var Et=({member:e,allowLeaveWithUnsavedChanges:t})=>{let n=r(),{data:o}=i(),[s,c]=Y.useState(!1),[l,u]=Y.useState(!1),[d,f]=Y.useState(!1),[p,m]=Y.useState(!1),h=Ge(),g=L(),_=h.isPending||h.isSuccess&&g,v=wt(e),y=Tt(e),b=e.name||e.email||`this member`;if(!o||!k(o))return null;let x=async()=>{if(!v){f(!0);return}try{await h.mutateAsync({id:e.id}),a.success(`Commenting has been enabled for ${b}.`)}catch{a.error(`Couldn’t enable commenting. Please try again.`);return}n.invalidateQueries({queryKey:[`MembersResponseType`]})};return(0,X.jsxs)(X.Fragment,{children:[(0,X.jsxs)(z,{children:[(0,X.jsx)(He,{asChild:!0,children:(0,X.jsx)(R,{"aria-label":`Actions`,className:`size-(--control-height)`,"data-testid":`member-actions`,size:`icon`,variant:`outline`,children:(0,X.jsx)(B,{size:16})})}),(0,X.jsxs)(je,{align:`end`,children:[(0,X.jsx)(W,{"data-testid":`member-actions-impersonate`,onSelect:()=>c(!0),children:`Impersonate`}),(0,X.jsx)(W,{"data-testid":`member-actions-logout`,onSelect:()=>u(!0),children:`Sign out of all devices`}),(0,X.jsx)(W,{"data-testid":`member-actions-commenting`,disabled:_,onSelect:()=>void x(),children:y}),(0,X.jsx)(Qe,{}),(0,X.jsx)(W,{className:`text-destructive focus:text-destructive`,"data-testid":`member-actions-delete`,onSelect:()=>m(!0),children:`Delete member`})]})]}),(0,X.jsx)(St,{memberId:e.id,open:s,onOpenChange:c}),(0,X.jsx)(Ct,{member:e,open:l,onOpenChange:u}),(0,X.jsx)(xt,{member:e,open:d,onOpenChange:f}),(0,X.jsx)(yt,{allowLeaveWithUnsavedChanges:t,member:e,open:p,onOpenChange:m})]})},Z=e(h(),1);function Dt(e){return e?/^(https?:\/\/|\/|#\/)/i.test(e):!1}var Ot=new Set([`bif`,`clp`,`djf`,`gnf`,`jpy`,`kmf`,`krw`,`mga`,`pyg`,`rwf`,`ugx`,`vnd`,`vuv`,`xaf`,`xof`,`xpf`]);function kt(e,t){let n=Ot.has(t.toLowerCase())?e:e/100,r=n%1==0;try{return new Intl.NumberFormat(`en-US`,{style:`currency`,currency:t.toUpperCase(),minimumFractionDigits:r?0:2,maximumFractionDigits:r?0:2}).format(n)}catch{return`${n}`}}function At(e){return e?.trim()||null}function jt(e){let t;return e.type===`login_event`&&(t=`logged-in`),e.type===`payment_event`&&(t=`subscriptions`),e.type===`newsletter_event`&&(t=e.data.subscribed?`subscribed-to-email`:`unsubscribed-from-email`),e.type===`subscription_event`&&(t=`subscriptions`,e.data.type===`canceled`&&(t=`canceled-subscription`)),(e.type===`signup_event`||e.type===`subscription_event`&&e.data.type===`created`&&e.data.signup)&&(t=`signed-up`),e.type===`email_opened_event`&&(t=`opened-email`),(e.type===`email_sent_event`||e.type===`automated_email_sent_event`)&&(t=`sent-email`),e.type===`email_delivered_event`&&(t=`received-email`),e.type===`email_failed_event`&&(t=`email-delivery-failed`),e.type===`email_complaint_event`&&(t=`email-delivery-spam`),e.type===`comment_event`&&(t=`comment`),(e.type===`click_event`||e.type===`aggregated_click_event`)&&(t=`click`),e.type===`feedback_event`&&(t=e.data.score===1?`more-like-this`:`less-like-this`),e.type===`donation_event`&&(t=`subscriptions`),(e.type===`gift_purchase_event`||e.type===`gift_redemption_event`||e.type===`gift_ended_event`)&&(t=`gift`),e.type===`email_change_event`&&(t=`email-changed`),`event-${t}`}function Mt(e,t){if(e.type===`signup_event`||e.type===`subscription_event`&&e.data.type===`created`&&e.data.signup)return`signed up`;if(e.type===`login_event`)return`logged in`;if(e.type===`payment_event`)return`made payment`;if(e.type===`newsletter_event`){let n=e.data.newsletter,r=t&&n?.name?n.name:`newsletter`;return e.data.subscribed?`subscribed to ${r}`:`unsubscribed from ${r}`}if(e.type===`subscription_event`){let t=e.data.type;return t===`created`?`started paid subscription`:t===`canceled`?`canceled paid subscription`:t===`reactivated`?`reactivated paid subscription`:t===`expired`?`ended paid subscription`:`changed paid subscription`}if(e.type===`email_opened_event`)return`opened email`;if(e.type===`email_sent_event`)return`sent email`;if(e.type===`automated_email_sent_event`){let t=e.data.automatedEmail;if(t?.source!==`automation_action_revision`)return`received welcome email (${(t?.slug||``).includes(`paid`)?`Paid`:`Free`})`;let n=At(t.subject);return n?`received automated email: ${n}`:`received automated email`}if(e.type===`email_delivered_event`)return`received email`;if(e.type===`email_failed_event`)return`bounced email`;if(e.type===`email_complaint_event`)return`email flagged as spam`;if(e.type===`comment_event`)return e.data.parent?`replied to comment`:`commented`;if(e.type===`click_event`)return`clicked link in email`;if(e.type===`aggregated_click_event`){let t=e.data.count?.clicks??1;return t<=1?`clicked link in email`:`clicked ${t} links in email`}if(e.type===`feedback_event`)return e.data.score===1?`more like this`:`less like this`;if(e.type===`email_change_event`)return e.data.from_email&&e.data.to_email?`Email address changed from ${e.data.from_email} to ${e.data.to_email}`:`Email address changed`;if(e.type===`donation_event`)return`Made a one-time payment`;if(e.type===`gift_purchase_event`){let t=e.data.amount,n=e.data.currency,r=e.data.tier_name,i=e.data.duration,a=e.data.cadence;return typeof t==`number`&&n&&r&&typeof i==`number`&&a?`Purchased gift subscription for ${kt(t,n)} (${r}, ${i} ${i===1?a:`${a}s`})`:`Purchased gift subscription`}if(e.type===`gift_redemption_event`)return`started gift subscription`;if(e.type===`gift_ended_event`)return`gift subscription expired`}function Nt(e,t){if(e.type===`automated_email_sent_event`){let t=e.data.automatedEmail;if(t?.source===`automation_action_revision`){let e=At(t.subject);return e?`received automated email: ${e}`:`received automated email`}}return Mt(e,t)}function Pt(e){if(e.type===`signup_event`||e.type===`subscription_event`||e.type===`donation_event`){let t=e.data.attribution;if(t?.title)return t.title}if(e.type===`comment_event`||e.type===`click_event`||e.type===`feedback_event`){let t=e.data.post;if(t?.title)return t.title}return``}function Ft(e){let t=e.data.attribution;return t?.referrer_source?{name:t.referrer_source,url:t.referrer_url??null}:null}function It(e,t){if(e.type===`signup_event`&&t.paidMembersEnabled){let t=e.data.created_with_status;return t&&t!==`free`?null:`Free`}if(e.type===`gift_redemption_event`)return e.data.tier_name??void 0}function Lt(e){if(e.type===`click_event`)return e.data.link?.to}function Rt(e){if(e.type===`comment_event`||e.type===`click_event`||e.type===`feedback_event`){let t=e.data.post;if(t?.url)return t.url}if(e.type===`signup_event`||e.type===`subscription_event`||e.type===`donation_event`){let t=e.data.attribution;if(t?.url)return t.url}}function zt(e){if(e.type===`click_event`||e.type===`feedback_event`){let t=e.data.post;if(t?.id)return`#/posts/analytics/${t.id}`}if((e.type===`signup_event`||e.type===`subscription_event`)&&e.data.attribution_type===`post`&&e.data.attribution_id)return`#/posts/analytics/${e.data.attribution_id}`}function Bt(e,t){let n=At(e.data.member?.name),r=e.data.member?n||e.data.member.email||``:e.data.name||e.data.email||``,i=e.data.member?{...e.data.member,name:n??void 0}:e.data.member;return{id:e.data.id,memberId:e.data.member_id??e.data.member?.id,member:i,emailId:e.data.email_id,email:e.data.email,icon:jt(e),subject:r,action:Mt(e,t.hasMultipleNewsletters),actionTitle:Nt(e,t.hasMultipleNewsletters),join:`–`,object:Pt(e),source:Ft(e),info:It(e,t),description:Lt(e),url:Rt(e),route:zt(e),timestamp:e.data.created_at}}var Vt=({iconName:e})=>{let t={className:`shrink-0 text-muted-foreground`,size:16};switch(e){case`event-signed-up`:return(0,X.jsx)(Te,{...t});case`event-logged-in`:return(0,X.jsx)(Ie,{...t});case`event-subscriptions`:return(0,X.jsx)(he,{...t});case`event-canceled-subscription`:return(0,X.jsx)(Me,{...t});case`event-subscribed-to-email`:return(0,X.jsx)($e,{...t});case`event-unsubscribed-from-email`:return(0,X.jsx)(Ue,{...t});case`event-opened-email`:return(0,X.jsx)(nt,{...t});case`event-received-email`:return(0,X.jsx)(A,{...t});case`event-sent-email`:return(0,X.jsx)(Ve,{...t});case`event-email-delivery-failed`:return(0,X.jsx)(ze,{...t});case`event-email-delivery-spam`:return(0,X.jsx)(it,{...t});case`event-email-changed`:return(0,X.jsx)(ot,{...t});case`event-comment`:return(0,X.jsx)(Ae,{...t});case`event-click`:return(0,X.jsx)(me,{...t});case`event-more-like-this`:return(0,X.jsx)(Pe,{...t});case`event-less-like-this`:return(0,X.jsx)(U,{...t});case`event-gift`:return(0,X.jsx)(P,{...t});default:return(0,X.jsx)(Se,{...t})}},Ht=({memberId:e})=>(0,X.jsx)(`a`,{className:`block pt-3 font-medium text-primary hover:underline`,"data-testid":`member-activity-view-all`,href:`#/members-activity?member=${e}`,children:`View all member activity →`}),Ut=`All events related to this member will be shown here.`,Wt=e=>e?e.charAt(0).toUpperCase()+e.slice(1):``;function Gt(e){if(e&&typeof e==`object`){let t=e.subject;return t?`“${t}”`:`Email`}}var Kt=({event:e})=>{if(!e.action)return null;let t=Gt(e.email),n=e.object&&(e.route||Dt(e.url)),r=!n&&t,i=e.timestamp?(0,Z.default)(e.timestamp).fromNow():`—`;return(0,X.jsxs)(`div`,{className:`flex items-start gap-3 py-3`,"data-testid":`member-activity-event`,children:[(0,X.jsx)(`div`,{className:`flex size-8 shrink-0 items-center justify-center rounded-full bg-muted`,children:(0,X.jsx)(Vt,{iconName:e.icon})}),(0,X.jsxs)(`div`,{className:`flex min-w-0 flex-1 flex-col gap-0.5`,children:[(0,X.jsxs)(`div`,{className:`text-sm leading-snug`,children:[(0,X.jsx)(`span`,{"data-testid":`member-activity-action`,children:Wt(e.action)}),e.info&&(0,X.jsxs)(`span`,{className:`ml-1 text-muted-foreground`,children:[`(`,e.info,`)`]}),n&&(0,X.jsxs)(X.Fragment,{children:[(0,X.jsx)(`span`,{className:`mx-1 text-muted-foreground`,children:e.join}),e.route?(0,X.jsx)(`a`,{className:`hover:underline`,href:e.route,children:e.object}):(0,X.jsx)(`a`,{className:`hover:underline`,href:e.url,rel:`noopener noreferrer`,target:`_blank`,children:e.object})]}),r&&(0,X.jsxs)(X.Fragment,{children:[(0,X.jsx)(`span`,{className:`mx-1 text-muted-foreground`,children:e.join}),(0,X.jsx)(`span`,{className:`text-muted-foreground`,children:t})]})]}),e.description&&(0,X.jsx)(`div`,{className:`truncate text-xs text-muted-foreground`,children:e.description}),(0,X.jsx)(`div`,{className:`text-xs text-muted-foreground`,children:i})]})]})},qt=({memberId:e,hasMultipleNewsletters:t,hasMultipleTiers:n,paidMembersEnabled:r})=>{let{data:i,isLoading:a}=V(e??``,{limit:`5`,enabled:!!e}),o=(i?.events??[]).map(e=>Bt(e,{hasMultipleNewsletters:t,hasMultipleTiers:n,paidMembersEnabled:r})),s=new Set;return e?(0,X.jsxs)(`section`,{className:`flex flex-col gap-3`,"data-testid":`member-activity-feed`,children:[(0,X.jsx)(`h3`,{className:`text-base font-semibold`,children:`Activity`}),(0,X.jsx)(w,{children:(0,X.jsxs)(C,{className:`pt-3`,children:[a?(0,X.jsxs)(`div`,{className:`flex flex-col gap-3`,children:[(0,X.jsx)(We,{className:`h-10`}),(0,X.jsx)(We,{className:`h-10`}),(0,X.jsx)(We,{className:`h-10`})]}):o.length===0?(0,X.jsx)(`p`,{className:`py-4 text-center text-sm text-muted-foreground`,"data-testid":`member-activity-empty`,children:`No activity yet`}):(0,X.jsx)(`div`,{className:`divide-y divide-border`,children:o.map(e=>{let t=e.id||`${e.timestamp??`?`}-${e.icon}-${e.action}`,n=t,r=1;for(;s.has(n);)n=`${t}#${r}`,r+=1;return s.add(n),(0,X.jsx)(Kt,{event:e},n)})}),!a&&o.length>0&&(0,X.jsx)(Ht,{memberId:e})]})})]}):(0,X.jsxs)(`section`,{className:`flex flex-col gap-3`,"data-testid":`member-activity-feed`,children:[(0,X.jsx)(`h3`,{className:`text-base font-semibold`,children:`Activity`}),(0,X.jsx)(w,{children:(0,X.jsx)(C,{className:`pt-6`,children:(0,X.jsx)(`div`,{className:`flex flex-col items-center gap-3 py-4`,children:(0,X.jsx)(T,{description:Ut,title:`Activity`,children:(0,X.jsx)(Se,{})})})})})]})},Jt=[`line1`,`line2`,`city`,`state`,`postal_code`,`country`],Yt=/^[^\s@]+@[^\s@]+\.[^\s@]+$/;function Q(e){return{name:(e.name??``).trim(),email:(e.email??``).trim(),note:e.note??``,labels:(e.labels??[]).map(e=>({name:e.name,slug:e.slug})).sort((e,t)=>e.slug<t.slug?-1:+(e.slug>t.slug)),newsletters:(e.newsletters??[]).map(e=>e.id).sort()}}function Xt(e){let t={};for(let[n,r]of Object.entries(e??{}))if(typeof r==`string`&&r.trim()!==``)t[n]=r.trim();else if(typeof r==`object`&&r&&!Array.isArray(r)){let e=Zt(r);e&&(t[n]=e)}return t}function Zt(e){let t={};for(let n of Jt){let r=e[n];typeof r==`string`&&r.trim()!==``&&(t[n]=r.trim())}return Object.keys(t).length?t:void 0}function Qt(e,t){return e.includes(t)?e.filter(e=>e!==t):[...e,t].sort()}function $t(e){return Yt.test(e.trim())}function en(e,t){return t?e.trim()===``?`Email is required.`:$t(e)?null:`Invalid email.`:null}function tn(e){if(!e?.suppressed)return null;let t=e.info;if(!t)return{label:null};let{reason:n,timestamp:r}=t,i=(0,Z.default)(new Date(r)).format(`D MMM YYYY`);switch(n){case`fail`:return{reason:n,label:`Bounced on ${i}`};case`spam`:return{reason:n,label:`Flagged as spam on ${i}`};default:return{reason:n,label:`Email disabled on ${i}`}}}function nn(e){return e?e.filter(e=>e.subscribe_on_signup===!0&&e.visibility===`members`).map(e=>e.id):[]}function rn(e){return e!==`disabled`}function an(e){return 500-[...e].length}function on(e,t,n){let r=mn(t),i={id:e,name:r.name,email:r.email,note:r.note,labels:r.labels};return s(r.newsletters,n.newsletters)||(i.newsletters=r.newsletters.map(e=>({id:e}))),i}function sn(e,t,n){let r=typeof n==`string`?n.trim()||void 0:Zt(n);return{id:e,custom_fields:{[t]:r??null}}}var cn={line1:`Enter a street address.`,line2:`Enter a shorter address line.`,city:`Enter a city.`,state:`Enter a shorter state.`,postal_code:`Enter a postal code.`,country:`Enter a 2-letter country code, like US.`},ln=new Set([`line1`,`city`,`postal_code`]);function un(e,t){let n=t.code===`too_big`&&typeof t.maximum==`number`?t.maximum:void 0;if(e.type===`address`){let e=t.path[0];if(typeof e==`string`){if(n!==void 0&&ln.has(e))return`Use ${n} characters or fewer.`;if(e in cn)return cn[e]}}return n===void 0?`This text is too long to save. Shorten it a little.`:`Use ${n} characters or fewer.`}function dn(e,t){let n={},r=Xt(e);for(let e of t){let t=r[e.key];if(t===void 0)continue;let i=O[e.type];if(!i)continue;let a=i.value.safeParse(t);if(!a.success)for(let t of a.error.issues){let r=[e.key,...t.path].join(`.`);n[r]??=un(e,t)}}return n}function fn(e){let t=e?.data,n={};for(let e of t?.errors??[])e.property?.startsWith(`custom_fields.`)&&(n[e.property.slice(14)]=e.context||e.message||`Invalid value.`);return Object.keys(n).length?n:void 0}function pn(e,t){return e.map(e=>t.get(e)??{name:e,slug:e})}function mn(e){return{name:e.name.trim(),email:e.email.trim(),note:e.note,labels:e.labels,newsletters:e.newsletters}}function hn(e,t){return!e||!!t&&s(mn(e),t)}function gn(e){if(!e)return null;try{let t=JSON.parse(e);return t&&typeof t==`object`&&!Array.isArray(t)?t:null}catch{return null}}function _n(e){let t=gn(e);return t?t.country_code===`US`&&t.region?`${t.region}, US`:t.country||`Unknown location`:`Unknown location`}function vn(e){let t=[e.state,e.postal_code].filter(Boolean).join(` `);return[e.line1,e.line2,e.city,t,e.country].filter(Boolean).join(`, `)}function yn(e){let t=e?.referrer_source;return!t||t===`Created manually`?null:t}var bn=de(`address`).subFields??{},xn=({message:e})=>e?(0,X.jsx)(`p`,{className:`text-sm text-destructive`,role:`alert`,children:e}):null,Sn=({inputId:e,value:t,errors:n,disabled:r,onChange:i})=>(0,X.jsx)(`div`,{className:`grid gap-x-4 gap-y-3 md:grid-cols-2`,children:Jt.map(a=>{let o=`${e}-${a}`,s=n?.[a];return(0,X.jsxs)(`div`,{className:`flex flex-col gap-1.5`,children:[(0,X.jsx)(E,{htmlFor:o,children:bn[a]??a}),(0,X.jsx)(K,{"aria-invalid":s?!0:void 0,disabled:r,id:o,value:t[a]??``,onChange:e=>i({...t,[a]:e.target.value})}),(0,X.jsx)(xn,{message:s})]},a)})}),Cn=({field:e,inputId:t,value:n,errors:r,disabled:i,onChange:a})=>{let o=r?.[``];switch(ue(e).input){case`text`:return(0,X.jsx)(K,{"aria-invalid":o?!0:void 0,disabled:i,id:t,value:typeof n==`string`?n:``,onChange:e=>a(e.target.value)});case`textarea`:return(0,X.jsx)(pe,{"aria-invalid":o?!0:void 0,className:`max-w-full resize-y`,disabled:i,id:t,value:typeof n==`string`?n:``,onChange:e=>a(e.target.value)});case`address`:return(0,X.jsx)(Sn,{disabled:i,errors:r,inputId:t,value:typeof n==`object`&&n?n:{},onChange:a});default:return null}},wn=({memberId:e,field:t,initialValue:n,onClose:r})=>{let i=ue(t).input===`address`,[o,c]=Y.useState(n??(i?{}:``)),[l,u]=Y.useState(!1),[d,f]=Y.useState(),p=qe(),m=dn({[t.key]:o},[t]),h={...l?m:{},...d},g=Object.fromEntries(Object.entries(h).map(([e,n])=>[e===t.key?``:e.slice(t.key.length+1),n])),_=`member-custom-field-${t.key}`,v=!s(Xt({[t.key]:o}),Xt({[t.key]:n}));return(0,X.jsx)(J,{open:!0,onOpenChange:e=>{!e&&!p.isPending&&r()},children:(0,X.jsxs)(I,{"data-testid":`member-custom-field-edit-modal`,onEscapeKeyDown:e=>{(v||p.isPending)&&e.preventDefault()},onInteractOutside:e=>{(v||p.isPending)&&e.preventDefault()},children:[(0,X.jsx)(G,{children:(0,X.jsx)(N,{children:t.name})}),(0,X.jsxs)(`div`,{className:`flex flex-col gap-1.5`,children:[!i&&(0,X.jsx)(E,{className:`sr-only`,htmlFor:_,children:t.name}),(0,X.jsx)(Cn,{disabled:p.isPending,errors:g,field:t,inputId:_,value:o,onChange:e=>{f(void 0),c(e)}}),(0,X.jsx)(xn,{message:g[``]})]}),(0,X.jsxs)(H,{children:[(0,X.jsx)(R,{disabled:p.isPending,variant:`outline`,onClick:r,children:`Cancel`}),(0,X.jsx)(R,{className:`min-w-16`,disabled:p.isPending,onClick:()=>{if(!p.isPending){if(!v){r();return}if(Object.keys(m).length>0){u(!0);return}p.mutate(sn(e,t.key,o),{onSuccess:()=>{a.success(`${t.name} saved`),r()},onError:e=>{let n=fn(e);f(n),n||a.error(`${t.name} couldn’t be saved`)}})}},children:p.isPending?(0,X.jsxs)(X.Fragment,{children:[(0,X.jsx)(q,{size:`sm`}),(0,X.jsx)(`span`,{className:`sr-only`,children:`Saving`})]}):`Save`})]})]})})};function Tn(e){return e===void 0?null:typeof e==`string`?e:vn(e)||null}var En=({memberId:e,customFields:t,disabled:n})=>{let{data:r,isLoading:i}=fe(),a=r?.members_custom_fields??[],o=Xt(t),[s,c]=Y.useState(null);return i||a.length===0?null:(0,X.jsxs)(`section`,{"aria-labelledby":`member-custom-fields-heading`,className:`flex flex-col gap-3`,"data-testid":`member-custom-fields-field`,children:[(0,X.jsx)(`h3`,{className:`text-base font-semibold`,id:`member-custom-fields-heading`,children:`Custom fields`}),(0,X.jsx)(w,{children:(0,X.jsx)(C,{className:`px-6 py-4`,children:(0,X.jsx)(`ul`,{children:a.map(e=>{let t=Tn(o[e.key]);return(0,X.jsx)(`li`,{className:`border-b border-border transition-colors last:border-b-0 hover:border-b-transparent [&:has(+li:hover)]:border-b-transparent`,children:(0,X.jsxs)(`button`,{"aria-label":t?`Edit ${e.name}: ${t}`:`Edit ${e.name}`,className:`group -mx-3 flex w-[calc(100%+1.5rem)] items-center justify-between gap-4 rounded-md p-3 text-left transition-colors hover:bg-table-row-hover disabled:cursor-not-allowed disabled:opacity-50`,disabled:n,type:`button`,onClick:()=>{window.getSelection()?.toString()||c(e)},children:[(0,X.jsxs)(`span`,{className:`min-w-0`,children:[(0,X.jsx)(`span`,{className:`block text-sm text-muted-foreground`,children:e.name}),t?(0,X.jsx)(`span`,{className:`block break-words select-text`,children:t}):(0,X.jsx)(`span`,{className:`block text-muted-foreground`,children:`–`})]}),(0,X.jsx)(ve,{"aria-hidden":`true`,className:`shrink-0 text-muted-foreground opacity-0 transition-all group-hover:opacity-100 group-focus-visible:opacity-100`,size:16})]})},e.key)})})})}),s&&(0,X.jsx)(wn,{field:s,initialValue:o[s.key],memberId:e,onClose:()=>c(null)},s.key)]})},Dn=({labels:e,disabled:t,onChange:n})=>{let r=e.map(e=>e.slug),i=Y.useRef(e);i.current=e;let a=Y.useRef(new Map),o=e=>{for(let t of e)a.current.set(t.slug,{name:t.name,slug:t.slug})};o(e);let s=dt({selectedSlugs:r,onSelectionChange:e=>n(pn(e,a.current))});o(s.labels);let c=async e=>{let t=await s.createLabel(e);if(t){let e={name:t.name,slug:t.slug};a.current.set(t.slug,e),n([...i.current.filter(e=>e.slug!==t.slug),e])}return t};return(0,X.jsx)(`div`,{className:t?`pointer-events-none opacity-60`:void 0,"data-testid":`member-labels-field`,...t?{inert:``}:{},children:(0,X.jsx)(ft,{isCreating:s.isCreating,labels:s.labels,optionSource:s.optionSource,placeholder:``,resolvedSelectedLabels:s.resolvedSelectedLabels,selectedSlugs:r,onCreate:c,onDelete:s.deleteLabel,onEdit:s.editLabel,onToggle:s.toggleLabel})})},On=({draft:e,emailError:t,disabled:n,onChange:r,onEmailBlur:i,onNameBlur:a})=>{let o=an(e.note),s=500-o,c=o<0?`text-destructive`:s>=500*.8?`text-state-warning`:`text-state-success`;return(0,X.jsxs)(`div`,{className:`grid items-stretch gap-6 md:grid-cols-2`,"data-testid":`member-detail-form`,children:[(0,X.jsxs)(`div`,{className:`flex flex-col gap-5`,children:[(0,X.jsxs)(`div`,{className:`flex flex-col gap-1.5`,children:[(0,X.jsx)(E,{htmlFor:`member-name`,children:`Name`}),(0,X.jsx)(K,{disabled:n,id:`member-name`,value:e.name,onBlur:a,onChange:e=>r({name:e.target.value})})]}),(0,X.jsxs)(`div`,{className:`flex flex-col gap-1.5`,children:[(0,X.jsx)(E,{htmlFor:`member-email`,children:`Email`}),(0,X.jsx)(K,{"aria-invalid":!!t,disabled:n,id:`member-email`,type:`email`,value:e.email,onBlur:i,onChange:e=>r({email:e.target.value})}),t&&(0,X.jsx)(`p`,{className:`text-sm text-destructive`,children:t})]}),(0,X.jsxs)(`div`,{className:`flex flex-col gap-1.5`,children:[(0,X.jsx)(E,{children:`Labels`}),(0,X.jsx)(Dn,{disabled:n,labels:e.labels,onChange:e=>r({labels:e})})]})]}),(0,X.jsxs)(`div`,{className:`flex min-h-0 flex-col gap-1.5`,children:[(0,X.jsxs)(E,{htmlFor:`member-note`,children:[`Note `,(0,X.jsx)(`span`,{className:`font-normal text-muted-foreground`,children:`(not visible to member)`})]}),(0,X.jsxs)(le,{className:`flex-1`,children:[(0,X.jsx)(D,{className:`h-full`,disabled:n,id:`member-note`,value:e.note,onChange:e=>r({note:e.target.value})}),(0,X.jsx)(ce,{align:`block-end`,className:`justify-end`,children:(0,X.jsxs)(`span`,{className:`text-sm text-muted-foreground`,children:[`Maximum: `,(0,X.jsx)(`span`,{className:`font-semibold text-foreground`,children:500}),` characters. You’ve used`,` `,(0,X.jsx)(`span`,{className:m(`font-semibold`,c),children:s})]})})]})]})]})},kn=e=>Z.default.utc(e).format(`D MMM YYYY`),$=({icon:e,children:t})=>(0,X.jsxs)(`p`,{className:`flex items-center gap-2 text-muted-foreground`,children:[(0,X.jsx)(`span`,{className:`shrink-0 text-muted-foreground`,children:e}),(0,X.jsx)(`span`,{className:`min-w-0 truncate`,children:t})]}),An=e=>e.split(` `)[0]||``,jn=({member:e,draftName:t,draftEmail:n,engagementEnabled:r})=>{let i=(t??e?.name??``).trim(),a=(n??e?.email??``).trim(),o=i||a||`New member`,s=!e;return(0,X.jsxs)(`aside`,{className:`flex w-full shrink-0 flex-col gap-6 lg:w-80`,"data-testid":`member-detail-sidebar`,children:[(0,X.jsxs)(`div`,{className:`flex items-center gap-3 py-4`,children:[(0,X.jsx)(j,{className:`size-12 min-w-12 [&_span]:text-lg`,email:a||void 0,name:i||void 0,src:e?.avatar_image}),(0,X.jsxs)(`div`,{className:`min-w-0`,children:[(0,X.jsx)(`h2`,{className:`truncate text-xl font-semibold`,children:o}),i&&a&&(0,X.jsx)(`a`,{className:`block truncate text-muted-foreground hover:underline`,href:`mailto:${a}`,children:a}),!i&&a&&(0,X.jsx)(`span`,{className:`block truncate text-muted-foreground`,children:a})]})]}),!s&&e&&(0,X.jsxs)(X.Fragment,{children:[(0,X.jsxs)(`div`,{className:`flex flex-col gap-2 text-sm`,children:[(0,X.jsx)($,{icon:(0,X.jsx)(Ne,{size:16}),children:(0,X.jsx)(`span`,{"data-testid":`member-detail-location`,children:_n(e.geolocation)})}),(0,X.jsx)($,{icon:(0,X.jsx)(we,{size:16}),children:e.last_seen_at?`Last seen on ${kn(e.last_seen_at)}`:`Not seen yet`}),e.can_comment===!1&&(0,X.jsx)($,{icon:(0,X.jsx)(be,{size:16}),children:`Comments disabled`})]}),(0,X.jsxs)(`div`,{className:`mt-4 flex flex-col gap-3 text-sm`,children:[(0,X.jsx)(`h3`,{className:`border-b border-border pb-2 text-base font-semibold`,children:`Signup info`}),(0,X.jsxs)($,{icon:(0,X.jsx)(Te,{size:16}),children:[`Created — `,(0,X.jsx)(`span`,{className:`text-foreground`,children:kn(e.created_at)})]}),(()=>{let t=yn(e.attribution);return t?(0,X.jsxs)($,{icon:(0,X.jsx)(De,{size:16}),children:[`Source — `,(0,X.jsx)(`span`,{className:`text-foreground`,title:t,children:t})]}):null})(),e.attribution?.title&&(0,X.jsxs)($,{icon:(0,X.jsx)(Ke,{size:16}),children:[`Page — `,Dt(e.attribution.url)?(0,X.jsx)(`a`,{className:`truncate text-foreground hover:underline`,href:e.attribution.url,rel:`noopener noreferrer`,target:`_blank`,title:e.attribution.title,children:e.attribution.title}):(0,X.jsx)(`span`,{className:`truncate text-foreground`,title:e.attribution.title,children:e.attribution.title})]})]}),r&&(0,X.jsxs)(`section`,{className:`mt-4 flex flex-col gap-3 text-sm`,"data-testid":`member-detail-engagement`,children:[(0,X.jsx)(`h4`,{className:`border-b border-border pb-2 text-base font-semibold`,children:`Engagement`}),(e.email_count??0)===0?(0,X.jsx)(`p`,{className:`text-muted-foreground`,children:i?`We’ll show ${An(i)}’s email stats here once they receive their first newsletter.`:`We’ll show this member’s email stats here once they receive their first newsletter.`}):(0,X.jsxs)(`div`,{className:`flex flex-col gap-4`,children:[(0,X.jsxs)(`div`,{className:`flex flex-col gap-0.5`,children:[(0,X.jsx)(`p`,{className:`text-muted-foreground`,children:`Emails received`}),(0,X.jsx)(`p`,{className:`text-2xl font-semibold`,children:e.email_count})]}),(0,X.jsxs)(`div`,{className:`flex flex-col gap-0.5`,children:[(0,X.jsx)(`p`,{className:`text-muted-foreground`,children:`Emails opened`}),(0,X.jsx)(`p`,{className:`text-2xl font-semibold`,children:e.email_opened_count??0})]}),(0,X.jsxs)(`div`,{className:`flex flex-col gap-0.5`,children:[(0,X.jsx)(`p`,{className:`text-muted-foreground`,children:`Average open rate`}),e.email_open_rate===null||e.email_open_rate===void 0?(0,X.jsx)(`p`,{className:`text-muted-foreground`,children:`This metric is calculated once a member has received 5 newsletters.`}):(0,X.jsxs)(`p`,{className:`text-2xl font-semibold`,children:[e.email_open_rate,(0,X.jsx)(`span`,{className:`text-base font-normal text-muted-foreground`,children:`%`})]})]})]})]})]})]})},Mn=({memberId:e,emailSuppression:t,subscribedIds:n,disabled:r,onChange:i})=>{let o=e?tn(t):null,s=ye(),{data:c,isLoading:l}=lt({searchParams:{filter:`status:active`,limit:`50`}}),u=c?.newsletters??[],d=L(),f=s.isPending||s.isSuccess&&d;return!o&&(l||u.length===0)?null:(0,X.jsxs)(`section`,{"aria-labelledby":`member-newsletters-heading`,className:`flex flex-col gap-3`,"data-testid":`member-newsletters-field`,children:[(0,X.jsx)(`h3`,{className:`text-base font-semibold`,id:`member-newsletters-heading`,children:`Newsletters`}),(0,X.jsx)(w,{children:(0,X.jsx)(C,{className:`p-6`,children:o?(0,X.jsxs)(`div`,{className:`flex items-center justify-between gap-4`,"data-testid":`member-suppression-banner`,children:[(0,X.jsxs)(`div`,{className:`flex items-start gap-3`,children:[(0,X.jsx)(ze,{className:`mt-0.5 shrink-0 text-muted-foreground`,size:20}),(0,X.jsxs)(`div`,{className:`min-w-0`,children:[(0,X.jsx)(`div`,{className:`font-medium`,children:`Email disabled`}),o.label&&(0,X.jsx)(`p`,{className:`text-sm text-muted-foreground`,children:o.label}),(0,X.jsx)(`a`,{className:`text-sm text-muted-foreground hover:underline`,href:`https://ghost.org/help/disabled-emails`,rel:`noopener noreferrer`,target:`_blank`,children:`Learn more`})]})]}),(0,X.jsx)(R,{disabled:r||f,onClick:()=>{e&&s.mutate({id:e},{onSuccess:()=>a.success(`Email re-enabled successfully`),onError:()=>a.error(`Failed to re-enable email. Please try again.`)})},children:f?(0,X.jsxs)(X.Fragment,{children:[(0,X.jsx)(q,{size:`sm`}),(0,X.jsx)(`span`,{className:`sr-only`,children:`Re-enabling email`})]}):`Re-enable email`})]}):(0,X.jsxs)(X.Fragment,{children:[(0,X.jsx)(`ul`,{className:`divide-y divide-border`,children:u.map(e=>{let t=n.includes(e.id);return(0,X.jsxs)(`li`,{className:`flex items-center justify-between gap-4 py-3 first:pt-0 last:pb-0`,children:[(0,X.jsxs)(`div`,{className:`min-w-0`,children:[(0,X.jsx)(`div`,{className:`font-medium`,children:e.name}),e.description&&(0,X.jsx)(`p`,{className:`truncate text-sm text-muted-foreground`,children:e.description})]}),(0,X.jsx)(y,{"aria-label":`Subscribe to ${e.name}`,checked:t,"data-testid":`member-subscription-toggle`,disabled:r,onCheckedChange:()=>i(Qt(n,e.id))})]},e.id)})}),(0,X.jsxs)(`p`,{className:`mt-4 text-sm text-muted-foreground`,children:[`If disabled, member will `,(0,X.jsx)(`em`,{children:`not`}),` receive newsletter emails`]})]})})})]})},Nn=`complimentary`,Pn=`gift subscription`;function Fn(e){if(e.id)return`paid`;let t=e.plan?.nickname?.toLowerCase()??``;return t===Nn?`complimentary`:t===Pn?`gift`:`paid`}function In(e){return e===`year`?`yearly`:`monthly`}function Ln(e){if(e.trial_end_at&&(0,Z.default)(e.trial_end_at).isAfter(new Date,`day`))return`Free trial`;let t=e.price?.nickname;return t&&t!==`Monthly`&&t!==`Yearly`?t:null}function Rn(e){return e.status===`canceled`||e.cancel_at_period_end?`Canceled`:`Active`}var zn=e=>e?(0,Z.default)(new Date(e)).format(`D MMM YYYY`):``,Bn=e=>e?(0,Z.default)(e).utc().format(`D MMM YYYY`):``;function Vn(e){let t=Fn(e);if(t===`complimentary`||t===`gift`){let t=Bn(e.tier?.expiry_at);return t?`Expires ${t}`:``}let n=e.status===`canceled`&&!e.cancel_at_period_end?``:zn(e.current_period_end);return e.status===`canceled`?n?`Ended ${n}`:``:e.cancel_at_period_end?n?`Has access until ${n}`:``:e.trial_end_at&&(0,Z.default)(e.trial_end_at).isAfter(new Date,`day`)?`Ends ${zn(e.trial_end_at)}`:n?`Renews ${n}`:``}function Hn(e){let t=[],n=new Map;for(let r of e){if(!r.price)continue;let e=r.tier??r.price.tier;if(!e?.id)continue;let i=n.get(e.id);i||(i={tier:e,subscriptions:[]},n.set(e.id,i),t.push(i)),i.subscriptions.push(r)}return t}var Un=[`forever`,`week`,`month`,`half-year`,`year`,`custom`];function Wn(e){return Un.includes(e)}function Gn(e,t){switch(e){case`forever`:return null;case`week`:return Z.default.utc().add(7,`days`).startOf(`day`).toISOString();case`month`:return Z.default.utc().add(1,`month`).startOf(`day`).toISOString();case`half-year`:return Z.default.utc().add(6,`months`).startOf(`day`).toISOString();case`year`:return Z.default.utc().add(1,`year`).startOf(`day`).toISOString();case`custom`:return t?(0,Z.default)(t,`YYYY-MM-DD`).startOf(`day`).endOf(`day`).set(`millisecond`,0).add((0,Z.default)().utcOffset(),`minutes`).toISOString():null}}var Kn=new Set([`active`,`trialing`,`unpaid`,`past_due`]),qn=[{value:`forever`,label:`Forever`},{value:`week`,label:`1 Week`},{value:`month`,label:`1 Month`},{value:`half-year`,label:`6 Months`},{value:`year`,label:`1 Year`},{value:`custom`,label:`Custom`}],Jn=({open:e,onOpenChange:t,member:n})=>{let{data:r,isLoading:i}=ut({searchParams:{filter:`type:paid+active:true`,limit:`all`}}),o=r?.tiers??[],[s,c]=Y.useState(``),[l,u]=Y.useState(`forever`),[d,f]=Y.useState(``);Y.useEffect(()=>{e&&(c(``),u(`forever`),f(``))},[e]);let p=M(),m=qe(),[h,g]=Y.useState(!1),_=(n.subscriptions??[]).filter(e=>Fn(e)===`paid`&&Kn.has(e.status)),v=(0,Z.default)().format(`YYYY-MM-DD`),y=!!s&&!h&&(l!==`custom`||!!d),ne=async()=>{if(y){g(!0);try{for(let e of _)await p.mutateAsync({memberId:n.id,subscriptionId:e.id,status:`canceled`});let e=Gn(l,l===`custom`?d:null),r=e?{id:s,expiry_at:e}:{id:s};await m.mutateAsync({id:n.id,...n.email?{email:n.email}:{},tiers:[r]}),a.success(`Complimentary subscription added`),t(!1)}catch{a.error(`Couldn’t add complimentary subscription`)}finally{g(!1)}}};return(0,X.jsx)(J,{open:e,onOpenChange:e=>{h||t(e)},children:(0,X.jsxs)(I,{"data-testid":`add-comp-modal`,children:[(0,X.jsxs)(G,{children:[(0,X.jsx)(N,{children:`Add complimentary subscription`}),(0,X.jsx)(F,{children:`Grants this member access to a paid tier for the chosen duration. Any active paid subscription is canceled first.`})]}),(0,X.jsxs)(`div`,{className:`flex flex-col gap-4`,children:[(0,X.jsxs)(`div`,{className:`flex flex-col gap-1.5`,children:[(0,X.jsx)(E,{htmlFor:`comp-tier`,children:`Tier`}),(0,X.jsxs)(te,{value:s,onValueChange:c,children:[(0,X.jsx)(ee,{"data-testid":`comp-tier-select`,disabled:i||h,id:`comp-tier`,children:(0,X.jsx)(S,{placeholder:i?`Loading tiers…`:`Select a tier`})}),(0,X.jsx)(x,{children:o.map(e=>(0,X.jsx)(b,{"data-tier-id":e.id,value:e.id,children:e.name},e.id))})]})]}),(0,X.jsxs)(`div`,{className:`flex flex-col gap-1.5`,children:[(0,X.jsx)(E,{htmlFor:`comp-duration`,children:`Duration`}),(0,X.jsxs)(te,{value:l,onValueChange:e=>{Wn(e)&&u(e)},children:[(0,X.jsx)(ee,{"data-testid":`comp-duration-select`,disabled:h,id:`comp-duration`,children:(0,X.jsx)(S,{})}),(0,X.jsx)(x,{children:qn.map(e=>(0,X.jsx)(b,{value:e.value,children:e.label},e.value))})]})]}),l===`custom`&&(0,X.jsxs)(`div`,{className:`flex flex-col gap-1.5`,children:[(0,X.jsx)(E,{htmlFor:`comp-custom-date`,children:`Expires on`}),(0,X.jsx)(K,{"data-testid":`comp-custom-date`,disabled:h,id:`comp-custom-date`,min:v,type:`date`,value:d,onChange:e=>f(e.target.value)})]})]}),(0,X.jsxs)(H,{children:[(0,X.jsx)(R,{disabled:h,variant:`outline`,onClick:()=>t(!1),children:`Cancel`}),(0,X.jsx)(R,{"data-testid":`comp-add-confirm`,disabled:!y,onClick:()=>void ne(),children:h?(0,X.jsxs)(X.Fragment,{children:[(0,X.jsx)(q,{size:`sm`}),(0,X.jsx)(`span`,{className:`sr-only`,children:`Adding`})]}):`Add subscription`})]})]})})},Yn=({memberId:e,subscription:t})=>{let n=M(),r=L(),i=n.isPending||n.isSuccess&&r,o=t.status===`canceled`,s=t.cancel_at_period_end,c=(r,i,o)=>{n.mutate({memberId:e,subscriptionId:t.id,cancelAtPeriodEnd:r},{onSuccess:()=>a.success(i),onError:()=>a.error(o)})};return(0,X.jsxs)(z,{children:[(0,X.jsx)(He,{asChild:!0,children:(0,X.jsx)(R,{"aria-label":`Subscription menu`,"data-testid":`subscription-actions`,disabled:i,size:`sm`,variant:`outline`,children:i?(0,X.jsx)(q,{size:`sm`}):(0,X.jsx)(B,{})})}),(0,X.jsxs)(je,{align:`end`,children:[(0,X.jsx)(W,{asChild:!0,children:(0,X.jsx)(`a`,{href:`https://dashboard.stripe.com/customers/${t.customer.id}`,rel:`noopener noreferrer`,target:`_blank`,children:`View Stripe customer`})}),(0,X.jsx)(Qe,{}),(0,X.jsx)(W,{asChild:!0,children:(0,X.jsx)(`a`,{href:`https://dashboard.stripe.com/subscriptions/${t.id}`,rel:`noopener noreferrer`,target:`_blank`,children:`View Stripe subscription`})}),!o&&(s?(0,X.jsx)(W,{"data-testid":`continue-subscription`,onSelect:()=>c(!1,`Subscription continued`,`Couldn’t continue subscription`),children:`Continue subscription`}):(0,X.jsx)(W,{className:`text-destructive focus:text-destructive`,"data-testid":`cancel-subscription`,onSelect:()=>c(!0,`Subscription canceled`,`Couldn’t cancel subscription`),children:`Cancel subscription`}))]})]})},Xn=({member:e,tierId:t})=>{let n=qe(),[r,i]=Y.useState(!1),o=L(),s=n.isPending||n.isSuccess&&o;return(0,X.jsxs)(X.Fragment,{children:[(0,X.jsxs)(z,{children:[(0,X.jsx)(He,{asChild:!0,children:(0,X.jsx)(R,{"aria-label":`Subscription menu`,"data-testid":`subscription-actions`,disabled:s,size:`sm`,variant:`outline`,children:s?(0,X.jsx)(q,{size:`sm`}):(0,X.jsx)(B,{})})}),(0,X.jsx)(je,{align:`end`,children:(0,X.jsx)(W,{className:`text-destructive focus:text-destructive`,"data-testid":`remove-complimentary`,onSelect:()=>i(!0),children:`Remove complimentary subscription`})})]}),(0,X.jsx)(rt,{open:r,onOpenChange:e=>{n.isPending||i(e)},children:(0,X.jsxs)(at,{children:[(0,X.jsxs)(tt,{children:[(0,X.jsx)(Ze,{children:`Remove complimentary subscription?`}),(0,X.jsx)(Re,{children:`The member will lose access to this tier immediately.`})]}),(0,X.jsxs)(Be,{children:[(0,X.jsx)(Ye,{disabled:n.isPending,children:`Cancel`}),(0,X.jsx)(R,{"data-testid":`confirm-remove-complimentary`,disabled:n.isPending,variant:`destructive`,onClick:()=>{let r=(e.tiers??[]).filter(e=>e.id!==t).map(e=>({id:e.id,expiry_at:e.expiry_at??null}));n.mutate({id:e.id,email:e.email,tiers:r},{onSuccess:()=>{a.success(`Complimentary subscription removed`),i(!1)},onError:()=>a.error(`Couldn’t remove complimentary subscription`)})},children:n.isPending?(0,X.jsxs)(X.Fragment,{children:[(0,X.jsx)(q,{size:`sm`}),(0,X.jsx)(`span`,{className:`sr-only`,children:`Removing`})]}):`Remove`})]})]})})]})},Zn=e=>{let t=e/100;return t.toLocaleString(void 0,t%1==0?void 0:{minimumFractionDigits:2,maximumFractionDigits:2})},Qn=({sub:e,kind:t})=>{if(t===`complimentary`||t===`gift`)return(0,X.jsx)(`div`,{className:`flex size-20 shrink-0 items-center justify-center rounded-lg bg-muted text-center text-sm font-medium text-muted-foreground`,children:t===`complimentary`?`Comp`:`Gift`});let n=c(e.price.currency),r=Zn(e.price.amount),i=In(e.price.interval);return(0,X.jsxs)(`div`,{className:`flex size-20 shrink-0 flex-col items-center justify-center rounded-lg bg-muted text-foreground`,children:[(0,X.jsxs)(`div`,{className:`flex items-start leading-none`,children:[(0,X.jsx)(`span`,{className:`mt-1 text-sm font-semibold`,children:n}),(0,X.jsx)(`span`,{className:`text-3xl font-semibold tracking-tight`,children:r})]}),(0,X.jsx)(`div`,{className:`mt-1 text-xs text-muted-foreground`,children:i})]})},$n=e=>e?Z.default.utc(e).format(`D MMM YYYY`):``,er=({sub:e})=>{let t=$n(e.start_date),n=e.attribution?.referrer_source,r=n&&n!==`Unknown`,i=e.attribution?.title?{title:e.attribution.title,url:e.attribution.url??null}:null;return(0,X.jsxs)(`div`,{className:`mt-3 space-y-1 border-t border-border pt-3 text-sm text-muted-foreground`,children:[t&&(0,X.jsxs)(`p`,{children:[`Created — `,(0,X.jsx)(`span`,{className:`text-foreground`,children:t})]}),r&&(0,X.jsxs)(`p`,{children:[`Source — `,(0,X.jsx)(`span`,{className:`text-foreground`,children:n})]}),i&&(0,X.jsxs)(`p`,{children:[`Page — `,i.url?(0,X.jsx)(`a`,{className:`text-foreground hover:underline`,href:i.url,rel:`noopener noreferrer`,target:`_blank`,children:i.title}):(0,X.jsx)(`span`,{className:`text-foreground`,children:i.title})]})]})},tr=({member:e,sub:t,showDivider:n})=>{let[r,i]=Y.useState(!1),a=Fn(t),o=Rn(t),s=Vn(t),c=Ln(t);return(0,X.jsxs)(`div`,{className:m(`flex items-start justify-between gap-4 py-5 first:pt-0 last:pb-0`,n&&`border-t border-border`),"data-testid":`member-subscription`,children:[(0,X.jsxs)(`div`,{className:`flex min-w-0 flex-1 items-start gap-4`,children:[(0,X.jsx)(Qn,{kind:a,sub:t}),(0,X.jsxs)(`div`,{className:`min-w-0 flex-1 pt-2`,children:[(0,X.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,X.jsx)(`span`,{className:`min-w-0 truncate font-semibold`,"data-testid":`member-subscription-tier`,children:t.tier?.name??`Subscription`}),(0,X.jsx)(Fe,{"data-testid":`member-subscription-status`,variant:o===`Canceled`?`secondary`:`success`,children:o})]}),(c||s)&&(0,X.jsxs)(`div`,{className:`mt-1 text-sm`,children:[c&&(0,X.jsx)(`span`,{className:`font-semibold text-foreground`,children:c}),c&&s&&(0,X.jsx)(`span`,{className:`text-muted-foreground`,children:` – `}),s&&(0,X.jsx)(`span`,{className:`text-muted-foreground`,children:s})]}),(0,X.jsxs)(`button`,{"aria-expanded":r,className:`mt-1 inline-flex items-center gap-1 text-sm font-medium text-primary hover:underline`,"data-testid":`member-subscription-details-toggle`,type:`button`,onClick:()=>i(e=>!e),children:[`Details`,(0,X.jsx)(et,{className:m(`transition-transform`,r&&`rotate-180`),size:14})]}),r&&(0,X.jsx)(er,{sub:t})]})]}),a===`paid`&&(0,X.jsx)(Yn,{memberId:e.id,subscription:t}),a===`complimentary`&&t.tier?.id&&(0,X.jsx)(Xn,{member:e,tierId:t.tier.id})]})},nr=({member:e,canAddComp:t})=>{let[n,r]=Y.useState(!1);if(!e)return(0,X.jsx)(w,{"data-testid":`member-subscriptions`,children:(0,X.jsx)(C,{className:`pt-6`,children:(0,X.jsx)(`div`,{className:`flex flex-col items-center gap-3 py-4`,children:(0,X.jsx)(T,{title:`No subscriptions`,children:(0,X.jsx)(he,{})})})})});let i=Hn(e.subscriptions??[]),a=i.length>0,o=t&&(e.tiers?.length??0)===0,s=o?(0,X.jsxs)(R,{"data-testid":`add-complimentary`,variant:`outline`,onClick:()=>r(!0),children:[(0,X.jsx)(_e,{className:`mr-1`,size:16}),`Add complimentary subscription`]}):null;return(0,X.jsxs)(X.Fragment,{children:[(0,X.jsx)(w,{"data-testid":`member-subscriptions`,children:(0,X.jsx)(C,{className:`pt-6`,children:a?(0,X.jsxs)(X.Fragment,{children:[i.map(t=>(0,X.jsxs)(`div`,{className:`flex flex-col`,children:[t.subscriptions.map((n,r)=>(0,X.jsx)(tr,{member:e,showDivider:r>0,sub:n},n.id||`${t.tier.id}-${r}`)),t.subscriptions.length>1&&(0,X.jsxs)(`div`,{className:`pt-3 text-sm text-muted-foreground`,children:[t.subscriptions.length,` subscriptions`]})]},t.tier.id)),s&&(0,X.jsx)(`div`,{className:`mt-4 flex justify-center border-t border-border pt-4`,children:s})]}):(0,X.jsxs)(`div`,{className:`flex flex-col items-center gap-3 py-4`,children:[(0,X.jsx)(T,{title:`No subscriptions`,children:(0,X.jsx)(he,{})}),s]})})}),o&&(0,X.jsx)(Jn,{member:e,open:n,onOpenChange:r})]})};function rr(e){let t=new URLSearchParams(e),n=t.get(`back`);if(n&&n.startsWith(`/members`))return n;let r=t.get(`post`);return r?`/members?post=${encodeURIComponent(r)}`:`/members`}function ir(e){let[t,n]=Y.useState(null),r=Y.useRef(e);return r.current=e,Y.useEffect(()=>{let e=e=>{if(!r.current||e.defaultPrevented||e.metaKey||e.ctrlKey||e.shiftKey||e.altKey||e.button!==0)return;let t=e.target.closest?.(`a[href^="#/"]`);!t||t.hasAttribute(`data-discover`)||(e.preventDefault(),e.stopPropagation(),n(t.getAttribute(`href`)))};return document.addEventListener(`click`,e,!0),()=>document.removeEventListener(`click`,e,!0)},[]),{blockedHref:t,isBlocked:t!==null,proceed:()=>{t&&(n(null),window.location.hash=t)},reset:()=>n(null)}}var ar=`new`,or=({paidMembersEnabled:e,newslettersUiEnabled:t,engagementEnabled:n})=>{let{member_id:r=``}=d(),i=u(),c=p(),m=rr(i.search),h=r===ar,v=Xe(`membersCustomFields`),{data:y,isLoading:b,error:x,refetch:ee}=st(r,{enabled:!!r&&!h,searchParams:{include:v?`tiers,custom_fields`:`tiers`},defaultErrorHandler:!1}),S=y?.members?.[0],te=!h&&!b&&!!x,T=!h&&!b&&!x&&!S,E=qe(),ce=Ee(),D=h?ce:E,{data:le}=ut({searchParams:{filter:`type:paid+active:true`,limit:`all`},enabled:e}),ue=(le?.tiers?.length??0)>0,{data:O}=lt({searchParams:{filter:`status:active`,limit:`50`}}),de=O!==void 0,fe=(O?.newsletters?.length??0)>1,pe=(le?.tiers?.length??0)>1,[k,A]=Y.useState(void 0),j=Y.useRef(void 0),M=Y.useRef(void 0),N=Y.useRef(!1),me=Y.useRef(!1);Y.useEffect(()=>{if(h){if(j.current!==ar){j.current=ar,N.current=!1;let e=Q({});M.current=e,A(e)}return}if(!S)return;let e=Q(S);if(j.current!==S.id){j.current=S.id,M.current=e,A(e);return}let t=M.current;M.current=e,A(n=>hn(n,t)?e:n)},[S,h]),Y.useEffect(()=>{me.current=!1},[r]),Y.useEffect(()=>{if(!h||N.current||!O?.newsletters)return;N.current=!0;let e=nn(O.newsletters);if(e.length===0)return;let t={...M.current??Q({}),newsletters:[...e].sort()};M.current=t,A(t=>t&&{...t,newsletters:[...e].sort()})},[h,O]);let he=h?M.current:S?Q(S):void 0,P=!!k&&!!he&&!s(mn(k),he),ge=!!k&&$t(k.email),[_e,F]=Y.useState(!1);Y.useEffect(()=>{F(!1)},[S?.id,h]);let I=k?en(k.email,_e):null,[L,ve]=Y.useState({name:``,email:``});Y.useEffect(()=>{if(h){ve({name:``,email:``});return}S&&ve({name:S.name??``,email:S.email??``})},[S?.id,S?.name,S?.email,h]);let ye=()=>{k&&ve({name:k.name,email:k.email})},z=e=>{D.isError&&D.reset(),A(t=>t&&{...t,...e})},be=()=>{if(!(!k||!P||!ge||D.isPending)){if(ye(),h){ce.mutate({email:k.email.trim(),name:k.name.trim()||void 0,note:k.note.trim()||void 0,labels:k.labels.length?k.labels:void 0,newsletters:N.current?k.newsletters.map(e=>({id:e})):void 0},{onSuccess:e=>{let t=e.members?.[0];if(!t){a.error(`Member couldn’t be created`);return}me.current=!0,a.success(`Member created`),c(`/members/${t.id}`,{replace:!0})},onError:()=>{a.error(`Member couldn’t be created`)}});return}!S||j.current!==S.id||E.mutate(on(S.id,k,Q(S)),{onSuccess:e=>{let t=e.members?.[0];if(t){let e=Q(t);M.current=e,A(e)}a.success(`Member updated`)},onError:()=>{a.error(`Member couldn’t be saved`)}})}};o(D.isPending||P);let B=l(({currentLocation:e,nextLocation:t})=>!me.current&&P&&e.pathname!==t.pathname),V=ir(P),xe=B.state===`blocked`||V.isBlocked,H=`Save`,Se=`default`,Ce=!0;D.isPending?H=(0,X.jsxs)(X.Fragment,{children:[(0,X.jsx)(q,{size:`sm`}),(0,X.jsx)(`span`,{className:`sr-only`,children:`Saving`})]}):P?(H=D.isError?`Retry`:`Save`,Se=D.isError?`destructive`:`default`,Ce=!ge):!h&&E.isSuccess&&(H=`Saved`);let we=!!k&&(h||!!S),U=`Member`;return h?U=`New member`:S?U=ke(S):T&&(U=`Member not found`),(0,X.jsx)(g,{className:`size-full`,children:(0,X.jsx)(_,{className:`relative flex h-full flex-col`,size:`page`,children:(0,X.jsxs)(ht,{"data-testid":`member-detail`,children:[(0,X.jsx)(ht.Header,{children:(0,X.jsxs)(ct,{blurredBackground:!1,sticky:!1,children:[(0,X.jsx)(ct.Left,{children:(0,X.jsx)(se,{children:(0,X.jsxs)(re,{children:[(0,X.jsx)(ie,{children:(0,X.jsx)(oe,{asChild:!0,children:(0,X.jsx)(f,{"data-test-link":`members-back`,to:m,children:`Members`})})}),(0,X.jsx)(ae,{}),(0,X.jsx)(ie,{children:!h&&b?(0,X.jsx)(We,{className:`h-4 w-40`}):(0,X.jsx)(ne,{className:`truncate`,"data-testid":`member-detail-title`,children:U})})]})})}),(h||S)&&(0,X.jsx)(ct.Actions,{children:(0,X.jsxs)(ct.ActionGroup,{children:[S&&!h&&(0,X.jsx)(Et,{allowLeaveWithUnsavedChanges:()=>{me.current=!0},member:S},S.id),(0,X.jsx)(R,{className:`min-w-16`,disabled:Ce,variant:Se,onClick:be,children:H})]})})]})}),(0,X.jsxs)(ht.Body,{children:[te&&(0,X.jsxs)(`div`,{className:`flex flex-1 flex-col items-center justify-center gap-3`,"data-testid":`member-detail-load-error`,children:[(0,X.jsx)(`p`,{className:`text-muted-foreground`,children:`Couldn’t load this member.`}),(0,X.jsx)(R,{variant:`outline`,onClick:()=>void ee(),children:`Retry`})]}),T&&(0,X.jsx)(`div`,{className:`flex flex-1 items-center justify-center`,children:(0,X.jsx)(`p`,{className:`text-muted-foreground`,children:`This member couldn’t be found.`})}),we&&k&&(0,X.jsxs)(`div`,{className:`flex flex-1 flex-col gap-8 lg:flex-row lg:items-start lg:gap-12`,children:[(0,X.jsx)(jn,{draftEmail:L.email,draftName:L.name,engagementEnabled:n,member:S}),(0,X.jsxs)(`div`,{className:`flex min-w-0 flex-1 flex-col gap-8`,children:[(0,X.jsx)(w,{children:(0,X.jsx)(C,{className:`p-6`,children:(0,X.jsx)(On,{disabled:D.isPending,draft:k,emailError:I,onChange:z,onEmailBlur:()=>{F(!0),ye()},onNameBlur:ye})})}),v&&S&&(0,X.jsx)(En,{customFields:S.custom_fields,disabled:D.isPending,memberId:S.id}),t&&(h||S)&&(0,X.jsx)(Mn,{disabled:D.isPending,emailSuppression:S?.email_suppression,memberId:S?.id,subscribedIds:k.newsletters,onChange:e=>z({newsletters:e})}),e&&(0,X.jsxs)(`section`,{"aria-labelledby":`member-subscriptions-heading`,className:`flex flex-col gap-3`,children:[(0,X.jsx)(`h3`,{className:`text-base font-semibold`,id:`member-subscriptions-heading`,children:`Subscriptions`}),(0,X.jsx)(nr,{canAddComp:ue,member:S})]}),(h||S&&de)&&(0,X.jsx)(qt,{hasMultipleNewsletters:fe,hasMultipleTiers:pe,memberId:S?.id,paidMembersEnabled:e})]})]})]}),(0,X.jsx)(rt,{open:xe,onOpenChange:e=>{!e&&xe&&(B.reset?.(),V.reset())},children:(0,X.jsxs)(at,{children:[(0,X.jsxs)(tt,{children:[(0,X.jsx)(Ze,{children:`Discard unsaved changes?`}),(0,X.jsx)(Re,{children:`Your changes will be lost if you leave this member.`})]}),(0,X.jsxs)(Be,{children:[(0,X.jsx)(Ye,{children:`Keep editing`}),(0,X.jsx)(R,{variant:`destructive`,onClick:()=>{V.isBlocked?V.proceed():B.proceed?.()},children:`Leave`})]})]})})]})})})},sr=()=>{let{data:e,isLoading:t}=Je({});if(t||!e?.settings)return(0,X.jsx)(g,{className:`size-full`,children:(0,X.jsx)(_,{className:`relative flex h-full flex-col`,size:`page`,children:(0,X.jsx)(ht,{children:(0,X.jsx)(ht.Body,{children:(0,X.jsx)(`div`,{className:`flex flex-1 items-center justify-center`,children:(0,X.jsx)(q,{size:`lg`})})})})})});let n=Oe(e.settings,`editor_default_email_recipients`),r=Oe(e.settings,`members_signup_access`);return(0,X.jsx)(or,{engagementEnabled:r!==`none`&&n!==`disabled`,newslettersUiEnabled:rn(n),paidMembersEnabled:Oe(e.settings,`paid_members_enabled`)===!0})};export{sr as default};
|