1
1
mirror of https://github.com/aelve/guide.git synced 2024-12-25 13:51:45 +03:00
guide/front/client/App.vue

133 lines
2.5 KiB
Vue
Raw Normal View History

<template>
<v-app>
2018-12-18 18:48:32 +03:00
<toolbar />
<v-content>
<router-view />
</v-content>
2018-09-13 23:27:21 +03:00
<a-footer />
</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'
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'
import * as nprogress from 'nprogress'
import 'nprogress/nprogress.css'
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
}
})
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')
}
get isPageLoading () {
return this.$store.state.isPageLoading
}
@Watch('isPageLoading')
toogleLoading (isPageLoading: boolean) {
isPageLoading ? nprogress.start() : nprogress.done()
}
}
</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;
}
code {
color: #000;
font-weight: 500;
box-shadow: none;
}
/* Vuetify css adds unwanted space to start and end of code and kbd tag */
2019-05-26 16:16:26 +03:00
code:after,
kbd:after,
code:before,
kbd:before {
2019-05-26 16:16:26 +03:00
content: "";
letter-spacing: initial;
2019-05-26 16:16:26 +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;
}
.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;
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;
}
.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;
}
.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>