Skip to content

Commit 1a86891

Browse files
Merge branch 'main' into data-summary-dl
2 parents bcd3213 + c47dee9 commit 1a86891

File tree

43 files changed

+1655
-76
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

43 files changed

+1655
-76
lines changed

frontend/app/.server/locales/estimator-en.json

+3-4
Original file line numberDiff line numberDiff line change
@@ -71,15 +71,15 @@
7171
"single": "To estimate your benefits, we will need the following information from your {{year}} tax return:"
7272
},
7373
"info": {
74-
"CDB": "<strong>CDB:</strong> Canada Disability Benefit",
74+
"CDB": "<dt>CDB:</dt><dd>Canada Disability Benefit</dd>",
7575
"claimed-income": "Income claimed by you (line 11700 and line 12500 of your tax return). If field is left blank, we will assume it is zero.",
7676
"claimed-repayment": "Repayment claimed by you (line 21300 and line 23200 of your tax return). If field is left blank, we will assume it is zero.",
7777
"net-income": "Line 23600 on your tax return. If your net income is negative, enter '0'",
7878
"partner-claimed-income": "Income claimed by your spouse/partner (line 11700 and line 12500 of their tax return). If field is left blank, we will assume it is zero.",
7979
"partner-claimed-repayment": "Repayment claimed by your spouse/partner (line 21300 and line 23200 of their tax return). If field is left blank, we will assume it is zero.",
8080
"partner-net-income": "Line 23600 on your spouse/partners tax return. If your the net income is negative, enter '0'",
81-
"RDSP": "<strong>RDSP:</strong> Registered Disability Savings Plan",
82-
"UCCB": "<strong>UCCB:</strong> Universal Child Care Benefit",
81+
"RDSP": "<dt>RDSP:</dt><dd>Registered Disability Savings Plan</dd>",
82+
"UCCB": "<dt>UCCB:</dt><dd>Universal Child Care Benefit</dd>",
8383
"working-income": {
8484
"items": [
8585
"Employment income (line 10100)",
@@ -116,7 +116,6 @@
116116
"results": {
117117
"contact": " For a more accurate assessment of your estimated benefits amount, please <cdbContactLink>contact us</cdbContactLink>.",
118118
"description": "This estimator provides estimated benefit amounts for payments made between {{paymentPeriodStart}} and {{paymentPeriodEnd}}. Future benefit amounts may be higher. The results are not financial advice and are subject to change.",
119-
"description": "This estimator provides estimated benefit amounts for payments made between July 2025 and June 2026. Future benefit amounts may be higher. The results are not financial advice and are subject to change.",
120119
"header": "About the results"
121120
}
122121
},

frontend/app/.server/locales/estimator-fr.json

+3-3
Original file line numberDiff line numberDiff line change
@@ -71,15 +71,15 @@
7171
"single": "Pour estimer vos prestations, nous aurons besoin des renseignements suivants de votre déclaration de revenus de {{year}}. "
7272
},
7373
"info": {
74-
"CDB": "<strong>PCPH\u00A0:</strong> Prestation canadienne des personnes handicapées",
74+
"CDB": "<dt>PCPH\u00A0:</dt><dd>Prestation canadienne des personnes handicapées</dd>",
7575
"claimed-income": "Revenu que vous avez demandé (ligne 11700 et ligne 12500 de votre déclaration de revenus). Si le champ est laisse vide, nous supposerons qu'il est égal à zéro.",
7676
"claimed-repayment": "Remboursement que vous avez demandé (ligne 21300 et ligne 23200 de votre déclaration de revenus). Si le champ est laisse vide, nous supposerons qu'il est égal à zéro.",
7777
"net-income": "Ligne 23600 de votre déclaration. Si votre revenu net est négatif, entrez '0'",
7878
"partner-claimed-income": "Revenu que votre conjoint a demandé (ligne 11700 et ligne 12500 de leur déclaration de revenus). Si le champ est laisse vide, nous supposerons qu'il est égal à zéro.",
7979
"partner-claimed-repayment": "Remboursement que votre conjoint a demandé (ligne 21300 et ligne 23200 de leur déclaration de revenus). Si le champ est laisse vide, nous supposerons qu'il est égal à zéro.",
8080
"partner-net-income": "Ligne 23600 de la déclaration de votre conjoint.",
81-
"RDSP": "<strong>REEI\u00A0:</strong> Revenus d'un régime enregistré d'épargne-invalidité",
82-
"UCCB": "<strong>PUGE\u00A0:</strong> Prestation universelle pour la garde d'enfants",
81+
"RDSP": "<dt>REEI\u00A0:</dt><dd>Revenus d'un régime enregistré d'épargne-invalidité</dd>",
82+
"UCCB": "<dt>PUGE\u00A0:</dt><dd>Prestation universelle pour la garde d'enfants</dd>",
8383
"working-income": {
8484
"items": [
8585
"Revenus d'emploi (linge 10100)",

frontend/app/i18n-config.client.ts

+1-1
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,7 @@ export async function initI18next(namespace: Namespace): Promise<i18n> {
3434
backend: { loadPath: `/api/translations?ns={{ns}}&lng={{lng}}&v=${BUILD_REVISION}` },
3535
interpolation: { escapeValue: false },
3636
react: {
37-
transKeepBasicHtmlNodesFor: ['br', 'strong', 'i', 'p', 'b', 'em'],
37+
transKeepBasicHtmlNodesFor: ['br', 'strong', 'i', 'p', 'b', 'em', 'dl', 'dt', 'dd'],
3838
},
3939
});
4040

frontend/app/i18n-config.server.ts

+1-1
Original file line numberDiff line numberDiff line change
@@ -83,7 +83,7 @@ export async function initI18next(language?: Language): Promise<i18n> {
8383
throw new AppError(`Missing translation key: ${key}`, ErrorCodes.MISSING_TRANSLATION_KEY);
8484
},
8585
react: {
86-
transKeepBasicHtmlNodesFor: ['br', 'strong', 'i', 'p', 'b', 'em'],
86+
transKeepBasicHtmlNodesFor: ['br', 'strong', 'i', 'p', 'b', 'em', 'dl', 'dt', 'dd'],
8787
},
8888
});
8989

frontend/app/routes/estimator/step-income.tsx

+21-36
Original file line numberDiff line numberDiff line change
@@ -305,15 +305,8 @@ export default function StepIncome({ actionData, loaderData, matches, params }:
305305
<div className="my-4 space-y-4">
306306
<Collapsible summary={<>{t('estimator:income.fields.claimed-income.info-label')}</>}>
307307
<div className="space-y-4">
308-
<p>
309-
<Trans i18nKey={'estimator:income.info.UCCB'} />
310-
</p>
311-
<p>
312-
<Trans i18nKey={'estimator:income.info.RDSP'} />
313-
</p>
314-
<p>
315-
<Trans i18nKey={'estimator:income.info.CDB'} />
316-
</p>
308+
<DefinitionList />
309+
317310
<p>
318311
<Trans i18nKey={'estimator:income.info.claimed-income'} />
319312
</p>
@@ -336,15 +329,7 @@ export default function StepIncome({ actionData, loaderData, matches, params }:
336329
<div className="my-4 space-y-4">
337330
<Collapsible summary={<>{t('estimator:income.fields.claimed-repayment.info-label')}</>}>
338331
<div className="space-y-4">
339-
<p>
340-
<Trans i18nKey={'estimator:income.info.UCCB'} />
341-
</p>
342-
<p>
343-
<Trans i18nKey={'estimator:income.info.RDSP'} />
344-
</p>
345-
<p>
346-
<Trans i18nKey={'estimator:income.info.CDB'} />
347-
</p>
332+
<DefinitionList />
348333
<p>
349334
<Trans i18nKey={'estimator:income.info.claimed-repayment'} />
350335
</p>
@@ -368,15 +353,7 @@ export default function StepIncome({ actionData, loaderData, matches, params }:
368353
<div className="my-4 space-y-4">
369354
<Collapsible summary={<>{t('estimator:income.fields.partner.claimed-income.info-label')}</>}>
370355
<div className="space-y-4">
371-
<p>
372-
<Trans i18nKey={'estimator:income.info.UCCB'} />
373-
</p>
374-
<p>
375-
<Trans i18nKey={'estimator:income.info.RDSP'} />
376-
</p>
377-
<p>
378-
<Trans i18nKey={'estimator:income.info.CDB'} />
379-
</p>
356+
<DefinitionList />
380357
<p>
381358
<Trans i18nKey={'estimator:income.info.partner-claimed-income'} />
382359
</p>
@@ -401,15 +378,7 @@ export default function StepIncome({ actionData, loaderData, matches, params }:
401378
<div className="my-4 space-y-4">
402379
<Collapsible summary={<>{t('estimator:income.fields.partner.claimed-repayment.info-label')}</>}>
403380
<div className="space-y-4">
404-
<p>
405-
<Trans i18nKey={'estimator:income.info.UCCB'} />
406-
</p>
407-
<p>
408-
<Trans i18nKey={'estimator:income.info.RDSP'} />
409-
</p>
410-
<p>
411-
<Trans i18nKey={'estimator:income.info.CDB'} />
412-
</p>
381+
<DefinitionList />
413382
<p>
414383
<Trans i18nKey={'estimator:income.info.partner-claimed-repayment'} />
415384
</p>
@@ -452,4 +421,20 @@ export default function StepIncome({ actionData, loaderData, matches, params }:
452421
</FetcherErrorSummary>
453422
</div>
454423
);
424+
425+
function DefinitionList() {
426+
return (
427+
<dl className="mt-2 space-y-2 [&>div>dd]:ml-2 [&>div>dd]:inline [&>div>dt]:inline [&>div>dt]:font-bold">
428+
<div>
429+
<Trans i18nKey={'estimator:income.info.UCCB'} />
430+
</div>
431+
<div>
432+
<Trans i18nKey={'estimator:income.info.RDSP'} />
433+
</div>
434+
<div>
435+
<Trans i18nKey={'estimator:income.info.CDB'} />
436+
</div>
437+
</dl>
438+
);
439+
}
455440
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,202 @@
1+
<div class="space-y-3">
2+
<div class="mt-10 mb-8">
3+
<h2>Canada Disability Benefit Estimator</h2>
4+
<h1
5+
id="wb-cont"
6+
tabindex="-1"
7+
class="font-lato text-3xl font-bold focus-visible:ring-3 after:mt-2 after:block after:h-1.5 after:w-18 after:bg-red-700"
8+
>
9+
Step 1 of 2: Marital Status
10+
</h1>
11+
</div>
12+
<div>
13+
<form
14+
novalidate=""
15+
data-discover="true"
16+
action="/en/marital-status"
17+
method="post"
18+
>
19+
<div class="space-y-6">
20+
<fieldset
21+
id="input-radios-marital-status"
22+
data-testid="input-radios-marital-status"
23+
>
24+
<legend class="block mb-2" id="input-radios-marital-status-legend">
25+
<span class="font-semibold">What is your marital status?</span>
26+
<span aria-hidden="true">(<!-- -->required<!-- -->)</span>
27+
</legend>
28+
<div
29+
class="mb-2 -max-w-prose text-black"
30+
data-testid="input-field-help-primary-marital-status"
31+
id="input-radios-marital-status-help-primary"
32+
>
33+
<div class="my-4 space-y-4">
34+
<details id="«Rdmlj5»">
35+
<summary
36+
class="cursor-pointer marker:text-blue-900"
37+
id="«Rdmlj5»-summary"
38+
>
39+
<span class="ml-4 inline-block text-blue-900 hover:underline"
40+
>Additional information</span
41+
>
42+
</summary>
43+
<div
44+
id="«Rdmlj5»-content"
45+
class="mt-2 border-l-[6px] border-gray-400 px-6 py-4"
46+
>
47+
<div class="space-y-4">
48+
<p>
49+
<strong>Single:</strong> you are single and another status
50+
does not apply
51+
</p>
52+
<p>
53+
<strong>Divorced:</strong> you were married and are now
54+
legally divorced
55+
</p>
56+
<p>
57+
<strong>Separated:</strong> you have been living apart
58+
from your spouse or common-law partner because of a
59+
breakdown in the relationship for a period of at least 90
60+
days and you have not reconciled.
61+
</p>
62+
<p>
63+
Once you have been separated for 90 days, the effective
64+
day of your separation is the date you started living
65+
apart. You would still be considered to have a spouse or
66+
common-law partner if there is no breakdown in the
67+
relationship and you were living apart for reasons such as
68+
work, studies, or health problems.
69+
</p>
70+
<p>
71+
Note: Generally, you are not considered separated if your
72+
spouse or common-law partner is incarcerated or does not
73+
live in Canada, as long as there is no breakdown in your
74+
relationship
75+
</p>
76+
<p>
77+
<strong>Widowed:</strong> your spouse or common-law
78+
partner is deceased.
79+
</p>
80+
<p>
81+
<strong>Married:</strong> you are legally married to
82+
someone.
83+
</p>
84+
<p>
85+
<strong>Common-law:</strong> you are living in a conjugal
86+
relationship with someone to whom you are not married and
87+
to whom at least one of the following situations applies.
88+
They:
89+
</p>
90+
<ul class="list-disc space-y-2 pl-5">
91+
<li>
92+
have been living with you for at least 12 continuous
93+
months. This includes any period you were separated for
94+
less than 90 days because of a breakdown in your
95+
relationship
96+
</li>
97+
<li>are the parent of your child by birth or adoption</li>
98+
<li>
99+
have custody and control of your child (or had custody
100+
and control immediately before the child turned 19 years
101+
of age) and your child is wholly dependent on that
102+
person for support
103+
</li>
104+
</ul>
105+
</div>
106+
</div>
107+
</details>
108+
</div>
109+
</div>
110+
<ul class="space-y-2">
111+
<li>
112+
<div>
113+
<div class="flex items-center">
114+
<input
115+
type="radio"
116+
id="input-radio-marital-status-option-0"
117+
aria-labelledby="input-radio-marital-status-option-0-label"
118+
class="size-5 border-gray-500 bg-gray-50 text-blue-600 focus:ring-2 focus:ring-blue-500 focus:outline-hidden"
119+
data-testid="input-radio"
120+
aria-describedby="input-radios-marital-status-help-primary"
121+
aria-invalid="false"
122+
aria-required="true"
123+
required=""
124+
name="maritalStatus"
125+
value="single-divorced-separated-or-widowed"
126+
/><label
127+
id="input-radio-marital-status-option-0-label"
128+
for="input-radio-marital-status-option-0"
129+
class="block pl-3 leading-6"
130+
>Single, divorced, separated or widowed</label
131+
>
132+
</div>
133+
</div>
134+
</li>
135+
<li>
136+
<div>
137+
<div class="flex items-center">
138+
<input
139+
type="radio"
140+
id="input-radio-marital-status-option-1"
141+
aria-labelledby="input-radio-marital-status-option-1-label"
142+
class="size-5 border-gray-500 bg-gray-50 text-blue-600 focus:ring-2 focus:ring-blue-500 focus:outline-hidden"
143+
data-testid="input-radio"
144+
aria-describedby="input-radios-marital-status-help-primary"
145+
aria-invalid="false"
146+
aria-required="true"
147+
required=""
148+
name="maritalStatus"
149+
value="married-or-common-law"
150+
/><label
151+
id="input-radio-marital-status-option-1-label"
152+
for="input-radio-marital-status-option-1"
153+
class="block pl-3 leading-6"
154+
>Married or common-law</label
155+
>
156+
</div>
157+
</div>
158+
</li>
159+
</ul>
160+
</fieldset>
161+
</div>
162+
<div
163+
class="mt-8 flex flex-row-reverse flex-wrap items-center justify-end gap-3"
164+
>
165+
<button
166+
class="font-lato inline-flex items-center justify-center rounded border align-middle outline-offset-4 px-5 py-3 text-base border-slate-700 bg-slate-700 text-white hover:bg-sky-800 focus:bg-sky-800 disabled:pointer-events-none disabled:cursor-not-allowed disabled:opacity-70"
167+
data-gc-analytics-customclick="ESDC-EDSC_CDB-PCH:StepMaritalStatus:Next button"
168+
value="next"
169+
id="continue-button"
170+
name="action"
171+
>
172+
Continue</button
173+
><button
174+
class="font-lato inline-flex items-center justify-center rounded border align-middle outline-offset-4 px-5 py-3 text-base border-gray-300 bg-gray-200 text-slate-700 hover:bg-neutral-300 focus:bg-neutral-300 disabled:pointer-events-none disabled:cursor-not-allowed disabled:opacity-70"
175+
data-gc-analytics-customclick="ESDC-EDSC_CDB-PCH:StepMaritalStatus:Previous button"
176+
value="back"
177+
id="back-button"
178+
name="action"
179+
>
180+
Back
181+
</button>
182+
</div>
183+
</form>
184+
</div>
185+
</div>
186+
<section class="mt-16 mb-8">
187+
<h2 class="sr-only">Page details</h2>
188+
<dl id="wb-dtmd" class="space-y-1">
189+
<div class="flex gap-2">
190+
<dt>Screen identifier:</dt>
191+
<dd>EST-0001</dd>
192+
</div>
193+
<div class="flex gap-2">
194+
<dt>Date modified:</dt>
195+
<dd><time>1970-01-01</time></dd>
196+
</div>
197+
<div class="flex gap-2">
198+
<dt>Version:</dt>
199+
<dd>0.0.0-000000-00000000</dd>
200+
</div>
201+
</dl>
202+
</section>

0 commit comments

Comments
 (0)