feat: ccloseout of changes for audit

This commit is contained in:
2026-06-22 11:17:03 +02:00
parent e1abe457e8
commit cea47f10e2
7 changed files with 85 additions and 64 deletions

View File

@@ -3,24 +3,6 @@ defmodule BDS.Desktop.ShellLive.SidebarEvents do
alias BDS.Desktop.ShellLive.SidebarState, as: ShellSidebarState
@event_handlers %{
"toggle_sidebar_filters" => :toggle_sidebar_filters,
"toggle_sidebar_archive" => :toggle_sidebar_archive,
"toggle_sidebar_tags" => :toggle_sidebar_tags,
"toggle_sidebar_categories" => :toggle_sidebar_categories,
"update_sidebar_search" => :update_sidebar_search,
"clear_sidebar_search" => :clear_sidebar_search,
"clear_sidebar_tags" => :clear_sidebar_tags,
"clear_sidebar_categories" => :clear_sidebar_categories,
"toggle_sidebar_tag" => :toggle_sidebar_tag,
"toggle_sidebar_category" => :toggle_sidebar_category,
"select_sidebar_year" => :select_sidebar_year,
"select_sidebar_month" => :select_sidebar_month,
"clear_sidebar_month" => :clear_sidebar_month,
"clear_sidebar_filters" => :clear_sidebar_filters,
"load_more_sidebar" => :load_more_sidebar
}
@spec handle(Phoenix.LiveView.Socket.t(), String.t(), map(), (Phoenix.LiveView.Socket.t(),
term() ->
Phoenix.LiveView.Socket.t())) ::
@@ -29,14 +11,7 @@ defmodule BDS.Desktop.ShellLive.SidebarEvents do
{:noreply, dispatch(event, socket, params, reload)}
end
defp dispatch(event, socket, params, reload) do
case Map.fetch(@event_handlers, event) do
{:ok, handler} -> handle_event(handler, socket, params, reload)
:error -> socket
end
end
defp handle_event(:toggle_sidebar_filters, socket, _params, reload) do
defp dispatch("toggle_sidebar_filters", socket, _params, reload) do
socket =
ShellSidebarState.put_filter_panel_state(socket, fn state ->
if state.visible do
@@ -55,7 +30,7 @@ defmodule BDS.Desktop.ShellLive.SidebarEvents do
reload.(socket, socket.assigns.workbench)
end
defp handle_event(:toggle_sidebar_archive, socket, _params, reload) do
defp dispatch("toggle_sidebar_archive", socket, _params, reload) do
socket
|> ShellSidebarState.put_filter_panel_state(fn state ->
%{state | archive_collapsed: not state.archive_collapsed}
@@ -63,7 +38,7 @@ defmodule BDS.Desktop.ShellLive.SidebarEvents do
|> reload.(socket.assigns.workbench)
end
defp handle_event(:toggle_sidebar_tags, socket, _params, reload) do
defp dispatch("toggle_sidebar_tags", socket, _params, reload) do
socket
|> ShellSidebarState.put_filter_panel_state(fn state ->
%{state | tags_collapsed: not state.tags_collapsed}
@@ -71,7 +46,7 @@ defmodule BDS.Desktop.ShellLive.SidebarEvents do
|> reload.(socket.assigns.workbench)
end
defp handle_event(:toggle_sidebar_categories, socket, _params, reload) do
defp dispatch("toggle_sidebar_categories", socket, _params, reload) do
socket
|> ShellSidebarState.put_filter_panel_state(fn state ->
%{state | categories_collapsed: not state.categories_collapsed}
@@ -79,7 +54,7 @@ defmodule BDS.Desktop.ShellLive.SidebarEvents do
|> reload.(socket.assigns.workbench)
end
defp handle_event(:update_sidebar_search, socket, %{"sidebar_filters" => params}, reload) do
defp dispatch("update_sidebar_search", socket, %{"sidebar_filters" => params}, reload) do
socket
|> ShellSidebarState.put_filters(fn filters ->
Map.put(
@@ -91,25 +66,25 @@ defmodule BDS.Desktop.ShellLive.SidebarEvents do
|> reload.(socket.assigns.workbench)
end
defp handle_event(:clear_sidebar_search, socket, _params, reload) do
defp dispatch("clear_sidebar_search", socket, _params, reload) do
socket
|> ShellSidebarState.put_filters(fn filters -> Map.put(filters, :search, nil) end)
|> reload.(socket.assigns.workbench)
end
defp handle_event(:clear_sidebar_tags, socket, _params, reload) do
defp dispatch("clear_sidebar_tags", socket, _params, reload) do
socket
|> ShellSidebarState.put_filters(fn filters -> Map.put(filters, :tags, []) end)
|> reload.(socket.assigns.workbench)
end
defp handle_event(:clear_sidebar_categories, socket, _params, reload) do
defp dispatch("clear_sidebar_categories", socket, _params, reload) do
socket
|> ShellSidebarState.put_filters(fn filters -> Map.put(filters, :categories, []) end)
|> reload.(socket.assigns.workbench)
end
defp handle_event(:toggle_sidebar_tag, socket, %{"tag" => tag}, reload) do
defp dispatch("toggle_sidebar_tag", socket, %{"tag" => tag}, reload) do
socket
|> ShellSidebarState.put_filters(fn filters ->
ShellSidebarState.toggle_filter_value(filters, :tags, tag)
@@ -117,7 +92,7 @@ defmodule BDS.Desktop.ShellLive.SidebarEvents do
|> reload.(socket.assigns.workbench)
end
defp handle_event(:toggle_sidebar_category, socket, %{"category" => category}, reload) do
defp dispatch("toggle_sidebar_category", socket, %{"category" => category}, reload) do
socket
|> ShellSidebarState.put_filters(fn filters ->
ShellSidebarState.toggle_filter_value(filters, :categories, category)
@@ -125,7 +100,7 @@ defmodule BDS.Desktop.ShellLive.SidebarEvents do
|> reload.(socket.assigns.workbench)
end
defp handle_event(:select_sidebar_year, socket, %{"year" => year}, reload) do
defp dispatch("select_sidebar_year", socket, %{"year" => year}, reload) do
parsed_year = ShellSidebarState.parse_optional_integer(year)
socket
@@ -144,7 +119,7 @@ defmodule BDS.Desktop.ShellLive.SidebarEvents do
|> reload.(socket.assigns.workbench)
end
defp handle_event(:select_sidebar_month, socket, %{"year" => year, "month" => month}, reload) do
defp dispatch("select_sidebar_month", socket, %{"year" => year, "month" => month}, reload) do
socket
|> ShellSidebarState.put_filter_panel_state(fn state ->
%{
@@ -161,7 +136,7 @@ defmodule BDS.Desktop.ShellLive.SidebarEvents do
|> reload.(socket.assigns.workbench)
end
defp handle_event(:clear_sidebar_month, socket, _params, reload) do
defp dispatch("clear_sidebar_month", socket, _params, reload) do
socket
|> ShellSidebarState.put_filter_panel_state(fn state ->
%{state | archive_collapsed: false}
@@ -172,7 +147,7 @@ defmodule BDS.Desktop.ShellLive.SidebarEvents do
|> reload.(socket.assigns.workbench)
end
defp handle_event(:clear_sidebar_filters, socket, _params, reload) do
defp dispatch("clear_sidebar_filters", socket, _params, reload) do
socket
|> ShellSidebarState.put_filters(fn filters ->
filters
@@ -189,7 +164,7 @@ defmodule BDS.Desktop.ShellLive.SidebarEvents do
|> reload.(socket.assigns.workbench)
end
defp handle_event(:load_more_sidebar, socket, _params, reload) do
defp dispatch("load_more_sidebar", socket, _params, reload) do
socket
|> ShellSidebarState.put_filters(fn filters ->
Map.update(