{$currentServer?.name || 'EifelDC'}
showSettings = !showSettings}>
{#if showSettings}
Status
handlePresenceChange('online')}>
Online
handlePresenceChange('away')}>
Abwesend
handlePresenceChange('unavailable')}>
Nicht stören
Abmelden
{/if}
showCreateRoom = !showCreateRoom}>
Textkanäle
{ showCreateRoom = true; showJoinRoom = false; }}>+
{#each $textChannels as channel}
{ currentChannel.set(channel); unreadCounts.update(c => { delete c[channel.id]; return c; }); }} on:contextmenu|preventDefault={() => handleLeaveRoom(channel.id)} >
{channel.name}
{#if $unreadCounts[channel.id]}
{$unreadCounts[channel.id]}
{/if}
{/each}
Sprachkanäle
{#each $voiceChannels as channel}
{ if ($voiceRoom.roomId === channel.id) { disconnectFromVoice(); } else { handleJoinVoice(channel); } }} >
{channel.name}
{/each}
{ showJoinRoom = true; showCreateRoom = false; }}>
Raum beitreten
{#if showCreateRoom}
showCreateRoom = false}>
Raum erstellen
{#if createError}
{createError}
{/if}
Name
Thema (optional)
showCreateRoom = false}>Abbrechen
Erstellen
{/if} {#if showJoinRoom}
showJoinRoom = false}>
Raum beitreten
{#if joinError}
{joinError}
{/if}
Raum-ID oder Alias
showJoinRoom = false}>Abbrechen
Beitreten
{/if}
{$userProfile?.display_name?.charAt(0).toUpperCase() || $currentUser?.username?.charAt(0).toUpperCase() || '?'}
{#if editingName}
{ if (e.key === 'Enter') handleSaveName(); if (e.key === 'Escape') editingName = false; }} />
✓
editingName = false}>✕
{:else}
{$userProfile?.display_name || $currentUser?.username || 'Benutzer'}
{presenceStatus === 'online' ? 'Online' : presenceStatus === 'idle' ? 'Abwesend' : presenceStatus === 'dnd' ? 'Nicht stören' : 'Offline'}
{/if}
{ if ($voiceRoom.connected) toggleMute(); }}>
{ if ($voiceRoom.connected) toggleDeafen(); }}>
showSettings = !showSettings}>⚙