ghost 6.53.0 → 6.54.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 (596) hide show
  1. package/components/ghost-storage-base-3.0.0.tgz +0 -0
  2. package/components/tryghost-adapter-base-cache-0.2.0.tgz +0 -0
  3. package/components/tryghost-adapter-base-scheduling-0.1.1.tgz +0 -0
  4. package/components/tryghost-adapter-base-sso-0.1.1.tgz +0 -0
  5. package/components/tryghost-admin-api-schema-0.0.0.tgz +0 -0
  6. package/components/tryghost-custom-field-types-0.0.0.tgz +0 -0
  7. package/components/tryghost-i18n-0.0.0.tgz +0 -0
  8. package/components/tryghost-kg-converters-1.2.3.tgz +0 -0
  9. package/components/tryghost-kg-default-nodes-2.1.3.tgz +0 -0
  10. package/components/tryghost-kg-lexical-html-renderer-1.4.3.tgz +0 -0
  11. package/core/boot.js +9 -6
  12. package/core/built/admin/assets/Combination-CJG7Flp-.js +41 -0
  13. package/core/built/admin/assets/Growth-CSaHoSVD.js +3 -0
  14. package/core/built/admin/assets/Newsletters-C5cs6FGo.js +1 -0
  15. package/core/built/admin/assets/Overview-j4NaeUNm.js +1 -0
  16. package/core/built/admin/assets/{PolarAngleAxis-pciQ0MOy.js → PolarAngleAxis-BGjf7sBu.js} +1 -1
  17. package/core/built/admin/assets/{RadialBarChart-DWmw2PcX.js → RadialBarChart-zeFf9mBz.js} +1 -1
  18. package/core/built/admin/assets/Web-_fD935OX.js +2 -0
  19. package/core/built/admin/assets/account-migration-DLvVA5yq.js +1 -0
  20. package/core/built/admin/assets/activitypub/{account-migration-BPZG37DJ.js → account-migration-DHbZcxGM.js} +13 -13
  21. package/core/built/admin/assets/activitypub/activitypub.js +7 -7
  22. package/core/built/admin/assets/activitypub/{avatar-ZYco0ITb.js → avatar-B3DEDB1l.js} +10 -10
  23. package/core/built/admin/assets/activitypub/{avatar-flipboard-D541lc4F.js → avatar-flipboard-Cqrg0XMx.js} +3 -3
  24. package/core/built/admin/assets/activitypub/{bluesky-sharing-NOHUtHjl.js → bluesky-sharing-zfxUey_L.js} +38 -37
  25. package/core/built/admin/assets/activitypub/{chunk-KS7C4IRE-B-GOFDPZ.js → chunk-KS7C4IRE-D4HEcEwi.js} +716 -710
  26. package/core/built/admin/assets/activitypub/{content-formatters-bwrp4iEO.js → content-formatters-BpQARh28.js} +229 -181
  27. package/core/built/admin/assets/activitypub/{copy-C7m7ovHw.js → copy-D9UWIAan.js} +2 -2
  28. package/core/built/admin/assets/activitypub/{dist-B5ira32t.js → dist-Ba_QxHHl.js} +5 -5
  29. package/core/built/admin/assets/activitypub/{domain-iqE4YXwD.js → domain-CmwSZLHK.js} +33 -33
  30. package/core/built/admin/assets/activitypub/{edit-profile-B8MFYh28.js → edit-profile-CXdwNmVG.js} +46 -45
  31. package/core/built/admin/assets/activitypub/{explore-BbdKodp3.js → explore-DfbjzGM1.js} +20 -20
  32. package/core/built/admin/assets/activitypub/{feed-Cl3A5owG.js → feed-DSEBJOqf.js} +15 -15
  33. package/core/built/admin/assets/activitypub/{field-DL6WyR-c.js → field-CY7XVcx6.js} +13 -13
  34. package/core/built/admin/assets/activitypub/{hash-6G3DzwL9.js → hash-BC9Q0N4c.js} +2 -2
  35. package/core/built/admin/assets/activitypub/{inbox-YmhuBice.js → inbox-DQ4ZnC1m.js} +2 -2
  36. package/core/built/admin/assets/activitypub/inbox-DtQ0kytT.js +1221 -0
  37. package/core/built/admin/assets/activitypub/{label-DGbLjDvE.js → label-Dw96GQ7u.js} +6 -6
  38. package/core/built/admin/assets/activitypub/layout-IdVq3lRy.js +1 -0
  39. package/core/built/admin/assets/activitypub/{moderation-qnBtk1zS.js → moderation-Dg_-I-8C.js} +32 -31
  40. package/core/built/admin/assets/activitypub/{note-C7ZRoSJv.js → note-Cy1-uKMY.js} +21 -21
  41. package/core/built/admin/assets/activitypub/{notifications-DiEA4b1o.js → notifications-B_fvoLIM.js} +17 -17
  42. package/core/built/admin/assets/activitypub/{onboarding-_JVgEwgV.js → onboarding-BFDkzeR2.js} +2 -2
  43. package/core/built/admin/assets/activitypub/{onboarding-DG4zu3qM.js → onboarding-D6rcBdPe.js} +5 -5
  44. package/core/built/admin/assets/activitypub/{preferences-B3FtocnP.js → preferences-ByJseZp6.js} +1607 -1606
  45. package/core/built/admin/assets/activitypub/{profile-D8ZJfYXB.js → profile-BFtbnIjz.js} +264 -263
  46. package/core/built/admin/assets/activitypub/{reply-C1vggenw.js → reply-CpdMeAO5.js} +2 -2
  47. package/core/built/admin/assets/activitypub/{routes-BOii-V9n.js → routes-Dh3xXfce.js} +1311 -1295
  48. package/core/built/admin/assets/activitypub/{separator-1gNokN5S.js → separator-BI1FLsYM.js} +4 -4
  49. package/core/built/admin/assets/activitypub/{settings--9Sb0nbl.js → settings-DTgqJPxM.js} +14 -14
  50. package/core/built/admin/assets/activitypub/{site-fkMmqv0V.js → site-CdL9ZLqm.js} +10 -10
  51. package/core/built/admin/assets/activitypub/{step-1-QhivSMw2.js → step-1-DIDg4aHb.js} +15 -15
  52. package/core/built/admin/assets/activitypub/{step-2-pMk9YwqD.js → step-2-BfGe8BYt.js} +7 -7
  53. package/core/built/admin/assets/activitypub/{step-3-DvmVC1fo.js → step-3-mE9spAqw.js} +12 -12
  54. package/core/built/admin/assets/activitypub/{tabs-Dc0FEEYD.js → tabs-ogqwoBlb.js} +241 -237
  55. package/core/built/admin/assets/activitypub/{topic-filter-CuDyM5bD.js → topic-filter-DLHBZT93.js} +4 -4
  56. package/core/built/admin/assets/activitypub/use-activity-pub-queries-VzbN99u_.js +1957 -0
  57. package/core/built/admin/assets/activitypub/{use-navigate-with-base-path-Drx1kdAK.js → use-navigate-with-base-path-CAwXTmqH.js} +165 -175
  58. package/core/built/admin/assets/activitypub/{use-reply-chain-data-BHkCHcW5.js → use-reply-chain-data-CxonteFD.js} +8 -8
  59. package/core/built/admin/assets/activitypub/users-BLeiOTHc.js +1464 -0
  60. package/core/built/admin/assets/activitypub/{x-BHCEe-c2.js → x-C8tAnXly.js} +2 -2
  61. package/core/built/admin/assets/{audience-adiFehTD.js → audience-BKRdsFmy.js} +1 -1
  62. package/core/built/admin/assets/{automated-emails-UWM02CMr.js → automated-emails-Cn87L5Md.js} +1 -1
  63. package/core/built/admin/assets/automations-B7-y3dXt.js +1 -0
  64. package/core/built/admin/assets/automations-BP_aHamJ.js +1 -0
  65. package/core/built/admin/assets/{avatar-flipboard-Lz3F9fNT.js → avatar-flipboard-C6Kj3Awu.js} +1 -1
  66. package/core/built/admin/assets/bluesky-sharing-Bh36XPh4.js +1 -0
  67. package/core/built/admin/assets/box-BWbhXh21.js +1 -0
  68. package/core/built/admin/assets/breadcrumb-D34YWnaw.js +1 -0
  69. package/core/built/admin/assets/card-DGoDJzrn.js +1 -0
  70. package/core/built/admin/assets/{chart-ChpW-NzQ.js → chart-BuRT2Y6p.js} +14 -14
  71. package/core/built/admin/assets/chart-helpers-DbklaJw9.js +1 -0
  72. package/core/built/admin/assets/checkbox-DA4-1UiI.js +1 -0
  73. package/core/built/admin/assets/chunk.524.45e0875f41b71e46e849.js +25 -0
  74. package/core/built/admin/assets/chunk.582.51defd4b009f0de8d4d5.js +27 -0
  75. package/core/built/admin/assets/{chunk.831.0703a12e49f51cec3f3a.js → chunk.589.096f4d0bb775e5229aa9.js} +78 -85
  76. package/core/built/admin/assets/{chunk.432.c2caa0b20f03e71d1a35.js → chunk.962.b73442b07be930bb5d85.js} +2216 -3188
  77. package/core/built/admin/assets/{chunk.432.c2caa0b20f03e71d1a35.js.LICENSE.txt → chunk.962.b73442b07be930bb5d85.js.LICENSE.txt} +0 -63
  78. package/core/built/admin/assets/code-editor-view-BKBrkffZ.js +1 -0
  79. package/core/built/admin/assets/comments-CzVNIT8b.js +1 -0
  80. package/core/built/admin/assets/container-BYz2Ed39.js +1 -0
  81. package/core/built/admin/assets/data-list-16rkJYYi.js +1 -0
  82. package/core/built/admin/assets/date-range-select-B5vSsrpx.js +1 -0
  83. package/core/built/admin/assets/disabled-sources-indicator-NkOIoMue.js +1 -0
  84. package/core/built/admin/assets/{dist-CsekE4FL.js → dist-CQJY6SVY.js} +1 -1
  85. package/core/built/admin/assets/dist-DGzPJ_bO.js +4 -0
  86. package/core/built/admin/assets/{dist-BbGrW05X.js → dist-DyViJwIy.js} +1 -1
  87. package/core/built/admin/assets/dist-Ndy-PuGN.js +1 -0
  88. package/core/built/admin/assets/dist-P_ohUlTi.js +1 -0
  89. package/core/built/admin/assets/domain-B7_n5nfx.js +1 -0
  90. package/core/built/admin/assets/dropzone-DcuJEEUf.js +5 -0
  91. package/core/built/admin/assets/edit-profile-rvDGrS8J.js +1 -0
  92. package/core/built/admin/assets/editor-BCiIyFjm.js +8 -0
  93. package/core/built/admin/assets/empty-indicator-oX1u1Pkn.js +1 -0
  94. package/core/built/admin/assets/esm-CFX93H5M.js +2 -0
  95. package/core/built/admin/assets/explore-BZAZOg5X.js +1 -0
  96. package/core/built/admin/assets/feed-CFV8xDw9.js +1 -0
  97. package/core/built/admin/assets/field-BW-M2Zwp.js +1 -0
  98. package/core/built/admin/assets/{filter-sources-v39ihhhV.js → filter-sources-Fx8wiYYw.js} +1 -1
  99. package/core/built/admin/assets/filters-CGX_pf2N.js +1 -0
  100. package/core/built/admin/assets/filters-DtcXMZDU.js +1 -0
  101. package/core/built/admin/assets/framework-provider-CmtnPXIT.js +4 -0
  102. package/core/built/admin/assets/{ghost-b57f077997b739a8ae9a70772dc016cb.js → ghost-b1dce91ad3232cc259ee5fbbf9526243.js} +294 -290
  103. package/core/built/admin/assets/ghost-dark-c8d0ab7f515b2010c173e23e9b32ea8a.css +1 -0
  104. package/core/built/admin/assets/gift-link-modal-Bk8qpnMw.js +1 -0
  105. package/core/built/admin/assets/{gift-links-CY3GwiVi.js → gift-links-nBxJjZiQ.js} +1 -1
  106. package/core/built/admin/assets/growth-Ck2s3JjR.js +1 -0
  107. package/core/built/admin/assets/hooks-BApwwBE0.js +2 -0
  108. package/core/built/admin/assets/{inbox-TEISAmth.js → inbox-BRp1_aaC.js} +35 -35
  109. package/core/built/admin/assets/index-BBf502Wg.js +69 -0
  110. package/core/built/admin/assets/index-BCCZKxP2.css +1 -0
  111. package/core/built/admin/assets/inline-EMAm3okk.js +1 -0
  112. package/core/built/admin/assets/input-group-DjuYnNCd.js +1 -0
  113. package/core/built/admin/assets/{react-dom-C6aoWSfl.js → jsx-runtime-DX3WBWVO.js} +1 -1
  114. package/core/built/admin/assets/koenig-lexical/koenig-lexical.js +5 -2
  115. package/core/built/admin/assets/koenig-lexical/koenig-lexical.umd.js +2 -2
  116. package/core/built/admin/assets/{koenig-lexical-Di7b48ED.js → koenig-lexical-CM7UFNdL.js} +2 -2
  117. package/core/built/admin/assets/kpi-card-BrGH6FsT.js +1 -0
  118. package/core/built/admin/assets/kpi-card-CIGyijjx.js +1 -0
  119. package/core/built/admin/assets/kpi-helpers-_HRRsklE.js +1 -0
  120. package/core/built/admin/assets/kpi-tabs-BSvh9eoq.js +1 -0
  121. package/core/built/admin/assets/label-BOR9XdKl.js +1 -0
  122. package/core/built/admin/assets/label-picker-BdNAWuUX.js +1 -0
  123. package/core/built/admin/assets/{labels-GbxlXWtf.js → labels-Cyayfd-e.js} +1 -1
  124. package/core/built/admin/assets/layout-Bw4GnxXp.js +1 -0
  125. package/core/built/admin/assets/limit-service-9fwD33lU.js +20 -0
  126. package/core/built/admin/assets/link-helpers-tOlxmuH5.js +1 -0
  127. package/core/built/admin/assets/list-page-B6ANtzkd.js +1 -0
  128. package/core/built/admin/assets/mailchimp-Ds_NQ04w.svg +9 -0
  129. package/core/built/admin/assets/member-custom-fields-DvFyamLu.js +1 -0
  130. package/core/built/admin/assets/member-detail-Cg2vTqvJ.js +1 -0
  131. package/core/built/admin/assets/members-DsPxYAVm.js +10 -0
  132. package/core/built/admin/assets/modals-Bf_fyvHZ.js +31 -0
  133. package/core/built/admin/assets/moderation-Dlp7M5sa.js +1 -0
  134. package/core/built/admin/assets/multi-select-combobox-CH1o8XXQ.js +1 -0
  135. package/core/built/admin/assets/newsletter-CQ5CAYUI.js +1 -0
  136. package/core/built/admin/assets/{newsletters-DZm3yLj8.js → newsletters-D1jbtV-h.js} +1 -1
  137. package/core/built/admin/assets/note-BrAZ7Z0o.js +1 -0
  138. package/core/built/admin/assets/notifications-BnbHLOPC.js +1 -0
  139. package/core/built/admin/assets/nql-lang-B7faUf8D.js +19 -0
  140. package/core/built/admin/assets/{offers-D11QtPXX.js → offers-CrY6nSRR.js} +1 -1
  141. package/core/built/admin/assets/onboarding-route-eU146kuA.js +1 -0
  142. package/core/built/admin/assets/overview-BpbaK-xu.js +1 -0
  143. package/core/built/admin/assets/page-header-C0jVxtS8.js +1 -0
  144. package/core/built/admin/assets/{pages-BnObVRrf.js → pages-BbNWFcGj.js} +1 -1
  145. package/core/built/admin/assets/pintura-CXOmq-5H.svg +15 -0
  146. package/core/built/admin/assets/post-analytics-Iw7dk1mT.js +1 -0
  147. package/core/built/admin/assets/post-analytics-header-D9pJ4iNm.js +1 -0
  148. package/core/built/admin/assets/{post-analytics-provider-DSfBCtnj.js → post-analytics-provider-BDqcfBor.js} +1 -1
  149. package/core/built/admin/assets/post-share-modal-DBfKl2GZ.js +1 -0
  150. package/core/built/admin/assets/{posts-CwH8VJvB.js → posts-EWpZIjkr.js} +1 -1
  151. package/core/built/admin/assets/preferences-D4EANGoc.js +5 -0
  152. package/core/built/admin/assets/profile-dJ44Bn_W.js +1 -0
  153. package/core/built/admin/assets/{referrers-nxR52jPI.js → referrers-BCfFYSHc.js} +1 -1
  154. package/core/built/admin/assets/router-provider-C1R4AZ2o.js +1 -0
  155. package/core/built/admin/assets/select--2uVN9_-.js +1 -0
  156. package/core/built/admin/assets/settings-Bz3RZRmE.js +1 -0
  157. package/core/built/admin/assets/settings-SD9bxIpt.js +4 -0
  158. package/core/built/admin/assets/share-modal-CkdTTMJd.js +1 -0
  159. package/core/built/admin/assets/social-urls-BvFZwYcE.js +8 -0
  160. package/core/built/admin/assets/sort-button-DZp9Y2r1.js +1 -0
  161. package/core/built/admin/assets/source-icon-CHr9qJ2Y.js +1 -0
  162. package/core/built/admin/assets/stack-xiN0eQ6Z.js +1 -0
  163. package/core/built/admin/assets/stats-DGoXZxWE.js +1 -0
  164. package/core/built/admin/assets/stats-view-D2-1L0ms.js +1 -0
  165. package/core/built/admin/assets/step-1-RdahbwyG.js +1 -0
  166. package/core/built/admin/assets/step-2-D83PeRwd.js +1 -0
  167. package/core/built/admin/assets/step-3-p_Op4wv4.js +2 -0
  168. package/core/built/admin/assets/switch-qp518gFQ.js +1 -0
  169. package/core/built/admin/assets/table-B8LgTQJZ.js +1 -0
  170. package/core/built/admin/assets/tabs-D3ZOYkM7.js +1 -0
  171. package/core/built/admin/assets/tags-B4l891z2.js +1 -0
  172. package/core/built/admin/assets/text-DwtjwGkh.js +1 -0
  173. package/core/built/admin/assets/textarea-CTlb3Uu6.js +1 -0
  174. package/core/built/admin/assets/{tiers-EghDzCKc.js → tiers-BgYLWRJv.js} +1 -1
  175. package/core/built/admin/assets/toggle-group-DNXDkAwf.js +1 -0
  176. package/core/built/admin/assets/topic-filter-DZGjEcz3.js +1 -0
  177. package/core/built/admin/assets/{use-analytics-data-0l_OHtnR.js → use-analytics-data-CaT8RirX.js} +1 -1
  178. package/core/built/admin/assets/use-filter-params-DeQ8sX4N.js +1 -0
  179. package/core/built/admin/assets/use-growth-stats-9Db2CuJe.js +1 -0
  180. package/core/built/admin/assets/{use-post-referrers-DwI31Ril.js → use-post-referrers-BV54YcQS.js} +1 -1
  181. package/core/built/admin/assets/use-reply-chain-data-DuYZGDan.js +1 -0
  182. package/core/built/admin/assets/use-simple-pagination-8fTua9Nt.js +1 -0
  183. package/core/built/admin/assets/{use-tinybird-query-DvZBBMG7.js → use-tinybird-query-Dz156HvZ.js} +1 -1
  184. package/core/built/admin/assets/{use-tinybird-token-CQtebkvU.js → use-tinybird-token-C9RUdL_n.js} +1 -1
  185. package/core/built/admin/assets/{users-Pc8IRjk9.js → users-CcSCQFcQ.js} +1 -1
  186. package/core/built/admin/assets/virtual-list-BCvP0YF-.js +1 -0
  187. package/core/built/admin/assets/web-DTZnnUGr.js +1 -0
  188. package/core/built/admin/index.html +18 -22
  189. package/core/frontend/apps/private-blogging/index.js +1 -1
  190. package/core/frontend/apps/private-blogging/lib/middleware.js +1 -1
  191. package/core/frontend/helpers/split.js +2 -1
  192. package/core/frontend/meta/asset-url.js +1 -1
  193. package/core/frontend/meta/author-image.js +1 -1
  194. package/core/frontend/meta/blog-logo.js +1 -1
  195. package/core/frontend/meta/canonical-url.js +1 -1
  196. package/core/frontend/meta/cover-image.js +1 -1
  197. package/core/frontend/meta/get-meta.js +1 -1
  198. package/core/frontend/meta/og-image.js +1 -1
  199. package/core/frontend/meta/paginated-url.js +1 -1
  200. package/core/frontend/meta/twitter-image.js +1 -1
  201. package/core/frontend/meta/url.js +1 -1
  202. package/core/frontend/services/assets-minification/admin-auth-assets.js +1 -1
  203. package/core/frontend/services/llms/handler.js +1 -1
  204. package/core/frontend/services/proxy.js +31 -2
  205. package/core/frontend/services/routing/collection-router.js +1 -1
  206. package/core/frontend/services/routing/controllers/email-post.js +1 -1
  207. package/core/frontend/services/routing/controllers/entry/markdown.js +1 -1
  208. package/core/frontend/services/routing/controllers/entry/markdown.ts +1 -1
  209. package/core/frontend/services/routing/controllers/entry.js +1 -1
  210. package/core/frontend/services/routing/controllers/entry.ts +1 -1
  211. package/core/frontend/services/routing/controllers/previews.js +6 -7
  212. package/core/frontend/services/routing/controllers/unsubscribe.js +7 -3
  213. package/core/frontend/services/routing/email-router.js +1 -1
  214. package/core/frontend/services/routing/events.js +12 -0
  215. package/core/frontend/services/routing/middleware/page-param.js +1 -1
  216. package/core/frontend/services/routing/parent-router.js +1 -1
  217. package/core/frontend/services/routing/preview-router.js +1 -1
  218. package/core/frontend/services/routing/router-manager.js +4 -8
  219. package/core/frontend/services/routing/rss-router.js +1 -1
  220. package/core/frontend/services/routing/static-pages-router.js +1 -1
  221. package/core/frontend/services/routing/static-routes-router.js +1 -1
  222. package/core/frontend/services/routing/taxonomy-router.js +1 -1
  223. package/core/frontend/services/rss/generate-feed.js +1 -1
  224. package/core/frontend/services/sitemap/base-site-map-generator.js +23 -4
  225. package/core/frontend/services/sitemap/site-map-index-generator.js +1 -1
  226. package/core/frontend/services/sitemap/site-map-manager.js +14 -8
  227. package/core/frontend/services/sitemap/utils.js +1 -1
  228. package/core/frontend/services/theme-engine/middleware/update-global-template-options.js +1 -1
  229. package/core/frontend/services/theme-engine/middleware/update-local-template-options.js +1 -1
  230. package/core/frontend/utils/images.js +1 -1
  231. package/core/frontend/web/middleware/admin-toolbar.js +1 -1
  232. package/core/frontend/web/middleware/handle-image-sizes.js +2 -2
  233. package/core/frontend/web/middleware/redirect-ghost-to-admin.js +1 -1
  234. package/core/frontend/web/routers/serve-favicon.js +1 -1
  235. package/core/frontend/web/routers/serve-public-file.js +1 -1
  236. package/core/frontend/web/site.js +5 -5
  237. package/core/server/adapters/cache/AdapterCacheMemoryTTL.js +2 -2
  238. package/core/server/adapters/cache/MemoryCache.js +2 -2
  239. package/core/server/adapters/cache/Redis.js +1 -1
  240. package/core/server/adapters/cache/index.js +1 -1
  241. package/core/server/adapters/lib/redis/AdapterCacheRedis.js +2 -2
  242. package/core/server/adapters/route-settings/FileStore.js +2 -8
  243. package/core/server/adapters/route-settings/FileStore.ts +1 -6
  244. package/core/server/adapters/route-settings/S3RouteSettingsStore.js +206 -0
  245. package/core/server/adapters/route-settings/S3RouteSettingsStore.ts +199 -0
  246. package/core/server/adapters/route-settings/utils.js +13 -0
  247. package/core/server/adapters/route-settings/utils.ts +7 -0
  248. package/core/server/adapters/scheduling/deps.d.ts +0 -2
  249. package/core/server/adapters/scheduling/error-capture.js +76 -0
  250. package/core/server/adapters/scheduling/error-capture.ts +91 -0
  251. package/core/server/adapters/scheduling/utils.js +18 -34
  252. package/core/server/adapters/scheduling/utils.ts +36 -0
  253. package/core/server/adapters/storage/LocalFilesStorage.js +1 -1
  254. package/core/server/adapters/storage/LocalImagesStorage.js +1 -1
  255. package/core/server/adapters/storage/LocalMediaStorage.js +1 -1
  256. package/core/server/adapters/storage/LocalStorageBase.js +3 -3
  257. package/core/server/adapters/storage/S3Storage.js +2 -2
  258. package/core/server/adapters/storage/S3Storage.ts +1 -1
  259. package/core/server/adapters/storage/utils.js +1 -1
  260. package/core/server/api/endpoints/authentication.js +1 -1
  261. package/core/server/api/endpoints/featurebase.js +1 -1
  262. package/core/server/api/endpoints/files.js +2 -2
  263. package/core/server/api/endpoints/images.js +2 -2
  264. package/core/server/api/endpoints/libraries.d.ts +0 -1
  265. package/core/server/api/endpoints/media.js +8 -5
  266. package/core/server/api/endpoints/member-custom-fields.js +4 -1
  267. package/core/server/api/endpoints/member-custom-fields.ts +4 -1
  268. package/core/server/api/endpoints/posts.js +17 -1
  269. package/core/server/api/endpoints/search-index-public.js +4 -3
  270. package/core/server/api/endpoints/search-index.js +5 -4
  271. package/core/server/api/endpoints/settings-public.js +1 -1
  272. package/core/server/api/endpoints/settings.js +3 -1
  273. package/core/server/api/endpoints/utils/serializers/input/utils/url.js +9 -1
  274. package/core/server/api/endpoints/utils/serializers/output/default.js +7 -0
  275. package/core/server/api/endpoints/utils/serializers/output/files.js +1 -1
  276. package/core/server/api/endpoints/utils/serializers/output/media.js +1 -1
  277. package/core/server/api/endpoints/utils/serializers/output/member-custom-fields.js +7 -4
  278. package/core/server/api/endpoints/utils/serializers/output/member-custom-fields.ts +8 -4
  279. package/core/server/api/endpoints/utils/serializers/output/members.js +16 -26
  280. package/core/server/api/endpoints/utils/serializers/output/pages.js +7 -0
  281. package/core/server/api/endpoints/utils/serializers/output/posts.js +13 -0
  282. package/core/server/api/endpoints/utils/serializers/output/utils/url.js +1 -1
  283. package/core/server/api/endpoints/utils/validators/input/members.js +2 -52
  284. package/core/server/data/db/backup.js +1 -1
  285. package/core/server/data/importer/handlers/image.js +3 -3
  286. package/core/server/data/importer/import-manager.js +6 -4
  287. package/core/server/data/importer/importers/content-file-importer.js +2 -2
  288. package/core/server/data/migrations/utils/schema.js +4 -2
  289. package/core/server/data/migrations/versions/6.54/2026-07-19-16-59-00-add-content-import-permission.js +10 -0
  290. package/core/server/data/migrations/versions/6.54/2026-07-20-13-59-21-drop-email-tracked-sent-count-from-automation-action-revisions.js +7 -0
  291. package/core/server/data/migrations/versions/6.54/2026-07-21-01-58-20-add-automation-run-steps-poller-index.js +3 -0
  292. package/core/server/data/migrations/versions/6.54/2026-07-21-21-08-15-add-automated-email-recipients-mailgun-message-id-index.js +3 -0
  293. package/core/server/data/migrations/versions/6.54/2026-07-22-10-41-08-add-click-tracking-to-automated-email-recipients.js +13 -0
  294. package/core/server/data/migrations/versions/6.54/2026-07-22-15-10-30-add-email-clicked-count-to-automation-action-revisions.js +7 -0
  295. package/core/server/data/migrations/versions/6.54/2026-07-23-10-24-18-add-automation-action-revision-to-redirects.js +9 -0
  296. package/core/server/data/schema/commands.js +37 -3
  297. package/core/server/data/schema/fixtures/fixtures.json +7 -0
  298. package/core/server/data/schema/lib/default-index-name.js +20 -0
  299. package/core/server/data/schema/schema.js +40 -17
  300. package/core/server/data/seeders/data-generator.js +4 -2
  301. package/core/server/lib/image/image-size.js +5 -7
  302. package/core/server/lib/image/image-utils.js +2 -2
  303. package/core/server/lib/image/index.js +4 -4
  304. package/core/server/lib/lexical.js +3 -3
  305. package/core/server/lib/mobiledoc.js +2 -2
  306. package/core/server/lib/validate-password.js +1 -1
  307. package/core/server/models/action.js +9 -0
  308. package/core/server/models/base/plugins/generate-slug.js +1 -1
  309. package/core/server/models/collection.js +1 -1
  310. package/core/server/models/custom-theme-setting.js +1 -1
  311. package/core/server/models/member.js +73 -0
  312. package/core/server/models/newsletter.js +1 -1
  313. package/core/server/models/post.js +19 -5
  314. package/core/server/models/posts-meta.js +1 -1
  315. package/core/server/models/redirect.js +1 -1
  316. package/core/server/models/settings.js +1 -1
  317. package/core/server/models/snippet.js +1 -1
  318. package/core/server/models/tag.js +1 -1
  319. package/core/server/models/user.js +1 -1
  320. package/core/server/models/welcome-email-automated-email.js +1 -1
  321. package/core/server/services/activitypub/activity-pub-service-wrapper.js +1 -1
  322. package/core/server/services/adapter-manager/adapter-manager.js +5 -1
  323. package/core/server/services/adapter-manager/adapter-manager.ts +7 -2
  324. package/core/server/services/adapter-manager/index.js +18 -15
  325. package/core/server/services/adapter-manager/index.ts +23 -17
  326. package/core/server/services/adapter-manager/utils.js +124 -14
  327. package/core/server/services/adapter-manager/utils.ts +130 -14
  328. package/core/server/services/api-version-compatibility/mw-version-rewrites.js +1 -1
  329. package/core/server/services/audience-feedback/index.js +1 -1
  330. package/core/server/services/auth/passwordreset.js +1 -1
  331. package/core/server/services/auth/session/express-session.js +1 -1
  332. package/core/server/services/auth/session/index.js +2 -2
  333. package/core/server/services/auth/session/session-service.js +1 -1
  334. package/core/server/services/automations/automations-api.js +2 -19
  335. package/core/server/services/automations/automations-api.ts +2 -31
  336. package/core/server/services/automations/automations-repository.ts +15 -0
  337. package/core/server/services/automations/database-automations-repository.js +30 -2
  338. package/core/server/services/automations/database-automations-repository.ts +33 -2
  339. package/core/server/services/automations/poll.js +16 -12
  340. package/core/server/services/automations/poll.ts +17 -15
  341. package/core/server/services/automations/service.js +1 -1
  342. package/core/server/services/automations/service.ts +3 -13
  343. package/core/server/services/automations/welcome-email-automation-poll.js +2 -1
  344. package/core/server/services/comments/index.js +1 -1
  345. package/core/server/services/custom-redirects/index.js +2 -2
  346. package/core/server/services/email-analytics/email-analytics-service-wrapper.js +14 -13
  347. package/core/server/services/email-analytics/email-analytics-service.js +1 -1
  348. package/core/server/services/email-analytics/events/start-email-analytics-job-event.js +11 -15
  349. package/core/server/services/email-analytics/events/start-email-analytics-job-event.ts +15 -0
  350. package/core/server/services/email-analytics/index.js +2 -3
  351. package/core/server/services/email-analytics/index.ts +1 -2
  352. package/core/server/services/email-analytics/jobs/email-analytics-job-scheduler.js +1 -6
  353. package/core/server/services/email-analytics/jobs/email-analytics-job-scheduler.ts +0 -9
  354. package/core/server/services/email-analytics/jobs/fetch-latest/index.js +1 -1
  355. package/core/server/services/email-analytics/jobs/index.js +0 -2
  356. package/core/server/services/email-service/email-service-wrapper.js +1 -1
  357. package/core/server/services/email-service/email-service.js +20 -4
  358. package/core/server/services/explore-ping/explore-ping-service.js +24 -39
  359. package/core/server/services/explore-ping/explore-ping-service.ts +198 -0
  360. package/core/server/services/explore-ping/index.js +11 -11
  361. package/core/server/services/explore-ping/index.ts +42 -0
  362. package/core/server/services/gifts/gift-reminder-scheduler.js +1 -1
  363. package/core/server/services/gifts/gift-reminder-scheduler.ts +1 -1
  364. package/core/server/services/gifts/gift-service-wrapper.js +1 -1
  365. package/core/server/services/identity-tokens/identity-token-service-wrapper.js +1 -1
  366. package/core/server/services/indexnow-ping/constants.js +30 -0
  367. package/core/server/services/indexnow-ping/constants.ts +32 -0
  368. package/core/server/services/indexnow-ping/index.js +29 -253
  369. package/core/server/services/indexnow-ping/index.ts +37 -0
  370. package/core/server/services/indexnow-ping/indexnow-ping-service.js +229 -0
  371. package/core/server/services/indexnow-ping/indexnow-ping-service.ts +319 -0
  372. package/core/server/services/invites/index.js +1 -1
  373. package/core/server/services/lib/mailgun-client.js +3 -3
  374. package/core/server/services/link-redirection/index.js +2 -2
  375. package/core/server/services/link-redirection/link-redirect-repository.js +1 -1
  376. package/core/server/services/link-redirection/link-redirect.js +12 -13
  377. package/core/server/services/link-redirection/link-redirect.ts +22 -0
  378. package/core/server/services/link-redirection/link-redirects-service.js +1 -1
  379. package/core/server/services/link-tracking/full-post-link.js +2 -2
  380. package/core/server/services/link-tracking/index.js +1 -1
  381. package/core/server/services/mail/ghost-mailer.js +1 -1
  382. package/core/server/services/mail/index.js +1 -1
  383. package/core/server/services/media-inliner/external-media-inliner.js +2 -2
  384. package/core/server/services/media-inliner/service.js +4 -3
  385. package/core/server/services/member-attribution/index.js +1 -1
  386. package/core/server/services/member-welcome-emails/service.js +1 -1
  387. package/core/server/services/members/api.js +8 -2
  388. package/core/server/services/members/csv/index.js +10 -0
  389. package/core/server/services/members/csv/index.ts +3 -0
  390. package/core/server/services/members/csv/parse.js +94 -0
  391. package/core/server/services/members/csv/parse.ts +111 -0
  392. package/core/server/services/members/csv/types.js +2 -0
  393. package/core/server/services/members/csv/types.ts +39 -0
  394. package/core/server/services/members/csv/unparse.js +69 -0
  395. package/core/server/services/members/csv/unparse.ts +79 -0
  396. package/core/server/services/members/exporter/query.js +35 -8
  397. package/core/server/services/members/importer/config.js +35 -0
  398. package/core/server/services/members/importer/config.ts +39 -0
  399. package/core/server/services/members/importer/members-csv-importer.js +31 -13
  400. package/core/server/services/members/members-api/members-api.js +4 -2
  401. package/core/server/services/members/members-api/repositories/event-repository.js +13 -2
  402. package/core/server/services/members/members-api/services/member-bread-service.js +42 -19
  403. package/core/server/services/members/middleware.js +1 -1
  404. package/core/server/services/members/service.js +15 -2
  405. package/core/server/services/members/stripe-connect.js +1 -1
  406. package/core/server/services/members-custom-fields/actions.js +3 -0
  407. package/core/server/services/members-custom-fields/actions.ts +6 -2
  408. package/core/server/services/members-custom-fields/config.js +34 -0
  409. package/core/server/services/members-custom-fields/config.ts +38 -0
  410. package/core/server/services/members-custom-fields/definitions-service.js +156 -21
  411. package/core/server/services/members-custom-fields/definitions-service.ts +170 -25
  412. package/core/server/services/members-custom-fields/index.js +16 -3
  413. package/core/server/services/members-custom-fields/index.ts +17 -3
  414. package/core/server/services/members-custom-fields/values-service.js +56 -10
  415. package/core/server/services/members-custom-fields/values-service.ts +62 -10
  416. package/core/server/services/mentions/mention-sending-service.js +22 -2
  417. package/core/server/services/mentions/service.js +21 -5
  418. package/core/server/services/newsletters/index.js +1 -1
  419. package/core/server/services/oembed/oembed-service.js +122 -33
  420. package/core/server/services/oembed/service.js +4 -2
  421. package/core/server/services/offers/service.js +1 -1
  422. package/core/server/services/post-scheduling/index.js +4 -3
  423. package/core/server/services/post-scheduling/index.ts +4 -3
  424. package/core/server/services/post-scheduling/post-scheduling.js +1 -1
  425. package/core/server/services/post-scheduling/post-scheduling.ts +1 -1
  426. package/core/server/services/posts/post-email-handler.js +13 -6
  427. package/core/server/services/posts/post-scheduling.js +1 -1
  428. package/core/server/services/posts/posts-service-instance.js +1 -1
  429. package/core/server/services/posts/posts-service.js +2 -2
  430. package/core/server/services/posts-public/service.js +1 -1
  431. package/core/server/services/public-config/site.js +1 -1
  432. package/core/server/services/recommendations/recommendation-service-wrapper.js +1 -1
  433. package/core/server/services/recommendations/service/libraries.d.ts +0 -2
  434. package/core/server/services/route-settings/dynamic-routing-service.js +2 -3
  435. package/core/server/services/route-settings/index.js +1 -1
  436. package/core/server/services/route-settings/route-settings-parser.js +134 -124
  437. package/core/server/services/route-settings/route-settings-parser.ts +160 -125
  438. package/core/server/services/route-settings/validation-errors.js +178 -0
  439. package/core/server/services/route-settings/validation-errors.ts +196 -0
  440. package/core/server/services/settings/settings-service.js +2 -2
  441. package/core/server/services/settings-helpers/index.js +1 -1
  442. package/core/server/services/slack-notifications/service.js +1 -1
  443. package/core/server/services/slack-ping/constants.js +16 -0
  444. package/core/server/services/slack-ping/constants.ts +15 -0
  445. package/core/server/services/slack-ping/index.js +26 -204
  446. package/core/server/services/slack-ping/index.ts +35 -0
  447. package/core/server/services/slack-ping/slack-ping-service.js +214 -0
  448. package/core/server/services/slack-ping/slack-ping-service.ts +296 -0
  449. package/core/server/services/staff/index.js +1 -1
  450. package/core/server/services/stats/posts-stats-service.js +1 -1
  451. package/core/server/services/stats/service.js +1 -1
  452. package/core/server/services/stripe/service.js +1 -1
  453. package/core/server/services/tags-public/service.js +1 -1
  454. package/core/server/services/themes/validate.js +1 -1
  455. package/core/server/services/update-check/index.js +1 -1
  456. package/core/server/services/url/lazy-url-service.js +66 -6
  457. package/core/server/services/url/lazy-url-service.ts +73 -6
  458. package/core/server/services/url/url-generator.js +1 -1
  459. package/core/server/services/url/url-service-facade.js +68 -3
  460. package/core/server/services/url/url-service-facade.ts +79 -4
  461. package/core/server/services/url/url-service.js +1 -1
  462. package/core/server/services/url/urls.js +1 -1
  463. package/core/server/services/webhooks/index.js +19 -2
  464. package/core/server/services/webhooks/listen.js +6 -11
  465. package/core/server/services/webhooks/payload.js +1 -3
  466. package/core/server/services/webhooks/serialize.js +16 -1
  467. package/core/server/web/admin/app.js +1 -1
  468. package/core/server/web/admin/middleware/redirect-admin-urls.js +1 -1
  469. package/core/server/web/api/endpoints/admin/routes.js +1 -0
  470. package/core/server/web/api/middleware/cors.js +1 -1
  471. package/core/server/web/api/middleware/upload.js +4 -0
  472. package/core/server/web/gift-preview/controller.js +1 -1
  473. package/core/server/web/shared/middleware/redirect-amp-urls.js +1 -1
  474. package/core/server/web/shared/middleware/uncapitalise.js +2 -2
  475. package/core/server/web/shared/middleware/url-redirects.js +1 -1
  476. package/core/shared/config/defaults.json +8 -1
  477. package/core/shared/config/overrides.json +4 -0
  478. package/core/shared/url-utils.js +19 -15
  479. package/core/shared/url-utils.ts +20 -0
  480. package/ghost.js +0 -1
  481. package/package.json +26 -31
  482. package/pnpm-lock.yaml +681 -2789
  483. package/pnpm-workspace.yaml +31 -17
  484. package/components/tryghost-adapter-base-scheduling-0.0.0.tgz +0 -0
  485. package/components/tryghost-adapter-base-sso-0.0.0.tgz +0 -0
  486. package/core/built/admin/assets/Combination--5EZGaDs.js +0 -43
  487. package/core/built/admin/assets/Growth-C0NoKcHQ.js +0 -3
  488. package/core/built/admin/assets/Newsletters-Ed8kDjdy.js +0 -1
  489. package/core/built/admin/assets/Overview-CArPgRZt.js +0 -1
  490. package/core/built/admin/assets/Web-CjjYoVM3.js +0 -2
  491. package/core/built/admin/assets/account-migration-mfa5mNI9.js +0 -1
  492. package/core/built/admin/assets/activitypub/inbox-B3rjKMTv.js +0 -1221
  493. package/core/built/admin/assets/activitypub/layout-jcurg3rU.js +0 -1
  494. package/core/built/admin/assets/activitypub/use-activity-pub-queries-yqGRcnLn.js +0 -2569
  495. package/core/built/admin/assets/activitypub/users-CfyHIsTG.js +0 -1316
  496. package/core/built/admin/assets/automations-DkUnxNdv.js +0 -1
  497. package/core/built/admin/assets/automations-vjXofmV_.js +0 -1
  498. package/core/built/admin/assets/bluesky-sharing-T-pO3RcP.js +0 -1
  499. package/core/built/admin/assets/breadcrumb-CekPYTCn.js +0 -1
  500. package/core/built/admin/assets/button--i2uMDDn.js +0 -4
  501. package/core/built/admin/assets/card-CSWz_BXq.js +0 -1
  502. package/core/built/admin/assets/chart-helpers-C_4Ka_vT.js +0 -1
  503. package/core/built/admin/assets/chunk.524.8ce2c741473e2f0929dc.js +0 -25
  504. package/core/built/admin/assets/chunk.582.453459d6228d2955408b.js +0 -27
  505. package/core/built/admin/assets/code-editor-view-BfkwQto2.js +0 -1
  506. package/core/built/admin/assets/command-K75Jzs0G.js +0 -1
  507. package/core/built/admin/assets/comments-BEIi1DH-.js +0 -1
  508. package/core/built/admin/assets/container-BNXvlcjA.js +0 -1
  509. package/core/built/admin/assets/data-list-BmK5QMab.js +0 -1
  510. package/core/built/admin/assets/date-range-select-5sKzwbt7.js +0 -1
  511. package/core/built/admin/assets/disabled-sources-indicator-L_ssJTNr.js +0 -1
  512. package/core/built/admin/assets/dist-BBIJuyPg.js +0 -1
  513. package/core/built/admin/assets/dist-BHE0dp6o.js +0 -1
  514. package/core/built/admin/assets/dist-DJ6c4_De.js +0 -1
  515. package/core/built/admin/assets/dist-DW0QXQO3.js +0 -1
  516. package/core/built/admin/assets/dist-DxFLceO5.js +0 -1
  517. package/core/built/admin/assets/dist-QcACAOAD.js +0 -1
  518. package/core/built/admin/assets/dist-duxRDcQu.js +0 -177
  519. package/core/built/admin/assets/domain-CLaPZ9Rc.js +0 -1
  520. package/core/built/admin/assets/dropzone-E0bSX4_a.js +0 -5
  521. package/core/built/admin/assets/edit-profile-DqNPKaA4.js +0 -1
  522. package/core/built/admin/assets/editor-CkLXQDRp.js +0 -8
  523. package/core/built/admin/assets/empty-indicator-BTtOlgIo.js +0 -1
  524. package/core/built/admin/assets/esm-TSfGW7nz.js +0 -2
  525. package/core/built/admin/assets/explore-BEstLxKr.js +0 -1
  526. package/core/built/admin/assets/feed-C58p2voG.js +0 -1
  527. package/core/built/admin/assets/field-BSbDUHPv.js +0 -1
  528. package/core/built/admin/assets/filters-BgYv8Gt7.js +0 -1
  529. package/core/built/admin/assets/filters-DvenFkmK.js +0 -1
  530. package/core/built/admin/assets/framework-provider-jQktxm9P.js +0 -4
  531. package/core/built/admin/assets/ghost-dark-8590dea6cd695ff90f27d262c4464538.css +0 -1
  532. package/core/built/admin/assets/gift-link-modal-BPjXkEFt.js +0 -1
  533. package/core/built/admin/assets/growth-D4JNiVTe.js +0 -1
  534. package/core/built/admin/assets/hooks-Cjxexi_I.js +0 -2
  535. package/core/built/admin/assets/index-BacwlcOy.js +0 -67
  536. package/core/built/admin/assets/index-DxRNHH0o.css +0 -1
  537. package/core/built/admin/assets/inline-C22rnPro.js +0 -1
  538. package/core/built/admin/assets/input-group-CKfrILLP.js +0 -1
  539. package/core/built/admin/assets/jsx-runtime-CtMZ-PAS.js +0 -1
  540. package/core/built/admin/assets/kpi-card-DZxQKAIb.js +0 -1
  541. package/core/built/admin/assets/kpi-card-FidQ5zg3.js +0 -1
  542. package/core/built/admin/assets/kpi-helpers-C5T8Vaf1.js +0 -1
  543. package/core/built/admin/assets/kpi-tabs-_VRK6hGV.js +0 -1
  544. package/core/built/admin/assets/label-Cza7hPgn.js +0 -1
  545. package/core/built/admin/assets/label-picker-DgC_zLaw.js +0 -1
  546. package/core/built/admin/assets/layout-BxsXnKFX.js +0 -1
  547. package/core/built/admin/assets/limit-service-CTurluJQ.js +0 -20
  548. package/core/built/admin/assets/link-helpers-C3Gqy2cz.js +0 -1
  549. package/core/built/admin/assets/list-page-BtqCnow_.js +0 -1
  550. package/core/built/admin/assets/member-custom-fields-9uXFBqSt.js +0 -1
  551. package/core/built/admin/assets/member-detail-Dq6ZDIxo.js +0 -1
  552. package/core/built/admin/assets/members-CUWD9jal.js +0 -10
  553. package/core/built/admin/assets/modals-CIdwHVga.js +0 -31
  554. package/core/built/admin/assets/moderation-DTt04UDA.js +0 -1
  555. package/core/built/admin/assets/newsletter-cC8vcc9h.js +0 -1
  556. package/core/built/admin/assets/note-DZU0IY9e.js +0 -1
  557. package/core/built/admin/assets/notifications-NoHpBHJ4.js +0 -1
  558. package/core/built/admin/assets/nql-lang-CvCSOQG3.js +0 -19
  559. package/core/built/admin/assets/onboarding-route-Deg2hNm8.js +0 -1
  560. package/core/built/admin/assets/overview-BQPt_9w3.js +0 -1
  561. package/core/built/admin/assets/page-header-D6bEqPo2.js +0 -1
  562. package/core/built/admin/assets/post-analytics-header-BPw_B2_D.js +0 -1
  563. package/core/built/admin/assets/post-analytics-kp2_--XO.js +0 -1
  564. package/core/built/admin/assets/post-share-modal-Cave3Z4W.js +0 -1
  565. package/core/built/admin/assets/preferences-C7h3j_uy.js +0 -5
  566. package/core/built/admin/assets/profile-B2x4q2oB.js +0 -1
  567. package/core/built/admin/assets/router-provider-5fsX1CYn.js +0 -1
  568. package/core/built/admin/assets/select-PhPjIBBT.js +0 -1
  569. package/core/built/admin/assets/settings-D5P9Gwgo.js +0 -6
  570. package/core/built/admin/assets/settings-zUOzQV5I.js +0 -1
  571. package/core/built/admin/assets/share-modal-EfpfbuWF.js +0 -1
  572. package/core/built/admin/assets/social-urls-DgAF08Xc.js +0 -18
  573. package/core/built/admin/assets/sort-button-WOQYJm2H.js +0 -1
  574. package/core/built/admin/assets/source-icon-hm8Cj-Gx.js +0 -1
  575. package/core/built/admin/assets/stats-CnQDb62m.js +0 -1
  576. package/core/built/admin/assets/stats-view-CCfTJgSe.js +0 -1
  577. package/core/built/admin/assets/step-1-BGlhY4DS.js +0 -1
  578. package/core/built/admin/assets/step-2-D3sDEyFH.js +0 -1
  579. package/core/built/admin/assets/step-3-CvZoUdsc.js +0 -2
  580. package/core/built/admin/assets/switch-CNjkOmwz.js +0 -1
  581. package/core/built/admin/assets/table-C5nZYPnW.js +0 -1
  582. package/core/built/admin/assets/tabs-dtOcExye.js +0 -1
  583. package/core/built/admin/assets/tags-Dhm0FB_g.js +0 -1
  584. package/core/built/admin/assets/textarea-CeKw3wmV.js +0 -1
  585. package/core/built/admin/assets/toggle-group-DfhZIMTW.js +0 -1
  586. package/core/built/admin/assets/topic-filter-Cxe1Il41.js +0 -1
  587. package/core/built/admin/assets/typeof-Ca-duI-z.js +0 -1
  588. package/core/built/admin/assets/use-filter-params-Bub6BqNy.js +0 -1
  589. package/core/built/admin/assets/use-growth-stats-BJORomv0.js +0 -1
  590. package/core/built/admin/assets/use-reply-chain-data-B89YjVoo.js +0 -1
  591. package/core/built/admin/assets/use-simple-pagination-BL2SYXKi.js +0 -1
  592. package/core/built/admin/assets/virtual-list-DNJOSK9I.js +0 -1
  593. package/core/built/admin/assets/web-BHUE3YQc.js +0 -1
  594. package/core/server/adapters/scheduling/scheduling-base.js +0 -5
  595. package/core/server/adapters/sso/SSOBase.js +0 -5
  596. package/core/server/adapters/storage/index.js +0 -17
@@ -1,24 +1,25 @@
1
1
  import { S as e, T as t, a as n, d as r, g as i, v as a, w as o } from "./_react-D4KM8XEu.js";
2
- import { d as s, s as c, y as l } from "./chunk-KS7C4IRE-B-GOFDPZ.js";
3
- import { A as u, B as d, C as f, D as p, F as m, G as h, H as g, I as ee, J as _, M as v, N as y, O as b, P as x, T as S, U as C, V as w, X as T, Y as te, _ as E, a as D, b as O, gt as ne, i as k, j as A, k as re, m as j, n as ie, pt as ae, r as oe, s as se, w as M, x as ce, yt as le, z as N } from "./routes-BOii-V9n.js";
4
- import { O as ue, g as P, i as de, r as F, t as I, x as L } from "./use-navigate-with-base-path-Drx1kdAK.js";
5
- import { E as R, F as fe, G as pe, I as me, T as z, Y as he, Z as B, a as V, c as ge, i as H, q as U, s as _e } from "./use-activity-pub-queries-yqGRcnLn.js";
6
- import { r as W } from "./x-BHCEe-c2.js";
7
- import { a as ve, c as G, f as ye, i as be, l as K, o as xe, s as Se } from "./content-formatters-bwrp4iEO.js";
8
- import { a as Ce, i as q, n as J, r as we, t as Te } from "./tabs-Dc0FEEYD.js";
9
- import { t as Ee } from "./copy-C7m7ovHw.js";
10
- import { l as De, u as Y } from "./avatar-ZYco0ITb.js";
11
- import { t as Oe } from "./separator-1gNokN5S.js";
12
- import { t as ke } from "./edit-profile-B8MFYh28.js";
13
- import "./layout-jcurg3rU.js";
14
- import { t as Ae } from "./settings--9Sb0nbl.js";
15
- var je = P("pencil", [["path", {
2
+ import { S as s, d as c, s as l } from "./chunk-KS7C4IRE-D4HEcEwi.js";
3
+ import { o as u } from "./users-BLeiOTHc.js";
4
+ import { A as d, B as f, C as p, D as m, E as h, F as g, G as _, H as v, I as y, J as b, L as x, M as S, N as C, P as w, R as T, U as E, V as D, X as O, Y as k, _ as A, a as j, b as M, gt as ee, i as te, j as ne, m as N, n as re, pt as ie, r as ae, s as P, w as F, x as oe, yt as se, z as I } from "./routes-Dh3xXfce.js";
5
+ import { T as ce, g as L, i as le, r as R, t as z, v as B } from "./use-navigate-with-base-path-CAwXTmqH.js";
6
+ import { E as V, F as ue, G as de, I as fe, T as H, Y as U, a as W, c as pe, i as G, q as me, s as he } from "./use-activity-pub-queries-VzbN99u_.js";
7
+ import { r as K } from "./x-C8tAnXly.js";
8
+ import { c as ge, i as _e, l as q, o as ve, p as ye, s as be, u as J } from "./content-formatters-BpQARh28.js";
9
+ import { a as xe, i as Y, n as X, r as Se, t as Ce } from "./tabs-ogqwoBlb.js";
10
+ import { t as we } from "./copy-D9UWIAan.js";
11
+ import { l as Te, u as Z } from "./avatar-B3DEDB1l.js";
12
+ import { t as Ee } from "./separator-BI1FLsYM.js";
13
+ import { t as De } from "./edit-profile-CXdwNmVG.js";
14
+ import "./layout-IdVq3lRy.js";
15
+ import { t as Oe } from "./settings-DTgqJPxM.js";
16
+ var ke = L("pencil", [["path", {
16
17
  d: "M21.174 6.812a1 1 0 0 0-3.986-3.987L3.842 16.174a2 2 0 0 0-.5.83l-1.321 4.352a.5.5 0 0 0 .623.622l4.353-1.32a2 2 0 0 0 .83-.497z",
17
18
  key: "1a8usu"
18
19
  }], ["path", {
19
20
  d: "m15 5 4 4",
20
21
  key: "1mk7zo"
21
- }]]), Me = P("user-round-x", [
22
+ }]]), Ae = L("user-round-x", [
22
23
  ["path", {
23
24
  d: "M2 21a8 8 0 0 1 11.873-7",
24
25
  key: "74fkxq"
@@ -41,13 +42,13 @@ var je = P("pencil", [["path", {
41
42
  //#endregion
42
43
  //#region src/utils/get-name.ts
43
44
  r();
44
- function Ne(e) {
45
+ function je(e) {
45
46
  return typeof e.name == "string" ? e.name : typeof e.preferredUsername == "string" ? e.preferredUsername : typeof e.preferredUsername == "object" && e.preferredUsername !== null && "@value" in e.preferredUsername && typeof e.preferredUsername["@value"] == "string" ? e.preferredUsername["@value"] : "Unknown";
46
47
  }
47
48
  //#endregion
48
49
  //#region src/views/profile/components/actor-list.tsx
49
- var X = l(), Pe = ({ noResultsMessage: e, actors: t, isLoading: r, fetchNextPage: i, hasNextPage: s, isFetchingNextPage: c }) => {
50
- let { data: l } = V("index", "me"), u = o(null), d = o(null);
50
+ var Q = s(), Me = ({ noResultsMessage: e, actors: t, isLoading: r, fetchNextPage: i, hasNextPage: s, isFetchingNextPage: c }) => {
51
+ let { data: l } = W("index", "me"), u = o(null), d = o(null);
51
52
  a(() => (u.current && u.current.disconnect(), u.current = new IntersectionObserver((e) => {
52
53
  e[0].isIntersecting && s && !c && i();
53
54
  }), d.current && u.current.observe(d.current), () => {
@@ -57,42 +58,42 @@ var X = l(), Pe = ({ noResultsMessage: e, actors: t, isLoading: r, fetchNextPage
57
58
  c,
58
59
  i
59
60
  ]);
60
- let p = I();
61
- return /* @__PURE__ */ (0, X.jsxs)("div", {
61
+ let f = z();
62
+ return /* @__PURE__ */ (0, Q.jsxs)("div", {
62
63
  className: "pt-3",
63
64
  "data-testid": "actor-list",
64
65
  children: [
65
- s === !1 && t.length === 0 ? /* @__PURE__ */ (0, X.jsxs)(f, { children: [/* @__PURE__ */ (0, X.jsx)(M, { children: /* @__PURE__ */ (0, X.jsx)(ae, {}) }), e] }) : /* @__PURE__ */ (0, X.jsx)("div", {
66
+ s === !1 && t.length === 0 ? /* @__PURE__ */ (0, Q.jsxs)(p, { children: [/* @__PURE__ */ (0, Q.jsx)(F, { children: /* @__PURE__ */ (0, Q.jsx)(ie, {}) }), e] }) : /* @__PURE__ */ (0, Q.jsx)("div", {
66
67
  className: "flex flex-col",
67
68
  children: t.map(({ actor: e, isFollowing: t, blockedByMe: r, domainBlockedByMe: i }) => {
68
- let a = G(e), o = a === l?.handle;
69
- return /* @__PURE__ */ (0, X.jsx)(n.Fragment, { children: /* @__PURE__ */ (0, X.jsx)(O, {
69
+ let a = q(e), o = a === l?.handle;
70
+ return /* @__PURE__ */ (0, Q.jsx)(n.Fragment, { children: /* @__PURE__ */ (0, Q.jsx)(M, {
70
71
  actor: e,
71
72
  align: "center",
72
73
  isCurrentUser: o,
73
74
  side: "left",
74
- children: /* @__PURE__ */ (0, X.jsx)("div", { children: /* @__PURE__ */ (0, X.jsxs)(se, {
75
+ children: /* @__PURE__ */ (0, Q.jsx)("div", { children: /* @__PURE__ */ (0, Q.jsxs)(P, {
75
76
  "data-testid": "actor-item",
76
77
  onClick: () => {
77
- E(e, p);
78
+ A(e, f);
78
79
  },
79
80
  children: [
80
- /* @__PURE__ */ (0, X.jsx)(Se, { author: e }),
81
- /* @__PURE__ */ (0, X.jsx)("div", { children: /* @__PURE__ */ (0, X.jsxs)("div", {
81
+ /* @__PURE__ */ (0, Q.jsx)(ge, { author: e }),
82
+ /* @__PURE__ */ (0, Q.jsx)("div", { children: /* @__PURE__ */ (0, Q.jsxs)("div", {
82
83
  className: "break-anywhere text-gray-600",
83
- children: [/* @__PURE__ */ (0, X.jsx)("span", {
84
+ children: [/* @__PURE__ */ (0, Q.jsx)("span", {
84
85
  className: "mr-1 line-clamp-1 font-bold text-black dark:text-white",
85
- children: Ne(e)
86
- }), /* @__PURE__ */ (0, X.jsx)("div", {
86
+ children: je(e)
87
+ }), /* @__PURE__ */ (0, Q.jsx)("div", {
87
88
  className: "line-clamp-1 text-sm",
88
89
  children: a
89
90
  })]
90
91
  }) }),
91
- r || i ? /* @__PURE__ */ (0, X.jsx)(F, {
92
+ r || i ? /* @__PURE__ */ (0, Q.jsx)(R, {
92
93
  className: "pointer-events-none ml-auto min-w-[90px]",
93
94
  variant: "destructive",
94
95
  children: "Blocked"
95
- }) : o ? null : /* @__PURE__ */ (0, X.jsx)(ce, {
96
+ }) : o ? null : /* @__PURE__ */ (0, Q.jsx)(oe, {
96
97
  className: "ml-auto",
97
98
  "data-testid": "follow-button",
98
99
  following: t,
@@ -104,13 +105,13 @@ var X = l(), Pe = ({ noResultsMessage: e, actors: t, isLoading: r, fetchNextPage
104
105
  }) }, e.id);
105
106
  })
106
107
  }),
107
- /* @__PURE__ */ (0, X.jsx)("div", {
108
+ /* @__PURE__ */ (0, Q.jsx)("div", {
108
109
  ref: d,
109
110
  className: "h-1"
110
111
  }),
111
- (c || r) && /* @__PURE__ */ (0, X.jsx)("div", {
112
+ (c || r) && /* @__PURE__ */ (0, Q.jsx)("div", {
112
113
  className: "mt-6 flex flex-col items-center justify-center gap-4 text-center",
113
- children: /* @__PURE__ */ (0, X.jsx)(S, { size: "md" })
114
+ children: /* @__PURE__ */ (0, Q.jsx)(m, { size: "md" })
114
115
  })
115
116
  ]
116
117
  });
@@ -118,7 +119,7 @@ var X = l(), Pe = ({ noResultsMessage: e, actors: t, isLoading: r, fetchNextPage
118
119
  //#endregion
119
120
  //#region src/views/profile/components/likes.tsx
120
121
  r();
121
- var Z = ({ posts: e, fetchNextPage: t, hasNextPage: n, isFetchingNextPage: r, isLoading: i }) => {
122
+ var $ = ({ posts: e, fetchNextPage: t, hasNextPage: n, isFetchingNextPage: r, isLoading: i }) => {
122
123
  let s = o(null), c = o(null), l = o(null), u = Math.max(0, Math.floor(e.length * .75) - 1);
123
124
  a(() => (s.current && s.current.disconnect(), s.current = new IntersectionObserver((e) => {
124
125
  e[0].isIntersecting && n && !r && t();
@@ -129,17 +130,17 @@ var Z = ({ posts: e, fetchNextPage: t, hasNextPage: n, isFetchingNextPage: r, is
129
130
  r,
130
131
  t
131
132
  ]);
132
- let d = I();
133
- return /* @__PURE__ */ (0, X.jsxs)(X.Fragment, { children: [
134
- n === !1 && e.length === 0 && /* @__PURE__ */ (0, X.jsxs)(f, { children: [/* @__PURE__ */ (0, X.jsx)(M, { children: /* @__PURE__ */ (0, X.jsx)(Y, {}) }), "You haven't liked anything yet."] }),
135
- /* @__PURE__ */ (0, X.jsxs)("ul", {
133
+ let d = z();
134
+ return /* @__PURE__ */ (0, Q.jsxs)(Q.Fragment, { children: [
135
+ n === !1 && e.length === 0 && /* @__PURE__ */ (0, Q.jsxs)(p, { children: [/* @__PURE__ */ (0, Q.jsx)(F, { children: /* @__PURE__ */ (0, Q.jsx)(Z, {}) }), "You haven't liked anything yet."] }),
136
+ /* @__PURE__ */ (0, Q.jsxs)("ul", {
136
137
  className: "mx-auto flex max-w-[640px] flex-col",
137
138
  "data-testid": "profile-likes-list",
138
- children: [e.map((t, n) => /* @__PURE__ */ (0, X.jsxs)("li", {
139
+ children: [e.map((t, n) => /* @__PURE__ */ (0, Q.jsxs)("li", {
139
140
  "data-testid": "profile-like-item",
140
141
  "data-test-view-article": !0,
141
142
  children: [
142
- /* @__PURE__ */ (0, X.jsx)(j, {
143
+ /* @__PURE__ */ (0, Q.jsx)(N, {
143
144
  actor: t.actor,
144
145
  allowDelete: t.object.authored,
145
146
  commentCount: t.object.replyCount,
@@ -153,18 +154,18 @@ var Z = ({ posts: e, fetchNextPage: t, hasNextPage: n, isFetchingNextPage: r, is
153
154
  t.object.type === "Note" ? d(`/notes/${encodeURIComponent(t.object.id)}`) : t.object.type === "Article" && d(`/reader/${encodeURIComponent(t.object.id)}`);
154
155
  }
155
156
  }),
156
- n < e.length - 1 && /* @__PURE__ */ (0, X.jsx)(Oe, {}),
157
- n === u && /* @__PURE__ */ (0, X.jsx)("div", {
157
+ n < e.length - 1 && /* @__PURE__ */ (0, Q.jsx)(Ee, {}),
158
+ n === u && /* @__PURE__ */ (0, Q.jsx)("div", {
158
159
  ref: c,
159
160
  className: "h-1"
160
161
  })
161
162
  ]
162
- }, `likes-${t.id}`)), r && /* @__PURE__ */ (0, X.jsx)("li", {
163
+ }, `likes-${t.id}`)), r && /* @__PURE__ */ (0, Q.jsx)("li", {
163
164
  className: "flex flex-col items-center justify-center gap-4 text-center",
164
- children: /* @__PURE__ */ (0, X.jsx)(S, { size: "md" })
165
+ children: /* @__PURE__ */ (0, Q.jsx)(m, { size: "md" })
165
166
  })]
166
167
  }),
167
- /* @__PURE__ */ (0, X.jsx)("div", {
168
+ /* @__PURE__ */ (0, Q.jsx)("div", {
168
169
  ref: l,
169
170
  className: "h-1"
170
171
  })
@@ -173,7 +174,7 @@ var Z = ({ posts: e, fetchNextPage: t, hasNextPage: n, isFetchingNextPage: r, is
173
174
  //#endregion
174
175
  //#region src/views/profile/components/posts.tsx
175
176
  r();
176
- var Q = ({ posts: e, fetchNextPage: t, hasNextPage: n, isFetchingNextPage: r, isLoading: i, noResultsMessage: s }) => {
177
+ var Ne = ({ posts: e, fetchNextPage: t, hasNextPage: n, isFetchingNextPage: r, isLoading: i, noResultsMessage: s }) => {
177
178
  let c = o(null), l = o(null), u = o(null), d = Math.max(0, Math.floor(e.length * .75) - 1);
178
179
  a(() => (c.current && c.current.disconnect(), c.current = new IntersectionObserver((e) => {
179
180
  e[0].isIntersecting && n && !r && t();
@@ -184,17 +185,17 @@ var Q = ({ posts: e, fetchNextPage: t, hasNextPage: n, isFetchingNextPage: r, is
184
185
  r,
185
186
  t
186
187
  ]);
187
- let p = I();
188
- return /* @__PURE__ */ (0, X.jsxs)(X.Fragment, { children: [
189
- n === !1 && e.length === 0 && /* @__PURE__ */ (0, X.jsxs)(f, { children: [/* @__PURE__ */ (0, X.jsx)(M, { children: /* @__PURE__ */ (0, X.jsx)(je, {}) }), s] }),
190
- /* @__PURE__ */ (0, X.jsxs)("ul", {
188
+ let f = z();
189
+ return /* @__PURE__ */ (0, Q.jsxs)(Q.Fragment, { children: [
190
+ n === !1 && e.length === 0 && /* @__PURE__ */ (0, Q.jsxs)(p, { children: [/* @__PURE__ */ (0, Q.jsx)(F, { children: /* @__PURE__ */ (0, Q.jsx)(ke, {}) }), s] }),
191
+ /* @__PURE__ */ (0, Q.jsxs)("ul", {
191
192
  className: "mx-auto flex max-w-[640px] flex-col",
192
193
  "data-testid": "profile-posts-list",
193
- children: [e.map((t, n) => /* @__PURE__ */ (0, X.jsxs)("li", {
194
+ children: [e.map((t, n) => /* @__PURE__ */ (0, Q.jsxs)("li", {
194
195
  "data-testid": "profile-post-item",
195
196
  "data-test-view-article": !0,
196
197
  children: [
197
- /* @__PURE__ */ (0, X.jsx)(j, {
198
+ /* @__PURE__ */ (0, Q.jsx)(N, {
198
199
  actor: t.actor,
199
200
  allowDelete: t.object.authored,
200
201
  commentCount: t.object.replyCount,
@@ -205,21 +206,21 @@ var Q = ({ posts: e, fetchNextPage: t, hasNextPage: n, isFetchingNextPage: r, is
205
206
  repostCount: t.object.repostCount,
206
207
  type: t.type,
207
208
  onClick: () => {
208
- t.object.type === "Note" ? p(`/notes/${encodeURIComponent(t.object.id)}`) : t.object.type === "Article" && p(`/reader/${encodeURIComponent(t.object.id)}`);
209
+ t.object.type === "Note" ? f(`/notes/${encodeURIComponent(t.object.id)}`) : t.object.type === "Article" && f(`/reader/${encodeURIComponent(t.object.id)}`);
209
210
  }
210
211
  }),
211
- n < e.length - 1 && /* @__PURE__ */ (0, X.jsx)(Oe, {}),
212
- n === d && /* @__PURE__ */ (0, X.jsx)("div", {
212
+ n < e.length - 1 && /* @__PURE__ */ (0, Q.jsx)(Ee, {}),
213
+ n === d && /* @__PURE__ */ (0, Q.jsx)("div", {
213
214
  ref: l,
214
215
  className: "h-1"
215
216
  })
216
217
  ]
217
- }, `posts-${t.id}`)), r && /* @__PURE__ */ (0, X.jsx)("li", {
218
+ }, `posts-${t.id}`)), r && /* @__PURE__ */ (0, Q.jsx)("li", {
218
219
  className: "flex flex-col items-center justify-center gap-4 text-center",
219
- children: /* @__PURE__ */ (0, X.jsx)(S, { size: "md" })
220
+ children: /* @__PURE__ */ (0, Q.jsx)(m, { size: "md" })
220
221
  })]
221
222
  }),
222
- /* @__PURE__ */ (0, X.jsx)("div", {
223
+ /* @__PURE__ */ (0, Q.jsx)("div", {
223
224
  ref: u,
224
225
  className: "h-1"
225
226
  })
@@ -228,17 +229,17 @@ var Q = ({ posts: e, fetchNextPage: t, hasNextPage: n, isFetchingNextPage: r, is
228
229
  //#endregion
229
230
  //#region src/views/profile/components/unblock-dialog.tsx
230
231
  r();
231
- var $ = ({ handle: e, isUserBlocked: n, isDomainBlocked: r, onUnblockUser: o, onUnblockDomain: s, trigger: c, onUnblockComplete: l, isOpen: d, onOpenChange: f }) => {
232
- let [p, h] = t(!1), [g, _] = t(() => {
232
+ var Pe = ({ handle: e, isUserBlocked: n, isDomainBlocked: r, onUnblockUser: o, onUnblockDomain: s, trigger: c, onUnblockComplete: l, isOpen: f, onOpenChange: p }) => {
233
+ let [m, h] = t(!1), [_, v] = t(() => {
233
234
  let e = n && r, t = n && !r, i = !n && r, a = "idle";
234
235
  return e ? a = "dual" : t ? a = "userOnly" : i && (a = "domainOnly"), {
235
236
  mode: a,
236
237
  userUnblocked: !1,
237
238
  domainUnblocked: !1
238
239
  };
239
- }), S = d !== void 0, C = S ? d : p, [w, T] = t(!1), te = i(() => {
240
+ }), b = f !== void 0, E = b ? f : m, [D, O] = t(!1), k = i(() => {
240
241
  let e = n && r, t = n && !r, i = !n && r, a = "idle";
241
- e ? a = "dual" : t ? a = "userOnly" : i && (a = "domainOnly"), _((e) => ({
242
+ e ? a = "dual" : t ? a = "userOnly" : i && (a = "domainOnly"), v((e) => ({
242
243
  ...e,
243
244
  mode: a,
244
245
  userUnblocked: !1,
@@ -246,102 +247,102 @@ var $ = ({ handle: e, isUserBlocked: n, isDomainBlocked: r, onUnblockUser: o, on
246
247
  }));
247
248
  }, [n, r]);
248
249
  a(() => {
249
- C && !w ? (te(), T(!0)) : C || T(!1);
250
+ E && !D ? (k(), O(!0)) : E || O(!1);
250
251
  }, [
251
- C,
252
- w,
253
- te
252
+ E,
253
+ D,
254
+ k
254
255
  ]);
255
- let E = () => {
256
- S ? f?.(!0) : h(!0);
257
- }, D = (e) => {
258
- e || (S ? f?.(!1) : h(!1));
259
- }, O = async () => {
260
- await o(), _((e) => ({
256
+ let A = () => {
257
+ b ? p?.(!0) : h(!0);
258
+ }, j = (e) => {
259
+ e || (b ? p?.(!1) : h(!1));
260
+ }, M = async () => {
261
+ await o(), v((e) => ({
261
262
  ...e,
262
263
  userUnblocked: !0
263
- })), (g.mode !== "dual" || g.domainUnblocked) && (D(!1), l?.()), U.success("User unblocked");
264
- }, ne = async () => {
265
- await s(), _((e) => ({
264
+ })), (_.mode !== "dual" || _.domainUnblocked) && (j(!1), l?.()), u.success("User unblocked");
265
+ }, ee = async () => {
266
+ await s(), v((e) => ({
266
267
  ...e,
267
268
  domainUnblocked: !0
268
- })), (g.mode !== "dual" || g.userUnblocked) && (D(!1), l?.()), U.success("Domain unblocked");
269
- }, k = e.split("@").filter(Boolean)[1];
270
- return /* @__PURE__ */ (0, X.jsxs)(b, {
271
- open: C,
272
- onOpenChange: D,
273
- children: [c && /* @__PURE__ */ (0, X.jsx)(ee, {
269
+ })), (_.mode !== "dual" || _.userUnblocked) && (j(!1), l?.()), u.success("Domain unblocked");
270
+ }, te = e.split("@").filter(Boolean)[1];
271
+ return /* @__PURE__ */ (0, Q.jsxs)(d, {
272
+ open: E,
273
+ onOpenChange: j,
274
+ children: [c && /* @__PURE__ */ (0, Q.jsx)(T, {
274
275
  asChild: !0,
275
- onClick: E,
276
+ onClick: A,
276
277
  children: c
277
- }), /* @__PURE__ */ (0, X.jsx)(A, {
278
- className: `${g.mode === "dual" && "max-w-[600px]"}`,
279
- children: g.mode === "dual" ? /* @__PURE__ */ (0, X.jsxs)(X.Fragment, { children: [/* @__PURE__ */ (0, X.jsxs)(x, { children: [/* @__PURE__ */ (0, X.jsx)(m, {
278
+ }), /* @__PURE__ */ (0, Q.jsx)(C, {
279
+ className: `${_.mode === "dual" && "max-w-[600px]"}`,
280
+ children: _.mode === "dual" ? /* @__PURE__ */ (0, Q.jsxs)(Q.Fragment, { children: [/* @__PURE__ */ (0, Q.jsxs)(y, { children: [/* @__PURE__ */ (0, Q.jsx)(x, {
280
281
  className: "mb-1 flex flex-col gap-1",
281
282
  children: "Unblock"
282
- }), /* @__PURE__ */ (0, X.jsx)(v, {
283
+ }), /* @__PURE__ */ (0, Q.jsx)(w, {
283
284
  className: "mt-4!",
284
285
  asChild: !0,
285
- children: /* @__PURE__ */ (0, X.jsxs)("div", {
286
+ children: /* @__PURE__ */ (0, Q.jsxs)("div", {
286
287
  className: "flex flex-col rounded-md border",
287
288
  children: [
288
- /* @__PURE__ */ (0, X.jsxs)("div", {
289
+ /* @__PURE__ */ (0, Q.jsxs)("div", {
289
290
  className: "flex justify-between gap-6 p-5",
290
- children: [/* @__PURE__ */ (0, X.jsxs)("div", {
291
+ children: [/* @__PURE__ */ (0, Q.jsxs)("div", {
291
292
  className: "flex flex-col gap-1",
292
- children: [/* @__PURE__ */ (0, X.jsx)(B, { children: "Unblock user" }), /* @__PURE__ */ (0, X.jsxs)("p", { children: [/* @__PURE__ */ (0, X.jsx)("span", {
293
+ children: [/* @__PURE__ */ (0, Q.jsx)(U, { children: "Unblock user" }), /* @__PURE__ */ (0, Q.jsxs)("p", { children: [/* @__PURE__ */ (0, Q.jsx)("span", {
293
294
  className: "font-semibold text-black",
294
295
  children: e
295
296
  }), " will be able to follow you and engage with your public posts."] })]
296
- }), /* @__PURE__ */ (0, X.jsxs)(F, {
297
- className: `gap-1 ${g.userUnblocked ? "pointer-events-none border-green bg-green text-white hover:bg-green hover:text-white" : "text-red hover:text-red-400"}`,
297
+ }), /* @__PURE__ */ (0, Q.jsxs)(R, {
298
+ className: `gap-1 ${_.userUnblocked ? "pointer-events-none border-green bg-green text-white hover:bg-green hover:text-white" : "text-red hover:text-red-400"}`,
298
299
  variant: "outline",
299
- onClick: O,
300
- children: [/* @__PURE__ */ (0, X.jsx)(De, {}), g.userUnblocked ? "User unblocked" : "Unblock user"]
300
+ onClick: M,
301
+ children: [/* @__PURE__ */ (0, Q.jsx)(Te, {}), _.userUnblocked ? "User unblocked" : "Unblock user"]
301
302
  })]
302
303
  }),
303
- /* @__PURE__ */ (0, X.jsx)("div", { className: "border-t" }),
304
- /* @__PURE__ */ (0, X.jsxs)("div", {
304
+ /* @__PURE__ */ (0, Q.jsx)("div", { className: "border-t" }),
305
+ /* @__PURE__ */ (0, Q.jsxs)("div", {
305
306
  className: "flex justify-between gap-6 p-5",
306
- children: [/* @__PURE__ */ (0, X.jsxs)("div", {
307
+ children: [/* @__PURE__ */ (0, Q.jsxs)("div", {
307
308
  className: "flex flex-col gap-1",
308
- children: [/* @__PURE__ */ (0, X.jsx)(B, { children: "Unblock domain" }), /* @__PURE__ */ (0, X.jsxs)("p", { children: [
309
+ children: [/* @__PURE__ */ (0, Q.jsx)(U, { children: "Unblock domain" }), /* @__PURE__ */ (0, Q.jsxs)("p", { children: [
309
310
  "Users from ",
310
- /* @__PURE__ */ (0, X.jsx)("span", {
311
+ /* @__PURE__ */ (0, Q.jsx)("span", {
311
312
  className: "font-semibold text-black",
312
- children: k
313
+ children: te
313
314
  }),
314
315
  " will be able to follow you and engage with your public posts."
315
316
  ] })]
316
- }), /* @__PURE__ */ (0, X.jsxs)(F, {
317
- className: `gap-1 ${g.domainUnblocked ? "pointer-events-none border-green bg-green text-white hover:bg-green hover:text-white" : "text-red hover:text-red-400"}`,
317
+ }), /* @__PURE__ */ (0, Q.jsxs)(R, {
318
+ className: `gap-1 ${_.domainUnblocked ? "pointer-events-none border-green bg-green text-white hover:bg-green hover:text-white" : "text-red hover:text-red-400"}`,
318
319
  variant: "outline",
319
- onClick: ne,
320
- children: [/* @__PURE__ */ (0, X.jsx)(W, {}), g.domainUnblocked ? "Domain unblocked" : "Unblock domain"]
320
+ onClick: ee,
321
+ children: [/* @__PURE__ */ (0, Q.jsx)(K, {}), _.domainUnblocked ? "Domain unblocked" : "Unblock domain"]
321
322
  })]
322
323
  })
323
324
  ]
324
325
  })
325
- })] }), /* @__PURE__ */ (0, X.jsx)(y, { children: /* @__PURE__ */ (0, X.jsx)(F, {
326
- onClick: () => D(!1),
326
+ })] }), /* @__PURE__ */ (0, Q.jsx)(g, { children: /* @__PURE__ */ (0, Q.jsx)(R, {
327
+ onClick: () => j(!1),
327
328
  children: "OK"
328
329
  }) })] }) : (() => {
329
- let t = g.mode === "userOnly";
330
- return /* @__PURE__ */ (0, X.jsxs)(X.Fragment, { children: [/* @__PURE__ */ (0, X.jsxs)(x, { children: [/* @__PURE__ */ (0, X.jsx)(m, {
330
+ let t = _.mode === "userOnly";
331
+ return /* @__PURE__ */ (0, Q.jsxs)(Q.Fragment, { children: [/* @__PURE__ */ (0, Q.jsxs)(y, { children: [/* @__PURE__ */ (0, Q.jsx)(x, {
331
332
  className: "mb-1 flex flex-col gap-1",
332
333
  children: t ? "Unblock this user?" : "Unblock this domain?"
333
- }), /* @__PURE__ */ (0, X.jsx)(v, { children: t ? /* @__PURE__ */ (0, X.jsxs)(X.Fragment, { children: [/* @__PURE__ */ (0, X.jsx)("span", {
334
+ }), /* @__PURE__ */ (0, Q.jsx)(w, { children: t ? /* @__PURE__ */ (0, Q.jsxs)(Q.Fragment, { children: [/* @__PURE__ */ (0, Q.jsx)("span", {
334
335
  className: "font-semibold text-black",
335
336
  children: e
336
- }), " will be able to follow you and engage with your public posts."] }) : /* @__PURE__ */ (0, X.jsxs)(X.Fragment, { children: [
337
+ }), " will be able to follow you and engage with your public posts."] }) : /* @__PURE__ */ (0, Q.jsxs)(Q.Fragment, { children: [
337
338
  "Users from ",
338
- /* @__PURE__ */ (0, X.jsx)("span", {
339
+ /* @__PURE__ */ (0, Q.jsx)("span", {
339
340
  className: "font-semibold text-black",
340
- children: k
341
+ children: te
341
342
  }),
342
343
  " will be able to follow you and engage with your public posts."
343
- ] }) })] }), /* @__PURE__ */ (0, X.jsxs)(y, { children: [/* @__PURE__ */ (0, X.jsx)(u, { children: "Cancel" }), /* @__PURE__ */ (0, X.jsx)(F, {
344
- onClick: t ? O : ne,
344
+ ] }) })] }), /* @__PURE__ */ (0, Q.jsxs)(g, { children: [/* @__PURE__ */ (0, Q.jsx)(S, { children: "Cancel" }), /* @__PURE__ */ (0, Q.jsx)(R, {
345
+ onClick: t ? M : ee,
345
346
  children: "Unblock"
346
347
  })] })] });
347
348
  })()
@@ -352,85 +353,85 @@ var $ = ({ handle: e, isUserBlocked: n, isDomainBlocked: r, onUnblockUser: o, on
352
353
  //#region src/views/profile/components/profile-menu.tsx
353
354
  r();
354
355
  var Fe = ({ account: e, children: n, onCopyHandle: r, onBlockAccount: i, onBlockDomain: a, disabled: o = !1, isBlocked: s = !1, isDomainBlocked: c = !1 }) => {
355
- let [l, f] = t(null), [p, h] = t(!1), ee = (e) => {
356
+ let [l, u] = t(null), [p, m] = t(!1), h = (e) => {
356
357
  e.stopPropagation(), r();
357
358
  }, _ = (e) => {
358
359
  e.stopPropagation(), i();
359
- }, S = (e) => {
360
+ }, b = (e) => {
360
361
  e.stopPropagation(), a();
361
- }, C = e?.handle, T = C?.split("@").filter(Boolean)[1];
362
- return /* @__PURE__ */ (0, X.jsxs)(X.Fragment, { children: [/* @__PURE__ */ (0, X.jsxs)(N, { children: [/* @__PURE__ */ (0, X.jsx)(g, {
362
+ }, T = e?.handle, E = T?.split("@").filter(Boolean)[1];
363
+ return /* @__PURE__ */ (0, Q.jsxs)(Q.Fragment, { children: [/* @__PURE__ */ (0, Q.jsxs)(I, { children: [/* @__PURE__ */ (0, Q.jsx)(v, {
363
364
  disabled: o,
364
365
  asChild: !0,
365
366
  onClick: (e) => e.stopPropagation(),
366
367
  children: n
367
- }), /* @__PURE__ */ (0, X.jsx)(w, {
368
+ }), /* @__PURE__ */ (0, Q.jsx)(D, {
368
369
  align: "end",
369
370
  className: "p-2",
370
- children: /* @__PURE__ */ (0, X.jsxs)("div", {
371
+ children: /* @__PURE__ */ (0, Q.jsxs)("div", {
371
372
  className: "flex w-48 flex-col",
372
- children: [/* @__PURE__ */ (0, X.jsx)(d, {
373
+ children: [/* @__PURE__ */ (0, Q.jsx)(f, {
373
374
  asChild: !0,
374
- children: /* @__PURE__ */ (0, X.jsx)(F, {
375
+ children: /* @__PURE__ */ (0, Q.jsx)(R, {
375
376
  className: "justify-start",
376
377
  variant: "ghost",
377
- onClick: ee,
378
+ onClick: h,
378
379
  children: "Copy handle"
379
380
  })
380
- }), /* @__PURE__ */ (0, X.jsx)(d, {
381
+ }), /* @__PURE__ */ (0, Q.jsx)(f, {
381
382
  asChild: !0,
382
- children: /* @__PURE__ */ (0, X.jsx)(F, {
383
+ children: /* @__PURE__ */ (0, Q.jsx)(R, {
383
384
  className: "justify-start text-red hover:bg-red/5 hover:text-red",
384
385
  variant: "ghost",
385
386
  onClick: (e) => {
386
- e.stopPropagation(), !s && !c && f("user"), h(!0);
387
+ e.stopPropagation(), !s && !c && u("user"), m(!0);
387
388
  },
388
389
  children: s ? "Unblock user" : c ? "Unblock domain" : "Block user"
389
390
  })
390
391
  })]
391
392
  })
392
- })] }), s || c ? e && /* @__PURE__ */ (0, X.jsx)($, {
393
+ })] }), s || c ? e && /* @__PURE__ */ (0, Q.jsx)(Pe, {
393
394
  handle: e.handle,
394
395
  isDomainBlocked: e.domainBlockedByMe,
395
396
  isOpen: p,
396
397
  isUserBlocked: e.blockedByMe,
397
- onOpenChange: h,
398
+ onOpenChange: m,
398
399
  onUnblockDomain: a,
399
400
  onUnblockUser: i
400
- }) : /* @__PURE__ */ (0, X.jsx)(b, {
401
+ }) : /* @__PURE__ */ (0, Q.jsx)(d, {
401
402
  open: p,
402
- onOpenChange: h,
403
- children: /* @__PURE__ */ (0, X.jsxs)(A, {
403
+ onOpenChange: m,
404
+ children: /* @__PURE__ */ (0, Q.jsxs)(C, {
404
405
  onClick: (e) => e.stopPropagation(),
405
- children: [/* @__PURE__ */ (0, X.jsxs)(x, { children: [/* @__PURE__ */ (0, X.jsx)(m, {
406
+ children: [/* @__PURE__ */ (0, Q.jsxs)(y, { children: [/* @__PURE__ */ (0, Q.jsx)(x, {
406
407
  className: "mb-1 flex flex-col gap-1",
407
408
  children: l === "user" ? "Block this user?" : "Block this domain?"
408
- }), /* @__PURE__ */ (0, X.jsx)(v, { children: l === "user" ? /* @__PURE__ */ (0, X.jsxs)(X.Fragment, { children: [/* @__PURE__ */ (0, X.jsx)("span", {
409
+ }), /* @__PURE__ */ (0, Q.jsx)(w, { children: l === "user" ? /* @__PURE__ */ (0, Q.jsxs)(Q.Fragment, { children: [/* @__PURE__ */ (0, Q.jsx)("span", {
409
410
  className: "font-semibold text-black",
410
- children: C
411
- }), " will be able to see your public posts, but will no longer be able follow you or interact with your content on the social web."] }) : /* @__PURE__ */ (0, X.jsxs)(X.Fragment, { children: [
411
+ children: T
412
+ }), " will be able to see your public posts, but will no longer be able follow you or interact with your content on the social web."] }) : /* @__PURE__ */ (0, Q.jsxs)(Q.Fragment, { children: [
412
413
  "All users from ",
413
- /* @__PURE__ */ (0, X.jsx)("span", {
414
+ /* @__PURE__ */ (0, Q.jsx)("span", {
414
415
  className: "font-semibold text-black",
415
- children: T
416
+ children: E
416
417
  }),
417
418
  " will be able to see your public posts, but won't be able to follow you or interact with your content."
418
- ] }) })] }), /* @__PURE__ */ (0, X.jsxs)(y, { children: [
419
- l !== "domain" && /* @__PURE__ */ (0, X.jsx)(F, {
419
+ ] }) })] }), /* @__PURE__ */ (0, Q.jsxs)(g, { children: [
420
+ l !== "domain" && /* @__PURE__ */ (0, Q.jsx)(R, {
420
421
  className: "mr-auto -ml-3 hover:bg-transparent hover:opacity-80",
421
422
  variant: "ghost",
422
423
  onClick: (e) => {
423
- e.stopPropagation(), f("domain");
424
+ e.stopPropagation(), u("domain");
424
425
  },
425
426
  children: "Block domain instead"
426
427
  }),
427
- /* @__PURE__ */ (0, X.jsx)(u, {
428
+ /* @__PURE__ */ (0, Q.jsx)(S, {
428
429
  onClick: (e) => e.stopPropagation(),
429
430
  children: "Cancel"
430
431
  }),
431
- /* @__PURE__ */ (0, X.jsx)(re, {
432
- className: de({ variant: "destructive" }),
433
- onClick: l === "user" ? _ : S,
432
+ /* @__PURE__ */ (0, Q.jsx)(ne, {
433
+ className: le({ variant: "destructive" }),
434
+ onClick: l === "user" ? _ : b,
434
435
  children: "Block"
435
436
  })
436
437
  ] })]
@@ -441,14 +442,14 @@ var Fe = ({ account: e, children: n, onCopyHandle: r, onBlockAccount: i, onBlock
441
442
  //#region src/views/profile/components/unblock-button.tsx
442
443
  r();
443
444
  var Ie = ({ account: e, onUnblock: n, onDomainUnblock: r, className: i = "" }) => {
444
- let [a, o] = t(!1), s = /* @__PURE__ */ (0, X.jsx)(F, {
445
+ let [a, o] = t(!1), s = /* @__PURE__ */ (0, Q.jsx)(R, {
445
446
  className: `min-w-[90px] ${i}`,
446
447
  variant: "destructive",
447
448
  onMouseEnter: () => o(!0),
448
449
  onMouseLeave: () => o(!1),
449
450
  children: a ? "Unblock" : "Blocked"
450
451
  });
451
- return /* @__PURE__ */ (0, X.jsx)($, {
452
+ return /* @__PURE__ */ (0, Q.jsx)(Pe, {
452
453
  handle: e.handle,
453
454
  isDomainBlocked: e.domainBlockedByMe,
454
455
  isUserBlocked: e.blockedByMe,
@@ -460,80 +461,80 @@ var Ie = ({ account: e, onUnblock: n, onDomainUnblock: r, className: i = "" }) =
460
461
  //#endregion
461
462
  //#region src/views/profile/components/profile-page.tsx
462
463
  r();
463
- var Le = () => {}, Re = ({ account: n, customFields: r, isLoadingAccount: i, postsTab: l, likesTab: u, followingTab: d, followersTab: m }) => {
464
- let g = s(), ee = c(), v = I(), { canGoBack: y } = ue(), b = g.handle ? `/profile/${g.handle}` : "/profile", x = !g.handle, S = g.handle ? g.tab || "" : ee.pathname.split("/").pop() || "", w = e(() => x ? [
464
+ var Le = () => {}, Re = ({ account: n, customFields: r, isLoadingAccount: i, postsTab: s, likesTab: d, followingTab: f, followersTab: m }) => {
465
+ let g = c(), v = l(), y = z(), { canGoBack: x } = ce(), S = g.handle ? `/profile/${g.handle}` : "/profile", C = !g.handle, w = g.handle ? g.tab || "" : v.pathname.split("/").pop() || "", T = e(() => C ? [
465
466
  "likes",
466
467
  "following",
467
468
  "followers"
468
- ] : ["following", "followers"], [x]), E = w.includes(S) ? S : "posts", O = ge("index"), A = me("index"), re = _e("index"), j = fe("index"), ie = V("index", "me"), { data: ae } = g.handle ? ie : { data: void 0 }, se = g.handle === ae?.handle || !g.handle, N = n?.blockedByMe, P = n?.domainBlockedByMe, [de, R] = t(!1), [pe, z] = t(!1), H = o(null);
469
+ ] : ["following", "followers"], [C]), D = T.includes(w) ? w : "posts", A = pe("index"), M = fe("index"), ne = he("index"), N = ue("index"), re = W("index", "me"), { data: ie } = g.handle ? re : { data: void 0 }, P = g.handle === ie?.handle || !g.handle, I = n?.blockedByMe, L = n?.domainBlockedByMe, [le, V] = t(!1), [de, H] = t(!1), G = o(null);
469
470
  a(() => () => {
470
- H.current && window.clearTimeout(H.current);
471
+ G.current && window.clearTimeout(G.current);
471
472
  }, []);
472
- let W = () => {
473
- N ? A.mutate(n) : (O.mutate(n), U.success("User blocked")), R(!1);
474
- }, G = () => {
475
- P ? j.mutate({
473
+ let K = () => {
474
+ I ? M.mutate(n) : (A.mutate(n), u.success("User blocked")), V(!1);
475
+ }, q = () => {
476
+ L ? N.mutate({
476
477
  url: n.apId,
477
478
  handle: n.handle
478
- }) : (re.mutate({
479
+ }) : (ne.mutate({
479
480
  url: n.apId,
480
481
  handle: n.handle
481
- }), U.success("Domain blocked")), R(!1);
482
- }, De = async () => {
482
+ }), u.success("Domain blocked")), V(!1);
483
+ }, Te = async () => {
483
484
  if (!n?.handle || !navigator?.clipboard?.writeText) {
484
- U.error("Unable to copy handle");
485
+ u.error("Unable to copy handle");
485
486
  return;
486
487
  }
487
488
  try {
488
- await navigator.clipboard.writeText(n.handle), z(!0), U.success("Handle copied"), H.current && window.clearTimeout(H.current), H.current = window.setTimeout(() => z(!1), 2e3);
489
+ await navigator.clipboard.writeText(n.handle), H(!0), u.success("Handle copied"), G.current && window.clearTimeout(G.current), G.current = window.setTimeout(() => H(!1), 2e3);
489
490
  } catch {
490
- U.error("Failed to copy handle"), z(!1);
491
+ u.error("Failed to copy handle"), H(!1);
491
492
  }
492
- }, [Y, Oe] = t(!1), [je, Ne] = t(!1), Pe = () => {
493
- Oe(!Y);
494
- }, Z = o(null), [Q, $] = t(!1);
493
+ }, [Z, Ee] = t(!1), [ke, je] = t(!1), Me = () => {
494
+ Ee(!Z);
495
+ }, $ = o(null), [Ne, Pe] = t(!1);
495
496
  a(() => {
496
- Z.current && $(Z.current.scrollHeight > 160);
497
+ $.current && Pe($.current.scrollHeight > 160);
497
498
  }, [
498
- Y,
499
+ Z,
499
500
  n?.bio,
500
501
  r,
501
502
  i
502
503
  ]), a(() => {
503
- S && (w.includes(S) || v(b, { replace: !0 }));
504
+ w && (T.includes(w) || y(S, { replace: !0 }));
504
505
  }, [
505
- w,
506
- b,
507
- v,
508
- S
506
+ T,
507
+ S,
508
+ y,
509
+ w
509
510
  ]);
510
- let Re = (e) => e === "posts" ? b : `${b}/${e}`, ze = (e) => {
511
- e !== E && v(Re(e), { replace: !0 });
511
+ let Re = (e) => e === "posts" ? S : `${S}/${e}`, ze = (e) => {
512
+ e !== D && y(Re(e), { replace: !0 });
512
513
  };
513
- return !i && !n ? /* @__PURE__ */ (0, X.jsx)(D, { children: /* @__PURE__ */ (0, X.jsx)("div", {
514
+ return !i && !n ? /* @__PURE__ */ (0, Q.jsx)(j, { children: /* @__PURE__ */ (0, Q.jsx)("div", {
514
515
  className: "mx-auto mt-4 flex w-full max-w-[620px] flex-col items-center [&_svg]:translate-x-px",
515
- children: /* @__PURE__ */ (0, X.jsxs)(k, { children: [/* @__PURE__ */ (0, X.jsx)(oe, { children: /* @__PURE__ */ (0, X.jsx)(Me, {}) }), /* @__PURE__ */ (0, X.jsx)("div", { children: "Profile not found" })] })
516
- }) }) : /* @__PURE__ */ (0, X.jsx)(D, { children: /* @__PURE__ */ (0, X.jsx)("div", {
516
+ children: /* @__PURE__ */ (0, Q.jsxs)(te, { children: [/* @__PURE__ */ (0, Q.jsx)(ae, { children: /* @__PURE__ */ (0, Q.jsx)(Ae, {}) }), /* @__PURE__ */ (0, Q.jsx)("div", { children: "Profile not found" })] })
517
+ }) }) : /* @__PURE__ */ (0, Q.jsx)(j, { children: /* @__PURE__ */ (0, Q.jsx)("div", {
517
518
  className: "z-0 mx-[max(-4vw,-24px)] -mt-9 flex flex-col items-center pb-16",
518
- children: /* @__PURE__ */ (0, X.jsx)("div", {
519
+ children: /* @__PURE__ */ (0, Q.jsx)("div", {
519
520
  className: "mx-auto w-full",
520
- children: /* @__PURE__ */ (0, X.jsxs)(X.Fragment, { children: [n?.bannerImageUrl ? /* @__PURE__ */ (0, X.jsx)("div", {
521
+ children: /* @__PURE__ */ (0, Q.jsxs)(Q.Fragment, { children: [n?.bannerImageUrl ? /* @__PURE__ */ (0, Q.jsx)("div", {
521
522
  className: "h-[15vw] min-h-[200px] w-full overflow-hidden bg-gradient-to-tr from-gray-200 to-gray-100",
522
- children: /* @__PURE__ */ (0, X.jsx)("img", {
523
+ children: /* @__PURE__ */ (0, Q.jsx)("img", {
523
524
  alt: n?.name,
524
525
  className: "size-full object-cover",
525
526
  referrerPolicy: "no-referrer",
526
527
  src: n?.bannerImageUrl
527
528
  })
528
- }) : /* @__PURE__ */ (0, X.jsx)("div", { className: "h-[max(8vw,132px)] w-full overflow-hidden bg-gradient-to-tr from-white to-white dark:from-black dark:to-black" }), /* @__PURE__ */ (0, X.jsxs)("div", {
529
- className: `mx-auto max-w-[620px] px-6 ${!n?.bannerImageUrl && !y ? "-mt-8" : "-mt-12"}`,
529
+ }) : /* @__PURE__ */ (0, Q.jsx)("div", { className: "h-[max(8vw,132px)] w-full overflow-hidden bg-gradient-to-tr from-white to-white dark:from-black dark:to-black" }), /* @__PURE__ */ (0, Q.jsxs)("div", {
530
+ className: `mx-auto max-w-[620px] px-6 ${!n?.bannerImageUrl && !x ? "-mt-8" : "-mt-12"}`,
530
531
  children: [
531
- /* @__PURE__ */ (0, X.jsxs)("div", {
532
+ /* @__PURE__ */ (0, Q.jsxs)("div", {
532
533
  className: "flex items-end justify-between",
533
534
  children: [
534
- /* @__PURE__ */ (0, X.jsx)("div", {
535
+ /* @__PURE__ */ (0, Q.jsx)("div", {
535
536
  className: "-ml-2 rounded-full bg-white p-1 dark:bg-background",
536
- children: i ? /* @__PURE__ */ (0, X.jsx)(K, { className: "size-[92px] rounded-full" }) : /* @__PURE__ */ (0, X.jsx)(Se, {
537
+ children: i ? /* @__PURE__ */ (0, Q.jsx)(J, { className: "size-[92px] rounded-full" }) : /* @__PURE__ */ (0, Q.jsx)(ge, {
537
538
  author: {
538
539
  icon: { url: n?.avatarUrl },
539
540
  name: n?.name,
@@ -542,153 +543,153 @@ var Le = () => {}, Re = ({ account: n, customFields: r, isLoadingAccount: i, pos
542
543
  size: "lg"
543
544
  })
544
545
  }),
545
- !se && !i && /* @__PURE__ */ (0, X.jsxs)("div", {
546
+ !P && !i && /* @__PURE__ */ (0, Q.jsxs)("div", {
546
547
  className: "flex gap-2",
547
- children: [N || P ? /* @__PURE__ */ (0, X.jsx)(Ie, {
548
+ children: [I || L ? /* @__PURE__ */ (0, Q.jsx)(Ie, {
548
549
  account: n,
549
- onDomainUnblock: G,
550
- onUnblock: W
551
- }) : /* @__PURE__ */ (0, X.jsx)(ce, {
550
+ onDomainUnblock: q,
551
+ onUnblock: K
552
+ }) : /* @__PURE__ */ (0, Q.jsx)(oe, {
552
553
  following: n?.followedByMe,
553
554
  handle: n?.handle,
554
555
  type: "primary",
555
556
  onFollow: Le,
556
557
  onUnfollow: Le
557
- }), /* @__PURE__ */ (0, X.jsx)(Fe, {
558
+ }), /* @__PURE__ */ (0, Q.jsx)(Fe, {
558
559
  account: n,
559
- isBlocked: N,
560
- isDomainBlocked: P,
561
- onBlockAccount: W,
562
- onBlockDomain: G,
563
- onCopyHandle: De,
564
- children: /* @__PURE__ */ (0, X.jsx)(F, {
560
+ isBlocked: I,
561
+ isDomainBlocked: L,
562
+ onBlockAccount: K,
563
+ onBlockDomain: q,
564
+ onCopyHandle: Te,
565
+ children: /* @__PURE__ */ (0, Q.jsx)(R, {
565
566
  "aria-label": "Open profile menu",
566
567
  variant: "outline",
567
- children: /* @__PURE__ */ (0, X.jsx)(ne, {})
568
+ children: /* @__PURE__ */ (0, Q.jsx)(ee, {})
568
569
  })
569
570
  })]
570
571
  }),
571
- se && !i && /* @__PURE__ */ (0, X.jsxs)(C, {
572
- open: je,
573
- onOpenChange: Ne,
574
- children: [/* @__PURE__ */ (0, X.jsx)(T, { children: /* @__PURE__ */ (0, X.jsx)(Ae, { children: /* @__PURE__ */ (0, X.jsx)(F, {
572
+ P && !i && /* @__PURE__ */ (0, Q.jsxs)(E, {
573
+ open: ke,
574
+ onOpenChange: je,
575
+ children: [/* @__PURE__ */ (0, Q.jsx)(O, { children: /* @__PURE__ */ (0, Q.jsx)(Oe, { children: /* @__PURE__ */ (0, Q.jsx)(R, {
575
576
  variant: "secondary",
576
577
  children: "Edit profile"
577
- }) }) }), /* @__PURE__ */ (0, X.jsxs)(h, {
578
+ }) }) }), /* @__PURE__ */ (0, Q.jsxs)(_, {
578
579
  className: "w-full max-w-[520px]",
579
580
  onOpenAutoFocus: (e) => e.preventDefault(),
580
- children: [/* @__PURE__ */ (0, X.jsx)(_, { children: /* @__PURE__ */ (0, X.jsx)(te, { children: "Profile settings" }) }), n && /* @__PURE__ */ (0, X.jsx)(ke, {
581
+ children: [/* @__PURE__ */ (0, Q.jsx)(b, { children: /* @__PURE__ */ (0, Q.jsx)(k, { children: "Profile settings" }) }), n && /* @__PURE__ */ (0, Q.jsx)(De, {
581
582
  account: n,
582
- setIsEditingProfile: Ne
583
+ setIsEditingProfile: je
583
584
  })]
584
585
  })]
585
586
  })
586
587
  ]
587
588
  }),
588
- /* @__PURE__ */ (0, X.jsx)(he, {
589
+ /* @__PURE__ */ (0, Q.jsx)(me, {
589
590
  className: "break-anywhere mt-4 truncate",
590
- children: i ? /* @__PURE__ */ (0, X.jsx)(K, { className: "w-32" }) : n?.name
591
+ children: i ? /* @__PURE__ */ (0, Q.jsx)(J, { className: "w-32" }) : n?.name
591
592
  }),
592
- /* @__PURE__ */ (0, X.jsxs)("div", {
593
+ /* @__PURE__ */ (0, Q.jsxs)("div", {
593
594
  className: "mb-4 flex items-center gap-2",
594
595
  children: [
595
- /* @__PURE__ */ (0, X.jsx)("a", {
596
+ /* @__PURE__ */ (0, Q.jsx)("a", {
596
597
  className: "inline-flex max-w-full truncate text-[1.5rem] text-gray-800 hover:text-gray-900 dark:text-gray-600 dark:hover:text-gray-500",
597
598
  href: n?.url,
598
599
  rel: "noopener noreferrer",
599
600
  target: "_blank",
600
- children: /* @__PURE__ */ (0, X.jsx)("span", {
601
+ children: /* @__PURE__ */ (0, Q.jsx)("span", {
601
602
  className: "truncate",
602
- children: i ? /* @__PURE__ */ (0, X.jsx)(K, { className: "w-full max-w-56" }) : n?.handle
603
+ children: i ? /* @__PURE__ */ (0, Q.jsx)(J, { className: "w-full max-w-56" }) : n?.handle
603
604
  })
604
605
  }),
605
- !i && /* @__PURE__ */ (0, X.jsx)(F, {
606
+ !i && /* @__PURE__ */ (0, Q.jsx)(R, {
606
607
  className: "-ml-1.5 size-6 p-0 text-gray-800 hover:text-gray-900 dark:text-gray-700 dark:hover:text-gray-600",
607
608
  title: "Copy handle",
608
609
  variant: "link",
609
- onClick: De,
610
- children: pe ? /* @__PURE__ */ (0, X.jsx)(ye, { size: 16 }) : /* @__PURE__ */ (0, X.jsx)(Ee, { size: 16 })
610
+ onClick: Te,
611
+ children: de ? /* @__PURE__ */ (0, Q.jsx)(ye, { size: 16 }) : /* @__PURE__ */ (0, Q.jsx)(we, { size: 16 })
611
612
  }),
612
- n?.followsMe && !i && /* @__PURE__ */ (0, X.jsx)(p, {
613
+ n?.followsMe && !i && /* @__PURE__ */ (0, Q.jsx)(h, {
613
614
  className: "mt-px whitespace-nowrap",
614
615
  variant: "secondary",
615
616
  children: "Follows you"
616
617
  })
617
618
  ]
618
619
  }),
619
- (n?.bio || r?.length > 0) && /* @__PURE__ */ (0, X.jsxs)("div", {
620
- ref: Z,
621
- className: `ap-profile-content break-anywhere relative text-[1.5rem] [&>p]:mb-3 ${Y ? "max-h-none pb-7" : "max-h-[160px] overflow-hidden"} relative`,
620
+ (n?.bio || r?.length > 0) && /* @__PURE__ */ (0, Q.jsxs)("div", {
621
+ ref: $,
622
+ className: `ap-profile-content break-anywhere relative text-[1.5rem] [&>p]:mb-3 ${Z ? "max-h-none pb-7" : "max-h-[160px] overflow-hidden"} relative`,
622
623
  children: [
623
- i ? /* @__PURE__ */ (0, X.jsxs)(X.Fragment, { children: [/* @__PURE__ */ (0, X.jsx)(K, {}), /* @__PURE__ */ (0, X.jsx)(K, { className: "w-full max-w-48" })] }) : /* @__PURE__ */ (0, X.jsx)("div", { dangerouslySetInnerHTML: { __html: ve(be(xe(n?.bio ?? "", ["a", "br"]))) } }),
624
- r?.map((e) => /* @__PURE__ */ (0, X.jsxs)("span", {
624
+ i ? /* @__PURE__ */ (0, Q.jsxs)(Q.Fragment, { children: [/* @__PURE__ */ (0, Q.jsx)(J, {}), /* @__PURE__ */ (0, Q.jsx)(J, { className: "w-full max-w-48" })] }) : /* @__PURE__ */ (0, Q.jsx)("div", { dangerouslySetInnerHTML: { __html: ve(_e(be(n?.bio ?? "", ["a", "br"]))) } }),
625
+ r?.map((e) => /* @__PURE__ */ (0, Q.jsxs)("span", {
625
626
  className: "mt-3 line-clamp-1 flex flex-col text-[1.5rem]",
626
- children: [/* @__PURE__ */ (0, X.jsx)("span", {
627
+ children: [/* @__PURE__ */ (0, Q.jsx)("span", {
627
628
  className: "text-xs font-semibold",
628
629
  children: e.name
629
- }), /* @__PURE__ */ (0, X.jsx)("span", {
630
+ }), /* @__PURE__ */ (0, Q.jsx)("span", {
630
631
  dangerouslySetInnerHTML: { __html: ve(e.value) },
631
632
  className: "ap-profile-content truncate"
632
633
  })]
633
634
  }, e.name)),
634
- !Y && Q && /* @__PURE__ */ (0, X.jsx)("div", { className: "absolute inset-x-0 bottom-0 h-16 bg-gradient-to-t from-white via-white/100 via-60% to-transparent dark:from-black dark:via-black/100" }),
635
- Q && /* @__PURE__ */ (0, X.jsx)(F, {
635
+ !Z && Ne && /* @__PURE__ */ (0, Q.jsx)("div", { className: "absolute inset-x-0 bottom-0 h-16 bg-gradient-to-t from-white via-white/100 via-60% to-transparent dark:from-black dark:via-black/100" }),
636
+ Ne && /* @__PURE__ */ (0, Q.jsx)(R, {
636
637
  className: "absolute bottom-0 h-auto p-0 text-md",
637
638
  variant: "link",
638
- onClick: Pe,
639
- children: Y ? "Show less" : "Show all"
639
+ onClick: Me,
640
+ children: Z ? "Show less" : "Show all"
640
641
  })
641
642
  ]
642
643
  }),
643
- /* @__PURE__ */ (0, X.jsxs)(Te, {
644
+ /* @__PURE__ */ (0, Q.jsxs)(Ce, {
644
645
  className: "mt-5",
645
- value: E,
646
+ value: D,
646
647
  variant: "underline",
647
648
  onValueChange: (e) => ze(e),
648
649
  children: [
649
- /* @__PURE__ */ (0, X.jsxs)(we, { children: [
650
- /* @__PURE__ */ (0, X.jsx)(q, {
650
+ /* @__PURE__ */ (0, Q.jsxs)(Se, { children: [
651
+ /* @__PURE__ */ (0, Q.jsx)(Y, {
651
652
  value: "posts",
652
653
  children: "Posts"
653
654
  }),
654
- x && /* @__PURE__ */ (0, X.jsxs)(q, {
655
+ C && /* @__PURE__ */ (0, Q.jsxs)(Y, {
655
656
  value: "likes",
656
- children: ["Likes", /* @__PURE__ */ (0, X.jsx)(Ce, { children: L(n?.likedCount || 0) })]
657
+ children: ["Likes", /* @__PURE__ */ (0, Q.jsx)(xe, { children: B(n?.likedCount || 0) })]
657
658
  }),
658
- /* @__PURE__ */ (0, X.jsxs)(q, {
659
+ /* @__PURE__ */ (0, Q.jsxs)(Y, {
659
660
  value: "following",
660
- children: ["Following", /* @__PURE__ */ (0, X.jsx)(Ce, { children: L(n?.followingCount || 0) })]
661
+ children: ["Following", /* @__PURE__ */ (0, Q.jsx)(xe, { children: B(n?.followingCount || 0) })]
661
662
  }),
662
- /* @__PURE__ */ (0, X.jsxs)(q, {
663
+ /* @__PURE__ */ (0, Q.jsxs)(Y, {
663
664
  value: "followers",
664
- children: ["Followers", /* @__PURE__ */ (0, X.jsx)(Ce, { children: L(n?.followerCount || 0) })]
665
+ children: ["Followers", /* @__PURE__ */ (0, Q.jsx)(xe, { children: B(n?.followerCount || 0) })]
665
666
  })
666
667
  ] }),
667
- /* @__PURE__ */ (0, X.jsx)(J, {
668
+ /* @__PURE__ */ (0, Q.jsx)(X, {
668
669
  value: "posts",
669
- children: (N || P) && !de ? /* @__PURE__ */ (0, X.jsxs)(f, { children: [/* @__PURE__ */ (0, X.jsx)(M, { children: /* @__PURE__ */ (0, X.jsx)(le, {}) }), /* @__PURE__ */ (0, X.jsxs)("div", {
670
+ children: (I || L) && !le ? /* @__PURE__ */ (0, Q.jsxs)(p, { children: [/* @__PURE__ */ (0, Q.jsx)(F, { children: /* @__PURE__ */ (0, Q.jsx)(se, {}) }), /* @__PURE__ */ (0, Q.jsxs)("div", {
670
671
  className: "mt-2 flex flex-col items-center gap-0.5",
671
672
  children: [
672
- /* @__PURE__ */ (0, X.jsxs)(B, { children: [n.name, " is blocked"] }),
673
- /* @__PURE__ */ (0, X.jsx)("p", { children: "You can view the posts, but it won't unblock the user." }),
674
- /* @__PURE__ */ (0, X.jsx)(F, {
673
+ /* @__PURE__ */ (0, Q.jsxs)(U, { children: [n.name, " is blocked"] }),
674
+ /* @__PURE__ */ (0, Q.jsx)("p", { children: "You can view the posts, but it won't unblock the user." }),
675
+ /* @__PURE__ */ (0, Q.jsx)(R, {
675
676
  className: "mt-4",
676
677
  variant: "secondary",
677
- onClick: () => R(!0),
678
+ onClick: () => V(!0),
678
679
  children: "View posts"
679
680
  })
680
681
  ]
681
- })] }) : l
682
+ })] }) : s
682
683
  }),
683
- x && /* @__PURE__ */ (0, X.jsx)(J, {
684
+ C && /* @__PURE__ */ (0, Q.jsx)(X, {
684
685
  value: "likes",
685
- children: u
686
+ children: d
686
687
  }),
687
- /* @__PURE__ */ (0, X.jsx)(J, {
688
+ /* @__PURE__ */ (0, Q.jsx)(X, {
688
689
  value: "following",
689
- children: d
690
+ children: f
690
691
  }),
691
- /* @__PURE__ */ (0, X.jsx)(J, {
692
+ /* @__PURE__ */ (0, Q.jsx)(X, {
692
693
  value: "followers",
693
694
  children: m
694
695
  })
@@ -703,11 +704,11 @@ var Le = () => {}, Re = ({ account: n, customFields: r, isLoadingAccount: i, pos
703
704
  //#region src/views/profile/profile.tsx
704
705
  r();
705
706
  var ze = ({ handle: e }) => {
706
- let { postsByAccountQuery: t } = z(e || "me", { enabled: !0 }), { data: n, fetchNextPage: r, hasNextPage: i, isFetchingNextPage: a, isLoading: o } = t, s = n?.pages.flatMap((e) => e.posts) ?? Array.from({ length: 5 }, (e, t) => ({
707
+ let { postsByAccountQuery: t } = H(e || "me", { enabled: !0 }), { data: n, fetchNextPage: r, hasNextPage: i, isFetchingNextPage: a, isLoading: o } = t, s = n?.pages.flatMap((e) => e.posts) ?? Array.from({ length: 5 }, (e, t) => ({
707
708
  id: `placeholder-${t}`,
708
709
  object: {}
709
710
  }));
710
- return /* @__PURE__ */ (0, X.jsx)(Q, {
711
+ return /* @__PURE__ */ (0, Q.jsx)(Ne, {
711
712
  fetchNextPage: r,
712
713
  hasNextPage: i,
713
714
  isFetchingNextPage: a,
@@ -716,8 +717,8 @@ var ze = ({ handle: e }) => {
716
717
  posts: s
717
718
  });
718
719
  }, Be = () => {
719
- let { postsLikedByAccountQuery: e } = R({ enabled: !0 }), { data: t, fetchNextPage: n, hasNextPage: r, isFetchingNextPage: i, isLoading: a } = e;
720
- return /* @__PURE__ */ (0, X.jsx)(Z, {
720
+ let { postsLikedByAccountQuery: e } = V({ enabled: !0 }), { data: t, fetchNextPage: n, hasNextPage: r, isFetchingNextPage: i, isLoading: a } = e;
721
+ return /* @__PURE__ */ (0, Q.jsx)($, {
721
722
  fetchNextPage: n,
722
723
  hasNextPage: r,
723
724
  isFetchingNextPage: i,
@@ -728,8 +729,8 @@ var ze = ({ handle: e }) => {
728
729
  }))
729
730
  });
730
731
  }, Ve = ({ handle: e }) => {
731
- let { data: t, fetchNextPage: n, hasNextPage: r, isFetchingNextPage: i, isLoading: a } = H(e === "" ? "me" : e, "following");
732
- return /* @__PURE__ */ (0, X.jsx)(Pe, {
732
+ let { data: t, fetchNextPage: n, hasNextPage: r, isFetchingNextPage: i, isLoading: a } = G(e === "" ? "me" : e, "following");
733
+ return /* @__PURE__ */ (0, Q.jsx)(Me, {
733
734
  actors: t?.pages.flatMap((e) => "following" in e ? e.following : "accounts" in e ? e.accounts.map((e) => ({
734
735
  actor: {
735
736
  id: e.id,
@@ -748,8 +749,8 @@ var ze = ({ handle: e }) => {
748
749
  noResultsMessage: `${e || "You"} have no following`
749
750
  });
750
751
  }, He = ({ handle: e }) => {
751
- let { data: t, fetchNextPage: n, hasNextPage: r, isFetchingNextPage: i, isLoading: a } = H(e === "" ? "me" : e, "followers");
752
- return /* @__PURE__ */ (0, X.jsx)(Pe, {
752
+ let { data: t, fetchNextPage: n, hasNextPage: r, isFetchingNextPage: i, isLoading: a } = G(e === "" ? "me" : e, "followers");
753
+ return /* @__PURE__ */ (0, Q.jsx)(Me, {
753
754
  actors: t?.pages.flatMap((e) => "followers" in e ? e.followers : "accounts" in e ? e.accounts.map((e) => ({
754
755
  actor: {
755
756
  id: e.id,
@@ -766,28 +767,28 @@ var ze = ({ handle: e }) => {
766
767
  noResultsMessage: `${e || "You"} have no followers yet`
767
768
  });
768
769
  }, Ue = () => {
769
- let e = s(), { data: t, isLoading: n, error: r, refetch: i } = V("index", e.handle || "me");
770
+ let e = c(), { data: t, isLoading: n, error: r, refetch: i } = W("index", e.handle || "me");
770
771
  if (a(() => {
771
772
  i();
772
- }, [e.handle, i]), r && pe(r) && r.statusCode !== 404) return /* @__PURE__ */ (0, X.jsx)(ie, {
773
+ }, [e.handle, i]), r && de(r) && r.statusCode !== 404) return /* @__PURE__ */ (0, Q.jsx)(re, {
773
774
  errorCode: r.code,
774
775
  statusCode: r.statusCode
775
776
  });
776
777
  let o = Object.keys(t?.customFields || {}).map((e) => ({
777
778
  name: e,
778
779
  value: t.customFields[e]
779
- })) || [], c = /* @__PURE__ */ (0, X.jsx)(ze, { handle: e.handle || "" }), l = /* @__PURE__ */ (0, X.jsx)(Be, {}), u = /* @__PURE__ */ (0, X.jsx)(Ve, { handle: e.handle || "" });
780
- return /* @__PURE__ */ (0, X.jsx)(Re, {
780
+ })) || [], s = /* @__PURE__ */ (0, Q.jsx)(ze, { handle: e.handle || "" }), l = /* @__PURE__ */ (0, Q.jsx)(Be, {}), u = /* @__PURE__ */ (0, Q.jsx)(Ve, { handle: e.handle || "" });
781
+ return /* @__PURE__ */ (0, Q.jsx)(Re, {
781
782
  account: t,
782
783
  customFields: o,
783
- followersTab: /* @__PURE__ */ (0, X.jsx)(He, { handle: e.handle || "" }),
784
+ followersTab: /* @__PURE__ */ (0, Q.jsx)(He, { handle: e.handle || "" }),
784
785
  followingTab: u,
785
786
  isLoadingAccount: n,
786
787
  likesTab: l,
787
- postsTab: c
788
+ postsTab: s
788
789
  });
789
790
  };
790
791
  //#endregion
791
792
  export { Ue as default };
792
793
 
793
- //# sourceMappingURL=profile-D8ZJfYXB.js.map
794
+ //# sourceMappingURL=profile-BFtbnIjz.js.map