From 87504064e713f807d1db257fff54e62d48d0c5f6 Mon Sep 17 00:00:00 2001 From: Dan Barber Date: Sat, 17 Jul 2021 21:01:11 -0500 Subject: [PATCH] WIP: Game info --- .../templates/game/game_info.html.leex | 6 ++++++ lib/chess_web/templates/game/show.html.eex | 11 +++++----- lib/chess_web/views/live/game_info_live.ex | 21 +++++++++++++++++++ 3 files changed, 32 insertions(+), 6 deletions(-) create mode 100644 lib/chess_web/templates/game/game_info.html.leex create mode 100644 lib/chess_web/views/live/game_info_live.ex diff --git a/lib/chess_web/templates/game/game_info.html.leex b/lib/chess_web/templates/game/game_info.html.leex new file mode 100644 index 0000000..3a830b8 --- /dev/null +++ b/lib/chess_web/templates/game/game_info.html.leex @@ -0,0 +1,6 @@ +
+

+ Playing <%= opponent(@game, @user.id).name %> + offline +

+
diff --git a/lib/chess_web/templates/game/show.html.eex b/lib/chess_web/templates/game/show.html.eex index 560399e..19181e3 100644 --- a/lib/chess_web/templates/game/show.html.eex +++ b/lib/chess_web/templates/game/show.html.eex @@ -6,12 +6,11 @@ session: %{"user_id" => current_user(@conn).id, "game_id" => @game.id} ) %> -
-

- Playing <%= opponent(@game, current_user(@conn).id).name %> - offline -

-
+ <%= live_render( + @conn, + ChessWeb.GameInfoLive, + session: %{"user_id" => current_user(@conn).id, "game_id" => @game.id} + ) %>
diff --git a/lib/chess_web/views/live/game_info_live.ex b/lib/chess_web/views/live/game_info_live.ex new file mode 100644 index 0000000..642a805 --- /dev/null +++ b/lib/chess_web/views/live/game_info_live.ex @@ -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