feat(installer): v0.4.0 — 파일제거기, 커스텀 폴더명, 포트포워딩 개편, 이름/개발자용 표기
- 음악퀴즈 파일제거 도구 신규 추가: 동의 → 휴지통/완전삭제 선택 → 커스텀 폴더 (현재값 + 기본 .mc_custom) 전체, 데스크톱 바로가기, gameDir 가 해당 폴더인 마인크래프트 런처 프로필 정리. - MC_CUSTOM_DIR .env 로 커스텀 게임 폴더 이름 유동화(.mc_custom 기본). 렌더러 사전에도 실제 폴더명 반영. - 간편포트포워딩: 실행 중 UPnP 매핑 유지, 창 닫힘/종료 시 자동 제거(activePort 추적). - 개발자용 빌드는 창/헤더 제목 앞에 (개발자용) 표기, exe 이름에도 반영. - exe 이름 변경: 음악퀴즈 간편설치기 / 음악퀴즈 리소스팩설치기 / 간편포트포워딩. - README 및 .env 템플릿 갱신, 버전 0.3.23 → 0.4.0. Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
This commit is contained in:
@@ -9,7 +9,7 @@ import { URL } from 'node:url'
|
||||
import type { ChildProcess } from 'node:child_process'
|
||||
import type { Manifest, PackDefinition, PackList } from '../shared/types.js'
|
||||
import { normalizePackDefinition } from '../shared/store.js'
|
||||
import { getAppDataDir, getMcCustomDir } from '../shared/paths.js'
|
||||
import { getAppDataDir, getMcCustomDir, withCustomDirName } from '../shared/paths.js'
|
||||
import { loadEnv, getManifestUrl } from '../shared/env.js'
|
||||
import { loadComponentI18n } from '../shared/i18n.js'
|
||||
import { resolveAudience, isPackVisibleForAudience, type Audience } from '../shared/audience.js'
|
||||
@@ -273,7 +273,25 @@ ipcMain.handle('rp:packs:select', async (_event, packKey: string) => {
|
||||
sendLog(t('log.selectedPack', { key: packKey }))
|
||||
})
|
||||
|
||||
ipcMain.handle('rp:i18n:dict', () => localeDict)
|
||||
// 개발자용 빌드(musicQuizAudience=developer)면 렌더러에 넘기는 사전의 제목 앞에
|
||||
// "(개발자용) " 을 붙여, 창 제목/헤더에 개발자용임을 표시한다.
|
||||
function dictForRenderer(): Record<string, unknown> {
|
||||
// 커스텀 폴더명을 UI 문구에 반영.
|
||||
const base = withCustomDirName(localeDict)
|
||||
if (getAudience() !== 'developer') return base
|
||||
const prefix = '(개발자용) '
|
||||
const appBlock = (base.app ?? {}) as Record<string, unknown>
|
||||
const title = appBlock.title
|
||||
return {
|
||||
...base,
|
||||
app: {
|
||||
...appBlock,
|
||||
title: typeof title === 'string' && !title.startsWith(prefix) ? prefix + title : title
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
ipcMain.handle('rp:i18n:dict', () => dictForRenderer())
|
||||
|
||||
// ── IPC: 약관 다운로드 ──────────────────────────────
|
||||
// v0.3.4~ : 사이트에서 임의 kind 가 만들어질 수 있으니 5종 화이트리스트 대신
|
||||
|
||||
Reference in New Issue
Block a user