feat(overview): rework filter builder with editable chips and native date ranges

Editable filter chips, uniformly-sized value controls, working field-picker
search, and native date-range inputs with relative presets in place of the
vendored calendar — native inputs give year-jump, manual entry and keyboard
accessibility for free.
This commit is contained in:
Simon 2026-07-10 16:27:15 +02:00
parent c0d1550401
commit 8303a39041
23 changed files with 1905 additions and 565 deletions

View file

@ -75,6 +75,20 @@ defmodule MvWeb.MemberLive.IndexPaymentPeriodTest do
tip = PaymentAging.period_tooltip(%{from: nil, to: nil})
assert is_binary(tip) and tip =~ "outstanding"
end
test "explains that the values refer to the filtered contribution period" do
# The header badge falls back to a plain "filtered" label whenever no
# compact short code fits (arbitrary or open-ended ranges); its tooltip
# must spell out what "filtered" means, not just repeat the range.
for period <- [
%{from: nil, to: nil},
%{from: ~D[2026-02-03], to: ~D[2026-08-17]},
%{from: ~D[2026-01-01], to: nil}
] do
tip = PaymentAging.period_tooltip(period)
assert tip =~ "refer to the filtered contribution period"
end
end
end
describe "payment-count filter codec" do