wikijs-fork/client/components/common/loader.vue

68 lines
1.3 KiB
Vue
Raw Permalink Normal View History

<template lang='pug'>
v-dialog(v-model='value', persistent, max-width='350', :overlay-color='color', overlay-opacity='.7')
v-card.loader-dialog.radius-7(:color='color', dark)
2019-08-04 02:51:29 +00:00
v-card-text.text-center.py-4
atom-spinner.is-inline(
2018-12-24 06:03:10 +00:00
v-if='mode === `loading`'
:animation-duration='1000'
:size='60'
color='#FFF'
)
img(v-else-if='mode === `icon`', :src='`/_assets/svg/icon-` + icon + `.svg`', :alt='icon')
2019-08-04 02:51:29 +00:00
.subtitle-1.white--text {{ title }}
.caption {{ subtitle }}
</template>
<script>
import { AtomSpinner } from 'epic-spinners'
export default {
components: {
AtomSpinner
},
props: {
value: {
type: Boolean,
default: false
},
color: {
type: String,
default: 'blue darken-3'
},
title: {
type: String,
default: 'Working...'
},
subtitle: {
type: String,
default: 'Please wait'
2018-12-24 06:03:10 +00:00
},
mode: {
type: String,
default: 'loading'
},
icon: {
type: String,
default: 'checkmark'
}
}
}
</script>
<style lang='scss'>
.loader-dialog {
2018-12-24 22:38:34 +00:00
transition: all .4s ease;
.atom-spinner.is-inline {
display: inline-block;
}
.caption {
color: rgba(255,255,255,.7);
}
2018-12-24 06:03:10 +00:00
img {
width: 80px;
}
}
</style>