1
0
Fork 0
mirror of https://github.com/em-squared/5e-drs.git synced 2025-10-30 21:24:18 +00:00
This commit is contained in:
Maxime Moraine 2020-04-05 14:38:20 +02:00
parent 1050fbb531
commit 38931015db
71 changed files with 5819 additions and 184 deletions

View file

@ -0,0 +1,56 @@
<template>
<v-breadcrumbs :items="bread">
<template v-slot:item="{ item }">
<v-breadcrumbs-item :to="item.to" :exact="true" :disabled="item.disabled">
{{ item.text }}
</v-breadcrumbs-item>
</template>
</v-breadcrumbs>
</template>
<script>
export default {
name: "Breadcrumb",
computed: {
bread() {
const parts = this.$page.path.split("/");
if (!parts[parts.length - 1].length) { parts.pop() }
let link = ""
const crumbs = []
for (let i = 0; i < parts.length; i++) {
let disabled = false
if (i == parts.length - 1) {
console.log(parts[i])
disabled = true
}
link += parts[i]
const page = this.$site.pages.find((el) => el.path === link || el.path === link + "/")
link += "/"
if (page != null) {
if (page.path == '/grimoire/') {
crumbs.push({to: page.path, disabled: disabled, text: 'Grimoire'})
} else if (page.path == '/classes/') {
crumbs.push({to: page.path, disabled: disabled, text: 'Classes'})
} else {
crumbs.push({to: page.path, disabled: disabled, text: page.frontmatter.breadcrumb || page.title})
}
}
}
return crumbs;
},
},
};
</script>
<style lang="scss">
@import '../styles/colors';
.v-breadcrumbs {
// background-color: lighten($color-gray, 50);
}
.theme--light.v-breadcrumbs .v-breadcrumbs__item--disabled {
// color: rgba(0,0,0,.87);
}
</style>

View file

@ -2,7 +2,7 @@
<v-navigation-drawer class="main-drawer" v-model="drawer" :clipped="$vuetify.breakpoint.lgAndUp" width="300" app>
<v-list dense nav>
<template v-for="item in items">
<v-list-group v-if="item.children" :key="item.title" v-model="item.expanded" :color="$site.themeConfig.accentColor">
<v-list-group v-if="item.children" :key="item.title" v-model="item.expanded" color="accent">
<template v-slot:activator>
<v-list-item-content>
<v-list-item-title>
@ -12,7 +12,7 @@
</template>
<template v-for="child in item.children">
<v-list-group v-if="child.children" :key="child.title" sub-group v-model="child.expanded" :color="$site.themeConfig.accentColor">
<v-list-group v-if="child.children" :key="child.title" sub-group v-model="child.expanded" color="accent">
<template v-slot:activator>
<v-list-item-content>
<v-list-item-title>
@ -20,7 +20,7 @@
</v-list-item-title>
</v-list-item-content>
</template>
<v-list-item v-for="subchild in child.children" link :to="{path: subchild.path}">
<v-list-item v-for="subchild in child.children" link :to="{path: subchild.path}" exact>
<v-list-item-content>
<v-list-item-title>
{{ subchild.title }}
@ -28,7 +28,7 @@
</v-list-item-content>
</v-list-item>
</v-list-group>
<v-list-item v-else :key="child.title" link :to="{path: child.path}">
<v-list-item v-else :key="child.title" link :to="{path: child.path}" exact>
<v-list-item-content>
<v-list-item-title>
{{ child.title }}
@ -37,7 +37,7 @@
</v-list-item>
</template>
</v-list-group>
<v-list-item v-else :key="item.title" link :to="{path: item.path}" :color="$site.themeConfig.accentColor">
<v-list-item v-else :key="item.title" link :to="{path: item.path}" color="accent" exact>
<v-list-item-content>
<v-list-item-title>
{{ item.title }}

View file

@ -1,5 +1,5 @@
<template>
<v-app-bar :clipped-left="$vuetify.breakpoint.lgAndUp" :clipped-right="$vuetify.breakpoint.lgAndUp" app :color="$site.themeConfig.primaryColor" dark>
<v-app-bar :clipped-left="$vuetify.breakpoint.lgAndUp" :clipped-right="$vuetify.breakpoint.lgAndUp" app color="navbar" dark>
<v-app-bar-nav-icon @click.stop="setDrawer" />
<v-toolbar-title class="ml-0 mr-4 pl-4">
<v-btn class="hidden-sm-and-down site-title" text link :to="{ path: '/' }">{{ $site.title }}</v-btn>

View file

@ -10,7 +10,7 @@
export default {
name: 'Page',
components: { }
components: { }
}
</script>

View file

@ -1,13 +1,10 @@
<template>
<main class="page">
<main class="page content">
<div class="theme-default-content">
<h1>{{ $page.title }}</h1>
<div class="spell-details">
<div class="spell-school-level">
<template v-if="$page.frontmatter.level != 0">{{ $page.frontmatter.school }} de niveau {{ $page.frontmatter.level }}</template>
<template v-else>{{ $page.frontmatter.school }}, Tour de magie</template>
<template v-if="$page.frontmatter.ritual"> (rituel)</template>
</div>
<div class="spell-school-level" v-html="displaySchoolLevel()"></div>
<div class="spell-casting-time"><strong>Temps d'incantation</strong> : {{ $page.frontmatter.casting_time }}</div>
<div class="spell-range"><strong>Portée</strong> : {{ $page.frontmatter.range }}</div>
<div class="spell-components"><strong>Composantes</strong> :
@ -29,7 +26,14 @@
</template>
<script>
import { displaySchoolLevel } from '@theme/util/spellHelpers'
export default {
methods: {
displaySchoolLevel () {
return displaySchoolLevel(this.$page.frontmatter)
}
}
}
</script>

View file

@ -7,7 +7,7 @@
label="Filtrer"
single-line
hide-details
:color="$site.themeConfig.accentColor"
color="accent"
></v-text-field>
<v-expansion-panels multiple flat hover v-model="panels">
@ -15,16 +15,16 @@
<v-expansion-panel>
<v-expansion-panel-header>Classes</v-expansion-panel-header>
<v-expansion-panel-content>
<v-btn class="mb-2 mt-2" small :color="$site.themeConfig.primaryColor" @click="resetClasses" dark>Réinitialiser</v-btn>
<v-switch v-for="(c, idx) in classes" v-model="c.value" :label="c.label" dense class="ma-0" @change="switchClass" :color="$site.themeConfig.accentColor"></v-switch>
<v-btn class="mb-2 mt-2" small color="primary" @click="resetClasses" dark>Réinitialiser</v-btn>
<v-switch v-for="(c, idx) in classes" v-model="c.value" :label="c.label" dense class="ma-0" @change="switchClass" color="accent"></v-switch>
</v-expansion-panel-content>
</v-expansion-panel>
<v-expansion-panel>
<v-expansion-panel-header>Niveaux de sorts</v-expansion-panel-header>
<v-expansion-panel-content>
<v-btn class="mb-2 mt-2" small :color="$site.themeConfig.primaryColor" @click="resetLevels" dark>Réinitialiser</v-btn>
<v-switch v-for="level in levels" v-model="level.value" dense class="ma-0" @change="switchLevel" :color="$site.themeConfig.accentColor">
<v-btn class="mb-2 mt-2" small color="primary" @click="resetLevels" dark>Réinitialiser</v-btn>
<v-switch v-for="level in levels" v-model="level.value" dense class="ma-0" @change="switchLevel" color="accent">
<template v-slot:label>
<span v-html="levelDisplay(level)"></span>
</template>
@ -35,8 +35,8 @@
<v-expansion-panel>
<v-expansion-panel-header>Écoles de magie</v-expansion-panel-header>
<v-expansion-panel-content>
<v-btn class="mb-2 mt-2" small :color="$site.themeConfig.primaryColor" @click="resetSchools" dark>Réinitialiser</v-btn>
<v-switch v-for="school in schools" v-model="school.value" :label="school.label" dense class="ma-0" @change="switchSchool" :color="$site.themeConfig.accentColor"></v-switch>
<v-btn class="mb-2 mt-2" small color="primary" @click="resetSchools" dark>Réinitialiser</v-btn>
<v-switch v-for="school in schools" v-model="school.value" :label="school.label" dense class="ma-0" @change="switchSchool" color="accent"></v-switch>
</v-expansion-panel-content>
</v-expansion-panel>
@ -325,7 +325,6 @@ export default {
},
mounted () {
console.log('filter mounted')
this.$store.dispatch('spellFilters/reset')
let selectedSchools = getUrlParameter(window.location.href, "ecoles").split(",")

View file

@ -32,6 +32,7 @@
<script>
import matchQuery from './match-query'
import { displaySchoolLevel } from '@theme/util/spellHelpers'
/* global SEARCH_MAX_SUGGESTIONS, SEARCH_PATHS, SEARCH_HOTKEYS */
export default {
@ -104,7 +105,15 @@ export default {
}
if (matchQuery(query, p)) {
res.push(p)
if (p.pid && p.pid == 'spell') {
res.push(Object.assign({}, p, {
subtitle: displaySchoolLevel(p.frontmatter),
title: p.title,
path: p.path
}))
} else {
res.push(p)
}
} else if (p.headers) {
for (let j = 0; j < p.headers.length; j++) {
if (res.length >= max) break