ghost 6.58.0 → 6.59.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (453) hide show
  1. package/components/tryghost-adapter-base-scheduling-0.2.2.tgz +0 -0
  2. package/components/tryghost-adapter-base-sso-0.1.2.tgz +0 -0
  3. package/components/tryghost-i18n-0.0.0.tgz +0 -0
  4. package/components/tryghost-kg-default-nodes-2.2.0.tgz +0 -0
  5. package/components/tryghost-kg-html-to-lexical-1.4.0.tgz +0 -0
  6. package/components/tryghost-kg-lexical-html-renderer-1.5.0.tgz +0 -0
  7. package/content/themes/casper/.github/workflows/test.yml +11 -1
  8. package/content/themes/casper/AGENTS.md +25 -0
  9. package/content/themes/casper/assets/built/screen.css +1 -1
  10. package/content/themes/casper/assets/css/screen.css +15 -1
  11. package/content/themes/casper/gulpfile.js +3 -0
  12. package/content/themes/casper/package.json +8 -8
  13. package/content/themes/source/.gitattributes +5 -0
  14. package/content/themes/source/.github/workflows/test.yml +39 -0
  15. package/content/themes/source/AGENTS.md +25 -0
  16. package/content/themes/source/README.md +33 -4
  17. package/content/themes/source/assets/built/screen.css +1 -1
  18. package/content/themes/source/assets/css/screen.css +15 -0
  19. package/content/themes/source/gulpfile.js +6 -3
  20. package/content/themes/source/package.json +13 -10
  21. package/content/themes/source/pnpm-workspace.yaml +3 -0
  22. package/core/boot.js +11 -4
  23. package/core/built/admin/assets/Combination-BCm9FL4o.js +41 -0
  24. package/core/built/admin/assets/about-BdSCpjXG.js +1 -0
  25. package/core/built/admin/assets/account-migration-BpKAqo8k.js +1 -0
  26. package/core/built/admin/assets/activitypub/{account-migration-BpDeIF3G.js → account-migration-DVnYS1XG.js} +8 -8
  27. package/core/built/admin/assets/activitypub/activitypub.js +2 -2
  28. package/core/built/admin/assets/activitypub/{bluesky-sharing-aPMtrS3L.js → bluesky-sharing-DLVeE9ii.js} +31 -31
  29. package/core/built/admin/assets/activitypub/{content-formatters-BORfuA9G.js → content-formatters-DCsVic-t.js} +2 -2
  30. package/core/built/admin/assets/activitypub/{dist-ByFmDSNP2.js → dist-ByFmDSNP.js} +1 -1
  31. package/core/built/admin/assets/activitypub/{domain-CPdiB27_.js → domain-rrvDLfnK.js} +8 -8
  32. package/core/built/admin/assets/activitypub/{edit-profile-BY2PawIe.js → edit-profile-VT-piVxq.js} +23 -23
  33. package/core/built/admin/assets/activitypub/{explore-Sp9bgAwq.js → explore-DZg3m48P.js} +14 -14
  34. package/core/built/admin/assets/activitypub/{feed-BjtF4ohL.js → feed-BJqQvDMI.js} +41 -41
  35. package/core/built/admin/assets/activitypub/{field-BDOYVTg6.js → field-BezS4-1J.js} +2 -2
  36. package/core/built/admin/assets/activitypub/inbox-Uf0GVrI_.js +1284 -0
  37. package/core/built/admin/assets/activitypub/{label-1jhN-qhD.js → label-CZ6if4zK.js} +2 -2
  38. package/core/built/admin/assets/activitypub/layout-DNuYT4Gu.js +1 -0
  39. package/core/built/admin/assets/activitypub/moderation-CP6mDVky.js +340 -0
  40. package/core/built/admin/assets/activitypub/{note-nr_m_5yb.js → note-BlFkye2g.js} +16 -16
  41. package/core/built/admin/assets/activitypub/{notifications-BdcyivbT.js → notifications-GGTrGEdu.js} +163 -126
  42. package/core/built/admin/assets/activitypub/{preferences-CNqy1x9C.js → preferences-CjZXrZqr.js} +1550 -1551
  43. package/core/built/admin/assets/activitypub/{profile-DlY4rhbO.js → profile-CcXYxydm.js} +248 -248
  44. package/core/built/admin/assets/activitypub/{routes-CEHdEZzS.js → routes-nHCKlZl-.js} +1971 -1747
  45. package/core/built/admin/assets/activitypub/settings-pDzybcb3.js +315 -0
  46. package/core/built/admin/assets/activitypub/{site-CtBUCPBz.js → site-BZF0F8LN.js} +101 -101
  47. package/core/built/admin/assets/activitypub/{step-1-D9jGWyAy.js → step-1-C-Ns1Tfg.js} +3 -3
  48. package/core/built/admin/assets/activitypub/{step-3-KpUqpGWi.js → step-3-rDMNGmLg.js} +8 -8
  49. package/core/built/admin/assets/activitypub/{tabs-DvlsxTCI.js → tabs-CDjh3_Jp.js} +198 -198
  50. package/core/built/admin/assets/activitypub/{topic-filter-CIN1E2jg.js → topic-filter-CmTc8hpN.js} +2 -2
  51. package/core/built/admin/assets/activitypub/{use-activity-pub-queries-CATFd6YV.js → use-activity-pub-queries-DUDEdSdR.js} +286 -243
  52. package/core/built/admin/assets/activitypub/{use-reply-chain-data-DJ0vhA8V.js → use-reply-chain-data-TunGtmJl.js} +14 -14
  53. package/core/built/admin/assets/add-integration-modal-CXRQi1x0.js +1 -0
  54. package/core/built/admin/assets/add-newsletter-modal-t447KRYz.js +1 -0
  55. package/core/built/admin/assets/add-recommendation-modal-D882MdnR.js +1 -0
  56. package/core/built/admin/assets/{analytics-BC2oR8ay.js → analytics-Dj-WlzPf.js} +1 -1
  57. package/core/built/admin/assets/announcement-bar-modal-CwHKKw-a.js +1 -0
  58. package/core/built/admin/assets/api-keys-Boy5pLbD.js +1 -0
  59. package/core/built/admin/assets/audience-Cc40y7zQ.js +1 -0
  60. package/core/built/admin/assets/automations-DNLK5Udr.js +1 -0
  61. package/core/built/admin/assets/bluesky-sharing-Cm4aFaOl.js +1 -0
  62. package/core/built/admin/assets/breadcrumb-CcFr_ltt.js +1 -0
  63. package/core/built/admin/assets/button-BshWPHvn.js +1 -0
  64. package/core/built/admin/assets/chart-helpers-BsbzoWhK.js +1 -0
  65. package/core/built/admin/assets/{checkbox-LmClhqcS.js → checkbox-1G6KfK2q.js} +1 -1
  66. package/core/built/admin/assets/chunk-KS7C4IRE-DCsL4i4D.js +4 -0
  67. package/core/built/admin/assets/{chunk.408.1a258af360eb8d905508.js → chunk.301.5673a0caf7c49bb00212.js} +3 -3
  68. package/core/built/admin/assets/{chunk.524.4c693c3a00ac91df34fa.js → chunk.524.86db0d945468c852374b.js} +4 -4
  69. package/core/built/admin/assets/{chunk.582.20b600e329e58d12d7c2.js → chunk.582.c2f6216d3c4af303e236.js} +6 -6
  70. package/core/built/admin/assets/{code-editor-view-DqTOUnbM.js → code-editor-view-BVjtWyst.js} +1 -1
  71. package/core/built/admin/assets/{code-editor-view-bA0lfxUL.js → code-editor-view-y_zVfmCa.js} +1 -1
  72. package/core/built/admin/assets/color-picker-XEMPgNJE.js +3 -0
  73. package/core/built/admin/assets/{color-picker-field-Cv9GOJQZ.js → color-picker-field-BhplXcy5.js} +1 -1
  74. package/core/built/admin/assets/combobox-CRMJrvcQ.js +1 -0
  75. package/core/built/admin/assets/command-151T2eRx.js +1 -0
  76. package/core/built/admin/assets/comments-Bjbl9toF.js +1 -0
  77. package/core/built/admin/assets/confirmation-context-QmFxSjWy.js +1 -0
  78. package/core/built/admin/assets/{content-api-modal-BOFWRUkC.js → content-api-modal-CpeABXne.js} +1 -1
  79. package/core/built/admin/assets/{copy-field-8biQvNMD.js → copy-field-CglgRZyG.js} +1 -1
  80. package/core/built/admin/assets/custom-field-type-option-DSyJw4T4.js +1 -0
  81. package/core/built/admin/assets/custom-integration-modal-DWB9bRVp.js +1 -0
  82. package/core/built/admin/assets/date-range-select-kaKtab5O.js +1 -0
  83. package/core/built/admin/assets/design-and-theme-modal-86s2AaZ-.js +23 -0
  84. package/core/built/admin/assets/dirty-confirm-dialog-CTFdXXy7.js +1 -0
  85. package/core/built/admin/assets/disabled-sources-indicator-BFyCxUOx.js +1 -0
  86. package/core/built/admin/assets/dist-C1-Oy3Db.js +1 -0
  87. package/core/built/admin/assets/dist-CJJqYPep.js +1 -0
  88. package/core/built/admin/assets/dist-CNlMj7ML.js +1 -0
  89. package/core/built/admin/assets/dist-Kll2twSG.js +1 -0
  90. package/core/built/admin/assets/domain-BOoMvBG3.js +1 -0
  91. package/core/built/admin/assets/{dropzone-B21Entqz.js → dropzone-B6KWzsrb.js} +2 -2
  92. package/core/built/admin/assets/edit-profile-BagrYOrN.js +1 -0
  93. package/core/built/admin/assets/editor-AaJjqbpk.js +8 -0
  94. package/core/built/admin/assets/embed-signup-form-modal-B8L95KwR.js +8 -0
  95. package/core/built/admin/assets/explore-xbykZTlO.js +1 -0
  96. package/core/built/admin/assets/feed-BAHSipWv.js +1 -0
  97. package/core/built/admin/assets/{field-BQqLTgHM.js → field-kJYZ2T3C.js} +1 -1
  98. package/core/built/admin/assets/{filter-sources-FgqoUIL7.js → filter-sources-QeqFGNRB.js} +1 -1
  99. package/core/built/admin/assets/{filters-D0uIMD8n.js → filters-By5KQeV6.js} +1 -1
  100. package/core/built/admin/assets/filters-DtYpAkDd.js +1 -0
  101. package/core/built/admin/assets/first-promoter-modal-8A02oyjA.js +1 -0
  102. package/core/built/admin/assets/{ghost-ba408063a5922b458b4a8f216cf23251.js → ghost-f110822e67868c9fdf9a6c23754b2559.js} +9 -8
  103. package/core/built/admin/assets/gift-link-modal-DbYCyuhF.js +1 -0
  104. package/core/built/admin/assets/global-data-context-gAMDH9u1.js +1 -0
  105. package/core/built/admin/assets/growth-BSOxJGey.js +3 -0
  106. package/core/built/admin/assets/growth-BZTjURq5.js +1 -0
  107. package/core/built/admin/assets/history-modal-CCgWtlZE.js +1 -0
  108. package/core/built/admin/assets/html-field-BQC7XyLA.js +1 -0
  109. package/core/built/admin/assets/iframe-buffering-DnOlWTD4.js +1 -0
  110. package/core/built/admin/assets/{images-3cQgwfTD.js → images-D5UKr2SG.js} +1 -1
  111. package/core/built/admin/assets/{inbox-Dz_JblyJ.js → inbox-DvN15_YH.js} +45 -39
  112. package/core/built/admin/assets/index-BJz9Zlsc.js +67 -0
  113. package/core/built/admin/assets/index-Dg8cdR8E.css +1 -0
  114. package/core/built/admin/assets/{input-group-DpogNUIt.js → input-group-BPAxETpQ.js} +1 -1
  115. package/core/built/admin/assets/invite-user-modal-jcUaaNkW.js +1 -0
  116. package/core/built/admin/assets/{koenig-lexical-2KuqRwZI.js → koenig-lexical-CfXTYeli.js} +1 -1
  117. package/core/built/admin/assets/koenig-loader-DktFM3Uh.js +1 -0
  118. package/core/built/admin/assets/{kpi-card-Ck3tT2Wg.js → kpi-card-fUHZlzBX.js} +1 -1
  119. package/core/built/admin/assets/{kpi-card-DDIxptaS.js → kpi-card-o0urVtNL.js} +1 -1
  120. package/core/built/admin/assets/kpi-helpers-2FTF4a3-.js +1 -0
  121. package/core/built/admin/assets/kpi-tabs-B8-_k2dQ.js +1 -0
  122. package/core/built/admin/assets/{label-DodDsMzn.js → label-CiRS3i_f.js} +1 -1
  123. package/core/built/admin/assets/label-picker-ao7tuPaK.js +1 -0
  124. package/core/built/admin/assets/layout-DC6QGDaw.js +1 -0
  125. package/core/built/admin/assets/member-custom-fields-BW756-EV.js +1 -0
  126. package/core/built/admin/assets/member-detail-CGGgUTSl.js +1 -0
  127. package/core/built/admin/assets/members-ZcPthwG0.js +11 -0
  128. package/core/built/admin/assets/moderation-24bElWs3.js +1 -0
  129. package/core/built/admin/assets/multi-select-combobox-CZPrgz-Z.js +1 -0
  130. package/core/built/admin/assets/navigation-modal-BiTP4U_J.js +1 -0
  131. package/core/built/admin/assets/newsletter-B3Ihwizp.js +1 -0
  132. package/core/built/admin/assets/newsletter-detail-modal-CYsu4qhl.js +1 -0
  133. package/core/built/admin/assets/newsletter-emails-CDPR4-SP.js +1 -0
  134. package/core/built/admin/assets/newsletters-bJiYLJWl.js +1 -0
  135. package/core/built/admin/assets/note-7f6urVVA.js +1 -0
  136. package/core/built/admin/assets/notifications-rosQCyXH.js +1 -0
  137. package/core/built/admin/assets/offers-container-modal-J2j6NpDL.js +1 -0
  138. package/core/built/admin/assets/onboarding-route-DTjcThKl.js +1 -0
  139. package/core/built/admin/assets/overview-BxvWzGaf.js +1 -0
  140. package/core/built/admin/assets/overview-D6JG0hkZ.js +1 -0
  141. package/core/built/admin/assets/{page-header-VLPJfj_d.js → page-header-l7vXmLIw.js} +1 -1
  142. package/core/built/admin/assets/pintura-modal-BGHmudVB.js +1 -0
  143. package/core/built/admin/assets/portal-frame-DVc4VHX_.js +1 -0
  144. package/core/built/admin/assets/portal-modal-BCOcdiRi.js +1 -0
  145. package/core/built/admin/assets/{post-analytics-Gv81eN_g.js → post-analytics-CTSZMK6I.js} +1 -1
  146. package/core/built/admin/assets/post-analytics-header-Dt4RQGq0.js +1 -0
  147. package/core/built/admin/assets/{post-analytics-provider-O2YjZMhN.js → post-analytics-provider-C4ydiboO.js} +1 -1
  148. package/core/built/admin/assets/post-share-modal-DjH_a_1L.js +1 -0
  149. package/core/built/admin/assets/preferences-BLo6VJUS.js +5 -0
  150. package/core/built/admin/assets/preview-modal-BOgjgsJL.js +1 -0
  151. package/core/built/admin/assets/profile-DG6iCdRH.js +1 -0
  152. package/core/built/admin/assets/radio-group-ChHD4EQJ.js +1 -0
  153. package/core/built/admin/assets/router-provider-Bexg1t-V.js +1 -0
  154. package/core/built/admin/assets/select-ChxknEcT.js +1 -0
  155. package/core/built/admin/assets/settings-B0VDAhgV.js +1 -0
  156. package/core/built/admin/assets/settings-Dwo3CeAD.js +4 -0
  157. package/core/built/admin/assets/settings-breadcrumbs-sLDNedBW.js +1 -0
  158. package/core/built/admin/assets/share-modal-BDb2nacg.js +1 -0
  159. package/core/built/admin/assets/skeleton-D7hwjdry.js +1 -0
  160. package/core/built/admin/assets/slack-modal-CwNAD69x.js +1 -0
  161. package/core/built/admin/assets/sort-button-DhqpxkrO.js +1 -0
  162. package/core/built/admin/assets/source-icon-BPsD5ees.js +1 -0
  163. package/core/built/admin/assets/stats-WdDJ8c_1.js +1 -0
  164. package/core/built/admin/assets/stats-view-J3PI2eT_.js +1 -0
  165. package/core/built/admin/assets/step-1-2q1SjerQ.js +1 -0
  166. package/core/built/admin/assets/step-2-D5mJB3Uu.js +1 -0
  167. package/core/built/admin/assets/step-3-BpAuYTGZ.js +2 -0
  168. package/core/built/admin/assets/{stripe-button-Bh4p6Wud.js → stripe-button-DDoUKN5a.js} +1 -1
  169. package/core/built/admin/assets/stripe-connect-modal-pMdF3t4S.js +1 -0
  170. package/core/built/admin/assets/switch-B_1yU3Aw.js +1 -0
  171. package/core/built/admin/assets/{table-DghJxZMH.js → table-CrqQtkR2.js} +1 -1
  172. package/core/built/admin/assets/tabs-BhzVdh5p.js +1 -0
  173. package/core/built/admin/assets/tag-detail-CwJhI4qg.js +2 -0
  174. package/core/built/admin/assets/tags-CvJ0PgrB.js +1 -0
  175. package/core/built/admin/assets/testimonials-modal-CV82IAnI.js +1 -0
  176. package/core/built/admin/assets/tier-detail-modal-pLzCOfeg.js +1 -0
  177. package/core/built/admin/assets/toggle-group-BW_T4yn6.js +1 -0
  178. package/core/built/admin/assets/topic-filter-DkXjDejV.js +1 -0
  179. package/core/built/admin/assets/transistor-modal-TMRvHZ6B.js +1 -0
  180. package/core/built/admin/assets/unsplash-modal-CV92RdPw.js +1 -0
  181. package/core/built/admin/assets/{use-analytics-data-IxJcSjc9.js → use-analytics-data-BM_uV9SU.js} +1 -1
  182. package/core/built/admin/assets/use-check-theme-limit-error-DkBnXMSY.js +1 -0
  183. package/core/built/admin/assets/use-confirm-unload-SzlkOIpm.js +1 -0
  184. package/core/built/admin/assets/use-feature-flag-cahOlMva.js +1 -0
  185. package/core/built/admin/assets/use-filter-params-BX5qf0Cg.js +1 -0
  186. package/core/built/admin/assets/{use-growth-stats-1NW-8eEZ.js → use-growth-stats-D0LlWBe6.js} +1 -1
  187. package/core/built/admin/assets/{use-hash-link-navigation-guard-B9j6HIrV.js → use-hash-link-navigation-guard-B_Y3FhYH.js} +1 -1
  188. package/core/built/admin/assets/use-limiter-D3DHSoAj.js +2 -0
  189. package/core/built/admin/assets/{use-pintura-config-BjFChXV1.js → use-pintura-config-D63Xu0SG.js} +1 -1
  190. package/core/built/admin/assets/use-pintura-editor-Z51aFnC8.js +1 -0
  191. package/core/built/admin/assets/{use-post-referrers-Dp1BnTAK.js → use-post-referrers-Cvymr3gt.js} +1 -1
  192. package/core/built/admin/assets/use-query-params-BfzuqbcD.js +1 -0
  193. package/core/built/admin/assets/use-reply-chain-data-Dc18Ujqo.js +1 -0
  194. package/core/built/admin/assets/use-setting-group-DYRIzqC0.js +1 -0
  195. package/core/built/admin/assets/use-settings-navigation-aDSLtmEl.js +1 -0
  196. package/core/built/admin/assets/{use-simple-pagination-DsEGSJhe.js → use-simple-pagination-B2TdNX67.js} +1 -1
  197. package/core/built/admin/assets/{use-tinybird-query-Ci_DiPkX.js → use-tinybird-query-BvQIVuRc.js} +1 -1
  198. package/core/built/admin/assets/{use-tinybird-token-CsUwc722.js → use-tinybird-token-COQTPIwL.js} +1 -1
  199. package/core/built/admin/assets/use-upgrade-route-BZf1g59m.js +1 -0
  200. package/core/built/admin/assets/{use-url-input-BEZJpVgN.js → use-url-input-PcqZadXa.js} +1 -1
  201. package/core/built/admin/assets/user-detail-modal-DeO3SAZq.js +1 -0
  202. package/core/built/admin/assets/{virtual-list-D5ugXyZY.js → virtual-list-D3MfPNOh.js} +1 -1
  203. package/core/built/admin/assets/web-CDdyG7z1.js +2 -0
  204. package/core/built/admin/assets/web-CwQ8_QUc.js +1 -0
  205. package/core/built/admin/assets/zapier-modal-a7t75iNI.js +1 -0
  206. package/core/built/admin/index.html +15 -12
  207. package/core/frontend/apps/private-blogging/lib/helpers/input_password.js +2 -1
  208. package/core/frontend/helpers/body_class.js +2 -1
  209. package/core/frontend/helpers/cancel_link.js +2 -1
  210. package/core/frontend/helpers/color_to_rgba.js +2 -1
  211. package/core/frontend/helpers/content_api_key.js +2 -1
  212. package/core/frontend/helpers/content_api_url.js +2 -1
  213. package/core/frontend/helpers/contrast_text_color.js +2 -1
  214. package/core/frontend/helpers/facebook_url.js +2 -1
  215. package/core/frontend/helpers/ghost_foot.js +2 -1
  216. package/core/frontend/helpers/ghost_head.js +2 -1
  217. package/core/frontend/helpers/has.js +4 -2
  218. package/core/frontend/helpers/link_class.js +2 -1
  219. package/core/frontend/helpers/meta_description.js +2 -1
  220. package/core/frontend/helpers/meta_title.js +2 -1
  221. package/core/frontend/helpers/navigation.js +113 -22
  222. package/core/frontend/helpers/page_url.js +2 -1
  223. package/core/frontend/helpers/post_class.js +2 -1
  224. package/core/frontend/helpers/reading_time.js +2 -1
  225. package/core/frontend/helpers/social_accounts.js +2 -1
  226. package/core/frontend/helpers/social_url.js +2 -1
  227. package/core/frontend/helpers/total_members.js +2 -1
  228. package/core/frontend/helpers/total_paid_members.js +2 -1
  229. package/core/frontend/helpers/tpl/navigation.hbs +1 -1
  230. package/core/frontend/helpers/twitter_url.js +2 -1
  231. package/core/frontend/public/cards.manifest.json +1 -1
  232. package/core/server/api/endpoints/posts.js +7 -4
  233. package/core/server/api/endpoints/utils/permissions.js +2 -1
  234. package/core/server/api/endpoints/utils/validators/input/settings.js +83 -1
  235. package/core/server/data/exporter/table-lists.js +1 -0
  236. package/core/server/data/importer/handlers/json.js +2 -1
  237. package/core/server/data/migrations/versions/5.19/2022-09-02-20-52-backfill-new-product-columns.js +2 -1
  238. package/core/server/data/migrations/versions/5.21/2022-10-26-04-50-member-subscription-created-batch-id.js +4 -2
  239. package/core/server/data/migrations/versions/5.22/2022-10-31-12-03-backfill-new-product-columns.js +2 -1
  240. package/core/server/data/migrations/versions/6.58/2026-08-11-21-22-48-rename-email-batches-provider-id.js +1 -1
  241. package/core/server/data/migrations/versions/6.59/2026-08-18-17-06-46-add-gift-delivery-fields-to-gifts.js +26 -0
  242. package/core/server/data/migrations/versions/6.59/2026-08-18-17-07-01-add-gift-deliveries.js +20 -0
  243. package/core/server/data/schema/commands.js +48 -24
  244. package/core/server/data/schema/schema.js +28 -7
  245. package/core/server/data/seeders/importers/automation-action-revisions-importer.js +3 -36
  246. package/core/server/data/seeders/importers/automation-actions-importer.js +5 -41
  247. package/core/server/data/seeders/importers/automation-run-steps-importer.js +3 -36
  248. package/core/server/data/seeders/importers/automation-runs-importer.js +7 -42
  249. package/core/server/data/seeders/importers/automations-importer.js +3 -36
  250. package/core/server/data/seeders/importers/comment-reports-importer.js +5 -5
  251. package/core/server/data/seeders/importers/comments-importer.js +5 -5
  252. package/core/server/data/seeders/importers/email-batches-importer.js +5 -4
  253. package/core/server/data/seeders/importers/email-recipients-importer.js +12 -20
  254. package/core/server/data/seeders/importers/emails-importer.js +6 -6
  255. package/core/server/data/seeders/importers/labels-importer.js +3 -3
  256. package/core/server/data/seeders/importers/members-click-events-importer.js +5 -5
  257. package/core/server/data/seeders/importers/members-created-events-importer.js +13 -12
  258. package/core/server/data/seeders/importers/members-feedback-importer.js +7 -7
  259. package/core/server/data/seeders/importers/members-importer.js +4 -4
  260. package/core/server/data/seeders/importers/members-login-events-importer.js +3 -3
  261. package/core/server/data/seeders/importers/members-products-importer.js +2 -2
  262. package/core/server/data/seeders/importers/members-status-events-importer.js +4 -3
  263. package/core/server/data/seeders/importers/members-stripe-customers-importer.js +2 -2
  264. package/core/server/data/seeders/importers/members-stripe-customers-subscriptions-importer.js +7 -7
  265. package/core/server/data/seeders/importers/members-subscribe-events-importer.js +3 -3
  266. package/core/server/data/seeders/importers/members-subscription-created-events-importer.js +3 -3
  267. package/core/server/data/seeders/importers/offer-redemptions-importer.js +7 -7
  268. package/core/server/data/seeders/importers/offers-importer.js +3 -3
  269. package/core/server/data/seeders/importers/posts-importer.js +4 -4
  270. package/core/server/data/seeders/importers/table-importer.js +2 -35
  271. package/core/server/data/seeders/importers/tags-importer.js +2 -2
  272. package/core/server/data/seeders/importers/users-importer.js +2 -2
  273. package/core/server/data/seeders/importers/web-mentions-importer.js +2 -2
  274. package/core/server/data/seeders/utils/random.js +7 -0
  275. package/core/server/ghost-server.js +19 -5
  276. package/core/server/lib/db-date.js +72 -3
  277. package/core/server/models/gift-delivery.js +23 -0
  278. package/core/server/models/gift.js +9 -0
  279. package/core/server/models/index.js +3 -2
  280. package/core/server/models/settings.js +43 -4
  281. package/core/server/services/automations/database-automations-repository.js +38 -31
  282. package/core/server/services/automations/poll.js +1 -1
  283. package/core/server/services/content-import/csv/index.js +8 -0
  284. package/core/server/services/content-import/csv/parse.js +60 -0
  285. package/core/server/services/content-import/import/importer.js +222 -0
  286. package/core/server/services/content-import/import/post-data.js +52 -0
  287. package/core/server/services/content-import/import/reader.js +15 -0
  288. package/core/server/services/content-import/import/row.js +50 -0
  289. package/core/server/services/content-import/import/store.js +71 -0
  290. package/core/server/services/content-import/index.js +67 -0
  291. package/core/server/services/email-analytics/automation-email-analytics-batch-processor.js +1 -1
  292. package/core/server/services/email-analytics/index.js +3 -1
  293. package/core/server/services/email-analytics/jobs/index.js +2 -2
  294. package/core/server/services/email-service/email-service-wrapper.js +1 -1
  295. package/core/server/services/email-suppression-list/email-suppression-list.js +4 -2
  296. package/core/server/services/gifts/CONTEXT.md +27 -3
  297. package/core/server/services/gifts/README.md +8 -4
  298. package/core/server/services/gifts/constants.js +2 -1
  299. package/core/server/services/gifts/email-templates/gift-delivery.hbs +20 -0
  300. package/core/server/services/gifts/email-templates/gift-delivery.js +39 -0
  301. package/core/server/services/gifts/email-templates/gift-purchase-confirmation.hbs +2 -2
  302. package/core/server/services/gifts/email-templates/gift-purchase-confirmation.js +19 -4
  303. package/core/server/services/gifts/events/send-gift-delivery-event.js +15 -0
  304. package/core/server/services/gifts/gift-bookshelf-repository.js +23 -3
  305. package/core/server/services/gifts/gift-checkout-adapter.js +5 -3
  306. package/core/server/services/gifts/gift-codec.js +8 -0
  307. package/core/server/services/gifts/gift-delivery-bookshelf-repository.js +107 -0
  308. package/core/server/services/gifts/gift-delivery-codec.js +12 -0
  309. package/core/server/services/gifts/gift-delivery-schema.js +15 -0
  310. package/core/server/services/gifts/gift-delivery-service.js +209 -0
  311. package/core/server/services/gifts/gift-email-renderer.js +13 -1
  312. package/core/server/services/gifts/gift-email-service.js +97 -17
  313. package/core/server/services/gifts/gift-schema.js +10 -6
  314. package/core/server/services/gifts/gift-service.js +259 -34
  315. package/core/server/services/gifts/gift.js +59 -5
  316. package/core/server/services/gifts/index.js +69 -3
  317. package/core/server/services/lib/mailgun-client.js +5 -2
  318. package/core/server/services/mail/ghost-mailer.js +9 -1
  319. package/core/server/services/member-welcome-emails/service.js +6 -1
  320. package/core/server/services/members/members-api/controllers/router-controller.js +26 -8
  321. package/core/server/services/stripe/services/webhook/checkout-session-event-service.js +100 -12
  322. package/core/server/services/stripe/stripe-api.js +3 -2
  323. package/core/server/services/stripe/webhook-controller.js +6 -3
  324. package/core/server/services/stripe/webhook-manager.js +2 -0
  325. package/core/shared/labs.js +1 -0
  326. package/package.json +9 -8
  327. package/pnpm-lock.yaml +26 -11
  328. package/pnpm-workspace.yaml +5 -6
  329. package/content/themes/source/yarn.lock +0 -6232
  330. package/core/built/admin/assets/Combination-BDvCdg1t.js +0 -41
  331. package/core/built/admin/assets/about-B_BvSyLF.js +0 -1
  332. package/core/built/admin/assets/account-migration-oJUGxnzT.js +0 -1
  333. package/core/built/admin/assets/activitypub/dist-Dqggkccr.js +0 -215
  334. package/core/built/admin/assets/activitypub/inbox-z1o2j1Tb.js +0 -1221
  335. package/core/built/admin/assets/activitypub/layout-BRMezuty.js +0 -1
  336. package/core/built/admin/assets/activitypub/moderation-CZudJi8N.js +0 -160
  337. package/core/built/admin/assets/activitypub/settings-CrSV1cux.js +0 -107
  338. package/core/built/admin/assets/add-integration-modal-BW23PDYs.js +0 -1
  339. package/core/built/admin/assets/add-newsletter-modal-M0ls8BKO.js +0 -1
  340. package/core/built/admin/assets/add-recommendation-modal-B0NeBMzl.js +0 -1
  341. package/core/built/admin/assets/announcement-bar-modal-pXBqjQE_.js +0 -1
  342. package/core/built/admin/assets/api-keys-Df6uv1dT.js +0 -1
  343. package/core/built/admin/assets/audience-BY8od8If.js +0 -1
  344. package/core/built/admin/assets/automations-DCs6Wady.js +0 -1
  345. package/core/built/admin/assets/bluesky-sharing-D0P42Cws.js +0 -1
  346. package/core/built/admin/assets/breadcrumb-MTj_cKLb.js +0 -1
  347. package/core/built/admin/assets/chart-helpers-DcO3k_vA.js +0 -1
  348. package/core/built/admin/assets/chunk-KS7C4IRE-DG9HTHQ3.js +0 -4
  349. package/core/built/admin/assets/color-picker-CBlJMv3y.js +0 -3
  350. package/core/built/admin/assets/combobox-BbPJzjCp.js +0 -1
  351. package/core/built/admin/assets/command-BrhXIlDr.js +0 -1
  352. package/core/built/admin/assets/comments-Cu4rD1aJ.js +0 -1
  353. package/core/built/admin/assets/confirmation-provider-BEdrnHns.js +0 -1
  354. package/core/built/admin/assets/custom-field-type-option-CNhAgHbJ.js +0 -1
  355. package/core/built/admin/assets/custom-integration-modal-CrGOI8IB.js +0 -1
  356. package/core/built/admin/assets/date-range-select-Bsh4gIek.js +0 -1
  357. package/core/built/admin/assets/design-and-theme-modal-DWZguwWX.js +0 -23
  358. package/core/built/admin/assets/dirty-confirm-dialog-DmdMpgyN.js +0 -1
  359. package/core/built/admin/assets/disabled-sources-indicator-BLnmyWgt.js +0 -1
  360. package/core/built/admin/assets/dist-DMFGvqqU.js +0 -1
  361. package/core/built/admin/assets/dist-DlCyLrOC.js +0 -1
  362. package/core/built/admin/assets/dist-j1xxxnY8.js +0 -1
  363. package/core/built/admin/assets/domain-Dp9TRrFp.js +0 -1
  364. package/core/built/admin/assets/edit-profile-DG6lpMsr.js +0 -1
  365. package/core/built/admin/assets/editor-CPQOrhrn.js +0 -8
  366. package/core/built/admin/assets/embed-signup-form-modal-CgWniDha.js +0 -9
  367. package/core/built/admin/assets/explore-C3rzONJv.js +0 -1
  368. package/core/built/admin/assets/feed-DpUwS1cU.js +0 -1
  369. package/core/built/admin/assets/filters-DZJT29GW.js +0 -1
  370. package/core/built/admin/assets/first-promoter-modal-DJhQQheG.js +0 -1
  371. package/core/built/admin/assets/gift-link-modal-sdFLjND9.js +0 -1
  372. package/core/built/admin/assets/global-data-provider-CixmTX00.js +0 -1
  373. package/core/built/admin/assets/growth-0YYkBEeS.js +0 -1
  374. package/core/built/admin/assets/growth-DpjAPeQT.js +0 -3
  375. package/core/built/admin/assets/history-modal-BWJ4-cJ0.js +0 -1
  376. package/core/built/admin/assets/html-field-C-oa5DEl.js +0 -1
  377. package/core/built/admin/assets/iframe-buffering-Ba9sDpi2.js +0 -1
  378. package/core/built/admin/assets/index-BOJzlYiz.js +0 -67
  379. package/core/built/admin/assets/index-Bid6LAyc.css +0 -1
  380. package/core/built/admin/assets/invite-user-modal-DCiQSiuD.js +0 -1
  381. package/core/built/admin/assets/koenig-editor-base-BApy8Q7C.js +0 -1
  382. package/core/built/admin/assets/kpi-helpers-ssbuy-hD.js +0 -1
  383. package/core/built/admin/assets/kpi-tabs-BqoIM6bI.js +0 -1
  384. package/core/built/admin/assets/label-picker-Cvvbmzb5.js +0 -1
  385. package/core/built/admin/assets/layout-DkkGyev2.js +0 -1
  386. package/core/built/admin/assets/member-custom-fields-CvGcpaiW.js +0 -1
  387. package/core/built/admin/assets/member-detail-CMCMZ47_.js +0 -1
  388. package/core/built/admin/assets/members-sRl6fNfq.js +0 -11
  389. package/core/built/admin/assets/moderation-KhKwGqI1.js +0 -1
  390. package/core/built/admin/assets/multi-select-combobox-nhCff0_K.js +0 -1
  391. package/core/built/admin/assets/navigation-modal-MDJExWDJ.js +0 -1
  392. package/core/built/admin/assets/newsletter-BIBHumfV.js +0 -1
  393. package/core/built/admin/assets/newsletter-detail-modal-CfjBMH3v.js +0 -1
  394. package/core/built/admin/assets/newsletter-emails-ClDL-7dA.js +0 -1
  395. package/core/built/admin/assets/newsletters-CBe-IPzK.js +0 -1
  396. package/core/built/admin/assets/note-HnNUOt4d.js +0 -1
  397. package/core/built/admin/assets/notifications-Cj5e-258.js +0 -1
  398. package/core/built/admin/assets/offers-container-modal-BHwHtixC.js +0 -1
  399. package/core/built/admin/assets/onboarding-route-D_4jp7Nq.js +0 -1
  400. package/core/built/admin/assets/overview-CezDdg-F.js +0 -1
  401. package/core/built/admin/assets/overview-D5mM51Lj.js +0 -1
  402. package/core/built/admin/assets/pintura-modal-BXXJ8Iaa.js +0 -1
  403. package/core/built/admin/assets/portal-frame-BLCvF8f-.js +0 -1
  404. package/core/built/admin/assets/portal-modal-DN80tAcy.js +0 -1
  405. package/core/built/admin/assets/post-analytics-header-_ydSY8qO.js +0 -1
  406. package/core/built/admin/assets/post-share-modal-CzYak_a5.js +0 -1
  407. package/core/built/admin/assets/preferences-gneLb6LV.js +0 -5
  408. package/core/built/admin/assets/preview-modal-Bkq-tgVm.js +0 -1
  409. package/core/built/admin/assets/profile-CzXmCNTC.js +0 -1
  410. package/core/built/admin/assets/radio-group-Dsq5ZEbV.js +0 -1
  411. package/core/built/admin/assets/router-provider-CkB_ArLF.js +0 -1
  412. package/core/built/admin/assets/select-xuZAuDyS.js +0 -1
  413. package/core/built/admin/assets/settings-Ct8pabhr.js +0 -1
  414. package/core/built/admin/assets/settings-KSWWQanQ.js +0 -4
  415. package/core/built/admin/assets/settings-breadcrumbs-DbPGu-Tu.js +0 -1
  416. package/core/built/admin/assets/share-modal-CdiUx9WM.js +0 -1
  417. package/core/built/admin/assets/slack-modal-BP--Z3jE.js +0 -1
  418. package/core/built/admin/assets/sort-button-CjfKdlsL.js +0 -1
  419. package/core/built/admin/assets/source-icon-DHj1h6Ts.js +0 -1
  420. package/core/built/admin/assets/stats-C615kulJ.js +0 -1
  421. package/core/built/admin/assets/stats-view-BSMRdYiN.js +0 -1
  422. package/core/built/admin/assets/step-1-pSdGYtIF.js +0 -1
  423. package/core/built/admin/assets/step-2-T9Uy4eBD.js +0 -1
  424. package/core/built/admin/assets/step-3-D4uXe_XG.js +0 -2
  425. package/core/built/admin/assets/stripe-connect-modal-C2vTvepi.js +0 -1
  426. package/core/built/admin/assets/switch-CE2NuMn-.js +0 -1
  427. package/core/built/admin/assets/tabs-l9c7FjzI.js +0 -1
  428. package/core/built/admin/assets/tag-detail-DBw_M2-p.js +0 -2
  429. package/core/built/admin/assets/tags-DoWsAG6l.js +0 -1
  430. package/core/built/admin/assets/testimonials-modal-BZKePE2T.js +0 -1
  431. package/core/built/admin/assets/tier-detail-modal-D65pVWsN.js +0 -1
  432. package/core/built/admin/assets/toggle-group-uJnl42w3.js +0 -1
  433. package/core/built/admin/assets/topic-filter-BM7hz0kW.js +0 -1
  434. package/core/built/admin/assets/transistor-modal-VZOGN3od.js +0 -1
  435. package/core/built/admin/assets/unsplash-modal-CKGfACxF.js +0 -1
  436. package/core/built/admin/assets/use-check-theme-limit-error-CGp3CGT5.js +0 -1
  437. package/core/built/admin/assets/use-feature-flag-CSq2Lwzt.js +0 -1
  438. package/core/built/admin/assets/use-filter-params-0hcJJuEJ.js +0 -1
  439. package/core/built/admin/assets/use-limiter-ffwpsZPp.js +0 -2
  440. package/core/built/admin/assets/use-pintura-editor-Cb41oJyL.js +0 -1
  441. package/core/built/admin/assets/use-query-params-DHhhu8wi.js +0 -1
  442. package/core/built/admin/assets/use-reply-chain-data-C0ZUTkfk.js +0 -1
  443. package/core/built/admin/assets/use-setting-group-Bx8M6FL2.js +0 -1
  444. package/core/built/admin/assets/use-settings-navigation-BOZcat_V.js +0 -1
  445. package/core/built/admin/assets/use-upgrade-route-B3_DUiuT.js +0 -1
  446. package/core/built/admin/assets/user-detail-modal-595z1N5r.js +0 -1
  447. package/core/built/admin/assets/web-CAta3lRE.js +0 -1
  448. package/core/built/admin/assets/web-Ds9_wWJK.js +0 -2
  449. package/core/built/admin/assets/zapier-modal-CcfDZY53.js +0 -1
  450. package/core/server/data/seeders/utils/database-date.js +0 -28
  451. package/core/server/services/automations/database-date.js +0 -59
  452. /package/core/built/admin/assets/{dist-CqO2lWS02.js → dist-CqO2lWS0.js} +0 -0
  453. /package/core/server/services/{automations → lib}/mailgun-message-id.js +0 -0
@@ -1,14 +1,14 @@
1
1
  import { a as e, d as t, v as n, w as r } from "./_react-D4KM8XEu.js";
2
2
  import { S as i } from "./chunk-KS7C4IRE-CnTrsgmM.js";
3
- import { D as a, _ as o, a as s, b as c, g as l, h as u, i as d, n as f, r as p, x as m, y as h } from "./routes-CEHdEZzS.js";
4
- import { b as g, g as _, h as v, r as y, t as b } from "./use-navigate-with-base-path-iCkcbMGk.js";
5
- import { G as x, w as S } from "./use-activity-pub-queries-CATFd6YV.js";
6
- import { a as C } from "./x-Cy2jUiYM.js";
7
- import { c as w, o as T, s as E, u as D } from "./content-formatters-BORfuA9G.js";
8
- import { u as O } from "./avatar-B0SpBPVL.js";
9
- import { t as k } from "./reply-DASIN0Ec.js";
10
- import "./layout-BRMezuty.js";
11
- var A = _("at-sign", [["circle", {
3
+ import { E as a, M as o, S as s, T as c, _ as l, a as u, b as d, i as f, m as p, n as m, r as h, w as g, x as _, y as v } from "./routes-nHCKlZl-.js";
4
+ import { b as y, g as b, h as x, r as S, t as C } from "./use-navigate-with-base-path-iCkcbMGk.js";
5
+ import { q as w, w as T } from "./use-activity-pub-queries-DUDEdSdR.js";
6
+ import { a as E } from "./x-Cy2jUiYM.js";
7
+ import { c as D, o as O, s as k, u as A } from "./content-formatters-DCsVic-t.js";
8
+ import { u as j } from "./avatar-B0SpBPVL.js";
9
+ import { t as M } from "./reply-DASIN0Ec.js";
10
+ import "./layout-DNuYT4Gu.js";
11
+ var N = b("at-sign", [["circle", {
12
12
  cx: "12",
13
13
  cy: "12",
14
14
  r: "4",
@@ -16,7 +16,7 @@ var A = _("at-sign", [["circle", {
16
16
  }], ["path", {
17
17
  d: "M16 8v5a3 3 0 0 0 6 0v-1a10 10 0 1 0-4 8",
18
18
  key: "7n84p3"
19
- }]]), j = _("repeat-2", [
19
+ }]]), P = b("repeat-2", [
20
20
  ["path", {
21
21
  d: "m2 9 3-3 3 3",
22
22
  key: "1ltn5i"
@@ -33,7 +33,7 @@ var A = _("at-sign", [["circle", {
33
33
  d: "M11 6h6a2 2 0 0 1 2 2v10",
34
34
  key: "2f72bc"
35
35
  }]
36
- ]), M = _("user-round-check", [
36
+ ]), F = b("user-round-check", [
37
37
  ["path", {
38
38
  d: "M2 21a8 8 0 0 1 13.292-6",
39
39
  key: "bjp14o"
@@ -52,11 +52,11 @@ var A = _("at-sign", [["circle", {
52
52
  //#endregion
53
53
  //#region src/views/notifications/components/notification-icon.tsx
54
54
  t();
55
- var N = i(), P = ({ notificationType: e, size: t = "lg", className: n }) => {
55
+ var I = i(), L = ({ notificationType: e, size: t = "lg", className: n }) => {
56
56
  let r, i = "", a = "white", o = t === "sm" ? 13 : 20, s = t === "sm" ? 2 : 1.5;
57
57
  switch (e) {
58
58
  case "follow":
59
- r = /* @__PURE__ */ (0, N.jsx)(M, {
59
+ r = /* @__PURE__ */ (0, I.jsx)(F, {
60
60
  className: `-mt-0.5 -mr-0.5 ${t === "sm" && "size-[11px]"}`,
61
61
  color: a,
62
62
  size: o,
@@ -64,14 +64,14 @@ var N = i(), P = ({ notificationType: e, size: t = "lg", className: n }) => {
64
64
  }), i = "bg-blue-600";
65
65
  break;
66
66
  case "like":
67
- r = /* @__PURE__ */ (0, N.jsx)(O, {
67
+ r = /* @__PURE__ */ (0, I.jsx)(j, {
68
68
  className: `${t === "sm" ? "size-[11px]" : "mt-px size-5"}`,
69
69
  color: a,
70
70
  strokeWidth: s
71
71
  }), i = "bg-pink-600";
72
72
  break;
73
73
  case "reply":
74
- r = /* @__PURE__ */ (0, N.jsx)(k, {
74
+ r = /* @__PURE__ */ (0, I.jsx)(M, {
75
75
  className: "mr-px mb-px",
76
76
  color: a,
77
77
  size: o,
@@ -79,14 +79,14 @@ var N = i(), P = ({ notificationType: e, size: t = "lg", className: n }) => {
79
79
  }), i = "bg-purple-600";
80
80
  break;
81
81
  case "repost":
82
- r = /* @__PURE__ */ (0, N.jsx)(j, {
82
+ r = /* @__PURE__ */ (0, I.jsx)(P, {
83
83
  color: a,
84
84
  size: o,
85
85
  strokeWidth: s
86
86
  }), i = "bg-green-500";
87
87
  break;
88
88
  case "mention":
89
- r = /* @__PURE__ */ (0, N.jsx)(A, {
89
+ r = /* @__PURE__ */ (0, I.jsx)(N, {
90
90
  className: `${t === "sm" ? "size-[12px]" : "size-5"}`,
91
91
  color: a,
92
92
  size: o,
@@ -94,7 +94,7 @@ var N = i(), P = ({ notificationType: e, size: t = "lg", className: n }) => {
94
94
  }), i = "bg-orange-500";
95
95
  break;
96
96
  }
97
- return /* @__PURE__ */ (0, N.jsx)("div", {
97
+ return /* @__PURE__ */ (0, I.jsx)("div", {
98
98
  className: `flex ${t === "sm" ? "size-5" : "size-9"} items-center justify-center rounded-full ${i} ${n && n}`,
99
99
  children: r
100
100
  });
@@ -102,12 +102,12 @@ var N = i(), P = ({ notificationType: e, size: t = "lg", className: n }) => {
102
102
  //#endregion
103
103
  //#region src/views/notifications/components/notification-item.tsx
104
104
  t();
105
- var F = e.createContext(void 0), I = ({ isGrouped: e, centerAlign: t, children: n, onClick: r, url: i, className: a }) => /* @__PURE__ */ (0, N.jsx)(F.Provider, {
105
+ var R = e.createContext(void 0), z = ({ isGrouped: e, centerAlign: t, children: n, onClick: r, url: i, className: a }) => /* @__PURE__ */ (0, I.jsx)(R.Provider, {
106
106
  value: {
107
107
  onClick: r,
108
108
  url: i
109
109
  },
110
- children: /* @__PURE__ */ (0, N.jsx)("div", {
110
+ children: /* @__PURE__ */ (0, I.jsx)("div", {
111
111
  className: `group relative -mx-4 -my-px ${e ? "grid" : "flex"} ${t ? "items-center" : "items-start"} break-anywhere cursor-pointer grid-cols-[auto_1fr] gap-x-4 gap-y-2.5 rounded-lg px-4 py-5 text-left hover:bg-gray-100 ${a}`,
112
112
  role: "button",
113
113
  onClick: r,
@@ -116,32 +116,32 @@ var F = e.createContext(void 0), I = ({ isGrouped: e, centerAlign: t, children:
116
116
  });
117
117
  //#endregion
118
118
  //#region src/components/global/separator.tsx
119
- I.Icon = ({ size: e = "lg", type: t }) => /* @__PURE__ */ (0, N.jsx)("div", {
119
+ z.Icon = ({ size: e = "lg", type: t }) => /* @__PURE__ */ (0, I.jsx)("div", {
120
120
  className: "col-start-1 row-start-1",
121
- children: /* @__PURE__ */ (0, N.jsx)(P, {
121
+ children: /* @__PURE__ */ (0, I.jsx)(L, {
122
122
  notificationType: t,
123
123
  size: e
124
124
  })
125
- }), I.Avatars = ({ children: e }) => /* @__PURE__ */ (0, N.jsx)("div", {
125
+ }), z.Avatars = ({ children: e }) => /* @__PURE__ */ (0, I.jsx)("div", {
126
126
  className: "col-start-2 row-start-1 flex gap-2",
127
127
  children: e
128
- }), I.Content = ({ children: e }) => /* @__PURE__ */ (0, N.jsx)("div", {
128
+ }), z.Content = ({ children: e }) => /* @__PURE__ */ (0, I.jsx)("div", {
129
129
  className: "col-start-2 row-start-2 -mt-0.5 grow overflow-hidden",
130
130
  children: e
131
131
  }), t();
132
- var L = () => /* @__PURE__ */ (0, N.jsx)("div", { className: "h-px w-full bg-gray-200 dark:bg-gray-950" });
132
+ var B = () => /* @__PURE__ */ (0, I.jsx)("div", { className: "h-px w-full bg-gray-200 dark:bg-gray-950" });
133
133
  //#endregion
134
134
  //#region src/views/notifications/notifications.tsx
135
135
  t();
136
- function R(e) {
136
+ function V(e) {
137
137
  let t = 1440 * 60 * 1e3, n = new Date(e).getTime();
138
138
  return (Math.floor(n / t) * t).toString();
139
139
  }
140
- function z(e) {
140
+ function H(e) {
141
141
  let t = {}, n = null, r = 0;
142
142
  return e.forEach((e) => {
143
143
  e.type !== n && (r += 1, n = e.type);
144
- let i = "", a = `_${R(e.createdAt)}`, o = `_seq${r}`;
144
+ let i = "", a = `_${V(e.createdAt)}`, o = `_seq${r}`;
145
145
  switch (e.type) {
146
146
  case "like":
147
147
  e.post?.id && (i = `like_${e.post.id}${a}${o}`);
@@ -169,39 +169,39 @@ function z(e) {
169
169
  }), t[i].actors.find((t) => t.id === e.actor.id) || t[i].actors.push(e.actor);
170
170
  }), Object.values(t);
171
171
  }
172
- var B = ({ group: e }) => {
173
- let [t, ...n] = e.actors, r = n.length > 0, i = n.length, a = b(), s = /* @__PURE__ */ (0, N.jsxs)(N.Fragment, { children: [/* @__PURE__ */ (0, N.jsx)(c, {
172
+ var U = ({ group: e }) => {
173
+ let [t, ...n] = e.actors, r = n.length > 0, i = n.length, a = C(), o = /* @__PURE__ */ (0, I.jsxs)(I.Fragment, { children: [/* @__PURE__ */ (0, I.jsx)(c, {
174
174
  actor: t,
175
175
  align: "center",
176
176
  isCurrentUser: !1,
177
- children: /* @__PURE__ */ (0, N.jsx)("span", {
177
+ children: /* @__PURE__ */ (0, I.jsx)("span", {
178
178
  className: "cursor-pointer font-semibold hover:underline text-black dark:text-white",
179
179
  onClick: (e) => {
180
- e?.stopPropagation(), t.handle && o(t.handle, a);
180
+ e?.stopPropagation(), t.handle && s(t.handle, a);
181
181
  },
182
182
  children: t.name
183
183
  })
184
- }), r && ` and ${g(i)} ${i > 1 ? "others" : "other"}`] });
184
+ }), r && ` and ${y(i)} ${i > 1 ? "others" : "other"}`] });
185
185
  switch (e.type) {
186
- case "follow": return /* @__PURE__ */ (0, N.jsxs)(N.Fragment, { children: [s, " followed you"] });
187
- case "like": return /* @__PURE__ */ (0, N.jsxs)(N.Fragment, { children: [
188
- s,
186
+ case "follow": return /* @__PURE__ */ (0, I.jsxs)(I.Fragment, { children: [o, " followed you"] });
187
+ case "like": return /* @__PURE__ */ (0, I.jsxs)(I.Fragment, { children: [
188
+ o,
189
189
  " liked your ",
190
190
  e.post?.type === "article" ? "post" : "note"
191
191
  ] });
192
- case "repost": return /* @__PURE__ */ (0, N.jsxs)(N.Fragment, { children: [
193
- s,
192
+ case "repost": return /* @__PURE__ */ (0, I.jsxs)(I.Fragment, { children: [
193
+ o,
194
194
  " reposted your ",
195
195
  e.post?.type === "article" ? "post" : "note"
196
196
  ] });
197
197
  case "reply":
198
- if (e.inReplyTo && typeof e.inReplyTo != "string") return s;
198
+ if (e.inReplyTo && typeof e.inReplyTo != "string") return o;
199
199
  break;
200
- case "mention": return s;
200
+ case "mention": return o;
201
201
  }
202
- return /* @__PURE__ */ (0, N.jsx)(N.Fragment, {});
203
- }, V = ({ content: e, className: t, stripTags: i = [] }) => {
204
- let a = r(null), s = b();
202
+ return /* @__PURE__ */ (0, I.jsx)(I.Fragment, {});
203
+ }, W = ({ content: e, className: t, stripTags: i = [] }) => {
204
+ let a = r(null), o = C();
205
205
  return n(() => {
206
206
  let e = a.current;
207
207
  if (!e) return;
@@ -209,34 +209,85 @@ var B = ({ group: e }) => {
209
209
  let t = e.target.closest("a[data-profile]");
210
210
  if (t) {
211
211
  let n = t.getAttribute("data-profile")?.trim();
212
- /^@([\w.-]+)@([\w-]+\.[\w.-]+[a-zA-Z])$/.test(n || "") && n && (e.preventDefault(), e.stopPropagation(), o(n, s));
212
+ /^@([\w.-]+)@([\w-]+\.[\w.-]+[a-zA-Z])$/.test(n || "") && n && (e.preventDefault(), e.stopPropagation(), s(n, o));
213
213
  }
214
214
  };
215
215
  return e.addEventListener("click", t), () => {
216
216
  e.removeEventListener("click", t);
217
217
  };
218
- }, [s, e]), /* @__PURE__ */ (0, N.jsx)("div", {
219
- dangerouslySetInnerHTML: { __html: T(E(e || "", i)) },
218
+ }, [o, e]), /* @__PURE__ */ (0, I.jsx)("div", {
219
+ dangerouslySetInnerHTML: { __html: O(k(e || "", i)) },
220
220
  ref: a,
221
221
  className: t
222
222
  });
223
- }, H = () => {
224
- let [t, i] = e.useState({}), c = b(), _ = (e) => {
223
+ }, G = ({ post: e, variant: t }) => {
224
+ let n = e?.attachments ?? [], r = n.length > 0, { contentWarning: i, shouldHideContentWarning: a, shouldHideSensitiveMedia: o, revealSensitiveMedia: s, revealContentWarning: c } = d({
225
+ contentWarning: e?.contentWarning,
226
+ sensitive: e?.sensitive,
227
+ hasMedia: r,
228
+ resetKey: e?.id
229
+ });
230
+ return e ? a && i ? t === "inline" ? /* @__PURE__ */ (0, I.jsxs)("button", {
231
+ className: "mt-0.5 block max-w-full truncate text-left text-sm text-gray-700 hover:text-black dark:text-gray-600 dark:hover:text-white",
232
+ type: "button",
233
+ onClick: c,
234
+ children: [
235
+ /* @__PURE__ */ (0, I.jsx)("span", {
236
+ className: "font-semibold",
237
+ children: "Content warning:"
238
+ }),
239
+ " ",
240
+ i,
241
+ " ",
242
+ /* @__PURE__ */ (0, I.jsx)("span", {
243
+ className: "font-semibold",
244
+ children: "Show"
245
+ })
246
+ ]
247
+ }) : /* @__PURE__ */ (0, I.jsx)(p, {
248
+ className: "mt-2.5",
249
+ label: i,
250
+ size: "compact",
251
+ onReveal: c
252
+ }) : t === "inline" ? /* @__PURE__ */ (0, I.jsxs)("div", {
253
+ className: "ap-note-content mt-0.5 line-clamp-1 text-sm text-pretty text-gray-700 dark:text-gray-600",
254
+ children: [e.type === "article" && e.title && /* @__PURE__ */ (0, I.jsxs)(I.Fragment, { children: [e.title, " — "] }), /* @__PURE__ */ (0, I.jsx)("span", { dangerouslySetInnerHTML: { __html: O(k(e.content || "")) } })]
255
+ }) : /* @__PURE__ */ (0, I.jsxs)("div", {
256
+ className: "mt-2.5 rounded-md bg-gray-100 px-5 py-[14px] group-hover:bg-gray-200 dark:bg-gray-950/30 group-hover:dark:bg-black/40",
257
+ children: [/* @__PURE__ */ (0, I.jsx)(W, {
258
+ className: "ap-note-content text-pretty",
259
+ content: e.content || "",
260
+ stripTags: ["a"]
261
+ }), r && /* @__PURE__ */ (0, I.jsxs)("div", {
262
+ className: "relative mt-2.5 aspect-square w-[calc(20%-6.4px)] min-w-[96px] overflow-hidden rounded-md [&_img]:absolute [&_img]:inset-0 [&_img]:mt-0 [&_img]:size-full [&_img]:max-h-none [&_img]:max-w-none [&_img]:object-cover [&>.attachment-gallery]:absolute [&>.attachment-gallery]:inset-0 [&>.attachment-gallery]:mt-0 [&>.attachment-gallery]:grid [&>.attachment-gallery]:size-full",
263
+ children: [v({
264
+ type: "Note",
265
+ attachment: n
266
+ }), o && /* @__PURE__ */ (0, I.jsx)(l, {
267
+ showLabel: !1,
268
+ size: "compact",
269
+ isLayered: !0,
270
+ onReveal: s
271
+ })]
272
+ })]
273
+ }) : null;
274
+ }, K = () => {
275
+ let [t, i] = e.useState({}), c = C(), l = (e) => {
225
276
  i((t) => ({
226
277
  ...t,
227
278
  [e]: !t[e]
228
279
  }));
229
- }, O = () => {}, { data: k, error: A, fetchNextPage: j, hasNextPage: M, isFetchingNextPage: F, isLoading: R } = S("index"), H = k?.pages.flatMap((e) => z(e.notifications)) ?? Array(10).fill({ actors: [{}] }), U = r(null), W = r(null);
230
- n(() => (U.current && U.current.disconnect(), U.current = new IntersectionObserver((e) => {
231
- e[0].isIntersecting && M && !F && j();
232
- }), W.current && U.current.observe(W.current), () => {
233
- U.current && U.current.disconnect();
280
+ }, d = () => {}, { data: p, error: v, fetchNextPage: b, hasNextPage: O, isFetchingNextPage: k, isLoading: j } = T("index"), M = p?.pages.flatMap((e) => H(e.notifications)) ?? Array(10).fill({ actors: [{}] }), N = r(null), P = r(null);
281
+ n(() => (N.current && N.current.disconnect(), N.current = new IntersectionObserver((e) => {
282
+ e[0].isIntersecting && O && !k && b();
283
+ }), P.current && N.current.observe(P.current), () => {
284
+ N.current && N.current.disconnect();
234
285
  }), [
235
- M,
236
- F,
237
- j
286
+ O,
287
+ k,
288
+ b
238
289
  ]);
239
- let G = (e, t) => {
290
+ let F = (e, t) => {
240
291
  switch (e.type) {
241
292
  case "like":
242
293
  e.post && c(`/${e.post.type === "article" ? "reader" : "notes"}/${encodeURIComponent(e.post.id)}`);
@@ -248,51 +299,51 @@ var B = ({ group: e }) => {
248
299
  e.post && c(`/${e.post.type === "article" ? "reader" : "notes"}/${encodeURIComponent(e.post.id)}`);
249
300
  break;
250
301
  case "follow":
251
- e.actors.length > 1 ? _(e.id || `${e.type}_${t}`) : e.actors[0]?.handle && o(e.actors[0].handle, c);
302
+ e.actors.length > 1 ? l(e.id || `${e.type}_${t}`) : e.actors[0]?.handle && s(e.actors[0].handle, c);
252
303
  break;
253
304
  case "mention":
254
305
  e.post && c(`/notes/${encodeURIComponent(e.post.id)}`);
255
306
  break;
256
307
  }
257
308
  };
258
- return A && x(A) ? /* @__PURE__ */ (0, N.jsx)(f, {
259
- errorCode: A.code,
260
- statusCode: A.statusCode
261
- }) : /* @__PURE__ */ (0, N.jsx)(s, { children: /* @__PURE__ */ (0, N.jsxs)("div", {
309
+ return v && w(v) ? /* @__PURE__ */ (0, I.jsx)(m, {
310
+ errorCode: v.code,
311
+ statusCode: v.statusCode
312
+ }) : /* @__PURE__ */ (0, I.jsx)(u, { children: /* @__PURE__ */ (0, I.jsxs)("div", {
262
313
  className: "z-0 flex w-full flex-col items-center",
263
- children: [R === !1 && H.length === 0 && /* @__PURE__ */ (0, N.jsxs)(d, { children: [/* @__PURE__ */ (0, N.jsx)(p, { children: /* @__PURE__ */ (0, N.jsx)(C, {}) }), "Quiet for now, but not for long! When someone likes, boosts, or replies to you, you'll find it here."] }), H.length > 0 && /* @__PURE__ */ (0, N.jsxs)(N.Fragment, { children: [
264
- /* @__PURE__ */ (0, N.jsx)("div", {
314
+ children: [j === !1 && M.length === 0 && /* @__PURE__ */ (0, I.jsxs)(f, { children: [/* @__PURE__ */ (0, I.jsx)(h, { children: /* @__PURE__ */ (0, I.jsx)(E, {}) }), "Quiet for now, but not for long! When someone likes, boosts, or replies to you, you'll find it here."] }), M.length > 0 && /* @__PURE__ */ (0, I.jsxs)(I.Fragment, { children: [
315
+ /* @__PURE__ */ (0, I.jsx)("div", {
265
316
  className: "my-8 flex w-full max-w-[620px] flex-col max-md:mt-5",
266
- children: H.map((n, r) => /* @__PURE__ */ (0, N.jsxs)(e.Fragment, { children: [/* @__PURE__ */ (0, N.jsxs)(I, {
317
+ children: M.map((n, r) => /* @__PURE__ */ (0, I.jsxs)(e.Fragment, { children: [/* @__PURE__ */ (0, I.jsxs)(z, {
267
318
  centerAlign: n.actors.length < 2 && n.type === "follow",
268
319
  className: "hover:bg-gray-100 dark:hover:bg-gray-950",
269
320
  isGrouped: n.actors.length > 1,
270
- onClick: () => G(n, r),
321
+ onClick: () => F(n, r),
271
322
  children: [
272
- R ? /* @__PURE__ */ (0, N.jsx)(D, {
323
+ j ? /* @__PURE__ */ (0, I.jsx)(A, {
273
324
  className: "rounded-full",
274
325
  containerClassName: "flex h-10 w-10"
275
- }) : n.actors.length > 1 ? /* @__PURE__ */ (0, N.jsx)(I.Icon, { type: n.type }) : /* @__PURE__ */ (0, N.jsxs)("div", {
326
+ }) : n.actors.length > 1 ? /* @__PURE__ */ (0, I.jsx)(z.Icon, { type: n.type }) : /* @__PURE__ */ (0, I.jsxs)("div", {
276
327
  className: "relative",
277
- children: [/* @__PURE__ */ (0, N.jsx)(w, {
328
+ children: [/* @__PURE__ */ (0, I.jsx)(D, {
278
329
  author: {
279
330
  icon: { url: n.actors[0].avatarUrl || "" },
280
331
  name: n.actors[0].name,
281
332
  handle: n.actors[0].handle
282
333
  },
283
334
  size: "notification"
284
- }, n.actors[0].id), /* @__PURE__ */ (0, N.jsx)(P, {
335
+ }, n.actors[0].id), /* @__PURE__ */ (0, I.jsx)(L, {
285
336
  className: "absolute -right-1 -bottom-1 z-10 border-2 border-white dark:border-black",
286
337
  notificationType: n.type,
287
338
  size: "sm"
288
339
  })]
289
340
  }),
290
- n.actors.length > 1 && /* @__PURE__ */ (0, N.jsx)(I.Avatars, { children: /* @__PURE__ */ (0, N.jsxs)("div", {
341
+ n.actors.length > 1 && /* @__PURE__ */ (0, I.jsx)(z.Avatars, { children: /* @__PURE__ */ (0, I.jsxs)("div", {
291
342
  className: "flex w-full flex-col",
292
- children: [/* @__PURE__ */ (0, N.jsxs)("div", {
343
+ children: [/* @__PURE__ */ (0, I.jsxs)("div", {
293
344
  className: "relative flex w-fit items-center pl-2",
294
345
  children: [
295
- !t[n.id || `${n.type}_${r}`] && n.actors.slice(0, 5).map((e) => /* @__PURE__ */ (0, N.jsx)(w, {
346
+ !t[n.id || `${n.type}_${r}`] && n.actors.slice(0, 5).map((e) => /* @__PURE__ */ (0, I.jsx)(D, {
296
347
  author: {
297
348
  icon: { url: e.avatarUrl || "" },
298
349
  name: e.name,
@@ -301,39 +352,39 @@ var B = ({ group: e }) => {
301
352
  className: "-ml-2 bg-[#F3F3F3]! outline-2 outline-white group-hover:bg-[#EDEEF0]! group-hover:outline-gray-100 dark:outline-black group-hover:dark:outline-gray-950",
302
353
  size: "notification"
303
354
  }, e.id)),
304
- n.actors.length > 5 && !t[n.id || `${n.type}_${r}`] && /* @__PURE__ */ (0, N.jsx)("div", {
355
+ n.actors.length > 5 && !t[n.id || `${n.type}_${r}`] && /* @__PURE__ */ (0, I.jsx)("div", {
305
356
  className: "absolute right-[28px] z-10 flex size-9 items-center justify-center rounded-full bg-black/50 text-base font-semibold tracking-tightest text-white",
306
- children: `+${g(n.actors.length - 5)}`
357
+ children: `+${y(n.actors.length - 5)}`
307
358
  }),
308
- n.actors.length > 1 && /* @__PURE__ */ (0, N.jsxs)(y, {
359
+ n.actors.length > 1 && /* @__PURE__ */ (0, I.jsxs)(S, {
309
360
  className: `group flex items-center gap-0.5 text-gray-700 hover:bg-transparent hover:text-black dark:text-gray-600 dark:hover:text-white ${t[n.id || `${n.type}_${r}`] ? "ml-[-20px]" : "ml-0 w-[28px]"}`,
310
361
  variant: "ghost",
311
362
  onClick: (e) => {
312
- e?.stopPropagation(), _(n.id || `${n.type}_${r}`);
363
+ e?.stopPropagation(), l(n.id || `${n.type}_${r}`);
313
364
  },
314
- children: [/* @__PURE__ */ (0, N.jsx)(v, {
365
+ children: [/* @__PURE__ */ (0, I.jsx)(x, {
315
366
  className: `${t[n.id || `${n.type}_${r}`] ? "rotate-180" : ""}`,
316
367
  size: 20,
317
368
  strokeWidth: 1.5
318
- }), t[n.id || `${n.type}_${r}`] ? "Hide" : /* @__PURE__ */ (0, N.jsx)("span", {
369
+ }), t[n.id || `${n.type}_${r}`] ? "Hide" : /* @__PURE__ */ (0, I.jsx)("span", {
319
370
  className: "sr-only",
320
371
  children: "Show all"
321
372
  })]
322
373
  })
323
374
  ]
324
- }), /* @__PURE__ */ (0, N.jsx)("div", {
375
+ }), /* @__PURE__ */ (0, I.jsx)("div", {
325
376
  className: `overflow-hidden transition-all duration-300 ease-in-out ${t[n.id || `${n.type}_${r}`] ? "mb-2 max-h-[1384px] opacity-100" : "max-h-0 opacity-0"}`,
326
- children: t[n.id || `${n.type}_${r}`] && n.actors.length > 1 && /* @__PURE__ */ (0, N.jsx)("div", {
377
+ children: t[n.id || `${n.type}_${r}`] && n.actors.length > 1 && /* @__PURE__ */ (0, I.jsx)("div", {
327
378
  className: "flex flex-col gap-2 pt-2",
328
- children: n.actors.map((e) => /* @__PURE__ */ (0, N.jsxs)("div", {
379
+ children: n.actors.map((e) => /* @__PURE__ */ (0, I.jsxs)("div", {
329
380
  className: "group/item break-anywhere flex items-center justify-between gap-4",
330
381
  onClick: (t) => {
331
- t?.stopPropagation(), e.handle && o(e.handle, c);
382
+ t?.stopPropagation(), e.handle && s(e.handle, c);
332
383
  },
333
- children: [/* @__PURE__ */ (0, N.jsxs)("div", {
384
+ children: [/* @__PURE__ */ (0, I.jsxs)("div", {
334
385
  className: "flex min-w-0 items-center",
335
386
  children: [
336
- /* @__PURE__ */ (0, N.jsx)(w, {
387
+ /* @__PURE__ */ (0, I.jsx)(D, {
337
388
  author: {
338
389
  icon: { url: e.avatarUrl || "" },
339
390
  name: e.name,
@@ -341,16 +392,16 @@ var B = ({ group: e }) => {
341
392
  },
342
393
  size: "xs"
343
394
  }),
344
- /* @__PURE__ */ (0, N.jsx)("span", {
395
+ /* @__PURE__ */ (0, I.jsx)("span", {
345
396
  className: "ml-2 line-clamp-1 text-base font-semibold group-hover/item:underline dark:text-white",
346
397
  children: e.name
347
398
  }),
348
- /* @__PURE__ */ (0, N.jsx)("span", {
399
+ /* @__PURE__ */ (0, I.jsx)("span", {
349
400
  className: "ml-1 line-clamp-1 text-base text-gray-700 dark:text-gray-600",
350
401
  children: e.handle
351
402
  })
352
403
  ]
353
- }), n.type === "follow" && !e.followedByMe && e.handle && /* @__PURE__ */ (0, N.jsx)(m, {
404
+ }), n.type === "follow" && !e.followedByMe && e.handle && /* @__PURE__ */ (0, I.jsx)(a, {
354
405
  following: !1,
355
406
  handle: e.handle,
356
407
  variant: "link"
@@ -359,48 +410,34 @@ var B = ({ group: e }) => {
359
410
  })
360
411
  })]
361
412
  }) }),
362
- /* @__PURE__ */ (0, N.jsxs)(I.Content, { children: [
363
- /* @__PURE__ */ (0, N.jsx)("div", { children: R ? /* @__PURE__ */ (0, N.jsxs)(N.Fragment, { children: [/* @__PURE__ */ (0, N.jsx)(D, {}), /* @__PURE__ */ (0, N.jsx)(D, { className: "w-full max-w-60" })] }) : /* @__PURE__ */ (0, N.jsxs)("div", {
413
+ /* @__PURE__ */ (0, I.jsxs)(z.Content, { children: [
414
+ /* @__PURE__ */ (0, I.jsx)("div", { children: j ? /* @__PURE__ */ (0, I.jsxs)(I.Fragment, { children: [/* @__PURE__ */ (0, I.jsx)(A, {}), /* @__PURE__ */ (0, I.jsx)(A, { className: "w-full max-w-60" })] }) : /* @__PURE__ */ (0, I.jsxs)("div", {
364
415
  className: "flex justify-between",
365
- children: [/* @__PURE__ */ (0, N.jsxs)("div", {
416
+ children: [/* @__PURE__ */ (0, I.jsxs)("div", {
366
417
  className: "flex items-center gap-1",
367
- children: [/* @__PURE__ */ (0, N.jsx)("span", {
418
+ children: [/* @__PURE__ */ (0, I.jsx)("span", {
368
419
  className: "truncate",
369
- children: /* @__PURE__ */ (0, N.jsx)(B, { group: n })
370
- }), n.actors.length < 2 && /* @__PURE__ */ (0, N.jsxs)(N.Fragment, { children: [/* @__PURE__ */ (0, N.jsx)("span", {
420
+ children: /* @__PURE__ */ (0, I.jsx)(U, { group: n })
421
+ }), n.actors.length < 2 && /* @__PURE__ */ (0, I.jsxs)(I.Fragment, { children: [/* @__PURE__ */ (0, I.jsx)("span", {
371
422
  className: "mt-px text-[8px] text-gray-700 dark:text-gray-600",
372
423
  children: "•"
373
- }), /* @__PURE__ */ (0, N.jsx)("span", {
424
+ }), /* @__PURE__ */ (0, I.jsx)("span", {
374
425
  className: "mt-0.5 text-sm text-gray-700 dark:text-gray-600",
375
- children: l(n, !1)
426
+ children: _(n, !1)
376
427
  })] })]
377
- }), n.actors.length === 1 && (n.type === "follow" || n.type === "reply" || n.type === "mention") && !n.actors[0].followedByMe && n.actors[0].handle && /* @__PURE__ */ (0, N.jsx)(m, {
428
+ }), n.actors.length === 1 && (n.type === "follow" || n.type === "reply" || n.type === "mention") && !n.actors[0].followedByMe && n.actors[0].handle && /* @__PURE__ */ (0, I.jsx)(a, {
378
429
  following: !1,
379
430
  handle: n.actors[0].handle,
380
431
  variant: "link"
381
432
  })]
382
433
  }) }),
383
- (n.type === "reply" && n.inReplyTo || n.type === "mention" || n.type === "like" && !n.post?.name && n.post?.content || n.type === "repost" && !n.post?.name && n.post?.content) && (n.type !== "reply" && n.type !== "mention" ? /* @__PURE__ */ (0, N.jsxs)("div", {
384
- className: "ap-note-content mt-0.5 line-clamp-1 text-sm text-pretty text-gray-700 dark:text-gray-600",
385
- children: [n.post?.type === "article" && n.post?.title && /* @__PURE__ */ (0, N.jsxs)(N.Fragment, { children: [n.post.title, ""] }), /* @__PURE__ */ (0, N.jsx)("span", { dangerouslySetInnerHTML: { __html: T(E(n.post?.content || "")) } })]
386
- }) : /* @__PURE__ */ (0, N.jsx)(N.Fragment, { children: /* @__PURE__ */ (0, N.jsxs)("div", {
387
- className: "mt-2.5 rounded-md bg-gray-100 px-5 py-[14px] group-hover:bg-gray-200 dark:bg-gray-950/30 group-hover:dark:bg-black/40",
388
- children: [/* @__PURE__ */ (0, N.jsx)(V, {
389
- className: "ap-note-content text-pretty",
390
- content: n.post?.content || "",
391
- stripTags: ["a"]
392
- }), n.post && n.post.attachments && n.post.attachments.length > 0 && /* @__PURE__ */ (0, N.jsx)("div", {
393
- className: "notification-attachments mb-1 [&_.attachment-gallery]:flex [&_.attachment-gallery]:flex-wrap [&_img]:aspect-square [&_img]:max-w-[calc(20%-6.4px)]",
394
- children: u({
395
- ...n.post,
396
- type: "Note",
397
- attachment: n.post.attachments
398
- })
399
- })]
400
- }) })),
401
- (n.type === "reply" && n.post || n.type === "mention") && /* @__PURE__ */ (0, N.jsx)("div", {
434
+ (n.type === "reply" && n.inReplyTo || n.type === "mention" || n.type === "like" && !n.post?.name && n.post?.content || n.type === "repost" && !n.post?.name && n.post?.content) && /* @__PURE__ */ (0, I.jsx)(G, {
435
+ post: n.post,
436
+ variant: n.type !== "reply" && n.type !== "mention" ? "inline" : "quoted"
437
+ }),
438
+ (n.type === "reply" && n.post || n.type === "mention") && /* @__PURE__ */ (0, I.jsx)("div", {
402
439
  className: "mt-1.5",
403
- children: /* @__PURE__ */ (0, N.jsx)(h, {
440
+ children: /* @__PURE__ */ (0, I.jsx)(g, {
404
441
  actor: {
405
442
  ...n.actors[0],
406
443
  icon: { url: n.actors[0].avatarUrl || "" },
@@ -417,28 +454,28 @@ var B = ({ group: e }) => {
417
454
  reposted: n.post.repostedByMe
418
455
  },
419
456
  repostCount: n.post.repostCount || 0,
420
- onLikeClick: O
457
+ onLikeClick: d
421
458
  })
422
459
  })
423
460
  ] })
424
461
  ]
425
- }), r < H.length - 1 && /* @__PURE__ */ (0, N.jsx)("div", {
462
+ }), r < M.length - 1 && /* @__PURE__ */ (0, I.jsx)("div", {
426
463
  className: "pl-[52px]",
427
- children: /* @__PURE__ */ (0, N.jsx)(L, {})
464
+ children: /* @__PURE__ */ (0, I.jsx)(B, {})
428
465
  })] }, n.id || `${n.type}_${r}`))
429
466
  }),
430
- /* @__PURE__ */ (0, N.jsx)("div", {
431
- ref: W,
467
+ /* @__PURE__ */ (0, I.jsx)("div", {
468
+ ref: P,
432
469
  className: "h-1"
433
470
  }),
434
- F && /* @__PURE__ */ (0, N.jsx)("div", {
471
+ k && /* @__PURE__ */ (0, I.jsx)("div", {
435
472
  className: "-mt-4 mb-8 flex flex-col items-center justify-center gap-4 text-center",
436
- children: /* @__PURE__ */ (0, N.jsx)(a, { size: "md" })
473
+ children: /* @__PURE__ */ (0, I.jsx)(o, { size: "md" })
437
474
  })
438
475
  ] })]
439
476
  }) });
440
477
  };
441
478
  //#endregion
442
- export { H as default };
479
+ export { K as default };
443
480
 
444
- //# sourceMappingURL=notifications-BdcyivbT.js.map
481
+ //# sourceMappingURL=notifications-GGTrGEdu.js.map