feat(installer-rp): auto-start install with progress card grid

2단계 페이지 진입 즉시 설치를 시작하고, 음악·사진을 1번부터 카드 그리드로
한눈에 볼 수 있게 만든다. 다운로드는 % 게이지로, 완료/실패는 색상으로 표시.

- main: prep/item/package phase 의 ProgressEvent 를 renderer 로 송신
- music.ts: yt-dlp stdout 의 [download] X% 라인을 파싱해 onProgress 호출
- preload: onProgress 채널 구독 함수 노출
- renderer: 다음 버튼 제거, prep chip + music/image 카드 그리드 + 빌드 상태
- styles: progressCard / prepChip / progressGrid 스타일 추가

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
This commit is contained in:
2026-05-12 20:01:15 +09:00
parent d5079125cb
commit 9f9cffffeb
5 changed files with 288 additions and 48 deletions

View File

@@ -27,6 +27,13 @@ const api = {
const listener = (_event: unknown, line: string) => handler(line)
ipcRenderer.on('log', listener)
return () => ipcRenderer.removeListener('log', listener)
},
/** 설치 진행 이벤트 구독. payload 구조는 renderer 가 알아서 분기. */
onProgress: (handler: (payload: unknown) => void): (() => void) => {
const listener = (_event: unknown, payload: unknown) => handler(payload)
ipcRenderer.on('progress', listener)
return () => ipcRenderer.removeListener('progress', listener)
}
}