Files
Immich/web/src/lib/components/AssetViewerEvents.svelte
T
Daniel DietzlerandCodex e5b4dd1041 feat: sveltekit 3 (#32737)
(cherry picked from commit 2576ee28cfb790e99ddf401a129e1d9a18713121)
2026-10-27 23:11:06 +03:00

27 lines
722 B
Svelte

<script lang="ts">
import { assetViewerManager, type Events } from '#lib/managers/asset-viewer-manager.svelte.js';
import type { EventCallback, EventMap } from '#lib/utils/base-event-manager.svelte.js';
import { onMount } from 'svelte';
type Props = {
[K in keyof Events as `on${K}`]?: EventCallback<Events, K>;
};
const props: Props = $props();
onMount(() => {
const events: EventMap<Events> = {};
for (const [name, listener] of Object.entries(props)) {
if (!listener) {
continue;
}
const event = name.slice(2) as keyof Events;
events[event] = listener as EventCallback<Events, typeof event>;
}
return assetViewerManager.on(events);
});
</script>