App.vue 1.1 KB
Newer Older
璃白.'s avatar
璃白. 已提交
1
<template>
璃白.'s avatar
璃白. 已提交
2 3 4 5
  <div :class="['md_container', { active: isFocus }]">
    <markdown-header />
    <markdownPreview v-if="showPreview" />
    <markdown-editor v-else />
璃白.'s avatar
璃白. 已提交
6 7 8 9
    <markdown-footer
      :can-attach-file="canAttachFile"
      v-if="!showPreview && canAttachFile"
    />
璃白.'s avatar
璃白. 已提交
10 11 12
  </div>
</template>
<script>
璃白.'s avatar
璃白. 已提交
13 14 15 16 17
import markdownHeader from "./components/header/md-header";
import markdownFooter from "./components/footer/md-footer";
import markdownEditor from "./components/content/md-textarea";
import markdownPreview from "./components/content/md-preview";
import { mapState } from "vuex";
璃白.'s avatar
璃白. 已提交
18
export default {
璃白.'s avatar
璃白. 已提交
19 20 21 22 23
  components: {
    markdownHeader,
    markdownFooter,
    markdownEditor,
    markdownPreview
璃白.'s avatar
璃白. 已提交
24
  },
璃白.'s avatar
璃白. 已提交
25

璃白.'s avatar
璃白. 已提交
26
  computed: {
璃白.'s avatar
璃白. 已提交
27
    ...mapState(["showPreview", "isFocus", "canAttachFile"])
璃白.'s avatar
璃白. 已提交
28 29 30 31 32 33 34
  }
};
</script>
<style lang="less" scoped>
.md_container {
  width: 1000px;
  margin: 200px auto;
璃白.'s avatar
璃白. 已提交
35
  border: 1px solid var(--md-editor-border-color);
璃白.'s avatar
璃白. 已提交
36 37 38
  border-radius: 4px;
  padding: 10px 16px;
  box-sizing: border-box;
璃白.'s avatar
璃白. 已提交
39 40
  transition: border 0.3s;
  &.active {
璃白.'s avatar
璃白. 已提交
41
    border: 1px solid var(--md-editor-border-color-active);
璃白.'s avatar
璃白. 已提交
42 43 44
  }
}
</style>