ghost 6.54.1 → 6.55.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 (247) hide show
  1. package/components/tryghost-adapter-base-scheduling-0.2.0.tgz +0 -0
  2. package/components/tryghost-custom-field-types-0.0.0.tgz +0 -0
  3. package/components/tryghost-kg-default-cards-10.3.3.tgz +0 -0
  4. package/components/tryghost-kg-default-nodes-2.1.3.tgz +0 -0
  5. package/core/boot.js +3 -6
  6. package/core/built/admin/assets/{account-migration-BklF2I_I.js → account-migration-sjHLx5dy.js} +1 -1
  7. package/core/built/admin/assets/activitypub/{account-migration-CNovr6W-.js → account-migration-DoYXtnZ8.js} +4 -4
  8. package/core/built/admin/assets/activitypub/activitypub.js +1 -1
  9. package/core/built/admin/assets/activitypub/{bluesky-sharing-Ceslb1_M.js → bluesky-sharing-Bxeh6MKW.js} +4 -4
  10. package/core/built/admin/assets/activitypub/{dist-DHAjBcV3.js → dist-D8sFfdpC.js} +2 -2
  11. package/core/built/admin/assets/activitypub/{domain-C1qQvJ8C.js → domain-CWueFW6q.js} +5 -5
  12. package/core/built/admin/assets/activitypub/{edit-profile-BcH-jEfM.js → edit-profile-BGxPU7N5.js} +3 -3
  13. package/core/built/admin/assets/activitypub/{explore-AxwBh9dI.js → explore-DBK-u0Ch.js} +3 -3
  14. package/core/built/admin/assets/activitypub/{feed-BaOlbh7a.js → feed-Bcir5RQZ.js} +3 -3
  15. package/core/built/admin/assets/activitypub/{field-B7mYYQpN.js → field-BV-CIT3d.js} +2 -2
  16. package/core/built/admin/assets/activitypub/{inbox-vXez-5uJ.js → inbox-yC0nfvzl.js} +4 -4
  17. package/core/built/admin/assets/activitypub/{label-Chv5T8bw.js → label-DTRS9TDk.js} +2 -2
  18. package/core/built/admin/assets/activitypub/layout-qx-bUL1k.js +1 -0
  19. package/core/built/admin/assets/activitypub/{moderation-DtSM2i1I.js → moderation-Dwl9t0pb.js} +4 -4
  20. package/core/built/admin/assets/activitypub/{note-Dckp4S-2.js → note-B-zKsZ7r.js} +3 -3
  21. package/core/built/admin/assets/activitypub/{notifications-CG5T22vg.js → notifications-DjJZD54t.js} +3 -3
  22. package/core/built/admin/assets/activitypub/{preferences-D_799jdl.js → preferences-CoU8vs6d.js} +6 -6
  23. package/core/built/admin/assets/activitypub/{profile-D2JfXBQl.js → profile-BAsaJekx.js} +6 -6
  24. package/core/built/admin/assets/activitypub/{routes-CCHe2dQp.js → routes-CLH3OVTP.js} +18 -18
  25. package/core/built/admin/assets/activitypub/{settings-kx-9Enkz.js → settings-DA6pNJ-Q.js} +3 -3
  26. package/core/built/admin/assets/activitypub/{site-x4_IjVJ0.js → site-CQD42Pw5.js} +2 -2
  27. package/core/built/admin/assets/activitypub/{tabs-CyPRQQ1N.js → tabs-Cg0saow1.js} +7 -7
  28. package/core/built/admin/assets/activitypub/{use-reply-chain-data-BAB6fNGt.js → use-reply-chain-data-Br4aOWOh.js} +2 -2
  29. package/core/built/admin/assets/audience-DjEWNhp3.js +1 -0
  30. package/core/built/admin/assets/{automated-emails-of1MvVsv.js → automated-emails-DRy7qY-J.js} +2 -2
  31. package/core/built/admin/assets/{automations-DRFjW5fw.js → automations-Bx3VcFIL.js} +1 -1
  32. package/core/built/admin/assets/{automations-B7-y3dXt.js → automations-DhKeS_U5.js} +1 -1
  33. package/core/built/admin/assets/{bluesky-sharing-BbbjWdzs.js → bluesky-sharing-ClMd0-Ft.js} +1 -1
  34. package/core/built/admin/assets/{breadcrumb-B-M9Ip_2.js → breadcrumb-BD0U2ygg.js} +1 -1
  35. package/core/built/admin/assets/{chart-helpers-xiSsW8r0.js → chart-helpers-fjQKRVyY.js} +1 -1
  36. package/core/built/admin/assets/{checkbox-EhJKHFdZ.js → checkbox-CWa28lgO.js} +1 -1
  37. package/core/built/admin/assets/{chunk.361.3cdb584b973959e52ccc.js → chunk.481.6c7395a49484bb4583aa.js} +41 -38
  38. package/core/built/admin/assets/{chunk.524.8365cd9280405c0f6216.js → chunk.524.cffd399783a519e404a9.js} +4 -4
  39. package/core/built/admin/assets/{chunk.582.61d078937e6102769f2c.js → chunk.582.eebf0d0b2d202bb746a5.js} +6 -6
  40. package/core/built/admin/assets/{code-editor-view-CZtJFGhR.js → code-editor-view-CCr0rBWS.js} +1 -1
  41. package/core/built/admin/assets/comments-DyUSMUdj.js +1 -0
  42. package/core/built/admin/assets/{date-range-select-CTlyo8zW.js → date-range-select-BFp58EMk.js} +1 -1
  43. package/core/built/admin/assets/{disabled-sources-indicator-qs2GfLvl.js → disabled-sources-indicator-CUxMfiPa.js} +1 -1
  44. package/core/built/admin/assets/domain-C0bV2UV8.js +1 -0
  45. package/core/built/admin/assets/{dropzone-BmCXnw6J.js → dropzone-DlK-K2DQ.js} +1 -1
  46. package/core/built/admin/assets/{edit-profile-SGrJve5M.js → edit-profile-BKT-REJw.js} +1 -1
  47. package/core/built/admin/assets/editor-Dp865O-4.js +8 -0
  48. package/core/built/admin/assets/{explore-CUYLv9G9.js → explore-ClUpJZOp.js} +1 -1
  49. package/core/built/admin/assets/{feed-CPdJMttL.js → feed-DF92dUMP.js} +1 -1
  50. package/core/built/admin/assets/field-Do7lieBA.js +1 -0
  51. package/core/built/admin/assets/{filter-sources-Bieps75g.js → filter-sources-BV2rnpfA.js} +1 -1
  52. package/core/built/admin/assets/filters-CUXJ2Nm9.js +1 -0
  53. package/core/built/admin/assets/{filters-CuB-A7ma.js → filters-DfbIWc_l.js} +1 -1
  54. package/core/built/admin/assets/{ghost-3063eae29e6c9cc6d6e7131928a27da0.css → ghost-a9c788f6f0b1ea6cf0f14ca4b13f4496.css} +1 -1
  55. package/core/built/admin/assets/{ghost-05f9a7182ed56903dba05878a5b8422b.js → ghost-c4057474943effc568c5659ccc4909d7.js} +190 -190
  56. package/core/built/admin/assets/{ghost-dark-c8d0ab7f515b2010c173e23e9b32ea8a.css → ghost-dark-db36d795d21c61426837df40af270966.css} +1 -1
  57. package/core/built/admin/assets/gift-link-modal-f9VIMNDv.js +1 -0
  58. package/core/built/admin/assets/{gift-links-nBxJjZiQ.js → gift-links-CsUhefWG.js} +1 -1
  59. package/core/built/admin/assets/growth-B3I6gNLm.js +1 -0
  60. package/core/built/admin/assets/growth-CVw1My4S.js +3 -0
  61. package/core/built/admin/assets/{hooks-BApwwBE0.js → hooks-CixO01lL.js} +1 -1
  62. package/core/built/admin/assets/{inbox-Xx1CdnfO.js → inbox-CFBSu4Ed.js} +13 -13
  63. package/core/built/admin/assets/index-9Cw8z3rA.css +1 -0
  64. package/core/built/admin/assets/index-BGG7NckO.js +67 -0
  65. package/core/built/admin/assets/{input-group-CGOXcy4l.js → input-group-BSgG_lVw.js} +1 -1
  66. package/core/built/admin/assets/koenig-lexical/koenig-lexical.js +974 -937
  67. package/core/built/admin/assets/koenig-lexical/koenig-lexical.umd.js +28 -28
  68. package/core/built/admin/assets/koenig-lexical/style.css +1 -1
  69. package/core/built/admin/assets/{koenig-lexical-B61IALf5.js → koenig-lexical-f8vHRYvz.js} +28 -28
  70. package/core/built/admin/assets/{kpi-card-DCdlyaSS.js → kpi-card-DSap9rAy.js} +1 -1
  71. package/core/built/admin/assets/{kpi-card-BlZaG1Lo.js → kpi-card-DU0rn9Cj.js} +1 -1
  72. package/core/built/admin/assets/{kpi-helpers-DpAuS1Nb.js → kpi-helpers-Dz33AV6h.js} +1 -1
  73. package/core/built/admin/assets/{kpi-tabs-Dme44bQS.js → kpi-tabs-BtTTrKvJ.js} +1 -1
  74. package/core/built/admin/assets/{label-dSs5aepE.js → label-DS8Mi6G5.js} +1 -1
  75. package/core/built/admin/assets/label-picker-1DvSuLA1.js +1 -0
  76. package/core/built/admin/assets/labels-CDSUt4J_.js +1 -0
  77. package/core/built/admin/assets/layout-yQEi2qDM.js +1 -0
  78. package/core/built/admin/assets/{link-helpers-tOlxmuH5.js → link-helpers-7EYqvvHs.js} +1 -1
  79. package/core/built/admin/assets/member-custom-fields-yOMHyAg9.js +1 -0
  80. package/core/built/admin/assets/member-detail-BAq7gDaa.js +1 -0
  81. package/core/built/admin/assets/members-CQpVFJu4.js +10 -0
  82. package/core/built/admin/assets/modals-ReORvWnu.js +31 -0
  83. package/core/built/admin/assets/moderation-DySbgyUS.js +1 -0
  84. package/core/built/admin/assets/newsletter-CJQvtHqN.js +1 -0
  85. package/core/built/admin/assets/newsletters-B3QQXfGT.js +1 -0
  86. package/core/built/admin/assets/{newsletters-D1jbtV-h.js → newsletters-BXJbJgA-.js} +1 -1
  87. package/core/built/admin/assets/note-C8kxrz6w.js +1 -0
  88. package/core/built/admin/assets/notifications-CgtSfX7t.js +1 -0
  89. package/core/built/admin/assets/{offers-CrY6nSRR.js → offers-DEniVRD5.js} +1 -1
  90. package/core/built/admin/assets/onboarding-route-4qtziA9d.js +1 -0
  91. package/core/built/admin/assets/overview-Bf2sbznq.js +1 -0
  92. package/core/built/admin/assets/overview-CBfePxcr.js +1 -0
  93. package/core/built/admin/assets/{page-header-op0eN36I.js → page-header-B3Wb9Jqv.js} +1 -1
  94. package/core/built/admin/assets/{pages-BbNWFcGj.js → pages-B4goRPUn.js} +1 -1
  95. package/core/built/admin/assets/{post-analytics-WwRDEnrV.js → post-analytics-We-ko5Cb.js} +1 -1
  96. package/core/built/admin/assets/post-analytics-header-Bmc9su6q.js +1 -0
  97. package/core/built/admin/assets/post-analytics-provider-B6UynTGb.js +1 -0
  98. package/core/built/admin/assets/{post-share-modal-Dx-MEjhI.js → post-share-modal-DFfO93_0.js} +1 -1
  99. package/core/built/admin/assets/{posts-EWpZIjkr.js → posts-DhXE7b6r.js} +1 -1
  100. package/core/built/admin/assets/preferences-DJPfHEGu.js +5 -0
  101. package/core/built/admin/assets/profile-DqBQp-gT.js +1 -0
  102. package/core/built/admin/assets/{referrers-BCfFYSHc.js → referrers-pmJT4k3-.js} +1 -1
  103. package/core/built/admin/assets/{select-C1qDZnW4.js → select-C5_xEt5b.js} +1 -1
  104. package/core/built/admin/assets/settings-BwiVIXau.js +4 -0
  105. package/core/built/admin/assets/{settings-H6HxFgfI.js → settings-WXNeWyU1.js} +1 -1
  106. package/core/built/admin/assets/{share-modal-BJCadJyp.js → share-modal-DsgW3wbg.js} +1 -1
  107. package/core/built/admin/assets/social-urls-BQPFEk1_.js +8 -0
  108. package/core/built/admin/assets/{sort-button-DyYlfYp7.js → sort-button-Bb_FCl7e.js} +1 -1
  109. package/core/built/admin/assets/{source-icon-_ubRDbg_.js → source-icon-BeaRxUn9.js} +1 -1
  110. package/core/built/admin/assets/{stats-BQZMGMvn.js → stats-Bjj_kmJ1.js} +1 -1
  111. package/core/built/admin/assets/{stats-view-Doei-qCX.js → stats-view-BxPbW6K1.js} +1 -1
  112. package/core/built/admin/assets/{step-1-IKiLBPoC.js → step-1-B1e3-1F8.js} +1 -1
  113. package/core/built/admin/assets/{step-2-jJ41PsDN.js → step-2-C5WaeBJo.js} +1 -1
  114. package/core/built/admin/assets/{step-3-CaqFAEqf.js → step-3-B46iVPwu.js} +2 -2
  115. package/core/built/admin/assets/{switch-t-WyENU2.js → switch-z5Y6Uzt6.js} +1 -1
  116. package/core/built/admin/assets/{table-DxUL78jU.js → table-CB-4_HBJ.js} +1 -1
  117. package/core/built/admin/assets/tabs-CCEgKYzq.js +1 -0
  118. package/core/built/admin/assets/{tags-CNujGwkT.js → tags-Cg2VJGmG.js} +1 -1
  119. package/core/built/admin/assets/{tiers-BgYLWRJv.js → tiers-DYsa4DCo.js} +1 -1
  120. package/core/built/admin/assets/{toggle-group-BeEpQ69p.js → toggle-group-b3IlxvhV.js} +1 -1
  121. package/core/built/admin/assets/{topic-filter-Bb5MOD-1.js → topic-filter-DAFT87tQ.js} +1 -1
  122. package/core/built/admin/assets/{use-analytics-data-Cds6XDjg.js → use-analytics-data-S0FTd43s.js} +1 -1
  123. package/core/built/admin/assets/use-filter-params-Gpoq2E1L.js +1 -0
  124. package/core/built/admin/assets/{use-growth-stats-D8uf98-G.js → use-growth-stats-CIaiHOVb.js} +1 -1
  125. package/core/built/admin/assets/{use-post-referrers-CRtgyuXB.js → use-post-referrers-Cq2vBPrA.js} +1 -1
  126. package/core/built/admin/assets/{use-reply-chain-data-DbKYX50v.js → use-reply-chain-data-DBDRtGu-.js} +1 -1
  127. package/core/built/admin/assets/{use-simple-pagination-DC01kpo0.js → use-simple-pagination-CjYNxdwe.js} +1 -1
  128. package/core/built/admin/assets/{use-tinybird-query-C7bQRJWw.js → use-tinybird-query-falHAtuK.js} +1 -1
  129. package/core/built/admin/assets/{use-tinybird-token-Az4tam7_.js → use-tinybird-token-D7-8ND1y.js} +1 -1
  130. package/core/built/admin/assets/{users-CcSCQFcQ.js → users-Dkv8NQZe.js} +1 -1
  131. package/core/built/admin/assets/{virtual-list-Dhuh9fGx.js → virtual-list-CvnC9zF2.js} +1 -1
  132. package/core/built/admin/assets/web-B_5GZRvH.js +1 -0
  133. package/core/built/admin/assets/web-jFYWCKDn.js +2 -0
  134. package/core/built/admin/index.html +9 -9
  135. package/core/frontend/services/proxy.js +7 -8
  136. package/core/frontend/services/routing/router-manager.js +14 -14
  137. package/core/frontend/services/routing/static-routes-router.js +8 -10
  138. package/core/server/api/endpoints/automation-action-links.js +68 -0
  139. package/core/server/api/endpoints/automation-action-links.ts +46 -0
  140. package/core/server/api/endpoints/index.js +4 -0
  141. package/core/server/api/endpoints/settings.js +0 -2
  142. package/core/server/api/endpoints/utils/serializers/output/utils/url.js +11 -1
  143. package/core/server/data/migrations/versions/6.55/2026-07-27-11-25-44-add-to-hash-to-redirects.js +51 -0
  144. package/core/server/data/migrations/versions/6.55/2026-07-28-12-08-00-remove-routes-hash-from-settings.js +5 -0
  145. package/core/server/data/schema/commands.js +5 -0
  146. package/core/server/data/schema/default-settings/default-settings.json +0 -4
  147. package/core/server/data/schema/schema.js +5 -1
  148. package/core/server/services/automations/automations-api.js +15 -0
  149. package/core/server/services/automations/automations-api.ts +19 -0
  150. package/core/server/services/automations/automations-repository.ts +18 -0
  151. package/core/server/services/automations/database-automations-repository.js +109 -26
  152. package/core/server/services/automations/database-automations-repository.ts +110 -7
  153. package/core/server/services/automations/database-date.js +10 -0
  154. package/core/server/services/automations/database-date.ts +5 -0
  155. package/core/server/services/automations/poll.js +5 -2
  156. package/core/server/services/automations/poll.ts +7 -2
  157. package/core/server/services/automations/scheduler-poll-time.js +40 -0
  158. package/core/server/services/automations/scheduler-poll-time.ts +38 -0
  159. package/core/server/services/automations/service.js +15 -3
  160. package/core/server/services/automations/service.ts +16 -3
  161. package/core/server/services/comments/comments-service-emails.js +10 -7
  162. package/core/server/services/comments/comments-service.js +9 -4
  163. package/core/server/services/email-rendering/partials/email-wrapper.hbs +3 -1
  164. package/core/server/services/email-service/email-service-wrapper.js +6 -1
  165. package/core/server/services/email-service/email-templates/partials/styles.hbs +8 -0
  166. package/core/server/services/email-service/newsletter-email-event-storage.js +41 -10
  167. package/core/server/services/lib/dynamic-redirect-manager.js +12 -3
  168. package/core/server/services/link-redirection/link-redirect-repository.js +41 -4
  169. package/core/server/services/link-redirection/link-redirect.js +2 -0
  170. package/core/server/services/link-redirection/link-redirect.ts +3 -1
  171. package/core/server/services/link-redirection/link-redirects-service.js +38 -2
  172. package/core/server/services/link-tracking/click-event.js +3 -0
  173. package/core/server/services/link-tracking/index.js +38 -6
  174. package/core/server/services/link-tracking/link-click-repository.js +30 -9
  175. package/core/server/services/link-tracking/link-click-tracking-service.js +44 -3
  176. package/core/server/services/member-attribution/outbound-link-tagger.js +3 -1
  177. package/core/server/services/member-welcome-emails/member-welcome-email-renderer.js +19 -4
  178. package/core/server/services/member-welcome-emails/service.js +11 -3
  179. package/core/server/services/members/import-export/csv/formula.js +16 -0
  180. package/core/server/services/members/import-export/csv/formula.ts +14 -0
  181. package/core/server/services/members/import-export/csv/index.js +3 -1
  182. package/core/server/services/members/import-export/csv/index.ts +1 -0
  183. package/core/server/services/members/import-export/import/completion-email.js +22 -3
  184. package/core/server/services/members/import-export/import/completion-email.ts +29 -7
  185. package/core/server/services/members/import-export/import/importer.js +25 -4
  186. package/core/server/services/members/import-export/import/importer.ts +42 -4
  187. package/core/server/services/members/import-export/index.js +9 -0
  188. package/core/server/services/members/import-export/index.ts +20 -1
  189. package/core/server/services/members/service.js +8 -1
  190. package/core/server/services/members-custom-fields/values-service.js +19 -7
  191. package/core/server/services/members-custom-fields/values-service.ts +19 -7
  192. package/core/server/services/mentions/service.js +5 -1
  193. package/core/server/services/route-settings/activation-bridge.js +59 -49
  194. package/core/server/services/route-settings/activation-bridge.ts +91 -51
  195. package/core/server/services/route-settings/dynamic-routing-service.js +22 -51
  196. package/core/server/services/route-settings/index.js +1 -16
  197. package/core/server/services/settings/settings-service.js +0 -18
  198. package/core/server/services/url/url-service-facade.js +1 -1
  199. package/core/server/services/url/url-service-facade.ts +8 -1
  200. package/core/server/web/api/endpoints/admin/routes.js +1 -0
  201. package/package.json +7 -7
  202. package/pnpm-lock.yaml +8 -8
  203. package/pnpm-workspace.yaml +5 -4
  204. package/core/built/admin/assets/Growth-BTP1LthE.js +0 -3
  205. package/core/built/admin/assets/Newsletters-CSEX0myc.js +0 -1
  206. package/core/built/admin/assets/Overview-BjACEsJF.js +0 -1
  207. package/core/built/admin/assets/Web-CxxxjCcv.js +0 -2
  208. package/core/built/admin/assets/activitypub/layout-CziktJXo.js +0 -1
  209. package/core/built/admin/assets/audience-X_XsZivI.js +0 -1
  210. package/core/built/admin/assets/comments-CvyXxOyN.js +0 -1
  211. package/core/built/admin/assets/constants-c-JNF9c2.js +0 -1
  212. package/core/built/admin/assets/domain-CPNXKVOV.js +0 -1
  213. package/core/built/admin/assets/editor-BOG2YPUm.js +0 -8
  214. package/core/built/admin/assets/field-D0XISCK2.js +0 -1
  215. package/core/built/admin/assets/filters-bXkkWro8.js +0 -1
  216. package/core/built/admin/assets/gift-link-modal-su8MsRdg.js +0 -1
  217. package/core/built/admin/assets/growth-Ba6S5FQX.js +0 -1
  218. package/core/built/admin/assets/index-D8PbzuT9.css +0 -1
  219. package/core/built/admin/assets/index-ukW_0Uie.js +0 -67
  220. package/core/built/admin/assets/label-picker-Uq91atex.js +0 -1
  221. package/core/built/admin/assets/labels-Cyayfd-e.js +0 -1
  222. package/core/built/admin/assets/layout-WUcz6tu1.js +0 -1
  223. package/core/built/admin/assets/member-custom-fields-NCzrMuba.js +0 -1
  224. package/core/built/admin/assets/member-detail-DPWDtYnN.js +0 -1
  225. package/core/built/admin/assets/members-B9rO7qr4.js +0 -10
  226. package/core/built/admin/assets/modals-CxRaan1J.js +0 -31
  227. package/core/built/admin/assets/moderation-D8zon60E.js +0 -1
  228. package/core/built/admin/assets/multi-select-combobox-1wYm3nle.js +0 -1
  229. package/core/built/admin/assets/newsletter-DbYMRxRS.js +0 -1
  230. package/core/built/admin/assets/note-PiWPnnrh.js +0 -1
  231. package/core/built/admin/assets/notifications-DEgqqB9G.js +0 -1
  232. package/core/built/admin/assets/onboarding-route-BzF6HeVn.js +0 -1
  233. package/core/built/admin/assets/overview-DixLeIqY.js +0 -1
  234. package/core/built/admin/assets/post-analytics-header-DsMoLx0R.js +0 -1
  235. package/core/built/admin/assets/post-analytics-provider-BJCPLMIb.js +0 -1
  236. package/core/built/admin/assets/preferences-D7-j6A4C.js +0 -5
  237. package/core/built/admin/assets/profile-Dl69QPp0.js +0 -1
  238. package/core/built/admin/assets/settings-BbmC_Iqq.js +0 -4
  239. package/core/built/admin/assets/social-urls-BPL1nADp.js +0 -8
  240. package/core/built/admin/assets/tabs-BQcJQ1ke.js +0 -1
  241. package/core/built/admin/assets/use-filter-params-DjXkhO54.js +0 -1
  242. package/core/built/admin/assets/web-LtHNiNBV.js +0 -1
  243. package/core/server/services/route-settings/default-settings-manager.js +0 -63
  244. package/core/server/services/route-settings/route-settings.js +0 -170
  245. package/core/server/services/route-settings/settings-loader.js +0 -60
  246. package/core/server/services/route-settings/settings-path-manager.js +0 -47
  247. package/core/server/services/route-settings/validate.js +0 -440
@@ -1 +0,0 @@
1
- import{o as e}from"./rolldown-runtime-DAXXjFlN.js";import{t}from"./react-Bb3IsNbi.js";import{t as n}from"./jsx-runtime-DX3WBWVO.js";import{n as r}from"./dist-Ndy-PuGN.js";import{l as i,m as a}from"./chunk-KS7C4IRE-DG9HTHQ3.js";import{s as o}from"./router-provider-C1R4AZ2o.js";import{s}from"./dist-DGzPJ_bO.js";import{a as c,i as l,n as u,r as d,t as f}from"./tabs-BQcJQ1ke.js";import{t as p}from"./edit-profile-SGrJve5M.js";import{Ai as m,As as h,At as g,Cr as _,Dr as v,Er as ee,F as y,Ft as te,Gn as b,I as x,It as ne,Jn as re,Kt as S,L as ie,Mi as ae,Ni as C,Nr as w,Or as oe,Os as se,Po as ce,Pr as le,Q as T,R as ue,Rn as E,Ro as de,Ut as fe,V as D,Wt as O,Y as k,_o as A,_t as pe,ar as me,at as he,cr as j,ct as ge,dr as M,er as N,es as _e,fr as ve,gr as ye,gs as be,hr as xe,ht as P,ir as F,ja as I,kt as L,lr as R,lt as Se,mr as z,mt as B,or as V,pr as H,sr as U,st as Ce,tr as W,tt as G,ur as K,ut as we,vt as Te,xr as Ee,yo as q,zn as J}from"./index-ukW_0Uie.js";import"./layout-WUcz6tu1.js";import{t as De}from"./settings-H6HxFgfI.js";var Y=e(t(),1);function Oe(e){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`}var X=n(),ke=({noResultsMessage:e,actors:t,isLoading:n,fetchNextPage:r,hasNextPage:i,isFetchingNextPage:a})=>{let{data:o}=P(`index`,`me`),s=(0,Y.useRef)(null),c=(0,Y.useRef)(null);(0,Y.useEffect)(()=>(s.current&&s.current.disconnect(),s.current=new IntersectionObserver(e=>{e[0].isIntersecting&&i&&!a&&r()}),c.current&&s.current.observe(c.current),()=>{s.current&&s.current.disconnect()}),[i,a,r]);let l=S();return(0,X.jsxs)(`div`,{className:`pt-3`,"data-testid":`actor-list`,children:[i===!1&&t.length===0?(0,X.jsxs)(E,{children:[(0,X.jsx)(J,{children:(0,X.jsx)(C,{})}),e]}):(0,X.jsx)(`div`,{className:`flex flex-col`,children:t.map(({actor:e,isFollowing:t,blockedByMe:n,domainBlockedByMe:r})=>{let i=O(e),a=i===o?.handle;return(0,X.jsx)(Y.Fragment,{children:(0,X.jsx)(G,{actor:e,align:`center`,isCurrentUser:a,side:`left`,children:(0,X.jsx)(`div`,{children:(0,X.jsxs)(D,{"data-testid":`actor-item`,onClick:()=>{T(e,l)},children:[(0,X.jsx)(we,{author:e}),(0,X.jsx)(`div`,{children:(0,X.jsxs)(`div`,{className:`break-anywhere text-gray-600`,children:[(0,X.jsx)(`span`,{className:`mr-1 line-clamp-1 font-bold text-black dark:text-white`,children:Oe(e)}),(0,X.jsx)(`div`,{className:`line-clamp-1 text-sm`,children:i})]})}),n||r?(0,X.jsx)(w,{className:`pointer-events-none ml-auto min-w-[90px]`,variant:`destructive`,children:`Blocked`}):a?null:(0,X.jsx)(Se,{className:`ml-auto`,"data-testid":`follow-button`,following:t,handle:i,type:`secondary`})]},e.id)})})},e.id)})}),(0,X.jsx)(`div`,{ref:c,className:`h-1`}),(a||n)&&(0,X.jsx)(`div`,{className:`mt-6 flex flex-col items-center justify-center gap-4 text-center`,children:(0,X.jsx)(N,{size:`md`})})]})},Z=({posts:e,fetchNextPage:t,hasNextPage:n,isFetchingNextPage:r,isLoading:i})=>{let a=(0,Y.useRef)(null),o=(0,Y.useRef)(null),s=(0,Y.useRef)(null),c=Math.max(0,Math.floor(e.length*.75)-1);(0,Y.useEffect)(()=>(a.current&&a.current.disconnect(),a.current=new IntersectionObserver(e=>{e[0].isIntersecting&&n&&!r&&t()}),o.current&&a.current.observe(o.current),s.current&&a.current.observe(s.current),()=>{a.current&&a.current.disconnect()}),[n,r,t]);let l=S();return(0,X.jsxs)(X.Fragment,{children:[n===!1&&e.length===0&&(0,X.jsxs)(E,{children:[(0,X.jsx)(J,{children:(0,X.jsx)(A,{})}),`You haven't liked anything yet.`]}),(0,X.jsxs)(`ul`,{className:`mx-auto flex max-w-[640px] flex-col`,"data-testid":`profile-likes-list`,children:[e.map((t,n)=>(0,X.jsxs)(`li`,{"data-testid":`profile-like-item`,"data-test-view-article":!0,children:[(0,X.jsx)(k,{actor:t.actor,allowDelete:t.object.authored,commentCount:t.object.replyCount,isLoading:i,layout:`feed`,likeCount:t.object.likeCount,object:t.object,repostCount:t.object.repostCount,type:t.type,onClick:()=>{t.object.type===`Note`?l(`/notes/${encodeURIComponent(t.object.id)}`):t.object.type===`Article`&&l(`/reader/${encodeURIComponent(t.object.id)}`)}}),n<e.length-1&&(0,X.jsx)(b,{}),n===c&&(0,X.jsx)(`div`,{ref:o,className:`h-1`})]},`likes-${t.id}`)),r&&(0,X.jsx)(`li`,{className:`flex flex-col items-center justify-center gap-4 text-center`,children:(0,X.jsx)(N,{size:`md`})})]}),(0,X.jsx)(`div`,{ref:s,className:`h-1`})]})},Ae=({posts:e,fetchNextPage:t,hasNextPage:n,isFetchingNextPage:r,isLoading:i,noResultsMessage:a})=>{let o=(0,Y.useRef)(null),s=(0,Y.useRef)(null),c=(0,Y.useRef)(null),l=Math.max(0,Math.floor(e.length*.75)-1);(0,Y.useEffect)(()=>(o.current&&o.current.disconnect(),o.current=new IntersectionObserver(e=>{e[0].isIntersecting&&n&&!r&&t()}),s.current&&o.current.observe(s.current),c.current&&o.current.observe(c.current),()=>{o.current&&o.current.disconnect()}),[n,r,t]);let u=S();return(0,X.jsxs)(X.Fragment,{children:[n===!1&&e.length===0&&(0,X.jsxs)(E,{children:[(0,X.jsx)(J,{children:(0,X.jsx)(I,{})}),a]}),(0,X.jsxs)(`ul`,{className:`mx-auto flex max-w-[640px] flex-col`,"data-testid":`profile-posts-list`,children:[e.map((t,n)=>(0,X.jsxs)(`li`,{"data-testid":`profile-post-item`,"data-test-view-article":!0,children:[(0,X.jsx)(k,{actor:t.actor,allowDelete:t.object.authored,commentCount:t.object.replyCount,isLoading:i,layout:`feed`,likeCount:t.object.likeCount,object:t.object,repostCount:t.object.repostCount,type:t.type,onClick:()=>{t.object.type===`Note`?u(`/notes/${encodeURIComponent(t.object.id)}`):t.object.type===`Article`&&u(`/reader/${encodeURIComponent(t.object.id)}`)}}),n<e.length-1&&(0,X.jsx)(b,{}),n===l&&(0,X.jsx)(`div`,{ref:s,className:`h-1`})]},`posts-${t.id}`)),r&&(0,X.jsx)(`li`,{className:`flex flex-col items-center justify-center gap-4 text-center`,children:(0,X.jsx)(N,{size:`md`})})]}),(0,X.jsx)(`div`,{ref:c,className:`h-1`})]})},Q=({handle:e,isUserBlocked:t,isDomainBlocked:n,onUnblockUser:i,onUnblockDomain:a,trigger:o,onUnblockComplete:s,isOpen:c,onOpenChange:l})=>{let[u,d]=(0,Y.useState)(!1),[f,p]=(0,Y.useState)(()=>{let e=t&&n,r=t&&!n,i=!t&&n,a=`idle`;return e?a=`dual`:r?a=`userOnly`:i&&(a=`domainOnly`),{mode:a,userUnblocked:!1,domainUnblocked:!1}}),g=c!==void 0,_=g?c:u,[v,ee]=(0,Y.useState)(!1),y=(0,Y.useCallback)(()=>{let e=t&&n,r=t&&!n,i=!t&&n,a=`idle`;e?a=`dual`:r?a=`userOnly`:i&&(a=`domainOnly`),p(e=>({...e,mode:a,userUnblocked:!1,domainUnblocked:!1}))},[t,n]);(0,Y.useEffect)(()=>{_&&!v?(y(),ee(!0)):_||ee(!1)},[_,v,y]);let te=()=>{g?l?.(!0):d(!0)},b=e=>{e||(g?l?.(!1):d(!1))},x=async()=>{await i(),p(e=>({...e,userUnblocked:!0})),(f.mode!==`dual`||f.domainUnblocked)&&(b(!1),s?.()),r.success(`User unblocked`)},ne=async()=>{await a(),p(e=>({...e,domainUnblocked:!0})),(f.mode!==`dual`||f.userUnblocked)&&(b(!1),s?.()),r.success(`Domain unblocked`)},re=e.split(`@`).filter(Boolean)[1];return(0,X.jsxs)(F,{open:_,onOpenChange:b,children:[o&&(0,X.jsx)(ve,{asChild:!0,onClick:te,children:o}),(0,X.jsx)(U,{className:`${f.mode===`dual`&&`max-w-[600px]`}`,children:f.mode===`dual`?(0,X.jsxs)(X.Fragment,{children:[(0,X.jsxs)(K,{children:[(0,X.jsx)(M,{className:`mb-1 flex flex-col gap-1`,children:`Unblock`}),(0,X.jsx)(j,{className:`mt-4!`,asChild:!0,children:(0,X.jsxs)(`div`,{className:`flex flex-col rounded-md border`,children:[(0,X.jsxs)(`div`,{className:`flex justify-between gap-6 p-5`,children:[(0,X.jsxs)(`div`,{className:`flex flex-col gap-1`,children:[(0,X.jsx)(h,{children:`Unblock user`}),(0,X.jsxs)(`p`,{children:[(0,X.jsx)(`span`,{className:`font-semibold text-black`,children:e}),` will be able to follow you and engage with your public posts.`]})]}),(0,X.jsxs)(w,{className:`gap-1 ${f.userUnblocked?`pointer-events-none border-green bg-green text-white hover:bg-green hover:text-white`:`text-red hover:text-red-400`}`,variant:`outline`,onClick:x,children:[(0,X.jsx)(m,{}),f.userUnblocked?`User unblocked`:`Unblock user`]})]}),(0,X.jsx)(`div`,{className:`border-t`}),(0,X.jsxs)(`div`,{className:`flex justify-between gap-6 p-5`,children:[(0,X.jsxs)(`div`,{className:`flex flex-col gap-1`,children:[(0,X.jsx)(h,{children:`Unblock domain`}),(0,X.jsxs)(`p`,{children:[`Users from `,(0,X.jsx)(`span`,{className:`font-semibold text-black`,children:re}),` will be able to follow you and engage with your public posts.`]})]}),(0,X.jsxs)(w,{className:`gap-1 ${f.domainUnblocked?`pointer-events-none border-green bg-green text-white hover:bg-green hover:text-white`:`text-red hover:text-red-400`}`,variant:`outline`,onClick:ne,children:[(0,X.jsx)(q,{}),f.domainUnblocked?`Domain unblocked`:`Unblock domain`]})]})]})})]}),(0,X.jsx)(R,{children:(0,X.jsx)(w,{onClick:()=>b(!1),children:`OK`})})]}):(()=>{let t=f.mode===`userOnly`;return(0,X.jsxs)(X.Fragment,{children:[(0,X.jsxs)(K,{children:[(0,X.jsx)(M,{className:`mb-1 flex flex-col gap-1`,children:t?`Unblock this user?`:`Unblock this domain?`}),(0,X.jsx)(j,{children:t?(0,X.jsxs)(X.Fragment,{children:[(0,X.jsx)(`span`,{className:`font-semibold text-black`,children:e}),` will be able to follow you and engage with your public posts.`]}):(0,X.jsxs)(X.Fragment,{children:[`Users from `,(0,X.jsx)(`span`,{className:`font-semibold text-black`,children:re}),` will be able to follow you and engage with your public posts.`]})})]}),(0,X.jsxs)(R,{children:[(0,X.jsx)(V,{children:`Cancel`}),(0,X.jsx)(w,{onClick:t?x:ne,children:`Unblock`})]})]})})()})]})},je=({account:e,children:t,onCopyHandle:n,onBlockAccount:r,onBlockDomain:i,disabled:a=!1,isBlocked:o=!1,isDomainBlocked:s=!1})=>{let[c,l]=(0,Y.useState)(null),[u,d]=(0,Y.useState)(!1),f=e=>{e.stopPropagation(),n()},p=e=>{e.stopPropagation(),r()},m=e=>{e.stopPropagation(),i()},h=e?.handle,g=h?.split(`@`).filter(Boolean)[1];return(0,X.jsxs)(X.Fragment,{children:[(0,X.jsxs)(H,{children:[(0,X.jsx)(ye,{disabled:a,asChild:!0,onClick:e=>e.stopPropagation(),children:t}),(0,X.jsx)(xe,{align:`end`,className:`p-2`,children:(0,X.jsxs)(`div`,{className:`flex w-48 flex-col`,children:[(0,X.jsx)(z,{asChild:!0,children:(0,X.jsx)(w,{className:`justify-start`,variant:`ghost`,onClick:f,children:`Copy handle`})}),(0,X.jsx)(z,{asChild:!0,children:(0,X.jsx)(w,{className:`justify-start text-red hover:bg-red/5 hover:text-red`,variant:`ghost`,onClick:e=>{e.stopPropagation(),!o&&!s&&l(`user`),d(!0)},children:o?`Unblock user`:s?`Unblock domain`:`Block user`})})]})})]}),o||s?e&&(0,X.jsx)(Q,{handle:e.handle,isDomainBlocked:e.domainBlockedByMe,isOpen:u,isUserBlocked:e.blockedByMe,onOpenChange:d,onUnblockDomain:i,onUnblockUser:r}):(0,X.jsx)(F,{open:u,onOpenChange:d,children:(0,X.jsxs)(U,{onClick:e=>e.stopPropagation(),children:[(0,X.jsxs)(K,{children:[(0,X.jsx)(M,{className:`mb-1 flex flex-col gap-1`,children:c===`user`?`Block this user?`:`Block this domain?`}),(0,X.jsx)(j,{children:c===`user`?(0,X.jsxs)(X.Fragment,{children:[(0,X.jsx)(`span`,{className:`font-semibold text-black`,children:h}),` 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.`]}):(0,X.jsxs)(X.Fragment,{children:[`All users from `,(0,X.jsx)(`span`,{className:`font-semibold text-black`,children:g}),` will be able to see your public posts, but won't be able to follow you or interact with your content.`]})})]}),(0,X.jsxs)(R,{children:[c!==`domain`&&(0,X.jsx)(w,{className:`mr-auto -ml-3 hover:bg-transparent hover:opacity-80`,variant:`ghost`,onClick:e=>{e.stopPropagation(),l(`domain`)},children:`Block domain instead`}),(0,X.jsx)(V,{onClick:e=>e.stopPropagation(),children:`Cancel`}),(0,X.jsx)(me,{className:le({variant:`destructive`}),onClick:c===`user`?p:m,children:`Block`})]})]})})]})},Me=({account:e,onUnblock:t,onDomainUnblock:n,className:r=``})=>{let[i,a]=(0,Y.useState)(!1),o=(0,X.jsx)(w,{className:`min-w-[90px] ${r}`,variant:`destructive`,onMouseEnter:()=>a(!0),onMouseLeave:()=>a(!1),children:i?`Unblock`:`Blocked`});return(0,X.jsx)(Q,{handle:e.handle,isDomainBlocked:e.domainBlockedByMe,isUserBlocked:e.blockedByMe,trigger:o,onUnblockDomain:n,onUnblockUser:t})},Ne=()=>{},$=({account:e,customFields:t,isLoadingAccount:n,postsTab:m,likesTab:g,followingTab:y,followersTab:b})=>{let C=a(),le=i(),T=S(),{canGoBack:fe}=o(),D=C.handle?`/profile/${C.handle}`:`/profile`,O=!C.handle,k=C.handle?C.tab||``:le.pathname.split(`/`).pop()||``,A=(0,Y.useMemo)(()=>O?[`likes`,`following`,`followers`]:[`following`,`followers`],[O]),me=A.includes(k)?k:`posts`,j=Te(`index`),M=ne(`index`),N=pe(`index`),ve=te(`index`),ye=P(`index`,`me`),{data:xe}=C.handle?ye:{data:void 0},F=C.handle===xe?.handle||!C.handle,I=e?.blockedByMe,L=e?.domainBlockedByMe,[R,z]=(0,Y.useState)(!1),[B,V]=(0,Y.useState)(!1),H=(0,Y.useRef)(null);(0,Y.useEffect)(()=>()=>{H.current&&window.clearTimeout(H.current)},[]);let U=()=>{I?M.mutate(e):(j.mutate(e),r.success(`User blocked`)),z(!1)},G=()=>{L?ve.mutate({url:e.apId,handle:e.handle}):(N.mutate({url:e.apId,handle:e.handle}),r.success(`Domain blocked`)),z(!1)},K=async()=>{if(!e?.handle||!navigator?.clipboard?.writeText){r.error(`Unable to copy handle`);return}try{await navigator.clipboard.writeText(e.handle),V(!0),r.success(`Handle copied`),H.current&&window.clearTimeout(H.current),H.current=window.setTimeout(()=>V(!1),2e3)}catch{r.error(`Failed to copy handle`),V(!1)}},[q,Oe]=(0,Y.useState)(!1),[ke,Z]=(0,Y.useState)(!1),Ae=()=>{Oe(!q)},Q=(0,Y.useRef)(null),[$,Pe]=(0,Y.useState)(!1);(0,Y.useEffect)(()=>{Q.current&&Pe(Q.current.scrollHeight>160)},[q,e?.bio,t,n]),(0,Y.useEffect)(()=>{k&&(A.includes(k)||T(D,{replace:!0}))},[A,D,T,k]);let Fe=e=>e===`posts`?D:`${D}/${e}`,Ie=e=>{e!==me&&T(Fe(e),{replace:!0})};return!n&&!e?(0,X.jsx)(ue,{children:(0,X.jsx)(`div`,{className:`mx-auto mt-4 flex w-full max-w-[620px] flex-col items-center [&_svg]:translate-x-px`,children:(0,X.jsxs)(ie,{children:[(0,X.jsx)(x,{children:(0,X.jsx)(ae,{})}),(0,X.jsx)(`div`,{children:`Profile not found`})]})})}):(0,X.jsx)(ue,{children:(0,X.jsx)(`div`,{className:`z-0 mx-[max(-4vw,-24px)] -mt-9 flex flex-col items-center pb-16`,children:(0,X.jsx)(`div`,{className:`mx-auto w-full`,children:(0,X.jsxs)(X.Fragment,{children:[e?.bannerImageUrl?(0,X.jsx)(`div`,{className:`h-[15vw] min-h-[200px] w-full overflow-hidden bg-gradient-to-tr from-gray-200 to-gray-100`,children:(0,X.jsx)(`img`,{alt:e?.name,className:`size-full object-cover`,referrerPolicy:`no-referrer`,src:e?.bannerImageUrl})}):(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`}),(0,X.jsxs)(`div`,{className:`mx-auto max-w-[620px] px-6 ${!e?.bannerImageUrl&&!fe?`-mt-8`:`-mt-12`}`,children:[(0,X.jsxs)(`div`,{className:`flex items-end justify-between`,children:[(0,X.jsx)(`div`,{className:`-ml-2 rounded-full bg-white p-1 dark:bg-background`,children:n?(0,X.jsx)(W,{className:`size-[92px] rounded-full`}):(0,X.jsx)(we,{author:{icon:{url:e?.avatarUrl},name:e?.name,handle:e?.handle},size:`lg`})}),!F&&!n&&(0,X.jsxs)(`div`,{className:`flex gap-2`,children:[I||L?(0,X.jsx)(Me,{account:e,onDomainUnblock:G,onUnblock:U}):(0,X.jsx)(Se,{following:e?.followedByMe,handle:e?.handle,type:`primary`,onFollow:Ne,onUnfollow:Ne}),(0,X.jsx)(je,{account:e,isBlocked:I,isDomainBlocked:L,onBlockAccount:U,onBlockDomain:G,onCopyHandle:K,children:(0,X.jsx)(w,{"aria-label":`Open profile menu`,variant:`outline`,children:(0,X.jsx)(ce,{})})})]}),F&&!n&&(0,X.jsxs)(Ee,{open:ke,onOpenChange:Z,children:[(0,X.jsx)(oe,{children:(0,X.jsx)(De,{children:(0,X.jsx)(w,{variant:`secondary`,children:`Edit profile`})})}),(0,X.jsxs)(_,{className:`w-full max-w-[520px]`,onOpenAutoFocus:e=>e.preventDefault(),children:[(0,X.jsx)(ee,{children:(0,X.jsx)(v,{children:`Profile settings`})}),e&&(0,X.jsx)(p,{account:e,setIsEditingProfile:Z})]})]})]}),(0,X.jsx)(se,{className:`break-anywhere mt-4 truncate`,children:n?(0,X.jsx)(W,{className:`w-32`}):e?.name}),(0,X.jsxs)(`div`,{className:`mb-4 flex items-center gap-2`,children:[(0,X.jsx)(`a`,{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`,href:e?.url,rel:`noopener noreferrer`,target:`_blank`,children:(0,X.jsx)(`span`,{className:`truncate`,children:n?(0,X.jsx)(W,{className:`w-full max-w-56`}):e?.handle})}),!n&&(0,X.jsx)(w,{className:`-ml-1.5 size-6 p-0 text-gray-800 hover:text-gray-900 dark:text-gray-700 dark:hover:text-gray-600`,title:`Copy handle`,variant:`link`,onClick:K,children:B?(0,X.jsx)(_e,{size:16}):(0,X.jsx)(de,{size:16})}),e?.followsMe&&!n&&(0,X.jsx)(re,{className:`mt-px whitespace-nowrap`,variant:`secondary`,children:`Follows you`})]}),(e?.bio||t?.length>0)&&(0,X.jsxs)(`div`,{ref:Q,className:`ap-profile-content break-anywhere relative text-[1.5rem] [&>p]:mb-3 ${q?`max-h-none pb-7`:`max-h-[160px] overflow-hidden`} relative`,children:[n?(0,X.jsxs)(X.Fragment,{children:[(0,X.jsx)(W,{}),(0,X.jsx)(W,{className:`w-full max-w-48`})]}):(0,X.jsx)(`div`,{dangerouslySetInnerHTML:{__html:Ce(he(ge(e?.bio??``,[`a`,`br`])))}}),t?.map(e=>(0,X.jsxs)(`span`,{className:`mt-3 line-clamp-1 flex flex-col text-[1.5rem]`,children:[(0,X.jsx)(`span`,{className:`text-xs font-semibold`,children:e.name}),(0,X.jsx)(`span`,{dangerouslySetInnerHTML:{__html:Ce(e.value)},className:`ap-profile-content truncate`})]},e.name)),!q&&$&&(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`}),$&&(0,X.jsx)(w,{className:`absolute bottom-0 h-auto p-0 text-md`,variant:`link`,onClick:Ae,children:q?`Show less`:`Show all`})]}),(0,X.jsxs)(f,{className:`mt-5`,value:me,variant:`underline`,onValueChange:e=>Ie(e),children:[(0,X.jsxs)(d,{children:[(0,X.jsx)(l,{value:`posts`,children:`Posts`}),O&&(0,X.jsxs)(l,{value:`likes`,children:[`Likes`,(0,X.jsx)(c,{children:s(e?.likedCount||0)})]}),(0,X.jsxs)(l,{value:`following`,children:[`Following`,(0,X.jsx)(c,{children:s(e?.followingCount||0)})]}),(0,X.jsxs)(l,{value:`followers`,children:[`Followers`,(0,X.jsx)(c,{children:s(e?.followerCount||0)})]})]}),(0,X.jsx)(u,{value:`posts`,children:(I||L)&&!R?(0,X.jsxs)(E,{children:[(0,X.jsx)(J,{children:(0,X.jsx)(be,{})}),(0,X.jsxs)(`div`,{className:`mt-2 flex flex-col items-center gap-0.5`,children:[(0,X.jsxs)(h,{children:[e.name,` is blocked`]}),(0,X.jsx)(`p`,{children:`You can view the posts, but it won't unblock the user.`}),(0,X.jsx)(w,{className:`mt-4`,variant:`secondary`,onClick:()=>z(!0),children:`View posts`})]})]}):m}),O&&(0,X.jsx)(u,{value:`likes`,children:g}),(0,X.jsx)(u,{value:`following`,children:y}),(0,X.jsx)(u,{value:`followers`,children:b})]},C.handle||e?.handle||`current-user`)]})]})})})})},Pe=({handle:e})=>{let{postsByAccountQuery:t}=L(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)=>({id:`placeholder-${t}`,object:{}}));return(0,X.jsx)(Ae,{fetchNextPage:r,hasNextPage:i,isFetchingNextPage:a,isLoading:o,noResultsMessage:e?`${e} hasn't posted anything yet`:`You haven't posted anything yet.`,posts:s})},Fe=()=>{let{postsLikedByAccountQuery:e}=g({enabled:!0}),{data:t,fetchNextPage:n,hasNextPage:r,isFetchingNextPage:i,isLoading:a}=e;return(0,X.jsx)(Z,{fetchNextPage:n,hasNextPage:r,isFetchingNextPage:i,isLoading:a,posts:t?.pages.flatMap(e=>e.posts)??Array.from({length:5},(e,t)=>({id:`placeholder-${t}`,object:{}}))})},Ie=({handle:e})=>{let{data:t,fetchNextPage:n,hasNextPage:r,isFetchingNextPage:i,isLoading:a}=B(e===``?`me`:e,`following`);return(0,X.jsx)(ke,{actors:t?.pages.flatMap(e=>`following`in e?e.following:`accounts`in e?e.accounts.map(e=>({actor:{id:e.id,name:e.name,handle:e.handle,icon:{url:e.avatarUrl}},isFollowing:e.isFollowing,blockedByMe:e.blockedByMe,domainBlockedByMe:e.domainBlockedByMe})):[])??[],fetchNextPage:n,hasNextPage:r,isFetchingNextPage:i,isLoading:a,noResultsMessage:`${e||`You`} have no following`})},Le=({handle:e})=>{let{data:t,fetchNextPage:n,hasNextPage:r,isFetchingNextPage:i,isLoading:a}=B(e===``?`me`:e,`followers`);return(0,X.jsx)(ke,{actors:t?.pages.flatMap(e=>`followers`in e?e.followers:`accounts`in e?e.accounts.map(e=>({actor:{id:e.id,name:e.name,handle:e.handle,icon:{url:e.avatarUrl}},isFollowing:e.isFollowing})):[])??[],fetchNextPage:n,hasNextPage:r,isFetchingNextPage:i,isLoading:a,noResultsMessage:`${e||`You`} have no followers yet`})},Re=()=>{let e=a(),{data:t,isLoading:n,error:r,refetch:i}=P(`index`,e.handle||`me`);if((0,Y.useEffect)(()=>{i()},[e.handle,i]),r&&fe(r)&&r.statusCode!==404)return(0,X.jsx)(y,{errorCode:r.code,statusCode:r.statusCode});let o=Object.keys(t?.customFields||{}).map(e=>({name:e,value:t.customFields[e]}))||[],s=(0,X.jsx)(Pe,{handle:e.handle||``}),c=(0,X.jsx)(Fe,{}),l=(0,X.jsx)(Ie,{handle:e.handle||``});return(0,X.jsx)($,{account:t,customFields:o,followersTab:(0,X.jsx)(Le,{handle:e.handle||``}),followingTab:l,isLoadingAccount:n,likesTab:c,postsTab:s})};export{Re as default};