当设备未连接时,各页面默认显示英文语言的文本,并在标题追加 (Disconnect)

This commit is contained in:
eafonyang
2026-07-01 11:23:06 +08:00
parent 8283ffcf14
commit ac7b5da0f0
20 changed files with 113 additions and 440 deletions
+9 -8
View File
@@ -29,8 +29,9 @@ import {
} from "@/lib/luxsinApi";
import { getFilterType, getFilterShortName } from "@/lib/peqAudio";
import localeZh from "@/locales/data-zh.json";
import localeZhHK from "@/locales/data-zh-HK.json";
import localeEn from "@/locales/data-en.json";
import { resolveLocalePack } from "@/locales/resolveLocale";
import { usePageTitleWithConnection } from "@/hooks/usePageTitleWithConnection";
import { FreqChart } from "./eq/components/FreqChart";
import { CyanSlider, IOSToggle } from "./eq/components/EqPrimitives";
import { BandParamDialog } from "./eq/components/BandParamDialog";
@@ -95,18 +96,18 @@ export default function EQPage() {
const eqOn = peqOn && !bypassOn;
const eqUi = useMemo((): PeqEqUi => {
const lang = deviceState?.language;
const pack = lang === 0 ? localeEn : lang === 1 ? localeZhHK : localeZh;
const pack = resolveLocalePack(deviceState?.language);
const peq = pack.peq as typeof localeZh.peq;
return (peq.eqUi ?? (localeZh.peq as typeof localeZh.peq).eqUi) as PeqEqUi;
return (peq.eqUi ?? (localeEn.peq as typeof localeEn.peq).eqUi) as PeqEqUi;
}, [deviceState?.language]);
const peqCardLabels = useMemo(() => {
const lang = deviceState?.language;
const pack = lang === 0 ? localeEn : lang === 1 ? localeZhHK : localeZh;
return pack.peq ?? localeZh.peq;
const pack = resolveLocalePack(deviceState?.language);
return pack.peq ?? localeEn.peq;
}, [deviceState?.language]);
const eqPageTitle = usePageTitleWithConnection("HP-EQ");
const [bandsByMode, setBandsByMode] = useState<Record<"A" | "B", typeof DEFAULT_BANDS>>({
A: cloneBands(DEFAULT_BANDS),
B: cloneBands(DEFAULT_BANDS),
@@ -1310,7 +1311,7 @@ export default function EQPage() {
<button onClick={() => setLocation("/")} className="mr-4 text-white/60 active:text-white transition-colors">
<ChevronLeft size={24} />
</button>
<h1 className="flex-1 text-center text-[17px] font-semibold text-white">HP-EQ</h1>
<h1 className="flex-1 text-center text-[17px] font-semibold text-white">{eqPageTitle}</h1>
<IOSToggle
checked={eqOn}
onChange={(v) => {