diff options
Diffstat (limited to 'web/pw-server/src/lib/components/log_viewer/PlayerLog.svelte')
-rw-r--r-- | web/pw-server/src/lib/components/log_viewer/PlayerLog.svelte | 39 |
1 files changed, 39 insertions, 0 deletions
diff --git a/web/pw-server/src/lib/components/log_viewer/PlayerLog.svelte b/web/pw-server/src/lib/components/log_viewer/PlayerLog.svelte new file mode 100644 index 0000000..450fdf2 --- /dev/null +++ b/web/pw-server/src/lib/components/log_viewer/PlayerLog.svelte @@ -0,0 +1,39 @@ +<script lang="ts"> + import { parsePlayerLog, PlayerLog } from "$lib/log_parser"; + import LogTurn from "./LogTurn.svelte"; + + export let matchLog: string; + export let playerId: number; + + let playerLog: PlayerLog; + let showRawStderr = false; + + $: if (matchLog) { + playerLog = parsePlayerLog(playerId, matchLog); + } else { + playerLog = []; + } +</script> + +<div class="output"> + {#if showRawStderr} + <div class="output-text stderr-text"> + {playerLog.flatMap((turn) => turn.stderr).join("\n")} + </div> + {:else} + <!-- The log should be rerendered when playerId changes --> + {#key playerId} + <div class="log-contents"> + {#each playerLog as logTurn, turnNum} + <LogTurn {logTurn} {turnNum} /> + {/each} + </div> + {/key} + {/if} +</div> + +<style lang="scss"> + .output { + background-color: rgb(41, 41, 41); + } +</style> |