_slug.vue 805 B

1234567891011121314151617181920212223242526272829303132333435363738
  1. <template>
  2. <div class="blog-editor-container">
  3. <div class="container">
  4. <div class="blog-section-user">
  5. <user-tile
  6. :name="blog.author.name"
  7. :avatar="blog.author.avatar"
  8. :date="blog.createdAt | formatDate"
  9. />
  10. </div>
  11. <div class="blog-content" v-html="blog.content">
  12. </div>
  13. </div>
  14. </div>
  15. </template>
  16. <script>
  17. import UserTile from '~/components/shared/UserTile'
  18. export default {
  19. components: {
  20. UserTile
  21. },
  22. computed: {
  23. blog() {
  24. return this.$store.state.blog.item
  25. }
  26. },
  27. async fetch({store, params}) {
  28. await store.dispatch('blog/fetchBlogBySlug', params.slug)
  29. }
  30. }
  31. </script>
  32. <style scoped lang="scss">
  33. .blog-content, .blog-section-user {
  34. max-width: 800px;
  35. margin: 10px auto;
  36. }
  37. </style>