aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMohamed Bassem <me@mbassem.com>2024-10-20 16:00:17 +0000
committerMohamed Bassem <me@mbassem.com>2024-10-20 16:00:17 +0000
commit4086c37b830c3c4141b37052e3c192a750470084 (patch)
tree7bab9bff1bdc7f7b4b48987b68a6b99b7b6fcfee
parente89a38680532c3ab72ef26dfe88bb64476b709ab (diff)
downloadkarakeep-4086c37b830c3c4141b37052e3c192a750470084.tar.zst
fix: Improve field names in the tag APIs
-rw-r--r--apps/cli/src/commands/tags.ts4
-rw-r--r--apps/web/components/dashboard/tags/AllTagsView.tsx16
-rw-r--r--packages/shared/types/tags.ts4
-rw-r--r--packages/trpc/routers/tags.ts15
4 files changed, 24 insertions, 15 deletions
diff --git a/apps/cli/src/commands/tags.ts b/apps/cli/src/commands/tags.ts
index c2c1dd3a..14cb7f10 100644
--- a/apps/cli/src/commands/tags.ts
+++ b/apps/cli/src/commands/tags.ts
@@ -21,14 +21,14 @@ tagsCmd
try {
const tags = (await api.tags.list.query()).tags;
- tags.sort((a, b) => b.count - a.count);
+ tags.sort((a, b) => b.numBookmarks - a.numBookmarks);
if (getGlobalOptions().json) {
printObject(tags);
} else {
const data: string[][] = [["Id", "Name", "Num bookmarks"]];
tags.forEach((tag) => {
- data.push([tag.id, tag.name, tag.count.toString()]);
+ data.push([tag.id, tag.name, tag.numBookmarks.toString()]);
});
console.log(
table(data, {
diff --git a/apps/web/components/dashboard/tags/AllTagsView.tsx b/apps/web/components/dashboard/tags/AllTagsView.tsx
index f6a42ef2..72f4dc11 100644
--- a/apps/web/components/dashboard/tags/AllTagsView.tsx
+++ b/apps/web/components/dashboard/tags/AllTagsView.tsx
@@ -59,10 +59,10 @@ function DeleteAllUnusedTags({ numUnusedTags }: { numUnusedTags: number }) {
const byUsageSorter = (a: ZGetTagResponse, b: ZGetTagResponse) => {
// Sort by name if the usage is the same to get a stable result
- if (b.count == a.count) {
+ if (b.numBookmarks == a.numBookmarks) {
return byNameSorter(a, b);
}
- return b.count - a.count;
+ return b.numBookmarks - a.numBookmarks;
};
const byNameSorter = (a: ZGetTagResponse, b: ZGetTagResponse) =>
a.name.localeCompare(b.name, undefined, { sensitivity: "base" });
@@ -102,9 +102,13 @@ export default function AllTagsView({
// Sort tags by usage desc
const allTags = data.tags.sort(sortByName ? byNameSorter : byUsageSorter);
- const humanTags = allTags.filter((t) => (t.countAttachedBy.human ?? 0) > 0);
- const aiTags = allTags.filter((t) => (t.countAttachedBy.ai ?? 0) > 0);
- const emptyTags = allTags.filter((t) => t.count === 0);
+ const humanTags = allTags.filter(
+ (t) => (t.numBookmarksByAttachedType.human ?? 0) > 0,
+ );
+ const aiTags = allTags.filter(
+ (t) => (t.numBookmarksByAttachedType.ai ?? 0) > 0,
+ );
+ const emptyTags = allTags.filter((t) => t.numBookmarks === 0);
const tagsToPill = (tags: typeof allTags) => {
let tagPill;
@@ -116,7 +120,7 @@ export default function AllTagsView({
key={t.id}
id={t.id}
name={t.name}
- count={t.count}
+ count={t.numBookmarks}
isDraggable={draggingEnabled}
onOpenDialog={handleOpenDialog}
/>
diff --git a/packages/shared/types/tags.ts b/packages/shared/types/tags.ts
index 7828c645..54dc3eb5 100644
--- a/packages/shared/types/tags.ts
+++ b/packages/shared/types/tags.ts
@@ -12,8 +12,8 @@ export type ZBookmarkTags = z.infer<typeof zBookmarkTagSchema>;
export const zGetTagResponseSchema = z.object({
id: z.string(),
name: z.string(),
- count: z.number(),
- countAttachedBy: z.record(zAttachedByEnumSchema, z.number()),
+ numBookmarks: z.number(),
+ numBookmarksByAttachedType: z.record(zAttachedByEnumSchema, z.number()),
});
export type ZGetTagResponse = z.infer<typeof zGetTagResponseSchema>;
diff --git a/packages/trpc/routers/tags.ts b/packages/trpc/routers/tags.ts
index c04593c9..c080bad8 100644
--- a/packages/trpc/routers/tags.ts
+++ b/packages/trpc/routers/tags.ts
@@ -80,7 +80,9 @@ export const tagsAppRouter = router({
throw new TRPCError({ code: "NOT_FOUND" });
}
- const countAttachedBy = res.reduce<Record<ZAttachedByEnum, number>>(
+ const numBookmarksByAttachedType = res.reduce<
+ Record<ZAttachedByEnum, number>
+ >(
(acc, curr) => {
if (curr.attachedBy) {
acc[curr.attachedBy]++;
@@ -93,8 +95,11 @@ export const tagsAppRouter = router({
return {
id: res[0].id,
name: res[0].name,
- count: Object.values(countAttachedBy).reduce((s, a) => s + a, 0),
- countAttachedBy,
+ numBookmarks: Object.values(numBookmarksByAttachedType).reduce(
+ (s, a) => s + a,
+ 0,
+ ),
+ numBookmarksByAttachedType,
};
}),
delete: authedProcedure
@@ -343,8 +348,8 @@ export const tagsAppRouter = router({
const resp = tags.map(({ tagsOnBookmarks, ...rest }) => ({
...rest,
- count: tagsOnBookmarks.length,
- countAttachedBy: tagsOnBookmarks.reduce<
+ numBookmarks: tagsOnBookmarks.length,
+ numBookmarksByAttachedType: tagsOnBookmarks.reduce<
Record<ZAttachedByEnum, number>
>(
(acc, curr) => {