P14: dock the session sidebar (persistent column, not a temp drawer)
- The session panel now docks as a persistent right-hand column on desktop and only floats as an overlay drawer on phones (md breakpoint). Open state persists (uiStore.sessionDockOpen). The header button opens it (idempotent); the ✕ closes. - Players get it auto-opened on join — they live in the panel during play. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -18,14 +18,14 @@ export function SessionSidebar({ open, onClose }: { open: boolean; onClose: () =
|
||||
const code = role === 'gm' ? joinCode : intent?.joinCode;
|
||||
const inSession = role !== 'off' || !!intent;
|
||||
|
||||
if (!open) return null;
|
||||
|
||||
return (
|
||||
<>
|
||||
{open && <div className="fixed inset-0 z-40 bg-black/40 print:hidden" onClick={onClose} aria-hidden />}
|
||||
{/* On phones the panel floats over content with a backdrop; on desktop it docks as a column. */}
|
||||
<div className="fixed inset-0 z-40 bg-black/40 md:hidden print:hidden" onClick={onClose} aria-hidden />
|
||||
<aside
|
||||
className={cn(
|
||||
'fixed right-0 top-0 z-50 flex h-full w-80 max-w-[88vw] transform flex-col border-l border-line bg-panel shadow-2xl transition-transform print:hidden',
|
||||
open ? 'translate-x-0' : 'translate-x-full',
|
||||
)}
|
||||
className="fixed right-0 top-0 z-50 flex h-full w-80 max-w-[88vw] flex-col border-l border-line bg-panel shadow-2xl print:hidden md:static md:z-auto md:h-auto md:w-80 md:max-w-none md:shrink-0 md:self-stretch md:shadow-none"
|
||||
aria-label="Session panel"
|
||||
>
|
||||
<div className="flex items-center justify-between border-b border-line p-3">
|
||||
|
||||
Reference in New Issue
Block a user