更新 getDrawCurrent、getDrawResults 与 getDrawResultByNo 方法,新增币种参数支持,以适配玩家币种偏好。 优化 HallBettingGrid 及相关组件:支持币种切换时自动刷新钱包数据。 重构钱包处理逻辑,简化余额更新流程并提升用户体验。 新增会话过期相关多语言提示文案,并优化现有翻译内容,提升多语言环境下的提示清晰度。
39 lines
1.1 KiB
TypeScript
39 lines
1.1 KiB
TypeScript
"use client";
|
||
|
||
import { useEffect, type ReactNode } from "react";
|
||
|
||
import { Toaster } from "@/components/ui/sonner";
|
||
import { ErrorProvider } from "@/components/error-provider";
|
||
import { IframeBridge } from "@/components/iframe-bridge";
|
||
import { PlayEffectiveWsListener } from "@/components/play-effective-ws-listener";
|
||
import { PlayerBalanceWsListener } from "@/components/player-balance-ws-listener";
|
||
import { TokenSilentRefresh } from "@/components/token-silent-refresh";
|
||
import "@/i18n";
|
||
import { syncPreferredLanguage } from "@/i18n";
|
||
|
||
type ProvidersProps = {
|
||
children: ReactNode;
|
||
};
|
||
|
||
export function Providers({ children }: ProvidersProps): ReactNode {
|
||
useEffect(() => {
|
||
syncPreferredLanguage();
|
||
}, []);
|
||
|
||
return (
|
||
<>
|
||
<ErrorProvider>
|
||
{/* iframe 通信桥接 - 支持主站嵌入 */}
|
||
<IframeBridge>
|
||
{children}
|
||
<PlayerBalanceWsListener />
|
||
<PlayEffectiveWsListener />
|
||
{/* Token 静默续签(无 UI) */}
|
||
<TokenSilentRefresh />
|
||
</IframeBridge>
|
||
</ErrorProvider>
|
||
<Toaster />
|
||
</>
|
||
);
|
||
}
|