// ContactView — contact details + a PhD / Postdoc application form for WiNTEL. // No backend: submitting composes a pre-filled email to the PI and shows a // confirmation, so the form works as a standalone artifact. const CV = window.WINTELAcademicDesignSystem_045d4f; const CONTACT_EMAIL = 'a.celik@soton.ac.uk'; const inputBase = { width: '100%', boxSizing: 'border-box', padding: '0.6rem 0.75rem', fontFamily: 'var(--font-sans)', fontSize: 'var(--text-base)', color: 'var(--text-primary)', background: 'var(--surface-card)', border: '1px solid var(--border-default)', borderRadius: 'var(--radius-md)', outline: 'none', }; function Field({ label, required, children, hint }) { return ( ); } function ContactView({ data }) { const p = data.person; const POSITIONS = ['PhD Student', 'Postdoctoral Fellow', 'Visiting Researcher']; const AREAS = data.research || []; const [f, setF] = React.useState({ position: 'PhD Student', name: '', email: '', institution: '', country: '', degree: '', start: '', links: '', message: '', areas: [], }); const [submitted, setSubmitted] = React.useState(false); const [error, setError] = React.useState(''); const set = (k, v) => setF((s) => ({ ...s, [k]: v })); const toggleArea = (a) => setF((s) => ({ ...s, areas: s.areas.includes(a) ? s.areas.filter((x) => x !== a) : [...s.areas, a] })); const submit = (e) => { e.preventDefault(); if (!f.name.trim() || !f.email.trim() || !f.message.trim()) { setError('Please complete the required fields (name, email, and message).'); return; } setError(''); const body = [ 'WiNTEL Application', '', 'Position: ' + f.position, 'Name: ' + f.name, 'Email: ' + f.email, 'Current institution: ' + f.institution, 'Country: ' + f.country, 'Highest qualification: ' + f.degree, 'Earliest availability: ' + f.start, 'Research areas of interest: ' + (f.areas.length ? f.areas.join(', ') : '—'), 'Links (Scholar / CV / site): ' + f.links, '', 'Message:', f.message, ].join('\n'); const subject = 'WiNTEL Application — ' + f.position + ' — ' + f.name; window.location.href = 'mailto:' + CONTACT_EMAIL + '?subject=' + encodeURIComponent(subject) + '&body=' + encodeURIComponent(body); setSubmitted(true); }; return (
{/* ---- Application form ---- */}

Join WiNTEL

We welcome motivated PhD students, postdoctoral fellows, and visiting researchers working on AI-native networks, ISAC, RIS, non-terrestrial networks, and the Internet of Bodies. Tell us about yourself below.

{submitted ? (

Your email is ready to send

A pre-filled message should have opened in your mail app. If it didn’t, email {CONTACT_EMAIL} directly with your CV attached.

setSubmitted(false)}>Edit the form
) : (
{POSITIONS.map((pos) => ( set('position', pos)}>{pos} ))}
set('name', e.target.value)} placeholder="Jane Doe" /> set('email', e.target.value)} placeholder="jane@university.edu" /> set('institution', e.target.value)} placeholder="University / company" /> set('country', e.target.value)} placeholder="Country of residence" /> set('degree', e.target.value)} placeholder="e.g. MSc in Electrical Engineering" /> set('start', e.target.value)} placeholder="e.g. Sept 2026" />
{AREAS.map((a) => { const on = f.areas.includes(a); return ( ); })}
set('links', e.target.value)} placeholder="https://scholar.google.com/… , https://… (CV)" />