ghost 6.58.0 → 6.59.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-adapter-base-scheduling-0.2.2.tgz +0 -0
- package/components/tryghost-adapter-base-sso-0.1.2.tgz +0 -0
- package/components/tryghost-i18n-0.0.0.tgz +0 -0
- package/components/tryghost-kg-default-nodes-2.2.0.tgz +0 -0
- package/components/tryghost-kg-html-to-lexical-1.4.0.tgz +0 -0
- package/components/tryghost-kg-lexical-html-renderer-1.5.0.tgz +0 -0
- package/content/themes/casper/.github/workflows/test.yml +11 -1
- package/content/themes/casper/AGENTS.md +25 -0
- package/content/themes/casper/assets/built/screen.css +1 -1
- package/content/themes/casper/assets/css/screen.css +15 -1
- package/content/themes/casper/gulpfile.js +3 -0
- package/content/themes/casper/package.json +8 -8
- package/content/themes/source/.gitattributes +5 -0
- package/content/themes/source/.github/workflows/test.yml +39 -0
- package/content/themes/source/AGENTS.md +25 -0
- package/content/themes/source/README.md +33 -4
- package/content/themes/source/assets/built/screen.css +1 -1
- package/content/themes/source/assets/css/screen.css +15 -0
- package/content/themes/source/gulpfile.js +6 -3
- package/content/themes/source/package.json +13 -10
- package/content/themes/source/pnpm-workspace.yaml +3 -0
- package/core/boot.js +11 -4
- package/core/built/admin/assets/Combination-BCm9FL4o.js +41 -0
- package/core/built/admin/assets/about-BdSCpjXG.js +1 -0
- package/core/built/admin/assets/account-migration-BpKAqo8k.js +1 -0
- package/core/built/admin/assets/activitypub/{account-migration-BpDeIF3G.js → account-migration-DVnYS1XG.js} +8 -8
- package/core/built/admin/assets/activitypub/activitypub.js +2 -2
- package/core/built/admin/assets/activitypub/{bluesky-sharing-aPMtrS3L.js → bluesky-sharing-DLVeE9ii.js} +31 -31
- package/core/built/admin/assets/activitypub/{content-formatters-BORfuA9G.js → content-formatters-DCsVic-t.js} +2 -2
- package/core/built/admin/assets/activitypub/{dist-ByFmDSNP2.js → dist-ByFmDSNP.js} +1 -1
- package/core/built/admin/assets/activitypub/{domain-CPdiB27_.js → domain-rrvDLfnK.js} +8 -8
- package/core/built/admin/assets/activitypub/{edit-profile-BY2PawIe.js → edit-profile-VT-piVxq.js} +23 -23
- package/core/built/admin/assets/activitypub/{explore-Sp9bgAwq.js → explore-DZg3m48P.js} +14 -14
- package/core/built/admin/assets/activitypub/{feed-BjtF4ohL.js → feed-BJqQvDMI.js} +41 -41
- package/core/built/admin/assets/activitypub/{field-BDOYVTg6.js → field-BezS4-1J.js} +2 -2
- package/core/built/admin/assets/activitypub/inbox-Uf0GVrI_.js +1284 -0
- package/core/built/admin/assets/activitypub/{label-1jhN-qhD.js → label-CZ6if4zK.js} +2 -2
- package/core/built/admin/assets/activitypub/layout-DNuYT4Gu.js +1 -0
- package/core/built/admin/assets/activitypub/moderation-CP6mDVky.js +340 -0
- package/core/built/admin/assets/activitypub/{note-nr_m_5yb.js → note-BlFkye2g.js} +16 -16
- package/core/built/admin/assets/activitypub/{notifications-BdcyivbT.js → notifications-GGTrGEdu.js} +163 -126
- package/core/built/admin/assets/activitypub/{preferences-CNqy1x9C.js → preferences-CjZXrZqr.js} +1550 -1551
- package/core/built/admin/assets/activitypub/{profile-DlY4rhbO.js → profile-CcXYxydm.js} +248 -248
- package/core/built/admin/assets/activitypub/{routes-CEHdEZzS.js → routes-nHCKlZl-.js} +1971 -1747
- package/core/built/admin/assets/activitypub/settings-pDzybcb3.js +315 -0
- package/core/built/admin/assets/activitypub/{site-CtBUCPBz.js → site-BZF0F8LN.js} +101 -101
- package/core/built/admin/assets/activitypub/{step-1-D9jGWyAy.js → step-1-C-Ns1Tfg.js} +3 -3
- package/core/built/admin/assets/activitypub/{step-3-KpUqpGWi.js → step-3-rDMNGmLg.js} +8 -8
- package/core/built/admin/assets/activitypub/{tabs-DvlsxTCI.js → tabs-CDjh3_Jp.js} +198 -198
- package/core/built/admin/assets/activitypub/{topic-filter-CIN1E2jg.js → topic-filter-CmTc8hpN.js} +2 -2
- package/core/built/admin/assets/activitypub/{use-activity-pub-queries-CATFd6YV.js → use-activity-pub-queries-DUDEdSdR.js} +286 -243
- package/core/built/admin/assets/activitypub/{use-reply-chain-data-DJ0vhA8V.js → use-reply-chain-data-TunGtmJl.js} +14 -14
- package/core/built/admin/assets/add-integration-modal-CXRQi1x0.js +1 -0
- package/core/built/admin/assets/add-newsletter-modal-t447KRYz.js +1 -0
- package/core/built/admin/assets/add-recommendation-modal-D882MdnR.js +1 -0
- package/core/built/admin/assets/{analytics-BC2oR8ay.js → analytics-Dj-WlzPf.js} +1 -1
- package/core/built/admin/assets/announcement-bar-modal-CwHKKw-a.js +1 -0
- package/core/built/admin/assets/api-keys-Boy5pLbD.js +1 -0
- package/core/built/admin/assets/audience-Cc40y7zQ.js +1 -0
- package/core/built/admin/assets/automations-DNLK5Udr.js +1 -0
- package/core/built/admin/assets/bluesky-sharing-Cm4aFaOl.js +1 -0
- package/core/built/admin/assets/breadcrumb-CcFr_ltt.js +1 -0
- package/core/built/admin/assets/button-BshWPHvn.js +1 -0
- package/core/built/admin/assets/chart-helpers-BsbzoWhK.js +1 -0
- package/core/built/admin/assets/{checkbox-LmClhqcS.js → checkbox-1G6KfK2q.js} +1 -1
- package/core/built/admin/assets/chunk-KS7C4IRE-DCsL4i4D.js +4 -0
- package/core/built/admin/assets/{chunk.408.1a258af360eb8d905508.js → chunk.301.5673a0caf7c49bb00212.js} +3 -3
- package/core/built/admin/assets/{chunk.524.4c693c3a00ac91df34fa.js → chunk.524.86db0d945468c852374b.js} +4 -4
- package/core/built/admin/assets/{chunk.582.20b600e329e58d12d7c2.js → chunk.582.c2f6216d3c4af303e236.js} +6 -6
- package/core/built/admin/assets/{code-editor-view-DqTOUnbM.js → code-editor-view-BVjtWyst.js} +1 -1
- package/core/built/admin/assets/{code-editor-view-bA0lfxUL.js → code-editor-view-y_zVfmCa.js} +1 -1
- package/core/built/admin/assets/color-picker-XEMPgNJE.js +3 -0
- package/core/built/admin/assets/{color-picker-field-Cv9GOJQZ.js → color-picker-field-BhplXcy5.js} +1 -1
- package/core/built/admin/assets/combobox-CRMJrvcQ.js +1 -0
- package/core/built/admin/assets/command-151T2eRx.js +1 -0
- package/core/built/admin/assets/comments-Bjbl9toF.js +1 -0
- package/core/built/admin/assets/confirmation-context-QmFxSjWy.js +1 -0
- package/core/built/admin/assets/{content-api-modal-BOFWRUkC.js → content-api-modal-CpeABXne.js} +1 -1
- package/core/built/admin/assets/{copy-field-8biQvNMD.js → copy-field-CglgRZyG.js} +1 -1
- package/core/built/admin/assets/custom-field-type-option-DSyJw4T4.js +1 -0
- package/core/built/admin/assets/custom-integration-modal-DWB9bRVp.js +1 -0
- package/core/built/admin/assets/date-range-select-kaKtab5O.js +1 -0
- package/core/built/admin/assets/design-and-theme-modal-86s2AaZ-.js +23 -0
- package/core/built/admin/assets/dirty-confirm-dialog-CTFdXXy7.js +1 -0
- package/core/built/admin/assets/disabled-sources-indicator-BFyCxUOx.js +1 -0
- package/core/built/admin/assets/dist-C1-Oy3Db.js +1 -0
- package/core/built/admin/assets/dist-CJJqYPep.js +1 -0
- package/core/built/admin/assets/dist-CNlMj7ML.js +1 -0
- package/core/built/admin/assets/dist-Kll2twSG.js +1 -0
- package/core/built/admin/assets/domain-BOoMvBG3.js +1 -0
- package/core/built/admin/assets/{dropzone-B21Entqz.js → dropzone-B6KWzsrb.js} +2 -2
- package/core/built/admin/assets/edit-profile-BagrYOrN.js +1 -0
- package/core/built/admin/assets/editor-AaJjqbpk.js +8 -0
- package/core/built/admin/assets/embed-signup-form-modal-B8L95KwR.js +8 -0
- package/core/built/admin/assets/explore-xbykZTlO.js +1 -0
- package/core/built/admin/assets/feed-BAHSipWv.js +1 -0
- package/core/built/admin/assets/{field-BQqLTgHM.js → field-kJYZ2T3C.js} +1 -1
- package/core/built/admin/assets/{filter-sources-FgqoUIL7.js → filter-sources-QeqFGNRB.js} +1 -1
- package/core/built/admin/assets/{filters-D0uIMD8n.js → filters-By5KQeV6.js} +1 -1
- package/core/built/admin/assets/filters-DtYpAkDd.js +1 -0
- package/core/built/admin/assets/first-promoter-modal-8A02oyjA.js +1 -0
- package/core/built/admin/assets/{ghost-ba408063a5922b458b4a8f216cf23251.js → ghost-f110822e67868c9fdf9a6c23754b2559.js} +9 -8
- package/core/built/admin/assets/gift-link-modal-DbYCyuhF.js +1 -0
- package/core/built/admin/assets/global-data-context-gAMDH9u1.js +1 -0
- package/core/built/admin/assets/growth-BSOxJGey.js +3 -0
- package/core/built/admin/assets/growth-BZTjURq5.js +1 -0
- package/core/built/admin/assets/history-modal-CCgWtlZE.js +1 -0
- package/core/built/admin/assets/html-field-BQC7XyLA.js +1 -0
- package/core/built/admin/assets/iframe-buffering-DnOlWTD4.js +1 -0
- package/core/built/admin/assets/{images-3cQgwfTD.js → images-D5UKr2SG.js} +1 -1
- package/core/built/admin/assets/{inbox-Dz_JblyJ.js → inbox-DvN15_YH.js} +45 -39
- package/core/built/admin/assets/index-BJz9Zlsc.js +67 -0
- package/core/built/admin/assets/index-Dg8cdR8E.css +1 -0
- package/core/built/admin/assets/{input-group-DpogNUIt.js → input-group-BPAxETpQ.js} +1 -1
- package/core/built/admin/assets/invite-user-modal-jcUaaNkW.js +1 -0
- package/core/built/admin/assets/{koenig-lexical-2KuqRwZI.js → koenig-lexical-CfXTYeli.js} +1 -1
- package/core/built/admin/assets/koenig-loader-DktFM3Uh.js +1 -0
- package/core/built/admin/assets/{kpi-card-Ck3tT2Wg.js → kpi-card-fUHZlzBX.js} +1 -1
- package/core/built/admin/assets/{kpi-card-DDIxptaS.js → kpi-card-o0urVtNL.js} +1 -1
- package/core/built/admin/assets/kpi-helpers-2FTF4a3-.js +1 -0
- package/core/built/admin/assets/kpi-tabs-B8-_k2dQ.js +1 -0
- package/core/built/admin/assets/{label-DodDsMzn.js → label-CiRS3i_f.js} +1 -1
- package/core/built/admin/assets/label-picker-ao7tuPaK.js +1 -0
- package/core/built/admin/assets/layout-DC6QGDaw.js +1 -0
- package/core/built/admin/assets/member-custom-fields-BW756-EV.js +1 -0
- package/core/built/admin/assets/member-detail-CGGgUTSl.js +1 -0
- package/core/built/admin/assets/members-ZcPthwG0.js +11 -0
- package/core/built/admin/assets/moderation-24bElWs3.js +1 -0
- package/core/built/admin/assets/multi-select-combobox-CZPrgz-Z.js +1 -0
- package/core/built/admin/assets/navigation-modal-BiTP4U_J.js +1 -0
- package/core/built/admin/assets/newsletter-B3Ihwizp.js +1 -0
- package/core/built/admin/assets/newsletter-detail-modal-CYsu4qhl.js +1 -0
- package/core/built/admin/assets/newsletter-emails-CDPR4-SP.js +1 -0
- package/core/built/admin/assets/newsletters-bJiYLJWl.js +1 -0
- package/core/built/admin/assets/note-7f6urVVA.js +1 -0
- package/core/built/admin/assets/notifications-rosQCyXH.js +1 -0
- package/core/built/admin/assets/offers-container-modal-J2j6NpDL.js +1 -0
- package/core/built/admin/assets/onboarding-route-DTjcThKl.js +1 -0
- package/core/built/admin/assets/overview-BxvWzGaf.js +1 -0
- package/core/built/admin/assets/overview-D6JG0hkZ.js +1 -0
- package/core/built/admin/assets/{page-header-VLPJfj_d.js → page-header-l7vXmLIw.js} +1 -1
- package/core/built/admin/assets/pintura-modal-BGHmudVB.js +1 -0
- package/core/built/admin/assets/portal-frame-DVc4VHX_.js +1 -0
- package/core/built/admin/assets/portal-modal-BCOcdiRi.js +1 -0
- package/core/built/admin/assets/{post-analytics-Gv81eN_g.js → post-analytics-CTSZMK6I.js} +1 -1
- package/core/built/admin/assets/post-analytics-header-Dt4RQGq0.js +1 -0
- package/core/built/admin/assets/{post-analytics-provider-O2YjZMhN.js → post-analytics-provider-C4ydiboO.js} +1 -1
- package/core/built/admin/assets/post-share-modal-DjH_a_1L.js +1 -0
- package/core/built/admin/assets/preferences-BLo6VJUS.js +5 -0
- package/core/built/admin/assets/preview-modal-BOgjgsJL.js +1 -0
- package/core/built/admin/assets/profile-DG6iCdRH.js +1 -0
- package/core/built/admin/assets/radio-group-ChHD4EQJ.js +1 -0
- package/core/built/admin/assets/router-provider-Bexg1t-V.js +1 -0
- package/core/built/admin/assets/select-ChxknEcT.js +1 -0
- package/core/built/admin/assets/settings-B0VDAhgV.js +1 -0
- package/core/built/admin/assets/settings-Dwo3CeAD.js +4 -0
- package/core/built/admin/assets/settings-breadcrumbs-sLDNedBW.js +1 -0
- package/core/built/admin/assets/share-modal-BDb2nacg.js +1 -0
- package/core/built/admin/assets/skeleton-D7hwjdry.js +1 -0
- package/core/built/admin/assets/slack-modal-CwNAD69x.js +1 -0
- package/core/built/admin/assets/sort-button-DhqpxkrO.js +1 -0
- package/core/built/admin/assets/source-icon-BPsD5ees.js +1 -0
- package/core/built/admin/assets/stats-WdDJ8c_1.js +1 -0
- package/core/built/admin/assets/stats-view-J3PI2eT_.js +1 -0
- package/core/built/admin/assets/step-1-2q1SjerQ.js +1 -0
- package/core/built/admin/assets/step-2-D5mJB3Uu.js +1 -0
- package/core/built/admin/assets/step-3-BpAuYTGZ.js +2 -0
- package/core/built/admin/assets/{stripe-button-Bh4p6Wud.js → stripe-button-DDoUKN5a.js} +1 -1
- package/core/built/admin/assets/stripe-connect-modal-pMdF3t4S.js +1 -0
- package/core/built/admin/assets/switch-B_1yU3Aw.js +1 -0
- package/core/built/admin/assets/{table-DghJxZMH.js → table-CrqQtkR2.js} +1 -1
- package/core/built/admin/assets/tabs-BhzVdh5p.js +1 -0
- package/core/built/admin/assets/tag-detail-CwJhI4qg.js +2 -0
- package/core/built/admin/assets/tags-CvJ0PgrB.js +1 -0
- package/core/built/admin/assets/testimonials-modal-CV82IAnI.js +1 -0
- package/core/built/admin/assets/tier-detail-modal-pLzCOfeg.js +1 -0
- package/core/built/admin/assets/toggle-group-BW_T4yn6.js +1 -0
- package/core/built/admin/assets/topic-filter-DkXjDejV.js +1 -0
- package/core/built/admin/assets/transistor-modal-TMRvHZ6B.js +1 -0
- package/core/built/admin/assets/unsplash-modal-CV92RdPw.js +1 -0
- package/core/built/admin/assets/{use-analytics-data-IxJcSjc9.js → use-analytics-data-BM_uV9SU.js} +1 -1
- package/core/built/admin/assets/use-check-theme-limit-error-DkBnXMSY.js +1 -0
- package/core/built/admin/assets/use-confirm-unload-SzlkOIpm.js +1 -0
- package/core/built/admin/assets/use-feature-flag-cahOlMva.js +1 -0
- package/core/built/admin/assets/use-filter-params-BX5qf0Cg.js +1 -0
- package/core/built/admin/assets/{use-growth-stats-1NW-8eEZ.js → use-growth-stats-D0LlWBe6.js} +1 -1
- package/core/built/admin/assets/{use-hash-link-navigation-guard-B9j6HIrV.js → use-hash-link-navigation-guard-B_Y3FhYH.js} +1 -1
- package/core/built/admin/assets/use-limiter-D3DHSoAj.js +2 -0
- package/core/built/admin/assets/{use-pintura-config-BjFChXV1.js → use-pintura-config-D63Xu0SG.js} +1 -1
- package/core/built/admin/assets/use-pintura-editor-Z51aFnC8.js +1 -0
- package/core/built/admin/assets/{use-post-referrers-Dp1BnTAK.js → use-post-referrers-Cvymr3gt.js} +1 -1
- package/core/built/admin/assets/use-query-params-BfzuqbcD.js +1 -0
- package/core/built/admin/assets/use-reply-chain-data-Dc18Ujqo.js +1 -0
- package/core/built/admin/assets/use-setting-group-DYRIzqC0.js +1 -0
- package/core/built/admin/assets/use-settings-navigation-aDSLtmEl.js +1 -0
- package/core/built/admin/assets/{use-simple-pagination-DsEGSJhe.js → use-simple-pagination-B2TdNX67.js} +1 -1
- package/core/built/admin/assets/{use-tinybird-query-Ci_DiPkX.js → use-tinybird-query-BvQIVuRc.js} +1 -1
- package/core/built/admin/assets/{use-tinybird-token-CsUwc722.js → use-tinybird-token-COQTPIwL.js} +1 -1
- package/core/built/admin/assets/use-upgrade-route-BZf1g59m.js +1 -0
- package/core/built/admin/assets/{use-url-input-BEZJpVgN.js → use-url-input-PcqZadXa.js} +1 -1
- package/core/built/admin/assets/user-detail-modal-DeO3SAZq.js +1 -0
- package/core/built/admin/assets/{virtual-list-D5ugXyZY.js → virtual-list-D3MfPNOh.js} +1 -1
- package/core/built/admin/assets/web-CDdyG7z1.js +2 -0
- package/core/built/admin/assets/web-CwQ8_QUc.js +1 -0
- package/core/built/admin/assets/zapier-modal-a7t75iNI.js +1 -0
- package/core/built/admin/index.html +15 -12
- package/core/frontend/apps/private-blogging/lib/helpers/input_password.js +2 -1
- package/core/frontend/helpers/body_class.js +2 -1
- package/core/frontend/helpers/cancel_link.js +2 -1
- package/core/frontend/helpers/color_to_rgba.js +2 -1
- package/core/frontend/helpers/content_api_key.js +2 -1
- package/core/frontend/helpers/content_api_url.js +2 -1
- package/core/frontend/helpers/contrast_text_color.js +2 -1
- package/core/frontend/helpers/facebook_url.js +2 -1
- package/core/frontend/helpers/ghost_foot.js +2 -1
- package/core/frontend/helpers/ghost_head.js +2 -1
- package/core/frontend/helpers/has.js +4 -2
- package/core/frontend/helpers/link_class.js +2 -1
- package/core/frontend/helpers/meta_description.js +2 -1
- package/core/frontend/helpers/meta_title.js +2 -1
- package/core/frontend/helpers/navigation.js +113 -22
- package/core/frontend/helpers/page_url.js +2 -1
- package/core/frontend/helpers/post_class.js +2 -1
- package/core/frontend/helpers/reading_time.js +2 -1
- package/core/frontend/helpers/social_accounts.js +2 -1
- package/core/frontend/helpers/social_url.js +2 -1
- package/core/frontend/helpers/total_members.js +2 -1
- package/core/frontend/helpers/total_paid_members.js +2 -1
- package/core/frontend/helpers/tpl/navigation.hbs +1 -1
- package/core/frontend/helpers/twitter_url.js +2 -1
- package/core/frontend/public/cards.manifest.json +1 -1
- package/core/server/api/endpoints/posts.js +7 -4
- package/core/server/api/endpoints/utils/permissions.js +2 -1
- package/core/server/api/endpoints/utils/validators/input/settings.js +83 -1
- package/core/server/data/exporter/table-lists.js +1 -0
- package/core/server/data/importer/handlers/json.js +2 -1
- package/core/server/data/migrations/versions/5.19/2022-09-02-20-52-backfill-new-product-columns.js +2 -1
- package/core/server/data/migrations/versions/5.21/2022-10-26-04-50-member-subscription-created-batch-id.js +4 -2
- package/core/server/data/migrations/versions/5.22/2022-10-31-12-03-backfill-new-product-columns.js +2 -1
- package/core/server/data/migrations/versions/6.58/2026-08-11-21-22-48-rename-email-batches-provider-id.js +1 -1
- package/core/server/data/migrations/versions/6.59/2026-08-18-17-06-46-add-gift-delivery-fields-to-gifts.js +26 -0
- package/core/server/data/migrations/versions/6.59/2026-08-18-17-07-01-add-gift-deliveries.js +20 -0
- package/core/server/data/schema/commands.js +48 -24
- package/core/server/data/schema/schema.js +28 -7
- package/core/server/data/seeders/importers/automation-action-revisions-importer.js +3 -36
- package/core/server/data/seeders/importers/automation-actions-importer.js +5 -41
- package/core/server/data/seeders/importers/automation-run-steps-importer.js +3 -36
- package/core/server/data/seeders/importers/automation-runs-importer.js +7 -42
- package/core/server/data/seeders/importers/automations-importer.js +3 -36
- package/core/server/data/seeders/importers/comment-reports-importer.js +5 -5
- package/core/server/data/seeders/importers/comments-importer.js +5 -5
- package/core/server/data/seeders/importers/email-batches-importer.js +5 -4
- package/core/server/data/seeders/importers/email-recipients-importer.js +12 -20
- package/core/server/data/seeders/importers/emails-importer.js +6 -6
- package/core/server/data/seeders/importers/labels-importer.js +3 -3
- package/core/server/data/seeders/importers/members-click-events-importer.js +5 -5
- package/core/server/data/seeders/importers/members-created-events-importer.js +13 -12
- package/core/server/data/seeders/importers/members-feedback-importer.js +7 -7
- package/core/server/data/seeders/importers/members-importer.js +4 -4
- package/core/server/data/seeders/importers/members-login-events-importer.js +3 -3
- package/core/server/data/seeders/importers/members-products-importer.js +2 -2
- package/core/server/data/seeders/importers/members-status-events-importer.js +4 -3
- package/core/server/data/seeders/importers/members-stripe-customers-importer.js +2 -2
- package/core/server/data/seeders/importers/members-stripe-customers-subscriptions-importer.js +7 -7
- package/core/server/data/seeders/importers/members-subscribe-events-importer.js +3 -3
- package/core/server/data/seeders/importers/members-subscription-created-events-importer.js +3 -3
- package/core/server/data/seeders/importers/offer-redemptions-importer.js +7 -7
- package/core/server/data/seeders/importers/offers-importer.js +3 -3
- package/core/server/data/seeders/importers/posts-importer.js +4 -4
- package/core/server/data/seeders/importers/table-importer.js +2 -35
- package/core/server/data/seeders/importers/tags-importer.js +2 -2
- package/core/server/data/seeders/importers/users-importer.js +2 -2
- package/core/server/data/seeders/importers/web-mentions-importer.js +2 -2
- package/core/server/data/seeders/utils/random.js +7 -0
- package/core/server/ghost-server.js +19 -5
- package/core/server/lib/db-date.js +72 -3
- package/core/server/models/gift-delivery.js +23 -0
- package/core/server/models/gift.js +9 -0
- package/core/server/models/index.js +3 -2
- package/core/server/models/settings.js +43 -4
- package/core/server/services/automations/database-automations-repository.js +38 -31
- package/core/server/services/automations/poll.js +1 -1
- package/core/server/services/content-import/csv/index.js +8 -0
- package/core/server/services/content-import/csv/parse.js +60 -0
- package/core/server/services/content-import/import/importer.js +222 -0
- package/core/server/services/content-import/import/post-data.js +52 -0
- package/core/server/services/content-import/import/reader.js +15 -0
- package/core/server/services/content-import/import/row.js +50 -0
- package/core/server/services/content-import/import/store.js +71 -0
- package/core/server/services/content-import/index.js +67 -0
- package/core/server/services/email-analytics/automation-email-analytics-batch-processor.js +1 -1
- package/core/server/services/email-analytics/index.js +3 -1
- package/core/server/services/email-analytics/jobs/index.js +2 -2
- package/core/server/services/email-service/email-service-wrapper.js +1 -1
- package/core/server/services/email-suppression-list/email-suppression-list.js +4 -2
- package/core/server/services/gifts/CONTEXT.md +27 -3
- package/core/server/services/gifts/README.md +8 -4
- package/core/server/services/gifts/constants.js +2 -1
- package/core/server/services/gifts/email-templates/gift-delivery.hbs +20 -0
- package/core/server/services/gifts/email-templates/gift-delivery.js +39 -0
- package/core/server/services/gifts/email-templates/gift-purchase-confirmation.hbs +2 -2
- package/core/server/services/gifts/email-templates/gift-purchase-confirmation.js +19 -4
- package/core/server/services/gifts/events/send-gift-delivery-event.js +15 -0
- package/core/server/services/gifts/gift-bookshelf-repository.js +23 -3
- package/core/server/services/gifts/gift-checkout-adapter.js +5 -3
- package/core/server/services/gifts/gift-codec.js +8 -0
- package/core/server/services/gifts/gift-delivery-bookshelf-repository.js +107 -0
- package/core/server/services/gifts/gift-delivery-codec.js +12 -0
- package/core/server/services/gifts/gift-delivery-schema.js +15 -0
- package/core/server/services/gifts/gift-delivery-service.js +209 -0
- package/core/server/services/gifts/gift-email-renderer.js +13 -1
- package/core/server/services/gifts/gift-email-service.js +97 -17
- package/core/server/services/gifts/gift-schema.js +10 -6
- package/core/server/services/gifts/gift-service.js +259 -34
- package/core/server/services/gifts/gift.js +59 -5
- package/core/server/services/gifts/index.js +69 -3
- package/core/server/services/lib/mailgun-client.js +5 -2
- package/core/server/services/mail/ghost-mailer.js +9 -1
- package/core/server/services/member-welcome-emails/service.js +6 -1
- package/core/server/services/members/members-api/controllers/router-controller.js +26 -8
- package/core/server/services/stripe/services/webhook/checkout-session-event-service.js +100 -12
- package/core/server/services/stripe/stripe-api.js +3 -2
- package/core/server/services/stripe/webhook-controller.js +6 -3
- package/core/server/services/stripe/webhook-manager.js +2 -0
- package/core/shared/labs.js +1 -0
- package/package.json +9 -8
- package/pnpm-lock.yaml +26 -11
- package/pnpm-workspace.yaml +5 -6
- package/content/themes/source/yarn.lock +0 -6232
- package/core/built/admin/assets/Combination-BDvCdg1t.js +0 -41
- package/core/built/admin/assets/about-B_BvSyLF.js +0 -1
- package/core/built/admin/assets/account-migration-oJUGxnzT.js +0 -1
- package/core/built/admin/assets/activitypub/dist-Dqggkccr.js +0 -215
- package/core/built/admin/assets/activitypub/inbox-z1o2j1Tb.js +0 -1221
- package/core/built/admin/assets/activitypub/layout-BRMezuty.js +0 -1
- package/core/built/admin/assets/activitypub/moderation-CZudJi8N.js +0 -160
- package/core/built/admin/assets/activitypub/settings-CrSV1cux.js +0 -107
- package/core/built/admin/assets/add-integration-modal-BW23PDYs.js +0 -1
- package/core/built/admin/assets/add-newsletter-modal-M0ls8BKO.js +0 -1
- package/core/built/admin/assets/add-recommendation-modal-B0NeBMzl.js +0 -1
- package/core/built/admin/assets/announcement-bar-modal-pXBqjQE_.js +0 -1
- package/core/built/admin/assets/api-keys-Df6uv1dT.js +0 -1
- package/core/built/admin/assets/audience-BY8od8If.js +0 -1
- package/core/built/admin/assets/automations-DCs6Wady.js +0 -1
- package/core/built/admin/assets/bluesky-sharing-D0P42Cws.js +0 -1
- package/core/built/admin/assets/breadcrumb-MTj_cKLb.js +0 -1
- package/core/built/admin/assets/chart-helpers-DcO3k_vA.js +0 -1
- package/core/built/admin/assets/chunk-KS7C4IRE-DG9HTHQ3.js +0 -4
- package/core/built/admin/assets/color-picker-CBlJMv3y.js +0 -3
- package/core/built/admin/assets/combobox-BbPJzjCp.js +0 -1
- package/core/built/admin/assets/command-BrhXIlDr.js +0 -1
- package/core/built/admin/assets/comments-Cu4rD1aJ.js +0 -1
- package/core/built/admin/assets/confirmation-provider-BEdrnHns.js +0 -1
- package/core/built/admin/assets/custom-field-type-option-CNhAgHbJ.js +0 -1
- package/core/built/admin/assets/custom-integration-modal-CrGOI8IB.js +0 -1
- package/core/built/admin/assets/date-range-select-Bsh4gIek.js +0 -1
- package/core/built/admin/assets/design-and-theme-modal-DWZguwWX.js +0 -23
- package/core/built/admin/assets/dirty-confirm-dialog-DmdMpgyN.js +0 -1
- package/core/built/admin/assets/disabled-sources-indicator-BLnmyWgt.js +0 -1
- package/core/built/admin/assets/dist-DMFGvqqU.js +0 -1
- package/core/built/admin/assets/dist-DlCyLrOC.js +0 -1
- package/core/built/admin/assets/dist-j1xxxnY8.js +0 -1
- package/core/built/admin/assets/domain-Dp9TRrFp.js +0 -1
- package/core/built/admin/assets/edit-profile-DG6lpMsr.js +0 -1
- package/core/built/admin/assets/editor-CPQOrhrn.js +0 -8
- package/core/built/admin/assets/embed-signup-form-modal-CgWniDha.js +0 -9
- package/core/built/admin/assets/explore-C3rzONJv.js +0 -1
- package/core/built/admin/assets/feed-DpUwS1cU.js +0 -1
- package/core/built/admin/assets/filters-DZJT29GW.js +0 -1
- package/core/built/admin/assets/first-promoter-modal-DJhQQheG.js +0 -1
- package/core/built/admin/assets/gift-link-modal-sdFLjND9.js +0 -1
- package/core/built/admin/assets/global-data-provider-CixmTX00.js +0 -1
- package/core/built/admin/assets/growth-0YYkBEeS.js +0 -1
- package/core/built/admin/assets/growth-DpjAPeQT.js +0 -3
- package/core/built/admin/assets/history-modal-BWJ4-cJ0.js +0 -1
- package/core/built/admin/assets/html-field-C-oa5DEl.js +0 -1
- package/core/built/admin/assets/iframe-buffering-Ba9sDpi2.js +0 -1
- package/core/built/admin/assets/index-BOJzlYiz.js +0 -67
- package/core/built/admin/assets/index-Bid6LAyc.css +0 -1
- package/core/built/admin/assets/invite-user-modal-DCiQSiuD.js +0 -1
- package/core/built/admin/assets/koenig-editor-base-BApy8Q7C.js +0 -1
- package/core/built/admin/assets/kpi-helpers-ssbuy-hD.js +0 -1
- package/core/built/admin/assets/kpi-tabs-BqoIM6bI.js +0 -1
- package/core/built/admin/assets/label-picker-Cvvbmzb5.js +0 -1
- package/core/built/admin/assets/layout-DkkGyev2.js +0 -1
- package/core/built/admin/assets/member-custom-fields-CvGcpaiW.js +0 -1
- package/core/built/admin/assets/member-detail-CMCMZ47_.js +0 -1
- package/core/built/admin/assets/members-sRl6fNfq.js +0 -11
- package/core/built/admin/assets/moderation-KhKwGqI1.js +0 -1
- package/core/built/admin/assets/multi-select-combobox-nhCff0_K.js +0 -1
- package/core/built/admin/assets/navigation-modal-MDJExWDJ.js +0 -1
- package/core/built/admin/assets/newsletter-BIBHumfV.js +0 -1
- package/core/built/admin/assets/newsletter-detail-modal-CfjBMH3v.js +0 -1
- package/core/built/admin/assets/newsletter-emails-ClDL-7dA.js +0 -1
- package/core/built/admin/assets/newsletters-CBe-IPzK.js +0 -1
- package/core/built/admin/assets/note-HnNUOt4d.js +0 -1
- package/core/built/admin/assets/notifications-Cj5e-258.js +0 -1
- package/core/built/admin/assets/offers-container-modal-BHwHtixC.js +0 -1
- package/core/built/admin/assets/onboarding-route-D_4jp7Nq.js +0 -1
- package/core/built/admin/assets/overview-CezDdg-F.js +0 -1
- package/core/built/admin/assets/overview-D5mM51Lj.js +0 -1
- package/core/built/admin/assets/pintura-modal-BXXJ8Iaa.js +0 -1
- package/core/built/admin/assets/portal-frame-BLCvF8f-.js +0 -1
- package/core/built/admin/assets/portal-modal-DN80tAcy.js +0 -1
- package/core/built/admin/assets/post-analytics-header-_ydSY8qO.js +0 -1
- package/core/built/admin/assets/post-share-modal-CzYak_a5.js +0 -1
- package/core/built/admin/assets/preferences-gneLb6LV.js +0 -5
- package/core/built/admin/assets/preview-modal-Bkq-tgVm.js +0 -1
- package/core/built/admin/assets/profile-CzXmCNTC.js +0 -1
- package/core/built/admin/assets/radio-group-Dsq5ZEbV.js +0 -1
- package/core/built/admin/assets/router-provider-CkB_ArLF.js +0 -1
- package/core/built/admin/assets/select-xuZAuDyS.js +0 -1
- package/core/built/admin/assets/settings-Ct8pabhr.js +0 -1
- package/core/built/admin/assets/settings-KSWWQanQ.js +0 -4
- package/core/built/admin/assets/settings-breadcrumbs-DbPGu-Tu.js +0 -1
- package/core/built/admin/assets/share-modal-CdiUx9WM.js +0 -1
- package/core/built/admin/assets/slack-modal-BP--Z3jE.js +0 -1
- package/core/built/admin/assets/sort-button-CjfKdlsL.js +0 -1
- package/core/built/admin/assets/source-icon-DHj1h6Ts.js +0 -1
- package/core/built/admin/assets/stats-C615kulJ.js +0 -1
- package/core/built/admin/assets/stats-view-BSMRdYiN.js +0 -1
- package/core/built/admin/assets/step-1-pSdGYtIF.js +0 -1
- package/core/built/admin/assets/step-2-T9Uy4eBD.js +0 -1
- package/core/built/admin/assets/step-3-D4uXe_XG.js +0 -2
- package/core/built/admin/assets/stripe-connect-modal-C2vTvepi.js +0 -1
- package/core/built/admin/assets/switch-CE2NuMn-.js +0 -1
- package/core/built/admin/assets/tabs-l9c7FjzI.js +0 -1
- package/core/built/admin/assets/tag-detail-DBw_M2-p.js +0 -2
- package/core/built/admin/assets/tags-DoWsAG6l.js +0 -1
- package/core/built/admin/assets/testimonials-modal-BZKePE2T.js +0 -1
- package/core/built/admin/assets/tier-detail-modal-D65pVWsN.js +0 -1
- package/core/built/admin/assets/toggle-group-uJnl42w3.js +0 -1
- package/core/built/admin/assets/topic-filter-BM7hz0kW.js +0 -1
- package/core/built/admin/assets/transistor-modal-VZOGN3od.js +0 -1
- package/core/built/admin/assets/unsplash-modal-CKGfACxF.js +0 -1
- package/core/built/admin/assets/use-check-theme-limit-error-CGp3CGT5.js +0 -1
- package/core/built/admin/assets/use-feature-flag-CSq2Lwzt.js +0 -1
- package/core/built/admin/assets/use-filter-params-0hcJJuEJ.js +0 -1
- package/core/built/admin/assets/use-limiter-ffwpsZPp.js +0 -2
- package/core/built/admin/assets/use-pintura-editor-Cb41oJyL.js +0 -1
- package/core/built/admin/assets/use-query-params-DHhhu8wi.js +0 -1
- package/core/built/admin/assets/use-reply-chain-data-C0ZUTkfk.js +0 -1
- package/core/built/admin/assets/use-setting-group-Bx8M6FL2.js +0 -1
- package/core/built/admin/assets/use-settings-navigation-BOZcat_V.js +0 -1
- package/core/built/admin/assets/use-upgrade-route-B3_DUiuT.js +0 -1
- package/core/built/admin/assets/user-detail-modal-595z1N5r.js +0 -1
- package/core/built/admin/assets/web-CAta3lRE.js +0 -1
- package/core/built/admin/assets/web-Ds9_wWJK.js +0 -2
- package/core/built/admin/assets/zapier-modal-CcfDZY53.js +0 -1
- package/core/server/data/seeders/utils/database-date.js +0 -28
- package/core/server/services/automations/database-date.js +0 -59
- /package/core/built/admin/assets/{dist-CqO2lWS02.js → dist-CqO2lWS0.js} +0 -0
- /package/core/server/services/{automations → lib}/mailgun-message-id.js +0 -0
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{o as e,r as t}from"./rolldown-runtime-DAXXjFlN.js";import{t as n}from"./react-Bb3IsNbi.js";import{t as r}from"./jsx-runtime-DX3WBWVO.js";import{
|
|
1
|
+
import{o as e,r as t}from"./rolldown-runtime-DAXXjFlN.js";import{t as n}from"./react-Bb3IsNbi.js";import{t as r}from"./jsx-runtime-DX3WBWVO.js";import{h as i}from"./chunk-KS7C4IRE-DCsL4i4D.js";import{s as a}from"./router-provider-Bexg1t-V.js";import{a as o}from"./shade-app-B3heOAfz-BhQXxNkT.js";import{dt as s,jt as c,on as l,t as u}from"./button-BshWPHvn.js";import{t as d}from"./skeleton-D7hwjdry.js";import{t as f}from"./empty-indicator-WB1WgT9h.js";import{$ as p,$t as m,Ar as h,Dr as g,Er as _,Ft as v,Nr as ee,Or as y,Pr as b,Q as x,Qt as S,R as C,U as w,Ut as T,V as E,_t as te,at as D,ct as O,dt as k,en as ne,et as re,ft as A,ir as j,it as ie,jr as ae,jt as oe,lt as se,mt as M,nn as ce,nt as le,ot as ue,pr as N,pt as P,st as de,tn as F,tt as fe,ut as pe,vt as me,wr as I}from"./index-BJz9Zlsc.js";import"./layout-DC6QGDaw.js";import{t as L}from"./topic-filter-DkXjDejV.js";import{i as he,n as ge,r as _e,t as ve}from"./use-reply-chain-data-Dc18Ujqo.js";var R=e(n(),1),z=r(),B=[`1.5rem`,`1.6rem`,`1.7rem`,`1.8rem`,`2rem`],V={BACKGROUND_COLOR:`ghost-ap-background-color`,FONT_SIZE:`ghost-ap-font-size`,FONT_FAMILY:`ghost-ap-font-family`,FONT_STYLE:`ghost-ap-font-style`},H={SYSTEM:{id:`system`,color:`#fff`,background:`bg-white dark:bg-black`,button:`bg-white dark:bg-black`,border:`border-black/[8%] dark:border-gray-950`},SEPIA:{id:`sepia`,color:`#FCF8F1`,background:`bg-[#FCF8F1]`,button:`bg-[#FCF8F1] hover:bg-black/[3%] text-black hover:text-black`,border:`border-black/[8%]`},LIGHT:{id:`light`,color:`#fff`,background:`bg-white`,button:`hover:bg-black/[3%] text-black hover:text-black`,border:`border-black/[8%] dark:border-gray-950`},DARK:{id:`dark`,color:`#15171a`,background:`bg-black`,button:`text-white dark:bg-black dark:hover:bg-gray-900`,border:`border-black/[8%] dark:border-gray-950`}},ye=()=>{let[e,t]=(0,R.useState)(()=>localStorage.getItem(V.BACKGROUND_COLOR)?.toUpperCase()||`SYSTEM`),[n,r]=(0,R.useState)(()=>{let e=localStorage.getItem(V.FONT_SIZE);return e?parseInt(e):2}),[i,a]=(0,R.useState)(()=>localStorage.getItem(V.FONT_STYLE)||`sans`);return(0,R.useEffect)(()=>{localStorage.setItem(V.FONT_SIZE,n.toString())},[n]),(0,R.useEffect)(()=>{localStorage.setItem(V.FONT_STYLE,i)},[i]),{backgroundColor:e,currentFontSizeIndex:n,fontStyle:i,handleColorChange:e=>{t(e),localStorage.setItem(V.BACKGROUND_COLOR,H[e].id)},setFontStyle:a,increaseFontSize:()=>{r(e=>Math.min(e+1,B.length-1))},decreaseFontSize:()=>{r(e=>Math.max(e-1,0))},resetFontSize:()=>r(2),fontSize:B[n]}},be=({backgroundColor:e,currentFontSizeIndex:t,fontStyle:n,onColorChange:r,onFontStyleChange:i,onDecreaseFontSize:a,onIncreaseFontSize:o,onResetFontSize:s,onOpenChange:c})=>(0,z.jsx)(U,{backgroundColor:e,currentFontSizeIndex:t,fontStyle:n,isActiveColor:t=>e===t,isActiveFont:e=>n===e,onColorChange:r,onDecreaseFontSize:a,onFontStyleChange:i,onIncreaseFontSize:o,onOpenChange:c,onResetFontSize:s}),U=({backgroundColor:e,isActiveColor:t,isActiveFont:n,onColorChange:r,onFontStyleChange:i,currentFontSizeIndex:a,onDecreaseFontSize:l,onIncreaseFontSize:d,onResetFontSize:f,onOpenChange:p})=>(0,z.jsxs)(I,{modal:!1,onOpenChange:p,children:[(0,z.jsx)(g,{asChild:!0,children:(0,z.jsx)(u,{"aria-label":`Reading options`,className:`size-9 rounded-full ${H[e].button}`,variant:`ghost`,children:(0,z.jsx)(o.Typography,{className:`size-[18px]!`})})}),(0,z.jsx)(_,{align:`end`,className:`w-[224px]`,onCloseAutoFocus:e=>e.preventDefault(),onOpenAutoFocus:e=>e.preventDefault(),children:(0,z.jsxs)(`div`,{className:`flex flex-col gap-4`,children:[(0,z.jsxs)(`div`,{className:`flex items-center justify-between gap-[6px]`,children:[(0,z.jsx)(u,{className:`h-7 flex-1 rounded-[6px] bg-gray-200 p-0 text-[1.1rem] text-black hover:bg-gray-300 dark:bg-gray-950 dark:text-white dark:hover:bg-gray-900 [&_svg]:size-[14px] ${t(`SYSTEM`)?`outline-2 outline-green`:``}`,variant:`secondary`,onClick:()=>r(`SYSTEM`),children:`Auto`}),(0,z.jsx)(u,{className:`h-7 flex-1 rounded-[6px] bg-[#ece6d9] p-0 hover:bg-[#ece6d9] ${t(`SEPIA`)?`outline-2 outline-green`:`border border-[#ece6d9]`}`,onClick:()=>r(`SEPIA`)}),(0,z.jsx)(u,{className:`h-7 flex-1 rounded-[6px] bg-white p-0 hover:bg-white ${t(`LIGHT`)?`outline-2 outline-green`:`border border-gray-200`}`,onClick:()=>r(`LIGHT`)}),(0,z.jsx)(u,{className:`h-7 flex-1 rounded-[6px] bg-black p-0 hover:bg-black dark:border dark:border-gray-950 ${t(`DARK`)?`outline-2 outline-green`:``}`,onClick:()=>r(`DARK`)})]}),(0,z.jsxs)(`div`,{className:`flex gap-2`,children:[(0,z.jsxs)(u,{className:`flex h-auto w-full flex-col gap-1 rounded-[6px] bg-gray-200 text-black hover:bg-gray-300 dark:bg-gray-950 dark:text-white dark:hover:bg-gray-900 ${n(`sans`)&&`outline-2 outline-green`}`,variant:`secondary`,onClick:()=>i(`sans`),children:[(0,z.jsx)(`span`,{className:`text-[2rem] leading-none font-bold`,children:`Aa`}),(0,z.jsx)(`span`,{className:`text-[1.1rem]`,children:`System`})]}),(0,z.jsxs)(u,{className:`flex h-auto w-full flex-col gap-1 rounded-[6px] bg-gray-200 text-black hover:bg-gray-300 dark:bg-gray-950 dark:text-white dark:hover:bg-gray-900 ${n(`serif`)&&`outline-2 outline-green`}`,variant:`secondary`,onClick:()=>i(`serif`),children:[(0,z.jsx)(`span`,{className:`pt-1 font-serif text-[2rem] leading-none font-bold`,children:`Aa`}),(0,z.jsx)(`span`,{className:`font-serif text-[1.2rem]`,children:`Serif`})]})]}),(0,z.jsxs)(`div`,{className:`flex gap-2`,children:[(0,z.jsx)(u,{"aria-label":`Decrease text size`,className:`h-8 w-full rounded-[6px] bg-gray-200 text-black hover:bg-gray-300 dark:bg-gray-950 dark:text-white dark:hover:bg-gray-900 [&_svg]:size-[14px]`,disabled:a===0,variant:`secondary`,onClick:l,children:(0,z.jsx)(c,{})}),(0,z.jsx)(u,{"aria-label":`Reset text size`,className:`h-8 w-full rounded-[6px] bg-gray-200 text-black hover:bg-gray-300 dark:bg-gray-950 dark:text-white dark:hover:bg-gray-900`,variant:`secondary`,onClick:f,children:(0,z.jsx)(`span`,{className:`text-[1.6rem] font-bold`,children:`Aa`})}),(0,z.jsx)(u,{"aria-label":`Increase text size`,className:`h-8 w-full rounded-[6px] bg-gray-200 text-black hover:bg-gray-300 dark:bg-gray-950 dark:text-white dark:hover:bg-gray-900 [&_svg]:size-[14px]`,disabled:a===B.length-1,variant:`secondary`,onClick:d,children:(0,z.jsx)(s,{})})]})]})})]}),xe=({tocItems:e,iframeElement:t,modalRef:n,className:r=`visible! absolute inset-y-0 right-7 z-40 hidden lg:block!`,onOpenChange:i})=>{let[a,o]=(0,R.useState)(null),s=R.useRef(!1);return(0,R.useEffect)(()=>{if(!t?.contentDocument||e.length<=1)return;let r=n.current;if(!r)return;let i=()=>{if(s.current)return;let n=t.contentDocument;if(!n)return;let i=r.scrollTop,a=e.map(e=>n.getElementById(e.id)).filter(e=>e!==null).map(e=>({id:e.id,top:e.offsetTop}));if(!a.length)return;let c=a.reduce((e,t)=>t.top-100<=i?t:e);o(c?.id||null)},a=()=>{requestAnimationFrame(i)};return r.addEventListener(`scroll`,a),i(),()=>{r.removeEventListener(`scroll`,a)}},[t,e,n]),e.length<=1?null:(0,z.jsx)(`div`,{className:r,children:(0,z.jsx)(`div`,{className:`sticky top-1/2 -translate-y-1/2`,children:(0,z.jsx)(W,{activeHeading:a||``,items:e,onItemClick:e=>{if(!t?.contentDocument)return;let r=t.contentDocument.getElementById(e);r&&n.current&&(s.current=!0,o(e),n.current.scrollTo({top:r.offsetTop-20,behavior:`smooth`}),setTimeout(()=>{s.current=!1},1e3))},onOpenChange:i})})})},Se={1:`w-3`,2:`w-2`,3:`w-1`},Ce={1:`pl-2`,2:`pl-6`,3:`pl-10`},W=({items:e,activeHeading:t,onItemClick:n,onOpenChange:r})=>{let[i,a]=(0,R.useState)(!1),o=R.useRef();if(R.useEffect(()=>()=>{o.current&&clearTimeout(o.current)},[]),e.length===0)return null;let s=e=>Math.min(e,3),c=e=>Se[s(e)],l=e=>Ce[s(e)],u=()=>{o.current&&clearTimeout(o.current),a(!0),r?.(!0)},d=()=>{o.current=setTimeout(()=>{a(!1),r?.(!1)},100)};return(0,z.jsxs)(I,{modal:!1,open:i,onOpenChange:a,children:[(0,z.jsx)(g,{asChild:!0,children:(0,z.jsx)(`div`,{className:`absolute top-1/2 right-2 flex -translate-y-1/2 flex-col items-end gap-2 rounded-md p-2 text-base dark:bg-black`,onMouseEnter:u,onMouseLeave:d,children:e.map(e=>(0,z.jsx)(`div`,{className:`h-[2px] rounded-sm ${t===e.id?`bg-black dark:bg-white`:`bg-gray-400 dark:bg-gray-700`} pr-1 transition-all ${c(e.level)}`},e.id))})}),(0,z.jsx)(_,{align:`center`,className:`w-[240px] p-2`,side:`left`,sideOffset:-28,onCloseAutoFocus:e=>e.preventDefault(),onMouseEnter:u,onMouseLeave:d,onOpenAutoFocus:e=>e.preventDefault(),children:(0,z.jsx)(`nav`,{"aria-label":`Table of contents navigation`,className:`max-h-[60vh] overflow-y-auto`,role:`navigation`,children:e.map(e=>(0,z.jsx)(`button`,{className:`line-clamp-2 block w-full cursor-pointer rounded py-1 text-left text-sm leading-tight ${t===e.id?`text-black dark:text-white`:`text-gray-700 dark:text-gray-600`} hover:bg-gray-100 hover:text-gray-900 dark:hover:bg-grey-950 dark:hover:text-white ${l(e.level)}`,type:`button`,onClick:()=>n(e.id),children:(0,z.jsx)(`span`,{className:`line-clamp-2`,children:e.text})},e.id))})})]})},we=()=>`<style>
|
|
2
2
|
|
|
3
3
|
/* Variables */
|
|
4
4
|
|
|
@@ -583,7 +583,7 @@ html.has-light-text .gh-paid-content-notice {
|
|
|
583
583
|
font-family: var(--font-serif-alt);
|
|
584
584
|
}
|
|
585
585
|
|
|
586
|
-
</style>`,
|
|
586
|
+
</style>`,Te=t({default:()=>Ee}),Ee=`(function() {
|
|
587
587
|
const handleAudioPlayer = function (audioElementContainer) {
|
|
588
588
|
const audioPlayerContainer = audioElementContainer.querySelector('.kg-audio-player-container');
|
|
589
589
|
const playIconContainer = audioElementContainer.querySelector('.kg-audio-play-icon');
|
|
@@ -729,7 +729,7 @@ html.has-light-text .gh-paid-content-notice {
|
|
|
729
729
|
handleAudioPlayer(audioCardElements[i]);
|
|
730
730
|
}
|
|
731
731
|
})();
|
|
732
|
-
`,
|
|
732
|
+
`,De=t({default:()=>Oe}),Oe=`(function() {
|
|
733
733
|
const images = document.querySelectorAll('.kg-gallery-image img');
|
|
734
734
|
images.forEach(function (image) {
|
|
735
735
|
const container = image.closest('.kg-gallery-image');
|
|
@@ -739,7 +739,7 @@ html.has-light-text .gh-paid-content-notice {
|
|
|
739
739
|
container.style.flex = ratio + ' 1 0%';
|
|
740
740
|
})
|
|
741
741
|
})();
|
|
742
|
-
`,
|
|
742
|
+
`,ke=t({default:()=>Ae}),Ae=`(function() {
|
|
743
743
|
const toggleHeadingElements = document.getElementsByClassName("kg-toggle-heading");
|
|
744
744
|
|
|
745
745
|
const toggleFn = function(event) {
|
|
@@ -757,7 +757,7 @@ html.has-light-text .gh-paid-content-notice {
|
|
|
757
757
|
toggleHeadingElements[i].addEventListener('click', toggleFn, false);
|
|
758
758
|
}
|
|
759
759
|
})();
|
|
760
|
-
`,
|
|
760
|
+
`,je=t({default:()=>Me}),Me=`(function() {
|
|
761
761
|
const handleVideoPlayer = function (videoElementContainer) {
|
|
762
762
|
const videoPlayer = videoElementContainer.querySelector('.kg-video-player');
|
|
763
763
|
const videoPlayerContainer = videoElementContainer.querySelector('.kg-video-player-container');
|
|
@@ -999,7 +999,7 @@ html.has-light-text .gh-paid-content-notice {
|
|
|
999
999
|
handleVideoPlayer(videoCardElements[i]);
|
|
1000
1000
|
}
|
|
1001
1001
|
})();
|
|
1002
|
-
`,
|
|
1002
|
+
`,G=t({default:()=>Ne}),Ne=`.kg-audio-card,
|
|
1003
1003
|
.kg-audio-card * {
|
|
1004
1004
|
box-sizing: border-box;
|
|
1005
1005
|
}
|
|
@@ -1331,7 +1331,7 @@ html.has-light-text .gh-paid-content-notice {
|
|
|
1331
1331
|
.kg-audio-player-container input[type="range"]:active::-ms-thumb {
|
|
1332
1332
|
transform: scale(1.2);
|
|
1333
1333
|
}
|
|
1334
|
-
`,
|
|
1334
|
+
`,Pe=t({default:()=>Fe}),Fe=`.kg-blockquote-alt {
|
|
1335
1335
|
font-size: 1.5em;
|
|
1336
1336
|
font-style: italic;
|
|
1337
1337
|
line-height: 1.7em;
|
|
@@ -1354,7 +1354,7 @@ html.has-light-text .gh-paid-content-notice {
|
|
|
1354
1354
|
padding-right: 1.75em;
|
|
1355
1355
|
}
|
|
1356
1356
|
}
|
|
1357
|
-
`,
|
|
1357
|
+
`,Ie=t({default:()=>K}),K=`.kg-bookmark-card,
|
|
1358
1358
|
.kg-bookmark-card * {
|
|
1359
1359
|
box-sizing: border-box;
|
|
1360
1360
|
}
|
|
@@ -1470,7 +1470,7 @@ html.has-light-text .gh-paid-content-notice {
|
|
|
1470
1470
|
left: 0;
|
|
1471
1471
|
border-radius: 0 2px 2px 0;
|
|
1472
1472
|
}
|
|
1473
|
-
`,
|
|
1473
|
+
`,Le=t({default:()=>Re}),Re=`.kg-button-card,
|
|
1474
1474
|
.kg-button-card * {
|
|
1475
1475
|
box-sizing: border-box;
|
|
1476
1476
|
}
|
|
@@ -1509,7 +1509,7 @@ html.has-light-text .gh-paid-content-notice {
|
|
|
1509
1509
|
.kg-button-card a.kg-btn-accent {
|
|
1510
1510
|
background-color: var(--ghost-accent-color);
|
|
1511
1511
|
color: #fff;
|
|
1512
|
-
}`,
|
|
1512
|
+
}`,q=t({default:()=>ze}),ze=`.kg-callout-card,
|
|
1513
1513
|
.kg-callout-card * {
|
|
1514
1514
|
box-sizing: border-box;
|
|
1515
1515
|
}
|
|
@@ -1576,7 +1576,7 @@ html.has-light-text .gh-paid-content-notice {
|
|
|
1576
1576
|
|
|
1577
1577
|
.kg-callout-card + .kg-callout-card {
|
|
1578
1578
|
margin-top: 1em;
|
|
1579
|
-
}`,
|
|
1579
|
+
}`,J=t({default:()=>Y}),Y=`.kg-collection-card {
|
|
1580
1580
|
width: 100%;
|
|
1581
1581
|
margin-top: 6vmin;
|
|
1582
1582
|
}
|
|
@@ -1791,7 +1791,7 @@ p.kg-collection-card-post-excerpt {
|
|
|
1791
1791
|
.kg-collection-card-grid.columns-4 h2.kg-collection-card-post-title {
|
|
1792
1792
|
font-size: 1.7rem;
|
|
1793
1793
|
}
|
|
1794
|
-
}`,
|
|
1794
|
+
}`,Be=t({default:()=>Ve}),Ve=`.kg-cta-card,
|
|
1795
1795
|
.kg-cta-card * {
|
|
1796
1796
|
box-sizing: border-box;
|
|
1797
1797
|
}
|
|
@@ -2043,7 +2043,7 @@ a.kg-cta-button {
|
|
|
2043
2043
|
width: 100%;
|
|
2044
2044
|
}
|
|
2045
2045
|
|
|
2046
|
-
`,
|
|
2046
|
+
`,He=t({default:()=>X}),X=`.kg-file-card,
|
|
2047
2047
|
.kg-file-card * {
|
|
2048
2048
|
box-sizing: border-box;
|
|
2049
2049
|
}
|
|
@@ -2186,7 +2186,7 @@ a.kg-cta-button {
|
|
|
2186
2186
|
.kg-file-card + .kg-file-card {
|
|
2187
2187
|
margin-top: 1em;
|
|
2188
2188
|
}
|
|
2189
|
-
`,
|
|
2189
|
+
`,Ue=t({default:()=>We}),We=`.kg-gallery-card,
|
|
2190
2190
|
.kg-gallery-card * {
|
|
2191
2191
|
box-sizing: border-box;
|
|
2192
2192
|
}
|
|
@@ -2234,7 +2234,7 @@ a.kg-cta-button {
|
|
|
2234
2234
|
--gap: 0.6rem;
|
|
2235
2235
|
}
|
|
2236
2236
|
}
|
|
2237
|
-
`,
|
|
2237
|
+
`,Ge=t({default:()=>Z}),Z=`.kg-header-card,
|
|
2238
2238
|
.kg-header-card * {
|
|
2239
2239
|
box-sizing: border-box;
|
|
2240
2240
|
}
|
|
@@ -2467,7 +2467,7 @@ a.kg-cta-button {
|
|
|
2467
2467
|
font-size: 1em;
|
|
2468
2468
|
}
|
|
2469
2469
|
}
|
|
2470
|
-
`,
|
|
2470
|
+
`,Ke=t({default:()=>qe}),qe=`.kg-header-card.kg-v2 {
|
|
2471
2471
|
position: relative;
|
|
2472
2472
|
padding: 0;
|
|
2473
2473
|
min-height: initial;
|
|
@@ -2729,7 +2729,7 @@ a.kg-cta-button {
|
|
|
2729
2729
|
font-size: 1em;
|
|
2730
2730
|
}
|
|
2731
2731
|
}
|
|
2732
|
-
`,
|
|
2732
|
+
`,Je=t({default:()=>Ye}),Ye=`.kg-nft-card,
|
|
2733
2733
|
.kg-nft-card * {
|
|
2734
2734
|
box-sizing: border-box;
|
|
2735
2735
|
}
|
|
@@ -2823,7 +2823,7 @@ a.kg-cta-button {
|
|
|
2823
2823
|
line-height: 1.4em;
|
|
2824
2824
|
margin: 20px 0 0;
|
|
2825
2825
|
color: #222;
|
|
2826
|
-
}`,
|
|
2826
|
+
}`,Xe=t({default:()=>Ze}),Ze=`.kg-product-card,
|
|
2827
2827
|
.kg-product-card * {
|
|
2828
2828
|
box-sizing: border-box;
|
|
2829
2829
|
}
|
|
@@ -2956,7 +2956,7 @@ a.kg-cta-button {
|
|
|
2956
2956
|
background-color: var(--ghost-accent-color);
|
|
2957
2957
|
color: #fff;
|
|
2958
2958
|
}
|
|
2959
|
-
`,
|
|
2959
|
+
`,Qe=t({default:()=>$e}),$e=`.kg-signup-card {
|
|
2960
2960
|
position: relative;
|
|
2961
2961
|
}
|
|
2962
2962
|
|
|
@@ -3338,7 +3338,7 @@ a.kg-cta-button {
|
|
|
3338
3338
|
font-size: 1em;
|
|
3339
3339
|
}
|
|
3340
3340
|
}
|
|
3341
|
-
`,
|
|
3341
|
+
`,et=t({default:()=>tt}),tt=`.kg-toggle-card,
|
|
3342
3342
|
.kg-toggle-card * {
|
|
3343
3343
|
box-sizing: border-box;
|
|
3344
3344
|
}
|
|
@@ -3435,7 +3435,7 @@ a.kg-cta-button {
|
|
|
3435
3435
|
.kg-toggle-card + .kg-toggle-card {
|
|
3436
3436
|
margin-top: 1em;
|
|
3437
3437
|
}
|
|
3438
|
-
`,
|
|
3438
|
+
`,nt=t({default:()=>rt}),rt=`.kg-transistor-card {
|
|
3439
3439
|
display: flex;
|
|
3440
3440
|
justify-content: center;
|
|
3441
3441
|
}
|
|
@@ -3523,7 +3523,7 @@ a.kg-cta-button {
|
|
|
3523
3523
|
font-size: 1.45rem;
|
|
3524
3524
|
}
|
|
3525
3525
|
}
|
|
3526
|
-
`,
|
|
3526
|
+
`,it=t({default:()=>at}),at=`.kg-video-card,
|
|
3527
3527
|
.kg-video-card * {
|
|
3528
3528
|
box-sizing: border-box;
|
|
3529
3529
|
}
|
|
@@ -3879,17 +3879,17 @@ a.kg-cta-button {
|
|
|
3879
3879
|
transform: scale(1.2);
|
|
3880
3880
|
}
|
|
3881
3881
|
|
|
3882
|
-
`,
|
|
3882
|
+
`,ot=Object.assign({"../../ghost/core/core/frontend/src/cards/js/audio.js":Te,"../../ghost/core/core/frontend/src/cards/js/gallery.js":De,"../../ghost/core/core/frontend/src/cards/js/toggle.js":ke,"../../ghost/core/core/frontend/src/cards/js/video.js":je}),st=Object.assign({"../../ghost/core/core/frontend/src/cards/css/audio.css":G,"../../ghost/core/core/frontend/src/cards/css/blockquote.css":Pe,"../../ghost/core/core/frontend/src/cards/css/bookmark.css":Ie,"../../ghost/core/core/frontend/src/cards/css/button.css":Le,"../../ghost/core/core/frontend/src/cards/css/callout.css":q,"../../ghost/core/core/frontend/src/cards/css/collection.css":J,"../../ghost/core/core/frontend/src/cards/css/cta.css":Be,"../../ghost/core/core/frontend/src/cards/css/file.css":He,"../../ghost/core/core/frontend/src/cards/css/gallery.css":Ue,"../../ghost/core/core/frontend/src/cards/css/header.css":Ge,"../../ghost/core/core/frontend/src/cards/css/header_v2.css":Ke,"../../ghost/core/core/frontend/src/cards/css/nft.css":Je,"../../ghost/core/core/frontend/src/cards/css/product.css":Xe,"../../ghost/core/core/frontend/src/cards/css/signup.css":Qe,"../../ghost/core/core/frontend/src/cards/css/toggle.css":et,"../../ghost/core/core/frontend/src/cards/css/transistor.css":nt,"../../ghost/core/core/frontend/src/cards/css/video.css":it}),ct=Object.values(ot).map(e=>e.default).join(`
|
|
3883
3883
|
|
|
3884
|
-
`),
|
|
3884
|
+
`),lt=Object.values(st).map(e=>e.default).join(`
|
|
3885
3885
|
|
|
3886
|
-
`),
|
|
3887
|
-
<html class="has-${
|
|
3886
|
+
`),Q=`gh-sensitive-media-hidden`,ut=`audio, canvas, embed, iframe, img, object, picture, source, svg, video`,dt=({postUrl:e,heading:t,image:n,excerpt:r,authors:i,html:a,hideMedia:o=!1,backgroundColor:s,fontSize:c,fontStyle:l,onHeadingsExtracted:u,onIframeLoad:f,onLoadingChange:p,isPopoverOpen:m})=>{let h=(0,R.useRef)(null),[g,_]=(0,R.useState)(!0),[v,ee]=(0,R.useState)(`0px`),y=(0,R.useRef)(null),b=document.documentElement.classList.contains(`dark`)&&s===`SYSTEM`||s===`DARK`,x=we(),S=typeof window<`u`&&typeof window.matchMedia==`function`&&window.matchMedia(`(hover: none) and (pointer: coarse)`).matches,C=(0,R.useMemo)(()=>M(P(S?pe(a):a)),[a,S]),w=(0,R.useCallback)(()=>{let e=h.current,t=e?.contentDocument;if(!t)return;t.documentElement.classList.toggle(Q,o);let n=e.contentWindow;n&&typeof n.resizeIframe==`function`&&n.resizeIframe()},[o]),T=`
|
|
3887
|
+
<html class="${o?`${Q} `:``}has-${b?`light`:`dark`}-text has-${l}-body ${s===`SEPIA`&&`has-sepia-bg`}">
|
|
3888
3888
|
<head>
|
|
3889
|
-
${
|
|
3889
|
+
${x}
|
|
3890
3890
|
<style>
|
|
3891
3891
|
:root {
|
|
3892
|
-
--font-size: ${
|
|
3892
|
+
--font-size: ${c};
|
|
3893
3893
|
}
|
|
3894
3894
|
body {
|
|
3895
3895
|
margin: 0;
|
|
@@ -3899,9 +3899,13 @@ a.kg-cta-button {
|
|
|
3899
3899
|
.has-sepia-bg {
|
|
3900
3900
|
--background-color: #FCF8F1;
|
|
3901
3901
|
}
|
|
3902
|
+
.${Q} .gh-article-image,
|
|
3903
|
+
.${Q} .gh-content :is(${ut}) {
|
|
3904
|
+
display: none !important;
|
|
3905
|
+
}
|
|
3902
3906
|
</style>
|
|
3903
3907
|
<style>
|
|
3904
|
-
${
|
|
3908
|
+
${lt}
|
|
3905
3909
|
</style>
|
|
3906
3910
|
|
|
3907
3911
|
<script>
|
|
@@ -3977,14 +3981,14 @@ a.kg-cta-button {
|
|
|
3977
3981
|
</head>
|
|
3978
3982
|
<body>
|
|
3979
3983
|
<header class='gh-article-header gh-canvas'>
|
|
3980
|
-
<h1 class='gh-article-title is-title' data-test-article-heading>${
|
|
3981
|
-
${r?`<p class='gh-article-excerpt'>${
|
|
3982
|
-
<a href="${e&&
|
|
3984
|
+
<h1 class='gh-article-title is-title' data-test-article-heading>${k(t)}</h1>
|
|
3985
|
+
${r?`<p class='gh-article-excerpt'>${k(r)}</p>`:``}
|
|
3986
|
+
<a href="${e&&A(e)?k(e):`#`}" target="_blank" rel="noopener noreferrer" class="gh-article-meta">
|
|
3983
3987
|
${i&&i.length>0?`
|
|
3984
3988
|
<div class="gh-article-author-image">
|
|
3985
3989
|
${i.map(e=>`
|
|
3986
3990
|
<span>
|
|
3987
|
-
${e.profile_image?`<img src="${
|
|
3991
|
+
${e.profile_image?`<img src="${k(e.profile_image)}" alt="${k(e.name)}">`:`<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" height="24" width="24"><path d="M6.75 6a5.25 5.25 0 1 0 10.5 0 5.25 5.25 0 1 0 -10.5 0" fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5"></path><path d="M2.25 23.25a9.75 9.75 0 0 1 19.5 0" fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5"></path></svg>`}
|
|
3988
3992
|
</span>
|
|
3989
3993
|
`).join(``)}
|
|
3990
3994
|
</div>
|
|
@@ -3992,20 +3996,20 @@ a.kg-cta-button {
|
|
|
3992
3996
|
<div class="gh-article-meta-wrapper">
|
|
3993
3997
|
${i&&i.length>0?`
|
|
3994
3998
|
<span class="gh-article-author-name">
|
|
3995
|
-
${i.length>1?`${
|
|
3999
|
+
${i.length>1?`${k(i[0].name)} and ${i.length-1} ${i.length-1==1?`other`:`others`}`:k(i[0].name)}
|
|
3996
4000
|
</span>
|
|
3997
4001
|
`:``}
|
|
3998
|
-
<span class="gh-article-source">${e&&
|
|
4002
|
+
<span class="gh-article-source">${e&&A(e)?k(new URL(e).hostname):``} <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-external-link-icon lucide-external-link"><path d="M15 3h6v6"/><path d="M10 14 21 3"/><path d="M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6"/></svg></span>
|
|
3999
4003
|
</div>
|
|
4000
4004
|
</a>
|
|
4001
4005
|
${n?`
|
|
4002
4006
|
<figure class='gh-article-image'>
|
|
4003
|
-
<img src='${
|
|
4007
|
+
<img src='${k(n)}' alt='${k(t)}' />
|
|
4004
4008
|
</figure>
|
|
4005
4009
|
`:``}
|
|
4006
4010
|
</header>
|
|
4007
4011
|
<div class='gh-content gh-canvas is-body'>
|
|
4008
|
-
${
|
|
4012
|
+
${C}
|
|
4009
4013
|
</div>
|
|
4010
4014
|
<script>
|
|
4011
4015
|
(function () {
|
|
@@ -4021,8 +4025,10 @@ a.kg-cta-button {
|
|
|
4021
4025
|
})();
|
|
4022
4026
|
<\/script>
|
|
4023
4027
|
<script>
|
|
4024
|
-
${
|
|
4028
|
+
${ct}
|
|
4025
4029
|
<\/script>
|
|
4026
4030
|
</body>
|
|
4027
4031
|
</html>
|
|
4028
|
-
`;return(0,B.useEffect)(()=>{let e=p.current;if(!e)return;e.srcdoc||=S;let t=t=>{if(t.data.type===`resize`){let n=`${t.data.bodyHeight+24}px`;_(n),e.style.height=n,t.data.isLoaded&&h(!1)}},n=e=>{if(e.key===`Escape`){e.preventDefault(),e.stopPropagation();let t=new KeyboardEvent(`keydown`,{key:`Escape`,code:`Escape`,keyCode:27,which:27,bubbles:!0,cancelable:!0});document.dispatchEvent(t)}},r=()=>{let t=e.contentWindow;t&&t.addEventListener(`keydown`,n)};return e.addEventListener(`load`,r),window.addEventListener(`message`,t),()=>{window.removeEventListener(`message`,t),e.removeEventListener(`load`,r);let i=e.contentWindow;i&&i.removeEventListener(`keydown`,n)}},[S]),(0,B.useEffect)(()=>{let e=p.current;if(!e)return;let t=e.contentDocument||e.contentWindow?.document;if(!t)return;let n=t.documentElement;n.style.setProperty(`--font-size`,s),n.classList.remove(`has-sans-body`,`has-serif-body`),n.classList.add(`has-${c}-body`),n.classList.remove(`has-dark-text`,`has-light-text`),n.classList.add(`has-${v?`light`:`dark`}-text`),o===`SEPIA`?n.classList.add(`has-sepia-bg`):n.classList.remove(`has-sepia-bg`);let r=e.contentWindow;if(r&&typeof r.resizeIframe==`function`)r.resizeIframe();else{let e=new Event(`resize`);t.dispatchEvent(e)}},[s,c,o,v]),(0,B.useEffect)(()=>{let e=p.current;if(!e)return;let t=()=>{if(!e.contentDocument)return;let t=Array.from(e.contentDocument.querySelectorAll(`.gh-content > :is(h2, h3, h4, h5, h6)[id]`));if(t.length===0)return;let n=Math.min(...t.map(e=>parseInt(e.tagName[1]))),r=t.map((e,t)=>{let r=`heading-${t}`;e.id=r;let i=parseInt(e.tagName[1])-n+1;return{id:r,text:e.textContent||``,level:i,element:e}});l?.(r),u?.(e)};return e.addEventListener(`load`,t),()=>e.removeEventListener(`load`,t)},[l,u]),(0,B.useEffect)(()=>{d?.(m)},[m,d]),(0,V.jsx)(`div`,{className:`w-full pb-6`,children:(0,V.jsxs)(`div`,{className:`relative -mx-6`,children:[m&&(0,V.jsxs)(`div`,{className:`mx-auto mt-6 w-full max-w-[640px] max-lg:px-4`,children:[(0,V.jsxs)(`div`,{className:`mb-6 flex flex-col gap-2`,children:[(0,V.jsx)(N,{className:`h-8`}),(0,V.jsx)(N,{className:`h-8 w-full max-w-md`})]}),(0,V.jsx)(N,{className:`mt-2 h-4`,count:4,randomize:!0}),(0,V.jsx)(N,{className:`mt-8 h-[400px]`}),(0,V.jsx)(N,{className:`mt-2 h-4`,containerClassName:`block mt-7 mb-4`,count:8,randomize:!0})]}),(0,V.jsx)(`iframe`,{ref:p,id:`gh-ap-article-iframe`,style:{width:`100%`,border:`none`,height:g,overflow:`hidden`,opacity:+!m,transition:`opacity 0.2s ease-in-out`,pointerEvents:f?`none`:`auto`},title:`Embedded Content`})]})})},at=()=>(0,V.jsx)(`div`,{className:`h-px bg-black/[8%] dark:bg-gray-950`}),$=new Map,ot=({postId:e=null,onClose:t})=>{let{backgroundColor:n,currentFontSizeIndex:r,fontStyle:i,fontSize:a,handleColorChange:o,setFontStyle:s,increaseFontSize:l,decreaseFontSize:u,resetFontSize:d}=fe(),f=(0,B.useRef)(null),[m,_]=(0,B.useState)(!1),[v,y]=(0,B.useState)(!1),[b,x]=(0,B.useState)(new Set),[S,ee]=(0,B.useState)(new Set),[T,E]=(0,B.useState)(new Set),[D,A]=(0,B.useState)(!1),j=(0,B.useRef)(null),M=(0,B.useRef)(null),{post:P,processedReplies:oe,isLoading:F,loadMoreChildren:I,loadMoreChildReplies:L,hasMoreChildren:R,hasMoreChildReplies:z}=de(e??``,{includeAncestors:!1}),H=P,U=H?.object,G=H?.actor,he=H?.object?.metadata?.ghostAuthors,ge=U?.replyCount??0;(0,B.useEffect)(()=>{if(!R)return;j.current&&j.current.disconnect();let e=f.current;if(e)return j.current=new IntersectionObserver(async e=>{if(e[0].isIntersecting&&R&&!D){A(!0);try{await I()}catch(e){console.error(`Failed to load more top-level replies:`,e)}finally{A(!1)}}},{root:e,rootMargin:`200px`}),M.current&&j.current.observe(M.current),()=>{j.current&&j.current.disconnect()}},[R,D,I]);function K(){}function _e(e){x(t=>{let n=new Set(t);return n.has(e)?n.delete(e):(n.add(e),ee(t=>{let n=new Set(t);return n.add(e),n})),n})}async function ve(e,t){if(!T.has(e)){E(t=>new Set(t).add(e));try{L&&await L(t)}catch(e){console.error(`Failed to load more replies for chain:`,e)}finally{E(t=>{let n=new Set(t);return n.delete(e),n})}}}let ye=()=>{},be=(0,B.useRef)(null),q=`640px`,[xe,Se]=(0,B.useState)(0),[J,Ce]=(0,B.useState)(!0),[Y]=p(Se,100);(0,B.useEffect)(()=>{let e=f.current,t=document.getElementById(`object-content`),n=()=>{if(J||!e||!t)return;let n=t.getBoundingClientRect(),r=e.getBoundingClientRect();if(n.height<=r.height){Y(100);return}let i=Math.max(0,r.top-n.top),a=t.offsetHeight-e.offsetHeight,o=Math.min(Math.max(i/a*100,0),100),s=Math.round(o/1)*1;Y(s)};if(J)return;let r=new MutationObserver(n);return t&&r.observe(t,{childList:!0,subtree:!0,characterData:!0}),e?.addEventListener(`scroll`,n),n(),()=>{e?.removeEventListener(`scroll`,n),r.disconnect()}},[J,Y]);let[X,we]=(0,B.useState)([]),[Te,Ee]=(0,B.useState)(null),[Z,De]=(0,B.useState)(null),Oe=(0,B.useCallback)(e=>{we(e)},[]),ke=(0,B.useCallback)(e=>{De(e)},[]);(0,B.useEffect)(()=>{if(!Z?.contentDocument||!X.length)return;let e=setTimeout(()=>{let e=f.current;if(!e)return;let t=()=>{let t=Z.contentDocument;if(!t||!t.documentElement)return;let n=e.scrollTop,r=X.map(e=>t.getElementById(e.id)).filter(e=>e!==null).map(e=>({element:e,id:e.id,top:e.offsetTop}));if(!r.length)return;let i=null;for(let e of r)if(e.top-100<=n)i=e;else break;Ee(i?.id||null)};return e.addEventListener(`scroll`,t),t(),()=>{e.removeEventListener(`scroll`,t)}},100);return()=>clearTimeout(e)},[Z,X,Te]);let Q=h();return(0,B.useEffect)(()=>{let t=f.current;return()=>{t&&e&&$.set(e,t.scrollTop)}},[e]),(0,B.useEffect)(()=>{if(!J&&!F&&e&&f.current){let t=$.get(e);t!==void 0&&t>0&&setTimeout(()=>{f.current&&(f.current.scrollTop=t)},100)}},[J,F,e]),F?(0,V.jsx)(`div`,{className:`max-h-full overflow-auto rounded-md ${n===`DARK`&&`dark`} ${(n===`LIGHT`||n===`SEPIA`)&&`light`} ${W[n].background}`,children:(0,V.jsx)(`div`,{className:`flex h-full flex-col`,children:(0,V.jsxs)(`div`,{className:`relative flex-1`,children:[(0,V.jsx)(`div`,{className:`sticky top-0 z-50 flex h-[102px] items-center justify-center rounded-t-md border-b max-md:h-[68px] ${W[n].background} ${W[n].border}`,children:(0,V.jsxs)(`div`,{className:`grid w-full px-8 max-lg:px-4`,style:{gridTemplateColumns:`1fr minmax(0,${q}) 1fr`},children:[(0,V.jsx)(`div`,{className:`flex items-center`,children:(0,V.jsx)(ie,{className:W[n].button,onClick:t})}),(0,V.jsxs)(`div`,{className:`col-[2/3] mx-auto flex w-full items-center gap-3 max-md:hidden`,children:[(0,V.jsx)(N,{className:`size-10 rounded-full`}),(0,V.jsxs)(`div`,{className:`grow pt-1`,children:[(0,V.jsx)(N,{className:`w-full`}),(0,V.jsx)(N,{className:`w-2/3`})]})]}),(0,V.jsx)(`div`,{className:`col-[3/4] flex items-center justify-end gap-2`,children:(0,V.jsx)(pe,{backgroundColor:n,currentFontSizeIndex:r,fontStyle:i,onColorChange:o,onDecreaseFontSize:u,onFontStyleChange:s,onIncreaseFontSize:l,onOpenChange:_,onResetFontSize:d})})]})}),(0,V.jsx)(`div`,{className:`relative flex-1 max-lg:px-4`,children:(0,V.jsxs)(`div`,{className:`mx-auto mt-11 w-full max-w-[640px]`,children:[(0,V.jsxs)(`div`,{className:`mb-6 flex flex-col gap-2`,children:[(0,V.jsx)(N,{className:`h-8`}),(0,V.jsx)(N,{className:`h-8 w-full max-w-md`})]}),(0,V.jsx)(N,{className:`mt-2 h-4`,count:4,randomize:!0}),(0,V.jsx)(N,{className:`mt-8 h-[400px]`}),(0,V.jsx)(N,{className:`mt-2 h-4`,containerClassName:`block mt-7 mb-4`,count:8,randomize:!0})]})})]})})}):P?(0,V.jsx)(`div`,{ref:f,className:`max-h-full overflow-auto rounded-md ${n===`DARK`&&`dark`} ${(n===`LIGHT`||n===`SEPIA`)&&`light`} ${W[n].background}`,"data-scrollable-container":!0,children:(0,V.jsx)(V.Fragment,{children:(0,V.jsxs)(`div`,{className:`flex h-full flex-col`,children:[(0,V.jsxs)(`div`,{className:`relative flex-1`,children:[(0,V.jsx)(`div`,{className:`sticky top-0 z-50 flex h-[102px] items-center justify-center rounded-t-md border-b max-md:h-[68px] ${W[n].background} ${W[n].border}`,children:(0,V.jsxs)(`div`,{className:`grid w-full px-8 max-lg:px-4`,style:{gridTemplateColumns:`1fr minmax(0,${q}) 1fr`},children:[(0,V.jsx)(`div`,{className:`flex items-center`,children:(0,V.jsx)(ie,{className:W[n].button,onClick:t})}),(0,V.jsxs)(`div`,{className:`col-[2/3] mx-auto flex w-full items-center justify-between gap-3 max-md:hidden`,children:[(0,V.jsx)(ae,{actor:G,isCurrentUser:U.authored,children:(0,V.jsxs)(`div`,{className:`flex cursor-pointer items-center gap-3`,children:[(0,V.jsx)(`div`,{className:`relative z-10 pt-0.5`,children:(0,V.jsx)(k,{author:G})}),(0,V.jsxs)(`div`,{className:`relative z-10 mt-0.5 flex min-w-0 cursor-pointer flex-col overflow-visible text-[1.5rem]`,onClick:e=>O(G,Q,e),children:[(0,V.jsx)(`div`,{className:`flex w-full`,children:(0,V.jsx)(`span`,{className:`min-w-0 truncate font-semibold whitespace-nowrap text-black hover:underline dark:text-white`,children:F?(0,V.jsx)(N,{className:`w-20`}):G.name})}),(0,V.jsxs)(`div`,{className:`flex w-full`,children:[!F&&(0,V.jsx)(`span`,{className:`truncate text-gray-700 after:mx-1 after:font-normal after:text-gray-700 after:content-["·"]`,children:g(G)}),(0,V.jsx)(`span`,{className:`text-gray-700`,children:F?(0,V.jsx)(N,{className:`w-[120px]`}):c(U,!U.authored)})]})]})]})}),!U.authored&&!F&&(0,V.jsx)(ne,{following:G.followedByMe??!1,handle:g(G)})]}),(0,V.jsx)(`div`,{className:`col-[3/4] flex items-center justify-end gap-2`,children:(0,V.jsx)(pe,{backgroundColor:n,currentFontSizeIndex:r,fontStyle:i,onColorChange:o,onDecreaseFontSize:u,onFontStyleChange:s,onIncreaseFontSize:l,onOpenChange:_,onResetFontSize:d})})]})}),(0,V.jsxs)(`div`,{className:`relative flex-1`,children:[(0,V.jsx)(me,{iframeElement:Z,modalRef:f,tocItems:X,onOpenChange:y}),!F&&(0,V.jsx)(`div`,{className:`grow overflow-y-auto`,children:(0,V.jsxs)(`div`,{className:`mx-auto px-6 pt-5 pb-10`,style:{maxWidth:`904px`},children:[(0,V.jsxs)(`div`,{className:`flex flex-col items-center pb-8`,id:`object-content`,children:[(0,V.jsx)(it,{authors:he,backgroundColor:n,excerpt:U.summary??``,fontSize:a,fontStyle:i,heading:U.name,html:U.content??``,image:typeof U.image==`string`?U.image:U.image?.url,isPopoverOpen:m||v,postUrl:U?.url||``,onHeadingsExtracted:Oe,onIframeLoad:ke,onLoadingChange:Ce}),(0,V.jsx)(`div`,{className:`-ml-3 w-full`,style:{maxWidth:q},children:(0,V.jsx)(re,{actor:G,commentCount:ge,layout:`modal`,likeCount:U.likeCount??0,object:U,repostCount:U.repostCount??0,onLikeClick:ye})})]}),U.type===`Tombstone`&&(0,V.jsx)(ue,{last:!0}),(0,V.jsxs)(`div`,{className:`mx-auto w-full border-t border-black/[8%] dark:border-gray-950`,style:{maxWidth:q},children:[(0,V.jsx)(ce,{object:U}),(0,V.jsx)(at,{})]}),F&&(0,V.jsx)(te,{size:`lg`}),(0,V.jsxs)(`div`,{ref:be,className:`mx-auto w-full`,style:{maxWidth:q},children:[oe.map((t,n)=>{let r=n===oe.length-1,i=t.mainReply.id,a=b.has(i),o=S.has(i),s=T.has(i),c=t.chain.length>0;return(0,V.jsxs)(B.Fragment,{children:[(0,V.jsx)(w,{actor:t.mainReply.actor,allowDelete:t.mainReply.object.authored,commentCount:t.mainReply.object.replyCount??0,isChainParent:c,isPending:C(t.mainReply.id),last:!c,layout:`reply`,likeCount:t.mainReply.object.likeCount??0,object:t.mainReply.object,parentId:U.id,repostCount:t.mainReply.object.repostCount??0,type:`Note`,onClick:()=>{let n=f.current;n&&e&&$.set(e,n.scrollTop),Q(`/notes/${encodeURIComponent(t.mainReply.id)}`)},onDelete:K}),c&&t.chain[0]&&(0,V.jsx)(w,{actor:t.chain[0].actor,allowDelete:t.chain[0].object.authored,commentCount:t.chain[0].object.replyCount??0,isChainContinuation:!0,isPending:C(t.chain[0].id),last:t.chain.length===1,layout:`reply`,likeCount:t.chain[0].object.likeCount??0,object:t.chain[0].object,parentId:U.id,repostCount:t.chain[0].object.repostCount??0,type:`Note`,onClick:()=>{let n=f.current;n&&e&&$.set(e,n.scrollTop),Q(`/notes/${encodeURIComponent(t.chain[0].id)}`)},onDelete:K},t.chain[0].id),c&&a&&t.chain.slice(1).map((r,i)=>{let a=i===t.chain.slice(1).length-1,o=z&&z(n),s=a&&o;return(0,V.jsx)(w,{actor:r.actor,allowDelete:r.object.authored,commentCount:r.object.replyCount??0,isChainContinuation:!0,isPending:C(r.id),last:a&&!s,layout:`reply`,likeCount:r.object.likeCount??0,object:r.object,parentId:U.id,repostCount:r.object.repostCount??0,type:`Note`,onClick:()=>{let t=f.current;t&&e&&$.set(e,t.scrollTop),Q(`/notes/${encodeURIComponent(r.id)}`)},onDelete:K},r.id)}),c&&t.chain.length>1&&!a&&(0,V.jsx)(le,{variant:`expand`,onClick:()=>_e(i)}),c&&a&&o&&z&&z(n)&&(0,V.jsx)(le,{loading:s,variant:`loadMore`,onClick:()=>ve(i,n)}),!r&&(0,V.jsx)(at,{})]},t.mainReply.id)}),D&&(0,V.jsx)(`div`,{className:`flex flex-col items-center justify-center text-center`,children:(0,V.jsx)(te,{size:`md`})})]}),R&&(0,V.jsx)(`div`,{ref:M,className:`h-1`})]})})]})]}),!F&&(0,V.jsxs)(`div`,{className:`pointer-events-none visible! sticky bottom-0 hidden items-end justify-between px-10 pb-[42px] lg:flex!`,children:[(0,V.jsx)(`div`,{className:`pointer-events-auto text-gray-600`,children:se(U.content??``)}),(0,V.jsxs)(`div`,{className:`pointer-events-auto min-w-10 text-right text-gray-600 transition-all duration-200 ease-out`,children:[xe,`%`]},xe)]})]})})}):(0,V.jsx)(`div`,{className:`max-h-full overflow-auto rounded-md ${n===`DARK`&&`dark`} ${(n===`LIGHT`||n===`SEPIA`)&&`light`} ${W[n].background}`,children:(0,V.jsx)(`div`,{className:`flex h-full flex-col`,children:(0,V.jsx)(`div`,{className:`relative flex-1`,children:(0,V.jsx)(`div`,{className:`sticky top-0 z-50 flex h-[102px] items-center justify-center rounded-t-md border-b max-md:h-[68px] ${W[n].background} ${W[n].border}`,children:(0,V.jsxs)(`div`,{className:`grid w-full px-8 max-lg:px-4`,style:{gridTemplateColumns:`1fr minmax(0,${q}) 1fr`},children:[(0,V.jsx)(`div`,{className:`flex items-center`,children:(0,V.jsx)(ie,{className:W[n].button,onClick:t})}),(0,V.jsx)(`div`,{className:`col-[2/3] mx-auto flex w-full items-center gap-3 max-md:hidden`,children:(0,V.jsx)(`div`,{className:`grow text-center`,children:(0,V.jsx)(`span`,{children:`Error loading article.`})})})]})})})})})},st=({isLoading:e,activities:t,currentTopic:n,fetchNextPage:r,hasNextPage:o,isFetchingNextPage:c,onTopicChange:d})=>{let f=h(),{canGoBack:p,goBack:g}=a(),[_,S]=(0,B.useState)(!1),T=i(),{topicsQuery:E}=m(),{data:D}=E,ne=D&&D.topics.length>0;(0,B.useEffect)(()=>{S(!!T.postId)},[T.postId]);let O=(0,B.useRef)(null),k=(0,B.useRef)(null),A=(0,B.useRef)(null);(0,B.useEffect)(()=>(O.current&&O.current.disconnect(),O.current=new IntersectionObserver(e=>{e[0].isIntersecting&&o&&!c&&r()}),k.current&&O.current.observe(k.current),A.current&&O.current.observe(A.current),()=>{O.current&&O.current.disconnect()}),[o,c,r]);let j=Math.max(0,Math.floor(t.length*.75)-1);return(0,V.jsxs)(l,{children:[ne&&(0,V.jsx)(z,{currentTopic:n,excludeTopics:[`top`],onTopicChange:d}),(0,V.jsx)(`div`,{className:`flex w-full flex-col`,children:(0,V.jsx)(`div`,{className:`w-full`,children:t.length>0?(0,V.jsx)(`div`,{className:`my-4`,children:(0,V.jsx)(`div`,{className:`mx-auto flex min-h-[calc(100dvh_-_117px)] items-start gap-11`,children:(0,V.jsx)(`div`,{className:`flex w-full min-w-0 flex-col items-center`,children:(0,V.jsxs)(`div`,{className:`flex w-full min-w-0 flex-col items-start`,children:[(0,V.jsxs)(`ul`,{className:`mx-auto flex w-full flex-col`,"data-testid":`inbox-list`,children:[t.map((n,r)=>(0,V.jsxs)(`li`,{"data-testid":`inbox-item`,"data-test-view-article":!0,children:[(0,V.jsx)(w,{actor:n.actor,allowDelete:n.object.authored,commentCount:n.object.replyCount??0,isLoading:e,isPending:C(n.id),layout:`inbox`,likeCount:n.object.likeCount??0,object:n.object,repostCount:n.object.repostCount??0,type:n.type,onClick:()=>{f(`/reader/${encodeURIComponent(n.id)}`)}}),r<t.length-1&&(0,V.jsx)(ee,{}),r===j&&(0,V.jsx)(`div`,{ref:k,className:`h-1`})]},`${n.id}-${n.type}-${r}`)),c&&(0,V.jsx)(`li`,{className:`flex flex-col items-center justify-center gap-4 text-center`,children:(0,V.jsx)(te,{size:`md`})})]}),(0,V.jsx)(`div`,{ref:A,className:`h-1`})]})})})}):n===`following`?(0,V.jsx)(`div`,{className:`mt-[24vh]`,children:(0,V.jsx)(s,{actions:ne?(0,V.jsx)(y,{onClick:()=>f(`/explore`),children:`Find accounts to follow →`}):(0,V.jsx)(y,{asChild:!0,children:(0,V.jsx)(`a`,{href:`https://explore.ghost.org/social-web`,rel:`noopener noreferrer`,target:`_blank`,children:`Find accounts to follow →`})}),description:`Start following publishers to see their long-form posts here.`,title:`Your Reader is empty`,children:(0,V.jsx)(F,{})})}):(0,V.jsx)(`div`,{className:`mt-[24vh]`,children:(0,V.jsx)(s,{description:`Explore other topics for more content.`,title:`Nothing here yet`,children:(0,V.jsx)(F,{})})})})}),(0,V.jsx)(b,{open:_,onOpenChange:e=>{e||(p?g():f(`/reader`)),S(e)},children:(0,V.jsxs)(L,{className:`inset-y-3 h-[calc(100vh-24px)] w-screen max-w-[calc(100vw-24px)] animate-none! p-0 focus:outline-hidden dark:bg-gray-950`,children:[(0,V.jsxs)(u,{className:`hidden`,children:[(0,V.jsx)(v,{children:`Reader`}),(0,V.jsx)(x,{children:`Ghost reader for long form articles`})]}),T.postId&&(0,V.jsx)(ot,{postId:T.postId,onClose:()=>{p?g():f(`/reader`)}})]})})]})},ct=()=>{let[e,t]=(0,B.useState)(`following`),{inboxQuery:n}=M({enabled:e===`following`}),{discoveryFeedQuery:r}=S({enabled:e!==`following`,topic:e}),{data:i,error:a,fetchNextPage:o,hasNextPage:s,isFetchingNextPage:c,isLoading:l}=e===`following`?n:r,u=a&&f(a)&&a.statusCode===404&&e!==`following`;return a&&f(a)&&!u?(0,V.jsx)(_,{errorCode:a.code,statusCode:a.statusCode}):(0,V.jsx)(st,{activities:u?[]:i?.pages.flatMap(e=>e.posts)??Array.from({length:5},(e,t)=>({id:`placeholder-${t}`,object:{}})),currentTopic:e,fetchNextPage:o,hasNextPage:s,isFetchingNextPage:c,isLoading:l,onTopicChange:t})};export{ct as default};
|
|
4032
|
+
`;return(0,R.useEffect)(()=>{let a=h.current;if(!a)return;let o=e=>{if(e.data.type===`resize`){let t=`${e.data.bodyHeight+24}px`;ee(t),a.style.height=t,e.data.isLoaded&&(w(),_(!1))}},s=e=>{if(e.key===`Escape`){e.preventDefault(),e.stopPropagation();let t=new KeyboardEvent(`keydown`,{key:`Escape`,code:`Escape`,keyCode:27,which:27,bubbles:!0,cancelable:!0});document.dispatchEvent(t)}},c=()=>{let e=a.contentWindow;e&&e.addEventListener(`keydown`,s),w()};a.addEventListener(`load`,c),window.addEventListener(`message`,o);let l=[C,t,r??``,n??``,e??``,(i??[]).map(e=>`${e.name}\0${e.profile_image}`).join(`
|
|
4033
|
+
`)].join(`
|
|
4034
|
+
`);return y.current!==l&&(y.current=l,_(!0),a.srcdoc=T),()=>{window.removeEventListener(`message`,o),a.removeEventListener(`load`,c);let e=a.contentWindow;e&&e.removeEventListener(`keydown`,s)}},[C,i,r,t,T,n,e,w]),(0,R.useEffect)(()=>{w()},[w]),(0,R.useEffect)(()=>{let e=h.current;if(!e)return;let t=e.contentDocument||e.contentWindow?.document;if(!t)return;let n=t.documentElement;n.style.setProperty(`--font-size`,c),n.classList.remove(`has-sans-body`,`has-serif-body`),n.classList.add(`has-${l}-body`),n.classList.remove(`has-dark-text`,`has-light-text`),n.classList.add(`has-${b?`light`:`dark`}-text`),s===`SEPIA`?n.classList.add(`has-sepia-bg`):n.classList.remove(`has-sepia-bg`);let r=e.contentWindow;if(r&&typeof r.resizeIframe==`function`)r.resizeIframe();else{let e=new Event(`resize`);t.dispatchEvent(e)}},[c,l,s,b]),(0,R.useEffect)(()=>{let e=h.current;if(!e)return;let t=()=>{if(!e.contentDocument)return;let t=Array.from(e.contentDocument.querySelectorAll(`.gh-content > :is(h2, h3, h4, h5, h6)[id]`));if(t.length===0)return;let n=Math.min(...t.map(e=>parseInt(e.tagName[1]))),r=t.map((e,t)=>{let r=`heading-${t}`;e.id=r;let i=parseInt(e.tagName[1])-n+1;return{id:r,text:e.textContent||``,level:i,element:e}});u?.(r),f?.(e)};return e.addEventListener(`load`,t),()=>e.removeEventListener(`load`,t)},[u,f]),(0,R.useEffect)(()=>{p?.(g)},[g,p]),(0,z.jsx)(`div`,{className:`w-full pb-6`,children:(0,z.jsxs)(`div`,{className:`relative -mx-6`,children:[g&&(0,z.jsxs)(`div`,{className:`mx-auto mt-6 w-full max-w-[640px] max-lg:px-4`,children:[(0,z.jsxs)(`div`,{className:`mb-6 flex flex-col gap-2`,children:[(0,z.jsx)(d,{className:`h-8`}),(0,z.jsx)(d,{className:`h-8 w-full max-w-md`})]}),(0,z.jsx)(d,{className:`mt-2 h-4`,count:4,randomize:!0}),(0,z.jsx)(d,{className:`mt-8 h-[400px]`}),(0,z.jsx)(d,{className:`mt-2 h-4`,containerClassName:`block mt-7 mb-4`,count:8,randomize:!0})]}),(0,z.jsx)(`iframe`,{ref:h,id:`gh-ap-article-iframe`,style:{width:`100%`,border:`none`,height:v,overflow:`hidden`,opacity:+!g,transition:`opacity 0.2s ease-in-out`,pointerEvents:m?`none`:`auto`},title:`Embedded Content`})]})})},ft=()=>(0,z.jsx)(`div`,{className:`h-px bg-black/[8%] dark:bg-gray-950`});function pt(e){return new DOMParser().parseFromString(e,`text/html`).querySelector(ut)!==null}var $=new Map,mt=({postId:e=null,onClose:t})=>{let{backgroundColor:n,currentFontSizeIndex:r,fontStyle:i,fontSize:a,handleColorChange:o,setFontStyle:s,increaseFontSize:c,decreaseFontSize:l,resetFontSize:u}=ye(),f=(0,R.useRef)(null),[m,h]=(0,R.useState)(!1),[g,_]=(0,R.useState)(!1),[v,ee]=(0,R.useState)(new Set),[y,b]=(0,R.useState)(new Set),[C,T]=(0,R.useState)(new Set),[E,k]=(0,R.useState)(!1),A=(0,R.useRef)(null),j=(0,R.useRef)(null),{post:ae,processedReplies:oe,isLoading:M,loadMoreChildren:P,loadMoreChildReplies:pe,hasMoreChildren:I,hasMoreChildReplies:L}=ve(e??``,{includeAncestors:!1}),B=ae,V=B?.object,U=B?.actor,Se=B?.object?.metadata?.ghostAuthors,Ce=V?.replyCount??0,W=V?.content??``,we=typeof V?.image==`string`?V.image:V?.image?.url,Te=(0,R.useMemo)(()=>pt(W),[W]),{contentWarning:Ee,shouldHideContentWarning:De,shouldHideSensitiveMedia:Oe,canHideSensitiveMedia:ke,revealSensitiveMedia:Ae,hideSensitiveMedia:je,revealContentWarning:Me}=ie({contentWarning:V?.contentWarning,sensitive:V?.sensitive,hasMedia:!!we||(V?le(V)!==null:!1)||Te,resetKey:e??void 0});(0,R.useEffect)(()=>{if(!I)return;A.current&&A.current.disconnect();let e=f.current;if(e)return A.current=new IntersectionObserver(async e=>{if(e[0].isIntersecting&&I&&!E){k(!0);try{await P()}catch(e){console.error(`Failed to load more top-level replies:`,e)}finally{k(!1)}}},{root:e,rootMargin:`200px`}),j.current&&A.current.observe(j.current),()=>{A.current&&A.current.disconnect()}},[I,E,P]);function G(){}function Ne(e){ee(t=>{let n=new Set(t);return n.has(e)?n.delete(e):(n.add(e),b(t=>{let n=new Set(t);return n.add(e),n})),n})}async function Pe(e,t){if(!C.has(e)){T(t=>new Set(t).add(e));try{pe&&await pe(t)}catch(e){console.error(`Failed to load more replies for chain:`,e)}finally{T(t=>{let n=new Set(t);return n.delete(e),n})}}}let Fe=()=>{},Ie=(0,R.useRef)(null),K=`640px`,[Le,Re]=(0,R.useState)(0),[q,ze]=(0,R.useState)(!0),[J]=w(Re,100);(0,R.useEffect)(()=>{let e=f.current,t=document.getElementById(`object-content`),n=()=>{if(q||!e||!t)return;let n=t.getBoundingClientRect(),r=e.getBoundingClientRect();if(n.height<=r.height){J(100);return}let i=Math.max(0,r.top-n.top),a=t.offsetHeight-e.offsetHeight,o=Math.min(Math.max(i/a*100,0),100),s=Math.round(o/1)*1;J(s)};if(q)return;let r=new MutationObserver(n);return t&&r.observe(t,{childList:!0,subtree:!0,characterData:!0}),e?.addEventListener(`scroll`,n),n(),()=>{e?.removeEventListener(`scroll`,n),r.disconnect()}},[q,J]);let[Y,Be]=(0,R.useState)([]),[Ve,He]=(0,R.useState)(null),[X,Ue]=(0,R.useState)(null),We=(0,R.useCallback)(e=>{Be(e)},[]),Ge=(0,R.useCallback)(e=>{Ue(e)},[]);(0,R.useEffect)(()=>{if(!X?.contentDocument||!Y.length)return;let e=setTimeout(()=>{let e=f.current;if(!e)return;let t=()=>{let t=X.contentDocument;if(!t||!t.documentElement)return;let n=e.scrollTop,r=Y.map(e=>t.getElementById(e.id)).filter(e=>e!==null).map(e=>({element:e,id:e.id,top:e.offsetTop}));if(!r.length)return;let i=null;for(let e of r)if(e.top-100<=n)i=e;else break;He(i?.id||null)};return e.addEventListener(`scroll`,t),t(),()=>{e.removeEventListener(`scroll`,t)}},100);return()=>clearTimeout(e)},[X,Y,Ve]);let Z=ce();return(0,R.useEffect)(()=>{let t=f.current;return()=>{t&&e&&$.set(e,t.scrollTop)}},[e]),(0,R.useEffect)(()=>{if(!q&&!M&&e&&f.current){let t=$.get(e);t!==void 0&&t>0&&setTimeout(()=>{f.current&&(f.current.scrollTop=t)},100)}},[q,M,e]),M?(0,z.jsx)(`div`,{className:`max-h-full overflow-auto rounded-md ${n===`DARK`&&`dark`} ${(n===`LIGHT`||n===`SEPIA`)&&`light`} ${H[n].background}`,children:(0,z.jsx)(`div`,{className:`flex h-full flex-col`,children:(0,z.jsxs)(`div`,{className:`relative flex-1`,children:[(0,z.jsx)(`div`,{className:`sticky top-0 z-50 flex h-[102px] items-center justify-center rounded-t-md border-b max-md:h-[68px] ${H[n].background} ${H[n].border}`,children:(0,z.jsxs)(`div`,{className:`grid w-full px-8 max-lg:px-4`,style:{gridTemplateColumns:`1fr minmax(0,${K}) 1fr`},children:[(0,z.jsx)(`div`,{className:`flex items-center`,children:(0,z.jsx)(F,{className:H[n].button,onClick:t})}),(0,z.jsxs)(`div`,{className:`col-[2/3] mx-auto flex w-full items-center gap-3 max-md:hidden`,children:[(0,z.jsx)(d,{className:`size-10 rounded-full`}),(0,z.jsxs)(`div`,{className:`grow pt-1`,children:[(0,z.jsx)(d,{className:`w-full`}),(0,z.jsx)(d,{className:`w-2/3`})]})]}),(0,z.jsx)(`div`,{className:`col-[3/4] flex items-center justify-end gap-2`,children:(0,z.jsx)(be,{backgroundColor:n,currentFontSizeIndex:r,fontStyle:i,onColorChange:o,onDecreaseFontSize:l,onFontStyleChange:s,onIncreaseFontSize:c,onOpenChange:h,onResetFontSize:u})})]})}),(0,z.jsx)(`div`,{className:`relative flex-1 max-lg:px-4`,children:(0,z.jsxs)(`div`,{className:`mx-auto mt-11 w-full max-w-[640px]`,children:[(0,z.jsxs)(`div`,{className:`mb-6 flex flex-col gap-2`,children:[(0,z.jsx)(d,{className:`h-8`}),(0,z.jsx)(d,{className:`h-8 w-full max-w-md`})]}),(0,z.jsx)(d,{className:`mt-2 h-4`,count:4,randomize:!0}),(0,z.jsx)(d,{className:`mt-8 h-[400px]`}),(0,z.jsx)(d,{className:`mt-2 h-4`,containerClassName:`block mt-7 mb-4`,count:8,randomize:!0})]})})]})})}):ae?(0,z.jsx)(`div`,{ref:f,className:`max-h-full overflow-auto rounded-md ${n===`DARK`&&`dark`} ${(n===`LIGHT`||n===`SEPIA`)&&`light`} ${H[n].background}`,"data-scrollable-container":!0,children:(0,z.jsx)(z.Fragment,{children:(0,z.jsxs)(`div`,{className:`flex h-full flex-col`,children:[(0,z.jsxs)(`div`,{className:`relative flex-1`,children:[(0,z.jsx)(`div`,{className:`sticky top-0 z-50 flex h-[102px] items-center justify-center rounded-t-md border-b max-md:h-[68px] ${H[n].background} ${H[n].border}`,children:(0,z.jsxs)(`div`,{className:`grid w-full px-8 max-lg:px-4`,style:{gridTemplateColumns:`1fr minmax(0,${K}) 1fr`},children:[(0,z.jsx)(`div`,{className:`flex items-center`,children:(0,z.jsx)(F,{className:H[n].button,onClick:t})}),(0,z.jsxs)(`div`,{className:`col-[2/3] mx-auto flex w-full items-center justify-between gap-3 max-md:hidden`,children:[(0,z.jsx)(se,{actor:U,isCurrentUser:V.authored,children:(0,z.jsxs)(`div`,{className:`flex cursor-pointer items-center gap-3`,children:[(0,z.jsx)(`div`,{className:`relative z-10 pt-0.5`,children:(0,z.jsx)(me,{author:U})}),(0,z.jsxs)(`div`,{className:`relative z-10 mt-0.5 flex min-w-0 cursor-pointer flex-col overflow-visible text-[1.5rem]`,onClick:e=>ue(U,Z,e),children:[(0,z.jsx)(`div`,{className:`flex w-full`,children:(0,z.jsx)(`span`,{className:`min-w-0 truncate font-semibold whitespace-nowrap text-black hover:underline dark:text-white`,children:M?(0,z.jsx)(d,{className:`w-20`}):U.name})}),(0,z.jsxs)(`div`,{className:`flex w-full`,children:[!M&&(0,z.jsx)(`span`,{className:`truncate text-gray-700 after:mx-1 after:font-normal after:text-gray-700 after:content-["·"]`,children:ne(U)}),(0,z.jsx)(`span`,{className:`text-gray-700`,children:M?(0,z.jsx)(d,{className:`w-[120px]`}):D(V,!V.authored)})]})]})]})}),!V.authored&&!M&&(0,z.jsx)(te,{following:U.followedByMe??!1,handle:ne(U)})]}),(0,z.jsx)(`div`,{className:`col-[3/4] flex items-center justify-end gap-2`,children:(0,z.jsx)(be,{backgroundColor:n,currentFontSizeIndex:r,fontStyle:i,onColorChange:o,onDecreaseFontSize:l,onFontStyleChange:s,onIncreaseFontSize:c,onOpenChange:h,onResetFontSize:u})})]})}),(0,z.jsxs)(`div`,{className:`relative flex-1`,children:[(0,z.jsx)(xe,{iframeElement:X,modalRef:f,tocItems:Y,onOpenChange:_}),!M&&(0,z.jsx)(`div`,{className:`grow overflow-y-auto`,children:(0,z.jsxs)(`div`,{className:`mx-auto px-6 pt-5 pb-10`,style:{maxWidth:`904px`},children:[(0,z.jsxs)(`div`,{className:`flex flex-col items-center pb-8`,id:`object-content`,children:[De&&Ee?(0,z.jsx)(x,{className:`w-full`,label:Ee,onReveal:Me}):(0,z.jsxs)(z.Fragment,{children:[Oe&&(0,z.jsx)(fe,{className:`w-full`,onReveal:Ae}),ke&&(0,z.jsx)(`div`,{className:`mb-3 flex w-full justify-end`,children:(0,z.jsx)(re,{layout:`inline`,onHide:je})}),(0,z.jsx)(`div`,{className:`w-full`,children:(0,z.jsx)(dt,{authors:Se,backgroundColor:n,excerpt:V.summary??``,fontSize:a,fontStyle:i,heading:V.name,hideMedia:Oe,html:W,image:we,isPopoverOpen:m||g,postUrl:V?.url||``,onHeadingsExtracted:We,onIframeLoad:Ge,onLoadingChange:ze})})]}),(0,z.jsx)(`div`,{className:`-ml-3 w-full`,style:{maxWidth:K},children:(0,z.jsx)(O,{actor:U,commentCount:Ce,layout:`modal`,likeCount:V.likeCount??0,object:V,repostCount:V.repostCount??0,onLikeClick:Fe})})]}),V.type===`Tombstone`&&(0,z.jsx)(_e,{last:!0}),(0,z.jsxs)(`div`,{className:`mx-auto w-full border-t border-black/[8%] dark:border-gray-950`,style:{maxWidth:K},children:[(0,z.jsx)(he,{object:V}),(0,z.jsx)(ft,{})]}),M&&(0,z.jsx)(N,{size:`lg`}),(0,z.jsxs)(`div`,{ref:Ie,className:`mx-auto w-full`,style:{maxWidth:K},children:[oe.map((t,n)=>{let r=n===oe.length-1,i=t.mainReply.id,a=v.has(i),o=y.has(i),s=C.has(i),c=t.chain.length>0;return(0,z.jsxs)(R.Fragment,{children:[(0,z.jsx)(p,{actor:t.mainReply.actor,allowDelete:t.mainReply.object.authored,commentCount:t.mainReply.object.replyCount??0,isChainParent:c,isPending:S(t.mainReply.id),last:!c,layout:`reply`,likeCount:t.mainReply.object.likeCount??0,object:t.mainReply.object,parentId:V.id,repostCount:t.mainReply.object.repostCount??0,type:`Note`,onClick:()=>{let n=f.current;n&&e&&$.set(e,n.scrollTop),Z(`/notes/${encodeURIComponent(t.mainReply.id)}`)},onDelete:G}),c&&t.chain[0]&&(0,z.jsx)(p,{actor:t.chain[0].actor,allowDelete:t.chain[0].object.authored,commentCount:t.chain[0].object.replyCount??0,isChainContinuation:!0,isPending:S(t.chain[0].id),last:t.chain.length===1,layout:`reply`,likeCount:t.chain[0].object.likeCount??0,object:t.chain[0].object,parentId:V.id,repostCount:t.chain[0].object.repostCount??0,type:`Note`,onClick:()=>{let n=f.current;n&&e&&$.set(e,n.scrollTop),Z(`/notes/${encodeURIComponent(t.chain[0].id)}`)},onDelete:G},t.chain[0].id),c&&a&&t.chain.slice(1).map((r,i)=>{let a=i===t.chain.slice(1).length-1,o=L&&L(n),s=a&&o;return(0,z.jsx)(p,{actor:r.actor,allowDelete:r.object.authored,commentCount:r.object.replyCount??0,isChainContinuation:!0,isPending:S(r.id),last:a&&!s,layout:`reply`,likeCount:r.object.likeCount??0,object:r.object,parentId:V.id,repostCount:r.object.repostCount??0,type:`Note`,onClick:()=>{let t=f.current;t&&e&&$.set(e,t.scrollTop),Z(`/notes/${encodeURIComponent(r.id)}`)},onDelete:G},r.id)}),c&&t.chain.length>1&&!a&&(0,z.jsx)(ge,{variant:`expand`,onClick:()=>Ne(i)}),c&&a&&o&&L&&L(n)&&(0,z.jsx)(ge,{loading:s,variant:`loadMore`,onClick:()=>Pe(i,n)}),!r&&(0,z.jsx)(ft,{})]},t.mainReply.id)}),E&&(0,z.jsx)(`div`,{className:`flex flex-col items-center justify-center text-center`,children:(0,z.jsx)(N,{size:`md`})})]}),I&&(0,z.jsx)(`div`,{ref:j,className:`h-1`})]})})]})]}),!M&&(0,z.jsxs)(`div`,{className:`pointer-events-none visible! sticky bottom-0 hidden items-end justify-between px-10 pb-[42px] lg:flex!`,children:[(0,z.jsx)(`div`,{className:`pointer-events-auto text-gray-600`,children:de(V.content??``)}),(0,z.jsxs)(`div`,{className:`pointer-events-auto min-w-10 text-right text-gray-600 transition-all duration-200 ease-out`,children:[Le,`%`]},Le)]})]})})}):(0,z.jsx)(`div`,{className:`max-h-full overflow-auto rounded-md ${n===`DARK`&&`dark`} ${(n===`LIGHT`||n===`SEPIA`)&&`light`} ${H[n].background}`,children:(0,z.jsx)(`div`,{className:`flex h-full flex-col`,children:(0,z.jsx)(`div`,{className:`relative flex-1`,children:(0,z.jsx)(`div`,{className:`sticky top-0 z-50 flex h-[102px] items-center justify-center rounded-t-md border-b max-md:h-[68px] ${H[n].background} ${H[n].border}`,children:(0,z.jsxs)(`div`,{className:`grid w-full px-8 max-lg:px-4`,style:{gridTemplateColumns:`1fr minmax(0,${K}) 1fr`},children:[(0,z.jsx)(`div`,{className:`flex items-center`,children:(0,z.jsx)(F,{className:H[n].button,onClick:t})}),(0,z.jsx)(`div`,{className:`col-[2/3] mx-auto flex w-full items-center gap-3 max-md:hidden`,children:(0,z.jsx)(`div`,{className:`grow text-center`,children:(0,z.jsx)(`span`,{children:`Error loading article.`})})})]})})})})})},ht=({isLoading:e,activities:t,currentTopic:n,fetchNextPage:r,hasNextPage:o,isFetchingNextPage:s,onTopicChange:c})=>{let d=ce(),{canGoBack:m,goBack:g}=a(),[_,v]=(0,R.useState)(!1),x=i(),{topicsQuery:C}=T(),{data:w}=C,te=w&&w.topics.length>0;(0,R.useEffect)(()=>{v(!!x.postId)},[x.postId]);let D=(0,R.useRef)(null),O=(0,R.useRef)(null),k=(0,R.useRef)(null);(0,R.useEffect)(()=>(D.current&&D.current.disconnect(),D.current=new IntersectionObserver(e=>{e[0].isIntersecting&&o&&!s&&r()}),O.current&&D.current.observe(O.current),k.current&&D.current.observe(k.current),()=>{D.current&&D.current.disconnect()}),[o,s,r]);let ne=Math.max(0,Math.floor(t.length*.75)-1);return(0,z.jsxs)(E,{children:[te&&(0,z.jsx)(L,{currentTopic:n,excludeTopics:[`top`],onTopicChange:c}),(0,z.jsx)(`div`,{className:`flex w-full flex-col`,children:(0,z.jsx)(`div`,{className:`w-full`,children:t.length>0?(0,z.jsx)(`div`,{className:`my-4`,children:(0,z.jsx)(`div`,{className:`mx-auto flex min-h-[calc(100dvh_-_117px)] items-start gap-11`,children:(0,z.jsx)(`div`,{className:`flex w-full min-w-0 flex-col items-center`,children:(0,z.jsxs)(`div`,{className:`flex w-full min-w-0 flex-col items-start`,children:[(0,z.jsxs)(`ul`,{className:`mx-auto flex w-full flex-col`,"data-testid":`inbox-list`,children:[t.map((n,r)=>(0,z.jsxs)(`li`,{"data-testid":`inbox-item`,"data-test-view-article":!0,children:[(0,z.jsx)(p,{actor:n.actor,allowDelete:n.object.authored,commentCount:n.object.replyCount??0,isLoading:e,isPending:S(n.id),layout:`inbox`,likeCount:n.object.likeCount??0,object:n.object,repostCount:n.object.repostCount??0,type:n.type,onClick:()=>{d(`/reader/${encodeURIComponent(n.id)}`)}}),r<t.length-1&&(0,z.jsx)(j,{}),r===ne&&(0,z.jsx)(`div`,{ref:O,className:`h-1`})]},`${n.id}-${n.type}-${r}`)),s&&(0,z.jsx)(`li`,{className:`flex flex-col items-center justify-center gap-4 text-center`,children:(0,z.jsx)(N,{size:`md`})})]}),(0,z.jsx)(`div`,{ref:k,className:`h-1`})]})})})}):n===`following`?(0,z.jsx)(`div`,{className:`mt-[24vh]`,children:(0,z.jsx)(f,{actions:te?(0,z.jsx)(u,{onClick:()=>d(`/explore`),children:`Find accounts to follow →`}):(0,z.jsx)(u,{asChild:!0,children:(0,z.jsx)(`a`,{href:`https://explore.ghost.org/social-web`,rel:`noopener noreferrer`,target:`_blank`,children:`Find accounts to follow →`})}),description:`Start following publishers to see their long-form posts here.`,title:`Your Reader is empty`,children:(0,z.jsx)(l,{})})}):(0,z.jsx)(`div`,{className:`mt-[24vh]`,children:(0,z.jsx)(f,{description:`Explore other topics for more content.`,title:`Nothing here yet`,children:(0,z.jsx)(l,{})})})})}),(0,z.jsx)(y,{open:_,onOpenChange:e=>{e||(m?g():d(`/reader`)),v(e)},children:(0,z.jsxs)(h,{className:`inset-y-3 h-[calc(100vh-24px)] w-screen max-w-[calc(100vw-24px)] animate-none! p-0 focus:outline-hidden dark:bg-gray-950`,children:[(0,z.jsxs)(ee,{className:`hidden`,children:[(0,z.jsx)(b,{children:`Reader`}),(0,z.jsx)(ae,{children:`Ghost reader for long form articles`})]}),x.postId&&(0,z.jsx)(mt,{postId:x.postId,onClose:()=>{m?g():d(`/reader`)}})]})})]})},gt=()=>{let[e,t]=(0,R.useState)(`following`),{inboxQuery:n}=v({enabled:e===`following`}),{discoveryFeedQuery:r}=oe({enabled:e!==`following`,topic:e}),{data:i,error:a,fetchNextPage:o,hasNextPage:s,isFetchingNextPage:c,isLoading:l}=e===`following`?n:r,u=a&&m(a)&&a.statusCode===404&&e!==`following`;return a&&m(a)&&!u?(0,z.jsx)(C,{errorCode:a.code,statusCode:a.statusCode}):(0,z.jsx)(ht,{activities:u?[]:i?.pages.flatMap(e=>e.posts)??Array.from({length:5},(e,t)=>({id:`placeholder-${t}`,object:{}})),currentTopic:e,fetchNextPage:o,hasNextPage:s,isFetchingNextPage:c,isLoading:l,onTopicChange:t})};export{gt as default};
|