diff --git a/src/components/CAPTCHA.vue b/src/components/CAPTCHA.vue index dc77e2a..ef58be6 100644 --- a/src/components/CAPTCHA.vue +++ b/src/components/CAPTCHA.vue @@ -65,13 +65,20 @@ watch( recaptchaResponse: recaptcha, turnstileResponse: turnstile }); + } else { + // At least one token is missing + emit('captchaVerified', { + hCaptchaResponse: null, + recaptchaResponse: null, + turnstileResponse: null + }); } } ); const reset = () => { hcaptchaRef.value?.reset(); - if (recaptchaWidgetId.value) handleRecaptchaReset(recaptchaWidgetId.value); + handleRecaptchaReset(recaptchaWidgetId.value); turnstileRef.value?.reset(); }; diff --git a/src/views/DailyMottoView.vue b/src/views/DailyMottoView.vue index ecd4709..5c89488 100644 --- a/src/views/DailyMottoView.vue +++ b/src/views/DailyMottoView.vue @@ -29,7 +29,7 @@ const generateMotto = async () => { captcha.value.reset(); } catch (error) { console.error(error); - alert('Failed to generate motto.'); + alert('Failed to generate motto: ' + error.message); } mottoLoading.value = false;