diff --git a/src/components/campaign/ActionPlanForm.tsx b/src/components/campaign/ActionPlanForm.tsx
index f4fd5539..cd9a7bb4 100644
--- a/src/components/campaign/ActionPlanForm.tsx
+++ b/src/components/campaign/ActionPlanForm.tsx
@@ -29,6 +29,7 @@ import type { ActionPlanLeadershipOption } from '@/utilities/actionPlanLeadershi
import type { ActionPlanFormViewModel } from '@/utilities/actionPlanViewModels'
import { formatIsoAsBahiaDateTimeInput } from '@/utilities/campaignTime'
import type { NucleusCoordinatorOption } from '@/utilities/nucleusCoordinatorOptions'
+import { fieldError } from '@/utilities/campaignFormFields'
export type ActionPlanFormState = {
message?: string
@@ -65,7 +66,7 @@ export const ActionPlanFormFields = ({
submittedTitle,
searchContacts,
}: ActionPlanFormFieldsProps) => {
- const errorFor = (name: string) => fieldErrors[name]?.[0]
+ const errorFor = (name: string) => fieldError(fieldErrors, name)
const statusIsEditable =
!plan || editableStatuses.includes(plan.status as (typeof editableStatuses)[number])
const [status, setStatus] = useState<(typeof editableStatuses)[number]>(
diff --git a/src/components/campaign/ActionPlanUpdateForm.tsx b/src/components/campaign/ActionPlanUpdateForm.tsx
index 9bb5ad7b..65af121a 100644
--- a/src/components/campaign/ActionPlanUpdateForm.tsx
+++ b/src/components/campaign/ActionPlanUpdateForm.tsx
@@ -11,6 +11,7 @@ import { Card, CardContent, CardHeader, CardTitle } from '@/components/ui/card'
import { Field, FieldError, FieldLabel } from '@/components/ui/field'
import { Spinner } from '@/components/ui/Spinner'
import { Textarea } from '@/components/ui/textarea'
+import { fieldError } from '@/utilities/campaignFormFields'
export const ActionPlanUpdateForm = ({ planId }: { planId: number }) => {
const router = useRouter()
@@ -24,7 +25,7 @@ export const ActionPlanUpdateForm = ({ planId }: { planId: number }) => {
router.refresh()
}, [router, state.message, state.status])
- const bodyError = state.fieldErrors?.body?.[0]
+ const bodyError = fieldError(state.fieldErrors, 'body')
return (
diff --git a/src/components/campaign/LeadershipPrimaryContactAction.tsx b/src/components/campaign/LeadershipPrimaryContactAction.tsx
index f107fbf2..3cd10090 100644
--- a/src/components/campaign/LeadershipPrimaryContactAction.tsx
+++ b/src/components/campaign/LeadershipPrimaryContactAction.tsx
@@ -12,6 +12,7 @@ import {
import { Alert, AlertDescription, AlertTitle } from '@/components/ui/Alert'
import { Button } from '@/components/ui/button'
import { Spinner } from '@/components/ui/Spinner'
+import { fieldError } from '@/utilities/campaignFormFields'
export const PrimaryContactFormFields = ({
nucleusId,
@@ -22,8 +23,8 @@ export const PrimaryContactFormFields = ({
contactId: number
state: LeadershipFormState
}) => {
- const nucleusError = state.fieldErrors?.nucleus?.[0]
- const contactError = state.fieldErrors?.contact?.[0]
+ const nucleusError = fieldError(state.fieldErrors, 'nucleus')
+ const contactError = fieldError(state.fieldErrors, 'contact')
const hasError = Boolean(state.message || nucleusError || contactError)
return (
@@ -83,11 +84,7 @@ export const LeadershipPrimaryContactAction = ({
return (