diff --git a/packages/frontend/src/components/NotificationSettingForm.vue b/packages/frontend/src/components/NotificationSettingForm.vue index 715f452..f0bb780 100644 --- a/packages/frontend/src/components/NotificationSettingForm.vue +++ b/packages/frontend/src/components/NotificationSettingForm.vue @@ -238,7 +238,9 @@ const props = defineProps({ const emit = defineEmits(['save', 'cancel']); const store = useNotificationsStore(); +console.log('[NotificationSettingForm] Setup started.'); // Log setup start const { t } = useI18n(); +console.log('[NotificationSettingForm] useI18n initialized.'); // Log i18n init const formError = ref(null); const headerError = ref(null); const testError = ref(null); @@ -309,6 +311,7 @@ const webhookHeadersString = ref('{}'); // For textarea binding // Watch for initialData changes (when editing) watch(() => props.initialData, (newData) => { + console.log('[NotificationSettingForm] Watch initialData triggered. New data:', newData); // Log initialData change if (newData) { Object.assign(formData, newData); // Populate specific config refs based on channel type @@ -346,10 +349,12 @@ watch(() => props.initialData, (newData) => { testError.value = null; // Reset test error testResult.value = null; // Reset test result testingNotification.value = false; // Reset testing state + console.log('[NotificationSettingForm] Form data initialized/updated from initialData. Current channel_type:', formData.channel_type); // Log after init/update }, { immediate: true }); // Watch channel type change to reset specific config watch(() => formData.channel_type, (newType, oldType) => { + console.log(`[NotificationSettingForm] Watch channel_type changed from ${oldType} to ${newType}`); // Log channel type change if (newType !== oldType && !isEditing.value) { // Only reset if not editing or type changes during add mode webhookConfig.value = { url: '', method: 'POST', headers: {}, bodyTemplate: '' }; emailConfig.value = { @@ -393,6 +398,7 @@ watch(emailConfig, () => { const getEventDisplayName = (event: NotificationEvent): string => { // Use i18n key, fallback to formatted name if key not found const i18nKey = `settings.notifications.events.${event}`; + console.log(`[NotificationSettingForm] Translating event display name for key: ${i18nKey}`); // Log event key translation attempt const translated = t(i18nKey); // If translation returns the key itself, it means translation is missing if (translated === i18nKey) { @@ -403,6 +409,7 @@ const getEventDisplayName = (event: NotificationEvent): string => { }; const handleSubmit = async () => { + console.log('[NotificationSettingForm] handleSubmit called.'); // Log submit start formError.value = null; if (headerError.value) return; // Don't submit if headers are invalid