mirror of
https://github.com/immich-app/immich
synced 2025-11-07 17:27:20 +00:00
Fix Notification components possible memory leaks (#650)
Dispose subscriptions and timeouts when the components are removed from the DOM
This commit is contained in:
parent
cc79ff1ca3
commit
b6d025da09
4 changed files with 96 additions and 11 deletions
|
|
@ -1,25 +1,21 @@
|
|||
<script lang="ts">
|
||||
import { ImmichNotification, notificationController } from './notification';
|
||||
import { notificationController } from './notification';
|
||||
import { fade } from 'svelte/transition';
|
||||
|
||||
import NotificationCard from './notification-card.svelte';
|
||||
import { flip } from 'svelte/animate';
|
||||
import { quintOut } from 'svelte/easing';
|
||||
|
||||
let notificationList: ImmichNotification[] = [];
|
||||
|
||||
notificationController.notificationList.subscribe((list) => {
|
||||
notificationList = list;
|
||||
});
|
||||
const { notificationList } = notificationController;
|
||||
</script>
|
||||
|
||||
{#if notificationList.length > 0}
|
||||
{#if $notificationList.length > 0}
|
||||
<section
|
||||
transition:fade={{ duration: 250 }}
|
||||
id="notification-list"
|
||||
class="absolute right-5 top-[80px] z-[99999999]"
|
||||
>
|
||||
{#each notificationList as notificationInfo (notificationInfo.id)}
|
||||
{#each $notificationList as notificationInfo (notificationInfo.id)}
|
||||
<div animate:flip={{ duration: 250, easing: quintOut }}>
|
||||
<NotificationCard {notificationInfo} />
|
||||
</div>
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue