diff --git a/packages/ui/src/components/flows/creation-flow-modal/components/CustomSetupStage.vue b/packages/ui/src/components/flows/creation-flow-modal/components/CustomSetupStage.vue index 5a82fd14e..fa5125ef9 100644 --- a/packages/ui/src/components/flows/creation-flow-modal/components/CustomSetupStage.vue +++ b/packages/ui/src/components/flows/creation-flow-modal/components/CustomSetupStage.vue @@ -93,6 +93,8 @@ v-if="!isPaperLike" v-model="loaderVersionType" :items="loaderVersionTypeItems" + :disabled-items="loaderVersionTypeDisabledItems" + :disabled-tooltip="'No such versions available'" :format-label="formatLoaderVersionTypeLabel" />
@@ -296,6 +298,11 @@ const tags = injectTags() const loaderVersionTypeItems: LoaderVersionType[] = ['stable', 'latest', 'other'] +const loaderVersionTypeDisabledItems = computed(() => { + const noStableVersions = !loaderVersionsData.value.some((v: LoaderVersionEntry) => v.stable) + return noStableVersions ? ['stable'] : [] +}) + const isPaperLike = computed( () => selectedLoader.value === 'paper' || selectedLoader.value === 'purpur', ) @@ -565,6 +572,13 @@ function autoSelectLoaderVersion() { 'first:', loaderVersionsData.value[0]?.id, ) + if ( + loaderVersionType.value === 'stable' && + loaderVersionTypeDisabledItems.value.includes('stable') + ) { + debug("'stable' loader version type is disabled, switching to 'latest'...") + loaderVersionType.value = 'latest' + } if (loaderVersionType.value === 'stable') { const stable = loaderVersionsData.value.find((v) => v.stable) selectedLoaderVersion.value = stable?.id ?? loaderVersionsData.value[0]?.id ?? null