diff --git a/apps/lol_analytics/lib/lol_analytics/facts/champion_picked_item/repo.ex b/apps/lol_analytics/lib/lol_analytics/facts/champion_picked_item/repo.ex index c6925b6..2e2850c 100644 --- a/apps/lol_analytics/lib/lol_analytics/facts/champion_picked_item/repo.ex +++ b/apps/lol_analytics/lib/lol_analytics/facts/champion_picked_item/repo.ex @@ -51,14 +51,14 @@ defmodule LolAnalytics.Facts.ChampionPickedItem.Repo do |> Repo.insert_or_update() end - @spec get_champion_picked_items(String.t(), String.t()) :: list() - def get_champion_picked_items(champion_id, team_position) do + @spec get_champion_picked_items(String.t(), String.t(), String.t()) :: list() + def get_champion_picked_items(champion_id, team_position, patch_number) do query = from f in Schema, where: f.champion_id == ^champion_id and f.team_position == ^team_position and - f.item_id != 0, + f.item_id != 0 and f.patch_number == ^patch_number, join: c in ChampionSchema, on: c.champion_id == f.champion_id, join: i in ItemSchema, 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 307f1d1..2e66c53 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 @@ -13,15 +13,15 @@ defmodule LoLAnalyticsWeb.ChampionLive.Show do end @impl true - def handle_params(%{"id" => id, "team-position" => team_position}, _, socket) do + def handle_params(%{"id" => id, "team-position" => team_position, "patch" => patch}, _, socket) do {:noreply, socket |> assign(:page_title, page_title(socket.assigns.live_action)) - |> assign(:champion, load_champion_info(id) |> ShowMapper.map_champion()) + |> assign(:champion, load_champion_info(id)) |> assign(:summoner_spells, %{ - summoner_spells: load_summoner_spells(id, team_position) |> ShowMapper.map_spells() + summoner_spells: load_summoner_spells(id, team_position) }) - |> load_items(id, team_position)} + |> load_items(id, team_position, patch)} end defp load_summoner_spells(champion_id, team_position) do @@ -29,13 +29,15 @@ defmodule LoLAnalyticsWeb.ChampionLive.Show do champion_id, team_position ) + |> ShowMapper.map_spells() end - defp load_items(socket, champion_id, team_position) do + defp load_items(socket, champion_id, team_position, patch) do items = LolAnalytics.Facts.ChampionPickedItem.Repo.get_champion_picked_items( champion_id, - team_position + team_position, + patch ) all_items_mapped = items |> ShowMapper.map_items() |> Enum.take(30) @@ -48,6 +50,7 @@ defmodule LoLAnalyticsWeb.ChampionLive.Show do defp load_champion_info(champion_id) do LolAnalytics.Dimensions.Champion.ChampionRepo.get_or_create(champion_id) + |> ShowMapper.map_champion() end defp page_title(:show), do: "Show Champion"