diff options
| author | Mohamed Bassem <me@mbassem.com> | 2025-09-07 16:00:03 +0000 |
|---|---|---|
| committer | Mohamed Bassem <me@mbassem.com> | 2025-09-07 16:00:03 +0000 |
| commit | d623abd20c070b7736f66793b8f921a0ad7cb27f (patch) | |
| tree | b8f2b3ea8b77f04ecae59a6aee40379003493bb1 /packages/trpc | |
| parent | 8e95dae31a2c88d931917129b690698e0490bb04 (diff) | |
| download | karakeep-d623abd20c070b7736f66793b8f921a0ad7cb27f.tar.zst | |
fix: fix tag flicker caused by tag sorting
Diffstat (limited to 'packages/trpc')
| -rw-r--r-- | packages/trpc/models/bookmarks.ts | 6 | ||||
| -rw-r--r-- | packages/trpc/routers/bookmarks.ts | 12 |
2 files changed, 14 insertions, 4 deletions
diff --git a/packages/trpc/models/bookmarks.ts b/packages/trpc/models/bookmarks.ts index 07b3832d..e0864ec1 100644 --- a/packages/trpc/models/bookmarks.ts +++ b/packages/trpc/models/bookmarks.ts @@ -342,6 +342,12 @@ export class Bookmark implements PrivacyAware { } }); + bookmarksArr.forEach((b) => { + b.tags.sort((a, b) => + a.attachedBy === "ai" ? 1 : b.attachedBy === "ai" ? -1 : 0, + ); + }); + let nextCursor = null; if (bookmarksArr.length > input.limit) { const nextItem = bookmarksArr.pop()!; diff --git a/packages/trpc/routers/bookmarks.ts b/packages/trpc/routers/bookmarks.ts index db9d33fc..31ffef4a 100644 --- a/packages/trpc/routers/bookmarks.ts +++ b/packages/trpc/routers/bookmarks.ts @@ -240,10 +240,14 @@ async function toZodSchema( } return { - tags: tagsOnBookmarks.map((t) => ({ - attachedBy: t.attachedBy, - ...t.tag, - })), + tags: tagsOnBookmarks + .map((t) => ({ + attachedBy: t.attachedBy, + ...t.tag, + })) + .sort((a, b) => + a.attachedBy === "ai" ? 1 : b.attachedBy === "ai" ? -1 : 0, + ), content, assets: assets.map((a) => ({ id: a.id, |
