After your snack
+Take a nap
+diff --git a/.github/CODEOWNERS b/.github/CODEOWNERS index e9c381fd4adc..3614aecc22a3 100644 --- a/.github/CODEOWNERS +++ b/.github/CODEOWNERS @@ -145,6 +145,7 @@ src/applications/hca @department-of-veterans-affairs/1010-health-apps-frontend @ src/applications/ezr @department-of-veterans-affairs/1010-health-apps-frontend @department-of-veterans-affairs/va-platform-cop-frontend src/applications/static-pages/hca-performance-warning @department-of-veterans-affairs/1010-health-apps-frontend @department-of-veterans-affairs/va-platform-cop-frontend src/applications/static-pages/ezr-submission-options @department-of-veterans-affairs/1010-health-apps-frontend @department-of-veterans-affairs/va-platform-cop-frontend +src/applications/static-pages/ezr-tera-alert @department-of-veterans-affairs/1010-health-apps-frontend @department-of-veterans-affairs/va-platform-cop-frontend # Healthcare Experience diff --git a/src/applications/appeals/10182/containers/ConfirmationPage.jsx b/src/applications/appeals/10182/containers/ConfirmationPage.jsx index b9bf22fdfa3f..6af7a592c34b 100644 --- a/src/applications/appeals/10182/containers/ConfirmationPage.jsx +++ b/src/applications/appeals/10182/containers/ConfirmationPage.jsx @@ -1,122 +1,51 @@ -import React, { useEffect, useRef } from 'react'; -import moment from 'moment'; -import PropTypes from 'prop-types'; -import { useSelector } from 'react-redux'; +import React from 'react'; -import { selectProfile } from 'platform/user/selectors'; -import scrollTo from 'platform/utilities/ui/scrollTo'; -import { waitForRenderThenFocus } from 'platform/utilities/ui'; import { CONTACTS } from '@department-of-veterans-affairs/component-library/contacts'; -import { DateSubmitted } from '../../shared/components/DateSubmitted'; -import { IssuesSubmitted } from '../../shared/components/IssuesSubmitted'; -import { getIssuesListItems } from '../../shared/utils/issues'; -import { renderFullName } from '../../shared/utils/data'; - -export const ConfirmationPage = () => { - const alertRef = useRef(null); - - const form = useSelector(state => state.form || {}); - const name = useSelector(state => selectProfile(state)?.userFullName || {}); - - useEffect( - () => { - if (alertRef?.current) { - scrollTo('topScrollElement'); - // delay focus for Safari - waitForRenderThenFocus('h2', alertRef.current); - } - }, - [alertRef], - ); - - const { submission, data } = form; - const issues = data ? getIssuesListItems(data) : []; - const submitDate = moment(submission?.timestamp); - - return ( -
- After we’ve completed our review, we’ll mail you a decision packet - with the details of our decision. -
-- When we’ve completed your review, we will physically mail you a decision - packet that includes details about our decision.{' '} - - Learn more about what happens after you request a review - - . -
- -- You don’t need to do anything unless we send you a letter asking for - more information. If we schedule any exams for you, be sure not to miss - them. -
-
- If you requested an appeal and haven’t heard back from us yet, please
- don’t request another appeal. Call us at{' '}
-
+ When we’ve completed your review, we will physically mail you a decision + packet that includes details about our decision.{' '} + + Learn more about what happens after you request a review -
- Note: It may take 7 to 10 days for your Board Appeal - request to appear online. -
-+ You don’t need to do anything unless we send you a letter asking for more + information. If we schedule any exams for you, be sure not to miss them. +
+
+ If you requested an appeal and haven’t heard back from us yet, please
+ don’t request another appeal. Call us at{' '}
+
+ Note: It may take 7 to 10 days for your Board Appeal + request to appear online. +
+ +); export default ConfirmationPage; diff --git a/src/applications/appeals/10182/tests/containers/ConfirmationPage.unit.spec.jsx b/src/applications/appeals/10182/tests/containers/ConfirmationPage.unit.spec.jsx index e6fd2c723b89..649cc0fa68a9 100644 --- a/src/applications/appeals/10182/tests/containers/ConfirmationPage.unit.spec.jsx +++ b/src/applications/appeals/10182/tests/containers/ConfirmationPage.unit.spec.jsx @@ -105,7 +105,7 @@ describe('Confirmation page', () => {- After we’ve completed our review, we’ll mail you a decision packet - with the details of our decision. -
-If we need more information, we’ll contact you to tell you what other @@ -104,24 +53,8 @@ export const ConfirmationPage = () => { Note: It may take 7 to 10 days for your Supplemental Claim request to appear online.
-- After we’ve completed our review, we’ll mail you a decision packet - with the details of our decision. -
-+ When we’ve completed our review, we’ll mail you a decision packet with + the details of our decision. +
+Take a nap
+We may contact you for more information or documents.
Print this page for your records.
-
diff --git a/src/applications/ezr/components/FormAlerts/TeraRedirectAlert.jsx b/src/applications/ezr/components/FormAlerts/TeraRedirectAlert.jsx
new file mode 100644
index 000000000000..6284ca614352
--- /dev/null
+++ b/src/applications/ezr/components/FormAlerts/TeraRedirectAlert.jsx
@@ -0,0 +1,62 @@
+import React from 'react';
+import { CONTACTS } from '@department-of-veterans-affairs/component-library/contacts';
+
+export const TeraRedirectAlert = () => (
+ <>
+
+ On March 5, 2024, we expanded health care to millions
+ of Veterans.
+
+ Veterans who are enrolled in VA health care can now provide more
+ information about their military service history. We’ll use this
+ information to determine if you may have had exposure to any toxins or
+ other hazards. And we’ll determine if we’ll place you in a higher
+ priority group. This may affect how much (if anything) you’ll have to
+ pay towards the cost of your care.
+
+ These questions are only available on your PDF form at this time. If you
+ want to answer these questions, you’ll need to submit your form by mail
+ or in person.
+ Fill out a Health Benefits Update Form (VA Form 10-10EZR). Send your completed form here:
+ Health Eligibility Center
+ Or you can bring your form to your nearest VA health facility.
+ If you have trouble downloading your application, call our{' '}
+ VA.gov help desk at{' '}
+
- The Paperwork Reduction Act of 1995 requires us to notify
- you that this information collection is in accordance with the clearance
- requirements of Section 3507 of the Paperwork Reduction Act of 1995. We
- may not conduct or sponsor, and you are not required to respond to, a
- collection of information unless it displays a valid OMB number. We
- anticipate that the time expended by all individuals who must complete
- this form will average 24 minutes. This includes the time it will take to
- read instructions, gather the necessary facts and fill out the form.
-
- Privacy Act information: VA is asking you to provide the
- information on this form under 38 U.S.C. Sections 1705,1710, 1712, and
- 1722 in order for VA to determine your eligibility for medical benefits.
- Information you supply may be verified from initial submission forward
- through a computer-matching program. VA may disclose the information that
- you put on the form as permitted by law. VA may make a “routine use”
- disclosure of the information as outlined in the Privacy Act systems of
- records notices and in accordance with the VHA Notice of Privacy
- Practices. Providing the requested information is voluntary, but if any or
- all of the requested information is not provided, it may delay or result
- in denial of your request for health care benefits. Failure to furnish the
- information will not have any effect on any other benefits to which you
- may be entitled. If you provide VA your Social Security Number, VA will
- use it to administer your VA benefits. VA may also use this information to
- identify Veterans and persons claiming or receiving VA benefits and their
- records, and for other purposes authorized or required by law.
-
+ Public Burden Statement: An agency may not conduct or
+ sponsor, and a person is not required to respond to, a collection of
+ information unless it displays a currently valid OMB control number. The
+ OMB control number for this project is {ombNum}, and it expires{' '}
+ {expDate}. Public reporting burden for this collection of information is
+ estimated to average {resBurden} minutes per respondent, per year,
+ including the time for reviewing instructions, searching existing data
+ sources, gathering and maintaining the data needed, and completing and
+ reviewing the collection of information. Send comments regarding this
+ burden estimate and any other aspect of this collection of information,
+ including suggestions for reducing this burden, to VA Reports Clearance
+ Officer at{' '}
+
+ VACOPaperworkReduAct@va.gov
+
+ . Please refer to OMB Control No. {ombNum} in any correspondence. Do not
+ send your completed VA Form 10-10EZ to this email address.
+
+ Privacy Act information: VA is asking you to provide
+ the information on this form under 38 U.S.C. Sections 1705,1710, 1712,
+ and 1722 in order for VA to determine your eligibility for medical
+ benefits. Information you supply may be verified from initial submission
+ forward through a computer-matching program. VA may disclose the
+ information that you put on the form as permitted by law. VA may make a
+ “routine use” disclosure of the information as outlined in the Privacy
+ Act systems of records notices and in accordance with the VHA Notice of
+ Privacy Practices. Providing the requested information is voluntary, but
+ if any or all of the requested information is not provided, it may delay
+ or result in denial of your request for health care benefits. Failure to
+ furnish the information will not have any effect on any other benefits
+ to which you may be entitled. If you provide VA your Social Security
+ Number, VA will use it to administer your VA benefits. VA may also use
+ this information to identify Veterans and persons claiming or receiving
+ VA benefits and their records, and for other purposes authorized or
+ required by law.
+
+ Veterans enrolled in VA health care and expansion of benefits
+
+
+ PO Box 5207
+
+ Janesville, WI 53547-5207
+
You can update this household financial information:
diff --git a/src/applications/ezr/tests/unit/components/FormAlerts/TeraRedirectAlert.unit.spec.js b/src/applications/ezr/tests/unit/components/FormAlerts/TeraRedirectAlert.unit.spec.js new file mode 100644 index 000000000000..53f3db1c10a0 --- /dev/null +++ b/src/applications/ezr/tests/unit/components/FormAlerts/TeraRedirectAlert.unit.spec.js @@ -0,0 +1,15 @@ +import React from 'react'; +import { render } from '@testing-library/react'; +import { expect } from 'chai'; + +import ProcessDescription from '../../../../components/IntroductionPage/ProcessDescription'; + +describe('ezr+ {description} +
+
+ {name}
+
+ {isNextOfKin &&
+ addressLines.length >= 2 &&
+ addressLines.map((line, i) => (
+
+
- The people we’ll contact in an emergency. -
- {renderEmergencyContacts} -- The people you want to represent your health care wishes if needed. -
- {renderNextOfKin} -
Note: If you need help because of domestic violence, call the National
- Domestic Violence hotline 800-799-7233 (TTY: 800-787-3224) or text
- "START" to 88788. Staff are there to help 24 hours a day, 7 days a week.
- All conversations are private and confidential.
+ Domestic Violence hotline
Note: If the Veteran needs help because of domestic violence, call the
- National Domestic Violence hotline 800-799-7233 (TTY: 800-787-3224) or
- text "START" to 88788. Staff are there to help 24 hours a day, 7 days a
- week. All conversations are private and confidential.
+ National Domestic Violence hotline
Note: If the claimant needs help because of domestic violence, call the
- National Domestic Violence hotline 800-799-7233 (TTY: 800-787-3224) or
- text "START" to 88788. Staff are there to help 24 hours a day, 7 days a
- week. All conversations are private and confidential.
+ National Domestic Violence hotline
diff --git a/src/applications/simple-forms/20-10207/config/form.js b/src/applications/simple-forms/20-10207/config/form.js index 54650c3f4c58..56cb30020aba 100644 --- a/src/applications/simple-forms/20-10207/config/form.js +++ b/src/applications/simple-forms/20-10207/config/form.js @@ -10,8 +10,12 @@ import ConfirmationPage from '../containers/ConfirmationPage'; import preparerTypePg from '../pages/preparerType'; import idInfoThirdPartyVetPg from '../pages/idInfoThirdPartyVeteran'; import idInfoThirdPartyNonVetPg from '../pages/idInfoThirdPartyNonVeteran'; -import nameAndDobPg from '../pages/nameAndDateofBirth'; -import idInfoPg from '../pages/idInfo'; +// import nameAndDobPg from '../pages/nameAndDateofBirth'; +// import idInfoPg from '../pages/idInfo'; +import vetNameAndDobPg from '../pages/veteranNameAndDateofBirth'; +import nonVetNameAndDobPg from '../pages/nonVeteranNameAndDateOfBirth'; +import vetIdInfoPg from '../pages/veteranIdInfo'; +import nonVetIdInfoPg from '../pages/nonVeteranIdInfo'; import livingSituationPg from '../pages/livingSituation'; import livingSituationThirdPartyVetPg from '../pages/livingSituationThirdPartyVeteran'; import livingSituationThirdPartyNonVetPg from '../pages/livingSituationThirdPartyNonVeteran'; @@ -19,10 +23,20 @@ import otherHousingRisksPg from '../pages/otherHousingRisks'; import otherHousingRisksThirdPartyVeteran from '../pages/otherHousingRisksThirdPartyVeteran'; import otherHousingRisksThirdPartyNonVeteran from '../pages/otherHousingRisksThirdPartyNonVeteran'; import mailingAddressYesNo from '../pages/mailingAddressYesNo'; -import mailingAddressPg from '../pages/mailingAddress'; -import phoneAndEmailPg from '../pages/phoneAndEmail'; +import mailingAddressYesNo3rdPtyVetPg from '../pages/mailingAddressYesNoThirdPartyVeteran'; +import mailingAddressYesNo3rdPtyNonVetPg from '../pages/mailingAddressYesNoThirdPartyNonVeteran'; +import veteranMailingAddressPg from '../pages/veteranMailingAddress'; +import nonVeteranMailingAddressPg from '../pages/nonVeteranMailingAddress'; +import veteranMailingAddress3rdPtyVetPg from '../pages/veteranMailingAddressThirdPartyVeteran'; +import nonVeteranMailingAddress3rdPtyNonVetPg from '../pages/nonVeteranMailingAddressThirdPartyNonVeteran'; +import veteranPhoneAndEmailPg from '../pages/veteranPhoneAndEmail'; +import nonVeteranPhoneAndEmailPg from '../pages/nonVeteranPhoneAndEmail'; import otherReasonsPg from '../pages/otherReasons'; +import otherReasons3rdPtyVetPg from '../pages/otherReasonsThirdPartyVeteran'; +import otherReasons3rdPtyNonVetPg from '../pages/otherReasonsThirdPartyNonVeteran'; import otherReasonsHomelessPg from '../pages/otherReasonsHomeless'; +import otherReasonsHomeless3rdPtyVetPg from '../pages/otherReasonsHomelessThirdPartyVeteran'; +import otherReasonsHomeless3rdPtyNonVetPg from '../pages/otherReasonsHomelessThirdPartyNonVeteran'; import financialHardshipPg from '../pages/evidenceFinancialHardship'; import terminalIllnessPg from '../pages/evidenceTerminalIllness'; import alsPg from '../pages/evidenceALS'; @@ -31,11 +45,16 @@ import powConfinementPg from '../pages/evidenceConfinement'; import powConfinement2Pg from '../pages/evidenceConfinement2'; import powDocsPg from '../pages/evidencePowDocuments'; import medalAwardPg from '../pages/evidenceMedalAward'; +import medTreatmentPg from '../pages/medicalTreatment'; +import medTreatment3rdPtyVetPg from '../pages/medicalTreatmentThirdPartyVeteran'; +import medTreatment3rdPtyNonVetPg from '../pages/medicalTreatmentThirdPartyNonVeteran'; import { PREPARER_TYPES, SUBTITLE, TITLE } from './constants'; import { getMockData, getPersonalInformationChapterTitle, getLivingSituationChapterTitle, + getContactInfoChapterTitle, + statementOfTruthFullNamePath, } from '../helpers'; // export isLocalhost() to facilitate unit-testing @@ -52,9 +71,7 @@ const mockData = testData.data; const formConfig = { rootUrl: manifest.rootUrl, urlPrefix: '/', - // submitUrl: '/v0/api', - submit: () => - Promise.resolve({ attributes: { confirmationNumber: '123123123' } }), + submitUrl: `${environment.API_URL}/simple_forms_api/v1/simple_forms`, dev: { showNavLinks: !window.Cypress, }, @@ -117,19 +134,60 @@ const formConfig = { personalInformationChapter: { title: ({ formData }) => getPersonalInformationChapterTitle(formData), pages: { - nameAndDateOfBirthPage: { - path: 'name-and-date-of-birth', + // TODO: Refactor for non-veteran story + // nameAndDateOfBirthPage: { + // path: 'name-and-date-of-birth', + // title: 'Name and date of birth', + // uiSchema: nameAndDobPg.uiSchema, + // schema: nameAndDobPg.schema, + // pageClass: 'name-and-date-of-birth', + // }, + // identificationInformationPage: { + // path: 'identification-information', + // title: 'Identification information', + // uiSchema: idInfoPg.uiSchema, + // schema: idInfoPg.schema, + // pageClass: 'identification-information', + // }, + veteranNameAndDateOfBirthPageA: { + depends: formData => + formData.preparerType === PREPARER_TYPES.VETERAN || + formData.preparerType === PREPARER_TYPES.THIRD_PARTY_VETERAN, + path: 'veteran-name-and-date-of-birth-a', + title: 'Name and date of birth', + uiSchema: vetNameAndDobPg.uiSchema, + schema: vetNameAndDobPg.schema, + pageClass: 'veteran-name-and-date-of-birth', + }, + nonVeteranNameAndDateOfBirthPage: { + depends: formData => + formData.preparerType === PREPARER_TYPES.NON_VETERAN || + formData.preparerType === PREPARER_TYPES.THIRD_PARTY_NON_VETERAN, + path: 'non-veteran-name-and-date-of-birth', title: 'Name and date of birth', - uiSchema: nameAndDobPg.uiSchema, - schema: nameAndDobPg.schema, - pageClass: 'name-and-date-of-birth', + uiSchema: nonVetNameAndDobPg.uiSchema, + schema: nonVetNameAndDobPg.schema, + pageClass: 'non-veteran-name-and-date-of-birth', }, - identificationInformationPage: { - path: 'identification-information', + veteranIdentificationInformationPageA: { + depends: formData => + formData.preparerType === PREPARER_TYPES.VETERAN || + formData.preparerType === PREPARER_TYPES.THIRD_PARTY_VETERAN, + path: 'veteran-identification-information-a', title: 'Identification information', - uiSchema: idInfoPg.uiSchema, - schema: idInfoPg.schema, - pageClass: 'identification-information', + uiSchema: vetIdInfoPg.uiSchema, + schema: vetIdInfoPg.schema, + pageClass: 'veteran-identification-information', + }, + nonVeteranIdentificationInformationPage: { + depends: formData => + formData.preparerType === PREPARER_TYPES.NON_VETERAN || + formData.preparerType === PREPARER_TYPES.THIRD_PARTY_NON_VETERAN, + path: 'non-veteran-identification-information', + title: 'Identification information', + uiSchema: nonVetIdInfoPg.uiSchema, + schema: nonVetIdInfoPg.schema, + pageClass: 'non-veteran-identification-information', }, }, }, @@ -198,31 +256,127 @@ const formConfig = { }, }, contactInformationChapter: { - title: 'Your contact information', + title: ({ formData }) => getContactInfoChapterTitle(formData), pages: { mailingAddressYesNoPage: { - depends: formData => formData.livingSituation.NONE, + depends: formData => + formData.livingSituation.NONE && + (formData.preparerType === PREPARER_TYPES.VETERAN || + formData.preparerType === PREPARER_TYPES.NON_VETERAN), path: 'mailing-address-yes-no', title: 'Mailing address yes/no', uiSchema: mailingAddressYesNo.uiSchema, schema: mailingAddressYesNo.schema, - pageClass: 'contact-information', + pageClass: 'mailing-address-yes-no', + }, + mailingAddressYesNoThirdPartyVeteranPage: { + depends: formData => + formData.livingSituation.NONE && + formData.preparerType === PREPARER_TYPES.THIRD_PARTY_VETERAN, + path: 'mailing-address-yes-no-third-party-veteran', + title: 'Mailing address yes/no', + uiSchema: mailingAddressYesNo3rdPtyVetPg.uiSchema, + schema: mailingAddressYesNo3rdPtyVetPg.schema, + pageClass: 'mailing-address-yes-no-third-party-veteran', + }, + mailingAddressYesNoThirdPartyNonVeteranPage: { + depends: formData => + formData.livingSituation.NONE && + formData.preparerType === PREPARER_TYPES.THIRD_PARTY_NON_VETERAN, + path: 'mailing-address-yes-no-third-party-non-veteran', + title: 'Mailing address yes/no', + uiSchema: mailingAddressYesNo3rdPtyNonVetPg.uiSchema, + schema: mailingAddressYesNo3rdPtyNonVetPg.schema, + pageClass: 'mailing-address-yes-no-third-party-non-veteran', + }, + veteranMailingAddressPage: { + depends: formData => + formData.livingSituation.NONE && + formData.mailingAddressYesNo && + formData.preparerType === PREPARER_TYPES.VETERAN, + path: 'veteran-mailing-address', + title: 'Mailing address', + uiSchema: veteranMailingAddressPg.uiSchema, + schema: veteranMailingAddressPg.schema, + pageClass: 'veteran-mailing-address', + }, + nonVeteranMailingAddressPage: { + depends: formData => + formData.livingSituation.NONE && + formData.mailingAddressYesNo && + formData.preparerType === PREPARER_TYPES.NON_VETERAN, + path: 'non-veteran-mailing-address', + title: 'Mailing address', + uiSchema: nonVeteranMailingAddressPg.uiSchema, + schema: nonVeteranMailingAddressPg.schema, + pageClass: 'non-veteran-mailing-address', + }, + veteranMailingAddressThirdPartyVeteranPage: { + depends: formData => + formData.livingSituation.NONE && + formData.mailingAddressYesNo && + formData.preparerType === PREPARER_TYPES.THIRD_PARTY_VETERAN, + path: 'veteran-mailing-address-third-party-veteran', + title: 'Mailing address', + uiSchema: veteranMailingAddress3rdPtyVetPg.uiSchema, + schema: veteranMailingAddress3rdPtyVetPg.schema, + pageClass: 'veteran-mailing-address-third-party-veteran', + }, + nonVeteranMailingAddressThirdPartyNonVeteranPage: { + depends: formData => + formData.livingSituation.NONE && + formData.mailingAddressYesNo && + formData.preparerType === PREPARER_TYPES.THIRD_PARTY_NON_VETERAN, + path: 'non-veteran-mailing-address-third-party-non-veteran', + title: 'Mailing address', + uiSchema: nonVeteranMailingAddress3rdPtyNonVetPg.uiSchema, + schema: nonVeteranMailingAddress3rdPtyNonVetPg.schema, + pageClass: 'non-veteran-mailing-address-third-party-non-veteran', + }, + veteranPhoneAndEmailPage: { + depends: formData => + formData.preparerType === PREPARER_TYPES.VETERAN || + formData.preparerType === PREPARER_TYPES.THIRD_PARTY_VETERAN, + path: 'veteran-phone-and-email', + title: 'Phone and email address', + uiSchema: veteranPhoneAndEmailPg.uiSchema, + schema: veteranPhoneAndEmailPg.schema, + pageClass: 'veteran-phone-and-email', }, - mailingAddressPage: { + nonVeteranPhoneAndEmailPage: { depends: formData => - formData.livingSituation.NONE && formData.mailingAddressYesNo, - path: 'mailing-address', - title: 'Your mailing address', - uiSchema: mailingAddressPg.uiSchema, - schema: mailingAddressPg.schema, - pageClass: 'mailing-address', + formData.preparerType === PREPARER_TYPES.NON_VETERAN || + formData.preparerType === PREPARER_TYPES.THIRD_PARTY_NON_VETERAN, + path: 'non-veteran-phone-and-email', + title: 'Phone and email address', + uiSchema: nonVeteranPhoneAndEmailPg.uiSchema, + schema: nonVeteranPhoneAndEmailPg.schema, + pageClass: 'non-veteran-phone-and-email', }, - phoneAndEmailPage: { - path: 'phone-and-email', - title: 'Your phone and email address', - uiSchema: phoneAndEmailPg.uiSchema, - schema: phoneAndEmailPg.schema, - pageClass: 'phone-and-email', + }, + }, + veteranPersonalInformationChapter: { + title: 'Veteran’s personal information', + pages: { + veteranNameAndDateOfBirthPageB: { + depends: formData => + formData.preparerType === PREPARER_TYPES.NON_VETERAN || + formData.preparerType === PREPARER_TYPES.THIRD_PARTY_NON_VETERAN, + path: 'veteran-name-and-date-of-birth-b', + title: 'Veteran’s name and date of birth', + uiSchema: vetNameAndDobPg.uiSchema, + schema: vetNameAndDobPg.schema, + pageClass: 'veteran-name-and-date-of-birth', + }, + veteranIdentificationInformationPageB: { + depends: formData => + formData.preparerType === PREPARER_TYPES.NON_VETERAN || + formData.preparerType === PREPARER_TYPES.THIRD_PARTY_NON_VETERAN, + path: 'veteran-identification-information-b', + title: 'Veteran’s identification information', + uiSchema: vetIdInfoPg.uiSchema, + schema: vetIdInfoPg.schema, + pageClass: 'veteran-identification-information', }, }, }, @@ -230,21 +384,67 @@ const formConfig = { title: 'Other reasons for request', pages: { otherReasonsPage: { - depends: formData => formData.livingSituation.NONE, + depends: formData => + (formData.preparerType === PREPARER_TYPES.VETERAN || + formData.preparerType === PREPARER_TYPES.NON_VETERAN) && + formData.livingSituation.NONE, path: 'other-reasons', title: 'Other reasons for request', uiSchema: otherReasonsPg.uiSchema, schema: otherReasonsPg.schema, pageClass: 'other-reasons', }, + otherReasonsThirdPartyVeteranPage: { + depends: formData => + formData.preparerType === PREPARER_TYPES.THIRD_PARTY_VETERAN && + formData.livingSituation.NONE, + path: 'other-reasons-third-party-veteran', + title: 'Other reasons for request', + uiSchema: otherReasons3rdPtyVetPg.uiSchema, + schema: otherReasons3rdPtyVetPg.schema, + pageClass: 'other-reasons-third-party-veteran', + }, + otherReasonsThirdPartyNonVeteranPage: { + depends: formData => + formData.preparerType === PREPARER_TYPES.THIRD_PARTY_NON_VETERAN && + formData.livingSituation.NONE, + path: 'other-reasons-third-party-non-veteran', + title: 'Other reasons for request', + uiSchema: otherReasons3rdPtyNonVetPg.uiSchema, + schema: otherReasons3rdPtyNonVetPg.schema, + pageClass: 'other-reasons-third-party-non-veteran', + }, otherReasonsHomelessPage: { - depends: formData => !formData.livingSituation.NONE, + depends: formData => + (formData.preparerType === PREPARER_TYPES.VETERAN || + formData.preparerType === PREPARER_TYPES.NON_VETERAN) && + !formData.livingSituation.NONE, path: 'other-reasons-homeless', title: 'Other reasons for request', uiSchema: otherReasonsHomelessPg.uiSchema, schema: otherReasonsHomelessPg.schema, pageClass: 'other-reasons-homeless', }, + otherReasonsHomelessThirdPartyVeteranPage: { + depends: formData => + formData.preparerType === PREPARER_TYPES.THIRD_PARTY_VETERAN && + !formData.livingSituation.NONE, + path: 'other-reasons-homeless-third-party-veteran', + title: 'Other reasons for request', + uiSchema: otherReasonsHomeless3rdPtyVetPg.uiSchema, + schema: otherReasonsHomeless3rdPtyVetPg.schema, + pageClass: 'other-reasons-homeless-third-party-veteran', + }, + otherReasonsHomelessThirdPartyNonVeteranPage: { + depends: formData => + formData.preparerType === PREPARER_TYPES.THIRD_PARTY_NON_VETERAN && + !formData.livingSituation.NONE, + path: 'other-reasons-homeless-third-party-non-veteran', + title: 'Other reasons for request', + uiSchema: otherReasonsHomeless3rdPtyNonVetPg.uiSchema, + schema: otherReasonsHomeless3rdPtyNonVetPg.schema, + pageClass: 'other-reasons-homeless-third-party-non-veteran', + }, }, }, evidenceChapter: { @@ -324,24 +524,50 @@ const formConfig = { }, }, medicalTreatmentChapter: { - title: '[WIP] Medical treatment', + title: 'Medical treatment', pages: { - page1: { - path: 'medical-treatment-start', - title: '[WIP] Where did you receive medical treatment?', - uiSchema: {}, - schema: { - type: 'object', - properties: { - wipField: { - type: 'string', - }, - }, - }, + medicalTreatmentPage: { + depends: formData => + formData.preparerType === PREPARER_TYPES.VETERAN || + formData.preparerType === PREPARER_TYPES.NON_VETERAN, + title: 'Where did you receive medical treatment?', // for review page (has to be more than one word) + path: 'medical-treatment', + uiSchema: medTreatmentPg.uiSchema, + schema: medTreatmentPg.schema, + pageClass: 'medical-treatment', + }, + medicalTreatmentThirdPartyVeteranPage: { + depends: formData => + formData.preparerType === PREPARER_TYPES.THIRD_PARTY_VETERAN, + title: 'Where did the veteran receive medical treatment?', + path: 'medical-treatment-third-party-veteran', + uiSchema: medTreatment3rdPtyVetPg.uiSchema, + schema: medTreatment3rdPtyVetPg.schema, + pageClass: 'medical-treatment-third-party-veteran', + }, + medicalTreatmentThirdPartyNonVeteranPage: { + depends: formData => + formData.preparerType === PREPARER_TYPES.THIRD_PARTY_NON_VETERAN, + title: 'Where did the claimant receive medical treatment?', + path: 'medical-treatment-third-party-non-veteran', + uiSchema: medTreatment3rdPtyNonVetPg.uiSchema, + schema: medTreatment3rdPtyNonVetPg.schema, + pageClass: 'medical-treatment-third-party-non-veteran', }, }, }, }, + preSubmitInfo: { + statementOfTruth: { + body: + 'I confirm that the identifying information in this form is accurate and has been represented correctly.', + messageAriaDescribedby: + 'I confirm that the identifying information in this form is accurate and has been represented correctly.', + fullNamePath: formData => statementOfTruthFullNamePath({ formData }), + checkboxLabel: + 'I confirm that the information above is correct and true to the best of my knowledge and belief.', + }, + }, footerContent, getHelp, }; diff --git a/src/applications/simple-forms/20-10207/containers/ConfirmationPage.jsx b/src/applications/simple-forms/20-10207/containers/ConfirmationPage.jsx index 10027d5a098d..51504f82a27d 100644 --- a/src/applications/simple-forms/20-10207/containers/ConfirmationPage.jsx +++ b/src/applications/simple-forms/20-10207/containers/ConfirmationPage.jsx @@ -1,83 +1,125 @@ import React from 'react'; import PropTypes from 'prop-types'; -import { format, isValid } from 'date-fns'; -import { connect } from 'react-redux'; +import { connect, useSelector } from 'react-redux'; -import scrollToTop from 'platform/utilities/ui/scrollToTop'; -import { focusElement } from 'platform/utilities/ui'; +import { ConfirmationPageView } from '../../shared/components/ConfirmationPageView'; +import { getSubmitterName } from '../helpers'; -export class ConfirmationPage extends React.Component { - componentDidMount() { - focusElement('h2'); - scrollToTop('topScrollElement'); - } - - render() { - const { form } = this.props; - const { submission, formId, data } = form; - const submitDate = submission.timestamp; - const { fullName } = data; +const content = { + headlineText: 'You’ve submitted your request for priority processing', + nextStepsText: ( + <> +
+ We’ll review your request along with the supporting documents you + provided. And we’ll decide if we can prioritize your request. We’ll + notify you about our decision by mail. +
++ If you are homeless, we’ll try to contact you by phone to get an address + if one was not provided. +
+ > + ), +}; +const childContent = ( ++ If you didn’t upload your additional documents to this request, you should + send your documents by mail as soon as possible. Identify the benefit type + you are requesting priority processing for, then use the corresponding + mailing address: +
+Compensation Claims
+
+ Department of Veterans Affairs Compensation Intake Center
+
+ PO Box 4444
+
+ Janesville, WI 53547-4444
+
+ Pension & Survivors Benefit Claims +
+
+ Department of Veterans Affairs Pension Intake Center
+
+ PO Box 5365
+
+ Janesville, WI 53547-5365
+
Board of Veterans’ Appeals
+
+ Department of Veterans Affairs Board of Veterans’ Appeals
+
+ PO Box 27063
+
+ Washington, DC 20038
+
Fiduciary
+
+ Department of Veterans Affairs Fiduciary Intake Center
+
+ PO Box 5211
+
+ Janesville, WI 53547-5211
+
+ If you’re currently homeless or at urgent risk of homelessness, we + encourage you to call the National Call Center for Homeless Veterans. Call + them at 877-424-3838 (TTY: 711). +
+We may contact you for more information or documents.
-Please print this page for your records.
-
- Date submitted
-
- {format(submitDate, 'MMMM d, yyyy')}
-
{nextStepsText}
+ {typeof nextStepsText === 'string' ? ( +{nextStepsText}
+ ) : ( + nextStepsText + )}+ On March 5, 2024, we expanded health care to + millions of Veterans. +
++ Learn more about the PACT Act and VA health care and benefits + + https://www.va.gov/resources/the-pact-act-and-your-va-benefits/ + +
++ Veterans who are enrolled in VA health care can now answer more + questions about their military service history. We’ll use this + information to determine if you may have had exposure to any toxins + or other hazards. And we’ll determine if we’ll place you in a higher + priority group. This may affect how much (if anything) you’ll have + to pay towards the cost of your care +
++ These questions are only available on our PDF form at this time. If + you want to answer these questions, you’ll need to submit your form + by mail or in person. +
++ On March 5, 2024, we expanded health care to + millions more Veterans. +
++ Learn more about the PACT Act and VA health care and benefits + + https://www.va.gov/resources/the-pact-act-and-your-va-benefits/ + +
++ Veterans who are enrolled in VA health care can now provide more + information about their military service history. +
++ We’ll use this information to determine if you may have had exposure + to any toxins or other hazards. And we’ll also determine if we’ll + place you in a higher priority group. This may affect how much (if + anything) you’ll have to pay towards the cost of your care. +
+Child content lives here.
, -// ...mockServiceProps, -// }; -// const { getByRole, getByText } = render(Child content renders
, -// status: externalServiceStatus.ok, -// ...mockServiceProps, -// }; -// const { getByText } = render(Child content lives here.
, + ...mockServiceProps, + }; + const { getByRole, getByText } = render(Child content renders
, + status: externalServiceStatus.ok, + ...mockServiceProps, + }; + const { getByText } = render(