From 37eac9232941b0466e3128c0d31c82f4a34cefe7 Mon Sep 17 00:00:00 2001 From: "Calum H." Date: Mon, 9 Feb 2026 14:57:31 +0000 Subject: [PATCH] refactor: migrate all input fields to StyledInput (#5306) * feat: StyledInput component * migrate: auth pages to styledInput * migrate: search/filter inputs * migrate: dashboard inputs * migrate: app frontend * migrate: search related inputs * migrate: all of app-frontend * fix: missing inputs on app-frontend * migrate: frontend * feat: multiline * migrate: textareas * fix: storybook use text-primary * fix: lint * fix: merge conflict * feat: cleanup --- .../src/assets/stylesheets/global.scss | 4 - .../src/components/GridDisplay.vue | 18 +- .../src/components/ui/ExportModal.vue | 51 +-- .../components/ui/InstanceCreationModal.vue | 36 +- .../src/components/ui/JavaSelector.vue | 13 +- .../src/components/ui/friends/FriendsList.vue | 58 +-- .../ui/install_flow/ModInstallModal.vue | 13 +- .../ui/instance_settings/GeneralSettings.vue | 11 +- .../ui/instance_settings/HooksSettings.vue | 23 +- .../ui/instance_settings/JavaSettings.vue | 19 +- .../ui/instance_settings/WindowSettings.vue | 13 +- .../ui/settings/DefaultInstanceSettings.vue | 27 +- .../settings/ResourceManagementSettings.vue | 22 +- .../modal/EditSingleplayerWorldModal.vue | 6 +- .../ui/world/modal/ServerModalBody.vue | 18 +- apps/app-frontend/src/pages/Browse.vue | 29 +- .../app-frontend/src/pages/instance/Index.vue | 3 +- apps/app-frontend/src/pages/instance/Logs.vue | 18 +- apps/app-frontend/src/pages/instance/Mods.vue | 25 +- .../src/pages/instance/Worlds.vue | 26 +- .../src/assets/styles/components.scss | 34 +- .../components/ui/admin/BatchCreditModal.vue | 29 +- .../src/components/ui/admin/TransferModal.vue | 54 ++- .../components/McVersionPicker.vue | 13 +- .../stages/DetailsStage.vue | 12 +- .../ui/create/CollectionCreateModal.vue | 27 +- .../ui/create/OrganizationCreateModal.vue | 36 +- .../ui/create/ProjectCreateModal.vue | 32 +- .../ui/dashboard/RevenueInputField.vue | 34 +- .../LegacyPaypalDetailsStage.vue | 6 +- .../withdraw-stages/MuralpayDetailsStage.vue | 33 +- .../withdraw-stages/MuralpayKycStage.vue | 49 +-- .../TremendousDetailsStage.vue | 29 +- .../checklist/ModerationChecklist.vue | 12 +- .../checklist/ModpackPermissionsFlow.vue | 17 +- .../ui/servers/FilesBrowseNavbar.vue | 26 +- .../ui/servers/FilesCreateItemModal.vue | 8 +- .../ui/servers/FilesMoveItemModal.vue | 8 +- .../ui/servers/FilesRenameItemModal.vue | 8 +- .../ui/servers/FilesUploadZipUrlModal.vue | 5 +- .../components/ui/servers/PanelTerminal.vue | 11 +- .../ui/servers/notice/AssignNoticeModal.vue | 6 +- .../ui/thread/ConversationThread.vue | 17 - apps/frontend/src/pages/[type]/[id].vue | 33 +- .../src/pages/[type]/[id]/gallery.vue | 23 +- .../pages/[type]/[id]/settings/gallery.vue | 23 +- .../pages/[type]/[id]/settings/general.vue | 23 +- .../src/pages/[type]/[id]/settings/index.vue | 30 +- .../pages/[type]/[id]/settings/license.vue | 21 +- .../src/pages/[type]/[id]/settings/links.vue | 24 +- .../pages/[type]/[id]/settings/members.vue | 14 +- .../pages/[type]/[id]/version/[version].vue | 6 +- apps/frontend/src/pages/admin/affiliates.vue | 26 +- .../frontend/src/pages/admin/billing/[id].vue | 5 +- apps/frontend/src/pages/admin/docs.vue | 22 +- apps/frontend/src/pages/admin/emails.vue | 22 +- .../src/pages/admin/servers/notices.vue | 21 +- apps/frontend/src/pages/admin/user_email.vue | 6 +- .../src/pages/auth/reset-password.vue | 82 ++-- apps/frontend/src/pages/auth/sign-in.vue | 53 ++- apps/frontend/src/pages/auth/sign-up.vue | 91 ++--- apps/frontend/src/pages/collection/[id].vue | 18 +- .../src/pages/dashboard/affiliate-links.vue | 26 +- .../src/pages/dashboard/collections.vue | 24 +- .../frontend/src/pages/dashboard/projects.vue | 17 +- .../src/pages/discover/[type]/index.vue | 38 +- apps/frontend/src/pages/flags.vue | 12 +- .../hosting/manage/[id]/content/index.vue | 12 +- .../hosting/manage/[id]/options/index.vue | 20 +- .../hosting/manage/[id]/options/network.vue | 23 +- .../manage/[id]/options/properties.vue | 50 ++- .../hosting/manage/[id]/options/startup.vue | 14 +- apps/frontend/src/pages/index.vue | 30 +- apps/frontend/src/pages/legal/cmp-info.vue | 3 +- apps/frontend/src/pages/moderation/index.vue | 37 +- .../src/pages/moderation/reports/index.vue | 30 +- .../moderation/technical-review/index.vue | 29 +- .../organization/[id]/settings/index.vue | 27 +- .../organization/[id]/settings/members.vue | 17 +- .../organization/[id]/settings/projects.vue | 17 +- apps/frontend/src/pages/report.vue | 6 +- apps/frontend/src/pages/settings/account.vue | 28 +- .../src/pages/settings/applications.vue | 27 +- apps/frontend/src/pages/settings/pats.vue | 8 +- apps/frontend/src/pages/settings/profile.vue | 13 +- packages/assets/generated-icons.ts | 4 +- packages/assets/styles/classes.scss | 36 +- packages/assets/styles/defaults.scss | 82 ---- .../affiliate/AffiliateLinkCreateModal.vue | 50 ++- packages/ui/src/components/base/Combobox.vue | 25 +- .../ui/src/components/base/ManySelect.vue | 33 +- .../ui/src/components/base/MarkdownEditor.vue | 119 +++--- .../ui/src/components/base/StyledInput.vue | 181 +++++++++ packages/ui/src/components/base/index.ts | 1 + .../src/components/billing/PurchaseModal.vue | 15 +- .../instances/modals/ContentUpdaterModal.vue | 17 +- .../ui/src/components/modal/ConfirmModal.vue | 6 +- .../ui/src/components/modal/ShareModal.vue | 63 +-- .../components/search/SearchSidebarFilter.vue | 42 +- .../servers/backups/BackupCreateModal.vue | 8 +- .../servers/backups/BackupRenameModal.vue | 8 +- .../components/servers/files/FileNavbar.vue | 26 +- .../files/modals/FileCreateItemModal.vue | 9 +- .../files/modals/FileMoveItemModal.vue | 9 +- .../files/modals/FileRenameItemModal.vue | 11 +- .../components/settings/LanguageSelector.vue | 9 +- .../ui/src/pages/hosting/manage/index.vue | 25 +- .../src/stories/base/StyledInput.stories.ts | 380 ++++++++++++++++++ 108 files changed, 1670 insertions(+), 1479 deletions(-) create mode 100644 packages/ui/src/components/base/StyledInput.vue create mode 100644 packages/ui/src/stories/base/StyledInput.stories.ts diff --git a/apps/app-frontend/src/assets/stylesheets/global.scss b/apps/app-frontend/src/assets/stylesheets/global.scss index 493096396..9fa10c858 100644 --- a/apps/app-frontend/src/assets/stylesheets/global.scss +++ b/apps/app-frontend/src/assets/stylesheets/global.scss @@ -85,10 +85,6 @@ a { } } -input { - border: none !important; -} - .badge { display: flex; border-radius: var(--radius-md); diff --git a/apps/app-frontend/src/components/GridDisplay.vue b/apps/app-frontend/src/components/GridDisplay.vue index 0019c78cf..aa2b0bb8f 100644 --- a/apps/app-frontend/src/components/GridDisplay.vue +++ b/apps/app-frontend/src/components/GridDisplay.vue @@ -8,13 +8,12 @@ import { SearchIcon, StopCircleIcon, TrashIcon, - XIcon, } from '@modrinth/assets' import { - Button, DropdownSelect, formatLoader, injectNotificationManager, + StyledInput, useVIntl, } from '@modrinth/ui' import { useStorage } from '@vueuse/core' @@ -250,13 +249,14 @@ const filteredResults = computed(() => { diff --git a/packages/ui/src/components/base/index.ts b/packages/ui/src/components/base/index.ts index 11e3cd460..8cc151d63 100644 --- a/packages/ui/src/components/base/index.ts +++ b/packages/ui/src/components/base/index.ts @@ -57,6 +57,7 @@ export { default as SettingsLabel } from './SettingsLabel.vue' export { default as SimpleBadge } from './SimpleBadge.vue' export { default as Slider } from './Slider.vue' export { default as SmartClickable } from './SmartClickable.vue' +export { default as StyledInput } from './StyledInput.vue' export type { TableColumn } from './Table.vue' export { default as Table } from './Table.vue' export { default as TagItem } from './TagItem.vue' diff --git a/packages/ui/src/components/billing/PurchaseModal.vue b/packages/ui/src/components/billing/PurchaseModal.vue index beb8dc77c..e8d44ac27 100644 --- a/packages/ui/src/components/billing/PurchaseModal.vue +++ b/packages/ui/src/components/billing/PurchaseModal.vue @@ -60,7 +60,7 @@

Configure your server

- +