From b9a65175a0583b4d81a76d2fcc199bc4f27e194d Mon Sep 17 00:00:00 2001 From: Prospector <6166773+Prospector@users.noreply.github.com> Date: Tue, 28 Jul 2026 21:23:39 -0700 Subject: [PATCH 1/2] Rename NewModal -> Modal and rid the world of ModalWrapper --- .../src/components/ui/ErrorModal.vue | 7 +- .../src/components/ui/ExportModal.vue | 6 +- .../src/components/ui/JavaDetectionModal.vue | 10 +-- .../src/components/ui/ModpackVersionModal.vue | 7 +- .../src/components/ui/URLConfirmModal.vue | 7 +- .../src/components/ui/friends/FriendsList.vue | 10 +-- .../install_flow/AddServerToInstanceModal.vue | 6 +- .../MinecraftAuthErrorModal.vue | 8 +-- .../MinecraftRequiredModal.vue | 8 +-- .../ui/modal/ConfirmDeleteInstanceModal.vue | 8 +-- .../ui/modal/InstallToPlayModal.vue | 8 +-- .../src/components/ui/modal/ModalWrapper.vue | 56 --------------- .../ui/modal/ModpackAlreadyInstalledModal.vue | 8 +-- .../ui/modal/ModrinthAccountRequiredModal.vue | 8 +-- ...ConfirmRevokeSharedInstanceInviteModal.vue | 8 +-- .../SharedInstanceAlreadyInstalledModal.vue | 8 +-- ...edInstanceInstallationSettingsControls.vue | 14 ++-- .../shared-instance-install-modal/index.vue | 8 +-- .../src/components/ui/skin/EditSkinModal.vue | 6 +- .../ui/world/modal/AddServerModal.vue | 8 +-- .../world/modal/ConfirmRemoveWorldModal.vue | 8 +-- .../ui/world/modal/EditServerModal.vue | 8 +-- .../modal/EditSingleplayerWorldModal.vue | 6 +- .../shared-instance-remove-member-modal.vue | 8 +-- .../AnalyticsChartRenderLimitModal.vue | 8 +-- .../components/ui/ConfirmTransferOrgModal.vue | 8 +-- .../ui/ConfirmTransferProjectModal.vue | 8 +-- .../ui/OrganizationProjectTransferModal.vue | 6 +- .../ui/ProjectDownloadModal/index.vue | 10 +-- .../components/ui/admin/AssignNoticeModal.vue | 8 +-- .../components/ui/admin/BatchCreditModal.vue | 8 +-- .../src/components/ui/admin/TransferModal.vue | 8 +-- .../components/ui/auth/PasskeySettings.vue | 20 +++--- .../ui/create/CollectionCreateModal.vue | 6 +- .../ui/create/OrganizationCreateModal.vue | 8 +-- .../ui/create/ProjectCreateModal.vue | 8 +-- .../ui/dashboard/CreatorTaxFormModal.vue | 8 +-- .../ui/dashboard/CreatorWithdrawModal.vue | 8 +-- .../ui/moderation/MaliciousSummaryModal.vue | 8 +-- .../ui/moderation/ModpackScanModal.vue | 8 +-- .../ui/thread/ConversationThread.vue | 10 +-- apps/frontend/src/locales/cs-CZ/index.json | 9 --- apps/frontend/src/locales/da-DK/index.json | 9 --- apps/frontend/src/locales/de-CH/index.json | 9 --- apps/frontend/src/locales/de-DE/index.json | 9 --- apps/frontend/src/locales/en-US/index.json | 9 --- apps/frontend/src/locales/es-419/index.json | 9 --- apps/frontend/src/locales/es-ES/index.json | 9 --- apps/frontend/src/locales/fil-PH/index.json | 9 --- apps/frontend/src/locales/fr-FR/index.json | 9 --- apps/frontend/src/locales/he-IL/index.json | 3 - apps/frontend/src/locales/hu-HU/index.json | 9 --- apps/frontend/src/locales/id-ID/index.json | 9 --- apps/frontend/src/locales/it-IT/index.json | 9 --- apps/frontend/src/locales/ja-JP/index.json | 9 --- apps/frontend/src/locales/ko-KR/index.json | 9 --- apps/frontend/src/locales/ms-MY/index.json | 9 --- apps/frontend/src/locales/nl-NL/index.json | 9 --- apps/frontend/src/locales/no-NO/index.json | 9 --- apps/frontend/src/locales/pl-PL/index.json | 9 --- apps/frontend/src/locales/pt-BR/index.json | 9 --- apps/frontend/src/locales/pt-PT/index.json | 9 --- apps/frontend/src/locales/ro-RO/index.json | 9 --- apps/frontend/src/locales/ru-RU/index.json | 9 --- apps/frontend/src/locales/sv-SE/index.json | 9 --- apps/frontend/src/locales/tr-TR/index.json | 9 --- apps/frontend/src/locales/uk-UA/index.json | 9 --- apps/frontend/src/locales/vi-VN/index.json | 9 --- apps/frontend/src/locales/zh-CN/index.json | 9 --- apps/frontend/src/locales/zh-TW/index.json | 9 --- .../src/pages/[type]/[project]/gallery.vue | 2 +- .../[type]/[project]/settings/gallery.vue | 2 +- .../[type]/[project]/version/[version].vue | 6 +- .../src/pages/admin/analytics/events.vue | 8 +-- .../src/pages/admin/billing/[user].vue | 14 ++-- apps/frontend/src/pages/admin/emails.vue | 6 +- .../src/pages/admin/servers/notices.vue | 8 +-- .../src/pages/collection/[collection].vue | 6 +- .../frontend/src/pages/dashboard/projects.vue | 6 +- .../pages/moderation/external-projects.vue | 8 +-- .../[organization]/settings/projects.vue | 6 +- apps/frontend/src/pages/settings/account.vue | 18 ++--- .../src/pages/settings/applications.vue | 6 +- apps/frontend/src/pages/settings/pats.vue | 6 +- .../affiliate/AffiliateLinkCreateModal.vue | 8 +-- .../ui/src/components/base/MarkdownEditor.vue | 20 +++--- .../src/components/base/MultiStageModal.vue | 8 +-- .../billing/AddPaymentMethodModal.vue | 8 +-- .../billing/ModrinthServersPurchaseModal.vue | 8 +-- .../src/components/billing/PurchaseModal.vue | 6 +- .../components/billing/ResubscribeModal.vue | 8 +-- .../billing/ServersGuestPlanModal.vue | 8 +-- .../AddFilesToAttributionGroupModal.vue | 8 +-- .../AddToExistingExternalProjectModal.vue | 8 +-- .../AddToGlobalPermissionsDatabaseModal.vue | 8 +-- .../components/modal/ConfirmLeaveModal.vue | 8 +-- .../ui/src/components/modal/ConfirmModal.vue | 6 +- .../modal/{NewModal.vue => Modal.vue} | 0 .../ui/src/components/modal/ShareModal.vue | 6 +- .../ui/src/components/modal/TabbedModal.vue | 8 +-- .../modal/UnknownFileWarningModal.vue | 6 +- .../components/modal/UploadProgressModal.vue | 8 +-- packages/ui/src/components/modal/index.ts | 2 +- .../project/ProjectSidebarDetails.vue | 6 +- .../environment/ProjectEnvironmentModal.vue | 8 +-- .../servers/access/GrantAccessModal.vue | 8 +-- .../servers/access/RemoveAccessModal.vue | 8 +-- .../servers/backups/BackupCreateModal.vue | 8 +-- .../servers/backups/BackupDeleteModal.vue | 8 +-- .../servers/backups/BackupRenameModal.vue | 8 +-- .../servers/backups/BackupRestoreModal.vue | 8 +-- .../sharing/invite-players-modal/index.vue | 8 +-- ...nvite-players-modal-invite-link-editor.vue | 8 +-- .../components/SelectedProjectsLeaveModal.vue | 8 +-- .../ui/src/layouts/shared/console/layout.vue | 8 +-- .../modals/ConfirmBulkUpdateModal.vue | 8 +-- .../modals/ConfirmDeletionModal.vue | 8 +-- .../components/modals/ConfirmDisableModal.vue | 8 +-- .../modals/ConfirmModpackUpdateModal.vue | 8 +-- .../modals/ConfirmReinstallModal.vue | 8 +-- .../components/modals/ConfirmRepairModal.vue | 8 +-- .../components/modals/ConfirmUnlinkModal.vue | 8 +-- .../modals/ContentDependencyWarningModal.vue | 8 +-- .../components/modals/ContentInstallModal.vue | 8 +-- .../components/modals/ModpackContentModal.vue | 8 +-- .../modals/content-updater-modal/index.vue | 8 +-- .../components/modals/FileCreateItemModal.vue | 8 +-- .../components/modals/FileDeleteItemModal.vue | 8 +-- .../components/modals/FileMoveItemModal.vue | 8 +-- .../components/modals/FileRenameItemModal.vue | 8 +-- .../modals/FileUnsavedChangesModal.vue | 8 +-- .../modals/FileUploadConflictModal.vue | 8 +-- .../modals/FileUploadZipUrlModal.vue | 8 +-- .../components/ContentDiffModal.vue | 8 +-- .../components/IncompatibleContentModal.vue | 8 +-- .../shared/server-settings/pages/network.vue | 8 +-- .../layouts/shared/user-profile/layout.vue | 14 ++-- packages/ui/src/stories/add-stories.md | 8 +-- .../instances/ContentModpackCard.stories.ts | 10 +-- .../{NewModal.stories.ts => Modal.stories.ts} | 72 +++++++++---------- standards/frontend/MODALS.md | 34 ++++----- 141 files changed, 484 insertions(+), 802 deletions(-) delete mode 100644 apps/app-frontend/src/components/ui/modal/ModalWrapper.vue rename packages/ui/src/components/modal/{NewModal.vue => Modal.vue} (100%) rename packages/ui/src/stories/modal/{NewModal.stories.ts => Modal.stories.ts} (75%) diff --git a/apps/app-frontend/src/components/ui/ErrorModal.vue b/apps/app-frontend/src/components/ui/ErrorModal.vue index 385c503f11..b650cca759 100644 --- a/apps/app-frontend/src/components/ui/ErrorModal.vue +++ b/apps/app-frontend/src/components/ui/ErrorModal.vue @@ -9,11 +9,10 @@ import { WrenchIcon, XIcon, } from '@modrinth/assets' -import { ButtonStyled, Collapsible, injectNotificationManager } from '@modrinth/ui' +import { ButtonStyled, Collapsible, injectNotificationManager, Modal } from '@modrinth/ui' import { computed, ref } from 'vue' import { ChatIcon } from '@/assets/icons' -import ModalWrapper from '@/components/ui/modal/ModalWrapper.vue' import { trackEvent } from '@/helpers/analytics' import { login as login_flow, set_default_user } from '@/helpers/auth.js' import { install_existing_instance } from '@/helpers/install' @@ -151,7 +150,7 @@ async function copyToClipboard(text) { - + @@ -323,7 +322,7 @@ async function copyToClipboard(text) { - +