From 3eb9e4cf4e319e72b3878ae8aa7ca63dae153999 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?S=C3=A9verin=20Beauvais?= Date: Fri, 4 Oct 2024 12:46:25 -0700 Subject: [PATCH 1/5] - app version = 5.12.1 (#742) - changed page blurb to 18px - deleted authorization date entry from AuthorizationProof component - misc text updates and layout improvements - renamed misc properties (ie, identifier -> registrationNumber and "home" -> "previous") - moved business number entry above date of incorporation - updated misc hints - moved extrapro data from summary component into new summary component - updated UploadAffidavit invalid logic and styling - updated UploadAffidavit by adding button and hiding FileUploadPreview (same as auth files) - fixed misc icon alignments - updated Business Contact Info label - moved common method to document mixin - more text updates - added/updated unit tests Co-authored-by: Severin Beauvais --- package-lock.json | 4 +- package.json | 2 +- src/App.vue | 2 +- src/assets/styles/base.scss | 4 + .../ContinuationIn/AuthorizationProof.vue | 166 +++-------------- .../ContinuationIn/ExtraproRegistration.vue | 127 ++++++------- .../ContinuationIn/ManualBusinessInfo.vue | 84 +++++---- ...> SummaryBusinessPreviousJurisdiction.vue} | 171 +++-------------- .../SummaryExtraprovincialRegistration.vue | 120 ++++++++++++ .../ContinuationIn/UploadAffidavit.vue | 175 +++++++++++++----- src/components/common/BusinessContactInfo.vue | 10 +- .../common/SummaryDefineCompany.vue | 2 +- .../filing-interfaces/filing-interfaces.ts | 4 +- .../authorization-proof-interface.ts | 1 - .../existing-business-info-interface.ts | 16 +- src/mixins/document-mixin.ts | 13 ++ src/mixins/filing-template-mixin.ts | 39 ++-- src/store/store.ts | 8 +- .../ContinuationInAuthorization.vue | 11 +- .../ContinuationInReviewConfirm.vue | 31 +++- tests/unit/AuthorizationProof.spec.ts | 23 +-- .../unit/ContinuationInReviewConfirm.spec.ts | 12 +- .../ContinuationInUploadAffidavit.spec.ts | 8 +- tests/unit/ExtraproRegistration.spec.ts | 8 +- tests/unit/ManualBusinessInfo.spec.ts | 14 +- .../SummaryBusinessHomeJurisdiction.spec.ts | 66 ------- ...ummaryBusinessPreviousJurisdiction.spec.ts | 51 +++++ ...SummaryExtraprovincialRegistration.spec.ts | 36 ++++ 28 files changed, 615 insertions(+), 593 deletions(-) rename src/components/ContinuationIn/{SummaryBusinessHomeJurisdiction.vue => SummaryBusinessPreviousJurisdiction.vue} (63%) create mode 100644 src/components/ContinuationIn/SummaryExtraprovincialRegistration.vue delete mode 100644 tests/unit/SummaryBusinessHomeJurisdiction.spec.ts create mode 100644 tests/unit/SummaryBusinessPreviousJurisdiction.spec.ts create mode 100644 tests/unit/SummaryExtraprovincialRegistration.spec.ts diff --git a/package-lock.json b/package-lock.json index ec3d6ad30..b6cc03bfb 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "business-create-ui", - "version": "5.12.0", + "version": "5.12.1", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "business-create-ui", - "version": "5.12.0", + "version": "5.12.1", "dependencies": { "@babel/compat-data": "^7.21.5", "@bcrs-shared-components/approval-type": "1.1.2", diff --git a/package.json b/package.json index df5e43fc7..acfb1a28c 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "business-create-ui", - "version": "5.12.0", + "version": "5.12.1", "private": true, "appName": "Create UI", "sbcName": "SBC Common Components", diff --git a/src/App.vue b/src/App.vue index 91fdc94a2..c07680cee 100644 --- a/src/App.vue +++ b/src/App.vue @@ -168,7 +168,7 @@

{{ getPageBlurb }}

diff --git a/src/assets/styles/base.scss b/src/assets/styles/base.scss index 3e86df8e9..28b21f50c 100644 --- a/src/assets/styles/base.scss +++ b/src/assets/styles/base.scss @@ -249,6 +249,10 @@ p { font-size: $px-16; } +.font-18 { + font-size: $px-18; +} + .error-text { color: $app-red !important; } diff --git a/src/components/ContinuationIn/AuthorizationProof.vue b/src/components/ContinuationIn/AuthorizationProof.vue index 7c91f0c23..c1f5aa880 100644 --- a/src/components/ContinuationIn/AuthorizationProof.vue +++ b/src/components/ContinuationIn/AuthorizationProof.vue @@ -1,60 +1,22 @@ @@ -57,13 +56,13 @@ in your previous jurisdiction. - +
- + - + @@ -156,8 +158,8 @@ sm="9" > @@ -215,6 +217,7 @@ export default class ManualBusinessInfo extends Mixins(CountriesProvincesMixin, active = false business = {} as ExistingBusinessInfoIF formValid = false + affidavitValid = false readonly identifyingNumberRules: Array = [ (v) => !!v?.trim() || 'Identifying Number is required', @@ -229,13 +232,13 @@ export default class ManualBusinessInfo extends Mixins(CountriesProvincesMixin, get incorporationDateRules (): Array { return [ (v) => !!v || 'Incorporation Date is required', - () => (this.business.homeIncorporationDate <= this.getCurrentDate) || + () => (this.business.prevIncorporationDate <= this.getCurrentDate) || 'Incorporation Date cannot be in the future' ] } get jurisdictionErrorMessage (): string { - return (this.getShowErrors && !this.business.homeJurisdiction) ? 'Jurisdiction is required' : '' + return (this.getShowErrors && !this.business.previousJurisdiction) ? 'Jurisdiction is required' : '' } /** Called when this component is mounted. */ @@ -267,7 +270,7 @@ export default class ManualBusinessInfo extends Mixins(CountriesProvincesMixin, onJurisdictionChange (jurisdiction: any): void { if (jurisdiction?.group === 0) { // set property reactively (in case it was null) - this.$set(this.business, 'homeJurisdiction', { + this.$set(this.business, 'previousJurisdiction', { country: JurisdictionLocation.CA, region: (jurisdiction.value === JurisdictionLocation.FD) ? 'FEDERAL' : jurisdiction.value }) @@ -275,7 +278,7 @@ export default class ManualBusinessInfo extends Mixins(CountriesProvincesMixin, if (jurisdiction?.group === 1) { // set property reactively (in case it was null) - this.$set(this.business, 'homeJurisdiction', { + this.$set(this.business, 'previousJurisdiction', { country: JurisdictionLocation.US, region: jurisdiction.value }) @@ -283,7 +286,7 @@ export default class ManualBusinessInfo extends Mixins(CountriesProvincesMixin, if (jurisdiction?.group === 2) { // set property reactively (in case it was null) - this.$set(this.business, 'homeJurisdiction', { + this.$set(this.business, 'previousJurisdiction', { country: jurisdiction.value, region: '' }) @@ -306,23 +309,24 @@ export default class ManualBusinessInfo extends Mixins(CountriesProvincesMixin, /** Emits form validity. */ @Watch('business', { deep: true }) @Watch('formValid') + @Watch('affidavitValid') @Watch('getShowErrors') @Emit('valid') private onComponentValid (): boolean { // if we're here it's because the user has changed something this.setHaveChanges(true) - // this form is valid if we have the home jurisdiction (custom component) - // and we have the home incorporation date (custom component) + // this form is valid if we have the previous jurisdiction (custom component) + // and we have the incorporation date (custom component) // and we have the affidavit file, if required (custom component) // and the other form (Vuetify) components are valid // show tick mark only when user visits Review Page return ( this.getShowErrors && - !!this.business.homeJurisdiction && - !!this.business.homeIncorporationDate && - (!this.isContinuationInAffidavitRequired || !!this.business.affidavitFileKey) && - this.formValid + !!this.business.previousJurisdiction && + !!this.business.prevIncorporationDate && + (!this.isContinuationInAffidavitRequired || this.affidavitValid) && + this.formValid ) } diff --git a/src/components/ContinuationIn/SummaryBusinessHomeJurisdiction.vue b/src/components/ContinuationIn/SummaryBusinessPreviousJurisdiction.vue similarity index 63% rename from src/components/ContinuationIn/SummaryBusinessHomeJurisdiction.vue rename to src/components/ContinuationIn/SummaryBusinessPreviousJurisdiction.vue index b14eb30c1..a713cdbf5 100644 --- a/src/components/ContinuationIn/SummaryBusinessHomeJurisdiction.vue +++ b/src/components/ContinuationIn/SummaryBusinessPreviousJurisdiction.vue @@ -1,7 +1,7 @@ + + + diff --git a/src/components/ContinuationIn/AuthorizationProof.vue b/src/components/ContinuationIn/AuthorizationProof.vue index c1f5aa880..6d48c90c6 100644 --- a/src/components/ContinuationIn/AuthorizationProof.vue +++ b/src/components/ContinuationIn/AuthorizationProof.vue @@ -24,8 +24,8 @@ sm="9" >

- Upload one or more files that show proof of authorization to continue out of your - previous jursidiction. + Upload one or more files that show proof of authorization to continue out of your previous + jursidiction.

    diff --git a/src/components/ContinuationIn/ExtraproRegistration.vue b/src/components/ContinuationIn/ExtraproRegistration.vue index 0be80a761..53ed293be 100644 --- a/src/components/ContinuationIn/ExtraproRegistration.vue +++ b/src/components/ContinuationIn/ExtraproRegistration.vue @@ -123,13 +123,13 @@ @change="onJurisdictionChange($event)" /> - + @@ -174,7 +174,7 @@ - + - + @@ -355,6 +355,7 @@ export default class ExtraproRegistration extends Mixins(DateMixin) { active = false business = {} as ExistingBusinessInfoIF formValid = false + affidavitValid = false uploadMemorandumDoc = null as File uploadMemorandumDocKey = null as string errorDialog = false @@ -536,7 +537,7 @@ export default class ExtraproRegistration extends Mixins(DateMixin) { /** Emits form validity. */ @Watch('isBusinessActive') @Watch('business', { deep: true }) - @Watch('isContinuationInAffidavitRequired') + @Watch('affidavitValid') @Watch('formValid') @Watch('getShowErrors') @Emit('valid') @@ -555,7 +556,7 @@ export default class ExtraproRegistration extends Mixins(DateMixin) { this.isBusinessActive && !!this.business.previousJurisdiction && !!this.business.prevIncorporationDate && - (!this.isContinuationInAffidavitRequired || !!this.business.affidavitFileKey) && + (!this.isContinuationInAffidavitRequired || this.affidavitValid) && this.formValid ) } diff --git a/src/components/ContinuationIn/ManualBusinessInfo.vue b/src/components/ContinuationIn/ManualBusinessInfo.vue index 25cfc5ad0..b6a5c0fb0 100644 --- a/src/components/ContinuationIn/ManualBusinessInfo.vue +++ b/src/components/ContinuationIn/ManualBusinessInfo.vue @@ -89,13 +89,13 @@ - + @@ -140,7 +140,7 @@ - + - + - +
    - +
    - {{ getExistingBusinessInfo?.prevIncorporationNumber || '[Unknown]' }} + {{ getExistingBusinessInfo.prevIncorporationNumber || '[Unknown]' }}
    @@ -70,7 +70,7 @@ class="pt-4 pt-sm-0" >
    - {{ getExistingBusinessInfo?.prevBusinessName || '[Unknown]' }} + {{ getExistingBusinessInfo.prevBusinessName || '[Unknown]' }}
    @@ -92,7 +92,7 @@ class="pt-4 pt-sm-0" >
    - {{ getExistingBusinessInfo?.businessNumber || '[Not Entered]' }} + {{ getExistingBusinessInfo.businessNumber || '[Not Entered]' }}
    @@ -123,8 +123,8 @@ +
    -
    - - - mdi-file-pdf-outline {{ item.fileName }} -
    - - mdi-close + + +
    + + mdi-check - Missing Authorization File(s) + Authorization to Continue In has been approved.
    + + +
    +
    + + - + +
    +
    + + + + + + + + mdi-file-pdf-outline + {{ getExistingBusinessInfo.affidavitFileName }} +
    @@ -216,7 +226,6 @@ export default class SummaryBusinessPreviousJurisdiction extends Mixins(DateMixi // Getters @Getter(useStore) getContinuationInAuthorizationProof!: AuthorizationProofIF @Getter(useStore) getExistingBusinessInfo!: ExistingBusinessInfoIF - @Getter(useStore) isContinuationInAffidavitRequired!: boolean // local variables errorDialog = false @@ -226,7 +235,7 @@ export default class SummaryBusinessPreviousJurisdiction extends Mixins(DateMixi /** The text version of the previous jurisdiction. */ get previousJurisdiction (): string { - const jurisdiction = this.getExistingBusinessInfo?.previousJurisdiction // may be undefined or null + const jurisdiction = this.getExistingBusinessInfo.previousJurisdiction // may be undefined or null if (jurisdiction?.country === JurisdictionLocation.CA) { if (jurisdiction?.region === 'FEDERAL') return 'Federal' @@ -243,7 +252,7 @@ export default class SummaryBusinessPreviousJurisdiction extends Mixins(DateMixi /** The formatted date of incorporation, continuation, or amalgamation in the previous jurisdiction. */ get prevIncorporationDate (): string { - return this.yyyyMmDdToPacificDate(this.getExistingBusinessInfo?.prevIncorporationDate, true, false) + return this.yyyyMmDdToPacificDate(this.getExistingBusinessInfo.prevIncorporationDate, true, false) } /** Downloads the director affidavit document. */ @@ -286,20 +295,41 @@ article:not(:last-child) { padding-bottom: 0; } -// vertically align file buttons with label -.file-buttons { - margin-top: -6px !important; +.download-authorization-btn, +.download-affidavit-btn { + // set button height for multi-line filenames + height: auto !important; + + .v-icon { + // minimum width of icons (to align them) + min-width: 24px; + } + span { + // make button text larger than default + font-size: $px-16; + // wrap long filenames + text-wrap: wrap; + } } -.download-affidavit-btn, -.download-authorization-btn { - // nudge icon down a bit to line up with text +.approved-checkmark { .v-icon { - margin-top: 2px; + // minimum width of icons (to align them) + min-width: 24px; + // nudge icon up a bit to line up with text + margin-top: -1px; } - // make button text larger than default span { + // make button text larger than default font-size: $px-16; } } + +// "md" breakpoint +@media (min-width: 960px) { + .approved-checkmark .v-icon { + // nudge icon down a bit to line up with text + margin-top: 1px; + } +} diff --git a/src/components/ContinuationIn/SummaryExtraprovincialRegistration.vue b/src/components/ContinuationIn/SummaryExtraprovincialRegistration.vue index 7d655c1b4..297d6ac5c 100644 --- a/src/components/ContinuationIn/SummaryExtraprovincialRegistration.vue +++ b/src/components/ContinuationIn/SummaryExtraprovincialRegistration.vue @@ -1,11 +1,24 @@ @@ -87,20 +121,24 @@ import { Getter } from 'pinia-class' import { useStore } from '@/store/store' import { ExistingBusinessInfoIF } from '@/interfaces' import { DateMixin } from '@/mixins' +import { RouteNames } from '@/enums' @Component({}) export default class SummaryExtraprovincialRegistration extends Mixins(DateMixin) { + // for template + readonly RouteNames = RouteNames + // Getters @Getter(useStore) getExistingBusinessInfo!: ExistingBusinessInfoIF - /** Whether the existing business is an extrapro. */ - get isExpro (): boolean { - return this.getExistingBusinessInfo?.mode === 'EXPRO' + /** Whether this section is invalid. */ + get invalidSection (): boolean { + return !this.getExistingBusinessInfo.exproConfirmation } /** The formatted date of registration in BC. */ get registrationDateBc (): string { - return this.yyyyMmDdToPacificDate(this.getExistingBusinessInfo?.bcRegistrationDate, true, false) + return this.yyyyMmDdToPacificDate(this.getExistingBusinessInfo.bcRegistrationDate, true, false) } } diff --git a/src/components/ContinuationIn/UnlimitedLiabilityCorporationHelp.vue b/src/components/ContinuationIn/UnlimitedLiabilityCorporationHelp.vue new file mode 100644 index 000000000..fa370fc8d --- /dev/null +++ b/src/components/ContinuationIn/UnlimitedLiabilityCorporationHelp.vue @@ -0,0 +1,41 @@ + + + diff --git a/src/components/ContinuationIn/UploadAffidavit.vue b/src/components/ContinuationIn/UploadAffidavit.vue index d1d95f145..801bf9ff9 100644 --- a/src/components/ContinuationIn/UploadAffidavit.vue +++ b/src/components/ContinuationIn/UploadAffidavit.vue @@ -2,7 +2,9 @@

    - Upload the affidavit from the directors. + There is additional information required by the Registrar for an unlimited liability corporation + from Alberta. You are required to provide either a Director's Affidavit or a + Court Order. This will be reviewed by BC Registries staff.

      @@ -61,6 +63,15 @@
    + + + +
    @@ -72,9 +83,14 @@ import { StatusCodes } from 'http-status-codes' import { DateMixin, DocumentMixin } from '@/mixins' import { ExistingBusinessInfoIF, PresignedUrlIF } from '@/interfaces' import FileUploadPreview from '@/components/common/FileUploadPreview.vue' +import { ExpandableHelp } from '@bcrs-shared-components/expandable-help' +import UnlimitedLiabilityCorporationHelp from './UnlimitedLiabilityCorporationHelp.vue' + @Component({ components: { - FileUploadPreview + ExpandableHelp, + FileUploadPreview, + UnlimitedLiabilityCorporationHelp } }) export default class UploadAffidavit extends Mixins(DateMixin, DocumentMixin) { diff --git a/src/components/common/NameRequestInfo.vue b/src/components/common/NameRequestInfo.vue index 8e987d93b..0b33068e2 100644 --- a/src/components/common/NameRequestInfo.vue +++ b/src/components/common/NameRequestInfo.vue @@ -23,7 +23,8 @@ >
    • - {{ getNameRequestNumber }} - {{ getNameRequestApprovedName }} + {{ getNameRequestNumber }} - + {{ getNameRequestApprovedName }}
    • Entity Type: {{ getEntityTypeDescription }} @@ -45,7 +46,10 @@ -
      +