From 4f77ae0faa11b433229679767eab131d0d62d7d3 Mon Sep 17 00:00:00 2001 From: Bryan1029384756 <23323626+Bryan1029384756@users.noreply.github.com> Date: Mon, 6 Apr 2026 23:29:31 -0500 Subject: [PATCH] Fix invite --- .../shared/src/assets/icons/role_shield.svg | 1 + packages/shared/src/components/Sidebar.jsx | 4358 ++++++++++------- roles/Screenshot 2026-02-27 004430.png | Bin 0 -> 105148 bytes roles/Screenshot 2026-02-27 004454.png | Bin 0 -> 184010 bytes 4 files changed, 2494 insertions(+), 1865 deletions(-) create mode 100644 packages/shared/src/assets/icons/role_shield.svg create mode 100644 roles/Screenshot 2026-02-27 004430.png create mode 100644 roles/Screenshot 2026-02-27 004454.png diff --git a/packages/shared/src/assets/icons/role_shield.svg b/packages/shared/src/assets/icons/role_shield.svg new file mode 100644 index 0000000..6a8747b --- /dev/null +++ b/packages/shared/src/assets/icons/role_shield.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/packages/shared/src/components/Sidebar.jsx b/packages/shared/src/components/Sidebar.jsx index 38ec5fa..4440520 100644 --- a/packages/shared/src/components/Sidebar.jsx +++ b/packages/shared/src/components/Sidebar.jsx @@ -1,2036 +1,2664 @@ -import React, { useState, useRef, useEffect, useLayoutEffect, useCallback } from 'react'; -import { useNavigate } from 'react-router-dom'; -import { useConvex, useMutation, useQuery } from 'convex/react'; -import { api } from '../../../../convex/_generated/api'; -import Tooltip from './Tooltip'; -import { useVoice } from '../contexts/VoiceContext'; -import ChannelSettingsModal from './ChannelSettingsModal'; -import ServerSettingsModal from './ServerSettingsModal'; -import ScreenShareModal from './ScreenShareModal'; -import MobileServerDrawer from './MobileServerDrawer'; -import MobileCreateChannelScreen from './MobileCreateChannelScreen'; -import MobileCreateCategoryScreen from './MobileCreateCategoryScreen'; -import MobileChannelDrawer from './MobileChannelDrawer'; -import MobileChannelSettingsScreen from './MobileChannelSettingsScreen'; -import DMList from './DMList'; -import Avatar from './Avatar'; -import UserSettings from './UserSettings'; -import ChangeNicknameModal from './ChangeNicknameModal'; -import { Track } from 'livekit-client'; -import { DndContext, closestCenter, PointerSensor, useSensor, useSensors, DragOverlay, useDraggable } from '@dnd-kit/core'; -import { SortableContext, verticalListSortingStrategy, useSortable } from '@dnd-kit/sortable'; -import { CSS } from '@dnd-kit/utilities'; -import muteIcon from '../assets/icons/mute.svg'; -import mutedIcon from '../assets/icons/muted.svg'; -import defeanIcon from '../assets/icons/defean.svg'; -import defeanedIcon from '../assets/icons/defeaned.svg'; -import settingsIcon from '../assets/icons/settings.svg'; -import voiceIcon from '../assets/icons/voice.svg'; -import disconnectIcon from '../assets/icons/disconnect.svg'; -import cameraIcon from '../assets/icons/camera.svg'; -import screenIcon from '../assets/icons/screen.svg'; -import inviteUserIcon from '../assets/icons/invite_user.svg'; -import personalMuteIcon from '../assets/icons/personal_mute.svg'; -import serverMuteIcon from '../assets/icons/server_mute.svg'; -import categoryCollapsedIcon from '../assets/icons/category_collapsed_icon.svg'; -import PingSound from '../assets/sounds/ping.mp3'; -import screenShareStartSound from '../assets/sounds/screenshare_start.mp3'; -import screenShareStopSound from '../assets/sounds/screenshare_stop.mp3'; -import { getUserPref, setUserPref } from '../utils/userPreferences'; -import { usePlatform } from '../platform'; -import ColoredIcon from './ColoredIcon'; +import React, { useState, useRef, useEffect, useLayoutEffect, useCallback } from "react"; +import { useNavigate } from "react-router-dom"; +import { useConvex, useMutation, useQuery } from "convex/react"; +import { api } from "../../../../convex/_generated/api"; +import Tooltip from "./Tooltip"; +import { useVoice } from "../contexts/VoiceContext"; +import ChannelSettingsModal from "./ChannelSettingsModal"; +import ServerSettingsModal from "./ServerSettingsModal"; +import ScreenShareModal from "./ScreenShareModal"; +import MobileServerDrawer from "./MobileServerDrawer"; +import MobileCreateChannelScreen from "./MobileCreateChannelScreen"; +import MobileCreateCategoryScreen from "./MobileCreateCategoryScreen"; +import MobileChannelDrawer from "./MobileChannelDrawer"; +import MobileChannelSettingsScreen from "./MobileChannelSettingsScreen"; +import DMList from "./DMList"; +import Avatar from "./Avatar"; +import UserSettings from "./UserSettings"; +import ChangeNicknameModal from "./ChangeNicknameModal"; +import { Track } from "livekit-client"; +import { + DndContext, + closestCenter, + PointerSensor, + useSensor, + useSensors, + DragOverlay, + useDraggable, +} from "@dnd-kit/core"; +import { SortableContext, verticalListSortingStrategy, useSortable } from "@dnd-kit/sortable"; +import { CSS } from "@dnd-kit/utilities"; +import muteIcon from "../assets/icons/mute.svg"; +import mutedIcon from "../assets/icons/muted.svg"; +import defeanIcon from "../assets/icons/defean.svg"; +import defeanedIcon from "../assets/icons/defeaned.svg"; +import settingsIcon from "../assets/icons/settings.svg"; +import voiceIcon from "../assets/icons/voice.svg"; +import disconnectIcon from "../assets/icons/disconnect.svg"; +import cameraIcon from "../assets/icons/camera.svg"; +import screenIcon from "../assets/icons/screen.svg"; +import inviteUserIcon from "../assets/icons/invite_user.svg"; +import personalMuteIcon from "../assets/icons/personal_mute.svg"; +import serverMuteIcon from "../assets/icons/server_mute.svg"; +import categoryCollapsedIcon from "../assets/icons/category_collapsed_icon.svg"; +import PingSound from "../assets/sounds/ping.mp3"; +import screenShareStartSound from "../assets/sounds/screenshare_start.mp3"; +import screenShareStopSound from "../assets/sounds/screenshare_stop.mp3"; +import { getUserPref, setUserPref } from "../utils/userPreferences"; +import { usePlatform } from "../platform"; +import ColoredIcon from "./ColoredIcon"; -const USER_COLORS = ['#5865F2', '#EBA7CD', '#57F287', '#FEE75C', '#EB459E', '#ED4245']; +const USER_COLORS = ["#5865F2", "#EBA7CD", "#57F287", "#FEE75C", "#EB459E", "#ED4245"]; -const ICON_COLOR_DEFAULT = 'hsl(240, 4.294%, 68.039%)'; -const ICON_COLOR_ACTIVE = 'hsl(357.692, 67.826%, 54.902%)'; -const SERVER_MUTE_RED = 'hsl(1.343, 84.81%, 69.02%)'; +const ICON_COLOR_DEFAULT = "hsl(240, 4.294%, 68.039%)"; +const ICON_COLOR_ACTIVE = "hsl(357.692, 67.826%, 54.902%)"; +const SERVER_MUTE_RED = "hsl(1.343, 84.81%, 69.02%)"; const controlButtonStyle = { - background: 'transparent', - border: 'none', - cursor: 'pointer', - padding: '6px', - borderRadius: '4px', - display: 'flex', - alignItems: 'center', - justifyContent: 'center' + background: "transparent", + border: "none", + cursor: "pointer", + padding: "6px", + borderRadius: "4px", + display: "flex", + alignItems: "center", + justifyContent: "center", }; function getUserColor(name) { - let hash = 0; - for (let i = 0; i < name.length; i++) { - hash = name.charCodeAt(i) + ((hash << 5) - hash); - } - return USER_COLORS[Math.abs(hash) % USER_COLORS.length]; + let hash = 0; + for (let i = 0; i < name.length; i++) { + hash = name.charCodeAt(i) + ((hash << 5) - hash); + } + return USER_COLORS[Math.abs(hash) % USER_COLORS.length]; } function bytesToHex(bytes) { - return Array.from(bytes).map(b => b.toString(16).padStart(2, '0')).join(''); + return Array.from(bytes) + .map((b) => b.toString(16).padStart(2, "0")) + .join(""); } function randomHex(length) { - const bytes = new Uint8Array(length); - crypto.getRandomValues(bytes); - return bytesToHex(bytes); + const bytes = new Uint8Array(length); + crypto.getRandomValues(bytes); + return bytesToHex(bytes); } const VoiceTimer = () => { - const [elapsed, setElapsed] = React.useState(0); - React.useEffect(() => { - const start = Date.now(); - const interval = setInterval(() => setElapsed(Math.floor((Date.now() - start) / 1000)), 1000); - return () => clearInterval(interval); - }, []); - const hours = Math.floor(elapsed / 3600); - const mins = Math.floor((elapsed % 3600) / 60); - const secs = elapsed % 60; - const time = hours > 0 - ? `${hours}:${String(mins).padStart(2, '0')}:${String(secs).padStart(2, '0')}` - : `${mins}:${String(secs).padStart(2, '0')}`; - return {time}; + const [elapsed, setElapsed] = React.useState(0); + React.useEffect(() => { + const start = Date.now(); + const interval = setInterval(() => setElapsed(Math.floor((Date.now() - start) / 1000)), 1000); + return () => clearInterval(interval); + }, []); + const hours = Math.floor(elapsed / 3600); + const mins = Math.floor((elapsed % 3600) / 60); + const secs = elapsed % 60; + const time = + hours > 0 + ? `${hours}:${String(mins).padStart(2, "0")}:${String(secs).padStart(2, "0")}` + : `${mins}:${String(secs).padStart(2, "0")}`; + return {time}; }; const STATUS_OPTIONS = [ - { value: 'online', label: 'Online', color: '#3ba55c' }, - { value: 'idle', label: 'Idle', color: '#faa61a' }, - { value: 'dnd', label: 'Do Not Disturb', color: '#ed4245' }, - { value: 'invisible', label: 'Invisible', color: '#747f8d' }, + { value: "online", label: "Online", color: "#3ba55c" }, + { value: "idle", label: "Idle", color: "#faa61a" }, + { value: "dnd", label: "Do Not Disturb", color: "#ed4245" }, + { value: "invisible", label: "Invisible", color: "#747f8d" }, ]; const UserControlPanel = React.memo(({ username, userId }) => { - const { session, idle, searchDB } = usePlatform(); - const { isMuted, isDeafened, toggleMute, toggleDeafen, connectionState, disconnectVoice } = useVoice(); - const [showStatusMenu, setShowStatusMenu] = useState(false); - const [showUserSettings, setShowUserSettings] = useState(false); - const [currentStatus, setCurrentStatus] = useState('online'); - const updateStatusMutation = useMutation(api.auth.updateStatus); - const navigate = useNavigate(); - const manualStatusRef = useRef(false); - const preIdleStatusRef = useRef('online'); - const hasInitializedRef = useRef(false); - const currentStatusRef = useRef(currentStatus); - currentStatusRef.current = currentStatus; + const { session, idle, searchDB } = usePlatform(); + const { isMuted, isDeafened, toggleMute, toggleDeafen, connectionState, disconnectVoice } = + useVoice(); + const [showStatusMenu, setShowStatusMenu] = useState(false); + const [showUserSettings, setShowUserSettings] = useState(false); + const [currentStatus, setCurrentStatus] = useState("online"); + const updateStatusMutation = useMutation(api.auth.updateStatus); + const navigate = useNavigate(); + const manualStatusRef = useRef(false); + const preIdleStatusRef = useRef("online"); + const hasInitializedRef = useRef(false); + const currentStatusRef = useRef(currentStatus); + currentStatusRef.current = currentStatus; - // Fetch stored status preference from server and sync local state - const allUsers = useQuery(api.auth.getPublicKeys) || []; - const myUser = allUsers.find(u => u.id === userId); - React.useEffect(() => { - if (myUser) { - const isInitial = !hasInitializedRef.current; - if (isInitial) hasInitializedRef.current = true; + // Fetch stored status preference from server and sync local state + const allUsers = useQuery(api.auth.getPublicKeys) || []; + const myUser = allUsers.find((u) => u.id === userId); + React.useEffect(() => { + if (myUser) { + const isInitial = !hasInitializedRef.current; + if (isInitial) hasInitializedRef.current = true; - // 'idle' is auto-set by the idle detector, not a user preference — - // on a fresh app launch, reset it to 'online' just like 'offline' - const shouldReset = !myUser.status || myUser.status === 'offline' - || (isInitial && myUser.status === 'idle'); + // 'idle' is auto-set by the idle detector, not a user preference — + // on a fresh app launch, reset it to 'online' just like 'offline' + const shouldReset = + !myUser.status || myUser.status === "offline" || (isInitial && myUser.status === "idle"); - if (shouldReset) { - setCurrentStatus('online'); - manualStatusRef.current = false; - if (userId) { - updateStatusMutation({ userId, status: 'online' }).catch(() => {}); - } - } else if (myUser.status) { - setCurrentStatus(myUser.status); - manualStatusRef.current = (myUser.status === 'dnd' || myUser.status === 'invisible'); - } - } - }, [myUser?.status]); - - const handleLogout = async () => { - // Disconnect voice if connected - if (connectionState === 'connected') { - try { disconnectVoice(); } catch {} - } - // Save and close search DB - if (searchDB?.isOpen()) { - try { await searchDB.save(); searchDB.close(); } catch {} - } - // Clear persisted session - if (session) { - try { await session.clear(); } catch {} - } - // Clear storage (preserve theme and user preferences) - const theme = localStorage.getItem('theme'); - const savedPrefs = {}; - for (let i = 0; i < localStorage.length; i++) { - const key = localStorage.key(i); - if (key.startsWith('userPrefs_')) { - savedPrefs[key] = localStorage.getItem(key); - } - } - localStorage.clear(); - if (theme) localStorage.setItem('theme', theme); - for (const [key, value] of Object.entries(savedPrefs)) { - localStorage.setItem(key, value); - } - sessionStorage.clear(); - navigate('/'); - }; - - const effectiveMute = isMuted || isDeafened; - const statusColor = STATUS_OPTIONS.find(s => s.value === currentStatus)?.color || '#3ba55c'; - - const handleStatusChange = async (status) => { - manualStatusRef.current = (status !== 'online'); - setCurrentStatus(status); - setShowStatusMenu(false); + if (shouldReset) { + setCurrentStatus("online"); + manualStatusRef.current = false; if (userId) { - try { - await updateStatusMutation({ userId, status }); - } catch (e) { - console.error('Failed to update status:', e); - } + updateStatusMutation({ userId, status: "online" }).catch(() => {}); } + } else if (myUser.status) { + setCurrentStatus(myUser.status); + manualStatusRef.current = myUser.status === "dnd" || myUser.status === "invisible"; + } + } + }, [myUser?.status]); + + const handleLogout = async () => { + // Disconnect voice if connected + if (connectionState === "connected") { + try { + disconnectVoice(); + } catch {} + } + // Save and close search DB + if (searchDB?.isOpen()) { + try { + await searchDB.save(); + searchDB.close(); + } catch {} + } + // Clear persisted session + if (session) { + try { + await session.clear(); + } catch {} + } + // Clear storage (preserve theme and user preferences) + const theme = localStorage.getItem("theme"); + const savedPrefs = {}; + for (let i = 0; i < localStorage.length; i++) { + const key = localStorage.key(i); + if (key.startsWith("userPrefs_")) { + savedPrefs[key] = localStorage.getItem(key); + } + } + localStorage.clear(); + if (theme) localStorage.setItem("theme", theme); + for (const [key, value] of Object.entries(savedPrefs)) { + localStorage.setItem(key, value); + } + sessionStorage.clear(); + navigate("/"); + }; + + const effectiveMute = isMuted || isDeafened; + const statusColor = STATUS_OPTIONS.find((s) => s.value === currentStatus)?.color || "#3ba55c"; + + const handleStatusChange = async (status) => { + manualStatusRef.current = status !== "online"; + setCurrentStatus(status); + setShowStatusMenu(false); + if (userId) { + try { + await updateStatusMutation({ userId, status }); + } catch (e) { + console.error("Failed to update status:", e); + } + } + }; + + // Auto-idle detection via platform idle API + // On Capacitor (Android), skip this entirely — presence disconnect handles + // offline when not in voice, and VoiceContext AFK polling handles idle + // after 5 min of not talking when in voice. + useEffect(() => { + if (!idle || !userId) return; + if (window.Capacitor?.isNativePlatform?.()) return; + + const handleIdleChange = (data) => { + if (manualStatusRef.current) return; + if (data.isIdle) { + preIdleStatusRef.current = currentStatusRef.current; + setCurrentStatus("idle"); + updateStatusMutation({ userId, status: "idle" }).catch(() => {}); + } else { + const restoreTo = preIdleStatusRef.current || "online"; + setCurrentStatus(restoreTo); + updateStatusMutation({ userId, status: restoreTo }).catch(() => {}); + } }; + idle.onIdleStateChanged(handleIdleChange); + return () => idle.removeIdleStateListener(); + }, [userId]); - // Auto-idle detection via platform idle API - // On Capacitor (Android), skip this entirely — presence disconnect handles - // offline when not in voice, and VoiceContext AFK polling handles idle - // after 5 min of not talking when in voice. - useEffect(() => { - if (!idle || !userId) return; - if (window.Capacitor?.isNativePlatform?.()) return; - - const handleIdleChange = (data) => { - if (manualStatusRef.current) return; - if (data.isIdle) { - preIdleStatusRef.current = currentStatusRef.current; - setCurrentStatus('idle'); - updateStatusMutation({ userId, status: 'idle' }).catch(() => {}); - } else { - const restoreTo = preIdleStatusRef.current || 'online'; - setCurrentStatus(restoreTo); - updateStatusMutation({ userId, status: restoreTo }).catch(() => {}); - } - }; - idle.onIdleStateChanged(handleIdleChange); - return () => idle.removeIdleStateListener(); - }, [userId]); - - return ( -
- {showStatusMenu && ( -
- {STATUS_OPTIONS.map(opt => ( -
handleStatusChange(opt.value)} - > -
- {opt.label} -
- ))} -
- )} -
setShowStatusMenu(!showStatusMenu)}> -
- -
-
-
-
- {username || 'Unknown'} -
-
- {STATUS_OPTIONS.find(s => s.value === currentStatus)?.label || 'Online'} -
-
+ return ( +
+ {showStatusMenu && ( +
+ {STATUS_OPTIONS.map((opt) => ( +
handleStatusChange(opt.value)} + > +
+ {opt.label}
- -
- - - - - - - - - -
- {showUserSettings && ( - setShowUserSettings(false)} - userId={userId} - username={username} - onLogout={handleLogout} - /> - )} + ))}
- ); + )} +
setShowStatusMenu(!showStatusMenu)}> +
+ +
+
+
+
+ {username || "Unknown"} +
+
+ {STATUS_OPTIONS.find((s) => s.value === currentStatus)?.label || "Online"} +
+
+
+ +
+ + + + + + + + + +
+ {showUserSettings && ( + setShowUserSettings(false)} + userId={userId} + username={username} + onLogout={handleLogout} + /> + )} +
+ ); }); - - const headerButtonStyle = { - background: 'transparent', - border: 'none', - color: 'var(--header-secondary)', - cursor: 'pointer', - fontSize: '18px', - padding: '0 4px' + background: "transparent", + border: "none", + color: "var(--header-secondary)", + cursor: "pointer", + fontSize: "18px", + padding: "0 4px", }; const voicePanelButtonStyle = { - flex: 1, - alignItems: 'center', - minHeight: '32px', - background: 'hsla(240, 4%, 60.784%, 0.078)', - border: 'hsla(0, 0%, 100%, 0.078)', - borderColor: 'hsla(240, 4%, 60.784%, 0.039)', - borderRadius: '8px', - cursor: 'pointer', - padding: '4px', - display: 'flex', - justifyContent: 'center' + flex: 1, + alignItems: "center", + minHeight: "32px", + background: "hsla(240, 4%, 60.784%, 0.078)", + border: "hsla(0, 0%, 100%, 0.078)", + borderColor: "hsla(240, 4%, 60.784%, 0.039)", + borderRadius: "8px", + cursor: "pointer", + padding: "4px", + display: "flex", + justifyContent: "center", }; const liveBadgeStyle = { - backgroundColor: '#ed4245', - borderRadius: '8px', - padding: '0 6px', - textOverflow: 'ellipsis', - whiteSpace: 'nowrap', - overflow: 'hidden', - textAlign: 'center', - height: '16px', - minHeight: '16px', - minWidth: '16px', - color: 'hsl(0, 0%, 100%)', - fontSize: '12px', - fontWeight: '700', - letterSpacing: '.02em', - lineHeight: '1.3333333333333333', - textTransform: 'uppercase', - display: 'flex', - alignItems: 'center', - marginRight: '4px' + backgroundColor: "#ed4245", + borderRadius: "8px", + padding: "0 6px", + textOverflow: "ellipsis", + whiteSpace: "nowrap", + overflow: "hidden", + textAlign: "center", + height: "16px", + minHeight: "16px", + minWidth: "16px", + color: "hsl(0, 0%, 100%)", + fontSize: "12px", + fontWeight: "700", + letterSpacing: ".02em", + lineHeight: "1.3333333333333333", + textTransform: "uppercase", + display: "flex", + alignItems: "center", + marginRight: "4px", }; -const ACTIVE_SPEAKER_SHADOW = 'rgb(67, 162, 90) 0px 0px 0px 2px, rgb(67, 162, 90) 0px 0px 0px 20px inset, rgb(26, 26, 30) 0px 0px 0px 20px inset'; -const VOICE_ACTIVE_COLOR = 'hsl(132.809, 34.902%, 50%)'; +const ACTIVE_SPEAKER_SHADOW = + "rgb(67, 162, 90) 0px 0px 0px 2px, rgb(67, 162, 90) 0px 0px 0px 20px inset, rgb(26, 26, 30) 0px 0px 0px 20px inset"; +const VOICE_ACTIVE_COLOR = "hsl(132.809, 34.902%, 50%)"; async function encryptKeyForUsers(convex, channelId, keyHex, crypto) { - const users = await convex.query(api.auth.getPublicKeys, {}); - const batchKeys = []; + const users = await convex.query(api.auth.getPublicKeys, {}); + const batchKeys = []; - for (const u of users) { - if (!u.public_identity_key) continue; - try { - const payload = JSON.stringify({ [channelId]: keyHex }); - const encryptedKeyHex = await crypto.publicEncrypt(u.public_identity_key, payload); - batchKeys.push({ - channelId, - userId: u.id, - encryptedKeyBundle: encryptedKeyHex, - keyVersion: 1 - }); - } catch (e) { - console.error("Failed to encrypt for user", u.id, e); - } + for (const u of users) { + if (!u.public_identity_key) continue; + try { + const payload = JSON.stringify({ [channelId]: keyHex }); + const encryptedKeyHex = await crypto.publicEncrypt(u.public_identity_key, payload); + batchKeys.push({ + channelId, + userId: u.id, + encryptedKeyBundle: encryptedKeyHex, + keyVersion: 1, + }); + } catch (e) { + console.error("Failed to encrypt for user", u.id, e); } + } - await convex.mutation(api.channelKeys.uploadKeys, { keys: batchKeys }); + await convex.mutation(api.channelKeys.uploadKeys, { keys: batchKeys }); } function getScreenCaptureConstraints(selection) { - if (selection.type === 'device') { - return { video: { deviceId: { exact: selection.deviceId } }, audio: false }; - } - return { - audio: selection.shareAudio ? { - mandatory: { - chromeMediaSource: 'desktop', - chromeMediaSourceId: selection.sourceId - } - } : false, - video: { - mandatory: { - chromeMediaSource: 'desktop', - chromeMediaSourceId: selection.sourceId - } + if (selection.type === "device") { + return { video: { deviceId: { exact: selection.deviceId } }, audio: false }; + } + return { + audio: selection.shareAudio + ? { + mandatory: { + chromeMediaSource: "desktop", + chromeMediaSourceId: selection.sourceId, + }, } - }; + : false, + video: { + mandatory: { + chromeMediaSource: "desktop", + chromeMediaSourceId: selection.sourceId, + }, + }, + }; } -const VoiceUserContextMenu = ({ x, y, onClose, user, onMute, isMuted, onServerMute, isServerMuted, hasPermission, onDisconnect, hasDisconnectPermission, onMessage, isSelf, userVolume, onVolumeChange, onChangeNickname, showNicknameOption, onStartCall }) => { - const menuRef = useRef(null); - const [pos, setPos] = useState({ top: y, left: x }); +const VoiceUserContextMenu = ({ + x, + y, + onClose, + user, + onMute, + isMuted, + onServerMute, + isServerMuted, + hasPermission, + onDisconnect, + hasDisconnectPermission, + onMessage, + isSelf, + userVolume, + onVolumeChange, + onChangeNickname, + showNicknameOption, + onStartCall, +}) => { + const menuRef = useRef(null); + const [pos, setPos] = useState({ top: y, left: x }); - useEffect(() => { - const h = () => onClose(); - window.addEventListener('click', h); - window.addEventListener('close-context-menus', h); - return () => { window.removeEventListener('click', h); window.removeEventListener('close-context-menus', h); }; - }, [onClose]); + useEffect(() => { + const h = () => onClose(); + window.addEventListener("click", h); + window.addEventListener("close-context-menus", h); + return () => { + window.removeEventListener("click", h); + window.removeEventListener("close-context-menus", h); + }; + }, [onClose]); - useLayoutEffect(() => { - if (!menuRef.current) return; - const rect = menuRef.current.getBoundingClientRect(); - let newTop = y, newLeft = x; - if (x + rect.width > window.innerWidth) newLeft = x - rect.width; - if (y + rect.height > window.innerHeight) newTop = y - rect.height; - if (newLeft < 0) newLeft = 10; - if (newTop < 0) newTop = 10; - setPos({ top: newTop, left: newLeft }); - }, [x, y]); + useLayoutEffect(() => { + if (!menuRef.current) return; + const rect = menuRef.current.getBoundingClientRect(); + let newTop = y, + newLeft = x; + if (x + rect.width > window.innerWidth) newLeft = x - rect.width; + if (y + rect.height > window.innerHeight) newTop = y - rect.height; + if (newLeft < 0) newLeft = 10; + if (newTop < 0) newTop = 10; + setPos({ top: newTop, left: newLeft }); + }, [x, y]); - const sliderPercent = (userVolume / 200) * 100; + const sliderPercent = (userVolume / 200) * 100; - return ( -
e.stopPropagation()}> - {!isSelf && ( - <> -
e.stopPropagation()} onClick={(e) => e.stopPropagation()}> -
- User Volume - {userVolume}% -
- onVolumeChange(Number(e.target.value))} - className="context-menu-volume-slider" - style={{ background: `linear-gradient(to right, hsl(235, 86%, 65%) ${sliderPercent}%, var(--bg-tertiary) ${sliderPercent}%)` }} - /> -
-
- - )} -
{ e.stopPropagation(); onMute(); }} - > - Mute -
-
- {isMuted ? ( - - - - ) : ( - - - )} -
-
+ return ( +
e.stopPropagation()} + > + {!isSelf && ( + <> +
e.stopPropagation()} + onClick={(e) => e.stopPropagation()} + > +
+ User Volume + {userVolume}%
- {hasPermission && ( -
{ e.stopPropagation(); onServerMute(); }} - > - Server Mute -
-
- {isServerMuted ? ( - - - - ) : ( - - - )} -
-
-
- )} - {!isSelf && hasDisconnectPermission && ( -
{ e.stopPropagation(); onDisconnect(); onClose(); }} - > - Disconnect -
- )} -
- {showNicknameOption && ( -
{ e.stopPropagation(); onChangeNickname(); onClose(); }}> - Change Nickname -
- )} - {!isSelf && ( -
{ e.stopPropagation(); onMessage(); onClose(); }}> - Message -
- )} - {!isSelf && ( -
{ e.stopPropagation(); onStartCall(); onClose(); }}> - Start a Call -
+ onVolumeChange(Number(e.target.value))} + className="context-menu-volume-slider" + style={{ + background: `linear-gradient(to right, hsl(235, 86%, 65%) ${sliderPercent}%, var(--bg-tertiary) ${sliderPercent}%)`, + }} + /> +
+
+ + )} +
{ + e.stopPropagation(); + onMute(); + }} + > + Mute +
+
+ {isMuted ? ( + + + + ) : ( + )} +
- ); +
+ {hasPermission && ( +
{ + e.stopPropagation(); + onServerMute(); + }} + > + Server Mute +
+
+ {isServerMuted ? ( + + + + ) : ( + + )} +
+
+
+ )} + {!isSelf && hasDisconnectPermission && ( +
{ + e.stopPropagation(); + onDisconnect(); + onClose(); + }} + > + Disconnect +
+ )} +
+ {showNicknameOption && ( +
{ + e.stopPropagation(); + onChangeNickname(); + onClose(); + }} + > + Change Nickname +
+ )} + {!isSelf && ( +
{ + e.stopPropagation(); + onMessage(); + onClose(); + }} + > + Message +
+ )} + {!isSelf && ( +
{ + e.stopPropagation(); + onStartCall(); + onClose(); + }} + > + Start a Call +
+ )} +
+ ); }; const ChannelListContextMenu = ({ x, y, onClose, onCreateChannel, onCreateCategory }) => { - const menuRef = useRef(null); - const [pos, setPos] = useState({ top: y, left: x }); + const menuRef = useRef(null); + const [pos, setPos] = useState({ top: y, left: x }); - useEffect(() => { - const h = () => onClose(); - window.addEventListener('click', h); - window.addEventListener('close-context-menus', h); - return () => { window.removeEventListener('click', h); window.removeEventListener('close-context-menus', h); }; - }, [onClose]); + useEffect(() => { + const h = () => onClose(); + window.addEventListener("click", h); + window.addEventListener("close-context-menus", h); + return () => { + window.removeEventListener("click", h); + window.removeEventListener("close-context-menus", h); + }; + }, [onClose]); - useLayoutEffect(() => { - if (!menuRef.current) return; - const rect = menuRef.current.getBoundingClientRect(); - let newTop = y, newLeft = x; - if (x + rect.width > window.innerWidth) newLeft = x - rect.width; - if (y + rect.height > window.innerHeight) newTop = y - rect.height; - if (newLeft < 0) newLeft = 10; - if (newTop < 0) newTop = 10; - setPos({ top: newTop, left: newLeft }); - }, [x, y]); + useLayoutEffect(() => { + if (!menuRef.current) return; + const rect = menuRef.current.getBoundingClientRect(); + let newTop = y, + newLeft = x; + if (x + rect.width > window.innerWidth) newLeft = x - rect.width; + if (y + rect.height > window.innerHeight) newTop = y - rect.height; + if (newLeft < 0) newLeft = 10; + if (newTop < 0) newTop = 10; + setPos({ top: newTop, left: newLeft }); + }, [x, y]); - return ( -
e.stopPropagation()}> -
{ e.stopPropagation(); onCreateChannel(); onClose(); }}> - Create Channel -
-
{ e.stopPropagation(); onCreateCategory(); onClose(); }}> - Create Category -
-
- ); + return ( +
e.stopPropagation()} + > +
{ + e.stopPropagation(); + onCreateChannel(); + onClose(); + }} + > + Create Channel +
+
{ + e.stopPropagation(); + onCreateCategory(); + onClose(); + }} + > + Create Category +
+
+ ); }; const CategoryContextMenu = ({ x, y, onClose, categoryName, onEdit, onDelete }) => { - const menuRef = useRef(null); - const [pos, setPos] = useState({ top: y, left: x }); + const menuRef = useRef(null); + const [pos, setPos] = useState({ top: y, left: x }); - useEffect(() => { - const h = () => onClose(); - window.addEventListener('click', h); - window.addEventListener('close-context-menus', h); - return () => { window.removeEventListener('click', h); window.removeEventListener('close-context-menus', h); }; - }, [onClose]); + useEffect(() => { + const h = () => onClose(); + window.addEventListener("click", h); + window.addEventListener("close-context-menus", h); + return () => { + window.removeEventListener("click", h); + window.removeEventListener("close-context-menus", h); + }; + }, [onClose]); - useLayoutEffect(() => { - if (!menuRef.current) return; - const rect = menuRef.current.getBoundingClientRect(); - let newTop = y, newLeft = x; - if (x + rect.width > window.innerWidth) newLeft = x - rect.width; - if (y + rect.height > window.innerHeight) newTop = y - rect.height; - if (newLeft < 0) newLeft = 10; - if (newTop < 0) newTop = 10; - setPos({ top: newTop, left: newLeft }); - }, [x, y]); + useLayoutEffect(() => { + if (!menuRef.current) return; + const rect = menuRef.current.getBoundingClientRect(); + let newTop = y, + newLeft = x; + if (x + rect.width > window.innerWidth) newLeft = x - rect.width; + if (y + rect.height > window.innerHeight) newTop = y - rect.height; + if (newLeft < 0) newLeft = 10; + if (newTop < 0) newTop = 10; + setPos({ top: newTop, left: newLeft }); + }, [x, y]); - return ( -
e.stopPropagation()}> -
{ e.stopPropagation(); onEdit(); }}> - Edit Category -
-
-
{ e.stopPropagation(); onDelete(); }}> - Delete Category -
-
- ); + return ( +
e.stopPropagation()} + > +
{ + e.stopPropagation(); + onEdit(); + }} + > + Edit Category +
+
+
{ + e.stopPropagation(); + onDelete(); + }} + > + Delete Category +
+
+ ); }; const CreateChannelModal = ({ onClose, onSubmit, categoryId }) => { - const [channelType, setChannelType] = useState('text'); - const [channelName, setChannelName] = useState(''); + const [channelType, setChannelType] = useState("text"); + const [channelName, setChannelName] = useState(""); - const handleSubmit = () => { - if (!channelName.trim()) return; - onSubmit(channelName.trim(), channelType, categoryId); - onClose(); - }; + const handleSubmit = () => { + if (!channelName.trim()) return; + onSubmit(channelName.trim(), channelType, categoryId); + onClose(); + }; - return ( -
-
e.stopPropagation()}> -
-
-

Create Channel

-

in Text Channels

-
- -
- -
-
- - -
setChannelType('text')} - > -
- # -
-
Text
-
Send messages, images, GIFs, emoji, opinions, and puns
-
-
-
- {channelType === 'text' &&
} -
-
- -
setChannelType('voice')} - > -
- - - -
-
Voice
-
Hang out together with voice, video, and screen share
-
-
-
- {channelType === 'voice' &&
} -
-
-
- -
- -
- - {channelType === 'text' ? '#' : '🔊'} - - setChannelName(e.target.value.toLowerCase().replace(/\s+/g, '-'))} - onKeyDown={(e) => { if (e.key === 'Enter') handleSubmit(); }} - className="create-channel-name-input" - /> -
-
-
- -
- - -
-
+ return ( +
+
e.stopPropagation()}> +
+
+

+ Create Channel +

+

+ in Text Channels +

+
+
- ); + +
+
+ + +
setChannelType("text")} + > +
+ + # + +
+
+ Text +
+
+ Send messages, images, GIFs, emoji, opinions, and puns +
+
+
+
+ {channelType === "text" &&
} +
+
+ +
setChannelType("voice")} + > +
+ + + +
+
+ Voice +
+
+ Hang out together with voice, video, and screen share +
+
+
+
+ {channelType === "voice" &&
} +
+
+
+ +
+ +
+ + {channelType === "text" ? "#" : "🔊"} + + setChannelName(e.target.value.toLowerCase().replace(/\s+/g, "-"))} + onKeyDown={(e) => { + if (e.key === "Enter") handleSubmit(); + }} + className="create-channel-name-input" + /> +
+
+
+ +
+ + +
+
+
+ ); }; const CreateCategoryModal = ({ onClose, onSubmit }) => { - const [categoryName, setCategoryName] = useState(''); + const [categoryName, setCategoryName] = useState(""); - const handleSubmit = () => { - if (!categoryName.trim()) return; - onSubmit(categoryName.trim()); - onClose(); - }; + const handleSubmit = () => { + if (!categoryName.trim()) return; + onSubmit(categoryName.trim()); + onClose(); + }; - return ( -
-
e.stopPropagation()}> -
-

Create Category

- -
- -
-
- -
- setCategoryName(e.target.value)} - onKeyDown={(e) => { if (e.key === 'Enter') handleSubmit(); }} - className="create-channel-name-input" - /> -
-
- -
-
- - - - Private Category -
-
-
-
-
-

- By making a category private, only selected members and roles will be able to view this category. Synced channels will automatically match this category's permissions. -

-
- -
- - -
-
+ return ( +
+
e.stopPropagation()}> +
+

+ Create Category +

+
- ); + +
+
+ +
+ setCategoryName(e.target.value)} + onKeyDown={(e) => { + if (e.key === "Enter") handleSubmit(); + }} + className="create-channel-name-input" + /> +
+
+ +
+
+ + + + + Private Category + +
+
+
+
+
+

+ By making a category private, only selected members and roles will be able to view this + category. Synced channels will automatically match this category's permissions. +

+
+ +
+ + +
+
+
+ ); }; // --- DnD wrapper components --- const SortableCategory = ({ id, children }) => { - const { attributes, listeners, setNodeRef, transform, transition, isDragging } = useSortable({ - id, - data: { type: 'category' }, - }); + const { attributes, listeners, setNodeRef, transform, transition, isDragging } = useSortable({ + id, + data: { type: "category" }, + }); - const style = { - transform: CSS.Transform.toString(transform), - transition, - opacity: isDragging ? 0.5 : 1, - }; + const style = { + transform: CSS.Transform.toString(transform), + transition, + opacity: isDragging ? 0.5 : 1, + }; - return ( -
- {React.Children.map(children, (child, i) => { - // First child is the category header — attach drag listeners to it - if (i === 0 && React.isValidElement(child)) { - return React.cloneElement(child, { dragListeners: listeners }); - } - return child; - })} -
- ); + return ( +
+ {React.Children.map(children, (child, i) => { + // First child is the category header — attach drag listeners to it + if (i === 0 && React.isValidElement(child)) { + return React.cloneElement(child, { dragListeners: listeners }); + } + return child; + })} +
+ ); }; const SortableChannel = ({ id, children }) => { - const { attributes, listeners, setNodeRef, transform, transition, isDragging } = useSortable({ - id, - data: { type: 'channel' }, - }); + const { attributes, listeners, setNodeRef, transform, transition, isDragging } = useSortable({ + id, + data: { type: "channel" }, + }); - const style = { - transform: CSS.Transform.toString(transform), - transition, - opacity: isDragging ? 0.5 : 1, - }; + const style = { + transform: CSS.Transform.toString(transform), + transition, + opacity: isDragging ? 0.5 : 1, + }; - return ( -
- {typeof children === 'function' ? children(listeners) : children} -
- ); + return ( +
+ {typeof children === "function" ? children(listeners) : children} +
+ ); }; const DraggableVoiceUser = ({ userId, channelId, disabled, children }) => { - const { attributes, listeners, setNodeRef, isDragging } = useDraggable({ - id: `voice-user-${userId}`, - data: { type: 'voice-user', userId, channelId }, - disabled, - }); + const { attributes, listeners, setNodeRef, isDragging } = useDraggable({ + id: `voice-user-${userId}`, + data: { type: "voice-user", userId, channelId }, + disabled, + }); - return ( -
- {children} -
- ); + return ( +
+ {children} +
+ ); }; -const Sidebar = ({ channels, categories, activeChannel, onSelectChannel, username, channelKeys, view, onViewChange, onOpenDM, activeDMChannel, setActiveDMChannel, dmChannels, userId, serverName = 'Secure Chat', serverIconUrl, isMobile, onStartCallWithUser, onOpenMobileSearch }) => { - const { crypto, settings } = usePlatform(); - const [isCreating, setIsCreating] = useState(false); - const [isServerSettingsOpen, setIsServerSettingsOpen] = useState(false); - const [newChannelName, setNewChannelName] = useState(''); - const [newChannelType, setNewChannelType] = useState('text'); - const [editingChannel, setEditingChannel] = useState(null); - const [isScreenShareModalOpen, setIsScreenShareModalOpen] = useState(false); - const [collapsedCategories, setCollapsedCategories] = useState(() => { - const effectiveUserId = userId || localStorage.getItem('userId'); - return getUserPref(effectiveUserId, 'collapsedCategories', {}); - }); - useEffect(() => { - if (userId) { - setCollapsedCategories(getUserPref(userId, 'collapsedCategories', {})); - } - }, [userId]); - const [channelListContextMenu, setChannelListContextMenu] = useState(null); - const [voiceUserMenu, setVoiceUserMenu] = useState(null); - const [categoryContextMenu, setCategoryContextMenu] = useState(null); - const [editingCategoryId, setEditingCategoryId] = useState(null); - const [showCreateChannelModal, setShowCreateChannelModal] = useState(false); - const [showCreateCategoryModal, setShowCreateCategoryModal] = useState(false); - const [createChannelCategoryId, setCreateChannelCategoryId] = useState(null); - const [activeDragItem, setActiveDragItem] = useState(null); - const [dragOverChannelId, setDragOverChannelId] = useState(null); - const [voiceNicknameModal, setVoiceNicknameModal] = useState(null); - const [showMobileServerDrawer, setShowMobileServerDrawer] = useState(false); - const [showMobileCreateChannel, setShowMobileCreateChannel] = useState(false); - const [showMobileCreateCategory, setShowMobileCreateCategory] = useState(false); - const [mobileChannelDrawer, setMobileChannelDrawer] = useState(null); - const [showMobileChannelSettings, setShowMobileChannelSettings] = useState(null); +const Sidebar = ({ + channels, + categories, + activeChannel, + onSelectChannel, + username, + channelKeys, + view, + onViewChange, + onOpenDM, + activeDMChannel, + setActiveDMChannel, + dmChannels, + userId, + serverName = "Secure Chat", + serverIconUrl, + isMobile, + onStartCallWithUser, + onOpenMobileSearch, +}) => { + const { crypto, settings } = usePlatform(); + const [isCreating, setIsCreating] = useState(false); + const [isServerSettingsOpen, setIsServerSettingsOpen] = useState(false); + const [newChannelName, setNewChannelName] = useState(""); + const [newChannelType, setNewChannelType] = useState("text"); + const [editingChannel, setEditingChannel] = useState(null); + const [isScreenShareModalOpen, setIsScreenShareModalOpen] = useState(false); + const [collapsedCategories, setCollapsedCategories] = useState(() => { + const effectiveUserId = userId || localStorage.getItem("userId"); + return getUserPref(effectiveUserId, "collapsedCategories", {}); + }); + useEffect(() => { + if (userId) { + setCollapsedCategories(getUserPref(userId, "collapsedCategories", {})); + } + }, [userId]); + const [channelListContextMenu, setChannelListContextMenu] = useState(null); + const [voiceUserMenu, setVoiceUserMenu] = useState(null); + const [categoryContextMenu, setCategoryContextMenu] = useState(null); + const [editingCategoryId, setEditingCategoryId] = useState(null); + const [showCreateChannelModal, setShowCreateChannelModal] = useState(false); + const [showCreateCategoryModal, setShowCreateCategoryModal] = useState(false); + const [createChannelCategoryId, setCreateChannelCategoryId] = useState(null); + const [activeDragItem, setActiveDragItem] = useState(null); + const [dragOverChannelId, setDragOverChannelId] = useState(null); + const [voiceNicknameModal, setVoiceNicknameModal] = useState(null); + const [showMobileServerDrawer, setShowMobileServerDrawer] = useState(false); + const [showMobileCreateChannel, setShowMobileCreateChannel] = useState(false); + const [showMobileCreateCategory, setShowMobileCreateCategory] = useState(false); + const [mobileChannelDrawer, setMobileChannelDrawer] = useState(null); + const [showMobileChannelSettings, setShowMobileChannelSettings] = useState(null); - const convex = useConvex(); + const convex = useConvex(); - // Permissions for move_members gating - const myPermissions = useQuery( - api.roles.getMyPermissions, - userId ? { userId } : "skip" - ) || {}; + // Permissions for move_members gating + const myPermissions = useQuery(api.roles.getMyPermissions, userId ? { userId } : "skip") || {}; - // Member count for mobile server drawer - const allUsersForDrawer = useQuery(api.auth.getPublicKeys) || []; + // Member count for mobile server drawer + const allUsersForDrawer = useQuery(api.auth.getPublicKeys) || []; - // DnD sensors - const sensors = useSensors( - useSensor(PointerSensor, { activationConstraint: { distance: isMobile ? Infinity : 5 } }) + // DnD sensors + const sensors = useSensors( + useSensor(PointerSensor, { activationConstraint: { distance: isMobile ? Infinity : 5 } }), + ); + + // Unread tracking + const channelIds = React.useMemo( + () => [...channels.map((c) => c._id), ...dmChannels.map((dm) => dm.channel_id)], + [channels, dmChannels], + ); + const rawAllReadStates = useQuery(api.readState.getAllReadStates, userId ? { userId } : "skip"); + const rawLatestTimestamps = useQuery( + api.readState.getLatestMessageTimestamps, + channelIds.length > 0 ? { channelIds } : "skip", + ); + const allReadStates = rawAllReadStates || []; + const latestTimestamps = rawLatestTimestamps || []; + const unreadQueriesLoaded = rawAllReadStates !== undefined && rawLatestTimestamps !== undefined; + + const unreadChannels = React.useMemo(() => { + const set = new Set(); + const readMap = new Map(); + for (const rs of allReadStates) { + readMap.set(rs.channelId, rs.lastReadTimestamp); + } + for (const lt of latestTimestamps) { + const lastRead = readMap.get(lt.channelId); + if (lastRead === undefined || lt.latestTimestamp > lastRead) { + set.add(lt.channelId); + } + } + return set; + }, [allReadStates, latestTimestamps]); + + const unreadDMs = React.useMemo( + () => + dmChannels.filter( + (dm) => + unreadChannels.has(dm.channel_id) && + !(view === "me" && activeDMChannel?.channel_id === dm.channel_id), + ), + [dmChannels, unreadChannels, view, activeDMChannel], + ); + + const { + connectToVoice, + activeChannelId: voiceChannelId, + connectionState, + disconnectVoice, + activeChannelName: voiceChannelName, + voiceStates, + room, + activeSpeakers, + setScreenSharing, + isPersonallyMuted, + togglePersonalMute, + isMuted: selfMuted, + toggleMute, + serverMute, + disconnectUser, + isServerMuted, + serverSettings, + getUserVolume, + setUserVolume, + isReceivingScreenShareAudio, + } = useVoice(); + + const prevUnreadDMsRef = useRef(null); + + useEffect(() => { + if (!unreadQueriesLoaded) return; + + const currentIds = new Set( + dmChannels.filter((dm) => unreadChannels.has(dm.channel_id)).map((dm) => dm.channel_id), ); - // Unread tracking - const channelIds = React.useMemo(() => [ - ...channels.map(c => c._id), - ...dmChannels.map(dm => dm.channel_id) - ], [channels, dmChannels]); - const rawAllReadStates = useQuery( - api.readState.getAllReadStates, - userId ? { userId } : "skip" - ); - const rawLatestTimestamps = useQuery( - api.readState.getLatestMessageTimestamps, - channelIds.length > 0 ? { channelIds } : "skip" - ); - const allReadStates = rawAllReadStates || []; - const latestTimestamps = rawLatestTimestamps || []; - const unreadQueriesLoaded = rawAllReadStates !== undefined && rawLatestTimestamps !== undefined; + if (prevUnreadDMsRef.current === null) { + prevUnreadDMsRef.current = currentIds; + return; + } - const unreadChannels = React.useMemo(() => { - const set = new Set(); - const readMap = new Map(); - for (const rs of allReadStates) { - readMap.set(rs.channelId, rs.lastReadTimestamp); + for (const id of currentIds) { + if (!prevUnreadDMsRef.current.has(id)) { + if (!isReceivingScreenShareAudio) { + const audio = new Audio(PingSound); + audio.volume = 0.5; + audio.play().catch(() => {}); } - for (const lt of latestTimestamps) { - const lastRead = readMap.get(lt.channelId); - if (lastRead === undefined || lt.latestTimestamp > lastRead) { - set.add(lt.channelId); - } - } - return set; - }, [allReadStates, latestTimestamps]); + break; + } + } - const unreadDMs = React.useMemo(() => - dmChannels.filter(dm => - unreadChannels.has(dm.channel_id) && - !(view === 'me' && activeDMChannel?.channel_id === dm.channel_id) - ), - [dmChannels, unreadChannels, view, activeDMChannel] - ); + prevUnreadDMsRef.current = currentIds; + }, [dmChannels, unreadChannels, unreadQueriesLoaded, isReceivingScreenShareAudio]); - const { connectToVoice, activeChannelId: voiceChannelId, connectionState, disconnectVoice, activeChannelName: voiceChannelName, voiceStates, room, activeSpeakers, setScreenSharing, isPersonallyMuted, togglePersonalMute, isMuted: selfMuted, toggleMute, serverMute, disconnectUser, isServerMuted, serverSettings, getUserVolume, setUserVolume, isReceivingScreenShareAudio } = useVoice(); + const onRenameChannel = () => {}; - const prevUnreadDMsRef = useRef(null); + const onDeleteChannel = (id) => { + if (activeChannel === id) onSelectChannel(null); + }; - useEffect(() => { - if (!unreadQueriesLoaded) return; + const handleStartCreate = () => { + setIsCreating(true); + setNewChannelName(""); + setNewChannelType("text"); + }; - const currentIds = new Set( - dmChannels.filter(dm => unreadChannels.has(dm.channel_id)).map(dm => dm.channel_id) - ); + const handleSubmitCreate = async (e) => { + if (e) e.preventDefault(); - if (prevUnreadDMsRef.current === null) { - prevUnreadDMsRef.current = currentIds; - return; - } + if (!newChannelName.trim()) { + setIsCreating(false); + return; + } - for (const id of currentIds) { - if (!prevUnreadDMsRef.current.has(id)) { - if (!isReceivingScreenShareAudio) { - const audio = new Audio(PingSound); - audio.volume = 0.5; - audio.play().catch(() => {}); - } - break; - } - } + const name = newChannelName.trim(); + const userId = localStorage.getItem("userId"); - prevUnreadDMsRef.current = currentIds; - }, [dmChannels, unreadChannels, unreadQueriesLoaded, isReceivingScreenShareAudio]); + if (!userId) { + alert("Please login first."); + setIsCreating(false); + return; + } - const onRenameChannel = () => {}; + try { + const { id: channelId } = await convex.mutation(api.channels.create, { + name, + type: newChannelType, + }); + const keyHex = randomHex(32); - const onDeleteChannel = (id) => { - if (activeChannel === id) onSelectChannel(null); - }; + try { + await encryptKeyForUsers(convex, channelId, keyHex, crypto); + } catch (keyErr) { + console.error("Critical: Failed to distribute keys", keyErr); + alert("Channel created but key distribution failed."); + } + } catch (err) { + console.error(err); + alert("Failed to create channel: " + err.message); + } finally { + setIsCreating(false); + } + }; - const handleStartCreate = () => { - setIsCreating(true); - setNewChannelName(''); - setNewChannelType('text'); - }; + const handleCreateInvite = async () => { + const userId = localStorage.getItem("userId"); + if (!userId) { + alert("Error: No User ID found. Please login again."); + return; + } - const handleSubmitCreate = async (e) => { - if (e) e.preventDefault(); + const generalChannel = channels.find((c) => c.name === "general"); + const targetChannelId = generalChannel ? generalChannel._id : activeChannel; - if (!newChannelName.trim()) { - setIsCreating(false); - return; - } + if (!targetChannelId) { + alert("No channel selected."); + return; + } - const name = newChannelName.trim(); - const userId = localStorage.getItem('userId'); + const targetKey = channelKeys?.[targetChannelId]; - if (!userId) { - alert("Please login first."); - setIsCreating(false); - return; - } + if (!targetKey) { + alert("Error: You don't have the key for this channel yet, so you can't invite others."); + return; + } - try { - const { id: channelId } = await convex.mutation(api.channels.create, { name, type: newChannelType }); - const keyHex = randomHex(32); + try { + const inviteCode = globalThis.crypto.randomUUID(); + const inviteSecret = randomHex(32); - try { - await encryptKeyForUsers(convex, channelId, keyHex, crypto); - } catch (keyErr) { - console.error("Critical: Failed to distribute keys", keyErr); - alert("Channel created but key distribution failed."); - } - } catch (err) { - console.error(err); - alert("Failed to create channel: " + err.message); - } finally { - setIsCreating(false); - } - }; + const payload = JSON.stringify({ [targetChannelId]: targetKey }); + const encrypted = await crypto.encryptData(payload, inviteSecret); + const blob = JSON.stringify({ c: encrypted.content, t: encrypted.tag, iv: encrypted.iv }); - const handleCreateInvite = async () => { - const userId = localStorage.getItem('userId'); - if (!userId) { - alert("Error: No User ID found. Please login again."); - return; - } + await convex.mutation(api.invites.create, { + code: inviteCode, + encryptedPayload: blob, + createdBy: userId, + keyVersion: 1, + }); - const generalChannel = channels.find(c => c.name === 'general'); - const targetChannelId = generalChannel ? generalChannel._id : activeChannel; + const baseUrl = import.meta.env.VITE_APP_URL || window.location.origin; + const link = `${baseUrl}/#/register?code=${inviteCode}&key=${inviteSecret}`; + navigator.clipboard.writeText(link); + alert(`Invite Link Copied to Clipboard!\n\n${link}`); + } catch (e) { + console.error("Invite Error:", e); + alert("Failed to create invite. See console."); + } + }; - if (!targetChannelId) { - alert("No channel selected."); - return; - } + const handleScreenShareSelect = async (selection) => { + if (!room) return; - const targetKey = channelKeys?.[targetChannelId]; + try { + if (room.localParticipant.isScreenShareEnabled) { + await room.localParticipant.setScreenShareEnabled(false); + } - if (!targetKey) { - alert("Error: You don't have the key for this channel yet, so you can't invite others."); - return; - } - - try { - const inviteCode = crypto.randomUUID(); - const inviteSecret = randomHex(32); - - const payload = JSON.stringify({ [targetChannelId]: targetKey }); - const encrypted = await crypto.encryptData(payload, inviteSecret); - const blob = JSON.stringify({ c: encrypted.content, t: encrypted.tag, iv: encrypted.iv }); - - await convex.mutation(api.invites.create, { - code: inviteCode, - encryptedPayload: blob, - createdBy: userId, - keyVersion: 1 - }); - - const baseUrl = import.meta.env.VITE_APP_URL || window.location.origin; - const link = `${baseUrl}/#/register?code=${inviteCode}&key=${inviteSecret}`; - navigator.clipboard.writeText(link); - alert(`Invite Link Copied to Clipboard!\n\n${link}`); - } catch (e) { - console.error("Invite Error:", e); - alert("Failed to create invite. See console."); - } - }; - - const handleScreenShareSelect = async (selection) => { - if (!room) return; - - try { - if (room.localParticipant.isScreenShareEnabled) { - await room.localParticipant.setScreenShareEnabled(false); - } - - let stream; - try { - stream = await navigator.mediaDevices.getUserMedia(getScreenCaptureConstraints(selection)); - } catch (audioErr) { - // Audio capture may fail (e.g. macOS/Linux) — retry video-only - if (selection.shareAudio) { - console.warn("Audio capture failed, falling back to video-only:", audioErr.message); - stream = await navigator.mediaDevices.getUserMedia(getScreenCaptureConstraints({ ...selection, shareAudio: false })); - } else { - throw audioErr; - } - } - - const track = stream.getVideoTracks()[0]; - if (!track) return; - - await room.localParticipant.publishTrack(track, { - name: 'screen_share', - source: Track.Source.ScreenShare - }); - - // Publish audio track if present (system audio from desktop capture) - const audioTrack = stream.getAudioTracks()[0]; - if (audioTrack) { - await room.localParticipant.publishTrack(audioTrack, { - name: 'screen_share_audio', - source: Track.Source.ScreenShareAudio - }); - } - - if (!isReceivingScreenShareAudio) new Audio(screenShareStartSound).play(); - setScreenSharing(true); - - track.onended = () => { - // Clean up audio track when video track ends - if (audioTrack) { - audioTrack.stop(); - room.localParticipant.unpublishTrack(audioTrack); - } - setScreenSharing(false); - room.localParticipant.setScreenShareEnabled(false).catch(console.error); - }; - } catch (err) { - console.error("Error sharing screen:", err); - alert("Failed to share screen: " + err.message); - } - }; - - const handleScreenShareClick = () => { - if (room?.localParticipant.isScreenShareEnabled) { - // Clean up any screen share audio tracks before stopping - for (const pub of room.localParticipant.trackPublications.values()) { - const source = pub.source ? pub.source.toString().toLowerCase() : ''; - const name = pub.trackName ? pub.trackName.toLowerCase() : ''; - if (source === 'screen_share_audio' || name === 'screen_share_audio') { - if (pub.track) pub.track.stop(); - room.localParticipant.unpublishTrack(pub.track); - } - } - room.localParticipant.setScreenShareEnabled(false); - if (!isReceivingScreenShareAudio) new Audio(screenShareStopSound).play(); - setScreenSharing(false); + let stream; + try { + stream = await navigator.mediaDevices.getUserMedia(getScreenCaptureConstraints(selection)); + } catch (audioErr) { + // Audio capture may fail (e.g. macOS/Linux) — retry video-only + if (selection.shareAudio) { + console.warn("Audio capture failed, falling back to video-only:", audioErr.message); + stream = await navigator.mediaDevices.getUserMedia( + getScreenCaptureConstraints({ ...selection, shareAudio: false }), + ); } else { - setIsScreenShareModalOpen(true); + throw audioErr; } - }; + } - const handleChannelClick = (channel) => { - if (channel.type === 'voice') { - if (voiceChannelId !== channel._id) { - connectToVoice(channel._id, channel.name, localStorage.getItem('userId')); - } - onSelectChannel(channel._id); - } else { - onSelectChannel(channel._id); - } - }; + const track = stream.getVideoTracks()[0]; + if (!track) return; - // Long-press handler factory for mobile channel items - const createLongPressHandlers = (callback) => { - let timer = null; - let startX = 0; - let startY = 0; - let triggered = false; - return { - onTouchStart: (e) => { - triggered = false; - startX = e.touches[0].clientX; - startY = e.touches[0].clientY; - timer = setTimeout(() => { - triggered = true; - if (navigator.vibrate) navigator.vibrate(50); - callback(); - }, 500); - }, - onTouchMove: (e) => { - if (!timer) return; - const dx = e.touches[0].clientX - startX; - const dy = e.touches[0].clientY - startY; - if (Math.abs(dx) > 10 || Math.abs(dy) > 10) { - clearTimeout(timer); - timer = null; - } - }, - onTouchEnd: (e) => { - if (timer) { clearTimeout(timer); timer = null; } - if (triggered) { e.preventDefault(); triggered = false; } - }, - }; - }; + await room.localParticipant.publishTrack(track, { + name: "screen_share", + source: Track.Source.ScreenShare, + }); - const handleMarkAsRead = async (channelId) => { - if (!userId) return; - try { - await convex.mutation(api.readState.markRead, { - userId, - channelId, - lastReadTimestamp: Date.now(), - }); - } catch (e) { - console.error('Failed to mark as read:', e); - } - }; - - const renderDMView = () => ( -
- setActiveDMChannel(dm === 'friends' ? null : dm)} - onOpenDM={onOpenDM} - voiceStates={voiceStates} - /> -
- ); - - const renderVoiceUsers = (channel) => { - const users = voiceStates[channel._id]; - if (channel.type !== 'voice' || !users?.length) return null; - - return ( -
- {users.map(user => ( - -
{ - e.preventDefault(); - e.stopPropagation(); - window.dispatchEvent(new Event('close-context-menus')); - setVoiceUserMenu({ x: e.clientX, y: e.clientY, user }); - }} - > - - {user.displayName || user.username} -
- {user.isScreenSharing &&
Live
} - {user.isServerMuted ? ( - - ) : isPersonallyMuted(user.userId) ? ( - - ) : (user.isMuted || user.isDeafened) ? ( - - ) : null} - {user.isDeafened && ( - - )} -
-
-
- ))} -
- ); - }; - - const renderCollapsedVoiceUsers = (channel) => { - const users = voiceStates[channel._id]; - if (channel.type !== 'voice' || !users?.length) return null; - - return ( -
handleChannelClick(channel)} - style={{ position: 'relative', display: 'flex', alignItems: 'center', paddingRight: '8px' }} - > -
- -
-
- {users.map(user => ( -
- -
- ))} -
-
- ); - }; - - const toggleCategory = useCallback((cat) => { - setCollapsedCategories(prev => { - const next = { ...prev, [cat]: !prev[cat] }; - setUserPref(userId, 'collapsedCategories', next, settings); - return next; + // Publish audio track if present (system audio from desktop capture) + const audioTrack = stream.getAudioTracks()[0]; + if (audioTrack) { + await room.localParticipant.publishTrack(audioTrack, { + name: "screen_share_audio", + source: Track.Source.ScreenShareAudio, }); - }, [userId, settings]); + } - const handleAddChannelToCategory = useCallback((groupId) => { - setCreateChannelCategoryId(groupId === '__uncategorized__' ? null : groupId); - setShowCreateChannelModal(true); - }, []); + if (!isReceivingScreenShareAudio) new Audio(screenShareStartSound).play(); + setScreenSharing(true); - // Group channels by categoryId - const groupedChannels = React.useMemo(() => { - const groups = []; - const channelsByCategory = new Map(); - - channels.forEach(ch => { - const catId = ch.categoryId || '__uncategorized__'; - if (!channelsByCategory.has(catId)) channelsByCategory.set(catId, []); - channelsByCategory.get(catId).push(ch); - }); - - // Sort channels within each category by position - for (const [, list] of channelsByCategory) { - list.sort((a, b) => (a.position ?? 0) - (b.position ?? 0)); + track.onended = () => { + // Clean up audio track when video track ends + if (audioTrack) { + audioTrack.stop(); + room.localParticipant.unpublishTrack(audioTrack); } + setScreenSharing(false); + room.localParticipant.setScreenShareEnabled(false).catch(console.error); + }; + } catch (err) { + console.error("Error sharing screen:", err); + alert("Failed to share screen: " + err.message); + } + }; - // Add uncategorized at top - const uncategorized = channelsByCategory.get('__uncategorized__'); - if (uncategorized?.length) { - groups.push({ id: '__uncategorized__', name: 'Channels', channels: uncategorized }); + const handleScreenShareClick = () => { + if (room?.localParticipant.isScreenShareEnabled) { + // Clean up any screen share audio tracks before stopping + for (const pub of room.localParticipant.trackPublications.values()) { + const source = pub.source ? pub.source.toString().toLowerCase() : ""; + const name = pub.trackName ? pub.trackName.toLowerCase() : ""; + if (source === "screen_share_audio" || name === "screen_share_audio") { + if (pub.track) pub.track.stop(); + room.localParticipant.unpublishTrack(pub.track); } + } + room.localParticipant.setScreenShareEnabled(false); + if (!isReceivingScreenShareAudio) new Audio(screenShareStopSound).play(); + setScreenSharing(false); + } else { + setIsScreenShareModalOpen(true); + } + }; - // Add categories in position order - for (const cat of (categories || [])) { - groups.push({ id: cat._id, name: cat.name, channels: channelsByCategory.get(cat._id) || [] }); + const handleChannelClick = (channel) => { + if (channel.type === "voice") { + if (voiceChannelId !== channel._id) { + connectToVoice(channel._id, channel.name, localStorage.getItem("userId")); + } + onSelectChannel(channel._id); + } else { + onSelectChannel(channel._id); + } + }; + + // Long-press handler factory for mobile channel items + const createLongPressHandlers = (callback) => { + let timer = null; + let startX = 0; + let startY = 0; + let triggered = false; + return { + onTouchStart: (e) => { + triggered = false; + startX = e.touches[0].clientX; + startY = e.touches[0].clientY; + timer = setTimeout(() => { + triggered = true; + if (navigator.vibrate) navigator.vibrate(50); + callback(); + }, 500); + }, + onTouchMove: (e) => { + if (!timer) return; + const dx = e.touches[0].clientX - startX; + const dy = e.touches[0].clientY - startY; + if (Math.abs(dx) > 10 || Math.abs(dy) > 10) { + clearTimeout(timer); + timer = null; } - - return groups; - }, [channels, categories]); - - // DnD items - const categoryDndIds = React.useMemo(() => groupedChannels.map(g => `category-${g.id}`), [groupedChannels]); - - const handleDragStart = (event) => { - const { active } = event; - const activeType = active.data.current?.type; - if (activeType === 'category') { - const catId = active.id.replace('category-', ''); - const group = groupedChannels.find(g => g.id === catId); - setActiveDragItem({ type: 'category', name: group?.name || '' }); - } else if (activeType === 'channel') { - const chId = active.id.replace('channel-', ''); - const ch = channels.find(c => c._id === chId); - setActiveDragItem({ type: 'channel', channel: ch }); - } else if (activeType === 'voice-user') { - const targetUserId = active.data.current.userId; - const sourceChannelId = active.data.current.channelId; - const users = voiceStates[sourceChannelId]; - const user = users?.find(u => u.userId === targetUserId); - setActiveDragItem({ type: 'voice-user', user, sourceChannelId }); + }, + onTouchEnd: (e) => { + if (timer) { + clearTimeout(timer); + timer = null; } + if (triggered) { + e.preventDefault(); + triggered = false; + } + }, }; + }; - const handleDragOver = (event) => { - const { active, over } = event; - if (!active?.data.current || active.data.current.type !== 'voice-user') { - setDragOverChannelId(null); - return; - } - if (over) { - // Check if hovering over a voice channel (channel item or its DnD wrapper) - const overType = over.data.current?.type; - if (overType === 'channel') { - const chId = over.id.replace('channel-', ''); - const ch = channels.find(c => c._id === chId); - if (ch?.type === 'voice') { - setDragOverChannelId(ch._id); - return; - } - } - } - setDragOverChannelId(null); - }; + const handleMarkAsRead = async (channelId) => { + if (!userId) return; + try { + await convex.mutation(api.readState.markRead, { + userId, + channelId, + lastReadTimestamp: Date.now(), + }); + } catch (e) { + console.error("Failed to mark as read:", e); + } + }; - const handleDragEnd = async (event) => { - setActiveDragItem(null); - setDragOverChannelId(null); - const { active, over } = event; - if (!over || active.id === over.id) return; + const renderDMView = () => ( +
+ setActiveDMChannel(dm === "friends" ? null : dm)} + onOpenDM={onOpenDM} + voiceStates={voiceStates} + /> +
+ ); - const activeType = active.data.current?.type; - const overType = over.data.current?.type; - - // Handle voice-user drag - if (activeType === 'voice-user') { - if (overType !== 'channel') return; - const targetChId = over.id.replace('channel-', ''); - const targetChannel = channels.find(c => c._id === targetChId); - if (!targetChannel || targetChannel.type !== 'voice') return; - const sourceChannelId = active.data.current.channelId; - if (sourceChannelId === targetChId) return; - try { - await convex.mutation(api.voiceState.moveUser, { - actorUserId: userId, - targetUserId: active.data.current.userId, - targetChannelId: targetChId, - }); - } catch (e) { - console.error('Failed to move voice user:', e); - } - return; - } - - if (activeType === 'category' && overType === 'category') { - // Reorder categories - const oldIndex = groupedChannels.findIndex(g => `category-${g.id}` === active.id); - const newIndex = groupedChannels.findIndex(g => `category-${g.id}` === over.id); - if (oldIndex === -1 || newIndex === -1) return; - - // Build reordered array (only real categories, skip uncategorized) - const reordered = [...groupedChannels]; - const [moved] = reordered.splice(oldIndex, 1); - reordered.splice(newIndex, 0, moved); - - const updates = reordered - .filter(g => g.id !== '__uncategorized__') - .map((g, i) => ({ id: g.id, position: i * 1000 })); - - if (updates.length > 0) { - try { - await convex.mutation(api.categories.reorder, { updates }); - } catch (e) { - console.error('Failed to reorder categories:', e); - } - } - } else if (activeType === 'channel') { - const activeChId = active.id.replace('channel-', ''); - - if (overType === 'channel') { - const overChId = over.id.replace('channel-', ''); - const activeChannel = channels.find(c => c._id === activeChId); - const overChannel = channels.find(c => c._id === overChId); - if (!activeChannel || !overChannel) return; - - const targetCategoryId = overChannel.categoryId; - const targetGroup = groupedChannels.find(g => g.id === (targetCategoryId || '__uncategorized__')); - if (!targetGroup) return; - - // Build new order for the target category - const targetChannels = [...targetGroup.channels]; - - // Remove active channel if it's already in this category - const existingIdx = targetChannels.findIndex(c => c._id === activeChId); - if (existingIdx !== -1) targetChannels.splice(existingIdx, 1); - - // Insert at the position of the over channel - const overIdx = targetChannels.findIndex(c => c._id === overChId); - targetChannels.splice(overIdx, 0, activeChannel); - - const updates = targetChannels.map((ch, i) => ({ - id: ch._id, - categoryId: targetCategoryId, - position: i * 1000, - })); - - try { - await convex.mutation(api.channels.reorderChannels, { updates }); - } catch (e) { - console.error('Failed to reorder channels:', e); - } - } else if (overType === 'category') { - // Drop channel onto a category header — move it to end of that category - const targetCatId = over.id.replace('category-', ''); - const targetCategoryId = targetCatId === '__uncategorized__' ? undefined : targetCatId; - const targetGroup = groupedChannels.find(g => g.id === targetCatId); - const maxPos = (targetGroup?.channels || []).reduce((max, c) => Math.max(max, c.position ?? 0), -1000); - - try { - await convex.mutation(api.channels.moveChannel, { - id: activeChId, - categoryId: targetCategoryId, - position: maxPos + 1000, - }); - } catch (e) { - console.error('Failed to move channel:', e); - } - } - } - }; - - const renderServerView = () => ( -
-
- isMobile ? setShowMobileServerDrawer(true) : setIsServerSettingsOpen(true)}> - {serverName} - {isMobile && ( - - - - )} - - {!isMobile && ( - - )} -
- {isMobile && ( -
- - -
- )} - -
{ - if (!e.target.closest('.channel-item') && !e.target.closest('.channel-category-header')) { - e.preventDefault(); - window.dispatchEvent(new Event('close-context-menus')); - setChannelListContextMenu({ x: e.clientX, y: e.clientY }); - } - }}> - {isCreating && ( -
-
-
- - -
- setNewChannelName(e.target.value)} - style={{ - width: '100%', - background: 'var(--bg-tertiary)', - border: '1px solid var(--brand-experiment)', - borderRadius: '4px', - color: 'var(--text-normal)', - padding: '4px 8px', - fontSize: '14px', - outline: 'none' - }} - /> -
-
- Press Enter to Create {newChannelType === 'voice' && '(Voice)'} -
-
- )} - - - - {groupedChannels.map(group => { - const channelDndIds = group.channels.map(ch => `channel-${ch._id}`); - return ( - - { - e.preventDefault(); - e.stopPropagation(); - window.dispatchEvent(new Event('close-context-menus')); - setCategoryContextMenu({ x: e.clientX, y: e.clientY, categoryId: group.id, categoryName: group.name }); - } : undefined} - isEditing={editingCategoryId === group.id} - onRenameSubmit={async (newName) => { - if (newName && newName !== group.name) { - await convex.mutation(api.categories.rename, { id: group.id, name: newName }); - } - setEditingCategoryId(null); - }} - onRenameCancel={() => setEditingCategoryId(null)} - /> - {(() => { - const isCollapsed = collapsedCategories[group.id]; - const visibleChannels = isCollapsed - ? group.channels.filter(ch => - ch._id === activeChannel || - (ch.type === 'voice' && voiceStates[ch._id]?.length > 0) - ) - : group.channels; - if (visibleChannels.length === 0) return null; - const visibleDndIds = visibleChannels.map(ch => `channel-${ch._id}`); - return ( - - {visibleChannels.map(channel => { - const isUnread = activeChannel !== channel._id && unreadChannels.has(channel._id); - return ( - - {(channelDragListeners) => ( - - {!(isCollapsed && channel.type === 'voice' && voiceStates[channel._id]?.length > 0) &&
handleChannelClick(channel)} - {...channelDragListeners} - {...(isMobile ? createLongPressHandlers(() => setMobileChannelDrawer(channel)) : {})} - style={{ - position: 'relative', - display: 'flex', - justifyContent: 'space-between', - alignItems: 'center', - paddingRight: '8px' - }} - > - {isUnread &&
} -
- {channel.type === 'voice' ? ( -
- 0 ? VOICE_ACTIVE_COLOR : "var(--interactive-normal)"} - /> -
- ) : ( - # - )} - - {channel.name}{serverSettings?.afkChannelId === channel._id ? ' (AFK)' : ''} - -
- - {!isMobile && ( - - )} -
} - {isCollapsed - ? renderCollapsedVoiceUsers(channel) - : renderVoiceUsers(channel)} - - )} - - ); - })} - - ); - })()} - - ); - })} - - - - {activeDragItem?.type === 'channel' && activeDragItem.channel && ( -
- {activeDragItem.channel.type === 'voice' ? ( - - ) : ( - # - )} - {activeDragItem.channel.name} -
- )} - {activeDragItem?.type === 'category' && ( -
- {activeDragItem.name} -
- )} - {activeDragItem?.type === 'voice-user' && activeDragItem.user && ( -
- - {activeDragItem.user.username} -
- )} -
- -
-
- ); + const renderVoiceUsers = (channel) => { + const users = voiceStates[channel._id]; + if (channel.type !== "voice" || !users?.length) return null; return ( -
-
-
-
-
- -
onViewChange('me')} - style={{ - backgroundColor: view === 'me' ? 'var(--brand-experiment)' : 'var(--bg-primary)', - color: view === 'me' ? '#fff' : 'var(--text-normal)', - cursor: 'pointer' - }} - > - - - -
-
-
- - {unreadDMs.map(dm => ( -
-
- -
{ - setActiveDMChannel(dm); - onViewChange('me'); - }} - > - -
-
- -
- ))} - -
- -
-
- -
onViewChange('server')} - style={{ cursor: 'pointer' }} - > - {serverIconUrl ? ( - {serverName} - ) : ( - serverName.substring(0, 2) - )} -
-
-
-
- - {view === 'me' ? renderDMView() : renderServerView()} +
+ {users.map((user) => ( + +
{ + e.preventDefault(); + e.stopPropagation(); + window.dispatchEvent(new Event("close-context-menus")); + setVoiceUserMenu({ x: e.clientX, y: e.clientY, user }); + }} + > + + + {user.displayName || user.username} + +
+ {user.isScreenSharing &&
Live
} + {user.isServerMuted ? ( + + ) : isPersonallyMuted(user.userId) ? ( + + ) : user.isMuted || user.isDeafened ? ( + + ) : null} + {user.isDeafened && ( + + )} +
- - {(connectionState === 'connected' || connectionState === 'connecting') && ( -
-
-
- - - - - - -
- {connectionState === 'connected' ? 'Voice Connected' : 'Voice Connecting'} -
-
- -
-
{dmChannels?.some(dm => dm.channel_id === voiceChannelId) ? `Call with ${voiceChannelName}` : `${voiceChannelName} / ${serverName}`}
- {connectionState === 'connected' && ( - <> -
-
- - -
- - )} -
- )} - - - - {editingChannel && !isMobile && ( - setEditingChannel(null)} - onRename={onRenameChannel} - onDelete={onDeleteChannel} - /> - )} - {isServerSettingsOpen && ( - setIsServerSettingsOpen(false)} /> - )} - {showMobileServerDrawer && ( - setIsServerSettingsOpen(true)} - onCreateChannel={() => { setCreateChannelCategoryId(null); setShowMobileCreateChannel(true); }} - onCreateCategory={() => setShowMobileCreateCategory(true)} - onClose={() => setShowMobileServerDrawer(false)} - /> - )} - {isScreenShareModalOpen && ( - setIsScreenShareModalOpen(false)} - onSelectSource={handleScreenShareSelect} - /> - )} - {channelListContextMenu && ( - setChannelListContextMenu(null)} - onCreateChannel={() => { - setCreateChannelCategoryId(null); - setShowCreateChannelModal(true); - }} - onCreateCategory={() => setShowCreateCategoryModal(true)} - /> - )} - {categoryContextMenu && ( - setCategoryContextMenu(null)} - onEdit={() => { - setEditingCategoryId(categoryContextMenu.categoryId); - setCategoryContextMenu(null); - }} - onDelete={async () => { - const categoryId = categoryContextMenu.categoryId; - const categoryName = categoryContextMenu.categoryName; - setCategoryContextMenu(null); - if (window.confirm(`Are you sure you want to delete "${categoryName}"? Channels in this category will become uncategorized.`)) { - await convex.mutation(api.categories.remove, { id: categoryId }); - } - }} - /> - )} - {voiceUserMenu && ( - setVoiceUserMenu(null)} - isSelf={voiceUserMenu.user.userId === userId} - isMuted={voiceUserMenu.user.userId === userId ? selfMuted : isPersonallyMuted(voiceUserMenu.user.userId)} - onMute={() => voiceUserMenu.user.userId === userId ? toggleMute() : togglePersonalMute(voiceUserMenu.user.userId)} - isServerMuted={isServerMuted(voiceUserMenu.user.userId)} - onServerMute={() => serverMute(voiceUserMenu.user.userId, !isServerMuted(voiceUserMenu.user.userId))} - hasPermission={!!myPermissions.mute_members} - onDisconnect={() => disconnectUser(voiceUserMenu.user.userId)} - hasDisconnectPermission={!!myPermissions.move_members} - onMessage={() => { - onOpenDM(voiceUserMenu.user.userId, voiceUserMenu.user.displayName || voiceUserMenu.user.username); - onViewChange('me'); - }} - userVolume={getUserVolume(voiceUserMenu.user.userId)} - onVolumeChange={(vol) => setUserVolume(voiceUserMenu.user.userId, vol)} - showNicknameOption={voiceUserMenu.user.userId === userId || !!myPermissions.manage_nicknames} - onChangeNickname={() => setVoiceNicknameModal(voiceUserMenu.user)} - onStartCall={() => { - if (onStartCallWithUser) onStartCallWithUser(voiceUserMenu.user.userId, voiceUserMenu.user.displayName || voiceUserMenu.user.username); - }} - /> - )} - {voiceNicknameModal && ( - setVoiceNicknameModal(null)} - /> - )} - {showCreateChannelModal && ( - setShowCreateChannelModal(false)} - onSubmit={async (name, type, catId) => { - const userId = localStorage.getItem('userId'); - if (!userId) { alert("Please login first."); return; } - try { - const createArgs = { name, type }; - if (catId) createArgs.categoryId = catId; - const { id: channelId } = await convex.mutation(api.channels.create, createArgs); - const keyHex = randomHex(32); - try { await encryptKeyForUsers(convex, channelId, keyHex, crypto); } - catch (keyErr) { console.error("Critical: Failed to distribute keys", keyErr); alert("Channel created but key distribution failed."); } - } catch (err) { console.error(err); alert("Failed to create channel: " + err.message); } - }} - /> - )} - {showCreateCategoryModal && ( - setShowCreateCategoryModal(false)} - onSubmit={async (name) => { - try { - await convex.mutation(api.categories.create, { name }); - } catch (err) { - console.error(err); - alert("Failed to create category: " + err.message); - } - }} - /> - )} - {showMobileCreateChannel && ( - setShowMobileCreateChannel(false)} - onSubmit={async (name, type, catId) => { - const userId = localStorage.getItem('userId'); - if (!userId) { alert("Please login first."); return; } - try { - const createArgs = { name, type }; - if (catId) createArgs.categoryId = catId; - const { id: channelId } = await convex.mutation(api.channels.create, createArgs); - const keyHex = randomHex(32); - try { await encryptKeyForUsers(convex, channelId, keyHex, crypto); } - catch (keyErr) { console.error("Critical: Failed to distribute keys", keyErr); alert("Channel created but key distribution failed."); } - } catch (err) { console.error(err); alert("Failed to create channel: " + err.message); } - }} - /> - )} - {showMobileCreateCategory && ( - setShowMobileCreateCategory(false)} - onSubmit={async (name) => { - try { - await convex.mutation(api.categories.create, { name }); - } catch (err) { - console.error(err); - alert("Failed to create category: " + err.message); - } - }} - /> - )} - {mobileChannelDrawer && ( - handleMarkAsRead(mobileChannelDrawer._id)} - onEditChannel={() => setShowMobileChannelSettings(mobileChannelDrawer)} - onClose={() => setMobileChannelDrawer(null)} - /> - )} - {showMobileChannelSettings && ( - setShowMobileChannelSettings(null)} - onDelete={onDeleteChannel} - /> - )} -
+ + ))} +
); + }; + + const renderCollapsedVoiceUsers = (channel) => { + const users = voiceStates[channel._id]; + if (channel.type !== "voice" || !users?.length) return null; + + return ( +
handleChannelClick(channel)} + style={{ position: "relative", display: "flex", alignItems: "center", paddingRight: "8px" }} + > +
+ +
+
+ {users.map((user) => ( +
+ +
+ ))} +
+
+ ); + }; + + const toggleCategory = useCallback( + (cat) => { + setCollapsedCategories((prev) => { + const next = { ...prev, [cat]: !prev[cat] }; + setUserPref(userId, "collapsedCategories", next, settings); + return next; + }); + }, + [userId, settings], + ); + + const handleAddChannelToCategory = useCallback((groupId) => { + setCreateChannelCategoryId(groupId === "__uncategorized__" ? null : groupId); + setShowCreateChannelModal(true); + }, []); + + // Group channels by categoryId + const groupedChannels = React.useMemo(() => { + const groups = []; + const channelsByCategory = new Map(); + + channels.forEach((ch) => { + const catId = ch.categoryId || "__uncategorized__"; + if (!channelsByCategory.has(catId)) channelsByCategory.set(catId, []); + channelsByCategory.get(catId).push(ch); + }); + + // Sort channels within each category by position + for (const [, list] of channelsByCategory) { + list.sort((a, b) => (a.position ?? 0) - (b.position ?? 0)); + } + + // Add uncategorized at top + const uncategorized = channelsByCategory.get("__uncategorized__"); + if (uncategorized?.length) { + groups.push({ id: "__uncategorized__", name: "Channels", channels: uncategorized }); + } + + // Add categories in position order + for (const cat of categories || []) { + groups.push({ id: cat._id, name: cat.name, channels: channelsByCategory.get(cat._id) || [] }); + } + + return groups; + }, [channels, categories]); + + // DnD items + const categoryDndIds = React.useMemo( + () => groupedChannels.map((g) => `category-${g.id}`), + [groupedChannels], + ); + + const handleDragStart = (event) => { + const { active } = event; + const activeType = active.data.current?.type; + if (activeType === "category") { + const catId = active.id.replace("category-", ""); + const group = groupedChannels.find((g) => g.id === catId); + setActiveDragItem({ type: "category", name: group?.name || "" }); + } else if (activeType === "channel") { + const chId = active.id.replace("channel-", ""); + const ch = channels.find((c) => c._id === chId); + setActiveDragItem({ type: "channel", channel: ch }); + } else if (activeType === "voice-user") { + const targetUserId = active.data.current.userId; + const sourceChannelId = active.data.current.channelId; + const users = voiceStates[sourceChannelId]; + const user = users?.find((u) => u.userId === targetUserId); + setActiveDragItem({ type: "voice-user", user, sourceChannelId }); + } + }; + + const handleDragOver = (event) => { + const { active, over } = event; + if (!active?.data.current || active.data.current.type !== "voice-user") { + setDragOverChannelId(null); + return; + } + if (over) { + // Check if hovering over a voice channel (channel item or its DnD wrapper) + const overType = over.data.current?.type; + if (overType === "channel") { + const chId = over.id.replace("channel-", ""); + const ch = channels.find((c) => c._id === chId); + if (ch?.type === "voice") { + setDragOverChannelId(ch._id); + return; + } + } + } + setDragOverChannelId(null); + }; + + const handleDragEnd = async (event) => { + setActiveDragItem(null); + setDragOverChannelId(null); + const { active, over } = event; + if (!over || active.id === over.id) return; + + const activeType = active.data.current?.type; + const overType = over.data.current?.type; + + // Handle voice-user drag + if (activeType === "voice-user") { + if (overType !== "channel") return; + const targetChId = over.id.replace("channel-", ""); + const targetChannel = channels.find((c) => c._id === targetChId); + if (!targetChannel || targetChannel.type !== "voice") return; + const sourceChannelId = active.data.current.channelId; + if (sourceChannelId === targetChId) return; + try { + await convex.mutation(api.voiceState.moveUser, { + actorUserId: userId, + targetUserId: active.data.current.userId, + targetChannelId: targetChId, + }); + } catch (e) { + console.error("Failed to move voice user:", e); + } + return; + } + + if (activeType === "category" && overType === "category") { + // Reorder categories + const oldIndex = groupedChannels.findIndex((g) => `category-${g.id}` === active.id); + const newIndex = groupedChannels.findIndex((g) => `category-${g.id}` === over.id); + if (oldIndex === -1 || newIndex === -1) return; + + // Build reordered array (only real categories, skip uncategorized) + const reordered = [...groupedChannels]; + const [moved] = reordered.splice(oldIndex, 1); + reordered.splice(newIndex, 0, moved); + + const updates = reordered + .filter((g) => g.id !== "__uncategorized__") + .map((g, i) => ({ id: g.id, position: i * 1000 })); + + if (updates.length > 0) { + try { + await convex.mutation(api.categories.reorder, { updates }); + } catch (e) { + console.error("Failed to reorder categories:", e); + } + } + } else if (activeType === "channel") { + const activeChId = active.id.replace("channel-", ""); + + if (overType === "channel") { + const overChId = over.id.replace("channel-", ""); + const activeChannel = channels.find((c) => c._id === activeChId); + const overChannel = channels.find((c) => c._id === overChId); + if (!activeChannel || !overChannel) return; + + const targetCategoryId = overChannel.categoryId; + const targetGroup = groupedChannels.find( + (g) => g.id === (targetCategoryId || "__uncategorized__"), + ); + if (!targetGroup) return; + + // Build new order for the target category + const targetChannels = [...targetGroup.channels]; + + // Remove active channel if it's already in this category + const existingIdx = targetChannels.findIndex((c) => c._id === activeChId); + if (existingIdx !== -1) targetChannels.splice(existingIdx, 1); + + // Insert at the position of the over channel + const overIdx = targetChannels.findIndex((c) => c._id === overChId); + targetChannels.splice(overIdx, 0, activeChannel); + + const updates = targetChannels.map((ch, i) => ({ + id: ch._id, + categoryId: targetCategoryId, + position: i * 1000, + })); + + try { + await convex.mutation(api.channels.reorderChannels, { updates }); + } catch (e) { + console.error("Failed to reorder channels:", e); + } + } else if (overType === "category") { + // Drop channel onto a category header — move it to end of that category + const targetCatId = over.id.replace("category-", ""); + const targetCategoryId = targetCatId === "__uncategorized__" ? undefined : targetCatId; + const targetGroup = groupedChannels.find((g) => g.id === targetCatId); + const maxPos = (targetGroup?.channels || []).reduce( + (max, c) => Math.max(max, c.position ?? 0), + -1000, + ); + + try { + await convex.mutation(api.channels.moveChannel, { + id: activeChId, + categoryId: targetCategoryId, + position: maxPos + 1000, + }); + } catch (e) { + console.error("Failed to move channel:", e); + } + } + } + }; + + const renderServerView = () => ( +
+
+ + isMobile ? setShowMobileServerDrawer(true) : setIsServerSettingsOpen(true) + } + > + {serverName} + {isMobile && ( + + + + )} + + {!isMobile && ( + + )} +
+ {isMobile && ( +
+ + +
+ )} + +
{ + if ( + !e.target.closest(".channel-item") && + !e.target.closest(".channel-category-header") + ) { + e.preventDefault(); + window.dispatchEvent(new Event("close-context-menus")); + setChannelListContextMenu({ x: e.clientX, y: e.clientY }); + } + } + } + > + {isCreating && ( +
+
+
+ + +
+ setNewChannelName(e.target.value)} + style={{ + width: "100%", + background: "var(--bg-tertiary)", + border: "1px solid var(--brand-experiment)", + borderRadius: "4px", + color: "var(--text-normal)", + padding: "4px 8px", + fontSize: "14px", + outline: "none", + }} + /> +
+
+ Press Enter to Create {newChannelType === "voice" && "(Voice)"} +
+
+ )} + + + + {groupedChannels.map((group) => { + const channelDndIds = group.channels.map((ch) => `channel-${ch._id}`); + return ( + + { + e.preventDefault(); + e.stopPropagation(); + window.dispatchEvent(new Event("close-context-menus")); + setCategoryContextMenu({ + x: e.clientX, + y: e.clientY, + categoryId: group.id, + categoryName: group.name, + }); + } + : undefined + } + isEditing={editingCategoryId === group.id} + onRenameSubmit={async (newName) => { + if (newName && newName !== group.name) { + await convex.mutation(api.categories.rename, { + id: group.id, + name: newName, + }); + } + setEditingCategoryId(null); + }} + onRenameCancel={() => setEditingCategoryId(null)} + /> + {(() => { + const isCollapsed = collapsedCategories[group.id]; + const visibleChannels = isCollapsed + ? group.channels.filter( + (ch) => + ch._id === activeChannel || + (ch.type === "voice" && voiceStates[ch._id]?.length > 0), + ) + : group.channels; + if (visibleChannels.length === 0) return null; + const visibleDndIds = visibleChannels.map((ch) => `channel-${ch._id}`); + return ( + + {visibleChannels.map((channel) => { + const isUnread = + activeChannel !== channel._id && unreadChannels.has(channel._id); + return ( + + {(channelDragListeners) => ( + + {!( + isCollapsed && + channel.type === "voice" && + voiceStates[channel._id]?.length > 0 + ) && ( +
handleChannelClick(channel)} + {...channelDragListeners} + {...(isMobile + ? createLongPressHandlers(() => + setMobileChannelDrawer(channel), + ) + : {})} + style={{ + position: "relative", + display: "flex", + justifyContent: "space-between", + alignItems: "center", + paddingRight: "8px", + }} + > + {isUnread &&
} +
+ {channel.type === "voice" ? ( +
+ 0 + ? VOICE_ACTIVE_COLOR + : "var(--interactive-normal)" + } + /> +
+ ) : ( + + # + + )} + + {channel.name} + {serverSettings?.afkChannelId === channel._id + ? " (AFK)" + : ""} + +
+ + {!isMobile && ( + + )} +
+ )} + {isCollapsed + ? renderCollapsedVoiceUsers(channel) + : renderVoiceUsers(channel)} + + )} + + ); + })} + + ); + })()} + + ); + })} + + + + {activeDragItem?.type === "channel" && activeDragItem.channel && ( +
+ {activeDragItem.channel.type === "voice" ? ( + + ) : ( + # + )} + {activeDragItem.channel.name} +
+ )} + {activeDragItem?.type === "category" && ( +
{activeDragItem.name}
+ )} + {activeDragItem?.type === "voice-user" && activeDragItem.user && ( +
+ + {activeDragItem.user.username} +
+ )} +
+ +
+
+ ); + + return ( +
+
+
+
+
+ +
onViewChange("me")} + style={{ + backgroundColor: view === "me" ? "var(--brand-experiment)" : "var(--bg-primary)", + color: view === "me" ? "#fff" : "var(--text-normal)", + cursor: "pointer", + }} + > + + + +
+
+
+ + {unreadDMs.map((dm) => ( +
+
+ +
{ + setActiveDMChannel(dm); + onViewChange("me"); + }} + > + +
+
+ +
+ ))} + +
+ +
+
+ +
onViewChange("server")} + style={{ cursor: "pointer" }} + > + {serverIconUrl ? ( + {serverName} + ) : ( + serverName.substring(0, 2) + )} +
+
+
+
+ + {view === "me" ? renderDMView() : renderServerView()} +
+ + {(connectionState === "connected" || connectionState === "connecting") && ( +
+
+
+ + + + + + +
+ {connectionState === "connected" ? "Voice Connected" : "Voice Connecting"} +
+
+ +
+
+ {dmChannels?.some((dm) => dm.channel_id === voiceChannelId) + ? `Call with ${voiceChannelName}` + : `${voiceChannelName} / ${serverName}`} +
+ {connectionState === "connected" && ( + <> +
+ +
+
+ + +
+ + )} +
+ )} + + + + {editingChannel && !isMobile && ( + setEditingChannel(null)} + onRename={onRenameChannel} + onDelete={onDeleteChannel} + /> + )} + {isServerSettingsOpen && ( + setIsServerSettingsOpen(false)} /> + )} + {showMobileServerDrawer && ( + setIsServerSettingsOpen(true)} + onCreateChannel={() => { + setCreateChannelCategoryId(null); + setShowMobileCreateChannel(true); + }} + onCreateCategory={() => setShowMobileCreateCategory(true)} + onClose={() => setShowMobileServerDrawer(false)} + /> + )} + {isScreenShareModalOpen && ( + setIsScreenShareModalOpen(false)} + onSelectSource={handleScreenShareSelect} + /> + )} + {channelListContextMenu && ( + setChannelListContextMenu(null)} + onCreateChannel={() => { + setCreateChannelCategoryId(null); + setShowCreateChannelModal(true); + }} + onCreateCategory={() => setShowCreateCategoryModal(true)} + /> + )} + {categoryContextMenu && ( + setCategoryContextMenu(null)} + onEdit={() => { + setEditingCategoryId(categoryContextMenu.categoryId); + setCategoryContextMenu(null); + }} + onDelete={async () => { + const categoryId = categoryContextMenu.categoryId; + const categoryName = categoryContextMenu.categoryName; + setCategoryContextMenu(null); + if ( + window.confirm( + `Are you sure you want to delete "${categoryName}"? Channels in this category will become uncategorized.`, + ) + ) { + await convex.mutation(api.categories.remove, { id: categoryId }); + } + }} + /> + )} + {voiceUserMenu && ( + setVoiceUserMenu(null)} + isSelf={voiceUserMenu.user.userId === userId} + isMuted={ + voiceUserMenu.user.userId === userId + ? selfMuted + : isPersonallyMuted(voiceUserMenu.user.userId) + } + onMute={() => + voiceUserMenu.user.userId === userId + ? toggleMute() + : togglePersonalMute(voiceUserMenu.user.userId) + } + isServerMuted={isServerMuted(voiceUserMenu.user.userId)} + onServerMute={() => + serverMute(voiceUserMenu.user.userId, !isServerMuted(voiceUserMenu.user.userId)) + } + hasPermission={!!myPermissions.mute_members} + onDisconnect={() => disconnectUser(voiceUserMenu.user.userId)} + hasDisconnectPermission={!!myPermissions.move_members} + onMessage={() => { + onOpenDM( + voiceUserMenu.user.userId, + voiceUserMenu.user.displayName || voiceUserMenu.user.username, + ); + onViewChange("me"); + }} + userVolume={getUserVolume(voiceUserMenu.user.userId)} + onVolumeChange={(vol) => setUserVolume(voiceUserMenu.user.userId, vol)} + showNicknameOption={ + voiceUserMenu.user.userId === userId || !!myPermissions.manage_nicknames + } + onChangeNickname={() => setVoiceNicknameModal(voiceUserMenu.user)} + onStartCall={() => { + if (onStartCallWithUser) + onStartCallWithUser( + voiceUserMenu.user.userId, + voiceUserMenu.user.displayName || voiceUserMenu.user.username, + ); + }} + /> + )} + {voiceNicknameModal && ( + setVoiceNicknameModal(null)} + /> + )} + {showCreateChannelModal && ( + setShowCreateChannelModal(false)} + onSubmit={async (name, type, catId) => { + const userId = localStorage.getItem("userId"); + if (!userId) { + alert("Please login first."); + return; + } + try { + const createArgs = { name, type }; + if (catId) createArgs.categoryId = catId; + const { id: channelId } = await convex.mutation(api.channels.create, createArgs); + const keyHex = randomHex(32); + try { + await encryptKeyForUsers(convex, channelId, keyHex, crypto); + } catch (keyErr) { + console.error("Critical: Failed to distribute keys", keyErr); + alert("Channel created but key distribution failed."); + } + } catch (err) { + console.error(err); + alert("Failed to create channel: " + err.message); + } + }} + /> + )} + {showCreateCategoryModal && ( + setShowCreateCategoryModal(false)} + onSubmit={async (name) => { + try { + await convex.mutation(api.categories.create, { name }); + } catch (err) { + console.error(err); + alert("Failed to create category: " + err.message); + } + }} + /> + )} + {showMobileCreateChannel && ( + setShowMobileCreateChannel(false)} + onSubmit={async (name, type, catId) => { + const userId = localStorage.getItem("userId"); + if (!userId) { + alert("Please login first."); + return; + } + try { + const createArgs = { name, type }; + if (catId) createArgs.categoryId = catId; + const { id: channelId } = await convex.mutation(api.channels.create, createArgs); + const keyHex = randomHex(32); + try { + await encryptKeyForUsers(convex, channelId, keyHex, crypto); + } catch (keyErr) { + console.error("Critical: Failed to distribute keys", keyErr); + alert("Channel created but key distribution failed."); + } + } catch (err) { + console.error(err); + alert("Failed to create channel: " + err.message); + } + }} + /> + )} + {showMobileCreateCategory && ( + setShowMobileCreateCategory(false)} + onSubmit={async (name) => { + try { + await convex.mutation(api.categories.create, { name }); + } catch (err) { + console.error(err); + alert("Failed to create category: " + err.message); + } + }} + /> + )} + {mobileChannelDrawer && ( + handleMarkAsRead(mobileChannelDrawer._id)} + onEditChannel={() => setShowMobileChannelSettings(mobileChannelDrawer)} + onClose={() => setMobileChannelDrawer(null)} + /> + )} + {showMobileChannelSettings && ( + setShowMobileChannelSettings(null)} + onDelete={onDeleteChannel} + /> + )} +
+ ); }; // Category header component (extracted for DnD drag handle) -const CategoryHeader = React.memo(({ group, groupId, collapsed, onToggle, onAddChannel, dragListeners, onContextMenu, isEditing, onRenameSubmit, onRenameCancel }) => { +const CategoryHeader = React.memo( + ({ + group, + groupId, + collapsed, + onToggle, + onAddChannel, + dragListeners, + onContextMenu, + isEditing, + onRenameSubmit, + onRenameCancel, + }) => { const [editName, setEditName] = useState(group.name); const inputRef = useRef(null); useEffect(() => { - if (isEditing && inputRef.current) { - inputRef.current.focus(); - inputRef.current.select(); - } + if (isEditing && inputRef.current) { + inputRef.current.focus(); + inputRef.current.select(); + } }, [isEditing]); useEffect(() => { - setEditName(group.name); + setEditName(group.name); }, [group.name, isEditing]); return ( -
!isEditing && onToggle(groupId)} onContextMenu={onContextMenu} {...(dragListeners || {})}> - {isEditing ? ( - setEditName(e.target.value)} - onKeyDown={(e) => { - if (e.key === 'Enter') { e.preventDefault(); onRenameSubmit(editName.trim()); } - if (e.key === 'Escape') { e.preventDefault(); onRenameCancel(); } - }} - onBlur={() => onRenameCancel()} - onClick={(e) => e.stopPropagation()} - style={{ - background: 'var(--bg-tertiary)', - border: '1px solid var(--brand-experiment)', - borderRadius: '2px', - color: 'var(--text-normal)', - fontSize: '12px', - fontWeight: 600, - textTransform: 'uppercase', - padding: '1px 4px', - outline: 'none', - width: '100%', - letterSpacing: '.02em', - }} - /> - ) : ( - {group.name} - )} -
- -
- +
!isEditing && onToggle(groupId)} + onContextMenu={onContextMenu} + {...(dragListeners || {})} + > + {isEditing ? ( + setEditName(e.target.value)} + onKeyDown={(e) => { + if (e.key === "Enter") { + e.preventDefault(); + onRenameSubmit(editName.trim()); + } + if (e.key === "Escape") { + e.preventDefault(); + onRenameCancel(); + } + }} + onBlur={() => onRenameCancel()} + onClick={(e) => e.stopPropagation()} + style={{ + background: "var(--bg-tertiary)", + border: "1px solid var(--brand-experiment)", + borderRadius: "2px", + color: "var(--text-normal)", + fontSize: "12px", + fontWeight: 600, + textTransform: "uppercase", + padding: "1px 4px", + outline: "none", + width: "100%", + letterSpacing: ".02em", + }} + /> + ) : ( + {group.name} + )} +
+
+ +
); -}); + }, +); export default Sidebar; diff --git a/roles/Screenshot 2026-02-27 004430.png b/roles/Screenshot 2026-02-27 004430.png new file mode 100644 index 0000000000000000000000000000000000000000..60b903e472f10024e4b1b61d7cbcde4269e7edda GIT binary patch literal 105148 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 Mu_;4lLs`GQG&{0FlMdRM@BKddlZ?%g)Qa|Rqf z%G0xlPA-FL9pig4JwXWWu!c}JYW7C@TToQKBp0;WnN<+GI&Ac;KI+503!T)l`K1_f zEVW1DP+@H^HE% z!2w25wzNV}Rx67B8fe9AYMmjadSy~kLKmTno_FMyuVE9qrkA}w_nGMGF${bEifTF2 z)?ej@pDS{1-*&U|?aib|^(EG#XuuR|%Pnb!Zf(SHYaw3$n&u`#W3B4SJa@%%apH|N zn`5isl#ldC$}SE7!sv-9oHSrh%%b($lo##PAn@8{s^+|a5oOt>i#a8k7W@k%C zv=k80z-%6jLYZ&ZBzU)!@Kwf%kviF>&Be491P-83K(u+V^tgm91 zl4L_e*Vhix&ZJn`_>LGWIQpYaW7K?et~VKJ1j>yr!~8kCV?u5gi-W^3fA5;krmYBX zr1>jH(xsdcmybQtd%x&DZ-Xz}Ch7CPc!ri^Kav{G#u%?4KI z`yMRvOC9#jh4Z)<5v{+~wS*>S?z1VaF-j>RJ~cJ@EGd=T7&b)@gwnJya_D}y=h#FH zy!_n;3Ir4XDsH;${~&qcb9Oj;rgZ^Z0UYT1k9EB%p8AeCo~u!(^3(jfOTlaGcV{R2w6IX9%Q0>fO8_YkjQ?w(Eog-jqUy4Pmz0;!& z1k&hBT&0xV>8|_kW4Ua6*Q~R=xJ}c>Ms7`q9pnF|=7-6b?LKi|z*jMh>8^gox8w06`-mV*}l!%2sPGnYMSp zNH^zcJB)ZC?8a>S_T;9W(dlQpCVJ%RNGB*6%jbE}`!_I00!vSd&!0WCb|mNJoq;Sa zwK#7!8+({fYA>ED60&IUBKKh}k7K-JG8H~no6!HV&nW45ny9+2CG_Sf zfV3f?k5qAJEHyVG9BwU5IzS)iL&x#FjldPQNHgHYU@;ry_IGmEbKe zkHMbQ-p@ieier9T;KBr=X;@$6;syAu&QHZ4|KNE3Bi(PiLA9|^RfLt`OZF>;9~@Qf zJit`;H9uJ2nVUT%xf;J|cHdFKX;5sd=`*eO6!yllD4V>QZ#os28g`3&eYjFC0k2abYXJ(dQ}{pX43CasO*_ zryw`{#-I0qd**bjF~qx+IDZFL5!JGt<{J=4pYZ2TMzfaKD)D}d%#inw{mD~JB$ox) z%`3+zufH>29H_?9+idl^(9iO9Tw9mbKNptk#9I&@d@`AsI52lds4H%lYAH zq3lRK$o70p7tJ{?Zo9lGNG~BzChpNHR5PEGee>nFL64>{q~hXx7wJoBiHZ-U7A)g! zk(hFpE}Fma0-MNU$UN7ZfbBaJjBL{(+=O2uhUeBNf;5+R-%)gMoNJ32)&@D|4wnST ziM&Ug9YkfHbR&Z{%G=+s4hU{1N3%PqUsIWYh&+ zQNapvoqHH`?@9f(gWBIe%#kLfUxC;^{UcL5auwzF&R&v}hbDFbPuaq$nBzkhLgucg zRJ?Co%y9!Ca`WCQf@Ac(YmvuR)sB7G7%uefTjFK^iEGV$A-uS?3*y{@qwblO#)Vd- zlhF3Mq~7&u{O#I`hk+qQx5UL~A5kxVMPff#rLoTP65*=+9vWQrOxv)SSRND=`?&G< z-nTc`lMSx)^(`Jn7Yh9c*~#<`JSp?J6G4wj=lclMtw_JKKdoFkkCI; zD)u?EZ~lvBYX(F1h~A@Wu5;XKgo!QL{A_~)wPpQSb&S`WKfVmjklBX-ozH>dABnu* zY^*l`l}?(|4vu_!b-V&?QC9=wXTPe_hmB!kqkAT^8WTqX3>QAfL%*xM`RTr_Fa&%! z-t&xNq>N~WyMh&G#)CE69OR5V4DJtkg+#+-92x>5@b&=FBvRzrZYKyLFE3c*fNcO1 zbk^;5vGQnE{7{Kv5pk6l+qSQxncS?6+>tL-Z}BBePf&in9P=M*Keb0d&itxjCJA~& ze12?)tx`sQ@;9X~)!W!S^?=ppXqJxt@w!3fU*r^eXOAg(!y>mn-wq3|c`!~pwBuoY z-s4dZ@M99=L!}X{V~Ksnwo(X8qy$0!Bea2+>2tR z%w=c%HA;}p<1EnWCy<3x8}i`N<(JH7gl8FhnQ{C6maqakwTDuxXXxtZ)UPXlw)e4Z zdL^<@enM%3R(L`a7fk4;Xa%?fRjEknSy!XRM%^PBtYy%li>=_B0dGa`8r-a+Z}t7enNcWjTGtpp$L;vh}-3#|^K&APy`n@B6SP zdctuQ0h=PrR?fg|K;R4Z#+c)ev~ZVZDu2dNTJBRugQL~X)C^PY%m(MO5ZmxmtA1$0 zS^B97p6ek-B;@kC!P`L6Mz@ka)_*?}FQ>mzx6irur=40kkWg@KzIt;b;%I)~Ugy07({2f1IvP|s?C)KO zHR@Ur6cNFFarf?S3jJ9_JV_u$&rw2dcr>uzvQ}jRr*_a52WNZGHRtY z?0q&ad{#aidyi_-ax2oFF+|wgRrk@W9+5n-!g$uzyE5bPtgUJ@1?F#4HEz2Xgcx=Q9fwZ+1&0(ciQ}&cY!cPIMKqF zRjv-fz2ZQsyjfZm#h+L(jv!)<5&JANC##`!pgUk|@cS%l<-)PGEy>QkD9$c!ug1CM z+R zJp$DciiO@HSk?rLaB&PX-^L7000+F2FX-RY;tk8ivh=g5uoXnwk1PK<#CgSLkk>iv zYBipRI~ds3{d6xWO^Lykzy8G*&=inmq6F}LljHJfQg-3f`1u5t93&v<8Q#eEweg1H z^p!5##Hyv{3bmfS*{ZmLCleJ(MarDslRbWDyz|Jjemy_a?)poTh;!S_s_t;$#yNa3j3{cx8!==hs8 z07p-H&NS_0OUc2fYHUGvDZEhR^qq&i{qpTC;~%@BoX2lehj?=aE0$gD)hhEFk@@E* z$V|-0wfW=wo3l6oBGYEM1<*?A7aoiW<1xPRa`lLKvAI!|@KE)mDk&$I?}I+E&b8>4 z>%+E-Pa3WO`GO^FBHMXWig@38*Rlvs+u?gQo~$8PQUVXbZcvWsOtTP0d@PcGRE<$F z{Tg{*$Q;uGna{Te|JtsBdA9~j2t)=~9i?zQc{o>7&_UJhb=H7Ric_ns9eHyoL0Q_E zTHXCjJ4u3lJaAuxCeV*)IL$XnqcrQ5}sYFOfyH27M_mKYFM`U$| z6R#L9vg#c&U08tx$=Y92*Uzui1z9bDgO8zP&Z7Nrlq&M?i8y3-tm%Z5-%hr@KL=%X z%Gng)Lf0-;UYTPvU3zviPK<)A=B}FmxRj8wS;N5Ij2@nC6MCHx7lXeiVFlR8{XnO^1%rZ* z7SLD!pi7(Zh6PY6tC|3tzCDZ&$*0`8pf)!4L~%N|60y~&q7e}xM`rG%&djT|tY*qd z*mUdq`iq$7X1+1ms{v~;uHY=ls;%CvAl{H;N`>Q>0XM>h0&?3eG)^|4&qB+?bNsf^ zfW4tdiku1F%CF((=?qH1vIi7{?M1_ zN2Jp64Lm3$mg{r8o-`|!u`G9n1fu4SFN%ibTaawzSXX zK*ntGoy!wTv3;ck?Im5z@wUUejMI+}~p_0!{0#dX>2Uj~Xr@EvpgWbQA-W*{`w z(^aAS*2KY1BpanW+(~6fJ&khH_hKA`LFr(W--9oX&{pp0(?%SMrY$K1)Ot(@vhw|c zrV7_vVfTCJ#&siepbmrZtP!E?;vM7cHn-!jHlQeGGDWCkE@sIlMtYoh)*>c4_9^{Z zQX6nI>+jKMdRgQ@Q)on{fqxf&M5CgjY8le}rbx19m2n0gOY*uVkcp$*8vib_zf3V& zZQ4Jgl&tek?2g`dZPfx#td}B3`0DUtuv|1#c0Gc2U#lTnBE_LV9%8{y&c3}CQ?3rq zk)u0Nq=~Q`n)+$_D!?)ielqq%SBHCdTZni|5%lh8s>p@T7DjZoLEJ<_gj;z{-S)jR zpEVF!UJ=-L61eBA06Wz3xRsTE*64l}O1h=-^7bN7@Yfx$bW(si6DVe?+F5Yg54-)> zA>D{yszg)(0|4;UkFuwsTA;{6bohI3LOy&&#wg1ukr>DH{w7zh6i$s=cMGUDB^)QM zS`-y*I8osqZkOsoJy}=1-w3_yMdGcAHv=`tg7t` z8>K{)5>Pr63F+>ZZUm$|rMpW&>F!3lLAqO-4NAwRySriUZ=s%Ze)oCqckleeXKh() z%~)f`JK`No(r+b89$tT>PTO3E5XCiL!SkZEj%MsI*zF5?@e*9yJ6}=HKLdpPj<*fH z?rZH)tnK;t9fS}-!X+f_55Zgp1_m=tY#~m25R;ozV_Nm9Bywr&YR?Tz z;NTT-qr>KI-s2KNeun|3D%x2-4EHgHKl{PW&qcI^5{;E6)TUoCvbFL=w=iu|qkw&vxUKICe6BrSamU{_wT(s+~x0R~ru# zB|C@=>>j#t@j-YYD>XqsM*Xoi{Cjn*dx8uOI=FZt;;U$y_RrKcI~d9V8F-wf{Dy}2 zVvarrs%qjRGu5n3>GsV&0}h1Zb&WF--PCp)3UZk>mwV?C{ta%^h_6{*X<0wZl9`>u z6%WMXIZEFbhRw*GgMX7t?;Y43o&SsN_ihs-9*j0-sa@xLEu+ib!j|yCKjWLMp$!=H z)sNWtN5|zg8Lh$Td`{B6$IBg9Z8tj!5BpUr!JiAQCyOkx@{1WA4AFMq?f8C~rWfff z;YY!K6GCDG$IjNunJO5fz9vv)vd%+4cVU^_a(;}Q%AD4&ihs8fJ z`i+9X_pm%dW5BlH$lL z$G)=TT$uZk;4DjSbLZ>QrX_X068^lHgD_|W*bCmuJvUw zEgsL8t);XMzkXZ;(yg=EB_@S(YBm~}iH>>Xk$v^vkZs`qO}_(?{jCom)LE9>xbB!9AL=HRYJb@@h;u-)%`1 z@8Q==3YmwHXIHoI#wVxnoFeZ@U8kPss5|-G69|Z42}sC=ad425s&>?_#9mJv8fp8G ze}ePA7_m1WXXr4JJ2>qqxSQwXf=^HY&(SVVS=TKOOe!1GvOSf_0kCT>rQT;NqhWt# zZ@|Fp^UEj?-fU}t`6EZ2_Gc?0jsMxr zJ#sUDNdGJ8g;v;{9t&1iH#AiDi8nW+E}V8_30KpBgmR6s+``>voR)CD^%O7aEvp)X zX1P`WdHlaldo5)ZMKZ?tj^-gg zPS7;ao!?~apB9L$i#ed6pb$EpZ?|urW4;bGOjW7wE5b*`XU#EAy{u`grt&2&+Sg)^ zh%`B*Esg6Lzn32f}`uF6T2Iay#D2 z^s(QRF_24bb`i%SAu+8_9Lsyp#Xv}-T3!l#Sw+jgcvJBnSpKaWdjh|GOF?)tnX6H| zyFXKzK3*VKX#@4X_k2JqR*#K}600#A$7ZNF-Jh$C#ir9VsO(s>n2t(GF}H4-C{`Ge zwipYNILZG*FeGsjOO&f#<%*${FJmyUDq5=67M9Cm3L_!M-xq+2L91IA*U+H$_=#-G zG}5?YC2me%6)NUE=W({AWMXn5lQmP#O2a|h6nXrXK#3mOSY3U8b;yT=f=x)^X37L^fqHqo8a|?5!EVGxgtxYG*U^^SAhr z<@sb#wNRp9MEeu&Sk&n&>KBBBG9^=Gm3sOcgRexy#g&?!iFT)L1Qirsd@KeV&@C~3 z2@5+{d~l=$qK|Ub9#xk>$-N%1kxc={%+=ME(P!}p@QsyMP@prPE|(4e3;LOI51{kv-2{EuJderhgz3HKK#_Og?tsjqc>1() zecWgDz8AjzsL_K=vd23RzV;X^MfSVRimM1W*NG9)tV}-P2IuqnR&&e_OiU*yC%p@^ zY1Dr^rkdWP$nD39C&~1Kklm^;7Su!U%K}35>OZDm+zcaa8oT{_qhgF2ZNeDS0@X@A z<&B;%*Z80Ckp$0JLH|X4Wv9R}r4RR~zc^J0>*I^SA&^mi5f%ZLei;hLPc!PL@y1&m zIe1VPxJ4I!A!xZif*TL~4q2bI(bSKkQaS^#tNh4Qt)nS~kG28Bj+mG926F|~vzf3z z<5!eCR%zWcElk-fO-=EPR@juT4XUEM(#sFc1jKaaEoeLom)rHZ_-N2l{| zv4vyCbgsHCu^V1UMf>s-nv*p#%jVCflfI)ik6bWpw5lq4}RPbS4JgxAbSprxO54Gq<~bu{KG zSHYOqW@|3!nNNX8&2N=WL`^=lnz3jgnpW9@tgDW*??Nkn=I_hp%cuP~`k>C*P{I_E zO2OiO2>berj<7ps()Tcuwg=x=&00uE7D9VX5v3Znu@j+_=N&|V+^0~{MA#0M$(sEvCDQ+hsdm1AphBjc^C5QL zOzj3nn*9M8;jF(9$4m)=gk0d&JB&(sQtb7#Y#ux~OYY;qxQCtMi1PMbA?&LN$N;)h zf?ci@{Ci;nrJD{?QjQ}sY6H3=A*(_+6O0^zJKxEYsp>Ns0FgV;+J`s(tIGpWW;q;o627-iRBjy}%P*w-I>Z4KA10*EUn(@~vH4 zGPX8C0q#oXb;dg>?_{mCVRgnJ@np~J?>1yVVN)sGj!5zti-`TQM`hnRH z^UUBMxkp0g1Z(^PrD?71Lk}bo(Z0{?qzq2+l8;GprQRt?6+gH}3zL!gnU*o8e7x#w zKM`g<@n8RO4JM`U1oLbY0U-sy5p`}dPD8WOPWHt^(as*)Vi_*~1x@};9aFkz=RmTb zPI6cc>+58P+3}*F6-PzuHlHYlL)Y=ucrbf`=g;6`&Na)WPrF)gy8Z)(iB059(7VaT1)f2Yw9zeH%Ni4&+ASXvl(h^EynS5=8xUO; za#Tl#-OAsQb%RoePKxRpNkw)?1x3I2`s&)JGVt_C4k&jaU1fsO*SgD#tiO$N? z7c>2I4vq>Q@6zrvyG<}XMcGM~?0)`(Olot+cK6Bhrz`O8`@O#J4D@*SyFatuTfa*4 zJSnogIwKF6B@t)-STx=_L_di~BETmr^{19xPUfnxu}X^Y*gyfuq-<*DMUl9uQZizC z%4X5gf%T9SuQlJZVD!-?(ffPcJQl za57%^Pe?_VWy)XMnfe_PbVkw3p44AhtP?PdA7SEy`VsECU2`i1!kcRfvKl}CUY>yk z`jxsEHkuPnD*SWu(I?1Hx0+pTVPmp6)0Sl>n-RB)1a8;Rcc%OC&_>s{0C39Y8V3z0 z6y&**y|3ZU+P=7g_HWyr1?SWAA%+|L_?9u@9A+@}g=EHNDN?#BaVMwmcuS|yV@Xde zj8GGB!Yxe`J+hj?G4w5c`vC%KIKl z3O`eAZpVT2@`(mv9&`76tag`z#_K2LHEn;Zii5*O{wK18RlE~yc7LqkUW?Q_KbaC^ z$L^a>Q^4$Ys8cnKPCpYrg+sLvawm~8ZECX)>1Z)4vcnj@UdHP!hbsgrkwoU}h6?g( z`3@^%W+$F)(7a8u!`)^{{>TupYNv-5?$MTBpY@?SXy4kLkdv{Vich?D{cBNoV|y?I zafF~b=2J*Yze5FxY)Wf|^#1)Fv#YC5)5JN9rocThA!uu~j{JMeMQ^;L9-c10K-dvl zszqp!76HS3OSE?_ET-C-24%(_{H?5ZCvq0CAm$25z5X)#%~IeBOgr0QkLH#4V2q2# zD(Z^|zHk!ar<39=(5sPap%FfYEgj1x5kQOyCoZL1ICVKvtZ6sS-*B3z}ZQ13tq<swwHCo z+#vA$tNEq=j&=-xSof!!i$hv`W(f~ApTE2VnjFP;7t@i$j{e}1t8D^%*B@&N;rp2! zDR!QhT!CDfnpnxY3S&m>>*#jqbURxMoQvS}IvIzdpistLz*;`g#)ik+}n`>)fZ!JKy+T&DF7X;GtlY7SG2K{nx-=1Pxxq%EukM{nGZL zO!%&)R#c=s`cj!1os2vx>X~Z_9o5aKnwC3g>$yuUq~SymD_hssva67*n^a znIHr4jUGOhjz_@Jeku^SRrx!bKBQ5B%aZk|jU|Apy`J)g1Rri^So8fcq9VG;tQT(N z+Jp8}7**=Y=b&*ZA>Q|an0Sr9nm~1sk5|nfG01Y86bnY>Map$MV=4~{;~c?S7pqe~ zqjx03Mu}c?`|xDBaJ~o00!}EI(3#XZ>y8~Pw;>?hh9&;k@hLO zU+pQg_ls>_2ZJ6z_eJNunC;(Ii>oU&D}Rq@k(~4ROva1!oJdOI8_kac15@hd71__) zG_D9Ihdenqo+=)2k{f~(_IJacSNb12j$qqNtwi98tZR3!*2JbNG=6LmQAZnHy;cB_ zfu)(5*&`Ex7MCiVrepq4>%k|L1^)?nz|-}X)gfyr!L(`Iet!9uB;eOdrz!5;8Gg3h zXBUvdAqj+SX%jDfJdvuzzFk4B{?SmcOChl4YBq*%pu~HOY$ZPAzSs~mSRRjs#DVh) zqY=AUwXVG0i8{f|W37Yfv&Y<%_fo7YB_mM?uC6LoB~dQaV`CB)=EfYVuY=btayX;l z7Q;Ohrr{0hfm!ja!+-ET#D#8gGAL1{?g|VzT<_^bXUC&PLtAb z(l_I&9Y2X%PB*4`jdisFekWVU3E=n_UGh5kI5KtYdJQQCMpYHZ03DvjP!dK9UU+|s z_;@3p+gFg9@=|2oEbp~jK93iFU&@U8I}+5=?lJU?txAvipBIswdx>8tS`W;C>)$}!h=j;-{{4`H0v$Gc_Owk=Selx2vkWkYp@?&eo+)m*vExQq?>5nf&Z>Xwd$1?|V_ zTe2BgpM(+ryzSt6sZfFQp50-J(pUW5D1CBI9C{z4@ufVkGJzsG;2pxSzdIK&V`}5y zyk*kpx@0|QG1T0BHwIbElF8&tj^s}p-YWC*RW`^monv$V+T+Dn^pq0S=`eO%o%qBW60frS_ zisR=Xf!AzUdlD(jX=3(=JtU|Hvf4Jyj_>qHC^nbi55&%-GM#}HiPA)#s9Rh~ASaI@ z3cs&B6BI8hl3U~8Y~R({*Vp$*37SYA@vQo-1Pq+!`HJ^)vk-jp_hCRgVL~+bYk2AF z7a~B2@8?S^E6fQDGFxkH(o#3@XU5{{(^Lb!I{dsO8?FP#+JxWv(n}Iv8xk^vSKFLR z)vV{hPW4UoLf9heRg%wubtv70c*>MHovZGpTE7EPX%4JML9cZrAx=0 z{W2odll-s}r;`3;^vsm-o$;HUk|&7 z&pq^Jk#uf9y?Gj=g@j@yey6ZE4#D=k$20_e1iCp^!@5{+6D0s9r|0(u4+Zw5g{Cs@_CHMG{~X$d@4;EiBMj zvC;(t6CCK z##S*o{lTq@u{`F_EJ6!`OeO}GT)0Efrl+yvrT-kFS@I|(*49@deVq1Gc=n%VSgc8l zottB4R&CVd4feO`$MJEd4%kHM&xLTdr0{hf_X%6lagLkx6P#P9By_jS>z(&0sT1pF zm_$Z?(}lMPW{cNn;I>Z`1hkp@Q*nM+-+q&iH&jN6j9Wv!$Os+>DyW!QI6U z^?@3GOCs#a|HbHb#|s<(?f*e7v2PDk@PgRQ3zw*v&|pOKsA`#0p_Sv|2$jNWJks;@ z5@FMlPaM>IRAANE0!*>rWqt15DSv)Me2#xvAwKO*~U( z1CA;(=78-Bmh0sW-^V;eolGhX*Xm0{=3rdbI3j_0| zn!gmN3GD0AWzJ8+lG@+RBtoCmK}oY}+f@6E?m$Cw@e=;XvoUVFo8Z}!LA^#p4#UGD zzEtXSXIOlgimHYviSyl$A|#9bev&q)_sE87_U!e=|9nUuzyqTiT2G0`*-^)L2e&r; zKDN!~c!_U%i`1WfT9-G*-jjP>rEdJXl41f2r^@QwF$A5Hl zs)GhpW#7`Ndk_d;4rkcHYTJ7;K;OyQ?1O6q5)`BAescEqCr?$Qr42EMfa+$pDTlQo2!y9RsLaY1;#c29PK6&?YzR=V-+`c$5)X z^~f`r-F7X7I-_kOjF69MZ{9?t!^G2c=g-RA?Q4rg;&xphi=-8+i_dED{ln|<-DfN| zmVrP1z?)vi@+Gn}5bmJs@;+Sd{Aks9$hNnj%TC2pz!$x@rT05@gc8x_K6C@?``=Yq zDnk(?w^EmLrrjC$A;9HrkmIG5&J!|b(+xRhPi`j9PpW@SF{fHIHY4|ZnNRRKie^h^ zqU9!=#gE$o)LcO%R-rF!wvygIcXKxI`U`}iwL8@YHP1s$8-Uw+!bA)bGRskA=y=JW zeQ+aLFAMAvFIibHDhs=CO5b);B@uTAjOA4dK*F0(hxcrbH<9ISsr+@ARb-4$^iBP^ z&$F18XN_^+F5!ZLDCadtg)%9wV`L0Q{_VlK1`~{Qv-3e1C^csoP`>%YhTYiUW^A5M zAY?;R22CBV=BBLddJ878c+UiJKQ8!&8Le`F^zIW&9HxuxPV;)!M#oBu7!D(%?ARk@ zt9zLaY%HEpw#)HeSaRU2IQKo1h|nG_4OUW5ZDq9a7stC$_9$)=?wt+4KW~3l3bLNh zAEMFy)$PHzrkgUTqLjgR<<94pFHdRip*bBU$=?<&Kq+S|Y1wpu0p>eFBLQ?C2fEY$ zyK`A60&WsSGjU&@FfiWMJK_uQ#_7=cojBLZA&2U)b{-N2gK_^w?)LCp+}r?{ynXEeZ24`|1SdqUPtj@siaefcNt3O`nc{j*z>p}V-aq@|_x z_xHbMVcBa!-~{MxIvA^f8i5=p@RXF4;DrT19lZPaG#XkK|Hi-SZ?4CB9UaMl+aCEK zro;7djf{+z0dlF-)Kso!K@JaS-np%s{c;VL>>rs#u(W6Z_`7gQYLx-@Ogm@i-d`uH z7K7mZ2f$dO%=DKl(Ku~t_%+_dVu|Cp%i3YIPoI?SYFrb7yk(ZYTX#YV2J$}{IET$uAOq5%8)mOSwk*`U79!*S*bNCAm zKGATjFdHSezqT{(iheaDbM2*^ot}0rwFhuDPB@f&c$z7$+u3|X&`?i1xA%@TrtE#s z^NCVCOE~~|QejHZ*I9)F{M(O&yCGjw?Z{+5i2s_IKi#sKwqgx$_d#s}kH2DIV1U8I z!n$$0MJJ=6NC{1#Hul5+kTnlOn7SnA&V{a}O{>QI+H8a*?f#V9!44yu*L(_PGb@ld z3#bbwjoU3mGPciQH+RY>E_G=VH+XeV^A$j}Zr$EWWoKsxBO+q?nx1}9>pbSAG1=hc zHndhT4j6fiZKX#y<`t!VnY=oW~AnT=_&; zzg=W8)n-G*Xa6xY6xu#r{)UMu`o|9u?0c^E2{|w7r3cx;^UQt-zRQcm4LOy3Ar)*R zyyZ=#cr7~Dgvw=&imb-spg4s1l(Wo4v9m?-OvcR|dDo*!A;;&o?1@c<^TNUmNI$<7 z$&&(^4#K}8L%)ef-T}Eq499Y*&W{8>Lmr+onvJ~#7Lx5>YyA1LcYZ?th$$tZaZ&g?7l7zXSBN?0PI~!)I*^ZpCFT_`q?Kv}__8Ixt zp!nA~`cF9e=a`~)MVi{PPjnUPIyW(e0R;fWg-?D7{}V!U9NIJ@k#^>boidx|N1!&Zhh@L#rzX7Ui|%9;RFe>5X~itZkrA0ltv zzIQ>?-DRt}SPrrT2rs?v9ZFR1MsYXGN6Okk$^r}mx1M!htUTDOj~|*#B~df<@3Xsh z?|zvMlURb|=i8g9XN|XVWG=WH7Ectc-`_hE`Va>VC3@M;;YVyV2+a-9#*CUoJJN@) z>n1py)=wX#zKD)lp26((xrWCnA5Ic-FXk$0Qokl(!=(|mLxtrFJm%;?vYe&ZoG`A1+Jmb zf@HCes!sAfnhVT}-fAyy1r|erc2C|g905qY7lPf=ailA|OCr1Xc_wqZYLoJ2f5qtd zO?-R@yeHFz8@C(fadR0YLRsL@LeE?>N=J3=SqCXDEk9qa8k@3O7}tB(gz zpN1Aj%&m?n-kpS;dAn=x*D~Iih6A)?rcjAn@f^+v&@%6aNbVQ=)7+DsR&!XBSBAEUF| z*`3Iwu;!^Dm^Zl`^?nnAXF#IR=V`moH@>-5F$NxVJhFc9PwL+odvsq=YgW%VJfEA> z-pu6%b_=YFEgP6GU zX|LuTuN-^@(10S5?4}%DTm*F6QwP zQBj*?RaV+L?!?@QXYOB^RT<0scVVXuZ0>2sn~k@@^eeS9in?)+<(-qvGwJP_3iUAo z>luY?N=z(=)!al{kp_@>s~_tdwakZGhP*()PX$;lv@E@n@xxPpS^e+;mg+@Ocvc*X zJ@cSot{-(}nhqJq%2A>`hLUB3y#%2g)pi#o!-R{W6c8BgqOGmx;x6k5pI{+O%q03co(Nq&nR9XF zJLNVez&Ys73Ig9JctZpNT3OTT+d{Gj;h}5E>|Z1MtEaOJDRsP@$be*Ij|5YXn?LH@ zmw;1%Xp3<>`HkcD%z&0`uE?Ox`m=mNl+T%&49GYTyUvM%ef!zB*4AHI9)gErO)I{) z%*FW3>BMYvb3q*@y-JmIJjX0M<-y_RN&}v{{W=8ifMi= zzIY&cRPSxjv#Azg>N?)A#^QN@W>lIL9_sd)!JAkZ%7`8z4jG)$?{>8lx=h0NDB8cf zu=1WoXY*+3?K{{%i#YbU1AJBDUH0xnyppqvAeqr=RGRVUDDU?4e)f;UM&4P8W46MH zizCw;FWA{Q^SsJ%{W3@rmen;h)xH@lA-Nt982GSOH!eAM!7~owmkbX89gHDg4u3P< zagBzN`5N+S`xEl|`c;y3bPO3ieMa=#r3Sr0MSzUGvJwZ8&A@Q&6u}mlo&msemVrS% zt$E1=%-OHNZT+!{56Z=ovH6THhb_Ervre~HB(_2dQtOIw+dFa_Lwh(`{k6`w=e0y# zUez)##lITxy!w0+DGwBkuAf9M)v2}>lX&q%5B;8e*$RgU)Xn6JY12KCb?K_p`>uZJ zNO|9EuY2t2t!wh|i(8v2T-SVI=mf5S=ce*-Ve|a%mI(XM4JMJxW!yT6?e(Nd7j@hA zw)qf;tn8^za-$EwQ0t8D&h!r36l(fNU1z=B`ZVSC{h+(%=zT+lCS&`k<}=s#-K^$H(@$O$G2zT_|lW6=-0X7c=}#%TnU5Y=4xby=5EJkl;-0$%rh7z4kbK zVTD13$J^A>zZV|K2wA`*tdg#{+kTfp+wP~2r81MJvz;t7s#tCEovTrSfRwZ*={q=% z-nc31AuexPmn5F$fRcyLBTmNB68z-mx46B`38flz%#z-LUa0&%{nS;u4deS)_hojX&$31X7i8Sr6L3L#xT;1I^yi#Iiouf7vM0wnP9wF_SKn6?U z%N;#V@#d7l!!u%$j3>SW_YV+l*WOa2IgT^Qva@$yO-li$!xg+6cUCpFra*D-pkZjzy1ND_#wo&P_<{@pB`t3_y_mSas^J-s~(U+Me2W%%Y~zVr$il zI#?Pozz~w$!1Q?>bq;mIj#fpm7Oe|*x%u~#;Mls~D>NsF(FNe})?LhV57e1u;^FzO+chUq?c1O$TU= zHcRnK(?}^*pR$4)7YS3lmhjmKKrpQQ*YH})|u4v7K2y`4epFHN@w`x z^?gYV2@6^|Y!q5TStibmG|}D!;k2du0&QthMN*@lYVuuHZx`phc`xl9a3x>;w5{G! zi{$-x2#WgVsWT!fe%K>+ZIrn8EU9$ApmwN|sNCG$l~PgBKMHB7nzjH4sp+id>w3n= z{edW_m^jCThK2^-y++{cj4-s{r=5uu8V@}u=`q;^Qm~qv7jtn%N*_Qklpp8DhpeKTbDf4GPq|TrWQU0~ zf+4!-qC4$z#E+<_XAy**`zEv2M6R!o834E&2ztXxIm0*8A&H4NlMfG|0XM>kV5)O7 z`8=V?%beq5^o{!)rL;Nz#N5JcejX_iDfqi0xmZeB+S3}!yDH$qXsNAr6L4~yibvq` z^eQ?Q>@ix2J&;xApemnAq_NkCDA1XdT!4Yk6WP&oLhy3FaNbW&K zH*$@i>hDjNsk0q8sCcox*)jzH@#5pLqog9j2;g2MU>DI+jLH}8ivYIF;pU?@P*Lo( z^NLq=$&UH&S~tT|PA)Ety92@#Yc6GkLNM1G@E_V${iuoTyjVctB84TG5B+Kl?$OCg}FR6%xObO6bOQ4Id{=85YpUDazr#a% zKp^7vhDV)4AYd_3+>ej@?XuYq+WqJ8w?7NG|8u>>XoURZei;2;ofg|+Om^c@^FsWO zVMf9i$k*z-inDHOYy178%=S^q;`nHZ{#~BOB`1H)F|GKbON+>z`F$bge z$;+%iTCv+d2^cy4a_Z-@zB>_0iPB*huS?;&crnxm(zDq%1B zr$}dlDpq2GK}n7HNPM1>g#5>Nx%q!d^=ukb`$)|F61CZrg9)|xLK{=%VQwa#a#jZ? z>pqCK+?CZFO!?l{$MyVzWyZRy-n~*6Nr!nS4XWe&G~I#jBL12$+TX(JK&AHJs$bWW z+ak7BcJu|elZ|NE^SZhbLW7~fo6_6VU zL2-zH(oVWNg>{Ro%8aW-)z}7u5H{wm$;nmwGVV{`W((oTDWbwPv|!DxYTm^*$TR2J z-2+*;3XSx}f=2C6n-gdj%>>S|NgJYqsl?!9O8Z#trMj}E0m+tzGYIh)@M?c>ddZE) z&>KZQzfT^}1?49#hufmlV&0q-A}3c(vV@Wsq~Ac@HD%^Y<>8u03wO@>azOqxo~}9c zX?)hkdUUG?8DqZGpAqs?2qjD%KTf?;H8(H`LaVdhAY^Zu+z*N_SK_3>hszxfucN^zEa8~ScC)RHuKIu zVx+jVw0$RVyHrcx8r-0?UE3kHLyU+vR(0}GY%{tE5?-8)>fYZ@vU;aqgj2a1ePr85 zgG*!KsxrVI$DubJPvP=}Iv`LIwIG?{g;>Z9h+vKi#+wioDm~Y6`YWfYvQ*bihob$$ z3}^QWdzXSi+A62q*jBu-89J_9WK~|jbbpx6Zon%<6wAIh8_T7;a<=}06P4yj%F$fP zAe-`KEY}#Fd-BY$R1J;fdxfrlU7eSJfa5nSRvFr6XNYwEe3>KBJ+pAeuKd*thOx0S zwpEvdWi@v^zay{ct*7YuM_%D4QamA@84ub+(pR?+$GsSW`r^* z=SXfs<@>yPb)T|yR-!~CPxZJv%*wljkS=0(*j2baeY04(ufdYJqw6(%s@BnpSW69m zSdWRX7<|3GL7T$=^`ykWw@Mkg*ub11B2xmP<)q>x1xIC9nerKe9MnRajI)o6RK=3? z*9vyZl6Pmw;6J8k_;|n9;WV!-zG@VZu|3O^jD1ZF*T9h_U4qYP@-QUeGi-V|xM0Ms zOj=_>V*w%O8oliCaiA@sb(&Mhfr8@svbI{{ax@cRGp}*Y1qIO`m_1o?CuG zsh(1i>?x5bccHKCYV8bI;-=ybfO_(G0lx+kOa{D`#Vckrvq+CIO0824ulfQWPcR>` zwO{ijjq%<7N-L1`EdFqL5j%c3TubYen-tx|&-87|WaVgo2EFlo*RJA;B|>m0+ct@pLB0o9(UxwQhW22wJ~ z`rbYr%focy!s+^pqkU`Mv}cXwcWn&A>|PE;`#otqE@;gQ)|TZMHYDv6+S44?`M_C# zH}(DR5g5gI`BFqs5T>WcIV7}m3J{A4BUSb$9Fb z2sp;=|2V#56lvJnGMZH5rGf$$bUfAJ&|m_)eY-z|E$D=SOu8-Eu?Pt*_f^P&O0N;W z{!KZfSoH1NYZ(eG_EglsZhgx(OG31#z;*0^h=M{?W#jure(w{a=Rii8$CCS=A~yK* zXPC%2=^pEPAZfto0p*Jf=Er;J{<{Z=z3E&I_YGwmAa$XeDby>BTv^%*fbsCZD=ub3ruf z&)HmV4bOwZ^nW&}CNE~-FMk3jat!f4t{TS;bq;)PoZ<1 zcYTbGtFDKZIvtnfW-{_Vi4S$Shn@z!Ucw8+w50so999y?@ft|j1aJX5>#iz!ow2++Wdr#v<-8N(Cr9A zEZng%L%sh=^YKi&?n}E7w3itaqw3rmpZBOc3$ZZ}Vx^~iw5HhR(Cm0gy58D2?og4o ztwzc(cDzLw`PH`YbtvKTkY*Vo?tHpSF#9MQuJ@65GtCtpGvU4AaBl0q?;zLfsJ;2R z^mbIu=*9p|l!jus)yJDBSNYccMpvgIhBqMum7Y9-Xu#hTHr7h4+nc(k+jKGBI`oMr z-;NmtOddx%q_3_HrnBYb$&<3>d=vX24$Qh}>9Q8v-ko59roOI6(abbeZTVnpJlgcB z4Br6uySI2kWf^t*`l7}e+#b4>sXE;TVkpV(`=Nx&;Te@1F|Wx3)jRX6yRvectA`LR zGg#LBnEvZdI^L5_sMv_a^i8s>?aq-2g-J-vTAk4tn$TgS|BhcEo2*kwm; zk{Xc=VQ*|;eh^X8X|^Yt(tw;Kht?CdHliQv?< z7t(!!3HU>#q#1egnDRZT*P~$2I_`Y&iZbMC1Ci~f;B=@g^t!l6i83~hHKe~E37Y}J zQ=(eY__`24DnCuSR>wU_a~t*6mhCyv%YCiz_Brun=CiQy7TFRCFCXw83hvB|1%`X$ z@4{L|MFv04dyM8PZz)zT1M-cSb0 zRb00d?FN0So%Z{WmriaESn72=vBH6e_(9R+!h3hIzA~p#Cut3Wh#g29f#zH)CmiT1SFC6npx(GzI2>=ZPR% z*<8b+c%xr_cQFK2om`s}RzIC;q+x2}R)~Q2+LNoR&8E0R?wZ%QuEZ1Wxp{|Vbw_xi z7C-ID!J2ZPK9m$g7bj4Y!8mQyj-|+pqj8gZmlQP|PokqT`)rW@LX*;=$unPX8VlDymqu)>|*b`k|4= zB0D!0cj`F~O496SfNbKjN(|MmCl<}W0pTFy9X09Ox}`p?kT#y^FHpPhxtX5=xqkV; z!mLFc*BSbj1X$bY^SWeIM%_dDq%yD6?D0#`n=Q%qO-MpBnfR4NJVo2*2@=w8*KeJy z@G3o77ic@8<2Mj+I>IhR;MLmKv8IDrH}=`Ev{U+x4!qiO6`YUQP2vLhLmi~*Ki0F- zn%#+(TFSPD8g2FEWu6L@d<`fAdwd)UTN{ic9RNId*U{O12%#Ha6@VEE?lJ+amb`K{&Ynvz6{OZ&jDN zK)Z77(tPn7Y(oX-*#?Hbriyct)}VWPuQja4Erg%n_xc(E*iVpvUMXo20^K1uJ6F5y zrNp(tI(hc-39FpNl&cu0@J<+R0T`@R&#oF@yRoh{e5gW7{&H-hsT_sq3YYIa@=W{X z0&?Unb~N|Sb#P`l`8!mtgq94@L*%|=GjO4;k6Y~m{o3cCT4*^CqfZr!ytR+J=TaVO zIC8|Mq$1z)HI=sE3FXFuCN@~>*LViCtx?`k6>(yT<<2y@ecqxbQLyx^SHBn6)Vz3D zy2!dgm>j;a=POv5PipT@@`NHxCW9D?tOeJoq|?&u9U^06n1j#HpXBDs*jqScNW^Ef zE&DO?9N_^@ikB17x*~66%V^Yrv?aqz!#53%lAnVn+$!4aRtBs+u3p(f-}1O!gvSW> zUbtU`TM|Rp+U)&Ppoh>-wc>yfliU`;Kx`Nl$W^pO;Mv_o+$4h6Bi`_v$2xIUOdysOAyz6EAa(ZT(bh`C9H=nZz zy&+O{D19y-Tz2=-r!T9HW^9l_hmR$TV=wZR-p!q3v?Z*`JWQANrKue6)yADQI7l9= zCajL^y*ED`nw0tW=nQm~<$HPgoYs&4=Li#mNHxRRp`ffemg?DKSZCpw zm~aXgvY{LZ<%gL{$EAYk?EJ7Fv$E)Z(7rJ|@mGK8n|rQDmP+Sr$xMNy*SFVv3vPpD zIV(S|u%&ZPDo+o*i7D^3;RgKHFj4MrMn}aDH_%Uj>M1`V9OJZ5Jai4S?A!Aqi0xQEfsj4!pue? z6dxAW{$0+H2)v|MNJ0#{!NhAzZ=!gt_1ndn&S7eQ3Ft!}V^O|ZhKJ@d`fiWlle2x- zksZ(99`Ok#7cgup$P0#@Ug)L( zD~ASGY~JWv9Iqv8NSO-xS8sYFFa7e=f8^%o8ol&uoeNH!oIhGgvD63i%HUxmm`=eP z1qHp|v)wB~rw${l<|TG;A^o(f0NIlpbZl`KabSC^~OApyrL?~ za4ta;X)m*=C;|x0TH|_C{@Eovl`yw~nz6HS|w)ez!>gwf*dSFBM zE~lN;GDUopy&r9*wVo|sAz)Ol|KKSeb<&F-@Qc`eI92*>yA$*2T#n zuc*HqIiD5Ns&5d~kE;p9UkZzc7*bJE=14Dk(>~5tvr{bjq=Tbyzg7vpXMouT^ysO+>wOmZ(zOLe;PqPjEx*s`DC)i=665^#TQD_ddA@A~TDiY(*#S0P-2iRXtw!vSh<*hq>k_b0&6L78 z!DAhD=2&dL8?%4PcgPUYDM2^e=UTA1LdmP-bd?+1=K+r{Y3zQS8`{BUv+r5idU||i znL17^R)6w~VAb8FU50(<%ES*5g2Z=}664lLc^vxeXd(SxGx=_49aXTcMXJ2h(u2fP z=T@}pLhe*qIK-;_*wv{JfmgWN>NZ65)iihKsO_loc%xx%k!<#R9sKbOchjnaC3DXC z$u%mbik_+?xY0z6_4&!2jD{;$bJ!v-(aLh%Jxld*)%C`Z!Ds>IK3ZA4juoA8LRDNxdbiq7A);u=peTnH*2wBi(TXT&Cmez7dx z$Kcw+J8agH-Om}<(IZ)B2J7x9B!0?wc@dXa4i9b>i1TNvq?1M%qw4q3u^%S{eN;OH z^x|UM(sXyXcBTzX{-iDYbT1Anv#t{^s$mhT^jtF z`-WDX6#O9=2B*B4h%ntD9v-hRePK)ZznnyF*2M4LcFutyq)b7~hY|I(oEVavBy!P38? zck)XDW`kAdV0P71*JxgeTF+I<#+7Hs4nf}g(y3Am}&h^L6O zKo*1qBdf9}vqj10mwtEDqQ-i}!(_5M3!N*#tJCCEvdE4V9ow5GscW+S(_5+BcJ4S6 z9$Kc)#ZqM%HPf3g=?YD@PoM1O%BCBCuXO0ru2Wq|B4zvNloHX!Vg9^1VYj>rdwfJ> zDzYj%l|6FH9w#-OJv?r`@PL2nP+oa2mj74(cT`?do6wUzsr}P#w*hiKOYt0tm7yzn z8Z`E(dF-c??8F&L-27(3tnzrdpo+upSNY%|;h`GMvkzrPka@By(eX5-l@e@?gvy3x zY0PjSY?nV_zZ_c|2@3;^f@&J3SqJ`fzH@9l8Na^)z9jJ1_=$sqois1?`{kjgs1>?@ zzfl4AcXJMD??8aX>sSXajs*UhW9v)!&1L~Itj*DdCj=qRSo#zQakg$=grmr|s{9m? zSkPEC*p6m5Oxd{9?gGxbx~~ZaV()PiZmvNeBpuF<2S#K#BN@_Ek(NH-q;xxle&H*P?| zU_5LzwAK{)U<$>IhYb7?@WYT1SBDOJU0of_L=HKgn|A-Xg#TA~`GLz{d|C7Vk1zW? z|NVS~Q|^K>y{Rby*Ng|BFf!oBqYFxXOip$AAn>;jxb6EHKktzJOJY zm3dEgsf~5#p|yg&MdkBw#jTfh;ezcn#>8-AZdmWubm~ReNHBmf_bMsLgSHBT2@Qwq z`+V|I$>&7Y(w5M{SN|0Qok0|gD|~-Ga-VH_I)S5W66UwtDv?<9DL8mAedl=?(ICs% zkdko9KzK=^Z?D4(V-TnDax6v+5Mbq;F%YZ8qfT|m8!DV8;(jdB6Optr76?Z;mpzp{ z&p5SMp{_Pq?r#NHotlm9Lz6$EYx$=k^GyRldkUj-4>=In`GPwS^GCXm27(lBALLOR z)5jj@ggKj$ZgeRZURXHix~(B7ff=cZ+#re2Y2Egdf54^>}A&TheLTX>nbWG1e?o{089EYliPS z<61s2t-BIHpaoCei2ap{ECA;fOB8Bm`UJQrJk~VZY=v&7JxwaUW2)|IJ47C@ACMGk z?gP7FT^zO9gO$me8J=>B@;p_#Lg!t4m<^;e%@@AYB?euwuluo~v5OE-lG8&O@^9g< zbZ>ICkEG#xb>L?o+GW4NX7KXm68Twl?k0uZ29B!o;`Wi6c&k78v&9zmT>MZ&yzq~X#^)u#Gx4y3tMtVd{fnx85@Ba^CqmT zyMw_>q~h}xOo71*d+F1y#+6lO4-_#^c0^}>aI{Z0mL>!j&>g7^(7`PB{lgj0nuF;4O^hjqb6^2zE=S)RfeQ@Ox(kmed(~fH}uoO1cBK;QEVjhJgx~nv252X2RZ@x zV`_Vo&i5}H6Xx4XBJvNP+}nEY9nyWbIL$_*^qr({3qI~kglKVrK2agupBn2P)0)X*_!L}cBmzWyoH7RC6z7ZD|DAXI;U++jgl9NM%_ zsn^XLatphJ!5AZHa7YYeLpd?oa3O+uvfQf+TUyI*NxGBCd7Z9$o)@cHC~~Q9A^#DB z+dEsq)?{)OwY$$J9qV~FZAkk1Cbc$fIf)W|`V~Nb{U9B}Ng-i0+nd91OV2>FqotaI zCai=~RI6k9*XFYv+UsANFJiT%P42M>9Q3V-6nxW-;QHbRQ!ymlL;@W%iBo+{@c&jrKkxTYNiy(rPhKfyXMUGopLugP=7eG zap=?Lq`);CWUd5?H-vSamE)+E26LZRekQ+BFkE56%u*S9i|K^5)N{){oZ-}ozAw^r zcB;;parCno6{b%q&ON^h6W_YH17cTk$H*!X_TjB}kHl?07c4BtVpe`isGCTRHd5vA zOsZQi2G`5<7o;eOXKP3r}24d9Db2iDGC5g$Qx5u!wcV&;w4@90eszpQl0A!TqPRD;nXV&> zkFuof>0*|V^_g;N!RhL@E7d@vij+%vk$x+`t+Pcn>{b4@TMNO1r$Ig~+PK0UwdN9z z#}w2S6A#wrIh~;F`xy%00f7j^Cs_I(Ao9O{5rH6M36HQDJSi~}!HDXuV^^*%$$zEs zeh7(oib_&aL3#IOjIGbD=x(zs#-9t|A~tUZ3$n+`ow!WJ>^~PJ9=*Z-Mp)!pLy7nB z%r+%-bXwWvUL5TYWy-glqr>$(lrE1L6;-c25s&%!VXws`C~o5o{C!$d@4O5SfwO;?rCL#Q zNr+UP?4pN8zWQIYeZcfvp*r0ta|;x7K%4`3TvRN2ZeT$mzS#4~Wxt;}ADkBGk?mB~v|x9zz~UffXgsB2=!u0E;R5o(2xGBy9X zX+mCO9;MCaYiw$827X}UH3s3)#yYvG$!p71?`3Ze#{&2>Ee@Km%6F+Hc zh)JuNJsk>-b*yAed2CU*S$))VUu2D|xQ60(=WEqkIeWFXkA6 z%6!pK>Qb*O+d<_MQ(vDte+VdgMLuH(QFw2a(uV&w&4GCqGfAZVX6}6G-t|p;F1lM^ z6b%Pw8=yW0L@4%UT33F2t)Gs?lsGnA@_i@t+)aFA`=`1SwG8tLyqWo?JX>&%#fi~e zoc8Q8h$vf5i?>gdJCzRUMI`ga4vuAL1^Yp&WanZseFKr*Mnix)DLa?8MX|Y>PSwE` zC>r)GDA#7cK7giBQu*A1D_5Iq198BJY2qBQr=LvBW5&?{g=JUv+K2x{2=_N{*Zt*a`Cq(j!~>s z?mGZ?dS1zeMAj>VUuKE+zLE73ulD^2s2m2o1#X z7K*N2^J>xSbUbGYU5wG+KXcQh%TNk-ZHf_-p&P+HTwg(Ze<|H+9d2X@zMoIT6LEYa zG}0tFsi{gJJfc1dGL2`X)K=;pFY<7Hv&~sL*Df|3?P`MhyAj;6!7KaKTLQsSV>)(< z#;qE#p+&{Y&R4rt(yS}e$zpn1+ACjmt@FctlwbbPcVOaJ=8P_kROM0*?rRP zV5&i%5y{qdIperYx0flJ*2gzZZl?Vlry-tTkJwZT@1V;&`z*3RhaSBl5L(_wQ|gZ9 zOmxz5R)~q|RlP@?Irmb!%E> zk3M);oS`f0w7unEPg~-QFB9a#2NN%p%8G+&be&l+;a?PUT+&9_mY$b)OpN{)QDyh$ ziu1`nk+`-2e^N#l&HyKf+~39ntX@i$f89mUao_56!!;Vl1<3c5F%@R&(@w#)$Z$`V zE=8^`6d0HZmQ=)TYZ(#Z;K1?8$s2y9JVxn|PL$ubmQz0Il1>zPH=qF}#0i!Q`$Pl6 zEq_85j)>{I*Ers?&wXn>WGVR*OD%5$JtTyo0Zb;5{ZjFygqYrr!SJ40iEH?Ej;^po zylx;=c*`D5Ud=UJl!D5J$JGVw5K~)+Y#lDe#VNo0@xH+ahsIDa2`9s!BMdm=Vz|3f z%(deJImQJC!|x>EHyv>x+H}yiGm<0hNq&VK)}@hhRk~ zIC2V(+(e20)>CYM{VqR?lkpm82%D9k8YU-etc=2UkUZqgA9Vvif7JhRw7}!J%?1+| zfD5M9faLS_PbR=4E3hI+Ej&2_b}k1PN7@S2Sg7b$I6>yTAblmxAx zpI`21rYiH?KmQ$Tz;S@yqEm3>*Co2Ovjfb3(2`MJ%Y}e{v-G|4^z_tbmyw`#Jw0WH ztI@@adw_j_bGTvy>+7FEOCBKwA?`!#jfrvdsaknhxsQ)Xu0r`6N6LAOMOw%`(`<$%QbqXtBM?Q58f!tusm3 zg80|JZg=kJ8f<~&g53RN1F!vfg{>_a&t`a@q;Mn6W&7D8d;0V#pir-sjnYer$bvMX zk?$857jGO+Z(yIFBijxhv3pt+QG=9P?eo z_!@`#iQGxT)zky>bDU@IC+gx=o+{hrE_1ln{nb17B zCM1q*y5S-cH{bsyes#DYJa}@V?Qt#MZl=XZ{2-1Lj@Usq6YFrz^z1xBy`jc-dw8U& zvS`sU*D6WZJ5zZb;XCVSldlVJ&Qd|}UVkzrmkrMe*qP{EX(#I>Y)d1x=)GIM1}c*)`Eb4lQ6S+Xfxq zx7H|w-UExR#>cJUi&v>S)WcW7oL0*mn~9m4=mYD zTVyhCRK~pS&DJusSCA)rT{)89c)k`JW^?gpad5WqA-U#es3#N3waxRZFeP)xC0O+y zxIHgS^K-1YB!@a_?7sCCks%J$>!dY1^_?g3Id2ZZ$B+isV)8nZ@}LRqGoiaCLCK3M zG^I5SMe5@Xx{lxZWziz%U#H6Z8#0&}l8YsYXZqNsFL;<{zk71^wGdkz*iCyn76_vS z7xD}^P=!UBiQ1`U+SQKF$W73yyoc^-m0IfRou@h%|qSi+g5aaXUE- zhTPLr_?8#zQ;PI{9q$<`0^dhU${R48QqFxF1@C?1iG908`f0EZTFe1PSc@<9BHka5&$7vm-B-u!+;y3@y0}WFh%;`;vkanna7PCybRN#kT zZaOp+M><22wdeL?Kv6>(QogFqhd(Gul}(;lS~Q~$Gzm3C?!3!0oS}wD#?`fw-v}80 zMoBES(u~%(-VGpS68qXgrSlt4G-3ySO+RxW@ugBjPNPmXbO{ zo(NmjFH+{_gx5IqmcUZa4;}>e29RvoUl>N7+D`}c(fP8EK@z)Kp@Td4rg+N31p&oD z8{+K|Dn!-&Lo&YIqA^}1wzV31I%*kjr$c$9?`3pv(OPY1mRm`| zRU<<63o>Sri3ULsDIoex^!j)!1KPQki`f>sofu?1VC31NM;@B_i(dp&d{=8`E-1s4 z{mJmgwrCQXlUq59Ae@+VB*u=TjnIZ#u*ZV zGa{kj6oYjBGNe>G>l+v$@$1NX{(bu27#E3l=eph3oC;4B9Z)|3x))9MYTfTTu&#<9 z17d4eZQOt^w|jL213GYHR6N1;VHk@|mi9nyOFoq^Xu>ECW1}9RB<=9)hE|sU37>@; z3}g+@RaTOmM~VU*bPJ=hO<`LUJX#}0)YtI45@uRFWt3~?nYJO*p>cdHw^MfYDP>~^>;XoF( zPz~*lxv+q|y86AQCc-V2m-Nslvs!t|k{c6M(Y!kkuqaObf`ukJmVa)LR>-w!v6XFP z$Opv)xppU^j@c-gT3A{hZ8ay3jUXQ*;h-;AHKO7t4Ry@sln3@5@L20SehNjUBi%vf zKOVeADqPG(px0O!NQL(}ZFZWd4OV9h401=*nsPs0Utf$aS;kbgUuD*DvbZZgh$`XN zrm<3vG2nE-jw0k5Sr;QmY%~-BwUc^qmT<~6P7*iYK99X~qG+0{bG|c%sC`w@C=T1|%rp$F5Lv23M*bOG?Vk10aa;2&i<#S61ZP{}I_d-@gW!3zKhB zG<_+!SN}L!&ICjGXTc*I^v)Q!y_G5>n~ZAb``8j8!UyK`swwVyA=g415UN(UZ1NAb z$LaODv#Jc`!GqHL;_S~VbvkKd5Yw|8D18s)9suL$%q*@?P!JU$$>1HwAZGiV(gOw8 zpk4{=!f)|`k5O@!cp4*>T@#oxEyqWcg4T0idCidVPzL7w8Wrf` z+(Vz}sEXa2b#Uf2#ZRQ|ddU5)wc^*O1=%2q8{#|rsifB|sFVMrHh?gJpBD2hVoj7G~WBlERQ`qfvSEVFiIFY%5iSMC^7%(w!>p zmL*)Z<@4mB1>zOMD2!tqte!V09X^Oj@7uZt$l9Oj)HDo)xfi_ce$bBpAOf1rlWCC z7jdQq*My2dr@}wZu=yp zPa(|s%iu3OoxqC70e9XkF>)Y;NO}S`QQp%{p>0noo8QHXamv1uO(B}-p>oWgf8=#` zuFDwTj^}Sc!Oim!HmQ(h$aqkFp@FlS3RGbjFHFovSD5+MU)oVZZsQS-qQcR6PtVT& zcsL_~i&2^Iea#%YB?kGJObp7gjc*gildB|!7RJ9#EGQLKL}9JC&#{Dn0|jKhT{tbQ zAu0MK6jufs$nwzcjOR(~KfD@+t2cOM8%sy?0g8C5ug~wv^bAt0@NZ-)0gT{=x(1C2%3c7Dl(PI1eQB-U7cJ+fo0!ehAbo{kbo#E!EXkfFYhs)95(xt>mkV4fP= zGgndmle9ZDp8(8|HCMm#M@)cj%XWcDOMDnr36(>NsFm{A`n~{BF202mJhnq|m)Kr= zqjSzf@J;H5UeRENvD~=ax^e7UTbt>fp0XD3*R!J1I#H@2y=U1t%V~U=OhW_eiPtwZh%Yjb) zqTpJGh*8{`cvuYdXNSP}MpLE4S^pAH`wHn1tpVzxPq7H<~UUo_W1a>J@oml?w_@#t)mFvA+?SRM5o)?_A|!&Xsdn5?pw%Y%z5At z`q^>x&2H05r2tc4Q>^8!rMMQ^2F)&^`rdGUe*Apyp!YU3Dq7`>kv zI^Ma}-5{qHLb|Iy>t^T+-KbW2sKaVbKH)~&S?bx8G8W=UK@Ic9WPJThFncScG|;wJ z73!+NV_g2SOn^T&&{ef9$Rm1H;hfnq>vhx-2@CTitj>cn->y%?h~wVO%Sfdbo!R~} zWL9BaFyVH+pEI79O{yu2+a0t?67(CBGoCLfEjION`6pg!H!XU8ob319G40asOO#ct z;s%~dn=s6e*KX8eN1vV)NaP>ru(~cQBt#XtKO22qw3!XSIbvt$QCi!=Z!qCe-7Wi-F8cCY$NY% zk#+L!ldve8Cv;y)+{=DmO{J3xSEg|x$8g`H5B%izOe&Ho_)&;G522Esbi(=QmEJUI zon1llTeh)vm)vc;J)YOn3&1|``ktOq-Mcpxss_@CT@j&}ZqkX6Gk=|=3nFC6vwSQO zlY88M)kr9EwNvvDy(w8FPkRdwzAB4F`Ew=nNt3~(o;&PQT$gx3Hdg(`XrMi> z^2$xD>Gy8%0$#D3+^`~k1lc_Swwcq`*MvVP_LM0!*D0Pu{dipLD0BT+an;N6GQ}0H zarh*e%dv2YsPi6CwfD-}o43gdI|q-(4U9HMsO$b9pqS1O-9w#kTd@+DSU*(=lo-@9j(;?X@Z2uqQXCxv${m z*>~YZtnrB1m4pbyvnAkEk!-GsphqLj-M0o}^44``ztA=Y$942Quecjp5~$6>#H7@w zH7XFR-(F(AJ(3+j#2uYZSr)jt0nvJM?5%(q%$MV4?W)qU5U0+EVISZ-`?B}JAuDBv zQj6-}CnE|-;oqCDe(RyL-5P3te4E%c~GNb@1YF%DPWw>+01dxH#!nwr)jCowRZ=Z*UF+OCt?RE!TP(;x?CW=J00 z@9YU>7eHeBbJQrqS`%k9A3l0iJ{Q@klUzy!@bdCt4p^%3lexmrg|*qpa_PU!k@P$~ zLE^`Jcpv>Ub&{%M#eu|r^)XCS24c{!iAu8!wJ0y46B$YwvC}2R)W*=lg4*cU6 zU!dwNV_#8>oUWYESsz+D-rts!2ZQb3c=}p%k;rzb|EA$6|MbC%y^xp z_&|ZN{E}c|wq{+JU|Wo-OYfe&(s!4H-)-}d10?q@Umt&3bKbQAp@?MkJ&-iE@-WgbOIjUiA`+lO$-{6o* z=grZzFU<5DW6EKlZ{>VKCOtXeSBpy-a$3tlpk3KHW`3}>9kEfymrV)hWQSn>I=)s? z^u5{rfI_3+-?U&o5%@AkONQm`n7AiwZkTbp)3%Hsy&v9ju|1$Uolb<^@D)|Tlec0r zFE$LE2l~e{j&4PS-pS8@N1{HouuvcA9p6t2h=InQYG<;wQS6!dc%ctVWW1!hJEkZO zcZP4ebWF$}moC=TePhP2W>i`lVIgcu9nSRJ(3$<_5`Sbbvb z3x=6|)K0CWB!2Z4du5)l@0&ehQ)y`zF%wte7mf4vYC z%(j=>ic!%sBvS^E&3so(PcL0a%$wIVGyYVVxq3gPwo4;Q>w;1E?T?Z@;*70GGjh^5 z^$;g^MgyY)qTzB&8^3X*cR?TPT5W9@5j@T z)I&#@QeHU zF1Vs;L_QfA!BoNOl#!QeL$1P|U_Ki^$gyxX`l=z@x5GiMPg%IJ?|OHxIQ8s}lKZto zZ!y7?JTR3leY=J`LfGj&(v|(AU45}j1<-C*E_Smi6sTBZ`k|I+L(Cpoi%0D{?j52} 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 literal 0 HcmV?d00001 diff --git a/roles/Screenshot 2026-02-27 004454.png b/roles/Screenshot 2026-02-27 004454.png new file mode 100644 index 0000000000000000000000000000000000000000..fdafed3a18b265e0c54fbbe8596f29f7820b99bd GIT binary patch literal 184010 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℘+;$ZV(@8r8x!e-I)7yZs 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 literal 0 HcmV?d00001