mirror of
https://github.com/immich-app/immich.git
synced 2026-05-18 03:10:24 +03:00
refactor: asset select manager (#27329)
This commit is contained in:
+1
-4
@@ -451,10 +451,7 @@
|
||||
</main>
|
||||
|
||||
{#if assetMultiSelectManager.selectionActive}
|
||||
<AssetSelectControlBar
|
||||
assets={assetMultiSelectManager.assets}
|
||||
clearSelect={() => assetMultiSelectManager.clear()}
|
||||
>
|
||||
<AssetSelectControlBar>
|
||||
{@const Actions = getAssetBulkActions($t, assetMultiSelectManager.asControlContext())}
|
||||
<CommandPaletteDefaultProvider name={$t('assets')} actions={Object.values(Actions)} />
|
||||
<CreateSharedLink />
|
||||
|
||||
@@ -59,7 +59,7 @@
|
||||
</UserPageLayout>
|
||||
|
||||
{#if assetMultiSelectManager.selectionActive}
|
||||
<AssetSelectControlBar assets={assetMultiSelectManager.assets} clearSelect={() => assetMultiSelectManager.clear()}>
|
||||
<AssetSelectControlBar>
|
||||
{@const Actions = getAssetBulkActions($t, assetMultiSelectManager.asControlContext())}
|
||||
<CommandPaletteDefaultProvider name={$t('assets')} actions={Object.values(Actions)} />
|
||||
<ArchiveAction
|
||||
|
||||
@@ -63,7 +63,7 @@
|
||||
|
||||
<!-- Multiselection mode app bar -->
|
||||
{#if assetMultiSelectManager.selectionActive}
|
||||
<AssetSelectControlBar assets={assetMultiSelectManager.assets} clearSelect={() => assetMultiSelectManager.clear()}>
|
||||
<AssetSelectControlBar>
|
||||
{@const Actions = getAssetBulkActions($t, assetMultiSelectManager.asControlContext())}
|
||||
<CommandPaletteDefaultProvider name={$t('assets')} actions={Object.values(Actions)} />
|
||||
<FavoriteAction removeFavorite onFavorite={(assetIds) => timelineManager.removeAssets(assetIds)} />
|
||||
|
||||
@@ -110,7 +110,7 @@
|
||||
|
||||
{#if assetMultiSelectManager.selectionActive}
|
||||
<div class="fixed top-0 start-0 w-full">
|
||||
<AssetSelectControlBar assets={assetMultiSelectManager.assets} clearSelect={() => assetMultiSelectManager.clear()}>
|
||||
<AssetSelectControlBar>
|
||||
{@const Actions = getAssetBulkActions($t, assetMultiSelectManager.asControlContext())}
|
||||
<CommandPaletteDefaultProvider name={$t('assets')} actions={Object.values(Actions)} />
|
||||
<CreateSharedLink />
|
||||
|
||||
@@ -74,7 +74,7 @@
|
||||
|
||||
<!-- Multi-selection mode app bar -->
|
||||
{#if assetMultiSelectManager.selectionActive}
|
||||
<AssetSelectControlBar assets={assetMultiSelectManager.assets} clearSelect={() => assetMultiSelectManager.clear()}>
|
||||
<AssetSelectControlBar>
|
||||
<SelectAllAssets withText {timelineManager} assetInteraction={assetMultiSelectManager} />
|
||||
<SetVisibilityAction unlock onVisibilitySet={handleMoveOffLockedFolder} />
|
||||
<ButtonContextMenu icon={mdiDotsVertical} title={$t('menu')}>
|
||||
|
||||
+1
-1
@@ -39,7 +39,7 @@
|
||||
</main>
|
||||
|
||||
{#if assetMultiSelectManager.selectionActive}
|
||||
<AssetSelectControlBar assets={assetMultiSelectManager.assets} clearSelect={() => assetMultiSelectManager.clear()}>
|
||||
<AssetSelectControlBar>
|
||||
{@const Actions = getAssetBulkActions($t, assetMultiSelectManager.asControlContext())}
|
||||
<CommandPaletteDefaultProvider name={$t('assets')} actions={Object.values(Actions)} />
|
||||
<CreateSharedLink />
|
||||
|
||||
+1
-1
@@ -458,7 +458,7 @@
|
||||
|
||||
<header>
|
||||
{#if assetMultiSelectManager.selectionActive}
|
||||
<AssetSelectControlBar assets={assetMultiSelectManager.assets} clearSelect={() => assetMultiSelectManager.clear()}>
|
||||
<AssetSelectControlBar>
|
||||
{@const Actions = getAssetBulkActions($t, assetMultiSelectManager.asControlContext())}
|
||||
<CommandPaletteDefaultProvider name={$t('assets')} actions={Object.values(Actions)} />
|
||||
<CreateSharedLink />
|
||||
|
||||
@@ -25,7 +25,7 @@
|
||||
import { TimelineManager } from '$lib/managers/timeline-manager/timeline-manager.svelte';
|
||||
import { Route } from '$lib/route';
|
||||
import { getAssetBulkActions } from '$lib/services/asset.service';
|
||||
import { preferences, user } from '$lib/stores/user.store';
|
||||
import { preferences } from '$lib/stores/user.store';
|
||||
import { getAssetMediaUrl, memoryLaneTitle } from '$lib/utils';
|
||||
import {
|
||||
updateStackedAssetInTimeline,
|
||||
@@ -112,11 +112,7 @@
|
||||
</UserPageLayout>
|
||||
|
||||
{#if assetMultiSelectManager.selectionActive}
|
||||
<AssetSelectControlBar
|
||||
ownerId={$user.id}
|
||||
assets={assetMultiSelectManager.assets}
|
||||
clearSelect={() => assetMultiSelectManager.clear()}
|
||||
>
|
||||
<AssetSelectControlBar>
|
||||
{@const Actions = getAssetBulkActions($t, assetMultiSelectManager.asControlContext())}
|
||||
<CommandPaletteDefaultProvider name={$t('assets')} actions={Object.values(Actions)} />
|
||||
|
||||
|
||||
@@ -318,10 +318,7 @@
|
||||
<section>
|
||||
{#if assetMultiSelectManager.selectionActive}
|
||||
<div class="fixed top-0 start-0 w-full z-2">
|
||||
<AssetSelectControlBar
|
||||
assets={assetMultiSelectManager.assets}
|
||||
clearSelect={() => assetMultiSelectManager.clear()}
|
||||
>
|
||||
<AssetSelectControlBar>
|
||||
{@const Actions = getAssetBulkActions($t, assetMultiSelectManager.asControlContext())}
|
||||
<CommandPaletteDefaultProvider name={$t('assets')} actions={Object.values(Actions)} />
|
||||
|
||||
|
||||
@@ -27,7 +27,7 @@
|
||||
import { Route } from '$lib/route';
|
||||
import { getAssetBulkActions } from '$lib/services/asset.service';
|
||||
import { getTagActions } from '$lib/services/tag.service';
|
||||
import { preferences, user } from '$lib/stores/user.store';
|
||||
import { preferences } from '$lib/stores/user.store';
|
||||
import { joinPaths, TreeNode } from '$lib/utils/tree-utils';
|
||||
import { getAllTags, type TagResponseDto } from '@immich/sdk';
|
||||
import { ActionButton, CommandPaletteDefaultProvider, Text } from '@immich/ui';
|
||||
@@ -113,11 +113,7 @@
|
||||
<section>
|
||||
{#if assetMultiSelectManager.selectionActive}
|
||||
<div class="fixed top-0 start-0 w-full">
|
||||
<AssetSelectControlBar
|
||||
ownerId={$user.id}
|
||||
assets={assetMultiSelectManager.assets}
|
||||
clearSelect={() => assetMultiSelectManager.clear()}
|
||||
>
|
||||
<AssetSelectControlBar>
|
||||
{@const Actions = getAssetBulkActions($t, assetMultiSelectManager.asControlContext())}
|
||||
<CommandPaletteDefaultProvider name={$t('assets')} actions={Object.values(Actions)} />
|
||||
<CreateSharedLink />
|
||||
|
||||
@@ -68,7 +68,7 @@
|
||||
{/if}
|
||||
|
||||
{#if assetMultiSelectManager.selectionActive}
|
||||
<AssetSelectControlBar assets={assetMultiSelectManager.assets} clearSelect={() => assetMultiSelectManager.clear()}>
|
||||
<AssetSelectControlBar>
|
||||
<SelectAllAssets {timelineManager} assetInteraction={assetMultiSelectManager} />
|
||||
<DeleteAssets force onAssetDelete={(assetIds) => timelineManager.removeAssets(assetIds)} />
|
||||
<RestoreAssets onRestore={(assetIds) => timelineManager.removeAssets(assetIds)} />
|
||||
|
||||
Reference in New Issue
Block a user