refactor: memory manager (#27206)

This commit is contained in:
Jason Rasmussen
2026-03-26 13:36:25 -04:00
committed by GitHub
parent 42fe86d24c
commit 7d58d5be12
3 changed files with 12 additions and 12 deletions
@@ -21,11 +21,11 @@
import { QueryParameter } from '$lib/constants'; import { QueryParameter } from '$lib/constants';
import { assetViewerManager } from '$lib/managers/asset-viewer-manager.svelte'; import { assetViewerManager } from '$lib/managers/asset-viewer-manager.svelte';
import { authManager } from '$lib/managers/auth-manager.svelte'; import { authManager } from '$lib/managers/auth-manager.svelte';
import { memoryManager, type MemoryAsset } from '$lib/managers/memory-manager.svelte';
import type { TimelineAsset, Viewport } from '$lib/managers/timeline-manager/types'; import type { TimelineAsset, Viewport } from '$lib/managers/timeline-manager/types';
import { Route } from '$lib/route'; import { Route } from '$lib/route';
import { getAssetBulkActions } from '$lib/services/asset.service'; import { getAssetBulkActions } from '$lib/services/asset.service';
import { AssetInteraction } from '$lib/stores/asset-interaction.svelte'; import { AssetInteraction } from '$lib/stores/asset-interaction.svelte';
import { memoryStore, type MemoryAsset } from '$lib/stores/memory.store.svelte';
import { locale, videoViewerMuted, videoViewerVolume } from '$lib/stores/preferences.store'; import { locale, videoViewerMuted, videoViewerVolume } from '$lib/stores/preferences.store';
import { preferences } from '$lib/stores/user.store'; import { preferences } from '$lib/stores/user.store';
import { getAssetMediaUrl, handlePromiseError, memoryLaneTitle } from '$lib/utils'; import { getAssetMediaUrl, handlePromiseError, memoryLaneTitle } from '$lib/utils';
@@ -186,7 +186,7 @@
if (!current) { if (!current) {
return; return;
} }
memoryStore.hideAssetsFromMemory(ids); memoryManager.hideAssetsFromMemory(ids);
init(page); init(page);
}; };
@@ -195,7 +195,7 @@
return; return;
} }
await memoryStore.deleteAssetFromMemory(current.asset.id); await memoryManager.deleteAssetFromMemory(current.asset.id);
init(page); init(page);
}; };
@@ -204,7 +204,7 @@
return; return;
} }
await memoryStore.deleteMemory(current.memory.id); await memoryManager.deleteMemory(current.memory.id);
toastManager.primary($t('removed_memory')); toastManager.primary($t('removed_memory'));
init(page); init(page);
}; };
@@ -215,7 +215,7 @@
} }
const newSavedState = !current.memory.isSaved; const newSavedState = !current.memory.isSaved;
await memoryStore.updateMemorySaved(current.memory.id, newSavedState); await memoryManager.updateMemorySaved(current.memory.id, newSavedState);
toastManager.primary(newSavedState ? $t('added_to_favorites') : $t('removed_from_favorites')); toastManager.primary(newSavedState ? $t('added_to_favorites') : $t('removed_from_favorites'));
init(page); init(page);
}; };
@@ -253,11 +253,11 @@
const loadFromParams = (page: Page | NavigationTarget | null) => { const loadFromParams = (page: Page | NavigationTarget | null) => {
const assetId = page?.params?.assetId ?? page?.url.searchParams.get(QueryParameter.ID) ?? undefined; const assetId = page?.params?.assetId ?? page?.url.searchParams.get(QueryParameter.ID) ?? undefined;
return memoryStore.getMemoryAsset(assetId); return memoryManager.getMemoryAsset(assetId);
}; };
const init = (target: Page | NavigationTarget | null) => { const init = (target: Page | NavigationTarget | null) => {
if (memoryStore.memories.length === 0) { if (memoryManager.memories.length === 0) {
return handlePromiseError(goto(Route.photos())); return handlePromiseError(goto(Route.photos()));
} }
@@ -290,7 +290,7 @@
}; };
afterNavigate(({ from, to }) => { afterNavigate(({ from, to }) => {
memoryStore.ready().then( memoryManager.ready().then(
() => { () => {
let target; let target;
if (to?.params?.assetId) { if (to?.params?.assetId) {
@@ -21,7 +21,7 @@ export type MemoryAsset = MemoryIndex & {
nextMemory?: MemoryResponseDto; nextMemory?: MemoryResponseDto;
}; };
class MemoryStoreSvelte { class MemoryManager {
#loading: Promise<void> | undefined; #loading: Promise<void> | undefined;
constructor() { constructor() {
@@ -135,4 +135,4 @@ class MemoryStoreSvelte {
} }
} }
export const memoryStore = new MemoryStoreSvelte(); export const memoryManager = new MemoryManager();
@@ -21,12 +21,12 @@
import Timeline from '$lib/components/timeline/Timeline.svelte'; import Timeline from '$lib/components/timeline/Timeline.svelte';
import { AssetAction } from '$lib/constants'; import { AssetAction } from '$lib/constants';
import { assetViewerManager } from '$lib/managers/asset-viewer-manager.svelte'; import { assetViewerManager } from '$lib/managers/asset-viewer-manager.svelte';
import { memoryManager } from '$lib/managers/memory-manager.svelte';
import { TimelineManager } from '$lib/managers/timeline-manager/timeline-manager.svelte'; import { TimelineManager } from '$lib/managers/timeline-manager/timeline-manager.svelte';
import { Route } from '$lib/route'; import { Route } from '$lib/route';
import { getAssetBulkActions } from '$lib/services/asset.service'; import { getAssetBulkActions } from '$lib/services/asset.service';
import { AssetInteraction } from '$lib/stores/asset-interaction.svelte'; import { AssetInteraction } from '$lib/stores/asset-interaction.svelte';
import { isFaceEditMode } from '$lib/stores/face-edit.svelte'; import { isFaceEditMode } from '$lib/stores/face-edit.svelte';
import { memoryStore } from '$lib/stores/memory.store.svelte';
import { preferences, user } from '$lib/stores/user.store'; import { preferences, user } from '$lib/stores/user.store';
import { getAssetMediaUrl, memoryLaneTitle } from '$lib/utils'; import { getAssetMediaUrl, memoryLaneTitle } from '$lib/utils';
import { import {
@@ -90,7 +90,7 @@
}); });
const items = $derived( const items = $derived(
memoryStore.memories.map((memory) => ({ memoryManager.memories.map((memory) => ({
id: memory.id, id: memory.id,
title: $memoryLaneTitle(memory), title: $memoryLaneTitle(memory),
href: Route.memories({ id: memory.assets[0].id }), href: Route.memories({ id: memory.assets[0].id }),