refactor: align files tab with content tab design (#5621)

* fix: files.vue bugs before styling changes

* feat: move files tab to shared layout structure

* fix: qa

* fix: qa

* fix: bugs

* fix: lint

* fix: admonition cleanup with progress + actions

* fix: cleanup

* fix: modals

* fix: admon title

* fix: i18n standard

* fix: lint + i18n pass

* fix: remove transition

* fix: type errors

* feat: files tab in app

* fix: qa

* fix: backup item minmax

* fix: use ContentPageHeader for server panel

* fix: lint

* fix: lint

* fix: lint

* feat: page leave safety

* fix: lint

* fix: cargo fmt fix

* fix: blank in prod

* fix: content card table stuff

* Revert "fix: blank in prod"

This reverts commit 74758fe185cf85a4a20355857f889cb091b97ace.

* fix: import

* feat: browse worlds/servers flow

* fix: worlds tab parity with content tab

* fix: perf bug + shader filter pill copy

* feat: singleplayer filter

* fix: ordering

* fix: breadcrumbs

* fix: lint

* fix: qa

* feat: store server proj id when adding to a non-linked instance

* fix: lint

* fix: i18n + qa

* fix: conflict

* qa: already installed modal + placeholders not server-specific

* fix: qa

* fix: add + edit server modals

* fix: qa

* fix: security

* fix: devin flags

* fix: lint

* chore: change file to break build cache

* fix: admon

* fix: import path stuff

* feat: qa

* fix: fmt fmt idiot

---------

Signed-off-by: Calum H. <calum@modrinth.com>
This commit is contained in:
Calum H.
2026-03-26 18:55:15 +00:00
committed by GitHub
parent 706eb800cb
commit 381ea51cce
170 changed files with 8052 additions and 4571 deletions
+92
View File
@@ -470,10 +470,94 @@ export const commonMessages = defineMessages({
id: 'label.plan-custom',
defaultMessage: 'Custom',
},
copyLinkButton: {
id: 'button.copy-link',
defaultMessage: 'Copy link',
},
switchVersionButton: {
id: 'button.switch-version',
defaultMessage: 'Switch version',
},
updatingLabel: {
id: 'label.updating',
defaultMessage: 'Updating...',
},
deleteFailedLabel: {
id: 'label.delete-failed',
defaultMessage: 'Delete failed',
},
uploadFailedLabel: {
id: 'label.upload-failed',
defaultMessage: 'Upload failed',
},
renameFailedLabel: {
id: 'label.rename-failed',
defaultMessage: 'Rename failed',
},
moveFailedLabel: {
id: 'label.move-failed',
defaultMessage: 'Move failed',
},
createFailedLabel: {
id: 'label.create-failed',
defaultMessage: 'Create failed',
},
extractFailedLabel: {
id: 'label.extract-failed',
defaultMessage: 'Extract failed',
},
showFileButton: {
id: 'button.show-file',
defaultMessage: 'Show file',
},
enableButton: {
id: 'button.enable',
defaultMessage: 'Enable',
},
disableButton: {
id: 'button.disable',
defaultMessage: 'Disable',
},
renameButton: {
id: 'button.rename',
defaultMessage: 'Rename',
},
moveButton: {
id: 'button.move',
defaultMessage: 'Move',
},
extractButton: {
id: 'button.extract',
defaultMessage: 'Extract',
},
doneLabel: {
id: 'label.done',
defaultMessage: 'Done',
},
copyFilenameButton: {
id: 'button.copy-filename',
defaultMessage: 'Copy filename',
},
copyFullPathButton: {
id: 'button.copy-full-path',
defaultMessage: 'Copy full path',
},
copiedFilenameLabel: {
id: 'label.copied-filename',
defaultMessage: 'Copied filename',
},
copiedPathLabel: {
id: 'label.copied-path',
defaultMessage: 'Copied path',
},
openInFolderButton: {
id: 'button.open-in-folder',
defaultMessage: 'Open in folder',
},
downloadFailedLabel: {
id: 'label.download-failed',
defaultMessage: 'Download failed',
},
projectCreated: {
id: 'project.about.details.created',
defaultMessage: 'Created {date}',
@@ -638,6 +722,14 @@ export const financialMessages = defineMessages({
},
})
const PROJECT_TYPE_ALIASES: Record<string, string> = {
shaderpack: 'shader',
}
export function normalizeProjectType(type: string): string {
return PROJECT_TYPE_ALIASES[type] ?? type
}
export const commonProjectTypeCategoryMessages = defineMessages({
datapack: {
id: 'project-type.datapack.category',