2f8c184dc6
Server-side, URL-search-param-driven filtering (?status=&paymentStatus=&year=) so the page stays a Server Component — each filter chip is a plain Link to the same route with one param changed, shareable/bookmarkable/back- button-safe for free. getCustomerOrders() gained an optional filters param translated into additional Payload where[] clauses; a new getCustomerOrderYears() derives the year filter's option list from the customer's actual orders instead of a hardcoded range. paymentStatus's "Offen" filter option mirrors PaymentStatusBadge's own grouping (pending + not_applicable as one option, not two). Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>