+
+
setForm((f) => ({ ...f, headline: e.target.value }))}
+ maxLength={200}
+ required
+ placeholder="The Inquirer praises Project X"
+ aria-invalid={fieldErrors['headline'] ? 'true' : 'false'}
+ />
+ {fieldErrors['headline'] && (
+
{fieldErrors['headline']}
+ )}
+
+
+
+
+
setForm((f) => ({ ...f, url: e.target.value }))}
+ required
+ placeholder="https://www.inquirer.com/…"
+ aria-invalid={fieldErrors['url'] ? 'true' : 'false'}
+ />
+ {fieldErrors['url'] && (
+
{fieldErrors['url']}
+ )}
+
+ Must be HTTPS. Each URL can only be logged once per project.
+
+
+
+
+
+
setForm((f) => ({ ...f, publishedAt: e.target.value }))}
+ required
+ max={todayIso()}
+ aria-invalid={fieldErrors['publishedAt'] ? 'true' : 'false'}
+ />
+ {fieldErrors['publishedAt'] && (
+
{fieldErrors['publishedAt']}
+ )}
+
+
+