@@ -70,7 +70,7 @@ export default function NewsletterSignup({ compact = false }) {
7070 country : [ ] , // Changed to array for multi-select
7171 gender : '' ,
7272 yearOfBirth : '' ,
73- healthInterests : '' ,
73+ researchTopics : '' ,
7474 signupSource : '' ,
7575 } ) ;
7676 const emailInputRef = useRef ( null ) ;
@@ -137,7 +137,7 @@ export default function NewsletterSignup({ compact = false }) {
137137 formData . country . length > 0 ||
138138 formData . gender ||
139139 formData . yearOfBirth ||
140- formData . healthInterests ;
140+ formData . researchTopics ;
141141
142142 if ( isExpanded && ! hasAnyData ) {
143143 setIsExpanded ( false ) ;
@@ -181,7 +181,22 @@ export default function NewsletterSignup({ compact = false }) {
181181 if ( response . ok ) {
182182 setStatus ( 'success' ) ;
183183 setMessage ( 'Thank you for subscribing!' ) ;
184- // Reset form if needed
184+ // Clear form data immediately to prevent "unsaved changes" warnings
185+ setFormData ( {
186+ email : '' ,
187+ firstName : '' ,
188+ country : [ ] ,
189+ gender : '' ,
190+ yearOfBirth : '' ,
191+ researchTopics : '' ,
192+ signupSource : pathname , // Keep the signup source
193+ } ) ;
194+
195+ setTimeout ( ( ) => {
196+ setIsExpanded ( false ) ;
197+ setMessage ( '' ) ;
198+ setStatus ( 'idle' ) ;
199+ } , 3000 ) ;
185200 } else {
186201 setStatus ( 'error' ) ;
187202 setMessage ( result . error || 'Something went wrong. Please try again.' ) ;
@@ -380,9 +395,9 @@ export default function NewsletterSignup({ compact = false }) {
380395 id = "newsletter-interests"
381396 label = "Topics you're interested in (Optional, comma-separated)"
382397 type = "text"
383- name = "healthInterests "
398+ name = "researchTopics "
384399 placeholder = "e.g., Cancer research, Longevity, Wearable data, Cystic Fibrosis research"
385- value = { formData . healthInterests }
400+ value = { formData . researchTopics }
386401 onChange = { handleInputChange }
387402 />
388403 </ div >
0 commit comments