[faq] add filtering

This commit is contained in:
Avris 2021-10-16 18:34:11 +02:00
parent aa1708091e
commit 28e6af3439
2 changed files with 28 additions and 3 deletions

View File

@ -532,7 +532,7 @@ faq:
Osoby mogące zajść w ciążę <em>przesadzają</em> chcąc praw reprodukcyjnych niebędących kompromisem między prawicą a skrajną prawicą. Osoby mogące zajść w ciążę <em>przesadzają</em> chcąc praw reprodukcyjnych niebędących kompromisem między prawicą a skrajną prawicą.
Osoby czarnoskóre <em>przesadzają</em> z tą walką z rasizmem, nie wystarczy im zniesienie niewolnictwa? Osoby czarnoskóre <em>przesadzają</em> z tą walką z rasizmem, nie wystarczy im zniesienie niewolnictwa?
- > - >
Oprawcy lubią zrzucać winę na ofiary. Zgrywać dobrotliwych stróżów praw człowieka Opresorzy lubią zrzucać winę na ofiary. Zgrywać dobrotliwych stróżów praw człowieka
pilnujących, by <em>nieodpowiednim</em> ludziom się ich za dużo nie dostało. pilnujących, by <em>nieodpowiednim</em> ludziom się ich za dużo nie dostało.
Ale prawa człowieka nie powinny być negocjowalne ani warunkowe. Ale prawa człowieka nie powinny być negocjowalne ani warunkowe.
- > - >

View File

@ -2,12 +2,24 @@
<div> <div>
<LinksNav v-if="config.links.enabled"/> <LinksNav v-if="config.links.enabled"/>
<h2> <h2 class="mb-4">
<Icon v="map-marker-question"/> <Icon v="map-marker-question"/>
<T>faq.headerLong</T> <T>faq.headerLong</T>
</h2> </h2>
<details class="border mb-3" open> <section>
<div class="input-group mb-3 bg-white">
<span class="input-group-text">
<Icon v="filter"/>
</span>
<input class="form-control border-primary" v-model="filter" :placeholder="$t('crud.filterLong')" ref="filter"/>
<button v-if="filter" class="btn btn-outline-danger" @click="filter = ''; $refs.filter.focus()">
<Icon v="times"/>
</button>
</div>
</section>
<details class="border mb-3" open v-show="!filter || $t('home.mission.header').toLowerCase().includes(filter.toLowerCase())">
<summary class="d-none"/> <summary class="d-none"/>
<div class="px-3"> <div class="px-3">
<Mission/> <Mission/>
@ -18,6 +30,9 @@
:question="question" :question="question"
:id="question" :ref="question.replace(/-/g, '_')" :id="question" :ref="question.replace(/-/g, '_')"
@click="setHash('', question)" @click="setHash('', question)"
v-show="!filter
|| $t(`faq.questions.${question}.question`).toLowerCase().includes(filter.toLowerCase())
|| $t(`faq.questions.${question}.answer`).join('|').toLowerCase().includes(filter.toLowerCase())"
/> />
<section> <section>
@ -32,6 +47,11 @@
export default { export default {
mixins: [ hash ], mixins: [ hash ],
data() {
return {
filter: '',
}
},
mounted() { mounted() {
this.handleHash('', hash => { this.handleHash('', hash => {
const $component = this.$refs[hash.replace(/-/g, '_')]; const $component = this.$refs[hash.replace(/-/g, '_')];
@ -56,9 +76,14 @@
</script> </script>
<style lang="scss" scoped> <style lang="scss" scoped>
@import "assets/variables";
details { details {
summary { summary {
font-weight: bold; font-weight: bold;
} }
&[open] {
box-shadow: $box-shadow;
}
} }
</style> </style>