diff --git a/apps/app-frontend/src/App.vue b/apps/app-frontend/src/App.vue index aed1666ac..dbdce711c 100644 --- a/apps/app-frontend/src/App.vue +++ b/apps/app-frontend/src/App.vue @@ -920,6 +920,7 @@ async function checkUpdates() { { label: formatMessage(updatePopupMessages.changelog), action: () => openUrl('https://modrinth.com/news/changelog?filter=app'), + keepOpen: true, }, ], }) @@ -1002,6 +1003,7 @@ async function downloadUpdate(versionToDownload) { { label: formatMessage(updatePopupMessages.changelog), action: () => openUrl('https://modrinth.com/news/changelog?filter=app'), + keepOpen: true, }, ], }) diff --git a/packages/ui/src/components/nav/PopupNotificationPanel.vue b/packages/ui/src/components/nav/PopupNotificationPanel.vue index 7f8edac90..d443f752b 100644 --- a/packages/ui/src/components/nav/PopupNotificationPanel.vue +++ b/packages/ui/src/components/nav/PopupNotificationPanel.vue @@ -130,7 +130,9 @@ const dismiss = (id: string | number) => popupNotificationManager.removeNotifica function handleButtonClick(id: string | number, btn: PopupNotificationButton) { btn.action() - popupNotificationManager.removeNotification(id) + if (!btn.keepOpen) { + popupNotificationManager.removeNotification(id) + } } function progressColorForType(type: PopupNotification['type']) { diff --git a/packages/ui/src/providers/popup-notifications.ts b/packages/ui/src/providers/popup-notifications.ts index f5f7a56c9..5cd049c1e 100644 --- a/packages/ui/src/providers/popup-notifications.ts +++ b/packages/ui/src/providers/popup-notifications.ts @@ -4,6 +4,7 @@ export interface PopupNotificationButton { label: string action: () => void color?: 'brand' | 'red' | 'orange' | 'green' | 'blue' | 'standard' + keepOpen?: boolean } export interface PopupNotificationProgressItem {