polish launcher and app component tables

This commit is contained in:
2026-07-02 15:03:13 +09:00
parent d226230b25
commit 25dd90076f
2 changed files with 22 additions and 16 deletions
+19 -4
View File
@@ -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<LauncherVersion[]>([]);
@@ -175,7 +189,8 @@ export function LauncherComponentsPage() {
<Card className="p-5">
<p className="text-sm text-muted-foreground">런처 최신 버전</p>
<p className="mt-3 text-2xl font-semibold">{activeVersion?.version ?? '-'}</p>
<p className="mt-1 truncate text-xs text-muted-foreground">{activeVersion?.downloadUrl ?? '등록된 릴리즈 없음'}</p>
<p className="mt-1 truncate text-xs font-medium text-foreground">{launcherArtifactLabel(activeVersion)}</p>
<p className="mt-1 truncate text-xs text-muted-foreground">{launcherVersionMeta(activeVersion)}</p>
</Card>
<Card className="p-5">
<p className="text-sm text-muted-foreground">최근 클라이언트 빌드</p>
@@ -261,8 +276,8 @@ export function LauncherComponentsPage() {
) : null}
</div>
<div className="overflow-hidden rounded-md border border-border">
<table className="w-full min-w-[680px] text-left text-sm">
<div className="min-w-0 overflow-x-auto rounded-md border border-border">
<table className="w-full min-w-[760px] whitespace-nowrap text-left text-sm">
<thead className="border-b border-border bg-muted/30 text-xs text-muted-foreground">
<tr>
<th className="px-4 py-3 font-medium">Kind</th>