match view: toggle sidebar
This commit is contained in:
parent
347ec6972f
commit
d140759ea5
3 changed files with 35 additions and 11 deletions
|
@ -47,11 +47,14 @@
|
|||
<div id="main" class="loading">
|
||||
<canvas id="canvas" />
|
||||
<div id="name" />
|
||||
<ul class="player-labels">
|
||||
{#each matchData["players"] as player, i}
|
||||
<li style="color:{PLAYER_COLORS[i]}">{player["bot_name"] || "player"}</li>
|
||||
{/each}
|
||||
</ul>
|
||||
<div class="ui-topright">
|
||||
<slot name="menu" />
|
||||
<ul class="player-labels">
|
||||
{#each matchData["players"] as player, i}
|
||||
<li style="color:{PLAYER_COLORS[i]}">{player["bot_name"] || "player"}</li>
|
||||
{/each}
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
<div id="meta">
|
||||
<div id="turnCounter">0 / 0</div>
|
||||
|
@ -78,15 +81,21 @@
|
|||
<style scoped>
|
||||
@import "pw-visualizer/src/style.css";
|
||||
|
||||
.player-labels {
|
||||
.ui-topright {
|
||||
position: absolute;
|
||||
top: 10px;
|
||||
right: 10px;
|
||||
color: white;
|
||||
}
|
||||
|
||||
.player-labels {
|
||||
list-style: none;
|
||||
padding-left: 0;
|
||||
margin-top: 0.5em;
|
||||
}
|
||||
|
||||
.player-labels li {
|
||||
text-align: right;
|
||||
margin-bottom: 0.5em;
|
||||
}
|
||||
</style>
|
||||
|
|
|
@ -2,13 +2,12 @@
|
|||
import { afterNavigate } from "$app/navigation";
|
||||
|
||||
import "./style.css";
|
||||
import Fa from 'svelte-fa'
|
||||
import { faBars } from '@fortawesome/free-solid-svg-icons'
|
||||
import Fa from "svelte-fa";
|
||||
import { faBars } from "@fortawesome/free-solid-svg-icons";
|
||||
|
||||
import { get_session_token, clear_session_token } from "$lib/auth";
|
||||
import { currentUser } from "$lib/stores/current_user";
|
||||
|
||||
|
||||
import { onMount } from "svelte";
|
||||
|
||||
// TODO: ideally we'd not store this in the user session,
|
||||
|
|
|
@ -29,6 +29,7 @@
|
|||
|
||||
export let matchLog: string | undefined;
|
||||
export let matchData: object;
|
||||
let showSidebar = true;
|
||||
|
||||
onMount(async () => {
|
||||
const apiClient = new ApiClient();
|
||||
|
@ -54,6 +55,10 @@
|
|||
return matchPlayer["owner_id"] === user?.["user_id"];
|
||||
}
|
||||
|
||||
function toggleSidebar() {
|
||||
showSidebar = !showSidebar;
|
||||
}
|
||||
|
||||
// using the same value here causes svelte to freeze
|
||||
let dropdownSelectedPlayer: any;
|
||||
let selectedPlayer: any;
|
||||
|
@ -65,8 +70,14 @@
|
|||
</script>
|
||||
|
||||
<div class="container">
|
||||
<Visualizer {matchLog} {matchData} />
|
||||
{#if playersWithVisibleLog.length > 0}
|
||||
<Visualizer {matchLog} {matchData}>
|
||||
<div slot="menu">
|
||||
{#if playersWithVisibleLog.length > 0}
|
||||
<div class="toggle-sidebar" on:click={toggleSidebar}>toggle sidebar</div>
|
||||
{/if}
|
||||
</div>
|
||||
</Visualizer>
|
||||
{#if showSidebar && playersWithVisibleLog.length > 0}
|
||||
<div class="output-pane">
|
||||
<div class="player-select">
|
||||
{#if playersWithVisibleLog.length == 1}
|
||||
|
@ -126,4 +137,9 @@
|
|||
flex-direction: column;
|
||||
background-color: variables.$bg-color;
|
||||
}
|
||||
|
||||
.toggle-sidebar:hover {
|
||||
cursor: pointer;
|
||||
color: #ccc;
|
||||
}
|
||||
</style>
|
||||
|
|
Loading…
Reference in a new issue