From fe4a6dbf24f1608f5bcb7fcb5250ea7359fc30b1 Mon Sep 17 00:00:00 2001 From: hsiegeln <37154749+hsiegeln@users.noreply.github.com> Date: Thu, 23 Apr 2026 17:13:45 +0200 Subject: [PATCH] ui(deploy): remove redundant HistoryDisclosure from Deployment tab --- .../DeploymentTab/DeploymentTab.tsx | 3 - .../DeploymentTab/HistoryDisclosure.tsx | 75 ------------------- 2 files changed, 78 deletions(-) delete mode 100644 ui/src/pages/AppsTab/AppDeploymentPage/DeploymentTab/HistoryDisclosure.tsx diff --git a/ui/src/pages/AppsTab/AppDeploymentPage/DeploymentTab/DeploymentTab.tsx b/ui/src/pages/AppsTab/AppDeploymentPage/DeploymentTab/DeploymentTab.tsx index 4322e5d1..e26a62c4 100644 --- a/ui/src/pages/AppsTab/AppDeploymentPage/DeploymentTab/DeploymentTab.tsx +++ b/ui/src/pages/AppsTab/AppDeploymentPage/DeploymentTab/DeploymentTab.tsx @@ -3,7 +3,6 @@ import { DeploymentProgress } from '../../../../components/DeploymentProgress'; import { StartupLogPanel } from '../../../../components/StartupLogPanel'; import { EmptyState } from '@cameleer/design-system'; import { StatusCard } from './StatusCard'; -import { HistoryDisclosure } from './HistoryDisclosure'; import styles from '../AppDeploymentPage.module.css'; interface Props { @@ -40,8 +39,6 @@ export function DeploymentTab({ deployments, versions, appSlug, envSlug, externa )} - ); } diff --git a/ui/src/pages/AppsTab/AppDeploymentPage/DeploymentTab/HistoryDisclosure.tsx b/ui/src/pages/AppsTab/AppDeploymentPage/DeploymentTab/HistoryDisclosure.tsx deleted file mode 100644 index fdc2e4cb..00000000 --- a/ui/src/pages/AppsTab/AppDeploymentPage/DeploymentTab/HistoryDisclosure.tsx +++ /dev/null @@ -1,75 +0,0 @@ -import { useEffect, useRef, useState } from 'react'; -import { DataTable } from '@cameleer/design-system'; -import type { Column } from '@cameleer/design-system'; -import type { Deployment, AppVersion } from '../../../../api/queries/admin/apps'; -import { timeAgo } from '../../../../utils/format-utils'; -import { StartupLogPanel } from '../../../../components/StartupLogPanel'; -import styles from '../AppDeploymentPage.module.css'; - -interface Props { - deployments: Deployment[]; - versions: AppVersion[]; - appSlug: string; - envSlug: string; -} - -export function HistoryDisclosure({ deployments, versions, appSlug, envSlug }: Props) { - const [open, setOpen] = useState(false); - const [expanded, setExpanded] = useState(null); - const logPanelRef = useRef(null); - const versionMap = new Map(versions.map((v) => [v.id, v])); - - useEffect(() => { - if (expanded && logPanelRef.current) { - logPanelRef.current.scrollIntoView({ behavior: 'smooth', block: 'nearest' }); - } - }, [expanded]); - - const rows = deployments - .slice() - .sort((a, b) => (b.createdAt ?? '').localeCompare(a.createdAt ?? '')); - - const columns: Column[] = [ - { key: 'createdAt', header: 'Started', render: (_, d) => timeAgo(d.createdAt) }, - { - key: 'appVersionId', header: 'Version', - render: (_, d) => { - const v = versionMap.get(d.appVersionId); - return v ? `v${v.version}` : '?'; - }, - }, - { key: 'status', header: 'Status' }, - { - key: 'deployedAt', header: 'Duration', - render: (_, d) => d.deployedAt && d.createdAt - ? `${Math.round((Date.parse(d.deployedAt) - Date.parse(d.createdAt)) / 1000)}s` - : '—', - }, - ]; - - return ( -
- - {open && ( - <> - setExpanded(expanded === row.id ? null : row.id)} - /> - {expanded && (() => { - const d = rows.find((r) => r.id === expanded); - if (!d) return null; - return ( -
- -
- ); - })()} - - )} -
- ); -}