ghost 6.47.0 → 6.48.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 (372) hide show
  1. package/MigratorConfig.js +0 -1
  2. package/bin/create-migration.js +1 -1
  3. package/bin/generate-golden-email.js +0 -1
  4. package/components/tryghost-i18n-0.0.0.tgz +0 -0
  5. package/core/boot.js +13 -7
  6. package/core/built/admin/assets/{PolarAngleAxis-CLluELUg.js → PolarAngleAxis-DufzOBEz.js} +1 -1
  7. package/core/built/admin/assets/{_baseAssignValue-Dz1iqdwD.js → _baseAssignValue-BjUm4QeA.js} +1 -1
  8. package/core/built/admin/assets/{a-large-small-BA74vHPp.js → a-large-small-D0RF_WS9.js} +1 -1
  9. package/core/built/admin/assets/{account-migration-B-NqdKuN.js → account-migration-B7n6ezrZ.js} +1 -1
  10. package/core/built/admin/assets/activitypub/{account-migration-ClmVrAXr.js → account-migration-BJeRnMCl.js} +3 -3
  11. package/core/built/admin/assets/activitypub/activitypub.js +1 -1
  12. package/core/built/admin/assets/activitypub/{at-sign-9F3qd4Nn.js → at-sign-BygVOKdj.js} +2 -2
  13. package/core/built/admin/assets/activitypub/{avatar-flipboard-jBHA13Ej.js → avatar-flipboard-CNcjI8lK.js} +2 -2
  14. package/core/built/admin/assets/activitypub/{bluesky-sharing-1irhvVtF.js → bluesky-sharing-mgBNeRfA.js} +4 -4
  15. package/core/built/admin/assets/activitypub/{copy-DXRvsGiK.js → copy-BMChXIQc.js} +2 -2
  16. package/core/built/admin/assets/activitypub/{deleted-feed-item-67VQJde4.js → deleted-feed-item-D-spb6V1.js} +2 -2
  17. package/core/built/admin/assets/activitypub/{edit-profile-BfpbEj98.js → edit-profile-CDQ3V8-c.js} +4 -4
  18. package/core/built/admin/assets/activitypub/{feed-DUrI7SPC.js → feed-Vqr3WU-V.js} +4 -4
  19. package/core/built/admin/assets/activitypub/{hash-CMtB10PN.js → hash-D7SSXVOg.js} +2 -2
  20. package/core/built/admin/assets/activitypub/{inbox-2xq8SJ7A.js → inbox-BHk5Dw27.js} +2 -2
  21. package/core/built/admin/assets/activitypub/{index-BT97xLpd.js → index-BejkeH-m.js} +2 -2
  22. package/core/built/admin/assets/activitypub/{index-DssHQAjK.js → index-BqL23J-m.js} +32 -32
  23. package/core/built/admin/assets/activitypub/{index-Ba6FXt8y.js → index-CHhvjNuG.js} +6 -6
  24. package/core/built/admin/assets/activitypub/{index-ERtz4Bvy.js → index-CZsNO9hA.js} +5 -5
  25. package/core/built/admin/assets/activitypub/{index-sgY7lLrg.js → index-CaIhRYzz.js} +3 -3
  26. package/core/built/admin/assets/activitypub/{index-D1EWoXrK.js → index-DA2MkQVu.js} +2 -2
  27. package/core/built/admin/assets/activitypub/{index-sudOvKcY.js → index-DHhFcmfu.js} +21 -21
  28. package/core/built/admin/assets/activitypub/{index-Ccighz1t.js → index-sh2bDSls.js} +4 -4
  29. package/core/built/admin/assets/activitypub/{label-KQSsSjmN.js → label-D80yhOIm.js} +2 -2
  30. package/core/built/admin/assets/activitypub/{moderation-B78if-r0.js → moderation-LJNmKBCi.js} +3 -3
  31. package/core/built/admin/assets/activitypub/{note-Bfr7ovn7.js → note-CyjKLcQ-.js} +4 -4
  32. package/core/built/admin/assets/activitypub/{reply-CehesW8Z.js → reply-BiiCFx7G.js} +2 -2
  33. package/core/built/admin/assets/activitypub/{separator-B_Ly_Qq8.js → separator-CY3PMmtI.js} +2 -2
  34. package/core/built/admin/assets/activitypub/{settings-D6R97p7v.js → settings-BQy6Gr7R.js} +3 -3
  35. package/core/built/admin/assets/activitypub/{step-1-Cl1YxgZ1.js → step-1-DCqRwgf3.js} +3 -3
  36. package/core/built/admin/assets/activitypub/{step-2-DDyR--Qe.js → step-2-DQlhehTO.js} +5 -5
  37. package/core/built/admin/assets/activitypub/{step-3-Don8gv0n.js → step-3-DAUCAcxW.js} +7 -7
  38. package/core/built/admin/assets/activitypub/{tabs-DTpfm-wu.js → tabs-B_6UuI7r.js} +3 -3
  39. package/core/built/admin/assets/activitypub/{topic-filter-Oee10885.js → topic-filter--FT1A_dc.js} +2 -2
  40. package/core/built/admin/assets/admin-x-settings/admin-x-settings.js +1 -1
  41. package/core/built/admin/assets/admin-x-settings/{code-editor-view-CGZuiDGx.js → code-editor-view-Bp_sCJR0.js} +2 -2
  42. package/core/built/admin/assets/admin-x-settings/{index-CwEblQZC.js → index-BPXA3pTW.js} +5 -5
  43. package/core/built/admin/assets/admin-x-settings/{index-rr_UntGE.js → index-BS375mg1.js} +3 -3
  44. package/core/built/admin/assets/admin-x-settings/{index-BpM6W2br.js → index-B_PlQoEG.js} +3 -3
  45. package/core/built/admin/assets/admin-x-settings/{index-BGdS5xw4.js → index-BflhAbu2.js} +3 -3
  46. package/core/built/admin/assets/admin-x-settings/{index-DtWUeJhp.js → index-CftMe8fe.js} +3 -3
  47. package/core/built/admin/assets/admin-x-settings/{index-B65inCwj.js → index-DRB7FH6y.js} +2 -2
  48. package/core/built/admin/assets/admin-x-settings/{index-DSX261S9.js → index-DijZ3oAM.js} +2 -2
  49. package/core/built/admin/assets/admin-x-settings/{index-DF6YEs01.js → index-cV0Lof9H.js} +1526 -1500
  50. package/core/built/admin/assets/admin-x-settings/{index-CluZYkUC.js → index-qc4x3vZj.js} +3 -3
  51. package/core/built/admin/assets/admin-x-settings/{modals-Bf4KOU31.js → modals-CkjuEByw.js} +55 -67
  52. package/core/built/admin/assets/{arrow-right-BxP3aeA5.js → arrow-right-BF77Yx73.js} +1 -1
  53. package/core/built/admin/assets/{at-sign-Bf0y-jim.js → at-sign-DhJF3n_V.js} +1 -1
  54. package/core/built/admin/assets/{audience-DHR1WgFK.js → audience-DHPKKayV.js} +1 -1
  55. package/core/built/admin/assets/{automated-emails-DbJbDLib.js → automated-emails-DInKYTEC.js} +1 -1
  56. package/core/built/admin/assets/{automations-aLgTzSsZ.js → automations-DJpeZw9T.js} +1 -1
  57. package/core/built/admin/assets/automations-DpQKN9j0.js +1 -0
  58. package/core/built/admin/assets/{avatar-flipboard-B0F2LMW5.js → avatar-flipboard-yRdmFC6R.js} +1 -1
  59. package/core/built/admin/assets/{bluesky-sharing-DjhtIuyr.js → bluesky-sharing-qSiCERoR.js} +1 -1
  60. package/core/built/admin/assets/{chart-BGwxlD0z.js → chart-CP2N9ZC-.js} +1 -1
  61. package/core/built/admin/assets/{chevron-up-C2FeVzre.js → chevron-up-BQ6fOpFR.js} +1 -1
  62. package/core/built/admin/assets/{chunk.524.31b31f7958dfae110016.js → chunk.524.ad4560630d4d62fbceb5.js} +4 -4
  63. package/core/built/admin/assets/{chunk.582.a855020953886af6e83b.js → chunk.582.fd4878e4e0af31ef86c0.js} +6 -6
  64. package/core/built/admin/assets/{chunk.972.258e6b1dab79b2189f1c.js → chunk.98.69968e0f393d82c2949c.js} +4 -4
  65. package/core/built/admin/assets/{code-editor-view-DzPkm_nJ.js → code-editor-view-CVODiRVJ.js} +1 -1
  66. package/core/built/admin/assets/{comments-DgItXUWN.js → comments-CP-NxopD.js} +1 -1
  67. package/core/built/admin/assets/{content-helpers-BNefU_PE.js → content-helpers-Crzkusiq.js} +1 -1
  68. package/core/built/admin/assets/{copy-DoNNUZlb.js → copy-r1LFsU75.js} +1 -1
  69. package/core/built/admin/assets/{data-list-CO1cZQRU.js → data-list-CzSc7z-2.js} +1 -1
  70. package/core/built/admin/assets/{deleted-feed-item-DC2wSAhv.js → deleted-feed-item-PyEM8FiX.js} +1 -1
  71. package/core/built/admin/assets/{dropzone-BTODLafn.js → dropzone-DI8A9qO6.js} +1 -1
  72. package/core/built/admin/assets/{edit-profile-BMMpmWIZ.js → edit-profile-DlJ64lV7.js} +1 -1
  73. package/core/built/admin/assets/editor-CevNZicQ.js +8 -0
  74. package/core/built/admin/assets/{empty-indicator-Dza0FQlj.js → empty-indicator-Dxg05yWg.js} +1 -1
  75. package/core/built/admin/assets/{en-yf9qAqTu.js → en-D93GVp3o.js} +1 -1
  76. package/core/built/admin/assets/{eye-CAqnnfQF.js → eye-6POPPpTw.js} +1 -1
  77. package/core/built/admin/assets/{feed-BkNsbWiF.js → feed-P_RMYb5x.js} +1 -1
  78. package/core/built/admin/assets/{field-Ddb1ZOqM.js → field-DeNjwWrL.js} +1 -1
  79. package/core/built/admin/assets/{filter-query-core-5Mac92kh.js → filter-query-core-DFs5WSmA.js} +1 -1
  80. package/core/built/admin/assets/{filters-BCb4bgtg.js → filters-C_BSQgb7.js} +1 -1
  81. package/core/built/admin/assets/{gh-chart-C6zkIg8k.js → gh-chart-pNHAbeQn.js} +1 -1
  82. package/core/built/admin/assets/{ghost-5313258fd425ced5db6516acde01ba36.js → ghost-3f5b3569e0beec61266cb74077677fbc.js} +3 -3
  83. package/core/built/admin/assets/{growth-ezUlN8OE.js → growth-B83tVOYO.js} +1 -1
  84. package/core/built/admin/assets/{hash-DE2OmChI.js → hash-BCTATV5W.js} +1 -1
  85. package/core/built/admin/assets/{inbox-OthiHvlV.js → inbox-rE3c5suT.js} +1 -1
  86. package/core/built/admin/assets/{index-BLyzLfyx.js → index-7EiRc5Ay.js} +1 -1
  87. package/core/built/admin/assets/{index-CV5v0eFE.js → index-B5bpZGTI.js} +1 -1
  88. package/core/built/admin/assets/index-BNtzAd7H.css +1 -0
  89. package/core/built/admin/assets/{index-BC1yWeaJ.js → index-BT33w2Io.js} +1 -1
  90. package/core/built/admin/assets/{index-DjffQ3VJ.js → index-BbkXWdhb.js} +1 -1
  91. package/core/built/admin/assets/{index-DH6PA3W6.js → index-BfhSrnrJ.js} +1 -1
  92. package/core/built/admin/assets/{index-CRvK0Iac.js → index-BmR_OUpb.js} +1 -1
  93. package/core/built/admin/assets/{index-CNV7fxKZ.js → index-BuhMgn5c.js} +1 -1
  94. package/core/built/admin/assets/{index-pkixJbdq.js → index-C-075SzJ.js} +34 -34
  95. package/core/built/admin/assets/{index-DJoByVS8.js → index-CB3hJd9E.js} +1 -1
  96. package/core/built/admin/assets/{index-D3bb-MEJ.js → index-CCISLIQd.js} +1 -1
  97. package/core/built/admin/assets/{index-BIEhcKiV.js → index-Cnptpx11.js} +1 -1
  98. package/core/built/admin/assets/{index-DK1cu59e.js → index-CrBRU81r.js} +1 -1
  99. package/core/built/admin/assets/{index-B0_p1-R0.js → index-CscUHFJp.js} +1 -1
  100. package/core/built/admin/assets/{index-Bi5qzf86.js → index-D3ZzfuJt.js} +1 -1
  101. package/core/built/admin/assets/{index-CKPny_6u.js → index-D4wn-U0V.js} +1 -1
  102. package/core/built/admin/assets/{index-YzcsD17L.js → index-DNRlkUeu.js} +1 -1
  103. package/core/built/admin/assets/{index-BoMsDCxD.js → index-D_G6negZ.js} +1 -1
  104. package/core/built/admin/assets/{index-CwsmINtV.js → index-DfxHSK1s.js} +1 -1
  105. package/core/built/admin/assets/{index-X91I8PcS.js → index-Dpc3COTl.js} +1 -1
  106. package/core/built/admin/assets/{index-c1h-EQpd.js → index-UsbnU2jy.js} +1 -1
  107. package/core/built/admin/assets/{index-oKgNVmwC.js → index-VfrJzh5m.js} +1 -1
  108. package/core/built/admin/assets/{index-D5MrQBSe.js → index-fbxc8Dpt.js} +1 -1
  109. package/core/built/admin/assets/{input-group-BOLMrDfJ.js → input-group-BLygwiDK.js} +1 -1
  110. package/core/built/admin/assets/{koenig-lexical-DlzcWUPw.js → koenig-lexical-B9U3sBS5.js} +1 -1
  111. package/core/built/admin/assets/{kpi-card-BlF7JKRC.js → kpi-card-Bmnvvp4X.js} +1 -1
  112. package/core/built/admin/assets/{kpi-card-HDshm3lO.js → kpi-card-CGVtzdgJ.js} +1 -1
  113. package/core/built/admin/assets/{kpi-tabs-Dty6zMSP.js → kpi-tabs-DxbvMkIU.js} +1 -1
  114. package/core/built/admin/assets/{kpis-CFz4r5wW.js → kpis-CQBAGVjP.js} +1 -1
  115. package/core/built/admin/assets/{label-CVzNcbjb.js → label-DpTwHQi_.js} +1 -1
  116. package/core/built/admin/assets/{links-D9dHwDlP.js → links-Bdw25FJF.js} +1 -1
  117. package/core/built/admin/assets/{list-page-shoQED7N.js → list-page-BvTQwP5F.js} +1 -1
  118. package/core/built/admin/assets/{loader-circle-cad701gH.js → loader-circle-3HJkQKWf.js} +1 -1
  119. package/core/built/admin/assets/{mail-DG4PKpZy.js → mail-DvrqP73n.js} +1 -1
  120. package/core/built/admin/assets/{main-layout-BmFla3Se.js → main-layout-BAPpm0bz.js} +1 -1
  121. package/core/built/admin/assets/{members-d19Z6k1C.js → members-CF4CzJSf.js} +1 -1
  122. package/core/built/admin/assets/minus-DJIePlnU.js +1 -0
  123. package/core/built/admin/assets/modals-CVsVi0zu.js +35 -0
  124. package/core/built/admin/assets/{moderation-BWBLnh4h.js → moderation-BX1KH5QL.js} +1 -1
  125. package/core/built/admin/assets/{newsletter-DNY4MroI.js → newsletter-BlKeb58e.js} +1 -1
  126. package/core/built/admin/assets/{newsletters-B10iBPP-.js → newsletters-3In8H0Z5.js} +1 -1
  127. package/core/built/admin/assets/{note-S0b6wjRR.js → note-ybwJCAxm.js} +1 -1
  128. package/core/built/admin/assets/{offers-B-9mZqKd.js → offers-Cl0ZNEMr.js} +1 -1
  129. package/core/built/admin/assets/{onboarding-route-AMFn0X5G.js → onboarding-route-A3ECeMAi.js} +1 -1
  130. package/core/built/admin/assets/{overview-WKadyZRW.js → overview-DrMrfsk-.js} +1 -1
  131. package/core/built/admin/assets/{pagemenu-BofQcFaF.js → pagemenu-O7HbsehH.js} +1 -1
  132. package/core/built/admin/assets/{pencil-LfMcD0vS.js → pencil-CknTbJeE.js} +1 -1
  133. package/core/built/admin/assets/{pin-CayUjL8e.js → pin-BNs-JdQ3.js} +1 -1
  134. package/core/built/admin/assets/{post-analytics-DMHvt3Jl.js → post-analytics-Dk1VloZp.js} +1 -1
  135. package/core/built/admin/assets/{post-analytics-context-10cqioP1.js → post-analytics-context-kPL94Ivz.js} +1 -1
  136. package/core/built/admin/assets/{post-analytics-header-DlICE18K.js → post-analytics-header-CpMOozq-.js} +1 -1
  137. package/core/built/admin/assets/{post-share-modal-Cfwy2UwD.js → post-share-modal-F0dobdhF.js} +1 -1
  138. package/core/built/admin/assets/posts/{alert-dialog-cQK32v9G.js → alert-dialog-NoPLULhG.js} +5 -5
  139. package/core/built/admin/assets/posts/{app-utils-DQ2hixop.js → app-utils-BiM9QO4L.js} +3 -3
  140. package/core/built/admin/assets/posts/{automations-BqkU9-zY.js → automations-BgIAmq9f.js} +3 -3
  141. package/core/built/admin/assets/posts/{automations-CoilKpVH.js → automations-D_XwO405.js} +30 -30
  142. package/core/built/admin/assets/posts/{avatar-BejAO6Rj.js → avatar-BYsYOpmq.js} +5 -5
  143. package/core/built/admin/assets/posts/{badge-BYGRyd2f.js → badge-B54vLono.js} +2 -2
  144. package/core/built/admin/assets/posts/{button-CG2Dpjqy.js → button-DMLfwOQt.js} +3 -3
  145. package/core/built/admin/assets/posts/{check-fsC5BvGC.js → check-D6qDi62T.js} +2 -2
  146. package/core/built/admin/assets/posts/{comments-CsyF5C1S.js → comments-CyYCbvUG.js} +26 -26
  147. package/core/built/admin/assets/posts/{data-list-JslRF2F5.js → data-list-B0DrMm-x.js} +4 -4
  148. package/core/built/admin/assets/posts/{dialog-3KY3A8t5.js → dialog-DtEZpY1q.js} +3 -3
  149. package/core/built/admin/assets/posts/{editor-3HPW_xW4.js → editor-LJHLmUoW.js} +1943 -1943
  150. package/core/built/admin/assets/posts/{ellipsis-BhK5S70U.js → ellipsis-JeIF0Biz.js} +2 -2
  151. package/core/built/admin/assets/posts/{empty-indicator-C9DbE9wZ.js → empty-indicator-dktzN32y.js} +2 -2
  152. package/core/built/admin/assets/posts/{filters-BCBDCnQF.js → filters-D1L-LU_m.js} +10 -10
  153. package/core/built/admin/assets/posts/{get-site-timezone-83C41MGz.js → get-site-timezone-dsyl8nlB.js} +3 -3
  154. package/core/built/admin/assets/posts/{growth-COoL1kMe.js → growth-yX8UB_ce.js} +12 -12
  155. package/core/built/admin/assets/posts/{heading-D3VqNO3z.js → heading-CNte43wH.js} +2 -2
  156. package/core/built/admin/assets/posts/{hooks-5YpJYWOw.js → hooks-BIgv7QBp.js} +2 -2
  157. package/core/built/admin/assets/posts/{index-Dqn5WIFh.js → index-2FO6Vy0r.js} +11 -11
  158. package/core/built/admin/assets/posts/{input-C1qcZBGw.js → input-BycmlCp8.js} +3 -3
  159. package/core/built/admin/assets/posts/{input-surface-C4vUAdbV.js → input-surface-vY3ACaso.js} +2 -2
  160. package/core/built/admin/assets/posts/{koenig-lexical-NZjxFY0X.js → koenig-lexical-Cq8SUcZC.js} +2 -2
  161. package/core/built/admin/assets/posts/{kpis-C2FEXoUT.js → kpis-CAJcU1w0.js} +27 -27
  162. package/core/built/admin/assets/posts/{label-CmJzmJY7.js → label-BmLTflMF.js} +3 -3
  163. package/core/built/admin/assets/posts/{links-nzud7t_t.js → links-BVcmMZmF.js} +4 -4
  164. package/core/built/admin/assets/posts/{list-page-D_rv4TgN.js → list-page-DX2WRn5T.js} +4 -4
  165. package/core/built/admin/assets/posts/{loading-indicator-DAOD6O2b.js → loading-indicator-C6FD4nS6.js} +3 -3
  166. package/core/built/admin/assets/posts/{mail-CtH0gTpq.js → mail-BMyoNUVM.js} +2 -2
  167. package/core/built/admin/assets/posts/{main-layout-VqvCxOXQ.js → main-layout-ClnxdW1Y.js} +2 -2
  168. package/core/built/admin/assets/posts/{message-circle-D4bCjxKS.js → message-circle-DwfHX-p1.js} +2 -2
  169. package/core/built/admin/assets/posts/{newsletter-BfwFyv6d.js → newsletter-Bid5_Bim.js} +19 -19
  170. package/core/built/admin/assets/posts/{overview-DKGum6ro.js → overview-BXti6Wg_.js} +18 -18
  171. package/core/built/admin/assets/posts/{pencil-Cffx-vm3.js → pencil-ChTk8IpW.js} +2 -2
  172. package/core/built/admin/assets/posts/{plus-D2ekwsq0.js → plus-DIKls8C6.js} +2 -2
  173. package/core/built/admin/assets/posts/{popover-DdbdKflP.js → popover-DVZsAT5u.js} +4 -4
  174. package/core/built/admin/assets/posts/{post-analytics-BleJYoNZ.js → post-analytics-DBL_kS0g.js} +6 -6
  175. package/core/built/admin/assets/posts/{post-analytics-context-DT3Avn9Q.js → post-analytics-context-Dr5y5nxd.js} +6 -6
  176. package/core/built/admin/assets/posts/{post-analytics-header-BktlrM_v.js → post-analytics-header-LH2-Jzgp.js} +13 -13
  177. package/core/built/admin/assets/posts/{post-share-modal-G8v3ZuSg.js → post-share-modal-D4DrfNfJ.js} +6 -6
  178. package/core/built/admin/assets/posts/{posts-CdWV_nlm.js → posts-ByxhcCrn.js} +2 -2
  179. package/core/built/admin/assets/posts/posts.js +1 -1
  180. package/core/built/admin/assets/posts/{search-CXP00fG8.js → search-DZR23LP-.js} +2 -2
  181. package/core/built/admin/assets/posts/{settings-DEXxDYc2.js → settings-CWyOKKnK.js} +2 -2
  182. package/core/built/admin/assets/posts/{sheet-CXHmD_eT.js → sheet-CNe7II5c.js} +3 -3
  183. package/core/built/admin/assets/posts/{site-C6DajagV.js → site-H9RAiQVv.js} +2 -2
  184. package/core/built/admin/assets/posts/{skeleton-Bihnkn8q.js → skeleton-Cn6x1x_C.js} +3 -3
  185. package/core/built/admin/assets/posts/{source-icon-C3oQy3UI.js → source-icon-BZOYujd1.js} +4 -4
  186. package/core/built/admin/assets/posts/{stats-DFicPtCX.js → stats-ugHCg8Oe.js} +4 -4
  187. package/core/built/admin/assets/posts/{table-DSJmeU5t.js → table-dG3Q5X95.js} +2 -2
  188. package/core/built/admin/assets/posts/{tabs-oRdVpN8P.js → tabs--EW8uL5B.js} +4 -4
  189. package/core/built/admin/assets/posts/{tags-6v5Qt_05.js → tags-DVdOfiSf.js} +2 -2
  190. package/core/built/admin/assets/posts/{tags-Upnkm0CF.js → tags-i0HJqNYU.js} +16 -16
  191. package/core/built/admin/assets/posts/{tooltip-Ci7pesWi.js → tooltip-ZvsT1Fs9.js} +4 -4
  192. package/core/built/admin/assets/posts/{trash-2-NCYWjRlg.js → trash-2-BT9fEHUL.js} +2 -2
  193. package/core/built/admin/assets/posts/{value-CcwzOh2_.js → value-DoFcsWDk.js} +2 -2
  194. package/core/built/admin/assets/posts/{virtual-list-window-CNahQBXY.js → virtual-list-window-Bt47XODn.js} +3 -3
  195. package/core/built/admin/assets/posts/{web-C3KrPq0T.js → web-BMTRLT-h.js} +20 -20
  196. package/core/built/admin/assets/posts/{zap-k30mZEuO.js → zap-DcIfEzKX.js} +2 -2
  197. package/core/built/admin/assets/{posts-DAfLuxAA.js → posts-DODOCB1E.js} +1 -1
  198. package/core/built/admin/assets/{power-Drkzg1xX.js → power-BZ7BM82m.js} +1 -1
  199. package/core/built/admin/assets/{referrers-TYxTJ2On.js → referrers-xwNb6L-8.js} +1 -1
  200. package/core/built/admin/assets/{repeat-CTM1qAzl.js → repeat-DHMCQMCA.js} +1 -1
  201. package/core/built/admin/assets/{reply-DXN16g7W.js → reply-DoLURZi2.js} +1 -1
  202. package/core/built/admin/assets/{rocket-DLixlWs0.js → rocket-BDH89dZr.js} +1 -1
  203. package/core/built/admin/assets/{select-DbiLEqYb.js → select-oE39QRll.js} +1 -1
  204. package/core/built/admin/assets/{send-B71C_46D.js → send-QgRN_yRy.js} +1 -1
  205. package/core/built/admin/assets/{settings-BBMPA3MP.js → settings-CF4NLxuS.js} +4 -4
  206. package/core/built/admin/assets/{settings-lSFHFrsJ.js → settings-D7e6KLAi.js} +1 -1
  207. package/core/built/admin/assets/{share-modal-CXrYja6o.js → share-modal-BxIh7i7o.js} +1 -1
  208. package/core/built/admin/assets/{sort-button-WYo-9Kge.js → sort-button-CEe_40Pi.js} +1 -1
  209. package/core/built/admin/assets/{source-icon-D6BzjYPP.js → source-icon-CzTNLO6j.js} +1 -1
  210. package/core/built/admin/assets/{sprout-DVfG_qhy.js → sprout-B2fN41p-.js} +1 -1
  211. package/core/built/admin/assets/{square-BbUJwQJi.js → square-CJZsjE-3.js} +1 -1
  212. package/core/built/admin/assets/{stats-CnXALQ4j.js → stats-jTxCK1CB.js} +1 -1
  213. package/core/built/admin/assets/{stats-view-B-yeMUkl.js → stats-view-B4jz69N8.js} +1 -1
  214. package/core/built/admin/assets/{step-1-DUl_hlpV.js → step-1-BovjhDNc.js} +1 -1
  215. package/core/built/admin/assets/{step-2-DjX_A4Ke.js → step-2-ClG40BfX.js} +1 -1
  216. package/core/built/admin/assets/{step-3-CnDCCA8T.js → step-3-ZMSyEHZI.js} +1 -1
  217. package/core/built/admin/assets/{table-AagTvMa9.js → table-B8Pj96or.js} +1 -1
  218. package/core/built/admin/assets/{tabs-IDJWnQD-.js → tabs-BZosOk0o.js} +1 -1
  219. package/core/built/admin/assets/{tags-CXAcIDw-.js → tags-BpWoYBfB.js} +1 -1
  220. package/core/built/admin/assets/{tags-C3lykbgu.js → tags-DZukMyuU.js} +1 -1
  221. package/core/built/admin/assets/{textarea-Cc3nUXep.js → textarea-BtnzsOk7.js} +1 -1
  222. package/core/built/admin/assets/{thumbs-down-SsjC2lMD.js → thumbs-down-CZTzyz7D.js} +1 -1
  223. package/core/built/admin/assets/{tiers-J8AeZmRd.js → tiers-Do7zBqAk.js} +1 -1
  224. package/core/built/admin/assets/{toggle-group-BzD8yimX.js → toggle-group-abk9FYXi.js} +1 -1
  225. package/core/built/admin/assets/{topic-filter-CA_L6ehz.js → topic-filter-CdMvjkmc.js} +1 -1
  226. package/core/built/admin/assets/{trash-BKhRqxsX.js → trash-DNXRsBf0.js} +1 -1
  227. package/core/built/admin/assets/{underline-_HIgX6e1.js → underline-HXWuVCAi.js} +1 -1
  228. package/core/built/admin/assets/{undo-2-ClkkOS0O.js → undo-2-C2ntNJKC.js} +1 -1
  229. package/core/built/admin/assets/{upload-DEPHbyvo.js → upload-D52l7HIb.js} +1 -1
  230. package/core/built/admin/assets/{use-growth-stats-BM2qWt0C.js → use-growth-stats-Dgs0UxDT.js} +1 -1
  231. package/core/built/admin/assets/{use-simple-pagination-zyklfekn.js → use-simple-pagination-Cj2rVggA.js} +1 -1
  232. package/core/built/admin/assets/{user-round-check-DoaGU2hC.js → user-round-check-C0GdT99c.js} +1 -1
  233. package/core/built/admin/assets/{user-round-x-CwEKNuU6.js → user-round-x-CVCvxuUG.js} +1 -1
  234. package/core/built/admin/assets/{virtual-list-window-C0Cv0gUC.js → virtual-list-window-mdQS2bt_.js} +1 -1
  235. package/core/built/admin/assets/{wallet-cards-BjdG5glh.js → wallet-cards-CtLF01jQ.js} +1 -1
  236. package/core/built/admin/assets/{web-BZNnanCT.js → web-DTib8_n8.js} +1 -1
  237. package/core/built/admin/index.html +6 -6
  238. package/core/frontend/helpers/ghost_foot.js +12 -2
  239. package/core/frontend/helpers/prev_post.js +1 -1
  240. package/core/frontend/helpers/tpl/gift-toast.hbs +130 -0
  241. package/core/frontend/services/proxy.js +9 -0
  242. package/core/frontend/services/routing/controllers/entry/canonical-url.js +15 -0
  243. package/core/frontend/services/routing/controllers/entry/canonical-url.ts +14 -0
  244. package/core/frontend/services/routing/controllers/entry/gift-links.js +82 -0
  245. package/core/frontend/services/routing/controllers/entry/gift-links.ts +92 -0
  246. package/core/frontend/services/routing/controllers/entry/markdown.js +62 -0
  247. package/core/frontend/services/routing/controllers/entry/markdown.ts +66 -0
  248. package/core/frontend/services/routing/controllers/entry.js +96 -105
  249. package/core/frontend/services/routing/controllers/entry.ts +97 -0
  250. package/core/frontend/services/routing/controllers/index.js +1 -1
  251. package/core/frontend/web/middleware/frontend-caching.js +9 -0
  252. package/core/server/adapters/cache/Redis.js +0 -1
  253. package/core/server/adapters/redirects/RedirectsStoreBase.d.ts +0 -4
  254. package/core/server/adapters/scheduling/scheduling-default.js +8 -1
  255. package/core/server/api/endpoints/gift-links.js +23 -16
  256. package/core/server/api/endpoints/gift-links.ts +25 -17
  257. package/core/server/api/endpoints/index.js +0 -1
  258. package/core/server/api/endpoints/previews.js +3 -24
  259. package/core/server/api/endpoints/utils/serializers/output/gift-links.js +4 -4
  260. package/core/server/api/endpoints/utils/serializers/output/gift-links.ts +4 -4
  261. package/core/server/api/endpoints/utils/serializers/output/index.js +0 -1
  262. package/core/server/api/endpoints/utils/validators/input/automation_email_previews.js +8 -9
  263. package/core/server/api/endpoints/utils/validators/input/index.js +0 -1
  264. package/core/server/data/migrations/versions/6.48/2026-06-23-00-00-00-drop-gift-links-revoked-at.js +6 -0
  265. package/core/server/data/migrations/versions/6.48/2026-06-23-00-00-01-rename-gift-links-revoke-all-permission-to-remove-all.js +37 -0
  266. package/core/server/data/migrations/versions/6.48/2026-06-24-00-00-00-drop-gift-links-redemption-columns.js +10 -0
  267. package/core/server/data/schema/fixtures/fixtures.json +2 -2
  268. package/core/server/data/schema/schema.js +1 -4
  269. package/core/server/data/seeders/data-generator.js +4 -1
  270. package/core/server/data/seeders/importers/members-login-events-importer.js +0 -1
  271. package/core/server/data/seeders/importers/members-newsletters-importer.js +0 -1
  272. package/core/server/data/seeders/importers/members-paid-subscription-events-importer.js +0 -1
  273. package/core/server/data/seeders/importers/members-status-events-importer.js +0 -1
  274. package/core/server/data/seeders/importers/members-stripe-customers-importer.js +0 -1
  275. package/core/server/data/seeders/importers/members-stripe-customers-subscriptions-importer.js +0 -1
  276. package/core/server/data/seeders/importers/members-subscribe-events-importer.js +0 -1
  277. package/core/server/data/seeders/importers/members-subscription-created-events-importer.js +0 -1
  278. package/core/server/lib/lexical.js +62 -36
  279. package/core/server/lib/post-revisions.js +0 -2
  280. package/core/server/lib/post-revisions.ts +0 -3
  281. package/core/server/models/index.js +0 -3
  282. package/core/server/services/auth/reset-authentication.js +0 -2
  283. package/core/server/services/auth/reset-authentication.ts +0 -3
  284. package/core/server/services/auth/session/index.js +0 -1
  285. package/core/server/services/automations/automations-api.js +59 -17
  286. package/core/server/services/automations/automations-api.ts +69 -16
  287. package/core/server/services/automations/database-automations-repository.js +58 -3
  288. package/core/server/services/automations/database-automations-repository.ts +70 -3
  289. package/core/server/services/automations/stale-lock-cutoff.js +7 -0
  290. package/core/server/services/automations/stale-lock-cutoff.ts +5 -0
  291. package/core/server/services/email-address/email-address-parser.js.d.ts +0 -1
  292. package/core/server/services/email-service/batch-sending-service.js +99 -26
  293. package/core/server/services/email-service/email-service-wrapper.js +7 -2
  294. package/core/server/services/email-service/email-service.js +146 -4
  295. package/core/server/services/gift-links/database.js +0 -3
  296. package/core/server/services/gift-links/database.ts +1 -4
  297. package/core/server/services/gift-links/index.js +2 -2
  298. package/core/server/services/gift-links/index.ts +4 -2
  299. package/core/server/services/gift-links/models.js +0 -2
  300. package/core/server/services/gift-links/models.ts +0 -2
  301. package/core/server/services/gift-links/queries.js +2 -2
  302. package/core/server/services/gift-links/queries.ts +2 -2
  303. package/core/server/services/gift-links/serializers.js +0 -2
  304. package/core/server/services/gift-links/serializers.ts +0 -2
  305. package/core/server/services/gift-links/service.js +54 -35
  306. package/core/server/services/gift-links/service.ts +70 -35
  307. package/core/server/services/gifts/gift-reminder-scheduler.js +0 -2
  308. package/core/server/services/gifts/gift-reminder-scheduler.ts +0 -2
  309. package/core/server/services/indexnow.js +8 -1
  310. package/core/server/services/internal-keys/index.js +0 -1
  311. package/core/server/services/internal-keys/index.ts +0 -2
  312. package/core/server/services/lib/dynamic-redirect-manager.d.ts +0 -1
  313. package/core/server/services/lib/in-memory-repository.js +0 -1
  314. package/core/server/services/lib/in-memory-repository.ts +0 -2
  315. package/core/server/services/members/api.js +0 -3
  316. package/core/server/services/members/create-paid-member-shim.js +31 -0
  317. package/core/server/services/members/create-paid-member-shim.ts +31 -0
  318. package/core/server/services/members/emails/signin.js +0 -1
  319. package/core/server/services/members/members-api/members-api.js +0 -2
  320. package/core/server/services/members/members-api/repositories/member-repository.js +0 -3
  321. package/core/server/services/members/service.js +4 -0
  322. package/core/server/services/post-scheduling/index.js +0 -2
  323. package/core/server/services/post-scheduling/index.ts +0 -2
  324. package/core/server/services/post-scheduling/post-scheduling.js +0 -5
  325. package/core/server/services/post-scheduling/post-scheduling.ts +0 -5
  326. package/core/server/services/recommendations/service/bookshelf-repository.js +0 -1
  327. package/core/server/services/recommendations/service/bookshelf-repository.ts +0 -4
  328. package/core/server/services/recommendations/service/incoming-recommendation-service.js +0 -1
  329. package/core/server/services/recommendations/service/incoming-recommendation-service.ts +0 -1
  330. package/core/server/services/recommendations/service/recommendation-controller.js +0 -1
  331. package/core/server/services/recommendations/service/recommendation-controller.ts +0 -1
  332. package/core/server/services/recommendations/service/recommendation-metadata-service.js +0 -1
  333. package/core/server/services/recommendations/service/recommendation-metadata-service.ts +0 -1
  334. package/core/server/services/recommendations/service/recommendation.js +0 -1
  335. package/core/server/services/recommendations/service/recommendation.ts +0 -1
  336. package/core/server/services/remote-flags/index.js +0 -1
  337. package/core/server/services/remote-flags/index.ts +0 -1
  338. package/core/server/services/slack.js +5 -1
  339. package/core/server/services/update-check/index.js +0 -1
  340. package/core/server/services/url/lazy-find-resource.js +0 -1
  341. package/core/server/services/url/lazy-find-resource.ts +0 -2
  342. package/core/server/services/url/lazy-url-service.js +0 -1
  343. package/core/server/services/url/lazy-url-service.ts +0 -2
  344. package/core/server/services/url/permalink-matcher.js +0 -1
  345. package/core/server/services/url/permalink-matcher.ts +0 -2
  346. package/core/server/services/url/router-filter.js +0 -2
  347. package/core/server/services/url/router-filter.ts +0 -2
  348. package/core/server/services/url/url-service-facade.js +0 -1
  349. package/core/server/services/url/url-service-facade.ts +0 -2
  350. package/core/server/services/verification/verification-webhook-service.js +0 -1
  351. package/core/server/services/verification/verification-webhook-service.ts +0 -1
  352. package/core/server/web/api/endpoints/admin/routes.js +7 -7
  353. package/core/shared/events-ts/post-deleted-event.js +0 -2
  354. package/core/shared/events-ts/post-deleted-event.ts +0 -2
  355. package/core/shared/labs.js +0 -1
  356. package/package.json +8 -16
  357. package/pnpm-lock.yaml +162 -113
  358. package/core/built/admin/assets/automations-BthXBzzq.js +0 -1
  359. package/core/built/admin/assets/editor-91xrI2A3.js +0 -8
  360. package/core/built/admin/assets/index-BYb09f-7.css +0 -1
  361. package/core/built/admin/assets/minus-DmrVsJ-z.js +0 -1
  362. package/core/built/admin/assets/modals-dnqxCS3l.js +0 -35
  363. package/core/server/models/outbox.js +0 -24
  364. package/core/server/services/outbox/events/start-outbox-processing-event.js +0 -22
  365. package/core/server/services/outbox/handlers/member-created.js +0 -85
  366. package/core/server/services/outbox/index.js +0 -49
  367. package/core/server/services/outbox/jobs/index.js +0 -30
  368. package/core/server/services/outbox/jobs/lib/constants.js +0 -17
  369. package/core/server/services/outbox/jobs/lib/process-entries.js +0 -117
  370. package/core/server/services/outbox/jobs/lib/process-outbox.js +0 -96
  371. package/core/server/services/outbox/jobs/outbox-job.js +0 -36
  372. package/types/ghost-storage-base.d.ts +0 -22
@@ -1 +1 @@
1
- import{ed as x,d$ as e,K as We,cJ as N,d2 as D,Q as Ge,at as Ye,ch as Ce,eN as Je,cp as Xe,J as b,M as Ze,cQ as es,cT as q,cW as K,c7 as Y,ca as J,c8 as X,df as L,z as fe,cx as ss,_ as te,a1 as ae,a4 as re,a5 as ne,a2 as ts,a3 as ie,eK as as,f2 as rs,f8 as ns,a8 as is,af as ls,ag as os,aa as cs,ac as E,ak as ds,a$ as ms,dc as T,w as _,db as F,aU as P,aD as ye,fF as z,aS as le,bQ as us,bR as xs,bT as hs,bU as ps,bM as fs,b0 as Z,c9 as js,eO as gs}from"./index-pkixJbdq.js";import{h as bs,i as vs}from"./filters-BCb4bgtg.js";import{h as Ns,B as Cs,t as G,x as ys,b as ws,D as ks,g as _s,j as Ps,n as Ss,k as Ts,f as Ls,e as Rs,R as Ds,a as Es,d as Fs,y as Ms,z as zs,r as we,o as Os,u as $s,w as Bs,s as Is,i as Us,m as As,F as Hs}from"./filter-query-core-5Mac92kh.js";import{C as Qs,a as Vs,F as qs}from"./loader-circle-cad701gH.js";import{F as oe,a as Ks,M as ke,D as ce,P as ee,b as _e,E as Pe}from"./pin-CayUjL8e.js";import{C as Ws}from"./chevron-up-C2FeVzre.js";import{C as Se,a as Gs}from"./index-DH6PA3W6.js";import{L as Ys}from"./label-CVzNcbjb.js";import{T as Js,b as Xs,c as je,a as ge}from"./tabs-IDJWnQD-.js";import{a as Te,T as Le}from"./thumbs-down-SsjC2lMD.js";import{R as Zs}from"./reply-DXN16g7W.js";import{E as Re}from"./eye-CAqnnfQF.js";import{E as se}from"./empty-indicator-Dza0FQlj.js";import{a as et,u as st,L as tt}from"./virtual-list-window-C0Cv0gUC.js";import{M as De}from"./main-layout-BmFla3Se.js";import{L as M,P as k}from"./list-page-shoQED7N.js";import{e as at}from"./nql-X2E2VBtR.js";import{g as rt}from"./get-site-timezone-BDBAcjmq.js";import"./posts-DAfLuxAA.js";import"./index-X91I8PcS.js";import"./typeof-QjJsDpFa.js";const Ee=x.forwardRef(({className:s,...t},a)=>e.jsx(Se,{ref:a,className:N("grid place-content-center peer h-4 w-4 shrink-0 rounded-xs border border-primary shadow focus-visible:outline-hidden focus-visible:ring-1 focus-visible:ring-focus-ring disabled:cursor-not-allowed disabled:opacity-50 data-[state=checked]:bg-primary data-[state=checked]:text-primary-foreground",s),...t,children:e.jsx(Gs,{className:N("grid place-content-center text-current"),children:e.jsx(We,{className:"size-4"})})}));Ee.displayName=Se.displayName;const nt={parse(s,t){const a=Ps(s);return!a||a.field!=="count.reports"?null:a.operator==="$eq"&&a.value===0?{field:t.key,operator:"is",values:["false"]}:a.operator==="$gt"&&a.value===0?{field:t.key,operator:"is",values:["true"]}:null},serialize(s){const t=s.values[0];return s.operator!=="is"?null:t==="true"?["count.reports:>0"]:t==="false"?["count.reports:0"]:null}},B=Ns({status:{operators:["is"],ui:{label:"Status",type:"select",searchable:!1,hideOperatorSelect:!0},options:[{value:"published",label:"Published"},{value:"hidden",label:"Hidden"}],codec:G()},created_at:Cs({operators:ks,ui:{label:"Date",defaultOperator:ws,type:"date"},codec:_s()}),body:{operators:["contains","does-not-contain"],parseKeys:["html"],ui:{label:"Text",type:"text",placeholder:"Search comment text...",defaultOperator:"contains",className:"w-full max-w-48",popoverContentClassName:"w-full max-w-48"},codec:ys({field:"html"})},post:{operators:["is","is-not"],parseKeys:["post_id"],ui:{label:"Post",type:"select",searchable:!0,className:"w-full max-w-80",popoverContentClassName:"w-full max-w-[calc(100vw-32px)] max-w-80"},codec:G({field:"post_id"})},author:{operators:["is","is-not"],parseKeys:["member_id"],ui:{label:"Author",type:"select",searchable:!0,className:"w-80",popoverContentClassName:"w-80"},codec:G({field:"member_id"})},reported:{operators:["is"],parseKeys:["count.reports"],ui:{label:"Reported",type:"select",searchable:!1,hideOperatorSelect:!0},options:[{value:"true",label:"Yes"},{value:"false",label:"No"}],codec:nt}}),it=["author","post","body","status","reported","created_at"],lt={...Es,...Ds};function ot(s){switch(s){case"author":return D.createElement(Ce,{className:"size-4"});case"post":return D.createElement(Ye,{className:"size-4"});case"body":return D.createElement(Ks,{className:"size-4"});case"status":return D.createElement(Ge,{className:"size-4"});case"reported":return D.createElement(oe,{className:"size-4"});case"created_at":return D.createElement(Qs,{className:"size-4"});default:return}}function ct({postValueSource:s,memberValueSource:t,siteTimezone:a="UTC"}){return x.useMemo(()=>{const r=Ss(a);return it.map(n=>{const l=B[n],i=n==="created_at"?{defaultValue:r,...Ts(l)?{customRenderer:Ls(r)}:{}}:{};return{key:n,...l.ui,icon:ot(n),operators:Rs(l.operators,{labels:lt}),..."options"in l&&l.options?{options:l.options}:{},...i,...n==="author"?{valueSource:t}:{},...n==="post"?{valueSource:s}:{}}})},[t,s,a])}function dt(s){return{value:s.id,label:s.name||"Unknown name",detail:s.email??"(Unknown email)"}}const mt=Fs({id:"posts.members.remote",buildBrowseSearchParams:s=>({limit:"100",order:"created_at DESC",...s?{search:s}:{}}),getMissingSelectedOption:s=>({value:s,label:`ID: ${s}`}),selectItems:s=>s?.members,useQuery:({enabled:s,searchParams:t})=>Je({enabled:s,keepPreviousData:!0,searchParams:t}),toOption:dt});function ut(){return mt()}const be=({filters:s,siteTimezone:t,onFiltersChange:a})=>{const r=Ms(),n=ut(),l=ct({memberValueSource:n,postValueSource:r,siteTimezone:t}),i=s.length>0;return e.jsx(bs,{addButtonIcon:i?e.jsx(Vs,{}):e.jsx(qs,{}),addButtonText:i?"Add filter":"Filter",allowMultiple:!1,className:`[&>button]:order-last ${i?"[&>button]:border-none":"w-auto"}`,clearButtonClassName:"font-normal text-muted-foreground",clearButtonIcon:e.jsx(Xe,{}),clearButtonText:"Clear",fields:l,filters:s,keyboardShortcut:"f",popoverAlign:i?"start":"end",showClearButton:i,showSearchInput:!1,onChange:a})};function xt({onClick:s,expanded:t}){return e.jsxs(b,{className:"shrink-0 gap-0.5 self-start p-0 text-base hover:bg-transparent",variant:"ghost",onClick:s,children:[t?"Show less":"Show more",t?e.jsx(Ws,{}):e.jsx(Ze,{})]})}function Fe({item:s}){const t=x.useRef(null),[a,r]=x.useState(!1),[n,l]=x.useState(!1);return x.useEffect(()=>{if(n)return;const i=()=>{t.current&&r(t.current.scrollHeight>t.current.clientHeight)};return i(),window.addEventListener("resize",i),()=>window.removeEventListener("resize",i)},[s.html,n]),e.jsx("div",{className:"mt-2 flex flex-col gap-2",children:e.jsxs("div",{className:`flex max-w-full flex-col items-start ${s.status==="hidden"&&"opacity-50"}`,children:[e.jsx("div",{dangerouslySetInnerHTML:{__html:s.html||""},ref:t,className:N("prose flex-1 text-base max-w-[80ch] balance leading-[1.5em] [&_*]:leading-[1.5em] [&_*]:text-base [&_*]:font-normal [&_blockquote]:border-l-[3px] [&_blockquote]:border-foreground [&_blockquote]:p-0 [&_blockquote]:pl-3 [&_blockquote_p]:mt-0 [&_a]:underline",n?"-mb-1 [&_p]:mb-[0.85em]":"line-clamp-2 [&_p]:m-0 [&_blockquote+p]:mt-1 mb-1")}),a&&e.jsx(xt,{expanded:n,onClick:()=>l(!n)})]})})}const O="CommentsResponseType",Me="count.dislikes",de=s=>["member","post","count.replies","count.direct_replies","count.likes",...s?[Me]:[],"count.reports","parent","in_reply_to"].join(","),ht=s=>["member","post","count.direct_replies","count.likes",...s?[Me]:[],"count.reports","parent","in_reply_to"].join(","),pt=es({dataType:O,path:"/comments/",defaultNextPageParams:(s,t)=>s.meta?.pagination.next?{...t,page:(s.meta?.pagination.next||1).toString()}:void 0,returnData:s=>{const{pages:t}=s,a=t.flatMap(n=>n.comments),r=t[t.length-1].meta;return{comments:a,meta:r,isEnd:r?r.pagination.pages===r.pagination.page:!0}}}),ze=s=>pt({...s,searchParams:{limit:"100",order:"created_at desc",include:"member,post,parent",...s?.searchParams}}),Oe=q({method:"PUT",path:({id:s})=>`/comments/${s}/`,body:({id:s})=>({comments:[{id:s,status:"hidden"}]}),invalidateQueries:{dataType:O}}),$e=q({method:"PUT",path:({id:s})=>`/comments/${s}/`,body:({id:s})=>({comments:[{id:s,status:"published"}]}),invalidateQueries:{dataType:O}}),ft=q({method:"PUT",path:({id:s})=>`/comments/${s}/`,body:({id:s})=>({comments:[{id:s,pinned:!0}]}),invalidateQueries:{dataType:O}}),me=q({method:"PUT",path:({id:s})=>`/comments/${s}/`,body:({id:s})=>({comments:[{id:s,pinned:!1}]}),invalidateQueries:{dataType:O}}),jt=K({dataType:O,path:s=>`/comments/${s}/`,defaultSearchParams:{include:de(!1)}}),gt=(s,t)=>{const{dislikesEnabled:a=!1,searchParams:r,...n}=t||{};return jt(s,{...n,searchParams:{include:de(a),...r}})},bt=K({dataType:"CommentReportsResponseType",path:s=>`/comments/${s}/reports/`}),vt=(s,t)=>bt(s,{...t}),Nt=K({dataType:"CommentLikesResponseType",path:s=>`/comments/${s}/likes/`,defaultSearchParams:{include:"member",limit:"100",order:"created_at desc"}}),Ct=(s,t)=>Nt(s,{...t}),yt=K({dataType:"CommentDislikesResponseType",path:s=>`/comments/${s}/dislikes/`,defaultSearchParams:{include:"member",limit:"100",order:"created_at desc"}}),wt=(s,t)=>yt(s,{...t}),kt=(s,t)=>{const{dislikesEnabled:a=!1,...r}=t||{};return ze({...r,searchParams:{filter:`(parent_id:${s}+in_reply_to_id:null),in_reply_to_id:${s}`,order:"created_at asc",include:ht(a),limit:"100"}})};function _t(s){const t=new Date(s);return new Intl.DateTimeFormat("en-US",{month:"short",day:"numeric",year:"numeric",hour:"numeric",minute:"numeric"}).format(t).replace(/(\d+),(\s+\d{4})/,"$1$2")}const Pt=N(ss({variant:"warning"}),"gap-1 hover:bg-state-warning/30");function Be({memberName:s,memberId:t,createdAt:a,isHidden:r,canComment:n,isPinned:l,onAuthorClick:i,postTitle:c,onPostClick:u,onUnpinClick:h,className:p}){const j=d=>{d.stopPropagation(),h?.()};return e.jsxs("div",{className:N("flex items-center gap-2",p),children:[e.jsxs("div",{className:N("flex min-w-0 items-center gap-x-1",r&&"opacity-50"),children:[e.jsx("div",{className:"whitespace-nowrap",children:t&&i?e.jsx(b,{className:"flex h-auto items-center gap-1.5 truncate p-0 text-md font-semibold text-primary hover:opacity-70",variant:"link",onClick:i,children:s||"Unknown"}):e.jsx("span",{className:"block truncate font-semibold",children:s||"Unknown"})}),n===!1&&e.jsxs(Y,{children:[e.jsx(J,{asChild:!0,children:e.jsx("span",{"data-testid":"commenting-disabled-indicator",children:e.jsx(ke,{className:"size-3.5 text-muted-foreground"})})}),e.jsx(X,{children:"Comments disabled"})]}),e.jsx(ce,{className:"shrink-0 text-muted-foreground/50",size:16}),e.jsx("div",{className:"shrink-0 whitespace-nowrap",children:a&&e.jsxs(Y,{children:[e.jsx(J,{asChild:!0,children:e.jsx("span",{className:"cursor-default text-sm text-muted-foreground",children:L(a)})}),e.jsx(X,{children:_t(a)})]})}),c&&e.jsxs(e.Fragment,{children:[e.jsx("div",{className:"shrink-0 text-muted-foreground",children:"on"}),e.jsx("div",{className:"min-w-0 truncate",children:u?e.jsx(b,{className:"block h-auto w-full cursor-pointer truncate p-0 text-left font-medium text-gray-800 hover:opacity-70 dark:text-gray-400",variant:"link",onClick:u,children:c}):e.jsx("span",{className:"font-medium text-gray-800 dark:text-gray-400",children:c})})]})]}),r&&e.jsx(fe,{variant:"secondary",children:"Hidden"}),l&&(h?e.jsxs("button",{"aria-label":"Unpin comment",className:N("group",Pt),type:"button",onClick:j,children:[e.jsxs("span",{className:"grid size-3 shrink-0",children:[e.jsx(ee,{className:"col-start-1 row-start-1 size-3 group-hover:opacity-0 group-focus-visible:opacity-0"}),e.jsx(_e,{className:"col-start-1 row-start-1 size-3 opacity-0 group-hover:opacity-100 group-focus-visible:opacity-100"})]}),e.jsxs("span",{className:"grid justify-items-start text-left",children:[e.jsx("span",{className:"col-start-1 row-start-1 group-hover:opacity-0 group-focus-visible:opacity-0",children:"Pinned"}),e.jsx("span",{className:"col-start-1 row-start-1 opacity-0 group-hover:opacity-100 group-focus-visible:opacity-100",children:"Unpin"})]})]}):e.jsxs(fe,{className:"gap-1",variant:"warning",children:[e.jsx(ee,{className:"size-3"}),"Pinned"]}))]})}function St({open:s,memberName:t,onOpenChange:a,onConfirm:r}){const[n,l]=x.useState(!1),i=u=>{u||l(!1),a(u)},c=()=>{r(n),l(!1)};return e.jsx(te,{open:s,onOpenChange:i,children:e.jsxs(ae,{className:"gap-5",children:[e.jsxs(re,{children:[e.jsx(ne,{children:"Disable comments"}),e.jsxs(ts,{children:[t||"This member"," won't be able to comment in the future. You can re-enable commenting anytime."]})]}),e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx(Ee,{checked:n,id:"hide-comments",onCheckedChange:u=>l(u===!0)}),e.jsx(Ys,{htmlFor:"hide-comments",children:"Hide all previous comments"})]}),e.jsxs(ie,{children:[e.jsx(b,{variant:"outline",onClick:()=>i(!1),children:"Cancel"}),e.jsx(b,{onClick:c,children:"Disable comments"})]})]})})}const ue=()=>{const{data:s}=as();return s?.config?.labs?.commentsPinning===!0};function Ie({comment:s}){const{mutate:t}=rs(),{mutate:a}=ns(),{mutate:r}=ft(),{mutate:n}=me(),[l,i]=x.useState(!1),c=ue(),{id:u,post:h,member:p}=s,j=h?.url,d=p?.id,f=p?.can_comment,g=c&&!s.parent_id&&s.status!=="deleted",o=S=>{d&&(t({id:d,reason:`Disabled from comment ${u}`,hideComments:S}),i(!1))},v=()=>{d&&a({id:d})};return e.jsxs(e.Fragment,{children:[e.jsxs(is,{children:[e.jsx(ls,{asChild:!0,children:e.jsx(b,{className:"relative z-10 text-gray-800 hover:bg-secondary [&_svg]:size-4",size:"sm",variant:"ghost",children:e.jsx(os,{})})}),e.jsxs(cs,{align:"start",children:[j&&e.jsx(E,{asChild:!0,children:e.jsxs("a",{href:`${j}#ghost-comments-${u}`,rel:"noopener noreferrer",target:"_blank",children:[e.jsx(ds,{className:"size-4"}),"View on post"]})}),d&&e.jsx(E,{asChild:!0,children:e.jsxs("a",{href:`#/members/${d}`,children:[e.jsx(Ce,{className:"size-4"}),"View member"]})}),g&&(s.pinned?e.jsxs(E,{onClick:()=>n({id:u}),children:[e.jsx(_e,{className:"size-4"}),"Unpin comment"]}):e.jsxs(E,{onClick:()=>r({id:u}),children:[e.jsx(ee,{className:"size-4"}),"Pin comment"]})),d&&(f!==!1?e.jsxs(E,{onClick:()=>i(!0),children:[e.jsx(ke,{className:"size-4"}),"Disable commenting"]}):e.jsxs(E,{onClick:v,children:[e.jsx(ms,{className:"size-4"}),"Enable commenting"]}))]})]}),e.jsx(St,{memberName:p?.name,open:l,onConfirm:o,onOpenChange:i})]})}function Tt({comment:s,dislikesEnabled:t,open:a,defaultTab:r="likes",onOpenChange:n}){const{data:l,isLoading:i}=Ct(s.id,{enabled:a}),{data:c,isLoading:u}=wt(s.id,{enabled:a&&t}),h=l?.comment_likes??[],p=t?c?.comment_dislikes??[]:[],j=s.count?.likes??0,d=t?s.count?.dislikes??0:0,f=Math.max(0,j-h.length),g=Math.max(0,d-p.length);return e.jsx(te,{open:a,onOpenChange:n,children:e.jsxs(ae,{"aria-describedby":void 0,children:[e.jsx(re,{children:e.jsx(ne,{children:t?e.jsxs(e.Fragment,{children:[T(j)," ",j===1?"like":"likes"," and ",T(d)," ",d===1?"dislike":"dislikes"]}):e.jsxs(e.Fragment,{children:[T(j)," ",j===1?"like":"likes"]})})}),e.jsx("div",{className:"overflow-hidden rounded-md border p-3",children:e.jsxs("div",{className:"flex min-w-0 items-start gap-3",children:[e.jsx(_,{className:"shrink-0",email:s.member?.email,name:s.member?.name,src:s.member?.avatar_image}),e.jsxs("div",{className:"flex min-w-0 flex-col overflow-hidden",children:[e.jsxs("div",{className:"flex min-w-0 items-center gap-1 text-sm",children:[e.jsx("span",{className:"shrink-0 font-semibold",children:s.member?F(s.member):"Deleted member"}),e.jsx(ce,{className:"shrink-0 text-muted-foreground/50",size:16}),e.jsx("span",{className:"shrink-0 text-muted-foreground",children:s.created_at&&L(s.created_at)}),e.jsx("span",{className:"shrink-0 text-muted-foreground",children:"on"}),e.jsx("span",{className:"min-w-0 truncate font-medium text-gray-800 dark:text-gray-400",children:s.post?.title||"Unknown post"})]}),e.jsx("div",{dangerouslySetInnerHTML:{__html:s.html||""},className:"prose mt-2 line-clamp-2 text-sm [&_*]:text-sm [&_*]:leading-[1.5em] [&_p]:m-0"})]})]})}),t?e.jsxs(Js,{defaultValue:r,variant:"segmented",children:[e.jsxs(Xs,{className:"grid w-full grid-cols-2",children:[e.jsx(je,{value:"likes",children:"Likes"}),e.jsx(je,{value:"dislikes",children:"Dislikes"})]}),e.jsx(ge,{className:"mt-4",value:"likes",children:e.jsx("div",{className:"-mx-1 max-h-64 overflow-y-auto px-1",children:i?e.jsx("div",{className:"flex justify-center py-4",children:e.jsx(P,{size:"md"})}):h.length===0?e.jsx("div",{className:"py-4 text-center text-sm text-muted-foreground",children:"No likes yet"}):e.jsxs("div",{className:"flex flex-col gap-3 pb-1",children:[h.map(o=>e.jsxs("div",{className:"flex items-center justify-between gap-3",children:[e.jsxs("div",{className:"flex items-center gap-3",children:[e.jsxs("div",{className:"relative shrink-0",children:[e.jsx(_,{email:o.member?.email,name:o.member?.name,src:o.member?.avatar_image}),e.jsx("div",{className:"absolute -right-0.5 -bottom-0.5 flex size-4 items-center justify-center rounded-full bg-gray-500 text-white",children:e.jsx(Te,{className:"size-2.5",fill:"currentColor"})})]}),e.jsx("span",{className:"font-medium",children:o.member?F(o.member):"Deleted member"})]}),e.jsx("span",{className:"shrink-0 text-sm text-muted-foreground",children:L(o.created_at)})]},o.id)),f>0&&e.jsxs("div",{className:"pt-1 text-center text-sm text-muted-foreground",children:["and ",T(f)," more"]})]})})}),e.jsx(ge,{className:"mt-4",value:"dislikes",children:e.jsx("div",{className:"-mx-1 max-h-64 overflow-y-auto px-1",children:u?e.jsx("div",{className:"flex justify-center py-4",children:e.jsx(P,{size:"md"})}):p.length===0?e.jsx("div",{className:"py-4 text-center text-sm text-muted-foreground",children:"No dislikes yet"}):e.jsxs("div",{className:"flex flex-col gap-3 pb-1",children:[p.map(o=>e.jsxs("div",{className:"flex items-center justify-between gap-3",children:[e.jsxs("div",{className:"flex items-center gap-3",children:[e.jsxs("div",{className:"relative shrink-0",children:[e.jsx(_,{email:o.member?.email,name:o.member?.name,src:o.member?.avatar_image}),e.jsx("div",{className:"absolute -right-0.5 -bottom-0.5 flex size-4 items-center justify-center rounded-full bg-gray-500 text-white",children:e.jsx(Le,{className:"size-2.5",fill:"currentColor"})})]}),e.jsx("span",{className:"font-medium",children:o.member?F(o.member):"Deleted member"})]}),e.jsx("span",{className:"shrink-0 text-sm text-muted-foreground",children:L(o.created_at)})]},o.id)),g>0&&e.jsxs("div",{className:"pt-1 text-center text-sm text-muted-foreground",children:["and ",T(g)," more"]})]})})})]}):e.jsx("div",{className:"-mx-1 max-h-64 overflow-y-auto px-1",children:i?e.jsx("div",{className:"flex justify-center py-4",children:e.jsx(P,{size:"md"})}):e.jsxs("div",{className:"flex flex-col gap-3 pb-1",children:[h.map(o=>e.jsxs("div",{className:"flex items-center justify-between gap-3",children:[e.jsxs("div",{className:"flex items-center gap-3",children:[e.jsxs("div",{className:"relative shrink-0",children:[e.jsx(_,{email:o.member?.email,name:o.member?.name,src:o.member?.avatar_image}),e.jsx("div",{className:"absolute -right-0.5 -bottom-0.5 flex size-4 items-center justify-center rounded-full bg-pink-500 text-white",children:e.jsx(ye,{className:"size-2.5",fill:"currentColor"})})]}),e.jsx("span",{className:"font-medium",children:o.member?F(o.member):"Deleted member"})]}),e.jsx("span",{className:"shrink-0 text-sm text-muted-foreground",children:L(o.created_at)})]},o.id)),f>0&&e.jsxs("div",{className:"pt-1 text-center text-sm text-muted-foreground",children:["and ",T(f)," more"]})]})}),e.jsx(ie,{children:e.jsx(b,{onClick:()=>n(!1),children:"OK"})})]})})}function Lt({comment:s,open:t,onOpenChange:a}){const{data:r,isLoading:n}=vt(s.id,{enabled:t}),l=r?.comment_reports??[],i=s.count?.reports??l.length;return e.jsx(te,{open:t,onOpenChange:a,children:e.jsxs(ae,{"aria-describedby":void 0,children:[e.jsx(re,{children:e.jsxs(ne,{children:[i," ",i===1?"report":"reports"]})}),e.jsx("div",{className:"overflow-hidden rounded-md border p-3",children:e.jsxs("div",{className:"flex min-w-0 items-start gap-3",children:[e.jsx(_,{className:"shrink-0",email:s.member?.email,name:s.member?.name,src:s.member?.avatar_image}),e.jsxs("div",{className:"flex min-w-0 flex-col overflow-hidden",children:[e.jsxs("div",{className:"flex min-w-0 items-center gap-1 text-sm",children:[e.jsx("span",{className:"shrink-0 font-semibold",children:s.member?F(s.member):"Deleted member"}),e.jsx(ce,{className:"shrink-0 text-muted-foreground/50",size:16}),e.jsx("span",{className:"shrink-0 text-muted-foreground",children:s.created_at&&L(s.created_at)}),e.jsx("span",{className:"shrink-0 text-muted-foreground",children:"on"}),e.jsx("span",{className:"min-w-0 truncate font-medium text-gray-800 dark:text-gray-400",children:s.post?.title||"Unknown post"})]}),e.jsx("div",{dangerouslySetInnerHTML:{__html:s.html||""},className:"prose mt-2 line-clamp-2 text-sm [&_*]:text-sm [&_*]:leading-[1.5em] [&_p]:m-0"})]})]})}),e.jsx("div",{className:"-mx-1 max-h-64 overflow-y-auto px-1",children:n?e.jsx("div",{className:"flex justify-center py-4",children:e.jsx(P,{size:"md"})}):e.jsx("div",{className:"flex flex-col gap-3 pb-1",children:l.map(c=>e.jsxs("div",{className:"flex items-center justify-between gap-3",children:[e.jsxs("div",{className:"flex items-center gap-3",children:[e.jsxs("div",{className:"relative shrink-0",children:[e.jsx(_,{email:c.member?.email,name:c.member?.name,src:c.member?.avatar_image}),e.jsx("div",{className:"absolute -right-0.5 -bottom-0.5 flex size-4 items-center justify-center rounded-full bg-red text-white",children:e.jsx(oe,{className:"size-2.5",fill:"currentColor"})})]}),e.jsx("span",{className:"font-medium",children:c.member?F(c.member):"Deleted member"})]}),e.jsx("span",{className:"shrink-0 text-sm text-muted-foreground",children:L(c.created_at)})]},c.id))})}),e.jsx(ie,{children:e.jsx(b,{onClick:()=>a(!1),children:"OK"})})]})})}function $({icon:s,count:t,label:a,to:r,onClick:n,className:l,testId:i}){const c=N("flex items-center gap-1 text-xs text-gray-800",l),u=e.jsxs(e.Fragment,{children:[s,e.jsx("span",{children:T(t)})]}),h=r||n;return e.jsxs(Y,{children:[e.jsx(J,{asChild:!0,children:r?e.jsx(le,{className:N(c,"cursor-pointer hover:opacity-70"),"data-testid":i,to:r,onClick:p=>{p.stopPropagation()},children:u}):n?e.jsx("button",{className:N(c,"cursor-pointer hover:opacity-70"),"data-testid":i,type:"button",onClick:p=>{p.stopPropagation(),n()},children:u}):e.jsx("div",{className:c,"data-testid":i,children:u})}),e.jsx(X,{children:h?`View ${a.toLowerCase()}`:a})]})}function xe(s,t){if(!t)return;const a=new URLSearchParams(s);return a.set("thread",`is:${t}`),`?${a.toString()}`}function Ue({comment:s,dislikesEnabled:t,className:a}){const[r]=z(),[n,l]=x.useState(!1),[i,c]=x.useState("likes"),[u,h]=x.useState(!1),p=xe(r,s.id),j=s.count?.direct_replies??s.replies?.length??0,d=s.count?.likes??0,f=t?s.count?.dislikes??0:0,g=s.count?.reports??0,o=j>0,v=d>0,S=f>0,y=g>0;return e.jsxs(e.Fragment,{children:[e.jsxs("div",{className:N("flex items-center gap-6",a),children:[e.jsx($,{count:j,icon:e.jsx(Zs,{size:16,strokeWidth:1.5}),label:"Replies",testId:"replies-metric",to:o?p:void 0}),t?e.jsxs("div",{className:"flex items-center gap-3",children:[e.jsx($,{count:d,icon:e.jsx(Te,{size:16,strokeWidth:1.5}),label:"Likes",testId:"likes-metric",onClick:v?()=>{c("likes"),l(!0)}:void 0}),e.jsx($,{count:f,icon:e.jsx(Le,{size:16,strokeWidth:1.5}),label:"Dislikes",testId:"dislikes-metric",onClick:S?()=>{c("dislikes"),l(!0)}:void 0})]}):e.jsx($,{count:d,icon:e.jsx(ye,{size:16,strokeWidth:1.5}),label:"Likes",onClick:v?()=>l(!0):void 0}),e.jsx($,{className:y?"font-semibold text-red":void 0,count:g,icon:e.jsx(oe,{size:16,strokeWidth:1.5}),label:"Reports",onClick:y?()=>h(!0):void 0})]}),e.jsx(Tt,{comment:s,defaultTab:i,dislikesEnabled:t,open:n,onOpenChange:l}),e.jsx(Lt,{comment:s,open:u,onOpenChange:h})]})}function Rt({hasReplies:s}){return s?e.jsx("div",{className:"mb-2 h-full w-px grow rounded bg-gradient-to-b from-muted-foreground/20 from-70% to-transparent","data-testid":"replies-line"}):null}function Ae({comment:s,dislikesEnabled:t,isReply:a=!1,isSelectedComment:r=!1,selectedCommentId:n}){const[l]=z(),{mutate:i}=Oe(),{mutate:c}=$e(),{mutate:u}=me(),h=ue(),p=(s.replies?.length??0)>0||(s.count?.direct_replies??s.count?.replies??0)>0,j=!p||a?"mb-7":"mb-0";return e.jsxs("div",{className:`flex w-full flex-row ${j}`,children:[e.jsxs("div",{className:"mr-2 flex shrink-0 flex-col items-center justify-start md:mr-3",children:[e.jsx(_,{className:N("mb-3 size-6 md:mb-4 md:size-8",s.status==="hidden"&&"opacity-50"),email:s.member?.email,name:s.member?.name,src:s.member?.avatar_image}),e.jsx(Rt,{hasReplies:p&&!a})]}),e.jsx("div",{className:"grow",children:e.jsxs("div",{className:"w-full","data-testid":`comment-thread-row-${s.id}`,children:[e.jsxs("div",{className:"flex min-w-0 flex-col",children:[e.jsx(Be,{canComment:s.member?.can_comment,createdAt:s.created_at,isHidden:s.status==="hidden",isPinned:h&&s.pinned,memberId:s.member?.id,memberName:s.member?.name,onUnpinClick:h?()=>u({id:s.id}):void 0}),s.in_reply_to_snippet&&r&&e.jsxs("div",{className:`mb-1 line-clamp-1 text-sm ${s.status==="hidden"&&"opacity-50"}`,children:[e.jsx("span",{className:"text-muted-foreground",children:"Replied to:"})," ",e.jsx(le,{className:"text-sm font-normal text-muted-foreground hover:text-foreground","data-testid":"replied-to-link",to:xe(l,s.in_reply_to_id||s.parent_id)||"",onClick:d=>{d.stopPropagation()},children:s.in_reply_to_snippet})]}),e.jsx(Fe,{item:s}),e.jsxs("div",{className:"mt-4 flex flex-row flex-wrap items-center gap-3",children:[s.status==="published"&&e.jsxs(b,{className:"text-gray-800",size:"sm",variant:"outline",onClick:()=>i({id:s.id}),children:[e.jsx(Pe,{}),e.jsx("span",{className:"max-md:hidden",children:"Hide"})]}),s.status==="hidden"&&e.jsxs(b,{className:"text-gray-800",size:"sm",variant:"outline",onClick:()=>c({id:s.id}),children:[e.jsx(Re,{}),e.jsx("span",{className:"max-md:hidden",children:"Show"})]}),e.jsx(Ue,{comment:s,dislikesEnabled:t}),e.jsx(Ie,{comment:s})]})]}),p&&s.replies&&e.jsx("div",{className:"mt-7 mb-4 -ml-2 pl-2 md:mt-8 md:mb-0 md:-ml-3 md:pl-3",children:s.replies.map(d=>e.jsx(Ae,{comment:d,dislikesEnabled:t,isReply:!0,selectedCommentId:n},d.id))})]})})]})}const Dt=({selectedComment:s,dislikesEnabled:t,replies:a,selectedCommentId:r,fetchNextPage:n,hasNextPage:l,isFetchingNextPage:i})=>{const c={...s,replies:a};return e.jsxs("div",{className:"flex flex-col","data-testid":"comment-thread-list",children:[e.jsx(Ae,{comment:c,dislikesEnabled:t,isSelectedComment:!0,selectedCommentId:r}),l&&e.jsx("div",{className:"flex justify-center pb-4",children:e.jsx(b,{disabled:i,variant:"outline",onClick:()=>n(),children:i?e.jsxs(e.Fragment,{children:[e.jsx(P,{size:"sm"}),"Loading..."]}):"Load more replies"})})]})},Et=({commentId:s,dislikesEnabled:t,open:a,onOpenChange:r})=>{const{data:n,isLoading:l,isError:i,fetchNextPage:c,hasNextPage:u,isFetchingNextPage:h}=kt(s??"",{dislikesEnabled:t,enabled:a&&!!s}),{data:p,isLoading:j,isError:d}=gt(s??"",{dislikesEnabled:t,enabled:a&&!!s}),f=l||j,g=d||i&&!p,o=p?.comments?.[0],v=n?.comments||[];return e.jsx(us,{open:a,onOpenChange:r,children:e.jsxs(xs,{className:"overflow-y-auto px-6 pt-0 sm:max-w-[420px]",children:[e.jsx(hs,{className:"sticky top-0 z-40 -mx-6 bg-background/60 p-6 backdrop-blur",children:e.jsx(ps,{className:"text-md",children:"Thread"})}),o?.post&&e.jsxs(e.Fragment,{children:[e.jsxs("div",{className:"flex items-center gap-4",children:[e.jsxs("div",{className:"min-w-0 flex-1",children:[e.jsx("h3",{className:"line-clamp-1 text-xl font-semibold text-foreground",children:o.post.title}),o.post.excerpt&&e.jsx("p",{className:"mt-1 line-clamp-2 text-sm text-muted-foreground",children:o.post.excerpt})]}),o.post.feature_image&&e.jsx("img",{alt:o.post.title||"Post feature image",className:"hidden aspect-video h-18 shrink-0 rounded object-cover lg:block",src:o.post.feature_image})]}),e.jsx(fs,{className:"-mx-6 my-6 w-auto"})]}),e.jsx("div",{children:f?e.jsx("div",{className:"flex h-full items-center justify-center py-8",children:e.jsx(P,{size:"lg"})}):g||!o?e.jsx("div",{className:"flex h-full items-center justify-center py-8",children:e.jsx(se,{actions:e.jsx(b,{variant:"outline",onClick:()=>r(!1),children:"Back to comments"}),description:"This thread may have been deleted or doesn't exist.",title:"Thread not found",children:e.jsx(Z,{})})}):e.jsx(Dt,{dislikesEnabled:t,fetchNextPage:c,hasNextPage:u,isFetchingNextPage:h,replies:v,selectedComment:o,selectedCommentId:s??""})})]})})},ve=({height:s})=>e.jsx("div",{"aria-hidden":"true",className:"flex",children:e.jsx("div",{className:"flex",style:{height:s}})}),Ft=x.forwardRef(function(t,a){return e.jsx("div",{ref:a,...t,"aria-hidden":"true",className:"relative flex flex-col",children:e.jsx("div",{className:"relative z-10 h-24 animate-pulse",children:e.jsx("div",{className:"h-full rounded-md bg-muted","data-testid":"loading-placeholder"})})})});function Mt({items:s,totalItems:t,hasNextPage:a,isFetchingNextPage:r,fetchNextPage:n,resetKey:l,onAddFilter:i,isLoading:c,dislikesEnabled:u}){const h=x.useRef(null),{visibleItemCount:p,canLoadMore:j,loadMore:d}=et(t,{resetKey:l}),[f,g]=z(),[o,v]=x.useState(!1),[S,y]=x.useState(null),{mutate:W}=Oe(),{mutate:I}=$e(),{mutate:U}=me(),A=ue(),H=C=>{if(v(C),!C){const w=new URLSearchParams(f);w.delete("thread"),g(w,{replace:!0})}};x.useEffect(()=>{const C=f.get("thread");if(C){const w=C.match(/^is:(.+)$/);if(w&&w[1]){const m=w[1];y(m),v(!0)}else v(!1),y(null)}else v(!1),y(null)},[f]),zs({parentRef:h,isLoading:c});const{visibleItems:Q,spaceBefore:R,spaceAfter:V}=st({items:s,totalItems:p,hasNextPage:a,isFetchingNextPage:r,fetchNextPage:n,parentRef:h});return e.jsx(js,{children:e.jsxs("div",{ref:h,className:"overflow-hidden border-t",children:[e.jsx("div",{className:"flex flex-col","data-testid":"comments-list",children:e.jsxs("div",{className:"flex flex-col",children:[e.jsx(ve,{height:R}),Q.map(({key:C,virtualItem:w,item:m,props:pe})=>w.index>s.length-1?e.jsx(Ft,{...pe},C):e.jsxs("div",{...pe,className:"grid w-full grid-cols-1 items-start justify-between gap-4 border-b p-3 hover:bg-muted/50 md:p-5 lg:grid-cols-[minmax(0,1fr)_144px]","data-testid":"comment-list-row",onClick:()=>{o&&H(!1)},children:[e.jsxs("div",{className:"flex items-start gap-3",children:[e.jsx(_,{className:N("mt-0.5 size-6 md:size-8",m.status==="hidden"&&"opacity-50"),email:m.member?.email,name:m.member?.name,src:m.member?.avatar_image}),e.jsxs("div",{className:"flex min-w-0 flex-col gap-3",children:[e.jsxs("div",{children:[e.jsx(Be,{canComment:m.member?.can_comment,createdAt:m.created_at,isHidden:m.status==="hidden",isPinned:A&&m.pinned,memberId:m.member?.id,memberName:m.member?.name,postTitle:m.post?.title,onAuthorClick:m.member?.id?()=>i("author",m.member.id):void 0,onPostClick:m.post?.id?()=>i("post",m.post.id):void 0,onUnpinClick:A?()=>U({id:m.id}):void 0}),m.in_reply_to_snippet&&e.jsxs("div",{className:`mb-1 line-clamp-1 max-w-3xl ${m.status==="hidden"&&"opacity-50"}`,children:[e.jsx("span",{className:"text-muted-foreground",children:"Replied to:"})," ",e.jsx(le,{className:"text-sm font-normal text-muted-foreground hover:text-foreground","data-testid":"replied-to-link",to:xe(f,m.in_reply_to_id||m.parent_id)||"",onClick:Ke=>{Ke.stopPropagation()},children:m.in_reply_to_snippet})]})]}),e.jsx(Fe,{item:m}),e.jsxs("div",{className:"flex flex-row flex-nowrap items-center gap-3",children:[m.status==="published"&&e.jsxs(b,{className:"text-foreground",size:"sm",variant:"outline",onClick:()=>W({id:m.id}),children:[e.jsx(Pe,{}),"Hide"]}),m.status==="hidden"&&e.jsxs(b,{className:"text-foreground",size:"sm",variant:"outline",onClick:()=>I({id:m.id}),children:[e.jsx(Re,{}),"Show"]}),e.jsx(Ue,{className:"ml-2",comment:m,dislikesEnabled:u}),e.jsx(Ie,{comment:m})]})]})]}),e.jsx("div",{children:m.post?.feature_image?e.jsx("img",{alt:m.post.title||"Post feature image",className:`hidden aspect-video w-36 rounded object-cover lg:block ${m.status==="hidden"&&"opacity-50"}`,src:m.post.feature_image}):null})]},C)),e.jsx(ve,{height:V})]})}),j&&e.jsx(tt,{isLoading:r,onClick:d}),e.jsx(Et,{commentId:S,dislikesEnabled:u,open:o,onOpenChange:H})]})})}const zt=As(B,"date");function He(s){return Is(B,s.field,"UTC")?.definition.operators.includes(s.operator)??!1}function Qe(s,t){return Array.isArray(s.$and)?s.$and.flatMap(a=>Qe(a,t)):Us([s],B,t)}function Ot(s,t){const a=we(s??"");return a?Bs(Qe(a,t).filter(He)):[]}function $t(s){const t=we(s??"");return t?Os(t,zt):!1}function he(s,t){return $s(s.filter(He),B,t)}const Ve=["status","created_at","body","post","author","reported"],Bt={is_not:"is-not",not_contains:"does-not-contain",before:"is-less",after:"is-greater",on_or_before:"is-or-less",on_or_after:"is-or-greater"};function It(s){const t=s.indexOf(":");if(t<=0)return null;const a=s.substring(0,t),r=s.substring(t+1);return r?{operator:Bt[a]??a,value:r}:null}function Ut(s){const t=[];for(const[a,r]of s.entries()){if(!Ve.includes(a))continue;const n=It(r);n&&t.push({id:`${a}:${t.length+1}`,field:a,operator:n.operator,values:[n.value]})}return t}function qe(s){Ve.forEach(t=>s.delete(t))}function Ne(s,t,a){const r=new URLSearchParams(s),n=he(t,a);return r.delete("filter"),qe(r),n&&r.set("filter",n),r}function At(s,t,a=!t){return!!s&&a&&!t&&$t(s)}function Ht(s){const[t,a]=z(),r=x.useRef(null),n=x.useMemo(()=>t.get("filter")??void 0,[t]),l=x.useMemo(()=>t.toString(),[t]),i=x.useMemo(()=>n!==void 0?Ot(n,s):Ut(t),[n,t,s]),[c,u]=x.useState(i),h=x.useMemo(()=>he(c,s),[c,s]);x.useEffect(()=>{l!==r.current&&(u(i),r.current=l)},[l,i]),x.useEffect(()=>{if(r.current!==null&&l!==r.current)return;const d=Ne(t,c,s),f=d.toString();f!==l&&(r.current=f,a(d,{replace:!0}))},[l,c,t,a,s]);const p=x.useCallback((d,f={})=>{const g=typeof d=="function"?d(c):d,o=Ne(t,g,s),v=f.replace??!0;u(g),r.current=o.toString(),a(o,{replace:v})},[c,t,a,s]),j=x.useCallback(({replace:d=!0}={})=>{const f=new URLSearchParams(t);f.delete("filter"),qe(f),u([]),r.current=f.toString(),a(f,{replace:d})},[t,a]);return{filters:c,nql:h,setFilters:p,clearFilters:j}}function Qt(s){return s.get("id")?.match(/^is:(.+)$/)?.[1]}const Vt=({timezone:s,singleCommentId:t})=>{const[a,r]=z(),{filters:n,nql:l,setFilters:i}=Ht(s),c=!0,u=x.useCallback((U,A,H="is")=>{const Q=[...n.filter(C=>C.field!==U),vs(U,H,[A])];if(!t){i(Q,{replace:!1});return}const R=new URLSearchParams(a),V=he(Q,s);R.delete("id"),R.delete("filter"),V&&R.set("filter",V),r(R,{replace:!1})},[n,a,i,r,t,s]),h=x.useMemo(()=>t?`id:${at(t)}`:l,[l,t]),p=x.useCallback(()=>{r(new URLSearchParams,{replace:!1})},[r]),{data:j,isError:d,isFetching:f,isFetchingNextPage:g,isRefetching:o,fetchNextPage:v,hasNextPage:S}=ze({searchParams:{include:de(c),...h?{filter:h}:{}},keepPreviousData:!0}),y=f&&!g&&!o,W=h??"",I=n.length>0;return e.jsx(De,{children:e.jsxs(M,{"data-testid":"comments-page",children:[e.jsxs(M.Header,{children:[e.jsxs(k,{blurredBackground:!1,sticky:!1,children:[e.jsx(k.Left,{children:e.jsx(k.Title,{children:"Comments"})}),!t&&!I&&e.jsx(k.Actions,{children:e.jsx(k.ActionGroup,{children:e.jsx(be,{filters:n,siteTimezone:s,onFiltersChange:i})})})]}),!t&&I&&e.jsx(Hs,{children:e.jsx(be,{filters:n,siteTimezone:s,onFiltersChange:i})})]}),e.jsx(M.Body,{children:y?e.jsx("div",{className:"flex flex-1 items-center justify-center",children:e.jsx(P,{size:"lg"})}):d?e.jsxs("div",{className:"flex flex-1 flex-col items-center justify-center",children:[e.jsx("h2",{className:"mb-2 text-xl font-medium",children:"Error loading comments"}),e.jsx("p",{className:"mb-4 text-muted-foreground",children:"Please reload the page to try again"}),e.jsx(b,{onClick:()=>window.location.reload(),children:"Reload page"})]}):j?.comments.length?e.jsxs(e.Fragment,{children:[e.jsx(Mt,{dislikesEnabled:c,fetchNextPage:v,hasNextPage:S,isFetchingNextPage:g,isLoading:f&&!g,items:j?.comments??[],resetKey:W,totalItems:j?.meta?.pagination?.total??0,onAddFilter:u}),t&&e.jsx("div",{className:"flex justify-center py-8",children:e.jsx(b,{variant:"outline",onClick:p,children:"Show all comments"})})]}):e.jsx("div",{className:"flex flex-1 items-center justify-center",children:t?e.jsxs("div",{className:"flex flex-col items-center",children:[e.jsx(se,{title:"Comment not found",children:e.jsx(Z,{})}),e.jsx(b,{className:"mt-4",variant:"outline",onClick:p,children:"Show all comments"})]}):e.jsx(se,{title:"No comments yet",children:e.jsx(Z,{})})})})]})})},ha=()=>{const[s]=z(),{data:t,isLoading:a}=gs({}),r=x.useMemo(()=>Qt(s),[s]),n=s.get("filter")??void 0;if(!r&&At(n,!!t,a))return e.jsx(De,{children:e.jsxs(M,{children:[e.jsx(M.Header,{children:e.jsx(k,{blurredBackground:!1,sticky:!1,children:e.jsx(k.Left,{children:e.jsx(k.Title,{children:"Comments"})})})}),e.jsx(M.Body,{children:e.jsx("div",{className:"flex flex-1 items-center justify-center",children:e.jsx(P,{size:"lg"})})})]})});const i=rt(t?.settings??[]);return e.jsx(Vt,{singleCommentId:r,timezone:i})};export{ha as default};
1
+ import{ed as x,d$ as e,K as We,cJ as N,d2 as D,Q as Ge,at as Ye,ch as Ce,eN as Je,cp as Xe,J as b,M as Ze,cQ as es,cT as q,cW as K,c7 as Y,ca as J,c8 as X,df as L,z as fe,cx as ss,_ as te,a1 as ae,a4 as re,a5 as ne,a2 as ts,a3 as ie,eK as as,f2 as rs,f8 as ns,a8 as is,af as ls,ag as os,aa as cs,ac as E,ak as ds,a$ as ms,dc as T,w as _,db as F,aU as P,aD as ye,fF as z,aS as le,bQ as us,bR as xs,bT as hs,bU as ps,bM as fs,b0 as Z,c9 as js,eO as gs}from"./index-C-075SzJ.js";import{h as bs,i as vs}from"./filters-C_BSQgb7.js";import{h as Ns,B as Cs,t as G,x as ys,b as ws,D as ks,g as _s,j as Ps,n as Ss,k as Ts,f as Ls,e as Rs,R as Ds,a as Es,d as Fs,y as Ms,z as zs,r as we,o as Os,u as $s,w as Bs,s as Is,i as Us,m as As,F as Hs}from"./filter-query-core-DFs5WSmA.js";import{C as Qs,a as Vs,F as qs}from"./loader-circle-3HJkQKWf.js";import{F as oe,a as Ks,M as ke,D as ce,P as ee,b as _e,E as Pe}from"./pin-BNs-JdQ3.js";import{C as Ws}from"./chevron-up-BQ6fOpFR.js";import{C as Se,a as Gs}from"./index-BfhSrnrJ.js";import{L as Ys}from"./label-DpTwHQi_.js";import{T as Js,b as Xs,c as je,a as ge}from"./tabs-BZosOk0o.js";import{a as Te,T as Le}from"./thumbs-down-CZTzyz7D.js";import{R as Zs}from"./reply-DoLURZi2.js";import{E as Re}from"./eye-6POPPpTw.js";import{E as se}from"./empty-indicator-Dxg05yWg.js";import{a as et,u as st,L as tt}from"./virtual-list-window-mdQS2bt_.js";import{M as De}from"./main-layout-BAPpm0bz.js";import{L as M,P as k}from"./list-page-BvTQwP5F.js";import{e as at}from"./nql-X2E2VBtR.js";import{g as rt}from"./get-site-timezone-BDBAcjmq.js";import"./posts-DODOCB1E.js";import"./index-Dpc3COTl.js";import"./typeof-QjJsDpFa.js";const Ee=x.forwardRef(({className:s,...t},a)=>e.jsx(Se,{ref:a,className:N("grid place-content-center peer h-4 w-4 shrink-0 rounded-xs border border-primary shadow focus-visible:outline-hidden focus-visible:ring-1 focus-visible:ring-focus-ring disabled:cursor-not-allowed disabled:opacity-50 data-[state=checked]:bg-primary data-[state=checked]:text-primary-foreground",s),...t,children:e.jsx(Gs,{className:N("grid place-content-center text-current"),children:e.jsx(We,{className:"size-4"})})}));Ee.displayName=Se.displayName;const nt={parse(s,t){const a=Ps(s);return!a||a.field!=="count.reports"?null:a.operator==="$eq"&&a.value===0?{field:t.key,operator:"is",values:["false"]}:a.operator==="$gt"&&a.value===0?{field:t.key,operator:"is",values:["true"]}:null},serialize(s){const t=s.values[0];return s.operator!=="is"?null:t==="true"?["count.reports:>0"]:t==="false"?["count.reports:0"]:null}},B=Ns({status:{operators:["is"],ui:{label:"Status",type:"select",searchable:!1,hideOperatorSelect:!0},options:[{value:"published",label:"Published"},{value:"hidden",label:"Hidden"}],codec:G()},created_at:Cs({operators:ks,ui:{label:"Date",defaultOperator:ws,type:"date"},codec:_s()}),body:{operators:["contains","does-not-contain"],parseKeys:["html"],ui:{label:"Text",type:"text",placeholder:"Search comment text...",defaultOperator:"contains",className:"w-full max-w-48",popoverContentClassName:"w-full max-w-48"},codec:ys({field:"html"})},post:{operators:["is","is-not"],parseKeys:["post_id"],ui:{label:"Post",type:"select",searchable:!0,className:"w-full max-w-80",popoverContentClassName:"w-full max-w-[calc(100vw-32px)] max-w-80"},codec:G({field:"post_id"})},author:{operators:["is","is-not"],parseKeys:["member_id"],ui:{label:"Author",type:"select",searchable:!0,className:"w-80",popoverContentClassName:"w-80"},codec:G({field:"member_id"})},reported:{operators:["is"],parseKeys:["count.reports"],ui:{label:"Reported",type:"select",searchable:!1,hideOperatorSelect:!0},options:[{value:"true",label:"Yes"},{value:"false",label:"No"}],codec:nt}}),it=["author","post","body","status","reported","created_at"],lt={...Es,...Ds};function ot(s){switch(s){case"author":return D.createElement(Ce,{className:"size-4"});case"post":return D.createElement(Ye,{className:"size-4"});case"body":return D.createElement(Ks,{className:"size-4"});case"status":return D.createElement(Ge,{className:"size-4"});case"reported":return D.createElement(oe,{className:"size-4"});case"created_at":return D.createElement(Qs,{className:"size-4"});default:return}}function ct({postValueSource:s,memberValueSource:t,siteTimezone:a="UTC"}){return x.useMemo(()=>{const r=Ss(a);return it.map(n=>{const l=B[n],i=n==="created_at"?{defaultValue:r,...Ts(l)?{customRenderer:Ls(r)}:{}}:{};return{key:n,...l.ui,icon:ot(n),operators:Rs(l.operators,{labels:lt}),..."options"in l&&l.options?{options:l.options}:{},...i,...n==="author"?{valueSource:t}:{},...n==="post"?{valueSource:s}:{}}})},[t,s,a])}function dt(s){return{value:s.id,label:s.name||"Unknown name",detail:s.email??"(Unknown email)"}}const mt=Fs({id:"posts.members.remote",buildBrowseSearchParams:s=>({limit:"100",order:"created_at DESC",...s?{search:s}:{}}),getMissingSelectedOption:s=>({value:s,label:`ID: ${s}`}),selectItems:s=>s?.members,useQuery:({enabled:s,searchParams:t})=>Je({enabled:s,keepPreviousData:!0,searchParams:t}),toOption:dt});function ut(){return mt()}const be=({filters:s,siteTimezone:t,onFiltersChange:a})=>{const r=Ms(),n=ut(),l=ct({memberValueSource:n,postValueSource:r,siteTimezone:t}),i=s.length>0;return e.jsx(bs,{addButtonIcon:i?e.jsx(Vs,{}):e.jsx(qs,{}),addButtonText:i?"Add filter":"Filter",allowMultiple:!1,className:`[&>button]:order-last ${i?"[&>button]:border-none":"w-auto"}`,clearButtonClassName:"font-normal text-muted-foreground",clearButtonIcon:e.jsx(Xe,{}),clearButtonText:"Clear",fields:l,filters:s,keyboardShortcut:"f",popoverAlign:i?"start":"end",showClearButton:i,showSearchInput:!1,onChange:a})};function xt({onClick:s,expanded:t}){return e.jsxs(b,{className:"shrink-0 gap-0.5 self-start p-0 text-base hover:bg-transparent",variant:"ghost",onClick:s,children:[t?"Show less":"Show more",t?e.jsx(Ws,{}):e.jsx(Ze,{})]})}function Fe({item:s}){const t=x.useRef(null),[a,r]=x.useState(!1),[n,l]=x.useState(!1);return x.useEffect(()=>{if(n)return;const i=()=>{t.current&&r(t.current.scrollHeight>t.current.clientHeight)};return i(),window.addEventListener("resize",i),()=>window.removeEventListener("resize",i)},[s.html,n]),e.jsx("div",{className:"mt-2 flex flex-col gap-2",children:e.jsxs("div",{className:`flex max-w-full flex-col items-start ${s.status==="hidden"&&"opacity-50"}`,children:[e.jsx("div",{dangerouslySetInnerHTML:{__html:s.html||""},ref:t,className:N("prose flex-1 text-base max-w-[80ch] balance leading-[1.5em] [&_*]:leading-[1.5em] [&_*]:text-base [&_*]:font-normal [&_blockquote]:border-l-[3px] [&_blockquote]:border-foreground [&_blockquote]:p-0 [&_blockquote]:pl-3 [&_blockquote_p]:mt-0 [&_a]:underline",n?"-mb-1 [&_p]:mb-[0.85em]":"line-clamp-2 [&_p]:m-0 [&_blockquote+p]:mt-1 mb-1")}),a&&e.jsx(xt,{expanded:n,onClick:()=>l(!n)})]})})}const O="CommentsResponseType",Me="count.dislikes",de=s=>["member","post","count.replies","count.direct_replies","count.likes",...s?[Me]:[],"count.reports","parent","in_reply_to"].join(","),ht=s=>["member","post","count.direct_replies","count.likes",...s?[Me]:[],"count.reports","parent","in_reply_to"].join(","),pt=es({dataType:O,path:"/comments/",defaultNextPageParams:(s,t)=>s.meta?.pagination.next?{...t,page:(s.meta?.pagination.next||1).toString()}:void 0,returnData:s=>{const{pages:t}=s,a=t.flatMap(n=>n.comments),r=t[t.length-1].meta;return{comments:a,meta:r,isEnd:r?r.pagination.pages===r.pagination.page:!0}}}),ze=s=>pt({...s,searchParams:{limit:"100",order:"created_at desc",include:"member,post,parent",...s?.searchParams}}),Oe=q({method:"PUT",path:({id:s})=>`/comments/${s}/`,body:({id:s})=>({comments:[{id:s,status:"hidden"}]}),invalidateQueries:{dataType:O}}),$e=q({method:"PUT",path:({id:s})=>`/comments/${s}/`,body:({id:s})=>({comments:[{id:s,status:"published"}]}),invalidateQueries:{dataType:O}}),ft=q({method:"PUT",path:({id:s})=>`/comments/${s}/`,body:({id:s})=>({comments:[{id:s,pinned:!0}]}),invalidateQueries:{dataType:O}}),me=q({method:"PUT",path:({id:s})=>`/comments/${s}/`,body:({id:s})=>({comments:[{id:s,pinned:!1}]}),invalidateQueries:{dataType:O}}),jt=K({dataType:O,path:s=>`/comments/${s}/`,defaultSearchParams:{include:de(!1)}}),gt=(s,t)=>{const{dislikesEnabled:a=!1,searchParams:r,...n}=t||{};return jt(s,{...n,searchParams:{include:de(a),...r}})},bt=K({dataType:"CommentReportsResponseType",path:s=>`/comments/${s}/reports/`}),vt=(s,t)=>bt(s,{...t}),Nt=K({dataType:"CommentLikesResponseType",path:s=>`/comments/${s}/likes/`,defaultSearchParams:{include:"member",limit:"100",order:"created_at desc"}}),Ct=(s,t)=>Nt(s,{...t}),yt=K({dataType:"CommentDislikesResponseType",path:s=>`/comments/${s}/dislikes/`,defaultSearchParams:{include:"member",limit:"100",order:"created_at desc"}}),wt=(s,t)=>yt(s,{...t}),kt=(s,t)=>{const{dislikesEnabled:a=!1,...r}=t||{};return ze({...r,searchParams:{filter:`(parent_id:${s}+in_reply_to_id:null),in_reply_to_id:${s}`,order:"created_at asc",include:ht(a),limit:"100"}})};function _t(s){const t=new Date(s);return new Intl.DateTimeFormat("en-US",{month:"short",day:"numeric",year:"numeric",hour:"numeric",minute:"numeric"}).format(t).replace(/(\d+),(\s+\d{4})/,"$1$2")}const Pt=N(ss({variant:"warning"}),"gap-1 hover:bg-state-warning/30");function Be({memberName:s,memberId:t,createdAt:a,isHidden:r,canComment:n,isPinned:l,onAuthorClick:i,postTitle:c,onPostClick:u,onUnpinClick:h,className:p}){const j=d=>{d.stopPropagation(),h?.()};return e.jsxs("div",{className:N("flex items-center gap-2",p),children:[e.jsxs("div",{className:N("flex min-w-0 items-center gap-x-1",r&&"opacity-50"),children:[e.jsx("div",{className:"whitespace-nowrap",children:t&&i?e.jsx(b,{className:"flex h-auto items-center gap-1.5 truncate p-0 text-md font-semibold text-primary hover:opacity-70",variant:"link",onClick:i,children:s||"Unknown"}):e.jsx("span",{className:"block truncate font-semibold",children:s||"Unknown"})}),n===!1&&e.jsxs(Y,{children:[e.jsx(J,{asChild:!0,children:e.jsx("span",{"data-testid":"commenting-disabled-indicator",children:e.jsx(ke,{className:"size-3.5 text-muted-foreground"})})}),e.jsx(X,{children:"Comments disabled"})]}),e.jsx(ce,{className:"shrink-0 text-muted-foreground/50",size:16}),e.jsx("div",{className:"shrink-0 whitespace-nowrap",children:a&&e.jsxs(Y,{children:[e.jsx(J,{asChild:!0,children:e.jsx("span",{className:"cursor-default text-sm text-muted-foreground",children:L(a)})}),e.jsx(X,{children:_t(a)})]})}),c&&e.jsxs(e.Fragment,{children:[e.jsx("div",{className:"shrink-0 text-muted-foreground",children:"on"}),e.jsx("div",{className:"min-w-0 truncate",children:u?e.jsx(b,{className:"block h-auto w-full cursor-pointer truncate p-0 text-left font-medium text-gray-800 hover:opacity-70 dark:text-gray-400",variant:"link",onClick:u,children:c}):e.jsx("span",{className:"font-medium text-gray-800 dark:text-gray-400",children:c})})]})]}),r&&e.jsx(fe,{variant:"secondary",children:"Hidden"}),l&&(h?e.jsxs("button",{"aria-label":"Unpin comment",className:N("group",Pt),type:"button",onClick:j,children:[e.jsxs("span",{className:"grid size-3 shrink-0",children:[e.jsx(ee,{className:"col-start-1 row-start-1 size-3 group-hover:opacity-0 group-focus-visible:opacity-0"}),e.jsx(_e,{className:"col-start-1 row-start-1 size-3 opacity-0 group-hover:opacity-100 group-focus-visible:opacity-100"})]}),e.jsxs("span",{className:"grid justify-items-start text-left",children:[e.jsx("span",{className:"col-start-1 row-start-1 group-hover:opacity-0 group-focus-visible:opacity-0",children:"Pinned"}),e.jsx("span",{className:"col-start-1 row-start-1 opacity-0 group-hover:opacity-100 group-focus-visible:opacity-100",children:"Unpin"})]})]}):e.jsxs(fe,{className:"gap-1",variant:"warning",children:[e.jsx(ee,{className:"size-3"}),"Pinned"]}))]})}function St({open:s,memberName:t,onOpenChange:a,onConfirm:r}){const[n,l]=x.useState(!1),i=u=>{u||l(!1),a(u)},c=()=>{r(n),l(!1)};return e.jsx(te,{open:s,onOpenChange:i,children:e.jsxs(ae,{className:"gap-5",children:[e.jsxs(re,{children:[e.jsx(ne,{children:"Disable comments"}),e.jsxs(ts,{children:[t||"This member"," won't be able to comment in the future. You can re-enable commenting anytime."]})]}),e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx(Ee,{checked:n,id:"hide-comments",onCheckedChange:u=>l(u===!0)}),e.jsx(Ys,{htmlFor:"hide-comments",children:"Hide all previous comments"})]}),e.jsxs(ie,{children:[e.jsx(b,{variant:"outline",onClick:()=>i(!1),children:"Cancel"}),e.jsx(b,{onClick:c,children:"Disable comments"})]})]})})}const ue=()=>{const{data:s}=as();return s?.config?.labs?.commentsPinning===!0};function Ie({comment:s}){const{mutate:t}=rs(),{mutate:a}=ns(),{mutate:r}=ft(),{mutate:n}=me(),[l,i]=x.useState(!1),c=ue(),{id:u,post:h,member:p}=s,j=h?.url,d=p?.id,f=p?.can_comment,g=c&&!s.parent_id&&s.status!=="deleted",o=S=>{d&&(t({id:d,reason:`Disabled from comment ${u}`,hideComments:S}),i(!1))},v=()=>{d&&a({id:d})};return e.jsxs(e.Fragment,{children:[e.jsxs(is,{children:[e.jsx(ls,{asChild:!0,children:e.jsx(b,{className:"relative z-10 text-gray-800 hover:bg-secondary [&_svg]:size-4",size:"sm",variant:"ghost",children:e.jsx(os,{})})}),e.jsxs(cs,{align:"start",children:[j&&e.jsx(E,{asChild:!0,children:e.jsxs("a",{href:`${j}#ghost-comments-${u}`,rel:"noopener noreferrer",target:"_blank",children:[e.jsx(ds,{className:"size-4"}),"View on post"]})}),d&&e.jsx(E,{asChild:!0,children:e.jsxs("a",{href:`#/members/${d}`,children:[e.jsx(Ce,{className:"size-4"}),"View member"]})}),g&&(s.pinned?e.jsxs(E,{onClick:()=>n({id:u}),children:[e.jsx(_e,{className:"size-4"}),"Unpin comment"]}):e.jsxs(E,{onClick:()=>r({id:u}),children:[e.jsx(ee,{className:"size-4"}),"Pin comment"]})),d&&(f!==!1?e.jsxs(E,{onClick:()=>i(!0),children:[e.jsx(ke,{className:"size-4"}),"Disable commenting"]}):e.jsxs(E,{onClick:v,children:[e.jsx(ms,{className:"size-4"}),"Enable commenting"]}))]})]}),e.jsx(St,{memberName:p?.name,open:l,onConfirm:o,onOpenChange:i})]})}function Tt({comment:s,dislikesEnabled:t,open:a,defaultTab:r="likes",onOpenChange:n}){const{data:l,isLoading:i}=Ct(s.id,{enabled:a}),{data:c,isLoading:u}=wt(s.id,{enabled:a&&t}),h=l?.comment_likes??[],p=t?c?.comment_dislikes??[]:[],j=s.count?.likes??0,d=t?s.count?.dislikes??0:0,f=Math.max(0,j-h.length),g=Math.max(0,d-p.length);return e.jsx(te,{open:a,onOpenChange:n,children:e.jsxs(ae,{"aria-describedby":void 0,children:[e.jsx(re,{children:e.jsx(ne,{children:t?e.jsxs(e.Fragment,{children:[T(j)," ",j===1?"like":"likes"," and ",T(d)," ",d===1?"dislike":"dislikes"]}):e.jsxs(e.Fragment,{children:[T(j)," ",j===1?"like":"likes"]})})}),e.jsx("div",{className:"overflow-hidden rounded-md border p-3",children:e.jsxs("div",{className:"flex min-w-0 items-start gap-3",children:[e.jsx(_,{className:"shrink-0",email:s.member?.email,name:s.member?.name,src:s.member?.avatar_image}),e.jsxs("div",{className:"flex min-w-0 flex-col overflow-hidden",children:[e.jsxs("div",{className:"flex min-w-0 items-center gap-1 text-sm",children:[e.jsx("span",{className:"shrink-0 font-semibold",children:s.member?F(s.member):"Deleted member"}),e.jsx(ce,{className:"shrink-0 text-muted-foreground/50",size:16}),e.jsx("span",{className:"shrink-0 text-muted-foreground",children:s.created_at&&L(s.created_at)}),e.jsx("span",{className:"shrink-0 text-muted-foreground",children:"on"}),e.jsx("span",{className:"min-w-0 truncate font-medium text-gray-800 dark:text-gray-400",children:s.post?.title||"Unknown post"})]}),e.jsx("div",{dangerouslySetInnerHTML:{__html:s.html||""},className:"prose mt-2 line-clamp-2 text-sm [&_*]:text-sm [&_*]:leading-[1.5em] [&_p]:m-0"})]})]})}),t?e.jsxs(Js,{defaultValue:r,variant:"segmented",children:[e.jsxs(Xs,{className:"grid w-full grid-cols-2",children:[e.jsx(je,{value:"likes",children:"Likes"}),e.jsx(je,{value:"dislikes",children:"Dislikes"})]}),e.jsx(ge,{className:"mt-4",value:"likes",children:e.jsx("div",{className:"-mx-1 max-h-64 overflow-y-auto px-1",children:i?e.jsx("div",{className:"flex justify-center py-4",children:e.jsx(P,{size:"md"})}):h.length===0?e.jsx("div",{className:"py-4 text-center text-sm text-muted-foreground",children:"No likes yet"}):e.jsxs("div",{className:"flex flex-col gap-3 pb-1",children:[h.map(o=>e.jsxs("div",{className:"flex items-center justify-between gap-3",children:[e.jsxs("div",{className:"flex items-center gap-3",children:[e.jsxs("div",{className:"relative shrink-0",children:[e.jsx(_,{email:o.member?.email,name:o.member?.name,src:o.member?.avatar_image}),e.jsx("div",{className:"absolute -right-0.5 -bottom-0.5 flex size-4 items-center justify-center rounded-full bg-gray-500 text-white",children:e.jsx(Te,{className:"size-2.5",fill:"currentColor"})})]}),e.jsx("span",{className:"font-medium",children:o.member?F(o.member):"Deleted member"})]}),e.jsx("span",{className:"shrink-0 text-sm text-muted-foreground",children:L(o.created_at)})]},o.id)),f>0&&e.jsxs("div",{className:"pt-1 text-center text-sm text-muted-foreground",children:["and ",T(f)," more"]})]})})}),e.jsx(ge,{className:"mt-4",value:"dislikes",children:e.jsx("div",{className:"-mx-1 max-h-64 overflow-y-auto px-1",children:u?e.jsx("div",{className:"flex justify-center py-4",children:e.jsx(P,{size:"md"})}):p.length===0?e.jsx("div",{className:"py-4 text-center text-sm text-muted-foreground",children:"No dislikes yet"}):e.jsxs("div",{className:"flex flex-col gap-3 pb-1",children:[p.map(o=>e.jsxs("div",{className:"flex items-center justify-between gap-3",children:[e.jsxs("div",{className:"flex items-center gap-3",children:[e.jsxs("div",{className:"relative shrink-0",children:[e.jsx(_,{email:o.member?.email,name:o.member?.name,src:o.member?.avatar_image}),e.jsx("div",{className:"absolute -right-0.5 -bottom-0.5 flex size-4 items-center justify-center rounded-full bg-gray-500 text-white",children:e.jsx(Le,{className:"size-2.5",fill:"currentColor"})})]}),e.jsx("span",{className:"font-medium",children:o.member?F(o.member):"Deleted member"})]}),e.jsx("span",{className:"shrink-0 text-sm text-muted-foreground",children:L(o.created_at)})]},o.id)),g>0&&e.jsxs("div",{className:"pt-1 text-center text-sm text-muted-foreground",children:["and ",T(g)," more"]})]})})})]}):e.jsx("div",{className:"-mx-1 max-h-64 overflow-y-auto px-1",children:i?e.jsx("div",{className:"flex justify-center py-4",children:e.jsx(P,{size:"md"})}):e.jsxs("div",{className:"flex flex-col gap-3 pb-1",children:[h.map(o=>e.jsxs("div",{className:"flex items-center justify-between gap-3",children:[e.jsxs("div",{className:"flex items-center gap-3",children:[e.jsxs("div",{className:"relative shrink-0",children:[e.jsx(_,{email:o.member?.email,name:o.member?.name,src:o.member?.avatar_image}),e.jsx("div",{className:"absolute -right-0.5 -bottom-0.5 flex size-4 items-center justify-center rounded-full bg-pink-500 text-white",children:e.jsx(ye,{className:"size-2.5",fill:"currentColor"})})]}),e.jsx("span",{className:"font-medium",children:o.member?F(o.member):"Deleted member"})]}),e.jsx("span",{className:"shrink-0 text-sm text-muted-foreground",children:L(o.created_at)})]},o.id)),f>0&&e.jsxs("div",{className:"pt-1 text-center text-sm text-muted-foreground",children:["and ",T(f)," more"]})]})}),e.jsx(ie,{children:e.jsx(b,{onClick:()=>n(!1),children:"OK"})})]})})}function Lt({comment:s,open:t,onOpenChange:a}){const{data:r,isLoading:n}=vt(s.id,{enabled:t}),l=r?.comment_reports??[],i=s.count?.reports??l.length;return e.jsx(te,{open:t,onOpenChange:a,children:e.jsxs(ae,{"aria-describedby":void 0,children:[e.jsx(re,{children:e.jsxs(ne,{children:[i," ",i===1?"report":"reports"]})}),e.jsx("div",{className:"overflow-hidden rounded-md border p-3",children:e.jsxs("div",{className:"flex min-w-0 items-start gap-3",children:[e.jsx(_,{className:"shrink-0",email:s.member?.email,name:s.member?.name,src:s.member?.avatar_image}),e.jsxs("div",{className:"flex min-w-0 flex-col overflow-hidden",children:[e.jsxs("div",{className:"flex min-w-0 items-center gap-1 text-sm",children:[e.jsx("span",{className:"shrink-0 font-semibold",children:s.member?F(s.member):"Deleted member"}),e.jsx(ce,{className:"shrink-0 text-muted-foreground/50",size:16}),e.jsx("span",{className:"shrink-0 text-muted-foreground",children:s.created_at&&L(s.created_at)}),e.jsx("span",{className:"shrink-0 text-muted-foreground",children:"on"}),e.jsx("span",{className:"min-w-0 truncate font-medium text-gray-800 dark:text-gray-400",children:s.post?.title||"Unknown post"})]}),e.jsx("div",{dangerouslySetInnerHTML:{__html:s.html||""},className:"prose mt-2 line-clamp-2 text-sm [&_*]:text-sm [&_*]:leading-[1.5em] [&_p]:m-0"})]})]})}),e.jsx("div",{className:"-mx-1 max-h-64 overflow-y-auto px-1",children:n?e.jsx("div",{className:"flex justify-center py-4",children:e.jsx(P,{size:"md"})}):e.jsx("div",{className:"flex flex-col gap-3 pb-1",children:l.map(c=>e.jsxs("div",{className:"flex items-center justify-between gap-3",children:[e.jsxs("div",{className:"flex items-center gap-3",children:[e.jsxs("div",{className:"relative shrink-0",children:[e.jsx(_,{email:c.member?.email,name:c.member?.name,src:c.member?.avatar_image}),e.jsx("div",{className:"absolute -right-0.5 -bottom-0.5 flex size-4 items-center justify-center rounded-full bg-red text-white",children:e.jsx(oe,{className:"size-2.5",fill:"currentColor"})})]}),e.jsx("span",{className:"font-medium",children:c.member?F(c.member):"Deleted member"})]}),e.jsx("span",{className:"shrink-0 text-sm text-muted-foreground",children:L(c.created_at)})]},c.id))})}),e.jsx(ie,{children:e.jsx(b,{onClick:()=>a(!1),children:"OK"})})]})})}function $({icon:s,count:t,label:a,to:r,onClick:n,className:l,testId:i}){const c=N("flex items-center gap-1 text-xs text-gray-800",l),u=e.jsxs(e.Fragment,{children:[s,e.jsx("span",{children:T(t)})]}),h=r||n;return e.jsxs(Y,{children:[e.jsx(J,{asChild:!0,children:r?e.jsx(le,{className:N(c,"cursor-pointer hover:opacity-70"),"data-testid":i,to:r,onClick:p=>{p.stopPropagation()},children:u}):n?e.jsx("button",{className:N(c,"cursor-pointer hover:opacity-70"),"data-testid":i,type:"button",onClick:p=>{p.stopPropagation(),n()},children:u}):e.jsx("div",{className:c,"data-testid":i,children:u})}),e.jsx(X,{children:h?`View ${a.toLowerCase()}`:a})]})}function xe(s,t){if(!t)return;const a=new URLSearchParams(s);return a.set("thread",`is:${t}`),`?${a.toString()}`}function Ue({comment:s,dislikesEnabled:t,className:a}){const[r]=z(),[n,l]=x.useState(!1),[i,c]=x.useState("likes"),[u,h]=x.useState(!1),p=xe(r,s.id),j=s.count?.direct_replies??s.replies?.length??0,d=s.count?.likes??0,f=t?s.count?.dislikes??0:0,g=s.count?.reports??0,o=j>0,v=d>0,S=f>0,y=g>0;return e.jsxs(e.Fragment,{children:[e.jsxs("div",{className:N("flex items-center gap-6",a),children:[e.jsx($,{count:j,icon:e.jsx(Zs,{size:16,strokeWidth:1.5}),label:"Replies",testId:"replies-metric",to:o?p:void 0}),t?e.jsxs("div",{className:"flex items-center gap-3",children:[e.jsx($,{count:d,icon:e.jsx(Te,{size:16,strokeWidth:1.5}),label:"Likes",testId:"likes-metric",onClick:v?()=>{c("likes"),l(!0)}:void 0}),e.jsx($,{count:f,icon:e.jsx(Le,{size:16,strokeWidth:1.5}),label:"Dislikes",testId:"dislikes-metric",onClick:S?()=>{c("dislikes"),l(!0)}:void 0})]}):e.jsx($,{count:d,icon:e.jsx(ye,{size:16,strokeWidth:1.5}),label:"Likes",onClick:v?()=>l(!0):void 0}),e.jsx($,{className:y?"font-semibold text-red":void 0,count:g,icon:e.jsx(oe,{size:16,strokeWidth:1.5}),label:"Reports",onClick:y?()=>h(!0):void 0})]}),e.jsx(Tt,{comment:s,defaultTab:i,dislikesEnabled:t,open:n,onOpenChange:l}),e.jsx(Lt,{comment:s,open:u,onOpenChange:h})]})}function Rt({hasReplies:s}){return s?e.jsx("div",{className:"mb-2 h-full w-px grow rounded bg-gradient-to-b from-muted-foreground/20 from-70% to-transparent","data-testid":"replies-line"}):null}function Ae({comment:s,dislikesEnabled:t,isReply:a=!1,isSelectedComment:r=!1,selectedCommentId:n}){const[l]=z(),{mutate:i}=Oe(),{mutate:c}=$e(),{mutate:u}=me(),h=ue(),p=(s.replies?.length??0)>0||(s.count?.direct_replies??s.count?.replies??0)>0,j=!p||a?"mb-7":"mb-0";return e.jsxs("div",{className:`flex w-full flex-row ${j}`,children:[e.jsxs("div",{className:"mr-2 flex shrink-0 flex-col items-center justify-start md:mr-3",children:[e.jsx(_,{className:N("mb-3 size-6 md:mb-4 md:size-8",s.status==="hidden"&&"opacity-50"),email:s.member?.email,name:s.member?.name,src:s.member?.avatar_image}),e.jsx(Rt,{hasReplies:p&&!a})]}),e.jsx("div",{className:"grow",children:e.jsxs("div",{className:"w-full","data-testid":`comment-thread-row-${s.id}`,children:[e.jsxs("div",{className:"flex min-w-0 flex-col",children:[e.jsx(Be,{canComment:s.member?.can_comment,createdAt:s.created_at,isHidden:s.status==="hidden",isPinned:h&&s.pinned,memberId:s.member?.id,memberName:s.member?.name,onUnpinClick:h?()=>u({id:s.id}):void 0}),s.in_reply_to_snippet&&r&&e.jsxs("div",{className:`mb-1 line-clamp-1 text-sm ${s.status==="hidden"&&"opacity-50"}`,children:[e.jsx("span",{className:"text-muted-foreground",children:"Replied to:"})," ",e.jsx(le,{className:"text-sm font-normal text-muted-foreground hover:text-foreground","data-testid":"replied-to-link",to:xe(l,s.in_reply_to_id||s.parent_id)||"",onClick:d=>{d.stopPropagation()},children:s.in_reply_to_snippet})]}),e.jsx(Fe,{item:s}),e.jsxs("div",{className:"mt-4 flex flex-row flex-wrap items-center gap-3",children:[s.status==="published"&&e.jsxs(b,{className:"text-gray-800",size:"sm",variant:"outline",onClick:()=>i({id:s.id}),children:[e.jsx(Pe,{}),e.jsx("span",{className:"max-md:hidden",children:"Hide"})]}),s.status==="hidden"&&e.jsxs(b,{className:"text-gray-800",size:"sm",variant:"outline",onClick:()=>c({id:s.id}),children:[e.jsx(Re,{}),e.jsx("span",{className:"max-md:hidden",children:"Show"})]}),e.jsx(Ue,{comment:s,dislikesEnabled:t}),e.jsx(Ie,{comment:s})]})]}),p&&s.replies&&e.jsx("div",{className:"mt-7 mb-4 -ml-2 pl-2 md:mt-8 md:mb-0 md:-ml-3 md:pl-3",children:s.replies.map(d=>e.jsx(Ae,{comment:d,dislikesEnabled:t,isReply:!0,selectedCommentId:n},d.id))})]})})]})}const Dt=({selectedComment:s,dislikesEnabled:t,replies:a,selectedCommentId:r,fetchNextPage:n,hasNextPage:l,isFetchingNextPage:i})=>{const c={...s,replies:a};return e.jsxs("div",{className:"flex flex-col","data-testid":"comment-thread-list",children:[e.jsx(Ae,{comment:c,dislikesEnabled:t,isSelectedComment:!0,selectedCommentId:r}),l&&e.jsx("div",{className:"flex justify-center pb-4",children:e.jsx(b,{disabled:i,variant:"outline",onClick:()=>n(),children:i?e.jsxs(e.Fragment,{children:[e.jsx(P,{size:"sm"}),"Loading..."]}):"Load more replies"})})]})},Et=({commentId:s,dislikesEnabled:t,open:a,onOpenChange:r})=>{const{data:n,isLoading:l,isError:i,fetchNextPage:c,hasNextPage:u,isFetchingNextPage:h}=kt(s??"",{dislikesEnabled:t,enabled:a&&!!s}),{data:p,isLoading:j,isError:d}=gt(s??"",{dislikesEnabled:t,enabled:a&&!!s}),f=l||j,g=d||i&&!p,o=p?.comments?.[0],v=n?.comments||[];return e.jsx(us,{open:a,onOpenChange:r,children:e.jsxs(xs,{className:"overflow-y-auto px-6 pt-0 sm:max-w-[420px]",children:[e.jsx(hs,{className:"sticky top-0 z-40 -mx-6 bg-background/60 p-6 backdrop-blur",children:e.jsx(ps,{className:"text-md",children:"Thread"})}),o?.post&&e.jsxs(e.Fragment,{children:[e.jsxs("div",{className:"flex items-center gap-4",children:[e.jsxs("div",{className:"min-w-0 flex-1",children:[e.jsx("h3",{className:"line-clamp-1 text-xl font-semibold text-foreground",children:o.post.title}),o.post.excerpt&&e.jsx("p",{className:"mt-1 line-clamp-2 text-sm text-muted-foreground",children:o.post.excerpt})]}),o.post.feature_image&&e.jsx("img",{alt:o.post.title||"Post feature image",className:"hidden aspect-video h-18 shrink-0 rounded object-cover lg:block",src:o.post.feature_image})]}),e.jsx(fs,{className:"-mx-6 my-6 w-auto"})]}),e.jsx("div",{children:f?e.jsx("div",{className:"flex h-full items-center justify-center py-8",children:e.jsx(P,{size:"lg"})}):g||!o?e.jsx("div",{className:"flex h-full items-center justify-center py-8",children:e.jsx(se,{actions:e.jsx(b,{variant:"outline",onClick:()=>r(!1),children:"Back to comments"}),description:"This thread may have been deleted or doesn't exist.",title:"Thread not found",children:e.jsx(Z,{})})}):e.jsx(Dt,{dislikesEnabled:t,fetchNextPage:c,hasNextPage:u,isFetchingNextPage:h,replies:v,selectedComment:o,selectedCommentId:s??""})})]})})},ve=({height:s})=>e.jsx("div",{"aria-hidden":"true",className:"flex",children:e.jsx("div",{className:"flex",style:{height:s}})}),Ft=x.forwardRef(function(t,a){return e.jsx("div",{ref:a,...t,"aria-hidden":"true",className:"relative flex flex-col",children:e.jsx("div",{className:"relative z-10 h-24 animate-pulse",children:e.jsx("div",{className:"h-full rounded-md bg-muted","data-testid":"loading-placeholder"})})})});function Mt({items:s,totalItems:t,hasNextPage:a,isFetchingNextPage:r,fetchNextPage:n,resetKey:l,onAddFilter:i,isLoading:c,dislikesEnabled:u}){const h=x.useRef(null),{visibleItemCount:p,canLoadMore:j,loadMore:d}=et(t,{resetKey:l}),[f,g]=z(),[o,v]=x.useState(!1),[S,y]=x.useState(null),{mutate:W}=Oe(),{mutate:I}=$e(),{mutate:U}=me(),A=ue(),H=C=>{if(v(C),!C){const w=new URLSearchParams(f);w.delete("thread"),g(w,{replace:!0})}};x.useEffect(()=>{const C=f.get("thread");if(C){const w=C.match(/^is:(.+)$/);if(w&&w[1]){const m=w[1];y(m),v(!0)}else v(!1),y(null)}else v(!1),y(null)},[f]),zs({parentRef:h,isLoading:c});const{visibleItems:Q,spaceBefore:R,spaceAfter:V}=st({items:s,totalItems:p,hasNextPage:a,isFetchingNextPage:r,fetchNextPage:n,parentRef:h});return e.jsx(js,{children:e.jsxs("div",{ref:h,className:"overflow-hidden border-t",children:[e.jsx("div",{className:"flex flex-col","data-testid":"comments-list",children:e.jsxs("div",{className:"flex flex-col",children:[e.jsx(ve,{height:R}),Q.map(({key:C,virtualItem:w,item:m,props:pe})=>w.index>s.length-1?e.jsx(Ft,{...pe},C):e.jsxs("div",{...pe,className:"grid w-full grid-cols-1 items-start justify-between gap-4 border-b p-3 hover:bg-muted/50 md:p-5 lg:grid-cols-[minmax(0,1fr)_144px]","data-testid":"comment-list-row",onClick:()=>{o&&H(!1)},children:[e.jsxs("div",{className:"flex items-start gap-3",children:[e.jsx(_,{className:N("mt-0.5 size-6 md:size-8",m.status==="hidden"&&"opacity-50"),email:m.member?.email,name:m.member?.name,src:m.member?.avatar_image}),e.jsxs("div",{className:"flex min-w-0 flex-col gap-3",children:[e.jsxs("div",{children:[e.jsx(Be,{canComment:m.member?.can_comment,createdAt:m.created_at,isHidden:m.status==="hidden",isPinned:A&&m.pinned,memberId:m.member?.id,memberName:m.member?.name,postTitle:m.post?.title,onAuthorClick:m.member?.id?()=>i("author",m.member.id):void 0,onPostClick:m.post?.id?()=>i("post",m.post.id):void 0,onUnpinClick:A?()=>U({id:m.id}):void 0}),m.in_reply_to_snippet&&e.jsxs("div",{className:`mb-1 line-clamp-1 max-w-3xl ${m.status==="hidden"&&"opacity-50"}`,children:[e.jsx("span",{className:"text-muted-foreground",children:"Replied to:"})," ",e.jsx(le,{className:"text-sm font-normal text-muted-foreground hover:text-foreground","data-testid":"replied-to-link",to:xe(f,m.in_reply_to_id||m.parent_id)||"",onClick:Ke=>{Ke.stopPropagation()},children:m.in_reply_to_snippet})]})]}),e.jsx(Fe,{item:m}),e.jsxs("div",{className:"flex flex-row flex-nowrap items-center gap-3",children:[m.status==="published"&&e.jsxs(b,{className:"text-foreground",size:"sm",variant:"outline",onClick:()=>W({id:m.id}),children:[e.jsx(Pe,{}),"Hide"]}),m.status==="hidden"&&e.jsxs(b,{className:"text-foreground",size:"sm",variant:"outline",onClick:()=>I({id:m.id}),children:[e.jsx(Re,{}),"Show"]}),e.jsx(Ue,{className:"ml-2",comment:m,dislikesEnabled:u}),e.jsx(Ie,{comment:m})]})]})]}),e.jsx("div",{children:m.post?.feature_image?e.jsx("img",{alt:m.post.title||"Post feature image",className:`hidden aspect-video w-36 rounded object-cover lg:block ${m.status==="hidden"&&"opacity-50"}`,src:m.post.feature_image}):null})]},C)),e.jsx(ve,{height:V})]})}),j&&e.jsx(tt,{isLoading:r,onClick:d}),e.jsx(Et,{commentId:S,dislikesEnabled:u,open:o,onOpenChange:H})]})})}const zt=As(B,"date");function He(s){return Is(B,s.field,"UTC")?.definition.operators.includes(s.operator)??!1}function Qe(s,t){return Array.isArray(s.$and)?s.$and.flatMap(a=>Qe(a,t)):Us([s],B,t)}function Ot(s,t){const a=we(s??"");return a?Bs(Qe(a,t).filter(He)):[]}function $t(s){const t=we(s??"");return t?Os(t,zt):!1}function he(s,t){return $s(s.filter(He),B,t)}const Ve=["status","created_at","body","post","author","reported"],Bt={is_not:"is-not",not_contains:"does-not-contain",before:"is-less",after:"is-greater",on_or_before:"is-or-less",on_or_after:"is-or-greater"};function It(s){const t=s.indexOf(":");if(t<=0)return null;const a=s.substring(0,t),r=s.substring(t+1);return r?{operator:Bt[a]??a,value:r}:null}function Ut(s){const t=[];for(const[a,r]of s.entries()){if(!Ve.includes(a))continue;const n=It(r);n&&t.push({id:`${a}:${t.length+1}`,field:a,operator:n.operator,values:[n.value]})}return t}function qe(s){Ve.forEach(t=>s.delete(t))}function Ne(s,t,a){const r=new URLSearchParams(s),n=he(t,a);return r.delete("filter"),qe(r),n&&r.set("filter",n),r}function At(s,t,a=!t){return!!s&&a&&!t&&$t(s)}function Ht(s){const[t,a]=z(),r=x.useRef(null),n=x.useMemo(()=>t.get("filter")??void 0,[t]),l=x.useMemo(()=>t.toString(),[t]),i=x.useMemo(()=>n!==void 0?Ot(n,s):Ut(t),[n,t,s]),[c,u]=x.useState(i),h=x.useMemo(()=>he(c,s),[c,s]);x.useEffect(()=>{l!==r.current&&(u(i),r.current=l)},[l,i]),x.useEffect(()=>{if(r.current!==null&&l!==r.current)return;const d=Ne(t,c,s),f=d.toString();f!==l&&(r.current=f,a(d,{replace:!0}))},[l,c,t,a,s]);const p=x.useCallback((d,f={})=>{const g=typeof d=="function"?d(c):d,o=Ne(t,g,s),v=f.replace??!0;u(g),r.current=o.toString(),a(o,{replace:v})},[c,t,a,s]),j=x.useCallback(({replace:d=!0}={})=>{const f=new URLSearchParams(t);f.delete("filter"),qe(f),u([]),r.current=f.toString(),a(f,{replace:d})},[t,a]);return{filters:c,nql:h,setFilters:p,clearFilters:j}}function Qt(s){return s.get("id")?.match(/^is:(.+)$/)?.[1]}const Vt=({timezone:s,singleCommentId:t})=>{const[a,r]=z(),{filters:n,nql:l,setFilters:i}=Ht(s),c=!0,u=x.useCallback((U,A,H="is")=>{const Q=[...n.filter(C=>C.field!==U),vs(U,H,[A])];if(!t){i(Q,{replace:!1});return}const R=new URLSearchParams(a),V=he(Q,s);R.delete("id"),R.delete("filter"),V&&R.set("filter",V),r(R,{replace:!1})},[n,a,i,r,t,s]),h=x.useMemo(()=>t?`id:${at(t)}`:l,[l,t]),p=x.useCallback(()=>{r(new URLSearchParams,{replace:!1})},[r]),{data:j,isError:d,isFetching:f,isFetchingNextPage:g,isRefetching:o,fetchNextPage:v,hasNextPage:S}=ze({searchParams:{include:de(c),...h?{filter:h}:{}},keepPreviousData:!0}),y=f&&!g&&!o,W=h??"",I=n.length>0;return e.jsx(De,{children:e.jsxs(M,{"data-testid":"comments-page",children:[e.jsxs(M.Header,{children:[e.jsxs(k,{blurredBackground:!1,sticky:!1,children:[e.jsx(k.Left,{children:e.jsx(k.Title,{children:"Comments"})}),!t&&!I&&e.jsx(k.Actions,{children:e.jsx(k.ActionGroup,{children:e.jsx(be,{filters:n,siteTimezone:s,onFiltersChange:i})})})]}),!t&&I&&e.jsx(Hs,{children:e.jsx(be,{filters:n,siteTimezone:s,onFiltersChange:i})})]}),e.jsx(M.Body,{children:y?e.jsx("div",{className:"flex flex-1 items-center justify-center",children:e.jsx(P,{size:"lg"})}):d?e.jsxs("div",{className:"flex flex-1 flex-col items-center justify-center",children:[e.jsx("h2",{className:"mb-2 text-xl font-medium",children:"Error loading comments"}),e.jsx("p",{className:"mb-4 text-muted-foreground",children:"Please reload the page to try again"}),e.jsx(b,{onClick:()=>window.location.reload(),children:"Reload page"})]}):j?.comments.length?e.jsxs(e.Fragment,{children:[e.jsx(Mt,{dislikesEnabled:c,fetchNextPage:v,hasNextPage:S,isFetchingNextPage:g,isLoading:f&&!g,items:j?.comments??[],resetKey:W,totalItems:j?.meta?.pagination?.total??0,onAddFilter:u}),t&&e.jsx("div",{className:"flex justify-center py-8",children:e.jsx(b,{variant:"outline",onClick:p,children:"Show all comments"})})]}):e.jsx("div",{className:"flex flex-1 items-center justify-center",children:t?e.jsxs("div",{className:"flex flex-col items-center",children:[e.jsx(se,{title:"Comment not found",children:e.jsx(Z,{})}),e.jsx(b,{className:"mt-4",variant:"outline",onClick:p,children:"Show all comments"})]}):e.jsx(se,{title:"No comments yet",children:e.jsx(Z,{})})})})]})})},ha=()=>{const[s]=z(),{data:t,isLoading:a}=gs({}),r=x.useMemo(()=>Qt(s),[s]),n=s.get("filter")??void 0;if(!r&&At(n,!!t,a))return e.jsx(De,{children:e.jsxs(M,{children:[e.jsx(M.Header,{children:e.jsx(k,{blurredBackground:!1,sticky:!1,children:e.jsx(k.Left,{children:e.jsx(k.Title,{children:"Comments"})})})}),e.jsx(M.Body,{children:e.jsx("div",{className:"flex flex-1 items-center justify-center",children:e.jsx(P,{size:"lg"})})})]})});const i=rt(t?.settings??[]);return e.jsx(Vt,{singleCommentId:r,timezone:i})};export{ha as default};
@@ -1 +1 @@
1
- import{d$ as o}from"./index-pkixJbdq.js";import{M as h}from"./mail-DG4PKpZy.js";const a=({defaultSourceIconUrl:e,displayName:s,iconSrc:t})=>o.jsx(o.Fragment,{children:s.trim().toLowerCase().endsWith("newsletter")?o.jsx(h,{"aria-label":"Newsletter",className:"size-4 text-muted-foreground"}):o.jsx("img",{alt:"",className:"size-4",src:t,onError:c=>{c.currentTarget.src=e}})}),r={POSTS:"posts",PAGES:"pages",POSTS_AND_PAGES:"posts_and_pages",SOURCES:"sources"},p=e=>{switch(e){case r.POSTS:return"Top posts";case r.PAGES:return"Top pages";case r.SOURCES:return"Top sources";default:return"Top content"}},i=(e,s,t)=>{switch(e){case r.POSTS:return`Your highest viewed posts ${t(s)}`;case r.PAGES:return`Your highest viewed pages ${t(s)}`;case r.POSTS_AND_PAGES:return`Your highest viewed posts or pages ${t(s)}`;case r.SOURCES:return`How readers found your site ${t(s)}`;default:return`Your highest viewed posts or pages ${t(s)}`}},u=(e,s,t)=>{switch(e){case r.POSTS:return`Which posts drove the most growth ${t(s)}`;case r.PAGES:return`Which pages drove the most growth ${t(s)}`;case r.POSTS_AND_PAGES:return`Which posts or pages drove the most growth ${t(s)}`;case r.SOURCES:return`Which sources drove the most growth ${t(s)}`;default:return`Which posts drove the most growth ${t(s)}`}};export{r as C,a as S,p as a,u as b,i as g};
1
+ import{d$ as o}from"./index-C-075SzJ.js";import{M as h}from"./mail-DvrqP73n.js";const a=({defaultSourceIconUrl:e,displayName:s,iconSrc:t})=>o.jsx(o.Fragment,{children:s.trim().toLowerCase().endsWith("newsletter")?o.jsx(h,{"aria-label":"Newsletter",className:"size-4 text-muted-foreground"}):o.jsx("img",{alt:"",className:"size-4",src:t,onError:c=>{c.currentTarget.src=e}})}),r={POSTS:"posts",PAGES:"pages",POSTS_AND_PAGES:"posts_and_pages",SOURCES:"sources"},p=e=>{switch(e){case r.POSTS:return"Top posts";case r.PAGES:return"Top pages";case r.SOURCES:return"Top sources";default:return"Top content"}},i=(e,s,t)=>{switch(e){case r.POSTS:return`Your highest viewed posts ${t(s)}`;case r.PAGES:return`Your highest viewed pages ${t(s)}`;case r.POSTS_AND_PAGES:return`Your highest viewed posts or pages ${t(s)}`;case r.SOURCES:return`How readers found your site ${t(s)}`;default:return`Your highest viewed posts or pages ${t(s)}`}},u=(e,s,t)=>{switch(e){case r.POSTS:return`Which posts drove the most growth ${t(s)}`;case r.PAGES:return`Which pages drove the most growth ${t(s)}`;case r.POSTS_AND_PAGES:return`Which posts or pages drove the most growth ${t(s)}`;case r.SOURCES:return`Which sources drove the most growth ${t(s)}`;default:return`Which posts drove the most growth ${t(s)}`}};export{r as C,a as S,p as a,u as b,i as g};
@@ -1 +1 @@
1
- import{cR as c}from"./index-pkixJbdq.js";const e=[["rect",{width:"14",height:"14",x:"8",y:"8",rx:"2",ry:"2",key:"17jyea"}],["path",{d:"M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2",key:"zix9uf"}]],t=c("copy",e);export{t as C};
1
+ import{cR as c}from"./index-C-075SzJ.js";const e=[["rect",{width:"14",height:"14",x:"8",y:"8",rx:"2",ry:"2",key:"17jyea"}],["path",{d:"M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2",key:"zix9uf"}]],t=c("copy",e);export{t as C};
@@ -1 +1 @@
1
- import{d2 as r,d$ as i,cJ as o}from"./index-pkixJbdq.js";const l=r.forwardRef(({children:a,className:e,...t},s)=>i.jsx("div",{ref:s,className:o("flex flex-col items-stretch",e),...t,children:a}));l.displayName="DataList";const n=r.forwardRef(({children:a,className:e,...t},s)=>i.jsx("div",{ref:s,className:o("flex uppercase items-center justify-between gap-2 border-b p-2 text-xs tracking-wide font-medium text-muted-foreground",e),...t,children:a}));n.displayName="DataListHeader";const p=r.forwardRef(({children:a,className:e,...t},s)=>i.jsx("div",{ref:s,className:o("",e),...t,children:a}));p.displayName="DataListHead";const u=r.forwardRef(({children:a,className:e,...t},s)=>i.jsx("div",{ref:s,className:o("flex flex-col items-stretch pt-1.5",e),...t,children:a}));u.displayName="DataListBody";const c=r.forwardRef(({children:a,className:e,...t},s)=>i.jsx("div",{ref:s,className:o("group/row py-0.5 relative flex items-center justify-between gap-3 before:absolute before:z-0 before:-inset-x-0.5 before:inset-y-0.5 before:bg-muted/60 before:opacity-0 hover:before:opacity-100 before:rounded-[6px]",e),...t,children:a}));c.displayName="DataListRow";const m=r.forwardRef(({children:a,className:e,...t},s)=>i.jsx("div",{ref:s,className:o("absolute inset-x-0 inset-y-1 z-0 origin-left rounded-[4px] bg-state-info/10 group-hover/row:bg-state-info/25 dark:bg-state-info/20 dark:group-hover/row:bg-state-info/35 transition-all",e),...t,children:a}));m.displayName="DataListBar";const f=r.forwardRef(({children:a,className:e,...t},s)=>i.jsx("div",{ref:s,className:o("text-sm p-2 font-medium relative z-10 flex min-w-0 max-w-[calc(100%-32px)] items-center transition-[max-width] duration-300 ease-in-out group-hover/datalist:max-w-[calc(100%-100px)]",e),...t,children:a}));f.displayName="DataListItemContent";const x=r.forwardRef(({children:a,className:e,...t},s)=>{const d=r.Children.toArray(a).length>1;return i.jsx("div",{ref:s,className:o("z-10 flex items-center",d&&'[&>[data-type="value-abs"]]:transition-transform [&>[data-type="value-abs"]]:duration-300 [&>[data-type="value-abs"]]:group-hover/datalist:-translate-x-14',d&&'[&>[data-type="value-perc"]]:invisible [&>[data-type="value-perc"]]:absolute [&>[data-type="value-perc"]]:right-0 [&>[data-type="value-perc"]]:translate-x-14 [&>[data-type="value-perc"]]:opacity-0 [&>[data-type="value-perc"]]:transition-all [&>[data-type="value-perc"]]:duration-300 [&>[data-type="value-perc"]]:group-hover/datalist:visible [&>[data-type="value-perc"]]:group-hover/datalist:translate-x-0 [&>[data-type="value-perc"]]:group-hover/datalist:opacity-100',e),...t,children:a})});x.displayName="DataListItemValue";const y=r.forwardRef(({children:a,className:e,...t},s)=>i.jsx("div",{ref:s,className:o("z-10 px-2 text-sm font-mono",e),"data-type":"value-abs",...t,children:a}));y.displayName="DataListItemValueAbs";const v=r.forwardRef(({children:a,className:e,...t},s)=>i.jsx("div",{ref:s,className:o("px-3 text-sm font-mono text-muted-foreground",e),"data-type":"value-perc",...t,children:a}));v.displayName="DataListItemValuePerc";export{l as D,m as a,u as b,p as c,n as d,f as e,x as f,y as g,v as h,c as i};
1
+ import{d2 as r,d$ as i,cJ as o}from"./index-C-075SzJ.js";const l=r.forwardRef(({children:a,className:e,...t},s)=>i.jsx("div",{ref:s,className:o("flex flex-col items-stretch",e),...t,children:a}));l.displayName="DataList";const n=r.forwardRef(({children:a,className:e,...t},s)=>i.jsx("div",{ref:s,className:o("flex uppercase items-center justify-between gap-2 border-b p-2 text-xs tracking-wide font-medium text-muted-foreground",e),...t,children:a}));n.displayName="DataListHeader";const p=r.forwardRef(({children:a,className:e,...t},s)=>i.jsx("div",{ref:s,className:o("",e),...t,children:a}));p.displayName="DataListHead";const u=r.forwardRef(({children:a,className:e,...t},s)=>i.jsx("div",{ref:s,className:o("flex flex-col items-stretch pt-1.5",e),...t,children:a}));u.displayName="DataListBody";const c=r.forwardRef(({children:a,className:e,...t},s)=>i.jsx("div",{ref:s,className:o("group/row py-0.5 relative flex items-center justify-between gap-3 before:absolute before:z-0 before:-inset-x-0.5 before:inset-y-0.5 before:bg-muted/60 before:opacity-0 hover:before:opacity-100 before:rounded-[6px]",e),...t,children:a}));c.displayName="DataListRow";const m=r.forwardRef(({children:a,className:e,...t},s)=>i.jsx("div",{ref:s,className:o("absolute inset-x-0 inset-y-1 z-0 origin-left rounded-[4px] bg-state-info/10 group-hover/row:bg-state-info/25 dark:bg-state-info/20 dark:group-hover/row:bg-state-info/35 transition-all",e),...t,children:a}));m.displayName="DataListBar";const f=r.forwardRef(({children:a,className:e,...t},s)=>i.jsx("div",{ref:s,className:o("text-sm p-2 font-medium relative z-10 flex min-w-0 max-w-[calc(100%-32px)] items-center transition-[max-width] duration-300 ease-in-out group-hover/datalist:max-w-[calc(100%-100px)]",e),...t,children:a}));f.displayName="DataListItemContent";const x=r.forwardRef(({children:a,className:e,...t},s)=>{const d=r.Children.toArray(a).length>1;return i.jsx("div",{ref:s,className:o("z-10 flex items-center",d&&'[&>[data-type="value-abs"]]:transition-transform [&>[data-type="value-abs"]]:duration-300 [&>[data-type="value-abs"]]:group-hover/datalist:-translate-x-14',d&&'[&>[data-type="value-perc"]]:invisible [&>[data-type="value-perc"]]:absolute [&>[data-type="value-perc"]]:right-0 [&>[data-type="value-perc"]]:translate-x-14 [&>[data-type="value-perc"]]:opacity-0 [&>[data-type="value-perc"]]:transition-all [&>[data-type="value-perc"]]:duration-300 [&>[data-type="value-perc"]]:group-hover/datalist:visible [&>[data-type="value-perc"]]:group-hover/datalist:translate-x-0 [&>[data-type="value-perc"]]:group-hover/datalist:opacity-100',e),...t,children:a})});x.displayName="DataListItemValue";const y=r.forwardRef(({children:a,className:e,...t},s)=>i.jsx("div",{ref:s,className:o("z-10 px-2 text-sm font-mono",e),"data-type":"value-abs",...t,children:a}));y.displayName="DataListItemValueAbs";const v=r.forwardRef(({children:a,className:e,...t},s)=>i.jsx("div",{ref:s,className:o("px-3 text-sm font-mono text-muted-foreground",e),"data-type":"value-perc",...t,children:a}));v.displayName="DataListItemValuePerc";export{l as D,m as a,u as b,p as c,n as d,f as e,x as f,y as g,v as h,c as i};
@@ -1 +1 @@
1
- import{ed as u,d$ as e,J as y,aU as j,fE as v,e3 as p,fQ as w,dm as b,a as R,b4 as N}from"./index-pkixJbdq.js";import{T}from"./trash-BKhRqxsX.js";const M=({count:t,onClick:l,variant:d="default",preserveScroll:r=!0,loading:c=!1})=>{const n=u.useRef(null),i=()=>{if(t&&t>0)return`Show ${t} more ${t===1?"reply":"replies"}`;switch(d){case"expand":return"Show replies";case"loadMore":return"Show more replies";default:return"Show replies"}},a=()=>{if(r){const s=document.querySelector("[data-scrollable-container]"),o=s?s.scrollTop:window.scrollY;l(),setTimeout(()=>{s?s.scrollTop=o:window.scrollTo(0,o)},0)}else l()};return e.jsxs("div",{ref:n,className:"mt-[-7px] flex items-center pb-3",children:[e.jsxs("div",{className:"flex w-10 flex-col items-center justify-center gap-1",children:[e.jsx("div",{className:"size-0.5 rounded-sm bg-gray-300"}),e.jsx("div",{className:"size-0.5 rounded-sm bg-gray-300"}),e.jsx("div",{className:"size-0.5 rounded-sm bg-gray-300"})]}),e.jsx(y,{className:"text-sm font-medium text-blue-600 hover:text-blue-800",variant:"ghost",onClick:s=>{s.preventDefault(),s.stopPropagation(),s.target.blur(),a()},children:c?e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx(j,{size:"sm"}),e.jsx("span",{children:"Loading..."})]}):i()})]})};function z(t,l={}){const{includeAncestors:d=!1}=l,{data:r,isLoading:c,loadMoreChildren:n,loadMoreChildReplies:i,hasMoreChildren:a,hasMoreChildReplies:s}=v("index",t),o=d?r?.ancestors?.chain?.map(p)||[]:[],x=r?.post?p(r.post):void 0,h=(r?.children??[]).map(m=>{const f=p(m.post),g=m.chain?m.chain.map(p):[];return{mainReply:f,chain:g}});return{threadParents:o,post:x,processedReplies:h,isLoading:c,loadMoreChildren:n,loadMoreChildReplies:i,hasMoreChildren:a,hasMoreChildReplies:s}}const A=({object:t,onReply:l,onReplyError:d,className:r,...c})=>{const{data:n}=w("index"),[i,a]=u.useState(!1);if(!n)return null;const s=t.attributedTo;let o="Reply...";return s?.preferredUsername&&s?.id&&(o=`Reply to ${b(s)}...`),e.jsxs(e.Fragment,{children:[e.jsxs("div",{className:`flex w-full cursor-pointer gap-x-3 py-6 ${r||""}`,onClick:()=>a(!0),...c,children:[e.jsx(R,{author:n}),e.jsx("div",{className:"flex w-full items-center",children:e.jsx("div",{className:"w-full text-[1.5rem] text-gray-500 transition-colors dark:text-gray-400",children:o})})]}),i&&e.jsx(N,{open:i,replyTo:{object:t,actor:t.attributedTo},onOpenChange:x=>{a(x)},onReply:()=>{l?.(),a(!1)},onReplyError:()=>{d?.()}})]})},P=({last:t})=>e.jsxs("div",{className:"relative mt-[-5px] py-5",children:[e.jsxs("div",{className:"flex h-12 grow items-center gap-2 rounded-lg border border-gray-200 p-2 px-[10px] text-gray-600",children:[e.jsx(T,{size:18,strokeWidth:1.25}),"This post has been deleted"]}),!t&&e.jsx("div",{className:"absolute top-[70px] bottom-0 left-[18px] z-0 mb-[-13px] w-[2px] rounded-sm bg-gray-200"})]});export{A,P as D,M as S,z as u};
1
+ import{ed as u,d$ as e,J as y,aU as j,fE as v,e3 as p,fQ as w,dm as b,a as R,b4 as N}from"./index-C-075SzJ.js";import{T}from"./trash-DNXRsBf0.js";const M=({count:t,onClick:l,variant:d="default",preserveScroll:r=!0,loading:c=!1})=>{const n=u.useRef(null),i=()=>{if(t&&t>0)return`Show ${t} more ${t===1?"reply":"replies"}`;switch(d){case"expand":return"Show replies";case"loadMore":return"Show more replies";default:return"Show replies"}},a=()=>{if(r){const s=document.querySelector("[data-scrollable-container]"),o=s?s.scrollTop:window.scrollY;l(),setTimeout(()=>{s?s.scrollTop=o:window.scrollTo(0,o)},0)}else l()};return e.jsxs("div",{ref:n,className:"mt-[-7px] flex items-center pb-3",children:[e.jsxs("div",{className:"flex w-10 flex-col items-center justify-center gap-1",children:[e.jsx("div",{className:"size-0.5 rounded-sm bg-gray-300"}),e.jsx("div",{className:"size-0.5 rounded-sm bg-gray-300"}),e.jsx("div",{className:"size-0.5 rounded-sm bg-gray-300"})]}),e.jsx(y,{className:"text-sm font-medium text-blue-600 hover:text-blue-800",variant:"ghost",onClick:s=>{s.preventDefault(),s.stopPropagation(),s.target.blur(),a()},children:c?e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx(j,{size:"sm"}),e.jsx("span",{children:"Loading..."})]}):i()})]})};function z(t,l={}){const{includeAncestors:d=!1}=l,{data:r,isLoading:c,loadMoreChildren:n,loadMoreChildReplies:i,hasMoreChildren:a,hasMoreChildReplies:s}=v("index",t),o=d?r?.ancestors?.chain?.map(p)||[]:[],x=r?.post?p(r.post):void 0,h=(r?.children??[]).map(m=>{const f=p(m.post),g=m.chain?m.chain.map(p):[];return{mainReply:f,chain:g}});return{threadParents:o,post:x,processedReplies:h,isLoading:c,loadMoreChildren:n,loadMoreChildReplies:i,hasMoreChildren:a,hasMoreChildReplies:s}}const A=({object:t,onReply:l,onReplyError:d,className:r,...c})=>{const{data:n}=w("index"),[i,a]=u.useState(!1);if(!n)return null;const s=t.attributedTo;let o="Reply...";return s?.preferredUsername&&s?.id&&(o=`Reply to ${b(s)}...`),e.jsxs(e.Fragment,{children:[e.jsxs("div",{className:`flex w-full cursor-pointer gap-x-3 py-6 ${r||""}`,onClick:()=>a(!0),...c,children:[e.jsx(R,{author:n}),e.jsx("div",{className:"flex w-full items-center",children:e.jsx("div",{className:"w-full text-[1.5rem] text-gray-500 transition-colors dark:text-gray-400",children:o})})]}),i&&e.jsx(N,{open:i,replyTo:{object:t,actor:t.attributedTo},onOpenChange:x=>{a(x)},onReply:()=>{l?.(),a(!1)},onReplyError:()=>{d?.()}})]})},P=({last:t})=>e.jsxs("div",{className:"relative mt-[-5px] py-5",children:[e.jsxs("div",{className:"flex h-12 grow items-center gap-2 rounded-lg border border-gray-200 p-2 px-[10px] text-gray-600",children:[e.jsx(T,{size:18,strokeWidth:1.25}),"This post has been deleted"]}),!t&&e.jsx("div",{className:"absolute top-[70px] bottom-0 left-[18px] z-0 mb-[-13px] w-[2px] rounded-sm bg-gray-200"})]});export{A,P as D,M as S,z as u};