keep going fixing vuetify

This commit is contained in:
les
2020-07-29 00:25:45 +02:00
parent 411560c218
commit 2dc6e7adb3
6 changed files with 73 additions and 50 deletions

View File

@@ -1,10 +1,10 @@
<template lang="pug"> <template lang="pug">
v-card.h-event.event.mt-1 v-card.h-event.event.mt-1
nuxt-link(:to='`/event/${event.id}`') nuxt-link(:to='`/event/${event.id}`')
v-img(:src="`/media/thumb/${event.image_path}`" v-img.align-end(:src="`/media/thumb/${event.image_path}`"
gradient="to bottom, rgba(0,0,0,.1), rgba(0,0,0,.7)" gradient="to bottom, rgba(255,255,255,.1), rgba(255,255,255,.9)"
height="250" position="top top" height="250" position="top top"
class="white--text align-end") :class="settings['theme.is_dark']?'light--text':'dark--text'")
v-card-title {{event.title}} v-card-title {{event.title}}
//- v-list-item //- v-list-item
v-list-item-content v-list-item-content

View File

@@ -1,18 +1,13 @@
<template lang='pug'> <template lang='pug'>
div#list div#list
p(v-if='title') {{title}} p(v-if='title') {{title}}
v-timeline v-timeline(dense)
v-timeline-item( v-timeline-item(
v-for='event in events' v-for='event in events'
:key='`${event.id}_${event.start_datetime}`' :key='`${event.id}_${event.start_datetime}`')
:timestamp='event|when' div {{event|when}}
placement='top' icon='el-icon-arrow-down' size='large')
div.float-right
small @{{event.place.name}}
a(:href='`/event/${event.id}`' target='_blank') {{event.title}} a(:href='`/event/${event.id}`' target='_blank') {{event.title}}
hr small.float-right @{{event.place.name}}
</template> </template>
<script> <script>

View File

@@ -42,7 +42,7 @@
div div
//- el-divider {{$t('common.resources')}} //- el-divider {{$t('common.resources')}}
v-table(:data='paginatedResources' small :row-style='resourceStyle') v-data-table(:data='resources')
//- el-table-column(:label="$t('common.event')") //- el-table-column(:label="$t('common.event')")
//- template(slot-scope='data') //- template(slot-scope='data')
//- span {{data.row.event}} //- span {{data.row.event}}
@@ -64,7 +64,6 @@
</template> </template>
<script> <script>
import { mapState, mapActions } from 'vuex' import { mapState, mapActions } from 'vuex'
import { MessageBox } from 'element-ui'
export default { export default {
name: 'Moderation', name: 'Moderation',

View File

@@ -45,9 +45,14 @@ export default {
primary_color: { primary_color: {
get () { return this.settings['theme.primary'] }, get () { return this.settings['theme.primary'] },
set (value) { set (value) {
// this.$vuetify.theme.themes.dark.primary = value.hex if (!value) { return }
this.$vuetify.theme.themes.light.primary = value.hex if (this.settings['theme.is_dark']) {
this.setSetting({ key: 'theme.primary', value: value.hex }) this.$vuetify.theme.themes.dark.primary = value
} else {
this.$vuetify.theme.themes.light.primary = value
}
// this.$vuetify.theme.themes.light.primary = value.hex
// this.setSetting({ key: 'theme.primary', value: value.hex })
} }
} }
}, },

View File

@@ -17,9 +17,15 @@ import FollowMe from '../components/FollowMe'
import Snackbar from '../components/Snackbar' import Snackbar from '../components/Snackbar'
import Footer from '../components/Footer' import Footer from '../components/Footer'
import Confirm from '../components/Confirm' import Confirm from '../components/Confirm'
import { mapState } from 'vuex'
export default { export default {
name: 'Default', name: 'Default',
components: { Nav, FollowMe, Snackbar, Footer, Confirm }, components: { Nav, FollowMe, Snackbar, Footer, Confirm },
computed: mapState(['settings']),
created () {
this.$vuetify.theme.dark = this.settings['theme.is_dark']
this.$vuetify.theme.themes.dark.primary = this.settings['theme.primary']
}
} }
</script> </script>

View File

@@ -1,9 +1,6 @@
<template lang="pug"> <template lang="pug">
v-container v-container
v-card
v-card-text
h2.text-center {{edit?$t('common.edit_event'):$t('common.add_event')}} h2.text-center {{edit?$t('common.edit_event'):$t('common.add_event')}}
p {{valid}}
v-form(v-model='valid') v-form(v-model='valid')
//- NOT LOGGED EVENT //- NOT LOGGED EVENT
@@ -68,17 +65,17 @@
//- el-option(:label="$t('event.each_month')" value='1m' key='1m') //- el-option(:label="$t('event.each_month')" value='1m' key='1m')
client-only client-only
v-date-picker.mx-auto( .datePicker
:mode='datePickerMode' v-date-picker(
:attributes='attributes' :mode='datePickerMode'
v-model='date' :attributes='attributes'
:locale='$i18n.locale' v-model='date'
:from-page.sync='page' :locale='$i18n.locale'
is-dark :from-page.sync='page'
is-inline :is-dark="settings['theme.is_dark']"
is-expanded is-inline
:style="{width: '500px'}" is-expanded
:min-date='event.type !== "recurrent" && new Date()') :min-date='event.type !== "recurrent" && new Date()')
div.text-center.mb-2(v-if='event.type === "recurrent"') div.text-center.mb-2(v-if='event.type === "recurrent"')
span(v-if='event.recurrent.frequency !== "1m" && event.recurrent.frequency !== "2m"') {{whenPatterns}} span(v-if='event.recurrent.frequency !== "1m" && event.recurrent.frequency !== "2m"') {{whenPatterns}}
@@ -88,29 +85,57 @@
v-row v-row
v-col v-col
v-menu(v-model='fromDateMenu') v-menu(v-model='fromDateMenu'
:close-on-content-click="false"
transition="slide-x-transition"
ref='fromDateMenu'
:return-value.sync="time.start"
offset-y
absolute
top
max-width="290px"
min-width="290px")
template(v-slot:activator='{ on }') template(v-slot:activator='{ on }')
v-text-field( v-text-field(
:label="$t('event.from')" :label="$t('event.from')"
v-on='on'
:value='time.start' :value='time.start'
v-on='on'
clearable
readonly) readonly)
v-time-picker.mr-2( v-time-picker(
v-if='fromDateMenu'
:label="$t('event.from')" :label="$t('event.from')"
format="24hr"
ref='time_start' ref='time_start'
v-model="time.start") :allowed-minutes="[0, 5, 10, 15, 20, 25, 30, 35, 40, 45, 50, 55]"
v-model='time.start'
@click:minute="$refs.fromDateMenu.save(time.start)")
v-col v-col
v-menu(v-model='dueDateMenu') v-menu(v-model='dueDateMenu'
:close-on-content-click="false"
transition="slide-x-transition"
ref='dueDateMenu'
:return-value.sync="time.end"
offset-y
absolute
top
max-width="290px"
min-width="290px")
template(v-slot:activator='{ on }') template(v-slot:activator='{ on }')
v-text-field( v-text-field(
:label="$t('event.due')" :label="$t('event.due')"
v-on='on'
:value='time.end' :value='time.end'
v-on='on'
clearable
readonly) readonly)
v-time-picker.mr-2( v-time-picker(
v-if='dueDateMenu'
:label="$t('event.due')" :label="$t('event.due')"
v-model="time.end") format="24hr"
:allowed-minutes="[0, 5, 10, 15, 20, 25, 30, 35, 40, 45, 50, 55]"
v-model='time.end'
@click:minute="$refs.dueDateMenu.save(time.end)")
List(v-if='event.type==="normal" && todayEvents.length' :events='todayEvents' :title='$t("event.same_day")') List(v-if='event.type==="normal" && todayEvents.length' :events='todayEvents' :title='$t("event.same_day")')
@@ -348,17 +373,6 @@ export default {
cleanFile () { cleanFile () {
this.event.image = {} this.event.image = {}
}, },
uploadedFile (files) {
// const file = files[0]
// if (file.size / 1024 / 1024 > 4) {
// Message({ type: 'warning', showClose: true, message: this.$tc('event.image_too_big') })
// this.fileList = []
// return false
// }
// this.fileList = [{ name: file.name, url: file.url }]
// this.event.image = file
},
async done () { async done () {
this.loading = true this.loading = true
let start_datetime, end_datetime let start_datetime, end_datetime
@@ -442,6 +456,10 @@ export default {
} }
</script> </script>
<style style='less'> <style style='less'>
.datePicker {
max-width: 500px !important;
margin: 0 auto;
}
/* #edit_page /* #edit_page
i { i {
font-size: 1.3em; font-size: 1.3em;