refine app management and source repository displays
ci/woodpecker/push/woodpecker Pipeline was successful

This commit is contained in:
2026-07-09 13:50:21 +09:00
parent d567684f19
commit cf55aa4912
5 changed files with 58 additions and 30 deletions
+20 -1
View File
@@ -64,6 +64,23 @@ function statusTone(status?: string): 'green' | 'amber' | 'red' | 'neutral' {
return 'neutral';
}
function buildStatusText(status?: string) {
if (status === 'SUCCEEDED') return '성공';
if (status === 'FAILED') return '실패';
if (status === 'RUNNING') return '진행 중';
if (status === 'PENDING') return '대기';
if (status === 'CANCELED') return '취소';
return status ?? '빌드 이력 없음';
}
function buildStatusTone(status?: string): 'green' | 'amber' | 'red' | 'blue' | 'neutral' {
if (status === 'SUCCEEDED') return 'green';
if (status === 'FAILED' || status === 'CANCELED') return 'red';
if (status === 'RUNNING') return 'blue';
if (status === 'PENDING') return 'amber';
return 'neutral';
}
function componentIcon(type: LauncherComponentDefinition['type']) {
if (type === 'client') return FileArchive;
if (type === 'database') return Database;
@@ -249,7 +266,9 @@ export function LauncherComponentsPage() {
<Card className="p-5">
<p className="text-sm text-muted-foreground">최근 클라이언트 빌드</p>
<p className="mt-3 text-2xl font-semibold">{latestBuild?.version ?? '-'}</p>
<p className="mt-1 text-xs text-muted-foreground">{latestBuild?.status ?? '빌드 이력 없음'}</p>
<div className="mt-2">
<Badge tone={buildStatusTone(latestBuild?.status)}>{buildStatusText(latestBuild?.status)}</Badge>
</div>
</Card>
<Card className="p-5">
<p className="text-sm text-muted-foreground">Namespace</p>