mirror of
https://github.com/modrinth/code.git
synced 2026-09-04 22:10:15 +00:00
feat: instance sharing thru shared-instances service (#6569)
* feat: implement instance share page + search_users backend call * feat: invite players modal * feat: use tanstack queries for friends sync across app pages * feat: base shared instances implementation * fix: admon style * feat: impl instance admonitions like server panel * fix: impl get + del usage * feat: support modpack links * feat: invite notif accepting * fix: lint + fmt * feat: impl install to play * feat: impl usage of UpdateToPlayModal * feat: warnings on deleting/disabling shared-instance version content * fix: send instance name * feat: align with backend * feat: shared instances qa * feat: wrong account protection * feat: qa * fix: smartly apply updates * fix: install bug * fix: 401/404 differentiation * fix: fmt+prepr * feat: qa * feat: qa * fix: signing out messes up revoke/deleted checks * feat: qa * fix: fmt + lint * feat: lock content if part of shared instance * fix: lint * [do not merge] feat: rough invite links impl temp (#6666) * fix: wrong cmd * feat: invite page * fix: server-manager DTO mismatch * fix: drop anonymous invite link acceptance * refactor: structured shared-instance unavailable errors * refactor: centralise error presentations * refactor: dedupe shared instance diff detection * fix: logging in reqwests * refactor: move app.vue shared instances into handler * refactor: break up Share.vue * refactor: split up shared instances state outside of instance index * refactor: dedicated shared instances install/update modals + split up page * refactor: centralized managed content * refactor: split up install shared to own runner + shared.rs split up * refactor: dedupe sql for instance metadata enrichmnt * refactor: friends composable + dedupe friends logic across usages * chore: reduced unused code * fix: align with backend * fix: lint * fix: file sha changes * fix: invite links not working due to icon signed * feat: qa * feat: reporting frontend dummy * fix: try use header * remove: file hash field * fix: pin box * feat: malware warning for shared instances * fix: cache rule * feat: config files syncing * feat: disable config sharing * fix: header * fix: use mark ready * fix: dont cause push update for configs * fix: lint * feat: sharing page in settings * feat: move config + change flow * fix: qa * fix: lint prepr * feat: proxy file upload thru shared instances backend * fix: use collapisible * fix: push config * fix: config * feat: swap out sign in modal for new one * fix: report flow * fix: exclude configs.zip from external warnings * fix: nuxi init * fix: config bundle downloading * fix: error notif * fix: polling * fix: qa * fix: lint + prepr * feat: shared instances moderation frontend + hook up report flow * fix: report copy * fix: lint * fix: lint * fix: modrinth ids being undefined * feat: instance quarantining * fix: prepr + fmt * fix: quarantined -> locked terminology * fix: missing endpoint impls + fmt * fix: missing api in build.rs * fix: share tab jittery * fix: fmt *PT bug * fix: invites count as users even if pending * fix: prepr * fix: invite page owner in users list * fix: lint * fix: qa * fix: lint * fix: members stale not clearing * fix: invite use joined_at field * fix: lint * fix: qa --------- Co-authored-by: sychic <47618543+Sychic@users.noreply.github.com>
This commit is contained in:
@@ -377,6 +377,9 @@
|
||||
"content.confirm-deletion.header": {
|
||||
"defaultMessage": "Delete {itemType}"
|
||||
},
|
||||
"content.confirm-disable.header": {
|
||||
"defaultMessage": "Disable {itemType}"
|
||||
},
|
||||
"content.confirm-modpack-update.admonition-body": {
|
||||
"defaultMessage": "{action, select, downgrade {Downgrading} other {Updating}} may cause compatibility issues. Mods or content you added on top of the modpack will be kept, but may not be compatible with the new version."
|
||||
},
|
||||
@@ -446,12 +449,18 @@
|
||||
"content.diff-modal.added-count": {
|
||||
"defaultMessage": "{count} added"
|
||||
},
|
||||
"content.diff-modal.config-files-updated": {
|
||||
"defaultMessage": "Changed config files"
|
||||
},
|
||||
"content.diff-modal.diff-type.added": {
|
||||
"defaultMessage": "Added (dependency)"
|
||||
},
|
||||
"content.diff-modal.diff-type.removed": {
|
||||
"defaultMessage": "Disabled"
|
||||
},
|
||||
"content.diff-modal.diff-type.removed-disabled": {
|
||||
"defaultMessage": "Removed (disabled)"
|
||||
},
|
||||
"content.diff-modal.diff-type.updated": {
|
||||
"defaultMessage": "Updated"
|
||||
},
|
||||
@@ -467,12 +476,36 @@
|
||||
"content.diff-modal.external-diff-type.updated": {
|
||||
"defaultMessage": "Updated"
|
||||
},
|
||||
"content.diff-modal.file-count": {
|
||||
"defaultMessage": "{count, plural, one {# file} other {# files}}"
|
||||
},
|
||||
"content.diff-modal.game-version-updated": {
|
||||
"defaultMessage": "Game version"
|
||||
},
|
||||
"content.diff-modal.install-anyway": {
|
||||
"defaultMessage": "Install anyway"
|
||||
},
|
||||
"content.diff-modal.loader-updated": {
|
||||
"defaultMessage": "Loader"
|
||||
},
|
||||
"content.diff-modal.modpack-linked": {
|
||||
"defaultMessage": "Linked modpack"
|
||||
},
|
||||
"content.diff-modal.modpack-unlinked": {
|
||||
"defaultMessage": "Unlinked modpack"
|
||||
},
|
||||
"content.diff-modal.modpack-updated": {
|
||||
"defaultMessage": "Updated modpack"
|
||||
},
|
||||
"content.diff-modal.no-content-changes": {
|
||||
"defaultMessage": "No content changes"
|
||||
},
|
||||
"content.diff-modal.removed-count": {
|
||||
"defaultMessage": "{count} removed"
|
||||
},
|
||||
"content.diff-modal.removed-disabled-count": {
|
||||
"defaultMessage": "{count} removed (disabled)"
|
||||
},
|
||||
"content.diff-modal.reviewed-files": {
|
||||
"defaultMessage": "A file is only reviewed if it’s published to Modrinth, regardless of its file format (including .mrpack)."
|
||||
},
|
||||
@@ -533,15 +566,6 @@
|
||||
"content.inline-backup.world-label": {
|
||||
"defaultMessage": "world"
|
||||
},
|
||||
"content.modpack-card.content-hint-description": {
|
||||
"defaultMessage": "Your modpack's content can now be found here!"
|
||||
},
|
||||
"content.modpack-card.content-hint-title": {
|
||||
"defaultMessage": "Modpack content moved"
|
||||
},
|
||||
"content.modpack-card.dismiss-hint": {
|
||||
"defaultMessage": "Don't show again"
|
||||
},
|
||||
"content.page-layout.additional-content": {
|
||||
"defaultMessage": "Additional content"
|
||||
},
|
||||
@@ -2054,6 +2078,12 @@
|
||||
"instances.modpack-content-modal.empty-title": {
|
||||
"defaultMessage": "No content found"
|
||||
},
|
||||
"instances.modpack-content-modal.external-content": {
|
||||
"defaultMessage": "External"
|
||||
},
|
||||
"instances.modpack-content-modal.external-content-description": {
|
||||
"defaultMessage": "This file is not published on Modrinth."
|
||||
},
|
||||
"instances.modpack-content-modal.header": {
|
||||
"defaultMessage": "Modpack content"
|
||||
},
|
||||
@@ -2063,6 +2093,9 @@
|
||||
"instances.modpack-content-modal.no-results": {
|
||||
"defaultMessage": "No projects match your search."
|
||||
},
|
||||
"instances.modpack-content-modal.open-in-slicer": {
|
||||
"defaultMessage": "Open in Slicer"
|
||||
},
|
||||
"instances.modpack-content-modal.search-placeholder": {
|
||||
"defaultMessage": "Search {count, number} {count, plural, one {project} other {projects}}"
|
||||
},
|
||||
@@ -5069,6 +5102,81 @@
|
||||
"settings.sessions.title": {
|
||||
"defaultMessage": "Sessions"
|
||||
},
|
||||
"sharing.invite-players-modal.add": {
|
||||
"defaultMessage": "Add"
|
||||
},
|
||||
"sharing.invite-players-modal.added": {
|
||||
"defaultMessage": "Added"
|
||||
},
|
||||
"sharing.invite-players-modal.already-invited": {
|
||||
"defaultMessage": "This user has already been invited."
|
||||
},
|
||||
"sharing.invite-players-modal.avatar-alt": {
|
||||
"defaultMessage": "{username}'s avatar"
|
||||
},
|
||||
"sharing.invite-players-modal.cancel": {
|
||||
"defaultMessage": "Cancel"
|
||||
},
|
||||
"sharing.invite-players-modal.cancel-button": {
|
||||
"defaultMessage": "Cancel"
|
||||
},
|
||||
"sharing.invite-players-modal.edit-invite-link": {
|
||||
"defaultMessage": "Edit invite link."
|
||||
},
|
||||
"sharing.invite-players-modal.edit-invite-link-title": {
|
||||
"defaultMessage": "Edit invite link"
|
||||
},
|
||||
"sharing.invite-players-modal.expiry-label": {
|
||||
"defaultMessage": "Expiry date"
|
||||
},
|
||||
"sharing.invite-players-modal.friends-heading": {
|
||||
"defaultMessage": "Your friends - {count}"
|
||||
},
|
||||
"sharing.invite-players-modal.invite": {
|
||||
"defaultMessage": "Invite"
|
||||
},
|
||||
"sharing.invite-players-modal.invite-expiry-description": {
|
||||
"defaultMessage": "Your invite link expires in {duration}."
|
||||
},
|
||||
"sharing.invite-players-modal.invite-link-heading": {
|
||||
"defaultMessage": "Or use an invite link"
|
||||
},
|
||||
"sharing.invite-players-modal.link-copied-text": {
|
||||
"defaultMessage": "The invite link has been copied to your clipboard."
|
||||
},
|
||||
"sharing.invite-players-modal.link-copied-title": {
|
||||
"defaultMessage": "Link copied"
|
||||
},
|
||||
"sharing.invite-players-modal.link-copy-failed-title": {
|
||||
"defaultMessage": "Failed to copy link"
|
||||
},
|
||||
"sharing.invite-players-modal.max-uses-label": {
|
||||
"defaultMessage": "Maximum uses"
|
||||
},
|
||||
"sharing.invite-players-modal.no-friends": {
|
||||
"defaultMessage": "No friends found."
|
||||
},
|
||||
"sharing.invite-players-modal.no-search-results": {
|
||||
"defaultMessage": "No matching users found."
|
||||
},
|
||||
"sharing.invite-players-modal.requested": {
|
||||
"defaultMessage": "Request sent"
|
||||
},
|
||||
"sharing.invite-players-modal.requested-tooltip": {
|
||||
"defaultMessage": "{username} needs to accept your friend request first"
|
||||
},
|
||||
"sharing.invite-players-modal.save-button": {
|
||||
"defaultMessage": "Save"
|
||||
},
|
||||
"sharing.invite-players-modal.search-placeholder": {
|
||||
"defaultMessage": "Enter Modrinth username"
|
||||
},
|
||||
"sharing.invite-players-modal.searching": {
|
||||
"defaultMessage": "Searching..."
|
||||
},
|
||||
"sharing.invite-players-modal.update-invite-link-failed-title": {
|
||||
"defaultMessage": "Failed to update invite link"
|
||||
},
|
||||
"tag.category.128x": {
|
||||
"defaultMessage": "128x"
|
||||
},
|
||||
|
||||
Reference in New Issue
Block a user