diff --git a/packages/api-client/src/modules/archon/types.ts b/packages/api-client/src/modules/archon/types.ts index 7add0d5a84..962adbdb15 100644 --- a/packages/api-client/src/modules/archon/types.ts +++ b/packages/api-client/src/modules/archon/types.ts @@ -1111,6 +1111,50 @@ export namespace Archon { version_id: string } + export type InstallProgressFileKey = { + type: 'file' + parent_directory: string + filename: string + install_type: 'install' | 'update' + } + + export type InstallProgressModrinthModpackKey = { + type: 'modrinth_modpack' + project_id: string + version_id: string + } + + export type InstallProgressLocalModpackKey = { + type: 'local_modpack' + filename: string + } + + export type InstallProgressPlatformKey = { + type: 'platform' + platform: 'forge' | 'neoforge' | 'fabric' | 'quilt' | 'paper' | 'purpur' | 'vanilla' + platform_version: string + game_version: string + } + + export type InstallProgressKey = + | InstallProgressFileKey + | InstallProgressModrinthModpackKey + | InstallProgressLocalModpackKey + | InstallProgressPlatformKey + + export type InstallProgressItem = { + world_id: string + key: InstallProgressKey + id: string + progress: number | null + error: string | null + } + + export type WSInstallProgressEvent = { + event: 'install-progress' + items: InstallProgressItem[] + } + export type FilesystemOpKind = 'unarchive' export type FilesystemOpState = @@ -1208,6 +1252,7 @@ export namespace Archon { | WSInstallationResultEvent | WSUptimeEvent | WSNewModEvent + | WSInstallProgressEvent | WSFilesystemOpsEvent export type WSEventType = WSEvent['event'] diff --git a/packages/ui/src/components/servers/InstallingBanner.vue b/packages/ui/src/components/servers/InstallingBanner.vue index cf8a901019..95635da75b 100644 --- a/packages/ui/src/components/servers/InstallingBanner.vue +++ b/packages/ui/src/components/servers/InstallingBanner.vue @@ -1,7 +1,8 @@ - - -
-
-
- {{ message }} -
-
-
-