From fd853045cfbbfc351a240a94f3cf81fa3afbfc12 Mon Sep 17 00:00:00 2001 From: Jerozgen Date: Sat, 14 Feb 2026 22:31:46 +0300 Subject: [PATCH 1/2] Improve Intl formatting --- .../src/components/ui/LegacyProjectCard.vue | 9 ++- .../src/components/ui/world/InstanceItem.vue | 8 +- .../src/components/ui/world/WorldItem.vue | 13 +++- .../src/pages/project/Gallery.vue | 16 ++-- .../src/pages/project/Version.vue | 24 ++---- .../src/components/ui/NotificationItem.vue | 17 ++-- .../src/components/ui/charts/Chart.client.vue | 15 ++-- .../src/components/ui/charts/ChartDisplay.vue | 25 ++++-- .../ui/dashboard/RevenueInputField.vue | 3 +- .../ui/dashboard/RevenueTransaction.vue | 9 ++- .../ui/dashboard/WithdrawFeeBreakdown.vue | 26 +------ .../withdraw-stages/CompletionStage.vue | 26 +++---- .../withdraw-stages/MethodSelectionStage.vue | 3 +- .../withdraw-stages/TaxFormStage.vue | 3 +- .../TremendousDetailsStage.vue | 14 +--- .../ui/moderation/ModerationQueueCard.vue | 14 +++- .../ui/moderation/ModerationReportCard.vue | 15 ++-- .../ui/moderation/ModerationTechRevCard.vue | 13 +++- .../src/components/ui/report/ReportInfo.vue | 8 +- .../src/components/ui/servers/FileItem.vue | 29 +++---- .../servers/marketing/ServerPlanSelector.vue | 8 +- .../ui/servers/notice/NoticeDashboardItem.vue | 19 +++-- .../components/ui/thread/ThreadMessage.vue | 16 +++- .../src/composables/compact-number.ts | 26 ------- apps/frontend/src/locales/en-US/index.json | 10 +-- apps/frontend/src/pages/[type]/[id].vue | 25 +++--- .../src/pages/[type]/[id]/changelog.vue | 15 +++- .../src/pages/[type]/[id]/gallery.vue | 9 ++- .../pages/[type]/[id]/settings/gallery.vue | 9 ++- .../pages/[type]/[id]/version/[version].vue | 14 +++- .../frontend/src/pages/admin/billing/[id].vue | 28 +++++-- .../src/pages/admin/servers/notices.vue | 16 ++-- .../src/pages/admin/servers/transfers.vue | 9 ++- apps/frontend/src/pages/collection/[id].vue | 21 +++-- .../src/pages/dashboard/collections.vue | 15 +++- .../src/pages/dashboard/revenue/index.vue | 7 +- .../src/pages/dashboard/revenue/transfers.vue | 19 ++++- apps/frontend/src/pages/hosting/index.vue | 7 +- apps/frontend/src/pages/index.vue | 6 +- apps/frontend/src/pages/legal/cmp-info.vue | 13 +++- .../src/pages/news/article/[slug].vue | 8 +- apps/frontend/src/pages/news/index.vue | 7 +- apps/frontend/src/pages/organization/[id].vue | 10 ++- apps/frontend/src/pages/plus.vue | 9 +-- .../src/pages/settings/applications.vue | 4 +- .../src/pages/settings/billing/charges.vue | 14 ++-- .../src/pages/settings/billing/index.vue | 46 ++++++----- apps/frontend/src/pages/settings/pats.vue | 34 ++------ apps/frontend/src/pages/settings/sessions.vue | 23 ++---- apps/frontend/src/pages/user/[id].vue | 30 +++---- packages/assets/generated-icons.ts | 4 +- packages/ui/package.json | 1 + .../billing/ExpandableInvoiceTotal.vue | 9 +-- .../billing/ModalBasedServerPlan.vue | 7 +- .../src/components/billing/PurchaseModal.vue | 25 +++--- .../billing/ServersPurchase0Plan.vue | 9 ++- .../billing/ServersPurchase1Region.vue | 7 +- .../billing/ServersPurchase3Review.vue | 32 ++++---- .../components/changelog/ChangelogEntry.vue | 15 +++- packages/ui/src/components/chart/Chart.vue | 7 +- .../ui/src/components/chart/CompactChart.vue | 6 +- .../components/content/NewsArticleCard.vue | 7 +- .../instances/ContentModpackCard.vue | 11 +-- .../instances/modals/ContentUpdaterModal.vue | 8 +- .../src/components/project/ProjectHeader.vue | 13 ++-- .../project/ProjectPageVersions.vue | 18 ++--- .../project/ProjectSidebarDetails.vue | 21 +++-- .../project/card/ProjectCardDate.vue | 17 ++-- .../project/card/ProjectCardStats.vue | 13 ++-- .../src/components/servers/ServerListing.vue | 12 +-- .../components/servers/backups/BackupItem.vue | 8 +- .../servers/files/explorer/FileItem.vue | 29 +++---- .../ui/src/composables/format-date-time.ts | 38 +++++++++ packages/ui/src/composables/format-money.ts | 78 +++++++++++++++++++ packages/ui/src/composables/format-number.ts | 75 ++++++++++++++++++ packages/ui/src/composables/how-ago.ts | 41 +++++----- packages/ui/src/composables/index.ts | 3 + packages/ui/src/locales/en-US/index.json | 13 ++-- packages/ui/src/utils/common-messages.ts | 8 +- packages/utils/billing.ts | 23 ------ packages/utils/utils.ts | 34 -------- 81 files changed, 782 insertions(+), 577 deletions(-) delete mode 100644 apps/frontend/src/composables/compact-number.ts create mode 100644 packages/ui/src/composables/format-date-time.ts create mode 100644 packages/ui/src/composables/format-money.ts create mode 100644 packages/ui/src/composables/format-number.ts diff --git a/apps/app-frontend/src/components/ui/LegacyProjectCard.vue b/apps/app-frontend/src/components/ui/LegacyProjectCard.vue index 000970c653..73b51ba568 100644 --- a/apps/app-frontend/src/components/ui/LegacyProjectCard.vue +++ b/apps/app-frontend/src/components/ui/LegacyProjectCard.vue @@ -1,7 +1,6 @@ diff --git a/packages/ui/src/components/servers/backups/BackupItem.vue b/packages/ui/src/components/servers/backups/BackupItem.vue index ca75453c4e..92295e18ef 100644 --- a/packages/ui/src/components/servers/backups/BackupItem.vue +++ b/packages/ui/src/components/servers/backups/BackupItem.vue @@ -10,9 +10,9 @@ import { UserRoundIcon, XIcon, } from '@modrinth/assets' -import dayjs from 'dayjs' import { computed } from 'vue' +import { useFormatDateTime } from '../../../composables' import { defineMessages, useVIntl } from '../../../composables/i18n' import { commonMessages } from '../../../utils' import ButtonStyled from '../../base/ButtonStyled.vue' @@ -20,6 +20,10 @@ import OverflowMenu, { type Option as OverflowOption } from '../../base/Overflow import ProgressBar from '../../base/ProgressBar.vue' const { formatMessage } = useVIntl() +const formatDateTime = useFormatDateTime({ + timeStyle: 'short', + dateStyle: 'long', +}) const emit = defineEmits<{ (e: 'download' | 'rename' | 'restore' | 'retry'): void @@ -254,7 +258,7 @@ const messages = defineMessages({