@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
@@ -0,0 +1 @@
1
+ (globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,474585,e=>{"use strict";var t=e.i(633940),a=e.i(624806),n=e.i(579848),s=e.i(849050),r=e.i(996718),i=e.i(631956),l=e.i(975719),o=e.i(925565),d=e.i(267760),c=e.i(605686),u=e.i(638535),m=e.i(502440),h=e.i(3136);let p=(0,e.i(130024).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 g=e.i(280767),x=e.i(186339),f=e.i(973733),v=e.i(728886),b=e.i(531342),y=e.i(651186),j=e.i(224950),N=e.i(978913),C=e.i(480776),S=e.i(35246),w=e.i(435652),I=e.i(397004),M=e.i(89164),k=e.i(513166);e.i(954194);var T=e.i(908967),A=e.i(664501);function R({forumChannelId:e,members:a,onSearchMembers:r,onCancel:i,onCreatePost:l}){let[d,c]=(0,n.useState)(""),[u,m]=(0,n.useState)(!1),[h,p]=(0,n.useState)(!1),g=(0,n.useRef)(!1),f=(0,n.useRef)(null),v=(0,A.useUploadFile)(),b=(0,n.useRef)(new Map),y=(0,n.useRef)(crypto.randomUUID()),j=d.trim().length>0&&u,N=(0,n.useCallback)(()=>{h||i()},[h,i]),E=()=>f.current?.focusEditor(),P=async(t,a,n)=>{if(j&&!g.current){g.current=!0,p(!0);try{let r=a??[],i=[];if(r.length>0){let t=await Promise.all(r.map(async t=>{let a=b.current.get(t.file);if(a)return a;let n=await v.mutateAsync({target:{channelId:e},file:t.file,width:t.width,height:t.height});return b.current.set(t.file,n),n}));i=(0,A.zipUploadResultsWithDimensions)(t,r)}try{await l({nonce:y.current,name:d.trim(),content:t,attachments:i.length>0?i:void 0,mentionType:n})}catch(e){(0,s.toastApiError)(e,"Failed to create post");return}b.current.clear(),y.current=crypto.randomUUID(),f.current?.resetAfterSubmit(),c("")}catch(e){(0,s.toastApiError)(e,"Failed to upload attachment")}finally{g.current=!1,p(!1)}}};return(0,t.jsxs)("div",{role:"region","aria-label":"Create post",onKeyDown:e=>{"Escape"!==e.key||e.defaultPrevented||(e.stopPropagation(),N())},className:"flex w-full min-w-0 shrink-0 flex-col border-b border-border px-4 py-3",children:[(0,t.jsxs)("div",{className:"flex items-center gap-2 px-2",children:[(0,t.jsx)("input",{value:d,onChange:e=>c(e.target.value),onKeyDown:e=>(0,k.onEnterSubmit)(E,{onEscape:N})(e),placeholder:"New post",autoFocus:!0,maxLength:T.MAX_CHANNEL_NAME_LENGTH,className:"w-full min-w-0 bg-transparent text-2xl font-semibold outline-none placeholder:text-muted-foreground"}),(0,t.jsx)("button",{type:"button",onClick:N,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,t.jsx)(w.X,{className:"size-5"})})]}),(0,t.jsx)(o.Composer,{sendContract:"deferred",ref:f,mode:"forumThreadBody",hideEmoji:!0,hideAttach:!0,channel:"",context:"channel",members:a,onSearchMembers:r,channelRefCandidates:[],placeholder:"What do you want to discuss?",onDeferredSubmit:(e,t,a)=>{P(e,t,a)},onDirty:m}),(0,t.jsxs)("div",{className:"mt-2 flex items-center gap-3",children:[(0,t.jsxs)(M.DropdownMenu,{children:[(0,t.jsx)(M.DropdownMenuTrigger,{render:(0,t.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,t.jsx)(C.PlusCircle,{className:"size-5"})}),(0,t.jsx)(M.DropdownMenuContent,{side:"top",align:"start",className:"w-44",children:(0,t.jsxs)(M.DropdownMenuItem,{onClick:()=>f.current?.openFilePicker(),children:[(0,t.jsx)(S.Upload,{className:"size-4"})," Upload a File"]})})]}),(0,t.jsxs)("span",{className:"ml-auto flex items-center gap-1 text-xs text-muted-foreground",children:[(0,t.jsx)(I.Kbd,{children:"⇧"}),(0,t.jsx)("span",{children:"+"}),(0,t.jsx)(I.Kbd,{children:"⏎"})]}),(0,t.jsx)(x.Button,{size:"sm",onClick:()=>f.current?.submitNow(),disabled:!j||h,children:h?"Creating…":"Create post"})]})]})}var E=e.i(903477),P=e.i(381153);let F=[8,30,55,95,145,175,205,250,290,330];function O(e){return{"--forum-tag-hue":function(e){let t=5381;for(let a of e)t=(t<<5)+t+a.charCodeAt(0)>>>0;return F[t%F.length]}(e)}}let L="forum-tag-color";var U=e.i(613349);function D({trigger:e,postName:a,current:s,allTags:r,onSave:i,saving:l}){let[o,d]=(0,n.useState)(!1),[c,u]=(0,n.useState)(s),[m,h]=(0,n.useState)("");(0,n.useEffect)(()=>{o||u(s)},[s,o]);let p=[...new Set([...r,...c])].sort();return(0,t.jsxs)(j.Popover,{open:o,onOpenChange:e=>{if(e){u(s),h(""),d(!0);return}d(!1),(c.length!==s.length||c.some((e,t)=>e!==s[t]))&&i(c)},children:[(0,t.jsx)(j.PopoverTrigger,{render:e}),(0,t.jsxs)(j.PopoverContent,{side:"bottom",align:"end",className:"w-64 space-y-3 p-3","data-testid":P.tid.forumTagDialog,"aria-label":`Edit tags for ${a}`,onClick:e=>e.stopPropagation(),children:[(0,t.jsx)("p",{className:"text-[11px] font-medium tracking-[0.12em] text-muted-foreground",children:"TAGS"}),(0,t.jsx)("div",{className:"flex flex-wrap items-center gap-1.5",children:0===p.length?(0,t.jsx)("p",{className:"text-xs text-muted-foreground",children:"No tags yet"}):p.map(e=>{let a=c.includes(e);return(0,t.jsxs)("button",{type:"button",style:O(e),className:(0,U.cn)("inline-flex items-center rounded-lg px-2 py-1 text-xs transition-opacity",L,a?"opacity-100 ring-1 ring-current/20":"opacity-55 hover:opacity-80"),onClick:()=>{u(t=>t.includes(e)?t.filter(t=>t!==e):[...t,e])},children:["#",e,a&&(0,t.jsx)(w.X,{className:"ml-1 size-3"})]},e)})}),(0,t.jsx)(E.Input,{value:m,onChange:e=>h(e.target.value),onKeyDown:(0,k.onEnterSubmit)(()=>{let e=m.trim().toLowerCase();h(""),!e||c.includes(e)||u(t=>[...t,e])}),placeholder:"Add a tag…",className:"h-8 text-sm",disabled:l}),(0,t.jsx)("p",{className:"text-[11px] text-muted-foreground",children:l?"Saving…":"↵ to add · saves on close"})]})]})}var z=e.i(393153),q=e.i(393736),K=e.i(42308);function $({tags:e}){let a=e.slice(0,2),n=e.slice(2);return 0===a.length?null:(0,t.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:e=>e.stopPropagation(),onKeyDown:e=>e.stopPropagation(),children:[a.map(e=>(0,t.jsxs)("span",{className:"max-w-24 truncate",children:["#",e]},e)),n.length>0&&(0,t.jsxs)(j.Popover,{children:[(0,t.jsx)(j.PopoverTrigger,{render:(0,t.jsxs)("button",{type:"button",className:"shrink-0 rounded px-1 py-0.5 hover:bg-accent hover:text-foreground","aria-label":`Show ${n.length} more tags`,onClick:e=>e.stopPropagation(),children:["+",n.length]})}),(0,t.jsx)(j.PopoverContent,{side:"top",align:"start",className:"flex w-52 flex-wrap gap-1.5 p-2",onClick:e=>e.stopPropagation(),children:e.map(e=>(0,t.jsxs)("span",{className:"rounded-md bg-muted px-1.5 py-1 text-xs text-muted-foreground",children:["#",e]},e))})]})]})}function B({forumChannelId:e,members:a,onSearchMembers:s,posts:r,loading:i,tag:l,availableTags:o=[],onTagChange:v,onOpenPost:j,onCreatePost:C,onEditPostTags:S,canEditPostTags:w,savingTagsFor:I,hasMore:M,loadingMore:k,onLoadMore:T,onDeletePost:A,canDeletePost:E,deletingPost:F}){let[H,Q]=(0,n.useState)(!1),[V,W]=(0,n.useState)(null),J=(0,n.useRef)(null),G=(0,n.useRef)(null),X=(0,n.useRef)(null),Y=(0,d.useVirtualizer)({...c.COMMUNITY_VIRTUALIZER_REACT_OPTIONS,count:r.length,getScrollElement:()=>G.current,estimateSize:()=>128,getItemKey:e=>r[e]?.id??e,overscan:5,initialRect:{width:0,height:800}}),Z=o.length>0?o:[...new Set(r.flatMap(e=>e.tags))];(0,n.useLayoutEffect)(()=>{0!==r.length&&X.current!==l&&(X.current=l,Y.scrollToIndex(0,{align:"start"}))},[r.length,l,Y]);let ee=(0,K.useVirtualCursorSentinel)({scrollRef:G,hasMore:M,isFetching:k,onLoad:T,edge:"end"}),et=()=>{Q(!1),queueMicrotask(()=>J.current?.focus())};return(0,t.jsxs)(t.Fragment,{children:[H?(0,t.jsx)(R,{forumChannelId:e,members:a,onSearchMembers:s,onCancel:et,onCreatePost:async e=>{C&&(await C(e),et())}}):(0,t.jsxs)("div",{className:"flex shrink-0 items-center gap-2 border-b border-border px-4 py-2",children:[(0,t.jsx)("div",{className:"flex min-w-0 flex-1 flex-wrap items-center gap-2",children:Z.length>0&&(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)("button",{type:"button",className:(0,U.cn)("shrink-0 rounded-lg px-2.75 py-1 text-[13px] leading-5 transition-colors","All"===l?"bg-accent text-foreground":"text-muted-foreground hover:bg-accent/60 hover:text-foreground"),onClick:()=>v("All"),children:"All"}),Z.map(e=>(0,t.jsx)("button",{type:"button",style:O(e),className:(0,U.cn)("shrink-0 rounded-lg px-2.75 py-1 text-[13px] leading-5 transition-opacity",L,l===e?"opacity-100 ring-1 ring-current/20":"opacity-70 hover:opacity-100"),"data-testid":P.tid.forumTagChip(e),onClick:()=>v(e),children:`#${e}`},e))]})}),(0,t.jsx)("div",{className:"flex shrink-0 items-center gap-1",children:(0,t.jsxs)(x.Button,{size:"sm",ref:J,onClick:()=>Q(!0),children:[(0,t.jsx)(h.Plus,{className:"size-4"})," New Post"]})})]}),(0,t.jsx)("div",{ref:G,role:"main",className:"flex-1 overflow-y-auto thin-scrollbar px-4 py-2",children:i&&0===r.length?(0,t.jsx)(_,{}):0===r.length?(0,t.jsx)(N.EmptyState,{icon:m.ListChevronsUpDown,label:"No posts with this tag yet. Start one with New Post."}):(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(q.VirtualRows,{items:r,virtualizer:Y,itemKey:e=>e.id,renderItem:(e,a)=>{let n=!!S&&(w?.(e)??!1),s=!!A&&(E?.(e)??!1),i=e.participants.filter(t=>t.id!==e.authorId),l=i.slice(0,5),d=Math.max(0,(e.participantCount??i.length+1)-1-l.length);return(0,t.jsxs)("div",{role:"button",tabIndex:0,"data-testid":P.tid.forumThreadCard(e.id),onClick:()=>j(e.id),onKeyDown:t=>{t.target===t.currentTarget&&("Enter"===t.key||" "===t.key)&&(t.preventDefault(),j(e.id))},className:(0,U.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",a===r.length-1&&"border-b-0"),children:[(n||s)&&(0,t.jsxs)("div",{className:"absolute right-3 top-3 z-10 flex items-center gap-1",onClick:e=>e.stopPropagation(),onKeyDown:e=>e.stopPropagation(),children:[n&&(0,t.jsx)(D,{trigger:(0,t.jsx)("button",{type:"button","data-testid":P.tid.forumThreadTagBtn(e.id),onClick:e=>e.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,t.jsx)(p,{className:"size-4"})}),postName:e.name,current:e.tags,allTags:o,saving:I===e.id,onSave:t=>S?.(e.id,t)}),s&&(0,t.jsx)("button",{type:"button","data-testid":P.tid.forumThreadDeleteBtn(e.id),disabled:F===e.id,onClick:t=>{t.stopPropagation(),W(e)},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,t.jsx)(g.Trash2,{className:"size-4"})})]}),(0,t.jsxs)("div",{className:"flex flex-wrap items-baseline gap-1.75 pr-14",children:[(0,t.jsx)("h3",{className:"max-w-full text-[15px] font-semibold leading-tight",children:e.name}),void 0!==e.parentSeq&&(0,t.jsxs)("span",{className:"shrink-0 font-mono text-[13px] font-medium text-muted-foreground",children:[(0,t.jsx)("span",{className:"opacity-60",children:"#"}),e.parentSeq]})]}),(0,t.jsx)("p",{className:"mb-2.25 mt-0.75 line-clamp-2 text-[13.5px] text-muted-foreground",children:e.preview}),(0,t.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,t.jsx)(b.Avatar,{label:e.authorAvatar,seed:e.authorId,size:20}),(0,t.jsx)("span",{className:"shrink-0 font-medium text-foreground",suppressHydrationWarning:!0,children:e.parent.authorName||"Unknown"}),(0,t.jsx)("span",{className:"shrink-0","aria-hidden":!0,children:"·"}),(0,t.jsx)("span",{className:"shrink-0",suppressHydrationWarning:!0,children:(0,f.formatRelativeTime)(e.lastMessageAt)}),e.tags.length>0&&(0,t.jsx)("span",{className:"shrink-0 max-sm:hidden","aria-hidden":!0,children:"·"}),(0,t.jsx)($,{tags:e.tags}),(0,t.jsxs)("span",{className:"ml-auto flex shrink-0 items-center gap-2",children:[i.length>0&&(0,t.jsxs)(y.AvatarGroup,{className:"-space-x-1.25","data-testid":P.tid.forumThreadAvatars(e.id),children:[l.map(e=>(0,t.jsx)(b.Avatar,{label:e.avatar,seed:e.id,size:19,ringColor:"var(--background)"},e.id)),d>0&&(0,t.jsxs)(y.AvatarGroupCount,{className:"size-4.75 text-[10px]",children:["+",d]})]}),(0,t.jsxs)("span",{className:"flex items-center gap-1",children:[(0,t.jsx)(u.MessagesSquare,{className:"size-3.5"})," ",Math.max(0,e.messageCount)]})]})]})]},e.id)}}),(0,t.jsx)("div",{ref:ee,className:"h-px","aria-hidden":!0})]})}),V&&(0,t.jsx)(z.ConfirmDialog,{open:!0,onOpenChange:e=>{e||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),A?.(V)}})]})}function _(){return(0,t.jsx)("div",{className:"flex flex-col",children:Array.from({length:3}).map((e,a)=>(0,t.jsxs)("div",{className:"flex flex-col border-b border-border/50 px-4.5 py-3.5 last:border-b-0",children:[(0,t.jsx)(v.Skeleton,{className:"h-4 w-2/3 rounded"}),(0,t.jsxs)("div",{className:"mb-2.25 mt-1.25 space-y-1.5",children:[(0,t.jsx)(v.Skeleton,{className:"h-3 w-full rounded"}),(0,t.jsx)(v.Skeleton,{className:"h-3 w-4/5 rounded"})]}),(0,t.jsxs)("div",{className:"flex items-center gap-2",children:[(0,t.jsx)(v.Skeleton,{className:"size-5 rounded-full"}),(0,t.jsx)(v.Skeleton,{className:"h-3 w-28 rounded"}),(0,t.jsx)(v.Skeleton,{className:"ml-auto h-3 w-10 rounded"})]})]},a))})}function H(){return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsxs)("div",{className:"flex shrink-0 items-center gap-2 border-b border-border px-4 py-2",children:[(0,t.jsxs)("div",{className:"flex min-w-0 flex-1 flex-wrap items-center gap-2",children:[(0,t.jsx)(v.Skeleton,{className:"h-5 w-10 rounded-full"}),(0,t.jsx)(v.Skeleton,{className:"h-5 w-16 rounded-full"}),(0,t.jsx)(v.Skeleton,{className:"h-5 w-14 rounded-full"}),(0,t.jsx)(v.Skeleton,{className:"h-5 w-20 rounded-full"})]}),(0,t.jsx)("div",{className:"flex shrink-0 items-center gap-1",children:(0,t.jsx)(v.Skeleton,{className:"h-8 w-25 rounded-md"})})]}),(0,t.jsx)("main",{className:"flex-1 overflow-y-auto thin-scrollbar px-4 py-2",children:(0,t.jsx)(_,{})})]})}var Q=e.i(814001),V=e.i(374402);function W(e){let t=(0,Q.useQuery)({queryKey:e?V.communityKeys.channelReadStateSnapshot(e):["community","channel","__none__","read-state-snapshot"],queryFn:async()=>(0,s.apiFetch)(`/api/community/channels/${e}/read-state`),enabled:!!e,staleTime:1/0,gcTime:0,refetchOnMount:"always",refetchOnWindowFocus:!1,refetchOnReconnect:!1,retry:1}),a=(0,n.useRef)(null),r=(0,n.useRef)(e);return r.current!==e&&(a.current=null,r.current=e),(0,n.useEffect)(()=>{null===a.current&&t.data&&(a.current=t.data)},[t.data]),{snapshot:a.current??t.data??null,isFetching:t.isFetching}}var J=e.i(97737),G=e.i(183899),X=e.i(838181),Y=e.i(507892);function Z({channelId:e,serverId:t,isChildChannel:a,snapshotReady:r}){let i=(0,X.useQueryClient)(),l=(0,n.useRef)(null);(0,n.useEffect)(()=>{e&&r&&l.current!==e&&(l.current=e,(0,s.apiFetch)(`/api/community/channels/${e}/read`,{method:"PUT"}).then(()=>{if(i.invalidateQueries({queryKey:V.communityKeys.inbox()}),t&&a?((0,Y.removeForumSidebarUnreadChild)(i,t,e),(0,Y.patchForumSidebarUnreadExact)(i,t,e,!1)):t&&(0,Y.setForumSidebarParentUnreadBase)(i,t,e,!1),!t)return;let n=i.getQueryData(V.communityKeys.servers());n?.servers.some(e=>e.id===t&&e.mentions>0)&&i.invalidateQueries({queryKey:V.communityKeys.servers(),exact:!0})}).catch(()=>{}))},[e,t,a,r,i])}var ee=e.i(850441),et=e.i(960092);function ea({channelId:e,serverId:t,viewerUserId:a,isChildChannel:s,anchorMessageId:r}){let i=W(e),l=i.snapshot,o=(0,ee.useMessages)(e,{serverId:t,lastReadMessageId:i.isFetching?void 0:l?.lastReadMessageId??null,anchorMessageId:r}),{newDividerBefore:d,anchorFound:c}=(0,n.useMemo)(()=>{if(!l)return{newDividerBefore:void 0,anchorFound:!1};let e=l.lastReadMessageId;if(!e){for(let e of o.messages)if(e.authorId!==a)return{newDividerBefore:e.id,anchorFound:!0};return{newDividerBefore:void 0,anchorFound:!0}}let t=o.messages.findIndex(t=>t.id===e);if(-1===t)return{newDividerBefore:void 0,anchorFound:!1};for(let e=t+1;e<o.messages.length;e++)if(o.messages[e].authorId!==a)return{newDividerBefore:o.messages[e].id,anchorFound:!0};return{newDividerBefore:void 0,anchorFound:!0}},[o.messages,l,a]),[u,m]=(0,n.useState)(null);!function({channelId:e,messages:t,scrollRootEl:a}){let s=(0,G.useCurrentUser)().id,r=(0,J.useAdvanceChannelWatermark)(),i=(0,n.useRef)(null),l=(0,n.useRef)(null);(0,n.useEffect)(()=>{i.current=null,l.current=null},[e]);let o=(0,n.useRef)(t),d=(0,n.useRef)(r);(0,n.useEffect)(()=>{o.current=t,d.current=r}),(0,n.useEffect)(()=>{if(!e||l.current===e||0===t.length)return;let a=null;for(let e of t)e.createdAt&&(!a||e.createdAt>a.createdAt||e.createdAt===a.createdAt&&e.id>a.id)&&(a={createdAt:e.createdAt,id:e.id});a&&(i.current=a,l.current=e)},[e,t]),(0,n.useEffect)(()=>{if(!e||!a||"u"<typeof IntersectionObserver)return;let t=new IntersectionObserver(t=>{for(let a of t){if(!a.isIntersecting||a.intersectionRatio<.2)continue;let t=a.target.dataset.msgId;if(!t)continue;let n=o.current.find(e=>e.id===t);if(!n||!n.createdAt||n.authorId&&n.authorId===s)continue;let r=i.current;(!r||n.createdAt>r.createdAt||n.createdAt===r.createdAt&&t>r.id)&&(i.current={createdAt:n.createdAt,id:t},d.current(e,t))}},{root:a,threshold:.2});a.querySelectorAll("[data-msg-id]").forEach(e=>t.observe(e));let n=null;return"u">typeof MutationObserver&&(n=new MutationObserver(e=>{for(let a of e)a.addedNodes.forEach(e=>{1!==e.nodeType||(e.matches?.("[data-msg-id]")&&t.observe(e),e.querySelectorAll?.("[data-msg-id]").forEach(e=>t.observe(e)))})})).observe(a,{childList:!0,subtree:!0}),()=>{t.disconnect(),n?.disconnect()}},[e,t,a,s]),(0,n.useEffect)(()=>()=>{(0,J.flushPendingReads)()},[e])}({channelId:e,messages:o.messages,scrollRootEl:u}),Z({channelId:e,serverId:t,isChildChannel:s,snapshotReady:!i.isFetching});let h=(0,n.useMemo)(()=>Math.max(0,o.latestSeq-(l?.lastReadSeq??0)),[o.latestSeq,l]),p=(0,et.useThreads)(e),g=(0,et.usePins)(e);return{...o,readSnapshot:l,readSnapshotFetching:i.isFetching,newDividerBefore:d,anchorInCache:c,unreadCount:h,scrollRootEl:u,setScrollRootEl:m,threads:p.threads,threadsLoading:p.isLoading,pinned:g.pins,pinnedLoading:g.isLoading}}function en({header:e,body:a,panels:n,dialogs:s}){return(0,t.jsxs)(t.Fragment,{children:[e,a,n,s]})}var es=e.i(332680),er=e.i(288329),ei=e.i(253151),el=e.i(935690),eo=e.i(737025),ed=e.i(687075);function ec({icon:e,title:a,children:n,bodyClassName:s="p-4",onBack:r}){return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsxs)("header",{className:"flex h-12 shrink-0 items-center gap-2 border-b border-border/40 px-4",children:[r?(0,t.jsx)("button",{onClick:r,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,t.jsx)(ed.ChevronLeft,{className:"size-4"})}):(0,t.jsx)(e,{className:"size-4 text-muted-foreground"}),(0,t.jsx)("h2",{className:"flex-1 truncate text-base font-semibold",children:a})]}),(0,t.jsx)("div",{className:`flex-1 overflow-y-auto thin-scrollbar ${s}`,children:n})]})}var eu=e.i(813217),em=e.i(889739),eh=e.i(961560),ep=e.i(560976),eg=e.i(643733),ex=e.i(607711),ef=e.i(39185);e.i(575084);var ev=e.i(567894),eb=e.i(846367);let ey=["admin","member"];function ej({members:e,loading:a,hasMore:r,loadingMore:i,onLoadMore:l,onSearch:o,onAddMember:u,manageContext:m,myRole:h,onOpenProfile:p,onSetRole:g,onKick:x}){let[f,v]=(0,n.useState)(null),[b,y]=(0,n.useState)(!1),[j,N]=(0,n.useState)(null),[C,S]=(0,n.useState)(!1),[w,I]=(0,n.useState)(""),M=(0,ev.canManageServer)(h);(0,n.useEffect)(()=>{if(!o)return;let e=setTimeout(()=>o(w),200);return()=>clearTimeout(e)},[w,o]);let k=(0,n.useMemo)(()=>(function(e){let t,a,n,s=[];for(let r of(t=e.filter(e=>(0,ev.isServerOwner)(e.role)),a=e.filter(e=>e.role===ev.ROLES.ADMIN),[{label:"Owner",list:t},{label:"Admin",list:a},{label:"Online",list:(n=e.filter(e=>e.role===ev.ROLES.MEMBER)).filter(e=>(0,eb.isPresenceOnline)(e.status))},{label:"Offline",list:n.filter(e=>(0,eb.isPresenceOffline)(e.status))}].filter(e=>e.list.length>0)))for(let e of(s.push({kind:"header",label:r.label,count:r.list.length,key:`header:${r.label}`}),r.list))s.push({kind:"row",member:e,key:`row:${e.id}`});return s})(e),[e]),T=(0,n.useMemo)(()=>(function(e){let t=new Map;for(let a of e){let e=a.name.toLowerCase();t.set(e,(t.get(e)??0)+1)}let a=new Set;for(let[e,n]of t)n>=2&&a.add(e);return a})(e),[e]),A=(0,n.useRef)(null),R=(0,n.useRef)(null),P=(0,d.useVirtualizer)({...c.COMMUNITY_VIRTUALIZER_REACT_OPTIONS,count:k.length,getScrollElement:()=>A.current,getItemKey:e=>k[e]?.key??e,estimateSize:e=>k[e]?.kind==="header"?32:44,overscan:8});return((0,n.useEffect)(()=>{if(!l||!r)return;let e=R.current,t=A.current;if(!e||!t)return;let a=new IntersectionObserver(e=>{for(let t of e)t.isIntersecting&&!i&&l()},{root:t,rootMargin:"100px"});return a.observe(e),()=>a.disconnect()},[l,r,i]),a&&0===e.length&&!w)?(0,t.jsx)(eC,{}):(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(z.ConfirmDialog,{open:!!f,onOpenChange:e=>{e||b||v(null)},title:`Kick ${f?.name}?`,description:"They will be removed from this server but can rejoin with an invite.",confirmLabel:"Kick",loadingLabel:"Kicking…",loading:b,confirmVariant:"destructive",onConfirm:async()=>{if(f){y(!0);try{await x?.(f.memberId),v(null)}catch(e){(0,s.toastApiError)(e,"Failed to kick member")}finally{y(!1)}}}}),j&&(0,t.jsx)(z.ConfirmDialog,{open:!0,onOpenChange:e=>{e||C||N(null)},title:"leave"===j.kind?`Leave /${m?.unitLabel??""}?`:`Remove ${j.member.name}?`,description:"leave"===j.kind?"You'll lose access until you're added back.":"They'll lose access until they're added back.",confirmLabel:"leave"===j.kind?"Leave":"Remove",loadingLabel:"leave"===j.kind?"Leaving…":"Removing…",loading:C,confirmVariant:"destructive",onConfirm:async()=>{if(m){S(!0);try{let e="leave"===j.kind?m.onLeave:m.onRemove;await e(j.member.userId),N(null)}catch(e){(0,s.toastApiError)(e,"leave"===j.kind?"Failed to leave":"Failed to remove")}finally{S(!1)}}}}),(0,t.jsxs)("aside",{className:"flex h-full flex-col bg-background",children:[(o||u)&&(0,t.jsxs)("div",{className:"flex shrink-0 items-center gap-2 border-b border-border px-4 py-3",children:[o&&(0,t.jsxs)("div",{className:"relative flex-1",children:[(0,t.jsx)(eo.Search,{className:"absolute left-2 top-1/2 size-4 -translate-y-1/2 text-muted-foreground"}),(0,t.jsx)(E.Input,{className:"h-9 pl-8",placeholder:"Search members",value:w,onChange:e=>I(e.target.value)})]}),u&&(0,t.jsx)("button",{type:"button",onClick:u,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,t.jsx)(ep.UserPlus,{className:"size-4"})})]}),(0,t.jsx)("div",{ref:A,className:"min-h-0 flex-1 overflow-y-auto thin-scrollbar",children:(0,t.jsxs)("div",{className:"px-4 py-4",children:[(0,t.jsx)("div",{ref:P.containerRef,style:{position:"relative",width:"100%"},children:P.getVirtualItems().map(e=>{let a=k[e.index];return(0,t.jsx)("div",{role:"listitem","data-index":e.index,ref:P.measureElement,style:{position:"absolute",top:0,left:0,width:"100%"},children:"header"===a.kind?(0,t.jsxs)("h3",{className:"mb-2 px-1 text-xs font-medium text-muted-foreground",children:[a.label," — ",a.count]}):(0,t.jsx)(eN,{mem:a.member,canManage:M,showDiscriminator:T.has(a.member.name.toLowerCase()),onOpenProfile:p,onSetRole:g,onKick:e=>v({name:e.name,memberId:e.id}),onRequestManage:(e,t)=>N({kind:e,member:t}),manageContext:m})},a.key)})}),r&&(0,t.jsx)("div",{ref:R,className:"py-3 text-center text-xs text-muted-foreground",children:i?"Loading…":""})]})})]})]})}function eN({mem:e,canManage:a,showDiscriminator:n,onOpenProfile:s,onSetRole:r,onKick:i,onRequestManage:l,manageContext:o}){var d;let c=(0,t.jsxs)("button",{"data-testid":P.tid.memberRow(e.userId),onClick:t=>s?.(e.name,t,void 0,e.userId),className:"flex w-full items-center gap-3 rounded-md px-2 py-2 select-none hover:bg-accent",children:[(0,t.jsx)(b.Avatar,{label:e.avatar,seed:e.userId,size:32,presence:e.status,dim:(0,eb.isPresenceOffline)(e.status)}),(0,t.jsxs)("div",{className:"min-w-0 flex-1 space-y-0.5 text-left",children:[(0,t.jsxs)("div",{className:`truncate text-sm leading-tight ${(0,eb.isPresenceOffline)(e.status)?"text-muted-foreground":""}`,children:[e.name,n&&e.discriminator&&(0,t.jsxs)("span",{className:"ml-1 text-xs font-normal tracking-wide text-muted-foreground",children:["#",e.discriminator]})]}),(0,ef.hasStatus)(e.statusEmoji,e.statusText)&&(0,t.jsxs)("div",{className:"truncate text-xs leading-tight text-muted-foreground",children:[e.statusEmoji," ",e.statusText]})]})]});if(o){let a=e.userId===o.viewerUserId,n=a&&!e.isCreator,s=!a&&o.viewerIsCreator&&!e.isCreator&&(void 0===e.source||"explicit"===e.source);return n||s?(0,t.jsxs)(ex.ContextMenu,{children:[(0,t.jsx)(ex.ContextMenuTrigger,{render:c}),(0,t.jsxs)(ex.ContextMenuContent,{className:"w-48",children:[(0,t.jsx)("div",{className:"truncate px-2 py-1 text-xs font-semibold text-muted-foreground",children:e.name}),n?(0,t.jsxs)(ex.ContextMenuItem,{onClick:()=>l("leave",e),className:"text-destructive data-highlighted:bg-destructive/10 data-highlighted:text-destructive",children:[(0,t.jsx)(eg.LogOut,{className:"size-4"})," Leave"]}):(0,t.jsxs)(ex.ContextMenuItem,{onClick:()=>l("remove",e),className:"text-destructive data-highlighted:bg-destructive/10 data-highlighted:text-destructive",children:[(0,t.jsx)(em.UserMinus,{className:"size-4"})," Remove ",e.name]})]})]}):c}return(d=e.role,a&&"owner"!==d)?(0,t.jsxs)(ex.ContextMenu,{children:[(0,t.jsx)(ex.ContextMenuTrigger,{render:c}),(0,t.jsxs)(ex.ContextMenuContent,{className:"w-48",children:[(0,t.jsx)("div",{className:"truncate px-2 py-1 text-xs font-semibold text-muted-foreground",children:e.name}),(0,t.jsxs)(ex.ContextMenuSub,{children:[(0,t.jsxs)(ex.ContextMenuSubTrigger,{children:[(0,t.jsx)(eu.Shield,{className:"size-4"}),"Role"]}),(0,t.jsx)(ex.ContextMenuSubContent,{children:ey.map(a=>(0,t.jsxs)(ex.ContextMenuItem,{onClick:()=>r?.(e.id,a),children:[(0,t.jsx)("span",{className:"flex-1",children:a.charAt(0).toUpperCase()+a.slice(1)}),e.role===a&&(0,t.jsx)(eh.Check,{className:"size-4"})]},a))})]}),(0,t.jsx)(ex.ContextMenuSeparator,{}),(0,t.jsxs)(ex.ContextMenuItem,{onClick:()=>i(e),className:"text-destructive data-highlighted:bg-destructive/10 data-highlighted:text-destructive",children:[(0,t.jsx)(em.UserMinus,{className:"size-4"})," Kick ",e.name]})]})]}):c}function eC(){return(0,t.jsx)("aside",{className:"flex h-full flex-col overflow-hidden bg-background",children:(0,t.jsx)("div",{className:"px-4 py-4",children:[{width:60,rows:1},{width:60,rows:2},{width:60,rows:6}].map((e,a)=>(0,t.jsxs)("div",{className:"mb-4",children:[(0,t.jsx)(v.Skeleton,{className:"mb-2 ml-1 h-3 rounded",style:{width:e.width}}),(0,t.jsx)("div",{className:"space-y-1",children:Array.from({length:e.rows}).map((e,a)=>(0,t.jsxs)("div",{className:"flex items-center gap-3 rounded-md px-2 py-2",children:[(0,t.jsx)(v.Skeleton,{className:"size-8 shrink-0 rounded-full"}),(0,t.jsx)(v.Skeleton,{className:"h-3.5 w-3/5 rounded"})]},a))})]},a))})})}var eS=e.i(133491),ew=e.i(275130);function eI({kind:e,members:a,membersLoading:n,membersLoadingMore:s,membersHasMore:r,onLoadMoreMembers:i,onSearchMembers:l,onAddMember:o,manageContext:d,pinned:c,pinnedLoading:m,searchResults:h,searchQuery:p,threads:g,threadsLoading:x,showSearchInput:v=!0,onOpenThread:y,onOpenProfile:j,onSetRole:N,onKickMember:C,myRole:S,onJumpToMessage:w,onSearch:I}){return"members"===e?(0,t.jsx)(ec,{icon:ei.Users,title:"Members",bodyClassName:"p-0",children:(0,t.jsx)(ej,{members:a,loading:n,hasMore:r,loadingMore:s,onLoadMore:i,onSearch:l,onAddMember:o,manageContext:d,myRole:S,onOpenProfile:j,onSetRole:N,onKick:C})}):"pinned"===e?(0,t.jsx)(ec,{icon:el.Pin,title:"Pinned Messages",children:m&&0===c.length?(0,t.jsx)(eM,{}):0===c.length?(0,t.jsx)("div",{className:"py-8 text-center text-sm text-muted-foreground",children:"No pinned messages yet."}):c.map(e=>(0,t.jsxs)("button",{onClick:()=>null!=e.seq&&w?.(e.seq),className:"flex w-full items-center gap-2 rounded-md px-2 py-2 text-left hover:bg-accent",children:[(0,t.jsx)("span",{className:"shrink-0",children:(0,t.jsx)(b.Avatar,{label:e.authorAvatar??"?",seed:e.authorId,size:24})}),(0,t.jsxs)("div",{className:"min-w-0 flex-1",children:[(0,t.jsxs)("div",{className:"flex items-baseline gap-2",children:[(0,t.jsx)("span",{className:"text-sm font-medium",children:e.authorName}),e.createdAt&&(0,t.jsx)("span",{className:"text-xs text-muted-foreground",children:(0,f.formatRelativeTime)(e.createdAt)})]}),(0,t.jsx)("div",{className:"truncate text-sm text-muted-foreground",children:(0,ew.stripInlineMarkup)(e.content??"")})]})]},e.id))}):"search"===e?(0,t.jsx)(eT,{searchResults:h,initialQuery:p,showSearchInput:v,onOpenProfile:j,onSearch:I}):(0,t.jsx)(ec,{icon:u.MessagesSquare,title:"Threads",children:x&&0===g.length?(0,t.jsx)(ek,{}):(0,t.jsxs)(t.Fragment,{children:[(0,t.jsxs)("div",{className:"mb-2 text-xs text-muted-foreground",children:[g.length," threads"]}),(0,t.jsx)("div",{className:"space-y-1",children:g.map(e=>(0,t.jsxs)("button",{onClick:()=>y(e.id),className:"flex w-full items-start gap-3 rounded-md px-2 py-2 text-left hover:bg-accent",children:[(0,t.jsx)(u.MessagesSquare,{className:"mt-0.5 size-4 shrink-0 text-muted-foreground"}),(0,t.jsxs)("div",{className:"min-w-0 flex-1",children:[(0,t.jsx)("div",{className:"truncate text-sm font-medium",children:e.name}),(0,t.jsxs)("div",{className:"truncate text-xs text-muted-foreground",children:[(0,t.jsx)("span",{className:"font-medium text-foreground/80",children:e.parent.authorName})," ",(0,ew.stripInlineMarkup)(e.parent.text)]}),(0,t.jsxs)("div",{className:"mt-1 text-xs text-muted-foreground",suppressHydrationWarning:!0,children:[e.messageCount," messages · ",(0,f.formatRelativeTime)(e.lastMessageAt)]})]})]},e.id))})]})})}function eM(){return(0,t.jsx)("div",{className:"space-y-2",children:Array.from({length:3}).map((e,a)=>(0,t.jsxs)("div",{className:"flex gap-2 rounded-md px-2 py-2",children:[(0,t.jsx)(v.Skeleton,{className:"size-6 shrink-0 rounded-full"}),(0,t.jsxs)("div",{className:"flex min-w-0 flex-1 flex-col gap-2",children:[(0,t.jsxs)("div",{className:"flex items-baseline gap-2",children:[(0,t.jsx)(v.Skeleton,{className:"h-3 w-20 rounded"}),(0,t.jsx)(v.Skeleton,{className:"h-3 w-10 rounded"})]}),(0,t.jsx)(v.Skeleton,{className:"h-3 w-5/6 rounded"})]})]},a))})}function ek(){return(0,t.jsx)("div",{className:"space-y-1",children:Array.from({length:3}).map((e,a)=>(0,t.jsxs)("div",{className:"flex items-start gap-3 rounded-md px-2 py-2",children:[(0,t.jsx)(v.Skeleton,{className:"mt-0.5 size-4 shrink-0 rounded"}),(0,t.jsxs)("div",{className:"flex min-w-0 flex-1 flex-col gap-2",children:[(0,t.jsx)(v.Skeleton,{className:"h-3.5 w-3/5 rounded"}),(0,t.jsx)(v.Skeleton,{className:"h-3 w-11/12 rounded"}),(0,t.jsx)(v.Skeleton,{className:"h-3 w-2/5 rounded"})]})]},a))})}function eT({searchResults:e,initialQuery:a,showSearchInput:s,onOpenProfile:r,onSearch:i}){let[l,o]=(0,n.useState)(a??"");return(0,t.jsxs)(ec,{icon:eo.Search,title:"Search",children:[s&&(0,t.jsxs)("div",{className:"relative mb-3",children:[(0,t.jsx)(eo.Search,{className:"absolute left-2 top-1/2 size-4 -translate-y-1/2 text-muted-foreground"}),(0,t.jsx)(E.Input,{className:"h-9 pl-8",placeholder:"Search messages",value:l,onChange:e=>o(e.target.value),onKeyDown:(0,k.onEnterSubmit)(()=>{let e=l.trim();e&&i?.(e)})})]}),(0,t.jsxs)("div",{className:"mb-2 text-xs text-muted-foreground",children:[e.length," results"]}),e.map(e=>{let a={...e,grouped:!1};return(0,t.jsx)(eS.Message,{m:a,compact:!0,onOpenThread:()=>{},onOpenProfile:r},e.id)})]})}function eA({open:e,onOpenChange:a,kind:n,members:s,membersLoading:r,membersLoadingMore:i,membersHasMore:l,onLoadMoreMembers:o,onSearchMembers:d,onAddMember:c,manageContext:u,pinned:m,pinnedLoading:h,searchResults:p,searchQuery:g,threads:x,threadsLoading:f,onOpenThread:v,onOpenProfile:b,onSetRole:y,onKickMember:j,myRole:N,onJumpToMessage:C,onSearch:S}){let{width:w,onPointerDown:I,onPointerMove:M,onPointerUp:k}=(0,er.useSheetResize)({defaultWidth:380,minWidth:280,maxWidthRatio:.6});return(0,t.jsx)(es.Sheet,{open:e,onOpenChange:a,modal:!1,disablePointerDismissal:!0,children:(0,t.jsxs)(es.SheetContent,{side:"right",showOverlay:!1,style:{width:`min(${w}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,t.jsx)(es.SheetTitle,{className:"sr-only",children:function(e){switch(e){case"members":return"Members";case"pinned":return"Pinned Messages";case"search":return"Search";case"threads":return"Threads"}}(n)}),(0,t.jsx)(er.SheetResizeHandle,{onPointerDown:I,onPointerMove:M,onPointerUp:k}),(0,t.jsx)(eI,{kind:n,members:s,membersLoading:r,membersLoadingMore:i,membersHasMore:l,onLoadMoreMembers:o,onSearchMembers:d,onAddMember:c,manageContext:u,pinned:m,pinnedLoading:h,searchResults:p,searchQuery:g,threads:x,threadsLoading:f,showSearchInput:!0,onOpenThread:v,onOpenProfile:b,onSetRole:y,onKickMember:j,myRole:N,onJumpToMessage:C,onSearch:S})]})})}var eR=e.i(398049),eE=e.i(746632),eP=e.i(280958),eF=e.i(923533),eO=e.i(357439),eL=e.i(188946);e.i(384302);var eU=e.i(956832);function eD({channelId:e,serverId:t,serverParam:r,channelName:i,forumParentChannelId:l,viewer:o,anchorMessageId:d,feed:c,uiHandlers:u,onOpenThread:m,onOpenPinned:h,resolveUserName:p,children:g}){let x=(0,a.useRouter)(),f=(0,a.useSearchParams)(),[v,b]=(0,n.useState)(null),[y,j]=(0,n.useState)(""),[N,C]=(0,n.useState)([]),[S,w]=(0,n.useState)(d),[I,M]=(0,n.useState)(null),{mutateAsync:k}=(0,J.useSendMessage)(),T=(0,J.useToggleReactionApi)(),{mutate:R}=(0,J.usePinMessage)(),{mutate:E}=(0,J.useUnpinMessage)(),P=(0,J.useToggleMark)(),{mutate:F}=(0,J.useEditMessage)(),{mutateAsync:O}=(0,J.useCreateThread)(),{mutateAsync:L}=(0,A.useUploadFile)(),U=(0,eF.useTypingUsersForScope)(`ch:${e}`),D=(0,eF.useTypingNamesForScope)(`ch:${e}`),z=(0,n.useMemo)(()=>new Set(c.pinned.map(e=>e.id)),[c.pinned]),q=(0,n.useCallback)(e=>{w(t=>t===e?null:t)},[]);(0,n.useEffect)(()=>{S&&!c.messages.some(e=>e.id===S)&&c.isError&&w(e=>e===S?null:e)},[S,c.messages,c.isError]),(0,n.useEffect)(()=>{b(null),j(""),C([]),M(null)},[e]);let K=(0,n.useCallback)(async t=>{if(j(t),!t.trim())return void C([]);try{let a=new URLSearchParams({q:t,channelId:e}),n=await (0,s.apiFetch)(`/api/community/messages/search?${a}`);C(n.results.map(e=>({id:e.message.id,type:"chat",authorName:e.author.name,authorAvatar:e.author.image??(0,eP.avatarInitial)(e.author.name),content:e.message.content,createdAt:e.message.createdAt})))}catch(e){C([]),(0,s.toastApiError)(e,"Search failed")}},[e]),$=(0,n.useCallback)(a=>{M(n=>n?{...n,seq:a}:{serverId:t,channelId:e,label:i,seq:a})},[t,e,i]),B=(0,n.useCallback)(t=>{if(I&&I.channelId!==e){eF.useCommunityStore.getState().setPendingReply({channelId:I.channelId,target:t}),M(null),u.navigate?.(I.serverId,I.channelId);return}b(t),M(null)},[I,e,u]),_=(0,eF.useCommunityStore)(e=>e.pendingReply);(0,n.useEffect)(()=>{_&&_.channelId===e&&(b(_.target),eF.useCommunityStore.getState().setPendingReply(null))},[_,e]);let H=(0,n.useRef)({messages:c.messages,pinnedIds:z,channelName:i,uiHandlers:u,onOpenThread:m,onOpenPinned:h});(0,n.useLayoutEffect)(()=>{H.current={messages:c.messages,pinnedIds:z,channelName:i,uiHandlers:u,onOpenThread:m,onOpenPinned:h}},[c.messages,z,i,u,m,h]);let Q=(0,n.useCallback)(a=>{let n=H.current.messages.find(e=>e.seq===a);n?w(n.id):M({serverId:t,channelId:e,label:i,seq:a})},[t,e,i]),V=(0,n.useCallback)(e=>M(e),[]);(0,n.useEffect)(()=>(eF.useCommunityStore.getState().registerUiHandlers({jumpToSeq:Q,openMessageContext:V}),()=>eF.useCommunityStore.getState().registerUiHandlers({jumpToSeq:void 0,openMessageContext:void 0})),[Q,V]);let W=f.get("seq");(0,n.useEffect)(()=>{if(!W)return;let a=Number(W);Number.isFinite(a)&&(M({serverId:t,channelId:e,label:i,seq:a}),x.replace(`/c/channels/${r}/${e}`,{scroll:!1}))},[W,t,e,i,x,r]);let G=(0,n.useMemo)(()=>({kind:"channel",id:e,serverId:t}),[e,t]),X=(0,n.useCallback)(async a=>{let n,r=eO.useMessageStreamStore.getState(),i=r.getRetryPayload(G,a);if(i){if(i.localUploads.length>0&&"settled"===i.uploadStatus){let e=i.message.attachments;e?.length===i.localUploads.length&&(n=e.map((e,t)=>{let a=i.localUploads[t];return{id:e.url.slice(e.url.lastIndexOf("/")+1),filename:a.file.name,contentType:a.file.type,size:a.file.size,width:a.width,height:a.height}}))}if(i.localUploads.length>0&&!n){let t=await Promise.all(i.localUploads.map(t=>L({target:{channelId:e},file:t.file,width:t.width,height:t.height}).catch(e=>((0,s.toastApiError)(e,"Failed to attach file"),null))));if(t.some(e=>null===e))return void r.dispatch(G,{type:"uploadFailed",nonce:a});n=(0,A.zipUploadResultsWithDimensions)(t,[...i.localUploads]),r.dispatch(G,{type:"uploadSettled",nonce:a,attachments:n.map(t=>(0,J.toAttachmentVm)(e,t))})}try{await k({serverId:t,channelId:e,forumParentChannelId:l,content:i.message.content??"",replyToId:i.message.replyTo?.id,mentionType:i.mentionType,attachments:n,nonce:a,author:{id:o.id,name:o.name,avatar:o.avatar}})}catch{return}}},[G,L,e,l,k,t,o.id,o.name,o.avatar]),Y=(0,n.useMemo)(()=>({onToggleReaction:(a,n)=>T({serverId:t,channelId:e,messageId:a,emoji:n,userId:o.id}),onReact:(a,n)=>T({serverId:t,channelId:e,messageId:a,emoji:n,userId:o.id}),onReply:e=>{let t=H.current.messages.find(t=>t.id===e);t&&b({id:t.id,authorName:t.authorName??"",text:t.content??""})},onPin:t=>{H.current.pinnedIds.has(t)?E({channelId:e,messageId:t},{onSuccess:()=>(0,eE.toast)("Message unpinned"),onError:e=>(0,s.toastApiError)(e,"Failed to unpin message")}):(R({channelId:e,messageId:t},{onSuccess:()=>(0,eE.toast)("Message pinned"),onError:e=>(0,s.toastApiError)(e,"Failed to pin message")}),H.current.onOpenPinned())},onMark:t=>P(e,t),onCreateThread:async a=>{let n=H.current.messages.find(e=>e.id===a),r=(0,ew.deriveThreadName)(n?.content,H.current.channelName);try{let n=await O({serverId:t,channelId:e,messageId:a,name:r});H.current.onOpenThread(n.id)}catch(e){(0,s.toastApiError)(e,"Failed to create thread")}},onCopy:e=>{let t=H.current.messages.find(t=>t.id===e);t?.content&&(navigator.clipboard?.writeText(t.content),(0,eE.toast)("Copied to clipboard"))},onEdit:a=>{let n=H.current.messages.find(e=>e.id===a);if(!n?.content||n.authorId!==o.id||void 0===n.seq)return;let r=window.prompt("Edit message",n.content);r&&r!==n.content&&F({serverId:t,channelId:e,messageId:a,content:r},{onError:e=>(0,s.toastApiError)(e,"Failed to edit message")})},onRetry:e=>{let t=H.current.messages.find(t=>t.id===e);t?.clientNonce&&(eO.useMessageStreamStore.getState().dispatch(G,{type:"retry",nonce:t.clientNonce}),X(t.clientNonce))},onDismiss:e=>{let t=H.current.messages.find(t=>t.id===e);t?.clientNonce&&eO.useMessageStreamStore.getState().dispatch(G,{type:"dismissFailed",nonce:t.clientNonce})},onPreviewImage:e=>H.current.uiHandlers.previewImage?.(e),onDownloadFile:e=>{let t=document.createElement("a");t.href=e,t.download=e.split("/").pop()??"file",t.click()}}),[e,t,o.id,T,E,R,P,O,F,G,X]),Z=(0,n.useCallback)((t,a,n)=>{if(!t&&!a?.length)return!1;let s=(0,J.sendNonce)(),r=[];if(!eO.useMessageStreamStore.getState().accept(G,{nonce:s,tempId:(0,J.tempMessageId)(),message:{type:"chat",authorId:o.id,authorName:o.name,authorAvatar:o.avatar,content:t,createdAt:new Date().toISOString(),...v?{replyTo:(0,eL.toOptimisticReplyPreview)(v)}:{}},localUploads:a?.map(e=>{let t=e.previewObjectUrl??URL.createObjectURL(e.file);return e.previewObjectUrl||r.push(t),{file:e.file,previewObjectUrl:t,width:e.width,height:e.height}})??[],mentionType:n})){for(let e of r)URL.revokeObjectURL(e);return!1}return X(s),(0,eU.communityWsResetTypingThrottle)({channelId:e}),b(null),!0},[e,G,v,X,o.avatar,o.id,o.name]);return g((0,n.useMemo)(()=>({feed:c,pinnedIds:z,replyTo:v,setReplyTo:b,searchQuery:y,searchResults:N,search:K,scrollTargetId:S,setScrollTargetId:w,consumeScrollTarget:q,contextTarget:I,setContextTarget:M,openContextSeq:$,onSheetReply:B,jumpToSeq:Q,messageActions:Y,threadActions:{...Y,onCreateThread:void 0},acceptMessage:Z,handleTyping:()=>(0,eU.communityWsSendTyping)({channelId:e}),typingUsers:U.map(e=>D[e]??p(e))}),[c,z,v,y,N,K,S,q,I,$,B,Q,Y,Z,e,U,D,p]))}function ez({channelId:e,serverId:a,serverParam:s,channelName:d,viewer:c,anchorMessageId:u,headerServer:m,notificationLevel:h,onSetNotificationLevel:p,onBack:g,composerMembers:x,onSearchComposerMembers:f,channelRefCandidates:v,memberPanelProps:b,manageMembersDialog:y,uiHandlers:j,onOpenThread:N,onOpenProfile:C,resolveUserName:S}){let w=(0,r.useBreakpoint)(),[I,M]=(0,n.useState)(null),k=ea({channelId:e,serverId:a,viewerUserId:c.id,isChildChannel:!1,anchorMessageId:u});(0,n.useEffect)(()=>{M(null)},[e]);let T=e=>{M(t=>t===e?null:e)};return(0,t.jsx)(eD,{channelId:e,serverId:a,serverParam:s,channelName:d,viewer:c,anchorMessageId:u,feed:k,uiHandlers:j,onOpenThread:N,onOpenPinned:()=>M("pinned"),resolveUserName:S,children:n=>(0,t.jsx)(en,{header:(0,t.jsx)(i.ChannelHeader,{channel:d,rightPanel:I,onToggle:T,notifLevel:h,onSetNotifLevel:p,onBack:g,server:m}),body:(0,t.jsxs)("main",{className:"flex min-h-0 min-w-0 flex-1 flex-col",children:[(0,t.jsx)(l.MessageList,{channel:d,messages:k.messages,loading:k.isLoading,pinnedIds:n.pinnedIds,newDividerBefore:k.newDividerBefore,typingUsers:n.typingUsers,onOpenThread:N,...n.messageActions,onOpenProfile:C,resolveUserName:S,scrollToMessageId:n.scrollTargetId,onScrollRoot:k.setScrollRootEl,viewerUserId:c.id,initialScrollReady:!k.readSnapshotFetching&&k.anchorInCache,onScrollTargetConsumed:n.consumeScrollTarget,hasMore:k.hasMoreOlder,isFetchingOlder:k.isFetchingOlder,onLoadOlder:k.fetchOlder,hasMoreNewer:k.hasMoreNewer,isFetchingNewer:k.isFetchingNewer,onLoadNewer:k.fetchNewer,onJumpToPresent:k.jumpToPresent,presentVersion:k.presentVersion,unreadCount:k.unreadCount},e),(0,t.jsx)("div",{"data-onboarding-target":"channel-composer",className:"shrink-0",children:(0,t.jsx)(o.Composer,{channel:d,context:"channel",members:x,onSearchMembers:f,channelRefCandidates:v,sendContract:"accepted",onAcceptSend:n.acceptMessage,onTyping:n.handleTyping,replyingTo:n.replyTo?.authorName,onCancelReply:()=>n.setReplyTo(null),autoFocus:"mobile"!==w,draftKey:`${a}/${e}`})})]}),panels:I&&(0,t.jsx)(eA,{open:!0,onOpenChange:e=>{e||M(null)},kind:I,...b,pinned:k.pinned,pinnedLoading:k.pinnedLoading,searchResults:n.searchResults,searchQuery:n.searchQuery,threads:k.threads,threadsLoading:k.threadsLoading,onOpenThread:N,onOpenProfile:C,onJumpToMessage:n.jumpToSeq,onSearch:n.search}),dialogs:(0,t.jsxs)(t.Fragment,{children:[y,(0,t.jsx)(eR.MessageContextSheet,{open:null!==n.contextTarget,onOpenChange:e=>{e||n.setContextTarget(null)},channelId:n.contextTarget?.channelId??e,channelLabel:n.contextTarget?.label,targetSeq:n.contextTarget?.seq??null,pinnedIds:n.pinnedIds,onOpenProfile:C,resolveUserName:S,onReply:n.onSheetReply})]})})})}var eq=e.i(218072),eK=e.i(15329),e$=e.i(542275),eB=e.i(574727),e_=e.i(617381),eH=e.i(334240);function eQ({parentMessageId:e,onOpenProfile:a,onPreviewImage:n,onDownloadFile:r,onJump:i}){let l,o,{message:d,isLoading:c,isError:m}=(l=!!e,{...o=(0,Q.useQuery)({queryKey:l?V.communityKeys.message(e):V.communityKeys.message("__none__"),queryFn:l?()=>(0,s.apiFetch)(`/api/community/messages/${e}`):()=>Promise.reject(Error("disabled")),enabled:l,staleTime:3e4}),message:o.data??null});if(c)return(0,t.jsx)(eV,{});if(m||!d)return(0,t.jsxs)("div",{children:[(0,t.jsxs)("div",{className:"mb-2 flex items-center gap-2 text-xs font-medium text-muted-foreground",children:[(0,t.jsx)(u.MessagesSquare,{className:"size-3.5"}),(0,t.jsx)("span",{children:"Thread started from a message"})]}),(0,t.jsx)("p",{className:"text-sm italic text-muted-foreground",children:"Original message is unavailable."})]});let h=d.authorAvatar||(0,eP.avatarInitial)(d.authorName);return(0,t.jsxs)("div",{className:"group relative",children:[(0,t.jsxs)("div",{className:"mb-2 flex items-center gap-2 text-xs font-medium text-muted-foreground",children:[(0,t.jsx)(u.MessagesSquare,{className:"size-3.5"}),(0,t.jsx)("span",{children:"Thread started from"})]}),i&&(0,t.jsxs)("button",{type:"button",onClick:i,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,t.jsx)(e$.ArrowUpRight,{className:"size-3.5"}),"Jump"]}),(0,t.jsxs)("div",{className:"flex gap-3",children:[(0,t.jsx)("button",{onClick:e=>a?.(d.authorName,e,void 0,d.authorId),className:"shrink-0 self-start",children:(0,t.jsx)(b.Avatar,{label:h,seed:d.authorId,size:40})}),(0,t.jsxs)("div",{className:"min-w-0 flex-1",children:[(0,t.jsxs)("div",{className:"flex items-baseline gap-2",children:[(0,t.jsx)("button",{onClick:e=>a?.(d.authorName,e,void 0,d.authorId),className:"text-[15px] font-semibold hover:underline",children:d.authorName}),(0,t.jsx)("span",{className:"text-xs text-muted-foreground",suppressHydrationWarning:!0,children:(0,f.formatMessageTime)(d.createdAt)})]}),d.content&&(0,t.jsx)(eB.MessageBody,{text:d.content,onOpenProfile:a}),d.attachments&&d.attachments.length>0&&(0,t.jsx)("div",{className:"mt-2 flex flex-col gap-2 pb-2",children:d.attachments.map((e,a)=>"image"===e.kind?(0,t.jsx)("button",{onClick:()=>n?.(e.url),className:"block w-fit max-w-full overflow-hidden rounded-lg border border-border transition-colors hover:border-primary/40",children:(0,t.jsx)("img",{src:e.url,alt:e.name,width:e.width,height:e.height,className:"block h-auto w-auto max-h-75 max-w-full rounded-lg object-contain",style:{aspectRatio:(0,e_.attachmentAspectRatio)(e.width,e.height)}})},a):(0,t.jsxs)("button",{onClick:()=>r?.(e.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,t.jsx)(eq.FileText,{className:"size-7 shrink-0 text-muted-foreground"}),(0,t.jsxs)("div",{className:"min-w-0 flex-1",children:[(0,t.jsx)("div",{className:"truncate text-sm font-medium text-primary",children:e.name}),"size"in e&&e.size&&(0,t.jsx)("div",{className:"text-xs text-muted-foreground",children:e.size})]}),(0,t.jsx)(eK.Download,{className:"size-4 shrink-0 text-muted-foreground"})]},a))}),d.reactions&&d.reactions.length>0&&(0,t.jsx)("div",{className:"mt-2 flex flex-wrap gap-1",children:d.reactions.map((e,a)=>(0,t.jsxs)("span",{className:["flex h-6 items-center gap-1 rounded-full px-2 text-sm",e.me?"border border-primary/50 bg-accent":"bg-secondary"].join(" "),children:[(0,t.jsx)("span",{children:e.emoji}),(0,t.jsx)(eH.NumberTicker,{value:e.count,className:"text-xs text-muted-foreground"})]},a))})]})]})]})}function eV(){return(0,t.jsxs)("div",{children:[(0,t.jsx)(v.Skeleton,{className:"mb-2 h-3 w-32 rounded"}),(0,t.jsxs)("div",{className:"flex gap-3",children:[(0,t.jsx)(v.Skeleton,{className:"size-10 shrink-0 rounded-full"}),(0,t.jsxs)("div",{className:"flex min-w-0 flex-1 flex-col gap-2 pt-0.5",children:[(0,t.jsx)(v.Skeleton,{className:"h-4 w-32 rounded"}),(0,t.jsx)(v.Skeleton,{className:"h-3.5 w-full max-w-80 rounded"}),(0,t.jsx)(v.Skeleton,{className:"h-3.5 w-48 rounded"})]})]})]})}let eW=()=>{};function eJ({channelId:e,serverId:d,serverParam:c,channelName:u,viewer:m,anchorMessageId:h,parentChannelId:p,parentMessageId:g,parentChannelName:x,parentIsForum:f,childCreatorId:v,canRenameThread:b,headerServer:y,notificationLevel:j,onSetNotificationLevel:N,onBack:C,onLoadingBack:S,composerMembers:w,onSearchComposerMembers:I,channelRefCandidates:M,memberPanelProps:k,manageMembersDialog:T,uiHandlers:A,onOpenChild:R,onOpenProfile:E,resolveUserName:P}){let F=(0,a.useRouter)(),O=(0,r.useBreakpoint)(),[L,U]=(0,n.useState)(null),[D,z]=(0,n.useState)(null),{mutateAsync:q}=(0,J.useEditMessage)(),K=ea({channelId:e,serverId:d,viewerUserId:m.id,isChildChannel:!0,anchorMessageId:h}),$=D??u;(0,n.useEffect)(()=>{U(null),z(null)},[e]);let B=(0,n.useCallback)(e=>{U(t=>t===e?null:e)},[]),_=(0,n.useCallback)(()=>U("pinned"),[]),H=(0,n.useCallback)(()=>{p?F.push(`/c/channels/${c}/${p}`):F.back()},[p,F,c]),Q=f&&p&&g&&v===m.id?async t=>{try{await q({serverId:d,channelId:p,messageId:g,content:t,forumChannelId:p,forumThreadId:e})}catch(e){throw(0,s.toastApiError)(e,"Failed to edit post"),e}}:!f&&b?async t=>{try{await (0,s.apiFetch)(`/api/community/channels/${e}`,{method:"PATCH",body:JSON.stringify({name:t})}),z(t)}catch(e){throw(0,s.toastApiError)(e,"Failed to rename"),e}}:void 0;if(K.isLoading)return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(i.ChannelHeaderSkeleton,{onBack:S}),(0,t.jsxs)("main",{className:"flex min-h-0 min-w-0 flex-1 flex-col",children:[(0,t.jsx)(l.MessageList,{channel:"",messages:[],loading:!0,onOpenThread:eW},e),(0,t.jsx)(o.ComposerSkeleton,{})]})]});let V=g&&!f?(0,t.jsx)(eQ,{parentMessageId:g,onOpenProfile:E,onPreviewImage:e=>A.previewImage?.(e),onDownloadFile:e=>{let t=document.createElement("a");t.href=e,t.download=e.split("/").pop()??"file",t.click()},onJump:p?()=>F.push(`/c/channels/${c}/${p}?msg=${g}`):void 0}):void 0;return(0,t.jsx)(eD,{channelId:e,serverId:d,serverParam:c,channelName:$,forumParentChannelId:f?p??void 0:void 0,viewer:m,anchorMessageId:h,feed:K,uiHandlers:A,onOpenThread:eW,onOpenPinned:_,resolveUserName:P,children:a=>(0,t.jsx)(en,{header:(0,t.jsx)(i.ChannelHeader,{channel:x,forum:f,rightPanel:L,onToggle:B,notifLevel:j,onSetNotifLevel:N,onBack:C,server:y,tools:{threads:!1},breadcrumb:{label:$,titleRename:f,onNavigateBack:H,onRename:Q}}),body:(0,t.jsxs)("main",{className:"flex min-h-0 min-w-0 flex-1 flex-col",children:[(0,t.jsx)(l.MessageList,{channel:$,messages:a.feed.messages,loading:a.feed.isLoading,pinnedIds:a.pinnedIds,newDividerBefore:a.feed.newDividerBefore,typingUsers:a.typingUsers,onOpenThread:eW,...a.threadActions,onOpenProfile:E,resolveUserName:P,scrollToMessageId:a.scrollTargetId,hero:V,onScrollRoot:a.feed.setScrollRootEl,viewerUserId:m.id,initialScrollReady:!a.feed.readSnapshotFetching&&a.feed.anchorInCache,onScrollTargetConsumed:a.consumeScrollTarget,hasMore:a.feed.hasMoreOlder,isFetchingOlder:a.feed.isFetchingOlder,onLoadOlder:a.feed.fetchOlder,hasMoreNewer:a.feed.hasMoreNewer,isFetchingNewer:a.feed.isFetchingNewer,onLoadNewer:a.feed.fetchNewer,onJumpToPresent:a.feed.jumpToPresent,presentVersion:a.feed.presentVersion,unreadCount:a.feed.unreadCount},e),(0,t.jsx)("div",{"data-onboarding-target":"channel-composer",className:"shrink-0",children:(0,t.jsx)(o.Composer,{channel:$,context:"thread",members:w,onSearchMembers:I,channelRefCandidates:M,sendContract:"accepted",onAcceptSend:a.acceptMessage,onTyping:a.handleTyping,replyingTo:a.replyTo?.authorName,onCancelReply:()=>a.setReplyTo(null),autoFocus:"mobile"!==O,draftKey:`${d}/${e}`})})]}),panels:L&&(0,t.jsx)(eA,{open:!0,onOpenChange:e=>{e||U(null)},kind:L,...k,pinned:a.feed.pinned,pinnedLoading:a.feed.pinnedLoading,searchResults:a.searchResults,searchQuery:a.searchQuery,threads:a.feed.threads,threadsLoading:a.feed.threadsLoading,onOpenThread:R,onJumpToMessage:a.jumpToSeq,onSearch:a.search,onOpenProfile:E}),dialogs:(0,t.jsxs)(t.Fragment,{children:[T,(0,t.jsx)(eR.MessageContextSheet,{open:null!==a.contextTarget,onOpenChange:e=>{e||a.setContextTarget(null)},channelId:a.contextTarget?.channelId??e,channelLabel:a.contextTarget?.label,targetSeq:a.contextTarget?.seq??null,pinnedIds:a.pinnedIds,onOpenProfile:E,resolveUserName:P,onReply:a.onSheetReply})]})})})}var eG=e.i(447985);let eX=e=>`alook:forum-tag:${e}`;function eY(e,t,a){"All"===a?e.removeItem(eX(t)):e.setItem(eX(t),a)}function eZ({serverId:e,forumChannelId:a,...r}){let i=function(e){let[t,a]=(0,n.useState)(()=>{try{var t;return t=window.localStorage,t.getItem(eX(e))||"All"}catch{return"All"}}),r=(0,et.useForumTags)(e,!0);(0,n.useEffect)(()=>{var n;if(r.isSuccess&&"All"!==t&&"All"===(n=r.data.tags,"All"===t||n.includes(t)?t:"All")){a("All");try{eY(window.localStorage,e,"All")}catch{}}},[e,t,r.data,r.isSuccess]);let i=(0,n.useCallback)(t=>{a(t);try{eY(window.localStorage,e,t)}catch{}},[e]),l="All"===t?null:t,o=V.communityKeys.forumActivityFeed(e,l),d=(0,eG.useInfiniteQuery)({queryKey:o,queryFn:({pageParam:t})=>{let a=new URLSearchParams({order:"activity",limit:String(T.DEFAULT_MESSAGE_PAGE_SIZE),include:"parentMessage,firstMessage,tags,participants"});return l&&a.set("tag",l),t&&a.set("cursor",t),(0,s.apiFetch)(`/api/community/channels/${e}/threads?${a.toString()}`)},initialPageParam:null,getNextPageParam:e=>e.hasMore?e.nextCursor:void 0}),c=(0,n.useMemo)(()=>(function(e){let t=new Map;for(let a of e){let e=new Map(a.included.parentMessages.map(e=>[e.id,e])),n=new Map(a.included.firstMessages.map(e=>[e.channelId,e])),s=new Map;for(let e of a.included.tags)s.set(e.messageId,[...s.get(e.messageId)??[],e.tag]);let r=new Map,i=new Map;for(let e of a.included.participants)r.set(e.channelId,[...r.get(e.channelId)??[],{id:e.userId,name:e.userName??"",avatar:e.userImage??(0,eP.avatarInitial)(e.userName??"")}]),i.set(e.channelId,Number(e.participantCount??0));for(let l of a.threads){if(t.has(l.id))continue;let a=l.parentMessageId?e.get(l.parentMessageId):void 0,o=n.get(l.id);t.set(l.id,{id:l.id,name:a?.content.trim()?a.content:l.name?.trim()||"Post",messageCount:l.messageCount??0,lastMessageAt:l.activityAt,parent:{authorName:a?.authorName??"",text:(o?.content??"").slice(0,100)},authorId:a?.authorId??l.creatorId??"",authorAvatar:a?.authorImage??(0,eP.avatarInitial)(a?.authorName??""),openerMessageId:l.parentMessageId??"",...a?{parentSeq:a.seq}:{},tags:l.parentMessageId?s.get(l.parentMessageId)??[]:[],preview:(o?.content??"").slice(0,100),participants:r.get(l.id)??[],participantCount:i.get(l.id)??0})}}return[...t.values()].sort((e,t)=>t.lastMessageAt.localeCompare(e.lastMessageAt)||t.id.localeCompare(e.id))})(d.data?.pages??[]),[d.data?.pages]);return{...d,posts:c,tag:t,selectTag:i,availableTags:r.data?.tags??[],hasMoreOlder:d.hasNextPage,isFetchingOlder:d.isFetchingNextPage,fetchOlder:()=>{d.fetchNextPage()}}}(a);return(0,t.jsx)(B,{forumChannelId:a,...r,posts:i.posts,loading:i.isLoading,tag:i.tag,availableTags:i.availableTags,onTagChange:i.selectTag,hasMore:i.hasMoreOlder,loadingMore:i.isFetchingOlder,onLoadMore:i.fetchOlder,onEditPostTags:(e,t)=>{let a=i.posts.find(t=>t.id===e);a&&r.onEditPostTags?.(a,t)}})}var e0=e.i(512554);function e1({serverId:e,channelId:a,channelName:r,viewer:l,viewerRole:o,headerServer:d,notificationLevel:c,onSetNotificationLevel:u,onBack:m,composerMembers:h,onSearchComposerMembers:p,memberPanelProps:g,manageMembersDialog:x,onOpenPost:f,onOpenProfile:v}){let b=W(a);Z({channelId:a,serverId:e,isChildChannel:!1,snapshotReady:!b.isFetching});let[y,j]=(0,n.useState)({channelId:a,panel:null}),N=y.channelId===a?y.panel:null,C=(0,e0.useCreateForumThread)(),S=(0,e0.useUpdatePostTags)(),w=(0,e0.useDeleteForumThread)();(0,n.useEffect)(()=>{j(e=>e.channelId===a&&null===e.panel?e:{channelId:a,panel:null})},[a]);let I=(0,n.useCallback)(e=>{j(t=>({channelId:a,panel:t.channelId===a&&t.panel===e?null:e}))},[a]),M=(0,n.useCallback)(async e=>{f((await C.mutateAsync({nonce:e.nonce,channelId:a,name:e.name,content:e.content,attachments:e.attachments,mentionType:e.mentionType})).threadId)},[a,C,f]),k=(0,ev.canManageServer)(o);return(0,t.jsx)(en,{header:(0,t.jsx)(i.ChannelHeader,{channel:r,forum:!0,rightPanel:N,onToggle:I,notifLevel:c,onSetNotifLevel:u,onBack:m,server:d,tools:{threads:!1,pinned:!1}}),body:(0,t.jsx)("main",{className:"flex min-h-0 min-w-0 flex-1 flex-col",children:(0,t.jsx)(eZ,{serverId:e,forumChannelId:a,members:h,onSearchMembers:p,onOpenPost:f,onCreatePost:M,canEditPostTags:e=>k||e.authorId===l.id,savingTagsFor:S.isPending?S.variables?.threadId??null:null,onEditPostTags:(e,t)=>{S.mutate({forumChannelId:a,threadId:e.id,openerMessageId:e.openerMessageId,tags:t},{onError:e=>(0,s.toastApiError)(e,"Failed to update tags")})},canDeletePost:e=>k||e.authorId===l.id,deletingPost:w.isPending?w.variables?.threadId??null:null,onDeletePost:t=>{w.mutate({serverId:e,forumChannelId:a,threadId:t.id},{onError:e=>(0,s.toastApiError)(e,"Failed to delete post")})}})}),panels:N&&(0,t.jsx)(eA,{open:!0,onOpenChange:e=>{e||j({channelId:a,panel:null})},kind:N,...g,pinned:[],searchResults:[],threads:[],onOpenThread:f,onOpenProfile:v}),dialogs:x})}var e2=e.i(648655),e5=e.i(132977),e3=e.i(971434),e4=e.i(825149),e8=e.i(725521),e7=e.i(457725),e6=e.i(125498),e9=e.i(71977),te=e.i(312462),tt=e.i(344920),ta=e.i(503864),tn=e.i(718877),ts=e.i(997303);function tr({serverParam:e,channelId:d}){var c,u;let m=(0,a.useRouter)(),h=(0,a.useSearchParams)(),p=decodeURIComponent(e);(0,n.useEffect)(()=>{(0,te.setLastChannel)(p,d)},[p,d]);let[g]=(0,n.useState)(()=>h.get("msg")),x=(0,r.useBreakpoint)(),f=(0,G.useCurrentUser)(),v=(0,eF.useUiHandlers)(),b=(0,eF.useCurrentChannelId)(),y=function(e,t,r){var i;let l,o,d,c,u=(0,a.useRouter)(),m=(0,X.useQueryClient)(),{server:h}=(0,tt.useServer)(e),p=(0,eF.useCurrentChannelMeta)(),g=h?.categories?.flatMap(e=>e.channels).some(e=>e.id===r),x=!!h?.categories&&!g,f=(l=(0,e9.useCommunityWsStore)(e=>e.accessEpoch),o=(0,e9.useCommunityWsStore)(e=>e.accessConnected),d=(0,Q.useQuery)({queryKey:V.communityKeys.forumSidebarThreads(e),queryFn:()=>Promise.reject(Error("forum sidebar observer only")),enabled:!1}),{...c=(0,Q.useQuery)({queryKey:V.communityKeys.channelMeta(e,r),queryFn:async()=>{let e=e9.useCommunityWsStore.getState().accessEpoch;var t=await (0,s.apiFetch)(`/api/community/channels/${r}`);if(!t.parentChannelId||!t.parentMessageId)throw Error("invalid child channel metadata");return{id:t.id,serverId:t.serverId,name:t.name,type:t.type,parentChannelId:t.parentChannelId,parentMessageId:t.parentMessageId,creatorId:t.creatorId,archived:!0===t.archived||1===t.archived,activityAt:t.lastMessageAt??t.createdAt,verifiedEpoch:e}},enabled:x&&(d.isSuccess&&"idle"===d.fetchStatus||d.isError),staleTime:1/0,gcTime:3e5}),isVerified:(i=c.data,!!i&&o&&i.verifiedEpoch===l&&!i.archived)}),v=(0,n.useMemo)(()=>(function(e,t,a,n=null){let s=e?.categories?.flatMap(e=>e.channels)??[],r=s.find(e=>e.id===a)??null,i=!r&&!!e?.categories,l=!i||n?.channelId===a&&n.settled,o=!i||l?t:null,d=o?.parentChannelId?s.find(e=>e.id===o.parentChannelId)??null:null;return{server:e,channel:r,parent:d,currentChannelMeta:o,isForum:(0,ev.isForum)(r?.type),isChild:i,isForumPostChild:i&&(0,ev.isForum)(d?.type),isNotifyUnit:i,metaSettled:l,routeHydrated:!!e?.categories&&l&&(!i||null!==o)}})(h,p,r,x?{channelId:r,settled:f.isVerified}:{channelId:r,settled:!0}),[r,p,x,f.isVerified,h]);return(0,n.useEffect)(()=>(eF.useCommunityStore.getState().setCurrentChannelId(r),()=>{eF.useCommunityStore.getState().setCurrentChannelId(null)}),[r]),(0,n.useEffect)(()=>((0,eU.communityWsSubscribe)({channelId:r}),()=>(0,eU.communityWsUnsubscribe)()),[r]),(0,n.useEffect)(()=>{x?f.data&&f.isVerified?eF.useCommunityStore.getState().setCurrentChannelMeta(f.data):(f.error||f.data?.archived)&&(eF.useCommunityStore.getState().setCurrentChannelMeta(null),f.data?.archived||(0,ta.isDefinitiveChildMetaFailure)(f.error)?((0,Y.removeForumSidebarUnreadChild)(m,e,r),(0,Y.removeForumSidebarThreadExact)(m,e,r),(0,te.getLastChannel)(e)===r&&(0,te.clearLastChannel)(e),u.replace(`/c/channels/${t}`)):(0,s.toastApiError)(f.error,"Failed to load thread")):eF.useCommunityStore.getState().setCurrentChannelMeta(null)},[r,x,f.data,f.error,f.isVerified,m,u,e,t]),v}(p,e,d),{server:j,channel:N,parent:C,currentChannelMeta:S,isForum:w,isChild:I,isForumPostChild:M,isNotifyUnit:k}=y,A=(c=S?.parentMessageId,u=M&&y.routeHydrated,(0,Q.useQuery)({queryKey:V.communityKeys.forumOpenerHint(p,c??"__none__"),queryFn:async()=>{let e=await (0,s.apiFetch)(`/api/community/messages/${c}`);return{id:e.id,content:e.content}},enabled:u&&!!c,staleTime:1/0,gcTime:3e5})),R=(0,n.useMemo)(()=>{var e;return(e={forumPostTitle:M?A.data?.content:null,topLevelName:N?.name,childChannelName:M?null:S?.name,forumListName:null,threadListName:null,fallback:M?"Post":"channel"}).localName??e.forumPostTitle??e.topLevelName??e.forumListName??e.threadListName??e.childChannelName??e.fallback??"channel"},[N,S,A.data?.content,M]),{composerMembers:E,onSearchComposerMembers:P,memberPanelProps:F,manageMembersDialog:O,resolveUserName:L,myRole:U}=function({serverId:e,channelId:a,channelName:r,currentServer:i,channelInServer:l,currentChannelMeta:o,isChildChannel:d,isNotifyUnit:c,currentUser:u}){var m;let h,p=(0,e8.useServerMembers)(e),g=(0,e9.useOnlineUserIds)(),x=(0,e9.useCommunityWsStore)(e=>e.userStatuses),[f,v]=(0,n.useState)({channelId:a,query:"",dialogOpen:!1}),b=f.channelId===a?f.query:"",y=f.channelId===a&&f.dialogOpen;(0,n.useEffect)(()=>{v(e=>e.channelId!==a||""!==e.query||e.dialogOpen?{channelId:a,query:"",dialogOpen:!1}:e)},[a]);let j=(0,n.useMemo)(()=>p.members.map(e=>{let t=x.get(e.userId);return{...e,status:(0,e3.resolveRowPresence)(e,g,u.id),statusEmoji:t?t.emoji:e.statusEmoji,statusText:t?t.text:e.statusText}}),[u.id,p.members,g,x]),N=(0,n.useMemo)(()=>{let e=d?o?.parentChannelId??a:a,t=i?.categories?.find(t=>t.channels.some(t=>t.id===e));return!!t?.private},[a,o,i,d]),C=(0,e4.useChannelMembers)(a,c||N&&!c),S=c?o?.parentChannelId??null:null,w=(0,e4.useChannelMembers)(S??"",!!S),I=(0,e4.useAddableMembers)(e,a,y&&N&&!c),M=(0,e4.useAddChannelMember)(a),k=(0,e4.useRemoveChannelMember)(a),T=o?.parentChannelId?i?.categories?.flatMap(e=>e.channels).find(e=>e.id===o.parentChannelId):null,A=d&&(0,ev.isForum)(T?.type)?e:void 0,R=(m=u.id,h=(0,X.useQueryClient)(),(0,e7.useMutation)({mutationFn:e=>(0,s.apiFetch)(`/api/community/channels/${encodeURIComponent(a)}/participants`,{method:"POST",body:JSON.stringify({userId:e})}),onSuccess:(e,t)=>{h.invalidateQueries({queryKey:V.communityKeys.channelMembers(a)}),A&&t===m&&(0,Y.grantForumSidebarChild)(h,A,a)}})),E=function(e,t,a,n=!!t){let r=(0,X.useQueryClient)();return(0,e7.useMutation)({mutationFn:t=>(0,s.apiFetch)(`/api/community/channels/${encodeURIComponent(e)}/participants/${encodeURIComponent(t)}`,{method:"DELETE"}),onSuccess:(s,i)=>{r.invalidateQueries({queryKey:V.communityKeys.channelMembers(e)}),t&&i===a&&(n?((0,Y.removeForumSidebarUnreadChild)(r,t,e),(0,Y.removeForumSidebarThreadExact)(r,t,e)):r.removeQueries({queryKey:V.communityKeys.channelMeta(t,e),exact:!0}),eF.useCommunityStore.getState().currentChannelId===e&&eF.useCommunityStore.getState().setCurrentChannelMeta(null))}})}(a,e,u.id,!!A),P=(0,e6.useSetMemberRole)(),F=(0,e6.useKickMember)(),O=(0,n.useMemo)(()=>{let e=b.trim().toLowerCase(),t=(t,a)=>!e||t.toLowerCase().includes(e)||(a??"").toLowerCase().includes(e),a=e=>{let t=x.get(e.userId);return{id:e.userId,userId:e.userId,name:e.name,discriminator:e.discriminator,avatar:e.avatar,sub:"",role:"member",status:(0,e3.resolveRowPresence)(e,g,u.id),statusEmoji:t?t.emoji:e.statusEmoji??null,statusText:t?t.text:e.statusText??"",isCreator:e.isCreator,source:e.source}};return c?C.members.filter(e=>t(e.name,e.discriminator)).map(e=>a({...e,source:void 0})):N?C.members.filter(e=>t(e.name,e.discriminator)).map(a):j},[C.members,N,u.id,c,b,j,g,x]),L=(0,n.useMemo)(()=>N?(c?w.members:C.members).filter(e=>e.userId!==u.id).map(e=>{let t=x.get(e.userId);return{...e,status:(0,e3.resolveRowPresence)(e,g,u.id),statusEmoji:t?t.emoji:e.statusEmoji,statusText:t?t.text:e.statusText}}):j.filter(e=>e.userId!==u.id),[C.members,N,u.id,c,j,g,w.members,x]),U=j.find(e=>e.userId===u.id)?.role,D=d?o?.creatorId:l?.creatorId,z=!!D&&D===u.id,q=c||N,K=c?E:k,$=q?{viewerUserId:u.id,viewerIsCreator:z,unitLabel:o?.name??r,onLeave:e=>K.mutateAsync(e),onRemove:e=>K.mutateAsync(e)}:void 0,B={members:O,membersLoading:q?C.isLoading:p.loading,membersLoadingMore:!q&&p.loadingMore,membersHasMore:!q&&p.hasMore,onLoadMoreMembers:q?void 0:p.loadMore,onSearchMembers:q?e=>v({channelId:a,query:e,dialogOpen:y}):p.searchMembers,onAddMember:q?()=>v({channelId:a,query:b,dialogOpen:!0}):void 0,manageContext:$,myRole:U,onSetRole:(t,a)=>{P.mutate({serverId:e,memberId:t,role:a},{onSuccess:()=>(0,eE.toast)("Role updated"),onError:e=>(0,s.toastApiError)(e,"Failed to update role")})},onKickMember:t=>F.mutateAsync({serverId:e,memberId:t}).then(()=>(0,eE.toast)("Member kicked"))},_=(0,n.useMemo)(()=>{if(!y)return null;if(c){let e=new Set(C.members.map(e=>e.userId)),n=w.members.filter(t=>!e.has(t.userId)&&t.userId!==u.id).map(e=>({userId:e.userId,name:e.name??null,avatar:e.avatar}));return(0,t.jsx)(e2.AddMembersDialog,{title:`Add participants to /${o?.name??r}`,subtitle:"Added people are notified of new replies. Anyone with access can already read it.",candidates:n,onAdd:e=>R.mutateAsync(e),onClose:()=>v({channelId:a,query:b,dialogOpen:!1})})}let e=I.members.map(e=>({userId:e.userId,name:e.name??null,avatar:e.avatar}));return(0,t.jsx)(e2.AddMembersDialog,{title:`Add members to /${r}`,subtitle:"Added members can see and post here.",candidates:e,onAdd:e=>M.mutateAsync(e),onClose:()=>v({channelId:a,query:b,dialogOpen:!1})})},[M,R,I.members,C.members,r,a,o,u.id,c,y,b,w.members]),H=(0,n.useMemo)(()=>(0,e5.makeUserNameResolver)(p.members),[p.members]);return{composerMembers:L,onSearchComposerMembers:p.searchMembers,memberPanelProps:B,manageMembersDialog:_,resolveUserName:H,myRole:U}}({serverId:p,channelId:d,channelName:R,currentServer:j,channelInServer:N,currentChannelMeta:S,isChildChannel:I,isNotifyUnit:k,currentUser:f}),D=(0,n.useMemo)(()=>(j?.categories?.flatMap(e=>e.channels)??[]).map(e=>({id:e.id,name:e.name,serverId:p,serverName:j?.name??""})),[j,p]),z=(0,tn.useNotificationSettings)().channel,{mutate:q}=(0,ts.useSetChannelNotif)(),K=(0,n.useCallback)(()=>{v.goBackMobile?.()},[v]),$=(0,n.useCallback)(()=>{m.back()},[m]),B=(0,n.useCallback)(e=>{q({channelId:d,level:e},{onError:e=>(0,s.toastApiError)(e,"Failed to update notification level")})},[d,q]);(0,n.useEffect)(()=>{g&&m.replace(`/c/channels/${e}/${d}`,{scroll:!1})},[]);let _=(0,n.useCallback)(t=>{m.push(`/c/channels/${e}/${t}`)},[m,e]),W=(0,n.useCallback)((e,t,a,n)=>{v.openProfile?.(e,t,a,n)},[v]);return b===d&&y.routeHydrated&&(!M||!A.isLoading)?I?(0,t.jsx)(eJ,{channelId:d,serverId:p,serverParam:e,channelName:R,viewer:f,anchorMessageId:g,parentChannelId:S?.parentChannelId??null,parentMessageId:S?.parentMessageId??null,parentChannelName:C?.name??"channel",parentIsForum:M,childCreatorId:S?.creatorId,canRenameThread:(0,ev.canManageServer)(U),headerServer:"mobile"===x&&j?{id:j.id,name:j.name,icon:j.icon}:void 0,notificationLevel:z[d]??T.USE_SERVER_DEFAULT,onSetNotificationLevel:B,onBack:"mobile"===x?$:void 0,onLoadingBack:"mobile"===x?K:void 0,composerMembers:E,onSearchComposerMembers:P,channelRefCandidates:D,memberPanelProps:F,manageMembersDialog:O,uiHandlers:v,onOpenChild:_,onOpenProfile:W,resolveUserName:L}):w?(0,t.jsx)(e1,{serverId:p,channelId:d,channelName:R,viewer:f,viewerRole:U,headerServer:"mobile"===x&&j?{id:j.id,name:j.name,icon:j.icon}:void 0,notificationLevel:z[d]??T.USE_SERVER_DEFAULT,onSetNotificationLevel:B,onBack:"mobile"===x?K:void 0,composerMembers:E,onSearchComposerMembers:P,memberPanelProps:F,manageMembersDialog:O,onOpenPost:_,onOpenProfile:W}):(0,t.jsx)(ez,{channelId:d,serverId:p,serverParam:e,channelName:R,viewer:f,anchorMessageId:g,headerServer:"mobile"===x&&j?{id:j.id,name:j.name,icon:j.icon}:void 0,notificationLevel:z[d]??T.USE_SERVER_DEFAULT,onSetNotificationLevel:B,onBack:"mobile"===x?K:void 0,composerMembers:E,onSearchComposerMembers:P,channelRefCandidates:D,memberPanelProps:F,manageMembersDialog:O,uiHandlers:v,onOpenThread:_,onOpenProfile:W,resolveUserName:L}):w?(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(i.ChannelHeaderSkeleton,{onBack:"mobile"===x?K:void 0}),(0,t.jsx)("main",{className:"flex min-h-0 min-w-0 flex-1 flex-col",children:(0,t.jsx)(H,{})})]}):(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(i.ChannelHeaderSkeleton,{onBack:"mobile"===x?K:void 0}),(0,t.jsxs)("main",{className:"flex min-h-0 min-w-0 flex-1 flex-col",children:[(0,t.jsx)(l.MessageList,{channel:"",messages:[],loading:!0,onOpenThread:()=>{}},d),(0,t.jsx)(o.ComposerSkeleton,{})]})]})}e.s(["default",0,function(){let e=(0,a.useParams)(),n=`${e.serverId}/${e.channelId}`;return(0,t.jsx)(tr,{serverParam:e.serverId,channelId:e.channelId},n)}],474585)}]);
@@ -1 +1 @@
1
- (globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,349451,e=>{"use strict";var t=e.i(579848),n=e.i(561362),a=e.i(395372);e.s(["useAriaLabelledBy",0,function(e,i,r,s=!0,l){let[o,d]=t.useState(),c=(0,a.useBaseUiId)(l?`${l}-label`:void 0),u=e??i??o;return(0,n.useIsoLayoutEffect)(()=>{let t=e||i||!s?void 0:function(e,t){let n=function(e){if(!e)return;let t=e.parentElement;if(t&&"LABEL"===t.tagName)return t;let n=e.id;if(n){let t=e.nextElementSibling;if(t&&t.htmlFor===n)return t}let a=e.labels;return a&&a[0]}(e);if(n)return!n.id&&t&&(n.id=t),n.id||void 0}(r.current,c);o!==t&&d(t)}),u}])},654117,707884,830366,11200,343262,751208,76818,e=>{"use strict";var t=e.i(130024);let n=(0,t.default)("link-2",[["path",{d:"M9 17H7A5 5 0 0 1 7 7h2",key:"8i5ue5"}],["path",{d:"M15 7h2a5 5 0 1 1 0 10h-2",key:"1b9ql8"}],["line",{x1:"8",x2:"16",y1:"12",y2:"12",key:"1jonct"}]]);e.s(["Link2",0,n],654117);let a=(0,t.default)("scroll-text",[["path",{d:"M15 12h-5",key:"r7krc0"}],["path",{d:"M15 8h-5",key:"1khuty"}],["path",{d:"M19 17V5a2 2 0 0 0-2-2H4",key:"zz82l3"}],["path",{d:"M8 21h12a2 2 0 0 0 2-2v-1a1 1 0 0 0-1-1H11a1 1 0 0 0-1 1v1a2 2 0 1 1-4 0V5a2 2 0 1 0-4 0v2a1 1 0 0 0 1 1h3",key:"1ph1d7"}]]);e.s(["ScrollText",0,a],707884);var i=e.i(633940),r=e.i(579848),s=e.i(611797),l=e.i(3136),o=e.i(95934),d=e.i(566097),d=d,c=e.i(280767),u=e.i(140252),m=e.i(785188),h=e.i(213054),x=e.i(607711),g=e.i(393153);function p({side:e}){return(0,i.jsx)("div",{className:`pointer-events-none absolute inset-x-1 z-10 h-0.5 rounded-full bg-primary ${"top"===e?"-top-px":"-bottom-px"}`})}e.s(["SortableCategory",0,function({id:e,name:t,open:n,onToggle:a,onAddChannel:f,onSettings:v,onDelete:b,isPrivate:j,canReorder:C=!0,pending:y=!1,children:k}){var N;let[w,S]=(0,r.useState)(!1),{attributes:I,listeners:z,setNodeRef:M,transform:D,transition:E,isDragging:O,isOver:T,activeIndex:P,index:R}=(0,u.useSortable)({id:e,disabled:!C}),{setNodeRef:A,isOver:$}=(0,m.useDroppable)({id:e}),L={transform:h.CSS.Transform.toString(D),transition:E,opacity:O?.4:1,zIndex:O?10:void 0},F={...I,...z,onClick:a,className:`group flex w-full touch-none items-center gap-1 rounded px-1 py-1 text-xs font-semibold text-muted-foreground/80 select-none hover:text-foreground ${C?"cursor-grab active:cursor-grabbing":"cursor-pointer"}`},B=(0,i.jsxs)(i.Fragment,{children:[j?(0,i.jsx)(d.default,{className:"size-3 shrink-0"}):(0,i.jsx)("span",{className:"size-3 shrink-0","aria-hidden":"true"}),(0,i.jsx)("span",{className:"flex-1 truncate text-left",children:t}),v&&(0,i.jsx)("button",{onPointerDown:e=>e.stopPropagation(),onClick:e=>{e.stopPropagation(),v()},className:"grid size-4 place-items-center rounded opacity-0 hover:bg-accent group-hover:opacity-100","aria-label":`Category settings for ${t}`,children:(0,i.jsx)(o.Settings,{className:"size-3.5"})}),f&&(0,i.jsx)("button",{onPointerDown:e=>e.stopPropagation(),onClick:e=>{e.stopPropagation(),f()},className:"grid size-4 place-items-center rounded opacity-0 hover:bg-accent group-hover:opacity-100","aria-label":`Create channel in ${t}`,children:(0,i.jsx)(l.Plus,{className:"size-3.5"})}),(0,i.jsx)(s.ChevronDown,{className:`size-3 shrink-0 transition-transform ${n?"":"-rotate-90"}`})]});return(0,i.jsxs)("div",{ref:M,style:L,className:`relative mb-4 ${y?"opacity-60":""}`,children:[T&&!O&&(0,i.jsx)(p,{side:-1!==P&&P<R?"bottom":"top"}),(N={onAddChannel:f,onSettings:v,onDelete:b}).onAddChannel||N.onSettings||N.onDelete?(0,i.jsxs)(x.ContextMenu,{children:[(0,i.jsx)(x.ContextMenuTrigger,{render:(0,i.jsx)("div",{...F}),children:B}),(0,i.jsxs)(x.ContextMenuContent,{className:"w-48",children:[(0,i.jsx)("div",{className:"truncate px-2 py-2 text-xs font-semibold text-muted-foreground",children:t}),f&&(0,i.jsxs)(x.ContextMenuItem,{onClick:f,children:[(0,i.jsx)(l.Plus,{className:"size-4"})," Create channel"]}),v&&(0,i.jsxs)(x.ContextMenuItem,{onClick:v,children:[(0,i.jsx)(o.Settings,{className:"size-4"})," Category settings"]}),b&&(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(x.ContextMenuSeparator,{}),(0,i.jsxs)(x.ContextMenuItem,{onClick:()=>S(!0),className:"text-destructive data-highlighted:bg-destructive/10 data-highlighted:text-destructive",children:[(0,i.jsx)(c.Trash2,{className:"size-4"})," Delete category"]})]})]})]}):(0,i.jsx)("div",{...F,children:B}),n&&(0,i.jsx)("div",{ref:A,className:`rounded-md transition-colors ${$?"bg-accent/40":""}`,children:k}),b&&(0,i.jsx)(g.ConfirmDialog,{open:w,onOpenChange:S,title:`Delete ${t}?`,description:"Channels inside this category will also be removed. This can't be undone.",confirmLabel:"Delete category",onConfirm:()=>{S(!1),b()}})]})}],830366);var f=e.i(314325),v=e.i(23299),b=e.i(351190),j=e.i(253151),C=e.i(670544),y=e.i(381153);e.s(["PendingChannelRow",0,function({ch:e}){return(0,i.jsxs)("div",{"aria-disabled":!0,className:"group relative flex h-8 w-full cursor-default items-center gap-2 rounded-md px-2 text-sm text-muted-foreground opacity-60 select-none",children:[(0,i.jsx)("span",{className:"grid size-5 shrink-0 place-items-center opacity-70",children:(0,i.jsx)(v.Loader2,{className:"size-4 animate-spin"})}),(0,i.jsx)("span",{className:"truncate font-semibold",children:e.name})]})},"SortableChannel",0,function({ch:e,active:t,onClick:n,onEdit:a,onDelete:s,onManageMembers:l,canReorder:o=!0}){var d;let[m,v]=(0,r.useState)(!1),{attributes:k,listeners:N,setNodeRef:w,transform:S,transition:I,isDragging:z,isOver:M,activeIndex:D,index:E}=(0,u.useSortable)({id:e.id,disabled:!o}),O={transform:h.CSS.Transform.toString(S),transition:I,opacity:z?.4:1,zIndex:z?10:void 0},T=(0,i.jsxs)("div",{ref:w,style:O,onClick:n,"data-testid":y.tid.channelRow(e.id),...k,...N,className:["group relative flex h-8 w-full cursor-pointer touch-none items-center gap-2 rounded-md px-2 text-sm select-none",o?"active:cursor-grabbing":"",t?"bg-sidebar-accent text-foreground":e.muted?"text-muted-foreground/50 hover:bg-sidebar-accent/60 hover:text-muted-foreground":e.unread?"text-foreground hover:bg-sidebar-accent/60":"text-muted-foreground hover:bg-sidebar-accent/60 hover:text-foreground"].join(" "),children:[M&&!z&&(0,i.jsx)(p,{side:-1!==D&&D<E?"bottom":"top"}),(0,i.jsx)("span",{className:"grid size-5 shrink-0 place-items-center opacity-70",children:(0,i.jsx)(C.EntityIcon,{kind:e.type,className:"size-4"})}),(0,i.jsx)("span",{className:"truncate font-semibold",children:e.name}),e.muted?(0,i.jsx)(f.BellOff,{className:"ml-auto size-4 shrink-0 opacity-70"}):e.unread&&!t?(0,i.jsx)("span",{className:"ml-auto size-2 rounded-full bg-primary"}):null]});return(d={onEdit:a,onManageMembers:l,onDelete:s}).onEdit||d.onManageMembers||d.onDelete?(0,i.jsxs)(i.Fragment,{children:[(0,i.jsxs)(x.ContextMenu,{children:[(0,i.jsx)(x.ContextMenuTrigger,{render:T}),(0,i.jsxs)(x.ContextMenuContent,{className:"w-48",children:[(0,i.jsxs)("div",{className:"truncate px-2 py-2 text-xs font-semibold text-muted-foreground",children:["/",e.name]}),a&&(0,i.jsxs)(x.ContextMenuItem,{onClick:a,children:[(0,i.jsx)(b.Pencil,{className:"size-4"})," Edit channel"]}),l&&(0,i.jsxs)(x.ContextMenuItem,{onClick:l,children:[(0,i.jsx)(j.Users,{className:"size-4"})," Manage members"]}),s&&(0,i.jsxs)(i.Fragment,{children:[a&&(0,i.jsx)(x.ContextMenuSeparator,{}),(0,i.jsxs)(x.ContextMenuItem,{onClick:()=>v(!0),className:"text-destructive data-highlighted:bg-destructive/10 data-highlighted:text-destructive",children:[(0,i.jsx)(c.Trash2,{className:"size-4"})," Delete channel"]})]})]})]}),s&&(0,i.jsx)(g.ConfirmDialog,{open:m,onOpenChange:v,title:`Delete /${e.name}?`,description:"This channel and its message history will be removed for everyone. This can't be undone.",confirmLabel:"Delete channel",onConfirm:()=>{v(!1),s()}})]}):T}],11200);var k=e.i(961560),N=e.i(611595),w=e.i(186339),S=e.i(513166),I=e.i(86053),z=e.i(388026);e.s(["CreateChannelDialog",0,function({category:e,initial:t,onClose:n,onCreate:a}){let s=!!t,[l,o]=(0,r.useState)(t?.type??"text"),[d,c]=(0,r.useState)(t?.name??""),u=(0,z.previewSlug)(d),m=()=>{let e=d.trim();u.slug&&(a({name:e,type:l}),n())};return(0,i.jsx)(N.CreateDialogShell,{onClose:n,title:`${s?"Edit channel":"New channel"}${e?` in ${e}`:""}`,footer:(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(w.Button,{variant:"ghost",size:"sm",onClick:n,children:"Cancel"}),(0,i.jsx)(w.Button,{size:"sm","data-testid":y.tid.createChannelSubmit,onClick:m,disabled:!u.slug,children:s?"Save":"Create Channel"})]}),children:(0,i.jsxs)("div",{className:"space-y-6 px-5 pb-5 pt-2",children:[(0,i.jsxs)("div",{children:[(0,i.jsxs)("div",{className:"flex items-center gap-2",children:[(0,i.jsx)(C.EntityIcon,{kind:l,className:"size-6 shrink-0 text-muted-foreground"}),(0,i.jsx)("input",{value:d,onChange:e=>c(e.target.value),onKeyDown:(0,S.onEnterSubmit)(m),placeholder:"new-channel",autoFocus:!0,"aria-label":"Channel name",className:"w-full border-0 bg-transparent p-0 text-[30px] font-medium leading-tight tracking-tight shadow-none outline-none placeholder:font-normal placeholder:text-muted-foreground/40 focus-visible:ring-0"})]}),(0,i.jsx)("div",{className:"mt-1 pl-8",children:(0,i.jsx)(I.SlugHint,{...u})})]}),!s&&(0,i.jsxs)("div",{children:[(0,i.jsx)("div",{className:"mb-1 text-xs text-muted-foreground",children:"Type"}),(0,i.jsx)("div",{className:"space-y-1",children:[{value:"text",label:"Text",desc:"Send messages, images, emoji, and opinions"},{value:"forum",label:"Forum",desc:"Create a space for organized discussions"}].map(e=>(0,i.jsxs)("button",{onClick:()=>o(e.value),"aria-pressed":l===e.value,className:["flex w-full items-center gap-3 rounded-md px-2 py-2 text-left transition-colors",l===e.value?"bg-accent":"hover:bg-accent/40"].join(" "),children:[(0,i.jsx)(C.EntityIcon,{kind:e.value,className:"size-4 shrink-0 text-muted-foreground"}),(0,i.jsxs)("span",{className:"min-w-0 flex-1",children:[(0,i.jsx)("span",{className:"block text-sm font-medium",children:e.label}),(0,i.jsx)("span",{className:"block text-xs text-muted-foreground",children:e.desc})]}),l===e.value&&(0,i.jsx)(k.Check,{className:"size-4 shrink-0 text-primary"})]},e.value))})]})]})})}],343262);var d=d,M=e.i(254618);let D="Making a category private limits it to invited members. Each stays visible only to its creator and invited members.";function E({isPrivate:e,onToggle:t,locked:n}){let a=n?`${D} Privacy can’t be changed after creation.`:D;return(0,i.jsxs)("div",{className:"flex items-start gap-3 rounded-md border border-border bg-card px-3 py-2",children:[(0,i.jsx)(d.default,{className:"mt-0.5 size-4 shrink-0 text-muted-foreground"}),(0,i.jsxs)("div",{className:"min-w-0 flex-1",children:[(0,i.jsx)("div",{className:"text-sm font-medium",children:"Private category"}),(0,i.jsx)("div",{className:"text-xs text-muted-foreground",children:a})]}),t&&(0,i.jsx)(M.Switch,{checked:e,onCheckedChange:t,className:"mt-0.5"})]})}e.s(["CreateCategoryDialog",0,function({onClose:e,onCreate:t,canTogglePrivate:n=!0}){let[a,s]=(0,r.useState)(""),[l,o]=(0,r.useState)(!1),d=()=>{let n=a.trim();n&&(t(n.toUpperCase(),{private:l}),e())};return(0,i.jsx)(N.CreateDialogShell,{onClose:e,title:"New category",footer:(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(w.Button,{variant:"ghost",size:"sm",onClick:e,children:"Cancel"}),(0,i.jsx)(w.Button,{size:"sm",onClick:d,disabled:!a.trim(),children:"Create category"})]}),children:(0,i.jsxs)("div",{className:"space-y-6 px-5 pb-5 pt-2",children:[(0,i.jsx)("input",{value:a,onChange:e=>s(e.target.value),onKeyDown:(0,S.onEnterSubmit)(d),placeholder:"e.g. Text channels",autoFocus:!0,"aria-label":"Category name",className:"w-full border-0 bg-transparent p-0 text-[30px] font-medium leading-tight tracking-tight shadow-none outline-none placeholder:font-normal placeholder:text-muted-foreground/40 focus-visible:ring-0"}),n&&(0,i.jsx)(E,{isPrivate:l,onToggle:o})]})})}],751208),e.s(["CategorySettingsDialog",0,function({name:e,isPrivate:t,onClose:n,onSave:a}){let[s,l]=(0,r.useState)(e),o=s.trim(),d=()=>{o&&(a(o.toUpperCase()),n())};return(0,i.jsx)(N.CreateDialogShell,{onClose:n,title:"Category settings",footer:(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(w.Button,{variant:"ghost",size:"sm",onClick:n,children:"Cancel"}),(0,i.jsx)(w.Button,{size:"sm",onClick:d,disabled:!o,children:"Save"})]}),children:(0,i.jsxs)("div",{className:"space-y-6 px-5 pb-5 pt-2",children:[(0,i.jsx)("input",{value:s,onChange:e=>l(e.target.value),onKeyDown:(0,S.onEnterSubmit)(d),placeholder:"e.g. Text channels",autoFocus:!0,"aria-label":"Category name",className:"w-full border-0 bg-transparent p-0 text-[30px] font-medium leading-tight tracking-tight shadow-none outline-none placeholder:font-normal placeholder:text-muted-foreground/40 focus-visible:ring-0"}),t&&(0,i.jsx)(E,{isPrivate:!0,locked:!0})]})})}],76818)},566097,e=>{"use strict";let t=(0,e.i(130024).default)("lock",[["rect",{width:"18",height:"11",x:"3",y:"11",rx:"2",ry:"2",key:"1w4ew1"}],["path",{d:"M7 11V7a5 5 0 0 1 10 0v4",key:"fwvmzm"}]]);e.s(["default",0,t])},113050,e=>{"use strict";var t=e.i(633940),n=e.i(579848),a=e.i(95934),i=e.i(253151),r=e.i(654117),s=e.i(931871),l=e.i(707884),o=e.i(611797),d=e.i(560976),c=e.i(785188),u=e.i(140252),m=e.i(607711),h=e.i(89164),x=e.i(728886),g=e.i(830366),p=e.i(11200),f=e.i(343262),v=e.i(751208),b=e.i(76818),j=e.i(654305),C=e.i(737025),y=e.i(746632),k=e.i(779646),N=e.i(903477),w=e.i(186339),S=e.i(531342),I=e.i(39185),z=e.i(814001),M=e.i(849050),D=e.i(374402),E=e.i(445498);let O=Object.freeze([]);async function T(e){let[t,n]=await Promise.all([(0,M.apiFetch)("/api/community/friends/accepted"),(0,E.fetchAllServerMembers)(e)]);if(t.stale)throw Error("stale D1 read");let a=new Set(n.map(e=>e.userId));return{friends:t.friends.filter(e=>!e.userId||!a.has(e.userId))}}e.i(384302);var P=e.i(54372),R=e.i(776152),A=e.i(459663),$=e.i(183899);let L=window.location.origin;function F(e){return`${L}/c/invite/${e}`}function B({open:e,onOpenChange:a,serverId:i,serverName:r}){let s=(0,$.useCurrentUser)(),{friends:l,isLoading:o}=function(e,t=!0){let n=(0,z.useQuery)({queryKey:D.communityKeys.invitableFriends(e),queryFn:()=>T(e),enabled:t&&!!e});return{...n,friends:n.data?.friends??O}}(i,e),d=(0,P.useResolveOrCreateInvite)(i),c=(0,R.useCreateOrGetDm)(),{accept:u}=(0,A.useDmMessageSender)(),[m,h]=(0,n.useState)(null),[g,p]=(0,n.useState)(null),[f,v]=(0,n.useState)(new Set),[b,j]=(0,n.useState)("");(0,n.useEffect)(()=>{if(!e||m)return;let t=!1;return p(null),d(s.id,s.name).then(e=>{t||h(e.token)}).catch(e=>{t||p(e instanceof Error?e.message:"Couldn't create an invite")}),()=>{t=!0}},[e,m]);let M=(0,n.useMemo)(()=>{let e=b.trim().toLowerCase();return l.filter(t=>!e||t.name.toLowerCase().includes(e)||(t.sub??"").toLowerCase().includes(e))},[l,b]),E=async e=>{if(m&&e.userId)try{let{conversation:t}=await c.mutateAsync({userId:e.userId}),n=u({dmId:t.id,content:F(m),author:{id:s.id,name:s.name,avatar:s.avatar}});if(!n.accepted)throw Error("Couldn't send invite");let a=await n.committed;if(!a.ok)throw a.error;v(t=>{let n=new Set(t);return n.add(e.userId),n})}catch(t){let e=t instanceof Error?t.message:"Couldn't send invite";(0,y.toast)(e)}},L=async()=>{if(m)try{await navigator.clipboard.writeText(F(m)),(0,y.toast)("Invite link copied")}catch{(0,y.toast)("Couldn't copy — copy manually")}};return(0,t.jsx)(k.Dialog,{open:e,onOpenChange:e=>{e||(v(new Set),j("")),a(e)},children:(0,t.jsxs)(k.DialogContent,{className:"flex max-h-[80vh] w-full flex-col gap-0 p-0 sm:max-w-md",children:[(0,t.jsx)("header",{className:"border-b border-border/50 px-4 py-3",children:(0,t.jsxs)("h2",{className:"truncate text-sm font-semibold",children:["Invite friends to ",r]})}),(0,t.jsx)("div",{className:"px-4 pt-3",children:(0,t.jsxs)("label",{className:"relative block",children:[(0,t.jsx)(C.Search,{"aria-hidden":!0,className:"pointer-events-none absolute left-3 top-1/2 size-4 -translate-y-1/2 text-muted-foreground"}),(0,t.jsx)(N.Input,{value:b,onChange:e=>j(e.target.value),placeholder:"Search for friends",className:"pl-9"})]})}),(0,t.jsx)("div",{className:"min-h-0 flex-1 overflow-y-auto thin-scrollbar px-2 py-2",children:o&&0===l.length?(0,t.jsx)("div",{className:"space-y-2 px-2",children:Array.from({length:4}).map((e,n)=>(0,t.jsxs)("div",{className:"flex items-center gap-3",children:[(0,t.jsx)(x.Skeleton,{className:"size-8 rounded-full"}),(0,t.jsx)(x.Skeleton,{className:"h-3 w-32 rounded"})]},n))}):0===M.length?(0,t.jsx)("p",{className:"px-2 py-6 text-center text-sm text-muted-foreground",children:0===l.length?"No friends to invite — everyone you know is already here.":"No matches."}):M.map(e=>{let n=!!e.userId&&f.has(e.userId);return(0,t.jsxs)("div",{className:"flex items-center gap-3 rounded-md px-2 py-2 hover:bg-accent/40",children:[(0,t.jsx)(S.Avatar,{label:e.avatar||e.name,seed:e.userId,size:32,presence:e.status,ringColor:"var(--popover)"}),(0,t.jsxs)("div",{className:"min-w-0 flex-1",children:[(0,t.jsx)("div",{className:"truncate text-sm font-medium",children:e.name}),(0,I.hasStatus)(e.statusEmoji,e.statusText)&&(0,t.jsxs)("div",{className:"truncate text-xs text-muted-foreground",children:[e.statusEmoji," ",e.statusText]})]}),(0,t.jsx)(w.Button,{size:"sm",variant:n?"secondary":"default",disabled:!m||n||!e.userId,onClick:()=>E(e),children:n?"Invited":"Invite"})]},e.id)})}),(0,t.jsxs)("footer",{className:"border-t border-border/50 px-4 py-3",children:[(0,t.jsx)("div",{className:"text-xs font-medium text-muted-foreground",children:"Or, send a server invite link to a friend"}),g?(0,t.jsx)("p",{className:"mt-2 text-xs text-destructive",children:g}):(0,t.jsxs)("div",{className:"mt-2 flex items-center gap-2",children:[(0,t.jsx)(N.Input,{readOnly:!0,value:m?F(m):"",placeholder:m?"":"Loading…",className:"font-mono text-xs"}),(0,t.jsx)(w.Button,{size:"sm",onClick:L,disabled:!m,children:"Copy"})]})]})]})})}var U=e.i(648655),H=e.i(825149);function V({serverId:e,channelId:n,channelName:a,onClose:i}){let{members:r}=(0,H.useAddableMembers)(e,n),s=(0,H.useAddChannelMember)(n),l=r.map(e=>({userId:e.userId,name:e.name??null,avatar:e.avatar}));return(0,t.jsx)(U.AddMembersDialog,{title:`Add members to /${a}`,subtitle:"Added members can see and post in this channel.",candidates:l,onAdd:e=>s.mutateAsync(e),onClose:i})}e.i(954194);var W=e.i(908967),K=e.i(381153);let _=(0,n.memo)(function({tree:e,serverName:x,activeChannel:C,setActiveChannel:y,noHeader:k,onOpenSettings:N,isAdmin:w=!0,currentUserId:S,onBlockedCreate:I,mutedChannels:z,loading:M,onCreateChannel:D,onCreateCategory:E,onDeleteChannel:O,onDeleteCategory:T,onUpdateCategory:P,onRenameChannel:R,onReorderCategories:A,onReorderChannels:$,onMoveChannel:L,onBlockedMove:F,serverId:U,invitePopoverOpen:H,onInvitePopoverOpenChange:K,forumThreadsByParent:_={},activeThreadId:Q,onSelectForumThread:Y}){let{collapsed:J,catOrder:Z,order:X,catNames:ee,catPrivate:et,catPending:en,toggleCat:ea,removeChannel:ei,renameChannel:er,renameCategory:es,onDragOver:el,onDragEnd:eo}=e,ed=(0,n.useRef)(void 0),ec=(0,c.useSensors)((0,c.useSensor)(c.PointerSensor,{activationConstraint:{distance:5}})),[eu,em]=(0,n.useState)(null),eh=e=>z&&e.id in z?{...e,muted:z[e.id]}:e,ex=!!Q&&Object.values(_).some(e=>e.some(e=>e.id===Q)),eg=e=>{let n=_[e]??[];if(0===n.length)return null;let a=28*(n.length-1)+14,i=[`M 1 0 V ${a-6} Q 1 ${a} 7 ${a} H 16`,...n.slice(0,-1).map((e,t)=>`M 1 ${28*t+14} H 16`)].join(" ");return(0,t.jsxs)("div",{className:"relative mt-0! ml-5",children:[(0,t.jsx)("svg",{"aria-hidden":"true",viewBox:`0 0 16 ${28*n.length}`,preserveAspectRatio:"none",className:"pointer-events-none absolute top-0 left-0 w-4 text-muted-foreground/60",style:{height:28*n.length},children:(0,t.jsx)("path",{d:i,fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",vectorEffect:"non-scaling-stroke"})}),n.map(n=>(0,t.jsx)(q,{thread:n,active:n.id===Q,muted:!!z?.[e],onClick:()=>Y?.(n.id)},n.id))]})},ep=Object.keys(ee).find(e=>""===ee[e])??"";if(M)return(0,t.jsx)(G,{noHeader:k});let ef=e=>!!et[e]||w,ev=e=>{ef(e)?em({kind:"create-channel",categoryId:e}):I?.()},eb=async(e,{name:t,type:n})=>{let a=await D?.(e,t,n);a&&y(a)},ej=(0,t.jsxs)(c.DndContext,{id:"d-channels",sensors:ec,collisionDetection:c.closestCenter,onDragStart:e=>{let t=String(e.active.id);ed.current=(0,j.isCat)(t)?void 0:(0,j.catOf)(t,X)},onDragOver:el,onDragEnd:e=>{let t=ed.current;ed.current=void 0,eo(e);let{active:n,over:a}=e;if(!a||n.id===a.id)return;let i=String(n.id),r=String(a.id);if(i.startsWith("cat_")&&r.startsWith("cat_")){let e=-1!==Z.indexOf(i)?(()=>{let e=Z.indexOf(i),t=Z.indexOf(r);if(-1===e||-1===t)return null;let n=[...Z],[a]=n.splice(e,1);return n.splice(t,0,a),n})():null;e&&A?.(e.filter(e=>!en[e]))}else if(!i.startsWith("cat_")){let e=(0,j.catOf)(i,X),n=(0,j.isCat)(r)?r:(0,j.catOf)(r,X);if(t&&n&&n!==t&&e===t&&!!et[t]!=!!et[n])return void F?.();let a=(0,j.reorderChannelsWithin)(X,i,r),s=Z.flatMap(e=>(a[e]??[]).filter(e=>!e.pending).map(e=>e.id));if(e&&t&&e!==t){let t=""===ee[e]||e===W.UNCATEGORIZED_CATEGORY_ID;L?.(i,t?null:e)}$?.(s)}},children:[ep&&X[ep]?.length>0&&(0,t.jsx)(u.SortableContext,{items:X[ep].filter(e=>!e.pending).map(e=>e.id),strategy:u.verticalListSortingStrategy,children:(0,t.jsx)("div",{className:"mb-4 space-y-1",children:X[ep].map(e=>e.pending?(0,t.jsx)(p.PendingChannelRow,{ch:e},e.id):(0,t.jsxs)(n.Fragment,{children:[(0,t.jsx)(p.SortableChannel,{ch:eh(e),active:e.id===C&&!ex,canReorder:w,onClick:()=>y(e.id),onEdit:w?()=>em({kind:"edit-channel",id:e.id,categoryId:ep,name:e.name,type:e.type??"text"}):void 0,onDelete:w?()=>{ei(e.id),O?.(e.id)}:void 0}),eg(e.id)]},e.id))})}),(0,t.jsx)(u.SortableContext,{items:Z.filter(e=>""!==ee[e]&&!en[e]).map(e=>(0,j.catId)(e)),strategy:u.verticalListSortingStrategy,children:Z.filter(e=>""!==ee[e]).map(e=>(0,t.jsx)(g.SortableCategory,{id:(0,j.catId)(e),name:ee[e]??e,open:!J.has(e),onToggle:()=>ea(e),onAddChannel:!en[e]&&ef(e)?()=>ev(e):void 0,onSettings:!en[e]&&w?()=>em({kind:"category-settings",categoryId:e}):void 0,onDelete:!en[e]&&w?()=>T?.(e):void 0,isPrivate:et[e],canReorder:w&&!en[e],pending:en[e],children:(0,t.jsx)(u.SortableContext,{items:(X[e]??[]).filter(e=>!e.pending).map(e=>e.id),strategy:u.verticalListSortingStrategy,children:(0,t.jsx)("div",{className:"mt-1 min-h-2 space-y-1",children:(X[e]??[]).map(a=>{if(a.pending)return(0,t.jsx)(p.PendingChannelRow,{ch:a},a.id);let i=w||!!et[e]&&a.creatorId===S;return(0,t.jsxs)(n.Fragment,{children:[(0,t.jsx)(p.SortableChannel,{ch:eh(a),active:a.id===C&&!ex,canReorder:w,onClick:()=>y(a.id),onEdit:i?()=>em({kind:"edit-channel",id:a.id,categoryId:e,name:a.name,type:a.type??"text"}):void 0,onDelete:i?()=>{ei(a.id),O?.(a.id)}:void 0,onManageMembers:et[e]&&i?()=>em({kind:"manage-members",channelId:a.id,channelName:a.name}):void 0}),eg(a.id)]},a.id)})})})},e))})]});return(0,t.jsxs)("aside",{className:"flex min-w-0 flex-1 flex-col",children:[!k&&(0,t.jsxs)("header",{className:"flex h-12 items-center gap-1 border-b border-border/40 px-2",children:[x&&N?(0,t.jsxs)(h.DropdownMenu,{children:[(0,t.jsxs)(h.DropdownMenuTrigger,{className:"flex min-w-0 max-w-full items-center gap-2 rounded-md px-2 py-1 hover:bg-accent focus-visible:ring-2 focus-visible:ring-ring focus-visible:outline-none",children:[(0,t.jsx)("span",{className:"min-w-0 truncate pr-1 font-brand text-[1.75rem] leading-none font-bold",children:x}),(0,t.jsx)(o.ChevronDown,{className:"size-4 shrink-0 text-muted-foreground"})]}),(0,t.jsxs)(h.DropdownMenuContent,{align:"start",className:"w-48",children:[(0,t.jsxs)(h.DropdownMenuItem,{onClick:()=>N("overview"),children:[(0,t.jsx)(a.Settings,{className:"size-4"})," Overview"]}),(0,t.jsxs)(h.DropdownMenuItem,{onClick:()=>N("members"),children:[(0,t.jsx)(i.Users,{className:"size-4"})," Members"]}),(0,t.jsxs)(h.DropdownMenuItem,{onClick:()=>N("invites"),children:[(0,t.jsx)(r.Link2,{className:"size-4"})," Invites"]}),(0,t.jsxs)(h.DropdownMenuItem,{onClick:()=>N("notifications"),children:[(0,t.jsx)(s.Bell,{className:"size-4"})," Notifications"]}),(0,t.jsxs)(h.DropdownMenuItem,{onClick:()=>N("audit"),children:[(0,t.jsx)(l.ScrollText,{className:"size-4"})," Audit Log"]})]})]}):(0,t.jsx)("span",{className:"flex min-w-0 max-w-full items-center gap-2 px-2",children:(0,t.jsx)("span",{className:"min-w-0 truncate pr-1 font-brand text-[1.75rem] leading-none font-bold",children:x||" "})}),U&&K&&(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)("button",{onClick:()=>K(!0),className:"ml-auto 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":"Invite to server",title:"Invite to server",children:(0,t.jsx)(d.UserPlus,{className:"size-4"})}),(0,t.jsx)(B,{open:!!H,onOpenChange:K,serverId:U,serverName:x})]})]}),w?(0,t.jsxs)(m.ContextMenu,{children:[(0,t.jsx)(m.ContextMenuTrigger,{render:(0,t.jsx)("div",{className:"flex-1 overflow-y-auto thin-scrollbar px-2 py-4"}),children:ej}),(0,t.jsxs)(m.ContextMenuContent,{className:"w-48",children:[(0,t.jsx)(m.ContextMenuItem,{onClick:()=>ev(ep),children:"Create channel"}),(0,t.jsx)(m.ContextMenuItem,{onClick:()=>em({kind:"create-category"}),children:"Create category"})]})]}):(0,t.jsx)("div",{className:"flex-1 overflow-y-auto thin-scrollbar px-2 py-4",children:ej}),eu?.kind==="create-channel"&&(0,t.jsx)(f.CreateChannelDialog,{category:ee[eu.categoryId]??"",onClose:()=>em(null),onCreate:e=>eb(eu.categoryId,e)}),eu?.kind==="edit-channel"&&(0,t.jsx)(f.CreateChannelDialog,{category:ee[eu.categoryId]??"",initial:{name:eu.name,type:eu.type},onClose:()=>em(null),onCreate:({name:e})=>{er(eu.id,e),R?.(eu.id,e)}}),eu?.kind==="create-category"&&(0,t.jsx)(v.CreateCategoryDialog,{onClose:()=>em(null),onCreate:(e,t)=>{E?.(e,t)},canTogglePrivate:w}),eu?.kind==="category-settings"&&(0,t.jsx)(b.CategorySettingsDialog,{name:ee[eu.categoryId]??"",isPrivate:!!et[eu.categoryId],onClose:()=>em(null),onSave:e=>{es(eu.categoryId,e),P?.(eu.categoryId,{name:e})}}),eu?.kind==="manage-members"&&U&&(0,t.jsx)(V,{serverId:U,channelId:eu.channelId,channelName:eu.channelName,onClose:()=>em(null)})]})});function q({thread:e,active:n,muted:a,onClick:i}){return(0,t.jsx)("div",{className:"relative h-7",children:(0,t.jsxs)("button",{type:"button","data-testid":K.tid.forumSidebarThread(e.id),"aria-current":n?"page":void 0,onClick:i,onContextMenu:e=>{e.preventDefault(),e.stopPropagation()},className:["ml-4 flex h-7 w-[calc(100%-1rem)] min-w-0 items-center rounded-md px-2 text-left text-xs",n?"bg-sidebar-accent text-foreground":a?"text-muted-foreground/50 hover:bg-sidebar-accent/60 hover:text-muted-foreground":e.unread?"font-semibold text-foreground hover:bg-sidebar-accent/60":"text-muted-foreground hover:bg-sidebar-accent/60 hover:text-foreground"].join(" "),children:[(0,t.jsx)("span",{className:"truncate",children:e.title}),a||!e.unread||n?null:(0,t.jsx)("span",{className:"ml-auto size-2 shrink-0 rounded-full bg-primary"})]})})}function G({noHeader:e}){return(0,t.jsxs)("aside",{className:"flex min-w-0 flex-1 flex-col",children:[!e&&(0,t.jsx)("header",{className:"flex h-12 items-center border-b border-border/40 px-2",children:(0,t.jsx)(x.Skeleton,{className:"h-5 w-32 rounded"})}),(0,t.jsxs)("div",{className:"flex-1 overflow-hidden px-2 py-4",children:[(0,t.jsxs)("div",{className:"mb-4 space-y-1",children:[(0,t.jsx)(x.Skeleton,{className:"h-7 w-full rounded-md"}),(0,t.jsx)(x.Skeleton,{className:"h-7 w-11/12 rounded-md"})]}),[40,32].map((e,n)=>(0,t.jsxs)("div",{className:"mb-4",children:[(0,t.jsx)("div",{className:"mb-2 flex items-center gap-1 px-1",children:(0,t.jsx)(x.Skeleton,{className:"h-3 rounded",style:{width:e}})}),(0,t.jsxs)("div",{className:"space-y-1",children:[(0,t.jsx)(x.Skeleton,{className:"h-7 w-full rounded-md"}),(0,t.jsx)(x.Skeleton,{className:"h-7 w-10/12 rounded-md"}),(0,t.jsx)(x.Skeleton,{className:"h-7 w-11/12 rounded-md"}),(0,t.jsx)(x.Skeleton,{className:"h-7 w-9/12 rounded-md"})]})]},n))]})]})}e.s(["ChannelSidebar",0,_],113050)},654305,e=>{"use strict";var t=e.i(579848),n=e.i(140252);let a=e=>e.startsWith("cat_");function i(e,t){return a(e)?e:Object.keys(t).find(n=>t[n].some(t=>t.id===e))}function r(e,t,a){let r=i(t,e);if(!r||!e[r].some(e=>e.id===a))return e;let s=e[r].findIndex(e=>e.id===t),l=e[r].findIndex(e=>e.id===a);return -1===s||-1===l?e:{...e,[r]:(0,n.arrayMove)(e[r],s,l)}}e.s(["catId",0,e=>e,"catOf",0,i,"isCat",0,a,"reorderChannelsWithin",0,r,"useChannelTree",0,function(e){let[s,l]=(0,t.useState)(new Set),[o,d]=(0,t.useState)(()=>e.map(e=>e.id)),[c,u]=(0,t.useState)(()=>Object.fromEntries(e.map(e=>[e.id,e.channels]))),[m,h]=(0,t.useState)(()=>Object.fromEntries(e.map(e=>[e.id,e.name]))),[x,g]=(0,t.useState)(()=>Object.fromEntries(e.map(e=>[e.id,!!e.private]))),[p,f]=(0,t.useState)(()=>Object.fromEntries(e.map(e=>[e.id,!!e.pending]))),[v,b]=(0,t.useState)(()=>Object.fromEntries(e.map(e=>[e.id,e.creatorId??null]))),j=(0,t.useRef)(e);(0,t.useEffect)(()=>{let t=j.current;if(j.current=e,e!==t){if(0===e.length){if(0===t.length)return;d([]),u({}),h({}),g({}),f({}),b({});return}t.map(e=>`${e.id}:${e.channels.map(e=>e.id).join(",")}`).join("|")===e.map(e=>`${e.id}:${e.channels.map(e=>e.id).join(",")}`).join("|")?u(t=>{let{next:n,changed:a}=function(e,t){let n=new Map;for(let e of t)for(let t of e.channels)n.set(t.id,t);let a=!1,i={};for(let[t,r]of Object.entries(e))i[t]=r.map(e=>{let t=n.get(e.id);return t&&(t.unread!==e.unread||t.name!==e.name)?(a=!0,{...e,unread:t.unread,name:t.name}):e});return{next:a?i:e,changed:a}}(t,e);return a?n:t}):(d(e.map(e=>e.id)),u(Object.fromEntries(e.map(e=>[e.id,e.channels]))),h(Object.fromEntries(e.map(e=>[e.id,e.name]))),g(Object.fromEntries(e.map(e=>[e.id,!!e.private]))),f(Object.fromEntries(e.map(e=>[e.id,!!e.pending]))),b(Object.fromEntries(e.map(e=>[e.id,e.creatorId??null]))))}},[e]);let C=(0,t.useCallback)(e=>l(t=>{let n=new Set(t);return n.has(e)?n.delete(e):n.add(e),n}),[]),y=(0,t.useCallback)(e=>u(t=>{let n;return(n=i(e,t))?{...t,[n]:t[n].filter(t=>t.id!==e)}:t}),[]),k=(0,t.useCallback)((e,t)=>u(n=>{let a=i(e,n);return a?{...n,[a]:n[a].map(n=>n.id===e?{...n,name:t}:n)}:n}),[]),N=(0,t.useCallback)(e=>u(t=>{let n=i(e,t);return n?{...t,[n]:t[n].map(t=>t.id===e?{...t,unread:!1}:t)}:t}),[]),w=(0,t.useCallback)((e,t)=>h(n=>n[e]===t?n:{...n,[e]:t}),[]),S=(0,t.useCallback)(e=>{let{active:t,over:n}=e;!n||a(String(t.id))||u(e=>{let a=i(String(t.id),e),r=i(String(n.id),e);return a&&r&&a!==r&&!!x[a]!=!!x[r]?e:function(e,t,n){let a=i(t,e),r=i(n,e);if(!a||!r||a===r)return e;let s=e[a].find(e=>e.id===t);if(!s)return e;let l=e[r].findIndex(e=>e.id===n),o=-1===l?e[r].length:l,d=[...e[r]];return d.splice(o,0,s),{...e,[a]:e[a].filter(e=>e.id!==t),[r]:d}}(e,String(t.id),String(n.id))})},[x]),I=(0,t.useCallback)(e=>{let{active:t,over:i}=e;!i||t.id===i.id||(a(String(t.id))&&a(String(i.id))?d(e=>{var a,r;let s,l;return a=String(t.id),r=String(i.id),s=e.indexOf(a),l=e.indexOf(r),-1===s||-1===l?e:(0,n.arrayMove)(e,s,l)}):a(String(t.id))||u(e=>r(e,String(t.id),String(i.id))))},[]);return(0,t.useMemo)(()=>({collapsed:s,catOrder:o,order:c,catNames:m,catPrivate:x,catPending:p,catCreators:v,toggleCat:C,removeChannel:y,renameChannel:k,markRead:N,renameCategory:w,onDragOver:S,onDragEnd:I}),[s,o,c,m,x,p,v,C,y,k,N,w,S,I])}])},254618,e=>{"use strict";var t=e.i(633940);e.s([],853499),e.i(853499);var n=e.i(579848),a=e.i(725587),i=e.i(149939),r=e.i(561362),s=e.i(588333),l=e.i(953076),o=e.i(396837),d=e.i(395372),c=e.i(396258),u=e.i(582420);let m=n.createContext(void 0),h={...e.i(508657).fieldValidityMapping,checked:e=>e?{"data-checked":""}:{"data-unchecked":""}};var x=e.i(340023),g=e.i(673378),p=e.i(397271),f=e.i(598213),v=e.i(584201),b=e.i(349451),j=e.i(70104),C=e.i(885021),y=e.i(364594),k=e.i(791100);let N=n.forwardRef(function(e,u){let{checked:N,className:w,defaultChecked:S,"aria-labelledby":I,form:z,id:M,inputRef:D,name:E,nativeButton:O=!1,onCheckedChange:T,readOnly:P=!1,required:R=!1,disabled:A=!1,render:$,uncheckedValue:L,value:F,style:B,...U}=e,{clearErrors:H}=(0,f.useFormContext)(),{state:V,setTouched:W,setDirty:K,validityData:_,setFilled:q,setFocused:G,validationMode:Q,disabled:Y,name:J,validation:Z}=(0,g.useFieldRootContext)(),{labelId:X}=(0,v.useLabelableContext)(),ee=Y||A,et=J??E,en=n.useRef(null),ea=(0,i.useMergedRefs)(en,D,Z.inputRef),ei=n.useRef(null),er=(0,d.useBaseUiId)(),es=(0,j.useLabelableId)({id:M,implicit:!1,controlRef:ei}),el=O?void 0:es,[eo,ed]=(0,a.useControlled)({controlled:N,default:!!S,name:"Switch",state:"checked"});(0,p.useRegisterFieldControl)(ei,er,eo,void 0,!ee,E),(0,r.useIsoLayoutEffect)(()=>{en.current&&q(en.current.checked)},[q]),(0,k.useValueChanged)(eo,()=>{H(et),K(eo!==_.initialValue),q(eo),Z.change(eo)});let{getButtonProps:ec,buttonRef:eu}=(0,c.useButton)({disabled:ee,native:O}),em=(0,b.useAriaLabelledBy)(I,X,en,!O,el),eh={...Z.getValidationProps(ee),checked:eo,disabled:ee,form:z,id:el,name:et,required:R,style:et?s.visuallyHiddenInput:s.visuallyHidden,tabIndex:-1,type:"checkbox","aria-hidden":!0,ref:ea,onChange(e){if(e.nativeEvent.defaultPrevented)return;if(P)return void e.preventDefault();let t=e.currentTarget.checked,n=(0,C.createChangeEventDetails)(y.REASONS.none,e.nativeEvent);T?.(t,n),n.isCanceled||ed(t)},onClick(e){e.stopPropagation()},onFocus(){ei.current?.focus()},...void 0!==F?{value:F}:l.EMPTY_OBJECT},ex=n.useMemo(()=>({...V,checked:eo,disabled:ee,readOnly:P,required:R}),[V,eo,ee,P,R]),eg=(0,o.useRenderElement)("span",e,{state:ex,ref:[u,ei,eu],props:[{id:O?es:er,role:"switch","aria-checked":eo,"aria-readonly":P||void 0,"aria-required":R||void 0,"aria-labelledby":em,onFocus(){ee||G(!0)},onBlur(){let e=en.current;e&&!ee&&(W(!0),G(!1),"onBlur"===Q&&Z.commit(e.checked))},onClick(e){if(P||ee)return;e.preventDefault();let t=en.current;t&&(0,x.dispatchClickWithModifiers)(t,e)}},U,ec,e=>Z.getValidationProps(ee,e)],stateAttributesMapping:h});return(0,t.jsxs)(m.Provider,{value:ex,children:[eg,!eo&&et&&void 0!==L&&(0,t.jsx)("input",{type:"hidden",form:z,name:et,value:L,disabled:ee}),(0,t.jsx)("input",{...eh,suppressHydrationWarning:!0})]})}),w=n.forwardRef(function(e,t){let{render:a,className:i,style:r,...s}=e,l=function(){let e=n.useContext(m);if(void 0===e)throw Error((0,u.default)(63));return e}();return(0,o.useRenderElement)("span",e,{state:l,ref:t,stateAttributesMapping:h,props:s})});e.s(["Root",0,N,"Thumb",0,w],461536);var S=e.i(461536),S=S,I=e.i(613349);e.s(["Switch",0,function({className:e,size:n="default",...a}){return(0,t.jsx)(S.Root,{"data-slot":"switch","data-size":n,className:(0,I.cn)("peer group/switch relative inline-flex shrink-0 items-center rounded-full border border-transparent transition-all outline-none after:absolute after:-inset-x-3 after:-inset-y-2 focus-visible:border-ring focus-visible:ring-3 focus-visible:ring-ring/50 aria-invalid:border-destructive aria-invalid:ring-3 aria-invalid:ring-destructive/20 data-[size=default]:h-[18.4px] data-[size=default]:w-8 data-[size=sm]:h-3.5 data-[size=sm]:w-6 dark:aria-invalid:border-destructive/50 dark:aria-invalid:ring-destructive/40 data-checked:bg-primary data-unchecked:bg-input dark:data-unchecked:bg-input/80 data-disabled:cursor-not-allowed data-disabled:opacity-50",e),...a,children:(0,t.jsx)(S.Thumb,{"data-slot":"switch-thumb",className:"pointer-events-none block rounded-full bg-background ring-0 transition-transform group-data-[size=default]/switch:size-4 group-data-[size=sm]/switch:size-3 group-data-[size=default]/switch:data-checked:translate-x-[calc(100%-2px)] group-data-[size=sm]/switch:data-checked:translate-x-[calc(100%-2px)] dark:data-checked:bg-primary-foreground group-data-[size=default]/switch:data-unchecked:translate-x-0 group-data-[size=sm]/switch:data-unchecked:translate-x-0 dark:data-unchecked:bg-foreground"})})}],254618)}]);
1
+ (globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,349451,e=>{"use strict";var t=e.i(579848),n=e.i(561362),a=e.i(395372);e.s(["useAriaLabelledBy",0,function(e,i,r,s=!0,l){let[o,d]=t.useState(),c=(0,a.useBaseUiId)(l?`${l}-label`:void 0),u=e??i??o;return(0,n.useIsoLayoutEffect)(()=>{let t=e||i||!s?void 0:function(e,t){let n=function(e){if(!e)return;let t=e.parentElement;if(t&&"LABEL"===t.tagName)return t;let n=e.id;if(n){let t=e.nextElementSibling;if(t&&t.htmlFor===n)return t}let a=e.labels;return a&&a[0]}(e);if(n)return!n.id&&t&&(n.id=t),n.id||void 0}(r.current,c);o!==t&&d(t)}),u}])},654117,707884,830366,11200,343262,751208,76818,e=>{"use strict";var t=e.i(130024);let n=(0,t.default)("link-2",[["path",{d:"M9 17H7A5 5 0 0 1 7 7h2",key:"8i5ue5"}],["path",{d:"M15 7h2a5 5 0 1 1 0 10h-2",key:"1b9ql8"}],["line",{x1:"8",x2:"16",y1:"12",y2:"12",key:"1jonct"}]]);e.s(["Link2",0,n],654117);let a=(0,t.default)("scroll-text",[["path",{d:"M15 12h-5",key:"r7krc0"}],["path",{d:"M15 8h-5",key:"1khuty"}],["path",{d:"M19 17V5a2 2 0 0 0-2-2H4",key:"zz82l3"}],["path",{d:"M8 21h12a2 2 0 0 0 2-2v-1a1 1 0 0 0-1-1H11a1 1 0 0 0-1 1v1a2 2 0 1 1-4 0V5a2 2 0 1 0-4 0v2a1 1 0 0 0 1 1h3",key:"1ph1d7"}]]);e.s(["ScrollText",0,a],707884);var i=e.i(633940),r=e.i(579848),s=e.i(611797),l=e.i(3136),o=e.i(95934),d=e.i(566097),d=d,c=e.i(280767),u=e.i(140252),m=e.i(785188),h=e.i(213054),x=e.i(607711),g=e.i(393153);function p({side:e}){return(0,i.jsx)("div",{className:`pointer-events-none absolute inset-x-1 z-10 h-0.5 rounded-full bg-primary ${"top"===e?"-top-px":"-bottom-px"}`})}e.s(["SortableCategory",0,function({id:e,name:t,open:n,onToggle:a,onAddChannel:f,onSettings:v,onDelete:b,isPrivate:j,canReorder:C=!0,pending:y=!1,children:k}){var N;let[w,S]=(0,r.useState)(!1),{attributes:I,listeners:z,setNodeRef:M,transform:D,transition:E,isDragging:O,isOver:T,activeIndex:P,index:R}=(0,u.useSortable)({id:e,disabled:!C}),{setNodeRef:A,isOver:$}=(0,m.useDroppable)({id:e}),L={transform:h.CSS.Transform.toString(D),transition:E,opacity:O?.4:1,zIndex:O?10:void 0},F={...I,...z,onClick:a,className:`group flex w-full touch-none items-center gap-1 rounded px-1 py-1 text-xs font-semibold text-muted-foreground/80 select-none hover:text-foreground ${C?"cursor-grab active:cursor-grabbing":"cursor-pointer"}`},B=(0,i.jsxs)(i.Fragment,{children:[j?(0,i.jsx)(d.default,{className:"size-3 shrink-0"}):(0,i.jsx)("span",{className:"size-3 shrink-0","aria-hidden":"true"}),(0,i.jsx)("span",{className:"flex-1 truncate text-left",children:t}),v&&(0,i.jsx)("button",{onPointerDown:e=>e.stopPropagation(),onClick:e=>{e.stopPropagation(),v()},className:"grid size-4 place-items-center rounded opacity-0 hover:bg-accent group-hover:opacity-100","aria-label":`Category settings for ${t}`,children:(0,i.jsx)(o.Settings,{className:"size-3.5"})}),f&&(0,i.jsx)("button",{onPointerDown:e=>e.stopPropagation(),onClick:e=>{e.stopPropagation(),f()},className:"grid size-4 place-items-center rounded opacity-0 hover:bg-accent group-hover:opacity-100","aria-label":`Create channel in ${t}`,children:(0,i.jsx)(l.Plus,{className:"size-3.5"})}),(0,i.jsx)(s.ChevronDown,{className:`size-3 shrink-0 transition-transform ${n?"":"-rotate-90"}`})]});return(0,i.jsxs)("div",{ref:M,style:L,className:`relative mb-4 ${y?"opacity-60":""}`,children:[T&&!O&&(0,i.jsx)(p,{side:-1!==P&&P<R?"bottom":"top"}),(N={onAddChannel:f,onSettings:v,onDelete:b}).onAddChannel||N.onSettings||N.onDelete?(0,i.jsxs)(x.ContextMenu,{children:[(0,i.jsx)(x.ContextMenuTrigger,{render:(0,i.jsx)("div",{...F}),children:B}),(0,i.jsxs)(x.ContextMenuContent,{className:"w-48",children:[(0,i.jsx)("div",{className:"truncate px-2 py-2 text-xs font-semibold text-muted-foreground",children:t}),f&&(0,i.jsxs)(x.ContextMenuItem,{onClick:f,children:[(0,i.jsx)(l.Plus,{className:"size-4"})," Create channel"]}),v&&(0,i.jsxs)(x.ContextMenuItem,{onClick:v,children:[(0,i.jsx)(o.Settings,{className:"size-4"})," Category settings"]}),b&&(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(x.ContextMenuSeparator,{}),(0,i.jsxs)(x.ContextMenuItem,{onClick:()=>S(!0),className:"text-destructive data-highlighted:bg-destructive/10 data-highlighted:text-destructive",children:[(0,i.jsx)(c.Trash2,{className:"size-4"})," Delete category"]})]})]})]}):(0,i.jsx)("div",{...F,children:B}),n&&(0,i.jsx)("div",{ref:A,className:`rounded-md transition-colors ${$?"bg-accent/40":""}`,children:k}),b&&(0,i.jsx)(g.ConfirmDialog,{open:w,onOpenChange:S,title:`Delete ${t}?`,description:"Channels inside this category will also be removed. This can't be undone.",confirmLabel:"Delete category",onConfirm:()=>{S(!1),b()}})]})}],830366);var f=e.i(314325),v=e.i(23299),b=e.i(351190),j=e.i(253151),C=e.i(670544),y=e.i(381153);e.s(["PendingChannelRow",0,function({ch:e}){return(0,i.jsxs)("div",{"aria-disabled":!0,className:"group relative flex h-8 w-full cursor-default items-center gap-2 rounded-md px-2 text-sm text-muted-foreground opacity-60 select-none",children:[(0,i.jsx)("span",{className:"grid size-5 shrink-0 place-items-center opacity-70",children:(0,i.jsx)(v.Loader2,{className:"size-4 animate-spin"})}),(0,i.jsx)("span",{className:"truncate font-semibold",children:e.name})]})},"SortableChannel",0,function({ch:e,active:t,onClick:n,onEdit:a,onDelete:s,onManageMembers:l,canReorder:o=!0}){var d;let[m,v]=(0,r.useState)(!1),{attributes:k,listeners:N,setNodeRef:w,transform:S,transition:I,isDragging:z,isOver:M,activeIndex:D,index:E}=(0,u.useSortable)({id:e.id,disabled:!o}),O={transform:h.CSS.Transform.toString(S),transition:I,opacity:z?.4:1,zIndex:z?10:void 0},T=(0,i.jsxs)("div",{ref:w,style:O,onClick:n,"data-testid":y.tid.channelRow(e.id),...k,...N,className:["group relative flex h-8 w-full cursor-pointer touch-none items-center gap-2 rounded-md px-2 text-sm select-none",o?"active:cursor-grabbing":"",t?"bg-sidebar-accent text-foreground":e.muted?"text-muted-foreground/50 hover:bg-sidebar-accent/60 hover:text-muted-foreground":e.unread?"text-foreground hover:bg-sidebar-accent/60":"text-muted-foreground hover:bg-sidebar-accent/60 hover:text-foreground"].join(" "),children:[M&&!z&&(0,i.jsx)(p,{side:-1!==D&&D<E?"bottom":"top"}),(0,i.jsx)("span",{className:"grid size-5 shrink-0 place-items-center opacity-70",children:(0,i.jsx)(C.EntityIcon,{kind:e.type,className:"size-4"})}),(0,i.jsx)("span",{className:"truncate font-semibold",children:e.name}),e.muted?(0,i.jsx)(f.BellOff,{className:"ml-auto size-4 shrink-0 opacity-70"}):e.unread&&!t?(0,i.jsx)("span",{className:"ml-auto size-2 rounded-full bg-primary"}):null]});return(d={onEdit:a,onManageMembers:l,onDelete:s}).onEdit||d.onManageMembers||d.onDelete?(0,i.jsxs)(i.Fragment,{children:[(0,i.jsxs)(x.ContextMenu,{children:[(0,i.jsx)(x.ContextMenuTrigger,{render:T}),(0,i.jsxs)(x.ContextMenuContent,{className:"w-48",children:[(0,i.jsxs)("div",{className:"truncate px-2 py-2 text-xs font-semibold text-muted-foreground",children:["/",e.name]}),a&&(0,i.jsxs)(x.ContextMenuItem,{onClick:a,children:[(0,i.jsx)(b.Pencil,{className:"size-4"})," Edit channel"]}),l&&(0,i.jsxs)(x.ContextMenuItem,{onClick:l,children:[(0,i.jsx)(j.Users,{className:"size-4"})," Manage members"]}),s&&(0,i.jsxs)(i.Fragment,{children:[a&&(0,i.jsx)(x.ContextMenuSeparator,{}),(0,i.jsxs)(x.ContextMenuItem,{onClick:()=>v(!0),className:"text-destructive data-highlighted:bg-destructive/10 data-highlighted:text-destructive",children:[(0,i.jsx)(c.Trash2,{className:"size-4"})," Delete channel"]})]})]})]}),s&&(0,i.jsx)(g.ConfirmDialog,{open:m,onOpenChange:v,title:`Delete /${e.name}?`,description:"This channel and its message history will be removed for everyone. This can't be undone.",confirmLabel:"Delete channel",onConfirm:()=>{v(!1),s()}})]}):T}],11200);var k=e.i(961560),N=e.i(611595),w=e.i(186339),S=e.i(513166),I=e.i(86053),z=e.i(388026);e.s(["CreateChannelDialog",0,function({category:e,initial:t,onClose:n,onCreate:a}){let s=!!t,[l,o]=(0,r.useState)(t?.type??"text"),[d,c]=(0,r.useState)(t?.name??""),u=(0,z.previewSlug)(d),m=()=>{let e=d.trim();u.slug&&(a({name:e,type:l}),n())};return(0,i.jsx)(N.CreateDialogShell,{onClose:n,title:`${s?"Edit channel":"New channel"}${e?` in ${e}`:""}`,footer:(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(w.Button,{variant:"ghost",size:"sm",onClick:n,children:"Cancel"}),(0,i.jsx)(w.Button,{size:"sm","data-testid":y.tid.createChannelSubmit,onClick:m,disabled:!u.slug,children:s?"Save":"Create Channel"})]}),children:(0,i.jsxs)("div",{className:"space-y-6 px-5 pb-5 pt-2",children:[(0,i.jsxs)("div",{children:[(0,i.jsxs)("div",{className:"flex items-center gap-2",children:[(0,i.jsx)(C.EntityIcon,{kind:l,className:"size-6 shrink-0 text-muted-foreground"}),(0,i.jsx)("input",{value:d,onChange:e=>c(e.target.value),onKeyDown:(0,S.onEnterSubmit)(m),placeholder:"new-channel",autoFocus:!0,"aria-label":"Channel name",className:"w-full border-0 bg-transparent p-0 text-[30px] font-medium leading-tight tracking-tight shadow-none outline-none placeholder:font-normal placeholder:text-muted-foreground/40 focus-visible:ring-0"})]}),(0,i.jsx)("div",{className:"mt-1 pl-8",children:(0,i.jsx)(I.SlugHint,{...u})})]}),!s&&(0,i.jsxs)("div",{children:[(0,i.jsx)("div",{className:"mb-1 text-xs text-muted-foreground",children:"Type"}),(0,i.jsx)("div",{className:"space-y-1",children:[{value:"text",label:"Text",desc:"Send messages, images, emoji, and opinions"},{value:"forum",label:"Forum",desc:"Create a space for organized discussions"}].map(e=>(0,i.jsxs)("button",{onClick:()=>o(e.value),"aria-pressed":l===e.value,className:["flex w-full items-center gap-3 rounded-md px-2 py-2 text-left transition-colors",l===e.value?"bg-accent":"hover:bg-accent/40"].join(" "),children:[(0,i.jsx)(C.EntityIcon,{kind:e.value,className:"size-4 shrink-0 text-muted-foreground"}),(0,i.jsxs)("span",{className:"min-w-0 flex-1",children:[(0,i.jsx)("span",{className:"block text-sm font-medium",children:e.label}),(0,i.jsx)("span",{className:"block text-xs text-muted-foreground",children:e.desc})]}),l===e.value&&(0,i.jsx)(k.Check,{className:"size-4 shrink-0 text-primary"})]},e.value))})]})]})})}],343262);var d=d,M=e.i(254618);let D="Making a category private limits it to invited members. Each stays visible only to its creator and invited members.";function E({isPrivate:e,onToggle:t,locked:n}){let a=n?`${D} Privacy can’t be changed after creation.`:D;return(0,i.jsxs)("div",{className:"flex items-start gap-3 rounded-md border border-border bg-card px-3 py-2",children:[(0,i.jsx)(d.default,{className:"mt-0.5 size-4 shrink-0 text-muted-foreground"}),(0,i.jsxs)("div",{className:"min-w-0 flex-1",children:[(0,i.jsx)("div",{className:"text-sm font-medium",children:"Private category"}),(0,i.jsx)("div",{className:"text-xs text-muted-foreground",children:a})]}),t&&(0,i.jsx)(M.Switch,{checked:e,onCheckedChange:t,className:"mt-0.5"})]})}e.s(["CreateCategoryDialog",0,function({onClose:e,onCreate:t,canTogglePrivate:n=!0}){let[a,s]=(0,r.useState)(""),[l,o]=(0,r.useState)(!1),d=()=>{let n=a.trim();n&&(t(n.toUpperCase(),{private:l}),e())};return(0,i.jsx)(N.CreateDialogShell,{onClose:e,title:"New category",footer:(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(w.Button,{variant:"ghost",size:"sm",onClick:e,children:"Cancel"}),(0,i.jsx)(w.Button,{size:"sm",onClick:d,disabled:!a.trim(),children:"Create category"})]}),children:(0,i.jsxs)("div",{className:"space-y-6 px-5 pb-5 pt-2",children:[(0,i.jsx)("input",{value:a,onChange:e=>s(e.target.value),onKeyDown:(0,S.onEnterSubmit)(d),placeholder:"e.g. Text channels",autoFocus:!0,"aria-label":"Category name",className:"w-full border-0 bg-transparent p-0 text-[30px] font-medium leading-tight tracking-tight shadow-none outline-none placeholder:font-normal placeholder:text-muted-foreground/40 focus-visible:ring-0"}),n&&(0,i.jsx)(E,{isPrivate:l,onToggle:o})]})})}],751208),e.s(["CategorySettingsDialog",0,function({name:e,isPrivate:t,onClose:n,onSave:a}){let[s,l]=(0,r.useState)(e),o=s.trim(),d=()=>{o&&(a(o.toUpperCase()),n())};return(0,i.jsx)(N.CreateDialogShell,{onClose:n,title:"Category settings",footer:(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(w.Button,{variant:"ghost",size:"sm",onClick:n,children:"Cancel"}),(0,i.jsx)(w.Button,{size:"sm",onClick:d,disabled:!o,children:"Save"})]}),children:(0,i.jsxs)("div",{className:"space-y-6 px-5 pb-5 pt-2",children:[(0,i.jsx)("input",{value:s,onChange:e=>l(e.target.value),onKeyDown:(0,S.onEnterSubmit)(d),placeholder:"e.g. Text channels",autoFocus:!0,"aria-label":"Category name",className:"w-full border-0 bg-transparent p-0 text-[30px] font-medium leading-tight tracking-tight shadow-none outline-none placeholder:font-normal placeholder:text-muted-foreground/40 focus-visible:ring-0"}),t&&(0,i.jsx)(E,{isPrivate:!0,locked:!0})]})})}],76818)},566097,e=>{"use strict";let t=(0,e.i(130024).default)("lock",[["rect",{width:"18",height:"11",x:"3",y:"11",rx:"2",ry:"2",key:"1w4ew1"}],["path",{d:"M7 11V7a5 5 0 0 1 10 0v4",key:"fwvmzm"}]]);e.s(["default",0,t])},113050,e=>{"use strict";var t=e.i(633940),n=e.i(579848),a=e.i(95934),i=e.i(253151),r=e.i(654117),s=e.i(931871),l=e.i(707884),o=e.i(611797),d=e.i(560976),c=e.i(785188),u=e.i(140252),m=e.i(607711),h=e.i(89164),x=e.i(728886),g=e.i(830366),p=e.i(11200),f=e.i(343262),v=e.i(751208),b=e.i(76818),j=e.i(654305),C=e.i(737025),y=e.i(746632),k=e.i(779646),N=e.i(903477),w=e.i(186339),S=e.i(531342),I=e.i(39185),z=e.i(814001),M=e.i(849050),D=e.i(374402),E=e.i(445498);let O=Object.freeze([]);async function T(e){let[t,n]=await Promise.all([(0,M.apiFetch)("/api/community/friends/accepted"),(0,E.fetchAllServerMembers)(e)]);if(t.stale)throw Error("stale D1 read");let a=new Set(n.map(e=>e.userId));return{friends:t.friends.filter(e=>!e.userId||!a.has(e.userId))}}e.i(384302);var P=e.i(54372),R=e.i(776152),A=e.i(459663),$=e.i(183899);let L=window.location.origin;function F(e){return`${L}/c/invite/${e}`}function B({open:e,onOpenChange:a,serverId:i,serverName:r}){let s=(0,$.useCurrentUser)(),{friends:l,isLoading:o}=function(e,t=!0){let n=(0,z.useQuery)({queryKey:D.communityKeys.invitableFriends(e),queryFn:()=>T(e),enabled:t&&!!e});return{...n,friends:n.data?.friends??O}}(i,e),d=(0,P.useResolveOrCreateInvite)(i),c=(0,R.useCreateOrGetDm)(),{accept:u}=(0,A.useDmMessageSender)(),[m,h]=(0,n.useState)(null),[g,p]=(0,n.useState)(null),[f,v]=(0,n.useState)(new Set),[b,j]=(0,n.useState)("");(0,n.useEffect)(()=>{if(!e||m)return;let t=!1;return p(null),d(s.id,s.name).then(e=>{t||h(e.token)}).catch(e=>{t||p(e instanceof Error?e.message:"Couldn't create an invite")}),()=>{t=!0}},[e,m]);let M=(0,n.useMemo)(()=>{let e=b.trim().toLowerCase();return l.filter(t=>!e||t.name.toLowerCase().includes(e)||(t.sub??"").toLowerCase().includes(e))},[l,b]),E=async e=>{if(m&&e.userId)try{let{conversation:t}=await c.mutateAsync({userId:e.userId}),n=u({dmId:t.id,content:F(m),author:{id:s.id,name:s.name,avatar:s.avatar}});if(!n.accepted)throw Error("Couldn't send invite");let a=await n.committed;if(!a.ok)throw a.error;v(t=>{let n=new Set(t);return n.add(e.userId),n})}catch(t){let e=t instanceof Error?t.message:"Couldn't send invite";(0,y.toast)(e)}},L=async()=>{if(m)try{await navigator.clipboard.writeText(F(m)),(0,y.toast)("Invite link copied")}catch{(0,y.toast)("Couldn't copy — copy manually")}};return(0,t.jsx)(k.Dialog,{open:e,onOpenChange:e=>{e||(v(new Set),j("")),a(e)},children:(0,t.jsxs)(k.DialogContent,{className:"flex max-h-[80vh] w-full flex-col gap-0 p-0 sm:max-w-md",children:[(0,t.jsx)("header",{className:"border-b border-border/50 px-4 py-3",children:(0,t.jsxs)("h2",{className:"truncate text-sm font-semibold",children:["Invite friends to ",r]})}),(0,t.jsx)("div",{className:"px-4 pt-3",children:(0,t.jsxs)("label",{className:"relative block",children:[(0,t.jsx)(C.Search,{"aria-hidden":!0,className:"pointer-events-none absolute left-3 top-1/2 size-4 -translate-y-1/2 text-muted-foreground"}),(0,t.jsx)(N.Input,{value:b,onChange:e=>j(e.target.value),placeholder:"Search for friends",className:"pl-9"})]})}),(0,t.jsx)("div",{className:"min-h-0 flex-1 overflow-y-auto thin-scrollbar px-2 py-2",children:o&&0===l.length?(0,t.jsx)("div",{className:"space-y-2 px-2",children:Array.from({length:4}).map((e,n)=>(0,t.jsxs)("div",{className:"flex items-center gap-3",children:[(0,t.jsx)(x.Skeleton,{className:"size-8 rounded-full"}),(0,t.jsx)(x.Skeleton,{className:"h-3 w-32 rounded"})]},n))}):0===M.length?(0,t.jsx)("p",{className:"px-2 py-6 text-center text-sm text-muted-foreground",children:0===l.length?"No friends to invite — everyone you know is already here.":"No matches."}):M.map(e=>{let n=!!e.userId&&f.has(e.userId);return(0,t.jsxs)("div",{className:"flex items-center gap-3 rounded-md px-2 py-2 hover:bg-accent/40",children:[(0,t.jsx)(S.Avatar,{label:e.avatar||e.name,seed:e.userId,size:32,presence:e.status,ringColor:"var(--popover)"}),(0,t.jsxs)("div",{className:"min-w-0 flex-1",children:[(0,t.jsx)("div",{className:"truncate text-sm font-medium",children:e.name}),(0,I.hasStatus)(e.statusEmoji,e.statusText)&&(0,t.jsxs)("div",{className:"truncate text-xs text-muted-foreground",children:[e.statusEmoji," ",e.statusText]})]}),(0,t.jsx)(w.Button,{size:"sm",variant:n?"secondary":"default",disabled:!m||n||!e.userId,onClick:()=>E(e),children:n?"Invited":"Invite"})]},e.id)})}),(0,t.jsxs)("footer",{className:"border-t border-border/50 px-4 py-3",children:[(0,t.jsx)("div",{className:"text-xs font-medium text-muted-foreground",children:"Or, send a server invite link to a friend"}),g?(0,t.jsx)("p",{className:"mt-2 text-xs text-destructive",children:g}):(0,t.jsxs)("div",{className:"mt-2 flex items-center gap-2",children:[(0,t.jsx)(N.Input,{readOnly:!0,value:m?F(m):"",placeholder:m?"":"Loading…",className:"font-mono text-xs"}),(0,t.jsx)(w.Button,{size:"sm",onClick:L,disabled:!m,children:"Copy"})]})]})]})})}var U=e.i(648655),H=e.i(825149);function V({serverId:e,channelId:n,channelName:a,onClose:i}){let{members:r}=(0,H.useAddableMembers)(e,n),s=(0,H.useAddChannelMember)(n),l=r.map(e=>({userId:e.userId,name:e.name??null,avatar:e.avatar}));return(0,t.jsx)(U.AddMembersDialog,{title:`Add members to /${a}`,subtitle:"Added members can see and post in this channel.",candidates:l,onAdd:e=>s.mutateAsync(e),onClose:i})}e.i(954194);var W=e.i(908967),K=e.i(381153);let _=(0,n.memo)(function({tree:e,serverName:x,activeChannel:C,setActiveChannel:y,noHeader:k,onOpenSettings:N,isAdmin:w=!0,currentUserId:S,onBlockedCreate:I,mutedChannels:z,loading:M,onCreateChannel:D,onCreateCategory:E,onDeleteChannel:O,onDeleteCategory:T,onUpdateCategory:P,onRenameChannel:R,onReorderCategories:A,onReorderChannels:$,onMoveChannel:L,onBlockedMove:F,serverId:U,invitePopoverOpen:H,onInvitePopoverOpenChange:K,forumThreadsByParent:_={},activeThreadId:Q,onSelectForumThread:Y}){let{collapsed:J,catOrder:Z,order:X,catNames:ee,catPrivate:et,catPending:en,toggleCat:ea,removeChannel:ei,renameChannel:er,renameCategory:es,onDragOver:el,onDragEnd:eo}=e,ed=(0,n.useRef)(void 0),ec=(0,c.useSensors)((0,c.useSensor)(c.PointerSensor,{activationConstraint:{distance:5}})),[eu,em]=(0,n.useState)(null),eh=e=>z&&e.id in z?{...e,muted:z[e.id]}:e,ex=!!Q&&Object.values(_).some(e=>e.some(e=>e.id===Q)),eg=e=>{let n=_[e]??[];if(0===n.length)return null;let a=28*(n.length-1)+14,i=[`M 1 0 V ${a-6} Q 1 ${a} 7 ${a} H 11`,...n.slice(0,-1).map((e,t)=>`M 1 ${28*t+14} H 11`)].join(" ");return(0,t.jsxs)("div",{className:"relative mt-0! ml-5",children:[(0,t.jsx)("svg",{"aria-hidden":"true",viewBox:`0 0 16 ${28*n.length}`,preserveAspectRatio:"none",className:"pointer-events-none absolute top-0 left-0 w-4 text-muted-foreground/45",style:{height:28*n.length},children:(0,t.jsx)("path",{d:i,fill:"none",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round",vectorEffect:"non-scaling-stroke"})}),n.map(n=>(0,t.jsx)(q,{thread:n,active:n.id===Q,muted:!!z?.[e],onClick:()=>Y?.(n.id)},n.id))]})},ep=Object.keys(ee).find(e=>""===ee[e])??"";if(M)return(0,t.jsx)(G,{noHeader:k});let ef=e=>!!et[e]||w,ev=e=>{ef(e)?em({kind:"create-channel",categoryId:e}):I?.()},eb=async(e,{name:t,type:n})=>{let a=await D?.(e,t,n);a&&y(a)},ej=(0,t.jsxs)(c.DndContext,{id:"d-channels",sensors:ec,collisionDetection:c.closestCenter,onDragStart:e=>{let t=String(e.active.id);ed.current=(0,j.isCat)(t)?void 0:(0,j.catOf)(t,X)},onDragOver:el,onDragEnd:e=>{let t=ed.current;ed.current=void 0,eo(e);let{active:n,over:a}=e;if(!a||n.id===a.id)return;let i=String(n.id),r=String(a.id);if(i.startsWith("cat_")&&r.startsWith("cat_")){let e=-1!==Z.indexOf(i)?(()=>{let e=Z.indexOf(i),t=Z.indexOf(r);if(-1===e||-1===t)return null;let n=[...Z],[a]=n.splice(e,1);return n.splice(t,0,a),n})():null;e&&A?.(e.filter(e=>!en[e]))}else if(!i.startsWith("cat_")){let e=(0,j.catOf)(i,X),n=(0,j.isCat)(r)?r:(0,j.catOf)(r,X);if(t&&n&&n!==t&&e===t&&!!et[t]!=!!et[n])return void F?.();let a=(0,j.reorderChannelsWithin)(X,i,r),s=Z.flatMap(e=>(a[e]??[]).filter(e=>!e.pending).map(e=>e.id));if(e&&t&&e!==t){let t=""===ee[e]||e===W.UNCATEGORIZED_CATEGORY_ID;L?.(i,t?null:e)}$?.(s)}},children:[ep&&X[ep]?.length>0&&(0,t.jsx)(u.SortableContext,{items:X[ep].filter(e=>!e.pending).map(e=>e.id),strategy:u.verticalListSortingStrategy,children:(0,t.jsx)("div",{className:"mb-4 space-y-1",children:X[ep].map(e=>e.pending?(0,t.jsx)(p.PendingChannelRow,{ch:e},e.id):(0,t.jsxs)(n.Fragment,{children:[(0,t.jsx)(p.SortableChannel,{ch:eh(e),active:e.id===C&&!ex,canReorder:w,onClick:()=>y(e.id),onEdit:w?()=>em({kind:"edit-channel",id:e.id,categoryId:ep,name:e.name,type:e.type??"text"}):void 0,onDelete:w?()=>{ei(e.id),O?.(e.id)}:void 0}),eg(e.id)]},e.id))})}),(0,t.jsx)(u.SortableContext,{items:Z.filter(e=>""!==ee[e]&&!en[e]).map(e=>(0,j.catId)(e)),strategy:u.verticalListSortingStrategy,children:Z.filter(e=>""!==ee[e]).map(e=>(0,t.jsx)(g.SortableCategory,{id:(0,j.catId)(e),name:ee[e]??e,open:!J.has(e),onToggle:()=>ea(e),onAddChannel:!en[e]&&ef(e)?()=>ev(e):void 0,onSettings:!en[e]&&w?()=>em({kind:"category-settings",categoryId:e}):void 0,onDelete:!en[e]&&w?()=>T?.(e):void 0,isPrivate:et[e],canReorder:w&&!en[e],pending:en[e],children:(0,t.jsx)(u.SortableContext,{items:(X[e]??[]).filter(e=>!e.pending).map(e=>e.id),strategy:u.verticalListSortingStrategy,children:(0,t.jsx)("div",{className:"mt-1 min-h-2 space-y-1",children:(X[e]??[]).map(a=>{if(a.pending)return(0,t.jsx)(p.PendingChannelRow,{ch:a},a.id);let i=w||!!et[e]&&a.creatorId===S;return(0,t.jsxs)(n.Fragment,{children:[(0,t.jsx)(p.SortableChannel,{ch:eh(a),active:a.id===C&&!ex,canReorder:w,onClick:()=>y(a.id),onEdit:i?()=>em({kind:"edit-channel",id:a.id,categoryId:e,name:a.name,type:a.type??"text"}):void 0,onDelete:i?()=>{ei(a.id),O?.(a.id)}:void 0,onManageMembers:et[e]&&i?()=>em({kind:"manage-members",channelId:a.id,channelName:a.name}):void 0}),eg(a.id)]},a.id)})})})},e))})]});return(0,t.jsxs)("aside",{className:"flex min-w-0 flex-1 flex-col",children:[!k&&(0,t.jsxs)("header",{className:"flex h-12 items-center gap-1 border-b border-border/40 px-2",children:[x&&N?(0,t.jsxs)(h.DropdownMenu,{children:[(0,t.jsxs)(h.DropdownMenuTrigger,{className:"flex min-w-0 max-w-full items-center gap-2 rounded-md px-2 py-1 hover:bg-accent focus-visible:ring-2 focus-visible:ring-ring focus-visible:outline-none",children:[(0,t.jsx)("span",{className:"min-w-0 truncate pr-1 font-brand text-[1.75rem] leading-none font-bold",children:x}),(0,t.jsx)(o.ChevronDown,{className:"size-4 shrink-0 text-muted-foreground"})]}),(0,t.jsxs)(h.DropdownMenuContent,{align:"start",className:"w-48",children:[(0,t.jsxs)(h.DropdownMenuItem,{onClick:()=>N("overview"),children:[(0,t.jsx)(a.Settings,{className:"size-4"})," Overview"]}),(0,t.jsxs)(h.DropdownMenuItem,{onClick:()=>N("members"),children:[(0,t.jsx)(i.Users,{className:"size-4"})," Members"]}),(0,t.jsxs)(h.DropdownMenuItem,{onClick:()=>N("invites"),children:[(0,t.jsx)(r.Link2,{className:"size-4"})," Invites"]}),(0,t.jsxs)(h.DropdownMenuItem,{onClick:()=>N("notifications"),children:[(0,t.jsx)(s.Bell,{className:"size-4"})," Notifications"]}),(0,t.jsxs)(h.DropdownMenuItem,{onClick:()=>N("audit"),children:[(0,t.jsx)(l.ScrollText,{className:"size-4"})," Audit Log"]})]})]}):(0,t.jsx)("span",{className:"flex min-w-0 max-w-full items-center gap-2 px-2",children:(0,t.jsx)("span",{className:"min-w-0 truncate pr-1 font-brand text-[1.75rem] leading-none font-bold",children:x||" "})}),U&&K&&(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)("button",{onClick:()=>K(!0),className:"ml-auto 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":"Invite to server",title:"Invite to server",children:(0,t.jsx)(d.UserPlus,{className:"size-4"})}),(0,t.jsx)(B,{open:!!H,onOpenChange:K,serverId:U,serverName:x})]})]}),w?(0,t.jsxs)(m.ContextMenu,{children:[(0,t.jsx)(m.ContextMenuTrigger,{render:(0,t.jsx)("div",{className:"flex-1 overflow-y-auto thin-scrollbar px-2 py-4"}),children:ej}),(0,t.jsxs)(m.ContextMenuContent,{className:"w-48",children:[(0,t.jsx)(m.ContextMenuItem,{onClick:()=>ev(ep),children:"Create channel"}),(0,t.jsx)(m.ContextMenuItem,{onClick:()=>em({kind:"create-category"}),children:"Create category"})]})]}):(0,t.jsx)("div",{className:"flex-1 overflow-y-auto thin-scrollbar px-2 py-4",children:ej}),eu?.kind==="create-channel"&&(0,t.jsx)(f.CreateChannelDialog,{category:ee[eu.categoryId]??"",onClose:()=>em(null),onCreate:e=>eb(eu.categoryId,e)}),eu?.kind==="edit-channel"&&(0,t.jsx)(f.CreateChannelDialog,{category:ee[eu.categoryId]??"",initial:{name:eu.name,type:eu.type},onClose:()=>em(null),onCreate:({name:e})=>{er(eu.id,e),R?.(eu.id,e)}}),eu?.kind==="create-category"&&(0,t.jsx)(v.CreateCategoryDialog,{onClose:()=>em(null),onCreate:(e,t)=>{E?.(e,t)},canTogglePrivate:w}),eu?.kind==="category-settings"&&(0,t.jsx)(b.CategorySettingsDialog,{name:ee[eu.categoryId]??"",isPrivate:!!et[eu.categoryId],onClose:()=>em(null),onSave:e=>{es(eu.categoryId,e),P?.(eu.categoryId,{name:e})}}),eu?.kind==="manage-members"&&U&&(0,t.jsx)(V,{serverId:U,channelId:eu.channelId,channelName:eu.channelName,onClose:()=>em(null)})]})});function q({thread:e,active:n,muted:a,onClick:i}){return(0,t.jsx)("div",{className:"relative h-7",children:(0,t.jsxs)("button",{type:"button","data-testid":K.tid.forumSidebarThread(e.id),"aria-current":n?"page":void 0,onClick:i,onContextMenu:e=>{e.preventDefault(),e.stopPropagation()},className:["ml-4 flex h-7 w-[calc(100%-1rem)] min-w-0 items-center rounded-md px-2 text-left text-xs font-medium",n?"bg-sidebar-accent text-foreground":a?"text-muted-foreground/50 hover:bg-sidebar-accent/60 hover:text-muted-foreground":e.unread?"text-foreground hover:bg-sidebar-accent/60":"text-muted-foreground hover:bg-sidebar-accent/60 hover:text-foreground"].join(" "),children:[(0,t.jsx)("span",{className:"truncate",children:e.title}),a||!e.unread||n?null:(0,t.jsx)("span",{className:"ml-auto size-2 shrink-0 rounded-full bg-primary"})]})})}function G({noHeader:e}){return(0,t.jsxs)("aside",{className:"flex min-w-0 flex-1 flex-col",children:[!e&&(0,t.jsx)("header",{className:"flex h-12 items-center border-b border-border/40 px-2",children:(0,t.jsx)(x.Skeleton,{className:"h-5 w-32 rounded"})}),(0,t.jsxs)("div",{className:"flex-1 overflow-hidden px-2 py-4",children:[(0,t.jsxs)("div",{className:"mb-4 space-y-1",children:[(0,t.jsx)(x.Skeleton,{className:"h-7 w-full rounded-md"}),(0,t.jsx)(x.Skeleton,{className:"h-7 w-11/12 rounded-md"})]}),[40,32].map((e,n)=>(0,t.jsxs)("div",{className:"mb-4",children:[(0,t.jsx)("div",{className:"mb-2 flex items-center gap-1 px-1",children:(0,t.jsx)(x.Skeleton,{className:"h-3 rounded",style:{width:e}})}),(0,t.jsxs)("div",{className:"space-y-1",children:[(0,t.jsx)(x.Skeleton,{className:"h-7 w-full rounded-md"}),(0,t.jsx)(x.Skeleton,{className:"h-7 w-10/12 rounded-md"}),(0,t.jsx)(x.Skeleton,{className:"h-7 w-11/12 rounded-md"}),(0,t.jsx)(x.Skeleton,{className:"h-7 w-9/12 rounded-md"})]})]},n))]})]})}e.s(["ChannelSidebar",0,_],113050)},654305,e=>{"use strict";var t=e.i(579848),n=e.i(140252);let a=e=>e.startsWith("cat_");function i(e,t){return a(e)?e:Object.keys(t).find(n=>t[n].some(t=>t.id===e))}function r(e,t,a){let r=i(t,e);if(!r||!e[r].some(e=>e.id===a))return e;let s=e[r].findIndex(e=>e.id===t),l=e[r].findIndex(e=>e.id===a);return -1===s||-1===l?e:{...e,[r]:(0,n.arrayMove)(e[r],s,l)}}e.s(["catId",0,e=>e,"catOf",0,i,"isCat",0,a,"reorderChannelsWithin",0,r,"useChannelTree",0,function(e){let[s,l]=(0,t.useState)(new Set),[o,d]=(0,t.useState)(()=>e.map(e=>e.id)),[c,u]=(0,t.useState)(()=>Object.fromEntries(e.map(e=>[e.id,e.channels]))),[m,h]=(0,t.useState)(()=>Object.fromEntries(e.map(e=>[e.id,e.name]))),[x,g]=(0,t.useState)(()=>Object.fromEntries(e.map(e=>[e.id,!!e.private]))),[p,f]=(0,t.useState)(()=>Object.fromEntries(e.map(e=>[e.id,!!e.pending]))),[v,b]=(0,t.useState)(()=>Object.fromEntries(e.map(e=>[e.id,e.creatorId??null]))),j=(0,t.useRef)(e);(0,t.useEffect)(()=>{let t=j.current;if(j.current=e,e!==t){if(0===e.length){if(0===t.length)return;d([]),u({}),h({}),g({}),f({}),b({});return}t.map(e=>`${e.id}:${e.channels.map(e=>e.id).join(",")}`).join("|")===e.map(e=>`${e.id}:${e.channels.map(e=>e.id).join(",")}`).join("|")?u(t=>{let{next:n,changed:a}=function(e,t){let n=new Map;for(let e of t)for(let t of e.channels)n.set(t.id,t);let a=!1,i={};for(let[t,r]of Object.entries(e))i[t]=r.map(e=>{let t=n.get(e.id);return t&&(t.unread!==e.unread||t.name!==e.name)?(a=!0,{...e,unread:t.unread,name:t.name}):e});return{next:a?i:e,changed:a}}(t,e);return a?n:t}):(d(e.map(e=>e.id)),u(Object.fromEntries(e.map(e=>[e.id,e.channels]))),h(Object.fromEntries(e.map(e=>[e.id,e.name]))),g(Object.fromEntries(e.map(e=>[e.id,!!e.private]))),f(Object.fromEntries(e.map(e=>[e.id,!!e.pending]))),b(Object.fromEntries(e.map(e=>[e.id,e.creatorId??null]))))}},[e]);let C=(0,t.useCallback)(e=>l(t=>{let n=new Set(t);return n.has(e)?n.delete(e):n.add(e),n}),[]),y=(0,t.useCallback)(e=>u(t=>{let n;return(n=i(e,t))?{...t,[n]:t[n].filter(t=>t.id!==e)}:t}),[]),k=(0,t.useCallback)((e,t)=>u(n=>{let a=i(e,n);return a?{...n,[a]:n[a].map(n=>n.id===e?{...n,name:t}:n)}:n}),[]),N=(0,t.useCallback)(e=>u(t=>{let n=i(e,t);return n?{...t,[n]:t[n].map(t=>t.id===e?{...t,unread:!1}:t)}:t}),[]),w=(0,t.useCallback)((e,t)=>h(n=>n[e]===t?n:{...n,[e]:t}),[]),S=(0,t.useCallback)(e=>{let{active:t,over:n}=e;!n||a(String(t.id))||u(e=>{let a=i(String(t.id),e),r=i(String(n.id),e);return a&&r&&a!==r&&!!x[a]!=!!x[r]?e:function(e,t,n){let a=i(t,e),r=i(n,e);if(!a||!r||a===r)return e;let s=e[a].find(e=>e.id===t);if(!s)return e;let l=e[r].findIndex(e=>e.id===n),o=-1===l?e[r].length:l,d=[...e[r]];return d.splice(o,0,s),{...e,[a]:e[a].filter(e=>e.id!==t),[r]:d}}(e,String(t.id),String(n.id))})},[x]),I=(0,t.useCallback)(e=>{let{active:t,over:i}=e;!i||t.id===i.id||(a(String(t.id))&&a(String(i.id))?d(e=>{var a,r;let s,l;return a=String(t.id),r=String(i.id),s=e.indexOf(a),l=e.indexOf(r),-1===s||-1===l?e:(0,n.arrayMove)(e,s,l)}):a(String(t.id))||u(e=>r(e,String(t.id),String(i.id))))},[]);return(0,t.useMemo)(()=>({collapsed:s,catOrder:o,order:c,catNames:m,catPrivate:x,catPending:p,catCreators:v,toggleCat:C,removeChannel:y,renameChannel:k,markRead:N,renameCategory:w,onDragOver:S,onDragEnd:I}),[s,o,c,m,x,p,v,C,y,k,N,w,S,I])}])},254618,e=>{"use strict";var t=e.i(633940);e.s([],853499),e.i(853499);var n=e.i(579848),a=e.i(725587),i=e.i(149939),r=e.i(561362),s=e.i(588333),l=e.i(953076),o=e.i(396837),d=e.i(395372),c=e.i(396258),u=e.i(582420);let m=n.createContext(void 0),h={...e.i(508657).fieldValidityMapping,checked:e=>e?{"data-checked":""}:{"data-unchecked":""}};var x=e.i(340023),g=e.i(673378),p=e.i(397271),f=e.i(598213),v=e.i(584201),b=e.i(349451),j=e.i(70104),C=e.i(885021),y=e.i(364594),k=e.i(791100);let N=n.forwardRef(function(e,u){let{checked:N,className:w,defaultChecked:S,"aria-labelledby":I,form:z,id:M,inputRef:D,name:E,nativeButton:O=!1,onCheckedChange:T,readOnly:P=!1,required:R=!1,disabled:A=!1,render:$,uncheckedValue:L,value:F,style:B,...U}=e,{clearErrors:H}=(0,f.useFormContext)(),{state:V,setTouched:W,setDirty:K,validityData:_,setFilled:q,setFocused:G,validationMode:Q,disabled:Y,name:J,validation:Z}=(0,g.useFieldRootContext)(),{labelId:X}=(0,v.useLabelableContext)(),ee=Y||A,et=J??E,en=n.useRef(null),ea=(0,i.useMergedRefs)(en,D,Z.inputRef),ei=n.useRef(null),er=(0,d.useBaseUiId)(),es=(0,j.useLabelableId)({id:M,implicit:!1,controlRef:ei}),el=O?void 0:es,[eo,ed]=(0,a.useControlled)({controlled:N,default:!!S,name:"Switch",state:"checked"});(0,p.useRegisterFieldControl)(ei,er,eo,void 0,!ee,E),(0,r.useIsoLayoutEffect)(()=>{en.current&&q(en.current.checked)},[q]),(0,k.useValueChanged)(eo,()=>{H(et),K(eo!==_.initialValue),q(eo),Z.change(eo)});let{getButtonProps:ec,buttonRef:eu}=(0,c.useButton)({disabled:ee,native:O}),em=(0,b.useAriaLabelledBy)(I,X,en,!O,el),eh={...Z.getValidationProps(ee),checked:eo,disabled:ee,form:z,id:el,name:et,required:R,style:et?s.visuallyHiddenInput:s.visuallyHidden,tabIndex:-1,type:"checkbox","aria-hidden":!0,ref:ea,onChange(e){if(e.nativeEvent.defaultPrevented)return;if(P)return void e.preventDefault();let t=e.currentTarget.checked,n=(0,C.createChangeEventDetails)(y.REASONS.none,e.nativeEvent);T?.(t,n),n.isCanceled||ed(t)},onClick(e){e.stopPropagation()},onFocus(){ei.current?.focus()},...void 0!==F?{value:F}:l.EMPTY_OBJECT},ex=n.useMemo(()=>({...V,checked:eo,disabled:ee,readOnly:P,required:R}),[V,eo,ee,P,R]),eg=(0,o.useRenderElement)("span",e,{state:ex,ref:[u,ei,eu],props:[{id:O?es:er,role:"switch","aria-checked":eo,"aria-readonly":P||void 0,"aria-required":R||void 0,"aria-labelledby":em,onFocus(){ee||G(!0)},onBlur(){let e=en.current;e&&!ee&&(W(!0),G(!1),"onBlur"===Q&&Z.commit(e.checked))},onClick(e){if(P||ee)return;e.preventDefault();let t=en.current;t&&(0,x.dispatchClickWithModifiers)(t,e)}},U,ec,e=>Z.getValidationProps(ee,e)],stateAttributesMapping:h});return(0,t.jsxs)(m.Provider,{value:ex,children:[eg,!eo&&et&&void 0!==L&&(0,t.jsx)("input",{type:"hidden",form:z,name:et,value:L,disabled:ee}),(0,t.jsx)("input",{...eh,suppressHydrationWarning:!0})]})}),w=n.forwardRef(function(e,t){let{render:a,className:i,style:r,...s}=e,l=function(){let e=n.useContext(m);if(void 0===e)throw Error((0,u.default)(63));return e}();return(0,o.useRenderElement)("span",e,{state:l,ref:t,stateAttributesMapping:h,props:s})});e.s(["Root",0,N,"Thumb",0,w],461536);var S=e.i(461536),S=S,I=e.i(613349);e.s(["Switch",0,function({className:e,size:n="default",...a}){return(0,t.jsx)(S.Root,{"data-slot":"switch","data-size":n,className:(0,I.cn)("peer group/switch relative inline-flex shrink-0 items-center rounded-full border border-transparent transition-all outline-none after:absolute after:-inset-x-3 after:-inset-y-2 focus-visible:border-ring focus-visible:ring-3 focus-visible:ring-ring/50 aria-invalid:border-destructive aria-invalid:ring-3 aria-invalid:ring-destructive/20 data-[size=default]:h-[18.4px] data-[size=default]:w-8 data-[size=sm]:h-3.5 data-[size=sm]:w-6 dark:aria-invalid:border-destructive/50 dark:aria-invalid:ring-destructive/40 data-checked:bg-primary data-unchecked:bg-input dark:data-unchecked:bg-input/80 data-disabled:cursor-not-allowed data-disabled:opacity-50",e),...a,children:(0,t.jsx)(S.Thumb,{"data-slot":"switch-thumb",className:"pointer-events-none block rounded-full bg-background ring-0 transition-transform group-data-[size=default]/switch:size-4 group-data-[size=sm]/switch:size-3 group-data-[size=default]/switch:data-checked:translate-x-[calc(100%-2px)] group-data-[size=sm]/switch:data-checked:translate-x-[calc(100%-2px)] dark:data-checked:bg-primary-foreground group-data-[size=default]/switch:data-unchecked:translate-x-0 group-data-[size=sm]/switch:data-unchecked:translate-x-0 dark:data-unchecked:bg-foreground"})})}],254618)}]);
@@ -1 +1 @@
1
- (globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,571255,e=>{"use strict";e.i(57331);var t=e.i(579848);let r=t.createContext({disabled:!1});e.s(["FieldItemContext",0,r,"useFieldItemContext",0,function(){return t.useContext(r)}])},622132,e=>{"use strict";let t=(0,e.i(130024).default)("ban",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"M4.929 4.929 19.07 19.071",key:"196cmz"}]]);e.s(["Ban",0,t],622132)},145666,e=>{"use strict";let t=(0,e.i(130024).default)("bot",[["path",{d:"M12 8V4H8",key:"hb8ula"}],["rect",{width:"16",height:"12",x:"4",y:"8",rx:"2",key:"enze0r"}],["path",{d:"M2 14h2",key:"vft8re"}],["path",{d:"M20 14h2",key:"4cs60a"}],["path",{d:"M15 13v2",key:"1xurst"}],["path",{d:"M9 13v2",key:"rq6x2g"}]]);e.s(["Bot",0,t],145666)},345242,e=>{"use strict";let t=(0,e.i(130024).default)("ellipsis",[["circle",{cx:"12",cy:"12",r:"1",key:"41hilf"}],["circle",{cx:"19",cy:"12",r:"1",key:"1wjl8i"}],["circle",{cx:"5",cy:"12",r:"1",key:"1pcz8c"}]]);e.s(["MoreHorizontal",0,t],345242)},541272,e=>{"use strict";let t=(0,e.i(130024).default)("inbox",[["polyline",{points:"22 12 16 12 14 15 10 15 8 12 2 12",key:"o97t9d"}],["path",{d:"M5.45 5.11 2 12v6a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2v-6l-3.45-6.89A2 2 0 0 0 16.76 4H7.24a2 2 0 0 0-1.79 1.11z",key:"oot6mr"}]]);e.s(["Inbox",0,t],541272)},664027,e=>{"use strict";let t=(0,e.i(130024).default)("monitor",[["rect",{width:"20",height:"14",x:"2",y:"3",rx:"2",key:"48i651"}],["line",{x1:"8",x2:"16",y1:"21",y2:"21",key:"1svkeh"}],["line",{x1:"12",x2:"12",y1:"17",y2:"21",key:"vw1qmm"}]]);e.s(["Monitor",0,t],664027)},95934,e=>{"use strict";let t=(0,e.i(130024).default)("settings",[["path",{d:"M9.671 4.136a2.34 2.34 0 0 1 4.659 0 2.34 2.34 0 0 0 3.319 1.915 2.34 2.34 0 0 1 2.33 4.033 2.34 2.34 0 0 0 0 3.831 2.34 2.34 0 0 1-2.33 4.033 2.34 2.34 0 0 0-3.319 1.915 2.34 2.34 0 0 1-4.659 0 2.34 2.34 0 0 0-3.32-1.915 2.34 2.34 0 0 1-2.33-4.033 2.34 2.34 0 0 0 0-3.831A2.34 2.34 0 0 1 6.35 6.051a2.34 2.34 0 0 0 3.319-1.915",key:"1i5ecw"}],["circle",{cx:"12",cy:"12",r:"3",key:"1v7zrd"}]]);e.s(["Settings",0,t],95934)},925473,e=>{"use strict";var t=e.i(633940),r=e.i(579848),a=e.i(253151),i=e.i(622132),n=e.i(664027),o=e.i(145666),l=e.i(531342),s=e.i(728886),u=e.i(381153);let d=(0,r.memo)(function({dms:e,activeDm:r,blockedUserIds:s,loading:d,onPickDm:m,onShowFriends:f,onShowMachines:p,onShowBots:g,friendsActive:v,machinesActive:h,botsActive:b}){return(0,t.jsx)("aside",{className:"flex min-w-0 flex-1 flex-col",children:(0,t.jsxs)("div",{className:"flex-1 overflow-y-auto thin-scrollbar px-2 py-4",children:[(0,t.jsxs)("button",{onClick:f,className:["mb-1 flex h-9 w-full items-center gap-2 rounded-md px-2 text-sm font-medium",v??(null===r&&!h&&!b)?"bg-sidebar-accent text-foreground":"text-muted-foreground hover:bg-sidebar-accent/60 hover:text-foreground"].join(" "),children:[(0,t.jsx)(a.Users,{className:"size-5"})," Friends"]}),p&&(0,t.jsxs)("button",{onClick:p,className:["mb-1 flex h-9 w-full items-center gap-2 rounded-md px-2 text-sm font-medium",h?"bg-sidebar-accent text-foreground":"text-muted-foreground hover:bg-sidebar-accent/60 hover:text-foreground"].join(" "),children:[(0,t.jsx)(n.Monitor,{className:"size-5"})," Machines"]}),g&&(0,t.jsxs)("button",{onClick:g,className:["mb-2 flex h-9 w-full items-center gap-2 rounded-md px-2 text-sm font-medium",b?"bg-sidebar-accent text-foreground":"text-muted-foreground hover:bg-sidebar-accent/60 hover:text-foreground"].join(" "),children:[(0,t.jsx)(o.Bot,{className:"size-5"})," My Bots"]}),(0,t.jsx)("div",{className:"my-2 h-px bg-border"}),(0,t.jsx)("div",{className:"mb-2 px-2 text-xs font-semibold text-muted-foreground",children:"Direct Messages"}),d&&0===e.length?(0,t.jsx)(c,{}):0===e.length?(0,t.jsx)("p",{className:"px-2 py-4 text-center text-xs text-muted-foreground",children:"Your direct messages will appear here."}):null,e.map(e=>{let a=e.id===r,n=s?.has(e.userId);return(0,t.jsxs)("button",{"data-testid":u.tid.dmRow(e.id),onClick:()=>m(e.id),className:["flex w-full items-center gap-3 rounded-md px-2 py-2",a?"bg-sidebar-accent text-foreground":"text-muted-foreground hover:bg-sidebar-accent/60 hover:text-foreground"].join(" "),children:[(0,t.jsx)(l.Avatar,{label:e.avatar,seed:e.userId,size:32,presence:n?void 0:e.status,ringColor:"var(--sidebar)"}),(0,t.jsxs)("div",{className:"min-w-0 flex-1 text-left",children:[(0,t.jsx)("div",{className:"truncate text-sm leading-tight text-foreground",children:e.name}),(0,t.jsx)("div",{className:"truncate text-xs leading-tight text-muted-foreground",children:e.preview})]}),n&&(0,t.jsx)(i.Ban,{className:"size-4 shrink-0 text-destructive"}),!n&&e.unread&&(0,t.jsx)("span",{className:"size-2 shrink-0 rounded-full bg-primary"})]},e.id)})]})})});function c(){return(0,t.jsx)(t.Fragment,{children:Array.from({length:5}).map((e,r)=>(0,t.jsxs)("div",{className:"flex items-center gap-3 rounded-md px-2 py-2",children:[(0,t.jsx)(s.Skeleton,{className:"size-8 shrink-0 rounded-full"}),(0,t.jsxs)("div",{className:"flex min-w-0 flex-1 flex-col gap-2",children:[(0,t.jsx)(s.Skeleton,{className:"h-3.5 w-3/5 rounded"}),(0,t.jsx)(s.Skeleton,{className:"h-3 w-4/5 rounded"})]})]},r))})}e.s(["DmSidebar",0,d])},973733,e=>{"use strict";let t=new Intl.DateTimeFormat(void 0,{hour:"numeric",minute:"2-digit"}),r=new Intl.DateTimeFormat(void 0,{month:"short",day:"numeric",year:"numeric"}),a=new Intl.DateTimeFormat(void 0,{month:"short",day:"numeric",year:"numeric",hour:"numeric",minute:"2-digit"});function i(e){let t=new Date;return e.getFullYear()===t.getFullYear()&&e.getMonth()===t.getMonth()&&e.getDate()===t.getDate()}function n(e){let t=new Date;return t.setDate(t.getDate()-1),e.getFullYear()===t.getFullYear()&&e.getMonth()===t.getMonth()&&e.getDate()===t.getDate()}e.s(["dateKey",0,function(e){if(!e)return"";let t=new Date(e);return Number.isNaN(t.getTime())?"":`${t.getFullYear()}-${String(t.getMonth()+1).padStart(2,"0")}-${String(t.getDate()).padStart(2,"0")}`},"formatAwakeDuration",0,function(e){let t=new Date(e);if(Number.isNaN(t.getTime()))return"";let r=Math.floor((Date.now()-t.getTime())/6e4);if(r<1)return"Awake <1m";if(r<60)return`Awake ${r}m`;let a=Math.floor(r/60);if(a<24)return`Awake ${a}h`;let i=Math.floor(a/24);return`Awake ${i}d`},"formatDateLabel",0,function(e){let t=new Date(e);return Number.isNaN(t.getTime())?e:i(t)?"Today":n(t)?"Yesterday":r.format(t)},"formatMessageTime",0,function(e){if(!e)return"";let r=new Date(e);return Number.isNaN(r.getTime())?e:i(r)?t.format(r):n(r)?`Yesterday ${t.format(r)}`:a.format(r)},"formatRelativeTime",0,function(e){let t=new Date(e);if(Number.isNaN(t.getTime()))return e;let a=Math.floor((Date.now()-t.getTime())/6e4);if(a<1)return"now";if(a<60)return`${a}m ago`;let i=Math.floor(a/60);if(i<24)return`${i}h ago`;let n=Math.floor(i/24);return n<7?`${n}d ago`:r.format(t)}])},708884,e=>{"use strict";var t=e.i(633940),r=e.i(613349);e.s(["AppBackground",0,function({className:e,...a}){return(0,t.jsx)("div",{"aria-hidden":!0,className:(0,r.cn)("pointer-events-none fixed inset-0 -z-10 overflow-hidden bg-(--app-bg)",e),...a})},"AppSurface",0,function({className:e,...a}){return(0,t.jsx)("main",{className:(0,r.cn)("flex-1 min-h-0 rounded-xl bg-card shadow-(--e1) ring-1 ring-border/40 overflow-hidden flex flex-col",e),...a})}])},89164,e=>{"use strict";var t=e.i(633940),r=e.i(390070),a=e.i(613349);e.i(549911),e.i(576878),e.s(["DropdownMenu",0,function({...e}){return(0,t.jsx)(r.Menu.Root,{"data-slot":"dropdown-menu",...e})},"DropdownMenuContent",0,function({align:e="start",alignOffset:i=0,side:n="bottom",sideOffset:o=4,className:l,...s}){return(0,t.jsx)(r.Menu.Portal,{children:(0,t.jsx)(r.Menu.Positioner,{className:"isolate z-70 outline-none",align:e,alignOffset:i,side:n,sideOffset:o,children:(0,t.jsx)(r.Menu.Popup,{"data-slot":"dropdown-menu-content",className:(0,a.cn)("z-50 max-h-(--available-height) w-(--anchor-width) min-w-32 origin-(--transform-origin) overflow-x-hidden overflow-y-auto rounded-lg bg-popover p-2 text-popover-foreground shadow-md ring-1 ring-foreground/10 duration-100 outline-none data-[side=bottom]:slide-in-from-top-2 data-[side=inline-end]:slide-in-from-left-2 data-[side=inline-start]:slide-in-from-right-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 data-open:animate-in data-open:fade-in-0 data-open:zoom-in-95 data-closed:animate-out data-closed:overflow-hidden data-closed:fade-out-0 data-closed:zoom-out-95",l),...s})})})},"DropdownMenuGroup",0,function({...e}){return(0,t.jsx)(r.Menu.Group,{"data-slot":"dropdown-menu-group",...e})},"DropdownMenuItem",0,function({className:e,inset:i,variant:n="default",...o}){return(0,t.jsx)(r.Menu.Item,{"data-slot":"dropdown-menu-item","data-inset":i,"data-variant":n,className:(0,a.cn)("group/dropdown-menu-item relative flex cursor-default items-center gap-2 rounded-md px-2 py-2 text-sm outline-hidden select-none focus:bg-accent focus:text-accent-foreground not-data-[variant=destructive]:focus:**:text-accent-foreground data-inset:pl-7 data-[variant=destructive]:text-destructive data-[variant=destructive]:focus:bg-destructive/10 data-[variant=destructive]:focus:text-destructive dark:data-[variant=destructive]:focus:bg-destructive/20 data-disabled:pointer-events-none data-disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4 data-[variant=destructive]:*:[svg]:text-destructive",e),...o})},"DropdownMenuLabel",0,function({className:e,inset:i,...n}){return(0,t.jsx)(r.Menu.GroupLabel,{"data-slot":"dropdown-menu-label","data-inset":i,className:(0,a.cn)("px-2 py-2 text-xs font-medium text-muted-foreground data-inset:pl-7",e),...n})},"DropdownMenuSeparator",0,function({className:e,...i}){return(0,t.jsx)(r.Menu.Separator,{"data-slot":"dropdown-menu-separator",className:(0,a.cn)("-mx-2 my-2 h-px bg-border",e),...i})},"DropdownMenuTrigger",0,function({...e}){return(0,t.jsx)(r.Menu.Trigger,{"data-slot":"dropdown-menu-trigger",...e})}])},903477,e=>{"use strict";var t=e.i(633940),r=e.i(579848);e.s([],155537),e.i(155537);var a=e.i(561362),i=e.i(319458),n=e.i(673378),o=e.i(508657),l=e.i(582420);let s=r.createContext(void 0);var u=e.i(598213),d=e.i(317975),c=e.i(395372),m=e.i(584201);let f=function(e){let a=(0,c.useBaseUiId)(),n=void 0===e.controlId?a:e.controlId,[o,l]=r.useState(n),[s,u]=r.useState(e.labelId),[f,p]=r.useState([]),g=(0,d.useRefWithInit)(()=>new Map),{messageIds:v}=(0,m.useLabelableContext)(),h=(0,i.useStableCallback)((e,t)=>{let r=g.current;void 0===t?r.delete(e):(r.set(e,t),l(e=>{let t;if(0!==r.size){for(let a of r.values()){if(void 0!==e&&a===e)return e;void 0===t&&(t=a)}return t}}))}),b=r.useCallback(e=>{let t=e["aria-describedby"]?e["aria-describedby"].split(" "):[];return t.push(...v,...f),{...e,"aria-describedby":Array.from(new Set(t)).join(" ")||void 0}},[v,f]),x=r.useMemo(()=>({controlId:o,registerControlId:h,labelId:s,setLabelId:u,messageIds:f,setMessageIds:p,getDescriptionProps:b}),[o,h,s,u,f,p,b]);return(0,t.jsx)(m.LabelableContext.Provider,{value:x,children:e.children})};var p=e.i(396837),g=e.i(953076),v=e.i(202304),h=e.i(273486);function b(e,t){return{...e,state:{...e.state,valid:!t&&e.state.valid}}}let x=Object.keys(o.DEFAULT_VALIDITY_STATE);function y(e,t){let r=null;for(let a of e.keys())if(!a.matches(":disabled")&&(!t||a.form===t||null===a.form&&!a.hasAttribute("form"))){if(!a.validity.valid)return a;r??=a}return r}function w(e,t){for(let e of t.keys())e.setCustomValidity("");e?.setCustomValidity("")}let M=r.forwardRef(function(e,c){let{errors:f,validationMode:M,submitAttemptedRef:C}=(0,u.useFormContext)(),{render:k,className:S,validate:j,validationDebounceTime:R=0,validationMode:T=M,name:A,disabled:I=!1,invalid:D,dirty:N,touched:F,actionsRef:E,style:L,...V}=e,z=function(e=!1){let t=r.useContext(s);if(!t&&!e)throw Error((0,l.default)(86));return t}(!0)?.disabled,U=(0,i.useStableCallback)(j||(()=>null)),$=z||I,[O,P]=r.useState(!1),[B,Y]=r.useState(!1),[_,H]=r.useState(!1),[K,G]=r.useState(!1),W=N??B,q=F??O,J=r.useRef(W),Q=r.useRef(void 0),[X,Z]=r.useState(),ee=A??X;(0,a.useIsoLayoutEffect)(()=>{void 0!==N&&(J.current=N)},[N]);let et=(0,i.useStableCallback)(e=>{void 0===N&&(e&&(J.current=!0),Y(e))}),er=(0,i.useStableCallback)(e=>{void 0===F&&P(e)}),ea=(0,i.useStableCallback)(()=>"onChange"===T||"onSubmit"===T&&C.current),ei=ee&&Object.hasOwn(f,ee)?f[ee]:null,en=!!(Array.isArray(ei)?ei.length:ei),eo=!0===D||en,[el,es]=r.useState({state:o.DEFAULT_VALIDITY_STATE,error:"",errors:[],value:null,initialValue:null}),eu=!eo&&($?null:el.state.valid),ed=r.useMemo(()=>({disabled:$,touched:q,dirty:W,valid:eu,filled:_,focused:K}),[$,q,W,eu,_,K]),ec=function(e){let{elementRef:t,formRef:a}=(0,u.useFormContext)(),{setValidityData:n,validate:l,validityData:s,validationDebounceTime:c,invalid:f,markedDirtyRef:p,state:M,shouldValidateOnChange:C,registeredFieldIdRef:k}=e,{controlId:S,getDescriptionProps:j}=(0,m.useLabelableContext)(),R=(0,v.useTimeout)(),T=r.useRef(null),A=(0,d.useRefWithInit)(()=>new Map).current,I=r.useRef(0),D=r.useCallback((e,t)=>(A.set(e,t),()=>{A.delete(e)}),[A]),N=(0,i.useStableCallback)(()=>{let e=y(A,t.current);return e&&A.get(e)?.controlRef.current||null}),F=(0,i.useStableCallback)(async(e,r=!1)=>{let i;I.current+=1;let u=I.current;function d(e,t=f){let r=k.current??S;if(null==r)return;let i=a.current.fields.get(r);if(!i)return;let n=b(e,t);a.current.fields.set(r,{...i,validityData:n})}let c=A.size>0?y(A,t.current):T.current;if(r){if(!1!==M.valid||!c)return;let t=c.validity;if(!t.valueMissing){let t;return void(t={value:e,state:{...o.DEFAULT_VALIDITY_STATE,valid:!0},error:"",errors:[],initialValue:s.initialValue},w(c,A),d(t,!1),n(t))}for(let e of x)if("valid"!==e&&"valueMissing"!==e&&"customError"!==e&&t[e])return}R.clear();let m=null,g=[],v=c?function(e){let t=x.reduce((t,r)=>(t[r]=e.validity[r],t),{}),r=!1;for(let e of x)if("valid"!==e){if("valueMissing"===e&&t[e])r=!0;else if(t[e])return t}return r&&!p.current&&(t.valid=!0,t.valueMissing=!1),t}(c):{...o.DEFAULT_VALIDITY_STATE,valid:!0},h=C();if(c&&c.validationMessage&&!h)i=c.validationMessage,g=[c.validationMessage];else{let t=l(e,Array.from(a.current.fields.values()).reduce((e,t)=>(t.name&&(e[t.name]=t.getValue()),e),{}));if("object"==typeof t&&null!==t&&"then"in t){if(m=await t,u!==I.current)return}else m=t;null!==m?(v.valid=!1,v.customError=!0,Array.isArray(m)?(g=m,c?.setCustomValidity(m.join("\n"))):m&&(g=[m],c?.setCustomValidity(m))):h&&(w(c,A),v.customError=!1,c&&c.validationMessage?(i=c.validationMessage,g=[c.validationMessage]):c&&!c.validity.valid||v.valid||(v.valid=!0))}let j={value:e,state:v,error:i??(Array.isArray(m)?m[0]:m??""),errors:g,initialValue:s.initialValue};d(j),n(j)}),E=(0,i.useStableCallback)(e=>{R.clear();let t=C();t&&""!==e&&c?(I.current+=1,R.start(c,()=>{F(e)})):F(e,!t)}),L=r.useCallback((e,t={})=>(0,h.mergeProps)(j(t),!1!==M.valid||M.disabled||e?g.EMPTY_OBJECT:{"aria-invalid":!0}),[j,M.disabled,M.valid]);return r.useMemo(()=>({getValidationProps:L,inputRef:T,registeredInputs:A,registerInput:D,getInputControl:N,commit:F,change:E}),[L,A,D,N,F,E])}({setValidityData:es,validate:U,validityData:el,validationDebounceTime:R,invalid:eo,markedDirtyRef:J,state:ed,shouldValidateOnChange:ea,registeredFieldIdRef:Q}),[em,ef]=function(e){let{commit:t,invalid:n,markedDirtyRef:o,name:l,setRegisteredFieldName:s,registeredFieldIdRef:d,setValidityData:c,validityData:m}=e,{formRef:f}=(0,u.useFormContext)(),p=r.useRef(null),g=r.useRef(null),v=r.useRef(!1),h=(0,i.useStableCallback)(()=>{let e=g.current;if(e)return e.getValue?e.getValue():e.value});function x(e){return void 0===e.value?h():e.value}let y=(0,i.useStableCallback)(()=>{let e=g.current;(o.current=!0,e)?t(x(e)):t(m.value)});function w(e=g.current?.id){e&&f.current.fields.delete(e)}(0,a.useIsoLayoutEffect)(()=>{let e=g.current;e&&e.id&&(s(l?void 0:e.name),f.current.fields.set(e.id,{getValue:h,name:l??e.name,controlRef:e.controlRef,validityData:b(m,n),validate:y}))},[f,h,n,l,s,y,m]),(0,a.useIsoLayoutEffect)(()=>{let e=f.current.fields;return()=>{let t=g.current?.id;t&&e.delete(t)}},[f]);let M=(0,i.useStableCallback)((e,t)=>{let r;if(!t){p.current===e&&(p.current=null,w(),g.current=null,s(void 0),d.current=void 0);return}let a=g.current?.id;p.current=e,g.current=t,l||s(t.name),d.current=t.id,a&&a!==t.id&&w(a),function(e){if(v.current)return;v.current=!0;let t=x(e);c(e=>e.initialValue===t?e:{...e,initialValue:t})}(t),(r=g.current)&&r.id&&f.current.fields.set(r.id,{getValue:h,name:l??r.name,controlRef:r.controlRef,validityData:b(m,n),validate:y})});return[y,M]}({commit:ec.commit,invalid:eo,markedDirtyRef:J,name:A,setRegisteredFieldName:Z,registeredFieldIdRef:Q,setValidityData:es,validityData:el});r.useImperativeHandle(E,()=>({validate:em}),[em]);let ep=r.useMemo(()=>({invalid:eo,name:ee,validityData:el,setValidityData:es,disabled:$,setTouched:er,setDirty:et,setFilled:H,setFocused:G,validationMode:T,shouldValidateOnChange:ea,state:ed,registerFieldControl:ef,validation:ec}),[eo,ee,el,$,er,et,H,G,T,ea,ed,ef,ec]),eg=(0,p.useRenderElement)("div",e,{ref:c,state:ed,props:V,stateAttributesMapping:o.fieldValidityMapping});return(0,t.jsx)(n.FieldRootContext.Provider,{value:ep,children:eg})}),C=r.forwardRef(function(e,r){return(0,t.jsx)(f,{children:(0,t.jsx)(M,{...e,ref:r})})});var k=e.i(768747),S=e.i(571255);let j=r.forwardRef(function(e,t){let{render:a,className:i,style:l,id:s,nativeLabel:u=!0,...d}=e,c=(0,n.useFieldRootContext)(!1),f=(0,S.useFieldItemContext)(),{labelId:g}=(0,m.useLabelableContext)(),v={...c.state,disabled:c.disabled||f.disabled},h=r.useRef(null),b=(0,k.useLabel)({id:g??s,native:u});return(0,p.useRenderElement)("label",e,{ref:[t,h],state:v,props:[b,d],stateAttributesMapping:o.fieldValidityMapping})});var R=e.i(844253),T=e.i(401281),A=e.i(620153);let I={...o.fieldValidityMapping,...T.transitionStatusMapping},D=r.forwardRef(function(e,i){let{render:o,id:l,className:s,match:d,style:f,...g}=e,v=(0,c.useBaseUiId)(l),{validityData:h,state:b,name:x}=(0,n.useFieldRootContext)(!1),{setMessageIds:y}=(0,m.useLabelableContext)(),{errors:w}=(0,u.useFormContext)(),M=x&&Object.hasOwn(w,x)?w[x]:null,C=!!(Array.isArray(M)?M.length:M),k="string"==typeof d,S=!1;S=!0===d||!b.disabled&&(k?!!h.state[d]:C||!1===h.state.valid);let{mounted:j,transitionStatus:T,setMounted:D}=(0,A.useTransitionStatus)(S);(0,a.useIsoLayoutEffect)(()=>{if(S&&v)return y(e=>e.concat(v)),()=>{y(e=>e.filter(e=>e!==v))}},[S,v,y]);let N=r.useRef(null),[F,E]=r.useState(null),[L,V]=r.useState(null),z=h.error;!k&&C?z=M:h.errors.length>1&&(z=h.errors);let U=z;Array.isArray(z)&&(U=z.length>1?(0,t.jsx)("ul",{children:z.map(e=>(0,t.jsx)("li",{children:e},e))}):z[0]);let $=Array.isArray(z)?JSON.stringify(z):z;S&&$!==L&&(V($),E(U)),(0,R.useOpenChangeComplete)({open:S,ref:N,onComplete(){S||D(!1)}});let O={...b,transitionStatus:T},P=(0,p.useRenderElement)("div",e,{ref:[i,N],state:O,props:[{id:v,children:S?U:F},g],stateAttributesMapping:I,enabled:j});return j?P:null}),N=r.forwardRef(function(e,t){let{render:r,id:i,className:l,style:s,...u}=e,d=(0,c.useBaseUiId)(i),f=(0,n.useFieldRootContext)(!1),g=(0,S.useFieldItemContext)(),{setMessageIds:v}=(0,m.useLabelableContext)(),h={...f.state,disabled:f.disabled||g.disabled};return(0,a.useIsoLayoutEffect)(()=>{if(d)return v(e=>e.concat(d)),()=>{v(e=>e.filter(e=>e!==d))}},[d,v]),(0,p.useRenderElement)("p",e,{ref:t,state:h,props:[{id:d},u],stateAttributesMapping:o.fieldValidityMapping})});var F=e.i(725587),E=e.i(952515),L=e.i(397271),V=e.i(70104),z=e.i(885021),U=e.i(364594),$=e.i(835280);let O=r.forwardRef(function(e,t){let{render:l,className:s,id:d,name:c,value:f,disabled:g=!1,onValueChange:v,defaultValue:h,autoFocus:b=!1,style:x,...y}=e,{state:w,name:M,disabled:C,setTouched:k,setDirty:S,validityData:j,setFocused:R,setFilled:T,validationMode:A,validation:I}=(0,n.useFieldRootContext)(),{clearErrors:D}=(0,u.useFormContext)(),N=C||g,O=M??c,P={...w,disabled:N},{labelId:B}=(0,m.useLabelableContext)(),Y=(0,V.useLabelableId)({id:d});(0,a.useIsoLayoutEffect)(()=>{let e=null!=f;I.inputRef.current?.value||e&&""!==f?T(!0):e&&""===f&&T(!1)},[I.inputRef,T,f]);let _=r.useRef(null);(0,a.useIsoLayoutEffect)(()=>{b&&_.current===(0,$.activeElement)((0,E.ownerDocument)(_.current))&&R(!0)},[b,R]);let[H]=(0,F.useControlled)({controlled:f,default:h,name:"FieldControl",state:"value"}),K=void 0!==f,G=K?H:void 0,W=(0,i.useStableCallback)(()=>I.inputRef.current?.value);return(0,L.useRegisterFieldControl)(I.inputRef,Y,G,W,!N,c),(0,p.useRenderElement)("input",e,{ref:[t,_],state:P,props:[{id:Y,disabled:N,name:O,ref:I.inputRef,"aria-labelledby":B,autoFocus:b,...K?{value:G}:{defaultValue:h},onChange(e){let t=e.currentTarget.value;v?.(t,(0,z.createChangeEventDetails)(U.REASONS.none,e.nativeEvent)),S(t!==(j.initialValue??"")),T(""!==t),e.nativeEvent.defaultPrevented||(D(O),I.change(t))},onFocus(){R(!0)},onBlur(e){k(!0),R(!1),"onBlur"===A&&I.commit(e.currentTarget.value)},onKeyDown(e){"INPUT"===e.currentTarget.tagName&&"Enter"===e.key&&(k(!0),I.commit(e.currentTarget.value))}},y,e=>I.getValidationProps(N,e)],stateAttributesMapping:o.fieldValidityMapping})}),P=r.forwardRef(function(e,a){let{render:i,className:l,style:s,disabled:u=!1,...d}=e,{state:c,disabled:m}=(0,n.useFieldRootContext)(!1),g=m||u,v={...c,disabled:g},h=r.useMemo(()=>({disabled:g}),[g]),b=(0,p.useRenderElement)("div",e,{ref:a,state:v,props:d,stateAttributesMapping:o.fieldValidityMapping});return(0,t.jsx)(f,{children:(0,t.jsx)(S.FieldItemContext.Provider,{value:h,children:b})})});e.s(["Control",0,O,"Description",0,N,"Error",0,D,"Item",0,P,"Label",0,j,"Root",0,C,"Validity",0,function(e){let{children:a}=e,{validityData:i,invalid:o}=(0,n.useFieldRootContext)(!1),l=r.useMemo(()=>b(i,o),[i,o]),s=!1===l.state.valid,{transitionStatus:u}=(0,A.useTransitionStatus)(s),d=r.useMemo(()=>({...l,validity:l.state,transitionStatus:u}),[l,u]);return(0,t.jsx)(r.Fragment,{children:a(d)})}],565666);var B=e.i(565666),B=B;let Y=r.forwardRef(function(e,r){return(0,t.jsx)(B.Control,{ref:r,...e})});var _=e.i(613349);e.s(["Input",0,function({className:e,type:r,...a}){return(0,t.jsx)(Y,{type:r,"data-slot":"input",className:(0,_.cn)("h-8 w-full min-w-0 rounded-lg border border-input bg-transparent px-2 py-1 text-base transition-colors outline-none file:inline-flex file:h-6 file:border-0 file:bg-transparent file:text-sm file:font-medium file:text-foreground placeholder:text-muted-foreground focus-visible:border-ring focus-visible:ring-3 focus-visible:ring-ring/50 disabled:pointer-events-none disabled:cursor-not-allowed disabled:bg-input/50 disabled:opacity-50 aria-invalid:border-destructive aria-invalid:ring-3 aria-invalid:ring-destructive/20 sm:text-sm dark:bg-input/30 dark:disabled:bg-input/80 dark:aria-invalid:border-destructive/50 dark:aria-invalid:ring-destructive/40",e),...a})}],903477)},434433,e=>{"use strict";var t=e.i(633940),r=e.i(57129),a=e.i(613349);e.s(["Separator",0,function({className:e,orientation:i="horizontal",...n}){return(0,t.jsx)(r.Separator,{"data-slot":"separator",orientation:i,className:(0,a.cn)("shrink-0 bg-border data-horizontal:h-px data-horizontal:w-full data-vertical:w-px data-vertical:self-stretch",e),...n})}])},459663,e=>{"use strict";var t=e.i(579848),r=e.i(849050),a=e.i(188946),i=e.i(357439);e.i(384302);var n=e.i(97737),o=e.i(664501);e.s(["useDmMessageSender",0,function(){let{mutateAsync:e}=(0,o.useUploadFile)(),{mutateAsync:l}=(0,n.useSendDmMessage)(),s=(0,t.useCallback)(async(t,a)=>{let s,u={kind:"dm",id:t},d=i.useMessageStreamStore.getState(),c=d.getRetryPayload(u,a);if(!c)return{ok:!1,error:Error("Message intent is no longer available")};if(c.localUploads.length>0&&"settled"===c.uploadStatus){let e=c.message.attachments;e?.length===c.localUploads.length&&(s=e.map((e,t)=>{let r=c.localUploads[t];return{id:e.url.slice(e.url.lastIndexOf("/")+1),filename:r.file.name,contentType:r.file.type,size:r.file.size,width:r.width,height:r.height}}))}if(c.localUploads.length>0&&!s){let i=await Promise.all(c.localUploads.map(a=>e({target:{dmId:t},file:a.file,width:a.width,height:a.height}).catch(e=>((0,r.toastApiError)(e,"Failed to attach file"),null))));if(i.some(e=>null===e))return d.dispatch(u,{type:"uploadFailed",nonce:a}),{ok:!1,error:Error("Failed to attach file")};s=(0,o.zipUploadResultsWithDimensions)(i,[...c.localUploads]),d.dispatch(u,{type:"uploadSettled",nonce:a,attachments:s.map(e=>(0,n.toAttachmentVm)(t,e))})}try{let e=await l({dmId:t,content:c.message.content??"",replyToId:c.message.replyTo?.id,attachments:s,nonce:a});return{ok:!0,message:e.message}}catch(e){return{ok:!1,error:e instanceof Error?e:Error("Failed to send message")}}},[l,e]);return{accept:(0,t.useCallback)(e=>{if(!e.content&&!e.attachments?.length)return{accepted:!1};let t=e.nonce??(0,n.sendNonce)(),r=[];if(!i.useMessageStreamStore.getState().accept({kind:"dm",id:e.dmId},{nonce:t,tempId:(0,n.tempMessageId)(),message:{type:"chat",authorId:e.author.id,authorName:e.author.name,authorAvatar:e.author.avatar,content:e.content,createdAt:new Date().toISOString(),...e.replyTo?{replyTo:(0,a.toOptimisticReplyPreview)(e.replyTo)}:{}},localUploads:e.attachments?.map(e=>{let t=e.previewObjectUrl??URL.createObjectURL(e.file);return e.previewObjectUrl||r.push(t),{file:e.file,previewObjectUrl:t,width:e.width,height:e.height}})??[]})){for(let e of r)URL.revokeObjectURL(e);return{accepted:!1}}return{accepted:!0,nonce:t,committed:s(e.dmId,t)}},[s]),retry:(0,t.useCallback)((e,t)=>(i.useMessageStreamStore.getState().dispatch({kind:"dm",id:e},{type:"retry",nonce:t}),s(e,t)),[s])}}])},188946,e=>{"use strict";e.i(954194);var t=e.i(908967);e.s(["toOptimisticReplyPreview",0,function(e){return{...e,text:(0,t.truncateMessagePreview)(e.text)}}])},381153,e=>{"use strict";e.s(["tid",0,{composerInput:"community-composer-input",composerSend:"community-composer-send",composerAttach:"community-composer-attach",serverAdd:"community-server-add",createServerSubmit:"community-create-server-submit",createChannelSubmit:"community-create-channel-submit",newDivider:"community-new-divider",typingIndicator:"community-typing-indicator",dmBlockedNotice:"community-dm-blocked-notice",profileCard:"community-profile-card",statusPill:"community-status-pill",inviteToken:"community-invite-token",inviteCopy:"community-invite-copy",machinePairOpen:"community-machine-pair-open",machinePairCommand:"community-machine-pair-command",machinePairCopy:"community-machine-pair-copy",forumTagDialog:"community-forum-tag-dialog",forumTagDialogSave:"community-forum-tag-dialog-save",message:e=>`community-message-${e}`,channelRow:e=>`community-channel-row-${e}`,serverIcon:e=>`community-server-icon-${e}`,dmRow:e=>`community-dm-row-${e}`,memberRow:e=>`community-member-row-${e}`,mentionOption:e=>`community-mention-option-${e}`,reactionAdd:e=>`community-reaction-add-${e}`,messageShare:e=>`community-message-share-${e}`,messageShareCopy:"community-message-share-copy",threadIndicator:e=>`community-thread-indicator-${e}`,railUnreadBadge:e=>`community-rail-unread-badge-${e}`,forumThreadCard:e=>`community-forum-post-${e}`,forumSidebarThread:e=>`community-forum-sidebar-thread-${e}`,forumThreadTagBtn:e=>`community-forum-post-tag-btn-${e}`,forumThreadDeleteBtn:e=>`community-forum-post-delete-btn-${e}`,forumThreadAvatars:e=>`community-forum-post-avatars-${e}`,forumTagChip:e=>`community-forum-tag-chip-${e}`,inboxUnreadChild:e=>`community-inbox-unread-child-${e}`,channelRefPill:e=>`community-channel-ref-pill-${e}`}])}]);
1
+ (globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,571255,e=>{"use strict";e.i(57331);var t=e.i(579848);let r=t.createContext({disabled:!1});e.s(["FieldItemContext",0,r,"useFieldItemContext",0,function(){return t.useContext(r)}])},622132,e=>{"use strict";let t=(0,e.i(130024).default)("ban",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"M4.929 4.929 19.07 19.071",key:"196cmz"}]]);e.s(["Ban",0,t],622132)},145666,e=>{"use strict";let t=(0,e.i(130024).default)("bot",[["path",{d:"M12 8V4H8",key:"hb8ula"}],["rect",{width:"16",height:"12",x:"4",y:"8",rx:"2",key:"enze0r"}],["path",{d:"M2 14h2",key:"vft8re"}],["path",{d:"M20 14h2",key:"4cs60a"}],["path",{d:"M15 13v2",key:"1xurst"}],["path",{d:"M9 13v2",key:"rq6x2g"}]]);e.s(["Bot",0,t],145666)},345242,e=>{"use strict";let t=(0,e.i(130024).default)("ellipsis",[["circle",{cx:"12",cy:"12",r:"1",key:"41hilf"}],["circle",{cx:"19",cy:"12",r:"1",key:"1wjl8i"}],["circle",{cx:"5",cy:"12",r:"1",key:"1pcz8c"}]]);e.s(["MoreHorizontal",0,t],345242)},541272,e=>{"use strict";let t=(0,e.i(130024).default)("inbox",[["polyline",{points:"22 12 16 12 14 15 10 15 8 12 2 12",key:"o97t9d"}],["path",{d:"M5.45 5.11 2 12v6a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2v-6l-3.45-6.89A2 2 0 0 0 16.76 4H7.24a2 2 0 0 0-1.79 1.11z",key:"oot6mr"}]]);e.s(["Inbox",0,t],541272)},664027,e=>{"use strict";let t=(0,e.i(130024).default)("monitor",[["rect",{width:"20",height:"14",x:"2",y:"3",rx:"2",key:"48i651"}],["line",{x1:"8",x2:"16",y1:"21",y2:"21",key:"1svkeh"}],["line",{x1:"12",x2:"12",y1:"17",y2:"21",key:"vw1qmm"}]]);e.s(["Monitor",0,t],664027)},95934,e=>{"use strict";let t=(0,e.i(130024).default)("settings",[["path",{d:"M9.671 4.136a2.34 2.34 0 0 1 4.659 0 2.34 2.34 0 0 0 3.319 1.915 2.34 2.34 0 0 1 2.33 4.033 2.34 2.34 0 0 0 0 3.831 2.34 2.34 0 0 1-2.33 4.033 2.34 2.34 0 0 0-3.319 1.915 2.34 2.34 0 0 1-4.659 0 2.34 2.34 0 0 0-3.32-1.915 2.34 2.34 0 0 1-2.33-4.033 2.34 2.34 0 0 0 0-3.831A2.34 2.34 0 0 1 6.35 6.051a2.34 2.34 0 0 0 3.319-1.915",key:"1i5ecw"}],["circle",{cx:"12",cy:"12",r:"3",key:"1v7zrd"}]]);e.s(["Settings",0,t],95934)},925473,e=>{"use strict";var t=e.i(633940),r=e.i(579848),a=e.i(253151),i=e.i(622132),n=e.i(664027),o=e.i(145666),l=e.i(531342),s=e.i(728886),u=e.i(381153);let d=(0,r.memo)(function({dms:e,activeDm:r,blockedUserIds:s,loading:d,onPickDm:m,onShowFriends:f,onShowMachines:p,onShowBots:g,friendsActive:h,machinesActive:v,botsActive:b}){return(0,t.jsx)("aside",{className:"flex min-w-0 flex-1 flex-col",children:(0,t.jsxs)("div",{className:"flex-1 overflow-y-auto thin-scrollbar px-2 py-4",children:[(0,t.jsxs)("button",{onClick:f,className:["mb-1 flex h-9 w-full items-center gap-2 rounded-md px-2 text-sm font-medium",h??(null===r&&!v&&!b)?"bg-sidebar-accent text-foreground":"text-muted-foreground hover:bg-sidebar-accent/60 hover:text-foreground"].join(" "),children:[(0,t.jsx)(a.Users,{className:"size-5"})," Friends"]}),p&&(0,t.jsxs)("button",{onClick:p,className:["mb-1 flex h-9 w-full items-center gap-2 rounded-md px-2 text-sm font-medium",v?"bg-sidebar-accent text-foreground":"text-muted-foreground hover:bg-sidebar-accent/60 hover:text-foreground"].join(" "),children:[(0,t.jsx)(n.Monitor,{className:"size-5"})," Machines"]}),g&&(0,t.jsxs)("button",{onClick:g,className:["mb-2 flex h-9 w-full items-center gap-2 rounded-md px-2 text-sm font-medium",b?"bg-sidebar-accent text-foreground":"text-muted-foreground hover:bg-sidebar-accent/60 hover:text-foreground"].join(" "),children:[(0,t.jsx)(o.Bot,{className:"size-5"})," My Bots"]}),(0,t.jsx)("div",{className:"my-2 h-px bg-border"}),(0,t.jsx)("div",{className:"mb-2 px-2 text-xs font-semibold text-muted-foreground",children:"Direct Messages"}),d&&0===e.length?(0,t.jsx)(c,{}):0===e.length?(0,t.jsx)("p",{className:"px-2 py-4 text-center text-xs text-muted-foreground",children:"Your direct messages will appear here."}):null,e.map(e=>{let a=e.id===r,n=s?.has(e.userId);return(0,t.jsxs)("button",{"data-testid":u.tid.dmRow(e.id),onClick:()=>m(e.id),className:["flex w-full items-center gap-3 rounded-md px-2 py-2",a?"bg-sidebar-accent text-foreground":"text-muted-foreground hover:bg-sidebar-accent/60 hover:text-foreground"].join(" "),children:[(0,t.jsx)(l.Avatar,{label:e.avatar,seed:e.userId,size:32,presence:n?void 0:e.status,ringColor:"var(--sidebar)"}),(0,t.jsxs)("div",{className:"min-w-0 flex-1 text-left",children:[(0,t.jsx)("div",{className:"truncate text-sm leading-tight text-foreground",children:e.name}),(0,t.jsx)("div",{className:"truncate text-xs leading-tight text-muted-foreground",children:e.preview})]}),n&&(0,t.jsx)(i.Ban,{className:"size-4 shrink-0 text-destructive"}),!n&&e.unread&&(0,t.jsx)("span",{className:"size-2 shrink-0 rounded-full bg-primary"})]},e.id)})]})})});function c(){return(0,t.jsx)(t.Fragment,{children:Array.from({length:5}).map((e,r)=>(0,t.jsxs)("div",{className:"flex items-center gap-3 rounded-md px-2 py-2",children:[(0,t.jsx)(s.Skeleton,{className:"size-8 shrink-0 rounded-full"}),(0,t.jsxs)("div",{className:"flex min-w-0 flex-1 flex-col gap-2",children:[(0,t.jsx)(s.Skeleton,{className:"h-3.5 w-3/5 rounded"}),(0,t.jsx)(s.Skeleton,{className:"h-3 w-4/5 rounded"})]})]},r))})}e.s(["DmSidebar",0,d])},973733,e=>{"use strict";let t=new Intl.DateTimeFormat(void 0,{hour:"numeric",minute:"2-digit"}),r=new Intl.DateTimeFormat(void 0,{month:"short",day:"numeric",year:"numeric"}),a=new Intl.DateTimeFormat(void 0,{month:"short",day:"numeric",year:"numeric",hour:"numeric",minute:"2-digit"});function i(e){let t=new Date;return e.getFullYear()===t.getFullYear()&&e.getMonth()===t.getMonth()&&e.getDate()===t.getDate()}function n(e){let t=new Date;return t.setDate(t.getDate()-1),e.getFullYear()===t.getFullYear()&&e.getMonth()===t.getMonth()&&e.getDate()===t.getDate()}e.s(["dateKey",0,function(e){if(!e)return"";let t=new Date(e);return Number.isNaN(t.getTime())?"":`${t.getFullYear()}-${String(t.getMonth()+1).padStart(2,"0")}-${String(t.getDate()).padStart(2,"0")}`},"formatAwakeDuration",0,function(e){let t=new Date(e);if(Number.isNaN(t.getTime()))return"";let r=Math.floor((Date.now()-t.getTime())/6e4);if(r<1)return"Awake <1m";if(r<60)return`Awake ${r}m`;let a=Math.floor(r/60);if(a<24)return`Awake ${a}h`;let i=Math.floor(a/24);return`Awake ${i}d`},"formatDateLabel",0,function(e){let t=new Date(e);return Number.isNaN(t.getTime())?e:i(t)?"Today":n(t)?"Yesterday":r.format(t)},"formatMessageTime",0,function(e){if(!e)return"";let r=new Date(e);return Number.isNaN(r.getTime())?e:i(r)?t.format(r):n(r)?`Yesterday ${t.format(r)}`:a.format(r)},"formatRelativeTime",0,function(e){let t=new Date(e);if(Number.isNaN(t.getTime()))return e;let a=Math.floor((Date.now()-t.getTime())/6e4);if(a<1)return"now";if(a<60)return`${a}m ago`;let i=Math.floor(a/60);if(i<24)return`${i}h ago`;let n=Math.floor(i/24);return n<7?`${n}d ago`:r.format(t)}])},708884,e=>{"use strict";var t=e.i(633940),r=e.i(613349);e.s(["AppBackground",0,function({className:e,...a}){return(0,t.jsx)("div",{"aria-hidden":!0,className:(0,r.cn)("pointer-events-none fixed inset-0 -z-10 overflow-hidden bg-(--app-bg)",e),...a})},"AppSurface",0,function({className:e,...a}){return(0,t.jsx)("main",{className:(0,r.cn)("flex-1 min-h-0 rounded-xl bg-card shadow-(--e1) ring-1 ring-border/40 overflow-hidden flex flex-col",e),...a})}])},89164,e=>{"use strict";var t=e.i(633940),r=e.i(390070),a=e.i(613349);e.i(549911),e.i(576878),e.s(["DropdownMenu",0,function({...e}){return(0,t.jsx)(r.Menu.Root,{"data-slot":"dropdown-menu",...e})},"DropdownMenuContent",0,function({align:e="start",alignOffset:i=0,side:n="bottom",sideOffset:o=4,className:l,...s}){return(0,t.jsx)(r.Menu.Portal,{children:(0,t.jsx)(r.Menu.Positioner,{className:"isolate z-70 outline-none",align:e,alignOffset:i,side:n,sideOffset:o,children:(0,t.jsx)(r.Menu.Popup,{"data-slot":"dropdown-menu-content",className:(0,a.cn)("z-50 max-h-(--available-height) w-(--anchor-width) min-w-32 origin-(--transform-origin) overflow-x-hidden overflow-y-auto rounded-lg bg-popover p-2 text-popover-foreground shadow-md ring-1 ring-foreground/10 duration-100 outline-none data-[side=bottom]:slide-in-from-top-2 data-[side=inline-end]:slide-in-from-left-2 data-[side=inline-start]:slide-in-from-right-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 data-open:animate-in data-open:fade-in-0 data-open:zoom-in-95 data-closed:animate-out data-closed:overflow-hidden data-closed:fade-out-0 data-closed:zoom-out-95",l),...s})})})},"DropdownMenuGroup",0,function({...e}){return(0,t.jsx)(r.Menu.Group,{"data-slot":"dropdown-menu-group",...e})},"DropdownMenuItem",0,function({className:e,inset:i,variant:n="default",...o}){return(0,t.jsx)(r.Menu.Item,{"data-slot":"dropdown-menu-item","data-inset":i,"data-variant":n,className:(0,a.cn)("group/dropdown-menu-item relative flex cursor-default items-center gap-2 rounded-md px-2 py-2 text-sm outline-hidden select-none focus:bg-accent focus:text-accent-foreground not-data-[variant=destructive]:focus:**:text-accent-foreground data-inset:pl-7 data-[variant=destructive]:text-destructive data-[variant=destructive]:focus:bg-destructive/10 data-[variant=destructive]:focus:text-destructive dark:data-[variant=destructive]:focus:bg-destructive/20 data-disabled:pointer-events-none data-disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4 data-[variant=destructive]:*:[svg]:text-destructive",e),...o})},"DropdownMenuLabel",0,function({className:e,inset:i,...n}){return(0,t.jsx)(r.Menu.GroupLabel,{"data-slot":"dropdown-menu-label","data-inset":i,className:(0,a.cn)("px-2 py-2 text-xs font-medium text-muted-foreground data-inset:pl-7",e),...n})},"DropdownMenuSeparator",0,function({className:e,...i}){return(0,t.jsx)(r.Menu.Separator,{"data-slot":"dropdown-menu-separator",className:(0,a.cn)("-mx-2 my-2 h-px bg-border",e),...i})},"DropdownMenuTrigger",0,function({...e}){return(0,t.jsx)(r.Menu.Trigger,{"data-slot":"dropdown-menu-trigger",...e})}])},903477,e=>{"use strict";var t=e.i(633940),r=e.i(579848);e.s([],155537),e.i(155537);var a=e.i(561362),i=e.i(319458),n=e.i(673378),o=e.i(508657),l=e.i(582420);let s=r.createContext(void 0);var u=e.i(598213),d=e.i(317975),c=e.i(395372),m=e.i(584201);let f=function(e){let a=(0,c.useBaseUiId)(),n=void 0===e.controlId?a:e.controlId,[o,l]=r.useState(n),[s,u]=r.useState(e.labelId),[f,p]=r.useState([]),g=(0,d.useRefWithInit)(()=>new Map),{messageIds:h}=(0,m.useLabelableContext)(),v=(0,i.useStableCallback)((e,t)=>{let r=g.current;void 0===t?r.delete(e):(r.set(e,t),l(e=>{let t;if(0!==r.size){for(let a of r.values()){if(void 0!==e&&a===e)return e;void 0===t&&(t=a)}return t}}))}),b=r.useCallback(e=>{let t=e["aria-describedby"]?e["aria-describedby"].split(" "):[];return t.push(...h,...f),{...e,"aria-describedby":Array.from(new Set(t)).join(" ")||void 0}},[h,f]),x=r.useMemo(()=>({controlId:o,registerControlId:v,labelId:s,setLabelId:u,messageIds:f,setMessageIds:p,getDescriptionProps:b}),[o,v,s,u,f,p,b]);return(0,t.jsx)(m.LabelableContext.Provider,{value:x,children:e.children})};var p=e.i(396837),g=e.i(953076),h=e.i(202304),v=e.i(273486);function b(e,t){return{...e,state:{...e.state,valid:!t&&e.state.valid}}}let x=Object.keys(o.DEFAULT_VALIDITY_STATE);function y(e,t){let r=null;for(let a of e.keys())if(!a.matches(":disabled")&&(!t||a.form===t||null===a.form&&!a.hasAttribute("form"))){if(!a.validity.valid)return a;r??=a}return r}function w(e,t){for(let e of t.keys())e.setCustomValidity("");e?.setCustomValidity("")}let M=r.forwardRef(function(e,c){let{errors:f,validationMode:M,submitAttemptedRef:C}=(0,u.useFormContext)(),{render:k,className:S,validate:j,validationDebounceTime:R=0,validationMode:T=M,name:A,disabled:I=!1,invalid:N,dirty:D,touched:F,actionsRef:E,style:L,...V}=e,z=function(e=!1){let t=r.useContext(s);if(!t&&!e)throw Error((0,l.default)(86));return t}(!0)?.disabled,U=(0,i.useStableCallback)(j||(()=>null)),$=z||I,[O,P]=r.useState(!1),[B,Y]=r.useState(!1),[_,H]=r.useState(!1),[K,G]=r.useState(!1),W=D??B,q=F??O,J=r.useRef(W),Q=r.useRef(void 0),[X,Z]=r.useState(),ee=A??X;(0,a.useIsoLayoutEffect)(()=>{void 0!==D&&(J.current=D)},[D]);let et=(0,i.useStableCallback)(e=>{void 0===D&&(e&&(J.current=!0),Y(e))}),er=(0,i.useStableCallback)(e=>{void 0===F&&P(e)}),ea=(0,i.useStableCallback)(()=>"onChange"===T||"onSubmit"===T&&C.current),ei=ee&&Object.hasOwn(f,ee)?f[ee]:null,en=!!(Array.isArray(ei)?ei.length:ei),eo=!0===N||en,[el,es]=r.useState({state:o.DEFAULT_VALIDITY_STATE,error:"",errors:[],value:null,initialValue:null}),eu=!eo&&($?null:el.state.valid),ed=r.useMemo(()=>({disabled:$,touched:q,dirty:W,valid:eu,filled:_,focused:K}),[$,q,W,eu,_,K]),ec=function(e){let{elementRef:t,formRef:a}=(0,u.useFormContext)(),{setValidityData:n,validate:l,validityData:s,validationDebounceTime:c,invalid:f,markedDirtyRef:p,state:M,shouldValidateOnChange:C,registeredFieldIdRef:k}=e,{controlId:S,getDescriptionProps:j}=(0,m.useLabelableContext)(),R=(0,h.useTimeout)(),T=r.useRef(null),A=(0,d.useRefWithInit)(()=>new Map).current,I=r.useRef(0),N=r.useCallback((e,t)=>(A.set(e,t),()=>{A.delete(e)}),[A]),D=(0,i.useStableCallback)(()=>{let e=y(A,t.current);return e&&A.get(e)?.controlRef.current||null}),F=(0,i.useStableCallback)(async(e,r=!1)=>{let i;I.current+=1;let u=I.current;function d(e,t=f){let r=k.current??S;if(null==r)return;let i=a.current.fields.get(r);if(!i)return;let n=b(e,t);a.current.fields.set(r,{...i,validityData:n})}let c=A.size>0?y(A,t.current):T.current;if(r){if(!1!==M.valid||!c)return;let t=c.validity;if(!t.valueMissing){let t;return void(t={value:e,state:{...o.DEFAULT_VALIDITY_STATE,valid:!0},error:"",errors:[],initialValue:s.initialValue},w(c,A),d(t,!1),n(t))}for(let e of x)if("valid"!==e&&"valueMissing"!==e&&"customError"!==e&&t[e])return}R.clear();let m=null,g=[],h=c?function(e){let t=x.reduce((t,r)=>(t[r]=e.validity[r],t),{}),r=!1;for(let e of x)if("valid"!==e){if("valueMissing"===e&&t[e])r=!0;else if(t[e])return t}return r&&!p.current&&(t.valid=!0,t.valueMissing=!1),t}(c):{...o.DEFAULT_VALIDITY_STATE,valid:!0},v=C();if(c&&c.validationMessage&&!v)i=c.validationMessage,g=[c.validationMessage];else{let t=l(e,Array.from(a.current.fields.values()).reduce((e,t)=>(t.name&&(e[t.name]=t.getValue()),e),{}));if("object"==typeof t&&null!==t&&"then"in t){if(m=await t,u!==I.current)return}else m=t;null!==m?(h.valid=!1,h.customError=!0,Array.isArray(m)?(g=m,c?.setCustomValidity(m.join("\n"))):m&&(g=[m],c?.setCustomValidity(m))):v&&(w(c,A),h.customError=!1,c&&c.validationMessage?(i=c.validationMessage,g=[c.validationMessage]):c&&!c.validity.valid||h.valid||(h.valid=!0))}let j={value:e,state:h,error:i??(Array.isArray(m)?m[0]:m??""),errors:g,initialValue:s.initialValue};d(j),n(j)}),E=(0,i.useStableCallback)(e=>{R.clear();let t=C();t&&""!==e&&c?(I.current+=1,R.start(c,()=>{F(e)})):F(e,!t)}),L=r.useCallback((e,t={})=>(0,v.mergeProps)(j(t),!1!==M.valid||M.disabled||e?g.EMPTY_OBJECT:{"aria-invalid":!0}),[j,M.disabled,M.valid]);return r.useMemo(()=>({getValidationProps:L,inputRef:T,registeredInputs:A,registerInput:N,getInputControl:D,commit:F,change:E}),[L,A,N,D,F,E])}({setValidityData:es,validate:U,validityData:el,validationDebounceTime:R,invalid:eo,markedDirtyRef:J,state:ed,shouldValidateOnChange:ea,registeredFieldIdRef:Q}),[em,ef]=function(e){let{commit:t,invalid:n,markedDirtyRef:o,name:l,setRegisteredFieldName:s,registeredFieldIdRef:d,setValidityData:c,validityData:m}=e,{formRef:f}=(0,u.useFormContext)(),p=r.useRef(null),g=r.useRef(null),h=r.useRef(!1),v=(0,i.useStableCallback)(()=>{let e=g.current;if(e)return e.getValue?e.getValue():e.value});function x(e){return void 0===e.value?v():e.value}let y=(0,i.useStableCallback)(()=>{let e=g.current;(o.current=!0,e)?t(x(e)):t(m.value)});function w(e=g.current?.id){e&&f.current.fields.delete(e)}(0,a.useIsoLayoutEffect)(()=>{let e=g.current;e&&e.id&&(s(l?void 0:e.name),f.current.fields.set(e.id,{getValue:v,name:l??e.name,controlRef:e.controlRef,validityData:b(m,n),validate:y}))},[f,v,n,l,s,y,m]),(0,a.useIsoLayoutEffect)(()=>{let e=f.current.fields;return()=>{let t=g.current?.id;t&&e.delete(t)}},[f]);let M=(0,i.useStableCallback)((e,t)=>{let r;if(!t){p.current===e&&(p.current=null,w(),g.current=null,s(void 0),d.current=void 0);return}let a=g.current?.id;p.current=e,g.current=t,l||s(t.name),d.current=t.id,a&&a!==t.id&&w(a),function(e){if(h.current)return;h.current=!0;let t=x(e);c(e=>e.initialValue===t?e:{...e,initialValue:t})}(t),(r=g.current)&&r.id&&f.current.fields.set(r.id,{getValue:v,name:l??r.name,controlRef:r.controlRef,validityData:b(m,n),validate:y})});return[y,M]}({commit:ec.commit,invalid:eo,markedDirtyRef:J,name:A,setRegisteredFieldName:Z,registeredFieldIdRef:Q,setValidityData:es,validityData:el});r.useImperativeHandle(E,()=>({validate:em}),[em]);let ep=r.useMemo(()=>({invalid:eo,name:ee,validityData:el,setValidityData:es,disabled:$,setTouched:er,setDirty:et,setFilled:H,setFocused:G,validationMode:T,shouldValidateOnChange:ea,state:ed,registerFieldControl:ef,validation:ec}),[eo,ee,el,$,er,et,H,G,T,ea,ed,ef,ec]),eg=(0,p.useRenderElement)("div",e,{ref:c,state:ed,props:V,stateAttributesMapping:o.fieldValidityMapping});return(0,t.jsx)(n.FieldRootContext.Provider,{value:ep,children:eg})}),C=r.forwardRef(function(e,r){return(0,t.jsx)(f,{children:(0,t.jsx)(M,{...e,ref:r})})});var k=e.i(768747),S=e.i(571255);let j=r.forwardRef(function(e,t){let{render:a,className:i,style:l,id:s,nativeLabel:u=!0,...d}=e,c=(0,n.useFieldRootContext)(!1),f=(0,S.useFieldItemContext)(),{labelId:g}=(0,m.useLabelableContext)(),h={...c.state,disabled:c.disabled||f.disabled},v=r.useRef(null),b=(0,k.useLabel)({id:g??s,native:u});return(0,p.useRenderElement)("label",e,{ref:[t,v],state:h,props:[b,d],stateAttributesMapping:o.fieldValidityMapping})});var R=e.i(844253),T=e.i(401281),A=e.i(620153);let I={...o.fieldValidityMapping,...T.transitionStatusMapping},N=r.forwardRef(function(e,i){let{render:o,id:l,className:s,match:d,style:f,...g}=e,h=(0,c.useBaseUiId)(l),{validityData:v,state:b,name:x}=(0,n.useFieldRootContext)(!1),{setMessageIds:y}=(0,m.useLabelableContext)(),{errors:w}=(0,u.useFormContext)(),M=x&&Object.hasOwn(w,x)?w[x]:null,C=!!(Array.isArray(M)?M.length:M),k="string"==typeof d,S=!1;S=!0===d||!b.disabled&&(k?!!v.state[d]:C||!1===v.state.valid);let{mounted:j,transitionStatus:T,setMounted:N}=(0,A.useTransitionStatus)(S);(0,a.useIsoLayoutEffect)(()=>{if(S&&h)return y(e=>e.concat(h)),()=>{y(e=>e.filter(e=>e!==h))}},[S,h,y]);let D=r.useRef(null),[F,E]=r.useState(null),[L,V]=r.useState(null),z=v.error;!k&&C?z=M:v.errors.length>1&&(z=v.errors);let U=z;Array.isArray(z)&&(U=z.length>1?(0,t.jsx)("ul",{children:z.map(e=>(0,t.jsx)("li",{children:e},e))}):z[0]);let $=Array.isArray(z)?JSON.stringify(z):z;S&&$!==L&&(V($),E(U)),(0,R.useOpenChangeComplete)({open:S,ref:D,onComplete(){S||N(!1)}});let O={...b,transitionStatus:T},P=(0,p.useRenderElement)("div",e,{ref:[i,D],state:O,props:[{id:h,children:S?U:F},g],stateAttributesMapping:I,enabled:j});return j?P:null}),D=r.forwardRef(function(e,t){let{render:r,id:i,className:l,style:s,...u}=e,d=(0,c.useBaseUiId)(i),f=(0,n.useFieldRootContext)(!1),g=(0,S.useFieldItemContext)(),{setMessageIds:h}=(0,m.useLabelableContext)(),v={...f.state,disabled:f.disabled||g.disabled};return(0,a.useIsoLayoutEffect)(()=>{if(d)return h(e=>e.concat(d)),()=>{h(e=>e.filter(e=>e!==d))}},[d,h]),(0,p.useRenderElement)("p",e,{ref:t,state:v,props:[{id:d},u],stateAttributesMapping:o.fieldValidityMapping})});var F=e.i(725587),E=e.i(952515),L=e.i(397271),V=e.i(70104),z=e.i(885021),U=e.i(364594),$=e.i(835280);let O=r.forwardRef(function(e,t){let{render:l,className:s,id:d,name:c,value:f,disabled:g=!1,onValueChange:h,defaultValue:v,autoFocus:b=!1,style:x,...y}=e,{state:w,name:M,disabled:C,setTouched:k,setDirty:S,validityData:j,setFocused:R,setFilled:T,validationMode:A,validation:I}=(0,n.useFieldRootContext)(),{clearErrors:N}=(0,u.useFormContext)(),D=C||g,O=M??c,P={...w,disabled:D},{labelId:B}=(0,m.useLabelableContext)(),Y=(0,V.useLabelableId)({id:d});(0,a.useIsoLayoutEffect)(()=>{let e=null!=f;I.inputRef.current?.value||e&&""!==f?T(!0):e&&""===f&&T(!1)},[I.inputRef,T,f]);let _=r.useRef(null);(0,a.useIsoLayoutEffect)(()=>{b&&_.current===(0,$.activeElement)((0,E.ownerDocument)(_.current))&&R(!0)},[b,R]);let[H]=(0,F.useControlled)({controlled:f,default:v,name:"FieldControl",state:"value"}),K=void 0!==f,G=K?H:void 0,W=(0,i.useStableCallback)(()=>I.inputRef.current?.value);return(0,L.useRegisterFieldControl)(I.inputRef,Y,G,W,!D,c),(0,p.useRenderElement)("input",e,{ref:[t,_],state:P,props:[{id:Y,disabled:D,name:O,ref:I.inputRef,"aria-labelledby":B,autoFocus:b,...K?{value:G}:{defaultValue:v},onChange(e){let t=e.currentTarget.value;h?.(t,(0,z.createChangeEventDetails)(U.REASONS.none,e.nativeEvent)),S(t!==(j.initialValue??"")),T(""!==t),e.nativeEvent.defaultPrevented||(N(O),I.change(t))},onFocus(){R(!0)},onBlur(e){k(!0),R(!1),"onBlur"===A&&I.commit(e.currentTarget.value)},onKeyDown(e){"INPUT"===e.currentTarget.tagName&&"Enter"===e.key&&(k(!0),I.commit(e.currentTarget.value))}},y,e=>I.getValidationProps(D,e)],stateAttributesMapping:o.fieldValidityMapping})}),P=r.forwardRef(function(e,a){let{render:i,className:l,style:s,disabled:u=!1,...d}=e,{state:c,disabled:m}=(0,n.useFieldRootContext)(!1),g=m||u,h={...c,disabled:g},v=r.useMemo(()=>({disabled:g}),[g]),b=(0,p.useRenderElement)("div",e,{ref:a,state:h,props:d,stateAttributesMapping:o.fieldValidityMapping});return(0,t.jsx)(f,{children:(0,t.jsx)(S.FieldItemContext.Provider,{value:v,children:b})})});e.s(["Control",0,O,"Description",0,D,"Error",0,N,"Item",0,P,"Label",0,j,"Root",0,C,"Validity",0,function(e){let{children:a}=e,{validityData:i,invalid:o}=(0,n.useFieldRootContext)(!1),l=r.useMemo(()=>b(i,o),[i,o]),s=!1===l.state.valid,{transitionStatus:u}=(0,A.useTransitionStatus)(s),d=r.useMemo(()=>({...l,validity:l.state,transitionStatus:u}),[l,u]);return(0,t.jsx)(r.Fragment,{children:a(d)})}],565666);var B=e.i(565666),B=B;let Y=r.forwardRef(function(e,r){return(0,t.jsx)(B.Control,{ref:r,...e})});var _=e.i(613349);e.s(["Input",0,function({className:e,type:r,...a}){return(0,t.jsx)(Y,{type:r,"data-slot":"input",className:(0,_.cn)("h-8 w-full min-w-0 rounded-lg border border-input bg-transparent px-2 py-1 text-base transition-colors outline-none file:inline-flex file:h-6 file:border-0 file:bg-transparent file:text-sm file:font-medium file:text-foreground placeholder:text-muted-foreground focus-visible:border-ring focus-visible:ring-3 focus-visible:ring-ring/50 disabled:pointer-events-none disabled:cursor-not-allowed disabled:bg-input/50 disabled:opacity-50 aria-invalid:border-destructive aria-invalid:ring-3 aria-invalid:ring-destructive/20 sm:text-sm dark:bg-input/30 dark:disabled:bg-input/80 dark:aria-invalid:border-destructive/50 dark:aria-invalid:ring-destructive/40",e),...a})}],903477)},434433,e=>{"use strict";var t=e.i(633940),r=e.i(57129),a=e.i(613349);e.s(["Separator",0,function({className:e,orientation:i="horizontal",...n}){return(0,t.jsx)(r.Separator,{"data-slot":"separator",orientation:i,className:(0,a.cn)("shrink-0 bg-border data-horizontal:h-px data-horizontal:w-full data-vertical:w-px data-vertical:self-stretch",e),...n})}])},459663,e=>{"use strict";var t=e.i(579848),r=e.i(849050),a=e.i(188946),i=e.i(357439);e.i(384302);var n=e.i(97737),o=e.i(664501);e.s(["useDmMessageSender",0,function(){let{mutateAsync:e}=(0,o.useUploadFile)(),{mutateAsync:l}=(0,n.useSendDmMessage)(),s=(0,t.useCallback)(async(t,a)=>{let s,u={kind:"dm",id:t},d=i.useMessageStreamStore.getState(),c=d.getRetryPayload(u,a);if(!c)return{ok:!1,error:Error("Message intent is no longer available")};if(c.localUploads.length>0&&"settled"===c.uploadStatus){let e=c.message.attachments;e?.length===c.localUploads.length&&(s=e.map((e,t)=>{let r=c.localUploads[t];return{id:e.url.slice(e.url.lastIndexOf("/")+1),filename:r.file.name,contentType:r.file.type,size:r.file.size,width:r.width,height:r.height}}))}if(c.localUploads.length>0&&!s){let i=await Promise.all(c.localUploads.map(a=>e({target:{dmId:t},file:a.file,width:a.width,height:a.height}).catch(e=>((0,r.toastApiError)(e,"Failed to attach file"),null))));if(i.some(e=>null===e))return d.dispatch(u,{type:"uploadFailed",nonce:a}),{ok:!1,error:Error("Failed to attach file")};s=(0,o.zipUploadResultsWithDimensions)(i,[...c.localUploads]),d.dispatch(u,{type:"uploadSettled",nonce:a,attachments:s.map(e=>(0,n.toAttachmentVm)(t,e))})}try{let e=await l({dmId:t,content:c.message.content??"",replyToId:c.message.replyTo?.id,attachments:s,nonce:a});return{ok:!0,message:e.message}}catch(e){return{ok:!1,error:e instanceof Error?e:Error("Failed to send message")}}},[l,e]);return{accept:(0,t.useCallback)(e=>{if(!e.content&&!e.attachments?.length)return{accepted:!1};let t=e.nonce??(0,n.sendNonce)(),r=[];if(!i.useMessageStreamStore.getState().accept({kind:"dm",id:e.dmId},{nonce:t,tempId:(0,n.tempMessageId)(),message:{type:"chat",authorId:e.author.id,authorName:e.author.name,authorAvatar:e.author.avatar,content:e.content,createdAt:new Date().toISOString(),...e.replyTo?{replyTo:(0,a.toOptimisticReplyPreview)(e.replyTo)}:{}},localUploads:e.attachments?.map(e=>{let t=e.previewObjectUrl??URL.createObjectURL(e.file);return e.previewObjectUrl||r.push(t),{file:e.file,previewObjectUrl:t,width:e.width,height:e.height}})??[]})){for(let e of r)URL.revokeObjectURL(e);return{accepted:!1}}return{accepted:!0,nonce:t,committed:s(e.dmId,t)}},[s]),retry:(0,t.useCallback)((e,t)=>(i.useMessageStreamStore.getState().dispatch({kind:"dm",id:e},{type:"retry",nonce:t}),s(e,t)),[s])}}])},188946,e=>{"use strict";e.i(954194);var t=e.i(908967);e.s(["toOptimisticReplyPreview",0,function(e){return{...e,text:(0,t.truncateMessagePreview)(e.text)}}])},381153,e=>{"use strict";e.s(["tid",0,{composerInput:"community-composer-input",composerSend:"community-composer-send",composerAttach:"community-composer-attach",serverAdd:"community-server-add",createServerSubmit:"community-create-server-submit",createChannelSubmit:"community-create-channel-submit",newDivider:"community-new-divider",typingIndicator:"community-typing-indicator",dmBlockedNotice:"community-dm-blocked-notice",profileCard:"community-profile-card",statusPill:"community-status-pill",inviteToken:"community-invite-token",inviteCopy:"community-invite-copy",machinePairOpen:"community-machine-pair-open",machinePairCommand:"community-machine-pair-command",machinePairCopy:"community-machine-pair-copy",homeButton:"community-home-button",alookLogo:"community-alook-logo",forumTagDialog:"community-forum-tag-dialog",message:e=>`community-message-${e}`,channelRow:e=>`community-channel-row-${e}`,serverIcon:e=>`community-server-icon-${e}`,dmRow:e=>`community-dm-row-${e}`,memberRow:e=>`community-member-row-${e}`,mentionOption:e=>`community-mention-option-${e}`,reactionAdd:e=>`community-reaction-add-${e}`,messageShare:e=>`community-message-share-${e}`,messageShareCopy:"community-message-share-copy",threadIndicator:e=>`community-thread-indicator-${e}`,railUnreadBadge:e=>`community-rail-unread-badge-${e}`,forumThreadCard:e=>`community-forum-post-${e}`,forumSidebarThread:e=>`community-forum-sidebar-thread-${e}`,forumThreadTagBtn:e=>`community-forum-post-tag-btn-${e}`,forumThreadDeleteBtn:e=>`community-forum-post-delete-btn-${e}`,forumThreadAvatars:e=>`community-forum-post-avatars-${e}`,forumTagChip:e=>`community-forum-tag-chip-${e}`,inboxUnreadChild:e=>`community-inbox-unread-child-${e}`,channelRefPill:e=>`community-channel-ref-pill-${e}`}])}]);