refactor(web): asset grid stores (#3464)

* Refactor asset grid stores

* Iterate over buckets with for..of loop

* Rebase on top of main branch changes
This commit is contained in:
Sergey Kondrikov
2023-08-01 04:27:56 +03:00
committed by GitHub
parent 13051c1e5a
commit 5f9dfa9493
15 changed files with 330 additions and 265 deletions
@@ -8,21 +8,26 @@
import AssetSelectControlBar from '$lib/components/photos-page/asset-select-control-bar.svelte';
import ControlAppBar from '$lib/components/shared-components/control-app-bar.svelte';
import { AppRoute } from '$lib/constants';
import { assetInteractionStore, isMultiSelectStoreState, selectedAssets } from '$lib/stores/asset-interaction.store';
import { onDestroy } from 'svelte';
import ArrowLeft from 'svelte-material-icons/ArrowLeft.svelte';
import Plus from 'svelte-material-icons/Plus.svelte';
import type { PageData } from './$types';
import { createAssetStore } from '$lib/stores/assets.store';
import { createAssetInteractionStore } from '$lib/stores/asset-interaction.store';
export let data: PageData;
const assetStore = createAssetStore();
const assetInteractionStore = createAssetInteractionStore();
const { isMultiSelectState, selectedAssets } = assetInteractionStore;
onDestroy(() => {
assetInteractionStore.clearMultiselect();
});
</script>
<main class="grid h-screen bg-immich-bg pt-18 dark:bg-immich-dark-bg">
{#if $isMultiSelectStoreState}
{#if $isMultiSelectState}
<AssetSelectControlBar assets={$selectedAssets} clearSelect={assetInteractionStore.clearMultiselect}>
<DownloadAction />
</AssetSelectControlBar>
@@ -44,5 +49,5 @@
</svelte:fragment>
</ControlAppBar>
{/if}
<AssetGrid user={data.partner} />
<AssetGrid {assetStore} {assetInteractionStore} user={data.partner} />
</main>