feat: implement improved flow for server panel edit installation (#5711)

* feat: implement improved flow for server panel edit installation

* feat: installation form finalized

* feat: error state for InstallingBanner

* feat: action button refactor + save banner text fix

* fix: lint

* fix: content card alignment

* feat: better copy

* fix: lint

* fix: hide shift click + fix NeoForge chip

* fix: lint
This commit is contained in:
Calum H.
2026-04-01 17:53:19 +00:00
committed by GitHub
parent c52abece44
commit fa4711ff7b
19 changed files with 785 additions and 168 deletions
@@ -4,6 +4,7 @@ import type { ComputedRef, Ref } from 'vue'
import { createContext } from '#ui/providers/create-context'
import type {
ContentDiffItem,
ContentDiffPreview,
GameVersionOption,
InstallationInfoRow,
@@ -61,6 +62,26 @@ export interface InstallationSettingsContext {
lockPlatform?: boolean
hideLoaderVersion?: boolean
/** Bulk-disable all addons on the server (used before switching loaders). */
disableAllContent?: () => Promise<void>
/**
* Disable only the incompatible addons identified in a content diff preview.
* Used when the user chooses "Disable conflicts" instead of "Auto-fix".
*/
disableIncompatibleContent?: (diffs: ContentDiffItem[]) => Promise<void>
/**
* Save the installation settings without auto-resolving content.
* Uses installContent with soft_override instead of applyGameVersionUpdate.
*/
saveWithoutAutoFix?: (
platform: string,
gameVersion: string,
loaderVersionId: string | null,
) => Promise<void>
previewSave?: (
platform: string,
gameVersion: string,