diff options
author | Patryk Niedźwiedziński <pniedzwiedzinski19@gmail.com> | 2019-10-21 19:53:02 +0200 |
---|---|---|
committer | Patryk Niedźwiedziński <pniedzwiedzinski19@gmail.com> | 2019-10-21 19:53:02 +0200 |
commit | 17fc6a6b4507e5535d8b6989b66da5bac323e87b (patch) | |
tree | e2edf46d74a376d0359bcdeb5d19646afeb218e4 /components/PostList/PostList.vue | |
parent | 424eaa9e8098cef762b1a2a7565d37944bb25306 (diff) | |
download | puszcza-17fc6a6b4507e5535d8b6989b66da5bac323e87b.tar.gz puszcza-17fc6a6b4507e5535d8b6989b66da5bac323e87b.zip |
Add PostList
Diffstat (limited to 'components/PostList/PostList.vue')
-rw-r--r-- | components/PostList/PostList.vue | 49 |
1 files changed, 49 insertions, 0 deletions
diff --git a/components/PostList/PostList.vue b/components/PostList/PostList.vue new file mode 100644 index 0000000..206a73f --- /dev/null +++ b/components/PostList/PostList.vue @@ -0,0 +1,49 @@ +<template> + <pure-post-list :posts="posts" :loading="loading" /> +</template> + +<script> +import PurePostList from './PurePostList' + +export default { + name: 'PostList', + components: { PurePostList }, + props: { + max: { + type: Number, + required: false + } + }, + data() { + return { + loading: true, + rawPosts: [] + } + }, + mounted() { + this.loadPostsClient() + }, + computed: { + posts() { + if (this.max) { + return this.rawPosts.slice(0, this.max) + } + return this.rawPosts + } + }, + methods: { + async loadPostsClient() { + let posts = await this.$axios.get( + `${window.location.origin}/api/posts.json` + ) + this.rawPosts = posts.data + this.rawPosts = this.rawPosts.map(post => ({ + title: post.content.meta.title, + description: post.content.description, + route: post.route + })) + this.loading = false + } + } +} +</script> \ No newline at end of file |