mirror of
https://github.com/immich-app/immich.git
synced 2025-12-23 15:38:24 -08:00
fix: effect loop (#24014)
This commit is contained in:
@@ -1,4 +1,5 @@
|
||||
import type { ThemeSetting } from '$lib/managers/theme-manager.svelte';
|
||||
import type { ReleaseEvent } from '$lib/types';
|
||||
import type {
|
||||
AlbumResponseDto,
|
||||
LibraryResponseDto,
|
||||
@@ -34,6 +35,8 @@ export type Events = {
|
||||
LibraryCreate: [LibraryResponseDto];
|
||||
LibraryUpdate: [LibraryResponseDto];
|
||||
LibraryDelete: [{ id: string }];
|
||||
|
||||
ReleaseEvent: [ReleaseEvent];
|
||||
};
|
||||
|
||||
type Listener<EventMap extends Record<string, unknown[]>, K extends keyof EventMap> = (...params: EventMap[K]) => void;
|
||||
|
||||
12
web/src/lib/managers/release-manager.svelte.ts
Normal file
12
web/src/lib/managers/release-manager.svelte.ts
Normal file
@@ -0,0 +1,12 @@
|
||||
import { eventManager } from '$lib/managers/event-manager.svelte';
|
||||
import { type ReleaseEvent } from '$lib/types';
|
||||
|
||||
class ReleaseManager {
|
||||
value = $state<ReleaseEvent | undefined>();
|
||||
|
||||
constructor() {
|
||||
eventManager.on('ReleaseEvent', (event) => (this.value = event));
|
||||
}
|
||||
}
|
||||
|
||||
export const releaseManager = new ReleaseManager();
|
||||
Reference in New Issue
Block a user