${renderTable(
[t("table.name"), t("table.class"), t("table.brand"), t("table.transponder"), t("events.actions")],
- state.drivers.map(
+ filteredDrivers.map(
(d) => `
| ${escapeHtml(d.name)} |
@@ -2922,6 +2936,15 @@ function renderDrivers() {
renderView();
});
+ document.getElementById("driverBrandFilter")?.addEventListener("input", (event) => {
+ const input = event.currentTarget;
+ if (!(input instanceof HTMLInputElement)) {
+ return;
+ }
+ driverBrandFilter = input.value;
+ renderDrivers();
+ });
+
state.drivers.forEach((d) => {
document.getElementById(`driver-edit-${d.id}`)?.addEventListener("click", () => {
selectedDriverEditId = d.id;
@@ -2990,6 +3013,11 @@ function renderDrivers() {
}
function renderCars() {
+ const filteredCars = state.cars.filter((car) =>
+ String(car.brand || "")
+ .toLowerCase()
+ .includes(carBrandFilter.trim().toLowerCase())
+ );
const editingCar = state.cars.find((car) => car.id === selectedCarEditId) || null;
dom.view.innerHTML = `
@@ -3004,10 +3032,13 @@ function renderCars() {