mirror of
https://github.com/immich-app/immich.git
synced 2025-07-09 03:04:16 -04:00
fix: replace edit user button with view button for user details screen (#18683)
This commit is contained in:
parent
d004c03990
commit
0712183a18
@ -1943,6 +1943,7 @@
|
|||||||
"view_previous_asset": "View previous asset",
|
"view_previous_asset": "View previous asset",
|
||||||
"view_qr_code": "View QR code",
|
"view_qr_code": "View QR code",
|
||||||
"view_stack": "View Stack",
|
"view_stack": "View Stack",
|
||||||
|
"view_user": "View User",
|
||||||
"viewer_remove_from_stack": "Remove from Stack",
|
"viewer_remove_from_stack": "Remove from Stack",
|
||||||
"viewer_stack_use_as_main_asset": "Use as Main Asset",
|
"viewer_stack_use_as_main_asset": "Use as Main Asset",
|
||||||
"viewer_unstack": "Un-Stack",
|
"viewer_unstack": "Un-Stack",
|
||||||
|
@ -10,7 +10,6 @@
|
|||||||
import { modalManager } from '$lib/managers/modal-manager.svelte';
|
import { modalManager } from '$lib/managers/modal-manager.svelte';
|
||||||
import UserCreateModal from '$lib/modals/UserCreateModal.svelte';
|
import UserCreateModal from '$lib/modals/UserCreateModal.svelte';
|
||||||
import UserDeleteConfirmModal from '$lib/modals/UserDeleteConfirmModal.svelte';
|
import UserDeleteConfirmModal from '$lib/modals/UserDeleteConfirmModal.svelte';
|
||||||
import UserEditModal from '$lib/modals/UserEditModal.svelte';
|
|
||||||
import UserRestoreConfirmModal from '$lib/modals/UserRestoreConfirmModal.svelte';
|
import UserRestoreConfirmModal from '$lib/modals/UserRestoreConfirmModal.svelte';
|
||||||
import { locale } from '$lib/stores/preferences.store';
|
import { locale } from '$lib/stores/preferences.store';
|
||||||
import { serverConfig } from '$lib/stores/server-config.store';
|
import { serverConfig } from '$lib/stores/server-config.store';
|
||||||
@ -18,8 +17,8 @@
|
|||||||
import { websocketEvents } from '$lib/stores/websocket';
|
import { websocketEvents } from '$lib/stores/websocket';
|
||||||
import { getByteUnitString } from '$lib/utils/byte-units';
|
import { getByteUnitString } from '$lib/utils/byte-units';
|
||||||
import { UserStatus, searchUsersAdmin, type UserAdminResponseDto } from '@immich/sdk';
|
import { UserStatus, searchUsersAdmin, type UserAdminResponseDto } from '@immich/sdk';
|
||||||
import { Button, HStack, IconButton, Link, Text } from '@immich/ui';
|
import { Button, HStack, IconButton, Text } from '@immich/ui';
|
||||||
import { mdiDeleteRestore, mdiInfinity, mdiPencilOutline, mdiPlusBoxOutline, mdiTrashCanOutline } from '@mdi/js';
|
import { mdiDeleteRestore, mdiEyeOutline, mdiInfinity, mdiPlusBoxOutline, mdiTrashCanOutline } from '@mdi/js';
|
||||||
import { DateTime } from 'luxon';
|
import { DateTime } from 'luxon';
|
||||||
import { onMount } from 'svelte';
|
import { onMount } from 'svelte';
|
||||||
import { t } from 'svelte-i18n';
|
import { t } from 'svelte-i18n';
|
||||||
@ -63,13 +62,6 @@
|
|||||||
await refresh();
|
await refresh();
|
||||||
};
|
};
|
||||||
|
|
||||||
const handleEdit = async (dto: UserAdminResponseDto) => {
|
|
||||||
const result = await modalManager.show(UserEditModal, { user: dto });
|
|
||||||
if (result) {
|
|
||||||
await refresh();
|
|
||||||
}
|
|
||||||
};
|
|
||||||
|
|
||||||
const handleDelete = async (user: UserAdminResponseDto) => {
|
const handleDelete = async (user: UserAdminResponseDto) => {
|
||||||
const result = await modalManager.show(UserDeleteConfirmModal, { user });
|
const result = await modalManager.show(UserDeleteConfirmModal, { user });
|
||||||
if (result) {
|
if (result) {
|
||||||
@ -116,9 +108,9 @@
|
|||||||
? 'bg-red-300 dark:bg-red-900'
|
? 'bg-red-300 dark:bg-red-900'
|
||||||
: 'even:bg-subtle/20 odd:bg-subtle/80'}"
|
: 'even:bg-subtle/20 odd:bg-subtle/80'}"
|
||||||
>
|
>
|
||||||
<td class="w-8/12 sm:w-5/12 lg:w-6/12 xl:w-4/12 2xl:w-5/12 text-ellipsis break-all px-2 text-sm"
|
<td class="w-8/12 sm:w-5/12 lg:w-6/12 xl:w-4/12 2xl:w-5/12 text-ellipsis break-all px-2 text-sm">
|
||||||
><Link href="{AppRoute.ADMIN_USERS}/{immichUser.id}">{immichUser.email}</Link></td
|
{immichUser.email}
|
||||||
>
|
</td>
|
||||||
<td class="hidden sm:block w-3/12 text-ellipsis break-all px-2 text-sm">{immichUser.name}</td>
|
<td class="hidden sm:block w-3/12 text-ellipsis break-all px-2 text-sm">{immichUser.name}</td>
|
||||||
<td class="hidden xl:block w-3/12 2xl:w-2/12 text-ellipsis break-all px-2 text-sm">
|
<td class="hidden xl:block w-3/12 2xl:w-2/12 text-ellipsis break-all px-2 text-sm">
|
||||||
<div class="container mx-auto flex flex-wrap justify-center">
|
<div class="container mx-auto flex flex-wrap justify-center">
|
||||||
@ -136,10 +128,10 @@
|
|||||||
<IconButton
|
<IconButton
|
||||||
shape="round"
|
shape="round"
|
||||||
size="medium"
|
size="medium"
|
||||||
icon={mdiPencilOutline}
|
icon={mdiEyeOutline}
|
||||||
title={$t('edit_user')}
|
title={$t('view_user')}
|
||||||
onclick={() => handleEdit(immichUser)}
|
href={`${AppRoute.ADMIN_USERS}/${immichUser.id}`}
|
||||||
aria-label={$t('edit_user')}
|
aria-label={$t('view_user')}
|
||||||
/>
|
/>
|
||||||
{#if immichUser.id !== $user.id}
|
{#if immichUser.id !== $user.id}
|
||||||
<IconButton
|
<IconButton
|
||||||
|
Loading…
x
Reference in New Issue
Block a user