feat(member): condense the overview into composite name and address cells

This commit is contained in:
Simon 2026-07-03 11:35:46 +02:00
parent b79d7ac9ea
commit af2cc2e0d4
17 changed files with 716 additions and 93 deletions

View file

@ -953,6 +953,11 @@ defmodule MvWeb.CoreComponents do
doc:
"when true, first header/body column gets sticky left positioning to keep selection controls visible"
attr :sticky_second_col, :boolean,
default: false,
doc:
"when true, the second column is also pinned left (e.g. an identifier column kept visible while scrolling horizontally)"
attr :viewport_bottom, :any,
default: nil,
doc:
@ -1018,7 +1023,9 @@ defmodule MvWeb.CoreComponents do
:for={{col, col_idx} <- Enum.with_index(@col)}
class={[
table_th_class(col, @sticky_header),
@sticky_first_col && col_idx == 0 && "sticky left-0 z-30 bg-base-100"
@sticky_first_col && col_idx == 0 &&
"sticky-first-col-th sticky left-0 z-30 bg-base-100",
@sticky_second_col && col_idx == 1 && "sticky left-12 z-30 bg-base-100"
]}
aria-sort={table_th_aria_sort(col, @sort_field, @sort_order)}
>
@ -1079,6 +1086,13 @@ defmodule MvWeb.CoreComponents do
classes
end
classes =
if @sticky_second_col && col_idx == 1 do
["sticky left-12 z-20 bg-base-100" | classes]
else
classes
end
classes =
if col_class == nil || (col_class && !String.contains?(col_class, "text-center")) do
["truncate" | classes]