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