버전명 표시
This commit is contained in:
@@ -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()})`;
|
||||
|
||||
Reference in New Issue
Block a user