diff --git a/apps/app-frontend/src/components/ui/skin/SelectCapeModal.vue b/apps/app-frontend/src/components/ui/skin/SelectCapeModal.vue index f7f57edc8..97c5d8c04 100644 --- a/apps/app-frontend/src/components/ui/skin/SelectCapeModal.vue +++ b/apps/app-frontend/src/components/ui/skin/SelectCapeModal.vue @@ -2,13 +2,13 @@ import ModalWrapper from '@/components/ui/modal/ModalWrapper.vue' import { useTemplateRef, ref, computed } from 'vue' import type { Cape } from '@/helpers/skins.ts' -import { ButtonStyled, ScrollablePanel, CapeButton } from '@modrinth/ui' +import {ButtonStyled, ScrollablePanel, CapeButton, CapeLikeTextButton} from '@modrinth/ui' import { CheckIcon, XIcon} from '@modrinth/assets' const modal = useTemplateRef('modal') const emit = defineEmits<{ - (e: 'select', cape: string | undefined): void + (e: 'select', cape: Cape | undefined): void }>() const props = defineProps<{ @@ -49,7 +49,7 @@ function show(e: MouseEvent, skin?: string, selected?: Cape) { } function select() { - emit('select', currentCape.value?.id) + emit('select', currentCape.value) hide() } @@ -67,14 +67,20 @@ defineExpose({ -
+
- -
- + +
+ + + No Cape + +
diff --git a/apps/app-frontend/src/pages/Skins.vue b/apps/app-frontend/src/pages/Skins.vue index 021023cb3..cdfdb4482 100644 --- a/apps/app-frontend/src/pages/Skins.vue +++ b/apps/app-frontend/src/pages/Skins.vue @@ -10,7 +10,7 @@ import { get_available_skins, get_available_capes, filterSavedSkins, - filterDefaultSkins, equip_skin, remove_custom_skin, + filterDefaultSkins, equip_skin, remove_custom_skin, set_default_cape, } from '@/helpers/skins.ts' import { get as getSettings } from '@/helpers/settings.ts' import { get as getCreds } from '@/helpers/mr_auth' @@ -85,6 +85,11 @@ async function handleSkinDeleted(deletedSkin: Skin) { null } } + +async function handleCapeSelected(cape: Cape | undefined) { + currentCape.value = cape; + await set_default_cape(currentCape.value).catch(handleError); +}