mirror of
https://github.com/NoFxAiOS/nofx.git
synced 2026-07-16 01:06:59 +08:00
Route fix
This commit is contained in:
@@ -73,11 +73,11 @@ function App() {
|
|||||||
return () => window.removeEventListener('hashchange', handleHashChange);
|
return () => window.removeEventListener('hashchange', handleHashChange);
|
||||||
}, []);
|
}, []);
|
||||||
|
|
||||||
// 切换页面时更新URL hash
|
// 切换页面时更新URL hash (当前通过按钮直接调用setCurrentPage,这个函数暂时保留用于未来扩展)
|
||||||
const navigateToPage = (page: Page) => {
|
// const navigateToPage = (page: Page) => {
|
||||||
setCurrentPage(page);
|
// setCurrentPage(page);
|
||||||
window.location.hash = page === 'competition' ? '' : 'trader';
|
// window.location.hash = page === 'competition' ? '' : 'trader';
|
||||||
};
|
// };
|
||||||
|
|
||||||
// 获取trader列表
|
// 获取trader列表
|
||||||
const { data: traders } = useSWR<TraderInfo[]>('traders', api.getTraders, {
|
const { data: traders } = useSWR<TraderInfo[]>('traders', api.getTraders, {
|
||||||
|
|||||||
@@ -22,13 +22,15 @@ export function Header({ simple = false }: HeaderProps) {
|
|||||||
<h1 className="text-xl font-bold" style={{ color: '#EAECEF' }}>
|
<h1 className="text-xl font-bold" style={{ color: '#EAECEF' }}>
|
||||||
{t('appTitle', language)}
|
{t('appTitle', language)}
|
||||||
</h1>
|
</h1>
|
||||||
<p className="text-xs mono" style={{ color: '#848E9C' }}>
|
{!simple && (
|
||||||
{t('subtitle', language)}
|
<p className="text-xs mono" style={{ color: '#848E9C' }}>
|
||||||
</p>
|
{t('subtitle', language)}
|
||||||
|
</p>
|
||||||
|
)}
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
{/* Right - Language Toggle */}
|
{/* Right - Language Toggle (always show) */}
|
||||||
<div className="flex gap-1 rounded p-1" style={{ background: '#1E2329' }}>
|
<div className="flex gap-1 rounded p-1" style={{ background: '#1E2329' }}>
|
||||||
<button
|
<button
|
||||||
onClick={() => setLanguage('zh')}
|
onClick={() => setLanguage('zh')}
|
||||||
|
|||||||
@@ -137,6 +137,10 @@ export function AuthProvider({ children }: { children: React.ReactNode }) {
|
|||||||
localStorage.setItem('auth_token', data.token);
|
localStorage.setItem('auth_token', data.token);
|
||||||
localStorage.setItem('auth_user', JSON.stringify(userInfo));
|
localStorage.setItem('auth_user', JSON.stringify(userInfo));
|
||||||
|
|
||||||
|
// 跳转到首页
|
||||||
|
window.history.pushState({}, '', '/');
|
||||||
|
window.dispatchEvent(new PopStateEvent('popstate'));
|
||||||
|
|
||||||
return { success: true, message: data.message };
|
return { success: true, message: data.message };
|
||||||
} else {
|
} else {
|
||||||
return { success: false, message: data.error };
|
return { success: false, message: data.error };
|
||||||
@@ -166,6 +170,10 @@ export function AuthProvider({ children }: { children: React.ReactNode }) {
|
|||||||
localStorage.setItem('auth_token', data.token);
|
localStorage.setItem('auth_token', data.token);
|
||||||
localStorage.setItem('auth_user', JSON.stringify(userInfo));
|
localStorage.setItem('auth_user', JSON.stringify(userInfo));
|
||||||
|
|
||||||
|
// 跳转到首页
|
||||||
|
window.history.pushState({}, '', '/');
|
||||||
|
window.dispatchEvent(new PopStateEvent('popstate'));
|
||||||
|
|
||||||
return { success: true, message: data.message };
|
return { success: true, message: data.message };
|
||||||
} else {
|
} else {
|
||||||
return { success: false, message: data.error };
|
return { success: false, message: data.error };
|
||||||
|
|||||||
Reference in New Issue
Block a user