Modrinth/components/SearchFilter.vue
Prospector 7b84d8c3d5
[WIP] Rework design (#34)
* WIP: Redesign the default layout

* Merge old & new default layouts

* Fix login logic; add proper user controls dropdown

* Fix latest version listing (#31) (#32)

Co-authored-by: Aeledfyr <45501007+Aeledfyr@users.noreply.github.com>

* First pass of design cleanup

* Improve ad integration and fix light theme

* Begin splitting up variables, change some styling to new mockup

* Continue redesign progress

* Work on some more pages

* Add missing dark theme variables for text

* Continue working on modularizing

* Continue progress, redo pagination

* Fix auth buttons in navbar layout

* Continue progress

* Continue progress more

* Redo ModResult

* Scope ModPage :irritater:

* Continue Dashboard

* Continue progress on Dashboard and cleanup

* Add missing variables for dark theme

* Small tweaks, cleanup, and continue mod page progress

* Fix user not being able to see hidden mods that they own

* Start reworking mod creation

* Continue revamp of mod creation page

* Yank v-html out

* Hotfix markdown rendering and some spacing issues

* Move legal; continue with mod creation; create reusable footer

* Create README.md

* Update README.md

* Update README.md

* Add in basic usage instructions

* Fix some stuff

* Continue with mod creation; fix some CSS errors

* Start user page

* Start transition to vue-select; fix a few bugs

* Continue mod creation page

* Finish mod pages

* Add very raw version editing

* Mod editing + creation

* Fixed versions that were in processing causing a 404 (#39)

Co-authored-by: Mikhail Oleynikov <falseresync@gmail.com>
Co-authored-by: Aeledfyr <45501007+Aeledfyr@users.noreply.github.com>
Co-authored-by: Jai A <jai.a@tuta.io>
Co-authored-by: MulverineX <mulverin3@gmail.com>
Co-authored-by: diabolical17 <calumproh28@gmail.com>
Co-authored-by: Geometrically <18202329+Geometrically@users.noreply.github.com>
2020-11-30 14:55:01 -07:00

72 lines
1.1 KiB
Vue

<template>
<p
class="filter"
:class="{
'filter-active': activeFilters.includes(facetName),
cursed: displayName == 'FlameAnvil',
}"
@click="toggle"
>
<slot></slot>
{{ displayName }}
</p>
</template>
<script>
export default {
name: 'SearchFilter',
props: {
facetName: {
type: String,
default: '',
},
displayName: {
type: String,
default: '',
},
activeFilters: {
type: Array,
default() {
return []
},
},
},
methods: {
toggle() {
this.$emit('toggle', this.facetName)
},
},
}
</script>
<style lang="scss">
.filter {
display: flex;
align-items: center;
cursor: pointer;
padding: 0.4rem 0.3rem;
margin: 3px 0 0 0.5rem;
font-size: 1rem;
letter-spacing: 0.02rem;
@extend %transparent-clickable;
@media screen and (min-width: 1024px) {
padding: 0.2rem 0.3rem;
}
svg {
color: var(--color-icon);
margin-right: 5px;
height: 1rem;
flex-shrink: 0;
}
}
.filter-active {
@extend %transparent-clickable.selected;
svg {
color: var(--color-brand-light);
}
}
</style>