diff --git a/src/pages/applications/AppManagementPage.tsx b/src/pages/applications/AppManagementPage.tsx index 4f5fd00..f9a36d9 100644 --- a/src/pages/applications/AppManagementPage.tsx +++ b/src/pages/applications/AppManagementPage.tsx @@ -838,14 +838,13 @@ export function AppManagementPage() { } />
- +
- @@ -854,8 +853,6 @@ export function AppManagementPage() { {!isAppsLoading && (selectedApp.components ?? []).map((component) => { const running = isComponentRunning(component, runtimeResources); - const latestBuildResult = component.buildJobs?.[0]?.image || component.buildJobs?.[0]?.artifact || ''; - const imageResult = component.externalImage || latestBuildResult; const imageSourceLabel = component.imageSource === 'EXTERNAL' ? '외부 이미지' : component.imageSource === 'DATABASE' ? 'DB 이미지' : '소스 빌드'; return ( @@ -869,13 +866,7 @@ export function AppManagementPage() { - - + ) : null} diff --git a/src/pages/launcher/LauncherComponentsPage.tsx b/src/pages/launcher/LauncherComponentsPage.tsx index ad543ec..80d8132 100644 --- a/src/pages/launcher/LauncherComponentsPage.tsx +++ b/src/pages/launcher/LauncherComponentsPage.tsx @@ -47,7 +47,7 @@ const launcherComponents: LauncherComponentDefinition[] = [ { key: 'launcher-db', name: '런처 DB', - description: '런처 앱, 버전, 사용자 앱 권한 데이터를 저장하는 PostgreSQL입니다.', + description: '런처 앱, 버전, 사용자 앱 권한 데이터를 저장합니다.', type: 'database', kind: 'StatefulSet', workloadName: 'studio-launcher-db', @@ -95,6 +95,20 @@ function relatedResources(resources: RuntimeResource[], component: LauncherCompo }); } +function launcherArtifactLabel(version?: LauncherVersion) { + if (!version) return '등록된 릴리즈 없음'; + if (version.artifact) return version.artifact; + if (!version.downloadUrl) return '배포 파일 미등록'; + const segments = version.downloadUrl.split('/').filter(Boolean); + return segments[segments.length - 1] ?? '배포 파일 미등록'; +} + +function launcherVersionMeta(version?: LauncherVersion) { + if (!version) return '버전 관리에서 릴리즈를 등록하세요'; + const minimum = version.minimumVersion ? `최소 지원 ${version.minimumVersion}` : '최소 지원 미설정'; + return `${minimum} · ${version.isActive ? '활성' : '비활성'}`; +} + export function LauncherComponentsPage() { const { toast } = useToast(); const [versions, setVersions] = useState([]); @@ -175,7 +189,8 @@ export function LauncherComponentsPage() {

런처 최신 버전

{activeVersion?.version ?? '-'}

-

{activeVersion?.downloadUrl ?? '등록된 릴리즈 없음'}

+

{launcherArtifactLabel(activeVersion)}

+

{launcherVersionMeta(activeVersion)}

최근 클라이언트 빌드

@@ -261,8 +276,8 @@ export function LauncherComponentsPage() { ) : null} -
-
구성요소 역할 유형 워크로드이미지/산출물 포트 소스 관리
{imageSourceLabel} {component.type} - - {component.workloadType ?? '-'} - {component.storageEnabled ? 스토리지 : null} - - - {imageResult || '-'} + {component.workloadType ?? '-'} {formatComponentPorts(component)} @@ -904,7 +895,7 @@ export function AppManagementPage() { })} {!isAppsLoading && (selectedApp.components ?? []).length === 0 ? (
등록된 구성요소가 없습니다.등록된 구성요소가 없습니다.
+
+
Kind