From 3849643f7d836fa8c53b54975c5d20d09dda4d3a Mon Sep 17 00:00:00 2001 From: TZGyn Date: Wed, 26 Jul 2023 13:04:05 +0800 Subject: [PATCH] Frontend: added infinite scrolling to posts --- frontend/pages/index.vue | 55 ++++++++++++++++++++++++++++++++-------- 1 file changed, 45 insertions(+), 10 deletions(-) diff --git a/frontend/pages/index.vue b/frontend/pages/index.vue index 9d79c65..c16c0b3 100644 --- a/frontend/pages/index.vue +++ b/frontend/pages/index.vue @@ -6,9 +6,12 @@ definePageMeta({ const posts = usePosts() const openCreatePostModal = ref(false) const pageType = ref<'following' | 'for you'>('for you') +const isLoading = ref(false) -const getPosts = async () => { - await fetchPosts() +const getPosts = async (order?: 'new' | 'old') => { + isLoading.value = true + await fetchPosts(order) + isLoading.value = false } const toggleCreatePostModal = () => { @@ -24,13 +27,26 @@ const createPost = () => { // toggleCreatePostModal() } +const postsView = ref(null) + +useInfiniteScroll( + postsView, + () => { + getPosts() + }, + { + distance: 0, + interval: 7000, + } +) + onMounted(() => { getPosts() }) + +