From 47624547f8cb352426d597537c11e7a4550aa91e Mon Sep 17 00:00:00 2001 From: Mohamed Bassem Date: Sun, 6 Jul 2025 14:31:58 +0000 Subject: feat: Add new user stats page. Fixes #1523 --- packages/shared/types/users.ts | 46 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 46 insertions(+) (limited to 'packages/shared') diff --git a/packages/shared/types/users.ts b/packages/shared/types/users.ts index 0abe13b1..65e73ff3 100644 --- a/packages/shared/types/users.ts +++ b/packages/shared/types/users.ts @@ -38,6 +38,52 @@ export const zUserStatsResponseSchema = z.object({ numTags: z.number(), numLists: z.number(), numHighlights: z.number(), + bookmarksByType: z.object({ + link: z.number(), + text: z.number(), + asset: z.number(), + }), + topDomains: z + .array( + z.object({ + domain: z.string(), + count: z.number(), + }), + ) + .max(10), + totalAssetSize: z.number(), + assetsByType: z.array( + z.object({ + type: z.string(), + count: z.number(), + totalSize: z.number(), + }), + ), + bookmarkingActivity: z.object({ + thisWeek: z.number(), + thisMonth: z.number(), + thisYear: z.number(), + byHour: z.array( + z.object({ + hour: z.number(), + count: z.number(), + }), + ), + byDayOfWeek: z.array( + z.object({ + day: z.number(), + count: z.number(), + }), + ), + }), + tagUsage: z + .array( + z.object({ + name: z.string(), + count: z.number(), + }), + ) + .max(10), }); export const zUserSettingsSchema = z.object({ -- cgit v1.3-1-g0d28