ChatApp — {variant.label}
{variant.layout === 'rail' ? (
{/* Icon rail left */}
{/* Chatlist + user profile at bottom — only on chats tab */}
{activeTab === 'chats' && (
)}
{/* Chat area OR page content */}
{activeTab === 'friends' &&
}
{activeTab === 'admin' &&
}
{activeTab === 'settings' &&
}
{activeTab === 'chats' && <>
{!(callScreen === 'active' && callMode !== 'fullscreen') && (
{activeChat.name}
{activeChat.presence === 'online' ? '● Online' :
activeChat.presence === 'idle' ? '● Abwesend' :
activeChat.presence === 'dnd' ? '● Nicht stören' :
'● Offline · zuletzt vor 2h'}
{' · '}{activeChat.handle}
)}
{/* Call dock — rendered above messages, Discord-style */}
{callScreen === 'active' && callMode !== 'fullscreen' && (
setCallScreen('none')}
callState={callState}
setCallState={setCallState}
/>
)}
{MESSAGES.map((m, i) => {
const next = MESSAGES[i+1];
const isLastOfRun = (m.from === 'them' || m.from === 'me') && (!next || next.from !== m.from || next.type === 'event');
const myChat = { initial: 'D', color: 'teal' };
return
;
})}
>}
) : (
<>
Netralax
{variant.key === 'clean' && (
)}
{activeTab === 'friends' &&
}
{activeTab === 'admin' &&
}
{activeTab === 'settings' &&
}
{activeTab === 'chats' && <>
{activeChat.name}
{activeChat.presence === 'online' ? '● Online' :
activeChat.presence === 'idle' ? '● Abwesend' :
activeChat.presence === 'dnd' ? '● Nicht stören' :
'● Offline · zuletzt vor 2h'}
{' · '}{activeChat.handle}
{MESSAGES.map((m, i) => {
const next = MESSAGES[i+1];
const isLastOfRun = (m.from === 'them' || m.from === 'me') && (!next || next.from !== m.from || next.type === 'event');
const myChat = { initial: 'D', color: 'teal' };
return
;
})}
>}
>
)}
{/* Call screen switcher — only in Clean Rail, only on chats tab */}
{variant.layout === 'rail' && activeTab === 'chats' && (
)}
{/* Incoming call is a full overlay */}
{callScreen === 'incoming' && (
setCallScreen('active')}
onDecline={() => setCallScreen('none')}
/>
)}
{/* Fullscreen call hides chat entirely */}
{callScreen === 'active' && callMode === 'fullscreen' && (
setCallScreen('none')}
callState={callState}
setCallState={setCallState}
/>
)}
{callScreen === 'pip' && (
setCallScreen('active')}
onHangup={() => setCallScreen('none')}
/>
)}
{showCall && callScreen === 'none' && }