@alook/app 0.0.152 → 0.0.154
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.
- package/bundled/email-worker/index.js +3 -1
- package/bundled/web/.open-next/.build/durable-objects/queue.js +5 -5
- package/bundled/web/.open-next/assets/BUILD_ID +1 -1
- package/bundled/web/.open-next/assets/_next/static/chunks/05rel1qxsdla_.js +1 -0
- package/bundled/web/.open-next/assets/_next/static/chunks/1kv8cbo2a0i1u.js +1 -0
- package/bundled/web/.open-next/assets/_next/static/chunks/1kyxgrz4-k-zk.js +1 -0
- package/bundled/web/.open-next/assets/_next/static/chunks/{3etgdoxwljis1.js → 1t4d0nzeertbz.js} +3 -3
- package/bundled/web/.open-next/assets/_next/static/chunks/{2hfr1gmcibrqg.js → 1t737wp5td9r0.js} +1 -1
- package/bundled/web/.open-next/assets/_next/static/chunks/2b9pa48plclqj.js +1 -0
- package/bundled/web/.open-next/assets/_next/static/chunks/2ee9_kh3zud82.js +1 -0
- package/bundled/web/.open-next/assets/_next/static/chunks/2jt0ahlmoskt4.js +1 -0
- package/bundled/web/.open-next/assets/_next/static/chunks/2tjh96xedn3lu.js +63 -0
- package/bundled/web/.open-next/assets/_next/static/chunks/3--ysm-rpa5ob.js +1 -0
- package/bundled/web/.open-next/assets/_next/static/chunks/3_flisy516wkv.js +1 -0
- package/bundled/web/.open-next/assets/_next/static/chunks/3e6r6yc39pztk.js +2 -0
- package/bundled/web/.open-next/assets/_next/static/chunks/3ll8ge14thcn_.js +1 -0
- package/bundled/web/.open-next/assets/_next/static/chunks/3u2ya8vzp1c71.js +1 -0
- package/bundled/web/.open-next/assets/_next/static/chunks/42342bxqlu0f7.js +1 -0
- package/bundled/web/.open-next/cache/{tZVfWmKSY7w1xF14qAb42 → qigxeWlGT_9_D5qWF8F9X}/_global-error.cache +1 -1
- package/bundled/web/.open-next/cache/{tZVfWmKSY7w1xF14qAb42 → qigxeWlGT_9_D5qWF8F9X}/_not-found.cache +1 -1
- package/bundled/web/.open-next/cache/qigxeWlGT_9_D5qWF8F9X/community/me/bots.cache +1 -0
- package/bundled/web/.open-next/cache/qigxeWlGT_9_D5qWF8F9X/community/me/machines.cache +1 -0
- package/bundled/web/.open-next/cache/qigxeWlGT_9_D5qWF8F9X/community/me.cache +1 -0
- package/bundled/web/.open-next/cache/{tZVfWmKSY7w1xF14qAb42 → qigxeWlGT_9_D5qWF8F9X}/community/preview.cache +1 -1
- package/bundled/web/.open-next/cache/{tZVfWmKSY7w1xF14qAb42 → qigxeWlGT_9_D5qWF8F9X}/community.cache +1 -1
- package/bundled/web/.open-next/cache/{tZVfWmKSY7w1xF14qAb42 → qigxeWlGT_9_D5qWF8F9X}/device.cache +1 -1
- package/bundled/web/.open-next/cache/{tZVfWmKSY7w1xF14qAb42 → qigxeWlGT_9_D5qWF8F9X}/privacy.cache +1 -1
- package/bundled/web/.open-next/cache/{tZVfWmKSY7w1xF14qAb42 → qigxeWlGT_9_D5qWF8F9X}/sitemap.xml.cache +1 -1
- package/bundled/web/.open-next/cloudflare/cache-assets-manifest.sql +1 -1
- package/bundled/web/.open-next/cloudflare/init.js +1 -1
- package/bundled/web/.open-next/dynamodb-provider/dynamodb-cache.json +1 -1
- package/bundled/web/.open-next/middleware/handler.mjs +4 -4
- package/bundled/web/.open-next/server-functions/default/src/web/.next/BUILD_ID +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/build-manifest.json +3 -3
- package/bundled/web/.open-next/server-functions/default/src/web/.next/prerender-manifest.json +3 -3
- package/bundled/web/.open-next/server-functions/default/src/web/.next/required-server-files.json +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/(app)/invite/[token]/page_client-reference-manifest.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/(app)/studio/new/page_client-reference-manifest.js +1 -1
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/(app)/w/[slug]/agents/page_client-reference-manifest.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/(app)/w/[slug]/calendar/page_client-reference-manifest.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/(app)/w/[slug]/flags/page_client-reference-manifest.js +1 -1
- 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
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/(app)/w/[slug]/home/page_client-reference-manifest.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/(app)/w/[slug]/issues/page_client-reference-manifest.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/(app)/w/[slug]/page_client-reference-manifest.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/(app)/w/[slug]/runtimes/page_client-reference-manifest.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/(app)/w/[slug]/settings/page_client-reference-manifest.js +1 -1
- 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
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/(app)/w/[slug]/traces/page_client-reference-manifest.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/(app)/w/[slug]/unread/page_client-reference-manifest.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/(app)/workspaces/page_client-reference-manifest.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/(auth)/sign-in/page_client-reference-manifest.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/community/channels/[serverId]/[channelId]/page_client-reference-manifest.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/community/channels/[serverId]/page_client-reference-manifest.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/community/channels/[serverId]/settings/page_client-reference-manifest.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/community/invite/[token]/page_client-reference-manifest.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/community/me/[dmId]/page_client-reference-manifest.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/community/me/bots/page_client-reference-manifest.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/community/me/machines/page_client-reference-manifest.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/community/me/page_client-reference-manifest.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/community/page_client-reference-manifest.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/community/preview/page_client-reference-manifest.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/device/page_client-reference-manifest.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/page_client-reference-manifest.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/privacy/page_client-reference-manifest.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/templates/[id]/page_client-reference-manifest.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/templates/page_client-reference-manifest.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/[turbopack]_runtime.js +36 -36
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/_1_dhx4p._.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/_1ge300u._.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/_20o75d0._.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/{[root-of-the-server]__1oiyvwe._.js → [root-of-the-server]__0-3fo13._.js} +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/{[root-of-the-server]__0o5bxat._.js → [root-of-the-server]__02lti39._.js} +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/{[root-of-the-server]__040fyn3._.js → [root-of-the-server]__08vq8pm._.js} +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/{[root-of-the-server]__04pxrz5._.js → [root-of-the-server]__0_2qrsu._.js} +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/{[root-of-the-server]__16l63mz._.js → [root-of-the-server]__0_a4to_._.js} +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/{[root-of-the-server]__0ymnehp._.js → [root-of-the-server]__0_rx5fo._.js} +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/{[root-of-the-server]__0nh19ia._.js → [root-of-the-server]__0_t2y0o._.js} +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/{[root-of-the-server]__1v_-hs4._.js → [root-of-the-server]__0avu0rw._.js} +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/{[root-of-the-server]__1wei18j._.js → [root-of-the-server]__0pqc2r_._.js} +2 -2
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/{[root-of-the-server]__1xvglbp._.js → [root-of-the-server]__0xbzzvs._.js} +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/{[root-of-the-server]__1tq74r0._.js → [root-of-the-server]__0xlvktw._.js} +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/[root-of-the-server]__0yiejq6._.js +3 -0
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/{[root-of-the-server]__0k5pvh9._.js → [root-of-the-server]__0zbv02p._.js} +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/{[root-of-the-server]__158oora._.js → [root-of-the-server]__11nm2yt._.js} +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/{[root-of-the-server]__1-swanp._.js → [root-of-the-server]__13v39j3._.js} +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/{[root-of-the-server]__0iumdq_._.js → [root-of-the-server]__170fci7._.js} +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/{[root-of-the-server]__1mp2nz1._.js → [root-of-the-server]__1an777y._.js} +2 -2
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/{[root-of-the-server]__1nclupn._.js → [root-of-the-server]__1b8g-kq._.js} +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/{[root-of-the-server]__14-q4q8._.js → [root-of-the-server]__1c1yh37._.js} +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/{[root-of-the-server]__0w212yf._.js → [root-of-the-server]__1d--k9n._.js} +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/{[root-of-the-server]__1khj-hl._.js → [root-of-the-server]__1dv15fs._.js} +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/{[root-of-the-server]__0k3aai5._.js → [root-of-the-server]__1koabdq._.js} +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/{[root-of-the-server]__0t4ltzi._.js → [root-of-the-server]__1swfkhi._.js} +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/{[root-of-the-server]__0zh8vme._.js → [root-of-the-server]__1u58tat._.js} +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/{[root-of-the-server]__1q_pfsh._.js → [root-of-the-server]__1x49fl7._.js} +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/{[root-of-the-server]__1vk26nd._.js → [root-of-the-server]__1xwz2e-._.js} +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/{[root-of-the-server]__0eajbpq._.js → [root-of-the-server]__20_qwfi._.js} +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/[turbopack]_runtime.js +36 -36
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/{_1_26hjj._.js → _0_ldmff._.js} +2 -2
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/_0a9e1sh._.js +65 -0
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/_0d2n_-3._.js +3 -0
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/{_0e299an._.js → _0n5q9kp._.js} +2 -2
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/_0sc142i._.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/_0u1f2xw._.js +3 -0
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/_0xcyjs-._.js +3 -0
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/_10o51gr._.js +3 -0
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/_12ymire._.js +3 -0
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/{_1wx0z09._.js → _1ew__s1._.js} +2 -2
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/src_shared_src_0w9s66q._.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/src_web_src_1dr1pul._.js +1 -1
- 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
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/src_web_src_app_community_channels_[serverId]_[channelId]_page_tsx_10gja3t._.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/src_web_src_hooks_community_mutations_00mez6z._.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/middleware-build-manifest.js +3 -3
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/middleware-manifest.json +5 -5
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/server-reference-manifest.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/server-reference-manifest.json +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/handler.mjs +121 -121
- package/bundled/web/.open-next/server-functions/default/src/web/handler.mjs.meta.json +454 -454
- package/bundled/web/.open-next/server-functions/default/src/web/index.mjs +4 -4
- package/bundled/ws-do/index.js +3 -1
- package/package.json +1 -1
- package/bundled/web/.open-next/assets/_next/static/chunks/099a6pkd25_6c.js +0 -2
- package/bundled/web/.open-next/assets/_next/static/chunks/0cje8sxciw2bw.js +0 -1
- package/bundled/web/.open-next/assets/_next/static/chunks/0e15-uvagvtoq.js +0 -1
- package/bundled/web/.open-next/assets/_next/static/chunks/1bextmtm3d9_z.js +0 -1
- package/bundled/web/.open-next/assets/_next/static/chunks/1e240j5v6a29o.js +0 -1
- package/bundled/web/.open-next/assets/_next/static/chunks/1r60swwlk6bsi.js +0 -63
- package/bundled/web/.open-next/assets/_next/static/chunks/27xsd9yii2-bt.js +0 -1
- package/bundled/web/.open-next/assets/_next/static/chunks/2vmt-oe13wn02.js +0 -1
- package/bundled/web/.open-next/assets/_next/static/chunks/2xxoim6gb2hyv.js +0 -1
- package/bundled/web/.open-next/assets/_next/static/chunks/3b_6ov7wl0l5b.js +0 -1
- package/bundled/web/.open-next/assets/_next/static/chunks/3d-rbh9rp6cn4.js +0 -1
- package/bundled/web/.open-next/assets/_next/static/chunks/3qa4ihpategpq.js +0 -1
- package/bundled/web/.open-next/assets/_next/static/chunks/3wgh3u8c3z_ip.js +0 -1
- package/bundled/web/.open-next/cache/tZVfWmKSY7w1xF14qAb42/community/me/bots.cache +0 -1
- package/bundled/web/.open-next/cache/tZVfWmKSY7w1xF14qAb42/community/me/machines.cache +0 -1
- package/bundled/web/.open-next/cache/tZVfWmKSY7w1xF14qAb42/community/me.cache +0 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/[root-of-the-server]__0wekc86._.js +0 -3
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/_013_jiv._.js +0 -3
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/_05grdwx._.js +0 -3
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/_0uzvb65._.js +0 -65
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/_0z_7maj._.js +0 -3
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/_12xn47o._.js +0 -3
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/_1yq9nv0._.js +0 -3
- /package/bundled/web/.open-next/assets/_next/static/{tZVfWmKSY7w1xF14qAb42 → qigxeWlGT_9_D5qWF8F9X}/_buildManifest.js +0 -0
- /package/bundled/web/.open-next/assets/_next/static/{tZVfWmKSY7w1xF14qAb42 → qigxeWlGT_9_D5qWF8F9X}/_clientMiddlewareManifest.js +0 -0
- /package/bundled/web/.open-next/assets/_next/static/{tZVfWmKSY7w1xF14qAb42 → qigxeWlGT_9_D5qWF8F9X}/_ssgManifest.js +0 -0
- /package/bundled/web/.open-next/cache/{tZVfWmKSY7w1xF14qAb42 → qigxeWlGT_9_D5qWF8F9X}/robots.txt.cache +0 -0
|
@@ -1 +0,0 @@
|
|
|
1
|
-
(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,654305,113050,176828,e=>{"use strict";var s=e.i(147156),t=e.i(150225);let n=e=>e.startsWith("cat_"),r=e=>e;function a(e,s){return n(e)?e:Object.keys(s).find(t=>s[t].some(s=>s.id===e))}e.s(["catId",0,r,"catOf",0,a,"isCat",0,n,"useChannelTree",0,function(e){let[r,i]=(0,s.useState)(new Set),[l,o]=(0,s.useState)(()=>e.map(e=>e.id)),[d,c]=(0,s.useState)(()=>Object.fromEntries(e.map(e=>[e.id,e.channels]))),[m,u]=(0,s.useState)(()=>Object.fromEntries(e.map(e=>[e.id,e.name]))),[x,h]=(0,s.useState)(()=>Object.fromEntries(e.map(e=>[e.id,!!e.private]))),[g,p]=(0,s.useState)(()=>Object.fromEntries(e.map(e=>[e.id,e.creatorId??null]))),v=(0,s.useRef)(e);(0,s.useEffect)(()=>{let s=v.current;if(v.current=e,e!==s){if(0===e.length){if(0===s.length)return;o([]),c({}),u({}),h({}),p({});return}s.map(e=>`${e.id}:${e.channels.map(e=>e.id).join(",")}`).join("|")===e.map(e=>`${e.id}:${e.channels.map(e=>e.id).join(",")}`).join("|")?c(s=>{let{next:t,changed:n}=function(e,s){let t=new Map;for(let e of s)for(let s of e.channels)t.set(s.id,s);let n=!1,r={};for(let[s,a]of Object.entries(e))r[s]=a.map(e=>{let s=t.get(e.id);return s&&(s.unread!==e.unread||s.name!==e.name)?(n=!0,{...e,unread:s.unread,name:s.name}):e});return{next:n?r:e,changed:n}}(s,e);return n?t:s}):(o(e.map(e=>e.id)),c(Object.fromEntries(e.map(e=>[e.id,e.channels]))),u(Object.fromEntries(e.map(e=>[e.id,e.name]))),h(Object.fromEntries(e.map(e=>[e.id,!!e.private]))),p(Object.fromEntries(e.map(e=>[e.id,e.creatorId??null]))))}},[e]);let f=(0,s.useCallback)(e=>i(s=>{let t=new Set(s);return t.has(e)?t.delete(e):t.add(e),t}),[]),j=(0,s.useCallback)(e=>c(s=>{let t;return(t=a(e,s))?{...s,[t]:s[t].filter(s=>s.id!==e)}:s}),[]),b=(0,s.useCallback)((e,s)=>c(t=>{let n=a(e,t);return n?{...t,[n]:t[n].map(t=>t.id===e?{...t,name:s}:t)}:t}),[]),N=(0,s.useCallback)(e=>c(s=>{let t=a(e,s);return t?{...s,[t]:s[t].map(s=>s.id===e?{...s,unread:!1}:s)}:s}),[]),y=(0,s.useRef)(m);y.current=m;let C=(0,s.useRef)(l);C.current=l;let k=(0,s.useCallback)(e=>{let s=y.current,t=C.current,n=Object.keys(s).find(e=>""===s[e])??t[0];o(s=>s.filter(s=>s!==e)),c(s=>{let{[e]:t,...r}=s;return t?.length&&n&&(r[n]=[...r[n]??[],...t]),r}),u(s=>Object.fromEntries(Object.entries(s).filter(([s])=>s!==e))),h(s=>Object.fromEntries(Object.entries(s).filter(([s])=>s!==e)))},[]),w=(0,s.useCallback)((e,s)=>u(t=>t[e]===s?t:{...t,[e]:s}),[]),S=(0,s.useRef)(x);S.current=x;let z=(0,s.useCallback)(e=>{let{active:s,over:t}=e;!t||n(String(s.id))||c(e=>{let n=a(String(s.id),e),r=a(String(t.id),e);return n&&r&&n!==r&&!!S.current[n]!=!!S.current[r]?e:function(e,s,t){let n=a(s,e),r=a(t,e);if(!n||!r||n===r)return e;let i=e[n].find(e=>e.id===s);if(!i)return e;let l=e[r].findIndex(e=>e.id===t),o=-1===l?e[r].length:l,d=[...e[r]];return d.splice(o,0,i),{...e,[n]:e[n].filter(e=>e.id!==s),[r]:d}}(e,String(s.id),String(t.id))})},[]),I=(0,s.useCallback)(e=>{let{active:s,over:r}=e;!r||s.id===r.id||(n(String(s.id))&&n(String(r.id))?o(e=>{var n,a;let i,l;return n=String(s.id),a=String(r.id),i=e.indexOf(n),l=e.indexOf(a),-1===i||-1===l?e:(0,t.arrayMove)(e,i,l)}):n(String(s.id))||c(e=>(function(e,s,n){let r=a(s,e);if(!r||!e[r].some(e=>e.id===n))return e;let i=e[r].findIndex(e=>e.id===s),l=e[r].findIndex(e=>e.id===n);return -1===i||-1===l?e:{...e,[r]:(0,t.arrayMove)(e[r],i,l)}})(e,String(s.id),String(r.id))))},[]);return(0,s.useMemo)(()=>({collapsed:r,catOrder:l,order:d,catNames:m,catPrivate:x,catCreators:g,toggleCat:f,removeChannel:j,renameChannel:b,markRead:N,removeCategory:k,renameCategory:w,onDragOver:z,onDragEnd:I}),[r,l,d,m,x,g,f,j,b,N,k,w,z,I])}],654305);var i=e.i(636407),l=e.i(328530),o=e.i(351171),d=e.i(452916),c=e.i(38357);let m=(0,e.i(464648).default)("scroll-text",[["path",{d:"M15 12h-5",key:"r7krc0"}],["path",{d:"M15 8h-5",key:"1khuty"}],["path",{d:"M19 17V5a2 2 0 0 0-2-2H4",key:"zz82l3"}],["path",{d:"M8 21h12a2 2 0 0 0 2-2v-1a1 1 0 0 0-1-1H11a1 1 0 0 0-1 1v1a2 2 0 1 1-4 0V5a2 2 0 1 0-4 0v2a1 1 0 0 0 1 1h3",key:"1ph1d7"}]]);var u=e.i(556482),x=e.i(670623),h=e.i(540255),g=e.i(607711),p=e.i(89164),v=e.i(728886),f=e.i(304928),j=e.i(761596),j=j,b=e.i(6798),N=e.i(97867),y=e.i(393153);function C({side:e}){return(0,i.jsx)("div",{className:`pointer-events-none absolute inset-x-1 z-10 h-0.5 rounded-full bg-primary ${"top"===e?"-top-px":"-bottom-px"}`})}function k({id:e,name:n,open:r,onToggle:a,onAddChannel:o,onSettings:d,onDelete:c,isPrivate:m,canReorder:x=!0,children:p}){var v;let[w,S]=(0,s.useState)(!1),{attributes:z,listeners:I,setNodeRef:D,transform:M,transition:O,isDragging:T,isOver:E,activeIndex:A,index:P}=(0,t.useSortable)({id:e,disabled:!x}),{setNodeRef:$,isOver:B}=(0,h.useDroppable)({id:e}),L={transform:N.CSS.Transform.toString(M),transition:O,opacity:T?.4:1,zIndex:T?10:void 0},R={...z,...I,onClick:a,className:`group flex w-full touch-none items-center gap-1 rounded px-1 py-1 text-xs font-semibold text-muted-foreground/80 select-none hover:text-foreground ${x?"cursor-grab active:cursor-grabbing":"cursor-pointer"}`},F=(0,i.jsxs)(i.Fragment,{children:[m&&(0,i.jsx)(j.default,{className:"size-3 shrink-0"}),(0,i.jsx)("span",{className:"flex-1 truncate text-left",children:n}),d&&(0,i.jsx)("button",{onPointerDown:e=>e.stopPropagation(),onClick:e=>{e.stopPropagation(),d()},className:"grid size-4 place-items-center rounded opacity-0 hover:bg-accent group-hover:opacity-100","aria-label":`Category settings for ${n}`,children:(0,i.jsx)(l.Settings,{className:"size-3.5"})}),o&&(0,i.jsx)("button",{onPointerDown:e=>e.stopPropagation(),onClick:e=>{e.stopPropagation(),o()},className:"grid size-4 place-items-center rounded opacity-0 hover:bg-accent group-hover:opacity-100","aria-label":`Create channel in ${n}`,children:(0,i.jsx)(f.Plus,{className:"size-3.5"})}),(0,i.jsx)(u.ChevronDown,{className:`size-3 shrink-0 transition-transform ${r?"":"-rotate-90"}`})]});return(0,i.jsxs)("div",{ref:D,style:L,className:"relative mb-4",children:[E&&!T&&(0,i.jsx)(C,{side:-1!==A&&A<P?"bottom":"top"}),(v={onAddChannel:o,onSettings:d,onDelete:c}).onAddChannel||v.onSettings||v.onDelete?(0,i.jsxs)(g.ContextMenu,{children:[(0,i.jsx)(g.ContextMenuTrigger,{render:(0,i.jsx)("div",{...R}),children:F}),(0,i.jsxs)(g.ContextMenuContent,{className:"w-48",children:[(0,i.jsx)("div",{className:"truncate px-2 py-2 text-xs font-semibold text-muted-foreground",children:n}),o&&(0,i.jsxs)(g.ContextMenuItem,{onClick:o,children:[(0,i.jsx)(f.Plus,{className:"size-4"})," Create channel"]}),d&&(0,i.jsxs)(g.ContextMenuItem,{onClick:d,children:[(0,i.jsx)(l.Settings,{className:"size-4"})," Category settings"]}),c&&(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(g.ContextMenuSeparator,{}),(0,i.jsxs)(g.ContextMenuItem,{onClick:()=>S(!0),className:"text-destructive data-highlighted:bg-destructive/10 data-highlighted:text-destructive",children:[(0,i.jsx)(b.Trash2,{className:"size-4"})," Delete category"]})]})]})]}):(0,i.jsx)("div",{...R,children:F}),r&&(0,i.jsx)("div",{ref:$,className:`rounded-md transition-colors ${B?"bg-accent/40":""}`,children:p}),c&&(0,i.jsx)(y.ConfirmDialog,{open:w,onOpenChange:S,title:`Delete ${n}?`,description:"Channels inside this category will also be removed. This can't be undone.",confirmLabel:"Delete category",onConfirm:()=>{S(!1),c()}})]})}var w=e.i(839082),S=e.i(267558),z=e.i(670544);function I({ch:e,active:n,onClick:r,onEdit:a,onDelete:l,onManageMembers:d,canReorder:c=!0}){var m;let[u,x]=(0,s.useState)(!1),{attributes:h,listeners:p,setNodeRef:v,transform:f,transition:j,isDragging:k,isOver:D,activeIndex:M,index:O}=(0,t.useSortable)({id:e.id,disabled:!c}),T={transform:N.CSS.Transform.toString(f),transition:j,opacity:k?.4:1,zIndex:k?10:void 0},E=(0,i.jsxs)("div",{ref:v,style:T,onClick:r,...h,...p,className:["group relative flex h-8 w-full cursor-pointer touch-none items-center gap-2 rounded-md px-2 text-sm select-none",c?"active:cursor-grabbing":"",n?"bg-sidebar-accent text-foreground":e.muted?"text-muted-foreground/50 hover:bg-sidebar-accent/60 hover:text-muted-foreground":e.unread?"text-foreground hover:bg-sidebar-accent/60":"text-muted-foreground hover:bg-sidebar-accent/60 hover:text-foreground"].join(" "),children:[D&&!k&&(0,i.jsx)(C,{side:-1!==M&&M<O?"bottom":"top"}),(0,i.jsx)("span",{className:"grid size-5 shrink-0 place-items-center opacity-70",children:(0,i.jsx)(z.EntityIcon,{kind:e.type,className:"size-4"})}),(0,i.jsx)("span",{className:"truncate font-semibold",children:e.name}),e.muted?(0,i.jsx)(w.BellOff,{className:"ml-auto size-4 shrink-0 opacity-70"}):e.unread&&!n?(0,i.jsx)("span",{className:"ml-auto size-2 rounded-full bg-primary"}):null]});return(m={onEdit:a,onManageMembers:d,onDelete:l}).onEdit||m.onManageMembers||m.onDelete?(0,i.jsxs)(i.Fragment,{children:[(0,i.jsxs)(g.ContextMenu,{children:[(0,i.jsx)(g.ContextMenuTrigger,{render:E}),(0,i.jsxs)(g.ContextMenuContent,{className:"w-48",children:[(0,i.jsxs)("div",{className:"truncate px-2 py-2 text-xs font-semibold text-muted-foreground",children:["/",e.name]}),a&&(0,i.jsxs)(g.ContextMenuItem,{onClick:a,children:[(0,i.jsx)(S.Pencil,{className:"size-4"})," Edit channel"]}),d&&(0,i.jsxs)(g.ContextMenuItem,{onClick:d,children:[(0,i.jsx)(o.Users,{className:"size-4"})," Manage members"]}),l&&(0,i.jsxs)(i.Fragment,{children:[a&&(0,i.jsx)(g.ContextMenuSeparator,{}),(0,i.jsxs)(g.ContextMenuItem,{onClick:()=>x(!0),className:"text-destructive data-highlighted:bg-destructive/10 data-highlighted:text-destructive",children:[(0,i.jsx)(b.Trash2,{className:"size-4"})," Delete channel"]})]})]})]}),l&&(0,i.jsx)(y.ConfirmDialog,{open:u,onOpenChange:x,title:`Delete /${e.name}?`,description:"This channel and its message history will be removed for everyone. This can't be undone.",confirmLabel:"Delete channel",onConfirm:()=>{x(!1),l()}})]}):E}var D=e.i(779646),M=e.i(186339),O=e.i(903477),T=e.i(807915),E=e.i(86053),A=e.i(388026);function P({category:e,initial:t,onClose:n,onCreate:r}){let a=!!t,[l,o]=(0,s.useState)(t?.type??"text"),[d,c]=(0,s.useState)(t?.name??""),m=(0,A.previewSlug)(d),u=()=>{let e=d.trim();m.slug&&(r({name:e,type:l}),n())};return(0,i.jsx)(D.Dialog,{open:!0,onOpenChange:e=>{e||n()},children:(0,i.jsxs)(D.DialogContent,{className:"w-105 max-w-[calc(100vw-2rem)] p-0",children:[(0,i.jsxs)(D.DialogHeader,{className:"border-b border-border px-4 py-4",children:[(0,i.jsx)(D.DialogTitle,{children:a?"Edit Channel":"Create Channel"}),(0,i.jsx)("p",{className:"text-sm text-muted-foreground",children:e?`in ${e}`:"top level"})]}),(0,i.jsxs)("div",{className:"space-y-4 px-4 pb-5",children:[!a&&(0,i.jsxs)("div",{children:[(0,i.jsx)("div",{className:"mb-2 text-xs font-semibold text-muted-foreground",children:"Channel Type"}),(0,i.jsx)("div",{className:"space-y-2",children:[{value:"text",label:"Text",desc:"Send messages, images, emoji, and opinions"},{value:"forum",label:"Forum",desc:"Create a space for organized discussions"}].map(e=>(0,i.jsxs)("button",{onClick:()=>o(e.value),className:["flex w-full items-center gap-3 rounded-lg border p-3 text-left transition-colors",l===e.value?"border-primary bg-accent":"border-border bg-card hover:bg-accent/50"].join(" "),children:[(0,i.jsx)(z.EntityIcon,{kind:e.value,className:"size-5 shrink-0 text-muted-foreground"}),(0,i.jsxs)("div",{className:"min-w-0 flex-1",children:[(0,i.jsx)("div",{className:"text-sm font-medium",children:e.label}),(0,i.jsx)("div",{className:"text-xs text-muted-foreground",children:e.desc})]}),(0,i.jsx)("span",{className:`grid size-4 shrink-0 place-items-center rounded-full border ${l===e.value?"border-primary":"border-muted-foreground"}`,children:l===e.value&&(0,i.jsx)("span",{className:"size-2 rounded-full bg-primary"})})]},e.value))})]}),(0,i.jsxs)("label",{className:"block",children:[(0,i.jsx)("div",{className:"mb-2 text-xs font-semibold text-muted-foreground",children:"Channel Name"}),(0,i.jsxs)("div",{className:"relative",children:[(0,i.jsx)(z.EntityIcon,{kind:l,className:"absolute left-3 top-1/2 size-4 -translate-y-1/2 text-muted-foreground"}),(0,i.jsx)(O.Input,{value:d,onChange:e=>c(e.target.value),onKeyDown:(0,T.onEnterSubmit)(u),placeholder:"new-channel",className:"h-10 pl-9"})]}),(0,i.jsx)(E.SlugHint,{...m})]})]}),(0,i.jsxs)(D.DialogFooter,{className:"mx-0 mb-0 flex-row items-center justify-end gap-2 rounded-b-xl border-t border-border bg-card px-4 py-3",children:[(0,i.jsx)(M.Button,{variant:"ghost",size:"sm",onClick:n,children:"Cancel"}),(0,i.jsx)(M.Button,{size:"sm",onClick:u,disabled:!m.slug,children:a?"Save":"Create Channel"})]})]})})}var $=e.i(625271),j=j,B=e.i(254618);let L="Members create their own channels here, visible only to invited members.";function R({isPrivate:e,onToggle:s,locked:t}){let n=e?t?`${L} Privacy can’t be changed after creation.`:L:"Channels here are admin-managed and visible to everyone.";return(0,i.jsxs)("div",{className:"flex items-start gap-3 rounded-md border border-border bg-card px-3 py-2",children:[(0,i.jsx)(j.default,{className:"mt-0.5 size-4 shrink-0 text-muted-foreground"}),(0,i.jsxs)("div",{className:"min-w-0 flex-1",children:[(0,i.jsx)("div",{className:"text-sm font-medium",children:"Private category"}),(0,i.jsx)("div",{className:"text-xs text-muted-foreground",children:n})]}),s&&(0,i.jsx)(B.Switch,{checked:e,onCheckedChange:s,className:"mt-0.5"})]})}function F({onClose:e,onCreate:t,canTogglePrivate:n=!0}){let[r,a]=(0,s.useState)(""),[l,o]=(0,s.useState)(!1),d=()=>{let s=r.trim();s&&(t(s.toUpperCase(),{private:l}),e())};return(0,i.jsx)(D.Dialog,{open:!0,onOpenChange:s=>{s||e()},children:(0,i.jsxs)(D.DialogContent,{className:"w-105 max-w-[calc(100vw-2rem)] p-0",children:[(0,i.jsx)(D.DialogHeader,{className:"border-b border-border px-4 py-4",children:(0,i.jsx)(D.DialogTitle,{children:"Create category"})}),(0,i.jsxs)("div",{className:"space-y-4 px-4 pb-5",children:[(0,i.jsx)($.Field,{label:"Category name",children:(0,i.jsx)(O.Input,{value:r,onChange:e=>a(e.target.value),onKeyDown:(0,T.onEnterSubmit)(d),placeholder:"e.g. text channels",autoFocus:!0})}),n&&(0,i.jsx)(R,{isPrivate:l,onToggle:o})]}),(0,i.jsxs)(D.DialogFooter,{className:"mx-0 mb-0 flex-row items-center justify-end gap-2 rounded-b-xl border-t border-border bg-card px-4 py-3",children:[(0,i.jsx)(M.Button,{variant:"ghost",size:"sm",onClick:e,children:"Cancel"}),(0,i.jsx)(M.Button,{size:"sm",onClick:d,disabled:!r.trim(),children:"Create category"})]})]})})}function U({name:e,isPrivate:t,onClose:n,onSave:r}){let[a,l]=(0,s.useState)(e),o=a.trim(),d=()=>{o&&(r(o.toUpperCase()),n())};return(0,i.jsx)(D.Dialog,{open:!0,onOpenChange:e=>{e||n()},children:(0,i.jsxs)(D.DialogContent,{className:"w-105 max-w-[calc(100vw-2rem)] p-0",children:[(0,i.jsx)(D.DialogHeader,{className:"border-b border-border px-4 py-4",children:(0,i.jsx)(D.DialogTitle,{children:"Category Settings"})}),(0,i.jsxs)("div",{className:"space-y-4 px-4 pb-5",children:[(0,i.jsx)($.Field,{label:"Category name",children:(0,i.jsx)(O.Input,{value:a,onChange:e=>l(e.target.value),onKeyDown:(0,T.onEnterSubmit)(d),placeholder:"e.g. text channels",autoFocus:!0})}),t&&(0,i.jsx)(R,{isPrivate:!0,locked:!0})]}),(0,i.jsxs)(D.DialogFooter,{className:"mx-0 mb-0 flex-row items-center justify-end gap-2 rounded-b-xl border-t border-border bg-card px-4 py-3",children:[(0,i.jsx)(M.Button,{variant:"ghost",size:"sm",onClick:n,children:"Cancel"}),(0,i.jsx)(M.Button,{size:"sm",onClick:d,disabled:!o,children:"Save"})]})]})})}var H=e.i(46051),K=e.i(516266),W=e.i(531342),_=e.i(39185),V=e.i(838114),q=e.i(849050),G=e.i(374402);let X=Object.freeze([]);e.i(384302);var Y=e.i(54372),J=e.i(776152),Q=e.i(97737),Z=e.i(183899);let ee=window.location.origin;function es(e){return`${ee}/community/invite/${e}`}function et({open:e,onOpenChange:t,serverId:n,serverName:r}){let a=(0,Z.useCurrentUser)(),{friends:l,isLoading:o}=function(e,s=!0){let t=(0,V.useQuery)({queryKey:G.communityKeys.invitableFriends(e),queryFn:()=>(0,q.apiFetch)(`/api/community/servers/${encodeURIComponent(e)}/invitable-friends`),enabled:s&&!!e});return{...t,friends:t.data?.friends??X}}(n,e),d=(0,Y.useResolveOrCreateInvite)(n),c=(0,J.useCreateOrGetDm)(),m=(0,Q.useSendDmMessage)(),[u,x]=(0,s.useState)(null),[h,g]=(0,s.useState)(null),[p,f]=(0,s.useState)(new Set),[j,b]=(0,s.useState)("");(0,s.useEffect)(()=>{if(!e||u)return;let s=!1;return g(null),d(a.id,a.name).then(e=>{s||x(e.token)}).catch(e=>{s||g(e instanceof Error?e.message:"Couldn't create an invite")}),()=>{s=!0}},[e,u]);let N=(0,s.useMemo)(()=>{let e=j.trim().toLowerCase();return l.filter(s=>!e||s.name.toLowerCase().includes(e)||(s.sub??"").toLowerCase().includes(e))},[l,j]),y=async e=>{if(u&&e.userId)try{let{conversation:s}=await c.mutateAsync({userId:e.userId});await m.mutateAsync({dmId:s.id,content:es(u),author:{id:a.id,name:a.name,avatar:a.avatar}}),f(s=>{let t=new Set(s);return t.add(e.userId),t})}catch(s){let e=s instanceof Error?s.message:"Couldn't send invite";(0,K.toast)(e)}},C=async()=>{if(u)try{await navigator.clipboard.writeText(es(u)),(0,K.toast)("Invite link copied")}catch{(0,K.toast)("Couldn't copy — copy manually")}};return(0,i.jsx)(D.Dialog,{open:e,onOpenChange:e=>{e||(f(new Set),b("")),t(e)},children:(0,i.jsxs)(D.DialogContent,{className:"flex max-h-[80vh] w-full flex-col gap-0 p-0 sm:max-w-md",children:[(0,i.jsx)("header",{className:"border-b border-border px-4 py-3",children:(0,i.jsxs)("h2",{className:"truncate text-sm font-semibold",children:["Invite friends to ",r]})}),(0,i.jsx)("div",{className:"px-4 pt-3",children:(0,i.jsxs)("label",{className:"relative block",children:[(0,i.jsx)(H.Search,{"aria-hidden":!0,className:"pointer-events-none absolute left-3 top-1/2 size-4 -translate-y-1/2 text-muted-foreground"}),(0,i.jsx)(O.Input,{value:j,onChange:e=>b(e.target.value),placeholder:"Search for friends",className:"pl-9"})]})}),(0,i.jsx)("div",{className:"min-h-0 flex-1 overflow-y-auto thin-scrollbar px-2 py-2",children:o&&0===l.length?(0,i.jsx)("div",{className:"space-y-2 px-2",children:Array.from({length:4}).map((e,s)=>(0,i.jsxs)("div",{className:"flex items-center gap-3",children:[(0,i.jsx)(v.Skeleton,{className:"size-8 rounded-full"}),(0,i.jsx)(v.Skeleton,{className:"h-3 w-32 rounded"})]},s))}):0===N.length?(0,i.jsx)("p",{className:"px-2 py-6 text-center text-sm text-muted-foreground",children:0===l.length?"No friends to invite — everyone you know is already here.":"No matches."}):N.map(e=>{let s=!!e.userId&&p.has(e.userId);return(0,i.jsxs)("div",{className:"flex items-center gap-3 rounded-md px-2 py-2 hover:bg-accent/40",children:[(0,i.jsx)(W.Avatar,{label:e.avatar||e.name,seed:e.userId,size:32,presence:e.status,ringColor:"var(--popover)"}),(0,i.jsxs)("div",{className:"min-w-0 flex-1",children:[(0,i.jsx)("div",{className:"truncate text-sm font-medium",children:e.name}),(0,_.hasStatus)(e.statusEmoji,e.statusText)&&(0,i.jsxs)("div",{className:"truncate text-xs text-muted-foreground",children:[e.statusEmoji," ",e.statusText]})]}),(0,i.jsx)(M.Button,{size:"sm",variant:s?"secondary":"default",disabled:!u||s||!e.userId,onClick:()=>y(e),children:s?"Invited":"Invite"})]},e.id)})}),(0,i.jsxs)("footer",{className:"border-t border-border px-4 py-3",children:[(0,i.jsx)("div",{className:"text-xs font-medium text-muted-foreground",children:"Or, send a server invite link to a friend"}),h?(0,i.jsx)("p",{className:"mt-2 text-xs text-destructive",children:h}):(0,i.jsxs)("div",{className:"mt-2 flex items-center gap-2",children:[(0,i.jsx)(O.Input,{readOnly:!0,value:u?es(u):"",placeholder:u?"":"Loading…",className:"font-mono text-xs"}),(0,i.jsx)(M.Button,{size:"sm",onClick:C,disabled:!u,children:"Copy"})]})]})]})})}var en=e.i(648655),er=e.i(825149);function ea({channelId:e,channelName:s,onClose:t}){let{members:n}=(0,er.useAddableMembers)(e),r=(0,er.useAddChannelMember)(e),a=n.map(e=>({userId:e.userId,name:e.name??null,avatar:e.avatar}));return(0,i.jsx)(en.AddMembersDialog,{title:`Add members to /${s}`,subtitle:"Added members can see and post in this channel.",candidates:a,addPending:r.isPending,onAdd:async e=>{try{await r.mutateAsync(e)}catch(e){(0,K.toast)(e instanceof Error?e.message:"Couldn't add member")}},onClose:t})}var ei=e.i(631956);let el=(0,s.memo)(function({tree:e,serverName:v,serverIcon:f,activeChannel:j,setActiveChannel:b,noHeader:N,onOpenSettings:y,isAdmin:C=!0,currentUserId:w,onBlockedCreate:S,mutedChannels:z,loading:D,onCreateChannel:M,onCreateCategory:O,onDeleteChannel:T,onDeleteCategory:E,onUpdateCategory:A,onRenameChannel:$,onReorderCategories:B,onReorderChannels:L,onMoveChannel:R,onBlockedMove:H,serverId:K,invitePopoverOpen:W,onInvitePopoverOpenChange:_}){let{collapsed:V,catOrder:q,order:G,catNames:X,catPrivate:Y,toggleCat:J,removeChannel:Q,renameChannel:Z,removeCategory:ee,renameCategory:es,onDragOver:en,onDragEnd:er}=e,el=(0,s.useRef)(void 0),ed=(0,h.useSensors)((0,h.useSensor)(h.PointerSensor,{activationConstraint:{distance:5}})),[ec,em]=(0,s.useState)(null),eu=e=>z&&e.id in z?{...e,muted:z[e.id]}:e,ex=Object.keys(X).find(e=>""===X[e])??"";if(D)return(0,i.jsx)(eo,{noHeader:N});let eh=e=>!!Y[e]||C,eg=e=>{eh(e)?em({kind:"create-channel",categoryId:e}):S?.()},ep=async(e,{name:s,type:t})=>{let n=await M?.(e,s,t);n&&b(n)},ev=(0,i.jsxs)(h.DndContext,{id:"d-channels",sensors:ed,collisionDetection:h.closestCenter,onDragStart:e=>{let s=String(e.active.id);el.current=n(s)?void 0:a(s,G)},onDragOver:en,onDragEnd:e=>{let s=el.current;el.current=void 0,er(e);let{active:t,over:r}=e;if(!r||t.id===r.id)return;let i=String(t.id),l=String(r.id);if(i.startsWith("cat_")&&l.startsWith("cat_")){let e=-1!==q.indexOf(i)?(()=>{let e=q.indexOf(i),s=q.indexOf(l);if(-1===e||-1===s)return null;let t=[...q],[n]=t.splice(e,1);return t.splice(s,0,n),t})():null;e&&B?.(e)}else if(!i.startsWith("cat_")){let e=a(i,G),t=n(l)?l:a(l,G);if(s&&t&&t!==s&&e===s&&!!Y[s]!=!!Y[t])return void H?.();let r=q.flatMap(e=>(G[e]??[]).map(e=>e.id));if(e&&s&&e!==s){let s=""===X[e]||"__uncategorized__"===e;R?.(i,s?null:e)}L?.(r)}},children:[ex&&G[ex]?.length>0&&(0,i.jsx)(t.SortableContext,{items:G[ex].map(e=>e.id),strategy:t.verticalListSortingStrategy,children:(0,i.jsx)("div",{className:"mb-4 space-y-1",children:G[ex].map(e=>(0,i.jsx)(I,{ch:eu(e),active:e.id===j,canReorder:C,onClick:()=>b(e.id),onEdit:C?()=>em({kind:"edit-channel",id:e.id,categoryId:ex,name:e.name,type:e.type??"text"}):void 0,onDelete:C?()=>{Q(e.id),T?.(e.id)}:void 0},e.id))})}),(0,i.jsx)(t.SortableContext,{items:q.filter(e=>""!==X[e]).map(e=>r(e)),strategy:t.verticalListSortingStrategy,children:q.filter(e=>""!==X[e]).map(e=>(0,i.jsx)(k,{id:r(e),name:X[e]??e,open:!V.has(e),onToggle:()=>J(e),onAddChannel:eh(e)?()=>eg(e):void 0,onSettings:C?()=>em({kind:"category-settings",categoryId:e}):void 0,onDelete:C?()=>{ee(e),E?.(e)}:void 0,isPrivate:Y[e],canReorder:C,children:(0,i.jsx)(t.SortableContext,{items:(G[e]??[]).map(e=>e.id),strategy:t.verticalListSortingStrategy,children:(0,i.jsx)("div",{className:"mt-1 min-h-2 space-y-1",children:(G[e]??[]).map(s=>{let t=C||!!Y[e]&&s.creatorId===w;return(0,i.jsx)(I,{ch:eu(s),active:s.id===j,canReorder:C,onClick:()=>b(s.id),onEdit:t?()=>em({kind:"edit-channel",id:s.id,categoryId:e,name:s.name,type:s.type??"text"}):void 0,onDelete:t?()=>{Q(s.id),T?.(s.id)}:void 0,onManageMembers:Y[e]&&t?()=>em({kind:"manage-members",channelId:s.id,channelName:s.name}):void 0},s.id)})})})},e))})]});return(0,i.jsxs)("aside",{className:"flex min-w-0 flex-1 flex-col",children:[!N&&(0,i.jsxs)("header",{className:"flex h-12 items-center gap-1 border-b border-border/40 px-2",children:[v&&y?(0,i.jsxs)(p.DropdownMenu,{children:[(0,i.jsxs)(p.DropdownMenuTrigger,{className:"flex min-w-0 max-w-full items-center gap-2 rounded-md px-2 py-1 hover:bg-accent focus-visible:ring-2 focus-visible:ring-ring focus-visible:outline-none",children:[(0,i.jsx)(ei.ServerCrumb,{id:K??"",name:v,icon:f??null,size:7}),(0,i.jsx)("span",{className:"min-w-0 truncate text-lg font-semibold",children:v}),(0,i.jsx)(u.ChevronDown,{className:"size-4 shrink-0 text-muted-foreground"})]}),(0,i.jsxs)(p.DropdownMenuContent,{align:"start",className:"w-48",children:[(0,i.jsxs)(p.DropdownMenuItem,{onClick:()=>y("overview"),children:[(0,i.jsx)(l.Settings,{className:"size-4"})," Overview"]}),(0,i.jsxs)(p.DropdownMenuItem,{onClick:()=>y("members"),children:[(0,i.jsx)(o.Users,{className:"size-4"})," Members"]}),(0,i.jsxs)(p.DropdownMenuItem,{onClick:()=>y("invites"),children:[(0,i.jsx)(d.Link2,{className:"size-4"})," Invites"]}),(0,i.jsxs)(p.DropdownMenuItem,{onClick:()=>y("notifications"),children:[(0,i.jsx)(c.Bell,{className:"size-4"})," Notifications"]}),(0,i.jsxs)(p.DropdownMenuItem,{onClick:()=>y("audit"),children:[(0,i.jsx)(m,{className:"size-4"})," Audit Log"]})]})]}):(0,i.jsxs)("span",{className:"flex min-w-0 max-w-full items-center gap-2 px-2",children:[v&&(0,i.jsx)(ei.ServerCrumb,{id:K??"",name:v,icon:f??null,size:7}),(0,i.jsx)("span",{className:"min-w-0 truncate text-lg font-semibold",children:v||" "})]}),K&&_&&(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)("button",{onClick:()=>_(!0),className:"ml-auto grid size-7 shrink-0 place-items-center rounded-md text-muted-foreground hover:bg-accent hover:text-foreground focus-visible:ring-2 focus-visible:ring-ring focus-visible:outline-none","aria-label":"Invite to server",title:"Invite to server",children:(0,i.jsx)(x.UserPlus,{className:"size-4"})}),(0,i.jsx)(et,{open:!!W,onOpenChange:_,serverId:K,serverName:v})]})]}),C?(0,i.jsxs)(g.ContextMenu,{children:[(0,i.jsx)(g.ContextMenuTrigger,{render:(0,i.jsx)("div",{className:"flex-1 overflow-y-auto thin-scrollbar px-2 py-4"}),children:ev}),(0,i.jsxs)(g.ContextMenuContent,{className:"w-48",children:[(0,i.jsx)(g.ContextMenuItem,{onClick:()=>eg(ex),children:"Create channel"}),(0,i.jsx)(g.ContextMenuItem,{onClick:()=>em({kind:"create-category"}),children:"Create category"})]})]}):(0,i.jsx)("div",{className:"flex-1 overflow-y-auto thin-scrollbar px-2 py-4",children:ev}),ec?.kind==="create-channel"&&(0,i.jsx)(P,{category:X[ec.categoryId]??"",onClose:()=>em(null),onCreate:e=>ep(ec.categoryId,e)}),ec?.kind==="edit-channel"&&(0,i.jsx)(P,{category:X[ec.categoryId]??"",initial:{name:ec.name,type:ec.type},onClose:()=>em(null),onCreate:({name:e})=>{Z(ec.id,e),$?.(ec.id,e)}}),ec?.kind==="create-category"&&(0,i.jsx)(F,{onClose:()=>em(null),onCreate:(e,s)=>{O?.(e,s)},canTogglePrivate:C}),ec?.kind==="category-settings"&&(0,i.jsx)(U,{name:X[ec.categoryId]??"",isPrivate:!!Y[ec.categoryId],onClose:()=>em(null),onSave:e=>{es(ec.categoryId,e),A?.(ec.categoryId,{name:e})}}),ec?.kind==="manage-members"&&K&&(0,i.jsx)(ea,{channelId:ec.channelId,channelName:ec.channelName,onClose:()=>em(null)})]})});function eo({noHeader:e}){return(0,i.jsxs)("aside",{className:"flex min-w-0 flex-1 flex-col",children:[!e&&(0,i.jsx)("header",{className:"flex h-12 items-center border-b border-border/40 px-2",children:(0,i.jsx)(v.Skeleton,{className:"h-5 w-32 rounded"})}),(0,i.jsxs)("div",{className:"flex-1 overflow-hidden px-2 py-4",children:[(0,i.jsxs)("div",{className:"mb-4 space-y-1",children:[(0,i.jsx)(v.Skeleton,{className:"h-7 w-full rounded-md"}),(0,i.jsx)(v.Skeleton,{className:"h-7 w-11/12 rounded-md"})]}),[40,32].map((e,s)=>(0,i.jsxs)("div",{className:"mb-4",children:[(0,i.jsx)("div",{className:"mb-2 flex items-center gap-1 px-1",children:(0,i.jsx)(v.Skeleton,{className:"h-3 rounded",style:{width:e}})}),(0,i.jsxs)("div",{className:"space-y-1",children:[(0,i.jsx)(v.Skeleton,{className:"h-7 w-full rounded-md"}),(0,i.jsx)(v.Skeleton,{className:"h-7 w-10/12 rounded-md"}),(0,i.jsx)(v.Skeleton,{className:"h-7 w-11/12 rounded-md"}),(0,i.jsx)(v.Skeleton,{className:"h-7 w-9/12 rounded-md"})]})]},s))]})]})}e.s(["ChannelSidebar",0,el],113050);var ed=e.i(201362),ec=e.i(425828),em=e.i(652652),eu=e.i(973733),ex=e.i(577550),eh=e.i(875061),eg=e.i(255334),ep=e.i(280958);e.i(575084);var ev=e.i(567894);let ef=["admin","member"];function ej(e){return e.charAt(0).toUpperCase()+e.slice(1)}function eb({serverName:e,serverDescription:t,serverIcon:n,onUploadIcon:r,onUpdateServer:a,onRequestDelete:l}){let[o,d]=(0,s.useState)(e),[c,m]=(0,s.useState)(t??""),[u,x]=(0,s.useState)({name:e,desc:t??""}),h=(0,A.previewSlug)(o),g=o!==u.name||c!==u.desc;return(0,i.jsxs)("div",{className:"mx-auto max-w-md space-y-10",children:[(0,i.jsxs)("section",{className:"space-y-4",children:[(0,i.jsx)("h2",{className:"text-sm font-medium",children:"Server"}),(0,i.jsxs)("div",{className:"flex items-center gap-4",children:[n?(0,i.jsx)("img",{src:n,alt:"Server icon",className:"size-20 rounded-2xl object-cover"}):(0,i.jsx)("div",{className:"grid size-20 place-items-center rounded-2xl bg-primary text-2xl font-semibold text-primary-foreground",children:(0,ep.avatarInitial)(o)}),(0,i.jsxs)("div",{children:[(0,i.jsx)("div",{className:"text-sm font-medium",children:"Server icon"}),(0,i.jsx)("div",{className:"text-xs text-muted-foreground",children:"PNG, JPG, or WEBP. You'll be able to crop and zoom before saving."}),(0,i.jsx)(M.Button,{variant:"secondary",size:"sm",className:"mt-2",onClick:r,children:"Upload image"})]})]}),(0,i.jsxs)($.Field,{label:"Server name",children:[(0,i.jsx)(O.Input,{value:o,onChange:e=>d(e.target.value)}),(0,i.jsx)(E.SlugHint,{...h})]}),(0,i.jsx)($.Field,{label:"Description",children:(0,i.jsx)(ex.Textarea,{className:"h-20 resize-none",value:c,onChange:e=>m(e.target.value)})}),(0,i.jsxs)("div",{className:"flex items-center justify-end gap-2",children:[(0,i.jsx)(M.Button,{variant:"ghost",size:"sm",onClick:()=>{d(u.name),m(u.desc)},disabled:!g,children:"Cancel"}),(0,i.jsx)(M.Button,{size:"sm",onClick:()=>{!h.invalid&&g&&(a?.(o,c),x({name:o,desc:c}))},disabled:!g||h.invalid,children:"Save changes"})]})]}),(0,i.jsxs)("section",{className:"space-y-4",children:[(0,i.jsx)("h2",{className:"text-sm font-medium text-destructive",children:"Danger Zone"}),(0,i.jsxs)("div",{className:"space-y-3 rounded-lg border border-destructive/30 p-4",children:[(0,i.jsx)("p",{className:"text-sm text-muted-foreground",children:"Deleting this server is permanent and cannot be undone. All channels, messages, and members will be permanently removed."}),(0,i.jsxs)(M.Button,{variant:"destructive",size:"sm",onClick:l,children:[(0,i.jsx)(b.Trash2,{className:"size-4"})," Delete Server"]})]})]})]})}function eN({members:e,loading:t,loadingMore:n,hasMore:r,total:a,onLoadMore:l,onSearch:o,onOpenProfile:d,onKickMember:c,onSetRole:m}){let[u,x]=(0,s.useState)(""),h=(0,s.useRef)(null),g=(0,s.useRef)(null);(0,s.useEffect)(()=>{if(!o)return;let e=setTimeout(()=>o(u),200);return()=>clearTimeout(e)},[u,o]);let v=(0,ed.useVirtualizer)({count:e.length,getScrollElement:()=>h.current,estimateSize:()=>68,overscan:8});if((0,s.useEffect)(()=>{if(!l||!r)return;let e=g.current,s=h.current;if(!e||!s)return;let t=new IntersectionObserver(e=>{for(let s of e)s.isIntersecting&&!n&&l()},{root:s,rootMargin:"100px"});return t.observe(e),()=>t.disconnect()},[l,r,n]),t&&0===e.length&&!u)return(0,i.jsx)(ew,{});let f=a??e.length;return(0,i.jsxs)("div",{className:"mx-auto flex h-full min-h-0 max-w-xl flex-col",children:[o&&(0,i.jsxs)("div",{className:"relative mb-3 shrink-0",children:[(0,i.jsx)(H.Search,{className:"absolute left-2 top-1/2 size-4 -translate-y-1/2 text-muted-foreground"}),(0,i.jsx)(O.Input,{className:"h-9 pl-8",placeholder:"Search members",value:u,onChange:e=>x(e.target.value)})]}),(0,i.jsx)("div",{className:"mb-3 shrink-0 text-sm text-muted-foreground",children:u?`${e.length} matches`:`${f} members`}),(0,i.jsxs)("div",{ref:h,className:"min-h-0 flex-1 overflow-y-auto thin-scrollbar",children:[(0,i.jsx)("div",{style:{height:v.getTotalSize(),position:"relative",width:"100%"},children:v.getVirtualItems().map(s=>{let t=e[s.index];return(0,i.jsx)("div",{role:"listitem","data-index":s.index,ref:v.measureElement,style:{position:"absolute",top:0,left:0,width:"100%",transform:`translateY(${s.start}px)`,paddingBottom:8},children:(0,i.jsxs)("div",{className:"flex items-center gap-3 rounded-lg border border-border bg-card px-4 py-2",children:[(0,i.jsx)("button",{onClick:e=>d?.(t.name,e,void 0,t.userId),className:"shrink-0",children:(0,i.jsx)(W.Avatar,{label:t.avatar,seed:t.userId,size:32,presence:t.status,ringColor:"var(--card)"})}),(0,i.jsxs)("div",{className:"min-w-0 flex-1",children:[(0,i.jsx)("div",{className:"truncate text-[15px] font-medium",children:t.name}),(0,i.jsx)("div",{className:"text-xs text-muted-foreground",children:ej(t.role)})]}),(0,ev.isServerOwner)(t.role)?(0,i.jsxs)(eh.Badge,{variant:"secondary",className:"gap-1",children:[(0,i.jsx)(em.Shield,{className:"size-3.5"})," Owner"]}):(0,i.jsxs)(p.DropdownMenu,{children:[(0,i.jsxs)(p.DropdownMenuTrigger,{render:(0,i.jsx)("button",{className:(0,eh.badgeVariants)({variant:"secondary"})+" cursor-pointer gap-1"}),children:[(0,i.jsx)(em.Shield,{className:"size-3.5"})," ",ej(t.role)]}),(0,i.jsx)(p.DropdownMenuContent,{align:"end",className:"w-32",children:ef.map(e=>(0,i.jsx)(p.DropdownMenuItem,{onClick:()=>m?.(t.id,e),children:ej(e)},e))})]}),"owner"!==t.role&&(0,i.jsx)(M.Button,{variant:"ghost",size:"icon-sm",className:"text-muted-foreground hover:text-destructive","aria-label":"Kick member",onClick:()=>c?.(t.id),children:(0,i.jsx)(b.Trash2,{className:"size-4"})})]})},t.id)})}),r&&(0,i.jsx)("div",{ref:g,className:"py-3 text-center text-xs text-muted-foreground",children:n?"Loading…":""})]})]})}function ey({invites:e,loading:t,onRevokeInvite:n,onCopyInvite:r}){let[a,l]=(0,s.useState)(null);return t&&0===e.length?(0,i.jsx)(eS,{}):(0,i.jsxs)("div",{className:"mx-auto max-w-xl space-y-2",children:[0===e.length&&(0,i.jsx)("p",{className:"text-sm text-muted-foreground",children:"No active invites — use the invite icon in the sidebar header to share this server."}),e.map(e=>(0,i.jsxs)("div",{className:"flex items-center gap-3 rounded-lg border border-border bg-card px-4 py-3",children:[(0,i.jsx)(d.Link2,{className:"size-5 shrink-0 text-muted-foreground"}),(0,i.jsxs)("div",{className:"min-w-0 flex-1",children:[(0,i.jsx)("div",{className:"truncate font-mono text-sm",children:e.code}),(0,i.jsxs)("div",{className:"text-xs text-muted-foreground",suppressHydrationWarning:!0,children:["by ",e.by," · ",e.uses,e.maxUses?` / ${e.maxUses}`:""," uses · ",e.expiresAt?`expires ${(0,eu.formatRelativeTime)(e.expiresAt)}`:"never expires"]})]}),(0,i.jsx)(M.Button,{variant:"secondary",size:"sm",onClick:()=>r?.(e.code),children:"Copy"}),(0,i.jsx)(M.Button,{variant:"ghost",size:"icon-sm",className:"text-muted-foreground hover:text-destructive","aria-label":"Revoke invite",onClick:()=>l(e.code),children:(0,i.jsx)(ec.X,{className:"size-4"})})]},e.code)),(0,i.jsx)(y.ConfirmDialog,{open:null!==a,onOpenChange:e=>{e||l(null)},title:"Revoke this invite?",description:"Anyone who hasn't used it yet won't be able to join with this link. Existing members aren't affected.",confirmLabel:"Revoke invite",onConfirm:()=>{a&&n?.(a),l(null)}})]})}function eC({level:e,onSetLevel:s}){return(0,i.jsxs)("div",{className:"mx-auto max-w-md space-y-2",children:[(0,i.jsx)("div",{className:"mb-3 text-sm text-muted-foreground",children:"Default notifications for this server"}),[{value:"All messages",label:"Every message",hint:"Notify for every new message on this server"},{value:"Only @mentions",label:"Mentions only",hint:"Notify when someone @s you"},{value:"Nothing",label:"Muted",hint:"No notifications, no badges"}].map(t=>(0,i.jsxs)("button",{onClick:()=>s?.(t.value),className:"flex w-full items-center gap-3 rounded-lg border border-border bg-card px-4 py-3 text-left hover:bg-accent",children:[(0,i.jsx)("span",{className:`grid size-4 shrink-0 place-items-center rounded-full border ${e===t.value?"border-primary":"border-muted-foreground"}`,children:e===t.value&&(0,i.jsx)("span",{className:"size-2 rounded-full bg-primary"})}),(0,i.jsxs)("div",{className:"min-w-0 flex-1",children:[(0,i.jsx)("div",{className:"text-sm font-medium",children:t.label}),(0,i.jsx)("div",{className:"text-xs text-muted-foreground",children:t.hint})]})]},t.value))]})}function ek({auditLog:e,loading:s}){return s&&0===e.length?(0,i.jsx)(ez,{}):(0,i.jsxs)("div",{className:"mx-auto max-w-xl space-y-2",children:[0===e.length&&(0,i.jsx)("p",{className:"text-sm text-muted-foreground",children:"No audit log entries yet. Admin actions will be recorded here."}),e.map((e,s)=>(0,i.jsxs)("div",{className:"flex items-center gap-3 rounded-md px-2 py-2 hover:bg-accent",children:[(0,i.jsx)(m,{className:"size-4 shrink-0 text-muted-foreground"}),(0,i.jsxs)("div",{className:"min-w-0 flex-1 text-sm",children:[(0,i.jsx)("span",{className:"font-medium",children:e.actor})," ",(0,i.jsx)("span",{className:"text-muted-foreground",children:e.action})," ",(0,i.jsx)("span",{className:"font-medium",children:e.target})]}),(0,i.jsx)("span",{className:"shrink-0 text-xs text-muted-foreground",suppressHydrationWarning:!0,children:(0,eu.formatMessageTime)(e.createdAt)})]},s))]})}function ew(){return(0,i.jsxs)("div",{className:"mx-auto max-w-xl space-y-2",children:[(0,i.jsx)(v.Skeleton,{className:"mb-3 h-4 w-24 rounded"}),Array.from({length:5}).map((e,s)=>(0,i.jsxs)("div",{className:"flex items-center gap-3 rounded-lg border border-border bg-card px-4 py-2",children:[(0,i.jsx)(v.Skeleton,{className:"size-8 shrink-0 rounded-full"}),(0,i.jsxs)("div",{className:"flex min-w-0 flex-1 flex-col gap-2",children:[(0,i.jsx)(v.Skeleton,{className:"h-4 w-2/5 rounded"}),(0,i.jsx)(v.Skeleton,{className:"h-3 w-16 rounded"})]}),(0,i.jsx)(v.Skeleton,{className:"h-6 w-16 rounded-full"}),(0,i.jsx)(v.Skeleton,{className:"size-7 shrink-0 rounded-md"})]},s))]})}function eS(){return(0,i.jsx)("div",{className:"mx-auto max-w-xl space-y-2",children:Array.from({length:3}).map((e,s)=>(0,i.jsxs)("div",{className:"flex items-center gap-3 rounded-lg border border-border bg-card px-4 py-3",children:[(0,i.jsx)(v.Skeleton,{className:"size-5 shrink-0 rounded"}),(0,i.jsxs)("div",{className:"flex min-w-0 flex-1 flex-col gap-2",children:[(0,i.jsx)(v.Skeleton,{className:"h-4 w-1/2 rounded"}),(0,i.jsx)(v.Skeleton,{className:"h-3 w-3/4 rounded"})]}),(0,i.jsx)(v.Skeleton,{className:"h-8 w-16 rounded-md"}),(0,i.jsx)(v.Skeleton,{className:"size-7 shrink-0 rounded-md"})]},s))})}function ez(){return(0,i.jsx)("div",{className:"mx-auto max-w-xl space-y-2",children:Array.from({length:6}).map((e,s)=>(0,i.jsxs)("div",{className:"flex items-center gap-3 rounded-md px-2 py-2",children:[(0,i.jsx)(v.Skeleton,{className:"size-4 shrink-0 rounded"}),(0,i.jsx)(v.Skeleton,{className:"h-4 flex-1 rounded",style:{maxWidth:360+37*s%80}}),(0,i.jsx)(v.Skeleton,{className:"h-3 w-16 shrink-0 rounded"})]},s))})}e.s(["ServerSettings",0,function({section:e,setSection:t,onClose:n,serverName:r,serverDescription:a,serverIcon:u,members:x,membersLoading:h,membersLoadingMore:g,membersHasMore:p,membersTotal:v,onLoadMoreMembers:f,onSearchMembers:j,invites:b,invitesLoading:N,auditLog:C,auditLogLoading:k,onOpenProfile:w,onKickMember:S,onSetRole:z,onRevokeInvite:I,onCopyInvite:D,onDeleteServer:O,onUploadIcon:T,onUpdateServer:E,notifLevel:A,onSetNotifLevel:P}){let[$,B]=(0,s.useState)(!1),L=[{id:"overview",label:"Overview",icon:l.Settings},{id:"members",label:"Members",icon:o.Users},{id:"invites",label:"Invites",icon:d.Link2},{id:"notifications",label:"Notifications",icon:c.Bell},{id:"audit",label:"Audit Log",icon:m}];return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(y.ConfirmDialog,{open:$,onOpenChange:B,title:`Delete "${r}"?`,description:"This cannot be undone. All channels, messages, and members will be permanently removed.",confirmLabel:"Delete Server",confirmVariant:"destructive",onConfirm:()=>{B(!1),O?.()}}),(0,i.jsxs)(eg.Tabs,{orientation:"vertical",value:e,onValueChange:e=>t(e),className:"min-h-0 flex-1 flex-row gap-0",children:[(0,i.jsxs)("nav",{className:"flex w-60 shrink-0 flex-col gap-2 overflow-y-auto thin-scrollbar border-r border-border p-4",style:{background:"var(--d-rail)"},children:[(0,i.jsx)("div",{className:"px-2 text-xs font-semibold text-muted-foreground",children:r}),(0,i.jsx)(eg.TabsList,{variant:"line",className:"h-auto w-full flex-col gap-1",children:L.map(e=>(0,i.jsxs)(eg.TabsTrigger,{value:e.id,className:"h-9 w-full justify-start gap-2",children:[(0,i.jsx)(e.icon,{className:"size-4"})," ",e.label]},e.id))})]}),(0,i.jsxs)("div",{className:"flex min-w-0 flex-1 flex-col bg-background",children:[(0,i.jsxs)("header",{className:"flex h-12 shrink-0 items-center border-b border-border px-4",children:[(0,i.jsx)("h1",{className:"flex-1 text-lg font-semibold capitalize",children:"audit"===e?"Audit Log":e}),(0,i.jsx)(M.Button,{variant:"ghost",size:"icon-sm",onClick:n,"aria-label":"Close settings",children:(0,i.jsx)(ec.X,{className:"size-4"})})]}),(0,i.jsxs)("div",{className:"flex-1 overflow-y-auto thin-scrollbar p-4",children:[(0,i.jsx)(eg.TabsContent,{value:"overview",children:(0,i.jsx)(eb,{serverName:r,serverDescription:a,serverIcon:u,onUploadIcon:T,onUpdateServer:E,onRequestDelete:()=>B(!0)})}),(0,i.jsx)(eg.TabsContent,{value:"members",children:(0,i.jsx)(eN,{members:x,loading:h,loadingMore:g,hasMore:p,total:v,onLoadMore:f,onSearch:j,onOpenProfile:w,onKickMember:S,onSetRole:z})}),(0,i.jsx)(eg.TabsContent,{value:"invites",children:(0,i.jsx)(ey,{invites:b,loading:N,onRevokeInvite:I,onCopyInvite:D})}),(0,i.jsx)(eg.TabsContent,{value:"notifications",children:(0,i.jsx)(eC,{level:A??"Only @mentions",onSetLevel:P})}),(0,i.jsx)(eg.TabsContent,{value:"audit",children:(0,i.jsx)(ek,{auditLog:C,loading:k})})]})]})]})]})}],176828)}]);
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,97737,e=>{"use strict";var t=e.i(785579),s=e.i(458931),n=e.i(516266),r=e.i(849050),a=e.i(636557),i=e.i(374402),u=e.i(923533);e.i(954194);function o(e,t){if(!e||0===e.pages.length)return e;let[s,...n]=e.pages;return{...e,pages:[{...s,messages:[...s.messages,t]},...n]}}function c(e,t,s){if(!e)return e;let n=!1,r=e.pages.map(e=>e.messages.some(e=>e.id===t)?(n=!0,{...e,messages:e.messages.map(e=>e.id===t?{...e,id:s}:e)}):e);return n?{...e,pages:r}:e}function m(e,t){if(!e)return e;let s=!1,n=e.pages.map(e=>e.messages.some(e=>e.id===t)?(s=!0,{...e,messages:e.messages.map(e=>e.id===t?{...e,failed:!0}:e)}):e);return s?{...e,pages:n}:e}function l(e){return e.contentType.startsWith("image/")?{kind:"image",name:e.filename,url:e.url,width:e.width,height:e.height}:{kind:"file",name:e.filename,url:e.url,size:e.size?`${Math.round(e.size/1024)} KB`:""}}function d(){return`temp_${Date.now()}_${Math.random().toString(36).slice(2)}`}function y(e,t,s,n,r){if(!e)return e;let a=!1,i=e.pages.map(e=>{if(!e.messages.some(e=>e.id===t))return e;a=!0;let i=e.messages.map(e=>{if(e.id!==t)return e;let a=(e.reactions??[]).map(e=>({...e,userIds:[...e.userIds??[]]})),i=a.find(e=>e.emoji===s);return r?i?(i.userIds.includes(n)||(i.userIds.push(n),i.count=i.userIds.length),i.me=!0):a.push({emoji:s,count:1,me:!0,userIds:[n]}):i&&(i.userIds=i.userIds.filter(e=>e!==n),i.count=i.userIds.length,i.me=!1,i.count<=0&&a.splice(a.indexOf(i),1)),{...e,reactions:a}});return{...e,messages:i}});return a?{...e,pages:i}:e}function h(e,t,s){if(!e)return!1;for(let n of e.pages){let e=n.messages.find(e=>e.id===t);if(e)return e.reactions?.find(e=>e.emoji===s)?.me??!1}return!1}let p=new Map;function f(e,t){let s=p.get(e);s&&clearTimeout(s.timer);let n={timer:void 0,messageId:t.messageId,fire:()=>{if(p.get(e)!==n)return;p.delete(e);let s=n.messageId?JSON.stringify({lastReadMessageId:n.messageId}):void 0;(0,r.apiFetch)(function(e){if(e.startsWith("dm:")){let t=e.slice(3);return`/api/community/dm/${t}/read`}return`/api/community/channels/${e}/read`}(e),s?{method:"PUT",body:s}:{method:"PUT"}).then(()=>t.onDone()).catch(()=>{})}};n.timer=setTimeout(n.fire,500),p.set(e,n)}e.s(["MARK_CHANNEL_READ_DEBOUNCE_MS",0,500,"_resetPendingReads_forTesting",0,function(){for(let e of p.values())clearTimeout(e.timer);p.clear()},"_resetReactionTimers_forTesting",0,function(){let e=u.useCommunityStore.getState().reactionTimers;for(let{timer:t}of e.values())clearTimeout(t);e.clear()},"flushPendingReads",0,function(){for(let e of[...p.values()])clearTimeout(e.timer),e.fire()},"scheduleMarkRead",0,f,"tempMessageId",0,d,"toAttachmentVm",0,l,"useAdvanceChannelWatermark",0,function(){let e=(0,s.useQueryClient)();return(t,s)=>{f(t,{messageId:s,onDone:()=>{e.invalidateQueries({queryKey:i.communityKeys.inbox()}),e.invalidateQueries({queryKey:i.communityKeys.servers()})}})}},"useAdvanceDmWatermark",0,function(){let e=(0,s.useQueryClient)();return(t,s)=>{f(`dm:${t}`,{messageId:s,onDone:()=>{e.invalidateQueries({queryKey:i.communityKeys.inbox()}),e.invalidateQueries({queryKey:i.communityKeys.dms()})}})}},"useCreateThread",0,function(){let e=(0,s.useQueryClient)();return(0,t.useMutation)({mutationFn:async({messageId:e,name:t})=>(0,r.apiFetch)(`/api/community/messages/${e}/threads`,{method:"POST",body:JSON.stringify({name:t})}),onSuccess:(t,s)=>{e.setQueryData(i.communityKeys.channelMessages(s.channelId),e=>{if(!e)return e;let n=!1,r=e.pages.map(e=>e.messages.some(e=>e.id===s.messageId)?(n=!0,{...e,messages:e.messages.map(e=>e.id===s.messageId?{...e,thread:{id:t.id,name:s.name,messageCount:0}}:e)}):e);return n?{...e,pages:r}:e}),e.invalidateQueries({queryKey:i.communityKeys.threads(s.channelId)})}})},"useDeleteMention",0,function(){let e=(0,s.useQueryClient)();return(0,t.useMutation)({mutationFn:async({mentionId:e})=>{await (0,r.apiFetch)(`/api/community/inbox/mentions/${e}`,{method:"DELETE"})},onMutate:async t=>{let s=i.communityKeys.inboxMentions(),n=e.getQueryData(s);return e.setQueryData(s,e=>e?{...e,mentions:e.mentions.filter(e=>e.id!==t.mentionId)}:e),{snapshot:n}},onSuccess:()=>{e.invalidateQueries({queryKey:i.communityKeys.servers()})},onError:(t,s,n)=>{n?.snapshot&&e.setQueryData(i.communityKeys.inboxMentions(),n.snapshot),(0,r.toastApiError)(t,"Failed to remove mention")}})},"useMarkAllInboxRead",0,function(){let e=(0,s.useQueryClient)();return(0,t.useMutation)({mutationFn:async()=>{await Promise.all([(0,r.apiFetch)("/api/community/inbox/mentions/read-all",{method:"POST"}),(0,r.apiFetch)("/api/community/inbox/unreads/read-all",{method:"POST"}),(0,r.apiFetch)("/api/community/inbox/dms/read-all",{method:"POST"})])},onMutate:async()=>{e.setQueryData(i.communityKeys.inboxUnreads(),{servers:[],dms:[]}),e.setQueryData(i.communityKeys.inboxMentions(),{mentions:[]})},onSuccess:()=>{e.invalidateQueries({queryKey:i.communityKeys.servers()})},onError:t=>{(0,r.toastApiError)(t,"Failed to mark inbox read"),e.invalidateQueries({queryKey:i.communityKeys.inbox()}),e.invalidateQueries({queryKey:i.communityKeys.servers()})}})},"useMarkChannelRead",0,function(){let e=(0,s.useQueryClient)();return(0,t.useMutation)({mutationFn:async({channelId:t})=>{f(t,{onDone:()=>{e.invalidateQueries({queryKey:i.communityKeys.inbox()}),e.invalidateQueries({queryKey:i.communityKeys.servers()})}})},onMutate:async t=>{e.setQueryData(i.communityKeys.inboxUnreads(),e=>{if(!e)return e;let s=e.servers.map(e=>({...e,channels:e.channels.filter(e=>e.channelId!==t.channelId)})).filter(e=>e.channels.length>0);return{...e,servers:s}})}})},"useMarkDmRead",0,function(){let e=(0,s.useQueryClient)();return(0,t.useMutation)({mutationFn:async({dmId:e})=>{await (0,r.apiFetch)(`/api/community/dm/${e}/read`,{method:"PUT"})},onMutate:async t=>{let s=i.communityKeys.dms(),n=e.getQueryData(s);return e.setQueryData(s,e=>e?{...e,conversations:e.conversations.map(e=>e.id===t.dmId?{...e,unread:!1}:e)}:e),{snapshot:n}},onError:(t,s,n)=>{n?.snapshot&&e.setQueryData(i.communityKeys.dms(),n.snapshot)}})},"usePinMessage",0,function(){let e=(0,s.useQueryClient)();return(0,t.useMutation)({mutationFn:async({channelId:e,messageId:t})=>{await (0,r.apiFetch)(`/api/community/channels/${e}/pins`,{method:"POST",body:JSON.stringify({messageId:t})})},onSuccess:(t,s)=>{e.invalidateQueries({queryKey:i.communityKeys.pins(s.channelId)})}})},"useSendDmMessage",0,function(){let e=(0,s.useQueryClient)();return(0,t.useMutation)({mutationFn:async({dmId:e,content:t,replyToId:s,attachments:n})=>(0,r.apiFetch)(`/api/community/dm/${e}/messages`,{method:"POST",body:JSON.stringify({content:t,replyToId:s,attachments:n})}),onMutate:async t=>{let s=i.communityKeys.dmMessages(t.dmId);await e.cancelQueries({queryKey:s});let n=d(),r=t.attachments?.map(l),a={id:n,type:"chat",authorId:t.author.id,authorName:t.author.name,authorAvatar:t.author.avatar,content:t.content,createdAt:new Date().toISOString(),...r?.length?{attachments:r}:{}};return e.setQueryData(s,e=>o(e,a)),{tempId:n,key:s}},onError:(t,s,i)=>{if(i){if(t instanceof a.ApiError&&403===t.status&&"blocked"===t.message){e.setQueryData(i.key,e=>(function(e,t){if(!e)return e;let s=!1,n=e.pages.map(e=>{let n=e.messages.filter(e=>e.id!==t);return n.length===e.messages.length?e:(s=!0,{...e,messages:n})});return s?{...e,pages:n}:e})(e,i.tempId)),(0,n.toast)("You cannot send messages to this user");return}t instanceof a.ApiError&&429===t.status?n.toast.error("Rate limited — please wait a moment before trying again"):(0,r.toastApiError)(t,"Failed to send message"),e.setQueryData(i.key,e=>m(e,i.tempId))}},onSuccess:(t,s,n)=>{n&&e.setQueryData(n.key,e=>c(e,n.tempId,t.message.id))}})},"useSendMessage",0,function(){let e=(0,s.useQueryClient)();return(0,t.useMutation)({mutationFn:async({channelId:e,content:t,replyToId:s,mentionType:n,attachments:a})=>(0,r.apiFetch)(`/api/community/channels/${e}/messages`,{method:"POST",body:JSON.stringify({content:t,replyToId:s,mentionType:n,attachments:a})}),onMutate:async t=>{let s,n=i.communityKeys.channelMessages(t.channelId);await e.cancelQueries({queryKey:n});let r=d(),a=e.getQueryData(n);if(t.replyToId&&a){for(let e of a.pages){let n=e.messages.find(e=>e.id===t.replyToId);if(n){s={id:t.replyToId,authorName:n.authorName??"Unknown",text:(n.content??"").slice(0,100)};break}}s||(s={id:t.replyToId,authorName:"Unknown",text:""})}let u=t.attachments?.map(l),c={id:r,type:"chat",authorId:t.author.id,authorName:t.author.name,authorAvatar:t.author.avatar,content:t.content,createdAt:new Date().toISOString(),...s?{replyTo:s}:{},...u?.length?{attachments:u}:{}};return e.setQueryData(n,e=>o(e,c)),{tempId:r,key:n}},onError:(t,s,i)=>{i&&(t instanceof a.ApiError&&429===t.status?n.toast.error("Rate limited — please wait a moment before trying again"):(0,r.toastApiError)(t,"Failed to send message"),e.setQueryData(i.key,e=>m(e,i.tempId)))},onSuccess:(t,s,n)=>{n&&e.setQueryData(n.key,e=>c(e,n.tempId,t.message.id))}})},"useToggleReaction",0,function(){let e=(0,s.useQueryClient)();return(0,t.useMutation)({mutationFn:async(t,...s)=>{let n=t.channelId?i.communityKeys.channelMessages(t.channelId):t.dmId?i.communityKeys.dmMessages(t.dmId):i.communityKeys.channelMessages("__none__"),a=h(e.getQueryData(n),t.messageId,t.emoji),u=`/api/community/messages/${t.messageId}/reactions/${encodeURIComponent(t.emoji)}`;await (0,r.apiFetch)(u,{method:a?"PUT":"DELETE"})},onMutate:async t=>{let s=t.channelId?i.communityKeys.channelMessages(t.channelId):t.dmId?i.communityKeys.dmMessages(t.dmId):i.communityKeys.channelMessages("__none__");await e.cancelQueries({queryKey:s});let n=h(e.getQueryData(s),t.messageId,t.emoji),r=!n;return e.setQueryData(s,e=>y(e,t.messageId,t.emoji,t.userId,r)),{key:s,originalMe:n}},onError:(t,s,n)=>{n&&e.setQueryData(n.key,e=>y(e,s.messageId,s.emoji,s.userId,n.originalMe))}})},"useToggleReactionApi",0,function(){let e=(0,s.useQueryClient)();return t=>{let s=t.channelId?i.communityKeys.channelMessages(t.channelId):t.dmId?i.communityKeys.dmMessages(t.dmId):i.communityKeys.channelMessages("__none__"),n=h(e.getQueryData(s),t.messageId,t.emoji),a=!n;e.setQueryData(s,e=>y(e,t.messageId,t.emoji,t.userId,a));let o=`${t.messageId}:${t.emoji}`,c=u.useCommunityStore.getState().reactionTimers,m=c.get(o);if(m&&(clearTimeout(m.timer),m.originalMe===a))return void c.delete(o);let l=m?.originalMe??n,d=setTimeout(()=>{c.delete(o);let n=l?"DELETE":"PUT",a=`/api/community/messages/${t.messageId}/reactions/${encodeURIComponent(t.emoji)}`;(0,r.apiFetch)(a,{method:n}).catch(()=>{e.setQueryData(s,e=>y(e,t.messageId,t.emoji,t.userId,l))})},300);c.set(o,{timer:d,originalMe:l})}},"useUnpinMessage",0,function(){let e=(0,s.useQueryClient)();return(0,t.useMutation)({mutationFn:async({channelId:e,messageId:t})=>{await (0,r.apiFetch)(`/api/community/channels/${e}/pins/${t}`,{method:"DELETE"})},onMutate:async t=>{let s=i.communityKeys.pins(t.channelId);await e.cancelQueries({queryKey:s});let n=e.getQueryData(s);return e.setQueryData(s,e=>e?{...e,pins:e.pins.filter(e=>e.id!==t.messageId)}:e),{snapshot:n,key:s}},onError:(t,s,n)=>{n&&n.snapshot&&e.setQueryData(n.key,n.snapshot)}})}],97737)},384302,797473,125498,54372,568472,512554,664501,776152,331607,997303,939098,e=>{"use strict";e.i(97737);var t=e.i(785579),s=e.i(458931),n=e.i(849050),r=e.i(374402);function a(e,n){let a=(0,s.useQueryClient)();return(0,t.useMutation)({mutationFn:async({friendshipId:t})=>{await e(t)},onMutate:async e=>{let t=r.communityKeys.friends();await a.cancelQueries({queryKey:t});let s=a.getQueryData(t);return a.setQueryData(t,t=>n(t,e.friendshipId)),{snapshot:s}},onError:(e,t,s)=>{s?.snapshot&&a.setQueryData(r.communityKeys.friends(),s.snapshot)},onSuccess:()=>{a.invalidateQueries({queryKey:r.communityKeys.friends()})}})}e.s(["useAcceptFriendRequest",0,function(){return a(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,s.useQueryClient)();return(0,t.useMutation)({mutationFn:async({userId:e})=>{await (0,n.apiFetch)(`/api/community/users/${e}/block`,{method:"POST"})},onSuccess:()=>{e.invalidateQueries({queryKey:r.communityKeys.friends()})}})},"useRejectFriendRequest",0,function(){return a(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 a(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,s.useQueryClient)();return(0,t.useMutation)({mutationFn:async({username:e})=>{await (0,n.apiFetch)("/api/community/friends/request",{method:"POST",body:JSON.stringify({username:e})})},onSuccess:()=>{e.invalidateQueries({queryKey:r.communityKeys.friends()})}})},"useUnblockUser",0,function(){let e=(0,s.useQueryClient)();return(0,t.useMutation)({mutationFn:async({userId:e})=>{await (0,n.apiFetch)(`/api/community/users/${e}/unblock`,{method:"POST"})},onMutate:async t=>{let s=r.communityKeys.friends();await e.cancelQueries({queryKey:s});let n=e.getQueryData(s);return e.setQueryData(s,e=>e?{...e,blocked:e.blocked.filter(e=>(e.userId??e.id)!==t.userId)}:e),{snapshot:n}},onError:(t,s,n)=>{n?.snapshot&&e.setQueryData(r.communityKeys.friends(),n.snapshot)},onSuccess:()=>{e.invalidateQueries({queryKey:r.communityKeys.friends()})}})}],797473),e.i(462553);var i=e.i(725521);e.s(["useKickMember",0,function(){let e=(0,s.useQueryClient)();return(0,t.useMutation)({mutationFn:async({serverId:e,memberId:t})=>{await (0,n.apiFetch)(`/api/community/servers/${e}/members/${t}`,{method:"DELETE"})},onMutate:async t=>{let s=r.communityKeys.members(t.serverId);await e.cancelQueries({queryKey:s});let n=e.getQueryData(s);return e.setQueryData(s,e=>(0,i.patchCacheKick)(e,t.memberId)),(0,i.dispatchMemberOverlayEvent)({type:"kick",memberId:t.memberId}),{snapshot:n}},onError:(t,s,n)=>{n?.snapshot&&e.setQueryData(r.communityKeys.members(s.serverId),n.snapshot)}})},"useSetMemberRole",0,function(){let e=(0,s.useQueryClient)();return(0,t.useMutation)({mutationFn:async({serverId:e,memberId:t,role:s})=>{await (0,n.apiFetch)(`/api/community/servers/${e}/members/${t}`,{method:"PATCH",body:JSON.stringify({role:s})})},onMutate:async t=>{let s=r.communityKeys.members(t.serverId);await e.cancelQueries({queryKey:s});let n=e.getQueryData(s);return e.setQueryData(s,e=>(0,i.patchCacheRole)(e,t.memberId,t.role)),(0,i.dispatchMemberOverlayEvent)({type:"role",memberId:t.memberId,role:t.role}),{snapshot:n}},onError:(t,s,n)=>{n?.snapshot&&e.setQueryData(r.communityKeys.members(s.serverId),n.snapshot)}})}],125498);var u=e.i(147156);function o(e){return"All Messages"===e?"all":"Only @mentions"===e?"mentions":"Nothing"===e?"nothing":"all"===e||"mentions"===e||"nothing"===e?e:"mentions"}e.s(["useResolveOrCreateInvite",0,function(e){let a,i=(0,s.useQueryClient)(),o=(a=(0,s.useQueryClient)(),(0,t.useMutation)({mutationFn:async({serverId:e})=>(0,n.apiFetch)(`/api/community/servers/${e}/invites`,{method:"POST"}),onSuccess:(e,t)=>{let s={code:e.invite.token,uses:e.invite.uses,maxUses:e.invite.maxUses,expiresAt:e.invite.expiresAt,by:t.creatorName,creatorId:t.creatorId};a.setQueryData(r.communityKeys.invites(t.serverId),e=>e?{...e,invites:[s,...e.invites]}:{invites:[s]})}}));return(0,u.useCallback)(async(t,s)=>{let n=i.getQueryData(r.communityKeys.invites(e)),a=new Date().toISOString(),u=n?.invites.find(e=>e.creatorId===t&&(!e.expiresAt||!(e.expiresAt<=a))&&(null===e.maxUses||!(e.uses>=e.maxUses)));if(u)return{token:u.code,uses:u.uses,maxUses:u.maxUses,expiresAt:u.expiresAt};let{invite:c}=await o.mutateAsync({serverId:e,creatorId:t,creatorName:s});return c},[e,i,o])},"useRevokeInvite",0,function(){let e=(0,s.useQueryClient)();return(0,t.useMutation)({mutationFn:async({code:e})=>{await (0,n.apiFetch)(`/api/community/invites/${e}`,{method:"DELETE"})},onMutate:async t=>{let s=r.communityKeys.invites(t.serverId);await e.cancelQueries({queryKey:s});let n=e.getQueryData(s);return e.setQueryData(s,e=>e?{...e,invites:e.invites.filter(e=>e.code!==t.code)}:e),{snapshot:n}},onError:(t,s,n)=>{n?.snapshot&&e.setQueryData(r.communityKeys.invites(s.serverId),n.snapshot)}})}],54372),e.s(["useCreateCategory",0,function(){let e=(0,s.useQueryClient)();return(0,t.useMutation)({mutationFn:async({serverId:e,name:t,private:s})=>(0,n.apiFetch)(`/api/community/servers/${e}/categories`,{method:"POST",body:JSON.stringify({name:t,private:s})}),onSuccess:(t,s)=>{e.invalidateQueries({queryKey:r.communityKeys.server(s.serverId)})}})},"useCreateChannel",0,function(){let e=(0,s.useQueryClient)();return(0,t.useMutation)({mutationFn:async({serverId:e,categoryId:t,name:s,type:r})=>(0,n.apiFetch)(`/api/community/servers/${e}/channels`,{method:"POST",body:JSON.stringify({categoryId:t,name:s,type:r})}),onSuccess:(t,s)=>{e.invalidateQueries({queryKey:r.communityKeys.server(s.serverId)})}})},"useDeleteCategory",0,function(){let e=(0,s.useQueryClient)();return(0,t.useMutation)({mutationFn:async({serverId:e,categoryId:t})=>{await (0,n.apiFetch)(`/api/community/servers/${e}/categories/${t}`,{method:"DELETE"})},onSuccess:(t,s)=>{e.invalidateQueries({queryKey:r.communityKeys.server(s.serverId)})}})},"useDeleteChannel",0,function(){let e=(0,s.useQueryClient)();return(0,t.useMutation)({mutationFn:async({channelId:e})=>{await (0,n.apiFetch)(`/api/community/channels/${e}`,{method:"DELETE"})},onSuccess:(t,s)=>{s.serverId&&e.invalidateQueries({queryKey:r.communityKeys.server(s.serverId)})}})},"useMoveChannel",0,function(){let e=(0,s.useQueryClient)();return(0,t.useMutation)({mutationFn:async({channelId:e,categoryId:t})=>{await (0,n.apiFetch)(`/api/community/channels/${e}`,{method:"PATCH",body:JSON.stringify({categoryId:t})})},onSuccess:(t,s)=>{e.invalidateQueries({queryKey:r.communityKeys.server(s.serverId)})}})},"useReorderCategories",0,function(){let e=(0,s.useQueryClient)();return(0,t.useMutation)({mutationFn:async({serverId:e,categoryIds:t})=>{await (0,n.apiFetch)(`/api/community/servers/${e}/categories/reorder`,{method:"PATCH",body:JSON.stringify({categoryIds:t})})},onSuccess:(t,s)=>{e.invalidateQueries({queryKey:r.communityKeys.server(s.serverId)})}})},"useReorderChannels",0,function(){let e=(0,s.useQueryClient)();return(0,t.useMutation)({mutationFn:async({serverId:e,channelIds:t})=>{await (0,n.apiFetch)(`/api/community/servers/${e}/channels/reorder`,{method:"PATCH",body:JSON.stringify({channelIds:t})})},onSuccess:(t,s)=>{e.invalidateQueries({queryKey:r.communityKeys.server(s.serverId)})}})},"useReorderServers",0,function(){let e=(0,s.useQueryClient)();return(0,t.useMutation)({mutationFn:async({serverIds:e})=>{await (0,n.apiFetch)("/api/community/servers/reorder",{method:"PATCH",body:JSON.stringify({serverIds:e})})},onMutate:async t=>{let s=r.communityKeys.servers();await e.cancelQueries({queryKey:s});let n=e.getQueryData(s);return e.setQueryData(s,e=>{if(!e)return e;let s=new Map(e.servers.map(e=>[e.id,e]));return{...e,servers:t.serverIds.map(e=>s.get(e)).filter(e=>!!e)}}),{snapshot:n}},onError:(t,s,n)=>{n?.snapshot&&e.setQueryData(r.communityKeys.servers(),n.snapshot)}})},"useUpdateCategory",0,function(){let e=(0,s.useQueryClient)();return(0,t.useMutation)({mutationFn:async({serverId:e,categoryId:t,name:s})=>{await (0,n.apiFetch)(`/api/community/servers/${e}/categories/${t}`,{method:"PATCH",body:JSON.stringify({name:s})})},onSuccess:(t,s)=>{e.invalidateQueries({queryKey:r.communityKeys.server(s.serverId)})}})}],568472),e.s(["useCreateForumPost",0,function(){let e=(0,s.useQueryClient)();return(0,t.useMutation)({mutationFn:async({channelId:e,name:t,content:s,tags:r})=>(0,n.apiFetch)(`/api/community/channels/${e}/posts`,{method:"POST",body:JSON.stringify({name:t,content:s,tags:r})}),onSuccess:(t,s)=>{e.setQueryData(r.communityKeys.forumPosts(s.channelId),e=>e?{...e,posts:[t.post,...e.posts]}:{posts:[t.post]})}})}],512554),e.s(["useUploadFile",0,function(){return(0,t.useMutation)({mutationFn:async({target:e,file:t})=>{let s=e.threadId?`/api/community/threads/${e.threadId}/upload`:e.dmId?`/api/community/dm/${e.dmId}/upload`:e.channelId?`/api/community/channels/${e.channelId}/upload`:null;if(!s)throw Error("Upload target requires channelId, dmId, or threadId");let r=new FormData;r.append("file",t);let a=await fetch(s,{method:"POST",body:r,credentials:"include"});if(!a.ok)throw await (0,n.readUploadError)(a,"Upload failed");return await a.json()}})},"zipUploadResultsWithDimensions",0,function(e,t){return e.map((e,s)=>e?{...e,width:t[s].width,height:t[s].height}:null).filter(e=>null!==e)}],664501),e.s(["useCreateOrGetDm",0,function(){let e=(0,s.useQueryClient)();return(0,t.useMutation)({mutationFn:async({userId:e})=>(0,n.apiFetch)("/api/community/dm",{method:"POST",body:JSON.stringify({userId:e})}),onSuccess:()=>{e.invalidateQueries({queryKey:r.communityKeys.dms()})}})}],776152),e.s(["useCreateServerFolderWith",0,function(){let e=(0,s.useQueryClient)();return(0,t.useMutation)({mutationFn:async({serverIdA:e,serverIdB:t})=>{let s=[...new Set([e,t])];return(0,n.apiFetch)("/api/community/server-folders",{method:"POST",body:JSON.stringify({name:"Group",serverIds:s})})},onMutate:async t=>{let s=r.communityKeys.folders();await e.cancelQueries({queryKey:s});let n=e.getQueryData(s),a=e.getQueryData(r.communityKeys.servers()),i=`temp_${Date.now()}`,u=[...new Set([t.serverIdA,t.serverIdB])],o={id:i,name:"Group",position:n?.folders.length??0,servers:u.map(e=>{let t=a?.servers.find(t=>t.id===e);return t?{id:t.id,name:t.name,initial:t.initial,icon:t.icon??null}:null}).filter(e=>null!==e)};return e.setQueryData(s,e=>e?{...e,folders:[...e.folders,o]}:{folders:[o]}),{snapshot:n,tempId:i}},onError:(t,s,n)=>{if(n){if(n.snapshot)return void e.setQueryData(r.communityKeys.folders(),n.snapshot);e.setQueryData(r.communityKeys.folders(),e=>e?{...e,folders:e.folders.filter(e=>e.id!==n.tempId)}:e)}},onSuccess:(t,s,n)=>{n&&e.setQueryData(r.communityKeys.folders(),e=>e?{...e,folders:e.folders.map(e=>e.id===n.tempId?{...e,id:t.id}:e)}:e)}})},"useDeleteServerFolder",0,function(){let e=(0,s.useQueryClient)();return(0,t.useMutation)({mutationFn:async({folderId:e})=>{await (0,n.apiFetch)(`/api/community/server-folders/${e}`,{method:"DELETE"})},onMutate:async t=>{let s=r.communityKeys.folders();await e.cancelQueries({queryKey:s});let n=e.getQueryData(s);return e.setQueryData(s,e=>e?{...e,folders:e.folders.filter(e=>e.id!==t.folderId)}:e),{snapshot:n}},onError:(t,s,n)=>{n?.snapshot&&e.setQueryData(r.communityKeys.folders(),n.snapshot)}})},"useReorderFolders",0,function(){let e=(0,s.useQueryClient)();return(0,t.useMutation)({mutationFn:async({folderIds:e})=>{await (0,n.apiFetch)("/api/community/server-folders/reorder",{method:"PATCH",body:JSON.stringify({folderIds:e})})},onMutate:async t=>{let s=r.communityKeys.folders();await e.cancelQueries({queryKey:s});let n=e.getQueryData(s);return e.setQueryData(s,e=>{if(!e)return e;let s=new Map(e.folders.map(e=>[e.id,e]));return{...e,folders:t.folderIds.map((e,t)=>{let n=s.get(e);return n?{...n,position:t}:null}).filter(e=>null!==e)}}),{snapshot:n}},onError:(t,s,n)=>{n?.snapshot&&e.setQueryData(r.communityKeys.folders(),n.snapshot)}})},"useUpdateFolderItems",0,function(){let e=(0,s.useQueryClient)();return(0,t.useMutation)({mutationFn:async({folderId:e,serverIds:t})=>{0===t.length?await (0,n.apiFetch)(`/api/community/server-folders/${e}`,{method:"DELETE"}):await (0,n.apiFetch)(`/api/community/server-folders/${e}`,{method:"PATCH",body:JSON.stringify({serverIds:t})})},onMutate:async t=>{let s=r.communityKeys.folders();await e.cancelQueries({queryKey:s});let n=e.getQueryData(s),a=e.getQueryData(r.communityKeys.servers());return e.setQueryData(s,e=>e?0===t.serverIds.length?{...e,folders:e.folders.filter(e=>e.id!==t.folderId)}:{...e,folders:e.folders.map(e=>{if(e.id!==t.folderId)return e;let s=t.serverIds.map(t=>{let s=e.servers.find(e=>e.id===t);if(s)return s;let n=a?.servers.find(e=>e.id===t);return n?{id:n.id,name:n.name,initial:n.initial,icon:n.icon??null}:{id:t,name:"",initial:"?",icon:null}});return{...e,servers:s}})}:e),{snapshot:n}},onError:(t,s,n)=>{n?.snapshot&&e.setQueryData(r.communityKeys.folders(),n.snapshot)}})}],331607),e.s(["useSetChannelNotif",0,function(){let e=(0,s.useQueryClient)();return(0,t.useMutation)({mutationFn:async({channelId:e,level:t})=>{"Use Server Default"===t?await (0,n.apiFetch)(`/api/community/users/me/notifications/channel/${e}`,{method:"DELETE"}):await (0,n.apiFetch)(`/api/community/users/me/notifications/channel/${e}`,{method:"PUT",body:JSON.stringify({level:o(t)})})},onMutate:async t=>{let s=r.communityKeys.notificationSettings();await e.cancelQueries({queryKey:s});let n=e.getQueryData(s);return e.setQueryData(s,e=>{if(!e)return e;let s={...e.channel};return"Use Server Default"===t.level?delete s[t.channelId]:s[t.channelId]=t.level,{...e,channel:s}}),{snapshot:n}},onError:(t,s,n)=>{n?.snapshot&&e.setQueryData(r.communityKeys.notificationSettings(),n.snapshot)}})},"useSetServerNotifLevel",0,function(){let e=(0,s.useQueryClient)();return(0,t.useMutation)({mutationFn:async({serverId:e,level:t})=>{await (0,n.apiFetch)(`/api/community/users/me/notifications/server/${e}`,{method:"PUT",body:JSON.stringify({level:o(t)})})},onMutate:async t=>{let s=r.communityKeys.notificationSettings();await e.cancelQueries({queryKey:s});let n=e.getQueryData(s);return e.setQueryData(s,e=>e?{...e,server:{...e.server,[t.serverId]:t.level}}:e),{snapshot:n}},onError:(t,s,n)=>{n?.snapshot&&e.setQueryData(r.communityKeys.notificationSettings(),n.snapshot)}})}],997303),e.s(["useUpdateProfile",0,function(){return(0,t.useMutation)({mutationFn:async e=>{await (0,n.apiFetch)("/api/community/users/me/profile",{method:"PATCH",body:JSON.stringify(e)})}})},"useUploadUserAvatar",0,function(){return(0,t.useMutation)({mutationFn:async({file:e})=>{let t=new FormData;t.append("file",e);let s=await fetch("/api/community/users/me/avatar",{method:"POST",body:t,credentials:"include"});if(!s.ok)throw await (0,n.readUploadError)(s,"Upload failed");return await s.json()}})}],939098),e.s([],384302)},785579,e=>{"use strict";var t=e.i(147156),s=e.i(24189),n=e.i(351185),r=e.i(903215),a=e.i(224098),i=class extends r.Subscribable{#e;#t=void 0;#s;#n;constructor(e,t){super(),this.#e=e,this.setOptions(t),this.bindMethods(),this.#r()}bindMethods(){this.mutate=this.mutate.bind(this),this.reset=this.reset.bind(this)}setOptions(e){let t=this.options;this.options=this.#e.defaultMutationOptions(e),(0,a.shallowEqualObjects)(this.options,t)||this.#e.getMutationCache().notify({type:"observerOptionsUpdated",mutation:this.#s,observer:this}),t?.mutationKey&&this.options.mutationKey&&(0,a.hashKey)(t.mutationKey)!==(0,a.hashKey)(this.options.mutationKey)?this.reset():this.#s?.state.status==="pending"&&this.#s.setOptions(this.options)}onUnsubscribe(){this.hasListeners()||this.#s?.removeObserver(this)}onMutationUpdate(e){this.#r(),this.#a(e)}getCurrentResult(){return this.#t}reset(){this.#s?.removeObserver(this),this.#s=void 0,this.#r(),this.#a()}mutate(e,t){return this.#n=t,this.#s?.removeObserver(this),this.#s=this.#e.getMutationCache().build(this.#e,this.options),this.#s.addObserver(this),this.#s.execute(e)}#r(){let e=this.#s?.state??(0,s.getDefaultState)();this.#t={...e,isPending:"pending"===e.status,isSuccess:"success"===e.status,isError:"error"===e.status,isIdle:"idle"===e.status,mutate:this.mutate,reset:this.reset}}#a(e){n.notifyManager.batch(()=>{if(this.#n&&this.hasListeners()){let t=this.#t.variables,s=this.#t.context,n={client:this.#e,meta:this.options.meta,mutationKey:this.options.mutationKey};if(e?.type==="success"){try{this.#n.onSuccess?.(e.data,t,s,n)}catch(e){Promise.reject(e)}try{this.#n.onSettled?.(e.data,null,t,s,n)}catch(e){Promise.reject(e)}}else if(e?.type==="error"){try{this.#n.onError?.(e.error,t,s,n)}catch(e){Promise.reject(e)}try{this.#n.onSettled?.(void 0,e.error,t,s,n)}catch(e){Promise.reject(e)}}}this.listeners.forEach(e=>{e(this.#t)})})}},u=e.i(458931);e.s(["useMutation",0,function(e,s){let r=(0,u.useQueryClient)(s),[o]=t.useState(()=>new i(r,e));t.useEffect(()=>{o.setOptions(e)},[o,e]);let c=t.useSyncExternalStore(t.useCallback(e=>o.subscribe(n.notifyManager.batchCalls(e)),[o]),()=>o.getCurrentResult(),()=>o.getCurrentResult()),m=t.useCallback((e,t)=>{o.mutate(e,t).catch(a.noop)},[o]);if(c.error&&(0,a.shouldThrowError)(o.options.throwOnError,[c.error]))throw c.error;return{...c,mutate:m,mutateAsync:c.mutate}}],785579)},838114,e=>{"use strict";var t=e.i(541199),s=e.i(673750);e.s(["useQuery",0,function(e,n){return(0,s.useBaseQuery)(e,t.QueryObserver,n)}])},462553,e=>{"use strict";var t=e.i(785579),s=e.i(458931),n=e.i(849050),r=e.i(374402),a=e.i(280958);e.s(["useCreateServer",0,function(){let e=(0,s.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:r.communityKeys.servers()})}})},"useDeleteServer",0,function(){let e=(0,s.useQueryClient)();return(0,t.useMutation)({mutationFn:async({serverId:e})=>{await (0,n.apiFetch)(`/api/community/servers/${e}`,{method:"DELETE"})},onMutate:async t=>{let s=r.communityKeys.servers();await e.cancelQueries({queryKey:s});let n=e.getQueryData(s);return e.setQueryData(s,e=>e?{...e,servers:e.servers.filter(e=>e.id!==t.serverId)}:e),{snapshot:n}},onError:(t,s,n)=>{n?.snapshot&&e.setQueryData(r.communityKeys.servers(),n.snapshot)}})},"useJoinServer",0,function(){let e=(0,s.useQueryClient)();return(0,t.useMutation)({mutationFn:async({inviteCode:e})=>{let t=e.trim();try{let e=new URL(t).pathname.split("/").filter(Boolean),s=e.indexOf("invite");-1!==s&&e[s+1]&&(t=e[s+1])}catch{}return(0,n.apiFetch)(`/api/community/invites/${t}/join`,{method:"POST"})},onSuccess:()=>{e.invalidateQueries({queryKey:r.communityKeys.servers()})}})},"useLeaveServer",0,function(){let e=(0,s.useQueryClient)();return(0,t.useMutation)({mutationFn:async({serverId:e})=>{await (0,n.apiFetch)(`/api/community/servers/${e}/leave`,{method:"POST"})},onMutate:async t=>{let s=r.communityKeys.servers();await e.cancelQueries({queryKey:s});let n=e.getQueryData(s);return e.setQueryData(s,e=>e?{...e,servers:e.servers.filter(e=>e.id!==t.serverId)}:e),{snapshot:n}},onError:(t,s,n)=>{n?.snapshot&&e.setQueryData(r.communityKeys.servers(),n.snapshot)}})},"useUpdateServer",0,function(){let e=(0,s.useQueryClient)();return(0,t.useMutation)({mutationFn:async({serverId:e,name:t,description:s})=>{await (0,n.apiFetch)(`/api/community/servers/${e}`,{method:"PATCH",body:JSON.stringify({name:t,description:s})})},onMutate:async t=>{let s=r.communityKeys.server(t.serverId),n=r.communityKeys.servers();await Promise.all([e.cancelQueries({queryKey:s}),e.cancelQueries({queryKey:n})]);let i=e.getQueryData(s),u=e.getQueryData(n);return e.setQueryData(s,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,a.avatarInitial)(t.name)}:e)}:e),{serverSnap:i,listSnap:u}},onError:(t,s,n)=>{n?.serverSnap&&e.setQueryData(r.communityKeys.server(s.serverId),n.serverSnap),n?.listSnap&&e.setQueryData(r.communityKeys.servers(),n.listSnap)}})},"useUploadServerIcon",0,function(){let e=(0,s.useQueryClient)();return(0,t.useMutation)({mutationFn:async({serverId:e,file:t})=>{let s=new FormData;s.append("file",t);let r=await fetch(`/api/community/servers/${e}/icon`,{method:"POST",body:s,credentials:"include"});if(!r.ok)throw await (0,n.readUploadError)(r,"Upload failed");return await r.json()},onSuccess:(t,s)=>{let n=`${t.url}?t=${Date.now()}`;e.setQueryData(r.communityKeys.server(s.serverId),e=>e?{...e,icon:n}:e),e.setQueryData(r.communityKeys.servers(),e=>e?{...e,servers:e.servers.map(e=>e.id===s.serverId?{...e,icon:n}:e)}:e)}})}])},531342,e=>{"use strict";var t=e.i(636407);e.s([],89212),e.i(89212),e.i(654757);var s=e.i(147156),n=e.i(694536),r=e.i(335309);let a=s.createContext(void 0);function i(){let e=s.useContext(a);if(void 0===e)throw Error((0,r.default)(13));return e}let u={imageLoadingStatus:()=>null},o=s.forwardRef(function(e,r){let{className:i,render:o,style:c,...m}=e,[l,d]=s.useState("idle"),y=s.useMemo(()=>({imageLoadingStatus:l,setImageLoadingStatus:d}),[l,d]),h=(0,n.useRenderElement)("span",e,{state:{imageLoadingStatus:l},ref:r,props:m,stateAttributesMapping:u});return(0,t.jsx)(a.Provider,{value:y,children:h})});var c=e.i(48164),m=e.i(599543),l=e.i(594496),d=e.i(389793),y=e.i(858916),h=e.i(248134);let p={...u,...d.transitionStatusMapping},f=s.forwardRef(function(e,t){let{className:r,render:a,onLoadingStatusChange:u,style:o,...d}=e,{setImageLoadingStatus:f}=i(),v=function(e,{referrerPolicy:t,crossOrigin:n,sizes:r,srcSet:a}){let[i,u]=s.useState("idle");return(0,m.useIsoLayoutEffect)(()=>{if(!e&&!a)return u("error"),h.NOOP;let s=!0,i=new window.Image,o=e=>()=>{s&&u(e)};return u("loading"),i.onload=o("loaded"),i.onerror=o("error"),t&&(i.referrerPolicy=t),i.crossOrigin=n??null,r&&(i.sizes=r),a&&(i.srcset=a),e&&(i.src=e),i.complete&&u(i.naturalWidth>0?"loaded":"error"),()=>{s=!1}},[e,a,r,n,t]),i}(d.src,d),g="loaded"===v,{mounted:Q,transitionStatus:K,setMounted:I}=(0,y.useTransitionStatus)(g),M=s.useRef(null),S=(0,c.useStableCallback)(e=>{u?.(e),f(e)});(0,m.useIsoLayoutEffect)(()=>{"idle"!==v&&S(v)},[v,S]),(0,m.useIsoLayoutEffect)(()=>()=>f("idle"),[f]),(0,l.useOpenChangeComplete)({open:g,ref:M,onComplete(){g||I(!1)}});let D=(0,n.useRenderElement)("img",e,{state:{imageLoadingStatus:v,transitionStatus:K},ref:[t,M],props:d,stateAttributesMapping:p,enabled:Q});return Q?D:null});var v=e.i(962599);let g=s.forwardRef(function(e,t){let{className:r,render:a,delay:o,style:c,...m}=e,{imageLoadingStatus:l}=i(),[d,y]=s.useState(void 0===o),h=(0,v.useTimeout)();return s.useEffect(()=>(void 0!==o?h.start(o,()=>y(!0)):y(!0),h.clear),[h,o]),(0,n.useRenderElement)("span",e,{state:{imageLoadingStatus:l},ref:t,props:m,stateAttributesMapping:u,enabled:"loaded"!==l&&(void 0===o||d)})});e.s(["Fallback",0,g,"Image",0,f,"Root",0,o],15984);var Q=e.i(15984),Q=Q,K=e.i(613349);function I({className:e,size:s="default",...n}){return(0,t.jsx)(Q.Root,{"data-slot":"avatar","data-size":s,className:(0,K.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 M({className:e,...s}){return(0,t.jsx)(Q.Image,{"data-slot":"avatar-image",className:(0,K.cn)("aspect-square size-full rounded-full object-cover",e),...s})}function S({className:e,...s}){return(0,t.jsx)(Q.Fallback,{"data-slot":"avatar-fallback",className:(0,K.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),...s})}function D({className:e,...s}){return(0,t.jsx)("span",{"data-slot":"avatar-badge",className:(0,K.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),...s})}e.i(400175);var b=e.i(126366),F=e.i(280958);let w={online:"var(--status-online)",offline:"var(--muted-foreground)"};e.s(["Avatar",0,function({label:e,seed:s,src:n,size:r=40,dim:a=!1,presence:i,ringColor:u="var(--background)"}){let o=e||"?",c=(0,b.parseAvatarUrl)(o),m=n||(o&&(o.startsWith("http://")||o.startsWith("https://")||o.startsWith("/"))?o:void 0),l=m||c||!s?null:(0,b.configFromName)(s),d=!!c||!!l;return(0,t.jsxs)(I,{className:d&&!m?"after:hidden":"bg-muted",style:{width:r,height:r,opacity:a?.4:1},children:[m?(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(M,{src:m,alt:o}),(0,t.jsx)(S,{className:"font-medium",style:{fontSize:.4*r},children:(0,F.avatarInitial)(o)})]}):c?(0,t.jsx)("span",{className:"size-full rounded-full overflow-hidden",children:(0,t.jsx)(b.AvatarRenderer,{config:c,size:r,className:"size-full"})}):l?(0,t.jsx)("span",{className:"size-full rounded-full overflow-hidden",children:(0,t.jsx)(b.AvatarRenderer,{config:l,size:r,className:"size-full"})}):(0,t.jsx)(S,{className:"font-medium",style:{fontSize:.4*r},children:(0,F.avatarInitial)(o)}),i&&(0,t.jsx)(D,{style:{background:w[i],width:Math.round(.22*r),height:Math.round(.22*r),boxShadow:`0 0 0 ${Math.max(2,Math.round(.0625*r))}px ${u}`}})]})}],531342)},477398,e=>{"use strict";let t=(0,e.i(464648).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],477398)},351171,e=>{"use strict";let t=(0,e.i(464648).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],351171)},971434,e=>{"use strict";function t(e,t,s){return e?"online":t?s.has(t)?"online":"offline":void 0}e.s(["resolveProfilePresence",0,t,"resolveRowPresence",0,function(e,s,n){let r=e.userId??e.id??void 0;return t(!!r&&!!n&&r===n,r,s)??"offline"}])}]);
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,652652,e=>{"use strict";let s=(0,e.i(464648).default)("shield",[["path",{d:"M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z",key:"oel41y"}]]);e.s(["Shield",0,s],652652)},904171,e=>{"use strict";var s=e.i(126366);function t(e){let s=0;for(let t=0;t<e.length;t++)s=(s<<5)-s+e.charCodeAt(t)|0;return Math.abs(s)}function r(e){let s=e;return()=>{let e=Math.imul((s=s+0x6d2b79f5|0)^s>>>15,1|s);return(((e=e+Math.imul(e^e>>>7,61|e)^e)^e>>>14)>>>0)/0x100000000}}e.s(["gradientFromSeed",0,function(e){let[n,a,l]=function(e){let n=r(t(e)),a=s.BG_COLORS.map(e=>e.value),l=[];for(let e=0;e<3&&a.length>0;e++){let e=Math.floor(n()*a.length);l.push(a.splice(e,1)[0])}return l}(e),i=Math.floor(360*r(t(`${e}:angle`))());return`linear-gradient(${i}deg, ${n}, ${a}, ${l})`}])},86053,388026,e=>{"use strict";var s=e.i(636407);e.s(["SlugHint",0,function({slug:e,invalid:t,changed:r}){return t?(0,s.jsx)("p",{className:"mt-1.5 text-xs text-destructive",children:"Add a character other than space, / or # to save this name"}):r?(0,s.jsxs)("p",{className:"mt-1.5 text-xs text-muted-foreground",children:["Will be saved as ",(0,s.jsx)("span",{className:"font-medium text-foreground",children:e})]}):null}],86053),e.i(954194),e.s(["previewSlug",0,function(e){let s=e.trim(),t=s.replace(/[/#]/g,"").trim().replace(/\s+/g,"-").replace(/-+/g,"-").replace(/^-+|-+$/g,"");return{slug:t,invalid:s.length>0&&0===t.length,changed:t.length>0&&t!==s}}],388026)},670544,445934,e=>{"use strict";var s=e.i(636407);let t=(0,e.i(464648).default)("list-chevrons-up-down",[["path",{d:"M3 5h8",key:"18g2rq"}],["path",{d:"M3 12h8",key:"1xfjp6"}],["path",{d:"M3 19h8",key:"fpbke4"}],["path",{d:"m15 8 3-3 3 3",key:"bc4io6"}],["path",{d:"m15 16 3 3 3-3",key:"9wmg1l"}]]);e.s(["ListChevronsUpDown",0,t],445934);var r=e.i(477398),n=e.i(247850);e.s(["EntityIcon",0,function({kind:e,className:a}){switch(e){case"forum":return(0,s.jsx)(t,{className:a});case"thread":case"forum_post":return(0,s.jsx)(r.MessagesSquare,{className:a});default:return(0,s.jsx)(n.ChannelIcon,{className:a})}}],670544)},39185,e=>{"use strict";let s=[{emoji:"🎧",text:"Vibing"},{emoji:"🎮",text:"Gaming"},{emoji:"🦥",text:"Chillin'"},{emoji:"🍟",text:"Snack break"},{emoji:"📞",text:"On a call"},{emoji:"🚪",text:"Afk"},{emoji:"😴",text:"Do not disturb"}];e.s(["STATUS_PRESETS",0,s,"hasStatus",0,function(e,s){return!!(e||s)},"matchingPreset",0,function(e,t){return s.find(s=>s.emoji===e&&s.text===t)}])},978913,e=>{"use strict";var s=e.i(636407);e.s(["EmptyState",0,function({icon:e,label:t}){return(0,s.jsxs)("div",{className:"flex flex-1 flex-col items-center justify-center gap-3 py-12 text-center",children:[(0,s.jsx)("div",{className:"grid size-14 place-items-center rounded-full bg-muted text-muted-foreground",children:(0,s.jsx)(e,{className:"size-7"})}),(0,s.jsx)("p",{className:"max-w-65 text-sm text-muted-foreground",children:t})]})}])},46051,e=>{"use strict";let s=(0,e.i(464648).default)("search",[["path",{d:"m21 21-4.34-4.34",key:"14j7rj"}],["circle",{cx:"11",cy:"11",r:"8",key:"4ej97u"}]]);e.s(["Search",0,s],46051)},38357,839082,e=>{"use strict";var s=e.i(464648);let t=(0,s.default)("bell",[["path",{d:"M10.268 21a2 2 0 0 0 3.464 0",key:"vwvbt9"}],["path",{d:"M3.262 15.326A1 1 0 0 0 4 17h16a1 1 0 0 0 .74-1.673C19.41 13.956 18 12.499 18 8A6 6 0 0 0 6 8c0 4.499-1.411 5.956-2.738 7.326",key:"11g9vi"}]]);e.s(["Bell",0,t],38357);let r=(0,s.default)("bell-off",[["path",{d:"M10.268 21a2 2 0 0 0 3.464 0",key:"vwvbt9"}],["path",{d:"M17 17H4a1 1 0 0 1-.74-1.673C4.59 13.956 6 12.499 6 8a6 6 0 0 1 .258-1.742",key:"178tsu"}],["path",{d:"m2 2 20 20",key:"1ooewy"}],["path",{d:"M8.668 3.01A6 6 0 0 1 18 8c0 2.687.77 4.653 1.707 6.05",key:"1hqiys"}]]);e.s(["BellOff",0,r],839082)},648655,825149,e=>{"use strict";var s=e.i(636407),t=e.i(147156),r=e.i(46051),n=e.i(516266),a=e.i(779646),l=e.i(903477),i=e.i(186339),o=e.i(531342),d=e.i(132977);e.s(["AddMembersDialog",0,function({title:e,subtitle:c,candidates:m,addPending:u,onAdd:x,onClose:h}){let[g,f]=(0,t.useState)(""),p=(0,t.useMemo)(()=>{let e=g.trim().toLowerCase();return e?m.filter(s=>(s.name??"").toLowerCase().includes(e)):m},[m,g]),j=async e=>{try{await x(e)}catch(e){(0,n.toast)(e instanceof Error?e.message:"Couldn't add member")}};return(0,s.jsx)(a.Dialog,{open:!0,onOpenChange:e=>{e||h()},children:(0,s.jsxs)(a.DialogContent,{className:"flex max-h-[80vh] w-full flex-col gap-0 p-0 sm:max-w-md",children:[(0,s.jsxs)("header",{className:"border-b border-border px-4 py-3",children:[(0,s.jsx)("h2",{className:"truncate text-sm font-semibold",children:e}),(0,s.jsx)("p",{className:"text-xs text-muted-foreground",children:c})]}),(0,s.jsxs)("div",{className:"min-h-0 flex-1 overflow-y-auto thin-scrollbar px-2 py-2",children:[(0,s.jsxs)("label",{className:"relative mx-2 mb-2 block",children:[(0,s.jsx)(r.Search,{"aria-hidden":!0,className:"pointer-events-none absolute left-3 top-1/2 size-4 -translate-y-1/2 text-muted-foreground"}),(0,s.jsx)(l.Input,{value:g,onChange:e=>f(e.target.value),placeholder:"Search members",className:"pl-9"})]}),0===p.length?(0,s.jsx)("p",{className:"py-4 text-center text-sm text-muted-foreground",children:g?"No matches.":"Everyone is already here."}):p.map(e=>(0,s.jsxs)("div",{className:"flex items-center gap-3 rounded-md px-2 py-2 hover:bg-accent/40",children:[(0,s.jsx)(o.Avatar,{label:e.avatar||e.name||"",seed:e.userId,size:32}),(0,s.jsx)("div",{className:"min-w-0 flex-1 truncate text-sm font-medium",children:(0,d.displayName)(e)}),(0,s.jsx)(i.Button,{size:"sm",disabled:u,onClick:()=>j(e.userId),children:"Add"})]},e.userId))]})]})})}],648655);var c=e.i(785579),m=e.i(838114),u=e.i(458931),x=e.i(849050),h=e.i(374402);let g=Object.freeze([]),f=Object.freeze([]);e.s(["useAddChannelMember",0,function(e){let s=(0,u.useQueryClient)();return(0,c.useMutation)({mutationFn:s=>(0,x.apiFetch)(`/api/community/channels/${encodeURIComponent(e)}/members`,{method:"POST",body:JSON.stringify({userId:s})}),onSuccess:()=>{s.invalidateQueries({queryKey:h.communityKeys.channelMembers(e)}),s.invalidateQueries({queryKey:h.communityKeys.channelAddableMembers(e)})}})},"useAddableMembers",0,function(e,s=!0){let t=(0,m.useQuery)({queryKey:h.communityKeys.channelAddableMembers(e),queryFn:()=>(0,x.apiFetch)(`/api/community/channels/${encodeURIComponent(e)}/addable-members`),enabled:s&&!!e});return{...t,members:t.data?.members??f}},"useChannelMembers",0,function(e,s=!0){let t=(0,m.useQuery)({queryKey:h.communityKeys.channelMembers(e),queryFn:()=>(0,x.apiFetch)(`/api/community/channels/${encodeURIComponent(e)}/members`),enabled:s&&!!e});return{...t,members:t.data?.members??g}},"useRemoveChannelMember",0,function(e){let s=(0,u.useQueryClient)();return(0,c.useMutation)({mutationFn:s=>(0,x.apiFetch)(`/api/community/channels/${encodeURIComponent(e)}/members/${encodeURIComponent(s)}`,{method:"DELETE"}),onSuccess:()=>{s.invalidateQueries({queryKey:h.communityKeys.channelMembers(e)}),s.invalidateQueries({queryKey:h.communityKeys.channelAddableMembers(e)})}})}],825149)},631956,575084,e=>{"use strict";var s=e.i(636407),t=e.i(147156),r=e.i(38357),n=e.i(839082),a=e.i(795190),l=e.i(351171),i=e.i(477398),o=e.i(241678),d=e.i(969355),c=e.i(267558),m=e.i(732779),u=e.i(186339),x=e.i(280958),h=e.i(903477),g=e.i(807915),f=e.i(779646),p=e.i(89164),j=e.i(728886),b=e.i(247850),v=e.i(670544),N=e.i(86053),y=e.i(388026),k=e.i(904171);function w({rightPanel:e,onToggle:t,showThreads:r,showPinned:n}){let l="threads"===e&&r||"pinned"===e&&n;return(0,s.jsxs)(p.DropdownMenu,{children:[(0,s.jsx)(p.DropdownMenuTrigger,{render:(0,s.jsx)(u.Button,{variant:"ghost",size:"icon-sm","aria-label":"More channel options",className:`text-muted-foreground hover:text-foreground ${l?"bg-accent text-foreground":""}`}),children:(0,s.jsx)(m.MoreHorizontal,{className:"size-4"})}),(0,s.jsxs)(p.DropdownMenuContent,{align:"end",className:"w-48",children:[r&&(0,s.jsxs)(p.DropdownMenuItem,{onClick:()=>t("threads"),children:[(0,s.jsx)(i.MessagesSquare,{className:"size-4"}),(0,s.jsx)("span",{className:"flex-1",children:"Threads"}),"threads"===e&&(0,s.jsx)(d.Check,{className:"size-4 shrink-0 text-primary"})]}),n&&(0,s.jsxs)(p.DropdownMenuItem,{onClick:()=>t("pinned"),children:[(0,s.jsx)(a.Pin,{className:"size-4"}),(0,s.jsx)("span",{className:"flex-1",children:"Pinned messages"}),"pinned"===e&&(0,s.jsx)(d.Check,{className:"size-4 shrink-0 text-primary"})]})]})]})}function S({id:e,name:t,icon:r,size:n=5,className:a=""}){return(0,s.jsx)("span",{style:r?void 0:{background:(0,k.gradientFromSeed)(e)},className:`grid shrink-0 place-items-center overflow-hidden rounded-md font-semibold ${r?"bg-secondary text-foreground":"text-white [text-shadow:0_1px_2px_rgb(0_0_0/0.35)]"} ${7===n?"size-7 text-xs":"size-5 text-[0.625rem]"} ${a}`,"aria-label":t,title:t,children:r?(0,s.jsx)("img",{src:r,alt:"",className:"size-full object-cover"}):(0,x.avatarInitial)(t)})}let C=[{value:"Use Server Default",label:"Use server default",hint:"Inherit this server's setting"},{value:"All Messages",label:"Every message",hint:"Notify for every new message"},{value:"Only @mentions",label:"Mentions only",hint:"Notify when someone @s you"},{value:"Nothing",label:"Muted",hint:"No notifications, no badges"}];function M({level:e,onSetLevel:t}){let a="Nothing"===e;return(0,s.jsxs)(p.DropdownMenu,{children:[(0,s.jsx)(p.DropdownMenuTrigger,{render:(0,s.jsx)(u.Button,{variant:"ghost",size:"icon-sm",className:`text-muted-foreground hover:text-foreground ${a?"text-destructive":""}`,"aria-label":"Channel notifications"}),children:a?(0,s.jsx)(n.BellOff,{className:"size-4"}):(0,s.jsx)(r.Bell,{className:"size-4"})}),(0,s.jsxs)(p.DropdownMenuContent,{align:"end",className:"w-60",children:[(0,s.jsxs)(p.DropdownMenuItem,{onClick:()=>t?.(a?"Use Server Default":"Nothing"),children:[a?(0,s.jsx)(r.Bell,{className:"size-4"}):(0,s.jsx)(n.BellOff,{className:"size-4"}),a?"Unmute channel":"Mute channel"]}),(0,s.jsx)(p.DropdownMenuSeparator,{}),C.map(r=>(0,s.jsxs)(p.DropdownMenuItem,{onClick:()=>t?.(r.value),children:[(0,s.jsx)("span",{className:"min-w-0 flex-1 text-sm",children:r.label}),e===r.value&&(0,s.jsx)(d.Check,{className:"size-4 shrink-0 text-primary"})]},r.value))]})]})}function z({label:e,onRename:r}){let[n,a]=(0,t.useState)(!1),[l,i]=(0,t.useState)(e);(0,t.useEffect)(()=>{n||i(e)},[e,n]);let o=(0,y.previewSlug)(l),d=()=>{let s=l.trim();o.slug&&s!==e&&r(s),a(!1)};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(u.Button,{variant:"ghost",size:"icon-sm",onClick:()=>{i(e),a(!0)},className:"text-muted-foreground hover:text-foreground","aria-label":"Rename",children:(0,s.jsx)(c.Pencil,{className:"size-3.5"})}),n&&(0,s.jsx)(f.Dialog,{open:!0,onOpenChange:e=>{e||a(!1)},children:(0,s.jsxs)(f.DialogContent,{className:"w-105 max-w-[calc(100vw-2rem)] p-0",children:[(0,s.jsx)(f.DialogHeader,{className:"border-b border-border px-4 py-4",children:(0,s.jsx)(f.DialogTitle,{children:"Rename Thread"})}),(0,s.jsx)("div",{className:"px-4 pb-5 pt-4",children:(0,s.jsxs)("label",{className:"block",children:[(0,s.jsx)("div",{className:"mb-2 text-xs font-semibold text-muted-foreground",children:"Name"}),(0,s.jsx)(h.Input,{value:l,onChange:e=>i(e.target.value),onKeyDown:(0,g.onEnterSubmit)(d),placeholder:"thread-name",className:"h-10",autoFocus:!0}),(0,s.jsx)(N.SlugHint,{...o})]})}),(0,s.jsxs)(f.DialogFooter,{className:"mx-0 mb-0 flex-row items-center justify-end gap-2 rounded-b-xl border-t border-border bg-card px-4 py-3",children:[(0,s.jsx)(u.Button,{variant:"ghost",size:"sm",onClick:()=>a(!1),children:"Cancel"}),(0,s.jsx)(u.Button,{size:"sm",onClick:d,disabled:!o.slug,children:"Save"})]})]})})]})}e.s(["ChannelHeader",0,function({channel:e,rightPanel:t,onToggle:r,notifLevel:n,onSetNotifLevel:a,onBack:i,breadcrumb:d,forum:c,server:m,tools:x}){let h,g,f=c?"forum":"text";return(0,s.jsxs)("header",{className:"flex h-12 shrink-0 items-center gap-1 border-b border-border/40 px-3",children:[i&&(0,s.jsx)(u.Button,{variant:"ghost",size:"icon-sm",onClick:i,className:"text-muted-foreground hover:text-foreground","aria-label":"Back",children:(0,s.jsx)(o.ChevronLeft,{className:"size-5"})}),m&&(0,s.jsx)(S,{id:m.id,name:m.name,icon:m.icon,className:"ml-1"}),d?(0,s.jsxs)(s.Fragment,{children:[(0,s.jsxs)("button",{onClick:d.onNavigateBack,className:`flex items-center gap-1 text-muted-foreground hover:text-foreground transition-colors ${m?"":"ml-1"}`,children:[(0,s.jsx)(v.EntityIcon,{kind:f,className:"size-4 shrink-0"}),(0,s.jsx)("span",{className:"truncate text-base font-medium",children:e})]}),(0,s.jsx)(b.ChannelIcon,{className:"shrink-0 text-base text-muted-foreground/60"}),(0,s.jsx)("span",{className:"min-w-0 truncate text-base font-medium",children:d.label}),d.onRename&&(0,s.jsx)(z,{label:d.label,onRename:d.onRename})]}):(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)("div",{className:`grid size-6 shrink-0 place-items-center rounded-md bg-muted text-muted-foreground ${m?"":"ml-1"}`,children:(0,s.jsx)(v.EntityIcon,{kind:f,className:"size-4"})}),(0,s.jsx)("span",{className:"truncate text-base font-semibold",children:e})]}),(0,s.jsxs)("div",{className:"ml-auto flex items-center text-muted-foreground",children:[x?.members!==!1&&(h="members",g=l.Users,(0,s.jsx)(u.Button,{variant:"ghost",size:"icon-sm",onClick:()=>r(h),"aria-label":"Member list",className:`text-muted-foreground hover:text-foreground ${t===h?"bg-accent text-foreground":""}`,children:(0,s.jsx)(g,{className:"size-4"})})),(0,s.jsx)("span",{className:"mx-1 h-5 w-px bg-border/60","aria-hidden":!0}),(0,s.jsx)(M,{level:n??"Use Server Default",onSetLevel:a}),(x?.threads!==!1||x?.pinned!==!1)&&(0,s.jsx)(w,{rightPanel:t,onToggle:r,showThreads:x?.threads!==!1,showPinned:x?.pinned!==!1})]})]})},"ChannelHeaderSkeleton",0,function({onBack:e}){return(0,s.jsxs)("header",{className:"flex h-12 shrink-0 items-center gap-1 border-b border-border/40 px-3",children:[e&&(0,s.jsx)(u.Button,{variant:"ghost",size:"icon-sm",onClick:e,className:"text-muted-foreground hover:text-foreground","aria-label":"Back",children:(0,s.jsx)(o.ChevronLeft,{className:"size-5"})}),(0,s.jsx)(j.Skeleton,{className:"ml-1 size-6 rounded-md"}),(0,s.jsx)(j.Skeleton,{className:"h-4 w-32 rounded"}),(0,s.jsxs)("div",{className:"ml-auto flex items-center text-muted-foreground",children:[(0,s.jsx)(j.Skeleton,{className:"size-7 rounded-md"}),(0,s.jsx)("span",{className:"mx-1 h-5 w-px bg-border/60","aria-hidden":!0}),(0,s.jsx)(j.Skeleton,{className:"size-7 rounded-md"}),(0,s.jsx)(j.Skeleton,{className:"size-7 rounded-md"})]})]})},"ServerCrumb",0,S],631956),e.i(954194),e.s([],575084)},188181,e=>{"use strict";var s=e.i(636407),t=e.i(332680),r=e.i(288329),n=e.i(147156),a=e.i(351171),l=e.i(795190),i=e.i(46051),o=e.i(477398),d=e.i(903477),c=e.i(807915),m=e.i(280958),u=e.i(728886),x=e.i(241678);function h({icon:e,title:t,children:r,bodyClassName:n="p-4",onBack:a}){return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsxs)("header",{className:"flex h-12 shrink-0 items-center gap-2 border-b border-border/40 px-4",children:[a?(0,s.jsx)("button",{onClick:a,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,s.jsx)(x.ChevronLeft,{className:"size-4"})}):(0,s.jsx)(e,{className:"size-4 text-muted-foreground"}),(0,s.jsx)("h2",{className:"flex-1 truncate text-base font-semibold",children:t})]}),(0,s.jsx)("div",{className:`flex-1 overflow-y-auto thin-scrollbar ${n}`,children:r})]})}var g=e.i(201362),f=e.i(652652),p=e.i(761943),j=e.i(969355),b=e.i(670623),v=e.i(457655),N=e.i(607711),y=e.i(531342),k=e.i(393153),w=e.i(39185);e.i(575084);var S=e.i(567894),C=e.i(846367);let M=["admin","member"];function z({members:e,loading:t,hasMore:r,loadingMore:a,onLoadMore:l,onSearch:o,onAddMember:c,manageContext:m,myRole:u,onOpenProfile:x,onSetRole:h,onKick:f}){let[p,j]=(0,n.useState)(null),[v,N]=(0,n.useState)(""),y=(0,S.canManageServer)(u);(0,n.useEffect)(()=>{if(!o)return;let e=setTimeout(()=>o(v),200);return()=>clearTimeout(e)},[v,o]);let w=(0,n.useMemo)(()=>(function(e){let s,t,r,n=[];for(let a of(s=e.filter(e=>(0,S.isServerOwner)(e.role)),t=e.filter(e=>e.role===S.ROLES.ADMIN),[{label:"Owner",list:s},{label:"Admin",list:t},{label:"Online",list:(r=e.filter(e=>e.role===S.ROLES.MEMBER)).filter(e=>(0,C.isPresenceOnline)(e.status))},{label:"Offline",list:r.filter(e=>(0,C.isPresenceOffline)(e.status))}].filter(e=>e.list.length>0)))for(let e of(n.push({kind:"header",label:a.label,count:a.list.length,key:`header:${a.label}`}),a.list))n.push({kind:"row",member:e,key:`row:${e.id}`});return n})(e),[e]),M=(0,n.useMemo)(()=>(function(e){let s=new Map;for(let t of e){let e=t.name.toLowerCase();s.set(e,(s.get(e)??0)+1)}let t=new Set;for(let[e,r]of s)r>=2&&t.add(e);return t})(e),[e]),O=(0,n.useRef)(null),P=(0,n.useRef)(null),R=(0,g.useVirtualizer)({count:w.length,getScrollElement:()=>O.current,estimateSize:e=>w[e]?.kind==="header"?32:44,overscan:8});return((0,n.useEffect)(()=>{if(!l||!r)return;let e=P.current,s=O.current;if(!e||!s)return;let t=new IntersectionObserver(e=>{for(let s of e)s.isIntersecting&&!a&&l()},{root:s,rootMargin:"100px"});return t.observe(e),()=>t.disconnect()},[l,r,a]),t&&0===e.length&&!v)?(0,s.jsx)(I,{}):(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(k.ConfirmDialog,{open:!!p,onOpenChange:e=>{e||j(null)},title:`Kick ${p}?`,description:"They will be removed from this server but can rejoin with an invite.",confirmLabel:"Kick",confirmVariant:"destructive",onConfirm:()=>{p&&f?.(p),j(null)}}),(0,s.jsxs)("aside",{className:"flex h-full flex-col bg-background",children:[(o||c)&&(0,s.jsxs)("div",{className:"flex shrink-0 items-center gap-2 border-b border-border px-4 py-3",children:[o&&(0,s.jsxs)("div",{className:"relative flex-1",children:[(0,s.jsx)(i.Search,{className:"absolute left-2 top-1/2 size-4 -translate-y-1/2 text-muted-foreground"}),(0,s.jsx)(d.Input,{className:"h-9 pl-8",placeholder:"Search members",value:v,onChange:e=>N(e.target.value)})]}),c&&(0,s.jsx)("button",{type:"button",onClick:c,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,s.jsx)(b.UserPlus,{className:"size-4"})})]}),(0,s.jsx)("div",{ref:O,className:"min-h-0 flex-1 overflow-y-auto thin-scrollbar",children:(0,s.jsxs)("div",{className:"px-4 py-4",children:[(0,s.jsx)("div",{style:{height:R.getTotalSize(),position:"relative",width:"100%"},children:R.getVirtualItems().map(e=>{let t=w[e.index];return(0,s.jsx)("div",{role:"listitem","data-index":e.index,ref:R.measureElement,style:{position:"absolute",top:0,left:0,width:"100%",transform:`translateY(${e.start}px)`},children:"header"===t.kind?(0,s.jsxs)("h3",{className:"mb-2 px-1 text-xs font-medium text-muted-foreground",children:[t.label," — ",t.count]}):(0,s.jsx)(A,{mem:t.member,canManage:y,showDiscriminator:M.has(t.member.name.toLowerCase()),onOpenProfile:x,onSetRole:h,onKick:j,manageContext:m})},t.key)})}),r&&(0,s.jsx)("div",{ref:P,className:"py-3 text-center text-xs text-muted-foreground",children:a?"Loading…":""})]})})]})]})}function A({mem:e,canManage:t,showDiscriminator:r,onOpenProfile:n,onSetRole:a,onKick:l,manageContext:i}){var o;let d=(0,s.jsxs)("button",{onClick:s=>n?.(e.name,s,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,s.jsx)(y.Avatar,{label:e.avatar,seed:e.userId,size:32,presence:e.status,dim:(0,C.isPresenceOffline)(e.status)}),(0,s.jsxs)("div",{className:"min-w-0 flex-1 space-y-0.5 text-left",children:[(0,s.jsxs)("div",{className:`truncate text-sm leading-tight ${(0,C.isPresenceOffline)(e.status)?"text-muted-foreground":""}`,children:[e.name,r&&e.discriminator&&(0,s.jsxs)("span",{className:"text-muted-foreground",children:["#",e.discriminator]})]}),(0,w.hasStatus)(e.statusEmoji,e.statusText)&&(0,s.jsxs)("div",{className:"truncate text-xs leading-tight text-muted-foreground",children:[e.statusEmoji," ",e.statusText]})]})]});if(i){let t=e.userId===i.viewerUserId,r=t&&!e.isCreator,n=!t&&i.viewerIsCreator&&!e.isCreator&&(void 0===e.source||"explicit"===e.source);return r||n?(0,s.jsxs)(N.ContextMenu,{children:[(0,s.jsx)(N.ContextMenuTrigger,{render:d}),(0,s.jsxs)(N.ContextMenuContent,{className:"w-48",children:[(0,s.jsx)("div",{className:"truncate px-2 py-1 text-xs font-semibold text-muted-foreground",children:e.name}),r?(0,s.jsxs)(N.ContextMenuItem,{onClick:()=>i.onLeave(e.userId),className:"text-destructive data-highlighted:bg-destructive/10 data-highlighted:text-destructive",children:[(0,s.jsx)(v.LogOut,{className:"size-4"})," Leave"]}):(0,s.jsxs)(N.ContextMenuItem,{onClick:()=>i.onRemove(e.userId),className:"text-destructive data-highlighted:bg-destructive/10 data-highlighted:text-destructive",children:[(0,s.jsx)(p.UserMinus,{className:"size-4"})," Remove ",e.name]})]})]}):d}return(o=e.role,t&&"owner"!==o)?(0,s.jsxs)(N.ContextMenu,{children:[(0,s.jsx)(N.ContextMenuTrigger,{render:d}),(0,s.jsxs)(N.ContextMenuContent,{className:"w-48",children:[(0,s.jsx)("div",{className:"truncate px-2 py-1 text-xs font-semibold text-muted-foreground",children:e.name}),(0,s.jsxs)(N.ContextMenuSub,{children:[(0,s.jsxs)(N.ContextMenuSubTrigger,{children:[(0,s.jsx)(f.Shield,{className:"size-4"}),"Role"]}),(0,s.jsx)(N.ContextMenuSubContent,{children:M.map(t=>(0,s.jsxs)(N.ContextMenuItem,{onClick:()=>a?.(e.name,t),children:[(0,s.jsx)("span",{className:"flex-1",children:t.charAt(0).toUpperCase()+t.slice(1)}),e.role===t&&(0,s.jsx)(j.Check,{className:"size-4"})]},t))})]}),(0,s.jsx)(N.ContextMenuSeparator,{}),(0,s.jsxs)(N.ContextMenuItem,{onClick:()=>l(e.name),className:"text-destructive data-highlighted:bg-destructive/10 data-highlighted:text-destructive",children:[(0,s.jsx)(p.UserMinus,{className:"size-4"})," Kick ",e.name]})]})]}):d}function I(){return(0,s.jsx)("aside",{className:"flex h-full flex-col overflow-hidden bg-background",children:(0,s.jsx)("div",{className:"px-4 py-4",children:[{width:60,rows:1},{width:60,rows:2},{width:60,rows:6}].map((e,t)=>(0,s.jsxs)("div",{className:"mb-4",children:[(0,s.jsx)(u.Skeleton,{className:"mb-2 ml-1 h-3 rounded",style:{width:e.width}}),(0,s.jsx)("div",{className:"space-y-1",children:Array.from({length:e.rows}).map((e,t)=>(0,s.jsxs)("div",{className:"flex items-center gap-3 rounded-md px-2 py-2",children:[(0,s.jsx)(u.Skeleton,{className:"size-8 shrink-0 rounded-full"}),(0,s.jsx)(u.Skeleton,{className:"h-3.5 w-3/5 rounded"})]},t))})]},t))})})}var O=e.i(133491),P=e.i(973733);function R({kind:e,members:t,membersLoading:r,membersLoadingMore:n,membersHasMore:i,onLoadMoreMembers:d,onSearchMembers:c,onAddMember:u,manageContext:x,pinned:g,pinnedLoading:f,searchResults:p,searchQuery:j,threads:b,threadsLoading:v,showSearchInput:N=!0,onOpenThread:y,onOpenProfile:k,onSetRole:w,onKickMember:S,myRole:C,onJumpToMessage:M,onSearch:A}){return"members"===e?(0,s.jsx)(h,{icon:a.Users,title:"Members",bodyClassName:"p-0",children:(0,s.jsx)(z,{members:t,loading:r,hasMore:i,loadingMore:n,onLoadMore:d,onSearch:c,onAddMember:u,manageContext:x,myRole:C,onOpenProfile:k,onSetRole:w,onKick:S})}):"pinned"===e?(0,s.jsx)(h,{icon:l.Pin,title:"Pinned Messages",children:f&&0===g.length?(0,s.jsx)(D,{}):0===g.length?(0,s.jsx)("div",{className:"py-8 text-center text-sm text-muted-foreground",children:"No pinned messages yet."}):g.map(e=>(0,s.jsxs)("button",{onClick:()=>M?.(e.id),className:"flex w-full gap-2 rounded-md px-2 py-2 text-left hover:bg-accent",children:[(0,s.jsx)("div",{className:"size-6 shrink-0 rounded-full bg-muted grid place-items-center text-xs font-medium",children:e.authorAvatar??(0,m.avatarInitial)(e.authorName??"")}),(0,s.jsxs)("div",{className:"min-w-0 flex-1",children:[(0,s.jsxs)("div",{className:"flex items-baseline gap-2",children:[(0,s.jsx)("span",{className:"text-sm font-medium",children:e.authorName}),e.createdAt&&(0,s.jsx)("span",{className:"text-xs text-muted-foreground",children:(0,P.formatRelativeTime)(e.createdAt)})]}),(0,s.jsx)("div",{className:"truncate text-sm text-muted-foreground",children:e.content})]})]},e.id))}):"search"===e?(0,s.jsx)(B,{searchResults:p,initialQuery:j,showSearchInput:N,onOpenProfile:k,onSearch:A}):(0,s.jsx)(h,{icon:o.MessagesSquare,title:"Threads",children:v&&0===b.length?(0,s.jsx)(T,{}):(0,s.jsxs)(s.Fragment,{children:[(0,s.jsxs)("div",{className:"mb-2 text-xs text-muted-foreground",children:[b.length," threads"]}),(0,s.jsx)("div",{className:"space-y-2",children:b.map(e=>(0,s.jsxs)("button",{onClick:()=>y(e.id),className:"flex w-full items-start gap-3 rounded-md border border-border bg-card p-3 text-left hover:bg-accent",children:[(0,s.jsx)(o.MessagesSquare,{className:"mt-1 size-4 shrink-0 text-muted-foreground"}),(0,s.jsxs)("div",{className:"min-w-0 flex-1",children:[(0,s.jsx)("div",{className:"truncate text-sm font-medium",children:e.name}),(0,s.jsxs)("div",{className:"truncate text-xs text-muted-foreground",children:[(0,s.jsx)("span",{className:"font-medium text-foreground/80",children:e.parent.authorName})," ",e.parent.text]}),(0,s.jsxs)("div",{className:"mt-1 text-xs text-muted-foreground",suppressHydrationWarning:!0,children:[e.messageCount," messages · ",(0,P.formatRelativeTime)(e.lastMessageAt)]})]})]},e.id))})]})})}function D(){return(0,s.jsx)("div",{className:"space-y-2",children:Array.from({length:3}).map((e,t)=>(0,s.jsxs)("div",{className:"flex gap-2 rounded-md px-2 py-2",children:[(0,s.jsx)(u.Skeleton,{className:"size-6 shrink-0 rounded-full"}),(0,s.jsxs)("div",{className:"flex min-w-0 flex-1 flex-col gap-2",children:[(0,s.jsxs)("div",{className:"flex items-baseline gap-2",children:[(0,s.jsx)(u.Skeleton,{className:"h-3 w-20 rounded"}),(0,s.jsx)(u.Skeleton,{className:"h-3 w-10 rounded"})]}),(0,s.jsx)(u.Skeleton,{className:"h-3 w-5/6 rounded"})]})]},t))})}function T(){return(0,s.jsx)("div",{className:"space-y-2",children:Array.from({length:3}).map((e,t)=>(0,s.jsxs)("div",{className:"flex items-start gap-3 rounded-md border border-border bg-card p-3",children:[(0,s.jsx)(u.Skeleton,{className:"mt-1 size-4 shrink-0 rounded"}),(0,s.jsxs)("div",{className:"flex min-w-0 flex-1 flex-col gap-2",children:[(0,s.jsx)(u.Skeleton,{className:"h-3.5 w-3/5 rounded"}),(0,s.jsx)(u.Skeleton,{className:"h-3 w-11/12 rounded"}),(0,s.jsx)(u.Skeleton,{className:"h-3 w-2/5 rounded"})]})]},t))})}function B({searchResults:e,initialQuery:t,showSearchInput:r,onOpenProfile:a,onSearch:l}){let[o,m]=(0,n.useState)(t??"");return(0,s.jsxs)(h,{icon:i.Search,title:"Search",children:[r&&(0,s.jsxs)("div",{className:"relative mb-3",children:[(0,s.jsx)(i.Search,{className:"absolute left-2 top-1/2 size-4 -translate-y-1/2 text-muted-foreground"}),(0,s.jsx)(d.Input,{className:"h-9 pl-8",placeholder:"Search messages",value:o,onChange:e=>m(e.target.value),onKeyDown:(0,c.onEnterSubmit)(()=>{let e=o.trim();e&&l?.(e)})})]}),(0,s.jsxs)("div",{className:"mb-2 text-xs text-muted-foreground",children:[e.length," results"]}),e.map(e=>{let t={...e,grouped:!1};return(0,s.jsx)(O.Message,{m:t,compact:!0,onOpenThread:()=>{},onOpenProfile:a},e.id)})]})}e.s(["CommunityPanelSheet",0,function({open:e,onOpenChange:n,kind:a,members:l,membersLoading:i,membersLoadingMore:o,membersHasMore:d,onLoadMoreMembers:c,onSearchMembers:m,onAddMember:u,manageContext:x,pinned:h,pinnedLoading:g,searchResults:f,searchQuery:p,threads:j,threadsLoading:b,onOpenThread:v,onOpenProfile:N,onSetRole:y,onKickMember:k,myRole:w,onJumpToMessage:S,onSearch:C}){let{width:M,onPointerDown:z,onPointerMove:A,onPointerUp:I}=(0,r.useSheetResize)({defaultWidth:380,minWidth:280,maxWidthRatio:.6});return(0,s.jsx)(t.Sheet,{open:e,onOpenChange:n,modal:!1,disablePointerDismissal:!0,children:(0,s.jsxs)(t.SheetContent,{side:"right",showOverlay:!1,style:{width:`min(${M}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,s.jsx)(t.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"}}(a)}),(0,s.jsx)(r.SheetResizeHandle,{onPointerDown:z,onPointerMove:A,onPointerUp:I}),(0,s.jsx)(R,{kind:a,members:l,membersLoading:i,membersLoadingMore:o,membersHasMore:d,onLoadMoreMembers:c,onSearchMembers:m,onAddMember:u,manageContext:x,pinned:h,pinnedLoading:g,searchResults:f,searchQuery:p,threads:j,threadsLoading:b,showSearchInput:!0,onOpenThread:v,onOpenProfile:N,onSetRole:y,onKickMember:k,myRole:w,onJumpToMessage:S,onSearch:C})]})})}],188181)},632260,e=>{"use strict";var s=e.i(636407),t=e.i(147156),r=e.i(477398),n=e.i(445934),a=e.i(304928);let l=(0,e.i(464648).default)("tags",[["path",{d:"M13.172 2a2 2 0 0 1 1.414.586l6.71 6.71a2.4 2.4 0 0 1 0 3.408l-4.592 4.592a2.4 2.4 0 0 1-3.408 0l-6.71-6.71A2 2 0 0 1 6 9.172V3a1 1 0 0 1 1-1z",key:"16rjxf"}],["path",{d:"M2 7v6.172a2 2 0 0 0 .586 1.414l6.71 6.71a2.4 2.4 0 0 0 3.191.193",key:"178nd4"}],["circle",{cx:"10.5",cy:"6.5",r:".5",fill:"currentColor",key:"12ikhr"}]]);var i=e.i(425828),o=e.i(969355),d=e.i(186339),c=e.i(973733),m=e.i(875061),u=e.i(807915),x=e.i(903477),h=e.i(728886),g=e.i(531342),f=e.i(978913),p=e.i(292186),j=e.i(481178),b=e.i(86053),v=e.i(388026);function N({tags:e,onCancel:r,onPost:n}){let[a,l]=(0,t.useState)(""),[o,c]=(0,t.useState)(""),[u,x]=(0,t.useState)([]),h=(0,v.previewSlug)(a);return(0,s.jsxs)("div",{className:"m-3 overflow-hidden rounded-lg border border-border bg-card",children:[(0,s.jsxs)("div",{className:"flex items-start gap-3 p-3",children:[(0,s.jsx)("button",{onClick:r,className:"mt-1 grid size-6 shrink-0 place-items-center rounded text-muted-foreground hover:bg-accent hover:text-foreground","aria-label":"Cancel post",children:(0,s.jsx)(i.X,{className:"size-5"})}),(0,s.jsxs)("div",{className:"min-w-0 flex-1",children:[(0,s.jsx)("input",{value:a,onChange:e=>l(e.target.value),placeholder:"Title",className:"w-full bg-transparent text-lg font-semibold outline-none placeholder:text-muted-foreground"}),(0,s.jsx)(b.SlugHint,{...h}),(0,s.jsx)("textarea",{value:o,onChange:e=>c(e.target.value),placeholder:"Enter a message…",rows:2,className:"mt-1 w-full resize-none bg-transparent text-sm leading-relaxed outline-none placeholder:text-muted-foreground"})]})]}),e.length>0&&(0,s.jsx)("div",{className:"flex flex-wrap items-center gap-2 px-3 pb-2",children:e.map(e=>(0,s.jsxs)(m.Badge,{variant:u.includes(e)?"default":"secondary",className:"cursor-pointer",render:(0,s.jsx)("button",{onClick:()=>x(s=>s.includes(e)?s.filter(s=>s!==e):[...s,e])}),children:["#",e]},e))}),(0,s.jsxs)("div",{className:"flex items-center justify-between border-t border-border px-3 py-2",children:[(0,s.jsx)(j.EmojiPickerPopover,{side:"top",align:"start",onPick:e=>c(s=>s+e),children:(0,s.jsx)("button",{className:"grid size-7 place-items-center rounded text-muted-foreground hover:bg-accent hover:text-foreground aria-expanded:text-foreground","aria-label":"Emoji picker",children:(0,s.jsx)(p.Smile,{className:"size-5"})})}),(0,s.jsx)(d.Button,{size:"sm",onClick:()=>{let e=a.trim();h.slug&&n({name:e,content:o.trim(),tags:u})},disabled:!h.slug||!o.trim(),children:"Post"})]})]})}function y(){return(0,s.jsx)("div",{className:"flex flex-col gap-3",children:Array.from({length:3}).map((e,t)=>(0,s.jsxs)("div",{className:"flex flex-col gap-2 rounded-lg border border-border bg-card p-4",children:[(0,s.jsxs)("div",{className:"flex items-center gap-2",children:[(0,s.jsx)(h.Skeleton,{className:"size-6 shrink-0 rounded-full"}),(0,s.jsx)(h.Skeleton,{className:"h-3 w-40 rounded"})]}),(0,s.jsx)(h.Skeleton,{className:"h-4 w-2/3 rounded"}),(0,s.jsxs)("div",{className:"space-y-2",children:[(0,s.jsx)(h.Skeleton,{className:"h-3 w-full rounded"}),(0,s.jsx)(h.Skeleton,{className:"h-3 w-5/6 rounded"})]}),(0,s.jsxs)("div",{className:"flex items-center gap-2",children:[(0,s.jsx)(h.Skeleton,{className:"h-5 w-14 rounded-full"}),(0,s.jsx)(h.Skeleton,{className:"h-5 w-12 rounded-full"}),(0,s.jsx)(h.Skeleton,{className:"ml-auto h-3 w-10 rounded"})]})]},t))})}e.s(["ForumView",0,function({posts:e,tags:h,loading:p,onOpenPost:j,onCreatePost:b,onTagsChanged:v,canManageTags:k}){let[w,S]=(0,t.useState)("All"),[C,M]=(0,t.useState)(!1),[z,A]=(0,t.useState)(!1),[I,O]=(0,t.useState)(()=>h.filter(e=>"All"!==e));(0,t.useEffect)(()=>{O(h.filter(e=>"All"!==e))},[h]);let[P,R]=(0,t.useState)(""),D=()=>{let e=P.trim().toLowerCase();if(!e||I.includes(e))return void R("");let s=[...I,e];O(s),R(""),v?.(s)},T="All"===w?e:e.filter(e=>e.tags.includes(w));return(0,s.jsxs)(s.Fragment,{children:[C&&(0,s.jsx)(N,{tags:I,onCancel:()=>M(!1),onPost:e=>{b?.(e),M(!1)}}),(0,s.jsxs)("div",{className:"flex shrink-0 items-center gap-2 border-b border-border px-4 py-2",children:[(0,s.jsxs)("div",{className:"flex min-w-0 flex-1 flex-wrap items-center gap-2",children:[!z&&(0,s.jsx)(m.Badge,{variant:"All"===w?"default":"secondary",className:"shrink-0 cursor-pointer",render:(0,s.jsx)("button",{onClick:()=>S("All")}),children:"All"}),I.map(e=>z?(0,s.jsxs)(m.Badge,{variant:"secondary",className:"shrink-0 gap-1",children:["#",e,(0,s.jsx)("button",{onClick:()=>{let s;O(s=I.filter(s=>s!==e)),w===e&&S("All"),v?.(s)},className:"grid size-3.5 place-items-center rounded-full hover:bg-foreground/10","aria-label":`Delete tag ${e}`,children:(0,s.jsx)(i.X,{className:"size-3"})})]},e):(0,s.jsx)(m.Badge,{variant:w===e?"default":"secondary",className:"shrink-0 cursor-pointer",render:(0,s.jsx)("button",{onClick:()=>S(e)}),children:`#${e}`},e)),z&&(0,s.jsxs)("div",{className:"flex items-center gap-1",children:[(0,s.jsx)(x.Input,{value:P,onChange:e=>R(e.target.value),onKeyDown:(0,u.onEnterSubmit)(D),placeholder:"new-tag",className:"h-6 w-28 px-2 text-xs"}),(0,s.jsx)("button",{onClick:D,disabled:!P.trim(),className:"grid size-6 place-items-center rounded-md bg-secondary text-muted-foreground hover:text-foreground disabled:opacity-40","aria-label":"Add tag",children:(0,s.jsx)(o.Check,{className:"size-3.5"})})]})]}),(0,s.jsxs)("div",{className:"flex shrink-0 items-center gap-1",children:[k&&(0,s.jsx)(d.Button,{variant:"ghost",size:"icon-sm",onClick:()=>A(e=>!e),"aria-label":"Manage tags",className:`text-muted-foreground hover:text-foreground ${z?"bg-accent text-foreground":""}`,children:(0,s.jsx)(l,{className:"size-4"})}),(0,s.jsxs)(d.Button,{size:"sm",onClick:()=>M(!0),children:[(0,s.jsx)(a.Plus,{className:"size-4"})," New Post"]})]})]}),(0,s.jsx)("main",{className:"flex-1 overflow-y-auto thin-scrollbar p-4",children:p&&0===e.length?(0,s.jsx)(y,{}):0===T.length?(0,s.jsx)(f.EmptyState,{icon:n.ListChevronsUpDown,label:"No posts with this tag yet. Start one with New Post."}):(0,s.jsx)("div",{className:"flex flex-col gap-3",children:T.map(e=>(0,s.jsxs)("button",{onClick:()=>j(e.id),className:"flex 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,s.jsxs)("div",{className:"flex items-center gap-2",children:[(0,s.jsx)(g.Avatar,{label:e.authorAvatar,seed:e.authorId,size:24}),(0,s.jsxs)("span",{className:"text-xs text-muted-foreground",suppressHydrationWarning:!0,children:[(0,s.jsx)("span",{className:"font-medium text-foreground",children:e.parent.authorName})," · ",(0,c.formatRelativeTime)(e.lastMessageAt)]})]}),(0,s.jsx)("h3",{className:"text-[15px] font-semibold leading-tight",children:e.name}),(0,s.jsx)("p",{className:"line-clamp-2 text-sm text-muted-foreground",children:e.preview}),(0,s.jsxs)("div",{className:"flex items-center gap-2",children:[e.tags.map(e=>(0,s.jsxs)(m.Badge,{variant:"secondary",children:["#",e]},e)),(0,s.jsxs)("span",{className:"ml-auto flex items-center gap-1 text-xs text-muted-foreground",children:[(0,s.jsx)(r.MessagesSquare,{className:"size-3.5"})," ",e.messageCount]})]})]},e.id))})})]})},"ForumViewSkeleton",0,function(){return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsxs)("div",{className:"flex shrink-0 items-center gap-2 border-b border-border px-4 py-2",children:[(0,s.jsxs)("div",{className:"flex min-w-0 flex-1 flex-wrap items-center gap-2",children:[(0,s.jsx)(h.Skeleton,{className:"h-5 w-10 rounded-full"}),(0,s.jsx)(h.Skeleton,{className:"h-5 w-16 rounded-full"}),(0,s.jsx)(h.Skeleton,{className:"h-5 w-14 rounded-full"}),(0,s.jsx)(h.Skeleton,{className:"h-5 w-20 rounded-full"})]}),(0,s.jsxs)("div",{className:"flex shrink-0 items-center gap-1",children:[(0,s.jsx)(h.Skeleton,{className:"size-7 rounded-md"}),(0,s.jsx)(h.Skeleton,{className:"h-8 w-25 rounded-md"})]})]}),(0,s.jsx)("main",{className:"flex-1 overflow-y-auto thin-scrollbar p-4",children:(0,s.jsx)(y,{})})]})}],632260)}]);
|