diff --git a/frontend/src/App.tsx b/frontend/src/App.tsx index 012cabb..953ab8e 100644 --- a/frontend/src/App.tsx +++ b/frontend/src/App.tsx @@ -338,37 +338,45 @@ export default function App() { ), - comfyui: ( - - i.id === 'comfyui-managed')?.status !== 'not_installed' && - runtimeStatus?.installed !== false - )} - onStartEngine={toggleRuntime} - onDeployEngine={() => handleStartDeployment('comfyui')} - onOpenDirectory={() => setShowManagerModal(true)} - /> - - ), - webui: ( - - i.id === 'webui-managed')?.status === 'running')} - isInstalled={Boolean(instances.find((i) => i.id === 'webui-managed')?.status !== 'not_installed')} - onStartEngine={toggleRuntime} - onDeployEngine={() => handleStartDeployment('webui')} - onOpenDirectory={() => setShowManagerModal(true)} - /> - - ), + comfyui: (() => { + const comfyInst = instances.find((i) => i.id === 'comfyui-managed' || i.type === 'comfyui'); + const dynamicPort = comfyStatus?.port || (comfyInst?.endpoint ? Number(new URL(comfyInst.endpoint).port) : 8188) || 8188; + return ( + + i.id === 'comfyui-managed')?.status !== 'not_installed' && + runtimeStatus?.installed !== false + )} + onStartEngine={toggleRuntime} + onDeployEngine={() => handleStartDeployment('comfyui')} + onOpenDirectory={() => setShowManagerModal(true)} + /> + + ); + })(), + webui: (() => { + const webuiInst = instances.find((i) => i.id === 'webui-managed' || i.type === 'webui'); + const dynamicPort = (webuiInst?.endpoint ? Number(new URL(webuiInst.endpoint).port) : 7860) || 7860; + return ( + + i.id === 'webui-managed')?.status === 'running')} + isInstalled={Boolean(instances.find((i) => i.id === 'webui-managed')?.status !== 'not_installed')} + onStartEngine={toggleRuntime} + onDeployEngine={() => handleStartDeployment('webui')} + onOpenDirectory={() => setShowManagerModal(true)} + /> + + ); + })(), settings: ( setShowCloudModal(true)}