fix: more alignment with the old shell

Co-authored-by: Copilot <copilot@github.com>
This commit is contained in:
2026-04-26 07:44:31 +02:00
parent 05ef128c71
commit 689166a80d
3 changed files with 26 additions and 7 deletions

View File

@@ -587,13 +587,23 @@ defmodule BDS.Desktop.ShellLive do
</div> </div>
<% end %> <% end %>
<%= if Map.get(@sidebar_filters_config, :has_more) do %> """
<div class="sidebar-load-more"> else
<button class="load-more-button" data-testid="sidebar-load-more" type="button" phx-click="load_more_sidebar"> ~H"""
<%= translated("Load more") %> """
</button> end
</div> end
<% end %>
defp render_sidebar_load_more(assigns) do
filters = Map.get(assigns.sidebar_data, :filters, %{})
if Map.get(filters, :has_more) do
~H"""
<div class="sidebar-load-more">
<button class="load-more-button" data-testid="sidebar-load-more" type="button" phx-click="load_more_sidebar">
<%= translated("Load more") %>
</button>
</div>
""" """
else else
~H""" ~H"""

View File

@@ -120,6 +120,7 @@
</div> </div>
<%= render_sidebar_filters(assigns) %> <%= render_sidebar_filters(assigns) %>
<%= render_sidebar_body(assigns) %> <%= render_sidebar_body(assigns) %>
<%= render_sidebar_load_more(assigns) %>
</div> </div>
</div> </div>
<div class="resizable-panel-divider sidebar-divider" data-resize="sidebar" data-role="resize-handle"></div> <div class="resizable-panel-divider sidebar-divider" data-resize="sidebar" data-role="resize-handle"></div>

View File

@@ -228,6 +228,7 @@ defmodule BDS.Desktop.ShellLiveTest do
assert html =~ ~s(class="sidebar-section-header") assert html =~ ~s(class="sidebar-section-header")
assert html =~ ~s(class="sidebar-actions") assert html =~ ~s(class="sidebar-actions")
assert html =~ ~s(data-testid="sidebar-load-more") assert html =~ ~s(data-testid="sidebar-load-more")
assert html_position(html, ~s(data-testid="sidebar-load-more")) > html_position(html, ">Archived<")
refute html =~ ~s(data-testid="sidebar-filter-tag") refute html =~ ~s(data-testid="sidebar-filter-tag")
assert html =~ "Alpha Post" assert html =~ "Alpha Post"
refute html =~ "Overflow Post" refute html =~ "Overflow Post"
@@ -398,6 +399,13 @@ defmodule BDS.Desktop.ShellLiveTest do
assert count == length(entries) assert count == length(entries)
end end
defp html_position(html, needle) do
case :binary.match(html, needle) do
{index, _length} -> index
:nomatch -> -1
end
end
defp sidebar_post(project_id, slug, title, timestamp, tags, categories) do defp sidebar_post(project_id, slug, title, timestamp, tags, categories) do
%{ %{
id: Ecto.UUID.generate(), id: Ecto.UUID.generate(),