diff --git a/web/src/routes/(user)/user-settings/UserUsageStatistic.svelte b/web/src/routes/(user)/user-settings/UserUsageStatistic.svelte index 5027ac0e7c..8394b7ac0d 100644 --- a/web/src/routes/(user)/user-settings/UserUsageStatistic.svelte +++ b/web/src/routes/(user)/user-settings/UserUsageStatistic.svelte @@ -4,22 +4,16 @@ AssetVisibility, getAlbumStatistics, getAssetStatistics, + getMyUploadStatistics, type AlbumStatisticsResponseDto, type AssetStatsResponseDto, + type UserUploadStatsResponseDto, } from '@immich/sdk'; import { Heading, Table, TableBody, TableCell, TableHeader, TableHeading, TableRow } from '@immich/ui'; import { DateTime } from 'luxon'; import { onMount } from 'svelte'; import { t } from 'svelte-i18n'; - type UserUploadStatsResponseDto = { - userId: string; - from: string; - to: string; - series: Array<{ date: string; count: number }>; - totalCount: number; - }; - let timelineStats: AssetStatsResponseDto = $state({ videos: 0, images: 0, @@ -62,11 +56,6 @@ const uploadActivityTo = today.toISODate(); const uploadActivityFrom = today.minus({ weeks: 52 }).plus({ days: 1 }).toISODate(); - const getMyUploadStatistics = async (from: string, to: string) => { - const response = await fetch(`/api/users/me/stats/uploads?${new URLSearchParams({ from, to })}`); - return (await response.json()) as UserUploadStatsResponseDto; - }; - const getUsage = async () => { [timelineStats, favoriteStats, archiveStats, trashStats, albumStats, uploadStats] = await Promise.all([ getAssetStatistics({ visibility: AssetVisibility.Timeline }), @@ -74,7 +63,7 @@ getAssetStatistics({ visibility: AssetVisibility.Archive }), getAssetStatistics({ isTrashed: true }), getAlbumStatistics(), - getMyUploadStatistics(uploadActivityFrom, uploadActivityTo), + getMyUploadStatistics({ $from: uploadActivityFrom, to: uploadActivityTo }), ]); };