fix: regression in select-all (#16969)

* bug: select-all

* set->[] in interaction store, clear select-all on cancel

* feedback

---------

Co-authored-by: Alex Tran <alex.tran1502@gmail.com>
This commit is contained in:
Min Idzelis
2025-03-19 11:55:50 -04:00
committed by GitHub
parent 1a0a9ef36c
commit 9398b0d4b3
16 changed files with 82 additions and 82 deletions
@@ -249,7 +249,7 @@
album = await getAlbumInfo({ id: album.id, withoutAssets: true });
};
const handleAddAssets = async () => {
const assetIds = timelineInteraction.selectedAssetsArray.map((asset) => asset.id);
const assetIds = timelineInteraction.selectedAssets.map((asset) => asset.id);
try {
const results = await addAssetsToAlbum({
@@ -364,7 +364,7 @@
};
const updateThumbnailUsingCurrentSelection = async () => {
if (assetInteraction.selectedAssets.size === 1) {
if (assetInteraction.selectedAssets.length === 1) {
const [firstAsset] = assetInteraction.selectedAssets;
assetInteraction.clearMultiselect();
await updateThumbnail(firstAsset.id);
@@ -479,7 +479,7 @@
{#if assetInteraction.isAllUserOwned}
<ChangeDate menuItem />
<ChangeLocation menuItem />
{#if assetInteraction.selectedAssets.size === 1}
{#if assetInteraction.selectedAssets.length === 1}
<MenuOption
text={$t('set_as_album_cover')}
icon={mdiImageOutline}
@@ -574,7 +574,7 @@
{#if !timelineInteraction.selectionActive}
{$t('add_to_album')}
{:else}
{$t('selected_count', { values: { count: timelineInteraction.selectedAssets.size } })}
{$t('selected_count', { values: { count: timelineInteraction.selectedAssets.length } })}
{/if}
</p>
{/snippet}
@@ -149,7 +149,7 @@
});
const handleUnmerge = () => {
assetStore.removeAssets(assetInteraction.selectedAssetsArray.map((a) => a.id));
assetStore.removeAssets(assetInteraction.selectedAssets.map((a) => a.id));
assetInteraction.clearMultiselect();
viewMode = PersonPageViewMode.VIEW_ASSETS;
};
@@ -368,7 +368,7 @@
{#if viewMode === PersonPageViewMode.UNASSIGN_ASSETS}
<UnMergeFaceSelector
assetIds={assetInteraction.selectedAssetsArray.map((a) => a.id)}
assetIds={assetInteraction.selectedAssets.map((a) => a.id)}
personAssets={person}
onClose={() => (viewMode = PersonPageViewMode.VIEW_ASSETS)}
onConfirm={handleUnmerge}
@@ -39,7 +39,7 @@
const assetInteraction = new AssetInteraction();
let selectedAssets = $derived(assetInteraction.selectedAssetsArray);
let selectedAssets = $derived(assetInteraction.selectedAssets);
let isAssetStackSelected = $derived(selectedAssets.length === 1 && !!selectedAssets[0].stack);
let isLinkActionAvailable = $derived.by(() => {
const isLivePhoto = selectedAssets.length === 1 && !!selectedAssets[0].livePhotoVideoId;
@@ -97,7 +97,7 @@
></FavoriteAction>
<ButtonContextMenu icon={mdiDotsVertical} title={$t('menu')}>
<DownloadAction menuItem />
{#if assetInteraction.selectedAssets.size > 1 || isAssetStackSelected}
{#if assetInteraction.selectedAssets.length > 1 || isAssetStackSelected}
<StackAction
unstack={isAssetStackSelected}
onStack={(assetIds) => assetStore.removeAssets(assetIds)}
@@ -107,7 +107,7 @@
{#if isLinkActionAvailable}
<LinkLivePhotoAction
menuItem
unlink={assetInteraction.selectedAssets.size === 1}
unlink={assetInteraction.selectedAssets.length === 1}
onLink={handleLink}
onUnlink={handleUnlink}
/>
@@ -85,7 +85,7 @@
}
if (assetInteraction.selectionActive) {
assetInteraction.selectedAssets.clear();
assetInteraction.selectedAssets = [];
return;
}
if (!$preventRaceConditionSearchBar) {