adjust padding on settings loading spinner

This commit is contained in:
jeffvli
2026-07-21 00:08:18 -07:00
parent 7394159938
commit d991d4e1b8
2 changed files with 32 additions and 6 deletions
@@ -0,0 +1,15 @@
.scroll-container {
width: 100%;
height: 100%;
padding: 1rem;
overflow: hidden;
}
.spinner-container {
display: flex;
align-items: center;
justify-content: center;
height: 100%;
padding-top: 5rem;
padding-bottom: 5rem;
}
@@ -2,8 +2,11 @@ import isElectron from 'is-electron';
import { lazy, Suspense } from 'react'; import { lazy, Suspense } from 'react';
import { useTranslation } from 'react-i18next'; import { useTranslation } from 'react-i18next';
import styles from './settings-content.module.css';
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 { Spinner } from '/@/shared/components/spinner/spinner';
import { Tabs } from '/@/shared/components/tabs/tabs'; import { Tabs } from '/@/shared/components/tabs/tabs';
@@ -37,6 +40,14 @@ const AdvancedTab = lazy(() =>
})), })),
); );
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);
@@ -44,7 +55,7 @@ export const SettingsContent = () => {
return ( return (
<LibraryContainer> <LibraryContainer>
<div style={{ height: '100%', overflow: 'scroll', padding: '1rem', width: '100%' }}> <div className={styles.scrollContainer}>
<Tabs <Tabs
keepMounted={false} keepMounted={false}
onChange={(e) => e && setSettings({ tab: e })} onChange={(e) => e && setSettings({ tab: e })}
@@ -62,29 +73,29 @@ 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={<Spinner container />}> <Suspense fallback={<SuspenseSpinner />}>
<GeneralTab /> <GeneralTab />
</Suspense> </Suspense>
</Tabs.Panel> </Tabs.Panel>
<Tabs.Panel value="playback"> <Tabs.Panel value="playback">
<Suspense fallback={<Spinner container />}> <Suspense fallback={<SuspenseSpinner />}>
<PlaybackTab /> <PlaybackTab />
</Suspense> </Suspense>
</Tabs.Panel> </Tabs.Panel>
<Tabs.Panel value="hotkeys"> <Tabs.Panel value="hotkeys">
<Suspense fallback={<Spinner container />}> <Suspense fallback={<SuspenseSpinner />}>
<HotkeysTab /> <HotkeysTab />
</Suspense> </Suspense>
</Tabs.Panel> </Tabs.Panel>
{isElectron() && ( {isElectron() && (
<Tabs.Panel value="window"> <Tabs.Panel value="window">
<Suspense fallback={<Spinner container />}> <Suspense fallback={<SuspenseSpinner />}>
<WindowTab /> <WindowTab />
</Suspense> </Suspense>
</Tabs.Panel> </Tabs.Panel>
)} )}
<Tabs.Panel value="advanced"> <Tabs.Panel value="advanced">
<Suspense fallback={<Spinner container />}> <Suspense fallback={<SuspenseSpinner />}>
<AdvancedTab /> <AdvancedTab />
</Suspense> </Suspense>
</Tabs.Panel> </Tabs.Panel>