1
0
mirror of https://github.com/danbee/chess synced 2025-03-04 08:39:06 +00:00

WIP: Game info

This commit is contained in:
Daniel Barber 2021-07-17 21:01:11 -05:00
parent 3543ccdcae
commit 87504064e7
3 changed files with 32 additions and 6 deletions

View File

@ -0,0 +1,6 @@
<div class="game-info">
<p>
Playing <%= opponent(@game, @user.id).name %>
<img class="game-info__opponent-status" src="/images/eye-closed.svg" alt="offline">
</p>
</div>

View File

@ -6,12 +6,11 @@
session: %{"user_id" => current_user(@conn).id, "game_id" => @game.id}
) %>
<div class="game-info">
<p>
Playing <%= opponent(@game, current_user(@conn).id).name %>
<img class="game-info__opponent-status" src="/images/eye-closed.svg" alt="offline">
</p>
</div>
<%= live_render(
@conn,
ChessWeb.GameInfoLive,
session: %{"user_id" => current_user(@conn).id, "game_id" => @game.id}
) %>
<div class="move-list">
<table class="table table--condensed">

View File

@ -0,0 +1,21 @@
defmodule ChessWeb.GameInfoLive do
use Phoenix.LiveView
alias Chess.Store.User
alias Chess.Store.Game
alias Chess.Repo
def render(assigns) do
Phoenix.View.render(ChessWeb.GameView, "game_info.html", assigns)
end
def mount(_params, %{"game_id" => game_id, "user_id" => user_id}, socket) do
user = Repo.get!(User, user_id)
game =
Game.for_user(user)
|> Repo.get!(game_id)
{:ok, assign(socket, game: game, user: user)}
end
end