|
@@ -27,7 +27,7 @@
|
|
import CircleIconButton from '../elements/buttons/circle-icon-button.svelte';
|
|
import CircleIconButton from '../elements/buttons/circle-icon-button.svelte';
|
|
import Close from 'svelte-material-icons/Close.svelte';
|
|
import Close from 'svelte-material-icons/Close.svelte';
|
|
import ProgressBar, { ProgressBarStatus } from '../shared-components/progress-bar/progress-bar.svelte';
|
|
import ProgressBar, { ProgressBarStatus } from '../shared-components/progress-bar/progress-bar.svelte';
|
|
- import { disableShortcut } from '$lib/stores/shortcut.store';
|
|
|
|
|
|
+ import { shouldIgnoreShortcut } from '$lib/utils/shortcut';
|
|
|
|
|
|
export let assetStore: AssetStore | null = null;
|
|
export let assetStore: AssetStore | null = null;
|
|
export let asset: AssetResponseDto;
|
|
export let asset: AssetResponseDto;
|
|
@@ -53,7 +53,7 @@
|
|
let shouldShowDownloadButton = sharedLink ? sharedLink.allowDownload : true;
|
|
let shouldShowDownloadButton = sharedLink ? sharedLink.allowDownload : true;
|
|
let canCopyImagesToClipboard: boolean;
|
|
let canCopyImagesToClipboard: boolean;
|
|
|
|
|
|
- const onKeyboardPress = (keyInfo: KeyboardEvent) => handleKeyboardPress(keyInfo.key, keyInfo.shiftKey);
|
|
|
|
|
|
+ const onKeyboardPress = (keyInfo: KeyboardEvent) => handleKeyboardPress(keyInfo);
|
|
|
|
|
|
onMount(async () => {
|
|
onMount(async () => {
|
|
document.addEventListener('keydown', onKeyboardPress);
|
|
document.addEventListener('keydown', onKeyboardPress);
|
|
@@ -89,11 +89,14 @@
|
|
}
|
|
}
|
|
};
|
|
};
|
|
|
|
|
|
- const handleKeyboardPress = (key: string, shiftKey: boolean) => {
|
|
|
|
- if ($disableShortcut) {
|
|
|
|
|
|
+ const handleKeyboardPress = (event: KeyboardEvent) => {
|
|
|
|
+ if (shouldIgnoreShortcut(event)) {
|
|
return;
|
|
return;
|
|
}
|
|
}
|
|
|
|
|
|
|
|
+ const key = event.key;
|
|
|
|
+ const shiftKey = event.shiftKey;
|
|
|
|
+
|
|
switch (key) {
|
|
switch (key) {
|
|
case 'a':
|
|
case 'a':
|
|
case 'A':
|
|
case 'A':
|
|
@@ -212,13 +215,11 @@
|
|
|
|
|
|
const openAlbumPicker = (shared: boolean) => {
|
|
const openAlbumPicker = (shared: boolean) => {
|
|
isShowAlbumPicker = true;
|
|
isShowAlbumPicker = true;
|
|
- $disableShortcut = true;
|
|
|
|
addToSharedAlbum = shared;
|
|
addToSharedAlbum = shared;
|
|
};
|
|
};
|
|
|
|
|
|
const handleAddToNewAlbum = (event: CustomEvent) => {
|
|
const handleAddToNewAlbum = (event: CustomEvent) => {
|
|
isShowAlbumPicker = false;
|
|
isShowAlbumPicker = false;
|
|
- $disableShortcut = false;
|
|
|
|
|
|
|
|
const { albumName }: { albumName: string } = event.detail;
|
|
const { albumName }: { albumName: string } = event.detail;
|
|
api.albumApi.createAlbum({ createAlbumDto: { albumName, assetIds: [asset.id] } }).then((response) => {
|
|
api.albumApi.createAlbum({ createAlbumDto: { albumName, assetIds: [asset.id] } }).then((response) => {
|
|
@@ -229,7 +230,6 @@
|
|
|
|
|
|
const handleAddToAlbum = async (event: CustomEvent<{ album: AlbumResponseDto }>) => {
|
|
const handleAddToAlbum = async (event: CustomEvent<{ album: AlbumResponseDto }>) => {
|
|
isShowAlbumPicker = false;
|
|
isShowAlbumPicker = false;
|
|
- $disableShortcut = false;
|
|
|
|
const album = event.detail.album;
|
|
const album = event.detail.album;
|
|
|
|
|
|
await addAssetsToAlbum(album.id, [asset.id]);
|
|
await addAssetsToAlbum(album.id, [asset.id]);
|
|
@@ -457,10 +457,7 @@
|
|
on:newAlbum={handleAddToNewAlbum}
|
|
on:newAlbum={handleAddToNewAlbum}
|
|
on:newSharedAlbum={handleAddToNewAlbum}
|
|
on:newSharedAlbum={handleAddToNewAlbum}
|
|
on:album={handleAddToAlbum}
|
|
on:album={handleAddToAlbum}
|
|
- on:close={() => {
|
|
|
|
- isShowAlbumPicker = false;
|
|
|
|
- $disableShortcut = false;
|
|
|
|
- }}
|
|
|
|
|
|
+ on:close={() => (isShowAlbumPicker = false)}
|
|
/>
|
|
/>
|
|
{/if}
|
|
{/if}
|
|
|
|
|