@alook/app 0.1.1 → 0.1.2

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 (195) hide show
  1. package/bundled/email-worker/index.js +6 -1
  2. package/bundled/web/.open-next/.build/cache.cjs +7 -7
  3. package/bundled/web/.open-next/.build/composable-cache.cjs +6 -6
  4. package/bundled/web/.open-next/.build/durable-objects/bucket-cache-purge.js +2 -2
  5. package/bundled/web/.open-next/.build/durable-objects/queue.js +7 -7
  6. package/bundled/web/.open-next/.build/open-next.config.edge.mjs +2 -2
  7. package/bundled/web/.open-next/.build/open-next.config.mjs +2 -2
  8. package/bundled/web/.open-next/assets/BUILD_ID +1 -1
  9. package/bundled/web/.open-next/assets/_next/static/chunks/{11qig4ljacekb.js → 002y0apuulox9.js} +3 -3
  10. package/bundled/web/.open-next/assets/_next/static/chunks/01y64se2to6aw.js +1 -0
  11. package/bundled/web/.open-next/assets/_next/static/chunks/0t82_exl28h1-.js +1 -0
  12. package/bundled/web/.open-next/assets/_next/static/chunks/13j8s5c4tleu3.js +1 -0
  13. package/bundled/web/.open-next/assets/_next/static/chunks/1e9soswsiuvur.js +1 -0
  14. package/bundled/web/.open-next/assets/_next/static/chunks/1frz3l9-_k3mv.js +1 -0
  15. package/bundled/web/.open-next/assets/_next/static/chunks/{1kk5j84c76j58.js → 1zqcl04i5rmfz.js} +1 -1
  16. package/bundled/web/.open-next/assets/_next/static/chunks/2-lu06q3t6p3d.js +1 -0
  17. package/bundled/web/.open-next/assets/_next/static/chunks/20g6_yt5337-z.js +65 -0
  18. package/bundled/web/.open-next/assets/_next/static/chunks/211iq6j28qjhu.js +3 -0
  19. package/bundled/web/.open-next/assets/_next/static/chunks/{2c3ad9swsh568.js → 2azk7dgkwm1h3.js} +1 -1
  20. package/bundled/web/.open-next/assets/_next/static/chunks/2nzmwcqa9d4mk.js +1 -0
  21. package/bundled/web/.open-next/assets/_next/static/chunks/2zgy2uoru3zk4.js +1 -0
  22. package/bundled/web/.open-next/assets/_next/static/chunks/{2atr7vh-5_ryq.js → 36-26qiwh4f-y.js} +1 -1
  23. package/bundled/web/.open-next/assets/_next/static/chunks/{2-_870ufkhrwb.js → 39tveub83c61m.js} +1 -1
  24. package/bundled/web/.open-next/assets/_next/static/chunks/3_5q-1s46y09-.css +1 -0
  25. package/bundled/web/.open-next/assets/_next/static/chunks/3f74uo3mtwtq5.js +1 -0
  26. package/bundled/web/.open-next/assets/_next/static/chunks/3yjxlagd8d5_1.js +1 -0
  27. package/bundled/web/.open-next/assets/alook.svg +47 -29
  28. package/bundled/web/.open-next/assets/apple-touch-icon.png +0 -0
  29. package/bundled/web/.open-next/assets/icon-192.png +0 -0
  30. package/bundled/web/.open-next/assets/icon-512.png +0 -0
  31. package/bundled/web/.open-next/cache/{f7HZ3A2lcl00AQWePpBPz → QAHTJJ2088SDjU6s2f6r7}/_global-error.cache +1 -1
  32. package/bundled/web/.open-next/cache/{f7HZ3A2lcl00AQWePpBPz → QAHTJJ2088SDjU6s2f6r7}/_not-found.cache +1 -1
  33. package/bundled/web/.open-next/cache/{f7HZ3A2lcl00AQWePpBPz → QAHTJJ2088SDjU6s2f6r7}/blog/feed.xml.cache +1 -1
  34. package/bundled/web/.open-next/cache/{f7HZ3A2lcl00AQWePpBPz → QAHTJJ2088SDjU6s2f6r7}/blog.cache +1 -1
  35. package/bundled/web/.open-next/cache/{f7HZ3A2lcl00AQWePpBPz → QAHTJJ2088SDjU6s2f6r7}/c/me/bots.cache +1 -1
  36. package/bundled/web/.open-next/cache/{f7HZ3A2lcl00AQWePpBPz → QAHTJJ2088SDjU6s2f6r7}/c/me/machines.cache +1 -1
  37. package/bundled/web/.open-next/cache/{f7HZ3A2lcl00AQWePpBPz → QAHTJJ2088SDjU6s2f6r7}/c/me.cache +1 -1
  38. package/bundled/web/.open-next/cache/{f7HZ3A2lcl00AQWePpBPz → QAHTJJ2088SDjU6s2f6r7}/c.cache +1 -1
  39. package/bundled/web/.open-next/cache/{f7HZ3A2lcl00AQWePpBPz → QAHTJJ2088SDjU6s2f6r7}/device.cache +1 -1
  40. package/bundled/web/.open-next/cache/{f7HZ3A2lcl00AQWePpBPz → QAHTJJ2088SDjU6s2f6r7}/privacy.cache +1 -1
  41. package/bundled/web/.open-next/cache/{f7HZ3A2lcl00AQWePpBPz → QAHTJJ2088SDjU6s2f6r7}/sitemap.xml.cache +1 -1
  42. package/bundled/web/.open-next/cloudflare/cache-assets-manifest.sql +1 -1
  43. package/bundled/web/.open-next/cloudflare/images.js +2 -2
  44. package/bundled/web/.open-next/cloudflare/init.js +1 -1
  45. package/bundled/web/.open-next/dynamodb-provider/dynamodb-cache.json +1 -1
  46. package/bundled/web/.open-next/dynamodb-provider/open-next.config.mjs +2 -2
  47. package/bundled/web/.open-next/middleware/handler.mjs +332 -324
  48. package/bundled/web/.open-next/middleware/open-next.config.mjs +2 -2
  49. package/bundled/web/.open-next/server-functions/default/src/web/.next/BUILD_ID +1 -1
  50. package/bundled/web/.open-next/server-functions/default/src/web/.next/build-manifest.json +3 -3
  51. package/bundled/web/.open-next/server-functions/default/src/web/.next/prerender-manifest.json +3 -3
  52. package/bundled/web/.open-next/server-functions/default/src/web/.next/required-server-files.json +1 -1
  53. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/(app)/invite/[token]/page_client-reference-manifest.js +1 -1
  54. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/(app)/studio/new/page_client-reference-manifest.js +1 -1
  55. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/(app)/w/[slug]/agents/[id]/activity/page_client-reference-manifest.js +1 -1
  56. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/(app)/w/[slug]/agents/[id]/chat/[convId]/page_client-reference-manifest.js +1 -1
  57. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/(app)/w/[slug]/agents/[id]/chat/page_client-reference-manifest.js +1 -1
  58. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/(app)/w/[slug]/agents/[id]/email/page_client-reference-manifest.js +1 -1
  59. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/(app)/w/[slug]/agents/[id]/files/page_client-reference-manifest.js +1 -1
  60. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/(app)/w/[slug]/agents/[id]/meetings/page_client-reference-manifest.js +1 -1
  61. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/(app)/w/[slug]/agents/[id]/page_client-reference-manifest.js +1 -1
  62. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/(app)/w/[slug]/agents/new/page_client-reference-manifest.js +1 -1
  63. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/(app)/w/[slug]/agents/page_client-reference-manifest.js +1 -1
  64. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/(app)/w/[slug]/calendar/page_client-reference-manifest.js +1 -1
  65. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/(app)/w/[slug]/flags/page_client-reference-manifest.js +1 -1
  66. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/(app)/w/[slug]/help/email-setup/page_client-reference-manifest.js +1 -1
  67. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/(app)/w/[slug]/home/page_client-reference-manifest.js +1 -1
  68. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/(app)/w/[slug]/issues/page_client-reference-manifest.js +1 -1
  69. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/(app)/w/[slug]/page_client-reference-manifest.js +1 -1
  70. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/(app)/w/[slug]/runtimes/page_client-reference-manifest.js +1 -1
  71. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/(app)/w/[slug]/settings/page_client-reference-manifest.js +1 -1
  72. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/(app)/w/[slug]/traces/[traceId]/page_client-reference-manifest.js +1 -1
  73. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/(app)/w/[slug]/traces/page_client-reference-manifest.js +1 -1
  74. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/(app)/w/[slug]/unread/page_client-reference-manifest.js +1 -1
  75. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/(app)/workspaces/page_client-reference-manifest.js +1 -1
  76. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/(auth)/sign-in/page_client-reference-manifest.js +1 -1
  77. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  78. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/blog/[slug]/page_client-reference-manifest.js +1 -1
  79. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/blog/page_client-reference-manifest.js +1 -1
  80. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/c/channels/[serverId]/[channelId]/page_client-reference-manifest.js +1 -1
  81. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/c/channels/[serverId]/page_client-reference-manifest.js +1 -1
  82. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/c/channels/[serverId]/settings/page_client-reference-manifest.js +1 -1
  83. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/c/invite/[token]/page_client-reference-manifest.js +1 -1
  84. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/c/me/[dmId]/page_client-reference-manifest.js +1 -1
  85. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/c/me/bots/page_client-reference-manifest.js +1 -1
  86. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/c/me/machines/page_client-reference-manifest.js +1 -1
  87. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/c/me/page_client-reference-manifest.js +1 -1
  88. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/c/page_client-reference-manifest.js +1 -1
  89. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/device/page_client-reference-manifest.js +1 -1
  90. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/landing-legacy/page_client-reference-manifest.js +1 -1
  91. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/page_client-reference-manifest.js +1 -1
  92. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/privacy/page_client-reference-manifest.js +1 -1
  93. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/templates/[id]/page_client-reference-manifest.js +1 -1
  94. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/templates/page_client-reference-manifest.js +1 -1
  95. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/[turbopack]_runtime.js +48 -51
  96. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/_0bx3ed6._.js +1 -1
  97. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/_16agz9o._.js +1 -1
  98. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/[root-of-the-server]__0n0n8oi._.js +3 -0
  99. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/{[root-of-the-server]__0e4dy_n._.js → [root-of-the-server]__0vt4_og._.js} +2 -2
  100. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/{[root-of-the-server]__1bl2f2x._.js → [root-of-the-server]__1tm0by_._.js} +2 -2
  101. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/[turbopack]_runtime.js +48 -51
  102. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/_00flokq._.js +65 -0
  103. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/{_18gbpg-._.js → _07m-c06._.js} +2 -2
  104. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/_07wuts6._.js +1 -1
  105. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/{_1kdkozw._.js → _09epwj4._.js} +2 -2
  106. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/{_03kfaes._.js → _0d37u-0._.js} +3 -3
  107. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/_0j193gg._.js +3 -0
  108. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/{_1yganw-._.js → _0k50vv7._.js} +2 -2
  109. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/_0q7w45q._.js +1 -1
  110. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/_0viyyk4._.js +3 -0
  111. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/{_0oznlee._.js → _0zcxg53._.js} +2 -2
  112. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/_13y1s7f._.js +3 -0
  113. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/{_1dpyuy_._.js → _14barfg._.js} +1 -1
  114. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/_1cln75e._.js +1 -1
  115. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/_1cu21e4._.js +1 -1
  116. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/_1jenl6b._.js +3 -0
  117. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/_1rll17z._.js +1 -1
  118. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/_1tkd0as._.js +23 -0
  119. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/{node_modules__pnpm_0hq-1dx._.js → node_modules__pnpm_0-chi84._.js} +1 -1
  120. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/{node_modules__pnpm_0dwx50l._.js → node_modules__pnpm_00wi4t8._.js} +1 -1
  121. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/{node_modules__pnpm_0ssh9m2._.js → node_modules__pnpm_011w0jh._.js} +1 -1
  122. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/{node_modules__pnpm_1o4ge87._.js → node_modules__pnpm_02puov8._.js} +1 -1
  123. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/{node_modules__pnpm_0_-ea5g._.js → node_modules__pnpm_04g63a8._.js} +1 -1
  124. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/{node_modules__pnpm_07y9nim._.js → node_modules__pnpm_080j-zr._.js} +1 -1
  125. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/{node_modules__pnpm_0xaos79._.js → node_modules__pnpm_08yk_k4._.js} +1 -1
  126. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/{node_modules__pnpm_11r11qk._.js → node_modules__pnpm_0_cjg3f._.js} +1 -1
  127. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/{node_modules__pnpm_0f97x30._.js → node_modules__pnpm_0_u817t._.js} +1 -1
  128. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/{node_modules__pnpm_0jmaw7q._.js → node_modules__pnpm_0ac6l0i._.js} +1 -1
  129. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/{node_modules__pnpm_1sqnuh6._.js → node_modules__pnpm_0f4s5go._.js} +1 -1
  130. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/{node_modules__pnpm_1wmwuyi._.js → node_modules__pnpm_0fapate._.js} +1 -1
  131. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/{node_modules__pnpm_02tm0_j._.js → node_modules__pnpm_0god_d6._.js} +1 -1
  132. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/{node_modules__pnpm_1-q73_l._.js → node_modules__pnpm_0rsb2oi._.js} +1 -1
  133. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/{node_modules__pnpm_1bigvw-._.js → node_modules__pnpm_1-hj9nm._.js} +1 -1
  134. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/{node_modules__pnpm_0_uvsz1._.js → node_modules__pnpm_1-oez84._.js} +1 -1
  135. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/{node_modules__pnpm_1oiei-p._.js → node_modules__pnpm_1090tka._.js} +1 -1
  136. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/{node_modules__pnpm_1hzbpeq._.js → node_modules__pnpm_12fcw63._.js} +1 -1
  137. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/{node_modules__pnpm_1cq-y48._.js → node_modules__pnpm_12fd_b3._.js} +1 -1
  138. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/{node_modules__pnpm_1kmpnft._.js → node_modules__pnpm_166hw66._.js} +1 -1
  139. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/{node_modules__pnpm_1o_px_4._.js → node_modules__pnpm_18y2f75._.js} +1 -1
  140. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/{node_modules__pnpm_1w13w7z._.js → node_modules__pnpm_19kxf5x._.js} +1 -1
  141. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/{node_modules__pnpm_1g5zv_v._.js → node_modules__pnpm_1a01x7q._.js} +1 -1
  142. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/{node_modules__pnpm_17u5slz._.js → node_modules__pnpm_1dz6bo3._.js} +1 -1
  143. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/{node_modules__pnpm_1netq7w._.js → node_modules__pnpm_1jje66f._.js} +1 -1
  144. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/{node_modules__pnpm_1vjep10._.js → node_modules__pnpm_1kgtcpu._.js} +1 -1
  145. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/{node_modules__pnpm_1ud7zw9._.js → node_modules__pnpm_1llq7_i._.js} +1 -1
  146. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/{node_modules__pnpm_0l7rkig._.js → node_modules__pnpm_1qh5znn._.js} +1 -1
  147. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/{node_modules__pnpm_033rqrg._.js → node_modules__pnpm_1sofeez._.js} +1 -1
  148. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/{node_modules__pnpm_0r7_vc7._.js → node_modules__pnpm_1vly7bn._.js} +1 -1
  149. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/{node_modules__pnpm_1_ttm0j._.js → node_modules__pnpm_1vm74xv._.js} +1 -1
  150. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/{node_modules__pnpm_01aqlve._.js → node_modules__pnpm_1x0q6ql._.js} +1 -1
  151. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/src_web_src_app_(app)_w_[slug]_settings_0ag2edj._.js +1 -1
  152. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/src_web_src_app_c_channels_[serverId]_[channelId]_page_tsx_14zzo72._.js +1 -1
  153. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/src_web_src_components_community_0de05cl._.js +1 -1
  154. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/src_web_src_components_community_1-2ddfh._.js +1 -1
  155. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/src_web_src_components_community_message_tsx_0d2-3ns._.js +1 -1
  156. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/middleware-build-manifest.js +3 -3
  157. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/middleware-manifest.json +5 -5
  158. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/server-reference-manifest.js +1 -1
  159. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/server-reference-manifest.json +1 -1
  160. package/bundled/web/.open-next/server-functions/default/src/web/cache.cjs +7 -7
  161. package/bundled/web/.open-next/server-functions/default/src/web/composable-cache.cjs +6 -6
  162. package/bundled/web/.open-next/server-functions/default/src/web/handler.mjs +170 -170
  163. package/bundled/web/.open-next/server-functions/default/src/web/handler.mjs.meta.json +565 -619
  164. package/bundled/web/.open-next/server-functions/default/src/web/index.mjs +70 -64
  165. package/bundled/web/.open-next/server-functions/default/src/web/open-next.config.mjs +2 -2
  166. package/bundled/ws-do/index.js +6 -1
  167. package/package.json +1 -1
  168. package/bundled/web/.open-next/assets/_next/static/chunks/08j6gp_79ntuy.js +0 -1
  169. package/bundled/web/.open-next/assets/_next/static/chunks/0bjib_ewljlwz.css +0 -1
  170. package/bundled/web/.open-next/assets/_next/static/chunks/0gse5to3o1uxw.js +0 -1
  171. package/bundled/web/.open-next/assets/_next/static/chunks/12l5i3dkwtwql.js +0 -1
  172. package/bundled/web/.open-next/assets/_next/static/chunks/14kvtkqdl9zr1.js +0 -1
  173. package/bundled/web/.open-next/assets/_next/static/chunks/17dbgknts8wcj.js +0 -1
  174. package/bundled/web/.open-next/assets/_next/static/chunks/19f-e6vja-zo0.js +0 -1
  175. package/bundled/web/.open-next/assets/_next/static/chunks/1nxcfxqwx-n9z.js +0 -1
  176. package/bundled/web/.open-next/assets/_next/static/chunks/2a2_latu8_8xa.js +0 -65
  177. package/bundled/web/.open-next/assets/_next/static/chunks/2oj17fl7hbym5.js +0 -1
  178. package/bundled/web/.open-next/assets/_next/static/chunks/3iu6o-6q3k6ky.js +0 -1
  179. package/bundled/web/.open-next/assets/_next/static/chunks/3ivk92zdh4znp.js +0 -3
  180. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/[root-of-the-server]__1e2q19s._.js +0 -3
  181. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/_02-67ae._.js +0 -3
  182. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/_04hxvli._.js +0 -23
  183. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/_0ioimj-._.js +0 -3
  184. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/_0o3ghqz._.js +0 -3
  185. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/_0qswnip._.js +0 -65
  186. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/_10hlb3j._.js +0 -3
  187. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/_11y01gl._.js +0 -3
  188. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/_1annyoh._.js +0 -3
  189. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/_1e8tsxv._.js +0 -3
  190. /package/bundled/web/.open-next/assets/_next/static/{f7HZ3A2lcl00AQWePpBPz → QAHTJJ2088SDjU6s2f6r7}/_buildManifest.js +0 -0
  191. /package/bundled/web/.open-next/assets/_next/static/{f7HZ3A2lcl00AQWePpBPz → QAHTJJ2088SDjU6s2f6r7}/_clientMiddlewareManifest.js +0 -0
  192. /package/bundled/web/.open-next/assets/_next/static/{f7HZ3A2lcl00AQWePpBPz → QAHTJJ2088SDjU6s2f6r7}/_ssgManifest.js +0 -0
  193. /package/bundled/web/.open-next/cache/{f7HZ3A2lcl00AQWePpBPz → QAHTJJ2088SDjU6s2f6r7}/favicon.ico.cache +0 -0
  194. /package/bundled/web/.open-next/cache/{f7HZ3A2lcl00AQWePpBPz → QAHTJJ2088SDjU6s2f6r7}/llms.txt.cache +0 -0
  195. /package/bundled/web/.open-next/cache/{f7HZ3A2lcl00AQWePpBPz → QAHTJJ2088SDjU6s2f6r7}/robots.txt.cache +0 -0
@@ -1,3 +1,3 @@
1
- module.exports=[166398,a=>{"use strict";var b=a.i(659140),c=a.i(144440),d=a.i(448905),e=a.i(487154),f=a.i(586220),g=a.i(686963),h=a.i(32006),i=a.i(633088),j=a.i(640764),k=a.i(718601),l=a.i(710822),m=a.i(216617),n=a.i(464930);let o=(0,a.i(36247).default)("tag",[["path",{d:"M12.586 2.586A2 2 0 0 0 11.172 2H4a2 2 0 0 0-2 2v7.172a2 2 0 0 0 .586 1.414l8.704 8.704a2.426 2.426 0 0 0 3.42 0l6.58-6.58a2.426 2.426 0 0 0 0-3.42z",key:"vktsd0"}],["circle",{cx:"7.5",cy:"7.5",r:".5",fill:"currentColor",key:"kqv944"}]]);var p=a.i(775313),q=a.i(732254),r=a.i(561238),s=a.i(464830),t=a.i(25668),u=a.i(131033),v=a.i(403608),w=a.i(487433),x=a.i(499062),y=a.i(786735),z=a.i(739105),A=a.i(655795),B=a.i(867561),C=a.i(348923);a.i(974936);var D=a.i(157328),E=a.i(333701);function F({forumChannelId:a,members:c,onSearchMembers:f,onCancel:g,onCreatePost:h}){let[j,k]=(0,d.useState)(""),[l,m]=(0,d.useState)(!1),[n,o]=(0,d.useState)(!1),p=(0,d.useRef)(!1),r=(0,d.useRef)(null),s=(0,E.useUploadFile)(),t=(0,d.useRef)(new Map),u=(0,d.useRef)(crypto.randomUUID()),v=j.trim().length>0&&l,w=(0,d.useCallback)(()=>{n||g()},[n,g]),G=()=>r.current?.focusEditor(),H=async(b,c,d)=>{if(v&&!p.current){p.current=!0,o(!0);try{let f=c??[],g=[];if(f.length>0){let b=await Promise.all(f.map(async b=>{let c=t.current.get(b.file);if(c)return c;let d=await s.mutateAsync({target:{channelId:a},file:b.file,width:b.width,height:b.height});return t.current.set(b.file,d),d}));g=(0,E.zipUploadResultsWithDimensions)(b,f)}try{await h({nonce:u.current,name:j.trim(),content:b,attachments:g.length>0?g:void 0,mentionType:d})}catch(a){(0,e.toastApiError)(a,"Failed to create post");return}t.current.clear(),u.current=crypto.randomUUID(),r.current?.resetAfterSubmit(),k("")}catch(a){(0,e.toastApiError)(a,"Failed to upload attachment")}finally{p.current=!1,o(!1)}}};return(0,b.jsxs)("div",{role:"region","aria-label":"Create post",onKeyDown:a=>{"Escape"!==a.key||a.defaultPrevented||(a.stopPropagation(),w())},className:"flex w-full min-w-0 shrink-0 flex-col border-b border-border px-4 py-3",children:[(0,b.jsxs)("div",{className:"flex items-center gap-2 px-2",children:[(0,b.jsx)("input",{value:j,onChange:a=>k(a.target.value),onKeyDown:a=>(0,C.onEnterSubmit)(G,{onEscape:w})(a),placeholder:"New post",autoFocus:!0,maxLength:D.MAX_CHANNEL_NAME_LENGTH,className:"w-full min-w-0 bg-transparent text-2xl font-semibold outline-none placeholder:text-muted-foreground"}),(0,b.jsx)("button",{type:"button",onClick:w,className:"grid size-6 shrink-0 place-items-center rounded text-muted-foreground hover:bg-accent hover:text-foreground","aria-label":"Cancel post",children:(0,b.jsx)(z.X,{className:"size-5"})})]}),(0,b.jsx)(i.Composer,{sendContract:"deferred",ref:r,mode:"forumThreadBody",hideEmoji:!0,hideAttach:!0,channel:"",context:"channel",members:c,onSearchMembers:f,channelRefCandidates:[],placeholder:"What do you want to discuss?",onDeferredSubmit:(a,b,c)=>{H(a,b,c)},onDirty:m}),(0,b.jsxs)("div",{className:"mt-2 flex items-center gap-3",children:[(0,b.jsxs)(B.DropdownMenu,{children:[(0,b.jsx)(B.DropdownMenuTrigger,{render:(0,b.jsx)("button",{type:"button",className:"grid size-8 place-items-center rounded-full text-muted-foreground hover:bg-accent hover:text-foreground aria-expanded:bg-accent aria-expanded:text-foreground","aria-label":"Add"}),children:(0,b.jsx)(x.PlusCircle,{className:"size-5"})}),(0,b.jsx)(B.DropdownMenuContent,{side:"top",align:"start",className:"w-44",children:(0,b.jsxs)(B.DropdownMenuItem,{onClick:()=>r.current?.openFilePicker(),children:[(0,b.jsx)(y.Upload,{className:"size-4"})," Upload a File"]})})]}),(0,b.jsxs)("span",{className:"ml-auto flex items-center gap-1 text-xs text-muted-foreground",children:[(0,b.jsx)(A.Kbd,{children:"⇧"}),(0,b.jsx)("span",{children:"+"}),(0,b.jsx)(A.Kbd,{children:"⏎"})]}),(0,b.jsx)(q.Button,{size:"sm",onClick:()=>r.current?.submitNow(),disabled:!v||n,children:n?"Creating…":"Create post"})]})]})}var G=a.i(432340),H=a.i(334235),I=a.i(692);function J({open:a,onOpenChange:c,postName:e,current:f,allTags:g,onSave:h,saving:i}){let[j,k]=(0,d.useState)(f),[l,m]=(0,d.useState)(""),n=()=>{let a=l.trim().toLowerCase();m(""),!a||j.includes(a)||k(b=>[...b,a])},o=[...new Set([...g,...j])].sort();return(0,b.jsx)(G.Dialog,{open:a,onOpenChange:c,children:(0,b.jsxs)(G.DialogContent,{className:"max-w-sm","data-testid":I.tid.forumTagDialog,children:[(0,b.jsxs)(G.DialogHeader,{children:[(0,b.jsx)(G.DialogTitle,{children:"Edit tags"}),(0,b.jsxs)(G.DialogDescription,{children:["Tag “",e,"” to help others find it."]})]}),(0,b.jsx)("div",{className:"flex flex-wrap items-center gap-2",children:0===o.length?(0,b.jsx)("p",{className:"text-sm text-muted-foreground",children:"No tags yet. Add the first one below."}):o.map(a=>(0,b.jsxs)(s.Badge,{variant:j.includes(a)?"default":"secondary",className:"cursor-pointer",render:(0,b.jsx)("button",{type:"button",onClick:()=>k(b=>b.includes(a)?b.filter(b=>b!==a):[...b,a])}),children:[`#${a}`,j.includes(a)&&(0,b.jsx)(z.X,{className:"ml-1 size-3"})]},a))}),(0,b.jsxs)("div",{className:"flex items-center gap-2",children:[(0,b.jsx)(H.Input,{value:l,onChange:a=>m(a.target.value),onKeyDown:(0,C.onEnterSubmit)(n),placeholder:"new-tag",className:"h-9"}),(0,b.jsx)(q.Button,{type:"button",variant:"secondary",size:"sm",onClick:n,disabled:!l.trim(),children:"Add"})]}),(0,b.jsxs)(G.DialogFooter,{children:[(0,b.jsx)(q.Button,{variant:"ghost",onClick:()=>c(!1),children:"Cancel"}),(0,b.jsx)(q.Button,{"data-testid":I.tid.forumTagDialogSave,onClick:()=>h(j),disabled:i,children:"Save tags"})]})]})})}var K=a.i(22902),L=a.i(780959),M=a.i(520332);function N({forumChannelId:a,members:c,onSearchMembers:e,posts:f,loading:g,tag:h,availableTags:i=[],onTagChange:t,onOpenPost:x,onCreatePost:y,onEditPostTags:z,canEditPostTags:A,savingTagsFor:B,hasMore:C,loadingMore:D,onLoadMore:E,onDeletePost:G,canDeletePost:H,deletingPost:P}){let[Q,R]=(0,d.useState)(!1),[S,T]=(0,d.useState)(null),[U,V]=(0,d.useState)(null),W=(0,d.useRef)(null),X=(0,d.useRef)(null),Y=(0,d.useRef)(null),Z=(0,j.useVirtualizer)({...k.COMMUNITY_VIRTUALIZER_REACT_OPTIONS,count:f.length,getScrollElement:()=>X.current,estimateSize:()=>160,getItemKey:a=>f[a]?.id??a,overscan:5,initialRect:{width:0,height:800}}),$=i.length>0?i:[...new Set(f.flatMap(a=>a.tags))];(0,d.useLayoutEffect)(()=>{0!==f.length&&Y.current!==h&&(Y.current=h,Z.scrollToIndex(0,{align:"start"}))},[f.length,h,Z]);let _=(0,M.useVirtualCursorSentinel)({scrollRef:X,hasMore:C,isFetching:D,onLoad:E,edge:"end"}),aa=()=>{R(!1),queueMicrotask(()=>W.current?.focus())};return(0,b.jsxs)(b.Fragment,{children:[Q?(0,b.jsx)(F,{forumChannelId:a,members:c,onSearchMembers:e,onCancel:aa,onCreatePost:async a=>{y&&(await y(a),aa())}}):(0,b.jsxs)("div",{className:"flex shrink-0 items-center gap-2 border-b border-border px-4 py-2",children:[(0,b.jsx)("div",{className:"flex min-w-0 flex-1 flex-wrap items-center gap-2",children:$.length>0&&(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)(s.Badge,{variant:"All"===h?"default":"secondary",className:"shrink-0 cursor-pointer",render:(0,b.jsx)("button",{onClick:()=>t("All")}),children:"All"}),$.map(a=>(0,b.jsx)(s.Badge,{variant:h===a?"default":"secondary",className:"shrink-0 cursor-pointer","data-testid":I.tid.forumTagChip(a),render:(0,b.jsx)("button",{onClick:()=>t(a)}),children:`#${a}`},a))]})}),(0,b.jsx)("div",{className:"flex shrink-0 items-center gap-1",children:(0,b.jsxs)(q.Button,{size:"sm",ref:W,onClick:()=>R(!0),children:[(0,b.jsx)(n.Plus,{className:"size-4"})," New Post"]})})]}),(0,b.jsx)("div",{ref:X,role:"main",className:"flex-1 overflow-y-auto thin-scrollbar p-4",children:g&&0===f.length?(0,b.jsx)(O,{}):0===f.length?(0,b.jsx)(w.EmptyState,{icon:m.ListChevronsUpDown,label:"No posts with this tag yet. Start one with New Post."}):(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)(L.VirtualRows,{items:f,virtualizer:Z,itemKey:a=>a.id,renderItem:a=>{let c=!!z&&(A?.(a)??!1),d=!!G&&(H?.(a)??!1),e=a.participants.filter(b=>b.id!==a.authorId),f=e.slice(0,5),g=Math.max(0,a.participantCount-1-f.length);return(0,b.jsxs)("div",{role:"button",tabIndex:0,"data-testid":I.tid.forumThreadCard(a.id),onClick:()=>x(a.id),onKeyDown:b=>{("Enter"===b.key||" "===b.key)&&(b.preventDefault(),x(a.id))},className:"group/card mb-3 flex cursor-pointer flex-col gap-2 rounded-lg border border-border bg-card p-4 text-left transition-colors hover:border-primary/40 hover:bg-accent/40",children:[(0,b.jsxs)("div",{className:"flex items-center gap-2",children:[(0,b.jsx)(u.Avatar,{label:a.authorAvatar,seed:a.authorId,size:24}),(0,b.jsx)("span",{className:"text-xs font-medium text-foreground",suppressHydrationWarning:!0,children:a.parent.authorName||"Unknown"}),(0,b.jsxs)("span",{className:"text-xs text-muted-foreground",suppressHydrationWarning:!0,children:["· ",(0,r.formatRelativeTime)(a.lastMessageAt)]}),e.length>0&&(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)("span",{className:"h-4 w-px shrink-0 bg-border","aria-hidden":!0}),(0,b.jsxs)(v.AvatarGroup,{"data-testid":I.tid.forumThreadAvatars(a.id),children:[f.map(a=>(0,b.jsx)(u.Avatar,{label:a.avatar,seed:a.id,size:24,ringColor:"var(--card)"},a.id)),g>0&&(0,b.jsxs)(v.AvatarGroupCount,{className:"size-6 text-[11px]",children:["+",g]})]})]}),c&&(0,b.jsx)("button",{type:"button","data-testid":I.tid.forumThreadTagBtn(a.id),onClick:b=>{b.stopPropagation(),T(a)},className:"ml-auto grid size-6 shrink-0 place-items-center rounded-md text-muted-foreground opacity-0 transition-opacity hover:bg-accent hover:text-foreground focus-visible:opacity-100 group-hover/card:opacity-100","aria-label":"Edit tags",children:(0,b.jsx)(o,{className:"size-4"})}),d&&(0,b.jsx)("button",{type:"button","data-testid":I.tid.forumThreadDeleteBtn(a.id),disabled:P===a.id,onClick:b=>{b.stopPropagation(),V(a)},className:`${c?"":"ml-auto "}grid size-6 shrink-0 place-items-center rounded-md text-muted-foreground opacity-0 transition-opacity hover:bg-accent hover:text-destructive focus-visible:opacity-100 group-hover/card:opacity-100 disabled:cursor-not-allowed disabled:opacity-50`,"aria-label":"Delete post",children:(0,b.jsx)(p.Trash2,{className:"size-4"})})]}),(0,b.jsx)("h3",{className:"line-clamp-1 text-[15px] font-semibold leading-tight",children:a.name}),(0,b.jsx)("p",{className:"line-clamp-2 text-sm text-muted-foreground",children:a.preview}),(0,b.jsxs)("div",{className:"flex items-center gap-2",children:[a.tags.length>0&&a.tags.map(a=>(0,b.jsxs)(s.Badge,{variant:"secondary",children:["#",a]},a)),(0,b.jsxs)("span",{className:"ml-auto flex items-center gap-1 text-xs text-muted-foreground",children:[(0,b.jsx)(l.MessagesSquare,{className:"size-3.5"})," ",Math.max(0,a.messageCount)]})]})]},a.id)}}),(0,b.jsx)("div",{ref:_,className:"h-px","aria-hidden":!0})]})}),S&&(0,b.jsx)(J,{open:!0,onOpenChange:a=>{a||T(null)},postName:S.name,current:S.tags,allTags:i,saving:B===S.id,onSave:a=>{z?.(S.id,a),T(null)}}),U&&(0,b.jsx)(K.ConfirmDialog,{open:!0,onOpenChange:a=>{a||V(null)},title:"Delete post?",description:`This permanently deletes “${U.name}” and all of its replies. This can't be undone.`,confirmLabel:"Delete post",onConfirm:()=>{V(null),G?.(U)}})]})}function O(){return(0,b.jsx)("div",{className:"flex flex-col gap-3",children:Array.from({length:3}).map((a,c)=>(0,b.jsxs)("div",{className:"flex flex-col gap-2 rounded-lg border border-border bg-card p-4",children:[(0,b.jsxs)("div",{className:"flex items-center gap-2",children:[(0,b.jsx)(t.Skeleton,{className:"size-6 shrink-0 rounded-full"}),(0,b.jsx)(t.Skeleton,{className:"h-3 w-40 rounded"})]}),(0,b.jsx)(t.Skeleton,{className:"h-4 w-2/3 rounded"}),(0,b.jsxs)("div",{className:"space-y-2",children:[(0,b.jsx)(t.Skeleton,{className:"h-3 w-full rounded"}),(0,b.jsx)(t.Skeleton,{className:"h-3 w-5/6 rounded"})]}),(0,b.jsxs)("div",{className:"flex items-center gap-2",children:[(0,b.jsx)(t.Skeleton,{className:"h-5 w-14 rounded-full"}),(0,b.jsx)(t.Skeleton,{className:"h-5 w-12 rounded-full"}),(0,b.jsx)(t.Skeleton,{className:"ml-auto h-3 w-10 rounded"})]})]},c))})}function P(){return(0,b.jsxs)(b.Fragment,{children:[(0,b.jsxs)("div",{className:"flex shrink-0 items-center gap-2 border-b border-border px-4 py-2",children:[(0,b.jsxs)("div",{className:"flex min-w-0 flex-1 flex-wrap items-center gap-2",children:[(0,b.jsx)(t.Skeleton,{className:"h-5 w-10 rounded-full"}),(0,b.jsx)(t.Skeleton,{className:"h-5 w-16 rounded-full"}),(0,b.jsx)(t.Skeleton,{className:"h-5 w-14 rounded-full"}),(0,b.jsx)(t.Skeleton,{className:"h-5 w-20 rounded-full"})]}),(0,b.jsx)("div",{className:"flex shrink-0 items-center gap-1",children:(0,b.jsx)(t.Skeleton,{className:"h-8 w-25 rounded-md"})})]}),(0,b.jsx)("main",{className:"flex-1 overflow-y-auto thin-scrollbar p-4",children:(0,b.jsx)(O,{})})]})}var Q=a.i(536179),R=a.i(586889);function S(a){let b=(0,Q.useQuery)({queryKey:a?R.communityKeys.channelReadStateSnapshot(a):["community","channel","__none__","read-state-snapshot"],queryFn:async()=>(0,e.apiFetch)(`/api/community/channels/${a}/read-state`),enabled:!!a,staleTime:1/0,gcTime:0,refetchOnMount:"always",refetchOnWindowFocus:!1,refetchOnReconnect:!1,retry:1}),c=(0,d.useRef)(null),f=(0,d.useRef)(a);return f.current!==a&&(c.current=null,f.current=a),(0,d.useEffect)(()=>{null===c.current&&b.data&&(c.current=b.data)},[b.data]),{snapshot:c.current??b.data??null,isFetching:b.isFetching}}var T=a.i(412118),U=a.i(669991),V=a.i(483839),W=a.i(67821);function X({channelId:a,serverId:b,isChildChannel:c,snapshotReady:f}){let g=(0,V.useQueryClient)(),h=(0,d.useRef)(null);(0,d.useEffect)(()=>{a&&f&&h.current!==a&&(h.current=a,(0,e.apiFetch)(`/api/community/channels/${a}/read`,{method:"PUT"}).then(()=>{if(g.invalidateQueries({queryKey:R.communityKeys.inbox()}),b&&c?((0,W.removeForumSidebarUnreadChild)(g,b,a),(0,W.patchForumSidebarUnreadExact)(g,b,a,!1)):b&&(0,W.setForumSidebarParentUnreadBase)(g,b,a,!1),!b)return;let d=g.getQueryData(R.communityKeys.servers());d?.servers.some(a=>a.id===b&&a.mentions>0)&&g.invalidateQueries({queryKey:R.communityKeys.servers(),exact:!0})}).catch(()=>{}))},[a,b,c,f,g])}var Y=a.i(333552),Z=a.i(267017);function $({channelId:a,serverId:b,viewerUserId:c,isChildChannel:e,anchorMessageId:f}){let g=S(a),h=g.snapshot,i=(0,Y.useMessages)(a,{serverId:b,lastReadMessageId:g.isFetching?void 0:h?.lastReadMessageId??null,anchorMessageId:f}),{newDividerBefore:j,anchorFound:k}=(0,d.useMemo)(()=>{if(!h)return{newDividerBefore:void 0,anchorFound:!1};let a=h.lastReadMessageId;if(!a){for(let a of i.messages)if(a.authorId!==c)return{newDividerBefore:a.id,anchorFound:!0};return{newDividerBefore:void 0,anchorFound:!0}}let b=i.messages.findIndex(b=>b.id===a);if(-1===b)return{newDividerBefore:void 0,anchorFound:!1};for(let a=b+1;a<i.messages.length;a++)if(i.messages[a].authorId!==c)return{newDividerBefore:i.messages[a].id,anchorFound:!0};return{newDividerBefore:void 0,anchorFound:!0}},[i.messages,h,c]),[l,m]=(0,d.useState)(null);!function({channelId:a,messages:b,scrollRootEl:c}){let e=(0,U.useCurrentUser)().id,f=(0,T.useAdvanceChannelWatermark)(),g=(0,d.useRef)(null),h=(0,d.useRef)(null);(0,d.useEffect)(()=>{g.current=null,h.current=null},[a]);let i=(0,d.useRef)(b),j=(0,d.useRef)(f);(0,d.useEffect)(()=>{i.current=b,j.current=f}),(0,d.useEffect)(()=>{if(!a||h.current===a||0===b.length)return;let c=null;for(let a of b)a.createdAt&&(!c||a.createdAt>c.createdAt||a.createdAt===c.createdAt&&a.id>c.id)&&(c={createdAt:a.createdAt,id:a.id});c&&(g.current=c,h.current=a)},[a,b]),(0,d.useEffect)(()=>{if(!a||!c||"u"<typeof IntersectionObserver)return;let b=new IntersectionObserver(b=>{for(let c of b){if(!c.isIntersecting||c.intersectionRatio<.2)continue;let b=c.target.dataset.msgId;if(!b)continue;let d=i.current.find(a=>a.id===b);if(!d||!d.createdAt||d.authorId&&d.authorId===e)continue;let f=g.current;(!f||d.createdAt>f.createdAt||d.createdAt===f.createdAt&&b>f.id)&&(g.current={createdAt:d.createdAt,id:b},j.current(a,b))}},{root:c,threshold:.2});c.querySelectorAll("[data-msg-id]").forEach(a=>b.observe(a));let d=null;return"u">typeof MutationObserver&&(d=new MutationObserver(a=>{for(let c of a)c.addedNodes.forEach(a=>{1!==a.nodeType||(a.matches?.("[data-msg-id]")&&b.observe(a),a.querySelectorAll?.("[data-msg-id]").forEach(a=>b.observe(a)))})})).observe(c,{childList:!0,subtree:!0}),()=>{b.disconnect(),d?.disconnect()}},[a,b,c,e]),(0,d.useEffect)(()=>()=>{(0,T.flushPendingReads)()},[a])}({channelId:a,messages:i.messages,scrollRootEl:l}),X({channelId:a,serverId:b,isChildChannel:e,snapshotReady:!g.isFetching});let n=(0,d.useMemo)(()=>Math.max(0,i.latestSeq-(h?.lastReadSeq??0)),[i.latestSeq,h]),o=(0,Z.useThreads)(a),p=(0,Z.usePins)(a);return{...i,readSnapshot:h,readSnapshotFetching:g.isFetching,newDividerBefore:j,anchorInCache:k,unreadCount:n,scrollRootEl:l,setScrollRootEl:m,threads:o.threads,threadsLoading:o.isLoading,pinned:p.pins,pinnedLoading:p.isLoading}}function _({header:a,body:c,panels:d,dialogs:e}){return(0,b.jsxs)(b.Fragment,{children:[a,c,d,e]})}var aa=a.i(7455),ab=a.i(596174),ac=a.i(413382),ad=a.i(219401),ae=a.i(530551),af=a.i(433027);function ag({icon:a,title:c,children:d,bodyClassName:e="p-4",onBack:f}){return(0,b.jsxs)(b.Fragment,{children:[(0,b.jsxs)("header",{className:"flex h-12 shrink-0 items-center gap-2 border-b border-border/40 px-4",children:[f?(0,b.jsx)("button",{onClick:f,className:"-ml-1 grid size-7 shrink-0 place-items-center rounded-md text-muted-foreground hover:bg-accent hover:text-foreground focus-visible:ring-2 focus-visible:ring-ring focus-visible:outline-none","aria-label":"Back to threads",children:(0,b.jsx)(af.ChevronLeft,{className:"size-4"})}):(0,b.jsx)(a,{className:"size-4 text-muted-foreground"}),(0,b.jsx)("h2",{className:"flex-1 truncate text-base font-semibold",children:c})]}),(0,b.jsx)("div",{className:`flex-1 overflow-y-auto thin-scrollbar ${e}`,children:d})]})}var ah=a.i(189546),ai=a.i(509447),aj=a.i(288257),ak=a.i(726935),al=a.i(66721),am=a.i(764190),an=a.i(399323);a.i(897046);var ao=a.i(519116),ap=a.i(803644);let aq=["admin","member"];function ar({members:a,loading:c,hasMore:f,loadingMore:g,onLoadMore:h,onSearch:i,onAddMember:l,manageContext:m,myRole:n,onOpenProfile:o,onSetRole:p,onKick:q}){let[r,s]=(0,d.useState)(null),[t,u]=(0,d.useState)(!1),[v,w]=(0,d.useState)(null),[x,y]=(0,d.useState)(!1),[z,A]=(0,d.useState)(""),B=(0,ao.canManageServer)(n);(0,d.useEffect)(()=>{if(!i)return;let a=setTimeout(()=>i(z),200);return()=>clearTimeout(a)},[z,i]);let C=(0,d.useMemo)(()=>(function(a){let b,c,d,e=[];for(let f of(b=a.filter(a=>(0,ao.isServerOwner)(a.role)),c=a.filter(a=>a.role===ao.ROLES.ADMIN),[{label:"Owner",list:b},{label:"Admin",list:c},{label:"Online",list:(d=a.filter(a=>a.role===ao.ROLES.MEMBER)).filter(a=>(0,ap.isPresenceOnline)(a.status))},{label:"Offline",list:d.filter(a=>(0,ap.isPresenceOffline)(a.status))}].filter(a=>a.list.length>0)))for(let a of(e.push({kind:"header",label:f.label,count:f.list.length,key:`header:${f.label}`}),f.list))e.push({kind:"row",member:a,key:`row:${a.id}`});return e})(a),[a]),D=(0,d.useMemo)(()=>(function(a){let b=new Map;for(let c of a){let a=c.name.toLowerCase();b.set(a,(b.get(a)??0)+1)}let c=new Set;for(let[a,d]of b)d>=2&&c.add(a);return c})(a),[a]),E=(0,d.useRef)(null),F=(0,d.useRef)(null),G=(0,j.useVirtualizer)({...k.COMMUNITY_VIRTUALIZER_REACT_OPTIONS,count:C.length,getScrollElement:()=>E.current,getItemKey:a=>C[a]?.key??a,estimateSize:a=>C[a]?.kind==="header"?32:44,overscan:8});return((0,d.useEffect)(()=>{if(!h||!f)return;let a=F.current,b=E.current;if(!a||!b)return;let c=new IntersectionObserver(a=>{for(let b of a)b.isIntersecting&&!g&&h()},{root:b,rootMargin:"100px"});return c.observe(a),()=>c.disconnect()},[h,f,g]),c&&0===a.length&&!z)?(0,b.jsx)(at,{}):(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)(K.ConfirmDialog,{open:!!r,onOpenChange:a=>{a||t||s(null)},title:`Kick ${r?.name}?`,description:"They will be removed from this server but can rejoin with an invite.",confirmLabel:"Kick",loadingLabel:"Kicking…",loading:t,confirmVariant:"destructive",onConfirm:async()=>{if(r){u(!0);try{await q?.(r.memberId),s(null)}catch(a){(0,e.toastApiError)(a,"Failed to kick member")}finally{u(!1)}}}}),v&&(0,b.jsx)(K.ConfirmDialog,{open:!0,onOpenChange:a=>{a||x||w(null)},title:"leave"===v.kind?`Leave /${m?.unitLabel??""}?`:`Remove ${v.member.name}?`,description:"leave"===v.kind?"You'll lose access until you're added back.":"They'll lose access until they're added back.",confirmLabel:"leave"===v.kind?"Leave":"Remove",loadingLabel:"leave"===v.kind?"Leaving…":"Removing…",loading:x,confirmVariant:"destructive",onConfirm:async()=>{if(m){y(!0);try{let a="leave"===v.kind?m.onLeave:m.onRemove;await a(v.member.userId),w(null)}catch(a){(0,e.toastApiError)(a,"leave"===v.kind?"Failed to leave":"Failed to remove")}finally{y(!1)}}}}),(0,b.jsxs)("aside",{className:"flex h-full flex-col bg-background",children:[(i||l)&&(0,b.jsxs)("div",{className:"flex shrink-0 items-center gap-2 border-b border-border px-4 py-3",children:[i&&(0,b.jsxs)("div",{className:"relative flex-1",children:[(0,b.jsx)(ae.Search,{className:"absolute left-2 top-1/2 size-4 -translate-y-1/2 text-muted-foreground"}),(0,b.jsx)(H.Input,{className:"h-9 pl-8",placeholder:"Search members",value:z,onChange:a=>A(a.target.value)})]}),l&&(0,b.jsx)("button",{type:"button",onClick:l,className:"grid size-9 shrink-0 place-items-center rounded-md border border-border text-muted-foreground hover:bg-accent hover:text-foreground focus-visible:ring-2 focus-visible:ring-ring focus-visible:outline-none","aria-label":"Add members",title:"Add members",children:(0,b.jsx)(ak.UserPlus,{className:"size-4"})})]}),(0,b.jsx)("div",{ref:E,className:"min-h-0 flex-1 overflow-y-auto thin-scrollbar",children:(0,b.jsxs)("div",{className:"px-4 py-4",children:[(0,b.jsx)("div",{ref:G.containerRef,style:{position:"relative",width:"100%"},children:G.getVirtualItems().map(a=>{let c=C[a.index];return(0,b.jsx)("div",{role:"listitem","data-index":a.index,ref:G.measureElement,style:{position:"absolute",top:0,left:0,width:"100%"},children:"header"===c.kind?(0,b.jsxs)("h3",{className:"mb-2 px-1 text-xs font-medium text-muted-foreground",children:[c.label," — ",c.count]}):(0,b.jsx)(as,{mem:c.member,canManage:B,showDiscriminator:D.has(c.member.name.toLowerCase()),onOpenProfile:o,onSetRole:p,onKick:a=>s({name:a.name,memberId:a.id}),onRequestManage:(a,b)=>w({kind:a,member:b}),manageContext:m})},c.key)})}),f&&(0,b.jsx)("div",{ref:F,className:"py-3 text-center text-xs text-muted-foreground",children:g?"Loading…":""})]})})]})]})}function as({mem:a,canManage:c,showDiscriminator:d,onOpenProfile:e,onSetRole:f,onKick:g,onRequestManage:h,manageContext:i}){var j;let k=(0,b.jsxs)("button",{"data-testid":I.tid.memberRow(a.userId),onClick:b=>e?.(a.name,b,void 0,a.userId),className:"flex w-full items-center gap-3 rounded-md px-2 py-2 select-none hover:bg-accent",children:[(0,b.jsx)(u.Avatar,{label:a.avatar,seed:a.userId,size:32,presence:a.status,dim:(0,ap.isPresenceOffline)(a.status)}),(0,b.jsxs)("div",{className:"min-w-0 flex-1 space-y-0.5 text-left",children:[(0,b.jsxs)("div",{className:`truncate text-sm leading-tight ${(0,ap.isPresenceOffline)(a.status)?"text-muted-foreground":""}`,children:[a.name,d&&a.discriminator&&(0,b.jsxs)("span",{className:"ml-1 text-xs font-normal tracking-wide text-muted-foreground",children:["#",a.discriminator]})]}),(0,an.hasStatus)(a.statusEmoji,a.statusText)&&(0,b.jsxs)("div",{className:"truncate text-xs leading-tight text-muted-foreground",children:[a.statusEmoji," ",a.statusText]})]})]});if(i){let c=a.userId===i.viewerUserId,d=c&&!a.isCreator,e=!c&&i.viewerIsCreator&&!a.isCreator&&(void 0===a.source||"explicit"===a.source);return d||e?(0,b.jsxs)(am.ContextMenu,{children:[(0,b.jsx)(am.ContextMenuTrigger,{render:k}),(0,b.jsxs)(am.ContextMenuContent,{className:"w-48",children:[(0,b.jsx)("div",{className:"truncate px-2 py-1 text-xs font-semibold text-muted-foreground",children:a.name}),d?(0,b.jsxs)(am.ContextMenuItem,{onClick:()=>h("leave",a),className:"text-destructive data-highlighted:bg-destructive/10 data-highlighted:text-destructive",children:[(0,b.jsx)(al.LogOut,{className:"size-4"})," Leave"]}):(0,b.jsxs)(am.ContextMenuItem,{onClick:()=>h("remove",a),className:"text-destructive data-highlighted:bg-destructive/10 data-highlighted:text-destructive",children:[(0,b.jsx)(ai.UserMinus,{className:"size-4"})," Remove ",a.name]})]})]}):k}return(j=a.role,c&&"owner"!==j)?(0,b.jsxs)(am.ContextMenu,{children:[(0,b.jsx)(am.ContextMenuTrigger,{render:k}),(0,b.jsxs)(am.ContextMenuContent,{className:"w-48",children:[(0,b.jsx)("div",{className:"truncate px-2 py-1 text-xs font-semibold text-muted-foreground",children:a.name}),(0,b.jsxs)(am.ContextMenuSub,{children:[(0,b.jsxs)(am.ContextMenuSubTrigger,{children:[(0,b.jsx)(ah.Shield,{className:"size-4"}),"Role"]}),(0,b.jsx)(am.ContextMenuSubContent,{children:aq.map(c=>(0,b.jsxs)(am.ContextMenuItem,{onClick:()=>f?.(a.id,c),children:[(0,b.jsx)("span",{className:"flex-1",children:c.charAt(0).toUpperCase()+c.slice(1)}),a.role===c&&(0,b.jsx)(aj.Check,{className:"size-4"})]},c))})]}),(0,b.jsx)(am.ContextMenuSeparator,{}),(0,b.jsxs)(am.ContextMenuItem,{onClick:()=>g(a),className:"text-destructive data-highlighted:bg-destructive/10 data-highlighted:text-destructive",children:[(0,b.jsx)(ai.UserMinus,{className:"size-4"})," Kick ",a.name]})]})]}):k}function at(){return(0,b.jsx)("aside",{className:"flex h-full flex-col overflow-hidden bg-background",children:(0,b.jsx)("div",{className:"px-4 py-4",children:[{width:60,rows:1},{width:60,rows:2},{width:60,rows:6}].map((a,c)=>(0,b.jsxs)("div",{className:"mb-4",children:[(0,b.jsx)(t.Skeleton,{className:"mb-2 ml-1 h-3 rounded",style:{width:a.width}}),(0,b.jsx)("div",{className:"space-y-1",children:Array.from({length:a.rows}).map((a,c)=>(0,b.jsxs)("div",{className:"flex items-center gap-3 rounded-md px-2 py-2",children:[(0,b.jsx)(t.Skeleton,{className:"size-8 shrink-0 rounded-full"}),(0,b.jsx)(t.Skeleton,{className:"h-3.5 w-3/5 rounded"})]},c))})]},c))})})}var au=a.i(246661),av=a.i(116979);function aw({kind:a,members:c,membersLoading:d,membersLoadingMore:e,membersHasMore:f,onLoadMoreMembers:g,onSearchMembers:h,onAddMember:i,manageContext:j,pinned:k,pinnedLoading:m,searchResults:n,searchQuery:o,threads:p,threadsLoading:q,showSearchInput:s=!0,onOpenThread:t,onOpenProfile:v,onSetRole:w,onKickMember:x,myRole:y,onJumpToMessage:z,onSearch:A}){return"members"===a?(0,b.jsx)(ag,{icon:ac.Users,title:"Members",bodyClassName:"p-0",children:(0,b.jsx)(ar,{members:c,loading:d,hasMore:f,loadingMore:e,onLoadMore:g,onSearch:h,onAddMember:i,manageContext:j,myRole:y,onOpenProfile:v,onSetRole:w,onKick:x})}):"pinned"===a?(0,b.jsx)(ag,{icon:ad.Pin,title:"Pinned Messages",children:m&&0===k.length?(0,b.jsx)(ax,{}):0===k.length?(0,b.jsx)("div",{className:"py-8 text-center text-sm text-muted-foreground",children:"No pinned messages yet."}):k.map(a=>(0,b.jsxs)("button",{onClick:()=>null!=a.seq&&z?.(a.seq),className:"flex w-full items-center gap-2 rounded-md px-2 py-2 text-left hover:bg-accent",children:[(0,b.jsx)("span",{className:"shrink-0",children:(0,b.jsx)(u.Avatar,{label:a.authorAvatar??"?",seed:a.authorId,size:24})}),(0,b.jsxs)("div",{className:"min-w-0 flex-1",children:[(0,b.jsxs)("div",{className:"flex items-baseline gap-2",children:[(0,b.jsx)("span",{className:"text-sm font-medium",children:a.authorName}),a.createdAt&&(0,b.jsx)("span",{className:"text-xs text-muted-foreground",children:(0,r.formatRelativeTime)(a.createdAt)})]}),(0,b.jsx)("div",{className:"truncate text-sm text-muted-foreground",children:(0,av.stripInlineMarkup)(a.content??"")})]})]},a.id))}):"search"===a?(0,b.jsx)(az,{searchResults:n,initialQuery:o,showSearchInput:s,onOpenProfile:v,onSearch:A}):(0,b.jsx)(ag,{icon:l.MessagesSquare,title:"Threads",children:q&&0===p.length?(0,b.jsx)(ay,{}):(0,b.jsxs)(b.Fragment,{children:[(0,b.jsxs)("div",{className:"mb-2 text-xs text-muted-foreground",children:[p.length," threads"]}),(0,b.jsx)("div",{className:"space-y-1",children:p.map(a=>(0,b.jsxs)("button",{onClick:()=>t(a.id),className:"flex w-full items-start gap-3 rounded-md px-2 py-2 text-left hover:bg-accent",children:[(0,b.jsx)(l.MessagesSquare,{className:"mt-0.5 size-4 shrink-0 text-muted-foreground"}),(0,b.jsxs)("div",{className:"min-w-0 flex-1",children:[(0,b.jsx)("div",{className:"truncate text-sm font-medium",children:a.name}),(0,b.jsxs)("div",{className:"truncate text-xs text-muted-foreground",children:[(0,b.jsx)("span",{className:"font-medium text-foreground/80",children:a.parent.authorName})," ",(0,av.stripInlineMarkup)(a.parent.text)]}),(0,b.jsxs)("div",{className:"mt-1 text-xs text-muted-foreground",suppressHydrationWarning:!0,children:[a.messageCount," messages · ",(0,r.formatRelativeTime)(a.lastMessageAt)]})]})]},a.id))})]})})}function ax(){return(0,b.jsx)("div",{className:"space-y-2",children:Array.from({length:3}).map((a,c)=>(0,b.jsxs)("div",{className:"flex gap-2 rounded-md px-2 py-2",children:[(0,b.jsx)(t.Skeleton,{className:"size-6 shrink-0 rounded-full"}),(0,b.jsxs)("div",{className:"flex min-w-0 flex-1 flex-col gap-2",children:[(0,b.jsxs)("div",{className:"flex items-baseline gap-2",children:[(0,b.jsx)(t.Skeleton,{className:"h-3 w-20 rounded"}),(0,b.jsx)(t.Skeleton,{className:"h-3 w-10 rounded"})]}),(0,b.jsx)(t.Skeleton,{className:"h-3 w-5/6 rounded"})]})]},c))})}function ay(){return(0,b.jsx)("div",{className:"space-y-1",children:Array.from({length:3}).map((a,c)=>(0,b.jsxs)("div",{className:"flex items-start gap-3 rounded-md px-2 py-2",children:[(0,b.jsx)(t.Skeleton,{className:"mt-0.5 size-4 shrink-0 rounded"}),(0,b.jsxs)("div",{className:"flex min-w-0 flex-1 flex-col gap-2",children:[(0,b.jsx)(t.Skeleton,{className:"h-3.5 w-3/5 rounded"}),(0,b.jsx)(t.Skeleton,{className:"h-3 w-11/12 rounded"}),(0,b.jsx)(t.Skeleton,{className:"h-3 w-2/5 rounded"})]})]},c))})}function az({searchResults:a,initialQuery:c,showSearchInput:e,onOpenProfile:f,onSearch:g}){let[h,i]=(0,d.useState)(c??"");return(0,b.jsxs)(ag,{icon:ae.Search,title:"Search",children:[e&&(0,b.jsxs)("div",{className:"relative mb-3",children:[(0,b.jsx)(ae.Search,{className:"absolute left-2 top-1/2 size-4 -translate-y-1/2 text-muted-foreground"}),(0,b.jsx)(H.Input,{className:"h-9 pl-8",placeholder:"Search messages",value:h,onChange:a=>i(a.target.value),onKeyDown:(0,C.onEnterSubmit)(()=>{let a=h.trim();a&&g?.(a)})})]}),(0,b.jsxs)("div",{className:"mb-2 text-xs text-muted-foreground",children:[a.length," results"]}),a.map(a=>{let c={...a,grouped:!1};return(0,b.jsx)(au.Message,{m:c,compact:!0,onOpenThread:()=>{},onOpenProfile:f},a.id)})]})}function aA({open:a,onOpenChange:c,kind:d,members:e,membersLoading:f,membersLoadingMore:g,membersHasMore:h,onLoadMoreMembers:i,onSearchMembers:j,onAddMember:k,manageContext:l,pinned:m,pinnedLoading:n,searchResults:o,searchQuery:p,threads:q,threadsLoading:r,onOpenThread:s,onOpenProfile:t,onSetRole:u,onKickMember:v,myRole:w,onJumpToMessage:x,onSearch:y}){let{width:z,onPointerDown:A,onPointerMove:B,onPointerUp:C}=(0,ab.useSheetResize)({defaultWidth:380,minWidth:280,maxWidthRatio:.6});return(0,b.jsx)(aa.Sheet,{open:a,onOpenChange:c,modal:!1,disablePointerDismissal:!0,children:(0,b.jsxs)(aa.SheetContent,{side:"right",showOverlay:!1,style:{width:`min(${z}px, 100vw)`,maxWidth:"none"},className:"data-[side=right]:sm:inset-y-2 data-[side=right]:sm:right-2 data-[side=right]:sm:h-auto data-[side=right]:sm:rounded-xl data-[side=right]:sm:border data-[side=right]:sm:overflow-hidden",children:[(0,b.jsx)(aa.SheetTitle,{className:"sr-only",children:function(a){switch(a){case"members":return"Members";case"pinned":return"Pinned Messages";case"search":return"Search";case"threads":return"Threads"}}(d)}),(0,b.jsx)(ab.SheetResizeHandle,{onPointerDown:A,onPointerMove:B,onPointerUp:C}),(0,b.jsx)(aw,{kind:d,members:e,membersLoading:f,membersLoadingMore:g,membersHasMore:h,onLoadMoreMembers:i,onSearchMembers:j,onAddMember:k,manageContext:l,pinned:m,pinnedLoading:n,searchResults:o,searchQuery:p,threads:q,threadsLoading:r,showSearchInput:!0,onOpenThread:s,onOpenProfile:t,onSetRole:u,onKickMember:v,myRole:w,onJumpToMessage:x,onSearch:y})]})})}var aB=a.i(326609),aC=a.i(635153),aD=a.i(66957),aE=a.i(437253),aF=a.i(178835),aG=a.i(598513);a.i(735042);var aH=a.i(510828);function aI({channelId:a,serverId:b,serverParam:f,channelName:g,forumParentChannelId:h,viewer:i,anchorMessageId:j,feed:k,uiHandlers:l,onOpenThread:m,onOpenPinned:n,resolveUserName:o,children:p}){let q=(0,c.useRouter)(),r=(0,c.useSearchParams)(),[s,t]=(0,d.useState)(null),[u,v]=(0,d.useState)(""),[w,x]=(0,d.useState)([]),[y,z]=(0,d.useState)(j),[A,B]=(0,d.useState)(null),{mutateAsync:C}=(0,T.useSendMessage)(),D=(0,T.useToggleReactionApi)(),{mutate:F}=(0,T.usePinMessage)(),{mutate:G}=(0,T.useUnpinMessage)(),H=(0,T.useToggleMark)(),{mutate:I}=(0,T.useEditMessage)(),{mutateAsync:J}=(0,T.useCreateThread)(),{mutateAsync:K}=(0,E.useUploadFile)(),L=(0,aE.useTypingUsersForScope)(`ch:${a}`),M=(0,aE.useTypingNamesForScope)(`ch:${a}`),N=(0,d.useMemo)(()=>new Set(k.pinned.map(a=>a.id)),[k.pinned]),O=(0,d.useCallback)(a=>{z(b=>b===a?null:b)},[]);(0,d.useEffect)(()=>{y&&!k.messages.some(a=>a.id===y)&&k.isError&&z(a=>a===y?null:a)},[y,k.messages,k.isError]),(0,d.useEffect)(()=>{t(null),v(""),x([]),B(null)},[a]);let P=(0,d.useCallback)(async b=>{if(v(b),!b.trim())return void x([]);try{let c=new URLSearchParams({q:b,channelId:a}),d=await (0,e.apiFetch)(`/api/community/messages/search?${c}`);x(d.results.map(a=>({id:a.message.id,type:"chat",authorName:a.author.name,authorAvatar:a.author.image??(0,aD.avatarInitial)(a.author.name),content:a.message.content,createdAt:a.message.createdAt})))}catch(a){x([]),(0,e.toastApiError)(a,"Search failed")}},[a]),Q=(0,d.useCallback)(c=>{B(d=>d?{...d,seq:c}:{serverId:b,channelId:a,label:g,seq:c})},[b,a,g]),R=(0,d.useCallback)(b=>{if(A&&A.channelId!==a){aE.useCommunityStore.getState().setPendingReply({channelId:A.channelId,target:b}),B(null),l.navigate?.(A.serverId,A.channelId);return}t(b),B(null)},[A,a,l]),S=(0,aE.useCommunityStore)(a=>a.pendingReply);(0,d.useEffect)(()=>{S&&S.channelId===a&&(t(S.target),aE.useCommunityStore.getState().setPendingReply(null))},[S,a]);let U=(0,d.useRef)({messages:k.messages,pinnedIds:N,channelName:g,uiHandlers:l,onOpenThread:m,onOpenPinned:n});(0,d.useLayoutEffect)(()=>{U.current={messages:k.messages,pinnedIds:N,channelName:g,uiHandlers:l,onOpenThread:m,onOpenPinned:n}},[k.messages,N,g,l,m,n]);let V=(0,d.useCallback)(c=>{let d=U.current.messages.find(a=>a.seq===c);d?z(d.id):B({serverId:b,channelId:a,label:g,seq:c})},[b,a,g]),W=(0,d.useCallback)(a=>B(a),[]);(0,d.useEffect)(()=>(aE.useCommunityStore.getState().registerUiHandlers({jumpToSeq:V,openMessageContext:W}),()=>aE.useCommunityStore.getState().registerUiHandlers({jumpToSeq:void 0,openMessageContext:void 0})),[V,W]);let X=r.get("seq");(0,d.useEffect)(()=>{if(!X)return;let c=Number(X);Number.isFinite(c)&&(B({serverId:b,channelId:a,label:g,seq:c}),q.replace(`/c/channels/${f}/${a}`,{scroll:!1}))},[X,b,a,g,q,f]);let Y=(0,d.useMemo)(()=>({kind:"channel",id:a,serverId:b}),[a,b]),Z=(0,d.useCallback)(async c=>{let d,f=aF.useMessageStreamStore.getState(),g=f.getRetryPayload(Y,c);if(g){if(g.localUploads.length>0&&"settled"===g.uploadStatus){let a=g.message.attachments;a?.length===g.localUploads.length&&(d=a.map((a,b)=>{let c=g.localUploads[b];return{id:a.url.slice(a.url.lastIndexOf("/")+1),filename:c.file.name,contentType:c.file.type,size:c.file.size,width:c.width,height:c.height}}))}if(g.localUploads.length>0&&!d){let b=await Promise.all(g.localUploads.map(b=>K({target:{channelId:a},file:b.file,width:b.width,height:b.height}).catch(a=>((0,e.toastApiError)(a,"Failed to attach file"),null))));if(b.some(a=>null===a))return void f.dispatch(Y,{type:"uploadFailed",nonce:c});d=(0,E.zipUploadResultsWithDimensions)(b,[...g.localUploads]),f.dispatch(Y,{type:"uploadSettled",nonce:c,attachments:d.map(b=>(0,T.toAttachmentVm)(a,b))})}try{await C({serverId:b,channelId:a,forumParentChannelId:h,content:g.message.content??"",replyToId:g.message.replyTo?.id,mentionType:g.mentionType,attachments:d,nonce:c,author:{id:i.id,name:i.name,avatar:i.avatar}})}catch{return}}},[Y,K,a,h,C,b,i.id,i.name,i.avatar]),$=(0,d.useMemo)(()=>({onToggleReaction:(c,d)=>D({serverId:b,channelId:a,messageId:c,emoji:d,userId:i.id}),onReact:(c,d)=>D({serverId:b,channelId:a,messageId:c,emoji:d,userId:i.id}),onReply:a=>{let b=U.current.messages.find(b=>b.id===a);b&&t({id:b.id,authorName:b.authorName??"",text:b.content??""})},onPin:b=>{U.current.pinnedIds.has(b)?G({channelId:a,messageId:b},{onSuccess:()=>(0,aC.toast)("Message unpinned"),onError:a=>(0,e.toastApiError)(a,"Failed to unpin message")}):(F({channelId:a,messageId:b},{onSuccess:()=>(0,aC.toast)("Message pinned"),onError:a=>(0,e.toastApiError)(a,"Failed to pin message")}),U.current.onOpenPinned())},onMark:b=>H(a,b),onCreateThread:async c=>{let d=U.current.messages.find(a=>a.id===c),f=(0,av.deriveThreadName)(d?.content,U.current.channelName);try{let d=await J({serverId:b,channelId:a,messageId:c,name:f});U.current.onOpenThread(d.id)}catch(a){(0,e.toastApiError)(a,"Failed to create thread")}},onCopy:a=>{let b=U.current.messages.find(b=>b.id===a);b?.content&&(navigator.clipboard?.writeText(b.content),(0,aC.toast)("Copied to clipboard"))},onEdit:c=>{let d=U.current.messages.find(a=>a.id===c);if(!d?.content||d.authorId!==i.id||void 0===d.seq)return;let f=window.prompt("Edit message",d.content);f&&f!==d.content&&I({serverId:b,channelId:a,messageId:c,content:f},{onError:a=>(0,e.toastApiError)(a,"Failed to edit message")})},onRetry:a=>{let b=U.current.messages.find(b=>b.id===a);b?.clientNonce&&(aF.useMessageStreamStore.getState().dispatch(Y,{type:"retry",nonce:b.clientNonce}),Z(b.clientNonce))},onDismiss:a=>{let b=U.current.messages.find(b=>b.id===a);b?.clientNonce&&aF.useMessageStreamStore.getState().dispatch(Y,{type:"dismissFailed",nonce:b.clientNonce})},onPreviewImage:a=>U.current.uiHandlers.previewImage?.(a),onDownloadFile:a=>{let b=document.createElement("a");b.href=a,b.download=a.split("/").pop()??"file",b.click()}}),[a,b,i.id,D,G,F,H,J,I,Y,Z]),_=(0,d.useCallback)((b,c,d)=>{if(!b&&!c?.length)return!1;let e=(0,T.sendNonce)(),f=[];if(!aF.useMessageStreamStore.getState().accept(Y,{nonce:e,tempId:(0,T.tempMessageId)(),message:{type:"chat",authorId:i.id,authorName:i.name,authorAvatar:i.avatar,content:b,createdAt:new Date().toISOString(),...s?{replyTo:(0,aG.toOptimisticReplyPreview)(s)}:{}},localUploads:c?.map(a=>{let b=a.previewObjectUrl??URL.createObjectURL(a.file);return a.previewObjectUrl||f.push(b),{file:a.file,previewObjectUrl:b,width:a.width,height:a.height}})??[],mentionType:d})){for(let a of f)URL.revokeObjectURL(a);return!1}return Z(e),(0,aH.communityWsResetTypingThrottle)({channelId:a}),t(null),!0},[a,Y,s,Z,i.avatar,i.id,i.name]);return p((0,d.useMemo)(()=>({feed:k,pinnedIds:N,replyTo:s,setReplyTo:t,searchQuery:u,searchResults:w,search:P,scrollTargetId:y,setScrollTargetId:z,consumeScrollTarget:O,contextTarget:A,setContextTarget:B,openContextSeq:Q,onSheetReply:R,jumpToSeq:V,messageActions:$,threadActions:{...$,onCreateThread:void 0},acceptMessage:_,handleTyping:()=>(0,aH.communityWsSendTyping)({channelId:a}),typingUsers:L.map(a=>M[a]??o(a))}),[k,N,s,u,w,P,y,O,A,Q,R,V,$,_,a,L,M,o]))}function aJ({channelId:a,serverId:c,serverParam:e,channelName:j,viewer:k,anchorMessageId:l,headerServer:m,notificationLevel:n,onSetNotificationLevel:o,onBack:p,composerMembers:q,onSearchComposerMembers:r,channelRefCandidates:s,memberPanelProps:t,manageMembersDialog:u,uiHandlers:v,onOpenThread:w,onOpenProfile:x,resolveUserName:y}){let z=(0,f.useBreakpoint)(),[A,B]=(0,d.useState)(null),C=$({channelId:a,serverId:c,viewerUserId:k.id,isChildChannel:!1,anchorMessageId:l});(0,d.useEffect)(()=>{B(null)},[a]);let D=a=>{B(b=>b===a?null:a)};return(0,b.jsx)(aI,{channelId:a,serverId:c,serverParam:e,channelName:j,viewer:k,anchorMessageId:l,feed:C,uiHandlers:v,onOpenThread:w,onOpenPinned:()=>B("pinned"),resolveUserName:y,children:d=>(0,b.jsx)(_,{header:(0,b.jsx)(g.ChannelHeader,{channel:j,rightPanel:A,onToggle:D,notifLevel:n,onSetNotifLevel:o,onBack:p,server:m}),body:(0,b.jsxs)("main",{className:"flex min-h-0 min-w-0 flex-1 flex-col",children:[(0,b.jsx)(h.MessageList,{channel:j,messages:C.messages,loading:C.isLoading,pinnedIds:d.pinnedIds,newDividerBefore:C.newDividerBefore,typingUsers:d.typingUsers,onOpenThread:w,...d.messageActions,onOpenProfile:x,resolveUserName:y,scrollToMessageId:d.scrollTargetId,onScrollRoot:C.setScrollRootEl,viewerUserId:k.id,initialScrollReady:!C.readSnapshotFetching&&C.anchorInCache,onScrollTargetConsumed:d.consumeScrollTarget,hasMore:C.hasMoreOlder,isFetchingOlder:C.isFetchingOlder,onLoadOlder:C.fetchOlder,hasMoreNewer:C.hasMoreNewer,isFetchingNewer:C.isFetchingNewer,onLoadNewer:C.fetchNewer,onJumpToPresent:C.jumpToPresent,presentVersion:C.presentVersion,unreadCount:C.unreadCount},a),(0,b.jsx)("div",{"data-onboarding-target":"channel-composer",className:"shrink-0",children:(0,b.jsx)(i.Composer,{channel:j,context:"channel",members:q,onSearchMembers:r,channelRefCandidates:s,sendContract:"accepted",onAcceptSend:d.acceptMessage,onTyping:d.handleTyping,replyingTo:d.replyTo?.authorName,onCancelReply:()=>d.setReplyTo(null),autoFocus:"mobile"!==z,draftKey:`${c}/${a}`})})]}),panels:A&&(0,b.jsx)(aA,{open:!0,onOpenChange:a=>{a||B(null)},kind:A,...t,pinned:C.pinned,pinnedLoading:C.pinnedLoading,searchResults:d.searchResults,searchQuery:d.searchQuery,threads:C.threads,threadsLoading:C.threadsLoading,onOpenThread:w,onOpenProfile:x,onJumpToMessage:d.jumpToSeq,onSearch:d.search}),dialogs:(0,b.jsxs)(b.Fragment,{children:[u,(0,b.jsx)(aB.MessageContextSheet,{open:null!==d.contextTarget,onOpenChange:a=>{a||d.setContextTarget(null)},channelId:d.contextTarget?.channelId??a,channelLabel:d.contextTarget?.label,targetSeq:d.contextTarget?.seq??null,pinnedIds:d.pinnedIds,onOpenProfile:x,resolveUserName:y,onReply:d.onSheetReply})]})})})}var aK=a.i(475380),aL=a.i(318576),aM=a.i(929482),aN=a.i(785320),aO=a.i(740947),aP=a.i(881025);function aQ({parentMessageId:a,onOpenProfile:c,onPreviewImage:d,onDownloadFile:f,onJump:g}){let h,i,{message:j,isLoading:k,isError:m}=(h=!!a,{...i=(0,Q.useQuery)({queryKey:h?R.communityKeys.message(a):R.communityKeys.message("__none__"),queryFn:h?()=>(0,e.apiFetch)(`/api/community/messages/${a}`):()=>Promise.reject(Error("disabled")),enabled:h,staleTime:3e4}),message:i.data??null});if(k)return(0,b.jsx)(aR,{});if(m||!j)return(0,b.jsxs)("div",{children:[(0,b.jsxs)("div",{className:"mb-2 flex items-center gap-2 text-xs font-medium text-muted-foreground",children:[(0,b.jsx)(l.MessagesSquare,{className:"size-3.5"}),(0,b.jsx)("span",{children:"Thread started from a message"})]}),(0,b.jsx)("p",{className:"text-sm italic text-muted-foreground",children:"Original message is unavailable."})]});let n=j.authorAvatar||(0,aD.avatarInitial)(j.authorName);return(0,b.jsxs)("div",{className:"group relative",children:[(0,b.jsxs)("div",{className:"mb-2 flex items-center gap-2 text-xs font-medium text-muted-foreground",children:[(0,b.jsx)(l.MessagesSquare,{className:"size-3.5"}),(0,b.jsx)("span",{children:"Thread started from"})]}),g&&(0,b.jsxs)("button",{type:"button",onClick:g,className:"absolute right-0 top-0 flex h-7 items-center gap-1 rounded-md px-2 text-xs font-medium text-muted-foreground opacity-0 transition-opacity hover:bg-accent hover:text-foreground focus-visible:opacity-100 focus-visible:ring-2 focus-visible:ring-ring focus-visible:outline-none group-hover:opacity-100","aria-label":"Jump to message",title:"Jump to message",children:[(0,b.jsx)(aM.ArrowUpRight,{className:"size-3.5"}),"Jump"]}),(0,b.jsxs)("div",{className:"flex gap-3",children:[(0,b.jsx)("button",{onClick:a=>c?.(j.authorName,a,void 0,j.authorId),className:"shrink-0 self-start",children:(0,b.jsx)(u.Avatar,{label:n,seed:j.authorId,size:40})}),(0,b.jsxs)("div",{className:"min-w-0 flex-1",children:[(0,b.jsxs)("div",{className:"flex items-baseline gap-2",children:[(0,b.jsx)("button",{onClick:a=>c?.(j.authorName,a,void 0,j.authorId),className:"text-[15px] font-semibold hover:underline",children:j.authorName}),(0,b.jsx)("span",{className:"text-xs text-muted-foreground",suppressHydrationWarning:!0,children:(0,r.formatMessageTime)(j.createdAt)})]}),j.content&&(0,b.jsx)(aN.MessageBody,{text:j.content,onOpenProfile:c}),j.attachments&&j.attachments.length>0&&(0,b.jsx)("div",{className:"mt-2 flex flex-col gap-2 pb-2",children:j.attachments.map((a,c)=>"image"===a.kind?(0,b.jsx)("button",{onClick:()=>d?.(a.url),className:"block w-fit max-w-full overflow-hidden rounded-lg border border-border transition-colors hover:border-primary/40",children:(0,b.jsx)("img",{src:a.url,alt:a.name,width:a.width,height:a.height,className:"block h-auto w-auto max-h-75 max-w-full rounded-lg object-contain",style:{aspectRatio:(0,aO.attachmentAspectRatio)(a.width,a.height)}})},c):(0,b.jsxs)("button",{onClick:()=>f?.(a.url),className:"flex w-full max-w-[320px] items-center gap-3 rounded-lg border border-border bg-card p-2 text-left transition-colors hover:bg-accent",children:[(0,b.jsx)(aK.FileText,{className:"size-7 shrink-0 text-muted-foreground"}),(0,b.jsxs)("div",{className:"min-w-0 flex-1",children:[(0,b.jsx)("div",{className:"truncate text-sm font-medium text-primary",children:a.name}),"size"in a&&a.size&&(0,b.jsx)("div",{className:"text-xs text-muted-foreground",children:a.size})]}),(0,b.jsx)(aL.Download,{className:"size-4 shrink-0 text-muted-foreground"})]},c))}),j.reactions&&j.reactions.length>0&&(0,b.jsx)("div",{className:"mt-2 flex flex-wrap gap-1",children:j.reactions.map((a,c)=>(0,b.jsxs)("span",{className:["flex h-6 items-center gap-1 rounded-full px-2 text-sm",a.me?"border border-primary/50 bg-accent":"bg-secondary"].join(" "),children:[(0,b.jsx)("span",{children:a.emoji}),(0,b.jsx)(aP.NumberTicker,{value:a.count,className:"text-xs text-muted-foreground"})]},c))})]})]})]})}function aR(){return(0,b.jsxs)("div",{children:[(0,b.jsx)(t.Skeleton,{className:"mb-2 h-3 w-32 rounded"}),(0,b.jsxs)("div",{className:"flex gap-3",children:[(0,b.jsx)(t.Skeleton,{className:"size-10 shrink-0 rounded-full"}),(0,b.jsxs)("div",{className:"flex min-w-0 flex-1 flex-col gap-2 pt-0.5",children:[(0,b.jsx)(t.Skeleton,{className:"h-4 w-32 rounded"}),(0,b.jsx)(t.Skeleton,{className:"h-3.5 w-full max-w-80 rounded"}),(0,b.jsx)(t.Skeleton,{className:"h-3.5 w-48 rounded"})]})]})]})}let aS=()=>{};function aT({channelId:a,serverId:j,serverParam:k,channelName:l,viewer:m,anchorMessageId:n,parentChannelId:o,parentMessageId:p,parentChannelName:q,parentIsForum:r,childCreatorId:s,canRenameThread:t,headerServer:u,notificationLevel:v,onSetNotificationLevel:w,onBack:x,onLoadingBack:y,composerMembers:z,onSearchComposerMembers:A,channelRefCandidates:B,memberPanelProps:C,manageMembersDialog:D,uiHandlers:E,onOpenChild:F,onOpenProfile:G,resolveUserName:H}){let I=(0,c.useRouter)(),J=(0,f.useBreakpoint)(),[K,L]=(0,d.useState)(null),[M,N]=(0,d.useState)(null),{mutateAsync:O}=(0,T.useEditMessage)(),P=$({channelId:a,serverId:j,viewerUserId:m.id,isChildChannel:!0,anchorMessageId:n}),Q=M??l;(0,d.useEffect)(()=>{L(null),N(null)},[a]);let R=(0,d.useCallback)(a=>{L(b=>b===a?null:a)},[]),S=(0,d.useCallback)(()=>L("pinned"),[]),U=(0,d.useCallback)(()=>{o?I.push(`/c/channels/${k}/${o}`):I.back()},[o,I,k]),V=r&&o&&p&&s===m.id?async b=>{try{await O({serverId:j,channelId:o,messageId:p,content:b,forumChannelId:o,forumThreadId:a})}catch(a){throw(0,e.toastApiError)(a,"Failed to edit post"),a}}:!r&&t?async b=>{try{await (0,e.apiFetch)(`/api/community/channels/${a}`,{method:"PATCH",body:JSON.stringify({name:b})}),N(b)}catch(a){throw(0,e.toastApiError)(a,"Failed to rename"),a}}:void 0;if(P.isLoading)return(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)(g.ChannelHeaderSkeleton,{onBack:y}),(0,b.jsxs)("main",{className:"flex min-h-0 min-w-0 flex-1 flex-col",children:[(0,b.jsx)(h.MessageList,{channel:"",messages:[],loading:!0,onOpenThread:aS},a),(0,b.jsx)(i.ComposerSkeleton,{})]})]});let W=p&&!r?(0,b.jsx)(aQ,{parentMessageId:p,onOpenProfile:G,onPreviewImage:a=>E.previewImage?.(a),onDownloadFile:a=>{let b=document.createElement("a");b.href=a,b.download=a.split("/").pop()??"file",b.click()},onJump:o?()=>I.push(`/c/channels/${k}/${o}?msg=${p}`):void 0}):void 0;return(0,b.jsx)(aI,{channelId:a,serverId:j,serverParam:k,channelName:Q,forumParentChannelId:r?o??void 0:void 0,viewer:m,anchorMessageId:n,feed:P,uiHandlers:E,onOpenThread:aS,onOpenPinned:S,resolveUserName:H,children:c=>(0,b.jsx)(_,{header:(0,b.jsx)(g.ChannelHeader,{channel:q,forum:r,rightPanel:K,onToggle:R,notifLevel:v,onSetNotifLevel:w,onBack:x,server:u,tools:{threads:!1},breadcrumb:{label:Q,titleRename:r,onNavigateBack:U,onRename:V}}),body:(0,b.jsxs)("main",{className:"flex min-h-0 min-w-0 flex-1 flex-col",children:[(0,b.jsx)(h.MessageList,{channel:Q,messages:c.feed.messages,loading:c.feed.isLoading,pinnedIds:c.pinnedIds,newDividerBefore:c.feed.newDividerBefore,typingUsers:c.typingUsers,onOpenThread:aS,...c.threadActions,onOpenProfile:G,resolveUserName:H,scrollToMessageId:c.scrollTargetId,hero:W,onScrollRoot:c.feed.setScrollRootEl,viewerUserId:m.id,initialScrollReady:!c.feed.readSnapshotFetching&&c.feed.anchorInCache,onScrollTargetConsumed:c.consumeScrollTarget,hasMore:c.feed.hasMoreOlder,isFetchingOlder:c.feed.isFetchingOlder,onLoadOlder:c.feed.fetchOlder,hasMoreNewer:c.feed.hasMoreNewer,isFetchingNewer:c.feed.isFetchingNewer,onLoadNewer:c.feed.fetchNewer,onJumpToPresent:c.feed.jumpToPresent,presentVersion:c.feed.presentVersion,unreadCount:c.feed.unreadCount},a),(0,b.jsx)("div",{"data-onboarding-target":"channel-composer",className:"shrink-0",children:(0,b.jsx)(i.Composer,{channel:Q,context:"thread",members:z,onSearchMembers:A,channelRefCandidates:B,sendContract:"accepted",onAcceptSend:c.acceptMessage,onTyping:c.handleTyping,replyingTo:c.replyTo?.authorName,onCancelReply:()=>c.setReplyTo(null),autoFocus:"mobile"!==J,draftKey:`${j}/${a}`})})]}),panels:K&&(0,b.jsx)(aA,{open:!0,onOpenChange:a=>{a||L(null)},kind:K,...C,pinned:c.feed.pinned,pinnedLoading:c.feed.pinnedLoading,searchResults:c.searchResults,searchQuery:c.searchQuery,threads:c.feed.threads,threadsLoading:c.feed.threadsLoading,onOpenThread:F,onJumpToMessage:c.jumpToSeq,onSearch:c.search,onOpenProfile:G}),dialogs:(0,b.jsxs)(b.Fragment,{children:[D,(0,b.jsx)(aB.MessageContextSheet,{open:null!==c.contextTarget,onOpenChange:a=>{a||c.setContextTarget(null)},channelId:c.contextTarget?.channelId??a,channelLabel:c.contextTarget?.label,targetSeq:c.contextTarget?.seq??null,pinnedIds:c.pinnedIds,onOpenProfile:G,resolveUserName:H,onReply:c.onSheetReply})]})})})}var aU=a.i(249331);let aV=a=>`alook:forum-tag:${a}`;function aW(a,b,c){"All"===c?a.removeItem(aV(b)):a.setItem(aV(b),c)}function aX({serverId:a,forumChannelId:c,...f}){let g=function(a){let[b,c]=(0,d.useState)(()=>"All"),f=(0,Z.useForumTags)(a,!0);(0,d.useEffect)(()=>{var d;if(f.isSuccess&&"All"!==b&&"All"===(d=f.data.tags,"All"===b||d.includes(b)?b:"All")){c("All");try{aW(window.localStorage,a,"All")}catch{}}},[a,b,f.data,f.isSuccess]);let g=(0,d.useCallback)(b=>{c(b);try{aW(window.localStorage,a,b)}catch{}},[a]),h="All"===b?null:b,i=R.communityKeys.forumActivityFeed(a,h),j=(0,aU.useInfiniteQuery)({queryKey:i,queryFn:({pageParam:b})=>{let c=new URLSearchParams({order:"activity",limit:String(D.DEFAULT_MESSAGE_PAGE_SIZE),include:"parentMessage,firstMessage,tags,participants"});return h&&c.set("tag",h),b&&c.set("cursor",b),(0,e.apiFetch)(`/api/community/channels/${a}/threads?${c.toString()}`)},initialPageParam:null,getNextPageParam:a=>a.hasMore?a.nextCursor:void 0}),k=(0,d.useMemo)(()=>(function(a){let b=new Map;for(let c of a){let a=new Map(c.included.parentMessages.map(a=>[a.id,a])),d=new Map(c.included.firstMessages.map(a=>[a.channelId,a])),e=new Map;for(let a of c.included.tags)e.set(a.messageId,[...e.get(a.messageId)??[],a.tag]);let f=new Map,g=new Map;for(let a of c.included.participants)f.set(a.channelId,[...f.get(a.channelId)??[],{id:a.userId,name:a.userName??"",avatar:a.userImage??(0,aD.avatarInitial)(a.userName??"")}]),g.set(a.channelId,Number(a.participantCount??0));for(let h of c.threads){if(b.has(h.id))continue;let c=h.parentMessageId?a.get(h.parentMessageId):void 0,i=d.get(h.id);b.set(h.id,{id:h.id,name:c?.content.trim()?c.content:h.name?.trim()||"Post",messageCount:h.messageCount??0,lastMessageAt:h.activityAt,parent:{authorName:c?.authorName??"",text:(i?.content??"").slice(0,100)},authorId:c?.authorId??h.creatorId??"",authorAvatar:c?.authorImage??(0,aD.avatarInitial)(c?.authorName??""),openerMessageId:h.parentMessageId??"",tags:h.parentMessageId?e.get(h.parentMessageId)??[]:[],preview:(i?.content??"").slice(0,100),participants:f.get(h.id)??[],participantCount:g.get(h.id)??0})}}return[...b.values()].sort((a,b)=>b.lastMessageAt.localeCompare(a.lastMessageAt)||b.id.localeCompare(a.id))})(j.data?.pages??[]),[j.data?.pages]);return{...j,posts:k,tag:b,selectTag:g,availableTags:f.data?.tags??[],hasMoreOlder:j.hasNextPage,isFetchingOlder:j.isFetchingNextPage,fetchOlder:()=>{j.fetchNextPage()}}}(c);return(0,b.jsx)(N,{forumChannelId:c,...f,posts:g.posts,loading:g.isLoading,tag:g.tag,availableTags:g.availableTags,onTagChange:g.selectTag,hasMore:g.hasMoreOlder,loadingMore:g.isFetchingOlder,onLoadMore:g.fetchOlder,onEditPostTags:(a,b)=>{let c=g.posts.find(b=>b.id===a);c&&f.onEditPostTags?.(c,b)}})}var aY=a.i(705021);function aZ({serverId:a,channelId:c,channelName:f,viewer:h,viewerRole:i,headerServer:j,notificationLevel:k,onSetNotificationLevel:l,onBack:m,composerMembers:n,onSearchComposerMembers:o,memberPanelProps:p,manageMembersDialog:q,onOpenPost:r,onOpenProfile:s}){let t=S(c);X({channelId:c,serverId:a,isChildChannel:!1,snapshotReady:!t.isFetching});let[u,v]=(0,d.useState)({channelId:c,panel:null}),w=u.channelId===c?u.panel:null,x=(0,aY.useCreateForumThread)(),y=(0,aY.useUpdatePostTags)(),z=(0,aY.useDeleteForumThread)();(0,d.useEffect)(()=>{v(a=>a.channelId===c&&null===a.panel?a:{channelId:c,panel:null})},[c]);let A=(0,d.useCallback)(a=>{v(b=>({channelId:c,panel:b.channelId===c&&b.panel===a?null:a}))},[c]),B=(0,d.useCallback)(async a=>{r((await x.mutateAsync({nonce:a.nonce,channelId:c,name:a.name,content:a.content,attachments:a.attachments,mentionType:a.mentionType})).threadId)},[c,x,r]),C=(0,ao.canManageServer)(i);return(0,b.jsx)(_,{header:(0,b.jsx)(g.ChannelHeader,{channel:f,forum:!0,rightPanel:w,onToggle:A,notifLevel:k,onSetNotifLevel:l,onBack:m,server:j,tools:{threads:!1,pinned:!1}}),body:(0,b.jsx)("main",{className:"flex min-h-0 min-w-0 flex-1 flex-col",children:(0,b.jsx)(aX,{serverId:a,forumChannelId:c,members:n,onSearchMembers:o,onOpenPost:r,onCreatePost:B,canEditPostTags:a=>C||a.authorId===h.id,savingTagsFor:y.isPending?y.variables?.threadId??null:null,onEditPostTags:(a,b)=>{y.mutate({forumChannelId:c,threadId:a.id,openerMessageId:a.openerMessageId,tags:b},{onError:a=>(0,e.toastApiError)(a,"Failed to update tags")})},canDeletePost:a=>C||a.authorId===h.id,deletingPost:z.isPending?z.variables?.threadId??null:null,onDeletePost:b=>{z.mutate({serverId:a,forumChannelId:c,threadId:b.id},{onError:a=>(0,e.toastApiError)(a,"Failed to delete post")})}})}),panels:w&&(0,b.jsx)(aA,{open:!0,onOpenChange:a=>{a||v({channelId:c,panel:null})},kind:w,...p,pinned:[],searchResults:[],threads:[],onOpenThread:r,onOpenProfile:s}),dialogs:q})}var a$=a.i(379764),a_=a.i(377447),a0=a.i(425712),a1=a.i(128824),a2=a.i(258365),a3=a.i(559477),a4=a.i(192378),a5=a.i(606617),a6=a.i(47363),a7=a.i(208847),a8=a.i(81213),a9=a.i(491443),ba=a.i(15841);function bb({serverParam:a,channelId:j}){var k,l;let m=(0,c.useRouter)(),n=(0,c.useSearchParams)(),o=decodeURIComponent(a);(0,d.useEffect)(()=>{(0,a6.setLastChannel)(o,j)},[o,j]);let[p]=(0,d.useState)(()=>n.get("msg")),q=(0,f.useBreakpoint)(),r=(0,U.useCurrentUser)(),s=(0,aE.useUiHandlers)(),t=(0,aE.useCurrentChannelId)(),u=function(a,b,f){var g;let h,i,j,k,l=(0,c.useRouter)(),m=(0,V.useQueryClient)(),{server:n}=(0,a7.useServer)(a),o=(0,aE.useCurrentChannelMeta)(),p=n?.categories?.flatMap(a=>a.channels).some(a=>a.id===f),q=!!n?.categories&&!p,r=(h=(0,a5.useCommunityWsStore)(a=>a.accessEpoch),i=(0,a5.useCommunityWsStore)(a=>a.accessConnected),j=(0,Q.useQuery)({queryKey:R.communityKeys.forumSidebarThreads(a),queryFn:()=>Promise.reject(Error("forum sidebar observer only")),enabled:!1}),{...k=(0,Q.useQuery)({queryKey:R.communityKeys.channelMeta(a,f),queryFn:async()=>{let a=a5.useCommunityWsStore.getState().accessEpoch;var b=await (0,e.apiFetch)(`/api/community/channels/${f}`);if(!b.parentChannelId||!b.parentMessageId)throw Error("invalid child channel metadata");return{id:b.id,serverId:b.serverId,name:b.name,type:b.type,parentChannelId:b.parentChannelId,parentMessageId:b.parentMessageId,creatorId:b.creatorId,archived:!0===b.archived||1===b.archived,activityAt:b.lastMessageAt??b.createdAt,verifiedEpoch:a}},enabled:q&&(j.isSuccess&&"idle"===j.fetchStatus||j.isError),staleTime:1/0,gcTime:3e5}),isVerified:(g=k.data,!!g&&i&&g.verifiedEpoch===h&&!g.archived)}),s=(0,d.useMemo)(()=>(function(a,b,c,d=null){let e=a?.categories?.flatMap(a=>a.channels)??[],f=e.find(a=>a.id===c)??null,g=!f&&!!a?.categories,h=!g||d?.channelId===c&&d.settled,i=!g||h?b:null,j=i?.parentChannelId?e.find(a=>a.id===i.parentChannelId)??null:null;return{server:a,channel:f,parent:j,currentChannelMeta:i,isForum:(0,ao.isForum)(f?.type),isChild:g,isForumPostChild:g&&(0,ao.isForum)(j?.type),isNotifyUnit:g,metaSettled:h,routeHydrated:!!a?.categories&&h&&(!g||null!==i)}})(n,o,f,q?{channelId:f,settled:r.isVerified}:{channelId:f,settled:!0}),[f,o,q,r.isVerified,n]);return(0,d.useEffect)(()=>(aE.useCommunityStore.getState().setCurrentChannelId(f),()=>{aE.useCommunityStore.getState().setCurrentChannelId(null)}),[f]),(0,d.useEffect)(()=>((0,aH.communityWsSubscribe)({channelId:f}),()=>(0,aH.communityWsUnsubscribe)()),[f]),(0,d.useEffect)(()=>{q?r.data&&r.isVerified?aE.useCommunityStore.getState().setCurrentChannelMeta(r.data):(r.error||r.data?.archived)&&(aE.useCommunityStore.getState().setCurrentChannelMeta(null),r.data?.archived||(0,a8.isDefinitiveChildMetaFailure)(r.error)?((0,W.removeForumSidebarUnreadChild)(m,a,f),(0,W.removeForumSidebarThreadExact)(m,a,f),(0,a6.getLastChannel)(a)===f&&(0,a6.clearLastChannel)(a),l.replace(`/c/channels/${b}`)):(0,e.toastApiError)(r.error,"Failed to load thread")):aE.useCommunityStore.getState().setCurrentChannelMeta(null)},[f,q,r.data,r.error,r.isVerified,m,l,a,b]),s}(o,a,j),{server:v,channel:w,parent:x,currentChannelMeta:y,isForum:z,isChild:A,isForumPostChild:B,isNotifyUnit:C}=u,E=(k=y?.parentMessageId,l=B&&u.routeHydrated,(0,Q.useQuery)({queryKey:R.communityKeys.forumOpenerHint(o,k??"__none__"),queryFn:async()=>{let a=await (0,e.apiFetch)(`/api/community/messages/${k}`);return{id:a.id,content:a.content}},enabled:l&&!!k,staleTime:1/0,gcTime:3e5})),F=(0,d.useMemo)(()=>{var a;return(a={forumPostTitle:B?E.data?.content:null,topLevelName:w?.name,childChannelName:B?null:y?.name,forumListName:null,threadListName:null,fallback:B?"Post":"channel"}).localName??a.forumPostTitle??a.topLevelName??a.forumListName??a.threadListName??a.childChannelName??a.fallback??"channel"},[w,y,E.data?.content,B]),{composerMembers:G,onSearchComposerMembers:H,memberPanelProps:I,manageMembersDialog:J,resolveUserName:K,myRole:L}=function({serverId:a,channelId:c,channelName:f,currentServer:g,channelInServer:h,currentChannelMeta:i,isChildChannel:j,isNotifyUnit:k,currentUser:l}){var m;let n,o=(0,a2.useServerMembers)(a),p=(0,a5.useOnlineUserIds)(),q=(0,a5.useCommunityWsStore)(a=>a.userStatuses),[r,s]=(0,d.useState)({channelId:c,query:"",dialogOpen:!1}),t=r.channelId===c?r.query:"",u=r.channelId===c&&r.dialogOpen;(0,d.useEffect)(()=>{s(a=>a.channelId!==c||""!==a.query||a.dialogOpen?{channelId:c,query:"",dialogOpen:!1}:a)},[c]);let v=(0,d.useMemo)(()=>o.members.map(a=>{let b=q.get(a.userId);return{...a,status:(0,a0.resolveRowPresence)(a,p,l.id),statusEmoji:b?b.emoji:a.statusEmoji,statusText:b?b.text:a.statusText}}),[l.id,o.members,p,q]),w=(0,d.useMemo)(()=>{let a=j?i?.parentChannelId??c:c,b=g?.categories?.find(b=>b.channels.some(b=>b.id===a));return!!b?.private},[c,i,g,j]),x=(0,a1.useChannelMembers)(c,k||w&&!k),y=k?i?.parentChannelId??null:null,z=(0,a1.useChannelMembers)(y??"",!!y),A=(0,a1.useAddableMembers)(a,c,u&&w&&!k),B=(0,a1.useAddChannelMember)(c),C=(0,a1.useRemoveChannelMember)(c),D=i?.parentChannelId?g?.categories?.flatMap(a=>a.channels).find(a=>a.id===i.parentChannelId):null,E=j&&(0,ao.isForum)(D?.type)?a:void 0,F=(m=l.id,n=(0,V.useQueryClient)(),(0,a3.useMutation)({mutationFn:a=>(0,e.apiFetch)(`/api/community/channels/${encodeURIComponent(c)}/participants`,{method:"POST",body:JSON.stringify({userId:a})}),onSuccess:(a,b)=>{n.invalidateQueries({queryKey:R.communityKeys.channelMembers(c)}),E&&b===m&&(0,W.grantForumSidebarChild)(n,E,c)}})),G=function(a,b,c,d=!!b){let f=(0,V.useQueryClient)();return(0,a3.useMutation)({mutationFn:b=>(0,e.apiFetch)(`/api/community/channels/${encodeURIComponent(a)}/participants/${encodeURIComponent(b)}`,{method:"DELETE"}),onSuccess:(e,g)=>{f.invalidateQueries({queryKey:R.communityKeys.channelMembers(a)}),b&&g===c&&(d?((0,W.removeForumSidebarUnreadChild)(f,b,a),(0,W.removeForumSidebarThreadExact)(f,b,a)):f.removeQueries({queryKey:R.communityKeys.channelMeta(b,a),exact:!0}),aE.useCommunityStore.getState().currentChannelId===a&&aE.useCommunityStore.getState().setCurrentChannelMeta(null))}})}(c,a,l.id,!!E),H=(0,a4.useSetMemberRole)(),I=(0,a4.useKickMember)(),J=(0,d.useMemo)(()=>{let a=t.trim().toLowerCase(),b=(b,c)=>!a||b.toLowerCase().includes(a)||(c??"").toLowerCase().includes(a),c=a=>{let b=q.get(a.userId);return{id:a.userId,userId:a.userId,name:a.name,discriminator:a.discriminator,avatar:a.avatar,sub:"",role:"member",status:(0,a0.resolveRowPresence)(a,p,l.id),statusEmoji:b?b.emoji:a.statusEmoji??null,statusText:b?b.text:a.statusText??"",isCreator:a.isCreator,source:a.source}};return k?x.members.filter(a=>b(a.name,a.discriminator)).map(a=>c({...a,source:void 0})):w?x.members.filter(a=>b(a.name,a.discriminator)).map(c):v},[x.members,w,l.id,k,t,v,p,q]),K=(0,d.useMemo)(()=>w?(k?z.members:x.members).filter(a=>a.userId!==l.id).map(a=>{let b=q.get(a.userId);return{...a,status:(0,a0.resolveRowPresence)(a,p,l.id),statusEmoji:b?b.emoji:a.statusEmoji,statusText:b?b.text:a.statusText}}):v.filter(a=>a.userId!==l.id),[x.members,w,l.id,k,v,p,z.members,q]),L=v.find(a=>a.userId===l.id)?.role,M=j?i?.creatorId:h?.creatorId,N=!!M&&M===l.id,O=k||w,P=k?G:C,Q=O?{viewerUserId:l.id,viewerIsCreator:N,unitLabel:i?.name??f,onLeave:a=>P.mutateAsync(a),onRemove:a=>P.mutateAsync(a)}:void 0,S={members:J,membersLoading:O?x.isLoading:o.loading,membersLoadingMore:!O&&o.loadingMore,membersHasMore:!O&&o.hasMore,onLoadMoreMembers:O?void 0:o.loadMore,onSearchMembers:O?a=>s({channelId:c,query:a,dialogOpen:u}):o.searchMembers,onAddMember:O?()=>s({channelId:c,query:t,dialogOpen:!0}):void 0,manageContext:Q,myRole:L,onSetRole:(b,c)=>{H.mutate({serverId:a,memberId:b,role:c},{onSuccess:()=>(0,aC.toast)("Role updated"),onError:a=>(0,e.toastApiError)(a,"Failed to update role")})},onKickMember:b=>I.mutateAsync({serverId:a,memberId:b}).then(()=>(0,aC.toast)("Member kicked"))},T=(0,d.useMemo)(()=>{if(!u)return null;if(k){let a=new Set(x.members.map(a=>a.userId)),d=z.members.filter(b=>!a.has(b.userId)&&b.userId!==l.id).map(a=>({userId:a.userId,name:a.name??null,avatar:a.avatar}));return(0,b.jsx)(a$.AddMembersDialog,{title:`Add participants to /${i?.name??f}`,subtitle:"Added people are notified of new replies. Anyone with access can already read it.",candidates:d,onAdd:a=>F.mutateAsync(a),onClose:()=>s({channelId:c,query:t,dialogOpen:!1})})}let a=A.members.map(a=>({userId:a.userId,name:a.name??null,avatar:a.avatar}));return(0,b.jsx)(a$.AddMembersDialog,{title:`Add members to /${f}`,subtitle:"Added members can see and post here.",candidates:a,onAdd:a=>B.mutateAsync(a),onClose:()=>s({channelId:c,query:t,dialogOpen:!1})})},[B,F,A.members,x.members,f,c,i,l.id,k,u,t,z.members]),U=(0,d.useMemo)(()=>(0,a_.makeUserNameResolver)(o.members),[o.members]);return{composerMembers:K,onSearchComposerMembers:o.searchMembers,memberPanelProps:S,manageMembersDialog:T,resolveUserName:U,myRole:L}}({serverId:o,channelId:j,channelName:F,currentServer:v,channelInServer:w,currentChannelMeta:y,isChildChannel:A,isNotifyUnit:C,currentUser:r}),M=(0,d.useMemo)(()=>(v?.categories?.flatMap(a=>a.channels)??[]).map(a=>({id:a.id,name:a.name,serverId:o,serverName:v?.name??""})),[v,o]),N=(0,a9.useNotificationSettings)().channel,{mutate:O}=(0,ba.useSetChannelNotif)(),S=(0,d.useCallback)(()=>{s.goBackMobile?.()},[s]),T=(0,d.useCallback)(()=>{m.back()},[m]),X=(0,d.useCallback)(a=>{O({channelId:j,level:a},{onError:a=>(0,e.toastApiError)(a,"Failed to update notification level")})},[j,O]);(0,d.useEffect)(()=>{p&&m.replace(`/c/channels/${a}/${j}`,{scroll:!1})},[]);let Y=(0,d.useCallback)(b=>{m.push(`/c/channels/${a}/${b}`)},[m,a]),Z=(0,d.useCallback)((a,b,c,d)=>{s.openProfile?.(a,b,c,d)},[s]);return t===j&&u.routeHydrated&&(!B||!E.isLoading)?A?(0,b.jsx)(aT,{channelId:j,serverId:o,serverParam:a,channelName:F,viewer:r,anchorMessageId:p,parentChannelId:y?.parentChannelId??null,parentMessageId:y?.parentMessageId??null,parentChannelName:x?.name??"channel",parentIsForum:B,childCreatorId:y?.creatorId,canRenameThread:(0,ao.canManageServer)(L),headerServer:"mobile"===q&&v?{id:v.id,name:v.name,icon:v.icon}:void 0,notificationLevel:N[j]??D.USE_SERVER_DEFAULT,onSetNotificationLevel:X,onBack:"mobile"===q?T:void 0,onLoadingBack:"mobile"===q?S:void 0,composerMembers:G,onSearchComposerMembers:H,channelRefCandidates:M,memberPanelProps:I,manageMembersDialog:J,uiHandlers:s,onOpenChild:Y,onOpenProfile:Z,resolveUserName:K}):z?(0,b.jsx)(aZ,{serverId:o,channelId:j,channelName:F,viewer:r,viewerRole:L,headerServer:"mobile"===q&&v?{id:v.id,name:v.name,icon:v.icon}:void 0,notificationLevel:N[j]??D.USE_SERVER_DEFAULT,onSetNotificationLevel:X,onBack:"mobile"===q?S:void 0,composerMembers:G,onSearchComposerMembers:H,memberPanelProps:I,manageMembersDialog:J,onOpenPost:Y,onOpenProfile:Z}):(0,b.jsx)(aJ,{channelId:j,serverId:o,serverParam:a,channelName:F,viewer:r,anchorMessageId:p,headerServer:"mobile"===q&&v?{id:v.id,name:v.name,icon:v.icon}:void 0,notificationLevel:N[j]??D.USE_SERVER_DEFAULT,onSetNotificationLevel:X,onBack:"mobile"===q?S:void 0,composerMembers:G,onSearchComposerMembers:H,channelRefCandidates:M,memberPanelProps:I,manageMembersDialog:J,uiHandlers:s,onOpenThread:Y,onOpenProfile:Z,resolveUserName:K}):z?(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)(g.ChannelHeaderSkeleton,{onBack:"mobile"===q?S:void 0}),(0,b.jsx)("main",{className:"flex min-h-0 min-w-0 flex-1 flex-col",children:(0,b.jsx)(P,{})})]}):(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)(g.ChannelHeaderSkeleton,{onBack:"mobile"===q?S:void 0}),(0,b.jsxs)("main",{className:"flex min-h-0 min-w-0 flex-1 flex-col",children:[(0,b.jsx)(h.MessageList,{channel:"",messages:[],loading:!0,onOpenThread:()=>{}},j),(0,b.jsx)(i.ComposerSkeleton,{})]})]})}a.s(["default",0,function(){let a=(0,c.useParams)(),d=`${a.serverId}/${a.channelId}`;return(0,b.jsx)(bb,{serverParam:a.serverId,channelId:a.channelId},d)}],166398)}];
1
+ module.exports=[166398,a=>{"use strict";var b=a.i(659140),c=a.i(144440),d=a.i(448905),e=a.i(487154),f=a.i(586220),g=a.i(686963),h=a.i(32006),i=a.i(633088),j=a.i(640764),k=a.i(718601),l=a.i(710822),m=a.i(216617),n=a.i(464930);let o=(0,a.i(36247).default)("tag",[["path",{d:"M12.586 2.586A2 2 0 0 0 11.172 2H4a2 2 0 0 0-2 2v7.172a2 2 0 0 0 .586 1.414l8.704 8.704a2.426 2.426 0 0 0 3.42 0l6.58-6.58a2.426 2.426 0 0 0 0-3.42z",key:"vktsd0"}],["circle",{cx:"7.5",cy:"7.5",r:".5",fill:"currentColor",key:"kqv944"}]]);var p=a.i(775313),q=a.i(732254),r=a.i(561238),s=a.i(25668),t=a.i(131033),u=a.i(403608),v=a.i(722393),w=a.i(487433),x=a.i(499062),y=a.i(786735),z=a.i(739105),A=a.i(655795),B=a.i(867561),C=a.i(348923);a.i(974936);var D=a.i(157328),E=a.i(333701);function F({forumChannelId:a,members:c,onSearchMembers:f,onCancel:g,onCreatePost:h}){let[j,k]=(0,d.useState)(""),[l,m]=(0,d.useState)(!1),[n,o]=(0,d.useState)(!1),p=(0,d.useRef)(!1),r=(0,d.useRef)(null),s=(0,E.useUploadFile)(),t=(0,d.useRef)(new Map),u=(0,d.useRef)(crypto.randomUUID()),v=j.trim().length>0&&l,w=(0,d.useCallback)(()=>{n||g()},[n,g]),G=()=>r.current?.focusEditor(),H=async(b,c,d)=>{if(v&&!p.current){p.current=!0,o(!0);try{let f=c??[],g=[];if(f.length>0){let b=await Promise.all(f.map(async b=>{let c=t.current.get(b.file);if(c)return c;let d=await s.mutateAsync({target:{channelId:a},file:b.file,width:b.width,height:b.height});return t.current.set(b.file,d),d}));g=(0,E.zipUploadResultsWithDimensions)(b,f)}try{await h({nonce:u.current,name:j.trim(),content:b,attachments:g.length>0?g:void 0,mentionType:d})}catch(a){(0,e.toastApiError)(a,"Failed to create post");return}t.current.clear(),u.current=crypto.randomUUID(),r.current?.resetAfterSubmit(),k("")}catch(a){(0,e.toastApiError)(a,"Failed to upload attachment")}finally{p.current=!1,o(!1)}}};return(0,b.jsxs)("div",{role:"region","aria-label":"Create post",onKeyDown:a=>{"Escape"!==a.key||a.defaultPrevented||(a.stopPropagation(),w())},className:"flex w-full min-w-0 shrink-0 flex-col border-b border-border px-4 py-3",children:[(0,b.jsxs)("div",{className:"flex items-center gap-2 px-2",children:[(0,b.jsx)("input",{value:j,onChange:a=>k(a.target.value),onKeyDown:a=>(0,C.onEnterSubmit)(G,{onEscape:w})(a),placeholder:"New post",autoFocus:!0,maxLength:D.MAX_CHANNEL_NAME_LENGTH,className:"w-full min-w-0 bg-transparent text-2xl font-semibold outline-none placeholder:text-muted-foreground"}),(0,b.jsx)("button",{type:"button",onClick:w,className:"grid size-6 shrink-0 place-items-center rounded text-muted-foreground hover:bg-accent hover:text-foreground","aria-label":"Cancel post",children:(0,b.jsx)(z.X,{className:"size-5"})})]}),(0,b.jsx)(i.Composer,{sendContract:"deferred",ref:r,mode:"forumThreadBody",hideEmoji:!0,hideAttach:!0,channel:"",context:"channel",members:c,onSearchMembers:f,channelRefCandidates:[],placeholder:"What do you want to discuss?",onDeferredSubmit:(a,b,c)=>{H(a,b,c)},onDirty:m}),(0,b.jsxs)("div",{className:"mt-2 flex items-center gap-3",children:[(0,b.jsxs)(B.DropdownMenu,{children:[(0,b.jsx)(B.DropdownMenuTrigger,{render:(0,b.jsx)("button",{type:"button",className:"grid size-8 place-items-center rounded-full text-muted-foreground hover:bg-accent hover:text-foreground aria-expanded:bg-accent aria-expanded:text-foreground","aria-label":"Add"}),children:(0,b.jsx)(x.PlusCircle,{className:"size-5"})}),(0,b.jsx)(B.DropdownMenuContent,{side:"top",align:"start",className:"w-44",children:(0,b.jsxs)(B.DropdownMenuItem,{onClick:()=>r.current?.openFilePicker(),children:[(0,b.jsx)(y.Upload,{className:"size-4"})," Upload a File"]})})]}),(0,b.jsxs)("span",{className:"ml-auto flex items-center gap-1 text-xs text-muted-foreground",children:[(0,b.jsx)(A.Kbd,{children:"⇧"}),(0,b.jsx)("span",{children:"+"}),(0,b.jsx)(A.Kbd,{children:"⏎"})]}),(0,b.jsx)(q.Button,{size:"sm",onClick:()=>r.current?.submitNow(),disabled:!v||n,children:n?"Creating…":"Create post"})]})]})}var G=a.i(334235),H=a.i(692);let I=[8,30,55,95,145,175,205,250,290,330];function J(a){return{"--forum-tag-hue":function(a){let b=5381;for(let c of a)b=(b<<5)+b+c.charCodeAt(0)>>>0;return I[b%I.length]}(a)}}let K="forum-tag-color";var L=a.i(75118);function M({trigger:a,postName:c,current:e,allTags:f,onSave:g,saving:h}){let[i,j]=(0,d.useState)(!1),[k,l]=(0,d.useState)(e),[m,n]=(0,d.useState)("");(0,d.useEffect)(()=>{i||l(e)},[e,i]);let o=[...new Set([...f,...k])].sort();return(0,b.jsxs)(v.Popover,{open:i,onOpenChange:a=>{if(a){l(e),n(""),j(!0);return}j(!1),(k.length!==e.length||k.some((a,b)=>a!==e[b]))&&g(k)},children:[(0,b.jsx)(v.PopoverTrigger,{render:a}),(0,b.jsxs)(v.PopoverContent,{side:"bottom",align:"end",className:"w-64 space-y-3 p-3","data-testid":H.tid.forumTagDialog,"aria-label":`Edit tags for ${c}`,onClick:a=>a.stopPropagation(),children:[(0,b.jsx)("p",{className:"text-[11px] font-medium tracking-[0.12em] text-muted-foreground",children:"TAGS"}),(0,b.jsx)("div",{className:"flex flex-wrap items-center gap-1.5",children:0===o.length?(0,b.jsx)("p",{className:"text-xs text-muted-foreground",children:"No tags yet"}):o.map(a=>{let c=k.includes(a);return(0,b.jsxs)("button",{type:"button",style:J(a),className:(0,L.cn)("inline-flex items-center rounded-lg px-2 py-1 text-xs transition-opacity",K,c?"opacity-100 ring-1 ring-current/20":"opacity-55 hover:opacity-80"),onClick:()=>{l(b=>b.includes(a)?b.filter(b=>b!==a):[...b,a])},children:["#",a,c&&(0,b.jsx)(z.X,{className:"ml-1 size-3"})]},a)})}),(0,b.jsx)(G.Input,{value:m,onChange:a=>n(a.target.value),onKeyDown:(0,C.onEnterSubmit)(()=>{let a=m.trim().toLowerCase();n(""),!a||k.includes(a)||l(b=>[...b,a])}),placeholder:"Add a tag…",className:"h-8 text-sm",disabled:h}),(0,b.jsx)("p",{className:"text-[11px] text-muted-foreground",children:h?"Saving…":"↵ to add · saves on close"})]})]})}var N=a.i(22902),O=a.i(780959),P=a.i(520332);function Q({tags:a}){let c=a.slice(0,2),d=a.slice(2);return 0===c.length?null:(0,b.jsxs)("div",{className:"flex min-w-0 items-center gap-1.5 max-sm:order-last max-sm:basis-full max-sm:pl-7",onClick:a=>a.stopPropagation(),onKeyDown:a=>a.stopPropagation(),children:[c.map(a=>(0,b.jsxs)("span",{className:"max-w-24 truncate",children:["#",a]},a)),d.length>0&&(0,b.jsxs)(v.Popover,{children:[(0,b.jsx)(v.PopoverTrigger,{render:(0,b.jsxs)("button",{type:"button",className:"shrink-0 rounded px-1 py-0.5 hover:bg-accent hover:text-foreground","aria-label":`Show ${d.length} more tags`,onClick:a=>a.stopPropagation(),children:["+",d.length]})}),(0,b.jsx)(v.PopoverContent,{side:"top",align:"start",className:"flex w-52 flex-wrap gap-1.5 p-2",onClick:a=>a.stopPropagation(),children:a.map(a=>(0,b.jsxs)("span",{className:"rounded-md bg-muted px-1.5 py-1 text-xs text-muted-foreground",children:["#",a]},a))})]})]})}function R({forumChannelId:a,members:c,onSearchMembers:e,posts:f,loading:g,tag:h,availableTags:i=[],onTagChange:s,onOpenPost:v,onCreatePost:x,onEditPostTags:y,canEditPostTags:z,savingTagsFor:A,hasMore:B,loadingMore:C,onLoadMore:D,onDeletePost:E,canDeletePost:G,deletingPost:I}){let[T,U]=(0,d.useState)(!1),[V,W]=(0,d.useState)(null),X=(0,d.useRef)(null),Y=(0,d.useRef)(null),Z=(0,d.useRef)(null),$=(0,j.useVirtualizer)({...k.COMMUNITY_VIRTUALIZER_REACT_OPTIONS,count:f.length,getScrollElement:()=>Y.current,estimateSize:()=>128,getItemKey:a=>f[a]?.id??a,overscan:5,initialRect:{width:0,height:800}}),_=i.length>0?i:[...new Set(f.flatMap(a=>a.tags))];(0,d.useLayoutEffect)(()=>{0!==f.length&&Z.current!==h&&(Z.current=h,$.scrollToIndex(0,{align:"start"}))},[f.length,h,$]);let aa=(0,P.useVirtualCursorSentinel)({scrollRef:Y,hasMore:B,isFetching:C,onLoad:D,edge:"end"}),ab=()=>{U(!1),queueMicrotask(()=>X.current?.focus())};return(0,b.jsxs)(b.Fragment,{children:[T?(0,b.jsx)(F,{forumChannelId:a,members:c,onSearchMembers:e,onCancel:ab,onCreatePost:async a=>{x&&(await x(a),ab())}}):(0,b.jsxs)("div",{className:"flex shrink-0 items-center gap-2 border-b border-border px-4 py-2",children:[(0,b.jsx)("div",{className:"flex min-w-0 flex-1 flex-wrap items-center gap-2",children:_.length>0&&(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)("button",{type:"button",className:(0,L.cn)("shrink-0 rounded-lg px-2.75 py-1 text-[13px] leading-5 transition-colors","All"===h?"bg-accent text-foreground":"text-muted-foreground hover:bg-accent/60 hover:text-foreground"),onClick:()=>s("All"),children:"All"}),_.map(a=>(0,b.jsx)("button",{type:"button",style:J(a),className:(0,L.cn)("shrink-0 rounded-lg px-2.75 py-1 text-[13px] leading-5 transition-opacity",K,h===a?"opacity-100 ring-1 ring-current/20":"opacity-70 hover:opacity-100"),"data-testid":H.tid.forumTagChip(a),onClick:()=>s(a),children:`#${a}`},a))]})}),(0,b.jsx)("div",{className:"flex shrink-0 items-center gap-1",children:(0,b.jsxs)(q.Button,{size:"sm",ref:X,onClick:()=>U(!0),children:[(0,b.jsx)(n.Plus,{className:"size-4"})," New Post"]})})]}),(0,b.jsx)("div",{ref:Y,role:"main",className:"flex-1 overflow-y-auto thin-scrollbar px-4 py-2",children:g&&0===f.length?(0,b.jsx)(S,{}):0===f.length?(0,b.jsx)(w.EmptyState,{icon:m.ListChevronsUpDown,label:"No posts with this tag yet. Start one with New Post."}):(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)(O.VirtualRows,{items:f,virtualizer:$,itemKey:a=>a.id,renderItem:(a,c)=>{let d=!!y&&(z?.(a)??!1),e=!!E&&(G?.(a)??!1),g=a.participants.filter(b=>b.id!==a.authorId),h=g.slice(0,5),j=Math.max(0,(a.participantCount??g.length+1)-1-h.length);return(0,b.jsxs)("div",{role:"button",tabIndex:0,"data-testid":H.tid.forumThreadCard(a.id),onClick:()=>v(a.id),onKeyDown:b=>{b.target===b.currentTarget&&("Enter"===b.key||" "===b.key)&&(b.preventDefault(),v(a.id))},className:(0,L.cn)("group/card relative cursor-pointer rounded border-b border-border/50 px-4.5 py-3.5 text-left transition-colors hover:bg-accent/45",c===f.length-1&&"border-b-0"),children:[(d||e)&&(0,b.jsxs)("div",{className:"absolute right-3 top-3 z-10 flex items-center gap-1",onClick:a=>a.stopPropagation(),onKeyDown:a=>a.stopPropagation(),children:[d&&(0,b.jsx)(M,{trigger:(0,b.jsx)("button",{type:"button","data-testid":H.tid.forumThreadTagBtn(a.id),onClick:a=>a.stopPropagation(),className:"grid size-6 shrink-0 place-items-center rounded-md text-muted-foreground opacity-0 transition-opacity hover:bg-accent hover:text-foreground focus-visible:opacity-100 data-popup-open:opacity-100 group-hover/card:opacity-100","aria-label":"Edit tags",children:(0,b.jsx)(o,{className:"size-4"})}),postName:a.name,current:a.tags,allTags:i,saving:A===a.id,onSave:b=>y?.(a.id,b)}),e&&(0,b.jsx)("button",{type:"button","data-testid":H.tid.forumThreadDeleteBtn(a.id),disabled:I===a.id,onClick:b=>{b.stopPropagation(),W(a)},className:"grid size-6 shrink-0 place-items-center rounded-md text-muted-foreground opacity-0 transition-opacity hover:bg-accent hover:text-destructive focus-visible:opacity-100 group-hover/card:opacity-100 disabled:cursor-not-allowed disabled:opacity-50","aria-label":"Delete post",children:(0,b.jsx)(p.Trash2,{className:"size-4"})})]}),(0,b.jsxs)("div",{className:"flex flex-wrap items-baseline gap-1.75 pr-14",children:[(0,b.jsx)("h3",{className:"max-w-full text-[15px] font-semibold leading-tight",children:a.name}),void 0!==a.parentSeq&&(0,b.jsxs)("span",{className:"shrink-0 font-mono text-[13px] font-medium text-muted-foreground",children:[(0,b.jsx)("span",{className:"opacity-60",children:"#"}),a.parentSeq]})]}),(0,b.jsx)("p",{className:"mb-2.25 mt-0.75 line-clamp-2 text-[13.5px] text-muted-foreground",children:a.preview}),(0,b.jsxs)("div",{className:"flex min-w-0 flex-wrap items-center gap-x-2 gap-y-1.5 text-xs text-muted-foreground",children:[(0,b.jsx)(t.Avatar,{label:a.authorAvatar,seed:a.authorId,size:20}),(0,b.jsx)("span",{className:"shrink-0 font-medium text-foreground",suppressHydrationWarning:!0,children:a.parent.authorName||"Unknown"}),(0,b.jsx)("span",{className:"shrink-0","aria-hidden":!0,children:"·"}),(0,b.jsx)("span",{className:"shrink-0",suppressHydrationWarning:!0,children:(0,r.formatRelativeTime)(a.lastMessageAt)}),a.tags.length>0&&(0,b.jsx)("span",{className:"shrink-0 max-sm:hidden","aria-hidden":!0,children:"·"}),(0,b.jsx)(Q,{tags:a.tags}),(0,b.jsxs)("span",{className:"ml-auto flex shrink-0 items-center gap-2",children:[g.length>0&&(0,b.jsxs)(u.AvatarGroup,{className:"-space-x-1.25","data-testid":H.tid.forumThreadAvatars(a.id),children:[h.map(a=>(0,b.jsx)(t.Avatar,{label:a.avatar,seed:a.id,size:19,ringColor:"var(--background)"},a.id)),j>0&&(0,b.jsxs)(u.AvatarGroupCount,{className:"size-4.75 text-[10px]",children:["+",j]})]}),(0,b.jsxs)("span",{className:"flex items-center gap-1",children:[(0,b.jsx)(l.MessagesSquare,{className:"size-3.5"})," ",Math.max(0,a.messageCount)]})]})]})]},a.id)}}),(0,b.jsx)("div",{ref:aa,className:"h-px","aria-hidden":!0})]})}),V&&(0,b.jsx)(N.ConfirmDialog,{open:!0,onOpenChange:a=>{a||W(null)},title:"Delete post?",description:`This permanently deletes “${V.name}” and all of its replies. This can't be undone.`,confirmLabel:"Delete post",onConfirm:()=>{W(null),E?.(V)}})]})}function S(){return(0,b.jsx)("div",{className:"flex flex-col",children:Array.from({length:3}).map((a,c)=>(0,b.jsxs)("div",{className:"flex flex-col border-b border-border/50 px-4.5 py-3.5 last:border-b-0",children:[(0,b.jsx)(s.Skeleton,{className:"h-4 w-2/3 rounded"}),(0,b.jsxs)("div",{className:"mb-2.25 mt-1.25 space-y-1.5",children:[(0,b.jsx)(s.Skeleton,{className:"h-3 w-full rounded"}),(0,b.jsx)(s.Skeleton,{className:"h-3 w-4/5 rounded"})]}),(0,b.jsxs)("div",{className:"flex items-center gap-2",children:[(0,b.jsx)(s.Skeleton,{className:"size-5 rounded-full"}),(0,b.jsx)(s.Skeleton,{className:"h-3 w-28 rounded"}),(0,b.jsx)(s.Skeleton,{className:"ml-auto h-3 w-10 rounded"})]})]},c))})}function T(){return(0,b.jsxs)(b.Fragment,{children:[(0,b.jsxs)("div",{className:"flex shrink-0 items-center gap-2 border-b border-border px-4 py-2",children:[(0,b.jsxs)("div",{className:"flex min-w-0 flex-1 flex-wrap items-center gap-2",children:[(0,b.jsx)(s.Skeleton,{className:"h-5 w-10 rounded-full"}),(0,b.jsx)(s.Skeleton,{className:"h-5 w-16 rounded-full"}),(0,b.jsx)(s.Skeleton,{className:"h-5 w-14 rounded-full"}),(0,b.jsx)(s.Skeleton,{className:"h-5 w-20 rounded-full"})]}),(0,b.jsx)("div",{className:"flex shrink-0 items-center gap-1",children:(0,b.jsx)(s.Skeleton,{className:"h-8 w-25 rounded-md"})})]}),(0,b.jsx)("main",{className:"flex-1 overflow-y-auto thin-scrollbar px-4 py-2",children:(0,b.jsx)(S,{})})]})}var U=a.i(536179),V=a.i(586889);function W(a){let b=(0,U.useQuery)({queryKey:a?V.communityKeys.channelReadStateSnapshot(a):["community","channel","__none__","read-state-snapshot"],queryFn:async()=>(0,e.apiFetch)(`/api/community/channels/${a}/read-state`),enabled:!!a,staleTime:1/0,gcTime:0,refetchOnMount:"always",refetchOnWindowFocus:!1,refetchOnReconnect:!1,retry:1}),c=(0,d.useRef)(null),f=(0,d.useRef)(a);return f.current!==a&&(c.current=null,f.current=a),(0,d.useEffect)(()=>{null===c.current&&b.data&&(c.current=b.data)},[b.data]),{snapshot:c.current??b.data??null,isFetching:b.isFetching}}var X=a.i(412118),Y=a.i(669991),Z=a.i(483839),$=a.i(67821);function _({channelId:a,serverId:b,isChildChannel:c,snapshotReady:f}){let g=(0,Z.useQueryClient)(),h=(0,d.useRef)(null);(0,d.useEffect)(()=>{a&&f&&h.current!==a&&(h.current=a,(0,e.apiFetch)(`/api/community/channels/${a}/read`,{method:"PUT"}).then(()=>{if(g.invalidateQueries({queryKey:V.communityKeys.inbox()}),b&&c?((0,$.removeForumSidebarUnreadChild)(g,b,a),(0,$.patchForumSidebarUnreadExact)(g,b,a,!1)):b&&(0,$.setForumSidebarParentUnreadBase)(g,b,a,!1),!b)return;let d=g.getQueryData(V.communityKeys.servers());d?.servers.some(a=>a.id===b&&a.mentions>0)&&g.invalidateQueries({queryKey:V.communityKeys.servers(),exact:!0})}).catch(()=>{}))},[a,b,c,f,g])}var aa=a.i(333552),ab=a.i(267017);function ac({channelId:a,serverId:b,viewerUserId:c,isChildChannel:e,anchorMessageId:f}){let g=W(a),h=g.snapshot,i=(0,aa.useMessages)(a,{serverId:b,lastReadMessageId:g.isFetching?void 0:h?.lastReadMessageId??null,anchorMessageId:f}),{newDividerBefore:j,anchorFound:k}=(0,d.useMemo)(()=>{if(!h)return{newDividerBefore:void 0,anchorFound:!1};let a=h.lastReadMessageId;if(!a){for(let a of i.messages)if(a.authorId!==c)return{newDividerBefore:a.id,anchorFound:!0};return{newDividerBefore:void 0,anchorFound:!0}}let b=i.messages.findIndex(b=>b.id===a);if(-1===b)return{newDividerBefore:void 0,anchorFound:!1};for(let a=b+1;a<i.messages.length;a++)if(i.messages[a].authorId!==c)return{newDividerBefore:i.messages[a].id,anchorFound:!0};return{newDividerBefore:void 0,anchorFound:!0}},[i.messages,h,c]),[l,m]=(0,d.useState)(null);!function({channelId:a,messages:b,scrollRootEl:c}){let e=(0,Y.useCurrentUser)().id,f=(0,X.useAdvanceChannelWatermark)(),g=(0,d.useRef)(null),h=(0,d.useRef)(null);(0,d.useEffect)(()=>{g.current=null,h.current=null},[a]);let i=(0,d.useRef)(b),j=(0,d.useRef)(f);(0,d.useEffect)(()=>{i.current=b,j.current=f}),(0,d.useEffect)(()=>{if(!a||h.current===a||0===b.length)return;let c=null;for(let a of b)a.createdAt&&(!c||a.createdAt>c.createdAt||a.createdAt===c.createdAt&&a.id>c.id)&&(c={createdAt:a.createdAt,id:a.id});c&&(g.current=c,h.current=a)},[a,b]),(0,d.useEffect)(()=>{if(!a||!c||"u"<typeof IntersectionObserver)return;let b=new IntersectionObserver(b=>{for(let c of b){if(!c.isIntersecting||c.intersectionRatio<.2)continue;let b=c.target.dataset.msgId;if(!b)continue;let d=i.current.find(a=>a.id===b);if(!d||!d.createdAt||d.authorId&&d.authorId===e)continue;let f=g.current;(!f||d.createdAt>f.createdAt||d.createdAt===f.createdAt&&b>f.id)&&(g.current={createdAt:d.createdAt,id:b},j.current(a,b))}},{root:c,threshold:.2});c.querySelectorAll("[data-msg-id]").forEach(a=>b.observe(a));let d=null;return"u">typeof MutationObserver&&(d=new MutationObserver(a=>{for(let c of a)c.addedNodes.forEach(a=>{1!==a.nodeType||(a.matches?.("[data-msg-id]")&&b.observe(a),a.querySelectorAll?.("[data-msg-id]").forEach(a=>b.observe(a)))})})).observe(c,{childList:!0,subtree:!0}),()=>{b.disconnect(),d?.disconnect()}},[a,b,c,e]),(0,d.useEffect)(()=>()=>{(0,X.flushPendingReads)()},[a])}({channelId:a,messages:i.messages,scrollRootEl:l}),_({channelId:a,serverId:b,isChildChannel:e,snapshotReady:!g.isFetching});let n=(0,d.useMemo)(()=>Math.max(0,i.latestSeq-(h?.lastReadSeq??0)),[i.latestSeq,h]),o=(0,ab.useThreads)(a),p=(0,ab.usePins)(a);return{...i,readSnapshot:h,readSnapshotFetching:g.isFetching,newDividerBefore:j,anchorInCache:k,unreadCount:n,scrollRootEl:l,setScrollRootEl:m,threads:o.threads,threadsLoading:o.isLoading,pinned:p.pins,pinnedLoading:p.isLoading}}function ad({header:a,body:c,panels:d,dialogs:e}){return(0,b.jsxs)(b.Fragment,{children:[a,c,d,e]})}var ae=a.i(7455),af=a.i(596174),ag=a.i(413382),ah=a.i(219401),ai=a.i(530551),aj=a.i(433027);function ak({icon:a,title:c,children:d,bodyClassName:e="p-4",onBack:f}){return(0,b.jsxs)(b.Fragment,{children:[(0,b.jsxs)("header",{className:"flex h-12 shrink-0 items-center gap-2 border-b border-border/40 px-4",children:[f?(0,b.jsx)("button",{onClick:f,className:"-ml-1 grid size-7 shrink-0 place-items-center rounded-md text-muted-foreground hover:bg-accent hover:text-foreground focus-visible:ring-2 focus-visible:ring-ring focus-visible:outline-none","aria-label":"Back to threads",children:(0,b.jsx)(aj.ChevronLeft,{className:"size-4"})}):(0,b.jsx)(a,{className:"size-4 text-muted-foreground"}),(0,b.jsx)("h2",{className:"flex-1 truncate text-base font-semibold",children:c})]}),(0,b.jsx)("div",{className:`flex-1 overflow-y-auto thin-scrollbar ${e}`,children:d})]})}var al=a.i(189546),am=a.i(509447),an=a.i(288257),ao=a.i(726935),ap=a.i(66721),aq=a.i(764190),ar=a.i(399323);a.i(897046);var as=a.i(519116),at=a.i(803644);let au=["admin","member"];function av({members:a,loading:c,hasMore:f,loadingMore:g,onLoadMore:h,onSearch:i,onAddMember:l,manageContext:m,myRole:n,onOpenProfile:o,onSetRole:p,onKick:q}){let[r,s]=(0,d.useState)(null),[t,u]=(0,d.useState)(!1),[v,w]=(0,d.useState)(null),[x,y]=(0,d.useState)(!1),[z,A]=(0,d.useState)(""),B=(0,as.canManageServer)(n);(0,d.useEffect)(()=>{if(!i)return;let a=setTimeout(()=>i(z),200);return()=>clearTimeout(a)},[z,i]);let C=(0,d.useMemo)(()=>(function(a){let b,c,d,e=[];for(let f of(b=a.filter(a=>(0,as.isServerOwner)(a.role)),c=a.filter(a=>a.role===as.ROLES.ADMIN),[{label:"Owner",list:b},{label:"Admin",list:c},{label:"Online",list:(d=a.filter(a=>a.role===as.ROLES.MEMBER)).filter(a=>(0,at.isPresenceOnline)(a.status))},{label:"Offline",list:d.filter(a=>(0,at.isPresenceOffline)(a.status))}].filter(a=>a.list.length>0)))for(let a of(e.push({kind:"header",label:f.label,count:f.list.length,key:`header:${f.label}`}),f.list))e.push({kind:"row",member:a,key:`row:${a.id}`});return e})(a),[a]),D=(0,d.useMemo)(()=>(function(a){let b=new Map;for(let c of a){let a=c.name.toLowerCase();b.set(a,(b.get(a)??0)+1)}let c=new Set;for(let[a,d]of b)d>=2&&c.add(a);return c})(a),[a]),E=(0,d.useRef)(null),F=(0,d.useRef)(null),H=(0,j.useVirtualizer)({...k.COMMUNITY_VIRTUALIZER_REACT_OPTIONS,count:C.length,getScrollElement:()=>E.current,getItemKey:a=>C[a]?.key??a,estimateSize:a=>C[a]?.kind==="header"?32:44,overscan:8});return((0,d.useEffect)(()=>{if(!h||!f)return;let a=F.current,b=E.current;if(!a||!b)return;let c=new IntersectionObserver(a=>{for(let b of a)b.isIntersecting&&!g&&h()},{root:b,rootMargin:"100px"});return c.observe(a),()=>c.disconnect()},[h,f,g]),c&&0===a.length&&!z)?(0,b.jsx)(ax,{}):(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)(N.ConfirmDialog,{open:!!r,onOpenChange:a=>{a||t||s(null)},title:`Kick ${r?.name}?`,description:"They will be removed from this server but can rejoin with an invite.",confirmLabel:"Kick",loadingLabel:"Kicking…",loading:t,confirmVariant:"destructive",onConfirm:async()=>{if(r){u(!0);try{await q?.(r.memberId),s(null)}catch(a){(0,e.toastApiError)(a,"Failed to kick member")}finally{u(!1)}}}}),v&&(0,b.jsx)(N.ConfirmDialog,{open:!0,onOpenChange:a=>{a||x||w(null)},title:"leave"===v.kind?`Leave /${m?.unitLabel??""}?`:`Remove ${v.member.name}?`,description:"leave"===v.kind?"You'll lose access until you're added back.":"They'll lose access until they're added back.",confirmLabel:"leave"===v.kind?"Leave":"Remove",loadingLabel:"leave"===v.kind?"Leaving…":"Removing…",loading:x,confirmVariant:"destructive",onConfirm:async()=>{if(m){y(!0);try{let a="leave"===v.kind?m.onLeave:m.onRemove;await a(v.member.userId),w(null)}catch(a){(0,e.toastApiError)(a,"leave"===v.kind?"Failed to leave":"Failed to remove")}finally{y(!1)}}}}),(0,b.jsxs)("aside",{className:"flex h-full flex-col bg-background",children:[(i||l)&&(0,b.jsxs)("div",{className:"flex shrink-0 items-center gap-2 border-b border-border px-4 py-3",children:[i&&(0,b.jsxs)("div",{className:"relative flex-1",children:[(0,b.jsx)(ai.Search,{className:"absolute left-2 top-1/2 size-4 -translate-y-1/2 text-muted-foreground"}),(0,b.jsx)(G.Input,{className:"h-9 pl-8",placeholder:"Search members",value:z,onChange:a=>A(a.target.value)})]}),l&&(0,b.jsx)("button",{type:"button",onClick:l,className:"grid size-9 shrink-0 place-items-center rounded-md border border-border text-muted-foreground hover:bg-accent hover:text-foreground focus-visible:ring-2 focus-visible:ring-ring focus-visible:outline-none","aria-label":"Add members",title:"Add members",children:(0,b.jsx)(ao.UserPlus,{className:"size-4"})})]}),(0,b.jsx)("div",{ref:E,className:"min-h-0 flex-1 overflow-y-auto thin-scrollbar",children:(0,b.jsxs)("div",{className:"px-4 py-4",children:[(0,b.jsx)("div",{ref:H.containerRef,style:{position:"relative",width:"100%"},children:H.getVirtualItems().map(a=>{let c=C[a.index];return(0,b.jsx)("div",{role:"listitem","data-index":a.index,ref:H.measureElement,style:{position:"absolute",top:0,left:0,width:"100%"},children:"header"===c.kind?(0,b.jsxs)("h3",{className:"mb-2 px-1 text-xs font-medium text-muted-foreground",children:[c.label," — ",c.count]}):(0,b.jsx)(aw,{mem:c.member,canManage:B,showDiscriminator:D.has(c.member.name.toLowerCase()),onOpenProfile:o,onSetRole:p,onKick:a=>s({name:a.name,memberId:a.id}),onRequestManage:(a,b)=>w({kind:a,member:b}),manageContext:m})},c.key)})}),f&&(0,b.jsx)("div",{ref:F,className:"py-3 text-center text-xs text-muted-foreground",children:g?"Loading…":""})]})})]})]})}function aw({mem:a,canManage:c,showDiscriminator:d,onOpenProfile:e,onSetRole:f,onKick:g,onRequestManage:h,manageContext:i}){var j;let k=(0,b.jsxs)("button",{"data-testid":H.tid.memberRow(a.userId),onClick:b=>e?.(a.name,b,void 0,a.userId),className:"flex w-full items-center gap-3 rounded-md px-2 py-2 select-none hover:bg-accent",children:[(0,b.jsx)(t.Avatar,{label:a.avatar,seed:a.userId,size:32,presence:a.status,dim:(0,at.isPresenceOffline)(a.status)}),(0,b.jsxs)("div",{className:"min-w-0 flex-1 space-y-0.5 text-left",children:[(0,b.jsxs)("div",{className:`truncate text-sm leading-tight ${(0,at.isPresenceOffline)(a.status)?"text-muted-foreground":""}`,children:[a.name,d&&a.discriminator&&(0,b.jsxs)("span",{className:"ml-1 text-xs font-normal tracking-wide text-muted-foreground",children:["#",a.discriminator]})]}),(0,ar.hasStatus)(a.statusEmoji,a.statusText)&&(0,b.jsxs)("div",{className:"truncate text-xs leading-tight text-muted-foreground",children:[a.statusEmoji," ",a.statusText]})]})]});if(i){let c=a.userId===i.viewerUserId,d=c&&!a.isCreator,e=!c&&i.viewerIsCreator&&!a.isCreator&&(void 0===a.source||"explicit"===a.source);return d||e?(0,b.jsxs)(aq.ContextMenu,{children:[(0,b.jsx)(aq.ContextMenuTrigger,{render:k}),(0,b.jsxs)(aq.ContextMenuContent,{className:"w-48",children:[(0,b.jsx)("div",{className:"truncate px-2 py-1 text-xs font-semibold text-muted-foreground",children:a.name}),d?(0,b.jsxs)(aq.ContextMenuItem,{onClick:()=>h("leave",a),className:"text-destructive data-highlighted:bg-destructive/10 data-highlighted:text-destructive",children:[(0,b.jsx)(ap.LogOut,{className:"size-4"})," Leave"]}):(0,b.jsxs)(aq.ContextMenuItem,{onClick:()=>h("remove",a),className:"text-destructive data-highlighted:bg-destructive/10 data-highlighted:text-destructive",children:[(0,b.jsx)(am.UserMinus,{className:"size-4"})," Remove ",a.name]})]})]}):k}return(j=a.role,c&&"owner"!==j)?(0,b.jsxs)(aq.ContextMenu,{children:[(0,b.jsx)(aq.ContextMenuTrigger,{render:k}),(0,b.jsxs)(aq.ContextMenuContent,{className:"w-48",children:[(0,b.jsx)("div",{className:"truncate px-2 py-1 text-xs font-semibold text-muted-foreground",children:a.name}),(0,b.jsxs)(aq.ContextMenuSub,{children:[(0,b.jsxs)(aq.ContextMenuSubTrigger,{children:[(0,b.jsx)(al.Shield,{className:"size-4"}),"Role"]}),(0,b.jsx)(aq.ContextMenuSubContent,{children:au.map(c=>(0,b.jsxs)(aq.ContextMenuItem,{onClick:()=>f?.(a.id,c),children:[(0,b.jsx)("span",{className:"flex-1",children:c.charAt(0).toUpperCase()+c.slice(1)}),a.role===c&&(0,b.jsx)(an.Check,{className:"size-4"})]},c))})]}),(0,b.jsx)(aq.ContextMenuSeparator,{}),(0,b.jsxs)(aq.ContextMenuItem,{onClick:()=>g(a),className:"text-destructive data-highlighted:bg-destructive/10 data-highlighted:text-destructive",children:[(0,b.jsx)(am.UserMinus,{className:"size-4"})," Kick ",a.name]})]})]}):k}function ax(){return(0,b.jsx)("aside",{className:"flex h-full flex-col overflow-hidden bg-background",children:(0,b.jsx)("div",{className:"px-4 py-4",children:[{width:60,rows:1},{width:60,rows:2},{width:60,rows:6}].map((a,c)=>(0,b.jsxs)("div",{className:"mb-4",children:[(0,b.jsx)(s.Skeleton,{className:"mb-2 ml-1 h-3 rounded",style:{width:a.width}}),(0,b.jsx)("div",{className:"space-y-1",children:Array.from({length:a.rows}).map((a,c)=>(0,b.jsxs)("div",{className:"flex items-center gap-3 rounded-md px-2 py-2",children:[(0,b.jsx)(s.Skeleton,{className:"size-8 shrink-0 rounded-full"}),(0,b.jsx)(s.Skeleton,{className:"h-3.5 w-3/5 rounded"})]},c))})]},c))})})}var ay=a.i(246661),az=a.i(116979);function aA({kind:a,members:c,membersLoading:d,membersLoadingMore:e,membersHasMore:f,onLoadMoreMembers:g,onSearchMembers:h,onAddMember:i,manageContext:j,pinned:k,pinnedLoading:m,searchResults:n,searchQuery:o,threads:p,threadsLoading:q,showSearchInput:s=!0,onOpenThread:u,onOpenProfile:v,onSetRole:w,onKickMember:x,myRole:y,onJumpToMessage:z,onSearch:A}){return"members"===a?(0,b.jsx)(ak,{icon:ag.Users,title:"Members",bodyClassName:"p-0",children:(0,b.jsx)(av,{members:c,loading:d,hasMore:f,loadingMore:e,onLoadMore:g,onSearch:h,onAddMember:i,manageContext:j,myRole:y,onOpenProfile:v,onSetRole:w,onKick:x})}):"pinned"===a?(0,b.jsx)(ak,{icon:ah.Pin,title:"Pinned Messages",children:m&&0===k.length?(0,b.jsx)(aB,{}):0===k.length?(0,b.jsx)("div",{className:"py-8 text-center text-sm text-muted-foreground",children:"No pinned messages yet."}):k.map(a=>(0,b.jsxs)("button",{onClick:()=>null!=a.seq&&z?.(a.seq),className:"flex w-full items-center gap-2 rounded-md px-2 py-2 text-left hover:bg-accent",children:[(0,b.jsx)("span",{className:"shrink-0",children:(0,b.jsx)(t.Avatar,{label:a.authorAvatar??"?",seed:a.authorId,size:24})}),(0,b.jsxs)("div",{className:"min-w-0 flex-1",children:[(0,b.jsxs)("div",{className:"flex items-baseline gap-2",children:[(0,b.jsx)("span",{className:"text-sm font-medium",children:a.authorName}),a.createdAt&&(0,b.jsx)("span",{className:"text-xs text-muted-foreground",children:(0,r.formatRelativeTime)(a.createdAt)})]}),(0,b.jsx)("div",{className:"truncate text-sm text-muted-foreground",children:(0,az.stripInlineMarkup)(a.content??"")})]})]},a.id))}):"search"===a?(0,b.jsx)(aD,{searchResults:n,initialQuery:o,showSearchInput:s,onOpenProfile:v,onSearch:A}):(0,b.jsx)(ak,{icon:l.MessagesSquare,title:"Threads",children:q&&0===p.length?(0,b.jsx)(aC,{}):(0,b.jsxs)(b.Fragment,{children:[(0,b.jsxs)("div",{className:"mb-2 text-xs text-muted-foreground",children:[p.length," threads"]}),(0,b.jsx)("div",{className:"space-y-1",children:p.map(a=>(0,b.jsxs)("button",{onClick:()=>u(a.id),className:"flex w-full items-start gap-3 rounded-md px-2 py-2 text-left hover:bg-accent",children:[(0,b.jsx)(l.MessagesSquare,{className:"mt-0.5 size-4 shrink-0 text-muted-foreground"}),(0,b.jsxs)("div",{className:"min-w-0 flex-1",children:[(0,b.jsx)("div",{className:"truncate text-sm font-medium",children:a.name}),(0,b.jsxs)("div",{className:"truncate text-xs text-muted-foreground",children:[(0,b.jsx)("span",{className:"font-medium text-foreground/80",children:a.parent.authorName})," ",(0,az.stripInlineMarkup)(a.parent.text)]}),(0,b.jsxs)("div",{className:"mt-1 text-xs text-muted-foreground",suppressHydrationWarning:!0,children:[a.messageCount," messages · ",(0,r.formatRelativeTime)(a.lastMessageAt)]})]})]},a.id))})]})})}function aB(){return(0,b.jsx)("div",{className:"space-y-2",children:Array.from({length:3}).map((a,c)=>(0,b.jsxs)("div",{className:"flex gap-2 rounded-md px-2 py-2",children:[(0,b.jsx)(s.Skeleton,{className:"size-6 shrink-0 rounded-full"}),(0,b.jsxs)("div",{className:"flex min-w-0 flex-1 flex-col gap-2",children:[(0,b.jsxs)("div",{className:"flex items-baseline gap-2",children:[(0,b.jsx)(s.Skeleton,{className:"h-3 w-20 rounded"}),(0,b.jsx)(s.Skeleton,{className:"h-3 w-10 rounded"})]}),(0,b.jsx)(s.Skeleton,{className:"h-3 w-5/6 rounded"})]})]},c))})}function aC(){return(0,b.jsx)("div",{className:"space-y-1",children:Array.from({length:3}).map((a,c)=>(0,b.jsxs)("div",{className:"flex items-start gap-3 rounded-md px-2 py-2",children:[(0,b.jsx)(s.Skeleton,{className:"mt-0.5 size-4 shrink-0 rounded"}),(0,b.jsxs)("div",{className:"flex min-w-0 flex-1 flex-col gap-2",children:[(0,b.jsx)(s.Skeleton,{className:"h-3.5 w-3/5 rounded"}),(0,b.jsx)(s.Skeleton,{className:"h-3 w-11/12 rounded"}),(0,b.jsx)(s.Skeleton,{className:"h-3 w-2/5 rounded"})]})]},c))})}function aD({searchResults:a,initialQuery:c,showSearchInput:e,onOpenProfile:f,onSearch:g}){let[h,i]=(0,d.useState)(c??"");return(0,b.jsxs)(ak,{icon:ai.Search,title:"Search",children:[e&&(0,b.jsxs)("div",{className:"relative mb-3",children:[(0,b.jsx)(ai.Search,{className:"absolute left-2 top-1/2 size-4 -translate-y-1/2 text-muted-foreground"}),(0,b.jsx)(G.Input,{className:"h-9 pl-8",placeholder:"Search messages",value:h,onChange:a=>i(a.target.value),onKeyDown:(0,C.onEnterSubmit)(()=>{let a=h.trim();a&&g?.(a)})})]}),(0,b.jsxs)("div",{className:"mb-2 text-xs text-muted-foreground",children:[a.length," results"]}),a.map(a=>{let c={...a,grouped:!1};return(0,b.jsx)(ay.Message,{m:c,compact:!0,onOpenThread:()=>{},onOpenProfile:f},a.id)})]})}function aE({open:a,onOpenChange:c,kind:d,members:e,membersLoading:f,membersLoadingMore:g,membersHasMore:h,onLoadMoreMembers:i,onSearchMembers:j,onAddMember:k,manageContext:l,pinned:m,pinnedLoading:n,searchResults:o,searchQuery:p,threads:q,threadsLoading:r,onOpenThread:s,onOpenProfile:t,onSetRole:u,onKickMember:v,myRole:w,onJumpToMessage:x,onSearch:y}){let{width:z,onPointerDown:A,onPointerMove:B,onPointerUp:C}=(0,af.useSheetResize)({defaultWidth:380,minWidth:280,maxWidthRatio:.6});return(0,b.jsx)(ae.Sheet,{open:a,onOpenChange:c,modal:!1,disablePointerDismissal:!0,children:(0,b.jsxs)(ae.SheetContent,{side:"right",showOverlay:!1,style:{width:`min(${z}px, 100vw)`,maxWidth:"none"},className:"data-[side=right]:sm:inset-y-2 data-[side=right]:sm:right-2 data-[side=right]:sm:h-auto data-[side=right]:sm:rounded-xl data-[side=right]:sm:border data-[side=right]:sm:overflow-hidden",children:[(0,b.jsx)(ae.SheetTitle,{className:"sr-only",children:function(a){switch(a){case"members":return"Members";case"pinned":return"Pinned Messages";case"search":return"Search";case"threads":return"Threads"}}(d)}),(0,b.jsx)(af.SheetResizeHandle,{onPointerDown:A,onPointerMove:B,onPointerUp:C}),(0,b.jsx)(aA,{kind:d,members:e,membersLoading:f,membersLoadingMore:g,membersHasMore:h,onLoadMoreMembers:i,onSearchMembers:j,onAddMember:k,manageContext:l,pinned:m,pinnedLoading:n,searchResults:o,searchQuery:p,threads:q,threadsLoading:r,showSearchInput:!0,onOpenThread:s,onOpenProfile:t,onSetRole:u,onKickMember:v,myRole:w,onJumpToMessage:x,onSearch:y})]})})}var aF=a.i(326609),aG=a.i(635153),aH=a.i(66957),aI=a.i(437253),aJ=a.i(178835),aK=a.i(598513);a.i(735042);var aL=a.i(510828);function aM({channelId:a,serverId:b,serverParam:f,channelName:g,forumParentChannelId:h,viewer:i,anchorMessageId:j,feed:k,uiHandlers:l,onOpenThread:m,onOpenPinned:n,resolveUserName:o,children:p}){let q=(0,c.useRouter)(),r=(0,c.useSearchParams)(),[s,t]=(0,d.useState)(null),[u,v]=(0,d.useState)(""),[w,x]=(0,d.useState)([]),[y,z]=(0,d.useState)(j),[A,B]=(0,d.useState)(null),{mutateAsync:C}=(0,X.useSendMessage)(),D=(0,X.useToggleReactionApi)(),{mutate:F}=(0,X.usePinMessage)(),{mutate:G}=(0,X.useUnpinMessage)(),H=(0,X.useToggleMark)(),{mutate:I}=(0,X.useEditMessage)(),{mutateAsync:J}=(0,X.useCreateThread)(),{mutateAsync:K}=(0,E.useUploadFile)(),L=(0,aI.useTypingUsersForScope)(`ch:${a}`),M=(0,aI.useTypingNamesForScope)(`ch:${a}`),N=(0,d.useMemo)(()=>new Set(k.pinned.map(a=>a.id)),[k.pinned]),O=(0,d.useCallback)(a=>{z(b=>b===a?null:b)},[]);(0,d.useEffect)(()=>{y&&!k.messages.some(a=>a.id===y)&&k.isError&&z(a=>a===y?null:a)},[y,k.messages,k.isError]),(0,d.useEffect)(()=>{t(null),v(""),x([]),B(null)},[a]);let P=(0,d.useCallback)(async b=>{if(v(b),!b.trim())return void x([]);try{let c=new URLSearchParams({q:b,channelId:a}),d=await (0,e.apiFetch)(`/api/community/messages/search?${c}`);x(d.results.map(a=>({id:a.message.id,type:"chat",authorName:a.author.name,authorAvatar:a.author.image??(0,aH.avatarInitial)(a.author.name),content:a.message.content,createdAt:a.message.createdAt})))}catch(a){x([]),(0,e.toastApiError)(a,"Search failed")}},[a]),Q=(0,d.useCallback)(c=>{B(d=>d?{...d,seq:c}:{serverId:b,channelId:a,label:g,seq:c})},[b,a,g]),R=(0,d.useCallback)(b=>{if(A&&A.channelId!==a){aI.useCommunityStore.getState().setPendingReply({channelId:A.channelId,target:b}),B(null),l.navigate?.(A.serverId,A.channelId);return}t(b),B(null)},[A,a,l]),S=(0,aI.useCommunityStore)(a=>a.pendingReply);(0,d.useEffect)(()=>{S&&S.channelId===a&&(t(S.target),aI.useCommunityStore.getState().setPendingReply(null))},[S,a]);let T=(0,d.useRef)({messages:k.messages,pinnedIds:N,channelName:g,uiHandlers:l,onOpenThread:m,onOpenPinned:n});(0,d.useLayoutEffect)(()=>{T.current={messages:k.messages,pinnedIds:N,channelName:g,uiHandlers:l,onOpenThread:m,onOpenPinned:n}},[k.messages,N,g,l,m,n]);let U=(0,d.useCallback)(c=>{let d=T.current.messages.find(a=>a.seq===c);d?z(d.id):B({serverId:b,channelId:a,label:g,seq:c})},[b,a,g]),V=(0,d.useCallback)(a=>B(a),[]);(0,d.useEffect)(()=>(aI.useCommunityStore.getState().registerUiHandlers({jumpToSeq:U,openMessageContext:V}),()=>aI.useCommunityStore.getState().registerUiHandlers({jumpToSeq:void 0,openMessageContext:void 0})),[U,V]);let W=r.get("seq");(0,d.useEffect)(()=>{if(!W)return;let c=Number(W);Number.isFinite(c)&&(B({serverId:b,channelId:a,label:g,seq:c}),q.replace(`/c/channels/${f}/${a}`,{scroll:!1}))},[W,b,a,g,q,f]);let Y=(0,d.useMemo)(()=>({kind:"channel",id:a,serverId:b}),[a,b]),Z=(0,d.useCallback)(async c=>{let d,f=aJ.useMessageStreamStore.getState(),g=f.getRetryPayload(Y,c);if(g){if(g.localUploads.length>0&&"settled"===g.uploadStatus){let a=g.message.attachments;a?.length===g.localUploads.length&&(d=a.map((a,b)=>{let c=g.localUploads[b];return{id:a.url.slice(a.url.lastIndexOf("/")+1),filename:c.file.name,contentType:c.file.type,size:c.file.size,width:c.width,height:c.height}}))}if(g.localUploads.length>0&&!d){let b=await Promise.all(g.localUploads.map(b=>K({target:{channelId:a},file:b.file,width:b.width,height:b.height}).catch(a=>((0,e.toastApiError)(a,"Failed to attach file"),null))));if(b.some(a=>null===a))return void f.dispatch(Y,{type:"uploadFailed",nonce:c});d=(0,E.zipUploadResultsWithDimensions)(b,[...g.localUploads]),f.dispatch(Y,{type:"uploadSettled",nonce:c,attachments:d.map(b=>(0,X.toAttachmentVm)(a,b))})}try{await C({serverId:b,channelId:a,forumParentChannelId:h,content:g.message.content??"",replyToId:g.message.replyTo?.id,mentionType:g.mentionType,attachments:d,nonce:c,author:{id:i.id,name:i.name,avatar:i.avatar}})}catch{return}}},[Y,K,a,h,C,b,i.id,i.name,i.avatar]),$=(0,d.useMemo)(()=>({onToggleReaction:(c,d)=>D({serverId:b,channelId:a,messageId:c,emoji:d,userId:i.id}),onReact:(c,d)=>D({serverId:b,channelId:a,messageId:c,emoji:d,userId:i.id}),onReply:a=>{let b=T.current.messages.find(b=>b.id===a);b&&t({id:b.id,authorName:b.authorName??"",text:b.content??""})},onPin:b=>{T.current.pinnedIds.has(b)?G({channelId:a,messageId:b},{onSuccess:()=>(0,aG.toast)("Message unpinned"),onError:a=>(0,e.toastApiError)(a,"Failed to unpin message")}):(F({channelId:a,messageId:b},{onSuccess:()=>(0,aG.toast)("Message pinned"),onError:a=>(0,e.toastApiError)(a,"Failed to pin message")}),T.current.onOpenPinned())},onMark:b=>H(a,b),onCreateThread:async c=>{let d=T.current.messages.find(a=>a.id===c),f=(0,az.deriveThreadName)(d?.content,T.current.channelName);try{let d=await J({serverId:b,channelId:a,messageId:c,name:f});T.current.onOpenThread(d.id)}catch(a){(0,e.toastApiError)(a,"Failed to create thread")}},onCopy:a=>{let b=T.current.messages.find(b=>b.id===a);b?.content&&(navigator.clipboard?.writeText(b.content),(0,aG.toast)("Copied to clipboard"))},onEdit:c=>{let d=T.current.messages.find(a=>a.id===c);if(!d?.content||d.authorId!==i.id||void 0===d.seq)return;let f=window.prompt("Edit message",d.content);f&&f!==d.content&&I({serverId:b,channelId:a,messageId:c,content:f},{onError:a=>(0,e.toastApiError)(a,"Failed to edit message")})},onRetry:a=>{let b=T.current.messages.find(b=>b.id===a);b?.clientNonce&&(aJ.useMessageStreamStore.getState().dispatch(Y,{type:"retry",nonce:b.clientNonce}),Z(b.clientNonce))},onDismiss:a=>{let b=T.current.messages.find(b=>b.id===a);b?.clientNonce&&aJ.useMessageStreamStore.getState().dispatch(Y,{type:"dismissFailed",nonce:b.clientNonce})},onPreviewImage:a=>T.current.uiHandlers.previewImage?.(a),onDownloadFile:a=>{let b=document.createElement("a");b.href=a,b.download=a.split("/").pop()??"file",b.click()}}),[a,b,i.id,D,G,F,H,J,I,Y,Z]),_=(0,d.useCallback)((b,c,d)=>{if(!b&&!c?.length)return!1;let e=(0,X.sendNonce)(),f=[];if(!aJ.useMessageStreamStore.getState().accept(Y,{nonce:e,tempId:(0,X.tempMessageId)(),message:{type:"chat",authorId:i.id,authorName:i.name,authorAvatar:i.avatar,content:b,createdAt:new Date().toISOString(),...s?{replyTo:(0,aK.toOptimisticReplyPreview)(s)}:{}},localUploads:c?.map(a=>{let b=a.previewObjectUrl??URL.createObjectURL(a.file);return a.previewObjectUrl||f.push(b),{file:a.file,previewObjectUrl:b,width:a.width,height:a.height}})??[],mentionType:d})){for(let a of f)URL.revokeObjectURL(a);return!1}return Z(e),(0,aL.communityWsResetTypingThrottle)({channelId:a}),t(null),!0},[a,Y,s,Z,i.avatar,i.id,i.name]);return p((0,d.useMemo)(()=>({feed:k,pinnedIds:N,replyTo:s,setReplyTo:t,searchQuery:u,searchResults:w,search:P,scrollTargetId:y,setScrollTargetId:z,consumeScrollTarget:O,contextTarget:A,setContextTarget:B,openContextSeq:Q,onSheetReply:R,jumpToSeq:U,messageActions:$,threadActions:{...$,onCreateThread:void 0},acceptMessage:_,handleTyping:()=>(0,aL.communityWsSendTyping)({channelId:a}),typingUsers:L.map(a=>M[a]??o(a))}),[k,N,s,u,w,P,y,O,A,Q,R,U,$,_,a,L,M,o]))}function aN({channelId:a,serverId:c,serverParam:e,channelName:j,viewer:k,anchorMessageId:l,headerServer:m,notificationLevel:n,onSetNotificationLevel:o,onBack:p,composerMembers:q,onSearchComposerMembers:r,channelRefCandidates:s,memberPanelProps:t,manageMembersDialog:u,uiHandlers:v,onOpenThread:w,onOpenProfile:x,resolveUserName:y}){let z=(0,f.useBreakpoint)(),[A,B]=(0,d.useState)(null),C=ac({channelId:a,serverId:c,viewerUserId:k.id,isChildChannel:!1,anchorMessageId:l});(0,d.useEffect)(()=>{B(null)},[a]);let D=a=>{B(b=>b===a?null:a)};return(0,b.jsx)(aM,{channelId:a,serverId:c,serverParam:e,channelName:j,viewer:k,anchorMessageId:l,feed:C,uiHandlers:v,onOpenThread:w,onOpenPinned:()=>B("pinned"),resolveUserName:y,children:d=>(0,b.jsx)(ad,{header:(0,b.jsx)(g.ChannelHeader,{channel:j,rightPanel:A,onToggle:D,notifLevel:n,onSetNotifLevel:o,onBack:p,server:m}),body:(0,b.jsxs)("main",{className:"flex min-h-0 min-w-0 flex-1 flex-col",children:[(0,b.jsx)(h.MessageList,{channel:j,messages:C.messages,loading:C.isLoading,pinnedIds:d.pinnedIds,newDividerBefore:C.newDividerBefore,typingUsers:d.typingUsers,onOpenThread:w,...d.messageActions,onOpenProfile:x,resolveUserName:y,scrollToMessageId:d.scrollTargetId,onScrollRoot:C.setScrollRootEl,viewerUserId:k.id,initialScrollReady:!C.readSnapshotFetching&&C.anchorInCache,onScrollTargetConsumed:d.consumeScrollTarget,hasMore:C.hasMoreOlder,isFetchingOlder:C.isFetchingOlder,onLoadOlder:C.fetchOlder,hasMoreNewer:C.hasMoreNewer,isFetchingNewer:C.isFetchingNewer,onLoadNewer:C.fetchNewer,onJumpToPresent:C.jumpToPresent,presentVersion:C.presentVersion,unreadCount:C.unreadCount},a),(0,b.jsx)("div",{"data-onboarding-target":"channel-composer",className:"shrink-0",children:(0,b.jsx)(i.Composer,{channel:j,context:"channel",members:q,onSearchMembers:r,channelRefCandidates:s,sendContract:"accepted",onAcceptSend:d.acceptMessage,onTyping:d.handleTyping,replyingTo:d.replyTo?.authorName,onCancelReply:()=>d.setReplyTo(null),autoFocus:"mobile"!==z,draftKey:`${c}/${a}`})})]}),panels:A&&(0,b.jsx)(aE,{open:!0,onOpenChange:a=>{a||B(null)},kind:A,...t,pinned:C.pinned,pinnedLoading:C.pinnedLoading,searchResults:d.searchResults,searchQuery:d.searchQuery,threads:C.threads,threadsLoading:C.threadsLoading,onOpenThread:w,onOpenProfile:x,onJumpToMessage:d.jumpToSeq,onSearch:d.search}),dialogs:(0,b.jsxs)(b.Fragment,{children:[u,(0,b.jsx)(aF.MessageContextSheet,{open:null!==d.contextTarget,onOpenChange:a=>{a||d.setContextTarget(null)},channelId:d.contextTarget?.channelId??a,channelLabel:d.contextTarget?.label,targetSeq:d.contextTarget?.seq??null,pinnedIds:d.pinnedIds,onOpenProfile:x,resolveUserName:y,onReply:d.onSheetReply})]})})})}var aO=a.i(475380),aP=a.i(318576),aQ=a.i(929482),aR=a.i(785320),aS=a.i(740947),aT=a.i(881025);function aU({parentMessageId:a,onOpenProfile:c,onPreviewImage:d,onDownloadFile:f,onJump:g}){let h,i,{message:j,isLoading:k,isError:m}=(h=!!a,{...i=(0,U.useQuery)({queryKey:h?V.communityKeys.message(a):V.communityKeys.message("__none__"),queryFn:h?()=>(0,e.apiFetch)(`/api/community/messages/${a}`):()=>Promise.reject(Error("disabled")),enabled:h,staleTime:3e4}),message:i.data??null});if(k)return(0,b.jsx)(aV,{});if(m||!j)return(0,b.jsxs)("div",{children:[(0,b.jsxs)("div",{className:"mb-2 flex items-center gap-2 text-xs font-medium text-muted-foreground",children:[(0,b.jsx)(l.MessagesSquare,{className:"size-3.5"}),(0,b.jsx)("span",{children:"Thread started from a message"})]}),(0,b.jsx)("p",{className:"text-sm italic text-muted-foreground",children:"Original message is unavailable."})]});let n=j.authorAvatar||(0,aH.avatarInitial)(j.authorName);return(0,b.jsxs)("div",{className:"group relative",children:[(0,b.jsxs)("div",{className:"mb-2 flex items-center gap-2 text-xs font-medium text-muted-foreground",children:[(0,b.jsx)(l.MessagesSquare,{className:"size-3.5"}),(0,b.jsx)("span",{children:"Thread started from"})]}),g&&(0,b.jsxs)("button",{type:"button",onClick:g,className:"absolute right-0 top-0 flex h-7 items-center gap-1 rounded-md px-2 text-xs font-medium text-muted-foreground opacity-0 transition-opacity hover:bg-accent hover:text-foreground focus-visible:opacity-100 focus-visible:ring-2 focus-visible:ring-ring focus-visible:outline-none group-hover:opacity-100","aria-label":"Jump to message",title:"Jump to message",children:[(0,b.jsx)(aQ.ArrowUpRight,{className:"size-3.5"}),"Jump"]}),(0,b.jsxs)("div",{className:"flex gap-3",children:[(0,b.jsx)("button",{onClick:a=>c?.(j.authorName,a,void 0,j.authorId),className:"shrink-0 self-start",children:(0,b.jsx)(t.Avatar,{label:n,seed:j.authorId,size:40})}),(0,b.jsxs)("div",{className:"min-w-0 flex-1",children:[(0,b.jsxs)("div",{className:"flex items-baseline gap-2",children:[(0,b.jsx)("button",{onClick:a=>c?.(j.authorName,a,void 0,j.authorId),className:"text-[15px] font-semibold hover:underline",children:j.authorName}),(0,b.jsx)("span",{className:"text-xs text-muted-foreground",suppressHydrationWarning:!0,children:(0,r.formatMessageTime)(j.createdAt)})]}),j.content&&(0,b.jsx)(aR.MessageBody,{text:j.content,onOpenProfile:c}),j.attachments&&j.attachments.length>0&&(0,b.jsx)("div",{className:"mt-2 flex flex-col gap-2 pb-2",children:j.attachments.map((a,c)=>"image"===a.kind?(0,b.jsx)("button",{onClick:()=>d?.(a.url),className:"block w-fit max-w-full overflow-hidden rounded-lg border border-border transition-colors hover:border-primary/40",children:(0,b.jsx)("img",{src:a.url,alt:a.name,width:a.width,height:a.height,className:"block h-auto w-auto max-h-75 max-w-full rounded-lg object-contain",style:{aspectRatio:(0,aS.attachmentAspectRatio)(a.width,a.height)}})},c):(0,b.jsxs)("button",{onClick:()=>f?.(a.url),className:"flex w-full max-w-[320px] items-center gap-3 rounded-lg border border-border bg-card p-2 text-left transition-colors hover:bg-accent",children:[(0,b.jsx)(aO.FileText,{className:"size-7 shrink-0 text-muted-foreground"}),(0,b.jsxs)("div",{className:"min-w-0 flex-1",children:[(0,b.jsx)("div",{className:"truncate text-sm font-medium text-primary",children:a.name}),"size"in a&&a.size&&(0,b.jsx)("div",{className:"text-xs text-muted-foreground",children:a.size})]}),(0,b.jsx)(aP.Download,{className:"size-4 shrink-0 text-muted-foreground"})]},c))}),j.reactions&&j.reactions.length>0&&(0,b.jsx)("div",{className:"mt-2 flex flex-wrap gap-1",children:j.reactions.map((a,c)=>(0,b.jsxs)("span",{className:["flex h-6 items-center gap-1 rounded-full px-2 text-sm",a.me?"border border-primary/50 bg-accent":"bg-secondary"].join(" "),children:[(0,b.jsx)("span",{children:a.emoji}),(0,b.jsx)(aT.NumberTicker,{value:a.count,className:"text-xs text-muted-foreground"})]},c))})]})]})]})}function aV(){return(0,b.jsxs)("div",{children:[(0,b.jsx)(s.Skeleton,{className:"mb-2 h-3 w-32 rounded"}),(0,b.jsxs)("div",{className:"flex gap-3",children:[(0,b.jsx)(s.Skeleton,{className:"size-10 shrink-0 rounded-full"}),(0,b.jsxs)("div",{className:"flex min-w-0 flex-1 flex-col gap-2 pt-0.5",children:[(0,b.jsx)(s.Skeleton,{className:"h-4 w-32 rounded"}),(0,b.jsx)(s.Skeleton,{className:"h-3.5 w-full max-w-80 rounded"}),(0,b.jsx)(s.Skeleton,{className:"h-3.5 w-48 rounded"})]})]})]})}let aW=()=>{};function aX({channelId:a,serverId:j,serverParam:k,channelName:l,viewer:m,anchorMessageId:n,parentChannelId:o,parentMessageId:p,parentChannelName:q,parentIsForum:r,childCreatorId:s,canRenameThread:t,headerServer:u,notificationLevel:v,onSetNotificationLevel:w,onBack:x,onLoadingBack:y,composerMembers:z,onSearchComposerMembers:A,channelRefCandidates:B,memberPanelProps:C,manageMembersDialog:D,uiHandlers:E,onOpenChild:F,onOpenProfile:G,resolveUserName:H}){let I=(0,c.useRouter)(),J=(0,f.useBreakpoint)(),[K,L]=(0,d.useState)(null),[M,N]=(0,d.useState)(null),{mutateAsync:O}=(0,X.useEditMessage)(),P=ac({channelId:a,serverId:j,viewerUserId:m.id,isChildChannel:!0,anchorMessageId:n}),Q=M??l;(0,d.useEffect)(()=>{L(null),N(null)},[a]);let R=(0,d.useCallback)(a=>{L(b=>b===a?null:a)},[]),S=(0,d.useCallback)(()=>L("pinned"),[]),T=(0,d.useCallback)(()=>{o?I.push(`/c/channels/${k}/${o}`):I.back()},[o,I,k]),U=r&&o&&p&&s===m.id?async b=>{try{await O({serverId:j,channelId:o,messageId:p,content:b,forumChannelId:o,forumThreadId:a})}catch(a){throw(0,e.toastApiError)(a,"Failed to edit post"),a}}:!r&&t?async b=>{try{await (0,e.apiFetch)(`/api/community/channels/${a}`,{method:"PATCH",body:JSON.stringify({name:b})}),N(b)}catch(a){throw(0,e.toastApiError)(a,"Failed to rename"),a}}:void 0;if(P.isLoading)return(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)(g.ChannelHeaderSkeleton,{onBack:y}),(0,b.jsxs)("main",{className:"flex min-h-0 min-w-0 flex-1 flex-col",children:[(0,b.jsx)(h.MessageList,{channel:"",messages:[],loading:!0,onOpenThread:aW},a),(0,b.jsx)(i.ComposerSkeleton,{})]})]});let V=p&&!r?(0,b.jsx)(aU,{parentMessageId:p,onOpenProfile:G,onPreviewImage:a=>E.previewImage?.(a),onDownloadFile:a=>{let b=document.createElement("a");b.href=a,b.download=a.split("/").pop()??"file",b.click()},onJump:o?()=>I.push(`/c/channels/${k}/${o}?msg=${p}`):void 0}):void 0;return(0,b.jsx)(aM,{channelId:a,serverId:j,serverParam:k,channelName:Q,forumParentChannelId:r?o??void 0:void 0,viewer:m,anchorMessageId:n,feed:P,uiHandlers:E,onOpenThread:aW,onOpenPinned:S,resolveUserName:H,children:c=>(0,b.jsx)(ad,{header:(0,b.jsx)(g.ChannelHeader,{channel:q,forum:r,rightPanel:K,onToggle:R,notifLevel:v,onSetNotifLevel:w,onBack:x,server:u,tools:{threads:!1},breadcrumb:{label:Q,titleRename:r,onNavigateBack:T,onRename:U}}),body:(0,b.jsxs)("main",{className:"flex min-h-0 min-w-0 flex-1 flex-col",children:[(0,b.jsx)(h.MessageList,{channel:Q,messages:c.feed.messages,loading:c.feed.isLoading,pinnedIds:c.pinnedIds,newDividerBefore:c.feed.newDividerBefore,typingUsers:c.typingUsers,onOpenThread:aW,...c.threadActions,onOpenProfile:G,resolveUserName:H,scrollToMessageId:c.scrollTargetId,hero:V,onScrollRoot:c.feed.setScrollRootEl,viewerUserId:m.id,initialScrollReady:!c.feed.readSnapshotFetching&&c.feed.anchorInCache,onScrollTargetConsumed:c.consumeScrollTarget,hasMore:c.feed.hasMoreOlder,isFetchingOlder:c.feed.isFetchingOlder,onLoadOlder:c.feed.fetchOlder,hasMoreNewer:c.feed.hasMoreNewer,isFetchingNewer:c.feed.isFetchingNewer,onLoadNewer:c.feed.fetchNewer,onJumpToPresent:c.feed.jumpToPresent,presentVersion:c.feed.presentVersion,unreadCount:c.feed.unreadCount},a),(0,b.jsx)("div",{"data-onboarding-target":"channel-composer",className:"shrink-0",children:(0,b.jsx)(i.Composer,{channel:Q,context:"thread",members:z,onSearchMembers:A,channelRefCandidates:B,sendContract:"accepted",onAcceptSend:c.acceptMessage,onTyping:c.handleTyping,replyingTo:c.replyTo?.authorName,onCancelReply:()=>c.setReplyTo(null),autoFocus:"mobile"!==J,draftKey:`${j}/${a}`})})]}),panels:K&&(0,b.jsx)(aE,{open:!0,onOpenChange:a=>{a||L(null)},kind:K,...C,pinned:c.feed.pinned,pinnedLoading:c.feed.pinnedLoading,searchResults:c.searchResults,searchQuery:c.searchQuery,threads:c.feed.threads,threadsLoading:c.feed.threadsLoading,onOpenThread:F,onJumpToMessage:c.jumpToSeq,onSearch:c.search,onOpenProfile:G}),dialogs:(0,b.jsxs)(b.Fragment,{children:[D,(0,b.jsx)(aF.MessageContextSheet,{open:null!==c.contextTarget,onOpenChange:a=>{a||c.setContextTarget(null)},channelId:c.contextTarget?.channelId??a,channelLabel:c.contextTarget?.label,targetSeq:c.contextTarget?.seq??null,pinnedIds:c.pinnedIds,onOpenProfile:G,resolveUserName:H,onReply:c.onSheetReply})]})})})}var aY=a.i(249331);let aZ=a=>`alook:forum-tag:${a}`;function a$(a,b,c){"All"===c?a.removeItem(aZ(b)):a.setItem(aZ(b),c)}function a_({serverId:a,forumChannelId:c,...f}){let g=function(a){let[b,c]=(0,d.useState)(()=>"All"),f=(0,ab.useForumTags)(a,!0);(0,d.useEffect)(()=>{var d;if(f.isSuccess&&"All"!==b&&"All"===(d=f.data.tags,"All"===b||d.includes(b)?b:"All")){c("All");try{a$(window.localStorage,a,"All")}catch{}}},[a,b,f.data,f.isSuccess]);let g=(0,d.useCallback)(b=>{c(b);try{a$(window.localStorage,a,b)}catch{}},[a]),h="All"===b?null:b,i=V.communityKeys.forumActivityFeed(a,h),j=(0,aY.useInfiniteQuery)({queryKey:i,queryFn:({pageParam:b})=>{let c=new URLSearchParams({order:"activity",limit:String(D.DEFAULT_MESSAGE_PAGE_SIZE),include:"parentMessage,firstMessage,tags,participants"});return h&&c.set("tag",h),b&&c.set("cursor",b),(0,e.apiFetch)(`/api/community/channels/${a}/threads?${c.toString()}`)},initialPageParam:null,getNextPageParam:a=>a.hasMore?a.nextCursor:void 0}),k=(0,d.useMemo)(()=>(function(a){let b=new Map;for(let c of a){let a=new Map(c.included.parentMessages.map(a=>[a.id,a])),d=new Map(c.included.firstMessages.map(a=>[a.channelId,a])),e=new Map;for(let a of c.included.tags)e.set(a.messageId,[...e.get(a.messageId)??[],a.tag]);let f=new Map,g=new Map;for(let a of c.included.participants)f.set(a.channelId,[...f.get(a.channelId)??[],{id:a.userId,name:a.userName??"",avatar:a.userImage??(0,aH.avatarInitial)(a.userName??"")}]),g.set(a.channelId,Number(a.participantCount??0));for(let h of c.threads){if(b.has(h.id))continue;let c=h.parentMessageId?a.get(h.parentMessageId):void 0,i=d.get(h.id);b.set(h.id,{id:h.id,name:c?.content.trim()?c.content:h.name?.trim()||"Post",messageCount:h.messageCount??0,lastMessageAt:h.activityAt,parent:{authorName:c?.authorName??"",text:(i?.content??"").slice(0,100)},authorId:c?.authorId??h.creatorId??"",authorAvatar:c?.authorImage??(0,aH.avatarInitial)(c?.authorName??""),openerMessageId:h.parentMessageId??"",...c?{parentSeq:c.seq}:{},tags:h.parentMessageId?e.get(h.parentMessageId)??[]:[],preview:(i?.content??"").slice(0,100),participants:f.get(h.id)??[],participantCount:g.get(h.id)??0})}}return[...b.values()].sort((a,b)=>b.lastMessageAt.localeCompare(a.lastMessageAt)||b.id.localeCompare(a.id))})(j.data?.pages??[]),[j.data?.pages]);return{...j,posts:k,tag:b,selectTag:g,availableTags:f.data?.tags??[],hasMoreOlder:j.hasNextPage,isFetchingOlder:j.isFetchingNextPage,fetchOlder:()=>{j.fetchNextPage()}}}(c);return(0,b.jsx)(R,{forumChannelId:c,...f,posts:g.posts,loading:g.isLoading,tag:g.tag,availableTags:g.availableTags,onTagChange:g.selectTag,hasMore:g.hasMoreOlder,loadingMore:g.isFetchingOlder,onLoadMore:g.fetchOlder,onEditPostTags:(a,b)=>{let c=g.posts.find(b=>b.id===a);c&&f.onEditPostTags?.(c,b)}})}var a0=a.i(705021);function a1({serverId:a,channelId:c,channelName:f,viewer:h,viewerRole:i,headerServer:j,notificationLevel:k,onSetNotificationLevel:l,onBack:m,composerMembers:n,onSearchComposerMembers:o,memberPanelProps:p,manageMembersDialog:q,onOpenPost:r,onOpenProfile:s}){let t=W(c);_({channelId:c,serverId:a,isChildChannel:!1,snapshotReady:!t.isFetching});let[u,v]=(0,d.useState)({channelId:c,panel:null}),w=u.channelId===c?u.panel:null,x=(0,a0.useCreateForumThread)(),y=(0,a0.useUpdatePostTags)(),z=(0,a0.useDeleteForumThread)();(0,d.useEffect)(()=>{v(a=>a.channelId===c&&null===a.panel?a:{channelId:c,panel:null})},[c]);let A=(0,d.useCallback)(a=>{v(b=>({channelId:c,panel:b.channelId===c&&b.panel===a?null:a}))},[c]),B=(0,d.useCallback)(async a=>{r((await x.mutateAsync({nonce:a.nonce,channelId:c,name:a.name,content:a.content,attachments:a.attachments,mentionType:a.mentionType})).threadId)},[c,x,r]),C=(0,as.canManageServer)(i);return(0,b.jsx)(ad,{header:(0,b.jsx)(g.ChannelHeader,{channel:f,forum:!0,rightPanel:w,onToggle:A,notifLevel:k,onSetNotifLevel:l,onBack:m,server:j,tools:{threads:!1,pinned:!1}}),body:(0,b.jsx)("main",{className:"flex min-h-0 min-w-0 flex-1 flex-col",children:(0,b.jsx)(a_,{serverId:a,forumChannelId:c,members:n,onSearchMembers:o,onOpenPost:r,onCreatePost:B,canEditPostTags:a=>C||a.authorId===h.id,savingTagsFor:y.isPending?y.variables?.threadId??null:null,onEditPostTags:(a,b)=>{y.mutate({forumChannelId:c,threadId:a.id,openerMessageId:a.openerMessageId,tags:b},{onError:a=>(0,e.toastApiError)(a,"Failed to update tags")})},canDeletePost:a=>C||a.authorId===h.id,deletingPost:z.isPending?z.variables?.threadId??null:null,onDeletePost:b=>{z.mutate({serverId:a,forumChannelId:c,threadId:b.id},{onError:a=>(0,e.toastApiError)(a,"Failed to delete post")})}})}),panels:w&&(0,b.jsx)(aE,{open:!0,onOpenChange:a=>{a||v({channelId:c,panel:null})},kind:w,...p,pinned:[],searchResults:[],threads:[],onOpenThread:r,onOpenProfile:s}),dialogs:q})}var a2=a.i(379764),a3=a.i(377447),a4=a.i(425712),a5=a.i(128824),a6=a.i(258365),a7=a.i(559477),a8=a.i(192378),a9=a.i(606617),ba=a.i(47363),bb=a.i(208847),bc=a.i(81213),bd=a.i(491443),be=a.i(15841);function bf({serverParam:a,channelId:j}){var k,l;let m=(0,c.useRouter)(),n=(0,c.useSearchParams)(),o=decodeURIComponent(a);(0,d.useEffect)(()=>{(0,ba.setLastChannel)(o,j)},[o,j]);let[p]=(0,d.useState)(()=>n.get("msg")),q=(0,f.useBreakpoint)(),r=(0,Y.useCurrentUser)(),s=(0,aI.useUiHandlers)(),t=(0,aI.useCurrentChannelId)(),u=function(a,b,f){var g;let h,i,j,k,l=(0,c.useRouter)(),m=(0,Z.useQueryClient)(),{server:n}=(0,bb.useServer)(a),o=(0,aI.useCurrentChannelMeta)(),p=n?.categories?.flatMap(a=>a.channels).some(a=>a.id===f),q=!!n?.categories&&!p,r=(h=(0,a9.useCommunityWsStore)(a=>a.accessEpoch),i=(0,a9.useCommunityWsStore)(a=>a.accessConnected),j=(0,U.useQuery)({queryKey:V.communityKeys.forumSidebarThreads(a),queryFn:()=>Promise.reject(Error("forum sidebar observer only")),enabled:!1}),{...k=(0,U.useQuery)({queryKey:V.communityKeys.channelMeta(a,f),queryFn:async()=>{let a=a9.useCommunityWsStore.getState().accessEpoch;var b=await (0,e.apiFetch)(`/api/community/channels/${f}`);if(!b.parentChannelId||!b.parentMessageId)throw Error("invalid child channel metadata");return{id:b.id,serverId:b.serverId,name:b.name,type:b.type,parentChannelId:b.parentChannelId,parentMessageId:b.parentMessageId,creatorId:b.creatorId,archived:!0===b.archived||1===b.archived,activityAt:b.lastMessageAt??b.createdAt,verifiedEpoch:a}},enabled:q&&(j.isSuccess&&"idle"===j.fetchStatus||j.isError),staleTime:1/0,gcTime:3e5}),isVerified:(g=k.data,!!g&&i&&g.verifiedEpoch===h&&!g.archived)}),s=(0,d.useMemo)(()=>(function(a,b,c,d=null){let e=a?.categories?.flatMap(a=>a.channels)??[],f=e.find(a=>a.id===c)??null,g=!f&&!!a?.categories,h=!g||d?.channelId===c&&d.settled,i=!g||h?b:null,j=i?.parentChannelId?e.find(a=>a.id===i.parentChannelId)??null:null;return{server:a,channel:f,parent:j,currentChannelMeta:i,isForum:(0,as.isForum)(f?.type),isChild:g,isForumPostChild:g&&(0,as.isForum)(j?.type),isNotifyUnit:g,metaSettled:h,routeHydrated:!!a?.categories&&h&&(!g||null!==i)}})(n,o,f,q?{channelId:f,settled:r.isVerified}:{channelId:f,settled:!0}),[f,o,q,r.isVerified,n]);return(0,d.useEffect)(()=>(aI.useCommunityStore.getState().setCurrentChannelId(f),()=>{aI.useCommunityStore.getState().setCurrentChannelId(null)}),[f]),(0,d.useEffect)(()=>((0,aL.communityWsSubscribe)({channelId:f}),()=>(0,aL.communityWsUnsubscribe)()),[f]),(0,d.useEffect)(()=>{q?r.data&&r.isVerified?aI.useCommunityStore.getState().setCurrentChannelMeta(r.data):(r.error||r.data?.archived)&&(aI.useCommunityStore.getState().setCurrentChannelMeta(null),r.data?.archived||(0,bc.isDefinitiveChildMetaFailure)(r.error)?((0,$.removeForumSidebarUnreadChild)(m,a,f),(0,$.removeForumSidebarThreadExact)(m,a,f),(0,ba.getLastChannel)(a)===f&&(0,ba.clearLastChannel)(a),l.replace(`/c/channels/${b}`)):(0,e.toastApiError)(r.error,"Failed to load thread")):aI.useCommunityStore.getState().setCurrentChannelMeta(null)},[f,q,r.data,r.error,r.isVerified,m,l,a,b]),s}(o,a,j),{server:v,channel:w,parent:x,currentChannelMeta:y,isForum:z,isChild:A,isForumPostChild:B,isNotifyUnit:C}=u,E=(k=y?.parentMessageId,l=B&&u.routeHydrated,(0,U.useQuery)({queryKey:V.communityKeys.forumOpenerHint(o,k??"__none__"),queryFn:async()=>{let a=await (0,e.apiFetch)(`/api/community/messages/${k}`);return{id:a.id,content:a.content}},enabled:l&&!!k,staleTime:1/0,gcTime:3e5})),F=(0,d.useMemo)(()=>{var a;return(a={forumPostTitle:B?E.data?.content:null,topLevelName:w?.name,childChannelName:B?null:y?.name,forumListName:null,threadListName:null,fallback:B?"Post":"channel"}).localName??a.forumPostTitle??a.topLevelName??a.forumListName??a.threadListName??a.childChannelName??a.fallback??"channel"},[w,y,E.data?.content,B]),{composerMembers:G,onSearchComposerMembers:H,memberPanelProps:I,manageMembersDialog:J,resolveUserName:K,myRole:L}=function({serverId:a,channelId:c,channelName:f,currentServer:g,channelInServer:h,currentChannelMeta:i,isChildChannel:j,isNotifyUnit:k,currentUser:l}){var m;let n,o=(0,a6.useServerMembers)(a),p=(0,a9.useOnlineUserIds)(),q=(0,a9.useCommunityWsStore)(a=>a.userStatuses),[r,s]=(0,d.useState)({channelId:c,query:"",dialogOpen:!1}),t=r.channelId===c?r.query:"",u=r.channelId===c&&r.dialogOpen;(0,d.useEffect)(()=>{s(a=>a.channelId!==c||""!==a.query||a.dialogOpen?{channelId:c,query:"",dialogOpen:!1}:a)},[c]);let v=(0,d.useMemo)(()=>o.members.map(a=>{let b=q.get(a.userId);return{...a,status:(0,a4.resolveRowPresence)(a,p,l.id),statusEmoji:b?b.emoji:a.statusEmoji,statusText:b?b.text:a.statusText}}),[l.id,o.members,p,q]),w=(0,d.useMemo)(()=>{let a=j?i?.parentChannelId??c:c,b=g?.categories?.find(b=>b.channels.some(b=>b.id===a));return!!b?.private},[c,i,g,j]),x=(0,a5.useChannelMembers)(c,k||w&&!k),y=k?i?.parentChannelId??null:null,z=(0,a5.useChannelMembers)(y??"",!!y),A=(0,a5.useAddableMembers)(a,c,u&&w&&!k),B=(0,a5.useAddChannelMember)(c),C=(0,a5.useRemoveChannelMember)(c),D=i?.parentChannelId?g?.categories?.flatMap(a=>a.channels).find(a=>a.id===i.parentChannelId):null,E=j&&(0,as.isForum)(D?.type)?a:void 0,F=(m=l.id,n=(0,Z.useQueryClient)(),(0,a7.useMutation)({mutationFn:a=>(0,e.apiFetch)(`/api/community/channels/${encodeURIComponent(c)}/participants`,{method:"POST",body:JSON.stringify({userId:a})}),onSuccess:(a,b)=>{n.invalidateQueries({queryKey:V.communityKeys.channelMembers(c)}),E&&b===m&&(0,$.grantForumSidebarChild)(n,E,c)}})),G=function(a,b,c,d=!!b){let f=(0,Z.useQueryClient)();return(0,a7.useMutation)({mutationFn:b=>(0,e.apiFetch)(`/api/community/channels/${encodeURIComponent(a)}/participants/${encodeURIComponent(b)}`,{method:"DELETE"}),onSuccess:(e,g)=>{f.invalidateQueries({queryKey:V.communityKeys.channelMembers(a)}),b&&g===c&&(d?((0,$.removeForumSidebarUnreadChild)(f,b,a),(0,$.removeForumSidebarThreadExact)(f,b,a)):f.removeQueries({queryKey:V.communityKeys.channelMeta(b,a),exact:!0}),aI.useCommunityStore.getState().currentChannelId===a&&aI.useCommunityStore.getState().setCurrentChannelMeta(null))}})}(c,a,l.id,!!E),H=(0,a8.useSetMemberRole)(),I=(0,a8.useKickMember)(),J=(0,d.useMemo)(()=>{let a=t.trim().toLowerCase(),b=(b,c)=>!a||b.toLowerCase().includes(a)||(c??"").toLowerCase().includes(a),c=a=>{let b=q.get(a.userId);return{id:a.userId,userId:a.userId,name:a.name,discriminator:a.discriminator,avatar:a.avatar,sub:"",role:"member",status:(0,a4.resolveRowPresence)(a,p,l.id),statusEmoji:b?b.emoji:a.statusEmoji??null,statusText:b?b.text:a.statusText??"",isCreator:a.isCreator,source:a.source}};return k?x.members.filter(a=>b(a.name,a.discriminator)).map(a=>c({...a,source:void 0})):w?x.members.filter(a=>b(a.name,a.discriminator)).map(c):v},[x.members,w,l.id,k,t,v,p,q]),K=(0,d.useMemo)(()=>w?(k?z.members:x.members).filter(a=>a.userId!==l.id).map(a=>{let b=q.get(a.userId);return{...a,status:(0,a4.resolveRowPresence)(a,p,l.id),statusEmoji:b?b.emoji:a.statusEmoji,statusText:b?b.text:a.statusText}}):v.filter(a=>a.userId!==l.id),[x.members,w,l.id,k,v,p,z.members,q]),L=v.find(a=>a.userId===l.id)?.role,M=j?i?.creatorId:h?.creatorId,N=!!M&&M===l.id,O=k||w,P=k?G:C,Q=O?{viewerUserId:l.id,viewerIsCreator:N,unitLabel:i?.name??f,onLeave:a=>P.mutateAsync(a),onRemove:a=>P.mutateAsync(a)}:void 0,R={members:J,membersLoading:O?x.isLoading:o.loading,membersLoadingMore:!O&&o.loadingMore,membersHasMore:!O&&o.hasMore,onLoadMoreMembers:O?void 0:o.loadMore,onSearchMembers:O?a=>s({channelId:c,query:a,dialogOpen:u}):o.searchMembers,onAddMember:O?()=>s({channelId:c,query:t,dialogOpen:!0}):void 0,manageContext:Q,myRole:L,onSetRole:(b,c)=>{H.mutate({serverId:a,memberId:b,role:c},{onSuccess:()=>(0,aG.toast)("Role updated"),onError:a=>(0,e.toastApiError)(a,"Failed to update role")})},onKickMember:b=>I.mutateAsync({serverId:a,memberId:b}).then(()=>(0,aG.toast)("Member kicked"))},S=(0,d.useMemo)(()=>{if(!u)return null;if(k){let a=new Set(x.members.map(a=>a.userId)),d=z.members.filter(b=>!a.has(b.userId)&&b.userId!==l.id).map(a=>({userId:a.userId,name:a.name??null,avatar:a.avatar}));return(0,b.jsx)(a2.AddMembersDialog,{title:`Add participants to /${i?.name??f}`,subtitle:"Added people are notified of new replies. Anyone with access can already read it.",candidates:d,onAdd:a=>F.mutateAsync(a),onClose:()=>s({channelId:c,query:t,dialogOpen:!1})})}let a=A.members.map(a=>({userId:a.userId,name:a.name??null,avatar:a.avatar}));return(0,b.jsx)(a2.AddMembersDialog,{title:`Add members to /${f}`,subtitle:"Added members can see and post here.",candidates:a,onAdd:a=>B.mutateAsync(a),onClose:()=>s({channelId:c,query:t,dialogOpen:!1})})},[B,F,A.members,x.members,f,c,i,l.id,k,u,t,z.members]),T=(0,d.useMemo)(()=>(0,a3.makeUserNameResolver)(o.members),[o.members]);return{composerMembers:K,onSearchComposerMembers:o.searchMembers,memberPanelProps:R,manageMembersDialog:S,resolveUserName:T,myRole:L}}({serverId:o,channelId:j,channelName:F,currentServer:v,channelInServer:w,currentChannelMeta:y,isChildChannel:A,isNotifyUnit:C,currentUser:r}),M=(0,d.useMemo)(()=>(v?.categories?.flatMap(a=>a.channels)??[]).map(a=>({id:a.id,name:a.name,serverId:o,serverName:v?.name??""})),[v,o]),N=(0,bd.useNotificationSettings)().channel,{mutate:O}=(0,be.useSetChannelNotif)(),P=(0,d.useCallback)(()=>{s.goBackMobile?.()},[s]),Q=(0,d.useCallback)(()=>{m.back()},[m]),R=(0,d.useCallback)(a=>{O({channelId:j,level:a},{onError:a=>(0,e.toastApiError)(a,"Failed to update notification level")})},[j,O]);(0,d.useEffect)(()=>{p&&m.replace(`/c/channels/${a}/${j}`,{scroll:!1})},[]);let S=(0,d.useCallback)(b=>{m.push(`/c/channels/${a}/${b}`)},[m,a]),W=(0,d.useCallback)((a,b,c,d)=>{s.openProfile?.(a,b,c,d)},[s]);return t===j&&u.routeHydrated&&(!B||!E.isLoading)?A?(0,b.jsx)(aX,{channelId:j,serverId:o,serverParam:a,channelName:F,viewer:r,anchorMessageId:p,parentChannelId:y?.parentChannelId??null,parentMessageId:y?.parentMessageId??null,parentChannelName:x?.name??"channel",parentIsForum:B,childCreatorId:y?.creatorId,canRenameThread:(0,as.canManageServer)(L),headerServer:"mobile"===q&&v?{id:v.id,name:v.name,icon:v.icon}:void 0,notificationLevel:N[j]??D.USE_SERVER_DEFAULT,onSetNotificationLevel:R,onBack:"mobile"===q?Q:void 0,onLoadingBack:"mobile"===q?P:void 0,composerMembers:G,onSearchComposerMembers:H,channelRefCandidates:M,memberPanelProps:I,manageMembersDialog:J,uiHandlers:s,onOpenChild:S,onOpenProfile:W,resolveUserName:K}):z?(0,b.jsx)(a1,{serverId:o,channelId:j,channelName:F,viewer:r,viewerRole:L,headerServer:"mobile"===q&&v?{id:v.id,name:v.name,icon:v.icon}:void 0,notificationLevel:N[j]??D.USE_SERVER_DEFAULT,onSetNotificationLevel:R,onBack:"mobile"===q?P:void 0,composerMembers:G,onSearchComposerMembers:H,memberPanelProps:I,manageMembersDialog:J,onOpenPost:S,onOpenProfile:W}):(0,b.jsx)(aN,{channelId:j,serverId:o,serverParam:a,channelName:F,viewer:r,anchorMessageId:p,headerServer:"mobile"===q&&v?{id:v.id,name:v.name,icon:v.icon}:void 0,notificationLevel:N[j]??D.USE_SERVER_DEFAULT,onSetNotificationLevel:R,onBack:"mobile"===q?P:void 0,composerMembers:G,onSearchComposerMembers:H,channelRefCandidates:M,memberPanelProps:I,manageMembersDialog:J,uiHandlers:s,onOpenThread:S,onOpenProfile:W,resolveUserName:K}):z?(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)(g.ChannelHeaderSkeleton,{onBack:"mobile"===q?P:void 0}),(0,b.jsx)("main",{className:"flex min-h-0 min-w-0 flex-1 flex-col",children:(0,b.jsx)(T,{})})]}):(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)(g.ChannelHeaderSkeleton,{onBack:"mobile"===q?P:void 0}),(0,b.jsxs)("main",{className:"flex min-h-0 min-w-0 flex-1 flex-col",children:[(0,b.jsx)(h.MessageList,{channel:"",messages:[],loading:!0,onOpenThread:()=>{}},j),(0,b.jsx)(i.ComposerSkeleton,{})]})]})}a.s(["default",0,function(){let a=(0,c.useParams)(),d=`${a.serverId}/${a.channelId}`;return(0,b.jsx)(bf,{serverParam:a.serverId,channelId:a.channelId},d)}],166398)}];
2
2
 
3
3
  //# sourceMappingURL=src_web_src_app_c_channels_%5BserverId%5D_%5BchannelId%5D_page_tsx_14zzo72._.js.map
@@ -1,3 +1,3 @@
1
- module.exports=[174326,a=>{"use strict";var b=a.i(659140);let c=(0,a.i(36247).default)("bookmark",[["path",{d:"M17 3a2 2 0 0 1 2 2v15a1 1 0 0 1-1.496.868l-4.512-2.578a2 2 0 0 0-1.984 0l-4.512 2.578A1 1 0 0 1 5 20V5a2 2 0 0 1 2-2z",key:"oz39mx"}]]);var d=a.i(816797),e=a.i(699674),f=a.i(81396),g=a.i(775313);a.i(974936);var h=a.i(116979),i=a.i(290006),j=a.i(654461),k=a.i(867561),l=a.i(25668),m=a.i(131033),n=a.i(824576),o=a.i(487433),p=a.i(561238),q=a.i(692);function r({count:a}){return a<=0?null:(0,b.jsx)("span",{className:"grid h-5 min-w-5 place-items-center rounded-full bg-primary px-1 text-xs font-semibold text-primary-foreground",children:a})}function s({servers:a,dms:c,loading:f,onOpenChannel:g,onOpenForumThread:h,onOpenDm:j}){let k=0===a.length&&0===c.length;return(0,b.jsxs)("div",{className:"h-full overflow-y-auto thin-scrollbar p-3",children:[f&&k&&(0,b.jsx)(w,{}),!f&&k&&(0,b.jsx)(o.EmptyState,{icon:e.Inbox,label:"Caught up"}),c.length>0&&(0,b.jsxs)("div",{className:"mb-3",children:[(0,b.jsx)("div",{className:"px-2 pb-1 text-xs font-semibold text-muted-foreground",children:"Direct Messages"}),c.map(a=>(0,b.jsxs)("button",{onClick:()=>j?.(a.channelId),className:"flex w-full items-center gap-2 rounded-md px-2 py-2 text-left text-sm hover:bg-accent",children:[(0,b.jsx)(m.Avatar,{label:a.otherUserAvatar,seed:a.otherUserId,size:24}),(0,b.jsx)("span",{className:"min-w-0 flex-1 truncate",children:a.otherUserName}),(0,b.jsx)(d.ChevronRight,{className:"size-4 shrink-0 text-muted-foreground"})]},a.channelId))]}),a.map(a=>(0,b.jsxs)("div",{className:"mb-3",children:[(0,b.jsx)("div",{className:"px-2 pb-1 text-xs font-semibold text-muted-foreground",children:a.serverName}),a.channels.map(c=>(0,b.jsxs)("div",{children:[(0,b.jsxs)("button",{onClick:()=>g?.(a.serverId,c.channelId),className:"flex w-full items-center gap-2 rounded-md px-2 py-2 text-left text-sm hover:bg-accent",children:[(0,b.jsx)(i.EntityIcon,{kind:c.type,className:"size-4 shrink-0 text-muted-foreground"}),(0,b.jsx)("span",{className:"min-w-0 flex-1 truncate",children:c.channelName}),(0,b.jsx)(r,{count:c.mentionCount}),(0,b.jsx)(d.ChevronRight,{className:"size-4 shrink-0 text-muted-foreground"})]}),c.children.map(e=>(0,b.jsxs)("button",{"data-testid":q.tid.inboxUnreadChild(e.channelId),onClick:()=>{e.openerMessageId?h(a.serverId,c.channelId,e.channelId,e.openerMessageId):g?.(a.serverId,e.channelId)},className:"flex w-full items-center gap-2 rounded-md py-1.5 pl-8 pr-2 text-left text-sm hover:bg-accent",children:[(0,b.jsx)(i.EntityIcon,{kind:e.type,className:"size-3.5 shrink-0 text-muted-foreground"}),(0,b.jsx)("span",{className:"min-w-0 flex-1 truncate text-muted-foreground",children:e.channelName}),(0,b.jsx)(r,{count:e.mentionCount}),(0,b.jsx)(d.ChevronRight,{className:"size-4 shrink-0 text-muted-foreground"})]},e.channelId))]},c.channelId))]},a.serverId))]})}function t({mentions:a,loading:c,onOpenMention:d,onDeleteMention:i}){return(0,b.jsxs)("div",{className:"h-full overflow-y-auto thin-scrollbar p-3",children:[c&&0===a.length&&(0,b.jsx)(v,{}),!c&&0===a.length&&(0,b.jsx)(o.EmptyState,{icon:e.Inbox,label:"No mentions"}),a.map(a=>(0,b.jsxs)("div",{className:"group flex w-full items-start gap-3 rounded-md p-2 text-left hover:bg-accent",children:[(0,b.jsxs)("button",{onClick:()=>d?.(a),className:"flex min-w-0 flex-1 items-start gap-3 text-left",children:[(0,b.jsx)(m.Avatar,{label:a.m.authorAvatar??"?",seed:a.m.authorId,size:36}),(0,b.jsxs)("div",{className:"min-w-0 flex-1",children:[(0,b.jsxs)("div",{className:"text-sm",children:[(0,b.jsx)("span",{className:"font-medium",children:a.m.authorName})," ",(0,b.jsxs)("span",{className:"text-xs text-muted-foreground",children:["reply"===a.kind?"replied to you":"mentioned you"," in ",a.server," · ",(0,b.jsx)(n.ChannelIcon,{className:"inline h-[1em] w-auto align-[-0.1em]"}),a.channel]})]}),(0,b.jsx)("div",{className:"truncate text-sm text-muted-foreground",children:(0,h.stripInlineMarkup)(a.m.content??"")})]})]}),i&&(0,b.jsxs)(k.DropdownMenu,{children:[(0,b.jsx)(k.DropdownMenuTrigger,{render:(0,b.jsx)("button",{className:"mt-1 grid size-6 shrink-0 place-items-center rounded-md text-muted-foreground opacity-0 hover:bg-accent hover:text-foreground group-hover:opacity-100","aria-label":"More"}),children:(0,b.jsx)(f.MoreHorizontal,{className:"size-4"})}),(0,b.jsx)(k.DropdownMenuContent,{align:"end",sideOffset:4,className:"w-36",children:(0,b.jsxs)(k.DropdownMenuItem,{onClick:()=>i(a.id),children:[(0,b.jsx)(g.Trash2,{className:"size-4"}),"Remove"]})})]})]},a.id))]})}function u({marked:a,loading:d,onOpenMarked:e,onUnmark:i}){return(0,b.jsxs)("div",{className:"h-full overflow-y-auto thin-scrollbar p-3",children:[d&&0===a.length&&(0,b.jsx)(v,{}),!d&&0===a.length&&(0,b.jsx)(o.EmptyState,{icon:c,label:"No marked messages"}),a.map(a=>(0,b.jsxs)("div",{className:"group flex w-full items-start gap-3 rounded-md p-2 text-left hover:bg-accent",children:[(0,b.jsxs)("button",{onClick:()=>e?.(a),className:"flex min-w-0 flex-1 items-start gap-3 text-left",children:[(0,b.jsx)(m.Avatar,{label:a.m.authorAvatar??"?",seed:a.m.authorId,size:36}),(0,b.jsxs)("div",{className:"min-w-0 flex-1",children:[(0,b.jsxs)("div",{className:"text-sm",children:[(0,b.jsx)("span",{className:"font-medium",children:a.m.authorName})," ",(0,b.jsxs)("span",{className:"text-xs text-muted-foreground",children:["in"," ",a.serverId?(0,b.jsxs)(b.Fragment,{children:[a.server," · ",(0,b.jsx)(n.ChannelIcon,{className:"inline h-[1em] w-auto align-[-0.1em]"}),a.channel]}):"DM",a.m.createdAt&&(0,b.jsxs)(b.Fragment,{children:[" · ",(0,p.formatRelativeTime)(a.m.createdAt)]})]})]}),(0,b.jsx)("div",{className:"truncate text-sm text-muted-foreground",children:(0,h.stripInlineMarkup)(a.m.content??"")})]})]}),i&&(0,b.jsxs)(k.DropdownMenu,{children:[(0,b.jsx)(k.DropdownMenuTrigger,{render:(0,b.jsx)("button",{className:"mt-1 grid size-6 shrink-0 place-items-center rounded-md text-muted-foreground opacity-0 hover:bg-accent hover:text-foreground group-hover:opacity-100","aria-label":"More"}),children:(0,b.jsx)(f.MoreHorizontal,{className:"size-4"})}),(0,b.jsx)(k.DropdownMenuContent,{align:"end",sideOffset:4,className:"w-36",children:(0,b.jsxs)(k.DropdownMenuItem,{onClick:()=>i(a.m.id),children:[(0,b.jsx)(g.Trash2,{className:"size-4"}),"Unmark"]})})]})]},a.id))]})}function v(){return(0,b.jsx)("div",{className:"flex flex-col gap-1",children:Array.from({length:4}).map((a,c)=>(0,b.jsxs)("div",{className:"flex items-start gap-3 rounded-md p-2",children:[(0,b.jsx)(l.Skeleton,{className:"size-9 shrink-0 rounded-full"}),(0,b.jsxs)("div",{className:"flex min-w-0 flex-1 flex-col gap-2",children:[(0,b.jsx)(l.Skeleton,{className:"h-3.5 w-2/5 rounded"}),(0,b.jsx)(l.Skeleton,{className:"h-3 w-3/4 rounded"}),(0,b.jsx)(l.Skeleton,{className:"h-3 w-1/4 rounded"})]})]},c))})}function w(){return(0,b.jsx)("div",{className:"flex flex-col gap-3",children:Array.from({length:2}).map((a,c)=>(0,b.jsxs)("div",{children:[(0,b.jsx)("div",{className:"px-2 pb-1",children:(0,b.jsx)(l.Skeleton,{className:"h-3 w-24 rounded"})}),Array.from({length:3}).map((a,c)=>(0,b.jsxs)("div",{className:"flex items-center gap-2 rounded-md px-2 py-2",children:[(0,b.jsx)(l.Skeleton,{className:"size-4 shrink-0 rounded"}),(0,b.jsx)(l.Skeleton,{className:"h-3.5 flex-1 rounded",style:{maxWidth:140+23*c%60}})]},c))]},c))})}a.s(["InboxPopover",0,function({unreads:a,unreadDms:c,mentions:d,marked:f,markedLoading:g,loading:h,onOpenChannel:i,onOpenForumThread:k,onOpenDm:l,onOpenMention:m,onOpenMarked:n,onDeleteMention:o,onUnmark:p,onMarkedTabSelected:q,onMarkAllRead:r}){let v=a.length>0||c.length>0,w=v||d.length>0;return(0,b.jsxs)(j.Tabs,{defaultValue:"unreads",onValueChange:a=>{"marked"===a&&q?.()},className:"flex h-112 flex-col",children:[(0,b.jsxs)("div",{className:"flex items-center gap-2 px-3 pt-4",children:[(0,b.jsx)(e.Inbox,{className:"size-5"}),(0,b.jsx)("h2",{className:"flex-1 text-lg font-semibold",children:"Inbox"}),r&&(0,b.jsx)("button",{onClick:r,disabled:!w,className:"text-xs text-primary hover:underline disabled:cursor-not-allowed disabled:text-muted-foreground disabled:no-underline",children:"Mark all read"})]}),(0,b.jsxs)(j.TabsList,{variant:"line",className:"mt-3 w-full border-b border-border px-3",children:[(0,b.jsx)(j.TabsTrigger,{value:"unreads",children:(0,b.jsxs)("span",{className:"inline-flex items-center gap-2",children:["Unreads",v&&(0,b.jsx)("span",{className:"size-1.5 rounded-full bg-primary"})]})}),(0,b.jsx)(j.TabsTrigger,{value:"mentions",children:(0,b.jsxs)("span",{className:"inline-flex items-center gap-2",children:["Mentions",d.length>0&&(0,b.jsx)("span",{className:"size-1.5 rounded-full bg-primary"})]})}),(0,b.jsx)(j.TabsTrigger,{value:"marked",children:"Marked"})]}),(0,b.jsx)(j.TabsContent,{value:"unreads",className:"min-h-0 flex-1",children:(0,b.jsx)(s,{servers:a,dms:c,loading:h,onOpenChannel:i,onOpenForumThread:k,onOpenDm:l})}),(0,b.jsx)(j.TabsContent,{value:"mentions",className:"min-h-0 flex-1",children:(0,b.jsx)(t,{mentions:d,loading:h,onOpenMention:m,onDeleteMention:o})}),(0,b.jsx)(j.TabsContent,{value:"marked",className:"min-h-0 flex-1",children:(0,b.jsx)(u,{marked:f,loading:g,onOpenMarked:n,onUnmark:p})})]})}],174326)},566260,a=>{"use strict";var b=a.i(659140),c=a.i(448905),d=a.i(464930),e=a.i(360875),f=a.i(808639),g=a.i(938542),h=a.i(525132);function i({label:a,round:c,accent:d,active:e,onClick:f,tooltip:g,testId:j,onboardingTarget:k}){let l=(0,b.jsxs)("div",{className:"group relative flex w-full justify-center","data-onboarding-target":k,children:[(0,b.jsx)("span",{className:["absolute left-0 top-1/2 w-1 -translate-y-1/2 rounded-r-full bg-foreground transition-all duration-150",e?"h-8":"h-0 group-hover:h-5"].join(" ")}),(0,b.jsx)("button",{"data-testid":j,onClick:f,className:["grid size-10 shrink-0 place-items-center transition-all duration-150 focus-visible:ring-2 focus-visible:ring-ring focus-visible:outline-none",c?"rounded-[20px]":"rounded-xl",e?"rounded-2xl bg-primary text-primary-foreground":d?"border border-dashed border-foreground/15 text-muted-foreground hover:border-foreground/30 hover:text-foreground hover:bg-accent hover:rounded-2xl":"bg-secondary text-foreground hover:bg-accent hover:rounded-2xl"].join(" "),children:a})]});return g?(0,b.jsxs)(h.Tooltip,{children:[(0,b.jsx)(h.TooltipTrigger,{render:l}),(0,b.jsx)(h.TooltipContent,{side:"right",sideOffset:8,children:g})]}):l}var j=a.i(75118);let k="transition-transform duration-[180ms] ease-[cubic-bezier(0.2,0.8,0.2,1)] group-hover/alook:duration-[240ms] motion-reduce:group-hover/alook:translate-none motion-reduce:group-hover/alook:scale-none motion-reduce:transition-none";function l({className:a}){return(0,b.jsxs)("svg",{viewBox:"0 0 1024 1024",fill:"none",role:"img","aria-label":"Alook",className:(0,j.cn)("pointer-events-none select-none",a),children:[(0,b.jsxs)("g",{clipPath:"url(#animated-alook-clip)",children:[(0,b.jsxs)("g",{"data-face":"red",className:(0,j.cn)(k,"transform-fill origin-center group-hover/alook:translate-x-[2%] group-hover/alook:translate-y-[3%]"),children:[(0,b.jsx)("path",{d:"M-26.5996 311.221L-39.86 185.057C-55.9935 31.5572 22.3761 -72.3481 148.875 -102.651C194.472 -113.822 206.766 -178.893 309.8 -189.722C482.225 -207.845 613.345 -72.8086 633.015 114.335L646.275 240.499C658.431 356.149 559.924 430.282 328.623 454.592C97.3226 478.903 -14.4443 426.871 -26.5996 311.221Z",fill:"#FE4365"}),(0,b.jsx)("path",{d:"M210.59 140.663C225.106 139.137 234.746 117.66 232.122 92.6914C229.498 67.7233 215.603 48.7195 201.086 50.2452C186.57 51.771 176.93 73.2485 179.554 98.2166C182.178 123.185 196.073 142.189 210.59 140.663Z",fill:"white"}),(0,b.jsx)("path",{d:"M378.808 122.982C393.325 121.457 402.965 99.979 400.341 75.0109C397.717 50.0428 383.822 31.039 369.305 32.5647C354.789 34.0904 345.148 55.5679 347.773 80.536C350.397 105.504 364.292 124.508 378.808 122.982Z",fill:"white"}),(0,b.jsx)("path",{d:"M262.043 185.215C289.486 203.59 314.719 200.938 337.742 177.259",stroke:"white",strokeWidth:"27",strokeLinecap:"round"})]}),(0,b.jsxs)("g",{"data-face":"purple",className:(0,j.cn)(k,"transform-fill origin-center group-hover/alook:translate-x-[-2%] group-hover/alook:translate-y-[3%]"),children:[(0,b.jsx)("path",{d:"M523.747 365.154L550.571 58.5595C556.271 -6.59189 611.194 -38.4735 678.261 -32.6059L1015.52 -3.09997C1082.58 2.76768 1131.14 43.7023 1125.44 108.854L1098.61 415.448C1089.89 515.091 998.635 565.034 797.433 547.431C596.23 529.828 515.03 464.797 523.747 365.154Z",fill:"#8A5A9E"}),(0,b.jsx)("path",{d:"M746.769 191.001C764.761 192.575 780.621 179.267 782.195 161.276C783.769 143.285 770.461 127.424 752.469 125.85C734.478 124.276 718.618 137.585 717.044 155.576C715.47 173.567 728.778 189.427 746.769 191.001Z",fill:"white"}),(0,b.jsx)("path",{d:"M900.067 204.413C918.058 205.987 933.918 192.679 935.492 174.688C937.066 156.697 923.758 140.836 905.767 139.262C887.776 137.688 871.915 150.997 870.341 168.988C868.767 186.979 882.076 202.839 900.067 204.413Z",fill:"white"}),(0,b.jsx)("path",{d:"M752.159 239.745C793.965 276.871 838.677 280.783 886.294 251.48",stroke:"white",strokeWidth:"27",strokeLinecap:"round"})]}),(0,b.jsxs)("g",{"data-face":"teal",className:(0,j.cn)(k,"transform-fill origin-center group-hover/alook:translate-x-[3%]"),children:[(0,b.jsx)("path",{d:"M-78.8153 606.38L-85.9305 504.628C-93.0456 402.877 -38.944 347.969 34.4879 325.793C26.9457 266.675 72.4138 234.525 120.811 268.632C135.789 214.756 212.103 209.42 232.856 262.501C282.7 219.82 339.34 249.943 336.588 308.076C405.845 323.683 449.748 366.625 456.744 466.681L463.86 568.432C470.382 661.705 389.146 718.51 202.602 731.554C16.0575 744.599 -72.2931 699.652 -78.8153 606.38Z",fill:"#45ADA8"}),(0,b.jsx)("path",{d:"M81.2836 458.853C101.998 430.138 124.609 428.557 149.118 454.109M216.952 449.366C237.666 420.651 260.278 419.07 284.787 444.622",stroke:"black",strokeWidth:"27.2",strokeLinecap:"round"}),(0,b.jsx)("path",{d:"M127.475 510.156C169.1 536.783 208.67 534.016 246.185 501.854",stroke:"black",strokeWidth:"25.5",strokeLinecap:"round"})]}),(0,b.jsxs)("g",{"data-face":"blue",className:(0,j.cn)(k,"transform-fill origin-center group-hover/alook:translate-x-[3%] group-hover/alook:translate-y-[-2%]"),children:[(0,b.jsx)("path",{d:"M-109.988 949.35L-99.7558 851.999C-85.7721 718.952 24.7151 635.419 172.106 637.787C331.026 639.726 436.163 747.563 419.451 906.57L409.219 1003.92C399.839 1093.16 313.597 1133.31 135.12 1114.55C-43.3572 1095.79 -119.367 1038.59 -109.988 949.35Z",fill:"#6A8CAF"}),(0,b.jsx)("path",{d:"M96.9932 852.993C113.123 854.688 127.573 842.987 129.268 826.857C130.963 810.728 119.262 796.278 103.132 794.582C87.0027 792.887 72.5527 804.588 70.8574 820.718C69.1621 836.848 80.8635 851.298 96.9932 852.993Z",fill:"black"}),(0,b.jsx)("path",{d:"M197.414 834.02C216.774 857.927 238.407 860.201 262.315 840.841",stroke:"black",strokeWidth:"25.6",strokeLinecap:"round"}),(0,b.jsx)("path",{d:"M88.7148 884.932C130.907 930.924 177.419 935.813 228.252 899.598C219.15 944.573 193.506 964.844 151.321 960.41C109.135 955.977 88.2666 930.817 88.7148 884.932Z",fill:"black"})]}),(0,b.jsxs)("g",{"data-face":"orange",children:[(0,b.jsx)("path",{d:"M289.536 851.737L294.666 704.827C300.908 526.086 407.593 419.494 557.636 405.122C611.76 399.657 636.361 326.972 756.338 331.161C957.116 338.173 1085.8 514.271 1078.19 732.188L1073.06 879.099C1068.36 1013.77 943.365 1082.95 674.03 1073.54C404.694 1064.14 284.833 986.405 289.536 851.737Z",fill:"#FF9915"}),(0,b.jsx)("path",{d:"M606 655.4C634.498 655.4 657.6 632.835 657.6 605C657.6 577.165 634.498 554.6 606 554.6C577.502 554.6 554.4 577.165 554.4 605C554.4 632.835 577.502 655.4 606 655.4Z",fill:"white"}),(0,b.jsx)("path",{d:"M798 655.4C826.498 655.4 849.6 632.835 849.6 605C849.6 577.165 826.498 554.6 798 554.6C769.502 554.6 746.4 577.165 746.4 605C746.4 632.835 769.502 655.4 798 655.4Z",fill:"white"}),(0,b.jsxs)("g",{"data-motion":"orange-glance",className:(0,j.cn)(k,"transform-fill origin-center group-hover/alook:translate-x-[-7%]"),children:[(0,b.jsx)("path",{d:"M622.8 639.08C636.32 639.08 647.28 628.12 647.28 614.6C647.28 601.08 636.32 590.12 622.8 590.12C609.28 590.12 598.32 601.08 598.32 614.6C598.32 628.12 609.28 639.08 622.8 639.08Z",fill:"black"}),(0,b.jsx)("path",{d:"M814.8 639.08C828.32 639.08 839.28 628.12 839.28 614.6C839.28 601.08 828.32 590.12 814.8 590.12C801.28 590.12 790.32 601.08 790.32 614.6C790.32 628.12 801.28 639.08 814.8 639.08Z",fill:"black"})]}),(0,b.jsx)("path",{d:"M630 725C686 736.2 734 726.6 774 696.2",stroke:"black",strokeWidth:"36",strokeLinecap:"round","data-motion":"orange-smile",className:(0,j.cn)(k,"transform-fill origin-center group-hover/alook:scale-x-105 group-hover/alook:translate-y-[-8%]")})]})]}),(0,b.jsx)("defs",{children:(0,b.jsx)("clipPath",{id:"animated-alook-clip",children:(0,b.jsx)("rect",{width:"1024",height:"1024",rx:"236",fill:"white"})})})]})}var m=a.i(692),n=a.i(25668),o=a.i(823065),p=a.i(764190);function q({active:a}){return(0,b.jsx)("span",{className:["absolute left-0 top-1/2 w-1 -translate-y-1/2 rounded-r-full bg-foreground transition-all duration-150",a?"h-10":"h-0 group-hover:h-5"].join(" ")})}var r=a.i(22902),s=a.i(881025);a.i(735132);var t=a.i(447560);let u=(0,c.memo)(function({server:a,active:d,onClick:e,onLeave:g,onOpenSettings:i,onOpenInvitePopover:j,onCreateFolder:k,groupTarget:l,inFolder:n,dragging:u}){let{attributes:v,listeners:w,setNodeRef:x,transform:y,transition:z,isDragging:A,isOver:B,activeIndex:C,index:D}=(0,f.useSortable)({id:a.id}),E={transform:o.CSS.Transform.toString(y),transition:z,opacity:u?.3:1,zIndex:A?10:void 0},[F,G]=(0,c.useState)(!1),[H,I]=(0,c.useState)(!1),J=H?void 0:()=>I(!0),K=(0,b.jsxs)("div",{ref:x,style:E,className:"group relative flex w-full justify-center",onPointerEnter:J,onFocusCapture:J,onKeyDownCapture:J,children:[B&&!A&&!u&&(0,b.jsx)("div",{className:`pointer-events-none absolute inset-x-3 z-10 h-0.5 rounded-full bg-primary ${"top"==(-1!==C&&C<D?"bottom":"top")?"-top-1":"-bottom-1"}`}),(0,b.jsx)(q,{active:d}),(0,b.jsxs)("div",{className:["relative size-10 transition-all duration-150",l?"scale-110 rounded-xl ring-2 ring-primary":"",A?"rounded-xl border-2 border-dashed border-muted-foreground/40":""].join(" "),children:[(0,b.jsx)("button",{"data-testid":m.tid.serverIcon(a.id),onClick:d?void 0:e,...v,...w,className:["relative grid size-10 touch-none place-items-center overflow-hidden font-brand text-xl font-bold transition-all duration-150 active:cursor-grabbing",d?"cursor-default rounded-xl":"cursor-pointer rounded-[18px] hover:rounded-xl",a.icon?d?"bg-primary text-primary-foreground":"bg-card hover:bg-primary hover:text-primary-foreground":"text-white [text-shadow:0_1px_2px_rgb(0_0_0/0.35)] hover:brightness-110"].join(" "),children:a.icon?(0,b.jsx)("img",{src:a.icon,alt:a.name,className:"size-full object-cover"}):(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)(t.SeededBackdrop,{seed:a.id}),(0,b.jsx)("span",{className:"relative -translate-x-0.5 [-webkit-text-stroke:0.5px_currentColor]",children:a.initial})]})}),a.mentions>0&&(0,b.jsx)("span",{"data-testid":m.tid.railUnreadBadge(a.id),className:"pointer-events-none absolute -bottom-1 -right-1 grid h-5 min-w-5 place-items-center rounded-full bg-primary px-1 text-[11px] font-bold text-primary-foreground ring-2 ring-(--d-rail)",children:(0,b.jsx)(s.NumberTicker,{value:a.mentions})})]})]}),L=H?(0,b.jsxs)(p.ContextMenu,{children:[(0,b.jsx)(p.ContextMenuTrigger,{render:K}),(0,b.jsxs)(p.ContextMenuContent,{className:"w-52",children:[(0,b.jsx)("div",{className:"truncate px-2 py-1 text-xs font-semibold text-muted-foreground",children:a.name}),j&&(0,b.jsx)(p.ContextMenuItem,{onClick:j,children:"Invite to Server"}),!n&&k&&(0,b.jsx)(p.ContextMenuItem,{onClick:k,children:"Create group"}),(0,b.jsx)(p.ContextMenuItem,{onClick:i,children:"Server settings"}),!a.isOwner&&!n&&(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)(p.ContextMenuSeparator,{}),(0,b.jsx)(p.ContextMenuItem,{onClick:()=>G(!0),className:"text-destructive data-highlighted:bg-destructive/10 data-highlighted:text-destructive",children:"Leave server"})]})]})]}):K;return(0,b.jsxs)(b.Fragment,{children:[(0,b.jsxs)(h.Tooltip,{children:[(0,b.jsx)(h.TooltipTrigger,{render:(0,b.jsx)("span",{className:"flex w-full justify-center"}),children:L}),(0,b.jsx)(h.TooltipContent,{side:"right",sideOffset:8,children:a.name})]}),H&&(0,b.jsx)(r.ConfirmDialog,{open:F,onOpenChange:G,title:`Leave ${a.name}?`,description:"You won't see this server's channels anymore, and you'll need a new invite to come back.",confirmLabel:"Leave server",confirmVariant:"destructive",onConfirm:()=>{G(!1),g?.()}})]})},function(a,b){let c=a.server,d=b.server;return c.id===d.id&&c.name===d.name&&c.initial===d.initial&&c.icon===d.icon&&c.mentions===d.mentions&&c.isOwner===d.isOwner&&a.active===b.active&&a.groupTarget===b.groupTarget&&a.inFolder===b.inFolder&&a.dragging===b.dragging&&!!a.onLeave==!!b.onLeave&&!!a.onOpenSettings==!!b.onOpenSettings&&!!a.onOpenInvitePopover==!!b.onOpenInvitePopover&&!!a.onCreateFolder==!!b.onCreateFolder});function v({sortableId:a,open:c,onToggle:d,activeId:e,folderServers:g,onUngroup:i,dragging:j}){let{attributes:k,listeners:l,setNodeRef:m,transform:n,transition:r,isDragging:s,isOver:u,activeIndex:w,index:x}=(0,f.useSortable)({id:a}),y={transform:o.CSS.Transform.toString(n),transition:r,opacity:j?.3:1,zIndex:s?10:void 0};return(0,b.jsxs)(h.Tooltip,{children:[(0,b.jsx)(h.TooltipTrigger,{render:(0,b.jsx)("span",{className:"flex w-full justify-center"}),children:(0,b.jsxs)(p.ContextMenu,{children:[(0,b.jsxs)(p.ContextMenuTrigger,{render:(0,b.jsx)("div",{ref:m,style:y,className:"group relative flex w-full justify-center"}),children:[u&&!s&&!j&&(0,b.jsx)("div",{className:`pointer-events-none absolute inset-x-3 z-10 h-0.5 rounded-full bg-primary ${"top"==(-1!==w&&w<x?"bottom":"top")?"-top-1":"-bottom-1"}`}),(0,b.jsx)(q,{active:!c&&g.some(a=>a.id===e)}),(0,b.jsx)("button",{onClick:d,...k,...l,className:["grid size-10 cursor-pointer touch-none grid-cols-2 gap-1 p-2 transition-all duration-150 active:cursor-grabbing",c?"rounded-xl bg-primary/15":"rounded-[18px] bg-accent hover:rounded-xl hover:bg-primary/20"].join(" "),children:Array.from({length:4}).map((a,c)=>{let d=g[c];return d?(0,b.jsx)("span",{className:["relative grid aspect-square place-items-center overflow-hidden rounded-sm text-[7px] font-semibold",d.icon?"bg-card text-muted-foreground":"text-white [text-shadow:0_1px_1px_rgb(0_0_0/0.35)]"].join(" "),children:d.icon?(0,b.jsx)("img",{src:d.icon,alt:d.name,className:"size-full object-cover"}):(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)(t.SeededBackdrop,{seed:d.id}),(0,b.jsx)("span",{className:"relative",children:d.initial})]})},d.id):(0,b.jsx)("span",{className:"aspect-square rounded-sm bg-card/50"},c)})})]}),(0,b.jsx)(p.ContextMenuContent,{className:"w-52",children:(0,b.jsx)(p.ContextMenuItem,{onClick:i,children:"Ungroup"})})]})}),(0,b.jsx)(h.TooltipContent,{side:"right",sideOffset:8,children:"Group"})]})}let w=(0,a.i(36247).default)("image-plus",[["path",{d:"M16 5h6",key:"1vod17"}],["path",{d:"M19 2v6",key:"4bpg5p"}],["path",{d:"M21 11.5V19a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h7.5",key:"1ue2ih"}],["path",{d:"m21 15-3.086-3.086a2 2 0 0 0-2.828 0L6 21",key:"1xmnt7"}],["circle",{cx:"9",cy:"9",r:"2",key:"af1f0g"}]]);var x=a.i(635153),y=a.i(732254),z=a.i(66957),A=a.i(166281),B=a.i(624812),C=a.i(844411),D=a.i(131731),E=a.i(525743);function F({onClose:a,onCreateServer:d}){let[e,f]=(0,c.useState)(""),[g,h]=(0,c.useState)(null),[i,j]=(0,c.useState)(null),[k,l]=(0,c.useState)(null),n=(0,c.useRef)(null),o=(0,c.useRef)(null),p=(0,c.useRef)(null),q=(0,c.useRef)(1),r=(0,c.useRef)({dialog:null,avatar:null}),s=`new-server-${(0,c.useId)()}`,u=(0,B.previewSlug)(e),v=e.trim()?(0,z.avatarInitial)(e):null,G=()=>{u.slug&&(d?.(e.trim(),g??void 0),a())};return(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)(C.CreateDialogShell,{onClose:a,title:"Create a server",footer:(0,b.jsx)(y.Button,{size:"sm","data-testid":m.tid.createServerSubmit,disabled:!u.slug,onClick:G,children:"Create server"}),children:(0,b.jsx)("div",{className:"px-5 pb-1",children:(0,b.jsxs)("div",{className:"flex items-center gap-4",children:[(0,b.jsx)("input",{ref:n,type:"file",accept:"image/png,image/jpeg,image/webp",className:"hidden",onChange:a=>{let b=a.target.files?.[0];if(a.target.value="",!b)return;let c=(0,A.validateIconSourceFile)(b);c.ok?l({src:URL.createObjectURL(b),fileName:b.name}):x.toast.error(c.error)}}),(0,b.jsxs)("button",{ref:p,type:"button",onClick:()=>n.current?.click(),"aria-label":"Upload server icon",className:"group relative grid size-16 shrink-0 place-items-center overflow-hidden rounded-xl text-white ring-1 ring-border/40 outline-none transition-[box-shadow,filter] hover:brightness-105 focus-visible:ring-2 focus-visible:ring-ring [text-shadow:0_1px_2px_rgb(0_0_0/0.35)]",children:[i?(0,b.jsx)("img",{src:i,alt:"",className:"size-full object-cover"}):(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)(t.SeededBackdrop,{seed:s}),v?(0,b.jsx)("span",{className:"relative -translate-x-0.5 font-brand text-[2rem] font-bold leading-none [-webkit-text-stroke:0.5px_currentColor]",children:v}):(0,b.jsx)(w,{className:"relative size-5 opacity-70 drop-shadow-sm"})]}),(0,b.jsx)("span",{className:"absolute inset-0 grid place-items-center bg-black/20 opacity-0 transition-opacity group-hover:opacity-100 group-focus-visible:opacity-100",children:(0,b.jsx)(w,{className:"size-4 drop-shadow-sm"})})]}),(0,b.jsxs)("div",{className:"min-w-0 flex-1",children:[(0,b.jsx)("input",{ref:o,value:e,onChange:a=>{var b;let c;return f(b=a.target.value),void((c=o.current)&&b!==e&&(q.current=1===q.current?-1:1,r.current=function(a,b,c,d){if(window.matchMedia("(prefers-reduced-motion: reduce)").matches)return d;let e=a.closest("[role='dialog']");return e&&"function"==typeof e.animate?(d.dialog?.cancel(),d.avatar?.cancel(),{dialog:e.animate([{marginLeft:"0px",marginTop:"0px",scale:"1"},{marginLeft:`${1.75*c}px`,marginTop:"0.5px",scale:"0.994",offset:.24},{marginLeft:`${-.8*c}px`,marginTop:"-0.75px",scale:"1.003",offset:.58},{marginLeft:"0px",marginTop:"0px",scale:"1"}],{duration:140,easing:"cubic-bezier(.2,.8,.2,1)"}),avatar:b?.animate([{scale:"1",rotate:"0deg"},{scale:"0.92",rotate:`${-1.5*c}deg`,offset:.24},{scale:"1.07",rotate:`${.8*c}deg`,offset:.62},{scale:"1",rotate:"0deg"}],{duration:170,easing:"cubic-bezier(.2,.8,.2,1)"})??null}):d}(c,p.current,q.current,r.current)))},onKeyDown:a=>{"Enter"!==a.key||a.nativeEvent.isComposing||G()},placeholder:"My community",autoFocus:!0,"aria-label":"Server name",className:"w-full border-0 bg-transparent p-0 text-[26px] font-medium leading-tight tracking-tight shadow-none outline-none placeholder:font-normal placeholder:text-muted-foreground/35 focus-visible:ring-0"}),(0,b.jsx)(E.SlugHint,{...u})]})]})})}),k&&(0,b.jsx)(D.ImageCropDialog,{imageSrc:k.src,originalFileName:k.fileName,maskShape:"square",onCropped:a=>{h(a),j(b=>(b&&URL.revokeObjectURL(b),URL.createObjectURL(a))),URL.revokeObjectURL(k.src),l(null)},onCancel:()=>{URL.revokeObjectURL(k.src),l(null)}})]})}let G="folder:";function H(a){return a.startsWith(G)}function I(a){return a.slice(G.length)}var J=a.i(411731);let K=(0,c.memo)(function({servers:a,folders:j,activeServerId:k,serversLoading:n,setMobileZone:o,view:p,bottomInset:q,onHome:r,onServer:s,onServerNavigate:w,onCreateServer:x,onLeaveServer:y,onOpenSettings:z,onOpenInvitePopover:A,onUngroupFolder:B,onReorderRail:C,onReorderFolders:D,onFolderItemsChange:E,onDragCreateFolder:K}){let{visibleItems:M,sortableIds:N,openFolders:O,toggleFolder:P,onDragStart:Q,onDragOver:R,onDragEnd:S,groupTarget:T}=function(a,b,d){let e=(0,c.useRef)(new Set),[g,h]=(0,c.useState)(()=>{let c;return c=new Set(b.flatMap(a=>a.servers.map(a=>a.id))),[...a.filter(a=>!c.has(a)),...[...b].sort((a,b)=>a.position-b.position).map(a=>{var b;return b=a.id,`${G}${b}`})]}),[i,j]=(0,c.useState)(new Set),[k,l]=(0,c.useState)(null),m=(0,c.useRef)(!1);(0,c.useEffect)(()=>{if(!m.current){m.current=!0;try{let a=sessionStorage.getItem("rail-open-folders");if(a){let b=JSON.parse(a);b.length>0&&j(new Set(b))}}catch{}return}sessionStorage.setItem("rail-open-folders",JSON.stringify([...i]))},[i]);let n=(0,c.useRef)(null),o=(0,c.useRef)(null),p=(0,c.useRef)(null);(0,c.useEffect)(()=>{p.current=k},[k]);let q=(0,c.useCallback)(()=>{n.current&&(clearTimeout(n.current),n.current=null),o.current=null},[]),[r,s]=(0,c.useState)(()=>{let a=new Map;for(let c of b)a.set(c.id,c.servers.map(a=>a.id));return a}),t=(0,c.useRef)(g);(0,c.useEffect)(()=>{t.current=g},[g]);let u=(0,c.useRef)(r);(0,c.useEffect)(()=>{u.current=r},[r]);let v=(0,c.useRef)(a),w=(0,c.useRef)(b);(0,c.useEffect)(()=>{let c=v.current,d=w.current;v.current=a,w.current=b;let f=new Set(b.flatMap(a=>a.servers.map(a=>a.id)));e.current=f;let g=c.join(","),i=a.join(","),j=d.map(a=>a.id).join(","),k=b.map(a=>a.id).join(",");(g!==i||j!==k)&&h(c=>{let d=new Set([...new Set(a.filter(a=>!f.has(a))),...new Set(b.map(a=>{var b;return b=a.id,`${G}${b}`}))]),e=c.filter(a=>d.has(a)),g=new Set(e);return[...e,...[...d].filter(a=>!g.has(a))]}),(j!==k||d.some((a,c)=>{let d=b[c];return!d||a.servers.map(a=>a.id).join(",")!==d.servers.map(a=>a.id).join(",")}))&&s(a=>{let c=new Map(a);for(let a of b){let b=a.servers.map(a=>a.id),d=c.get(a.id);if(d){let e=new Set(b),f=d.filter(a=>e.has(a)),g=new Set(f),h=b.filter(a=>!g.has(a));c.set(a.id,[...f,...h])}else c.set(a.id,b)}let d=new Set(b.map(a=>a.id));for(let a of c.keys())d.has(a)||c.delete(a);return c})},[a,b]);let x=(0,c.useCallback)(a=>{for(let[b,c]of u.current)if(c.includes(a))return b;return null},[]),[y,z]=(0,c.useState)(null),A=(0,c.useRef)([]),B=(0,c.useRef)(new Map),C=(0,c.useCallback)(()=>{let a=t.current,b=a.filter(a=>!H(a)),c=a.filter(a=>H(a)).map(I);for(let[a,e]of(b.join(",")!==A.current.join(",")&&(A.current=b,d?.onReorderRail?.(b)),c.length>0&&d?.onReorderFolders?.(c),u.current)){let b=B.current.get(a);b&&b.join(",")===e.join(",")||(B.current.set(a,e),d?.onFolderItemsChange?.(a,e))}},[]),D=[],E=new Set;for(let a of g)if(!E.has(a)&&(E.add(a),D.push(a),H(a)&&i.has(I(a)))){let b=I(a);for(let a of r.get(b)??[])E.has(a)||(E.add(a),D.push(a))}return{visibleItems:D,sortableIds:D,openFolders:i,toggleFolder:(0,c.useCallback)(a=>{j(b=>{let c=new Set(b);return c.has(a)?c.delete(a):c.add(a),c})},[]),folderOrders:r,onDragStart:a=>{let b=String(a.active.id);H(b)&&i.has(I(b))&&(z(I(b)),j(a=>{let c=new Set(a);return c.delete(I(b)),c}))},onDragOver:a=>{let{active:b,over:c}=a;if(!c){q(),l(null);return}let d=String(b.id),e=String(c.id);if(d===e){q(),l(null);return}let f=t.current.includes(d),g=t.current.includes(e),i=x(d),j=x(e);if(f&&!H(d)&&j){let a=t.current.filter(a=>a!==d);t.current=a,h(a),s(a=>{let b=new Map(a),c=[...b.get(j)??[]];if(!c.includes(d)){let a=c.indexOf(e);c.splice(a>=0?a:c.length,0,d)}return b.set(j,c),b}),u.current=new Map(u.current).set(j,[...u.current.get(j)??[],d]),q(),l(null);return}if(i&&g&&!H(e)){s(a=>{let b=new Map(a);return b.set(i,(b.get(i)??[]).filter(a=>a!==d)),b});let a=[...t.current];if(!a.includes(d)){let b=a.indexOf(e);a.splice(b>=0?b:a.length,0,d)}t.current=a,h(a),q(),l(null);return}if(f&&!H(d)&&H(e)){let a=I(e),b=t.current.filter(a=>a!==d);t.current=b,h(b),s(b=>{let c=new Map(b),e=[...c.get(a)??[]];return e.includes(d)||e.push(d),c.set(a,e),c}),q(),l(null);return}if(f&&g&&!H(d)&&!H(e)){if(o.current===e)return;q(),l(null),o.current=e,n.current=setTimeout(()=>{l(e),p.current=e},300);return}q(),k&&l(null)},onDragEnd:a=>{let{active:b,over:c}=a;q();let e=p.current;if(l(null),y&&(j(a=>new Set(a).add(y)),z(null)),!c||b.id===c.id)return void C();let g=String(b.id),i=String(c.id);if(e&&e===i&&d?.onCreateFolder)return void d.onCreateFolder(g,i);let k=t.current.includes(g),m=t.current.includes(i);if(k&&m){let a=t.current.indexOf(g),b=t.current.indexOf(i);if(-1!==a&&-1!==b){let c=(0,f.arrayMove)(t.current,a,b);t.current=c,h(c)}}let n=x(g),o=x(i);n&&n===o&&s(a=>{let b=new Map(a),c=[...b.get(n)??[]],d=c.indexOf(g),e=c.indexOf(i);return -1!==d&&-1!==e&&b.set(n,(0,f.arrayMove)(c,d,e)),b}),C()},groupTarget:k}}((0,c.useMemo)(()=>a.map(a=>a.id),[a]),j,{onReorderRail:C,onReorderFolders:D,onFolderItemsChange:E,onCreateFolder:K}),[U,V]=(0,c.useState)(null),W=k??a.find(a=>a.active)?.id??"",[X,Y]=(0,c.useState)(W);(0,c.useEffect)(()=>{W&&Y(W)},[W]);let[Z,$]=(0,c.useState)(!1),_=(0,e.useSensors)((0,e.useSensor)(e.PointerSensor,{activationConstraint:{distance:5}})),aa=a=>{Y(a),s(),w?.(a),o?.("nav")},ab=(0,c.useMemo)(()=>new Map(a.map(a=>[a.id,a])),[a]),ac=(0,c.useMemo)(()=>new Map(j.map(a=>[a.id,a])),[j]),ad=(0,c.useMemo)(()=>{let a=new Map;for(let b of j)for(let c of b.servers)a.set(c.id,{id:c.id,name:c.name,initial:c.initial,icon:c.icon??null});return a},[j]);return(0,b.jsxs)("nav",{"aria-label":"Server navigation",className:"flex w-14 shrink-0 flex-col items-center gap-2 pt-2 pb-2 overflow-y-auto overflow-x-clip thin-scrollbar",style:q?{paddingBottom:q}:void 0,children:[(0,b.jsxs)(h.Tooltip,{children:[(0,b.jsxs)(h.TooltipTrigger,{render:(0,b.jsx)("div",{className:"group relative flex w-full justify-center"}),children:[(0,b.jsx)("span",{className:["absolute left-0 top-1/2 w-1 -translate-y-1/2 rounded-r-full bg-foreground transition-all duration-150","dm"===p?"h-8":"h-0 group-hover:h-5"].join(" ")}),(0,b.jsx)("button",{onClick:r,"aria-label":"Home",className:"group/alook grid size-10 shrink-0 place-items-center rounded-[20px] focus-visible:ring-2 focus-visible:ring-ring focus-visible:outline-none",children:(0,b.jsx)(l,{className:"size-10"})})]}),(0,b.jsx)(h.TooltipContent,{side:"right",sideOffset:8,children:"Home"})]}),(0,b.jsx)("div",{className:"w-6 border-t border-border/50 my-1"}),n&&0===a.length&&0===j.length?(0,b.jsx)(L,{}):(0,b.jsxs)(e.DndContext,{id:"d-rail",sensors:_,collisionDetection:e.closestCenter,modifiers:[g.restrictToVerticalAxis],onDragStart:a=>{V(String(a.active.id)),Q(a)},onDragOver:R,onDragEnd:a=>{S(a),V(null)},onDragCancel:()=>V(null),children:[(0,b.jsx)(f.SortableContext,{items:N,strategy:f.verticalListSortingStrategy,children:(0,b.jsx)("div",{className:"flex w-full flex-col items-center gap-2",children:(()=>{let a=[],c=0;for(;c<M.length;){let d=M[c];if(H(d)){let e=I(d),f=ac.get(e);if(!f){c++;continue}let g=O.has(e);if(a.push((0,b.jsx)(v,{folderId:e,sortableId:d,open:g,onToggle:()=>P(e),activeId:X,folderServers:f.servers,onUngroup:()=>B?.(e),dragging:U===d},d)),g){let d=[],f=c+1;for(;f<M.length&&!H(M[f])&&ad.has(M[f]);){let a=M[f],c=ad.get(a);d.push((0,b.jsx)(u,{server:{id:c.id,name:c.name,initial:c.initial,icon:c.icon,active:!1,mentions:0,isOwner:!1},active:"dm"!==p&&X===a,onClick:()=>aa(a),onOpenSettings:()=>z?.(a),onOpenInvitePopover:A?()=>A(a):void 0,inFolder:!0,dragging:U===a},a)),f++}d.length>0&&a.push((0,b.jsxs)("div",{className:"relative flex w-full flex-col items-center gap-2 py-1",children:[(0,b.jsx)("span",{className:"pointer-events-none absolute inset-y-0 left-1/2 w-12 -translate-x-1/2 rounded-[20px] bg-primary/10"}),d]},`fi-${e}`)),c=f}else c++}else{let e=ab.get(d);e&&a.push((0,b.jsx)(u,{server:e,active:"dm"!==p&&e.active,onClick:()=>aa(d),onLeave:()=>y?.(d),onOpenSettings:()=>z?.(d),onOpenInvitePopover:A?()=>A(d):void 0,onCreateFolder:j.length<10?()=>K?.(d,d):void 0,groupTarget:T===d,dragging:U===d},d)),c++}}return a})()})}),(0,b.jsx)(e.DragOverlay,{dropAnimation:null,children:U&&(()=>{if(H(U)){let a=I(U),c=ac.get(a);return c?(0,b.jsx)("div",{className:"grid size-10 grid-cols-2 gap-1 rounded-xl bg-accent p-2 shadow-(--e2)",children:Array.from({length:4}).map((a,d)=>{let e=c.servers[d];return e?(0,b.jsx)("span",{className:["relative grid aspect-square place-items-center overflow-hidden rounded-sm font-brand text-[10px] font-semibold",e.icon?"bg-card text-muted-foreground":"text-white [text-shadow:0_1px_1px_rgb(0_0_0/0.35)]"].join(" "),children:e.icon?(0,b.jsx)("img",{src:e.icon,alt:e.name,className:"size-full object-cover"}):(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)(t.SeededBackdrop,{seed:e.id}),(0,b.jsx)("span",{className:"relative -translate-x-0.5 [-webkit-text-stroke:0.5px_currentColor]",children:e.initial})]})},e.id):(0,b.jsx)("span",{className:"aspect-square rounded-sm bg-card/50"},d)})}):null}let a=ab.get(U)??ad.get(U);if(!a)return null;let c=a.icon;return(0,b.jsx)("div",{className:["relative grid size-10 place-items-center overflow-hidden rounded-xl font-brand text-xl font-bold shadow-(--e2)",c?"bg-secondary text-foreground":"text-white [text-shadow:0_1px_2px_rgb(0_0_0/0.35)]"].join(" "),children:c?(0,b.jsx)("img",{src:c,alt:a.name,className:"size-full object-cover"}):(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)(t.SeededBackdrop,{seed:a.id}),(0,b.jsx)("span",{className:"relative -translate-x-0.5 [-webkit-text-stroke:0.5px_currentColor]",children:a.initial})]})})})()})]}),(0,b.jsx)(i,{label:(0,b.jsx)(d.Plus,{className:"size-6"}),round:!0,accent:!0,tooltip:"Add a Server",testId:m.tid.serverAdd,onboardingTarget:"add-server",onClick:()=>{let a=(0,J.isCommunityOnboardingStage)("server");$(!0),a&&(0,J.completeCommunityOnboarding)()}}),Z&&(0,b.jsx)(F,{onClose:()=>$(!1),onCreateServer:(a,b)=>{x?.(a,b)}})]})});function L(){return(0,b.jsx)("div",{className:"flex w-full flex-col items-center gap-2",children:Array.from({length:4}).map((a,c)=>(0,b.jsx)(n.Skeleton,{className:"size-10 rounded-[20px]"},c))})}a.s(["ServerRail",0,K],566260)},23545,a=>{"use strict";var b=a.i(659140),c=a.i(847253),d=a.i(75118);a.s(["Shell",0,function({children:a,className:e}){return(0,b.jsxs)("div",{className:(0,d.cn)("fixed inset-0 flex overflow-hidden font-sans text-sm text-foreground",e),children:[(0,b.jsx)(c.AppBackground,{}),a]})}])},434186,a=>{"use strict";var b=a.i(659140),c=a.i(699674),d=a.i(268963),e=a.i(722393),f=a.i(131033),g=a.i(425712);let h=new Set;function i({user:a,onOpenProfile:j,onEditProfile:k,inbox:l,hasUnread:m,inboxOpen:n,onInboxOpenChange:o}){return(0,b.jsxs)("div",{className:"flex flex-1 items-center gap-2",children:[(0,b.jsx)("button",{onClick:b=>j?.(a.name,b,void 0,a.id),className:"shrink-0 rounded-full focus-visible:ring-2 focus-visible:ring-ring focus-visible:outline-none",children:(0,b.jsx)(f.Avatar,{label:a.avatar,seed:a.id,size:28,presence:(0,g.resolveProfilePresence)(!0,a.id,h),ringColor:"var(--muted)"})}),(0,b.jsx)("button",{onClick:b=>j?.(a.name,b,void 0,a.id),className:"min-w-0 flex-1 text-left rounded focus-visible:ring-2 focus-visible:ring-ring focus-visible:outline-none",children:(0,b.jsx)("div",{className:"truncate text-sm font-medium leading-tight",children:a.name})}),(0,b.jsxs)("div",{className:"flex items-center gap-1",children:[l&&(0,b.jsxs)(e.Popover,{open:n,onOpenChange:o,children:[(0,b.jsxs)(e.PopoverTrigger,{render:(0,b.jsx)("button",{className:"relative grid size-7 place-items-center rounded-lg text-muted-foreground hover:bg-accent hover:text-foreground focus-visible:ring-2 focus-visible:ring-ring focus-visible:outline-none","aria-label":"Inbox"}),children:[(0,b.jsx)(c.Inbox,{className:"size-4"}),m&&(0,b.jsx)("span",{className:"absolute right-1 top-1 size-2 rounded-full bg-primary"})]}),(0,b.jsx)(e.PopoverContent,{side:"top",align:"end",className:"w-90 max-w-[calc(100vw-1rem)] overflow-hidden p-0",children:l})]}),(0,b.jsx)("button",{onClick:k,className:"grid size-7 place-items-center rounded-lg text-muted-foreground hover:bg-accent hover:text-foreground focus-visible:ring-2 focus-visible:ring-ring focus-visible:outline-none","aria-label":"User settings",children:(0,b.jsx)(d.Settings,{className:"size-4"})})]})]})}a.s(["UserBar",0,function({user:a,onOpenProfile:c,onEditProfile:d,inbox:e,hasUnread:f,inboxOpen:g,onInboxOpenChange:h}){return(0,b.jsx)("div",{className:"shrink-0 px-3 pb-3 pt-0",children:(0,b.jsx)("div",{className:"flex h-12 items-center gap-3 rounded-xl bg-muted px-4 ring-1 ring-border/40",children:(0,b.jsx)(i,{user:a,onOpenProfile:c,onEditProfile:d,inbox:e,hasUnread:f,inboxOpen:g,onInboxOpenChange:h})})})}])}];
1
+ module.exports=[174326,a=>{"use strict";var b=a.i(659140);let c=(0,a.i(36247).default)("bookmark",[["path",{d:"M17 3a2 2 0 0 1 2 2v15a1 1 0 0 1-1.496.868l-4.512-2.578a2 2 0 0 0-1.984 0l-4.512 2.578A1 1 0 0 1 5 20V5a2 2 0 0 1 2-2z",key:"oz39mx"}]]);var d=a.i(816797),e=a.i(699674),f=a.i(81396),g=a.i(775313);a.i(974936);var h=a.i(116979),i=a.i(290006),j=a.i(654461),k=a.i(867561),l=a.i(25668),m=a.i(131033),n=a.i(824576),o=a.i(487433),p=a.i(561238),q=a.i(692);function r({count:a}){return a<=0?null:(0,b.jsx)("span",{className:"grid h-5 min-w-5 place-items-center rounded-full bg-primary px-1 text-xs font-semibold text-primary-foreground",children:a})}function s({servers:a,dms:c,loading:f,onOpenChannel:g,onOpenForumThread:h,onOpenDm:j}){let k=0===a.length&&0===c.length;return(0,b.jsxs)("div",{className:"h-full overflow-y-auto thin-scrollbar p-3",children:[f&&k&&(0,b.jsx)(w,{}),!f&&k&&(0,b.jsx)(o.EmptyState,{icon:e.Inbox,label:"Caught up"}),c.length>0&&(0,b.jsxs)("div",{className:"mb-3",children:[(0,b.jsx)("div",{className:"px-2 pb-1 text-xs font-semibold text-muted-foreground",children:"Direct Messages"}),c.map(a=>(0,b.jsxs)("button",{onClick:()=>j?.(a.channelId),className:"flex w-full items-center gap-2 rounded-md px-2 py-2 text-left text-sm hover:bg-accent",children:[(0,b.jsx)(m.Avatar,{label:a.otherUserAvatar,seed:a.otherUserId,size:24}),(0,b.jsx)("span",{className:"min-w-0 flex-1 truncate",children:a.otherUserName}),(0,b.jsx)(d.ChevronRight,{className:"size-4 shrink-0 text-muted-foreground"})]},a.channelId))]}),a.map(a=>(0,b.jsxs)("div",{className:"mb-3",children:[(0,b.jsx)("div",{className:"px-2 pb-1 text-xs font-semibold text-muted-foreground",children:a.serverName}),a.channels.map(c=>(0,b.jsxs)("div",{children:[(0,b.jsxs)("button",{onClick:()=>g?.(a.serverId,c.channelId),className:"flex w-full items-center gap-2 rounded-md px-2 py-2 text-left text-sm hover:bg-accent",children:[(0,b.jsx)(i.EntityIcon,{kind:c.type,className:"size-4 shrink-0 text-muted-foreground"}),(0,b.jsx)("span",{className:"min-w-0 flex-1 truncate",children:c.channelName}),(0,b.jsx)(r,{count:c.mentionCount}),(0,b.jsx)(d.ChevronRight,{className:"size-4 shrink-0 text-muted-foreground"})]}),c.children.map(e=>(0,b.jsxs)("button",{"data-testid":q.tid.inboxUnreadChild(e.channelId),onClick:()=>{e.openerMessageId?h(a.serverId,c.channelId,e.channelId,e.openerMessageId):g?.(a.serverId,e.channelId)},className:"flex w-full items-center gap-2 rounded-md py-1.5 pl-8 pr-2 text-left text-sm hover:bg-accent",children:[(0,b.jsx)(i.EntityIcon,{kind:e.type,className:"size-3.5 shrink-0 text-muted-foreground"}),(0,b.jsx)("span",{className:"min-w-0 flex-1 truncate text-muted-foreground",children:e.channelName}),(0,b.jsx)(r,{count:e.mentionCount}),(0,b.jsx)(d.ChevronRight,{className:"size-4 shrink-0 text-muted-foreground"})]},e.channelId))]},c.channelId))]},a.serverId))]})}function t({mentions:a,loading:c,onOpenMention:d,onDeleteMention:i}){return(0,b.jsxs)("div",{className:"h-full overflow-y-auto thin-scrollbar p-3",children:[c&&0===a.length&&(0,b.jsx)(v,{}),!c&&0===a.length&&(0,b.jsx)(o.EmptyState,{icon:e.Inbox,label:"No mentions"}),a.map(a=>(0,b.jsxs)("div",{className:"group flex w-full items-start gap-3 rounded-md p-2 text-left hover:bg-accent",children:[(0,b.jsxs)("button",{onClick:()=>d?.(a),className:"flex min-w-0 flex-1 items-start gap-3 text-left",children:[(0,b.jsx)(m.Avatar,{label:a.m.authorAvatar??"?",seed:a.m.authorId,size:36}),(0,b.jsxs)("div",{className:"min-w-0 flex-1",children:[(0,b.jsxs)("div",{className:"text-sm",children:[(0,b.jsx)("span",{className:"font-medium",children:a.m.authorName})," ",(0,b.jsxs)("span",{className:"text-xs text-muted-foreground",children:["reply"===a.kind?"replied to you":"mentioned you"," in ",a.server," · ",(0,b.jsx)(n.ChannelIcon,{className:"inline h-[1em] w-auto align-[-0.1em]"}),a.channel]})]}),(0,b.jsx)("div",{className:"truncate text-sm text-muted-foreground",children:(0,h.stripInlineMarkup)(a.m.content??"")})]})]}),i&&(0,b.jsxs)(k.DropdownMenu,{children:[(0,b.jsx)(k.DropdownMenuTrigger,{render:(0,b.jsx)("button",{className:"mt-1 grid size-6 shrink-0 place-items-center rounded-md text-muted-foreground opacity-0 hover:bg-accent hover:text-foreground group-hover:opacity-100","aria-label":"More"}),children:(0,b.jsx)(f.MoreHorizontal,{className:"size-4"})}),(0,b.jsx)(k.DropdownMenuContent,{align:"end",sideOffset:4,className:"w-36",children:(0,b.jsxs)(k.DropdownMenuItem,{onClick:()=>i(a.id),children:[(0,b.jsx)(g.Trash2,{className:"size-4"}),"Remove"]})})]})]},a.id))]})}function u({marked:a,loading:d,onOpenMarked:e,onUnmark:i}){return(0,b.jsxs)("div",{className:"h-full overflow-y-auto thin-scrollbar p-3",children:[d&&0===a.length&&(0,b.jsx)(v,{}),!d&&0===a.length&&(0,b.jsx)(o.EmptyState,{icon:c,label:"No marked messages"}),a.map(a=>(0,b.jsxs)("div",{className:"group flex w-full items-start gap-3 rounded-md p-2 text-left hover:bg-accent",children:[(0,b.jsxs)("button",{onClick:()=>e?.(a),className:"flex min-w-0 flex-1 items-start gap-3 text-left",children:[(0,b.jsx)(m.Avatar,{label:a.m.authorAvatar??"?",seed:a.m.authorId,size:36}),(0,b.jsxs)("div",{className:"min-w-0 flex-1",children:[(0,b.jsxs)("div",{className:"text-sm",children:[(0,b.jsx)("span",{className:"font-medium",children:a.m.authorName})," ",(0,b.jsxs)("span",{className:"text-xs text-muted-foreground",children:["in"," ",a.serverId?(0,b.jsxs)(b.Fragment,{children:[a.server," · ",(0,b.jsx)(n.ChannelIcon,{className:"inline h-[1em] w-auto align-[-0.1em]"}),a.channel]}):"DM",a.m.createdAt&&(0,b.jsxs)(b.Fragment,{children:[" · ",(0,p.formatRelativeTime)(a.m.createdAt)]})]})]}),(0,b.jsx)("div",{className:"truncate text-sm text-muted-foreground",children:(0,h.stripInlineMarkup)(a.m.content??"")})]})]}),i&&(0,b.jsxs)(k.DropdownMenu,{children:[(0,b.jsx)(k.DropdownMenuTrigger,{render:(0,b.jsx)("button",{className:"mt-1 grid size-6 shrink-0 place-items-center rounded-md text-muted-foreground opacity-0 hover:bg-accent hover:text-foreground group-hover:opacity-100","aria-label":"More"}),children:(0,b.jsx)(f.MoreHorizontal,{className:"size-4"})}),(0,b.jsx)(k.DropdownMenuContent,{align:"end",sideOffset:4,className:"w-36",children:(0,b.jsxs)(k.DropdownMenuItem,{onClick:()=>i(a.m.id),children:[(0,b.jsx)(g.Trash2,{className:"size-4"}),"Unmark"]})})]})]},a.id))]})}function v(){return(0,b.jsx)("div",{className:"flex flex-col gap-1",children:Array.from({length:4}).map((a,c)=>(0,b.jsxs)("div",{className:"flex items-start gap-3 rounded-md p-2",children:[(0,b.jsx)(l.Skeleton,{className:"size-9 shrink-0 rounded-full"}),(0,b.jsxs)("div",{className:"flex min-w-0 flex-1 flex-col gap-2",children:[(0,b.jsx)(l.Skeleton,{className:"h-3.5 w-2/5 rounded"}),(0,b.jsx)(l.Skeleton,{className:"h-3 w-3/4 rounded"}),(0,b.jsx)(l.Skeleton,{className:"h-3 w-1/4 rounded"})]})]},c))})}function w(){return(0,b.jsx)("div",{className:"flex flex-col gap-3",children:Array.from({length:2}).map((a,c)=>(0,b.jsxs)("div",{children:[(0,b.jsx)("div",{className:"px-2 pb-1",children:(0,b.jsx)(l.Skeleton,{className:"h-3 w-24 rounded"})}),Array.from({length:3}).map((a,c)=>(0,b.jsxs)("div",{className:"flex items-center gap-2 rounded-md px-2 py-2",children:[(0,b.jsx)(l.Skeleton,{className:"size-4 shrink-0 rounded"}),(0,b.jsx)(l.Skeleton,{className:"h-3.5 flex-1 rounded",style:{maxWidth:140+23*c%60}})]},c))]},c))})}a.s(["InboxPopover",0,function({unreads:a,unreadDms:c,mentions:d,marked:f,markedLoading:g,loading:h,onOpenChannel:i,onOpenForumThread:k,onOpenDm:l,onOpenMention:m,onOpenMarked:n,onDeleteMention:o,onUnmark:p,onMarkedTabSelected:q,onMarkAllRead:r}){let v=a.length>0||c.length>0,w=v||d.length>0;return(0,b.jsxs)(j.Tabs,{defaultValue:"unreads",onValueChange:a=>{"marked"===a&&q?.()},className:"flex h-112 flex-col",children:[(0,b.jsxs)("div",{className:"flex items-center gap-2 px-3 pt-4",children:[(0,b.jsx)(e.Inbox,{className:"size-5"}),(0,b.jsx)("h2",{className:"flex-1 text-lg font-semibold",children:"Inbox"}),r&&(0,b.jsx)("button",{onClick:r,disabled:!w,className:"text-xs text-primary hover:underline disabled:cursor-not-allowed disabled:text-muted-foreground disabled:no-underline",children:"Mark all read"})]}),(0,b.jsxs)(j.TabsList,{variant:"line",className:"mt-3 w-full border-b border-border px-3",children:[(0,b.jsx)(j.TabsTrigger,{value:"unreads",children:(0,b.jsxs)("span",{className:"inline-flex items-center gap-2",children:["Unreads",v&&(0,b.jsx)("span",{className:"size-1.5 rounded-full bg-primary"})]})}),(0,b.jsx)(j.TabsTrigger,{value:"mentions",children:(0,b.jsxs)("span",{className:"inline-flex items-center gap-2",children:["Mentions",d.length>0&&(0,b.jsx)("span",{className:"size-1.5 rounded-full bg-primary"})]})}),(0,b.jsx)(j.TabsTrigger,{value:"marked",children:"Marked"})]}),(0,b.jsx)(j.TabsContent,{value:"unreads",className:"min-h-0 flex-1",children:(0,b.jsx)(s,{servers:a,dms:c,loading:h,onOpenChannel:i,onOpenForumThread:k,onOpenDm:l})}),(0,b.jsx)(j.TabsContent,{value:"mentions",className:"min-h-0 flex-1",children:(0,b.jsx)(t,{mentions:d,loading:h,onOpenMention:m,onDeleteMention:o})}),(0,b.jsx)(j.TabsContent,{value:"marked",className:"min-h-0 flex-1",children:(0,b.jsx)(u,{marked:f,loading:g,onOpenMarked:n,onUnmark:p})})]})}],174326)},566260,a=>{"use strict";var b=a.i(659140),c=a.i(448905),d=a.i(464930),e=a.i(360875),f=a.i(808639),g=a.i(938542),h=a.i(525132);function i({label:a,round:c,accent:d,active:e,onClick:f,tooltip:g,testId:j,onboardingTarget:k}){let l=(0,b.jsxs)("div",{className:"group relative flex w-full justify-center","data-onboarding-target":k,children:[(0,b.jsx)("span",{className:["absolute left-0 top-1/2 w-1 -translate-y-1/2 rounded-r-full bg-foreground transition-all duration-150",e?"h-8":"h-0 group-hover:h-5"].join(" ")}),(0,b.jsx)("button",{"data-testid":j,onClick:f,className:["grid size-10 shrink-0 place-items-center transition-all duration-150 focus-visible:ring-2 focus-visible:ring-ring focus-visible:outline-none",c?"rounded-[20px]":"rounded-xl",e?"rounded-2xl bg-primary text-primary-foreground":d?"border border-dashed border-foreground/15 text-muted-foreground hover:border-foreground/30 hover:text-foreground hover:bg-accent hover:rounded-2xl":"bg-secondary text-foreground hover:bg-accent hover:rounded-2xl"].join(" "),children:a})]});return g?(0,b.jsxs)(h.Tooltip,{children:[(0,b.jsx)(h.TooltipTrigger,{render:l}),(0,b.jsx)(h.TooltipContent,{side:"right",sideOffset:8,children:g})]}):l}var j=a.i(692),k=a.i(75118);let l=[.82598,0,0,.82599,194.784,194.424],m=[0,.55,.73,.88,1],n=[0,1.06,.975,1.01,1],o=[1,-.06,.025,-.01,0],p=[s(.2,.8,.2,1),s(.42,0,.58,1),s(.42,0,.58,1),s(0,0,.58,1)];function q(a){let[b,,,c,d,e]=l;return`matrix(${r(1+(b-1)*a)} 0 0 ${r(1+(c-1)*a)} ${r(d*a)} ${r(e*a)})`}function r(a){return String(5e-6>Math.abs(a)?0:Number(a.toFixed(5)))}function s(a,b,c,d){let e=(a,b,c)=>((1-3*c+3*b)*a+(3*c-6*b))*a*a+3*b*a,f=(a,b,c)=>3*(1-3*c+3*b)*a*a+2*(3*c-6*b)*a+3*b;return g=>{let h=g;for(let b=0;b<8;b+=1){let b=f(h,a,c);if(1e-6>Math.abs(b))break;h-=(e(h,a,c)-g)/b}if(h<0||h>1){let b=0,d=1;h=g;for(let f=0;f<12;f+=1)e(h,a,c)<g?b=h:d=h,h=(b+d)/2}return e(h,b,d)}}function t({className:a}){let d,e,f,g=(0,c.useRef)(null),h=(0,c.useRef)(null),i=`alook-logo-${(0,c.useId)().replaceAll(":","")}`;return d=(0,c.useRef)(null),e=(0,c.useRef)(0),f=(0,c.useRef)(!1),(0,c.useEffect)(()=>{let a=g.current,b=h.current,c=a?.parentElement;if(!a||!b||!c)return;let i=[...a.querySelectorAll('[data-part="expression"]')],j=window.matchMedia("(max-width: 639px)"),k=window.matchMedia("(prefers-reduced-motion: reduce)"),l=c.matches(":hover"),s=c===document.activeElement,t=(c,d)=>{for(let a of(e.current=c,b.setAttribute("transform",q(c)),i))a.setAttribute("opacity",r(Math.max(0,Math.min(1,c))));a.dataset.state=d},u=()=>{null!==d.current&&cancelAnimationFrame(d.current),d.current=null},v=()=>(a=>{let b=!j.matches&&a,c=k.matches||j.matches;if(!c&&f.current===b&&null!==d.current)return;f.current=b,u();let g=+!!b;if(c||1e-5>Math.abs(e.current-g))return void t(+!!b,b?"reveal":"default");let h=e.current,i=performance.now(),l=a=>{if(f.current!==b)return;let c=a-i,e=c>=300;t(function(a,b,c){if(c>=300)return+!!a;let d=a?[...n]:[...o];d[0]=b;let e=Math.max(0,c)/300,f=m.length-2;for(let a=0;a<m.length-1;a+=1)if(e<=m[a+1]){f=a;break}let g=m[f],h=m[f+1],i=p[f](Math.max(0,Math.min(1,(e-g)/(h-g))));return d[f]+(d[f+1]-d[f])*i}(b,h,c),e?b?"reveal":"default":"transitioning"),e?d.current=null:d.current=requestAnimationFrame(l)};d.current=requestAnimationFrame(l)})(l||s),w=()=>{l=!0,v()},x=()=>{l=!1,v()},y=()=>{s=!0,v()},z=()=>{s=!1,v()},A=()=>v();return c.addEventListener("pointerenter",w),c.addEventListener("pointerleave",x),c.addEventListener("focus",y),c.addEventListener("blur",z),j.addEventListener("change",A),k.addEventListener("change",A),v(),()=>{u(),c.removeEventListener("pointerenter",w),c.removeEventListener("pointerleave",x),c.removeEventListener("focus",y),c.removeEventListener("blur",z),j.removeEventListener("change",A),k.removeEventListener("change",A)}},[h,g]),(0,b.jsxs)("svg",{ref:g,viewBox:"0 0 1024 1024",fill:"none",role:"img","aria-label":"Alook","data-testid":j.tid.alookLogo,"data-state":"default",className:(0,k.cn)("pointer-events-none select-none",a),children:[(0,b.jsxs)("g",{clipPath:`url(#${i})`,children:[(0,b.jsxs)("g",{"data-face":"red",children:[(0,b.jsx)("path",{d:"M-26.5996 311.221L-39.86 185.057C-55.9935 31.5572 22.3761 -72.3481 148.875 -102.651C194.472 -113.822 206.766 -178.893 309.8 -189.722C482.225 -207.845 613.345 -72.8086 633.015 114.335L646.275 240.499C658.431 356.149 559.924 430.282 328.623 454.592C97.3226 478.903 -14.4443 426.871 -26.5996 311.221Z",fill:"#FE4365"}),(0,b.jsxs)("g",{"data-part":"expression",opacity:"0",children:[(0,b.jsx)("path",{d:"M210.59 140.663C225.106 139.137 234.746 117.66 232.122 92.6914C229.498 67.7233 215.603 48.7195 201.086 50.2452C186.57 51.771 176.93 73.2485 179.554 98.2166C182.178 123.185 196.073 142.189 210.59 140.663Z",fill:"white"}),(0,b.jsx)("path",{d:"M378.808 122.982C393.325 121.457 402.965 99.979 400.341 75.0109C397.717 50.0428 383.822 31.039 369.305 32.5647C354.789 34.0904 345.148 55.5679 347.773 80.536C350.397 105.504 364.292 124.508 378.808 122.982Z",fill:"white"}),(0,b.jsx)("path",{d:"M328.063 167.848C333.26 162.502 341.807 162.382 347.153 167.579C352.499 172.777 352.619 181.324 347.421 186.67C334.382 200.08 319.562 208.689 302.962 210.434C286.361 212.178 270.075 206.839 254.533 196.433C248.337 192.284 246.678 183.899 250.826 177.704C254.974 171.509 263.36 169.849 269.555 173.997C281.456 181.966 291.507 184.489 300.139 183.581C308.771 182.674 318.079 178.117 328.063 167.848Z",fill:"white"})]})]}),(0,b.jsxs)("g",{"data-face":"purple",children:[(0,b.jsx)("path",{d:"M523.747 365.154L550.571 58.5595C556.271 -6.59189 611.194 -38.4735 678.261 -32.6059L1015.52 -3.09997C1082.58 2.76768 1131.14 43.7023 1125.44 108.854L1098.61 415.448C1089.89 515.091 998.635 565.034 797.433 547.431C596.23 529.828 515.03 464.797 523.747 365.154Z",fill:"#8A5A9E"}),(0,b.jsxs)("g",{"data-part":"expression",opacity:"0",children:[(0,b.jsx)("path",{d:"M746.769 191.001C764.76 192.575 780.621 179.267 782.195 161.276C783.769 143.285 770.46 127.424 752.469 125.85C734.478 124.276 718.618 137.585 717.044 155.576C715.47 173.567 728.778 189.427 746.769 191.001Z",fill:"white"}),(0,b.jsx)("path",{d:"M900.067 204.413C918.058 205.987 933.918 192.679 935.492 174.688C937.066 156.697 923.758 140.836 905.767 139.262C887.776 137.688 871.915 150.997 870.341 168.988C868.767 186.979 882.076 202.839 900.067 204.413Z",fill:"white"}),(0,b.jsx)("path",{d:"M879.218 239.983C885.568 236.076 893.884 238.055 897.791 244.405C901.699 250.755 899.719 259.07 893.37 262.978C867.707 278.77 841.761 286.237 815.871 283.972C789.981 281.707 765.725 269.847 743.194 249.839C737.62 244.888 737.114 236.355 742.065 230.78C747.016 225.206 755.549 224.7 761.124 229.651C780.399 246.769 799.403 255.428 818.224 257.075C837.045 258.721 857.264 253.493 879.218 239.983Z",fill:"white"})]})]}),(0,b.jsxs)("g",{"data-face":"teal",children:[(0,b.jsx)("path",{d:"M-78.815 606.38L-85.9302 504.628C-93.0454 402.877 -38.9437 347.969 34.4882 325.793C26.946 266.675 72.4141 234.525 120.811 268.632C135.789 214.756 212.103 209.42 232.856 262.501C282.701 219.82 339.34 249.943 336.588 308.076C405.846 323.683 449.748 366.625 456.745 466.681L463.86 568.432C470.382 661.705 389.147 718.51 202.602 731.554C16.0577 744.599 -72.2928 699.652 -78.815 606.38Z",fill:"#45ADA8"}),(0,b.jsxs)("g",{"data-part":"expression",opacity:"0",children:[(0,b.jsx)("path",{d:"M112.83 422.564C129.98 421.365 145.457 430.644 158.934 444.695C164.133 450.116 163.953 458.725 158.532 463.924C153.111 469.123 144.502 468.944 139.303 463.523C128.271 452.021 120.188 449.315 114.727 449.697C109.266 450.079 101.638 453.884 92.3142 466.809C87.92 472.9 79.4196 474.276 73.3281 469.882C67.2366 465.488 65.8599 456.988 70.254 450.896C81.644 435.107 95.6792 423.763 112.83 422.564ZM248.498 413.077C265.649 411.878 281.126 421.157 294.603 435.208C299.802 440.629 299.621 449.238 294.201 454.437C288.78 459.636 280.171 459.457 274.972 454.036C263.94 442.534 255.857 439.828 250.396 440.21C244.935 440.592 237.307 444.397 227.983 457.322C223.589 463.414 215.088 464.789 208.997 460.395C202.905 456.001 201.529 447.501 205.923 441.409C217.313 425.62 231.348 414.276 248.498 413.077Z",fill:"black"}),(0,b.jsx)("path",{d:"M237.886 492.175C243.232 487.591 251.282 488.21 255.865 493.556C260.449 498.901 259.83 506.951 254.484 511.535C234.167 528.953 212.389 539.153 189.261 540.77C166.134 542.387 143.149 535.318 120.604 520.896C114.673 517.102 112.94 509.216 116.734 503.285C120.529 497.353 128.415 495.62 134.346 499.415C153.427 511.621 171.04 516.482 187.483 515.332C203.925 514.182 220.69 506.917 237.886 492.175Z",fill:"black"})]})]}),(0,b.jsxs)("g",{"data-face":"blue",children:[(0,b.jsx)("path",{d:"M-109.988 949.35L-99.7556 851.999C-85.7718 718.952 24.7154 635.419 172.106 637.787C331.026 639.726 436.163 747.563 419.451 906.57L409.219 1003.92C399.839 1093.16 313.597 1133.31 135.12 1114.55C-43.357 1095.79 -119.367 1038.59 -109.988 949.35Z",fill:"#6A8CAF"}),(0,b.jsxs)("g",{"data-part":"expression",opacity:"0",children:[(0,b.jsx)("path",{d:"M96.9934 852.993C113.123 854.688 127.573 842.987 129.268 826.857C130.964 810.728 119.262 796.278 103.133 794.582C87.0029 792.887 72.5529 804.588 70.8576 820.718C69.1623 836.848 80.8637 851.298 96.9934 852.993Z",fill:"black"}),(0,b.jsx)("path",{d:"M254.259 830.894C259.753 826.445 267.814 827.292 272.263 832.786C276.711 838.28 275.864 846.339 270.371 850.788C256.884 861.71 242.205 868.002 226.821 866.385C211.437 864.768 198.388 855.562 187.467 842.075C183.018 836.581 183.865 828.521 189.359 824.072C194.853 819.623 202.913 820.471 207.361 825.964C215.8 836.385 223.247 840.269 229.497 840.926C235.747 841.582 243.839 839.332 254.259 830.894Z",fill:"black"}),(0,b.jsx)("path",{d:"M88.7148 884.932C130.907 930.924 177.419 935.813 228.252 899.598C219.15 944.573 193.506 964.844 151.321 960.41C109.135 955.977 88.2666 930.817 88.7148 884.932Z",fill:"black"})]})]}),(0,b.jsxs)("g",{ref:h,"data-face":"orange","data-motion-layer":"foreground",transform:q(0),children:[(0,b.jsx)("path",{d:"M73.3744 799.986L80.287 602.034C88.6974 361.193 232.448 217.568 434.621 198.202C507.549 190.84 540.698 92.9006 702.358 98.5459C972.892 107.993 1146.28 345.273 1136.03 638.902L1129.12 836.853C1122.78 1018.31 954.364 1111.52 591.453 1098.85C228.541 1086.18 67.0378 981.442 73.3744 799.986Z",fill:"#FF9915"}),(0,b.jsx)("path",{d:"M499.787 535.435C538.186 535.435 569.315 505.031 569.315 467.525C569.315 430.019 538.186 399.614 499.787 399.614C461.388 399.614 430.26 430.019 430.26 467.525C430.26 505.031 461.388 535.435 499.787 535.435Z",fill:"white"}),(0,b.jsx)("path",{d:"M522.424 513.445C540.641 513.445 555.409 498.677 555.409 480.46C555.409 462.243 540.641 447.475 522.424 447.475C504.207 447.475 489.439 462.243 489.439 480.46C489.439 498.677 504.207 513.445 522.424 513.445Z",fill:"black"}),(0,b.jsx)("path",{d:"M758.494 535.435C796.893 535.435 828.021 505.031 828.021 467.525C828.021 430.019 796.893 399.614 758.494 399.614C720.095 399.614 688.966 430.019 688.966 467.525C688.966 505.031 720.095 535.435 758.494 535.435Z",fill:"white"}),(0,b.jsx)("path",{d:"M781.131 513.445C799.348 513.445 814.116 498.677 814.116 480.46C814.116 462.243 799.348 447.475 781.131 447.475C762.914 447.475 748.146 462.243 748.146 480.46C748.146 498.677 762.914 513.445 781.131 513.445Z",fill:"black"}),(0,b.jsx)("path",{d:"M711.48 571.1C722.145 562.995 737.361 565.07 745.466 575.735C753.571 586.399 751.496 601.615 740.832 609.72C680.61 655.489 608.609 669.247 527.369 652.999C514.235 650.372 505.716 637.594 508.343 624.459C510.971 611.325 523.748 602.806 536.883 605.433C606.555 619.368 663.908 607.255 711.48 571.1Z",fill:"black"})]})]}),(0,b.jsx)("defs",{children:(0,b.jsx)("clipPath",{id:i,children:(0,b.jsx)("rect",{width:"1024",height:"1024",rx:"236",fill:"white"})})})]})}var u=a.i(25668),v=a.i(823065),w=a.i(764190);function x({active:a}){return(0,b.jsx)("span",{className:["absolute left-0 top-1/2 w-1 -translate-y-1/2 rounded-r-full bg-foreground transition-all duration-150",a?"h-10":"h-0 group-hover:h-5"].join(" ")})}var y=a.i(22902),z=a.i(881025);a.i(735132);var A=a.i(447560);let B=(0,c.memo)(function({server:a,active:d,onClick:e,onLeave:g,onOpenSettings:i,onOpenInvitePopover:k,onCreateFolder:l,groupTarget:m,inFolder:n,dragging:o}){let{attributes:p,listeners:q,setNodeRef:r,transform:s,transition:t,isDragging:u,isOver:B,activeIndex:C,index:D}=(0,f.useSortable)({id:a.id}),E={transform:v.CSS.Transform.toString(s),transition:t,opacity:o?.3:1,zIndex:u?10:void 0},[F,G]=(0,c.useState)(!1),[H,I]=(0,c.useState)(!1),J=H?void 0:()=>I(!0),K=(0,b.jsxs)("div",{ref:r,style:E,className:"group relative flex w-full justify-center",onPointerEnter:J,onFocusCapture:J,onKeyDownCapture:J,children:[B&&!u&&!o&&(0,b.jsx)("div",{className:`pointer-events-none absolute inset-x-3 z-10 h-0.5 rounded-full bg-primary ${"top"==(-1!==C&&C<D?"bottom":"top")?"-top-1":"-bottom-1"}`}),(0,b.jsx)(x,{active:d}),(0,b.jsxs)("div",{className:["relative size-10 transition-all duration-150",m?"scale-110 rounded-xl ring-2 ring-primary":"",u?"rounded-xl border-2 border-dashed border-muted-foreground/40":""].join(" "),children:[(0,b.jsx)("button",{"data-testid":j.tid.serverIcon(a.id),onClick:d?void 0:e,...p,...q,className:["relative grid size-10 touch-none place-items-center overflow-hidden font-brand text-xl font-bold transition-all duration-150 active:cursor-grabbing",d?"cursor-default rounded-xl":"cursor-pointer rounded-[18px] hover:rounded-xl",a.icon?d?"bg-primary text-primary-foreground":"bg-card hover:bg-primary hover:text-primary-foreground":"text-white [text-shadow:0_1px_2px_rgb(0_0_0/0.35)] hover:brightness-110"].join(" "),children:a.icon?(0,b.jsx)("img",{src:a.icon,alt:a.name,className:"size-full object-cover"}):(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)(A.SeededBackdrop,{seed:a.id}),(0,b.jsx)("span",{className:"relative -translate-x-0.5 [-webkit-text-stroke:0.5px_currentColor]",children:a.initial})]})}),a.mentions>0&&(0,b.jsx)("span",{"data-testid":j.tid.railUnreadBadge(a.id),className:"pointer-events-none absolute -bottom-1 -right-1 grid h-5 min-w-5 place-items-center rounded-full bg-primary px-1 text-[11px] font-bold text-primary-foreground ring-2 ring-(--d-rail)",children:(0,b.jsx)(z.NumberTicker,{value:a.mentions})})]})]}),L=H?(0,b.jsxs)(w.ContextMenu,{children:[(0,b.jsx)(w.ContextMenuTrigger,{render:K}),(0,b.jsxs)(w.ContextMenuContent,{className:"w-52",children:[(0,b.jsx)("div",{className:"truncate px-2 py-1 text-xs font-semibold text-muted-foreground",children:a.name}),k&&(0,b.jsx)(w.ContextMenuItem,{onClick:k,children:"Invite to Server"}),!n&&l&&(0,b.jsx)(w.ContextMenuItem,{onClick:l,children:"Create group"}),(0,b.jsx)(w.ContextMenuItem,{onClick:i,children:"Server settings"}),!a.isOwner&&!n&&(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)(w.ContextMenuSeparator,{}),(0,b.jsx)(w.ContextMenuItem,{onClick:()=>G(!0),className:"text-destructive data-highlighted:bg-destructive/10 data-highlighted:text-destructive",children:"Leave server"})]})]})]}):K;return(0,b.jsxs)(b.Fragment,{children:[(0,b.jsxs)(h.Tooltip,{children:[(0,b.jsx)(h.TooltipTrigger,{render:(0,b.jsx)("span",{className:"flex w-full justify-center"}),children:L}),(0,b.jsx)(h.TooltipContent,{side:"right",sideOffset:8,children:a.name})]}),H&&(0,b.jsx)(y.ConfirmDialog,{open:F,onOpenChange:G,title:`Leave ${a.name}?`,description:"You won't see this server's channels anymore, and you'll need a new invite to come back.",confirmLabel:"Leave server",confirmVariant:"destructive",onConfirm:()=>{G(!1),g?.()}})]})},function(a,b){let c=a.server,d=b.server;return c.id===d.id&&c.name===d.name&&c.initial===d.initial&&c.icon===d.icon&&c.mentions===d.mentions&&c.isOwner===d.isOwner&&a.active===b.active&&a.groupTarget===b.groupTarget&&a.inFolder===b.inFolder&&a.dragging===b.dragging&&!!a.onLeave==!!b.onLeave&&!!a.onOpenSettings==!!b.onOpenSettings&&!!a.onOpenInvitePopover==!!b.onOpenInvitePopover&&!!a.onCreateFolder==!!b.onCreateFolder});function C({sortableId:a,open:c,onToggle:d,activeId:e,folderServers:g,onUngroup:i,dragging:j}){let{attributes:k,listeners:l,setNodeRef:m,transform:n,transition:o,isDragging:p,isOver:q,activeIndex:r,index:s}=(0,f.useSortable)({id:a}),t={transform:v.CSS.Transform.toString(n),transition:o,opacity:j?.3:1,zIndex:p?10:void 0};return(0,b.jsxs)(h.Tooltip,{children:[(0,b.jsx)(h.TooltipTrigger,{render:(0,b.jsx)("span",{className:"flex w-full justify-center"}),children:(0,b.jsxs)(w.ContextMenu,{children:[(0,b.jsxs)(w.ContextMenuTrigger,{render:(0,b.jsx)("div",{ref:m,style:t,className:"group relative flex w-full justify-center"}),children:[q&&!p&&!j&&(0,b.jsx)("div",{className:`pointer-events-none absolute inset-x-3 z-10 h-0.5 rounded-full bg-primary ${"top"==(-1!==r&&r<s?"bottom":"top")?"-top-1":"-bottom-1"}`}),(0,b.jsx)(x,{active:!c&&g.some(a=>a.id===e)}),(0,b.jsx)("button",{onClick:d,...k,...l,className:["grid size-10 cursor-pointer touch-none grid-cols-2 gap-1 p-2 transition-all duration-150 active:cursor-grabbing",c?"rounded-xl bg-primary/15":"rounded-[18px] bg-accent hover:rounded-xl hover:bg-primary/20"].join(" "),children:Array.from({length:4}).map((a,c)=>{let d=g[c];return d?(0,b.jsx)("span",{className:["relative grid aspect-square place-items-center overflow-hidden rounded-sm text-[7px] font-semibold",d.icon?"bg-card text-muted-foreground":"text-white [text-shadow:0_1px_1px_rgb(0_0_0/0.35)]"].join(" "),children:d.icon?(0,b.jsx)("img",{src:d.icon,alt:d.name,className:"size-full object-cover"}):(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)(A.SeededBackdrop,{seed:d.id}),(0,b.jsx)("span",{className:"relative",children:d.initial})]})},d.id):(0,b.jsx)("span",{className:"aspect-square rounded-sm bg-card/50"},c)})})]}),(0,b.jsx)(w.ContextMenuContent,{className:"w-52",children:(0,b.jsx)(w.ContextMenuItem,{onClick:i,children:"Ungroup"})})]})}),(0,b.jsx)(h.TooltipContent,{side:"right",sideOffset:8,children:"Group"})]})}let D=(0,a.i(36247).default)("image-plus",[["path",{d:"M16 5h6",key:"1vod17"}],["path",{d:"M19 2v6",key:"4bpg5p"}],["path",{d:"M21 11.5V19a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h7.5",key:"1ue2ih"}],["path",{d:"m21 15-3.086-3.086a2 2 0 0 0-2.828 0L6 21",key:"1xmnt7"}],["circle",{cx:"9",cy:"9",r:"2",key:"af1f0g"}]]);var E=a.i(635153),F=a.i(732254),G=a.i(66957),H=a.i(166281),I=a.i(624812),J=a.i(844411),K=a.i(131731),L=a.i(525743);function M({onClose:a,onCreateServer:d}){let[e,f]=(0,c.useState)(""),[g,h]=(0,c.useState)(null),[i,k]=(0,c.useState)(null),[l,m]=(0,c.useState)(null),n=(0,c.useRef)(null),o=(0,c.useRef)(null),p=(0,c.useRef)(null),q=(0,c.useRef)(1),r=(0,c.useRef)({dialog:null,avatar:null}),s=`new-server-${(0,c.useId)()}`,t=(0,I.previewSlug)(e),u=e.trim()?(0,G.avatarInitial)(e):null,v=()=>{t.slug&&(d?.(e.trim(),g??void 0),a())};return(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)(J.CreateDialogShell,{onClose:a,title:"Create a server",footer:(0,b.jsx)(F.Button,{size:"sm","data-testid":j.tid.createServerSubmit,disabled:!t.slug,onClick:v,children:"Create server"}),children:(0,b.jsx)("div",{className:"px-5 pb-1",children:(0,b.jsxs)("div",{className:"flex items-center gap-4",children:[(0,b.jsx)("input",{ref:n,type:"file",accept:"image/png,image/jpeg,image/webp",className:"hidden",onChange:a=>{let b=a.target.files?.[0];if(a.target.value="",!b)return;let c=(0,H.validateIconSourceFile)(b);c.ok?m({src:URL.createObjectURL(b),fileName:b.name}):E.toast.error(c.error)}}),(0,b.jsxs)("button",{ref:p,type:"button",onClick:()=>n.current?.click(),"aria-label":"Upload server icon",className:"group relative grid size-16 shrink-0 place-items-center overflow-hidden rounded-xl text-white ring-1 ring-border/40 outline-none transition-[box-shadow,filter] hover:brightness-105 focus-visible:ring-2 focus-visible:ring-ring [text-shadow:0_1px_2px_rgb(0_0_0/0.35)]",children:[i?(0,b.jsx)("img",{src:i,alt:"",className:"size-full object-cover"}):(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)(A.SeededBackdrop,{seed:s}),u?(0,b.jsx)("span",{className:"relative -translate-x-0.5 font-brand text-[2rem] font-bold leading-none [-webkit-text-stroke:0.5px_currentColor]",children:u}):(0,b.jsx)(D,{className:"relative size-5 opacity-70 drop-shadow-sm"})]}),(0,b.jsx)("span",{className:"absolute inset-0 grid place-items-center bg-black/20 opacity-0 transition-opacity group-hover:opacity-100 group-focus-visible:opacity-100",children:(0,b.jsx)(D,{className:"size-4 drop-shadow-sm"})})]}),(0,b.jsxs)("div",{className:"min-w-0 flex-1",children:[(0,b.jsx)("input",{ref:o,value:e,onChange:a=>{var b;let c;return f(b=a.target.value),void((c=o.current)&&b!==e&&(q.current=1===q.current?-1:1,r.current=function(a,b,c,d){if(window.matchMedia("(prefers-reduced-motion: reduce)").matches)return d;let e=a.closest("[role='dialog']");return e&&"function"==typeof e.animate?(d.dialog?.cancel(),d.avatar?.cancel(),{dialog:e.animate([{marginLeft:"0px",marginTop:"0px",scale:"1"},{marginLeft:`${1.75*c}px`,marginTop:"0.5px",scale:"0.994",offset:.24},{marginLeft:`${-.8*c}px`,marginTop:"-0.75px",scale:"1.003",offset:.58},{marginLeft:"0px",marginTop:"0px",scale:"1"}],{duration:140,easing:"cubic-bezier(.2,.8,.2,1)"}),avatar:b?.animate([{scale:"1",rotate:"0deg"},{scale:"0.92",rotate:`${-1.5*c}deg`,offset:.24},{scale:"1.07",rotate:`${.8*c}deg`,offset:.62},{scale:"1",rotate:"0deg"}],{duration:170,easing:"cubic-bezier(.2,.8,.2,1)"})??null}):d}(c,p.current,q.current,r.current)))},onKeyDown:a=>{"Enter"!==a.key||a.nativeEvent.isComposing||v()},placeholder:"My community",autoFocus:!0,"aria-label":"Server name",className:"w-full border-0 bg-transparent p-0 text-[26px] font-medium leading-tight tracking-tight shadow-none outline-none placeholder:font-normal placeholder:text-muted-foreground/35 focus-visible:ring-0"}),(0,b.jsx)(L.SlugHint,{...t})]})]})})}),l&&(0,b.jsx)(K.ImageCropDialog,{imageSrc:l.src,originalFileName:l.fileName,maskShape:"square",onCropped:a=>{h(a),k(b=>(b&&URL.revokeObjectURL(b),URL.createObjectURL(a))),URL.revokeObjectURL(l.src),m(null)},onCancel:()=>{URL.revokeObjectURL(l.src),m(null)}})]})}let N="folder:";function O(a){return a.startsWith(N)}function P(a){return a.slice(N.length)}var Q=a.i(411731);let R=(0,c.memo)(function({servers:a,folders:k,activeServerId:l,serversLoading:m,setMobileZone:n,view:o,bottomInset:p,onHome:q,onServer:r,onServerNavigate:s,onCreateServer:u,onLeaveServer:v,onOpenSettings:w,onOpenInvitePopover:x,onUngroupFolder:y,onReorderRail:z,onReorderFolders:D,onFolderItemsChange:E,onDragCreateFolder:F}){let{visibleItems:G,sortableIds:H,openFolders:I,toggleFolder:J,onDragStart:K,onDragOver:L,onDragEnd:R,groupTarget:T}=function(a,b,d){let e=(0,c.useRef)(new Set),[g,h]=(0,c.useState)(()=>{let c;return c=new Set(b.flatMap(a=>a.servers.map(a=>a.id))),[...a.filter(a=>!c.has(a)),...[...b].sort((a,b)=>a.position-b.position).map(a=>{var b;return b=a.id,`${N}${b}`})]}),[i,j]=(0,c.useState)(new Set),[k,l]=(0,c.useState)(null),m=(0,c.useRef)(!1);(0,c.useEffect)(()=>{if(!m.current){m.current=!0;try{let a=sessionStorage.getItem("rail-open-folders");if(a){let b=JSON.parse(a);b.length>0&&j(new Set(b))}}catch{}return}sessionStorage.setItem("rail-open-folders",JSON.stringify([...i]))},[i]);let n=(0,c.useRef)(null),o=(0,c.useRef)(null),p=(0,c.useRef)(null);(0,c.useEffect)(()=>{p.current=k},[k]);let q=(0,c.useCallback)(()=>{n.current&&(clearTimeout(n.current),n.current=null),o.current=null},[]),[r,s]=(0,c.useState)(()=>{let a=new Map;for(let c of b)a.set(c.id,c.servers.map(a=>a.id));return a}),t=(0,c.useRef)(g);(0,c.useEffect)(()=>{t.current=g},[g]);let u=(0,c.useRef)(r);(0,c.useEffect)(()=>{u.current=r},[r]);let v=(0,c.useRef)(a),w=(0,c.useRef)(b);(0,c.useEffect)(()=>{let c=v.current,d=w.current;v.current=a,w.current=b;let f=new Set(b.flatMap(a=>a.servers.map(a=>a.id)));e.current=f;let g=c.join(","),i=a.join(","),j=d.map(a=>a.id).join(","),k=b.map(a=>a.id).join(",");(g!==i||j!==k)&&h(c=>{let d=new Set([...new Set(a.filter(a=>!f.has(a))),...new Set(b.map(a=>{var b;return b=a.id,`${N}${b}`}))]),e=c.filter(a=>d.has(a)),g=new Set(e);return[...e,...[...d].filter(a=>!g.has(a))]}),(j!==k||d.some((a,c)=>{let d=b[c];return!d||a.servers.map(a=>a.id).join(",")!==d.servers.map(a=>a.id).join(",")}))&&s(a=>{let c=new Map(a);for(let a of b){let b=a.servers.map(a=>a.id),d=c.get(a.id);if(d){let e=new Set(b),f=d.filter(a=>e.has(a)),g=new Set(f),h=b.filter(a=>!g.has(a));c.set(a.id,[...f,...h])}else c.set(a.id,b)}let d=new Set(b.map(a=>a.id));for(let a of c.keys())d.has(a)||c.delete(a);return c})},[a,b]);let x=(0,c.useCallback)(a=>{for(let[b,c]of u.current)if(c.includes(a))return b;return null},[]),[y,z]=(0,c.useState)(null),A=(0,c.useRef)([]),B=(0,c.useRef)(new Map),C=(0,c.useCallback)(()=>{let a=t.current,b=a.filter(a=>!O(a)),c=a.filter(a=>O(a)).map(P);for(let[a,e]of(b.join(",")!==A.current.join(",")&&(A.current=b,d?.onReorderRail?.(b)),c.length>0&&d?.onReorderFolders?.(c),u.current)){let b=B.current.get(a);b&&b.join(",")===e.join(",")||(B.current.set(a,e),d?.onFolderItemsChange?.(a,e))}},[]),D=[],E=new Set;for(let a of g)if(!E.has(a)&&(E.add(a),D.push(a),O(a)&&i.has(P(a)))){let b=P(a);for(let a of r.get(b)??[])E.has(a)||(E.add(a),D.push(a))}return{visibleItems:D,sortableIds:D,openFolders:i,toggleFolder:(0,c.useCallback)(a=>{j(b=>{let c=new Set(b);return c.has(a)?c.delete(a):c.add(a),c})},[]),folderOrders:r,onDragStart:a=>{let b=String(a.active.id);O(b)&&i.has(P(b))&&(z(P(b)),j(a=>{let c=new Set(a);return c.delete(P(b)),c}))},onDragOver:a=>{let{active:b,over:c}=a;if(!c){q(),l(null);return}let d=String(b.id),e=String(c.id);if(d===e){q(),l(null);return}let f=t.current.includes(d),g=t.current.includes(e),i=x(d),j=x(e);if(f&&!O(d)&&j){let a=t.current.filter(a=>a!==d);t.current=a,h(a),s(a=>{let b=new Map(a),c=[...b.get(j)??[]];if(!c.includes(d)){let a=c.indexOf(e);c.splice(a>=0?a:c.length,0,d)}return b.set(j,c),b}),u.current=new Map(u.current).set(j,[...u.current.get(j)??[],d]),q(),l(null);return}if(i&&g&&!O(e)){s(a=>{let b=new Map(a);return b.set(i,(b.get(i)??[]).filter(a=>a!==d)),b});let a=[...t.current];if(!a.includes(d)){let b=a.indexOf(e);a.splice(b>=0?b:a.length,0,d)}t.current=a,h(a),q(),l(null);return}if(f&&!O(d)&&O(e)){let a=P(e),b=t.current.filter(a=>a!==d);t.current=b,h(b),s(b=>{let c=new Map(b),e=[...c.get(a)??[]];return e.includes(d)||e.push(d),c.set(a,e),c}),q(),l(null);return}if(f&&g&&!O(d)&&!O(e)){if(o.current===e)return;q(),l(null),o.current=e,n.current=setTimeout(()=>{l(e),p.current=e},300);return}q(),k&&l(null)},onDragEnd:a=>{let{active:b,over:c}=a;q();let e=p.current;if(l(null),y&&(j(a=>new Set(a).add(y)),z(null)),!c||b.id===c.id)return void C();let g=String(b.id),i=String(c.id);if(e&&e===i&&d?.onCreateFolder)return void d.onCreateFolder(g,i);let k=t.current.includes(g),m=t.current.includes(i);if(k&&m){let a=t.current.indexOf(g),b=t.current.indexOf(i);if(-1!==a&&-1!==b){let c=(0,f.arrayMove)(t.current,a,b);t.current=c,h(c)}}let n=x(g),o=x(i);n&&n===o&&s(a=>{let b=new Map(a),c=[...b.get(n)??[]],d=c.indexOf(g),e=c.indexOf(i);return -1!==d&&-1!==e&&b.set(n,(0,f.arrayMove)(c,d,e)),b}),C()},groupTarget:k}}((0,c.useMemo)(()=>a.map(a=>a.id),[a]),k,{onReorderRail:z,onReorderFolders:D,onFolderItemsChange:E,onCreateFolder:F}),[U,V]=(0,c.useState)(null),W=l??a.find(a=>a.active)?.id??"",[X,Y]=(0,c.useState)(W);(0,c.useEffect)(()=>{W&&Y(W)},[W]);let[Z,$]=(0,c.useState)(!1),_=(0,e.useSensors)((0,e.useSensor)(e.PointerSensor,{activationConstraint:{distance:5}})),aa=a=>{Y(a),r(),s?.(a),n?.("nav")},ab=(0,c.useMemo)(()=>new Map(a.map(a=>[a.id,a])),[a]),ac=(0,c.useMemo)(()=>new Map(k.map(a=>[a.id,a])),[k]),ad=(0,c.useMemo)(()=>{let a=new Map;for(let b of k)for(let c of b.servers)a.set(c.id,{id:c.id,name:c.name,initial:c.initial,icon:c.icon??null});return a},[k]);return(0,b.jsxs)("nav",{"aria-label":"Server navigation",className:"flex w-14 shrink-0 flex-col items-center gap-2 pt-2 pb-2 overflow-y-auto overflow-x-clip thin-scrollbar",style:p?{paddingBottom:p}:void 0,children:[(0,b.jsxs)(h.Tooltip,{children:[(0,b.jsxs)(h.TooltipTrigger,{render:(0,b.jsx)("div",{className:"group relative flex w-full justify-center"}),children:[(0,b.jsx)("span",{className:["absolute left-0 top-1/2 w-1 -translate-y-1/2 rounded-r-full bg-foreground transition-all duration-150","dm"===o?"h-8":"h-0 group-hover:h-5"].join(" ")}),(0,b.jsx)("button",{onClick:q,"aria-label":"Home","data-testid":j.tid.homeButton,className:"group/alook grid size-10 shrink-0 place-items-center rounded-[20px] focus-visible:ring-2 focus-visible:ring-ring focus-visible:outline-none",children:(0,b.jsx)(t,{className:"size-10"})})]}),(0,b.jsx)(h.TooltipContent,{side:"right",sideOffset:8,children:"Home"})]}),(0,b.jsx)("div",{className:"w-6 border-t border-border/50 my-1"}),m&&0===a.length&&0===k.length?(0,b.jsx)(S,{}):(0,b.jsxs)(e.DndContext,{id:"d-rail",sensors:_,collisionDetection:e.closestCenter,modifiers:[g.restrictToVerticalAxis],onDragStart:a=>{V(String(a.active.id)),K(a)},onDragOver:L,onDragEnd:a=>{R(a),V(null)},onDragCancel:()=>V(null),children:[(0,b.jsx)(f.SortableContext,{items:H,strategy:f.verticalListSortingStrategy,children:(0,b.jsx)("div",{className:"flex w-full flex-col items-center gap-2",children:(()=>{let a=[],c=0;for(;c<G.length;){let d=G[c];if(O(d)){let e=P(d),f=ac.get(e);if(!f){c++;continue}let g=I.has(e);if(a.push((0,b.jsx)(C,{folderId:e,sortableId:d,open:g,onToggle:()=>J(e),activeId:X,folderServers:f.servers,onUngroup:()=>y?.(e),dragging:U===d},d)),g){let d=[],f=c+1;for(;f<G.length&&!O(G[f])&&ad.has(G[f]);){let a=G[f],c=ad.get(a);d.push((0,b.jsx)(B,{server:{id:c.id,name:c.name,initial:c.initial,icon:c.icon,active:!1,mentions:0,isOwner:!1},active:"dm"!==o&&X===a,onClick:()=>aa(a),onOpenSettings:()=>w?.(a),onOpenInvitePopover:x?()=>x(a):void 0,inFolder:!0,dragging:U===a},a)),f++}d.length>0&&a.push((0,b.jsxs)("div",{className:"relative flex w-full flex-col items-center gap-2 py-1",children:[(0,b.jsx)("span",{className:"pointer-events-none absolute inset-y-0 left-1/2 w-12 -translate-x-1/2 rounded-[20px] bg-primary/10"}),d]},`fi-${e}`)),c=f}else c++}else{let e=ab.get(d);e&&a.push((0,b.jsx)(B,{server:e,active:"dm"!==o&&e.active,onClick:()=>aa(d),onLeave:()=>v?.(d),onOpenSettings:()=>w?.(d),onOpenInvitePopover:x?()=>x(d):void 0,onCreateFolder:k.length<10?()=>F?.(d,d):void 0,groupTarget:T===d,dragging:U===d},d)),c++}}return a})()})}),(0,b.jsx)(e.DragOverlay,{dropAnimation:null,children:U&&(()=>{if(O(U)){let a=P(U),c=ac.get(a);return c?(0,b.jsx)("div",{className:"grid size-10 grid-cols-2 gap-1 rounded-xl bg-accent p-2 shadow-(--e2)",children:Array.from({length:4}).map((a,d)=>{let e=c.servers[d];return e?(0,b.jsx)("span",{className:["relative grid aspect-square place-items-center overflow-hidden rounded-sm font-brand text-[10px] font-semibold",e.icon?"bg-card text-muted-foreground":"text-white [text-shadow:0_1px_1px_rgb(0_0_0/0.35)]"].join(" "),children:e.icon?(0,b.jsx)("img",{src:e.icon,alt:e.name,className:"size-full object-cover"}):(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)(A.SeededBackdrop,{seed:e.id}),(0,b.jsx)("span",{className:"relative -translate-x-0.5 [-webkit-text-stroke:0.5px_currentColor]",children:e.initial})]})},e.id):(0,b.jsx)("span",{className:"aspect-square rounded-sm bg-card/50"},d)})}):null}let a=ab.get(U)??ad.get(U);if(!a)return null;let c=a.icon;return(0,b.jsx)("div",{className:["relative grid size-10 place-items-center overflow-hidden rounded-xl font-brand text-xl font-bold shadow-(--e2)",c?"bg-secondary text-foreground":"text-white [text-shadow:0_1px_2px_rgb(0_0_0/0.35)]"].join(" "),children:c?(0,b.jsx)("img",{src:c,alt:a.name,className:"size-full object-cover"}):(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)(A.SeededBackdrop,{seed:a.id}),(0,b.jsx)("span",{className:"relative -translate-x-0.5 [-webkit-text-stroke:0.5px_currentColor]",children:a.initial})]})})})()})]}),(0,b.jsx)(i,{label:(0,b.jsx)(d.Plus,{className:"size-6"}),round:!0,accent:!0,tooltip:"Add a Server",testId:j.tid.serverAdd,onboardingTarget:"add-server",onClick:()=>{let a=(0,Q.isCommunityOnboardingStage)("server");$(!0),a&&(0,Q.completeCommunityOnboarding)()}}),Z&&(0,b.jsx)(M,{onClose:()=>$(!1),onCreateServer:(a,b)=>{u?.(a,b)}})]})});function S(){return(0,b.jsx)("div",{className:"flex w-full flex-col items-center gap-2",children:Array.from({length:4}).map((a,c)=>(0,b.jsx)(u.Skeleton,{className:"size-10 rounded-[20px]"},c))})}a.s(["ServerRail",0,R],566260)},23545,a=>{"use strict";var b=a.i(659140),c=a.i(847253),d=a.i(75118);a.s(["Shell",0,function({children:a,className:e}){return(0,b.jsxs)("div",{className:(0,d.cn)("fixed inset-0 flex overflow-hidden font-sans text-sm text-foreground",e),children:[(0,b.jsx)(c.AppBackground,{}),a]})}])},434186,a=>{"use strict";var b=a.i(659140),c=a.i(699674),d=a.i(268963),e=a.i(722393),f=a.i(131033),g=a.i(425712);let h=new Set;function i({user:a,onOpenProfile:j,onEditProfile:k,inbox:l,hasUnread:m,inboxOpen:n,onInboxOpenChange:o}){return(0,b.jsxs)("div",{className:"flex flex-1 items-center gap-2",children:[(0,b.jsx)("button",{onClick:b=>j?.(a.name,b,void 0,a.id),className:"shrink-0 rounded-full focus-visible:ring-2 focus-visible:ring-ring focus-visible:outline-none",children:(0,b.jsx)(f.Avatar,{label:a.avatar,seed:a.id,size:28,presence:(0,g.resolveProfilePresence)(!0,a.id,h),ringColor:"var(--muted)"})}),(0,b.jsx)("button",{onClick:b=>j?.(a.name,b,void 0,a.id),className:"min-w-0 flex-1 text-left rounded focus-visible:ring-2 focus-visible:ring-ring focus-visible:outline-none",children:(0,b.jsx)("div",{className:"truncate text-sm font-medium leading-tight",children:a.name})}),(0,b.jsxs)("div",{className:"flex items-center gap-1",children:[l&&(0,b.jsxs)(e.Popover,{open:n,onOpenChange:o,children:[(0,b.jsxs)(e.PopoverTrigger,{render:(0,b.jsx)("button",{className:"relative grid size-7 place-items-center rounded-lg text-muted-foreground hover:bg-accent hover:text-foreground focus-visible:ring-2 focus-visible:ring-ring focus-visible:outline-none","aria-label":"Inbox"}),children:[(0,b.jsx)(c.Inbox,{className:"size-4"}),m&&(0,b.jsx)("span",{className:"absolute right-1 top-1 size-2 rounded-full bg-primary"})]}),(0,b.jsx)(e.PopoverContent,{side:"top",align:"end",className:"w-90 max-w-[calc(100vw-1rem)] overflow-hidden p-0",children:l})]}),(0,b.jsx)("button",{onClick:k,className:"grid size-7 place-items-center rounded-lg text-muted-foreground hover:bg-accent hover:text-foreground focus-visible:ring-2 focus-visible:ring-ring focus-visible:outline-none","aria-label":"User settings",children:(0,b.jsx)(d.Settings,{className:"size-4"})})]})]})}a.s(["UserBar",0,function({user:a,onOpenProfile:c,onEditProfile:d,inbox:e,hasUnread:f,inboxOpen:g,onInboxOpenChange:h}){return(0,b.jsx)("div",{className:"shrink-0 px-3 pb-3 pt-0",children:(0,b.jsx)("div",{className:"flex h-12 items-center gap-3 rounded-xl bg-muted px-4 ring-1 ring-border/40",children:(0,b.jsx)(i,{user:a,onOpenProfile:c,onEditProfile:d,inbox:e,hasUnread:f,inboxOpen:g,onInboxOpenChange:h})})})}])}];
2
2
 
3
3
  //# sourceMappingURL=src_web_src_components_community_0de05cl._.js.map