From 2c90f1c142af7a2ae3dca2bda451f4630fd9deae Mon Sep 17 00:00:00 2001 From: Prospector Date: Wed, 16 Jul 2025 15:08:21 -0700 Subject: [PATCH] UI tweaks --- .../src/components/ui/UpdateModal.vue | 130 ++++++++---------- .../app-frontend/src/locales/en-US/index.json | 14 +- .../components/base/AppearingProgressBar.vue | 2 +- 3 files changed, 66 insertions(+), 80 deletions(-) diff --git a/apps/app-frontend/src/components/ui/UpdateModal.vue b/apps/app-frontend/src/components/ui/UpdateModal.vue index bfd977191..fd16cab3c 100644 --- a/apps/app-frontend/src/components/ui/UpdateModal.vue +++ b/apps/app-frontend/src/components/ui/UpdateModal.vue @@ -6,52 +6,54 @@ :closable="!updatingImmediately && !downloadInProgress" >
- - -
-
- - v{{ update!.currentVersion }} - - - - v{{ update!.version }} - -
-
{{ formatMessage(messages.bodyVersion) }}
-
- {{ formatMessage(messages.downloadSize, { size: formatBytes(updateSize) }) }} -
-
-
+
+
Modrinth App v{{ update!.version }}
+ + +
+
{{ formatMessage(messages.downloadError) }}
- - - +
+ + + + + + + + Get support + +
-
+
@@ -74,21 +76,20 @@ import { AppearingProgressBar, ButtonStyled, JoinedButtons } from '@modrinth/ui' import type { JoinedButtonAction } from '@modrinth/ui' import { ExternalIcon, - RefreshCwIcon, + DownloadIcon, RightArrowIcon, - TimerIcon, - XCircleIcon, + RedoIcon, ClipboardCopyIcon, } from '@modrinth/assets' -import { enqueueUpdateForInstallation, getUpdateSize, removeEnqueuedUpdate } from '@/helpers/utils' +import { enqueueUpdateForInstallation, getUpdateSize } from '@/helpers/utils' import { formatBytes } from '@modrinth/utils' import { handleError } from '@/store/notifications' import { loading_listener } from '@/helpers/events' import { getCurrentWindow } from '@tauri-apps/api/window' import { openUrl } from '@tauri-apps/plugin-opener' +import { ChatIcon } from '@/assets/icons' const emit = defineEmits<{ - (e: 'updateSkipped', version: string): Promise (e: 'updateEnqueuedForLater', version: string | null): Promise }>() @@ -96,7 +97,7 @@ const { formatMessage } = useVIntl() const messages = defineMessages({ header: { id: 'app.update.modal-header', - defaultMessage: 'A new app update is available!', + defaultMessage: 'An update is available!', }, copiedError: { id: 'app.update.copied-error', @@ -105,15 +106,15 @@ const messages = defineMessages({ bodyVersion: { id: 'app.update.modal-body-version', defaultMessage: - 'We recommend updating as soon as possible so you can enjoy the latest features and improvements.', + 'We recommend updating as soon as possible so you can enjoy the latest features, fixes, and improvements.', }, downloadSize: { id: 'app.update.download-size', - defaultMessage: 'The download size of the update is {size}.', + defaultMessage: 'The update is {size}.', }, changelog: { id: 'app.update.changelog', - defaultMessage: 'Changelog', + defaultMessage: 'View changelog', }, restartNow: { id: 'app.update.restart', @@ -121,11 +122,7 @@ const messages = defineMessages({ }, later: { id: 'app.update.later', - defaultMessage: 'Update on next restart', - }, - skip: { - id: 'app.update.skip', - defaultMessage: 'Skip this update', + defaultMessage: 'Update on exit', }, downloadError: { id: 'app.update.download-error', @@ -136,6 +133,10 @@ const messages = defineMessages({ id: 'app.update.copy-error', defaultMessage: 'Copy error', }, + tryAgain: { + id: 'app.update.try-again', + defaultMessage: 'Try again', + }, }) type UpdateData = { @@ -151,7 +152,7 @@ const update = ref() const updateSize = ref() const updatingImmediately = ref(false) -const downloadInProgress = ref(false) +const downloadInProgress = ref(true) const downloadProgress = ref(0) const copiedError = ref(false) const downloadError = ref(null) @@ -162,23 +163,16 @@ const installActions = computed(() => [ { id: 'install-now', label: formatMessage(messages.restartNow), - icon: RefreshCwIcon, + icon: DownloadIcon, action: installUpdateNow, color: 'green', }, { id: 'install-later', label: formatMessage(messages.later), - icon: TimerIcon, + icon: RedoIcon, action: updateAtNextExit, }, - { - id: 'skip', - label: formatMessage(messages.skip), - action: skipUpdate, - icon: XCircleIcon, - color: 'red', - }, ]) const downloadedBytes = computed(() => { @@ -301,14 +295,6 @@ async function downloadUpdate() { await getCurrentWindow().close() } } - -function skipUpdate() { - enqueuedUpdate.value = null - emit('updateSkipped', update.value!.version) - - removeEnqueuedUpdate() - hide() -} diff --git a/apps/app-frontend/src/locales/en-US/index.json b/apps/app-frontend/src/locales/en-US/index.json index 72f24aa1d..3c04efdc4 100644 --- a/apps/app-frontend/src/locales/en-US/index.json +++ b/apps/app-frontend/src/locales/en-US/index.json @@ -21,7 +21,7 @@ "message": "Resource management" }, "app.update.changelog": { - "message": "Changelog" + "message": "View changelog" }, "app.update.complete-toast.text": { "message": "Click here to view the changelog." @@ -39,22 +39,22 @@ "message": "An error occurred while downloading the update. Please try again later. Contact support if the issue persists." }, "app.update.download-size": { - "message": "The download size of the update is {size}." + "message": "The update is {size}." }, "app.update.later": { - "message": "Update on next restart" + "message": "Update on exit" }, "app.update.modal-body-version": { - "message": "We recommend updating as soon as possible so you can enjoy the latest features and improvements." + "message": "We recommend updating as soon as possible so you can enjoy the latest features, fixes, and improvements." }, "app.update.modal-header": { - "message": "A new app update is available!" + "message": "An update is available!" }, "app.update.restart": { "message": "Update now" }, - "app.update.skip": { - "message": "Skip this update" + "app.update.try-again": { + "message": "Try again" }, "instance.add-server.add-and-play": { "message": "Add and play" diff --git a/packages/ui/src/components/base/AppearingProgressBar.vue b/packages/ui/src/components/base/AppearingProgressBar.vue index 5c9f10fe3..1bb3d335f 100644 --- a/packages/ui/src/components/base/AppearingProgressBar.vue +++ b/packages/ui/src/components/base/AppearingProgressBar.vue @@ -10,7 +10,7 @@
- {{ + {{ currentPhrase }}