This commit is contained in:
parent
1414439ceb
commit
7a613ac191
@ -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,
|
||||
|
@ -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"
|
||||
|
Loading…
x
Reference in New Issue
Block a user