refactor: 重构主题提供逻辑并更新依赖
All checks were successful
test/timeline-frontend/pipeline/head This commit looks good
All checks were successful
test/timeline-frontend/pipeline/head This commit looks good
将主题提供逻辑从独立组件移至布局包装器,简化组件结构 同时更新 dexie 依赖至 4.3.0 版本
This commit is contained in:
@@ -59,7 +59,7 @@
|
||||
"antd-style": "^3.6.1",
|
||||
"classnames": "^2.5.1",
|
||||
"dayjs": "^1.11.10",
|
||||
"dexie": "^4.0.0",
|
||||
"dexie": "^4.3.0",
|
||||
"numeral": "^2.0.6",
|
||||
"omit.js": "^2.0.2",
|
||||
"querystring": "^0.2.1",
|
||||
|
||||
49
src/app.tsx
49
src/app.tsx
@@ -32,9 +32,25 @@ function LayoutChildrenWrapper({
|
||||
setInitialState: any;
|
||||
}) {
|
||||
const isMobile = useIsMobile();
|
||||
const { effectiveTheme, getCurrentColorScheme, fetchThemePreferences } = useModel('theme');
|
||||
|
||||
useEffect(() => {
|
||||
fetchThemePreferences();
|
||||
}, [fetchThemePreferences]);
|
||||
|
||||
const colorScheme = getCurrentColorScheme();
|
||||
|
||||
useNotifications();
|
||||
|
||||
return (
|
||||
<ConfigProvider
|
||||
theme={{
|
||||
algorithm: effectiveTheme === 'dark' ? antdTheme.darkAlgorithm : antdTheme.defaultAlgorithm,
|
||||
token: {
|
||||
colorPrimary: colorScheme.primaryColor,
|
||||
},
|
||||
}}
|
||||
>
|
||||
<>
|
||||
{children}
|
||||
{isMobile && <BottomNav />}
|
||||
@@ -52,6 +68,7 @@ function LayoutChildrenWrapper({
|
||||
/>
|
||||
)}
|
||||
</>
|
||||
</ConfigProvider>
|
||||
);
|
||||
}
|
||||
|
||||
@@ -128,35 +145,3 @@ export const layout: RunTimeLayoutConfig = ({ initialState, setInitialState }) =
|
||||
export const request: RequestConfig = {
|
||||
...errorConfig,
|
||||
};
|
||||
|
||||
/**
|
||||
* Theme Provider Wrapper
|
||||
* Wraps the entire app with ConfigProvider to apply theme
|
||||
*/
|
||||
export function rootContainer(container: any) {
|
||||
return <ThemeProvider>{container}</ThemeProvider>;
|
||||
}
|
||||
|
||||
function ThemeProvider({ children }: { children: React.ReactNode }) {
|
||||
const { effectiveTheme, getCurrentColorScheme, fetchThemePreferences } = useModel('theme');
|
||||
|
||||
// Fetch theme preferences on mount
|
||||
useEffect(() => {
|
||||
fetchThemePreferences();
|
||||
}, [fetchThemePreferences]);
|
||||
|
||||
const colorScheme = getCurrentColorScheme();
|
||||
|
||||
return (
|
||||
<ConfigProvider
|
||||
theme={{
|
||||
algorithm: effectiveTheme === 'dark' ? antdTheme.darkAlgorithm : antdTheme.defaultAlgorithm,
|
||||
token: {
|
||||
colorPrimary: colorScheme.primaryColor,
|
||||
},
|
||||
}}
|
||||
>
|
||||
{children}
|
||||
</ConfigProvider>
|
||||
);
|
||||
}
|
||||
|
||||
1
src/types/sync.d.ts
vendored
1
src/types/sync.d.ts
vendored
@@ -154,7 +154,6 @@ declare namespace API {
|
||||
updatedAt: Date;
|
||||
syncStatus: SyncStatus;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Sync status
|
||||
|
||||
Reference in New Issue
Block a user