Skip to content

Commit 0e752ab

Browse files
authored
feat: handling mrpack with no loaders (#5363)
* handle modpack upload with no loaders * restrict loaders for modpack * actually, dont allow modpack loaders to be editable * revert loader picker changes
1 parent 9f55840 commit 0e752ab

4 files changed

Lines changed: 21 additions & 11 deletions

File tree

apps/frontend/src/components/ui/create-project-version/components/LoaderPicker.vue

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
<template>
22
<div class="flex flex-col gap-2.5">
3-
<span class="font-semibold text-contrast">Loaders <span class="text-red">*</span></span>
3+
<span class="font-semibold text-contrast">Loaders</span>
44

55
<Chips
66
v-model="loaderGroup"

apps/frontend/src/components/ui/create-project-version/stages/MetadataStage.vue

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -77,7 +77,13 @@
7777
</TagItem>
7878
</template>
7979

80-
<span v-if="!draftVersion.loaders.length">No loaders selected.</span>
80+
<TagItem
81+
v-if="!draftVersionLoaders.length && projectType === 'modpack'"
82+
class="border !border-solid border-surface-5 hover:no-underline"
83+
>
84+
No mod loader
85+
</TagItem>
86+
<span v-else-if="!draftVersionLoaders.length">No loaders selected.</span>
8187
</div>
8288
</div>
8389
</div>

apps/frontend/src/providers/version/manage-version-modal.ts

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -421,10 +421,6 @@ export function createManageVersionContext(
421421
inferred.loaders = ['datapack']
422422
}
423423

424-
if (noLoaders && projectType.value === 'modpack') {
425-
inferred.loaders = ['minecraft']
426-
}
427-
428424
inferredVersionData.value = inferred
429425

430426
return inferred

apps/frontend/src/providers/version/stages/loaders-stage.ts

Lines changed: 13 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -10,8 +10,14 @@ export const stageConfig: StageConfigInput<ManageVersionContextValue> = {
1010
id: 'add-loaders',
1111
stageContent: markRaw(LoadersStage),
1212
title: (ctx) => (ctx.editingVersion.value ? 'Edit loaders' : 'Loaders'),
13-
skip: (ctx) =>
14-
(ctx.inferredVersionData.value?.loaders?.length ?? 0) > 0 || ctx.editingVersion.value,
13+
skip: (ctx) => {
14+
const inferredLoadersLength = ctx.inferredVersionData.value?.loaders?.length ?? 0
15+
return (
16+
inferredLoadersLength > 0 ||
17+
ctx.editingVersion.value ||
18+
(inferredLoadersLength === 0 && ctx.projectType.value === 'modpack')
19+
)
20+
},
1521
hideStageInBreadcrumb: (ctx) => !ctx.primaryFile.value || ctx.handlingNewFiles.value,
1622
cannotNavigateForward: (ctx) => ctx.draftVersion.value.loaders.length === 0,
1723
leftButtonConfig: (ctx) => ({
@@ -36,20 +42,22 @@ export const fromDetailsStageConfig: StageConfigInput<ManageVersionContextValue>
3642
leftButtonConfig: (ctx) => ({
3743
label: 'Back',
3844
icon: LeftArrowIcon,
39-
disabled: ctx.draftVersion.value.loaders.length === 0,
45+
disabled: ctx.draftVersion.value.loaders.length === 0 && ctx.projectType.value !== 'modpack',
4046
onClick: () => ctx.modal.value?.setStage('metadata'),
4147
}),
4248
rightButtonConfig: (ctx) =>
4349
ctx.editingVersion.value
4450
? {
4551
...ctx.saveButtonConfig(),
46-
disabled: ctx.draftVersion.value.loaders.length === 0,
52+
disabled:
53+
ctx.draftVersion.value.loaders.length === 0 && ctx.projectType.value !== 'modpack',
4754
}
4855
: {
4956
label: 'Add details',
5057
icon: RightArrowIcon,
5158
iconPosition: 'after',
52-
disabled: ctx.draftVersion.value.loaders.length === 0,
59+
disabled:
60+
ctx.draftVersion.value.loaders.length === 0 && ctx.projectType.value !== 'modpack',
5361
onClick: () => ctx.modal.value?.setStage('add-details'),
5462
},
5563
}

0 commit comments

Comments
 (0)