0
Fork 0
mirror of https://github.com/immich-app/immich.git synced 2025-01-07 00:50:23 -05: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
No known key found for this signature in database
GPG key ID: 53CD082B3A5E1082
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) => {

View file

@ -38,9 +38,10 @@ export const openFileUploadDialog = (uploadType: UploadType) => {
if (files.length > 50) {
notificationController.show({
type: NotificationType.Error,
message: `Cannot upload more than 50 files at a time - you are uploading ${files.length} files.
Please use the CLI tool if you need to upload more than 50 files.`,
type: NotificationType.Error
timeout: 5000
});
return;