From bd8148f3e2bc9402a6b160fea79a382a9a44ed6a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C3=81lvaro?= Date: Thu, 13 Jun 2024 21:57:37 +0200 Subject: [PATCH] update summoner_spells component --- .../champion_components/summoner_spell.ex | 42 ------------------- .../champion_components/summoner_spells.ex | 19 +++++++++ .../live/champion_live/show.ex | 6 ++- .../live/champion_live/show_mapper.ex | 21 +++++----- 4 files changed, 35 insertions(+), 53 deletions(-) delete mode 100644 apps/lol_analytics_web/lib/lol_analytics_web/components/champion_components/summoner_spell.ex create mode 100644 apps/lol_analytics_web/lib/lol_analytics_web/components/champion_components/summoner_spells.ex diff --git a/apps/lol_analytics_web/lib/lol_analytics_web/components/champion_components/summoner_spell.ex b/apps/lol_analytics_web/lib/lol_analytics_web/components/champion_components/summoner_spell.ex deleted file mode 100644 index 968582a..0000000 --- a/apps/lol_analytics_web/lib/lol_analytics_web/components/champion_components/summoner_spell.ex +++ /dev/null @@ -1,42 +0,0 @@ -defmodule LolAnalyticsWeb.ChampionComponents.SummonerSpells.Props.SummonerSpell do - defstruct [:id, :name, :win_rate, :wins, :total_games, :image] - - @type t :: %{ - id: integer(), - win_rate: float(), - wins: integer(), - total_games: integer(), - image: String.t(), - name: String.t() - } -end - -defmodule LolAnalyticsWeb.ChampionComponents.SummonerSpells.Props do - alias LolAnalyticsWeb.ChampionComponents.SummonerSpells.Props.SummonerSpell - - defstruct spell: %SummonerSpell{} - - @type t :: %{spell: SummonerSpell.t()} -end - -defmodule LolAnalyticsWeb.ChampionComponents.SummonerSpell do - alias LolAnalyticsWeb.ChampionComponents.SummonerSpells.Props - use Phoenix.Component - - attr :spells, Props, default: %Props{} - - def summoner_spells(assigns) do - ~H""" -
- <%= for spell <- assigns.spells.summoner_spells do %> -
- -

<%= spell.spell.name %>

-

<%= spell.spell.win_rate %>%

-

<%= spell.spell.wins %>/<%= spell.spell.total_games %>

-
- <% end %> -
- """ - end -end diff --git a/apps/lol_analytics_web/lib/lol_analytics_web/components/champion_components/summoner_spells.ex b/apps/lol_analytics_web/lib/lol_analytics_web/components/champion_components/summoner_spells.ex new file mode 100644 index 0000000..b4cf14b --- /dev/null +++ b/apps/lol_analytics_web/lib/lol_analytics_web/components/champion_components/summoner_spells.ex @@ -0,0 +1,19 @@ +defmodule LolAnalyticsWeb.ChampionComponents.SummonerSpells do + alias LolAnalyticsWeb.ChampionComponents.SummonerSpells.Props + use Phoenix.Component + + def summoner_spells(assigns) do + ~H""" +
+ <%= for spell <- assigns.spells.summoner_spells do %> +
+ +

<%= spell.name %>

+

<%= spell.win_rate %>%

+

<%= spell.wins %>/<%= spell.total_games %>

+
+ <% end %> +
+ """ + end +end diff --git a/apps/lol_analytics_web/lib/lol_analytics_web/live/champion_live/show.ex b/apps/lol_analytics_web/lib/lol_analytics_web/live/champion_live/show.ex index f156122..8eee05a 100644 --- a/apps/lol_analytics_web/lib/lol_analytics_web/live/champion_live/show.ex +++ b/apps/lol_analytics_web/lib/lol_analytics_web/live/champion_live/show.ex @@ -1,7 +1,7 @@ defmodule LoLAnalyticsWeb.ChampionLive.Show do use LoLAnalyticsWeb, :live_view - import LolAnalyticsWeb.ChampionComponents.SummonerSpell + import LolAnalyticsWeb.ChampionComponents.SummonerSpells import LolAnalyticsWeb.ChampionComponents.ChampionAvatar alias LolAnalyticsWeb.ChampionComponents.SummonerSpells.ShowMapper @@ -26,6 +26,10 @@ defmodule LoLAnalyticsWeb.ChampionLive.Show do LolAnalytics.Facts.ChampionPickedSummonerSpell.Repo.get_champion_picked_summoners(champion_id) end + defp load_items(champion_id) do + LolAnalytics.Facts.ChampionPickedItem.Repo.get_champion_picked_items(champion_id) + end + defp load_champion_info(champion_id) do champion = LolAnalytics.Dimensions.Champion.ChampionRepo.get_or_create(champion_id) diff --git a/apps/lol_analytics_web/lib/lol_analytics_web/live/champion_live/show_mapper.ex b/apps/lol_analytics_web/lib/lol_analytics_web/live/champion_live/show_mapper.ex index d66c270..0b9ab8e 100644 --- a/apps/lol_analytics_web/lib/lol_analytics_web/live/champion_live/show_mapper.ex +++ b/apps/lol_analytics_web/lib/lol_analytics_web/live/champion_live/show_mapper.ex @@ -13,21 +13,22 @@ defmodule LolAnalyticsWeb.ChampionComponents.SummonerSpells.ShowMapper do def map_spells(items) do items |> Enum.map(&map_spell/1) - |> Enum.sort(&(&1.spell.total_games > &2.spell.total_games)) + |> Enum.sort(&(&1.total_games > &2.total_games)) end def map_spell(spell) do image = spell.metadata["image"]["full"] - %LolAnalyticsWeb.ChampionComponents.SummonerSpells.Props{ - spell: %LolAnalyticsWeb.ChampionComponents.SummonerSpells.Props.SummonerSpell{ - id: spell.id, - win_rate: :erlang.float_to_binary(spell.win_rate, decimals: 2), - total_games: spell.total_games, - image: "https://ddragon.leagueoflegends.com/cdn/14.11.1/img/spell/#{image}", - name: spell.metadata["name"], - wins: spell.wins - } + %{ + id: spell["id"], + win_rate: :erlang.float_to_binary(spell.win_rate, decimals: 2), + total_games: spell.total_games, + image: "https://ddragon.leagueoflegends.com/cdn/14.11.1/img/spell/#{image}", + name: spell.metadata["name"], + wins: spell.wins } end + + def map_item(item) do + end end