refactor(web): asset store (#3528)

* refactor(web): asset store

* chore: remove TODO
This commit is contained in:
Jason Rasmussen
2023-08-03 11:44:12 -04:00
committed by GitHub
parent 01210dceac
commit 5617b57b26
9 changed files with 275 additions and 334 deletions

View File

@@ -8,16 +8,17 @@
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 { createAssetInteractionStore } from '$lib/stores/asset-interaction.store';
import { AssetStore } from '$lib/stores/assets.store';
import { TimeGroupEnum } from '@api';
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 assetStore = new AssetStore({ timeGroup: TimeGroupEnum.Month, userId: data.partner.id });
const assetInteractionStore = createAssetInteractionStore();
const { isMultiSelectState, selectedAssets } = assetInteractionStore;
@@ -39,12 +40,12 @@
{:else}
<ControlAppBar showBackButton backIcon={ArrowLeft} on:close-button-click={() => goto(AppRoute.SHARING)}>
<svelte:fragment slot="leading">
<p class="text-immich-fg dark:text-immich-dark-fg">
<p class="whitespace-nowrap text-immich-fg dark:text-immich-dark-fg">
{data.partner.firstName}
{data.partner.lastName}'s photos
</p>
</svelte:fragment>
</ControlAppBar>
{/if}
<AssetGrid {assetStore} {assetInteractionStore} user={data.partner} />
<AssetGrid {assetStore} {assetInteractionStore} />
</main>

View File

@@ -11,10 +11,10 @@
import AssetSelectContextMenu from '$lib/components/photos-page/asset-select-context-menu.svelte';
import AssetSelectControlBar from '$lib/components/photos-page/asset-select-control-bar.svelte';
import EmptyPlaceholder from '$lib/components/shared-components/empty-placeholder.svelte';
import { createAssetStore } from '$lib/stores/assets.store';
import { AssetStore } from '$lib/stores/assets.store';
import { createAssetInteractionStore } from '$lib/stores/asset-interaction.store';
import { openFileUploadDialog } from '$lib/utils/file-uploader';
import { api } from '@api';
import { TimeGroupEnum, api } from '@api';
import { onDestroy, onMount } from 'svelte';
import DotsVertical from 'svelte-material-icons/DotsVertical.svelte';
import Plus from 'svelte-material-icons/Plus.svelte';
@@ -23,7 +23,7 @@
export let data: PageData;
let assetCount = 1;
const assetStore = createAssetStore();
const assetStore = new AssetStore({ timeGroup: TimeGroupEnum.Month });
const assetInteractionStore = createAssetInteractionStore();
const { isMultiSelectState, selectedAssets } = assetInteractionStore;
@@ -53,7 +53,7 @@
<AddToAlbum />
<AddToAlbum shared />
</AssetSelectContextMenu>
<DeleteAssets onAssetDelete={assetStore.removeAsset} />
<DeleteAssets onAssetDelete={(assetId) => assetStore.removeAsset(assetId)} />
<AssetSelectContextMenu icon={DotsVertical} title="Menu">
<FavoriteAction menuItem removeFavorite={isAllFavorite} />
<DownloadAction menuItem />