@alook/app 0.1.1 → 0.1.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (195) hide show
  1. package/bundled/email-worker/index.js +6 -1
  2. package/bundled/web/.open-next/.build/cache.cjs +7 -7
  3. package/bundled/web/.open-next/.build/composable-cache.cjs +6 -6
  4. package/bundled/web/.open-next/.build/durable-objects/bucket-cache-purge.js +2 -2
  5. package/bundled/web/.open-next/.build/durable-objects/queue.js +7 -7
  6. package/bundled/web/.open-next/.build/open-next.config.edge.mjs +2 -2
  7. package/bundled/web/.open-next/.build/open-next.config.mjs +2 -2
  8. package/bundled/web/.open-next/assets/BUILD_ID +1 -1
  9. package/bundled/web/.open-next/assets/_next/static/chunks/{11qig4ljacekb.js → 002y0apuulox9.js} +3 -3
  10. package/bundled/web/.open-next/assets/_next/static/chunks/01y64se2to6aw.js +1 -0
  11. package/bundled/web/.open-next/assets/_next/static/chunks/0t82_exl28h1-.js +1 -0
  12. package/bundled/web/.open-next/assets/_next/static/chunks/13j8s5c4tleu3.js +1 -0
  13. package/bundled/web/.open-next/assets/_next/static/chunks/1e9soswsiuvur.js +1 -0
  14. package/bundled/web/.open-next/assets/_next/static/chunks/1frz3l9-_k3mv.js +1 -0
  15. package/bundled/web/.open-next/assets/_next/static/chunks/{1kk5j84c76j58.js → 1zqcl04i5rmfz.js} +1 -1
  16. package/bundled/web/.open-next/assets/_next/static/chunks/2-lu06q3t6p3d.js +1 -0
  17. package/bundled/web/.open-next/assets/_next/static/chunks/20g6_yt5337-z.js +65 -0
  18. package/bundled/web/.open-next/assets/_next/static/chunks/211iq6j28qjhu.js +3 -0
  19. package/bundled/web/.open-next/assets/_next/static/chunks/{2c3ad9swsh568.js → 2azk7dgkwm1h3.js} +1 -1
  20. package/bundled/web/.open-next/assets/_next/static/chunks/2nzmwcqa9d4mk.js +1 -0
  21. package/bundled/web/.open-next/assets/_next/static/chunks/2zgy2uoru3zk4.js +1 -0
  22. package/bundled/web/.open-next/assets/_next/static/chunks/{2atr7vh-5_ryq.js → 36-26qiwh4f-y.js} +1 -1
  23. package/bundled/web/.open-next/assets/_next/static/chunks/{2-_870ufkhrwb.js → 39tveub83c61m.js} +1 -1
  24. package/bundled/web/.open-next/assets/_next/static/chunks/3_5q-1s46y09-.css +1 -0
  25. package/bundled/web/.open-next/assets/_next/static/chunks/3f74uo3mtwtq5.js +1 -0
  26. package/bundled/web/.open-next/assets/_next/static/chunks/3yjxlagd8d5_1.js +1 -0
  27. package/bundled/web/.open-next/assets/alook.svg +47 -29
  28. package/bundled/web/.open-next/assets/apple-touch-icon.png +0 -0
  29. package/bundled/web/.open-next/assets/icon-192.png +0 -0
  30. package/bundled/web/.open-next/assets/icon-512.png +0 -0
  31. package/bundled/web/.open-next/cache/{f7HZ3A2lcl00AQWePpBPz → QAHTJJ2088SDjU6s2f6r7}/_global-error.cache +1 -1
  32. package/bundled/web/.open-next/cache/{f7HZ3A2lcl00AQWePpBPz → QAHTJJ2088SDjU6s2f6r7}/_not-found.cache +1 -1
  33. package/bundled/web/.open-next/cache/{f7HZ3A2lcl00AQWePpBPz → QAHTJJ2088SDjU6s2f6r7}/blog/feed.xml.cache +1 -1
  34. package/bundled/web/.open-next/cache/{f7HZ3A2lcl00AQWePpBPz → QAHTJJ2088SDjU6s2f6r7}/blog.cache +1 -1
  35. package/bundled/web/.open-next/cache/{f7HZ3A2lcl00AQWePpBPz → QAHTJJ2088SDjU6s2f6r7}/c/me/bots.cache +1 -1
  36. package/bundled/web/.open-next/cache/{f7HZ3A2lcl00AQWePpBPz → QAHTJJ2088SDjU6s2f6r7}/c/me/machines.cache +1 -1
  37. package/bundled/web/.open-next/cache/{f7HZ3A2lcl00AQWePpBPz → QAHTJJ2088SDjU6s2f6r7}/c/me.cache +1 -1
  38. package/bundled/web/.open-next/cache/{f7HZ3A2lcl00AQWePpBPz → QAHTJJ2088SDjU6s2f6r7}/c.cache +1 -1
  39. package/bundled/web/.open-next/cache/{f7HZ3A2lcl00AQWePpBPz → QAHTJJ2088SDjU6s2f6r7}/device.cache +1 -1
  40. package/bundled/web/.open-next/cache/{f7HZ3A2lcl00AQWePpBPz → QAHTJJ2088SDjU6s2f6r7}/privacy.cache +1 -1
  41. package/bundled/web/.open-next/cache/{f7HZ3A2lcl00AQWePpBPz → QAHTJJ2088SDjU6s2f6r7}/sitemap.xml.cache +1 -1
  42. package/bundled/web/.open-next/cloudflare/cache-assets-manifest.sql +1 -1
  43. package/bundled/web/.open-next/cloudflare/images.js +2 -2
  44. package/bundled/web/.open-next/cloudflare/init.js +1 -1
  45. package/bundled/web/.open-next/dynamodb-provider/dynamodb-cache.json +1 -1
  46. package/bundled/web/.open-next/dynamodb-provider/open-next.config.mjs +2 -2
  47. package/bundled/web/.open-next/middleware/handler.mjs +332 -324
  48. package/bundled/web/.open-next/middleware/open-next.config.mjs +2 -2
  49. package/bundled/web/.open-next/server-functions/default/src/web/.next/BUILD_ID +1 -1
  50. package/bundled/web/.open-next/server-functions/default/src/web/.next/build-manifest.json +3 -3
  51. package/bundled/web/.open-next/server-functions/default/src/web/.next/prerender-manifest.json +3 -3
  52. package/bundled/web/.open-next/server-functions/default/src/web/.next/required-server-files.json +1 -1
  53. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/(app)/invite/[token]/page_client-reference-manifest.js +1 -1
  54. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/(app)/studio/new/page_client-reference-manifest.js +1 -1
  55. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/(app)/w/[slug]/agents/[id]/activity/page_client-reference-manifest.js +1 -1
  56. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/(app)/w/[slug]/agents/[id]/chat/[convId]/page_client-reference-manifest.js +1 -1
  57. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/(app)/w/[slug]/agents/[id]/chat/page_client-reference-manifest.js +1 -1
  58. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/(app)/w/[slug]/agents/[id]/email/page_client-reference-manifest.js +1 -1
  59. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/(app)/w/[slug]/agents/[id]/files/page_client-reference-manifest.js +1 -1
  60. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/(app)/w/[slug]/agents/[id]/meetings/page_client-reference-manifest.js +1 -1
  61. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/(app)/w/[slug]/agents/[id]/page_client-reference-manifest.js +1 -1
  62. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/(app)/w/[slug]/agents/new/page_client-reference-manifest.js +1 -1
  63. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/(app)/w/[slug]/agents/page_client-reference-manifest.js +1 -1
  64. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/(app)/w/[slug]/calendar/page_client-reference-manifest.js +1 -1
  65. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/(app)/w/[slug]/flags/page_client-reference-manifest.js +1 -1
  66. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/(app)/w/[slug]/help/email-setup/page_client-reference-manifest.js +1 -1
  67. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/(app)/w/[slug]/home/page_client-reference-manifest.js +1 -1
  68. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/(app)/w/[slug]/issues/page_client-reference-manifest.js +1 -1
  69. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/(app)/w/[slug]/page_client-reference-manifest.js +1 -1
  70. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/(app)/w/[slug]/runtimes/page_client-reference-manifest.js +1 -1
  71. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/(app)/w/[slug]/settings/page_client-reference-manifest.js +1 -1
  72. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/(app)/w/[slug]/traces/[traceId]/page_client-reference-manifest.js +1 -1
  73. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/(app)/w/[slug]/traces/page_client-reference-manifest.js +1 -1
  74. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/(app)/w/[slug]/unread/page_client-reference-manifest.js +1 -1
  75. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/(app)/workspaces/page_client-reference-manifest.js +1 -1
  76. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/(auth)/sign-in/page_client-reference-manifest.js +1 -1
  77. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  78. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/blog/[slug]/page_client-reference-manifest.js +1 -1
  79. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/blog/page_client-reference-manifest.js +1 -1
  80. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/c/channels/[serverId]/[channelId]/page_client-reference-manifest.js +1 -1
  81. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/c/channels/[serverId]/page_client-reference-manifest.js +1 -1
  82. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/c/channels/[serverId]/settings/page_client-reference-manifest.js +1 -1
  83. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/c/invite/[token]/page_client-reference-manifest.js +1 -1
  84. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/c/me/[dmId]/page_client-reference-manifest.js +1 -1
  85. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/c/me/bots/page_client-reference-manifest.js +1 -1
  86. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/c/me/machines/page_client-reference-manifest.js +1 -1
  87. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/c/me/page_client-reference-manifest.js +1 -1
  88. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/c/page_client-reference-manifest.js +1 -1
  89. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/device/page_client-reference-manifest.js +1 -1
  90. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/landing-legacy/page_client-reference-manifest.js +1 -1
  91. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/page_client-reference-manifest.js +1 -1
  92. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/privacy/page_client-reference-manifest.js +1 -1
  93. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/templates/[id]/page_client-reference-manifest.js +1 -1
  94. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/templates/page_client-reference-manifest.js +1 -1
  95. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/[turbopack]_runtime.js +48 -51
  96. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/_0bx3ed6._.js +1 -1
  97. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/_16agz9o._.js +1 -1
  98. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/[root-of-the-server]__0n0n8oi._.js +3 -0
  99. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/{[root-of-the-server]__0e4dy_n._.js → [root-of-the-server]__0vt4_og._.js} +2 -2
  100. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/{[root-of-the-server]__1bl2f2x._.js → [root-of-the-server]__1tm0by_._.js} +2 -2
  101. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/[turbopack]_runtime.js +48 -51
  102. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/_00flokq._.js +65 -0
  103. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/{_18gbpg-._.js → _07m-c06._.js} +2 -2
  104. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/_07wuts6._.js +1 -1
  105. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/{_1kdkozw._.js → _09epwj4._.js} +2 -2
  106. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/{_03kfaes._.js → _0d37u-0._.js} +3 -3
  107. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/_0j193gg._.js +3 -0
  108. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/{_1yganw-._.js → _0k50vv7._.js} +2 -2
  109. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/_0q7w45q._.js +1 -1
  110. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/_0viyyk4._.js +3 -0
  111. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/{_0oznlee._.js → _0zcxg53._.js} +2 -2
  112. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/_13y1s7f._.js +3 -0
  113. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/{_1dpyuy_._.js → _14barfg._.js} +1 -1
  114. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/_1cln75e._.js +1 -1
  115. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/_1cu21e4._.js +1 -1
  116. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/_1jenl6b._.js +3 -0
  117. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/_1rll17z._.js +1 -1
  118. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/_1tkd0as._.js +23 -0
  119. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/{node_modules__pnpm_0hq-1dx._.js → node_modules__pnpm_0-chi84._.js} +1 -1
  120. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/{node_modules__pnpm_0dwx50l._.js → node_modules__pnpm_00wi4t8._.js} +1 -1
  121. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/{node_modules__pnpm_0ssh9m2._.js → node_modules__pnpm_011w0jh._.js} +1 -1
  122. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/{node_modules__pnpm_1o4ge87._.js → node_modules__pnpm_02puov8._.js} +1 -1
  123. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/{node_modules__pnpm_0_-ea5g._.js → node_modules__pnpm_04g63a8._.js} +1 -1
  124. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/{node_modules__pnpm_07y9nim._.js → node_modules__pnpm_080j-zr._.js} +1 -1
  125. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/{node_modules__pnpm_0xaos79._.js → node_modules__pnpm_08yk_k4._.js} +1 -1
  126. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/{node_modules__pnpm_11r11qk._.js → node_modules__pnpm_0_cjg3f._.js} +1 -1
  127. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/{node_modules__pnpm_0f97x30._.js → node_modules__pnpm_0_u817t._.js} +1 -1
  128. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/{node_modules__pnpm_0jmaw7q._.js → node_modules__pnpm_0ac6l0i._.js} +1 -1
  129. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/{node_modules__pnpm_1sqnuh6._.js → node_modules__pnpm_0f4s5go._.js} +1 -1
  130. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/{node_modules__pnpm_1wmwuyi._.js → node_modules__pnpm_0fapate._.js} +1 -1
  131. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/{node_modules__pnpm_02tm0_j._.js → node_modules__pnpm_0god_d6._.js} +1 -1
  132. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/{node_modules__pnpm_1-q73_l._.js → node_modules__pnpm_0rsb2oi._.js} +1 -1
  133. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/{node_modules__pnpm_1bigvw-._.js → node_modules__pnpm_1-hj9nm._.js} +1 -1
  134. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/{node_modules__pnpm_0_uvsz1._.js → node_modules__pnpm_1-oez84._.js} +1 -1
  135. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/{node_modules__pnpm_1oiei-p._.js → node_modules__pnpm_1090tka._.js} +1 -1
  136. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/{node_modules__pnpm_1hzbpeq._.js → node_modules__pnpm_12fcw63._.js} +1 -1
  137. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/{node_modules__pnpm_1cq-y48._.js → node_modules__pnpm_12fd_b3._.js} +1 -1
  138. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/{node_modules__pnpm_1kmpnft._.js → node_modules__pnpm_166hw66._.js} +1 -1
  139. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/{node_modules__pnpm_1o_px_4._.js → node_modules__pnpm_18y2f75._.js} +1 -1
  140. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/{node_modules__pnpm_1w13w7z._.js → node_modules__pnpm_19kxf5x._.js} +1 -1
  141. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/{node_modules__pnpm_1g5zv_v._.js → node_modules__pnpm_1a01x7q._.js} +1 -1
  142. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/{node_modules__pnpm_17u5slz._.js → node_modules__pnpm_1dz6bo3._.js} +1 -1
  143. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/{node_modules__pnpm_1netq7w._.js → node_modules__pnpm_1jje66f._.js} +1 -1
  144. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/{node_modules__pnpm_1vjep10._.js → node_modules__pnpm_1kgtcpu._.js} +1 -1
  145. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/{node_modules__pnpm_1ud7zw9._.js → node_modules__pnpm_1llq7_i._.js} +1 -1
  146. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/{node_modules__pnpm_0l7rkig._.js → node_modules__pnpm_1qh5znn._.js} +1 -1
  147. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/{node_modules__pnpm_033rqrg._.js → node_modules__pnpm_1sofeez._.js} +1 -1
  148. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/{node_modules__pnpm_0r7_vc7._.js → node_modules__pnpm_1vly7bn._.js} +1 -1
  149. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/{node_modules__pnpm_1_ttm0j._.js → node_modules__pnpm_1vm74xv._.js} +1 -1
  150. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/{node_modules__pnpm_01aqlve._.js → node_modules__pnpm_1x0q6ql._.js} +1 -1
  151. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/src_web_src_app_(app)_w_[slug]_settings_0ag2edj._.js +1 -1
  152. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/src_web_src_app_c_channels_[serverId]_[channelId]_page_tsx_14zzo72._.js +1 -1
  153. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/src_web_src_components_community_0de05cl._.js +1 -1
  154. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/src_web_src_components_community_1-2ddfh._.js +1 -1
  155. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/src_web_src_components_community_message_tsx_0d2-3ns._.js +1 -1
  156. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/middleware-build-manifest.js +3 -3
  157. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/middleware-manifest.json +5 -5
  158. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/server-reference-manifest.js +1 -1
  159. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/server-reference-manifest.json +1 -1
  160. package/bundled/web/.open-next/server-functions/default/src/web/cache.cjs +7 -7
  161. package/bundled/web/.open-next/server-functions/default/src/web/composable-cache.cjs +6 -6
  162. package/bundled/web/.open-next/server-functions/default/src/web/handler.mjs +170 -170
  163. package/bundled/web/.open-next/server-functions/default/src/web/handler.mjs.meta.json +565 -619
  164. package/bundled/web/.open-next/server-functions/default/src/web/index.mjs +70 -64
  165. package/bundled/web/.open-next/server-functions/default/src/web/open-next.config.mjs +2 -2
  166. package/bundled/ws-do/index.js +6 -1
  167. package/package.json +1 -1
  168. package/bundled/web/.open-next/assets/_next/static/chunks/08j6gp_79ntuy.js +0 -1
  169. package/bundled/web/.open-next/assets/_next/static/chunks/0bjib_ewljlwz.css +0 -1
  170. package/bundled/web/.open-next/assets/_next/static/chunks/0gse5to3o1uxw.js +0 -1
  171. package/bundled/web/.open-next/assets/_next/static/chunks/12l5i3dkwtwql.js +0 -1
  172. package/bundled/web/.open-next/assets/_next/static/chunks/14kvtkqdl9zr1.js +0 -1
  173. package/bundled/web/.open-next/assets/_next/static/chunks/17dbgknts8wcj.js +0 -1
  174. package/bundled/web/.open-next/assets/_next/static/chunks/19f-e6vja-zo0.js +0 -1
  175. package/bundled/web/.open-next/assets/_next/static/chunks/1nxcfxqwx-n9z.js +0 -1
  176. package/bundled/web/.open-next/assets/_next/static/chunks/2a2_latu8_8xa.js +0 -65
  177. package/bundled/web/.open-next/assets/_next/static/chunks/2oj17fl7hbym5.js +0 -1
  178. package/bundled/web/.open-next/assets/_next/static/chunks/3iu6o-6q3k6ky.js +0 -1
  179. package/bundled/web/.open-next/assets/_next/static/chunks/3ivk92zdh4znp.js +0 -3
  180. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/[root-of-the-server]__1e2q19s._.js +0 -3
  181. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/_02-67ae._.js +0 -3
  182. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/_04hxvli._.js +0 -23
  183. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/_0ioimj-._.js +0 -3
  184. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/_0o3ghqz._.js +0 -3
  185. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/_0qswnip._.js +0 -65
  186. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/_10hlb3j._.js +0 -3
  187. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/_11y01gl._.js +0 -3
  188. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/_1annyoh._.js +0 -3
  189. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/_1e8tsxv._.js +0 -3
  190. /package/bundled/web/.open-next/assets/_next/static/{f7HZ3A2lcl00AQWePpBPz → QAHTJJ2088SDjU6s2f6r7}/_buildManifest.js +0 -0
  191. /package/bundled/web/.open-next/assets/_next/static/{f7HZ3A2lcl00AQWePpBPz → QAHTJJ2088SDjU6s2f6r7}/_clientMiddlewareManifest.js +0 -0
  192. /package/bundled/web/.open-next/assets/_next/static/{f7HZ3A2lcl00AQWePpBPz → QAHTJJ2088SDjU6s2f6r7}/_ssgManifest.js +0 -0
  193. /package/bundled/web/.open-next/cache/{f7HZ3A2lcl00AQWePpBPz → QAHTJJ2088SDjU6s2f6r7}/favicon.ico.cache +0 -0
  194. /package/bundled/web/.open-next/cache/{f7HZ3A2lcl00AQWePpBPz → QAHTJJ2088SDjU6s2f6r7}/llms.txt.cache +0 -0
  195. /package/bundled/web/.open-next/cache/{f7HZ3A2lcl00AQWePpBPz → QAHTJJ2088SDjU6s2f6r7}/robots.txt.cache +0 -0
@@ -1 +0,0 @@
1
- (globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,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)},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)},725426,303206,e=>{"use strict";var t=e.i(130024);let r=(0,t.default)("sun",[["circle",{cx:"12",cy:"12",r:"4",key:"4exip2"}],["path",{d:"M12 2v2",key:"tus03m"}],["path",{d:"M12 20v2",key:"1lh1kg"}],["path",{d:"m4.93 4.93 1.41 1.41",key:"149t6j"}],["path",{d:"m17.66 17.66 1.41 1.41",key:"ptbguv"}],["path",{d:"M2 12h2",key:"1t8f8n"}],["path",{d:"M20 12h2",key:"1q8mjw"}],["path",{d:"m6.34 17.66-1.41 1.41",key:"1m8zz5"}],["path",{d:"m19.07 4.93-1.41 1.41",key:"1shlcs"}]]);e.s(["Sun",0,r],725426);let a=(0,t.default)("moon",[["path",{d:"M20.985 12.486a9 9 0 1 1-9.473-9.472c.405-.022.617.46.402.803a6 6 0 0 0 8.268 8.268c.344-.215.825-.004.803.401",key:"kfwtm"}]]);e.s(["Moon",0,a],303206)},253151,e=>{"use strict";let t=(0,e.i(130024).default)("users",[["path",{d:"M16 21v-2a4 4 0 0 0-4-4H6a4 4 0 0 0-4 4v2",key:"1yyitq"}],["path",{d:"M16 3.128a4 4 0 0 1 0 7.744",key:"16gr8j"}],["path",{d:"M22 21v-2a4 4 0 0 0-3-3.87",key:"kshegd"}],["circle",{cx:"9",cy:"7",r:"4",key:"nufk8"}]]);e.s(["Users",0,t],253151)},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 n(e){let t=new Date;return e.getFullYear()===t.getFullYear()&&e.getMonth()===t.getMonth()&&e.getDate()===t.getDate()}function i(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 n=Math.floor(a/24);return`Awake ${n}d`},"formatDateLabel",0,function(e){let t=new Date(e);return Number.isNaN(t.getTime())?e:n(t)?"Today":i(t)?"Yesterday":r.format(t)},"formatMessageTime",0,function(e){if(!e)return"";let r=new Date(e);return Number.isNaN(r.getTime())?e:n(r)?t.format(r):i(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 n=Math.floor(a/60);if(n<24)return`${n}h ago`;let i=Math.floor(n/24);return i<7?`${i}d ago`:r.format(t)}])},775241,581928,e=>{"use strict";var t=e.i(633940),r=e.i(579848),a=e.i(638535),n=e.i(813217),i=e.i(224950),o=e.i(875061),s=e.i(531342);e.i(400175);var l=e.i(226318),u=e.i(732603),d=e.i(435652);e.i(954194);var c=e.i(908967),m=e.i(903477),f=e.i(434433),p=e.i(481178),h=e.i(39185);function v({emoji:e,text:a,onChange:n,children:o,side:s="bottom",align:l="start"}){let[u,g]=(0,r.useState)(!1),[y,x]=(0,r.useState)(a??""),b=e=>{g(e),e&&x(a??"")},S=()=>y.trim().slice(0,c.MAX_STATUS_TEXT_LENGTH),w=()=>{let t=S();t!==(a??"")&&n(e,t||null)},C=(0,h.matchingPreset)(e,a);return(0,t.jsxs)(i.Popover,{open:u,onOpenChange:b,children:[(0,t.jsx)(i.PopoverTrigger,{render:o}),(0,t.jsxs)(i.PopoverContent,{side:s,align:l,className:"w-64 space-y-2 p-2",children:[(0,t.jsx)("div",{className:"space-y-0.5",children:h.STATUS_PRESETS.map(e=>(0,t.jsxs)("button",{onClick:()=>{n(e.emoji,e.text),b(!1)},className:["flex w-full items-center gap-2 rounded-md px-2 py-1.5 text-left text-sm hover:bg-accent focus-visible:ring-2 focus-visible:ring-ring focus-visible:outline-none",C===e?"bg-accent":""].join(" "),children:[(0,t.jsx)("span",{className:"text-base",children:e.emoji}),(0,t.jsx)("span",{children:e.text})]},e.text))}),(0,t.jsx)(f.Separator,{}),(0,t.jsxs)("div",{className:"flex items-center gap-2",children:[(0,t.jsx)(p.EmojiPickerPopover,{side:"top",align:"start",onPick:e=>n(e,S()||null),children:(0,t.jsx)("button",{className:"grid size-8 shrink-0 place-items-center rounded-md border border-border text-base hover:bg-accent focus-visible:ring-2 focus-visible:ring-ring focus-visible:outline-none","aria-label":"Choose emoji",children:e||"🙂"})}),(0,t.jsx)(m.Input,{value:y,onChange:e=>x(e.target.value),onBlur:w,onKeyDown:e=>{"Enter"!==e.key||e.nativeEvent.isComposing||(w(),b(!1))},placeholder:"Custom status…",maxLength:c.MAX_STATUS_TEXT_LENGTH,className:"h-8"})]}),(0,h.hasStatus)(e,a)&&(0,t.jsxs)("button",{onClick:()=>{n(null,null),b(!1)},className:"flex items-center gap-1 text-xs text-muted-foreground hover:text-foreground focus-visible:ring-2 focus-visible:ring-ring focus-visible:outline-none rounded",children:[(0,t.jsx)(d.X,{className:"size-3.5"})," Clear status"]})]})]})}e.s(["StatusEditor",0,v],581928);var g=e.i(71977),y=e.i(381153);e.s(["ProfileCard",0,function({data:e,x:d,y:c,bp:m,onClose:f,onMessage:p,isSelf:x,onUpdateStatus:b,initialStatusEmoji:S,initialStatusText:w,embedded:C}){var j,z,k,M;let I,P,[N,T]=(0,r.useState)(""),[E,D]=(0,r.useState)(!0),L="mobile"===m,{emoji:R,text:F}=(j=(0,g.useCommunityWsStore)(t=>e.userId?t.userStatuses.get(e.userId):void 0),j?{emoji:j.emoji,text:j.text}:{emoji:S??null,text:w??null}),O=(z=e.avatar,k=e.userId,M=e.name,I=k??M,"beam"===(P=(0,u.resolveAvatar)(z,I)).kind?P.seed:I),A=()=>{let t=N.trim();t&&e.userId&&(p?.(e.userId,t),T(""),L?f():D(!1))},$=(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)("div",{className:"relative -m-2 mb-0 h-16 overflow-hidden rounded-t-lg",children:(0,t.jsx)(l.SeededBackdrop,{seed:O})}),(0,t.jsxs)("div",{className:"px-2 pb-2",children:[(0,t.jsx)("div",{className:"-mt-10 mb-2 flex pl-4",children:(0,t.jsxs)("div",{className:"relative",children:[(0,t.jsx)("div",{className:"rounded-full ring-[5px] ring-popover",children:(0,t.jsx)(s.Avatar,{label:e.avatar,seed:e.userId,size:77,presence:e.presence,ringColor:"var(--popover)"})}),x?(0,t.jsx)(v,{emoji:R,text:F,onChange:(e,t)=>b?.(e,t),side:"bottom",align:"start",children:(0,t.jsx)("button",{title:F||void 0,className:"absolute left-full top-[68.5px] ml-2 flex max-w-32 -translate-y-1/2 items-center gap-2 rounded-full border border-border bg-secondary px-2 py-0.5 text-[13px] whitespace-nowrap text-secondary-foreground shadow-(--e1) hover:bg-accent focus-visible:ring-2 focus-visible:ring-ring focus-visible:outline-none",children:(0,h.hasStatus)(R,F)?(0,t.jsxs)(t.Fragment,{children:[R&&(0,t.jsx)("span",{children:R}),F&&(0,t.jsx)("span",{className:"min-w-0 truncate",children:F})]}):(0,t.jsx)("span",{className:"text-muted-foreground",children:"Set a status"})})}):(0,h.hasStatus)(R,F)&&(0,t.jsxs)("div",{"data-testid":y.tid.statusPill,title:F||void 0,className:"absolute left-full top-[68.5px] ml-2 flex max-w-32 -translate-y-1/2 items-center gap-2 rounded-full border border-border bg-secondary px-2 py-0.5 text-[13px] whitespace-nowrap text-secondary-foreground shadow-(--e1)",children:[R&&(0,t.jsx)("span",{children:R}),F&&(0,t.jsx)("span",{className:"min-w-0 truncate",children:F})]})]})}),(0,t.jsxs)("div",{className:"rounded-lg bg-card p-4",children:[(0,t.jsxs)("div",{className:"flex min-w-0 items-baseline text-xl font-semibold leading-tight tracking-[-0.015em]",children:[(0,t.jsx)("span",{className:"min-w-0 truncate",children:e.name}),e.discriminator&&(0,t.jsxs)("span",{className:"ml-1.5 shrink-0 text-sm font-normal tracking-wide text-muted-foreground",children:["#",e.discriminator]})]}),(0,t.jsx)("p",{className:"mt-2 text-[15px] text-muted-foreground",children:e.about||"No bio yet."}),(0,t.jsxs)("div",{className:"mt-6 flex items-center gap-2 text-xs text-muted-foreground",children:[(0,t.jsxs)(o.Badge,{variant:"secondary",className:"h-5 gap-1 text-xs",children:[(0,t.jsx)(n.Shield,{className:"size-3"})," ",e.role]}),e.mutual>0&&(0,t.jsxs)("span",{children:[e.mutual," mutual server",e.mutual>1?"s":""]})]}),!x&&(0,t.jsxs)("div",{className:"mt-4 flex h-9 items-center gap-2 rounded-md bg-secondary px-2",children:[(0,t.jsx)("input",{value:N,onChange:e=>T(e.target.value),onKeyDown:e=>{"Enter"!==e.key||e.nativeEvent.isComposing||A()},className:"flex-1 bg-transparent text-[15px] outline-none placeholder:text-muted-foreground",placeholder:`Message @${e.name}`}),(0,t.jsx)("button",{onClick:A,className:"grid size-7 shrink-0 place-items-center rounded-lg text-muted-foreground hover:bg-accent hover:text-foreground focus-visible:ring-2 focus-visible:ring-ring focus-visible:outline-none","aria-label":"Send message",children:(0,t.jsx)(a.MessagesSquare,{className:"size-4"})})]})]})]})]});return C?(0,t.jsx)("div",{"data-testid":y.tid.profileCard,className:"w-full overflow-hidden rounded-xl border border-border bg-popover p-2 shadow-(--e2)",children:$}):L?(0,t.jsxs)("div",{className:"fixed inset-0 z-30 flex flex-col justify-end",onClick:f,children:[(0,t.jsx)("div",{className:"absolute inset-0 bg-foreground/30"}),(0,t.jsx)("div",{className:"relative p-3",onClick:e=>e.stopPropagation(),children:(0,t.jsx)("div",{"data-testid":y.tid.profileCard,className:"overflow-hidden rounded-xl border border-border bg-popover p-2 shadow-(--e2)",children:$})})]}):(0,t.jsxs)(i.Popover,{open:E,onOpenChange:D,onOpenChangeComplete:e=>{e||f()},children:[(0,t.jsx)(i.PopoverTrigger,{"aria-hidden":!0,tabIndex:-1,className:"pointer-events-none fixed size-0",style:{left:d,top:c}}),(0,t.jsx)(i.PopoverContent,{"data-testid":y.tid.profileCard,side:"right",align:"start",sideOffset:8,className:"w-75 overflow-hidden p-2",children:$})]})}],775241)},835240,876986,444335,333671,e=>{"use strict";var t=e.i(633940),r=e.i(579848),a=e.i(624806),n=e.i(838181),i=e.i(746632),o=e.i(849050),s=e.i(374402),l=e.i(115870);function u(e,t){if(!(0,l.perfTraceEnabled)()||"u"<typeof performance)return;let r=`alook:switch:${e}:${t}`;performance.mark(r);let a={kind:e,id:t,ts:performance.now(),markName:r};(window.__ALOOK_PERF_MARKS__??(window.__ALOOK_PERF_MARKS__=[])).push(a)}e.s(["markSwitch",0,u],876986);var d=e.i(324785),c=e.i(888917),m=e.i(708884),f=e.i(779646),p=e.i(996718),h=e.i(900728),v=e.i(223529);function g({targetServerId:e,activeServerId:t,overlay:r,hasActiveOpener:a}){return e===t&&a?{kind:"open-active"}:{kind:"navigate",href:`/c/channels/${e}?${r}=1`}}var y=e.i(325406),x=e.i(503864),b=e.i(538477),S=e.i(152660),w=e.i(643733),C=e.i(435652),j=e.i(130024);let z=(0,j.default)("palette",[["path",{d:"M12 22a1 1 0 0 1 0-20 10 9 0 0 1 10 9 5 5 0 0 1-5 5h-2.25a1.75 1.75 0 0 0-1.4 2.8l.3.4a1.75 1.75 0 0 1-1.4 2.8z",key:"e79jfc"}],["circle",{cx:"13.5",cy:"6.5",r:".5",fill:"currentColor",key:"1okk4w"}],["circle",{cx:"17.5",cy:"10.5",r:".5",fill:"currentColor",key:"f64h9f"}],["circle",{cx:"6.5",cy:"12.5",r:".5",fill:"currentColor",key:"qy21gx"}],["circle",{cx:"8.5",cy:"7.5",r:".5",fill:"currentColor",key:"fotxhn"}]]);var k=e.i(725426),M=e.i(303206),I=e.i(664027);let P=(0,j.default)("database",[["ellipse",{cx:"12",cy:"5",rx:"9",ry:"3",key:"msslwz"}],["path",{d:"M3 5V19A9 3 0 0 0 21 19V5",key:"1wlel7"}],["path",{d:"M3 12A9 3 0 0 0 21 12",key:"mv7ke4"}]]);var N=e.i(72927),T=e.i(848317),E=e.i(186339),D=e.i(520582),L=e.i(434433),R=e.i(255334),F=e.i(393153),O=e.i(423360),A=e.i(531342);function $({label:e,children:r}){return(0,t.jsxs)("label",{className:"block",children:[(0,t.jsx)("div",{className:"mb-1.5 text-xs text-muted-foreground",children:e}),r]})}var U=e.i(581928),K=e.i(39185);let Q="flex w-44 shrink-0 flex-col gap-2 overflow-y-auto thin-scrollbar border-r border-border p-3",B="h-auto w-full flex-col gap-1 overflow-x-hidden",q="h-8 w-full justify-start gap-2",_="px-2 text-xs font-semibold text-muted-foreground",G="justify-start text-destructive hover:text-destructive";e.s(["SETTINGS_LOGOUT_CLASS",0,G,"SETTINGS_NAV_CLASS",0,Q,"SETTINGS_NAV_LABEL_CLASS",0,_,"SETTINGS_TABS_LIST_CLASS",0,B,"SETTINGS_TAB_CLASS",0,q],444335);let W=[{value:"light",label:"Light",icon:k.Sun},{value:"dark",label:"Dark",icon:M.Moon},{value:"system",label:"System",icon:I.Monitor}];function H(){let{theme:e,setTheme:a}=(0,T.useTheme)(),[n,i]=(0,r.useState)(!1);(0,r.useEffect)(()=>i(!0),[]);let o=n?e??"system":void 0;return(0,t.jsx)("div",{className:"mx-auto max-w-md space-y-4",children:(0,t.jsx)($,{label:"Theme",children:(0,t.jsx)("div",{className:"grid grid-cols-3 gap-2",children:W.map(({value:e,label:r,icon:n})=>{let i=o===e;return(0,t.jsxs)("button",{onClick:()=>a(e),"aria-pressed":i,className:["flex flex-col items-center gap-2 rounded-lg border p-4 text-sm font-medium transition-colors focus-visible:ring-2 focus-visible:ring-ring focus-visible:outline-none",i?"border-primary bg-accent text-foreground":"border-border text-muted-foreground hover:bg-accent hover:text-foreground"].join(" "),children:[(0,t.jsx)(n,{className:"size-5"}),r]},e)})})})})}function V({userId:e}){let[a,n]=(0,r.useState)(!1),[s,l]=(0,r.useState)(!1);return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(F.ConfirmDialog,{open:a,onOpenChange:e=>{e||n(!1)},title:"Clear local cache?",description:"This removes the locally persisted messages and read-state for your account. The next channel or DM you open will refetch from the server. Your unread state on the server is unaffected.",confirmLabel:"Clear cache",loadingLabel:"Clearing...",loading:s,onConfirm:async()=>{l(!0);try{await (0,O.clearPersistedCache)(e),(0,i.toast)("Local cache cleared — reloading"),window.location.reload()}catch(e){(0,o.toastApiError)(e,"Failed to clear cache"),l(!1),n(!1)}}}),(0,t.jsx)("div",{className:"mx-auto max-w-md space-y-6",children:(0,t.jsxs)("div",{children:[(0,t.jsx)("div",{className:"text-sm font-medium",children:"Clear local cache"}),(0,t.jsx)("p",{className:"mt-1 text-xs text-muted-foreground",children:"Removes the locally persisted message history and read-state stored in this browser. The next channel or DM you open will refetch from the server. Nothing on the server is deleted."}),(0,t.jsx)(E.Button,{variant:"destructive",size:"sm",className:"mt-3",onClick:()=>n(!0),children:"Clear local cache"})]})})]})}function Y({onClose:e,userId:a,userName:n,aboutMe:i,avatar:o,statusEmoji:s,statusText:l,onSave:u,onLogout:d,onUploadAvatar:c}){let[m,f]=(0,r.useState)(n),[p,h]=(0,r.useState)(i),[v,g]=(0,r.useState)({emoji:s??null,text:l??null}),[y,x]=(0,r.useState)({name:n,aboutMe:i,emoji:s??null,text:l??null}),[b,j]=(0,r.useState)("profile"),k=m!==y.name||p!==y.aboutMe||v.emoji!==y.emoji||v.text!==y.text;return(0,t.jsxs)(R.Tabs,{orientation:"vertical",value:b,onValueChange:j,className:"min-h-0 flex-1 flex-row gap-0",children:[(0,t.jsxs)("nav",{className:Q,style:{background:"var(--d-rail)"},children:[(0,t.jsx)("div",{className:_,children:"User Settings"}),(0,t.jsxs)(R.TabsList,{variant:"line",className:B,children:[(0,t.jsxs)(R.TabsTrigger,{value:"profile",className:q,children:[(0,t.jsx)(S.User,{className:"size-4"})," My Profile"]}),(0,t.jsxs)(R.TabsTrigger,{value:"appearance",className:q,children:[(0,t.jsx)(z,{className:"size-4"})," Appearance"]}),(0,t.jsxs)(R.TabsTrigger,{value:"advanced",className:q,children:[(0,t.jsx)(P,{className:"size-4"})," Advanced"]})]}),(0,t.jsx)(L.Separator,{className:"my-1"}),(0,t.jsxs)(E.Button,{variant:"ghost",className:G,size:"sm",onClick:d,children:[(0,t.jsx)(w.LogOut,{className:"size-4"})," Log Out"]})]}),(0,t.jsxs)("div",{className:"flex min-w-0 flex-1 flex-col bg-background",children:[(0,t.jsxs)("header",{className:"flex h-12 shrink-0 items-center border-b border-border px-4",children:[(0,t.jsx)("h1",{className:"flex-1 text-lg font-semibold",children:"appearance"===b?"Appearance":"advanced"===b?"Advanced":"My Profile"}),(0,t.jsx)(E.Button,{variant:"ghost",size:"icon-sm",onClick:e,"aria-label":"Close settings",children:(0,t.jsx)(C.X,{className:"size-4"})})]}),(0,t.jsxs)("div",{className:"flex-1 overflow-y-auto thin-scrollbar p-4",children:[(0,t.jsx)(R.TabsContent,{value:"profile",children:(0,t.jsxs)("div",{className:"mx-auto max-w-md space-y-6",children:[(0,t.jsxs)("div",{className:"flex flex-col items-center gap-3",children:[(0,t.jsx)("span",{className:"block size-24 overflow-hidden rounded-2xl ring-1 ring-border/50",children:(0,t.jsx)(A.Avatar,{label:o,seed:a??void 0,size:96})}),(0,t.jsxs)("button",{type:"button",onClick:c,className:"flex items-center gap-1.5 rounded-full border border-border/50 px-3 py-1.5 text-xs font-medium text-muted-foreground transition-colors hover:bg-accent hover:text-foreground focus-visible:ring-2 focus-visible:ring-ring focus-visible:outline-none",children:[(0,t.jsx)(N.Camera,{className:"size-3.5"})," Change photo"]})]}),(0,t.jsx)("input",{value:m,onChange:e=>f(e.target.value),placeholder:"Your name","aria-label":"Display name",className:"w-full border-0 bg-transparent px-0 py-1 text-2xl font-medium leading-[1.2] tracking-tight shadow-none outline-none placeholder:font-normal placeholder:text-muted-foreground/40 focus-visible:ring-0"}),(0,t.jsxs)("div",{children:[(0,t.jsx)("div",{className:"mb-1 text-xs text-muted-foreground",children:"About"}),(0,t.jsx)(D.AutoResizeTextarea,{value:p,onChange:e=>h(e.target.value),placeholder:"Add a bit about yourself…",className:"w-full border-0 bg-transparent px-0 py-1 text-sm text-foreground shadow-none outline-none placeholder:text-muted-foreground/40 focus-visible:ring-0"})]}),(0,t.jsxs)("div",{children:[(0,t.jsx)("div",{className:"mb-1 text-xs text-muted-foreground",children:"Status"}),(0,t.jsx)(U.StatusEditor,{emoji:v.emoji,text:v.text,onChange:(e,t)=>g({emoji:e,text:t}),children:(0,t.jsx)("button",{className:"inline-flex items-center gap-1.5 rounded-full border border-border/50 px-3 py-1.5 text-sm transition-colors hover:bg-accent focus-visible:ring-2 focus-visible:ring-ring focus-visible:outline-none",children:(0,K.hasStatus)(v.emoji,v.text)?(0,t.jsxs)("span",{children:[v.emoji," ",v.text]}):(0,t.jsx)("span",{className:"text-muted-foreground/60",children:"Set a status"})})})]}),(0,t.jsxs)("div",{className:"flex items-center justify-end gap-2 pt-2",children:[(0,t.jsx)(E.Button,{variant:"ghost",size:"sm",onClick:()=>{f(y.name),h(y.aboutMe),g({emoji:y.emoji,text:y.text})},disabled:!k,children:"Cancel"}),(0,t.jsx)(E.Button,{size:"sm",onClick:()=>{if(!k)return;let e=m.trim(),t=p.trim();u({name:e,aboutMe:t,statusEmoji:v.emoji,statusText:v.text}),x({name:e,aboutMe:t,emoji:v.emoji,text:v.text}),f(e),h(t)},disabled:!k,children:"Save changes"})]})]})}),(0,t.jsx)(R.TabsContent,{value:"appearance",children:(0,t.jsx)(H,{})}),(0,t.jsx)(R.TabsContent,{value:"advanced",children:(0,t.jsx)(V,{userId:a})})]})]})]})}var X=e.i(775241),J=e.i(977613);function Z({src:e,onClose:r}){let a=e.startsWith("http://")||e.startsWith("https://")||e.startsWith("/");return(0,t.jsx)(f.Dialog,{open:!0,onOpenChange:e=>{e||r()},children:(0,t.jsx)(f.DialogContent,{className:"flex max-h-[90vh] w-auto sm:max-w-none items-center justify-center border-none bg-transparent p-0 shadow-none",showCloseButton:!1,children:a?(0,t.jsx)("img",{src:e,alt:"Preview",className:"max-h-[85vh] max-w-[90vw] rounded-lg object-contain"}):(0,t.jsxs)("div",{className:"flex aspect-16/10 w-120 flex-col items-center justify-center gap-2 rounded-lg bg-muted text-muted-foreground",children:[(0,t.jsx)(J.Image,{className:"size-16"}),(0,t.jsx)("span",{className:"text-sm",children:e})]})})})}var ee=e.i(369546),et=e.i(217372),er=e.i(971434),ea=e.i(280958),en=e.i(23055),ei=e.i(923533),eo=e.i(71977),es=e.i(357439),el=e.i(183899),eu=e.i(344920),ed=e.i(814001);let ec=Object.freeze([]),em=async()=>({folders:(await (0,o.apiFetch)("/api/community/users/me/server-folders")).folders.map(e=>({id:e.id,name:e.name,position:e.position??0,servers:e.servers.map(e=>({id:e.id,name:e.name,initial:(0,ea.avatarInitial)(e.name),icon:e.icon??null}))}))});var ef=e.i(47749),ep=e.i(725521),eh=e.i(251829),ev=e.i(366020);e.i(384302);var eg=e.i(462553),ey=e.i(331607),ex=e.i(568472),eb=e.i(776152),eS=e.i(97737),ew=e.i(939098),eC=e.i(459663);e.s(["ShellFrame",0,function({view:e,activeServerId:l,mobileZone:S,setMobileZone:w,sidebar:C,children:j,extraDialogs:z,onOpenActiveServerSettings:k,onOpenActiveServerInvite:M,goHome:I,goServer:P}){let N,T=(0,a.useRouter)(),E=(0,p.useBreakpoint)(),D=(0,n.useQueryClient)(),L=(0,el.useCurrentUser)(),R=(0,el.useSetCurrentUser)(),F=(0,eo.useOnlineUserIds)(),A=(0,ev.useCommunityOnboarding)();(0,r.useEffect)(()=>{A?.status==="active"&&w("server"===A.stage?"nav":"messages")},[A,w]);let $=(0,eu.useServers)(),{servers:U}=$,{folders:K}={...N=(0,ed.useQuery)({queryKey:s.communityKeys.folders(),queryFn:em}),folders:N.data?.folders??ec},{friends:Q}=(0,ef.useFriends)(),B=(0,ei.useCommunityStore)(e=>e.currentServerId),q=(0,ep.useServerMembers)(B).members,_=(0,eh.useInboxUnreads)(),G=(0,eh.useInboxMentions)(),W=_.servers,H=_.dms,V=G.mentions,J=_.isLoading||G.isLoading,[ej,ez]=(0,r.useState)(!1),ek=(0,eh.useInboxMarked)(ej),eM=ek.marked,{mutate:eI}=(0,eS.useUnmarkMessage)(),eP=function({unreads:e,unreadDms:t,mentions:a}){let[n,i]=(0,r.useState)(!1),o=(0,r.useRef)(null),s=(0,r.useCallback)(e=>{o.current=null,i(e)},[]),l=(0,r.useCallback)(e=>{o.current=e},[]);return(0,r.useEffect)(()=>{let r=o.current;n&&r&&!function(e,t){let r=t.indexOf(":");if(r<0)return!1;let a=t.slice(0,r),n=t.slice(r+1);switch(a){case"dm":return e.unreadDms.some(e=>e.channelId===n);case"channel":return e.unreads.some(e=>e.channels.some(e=>e.channelId===n||e.children.some(e=>e.channelId===n)));case"mention":return e.mentions.some(e=>e.id===n);default:return!1}}({unreads:e,unreadDms:t,mentions:a},r)&&(o.current=null,i(!1))},[n,e,t,a]),{open:n,onOpenChange:s,watchItem:l}}({unreads:W,unreadDms:H,mentions:V}),eN=eP.watchItem,{mutateAsync:eT}=(0,eg.useCreateServer)(),{mutate:eE}=(0,eg.useLeaveServer)(),{mutate:eD}=(0,eg.useUploadServerIcon)(),{mutate:eL}=(0,ey.useDeleteServerFolder)(),{mutate:eR}=(0,ex.useReorderServers)(),{mutate:eF}=(0,ey.useReorderFolders)(),{mutate:eO}=(0,ey.useUpdateFolderItems)(),{mutate:eA}=(0,ey.useCreateServerFolderWith)(),e$=(0,eb.useCreateOrGetDm)(),{accept:eU}=(0,eC.useDmMessageSender)(),eK=(0,eS.useMarkAllInboxRead)(),eQ=(0,eS.useDeleteMention)(),{mutate:eB}=(0,eS.useReadForumThreadFromInbox)(),eq=(0,ew.useUpdateProfile)(),e_=(0,ew.useUploadUserAvatar)(),[eG,eW]=(0,r.useState)(!1),[eH,eV]=(0,r.useState)(null),[eY,eX]=(0,r.useState)(null),[eJ,eZ]=(0,r.useState)(null),e0=(0,r.useMemo)(()=>{let e=new Set;for(let t of K)for(let r of t.servers)e.add(r.id);return e},[K]),e1=(0,r.useMemo)(()=>U.filter(e=>!e0.has(e.id)).map(e=>({...e,active:e.id===l})),[U,l,e0]),e2=(0,r.useCallback)(e=>{u("server",e),T.push(`/c/channels/${e}`)},[T]),e4=(0,r.useCallback)(async(e,t)=>{try{let r=(await eT({name:e})).server.id;(0,i.toast)(`Server "${e}" created`),t&&eD({serverId:r,file:t},{onError:e=>(0,o.toastApiError)(e,"Server created, but the icon failed to upload")}),T.push(`/c/channels/${r}`)}catch(e){(0,o.toastApiError)(e,"Failed to create server")}},[eT,eD,T]),e3=(0,r.useCallback)(e=>{(0,x.markVoluntaryLeave)(e),eE({serverId:e},{onSuccess:()=>{(0,i.toast)("Left server"),B===e&&T.replace((0,x.pickPostEjectDestination)(U,e))},onError:e=>(0,o.toastApiError)(e,"Failed to leave server")})},[eE,B,T,U]),e5=(0,r.useCallback)(e=>{if(!e)return;let t=g({targetServerId:e,activeServerId:l,overlay:"settings",hasActiveOpener:!!k});"open-active"===t.kind?k?.():T.push(t.href)},[l,k,T]),e7=(0,r.useCallback)(e=>{if(!e)return;let t=g({targetServerId:e,activeServerId:l,overlay:"invite",hasActiveOpener:!!M});"open-active"===t.kind?M?.():T.push(t.href)},[l,M,T]),e8=(0,r.useCallback)(e=>{eL({folderId:e},{onSuccess:()=>(0,i.toast)("Group removed"),onError:e=>(0,o.toastApiError)(e,"Failed to remove group")})},[eL]),e6=(0,r.useCallback)(e=>{eR({serverIds:e},{onError:e=>(0,o.toastApiError)(e,"Failed to save server order")})},[eR]),e9=(0,r.useCallback)(e=>{eF({folderIds:e},{onError:e=>(0,o.toastApiError)(e,"Failed to reorder groups")})},[eF]),te=(0,r.useCallback)((e,t)=>{eO({folderId:e,serverIds:t},{onError:e=>(0,o.toastApiError)(e,"Failed to update group")})},[eO]),tt=(0,r.useCallback)((e,t)=>{eA({serverIdA:e,serverIdB:t},{onError:e=>(0,o.toastApiError)(e,"Failed to create group")})},[eA]),tr={servers:e1,folders:K,activeServerId:l,serversLoading:$.isLoading,setMobileZone:w,view:e,onHome:I,onServer:P,onServerNavigate:e2,onCreateServer:e4,onLeaveServer:e3,onOpenSettings:e5,onOpenInvitePopover:e7,onUngroupFolder:e8,onReorderRail:e6,onReorderFolders:e9,onFolderItemsChange:te,onDragCreateFolder:tt},ta=(0,r.useCallback)((e,t,r,a)=>{if(a&&a===L.id)return void eV({data:{name:L.name,userId:L.id,discriminator:L.discriminator,avatar:L.avatar||(0,ea.avatarInitial)(L.name),role:"You",about:L.aboutMe??"",mutual:0,presence:(0,er.resolveProfilePresence)(!0,void 0,F)},x:t.clientX,y:t.clientY,initialStatusEmoji:L.statusEmoji??null,initialStatusText:L.statusText??null});let n=function(e,t,r){let{name:a,discriminator:n,userId:i}=r;return(i?(e??[]).find(e=>e.userId===i)??(t??[]).find(e=>e.userId===i):void 0)??(n?(e??[]).find(e=>e.name===a&&e.discriminator===n)??(t??[]).find(e=>e.name===a&&e.discriminator===n):void 0)??(e??[]).find(e=>e.name===a)??(t??[]).find(e=>e.name===a)}(q,Q,{name:e,discriminator:r,userId:a}),i=n&&"role"in n?n.role:"member",l=n&&"sub"in n&&n.sub?n.sub:"",u=i.charAt(0).toUpperCase()+i.slice(1),d=n&&"userId"in n?n.userId:n?.id;eV({data:{name:e,userId:d,avatar:n?.avatar??(0,ea.avatarInitial)(e),role:u,about:l,mutual:0,presence:(0,er.resolveProfilePresence)(!1,d,F)},x:t.clientX,y:t.clientY,initialStatusEmoji:n?.statusEmoji??null,initialStatusText:n?.statusText??null}),d&&D.fetchQuery({queryKey:s.communityKeys.profile(d),queryFn:()=>(0,o.apiFetch)(`/api/community/users/${d}/profile`),staleTime:3e5}).then(e=>{eV(t=>t?{...t,data:{...t.data,about:e.aboutMe??t.data.about,mutual:e.mutualServers??0,discriminator:e.discriminator??t.data.discriminator},initialStatusEmoji:e.statusEmoji,initialStatusText:e.statusText}:t)}).catch(e=>(0,o.toastApiError)(e,"Failed to load profile"))},[L,q,Q,D,F]),tn=(0,r.useCallback)(e=>eX(e),[]),ti=(0,r.useCallback)(()=>w("nav"),[w]),to=(0,r.useCallback)((e,t)=>{u(t?"channel":"server",t??e),T.push(t?`/c/channels/${e}/${t}`:`/c/channels/${e}`)},[T]);(0,r.useEffect)(()=>{ei.useCommunityStore.getState().registerUiHandlers({previewImage:tn,openProfile:ta,goBackMobile:ti,navigate:to})},[tn,ta,ti,to]);let ts=async(e,t)=>{try{await eq.mutateAsync({statusEmoji:e,statusText:t}),R(r=>({...r,statusEmoji:e,statusText:t})),eo.useCommunityWsStore.getState().setUserStatus(L.id,e,t)}catch(e){(0,o.toastApiError)(e,"Failed to update status")}},tl=async(e,t)=>{let r;if(!e)return void(0,i.toast)("Could not find user");try{r=(await e$.mutateAsync({userId:e})).conversation.id}catch(e){(0,o.toastApiError)(e,"Failed to open DM");return}let a=t.trim();if(a){let e=eU({dmId:r,content:a,author:{id:L.id,name:L.name,avatar:L.avatar}});if(!e.accepted)return void(0,i.toast)("Failed to send message");e.committed}T.push(`/c/me/${r}`)},tu=(0,r.useCallback)((e,t,r=`channel:${t}`)=>{eN(r),T.push(`/c/channels/${e}/${t}`)},[T,eN]),td=(0,r.useCallback)((e,t,r,a)=>{eN(`channel:${r}`),eB({parentChannelId:t,openerMessageId:a}),T.push(`/c/channels/${e}/${r}`)},[eB,T,eN]),tc=(0,r.useCallback)(e=>{eN(`marked:${e.id}`);let t=null!=e.m.seq?`?seq=${e.m.seq}`:"";e.serverId?T.push(`/c/channels/${e.serverId}/${e.channelId}${t}`):T.push(`/c/me/${e.channelId}${t}`)},[T,eN]),tm=(0,r.useCallback)(e=>{D.setQueryData(s.communityKeys.dms(),t=>t?{...t,conversations:t.conversations.map(t=>t.id===e?{...t,unread:!1}:t)}:t),eN(`dm:${e}`),T.push(`/c/me/${e}`)},[T,D,eN]),tf=(0,t.jsx)(b.InboxPopover,{unreads:W,unreadDms:H,mentions:V,marked:eM,markedLoading:ek.isLoading,loading:J,onOpenChannel:tu,onOpenForumThread:td,onOpenDm:tm,onOpenMention:e=>{e.serverId&&e.channelId&&tu(e.serverId,e.channelId,`mention:${e.id}`)},onOpenMarked:tc,onMarkedTabSelected:()=>ez(!0),onMarkAllRead:()=>{eK.mutate()},onDeleteMention:e=>eQ.mutate({mentionId:e}),onUnmark:e=>eI({messageId:e})}),tp=(W?.length??0)>0||(H?.length??0)>0||(V?.length??0)>0,th=(0,t.jsx)(f.Dialog,{open:eG,onOpenChange:e=>{e||eW(!1)},children:(0,t.jsx)(f.DialogContent,{className:"flex h-[calc(100vh-4rem)] max-h-180 w-[calc(100vw-4rem)] sm:max-w-4xl flex-col gap-0 overflow-hidden rounded-xl p-0",showCloseButton:!1,children:(0,t.jsx)(Y,{onClose:()=>eW(!1),userId:L.id,userName:L.name,aboutMe:L.aboutMe??"",avatar:L.avatar,statusEmoji:L.statusEmoji,statusText:L.statusText,onUploadAvatar:()=>{let e=document.createElement("input");e.type="file",e.accept="image/png,image/jpeg,image/webp",e.onchange=()=>{let t=e.files?.[0];if(!t)return;let r=(0,et.validateIconSourceFile)(t);r.ok?eZ({src:URL.createObjectURL(t),fileName:t.name}):(0,i.toast)(r.error)},e.click()},onSave:async e=>{try{await eq.mutateAsync(e),R(t=>({...t,...e.name?{name:e.name}:{},...void 0!==e.aboutMe?{aboutMe:e.aboutMe}:{},...void 0!==e.statusEmoji?{statusEmoji:e.statusEmoji}:{},...void 0!==e.statusText?{statusText:e.statusText}:{}})),(void 0!==e.statusEmoji||void 0!==e.statusText)&&eo.useCommunityWsStore.getState().setUserStatus(L.id,e.statusEmoji??null,e.statusText??null)}catch(e){(0,o.toastApiError)(e,"Failed to save profile")}},onLogout:async()=>{ei.useCommunityStore.getState().reset(),eo.useCommunityWsStore.getState().reset(),es.useMessageStreamStore.getState().resetAll(),await (0,O.clearPersistedCache)(L.id).catch(()=>{}),await (0,en.signOut)(),T.push("/sign-in")}})})}),tv=eJ&&(0,t.jsx)(ee.ImageCropDialog,{imageSrc:eJ.src,originalFileName:eJ.fileName,maskShape:"circle",onCropped:e=>{e_.mutate({file:e},{onSuccess:e=>{R(t=>({...t,avatar:`${e.url}?t=${Date.now()}`})),(0,i.toast)("Avatar updated")},onError:e=>(0,o.toastApiError)(e,"Failed to upload avatar")}),URL.revokeObjectURL(eJ.src),eZ(null)},onCancel:()=>{URL.revokeObjectURL(eJ.src),eZ(null)}}),{defaultLayout:tg,onLayoutChanged:ty}=(0,d.useDefaultLayout)({id:"community-shell"}),tx=(0,r.useRef)(null),[tb,tS]=(0,r.useState)(240);return((0,r.useEffect)(()=>{let e=tx.current;if(!e)return;tS(e.offsetWidth);let t=new ResizeObserver(([e])=>tS(e.contentRect.width));return t.observe(e),()=>t.disconnect()},[E]),"desktop"===E)?(0,t.jsxs)(h.Shell,{children:[(0,t.jsx)(v.ServerRail,{...tr,bottomInset:60}),(0,t.jsxs)("div",{className:"relative flex-1 flex flex-col min-w-0 pt-2",children:[(0,t.jsx)(m.AppSurface,{className:"rounded-tl-xl rounded-tr-none rounded-br-none rounded-bl-none ring-0 border-l border-t border-border/40 shadow-none",children:(0,t.jsxs)(c.ResizablePanelGroup,{id:"community-shell",orientation:"horizontal",className:"min-h-0 flex-1",defaultLayout:tg,onLayoutChanged:ty,children:[(0,t.jsx)(c.ResizablePanel,{id:"sidebar",defaultSize:"24%",minSize:160,maxSize:360,className:"flex flex-col pb-14 bg-sidebar",children:(0,t.jsx)("div",{ref:tx,className:"flex min-h-0 flex-1 flex-col",children:C()})}),(0,t.jsx)(c.ResizableHandle,{className:"bg-transparent"}),(0,t.jsx)(c.ResizablePanel,{id:"main",defaultSize:"76%",className:"flex min-w-0 flex-col bg-background",children:j})]})}),(0,t.jsx)("div",{className:"absolute bottom-0 left-0 z-10",style:{width:tb+56+1,marginLeft:-56},children:(0,t.jsx)(y.UserBar,{user:{id:L.id,name:L.name,avatar:L.avatar},onOpenProfile:ta,onEditProfile:()=>eW(!0),inbox:tf,hasUnread:tp,inboxOpen:eP.open,onInboxOpenChange:eP.onOpenChange})})]}),eH&&(0,t.jsx)(X.ProfileCard,{data:eH.data,x:eH.x,y:eH.y,bp:E,onClose:()=>eV(null),onMessage:tl,isSelf:!!eH.data.userId&&eH.data.userId===L.id,onUpdateStatus:ts,initialStatusEmoji:eH.initialStatusEmoji,initialStatusText:eH.initialStatusText},`${eH.data.userId??eH.data.name}:${eH.x}:${eH.y}`),eY&&(0,t.jsx)(Z,{src:eY,onClose:()=>eX(null)}),th,tv,z]}):(0,t.jsxs)(h.Shell,{children:["nav"===S&&(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(v.ServerRail,{...tr,bottomInset:60}),(0,t.jsxs)("div",{className:"flex min-h-0 flex-1 flex-col bg-sidebar",children:[(0,t.jsx)("div",{className:"flex min-h-0 flex-1",children:C({noHeader:!1})}),(0,t.jsx)(y.UserBar,{user:{id:L.id,name:L.name,avatar:L.avatar},onOpenProfile:ta,onEditProfile:()=>eW(!0),inbox:tf,hasUnread:tp,inboxOpen:eP.open,onInboxOpenChange:eP.onOpenChange})]})]}),"messages"===S&&(0,t.jsx)("div",{className:"flex min-h-0 min-w-0 flex-1 flex-col bg-background",children:j}),eH&&(0,t.jsx)(X.ProfileCard,{data:eH.data,x:eH.x,y:eH.y,bp:E,onClose:()=>eV(null),onMessage:tl,isSelf:!!eH.data.userId&&eH.data.userId===L.id,onUpdateStatus:ts},`${eH.data.userId??eH.data.name}:${eH.x}:${eH.y}`),eY&&(0,t.jsx)(Z,{src:eY,onClose:()=>eX(null)}),th,tv,z]})}],835240);var ej=e.i(312462);let ez="/c/me",ek="friends";function eM(e){return"."!==e&&".."!==e&&!/[\/\\?#\s]/.test(e)}function eI(e){if(e===ez)return ek;let t=`${ez}/`;if(!e.startsWith(t))return null;let r=e.slice(t.length);return r&&eM(r)?r:null}e.s(["ME_ROOT",0,ez,"clearLastMeLocation",0,function(){(0,ej.clearLastChannel)("me")},"getLastMeLeaf",0,function(){return(0,ej.getLastChannel)("me")},"meLeafFromPathname",0,eI,"pickMeLandingLocation",0,function(e){return null!==e&&e&&eM(e)?e===ek?ez:`${ez}/${e}`:ez},"resolveMeLocationStatus",0,function({pathname:e,dmId:t,dmsReady:r,dmIds:a}){return null===eI(e)?"ignore":t?r?a.includes(t)?"remember":"stale":"wait":"remember"},"setLastMeLocation",0,function(e){let t=eI(e);null!==t&&(0,ej.setLastChannel)("me",t)}],333671)},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:n=0,side:i="bottom",sideOffset:o=4,className:s,...l}){return(0,t.jsx)(r.Menu.Portal,{children:(0,t.jsx)(r.Menu.Positioner,{className:"isolate z-70 outline-none",align:e,alignOffset:n,side:i,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",s),...l})})})},"DropdownMenuGroup",0,function({...e}){return(0,t.jsx)(r.Menu.Group,{"data-slot":"dropdown-menu-group",...e})},"DropdownMenuItem",0,function({className:e,inset:n,variant:i="default",...o}){return(0,t.jsx)(r.Menu.Item,{"data-slot":"dropdown-menu-item","data-inset":n,"data-variant":i,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:n,...i}){return(0,t.jsx)(r.Menu.GroupLabel,{"data-slot":"dropdown-menu-label","data-inset":n,className:(0,a.cn)("px-2 py-2 text-xs font-medium text-muted-foreground data-inset:pl-7",e),...i})},"DropdownMenuSeparator",0,function({className:e,...n}){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),...n})},"DropdownMenuTrigger",0,function({...e}){return(0,t.jsx)(r.Menu.Trigger,{"data-slot":"dropdown-menu-trigger",...e})}])},888917,324785,e=>{"use strict";let t,r;var a=e.i(633940),n=e.i(579848);function i({groupSize:e,panelElement:t,styleProp:r}){let a,[n,o]=function(e){switch(typeof e){case"number":return[e,"px"];case"string":{let t=parseFloat(e);return e.endsWith("%")?[t,"%"]:e.endsWith("px")?[t,"px"]:e.endsWith("rem")?[t,"rem"]:e.endsWith("em")?[t,"em"]:e.endsWith("vh")?[t,"vh"]:e.endsWith("vw")?[t,"vw"]:[t,"%"]}}}(r);switch(o){case"%":a=n/100*e;break;case"px":a=n;break;case"rem":a=n*parseFloat(getComputedStyle(t.ownerDocument.documentElement).fontSize);break;case"em":a=n*parseFloat(getComputedStyle(t).fontSize);break;case"vh":a=n/100*window.innerHeight;break;case"vw":a=n/100*window.innerWidth}return a}function o(e){return parseFloat(e.toFixed(3))}function s({group:e}){let{orientation:t,panels:r}=e;return r.reduce((e,r)=>e+="horizontal"===t?r.element.offsetWidth:r.element.offsetHeight,0)}function l(e){let{panels:t}=e,r=s({group:e});return 0===r?t.map(e=>({groupResizeBehavior:e.panelConstraints.groupResizeBehavior,collapsedSize:0,collapsible:!0===e.panelConstraints.collapsible,defaultSize:void 0,disabled:e.panelConstraints.disabled,minSize:0,maxSize:100,panelId:e.id})):t.map(e=>{let t,{element:a,panelConstraints:n}=e,s=0;void 0!==n.collapsedSize&&(s=o(i({groupSize:r,panelElement:a,styleProp:n.collapsedSize})/r*100)),void 0!==n.defaultSize&&(t=o(i({groupSize:r,panelElement:a,styleProp:n.defaultSize})/r*100));let l=0;void 0!==n.minSize&&(l=o(i({groupSize:r,panelElement:a,styleProp:n.minSize})/r*100));let u=100;return void 0!==n.maxSize&&(u=o(i({groupSize:r,panelElement:a,styleProp:n.maxSize})/r*100)),{groupResizeBehavior:n.groupResizeBehavior,collapsedSize:s,collapsible:!0===n.collapsible,defaultSize:t,disabled:n.disabled,minSize:l,maxSize:u,panelId:e.id}})}function u(e,t="Assertion error"){if(!e)throw Error(t)}function d(e,t){return Array.from(t).sort("horizontal"===e?c:m)}function c(e,t){let r=e.element.offsetLeft-t.element.offsetLeft;return 0!==r?r:e.element.offsetWidth-t.element.offsetWidth}function m(e,t){let r=e.element.offsetTop-t.element.offsetTop;return 0!==r?r:e.element.offsetHeight-t.element.offsetHeight}function f(e){return null!==e&&"object"==typeof e&&"nodeType"in e&&e.nodeType===Node.ELEMENT_NODE}function p(e,t){return{x:e.x>=t.left&&e.x<=t.right?0:Math.min(Math.abs(e.x-t.left),Math.abs(e.x-t.right)),y:e.y>=t.top&&e.y<=t.bottom?0:Math.min(Math.abs(e.y-t.top),Math.abs(e.y-t.bottom))}}function h(e){let{element:r,orientation:a,panels:n,separators:i}=e,o=d(a,Array.from(r.children).filter(f).map(e=>({element:e}))).map(({element:e})=>e),l=[],c=!1,m=!1,h=-1,v=-1,g=0,y,x=[];{let e=-1;for(let t of o)t.hasAttribute("data-panel")&&(e++,t.hasAttribute("data-disabled")||(g++,-1===h&&(h=e),v=e))}if(g>1){let r=-1;for(let d of o)if(d.hasAttribute("data-panel")){r++;let i=n.find(e=>e.element===d);if(i){if(y){let n,o=y.element.getBoundingClientRect(),f=d.getBoundingClientRect();if(m){let e="horizontal"===a?new DOMRect(o.right,o.top,0,o.height):new DOMRect(o.left,o.bottom,o.width,0),t="horizontal"===a?new DOMRect(f.left,f.top,0,f.height):new DOMRect(f.left,f.top,f.width,0);switch(x.length){case 0:n=[e,t];break;case 1:{let r=x[0],i=function({orientation:e,rects:t,targetRect:r}){let a={x:r.x+r.width/2,y:r.y+r.height/2},n,i=Number.MAX_VALUE;for(let r of t){let{x:t,y:o}=p(a,r),s="horizontal"===e?t:o;s<i&&(i=s,n=r)}return u(n,"No rect found"),n}({orientation:a,rects:[o,f],targetRect:r.element.getBoundingClientRect()});n=[r,i===o?t:e];break}default:n=x}}else n=x.length?x:["horizontal"===a?new DOMRect(o.right,f.top,f.left-o.right,f.height):new DOMRect(f.left,o.bottom,f.width,f.top-o.bottom)];for(let a of n){let n="width"in a?a:a.element.getBoundingClientRect(),o=(void 0===t&&(t="function"==typeof matchMedia&&!!matchMedia("(pointer:coarse)").matches),t)?e.resizeTargetMinimumSize.coarse:e.resizeTargetMinimumSize.fine;if(n.width<o){let e=o-n.width;n=new DOMRect(n.x-e/2,n.y,n.width+e,n.height)}if(n.height<o){let e=o-n.height;n=new DOMRect(n.x,n.y-e/2,n.width,n.height+e)}let u=r<=h||r>v;c||u||l.push({group:e,groupSize:s({group:e}),panels:[y,i],separator:"width"in a?void 0:a,rect:n}),c=!1}}m=!1,y=i,x=[]}}else if(d.hasAttribute("data-separator")){null!==d.ariaDisabled&&(c=!0);let e=i.find(e=>e.element===d);e?x.push(e):(y=void 0,x=[])}else m=!0}return l}class v{#e={};addListener(e,t){let r=this.#e[e];return void 0===r?this.#e[e]=[t]:r.includes(t)||r.push(t),()=>{this.removeListener(e,t)}}emit(e,t){let r=this.#e[e];if(void 0!==r)if(1===r.length)r[0].call(null,t);else{let e=!1,a=null,n=Array.from(r);for(let r=0;r<n.length;r++){let i=n[r];try{i.call(null,t)}catch(t){null===a&&(e=!0,a=t)}}if(e)throw a}}removeAllListeners(){this.#e={}}removeListener(e,t){let r=this.#e[e];if(void 0!==r){let e=r.indexOf(t);e>=0&&r.splice(e,1)}}}let g={cursorFlags:0,state:"inactive"},y=new v;function x(e){let t=g;g=e,y.emit("change",{prev:t,next:e})}let b=e=>e,S=()=>{};function w(){return void 0===r&&(r=!1,"u">typeof window&&(window.navigator.userAgent.includes("Chrome")||window.navigator.userAgent.includes("Firefox"))&&(r=!0)),r}let C=new WeakMap;function j(e){if(null===e.defaultView||void 0===e.defaultView)return;let{prevStyle:t,styleSheet:r}=C.get(e)??{};void 0===r&&(r=new e.defaultView.CSSStyleSheet,e.adoptedStyleSheets&&(Object.isExtensible(e.adoptedStyleSheets)?e.adoptedStyleSheets.push(r):e.adoptedStyleSheets=[...e.adoptedStyleSheets,r]));let a=g;switch(a.state){case"active":case"hover":{let e=function({cursorFlags:e,groups:t,state:r}){let a=0,n=0;switch(r){case"active":case"hover":t.forEach(e=>{if(!e.mutableState.disableCursor)switch(e.orientation){case"horizontal":a++;break;case"vertical":n++}})}if(0!==a||0!==n){if("active"===r&&e&&w()){let t=(4&e)!=0,r=(8&e)!=0;if((1&e)!=0)return t?"se-resize":r?"ne-resize":"e-resize";if((2&e)!=0)return t?"sw-resize":r?"nw-resize":"w-resize";if(t)return"s-resize";if(r)return"n-resize"}return w()?a>0&&n>0?"move":a>0?"ew-resize":"ns-resize":a>0&&n>0?"grab":a>0?"col-resize":"row-resize"}}({cursorFlags:a.cursorFlags,groups:a.hitRegions.map(e=>e.group),state:a.state}),n=`*, *:hover {cursor: ${e} !important; }`;if(t===n)return;t=n,e?0===r.cssRules.length?r.insertRule(n):r.replaceSync(n):1===r.cssRules.length&&r.deleteRule(0);break}case"inactive":t=void 0,1===r.cssRules.length&&r.deleteRule(0)}C.set(e,{prevStyle:t,styleSheet:r})}let z=new Map,k=new v;function M(e,t){for(let[t]of z)if(t.id===e)return t}function I(e,t){for(let[t,r]of z)if(t.id===e)return r;if(t)throw Error(`Could not find data for Group with id ${e}`)}function P(e,t){return k.addListener("groupChange",r=>{r.group.id===e&&t(r)})}function N(e,t,r){let a=z.get(e);(z=new Map(z)).set(e,t),k.emit("groupChange",{group:e,isUserInteraction:r?.isUserInteraction===!0,prev:a,next:t})}function T(e){let t=g,r=!1;return"active"===t.state&&(x({cursorFlags:0,state:"inactive"}),t.hitRegions.length>0&&(j(e),r=!0,t.hitRegions.forEach(e=>{let t=I(e.group.id,!0);N(e.group,t,{isUserInteraction:!0})}))),r}function E(e){e.defaultPrevented||T(e.currentTarget)}let D=/\b(?:position|zIndex|opacity|transform|webkitTransform|mixBlendMode|filter|webkitFilter|isolation)\b/;function L(e){let t=e.length;for(;t--;){let r=e[t];if(u(r,"Missing node"),function(e){let t,r=getComputedStyle(e);return!!("fixed"===r.position||"auto"!==r.zIndex&&("static"!==r.position||"flex"===(t=getComputedStyle(O(e)??e).display)||"inline-flex"===t)||1>+r.opacity||"transform"in r&&"none"!==r.transform||"webkitTransform"in r&&"none"!==r.webkitTransform||"mixBlendMode"in r&&"normal"!==r.mixBlendMode||"filter"in r&&"none"!==r.filter||"webkitFilter"in r&&"none"!==r.webkitFilter||"isolation"in r&&"isolate"===r.isolation||D.test(r.willChange)||"touch"===r.webkitOverflowScrolling)}(r))return r}return null}function R(e){return e&&Number(getComputedStyle(e).zIndex)||0}function F(e){let t=[];for(;e;)t.push(e),e=O(e);return t}function O(e){let{parentNode:t}=e;return null!==t&&"object"==typeof t&&"nodeType"in t&&t.nodeType===Node.DOCUMENT_FRAGMENT_NODE?t.host:t}function A(e,t){let r=[];return t.forEach((t,a)=>{if(a.disabled)return;let n=h(a),i=function(e,t,r){let a,n={x:1/0,y:1/0};for(let i of t){let t=p(r,i.rect);switch(e){case"horizontal":t.x<=n.x&&(a=i,n=t);break;case"vertical":t.y<=n.y&&(a=i,n=t)}}return a?{distance:n,hitRegion:a}:void 0}(a.orientation,n,{x:e.clientX,y:e.clientY});i&&i.distance.x<=0&&i.distance.y<=0&&function({groupElement:e,hitRegion:t,pointerEventTarget:r}){if(!f(r)||r.contains(e)||e.contains(r))return!0;if(function(e,t){let r;if(e===t)throw Error("Cannot compare node with itself");let a={a:F(e),b:F(t)};for(;a.a.at(-1)===a.b.at(-1);)r=a.a.pop(),a.b.pop();u(r,"Stacking order can only be calculated for elements with a common ancestor");let n={a:R(L(a.a)),b:R(L(a.b))};if(n.a===n.b){let e=r.childNodes,t={a:a.a.at(-1),b:a.b.at(-1)},n=e.length;for(;n--;){let r=e[n];if(r===t.a)return 1;if(r===t.b)return -1}}return Math.sign(n.a-n.b)}(r,e)>0){let n=r;for(;n;){var a;if(n.contains(e))break;if(a=n.getBoundingClientRect(),a.x<t.x+t.width&&a.x+a.width>t.x&&a.y<t.y+t.height&&a.y+a.height>t.y)return!1;n=n.parentElement}}return!0}({groupElement:a.element,hitRegion:i.hitRegion.rect,pointerEventTarget:e.target})&&r.push(i.hitRegion)}),r}function $(e,t,r=0){return Math.abs(o(e)-o(t))<=r}function U(e,t){return $(e,t)?0:e>t?1:-1}function K({overrideDisabledPanels:e,panelConstraints:t,prevSize:r,size:a}){let{collapsedSize:n=0,collapsible:i,disabled:s,maxSize:l=100,minSize:u=0}=t;return s&&!e?r:(0>U(a,u)&&(a=i&&0>U(a,(n+u)/2)?n:u),o(a=Math.min(l,a)))}function Q({delta:e,initialLayout:t,panelConstraints:r,pivotIndices:a,prevLayout:n,trigger:i}){if($(e,0))return t;let o="imperative-api"===i,s=Object.values(t),l=Object.values(n),d=[...s],[c,m]=a;u(null!=c,"Invalid first pivot index"),u(null!=m,"Invalid second pivot index");let f=0;if("keyboard"===i){{let t=e<0?m:c,a=r[t];u(a,`Panel constraints not found for index ${t}`);let{collapsedSize:n=0,collapsible:i,minSize:o=0}=a;if(i){let r=s[t];if(u(null!=r,`Previous layout not found for panel index ${t}`),$(r,n)){let t=o-r;U(t,Math.abs(e))>0&&(e=e<0?0-t:t)}}}{let t=e<0?c:m,a=r[t];u(a,`No panel constraints found for index ${t}`);let{collapsedSize:n=0,collapsible:i,minSize:o=0}=a;if(i){let r=s[t];if(u(null!=r,`Previous layout not found for panel index ${t}`),$(r,o)){let t=r-n;U(t,Math.abs(e))>0&&(e=e<0?0-t:t)}}}}else{let t=e<0?m:c,a=r[t];u(a,`Panel constraints not found for index ${t}`);let n=s[t],{collapsible:i,collapsedSize:o,minSize:l}=a;if(i&&0>U(n,l))if(e>0){let t=l-o;0>U(n+e,l)&&(e=0>=U(e,t/2)?0:t)}else{let t=l-o;0>U(n-e,l)&&(e=U(100+e,100-t/2)>0?0:-t)}}{let t=e<0?1:-1,a=e<0?m:c,n=0;for(;;){let e=s[a];if(u(null!=e,`Previous layout not found for panel index ${a}`),n+=K({overrideDisabledPanels:o,panelConstraints:r[a],prevSize:e,size:100})-e,(a+=t)<0||a>=r.length)break}let i=Math.min(Math.abs(e),Math.abs(n));e=e<0?0-i:i}{let t=e<0?c:m;for(;t>=0&&t<r.length;){let a=Math.abs(e)-Math.abs(f),n=s[t];u(null!=n,`Previous layout not found for panel index ${t}`);let i=n-a,l=K({overrideDisabledPanels:o,panelConstraints:r[t],prevSize:n,size:i});if(!$(n,l)&&(f+=n-l,d[t]=l,f.toFixed(3).localeCompare(Math.abs(e).toFixed(3),void 0,{numeric:!0})>=0))break;e<0?t--:t++}}if(function(e,t){if(e.length!==t.length)return!1;for(let r=0;r<e.length;r++)if(e[r]!=t[r])return!1;return!0}(l,d))return n;{let t=e<0?m:c,a=s[t];u(null!=a,`Previous layout not found for panel index ${t}`);let n=a+f,i=K({overrideDisabledPanels:o,panelConstraints:r[t],prevSize:a,size:n});if(d[t]=i,!$(i,n)){let t=n-i,a=e<0?m:c;for(;a>=0&&a<r.length;){let n=d[a];u(null!=n,`Previous layout not found for panel index ${a}`);let i=n+t,s=K({overrideDisabledPanels:o,panelConstraints:r[a],prevSize:n,size:i});if($(n,s)||(t-=s-n,d[a]=s),$(t,0))break;e>0?a--:a++}}}if(!$(Object.values(d).reduce((e,t)=>t+e,0),100,.1))return n;let p=Object.keys(n);return d.reduce((e,t,r)=>(e[p[r]]=t,e),{})}function B(e,t){if(Object.keys(e).length!==Object.keys(t).length)return!1;for(let r in e)if(void 0===t[r]||0!==U(e[r],t[r]))return!1;return!0}function q({layout:e,panelConstraints:t}){let r=Object.values(e),a=[...r],n=a.reduce((e,t)=>e+t,0);if(a.length!==t.length)throw Error(`Invalid ${t.length} panel layout: ${a.map(e=>`${e}%`).join(", ")}`);if(!$(n,100)&&a.length>0)for(let e=0;e<t.length;e++){let t=a[e];u(null!=t,`No layout data found for index ${e}`);let r=100/n*t;a[e]=r}let i=0;for(let e=0;e<t.length;e++){let n=r[e];u(null!=n,`No layout data found for index ${e}`);let o=a[e];u(null!=o,`No layout data found for index ${e}`);let s=K({overrideDisabledPanels:!0,panelConstraints:t[e],prevSize:n,size:o});o!=s&&(i+=o-s,a[e]=s)}if(!$(i,0))for(let e=0;e<t.length;e++){let r=a[e];u(null!=r,`No layout data found for index ${e}`);let n=r+i,o=K({overrideDisabledPanels:!0,panelConstraints:t[e],prevSize:r,size:n});if(r!==o&&(i-=o-r,a[e]=o,$(i,0)))break}let o=Object.keys(e);return a.reduce((e,t,r)=>(e[o[r]]=t,e),{})}function _({groupId:e,panelId:t}){let r=()=>{for(let[t,{defaultLayoutDeferred:r,derivedPanelConstraints:a,layout:n,groupSize:i,separatorToPanels:o}]of z)if(t.id===e)return{defaultLayoutDeferred:r,derivedPanelConstraints:a,group:t,groupSize:i,layout:n,separatorToPanels:o};throw Error(`Group ${e} not found`)},a=()=>{let e=r().derivedPanelConstraints.find(e=>e.panelId===t);if(void 0!==e)return e;throw Error(`Panel constraints not found for Panel ${t}`)},n=()=>{let e=r().group.panels.find(e=>e.id===t);if(void 0!==e)return e;throw Error(`Layout not found for Panel ${t}`)},l=()=>{let e=r().layout[t];if(void 0!==e)return e;throw Error(`Layout not found for Panel ${t}`)},u=e=>{if(e===l())return;let{defaultLayoutDeferred:a,derivedPanelConstraints:n,group:i,groupSize:s,layout:u,separatorToPanels:d}=r(),c=q({layout:(({nextSize:e,panels:r,prevLayout:a,derivedPanelConstraints:n})=>{let i=l(),s=r.findIndex(e=>e.id===t),u=0===s,d=s===r.length-1;if(d&&e<i&&(u||r.slice(0,s).every((e,t)=>{let r=n[t];return r?.collapsible&&$(r.collapsedSize,a[r.panelId])}))){let e=r.slice(0,s).reduce((e,t)=>e+a[t.id],0);return{...a,[t]:o(100-e)}}return Q({delta:d?i-e:e-i,initialLayout:a,panelConstraints:n,pivotIndices:d?[s-1,s]:[s,s+1],prevLayout:a,trigger:"imperative-api"})})({nextSize:e,panels:i.panels,prevLayout:u,derivedPanelConstraints:n}),panelConstraints:n});B(u,c)||N(i,{defaultLayoutDeferred:a,derivedPanelConstraints:n,groupSize:s,layout:c,separatorToPanels:d})};return{collapse:()=>{let{collapsible:e,collapsedSize:t}=a(),{mutableValues:r}=n(),i=l();e&&i!==t&&(r.expandToSize=i,u(t))},expand:()=>{let{collapsible:e,collapsedSize:t,minSize:r}=a(),{mutableValues:i}=n(),o=l();if(e&&o===t){let e=i.expandToSize??r;0===e&&(e=1),u(e)}},getSize:()=>{let{group:e}=r(),t=l(),{element:a}=n();return{asPercentage:t,inPixels:"horizontal"===e.orientation?a.offsetWidth:a.offsetHeight}},isCollapsed:()=>{let{collapsible:e,collapsedSize:t}=a(),r=l();return e&&$(t,r)},resize:e=>{let{group:t}=r(),{element:a}=n(),l=s({group:t});u(o(i({groupSize:l,panelElement:a,styleProp:e})/l*100))}}}function G(e){e.defaultPrevented||A(e,z).forEach(t=>{if(t.separator&&!t.separator.disableDoubleClick){let r=t.panels.find(e=>void 0!==e.panelConstraints.defaultSize);if(r){let a=r.panelConstraints.defaultSize,n=_({groupId:t.group.id,panelId:r.id});n&&void 0!==a&&(n.resize(a),e.preventDefault())}}})}function W(e){for(let[t]of z)if(t.separators.some(t=>t.element===e))return t;throw Error("Could not find parent Group for separator element")}function H({groupId:e}){let t=()=>{for(let[t,r]of z)if(t.id===e)return{group:t,...r};throw Error(`Could not find Group with id "${e}"`)};return{getLayout(){let{defaultLayoutDeferred:e,layout:r}=t();return e?{}:r},setLayout(e){let{defaultLayoutDeferred:r,derivedPanelConstraints:a,group:n,groupSize:i,layout:o,separatorToPanels:s}=t(),l=q({layout:e,panelConstraints:a});return r?o:(B(o,l)||N(n,{defaultLayoutDeferred:r,derivedPanelConstraints:a,groupSize:i,layout:l,separatorToPanels:s}),l)}}}function V(e,t){let r=W(e),a=I(r.id,!0),n=r.separators.find(t=>t.element===e);u(n,"Matching separator not found");let i=a.separatorToPanels.get(n);u(i,"Matching panels not found");let o=i.map(e=>r.panels.indexOf(e)),s=H({groupId:r.id}).getLayout(),l=q({layout:Q({delta:t,initialLayout:s,panelConstraints:a.derivedPanelConstraints,pivotIndices:o,prevLayout:s,trigger:"keyboard"}),panelConstraints:a.derivedPanelConstraints});B(s,l)||N(r,{defaultLayoutDeferred:a.defaultLayoutDeferred,derivedPanelConstraints:a.derivedPanelConstraints,groupSize:a.groupSize,layout:l,separatorToPanels:a.separatorToPanels},{isUserInteraction:!0})}function Y(e){if(e.defaultPrevented)return;let t=e.currentTarget,r=W(t);if(!r.disabled)switch(e.key){case"ArrowDown":e.preventDefault(),"vertical"===r.orientation&&V(t,5);break;case"ArrowLeft":e.preventDefault(),"horizontal"===r.orientation&&V(t,-5);break;case"ArrowRight":e.preventDefault(),"horizontal"===r.orientation&&V(t,5);break;case"ArrowUp":e.preventDefault(),"vertical"===r.orientation&&V(t,-5);break;case"End":e.preventDefault(),V(t,100);break;case"Enter":{e.preventDefault();let r=W(t),{derivedPanelConstraints:a,layout:n,separatorToPanels:i}=I(r.id,!0),o=r.separators.find(e=>e.element===t);u(o,"Matching separator not found");let s=i.get(o);u(s,"Matching panels not found");let l=s[0],d=a.find(e=>e.panelId===l.id);if(u(d,"Panel metadata not found"),d.collapsible){let e=n[l.id];V(t,(d.collapsedSize===e?r.mutableState.expandedPanelSizes[l.id]??d.minSize:d.collapsedSize)-e)}break}case"F6":{e.preventDefault();let r=W(t).separators.map(e=>e.element),a=Array.from(r).findIndex(t=>t===e.currentTarget);u(null!==a,"Index not found");let n=e.shiftKey?a>0?a-1:r.length-1:a+1<r.length?a+1:0;r[n].focus({preventScroll:!0});break}case"Home":e.preventDefault(),V(t,-100)}}function X(e){if(e.defaultPrevented||"mouse"===e.pointerType&&e.button>0)return;let t=z,r=A(e,t),a=new Map,n=!1;r.forEach(e=>{e.separator&&(n||(n=!0,e.separator.element.focus({focusVisible:!1,preventScroll:!0})));let r=t.get(e.group);r&&a.set(e.group,r.layout)}),x({cursorFlags:0,hitRegions:r,initialLayoutMap:a,pointerDownAtPoint:{x:e.clientX,y:e.clientY},state:"active"}),r.length&&e.preventDefault()}function J({document:e,event:t,hitRegions:r,initialLayoutMap:a,mountedGroups:n,pointerDownAtPoint:i,prevCursorFlags:o}){var s;let l,u,d=0;r.forEach(e=>{let{group:r,groupSize:o}=e,{orientation:s,panels:l}=r,{disableCursor:u}=r.mutableState,c=0;c=i?"horizontal"===s?(t.clientX-i.x)/o*100:(t.clientY-i.y)/o*100:"horizontal"===s?t.clientX<0?-100:100:t.clientY<0?-100:100;let m=a.get(r),f=n.get(r);if(!m||!f)return;let{defaultLayoutDeferred:p,derivedPanelConstraints:h,groupSize:v,layout:g,separatorToPanels:y}=f;if(h&&g&&y){let t=Q({delta:c,initialLayout:m,panelConstraints:h,pivotIndices:e.panels.map(e=>l.indexOf(e)),prevLayout:g,trigger:"mouse-or-touch"});if(B(t,g)){if(0!==c&&!u)switch(s){case"horizontal":d|=c<0?1:2;break;case"vertical":d|=c<0?4:8}}else N(e.group,{defaultLayoutDeferred:p,derivedPanelConstraints:h,groupSize:v,layout:t,separatorToPanels:y})}});let c=0;0===t.movementX?c|=3&o:c|=3&d,0===t.movementY?c|=12&o:c|=12&d,s=c,l=g,(u={...g}).cursorFlags=s,g=u,y.emit("change",{prev:l,next:u}),j(e)}function Z(e){let t=z,r=g;"active"===r.state&&J({document:e.currentTarget,event:e,hitRegions:r.hitRegions,initialLayoutMap:r.initialLayoutMap,mountedGroups:t,prevCursorFlags:r.cursorFlags})}function ee(e){if(e.defaultPrevented)return;let t=g,r=z;if("active"===t.state){if(0===e.buttons){x({cursorFlags:0,state:"inactive"}),t.hitRegions.forEach(e=>{let t=I(e.group.id,!0);N(e.group,t,{isUserInteraction:!0})});return}for(let r of t.hitRegions)if(r.separator){let{element:t}=r.separator;t.hasPointerCapture?.(e.pointerId)||t.setPointerCapture?.(e.pointerId)}J({document:e.currentTarget,event:e,hitRegions:t.hitRegions,initialLayoutMap:t.initialLayoutMap,mountedGroups:r,pointerDownAtPoint:t.pointerDownAtPoint,prevCursorFlags:t.cursorFlags})}else{let a=A(e,r);0===a.length?"inactive"!==t.state&&x({cursorFlags:0,state:"inactive"}):x({cursorFlags:0,hitRegions:a,state:"hover"}),j(e.currentTarget)}}function et(e){e.relatedTarget instanceof HTMLIFrameElement&&"hover"===g.state&&x({cursorFlags:0,state:"inactive"})}function er(e){e.defaultPrevented||("mouse"!==e.pointerType||!(e.button>0))&&T(e.currentTarget)&&e.preventDefault()}function ea(e){let t=0,r=0,a={};for(let n of e)if(void 0!==n.defaultSize){t++;let e=o(n.defaultSize);r+=e,a[n.panelId]=e}else a[n.panelId]=void 0;let n=e.length-t;if(0!==n){let t=o((100-r)/n);for(let r of e)void 0===r.defaultSize&&(a[r.panelId]=t)}return a}let en=new Map;function ei(e){let t=(0,n.useId)();return`${e??t}`}let eo="u">typeof window?n.useLayoutEffect:n.useEffect;function es(e){let t=(0,n.useRef)(e);return eo(()=>{t.current=e},[e]),(0,n.useCallback)((...e)=>t.current?.(...e),[t])}function el(...e){return es(t=>{e.forEach(e=>{if(e)switch(typeof e){case"function":e(t);break;case"object":e.current=t}})})}function eu(e){let t=(0,n.useRef)({...e});return eo(()=>{for(let r in e)t.current[r]=e[r]},[e]),t.current}let ed=(0,n.createContext)(null);function ec({children:e,className:t,defaultLayout:r,disableCursor:i,disabled:c,elementRef:m,groupRef:f,id:p,onLayoutChange:v,onLayoutChanged:y,orientation:x="horizontal",resizeTargetMinimumSize:S={coarse:20,fine:10},style:w,...C}){let j,k=(0,n.useRef)({onLayoutChange:{},onLayoutChanged:{}}),T=es(e=>{B(k.current.onLayoutChange,e)||(k.current.onLayoutChange=e,v?.(e))}),D=es((e,t)=>{B(k.current.onLayoutChanged,e)||(k.current.onLayoutChanged=e,y?.(e,{isUserInteraction:t}))}),L=ei(p),R=(0,n.useRef)(null),[F,O]=function(){let[e,t]=(0,n.useState)({});return[e,(0,n.useCallback)(()=>t({}),[])]}(),A=(0,n.useRef)({lastExpandedPanelSizes:{},layouts:{},panels:[],resizeTargetMinimumSize:S,separators:[]}),U=el(R,m);j=(0,n.useRef)({getLayout:()=>({}),setLayout:b}),(0,n.useImperativeHandle)(f,()=>j.current,[]),eo(()=>{Object.assign(j.current,H({groupId:L}))});let K=es((e,t)=>{let a=g,n=M(e),i=I(e);if(i){let e=!1;return"active"===a.state&&(e=a.hitRegions.some(e=>e.group===n)),{flexGrow:i.layout[t]??1,pointerEvents:e?"none":void 0}}if(r?.[t])return{flexGrow:r?.[t]}}),Q=eu({defaultLayout:r,disableCursor:i}),_=(0,n.useMemo)(()=>({get disableCursor(){return!!Q.disableCursor},getPanelStyles:K,id:L,orientation:x,registerPanel:e=>{let t=A.current;return t.panels=d(x,[...t.panels,e]),O(),()=>{t.panels=t.panels.filter(t=>t!==e),O()}},registerSeparator:e=>{let t=A.current;return t.separators=d(x,[...t.separators,e]),O(),()=>{t.separators=t.separators.filter(t=>t!==e),O()}},updatePanelProps:(e,{disabled:t})=>{let r=A.current.panels.find(t=>t.id===e);r&&(r.panelConstraints.disabled=t);let a=M(L),n=I(L);a&&n&&N(a,{...n,derivedPanelConstraints:l(a)})},updateSeparatorProps:(e,{disabled:t,disableDoubleClick:r})=>{let a=A.current.separators.find(t=>t.id===e);a&&(a.disabled=t,a.disableDoubleClick=r)}}),[K,L,O,x,Q]),W=(0,n.useRef)(null);return eo(()=>{let e,t,r,a,n,i,d,m,f,p,v,y,b,S=R.current;if(null===S)return;let w=A.current;if(void 0!==Q.defaultLayout&&Object.keys(Q.defaultLayout).length===w.panels.length)for(let t of(e={},w.panels)){let r=Q.defaultLayout[t.id];void 0!==r&&(e[t.id]=r)}let C={disabled:!!c,element:S,id:L,mutableState:{defaultLayout:e,disableCursor:!!Q.disableCursor,expandedPanelSizes:A.current.lastExpandedPanelSizes,layouts:A.current.layouts},orientation:x,panels:w.panels,resizeTargetMinimumSize:w.resizeTargetMinimumSize,separators:w.separators};W.current=C;let j=(t=!0,u(C.element.ownerDocument.defaultView,"Cannot register an unmounted Group"),r=C.element.ownerDocument.defaultView.ResizeObserver,a=new Set,n=new Set,(i=new r(e=>{for(let r of e){let{borderBoxSize:e,target:a}=r;if(a===C.element){if(t){let e=s({group:C});if(0===e)return;let t=I(C.id);if(!t)return;let r=l(C),a=t.defaultLayoutDeferred?ea(r):t.layout,n=q({layout:function({group:e,nextGroupSize:t,prevGroupSize:r,prevLayout:a}){if(r<=0||t<=0||r===t)return a;let n=0,i=0,s=!1,l=new Map,u=[];for(let d of e.panels){let e=a[d.id]??0;if("preserve-pixel-size"===d.panelConstraints.groupResizeBehavior){s=!0;let a=o(e/100*r/t*100);l.set(d.id,a),n+=a}else u.push(d.id),i+=e}if(!s||0===u.length)return a;let d=100-n,c={...a};if(l.forEach((e,t)=>{c[t]=e}),i>0)for(let e of u){let t=a[e]??0;c[e]=o(t/i*d)}else{let e=o(d/u.length);for(let t of u)c[t]=e}return c}({group:C,nextGroupSize:e,prevGroupSize:t.groupSize,prevLayout:a}),panelConstraints:r});if(!t.defaultLayoutDeferred&&B(t.layout,n)&&function(e,t){if(Object.keys(e).length!==Object.keys(t).length)return!1;for(let r in e)if(e[r]!==t[r])return!1;return!0}(t.derivedPanelConstraints,r)&&t.groupSize===e)return;N(C,{defaultLayoutDeferred:!1,derivedPanelConstraints:r,groupSize:e,layout:n,separatorToPanels:t.separatorToPanels})}}else!function(e,t,r){if(!r[0])return;let a=e.panels.find(e=>e.element===t);if(!a||!a.onResize)return;let n=s({group:e}),i="horizontal"===e.orientation?a.element.offsetWidth:a.element.offsetHeight,l=a.mutableValues.prevSize,u={asPercentage:o(i/n*100),inPixels:i};a.mutableValues.prevSize=u,a.onResize(u,a.id,l)}(C,a,e)}})).observe(C.element),C.panels.forEach(e=>{u(!a.has(e.id),`Panel ids must be unique; id "${e.id}" was used more than once`),a.add(e.id),e.onResize&&i.observe(e.element)}),d=s({group:C}),m=l(C),f=C.panels.map(({id:e})=>e).join(","),(p=C.mutableState.defaultLayout)&&(function(e,t){let r=e.map(e=>e.id),a=Object.keys(t);if(r.length!==a.length)return!1;for(let e of r)if(!a.includes(e))return!1;return!0}(C.panels,p)||(p=void 0)),v=q({layout:C.mutableState.layouts[f]??p??ea(m),panelConstraints:m}),y=C.element.ownerDocument,en.set(y,(en.get(y)??0)+1),b=new Map,h(C).forEach(e=>{e.separator&&b.set(e.separator,e.panels)}),N(C,{defaultLayoutDeferred:0===d,derivedPanelConstraints:m,groupSize:d,layout:v,separatorToPanels:b}),C.separators.forEach(e=>{u(!n.has(e.id),`Separator ids must be unique; id "${e.id}" was used more than once`),n.add(e.id),e.element.addEventListener("keydown",Y)}),1===en.get(y)&&(y.addEventListener("contextmenu",E,!0),y.addEventListener("dblclick",G,!0),y.addEventListener("pointerdown",X,!0),y.addEventListener("pointerleave",Z),y.addEventListener("pointermove",ee),y.addEventListener("pointerout",et),y.addEventListener("pointerup",er,!0)),function(){t=!1,en.set(y,Math.max(0,(en.get(y)??0)-1)),(z=new Map(z)).delete(C),C.separators.forEach(e=>{e.element.removeEventListener("keydown",Y)}),en.get(y)||(y.removeEventListener("contextmenu",E,!0),y.removeEventListener("dblclick",G,!0),y.removeEventListener("pointerdown",X,!0),y.removeEventListener("pointerleave",Z),y.removeEventListener("pointermove",ee),y.removeEventListener("pointerout",et),y.removeEventListener("pointerup",er,!0)),i.disconnect()}),{defaultLayoutDeferred:k,derivedPanelConstraints:M,layout:F}=I(C.id,!0);!k&&M.length>0&&(T(F),D(F,!1));let O=P(L,e=>{let{defaultLayoutDeferred:t,derivedPanelConstraints:r,layout:a}=e.next;if(t||0===r.length)return;let n=C.panels.map(({id:e})=>e).join(",");C.mutableState.layouts[n]=a,r.forEach(t=>{if(t.collapsible){let{layout:r}=e.prev??{};if(r){let e=$(t.collapsedSize,a[t.panelId]),n=$(t.collapsedSize,r[t.panelId]);e&&!n&&(C.mutableState.expandedPanelSizes[t.panelId]=r[t.panelId])}}});let i="active"!==g.state;T(a),i&&D(a,e.isUserInteraction)});return()=>{W.current=null,j(),O()}},[c,L,D,T,x,F,Q]),(0,n.useEffect)(()=>{let e=W.current;e&&(e.mutableState.defaultLayout=r,e.mutableState.disableCursor=!!i)}),(0,a.jsx)(ed.Provider,{value:_,children:(0,a.jsx)("div",{...C,className:t,"data-group":!0,"data-testid":L,id:L,ref:U,style:{height:"100%",width:"100%",overflow:"hidden",...w,display:"flex",flexDirection:"horizontal"===x?"row":"column",flexWrap:"nowrap",touchAction:"horizontal"===x?"pan-y":"pan-x"},children:e})})}function em(e,t){return`react-resizable-panels:${[e,...t].join(":")}`}function ef(){return function(){}}function ep(){let e=(0,n.useContext)(ed);return u(e,"Group Context not found; did you render a Panel or Separator outside of a Group?"),e}function eh({children:e,className:t,collapsedSize:r="0%",collapsible:i=!1,defaultSize:o,disabled:s,elementRef:l,groupResizeBehavior:u="preserve-relative-size",id:d,maxSize:c="100%",minSize:m="0%",onResize:f,panelRef:p,style:h,...v}){let g,y=!!d,x=ei(d),b=eu({disabled:s}),w=(0,n.useRef)(null),C=el(w,l),{getPanelStyles:j,id:z,orientation:k,registerPanel:M,updatePanelProps:I}=ep(),N=null!==f,T=es((e,t,r)=>{f?.(e,d,r)});eo(()=>{let e=w.current;if(null!==e)return M({element:e,id:x,idIsStable:y,mutableValues:{expandToSize:void 0,prevSize:void 0},onResize:N?T:void 0,panelConstraints:{groupResizeBehavior:u,collapsedSize:r,collapsible:i,defaultSize:o,disabled:b.disabled,maxSize:c,minSize:m}})},[u,r,i,o,N,x,y,c,m,T,M,b]),(0,n.useEffect)(()=>{I(x,{disabled:s})},[s,x,I]),function(e,t){let{id:r}=ep(),a=(0,n.useRef)({collapse:S,expand:S,getSize:()=>({asPercentage:0,inPixels:0}),isCollapsed:()=>!1,resize:S});(0,n.useImperativeHandle)(t,()=>a.current,[]),eo(()=>{Object.assign(a.current,_({groupId:r,panelId:e}))})}(x,p);let E=()=>{let e=j(z,x);if(e)return JSON.stringify(e)},D=(0,n.useSyncExternalStore)(e=>P(z,e),E,E);return g=D?JSON.parse(D):void 0!==o?{flexGrow:void 0,flexShrink:void 0,flexBasis:o}:{flexGrow:1},(0,a.jsx)("div",{...v,"data-disabled":s||void 0,"data-panel":!0,"data-testid":x,id:x,ref:C,style:{...ev,display:"flex",flexBasis:0,flexShrink:1,overflow:"visible",...g},children:(0,a.jsx)("div",{className:t,style:{maxHeight:"100%",maxWidth:"100%",flexGrow:1,overflow:"auto",...h,touchAction:"horizontal"===k?"pan-y":"pan-x"},children:e})})}ec.displayName="Group",eh.displayName="Panel";let ev={minHeight:0,maxHeight:"100%",height:"auto",minWidth:0,maxWidth:"100%",width:"auto",border:"none",borderWidth:0,padding:0,margin:0};function eg({children:e,className:t,disabled:r,disableDoubleClick:i,elementRef:o,id:s,style:l,...u}){let d,c,m=ei(s),f=eu({disabled:r,disableDoubleClick:i}),[p,h]=(0,n.useState)({}),[v,g]=(0,n.useState)("inactive"),[x,b]=(0,n.useState)(!1),S=(0,n.useRef)(null),w=el(S,o),{disableCursor:C,id:j,orientation:z,registerSeparator:k,updateSeparatorProps:M}=ep();return eo(()=>{let e=S.current;if(null!==e){var t;let r={disabled:f.disabled,disableDoubleClick:f.disableDoubleClick,element:e,id:m},a=k(r),n=(t=e=>{g("inactive"!==e.next.state&&e.next.hitRegions.some(e=>e.separator===r)?e.next.state:"inactive")},y.addListener("change",t)),i=P(j,e=>{let{derivedPanelConstraints:t,layout:a,separatorToPanels:n}=e.next,i=n.get(r);if(i){let e=i[0],r=i.indexOf(e);h(function({layout:e,panelConstraints:t,panelId:r,panelIndex:a}){let n,i,o=e[r],s=t.find(e=>e.panelId===r);if(s){let l=s.maxSize,u=s.collapsible?s.collapsedSize:s.minSize,d=[a,a+1];i=q({layout:Q({delta:u-o,initialLayout:e,panelConstraints:t,pivotIndices:d,prevLayout:e}),panelConstraints:t})[r],n=q({layout:Q({delta:l-o,initialLayout:e,panelConstraints:t,pivotIndices:d,prevLayout:e}),panelConstraints:t})[r]}return{valueControls:r,valueMax:n,valueMin:i,valueNow:o}}({layout:a,panelConstraints:t,panelId:e.id,panelIndex:r}))}});return()=>{n(),i(),a()}}},[j,m,k,f]),(0,n.useEffect)(()=>{M(m,{disabled:r,disableDoubleClick:i})},[r,i,m,M]),r&&!C&&(d="not-allowed"),c=r?"disabled":"active"===v?"active":x?"focus":v,(0,a.jsx)("div",{...u,"aria-controls":p.valueControls,"aria-disabled":r||void 0,"aria-orientation":"horizontal"===z?"vertical":"horizontal","aria-valuemax":p.valueMax,"aria-valuemin":p.valueMin,"aria-valuenow":p.valueNow,children:e,className:t,"data-separator":c,"data-testid":m,id:m,onBlur:()=>b(!1),onFocus:()=>b(!0),ref:w,role:"separator",style:{flexBasis:"auto",cursor:d,...l,flexGrow:0,flexShrink:0,touchAction:"none"},tabIndex:r?void 0:0})}eg.displayName="Separator",e.s(["Group",0,ec,"Panel",0,eh,"Separator",0,eg,"useDefaultLayout",0,function({debounceSaveMs:e=100,onlySaveAfterUserInteractions:t,panelIds:r,storage:a=localStorage,...i}){let o=void 0!==r,s="id"in i?i.id:i.groupId,l=em(s,r??[]),u=(0,n.useSyncExternalStore)(ef,()=>a.getItem(l),()=>a.getItem(l)),d=(0,n.useMemo)(()=>{if(u){let e=JSON.parse(u);if(Array.from(Object.values(e)).every(e=>"number"==typeof e))return e}},[u]),c=(0,n.useMemo)(()=>{if(!d)return function({id:e,panelIds:t,storage:r}){let a=em(e,[]),n=r.getItem(a);if(n)try{let e=JSON.parse(n);if(t){let r=e[t.join(",")];if(r&&Array.isArray(r.layout)&&t.length===r.layout.length){let e={};for(let a=0;a<t.length;a++)e[t[a]]=r.layout[a];return e}}else{let t=Object.keys(e);if(1===t.length){let r=e[t[0]];if(r&&Array.isArray(r.layout)){let e=t[0].split(",");if(e.length===r.layout.length){let t={};for(let a=0;a<e.length;a++)t[e[a]]=r.layout[a];return t}}}}}catch{}}({id:s,panelIds:r,storage:a})},[d,s,r,a]),m=d??c,f=(0,n.useRef)(null),p=(0,n.useCallback)(()=>{let e=f.current;e&&(f.current=null,clearTimeout(e))},[]);(0,n.useLayoutEffect)(()=>()=>{p()},[p]);let h=(0,n.useCallback)((e,r)=>{let n;if(!t||r.isUserInteraction){p(),n=o?em(s,Object.keys(e)):em(s,[]);try{a.setItem(n,JSON.stringify(e))}catch(e){console.error(e)}}},[p,o,s,t,a]);return{defaultLayout:m,onLayoutChange:(0,n.useCallback)(t=>{p(),0===e?h(t,{isUserInteraction:!1}):f.current=setTimeout(()=>{h(t,{isUserInteraction:!1})},e)},[p,e,h]),onLayoutChanged:h}}],324785);var ey=e.i(613349);e.s(["ResizableHandle",0,function({withHandle:e,className:t,...r}){return(0,a.jsx)(eg,{"data-slot":"resizable-handle",className:(0,ey.cn)("relative flex w-px items-center justify-center bg-border ring-offset-background after:absolute after:inset-y-0 after:left-1/2 after:w-1 after:-translate-x-1/2 focus-visible:ring-1 focus-visible:ring-ring focus-visible:outline-hidden aria-[orientation=horizontal]:h-px aria-[orientation=horizontal]:w-full aria-[orientation=horizontal]:after:left-0 aria-[orientation=horizontal]:after:h-1 aria-[orientation=horizontal]:after:w-full aria-[orientation=horizontal]:after:translate-x-0 aria-[orientation=horizontal]:after:-translate-y-1/2 [&[aria-orientation=horizontal]>div]:rotate-90",t),...r,children:e&&(0,a.jsx)("div",{className:"z-10 flex h-6 w-1 shrink-0 rounded-lg bg-border"})})},"ResizablePanel",0,function({...e}){return(0,a.jsx)(eh,{"data-slot":"resizable-panel",...e})},"ResizablePanelGroup",0,function({className:e,...t}){return(0,a.jsx)(ec,{"data-slot":"resizable-panel-group",className:(0,ey.cn)("flex h-full w-full aria-[orientation=vertical]:flex-col",e),...t})}],888917)},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:n="horizontal",...i}){return(0,t.jsx)(r.Separator,{"data-slot":"separator",orientation:n,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),...i})}])},797473,e=>{"use strict";var t=e.i(457725),r=e.i(838181),a=e.i(849050),n=e.i(374402);function i(e,a){let i=(0,r.useQueryClient)();return(0,t.useMutation)({mutationFn:async({friendshipId:t})=>{await e(t)},onMutate:async e=>{let t=n.communityKeys.friends();await i.cancelQueries({queryKey:t});let r=i.getQueryData(t);return i.setQueryData(t,t=>a(t,e.friendshipId)),{snapshot:r}},onError:(e,t,r)=>{r?.snapshot&&i.setQueryData(n.communityKeys.friends(),r.snapshot)},onSuccess:()=>{i.invalidateQueries({queryKey:n.communityKeys.friends()})}})}e.s(["useAcceptFriendRequest",0,function(){return i(e=>(0,a.apiFetch)(`/api/community/friends/${e}/accept`,{method:"POST"}),(e,t)=>e?{...e,pending:e.pending.filter(e=>e.id!==t)}:e)},"useBlockUser",0,function(){let e=(0,r.useQueryClient)();return(0,t.useMutation)({mutationFn:async({userId:e})=>{await (0,a.apiFetch)(`/api/community/users/${e}/block`,{method:"POST"})},onSuccess:()=>{e.invalidateQueries({queryKey:n.communityKeys.friends()})}})},"useCancelBotFriendRequest",0,function(){let e=(0,r.useQueryClient)();return(0,t.useMutation)({mutationFn:async({requestId:e})=>{await (0,a.apiFetch)(`/api/community/friends/${e}`,{method:"DELETE"})},onMutate:async({requestId:t})=>{let r=n.communityKeys.friends();await e.cancelQueries({queryKey:r});let a=e.getQueryData(r);return e.setQueryData(r,e=>e?{...e,pending:e.pending.filter(e=>e.id!==t)}:e),{snapshot:a}},onError:(t,r,a)=>{a?.snapshot&&e.setQueryData(n.communityKeys.friends(),a.snapshot)},onSuccess:()=>{e.invalidateQueries({queryKey:n.communityKeys.friends()})}})},"useOwnerDecision",0,function(){let e=(0,r.useQueryClient)();return(0,t.useMutation)({mutationFn:async({friendshipId:e,decision:t})=>{await (0,a.apiFetch)(`/api/community/friends/${e}/owner-decision`,{method:"POST",body:JSON.stringify({decision:t})})},onSuccess:()=>{e.invalidateQueries({queryKey:n.communityKeys.friends()})}})},"useRejectFriendRequest",0,function(){return i(e=>(0,a.apiFetch)(`/api/community/friends/${e}/reject`,{method:"POST"}),(e,t)=>e?{...e,pending:e.pending.filter(e=>e.id!==t)}:e)},"useRemoveFriend",0,function(){return i(e=>(0,a.apiFetch)(`/api/community/friends/${e}`,{method:"DELETE"}),(e,t)=>e?{...e,friends:e.friends.filter(e=>e.id!==t)}:e)},"useSendFriendRequest",0,function(){let e=(0,r.useQueryClient)();return(0,t.useMutation)({mutationFn:async({username:e,userId:t})=>{await (0,a.apiFetch)("/api/community/friends/request",{method:"POST",body:JSON.stringify({userId:t,username:e})})},onSuccess:()=>{e.invalidateQueries({queryKey:n.communityKeys.friends()})}})},"useUnblockUser",0,function(){let e=(0,r.useQueryClient)();return(0,t.useMutation)({mutationFn:async({userId:e})=>{await (0,a.apiFetch)(`/api/community/users/${e}/unblock`,{method:"POST"})},onMutate:async t=>{let r=n.communityKeys.friends();await e.cancelQueries({queryKey:r});let a=e.getQueryData(r);return e.setQueryData(r,e=>e?{...e,blocked:e.blocked.filter(e=>(e.userId??e.id)!==t.userId)}:e),{snapshot:a}},onError:(t,r,a)=>{a?.snapshot&&e.setQueryData(n.communityKeys.friends(),a.snapshot)},onSuccess:()=>{e.invalidateQueries({queryKey:n.communityKeys.friends()})}})}])},462553,e=>{"use strict";var t=e.i(457725),r=e.i(838181),a=e.i(849050),n=e.i(374402),i=e.i(280958),o=e.i(923533),s=e.i(357439);function l(e){s.useMessageStreamStore.getState().removeServer(e);let t=o.useCommunityStore.getState();t.currentServerId===e&&(t.setCurrentChannelMeta(null),t.setCurrentChannelId(null),t.setCurrentServerId(null))}e.s(["useCreateServer",0,function(){let e=(0,r.useQueryClient)();return(0,t.useMutation)({mutationFn:async({name:e})=>(0,a.apiFetch)("/api/community/servers",{method:"POST",body:JSON.stringify({name:e})}),onSuccess:()=>{e.invalidateQueries({queryKey:n.communityKeys.servers()})}})},"useDeleteServer",0,function(){let e=(0,r.useQueryClient)();return(0,t.useMutation)({mutationFn:async({serverId:e})=>{await (0,a.apiFetch)(`/api/community/servers/${e}`,{method:"DELETE"})},onMutate:async t=>{let r=n.communityKeys.servers();await e.cancelQueries({queryKey:r});let a=e.getQueryData(r);return e.setQueryData(r,e=>e?{...e,servers:e.servers.filter(e=>e.id!==t.serverId)}:e),{snapshot:a}},onError:(t,r,a)=>{a?.snapshot&&e.setQueryData(n.communityKeys.servers(),a.snapshot)},onSuccess:(t,r)=>{e.removeQueries({queryKey:n.communityKeys.server(r.serverId)}),l(r.serverId)}})},"useJoinServer",0,function(){let e=(0,r.useQueryClient)();return(0,t.useMutation)({mutationFn:async({inviteCode:e})=>{let t=e.trim();try{let e=new URL(t).pathname.split("/").filter(Boolean),r=e.indexOf("invite");-1!==r&&e[r+1]&&(t=e[r+1])}catch{}return(0,a.apiFetch)(`/api/community/invites/${t}/join`,{method:"POST"})},onSuccess:()=>{e.invalidateQueries({queryKey:n.communityKeys.servers()})}})},"useLeaveServer",0,function(){let e=(0,r.useQueryClient)();return(0,t.useMutation)({mutationFn:async({serverId:e})=>{await (0,a.apiFetch)(`/api/community/servers/${e}/leave`,{method:"POST"})},onMutate:async t=>{let r=n.communityKeys.servers();await e.cancelQueries({queryKey:r});let a=e.getQueryData(r);return e.setQueryData(r,e=>e?{...e,servers:e.servers.filter(e=>e.id!==t.serverId)}:e),{snapshot:a}},onError:(t,r,a)=>{a?.snapshot&&e.setQueryData(n.communityKeys.servers(),a.snapshot)},onSuccess:(t,r)=>{e.removeQueries({queryKey:n.communityKeys.server(r.serverId)}),l(r.serverId)}})},"useUpdateServer",0,function(){let e=(0,r.useQueryClient)();return(0,t.useMutation)({mutationFn:async({serverId:e,name:t,description:r})=>{await (0,a.apiFetch)(`/api/community/servers/${e}`,{method:"PATCH",body:JSON.stringify({name:t,description:r})})},onMutate:async t=>{let r=n.communityKeys.server(t.serverId),a=n.communityKeys.servers();await Promise.all([e.cancelQueries({queryKey:r}),e.cancelQueries({queryKey:a})]);let o=e.getQueryData(r),s=e.getQueryData(a);return e.setQueryData(r,e=>e?{...e,name:t.name,description:t.description}:e),e.setQueryData(a,e=>e?{...e,servers:e.servers.map(e=>e.id===t.serverId?{...e,name:t.name,initial:(0,i.avatarInitial)(t.name)}:e)}:e),{serverSnap:o,listSnap:s}},onError:(t,r,a)=>{a?.serverSnap&&e.setQueryData(n.communityKeys.server(r.serverId),a.serverSnap),a?.listSnap&&e.setQueryData(n.communityKeys.servers(),a.listSnap)}})},"useUploadServerIcon",0,function(){let e=(0,r.useQueryClient)();return(0,t.useMutation)({mutationFn:async({serverId:e,file:t})=>{let r=new FormData;r.append("file",t);let n=await fetch(`/api/community/servers/${e}/icon`,{method:"POST",body:r,credentials:"include"});if(!n.ok)throw await (0,a.readUploadError)(n,"Upload failed");return await n.json()},onSuccess:(t,r)=>{let a=`${t.url}?t=${Date.now()}`;e.setQueryData(n.communityKeys.server(r.serverId),e=>e?{...e,icon:a}:e),e.setQueryData(n.communityKeys.servers(),e=>e?{...e,servers:e.servers.map(e=>e.id===r.serverId?{...e,icon:a}:e)}:e)}})}])},459663,e=>{"use strict";var t=e.i(579848),r=e.i(849050),a=e.i(188946),n=e.i(357439);e.i(384302);var i=e.i(97737),o=e.i(664501);e.s(["useDmMessageSender",0,function(){let{mutateAsync:e}=(0,o.useUploadFile)(),{mutateAsync:s}=(0,i.useSendDmMessage)(),l=(0,t.useCallback)(async(t,a)=>{let l,u={kind:"dm",id:t},d=n.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&&(l=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&&!l){let n=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(n.some(e=>null===e))return d.dispatch(u,{type:"uploadFailed",nonce:a}),{ok:!1,error:Error("Failed to attach file")};l=(0,o.zipUploadResultsWithDimensions)(n,[...c.localUploads]),d.dispatch(u,{type:"uploadSettled",nonce:a,attachments:l.map(e=>(0,i.toAttachmentVm)(t,e))})}try{let e=await s({dmId:t,content:c.message.content??"",replyToId:c.message.replyTo?.id,attachments:l,nonce:a});return{ok:!0,message:e.message}}catch(e){return{ok:!1,error:e instanceof Error?e:Error("Failed to send message")}}},[s,e]);return{accept:(0,t.useCallback)(e=>{if(!e.content&&!e.attachments?.length)return{accepted:!1};let t=e.nonce??(0,i.sendNonce)(),r=[];if(!n.useMessageStreamStore.getState().accept({kind:"dm",id:e.dmId},{nonce:t,tempId:(0,i.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:l(e.dmId,t)}},[l]),retry:(0,t.useCallback)((e,t)=>(n.useMessageStreamStore.getState().dispatch({kind:"dm",id:e},{type:"retry",nonce:t}),l(e,t)),[l])}}])},47749,e=>{"use strict";var t=e.i(814001),r=e.i(700519),a=e.i(849050),n=e.i(374402);class i extends Error{constructor(){super("stale D1 read"),this.name="StaleReadError"}}function o(e){if(e?.stale)throw new i;return e}let s=Object.freeze([]),l=Object.freeze([]),u=Object.freeze([]),d=async()=>{let[e,t,r]=await Promise.all([(0,a.apiFetch)("/api/community/friends/accepted").then(o),(0,a.apiFetch)("/api/community/friends/blocked").then(o),(0,a.apiFetch)("/api/community/friends/pending").then(o)]);return{friends:e.friends,blocked:t.blocked,pending:r.pending}},c=()=>(0,a.apiFetch)("/api/community/friends/presence").then(o),m=Object.freeze([]);e.s(["useFriends",0,function(){let e=(0,t.useQuery)({queryKey:n.communityKeys.friends(),queryFn:d,placeholderData:r.keepPreviousData});return{...e,friends:e.data?.friends??s,pending:e.data?.pending??l,blocked:e.data?.blocked??u}},"useFriendsPresence",0,function(){let e=(0,t.useQuery)({queryKey:n.communityKeys.friendsPresence(),queryFn:c,placeholderData:r.keepPreviousData});return{...e,online:e.data?.online??m}}])},971434,e=>{"use strict";function t(e,t,r){return e?"online":t?r.has(t)?"online":"offline":void 0}e.s(["resolveProfilePresence",0,t,"resolveRowPresence",0,function(e,r,a){let n=e.userId??e.id??void 0;return t(!!n&&!!a&&n===a,n,r)??"offline"}])},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 +0,0 @@
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 g=(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 p=e.i(280767),f=e.i(186339),x=e.i(973733),v=e.i(875061),b=e.i(728886),y=e.i(531342),j=e.i(651186),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,g]=(0,n.useState)(!1),p=(0,n.useRef)(!1),x=(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=()=>x.current?.focusEditor(),P=async(t,a,n)=>{if(j&&!p.current){p.current=!0,g(!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(),x.current?.resetAfterSubmit(),c("")}catch(e){(0,s.toastApiError)(e,"Failed to upload attachment")}finally{p.current=!1,g(!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:x,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:()=>x.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)(f.Button,{size:"sm",onClick:()=>x.current?.submitNow(),disabled:!j||h,children:h?"Creating…":"Create post"})]})]})}var E=e.i(779646),P=e.i(903477),F=e.i(381153);function O({open:e,onOpenChange:a,postName:s,current:r,allTags:i,onSave:l,saving:o}){let[d,c]=(0,n.useState)(r),[u,m]=(0,n.useState)(""),h=()=>{let e=u.trim().toLowerCase();m(""),!e||d.includes(e)||c(t=>[...t,e])},g=[...new Set([...i,...d])].sort();return(0,t.jsx)(E.Dialog,{open:e,onOpenChange:a,children:(0,t.jsxs)(E.DialogContent,{className:"max-w-sm","data-testid":F.tid.forumTagDialog,children:[(0,t.jsxs)(E.DialogHeader,{children:[(0,t.jsx)(E.DialogTitle,{children:"Edit tags"}),(0,t.jsxs)(E.DialogDescription,{children:["Tag “",s,"” to help others find it."]})]}),(0,t.jsx)("div",{className:"flex flex-wrap items-center gap-2",children:0===g.length?(0,t.jsx)("p",{className:"text-sm text-muted-foreground",children:"No tags yet. Add the first one below."}):g.map(e=>(0,t.jsxs)(v.Badge,{variant:d.includes(e)?"default":"secondary",className:"cursor-pointer",render:(0,t.jsx)("button",{type:"button",onClick:()=>c(t=>t.includes(e)?t.filter(t=>t!==e):[...t,e])}),children:[`#${e}`,d.includes(e)&&(0,t.jsx)(w.X,{className:"ml-1 size-3"})]},e))}),(0,t.jsxs)("div",{className:"flex items-center gap-2",children:[(0,t.jsx)(P.Input,{value:u,onChange:e=>m(e.target.value),onKeyDown:(0,k.onEnterSubmit)(h),placeholder:"new-tag",className:"h-9"}),(0,t.jsx)(f.Button,{type:"button",variant:"secondary",size:"sm",onClick:h,disabled:!u.trim(),children:"Add"})]}),(0,t.jsxs)(E.DialogFooter,{children:[(0,t.jsx)(f.Button,{variant:"ghost",onClick:()=>a(!1),children:"Cancel"}),(0,t.jsx)(f.Button,{"data-testid":F.tid.forumTagDialogSave,onClick:()=>l(d),disabled:o,children:"Save tags"})]})]})})}var L=e.i(393153),U=e.i(393736),D=e.i(42308);function z({forumChannelId:e,members:a,onSearchMembers:s,posts:r,loading:i,tag:l,availableTags:o=[],onTagChange:b,onOpenPost:C,onCreatePost:S,onEditPostTags:w,canEditPostTags:I,savingTagsFor:M,hasMore:k,loadingMore:T,onLoadMore:A,onDeletePost:E,canDeletePost:P,deletingPost:$}){let[K,B]=(0,n.useState)(!1),[H,_]=(0,n.useState)(null),[Q,V]=(0,n.useState)(null),W=(0,n.useRef)(null),J=(0,n.useRef)(null),G=(0,n.useRef)(null),X=(0,d.useVirtualizer)({...c.COMMUNITY_VIRTUALIZER_REACT_OPTIONS,count:r.length,getScrollElement:()=>J.current,estimateSize:()=>160,getItemKey:e=>r[e]?.id??e,overscan:5,initialRect:{width:0,height:800}}),Y=o.length>0?o:[...new Set(r.flatMap(e=>e.tags))];(0,n.useLayoutEffect)(()=>{0!==r.length&&G.current!==l&&(G.current=l,X.scrollToIndex(0,{align:"start"}))},[r.length,l,X]);let Z=(0,D.useVirtualCursorSentinel)({scrollRef:J,hasMore:k,isFetching:T,onLoad:A,edge:"end"}),ee=()=>{B(!1),queueMicrotask(()=>W.current?.focus())};return(0,t.jsxs)(t.Fragment,{children:[K?(0,t.jsx)(R,{forumChannelId:e,members:a,onSearchMembers:s,onCancel:ee,onCreatePost:async e=>{S&&(await S(e),ee())}}):(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:Y.length>0&&(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(v.Badge,{variant:"All"===l?"default":"secondary",className:"shrink-0 cursor-pointer",render:(0,t.jsx)("button",{onClick:()=>b("All")}),children:"All"}),Y.map(e=>(0,t.jsx)(v.Badge,{variant:l===e?"default":"secondary",className:"shrink-0 cursor-pointer","data-testid":F.tid.forumTagChip(e),render:(0,t.jsx)("button",{onClick:()=>b(e)}),children:`#${e}`},e))]})}),(0,t.jsx)("div",{className:"flex shrink-0 items-center gap-1",children:(0,t.jsxs)(f.Button,{size:"sm",ref:W,onClick:()=>B(!0),children:[(0,t.jsx)(h.Plus,{className:"size-4"})," New Post"]})})]}),(0,t.jsx)("div",{ref:J,role:"main",className:"flex-1 overflow-y-auto thin-scrollbar p-4",children:i&&0===r.length?(0,t.jsx)(q,{}):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)(U.VirtualRows,{items:r,virtualizer:X,itemKey:e=>e.id,renderItem:e=>{let a=!!w&&(I?.(e)??!1),n=!!E&&(P?.(e)??!1),s=e.participants.filter(t=>t.id!==e.authorId),r=s.slice(0,5),i=Math.max(0,e.participantCount-1-r.length);return(0,t.jsxs)("div",{role:"button",tabIndex:0,"data-testid":F.tid.forumThreadCard(e.id),onClick:()=>C(e.id),onKeyDown:t=>{("Enter"===t.key||" "===t.key)&&(t.preventDefault(),C(e.id))},className:"group/card mb-3 flex cursor-pointer flex-col gap-2 rounded-lg border border-border bg-card p-4 text-left transition-colors hover:border-primary/40 hover:bg-accent/40",children:[(0,t.jsxs)("div",{className:"flex items-center gap-2",children:[(0,t.jsx)(y.Avatar,{label:e.authorAvatar,seed:e.authorId,size:24}),(0,t.jsx)("span",{className:"text-xs font-medium text-foreground",suppressHydrationWarning:!0,children:e.parent.authorName||"Unknown"}),(0,t.jsxs)("span",{className:"text-xs text-muted-foreground",suppressHydrationWarning:!0,children:["· ",(0,x.formatRelativeTime)(e.lastMessageAt)]}),s.length>0&&(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)("span",{className:"h-4 w-px shrink-0 bg-border","aria-hidden":!0}),(0,t.jsxs)(j.AvatarGroup,{"data-testid":F.tid.forumThreadAvatars(e.id),children:[r.map(e=>(0,t.jsx)(y.Avatar,{label:e.avatar,seed:e.id,size:24,ringColor:"var(--card)"},e.id)),i>0&&(0,t.jsxs)(j.AvatarGroupCount,{className:"size-6 text-[11px]",children:["+",i]})]})]}),a&&(0,t.jsx)("button",{type:"button","data-testid":F.tid.forumThreadTagBtn(e.id),onClick:t=>{t.stopPropagation(),_(e)},className:"ml-auto grid size-6 shrink-0 place-items-center rounded-md text-muted-foreground opacity-0 transition-opacity hover:bg-accent hover:text-foreground focus-visible:opacity-100 group-hover/card:opacity-100","aria-label":"Edit tags",children:(0,t.jsx)(g,{className:"size-4"})}),n&&(0,t.jsx)("button",{type:"button","data-testid":F.tid.forumThreadDeleteBtn(e.id),disabled:$===e.id,onClick:t=>{t.stopPropagation(),V(e)},className:`${a?"":"ml-auto "}grid size-6 shrink-0 place-items-center rounded-md text-muted-foreground opacity-0 transition-opacity hover:bg-accent hover:text-destructive focus-visible:opacity-100 group-hover/card:opacity-100 disabled:cursor-not-allowed disabled:opacity-50`,"aria-label":"Delete post",children:(0,t.jsx)(p.Trash2,{className:"size-4"})})]}),(0,t.jsx)("h3",{className:"line-clamp-1 text-[15px] font-semibold leading-tight",children:e.name}),(0,t.jsx)("p",{className:"line-clamp-2 text-sm text-muted-foreground",children:e.preview}),(0,t.jsxs)("div",{className:"flex items-center gap-2",children:[e.tags.length>0&&e.tags.map(e=>(0,t.jsxs)(v.Badge,{variant:"secondary",children:["#",e]},e)),(0,t.jsxs)("span",{className:"ml-auto flex items-center gap-1 text-xs text-muted-foreground",children:[(0,t.jsx)(u.MessagesSquare,{className:"size-3.5"})," ",Math.max(0,e.messageCount)]})]})]},e.id)}}),(0,t.jsx)("div",{ref:Z,className:"h-px","aria-hidden":!0})]})}),H&&(0,t.jsx)(O,{open:!0,onOpenChange:e=>{e||_(null)},postName:H.name,current:H.tags,allTags:o,saving:M===H.id,onSave:e=>{w?.(H.id,e),_(null)}}),Q&&(0,t.jsx)(L.ConfirmDialog,{open:!0,onOpenChange:e=>{e||V(null)},title:"Delete post?",description:`This permanently deletes “${Q.name}” and all of its replies. This can't be undone.`,confirmLabel:"Delete post",onConfirm:()=>{V(null),E?.(Q)}})]})}function q(){return(0,t.jsx)("div",{className:"flex flex-col gap-3",children:Array.from({length:3}).map((e,a)=>(0,t.jsxs)("div",{className:"flex flex-col gap-2 rounded-lg border border-border bg-card p-4",children:[(0,t.jsxs)("div",{className:"flex items-center gap-2",children:[(0,t.jsx)(b.Skeleton,{className:"size-6 shrink-0 rounded-full"}),(0,t.jsx)(b.Skeleton,{className:"h-3 w-40 rounded"})]}),(0,t.jsx)(b.Skeleton,{className:"h-4 w-2/3 rounded"}),(0,t.jsxs)("div",{className:"space-y-2",children:[(0,t.jsx)(b.Skeleton,{className:"h-3 w-full rounded"}),(0,t.jsx)(b.Skeleton,{className:"h-3 w-5/6 rounded"})]}),(0,t.jsxs)("div",{className:"flex items-center gap-2",children:[(0,t.jsx)(b.Skeleton,{className:"h-5 w-14 rounded-full"}),(0,t.jsx)(b.Skeleton,{className:"h-5 w-12 rounded-full"}),(0,t.jsx)(b.Skeleton,{className:"ml-auto h-3 w-10 rounded"})]})]},a))})}function $(){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)(b.Skeleton,{className:"h-5 w-10 rounded-full"}),(0,t.jsx)(b.Skeleton,{className:"h-5 w-16 rounded-full"}),(0,t.jsx)(b.Skeleton,{className:"h-5 w-14 rounded-full"}),(0,t.jsx)(b.Skeleton,{className:"h-5 w-20 rounded-full"})]}),(0,t.jsx)("div",{className:"flex shrink-0 items-center gap-1",children:(0,t.jsx)(b.Skeleton,{className:"h-8 w-25 rounded-md"})})]}),(0,t.jsx)("main",{className:"flex-1 overflow-y-auto thin-scrollbar p-4",children:(0,t.jsx)(q,{})})]})}var K=e.i(814001),B=e.i(374402);function H(e){let t=(0,K.useQuery)({queryKey:e?B.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 _=e.i(97737),Q=e.i(183899),V=e.i(838181),W=e.i(507892);function J({channelId:e,serverId:t,isChildChannel:a,snapshotReady:r}){let i=(0,V.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:B.communityKeys.inbox()}),t&&a?((0,W.removeForumSidebarUnreadChild)(i,t,e),(0,W.patchForumSidebarUnreadExact)(i,t,e,!1)):t&&(0,W.setForumSidebarParentUnreadBase)(i,t,e,!1),!t)return;let n=i.getQueryData(B.communityKeys.servers());n?.servers.some(e=>e.id===t&&e.mentions>0)&&i.invalidateQueries({queryKey:B.communityKeys.servers(),exact:!0})}).catch(()=>{}))},[e,t,a,r,i])}var G=e.i(850441),X=e.i(960092);function Y({channelId:e,serverId:t,viewerUserId:a,isChildChannel:s,anchorMessageId:r}){let i=H(e),l=i.snapshot,o=(0,G.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,Q.useCurrentUser)().id,r=(0,_.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,_.flushPendingReads)()},[e])}({channelId:e,messages:o.messages,scrollRootEl:u}),J({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]),g=(0,X.useThreads)(e),p=(0,X.usePins)(e);return{...o,readSnapshot:l,readSnapshotFetching:i.isFetching,newDividerBefore:d,anchorInCache:c,unreadCount:h,scrollRootEl:u,setScrollRootEl:m,threads:g.threads,threadsLoading:g.isLoading,pinned:p.pins,pinnedLoading:p.isLoading}}function Z({header:e,body:a,panels:n,dialogs:s}){return(0,t.jsxs)(t.Fragment,{children:[e,a,n,s]})}var ee=e.i(332680),et=e.i(288329),ea=e.i(253151),en=e.i(935690),es=e.i(737025),er=e.i(687075);function ei({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)(er.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 el=e.i(813217),eo=e.i(889739),ed=e.i(961560),ec=e.i(560976),eu=e.i(643733),em=e.i(607711),eh=e.i(39185);e.i(575084);var eg=e.i(567894),ep=e.i(846367);let ef=["admin","member"];function ex({members:e,loading:a,hasMore:r,loadingMore:i,onLoadMore:l,onSearch:o,onAddMember:u,manageContext:m,myRole:h,onOpenProfile:g,onSetRole:p,onKick:f}){let[x,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,eg.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,eg.isServerOwner)(e.role)),a=e.filter(e=>e.role===eg.ROLES.ADMIN),[{label:"Owner",list:t},{label:"Admin",list:a},{label:"Online",list:(n=e.filter(e=>e.role===eg.ROLES.MEMBER)).filter(e=>(0,ep.isPresenceOnline)(e.status))},{label:"Offline",list:n.filter(e=>(0,ep.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),E=(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)(eb,{}):(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(L.ConfirmDialog,{open:!!x,onOpenChange:e=>{e||b||v(null)},title:`Kick ${x?.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(x){y(!0);try{await f?.(x.memberId),v(null)}catch(e){(0,s.toastApiError)(e,"Failed to kick member")}finally{y(!1)}}}}),j&&(0,t.jsx)(L.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)(es.Search,{className:"absolute left-2 top-1/2 size-4 -translate-y-1/2 text-muted-foreground"}),(0,t.jsx)(P.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)(ec.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:E.containerRef,style:{position:"relative",width:"100%"},children:E.getVirtualItems().map(e=>{let a=k[e.index];return(0,t.jsx)("div",{role:"listitem","data-index":e.index,ref:E.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)(ev,{mem:a.member,canManage:M,showDiscriminator:T.has(a.member.name.toLowerCase()),onOpenProfile:g,onSetRole:p,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 ev({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":F.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)(y.Avatar,{label:e.avatar,seed:e.userId,size:32,presence:e.status,dim:(0,ep.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,ep.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,eh.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)(em.ContextMenu,{children:[(0,t.jsx)(em.ContextMenuTrigger,{render:c}),(0,t.jsxs)(em.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)(em.ContextMenuItem,{onClick:()=>l("leave",e),className:"text-destructive data-highlighted:bg-destructive/10 data-highlighted:text-destructive",children:[(0,t.jsx)(eu.LogOut,{className:"size-4"})," Leave"]}):(0,t.jsxs)(em.ContextMenuItem,{onClick:()=>l("remove",e),className:"text-destructive data-highlighted:bg-destructive/10 data-highlighted:text-destructive",children:[(0,t.jsx)(eo.UserMinus,{className:"size-4"})," Remove ",e.name]})]})]}):c}return(d=e.role,a&&"owner"!==d)?(0,t.jsxs)(em.ContextMenu,{children:[(0,t.jsx)(em.ContextMenuTrigger,{render:c}),(0,t.jsxs)(em.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)(em.ContextMenuSub,{children:[(0,t.jsxs)(em.ContextMenuSubTrigger,{children:[(0,t.jsx)(el.Shield,{className:"size-4"}),"Role"]}),(0,t.jsx)(em.ContextMenuSubContent,{children:ef.map(a=>(0,t.jsxs)(em.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)(ed.Check,{className:"size-4"})]},a))})]}),(0,t.jsx)(em.ContextMenuSeparator,{}),(0,t.jsxs)(em.ContextMenuItem,{onClick:()=>i(e),className:"text-destructive data-highlighted:bg-destructive/10 data-highlighted:text-destructive",children:[(0,t.jsx)(eo.UserMinus,{className:"size-4"})," Kick ",e.name]})]})]}):c}function eb(){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)(b.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)(b.Skeleton,{className:"size-8 shrink-0 rounded-full"}),(0,t.jsx)(b.Skeleton,{className:"h-3.5 w-3/5 rounded"})]},a))})]},a))})})}var ey=e.i(133491),ej=e.i(275130);function eN({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:g,threads:p,threadsLoading:f,showSearchInput:v=!0,onOpenThread:b,onOpenProfile:j,onSetRole:N,onKickMember:C,myRole:S,onJumpToMessage:w,onSearch:I}){return"members"===e?(0,t.jsx)(ei,{icon:ea.Users,title:"Members",bodyClassName:"p-0",children:(0,t.jsx)(ex,{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)(ei,{icon:en.Pin,title:"Pinned Messages",children:m&&0===c.length?(0,t.jsx)(eC,{}):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)(y.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,x.formatRelativeTime)(e.createdAt)})]}),(0,t.jsx)("div",{className:"truncate text-sm text-muted-foreground",children:(0,ej.stripInlineMarkup)(e.content??"")})]})]},e.id))}):"search"===e?(0,t.jsx)(ew,{searchResults:h,initialQuery:g,showSearchInput:v,onOpenProfile:j,onSearch:I}):(0,t.jsx)(ei,{icon:u.MessagesSquare,title:"Threads",children:f&&0===p.length?(0,t.jsx)(eS,{}):(0,t.jsxs)(t.Fragment,{children:[(0,t.jsxs)("div",{className:"mb-2 text-xs text-muted-foreground",children:[p.length," threads"]}),(0,t.jsx)("div",{className:"space-y-1",children:p.map(e=>(0,t.jsxs)("button",{onClick:()=>b(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,ej.stripInlineMarkup)(e.parent.text)]}),(0,t.jsxs)("div",{className:"mt-1 text-xs text-muted-foreground",suppressHydrationWarning:!0,children:[e.messageCount," messages · ",(0,x.formatRelativeTime)(e.lastMessageAt)]})]})]},e.id))})]})})}function eC(){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)(b.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)(b.Skeleton,{className:"h-3 w-20 rounded"}),(0,t.jsx)(b.Skeleton,{className:"h-3 w-10 rounded"})]}),(0,t.jsx)(b.Skeleton,{className:"h-3 w-5/6 rounded"})]})]},a))})}function eS(){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)(b.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)(b.Skeleton,{className:"h-3.5 w-3/5 rounded"}),(0,t.jsx)(b.Skeleton,{className:"h-3 w-11/12 rounded"}),(0,t.jsx)(b.Skeleton,{className:"h-3 w-2/5 rounded"})]})]},a))})}function ew({searchResults:e,initialQuery:a,showSearchInput:s,onOpenProfile:r,onSearch:i}){let[l,o]=(0,n.useState)(a??"");return(0,t.jsxs)(ei,{icon:es.Search,title:"Search",children:[s&&(0,t.jsxs)("div",{className:"relative mb-3",children:[(0,t.jsx)(es.Search,{className:"absolute left-2 top-1/2 size-4 -translate-y-1/2 text-muted-foreground"}),(0,t.jsx)(P.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)(ey.Message,{m:a,compact:!0,onOpenThread:()=>{},onOpenProfile:r},e.id)})]})}function eI({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:g,searchQuery:p,threads:f,threadsLoading:x,onOpenThread:v,onOpenProfile:b,onSetRole:y,onKickMember:j,myRole:N,onJumpToMessage:C,onSearch:S}){let{width:w,onPointerDown:I,onPointerMove:M,onPointerUp:k}=(0,et.useSheetResize)({defaultWidth:380,minWidth:280,maxWidthRatio:.6});return(0,t.jsx)(ee.Sheet,{open:e,onOpenChange:a,modal:!1,disablePointerDismissal:!0,children:(0,t.jsxs)(ee.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)(ee.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)(et.SheetResizeHandle,{onPointerDown:I,onPointerMove:M,onPointerUp:k}),(0,t.jsx)(eN,{kind:n,members:s,membersLoading:r,membersLoadingMore:i,membersHasMore:l,onLoadMoreMembers:o,onSearchMembers:d,onAddMember:c,manageContext:u,pinned:m,pinnedLoading:h,searchResults:g,searchQuery:p,threads:f,threadsLoading:x,showSearchInput:!0,onOpenThread:v,onOpenProfile:b,onSetRole:y,onKickMember:j,myRole:N,onJumpToMessage:C,onSearch:S})]})})}var eM=e.i(398049),ek=e.i(746632),eT=e.i(280958),eA=e.i(923533),eR=e.i(357439),eE=e.i(188946);e.i(384302);var eP=e.i(956832);function eF({channelId:e,serverId:t,serverParam:r,channelName:i,forumParentChannelId:l,viewer:o,anchorMessageId:d,feed:c,uiHandlers:u,onOpenThread:m,onOpenPinned:h,resolveUserName:g,children:p}){let f=(0,a.useRouter)(),x=(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,_.useSendMessage)(),T=(0,_.useToggleReactionApi)(),{mutate:R}=(0,_.usePinMessage)(),{mutate:E}=(0,_.useUnpinMessage)(),P=(0,_.useToggleMark)(),{mutate:F}=(0,_.useEditMessage)(),{mutateAsync:O}=(0,_.useCreateThread)(),{mutateAsync:L}=(0,A.useUploadFile)(),U=(0,eA.useTypingUsersForScope)(`ch:${e}`),D=(0,eA.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 $=(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,eT.avatarInitial)(e.author.name),content:e.message.content,createdAt:e.message.createdAt})))}catch(e){C([]),(0,s.toastApiError)(e,"Search failed")}},[e]),K=(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){eA.useCommunityStore.getState().setPendingReply({channelId:I.channelId,target:t}),M(null),u.navigate?.(I.serverId,I.channelId);return}b(t),M(null)},[I,e,u]),H=(0,eA.useCommunityStore)(e=>e.pendingReply);(0,n.useEffect)(()=>{H&&H.channelId===e&&(b(H.target),eA.useCommunityStore.getState().setPendingReply(null))},[H,e]);let Q=(0,n.useRef)({messages:c.messages,pinnedIds:z,channelName:i,uiHandlers:u,onOpenThread:m,onOpenPinned:h});(0,n.useLayoutEffect)(()=>{Q.current={messages:c.messages,pinnedIds:z,channelName:i,uiHandlers:u,onOpenThread:m,onOpenPinned:h}},[c.messages,z,i,u,m,h]);let V=(0,n.useCallback)(a=>{let n=Q.current.messages.find(e=>e.seq===a);n?w(n.id):M({serverId:t,channelId:e,label:i,seq:a})},[t,e,i]),W=(0,n.useCallback)(e=>M(e),[]);(0,n.useEffect)(()=>(eA.useCommunityStore.getState().registerUiHandlers({jumpToSeq:V,openMessageContext:W}),()=>eA.useCommunityStore.getState().registerUiHandlers({jumpToSeq:void 0,openMessageContext:void 0})),[V,W]);let J=x.get("seq");(0,n.useEffect)(()=>{if(!J)return;let a=Number(J);Number.isFinite(a)&&(M({serverId:t,channelId:e,label:i,seq:a}),f.replace(`/c/channels/${r}/${e}`,{scroll:!1}))},[J,t,e,i,f,r]);let G=(0,n.useMemo)(()=>({kind:"channel",id:e,serverId:t}),[e,t]),X=(0,n.useCallback)(async a=>{let n,r=eR.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,_.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=Q.current.messages.find(t=>t.id===e);t&&b({id:t.id,authorName:t.authorName??"",text:t.content??""})},onPin:t=>{Q.current.pinnedIds.has(t)?E({channelId:e,messageId:t},{onSuccess:()=>(0,ek.toast)("Message unpinned"),onError:e=>(0,s.toastApiError)(e,"Failed to unpin message")}):(R({channelId:e,messageId:t},{onSuccess:()=>(0,ek.toast)("Message pinned"),onError:e=>(0,s.toastApiError)(e,"Failed to pin message")}),Q.current.onOpenPinned())},onMark:t=>P(e,t),onCreateThread:async a=>{let n=Q.current.messages.find(e=>e.id===a),r=(0,ej.deriveThreadName)(n?.content,Q.current.channelName);try{let n=await O({serverId:t,channelId:e,messageId:a,name:r});Q.current.onOpenThread(n.id)}catch(e){(0,s.toastApiError)(e,"Failed to create thread")}},onCopy:e=>{let t=Q.current.messages.find(t=>t.id===e);t?.content&&(navigator.clipboard?.writeText(t.content),(0,ek.toast)("Copied to clipboard"))},onEdit:a=>{let n=Q.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=Q.current.messages.find(t=>t.id===e);t?.clientNonce&&(eR.useMessageStreamStore.getState().dispatch(G,{type:"retry",nonce:t.clientNonce}),X(t.clientNonce))},onDismiss:e=>{let t=Q.current.messages.find(t=>t.id===e);t?.clientNonce&&eR.useMessageStreamStore.getState().dispatch(G,{type:"dismissFailed",nonce:t.clientNonce})},onPreviewImage:e=>Q.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,_.sendNonce)(),r=[];if(!eR.useMessageStreamStore.getState().accept(G,{nonce:s,tempId:(0,_.tempMessageId)(),message:{type:"chat",authorId:o.id,authorName:o.name,authorAvatar:o.avatar,content:t,createdAt:new Date().toISOString(),...v?{replyTo:(0,eE.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,eP.communityWsResetTypingThrottle)({channelId:e}),b(null),!0},[e,G,v,X,o.avatar,o.id,o.name]);return p((0,n.useMemo)(()=>({feed:c,pinnedIds:z,replyTo:v,setReplyTo:b,searchQuery:y,searchResults:N,search:$,scrollTargetId:S,setScrollTargetId:w,consumeScrollTarget:q,contextTarget:I,setContextTarget:M,openContextSeq:K,onSheetReply:B,jumpToSeq:V,messageActions:Y,threadActions:{...Y,onCreateThread:void 0},acceptMessage:Z,handleTyping:()=>(0,eP.communityWsSendTyping)({channelId:e}),typingUsers:U.map(e=>D[e]??g(e))}),[c,z,v,y,N,$,S,q,I,K,B,V,Y,Z,e,U,D,g]))}function eO({channelId:e,serverId:a,serverParam:s,channelName:d,viewer:c,anchorMessageId:u,headerServer:m,notificationLevel:h,onSetNotificationLevel:g,onBack:p,composerMembers:f,onSearchComposerMembers:x,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=Y({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)(eF,{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)(Z,{header:(0,t.jsx)(i.ChannelHeader,{channel:d,rightPanel:I,onToggle:T,notifLevel:h,onSetNotifLevel:g,onBack:p,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:f,onSearchMembers:x,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)(eI,{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)(eM.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 eL=e.i(218072),eU=e.i(15329),eD=e.i(542275),ez=e.i(574727),eq=e.i(617381),e$=e.i(334240);function eK({parentMessageId:e,onOpenProfile:a,onPreviewImage:n,onDownloadFile:r,onJump:i}){let l,o,{message:d,isLoading:c,isError:m}=(l=!!e,{...o=(0,K.useQuery)({queryKey:l?B.communityKeys.message(e):B.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)(eB,{});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,eT.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)(eD.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)(y.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,x.formatMessageTime)(d.createdAt)})]}),d.content&&(0,t.jsx)(ez.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,eq.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)(eL.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)(eU.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)(e$.NumberTicker,{value:e.count,className:"text-xs text-muted-foreground"})]},a))})]})]})]})}function eB(){return(0,t.jsxs)("div",{children:[(0,t.jsx)(b.Skeleton,{className:"mb-2 h-3 w-32 rounded"}),(0,t.jsxs)("div",{className:"flex gap-3",children:[(0,t.jsx)(b.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)(b.Skeleton,{className:"h-4 w-32 rounded"}),(0,t.jsx)(b.Skeleton,{className:"h-3.5 w-full max-w-80 rounded"}),(0,t.jsx)(b.Skeleton,{className:"h-3.5 w-48 rounded"})]})]})]})}let eH=()=>{};function e_({channelId:e,serverId:d,serverParam:c,channelName:u,viewer:m,anchorMessageId:h,parentChannelId:g,parentMessageId:p,parentChannelName:f,parentIsForum:x,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,_.useEditMessage)(),$=Y({channelId:e,serverId:d,viewerUserId:m.id,isChildChannel:!0,anchorMessageId:h}),K=D??u;(0,n.useEffect)(()=>{U(null),z(null)},[e]);let B=(0,n.useCallback)(e=>{U(t=>t===e?null:e)},[]),H=(0,n.useCallback)(()=>U("pinned"),[]),Q=(0,n.useCallback)(()=>{g?F.push(`/c/channels/${c}/${g}`):F.back()},[g,F,c]),V=x&&g&&p&&v===m.id?async t=>{try{await q({serverId:d,channelId:g,messageId:p,content:t,forumChannelId:g,forumThreadId:e})}catch(e){throw(0,s.toastApiError)(e,"Failed to edit post"),e}}:!x&&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($.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:eH},e),(0,t.jsx)(o.ComposerSkeleton,{})]})]});let W=p&&!x?(0,t.jsx)(eK,{parentMessageId:p,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:g?()=>F.push(`/c/channels/${c}/${g}?msg=${p}`):void 0}):void 0;return(0,t.jsx)(eF,{channelId:e,serverId:d,serverParam:c,channelName:K,forumParentChannelId:x?g??void 0:void 0,viewer:m,anchorMessageId:h,feed:$,uiHandlers:A,onOpenThread:eH,onOpenPinned:H,resolveUserName:P,children:a=>(0,t.jsx)(Z,{header:(0,t.jsx)(i.ChannelHeader,{channel:f,forum:x,rightPanel:L,onToggle:B,notifLevel:j,onSetNotifLevel:N,onBack:C,server:y,tools:{threads:!1},breadcrumb:{label:K,titleRename:x,onNavigateBack:Q,onRename:V}}),body:(0,t.jsxs)("main",{className:"flex min-h-0 min-w-0 flex-1 flex-col",children:[(0,t.jsx)(l.MessageList,{channel:K,messages:a.feed.messages,loading:a.feed.isLoading,pinnedIds:a.pinnedIds,newDividerBefore:a.feed.newDividerBefore,typingUsers:a.typingUsers,onOpenThread:eH,...a.threadActions,onOpenProfile:E,resolveUserName:P,scrollToMessageId:a.scrollTargetId,hero:W,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:K,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)(eI,{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)(eM.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 eQ=e.i(447985);let eV=e=>`alook:forum-tag:${e}`;function eW(e,t,a){"All"===a?e.removeItem(eV(t)):e.setItem(eV(t),a)}function eJ({serverId:e,forumChannelId:a,...r}){let i=function(e){let[t,a]=(0,n.useState)(()=>{try{var t;return t=window.localStorage,t.getItem(eV(e))||"All"}catch{return"All"}}),r=(0,X.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{eW(window.localStorage,e,"All")}catch{}}},[e,t,r.data,r.isSuccess]);let i=(0,n.useCallback)(t=>{a(t);try{eW(window.localStorage,e,t)}catch{}},[e]),l="All"===t?null:t,o=B.communityKeys.forumActivityFeed(e,l),d=(0,eQ.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,eT.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,eT.avatarInitial)(a?.authorName??""),openerMessageId:l.parentMessageId??"",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)(z,{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 eG=e.i(512554);function eX({serverId:e,channelId:a,channelName:r,viewer:l,viewerRole:o,headerServer:d,notificationLevel:c,onSetNotificationLevel:u,onBack:m,composerMembers:h,onSearchComposerMembers:g,memberPanelProps:p,manageMembersDialog:f,onOpenPost:x,onOpenProfile:v}){let b=H(a);J({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,eG.useCreateForumThread)(),S=(0,eG.useUpdatePostTags)(),w=(0,eG.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=>{x((await C.mutateAsync({nonce:e.nonce,channelId:a,name:e.name,content:e.content,attachments:e.attachments,mentionType:e.mentionType})).threadId)},[a,C,x]),k=(0,eg.canManageServer)(o);return(0,t.jsx)(Z,{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)(eJ,{serverId:e,forumChannelId:a,members:h,onSearchMembers:g,onOpenPost:x,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)(eI,{open:!0,onOpenChange:e=>{e||j({channelId:a,panel:null})},kind:N,...p,pinned:[],searchResults:[],threads:[],onOpenThread:x,onOpenProfile:v}),dialogs:f})}var eY=e.i(648655),eZ=e.i(132977),e0=e.i(971434),e1=e.i(825149),e2=e.i(725521),e3=e.i(457725),e4=e.i(125498),e5=e.i(71977),e6=e.i(312462),e8=e.i(344920),e7=e.i(503864),e9=e.i(718877),te=e.i(997303);function tt({serverParam:e,channelId:d}){var c,u;let m=(0,a.useRouter)(),h=(0,a.useSearchParams)(),g=decodeURIComponent(e);(0,n.useEffect)(()=>{(0,e6.setLastChannel)(g,d)},[g,d]);let[p]=(0,n.useState)(()=>h.get("msg")),f=(0,r.useBreakpoint)(),x=(0,Q.useCurrentUser)(),v=(0,eA.useUiHandlers)(),b=(0,eA.useCurrentChannelId)(),y=function(e,t,r){var i;let l,o,d,c,u=(0,a.useRouter)(),m=(0,V.useQueryClient)(),{server:h}=(0,e8.useServer)(e),g=(0,eA.useCurrentChannelMeta)(),p=h?.categories?.flatMap(e=>e.channels).some(e=>e.id===r),f=!!h?.categories&&!p,x=(l=(0,e5.useCommunityWsStore)(e=>e.accessEpoch),o=(0,e5.useCommunityWsStore)(e=>e.accessConnected),d=(0,K.useQuery)({queryKey:B.communityKeys.forumSidebarThreads(e),queryFn:()=>Promise.reject(Error("forum sidebar observer only")),enabled:!1}),{...c=(0,K.useQuery)({queryKey:B.communityKeys.channelMeta(e,r),queryFn:async()=>{let e=e5.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:f&&(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,eg.isForum)(r?.type),isChild:i,isForumPostChild:i&&(0,eg.isForum)(d?.type),isNotifyUnit:i,metaSettled:l,routeHydrated:!!e?.categories&&l&&(!i||null!==o)}})(h,g,r,f?{channelId:r,settled:x.isVerified}:{channelId:r,settled:!0}),[r,g,f,x.isVerified,h]);return(0,n.useEffect)(()=>(eA.useCommunityStore.getState().setCurrentChannelId(r),()=>{eA.useCommunityStore.getState().setCurrentChannelId(null)}),[r]),(0,n.useEffect)(()=>((0,eP.communityWsSubscribe)({channelId:r}),()=>(0,eP.communityWsUnsubscribe)()),[r]),(0,n.useEffect)(()=>{f?x.data&&x.isVerified?eA.useCommunityStore.getState().setCurrentChannelMeta(x.data):(x.error||x.data?.archived)&&(eA.useCommunityStore.getState().setCurrentChannelMeta(null),x.data?.archived||(0,e7.isDefinitiveChildMetaFailure)(x.error)?((0,W.removeForumSidebarUnreadChild)(m,e,r),(0,W.removeForumSidebarThreadExact)(m,e,r),(0,e6.getLastChannel)(e)===r&&(0,e6.clearLastChannel)(e),u.replace(`/c/channels/${t}`)):(0,s.toastApiError)(x.error,"Failed to load thread")):eA.useCommunityStore.getState().setCurrentChannelMeta(null)},[r,f,x.data,x.error,x.isVerified,m,u,e,t]),v}(g,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,K.useQuery)({queryKey:B.communityKeys.forumOpenerHint(g,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,g=(0,e2.useServerMembers)(e),p=(0,e5.useOnlineUserIds)(),f=(0,e5.useCommunityWsStore)(e=>e.userStatuses),[x,v]=(0,n.useState)({channelId:a,query:"",dialogOpen:!1}),b=x.channelId===a?x.query:"",y=x.channelId===a&&x.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)(()=>g.members.map(e=>{let t=f.get(e.userId);return{...e,status:(0,e0.resolveRowPresence)(e,p,u.id),statusEmoji:t?t.emoji:e.statusEmoji,statusText:t?t.text:e.statusText}}),[u.id,g.members,p,f]),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,e1.useChannelMembers)(a,c||N&&!c),S=c?o?.parentChannelId??null:null,w=(0,e1.useChannelMembers)(S??"",!!S),I=(0,e1.useAddableMembers)(e,a,y&&N&&!c),M=(0,e1.useAddChannelMember)(a),k=(0,e1.useRemoveChannelMember)(a),T=o?.parentChannelId?i?.categories?.flatMap(e=>e.channels).find(e=>e.id===o.parentChannelId):null,A=d&&(0,eg.isForum)(T?.type)?e:void 0,R=(m=u.id,h=(0,V.useQueryClient)(),(0,e3.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:B.communityKeys.channelMembers(a)}),A&&t===m&&(0,W.grantForumSidebarChild)(h,A,a)}})),E=function(e,t,a,n=!!t){let r=(0,V.useQueryClient)();return(0,e3.useMutation)({mutationFn:t=>(0,s.apiFetch)(`/api/community/channels/${encodeURIComponent(e)}/participants/${encodeURIComponent(t)}`,{method:"DELETE"}),onSuccess:(s,i)=>{r.invalidateQueries({queryKey:B.communityKeys.channelMembers(e)}),t&&i===a&&(n?((0,W.removeForumSidebarUnreadChild)(r,t,e),(0,W.removeForumSidebarThreadExact)(r,t,e)):r.removeQueries({queryKey:B.communityKeys.channelMeta(t,e),exact:!0}),eA.useCommunityStore.getState().currentChannelId===e&&eA.useCommunityStore.getState().setCurrentChannelMeta(null))}})}(a,e,u.id,!!A),P=(0,e4.useSetMemberRole)(),F=(0,e4.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=f.get(e.userId);return{id:e.userId,userId:e.userId,name:e.name,discriminator:e.discriminator,avatar:e.avatar,sub:"",role:"member",status:(0,e0.resolveRowPresence)(e,p,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,p,f]),L=(0,n.useMemo)(()=>N?(c?w.members:C.members).filter(e=>e.userId!==u.id).map(e=>{let t=f.get(e.userId);return{...e,status:(0,e0.resolveRowPresence)(e,p,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,p,w.members,f]),U=j.find(e=>e.userId===u.id)?.role,D=d?o?.creatorId:l?.creatorId,z=!!D&&D===u.id,q=c||N,$=c?E:k,K=q?{viewerUserId:u.id,viewerIsCreator:z,unitLabel:o?.name??r,onLeave:e=>$.mutateAsync(e),onRemove:e=>$.mutateAsync(e)}:void 0,H={members:O,membersLoading:q?C.isLoading:g.loading,membersLoadingMore:!q&&g.loadingMore,membersHasMore:!q&&g.hasMore,onLoadMoreMembers:q?void 0:g.loadMore,onSearchMembers:q?e=>v({channelId:a,query:e,dialogOpen:y}):g.searchMembers,onAddMember:q?()=>v({channelId:a,query:b,dialogOpen:!0}):void 0,manageContext:K,myRole:U,onSetRole:(t,a)=>{P.mutate({serverId:e,memberId:t,role:a},{onSuccess:()=>(0,ek.toast)("Role updated"),onError:e=>(0,s.toastApiError)(e,"Failed to update role")})},onKickMember:t=>F.mutateAsync({serverId:e,memberId:t}).then(()=>(0,ek.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)(eY.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)(eY.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]),Q=(0,n.useMemo)(()=>(0,eZ.makeUserNameResolver)(g.members),[g.members]);return{composerMembers:L,onSearchComposerMembers:g.searchMembers,memberPanelProps:H,manageMembersDialog:_,resolveUserName:Q,myRole:U}}({serverId:g,channelId:d,channelName:R,currentServer:j,channelInServer:N,currentChannelMeta:S,isChildChannel:I,isNotifyUnit:k,currentUser:x}),D=(0,n.useMemo)(()=>(j?.categories?.flatMap(e=>e.channels)??[]).map(e=>({id:e.id,name:e.name,serverId:g,serverName:j?.name??""})),[j,g]),z=(0,e9.useNotificationSettings)().channel,{mutate:q}=(0,te.useSetChannelNotif)(),H=(0,n.useCallback)(()=>{v.goBackMobile?.()},[v]),_=(0,n.useCallback)(()=>{m.back()},[m]),J=(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)(()=>{p&&m.replace(`/c/channels/${e}/${d}`,{scroll:!1})},[]);let G=(0,n.useCallback)(t=>{m.push(`/c/channels/${e}/${t}`)},[m,e]),X=(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)(e_,{channelId:d,serverId:g,serverParam:e,channelName:R,viewer:x,anchorMessageId:p,parentChannelId:S?.parentChannelId??null,parentMessageId:S?.parentMessageId??null,parentChannelName:C?.name??"channel",parentIsForum:M,childCreatorId:S?.creatorId,canRenameThread:(0,eg.canManageServer)(U),headerServer:"mobile"===f&&j?{id:j.id,name:j.name,icon:j.icon}:void 0,notificationLevel:z[d]??T.USE_SERVER_DEFAULT,onSetNotificationLevel:J,onBack:"mobile"===f?_:void 0,onLoadingBack:"mobile"===f?H:void 0,composerMembers:E,onSearchComposerMembers:P,channelRefCandidates:D,memberPanelProps:F,manageMembersDialog:O,uiHandlers:v,onOpenChild:G,onOpenProfile:X,resolveUserName:L}):w?(0,t.jsx)(eX,{serverId:g,channelId:d,channelName:R,viewer:x,viewerRole:U,headerServer:"mobile"===f&&j?{id:j.id,name:j.name,icon:j.icon}:void 0,notificationLevel:z[d]??T.USE_SERVER_DEFAULT,onSetNotificationLevel:J,onBack:"mobile"===f?H:void 0,composerMembers:E,onSearchComposerMembers:P,memberPanelProps:F,manageMembersDialog:O,onOpenPost:G,onOpenProfile:X}):(0,t.jsx)(eO,{channelId:d,serverId:g,serverParam:e,channelName:R,viewer:x,anchorMessageId:p,headerServer:"mobile"===f&&j?{id:j.id,name:j.name,icon:j.icon}:void 0,notificationLevel:z[d]??T.USE_SERVER_DEFAULT,onSetNotificationLevel:J,onBack:"mobile"===f?H:void 0,composerMembers:E,onSearchComposerMembers:P,channelRefCandidates:D,memberPanelProps:F,manageMembersDialog:O,uiHandlers:v,onOpenThread:G,onOpenProfile:X,resolveUserName:L}):w?(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(i.ChannelHeaderSkeleton,{onBack:"mobile"===f?H:void 0}),(0,t.jsx)("main",{className:"flex min-h-0 min-w-0 flex-1 flex-col",children:(0,t.jsx)($,{})})]}):(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(i.ChannelHeaderSkeleton,{onBack:"mobile"===f?H: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)(tt,{serverParam:e.serverId,channelId:e.channelId},n)}],474585)}]);
@@ -1,3 +0,0 @@
1
- (globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,638535,e=>{"use strict";let t=(0,e.i(130024).default)("messages-square",[["path",{d:"M16 10a2 2 0 0 1-2 2H6.828a2 2 0 0 0-1.414.586l-2.202 2.202A.71.71 0 0 1 2 14.286V4a2 2 0 0 1 2-2h10a2 2 0 0 1 2 2z",key:"1n2ejm"}],["path",{d:"M20 9a2 2 0 0 1 2 2v10.286a.71.71 0 0 1-1.212.502l-2.202-2.202A2 2 0 0 0 17.172 19H10a2 2 0 0 1-2-2v-1",key:"1qfcsi"}]]);e.s(["MessagesSquare",0,t],638535)},281631,e=>{"use strict";let t=(0,e.i(130024).default)("reply",[["path",{d:"M20 18v-2a4 4 0 0 0-4-4H4",key:"5vmcpk"}],["path",{d:"m9 17-5-5 5-5",key:"nvlc11"}]]);e.s(["Reply",0,t],281631)},560976,e=>{"use strict";let t=(0,e.i(130024).default)("user-plus",[["path",{d:"M16 21v-2a4 4 0 0 0-4-4H6a4 4 0 0 0-4 4v2",key:"1yyitq"}],["circle",{cx:"9",cy:"7",r:"4",key:"nufk8"}],["line",{x1:"19",x2:"19",y1:"8",y2:"14",key:"1bvyxn"}],["line",{x1:"22",x2:"16",y1:"11",y2:"11",key:"1shjgl"}]]);e.s(["UserPlus",0,t],560976)},392433,(e,t,r)=>{"use strict";e.i(57331),Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"Image",{enumerable:!0,get:function(){return j}});let n=e.r(481258),s=e.r(744066),i=e.r(633940),a=s._(e.r(579848)),o=n._(e.r(646586)),l=n._(e.r(389852)),d=e.r(460586),u=e.r(381),c=e.r(513917),m=e.r(996059),p=n._(e.r(46635)),h=e.r(802576),f={deviceSizes:[640,750,828,1080,1200,1920,2048,3840],imageSizes:[32,48,64,96,128,256,384],qualities:[75],path:"/_next/image",loader:"default",dangerouslyAllowSVG:!1,unoptimized:!1};function g(e,t,r,n,s,i,a){let o=e?.src;e&&e["data-loaded-src"]!==o&&(e["data-loaded-src"]=o,("decode"in e?e.decode():Promise.resolve()).catch(()=>{}).then(()=>{if(e.parentElement&&e.isConnected){if("empty"!==t&&s(!0),r?.current){let t=new Event("load");Object.defineProperty(t,"target",{writable:!1,value:e});let n=!1,s=!1;r.current({...t,nativeEvent:t,currentTarget:e,target:e,isDefaultPrevented:()=>n,isPropagationStopped:()=>s,persist:()=>{},preventDefault:()=>{n=!0,t.preventDefault()},stopPropagation:()=>{s=!0,t.stopPropagation()}})}n?.current&&n.current(e)}}))}function y(e){return a.use?{fetchPriority:e}:{fetchpriority:e}}"u"<typeof window&&(globalThis.__NEXT_IMAGE_IMPORTED=!0);let v="u"<typeof window?a.useEffect:a.useLayoutEffect,x=(0,a.forwardRef)(({src:e,srcSet:t,sizes:r,height:n,width:s,decoding:o,className:l,style:d,fetchPriority:u,placeholder:c,loading:m,unoptimized:p,fill:f,onLoadRef:x,onLoadingCompleteRef:b,setBlurComplete:j,setShowAltText:w,sizesInput:S,onLoad:k,onError:C,...N},R)=>{let M=(0,a.useRef)(!1),I=(0,a.useRef)(null);v(()=>{let{current:e}=M,{current:t}=I;e||null===t||(C&&(t.src=t.src),t.complete&&g(t,c,x,b,j,p,S),M.current=!0)},[e,c,x,b,C,p,S]);let O=(0,h.useMergedRef)(R,I);return(0,i.jsx)("img",{...N,...y(u),loading:m,width:s,height:n,decoding:o,"data-nimg":f?"fill":"1",className:l,style:d,sizes:r,srcSet:t,src:e,ref:O,onLoad:e=>{g(e.currentTarget,c,x,b,j,p,S)},onError:e=>{w(!0),"empty"!==c&&j(!0),C&&C(e)}})});function b({isAppRouter:e,imgAttributes:t}){let r={as:"image",imageSrcSet:t.srcSet,imageSizes:t.sizes,crossOrigin:t.crossOrigin,referrerPolicy:t.referrerPolicy,...y(t.fetchPriority)};return e&&o.default.preload?(o.default.preload(t.src,r),null):(0,i.jsx)(l.default,{children:(0,i.jsx)("link",{rel:"preload",href:t.srcSet?void 0:t.src,...r},"__nimg-"+t.src+t.srcSet+t.sizes)})}let j=(0,a.forwardRef)((e,t)=>{let r=(0,a.useContext)(m.RouterContext),n=(0,a.useContext)(c.ImageConfigContext),s=(0,a.useMemo)(()=>{let e=f||n||u.imageConfigDefault,t=[...e.deviceSizes,...e.imageSizes].sort((e,t)=>e-t),r=e.deviceSizes.sort((e,t)=>e-t),s=e.qualities?.sort((e,t)=>e-t);return{...e,allSizes:t,deviceSizes:r,qualities:s,localPatterns:"u"<typeof window?n?.localPatterns:e.localPatterns}},[n]),{onLoad:o,onLoadingComplete:l}=e,h=(0,a.useRef)(o);(0,a.useEffect)(()=>{h.current=o},[o]);let g=(0,a.useRef)(l);(0,a.useEffect)(()=>{g.current=l},[l]);let[y,v]=(0,a.useState)(!1),[j,w]=(0,a.useState)(!1),{props:S,meta:k}=(0,d.getImgProps)(e,{defaultLoader:p.default,imgConf:s,blurComplete:y,showAltText:j});return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(x,{...S,unoptimized:k.unoptimized,placeholder:k.placeholder,fill:k.fill,onLoadRef:h,onLoadingCompleteRef:g,setBlurComplete:v,setShowAltText:w,sizesInput:e.sizes,ref:t}),k.preload?(0,i.jsx)(b,{isAppRouter:!r,imgAttributes:S}):null]})});("function"==typeof r.default||"object"==typeof r.default&&null!==r.default)&&void 0===r.default.__esModule&&(Object.defineProperty(r.default,"__esModule",{value:!0}),Object.assign(r.default,r),t.exports=r.default)},303371,(e,t,r)=>{"use strict";function n(e,t){let r=e||75;return t?.qualities?.length?t.qualities.reduce((e,t)=>Math.abs(t-r)<Math.abs(e-r)?t:e,t.qualities[0]):r}Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"findClosestQuality",{enumerable:!0,get:function(){return n}})},460586,(e,t,r)=>{"use strict";e.i(57331),Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"getImgProps",{enumerable:!0,get:function(){return d}});let n=e.r(599496),s=e.r(9057),i=e.r(381),a=["-moz-initial","fill","none","scale-down",void 0];function o(e){return void 0!==e.default}function l(e){return void 0===e?e:"number"==typeof e?Number.isFinite(e)?e:NaN:"string"==typeof e&&/^[0-9]+$/.test(e)?parseInt(e,10):NaN}function d({src:e,sizes:t,unoptimized:r=!1,priority:u=!1,preload:c=!1,loading:m,className:p,quality:h,width:f,height:g,fill:y=!1,style:v,overrideSrc:x,onLoad:b,onLoadingComplete:j,placeholder:w="empty",blurDataURL:S,fetchPriority:k,decoding:C="async",layout:N,objectFit:R,objectPosition:M,lazyBoundary:I,lazyRoot:O,...P},E){var z;let _,q,T,{imgConf:F,showAltText:Q,blurComplete:$,defaultLoader:A}=E,D=F||i.imageConfigDefault;if("allSizes"in D)_=D;else{let e=[...D.deviceSizes,...D.imageSizes].sort((e,t)=>e-t),t=D.deviceSizes.sort((e,t)=>e-t),r=D.qualities?.sort((e,t)=>e-t);_={...D,allSizes:e,deviceSizes:t,qualities:r}}if(void 0===A)throw Object.defineProperty(Error("images.loaderFile detected but the file is missing default export.\nRead more: https://nextjs.org/docs/messages/invalid-images-config"),"__NEXT_ERROR_CODE",{value:"E163",enumerable:!1,configurable:!0});let K=P.loader||A;delete P.loader,delete P.srcSet;let U="__next_img_default"in K;if(U){if("custom"===_.loader)throw Object.defineProperty(Error(`Image with src "${e}" is missing "loader" prop.
2
- Read more: https://nextjs.org/docs/messages/next-image-missing-loader`),"__NEXT_ERROR_CODE",{value:"E252",enumerable:!1,configurable:!0})}else{let e=K;K=t=>{let{config:r,...n}=t;return e(n)}}if(N){"fill"===N&&(y=!0);let e={intrinsic:{maxWidth:"100%",height:"auto"},responsive:{width:"100%",height:"auto"}}[N];e&&(v={...v,...e});let r={responsive:"100vw",fill:"100vw"}[N];r&&!t&&(t=r)}let L="",B=l(f),H=l(g);if((z=e)&&"object"==typeof z&&(o(z)||void 0!==z.src)){let t=o(e)?e.default:e;if(!t.src)throw Object.defineProperty(Error(`An object should only be passed to the image component src parameter if it comes from a static image import. It must include src. Received ${JSON.stringify(t)}`),"__NEXT_ERROR_CODE",{value:"E460",enumerable:!1,configurable:!0});if(!t.height||!t.width)throw Object.defineProperty(Error(`An object should only be passed to the image component src parameter if it comes from a static image import. It must include height and width. Received ${JSON.stringify(t)}`),"__NEXT_ERROR_CODE",{value:"E48",enumerable:!1,configurable:!0});if(q=t.blurWidth,T=t.blurHeight,S=S||t.blurDataURL,L=t.src,!y)if(B||H){if(B&&!H){let e=B/t.width;H=Math.round(t.height*e)}else if(!B&&H){let e=H/t.height;B=Math.round(t.width*e)}}else B=t.width,H=t.height}let W=!u&&!c&&("lazy"===m||void 0===m);(!(e="string"==typeof e?e:L)||e.startsWith("data:")||e.startsWith("blob:"))&&(r=!0,W=!1),_.unoptimized&&(r=!0),U&&!_.dangerouslyAllowSVG&&e.split("?",1)[0].endsWith(".svg")&&(r=!0);let J=l(h),G=Object.assign(y?{position:"absolute",height:"100%",width:"100%",left:0,top:0,right:0,bottom:0,objectFit:R,objectPosition:M}:{},Q?{}:{color:"transparent"},v),V=$||"empty"===w?null:"blur"===w?`url("data:image/svg+xml;charset=utf-8,${(0,s.getImageBlurSvg)({widthInt:B,heightInt:H,blurWidth:q,blurHeight:T,blurDataURL:S||"",objectFit:G.objectFit})}")`:`url("${w}")`,X=a.includes(G.objectFit)?"fill"===G.objectFit?"100% 100%":"cover":G.objectFit,Y=V?{backgroundSize:X,backgroundPosition:G.objectPosition||"50% 50%",backgroundRepeat:"no-repeat",backgroundImage:V}:{},Z=function({config:e,src:t,unoptimized:r,width:s,quality:i,sizes:a,loader:o}){if(r){if(t.startsWith("/")&&!t.startsWith("//")){let e=(0,n.getDeploymentId)();if(t.includes("/_next/static/immutable")&&!(0,n.getAssetToken)())e=void 0;else if(e){let r=t.indexOf("?");if(-1!==r){let n=new URLSearchParams(t.slice(r+1));n.get("dpl")||(n.append("dpl",e),t=t.slice(0,r)+"?"+n.toString())}else t+=`?dpl=${e}`}}return{src:t,srcSet:void 0,sizes:void 0}}let{widths:l,kind:d}=function({deviceSizes:e,allSizes:t},r,n){if(n){let r=/(^|\s)(1?\d?\d)vw/g,s=[];for(let e;e=r.exec(n);)s.push(parseInt(e[2]));if(s.length){let r=.01*Math.min(...s);return{widths:t.filter(t=>t>=e[0]*r),kind:"w"}}return{widths:t,kind:"w"}}return"number"!=typeof r?{widths:e,kind:"w"}:{widths:[...new Set([r,2*r].map(e=>t.find(t=>t>=e)||t[t.length-1]))],kind:"x"}}(e,s,a),u=l.length-1;return{sizes:a||"w"!==d?a:"100vw",srcSet:l.map((r,n)=>`${o({config:e,src:t,quality:i,width:r})} ${"w"===d?r:n+1}${d}`).join(", "),src:o({config:e,src:t,quality:i,width:l[u]})}}({config:_,src:e,unoptimized:r,width:B,quality:J,sizes:t,loader:K}),ee=W?"lazy":m;return{props:{...P,loading:ee,fetchPriority:k,width:B,height:H,decoding:C,className:p,style:{...G,...Y},sizes:Z.sizes,srcSet:Z.srcSet,src:x||Z.src},meta:{unoptimized:r,preload:c||u,placeholder:w,fill:y}}}},389852,(e,t,r)=>{"use strict";e.i(57331),Object.defineProperty(r,"__esModule",{value:!0});var n={default:function(){return f},defaultHead:function(){return c}};for(var s in n)Object.defineProperty(r,s,{enumerable:!0,get:n[s]});let i=e.r(481258),a=e.r(744066),o=e.r(633940),l=a._(e.r(579848)),d=i._(e.r(284542)),u=e.r(821792);function c(){return[(0,o.jsx)("meta",{charSet:"utf-8"},"charset"),(0,o.jsx)("meta",{name:"viewport",content:"width=device-width"},"viewport")]}function m(e,t){return"string"==typeof t||"number"==typeof t?e:t.type===l.default.Fragment?e.concat(l.default.Children.toArray(t.props.children).reduce((e,t)=>"string"==typeof t||"number"==typeof t?e:e.concat(t),[])):e.concat(t)}let p=["name","httpEquiv","charSet","itemProp"];function h(e){let t,r,n,s;return e.reduce(m,[]).reverse().concat(c().reverse()).filter((t=new Set,r=new Set,n=new Set,s={},e=>{let i=!0,a=!1;if(e.key&&"number"!=typeof e.key&&e.key.indexOf("$")>0){a=!0;let r=e.key.slice(e.key.indexOf("$")+1);t.has(r)?i=!1:t.add(r)}switch(e.type){case"title":case"base":r.has(e.type)?i=!1:r.add(e.type);break;case"meta":for(let t=0,r=p.length;t<r;t++){let r=p[t];if(e.props.hasOwnProperty(r))if("charSet"===r)n.has(r)?i=!1:n.add(r);else{let t=e.props[r],n=s[r]||new Set;("name"!==r||!a)&&n.has(t)?i=!1:(n.add(t),s[r]=n)}}}return i})).reverse().map((e,t)=>{let r=e.key||t;return l.default.cloneElement(e,{key:r})})}let f=function({children:e}){let t=(0,l.useContext)(u.HeadManagerContext);return(0,o.jsx)(d.default,{reduceComponentsToState:h,headManager:t,children:e})};("function"==typeof r.default||"object"==typeof r.default&&null!==r.default)&&void 0===r.default.__esModule&&(Object.defineProperty(r.default,"__esModule",{value:!0}),Object.assign(r.default,r),t.exports=r.default)},9057,(e,t,r)=>{"use strict";function n({widthInt:e,heightInt:t,blurWidth:r,blurHeight:s,blurDataURL:i,objectFit:a}){let o=r?40*r:e,l=s?40*s:t,d=o&&l?`viewBox='0 0 ${o} ${l}'`:"";return`%3Csvg xmlns='http://www.w3.org/2000/svg' ${d}%3E%3Cfilter id='b' color-interpolation-filters='sRGB'%3E%3CfeGaussianBlur stdDeviation='20'/%3E%3CfeColorMatrix values='1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 100 -1' result='s'/%3E%3CfeFlood x='0' y='0' width='100%25' height='100%25'/%3E%3CfeComposite operator='out' in='s'/%3E%3CfeComposite in2='SourceGraphic'/%3E%3CfeGaussianBlur stdDeviation='20'/%3E%3C/filter%3E%3Cimage width='100%25' height='100%25' x='0' y='0' preserveAspectRatio='${d?"none":"contain"===a?"xMidYMid":"cover"===a?"xMidYMid slice":"none"}' style='filter: url(%23b);' href='${i}'/%3E%3C/svg%3E`}Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"getImageBlurSvg",{enumerable:!0,get:function(){return n}})},513917,(e,t,r)=>{"use strict";e.i(57331),Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"ImageConfigContext",{enumerable:!0,get:function(){return i}});let n=e.r(481258)._(e.r(579848)),s=e.r(381),i=n.default.createContext(s.imageConfigDefault)},996059,(e,t,r)=>{"use strict";e.i(57331),Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"RouterContext",{enumerable:!0,get:function(){return n}});let n=e.r(481258)._(e.r(579848)).default.createContext(null)},381,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0});var n={VALID_LOADERS:function(){return i},imageConfigDefault:function(){return a}};for(var s in n)Object.defineProperty(r,s,{enumerable:!0,get:n[s]});let i=["default","imgix","cloudinary","akamai","custom"],a={deviceSizes:[640,750,828,1080,1200,1920,2048,3840],imageSizes:[32,48,64,96,128,256,384],path:"/_next/image",loader:"default",loaderFile:"",domains:[],disableStaticImages:!1,minimumCacheTTL:14400,formats:["image/webp"],maximumDiskCacheSize:void 0,maximumRedirects:3,maximumResponseBody:5e7,dangerouslyAllowLocalIP:!1,dangerouslyAllowSVG:!1,contentSecurityPolicy:"script-src 'none'; frame-src 'none'; sandbox;",contentDispositionType:"attachment",localPatterns:void 0,remotePatterns:[],qualities:[75],unoptimized:!1,customCacheHandler:!1}},849012,(e,t,r)=>{"use strict";e.i(57331),Object.defineProperty(r,"__esModule",{value:!0});var n={default:function(){return u},getImageProps:function(){return d}};for(var s in n)Object.defineProperty(r,s,{enumerable:!0,get:n[s]});let i=e.r(481258),a=e.r(460586),o=e.r(392433),l=i._(e.r(46635));function d(e){let{props:t}=(0,a.getImgProps)(e,{defaultLoader:l.default,imgConf:{deviceSizes:[640,750,828,1080,1200,1920,2048,3840],imageSizes:[32,48,64,96,128,256,384],qualities:[75],path:"/_next/image",loader:"default",dangerouslyAllowSVG:!1,unoptimized:!1}});for(let[e,r]of Object.entries(t))void 0===r&&delete t[e];return{props:t}}let u=o.Image},722445,(e,t,r)=>{t.exports=e.r(849012)},46635,(e,t,r)=>{"use strict";e.i(57331),Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"default",{enumerable:!0,get:function(){return a}});let n=e.r(303371),s=e.r(599496);function i({config:e,src:t,width:r,quality:a}){let o=(0,s.getDeploymentId)();if(t.startsWith("/")&&!t.startsWith("//"))if(t.includes("/_next/static/immutable")&&!(0,s.getAssetToken)())o=void 0;else{let e=t.indexOf("?");if(-1!==e){let r=new URLSearchParams(t.slice(e+1)),n=r.get("dpl");if(n){o=n,r.delete("dpl");let s=r.toString();t=t.slice(0,e)+(s?"?"+s:"")}}}if(t.startsWith("/")&&t.includes("?")&&e.localPatterns?.length===1&&"**"===e.localPatterns[0].pathname&&""===e.localPatterns[0].search)throw Object.defineProperty(Error(`Image with src "${t}" is using a query string which is not configured in images.localPatterns.
3
- Read more: https://nextjs.org/docs/messages/next-image-unconfigured-localpatterns`),"__NEXT_ERROR_CODE",{value:"E871",enumerable:!1,configurable:!0});let l=(0,n.findClosestQuality)(a,e);return`${e.path}?url=${encodeURIComponent(t)}&w=${r}&q=${l}${t.startsWith("/")&&o?`&dpl=${o}`:""}`}i.__next_img_default=!0;let a=i},284542,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"default",{enumerable:!0,get:function(){return o}});let n=e.r(579848),s="u"<typeof window,i=s?()=>{}:n.useLayoutEffect,a=s?()=>{}:n.useEffect;function o(e){let{headManager:t,reduceComponentsToState:r}=e;function o(){if(t&&t.mountedInstances){let e=n.Children.toArray(Array.from(t.mountedInstances).filter(Boolean));t.updateHead(r(e))}}return s&&(t?.mountedInstances?.add(e.children),o()),i(()=>(t?.mountedInstances?.add(e.children),()=>{t?.mountedInstances?.delete(e.children)})),i(()=>(t&&(t._pendingUpdate=o),()=>{t&&(t._pendingUpdate=o)})),a(()=>(t&&t._pendingUpdate&&(t._pendingUpdate(),t._pendingUpdate=null),()=>{t&&t._pendingUpdate&&(t._pendingUpdate(),t._pendingUpdate=null)})),null}},531342,651186,e=>{"use strict";var t=e.i(633940);e.s([],690224),e.i(690224);var r=e.i(579848),n=e.i(396837),s=e.i(582420);let i=r.createContext(void 0);function a(){let e=r.useContext(i);if(void 0===e)throw Error((0,s.default)(13));return e}let o={imageLoadingStatus:()=>null},l=r.forwardRef(function(e,s){let{className:a,render:l,style:d,...u}=e,[c,m]=r.useState("idle"),p=r.useMemo(()=>({imageLoadingStatus:c,setImageLoadingStatus:m}),[c,m]),h=(0,n.useRenderElement)("span",e,{state:{imageLoadingStatus:c},ref:s,props:u,stateAttributesMapping:o});return(0,t.jsx)(i.Provider,{value:p,children:h})});var d=e.i(319458),u=e.i(561362),c=e.i(844253),m=e.i(401281),p=e.i(620153),h=e.i(953076);let f={...o,...m.transitionStatusMapping},g=r.forwardRef(function(e,t){let{className:s,render:i,onLoadingStatusChange:o,style:l,...m}=e,{setImageLoadingStatus:g}=a(),y=function(e,{referrerPolicy:t,crossOrigin:n,sizes:s,srcSet:i}){let[a,o]=r.useState("idle");return(0,u.useIsoLayoutEffect)(()=>{if(!e&&!i)return o("error"),h.NOOP;let r=!0,a=new window.Image,l=e=>()=>{r&&o(e)};return o("loading"),a.onload=l("loaded"),a.onerror=l("error"),t&&(a.referrerPolicy=t),a.crossOrigin=n??null,s&&(a.sizes=s),i&&(a.srcset=i),e&&(a.src=e),a.complete&&o(a.naturalWidth>0?"loaded":"error"),()=>{r=!1}},[e,i,s,n,t]),a}(m.src,m),v="loaded"===y,{mounted:x,transitionStatus:b,setMounted:j}=(0,p.useTransitionStatus)(v),w=r.useRef(null),S=(0,d.useStableCallback)(e=>{o?.(e),g(e)});(0,u.useIsoLayoutEffect)(()=>{"idle"!==y&&S(y)},[y,S]),(0,u.useIsoLayoutEffect)(()=>()=>g("idle"),[g]),(0,c.useOpenChangeComplete)({open:v,ref:w,onComplete(){v||j(!1)}});let k=(0,n.useRenderElement)("img",e,{state:{imageLoadingStatus:y,transitionStatus:b},ref:[t,w],props:m,stateAttributesMapping:f,enabled:x});return x?k:null});var y=e.i(202304);let v=r.forwardRef(function(e,t){let{className:s,render:i,delay:l=0,style:d,...u}=e,{imageLoadingStatus:c}=a(),[m,p]=r.useState(0===l),h=(0,y.useTimeout)();return r.useEffect(()=>(l>0?h.start(l,()=>p(!0)):p(!0),h.clear),[h,l]),(0,n.useRenderElement)("span",e,{state:{imageLoadingStatus:c},ref:t,props:u,stateAttributesMapping:o,enabled:"loaded"!==c&&(0===l||m)})});e.s(["Fallback",0,v,"Image",0,g,"Root",0,l],33933);var x=e.i(33933),x=x,b=e.i(613349);function j({className:e,size:r="default",...n}){return(0,t.jsx)(x.Root,{"data-slot":"avatar","data-size":r,className:(0,b.cn)("group/avatar relative flex size-8 shrink-0 rounded-full select-none after:absolute after:inset-0 after:rounded-full after:border after:border-border after:mix-blend-darken data-[size=lg]:size-10 data-[size=sm]:size-6 dark:after:mix-blend-lighten",e),...n})}function w({className:e,...r}){return(0,t.jsx)(x.Image,{"data-slot":"avatar-image",className:(0,b.cn)("aspect-square size-full rounded-full object-cover",e),...r})}function S({className:e,...r}){return(0,t.jsx)(x.Fallback,{"data-slot":"avatar-fallback",className:(0,b.cn)("flex size-full items-center justify-center rounded-full bg-muted text-sm text-muted-foreground group-data-[size=sm]/avatar:text-xs",e),...r})}function k({className:e,...r}){return(0,t.jsx)("span",{"data-slot":"avatar-badge",className:(0,b.cn)("absolute right-0 bottom-0 z-10 inline-flex items-center justify-center rounded-full bg-primary text-primary-foreground bg-blend-color ring-2 ring-background select-none","group-data-[size=sm]/avatar:size-2 group-data-[size=sm]/avatar:[&>svg]:hidden","group-data-[size=default]/avatar:size-2.5 group-data-[size=default]/avatar:[&>svg]:size-2","group-data-[size=lg]/avatar:size-3 group-data-[size=lg]/avatar:[&>svg]:size-2",e),...r})}e.s(["Avatar",0,j,"AvatarBadge",0,k,"AvatarFallback",0,S,"AvatarGroup",0,function({className:e,...r}){return(0,t.jsx)("div",{"data-slot":"avatar-group",className:(0,b.cn)("group/avatar-group flex -space-x-2 *:data-[slot=avatar]:ring-2 *:data-[slot=avatar]:ring-background",e),...r})},"AvatarGroupCount",0,function({className:e,...r}){return(0,t.jsx)("div",{"data-slot":"avatar-group-count",className:(0,b.cn)("relative flex size-8 shrink-0 items-center justify-center rounded-full bg-muted text-sm text-muted-foreground ring-2 ring-background group-has-data-[size=lg]/avatar-group:size-10 group-has-data-[size=sm]/avatar-group:size-6 [&>svg]:size-4 group-has-data-[size=lg]/avatar-group:[&>svg]:size-5 group-has-data-[size=sm]/avatar-group:[&>svg]:size-3",e),...r})},"AvatarImage",0,w],651186),e.i(400175);var C=e.i(935608),N=e.i(732603),R=e.i(280958);let M={online:"var(--status-online)",offline:"var(--muted-foreground)"};e.s(["Avatar",0,function({label:e,seed:r,src:n,size:s=40,dim:i=!1,presence:a,ringColor:o="var(--background)"}){let l=e||"?",d=(0,N.resolveAvatar)(n||l,r||void 0);return(0,t.jsxs)(j,{className:"beam"===d.kind?"after:hidden":"bg-muted",style:{width:s,height:s,opacity:i?.4:1},children:["photo"===d.kind?(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(w,{src:d.url,alt:l}),(0,t.jsx)(S,{className:"font-medium",style:{fontSize:.4*s},children:(0,R.avatarInitial)(l)})]}):"beam"===d.kind?(0,t.jsx)("span",{className:"size-full rounded-full overflow-hidden",children:(0,t.jsx)(C.GeneratedAvatar,{seed:d.seed,size:s,className:"size-full rounded-full"})}):(0,t.jsx)(S,{className:"font-medium",style:{fontSize:.4*s},children:(0,R.avatarInitial)(l)}),a&&(0,t.jsx)(k,{"data-presence":a,style:{background:M[a],width:Math.round(.22*s),height:Math.round(.22*s),boxShadow:`0 0 0 ${Math.max(2,Math.round(.0625*s))}px ${o}`}})]})}],531342)},133491,876673,960092,574727,617381,e=>{"use strict";var t=e.i(633940),r=e.i(579848),n=e.i(251829),s=e.i(638535),i=e.i(560976),a=e.i(130024);let o=(0,a.default)("smile-plus",[["path",{d:"M22 11v1a10 10 0 1 1-9-10",key:"ew0xw9"}],["path",{d:"M8 14s1.5 2 4 2 4-2 4-2",key:"1y1vjs"}],["line",{x1:"9",x2:"9.01",y1:"9",y2:"9",key:"yxxnd0"}],["line",{x1:"15",x2:"15.01",y1:"9",y2:"9",key:"1p4y9e"}],["path",{d:"M16 5h6",key:"1vod17"}],["path",{d:"M19 2v6",key:"4bpg5p"}]]);var l=e.i(281631),d=e.i(345242),u=e.i(218072),c=e.i(15329),m=e.i(435652);let p=(0,a.default)("share",[["path",{d:"M12 2v13",key:"1km8f5"}],["path",{d:"m16 6-4-4-4 4",key:"13yo43"}],["path",{d:"M4 12v8a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2v-8",key:"1b2hhj"}]]);var h=e.i(961560),f=e.i(607711),g=e.i(89164),y=e.i(531342);e.i(883172);var v=e.i(489254),x=e.i(511356),b=e.i(675917),j=e.i(327921),w=e.i(812878),S=e.i(791473);function k(){return{type:"break"}}function C(){return function(e){(0,S.findAndReplace)(e,[/\r?\n|\r/g,k])}}var N=e.i(418277),R=e.i(312218),M=e.i(559245),I=e.i(227066),O=e.i(705568),P=e.i(448176);let E=function(e){this.enter({type:"spoiler",children:[]},e)},z=function(e){this.exit(e)},_=".,;:!?)\\]\\u3002\\uFF01\\uFF1F\\uFF1B\\uFF1A\\u3001\\uFF09\\u3011",q=`[^\\s/#${_}]+`,T=`${q}#\\d{4,}`,F=RegExp(`(?<=^|\\s)(?:/${T}/${q}|/\\.dm/${T})(?:#\\d+|/#\\d+(?:#\\d+)?)?(?=\\s|$|[${_}])`,"gu"),Q=RegExp(`(?<=^|\\s)/${T}(?=\\s|$|[${_}])`,"gu"),$=/@everyone(?![\p{L}\p{N}_-])|@[^@#\n\r]*[^@#\n\r\s]#\d{4,}/gu,A=["code","inlineCode","link","linkReference"];function D(e){if("@everyone"===e)return{type:"mention",value:e,everyone:!0};let t=/#(\d{4,})$/.exec(e),r=e.replace(/#\d{4,}$/,"");return t?{type:"mention",value:r,everyone:!1,discriminator:t[1]}:{type:"mention",value:r,everyone:!1}}function K(e){return{type:"channelRef",value:e}}function U(e){return{type:"serverRef",value:e}}let L=function(){let e,t=this.data(),r=t.micromarkExtensions??=[],n=t.fromMarkdownExtensions??=[];return r.push((e={name:"spoiler",tokenize:function(e,t,r){let n=this.previous,s=this.events,i=0;return function(a){return n===P.codes.verticalBar&&"characterEscape"!==s[s.length-1][1].type?r(a):(e.enter("spoilerSequenceTemporary"),function s(a){let o=(0,I.classifyCharacter)(n);if(a===P.codes.verticalBar)return i>1?r(a):(e.consume(a),i++,s);if(i<2)return r(a);let l=e.exit("spoilerSequenceTemporary"),d=(0,I.classifyCharacter)(a);return l._open=!d||2===d&&!!o,l._close=!o||2===o&&!!d,t(a)}(a))}},resolveAll:function(e,t){let r=-1;for(;++r<e.length;)if("enter"===e[r][0]&&"spoilerSequenceTemporary"===e[r][1].type&&e[r][1]._close){let n=r;for(;n--;)if("exit"===e[n][0]&&"spoilerSequenceTemporary"===e[n][1].type&&e[n][1]._open&&e[r][1].end.offset-e[r][1].start.offset==e[n][1].end.offset-e[n][1].start.offset){e[r][1].type="spoilerSequence",e[n][1].type="spoilerSequence";let s={type:"spoiler",start:Object.assign({},e[n][1].start),end:Object.assign({},e[r][1].end)},i={type:"spoilerText",start:Object.assign({},e[n][1].end),end:Object.assign({},e[r][1].start)},a=[["enter",s,t],["enter",e[n][1],t],["exit",e[n][1],t],["enter",i,t]],o=t.parser.constructs.insideSpan.null;o&&(0,M.splice)(a,a.length,0,(0,O.resolveAll)(o,e.slice(n+1,r),t)),(0,M.splice)(a,a.length,0,[["exit",i,t],["enter",e[r][1],t],["exit",e[r][1],t],["exit",s,t]]),(0,M.splice)(e,n-1,r-n+3,a),r=n+a.length-2;break}}for(r=-1;++r<e.length;)"spoilerSequenceTemporary"===e[r][1].type&&(e[r][1].type="data");return e}},{text:{[P.codes.verticalBar]:e},insideSpan:{null:[e]},attentionMarkers:{null:[P.codes.verticalBar]}})),n.push({canContainEols:["spoiler"],enter:{spoiler:E},exit:{spoiler:z}}),function(e){(0,S.findAndReplace)(e,[[$,D],[F,K],[Q,U]],{ignore:A})}},B={spoiler:(e,t)=>({type:"element",tagName:"spoiler",properties:{},children:e.all(t)}),mention:(e,t)=>({type:"element",tagName:"mention",properties:{...t.everyone?{dataEveryone:"1"}:{},...t.discriminator?{dataTag:t.discriminator}:{}},children:[{type:"text",value:t.value}]}),channelRef:(e,t)=>({type:"element",tagName:"channelref",properties:{},children:[{type:"text",value:t.value}]}),serverRef:(e,t)=>({type:"element",tagName:"serverref",properties:{},children:[{type:"text",value:t.value}]})};var H=e.i(247850);function W({children:e}){let[n,s]=(0,r.useState)(!1);return(0,t.jsx)("button",{onClick:()=>s(!0),className:["rounded-[4px] px-1 transition-colors",n?"bg-muted text-foreground":"bg-foreground/80 text-transparent select-none"].join(" "),children:e})}function J({children:e,everyone:r,onClick:n,label:s}){let i=s??("string"==typeof e?e:void 0),a=["inline-block max-w-[12rem] truncate align-bottom rounded-[4px] px-1 font-medium",r?"bg-primary/15 text-primary":"bg-accent text-foreground",n?"cursor-pointer transition-colors hover:bg-primary/15 hover:text-primary":""].join(" ");return n?(0,t.jsx)("button",{type:"button",onClick:n,title:i,className:a,children:e}):(0,t.jsx)("span",{title:i,className:a,children:e})}function G({children:e,onClick:r,serverPrefix:n,muted:s,seqSuffix:i,testId:a}){let o="string"==typeof e?e:void 0,l=["inline-flex max-w-[16rem] items-center gap-1 rounded-lg bg-accent px-1 align-bottom font-medium text-foreground",s?"opacity-60":"",r?"group/pill cursor-pointer transition-colors hover:bg-primary/15 hover:text-primary":""].join(" "),d=(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(H.ChannelIcon,{className:"shrink-0 text-xs"}),n&&(0,t.jsxs)("span",{className:"shrink-0 text-muted-foreground transition-colors group-hover/pill:text-primary",children:[n," /"]}),(0,t.jsx)("span",{className:"min-w-0 truncate",children:e}),void 0!==i&&(0,t.jsxs)("span",{className:"shrink-0 font-semibold",children:["#",i]})]});return r?(0,t.jsx)("button",{type:"button",onClick:r,title:o,className:l,"data-testid":a,children:d}):(0,t.jsx)("span",{title:o,className:l,"data-testid":a,children:d})}function V({children:e,onClick:r,muted:n}){let s="string"==typeof e?e:void 0,i=["inline-flex max-w-[16rem] items-center gap-1 rounded-lg bg-accent px-1 align-bottom font-medium text-foreground",n?"opacity-60":"",r?"group/pill cursor-pointer transition-colors hover:bg-primary/15 hover:text-primary":""].join(" "),a=(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(H.ChannelIcon,{className:"shrink-0 text-xs"}),(0,t.jsx)("span",{className:"min-w-0 truncate",children:e})]});return r?(0,t.jsx)("button",{type:"button",onClick:r,title:s,className:i,children:a}):(0,t.jsx)("span",{title:s,className:i,children:a})}e.i(954194);var X=e.i(686988),Y=e.i(855222);function Z(e,t){let r=(0,X.parseNameAndTag)(t);return r?e.find(e=>ee(e.name)===ee(r.name)&&e.discriminator===r.discriminator)??null:null}function ee(e){return e.replace(/[A-Z]/g,e=>e.toLowerCase())}var et=e.i(647854),er=e.i(856063),en=e.i(610934),es=e.i(700519);function ei(e,t){let r=new Set(t);return e.filter(e=>!r.has(e))}var ea=class extends en.Subscribable{#e;#t;#r;#n;#s;#i;#a;#o;#l;#d=[];constructor(e,t,r){super(),this.#e=e,this.#n=r,this.#r=[],this.#s=[],this.#t=[],this.setQueries(t)}onSubscribe(){1===this.listeners.size&&this.#s.forEach(e=>{e.subscribe(t=>{this.#u(e,t)})})}onUnsubscribe(){this.listeners.size||this.destroy()}destroy(){this.listeners=new Set,this.#s.forEach(e=>{e.destroy()})}setQueries(e,t){this.#r=e,this.#n=t,et.notifyManager.batch(()=>{let e=this.#s,t=this.#c(this.#r);t.forEach(e=>e.observer.setOptions(e.defaultedQueryOptions));let r=t.map(e=>e.observer),n=r.map(e=>e.getCurrentResult()),s=e.length!==r.length,i=r.some((t,r)=>t!==e[r]),a=s||i,o=!!a||n.some((e,t)=>{let r=this.#t[t];return!r||!(0,es.shallowEqualObjects)(e,r)});(a||o)&&(a&&(this.#d=t,this.#s=r),this.#t=n,this.hasListeners()&&(a&&(ei(e,r).forEach(e=>{e.destroy()}),ei(r,e).forEach(e=>{e.subscribe(t=>{this.#u(e,t)})})),this.#m()))})}getCurrentResult(){return this.#t}getQueries(){return this.#s.map(e=>e.getCurrentQuery())}getObservers(){return this.#s}getOptimisticResult(e,t){let r=this.#c(e),n=r.map(e=>e.observer.getOptimisticResult(e.defaultedQueryOptions)),s=r.map(e=>e.defaultedQueryOptions.queryHash);return[n,e=>this.#p(e??n,t,s),()=>this.#h(n,r)]}#h(e,t){return t.map((r,n)=>{let s=e[n];return r.defaultedQueryOptions.notifyOnChangeProps?s:r.observer.trackResult(s,e=>{t.forEach(t=>{t.observer.trackProp(e)})})})}#p(e,t,r){if(t){let n=this.#l,s=void 0!==r&&void 0!==n&&(n.length!==r.length||r.some((e,t)=>e!==n[t]));return(!this.#i||this.#t!==this.#o||s||t!==this.#a)&&(this.#a=t,this.#o=this.#t,void 0!==r&&(this.#l=r),this.#i=(0,es.replaceEqualDeep)(this.#i,t(e))),this.#i}return e}#f(){return this.#n?.combine!==void 0&&this.#s.some((e,t)=>e.options.suspense&&this.#t[t]?.data===void 0)}#c(e){let t=new Map;this.#s.forEach(e=>{let r=e.options.queryHash;if(!r)return;let n=t.get(r);n?n.push(e):t.set(r,[e])});let r=[];return e.forEach(e=>{let n=this.#e.defaultQueryOptions(e),s=t.get(n.queryHash)?.shift()??new er.QueryObserver(this.#e,n);r.push({defaultedQueryOptions:n,observer:s})}),r}#u(e,t){let r=this.#s.indexOf(e);if(-1!==r){var n;let e;this.#t=(n=this.#t,(e=n.slice(0))[r]=t,e),this.#m()}}#m(){if(this.hasListeners()){let e=this.#h(this.#t,this.#d),t=this.#f(),r=this.#i,n=t?r:this.#p(e,this.#n?.combine);(t||r!==n)&&et.notifyManager.batch(()=>{this.listeners.forEach(e=>{e(this.#t)})})}}},eo=e.i(838181),el=e.i(342786),ed=e.i(121890),eu=e.i(406818),ec=e.i(653535),em=e.i(374402),ep=e.i(344920);function eh(){let{servers:e}=(0,ep.useServers)(),t=function({queries:e,...t}){let n=(0,eo.useQueryClient)(void 0),s=(0,el.useIsRestoring)(),i=(0,ed.useQueryErrorResetBoundary)(),a=r.useMemo(()=>e.map(e=>{let t=n.defaultQueryOptions(e);return t._optimisticResults=s?"isRestoring":"optimistic",t}),[e,n,s]);a.forEach(e=>{(0,ec.ensureSuspenseTimers)(e);let t=n.getQueryCache().get(e.queryHash);(0,eu.ensurePreventErrorBoundaryRetry)(e,i,t)}),(0,eu.useClearResetErrorBoundary)(i);let[o]=r.useState(()=>new ea(n,a,t)),[l,d,u]=o.getOptimisticResult(a,t.combine),c=!s&&!1!==t.subscribed;r.useSyncExternalStore(r.useCallback(e=>c?o.subscribe(et.notifyManager.batchCalls(e)):es.noop,[o,c]),()=>o.getCurrentResult(),()=>o.getCurrentResult()),r.useEffect(()=>{o.setQueries(a,t)},[a,t,o]);let m=l.some((e,t)=>(0,ec.shouldSuspend)(a[t],e))?l.flatMap((e,t)=>{let r=a[t];if(r&&(0,ec.shouldSuspend)(r,e)){let e=new er.QueryObserver(n,r);return(0,ec.fetchOptimistic)(r,e,i)}return[]}):[];if(m.length>0)throw Promise.all(m);let p=l.find((e,t)=>{let r=a[t];return r&&(0,eu.getHasError)({result:e,errorResetBoundary:i,throwOnError:r.throwOnError,query:n.getQueryCache().get(r.queryHash),suspense:r.suspense})});if(p?.error)throw p.error;return d(u())}({queries:e.map(e=>({queryKey:em.communityKeys.server(e.id),queryFn:(0,ep.serverQueryFn)(e.id)}))}),n=(0,r.useMemo)(()=>{let r={};return e.forEach((e,n)=>{r[e.id]=t[n]?.data}),r},[e,t]);return{directory:(0,r.useMemo)(()=>e.map(e=>{let t=n[e.id],r=t?.categories?.flatMap(e=>e.channels.map(e=>({id:e.id,name:e.name})))??[];return{id:e.id,name:e.name,discriminator:e.discriminator??"",channels:r}}),[e,n]),isLoading:t.some(e=>e.isLoading)}}e.s(["useChannelRefDirectory",0,eh],876673);var ef=e.i(814001),eg=e.i(849050);let ey=Object.freeze([]),ev=Object.freeze([]);async function ex(e,t,r){let n=t?`?tag=${encodeURIComponent(t)}`:"",{threads:s,parentType:i,serverId:a}=await (0,eg.apiFetch)(`/api/community/channels/${e}/threads${n}`,{signal:r}),o=s.map(e=>e.parentMessageId).filter(e=>!!e),l=s.map(e=>e.id),[d,u,c]=await Promise.all([(0,eg.apiFetch)("/api/community/messages/batch",{method:"POST",body:JSON.stringify({channelId:e,ids:o,firstInChannelIds:l}),signal:r}),(0,eg.apiFetch)("/api/community/messages/tags/batch",{method:"POST",body:JSON.stringify({channelId:e,messageIds:o}),signal:r}),(0,eg.apiFetch)("/api/community/channels/participants/batch",{method:"POST",body:JSON.stringify({parentChannelId:e,channelIds:l}),signal:r})]);return{threads:s,parentType:i,serverId:a,openerIds:o,...d,...u,...c}}function eb(e){let t=!!e,r=(0,ef.useQuery)({queryKey:t?em.communityKeys.threads(e):em.communityKeys.threads("__none__"),queryFn:t?async({signal:t}={})=>{let r=await ex(e,null,t),n=new Map(r.messages.map(e=>[e.id,e])),s=new Map(r.firstMessages.map(e=>[e.channelId,e]));return{threads:r.threads.map(e=>{let t=e.parentMessageId?n.get(e.parentMessageId):void 0,i=s.get(e.id);return{id:e.id,name:"forum"===r.parentType?t?.content.trim()?t.content:e.name.trim()||"Post":e.name,messageCount:e.messageCount??0,lastMessageAt:e.lastMessageAt??e.createdAt,parent:{authorName:t?.authorName??"",text:(t?.content??i?.content??"").slice(0,100)},...t?{parentSeq:t.seq}:{},...e.parentMessageId?{openerMessageId:e.parentMessageId}:{}}}),parentType:r.parentType,serverId:r.serverId,parentChannelId:e}}:()=>Promise.reject(Error("disabled")),enabled:t});return{...r,threads:r.data?.threads??ey}}e.s(["useForumTags",0,function(e,t){return(0,ef.useQuery)({queryKey:em.communityKeys.forumTags(e??"__none__"),queryFn:()=>(0,eg.apiFetch)(`/api/community/channels/${e}/messages/tags`),enabled:!!e&&t})},"usePins",0,function(e){let t=!!e,r=(0,ef.useQuery)({queryKey:t?em.communityKeys.pins(e):em.communityKeys.pins("__none__"),queryFn:t?()=>(0,eg.apiFetch)(`/api/community/channels/${e}/pins`):()=>Promise.reject(Error("disabled")),enabled:t});return{...r,pins:r.data?.pins??ev}},"useThreads",0,eb],960092);var ej=e.i(923533),ew=e.i(381153);let eS=/(https?:\/\/[^\s/]+)?\/c\/invite\/([A-Za-z0-9_-]{6,64})/g,ek={spoiler:[],mention:["dataEveryone","dataTag"],channelref:[],serverref:[]},eC=["mention","channelref","serverref"],eN={spoiler:({children:e})=>(0,t.jsx)(W,{children:e}),mention:({children:e,...r})=>(0,t.jsx)(J,{everyone:"1"===r["data-everyone"],children:e}),channelref:function({children:e}){let n=String(e??""),s=(0,ej.useCommunityStore)(e=>e.currentServerId),i=(0,ej.useCommunityStore)(e=>e.currentChannelId),a=(0,ej.useUiHandlers)(),{directory:o,isLoading:l}=eh(),d=(0,r.useMemo)(()=>(function(e,t){let r;try{r=(0,Y.parseRef)(t)}catch{return null}let n=Z(e,r.server);if(!n)return null;let s=n.channels.find(e=>e.id===r.channel)??n.channels.find(e=>e.name===r.channel);return s?{server:n,channel:s,...void 0!==r.threadRootSeq?{threadRootSeq:r.threadRootSeq}:{},...void 0!==r.seq?{seq:r.seq}:{}}:null})(o,n),[o,n]),u=d?.threadRootSeq!==void 0?d.channel.id:null,{threads:c,isLoading:m}=eb(u),p=u?m?void 0:c.find(e=>e.parentSeq===d?.threadRootSeq)??null:null,h=function(e){let{ref:t,resolved:r,directoryLoading:n,thread:s,currentServerId:i}=e;if(!r)return n?{kind:"muted",label:t}:{kind:"plain",text:t};let a=r.server.id!==i?r.server.name:void 0;return void 0===r.threadRootSeq?{kind:"pill",label:r.channel.name,serverPrefix:a,href:{serverId:r.server.id,channelId:r.channel.id},...void 0!==r.seq?{messageSuffix:r.seq}:{}}:void 0===s?{kind:"muted",label:r.channel.name}:null===s?{kind:"pill",label:r.channel.name,serverPrefix:a,href:{serverId:r.server.id,channelId:r.channel.id},threadSuffix:r.threadRootSeq,...void 0!==r.seq?{messageSuffix:r.seq}:{}}:{kind:"pill",label:s.name,serverPrefix:a,href:{serverId:r.server.id,channelId:s.id},...void 0!==r.seq?{messageSuffix:r.seq}:{}}}({ref:n,resolved:d,directoryLoading:l,thread:p,currentServerId:s});if("plain"===h.kind)return(0,t.jsx)(t.Fragment,{children:h.text});if("muted"===h.kind)return(0,t.jsx)(G,{muted:!0,children:h.label});let f=void 0!==h.messageSuffix,g=h.href.channelId===i,y=f?g?()=>a.jumpToSeq?.(h.messageSuffix):()=>a.openMessageContext?.({serverId:h.href.serverId,channelId:h.href.channelId,label:h.label,seq:h.messageSuffix}):()=>a.navigate?.(h.href.serverId,h.href.channelId);return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(G,{serverPrefix:h.serverPrefix,onClick:y,seqSuffix:h.messageSuffix,testId:ew.tid.channelRefPill(h.href.channelId),children:h.label}),void 0!==h.threadSuffix&&(0,t.jsxs)("span",{className:"text-muted-foreground",children:["/#",h.threadSuffix]})]})},serverref:function({children:e}){let n=String(e??""),s=(0,ej.useUiHandlers)(),{directory:i}=eh(),a=(0,r.useMemo)(()=>(function(e,t){if(!t.startsWith("/"))return null;let r=t.slice(1);return!r||r.includes("/")?null:Z(e,r)})(i,n),[i,n]),o=function(e){let{ref:t,resolved:r}=e;return r?{kind:"pill",label:r.name,serverId:r.id}:{kind:"plain",text:t}}({ref:n,resolved:a});return"plain"===o.kind?(0,t.jsx)(t.Fragment,{children:o.text}):(0,t.jsx)(V,{onClick:()=>s.navigate?.(o.serverId),children:o.label})}};var eR=e.i(624806),eM=e.i(746632),eI=e.i(280958),eO=e.i(934270),eP=e.i(462553),eE=e.i(186339),ez=e.i(728886);function e_({token:e}){let r=(0,eR.useRouter)(),{servers:n}=(0,ep.useServers)(),s=(0,eP.useJoinServer)(),{data:i,isLoading:a,isError:o}=(0,ef.useQuery)({queryKey:em.communityKeys.inviteInfo(e),queryFn:()=>(0,eg.apiFetch)(`/api/community/invites/${e}/info`),staleTime:6e4,retry:!1}),l=i?n.find(e=>e.id===i.serverId)?.id:void 0,d=async()=>{try{let t=await s.mutateAsync({inviteCode:e});(0,eM.toast)("Joined server"),r.push(`/c/channels/${t.serverId}`)}catch(t){let e=t instanceof Error?t.message:"Couldn't join the server — try again";(0,eM.toast)(e)}},u="flex max-w-100 items-center gap-3 rounded-md border border-border bg-card p-3";return a?(0,t.jsxs)("div",{className:u,children:[(0,t.jsx)(ez.Skeleton,{className:"size-12 shrink-0 rounded-lg"}),(0,t.jsxs)("div",{className:"min-w-0 flex-1 space-y-2",children:[(0,t.jsx)(ez.Skeleton,{className:"h-3 w-24 rounded"}),(0,t.jsx)(ez.Skeleton,{className:"h-3 w-16 rounded"})]}),(0,t.jsx)(ez.Skeleton,{className:"h-8 w-16 rounded-md"})]}):o||!i?(0,t.jsx)("div",{className:`${u} text-sm text-muted-foreground`,children:"This invite has expired or is no longer valid."}):(0,t.jsxs)("div",{className:u,children:[(0,t.jsx)(eO.ServerIcon,{id:i.serverId,name:i.serverName,initial:(0,eI.avatarInitial)(i.serverName),icon:i.serverIcon,size:48,className:"shrink-0 rounded-lg"}),(0,t.jsxs)("div",{className:"min-w-0 flex-1",children:[(0,t.jsx)("div",{className:"text-xs font-medium text-muted-foreground",children:"You've been invited to join"}),(0,t.jsx)("div",{className:"truncate font-medium",children:i.serverName}),(0,t.jsxs)("div",{className:"text-xs text-muted-foreground",children:[i.memberCount," ",1===i.memberCount?"member":"members"]})]}),l?(0,t.jsx)(eE.Button,{size:"sm",onClick:()=>r.push(`/c/channels/${l}`),children:"Go to Server"}):(0,t.jsx)(eE.Button,{size:"sm",onClick:d,disabled:s.isPending,children:s.isPending?"Joining…":"Join"})]})}let eq={...b.defaultSchema,protocols:{...b.defaultSchema.protocols,href:[...b.defaultSchema.protocols?.href??[],"tel"]},attributes:{...b.defaultSchema.attributes,code:[...b.defaultSchema.attributes?.code??[],"metastring"]},tagNames:[...b.defaultSchema.tagNames??[],...Object.keys(ek)]};for(let[e,t]of Object.entries(ek))eq.attributes={...eq.attributes,[e]:t};let eT=[[x.default,eq],[j.harden,{allowedImagePrefixes:["*"],allowedLinkPrefixes:["*"],allowedProtocols:["*"],defaultOrigin:void 0,allowDataImages:!0}]],eF=(0,r.memo)(function({text:e,onOpenProfile:n}){let s=(0,r.useMemo)(()=>(function(e){let t=new Set,r=[],n=RegExp(eS.source,"g");for(let s of e.matchAll(n)){let e=s[2];!e||t.has(e)||(t.add(e),r.push(e))}return r})(e),[e]),i=(0,r.useMemo)(()=>({...eN,mention:({children:e,...r})=>{let s="1"===r["data-everyone"],i=String(e??"").replace(/^@/,"").replace(/#\d{4,}$/,""),a=r["data-tag"],o="string"==typeof a?a:void 0;return(0,t.jsx)(J,{everyone:s,onClick:!s&&n?e=>n(i,e,o):void 0,children:e})}}),[n]);return(0,t.jsxs)("div",{className:"markdown markdown-chat wrap-anywhere text-[15px] leading-snug",children:[(0,t.jsx)(v.Streamdown,{parseIncompleteMarkdown:!1,plugins:{mermaid:N.mermaid,cjk:R.cjk,math:N.math},remarkPlugins:[w.default,L,C],remarkRehypeOptions:{handlers:B},rehypePlugins:eT,linkSafety:{enabled:!1},controls:{code:{copy:!0,download:!1},table:{copy:!0,download:!1,fullscreen:!0}},literalTagContent:eC,components:i,children:e}),s.length>0&&(0,t.jsx)("div",{className:"flex flex-col gap-2 pb-2",children:s.map(e=>(0,t.jsx)(e_,{token:e},e))})]})});e.s(["MessageBody",0,eF],574727);var eQ=e.i(797473);function e$({approval:e}){let r=(0,eQ.useOwnerDecision)(),{status:n,waitingOn:s,otherProfile:i,botProfile:a,waitingOnProfile:o}=e,l=`${i.name}#${i.discriminator}`,d=async t=>{try{await r.mutateAsync({friendshipId:e.friendshipId,decision:t})}catch(t){let e=t instanceof Error?t.message:"Couldn't record your decision — try again";(0,eM.toast)(e)}},u="flex max-w-100 flex-col gap-3 rounded-md border border-border bg-card p-3",c=(0,t.jsxs)("div",{className:"flex items-center gap-3",children:[i.image?(0,t.jsx)("img",{src:i.image,alt:i.name,className:"size-10 shrink-0 rounded-full object-cover"}):(0,t.jsx)("div",{className:"grid size-10 shrink-0 place-items-center rounded-full bg-primary text-sm font-semibold text-primary-foreground",children:(0,eI.avatarInitial)(i.name)}),(0,t.jsxs)("div",{className:"min-w-0 flex-1",children:[(0,t.jsx)("div",{className:"truncate font-medium",children:l}),(0,t.jsxs)("div",{className:"text-xs text-muted-foreground",children:[i.name," wants to be friends with ",a.name,"."]})]})]}),m=(e,r=!1)=>(0,t.jsxs)("div",{className:u,"data-testid":"bot-approval-card","data-approval-status":n,children:[c,(0,t.jsx)("div",{className:`text-xs font-medium ${r?"text-muted-foreground italic":"text-muted-foreground"}`,children:e})]});if("approved"===n)return m("Approved");if("denied"===n)return m("Denied");if("superseded"===n)return m("Replaced by a newer request",!0);if("cancelled"===n)return m(`${i.name} withdrew the request`,!0);if("addressee"===s||"other-owner"===s){let e=o?.name??"them";return m(`Approved — waiting on ${e}`)}return(0,t.jsxs)("div",{className:u,"data-testid":"bot-approval-card","data-approval-status":n,children:[c,(0,t.jsxs)("div",{className:"flex gap-2",children:[(0,t.jsx)(eE.Button,{size:"sm",className:"h-11 flex-1 sm:h-9",onClick:()=>d("approve"),disabled:r.isPending,children:"Approve"}),(0,t.jsx)(eE.Button,{size:"sm",variant:"destructive",className:"h-11 flex-1 sm:h-9",onClick:()=>d("deny"),disabled:r.isPending,children:"Deny"})]})]})}var eA=e.i(481178),eD=e.i(329686),eK=e.i(334240);function eU(e){let t=[];return e.onAddReaction&&t.push({label:"Add Reaction",onClick:e.onAddReaction}),e.onReply&&t.push({label:"Reply",icon:l.Reply,onClick:e.onReply}),e.onCreateThread&&t.push({label:"Create Thread",onClick:e.onCreateThread}),e.onPin&&t.push(e.pinned?{label:"Unpin Message",onClick:e.onPin}:{label:"Pin Message",onClick:e.onPin}),e.onMark&&t.push(e.marked?{label:"Unmark",onClick:e.onMark}:{label:"Mark",onClick:e.onMark}),e.onCopy&&t.push({label:"Copy Text",onClick:e.onCopy}),e.onEdit&&t.push({label:"Edit Message",onClick:e.onEdit}),e.onShare&&t.push({label:"Share as Image",icon:p,onClick:e.onShare}),t}function eL({icon:e}){return e?(0,t.jsx)(e,{className:"size-4"}):(0,t.jsx)("span",{className:"size-4","aria-hidden":!0})}function eB(e){return(0,t.jsx)(t.Fragment,{children:eU(e).map(e=>(0,t.jsxs)(f.ContextMenuItem,{onClick:e.onClick,className:e.danger?"text-destructive data-highlighted:bg-destructive/10 data-highlighted:text-destructive":"",children:[(0,t.jsx)(eL,{icon:e.icon})," ",e.label]},e.label))})}function eH(e){return(0,t.jsx)(t.Fragment,{children:eU(e).map(e=>(0,t.jsxs)(g.DropdownMenuItem,{onClick:e.onClick,variant:e.danger?"destructive":"default",children:[(0,t.jsx)(eL,{icon:e.icon})," ",e.label]},e.label))})}var eW=e.i(973733),eJ=e.i(132977),eG=e.i(275130);function eV(e,t){return e&&t?`${e}/${t}`:"auto"}e.s(["attachmentAspectRatio",0,eV],617381);let eX=(0,r.memo)(function({m:e,compact:a,pinned:v,onOpenThread:x,onOpenProfile:b,onJumpReply:j,onToggleReaction:w,onReact:S,onReply:k,onPin:C,onMark:N,onCreateThread:R,onCopy:M,onEdit:I,onRetry:O,onDismiss:P,onPreviewImage:E,onDownloadFile:z,highlighted:_,resolveUserName:q,onImageLoad:T,selectMode:F,selected:Q,onToggleSelect:$,onEnterSelect:A,onShareSingle:D}){let[K,U]=(0,r.useState)(!1),[L,B]=(0,r.useState)(!1),{data:H}=(0,n.useMessageMarked)(e.id,(K||L)&&!!N),[W,J]=(0,r.useState)(!1);if("system"===e.type){let r="thread"===e.systemKind?s.MessagesSquare:i.UserPlus;return(0,t.jsxs)("div",{className:"flex items-center gap-2 px-2 py-1 text-sm text-muted-foreground",children:[(0,t.jsx)(r,{className:"size-4 shrink-0"}),(0,t.jsx)("span",{className:"min-w-0 wrap-break-word",children:e.content}),(0,t.jsx)("span",{className:"shrink-0 text-xs",suppressHydrationWarning:!0,children:(0,eW.formatMessageTime)(e.createdAt)})]})}let G=!a&&!e.approval&&!!e.content,V={onAddReaction:S?()=>S("👍"):void 0,onReply:k,onPin:C,pinned:v,onMark:N,marked:H?.marked??!1,onCreateThread:e.thread?void 0:R,onCopy:M,onEdit:I,onShare:G?A??D:void 0},X=eU(V).length>0,Y=!a&&!e.failed&&X,Z=Y&&!W?()=>J(!0):void 0,ee=F&&G,et=(0,t.jsxs)("div",{className:["group relative -mx-2 flex gap-2 rounded px-2 transition-colors",e.grouped?"py-0":"mt-3 pt-1.5 pb-0",ee?"cursor-pointer pl-9":"",Q||_?"bg-primary/10":"hover:bg-accent/40"].join(" "),onPointerEnter:Z,onFocusCapture:Z,onKeyDownCapture:Z,onClick:ee?$:void 0,children:[F&&ee&&(0,t.jsx)("span",{"aria-hidden":!0,className:["absolute left-1.5 top-1/2 z-20 grid size-4 -translate-y-1/2 place-items-center rounded-[5px] border transition-colors",Q?"border-primary bg-primary text-primary-foreground":"border-muted-foreground/50 bg-card"].join(" "),children:Q&&(0,t.jsx)(h.Check,{className:"size-3",strokeWidth:3})}),(0,t.jsxs)("div",{className:"min-w-0 flex-1",children:[Y&&W&&!F&&(0,t.jsxs)("div",{className:`absolute right-2 z-20 flex items-center gap-1 rounded-lg border border-border/60 bg-card px-2 py-1 shadow-(--e1) transition-opacity duration-150 ${e.grouped?"-top-2":"-top-3"} ${K?"opacity-100":"pointer-events-none opacity-0 group-hover:pointer-events-auto group-hover:opacity-100"}`,children:[null!=e.seq&&e.seq>0&&(0,t.jsxs)("span",{className:"mr-0.5 select-none font-mono text-xs text-muted-foreground","aria-label":`Message ${e.seq}`,children:[(0,t.jsx)("span",{className:"opacity-60",children:"#"}),e.seq]}),S&&(0,t.jsx)(eA.EmojiPickerPopover,{side:"bottom",align:"end",onPick:e=>S(e),onOpenChange:U,children:(0,t.jsx)("button",{"data-testid":ew.tid.reactionAdd(e.id),className:"grid size-7 place-items-center rounded text-muted-foreground hover:bg-accent hover:text-foreground focus-visible:ring-2 focus-visible:ring-ring focus-visible:outline-none aria-expanded:text-foreground","aria-label":"Add reaction",children:(0,t.jsx)(o,{className:"size-4"})})}),k&&(0,t.jsx)("button",{onClick:k,className:"grid size-7 place-items-center rounded text-muted-foreground hover:bg-accent hover:text-foreground focus-visible:ring-2 focus-visible:ring-ring focus-visible:outline-none","aria-label":"Reply",children:(0,t.jsx)(l.Reply,{className:"size-4"})}),G&&(A||D)&&(0,t.jsx)("button",{"data-testid":ew.tid.messageShare(e.id),onClick:A??D,className:"grid size-7 place-items-center rounded text-muted-foreground hover:bg-accent hover:text-foreground focus-visible:ring-2 focus-visible:ring-ring focus-visible:outline-none","aria-label":"Share as image",children:(0,t.jsx)(p,{className:"size-4"})}),(0,t.jsxs)(g.DropdownMenu,{onOpenChange:U,children:[(0,t.jsx)(g.DropdownMenuTrigger,{render:(0,t.jsx)("button",{"aria-label":"More actions",className:"grid size-7 place-items-center rounded text-muted-foreground hover:bg-accent hover:text-foreground focus-visible:ring-2 focus-visible:ring-ring focus-visible:outline-none aria-expanded:text-foreground"}),children:(0,t.jsx)(d.MoreHorizontal,{className:"size-4"})}),(0,t.jsx)(g.DropdownMenuContent,{align:"end",className:"w-48",children:(0,t.jsx)(eH,{...V})})]})]}),e.replyTo&&(0,t.jsxs)("button",{onClick:j,className:"mb-1 ml-13 flex min-w-0 max-w-[calc(100%-3.25rem)] items-center gap-2 text-[13px] text-muted-foreground hover:text-foreground",children:[(0,t.jsx)("div",{className:"h-2 w-4 shrink-0 rounded-tl-md border-l-2 border-t-2 border-border"}),e.replyTo.deleted?(0,t.jsx)("span",{className:"italic text-muted-foreground",children:"Original message was deleted"}):(0,t.jsxs)(t.Fragment,{children:[(0,t.jsxs)("span",{className:"shrink-0 font-medium text-foreground/80",children:["@",e.replyTo.authorName]}),(0,t.jsx)("span",{className:"min-w-0 truncate",children:(0,eG.stripInlineMarkup)(e.replyTo.text)})]})]}),(0,t.jsxs)("div",{className:"flex gap-3",children:[e.grouped?(0,t.jsx)("div",{className:"w-10 shrink-0"}):(0,t.jsx)("button",{onClick:t=>b?.(e.authorName??"",t,void 0,e.authorId),className:"shrink-0 self-start",children:(0,t.jsx)(y.Avatar,{label:e.authorAvatar??"?",seed:e.authorId,size:40})}),(0,t.jsxs)("div",{className:"min-w-0 flex-1",children:[!e.grouped&&(0,t.jsxs)("div",{className:"flex items-baseline gap-2",children:[(0,t.jsx)("button",{onClick:t=>b?.(e.authorName??"",t,void 0,e.authorId),className:"min-w-0 max-w-full truncate text-[15px] font-semibold hover:underline",style:{color:e.color??"var(--foreground)"},children:e.authorName}),(0,t.jsx)("span",{className:"shrink-0 text-xs text-muted-foreground",suppressHydrationWarning:!0,children:(0,eW.formatMessageTime)(e.createdAt)})]}),e.approval?(0,t.jsx)(e$,{approval:e.approval}):e.content&&(0,t.jsx)(eF,{text:e.content,onOpenProfile:b}),e.attachments&&(0,t.jsx)("div",{className:"mt-2 flex flex-col gap-2 pb-2",children:e.attachments.map((e,r)=>"image"===e.kind?(0,t.jsx)("button",{onClick:()=>E?.(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:eV(e.width,e.height)},onLoad:T})},r):(0,t.jsxs)("button",{onClick:()=>z?.(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)(u.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}),(0,t.jsx)("div",{className:"text-xs text-muted-foreground",children:e.size})]}),(0,t.jsx)(c.Download,{className:"size-4 shrink-0 text-muted-foreground"})]},r))}),e.embeds&&e.embeds.length>0&&(0,t.jsx)("div",{className:"mt-2 flex flex-col gap-2 pb-2",children:e.embeds.map((e,r)=>(0,t.jsxs)("article",{className:"flex max-w-108 overflow-hidden rounded-lg border border-border bg-card p-3",children:[e.color&&(0,t.jsx)("span",{className:"mt-1.5 mr-3 size-2 shrink-0 self-start rounded-full",style:{backgroundColor:e.color}}),(0,t.jsxs)("div",{className:"min-w-0 flex-1",children:[e.author&&(0,t.jsxs)("div",{className:"mb-2 flex items-center gap-2",children:[e.author.iconUrl?(0,t.jsx)("img",{src:e.author.iconUrl,alt:"",className:"size-5 rounded-full"}):(0,t.jsx)("span",{className:"grid size-5 place-items-center rounded-full bg-muted text-[9px] font-semibold text-muted-foreground",children:(0,eI.avatarInitial)(e.author.name)}),e.author.url?(0,t.jsx)("a",{href:e.author.url,target:"_blank",rel:"noopener noreferrer",className:"text-xs font-medium hover:underline",children:e.author.name}):(0,t.jsx)("span",{className:"text-xs font-medium",children:e.author.name})]}),e.provider&&(0,t.jsx)("div",{className:"text-xs text-muted-foreground",children:e.provider}),e.url?(0,t.jsx)("a",{href:e.url,target:"_blank",rel:"noopener noreferrer",className:"mt-1 block font-medium text-primary hover:underline",children:e.title}):(0,t.jsx)("div",{className:"mt-1 font-medium",children:e.title}),e.desc&&(0,t.jsx)("p",{className:"mt-1 text-sm text-muted-foreground",children:e.desc}),e.fields&&(0,t.jsx)("div",{className:"mt-2 flex flex-wrap gap-x-4 gap-y-2",children:e.fields.map((e,r)=>(0,t.jsxs)("div",{className:e.inline?"min-w-[30%] flex-1":"w-full",children:[(0,t.jsx)("div",{className:"text-xs font-semibold",children:e.name}),(0,t.jsx)("div",{className:"text-xs text-muted-foreground",children:e.value})]},r))}),e.image&&(0,t.jsx)("img",{src:e.image.url,alt:"",width:e.image.width,height:e.image.height,className:"mt-2 w-full max-w-100 rounded-sm object-cover",style:{aspectRatio:e.image.width&&e.image.height?`${e.image.width}/${e.image.height}`:"40/21"},onLoad:T}),e.footer&&(0,t.jsxs)("div",{className:"mt-2 flex items-center gap-2 text-[11px] text-muted-foreground",children:[e.footer.iconUrl&&(0,t.jsx)("img",{src:e.footer.iconUrl,alt:"",className:"size-4 rounded-full"}),(0,t.jsx)("span",{children:e.footer.text})]})]}),e.thumbnail&&(0,t.jsx)("img",{src:e.thumbnail.url,alt:"",className:"ml-3 size-16 shrink-0 rounded-md object-cover"})]},r))}),e.reactions&&(0,t.jsxs)("div",{className:"mt-2 flex flex-wrap gap-1",children:[e.reactions.map((e,r)=>{let n=e.userIds?.length?e.userIds.map(e=>q?.(e)??(0,eJ.displayName)(null)).join(", "):void 0,s=(0,t.jsxs)("button",{onClick:()=>w?.(e.emoji),className:["flex h-6 items-center gap-1 rounded-md 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)(eK.NumberTicker,{value:e.count,className:"text-xs text-muted-foreground"})]});return n&&W?(0,t.jsxs)(eD.Tooltip,{children:[(0,t.jsx)(eD.TooltipTrigger,{render:s}),(0,t.jsxs)(eD.TooltipContent,{children:["Reacted by ",n]})]},r):(0,t.jsx)("div",{children:s},r)}),W?(0,t.jsxs)(eD.Tooltip,{children:[(0,t.jsx)(eA.EmojiPickerPopover,{side:"top",align:"start",onPick:e=>S?.(e),children:(0,t.jsx)(eD.TooltipTrigger,{render:(0,t.jsx)("button",{className:"grid h-6 w-7 place-items-center rounded-md bg-secondary text-muted-foreground hover:text-foreground","aria-label":"Add reaction"}),children:(0,t.jsx)(o,{className:"size-4"})})}),(0,t.jsx)(eD.TooltipContent,{children:"Add reaction"})]}):(0,t.jsx)("button",{className:"grid h-6 w-7 place-items-center rounded-md bg-secondary text-muted-foreground hover:text-foreground","aria-label":"Add reaction",children:(0,t.jsx)(o,{className:"size-4"})})]}),e.thread&&!a&&(0,t.jsxs)("button",{"data-testid":ew.tid.threadIndicator(e.id),onClick:()=>x(e.thread.id),className:"group/thread mt-2 flex items-center gap-2 rounded-md px-2 py-1 text-sm hover:bg-accent/60",children:[(0,t.jsx)(s.MessagesSquare,{className:"size-4 text-primary"}),(0,t.jsxs)("span",{className:"font-medium text-primary",children:[e.thread.messageCount," ",1===e.thread.messageCount?"reply":"replies"]}),e.thread.lastReplyAt&&(0,t.jsxs)("span",{className:"text-xs text-muted-foreground group-hover/thread:hidden",suppressHydrationWarning:!0,children:["Last reply ",(0,eW.formatMessageTime)(e.thread.lastReplyAt)]}),(0,t.jsx)("span",{className:"hidden text-xs text-muted-foreground group-hover/thread:inline",children:"View thread"})]}),e.failed&&(0,t.jsxs)("div",{className:"mt-1 flex items-center gap-3 text-xs text-destructive",children:[(0,t.jsxs)("button",{onClick:O,className:"flex items-center gap-2 hover:underline",children:[(0,t.jsx)(m.X,{className:"size-3.5"})," Message failed to send. Click to retry."]}),P&&(0,t.jsx)("button",{onClick:P,className:"text-muted-foreground hover:text-foreground hover:underline",children:"Dismiss"})]})]})]})]})]});return Y&&W&&!F?(0,t.jsxs)(f.ContextMenu,{onOpenChange:B,children:[(0,t.jsx)(f.ContextMenuTrigger,{className:"select-text",render:et}),(0,t.jsx)(f.ContextMenuContent,{className:"w-48",children:(0,t.jsx)(eB,{...V})})]}):et},function(e,t){if(e.m!==t.m){let r=e.m,n=t.m;if(r.id!==n.id||r.type!==n.type||r.content!==n.content||r.grouped!==n.grouped||r.failed!==n.failed||r.authorName!==n.authorName||r.authorAvatar!==n.authorAvatar||r.color!==n.color||r.createdAt!==n.createdAt||r.reactions!==n.reactions||r.attachments!==n.attachments||r.embeds!==n.embeds||r.replyTo!==n.replyTo||r.thread!==n.thread||r.seq!==n.seq)return!1}return e.compact===t.compact&&e.pinned===t.pinned&&e.highlighted===t.highlighted&&e.onOpenThread===t.onOpenThread&&e.onOpenProfile===t.onOpenProfile&&e.onJumpReply===t.onJumpReply&&e.onToggleReaction===t.onToggleReaction&&e.onReact===t.onReact&&e.onReply===t.onReply&&e.onPin===t.onPin&&e.onMark===t.onMark&&e.onCreateThread===t.onCreateThread&&e.onCopy===t.onCopy&&e.onEdit===t.onEdit&&e.onRetry===t.onRetry&&e.onDismiss===t.onDismiss&&e.onPreviewImage===t.onPreviewImage&&e.onDownloadFile===t.onDownloadFile&&e.resolveUserName===t.resolveUserName&&e.onImageLoad===t.onImageLoad&&e.selectMode===t.selectMode&&e.selected===t.selected&&e.onToggleSelect===t.onToggleSelect&&e.onEnterSelect===t.onEnterSelect&&e.onShareSingle===t.onShareSingle});e.s(["Message",0,eX],133491)},934270,e=>{"use strict";var t=e.i(633940);e.i(400175);var r=e.i(226318),n=e.i(613349);e.s(["ServerIcon",0,function({id:e,name:s,initial:i,icon:a,size:o=40,className:l}){return(0,t.jsx)("div",{className:(0,n.cn)("relative grid place-items-center overflow-hidden rounded-xl font-brand font-bold",a?"bg-secondary text-foreground":"text-white [text-shadow:0_1px_2px_rgb(0_0_0/0.35)]",l),style:{width:o,height:o,fontSize:Math.round(.5*o)},children:a?(0,t.jsx)("img",{src:a,alt:s,className:"size-full object-cover"}):(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(r.SeededBackdrop,{seed:e}),(0,t.jsx)("span",{className:"relative -translate-x-0.5 [-webkit-text-stroke:0.5px_currentColor]",children:i})]})})}])},797473,e=>{"use strict";var t=e.i(457725),r=e.i(838181),n=e.i(849050),s=e.i(374402);function i(e,n){let i=(0,r.useQueryClient)();return(0,t.useMutation)({mutationFn:async({friendshipId:t})=>{await e(t)},onMutate:async e=>{let t=s.communityKeys.friends();await i.cancelQueries({queryKey:t});let r=i.getQueryData(t);return i.setQueryData(t,t=>n(t,e.friendshipId)),{snapshot:r}},onError:(e,t,r)=>{r?.snapshot&&i.setQueryData(s.communityKeys.friends(),r.snapshot)},onSuccess:()=>{i.invalidateQueries({queryKey:s.communityKeys.friends()})}})}e.s(["useAcceptFriendRequest",0,function(){return i(e=>(0,n.apiFetch)(`/api/community/friends/${e}/accept`,{method:"POST"}),(e,t)=>e?{...e,pending:e.pending.filter(e=>e.id!==t)}:e)},"useBlockUser",0,function(){let e=(0,r.useQueryClient)();return(0,t.useMutation)({mutationFn:async({userId:e})=>{await (0,n.apiFetch)(`/api/community/users/${e}/block`,{method:"POST"})},onSuccess:()=>{e.invalidateQueries({queryKey:s.communityKeys.friends()})}})},"useCancelBotFriendRequest",0,function(){let e=(0,r.useQueryClient)();return(0,t.useMutation)({mutationFn:async({requestId:e})=>{await (0,n.apiFetch)(`/api/community/friends/${e}`,{method:"DELETE"})},onMutate:async({requestId:t})=>{let r=s.communityKeys.friends();await e.cancelQueries({queryKey:r});let n=e.getQueryData(r);return e.setQueryData(r,e=>e?{...e,pending:e.pending.filter(e=>e.id!==t)}:e),{snapshot:n}},onError:(t,r,n)=>{n?.snapshot&&e.setQueryData(s.communityKeys.friends(),n.snapshot)},onSuccess:()=>{e.invalidateQueries({queryKey:s.communityKeys.friends()})}})},"useOwnerDecision",0,function(){let e=(0,r.useQueryClient)();return(0,t.useMutation)({mutationFn:async({friendshipId:e,decision:t})=>{await (0,n.apiFetch)(`/api/community/friends/${e}/owner-decision`,{method:"POST",body:JSON.stringify({decision:t})})},onSuccess:()=>{e.invalidateQueries({queryKey:s.communityKeys.friends()})}})},"useRejectFriendRequest",0,function(){return i(e=>(0,n.apiFetch)(`/api/community/friends/${e}/reject`,{method:"POST"}),(e,t)=>e?{...e,pending:e.pending.filter(e=>e.id!==t)}:e)},"useRemoveFriend",0,function(){return i(e=>(0,n.apiFetch)(`/api/community/friends/${e}`,{method:"DELETE"}),(e,t)=>e?{...e,friends:e.friends.filter(e=>e.id!==t)}:e)},"useSendFriendRequest",0,function(){let e=(0,r.useQueryClient)();return(0,t.useMutation)({mutationFn:async({username:e,userId:t})=>{await (0,n.apiFetch)("/api/community/friends/request",{method:"POST",body:JSON.stringify({userId:t,username:e})})},onSuccess:()=>{e.invalidateQueries({queryKey:s.communityKeys.friends()})}})},"useUnblockUser",0,function(){let e=(0,r.useQueryClient)();return(0,t.useMutation)({mutationFn:async({userId:e})=>{await (0,n.apiFetch)(`/api/community/users/${e}/unblock`,{method:"POST"})},onMutate:async t=>{let r=s.communityKeys.friends();await e.cancelQueries({queryKey:r});let n=e.getQueryData(r);return e.setQueryData(r,e=>e?{...e,blocked:e.blocked.filter(e=>(e.userId??e.id)!==t.userId)}:e),{snapshot:n}},onError:(t,r,n)=>{n?.snapshot&&e.setQueryData(s.communityKeys.friends(),n.snapshot)},onSuccess:()=>{e.invalidateQueries({queryKey:s.communityKeys.friends()})}})}])},462553,e=>{"use strict";var t=e.i(457725),r=e.i(838181),n=e.i(849050),s=e.i(374402),i=e.i(280958),a=e.i(923533),o=e.i(357439);function l(e){o.useMessageStreamStore.getState().removeServer(e);let t=a.useCommunityStore.getState();t.currentServerId===e&&(t.setCurrentChannelMeta(null),t.setCurrentChannelId(null),t.setCurrentServerId(null))}e.s(["useCreateServer",0,function(){let e=(0,r.useQueryClient)();return(0,t.useMutation)({mutationFn:async({name:e})=>(0,n.apiFetch)("/api/community/servers",{method:"POST",body:JSON.stringify({name:e})}),onSuccess:()=>{e.invalidateQueries({queryKey:s.communityKeys.servers()})}})},"useDeleteServer",0,function(){let e=(0,r.useQueryClient)();return(0,t.useMutation)({mutationFn:async({serverId:e})=>{await (0,n.apiFetch)(`/api/community/servers/${e}`,{method:"DELETE"})},onMutate:async t=>{let r=s.communityKeys.servers();await e.cancelQueries({queryKey:r});let n=e.getQueryData(r);return e.setQueryData(r,e=>e?{...e,servers:e.servers.filter(e=>e.id!==t.serverId)}:e),{snapshot:n}},onError:(t,r,n)=>{n?.snapshot&&e.setQueryData(s.communityKeys.servers(),n.snapshot)},onSuccess:(t,r)=>{e.removeQueries({queryKey:s.communityKeys.server(r.serverId)}),l(r.serverId)}})},"useJoinServer",0,function(){let e=(0,r.useQueryClient)();return(0,t.useMutation)({mutationFn:async({inviteCode:e})=>{let t=e.trim();try{let e=new URL(t).pathname.split("/").filter(Boolean),r=e.indexOf("invite");-1!==r&&e[r+1]&&(t=e[r+1])}catch{}return(0,n.apiFetch)(`/api/community/invites/${t}/join`,{method:"POST"})},onSuccess:()=>{e.invalidateQueries({queryKey:s.communityKeys.servers()})}})},"useLeaveServer",0,function(){let e=(0,r.useQueryClient)();return(0,t.useMutation)({mutationFn:async({serverId:e})=>{await (0,n.apiFetch)(`/api/community/servers/${e}/leave`,{method:"POST"})},onMutate:async t=>{let r=s.communityKeys.servers();await e.cancelQueries({queryKey:r});let n=e.getQueryData(r);return e.setQueryData(r,e=>e?{...e,servers:e.servers.filter(e=>e.id!==t.serverId)}:e),{snapshot:n}},onError:(t,r,n)=>{n?.snapshot&&e.setQueryData(s.communityKeys.servers(),n.snapshot)},onSuccess:(t,r)=>{e.removeQueries({queryKey:s.communityKeys.server(r.serverId)}),l(r.serverId)}})},"useUpdateServer",0,function(){let e=(0,r.useQueryClient)();return(0,t.useMutation)({mutationFn:async({serverId:e,name:t,description:r})=>{await (0,n.apiFetch)(`/api/community/servers/${e}`,{method:"PATCH",body:JSON.stringify({name:t,description:r})})},onMutate:async t=>{let r=s.communityKeys.server(t.serverId),n=s.communityKeys.servers();await Promise.all([e.cancelQueries({queryKey:r}),e.cancelQueries({queryKey:n})]);let a=e.getQueryData(r),o=e.getQueryData(n);return e.setQueryData(r,e=>e?{...e,name:t.name,description:t.description}:e),e.setQueryData(n,e=>e?{...e,servers:e.servers.map(e=>e.id===t.serverId?{...e,name:t.name,initial:(0,i.avatarInitial)(t.name)}:e)}:e),{serverSnap:a,listSnap:o}},onError:(t,r,n)=>{n?.serverSnap&&e.setQueryData(s.communityKeys.server(r.serverId),n.serverSnap),n?.listSnap&&e.setQueryData(s.communityKeys.servers(),n.listSnap)}})},"useUploadServerIcon",0,function(){let e=(0,r.useQueryClient)();return(0,t.useMutation)({mutationFn:async({serverId:e,file:t})=>{let r=new FormData;r.append("file",t);let s=await fetch(`/api/community/servers/${e}/icon`,{method:"POST",body:r,credentials:"include"});if(!s.ok)throw await (0,n.readUploadError)(s,"Upload failed");return await s.json()},onSuccess:(t,r)=>{let n=`${t.url}?t=${Date.now()}`;e.setQueryData(s.communityKeys.server(r.serverId),e=>e?{...e,icon:n}:e),e.setQueryData(s.communityKeys.servers(),e=>e?{...e,servers:e.servers.map(e=>e.id===r.serverId?{...e,icon:n}:e)}:e)}})}])},132977,e=>{"use strict";let t="Unknown member";function r(e){var r;let n=e?.name?.trim();if(n)return n;let s=(r=e?.email,r?.split("@")[0]?.trim()??"");return s||t}e.s(["displayName",0,r,"makeUserNameResolver",0,function(e){return n=>{let s=e.find(e=>(e.userId??e.id)===n);return s?r(s):t}}])}]);