1
0
Fork 0
mirror of https://github.com/em-squared/5e-drs.git synced 2025-10-30 13:14:20 +00:00

amélioration du filtre des monstres par indice de dangerosité + crédits + corrections diverses

This commit is contained in:
Maxime Moraine 2020-05-18 17:03:41 +02:00
parent 414f02087c
commit 830b468ae2
15 changed files with 125 additions and 53 deletions

View file

@ -20,12 +20,16 @@
class="mt-6"
v-model="challengeRange"
min="0"
max="30"
:max="challenges.length-1"
thumb-size="24"
thumb-label="always"
hide-details
@end="onEndChallengeRange"
></v-range-slider>
>
<template v-slot:thumb-label="{ value }">
{{ challenges[value].label }}
</template>
</v-range-slider>
</v-expansion-panel-content>
</v-expansion-panel>
@ -69,13 +73,15 @@
<script>
// import { mapMutations } from 'vuex'
import { setUrlParams, getUrlParameter, setBooleanMutation, setListMutation } from '@theme/util/filterHelpers'
import { CHALLENGES } from '../../data/monsters'
export default {
name: 'MonsterFilters',
data () {
return {
panels: []
panels: [],
challenges: CHALLENGES
}
},
@ -138,7 +144,14 @@ export default {
methods: {
onEndChallengeRange () {
setUrlParams('trancheID', this.challengeRange)
if (this.challengeRange[0] > this.challengeRange[1]) {
let min = range[1]
let max = range[0]
this.challengeRange[0] = min
this.challengeRange[1] = max
}
let range = [Number(CHALLENGES[this.challengeRange[0]].value), Number(CHALLENGES[this.challengeRange[1]].value)]
setUrlParams('trancheID', range)
},
switchType () {
@ -218,8 +231,21 @@ export default {
let selectedEnvironments = getUrlParameter(window.location.href, "environnements").split(",")
let selectedDungeonTypes = getUrlParameter(window.location.href, "donjons").split(",")
if (challengeRange && challengeRange[0] != '') {
this.$store.commit('monsterFilters/setChallengeRange', challengeRange)
if (challengeRange && challengeRange[0] != '' && challengeRange[1] != '') {
let convertedChallengeRange = []
let min = CHALLENGES.findIndex(e => e.value == challengeRange[0])
if (min !== -1) {
convertedChallengeRange[0] = Number(min)
} else {
convertedChallengeRange[0] = Number(0)
}
let max = CHALLENGES.findIndex(e => e.value == challengeRange[1])
if (max !== -1) {
convertedChallengeRange[1] = Number(max)
} else {
convertedChallengeRange[1] = Number(CHALLENGES.length - 1)
}
this.$store.commit('monsterFilters/setChallengeRange', convertedChallengeRange)
}
setListMutation(selectedTypes, this.$store, 'monsterFilters/setTypesFromList')
setListMutation(selectedSizes, this.$store, 'monsterFilters/setSizesFromList')

View file

@ -106,17 +106,17 @@
</v-list-item-title>
</v-list-item-content>
</v-list-item>
<v-list-item v-if="$site.themeConfig.kofi" link :href="$site.themeConfig.kofi" target="_blank">
<v-list-item v-if="$site.themeConfig.kofi" @click.stop="toggleSupportDialog">
<v-list-item-icon>
<v-icon>mdi-glass-mug-variant</v-icon>
<v-icon color="#BDB76B">mdi-glass-mug-variant</v-icon>
</v-list-item-icon>
<v-list-item-content>
<v-list-item-title>
Encouragez le développement
Jettez un sou au développeur
</v-list-item-title>
</v-list-item-content>
</v-list-item>
<v-list-item @click.stop="toggleAboutDialog">
<v-list-item link :to="{path: '/a-propos/'}" color="accent">
<v-list-item-icon>
<v-icon>mdi-information</v-icon>
</v-list-item-icon>
@ -146,16 +146,19 @@
<v-card-title class="headline">À propos de H&D DRS</v-card-title>
<v-card-text>
<p>Ce site a été développé par <strong>Maxime Moraine</strong> alias <strong>Em-squared</strong>.</p>
<p>Les sources de ce site sont disponibles sur <a :href="$site.themeConfig.repository" target="_blank">GitHub</a> sous Licence <a href="https://github.com/em-squared/heros-et-dragons-drs/blob/master/LICENSE" target="_blank">GPLv3</a>.</p>
<p class="title-2">
<strong>La personne derrière ce site</strong><br>
Ce site a été développé par <strong>Maxime Moraine</strong> alias <strong>Em-squared</strong>.<br>
Développeur web passionné de jeux de rôle, j'aime mettre l'un au service de l'autre.<br>
Les sources de ce site sont disponibles sur <a :href="$site.themeConfig.repository" target="_blank">GitHub</a> sous Licence <a href="https://github.com/em-squared/heros-et-dragons-drs/blob/master/LICENSE" target="_blank">GPLv3</a>.
</p>
<p>Vous souhaitez participer aux frais d'hébergement ou m'encourager ?</p>
<p class="text-center">
<v-btn depressed dark color="#BDB76B" link :href="$site.themeConfig.kofi" target="_blank"><v-icon class="mr-2">mdi-glass-mug-variant</v-icon>Jettez un sou au développeur</v-btn>
</p>
<p><strong><em>Héros & Dragons</em></strong> est un jeu de rôle basé sur les mécaniques de l<a href="/licence-ogl">OGL5</a> et développé par les talents de la rédaction de <em><a href="https://www.black-book-editions.fr/catalogue.php?id=40" target="_blank">Casus Belli</a></em>, le magazine de référence des jeux de rôle.</p>
<p>Les textes de cette documentation appartiennent à <a href="https://www.black-book-editions.fr/catalogue.php?id=365" target="_blank">Black Book Éditions</a>.</p>
<p>Casus Belli et Black Book Éditions sont des marques déposées par <a href="https://www.black-book-editions.fr/" target="_blank">Black Book Éditions</a>. Tous droits réservés.</p>
<v-row v-if="$site.themeConfig.kofi">
<v-col class="text-center">
<v-btn depressed dark color="#29abe0" link :href="$site.themeConfig.kofi" target="_blank"><v-icon class="mr-2">mdi-coffee</v-icon>Ko-fi</v-btn>
</v-col>
</v-row>
</v-card-text>
<v-card-actions>
@ -166,21 +169,22 @@
<v-dialog v-model="isOpenSupportDialog" @click:outside="toggleSupportDialog" max-width="600">
<v-card>
<v-card-title class="headline">Encouragez le développement</v-card-title>
<v-card-title class="headline">
<span>Jettez un sou au développeur</span>
<v-spacer></v-spacer>
<v-btn color="primary" icon @click="toggleSupportDialog"><v-icon>mdi-close</v-icon></v-btn>
</v-card-title>
<v-card-text>
<p>Vous souhaitez participer aux frais d'hébergement ? Ou vous voulez encourager le développement de la plateforme ?</p>
<p>Votre participation sera appréciée !</p>
<v-row v-if="$site.themeConfig.kofi">
<v-col class="text-center">
<v-btn depressed dark color="#29abe0" link :href="$site.themeConfig.kofi" target="_blank"><v-icon class="mr-2">mdi-coffee</v-icon>Ko-fi</v-btn>
</v-col>
</v-row>
<p><strong>Pourquoi donner ?</strong></p>
<p>Soyons clairs : l'accès au site est <strong>gratuit</strong>. Pour <strong>tout le monde</strong>. Pour <strong>toujours</strong>. Et <strong>sans publicité</strong>. Aucun revenu n'est donc généré par son biais. En revanche, la mise en ligne d'un site web a un coût.</p>
<p>L'objectif est donc de couvrir ce coût.</p>
<p>Vous pouvez participer aux frais d'hébergement et permettre à tout le monde et à vous-même d'en profiter ou m'encourager au développement parce que vous pensez que mon travail le mérite.</p>
<p>C'est <strong>vous</strong> qui décidez.</p>
<p class="text-center">
<v-btn depressed dark color="#BDB76B" link :href="$site.themeConfig.kofi" target="_blank"><v-icon class="mr-2">mdi-glass-mug-variant</v-icon>Jettez un sou au développeur</v-btn>
</p>
</v-card-text>
<v-card-actions>
<v-btn color="primary" text @click="toggleSupportDialog">Fermer</v-btn>
</v-card-actions>
</v-card>
</v-dialog>
</div>

View file

@ -9,11 +9,11 @@
<v-btn class="hidden-sm-and-down" @click.stop="setIsThemeDark" icon>
<v-icon v-html="$vuetify.theme.dark ? 'mdi-brightness-4' : 'mdi-brightness-7'"></v-icon>
</v-btn>
<v-btn class="hidden-sm-and-down" @click.stop="toggleAboutDialog" icon>
<v-btn class="hidden-sm-and-down" link :to="{path: '/a-propos/'}" icon>
<v-icon>mdi-information</v-icon>
</v-btn>
<v-btn class="hidden-sm-and-down" v-if="$site.themeConfig.kofi" link :href="$site.themeConfig.kofi" target="_blank" icon>
<v-icon>mdi-glass-mug-variant</v-icon>
<v-btn class="hidden-sm-and-down" v-if="$site.themeConfig.kofi" @click.stop="toggleSupportDialog" icon>
<v-icon color="#BDB76B">mdi-glass-mug-variant</v-icon>
</v-btn>
<v-btn class="ml-5" @click.stop="setRightDrawer" icon v-if="hasRightDrawer">
<v-icon>{{ rightDrawerIcon }}</v-icon>

View file

@ -55,7 +55,7 @@ export default {
}
})
const { pages } = this.$site
console.log(pages)
// console.log(pages)
this.index.add(pages)
},
@ -71,7 +71,7 @@ export default {
encode: 'extra'
},
(result) => {
console.log(result)
// console.log(result)
this.items = result
this.loading = false
})

View file

@ -46,7 +46,7 @@ export default {
mounted () {
this.tooltipObject = this.tooltips[this.t]
console.log(this.tooltipObject)
// console.log(this.tooltipObject)
}
}
</script>

View file

@ -203,7 +203,7 @@ export default {
},
changePage (page) {
console.log(page)
// console.log(page)
setUrlParams("page", [page])
},

View file

@ -12,8 +12,8 @@
<h1>Bestiaire</h1>
<div class="active-filters mb-2">
<div class="challengeRange-filter" v-if="Number(challengeRange[0]) >= 0 && Number(challengeRange[1]) <= 30">
<strong>Indice de dangerosité</strong> entre {{ challengeRange[0] }} et {{ challengeRange[1]}}
<div class="challengeRange-filter" v-if="Number(challengeRange[0]) >= 0 && Number(challengeRange[1]) <= challenges.length-1">
<strong>Indice de dangerosité</strong> entre {{ challenges[challengeRange[0]].label }} et {{ challenges[challengeRange[1]].label }}
</div>
<div class="types-filter mb-1" v-if="selectedTypes.length > 0">
<strong>Types</strong> : <v-chip class="mr-1" v-for="(type, idx) in selectedTypes">{{ type }}</v-chip>
@ -92,6 +92,7 @@ import { displayChallenge } from '@theme/util/monsterHelpers'
import { setUrlParams, getUrlParameter } from '@theme/util/filterHelpers'
import Monster from '@theme/components/Monster'
import MyMonstersButton from '@theme/global-components/MyMonstersButton'
import { CHALLENGES } from '../../data/monsters'
export default {
components: { Breadcrumb, Monster, MyMonstersButton },
@ -118,7 +119,8 @@ export default {
{ text: "Sous-type", align: 'start', sortable: false, value: 'frontmatter.subtype' },
{ text: "Environnements", align: 'start', sortable: false, value: 'frontmatter.environments' },
{ text: "Type de donjons", align: 'start', sortable: false, value: 'frontmatter.dungeonTypes' },
]
],
challenges: CHALLENGES
}
},
@ -183,7 +185,7 @@ export default {
maxID = this.challengeRange[0]
}
results = results.filter(item => {
return item.frontmatter.challenge >= minID && item.frontmatter.challenge <= maxID
return item.frontmatter.challenge >= Number(CHALLENGES[minID].value) && item.frontmatter.challenge <= Number(CHALLENGES[maxID].value)
})
// Filter types
@ -287,7 +289,7 @@ export default {
},
changePage (page) {
console.log(page)
// console.log(page)
setUrlParams("page", [page])
},

View file

@ -302,7 +302,7 @@ export default {
},
changePage (page) {
console.log(page)
// console.log(page)
setUrlParams("page", [page])
},

View file

@ -72,7 +72,7 @@ export function resolvePage (pages, rawPath, base) {
})
}
}
console.error(`[vuepress] No matching page found for sidebar item "${rawPath}"`)
// console.error(`[vuepress] No matching page found for sidebar item "${rawPath}"`)
return {}
}