import DeployProgress from "@/components/certimate/DeployProgress"; import DeployState from "@/components/certimate/DeployState"; import { Alert, AlertDescription, AlertTitle } from "@/components/ui/alert"; import { Button } from "@/components/ui/button"; import { ScrollArea } from "@/components/ui/scroll-area"; import { Sheet, SheetContent, SheetHeader, SheetTitle, SheetTrigger, } from "@/components/ui/sheet"; import { Deployment, DeploymentListReq, Log } from "@/domain/deployment"; import { convertZulu2Beijing } from "@/lib/time"; import { list } from "@/repository/deployment"; import { Smile } from "lucide-react"; import { useEffect, useState } from "react"; import { useNavigate, useSearchParams } from "react-router-dom"; import { useTranslation } from "react-i18next"; const History = () => { const navigate = useNavigate(); const [deployments, setDeployments] = useState(); const [searchParams] = useSearchParams(); const { t } = useTranslation(); const domain = searchParams.get("domain"); useEffect(() => { const fetchData = async () => { const param: DeploymentListReq = {}; if (domain) { param.domain = domain; } const data = await list(param); setDeployments(data.items); }; fetchData(); }, [domain]); return (
{t("history.page.title")}
{!deployments?.length ? ( <> {t("common.text.nodata")}
{t("history.nodata")}
) : ( <>
{t("history.props.domain")}
{t("history.props.status")}
{t("history.props.stage")}
{t("history.props.last_execution_time")}
{t("common.text.operations")}
{deployments?.map((deployment) => (
{deployment.expand.domain?.domain .split(";") .map((domain: string) => ( <> {domain}
))}
{convertZulu2Beijing(deployment.deployedAt)}
{deployment.expand.domain?.domain}-{deployment.id} {t("history.log")}
{deployment.log.check && ( <> {deployment.log.check.map((item: Log) => { return (
[{item.time}]
{item.message}
{item.error && (
{item.error}
)}
); })} )} {deployment.log.apply && ( <> {deployment.log.apply.map((item: Log) => { return (
[{item.time}]
{item.message}
{item.info && item.info.map((info: string) => { return (
{info}
); })} {item.error && (
{item.error}
)}
); })} )} {deployment.log.deploy && ( <> {deployment.log.deploy.map((item: Log) => { return (
[{item.time}]
{item.message}
{item.error && (
{item.error}
)}
); })} )}
))} )}
); }; export default History;