From 908658f6b0c39d1c111e013f3affb995ad8d5855 Mon Sep 17 00:00:00 2001 From: cgoodwin90 Date: Thu, 16 Apr 2026 13:03:21 +1000 Subject: [PATCH 1/2] Displays the actual latest deployment rather than the env update time --- .../(projectroutes)/projects/(projects-page)/page.tsx | 2 ++ .../projects/[projectSlug]/(project-overview)/page.tsx | 1 + src/components/pages/environments/ProjectEnvironmentsPage.tsx | 2 +- src/components/pages/projects/DataTableColumns.tsx | 2 +- src/lib/query/allProjectsQuery.ts | 4 +++- src/lib/query/projectEnvironmentsQuery.ts | 4 +++- 6 files changed, 11 insertions(+), 4 deletions(-) diff --git a/src/app/(routegroups)/(projectroutes)/projects/(projects-page)/page.tsx b/src/app/(routegroups)/(projectroutes)/projects/(projects-page)/page.tsx index 676db7e0..8c2a990f 100644 --- a/src/app/(routegroups)/(projectroutes)/projects/(projects-page)/page.tsx +++ b/src/app/(routegroups)/(projectroutes)/projects/(projects-page)/page.tsx @@ -3,6 +3,7 @@ import { Metadata } from 'next'; import ProjectsPage from '@/components/pages/projects/ProjectsPage'; import { getClient } from '@/lib/apolloClient'; import allProjectsQuery from '@/lib/query/allProjectsQuery'; +import { Deployment } from '../[projectSlug]/[environmentSlug]/deployments/[deploymentSlug]/page'; export const dynamic = 'force-dynamic'; @@ -23,6 +24,7 @@ export type ProjectType = { name: string; route: string; updated: string; + latestDeployment?: Deployment; kubernetes: { id: number; name: string; diff --git a/src/app/(routegroups)/(projectroutes)/projects/[projectSlug]/(project-overview)/page.tsx b/src/app/(routegroups)/(projectroutes)/projects/[projectSlug]/(project-overview)/page.tsx index a812144f..4b8c222e 100644 --- a/src/app/(routegroups)/(projectroutes)/projects/[projectSlug]/(project-overview)/page.tsx +++ b/src/app/(routegroups)/(projectroutes)/projects/[projectSlug]/(project-overview)/page.tsx @@ -27,6 +27,7 @@ export type ProjectEnvironment = { problems: Problem[]; deployments: Deployment[]; pendingChanges: Array<{ details: string }>; + latestDeployment?: Deployment; }; type Project = { diff --git a/src/components/pages/environments/ProjectEnvironmentsPage.tsx b/src/components/pages/environments/ProjectEnvironmentsPage.tsx index 7837db6f..8556d5e3 100644 --- a/src/components/pages/environments/ProjectEnvironmentsPage.tsx +++ b/src/components/pages/environments/ProjectEnvironmentsPage.tsx @@ -93,7 +93,7 @@ export default function ProjectEnvironmentsPage({ deployType: environment.deployType, activeRoutes: {createLinks(routesToUse)}, envType: envType as any, - last_deployment: environment.updated ?? '', + last_deployment: environment.latestDeployment?.created ?? '', region: environment.openshift?.cloudRegion ?? '', project: environment.project, }; diff --git a/src/components/pages/projects/DataTableColumns.tsx b/src/components/pages/projects/DataTableColumns.tsx index 4875ef26..2808eafc 100644 --- a/src/components/pages/projects/DataTableColumns.tsx +++ b/src/components/pages/projects/DataTableColumns.tsx @@ -14,7 +14,7 @@ dayjs.extend(relativeTime); const getLatestDate = (environments: ProjectType['environments']) => { return environments - .map(env => env.updated) + .map(env => env.latestDeployment?.created) .filter(date => date != null) .sort() .pop(); diff --git a/src/lib/query/allProjectsQuery.ts b/src/lib/query/allProjectsQuery.ts index ddd234c3..6017b4a8 100644 --- a/src/lib/query/allProjectsQuery.ts +++ b/src/lib/query/allProjectsQuery.ts @@ -13,7 +13,9 @@ export default gql` environments(type: PRODUCTION) { name route - updated + latestDeployment { + created + } kubernetes { id name diff --git a/src/lib/query/projectEnvironmentsQuery.ts b/src/lib/query/projectEnvironmentsQuery.ts index e158bb51..5a4bdfdf 100644 --- a/src/lib/query/projectEnvironmentsQuery.ts +++ b/src/lib/query/projectEnvironmentsQuery.ts @@ -15,7 +15,9 @@ export default gql` deployType environmentType routes - updated + latestDeployment { + created + } openshiftProjectName project { problemsUi From cebacc7576a34cc633fa31338be14922ac16c16a Mon Sep 17 00:00:00 2001 From: cgoodwin90 Date: Tue, 5 May 2026 08:51:29 +1000 Subject: [PATCH 2/2] Updated to use deployments with limit --- .../(projectroutes)/projects/(projects-page)/page.tsx | 2 +- .../projects/[projectSlug]/(project-overview)/page.tsx | 1 - src/components/pages/environments/ProjectEnvironmentsPage.tsx | 2 +- src/components/pages/projects/DataTableColumns.tsx | 2 +- src/lib/query/allProjectsQuery.ts | 2 +- src/lib/query/projectEnvironmentsQuery.ts | 2 +- 6 files changed, 5 insertions(+), 6 deletions(-) diff --git a/src/app/(routegroups)/(projectroutes)/projects/(projects-page)/page.tsx b/src/app/(routegroups)/(projectroutes)/projects/(projects-page)/page.tsx index 8c2a990f..8f4f4417 100644 --- a/src/app/(routegroups)/(projectroutes)/projects/(projects-page)/page.tsx +++ b/src/app/(routegroups)/(projectroutes)/projects/(projects-page)/page.tsx @@ -24,7 +24,7 @@ export type ProjectType = { name: string; route: string; updated: string; - latestDeployment?: Deployment; + deployments?: Deployment[]; kubernetes: { id: number; name: string; diff --git a/src/app/(routegroups)/(projectroutes)/projects/[projectSlug]/(project-overview)/page.tsx b/src/app/(routegroups)/(projectroutes)/projects/[projectSlug]/(project-overview)/page.tsx index 4b8c222e..a812144f 100644 --- a/src/app/(routegroups)/(projectroutes)/projects/[projectSlug]/(project-overview)/page.tsx +++ b/src/app/(routegroups)/(projectroutes)/projects/[projectSlug]/(project-overview)/page.tsx @@ -27,7 +27,6 @@ export type ProjectEnvironment = { problems: Problem[]; deployments: Deployment[]; pendingChanges: Array<{ details: string }>; - latestDeployment?: Deployment; }; type Project = { diff --git a/src/components/pages/environments/ProjectEnvironmentsPage.tsx b/src/components/pages/environments/ProjectEnvironmentsPage.tsx index 8556d5e3..a9635f01 100644 --- a/src/components/pages/environments/ProjectEnvironmentsPage.tsx +++ b/src/components/pages/environments/ProjectEnvironmentsPage.tsx @@ -93,7 +93,7 @@ export default function ProjectEnvironmentsPage({ deployType: environment.deployType, activeRoutes: {createLinks(routesToUse)}, envType: envType as any, - last_deployment: environment.latestDeployment?.created ?? '', + last_deployment: environment.deployments?.[0]?.created ?? '', region: environment.openshift?.cloudRegion ?? '', project: environment.project, }; diff --git a/src/components/pages/projects/DataTableColumns.tsx b/src/components/pages/projects/DataTableColumns.tsx index 2808eafc..11431c04 100644 --- a/src/components/pages/projects/DataTableColumns.tsx +++ b/src/components/pages/projects/DataTableColumns.tsx @@ -14,7 +14,7 @@ dayjs.extend(relativeTime); const getLatestDate = (environments: ProjectType['environments']) => { return environments - .map(env => env.latestDeployment?.created) + .map(env => env.deployments?.[0]?.created) .filter(date => date != null) .sort() .pop(); diff --git a/src/lib/query/allProjectsQuery.ts b/src/lib/query/allProjectsQuery.ts index 6017b4a8..e54b5a5b 100644 --- a/src/lib/query/allProjectsQuery.ts +++ b/src/lib/query/allProjectsQuery.ts @@ -13,7 +13,7 @@ export default gql` environments(type: PRODUCTION) { name route - latestDeployment { + deployments(limit: 1) { created } kubernetes { diff --git a/src/lib/query/projectEnvironmentsQuery.ts b/src/lib/query/projectEnvironmentsQuery.ts index 5a4bdfdf..567305be 100644 --- a/src/lib/query/projectEnvironmentsQuery.ts +++ b/src/lib/query/projectEnvironmentsQuery.ts @@ -15,7 +15,7 @@ export default gql` deployType environmentType routes - latestDeployment { + deployments(limit: 1) { created } openshiftProjectName