From 79347c262cb6ce56306f020278fff611c7db0d5f Mon Sep 17 00:00:00 2001 From: Karim El Jazzar Date: Fri, 20 Feb 2026 13:49:14 -0800 Subject: [PATCH 1/6] feat(ui): added renewal badge to old and new examiner dashboards --- strr-examiner-web/app/pages/dashboard.vue | 47 ++++++++++++++++++++--- strr-examiner-web/package.json | 2 +- 2 files changed, 43 insertions(+), 6 deletions(-) diff --git a/strr-examiner-web/app/pages/dashboard.vue b/strr-examiner-web/app/pages/dashboard.vue index 9989f0862..7f88ee52b 100644 --- a/strr-examiner-web/app/pages/dashboard.vue +++ b/strr-examiner-web/app/pages/dashboard.vue @@ -276,6 +276,25 @@ const getRequirementsColumn = (app: HousApplicationResponse) => { return result } +/** Application statuses where renewal is not in progress */ +const RENEWAL_NOT_IN_PROGRESS_STATUSES: ApplicationStatus[] = [ + ApplicationStatus.DECLINED, + ApplicationStatus.PROVISIONALLY_DECLINED, + ApplicationStatus.FULL_REVIEW_APPROVED, + ApplicationStatus.PROVISIONALLY_APPROVED, + ApplicationStatus.AUTO_APPROVED +] + +const hasRenewalInProgress = (reg: HousRegistrationResponse): boolean => { + const applications = reg.header?.applications ?? [] + return applications.some( + app => + app.applicationType === 'renewal' && + app.applicationStatus && + !RENEWAL_NOT_IN_PROGRESS_STATUSES.includes(app.applicationStatus as ApplicationStatus) + ) +} + const getConditionsColumnForRegistration = (reg: HousRegistrationResponse) => { let result = '' let listingSize = '' @@ -385,7 +404,8 @@ const { data: registrationListResp, status: regStatus } = await useAsyncData( applicantName: getApplicantNameColumnForRegistration(reg), propertyAddress: getPropertyAddressColumnForRegistration(reg), localGov: '', // TODO: implement this once API has made the changes - adjudicator: getAdjudicatorColumn(reg.header) + adjudicator: getAdjudicatorColumn(reg.header), + renewalInProgress: hasRenewalInProgress(reg) })) return { registrations, total: res.total } @@ -428,6 +448,7 @@ const { data: applicationListResp, status } = await useAsyncData( applicationNumber: app.header.applicationNumber, registrationNumber: app.header.registrationNumber, registrationId: app.header.registrationId, + applicationType: app.header?.applicationType, registrationType: t(`registrationType.${app.registration.registrationType}`), requirements: getRequirementsColumn(app), applicantName: getApplicantNameColumn(app), @@ -915,8 +936,16 @@ const tabLinks = computed(() => [
{{ row.applicationNumber }}
-
- {{ row.registrationNumber }} +
+ {{ row.registrationNumber }} +
[ {{ row.registrationNumber }}
-
- {{ row.applicationNumber }} +
+ {{ row.applicationNumber }} [ > {{ row.registrationNumber }} +
diff --git a/strr-examiner-web/package.json b/strr-examiner-web/package.json index 3d7245e26..eb3fe2681 100644 --- a/strr-examiner-web/package.json +++ b/strr-examiner-web/package.json @@ -2,7 +2,7 @@ "name": "strr-examiner-web", "private": true, "type": "module", - "version": "0.2.16", + "version": "0.2.17", "scripts": { "build-check": "nuxt build", "build": "nuxt generate", From 0b9cadbe3a684b94061496d3665f9251fc44369e Mon Sep 17 00:00:00 2001 From: Karim El Jazzar Date: Fri, 20 Feb 2026 13:59:00 -0800 Subject: [PATCH 2/6] fixed SC issue --- strr-examiner-web/app/pages/dashboard.vue | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/strr-examiner-web/app/pages/dashboard.vue b/strr-examiner-web/app/pages/dashboard.vue index 7f88ee52b..73da90cd6 100644 --- a/strr-examiner-web/app/pages/dashboard.vue +++ b/strr-examiner-web/app/pages/dashboard.vue @@ -277,13 +277,13 @@ const getRequirementsColumn = (app: HousApplicationResponse) => { } /** Application statuses where renewal is not in progress */ -const RENEWAL_NOT_IN_PROGRESS_STATUSES: ApplicationStatus[] = [ +const RENEWAL_NOT_IN_PROGRESS_STATUSES = new Set([ ApplicationStatus.DECLINED, ApplicationStatus.PROVISIONALLY_DECLINED, ApplicationStatus.FULL_REVIEW_APPROVED, ApplicationStatus.PROVISIONALLY_APPROVED, ApplicationStatus.AUTO_APPROVED -] +]) const hasRenewalInProgress = (reg: HousRegistrationResponse): boolean => { const applications = reg.header?.applications ?? [] @@ -291,7 +291,7 @@ const hasRenewalInProgress = (reg: HousRegistrationResponse): boolean => { app => app.applicationType === 'renewal' && app.applicationStatus && - !RENEWAL_NOT_IN_PROGRESS_STATUSES.includes(app.applicationStatus as ApplicationStatus) + !RENEWAL_NOT_IN_PROGRESS_STATUSES.has(app.applicationStatus as ApplicationStatus) ) } From 2851c50aac8267f2af43f5ff52f39432dd103cb9 Mon Sep 17 00:00:00 2001 From: Karim El Jazzar Date: Fri, 20 Feb 2026 14:01:29 -0800 Subject: [PATCH 3/6] added comment --- strr-examiner-web/app/pages/dashboard.vue | 1 + 1 file changed, 1 insertion(+) diff --git a/strr-examiner-web/app/pages/dashboard.vue b/strr-examiner-web/app/pages/dashboard.vue index 73da90cd6..3464225c2 100644 --- a/strr-examiner-web/app/pages/dashboard.vue +++ b/strr-examiner-web/app/pages/dashboard.vue @@ -285,6 +285,7 @@ const RENEWAL_NOT_IN_PROGRESS_STATUSES = new Set([ ApplicationStatus.AUTO_APPROVED ]) +/** Check if a registration has a renewal application that is not in progress */ const hasRenewalInProgress = (reg: HousRegistrationResponse): boolean => { const applications = reg.header?.applications ?? [] return applications.some( From 22055cd24f1af0345d8c30cb284f9eed6f1063c8 Mon Sep 17 00:00:00 2001 From: Karim El Jazzar Date: Fri, 20 Feb 2026 14:01:53 -0800 Subject: [PATCH 4/6] fixed comment --- strr-examiner-web/app/pages/dashboard.vue | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/strr-examiner-web/app/pages/dashboard.vue b/strr-examiner-web/app/pages/dashboard.vue index 3464225c2..4bbca7680 100644 --- a/strr-examiner-web/app/pages/dashboard.vue +++ b/strr-examiner-web/app/pages/dashboard.vue @@ -285,7 +285,7 @@ const RENEWAL_NOT_IN_PROGRESS_STATUSES = new Set([ ApplicationStatus.AUTO_APPROVED ]) -/** Check if a registration has a renewal application that is not in progress */ +/** Check if a registration has a renewal application that is in progress */ const hasRenewalInProgress = (reg: HousRegistrationResponse): boolean => { const applications = reg.header?.applications ?? [] return applications.some( From ddb403af6b46ca963e21c1e53a06ba6c2eca4c4d Mon Sep 17 00:00:00 2001 From: Karim El Jazzar Date: Mon, 23 Feb 2026 13:12:30 -0800 Subject: [PATCH 5/6] changed to show which registrations has been renewed --- strr-examiner-web/app/pages/dashboard.vue | 16 +++++++--------- 1 file changed, 7 insertions(+), 9 deletions(-) diff --git a/strr-examiner-web/app/pages/dashboard.vue b/strr-examiner-web/app/pages/dashboard.vue index 4bbca7680..39c65ec38 100644 --- a/strr-examiner-web/app/pages/dashboard.vue +++ b/strr-examiner-web/app/pages/dashboard.vue @@ -276,23 +276,21 @@ const getRequirementsColumn = (app: HousApplicationResponse) => { return result } -/** Application statuses where renewal is not in progress */ -const RENEWAL_NOT_IN_PROGRESS_STATUSES = new Set([ - ApplicationStatus.DECLINED, - ApplicationStatus.PROVISIONALLY_DECLINED, +/** Application statuses that mean a renewal was completed (registration was renewed) */ +const RENEWAL_APPROVED_STATUSES = new Set([ ApplicationStatus.FULL_REVIEW_APPROVED, ApplicationStatus.PROVISIONALLY_APPROVED, ApplicationStatus.AUTO_APPROVED ]) -/** Check if a registration has a renewal application that is in progress */ -const hasRenewalInProgress = (reg: HousRegistrationResponse): boolean => { +/** Check if a registration has been renewed. Draft renewals are ignored (Renewals in progress). */ +const hasBeenRenewed = (reg: HousRegistrationResponse): boolean => { const applications = reg.header?.applications ?? [] return applications.some( app => app.applicationType === 'renewal' && app.applicationStatus && - !RENEWAL_NOT_IN_PROGRESS_STATUSES.has(app.applicationStatus as ApplicationStatus) + RENEWAL_APPROVED_STATUSES.has(app.applicationStatus as ApplicationStatus) ) } @@ -406,7 +404,7 @@ const { data: registrationListResp, status: regStatus } = await useAsyncData( propertyAddress: getPropertyAddressColumnForRegistration(reg), localGov: '', // TODO: implement this once API has made the changes adjudicator: getAdjudicatorColumn(reg.header), - renewalInProgress: hasRenewalInProgress(reg) + hasRenewed: hasBeenRenewed(reg) })) return { registrations, total: res.total } @@ -940,7 +938,7 @@ const tabLinks = computed(() => [
{{ row.registrationNumber }} Date: Tue, 24 Feb 2026 12:39:07 -0800 Subject: [PATCH 6/6] added PROVISIONAL_REVIEW to enum --- strr-examiner-web/app/pages/dashboard.vue | 1 + 1 file changed, 1 insertion(+) diff --git a/strr-examiner-web/app/pages/dashboard.vue b/strr-examiner-web/app/pages/dashboard.vue index 39c65ec38..1d4160fa0 100644 --- a/strr-examiner-web/app/pages/dashboard.vue +++ b/strr-examiner-web/app/pages/dashboard.vue @@ -280,6 +280,7 @@ const getRequirementsColumn = (app: HousApplicationResponse) => { const RENEWAL_APPROVED_STATUSES = new Set([ ApplicationStatus.FULL_REVIEW_APPROVED, ApplicationStatus.PROVISIONALLY_APPROVED, + ApplicationStatus.PROVISIONAL_REVIEW, ApplicationStatus.AUTO_APPROVED ])