From e4d1d0ab3382fa6080d78eaecc255fa30d18c0c8 Mon Sep 17 00:00:00 2001 From: albina Date: Tue, 4 Jun 2024 18:34:26 +0000 Subject: [PATCH 01/12] fix(inheritance-report): EFS fixes 4.06 --- .../HeirsAndPartitionRepeater/index.tsx | 2 +- .../src/fields/HeirsOverview/index.tsx | 13 ++++---- .../src/forms/sections/assets.ts | 24 ++++++++++---- .../sections/prepaidInheritance/overview.ts | 31 +------------------ .../inheritance-report/src/lib/messages.ts | 6 ++-- .../src/lib/utils/helpers.ts | 10 +++--- 6 files changed, 36 insertions(+), 50 deletions(-) diff --git a/libs/application/templates/inheritance-report/src/fields/HeirsAndPartitionRepeater/index.tsx b/libs/application/templates/inheritance-report/src/fields/HeirsAndPartitionRepeater/index.tsx index dbb2b35a5541..57937d2393d9 100644 --- a/libs/application/templates/inheritance-report/src/fields/HeirsAndPartitionRepeater/index.tsx +++ b/libs/application/templates/inheritance-report/src/fields/HeirsAndPartitionRepeater/index.tsx @@ -127,7 +127,7 @@ export const HeirsAndPartitionRepeater: FC< const relations = answers.applicationFor === PREPAID_INHERITANCE ? PrePaidHeirsRelations.map((relation) => ({ - value: relation.value, + value: formatMessage(relation.label), label: formatMessage(relation.label), })) : externalData?.relationOptions?.map((relation) => ({ diff --git a/libs/application/templates/inheritance-report/src/fields/HeirsOverview/index.tsx b/libs/application/templates/inheritance-report/src/fields/HeirsOverview/index.tsx index b46ca5a60094..bd99152b61b0 100644 --- a/libs/application/templates/inheritance-report/src/fields/HeirsOverview/index.tsx +++ b/libs/application/templates/inheritance-report/src/fields/HeirsOverview/index.tsx @@ -5,6 +5,7 @@ import { FieldBaseProps } from '@island.is/application/types' import { InheritanceReport } from '../../lib/dataSchema' import { m } from '../../lib/messages' import { formatCurrency } from '@island.is/application/ui-components' +import { format as formatNationalId } from 'kennitala' export const HeirsOverview: FC> = ({ application, @@ -25,7 +26,7 @@ export const HeirsOverview: FC> = ({ {formatMessage(m.nationalId)} - {heir.nationalId} + {formatNationalId(heir.nationalId ?? '')} {formatMessage(m.name)} @@ -55,16 +56,16 @@ export const HeirsOverview: FC> = ({ + + {formatMessage(m.inheritanceAmount)} + {formatCurrency(String(heir.inheritance || '0'))} + {formatMessage(m.taxFreeInheritance)} {formatCurrency(String(heir.taxFreeInheritance || '0'))} - - {formatMessage(m.inheritanceAmount)} - {formatCurrency(String(heir.inheritance || '0'))} - @@ -90,7 +91,7 @@ export const HeirsOverview: FC> = ({ {formatMessage(m.advocateNationalId)} - {heir.advocate.nationalId} + {formatNationalId(heir.advocate.nationalId)} {formatMessage(m.advocateName)} diff --git a/libs/application/templates/inheritance-report/src/forms/sections/assets.ts b/libs/application/templates/inheritance-report/src/forms/sections/assets.ts index 9b245f151b43..6be71bf4d613 100644 --- a/libs/application/templates/inheritance-report/src/forms/sections/assets.ts +++ b/libs/application/templates/inheritance-report/src/forms/sections/assets.ts @@ -33,7 +33,9 @@ export const assets = buildSection({ description: (application) => application.answers.applicationFor === PREPAID_INHERITANCE ? m.propertiesDescriptionPrePaid - : m.propertiesDescription + ' ' + m.continueWithoutAssets, + : m.propertiesDescription.defaultMessage + + ' ' + + m.continueWithoutAssets.defaultMessage, children: [ buildDescriptionField({ id: 'realEstateTitle', @@ -175,7 +177,9 @@ export const assets = buildSection({ id: 'vehicles', title: m.propertiesTitle, description: - m.propertiesDescription + ' ' + m.continueWithoutVehicles, + m.propertiesDescription.defaultMessage + + ' ' + + m.continueWithoutVehicles.defaultMessage, children: [ buildDescriptionField({ id: 'vehiclesTitle', @@ -310,7 +314,9 @@ export const assets = buildSection({ id: 'estateBankInfo', title: m.propertiesTitle, description: - m.propertiesDescription + ' ' + m.continueWithoutBankAccounts, + m.propertiesDescription.defaultMessage + + ' ' + + m.continueWithoutBankAccounts.defaultMessage, children: [ buildDescriptionField({ id: 'estateBankInfoTitle', @@ -463,7 +469,9 @@ export const assets = buildSection({ description: (application) => application.answers.applicationFor === PREPAID_INHERITANCE ? m.propertiesDescriptionPrePaid - : m.propertiesDescription + ' ' + m.continueWithoutBankAccounts, + : m.propertiesDescription.defaultMessage + + ' ' + + m.continueWithoutBankAccounts.defaultMessage, children: [ buildDescriptionField({ id: 'stocksTitle', @@ -549,7 +557,9 @@ export const assets = buildSection({ description: (application) => application.answers.applicationFor === PREPAID_INHERITANCE ? m.propertiesDescriptionPrePaid - : m.propertiesDescription + ' ' + m.continueWithoutBankAccounts, + : m.propertiesDescription.defaultMessage + + ' ' + + m.continueWithoutBankAccounts.defaultMessage, children: [ buildDescriptionField({ id: 'moneyTitle', @@ -630,7 +640,9 @@ export const assets = buildSection({ description: (application) => application.answers.applicationFor === PREPAID_INHERITANCE ? m.propertiesDescriptionPrePaid - : m.propertiesDescription + ' ' + m.continueWithoutBankAccounts, + : m.propertiesDescription.defaultMessage + + ' ' + + m.continueWithoutBankAccounts.defaultMessage, children: [ buildDescriptionField({ id: 'otherAssetsTitle', diff --git a/libs/application/templates/inheritance-report/src/forms/sections/prepaidInheritance/overview.ts b/libs/application/templates/inheritance-report/src/forms/sections/prepaidInheritance/overview.ts index 1c8ade9c302f..e98deb510085 100644 --- a/libs/application/templates/inheritance-report/src/forms/sections/prepaidInheritance/overview.ts +++ b/libs/application/templates/inheritance-report/src/forms/sections/prepaidInheritance/overview.ts @@ -11,8 +11,7 @@ import { import { m } from '../../../lib/messages' import { formatCurrency } from '@island.is/application/ui-components' import { InheritanceReport } from '../../../lib/dataSchema' -import { roundedValueToNumber, valueToNumber } from '../../../lib/utils/helpers' -import { calculateTotalAssets } from '../../../lib/utils/calculateTotalAssets' +import { valueToNumber } from '../../../lib/utils/helpers' export const prepaidOverview = buildSection({ id: 'prepaidOverview', @@ -40,35 +39,7 @@ export const prepaidOverview = buildSection({ title: m.overviewHeirsTitle, description: m.overviewHeirsDescription, children: [ - buildDescriptionField({ - id: 'overviewAssetsTitle', - title: m.properties, - titleVariant: 'h3', - space: 'gutter', - marginBottom: 'gutter', - }), buildDividerField({}), - buildKeyValueField({ - label: m.totalValueOfAssets, - display: 'flex', - value: ({ answers }) => - formatCurrency( - String(roundedValueToNumber(calculateTotalAssets(answers))), - ), - }), - buildDescriptionField({ - id: 'space', - title: '', - space: 'gutter', - }), - buildDividerField({}), - buildDescriptionField({ - id: 'overviewHeirsTitle', - title: m.heirs, - titleVariant: 'h3', - space: 'gutter', - marginBottom: 'gutter', - }), buildCustomField({ title: '', id: 'overviewHeirs', diff --git a/libs/application/templates/inheritance-report/src/lib/messages.ts b/libs/application/templates/inheritance-report/src/lib/messages.ts index 28081cad37bd..1e5c08983eac 100644 --- a/libs/application/templates/inheritance-report/src/lib/messages.ts +++ b/libs/application/templates/inheritance-report/src/lib/messages.ts @@ -1659,7 +1659,7 @@ export const m = defineMessages({ }, sibling: { id: 'ir.application:sibling', - defaultMessage: 'Systkin', + defaultMessage: 'Systkini', description: '', }, other: { @@ -1685,12 +1685,12 @@ export const m = defineMessages({ description: '', }, includeSpousePrePaid: { - id: 'id.application:includeSpouse', + id: 'ir.application:includeSpouse', defaultMessage: 'Ráðstafa úr sameign hjúskaps', description: '', }, includeSpousePrePaidDescription: { - id: 'id.application:includeSpouseDescription', + id: 'ir.application:includeSpouseDescription', defaultMessage: 'Ef arfláti er í gift/ur og ráðstafa á úr sameign, þarf maki að vera með sem arfláti', description: '', diff --git a/libs/application/templates/inheritance-report/src/lib/utils/helpers.ts b/libs/application/templates/inheritance-report/src/lib/utils/helpers.ts index 108cbb84f09c..a23a8d7d22d2 100644 --- a/libs/application/templates/inheritance-report/src/lib/utils/helpers.ts +++ b/libs/application/templates/inheritance-report/src/lib/utils/helpers.ts @@ -89,15 +89,17 @@ export const getPrePaidTotalValueFromApplication = ( const money = valueToNumber( getValueViaPath(answers, 'assets.money.value', '0'), ) - const vehicleTotal = - getValueViaPath(answers, 'assets.vehicles.total', 0) ?? 0 + const stocksTotal = + getValueViaPath(answers, 'assets.stocks.total', 0) ?? 0 const realEstateTotal = getValueViaPath(answers, 'assets.realEstate.total', 0) ?? 0 - const otherTotal = + const otherAssetsTotal = getValueViaPath(answers, 'assets.otherAssets.total', 0) ?? 0 const bankAccountTotal = getValueViaPath(answers, 'assets.bankAccounts.total', 0) ?? 0 - return money + vehicleTotal + realEstateTotal + otherTotal + bankAccountTotal + return ( + money + stocksTotal + realEstateTotal + otherAssetsTotal + bankAccountTotal + ) } export const customZodError = ( From 486284462106c8eef1a3d3f7fcfce12ea4f8dbaa Mon Sep 17 00:00:00 2001 From: albina Date: Tue, 4 Jun 2024 18:44:30 +0000 Subject: [PATCH 02/12] splitting up the overviews --- .../inheritance-report/src/forms/form.ts | 10 +- .../src/forms/sections/assets.ts | 1 - .../sections/prepaidInheritance/heirs.ts | 2 + .../sections/prepaidInheritance/overview.ts | 268 ++++++++---------- 4 files changed, 123 insertions(+), 158 deletions(-) diff --git a/libs/application/templates/inheritance-report/src/forms/form.ts b/libs/application/templates/inheritance-report/src/forms/form.ts index f2ea9423ec97..2e4a9dd41701 100644 --- a/libs/application/templates/inheritance-report/src/forms/form.ts +++ b/libs/application/templates/inheritance-report/src/forms/form.ts @@ -1,13 +1,7 @@ import { - YES, - buildCheckboxField, buildForm, - buildMultiField, - buildSection, - buildSubmitField, } from '@island.is/application/core' -import { m } from '../lib/messages' -import { DefaultEvents, Form, FormModes } from '@island.is/application/types' +import { Form, FormModes } from '@island.is/application/types' import { assets } from './sections/assets' import { debtsAndFuneralCost } from './sections/debtsAndFuneralCost' import { heirs } from './sections/heirs' @@ -19,7 +13,6 @@ import { preSelection } from './sections/applicationTypeSelection' import { prePaidHeirs } from './sections/prepaidInheritance/heirs' import { inheritanceExecutor } from './sections/prepaidInheritance/inheritanceExecutor' import { inheritance } from './sections/prepaidInheritance/inheritance' -import { prepaidOverview } from './sections/prepaidInheritance/overview' import { finalStep } from './sections/finalStep' import { prePaidApplicant } from './sections/prepaidInheritance/applicant' @@ -35,7 +28,6 @@ export const prepaidInheritanceForm: Form = buildForm({ inheritance, assets, prePaidHeirs, - prepaidOverview, finalStep, ], }) diff --git a/libs/application/templates/inheritance-report/src/forms/sections/assets.ts b/libs/application/templates/inheritance-report/src/forms/sections/assets.ts index 6be71bf4d613..fa399ae78f89 100644 --- a/libs/application/templates/inheritance-report/src/forms/sections/assets.ts +++ b/libs/application/templates/inheritance-report/src/forms/sections/assets.ts @@ -688,7 +688,6 @@ export const assets = buildSection({ buildSubSection({ id: 'assetOverview', title: m.assetOverview, - condition: (answers) => answers.applicationFor !== PREPAID_INHERITANCE, children: [ buildCustomField({ title: m.assetOverview, diff --git a/libs/application/templates/inheritance-report/src/forms/sections/prepaidInheritance/heirs.ts b/libs/application/templates/inheritance-report/src/forms/sections/prepaidInheritance/heirs.ts index 2bd8d8f92df7..49aa3ce4705e 100644 --- a/libs/application/templates/inheritance-report/src/forms/sections/prepaidInheritance/heirs.ts +++ b/libs/application/templates/inheritance-report/src/forms/sections/prepaidInheritance/heirs.ts @@ -8,6 +8,7 @@ import { buildTextField, } from '@island.is/application/core' import { m } from '../../../lib/messages' +import { prepaidOverview } from './overview' export const prePaidHeirs = buildSection({ id: 'heirs', @@ -117,5 +118,6 @@ export const prePaidHeirs = buildSection({ }), ], }), + prepaidOverview, ], }) diff --git a/libs/application/templates/inheritance-report/src/forms/sections/prepaidInheritance/overview.ts b/libs/application/templates/inheritance-report/src/forms/sections/prepaidInheritance/overview.ts index e98deb510085..27d935139cf1 100644 --- a/libs/application/templates/inheritance-report/src/forms/sections/prepaidInheritance/overview.ts +++ b/libs/application/templates/inheritance-report/src/forms/sections/prepaidInheritance/overview.ts @@ -4,7 +4,6 @@ import { buildDividerField, buildKeyValueField, buildMultiField, - buildSection, buildSubSection, getValueViaPath, } from '@island.is/application/core' @@ -13,164 +12,137 @@ import { formatCurrency } from '@island.is/application/ui-components' import { InheritanceReport } from '../../../lib/dataSchema' import { valueToNumber } from '../../../lib/utils/helpers' -export const prepaidOverview = buildSection({ +export const prepaidOverview = buildSubSection({ id: 'prepaidOverview', title: m.overview, children: [ - buildSubSection({ - id: 'assetOverview', - title: m.assetOverview, + buildMultiField({ + id: 'heirsOverview', + title: m.overviewHeirsTitle, + description: m.overviewHeirsDescription, children: [ + buildDividerField({}), buildCustomField({ - title: m.assetOverview, - description: m.assetOverviewDescription, - id: 'overviewAssets', + title: '', + id: 'overviewHeirs', doesNotRequireAnswer: true, - component: 'OverviewAssets', + component: 'HeirsOverview', }), - ], - }), - buildSubSection({ - id: 'heirsOverview', - title: m.overviewHeirsTitle, - children: [ - buildMultiField({ - id: 'heirsOverview', - title: m.overviewHeirsTitle, - description: m.overviewHeirsDescription, - children: [ - buildDividerField({}), - buildCustomField({ - title: '', - id: 'overviewHeirs', - doesNotRequireAnswer: true, - component: 'HeirsOverview', - }), - buildDividerField({}), - buildDescriptionField({ - id: 'overviewTotalInheritance', - title: m.overviewTotalInheritance, - titleVariant: 'h3', - space: 'gutter', - marginBottom: 'gutter', - }), - buildKeyValueField({ - label: m.heirsInheritanceRate, - display: 'flex', - value: ({ answers }) => - String(getValueViaPath(answers, 'heirs.total')), - }), - buildDescriptionField({ - id: 'heirs_space1', - title: '', - space: 'gutter', - }), - buildKeyValueField({ - label: m.inheritanceAmount, - display: 'flex', - value: ({ answers }) => { - const total = ( - answers as InheritanceReport - )?.heirs?.data?.reduce( - (sum, heir) => sum + valueToNumber(heir.inheritance), - 0, - ) + buildDividerField({}), + buildDescriptionField({ + id: 'overviewTotalInheritance', + title: m.overviewTotalInheritance, + titleVariant: 'h3', + space: 'gutter', + marginBottom: 'gutter', + }), + buildKeyValueField({ + label: m.heirsInheritanceRate, + display: 'flex', + value: ({ answers }) => + String(getValueViaPath(answers, 'heirs.total')), + }), + buildDescriptionField({ + id: 'heirs_space1', + title: '', + space: 'gutter', + }), + buildKeyValueField({ + label: m.inheritanceAmount, + display: 'flex', + value: ({ answers }) => { + const total = (answers as InheritanceReport)?.heirs?.data?.reduce( + (sum, heir) => sum + valueToNumber(heir.inheritance), + 0, + ) - return formatCurrency(String(total ?? '0')) - }, - }), - buildDescriptionField({ - id: 'heirs_space2', - title: '', - space: 'gutter', - }), - buildKeyValueField({ - label: m.taxFreeInheritance, - display: 'flex', - value: ({ answers }) => { - const total = ( - answers as InheritanceReport - )?.heirs?.data?.reduce( - (sum, heir) => sum + valueToNumber(heir.taxFreeInheritance), - 0, - ) + return formatCurrency(String(total ?? '0')) + }, + }), + buildDescriptionField({ + id: 'heirs_space2', + title: '', + space: 'gutter', + }), + buildKeyValueField({ + label: m.taxFreeInheritance, + display: 'flex', + value: ({ answers }) => { + const total = (answers as InheritanceReport)?.heirs?.data?.reduce( + (sum, heir) => sum + valueToNumber(heir.taxFreeInheritance), + 0, + ) - return formatCurrency(String(total ?? '0')) - }, - }), - buildDescriptionField({ - id: 'heirs_space3', - title: '', - space: 'gutter', - }), - buildKeyValueField({ - label: m.taxableInheritance, - display: 'flex', - value: ({ answers }) => { - const total = ( - answers as InheritanceReport - )?.heirs?.data?.reduce( - (sum, heir) => sum + valueToNumber(heir.taxableInheritance), - 0, - ) + return formatCurrency(String(total ?? '0')) + }, + }), + buildDescriptionField({ + id: 'heirs_space3', + title: '', + space: 'gutter', + }), + buildKeyValueField({ + label: m.taxableInheritance, + display: 'flex', + value: ({ answers }) => { + const total = (answers as InheritanceReport)?.heirs?.data?.reduce( + (sum, heir) => sum + valueToNumber(heir.taxableInheritance), + 0, + ) - return formatCurrency(String(total ?? '0')) - }, - }), - buildDescriptionField({ - id: 'heirs_space4', - title: '', - space: 'gutter', - }), - buildKeyValueField({ - label: m.inheritanceTax, - display: 'flex', - value: ({ answers }) => { - const total = ( - answers as InheritanceReport - )?.heirs?.data?.reduce( - (sum, heir) => sum + valueToNumber(heir.inheritanceTax), - 0, - ) + return formatCurrency(String(total ?? '0')) + }, + }), + buildDescriptionField({ + id: 'heirs_space4', + title: '', + space: 'gutter', + }), + buildKeyValueField({ + label: m.inheritanceTax, + display: 'flex', + value: ({ answers }) => { + const total = (answers as InheritanceReport)?.heirs?.data?.reduce( + (sum, heir) => sum + valueToNumber(heir.inheritanceTax), + 0, + ) - return formatCurrency(String(total ?? '0')) - }, - }), - buildDividerField({}), - buildDescriptionField({ - id: 'overviewAdditionalInfo', - title: m.heirAdditionalInfo, - titleVariant: 'h3', - space: 'gutter', - marginBottom: 'gutter', - }), - buildKeyValueField({ - label: m.info, - value: ({ answers }) => - getValueViaPath(answers, 'heirsAdditionalInfo'), - }), - buildDescriptionField({ - id: 'heirs_space5', - title: '', - space: 'gutter', - }), - buildKeyValueField({ - label: m.fileUploadOtherDocumentsPrePaid, - value: ({ answers }) => { - const files = getValueViaPath( - answers, - 'heirsAdditionalInfoFilesOtherDocuments', - ) - return files.map((file: any) => file.name).join(', ') - }, - }), - buildCustomField({ - title: '', - id: 'overviewPrint', - doesNotRequireAnswer: true, - component: 'PrintScreen', - }), - ], + return formatCurrency(String(total ?? '0')) + }, + }), + buildDividerField({}), + buildDescriptionField({ + id: 'overviewAdditionalInfo', + title: m.heirAdditionalInfo, + titleVariant: 'h3', + space: 'gutter', + marginBottom: 'gutter', + }), + buildKeyValueField({ + label: m.info, + value: ({ answers }) => + getValueViaPath(answers, 'heirsAdditionalInfo'), + }), + buildDescriptionField({ + id: 'heirs_space5', + title: '', + space: 'gutter', + }), + buildKeyValueField({ + label: m.fileUploadOtherDocumentsPrePaid, + value: ({ answers }) => { + const files = getValueViaPath( + answers, + 'heirsAdditionalInfoFilesOtherDocuments', + ) + return files.map((file: any) => file.name).join(', ') + }, + }), + buildCustomField({ + title: '', + id: 'overviewPrint', + doesNotRequireAnswer: true, + component: 'PrintScreen', }), ], }), From d1a37f44f0a271bb758b973a967fc0f833bfdbbb Mon Sep 17 00:00:00 2001 From: andes-it Date: Tue, 4 Jun 2024 18:48:15 +0000 Subject: [PATCH 03/12] chore: nx format:write update dirty files --- .../templates/inheritance-report/src/forms/form.ts | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/libs/application/templates/inheritance-report/src/forms/form.ts b/libs/application/templates/inheritance-report/src/forms/form.ts index 2e4a9dd41701..eff072326647 100644 --- a/libs/application/templates/inheritance-report/src/forms/form.ts +++ b/libs/application/templates/inheritance-report/src/forms/form.ts @@ -1,6 +1,4 @@ -import { - buildForm, -} from '@island.is/application/core' +import { buildForm } from '@island.is/application/core' import { Form, FormModes } from '@island.is/application/types' import { assets } from './sections/assets' import { debtsAndFuneralCost } from './sections/debtsAndFuneralCost' From 9f6d7395061a48a2165ee0a862f4a114883f5a12 Mon Sep 17 00:00:00 2001 From: albina Date: Tue, 4 Jun 2024 19:06:00 +0000 Subject: [PATCH 04/12] required selection of application type --- .../modules/templates/inheritance-report/utils/mappers.ts | 1 + .../templates/inheritance-report/src/forms/form.ts | 4 +--- .../templates/inheritance-report/src/forms/prerequisites.ts | 2 ++ .../templates/inheritance-report/src/lib/dataSchema.ts | 2 ++ .../templates/inheritance-report/src/lib/messages.ts | 6 ++++++ 5 files changed, 12 insertions(+), 3 deletions(-) diff --git a/libs/application/template-api-modules/src/lib/modules/templates/inheritance-report/utils/mappers.ts b/libs/application/template-api-modules/src/lib/modules/templates/inheritance-report/utils/mappers.ts index 9a17c660c61e..772018808d1f 100644 --- a/libs/application/template-api-modules/src/lib/modules/templates/inheritance-report/utils/mappers.ts +++ b/libs/application/template-api-modules/src/lib/modules/templates/inheritance-report/utils/mappers.ts @@ -92,6 +92,7 @@ export const expandAnswers = ( caseNumber: string } => { return { + applicationFor: answers.applicationFor ?? '', applicant: answers.applicant, executors: { executor: { diff --git a/libs/application/templates/inheritance-report/src/forms/form.ts b/libs/application/templates/inheritance-report/src/forms/form.ts index 2e4a9dd41701..eff072326647 100644 --- a/libs/application/templates/inheritance-report/src/forms/form.ts +++ b/libs/application/templates/inheritance-report/src/forms/form.ts @@ -1,6 +1,4 @@ -import { - buildForm, -} from '@island.is/application/core' +import { buildForm } from '@island.is/application/core' import { Form, FormModes } from '@island.is/application/types' import { assets } from './sections/assets' import { debtsAndFuneralCost } from './sections/debtsAndFuneralCost' diff --git a/libs/application/templates/inheritance-report/src/forms/prerequisites.ts b/libs/application/templates/inheritance-report/src/forms/prerequisites.ts index 4553132dc521..52d7119c5e8a 100644 --- a/libs/application/templates/inheritance-report/src/forms/prerequisites.ts +++ b/libs/application/templates/inheritance-report/src/forms/prerequisites.ts @@ -22,12 +22,14 @@ export const getForm = (): Form => children: [ buildMultiField({ title: m.preDataCollectionApplicationFor, + description: m.preDataCollectionApplicationFoDescription, children: [ buildRadioField({ id: 'applicationFor', title: '', largeButtons: true, backgroundColor: 'blue', + required: true, options: [ { value: ESTATE_INHERITANCE, diff --git a/libs/application/templates/inheritance-report/src/lib/dataSchema.ts b/libs/application/templates/inheritance-report/src/lib/dataSchema.ts index 0d8000c201ac..c917310fd5e2 100644 --- a/libs/application/templates/inheritance-report/src/lib/dataSchema.ts +++ b/libs/application/templates/inheritance-report/src/lib/dataSchema.ts @@ -167,6 +167,8 @@ export const inheritanceReportSchema = z.object({ }, ), + applicationFor: z.enum(['estateInheritance', 'prePaidInheritance']), + /* assets */ assets: z.object({ realEstate: assetWithShare, diff --git a/libs/application/templates/inheritance-report/src/lib/messages.ts b/libs/application/templates/inheritance-report/src/lib/messages.ts index 1e5c08983eac..d6fd45bedf21 100644 --- a/libs/application/templates/inheritance-report/src/lib/messages.ts +++ b/libs/application/templates/inheritance-report/src/lib/messages.ts @@ -45,6 +45,12 @@ export const m = defineMessages({ defaultMessage: 'Tegund umsóknar', description: 'Get application for', }, + preDataCollectionApplicationFoDescription: { + id: 'ir.application:preDataCollectionApplicationFoDescription#markdown', + defaultMessage: + 'Lorem ipsum dolor sit amet, consectetur adipiscing elit. Donec a ex magna. Aenean varius dui eget consectetur posuere. Pellentesque dignissim nunc id euismod porttitor. Curabitur ut ante pellentesque, rutrum purus in, vestibulum elit. Donec egestas lacus justo.', + description: 'Get application for', + }, preDataCollectionApplicationForPrepaid: { id: 'ir.application:preDataCollectionApplicationForPrepaid', defaultMessage: 'Fyrirframgreiddur arfur', From 921eff9d09e63f2b6cba56eaff234b2b750b6f98 Mon Sep 17 00:00:00 2001 From: albina Date: Wed, 5 Jun 2024 10:57:18 +0000 Subject: [PATCH 05/12] tweaks --- .../src/fields/HeirsAndPartitionRepeater/AdditionalHeir.tsx | 2 +- .../src/fields/HeirsAndPartitionRepeater/index.tsx | 6 ++---- .../inheritance-report/src/lib/InheritanceReportTemplate.ts | 4 ++-- .../templates/inheritance-report/src/lib/dataSchema.ts | 3 ++- 4 files changed, 7 insertions(+), 8 deletions(-) diff --git a/libs/application/templates/inheritance-report/src/fields/HeirsAndPartitionRepeater/AdditionalHeir.tsx b/libs/application/templates/inheritance-report/src/fields/HeirsAndPartitionRepeater/AdditionalHeir.tsx index b65df5ea7048..6b9c73af94e0 100644 --- a/libs/application/templates/inheritance-report/src/fields/HeirsAndPartitionRepeater/AdditionalHeir.tsx +++ b/libs/application/templates/inheritance-report/src/fields/HeirsAndPartitionRepeater/AdditionalHeir.tsx @@ -294,7 +294,7 @@ export const AdditionalHeir = ({ ) : customField.id === 'taxFreeInheritance' && currentHeir?.relation !== - PrePaidHeirsRelationTypes.SPOUSE ? null : ( + 'Maki' ? null : ( heir.enabled && - (heir.relation === 'Maki' || - heir.relation.toLowerCase() === 'spouse'), + (heir.relation === 'Maki'), ) let isSpouse = false @@ -207,8 +206,7 @@ export const HeirsAndPartitionRepeater: FC< if (spouse.length > 0) { if (isPrePaid) { isSpouse = - currentHeir?.relation === 'Maki' || - currentHeir?.relation.toLowerCase() === 'spouse' + currentHeir?.relation === 'Maki' } else { spouse.forEach((currentSpouse) => { isSpouse = diff --git a/libs/application/templates/inheritance-report/src/lib/InheritanceReportTemplate.ts b/libs/application/templates/inheritance-report/src/lib/InheritanceReportTemplate.ts index 8b31f6cfd59a..4f1791214b12 100644 --- a/libs/application/templates/inheritance-report/src/lib/InheritanceReportTemplate.ts +++ b/libs/application/templates/inheritance-report/src/lib/InheritanceReportTemplate.ts @@ -129,10 +129,10 @@ const InheritanceReportTemplate: ApplicationTemplate< status: 'approved', progress: 1, lifecycle: EphemeralStateLifeCycle, - /*onEntry: defineTemplateApi({ + onEntry: defineTemplateApi({ action: ApiActions.completeApplication, throwOnError: true, - }),*/ + }), roles: [ { id: Roles.ESTATE_INHERITANCE_APPLICANT, diff --git a/libs/application/templates/inheritance-report/src/lib/dataSchema.ts b/libs/application/templates/inheritance-report/src/lib/dataSchema.ts index c917310fd5e2..18ef80104d21 100644 --- a/libs/application/templates/inheritance-report/src/lib/dataSchema.ts +++ b/libs/application/templates/inheritance-report/src/lib/dataSchema.ts @@ -9,6 +9,7 @@ import { } from './utils/helpers' import { m } from './messages' import { NO, YES } from '@island.is/application/core' +import { ESTATE_INHERITANCE, PREPAID_INHERITANCE } from './constants' const deceasedShare = { deceasedShare: z.string().nonempty().optional(), @@ -167,7 +168,7 @@ export const inheritanceReportSchema = z.object({ }, ), - applicationFor: z.enum(['estateInheritance', 'prePaidInheritance']), + applicationFor: z.enum([ESTATE_INHERITANCE, PREPAID_INHERITANCE]), /* assets */ assets: z.object({ From f45bb35b808f1f496209c6f48f01b0b94764a157 Mon Sep 17 00:00:00 2001 From: albina Date: Wed, 5 Jun 2024 10:57:31 +0000 Subject: [PATCH 06/12] format --- .../fields/HeirsAndPartitionRepeater/AdditionalHeir.tsx | 3 +-- .../src/fields/HeirsAndPartitionRepeater/index.tsx | 7 ++----- 2 files changed, 3 insertions(+), 7 deletions(-) diff --git a/libs/application/templates/inheritance-report/src/fields/HeirsAndPartitionRepeater/AdditionalHeir.tsx b/libs/application/templates/inheritance-report/src/fields/HeirsAndPartitionRepeater/AdditionalHeir.tsx index 6b9c73af94e0..7867a6942449 100644 --- a/libs/application/templates/inheritance-report/src/fields/HeirsAndPartitionRepeater/AdditionalHeir.tsx +++ b/libs/application/templates/inheritance-report/src/fields/HeirsAndPartitionRepeater/AdditionalHeir.tsx @@ -293,8 +293,7 @@ export const AdditionalHeir = ({ /> ) : customField.id === 'taxFreeInheritance' && - currentHeir?.relation !== - 'Maki' ? null : ( + currentHeir?.relation !== 'Maki' ? null : ( - heir.enabled && - (heir.relation === 'Maki'), + (heir) => heir.enabled && heir.relation === 'Maki', ) let isSpouse = false @@ -205,8 +203,7 @@ export const HeirsAndPartitionRepeater: FC< // it is not possible to select more than one spouse but for now we will check for it anyway if (spouse.length > 0) { if (isPrePaid) { - isSpouse = - currentHeir?.relation === 'Maki' + isSpouse = currentHeir?.relation === 'Maki' } else { spouse.forEach((currentSpouse) => { isSpouse = From 8577755a1cd81c187d96d35b6e12ae0a9406159d Mon Sep 17 00:00:00 2001 From: albina Date: Wed, 5 Jun 2024 11:01:14 +0000 Subject: [PATCH 07/12] prepaid - overview --- .../sections/prepaidInheritance/overview.ts | 24 ++++++++++++++++++- 1 file changed, 23 insertions(+), 1 deletion(-) diff --git a/libs/application/templates/inheritance-report/src/forms/sections/prepaidInheritance/overview.ts b/libs/application/templates/inheritance-report/src/forms/sections/prepaidInheritance/overview.ts index 27d935139cf1..64b6f546f289 100644 --- a/libs/application/templates/inheritance-report/src/forms/sections/prepaidInheritance/overview.ts +++ b/libs/application/templates/inheritance-report/src/forms/sections/prepaidInheritance/overview.ts @@ -10,7 +10,8 @@ import { import { m } from '../../../lib/messages' import { formatCurrency } from '@island.is/application/ui-components' import { InheritanceReport } from '../../../lib/dataSchema' -import { valueToNumber } from '../../../lib/utils/helpers' +import { roundedValueToNumber, valueToNumber } from '../../../lib/utils/helpers' +import { calculateTotalAssets } from '../../../lib/utils/calculateTotalAssets' export const prepaidOverview = buildSubSection({ id: 'prepaidOverview', @@ -21,6 +22,27 @@ export const prepaidOverview = buildSubSection({ title: m.overviewHeirsTitle, description: m.overviewHeirsDescription, children: [ + buildDividerField({}), + buildDescriptionField({ + id: 'overviewAssetsTitle', + title: m.properties, + titleVariant: 'h3', + space: 'gutter', + marginBottom: 'gutter', + }), + buildKeyValueField({ + label: m.netProperty, + display: 'flex', + value: ({ answers }) => + formatCurrency( + String(roundedValueToNumber(calculateTotalAssets(answers))), + ), + }), + buildDescriptionField({ + id: 'space', + title: '', + space: 'gutter', + }), buildDividerField({}), buildCustomField({ title: '', From 64e19456772baecdfc222a7d31814bf5f284d920 Mon Sep 17 00:00:00 2001 From: albina Date: Wed, 5 Jun 2024 11:03:41 +0000 Subject: [PATCH 08/12] application name --- .../inheritance-report/src/lib/InheritanceReportTemplate.ts | 5 +++++ .../templates/inheritance-report/src/lib/messages.ts | 5 +++++ 2 files changed, 10 insertions(+) diff --git a/libs/application/templates/inheritance-report/src/lib/InheritanceReportTemplate.ts b/libs/application/templates/inheritance-report/src/lib/InheritanceReportTemplate.ts index 4f1791214b12..f6c0854ebefc 100644 --- a/libs/application/templates/inheritance-report/src/lib/InheritanceReportTemplate.ts +++ b/libs/application/templates/inheritance-report/src/lib/InheritanceReportTemplate.ts @@ -18,6 +18,7 @@ import { m } from './messages' import { inheritanceReportSchema } from './dataSchema' import { ApiActions, + ESTATE_INHERITANCE, InheritanceReportEvent, PREPAID_INHERITANCE, Roles, @@ -37,6 +38,10 @@ const InheritanceReportTemplate: ApplicationTemplate< ? m.prerequisitesTitle.defaultMessage + ' - ' + m.applicationNamePrepaid.defaultMessage + : answers.applicationFor === ESTATE_INHERITANCE + ? m.prerequisitesTitle.defaultMessage + + ' - ' + + m.applicationNameEstate.defaultMessage : m.prerequisitesTitle.defaultMessage, institution: m.institution, dataSchema: inheritanceReportSchema, diff --git a/libs/application/templates/inheritance-report/src/lib/messages.ts b/libs/application/templates/inheritance-report/src/lib/messages.ts index d6fd45bedf21..6c72740c0424 100644 --- a/libs/application/templates/inheritance-report/src/lib/messages.ts +++ b/libs/application/templates/inheritance-report/src/lib/messages.ts @@ -72,6 +72,11 @@ export const m = defineMessages({ defaultMessage: 'Fyrirframgreiddur arfur', description: '', }, + applicationNameEstate: { + id: 'ir.application:applicationNameEstate', + defaultMessage: 'Dánarbú', + description: '', + }, institutionName: { id: 'ir.application:institution.name', defaultMessage: 'Sýslumenn', From 2269d51e414f7a1dbcc674a43a2167a7204d4034 Mon Sep 17 00:00:00 2001 From: albina Date: Wed, 5 Jun 2024 11:06:23 +0000 Subject: [PATCH 09/12] revert --- .../templates/inheritance-report/src/lib/messages.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/libs/application/templates/inheritance-report/src/lib/messages.ts b/libs/application/templates/inheritance-report/src/lib/messages.ts index 6c72740c0424..6f87b9e136a4 100644 --- a/libs/application/templates/inheritance-report/src/lib/messages.ts +++ b/libs/application/templates/inheritance-report/src/lib/messages.ts @@ -1670,7 +1670,7 @@ export const m = defineMessages({ }, sibling: { id: 'ir.application:sibling', - defaultMessage: 'Systkini', + defaultMessage: 'Systkin', description: '', }, other: { From b5cf3cb8d8c9a74decbe91f4e746604af83532f5 Mon Sep 17 00:00:00 2001 From: albina Date: Wed, 5 Jun 2024 12:31:35 +0000 Subject: [PATCH 10/12] more fixes --- .../src/fields/CalculateShare/index.tsx | 2 +- .../AdditionalHeir.tsx | 9 ++- .../HeirsAndPartitionRepeater/index.tsx | 79 ++++++++----------- .../inheritance-report/src/lib/constants.ts | 2 + .../inheritance-report/src/lib/dataSchema.ts | 9 ++- 5 files changed, 48 insertions(+), 53 deletions(-) diff --git a/libs/application/templates/inheritance-report/src/fields/CalculateShare/index.tsx b/libs/application/templates/inheritance-report/src/fields/CalculateShare/index.tsx index b5152fc0f736..7aa668193463 100644 --- a/libs/application/templates/inheritance-report/src/fields/CalculateShare/index.tsx +++ b/libs/application/templates/inheritance-report/src/fields/CalculateShare/index.tsx @@ -465,7 +465,7 @@ export const CalculateShare: FC> = ({ title={m.netProperty} value={roundedValueToNumber(netTotal)} /> - + {deceasedWasInCohabitation && ( + ) : customField.id === 'taxFreeInheritance' && - currentHeir?.relation !== 'Maki' ? null : ( + ((values.applicationFor === PREPAID_INHERITANCE && + currentHeir?.relation !== RelationSpouse) || + values.applicationFor === ESTATE_INHERITANCE) ? null : ( { return x.relation @@ -66,7 +67,7 @@ export const HeirsAndPartitionRepeater: FC< hasForeignCitizenship && birthDate ? intervalToDuration({ start: new Date(birthDate), end: new Date() }) ?.years - : kennitala.info(member.nationalId)?.age + : info(member.nationalId)?.age return ( (memberAge ?? 0) < 18 && (member?.nationalId || birthDate) && @@ -78,7 +79,7 @@ export const HeirsAndPartitionRepeater: FC< const hasEstateMemberUnder18withoutRep = values.estate?.estateMembers?.some( (member: EstateMember) => { const advocateAge = - member.advocate && kennitala.info(member.advocate.nationalId)?.age + member.advocate && info(member.advocate.nationalId)?.age return ( hasEstateMemberUnder18 && member?.advocate?.nationalId && @@ -106,34 +107,29 @@ export const HeirsAndPartitionRepeater: FC< return [true, null] }) - const { clearErrors } = useFormContext() - const externalData = application.externalData.syslumennOnEntry?.data as { relationOptions: string[] inheritanceReportInfos: Array } - const estateData = - answers.applicationFor === PREPAID_INHERITANCE - ? undefined - : getEstateDataFromApplication(application) - - const inheritanceTaxFreeLimit = - answers.applicationFor === PREPAID_INHERITANCE - ? 0 - : externalData?.inheritanceReportInfos?.[0]?.inheritanceTax - ?.taxExemptionLimit ?? DEFAULT_TAX_FREE_LIMIT - - const relations = - answers.applicationFor === PREPAID_INHERITANCE - ? PrePaidHeirsRelations.map((relation) => ({ - value: formatMessage(relation.label), - label: formatMessage(relation.label), - })) - : externalData?.relationOptions?.map((relation) => ({ - value: relation, - label: relation, - })) || [] + const estateData = isPrePaidApplication + ? undefined + : getEstateDataFromApplication(application) + + const inheritanceTaxFreeLimit = isPrePaidApplication + ? 0 + : externalData?.inheritanceReportInfos?.[0]?.inheritanceTax + ?.taxExemptionLimit ?? DEFAULT_TAX_FREE_LIMIT + + const relations = isPrePaidApplication + ? PrePaidHeirsRelations.map((relation) => ({ + value: formatMessage(relation.label), + label: formatMessage(relation.label), + })) + : externalData?.relationOptions?.map((relation) => ({ + value: relation, + label: relation, + })) || [] const error = ((errors as any)?.heirs?.data || (errors as any)?.heirs?.total) ?? [] @@ -177,11 +173,10 @@ export const HeirsAndPartitionRepeater: FC< const updateValues = useCallback( (updateIndex: string, value: number, index?: number) => { - const isPrePaid = answers.applicationFor === PREPAID_INHERITANCE const numValue = isNaN(value) ? 0 : value const percentage = numValue > 0 ? numValue / 100 : 0 const heirs = getValues()?.heirs?.data as EstateMember[] - let currentHeir = isPrePaid + let currentHeir = isPrePaidApplication ? heirs[index ?? 0] : (getValueViaPath(answers, updateIndex) as EstateMember) @@ -195,15 +190,15 @@ export const HeirsAndPartitionRepeater: FC< // currently we can only check if heir is spouse by relation string value... const spouse = (heirs ?? []).filter( - (heir) => heir.enabled && heir.relation === 'Maki', + (heir) => heir.enabled && heir.relation === RelationSpouse, ) let isSpouse = false // it is not possible to select more than one spouse but for now we will check for it anyway if (spouse.length > 0) { - if (isPrePaid) { - isSpouse = currentHeir?.relation === 'Maki' + if (isPrePaidApplication) { + isSpouse = currentHeir?.relation === RelationSpouse } else { spouse.forEach((currentSpouse) => { isSpouse = @@ -212,7 +207,7 @@ export const HeirsAndPartitionRepeater: FC< } } - const netPropertyForExchange = isPrePaid + const netPropertyForExchange = isPrePaidApplication ? getPrePaidTotalValueFromApplication(application) : valueToNumber(getValueViaPath(answers, 'netPropertyForExchange')) @@ -263,11 +258,6 @@ export const HeirsAndPartitionRepeater: FC< initialLoad() }, [heirsRelations, initialLoad]) - useEffect(() => { - initialLoad() - // eslint-disable-next-line react-hooks/exhaustive-deps - }, []) - useEffect(() => { if (!hasEstateMemberUnder18) { clearErrors(heirAgeValidation) @@ -292,24 +282,21 @@ export const HeirsAndPartitionRepeater: FC< (estateData as any)?.inheritanceReportInfo?.heirs && !(application.answers as any)?.heirs?.hasModified ) { - // Keeping this in for now, it may not be needed, will find out later const heirsData = (estateData as any)?.inheritanceReportInfo?.heirs?.map( (heir: any) => { return { ...heir, - phone: heir.phone ? formatPhoneNumber(heir.phone) : '', //Remove all non-digit characters and keep the last 7 digits + phone: heir.phone ? formatPhoneNumber(heir.phone) : '', initial: true, enabled: true, } }, ) - // ran into a problem with "append", as it appeared to be getting called multiple times - // despite checking on the length of the fields - // so now using "replace" instead, for the initial setup + // ran into a problem with "append" as it appeared to be called multiple times + // using "replace" instead, for the initial setup replace(heirsData) setValue('heirs.hasModified', true) } - // eslint-disable-next-line react-hooks/exhaustive-deps }, []) return ( diff --git a/libs/application/templates/inheritance-report/src/lib/constants.ts b/libs/application/templates/inheritance-report/src/lib/constants.ts index 7567ad223dff..796e0cf6dcb5 100644 --- a/libs/application/templates/inheritance-report/src/lib/constants.ts +++ b/libs/application/templates/inheritance-report/src/lib/constants.ts @@ -18,6 +18,8 @@ export enum PrePaidHeirsRelationTypes { OTHER = 'other', } +export const RelationSpouse = 'Maki' + export const PrePaidHeirsRelations = [ { value: PrePaidHeirsRelationTypes.SPOUSE, diff --git a/libs/application/templates/inheritance-report/src/lib/dataSchema.ts b/libs/application/templates/inheritance-report/src/lib/dataSchema.ts index 18ef80104d21..4132465312d4 100644 --- a/libs/application/templates/inheritance-report/src/lib/dataSchema.ts +++ b/libs/application/templates/inheritance-report/src/lib/dataSchema.ts @@ -9,7 +9,11 @@ import { } from './utils/helpers' import { m } from './messages' import { NO, YES } from '@island.is/application/core' -import { ESTATE_INHERITANCE, PREPAID_INHERITANCE } from './constants' +import { + ESTATE_INHERITANCE, + PREPAID_INHERITANCE, + RelationSpouse, +} from './constants' const deceasedShare = { deceasedShare: z.string().nonempty().optional(), @@ -566,8 +570,7 @@ export const inheritanceReportSchema = z.object({ (v) => { if (v.length > 0) { const count = v.filter( - (x) => - x.enabled && (x.relation === 'Maki' || x.relation === 'Spouse'), + (x) => x.enabled && x.relation === RelationSpouse, )?.length return count <= 1 } From 69ff7197e844e134a146a326f1d654ca3b286b10 Mon Sep 17 00:00:00 2001 From: albina Date: Wed, 5 Jun 2024 14:02:15 +0000 Subject: [PATCH 11/12] taxfree overview --- .../HeirsAndPartitionRepeater/index.tsx | 1 - .../src/fields/HeirsOverview/index.tsx | 59 ++++++++++++++----- .../sections/prepaidInheritance/overview.ts | 8 ++- .../src/lib/utils/helpers.ts | 11 +++- 4 files changed, 62 insertions(+), 17 deletions(-) diff --git a/libs/application/templates/inheritance-report/src/fields/HeirsAndPartitionRepeater/index.tsx b/libs/application/templates/inheritance-report/src/fields/HeirsAndPartitionRepeater/index.tsx index 3620c03b829c..b2a627094f66 100644 --- a/libs/application/templates/inheritance-report/src/fields/HeirsAndPartitionRepeater/index.tsx +++ b/libs/application/templates/inheritance-report/src/fields/HeirsAndPartitionRepeater/index.tsx @@ -577,7 +577,6 @@ export const HeirsAndPartitionRepeater: FC< [] as JSX.Element[], )} {fields.map((member: GenericFormField, index) => { - console.log(error, 'errrrrr') if (member.initial) return null return ( diff --git a/libs/application/templates/inheritance-report/src/fields/HeirsOverview/index.tsx b/libs/application/templates/inheritance-report/src/fields/HeirsOverview/index.tsx index bd99152b61b0..c3fa6e5ec163 100644 --- a/libs/application/templates/inheritance-report/src/fields/HeirsOverview/index.tsx +++ b/libs/application/templates/inheritance-report/src/fields/HeirsOverview/index.tsx @@ -6,16 +6,26 @@ import { InheritanceReport } from '../../lib/dataSchema' import { m } from '../../lib/messages' import { formatCurrency } from '@island.is/application/ui-components' import { format as formatNationalId } from 'kennitala' +import { + ESTATE_INHERITANCE, + PREPAID_INHERITANCE, + RelationSpouse, +} from '../../lib/constants' export const HeirsOverview: FC> = ({ application, }) => { - const heirs = (application.answers as InheritanceReport).heirs?.data + const { answers } = application + const heirs = (answers as InheritanceReport).heirs?.data const { formatMessage } = useLocale() return ( {heirs?.map((heir, index) => { + const showTaxFree = + answers.applicationFor === ESTATE_INHERITANCE || + (answers.applicationFor === PREPAID_INHERITANCE && + heir.relation === RelationSpouse) if (!heir.enabled) return null return ( @@ -60,20 +70,41 @@ export const HeirsOverview: FC> = ({ {formatMessage(m.inheritanceAmount)} {formatCurrency(String(heir.inheritance || '0'))} - - {formatMessage(m.taxFreeInheritance)} - - {formatCurrency(String(heir.taxFreeInheritance || '0'))} - - + {showTaxFree ? ( + + + {formatMessage(m.taxFreeInheritance)} + + + {formatCurrency(String(heir.taxFreeInheritance || '0'))} + + + ) : ( + + + {formatMessage(m.taxableInheritance)} + + + {formatCurrency(String(heir.taxableInheritance || '0'))} + + + )} - - - {formatMessage(m.taxableInheritance)} - - {formatCurrency(String(heir.taxableInheritance || '0'))} - - + + {showTaxFree && ( + + + {formatMessage(m.taxableInheritance)} + + + {formatCurrency(String(heir.taxableInheritance || '0'))} + + + )} {formatMessage(m.inheritanceTax)} diff --git a/libs/application/templates/inheritance-report/src/forms/sections/prepaidInheritance/overview.ts b/libs/application/templates/inheritance-report/src/forms/sections/prepaidInheritance/overview.ts index 64b6f546f289..511a00205550 100644 --- a/libs/application/templates/inheritance-report/src/forms/sections/prepaidInheritance/overview.ts +++ b/libs/application/templates/inheritance-report/src/forms/sections/prepaidInheritance/overview.ts @@ -10,7 +10,11 @@ import { import { m } from '../../../lib/messages' import { formatCurrency } from '@island.is/application/ui-components' import { InheritanceReport } from '../../../lib/dataSchema' -import { roundedValueToNumber, valueToNumber } from '../../../lib/utils/helpers' +import { + roundedValueToNumber, + showTaxFreeInOverview, + valueToNumber, +} from '../../../lib/utils/helpers' import { calculateTotalAssets } from '../../../lib/utils/calculateTotalAssets' export const prepaidOverview = buildSubSection({ @@ -89,6 +93,7 @@ export const prepaidOverview = buildSubSection({ buildKeyValueField({ label: m.taxFreeInheritance, display: 'flex', + condition: showTaxFreeInOverview, value: ({ answers }) => { const total = (answers as InheritanceReport)?.heirs?.data?.reduce( (sum, heir) => sum + valueToNumber(heir.taxFreeInheritance), @@ -102,6 +107,7 @@ export const prepaidOverview = buildSubSection({ id: 'heirs_space3', title: '', space: 'gutter', + condition: showTaxFreeInOverview, }), buildKeyValueField({ label: m.taxableInheritance, diff --git a/libs/application/templates/inheritance-report/src/lib/utils/helpers.ts b/libs/application/templates/inheritance-report/src/lib/utils/helpers.ts index a23a8d7d22d2..c5769bedce58 100644 --- a/libs/application/templates/inheritance-report/src/lib/utils/helpers.ts +++ b/libs/application/templates/inheritance-report/src/lib/utils/helpers.ts @@ -8,9 +8,10 @@ import { import { InheritanceReportInfo } from '@island.is/clients/syslumenn' import { parsePhoneNumberFromString } from 'libphonenumber-js' import { MessageDescriptor } from 'react-intl' -import { boolean, ZodTypeAny } from 'zod' +import { ZodTypeAny } from 'zod' import { Answers } from '../../types' import { ESTATE_INHERITANCE } from '../constants' +import { InheritanceReport } from '../dataSchema' export const currencyStringToNumber = (str: string) => { if (!str) { @@ -203,3 +204,11 @@ export const shouldShowCustomSpouseShare = (answers: FormValue) => export const roundedValueToNumber = (value: unknown) => Math.round(valueToNumber(value)) + +export const showTaxFreeInOverview = (answers: FormValue) => { + const total = (answers as InheritanceReport)?.heirs?.data?.reduce( + (sum, heir) => sum + valueToNumber(heir.taxFreeInheritance), + 0, + ) + return !!total && total > 0 +} From 1718619bdb1f53c55583d7b8458a4b35d480cdfe Mon Sep 17 00:00:00 2001 From: albina Date: Wed, 5 Jun 2024 15:04:09 +0000 Subject: [PATCH 12/12] text tweaks --- .../src/forms/sections/applicationTypeSelection.ts | 2 +- .../sections/prepaidInheritance/inheritanceExecutor.ts | 10 +++------- .../templates/inheritance-report/src/lib/messages.ts | 10 ++++++++++ 3 files changed, 14 insertions(+), 8 deletions(-) diff --git a/libs/application/templates/inheritance-report/src/forms/sections/applicationTypeSelection.ts b/libs/application/templates/inheritance-report/src/forms/sections/applicationTypeSelection.ts index bd94b718869a..10ffd1e7f6fd 100644 --- a/libs/application/templates/inheritance-report/src/forms/sections/applicationTypeSelection.ts +++ b/libs/application/templates/inheritance-report/src/forms/sections/applicationTypeSelection.ts @@ -48,7 +48,7 @@ export const preSelection = buildSection({ application.externalData.syslumennOnEntry?.data as { inheritanceReportInfos: Array } - ).inheritanceReportInfos[0].caseNumber + ).inheritanceReportInfos[0]?.caseNumber }, options: (application) => { return ( diff --git a/libs/application/templates/inheritance-report/src/forms/sections/prepaidInheritance/inheritanceExecutor.ts b/libs/application/templates/inheritance-report/src/forms/sections/prepaidInheritance/inheritanceExecutor.ts index 90377cf923b9..f66bfb20b3a6 100644 --- a/libs/application/templates/inheritance-report/src/forms/sections/prepaidInheritance/inheritanceExecutor.ts +++ b/libs/application/templates/inheritance-report/src/forms/sections/prepaidInheritance/inheritanceExecutor.ts @@ -9,19 +9,15 @@ import { YES, } from '@island.is/application/core' import { m } from '../../../lib/messages' -import { format as formatNationalId } from 'kennitala' -import { Application, UserProfile } from '@island.is/api/schema' -import { removeCountryCode } from '@island.is/application/ui-components' export const inheritanceExecutor = buildSection({ id: 'inheritanceExecutor', - title: 'Arflátar', + title: m.grantors, children: [ buildMultiField({ id: 'inheritanceExecutor', - title: 'Arflátar', - description: - 'Lorem ipsum foo bar beep boop meep morp lorem ipsum foo bar beep boop meep morp lorem ipsum foo bar beep boop meep morp.', + title: m.grantors, + description: m.grantorsDescription, children: [ buildDescriptionField({ id: 'description.executors.executor', diff --git a/libs/application/templates/inheritance-report/src/lib/messages.ts b/libs/application/templates/inheritance-report/src/lib/messages.ts index 6f87b9e136a4..a7ebde5021bc 100644 --- a/libs/application/templates/inheritance-report/src/lib/messages.ts +++ b/libs/application/templates/inheritance-report/src/lib/messages.ts @@ -1474,6 +1474,16 @@ export const m = defineMessages({ defaultMessage: 'Skiptastjóri', description: '', }, + grantors: { + id: 'ir.application:grantors', + defaultMessage: 'Arflátar', + description: '', + }, + grantorsDescription: { + id: 'ir.application:grantorsDescription', + defaultMessage: 'Lorem ipsum foo bar beep boop meep morp.', + description: '', + }, grantor: { id: 'ir.application:grantor', defaultMessage: 'Arfláti',