diff --git a/src/lib/components/BookmarkCard.svelte b/src/lib/components/BookmarkCard.svelte index b91faf0..c9a0c98 100644 --- a/src/lib/components/BookmarkCard.svelte +++ b/src/lib/components/BookmarkCard.svelte @@ -11,8 +11,8 @@ let { isOwner, bookmark, onTagClick, onTagDeleteClick }: BookmarkCardProps = $props(); -
- {bookmark.subject} +
+ {bookmark.subject} {#if bookmark.tags && bookmark.tags.length > 0}
{#each bookmark.tags as tag} @@ -27,7 +27,7 @@ {/if} diff --git a/src/lib/utils.ts b/src/lib/utils.ts index 69a0cc6..79c9475 100644 --- a/src/lib/utils.ts +++ b/src/lib/utils.ts @@ -1,5 +1,3 @@ -import { atclient } from "./atproto"; - // --- UTILITIES --- export type CommonSliceFields = { indexedAt: string; diff --git a/src/routes/+page.svelte b/src/routes/+page.svelte index 90433e2..e9c5611 100644 --- a/src/routes/+page.svelte +++ b/src/routes/+page.svelte @@ -1,2 +1,60 @@ + +

explore

-

coming soon...

+ +{#if userBookmarksQuery.loading} +

Loading...

+{:else if userBookmarksQuery.error} +

Error

+{:else} + {@const { cursor: returnedCursor, bookmarks } = userBookmarksQuery.current || { cursor: "", bookmarks: []}} + +
+ +
+ + + + +
+
+
+
+ +
+ {#each bookmarks as bookmark} + {#if bookmark.subject.includes(query) && (bookmark.tags?.some(t => filterTags.length > 0 ? filterTags.includes(t) : true))} + + {/if} + {/each} +
+{/if} diff --git a/src/routes/api/bookmarks/data.remote.ts b/src/routes/api/bookmarks/data.remote.ts index a9282bf..0e16d21 100644 --- a/src/routes/api/bookmarks/data.remote.ts +++ b/src/routes/api/bookmarks/data.remote.ts @@ -23,3 +23,14 @@ export const getUserBookmarks = query(GetUserBookmarksValidator, async ({ handle return { cursor: data.cursor, bookmarks: data.records.map((r) => r.value )}; }); + + +const GetAllBookmarksValidator = v.object({ + cursor: v.optional(v.string()) +}); + +export const getAllBookmarks = query(GetAllBookmarksValidator, async ({ cursor }) => { + const data = await LexiconBookmarkSlicesAPI.getList({ cursor }); + + return { cursor: data.cursor, bookmarks: data.records.map((r) => r.value )}; +});