diff --git a/front/src/components/channels/UploadForm.vue b/front/src/components/channels/UploadForm.vue index 4ca527010..e95056aba 100644 --- a/front/src/components/channels/UploadForm.vue +++ b/front/src/components/channels/UploadForm.vue @@ -33,7 +33,7 @@ interface Events { interface Props { channel: Channel | null, - filter: 'podcast' | 'music' + filter: 'podcast' | 'music' | undefined, } interface QuotaStatus { diff --git a/front/src/components/ui/Pill.vue b/front/src/components/ui/Pill.vue index ba0ef3f94..c1a0c090d 100644 --- a/front/src/components/ui/Pill.vue +++ b/front/src/components/ui/Pill.vue @@ -2,22 +2,31 @@ import { ref, onMounted } from 'vue' import { type ColorProps, type PastelProps, type VariantProps, type RaisedProps, color } from '~/composables/color' -const input = ref() + +const input = ref(); const emit = defineEmits<{ click: [event: MouseEvent] }>() const handleClick = (event: MouseEvent) => { emit('click', event) if (model.value !== undefined) { - (input.value as HTMLInputElement).focus() + input.value?.focus(); } } const props = defineProps<{ noUnderline?:true, autofocus? : boolean } &(PastelProps | ColorProps) & VariantProps & RaisedProps>() const model = defineModel() onMounted(() => { - if (props.autofocus) input.value.focus() + if (props.autofocus) input.value?.focus(); }) + +const sanitize = () => + model.value = model.value?.replace(',', '')?.trim() + +const sanitizeAndBlur = () => + sanitize() && input.value?.blur() + +