diff --git a/web/src/lib/components/server-statistics/ServerStatisticsPanel.svelte b/web/src/lib/components/server-statistics/ServerStatisticsPanel.svelte
index d8de773943..1fc01faf9c 100644
--- a/web/src/lib/components/server-statistics/ServerStatisticsPanel.svelte
+++ b/web/src/lib/components/server-statistics/ServerStatisticsPanel.svelte
@@ -7,20 +7,11 @@
import { mdiCameraIris, mdiChartPie, mdiPlayCircle } from '@mdi/js';
import { t } from 'svelte-i18n';
- interface Props {
- stats?: ServerStatsResponseDto;
- }
+ type Props = {
+ stats: ServerStatsResponseDto;
+ };
- let {
- stats = {
- photos: 0,
- videos: 0,
- usage: 0,
- usagePhotos: 0,
- usageVideos: 0,
- usageByUser: [],
- },
- }: Props = $props();
+ const { stats }: Props = $props();
const zeros = (value: number) => {
const maxLength = 13;
diff --git a/web/src/routes/admin/server-status/+page.svelte b/web/src/routes/admin/server-status/+page.svelte
index 433703ae0e..e33a792322 100644
--- a/web/src/routes/admin/server-status/+page.svelte
+++ b/web/src/routes/admin/server-status/+page.svelte
@@ -1,35 +1,33 @@
diff --git a/web/src/routes/admin/users/+page.svelte b/web/src/routes/admin/users/+page.svelte
index 307fbe1ba4..85cff25e97 100644
--- a/web/src/routes/admin/users/+page.svelte
+++ b/web/src/routes/admin/users/+page.svelte
@@ -6,7 +6,7 @@
import { getUserAdminActions, getUserAdminsActions } from '$lib/services/user-admin.service';
import { locale } from '$lib/stores/preferences.store';
import { getByteUnitString } from '$lib/utils/byte-units';
- import { searchUsersAdmin, type UserAdminResponseDto } from '@immich/sdk';
+ import { type UserAdminResponseDto } from '@immich/sdk';
import { HStack, Icon } from '@immich/ui';
import { mdiInfinity } from '@mdi/js';
import { t } from 'svelte-i18n';
@@ -18,24 +18,20 @@
let { data }: Props = $props();
- let allUsers: UserAdminResponseDto[] = $derived(data.allUsers);
+ let allUsers: UserAdminResponseDto[] = $state(data.allUsers);
- const refresh = async () => {
- allUsers = await searchUsersAdmin({ withDeleted: true });
- };
-
- const onUserAdminDeleted = ({ id: userId }: { id: string }) => {
- const user = allUsers.find(({ id }) => id === userId);
- if (user) {
- allUsers = allUsers.filter((user) => user.id !== userId);
+ const onUpdate = (user: UserAdminResponseDto) => {
+ const index = allUsers.findIndex(({ id }) => id === user.id);
+ if (index !== -1) {
+ allUsers[index] = user;
}
};
- const UserAdminsActions = $derived(getUserAdminsActions($t));
-
- const onUpdate = async () => {
- await refresh();
+ const onUserAdminDeleted = ({ id: userId }: { id: string }) => {
+ allUsers = allUsers.filter(({ id }) => id !== userId);
};
+
+ const { Create } = $derived(getUserAdminsActions($t));
{#snippet buttons()}
-
+
{/snippet}
@@ -69,7 +65,7 @@
{#each allUsers as user (user.id)}
- {@const UserAdminActions = getUserAdminActions($t, user)}
+ {@const { View, ContextMenu } = getUserAdminActions($t, user)}
-
-
+
+
{/each}