fix: multi-tariff filter shows all users when >1 tariffs selected

Server only supports single tariff_id filter. When multiple tariffs
are selected, apply client-side filtering to hide users who have no
subscriptions matching any of the selected tariffs.
This commit is contained in:
Fringg
2026-04-24 07:08:40 +03:00
parent c32bcfeb9e
commit efca40d9c8

View File

@@ -1977,8 +1977,18 @@ export default function AdminBulkActions() {
[t, formatWithCurrency, expandedRows, toggleExpandRow, getFilteredSubs],
);
// When multiple tariffs are selected, filter users client-side
// (server only supports single tariff_id filter)
const filteredUsers = useMemo(() => {
if (tariffFilter.length <= 1) return users;
return users.filter((u) => {
const subs = u.subscriptions ?? [];
return subs.some((s) => s.tariff_id !== null && tariffFilter.includes(s.tariff_id));
});
}, [users, tariffFilter]);
const table = useReactTable({
data: users,
data: filteredUsers,
columns,
state: { rowSelection },
onRowSelectionChange: setRowSelection,