diff --git a/client/src/App.css b/client/src/App.css index dc433d6..30ced04 100644 --- a/client/src/App.css +++ b/client/src/App.css @@ -457,6 +457,7 @@ html.scheme-dark .themed-select-option.is-selected { } .feedback-form__field select, +.feedback-form__field input, .feedback-form__field textarea { width: 100%; padding: 10px 12px; @@ -469,6 +470,7 @@ html.scheme-dark .themed-select-option.is-selected { } .feedback-form__field select:focus, +.feedback-form__field input:focus, .feedback-form__field textarea:focus { outline: none; border-color: var(--app-accent, #38bdf8); diff --git a/client/src/components/FeedbackModal.tsx b/client/src/components/FeedbackModal.tsx index b55a3c3..826f34b 100644 --- a/client/src/components/FeedbackModal.tsx +++ b/client/src/components/FeedbackModal.tsx @@ -22,6 +22,7 @@ export default function FeedbackModal({ }: FeedbackModalProps) { const { t } = useTranslation() const [category, setCategory] = useState('general') + const [contactEmail, setContactEmail] = useState('') const [message, setMessage] = useState('') const [submitState, setSubmitState] = useState('idle') const [statusMessage, setStatusMessage] = useState(null) @@ -53,6 +54,7 @@ export default function FeedbackModal({ if (!open) { clearCloseTimer() setCategory('general') + setContactEmail('') setMessage('') setSubmitState('idle') setStatusMessage(null) @@ -70,6 +72,7 @@ export default function FeedbackModal({ await sendFeedback({ category, message: message.trim(), + contactEmail: contactEmail.trim() || undefined, logbookId, logbookTitle }) @@ -84,7 +87,9 @@ export default function FeedbackModal({ setStatusMessage( error instanceof FeedbackApiError && error.code === 'NOT_CONFIGURED' ? t('feedback.error_not_configured') - : t('feedback.error_send') + : error instanceof FeedbackApiError && error.code === 'INVALID_EMAIL' + ? t('feedback.error_invalid_email') + : t('feedback.error_send') ) } } @@ -139,6 +144,25 @@ export default function FeedbackModal({ + +