@@ -50,7 +51,7 @@ export function NewInstanceCard({ onOpen }: {
toAppInfoFromOverview(data.instance),
+ select: data => data.instance,
}))
const listQuery = useQuery(consoleQuery.enterprise.appDeploy.listAppInstances.queryOptions({
@@ -40,24 +71,13 @@ export function DeploymentsNav() {
},
enabled: isActive,
}))
- const apps = sourceAppsFromList(listQuery.data)
+ const appNavItems = listQuery.data?.data?.flatMap(navItemFromListApp) ?? []
+ const currentNavItem = navItemFromOverview(currentInstance)
- const navApps = currentInstance && !apps.some(app => app.id === currentInstance.id)
- ? [...apps, currentInstance]
- : apps
const navigationItems: NavItem[] = isActive
- ? navApps.map((app) => {
- return {
- id: app.id,
- name: app.name,
- link: `/deployments/${app.id}/overview`,
- icon_type: (app.iconType ?? null) as AppIconType | null,
- icon: app.icon ?? '',
- icon_background: app.iconBackground ?? null,
- icon_url: app.iconUrl ?? null,
- mode: app.mode as unknown as AppModeEnum | undefined,
- }
- })
+ ? currentNavItem && !appNavItems.some(item => item.id === currentNavItem.id)
+ ? [...appNavItems, currentNavItem]
+ : appNavItems
: []
const curNav = instanceId
diff --git a/web/features/deployments/types.ts b/web/features/deployments/types.ts
index fa8aa63fc6..b8f8b7947b 100644
--- a/web/features/deployments/types.ts
+++ b/web/features/deployments/types.ts
@@ -44,16 +44,6 @@ type ConsoleUser = EnterpriseContract.ConsoleUser & {
displayName?: string
}
-export type AppDeploymentSummary = EnterpriseContract.AppInstanceCard & {
- createdAt?: Timestamp
- description?: string
- status?: string
-}
-
-export type ListAppDeploymentsReply = Omit & {
- data?: AppDeploymentSummary[]
-}
-
export type AppInstanceOverview = EnterpriseContract.AppInstanceBasicInfo
export type RuntimeBindingDisplay = EnterpriseContract.ReleaseRuntimeBinding & {
diff --git a/web/features/deployments/utils.ts b/web/features/deployments/utils.ts
index 4bfd105266..7067f79bdd 100644
--- a/web/features/deployments/utils.ts
+++ b/web/features/deployments/utils.ts
@@ -1,6 +1,5 @@
import type {
AccessPermissionKind,
- AppDeploymentSummary,
AppInfo,
AppInstanceOverview,
AppMode,
@@ -8,7 +7,6 @@ import type {
ConsoleReleaseSummary,
EnvironmentDeploymentRow,
EnvironmentOption,
- ListAppDeploymentsReply,
ListDeploymentEnvironmentOptionsReply,
RuntimeBindingDisplay,
} from './types'
@@ -136,23 +134,6 @@ export function deployedRows(rows?: EnvironmentDeploymentRow[]) {
}) ?? []
}
-export function toAppInfoFromSummary(summary: AppDeploymentSummary): AppInfo | undefined {
- if (!summary.id || !summary.name)
- return undefined
-
- return {
- id: summary.id,
- name: summary.name,
- mode: (summary.mode || 'workflow') as AppMode,
- iconType: 'emoji',
- icon: summary.icon,
- iconBackground: summary.iconBackground,
- sourceAppName: summary.sourceAppName,
- sourceAppAvailable: summary.sourceAppAvailable,
- canCreateRelease: summary.canCreateRelease,
- }
-}
-
export function toAppInfoFromOverview(instance?: AppInstanceOverview): AppInfo | undefined {
if (!instance?.id)
return undefined
@@ -172,20 +153,6 @@ export function toAppInfoFromOverview(instance?: AppInstanceOverview): AppInfo |
}
}
-export function sourceAppsFromList(response?: ListAppDeploymentsReply) {
- return (response?.data ?? [])
- .map(toAppInfoFromSummary)
- .filter((app): app is AppInfo => Boolean(app))
-}
-
-export function deploymentSummariesFromList(response?: ListAppDeploymentsReply): Record {
- return Object.fromEntries(
- (response?.data ?? [])
- .filter(summary => summary.id)
- .map(summary => [summary.id!, summary]),
- )
-}
-
export function environmentOptionsFromOptionsReply(response?: ListDeploymentEnvironmentOptionsReply): EnvironmentOption[] {
return response?.environments
?.filter(environment => environment.id)