mirror of
https://github.com/immich-app/immich.git
synced 2026-05-18 03:10:24 +03:00
feat(web): add shortcut "p" to open/close the face tag box (#26826)
This commit is contained in:
@@ -396,7 +396,7 @@
|
|||||||
ocrManager.hasOcrData,
|
ocrManager.hasOcrData,
|
||||||
);
|
);
|
||||||
|
|
||||||
const { Tag } = $derived(getAssetActions($t, asset));
|
const { Tag, TagPeople } = $derived(getAssetActions($t, asset));
|
||||||
const showDetailPanel = $derived(
|
const showDetailPanel = $derived(
|
||||||
asset.hasMetadata &&
|
asset.hasMetadata &&
|
||||||
$slideshowState === SlideshowState.None &&
|
$slideshowState === SlideshowState.None &&
|
||||||
@@ -405,7 +405,7 @@
|
|||||||
);
|
);
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<CommandPaletteDefaultProvider name={$t('assets')} actions={[Tag]} />
|
<CommandPaletteDefaultProvider name={$t('assets')} actions={[Tag, TagPeople]} />
|
||||||
|
|
||||||
<svelte:document bind:fullscreenElement />
|
<svelte:document bind:fullscreenElement />
|
||||||
|
|
||||||
|
|||||||
@@ -40,6 +40,7 @@
|
|||||||
{ key: ['s'], action: $t('stack_selected_photos') },
|
{ key: ['s'], action: $t('stack_selected_photos') },
|
||||||
{ key: ['l'], action: $t('add_to_album') },
|
{ key: ['l'], action: $t('add_to_album') },
|
||||||
{ key: ['t'], action: $t('tag_assets') },
|
{ key: ['t'], action: $t('tag_assets') },
|
||||||
|
{ key: ['p'], action: $t('tag_people') },
|
||||||
{ key: ['⇧', 'a'], action: $t('archive_or_unarchive_photo') },
|
{ key: ['⇧', 'a'], action: $t('archive_or_unarchive_photo') },
|
||||||
{ key: ['⇧', 'd'], action: $t('download') },
|
{ key: ['⇧', 'd'], action: $t('download') },
|
||||||
{ key: ['Space'], action: $t('play_or_pause_video') },
|
{ key: ['Space'], action: $t('play_or_pause_video') },
|
||||||
|
|||||||
@@ -5,6 +5,7 @@ import { eventManager } from '$lib/managers/event-manager.svelte';
|
|||||||
import AssetAddToAlbumModal from '$lib/modals/AssetAddToAlbumModal.svelte';
|
import AssetAddToAlbumModal from '$lib/modals/AssetAddToAlbumModal.svelte';
|
||||||
import AssetTagModal from '$lib/modals/AssetTagModal.svelte';
|
import AssetTagModal from '$lib/modals/AssetTagModal.svelte';
|
||||||
import SharedLinkCreateModal from '$lib/modals/SharedLinkCreateModal.svelte';
|
import SharedLinkCreateModal from '$lib/modals/SharedLinkCreateModal.svelte';
|
||||||
|
import { isFaceEditMode } from '$lib/stores/face-edit.svelte';
|
||||||
import { user as authUser, preferences } from '$lib/stores/user.store';
|
import { user as authUser, preferences } from '$lib/stores/user.store';
|
||||||
import type { AssetControlContext } from '$lib/types';
|
import type { AssetControlContext } from '$lib/types';
|
||||||
import { getSharedLink, sleep } from '$lib/utils';
|
import { getSharedLink, sleep } from '$lib/utils';
|
||||||
@@ -31,6 +32,7 @@ import {
|
|||||||
mdiDatabaseRefreshOutline,
|
mdiDatabaseRefreshOutline,
|
||||||
mdiDownload,
|
mdiDownload,
|
||||||
mdiDownloadBox,
|
mdiDownloadBox,
|
||||||
|
mdiFaceRecognition,
|
||||||
mdiHeadSyncOutline,
|
mdiHeadSyncOutline,
|
||||||
mdiHeart,
|
mdiHeart,
|
||||||
mdiHeartOutline,
|
mdiHeartOutline,
|
||||||
@@ -223,6 +225,17 @@ export const getAssetActions = ($t: MessageFormatter, asset: AssetResponseDto) =
|
|||||||
shortcuts: { key: 't' },
|
shortcuts: { key: 't' },
|
||||||
};
|
};
|
||||||
|
|
||||||
|
const TagPeople: ActionItem = {
|
||||||
|
title: $t('tag_people'),
|
||||||
|
icon: mdiFaceRecognition,
|
||||||
|
type: $t('assets'),
|
||||||
|
$if: () => isOwner && asset.type === AssetTypeEnum.Image && !asset.isTrashed,
|
||||||
|
onAction: () => {
|
||||||
|
isFaceEditMode.value = !isFaceEditMode.value;
|
||||||
|
},
|
||||||
|
shortcuts: { key: 'p' },
|
||||||
|
};
|
||||||
|
|
||||||
const Edit: ActionItem = {
|
const Edit: ActionItem = {
|
||||||
title: $t('editor'),
|
title: $t('editor'),
|
||||||
icon: mdiTune,
|
icon: mdiTune,
|
||||||
@@ -279,6 +292,7 @@ export const getAssetActions = ($t: MessageFormatter, asset: AssetResponseDto) =
|
|||||||
ZoomOut,
|
ZoomOut,
|
||||||
Copy,
|
Copy,
|
||||||
Tag,
|
Tag,
|
||||||
|
TagPeople,
|
||||||
Edit,
|
Edit,
|
||||||
RefreshFacesJob,
|
RefreshFacesJob,
|
||||||
RefreshMetadataJob,
|
RefreshMetadataJob,
|
||||||
|
|||||||
Reference in New Issue
Block a user