Merge pull request #1023 from Safelite/feature/humphries/INSR-8091

INSR-8091: Policy Holder Details changes from demo
This commit is contained in:
AHumphriesSL 2026-01-26 09:23:07 -05:00 committed by GitHub
commit d384b42e10
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
9 changed files with 46 additions and 60 deletions

View file

@ -146,7 +146,7 @@ export default {
background-size: 0.625rem 1rem; background-size: 0.625rem 1rem;
color: $gray-600; color: $gray-600;
border-radius: $border-radius; border-radius: $border-radius;
min-height: 3rem; min-height: 2.8125rem;
letter-spacing: inherit; letter-spacing: inherit;
box-shadow: $box-shadow-input; box-shadow: $box-shadow-input;
&:focus, &:focus,

View file

@ -86,7 +86,7 @@ function defineGlobalPhoneNumberRules() {
function defineGlobalExtensionRules() { function defineGlobalExtensionRules() {
defineRule( defineRule(
globalRules.EXTENSION_FORMAT, globalRules.EXTENSION_FORMAT,
regex(/^[0-9]{5}$/, errorMessages.EXTENSION_FORMAT) regex(/^[0-9]{1,5}$/, errorMessages.EXTENSION_FORMAT)
); );
} }

View file

@ -12,8 +12,7 @@
hasIcon hasIcon
disableAutoFill disableAutoFill
validationRules="street-address-required" validationRules="street-address-required"
@keydown.enter.prevent @keydown.enter.prevent />
class="mb-4" />
</div> </div>
</div> </div>
<transition <transition
@ -29,24 +28,22 @@
v-model="addressModel.streetAddress2" v-model="addressModel.streetAddress2"
cmsWidgetName="StreetAddress2QuestionWidget" cmsWidgetName="StreetAddress2QuestionWidget"
aria-haspopup="" aria-haspopup=""
inputId="streetAddress2Field" inputId="streetAddress2Field" />
class="mb-4" />
</div> </div>
</div> </div>
<div <div
class="row" class="row"
aria-live="polite"> aria-live="polite">
<div class="col"> <div class="col-lg-6">
<textboxQuestion <textboxQuestion
ref="city" ref="city"
v-model="addressModel.city" v-model="addressModel.city"
cmsWidgetName="CityQuestionWidget" cmsWidgetName="CityQuestionWidget"
inputId="cbf28188fdf2436688fd735915f7ee56" inputId="cbf28188fdf2436688fd735915f7ee56"
disableAutoFill disableAutoFill
validationRules="city-required" validationRules="city-required" />
class="mb-4" />
</div> </div>
<div class="col"> <div class="col-lg-6">
<dropdownQuestion <dropdownQuestion
ref="state" ref="state"
v-model="addressModel.state" v-model="addressModel.state"
@ -55,8 +52,7 @@
inputId="8fdf9dc2e13e430eb57529499dceb3eb" inputId="8fdf9dc2e13e430eb57529499dceb3eb"
:options="stateOptions" :options="stateOptions"
disableAutoFill disableAutoFill
validationRules="state-required" validationRules="state-required" />
class="mb-4" />
</div> </div>
</div> </div>
<div <div
@ -70,8 +66,7 @@
inputId="01a9a1c2de0b4c9da8e023c9ae3be498" inputId="01a9a1c2de0b4c9da8e023c9ae3be498"
mask="#####" mask="#####"
disableAutoFill disableAutoFill
validationRules="zip-code-required|zip-code-format" validationRules="zip-code-required|zip-code-format" />
class="mb-4" />
</div> </div>
</div> </div>
</div> </div>
@ -362,3 +357,12 @@ export default {
} }
}; };
</script> </script>
<style scoped lang="scss">
.textbox-question {
margin-bottom: 1.25rem;
}
.dropdown-question {
margin-bottom: 1.25rem;
}
</style>

View file

@ -14,7 +14,7 @@
id="sub-header" id="sub-header"
cmsWidgetName="SiteSubHeaderWidget" cmsWidgetName="SiteSubHeaderWidget"
class="mt-4" /> class="mt-4" />
<div class="row mb-4"> <div class="row">
<div class="col"> <div class="col">
<textboxQuestion <textboxQuestion
ref="policyHolderFirstName" ref="policyHolderFirstName"
@ -36,8 +36,8 @@
:validationRules="rules.lastName" /> :validationRules="rules.lastName" />
</div> </div>
</div> </div>
<div class="row mb-4"> <div class="row">
<div class="col-md-8"> <div class="col-lg-8">
<textboxQuestion <textboxQuestion
ref="phoneNumber" ref="phoneNumber"
v-model="customerQuestions.phoneNumber" v-model="customerQuestions.phoneNumber"
@ -48,13 +48,14 @@
:mask="phoneMask" :mask="phoneMask"
disableAutoFill /> disableAutoFill />
</div> </div>
<div class="col-md-4"> <div class="col-lg-4">
<textboxQuestion <textboxQuestion
ref="extension" ref="extension"
v-model="customerQuestions.extension" v-model="customerQuestions.extension"
inputId="extensionField" inputId="extensionField"
cmsWidgetName="ExtensionQuestion" cmsWidgetName="ExtensionQuestion"
:validationRules="rules.extension" :validationRules="rules.extension"
maxLength="5"
disableAutoFill /> disableAutoFill />
</div> </div>
</div> </div>
@ -65,8 +66,7 @@
cmsWidgetName="EmailAddressQuestion" cmsWidgetName="EmailAddressQuestion"
:validationRules="rules.email" :validationRules="rules.email"
isRequired isRequired
disableAutoFill disableAutoFill />
class="mb-4" />
<addressQuestions <addressQuestions
id="address-questions-wrapper" id="address-questions-wrapper"
ref="addressQuestions" ref="addressQuestions"
@ -228,4 +228,10 @@ export default {
#address-questions-wrapper .form-test-error { #address-questions-wrapper .form-test-error {
line-height: 24px; line-height: 24px;
} }
.textbox-question {
margin-bottom: 1.25rem;
}
.dropdown-question {
margin-bottom: 1.25rem;
}
</style> </style>

View file

@ -49,6 +49,7 @@
inputId="extension" inputId="extension"
:cmsWidgetName="widget.extensionQuestion" :cmsWidgetName="widget.extensionQuestion"
disableAutoFill disableAutoFill
maxLength="5"
:validationRules="rules.extension" /> :validationRules="rules.extension" />
</template> </template>
</modal> </modal>

View file

@ -39,6 +39,7 @@
inputId="extensionField" inputId="extensionField"
cmsWidgetName="ExtensionQuestion" cmsWidgetName="ExtensionQuestion"
:validationRules="rules.extension" :validationRules="rules.extension"
maxLength="5"
disableAutoFill disableAutoFill
class="form-group" /> class="form-group" />
<textboxQuestion <textboxQuestion

View file

@ -2293,7 +2293,8 @@ export const useMainStore = defineStore({
this.order.serviceLocation.zipCode = welcomePageModel?.policyZipCode; this.order.serviceLocation.zipCode = welcomePageModel?.policyZipCode;
this.updatePhoneNumbers({ this.updatePhoneNumbers({
home: welcomePageModel?.phoneNumber, home: welcomePageModel?.phoneNumber,
service: welcomePageModel?.phoneNumber service: welcomePageModel?.phoneNumber,
extension: welcomePageModel?.extension
}); });
}, },
updatePolicyHolderDetails(customerQuestions) { updatePolicyHolderDetails(customerQuestions) {
@ -2305,6 +2306,11 @@ export const useMainStore = defineStore({
this.order.customer.firstName = customerQuestions.firstName; this.order.customer.firstName = customerQuestions.firstName;
this.order.customer.lastName = customerQuestions.lastName; this.order.customer.lastName = customerQuestions.lastName;
this.order.customer.emailAddress = customerQuestions.email; this.order.customer.emailAddress = customerQuestions.email;
this.updatePhoneNumbers({
home: customerQuestions.phoneNumber,
service: customerQuestions.phoneNumber,
extension: customerQuestions.extension
});
this.order.serviceLocation.zipCode = customerQuestions.addressQuestions.zipCode; this.order.serviceLocation.zipCode = customerQuestions.addressQuestions.zipCode;
}, },
updateIsSafeliteProvider(isSafelite) { updateIsSafeliteProvider(isSafelite) {

View file

@ -22,44 +22,6 @@ body {
flex-direction: column; flex-direction: column;
padding: 0 1.5rem; padding: 0 1.5rem;
} }
// Set max-width on columns to prevent overly-wide
// components on extra wide screens.
.col-md-6 {
max-width: 472px;
@include media-breakpoint-up(xl) {
max-width: 708px;
}
.col {
max-width: 236px;
&.one-list-card-width {
max-width: 472px;
@include media-breakpoint-up(xl) {
max-width: 66.6666666%;
}
}
}
.shop-question {
.col {
max-width: 472px;
}
}
}
.col-xl-4 {
max-width: 472px;
.col {
max-width: 100%;
}
}
//END set max-width on columns
} }
.pointer { .pointer {
@ -156,6 +118,10 @@ body {
width: 46.25rem; // 740px width: 46.25rem; // 740px
} }
@include media-breakpoint-up(lg) {
width: 60rem; // 960px
}
@include media-breakpoint-up(xl) { @include media-breakpoint-up(xl) {
width: 63.75rem; // 1020px width: 63.75rem; // 1020px
} }
@ -166,7 +132,7 @@ body {
width: 100%; width: 100%;
} }
@include media-breakpoint-up(md) { @include media-breakpoint-up(lg) {
width: 58.33333333%; width: 58.33333333%;
} }
} }

View file

@ -194,7 +194,9 @@ $spacers: (
//Bootstrap Grid Breakpoints - Use these breakpoints only //Bootstrap Grid Breakpoints - Use these breakpoints only
$grid-breakpoints: ( $grid-breakpoints: (
xs: 0, xs: 0,
sm: 576px,
md: 768px, md: 768px,
lg: 992px,
xl: 1200px, xl: 1200px,
xxl: 1440px, xxl: 1440px,
); );