diff --git a/client/src/components/instruments/FilterEntry.vue b/client/src/components/instruments/FilterEntry.vue
new file mode 100644
index 00000000..1b058eaf
--- /dev/null
+++ b/client/src/components/instruments/FilterEntry.vue
@@ -0,0 +1,41 @@
+
+
+ {{ text }}
+
+
+
+
+
+
diff --git a/client/src/components/instruments/FilterGroup.vue b/client/src/components/instruments/FilterGroup.vue
index e9313a58..a4ff330e 100644
--- a/client/src/components/instruments/FilterGroup.vue
+++ b/client/src/components/instruments/FilterGroup.vue
@@ -1,18 +1,38 @@
@@ -21,5 +41,11 @@
.filter-group {
border-bottom: 1px solid black;
+ display: flex;
+ flex-direction: column;
+
+ &__children {
+ padding-left: $medium-spacing;
+ }
}
diff --git a/client/src/components/instruments/InstrumentEntry.vue b/client/src/components/instruments/InstrumentEntry.vue
new file mode 100644
index 00000000..ea127195
--- /dev/null
+++ b/client/src/components/instruments/InstrumentEntry.vue
@@ -0,0 +1,85 @@
+
+
+
{{ categoryName }}
+ {{ instrument.title }}
+
+
+
+
+
+
diff --git a/client/src/components/instruments/InstrumentFilter.vue b/client/src/components/instruments/InstrumentFilter.vue
index 9e7e356b..514b9c46 100644
--- a/client/src/components/instruments/InstrumentFilter.vue
+++ b/client/src/components/instruments/InstrumentFilter.vue
@@ -2,24 +2,37 @@
+ data-cy="filter-all-instruments"
+ @click="setFilter(i=>i)"/>
+ data-cy="filter-language-communication"
+ @filter="setFilter($event)"
+ @click="setFilter(i=>i.type.category===LANGUAGE_COMMUNICATION)"
+ />
+ data-cy="filter-society"
+ @filter="setFilter($event)"
+ @click="setFilter(i=>i.type.category===SOCIETY)"/>
+ data-cy="filter-interdisciplinary"
+ @filter="setFilter($event)"
+ @click="setFilter(i=>i.type.category===INTERDISCIPLINARY)"/>