This commit is contained in:
hailin 2025-04-07 09:22:56 +08:00
parent 8cc6b0344d
commit dad6eabee0
1 changed files with 7 additions and 1 deletions

View File

@ -42,6 +42,8 @@ import { useState, useRef, } from "react";
import { Trash2 } from "lucide-react";
import { useEffect } from "react";
import {
BadgeInfo,
Tags,
@ -412,6 +414,7 @@ export function DetailPageHeader({ data }: { data: any }) {
const [showDelete, setShowDelete] = useState(false);
const [hasWSConnected, setHasWSConnected] = useState(false);
const [statusLoaded, setStatusLoaded] = useState(false);
const [canDeploy, setCanDeploy] = useState(true);
const socketRef = useRef<WebSocket | null>(null);
const initWebSocket = (userName: string, id: number) => {
@ -585,6 +588,7 @@ export function DetailPageHeader({ data }: { data: any }) {
setShowDelete(false);
setProgress("0%");
setShowProgressBar(false);
setCanDeploy(true); // ✅ 允许部署
return;
}
@ -592,6 +596,7 @@ export function DetailPageHeader({ data }: { data: any }) {
setStatusText("检测到正在部署,连接中...");
initWebSocket(userName, id);
setShowProgressBar(true);
setCanDeploy(false); // ✅ 正在部署中,禁止点击
}
if (status === "running" || status === "stopped") {
@ -599,6 +604,7 @@ export function DetailPageHeader({ data }: { data: any }) {
setShowDelete(true);
setProgress("100%");
setShowProgressBar(true);
setCanDeploy(false); // ✅ 已部署/已停止,不允许再次 deploy
if (status === "running") {
setStatusText("运行中");
@ -716,7 +722,7 @@ export function DetailPageHeader({ data }: { data: any }) {
<button
className="group flex items-center justify-center w-24 h-24 md:w-32 md:h-32 border transition"
onClick={() => handleClick("icon")}
disabled={loading || data?.status === "running"}
disabled={loading || !canDeploy}
>
{isImagePath ? (
<img