mirror of
https://github.com/jeffvli/feishin.git
synced 2026-08-07 21:03:27 +02:00
remove lazy load on settings modal
This commit is contained in:
@@ -4,12 +4,3 @@
|
|||||||
padding: 1rem;
|
padding: 1rem;
|
||||||
overflow: hidden;
|
overflow: hidden;
|
||||||
}
|
}
|
||||||
|
|
||||||
.spinner-container {
|
|
||||||
display: flex;
|
|
||||||
align-items: center;
|
|
||||||
justify-content: center;
|
|
||||||
height: 100%;
|
|
||||||
padding-top: 5rem;
|
|
||||||
padding-bottom: 5rem;
|
|
||||||
}
|
|
||||||
|
|||||||
@@ -1,53 +1,17 @@
|
|||||||
import isElectron from 'is-electron';
|
import isElectron from 'is-electron';
|
||||||
import { lazy, Suspense } from 'react';
|
|
||||||
import { useTranslation } from 'react-i18next';
|
import { useTranslation } from 'react-i18next';
|
||||||
|
|
||||||
import styles from './settings-content.module.css';
|
import styles from './settings-content.module.css';
|
||||||
|
|
||||||
|
import { AdvancedTab } from '/@/renderer/features/settings/components/advanced/advanced-tab';
|
||||||
|
import { GeneralTab } from '/@/renderer/features/settings/components/general/general-tab';
|
||||||
|
import { HotkeysTab } from '/@/renderer/features/settings/components/hotkeys/hotkeys-tab';
|
||||||
|
import { PlaybackTab } from '/@/renderer/features/settings/components/playback/playback-tab';
|
||||||
|
import { WindowTab } from '/@/renderer/features/settings/components/window/window-tab';
|
||||||
import { LibraryContainer } from '/@/renderer/features/shared/components/library-container';
|
import { LibraryContainer } from '/@/renderer/features/shared/components/library-container';
|
||||||
import { useSettingsStore, useSettingsStoreActions } from '/@/renderer/store/settings.store';
|
import { useSettingsStore, useSettingsStoreActions } from '/@/renderer/store/settings.store';
|
||||||
import { Box } from '/@/shared/components/box/box';
|
|
||||||
import { Spinner } from '/@/shared/components/spinner/spinner';
|
|
||||||
import { Tabs } from '/@/shared/components/tabs/tabs';
|
import { Tabs } from '/@/shared/components/tabs/tabs';
|
||||||
|
|
||||||
const GeneralTab = lazy(() =>
|
|
||||||
import('/@/renderer/features/settings/components/general/general-tab').then((module) => ({
|
|
||||||
default: module.GeneralTab,
|
|
||||||
})),
|
|
||||||
);
|
|
||||||
|
|
||||||
const PlaybackTab = lazy(() =>
|
|
||||||
import('/@/renderer/features/settings/components/playback/playback-tab').then((module) => ({
|
|
||||||
default: module.PlaybackTab,
|
|
||||||
})),
|
|
||||||
);
|
|
||||||
|
|
||||||
const HotkeysTab = lazy(() =>
|
|
||||||
import('/@/renderer/features/settings/components/hotkeys/hotkeys-tab').then((module) => ({
|
|
||||||
default: module.HotkeysTab,
|
|
||||||
})),
|
|
||||||
);
|
|
||||||
|
|
||||||
const WindowTab = lazy(() =>
|
|
||||||
import('/@/renderer/features/settings/components/window/window-tab').then((module) => ({
|
|
||||||
default: module.WindowTab,
|
|
||||||
})),
|
|
||||||
);
|
|
||||||
|
|
||||||
const AdvancedTab = lazy(() =>
|
|
||||||
import('/@/renderer/features/settings/components/advanced/advanced-tab').then((module) => ({
|
|
||||||
default: module.AdvancedTab,
|
|
||||||
})),
|
|
||||||
);
|
|
||||||
|
|
||||||
const SuspenseSpinner = () => {
|
|
||||||
return (
|
|
||||||
<Box className={styles.spinnerContainer}>
|
|
||||||
<Spinner container />
|
|
||||||
</Box>
|
|
||||||
);
|
|
||||||
};
|
|
||||||
|
|
||||||
export const SettingsContent = () => {
|
export const SettingsContent = () => {
|
||||||
const { t } = useTranslation();
|
const { t } = useTranslation();
|
||||||
const currentTab = useSettingsStore((state) => state.tab);
|
const currentTab = useSettingsStore((state) => state.tab);
|
||||||
@@ -73,31 +37,21 @@ export const SettingsContent = () => {
|
|||||||
<Tabs.Tab value="advanced">{t('page.setting.advanced')}</Tabs.Tab>
|
<Tabs.Tab value="advanced">{t('page.setting.advanced')}</Tabs.Tab>
|
||||||
</Tabs.List>
|
</Tabs.List>
|
||||||
<Tabs.Panel value="general">
|
<Tabs.Panel value="general">
|
||||||
<Suspense fallback={<SuspenseSpinner />}>
|
<GeneralTab />
|
||||||
<GeneralTab />
|
|
||||||
</Suspense>
|
|
||||||
</Tabs.Panel>
|
</Tabs.Panel>
|
||||||
<Tabs.Panel value="playback">
|
<Tabs.Panel value="playback">
|
||||||
<Suspense fallback={<SuspenseSpinner />}>
|
<PlaybackTab />
|
||||||
<PlaybackTab />
|
|
||||||
</Suspense>
|
|
||||||
</Tabs.Panel>
|
</Tabs.Panel>
|
||||||
<Tabs.Panel value="hotkeys">
|
<Tabs.Panel value="hotkeys">
|
||||||
<Suspense fallback={<SuspenseSpinner />}>
|
<HotkeysTab />
|
||||||
<HotkeysTab />
|
|
||||||
</Suspense>
|
|
||||||
</Tabs.Panel>
|
</Tabs.Panel>
|
||||||
{isElectron() && (
|
{isElectron() && (
|
||||||
<Tabs.Panel value="window">
|
<Tabs.Panel value="window">
|
||||||
<Suspense fallback={<SuspenseSpinner />}>
|
<WindowTab />
|
||||||
<WindowTab />
|
|
||||||
</Suspense>
|
|
||||||
</Tabs.Panel>
|
</Tabs.Panel>
|
||||||
)}
|
)}
|
||||||
<Tabs.Panel value="advanced">
|
<Tabs.Panel value="advanced">
|
||||||
<Suspense fallback={<SuspenseSpinner />}>
|
<AdvancedTab />
|
||||||
<AdvancedTab />
|
|
||||||
</Suspense>
|
|
||||||
</Tabs.Panel>
|
</Tabs.Panel>
|
||||||
</Tabs>
|
</Tabs>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@@ -2,6 +2,7 @@ import { lazy, Suspense } from 'react';
|
|||||||
import { HashRouter, Route, Routes } from 'react-router';
|
import { HashRouter, Route, Routes } from 'react-router';
|
||||||
|
|
||||||
import { ShuffleAllContextModal } from '/@/renderer/features/player/components/shuffle-all-modal';
|
import { ShuffleAllContextModal } from '/@/renderer/features/player/components/shuffle-all-modal';
|
||||||
|
import { SettingsContextModal } from '/@/renderer/features/settings/components/settings-modal';
|
||||||
import { RouterErrorBoundary } from '/@/renderer/features/shared/components/router-error-boundary';
|
import { RouterErrorBoundary } from '/@/renderer/features/shared/components/router-error-boundary';
|
||||||
import { AuthenticationOutlet } from '/@/renderer/layouts/authentication-outlet';
|
import { AuthenticationOutlet } from '/@/renderer/layouts/authentication-outlet';
|
||||||
import { ResponsiveLayout } from '/@/renderer/layouts/responsive-layout';
|
import { ResponsiveLayout } from '/@/renderer/layouts/responsive-layout';
|
||||||
@@ -137,18 +138,6 @@ const UpdatePlaylistContextModal = (props: any) => (
|
|||||||
</Suspense>
|
</Suspense>
|
||||||
);
|
);
|
||||||
|
|
||||||
const LazySettingsContextModal = lazy(() =>
|
|
||||||
import('/@/renderer/features/settings/components/settings-modal').then((module) => ({
|
|
||||||
default: module.SettingsContextModal,
|
|
||||||
})),
|
|
||||||
);
|
|
||||||
|
|
||||||
const SettingsContextModal = (props: any) => (
|
|
||||||
<Suspense fallback={<Spinner container />}>
|
|
||||||
<LazySettingsContextModal {...props} />
|
|
||||||
</Suspense>
|
|
||||||
);
|
|
||||||
|
|
||||||
const LazyShareItemContextModal = lazy(() =>
|
const LazyShareItemContextModal = lazy(() =>
|
||||||
import('/@/renderer/features/sharing/components/share-item-context-modal').then((module) => ({
|
import('/@/renderer/features/sharing/components/share-item-context-modal').then((module) => ({
|
||||||
default: module.ShareItemContextModal,
|
default: module.ShareItemContextModal,
|
||||||
|
|||||||
Reference in New Issue
Block a user