diff --git a/libs/application/templates/announcement-of-death/src/fields/FirearmApplicant/index.tsx b/libs/application/templates/announcement-of-death/src/fields/FirearmApplicant/index.tsx index 64057ebb6524..ef68d88ac7f8 100644 --- a/libs/application/templates/announcement-of-death/src/fields/FirearmApplicant/index.tsx +++ b/libs/application/templates/announcement-of-death/src/fields/FirearmApplicant/index.tsx @@ -107,12 +107,9 @@ export const FirearmApplicant: FC< backgroundColor="blue" icon={name ? 'checkmarkCircle' : undefined} loading={queryLoading} + required error={ - getErrorViaPath( - errors, - 'pickRole.electPerson.lookupError.message', - ) || - getErrorViaPath(errors, 'pickRole.electPerson.nationalId') || + getErrorViaPath(errors, 'firearmApplicant.nationalId') || undefined } /> @@ -126,6 +123,7 @@ export const FirearmApplicant: FC< application, formatMessage, )} + readOnly /> @@ -139,6 +137,10 @@ export const FirearmApplicant: FC< application, formatMessage, )} + error={ + getErrorViaPath(errors, 'firearmApplicant.phone') || undefined + } + required /> @@ -146,6 +148,10 @@ export const FirearmApplicant: FC< id={fieldNames.firearmApplicantEmail} name={fieldNames.firearmApplicantEmail} label={formatText(m.applicantsEmail, application, formatMessage)} + error={ + getErrorViaPath(errors, 'firearmApplicant.email') || undefined + } + required /> diff --git a/libs/application/templates/announcement-of-death/src/forms/overviewSections.ts b/libs/application/templates/announcement-of-death/src/forms/overviewSections.ts index 5f23241f662b..e657384ff918 100644 --- a/libs/application/templates/announcement-of-death/src/forms/overviewSections.ts +++ b/libs/application/templates/announcement-of-death/src/forms/overviewSections.ts @@ -11,8 +11,7 @@ import { format as formatNationalId } from 'kennitala' import { m } from '../lib/messages' import { formatPhoneNumber } from '@island.is/application/ui-components' import format from 'date-fns/format' -import { Asset, Answers as AODAnswers, PropertiesEnum } from '../types' -import { FormatMessage } from '@island.is/localization' +import { Answers as AODAnswers, PropertiesEnum } from '../types' import { getFileRecipientName } from '../lib/utils' import { EstateRegistrant } from '@island.is/clients/syslumenn' @@ -329,13 +328,26 @@ export const files: Field[] = [ export const firearmApplicant: Field[] = [ buildDividerField({ - condition: (answers) => - showInDone(answers.viewOverview) && answers.hadFirearms === YES, + condition: (answers) => showInDone(answers.viewOverview), }), buildDescriptionField({ id: 'firearmApplicant', title: m.firearmsApplicantOverviewHeader, titleVariant: 'h3', + condition: (answers) => showInDone(answers.viewOverview), + }), + buildKeyValueField({ + label: m.firearmsHadFirearms, + width: 'full', + value: ({ answers }) => + answers.hadFirearms === YES ? m.firearmsYes : m.firearmsNo, + condition: (answers) => showInDone(answers.viewOverview), + }), + buildDescriptionField({ + id: 'firearmApplicantInfo', + title: m.firearmsApplicant, + titleVariant: 'h3', + space: 2, condition: (answers) => showInDone(answers.viewOverview) && answers.hadFirearms === YES, }), diff --git a/libs/application/templates/announcement-of-death/src/lib/dataSchema.ts b/libs/application/templates/announcement-of-death/src/lib/dataSchema.ts index 5da16b770ec7..e1feabcf8435 100644 --- a/libs/application/templates/announcement-of-death/src/lib/dataSchema.ts +++ b/libs/application/templates/announcement-of-death/src/lib/dataSchema.ts @@ -5,7 +5,7 @@ import { m } from './messages' import { RoleConfirmationEnum } from '../types' import { customZodError } from './utils/customZodError' -import { YES } from '@island.is/application/core' +import { NO, YES } from '@island.is/application/core' const isValidPhoneNumber = (phoneNumber: string) => { const phone = parsePhoneNumberFromString(phoneNumber, 'IS') @@ -77,9 +77,10 @@ export const dataSchema = z.object({ }), applicantEmail: customZodError(z.string().email(), m.errorEmail), applicantRelation: customZodError(z.string().min(1), m.errorRelation), + hadFirearms: z.enum([YES, NO]), firearmApplicant: z .object({ - nationalId: z.string(), + nationalId: z.string().refine((v) => nationalId.isPerson(v)), name: z.string(), phone: z.string().refine((v) => isValidPhoneNumber(v), { params: m.errorPhoneNumber, diff --git a/libs/application/templates/announcement-of-death/src/lib/messages.ts b/libs/application/templates/announcement-of-death/src/lib/messages.ts index cab2f43a0df0..c75ed61bde01 100644 --- a/libs/application/templates/announcement-of-death/src/lib/messages.ts +++ b/libs/application/templates/announcement-of-death/src/lib/messages.ts @@ -232,9 +232,14 @@ export const m = defineMessages({ defaultMessage: 'Skráning vörsluaðila:', description: '', }, + firearmsApplicant: { + id: 'aod.application:firearmsApplicant', + defaultMessage: 'Skráður vörsluaðili', + description: '', + }, firearmsApplicantOverviewHeader: { id: 'aod.application:firearmsApplicantOverviewHeader', - defaultMessage: 'Skotvopn - vörsluaðili', + defaultMessage: 'Skotvopn', description: '', }, firearmsApplicantName: {