버전명 표시

This commit is contained in:
Macbook
2026-06-15 10:31:44 +09:00
parent 0e09825cab
commit 6481a432fd
7 changed files with 112 additions and 17 deletions
+30 -9
View File
@@ -1,26 +1,47 @@
import { useEffect, useState } from 'react';
import { fetchPublishedAppVersion, readBakedAppVersion } from '../utils/appVersion';
import { isDesktop } from '../utils/platform';
import { getDesktopAppVersion, syncDesktopMainWindowTitle } from '../utils/desktopBridge';
/** Desktop Tauri getVersion() 기준 (설치된 앱 버전). baked 0.1.4 등 git 고정값 사용 안 함 */
export function useDesktopAppTitle(): string | null {
const [version, setVersion] = useState<string | null>(null);
/** 타이틀바 GoldenChart 옆 (vX.Y.Z) — Desktop: Tauri, Web: latest.json */
export function useAppTitleBarVersion(): string | null {
const desktop = isDesktop();
const [version, setVersion] = useState<string | null>(() => readBakedAppVersion());
useEffect(() => {
if (!isDesktop()) return;
let cancelled = false;
if (desktop) {
void (async () => {
const v = await getDesktopAppVersion();
if (cancelled) return;
if (v?.trim()) {
setVersion(v.trim());
await syncDesktopMainWindowTitle();
return;
}
setVersion(readBakedAppVersion());
})();
return () => { cancelled = true; };
}
void (async () => {
const v = await getDesktopAppVersion();
if (cancelled || !v?.trim()) return;
setVersion(v.trim());
await syncDesktopMainWindowTitle();
const published = await fetchPublishedAppVersion();
if (cancelled) return;
setVersion(published ?? readBakedAppVersion());
})();
return () => { cancelled = true; };
}, []);
}, [desktop]);
return version;
}
/** @deprecated useAppTitleBarVersion 사용 */
export function useDesktopAppTitle(): string | null {
return useAppTitleBarVersion();
}
export function formatDesktopAppLabel(version: string | null | undefined): string {
if (!version?.trim()) return 'GoldenChart';
return `GoldenChart (v${version.trim()})`;