From 33bcbece88308c4df1f67ea11a9551a143bfe9c1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C3=81lvaro?= Date: Sun, 9 Jun 2024 03:25:31 +0200 Subject: [PATCH] fix role filtering --- .../live/champion_live/index.ex | 24 +++++++++++-------- 1 file changed, 14 insertions(+), 10 deletions(-) diff --git a/apps/lol_analytics_web/lib/lol_analytics_web/live/champion_live/index.ex b/apps/lol_analytics_web/lib/lol_analytics_web/live/champion_live/index.ex index 46ece5c..5765602 100644 --- a/apps/lol_analytics_web/lib/lol_analytics_web/live/champion_live/index.ex +++ b/apps/lol_analytics_web/lib/lol_analytics_web/live/champion_live/index.ex @@ -11,22 +11,26 @@ defmodule LoLAnalyticsWeb.ChampionLive.Index do @behaviour LolAnalyticsWeb.ChampionFilters.EventHandler @impl true - def mount(_params, _session, socket) do + def mount(params, _session, socket) do + role = + case params["role"] do + role -> role + _ -> "all" + end + socket = socket |> assign(:champions, %{status: :loading}) - |> load_champs("all") - |> assign(:selected_role, "all") + |> load_champs(role) {:ok, socket} end def handle_params(params, _uri, socket) do - socket = - case params["role"] do - role -> {:noreply, assign(socket, selected_role: role)} - _ -> {:noreply, socket} - end + case params["role"] do + role -> {:noreply, assign(socket, selected_role: role)} + _ -> {:noreply, socket} + end end @impl true @@ -50,8 +54,8 @@ defmodule LoLAnalyticsWeb.ChampionLive.Index do ) end - def handle_async(:get_champs, {:ok, fetched_events} = params, socket) do - {:noreply, assign(socket, :champions, %{status: :data, data: fetched_events})} + def handle_async(:get_champs, {:ok, champs}, socket) do + {:noreply, assign(socket, :champions, %{status: :data, data: champs})} end def render_champions(assigns) do