1
0
mirror of https://github.com/immich-app/immich.git synced 2025-06-23 04:38:12 +02:00

Added timeout option for notification component

This commit is contained in:
Alex
2022-08-26 10:01:47 -07:00
parent bef38c670c
commit 44ccb1eec1
3 changed files with 27 additions and 7 deletions

View File

@ -51,7 +51,7 @@
onMount(() => {
setTimeout(() => {
notificationController.removeNotificationById(notificationInfo.id);
}, 3000);
}, notificationInfo.timeout);
});
</script>

View File

@ -9,17 +9,36 @@ export class ImmichNotification {
id = new Date().getTime();
type!: NotificationType;
message!: string;
timeout = 3000;
}
export class ImmichNotificationDto {
/**
* Notification type
* @type {NotificationType} [Info, Error]
*/
type: NotificationType = NotificationType.Info;
/**
* Notification message
*/
message = '';
/**
* Timeout in miliseconds
*/
timeout = 3000;
}
function createNotificationList() {
const notificationList = writable<ImmichNotification[]>([]);
const show = ({ message = '', type = NotificationType.Info }) => {
const notification = new ImmichNotification();
notification.message = message;
notification.type = type;
const show = (notificationInfo: ImmichNotificationDto) => {
const newNotification = new ImmichNotification();
newNotification.message = notificationInfo.message;
newNotification.type = notificationInfo.type;
newNotification.timeout = notificationInfo.timeout;
notificationList.update((currentList) => [...currentList, notification]);
notificationList.update((currentList) => [...currentList, newNotification]);
};
const removeNotificationById = (id: number) => {