@mychoice/mychoice-sdk-modules 2.1.88 → 2.2.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/index.js +254 -215
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/insurances/car/pages/quote/sections/VehicleOfferCoverage.d.ts +3 -0
- package/dist/cjs/insurances/car/pages/quote/sections/blocks/VehicleOfferCoverage.d.ts +9 -0
- package/dist/cjs/shared/headers/HeaderDesktop/BeginInsurance.d.ts +3 -0
- package/dist/cjs/shared/headers/HeaderDesktop/index.d.ts +1 -0
- package/dist/cjs/shared/headers/HeaderMobile/BeginInsurance.d.ts +3 -0
- package/dist/cjs/shared/headers/HeaderMobile/index.d.ts +1 -0
- package/dist/esm/index.js +254 -217
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/insurances/car/pages/quote/sections/VehicleOfferCoverage.d.ts +3 -0
- package/dist/esm/insurances/car/pages/quote/sections/blocks/VehicleOfferCoverage.d.ts +9 -0
- package/dist/esm/shared/headers/HeaderDesktop/BeginInsurance.d.ts +3 -0
- package/dist/esm/shared/headers/HeaderDesktop/index.d.ts +1 -0
- package/dist/esm/shared/headers/HeaderMobile/BeginInsurance.d.ts +3 -0
- package/dist/esm/shared/headers/HeaderMobile/index.d.ts +1 -0
- package/dist/index.d.ts +5 -1
- package/package.json +4 -4
package/dist/esm/index.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { jsxs, jsx, Fragment } from 'react/jsx-runtime';
|
|
2
2
|
import { ErrorBoundary } from 'react-error-boundary';
|
|
3
|
-
import { AppTypes, TitleForm, TooltipForm, IconDelete, ColorVariablesTypes, InputTypes, InputForm, InputFormPhone, InputFormEmail, InputFormLicence, SelectForm, getFormattedDate, DateTypes, getDateOptions, ButtonForm, defaultBrokerPhone, DriverPriorityTypes, SizeTypes, ButtonBase, CategoryTypes, ColorTypes, defaultLocalIndex, liabilityOptions, coverageOptions, lossOfUseOptions, liabilityForDamageOptions, limitedWaiverOfDepreciationOptions, OfferDetail, CompanyRoleTypes, OperationHoursInfo, OfferHeader, OfferPrice, ButtonTypes, ButtonVariantTypes, IconDropdownArrow, InsuranceTypes, HeaderNavGroup, ButtonMenu, DeviceTypes, IconLoaderPrimary, getInsuranceType, RequestStatusTypes, formatPostalCode, IconLoaderSecondary, postalCodeFormat, useEffectOnce, carCondition, carStatus, carWinterTiresCheck, carKeepPlace, carUsagePurpose, firstDriveDistanceList, dailyDriveBusinessDistanceList, yearlyDriveDistanceList, numberWithCommas, VehiclePrimaryUseTypes, comprehensiveCoverage, collisionCoverage, maritalStatusOptions, subYearsFromDate, occupationOptions, genderOptions, applicantRelationshipOptions, addYearsToDate, checkDateIsSpecial, DriverLicenceTypes, getDifferenceInYears, getLicenceTypeOptions, getDisabledLicenceTypes, yesNoOptions, addDaysToDate, getMinDate, CheckboxForm, getMinDateByYears, compareDates, insuranceCancellationReasonOptions, DriverListTypes, licenceSuspensionsReasonOptions, trafficTicketsGroupOptions, ValidationStatusTypes, QuoteEdit, homeOwnerTypeOptions, tenantBuildingStructureOptions, condoBuildingStructureOptions, homeBuildingStructureOptions, residentsOptions, insuredYearsOptions, getInsuranceYearsOptions, ApplicantListTypes, claimTypeOptions, exteriorFinishOptions, constructionTypeOptions, garageTypeOptions, getNumericOptions, fireHallDistanceOptions, fireHydrantDistanceOptions, primaryHeatingTypeOptions, auxHeatingTypeOptions, InfoMessage, ppOptions, homeCoverageOptions, homeLiabilityOptions, lifeInsuranceTypeOptions, lifeInsuranceOntarioTypeOptions, lifeCoverageOptions, smokerOptions, MychoiceStep, Step, IconClock, ButtonArrow, DirectionTypes, ButtonTabArrow, ButtonTab, ButtonTabMobile, NavigationCar, NavigationPerson, NavigationDiscount, NavigationQuotes, NavigationAddress, NavigationProperty, ModalTypes } from '@mychoice/mychoice-sdk-components';
|
|
3
|
+
import { AppTypes, isMyChoiceLike, TitleForm, TooltipForm, IconDelete, ColorVariablesTypes, InputTypes, InputForm, InputFormPhone, InputFormEmail, InputFormLicence, SelectForm, getFormattedDate, DateTypes, getDateOptions, ButtonForm, defaultBrokerPhone, DriverPriorityTypes, SizeTypes, ButtonBase, CategoryTypes, ColorTypes, defaultLocalIndex, liabilityOptions, coverageOptions, lossOfUseOptions, liabilityForDamageOptions, limitedWaiverOfDepreciationOptions, OfferDetail, CompanyRoleTypes, OperationHoursInfo, OfferHeader, OfferPrice, ButtonTypes, ButtonVariantTypes, IconDropdownArrow, InsuranceTypes, HeaderNavGroup, ButtonMenu, DeviceTypes, IconLoaderPrimary, getInsuranceType, RequestStatusTypes, formatPostalCode, IconLoaderSecondary, postalCodeFormat, useEffectOnce, carCondition, carStatus, carWinterTiresCheck, carKeepPlace, carUsagePurpose, firstDriveDistanceList, dailyDriveBusinessDistanceList, yearlyDriveDistanceList, numberWithCommas, VehiclePrimaryUseTypes, comprehensiveCoverage, collisionCoverage, maritalStatusOptions, subYearsFromDate, occupationOptions, genderOptions, applicantRelationshipOptions, addYearsToDate, checkDateIsSpecial, DriverLicenceTypes, getDifferenceInYears, getLicenceTypeOptions, getDisabledLicenceTypes, yesNoOptions, addDaysToDate, getMinDate, CheckboxForm, getMinDateByYears, compareDates, insuranceCancellationReasonOptions, DriverListTypes, licenceSuspensionsReasonOptions, trafficTicketsGroupOptions, ValidationStatusTypes, getPlaceholderEmail, QuoteEdit, homeOwnerTypeOptions, tenantBuildingStructureOptions, condoBuildingStructureOptions, homeBuildingStructureOptions, residentsOptions, insuredYearsOptions, getInsuranceYearsOptions, ApplicantListTypes, claimTypeOptions, exteriorFinishOptions, constructionTypeOptions, garageTypeOptions, getNumericOptions, fireHallDistanceOptions, fireHydrantDistanceOptions, primaryHeatingTypeOptions, auxHeatingTypeOptions, InfoMessage, ppOptions, homeCoverageOptions, homeLiabilityOptions, lifeInsuranceTypeOptions, lifeInsuranceOntarioTypeOptions, lifeCoverageOptions, smokerOptions, MychoiceStep, Step, IconClock, ButtonArrow, DirectionTypes, ButtonTabArrow, ButtonTab, ButtonTabMobile, NavigationCar, NavigationPerson, NavigationDiscount, NavigationQuotes, NavigationAddress, NavigationProperty, ModalTypes } from '@mychoice/mychoice-sdk-components';
|
|
4
4
|
import { useStoreAppConfig, useStoreFormCarVehicle, useStoreFormCarDriverBase, useStoreFormCarDiscount, StoreFormCarDiscountActionTypes, useStoreFormCarQuote, CarQuoteDataHandler, useValidationCarDiscount, StoreFormCarVehicleActionTypes, useStorePartner, useStoreDeviceType, useStoreAppLoader, useStoreAppModal, StoreConfigAppModalActionTypes, useHandlerPostal, useHandlerCarMake, useHandlerCarModel, useProvince, useValidationVehicle, StoreFormCarDriverBaseActionTypes, useStoreFormCarConfig, useStoreFormCarDriverInfo, StoreFormCarDriverInfoActionTypes, useStoreFormCarDriverLicence, addDayToDate, StoreFormCarDriverLicenceActionTypes, useStoreFormCarDriverInsurance, StoreFormCarDriverInsuranceActionTypes, useStoreFormCarDriverCancellation, StoreFormCarDriverCancellationActionTypes, useStoreFormCarDriverSuspension, StoreFormCarDriverSuspensionActionTypes, useStoreFormCarDriverAccident, StoreFormCarDriverAccidentActionTypes, useStoreFormCarDriverTicket, StoreFormCarDriverTicketActionTypes, useValidationDriver, useHandlerCarQuoterEmail, useStoreFormHomeDwelling, useStoreFormHomePostal, useStoreFormHomeApplicantBase, StoreFormHomePostalActionTypes, StoreFormHomeDwellingActionTypes, StoreConfigAppConfigActionTypes, StoreFormHomeApplicantBaseActionTypes, useValidationAddress, useStoreFormHomeApplicantInfo, useStoreFormHomeDiscount, StoreFormHomeDiscountActionTypes, StoreFormHomeApplicantInfoActionTypes, useStoreFormHomeApplicantInsurance, StoreFormHomeApplicantInsuranceActionTypes, useStoreFormHomeApplicantCancellation, StoreFormHomeApplicantCancellationActionTypes, useStoreFormHomeApplicantClaim, StoreFormHomeApplicantClaimActionTypes, useValidationApplicant, useValidationDwelling, useStoreFormHomeQuote, HomeQuoteDataHandler, useValidationHomeDiscount, useHandlerHomeQuoterEmail, useStoreFormLifeCoverage, StoreFormLifeCoverageActionTypes, useValidationCoverage, useStoreFormLifeQuote, useStoreFormLifeApplicant, LifeQuoteDataHandler, useValidationLifeApplicant, useHandlerLifeQuoterEmail, StoreFormLifeApplicantActionTypes, useStoreFormCarPostal, useStoreFormLifePostal, ClearFormDataHandler, useStoreAppDevice, useStoreClient, useHandlerAuth, useHandlerPartner, StoreConfigAppLoaderActionTypes, StoreFormCarConfigActionTypes, StoreFormCarPostalActionTypes, StoreFormCarQuoteActionTypes, StoreFormHomeQuoteActionTypes, StoreFormLifePostalActionTypes, StoreFormLifeQuoteActionTypes, StoreClientActionTypes, StoreConfigAppDeviceActionTypes, StoreProvider, initHttpResponse } from '@mychoice/mychoice-sdk-store';
|
|
5
5
|
import { useNavigate, useLocation, BrowserRouter, Routes, Route, Navigate } from 'react-router-dom';
|
|
6
6
|
import React, { useState, useCallback, useEffect, useRef, useMemo } from 'react';
|
|
@@ -12,13 +12,11 @@ import TagManager from 'react-gtm-module';
|
|
|
12
12
|
import 'react-phone-input-2/lib/style.css';
|
|
13
13
|
|
|
14
14
|
const LabelFormBox = (props) => {
|
|
15
|
-
const { name, className, title, subTitle, description, isRemovable, onIconClick, isActive
|
|
16
|
-
const { appConfigState: { appType } } = useStoreAppConfig();
|
|
15
|
+
const { name, className, title, subTitle, description, isRemovable, onIconClick, isActive } = props;
|
|
16
|
+
const { appConfigState: { appType }, } = useStoreAppConfig();
|
|
17
17
|
const isThebig = appType === AppTypes.TheBig;
|
|
18
|
-
const isMychoice = appType
|
|
19
|
-
return (jsxs("div", { className: `label-container ${className}`, children: [jsx(TitleForm, { className: isThebig ? 'thebig-medium' : '', title: title, subTitle: subTitle, isActive: isActive }),
|
|
20
|
-
&& jsx(TooltipForm, { id: `${name.toLowerCase()}-tooltip`, description: description, color: isMychoice ? '#F7C2D9' : '' }), isRemovable
|
|
21
|
-
&& (jsx(IconDelete, { className: "icon-label-delete", onClick: onIconClick, color: ColorVariablesTypes.Primary, height: "1.125rem", width: "1.125rem" }))] }));
|
|
18
|
+
const isMychoice = isMyChoiceLike(appType);
|
|
19
|
+
return (jsxs("div", { className: `label-container ${className}`, children: [jsx(TitleForm, { className: isThebig ? 'thebig-medium' : '', title: title, subTitle: subTitle, isActive: isActive }), name && description && (jsx(TooltipForm, { id: `${name.toLowerCase()}-tooltip`, description: description, color: isMychoice ? '#F7C2D9' : '' })), isRemovable && (jsx(IconDelete, { className: "icon-label-delete", onClick: onIconClick, color: ColorVariablesTypes.Primary, height: "1.125rem", width: "1.125rem" }))] }));
|
|
22
20
|
};
|
|
23
21
|
LabelFormBox.defaultProps = {
|
|
24
22
|
className: '',
|
|
@@ -109,11 +107,11 @@ DateSelectFormBox.defaultProps = {
|
|
|
109
107
|
};
|
|
110
108
|
|
|
111
109
|
const SwitchButtonBox = (props) => {
|
|
112
|
-
const { name, title, description, hintMessage, isRemovable, errorMessage, className, defaultValue, items, onChange
|
|
110
|
+
const { name, title, description, hintMessage, isRemovable, errorMessage, className, defaultValue, items, onChange } = props;
|
|
113
111
|
const [activeId, setActiveId] = useState(defaultValue);
|
|
114
|
-
const { appConfigState: { appType } } = useStoreAppConfig();
|
|
112
|
+
const { appConfigState: { appType }, } = useStoreAppConfig();
|
|
115
113
|
const isTheBig = appType === AppTypes.TheBig;
|
|
116
|
-
const isMychoice = appType
|
|
114
|
+
const isMychoice = isMyChoiceLike(appType);
|
|
117
115
|
const setClassNames = (isActive) => {
|
|
118
116
|
if (isTheBig) {
|
|
119
117
|
return isActive ? 'thebig-bold' : 'thebig-regular';
|
|
@@ -223,9 +221,14 @@ const BlockVehLinks = () => {
|
|
|
223
221
|
};
|
|
224
222
|
|
|
225
223
|
const BlockNextPageInfo$2 = () => {
|
|
226
|
-
const { appConfigState: { appType } } = useStoreAppConfig();
|
|
227
|
-
|
|
228
|
-
|
|
224
|
+
const { appConfigState: { appType }, } = useStoreAppConfig();
|
|
225
|
+
if (appType === AppTypes.TheBig) {
|
|
226
|
+
return (jsx("div", { className: "privacy-policy", children: jsxs("p", { children: [jsx("span", { children: "DISCLAIMER: " }), "As insurance premiums are based on the information you provide it is important that it be 100% accurate and up to date. If you are not sure it is best to check before completing your quote."] }) }));
|
|
227
|
+
}
|
|
228
|
+
if (appType === AppTypes.MyChoice) {
|
|
229
|
+
return (jsxs(Fragment, { children: [jsx("h5", { children: "On the next page, you will also be able to:" }), jsxs("div", { className: "next-page-points", children: [jsx("p", { children: "1. See what rates insurance carriers are offering" }), jsx("p", { children: "2. Get in touch with a broker and secure your rate" }), jsx("p", { children: "3. Potentially save more by speaking with a broker" })] }), jsx("div", { className: "privacy-policy", children: jsxs("p", { children: ["Once you submit this form, you are agreeing to have your insurance quote sent to you via email and My Choice will provide your contact information to one of our trusted broker partners, who will contact you after your quote is complete to further assist you in securing your best rate. For more details, see our", jsx("a", { href: "https://www.mychoice.ca/privacy-policy/", children: " Privacy Policy" }), "."] }) })] }));
|
|
230
|
+
}
|
|
231
|
+
return null;
|
|
229
232
|
};
|
|
230
233
|
|
|
231
234
|
const BlockSubmit$2 = ({ className, label, buttonSize, isRecalc = false, }) => {
|
|
@@ -378,8 +381,8 @@ const OfferSection = ({ offerCompany, brokerCompany, offerPrice, phoneNumber, is
|
|
|
378
381
|
const { appConfigState: { appType }, } = useStoreAppConfig();
|
|
379
382
|
const { postRequestQuoteOnliaUrl } = CarQuoteDataHandler();
|
|
380
383
|
const isTheBig = appType === AppTypes.TheBig;
|
|
381
|
-
const isMyChoice = appType
|
|
382
|
-
const mychoiceCls = appType
|
|
384
|
+
const isMyChoice = isMyChoiceLike(appType);
|
|
385
|
+
const mychoiceCls = isMyChoiceLike(appType) ? 'mychoice' : '';
|
|
383
386
|
const { weekdayHours, saturdayHours, sundayHours } = operationHours;
|
|
384
387
|
const [detailsIsOpen, setDetailsIsOpenIsOpen] = useState(isBestOffer ?? false);
|
|
385
388
|
const handleDropdownClick = () => {
|
|
@@ -415,66 +418,73 @@ OfferSection.defaultProps = {
|
|
|
415
418
|
isBestOffer: false,
|
|
416
419
|
};
|
|
417
420
|
|
|
418
|
-
var logo = "data:image/png;base64,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";
|
|
421
|
+
var logo$1 = "data:image/png;base64,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";
|
|
419
422
|
|
|
420
|
-
const TITLE = {
|
|
423
|
+
var logo = "data:image/png;base64,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";
|
|
424
|
+
|
|
425
|
+
const TITLE_MYCHOICE = {
|
|
421
426
|
car: 'Hello Canadian Drivers, Welcome to MyChoice!',
|
|
422
427
|
home: 'Hello Canadian Residents, Welcome to MyChoice!',
|
|
423
428
|
life: 'Hello Canadian Residents, Welcome to MyChoice!',
|
|
424
429
|
};
|
|
425
|
-
const
|
|
430
|
+
const TITLE_BEGIN = {
|
|
431
|
+
car: 'Hello Canadian Drivers, Welcome to Begin Insurance!',
|
|
432
|
+
home: 'Hello Canadian Residents, Welcome to Begin Insurance!',
|
|
433
|
+
life: 'Hello Canadian Residents, Welcome to Begin Insurance!',
|
|
434
|
+
};
|
|
435
|
+
const TEXT_MYCHOICE = {
|
|
426
436
|
car: 'Our apologies but unfortunately, we are unable to provide you with an auto insurance rate in your home province at this current time however we are actively working on adding partners to our platform who will be able to provide you with a rate in the near future! Please check back with us at a later date, in the meantime, drive safely!',
|
|
427
437
|
home: 'Our apologies but unfortunately, we are unable to provide you with an property insurance rate in your home province at this current time however we are actively working on adding partners to our platform who will be able to provide you with a rate in the near future! Please check back with us at a later date, in the meantime, stay safe!',
|
|
428
438
|
life: 'Our apologies, but at this time, none of our insurance partners offer any life insurance products that match the combination of your age, product type, and desired coverage amount you selected. As you shop around, it’s important to note that once you reach a certain age, life insurance options become more limited, as many providers have stricter eligibility criteria for older applicants. We encourage you to consider selecting a different product or coverage amount and try again.',
|
|
429
439
|
};
|
|
440
|
+
const TEXT_BEGIN = {
|
|
441
|
+
car: 'Our apologies but unfortunately, we are unable to provide you with an auto insurance rate in your home province at this current time however we are actively working on adding partners to our platform who will be able to provide you with a rate in the near future! Please check back with us at a later date, in the meantime, drive safely!',
|
|
442
|
+
home: 'Our apologies but unfortunately, we are unable to provide you with an property insurance rate in your home province at this current time however we are actively working on adding partners to our platform who will be able to provide you with a rate in the near future! Please check back with us at a later date, in the meantime, stay safe!',
|
|
443
|
+
life: 'Our apologies, but at this time, none of our insurance partners offer any life insurance products that match the combination of your age, product type, and desired coverage amount you selected. As you shop around, it is important to note that once you reach a certain age, life insurance options become more limited, as many providers have stricter eligibility criteria for older applicants. We encourage you to consider selecting a different product or coverage amount and try again.',
|
|
444
|
+
};
|
|
430
445
|
const NoQuotesMessage = ({ type }) => {
|
|
431
446
|
const { appConfigState: { appType }, } = useStoreAppConfig();
|
|
432
|
-
if (appType
|
|
447
|
+
if (!isMyChoiceLike(appType))
|
|
433
448
|
return null;
|
|
434
|
-
|
|
449
|
+
const isBegin = appType === AppTypes.BeginInsurance;
|
|
450
|
+
const logo$2 = isBegin ? logo : logo$1;
|
|
451
|
+
const title = isBegin ? TITLE_BEGIN[type] : TITLE_MYCHOICE[type];
|
|
452
|
+
const text = isBegin ? TEXT_BEGIN[type] : TEXT_MYCHOICE[type];
|
|
453
|
+
const altText = isBegin ? 'Begin Insurance' : 'My Choice';
|
|
454
|
+
return (jsxs("div", { className: "offer-section mychoice", children: [jsx("div", { style: { width: '100%' }, children: jsx("img", { src: logo$2, alt: altText, style: { width: '120px' } }) }), jsx("p", { children: jsx("h3", { style: { whiteSpace: 'normal' }, children: title }) }), jsx("p", { style: { lineHeight: '1.25rem' }, children: text })] }));
|
|
435
455
|
};
|
|
436
456
|
|
|
437
457
|
const usePathGroups = (insuranceType) => {
|
|
438
458
|
const { appConfigState } = useStoreAppConfig();
|
|
459
|
+
const { localIndex, appType } = appConfigState;
|
|
439
460
|
const insurancePathGroup = {
|
|
440
|
-
[`${InsuranceTypes.Car}`]: [{ name: 'Car', link: `/${
|
|
441
|
-
[`${InsuranceTypes.Home}`]: [{ name: 'Home', link: `/${
|
|
442
|
-
// @todo: will be used in future
|
|
443
|
-
// [`${InsuranceTypes.Life}`]: [{ name: 'Life', link: `/${appConfigState.localIndex}/life` }],
|
|
461
|
+
[`${InsuranceTypes.Car}`]: [{ name: 'Car', link: `/${localIndex}/car` }],
|
|
462
|
+
[`${InsuranceTypes.Home}`]: [{ name: 'Home', link: `/${localIndex}/home` }],
|
|
444
463
|
};
|
|
445
|
-
|
|
464
|
+
// Begin Insurance only shows Auto and Home
|
|
465
|
+
const beginInsurancePathGroup = [
|
|
466
|
+
{ name: 'Auto', link: '/insurance/car' },
|
|
467
|
+
{ name: 'Home', link: '/insurance/home' },
|
|
468
|
+
];
|
|
469
|
+
// MyChoice shows all options including Life and Learn
|
|
470
|
+
const myChoicePathGroup = [
|
|
446
471
|
{ name: 'Car', link: '/insurance/car' },
|
|
447
472
|
{ name: 'Home', link: '/insurance/home' },
|
|
448
473
|
{ name: 'Life', link: '/insurance/life' },
|
|
449
474
|
{ name: 'Learn', link: 'https://www.mychoice.ca/blog/' },
|
|
450
475
|
];
|
|
451
|
-
|
|
452
|
-
// const loggedOutPathGroup = [
|
|
453
|
-
// { name: 'Login', link: '/accounts/signin' },
|
|
454
|
-
// { name: 'Signup', link: '/accounts/signup' },
|
|
455
|
-
// ];
|
|
456
|
-
//
|
|
457
|
-
// const loggedInPathGroup = [
|
|
458
|
-
// { name: 'My Profile', link: '/accounts/myProfile' },
|
|
459
|
-
// { name: 'Quotes History', link: '/accounts/quotes/history' },
|
|
460
|
-
// { name: 'Logout', link: '/accounts/logout' },
|
|
461
|
-
// ];
|
|
476
|
+
const externalPathGroup = appType === AppTypes.BeginInsurance ? beginInsurancePathGroup : myChoicePathGroup;
|
|
462
477
|
return {
|
|
463
478
|
insurancePathGroup: insurancePathGroup[insuranceType],
|
|
464
479
|
externalPathGroup,
|
|
465
|
-
// loggedOutPathGroup,
|
|
466
|
-
// loggedInPathGroup,
|
|
467
480
|
};
|
|
468
481
|
};
|
|
469
482
|
|
|
470
|
-
const HeaderMyChoice = ({ className
|
|
483
|
+
const HeaderMyChoice = ({ className }) => {
|
|
471
484
|
const { appConfigState: { insuranceType }, } = useStoreAppConfig();
|
|
472
|
-
const insuranceTypeCls = insuranceType !== InsuranceTypes.Car &&
|
|
473
|
-
insuranceType !== InsuranceTypes.Life
|
|
474
|
-
? InsuranceTypes.Home
|
|
475
|
-
: insuranceType;
|
|
485
|
+
const insuranceTypeCls = insuranceType !== InsuranceTypes.Car && insuranceType !== InsuranceTypes.Life ? InsuranceTypes.Home : insuranceType;
|
|
476
486
|
const { externalPathGroup } = usePathGroups(insuranceTypeCls);
|
|
477
|
-
return (jsx("div", { className: `${className} primary-header`, children: jsxs("div", { className: "content", children: [jsx("div", { className: "logo", children: jsx("a", { href: "https://www.mychoice.ca/", rel: "noreferrer", children: jsx("img", { src: logo, alt: "logotype" }) }) }), jsx("div", { className: "nav-links", children: jsx(HeaderNavGroup, { className: insuranceTypeCls, navItems: externalPathGroup, isExternal: true }) }), jsx("div", { className: "empty-box" })] }) }));
|
|
487
|
+
return (jsx("div", { className: `${className} primary-header`, children: jsxs("div", { className: "content", children: [jsx("div", { className: "logo", children: jsx("a", { href: "https://www.mychoice.ca/", rel: "noreferrer", children: jsx("img", { src: logo$1, alt: "logotype" }) }) }), jsx("div", { className: "nav-links", children: jsx(HeaderNavGroup, { className: insuranceTypeCls, navItems: externalPathGroup, isExternal: true }) }), jsx("div", { className: "empty-box" })] }) }));
|
|
478
488
|
};
|
|
479
489
|
HeaderMyChoice.defaultProps = {
|
|
480
490
|
className: '',
|
|
@@ -482,30 +492,53 @@ HeaderMyChoice.defaultProps = {
|
|
|
482
492
|
|
|
483
493
|
const HeaderPartner = ({ className }) => {
|
|
484
494
|
const { partnerState } = useStorePartner();
|
|
485
|
-
return (jsx("div", { className: `${className} primary-header-partner`, children: jsxs("div", { className: "content", children: [jsx("a", { href: partnerState.redirectUrl || 'https://www.mychoice.ca/', target: "_blank", rel: "noreferrer", children: jsx("img", { src: partnerState.logo ||
|
|
495
|
+
return (jsx("div", { className: `${className} primary-header-partner`, children: jsxs("div", { className: "content", children: [jsx("a", { href: partnerState.redirectUrl || 'https://www.mychoice.ca/', target: "_blank", rel: "noreferrer", children: jsx("img", { src: partnerState.logo ||
|
|
496
|
+
'https://s3.amazonaws.com/mychoice-logos-dev/partners/newpartner/AE1C9160-F0AD-4969-BEBB-86EBFA7CF2E7.png', alt: "new-partner-logotype" }) }), jsx("div", {})] }) }));
|
|
486
497
|
};
|
|
487
498
|
|
|
488
499
|
var theBigLogotype = "data:image/png;base64,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";
|
|
489
500
|
|
|
490
|
-
const HeaderTheBig = ({ textBack, className
|
|
501
|
+
const HeaderTheBig = ({ textBack, className }) => (jsx("div", { className: `${className} primary-header-thebig`, children: jsxs("div", { className: "content", children: [jsx("div", { className: "logo", children: jsx("img", { src: theBigLogotype, alt: "thebig-logotype" }) }), jsx("a", { href: "https://www.thebig.ca/", target: "_blank", rel: "noreferrer", children: jsxs("div", { className: "back-button", children: [jsx("div", { className: "back-icon" }), jsx("h2", { children: textBack })] }) })] }) }));
|
|
491
502
|
HeaderTheBig.defaultProps = {
|
|
492
503
|
className: '',
|
|
493
504
|
};
|
|
494
505
|
|
|
495
|
-
const
|
|
496
|
-
const { appConfigState: { insuranceType } } = useStoreAppConfig();
|
|
506
|
+
const HeaderBeginInsurance = ({ className }) => {
|
|
507
|
+
const { appConfigState: { insuranceType }, } = useStoreAppConfig();
|
|
508
|
+
const insuranceTypeCls = insuranceType !== InsuranceTypes.Car && insuranceType !== InsuranceTypes.Life ? InsuranceTypes.Home : insuranceType;
|
|
509
|
+
const { externalPathGroup } = usePathGroups(insuranceTypeCls);
|
|
510
|
+
return (jsx("div", { className: `${className} primary-header`, children: jsxs("div", { className: "content", children: [jsx("div", { className: "logo", children: jsx("a", { href: "https://www.begininsurance.com/", rel: "noreferrer", children: jsx("img", { src: logo, alt: "Begin Insurance" }) }) }), jsx("div", { className: "nav-links", children: jsx(HeaderNavGroup, { className: insuranceTypeCls, navItems: externalPathGroup, isExternal: true }) }), jsx("div", { className: "empty-box" })] }) }));
|
|
511
|
+
};
|
|
512
|
+
HeaderBeginInsurance.defaultProps = {
|
|
513
|
+
className: '',
|
|
514
|
+
};
|
|
515
|
+
|
|
516
|
+
const HeaderMyChoiceMobile = ({ className }) => {
|
|
517
|
+
const { appConfigState: { insuranceType }, } = useStoreAppConfig();
|
|
497
518
|
const { externalPathGroup } = usePathGroups(insuranceType);
|
|
498
519
|
const [isMenuOpen, setIsMenuOpen] = useState(false);
|
|
499
520
|
const handleMenuClick = () => {
|
|
500
521
|
setIsMenuOpen(!isMenuOpen);
|
|
501
522
|
};
|
|
502
|
-
|
|
503
|
-
return (jsxs("div", { className: `${className} ${isMenuOpen ? 'open' : ''} primary-header-mobile`, children: [jsxs("div", { className: "content-mobile", children: [jsx("div", { className: "logo", children: jsx("a", { href: "https://www.mychoice.ca/", target: "_blank", rel: "noreferrer", children: jsx("img", { src: logo, alt: "logotype" }) }) }), jsx(ButtonMenu, { className: `${className} ${isMenuOpen ? 'is-active' : ''}`, onClick: handleMenuClick })] }), isMenuOpen && (jsx("div", { className: "menu-items", children: jsx("div", { className: "nav-links", children: jsx(HeaderNavGroup, { className: insuranceType, navItems: externalPathGroup, isExternal: true }) }) }))] }));
|
|
523
|
+
return (jsxs("div", { className: `${className} ${isMenuOpen ? 'open' : ''} primary-header-mobile`, children: [jsxs("div", { className: "content-mobile", children: [jsx("div", { className: "logo", children: jsx("a", { href: "https://www.mychoice.ca/", target: "_blank", rel: "noreferrer", children: jsx("img", { src: logo$1, alt: "logotype" }) }) }), jsx(ButtonMenu, { className: `${className} ${isMenuOpen ? 'is-active' : ''}`, onClick: handleMenuClick })] }), isMenuOpen && (jsx("div", { className: "menu-items", children: jsx("div", { className: "nav-links", children: jsx(HeaderNavGroup, { className: insuranceType, navItems: externalPathGroup, isExternal: true }) }) }))] }));
|
|
504
524
|
};
|
|
505
525
|
HeaderMyChoiceMobile.defaultProps = {
|
|
506
526
|
className: '',
|
|
507
527
|
};
|
|
508
528
|
|
|
529
|
+
const HeaderBeginInsuranceMobile = ({ className }) => {
|
|
530
|
+
const { appConfigState: { insuranceType }, } = useStoreAppConfig();
|
|
531
|
+
const { externalPathGroup } = usePathGroups(insuranceType);
|
|
532
|
+
const [isMenuOpen, setIsMenuOpen] = useState(false);
|
|
533
|
+
const handleMenuClick = () => {
|
|
534
|
+
setIsMenuOpen(!isMenuOpen);
|
|
535
|
+
};
|
|
536
|
+
return (jsxs("div", { className: `${className} ${isMenuOpen ? 'open' : ''} primary-header-mobile`, children: [jsxs("div", { className: "content-mobile", children: [jsx("div", { className: "logo", children: jsx("a", { href: "https://www.begininsurance.com/", target: "_blank", rel: "noreferrer", children: jsx("img", { src: logo, alt: "Begin Insurance" }) }) }), jsx(ButtonMenu, { className: `${className} ${isMenuOpen ? 'is-active' : ''}`, onClick: handleMenuClick })] }), isMenuOpen && (jsx("div", { className: "menu-items", children: jsx("div", { className: "nav-links", children: jsx(HeaderNavGroup, { className: insuranceType, navItems: externalPathGroup, isExternal: true }) }) }))] }));
|
|
537
|
+
};
|
|
538
|
+
HeaderBeginInsuranceMobile.defaultProps = {
|
|
539
|
+
className: '',
|
|
540
|
+
};
|
|
541
|
+
|
|
509
542
|
const LoaderVid = () => {
|
|
510
543
|
const { appDeviceType } = useStoreDeviceType();
|
|
511
544
|
const isMobile = appDeviceType === DeviceTypes.Mobile;
|
|
@@ -516,11 +549,11 @@ const LoaderPrimary = () => {
|
|
|
516
549
|
const { appLoaderState } = useStoreAppLoader();
|
|
517
550
|
const { appConfigState } = useStoreAppConfig();
|
|
518
551
|
const isLastPage = window.location.pathname.includes('discount') || window.location.pathname.includes('/life/applicant');
|
|
519
|
-
const isHome = window.location.pathname.includes('home') ||
|
|
520
|
-
|
|
521
|
-
|
|
522
|
-
|
|
523
|
-
|
|
552
|
+
const isHome = window.location.pathname.includes('home') ||
|
|
553
|
+
window.location.pathname.includes('condo') ||
|
|
554
|
+
window.location.pathname.includes('tenant');
|
|
555
|
+
return (jsxs("div", { className: "loader-wrapper", children: [appConfigState.appType === AppTypes.MyChoice && !isLastPage ? jsx(LoaderVid, {}) : jsx(IconLoaderPrimary, {}), appLoaderState.description ? (jsx("h4", { children: appLoaderState.description.split('\n').map((line, index) => (jsxs("div", { children: [line, jsx("br", {})] }, index))) })) : (!appLoaderState.description &&
|
|
556
|
+
isHome && jsx("h4", { children: "Hang tight, while we collect and process information about your property." }))] }));
|
|
524
557
|
};
|
|
525
558
|
|
|
526
559
|
const ModalConfirm = () => {
|
|
@@ -770,16 +803,16 @@ const BlockCarConditionInfo = () => {
|
|
|
770
803
|
};
|
|
771
804
|
|
|
772
805
|
const VehicleSectionMain = () => {
|
|
773
|
-
const { appConfigState: { appType } } = useStoreAppConfig();
|
|
774
|
-
const mychoiceCls = appType
|
|
806
|
+
const { appConfigState: { appType }, } = useStoreAppConfig();
|
|
807
|
+
const mychoiceCls = isMyChoiceLike(appType) ? 'mychoice' : '';
|
|
775
808
|
return (jsxs("div", { className: `form-section top-section ${mychoiceCls}`, children: [mychoiceCls && jsx("h2", { className: "section-title", children: "Give us the scoop on your four-wheeled friend." }), jsx(BlockCarInfo, {}), jsx(BlockCarConditionInfo, {})] }));
|
|
776
809
|
};
|
|
777
810
|
|
|
778
811
|
const VehicleSectionCoverage = () => {
|
|
779
812
|
const { vehicleState, dispatchVehicleState } = useStoreFormCarVehicle();
|
|
780
813
|
const { collision, comprehensive } = vehicleState.items[vehicleState.activeIndex];
|
|
781
|
-
const { appConfigState: { appType } } = useStoreAppConfig();
|
|
782
|
-
const mychoiceCls = appType
|
|
814
|
+
const { appConfigState: { appType }, } = useStoreAppConfig();
|
|
815
|
+
const mychoiceCls = isMyChoiceLike(appType) ? 'mychoice' : '';
|
|
783
816
|
const handleComprehensiveChange = ({ value }) => {
|
|
784
817
|
dispatchVehicleState({
|
|
785
818
|
type: StoreFormCarVehicleActionTypes.FormCarComprehensiveCoverageSelect,
|
|
@@ -933,11 +966,11 @@ const TabDriver = ({ createItem, readOnly }) => {
|
|
|
933
966
|
|
|
934
967
|
const SectionDriverInfo = () => {
|
|
935
968
|
const { configState } = useStoreFormCarConfig();
|
|
936
|
-
const { appConfigState: { appType } } = useStoreAppConfig();
|
|
969
|
+
const { appConfigState: { appType }, } = useStoreAppConfig();
|
|
937
970
|
const { driverState, dispatchDriverInfoState } = useStoreFormCarDriverInfo();
|
|
938
971
|
const { discountState, dispatchDiscountState } = useStoreFormCarDiscount();
|
|
939
|
-
const { firstName, maritalStatus, birthDay, birthMonth, birthYear, occupation, gender, applicantRelationship
|
|
940
|
-
const mychoiceCls = appType
|
|
972
|
+
const { firstName, maritalStatus, birthDay, birthMonth, birthYear, occupation, gender, applicantRelationship } = driverState.items[driverState.activeIndex];
|
|
973
|
+
const mychoiceCls = isMyChoiceLike(appType) ? 'mychoice' : '';
|
|
941
974
|
const defaultDateOfBirth = {
|
|
942
975
|
day: birthDay,
|
|
943
976
|
month: birthMonth,
|
|
@@ -1001,17 +1034,16 @@ const SectionDriverInfo = () => {
|
|
|
1001
1034
|
payload: { applicantRelationship: value },
|
|
1002
1035
|
});
|
|
1003
1036
|
};
|
|
1004
|
-
return (jsxs("div", { className: `form-section ${mychoiceCls}`, children: [mychoiceCls && jsx("h2", { className: "section-title", children: "Time for a micro autobiography \u2013 tell us about you." }), jsx(InputFormBox, { name: "firstName", title: "What is your legal first name?", onChange: handleFirstNameChange, defaultValue: firstName, description: "The name on a policy should match the one on your official driver\u2019s licence.", placeholder: "Driver First Name", error: !firstName && driverState.inValidation, errorMessage: getErrorMessage(firstName, driverState.inValidation) }), jsx(SelectFormBox, { options: maritalStatusOptions, name: "maritalStatus", onChange: handleMaritalStatusChange, defaultValue: getSelectedOption(maritalStatusOptions, maritalStatus), title: "What is your marital status?", placeholder: "Select from the list", description: "If you are married, it may have a positive effect on your car insurance premiums and coverage. In some provinces, the law now considers same-sex partners to have a common-law marriage, so you will need to check your local regulations. If you are divorced or widowed, select single.", autoSelectIfValueIsOutOfOptions: false, error: !maritalStatus && driverState.inValidation, errorMessage: getErrorMessage(maritalStatus, driverState.inValidation) }), jsx(DateSelectFormBox, { name: "dateOfBirth", dateNames: ['birthYear', 'birthMonth', 'birthDay'], onDateChange: handleDateOfBirthChange, defaultValue: defaultDateOfBirth, title: "When were you born?", description: "Insurers generally consider your age and driving experience when calculating a vehicle insurance quote. The safest drivers are often those who are over thirty, but each insurer will have their own parameters. The youngest and oldest drivers have the greatest liability reflected in their premiums due to inexperience or health complications, respectively.", errorMessage: getDateErrorMessage([birthDay || '', birthMonth || '', birthYear || ''], driverState.inValidation), error: driverState.inValidation, maxDate: subYearsFromDate('', configState.licenceConfig.minLicenceAge || 16), isDay: true }), jsx(SwitchButtonBox, { name: "occupation", items: occupationOptions, onChange: handleOccupationChange, defaultValue: getSelectedOption(occupationOptions, occupation), title: "Are you currently employed or unemployed?", description: "Your employment status reflects your driving frequency, and insurers consider this in your policy." }), jsx(SwitchButtonBox, { items: genderOptions, onChange: handleGenderChange, name: "gender", defaultValue: getSelectedOption(genderOptions, gender), title: "What is your gender?", description: "The gender on the policy should match your official driver\u2019s licence. Some insurers analyze a driver's sex when creating a policy. Men are typically considered higher risk than female drivers, but the statistics supporting this idea vary from province to province. On average, men and women pay roughly the same for insurance, though." }), driverState.activeIndex > 0
|
|
1005
|
-
&& (jsx(SelectFormBox, { options: applicantRelationshipOptions, name: "applicantRelationship", onChange: handleApplicantRelationshipChange, defaultValue: getSelectedOption(applicantRelationshipOptions, applicantRelationship), title: "Relationship to applicant", placeholder: "Select...", autoSelectIfValueIsOutOfOptions: false, error: !applicantRelationship && driverState.inValidation, errorMessage: getErrorMessage(applicantRelationship, driverState.inValidation) }))] }));
|
|
1037
|
+
return (jsxs("div", { className: `form-section ${mychoiceCls}`, children: [mychoiceCls && jsx("h2", { className: "section-title", children: "Time for a micro autobiography \u2013 tell us about you." }), jsx(InputFormBox, { name: "firstName", title: "What is your legal first name?", onChange: handleFirstNameChange, defaultValue: firstName, description: "The name on a policy should match the one on your official driver\u2019s licence.", placeholder: "Driver First Name", error: !firstName && driverState.inValidation, errorMessage: getErrorMessage(firstName, driverState.inValidation) }), jsx(SelectFormBox, { options: maritalStatusOptions, name: "maritalStatus", onChange: handleMaritalStatusChange, defaultValue: getSelectedOption(maritalStatusOptions, maritalStatus), title: "What is your marital status?", placeholder: "Select from the list", description: "If you are married, it may have a positive effect on your car insurance premiums and coverage. In some provinces, the law now considers same-sex partners to have a common-law marriage, so you will need to check your local regulations. If you are divorced or widowed, select single.", autoSelectIfValueIsOutOfOptions: false, error: !maritalStatus && driverState.inValidation, errorMessage: getErrorMessage(maritalStatus, driverState.inValidation) }), jsx(DateSelectFormBox, { name: "dateOfBirth", dateNames: ['birthYear', 'birthMonth', 'birthDay'], onDateChange: handleDateOfBirthChange, defaultValue: defaultDateOfBirth, title: "When were you born?", description: "Insurers generally consider your age and driving experience when calculating a vehicle insurance quote. The safest drivers are often those who are over thirty, but each insurer will have their own parameters. The youngest and oldest drivers have the greatest liability reflected in their premiums due to inexperience or health complications, respectively.", errorMessage: getDateErrorMessage([birthDay || '', birthMonth || '', birthYear || ''], driverState.inValidation), error: driverState.inValidation, maxDate: subYearsFromDate('', configState.licenceConfig.minLicenceAge || 16), isDay: true }), jsx(SwitchButtonBox, { name: "occupation", items: occupationOptions, onChange: handleOccupationChange, defaultValue: getSelectedOption(occupationOptions, occupation), title: "Are you currently employed or unemployed?", description: "Your employment status reflects your driving frequency, and insurers consider this in your policy." }), jsx(SwitchButtonBox, { items: genderOptions, onChange: handleGenderChange, name: "gender", defaultValue: getSelectedOption(genderOptions, gender), title: "What is your gender?", description: "The gender on the policy should match your official driver\u2019s licence. Some insurers analyze a driver's sex when creating a policy. Men are typically considered higher risk than female drivers, but the statistics supporting this idea vary from province to province. On average, men and women pay roughly the same for insurance, though." }), driverState.activeIndex > 0 && (jsx(SelectFormBox, { options: applicantRelationshipOptions, name: "applicantRelationship", onChange: handleApplicantRelationshipChange, defaultValue: getSelectedOption(applicantRelationshipOptions, applicantRelationship), title: "Relationship to applicant", placeholder: "Select...", autoSelectIfValueIsOutOfOptions: false, error: !applicantRelationship && driverState.inValidation, errorMessage: getErrorMessage(applicantRelationship, driverState.inValidation) }))] }));
|
|
1006
1038
|
};
|
|
1007
1039
|
|
|
1008
1040
|
const SectionDriverLicence = () => {
|
|
1009
|
-
const { appConfigState: { appType } } = useStoreAppConfig();
|
|
1041
|
+
const { appConfigState: { appType }, } = useStoreAppConfig();
|
|
1010
1042
|
const [driverEducation, setDriverEducation] = useState(false);
|
|
1011
1043
|
const { configState } = useStoreFormCarConfig();
|
|
1012
1044
|
const { driverState, dispatchDriverLicenceState } = useStoreFormCarDriverLicence();
|
|
1013
1045
|
const { isAlbertaProvince } = useProvince();
|
|
1014
|
-
const mychoiceCls = appType
|
|
1046
|
+
const mychoiceCls = isMyChoiceLike(appType) ? 'mychoice' : '';
|
|
1015
1047
|
const { firstName, birthDay, birthMonth, birthYear, licenceInfo: { firstLicenceAge, licenceType, g1LicenceYear, g1LicenceMonth, gLicenceYear, gLicenceMonth, g2LicenceYear, g2LicenceMonth, passedDriverTraining, previousLicence, }, minMaxDates, } = driverState.items[driverState.activeIndex];
|
|
1016
1048
|
const { gMax = getFormattedDate('', 'yyyy-MM-dd'), gMin = '1922-01-01', gOneMax = getFormattedDate('', 'yyyy-MM-dd'), gOneMin = '1922-01-01', gTwoMax = getFormattedDate('', 'yyyy-MM-dd'), gTwoMin = '1922-01-01', gBlock = false, gTwoBlock = false, gOneBlock = false, licenceAgeMax = 16, } = minMaxDates ?? {};
|
|
1017
1049
|
const maxLicenceAge = licenceAgeMax;
|
|
@@ -1020,7 +1052,7 @@ const SectionDriverLicence = () => {
|
|
|
1020
1052
|
const defaultMinDate = birthDate && firstLicenceAge ? addYearsToDate(birthDate, +firstLicenceAge) : '';
|
|
1021
1053
|
const isOnlyG = checkDateIsSpecial(defaultMinDate, configState.minDates.g.specialDate);
|
|
1022
1054
|
const isTheBig = appType === AppTypes.TheBig;
|
|
1023
|
-
const { g, g1, g2, minLicenceAge
|
|
1055
|
+
const { g, g1, g2, minLicenceAge } = configState.licenceConfig;
|
|
1024
1056
|
const licenceTypeOptions = [
|
|
1025
1057
|
{ value: g.name, name: g.title },
|
|
1026
1058
|
{ value: g1.name, name: g1.title },
|
|
@@ -1050,7 +1082,8 @@ const SectionDriverLicence = () => {
|
|
|
1050
1082
|
return gOneMin;
|
|
1051
1083
|
case DriverLicenceTypes.G2:
|
|
1052
1084
|
return gTwoMin;
|
|
1053
|
-
default:
|
|
1085
|
+
default:
|
|
1086
|
+
return '';
|
|
1054
1087
|
}
|
|
1055
1088
|
};
|
|
1056
1089
|
const getMaxDate = (type) => {
|
|
@@ -1061,7 +1094,8 @@ const SectionDriverLicence = () => {
|
|
|
1061
1094
|
return gOneMax;
|
|
1062
1095
|
case DriverLicenceTypes.G2:
|
|
1063
1096
|
return gTwoMax;
|
|
1064
|
-
default:
|
|
1097
|
+
default:
|
|
1098
|
+
return '';
|
|
1065
1099
|
}
|
|
1066
1100
|
};
|
|
1067
1101
|
const getLicenceYear = (type) => {
|
|
@@ -1072,7 +1106,8 @@ const SectionDriverLicence = () => {
|
|
|
1072
1106
|
return g1LicenceYear;
|
|
1073
1107
|
case DriverLicenceTypes.G2:
|
|
1074
1108
|
return g2LicenceYear;
|
|
1075
|
-
default:
|
|
1109
|
+
default:
|
|
1110
|
+
return '';
|
|
1076
1111
|
}
|
|
1077
1112
|
};
|
|
1078
1113
|
const getLicenceMonth = (type) => {
|
|
@@ -1083,7 +1118,8 @@ const SectionDriverLicence = () => {
|
|
|
1083
1118
|
return g1LicenceMonth;
|
|
1084
1119
|
case DriverLicenceTypes.G2:
|
|
1085
1120
|
return g2LicenceMonth;
|
|
1086
|
-
default:
|
|
1121
|
+
default:
|
|
1122
|
+
return '';
|
|
1087
1123
|
}
|
|
1088
1124
|
};
|
|
1089
1125
|
const getDefaultLicenceDate = (type) => ({
|
|
@@ -1136,8 +1172,10 @@ const SectionDriverLicence = () => {
|
|
|
1136
1172
|
const formattedMinDate = `${getFormattedDate(licenceMinDate, 'MMMM yyyy')}`;
|
|
1137
1173
|
const defaultHintMessage = `${formattedMinDate} would be your earliest ${licenceTypeTitle}
|
|
1138
1174
|
licence date based on your first licenced age and date of birth`;
|
|
1139
|
-
return currentType === DriverLicenceTypes.G2
|
|
1140
|
-
|
|
1175
|
+
return currentType === DriverLicenceTypes.G2
|
|
1176
|
+
? `${defaultHintMessage}
|
|
1177
|
+
if you completed a driver education course`
|
|
1178
|
+
: defaultHintMessage;
|
|
1141
1179
|
};
|
|
1142
1180
|
const getLicenceAgeTitle = () => {
|
|
1143
1181
|
if (isAlbertaProvince && isTheBig) {
|
|
@@ -1145,10 +1183,10 @@ const SectionDriverLicence = () => {
|
|
|
1145
1183
|
}
|
|
1146
1184
|
return `What age was ${firstName || driverNameDefault} when first licenced?`;
|
|
1147
1185
|
};
|
|
1148
|
-
return (jsxs("div", { className: `form-section ${mychoiceCls}`, children: [jsx(InputFormBox, { name: "firstLicenceAge", title: getLicenceAgeTitle(), onChange: handleLicenceAgeChange, type: InputTypes.Number, defaultValue: firstLicenceAge, description: configState.toolTip.licenceAge, hintMessage: birthDate
|
|
1149
|
-
|
|
1150
|
-
|
|
1151
|
-
|
|
1186
|
+
return (jsxs("div", { className: `form-section ${mychoiceCls}`, children: [jsx(InputFormBox, { name: "firstLicenceAge", title: getLicenceAgeTitle(), onChange: handleLicenceAgeChange, type: InputTypes.Number, defaultValue: firstLicenceAge, description: configState.toolTip.licenceAge, hintMessage: birthDate
|
|
1187
|
+
? `${firstName || driverNameDefault} was licenced in
|
|
1188
|
+
${Number(birthYear) + Number(firstLicenceAge)} - ${Number(birthYear) + Number(firstLicenceAge) + 1}`
|
|
1189
|
+
: '', placeholder: "Select Licence Age", disabled: !birthDate, error: !firstLicenceAge && driverState.inValidation, errorMessage: getErrorMessage(firstLicenceAge, driverState.inValidation), minValue: minLicenceAge || 16, maxValue: maxLicenceAge }), jsx(SelectFormBox, { options: getLicenceTypeOptions(licenceTypeOptions, getDisabledLicenceTypes(gBlock, gTwoBlock, gOneBlock), true), name: "licenceType", onChange: handleLicenceTypeChange, defaultValue: getSelectedOption(licenceTypeOptions, licenceType), title: `Please choose the type of licence that ${firstName || driverNameDefault} currently holds`, placeholder: "Select from the list", disabled: !birthDate, description: configState.toolTip.licenceType, autoSelectIfValueIsOutOfOptions: false }), licenceType === DriverLicenceTypes.G && !isOnlyG && (jsx(DateSelectFormBox, { name: "g2LicenceDate", dateNames: ['g2LicenceYear', 'g2LicenceMonth'], onDateChange: handleLicenceDateChange(DriverLicenceTypes.G2), defaultValue: getDefaultLicenceDate(DriverLicenceTypes.G2), title: `${configState.licenceConfig.g2.title} licence date`, errorMessage: getDateErrorMessage(['01', g2LicenceMonth, g2LicenceYear], driverState.inValidation), hintMessage: getHintMessage(DriverLicenceTypes.G2), error: driverState.inValidation, minDate: getMinDate(DriverLicenceTypes.G2), maxDate: getMaxDate(DriverLicenceTypes.G2) })), licenceType && (jsx(DateSelectFormBox, { name: `${licenceType}LicenceDate`, dateNames: [`${licenceType}LicenceYear`, `${licenceType}LicenceMonth`], onDateChange: handleLicenceDateChange(), defaultValue: getDefaultLicenceDate(licenceType), title: `${configState.licenceConfig[licenceType].title} licence date`, errorMessage: getDateErrorMessage(['01', getLicenceMonth(licenceType), getLicenceYear(licenceType)], driverState.inValidation), hintMessage: getHintMessage(), error: driverState.inValidation, maxDate: getMaxDate(licenceType), minDate: getMinDate(licenceType) })), driverEducation && (jsx(SwitchButtonBox, { items: yesNoOptions, onChange: handleTrainingChange, name: "passedDriverTraining", defaultValue: getSelectedOption(yesNoOptions, passedDriverTraining), title: `Has ${firstName || driverNameDefault} completed a driver education course within the last 3 years?` })), jsx(SwitchButtonBox, { items: yesNoOptions, onChange: handlePreviousLicenceChange, name: "previousLicence", defaultValue: getSelectedOption(yesNoOptions, previousLicence), title: `Has ${firstName || driverNameDefault} ever had a full license anywhere else in Canada or USA?`, description: "If you have driving experience outside Canada or the United States, it may lower your premium. Your insurer may require proof of insurance in these other locations or some proof of driving experience from the country you indicate (like a copy of a previous driver\u2019s licence)." })] }));
|
|
1152
1190
|
};
|
|
1153
1191
|
|
|
1154
1192
|
const SectionDriverInsurancePolicy = () => {
|
|
@@ -1157,18 +1195,14 @@ const SectionDriverInsurancePolicy = () => {
|
|
|
1157
1195
|
const { driverState, dispatchDriverInsuranceState } = useStoreFormCarDriverInsurance();
|
|
1158
1196
|
const { discountState, dispatchDiscountState } = useStoreFormCarDiscount();
|
|
1159
1197
|
const { quoteState: { isRequested }, } = useStoreFormCarQuote();
|
|
1160
|
-
const { listed, listedMonth = '', listedYear = '', insured, insuredDate = '', firstName, birthYear, birthMonth, birthDay, licenceInfo: { firstLicenceAge, licenceType, gLicenceYear, gLicenceMonth, g1LicenceYear, g1LicenceMonth
|
|
1198
|
+
const { listed, listedMonth = '', listedYear = '', insured, insuredDate = '', firstName, birthYear, birthMonth, birthDay, licenceInfo: { firstLicenceAge, licenceType, gLicenceYear, gLicenceMonth, g1LicenceYear, g1LicenceMonth }, } = driverState.items[driverState.activeIndex];
|
|
1161
1199
|
const { policyStartYear, policyStartMonth, policyStartDay } = discountState;
|
|
1162
1200
|
const driverNameDefault = `Driver ${driverState.activeIndex + 1}`;
|
|
1163
|
-
const birthDate = birthYear && birthMonth && birthDay
|
|
1164
|
-
? `${birthYear}-${birthMonth}-${birthDay}`
|
|
1165
|
-
: '';
|
|
1201
|
+
const birthDate = birthYear && birthMonth && birthDay ? `${birthYear}-${birthMonth}-${birthDay}` : '';
|
|
1166
1202
|
const { appConfigState: { appType }, } = useStoreAppConfig();
|
|
1167
|
-
const mychoiceCls = appType
|
|
1203
|
+
const mychoiceCls = isMyChoiceLike(appType) ? 'mychoice' : '';
|
|
1168
1204
|
const getPeriodOptions = (year, month) => {
|
|
1169
|
-
const options = [
|
|
1170
|
-
{ value: '', name: 'Date Period', disabled: true },
|
|
1171
|
-
];
|
|
1205
|
+
const options = [{ value: '', name: 'Date Period', disabled: true }];
|
|
1172
1206
|
if (year && month) {
|
|
1173
1207
|
const todayDate = new Date();
|
|
1174
1208
|
const month = String(todayDate.getMonth() + 1).padStart(2, '0');
|
|
@@ -1224,9 +1258,7 @@ you had insurance. If this is correct, please continue with the form.`);
|
|
|
1224
1258
|
}
|
|
1225
1259
|
};
|
|
1226
1260
|
if (birthDate) {
|
|
1227
|
-
const defaultMinDate = birthDate && firstLicenceAge
|
|
1228
|
-
? addYearsToDate(birthDate, +firstLicenceAge)
|
|
1229
|
-
: '';
|
|
1261
|
+
const defaultMinDate = birthDate && firstLicenceAge ? addYearsToDate(birthDate, +firstLicenceAge) : '';
|
|
1230
1262
|
const isOnlyG = checkDateIsSpecial(defaultMinDate, configState.minDates.g.specialDate);
|
|
1231
1263
|
if (isOnlyG) {
|
|
1232
1264
|
setMessage(gLicenceYear, gLicenceMonth);
|
|
@@ -1245,16 +1277,7 @@ you had insurance. If this is correct, please continue with the form.`);
|
|
|
1245
1277
|
else {
|
|
1246
1278
|
setHintMessage('');
|
|
1247
1279
|
}
|
|
1248
|
-
}, [
|
|
1249
|
-
listedYear,
|
|
1250
|
-
listedMonth,
|
|
1251
|
-
g1LicenceYear,
|
|
1252
|
-
g1LicenceMonth,
|
|
1253
|
-
firstLicenceAge,
|
|
1254
|
-
birthDate,
|
|
1255
|
-
gLicenceYear,
|
|
1256
|
-
gLicenceMonth,
|
|
1257
|
-
]);
|
|
1280
|
+
}, [listedYear, listedMonth, g1LicenceYear, g1LicenceMonth, firstLicenceAge, birthDate, gLicenceYear, gLicenceMonth]);
|
|
1258
1281
|
const handleInsuredChange = ({ value }) => {
|
|
1259
1282
|
dispatchDriverInsuranceState({
|
|
1260
1283
|
type: StoreFormCarDriverInsuranceActionTypes.FormCarDriverInsuredSelect,
|
|
@@ -1309,18 +1332,16 @@ you had insurance. If this is correct, please continue with the form.`);
|
|
|
1309
1332
|
};
|
|
1310
1333
|
return (jsxs("div", { className: `form-section ${mychoiceCls}`, children: [jsxs("div", { className: "box-container", children: [jsx(DateSelectFormBox, { name: "listedYear", dateNames: ['listedYear', 'listedMonth'], onDateChange: handleListedDateChange, defaultValue: defaultListedDate, disabled: !listed, title: `When was ${firstName || driverNameDefault} first listed as a driver on a Canadian or US insurance policy?`, description: "The selection indicates what year the main driver was first listed on a Canadian or US insurance policy. If you do not remember your age, it is acceptable to provide a best estimate for the purposes of the policy or quote.", errorMessage: listed
|
|
1311
1334
|
? getDateErrorMessage(['01', listedMonth, listedYear], driverState.inValidation)
|
|
1312
|
-
: '', error: driverState.inValidation, hintMessage: hintMessage, minDate: getMinDate(birthDate, firstLicenceAge) }), jsx(CheckboxForm, { name: "listed", label: "Never listed on an insurance policy", onChange: handleListedChange, defaultValue: !listed })] }), listed && (jsxs("div", { className: "box-container", children: [jsx(SelectFormBox, { name: "insuredDate", onChange: handleInsuredPeriodChange, options: getPeriodOptions(listedYear, listedMonth), defaultValue: insuredDate, disabled: !insured, title: `How long has ${firstName || driverNameDefault} been with their current insurance provider?`, description: "It is common for insurers to provide loyalty rewards or discounts for valued customers. Loyalty is a positive trait in the industry, and most insurance companies will want to provide some incentive for continued customer relationships through tangible policy rewards.", errorMessage: insured
|
|
1313
|
-
? getErrorMessage(insuredDate, driverState.inValidation)
|
|
1314
|
-
: '', error: !insuredDate && driverState.inValidation }), jsx(CheckboxForm, { name: "insured", label: "Not currently insured", onChange: handleInsuredChange, defaultValue: !insured })] })), jsx(DateSelectFormBox, { name: "policyStart", dateNames: ['policyStartYear', 'policyStartMonth', 'policyStartDay'], onDateChange: handlePolicyStartDateChange, defaultValue: defaultPolicyStartDate, title: "What is the ideal start date for your new insurance policy?", description: "Select your preferred date for the beginning of your new insurance policy.For instance, you may set the start date for the day that your current insurance expires to ensure that you\u2019re continuously covered. Alternatively, select today's date for a quote or new policy.", errorMessage: getDateErrorMessage([policyStartDay || '', policyStartMonth || '', policyStartYear || ''], driverState.inValidation), error: driverState.inValidation, minDate: addDaysToDate('', 1), maxDate: addDaysToDate('', 60), isDay: true })] }));
|
|
1335
|
+
: '', error: driverState.inValidation, hintMessage: hintMessage, minDate: getMinDate(birthDate, firstLicenceAge) }), jsx(CheckboxForm, { name: "listed", label: "Never listed on an insurance policy", onChange: handleListedChange, defaultValue: !listed })] }), listed && (jsxs("div", { className: "box-container", children: [jsx(SelectFormBox, { name: "insuredDate", onChange: handleInsuredPeriodChange, options: getPeriodOptions(listedYear, listedMonth), defaultValue: insuredDate, disabled: !insured, title: `How long has ${firstName || driverNameDefault} been with their current insurance provider?`, description: "It is common for insurers to provide loyalty rewards or discounts for valued customers. Loyalty is a positive trait in the industry, and most insurance companies will want to provide some incentive for continued customer relationships through tangible policy rewards.", errorMessage: insured ? getErrorMessage(insuredDate, driverState.inValidation) : '', error: !insuredDate && driverState.inValidation }), jsx(CheckboxForm, { name: "insured", label: "Not currently insured", onChange: handleInsuredChange, defaultValue: !insured })] })), jsx(DateSelectFormBox, { name: "policyStart", dateNames: ['policyStartYear', 'policyStartMonth', 'policyStartDay'], onDateChange: handlePolicyStartDateChange, defaultValue: defaultPolicyStartDate, title: "What is the ideal start date for your new insurance policy?", description: "Select your preferred date for the beginning of your new insurance policy.For instance, you may set the start date for the day that your current insurance expires to ensure that you\u2019re continuously covered. Alternatively, select today's date for a quote or new policy.", errorMessage: getDateErrorMessage([policyStartDay || '', policyStartMonth || '', policyStartYear || ''], driverState.inValidation), error: driverState.inValidation, minDate: addDaysToDate('', 1), maxDate: addDaysToDate('', 60), isDay: true })] }));
|
|
1315
1336
|
};
|
|
1316
1337
|
|
|
1317
1338
|
const SectionDriverCancellation = () => {
|
|
1318
1339
|
const { driverState, dispatchDriverCancellationState } = useStoreFormCarDriverCancellation();
|
|
1319
1340
|
const { dispatchDriverBaseState } = useStoreFormCarDriverBase();
|
|
1320
1341
|
const { insuranceCancellation, insuranceCancellationList = [] } = driverState.items[driverState.activeIndex];
|
|
1321
|
-
const { appConfigState: { appType } } = useStoreAppConfig();
|
|
1342
|
+
const { appConfigState: { appType }, } = useStoreAppConfig();
|
|
1322
1343
|
const isTheBig = appType === AppTypes.TheBig;
|
|
1323
|
-
const mychoiceCls = appType
|
|
1344
|
+
const mychoiceCls = isMyChoiceLike(appType) ? 'mychoice' : '';
|
|
1324
1345
|
const { firstName, birthYear, birthMonth, birthDay, licenceInfo: { firstLicenceAge }, } = driverState.items[driverState.activeIndex];
|
|
1325
1346
|
const birthDate = birthYear && birthMonth && birthDay ? `${birthYear}-${birthMonth}-${birthDay}` : '';
|
|
1326
1347
|
const handleIconClick = (index) => () => {
|
|
@@ -1396,7 +1417,7 @@ const SectionDriverCancellation = () => {
|
|
|
1396
1417
|
}
|
|
1397
1418
|
};
|
|
1398
1419
|
return (jsxs("div", { className: `form-section ${mychoiceCls}`, children: [jsx("h2", { className: isTheBig ? 'thebig-bold' : '', children: "Insurance Cancellation" }), jsx(SwitchButtonBox, { items: yesNoOptions, onChange: handleCancellationChange, name: "insuranceCancellation", defaultValue: getSelectedOption(yesNoOptions, insuranceCancellation), title: `Has ${firstName} had an insurance company cancellation or
|
|
1399
|
-
a time without insurance coverage, within the past 3 years?`, description: "If an insurance company cancels your policy, it will increase your future insurance premiums. The most common reasons for cancellations include missed payments, excessive claims, false declarations, or criminal actions, for example. If you cancel the insurance policy, it is not relevant." }), insuranceCancellation && (jsxs(Fragment, { children: [insuranceCancellationList?.map(({ cancellationReason, startYear, startMonth, endYear, endMonth
|
|
1420
|
+
a time without insurance coverage, within the past 3 years?`, description: "If an insurance company cancels your policy, it will increase your future insurance premiums. The most common reasons for cancellations include missed payments, excessive claims, false declarations, or criminal actions, for example. If you cancel the insurance policy, it is not relevant." }), insuranceCancellation && (jsxs(Fragment, { children: [insuranceCancellationList?.map(({ cancellationReason, startYear, startMonth, endYear, endMonth }, index) => {
|
|
1400
1421
|
const defaultStartDate = {
|
|
1401
1422
|
year: startYear,
|
|
1402
1423
|
month: startMonth,
|
|
@@ -1406,12 +1427,11 @@ const SectionDriverCancellation = () => {
|
|
|
1406
1427
|
month: endMonth,
|
|
1407
1428
|
};
|
|
1408
1429
|
const now = getFormattedDate('', 'yyyy-MM-dd');
|
|
1409
|
-
const days = birthDay ?
|
|
1430
|
+
const days = birthDay ? +birthDay + 1 : 1;
|
|
1410
1431
|
const endDate = endYear && endMonth ? addDayToDate(`${endYear}-${endMonth}`, days) : now;
|
|
1411
1432
|
const currentMinDate = getMinDateByYears(getMinDate(birthDate, firstLicenceAge), 3);
|
|
1412
1433
|
const currentEndDate = compareDates(endDate, currentMinDate) < 0 ? currentMinDate : endDate;
|
|
1413
|
-
return (jsxs("div", { className: "list-block", children: [jsx("hr", {}), jsxs("div", { className: "list-item", children: [jsx(SelectFormBox, { options: insuranceCancellationReasonOptions, name: `cancellationReason-${index}`, onChange: handleReasonChange(index), defaultValue: cancellationReason, title: "Reason", placeholder: "Select from the list", isRemovable: insuranceCancellationList.length > 1, onIconClick: handleIconClick(index), autoSelectIfValueIsOutOfOptions: false, error: !cancellationReason && driverState.inValidation, errorMessage: getErrorMessage(cancellationReason, driverState.inValidation) }), jsx(DateSelectFormBox, { name: `startDate-${index}`, dateNames: [`startYear-${index}`, `startMonth-${index}`], onDateChange: handleStartDateChange(index), defaultValue: defaultStartDate, title: "Start date", errorMessage: getDateErrorMessage(['01', startMonth, startYear], driverState.inValidation), error: driverState.inValidation, minDate: currentMinDate, maxDate: currentEndDate }), jsx(DateSelectFormBox, { name: `endDate-${index}`, dateNames: [`endYear-${index}`, `endMonth-${index}`], onDateChange: handleEndDateChange(index), defaultValue: defaultEndDate, title: "End Date", errorMessage: getDateErrorMessage(['01', endMonth, endYear], driverState.inValidation), error: driverState.inValidation, minDate: startMonth && startYear
|
|
1414
|
-
? addDayToDate(`${startYear}-${startMonth}`, days) : currentMinDate })] })] }, `insurance-cancellation-${index}`));
|
|
1434
|
+
return (jsxs("div", { className: "list-block", children: [jsx("hr", {}), jsxs("div", { className: "list-item", children: [jsx(SelectFormBox, { options: insuranceCancellationReasonOptions, name: `cancellationReason-${index}`, onChange: handleReasonChange(index), defaultValue: cancellationReason, title: "Reason", placeholder: "Select from the list", isRemovable: insuranceCancellationList.length > 1, onIconClick: handleIconClick(index), autoSelectIfValueIsOutOfOptions: false, error: !cancellationReason && driverState.inValidation, errorMessage: getErrorMessage(cancellationReason, driverState.inValidation) }), jsx(DateSelectFormBox, { name: `startDate-${index}`, dateNames: [`startYear-${index}`, `startMonth-${index}`], onDateChange: handleStartDateChange(index), defaultValue: defaultStartDate, title: "Start date", errorMessage: getDateErrorMessage(['01', startMonth, startYear], driverState.inValidation), error: driverState.inValidation, minDate: currentMinDate, maxDate: currentEndDate }), jsx(DateSelectFormBox, { name: `endDate-${index}`, dateNames: [`endYear-${index}`, `endMonth-${index}`], onDateChange: handleEndDateChange(index), defaultValue: defaultEndDate, title: "End Date", errorMessage: getDateErrorMessage(['01', endMonth, endYear], driverState.inValidation), error: driverState.inValidation, minDate: startMonth && startYear ? addDayToDate(`${startYear}-${startMonth}`, days) : currentMinDate })] })] }, `insurance-cancellation-${index}`));
|
|
1415
1435
|
}), insuranceCancellationList?.length < 3 && (jsx(ButtonBase, { category: CategoryTypes.Filled, onClick: handleAddButtonClick, size: SizeTypes.Medium, color: ColorTypes.Primary, label: "Add another" }))] }))] }));
|
|
1416
1436
|
};
|
|
1417
1437
|
|
|
@@ -1667,8 +1687,8 @@ const BlockDriverTicket = () => {
|
|
|
1667
1687
|
};
|
|
1668
1688
|
|
|
1669
1689
|
const SectionDriverHistory = () => {
|
|
1670
|
-
const { appConfigState: { appType } } = useStoreAppConfig();
|
|
1671
|
-
const mychoiceCls = appType
|
|
1690
|
+
const { appConfigState: { appType }, } = useStoreAppConfig();
|
|
1691
|
+
const mychoiceCls = isMyChoiceLike(appType) ? 'mychoice' : '';
|
|
1672
1692
|
return (jsxs("div", { className: `form-section ${mychoiceCls}`, children: [jsx(BlockDriverSuspension, {}), jsx(BlockDriverAccident, {}), jsx(BlockDriverTicket, {})] }));
|
|
1673
1693
|
};
|
|
1674
1694
|
|
|
@@ -1707,7 +1727,7 @@ const PageDriver = () => {
|
|
|
1707
1727
|
useEffect(() => {
|
|
1708
1728
|
setIsRender(true);
|
|
1709
1729
|
}, [isRender]);
|
|
1710
|
-
return (jsxs("div", { className: "form-container", children: [jsx(TabDriver, { createItem: createDriver }), jsxs("div", { className: "form-section-container", children: [isRender && (jsxs(Fragment, { children: [jsx(SectionDriverInfo, {}), jsx(SectionDriverLicence, {}), jsx(SectionDriverInsurancePolicy, {}), jsx(SectionDriverCancellation, {}), jsx(SectionDriverHistory, {}), appType
|
|
1730
|
+
return (jsxs("div", { className: "form-container", children: [jsx(TabDriver, { createItem: createDriver }), jsxs("div", { className: "form-section-container", children: [isRender && (jsxs(Fragment, { children: [jsx(SectionDriverInfo, {}), jsx(SectionDriverLicence, {}), jsx(SectionDriverInsurancePolicy, {}), jsx(SectionDriverCancellation, {}), jsx(SectionDriverHistory, {}), isMyChoiceLike(appType) && jsx(HonestyMessage, {})] })), appType === AppTypes.TheBig ? (jsx(NavigationBottomTheBig, { createItem: createDriver, formSteps: formSteps[InsuranceTypes.Car], itemCount: items.length, validateForm: validateForm, formIsValid: driverFormIsValid })) : (jsx(NavigationBottom, { className: "mychoice", createItem: createDriver, formSteps: formSteps[InsuranceTypes.Car], itemCount: items.length, validateForm: validateForm, formIsValid: driverFormIsValid }))] }), localIndex !== defaultLocalIndex && (jsx("img", { className: "logo-for-partner", src: myChoicePartnerLogo, alt: "partner logo" }))] }));
|
|
1711
1731
|
};
|
|
1712
1732
|
|
|
1713
1733
|
const getDynamicLicenceBoxProps = ({ isAlbertaProvince, isOntarioProvince, isNewfoundlandProvince, isNovaScotiaProvince, isNewBrunswickProvince, }) => {
|
|
@@ -1757,11 +1777,11 @@ const SectionDiscountInfo$1 = () => {
|
|
|
1757
1777
|
const { appConfigState: { appType }, } = useStoreAppConfig();
|
|
1758
1778
|
const allProvinces = useProvince();
|
|
1759
1779
|
const isTheBig = appType === AppTypes.TheBig;
|
|
1760
|
-
const mychoiceCls = appType
|
|
1780
|
+
const mychoiceCls = isMyChoiceLike(appType) ? 'mychoice' : '';
|
|
1761
1781
|
const { discountState, dispatchDiscountState } = useStoreFormCarDiscount();
|
|
1762
1782
|
const { validateEmail, errorMessage } = useHandlerCarQuoterEmail();
|
|
1763
1783
|
const { multiplePoliciesDiscount, appInstallDiscount, caaMemberDiscount, quoterInfo, emailTo: { email, emailStatus }, } = discountState;
|
|
1764
|
-
const { firstName, lastName, phone, driverLicense = '', caslConsent
|
|
1784
|
+
const { firstName, lastName, phone, driverLicense = '', caslConsent } = quoterInfo;
|
|
1765
1785
|
const handleMultiplePolicyChange = ({ value }) => {
|
|
1766
1786
|
dispatchDiscountState({
|
|
1767
1787
|
type: StoreFormCarDiscountActionTypes.FormCarDiscountMultiplePoliciesSelect,
|
|
@@ -1815,8 +1835,7 @@ const SectionDiscountInfo$1 = () => {
|
|
|
1815
1835
|
};
|
|
1816
1836
|
return (jsxs("div", { className: `form-section ${mychoiceCls}`, children: [isTheBig ? (jsx(LabelFormBox, { title: "You are seconds away from receiving your car insurance quotes,\n please provide your email after completing the discount section so we\n can send you your personalized free car insurance quotes!" })) : (jsxs(Fragment, { children: [jsx("h2", { className: "section-title", children: "A little extra info for discounts and connecting you with our partners." }), jsx("span", { className: "info-title-message", children: "You are seconds away from receiving your car insurance quotes, please provide your email after completing the discount section so we can send you your personalized free car insurance quotes!" })] })), jsx(BlockVehLinks, {}), jsx(SwitchButtonBox, { items: yesNoOptions, onChange: handleMultiplePolicyChange, name: "multiplePoliciesDiscount", defaultValue: getSelectedOption(yesNoOptions, multiplePoliciesDiscount), title: "You could receive a 10-15% discount for bundling insurance with multiple policies with the same insurance company. Does that interest you?", description: "Bundling your home and auto insurance can save you significantly on insurance premiums as a whole package. Do you want to learn more about the benefits of multiple policies for home, tenant, condo, or car insurance? All you have to do is select yes.." }), !isTheBig && (jsx(SwitchButtonBox, { items: yesNoOptions, onChange: handleCaaMemberChange, name: "caaMemberDiscount", defaultValue: getSelectedOption(yesNoOptions, caaMemberDiscount), title: "Please indicate if you are a member of CAA, you could save up to an additional 20%." })), jsx(SwitchButtonBox, { items: yesNoOptions, onChange: handleAppInstallChange, name: "appInstallDiscount", defaultValue: getSelectedOption(yesNoOptions, appInstallDiscount), title: "You could receive up to a 30% discount by using an app to track driving habits. Does that interest you?", description: "Get rewarded for safe driving with the click of a button. If you install the app, you may be eligible for a 30% discount on your insurance premiums. Typically, you receive 10% of the discount upfront and the balance after six months of good driving." }), isTheBig ? (jsxs("div", { className: "input-form-box-container", children: [jsx(LabelFormBox, { title: "Complete this form to see all your personalized\n quotes on the next page, you will also be able to:" }), jsxs("ol", { className: "ordered-block", children: [jsx("li", { children: "See what rates insurance carriers are offering" }), jsx("li", { children: "Get in touch with us and secure your rate" }), jsx("li", { children: "Potentially save more by speaking with a broker" })] })] })) : (jsx("h2", { children: "Complete the form below to see which companies are offering your quotes." })), jsx(InputFormBox, { name: "firstName", title: "First Name", onChange: handleFirstNameChange, defaultValue: firstName, placeholder: "Your First Name", error: !firstName && discountState.inValidation, errorMessage: getErrorMessage(firstName, discountState.inValidation) }), jsx(InputFormBox, { name: "lastname", title: "Last Name", onChange: handleLastNameChange, defaultValue: lastName, placeholder: "Your Last Name", error: !lastName && discountState.inValidation, errorMessage: getErrorMessage(lastName, discountState.inValidation) }), isTheBig && (jsx(InputFormLicenceBox, { ...getDynamicLicenceBoxProps({ ...allProvinces }), name: "driverLicense", title: "Driver Licence Number (Optional)", onChange: handleDriverLicenseChange, defaultValue: driverLicense, description: "Enter your drivers licence number in to receive a more accurate, prequalified quote from our broker partners. This will enable you to provide less details over the phone if you choose to have a broker contact you. This is an optional input." })), jsx(InputFormPhoneBox, { name: "phone", onChange: handlePhoneNumberChange, defaultValue: phone, title: "Phone Number", placeholder: "(855) 325-8444", error: !phone && discountState.inValidation, errorMessage: getErrorMessage(phone, discountState.inValidation) }), jsx(InputFormEmailBox, { validationStatus: emailStatus, errorMessage: emailStatus === ValidationStatusTypes.Declined
|
|
1817
1837
|
? errorMessage
|
|
1818
|
-
: getErrorMessage(email, discountState.inValidation), error: emailStatus === ValidationStatusTypes.Declined ||
|
|
1819
|
-
(!email && discountState.inValidation), name: "email", title: "Please share your email address with us, we'll use it to send you a copy of your quotes.", description: "We will provide you with your insurance quotes immediately after this form completion. If you are not ready to apply today, don\u2019t worry as we will be emailing your quotes to you if you\u2019d like to complete at a later date with the help of one of our trusted broker partners.", onChange: handleEmailChange, defaultValue: email, placeholder: isTheBig ? 'johnsmith@thebig.ca' : 'johnsmith@mychoice.ca' }), isTheBig && (jsx(CheckboxForm, { className: "casl-consent", name: "caslConsent", label: "Yes, I consent to receiving emails from the Billyard Insurance Group.\n I understand that I can unsubscribe at any time", onChange: handleCaslConsentChange, defaultValue: caslConsent })), jsx(BlockSubmit$2, { className: isTheBig ? 'thebig-bold' : 'mychoice' }), jsx(BlockNextPageInfo$2, {})] }));
|
|
1838
|
+
: getErrorMessage(email, discountState.inValidation), error: emailStatus === ValidationStatusTypes.Declined || (!email && discountState.inValidation), name: "email", title: "Please share your email address with us, we'll use it to send you a copy of your quotes.", description: "We will provide you with your insurance quotes immediately after this form completion. If you are not ready to apply today, don\u2019t worry as we will be emailing your quotes to you if you\u2019d like to complete at a later date with the help of one of our trusted broker partners.", onChange: handleEmailChange, defaultValue: email, placeholder: getPlaceholderEmail(appType) }), isTheBig && (jsx(CheckboxForm, { className: "casl-consent", name: "caslConsent", label: "Yes, I consent to receiving emails from the Billyard Insurance Group.\n I understand that I can unsubscribe at any time", onChange: handleCaslConsentChange, defaultValue: caslConsent })), jsx(BlockSubmit$2, { className: isTheBig ? 'thebig-bold' : 'mychoice' }), jsx(BlockNextPageInfo$2, {})] }));
|
|
1820
1839
|
};
|
|
1821
1840
|
|
|
1822
1841
|
const PageCarDiscount = () => {
|
|
@@ -1841,10 +1860,10 @@ const SectionQuoteEdit$2 = () => {
|
|
|
1841
1860
|
const { appConfigState } = useStoreAppConfig();
|
|
1842
1861
|
const { driverState, dispatchDriverBaseState } = useStoreFormCarDriverBase();
|
|
1843
1862
|
const { vehicleState, dispatchVehicleState } = useStoreFormCarVehicle();
|
|
1844
|
-
const { discountState: { appInstallDiscount, multiplePoliciesDiscount } } = useStoreFormCarDiscount();
|
|
1845
|
-
const { appConfigState: { appType } } = useStoreAppConfig();
|
|
1863
|
+
const { discountState: { appInstallDiscount, multiplePoliciesDiscount }, } = useStoreFormCarDiscount();
|
|
1864
|
+
const { appConfigState: { appType }, } = useStoreAppConfig();
|
|
1846
1865
|
const isTheBig = appType === AppTypes.TheBig;
|
|
1847
|
-
const mychoiceCls = appType
|
|
1866
|
+
const mychoiceCls = isMyChoiceLike(appType) ? 'mychoice' : '';
|
|
1848
1867
|
const navigate = useNavigate();
|
|
1849
1868
|
const vehicles = vehicleState.items.map(({ year, make, model }) => [`${year} ${make} ${model}`]);
|
|
1850
1869
|
const drivers = driverState.items.map(({ firstName }) => [`${firstName}`]);
|
|
@@ -1909,7 +1928,7 @@ const BlockMCEndorsements = () => {
|
|
|
1909
1928
|
const SectionQuoteRecalc$1 = () => {
|
|
1910
1929
|
const { appConfigState: { appType }, } = useStoreAppConfig();
|
|
1911
1930
|
const isTheBig = appType === AppTypes.TheBig;
|
|
1912
|
-
const mychoiceCls = appType
|
|
1931
|
+
const mychoiceCls = isMyChoiceLike(appType) ? 'mychoice' : '';
|
|
1913
1932
|
const { vehicleState, dispatchVehicleState } = useStoreFormCarVehicle();
|
|
1914
1933
|
const { comprehensive, collision, liability } = vehicleState.items[vehicleState.activeIndex];
|
|
1915
1934
|
const handleComprehensiveChange = ({ value }) => {
|
|
@@ -2070,7 +2089,7 @@ const SectionAddress = () => {
|
|
|
2070
2089
|
const { streetAddress = '', postalCode = '', addressObject, errorMessage } = item;
|
|
2071
2090
|
const navigate = useNavigate();
|
|
2072
2091
|
const asyncSelectRef = useRef(null);
|
|
2073
|
-
const isMychoice = appType
|
|
2092
|
+
const isMychoice = isMyChoiceLike(appType);
|
|
2074
2093
|
const mychoiceCls = isMychoice ? 'mychoice' : '';
|
|
2075
2094
|
const handleAddressChange = (address) => {
|
|
2076
2095
|
dispatchPostalState({
|
|
@@ -2308,9 +2327,9 @@ const SectionApplicantInfo = () => {
|
|
|
2308
2327
|
const { applicantState, dispatchApplicantInfoState } = useStoreFormHomeApplicantInfo();
|
|
2309
2328
|
const { discountState, dispatchDiscountState } = useStoreFormHomeDiscount();
|
|
2310
2329
|
const { dwellingState, dispatchDwellingState } = useStoreFormHomeDwelling();
|
|
2311
|
-
const { firstName, insured: { birthDay, birthMonth, birthYear
|
|
2312
|
-
const { appConfigState: { appType } } = useStoreAppConfig();
|
|
2313
|
-
const mychoiceCls = appType
|
|
2330
|
+
const { firstName, insured: { birthDay, birthMonth, birthYear }, } = applicantState;
|
|
2331
|
+
const { appConfigState: { appType }, } = useStoreAppConfig();
|
|
2332
|
+
const mychoiceCls = isMyChoiceLike(appType) ? 'mychoice' : '';
|
|
2314
2333
|
const { familiesCount, occupiedYear } = dwellingState;
|
|
2315
2334
|
// VARIABLES =========
|
|
2316
2335
|
const birthDate = birthYear ? `${birthYear}-${birthMonth || '01'}-${birthDay || '01'}` : '';
|
|
@@ -2391,9 +2410,9 @@ const SectionApplicantInsurancePolicy = () => {
|
|
|
2391
2410
|
const { applicantState, dispatchApplicantInsuranceState } = useStoreFormHomeApplicantInsurance();
|
|
2392
2411
|
const { discountState, dispatchDiscountState } = useStoreFormHomeDiscount();
|
|
2393
2412
|
const { policyStartYear, policyStartMonth, policyStartDay } = discountState;
|
|
2394
|
-
const { insuredCurrent, insuredBefore, insured: { dateInsuredCurrent, dateInsuredSince } } = applicantState;
|
|
2395
|
-
const { appConfigState: { appType, insuranceType } } = useStoreAppConfig();
|
|
2396
|
-
const mychoiceCls = appType
|
|
2413
|
+
const { insuredCurrent, insuredBefore, insured: { dateInsuredCurrent, dateInsuredSince }, } = applicantState;
|
|
2414
|
+
const { appConfigState: { appType, insuranceType }, } = useStoreAppConfig();
|
|
2415
|
+
const mychoiceCls = isMyChoiceLike(appType) ? 'mychoice' : '';
|
|
2397
2416
|
const defaultPolicyStartDate = {
|
|
2398
2417
|
year: policyStartYear,
|
|
2399
2418
|
month: policyStartMonth,
|
|
@@ -2443,19 +2462,17 @@ const SectionApplicantInsurancePolicy = () => {
|
|
|
2443
2462
|
payload: { dateInsuredCurrent: value },
|
|
2444
2463
|
});
|
|
2445
2464
|
};
|
|
2446
|
-
return (jsxs("div", { className: `form-section ${mychoiceCls}`, children: [jsx(DateSelectFormBox, { name: "policyStart", dateNames: ['policyStartYear', 'policyStartMonth', 'policyStartDay'], onDateChange: handlePolicyStartChange, defaultValue: defaultPolicyStartDate, title: "What date do you want to start this policy?", errorMessage: getDateErrorMessage([policyStartDay || '', policyStartMonth || '', policyStartYear || ''], applicantState.inValidation), error: applicantState.inValidation, minDate: addDaysToDate('', 1), maxDate: addDaysToDate('', 60), isDay: true }), jsx(SwitchButtonBox, { items: yesNoOptions, onChange: handleInsuredCurrentChange, name: "insuredCurrent", defaultValue: getSelectedOption(yesNoOptions, insuredCurrent), title: "Is your existing policy currently active?", description: "Insurers offer better rates to customers who have a long history of coverage without any gaps.", errorMessage: getErrorMessage(insuredCurrent, applicantState.inValidation) }), insuredCurrent
|
|
2447
|
-
&& (jsxs(Fragment, { children: [jsx(SelectFormBox, { options: insuredYearsOptions, name: "dateInsuredSince", onChange: handleInsuredSinceDateChange, defaultValue: getSelectedOption(insuredYearsOptions, dateInsuredSince), title: "For how long have you maintained uninterrupted insurance coverage?", description: `Let us know how long you’ve had ${insuranceType} insurance without letting the policy expire. It’s fine if you’ve changed providers in the past: what matters is that you switched before your coverage expired.`, placeholder: "Select", autoSelectIfValueIsOutOfOptions: false, error: !dateInsuredSince && applicantState.inValidation, errorMessage: getErrorMessage(dateInsuredSince, applicantState.inValidation) }), jsx(SelectFormBox, { options: getInsuranceYearsOptions(dateInsuredSince || insuredYearsOptions.length.toString()), name: "dateInsuredCurrent", onChange: handleInsuredCurrentDateChange, defaultValue: getSelectedOption(getInsuranceYearsOptions(dateInsuredSince || insuredYearsOptions.length.toString()), dateInsuredCurrent), title: "What is the duration of your insurance coverage with your existing provider?", placeholder: "Select", autoSelectIfValueIsOutOfOptions: false, error: !dateInsuredCurrent && applicantState.inValidation, errorMessage: getErrorMessage(dateInsuredCurrent, applicantState.inValidation) })] })), (!insuredCurrent && insuredCurrent !== undefined)
|
|
2448
|
-
&& (jsx(SwitchButtonBox, { items: yesNoOptions, onChange: handleInsuredBeforeChange, name: "insuredBefore", defaultValue: getSelectedOption(yesNoOptions, insuredBefore), title: `Have you had a ${insuranceType} insurance policy in the past?`, description: "The gender on the policy should match your official applicant\u2019s licence. Some insurers analyze a applicant's sex when creating a policy. Men are typically considered higher risk than female applicants, but the statistics supporting this idea vary from province to province. On average, men and women pay roughly the same for insurance, though.", errorMessage: getErrorMessage(insuredBefore, applicantState.inValidation) }))] }));
|
|
2465
|
+
return (jsxs("div", { className: `form-section ${mychoiceCls}`, children: [jsx(DateSelectFormBox, { name: "policyStart", dateNames: ['policyStartYear', 'policyStartMonth', 'policyStartDay'], onDateChange: handlePolicyStartChange, defaultValue: defaultPolicyStartDate, title: "What date do you want to start this policy?", errorMessage: getDateErrorMessage([policyStartDay || '', policyStartMonth || '', policyStartYear || ''], applicantState.inValidation), error: applicantState.inValidation, minDate: addDaysToDate('', 1), maxDate: addDaysToDate('', 60), isDay: true }), jsx(SwitchButtonBox, { items: yesNoOptions, onChange: handleInsuredCurrentChange, name: "insuredCurrent", defaultValue: getSelectedOption(yesNoOptions, insuredCurrent), title: "Is your existing policy currently active?", description: "Insurers offer better rates to customers who have a long history of coverage without any gaps.", errorMessage: getErrorMessage(insuredCurrent, applicantState.inValidation) }), insuredCurrent && (jsxs(Fragment, { children: [jsx(SelectFormBox, { options: insuredYearsOptions, name: "dateInsuredSince", onChange: handleInsuredSinceDateChange, defaultValue: getSelectedOption(insuredYearsOptions, dateInsuredSince), title: "For how long have you maintained uninterrupted insurance coverage?", description: `Let us know how long you’ve had ${insuranceType} insurance without letting the policy expire. It’s fine if you’ve changed providers in the past: what matters is that you switched before your coverage expired.`, placeholder: "Select", autoSelectIfValueIsOutOfOptions: false, error: !dateInsuredSince && applicantState.inValidation, errorMessage: getErrorMessage(dateInsuredSince, applicantState.inValidation) }), jsx(SelectFormBox, { options: getInsuranceYearsOptions(dateInsuredSince || insuredYearsOptions.length.toString()), name: "dateInsuredCurrent", onChange: handleInsuredCurrentDateChange, defaultValue: getSelectedOption(getInsuranceYearsOptions(dateInsuredSince || insuredYearsOptions.length.toString()), dateInsuredCurrent), title: "What is the duration of your insurance coverage with your existing provider?", placeholder: "Select", autoSelectIfValueIsOutOfOptions: false, error: !dateInsuredCurrent && applicantState.inValidation, errorMessage: getErrorMessage(dateInsuredCurrent, applicantState.inValidation) })] })), !insuredCurrent && insuredCurrent !== undefined && (jsx(SwitchButtonBox, { items: yesNoOptions, onChange: handleInsuredBeforeChange, name: "insuredBefore", defaultValue: getSelectedOption(yesNoOptions, insuredBefore), title: `Have you had a ${insuranceType} insurance policy in the past?`, description: "The gender on the policy should match your official applicant\u2019s licence. Some insurers analyze a applicant's sex when creating a policy. Men are typically considered higher risk than female applicants, but the statistics supporting this idea vary from province to province. On average, men and women pay roughly the same for insurance, though.", errorMessage: getErrorMessage(insuredBefore, applicantState.inValidation) }))] }));
|
|
2449
2466
|
};
|
|
2450
2467
|
|
|
2451
2468
|
const SectionApplicantCancellation = () => {
|
|
2452
2469
|
const { applicantState, dispatchApplicantCancellationState } = useStoreFormHomeApplicantCancellation();
|
|
2453
2470
|
const { dispatchApplicantBaseState } = useStoreFormHomeApplicantBase();
|
|
2454
2471
|
const { insuranceCancellation, insuranceCancellationList } = applicantState;
|
|
2455
|
-
const { appConfigState: { appType } } = useStoreAppConfig();
|
|
2472
|
+
const { appConfigState: { appType }, } = useStoreAppConfig();
|
|
2456
2473
|
const isTheBig = appType === AppTypes.TheBig;
|
|
2457
|
-
const mychoiceCls = appType
|
|
2458
|
-
const { insured: { birthYear, birthMonth, birthDay } } = applicantState;
|
|
2474
|
+
const mychoiceCls = isMyChoiceLike(appType) ? 'mychoice' : '';
|
|
2475
|
+
const { insured: { birthYear, birthMonth, birthDay }, } = applicantState;
|
|
2459
2476
|
const handleIconClick = (index) => () => {
|
|
2460
2477
|
dispatchApplicantCancellationState({
|
|
2461
2478
|
type: StoreFormHomeApplicantCancellationActionTypes.FormHomeApplicantCancellationDelete,
|
|
@@ -2499,24 +2516,23 @@ const SectionApplicantCancellation = () => {
|
|
|
2499
2516
|
});
|
|
2500
2517
|
}
|
|
2501
2518
|
};
|
|
2502
|
-
return (jsxs("div", { className: `form-section ${mychoiceCls}`, children: [jsx("h2", { className: isTheBig ? 'thebig-bold' : '', children: "Cancellations" }), jsx(SwitchButtonBox, { items: yesNoOptions, onChange: handleCancellationChange, name: "insuranceCancellation", defaultValue: getSelectedOption(yesNoOptions, insuranceCancellation), title: "Have you ever had a cancelation due to non payment?" }), insuranceCancellation && (jsxs(Fragment, { children: [insuranceCancellationList?.map(({ cancellationYear, cancellationMonth
|
|
2519
|
+
return (jsxs("div", { className: `form-section ${mychoiceCls}`, children: [jsx("h2", { className: isTheBig ? 'thebig-bold' : '', children: "Cancellations" }), jsx(SwitchButtonBox, { items: yesNoOptions, onChange: handleCancellationChange, name: "insuranceCancellation", defaultValue: getSelectedOption(yesNoOptions, insuranceCancellation), title: "Have you ever had a cancelation due to non payment?" }), insuranceCancellation && (jsxs(Fragment, { children: [insuranceCancellationList?.map(({ cancellationYear, cancellationMonth }, index) => {
|
|
2503
2520
|
const defaultCancellationDate = {
|
|
2504
2521
|
year: cancellationYear,
|
|
2505
2522
|
month: cancellationMonth,
|
|
2506
2523
|
day: '01',
|
|
2507
2524
|
};
|
|
2508
2525
|
return (jsxs("div", { className: "list-block", children: [jsx("hr", {}), jsx("div", { className: "list-item", children: jsx(DateSelectFormBox, { name: `cancellationDate-${index}`, dateNames: [`cancellationYear-${index}`, `cancellationMonth-${index}`], onDateChange: handleCancellationDateChange(index), defaultValue: defaultCancellationDate, title: "What was the date of the cancellation?", isRemovable: insuranceCancellationList.length > 1, onIconClick: handleIconClick(index), errorMessage: getDateErrorMessage(['01', cancellationMonth, cancellationYear], applicantState.inValidation), error: applicantState.inValidation, minDate: birthYear && birthMonth && birthDay ? `${birthYear}-${birthMonth}-${birthDay}` : '' }) })] }, `insurance-cancellation-${index}`));
|
|
2509
|
-
}), insuranceCancellationList && insuranceCancellationList.length < 3
|
|
2510
|
-
? (jsx(ButtonBase, { category: CategoryTypes.Filled, onClick: handleAddButtonClick, size: SizeTypes.Medium, color: ColorTypes.Primary, label: "Add another" })) : (jsx("p", { className: "warning-message", children: "We\u2019re sorry. We cannot currently provide quotes online for 3+ insurance cancelations. Please call one of our broker partners at 1.855.843.1570 to ensure you get an accurate quote over the phone." }))] }))] }));
|
|
2526
|
+
}), insuranceCancellationList && insuranceCancellationList.length < 3 ? (jsx(ButtonBase, { category: CategoryTypes.Filled, onClick: handleAddButtonClick, size: SizeTypes.Medium, color: ColorTypes.Primary, label: "Add another" })) : (jsx("p", { className: "warning-message", children: "We\u2019re sorry. We cannot currently provide quotes online for 3+ insurance cancelations. Please call one of our broker partners at 1.855.843.1570 to ensure you get an accurate quote over the phone." }))] }))] }));
|
|
2511
2527
|
};
|
|
2512
2528
|
|
|
2513
2529
|
const SectionApplicantClaim = () => {
|
|
2514
2530
|
const { applicantState, dispatchApplicantClaimState } = useStoreFormHomeApplicantClaim();
|
|
2515
2531
|
const { dispatchApplicantBaseState } = useStoreFormHomeApplicantBase();
|
|
2516
2532
|
const { insuranceClaim, insuranceClaimList } = applicantState;
|
|
2517
|
-
const { appConfigState: { appType } } = useStoreAppConfig();
|
|
2533
|
+
const { appConfigState: { appType }, } = useStoreAppConfig();
|
|
2518
2534
|
const isTheBig = appType === AppTypes.TheBig;
|
|
2519
|
-
const mychoiceCls = appType
|
|
2535
|
+
const mychoiceCls = isMyChoiceLike(appType) ? 'mychoice' : '';
|
|
2520
2536
|
const handleIconClick = (index) => () => {
|
|
2521
2537
|
dispatchApplicantClaimState({
|
|
2522
2538
|
type: StoreFormHomeApplicantClaimActionTypes.FormHomeApplicantClaimDelete,
|
|
@@ -2569,15 +2585,14 @@ const SectionApplicantClaim = () => {
|
|
|
2569
2585
|
});
|
|
2570
2586
|
}
|
|
2571
2587
|
};
|
|
2572
|
-
return (jsxs("div", { className: `form-section ${mychoiceCls}`, children: [jsx("h2", { className: isTheBig ? 'thebig-bold' : '', children: "Claims" }), jsx(SwitchButtonBox, { items: yesNoOptions, onChange: handleClaimChange, name: "insuranceClaim", defaultValue: getSelectedOption(yesNoOptions, insuranceClaim), title: "Any claims within the last 5 years?", description: "Your quotes will be more accurate if you let us know your claims history." }), insuranceClaim && (jsxs(Fragment, { children: [insuranceClaimList?.map(({ claimYear, claimMonth, claimType
|
|
2588
|
+
return (jsxs("div", { className: `form-section ${mychoiceCls}`, children: [jsx("h2", { className: isTheBig ? 'thebig-bold' : '', children: "Claims" }), jsx(SwitchButtonBox, { items: yesNoOptions, onChange: handleClaimChange, name: "insuranceClaim", defaultValue: getSelectedOption(yesNoOptions, insuranceClaim), title: "Any claims within the last 5 years?", description: "Your quotes will be more accurate if you let us know your claims history." }), insuranceClaim && (jsxs(Fragment, { children: [insuranceClaimList?.map(({ claimYear, claimMonth, claimType }, index) => {
|
|
2573
2589
|
const defaultClaimDate = {
|
|
2574
2590
|
year: claimYear,
|
|
2575
2591
|
month: claimMonth,
|
|
2576
2592
|
day: '01',
|
|
2577
2593
|
};
|
|
2578
2594
|
return (jsxs("div", { className: "list-block", children: [jsx("hr", {}), jsxs("div", { className: "list-item", children: [jsx(DateSelectFormBox, { name: `claimDate-${index}`, dateNames: [`claimYear-${index}`, `claimMonth-${index}`], onDateChange: handleClaimDateChange(index), defaultValue: defaultClaimDate, title: "Claim Date", isRemovable: insuranceClaimList.length > 1, onIconClick: handleIconClick(index), errorMessage: getDateErrorMessage(['01', claimMonth, claimYear], applicantState.inValidation), error: applicantState.inValidation, minDate: subYearsFromDate('', 5) }), jsx(SelectFormBox, { options: claimTypeOptions, name: `claim-type-${index}`, onChange: handleClaimTypeChange(index), defaultValue: claimType, title: "Claim Type", placeholder: "Select", autoSelectIfValueIsOutOfOptions: false, error: !claimType && applicantState.inValidation, errorMessage: getErrorMessage(claimType, applicantState.inValidation) })] })] }, `driver-claim-${index}`));
|
|
2579
|
-
}), insuranceClaimList && insuranceClaimList.length < 3
|
|
2580
|
-
? (jsx(ButtonBase, { category: CategoryTypes.Filled, onClick: handleAddButtonClick, size: SizeTypes.Medium, color: ColorTypes.Primary, label: "Add another" })) : (jsx("p", { className: "warning-message", children: "We\u2019re sorry. We cannot currently provide quotes online for 3+ insurance claims. Please call one of our broker partners at 1.855.843.1570 to ensure you get an accurate quote over the phone." }))] }))] }));
|
|
2595
|
+
}), insuranceClaimList && insuranceClaimList.length < 3 ? (jsx(ButtonBase, { category: CategoryTypes.Filled, onClick: handleAddButtonClick, size: SizeTypes.Medium, color: ColorTypes.Primary, label: "Add another" })) : (jsx("p", { className: "warning-message", children: "We\u2019re sorry. We cannot currently provide quotes online for 3+ insurance claims. Please call one of our broker partners at 1.855.843.1570 to ensure you get an accurate quote over the phone." }))] }))] }));
|
|
2581
2596
|
};
|
|
2582
2597
|
|
|
2583
2598
|
const PageApplicant = () => {
|
|
@@ -2833,9 +2848,14 @@ const BlockDwellingInfo = () => {
|
|
|
2833
2848
|
};
|
|
2834
2849
|
|
|
2835
2850
|
const BlockNextPageInfo$1 = () => {
|
|
2836
|
-
const { appConfigState: { appType } } = useStoreAppConfig();
|
|
2837
|
-
|
|
2838
|
-
|
|
2851
|
+
const { appConfigState: { appType }, } = useStoreAppConfig();
|
|
2852
|
+
if (appType === AppTypes.TheBig) {
|
|
2853
|
+
return (jsx("div", { className: "privacy-policy", children: jsxs("p", { children: [jsx("span", { children: "DISCLAIMER: " }), "As insurance premiums are based on the information you provide it is important that it be 100% accurate and up to date. If you are not sure it is best to check before completing your quote."] }) }));
|
|
2854
|
+
}
|
|
2855
|
+
if (appType === AppTypes.MyChoice) {
|
|
2856
|
+
jsxs(Fragment, { children: [jsx("h5", { children: "On the next page, you will also be able to:" }), jsxs("div", { className: "next-page-points", children: [jsx("p", { children: "1. See what rates insurance carriers are offering" }), jsx("p", { children: "2. Get in touch with a broker and secure your rate" }), jsx("p", { children: "3. Potentially save more by speaking with a broker" })] }), jsx("div", { className: "privacy-policy", children: jsxs("p", { children: ["Once you submit this form, you are agreeing to have your insurance quote sent to you via email and My Choice will provide your contact information to one of our trusted broker partners, who will contact you after your quote is complete to further assist you in securing your best rate. For more details, see our", jsx("a", { href: "https://www.mychoice.ca/privacy-policy/", children: " Privacy Policy" }), "."] }) })] });
|
|
2857
|
+
}
|
|
2858
|
+
return null;
|
|
2839
2859
|
};
|
|
2840
2860
|
|
|
2841
2861
|
const BlockSubmit$1 = ({ className, label, buttonSize, isRecalc = false, }) => {
|
|
@@ -2865,14 +2885,14 @@ BlockSubmit$1.defaultProps = {
|
|
|
2865
2885
|
};
|
|
2866
2886
|
|
|
2867
2887
|
const SectionDiscountInfo = () => {
|
|
2868
|
-
const { appConfigState: { appType, insuranceType } } = useStoreAppConfig();
|
|
2888
|
+
const { appConfigState: { appType, insuranceType }, } = useStoreAppConfig();
|
|
2869
2889
|
const isTheBig = appType === AppTypes.TheBig;
|
|
2870
|
-
const mychoiceCls = appType
|
|
2890
|
+
const mychoiceCls = isMyChoiceLike(appType) ? 'mychoice' : '';
|
|
2871
2891
|
const { discountState, dispatchDiscountState } = useStoreFormHomeDiscount();
|
|
2872
2892
|
// const { applicantState, dispatchApplicantInfoState } = useStoreFormHomeApplicantInfo();
|
|
2873
2893
|
const { validateEmail, errorMessage } = useHandlerHomeQuoterEmail();
|
|
2874
2894
|
const { multiplePoliciesDiscount, emailTo: { email, emailStatus }, quoterInfo = {}, } = discountState;
|
|
2875
|
-
const { firstName = '', lastName = '', phone = '', caslConsent
|
|
2895
|
+
const { firstName = '', lastName = '', phone = '', caslConsent } = quoterInfo;
|
|
2876
2896
|
const handleMultiplePolicyChange = ({ value }) => {
|
|
2877
2897
|
dispatchDiscountState({
|
|
2878
2898
|
type: StoreFormHomeDiscountActionTypes.FormHomeDiscountMultiplePoliciesSelect,
|
|
@@ -2906,13 +2926,11 @@ const SectionDiscountInfo = () => {
|
|
|
2906
2926
|
payload: { caslConsent: value },
|
|
2907
2927
|
});
|
|
2908
2928
|
};
|
|
2909
|
-
return (jsxs("div", { className: `form-section ${mychoiceCls}`, children: [jsx("h2", { className: "section-title", children: "A little extra info for discounts and connecting you with our partners." }), isTheBig
|
|
2910
|
-
? (jsx(LabelFormBox, { title: `You are seconds away from receiving your ${insuranceType} insurance quotes, please provide your email after completing the discount section so we can send you your personalized free ${insuranceType} insurance quotes!` }))
|
|
2911
|
-
: (jsx("span", { className: "info-title-message", children: `You are seconds away from receiving your ${insuranceType} insurance quotes,
|
|
2929
|
+
return (jsxs("div", { className: `form-section ${mychoiceCls}`, children: [jsx("h2", { className: "section-title", children: "A little extra info for discounts and connecting you with our partners." }), isTheBig ? (jsx(LabelFormBox, { title: `You are seconds away from receiving your ${insuranceType} insurance quotes, please provide your email after completing the discount section so we can send you your personalized free ${insuranceType} insurance quotes!` })) : (jsx("span", { className: "info-title-message", children: `You are seconds away from receiving your ${insuranceType} insurance quotes,
|
|
2912
2930
|
please provide your email after completing the discount section so we
|
|
2913
|
-
can send you your personalized free ${insuranceType} insurance quotes!` })), jsx(SwitchButtonBox, { items: yesNoOptions, onChange: handleMultiplePolicyChange, name: "multiplePoliciesDiscount", defaultValue: getSelectedOption(yesNoOptions, multiplePoliciesDiscount), title: "You could potentially save up to 18% more. Would you consider consolidating multiple policies (like auto insurance) with the same provider?", description: "Most insurers offer discounts to consumers who purchase multiple policies. Select \u2018yes\u2019 if you\u2019d like to bundle your home and auto insurance policies." }), jsx(BlockDwellingInfo, {}), jsx(InputFormBox, { name: "firstName", title: "First Name", onChange: handleFirstNameChange, defaultValue: firstName, placeholder: "Your First Name", error: !firstName && discountState.inValidation, errorMessage: getErrorMessage(firstName, discountState.inValidation) }), jsx(InputFormBox, { name: "lastName", title: "Last Name", onChange: handleLastNameChange, defaultValue: lastName, placeholder: "Your Last Name", error: !lastName && discountState.inValidation, errorMessage: getErrorMessage(lastName, discountState.inValidation) }), jsx(InputFormPhoneBox, { name: "phone", onChange: handlePhoneNumberChange, defaultValue: phone, title: "Phone Number", placeholder: "(855) 325-8444", error: !phone && discountState.inValidation, errorMessage: getErrorMessage(phone, discountState.inValidation) }), jsx(InputFormEmailBox, { validationStatus: emailStatus, name: "email", title: "Please share your email address with us, we'll use it to send you a copy of your quotes.", description: "We will provide you with your insurance quotes immediately after this form completion. If you are not ready to apply today, don\u2019t worry as we will be emailing your quotes to you if you\u2019d like to complete at a later date with the help of one of our trusted broker partners.", onChange: handleEmailChange, defaultValue: email, placeholder:
|
|
2914
|
-
? errorMessage
|
|
2915
|
-
|
|
2931
|
+
can send you your personalized free ${insuranceType} insurance quotes!` })), jsx(SwitchButtonBox, { items: yesNoOptions, onChange: handleMultiplePolicyChange, name: "multiplePoliciesDiscount", defaultValue: getSelectedOption(yesNoOptions, multiplePoliciesDiscount), title: "You could potentially save up to 18% more. Would you consider consolidating multiple policies (like auto insurance) with the same provider?", description: "Most insurers offer discounts to consumers who purchase multiple policies. Select \u2018yes\u2019 if you\u2019d like to bundle your home and auto insurance policies." }), jsx(BlockDwellingInfo, {}), jsx(InputFormBox, { name: "firstName", title: "First Name", onChange: handleFirstNameChange, defaultValue: firstName, placeholder: "Your First Name", error: !firstName && discountState.inValidation, errorMessage: getErrorMessage(firstName, discountState.inValidation) }), jsx(InputFormBox, { name: "lastName", title: "Last Name", onChange: handleLastNameChange, defaultValue: lastName, placeholder: "Your Last Name", error: !lastName && discountState.inValidation, errorMessage: getErrorMessage(lastName, discountState.inValidation) }), jsx(InputFormPhoneBox, { name: "phone", onChange: handlePhoneNumberChange, defaultValue: phone, title: "Phone Number", placeholder: "(855) 325-8444", error: !phone && discountState.inValidation, errorMessage: getErrorMessage(phone, discountState.inValidation) }), jsx(InputFormEmailBox, { validationStatus: emailStatus, name: "email", title: "Please share your email address with us, we'll use it to send you a copy of your quotes.", description: "We will provide you with your insurance quotes immediately after this form completion. If you are not ready to apply today, don\u2019t worry as we will be emailing your quotes to you if you\u2019d like to complete at a later date with the help of one of our trusted broker partners.", onChange: handleEmailChange, defaultValue: email, placeholder: getPlaceholderEmail(appType), errorMessage: emailStatus === ValidationStatusTypes.Declined
|
|
2932
|
+
? errorMessage
|
|
2933
|
+
: getErrorMessage(email, discountState.inValidation), error: emailStatus === ValidationStatusTypes.Declined || (!email && discountState.inValidation) }), isTheBig && (jsx(CheckboxForm, { className: "casl-consent", name: "caslConsent", label: "Yes, I consent to receiving emails from the Billyard Insurance Group.\n I understand that I can unsubscribe at any time", onChange: handleCaslConsentChange, defaultValue: caslConsent })), jsx(BlockSubmit$1, { className: isTheBig ? 'thebig-bold' : 'mychoice' }), jsx(BlockNextPageInfo$1, {})] }));
|
|
2916
2934
|
};
|
|
2917
2935
|
|
|
2918
2936
|
const PageHomeDiscount = () => {
|
|
@@ -2935,18 +2953,18 @@ const PageHomeDiscount = () => {
|
|
|
2935
2953
|
};
|
|
2936
2954
|
|
|
2937
2955
|
const SectionQuoteEdit$1 = () => {
|
|
2938
|
-
const { appConfigState: { localIndex, insuranceType } } = useStoreAppConfig();
|
|
2956
|
+
const { appConfigState: { localIndex, insuranceType }, } = useStoreAppConfig();
|
|
2939
2957
|
const { applicantState } = useStoreFormHomeApplicantBase();
|
|
2940
2958
|
const { dwellingState } = useStoreFormHomeDwelling();
|
|
2941
2959
|
const { postalState } = useStoreFormHomePostal();
|
|
2942
|
-
const { discountState: { multiplePoliciesDiscount, quoterInfo } } = useStoreFormHomeDiscount();
|
|
2943
|
-
const { appConfigState: { appType } } = useStoreAppConfig();
|
|
2960
|
+
const { discountState: { multiplePoliciesDiscount, quoterInfo }, } = useStoreFormHomeDiscount();
|
|
2961
|
+
const { appConfigState: { appType }, } = useStoreAppConfig();
|
|
2944
2962
|
const isTheBig = appType === AppTypes.TheBig;
|
|
2945
|
-
const mychoiceCls = appType
|
|
2946
|
-
const { item: { postalCode, provinceCode, city, streetAddress
|
|
2963
|
+
const mychoiceCls = isMyChoiceLike(appType) ? 'mychoice' : '';
|
|
2964
|
+
const { item: { postalCode, provinceCode, city, streetAddress }, } = postalState;
|
|
2947
2965
|
const { deadbolt, sprinkler, burglarAlarm, fireAlarm, fireExtinguishersCount, // mortgagesCount,
|
|
2948
2966
|
} = dwellingState;
|
|
2949
|
-
const { insured: { nonsmoker } } = applicantState;
|
|
2967
|
+
const { insured: { nonsmoker }, } = applicantState;
|
|
2950
2968
|
const discounts = [];
|
|
2951
2969
|
const isHome = insuranceType === InsuranceTypes.Home;
|
|
2952
2970
|
if (multiplePoliciesDiscount) {
|
|
@@ -2991,17 +3009,23 @@ const SectionQuoteEdit$1 = () => {
|
|
|
2991
3009
|
const discountEdit = () => () => {
|
|
2992
3010
|
navigate(`/${localIndex || defaultLocalIndex}/${insuranceType}/discount`);
|
|
2993
3011
|
};
|
|
2994
|
-
return (jsxs("div", { className: `edit-quote-section ${mychoiceCls}`, children: [jsx("h3", { className: isTheBig ? 'thebig-bold' : '', children: "Edit Quote" }), jsxs("div", { className: "edit-section-content", children: [jsx(QuoteEdit, { className: isTheBig ? 'thebig-medium' : '', editClick: addressEdit, title: "Address", items: [[address]] }), jsx(QuoteEdit, { className: isTheBig ? 'thebig-medium' : '', editClick: dwellingEdit, title: "Property Information", items: [[`Year Built: ${dwellingState.builtYear}`]] }), jsx(QuoteEdit, { className: isTheBig ? 'thebig-medium' : '', editClick: applicantEdit, title: "Applicant Information", items: [
|
|
3012
|
+
return (jsxs("div", { className: `edit-quote-section ${mychoiceCls}`, children: [jsx("h3", { className: isTheBig ? 'thebig-bold' : '', children: "Edit Quote" }), jsxs("div", { className: "edit-section-content", children: [jsx(QuoteEdit, { className: isTheBig ? 'thebig-medium' : '', editClick: addressEdit, title: "Address", items: [[address]] }), jsx(QuoteEdit, { className: isTheBig ? 'thebig-medium' : '', editClick: dwellingEdit, title: "Property Information", items: [[`Year Built: ${dwellingState.builtYear}`]] }), jsx(QuoteEdit, { className: isTheBig ? 'thebig-medium' : '', editClick: applicantEdit, title: "Applicant Information", items: [
|
|
3013
|
+
[
|
|
3014
|
+
`Name: ${quoterInfo?.firstName}`,
|
|
3015
|
+
`Occupied by: ${occupiedMembers}`,
|
|
3016
|
+
`Year Occupied: ${dwellingState.occupiedYear}`,
|
|
3017
|
+
],
|
|
3018
|
+
] }), jsx(QuoteEdit, { className: isTheBig ? 'thebig-medium' : '', editClick: discountEdit, title: "Discount Information", items: [discounts] })] })] }));
|
|
2995
3019
|
};
|
|
2996
3020
|
|
|
2997
3021
|
// import { BlockEndorsements } from './blocks/BlockEndorsements';
|
|
2998
3022
|
const SectionQuoteRecalc = () => {
|
|
2999
3023
|
const [ppLocalOptions, setPpLocalOptions] = useState(ppOptions);
|
|
3000
|
-
const { appConfigState: { appType, insuranceType } } = useStoreAppConfig();
|
|
3024
|
+
const { appConfigState: { appType, insuranceType }, } = useStoreAppConfig();
|
|
3001
3025
|
const isTheBig = appType === AppTypes.TheBig;
|
|
3002
|
-
const mychoiceCls = appType
|
|
3026
|
+
const mychoiceCls = isMyChoiceLike(appType) ? 'mychoice' : '';
|
|
3003
3027
|
const { dwellingState, dispatchDwellingState } = useStoreFormHomeDwelling();
|
|
3004
|
-
const { deductible, liability, waterCoverage, pp
|
|
3028
|
+
const { deductible, liability, waterCoverage, pp } = dwellingState;
|
|
3005
3029
|
useEffect(() => {
|
|
3006
3030
|
if (insuranceType === InsuranceTypes.Condo) {
|
|
3007
3031
|
setPpLocalOptions(ppOptions.slice(1));
|
|
@@ -3034,9 +3058,7 @@ const SectionQuoteRecalc = () => {
|
|
|
3034
3058
|
payload: { waterCoverage: value },
|
|
3035
3059
|
});
|
|
3036
3060
|
};
|
|
3037
|
-
return (jsx("div", { className: "form-container", children: jsxs("div", { className: `form-section edit-recalc-container ${mychoiceCls}`, children: [jsx(SelectFormBox, { options: homeCoverageOptions, name: "deductible", onChange: handleDeductibleChange, defaultValue: getSelectedOption(homeCoverageOptions, deductible), title: "Deductible", description: "The deductible is the sum you commit to paying out-of-pocket when making an insurance claim. This amount is subtracted from the total payout you receive from your insurance provider. As an illustration, if your agreed-upon deductible is $500 and the overall damage cost is $5,000, you would cover the first $500, while the insurance company would handle the remaining $4,500. By choosing to increase your deductible, you can reduce the price of your premium.", placeholder: "Select from the list", autoSelectIfValueIsOutOfOptions: false }), jsx(SelectFormBox, { options: homeLiabilityOptions, name: "liability", onChange: handleLiabilityChange, defaultValue: getSelectedOption(homeLiabilityOptions, liability), title: "Liability", description: "Liability insurance safeguards you in case someone gets hurt on your premises, regardless of whether the injury was accidental. For instance, if an individual falls over and injures themselves within your property and opts to take legal action, liability insurance will shoulder a portion of the related expenses. Additionally, it provides protection in the event that you cause damage to another person's property. However, it's important to note that elevating your liability limit can lead to a higher premium cost.", placeholder: "Select from the list", autoSelectIfValueIsOutOfOptions: false }), !(insuranceType === InsuranceTypes.Home) && (jsx(SelectFormBox, { options: ppLocalOptions, name: "pp", onChange: handlePpChange, defaultValue: getSelectedOption(ppLocalOptions, pp), title: "Personal Property Limit", description: "Personal property refers to the items that you own and typically store within your home, including things like furniture, appliances, clothing, and so on.", placeholder: "Select from the list", autoSelectIfValueIsOutOfOptions: false })), jsx(SwitchButtonBox, { items: yesNoOptions, onChange: handleWaterCoverageChange, name: "waterCoverage", defaultValue: getSelectedOption(yesNoOptions, waterCoverage), title: "Water Damage", description: "Water damage insurance includes the following three types of coverage:\n\n1. Sewer Backup Coverage: This protection safeguards you against floods resulting from an overflow of the sewage system due to heavy rainfall or snowmelt.\n\n2. Overland Water Coverage: This coverage defends you against damages from water entering your home at or above ground level, which may be due to an overflowing lake or river, heavy rain, or melted snow.\n\n3. Ground Water Coverage: This coverage provides protection from damage caused by groundwater entering your home through the foundation, floors, or basement walls following sudden water accumulation after substantial rain or snowmelt.\n\nPlease be aware that each insurance provider may have unique policies regarding water damage coverage. Some providers may only offer all three types of coverage together, while others might offer just one. To determine the coverage that is most appropriate for your needs, please consult with our broker partner." }), jsx(BlockSubmit$1, { className: `${isTheBig ? 'thebig-bold' : 'mychoice'} recalculate`, label: "Recalculate Quote", buttonSize: SizeTypes.Medium, isRecalc: true }), jsx("div", { className: "endorsements-container", children: jsxs("div", { className: "labels-block", children: [!(insuranceType === InsuranceTypes.Home)
|
|
3038
|
-
? (jsxs(Fragment, { children: [jsx(LabelFormBox, { name: "additionalLivingExpenses", title: "Additional Living Expenses", description: "This coverage allows you to cover the medical expenses of someone who sustains an injury on your property, irrespective of your legal liability for the damages. To clarify the extent of this coverage, please engage in a conversation with the broker.", isActive: true }), insuranceType === InsuranceTypes.Condo
|
|
3039
|
-
&& (jsxs(Fragment, { children: [jsx(LabelFormBox, { name: "contingentLiability", title: "Contingent Liability", description: "Contingent liability provides protection for your condominium unit if the condominium management's insurance policy proves to be inadequate or has lapsed. For information on the coverage limit, please speak with the broker.", isActive: true }), jsx(LabelFormBox, { name: "lossAssessmentProperty", title: "Loss Assessment - Property", description: "This type of coverage safeguards the communal property that you utilize along with other condominium residents, in the event that the policy held by the condominium management falls short or has ended. For specifics regarding the coverage limit, please engage with the broker.", isActive: true }), jsx(LabelFormBox, { name: "lossAssessmentLiability", title: "Loss Assessment - Liability", description: "This coverage shields the collective liability that you and other condo residents bear for the shared property, should the condo management's insurance policy be inadequate or have expired. To understand the limit of this coverage, it's advisable to consult with the broker.", isActive: true }), jsx(LabelFormBox, { name: "bettermentsImprovements", title: "Betterments and Improvements", description: "This coverage applies to any enhancements you've made to the built-in attributes and amenities of your condominium. To determine the extent of this coverage, please speak with the broker.", isActive: true })] }))] })) : (jsxs(Fragment, { children: [jsx(LabelFormBox, { name: "outbuildings", title: "Outbuildings", isActive: true }), jsx(LabelFormBox, { name: "contents", title: "Contents", isActive: true })] })), jsx(LabelFormBox, { name: "voluntaryMedical", title: "Voluntary Medical", description: "This coverage allows you to cover the medical expenses of someone who sustains an injury on your property, irrespective of your legal liability for the damages. To clarify the extent of this coverage, please engage in a conversation with the broker.", isActive: true }), jsx(LabelFormBox, { name: "voluntaryProperty", title: "Voluntary Property", description: "This coverage provides protection if you inadvertently cause damage to another individual's property, irrespective of your legal obligation to compensate for the damages. For information regarding the coverage limit, please consult with the broker.", isActive: true })] }) })] }) }));
|
|
3061
|
+
return (jsx("div", { className: "form-container", children: jsxs("div", { className: `form-section edit-recalc-container ${mychoiceCls}`, children: [jsx(SelectFormBox, { options: homeCoverageOptions, name: "deductible", onChange: handleDeductibleChange, defaultValue: getSelectedOption(homeCoverageOptions, deductible), title: "Deductible", description: "The deductible is the sum you commit to paying out-of-pocket when making an insurance claim. This amount is subtracted from the total payout you receive from your insurance provider. As an illustration, if your agreed-upon deductible is $500 and the overall damage cost is $5,000, you would cover the first $500, while the insurance company would handle the remaining $4,500. By choosing to increase your deductible, you can reduce the price of your premium.", placeholder: "Select from the list", autoSelectIfValueIsOutOfOptions: false }), jsx(SelectFormBox, { options: homeLiabilityOptions, name: "liability", onChange: handleLiabilityChange, defaultValue: getSelectedOption(homeLiabilityOptions, liability), title: "Liability", description: "Liability insurance safeguards you in case someone gets hurt on your premises, regardless of whether the injury was accidental. For instance, if an individual falls over and injures themselves within your property and opts to take legal action, liability insurance will shoulder a portion of the related expenses. Additionally, it provides protection in the event that you cause damage to another person's property. However, it's important to note that elevating your liability limit can lead to a higher premium cost.", placeholder: "Select from the list", autoSelectIfValueIsOutOfOptions: false }), !(insuranceType === InsuranceTypes.Home) && (jsx(SelectFormBox, { options: ppLocalOptions, name: "pp", onChange: handlePpChange, defaultValue: getSelectedOption(ppLocalOptions, pp), title: "Personal Property Limit", description: "Personal property refers to the items that you own and typically store within your home, including things like furniture, appliances, clothing, and so on.", placeholder: "Select from the list", autoSelectIfValueIsOutOfOptions: false })), jsx(SwitchButtonBox, { items: yesNoOptions, onChange: handleWaterCoverageChange, name: "waterCoverage", defaultValue: getSelectedOption(yesNoOptions, waterCoverage), title: "Water Damage", description: "Water damage insurance includes the following three types of coverage:\n\n1. Sewer Backup Coverage: This protection safeguards you against floods resulting from an overflow of the sewage system due to heavy rainfall or snowmelt.\n\n2. Overland Water Coverage: This coverage defends you against damages from water entering your home at or above ground level, which may be due to an overflowing lake or river, heavy rain, or melted snow.\n\n3. Ground Water Coverage: This coverage provides protection from damage caused by groundwater entering your home through the foundation, floors, or basement walls following sudden water accumulation after substantial rain or snowmelt.\n\nPlease be aware that each insurance provider may have unique policies regarding water damage coverage. Some providers may only offer all three types of coverage together, while others might offer just one. To determine the coverage that is most appropriate for your needs, please consult with our broker partner." }), jsx(BlockSubmit$1, { className: `${isTheBig ? 'thebig-bold' : 'mychoice'} recalculate`, label: "Recalculate Quote", buttonSize: SizeTypes.Medium, isRecalc: true }), jsx("div", { className: "endorsements-container", children: jsxs("div", { className: "labels-block", children: [!(insuranceType === InsuranceTypes.Home) ? (jsxs(Fragment, { children: [jsx(LabelFormBox, { name: "additionalLivingExpenses", title: "Additional Living Expenses", description: "This coverage allows you to cover the medical expenses of someone who sustains an injury on your property, irrespective of your legal liability for the damages. To clarify the extent of this coverage, please engage in a conversation with the broker.", isActive: true }), insuranceType === InsuranceTypes.Condo && (jsxs(Fragment, { children: [jsx(LabelFormBox, { name: "contingentLiability", title: "Contingent Liability", description: "Contingent liability provides protection for your condominium unit if the condominium management's insurance policy proves to be inadequate or has lapsed. For information on the coverage limit, please speak with the broker.", isActive: true }), jsx(LabelFormBox, { name: "lossAssessmentProperty", title: "Loss Assessment - Property", description: "This type of coverage safeguards the communal property that you utilize along with other condominium residents, in the event that the policy held by the condominium management falls short or has ended. For specifics regarding the coverage limit, please engage with the broker.", isActive: true }), jsx(LabelFormBox, { name: "lossAssessmentLiability", title: "Loss Assessment - Liability", description: "This coverage shields the collective liability that you and other condo residents bear for the shared property, should the condo management's insurance policy be inadequate or have expired. To understand the limit of this coverage, it's advisable to consult with the broker.", isActive: true }), jsx(LabelFormBox, { name: "bettermentsImprovements", title: "Betterments and Improvements", description: "This coverage applies to any enhancements you've made to the built-in attributes and amenities of your condominium. To determine the extent of this coverage, please speak with the broker.", isActive: true })] }))] })) : (jsxs(Fragment, { children: [jsx(LabelFormBox, { name: "outbuildings", title: "Outbuildings", isActive: true }), jsx(LabelFormBox, { name: "contents", title: "Contents", isActive: true })] })), jsx(LabelFormBox, { name: "voluntaryMedical", title: "Voluntary Medical", description: "This coverage allows you to cover the medical expenses of someone who sustains an injury on your property, irrespective of your legal liability for the damages. To clarify the extent of this coverage, please engage in a conversation with the broker.", isActive: true }), jsx(LabelFormBox, { name: "voluntaryProperty", title: "Voluntary Property", description: "This coverage provides protection if you inadvertently cause damage to another individual's property, irrespective of your legal obligation to compensate for the damages. For information regarding the coverage limit, please consult with the broker.", isActive: true })] }) })] }) }));
|
|
3040
3062
|
};
|
|
3041
3063
|
|
|
3042
3064
|
const SplashScreen$1 = () => {
|
|
@@ -3106,7 +3128,7 @@ const Description = () => (jsxs("div", { children: [jsx("span", { children: jsx(
|
|
|
3106
3128
|
const SectionCoverage = () => {
|
|
3107
3129
|
const { coverageState: { type, coverage, province, inValidation }, dispatchCoverageState, } = useStoreFormLifeCoverage();
|
|
3108
3130
|
const { appConfigState: { appType }, } = useStoreAppConfig();
|
|
3109
|
-
const isMychoice = appType
|
|
3131
|
+
const isMychoice = isMyChoiceLike(appType);
|
|
3110
3132
|
// const handleProvinceChange = ({ value }: OnChangeEventInterface) => {
|
|
3111
3133
|
// dispatchCoverageState({
|
|
3112
3134
|
// type: StoreFormLifeCoverageActionTypes.FormLifeProvinceSelect,
|
|
@@ -3289,10 +3311,9 @@ const SectionApplicant = () => {
|
|
|
3289
3311
|
textAlign: 'center',
|
|
3290
3312
|
fontSize: '1.15rem',
|
|
3291
3313
|
marginTop: '10px',
|
|
3292
|
-
}, children: `Canadians have compared rates in the last 24 hours and saved ${savedPercentage}% on average` })] }), jsx("h2", { className: "section-title", style: { textAlign: 'center' }, children: `${lockEmoji} Complete the form below to see which companies are offering your quotes.` }), jsx("span", { className: "info-title-message", children: "You are seconds away from receiving your life insurance quotes, please provide your email after completing the final steps so we can send you your personalized free life insurance quotes!" }), jsx(DateSelectFormBox, { name: "dateOfBirth", dateNames: ['birthYear', 'birthMonth', 'birthDay'], onDateChange: handleDateOfBirthChange, defaultValue: defaultDateOfBirth, title: "Date of birth", error: inValidation, errorMessage: getDateErrorMessage([birthDay || '', birthMonth || '', birthYear || ''], inValidation), maxDate: subYearsFromDate('', 14), isDay: true }), jsx(SelectFormBox, { options: genderOptions, name: "gender", onChange: handleGenderChange, defaultValue: getSelectedOption(genderOptions, gender), title: "Gender", placeholder: "Select", autoSelectIfValueIsOutOfOptions: false, error: !gender && inValidation, errorMessage: getErrorMessage(`${gender}`.toString(), inValidation) }), jsx(SwitchButtonBox, { items: smokerOptions, onChange: handleSmokerChange, name: "smoker", defaultValue: getSelectedOption(smokerOptions, smoker), title: "Smoker" }), isTheBig && (jsxs("div", { className: "input-form-box-container", children: [jsx(LabelFormBox, { title: "Complete this form to see all your personalized\n quotes on the next page, you will also be able to:" }), jsxs("ol", { className: "ordered-block", children: [jsx("li", { children: "See what rates insurance carriers are offering" }), jsx("li", { children: "Get in touch with us and secure your rate" }), jsx("li", { children: "Potentially save more by speaking with a broker" })] })] })), jsx(InputFormBox, { name: "firstName", title: "First Name", onChange: handleFirstNameChange, defaultValue: firstName, placeholder: "Your First Name", error: !firstName && inValidation, errorMessage: getErrorMessage(firstName, inValidation) }), jsx(InputFormBox, { name: "lastname", title: "Last Name", onChange: handleLastNameChange, defaultValue: lastName, placeholder: "Your Last Name", error: !lastName && inValidation, errorMessage: getErrorMessage(lastName, inValidation) }), jsx(InputFormPhoneBox, { name: "phone", onChange: handlePhoneNumberChange, defaultValue: phone, title: "Phone Number", placeholder: "(855) 325-8444", error: !phone && inValidation, errorMessage: getErrorMessage(phone, inValidation) }), jsx(InputFormEmailBox, { validationStatus: emailStatus, name: "email", title: "Please provide your email address so we can send you a copy of your quotes", onChange: handleEmailChange, defaultValue: email, placeholder:
|
|
3314
|
+
}, children: `Canadians have compared rates in the last 24 hours and saved ${savedPercentage}% on average` })] }), jsx("h2", { className: "section-title", style: { textAlign: 'center' }, children: `${lockEmoji} Complete the form below to see which companies are offering your quotes.` }), jsx("span", { className: "info-title-message", children: "You are seconds away from receiving your life insurance quotes, please provide your email after completing the final steps so we can send you your personalized free life insurance quotes!" }), jsx(DateSelectFormBox, { name: "dateOfBirth", dateNames: ['birthYear', 'birthMonth', 'birthDay'], onDateChange: handleDateOfBirthChange, defaultValue: defaultDateOfBirth, title: "Date of birth", error: inValidation, errorMessage: getDateErrorMessage([birthDay || '', birthMonth || '', birthYear || ''], inValidation), maxDate: subYearsFromDate('', 14), isDay: true }), jsx(SelectFormBox, { options: genderOptions, name: "gender", onChange: handleGenderChange, defaultValue: getSelectedOption(genderOptions, gender), title: "Gender", placeholder: "Select", autoSelectIfValueIsOutOfOptions: false, error: !gender && inValidation, errorMessage: getErrorMessage(`${gender}`.toString(), inValidation) }), jsx(SwitchButtonBox, { items: smokerOptions, onChange: handleSmokerChange, name: "smoker", defaultValue: getSelectedOption(smokerOptions, smoker), title: "Smoker" }), isTheBig && (jsxs("div", { className: "input-form-box-container", children: [jsx(LabelFormBox, { title: "Complete this form to see all your personalized\n quotes on the next page, you will also be able to:" }), jsxs("ol", { className: "ordered-block", children: [jsx("li", { children: "See what rates insurance carriers are offering" }), jsx("li", { children: "Get in touch with us and secure your rate" }), jsx("li", { children: "Potentially save more by speaking with a broker" })] })] })), jsx(InputFormBox, { name: "firstName", title: "First Name", onChange: handleFirstNameChange, defaultValue: firstName, placeholder: "Your First Name", error: !firstName && inValidation, errorMessage: getErrorMessage(firstName, inValidation) }), jsx(InputFormBox, { name: "lastname", title: "Last Name", onChange: handleLastNameChange, defaultValue: lastName, placeholder: "Your Last Name", error: !lastName && inValidation, errorMessage: getErrorMessage(lastName, inValidation) }), jsx(InputFormPhoneBox, { name: "phone", onChange: handlePhoneNumberChange, defaultValue: phone, title: "Phone Number", placeholder: "(855) 325-8444", error: !phone && inValidation, errorMessage: getErrorMessage(phone, inValidation) }), jsx(InputFormEmailBox, { validationStatus: emailStatus, name: "email", title: "Please provide your email address so we can send you a copy of your quotes", onChange: handleEmailChange, defaultValue: email, placeholder: getPlaceholderEmail(appType), errorMessage: emailStatus === ValidationStatusTypes.Declined
|
|
3293
3315
|
? errorMessage
|
|
3294
|
-
: getErrorMessage(email, inValidation), error: emailStatus === ValidationStatusTypes.Declined ||
|
|
3295
|
-
(!email && inValidation) }), jsx(BlockSubmit, { className: isTheBig ? 'thebig-bold' : '' }), jsx(BlockNextPageInfo, {})] }));
|
|
3316
|
+
: getErrorMessage(email, inValidation), error: emailStatus === ValidationStatusTypes.Declined || (!email && inValidation) }), jsx(BlockSubmit, { className: isTheBig ? 'thebig-bold' : '' }), jsx(BlockNextPageInfo, {})] }));
|
|
3296
3317
|
};
|
|
3297
3318
|
|
|
3298
3319
|
const PageLifeApplicant = () => {
|
|
@@ -3405,16 +3426,18 @@ const getFormattedAddress = (unitNumber, streetAddress, city, provinceCode, post
|
|
|
3405
3426
|
return '';
|
|
3406
3427
|
};
|
|
3407
3428
|
const ModalAddress = () => {
|
|
3408
|
-
const { appModalState: { title, description, submitButtonText, cancelButtonText, submitCallBack, cancelCallBack
|
|
3409
|
-
const { status, getPostal, errorMessage: reqErrorMessage
|
|
3410
|
-
const { postalState: { item, inValidation }, dispatchPostalState } = useStoreFormHomePostal();
|
|
3411
|
-
const { appConfigState: { appType } } = useStoreAppConfig();
|
|
3412
|
-
const { postalCode, city, provinceCode, streetAddress, unitNumber
|
|
3429
|
+
const { appModalState: { title, description, submitButtonText, cancelButtonText, submitCallBack, cancelCallBack }, dispatchAppModalState, } = useStoreAppModal();
|
|
3430
|
+
const { status, getPostal, errorMessage: reqErrorMessage } = useHandlerPostal(InsuranceTypes.Home);
|
|
3431
|
+
const { postalState: { item, inValidation }, dispatchPostalState, } = useStoreFormHomePostal();
|
|
3432
|
+
const { appConfigState: { appType }, } = useStoreAppConfig();
|
|
3433
|
+
const { postalCode, city, provinceCode, streetAddress, unitNumber } = item;
|
|
3413
3434
|
const [localPostalCode, setLocalPostalCode] = useState(postalCode);
|
|
3414
3435
|
const [localUnitNumber, setLocalUnitNumber] = useState(unitNumber);
|
|
3415
3436
|
const [localStreetAddress, setLocalStreetAddress] = useState(streetAddress);
|
|
3416
3437
|
const loading = status === RequestStatusTypes.Loading;
|
|
3417
|
-
const streetAddressErrMessage = !/\b\s+\b/.test(localStreetAddress)
|
|
3438
|
+
const streetAddressErrMessage = !/\b\s+\b/.test(localStreetAddress)
|
|
3439
|
+
? 'The street address should be in the format "123 Streetname Rd."'
|
|
3440
|
+
: '';
|
|
3418
3441
|
const postalCodeErrMessage = localPostalCode.length < 4 ? 'Postal code should have at least 4 characters' : '';
|
|
3419
3442
|
const handleClick = (callBack) => () => {
|
|
3420
3443
|
if (callBack) {
|
|
@@ -3430,10 +3453,14 @@ const ModalAddress = () => {
|
|
|
3430
3453
|
submitCallBack();
|
|
3431
3454
|
}
|
|
3432
3455
|
else if (!localPostalCode || !localStreetAddress || streetAddressErrMessage || postalCodeErrMessage) {
|
|
3433
|
-
dispatchPostalState({
|
|
3456
|
+
dispatchPostalState({
|
|
3457
|
+
type: StoreFormHomePostalActionTypes.FormHomePostalValidate,
|
|
3458
|
+
payload: { inValidation: true },
|
|
3459
|
+
});
|
|
3434
3460
|
}
|
|
3435
3461
|
else {
|
|
3436
|
-
getPostal(postalCodeFormat(localPostalCode))
|
|
3462
|
+
getPostal(postalCodeFormat(localPostalCode))
|
|
3463
|
+
.then((result) => {
|
|
3437
3464
|
const formattedAddress = getFormattedAddress(localUnitNumber, localStreetAddress, result?.data?.city || '', result?.data?.provinceCode || '', localPostalCode, 'Canada');
|
|
3438
3465
|
dispatchPostalState({
|
|
3439
3466
|
type: StoreFormHomePostalActionTypes.FormHomePostalSet,
|
|
@@ -3446,7 +3473,8 @@ const ModalAddress = () => {
|
|
|
3446
3473
|
},
|
|
3447
3474
|
});
|
|
3448
3475
|
dispatchAppModalState({ type: StoreConfigAppModalActionTypes.AppModalClose });
|
|
3449
|
-
})
|
|
3476
|
+
})
|
|
3477
|
+
.catch();
|
|
3450
3478
|
}
|
|
3451
3479
|
}
|
|
3452
3480
|
};
|
|
@@ -3463,7 +3491,7 @@ const ModalAddress = () => {
|
|
|
3463
3491
|
break;
|
|
3464
3492
|
}
|
|
3465
3493
|
};
|
|
3466
|
-
return (jsxs("div", { className: `modal-container edit-address ${appType
|
|
3494
|
+
return (jsxs("div", { className: `modal-container edit-address ${isMyChoiceLike(appType) ? 'mychoice' : ''}`, children: [title && jsx("h3", { children: title }), description && jsx("p", { children: description }), jsx(InputFormBox, { name: "streetAddress", title: "Street Address", onChange: handleChange('streetAddress'), defaultValue: localStreetAddress, placeholder: "Street Name and Number", error: (!localStreetAddress || !/\b\s+\b/.test(localStreetAddress)) && inValidation, errorMessage: getErrorMessage(localStreetAddress, inValidation, streetAddressErrMessage) }), jsx(InputFormBox, { name: "unitApartmentNumber", title: "Unit/Apartment number", onChange: handleChange('unitNumber'), defaultValue: localUnitNumber, placeholder: "Unit, Suite or Apartment Number" }), jsx(InputFormBox, { name: "city", title: "City", defaultValue: city, placeholder: "City", error: !city && inValidation, errorMessage: getErrorMessage(city, inValidation), disabled: true }), jsx(InputFormBox, { name: "postalCode", title: "Postal Code", onChange: handleChange('postalCode'), defaultValue: localPostalCode, placeholder: "", maxLength: 7, error: ((!localPostalCode || localPostalCode.length < 4) && inValidation) || !!reqErrorMessage, errorMessage: getErrorMessage(localPostalCode, inValidation, postalCodeErrMessage) || reqErrorMessage }), jsx(InputFormBox, { name: "province", title: "Province Code", defaultValue: provinceCode, placeholder: "", error: !provinceCode && inValidation, errorMessage: getErrorMessage(provinceCode, inValidation), disabled: true }), jsxs("div", { className: "modal-buttons", children: [cancelButtonText && (jsx(ButtonBase, { type: ButtonTypes.Button, label: cancelButtonText, category: CategoryTypes.Outlined, color: ColorTypes.Default, variant: ButtonVariantTypes.Rectangle, size: SizeTypes.Large, onClick: handleClick(cancelCallBack) })), jsx(ButtonBase, { className: `${loading ? 'disabled' : ''}`, type: ButtonTypes.Button, label: !loading ? submitButtonText || 'OK' : '', category: CategoryTypes.Filled, color: ColorTypes.Primary, variant: ButtonVariantTypes.Rectangle, size: SizeTypes.Large, onClick: onSubmit, children: loading ? jsx(IconLoaderSecondary, {}) : undefined })] })] }));
|
|
3467
3495
|
};
|
|
3468
3496
|
|
|
3469
3497
|
const ModalFinale = () => {
|
|
@@ -3490,8 +3518,8 @@ PostalCodeDataBox.defaultProps = {
|
|
|
3490
3518
|
postalCode: '',
|
|
3491
3519
|
};
|
|
3492
3520
|
|
|
3493
|
-
const StepsBox = ({ formSteps, validationHooks, propertyIsCompleted
|
|
3494
|
-
const { appConfigState: { insuranceType, appType, localIndex } } = useStoreAppConfig();
|
|
3521
|
+
const StepsBox = ({ formSteps, validationHooks, propertyIsCompleted }) => {
|
|
3522
|
+
const { appConfigState: { insuranceType, appType, localIndex }, } = useStoreAppConfig();
|
|
3495
3523
|
const { appDeviceType } = useStoreDeviceType();
|
|
3496
3524
|
const isMobile = appDeviceType === DeviceTypes.Mobile;
|
|
3497
3525
|
const navigate = useNavigate();
|
|
@@ -3503,7 +3531,9 @@ const StepsBox = ({ formSteps, validationHooks, propertyIsCompleted, }) => {
|
|
|
3503
3531
|
const activeStep = formSteps.find((step) => currentPath[currentPath.length - 1] === step.path?.substring(1));
|
|
3504
3532
|
let activeIndex = formSteps.indexOf(activeStep);
|
|
3505
3533
|
activeIndex = activeIndex === -1 ? 0 : activeIndex;
|
|
3506
|
-
let navigationCls = propertyIsCompleted
|
|
3534
|
+
let navigationCls = propertyIsCompleted
|
|
3535
|
+
? 'mychoice-car-navigation-step-container'
|
|
3536
|
+
: 'mychoice-home-navigation-step-container';
|
|
3507
3537
|
if (insuranceType === InsuranceTypes.Life) {
|
|
3508
3538
|
navigationCls = 'mychoice-life-navigation-step-container';
|
|
3509
3539
|
}
|
|
@@ -3517,7 +3547,8 @@ const StepsBox = ({ formSteps, validationHooks, propertyIsCompleted, }) => {
|
|
|
3517
3547
|
// }
|
|
3518
3548
|
// }, [propertyIsCompleted]);
|
|
3519
3549
|
const handleStepClick = (item, itemIndex) => () => {
|
|
3520
|
-
if (window.location.pathname !== `/${localIndex}/${insuranceType}${item.path}`) {
|
|
3550
|
+
if (window.location.pathname !== `/${localIndex}/${insuranceType}${item.path}`) {
|
|
3551
|
+
// ignore double click
|
|
3521
3552
|
if (activeIndex > (itemIndex || 0)) {
|
|
3522
3553
|
navigate(`/${localIndex}/${insuranceType}${item?.path}`);
|
|
3523
3554
|
}
|
|
@@ -3533,13 +3564,16 @@ const StepsBox = ({ formSteps, validationHooks, propertyIsCompleted, }) => {
|
|
|
3533
3564
|
validateOptions.forEach((option, index) => {
|
|
3534
3565
|
const isValid = !option.isValid ? option.validate(false) : option.isValid;
|
|
3535
3566
|
formValidations.push({
|
|
3536
|
-
isValid,
|
|
3567
|
+
isValid,
|
|
3568
|
+
validate: option.validate,
|
|
3569
|
+
requestFn: option?.requestFn || undefined,
|
|
3570
|
+
index,
|
|
3537
3571
|
});
|
|
3538
3572
|
});
|
|
3539
3573
|
}
|
|
3540
3574
|
const formValidated = formValidations.find((option) => !option.isValid);
|
|
3541
3575
|
if (formValidated && !formValidated.isValid) {
|
|
3542
|
-
navigate(`/${localIndex}/${insuranceType}${formSteps[
|
|
3576
|
+
navigate(`/${localIndex}/${insuranceType}${formSteps[formValidated.index || 0]?.path}`);
|
|
3543
3577
|
//
|
|
3544
3578
|
// dispatchAppModalState({
|
|
3545
3579
|
// type: StoreConfigAppModalActionTypes.AppModalMessageModal,
|
|
@@ -3561,7 +3595,7 @@ const StepsBox = ({ formSteps, validationHooks, propertyIsCompleted, }) => {
|
|
|
3561
3595
|
}
|
|
3562
3596
|
}
|
|
3563
3597
|
};
|
|
3564
|
-
return (jsxs("ol", { className: appType
|
|
3598
|
+
return (jsxs("ol", { className: isMyChoiceLike(appType) ? 'mychoice-navigation-steps-container' : 'navigation-steps-container', children: [!isMobile ? (jsx(Fragment, { children: formSteps?.map((item, index) => {
|
|
3565
3599
|
let cls;
|
|
3566
3600
|
switch (true) {
|
|
3567
3601
|
case activeIndex > index:
|
|
@@ -3570,16 +3604,15 @@ const StepsBox = ({ formSteps, validationHooks, propertyIsCompleted, }) => {
|
|
|
3570
3604
|
case activeIndex === index:
|
|
3571
3605
|
cls = 'in-progress';
|
|
3572
3606
|
break;
|
|
3573
|
-
default:
|
|
3607
|
+
default:
|
|
3608
|
+
cls = 'todo';
|
|
3574
3609
|
}
|
|
3575
3610
|
// const homeNavigationCls = propertyIsCompleted ? 'mychoice-car-navigation-step-container' : 'mychoice-home-navigation-step-container';
|
|
3576
|
-
if (appType
|
|
3611
|
+
if (isMyChoiceLike(appType) && index === formSteps.length - 1) {
|
|
3577
3612
|
return jsx(Fragment, {});
|
|
3578
3613
|
}
|
|
3579
|
-
return (jsx("div", { role: "presentation", className: appType
|
|
3580
|
-
|
|
3581
|
-
: jsx(Step, { className: cls, item: item, index: index }, `${index}-${item?.title}`) }, `${index}-${item?.title}`));
|
|
3582
|
-
}) })) : jsx(Step, { item: formSteps[activeIndex], index: activeIndex, itemsCount: formSteps.length, isMobile: true }), appType === AppTypes.MyChoice && (jsxs(Fragment, { children: [jsx("hr", {}), jsxs("div", { className: "estimated-minutes", children: [jsx(IconClock, {}), jsxs("div", { children: ["Estimated", ' ', jsxs("span", { className: "time", children: [formSteps.length - activeIndex - 1, ' ', formSteps.length - activeIndex - 1 > 1 ? 'minutes' : 'minute'] }), ' ', "to complete"] })] })] }))] }));
|
|
3614
|
+
return (jsx("div", { role: "presentation", className: isMyChoiceLike(appType) ? navigationCls : 'navigation-step-container', onKeyDown: handleStepClick(item, index), onClick: handleStepClick(item, index), children: isMyChoiceLike(appType) ? (jsx(MychoiceStep, { className: cls, item: item, index: index }, `${index}-${item?.title}`)) : (jsx(Step, { className: cls, item: item, index: index }, `${index}-${item?.title}`)) }, `${index}-${item?.title}`));
|
|
3615
|
+
}) })) : (jsx(Step, { item: formSteps[activeIndex], index: activeIndex, itemsCount: formSteps.length, isMobile: true })), isMyChoiceLike(appType) && (jsxs(Fragment, { children: [jsx("hr", {}), jsxs("div", { className: "estimated-minutes", children: [jsx(IconClock, {}), jsxs("div", { children: ["Estimated", ' ', jsxs("span", { className: "time", children: [formSteps.length - activeIndex - 1, " ", formSteps.length - activeIndex - 1 > 1 ? 'minutes' : 'minute'] }), ' ', "to complete"] })] })] }))] }));
|
|
3583
3616
|
};
|
|
3584
3617
|
StepsBox.defaultProps = {
|
|
3585
3618
|
partnerId: '',
|
|
@@ -3666,7 +3699,7 @@ ButtonsBox.defaultProps = {
|
|
|
3666
3699
|
|
|
3667
3700
|
const NavigationTop = ({ title, postalCode, validationHooks, formSteps, clearForm, propertyIsCompleted, }) => {
|
|
3668
3701
|
const { pathname } = useLocation();
|
|
3669
|
-
const { appConfigState: { appType, localIndex } } = useStoreAppConfig();
|
|
3702
|
+
const { appConfigState: { appType, localIndex }, } = useStoreAppConfig();
|
|
3670
3703
|
const isTheBig = appType === AppTypes.TheBig;
|
|
3671
3704
|
const { appDeviceType } = useStoreDeviceType();
|
|
3672
3705
|
const isDesktop = appDeviceType === DeviceTypes.Desktop;
|
|
@@ -3692,8 +3725,7 @@ const NavigationTop = ({ title, postalCode, validationHooks, formSteps, clearFor
|
|
|
3692
3725
|
return `rgba(${r}, ${g}, ${b}, ${alpha})`;
|
|
3693
3726
|
}
|
|
3694
3727
|
}
|
|
3695
|
-
return (jsx("div", { className: localIndex !== defaultLocalIndex ? 'navigation-container-partner' : 'navigation-container', children: jsxs("div", { className: `content ${appType
|
|
3696
|
-
? (jsx(Fragment, { children: !isDesktop && (formSteps.length - activeIndex - 1) ? (jsxs("div", { className: "estimated-minutes", children: [jsx(IconClock, {}), jsxs("div", { children: [isMobile ? (jsx("div", { children: jsxs("span", { className: "time", children: [formSteps.length - activeIndex - 1, ' ', formSteps.length - activeIndex - 1 > 1 ? 'minutes' : 'minute'] }) })) : (jsx(Fragment, { children: jsxs("div", { children: ["Estimated", ' ', jsxs("span", { className: "time", children: [formSteps.length - activeIndex - 1, ' ', formSteps.length - activeIndex - 1 > 1 ? 'minutes' : 'minute'] }), ' ', "to complete"] }) })), jsx("span", { children: `Step ${activeIndex + 1}/${formSteps.length - 1}` })] })] })) : jsx("span", {}) })) : (jsx(StepsBox, { formSteps: formSteps, validationHooks: validationHooks, propertyIsCompleted: propertyIsCompleted })), jsx(ButtonsBox, { formSteps: formSteps, validationHooks: validationHooks, clearForm: clearForm, propertyIsCompleted: propertyIsCompleted })] }) }));
|
|
3728
|
+
return (jsx("div", { className: localIndex !== defaultLocalIndex ? 'navigation-container-partner' : 'navigation-container', children: jsxs("div", { className: `content ${isMyChoiceLike(appType) ? 'mychoice' : ''}`, children: [jsx(PostalCodeDataBox, { className: isTheBig ? 'thebig' : '', title: title, postalCode: postalCode }), isMyChoiceLike(appType) ? (jsx(Fragment, { children: !isDesktop && formSteps.length - activeIndex - 1 ? (jsxs("div", { className: "estimated-minutes", children: [jsx(IconClock, {}), jsxs("div", { children: [isMobile ? (jsx("div", { children: jsxs("span", { className: "time", children: [formSteps.length - activeIndex - 1, ' ', formSteps.length - activeIndex - 1 > 1 ? 'minutes' : 'minute'] }) })) : (jsx(Fragment, { children: jsxs("div", { children: ["Estimated", ' ', jsxs("span", { className: "time", children: [formSteps.length - activeIndex - 1, ' ', formSteps.length - activeIndex - 1 > 1 ? 'minutes' : 'minute'] }), ' ', "to complete"] }) })), jsx("span", { children: `Step ${activeIndex + 1}/${formSteps.length - 1}` })] })] })) : (jsx("span", {})) })) : (jsx(StepsBox, { formSteps: formSteps, validationHooks: validationHooks, propertyIsCompleted: propertyIsCompleted })), jsx(ButtonsBox, { formSteps: formSteps, validationHooks: validationHooks, clearForm: clearForm, propertyIsCompleted: propertyIsCompleted })] }) }));
|
|
3697
3729
|
};
|
|
3698
3730
|
NavigationTop.defaultProps = {
|
|
3699
3731
|
isMobile: false,
|
|
@@ -3704,9 +3736,9 @@ const NavigationBottom = ({ createItem, validateForm, formSteps, className, item
|
|
|
3704
3736
|
const { pathname } = useLocation();
|
|
3705
3737
|
const navigate = useNavigate();
|
|
3706
3738
|
const { appConfigState } = useStoreAppConfig();
|
|
3707
|
-
const isMychoice = appConfigState.appType
|
|
3739
|
+
const isMychoice = isMyChoiceLike(appConfigState.appType);
|
|
3708
3740
|
const { insuranceType } = appConfigState;
|
|
3709
|
-
const { dwellingState: { isCompleted } } = useStoreFormHomeDwelling();
|
|
3741
|
+
const { dwellingState: { isCompleted }, } = useStoreFormHomeDwelling();
|
|
3710
3742
|
const [steps, setSteps] = useState(formSteps);
|
|
3711
3743
|
const currentPath = pathname.split('/');
|
|
3712
3744
|
const activeIndex = steps.find((step) => currentPath[currentPath.length - 1] === step.path?.substring(1))?.key || 0;
|
|
@@ -3940,39 +3972,35 @@ const AppModalWrapper = () => {
|
|
|
3940
3972
|
const { appModalState } = useStoreAppModal();
|
|
3941
3973
|
switch (appModalState.modalType) {
|
|
3942
3974
|
case ModalTypes.MessageModal:
|
|
3943
|
-
return
|
|
3975
|
+
return jsx(ModalMessage, {});
|
|
3944
3976
|
case ModalTypes.ConfirmModal:
|
|
3945
|
-
return
|
|
3977
|
+
return jsx(ModalConfirm, {});
|
|
3946
3978
|
case ModalTypes.PostalModal:
|
|
3947
|
-
return
|
|
3979
|
+
return jsx(ModalPostal, {});
|
|
3948
3980
|
case ModalTypes.AddressModal:
|
|
3949
|
-
return
|
|
3981
|
+
return jsx(ModalAddress, {});
|
|
3950
3982
|
case ModalTypes.FinaleModal:
|
|
3951
|
-
return
|
|
3983
|
+
return jsx(ModalFinale, {});
|
|
3952
3984
|
default:
|
|
3953
3985
|
return null;
|
|
3954
3986
|
}
|
|
3955
3987
|
};
|
|
3956
3988
|
const AppModal = () => {
|
|
3957
3989
|
const { appModalState } = useStoreAppModal();
|
|
3958
|
-
const { appConfigState: { appType } } = useStoreAppConfig();
|
|
3990
|
+
const { appConfigState: { appType }, } = useStoreAppConfig();
|
|
3959
3991
|
const insuranceType = getInsuranceType();
|
|
3960
3992
|
if (appModalState.isOpen && document.location.pathname.indexOf(insuranceType) !== -1) {
|
|
3961
|
-
return (jsx("div", { className: `app-modal ${appType
|
|
3993
|
+
return (jsx("div", { className: `app-modal ${isMyChoiceLike(appType) ? 'mychoice' : ''}`, children: jsx(AppModalWrapper, {}) }));
|
|
3962
3994
|
}
|
|
3963
3995
|
return null;
|
|
3964
3996
|
};
|
|
3965
3997
|
|
|
3966
3998
|
const AppHeader = () => {
|
|
3967
|
-
const { appConfigState: { appType, localIndex } } = useStoreAppConfig();
|
|
3999
|
+
const { appConfigState: { appType, localIndex }, } = useStoreAppConfig();
|
|
3968
4000
|
const { appDeviceType } = useStoreDeviceType();
|
|
3969
4001
|
if (appType) {
|
|
3970
|
-
return (jsxs("div", { className: "app-header", children: [appType === AppTypes.TheBig && jsx(HeaderTheBig, { textBack: "home" }), appType === AppTypes.MyChoice
|
|
3971
|
-
|
|
3972
|
-
? jsx(HeaderPartner, {})
|
|
3973
|
-
: (jsx(Fragment, { children: appDeviceType === DeviceTypes.Desktop
|
|
3974
|
-
? jsx(HeaderMyChoice, {})
|
|
3975
|
-
: jsx(HeaderMyChoiceMobile, {}) })))] }));
|
|
4002
|
+
return (jsxs("div", { className: "app-header", children: [appType === AppTypes.TheBig && jsx(HeaderTheBig, { textBack: "home" }), appType === AppTypes.BeginInsurance && (jsx(Fragment, { children: appDeviceType === DeviceTypes.Desktop ? jsx(HeaderBeginInsurance, {}) : jsx(HeaderBeginInsuranceMobile, {}) })), appType === AppTypes.MyChoice &&
|
|
4003
|
+
(localIndex !== defaultLocalIndex ? (jsx(HeaderPartner, {})) : (jsx(Fragment, { children: appDeviceType === DeviceTypes.Desktop ? jsx(HeaderMyChoice, {}) : jsx(HeaderMyChoiceMobile, {}) })))] }));
|
|
3976
4004
|
}
|
|
3977
4005
|
return null;
|
|
3978
4006
|
};
|
|
@@ -4072,7 +4100,7 @@ const AppRouteWrapper = (props) => {
|
|
|
4072
4100
|
let postalCode = carPostal;
|
|
4073
4101
|
const { clearFormData, checkIsExpired, checkIsExpiredWithModal } = ClearFormDataHandler();
|
|
4074
4102
|
const { appLoaderState } = useStoreAppLoader();
|
|
4075
|
-
const isMychoice = appType
|
|
4103
|
+
const isMychoice = isMyChoiceLike(appType);
|
|
4076
4104
|
switch (insuranceType) {
|
|
4077
4105
|
case InsuranceTypes.Car:
|
|
4078
4106
|
postalCode = carPostal;
|
|
@@ -4337,7 +4365,7 @@ const AppRouteWrapper = (props) => {
|
|
|
4337
4365
|
}
|
|
4338
4366
|
}
|
|
4339
4367
|
}, [carPostal, homePostal, lifePostal, isReady]);
|
|
4340
|
-
return (jsx(Fragment, { children: isReady && (jsxs(Fragment, { children: [jsx(AppHeader, {}), jsx(AppModal, {}), insuranceType && (jsx(NavigationTop, { title: `${insuranceType.replace(/^./, insuranceType[0].toUpperCase())} Insurance Quote`, postalCode: postalCode, formSteps: steps, validationHooks: validationHooks, clearForm: clearFormData, propertyIsCompleted: isCompleted })), insuranceType && appType
|
|
4368
|
+
return (jsx(Fragment, { children: isReady && (jsxs(Fragment, { children: [jsx(AppHeader, {}), jsx(AppModal, {}), insuranceType && (jsx(NavigationTop, { title: `${insuranceType.replace(/^./, insuranceType[0].toUpperCase())} Insurance Quote`, postalCode: postalCode, formSteps: steps, validationHooks: validationHooks, clearForm: clearFormData, propertyIsCompleted: isCompleted })), insuranceType && isMyChoiceLike(appType) && (jsx("div", { className: localIndex !== defaultLocalIndex ? 'step-progress-bar-partner' : 'step-progress-bar', children: jsx("span", { style: { width: progressLength } }) })), jsx("div", { className: `${insuranceType ? 'form-page-content' : ''} ${insuranceType && isMyChoiceLike(appType) ? 'mychoice' : ''}`, children: insuranceType && isMyChoiceLike(appType) && isDesktop && progressLength ? (jsx(Fragment, { children: jsxs("div", { className: "mychoice-content", children: [jsx(StepsBox, { className: "step-box", formSteps: steps, validationHooks: validationHooks, propertyIsCompleted: isCompleted }), children, jsx("div", { className: "empty-steps-container" })] }) })) : (children) }), isMychoice && !appLoaderState.isOpen && jsx(ProviderImageFooter, {})] })) }));
|
|
4341
4369
|
};
|
|
4342
4370
|
const NestedRoutes = () => {
|
|
4343
4371
|
const insuranceType = getInsuranceType();
|
|
@@ -4479,7 +4507,7 @@ const AppConfig = (props) => {
|
|
|
4479
4507
|
// home insurance steps states
|
|
4480
4508
|
const { dispatchPostalState: dispatchHomePostalState } = useStoreFormHomePostal();
|
|
4481
4509
|
const { dispatchApplicantBaseState } = useStoreFormHomeApplicantBase();
|
|
4482
|
-
const { dwellingState: { isCompleted }, dispatchDwellingState } = useStoreFormHomeDwelling();
|
|
4510
|
+
const { dwellingState: { isCompleted }, dispatchDwellingState, } = useStoreFormHomeDwelling();
|
|
4483
4511
|
const { dispatchDiscountState: dispatchHomeDiscountState } = useStoreFormHomeDiscount();
|
|
4484
4512
|
const { dispatchQuoteState: dispatchHomeQuoteState } = useStoreFormHomeQuote();
|
|
4485
4513
|
// life insurance
|
|
@@ -4538,8 +4566,7 @@ const AppConfig = (props) => {
|
|
|
4538
4566
|
if (authHandler.status === RequestStatusTypes.Waiting) {
|
|
4539
4567
|
authHandler.checkUser();
|
|
4540
4568
|
}
|
|
4541
|
-
if (authHandler.status !== RequestStatusTypes.Waiting
|
|
4542
|
-
&& authHandler.status !== RequestStatusTypes.Loading) {
|
|
4569
|
+
if (authHandler.status !== RequestStatusTypes.Waiting && authHandler.status !== RequestStatusTypes.Loading) {
|
|
4543
4570
|
if (insuranceType === InsuranceTypes.Car) {
|
|
4544
4571
|
dispatchCarPostalState({
|
|
4545
4572
|
type: StoreFormCarPostalActionTypes.FormCarPostalGetLocal,
|
|
@@ -4569,7 +4596,9 @@ const AppConfig = (props) => {
|
|
|
4569
4596
|
type: StoreFormCarQuoteActionTypes.FormCarQuoteGetLocal,
|
|
4570
4597
|
});
|
|
4571
4598
|
}
|
|
4572
|
-
if (insuranceType === InsuranceTypes.Home ||
|
|
4599
|
+
if (insuranceType === InsuranceTypes.Home ||
|
|
4600
|
+
insuranceType === InsuranceTypes.Condo ||
|
|
4601
|
+
insuranceType === InsuranceTypes.Tenant) {
|
|
4573
4602
|
dispatchHomePostalState({
|
|
4574
4603
|
type: StoreFormHomePostalActionTypes.FormHomePostalGetLocal,
|
|
4575
4604
|
});
|
|
@@ -4620,6 +4649,14 @@ const AppConfig = (props) => {
|
|
|
4620
4649
|
payload: true,
|
|
4621
4650
|
});
|
|
4622
4651
|
}
|
|
4652
|
+
if (appType === AppTypes.BeginInsurance) {
|
|
4653
|
+
// Begin Insurance brand colors: Navy Blue primary, Green accent
|
|
4654
|
+
setExternalColors('#0F2043', '#50C878');
|
|
4655
|
+
dispatchAppConfigState({
|
|
4656
|
+
type: StoreConfigAppConfigActionTypes.AppConfigSetPreloaded,
|
|
4657
|
+
payload: true,
|
|
4658
|
+
});
|
|
4659
|
+
}
|
|
4623
4660
|
}, [appType]);
|
|
4624
4661
|
useEffect(() => {
|
|
4625
4662
|
if (insuranceType === InsuranceTypes.Home && isCompleted) {
|
|
@@ -4674,5 +4711,5 @@ AppWrapper.defaultProps = {
|
|
|
4674
4711
|
insuranceType: InsuranceTypes.Car,
|
|
4675
4712
|
};
|
|
4676
4713
|
|
|
4677
|
-
export { AppWrapper, DateSelectFormBox, HeaderMyChoice, HeaderMyChoiceMobile, HeaderPartner, HeaderTheBig, InputFormBox, InputFormEmailBox, InputFormLicenceBox, InputFormPhoneBox, LabelFormBox, LoaderPrimary, LoaderVid, ModalAddress, ModalConfirm, ModalFinale, ModalMessage, ModalPostal, ModalQuoteRequest, NavigationBottom, NavigationBottomTheBig, NavigationTab, NavigationTabMobile, NavigationTop, NoQuotesMessage, OfferSection, PageAddress, PageApplicant, PageCarDiscount, PageCarQuote, PageCoverage, PageDriver, PageHomeDiscount, PageHomeQuote, PageLifeApplicant, PageLifeQuote, PageProperty, PageVehicle, ProviderImageFooter, SelectFormBox, SwitchButtonBox, capitalize, formSteps, formatPhoneObject, formatTitleToCapital, getDateErrorMessage, getErrorMessage, getSelectedOption, usePathGroups };
|
|
4714
|
+
export { AppWrapper, DateSelectFormBox, HeaderBeginInsurance, HeaderBeginInsuranceMobile, HeaderMyChoice, HeaderMyChoiceMobile, HeaderPartner, HeaderTheBig, InputFormBox, InputFormEmailBox, InputFormLicenceBox, InputFormPhoneBox, LabelFormBox, LoaderPrimary, LoaderVid, ModalAddress, ModalConfirm, ModalFinale, ModalMessage, ModalPostal, ModalQuoteRequest, NavigationBottom, NavigationBottomTheBig, NavigationTab, NavigationTabMobile, NavigationTop, NoQuotesMessage, OfferSection, PageAddress, PageApplicant, PageCarDiscount, PageCarQuote, PageCoverage, PageDriver, PageHomeDiscount, PageHomeQuote, PageLifeApplicant, PageLifeQuote, PageProperty, PageVehicle, ProviderImageFooter, SelectFormBox, SwitchButtonBox, capitalize, formSteps, formatPhoneObject, formatTitleToCapital, getDateErrorMessage, getErrorMessage, getSelectedOption, usePathGroups };
|
|
4678
4715
|
//# sourceMappingURL=index.js.map
|