This commit is contained in:
legop3
2025-11-24 03:23:22 -05:00
parent f80d2445b0
commit 7bbb039da1
8 changed files with 32 additions and 24 deletions
+3 -3
View File
@@ -58,9 +58,9 @@ function DesktopLayout({ layout }) {
<div className="flex h-full gap-0.5 overflow-hidden">
<div className="flex min-w-0 flex-[1.8] flex-col gap-0.5 overflow-y-auto pr-0.5">
<DriverVideoPanel />
<div className="grid grid-cols-2 gap-0.5">
<UserListPanel />
<ChatPanel />
<div className="grid grid-cols-2 gap-0.5 max-h-[50vh]">
<UserListPanel fillParent />
<ChatPanel fillParent />
</div>
<LogPanel />
</div>
+7 -3
View File
@@ -25,7 +25,7 @@ function displayName(message) {
return message.nickname || message.socketId?.slice(0, 6) || 'unknown';
}
export default function ChatPanel({ hideInput = false, hideSpectatorNotice = false }) {
export default function ChatPanel({ hideInput = false, hideSpectatorNotice = false, fillParent = false }) {
const { session } = useSession();
const { messages, sendMessage, registerInputRef, onInputFocus, onInputBlur, blurChat } = useChat();
const [draft, setDraft] = useState('');
@@ -57,9 +57,13 @@ export default function ChatPanel({ hideInput = false, hideSpectatorNotice = fal
}
}
const listClass = fillParent
? 'flex-1 min-h-[8rem]'
: 'h-48';
return (
<section className="panel-section flex h-full flex-col space-y-0.5 text-base overflow-hidden">
<div className="surface flex-1 min-h-[8rem] overflow-y-auto space-y-0.25" ref={listRef}>
<section className={`panel-section ${fillParent ? 'flex h-full flex-col overflow-hidden' : ''} space-y-0.5 text-base`}>
<div className={`surface overflow-y-auto space-y-0.25 ${listClass}`} ref={listRef}>
{sorted.length === 0 ? (
<p className="text-sm text-slate-500">No messages yet.</p>
) : (
+7 -3
View File
@@ -26,7 +26,7 @@ function formatLabel(user, selfId) {
return base;
}
export default function UserListPanel({ hideNicknameForm = false, hideHeader = false, className = '' }) {
export default function UserListPanel({ hideNicknameForm = false, hideHeader = false, className = '', fillParent = false }) {
const { session, setNickname } = useSession();
const { value } = useSettingsNamespace('profile', { nickname: '' });
const lastSyncedSocketRef = useRef(null);
@@ -91,8 +91,12 @@ export default function UserListPanel({ hideNicknameForm = false, hideHeader = f
return Math.ceil(ms / 1000);
}, []);
const listClass = fillParent ? 'flex-1 min-h-[8rem]' : 'h-48';
return (
<section className={`panel-section flex h-full flex-col space-y-0.5 overflow-hidden text-base ${className}`}>
<section
className={`panel-section ${fillParent ? 'flex h-full flex-col overflow-hidden' : ''} space-y-0.5 text-base ${className}`}
>
{!hideNicknameForm && (
<div className="space-y-0.5">
<NicknameForm />
@@ -109,7 +113,7 @@ export default function UserListPanel({ hideNicknameForm = false, hideHeader = f
</span>
</div>
)}
<div className="surface flex-1 min-h-[8rem] overflow-y-auto space-y-0.25">
<div className={`surface overflow-y-auto space-y-0.25 ${listClass}`}>
{isTurnsMode ? (
Object.keys(turnQueues || {}).length === 0 ? (
<p className="text-sm text-slate-500">No turn queues yet.</p>
+4 -4
View File
@@ -88,11 +88,11 @@ function SecondaryRow() {
return (
<section className="grid grid-cols-1 gap-0.5 lg:grid-cols-[2fr_1fr_1fr]">
<RoomCameraPanel defaultOrientation="horizontal" hideLayoutToggle hideHeader />
<div className="flex h-full flex-col">
<UserListPanel hideNicknameForm hideHeader />
<div className="flex h-[50vh] flex-col">
<UserListPanel hideNicknameForm hideHeader fillParent />
</div>
<div className="flex h-full flex-col">
<ChatPanel hideInput hideSpectatorNotice />
<div className="flex h-[50vh] flex-col">
<ChatPanel hideInput hideSpectatorNotice fillParent />
</div>
</section>
);