Pin event log across all phases
This commit is contained in:
@@ -72,7 +72,7 @@ input[type="checkbox"] {
|
|||||||
|
|
||||||
.phase-view-layout {
|
.phase-view-layout {
|
||||||
display: grid;
|
display: grid;
|
||||||
grid-template-columns: 180px minmax(0, 1fr);
|
grid-template-columns: 180px minmax(0, 1fr) minmax(300px, 0.8fr);
|
||||||
gap: 1.5rem;
|
gap: 1.5rem;
|
||||||
align-items: start;
|
align-items: start;
|
||||||
}
|
}
|
||||||
@@ -81,6 +81,12 @@ input[type="checkbox"] {
|
|||||||
min-width: 0;
|
min-width: 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@media (min-width: 1101px) {
|
||||||
|
.phase-view-layout.log-collapsed {
|
||||||
|
grid-template-columns: 180px minmax(0, 1fr);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
@media (max-width: 1100px) {
|
@media (max-width: 1100px) {
|
||||||
.phase-view-layout {
|
.phase-view-layout {
|
||||||
grid-template-columns: 1fr;
|
grid-template-columns: 1fr;
|
||||||
|
|||||||
@@ -6,10 +6,17 @@
|
|||||||
// - Add a CHANGELOG entry only when a commit changes something players can
|
// - Add a CHANGELOG entry only when a commit changes something players can
|
||||||
// see. Skip refactors, tests, and tooling. Keep wording player-facing.
|
// see. Skip refactors, tests, and tooling. Keep wording player-facing.
|
||||||
|
|
||||||
export const VERSION = 24;
|
export const VERSION = 25;
|
||||||
|
|
||||||
// Newest first. Each entry: { version, date: 'YYYY-MM-DD', changes: [string, ...] }.
|
// Newest first. Each entry: { version, date: 'YYYY-MM-DD', changes: [string, ...] }.
|
||||||
export const CHANGELOG = [
|
export const CHANGELOG = [
|
||||||
|
{
|
||||||
|
version: 25,
|
||||||
|
date: '2026-07-10',
|
||||||
|
changes: [
|
||||||
|
'The Event Log now uses the same pinned column and fixed close/reopen control in every game phase.',
|
||||||
|
],
|
||||||
|
},
|
||||||
{
|
{
|
||||||
version: 24,
|
version: 24,
|
||||||
date: '2026-07-10',
|
date: '2026-07-10',
|
||||||
|
|||||||
@@ -33,6 +33,9 @@
|
|||||||
let reconnectDelay = 1000;
|
let reconnectDelay = 1000;
|
||||||
let destroyed = false;
|
let destroyed = false;
|
||||||
let staleSession = false;
|
let staleSession = false;
|
||||||
|
// Non-scene phases use the same pinned Event Log column and fixed corner
|
||||||
|
// toggle that ScenePhase owns for the main play screen.
|
||||||
|
let phaseLogOpen = true;
|
||||||
|
|
||||||
function discardStaleSession(message) {
|
function discardStaleSession(message) {
|
||||||
staleSession = true;
|
staleSession = true;
|
||||||
@@ -223,7 +226,7 @@
|
|||||||
{#if state.game.phase === 'scene'}
|
{#if state.game.phase === 'scene'}
|
||||||
<ScenePhase {state} />
|
<ScenePhase {state} />
|
||||||
{:else}
|
{:else}
|
||||||
<div class="phase-view-layout">
|
<div class="phase-view-layout" class:log-collapsed={!phaseLogOpen}>
|
||||||
<CrewSidebar {state} />
|
<CrewSidebar {state} />
|
||||||
<main class="phase-main-column">
|
<main class="phase-main-column">
|
||||||
{#if state.game.phase === 'lobby'}
|
{#if state.game.phase === 'lobby'}
|
||||||
@@ -242,13 +245,23 @@
|
|||||||
<div class="card p-4">Unknown phase: {state.game.phase}</div>
|
<div class="card p-4">Unknown phase: {state.game.phase}</div>
|
||||||
{/if}
|
{/if}
|
||||||
</main>
|
</main>
|
||||||
|
{#if phaseLogOpen}
|
||||||
|
<div class="log-column">
|
||||||
|
<EventLog {state} inline on:collapse={() => (phaseLogOpen = false)} />
|
||||||
|
</div>
|
||||||
|
{/if}
|
||||||
</div>
|
</div>
|
||||||
{/if}
|
{/if}
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<!-- The scene phase renders its own inline Event Log as the third column. -->
|
|
||||||
{#if state.game.phase !== 'scene'}
|
{#if state.game.phase !== 'scene'}
|
||||||
<EventLog {state} />
|
<button
|
||||||
|
class="log-reopen-btn"
|
||||||
|
title={phaseLogOpen ? 'Hide the event log' : 'Show the event log'}
|
||||||
|
on:click={() => (phaseLogOpen = !phaseLogOpen)}
|
||||||
|
>
|
||||||
|
{phaseLogOpen ? '✕ Close Log' : '📜 Event Log'}
|
||||||
|
</button>
|
||||||
{/if}
|
{/if}
|
||||||
<NameModal {state} />
|
<NameModal {state} />
|
||||||
<GatModal {state} />
|
<GatModal {state} />
|
||||||
|
|||||||
Reference in New Issue
Block a user