ghost 6.61.0 → 6.63.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/ghost-storage-base-3.0.0.tgz +0 -0
- package/components/tryghost-adapter-base-cache-0.2.0.tgz +0 -0
- package/components/tryghost-adapter-base-jobs-0.0.0.tgz +0 -0
- package/components/tryghost-adapter-base-redirects-0.0.0.tgz +0 -0
- package/components/tryghost-adapter-base-route-settings-0.0.0.tgz +0 -0
- package/components/tryghost-adapter-base-scheduling-0.2.3.tgz +0 -0
- package/components/tryghost-adapter-base-sso-0.1.3.tgz +0 -0
- package/components/tryghost-admin-api-schema-0.0.0.tgz +0 -0
- package/components/tryghost-checkout-0.0.0.tgz +0 -0
- package/components/tryghost-i18n-0.0.0.tgz +0 -0
- package/components/tryghost-kg-card-factory-5.2.4.tgz +0 -0
- package/components/tryghost-kg-clean-basic-html-4.3.4.tgz +0 -0
- package/components/tryghost-kg-converters-1.2.5.tgz +0 -0
- package/components/tryghost-kg-default-cards-10.3.5.tgz +0 -0
- package/components/tryghost-kg-default-nodes-2.2.1.tgz +0 -0
- package/components/tryghost-kg-default-transforms-1.3.4.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/components/tryghost-kg-markdown-html-renderer-7.2.4.tgz +0 -0
- package/components/tryghost-kg-utils-1.1.4.tgz +0 -0
- package/components/tryghost-limit-service-0.0.0.tgz +0 -0
- package/components/tryghost-metafield-types-0.0.0.tgz +0 -0
- package/components/tryghost-nql-string-0.0.0.tgz +0 -0
- package/components/tryghost-parse-email-address-0.0.0.tgz +0 -0
- package/content/settings/README.md +1 -1
- package/content/themes/casper/.gitignore +28 -0
- package/content/themes/casper/assets/built/casper.js +1 -1
- package/content/themes/casper/assets/built/screen.css +1 -1
- package/content/themes/casper/assets/css/screen.css +2 -1
- package/content/themes/casper/assets/js/lightbox.js +63 -46
- package/content/themes/casper/package.json +6 -6
- package/content/themes/casper/page.hbs +1 -0
- package/content/themes/casper/post.hbs +1 -0
- package/content/themes/source/.gitignore +28 -0
- package/content/themes/source/assets/built/screen.css +1 -1
- package/content/themes/source/assets/built/source.js +1 -1
- package/content/themes/source/assets/css/screen.css +2 -1
- package/content/themes/source/assets/js/lightbox.js +62 -45
- package/content/themes/source/assets/js/main.js +2 -2
- package/content/themes/source/package.json +4 -4
- package/content/themes/source/partials/feature-image.hbs +1 -0
- package/content/themes/source/partials/post-card.hbs +1 -1
- package/core/boot.js +61 -27
- package/core/built/admin/assets/Combination-B0l4MKVh.js +41 -0
- package/core/built/admin/assets/InterVariable-DiVDrmQJ.woff2 +0 -0
- package/core/built/admin/assets/InterVariable-Italic-FCBEiFp6.woff2 +0 -0
- package/core/built/admin/assets/{about-Bve7IJS2.js → about-C1C3s5-g.js} +1 -1
- package/core/built/admin/assets/accordion-CxGsDKwa.js +1 -0
- package/core/built/admin/assets/account-migration-CbUhW6gk.js +1 -0
- package/core/built/admin/assets/activitypub/{account-migration-C-aej4x_.js → account-migration-KA6Jjf9L.js} +16 -16
- package/core/built/admin/assets/activitypub/activitypub.js +9 -9
- package/core/built/admin/assets/activitypub/{avatar-DLPL3Abs.js → avatar-DVJF5bxP.js} +2 -2
- package/core/built/admin/assets/activitypub/{avatar-flipboard-C9iDY-QV.js → avatar-flipboard-csQaNeYK.js} +2 -2
- package/core/built/admin/assets/activitypub/{bluesky-sharing-BXkA5mqV.js → bluesky-sharing-C7nTDMvw.js} +37 -37
- package/core/built/admin/assets/activitypub/{content-formatters-CHcyMFk4.js → content-formatters-CLcjaBwV.js} +4 -4
- package/core/built/admin/assets/activitypub/{copy-DIAOQoCZ.js → copy-DcOh8kXw.js} +2 -2
- package/core/built/admin/assets/activitypub/{domain-B3ihkPde.js → domain-fZ-X8i4-.js} +121 -121
- package/core/built/admin/assets/activitypub/{edit-profile-DsZM3rTX.js → edit-profile-BqMLQV88.js} +40 -40
- package/core/built/admin/assets/activitypub/{explore-BodNrZgR.js → explore-B4yPoP8E.js} +27 -27
- package/core/built/admin/assets/activitypub/{feed-PwH1iJ84.js → feed-BRC_mvAe.js} +51 -51
- package/core/built/admin/assets/activitypub/{field-D06-kmOJ.js → field-COacNgOt.js} +3 -3
- package/core/built/admin/assets/activitypub/{hash-Bm3WxYN4.js → hash-C7u-irQQ.js} +2 -2
- package/core/built/admin/assets/activitypub/inbox-BW-yvUoN.js +1284 -0
- package/core/built/admin/assets/activitypub/{inbox-d8oJRTf4.js → inbox-CbTTdDQ3.js} +2 -2
- package/core/built/admin/assets/activitypub/label-kPMmYI7l.js +16 -0
- package/core/built/admin/assets/activitypub/layout-BL4_jtuV.js +1 -0
- package/core/built/admin/assets/activitypub/{moderation-D1Yapsod.js → moderation-CuidJzc0.js} +91 -91
- package/core/built/admin/assets/activitypub/{note-C5zjqq5C.js → note-CAMRRSqD.js} +24 -24
- package/core/built/admin/assets/activitypub/{notifications-B9p8eCHD.js → notifications-BmNlXGgp.js} +51 -51
- package/core/built/admin/assets/activitypub/{onboarding-CNelD_uF.js → onboarding-Bqg7fh_L.js} +2 -2
- package/core/built/admin/assets/activitypub/{onboarding-mat5Hrl0.js → onboarding-Dmun9jr_.js} +2 -2
- package/core/built/admin/assets/activitypub/{preferences-BCqUdC3v.js → preferences--oH19wf9.js} +1519 -1519
- package/core/built/admin/assets/activitypub/{profile-BRCWoFem.js → profile-DH_tQx2D.js} +185 -185
- package/core/built/admin/assets/activitypub/{reply-DYK5vVqb.js → reply-Cap9PxSH.js} +2 -2
- package/core/built/admin/assets/activitypub/{routes-BSXT992i.js → routes-DdyY9uFF.js} +744 -735
- package/core/built/admin/assets/activitypub/{separator-BbQqTm-p.js → separator-CAxxu8VV.js} +3 -3
- package/core/built/admin/assets/activitypub/settings-B6EEcVkW.js +315 -0
- package/core/built/admin/assets/activitypub/{site-DHoMupSB.js → site-BYps63oh.js} +2 -2
- package/core/built/admin/assets/activitypub/{step-1-B-YfsVeO.js → step-1-CKjR2KAm.js} +6 -6
- package/core/built/admin/assets/activitypub/{step-2-DtPQzlTH.js → step-2-B6PKfOUQ.js} +6 -6
- package/core/built/admin/assets/activitypub/{step-3-D6BFMXL_.js → step-3-C-qBbcUo.js} +11 -11
- package/core/built/admin/assets/activitypub/{tabs-GpNecvfB.js → tabs-DLhZtVde.js} +306 -306
- package/core/built/admin/assets/activitypub/{topic-filter-BPDeQQys.js → topic-filter-DsUOuu0k.js} +3 -3
- package/core/built/admin/assets/activitypub/{use-activity-pub-queries-BoVOxXkV.js → use-activity-pub-queries-CX9snsLs.js} +3 -3
- package/core/built/admin/assets/activitypub/{use-navigate-with-base-path-Bmk5h4lW.js → use-navigate-with-base-path-DsJTGDSS.js} +988 -959
- package/core/built/admin/assets/activitypub/{use-reply-chain-data-wVBX7swM.js → use-reply-chain-data-AJi9zkzm.js} +30 -30
- package/core/built/admin/assets/activitypub/{users-CoX6FT_K.js → users-inweyKL5.js} +192 -164
- package/core/built/admin/assets/activitypub/{x-DbQZOLiI.js → x-DR8AT3-4.js} +2 -2
- package/core/built/admin/assets/add-integration-modal-BT_onDJy.js +1 -0
- package/core/built/admin/assets/add-newsletter-modal-Cx1kQpiY.js +1 -0
- package/core/built/admin/assets/add-recommendation-modal-B5nvAhvr.js +1 -0
- package/core/built/admin/assets/analytics-DjoJWPI7.js +1 -0
- package/core/built/admin/assets/{announcement-bar-modal-DM3cYOpo.js → announcement-bar-modal-Dwd0EGFP.js} +1 -1
- package/core/built/admin/assets/{api-keys-3-0vJC3Y.js → api-keys-BGPzLHzA.js} +1 -1
- package/core/built/admin/assets/{api-keys-BLm2NDBh.js → api-keys-BoeacM-s.js} +1 -1
- package/core/built/admin/assets/{audience-9mwU5TW6.js → audience-ceV3XVHq.js} +1 -1
- package/core/built/admin/assets/automated-emails-BLesE41L.js +1 -0
- package/core/built/admin/assets/{automations-sAcJ1334.js → automations-BN4u3GR8.js} +1 -1
- package/core/built/admin/assets/automations-C-ZTUwW3.js +1 -0
- package/core/built/admin/assets/bluesky-sharing-vzh-oPXL.js +1 -0
- package/core/built/admin/assets/{breadcrumb-DLiqCyFc.js → breadcrumb-CaLk2b7D.js} +1 -1
- package/core/built/admin/assets/{button-B2jcu6bk.js → button-Dvcv1QSR.js} +1 -1
- package/core/built/admin/assets/calendar-Bl9RLcZX.js +1 -0
- package/core/built/admin/assets/{chart-helpers-Fo3bUL3K.js → chart-helpers-FHywU0pj.js} +1 -1
- package/core/built/admin/assets/{checkbox-BfKktMph.js → checkbox-BtayFtjg.js} +1 -1
- package/core/built/admin/assets/chunk.254.035b85ec456ebbd7336b.js +440 -0
- package/core/built/admin/assets/{chunk.524.60ca4692d91c6022042f.js → chunk.524.e6975095fccdf22d90f8.js} +5 -5
- package/core/built/admin/assets/{chunk.582.525c7617c2d9e94c940a.js → chunk.582.98b485f9b2802f540897.js} +6 -6
- package/core/built/admin/assets/{chunk.492.f24d855d7e3f3aad261c.js → chunk.901.4ccc639821020230bcca.js} +9949 -7921
- package/core/built/admin/assets/{code-editor-view-DCQJxsfU.js → code-editor-view-C3ZfoF1X.js} +1 -1
- package/core/built/admin/assets/{code-editor-view-CYVu4EW6.js → code-editor-view-CAyRWy1s.js} +1 -1
- package/core/built/admin/assets/color-picker-G4kGR7rp.js +3 -0
- package/core/built/admin/assets/color-picker-field-DQFVTNnT.js +1 -0
- package/core/built/admin/assets/combobox-BnYzgEB4.js +1 -0
- package/core/built/admin/assets/command-C_vyTikI.js +1 -0
- package/core/built/admin/assets/comments-aBrxfnZf.js +1 -0
- package/core/built/admin/assets/{config-DOMQDZGZ.js → config-kSHvwdTG.js} +1 -1
- package/core/built/admin/assets/confirmation-context-DwXX_Y5h.js +1 -0
- package/core/built/admin/assets/{content-api-modal-CyQEC3fr.js → content-api-modal-D2G0nJP6.js} +1 -1
- package/core/built/admin/assets/context-menu-DOVB6yaz.js +1 -0
- package/core/built/admin/assets/{copy-field-B3M1s78L.js → copy-field-DCJwh9qf.js} +1 -1
- package/core/built/admin/assets/create-ghost-browse-value-source-5C53jJaX.js +1 -0
- package/core/built/admin/assets/custom-field-type-option-BAuW0F-E.js +1 -0
- package/core/built/admin/assets/custom-integration-modal-AbJGVyKc.js +1 -0
- package/core/built/admin/assets/{date-range-select-DD2RKkgB.js → date-range-select-BY3K-ukj.js} +1 -1
- package/core/built/admin/assets/design-and-theme-modal-BvEy4_pC.js +2 -0
- package/core/built/admin/assets/dirty-confirm-dialog-DVPuGz3U.js +1 -0
- package/core/built/admin/assets/{disabled-sources-indicator-Cvy47bE2.js → disabled-sources-indicator-Cy7Zp4c8.js} +1 -1
- package/core/built/admin/assets/dist-Dcsslyo72.js +1 -0
- package/core/built/admin/assets/domain-Dl61QGuk.js +1 -0
- package/core/built/admin/assets/dropzone-Dtz5Rmjt.js +5 -0
- package/core/built/admin/assets/edit-profile-DNJSMDwm.js +1 -0
- package/core/built/admin/assets/editor-DbAen9zf.js +8 -0
- package/core/built/admin/assets/editor-screen-BFWThIai.js +26 -0
- package/core/built/admin/assets/email-sending-status-context-CWDOD1FN.js +1 -0
- package/core/built/admin/assets/email-sending-status-provider-DCPkDICt.js +1 -0
- package/core/built/admin/assets/emails-vFMk4yYl.js +1 -0
- package/core/built/admin/assets/{embed-signup-form-modal-DeBMLxlL.js → embed-signup-form-modal-DGqsORxS.js} +1 -1
- package/core/built/admin/assets/en-B1jX3WMs.js +1 -0
- package/core/built/admin/assets/explore-nnRr1Fja.js +1 -0
- package/core/built/admin/assets/feature-flag-overrides-context-DQjdJFAk.js +1 -0
- package/core/built/admin/assets/feature-image-placeholder-BrIHmPs8.js +1 -0
- package/core/built/admin/assets/feed-BNUcNu-W.js +1 -0
- package/core/built/admin/assets/feedback-DJ4Zb9rZ.js +1 -0
- package/core/built/admin/assets/{field-Cj8lmDOo.js → field-C93_Mg6j.js} +1 -1
- package/core/built/admin/assets/filter-bar-Da1qxybu.js +1 -0
- package/core/built/admin/assets/filter-sources-CGJb4C5r.js +1 -0
- package/core/built/admin/assets/filters--kKP-EC8.js +1 -0
- package/core/built/admin/assets/filters-DxA_a4FP.js +1 -0
- package/core/built/admin/assets/first-promoter-modal-BYDtrz2S.js +1 -0
- package/core/built/admin/assets/focus-koenig-editor-on-bottom-click-BbSnGOtK.js +1 -0
- package/core/built/admin/assets/{ghost-c8807202a07c20030acb719ee0114815.css → ghost-8fd5bb799356bbefb254210ba7e1236d.css} +1 -1
- package/core/built/admin/assets/{ghost-3894eedcc6968f658578c0abfe942aab.js → ghost-b4e8a403baba61905cd7560e30b9732d.js} +63 -44
- package/core/built/admin/assets/{ghost-dark-fbf1e384aaef3ae315e540f0eb7373a7.css → ghost-dark-cac0cb2d5bb78e9bd14d8d1c2768ed45.css} +1 -1
- package/core/built/admin/assets/gift-link-modal-B7u5bD4e.js +1 -0
- package/core/built/admin/assets/{gift-links-DLDS7ljO.js → gift-links-CfLSnst2.js} +1 -1
- package/core/built/admin/assets/{growth-D6mhcx3q.js → growth-Cd1uO9d2.js} +1 -1
- package/core/built/admin/assets/growth-aG32xfdE.js +3 -0
- package/core/built/admin/assets/history-modal-Df8lW8h-.js +1 -0
- package/core/built/admin/assets/hooks-Cy_-oZ4o.js +2 -0
- package/core/built/admin/assets/{html-field-C8qVGGC1.js → html-field-DA4eU7eq.js} +1 -1
- package/core/built/admin/assets/{images-h8VZEQ9k.js → images-KXmyO3Ss.js} +1 -1
- package/core/built/admin/assets/{inbox-BYd1M06Q.js → inbox-gJHG7_xd.js} +14 -14
- package/core/built/admin/assets/index-BHHXtR5C.css +2 -0
- package/core/built/admin/assets/index-CgMCwsxN.js +4 -0
- package/core/built/admin/assets/index.es-CY6-yuw9.js +1 -0
- package/core/built/admin/assets/{input-group-D8sCXRF5.js → input-group-BE8rM2y1.js} +1 -1
- package/core/built/admin/assets/{integrations-Bjbu86Z0.js → integrations-B4kuRBFY.js} +1 -1
- package/core/built/admin/assets/invite-user-modal-B4CuNcx4.js +1 -0
- package/core/built/admin/assets/koenig-lexical/koenig-lexical.js +14 -14
- package/core/built/admin/assets/koenig-lexical/koenig-lexical.umd.js +3 -3
- package/core/built/admin/assets/koenig-lexical/style.css +1 -1
- package/core/built/admin/assets/{koenig-lexical-_-IsVI7E.js → koenig-lexical-CGXb0F8o.js} +3 -3
- package/core/built/admin/assets/koenig-loader-BeM5rFPX.js +2 -0
- package/core/built/admin/assets/{kpi-card-DZQk_0W8.js → kpi-card-B21aToe8.js} +1 -1
- package/core/built/admin/assets/{kpi-card-DW_2y3ug.js → kpi-card-pz6Wv4Ae.js} +1 -1
- package/core/built/admin/assets/{kpi-helpers-PueTKuA6.js → kpi-helpers-Dq5jelmP.js} +1 -1
- package/core/built/admin/assets/{kpi-tabs-CojDs-Qz.js → kpi-tabs-DEZHpKUt.js} +1 -1
- package/core/built/admin/assets/{label-DjbT91GM.js → label-OLCzze8N.js} +1 -1
- package/core/built/admin/assets/label-picker-BigOvMPV.js +1 -0
- package/core/built/admin/assets/{labels-CH3Kn8RV.js → labels-Dr0SgUQD.js} +1 -1
- package/core/built/admin/assets/layout-DUTL8SH5.js +1 -0
- package/core/built/admin/assets/lib-7QPTI0FS.js +1 -0
- package/core/built/admin/assets/link-helpers-BRAg9SCj.js +1 -0
- package/core/built/admin/assets/links-BDHPTlyj.js +1 -0
- package/core/built/admin/assets/member-custom-fields-TRTHCAz9.js +1 -0
- package/core/built/admin/assets/member-detail-b6dRwc3C.js +1 -0
- package/core/built/admin/assets/members-Czt5lJSc.js +4 -0
- package/core/built/admin/assets/moderation-ZWefD9uH.js +1 -0
- package/core/built/admin/assets/{multi-select-combobox-B6LiRzDO.js → multi-select-combobox-CT13MTo-.js} +1 -1
- package/core/built/admin/assets/navigation-modal-C8FEhBK5.js +1 -0
- package/core/built/admin/assets/newsletter-5VYW4RyJ.js +1 -0
- package/core/built/admin/assets/newsletter-detail-modal-ChjC0ZqH.js +1 -0
- package/core/built/admin/assets/{newsletter-emails-CFeLlt4z.js → newsletter-emails-DZH6I-PY.js} +1 -1
- package/core/built/admin/assets/newsletters-DOC9KBcX.js +1 -0
- package/core/built/admin/assets/newsletters-Rq1M3GD-.js +1 -0
- package/core/built/admin/assets/note-DIV-Pojr.js +1 -0
- package/core/built/admin/assets/notifications-s20-H49V.js +1 -0
- package/core/built/admin/assets/nql-BLpCn7qX.js +21 -0
- package/core/built/admin/assets/{offers-9J1CSiLy.js → offers--e2nGvkW.js} +1 -1
- package/core/built/admin/assets/offers-container-modal-BmG5M5Tv.js +1 -0
- package/core/built/admin/assets/onboarding-CUuy9unR.js +1 -0
- package/core/built/admin/assets/{onboarding-B4YhlZ0i.js → onboarding-pXyct0Jm.js} +1 -1
- package/core/built/admin/assets/{onboarding-route-Dmc4IPm3.js → onboarding-route-CK4pcXoR.js} +1 -1
- package/core/built/admin/assets/overview-CaPsciMs.js +1 -0
- package/core/built/admin/assets/overview-a8GfcsKX.js +1 -0
- package/core/built/admin/assets/{page-header-BR_nbIPp.js → page-header-DM_KyoFI.js} +1 -1
- package/core/built/admin/assets/pagemenu-vgZVUVKR.js +1 -0
- package/core/built/admin/assets/pages-CjDY2CBI.js +1 -0
- package/core/built/admin/assets/pages-route-BzKZYdV5.js +1 -0
- package/core/built/admin/assets/papaparse.min-cQwnxGCG.js +10 -0
- package/core/built/admin/assets/{pintura-modal-BR9hEvS8.js → pintura-modal-DExCF1ii.js} +1 -1
- package/core/built/admin/assets/portal-frame-Cqanidq4.js +1 -0
- package/core/built/admin/assets/portal-modal-oinBgA27.js +1 -0
- package/core/built/admin/assets/post-analytics-C5oJ1dWV.js +1 -0
- package/core/built/admin/assets/post-analytics-header-OATo3X_r.js +1 -0
- package/core/built/admin/assets/post-analytics-provider-tOpIVGT5.js +1 -0
- package/core/built/admin/assets/post-helpers-C88JBa4D.js +1 -0
- package/core/built/admin/assets/post-share-modal-DvhC1XgV.js +1 -0
- package/core/built/admin/assets/post-utils-DKF4mfuo.js +1 -0
- package/core/built/admin/assets/posts-list-screen-o4ZjbgS3.js +2 -0
- package/core/built/admin/assets/posts-pCPrhQeR.js +1 -0
- package/core/built/admin/assets/posts-route-9F--xdIb.js +1 -0
- package/core/built/admin/assets/preferences--vNubsqD.js +5 -0
- package/core/built/admin/assets/{preview-modal-C-BL-F9k.js → preview-modal-YYbzlYdO.js} +1 -1
- package/core/built/admin/assets/profile-BllKV3dR.js +1 -0
- package/core/built/admin/assets/{radio-group-Bgz60i81.js → radio-group-DL8GI8rt.js} +1 -1
- package/core/built/admin/assets/{referrers-CnhCMWCs.js → referrers-D8oHPmDB.js} +1 -1
- package/core/built/admin/assets/router-provider-BSvTXgZY.js +1 -0
- package/core/built/admin/assets/schemas-BoYdB6YU.js +64 -0
- package/core/built/admin/assets/select-v5YbA3Mw.js +1 -0
- package/core/built/admin/assets/settings-PEsZupw1.js +4 -0
- package/core/built/admin/assets/{settings-breadcrumbs-CyP_9zTo.js → settings-breadcrumbs-NwPnCTC7.js} +1 -1
- package/core/built/admin/assets/settings-u_s1CRkr.js +1 -0
- package/core/built/admin/assets/share-modal-SskCmVGL.js +1 -0
- package/core/built/admin/assets/slack-modal-XxSJiYgo.js +1 -0
- package/core/built/admin/assets/{sort-button-Cc-Z96sA.js → sort-button-Cx1KtINE.js} +1 -1
- package/core/built/admin/assets/{source-icon-v6PUnmyM.js → source-icon-Bdp9Im_5.js} +1 -1
- package/core/built/admin/assets/stats-D9PDLS3x.js +1 -0
- package/core/built/admin/assets/stats-view-W2g6Jsd-.js +1 -0
- package/core/built/admin/assets/{step-1-DSRp2vBj.js → step-1-BQYzvBzr.js} +1 -1
- package/core/built/admin/assets/{step-2-COqv2g0u.js → step-2-xES32xJV.js} +1 -1
- package/core/built/admin/assets/{step-3-6W1NMVQc.js → step-3-DA_XK5kW.js} +2 -2
- package/core/built/admin/assets/{stripe-button-D2K42Uty.js → stripe-button-CVsLHelt.js} +1 -1
- package/core/built/admin/assets/stripe-connect-modal-ClmLOMGS.js +1 -0
- package/core/built/admin/assets/style-Wd9nQubI.css +1 -0
- package/core/built/admin/assets/{table-B2pIKjVh.js → table-BenqVupI.js} +1 -1
- package/core/built/admin/assets/{tabs-SaW_UT-Q.js → tabs-eBBlxPp8.js} +1 -1
- package/core/built/admin/assets/tag-detail-Ce8Se2qd.js +2 -0
- package/core/built/admin/assets/tag-picker-C3UR-uJ-.js +1 -0
- package/core/built/admin/assets/tags-B-kJxCs7.js +1 -0
- package/core/built/admin/assets/{tags-zTFiKRpb.js → tags-ChfdwJyS.js} +1 -1
- package/core/built/admin/assets/testimonials-modal-9Q6fT06V.js +1 -0
- package/core/built/admin/assets/tier-detail-modal-CDyYdqK7.js +1 -0
- package/core/built/admin/assets/tiers-BCpIOGQr.js +1 -0
- package/core/built/admin/assets/{toggle-group-EM9WpESu.js → toggle-group-CviIkyok.js} +1 -1
- package/core/built/admin/assets/{topic-filter-DY4gNHn2.js → topic-filter-I2jCBGxm.js} +1 -1
- package/core/built/admin/assets/{transistor-modal-CpyPG-MH.js → transistor-modal-p53u3W8y.js} +1 -1
- package/core/built/admin/assets/{trend-badge-ByMkuAuH.js → trend-badge-CideVzQd.js} +1 -1
- package/core/built/admin/assets/{unsplash-modal-Cv2Q6GtY.js → unsplash-modal-DY8UcKcE.js} +1 -1
- package/core/built/admin/assets/{use-analytics-data-CHvjMYuT.js → use-analytics-data-DAIGcr2f.js} +1 -1
- package/core/built/admin/assets/use-check-theme-limit-error-B8bjF-gO.css +1 -0
- package/core/built/admin/assets/{use-check-theme-limit-error-Qv4SVXqw.js → use-check-theme-limit-error-DRUjK4YM.js} +1 -1
- package/core/built/admin/assets/use-filter-params-JkZhIS8L.js +1 -0
- package/core/built/admin/assets/{use-filterable-api-CzXcpUh8.js → use-filterable-api-BVEVMrhZ.js} +1 -1
- package/core/built/admin/assets/use-growth-stats-937CUj6j.js +1 -0
- package/core/built/admin/assets/use-host-limits-D0Dv3tKA.js +1 -0
- package/core/built/admin/assets/{use-limiter-cwJvsNBo.js → use-limiter-CohWfzvK.js} +1 -1
- package/core/built/admin/assets/{use-navigate-with-base-path-BHPA228f.js → use-navigate-with-base-path-BkxcPj5l.js} +1 -1
- package/core/built/admin/assets/use-pintura-config-xgytjU35.js +1 -0
- package/core/built/admin/assets/{use-pintura-editor-BDBXWUYq.js → use-pintura-editor-CaV1mbfO.js} +1 -1
- package/core/built/admin/assets/{use-post-referrers-DbY-mzci.js → use-post-referrers-BCQI7fDg.js} +1 -1
- package/core/built/admin/assets/use-reply-chain-data-CYRhoaxY.js +1 -0
- package/core/built/admin/assets/{use-router-history-entry-Bg6BhBQQ.js → use-router-history-entry-NOKcd--l.js} +1 -1
- package/core/built/admin/assets/{use-setting-group-VM7FQwMY.js → use-setting-group-bLKMwoBT.js} +1 -1
- package/core/built/admin/assets/use-settings-navigation-B-qrriKD.js +1 -0
- package/core/built/admin/assets/{use-simple-pagination-Dum6Irbs.js → use-simple-pagination-CNPd6Rf6.js} +1 -1
- package/core/built/admin/assets/use-staff-users-pRIMIyiW.js +1 -0
- package/core/built/admin/assets/use-tinybird-query-CmdbCS9X.js +1 -0
- package/core/built/admin/assets/use-tinybird-token-KLne235s.js +1 -0
- package/core/built/admin/assets/{use-unsaved-changes-guard-BAy0RANR.js → use-unsaved-changes-guard-7-ug0JdH.js} +1 -1
- package/core/built/admin/assets/use-upgrade-route-Dm_qqKr0.js +1 -0
- package/core/built/admin/assets/{use-url-input-Df5QzNa7.js → use-url-input-fvp-TpPx.js} +1 -1
- package/core/built/admin/assets/user-detail-modal-D3KlGYv-.js +1 -0
- package/core/built/admin/assets/users-DVNWrqg9.js +1 -0
- package/core/built/admin/assets/{vendor-5753232c7d6ffb3c44e1eb0a02133953.js → vendor-2dd263291938d407802568d3357ec69e.js} +19 -17
- package/core/built/admin/assets/{virtual-list-DEx8WgiO.js → virtual-list-CZ3RK2Yf.js} +1 -1
- package/core/built/admin/assets/web-ClEJsCAj.js +2 -0
- package/core/built/admin/assets/web-X9rdnrtq.js +1 -0
- package/core/built/admin/assets/{zapier-modal-Cw3BTBUu.js → zapier-modal-DfVhV17j.js} +1 -1
- package/core/built/admin/index.html +23 -27
- package/core/frontend/apps/private-blogging/lib/views/private.hbs +44 -43
- package/core/frontend/helpers/cancel_link.js +2 -2
- package/core/frontend/helpers/pagination.js +2 -2
- package/core/frontend/helpers/social_accounts.js +2 -2
- package/core/frontend/public/ghost.css +1 -1
- package/core/frontend/public/ghost.min.css +1 -1
- package/core/frontend/services/sitemap/user-map-generator.js +9 -2
- package/core/server/adapters/jobs/InMemoryJobsBackend.js +74 -29
- package/core/server/api/endpoints/authentication.js +1 -2
- package/core/server/api/endpoints/authors-public.js +15 -5
- package/core/server/api/endpoints/emails.js +13 -0
- package/core/server/api/endpoints/index.js +10 -2
- package/core/server/api/endpoints/mail.js +1 -1
- package/core/server/api/endpoints/member-metafields-members.js +23 -0
- package/core/server/api/endpoints/member-metafields.js +102 -0
- package/core/server/api/endpoints/members-account.js +42 -0
- package/core/server/api/endpoints/members.js +4 -4
- package/core/server/api/endpoints/newsletters-public.js +10 -1
- package/core/server/api/endpoints/pages-public.js +15 -5
- package/core/server/api/endpoints/posts-public.js +15 -5
- package/core/server/api/endpoints/posts.js +3 -3
- package/core/server/api/endpoints/tags-public.js +22 -3
- package/core/server/api/endpoints/tiers-checkout-config.js +2 -2
- package/core/server/api/endpoints/tiers-public.js +38 -1
- package/core/server/api/endpoints/users.js +2 -2
- package/core/server/api/endpoints/utils/api-filter-utils.js +170 -3
- package/core/server/api/endpoints/utils/public-cache-keys.js +3 -0
- package/core/server/api/endpoints/utils/serializers/input/authors.js +2 -0
- package/core/server/api/endpoints/utils/serializers/input/members.js +20 -9
- package/core/server/api/endpoints/utils/serializers/input/pages.js +2 -0
- package/core/server/api/endpoints/utils/serializers/input/posts.js +2 -0
- package/core/server/api/endpoints/utils/serializers/input/tags.js +2 -0
- package/core/server/api/endpoints/utils/serializers/output/emails.js +7 -0
- package/core/server/api/endpoints/utils/serializers/output/index.js +6 -2
- package/core/server/api/endpoints/utils/serializers/output/member-metafields.js +18 -0
- package/core/server/api/endpoints/utils/serializers/output/members-account.js +19 -0
- package/core/server/api/endpoints/utils/serializers/output/members-csv-transform.js +1 -1
- package/core/server/api/endpoints/utils/serializers/output/members.js +2 -4
- package/core/server/api/endpoints/utils/serializers/output/tiers.js +10 -2
- package/core/server/api/endpoints/utils/serializers/output/users.js +0 -10
- package/core/server/api/endpoints/utils/validators/input/invitations.js +0 -5
- package/core/server/api/endpoints/utils/validators/input/pages.js +1 -1
- package/core/server/api/endpoints/utils/validators/input/posts.js +1 -1
- package/core/server/data/exporter/table-lists.js +3 -3
- package/core/server/data/importer/importers/data/data-importer.js +3 -3
- package/core/server/data/migrations/utils/migrations.js +1 -1
- package/core/server/data/migrations/versions/6.53/2026-07-15-20-22-53-add-members-custom-field-values.js +1 -1
- package/core/server/data/migrations/versions/6.57/2026-08-04-18-00-00-store-custom-field-values-as-leaf-rows.js +10 -1
- package/core/server/data/migrations/versions/6.63/2026-09-03-10-07-03-rename-custom-field-tables-to-metafields.js +169 -0
- package/core/server/data/migrations/versions/6.63/2026-09-03-11-03-31-remove-member-custom-field-read-permissions.js +30 -0
- package/core/server/data/schema/fixtures/fixtures.json +0 -11
- package/core/server/data/schema/lib/default-index-name.js +8 -11
- package/core/server/data/schema/schema.js +18 -18
- package/core/server/data/seeders/README.md +48 -0
- package/core/server/data/tinybird/pipes/mv_hits.pipe +86 -50
- package/core/server/lib/db-types/count.js +16 -0
- package/core/server/lib/image/image-size.js +24 -0
- package/core/server/lib/package-json/parse.js +2 -2
- package/core/server/lib/validate-password.js +81 -120
- package/core/server/models/action.js +4 -4
- package/core/server/models/base/plugins/filtered-collection.js +16 -0
- package/core/server/models/member.js +10 -21
- package/core/server/models/post.js +2 -2
- package/core/server/models/relations/authors.js +2 -16
- package/core/server/models/user.js +10 -3
- package/core/server/services/auth/passwordreset.js +13 -0
- package/core/server/services/automations/automations-api.js +1 -1
- package/core/server/services/automations/database-automations-repository.js +11 -4
- package/core/server/services/comments/comments-controller.js +30 -9
- package/core/server/services/comments/comments-service.js +55 -5
- package/core/server/services/content-import/csv/formula.js +12 -0
- package/core/server/services/content-import/csv/index.js +6 -1
- package/core/server/services/content-import/csv/parse.js +27 -6
- package/core/server/services/content-import/csv/serialize.js +13 -0
- package/core/server/services/content-import/import/completion-email.js +164 -0
- package/core/server/services/content-import/import/errors-file.js +36 -0
- package/core/server/services/content-import/import/importer.js +160 -53
- package/core/server/services/content-import/import/local-media-url.js +63 -0
- package/core/server/services/content-import/import/media.js +254 -0
- package/core/server/services/content-import/import/post-data.js +0 -1
- package/core/server/services/content-import/import/post-link.js +11 -0
- package/core/server/services/content-import/import/post-repository.js +25 -3
- package/core/server/services/content-import/import/reader.js +9 -2
- package/core/server/services/content-import/import/report.js +34 -0
- package/core/server/services/content-import/import/row.js +0 -2
- package/core/server/services/content-import/import/schema.js +1 -0
- package/core/server/services/content-import/import/staged-file.js +29 -0
- package/core/server/services/content-import/import/store.js +25 -2
- package/core/server/services/content-import/index.js +52 -6
- package/core/server/services/content-import/jobs/content-csv-import-job.js +20 -0
- package/core/server/services/custom-redirects/redirect-config-parser.js +2 -2
- package/core/server/services/custom-redirects/redirects-service.js +1 -1
- package/core/server/services/custom-redirects/validation.js +1 -1
- package/core/server/services/email-address/email-address-parser.js +30 -38
- package/core/server/services/email-address/email-address-service.js +37 -4
- package/core/server/services/email-analytics/index.js +2 -7
- package/core/server/services/email-service/CONTEXT.md +37 -0
- package/core/server/services/email-service/README.md +42 -0
- package/core/server/services/email-service/batch-sending-service.js +2 -4
- package/core/server/services/email-service/email-controller.js +18 -2
- package/core/server/services/email-service/email-renderer.js +14 -4
- package/core/server/services/email-service/email-service-wrapper.js +3 -9
- package/core/server/services/email-service/mailgun-email-provider.js +20 -9
- package/core/server/services/email-service/sending-status-schema.js +21 -0
- package/core/server/services/email-service/sending-status-serializers.js +33 -0
- package/core/server/services/email-service/sending-status-service.js +47 -0
- package/core/server/services/email-service/sending-status.js +111 -0
- package/core/server/services/email-suppression-list/email-suppression-list.js +0 -33
- package/core/server/services/email-suppression-list/mailgun-email-suppression-list.js +6 -7
- package/core/server/services/gifts/README.md +2 -2
- package/core/server/services/gifts/constants.js +1 -1
- package/core/server/services/gifts/email-templates/gift-delivery.hbs +3 -3
- package/core/server/services/gifts/gift-email-service.js +0 -1
- package/core/server/services/gifts/gift-service.js +19 -57
- package/core/server/services/gifts/index.js +3 -5
- package/core/server/services/gifts/jobs/index.js +4 -4
- package/core/server/services/indexnow-ping/indexnow-ping-service.js +2 -2
- package/core/server/services/invitations/accept.js +4 -2
- package/core/server/services/jobs/job-service.js +0 -9
- package/core/server/services/jobs-service/index.js +8 -0
- package/core/server/services/jobs-service/jobs-service.js +52 -3
- package/core/server/services/jobs-service/register-job-handlers.js +32 -11
- package/core/server/services/mail/ghost-mailer.js +4 -4
- package/core/server/services/member-welcome-emails/service.js +7 -7
- package/core/server/services/members/account-service.js +98 -0
- package/core/server/services/members/api.js +4 -3
- package/core/server/services/members/import-export/csv/parse.js +0 -7
- package/core/server/services/members/import-export/export/exporter.js +20 -20
- package/core/server/services/members/import-export/import/completion-email.js +8 -11
- package/core/server/services/members/import-export/import/importer.js +13 -13
- package/core/server/services/members/import-export/import/row.js +0 -3
- package/core/server/services/members/import-export/index.js +10 -17
- package/core/server/services/members/jobs/clean-expired-comped-job.js +7 -0
- package/core/server/services/members/jobs/clean-expired-comped-task.js +145 -0
- package/core/server/services/members/jobs/index.js +48 -24
- package/core/server/services/members/members-api/controllers/member-controller.js +11 -0
- package/core/server/services/members/members-api/controllers/router-controller.js +3 -6
- package/core/server/services/members/members-api/members-api.js +26 -8
- package/core/server/services/members/members-api/repositories/event-repository.js +0 -4
- package/core/server/services/members/members-api/repositories/member-repository.js +4 -4
- package/core/server/services/members/members-api/services/member-bread-service.js +62 -84
- package/core/server/services/members/members-api/services/payments-service.js +1 -1
- package/core/server/services/members/members-ssr.js +18 -0
- package/core/server/services/members/middleware.js +95 -81
- package/core/server/services/members/service.js +71 -47
- package/core/server/services/members/utils.js +9 -0
- package/core/server/services/members-metafields/access.js +28 -0
- package/core/server/services/{members-custom-fields → members-metafields}/actions.js +5 -5
- package/core/server/services/members-metafields/bindings-service.js +147 -0
- package/core/server/services/members-metafields/codec.js +14 -0
- package/core/server/services/{members-custom-fields → members-metafields}/config.js +1 -1
- package/core/server/services/{members-custom-fields → members-metafields}/definitions-service.js +68 -22
- package/core/server/services/members-metafields/filter.js +181 -0
- package/core/server/services/{members-custom-fields → members-metafields}/index.js +16 -7
- package/core/server/services/{members-custom-fields → members-metafields}/key.js +2 -1
- package/core/server/services/{members-custom-fields → members-metafields}/models.js +5 -5
- package/core/server/services/members-metafields/namespaces.js +34 -0
- package/core/server/services/{members-custom-fields → members-metafields}/queries.js +1 -1
- package/core/server/services/{members-custom-fields → members-metafields}/schema.js +16 -12
- package/core/server/services/members-metafields/serializers.js +22 -0
- package/core/server/services/{members-custom-fields → members-metafields}/values-service.js +80 -48
- package/core/server/services/mentions/mention-controller.js +23 -21
- package/core/server/services/mentions/mention-sending-service.js +26 -9
- package/core/server/services/mentions/process-webmention-job.js +16 -0
- package/core/server/services/mentions/send-webmentions-job.js +18 -0
- package/core/server/services/mentions/service.js +7 -33
- package/core/server/services/route-settings/validation-errors.js +1 -1
- package/core/server/services/route-settings/yaml-parser.js +1 -1
- package/core/server/services/settings/settings-service.js +1 -8
- package/core/server/services/settings-helpers/settings-helpers.js +4 -6
- package/core/server/services/slack-ping/slack-ping-service.js +1 -1
- package/core/server/services/staff/staff-service-emails.js +2 -2
- package/core/server/services/stripe/config.js +14 -8
- package/core/server/services/stripe/service.js +10 -1
- package/core/server/services/stripe/services/checkout/completed-session.js +2 -2
- package/core/server/services/stripe/services/checkout/session-options.js +18 -15
- package/core/server/services/stripe/services/webhook/checkout-session-event-service.js +28 -7
- package/core/server/services/stripe/stripe-api.js +2 -0
- package/core/server/services/stripe/stripe-service.js +24 -14
- package/core/server/services/stripe/webhook-controller.js +10 -0
- package/core/server/services/tier-checkout-config/codec.js +11 -7
- package/core/server/services/tier-checkout-config/index.js +2 -1
- package/core/server/services/tier-checkout-config/models.js +11 -5
- package/core/server/services/tier-checkout-config/queries.js +12 -12
- package/core/server/services/tier-checkout-config/serializers.js +73 -10
- package/core/server/services/tier-checkout-config/service.js +14 -13
- package/core/server/services/tiers/service.js +3 -3
- package/core/server/services/update-check/index.js +13 -13
- package/core/server/services/update-check/jobs/update-check-job.js +7 -0
- package/core/server/services/update-check/update-check-service.js +2 -2
- package/core/server/services/url/router-filter.js +8 -10
- package/core/server/services/users.js +1 -19
- package/core/server/web/admin/controller.js +1 -1
- package/core/server/web/api/endpoints/admin/routes.js +20 -16
- package/core/server/web/members/account/index.js +2 -0
- package/core/server/web/members/account/routes.js +46 -0
- package/core/server/web/members/app.js +4 -18
- package/core/shared/config/defaults.json +1 -1
- package/core/shared/config/env/config.testing-mysql.json +1 -1
- package/core/shared/labs.js +7 -2
- package/package.json +42 -41
- package/pnpm-lock.yaml +1159 -582
- package/pnpm-workspace.yaml +18 -15
- package/components/tryghost-custom-field-types-0.0.0.tgz +0 -0
- package/components/tryghost-kg-default-nodes-2.2.0.tgz +0 -0
- package/core/built/admin/assets/Combination-5fYEzgbs.js +0 -41
- package/core/built/admin/assets/account-migration-DRhAehfw.js +0 -1
- package/core/built/admin/assets/activitypub/inbox-BluD2ucT.js +0 -1284
- package/core/built/admin/assets/activitypub/label-FHSh6ZAw.js +0 -16
- package/core/built/admin/assets/activitypub/layout-Cq4NG0Xr.js +0 -1
- package/core/built/admin/assets/activitypub/settings-DQDkr06X.js +0 -315
- package/core/built/admin/assets/add-integration-modal-BC0jExDZ.js +0 -1
- package/core/built/admin/assets/add-newsletter-modal-DchTkA7l.js +0 -1
- package/core/built/admin/assets/add-recommendation-modal-DMvaJZKp.js +0 -1
- package/core/built/admin/assets/alert-dialog-QhXzdHfc.js +0 -1
- package/core/built/admin/assets/analytics-No1DDY3A.js +0 -1
- package/core/built/admin/assets/automated-emails-te1D5kq-.js +0 -1
- package/core/built/admin/assets/automations-DpUNUdcZ.js +0 -1
- package/core/built/admin/assets/bluesky-sharing-Cjrv_f62.js +0 -1
- package/core/built/admin/assets/chunk.896.435fe0637944d4a69810.js +0 -366
- package/core/built/admin/assets/color-picker-BTY_NdEm.js +0 -3
- package/core/built/admin/assets/color-picker-field-CPlkzOH0.js +0 -1
- package/core/built/admin/assets/combobox-DrMtv_4P.js +0 -1
- package/core/built/admin/assets/command-ZdgYJpoI.js +0 -1
- package/core/built/admin/assets/comments-kidj60-h.js +0 -1
- package/core/built/admin/assets/confirmation-context-BhbmQQEl.js +0 -1
- package/core/built/admin/assets/custom-field-type-option-CsGIZk1J.js +0 -10
- package/core/built/admin/assets/custom-integration-modal-BY37O_9X.js +0 -1
- package/core/built/admin/assets/design-and-theme-modal-DUSKM4uC.js +0 -22
- package/core/built/admin/assets/dialog-B44iRwlc.js +0 -1
- package/core/built/admin/assets/dirty-confirm-dialog-BxgQgQ6H.js +0 -1
- package/core/built/admin/assets/dist-Cy8tfrp_.js +0 -1
- package/core/built/admin/assets/domain-Ca6KhoQt.js +0 -1
- package/core/built/admin/assets/dropzone-Bb-5zQTk.js +0 -5
- package/core/built/admin/assets/edit-profile-BdupLlus.js +0 -1
- package/core/built/admin/assets/editor-BP883Lpn.js +0 -8
- package/core/built/admin/assets/explore-FB-CimXw.js +0 -1
- package/core/built/admin/assets/feed-C1GxsmI2.js +0 -1
- package/core/built/admin/assets/filter-sources-D5n5bFA2.js +0 -1
- package/core/built/admin/assets/filters-DJEzkMUK.js +0 -1
- package/core/built/admin/assets/filters-MZXvdH5D.js +0 -1
- package/core/built/admin/assets/first-promoter-modal-CGTGLCr5.js +0 -1
- package/core/built/admin/assets/gift-link-modal-B6v0tnRN.js +0 -1
- package/core/built/admin/assets/growth-BGAJD1rs.js +0 -3
- package/core/built/admin/assets/history-modal-iKwUY3XR.js +0 -1
- package/core/built/admin/assets/hooks-CuEZV2-q.js +0 -2
- package/core/built/admin/assets/index-DjQe-e5s.js +0 -4
- package/core/built/admin/assets/index-Dqf2x-ry.css +0 -1
- package/core/built/admin/assets/index.es-VihPwfeH.js +0 -1
- package/core/built/admin/assets/input--W-rCTrX.js +0 -1
- package/core/built/admin/assets/invite-user-modal-MdImLCaJ.js +0 -1
- package/core/built/admin/assets/koenig-loader-DYZpm6El.js +0 -2
- package/core/built/admin/assets/label-picker-cB51xl1r.js +0 -1
- package/core/built/admin/assets/layout-c_B_1hax.js +0 -1
- package/core/built/admin/assets/link-helpers-MVDdnFCY.js +0 -1
- package/core/built/admin/assets/loading-indicator-BpFWTVgh.js +0 -1
- package/core/built/admin/assets/member-custom-fields-qs0dIkxM.js +0 -1
- package/core/built/admin/assets/member-detail-B6uec2a6.js +0 -1
- package/core/built/admin/assets/members-BQF3CqhI.js +0 -2
- package/core/built/admin/assets/moderation-DY4wF1Q3.js +0 -1
- package/core/built/admin/assets/navigation-modal-DX-gNF3X.js +0 -1
- package/core/built/admin/assets/newsletter-CyQA7m3m.js +0 -1
- package/core/built/admin/assets/newsletter-detail-modal-BDrptuxn.js +0 -1
- package/core/built/admin/assets/newsletters-DXuNmC42.js +0 -1
- package/core/built/admin/assets/newsletters-DhNigJUh.js +0 -1
- package/core/built/admin/assets/note-Cgo2LCJ6.js +0 -1
- package/core/built/admin/assets/notifications-BC50AMku.js +0 -1
- package/core/built/admin/assets/offers-container-modal-DWycIMzT.js +0 -1
- package/core/built/admin/assets/onboarding-DGQuV7Ew.js +0 -1
- package/core/built/admin/assets/overview-CVbFtn-k.js +0 -1
- package/core/built/admin/assets/overview-YKj7SZaK.js +0 -1
- package/core/built/admin/assets/pages-B6vr9F_D.js +0 -1
- package/core/built/admin/assets/popover-CCy0h5rq.js +0 -1
- package/core/built/admin/assets/portal-frame-dc4XKr0e.js +0 -1
- package/core/built/admin/assets/portal-modal-BvvdF_B9.js +0 -1
- package/core/built/admin/assets/post-analytics-DX470WRG.js +0 -1
- package/core/built/admin/assets/post-analytics-header-CXpJmdDv.js +0 -1
- package/core/built/admin/assets/post-analytics-provider-CLfKGWZy.js +0 -1
- package/core/built/admin/assets/post-helpers-C5OQMBoi.js +0 -1
- package/core/built/admin/assets/post-share-modal-Cl0NXRJr.js +0 -1
- package/core/built/admin/assets/posts-KY3aUhVV.js +0 -1
- package/core/built/admin/assets/preferences-DO0UUWFp.js +0 -5
- package/core/built/admin/assets/profile-CxT-0l4d.js +0 -1
- package/core/built/admin/assets/router-provider-B0gZyiGJ.js +0 -1
- package/core/built/admin/assets/schemas-4UPic-oD.js +0 -64
- package/core/built/admin/assets/select-DuDUFdPq.js +0 -1
- package/core/built/admin/assets/settings-BjCii7BM.js +0 -1
- package/core/built/admin/assets/settings-b8kNzZSQ.js +0 -4
- package/core/built/admin/assets/share-modal-BV70mr9k.js +0 -1
- package/core/built/admin/assets/shim-ClF_m5ux.js +0 -1
- package/core/built/admin/assets/slack-modal-Be2_KK-z.js +0 -1
- package/core/built/admin/assets/stats-C4reGh9O.js +0 -1
- package/core/built/admin/assets/stats-view-DP9pQ62k.js +0 -1
- package/core/built/admin/assets/stripe-connect-modal-Z-UT_BGc.js +0 -1
- package/core/built/admin/assets/tag-detail-Dc0nTOtU.js +0 -2
- package/core/built/admin/assets/tags-BLaXBwnb.js +0 -1
- package/core/built/admin/assets/testimonials-modal-sFwRnNLh.js +0 -1
- package/core/built/admin/assets/tier-detail-modal-BCFpWwUS.js +0 -1
- package/core/built/admin/assets/tiers-Nd_z4BZY.js +0 -1
- package/core/built/admin/assets/use-filter-params-CAvfDvf1.js +0 -1
- package/core/built/admin/assets/use-growth-stats-D6mZXGhK.js +0 -1
- package/core/built/admin/assets/use-host-limits-DZtR08oa.js +0 -1
- package/core/built/admin/assets/use-pintura-config-CzTfnufz.js +0 -1
- package/core/built/admin/assets/use-reply-chain-data-BeQwz8oF.js +0 -1
- package/core/built/admin/assets/use-settings-navigation-BbrSUVcf.js +0 -1
- package/core/built/admin/assets/use-staff-users-cZg4ugOF.js +0 -1
- package/core/built/admin/assets/use-tinybird-query-B1IMyAcv.js +0 -39
- package/core/built/admin/assets/use-tinybird-token-Bow0Zwn8.js +0 -1
- package/core/built/admin/assets/use-upgrade-route-DhRSo7at.js +0 -1
- package/core/built/admin/assets/user-detail-modal-yipSoQfv.js +0 -1
- package/core/built/admin/assets/users-5msE1WMs.js +0 -1
- package/core/built/admin/assets/web-CKcXAu86.js +0 -1
- package/core/built/admin/assets/web-DR4TqM3E.js +0 -2
- package/core/server/api/endpoints/member-custom-fields.js +0 -90
- package/core/server/api/endpoints/utils/serializers/output/member-custom-fields.js +0 -20
- package/core/server/services/email-suppression-list/in-memory-email-suppression-list.js +0 -39
- package/core/server/services/jobs/worker-model-event-bridge.js +0 -149
- package/core/server/services/members/jobs/clean-expired-comped.js +0 -132
- package/core/server/services/members-custom-fields/bindings-service.js +0 -119
- package/core/server/services/members-custom-fields/codec.js +0 -15
- package/core/server/services/members-custom-fields/filter.js +0 -199
- package/core/server/services/members-custom-fields/serializers.js +0 -24
- package/core/server/services/stripe/services/checkout/allowed-countries.js +0 -267
- package/core/server/services/stripe/services/checkout/field-ports.js +0 -34
- package/core/server/services/tier-checkout-config/destinations.js +0 -17
- package/core/server/services/update-check/run-update-check.js +0 -63
- /package/core/built/admin/assets/{chunk.492.f24d855d7e3f3aad261c.js.LICENSE.txt → chunk.901.4ccc639821020230bcca.js.LICENSE.txt} +0 -0
- /package/core/server/services/{members-custom-fields → members-metafields}/storage.js +0 -0
|
@@ -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{_ as r}from"./framework-provider-DqI25epG.js";import{i,n as a,t as o}from"./hooks-CuEZV2-q.js";import{t as s}from"./build-CsiH26uS.js";import{_ as c,n as l}from"./chunk-KS7C4IRE-DCsL4i4D.js";import{g as u,l as d,m as f}from"./dist-B3keLvjj.js";import{t as p}from"./box-CdfQAP_F.js";import{t as m}from"./container-BuQG1wuP.js";import{a as h,i as g,o as _,r as v}from"./shade-app-CcS3f8MZ-vwURazk8.js";import{A as y,An as b,Dn as x,Ft as S,Jn as C,Lt as w,Mn as T,On as ee,Pt as E,Rt as D,Sn as O,Vn as te,Zn as ne,a as re,ar as ie,at as ae,fn as oe,gn as se,gt as k,ht as ce,k as le,kn as ue,t as A,u as de,vn as fe,wn as pe}from"./button-B2jcu6bk.js";import{i as me,n as he,r as ge,t as _e}from"./tabs-SaW_UT-Q.js";import{a as ve,i as ye}from"./filters-MZXvdH5D.js";import{a as j,i as be,o as M,r as N,s as P,t as F}from"./dialog-B44iRwlc.js";import{n as I}from"./loading-indicator-BpFWTVgh.js";import{t as xe}from"./checkbox-BfKktMph.js";import{t as L}from"./empty-indicator-D9QdpuNX.js";import{t as Se}from"./label-DjbT91GM.js";import{A as R,En as Ce,Hn as we,Jn as Te,Kn as Ee,O as z,On as De,Rn as Oe,Tn as ke,Un as B,Vn as Ae,Xn as V,f as je,kn as Me,kr as Ne,l as Pe,nr as Fe}from"./index-DjQe-e5s.js";import{t as H}from"./page-header-BR_nbIPp.js";import{S as Ie,T as Le,_ as Re,a as ze,b as Be,c as Ve,f as U,g as He,h as Ue,i as We,l as Ge,m as Ke,n as qe,o as Je,r as Ye,s as Xe,t as Ze,u as Qe,v as $e,w as et,x as tt,y as nt}from"./filters-DJEzkMUK.js";import{t as rt}from"./get-site-timezone-HgL0jI_F.js";import{t as W}from"./list-page-BucXJ0hi.js";import{n as it,r as at}from"./filter-sources-D5n5bFA2.js";import{i as ot,n as st,r as ct,t as lt}from"./virtual-list-DEx8WgiO.js";var G=e(t(),1),K=Ze({status:{operators:[`is`],ui:{label:`Status`,type:`select`,searchable:!1,hideOperatorSelect:!0},options:[{value:`published`,label:`Published`},{value:`hidden`,label:`Hidden`}],codec:U()},created_at:et({operators:He,ui:{label:`Date`,defaultOperator:$e,type:`date`},codec:Qe()}),body:{operators:[`contains`,`does-not-contain`],parseKeys:[`html`],ui:{label:`Text`,type:`text`,placeholder:`Search comment text...`,defaultOperator:`contains`,className:`w-full max-w-48`,popoverContentClassName:`w-full max-w-48`},codec:Ke({field:`html`})},post:{operators:[`is`,`is-not`],parseKeys:[`post_id`],ui:{label:`Post`,type:`select`,searchable:!0,className:`w-full max-w-80`,popoverContentClassName:`w-full max-w-[calc(100vw-32px)] max-w-80`},codec:U({field:`post_id`})},author:{operators:[`is`,`is-not`],parseKeys:[`member_id`],ui:{label:`Author`,type:`select`,searchable:!0,className:`w-80`,popoverContentClassName:`w-80`},codec:U({field:`member_id`})},reported:{operators:[`is`],parseKeys:[`count.reports`],ui:{label:`Reported`,type:`select`,searchable:!1,hideOperatorSelect:!0},options:[{value:`true`,label:`Yes`},{value:`false`,label:`No`}],codec:{parse(e,t){let n=nt(e);return!n||n.field!==`count.reports`?null:n.operator===`$eq`&&n.value===0?{field:t.key,operator:`is`,values:[`false`]}:n.operator===`$gt`&&n.value===0?{field:t.key,operator:`is`,values:[`true`]}:null},serialize(e){let t=e.values[0];return e.operator===`is`?t===`true`?[`count.reports:>0`]:t===`false`?[`count.reports:0`]:null:null}}}}),ut=[`author`,`post`,`body`,`status`,`reported`,`created_at`],dt={...Re,...tt};function ft(e){switch(e){case`author`:return G.createElement(de,{className:`size-4`});case`post`:return G.createElement(pe,{className:`size-4`});case`body`:return G.createElement(S,{className:`size-4`});case`status`:return G.createElement(te,{className:`size-4`});case`reported`:return G.createElement(O,{className:`size-4`});case`created_at`:return G.createElement(ie,{className:`size-4`});default:return}}function pt({postValueSource:e,memberValueSource:t,siteTimezone:n=`UTC`}){return(0,G.useMemo)(()=>{let r=Ue(n);return ut.map(n=>{let i=K[n],a=n===`created_at`?{defaultValue:r,...Ie(i)?{customRenderer:Be(r)}:{}}:{};return{key:n,...i.ui,icon:ft(n),operators:Ge(i.operators,{labels:dt}),...`options`in i&&i.options?{options:i.options}:{},...a,...n===`author`?{valueSource:t}:{},...n===`post`?{valueSource:e}:{}}})},[t,e,n])}var q=n(),mt=({filters:e,siteTimezone:t,onFiltersChange:n})=>{let r=it(),i=pt({memberValueSource:at(),postValueSource:r,siteTimezone:t}),a=e.length>0;return(0,q.jsx)(ye,{addButtonIcon:a?(0,q.jsx)(fe,{}):(0,q.jsx)(se,{}),addButtonText:a?`Add filter`:`Filter`,allowMultiple:!1,className:`[&>button]:order-last ${a?`[&>button]:border-none`:`w-auto`}`,clearButtonClassName:`font-normal text-muted-foreground`,clearButtonIcon:(0,q.jsx)(re,{}),clearButtonText:`Clear`,fields:i,filters:e,keyboardShortcut:`f`,popoverAlign:a?`start`:`end`,showClearButton:a,showSearchInput:!1,onChange:n})},J=`CommentsResponseType`,ht=`count.dislikes`,Y=e=>[`member`,`post`,`count.replies`,`count.direct_replies`,`count.likes`,...e?[ht]:[],`count.reports`,`parent`,`in_reply_to`].join(`,`),gt=e=>[`member`,`post`,`count.direct_replies`,`count.likes`,...e?[ht]:[],`count.reports`,`parent`,`in_reply_to`].join(`,`),_t=o({dataType:J,path:`/comments/`,defaultNextPageParams:(e,t)=>e.meta?.pagination.next?{...t,page:(e.meta?.pagination.next||1).toString()}:void 0,returnData:e=>{let{pages:t}=e,n=t.flatMap(e=>e.comments),r=t[t.length-1].meta;return{comments:n,meta:r,isEnd:r?r.pagination.pages===r.pagination.page:!0}}}),vt=e=>_t({...e,searchParams:{limit:`100`,order:`created_at desc`,include:`member,post,parent`,...e?.searchParams}}),yt=a({method:`PUT`,path:({id:e})=>`/comments/${e}/`,body:({id:e})=>({comments:[{id:e,status:`hidden`}]}),invalidateQueries:{dataType:J}}),bt=a({method:`PUT`,path:({id:e})=>`/comments/${e}/`,body:({id:e})=>({comments:[{id:e,status:`published`}]}),invalidateQueries:{dataType:J}}),xt=a({method:`PUT`,path:({id:e})=>`/comments/${e}/`,body:({id:e})=>({comments:[{id:e,pinned:!0}]}),invalidateQueries:{dataType:J}}),X=a({method:`PUT`,path:({id:e})=>`/comments/${e}/`,body:({id:e})=>({comments:[{id:e,pinned:!1}]}),invalidateQueries:{dataType:J}}),St=i({dataType:J,path:e=>`/comments/${e}/`,defaultSearchParams:{include:Y(!1)}}),Ct=(e,t)=>{let{dislikesEnabled:n=!1,searchParams:r,...i}=t||{};return St(e,{...i,searchParams:{include:Y(n),...r}})},wt=i({dataType:`CommentReportsResponseType`,path:e=>`/comments/${e}/reports/`}),Tt=(e,t)=>wt(e,{...t}),Et=i({dataType:`CommentLikesResponseType`,path:e=>`/comments/${e}/likes/`,defaultSearchParams:{include:`member`,limit:`100`,order:`created_at desc`}}),Dt=(e,t)=>Et(e,{...t}),Ot=i({dataType:`CommentDislikesResponseType`,path:e=>`/comments/${e}/dislikes/`,defaultSearchParams:{include:`member`,limit:`100`,order:`created_at desc`}}),kt=(e,t)=>Ot(e,{...t}),At=(e,t)=>{let{dislikesEnabled:n=!1,...r}=t||{};return vt({...r,searchParams:{filter:`(parent_id:${e}+in_reply_to_id:null),in_reply_to_id:${e}`,order:`created_at asc`,include:gt(n),limit:`100`}})};function jt({onClick:e,expanded:t}){return(0,q.jsxs)(A,{className:`shrink-0 gap-0.5 self-start p-0 text-base hover:bg-transparent`,variant:`ghost`,onClick:e,children:[t?`Show less`:`Show more`,t?(0,q.jsx)(C,{}):(0,q.jsx)(ne,{})]})}function Mt({item:e}){let t=(0,G.useRef)(null),[n,r]=(0,G.useState)(!1),[i,a]=(0,G.useState)(!1);return(0,G.useEffect)(()=>{if(i)return;let e=()=>{t.current&&r(t.current.scrollHeight>t.current.clientHeight)};return e(),window.addEventListener(`resize`,e),()=>window.removeEventListener(`resize`,e)},[e.html,i]),(0,q.jsx)(`div`,{className:`mt-2 flex flex-col gap-2`,children:(0,q.jsxs)(`div`,{className:`flex max-w-full flex-col items-start ${e.status===`hidden`&&`opacity-50`}`,children:[(0,q.jsx)(`div`,{dangerouslySetInnerHTML:{__html:e.html||``},ref:t,className:d(`prose balance max-w-[80ch] flex-1 text-base leading-[1.5em] [&_*]:text-base [&_*]:leading-[1.5em] [&_*]:font-normal [&_a]:underline [&_blockquote]:border-l-[3px] [&_blockquote]:border-foreground [&_blockquote]:p-0 [&_blockquote]:pl-3 [&_blockquote_p]:mt-0`,i?`-mb-1 [&_p]:mb-[0.85em]`:`mb-1 line-clamp-2 [&_blockquote+p]:mt-1 [&_p]:m-0`)}),n&&(0,q.jsx)(jt,{expanded:i,onClick:()=>a(!i)})]})})}function Nt(e){let t=new Date(e);return new Intl.DateTimeFormat(`en-US`,{month:`short`,day:`numeric`,year:`numeric`,hour:`numeric`,minute:`numeric`}).format(t).replace(/(\d+),(\s+\d{4})/,`$1$2`)}var Pt=d(we({variant:`warning`}),`gap-1 hover:bg-state-warning/30`);function Ft({memberName:e,memberId:t,createdAt:n,isHidden:r,canComment:i,isPinned:a,onAuthorClick:o,postTitle:s,onPostClick:c,onUnpinClick:l,className:f}){return(0,q.jsxs)(`div`,{className:d(`flex items-center gap-2`,f),children:[(0,q.jsxs)(`div`,{className:d(`flex min-w-0 items-center gap-x-1`,r&&`opacity-50`),children:[(0,q.jsx)(`div`,{className:`whitespace-nowrap`,children:t&&o?(0,q.jsx)(A,{className:`flex h-auto items-center gap-1.5 truncate p-0 text-md font-semibold text-primary hover:opacity-70`,variant:`link`,onClick:o,children:e||`Unknown`}):(0,q.jsx)(`span`,{className:`block truncate font-semibold`,children:e||`Unknown`})}),i===!1&&(0,q.jsxs)(v,{children:[(0,q.jsx)(_,{asChild:!0,children:(0,q.jsx)(`span`,{"data-testid":`commenting-disabled-indicator`,children:(0,q.jsx)(D,{className:`size-3.5 text-muted-foreground`})})}),(0,q.jsx)(g,{children:`Comments disabled`})]}),(0,q.jsx)(T,{className:`shrink-0 text-muted-foreground/50`,size:16}),(0,q.jsx)(`div`,{className:`shrink-0 whitespace-nowrap`,children:n&&(0,q.jsxs)(v,{children:[(0,q.jsx)(_,{asChild:!0,children:(0,q.jsx)(`span`,{className:`cursor-default text-sm text-muted-foreground`,children:u(n)})}),(0,q.jsx)(g,{children:Nt(n)})]})}),s&&(0,q.jsxs)(q.Fragment,{children:[(0,q.jsx)(`div`,{className:`shrink-0 text-muted-foreground`,children:`on`}),(0,q.jsx)(`div`,{className:`min-w-0 truncate`,children:c?(0,q.jsx)(A,{className:`block h-auto w-full cursor-pointer truncate p-0 text-left font-medium text-gray-800 hover:opacity-70 dark:text-gray-400`,variant:`link`,onClick:c,children:s}):(0,q.jsx)(`span`,{className:`font-medium text-gray-800 dark:text-gray-400`,children:s})})]})]}),r&&(0,q.jsx)(Ae,{variant:`secondary`,children:`Hidden`}),a&&(l?(0,q.jsxs)(`button`,{"aria-label":`Unpin comment`,className:d(`group`,Pt),type:`button`,onClick:e=>{e.stopPropagation(),l?.()},children:[(0,q.jsxs)(`span`,{className:`grid size-3 shrink-0`,children:[(0,q.jsx)(k,{className:`col-start-1 row-start-1 size-3 group-hover:opacity-0 group-focus-visible:opacity-0`}),(0,q.jsx)(ce,{className:`col-start-1 row-start-1 size-3 opacity-0 group-hover:opacity-100 group-focus-visible:opacity-100`})]}),(0,q.jsxs)(`span`,{className:`grid justify-items-start text-left`,children:[(0,q.jsx)(`span`,{className:`col-start-1 row-start-1 group-hover:opacity-0 group-focus-visible:opacity-0`,children:`Pinned`}),(0,q.jsx)(`span`,{className:`col-start-1 row-start-1 opacity-0 group-hover:opacity-100 group-focus-visible:opacity-100`,children:`Unpin`})]})]}):(0,q.jsxs)(Ae,{className:`gap-1`,variant:`warning`,children:[(0,q.jsx)(k,{className:`size-3`}),`Pinned`]}))]})}function It({open:e,memberName:t,onOpenChange:n,onConfirm:r}){let[i,a]=(0,G.useState)(!1),o=e=>{e||a(!1),n(e)};return(0,q.jsx)(F,{open:e,onOpenChange:o,children:(0,q.jsxs)(N,{className:`gap-5`,children:[(0,q.jsxs)(M,{children:[(0,q.jsx)(P,{children:`Disable comments`}),(0,q.jsxs)(be,{children:[t||`This member`,` won't be able to comment in the future. You can re-enable commenting anytime.`]})]}),(0,q.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,q.jsx)(xe,{checked:i,id:`hide-comments`,onCheckedChange:e=>a(e===!0)}),(0,q.jsx)(Se,{htmlFor:`hide-comments`,children:`Hide all previous comments`})]}),(0,q.jsxs)(j,{children:[(0,q.jsx)(A,{variant:`outline`,onClick:()=>o(!1),children:`Cancel`}),(0,q.jsx)(A,{onClick:()=>{r(i),a(!1)},children:`Disable comments`})]})]})})}function Lt({comment:e}){let{mutate:t}=Pe(),{mutate:n}=je(),{mutate:r}=xt(),{mutate:i}=X(),[a,o]=(0,G.useState)(!1),{id:s,post:c,member:u}=e,d=c?.url,f=u?.id,p=u?.can_comment,m=!e.parent_id&&e.status!==`deleted`;return(0,q.jsxs)(q.Fragment,{children:[(0,q.jsxs)(Ee,{children:[(0,q.jsx)(Fe,{asChild:!0,children:(0,q.jsx)(A,{className:`relative z-10 text-gray-800 hover:bg-secondary [&_svg]:size-4`,size:`sm`,variant:`ghost`,children:(0,q.jsx)(b,{})})}),(0,q.jsxs)(Te,{align:`start`,children:[d&&(0,q.jsx)(V,{asChild:!0,children:(0,q.jsxs)(`a`,{href:`${d}#ghost-comments-${s}`,rel:`noopener noreferrer`,target:`_blank`,children:[(0,q.jsx)(ue,{className:`size-4`}),`View on post`]})}),f&&(0,q.jsx)(V,{asChild:!0,children:(0,q.jsxs)(l,{to:`/members/${f}`,children:[(0,q.jsx)(de,{className:`size-4`}),`View member`]})}),m&&(e.pinned?(0,q.jsxs)(V,{onClick:()=>i({id:s}),children:[(0,q.jsx)(ce,{className:`size-4`}),`Unpin comment`]}):(0,q.jsxs)(V,{onClick:()=>r({id:s}),children:[(0,q.jsx)(k,{className:`size-4`}),`Pin comment`]})),f&&(p===!1?(0,q.jsxs)(V,{onClick:()=>{f&&n({id:f})},children:[(0,q.jsx)(w,{className:`size-4`}),`Enable commenting`]}):(0,q.jsxs)(V,{onClick:()=>o(!0),children:[(0,q.jsx)(D,{className:`size-4`}),`Disable commenting`]}))]})]}),(0,q.jsx)(It,{memberName:u?.name,open:a,onConfirm:e=>{f&&(t({id:f,reason:`Disabled from comment ${s}`,hideComments:e}),o(!1))},onOpenChange:o})]})}function Rt({comment:e,dislikesEnabled:t,open:n,defaultTab:r=`likes`,onOpenChange:i}){let{data:a,isLoading:o}=Dt(e.id,{enabled:n}),{data:s,isLoading:c}=kt(e.id,{enabled:n&&t}),l=a?.comment_likes??[],d=t?s?.comment_dislikes??[]:[],p=e.count?.likes??0,m=t?e.count?.dislikes??0:0,h=Math.max(0,p-l.length),g=Math.max(0,m-d.length);return(0,q.jsx)(F,{open:n,onOpenChange:i,children:(0,q.jsxs)(N,{"aria-describedby":void 0,children:[(0,q.jsx)(M,{children:(0,q.jsx)(P,{children:t?(0,q.jsxs)(q.Fragment,{children:[f(p),` `,p===1?`like`:`likes`,` and`,` `,f(m),` `,m===1?`dislike`:`dislikes`]}):(0,q.jsxs)(q.Fragment,{children:[f(p),` `,p===1?`like`:`likes`]})})}),(0,q.jsx)(`div`,{className:`overflow-hidden rounded-md border p-3`,children:(0,q.jsxs)(`div`,{className:`flex min-w-0 items-start gap-3`,children:[(0,q.jsx)(B,{className:`shrink-0`,...R(e.member),src:e.member?.avatar_image}),(0,q.jsxs)(`div`,{className:`flex min-w-0 flex-col overflow-hidden`,children:[(0,q.jsxs)(`div`,{className:`flex min-w-0 items-center gap-1 text-sm`,children:[(0,q.jsx)(`span`,{className:`shrink-0 font-semibold`,children:e.member?z(e.member):`Deleted member`}),(0,q.jsx)(T,{className:`shrink-0 text-muted-foreground/50`,size:16}),(0,q.jsx)(`span`,{className:`shrink-0 text-muted-foreground`,children:e.created_at&&u(e.created_at)}),(0,q.jsx)(`span`,{className:`shrink-0 text-muted-foreground`,children:`on`}),(0,q.jsx)(`span`,{className:`min-w-0 truncate font-medium text-gray-800 dark:text-gray-400`,children:e.post?.title||`Unknown post`})]}),(0,q.jsx)(`div`,{dangerouslySetInnerHTML:{__html:e.html||``},className:`prose mt-2 line-clamp-2 text-sm [&_*]:text-sm [&_*]:leading-[1.5em] [&_p]:m-0`})]})]})}),t?(0,q.jsxs)(_e,{defaultValue:r,variant:`segmented`,children:[(0,q.jsxs)(ge,{className:`grid w-full grid-cols-2`,children:[(0,q.jsx)(me,{value:`likes`,children:`Likes`}),(0,q.jsx)(me,{value:`dislikes`,children:`Dislikes`})]}),(0,q.jsx)(he,{className:`mt-4`,value:`likes`,children:(0,q.jsx)(`div`,{className:`-mx-1 max-h-64 overflow-y-auto px-1`,children:o?(0,q.jsx)(`div`,{className:`flex justify-center py-4`,children:(0,q.jsx)(I,{size:`md`})}):l.length===0?(0,q.jsx)(`div`,{className:`py-4 text-center text-sm text-muted-foreground`,children:`No likes yet`}):(0,q.jsxs)(`div`,{className:`flex flex-col gap-3 pb-1`,children:[l.map(e=>(0,q.jsxs)(`div`,{className:`flex items-center justify-between gap-3`,children:[(0,q.jsxs)(`div`,{className:`flex items-center gap-3`,children:[(0,q.jsxs)(`div`,{className:`relative shrink-0`,children:[(0,q.jsx)(B,{...R(e.member),src:e.member?.avatar_image}),(0,q.jsx)(`div`,{className:`absolute -right-0.5 -bottom-0.5 flex size-4 items-center justify-center rounded-full bg-gray-500 text-white`,children:(0,q.jsx)(le,{className:`size-2.5`,fill:`currentColor`})})]}),(0,q.jsx)(`span`,{className:`font-medium`,children:e.member?z(e.member):`Deleted member`})]}),(0,q.jsx)(`span`,{className:`shrink-0 text-sm text-muted-foreground`,children:u(e.created_at)})]},e.id)),h>0&&(0,q.jsxs)(`div`,{className:`pt-1 text-center text-sm text-muted-foreground`,children:[`and `,f(h),` more`]})]})})}),(0,q.jsx)(he,{className:`mt-4`,value:`dislikes`,children:(0,q.jsx)(`div`,{className:`-mx-1 max-h-64 overflow-y-auto px-1`,children:c?(0,q.jsx)(`div`,{className:`flex justify-center py-4`,children:(0,q.jsx)(I,{size:`md`})}):d.length===0?(0,q.jsx)(`div`,{className:`py-4 text-center text-sm text-muted-foreground`,children:`No dislikes yet`}):(0,q.jsxs)(`div`,{className:`flex flex-col gap-3 pb-1`,children:[d.map(e=>(0,q.jsxs)(`div`,{className:`flex items-center justify-between gap-3`,children:[(0,q.jsxs)(`div`,{className:`flex items-center gap-3`,children:[(0,q.jsxs)(`div`,{className:`relative shrink-0`,children:[(0,q.jsx)(B,{...R(e.member),src:e.member?.avatar_image}),(0,q.jsx)(`div`,{className:`absolute -right-0.5 -bottom-0.5 flex size-4 items-center justify-center rounded-full bg-gray-500 text-white`,children:(0,q.jsx)(y,{className:`size-2.5`,fill:`currentColor`})})]}),(0,q.jsx)(`span`,{className:`font-medium`,children:e.member?z(e.member):`Deleted member`})]}),(0,q.jsx)(`span`,{className:`shrink-0 text-sm text-muted-foreground`,children:u(e.created_at)})]},e.id)),g>0&&(0,q.jsxs)(`div`,{className:`pt-1 text-center text-sm text-muted-foreground`,children:[`and `,f(g),` more`]})]})})})]}):(0,q.jsx)(`div`,{className:`-mx-1 max-h-64 overflow-y-auto px-1`,children:o?(0,q.jsx)(`div`,{className:`flex justify-center py-4`,children:(0,q.jsx)(I,{size:`md`})}):(0,q.jsxs)(`div`,{className:`flex flex-col gap-3 pb-1`,children:[l.map(e=>(0,q.jsxs)(`div`,{className:`flex items-center justify-between gap-3`,children:[(0,q.jsxs)(`div`,{className:`flex items-center gap-3`,children:[(0,q.jsxs)(`div`,{className:`relative shrink-0`,children:[(0,q.jsx)(B,{...R(e.member),src:e.member?.avatar_image}),(0,q.jsx)(`div`,{className:`absolute -right-0.5 -bottom-0.5 flex size-4 items-center justify-center rounded-full bg-pink-500 text-white`,children:(0,q.jsx)(oe,{className:`size-2.5`,fill:`currentColor`})})]}),(0,q.jsx)(`span`,{className:`font-medium`,children:e.member?z(e.member):`Deleted member`})]}),(0,q.jsx)(`span`,{className:`shrink-0 text-sm text-muted-foreground`,children:u(e.created_at)})]},e.id)),h>0&&(0,q.jsxs)(`div`,{className:`pt-1 text-center text-sm text-muted-foreground`,children:[`and `,f(h),` more`]})]})}),(0,q.jsx)(j,{children:(0,q.jsx)(A,{onClick:()=>i(!1),children:`OK`})})]})})}function zt({comment:e,open:t,onOpenChange:n}){let{data:r,isLoading:i}=Tt(e.id,{enabled:t}),a=r?.comment_reports??[],o=e.count?.reports??a.length;return(0,q.jsx)(F,{open:t,onOpenChange:n,children:(0,q.jsxs)(N,{"aria-describedby":void 0,children:[(0,q.jsx)(M,{children:(0,q.jsxs)(P,{children:[o,` `,o===1?`report`:`reports`]})}),(0,q.jsx)(`div`,{className:`overflow-hidden rounded-md border p-3`,children:(0,q.jsxs)(`div`,{className:`flex min-w-0 items-start gap-3`,children:[(0,q.jsx)(B,{className:`shrink-0`,...R(e.member),src:e.member?.avatar_image}),(0,q.jsxs)(`div`,{className:`flex min-w-0 flex-col overflow-hidden`,children:[(0,q.jsxs)(`div`,{className:`flex min-w-0 items-center gap-1 text-sm`,children:[(0,q.jsx)(`span`,{className:`shrink-0 font-semibold`,children:e.member?z(e.member):`Deleted member`}),(0,q.jsx)(T,{className:`shrink-0 text-muted-foreground/50`,size:16}),(0,q.jsx)(`span`,{className:`shrink-0 text-muted-foreground`,children:e.created_at&&u(e.created_at)}),(0,q.jsx)(`span`,{className:`shrink-0 text-muted-foreground`,children:`on`}),(0,q.jsx)(`span`,{className:`min-w-0 truncate font-medium text-gray-800 dark:text-gray-400`,children:e.post?.title||`Unknown post`})]}),(0,q.jsx)(`div`,{dangerouslySetInnerHTML:{__html:e.html||``},className:`prose mt-2 line-clamp-2 text-sm [&_*]:text-sm [&_*]:leading-[1.5em] [&_p]:m-0`})]})]})}),(0,q.jsx)(`div`,{className:`-mx-1 max-h-64 overflow-y-auto px-1`,children:i?(0,q.jsx)(`div`,{className:`flex justify-center py-4`,children:(0,q.jsx)(I,{size:`md`})}):(0,q.jsx)(`div`,{className:`flex flex-col gap-3 pb-1`,children:a.map(e=>(0,q.jsxs)(`div`,{className:`flex items-center justify-between gap-3`,children:[(0,q.jsxs)(`div`,{className:`flex items-center gap-3`,children:[(0,q.jsxs)(`div`,{className:`relative shrink-0`,children:[(0,q.jsx)(B,{...R(e.member),src:e.member?.avatar_image}),(0,q.jsx)(`div`,{className:`absolute -right-0.5 -bottom-0.5 flex size-4 items-center justify-center rounded-full bg-red text-white`,children:(0,q.jsx)(O,{className:`size-2.5`,fill:`currentColor`})})]}),(0,q.jsx)(`span`,{className:`font-medium`,children:e.member?z(e.member):`Deleted member`})]}),(0,q.jsx)(`span`,{className:`shrink-0 text-sm text-muted-foreground`,children:u(e.created_at)})]},e.id))})}),(0,q.jsx)(j,{children:(0,q.jsx)(A,{onClick:()=>n(!1),children:`OK`})})]})})}function Z(e,t){if(!t)return;let n=new URLSearchParams(e);return n.set(`thread`,`is:${t}`),`?${n.toString()}`}function Q({icon:e,count:t,label:n,to:r,onClick:i,className:a,testId:o}){let s=d(`flex items-center gap-1 text-xs text-gray-800`,a),c=(0,q.jsxs)(q.Fragment,{children:[e,(0,q.jsx)(`span`,{children:f(t)})]}),u=r||i;return(0,q.jsxs)(v,{children:[(0,q.jsx)(_,{asChild:!0,children:r?(0,q.jsx)(l,{className:d(s,`cursor-pointer hover:opacity-70`),"data-testid":o,to:r,onClick:e=>{e.stopPropagation()},children:c}):i?(0,q.jsx)(`button`,{className:d(s,`cursor-pointer hover:opacity-70`),"data-testid":o,type:`button`,onClick:e=>{e.stopPropagation(),i()},children:c}):(0,q.jsx)(`div`,{className:s,"data-testid":o,children:c})}),(0,q.jsx)(g,{children:u?`View ${n.toLowerCase()}`:n})]})}function Bt({comment:e,dislikesEnabled:t,className:n}){let[r]=c(),[i,a]=(0,G.useState)(!1),[o,s]=(0,G.useState)(`likes`),[l,u]=(0,G.useState)(!1),f=Z(r,e.id),p=e.count?.direct_replies??e.replies?.length??0,m=e.count?.likes??0,h=t?e.count?.dislikes??0:0,g=e.count?.reports??0,_=p>0,v=m>0,b=h>0,x=g>0;return(0,q.jsxs)(q.Fragment,{children:[(0,q.jsxs)(`div`,{className:d(`flex items-center gap-6`,n),children:[(0,q.jsx)(Q,{count:p,icon:(0,q.jsx)(ae,{size:16,strokeWidth:1.5}),label:`Replies`,testId:`replies-metric`,to:_?f:void 0}),t?(0,q.jsxs)(`div`,{className:`flex items-center gap-3`,children:[(0,q.jsx)(Q,{count:m,icon:(0,q.jsx)(le,{size:16,strokeWidth:1.5}),label:`Likes`,testId:`likes-metric`,onClick:v?()=>{s(`likes`),a(!0)}:void 0}),(0,q.jsx)(Q,{count:h,icon:(0,q.jsx)(y,{size:16,strokeWidth:1.5}),label:`Dislikes`,testId:`dislikes-metric`,onClick:b?()=>{s(`dislikes`),a(!0)}:void 0})]}):(0,q.jsx)(Q,{count:m,icon:(0,q.jsx)(oe,{size:16,strokeWidth:1.5}),label:`Likes`,onClick:v?()=>a(!0):void 0}),(0,q.jsx)(Q,{className:x?`font-semibold text-red`:void 0,count:g,icon:(0,q.jsx)(O,{size:16,strokeWidth:1.5}),label:`Reports`,onClick:x?()=>u(!0):void 0})]}),(0,q.jsx)(Rt,{comment:e,defaultTab:o,dislikesEnabled:t,open:i,onOpenChange:a}),(0,q.jsx)(zt,{comment:e,open:l,onOpenChange:u})]})}function Vt({hasReplies:e}){return e?(0,q.jsx)(`div`,{className:`mb-2 h-full w-px grow rounded bg-gradient-to-b from-muted-foreground/20 from-70% to-transparent`,"data-testid":`replies-line`}):null}function Ht({comment:e,dislikesEnabled:t,isReply:n=!1,isSelectedComment:r=!1,selectedCommentId:i}){let[a]=c(),{mutate:o}=yt(),{mutate:s}=bt(),{mutate:u}=X(),f=(e.replies?.length??0)>0||(e.count?.direct_replies??e.count?.replies??0)>0;return(0,q.jsxs)(`div`,{className:`flex w-full flex-row ${!f||n?`mb-7`:`mb-0`}`,children:[(0,q.jsxs)(`div`,{className:`mr-2 flex shrink-0 flex-col items-center justify-start md:mr-3`,children:[(0,q.jsx)(B,{className:d(`mb-3 size-6 md:mb-4 md:size-8`,e.status===`hidden`&&`opacity-50`),...R(e.member),src:e.member?.avatar_image}),(0,q.jsx)(Vt,{hasReplies:f&&!n})]}),(0,q.jsx)(`div`,{className:`grow`,children:(0,q.jsxs)(`div`,{className:`w-full`,"data-testid":`comment-thread-row-${e.id}`,children:[(0,q.jsxs)(`div`,{className:`flex min-w-0 flex-col`,children:[(0,q.jsx)(Ft,{canComment:e.member?.can_comment,createdAt:e.created_at,isHidden:e.status===`hidden`,isPinned:e.pinned,memberId:e.member?.id,memberName:e.member?.name,onUnpinClick:()=>u({id:e.id})}),e.in_reply_to_snippet&&r&&(0,q.jsxs)(`div`,{className:`mb-1 line-clamp-1 text-sm ${e.status===`hidden`&&`opacity-50`}`,children:[(0,q.jsx)(`span`,{className:`text-muted-foreground`,children:`Replied to:`}),`\xA0`,(0,q.jsx)(l,{className:`text-sm font-normal text-muted-foreground hover:text-foreground`,"data-testid":`replied-to-link`,to:Z(a,e.in_reply_to_id||e.parent_id)||``,onClick:e=>{e.stopPropagation()},children:e.in_reply_to_snippet})]}),(0,q.jsx)(Mt,{item:e}),(0,q.jsxs)(`div`,{className:`mt-4 flex flex-row flex-wrap items-center gap-3`,children:[e.status===`published`&&(0,q.jsxs)(A,{className:`text-gray-800`,size:`sm`,variant:`outline`,onClick:()=>o({id:e.id}),children:[(0,q.jsx)(ee,{}),(0,q.jsx)(`span`,{className:`max-md:hidden`,children:`Hide`})]}),e.status===`hidden`&&(0,q.jsxs)(A,{className:`text-gray-800`,size:`sm`,variant:`outline`,onClick:()=>s({id:e.id}),children:[(0,q.jsx)(x,{}),(0,q.jsx)(`span`,{className:`max-md:hidden`,children:`Show`})]}),(0,q.jsx)(Bt,{comment:e,dislikesEnabled:t}),(0,q.jsx)(Lt,{comment:e})]})]}),f&&e.replies&&(0,q.jsx)(`div`,{className:`mt-7 mb-4 -ml-2 pl-2 md:mt-8 md:mb-0 md:-ml-3 md:pl-3`,children:e.replies.map(e=>(0,q.jsx)(Ht,{comment:e,dislikesEnabled:t,isReply:!0,selectedCommentId:i},e.id))})]})})]})}var Ut=({selectedComment:e,dislikesEnabled:t,replies:n,selectedCommentId:r,fetchNextPage:i,hasNextPage:a,isFetchingNextPage:o})=>(0,q.jsxs)(`div`,{className:`flex flex-col`,"data-testid":`comment-thread-list`,children:[(0,q.jsx)(Ht,{comment:{...e,replies:n},dislikesEnabled:t,isSelectedComment:!0,selectedCommentId:r}),a&&(0,q.jsx)(`div`,{className:`flex justify-center pb-4`,children:(0,q.jsx)(A,{disabled:o,variant:`outline`,onClick:()=>i(),children:o?(0,q.jsxs)(q.Fragment,{children:[(0,q.jsx)(I,{size:`sm`}),`Loading...`]}):`Load more replies`})})]}),Wt=({commentId:e,dislikesEnabled:t,open:n,onOpenChange:r})=>{let{data:i,isLoading:a,isError:o,fetchNextPage:s,hasNextPage:c,isFetchingNextPage:l}=At(e??``,{dislikesEnabled:t,enabled:n&&!!e}),{data:u,isLoading:d,isError:f}=Ct(e??``,{dislikesEnabled:t,enabled:n&&!!e}),p=a||d,m=f||o&&!u,h=u?.comments?.[0],g=i?.comments||[];return(0,q.jsx)(ke,{open:n,onOpenChange:r,children:(0,q.jsxs)(Ce,{className:`overflow-y-auto px-6 pt-0 sm:max-w-[420px]`,children:[(0,q.jsx)(De,{className:`sticky top-0 z-40 -mx-6 bg-surface-elevated/60 p-6 backdrop-blur`,children:(0,q.jsx)(Me,{className:`text-md`,children:`Thread`})}),h?.post&&(0,q.jsxs)(q.Fragment,{children:[(0,q.jsxs)(`div`,{className:`flex items-center gap-4`,children:[(0,q.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[(0,q.jsx)(`h3`,{className:`line-clamp-1 text-xl font-semibold text-foreground`,children:h.post.title}),h.post.excerpt&&(0,q.jsx)(`p`,{className:`mt-1 line-clamp-2 text-sm text-muted-foreground`,children:h.post.excerpt})]}),h.post.feature_image&&(0,q.jsx)(`img`,{alt:h.post.title||`Post feature image`,className:`hidden aspect-video h-18 shrink-0 rounded object-cover lg:block`,src:h.post.feature_image})]}),(0,q.jsx)(Oe,{className:`-mx-6 my-6 w-auto`})]}),(0,q.jsx)(`div`,{children:p?(0,q.jsx)(`div`,{className:`flex h-full items-center justify-center py-8`,children:(0,q.jsx)(I,{size:`lg`})}):m||!h?(0,q.jsx)(`div`,{className:`flex h-full items-center justify-center py-8`,children:(0,q.jsx)(L,{actions:(0,q.jsx)(A,{variant:`outline`,onClick:()=>r(!1),children:`Back to comments`}),description:`This thread may have been deleted or doesn't exist.`,title:`Thread not found`,children:(0,q.jsx)(E,{})})}):(0,q.jsx)(Ut,{dislikesEnabled:t,fetchNextPage:()=>void s(),hasNextPage:c,isFetchingNextPage:l,replies:g,selectedComment:h,selectedCommentId:e??``})})]})})},Gt=({height:e})=>(0,q.jsx)(`div`,{"aria-hidden":`true`,className:`flex`,children:(0,q.jsx)(`div`,{className:`flex`,style:{height:e}})}),Kt=(0,G.forwardRef)(function(e,t){return(0,q.jsx)(`div`,{ref:t,...e,"aria-hidden":`true`,className:`relative flex flex-col`,children:(0,q.jsx)(`div`,{className:`relative z-10 h-24 animate-pulse`,children:(0,q.jsx)(`div`,{className:`h-full rounded-md bg-muted`,"data-testid":`loading-placeholder`})})})});function qt({items:e,totalItems:t,hasNextPage:n,isFetchingNextPage:r,fetchNextPage:i,resetKey:a,onAddFilter:o,isLoading:s,dislikesEnabled:u}){let f=(0,G.useRef)(null),{visibleItemCount:p,canLoadMore:m,loadMore:g}=ct(t,{resetKey:a}),[_,v]=c(),[y,b]=(0,G.useState)(!1),[S,C]=(0,G.useState)(null),{mutate:w}=yt(),{mutate:T}=bt(),{mutate:E}=X(),D=e=>{if(b(e),!e){let e=new URLSearchParams(_);e.delete(`thread`),v(e,{replace:!0})}};(0,G.useEffect)(()=>{let e=_.get(`thread`);if(e){let t=e.match(/^is:(.+)$/);if(t&&t[1]){let e=t[1];C(e),b(!0)}else b(!1),C(null)}else b(!1),C(null)},[_]),st({parentRef:f,isLoading:s});let{visibleItems:O,spaceBefore:te,spaceAfter:ne}=ot({items:e,totalItems:p,hasNextPage:n,isFetchingNextPage:r,fetchNextPage:i,parentRef:f});return(0,q.jsx)(h,{children:(0,q.jsxs)(`div`,{ref:f,className:`overflow-hidden border-t`,children:[(0,q.jsx)(`div`,{className:`flex flex-col`,"data-testid":`comments-list`,children:(0,q.jsxs)(`div`,{className:`flex flex-col`,children:[(0,q.jsx)(Gt,{height:te}),O.map(({key:t,virtualItem:n,item:r,props:i})=>n.index>e.length-1?(0,q.jsx)(Kt,{...i},t):(0,q.jsxs)(`div`,{...i,className:`grid w-full grid-cols-1 items-start justify-between gap-4 border-b p-3 hover:bg-table-row-hover md:p-5 lg:grid-cols-[minmax(0,1fr)_144px]`,"data-testid":`comment-list-row`,onClick:()=>{y&&D(!1)},children:[(0,q.jsxs)(`div`,{className:`flex items-start gap-3`,children:[(0,q.jsx)(B,{className:d(`mt-0.5 size-6 md:size-8`,r.status===`hidden`&&`opacity-50`),...R(r.member),src:r.member?.avatar_image}),(0,q.jsxs)(`div`,{className:`flex min-w-0 flex-col gap-3`,children:[(0,q.jsxs)(`div`,{children:[(0,q.jsx)(Ft,{canComment:r.member?.can_comment,createdAt:r.created_at,isHidden:r.status===`hidden`,isPinned:r.pinned,memberId:r.member?.id,memberName:r.member?.name,postTitle:r.post?.title,onAuthorClick:r.member?.id?()=>o(`author`,r.member.id):void 0,onPostClick:r.post?.id?()=>o(`post`,r.post.id):void 0,onUnpinClick:()=>E({id:r.id})}),r.in_reply_to_snippet&&(0,q.jsxs)(`div`,{className:`mb-1 line-clamp-1 max-w-3xl ${r.status===`hidden`&&`opacity-50`}`,children:[(0,q.jsx)(`span`,{className:`text-muted-foreground`,children:`Replied to:`}),`\xA0`,(0,q.jsx)(l,{className:`text-sm font-normal text-muted-foreground hover:text-foreground`,"data-testid":`replied-to-link`,to:Z(_,r.in_reply_to_id||r.parent_id)||``,onClick:e=>{e.stopPropagation()},children:r.in_reply_to_snippet})]})]}),(0,q.jsx)(Mt,{item:r}),(0,q.jsxs)(`div`,{className:`flex flex-row flex-nowrap items-center gap-3`,children:[r.status===`published`&&(0,q.jsxs)(A,{className:`text-foreground`,size:`sm`,variant:`outline`,onClick:()=>w({id:r.id}),children:[(0,q.jsx)(ee,{}),`Hide`]}),r.status===`hidden`&&(0,q.jsxs)(A,{className:`text-foreground`,size:`sm`,variant:`outline`,onClick:()=>T({id:r.id}),children:[(0,q.jsx)(x,{}),`Show`]}),(0,q.jsx)(Bt,{className:`ml-2`,comment:r,dislikesEnabled:u}),(0,q.jsx)(Lt,{comment:r})]})]})]}),(0,q.jsx)(`div`,{children:r.post?.feature_image?(0,q.jsx)(`img`,{alt:r.post.title||`Post feature image`,className:`hidden aspect-video w-36 rounded object-cover lg:block ${r.status===`hidden`&&`opacity-50`}`,src:r.post.feature_image}):null})]},t)),(0,q.jsx)(Gt,{height:ne})]})}),m&&(0,q.jsx)(lt,{isLoading:r,onClick:g}),(0,q.jsx)(Wt,{commentId:S,dislikesEnabled:u,open:y,onOpenChange:D})]})})}var Jt=Ye(K,`date`);function Yt(e){return Ve(K,e.field,`UTC`)?.definition.operators.includes(e.operator)??!1}function Xt(e,t){return Array.isArray(e.$and)?e.$and.flatMap(e=>Xt(e,t)):qe([e],K,t)}function Zt(e,t){let n=ze(e??``);return n?Xe(Xt(n,t).filter(Yt)):[]}function Qt(e){let t=ze(e??``);return t?We(t,Jt):!1}function $(e,t){return Je(e.filter(Yt),K,t)}var $t=[`status`,`created_at`,`body`,`post`,`author`,`reported`],en={is_not:`is-not`,not_contains:`does-not-contain`,before:`is-less`,after:`is-greater`,on_or_before:`is-or-less`,on_or_after:`is-or-greater`};function tn(e){let t=e.indexOf(`:`);if(t<=0)return null;let n=e.substring(0,t),r=e.substring(t+1);return r?{operator:en[n]??n,value:r}:null}function nn(e){let t=[];for(let[n,r]of e.entries()){if(!$t.includes(n))continue;let e=tn(r);e&&t.push({id:`${n}:${t.length+1}`,field:n,operator:e.operator,values:[e.value]})}return t}function rn(e){$t.forEach(t=>e.delete(t))}function an(e,t,n){let r=new URLSearchParams(e),i=$(t,n);return r.delete(`filter`),rn(r),i&&r.set(`filter`,i),r}function on(e,t,n=!t){return!!e&&n&&!t&&Qt(e)}function sn(e){let[t,n]=c(),r=(0,G.useRef)(null),i=(0,G.useMemo)(()=>t.get(`filter`)??void 0,[t]),a=(0,G.useMemo)(()=>t.toString(),[t]),o=(0,G.useMemo)(()=>i===void 0?nn(t):Zt(i,e),[i,t,e]),[s,l]=(0,G.useState)(o),u=(0,G.useMemo)(()=>$(s,e),[s,e]);return(0,G.useEffect)(()=>{a!==r.current&&(l(o),r.current=a)},[a,o]),(0,G.useEffect)(()=>{if(r.current!==null&&a!==r.current)return;let i=an(t,s,e),o=i.toString();o!==a&&(r.current=o,n(i,{replace:!0}))},[a,s,t,n,e]),{filters:s,nql:u,setFilters:(0,G.useCallback)((i,a={})=>{let o=typeof i==`function`?i(s):i,c=an(t,o,e),u=a.replace??!0;l(o),r.current=c.toString(),n(c,{replace:u})},[s,t,n,e]),clearFilters:(0,G.useCallback)(({replace:e=!0}={})=>{let i=new URLSearchParams(t);i.delete(`filter`),rn(i),l([]),r.current=i.toString(),n(i,{replace:e})},[t,n])}}function cn(e){return e.get(`id`)?.match(/^is:(.+)$/)?.[1]}var ln=({timezone:e,singleCommentId:t})=>{let[n,i]=c(),{filters:a,nql:o,setFilters:l}=sn(e),u=(0,G.useCallback)((r,o,s=`is`)=>{let c=[...a.filter(e=>e.field!==r),ve(r,s,[o])];if(!t){l(c,{replace:!1});return}let u=new URLSearchParams(n),d=$(c,e);u.delete(`id`),u.delete(`filter`),d&&u.set(`filter`,d),i(u,{replace:!1})},[a,n,l,i,t,e]),d=(0,G.useMemo)(()=>t?`id:${s(t)}`:o,[o,t]),f=(0,G.useCallback)(()=>{i(new URLSearchParams,{replace:!1})},[i]),{data:h,isError:g,isFetching:_,isFetchingNextPage:v,isRefetching:y,fetchNextPage:b,hasNextPage:x}=vt({searchParams:{include:Y(!0),...d?{filter:d}:{}},placeholderData:r}),S=_&&!v&&!y,C=d??``,w=a.length>0;return(0,q.jsx)(p,{className:`size-full`,children:(0,q.jsx)(m,{className:`relative flex h-full flex-col`,size:`page`,children:(0,q.jsxs)(W,{"data-testid":`comments-page`,children:[(0,q.jsxs)(W.Header,{children:[(0,q.jsxs)(H,{blurredBackground:!1,sticky:!1,children:[(0,q.jsx)(H.Left,{children:(0,q.jsx)(H.Title,{children:`Comments`})}),!t&&!w&&(0,q.jsx)(H.Actions,{children:(0,q.jsx)(H.ActionGroup,{children:(0,q.jsx)(mt,{filters:a,siteTimezone:e,onFiltersChange:l})})})]}),!t&&w&&(0,q.jsx)(Le,{children:(0,q.jsx)(mt,{filters:a,siteTimezone:e,onFiltersChange:l})})]}),(0,q.jsx)(W.Body,{children:S?(0,q.jsx)(`div`,{className:`flex flex-1 items-center justify-center`,children:(0,q.jsx)(I,{size:`lg`})}):g?(0,q.jsxs)(`div`,{className:`flex flex-1 flex-col items-center justify-center`,children:[(0,q.jsx)(`h2`,{className:`mb-2 text-xl font-medium`,children:`Error loading comments`}),(0,q.jsx)(`p`,{className:`mb-4 text-muted-foreground`,children:`Please reload the page to try again`}),(0,q.jsx)(A,{onClick:()=>window.location.reload(),children:`Reload page`})]}):h?.comments.length?(0,q.jsxs)(q.Fragment,{children:[(0,q.jsx)(qt,{dislikesEnabled:!0,fetchNextPage:()=>void b(),hasNextPage:x,isFetchingNextPage:v,isLoading:_&&!v,items:h?.comments??[],resetKey:C,totalItems:h?.meta?.pagination?.total??0,onAddFilter:u}),t&&(0,q.jsx)(`div`,{className:`flex justify-center py-8`,children:(0,q.jsx)(A,{variant:`outline`,onClick:f,children:`Show all comments`})})]}):(0,q.jsx)(`div`,{className:`flex flex-1 items-center justify-center`,children:t?(0,q.jsxs)(`div`,{className:`flex flex-col items-center`,children:[(0,q.jsx)(L,{title:`Comment not found`,children:(0,q.jsx)(E,{})}),(0,q.jsx)(A,{className:`mt-4`,variant:`outline`,onClick:f,children:`Show all comments`})]}):(0,q.jsx)(L,{title:`No comments yet`,children:(0,q.jsx)(E,{})})})})]})})})},un=()=>{let[e]=c(),{data:t,isLoading:n}=Ne({}),r=(0,G.useMemo)(()=>cn(e),[e]),i=e.get(`filter`)??void 0;if(!r&&on(i,!!t,n))return(0,q.jsx)(p,{className:`size-full`,children:(0,q.jsx)(m,{className:`relative flex h-full flex-col`,size:`page`,children:(0,q.jsxs)(W,{children:[(0,q.jsx)(W.Header,{children:(0,q.jsx)(H,{blurredBackground:!1,sticky:!1,children:(0,q.jsx)(H.Left,{children:(0,q.jsx)(H.Title,{children:`Comments`})})})}),(0,q.jsx)(W.Body,{children:(0,q.jsx)(`div`,{className:`flex flex-1 items-center justify-center`,children:(0,q.jsx)(I,{size:`lg`})})})]})})});let a=rt(t?.settings??[]);return(0,q.jsx)(ln,{singleCommentId:r,timezone:a})};export{un as default};
|
|
@@ -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{l as r}from"./dist-B3keLvjj.js";import{t as i}from"./button-B2jcu6bk.js";import{a,c as o,i as s,o as c,s as l,t as u}from"./alert-dialog-QhXzdHfc.js";import{n as d}from"./loading-indicator-BpFWTVgh.js";import{s as f}from"./use-settings-navigation-BbrSUVcf.js";var p=e(t(),1),m=n(),h=({visible:e=!0,onRemove:t,title:n=`Are you sure?`,prompt:h,cancelLabel:g=`Cancel`,okLabel:_=`OK`,okRunningLabel:v,okVariant:y=`default`,onCancel:b,onOk:x,customFooter:S,formSheet:C=!0,stickyFooter:w=!1,contentClassName:T,testId:E=`confirmation-modal`})=>{let[D,O]=(0,p.useState)(``),k=D===`running`,A=v||_,j=()=>{k||(b?b():t())},M=async()=>{O(`running`);try{await x?.({remove:t})}catch(e){console.error(`Unhandled Promise Rejection. Make sure you catch errors in your onOk handler.`,e)}O(``)},N=(0,m.jsxs)(c,{className:r(w&&`gap-2`),children:[g&&(0,m.jsx)(i,{"data-testid":`cancel-modal`,disabled:k,type:`button`,variant:`outline`,onClick:j,children:g}),_&&(0,m.jsxs)(i,{"aria-busy":k,"data-testid":`ok-modal`,disabled:k,type:`button`,variant:y,onClick:()=>void M(),children:[k&&(0,m.jsx)(d,{color:`current`,size:`sm`}),k?A:_]})]}),P=S===void 0?N:S;return(0,m.jsx)(u,{open:e,onOpenChange:e=>!e&&j(),children:(0,m.jsxs)(s,{className:r(`z-[1100] max-h-[calc(100dvh-4rem)] w-[calc(100%-2rem)] overflow-y-auto bg-background`,w&&`flex flex-col gap-0 pb-0`,T),"data-testid":E,overlayClassName:r(`z-[1100] bg-foreground/20! backdrop-blur-[3px]`,C&&`bg-foreground/10!`),onEscapeKeyDown:e=>e.stopPropagation(),children:[(0,m.jsxs)(l,{children:[(0,m.jsx)(o,{children:n}),(0,m.jsx)(a,{asChild:!0,children:(0,m.jsx)(`div`,{className:`text-left text-foreground`,children:h})})]}),P&&(w?(0,m.jsx)(f,{className:`-mx-6 w-auto [&>div:first-child]:hidden [&>div:last-child]:hidden`,contentClassName:`px-6 mb-0 *:w-full`,"data-testid":`modal-sticky-footer`,height:84,style:{bottom:0,height:`84px`},children:P}):P)]})})},g=({visible:e=!0,onRemove:t,title:n=`Upgrade your plan`,prompt:r,okLabel:i=`Upgrade`,formSheet:a=!1,onOk:o})=>(0,m.jsx)(h,{formSheet:a,okLabel:i,prompt:(0,m.jsx)(`div`,{className:`w-full`,children:typeof r==`string`&&r.includes(`<`)?(0,m.jsx)(`div`,{dangerouslySetInnerHTML:{__html:r}}):r}),testId:`limit-modal`,title:n,visible:e,onOk:o,onRemove:t}),_=(0,p.createContext)(null);function v(){let e=(0,p.useContext)(_);if(!e)throw Error(`useConfirmation must be used inside ConfirmationProvider`);return e}export{h as i,v as n,g as r,_ as t};
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
import{t as e}from"./rolldown-runtime-DAXXjFlN.js";import{t}from"./jsx-runtime-DX3WBWVO.js";import{N as n,S as r,Vt as i}from"./button-B2jcu6bk.js";import{m as a}from"./member-custom-fields-qs0dIkxM.js";var o=e(((e,t)=>{((n,r)=>{typeof define==`function`&&define.amd?define([],r):typeof t==`object`&&e!==void 0?t.exports=r():n.Papa=r()})(e,function e(){var t=typeof self<`u`?self:typeof window<`u`?window:t===void 0?{}:t,n,r=!t.document&&!!t.postMessage,i=t.IS_PAPA_WORKER||!1,a={},o=0,s={};function c(e){return e.charCodeAt(0)===65279?e.slice(1):e}function l(e){this._handle=null,this._finished=!1,this._completed=!1,this._halted=!1,this._input=null,this._baseIndex=0,this._partialLine=``,this._rowCount=0,this._start=0,this._nextChunk=null,this.isFirstChunk=!0,this._completeResults={data:[],errors:[],meta:{}},function(e){var t=b(e);t.chunkSize=parseInt(t.chunkSize),e.step||e.chunk||(t.chunkSize=null),this._handle=new m(t),(this._handle.streamer=this)._config=t}.call(this,e),this.parseChunk=function(e,n){var r=parseInt(this._config.skipFirstNLines)||0;if(this.isFirstChunk&&0<r){let t=this._config.newline;t||=(a=this._config.quoteChar||`"`,this._handle.guessLineEndings(e,a)),e=[...e.split(t).slice(r)].join(t)}this.isFirstChunk&&S(this._config.beforeFirstChunk)&&(a=this._config.beforeFirstChunk(e))!==void 0&&(e=a),this.isFirstChunk=!1,this._halted=!1;var r=this._partialLine+e,a=(this._partialLine=``,this._handle.parse(r,this._baseIndex,!this._finished));if(!this._handle.paused()&&!this._handle.aborted()){if(e=a.meta.cursor,r=(this._finished||(this._partialLine=r.substring(e-this._baseIndex),this._baseIndex=e),a&&a.data&&(this._rowCount+=a.data.length),this._finished||this._config.preview&&this._rowCount>=this._config.preview),i)t.postMessage({results:a,workerId:s.WORKER_ID,finished:r});else if(S(this._config.chunk)&&!n){if(this._config.chunk(a,this._handle),this._handle.paused()||this._handle.aborted())return void(this._halted=!0);this._completeResults=a=void 0}return this._config.step||this._config.chunk||(this._completeResults.data=this._completeResults.data.concat(a.data),this._completeResults.errors=this._completeResults.errors.concat(a.errors),this._completeResults.meta=a.meta),this._completed||!r||!S(this._config.complete)||a&&a.meta.aborted||(this._config.complete(this._completeResults,this._input),this._completed=!0),r||a&&a.meta.paused||this._nextChunk(),a}this._halted=!0},this._sendError=function(e){S(this._config.error)?this._config.error(e):i&&this._config.error&&t.postMessage({workerId:s.WORKER_ID,error:e,finished:!1})}}function u(e){var t;(e||={}).chunkSize||(e.chunkSize=s.RemoteChunkSize),l.call(this,e),this._nextChunk=r?function(){this._readChunk(),this._chunkLoaded()}:function(){this._readChunk()},this.stream=function(e){this._input=e,this._nextChunk()},this._readChunk=function(){if(this._finished)this._chunkLoaded();else{if(t=new XMLHttpRequest,this._config.withCredentials&&(t.withCredentials=this._config.withCredentials),r||(t.onload=x(this._chunkLoaded,this),t.onerror=x(this._chunkError,this)),t.open(this._config.downloadRequestBody?`POST`:`GET`,this._input,!r),this._config.downloadRequestHeaders){var e,n=this._config.downloadRequestHeaders;for(e in n)t.setRequestHeader(e,n[e])}var i;this._config.chunkSize&&(i=this._start+this._config.chunkSize-1,t.setRequestHeader(`Range`,`bytes=`+this._start+`-`+i));try{t.send(this._config.downloadRequestBody)}catch(e){this._chunkError(e.message)}r&&t.status===0&&this._chunkError()}},this._chunkLoaded=function(){t.readyState===4&&(t.status<200||400<=t.status?this._chunkError():(this._start+=this._config.chunkSize||t.responseText.length,this._finished=!this._config.chunkSize||this._start>=(e=>(e=e.getResponseHeader(`Content-Range`))===null?-1:parseInt(e.substring(e.lastIndexOf(`/`)+1)))(t),this.parseChunk(t.responseText)))},this._chunkError=function(e){e=t.statusText||e,this._sendError(Error(e))}}function d(e){(e||={}).chunkSize||(e.chunkSize=s.LocalChunkSize),l.call(this,e);var t,n,r=typeof FileReader<`u`;this.stream=function(e){this._input=e,n=e.slice||e.webkitSlice||e.mozSlice,r?((t=new FileReader).onload=x(this._chunkLoaded,this),t.onerror=x(this._chunkError,this)):t=new FileReaderSync,this._nextChunk()},this._nextChunk=function(){this._finished||this._config.preview&&!(this._rowCount<this._config.preview)||this._readChunk()},this._readChunk=function(){var e=this._input,i=(this._config.chunkSize&&(i=Math.min(this._start+this._config.chunkSize,this._input.size),e=n.call(e,this._start,i)),t.readAsText(e,this._config.encoding));r||this._chunkLoaded({target:{result:i}})},this._chunkLoaded=function(e){this._start+=this._config.chunkSize,this._finished=!this._config.chunkSize||this._start>=this._input.size,this.parseChunk(e.target.result)},this._chunkError=function(){this._sendError(t.error)}}function f(e){var t;l.call(this,e||={}),this.stream=function(e){return t=e,this._nextChunk()},this._nextChunk=function(){var e,n;if(!this._finished)return e=this._config.chunkSize,t=e?(n=t.substring(0,e),t.substring(e)):(n=t,``),this._finished=!t,this.parseChunk(n)}}function p(e){l.call(this,e||={});var t=[],n=!0,r=!1;this.pause=function(){l.prototype.pause.apply(this,arguments),this._input.pause()},this.resume=function(){l.prototype.resume.apply(this,arguments),this._input.resume()},this.stream=function(e){this._input=e,this._input.on(`data`,this._streamData),this._input.on(`end`,this._streamEnd),this._input.on(`error`,this._streamError)},this._checkIsFinished=function(){r&&t.length===1&&(this._finished=!0)},this._nextChunk=function(){this._checkIsFinished(),t.length?this.parseChunk(t.shift()):n=!0},this._streamData=x(function(e){try{t.push(typeof e==`string`?e:e.toString(this._config.encoding)),n&&(n=!1,this._checkIsFinished(),this.parseChunk(t.shift()))}catch(e){this._streamError(e)}},this),this._streamError=x(function(e){this._streamCleanUp(),this._sendError(e)},this),this._streamEnd=x(function(){this._streamCleanUp(),r=!0,this._streamData(``)},this),this._streamCleanUp=x(function(){this._input.removeListener(`data`,this._streamData),this._input.removeListener(`end`,this._streamEnd),this._input.removeListener(`error`,this._streamError)},this)}function m(e){var t,n,r,i,a=2**53,o=-a,l=/^\s*-?(\d+\.?|\.\d+|\d+\.\d+)([eE][-+]?\d+)?\s*$/,u=/^((\d{4}-[01]\d-[0-3]\dT[0-2]\d:[0-5]\d:[0-5]\d\.\d+([+-][0-2]\d:[0-5]\d|Z))|(\d{4}-[01]\d-[0-3]\dT[0-2]\d:[0-5]\d:[0-5]\d([+-][0-2]\d:[0-5]\d|Z))|(\d{4}-[01]\d-[0-3]\dT[0-2]\d:[0-5]\d([+-][0-2]\d:[0-5]\d|Z)))$/,d=this,f=0,p=0,m=!1,_=!1,v=[],y={data:[],errors:[],meta:{}};function x(t){return e.skipEmptyLines===`greedy`?t.join(``).trim()===``:t.length===1&&t[0].length===0}function C(){if(y&&r&&(T(`Delimiter`,`UndetectableDelimiter`,`Unable to auto-detect delimiting character; defaulted to '`+s.DefaultDelimiter+`'`),r=!1),e.skipEmptyLines&&(y.data=y.data.filter(function(e){return!x(e)})),w()){if(y)if(Array.isArray(y.data[0])){for(var t=0;w()&&t<y.data.length;t++)y.data[t].forEach(n);y.data.splice(0,1)}else y.data.forEach(n);function n(t,n){t=c(t),S(e.transformHeader)&&(t=e.transformHeader(t,n)),v.push(t)}}function n(t,n){for(var r=e.header?{}:[],i=0;i<t.length;i++){var s=i,c=t[i],c=((t,n)=>(t=>(e.dynamicTypingFunction&&e.dynamicTyping[t]===void 0&&(e.dynamicTyping[t]=e.dynamicTypingFunction(t)),!0===(e.dynamicTyping[t]||e.dynamicTyping)))(t)?n===`true`||n===`TRUE`||n!==`false`&&n!==`FALSE`&&((e=>{if(l.test(e)&&(e=parseFloat(e),o<e&&e<a))return 1})(n)?parseFloat(n):u.test(n)?new Date(n):n===``?null:n):n)(s=e.header?i>=v.length?`__parsed_extra`:v[i]:s,c=e.transform?e.transform(c,s):c);s===`__parsed_extra`?(r[s]=r[s]||[],r[s].push(c)):r[s]=c}return e.header&&(i>v.length?T(`FieldMismatch`,`TooManyFields`,`Too many fields: expected `+v.length+` fields but parsed `+i,p+n):i<v.length&&T(`FieldMismatch`,`TooFewFields`,`Too few fields: expected `+v.length+` fields but parsed `+i,p+n)),r}var i;y&&(e.header||e.dynamicTyping||e.transform)&&(i=1,!y.data.length||Array.isArray(y.data[0])?(y.data=y.data.map(n),i=y.data.length):y.data=n(y.data,0),e.header&&y.meta&&(y.meta.fields=v),p+=i)}function w(){return e.header&&v.length===0}function T(e,t,n,r){e={type:e,code:t,message:n},r!==void 0&&(e.row=r),y.errors.push(e)}S(e.step)&&(i=e.step,e.step=function(t){y=t,w()?C():(C(),y.data.length!==0&&(f+=t.data.length,e.preview&&f>e.preview?n.abort():(y.data=y.data[0],i(y,d))))}),this.parse=function(i,a,o){var c=e.quoteChar||`"`,c=(e.newline||=this.guessLineEndings(i,c),r=!1,e.delimiter?S(e.delimiter)&&(e.delimiter=e.delimiter(i),y.meta.delimiter=e.delimiter):((c=((t,n,r,i,a)=>{var o,c,l,u;a||=[`,`,` `,`|`,`;`,s.RECORD_SEP,s.UNIT_SEP];for(var d=0;d<a.length;d++){for(var f,p=a[d],m=0,h=0,_=0,v=(l=void 0,new g({comments:i,delimiter:p,newline:n,preview:10}).parse(t)),y=0;y<v.data.length;y++)r&&x(v.data[y])?_++:(f=v.data[y].length,h+=f,l===void 0?l=f:0<f&&(m+=Math.abs(f-l),l=f));0<v.data.length&&(h/=v.data.length-_),(c===void 0||m<=c)&&(u===void 0||u<h)&&1.99<h&&(c=m,o=p,u=h)}return{successful:!!(e.delimiter=o),bestDelimiter:o}})(i,e.newline,e.skipEmptyLines,e.comments,e.delimitersToGuess)).successful?e.delimiter=c.bestDelimiter:(r=!0,e.delimiter=s.DefaultDelimiter),y.meta.delimiter=e.delimiter),b(e));return e.preview&&e.header&&c.preview++,t=i,n=new g(c),y=n.parse(t,a,o),C(),m?{meta:{paused:!0}}:y||{meta:{paused:!1}}},this.paused=function(){return m},this.pause=function(){m=!0,n.abort(),t=S(e.chunk)?``:t.substring(n.getCharIndex())},this.resume=function(){d.streamer._halted?(m=!1,d.streamer.parseChunk(t,!0)):setTimeout(d.resume,3)},this.aborted=function(){return _},this.abort=function(){_=!0,n.abort(),y.meta.aborted=!0,S(e.complete)&&e.complete(y),t=``},this.guessLineEndings=function(e,t){e=e.substring(0,1048576);var t=RegExp(h(t)+`([^]*?)`+h(t),`gm`),n=(e=e.replace(t,``)).split(`\r`),t=e.split(`
|
|
2
|
-
`),e=1<t.length&&t[0].length<n[0].length;if(n.length===1||e)return`
|
|
3
|
-
`;for(var r=0,i=0;i<n.length;i++)n[i][0]===`
|
|
4
|
-
`&&r++;return r>=n.length/2?`\r
|
|
5
|
-
`:`\r`}}function h(e){return e.replace(/[.*+?^${}()|[\]\\]/g,`\\$&`)}function g(e){var t=(e||={}).delimiter,n=e.newline,r=e.comments,i=e.step,a=e.preview,o=e.fastMode,l=null,u=!1,d=e.quoteChar==null?`"`:e.quoteChar,f=d;if(e.escapeChar!==void 0&&(f=e.escapeChar),(typeof t!=`string`||-1<s.BAD_DELIMITERS.indexOf(t))&&(t=`,`),r===t)throw Error(`Comment character same as delimiter`);!0===r?r=`#`:(typeof r!=`string`||-1<s.BAD_DELIMITERS.indexOf(r))&&(r=!1),n!==`
|
|
6
|
-
`&&n!==`\r`&&n!==`\r
|
|
7
|
-
`&&(n=`
|
|
8
|
-
`);var p=0,m=!1;this.parse=function(s,g,_){if(typeof s!=`string`)throw Error(`Input must be a string`);var v=s.length,y=t.length,b=n.length,x=r.length,C=S(i),w=[],T=[],E=[],D=p=0;if(!s)return z();if(o||!1!==o&&s.indexOf(d)===-1){for(var O=s.split(n),k=0;k<O.length;k++){if(E=O[k],p+=E.length,k!==O.length-1)p+=n.length;else if(_)return z();if(!r||E.substring(0,x)!==r){if(C){if(w=[],F(E.split(t)),B(),m)return z()}else F(E.split(t));if(a&&a<=k)return w=w.slice(0,a),z(!0)}}return z()}for(var A=s.indexOf(t,p),j=s.indexOf(n,p),M=new RegExp(h(f)+h(d),`g`),N=s.indexOf(d,p);;)if(s[p]===d)for(N=p,p++;;){if((N=s.indexOf(d,N+1))===-1)return _||T.push({type:`Quotes`,code:`MissingQuotes`,message:`Quoted field unterminated`,row:w.length,index:p}),L();if(N===v-1)return L(s.substring(p,N).replace(M,d));if(d===f&&s[N+1]===f)N++;else if(d===f||N===0||s[N-1]!==f){A!==-1&&A<N+1&&(A=s.indexOf(t,N+1));var P=I((j=j!==-1&&j<N+1?s.indexOf(n,N+1):j)===-1?A:Math.min(A,j));if(s.substr(N+1+P,y)===t){E.push(s.substring(p,N).replace(M,d)),s[p=N+1+P+y]!==d&&(N=s.indexOf(d,p)),A=s.indexOf(t,p),j=s.indexOf(n,p);break}if(P=I(j),s.substring(N+1+P,N+1+P+b)===n){if(E.push(s.substring(p,N).replace(M,d)),R(N+1+P+b),A=s.indexOf(t,p),N=s.indexOf(d,p),C&&(B(),m))return z();if(a&&w.length>=a)return z(!0);break}T.push({type:`Quotes`,code:`InvalidQuotes`,message:`Trailing quote on quoted field is malformed`,row:w.length,index:p}),N++}}else if(r&&E.length===0&&s.substring(p,p+x)===r){if(j===-1)return z();p=j+b,j=s.indexOf(n,p),A=s.indexOf(t,p)}else if(A!==-1&&(A<j||j===-1))E.push(s.substring(p,A)),p=A+y,A=s.indexOf(t,p);else{if(j===-1)break;if(E.push(s.substring(p,j)),R(j+b),C&&(B(),m))return z();if(a&&w.length>=a)return z(!0)}return L();function F(e){w.push(e),D=p}function I(e){var t=0;return t=e!==-1&&(e=s.substring(N+1,e))&&e.trim()===``?e.length:t}function L(e){return _||(e===void 0&&(e=s.substring(p)),E.push(e),p=v,F(E),C&&B()),z()}function R(e){p=e,F(E),E=[],j=s.indexOf(n,p)}function z(r){if(e.header&&!g&&w.length&&!u){var i=w[0],a=Object.create(null),o=new Set(i);let t=!1;for(let n=0;n<i.length;n++){let r=c(i[n]);if(a[r=S(e.transformHeader)?e.transformHeader(r,n):r]){let e,s=a[r];for(;e=r+`_`+s,s++,o.has(e););o.add(e),i[n]=e,a[r]++,t=!0,(l=l===null?{}:l)[e]=r}else a[r]=1,i[n]=r;o.add(r)}t&&console.warn(`Duplicate headers found and renamed.`),u=!0}return{data:w,errors:T,meta:{delimiter:t,linebreak:n,aborted:m,truncated:!!r,cursor:D+(g||0),renamedHeaders:l}}}function B(){i(z()),w=[],T=[]}},this.abort=function(){m=!0},this.getCharIndex=function(){return p}}function _(e){var t=e.data,n=a[t.workerId],r=!1;if(t.error)n.userError(t.error,t.file);else if(t.results&&t.results.data){var i={abort:function(){r=!0,v(t.workerId,{data:[],errors:[],meta:{aborted:!0}})},pause:y,resume:y};if(S(n.userStep)){for(var o=0;o<t.results.data.length&&(n.userStep({data:t.results.data[o],errors:t.results.errors,meta:t.results.meta},i),!r);o++);delete t.results}else S(n.userChunk)&&(n.userChunk(t.results,i,t.file),delete t.results)}t.finished&&!r&&v(t.workerId,t.results)}function v(e,t){var n=a[e];S(n.userComplete)&&n.userComplete(t),n.terminate(),delete a[e]}function y(){throw Error(`Not implemented.`)}function b(e){if(typeof e!=`object`||!e)return e;var t,n=Array.isArray(e)?[]:{};for(t in e)n[t]=b(e[t]);return n}function x(e,t){return function(){e.apply(t,arguments)}}function S(e){return typeof e==`function`}return s.parse=function(n,r){var i=(r||={}).dynamicTyping||!1;if(S(i)&&(r.dynamicTypingFunction=i,i={}),r.dynamicTyping=i,r.transform=!!S(r.transform)&&r.transform,!r.worker||!s.WORKERS_SUPPORTED)return i=null,s.NODE_STREAM_INPUT,typeof n==`string`?(n=c(n),i=new(r.download?u:f)(r)):!0===n.readable&&S(n.read)&&S(n.on)?i=new p(r):(t.File&&n instanceof File||n instanceof Object)&&(i=new d(r)),i.stream(n);(i=(()=>{var n;return!!s.WORKERS_SUPPORTED&&(n=(()=>{var n=t.URL||t.webkitURL||null,r=e.toString();return s.BLOB_URL||=n.createObjectURL(new Blob([`var global = (function() { if (typeof self !== 'undefined') { return self; } if (typeof window !== 'undefined') { return window; } if (typeof global !== 'undefined') { return global; } return {}; })(); global.IS_PAPA_WORKER=true; `,`(`,r,`)();`],{type:`text/javascript`}))})(),(n=new t.Worker(n)).onmessage=_,n.id=o++,a[n.id]=n)})()).userStep=r.step,i.userChunk=r.chunk,i.userComplete=r.complete,i.userError=r.error,r.step=S(r.step),r.chunk=S(r.chunk),r.complete=S(r.complete),r.error=S(r.error),delete r.worker,i.postMessage({input:n,config:r,workerId:i.id})},s.unparse=function(e,t){var n=!1,r=!0,i=`,`,a=`\r
|
|
9
|
-
`,o=`"`,c=o+o,l=!1,u=null,d=!1,f=((()=>{if(typeof t==`object`){if(typeof t.delimiter!=`string`||s.BAD_DELIMITERS.filter(function(e){return t.delimiter.indexOf(e)!==-1}).length||(i=t.delimiter),typeof t.quotes!=`boolean`&&typeof t.quotes!=`function`&&!Array.isArray(t.quotes)||(n=t.quotes),typeof t.skipEmptyLines!=`boolean`&&typeof t.skipEmptyLines!=`string`||(l=t.skipEmptyLines),typeof t.newline==`string`&&(a=t.newline),typeof t.quoteChar==`string`&&(o=t.quoteChar,c=o+o),typeof t.header==`boolean`&&(r=t.header),Array.isArray(t.columns)){if(t.columns.length===0)throw Error(`Option columns is empty`);u=t.columns}t.escapeChar!==void 0&&(c=t.escapeChar+o),t.escapeFormulae instanceof RegExp?d=t.escapeFormulae:typeof t.escapeFormulae==`boolean`&&t.escapeFormulae&&(d=/^[=+\-@\t\r].*$/)}})(),new RegExp(h(o),`g`));if(typeof e==`string`&&(e=JSON.parse(e)),Array.isArray(e)){if(!e.length||Array.isArray(e[0]))return p(null,e,l);if(typeof e[0]==`object`)return p(u||Object.keys(e[0]),e,l)}else if(typeof e==`object`)return typeof e.data==`string`&&(e.data=JSON.parse(e.data)),Array.isArray(e.data)&&(e.fields||=e.meta&&e.meta.fields||u,e.fields||=Array.isArray(e.data[0])?e.fields:typeof e.data[0]==`object`?Object.keys(e.data[0]):[],Array.isArray(e.data[0])||typeof e.data[0]==`object`||(e.data=[e.data])),p(e.fields||[],e.data||[],l);throw Error(`Unable to serialize unrecognized input`);function p(e,t,n){var o=``,s=(typeof e==`string`&&(e=JSON.parse(e)),typeof t==`string`&&(t=JSON.parse(t)),Array.isArray(e)&&0<e.length),c=!Array.isArray(t[0]);if(s&&r){for(var l=0;l<e.length;l++)0<l&&(o+=i),o+=m(e[l],l);0<t.length&&(o+=a)}for(var u=0;u<t.length;u++){var d=(s?e:t[u]).length,f=!1,p=s?Object.keys(t[u]).length===0:t[u].length===0;if(n&&!s&&(f=n===`greedy`?t[u].join(``).trim()===``:t[u].length===1&&t[u][0].length===0),n===`greedy`&&s){for(var h=[],g=0;g<d;g++){var _=c?e[g]:g;h.push(t[u][_])}f=h.join(``).trim()===``}if(!f){for(var v=0;v<d;v++){0<v&&!p&&(o+=i);var y=s&&c?e[v]:v;o+=m(t[u][y],v)}u<t.length-1&&(!n||0<d&&!p)&&(o+=a)}}return o}function m(e,t){var r,a,l;return e==null?``:e.constructor===Date?JSON.stringify(e).slice(1,25):(l=!1,d&&typeof e==`string`&&d.test(e)&&(e=`'`+e,l=!0),a=(r=e.toString()).replace(f,c),(l=l||!0===n||typeof n==`function`&&n(e,t)||Array.isArray(n)&&n[t]||((e,t)=>{for(var n=0;n<t.length;n++)if(-1<e.indexOf(t[n]))return!0;return!1})(a,s.BAD_DELIMITERS)||-1<a.indexOf(i)||-1<r.indexOf(o)||a.charAt(0)===` `||a.charAt(a.length-1)===` `)?o+a+o:a)}},s.RECORD_SEP=``,s.UNIT_SEP=``,s.BYTE_ORDER_MARK=``,s.BAD_DELIMITERS=[`\r`,`
|
|
10
|
-
`,`"`,s.BYTE_ORDER_MARK],s.WORKERS_SUPPORTED=!r&&!!t.Worker,s.NODE_STREAM_INPUT=1,s.LocalChunkSize=10485760,s.RemoteChunkSize=5242880,s.DefaultDelimiter=`,`,s.Parser=g,s.ParserHandle=m,s.NetworkStreamer=u,s.FileStreamer=d,s.StringStreamer=f,s.ReadableStreamStreamer=p,t.jQuery&&((n=t.jQuery).fn.parse=function(e){var r=e.config||{},i=[];return this.each(function(e){if(!(n(this).prop(`tagName`).toUpperCase()===`INPUT`&&n(this).attr(`type`).toLowerCase()===`file`&&t.FileReader)||!this.files||this.files.length===0)return!0;for(var a=0;a<this.files.length;a++)i.push({file:this.files[a],inputElem:this,instanceConfig:n.extend({},r)})}),a(),this;function a(){if(i.length===0)S(e.complete)&&e.complete();else{var t,r,a,c,l=i[0];if(S(e.before)){var u=e.before(l.file,l.inputElem);if(typeof u==`object`){if(u.action===`abort`)return t=`AbortError`,r=l.file,a=l.inputElem,c=u.reason,void(S(e.error)&&e.error({name:t},r,a,c));if(u.action===`skip`)return void o();typeof u.config==`object`&&(l.instanceConfig=n.extend(l.instanceConfig,u.config))}else if(u===`skip`)return void o()}var d=l.instanceConfig.complete;l.instanceConfig.complete=function(e){S(d)&&d(e,l.file,l.inputElem),o()},s.parse(l.file,l.instanceConfig)}}function o(){i.splice(0,1),a()}}),i&&(t.onmessage=function(e){e=e.data,s.WORKER_ID===void 0&&e&&(s.WORKER_ID=e.workerId),typeof e.input==`string`?t.postMessage({workerId:s.WORKER_ID,results:s.parse(e.input,e.config),finished:!0}):(t.File&&e.input instanceof File||e.input instanceof Object)&&(e=s.parse(e.input,e.config))&&t.postMessage({workerId:s.WORKER_ID,results:e,finished:!0})}),(u.prototype=Object.create(l.prototype)).constructor=u,(d.prototype=Object.create(l.prototype)).constructor=d,(f.prototype=Object.create(f.prototype)).constructor=f,(p.prototype=Object.create(l.prototype)).constructor=p,s})})),s=t(),c={short_text:r,long_text:n,address:i},l=({type:e,className:t})=>(0,s.jsx)(c[e]||r,{className:t});function u({type:e}){return(0,s.jsxs)(`span`,{className:`flex items-center gap-2`,children:[(0,s.jsx)(`span`,{className:`flex w-5 shrink-0 items-center justify-center`,children:(0,s.jsx)(l,{className:`size-4`,type:e})}),(0,s.jsx)(`span`,{children:a(e).label})]})}export{l as n,o as r,u 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{f as r,n as i,p as a}from"./hooks-CuEZV2-q.js";import{n as o}from"./dist-Ndy-PuGN.js";import{t as s}from"./use-form-vRjI0Kwk.js";import{h as c}from"./chunk-KS7C4IRE-DCsL4i4D.js";import{m as l}from"./dist-B3keLvjj.js";import{t as u}from"./box-CdfQAP_F.js";import{t as d}from"./inline-BWSs_VzR.js";import{t as f}from"./stack-B2eszIiq.js";import{D as p,dt as m,o as h,t as g}from"./button-B2jcu6bk.js";import{t as _}from"./input--W-rCTrX.js";import{a as v,i as y,n as b,o as x,r as S,s as C,t as w}from"./select-DuDUFdPq.js";import{o as T,t as E}from"./use-settings-navigation-BbrSUVcf.js";import{t as D}from"./empty-indicator-D9QdpuNX.js";import{a as O,i as k,o as A,t as j}from"./field-Cj8lmDOo.js";import{a as M,c as N,n as ee,r as P,s as F,t as te}from"./table-B2pIKjVh.js";import{Rn as I}from"./index-DjQe-e5s.js";import{a as ne,c as re,i as ie,n as L,o as R,r as z,s as B,t as V}from"./images-h8VZEQ9k.js";import{t as H}from"./validator-Cr0sMKuW.js";import{n as U}from"./confirmation-context-BhbmQQEl.js";import{a as W,n as G,t as K}from"./integrations-Bjbu86Z0.js";import{t as q}from"./api-keys-BLm2NDBh.js";import{t as J}from"./api-keys-3-0vJC3Y.js";var Y=e(t(),1),ae=e(H(),1),X=[{label:`Global`,options:[{value:`site.changed`,label:`Site changed (rebuild)`}]},{label:`Posts`,options:[{value:`post.added`,label:`Post created`},{value:`post.deleted`,label:`Post deleted`},{value:`post.edited`,label:`Post updated`},{value:`post.published`,label:`Post published`},{value:`post.published.edited`,label:`Published post updated`},{value:`post.unpublished`,label:`Post unpublished`},{value:`post.scheduled`,label:`Post scheduled`},{value:`post.unscheduled`,label:`Post unscheduled`},{value:`post.tag.attached`,label:`Tag added to post`},{value:`post.tag.detached`,label:`Tag removed from post`}]},{label:`Pages`,options:[{value:`page.added`,label:`Page created`},{value:`page.deleted`,label:`Page deleted`},{value:`page.edited`,label:`Page updated`},{value:`page.published`,label:`Page published`},{value:`page.published.edited`,label:`Published page updated`},{value:`page.unpublished`,label:`Page unpublished`},{value:`page.tag.attached`,label:`Tag added to page`},{value:`page.tag.detached`,label:`Tag removed from page`}]},{label:`Tags`,options:[{value:`tag.added`,label:`Tag created`},{value:`tag.edited`,label:`Tag updated`},{value:`tag.deleted`,label:`Tag deleted`}]},{label:`Members`,options:[{value:`member.added`,label:`Member added`},{value:`member.edited`,label:`Member updated`},{value:`member.deleted`,label:`Member deleted`}]}],oe=e=>X.flatMap(({options:e})=>e).find(t=>t.value===e)?.label,se=i({method:`POST`,path:()=>`/webhooks/`,body:e=>({webhooks:[e]}),updateQueries:{dataType:K,emberUpdateType:`createOrUpdate`,update:(e,t)=>t&&{...t,integrations:t.integrations.map(t=>{let n=e.webhooks[0];return n.integration_id===t.id?{...t,webhooks:[...t.webhooks||[],n]}:t})}}}),ce=i({method:`PUT`,path:e=>`/webhooks/${e.id}/`,body:e=>({webhooks:[e]}),updateQueries:{dataType:K,emberUpdateType:`createOrUpdate`,update:(e,t)=>t&&{...t,integrations:t.integrations.map(t=>({...t,webhooks:t.webhooks?.map(t=>t.id===e.webhooks[0].id?e.webhooks[0]:t)}))}}}),le=i({method:`DELETE`,path:e=>`/webhooks/${e}/`,updateQueries:{dataType:K,emberUpdateType:`createOrUpdate`,update:(e,t,n)=>({...t,integrations:t.integrations.map(e=>({...e,webhooks:e.webhooks?.filter(e=>e.id!==n)}))})}}),Z=n(),Q=({webhook:e,integrationId:t,onClose:n})=>{let r=Y.useId(),{mutateAsync:i}=se(),{mutateAsync:o}=ce(),c=a(),{formState:l,updateForm:u,handleSave:d,errors:f,clearError:p}=s({initialState:e||{},onSave:async()=>{l.id?await o(l):await i({...l,integration_id:t})},onSaveError:c,onValidate:()=>{let e={};return l.name||(e.name=`Enter a name`),l.event||(e.event=`Select an event`),l.target_url||(e.target_url=`Enter a target URL`),l.target_url&&!ae.default.isURL(l.target_url,{require_tld:!1})&&(e.target_url=`Enter a valid URL`),e}});return(0,Z.jsx)(T,{okLabel:e?`Update`:`Add`,okVariant:`default`,size:`sm`,testId:`webhook-modal`,title:`Add webhook`,formSheet:!0,onClose:n,onOk:async()=>{await d()&&n()},children:(0,Z.jsx)(`div`,{className:`mt-5`,children:(0,Z.jsxs)(O,{className:`gap-8`,children:[(0,Z.jsxs)(j,{"data-invalid":!!f.name||void 0,children:[(0,Z.jsx)(A,{htmlFor:`webhook-name`,children:`Name`}),(0,Z.jsx)(_,{"aria-invalid":!!f.name||void 0,id:`webhook-name`,maxLength:191,placeholder:`Custom webhook`,value:l.name??``,onChange:e=>u(t=>({...t,name:e.target.value})),onKeyDown:()=>p(`name`)}),f.name&&(0,Z.jsx)(k,{children:f.name})]}),(0,Z.jsxs)(j,{"data-invalid":!!f.event||void 0,children:[(0,Z.jsx)(A,{className:`sr-only`,children:`Event`}),(0,Z.jsxs)(w,{value:l.event??``,onValueChange:e=>{u(t=>({...t,event:e})),p(`event`)},children:[(0,Z.jsx)(x,{"aria-describedby":f.event?r:void 0,"aria-invalid":!!f.event||void 0,"aria-label":`Event`,"data-testid":`event-select`,children:(0,Z.jsx)(C,{placeholder:`Select an event`})}),(0,Z.jsx)(b,{children:X.map(e=>(0,Z.jsxs)(S,{children:[(0,Z.jsx)(v,{children:e.label}),e.options.map(e=>(0,Z.jsx)(y,{value:e.value,children:e.label},e.value))]},e.label))})]}),f.event&&(0,Z.jsx)(k,{id:r,children:f.event})]}),(0,Z.jsxs)(j,{"data-invalid":!!f.target_url||void 0,children:[(0,Z.jsx)(A,{htmlFor:`webhook-target-url`,children:`Target URL`}),(0,Z.jsx)(_,{"aria-invalid":!!f.target_url||void 0,id:`webhook-target-url`,maxLength:2e3,placeholder:`https://example.com`,type:`url`,value:l.target_url??``,onChange:e=>u(t=>({...t,target_url:e.target.value})),onKeyDown:()=>p(`target_url`)}),f.target_url&&(0,Z.jsx)(k,{children:f.target_url})]}),(0,Z.jsxs)(j,{children:[(0,Z.jsx)(A,{htmlFor:`webhook-secret`,children:`Secret`}),(0,Z.jsx)(_,{id:`webhook-secret`,maxLength:191,placeholder:`https://example.com`,value:l.secret||``,onChange:e=>u(t=>({...t,secret:e.target.value}))})]})]})})})},$=({integration:e})=>{let{mutateAsync:t}=le(),n=a(),{confirm:r}=U(),i=e.webhooks||[],[s,c]=(0,Y.useState)(null),[u,p]=(0,Y.useState)(!1),_=()=>{p(!0)},v=()=>{p(!1),c(null)},y=u?(0,Z.jsx)(Q,{integrationId:e.id,onClose:v}):s&&(0,Z.jsx)(Q,{integrationId:e.id,webhook:s,onClose:v},s.id),b=e=>{r({title:`Are you sure?`,prompt:`Deleting this webhook may prevent the integration from functioning.`,okVariant:`destructive`,okLabel:`Delete Webhook`,onOk:async r=>{try{await t(e),r?.remove(),o.info(`Webhook deleted`)}catch(e){n(e)}}})};return i.length===0?(0,Z.jsxs)(f,{gap:`none`,children:[(0,Z.jsx)(I,{}),(0,Z.jsx)(D,{actions:(0,Z.jsxs)(g,{type:`button`,variant:`outline`,onClick:_,children:[(0,Z.jsx)(m,{}),` Add webhook`]}),className:`py-8`,description:`Add a webhook to send Ghost events to another service.`,title:`No webhooks`,children:(0,Z.jsx)(h,{})}),(0,Z.jsx)(I,{}),y]}):(0,Z.jsxs)(f,{gap:`none`,children:[(0,Z.jsxs)(te,{children:[(0,Z.jsx)(F,{children:(0,Z.jsxs)(N,{children:[(0,Z.jsxs)(M,{children:[l(e.webhooks?.length||0),` `,e.webhooks?.length===1?`webhook`:`webhooks`]}),(0,Z.jsx)(M,{children:`Last triggered`}),(0,Z.jsx)(M,{children:(0,Z.jsx)(`span`,{className:`sr-only`,children:`Actions`})})]})}),(0,Z.jsx)(ee,{children:i.map(e=>(0,Z.jsxs)(N,{className:`cursor-pointer`,onClick:()=>c(e),children:[(0,Z.jsxs)(P,{className:`w-3/4 py-3 pr-6`,children:[(0,Z.jsx)(`div`,{className:`font-semibold`,children:e.name}),(0,Z.jsxs)(`div`,{className:`mt-1 grid grid-cols-[max-content_1fr] gap-1 text-sm leading-snug`,children:[(0,Z.jsx)(`span`,{className:`text-muted-foreground`,children:`Event:`}),(0,Z.jsx)(`span`,{children:oe(e.event)}),(0,Z.jsx)(`span`,{className:`text-muted-foreground`,children:`URL:`}),(0,Z.jsx)(`span`,{className:`line-clamp-3 break-all`,title:e.target_url,children:e.target_url})]})]}),(0,Z.jsx)(P,{className:`w-1/4 py-3 pr-6 text-sm`,children:e.last_triggered_at&&new Date(e.last_triggered_at).toLocaleString(`default`,{weekday:`short`,month:`short`,day:`numeric`,year:`numeric`,hour:`2-digit`,minute:`2-digit`,second:`2-digit`})}),(0,Z.jsx)(P,{className:`w-0 text-right`,children:(0,Z.jsx)(g,{className:`text-destructive hover:text-destructive`,size:`sm`,type:`button`,variant:`ghost`,onClick:t=>{t.stopPropagation(),b(e.id)},children:`Delete`})})]},e.id))})]}),(0,Z.jsx)(d,{className:`py-4`,justify:`center`,children:(0,Z.jsxs)(g,{size:`sm`,type:`button`,variant:`outline`,onClick:_,children:[(0,Z.jsx)(m,{}),` Add webhook`]})}),(0,Z.jsx)(I,{}),y]})},ue=({integration:e})=>{let{updateRoute:t}=E(),{mutateAsync:n}=W(),{mutateAsync:i}=J(),{mutateAsync:o}=L(),c=a(),{confirm:l}=U(),{formState:d,updateForm:m,handleSave:h,saveState:g,errors:v,clearError:y,okProps:b}=s({initialState:e,savingDelay:500,savedDelay:500,onSave:async()=>{await n(d)},onSavedStateReset:()=>{t(`integrations`)},onSaveError:c,onValidate:()=>{let e={};return d.name||(e.name=`Enter integration title`),e}}),x=async e=>{try{let t=V(await o({file:e}));m(e=>({...e,icon_image:t}))}catch(e){let t=e;t.response.status===415&&(t.message=`Unsupported file type`),c(t)}},S=e.api_keys?.find(e=>e.type===`admin`),C=e.api_keys?.find(e=>e.type===`content`),[w,D]=(0,Y.useState)(!1),[O,M]=(0,Y.useState)(!1);(0,Y.useEffect)(()=>{e.type!==`custom`&&t(`integrations`)},[e.type,t]);let N=(t,n)=>{n(!1);let r=t.type===`content`?`Content`:`Admin`;l({title:`Regenerate ${r} API Key`,prompt:`You can regenerate ${r} API Key any time, but any scripts or applications using it will need to be updated.`,okLabel:`Regenerate ${r} API Key`,onOk:async r=>{try{await i({integrationId:e.id,apiKeyId:t.id}),n(!0),r?.remove()}catch(e){c(e)}}})};return(0,Z.jsxs)(T,{buttonsDisabled:b.disabled,cancelLabel:`Close`,dirty:g===`unsaved`,okLabel:b.label||`Save`,okVariant:b.variant,size:`md`,testId:`custom-integration-modal`,title:d.name||`Custom integration`,stickyFooter:!0,onClose:()=>{t(`integrations`)},onOk:async()=>{await h({fakeWhenUnchanged:!0})},children:[(0,Z.jsxs)(f,{className:`w-full pt-6 md:flex-row`,gap:`xl`,children:[(0,Z.jsx)(`div`,{className:`shrink-0`,children:(0,Z.jsx)(z,{className:`size-25`,children:d.icon_image?(0,Z.jsxs)(re,{children:[(0,Z.jsx)(B,{id:`custom-integration-icon`,src:d.icon_image}),(0,Z.jsx)(ne,{children:(0,Z.jsx)(ie,{"aria-label":`Remove icon`,onClick:()=>m(e=>({...e,icon_image:null})),children:(0,Z.jsx)(p,{})})})]}):(0,Z.jsx)(R,{className:`text-center`,inputId:`custom-integration-icon`,onDropAccepted:([e])=>void x(e),children:`Upload icon`})})}),(0,Z.jsxs)(f,{className:`min-w-0 grow`,gap:`2xl`,children:[(0,Z.jsxs)(f,{gap:`md`,children:[(0,Z.jsxs)(j,{"data-invalid":!!v.name||void 0,children:[(0,Z.jsx)(A,{htmlFor:`integration-title`,children:`Title`}),(0,Z.jsx)(_,{"aria-invalid":!!v.name||void 0,id:`integration-title`,maxLength:191,value:d.name,onChange:e=>m(t=>({...t,name:e.target.value})),onKeyDown:()=>y(`name`)}),v.name&&(0,Z.jsx)(k,{children:v.name})]}),(0,Z.jsxs)(j,{children:[(0,Z.jsx)(A,{htmlFor:`integration-description`,children:`Description`}),(0,Z.jsx)(_,{id:`integration-description`,maxLength:2e3,value:d.description||``,onChange:e=>m(t=>({...t,description:e.target.value}))})]})]}),(0,Z.jsx)(q,{keys:[{id:`content-api-key`,label:`Content API key`,text:C?.secret,hint:O?(0,Z.jsx)(`div`,{className:`text-green`,children:`Content API Key was successfully regenerated`}):void 0,onRegenerate:()=>C&&N(C,M)},{id:`admin-api-key`,label:`Admin API key`,text:S?.secret,hint:w?(0,Z.jsx)(`div`,{className:`text-green`,children:`Admin API Key was successfully regenerated`}):void 0,onRegenerate:()=>S&&N(S,D)},{id:`api-url`,label:`API URL`,text:window.location.origin+r().subdir}]})]})]}),(0,Z.jsx)(u,{className:`mt-8`,children:(0,Z.jsx)($,{integration:e})})]})};function de(){let{integrationId:e}=c(),{data:{integrations:t}={}}=G(),n=t?.find(({id:t})=>t===e);return n?(0,Z.jsx)(ue,{integration:n}):null}export{de as default};
|