diff --git a/package.json b/package.json index 9eadb7cf..daaab8e4 100644 --- a/package.json +++ b/package.json @@ -45,7 +45,7 @@ "@dicebear/initials": "^6.0.4", "markdown-it": "^13.0.1", "mono-svelte": "^1.4.5", - "svelte-infinite-scroll": "^2.0.1" + "svelte-infinite-loading": "^1.3.8" }, "type": "module" } diff --git a/src/lib/components/lemmy/post/PostFeed.svelte b/src/lib/components/lemmy/post/PostFeed.svelte index 6bddd262..bd9383e4 100644 --- a/src/lib/components/lemmy/post/PostFeed.svelte +++ b/src/lib/components/lemmy/post/PostFeed.svelte @@ -7,8 +7,8 @@ import { ArchiveBox, Icon, Minus, Plus } from "svelte-hero-icons"; import { expoOut } from "svelte/easing"; import { fly, slide } from "svelte/transition"; - import InfiniteScroll from "svelte-infinite-scroll"; import { loadPosts, loadedPosts } from "$lib/lemmy.ts"; + import InfiniteLoading from "svelte-infinite-loading"; import { page } from "$app/stores"; type PostViewWithCrossposts = PostView & { @@ -163,17 +163,21 @@ {/if} {/each} {/if} - { - let newUrl = $page.url; - newUrl.searchParams.set("cursor", cursor?.next || ""); + + { + let newUrl = $page.url; + newUrl.searchParams.set("cursor", cursor?.next || ""); - let newPosts = await loadPosts(newUrl, fetch); + let newPosts = await loadPosts(newUrl, fetch); + if (newPosts.posts.posts.length == 0) { + loaded(); + complete(); + } else { $loadedPosts = [...$loadedPosts, ...newPosts.posts.posts]; - cursor = newPosts.cursor; - }} - /> - + loaded(); + } + }} + spinner="wavedots" +/> diff --git a/src/routes/+page.svelte b/src/routes/+page.svelte index 4d710dac..5a129568 100644 --- a/src/routes/+page.svelte +++ b/src/routes/+page.svelte @@ -82,22 +82,4 @@ initialPosts={data.posts.posts} cursor={{ next: data.cursor.next, back: data.cursor.back }} /> -
- searchParam($page.url, "page", p.detail.toString())} - on:cursor={(c) => { - searchParam($page.url, "cursor", c.detail); - }} - > - - - - {$site?.site_view.counts.users_active_day} - - Active users - - -