From c3fcef9a8111650a307ee22bc7cc190037c4dd68 Mon Sep 17 00:00:00 2001 From: David Bushell Date: Mon, 9 Mar 2026 14:05:13 +0000 Subject: [PATCH] async lazy load bookmark pagination --- src/lib/types.ts | 8 ++++ src/routes/bookmarks/[did=did]/+page.svelte | 48 ++++++++++++++++++++- src/routes/bookmarks/[did=did]/+page.ts | 42 +++++++++++------- 3 files changed, 81 insertions(+), 17 deletions(-) diff --git a/src/lib/types.ts b/src/lib/types.ts index 271c6c2..8025310 100644 --- a/src/lib/types.ts +++ b/src/lib/types.ts @@ -1,4 +1,5 @@ import type { RequestEvent } from "@sveltejs/kit"; +import type { BookmarkData } from "./valibot"; export type AuthEvent = RequestEvent & { platform: App.Platform; @@ -10,6 +11,13 @@ export type UserEvent = AuthEvent & { }; }; +export type BookmarkEntity = BookmarkData & { cid: string; uri: string }; + +export type BookmarkLoad = (cursor?: string) => Promise<{ + bookmarks: Array; + next?: BookmarkLoad; +}>; + export const isAuthEvent = (event: RequestEvent): event is AuthEvent => { return event.platform?.env !== undefined; }; diff --git a/src/routes/bookmarks/[did=did]/+page.svelte b/src/routes/bookmarks/[did=did]/+page.svelte index 24bcfed..75d41ed 100644 --- a/src/routes/bookmarks/[did=did]/+page.svelte +++ b/src/routes/bookmarks/[did=did]/+page.svelte @@ -1,12 +1,46 @@