2018-09-02 23:26:15 +03:00
|
|
|
<template>
|
|
|
|
<v-app>
|
2018-12-18 18:48:32 +03:00
|
|
|
<toolbar />
|
2018-09-02 23:26:15 +03:00
|
|
|
<v-content>
|
2019-02-10 15:00:50 +03:00
|
|
|
<router-view />
|
2018-09-02 23:26:15 +03:00
|
|
|
</v-content>
|
2018-09-13 23:27:21 +03:00
|
|
|
<a-footer />
|
2018-09-02 23:26:15 +03:00
|
|
|
</v-app>
|
|
|
|
</template>
|
|
|
|
|
|
|
|
<script lang="ts">
|
2018-09-05 23:45:46 +03:00
|
|
|
import Vue from 'vue'
|
2018-09-13 23:27:21 +03:00
|
|
|
import Component from 'vue-class-component'
|
2019-02-19 23:24:07 +03:00
|
|
|
import { Watch } from 'vue-property-decorator'
|
2018-09-13 23:27:21 +03:00
|
|
|
import AFooter from 'client/components/AFooter.vue'
|
2019-02-07 19:02:46 +03:00
|
|
|
import Toolbar from 'client/components/Toolbar.vue'
|
2019-02-10 15:00:50 +03:00
|
|
|
import * as nprogress from 'nprogress'
|
|
|
|
import 'nprogress/nprogress.css'
|
2018-09-02 23:26:15 +03:00
|
|
|
|
2019-02-10 15:00:50 +03:00
|
|
|
nprogress.configure({ showSpinner: false })
|
2018-09-13 10:51:20 +03:00
|
|
|
|
|
|
|
@Component({
|
|
|
|
components: {
|
2018-09-17 01:34:45 +03:00
|
|
|
Toolbar,
|
2018-09-13 23:27:21 +03:00
|
|
|
AFooter
|
2018-09-13 10:51:20 +03:00
|
|
|
}
|
|
|
|
})
|
2019-01-09 13:26:27 +03:00
|
|
|
export default class RootComponent extends Vue {
|
|
|
|
beforeMount () {
|
|
|
|
// This package can only be loaded after mounted (on client only) cause it uses "document"
|
|
|
|
// it is used in MarkdownEditor.vue and to make it work faster in that component we preload it here
|
|
|
|
import('easymde')
|
|
|
|
}
|
2019-02-10 15:00:50 +03:00
|
|
|
|
|
|
|
get isPageLoading () {
|
|
|
|
return this.$store.state.isPageLoading
|
|
|
|
}
|
|
|
|
|
|
|
|
@Watch('isPageLoading')
|
|
|
|
toogleLoading (isPageLoading: boolean) {
|
|
|
|
isPageLoading ? nprogress.start() : nprogress.done()
|
|
|
|
}
|
2019-01-09 13:26:27 +03:00
|
|
|
}
|
2018-09-02 23:26:15 +03:00
|
|
|
</script>
|
2018-09-05 23:45:46 +03:00
|
|
|
|
|
|
|
<style>
|
2018-09-13 10:51:20 +03:00
|
|
|
*,
|
|
|
|
*:before,
|
|
|
|
*:after {
|
|
|
|
box-sizing: border-box;
|
2018-09-05 23:45:46 +03:00
|
|
|
}
|
2018-09-23 17:36:05 +03:00
|
|
|
p {
|
|
|
|
margin: 0;
|
|
|
|
}
|
2019-02-18 13:32:31 +03:00
|
|
|
code {
|
|
|
|
color: #000;
|
2019-02-19 23:24:07 +03:00
|
|
|
font-weight: 500;
|
2019-02-18 13:32:31 +03:00
|
|
|
box-shadow: none;
|
|
|
|
}
|
2019-05-26 17:34:00 +03:00
|
|
|
/* Vuetify css adds unwanted space to start and end of code and kbd tag */
|
2019-05-26 16:16:26 +03:00
|
|
|
code:after,
|
2019-05-26 17:34:00 +03:00
|
|
|
kbd:after,
|
|
|
|
code:before,
|
|
|
|
kbd:before {
|
2019-05-26 16:16:26 +03:00
|
|
|
content: "";
|
2019-05-26 17:34:00 +03:00
|
|
|
letter-spacing: initial;
|
2019-05-26 16:16:26 +03:00
|
|
|
}
|
2019-02-18 13:32:31 +03:00
|
|
|
pre code {
|
|
|
|
background-color: #f5f5f5;
|
|
|
|
color: #bd4147;
|
|
|
|
font-weight: 900;
|
|
|
|
box-shadow: 0px 2px 1px -1px rgba(0, 0, 0, 0.2),
|
|
|
|
0px 1px 1px 0px rgba(0, 0, 0, 0.14), 0px 1px 3px 0px rgba(0, 0, 0, 0.12);
|
|
|
|
}
|
2018-09-24 16:20:11 +03:00
|
|
|
code.sourceCode {
|
|
|
|
min-width: 100%;
|
|
|
|
padding: 8px;
|
2019-01-09 13:26:27 +03:00
|
|
|
}
|
|
|
|
.sourceCode:not(:last-child) code.sourceCode {
|
2019-02-16 10:17:19 +03:00
|
|
|
margin: 0 0 5px;
|
2018-09-24 16:20:11 +03:00
|
|
|
}
|
2018-10-28 18:29:54 +03:00
|
|
|
a {
|
|
|
|
text-decoration-line: none;
|
2019-01-14 14:57:02 +03:00
|
|
|
color: #0061c0;
|
2018-10-28 18:29:54 +03:00
|
|
|
}
|
|
|
|
a:hover {
|
|
|
|
text-decoration-line: underline;
|
|
|
|
}
|
2018-12-18 18:48:32 +03:00
|
|
|
.text-transform-none {
|
|
|
|
text-transform: none !important;
|
|
|
|
}
|
2019-01-09 13:26:27 +03:00
|
|
|
.position-relative {
|
|
|
|
position: relative;
|
|
|
|
}
|
2018-12-13 16:30:42 +03:00
|
|
|
div.sourceCode {
|
|
|
|
overflow-x: auto;
|
|
|
|
}
|
|
|
|
table.sourceCode,
|
|
|
|
tr.sourceCode,
|
|
|
|
td.lineNumbers,
|
|
|
|
td.sourceCode {
|
|
|
|
margin: 0;
|
|
|
|
padding: 0;
|
|
|
|
vertical-align: baseline;
|
|
|
|
border: none;
|
|
|
|
}
|
|
|
|
table.sourceCode {
|
|
|
|
width: 100%;
|
|
|
|
line-height: 100%;
|
|
|
|
}
|
|
|
|
td.lineNumbers {
|
|
|
|
text-align: right;
|
|
|
|
padding-right: 4px;
|
|
|
|
padding-left: 4px;
|
|
|
|
color: #aaaaaa;
|
|
|
|
border-right: 1px solid #aaaaaa;
|
|
|
|
}
|
|
|
|
td.sourceCode {
|
|
|
|
padding-left: 5px;
|
|
|
|
}
|
2019-02-27 14:35:21 +03:00
|
|
|
.v-input--has-state.error--text .v-label {
|
|
|
|
animation: none;
|
|
|
|
}
|
2019-05-26 16:16:26 +03:00
|
|
|
blockquote {
|
|
|
|
background: rgba(10, 10, 10, 0.075);
|
|
|
|
border-left: 5px solid rgba(10, 10, 10, 0.15);
|
|
|
|
padding: 1px 1em;
|
|
|
|
margin-left: 0;
|
|
|
|
margin-right: 0;
|
|
|
|
border-radius: 5px;
|
|
|
|
}
|
2018-12-09 13:58:07 +03:00
|
|
|
</style>
|