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);
+}
@@ -94,7 +99,7 @@ async function handleSkinDeleted(deletedSkin: Skin) {
@saved="handleSkinSaved"
@deleted="handleSkinDeleted"
/>
-
+
diff --git a/packages/ui/src/components/skin/CapeLikeTextButton.vue b/packages/ui/src/components/skin/CapeLikeTextButton.vue
index a9936abff..21ebbd4b6 100644
--- a/packages/ui/src/components/skin/CapeLikeTextButton.vue
+++ b/packages/ui/src/components/skin/CapeLikeTextButton.vue
@@ -3,7 +3,7 @@ const emit = defineEmits<{
(e: 'click'): void
}>()
-const props = withDefaults(
+withDefaults(
defineProps<{
tooltip: string
highlighted?: boolean
@@ -37,7 +37,7 @@ const props = withDefaults(
-
+