Introduction.vue 1.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869
  1. <template>
  2. <div class="view-introduction">
  3. <b-overlay
  4. class="intro"
  5. :show="page === undefined"
  6. z-index="0"
  7. >
  8. <page-view
  9. v-if="page"
  10. :page="page" slug="intro"
  11. @close="$router.push({ name: 'home' })"
  12. />
  13. </b-overlay>
  14. </div>
  15. </template>
  16. <script>
  17. import { PageView } from '@/components/layouts'
  18. export default {
  19. name: 'Introduction',
  20. components: {
  21. PageView
  22. },
  23. data () {
  24. return {
  25. page: undefined
  26. }
  27. },
  28. async created () {
  29. this.page = await this.$store.dispatch('QUERY_PAGE', 'intro')
  30. }
  31. }
  32. </script>
  33. <style lang="scss" scoped>
  34. .view-introduction {
  35. height: 100%;
  36. position: relative;
  37. &.overflow-hidden {
  38. overflow: hidden;
  39. }
  40. }
  41. .intro {
  42. height: 100%;
  43. .page-intro {
  44. font-family: $font-family-text;
  45. font-size: 1.5rem;
  46. @include media-breakpoint-up($size-bp) {
  47. font-size: 2rem;
  48. }
  49. @include media-breakpoint-up($layout-bp) {
  50. ::v-deep .page-wrapper {
  51. max-width: 70%;
  52. margin: auto;
  53. }
  54. }
  55. }
  56. }
  57. </style>