diff --git a/components/PartsList/index.js b/components/PartsList/index.js
index 0972b91..e3ecf91 100644
--- a/components/PartsList/index.js
+++ b/components/PartsList/index.js
@@ -7,6 +7,8 @@ import { FilterContainer } from "../StyledFilter/StyledFilter.styled.js";
export default function PartsList({ parts }) {
const [categoryFilter, setCategoryFilter] = useState("alle");
const [statusFilter, setStatusFilter] = useState("alle");
+ const [activeCategoryFilter, setActiveCategoryFilter] = useState("alle");
+ const [activeStatusFilter, setActiveStatusFilter] = useState("alle");
// filter the parts array based on the categoryFilter and statusFilter
const filteredParts = parts.filter((part) => {
@@ -30,31 +32,86 @@ export default function PartsList({ parts }) {
<>
{/* render a filterButton for each object in 'sets' with given 'function', 'value to set' and 'name' */}
+ {/* funct2 + value2 for activeFilter-highlighting */}
diff --git a/components/StyledFilter/StyledFilter.styled.js b/components/StyledFilter/StyledFilter.styled.js
index ffb4c3a..02080ec 100644
--- a/components/StyledFilter/StyledFilter.styled.js
+++ b/components/StyledFilter/StyledFilter.styled.js
@@ -16,5 +16,5 @@ export const FilterButtonContainer = styled.section`
`;
export const FilterButton = styled.button`
- font-weight: bold;
+ ${(props) => (props.isActiveFilter === true ? "font-weight: bold" : "")}
`;
diff --git a/components/StyledFilter/index.js b/components/StyledFilter/index.js
index e0e36b0..30d6dde 100644
--- a/components/StyledFilter/index.js
+++ b/components/StyledFilter/index.js
@@ -1,12 +1,19 @@
import { FilterButtonContainer, FilterButton } from "./StyledFilter.styled";
-export default function StyledFilter({ sets }) {
- // Mapping over the "sets" array and rendering a FilterButton component for each element with the given "function", "value to set" and "name"
+export default function StyledFilter({ filters, activeFilter }) {
+ // Mapping over given "filters" array of objects and rendering a FilterButton component for each element with the given "functionToSet", "valueToSet" and "buttonName"
return (
- {sets.map((set) => (
- set.funct(set.value)}>
- {set.name}
+ {filters.map((filter) => (
+ {
+ filter.functionToSet(filter.valueToSet);
+ filter.activeFunctionToSet(filter.activeValueToSet);
+ }}
+ isActiveFilter={filter.activeValueToSet === activeFilter}
+ >
+ {filter.buttonName}
))}