Skip to content

Commit da667dd

Browse files
authored
feat: add current turn player name to card (#93)
1 parent 0c70ed5 commit da667dd

File tree

3 files changed

+18
-2
lines changed

3 files changed

+18
-2
lines changed

lib/viral_spiral_web/components/molecules.ex

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,14 +19,18 @@ defmodule ViralSpiralWeb.Molecules do
1919
attr :can_turn_fake, :boolean, required: true
2020
attr :can_use_power, :boolean, required: true
2121
attr :in_spec_mode, :boolean, default: false
22+
attr :current_turn_player_name, :string, default: nil
2223

2324
def card(assigns) do
2425
~H"""
2526
<div class="border-2 border-solid border-zinc-600 w-fit rounded-md bg-slate-50 flex flex-col gap-2 m-2">
2627
<!-- For Mobile -->
2728
<div class="flex-1">
29+
<p :if={@current_turn_player_name} class="text-sm ml-1">
30+
<strong>Turn:</strong> <%= @current_turn_player_name %>
31+
</p>
2832
<div class="relative w-full h-80 flex flex-col gap-2">
29-
<div class="mt-2">
33+
<div class={"#{if @current_turn_player_name, do: "", else: "mt-2"}"}>
3034
<img class="w-full h-80 object-contain" src={card_url(@card.image)} />
3135
</div>
3236
<p

lib/viral_spiral_web/live/multiplayer_room.html.heex

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -66,6 +66,7 @@
6666
from={@state.me.id}
6767
can_turn_fake={@state.power_turn_fake.enabled}
6868
can_use_power={@state.can_use_power}
69+
current_turn_player_name={@state.current_turn_player.name}
6970
/>
7071
</div>
7172
</div>

lib/viral_spiral_web/live/multiplayer_room/state_adapter.ex

Lines changed: 12 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -41,10 +41,21 @@ defmodule ViralSpiralWeb.MultiplayerRoom.StateAdapter do
4141
}
4242
end),
4343
others: make_others(state, other_players),
44-
current_holder_name: make_current_holder_text(state)
44+
current_holder_name: make_current_holder_text(state),
45+
current_turn_player: make_turn_player(state)
4546
}
4647
end
4748

49+
def make_turn_player(%State{} = state) do
50+
round = state.round
51+
# Order of players (list)
52+
order = round.order
53+
current_player_index = round.current
54+
current_turn_player_id = Enum.at(order, current_player_index)
55+
current_turn_player = state.players[current_turn_player_id]
56+
%{id: current_turn_player_id, name: current_turn_player.name}
57+
end
58+
4859
defp make_me(%State{} = state, player) do
4960
%{
5061
id: player.id,

0 commit comments

Comments
 (0)