DynamicAppWrapper included

This commit is contained in:
degradin 2025-03-16 13:11:08 +03:00
parent e3aed97b22
commit f7d4ae4741
3 changed files with 45 additions and 24 deletions

View File

@ -1,22 +0,0 @@
'use client';
import dynamic from 'next/dynamic';
import { Center, Spinner } from '@chakra-ui/react';
import ClientOnly from './ClientOnly';
const MainApp = dynamic(() => import('./MainApp'), {
ssr: false,
loading: () => (
<Center h="100vh">
<Spinner size="xl" />
</Center>
),
});
export default function DynamicMainApp() {
return (
<ClientOnly>
<MainApp />
</ClientOnly>
);
}

View File

@ -0,0 +1,31 @@
'use client';
import { useEffect, useState } from 'react';
import dynamic from 'next/dynamic';
import { Center, Spinner } from '@chakra-ui/react';
const MainApp = dynamic(() => import('./MainApp'), {
loading: () => (
<Center h="100vh">
<Spinner size="xl" />
</Center>
),
});
export default function MainAppWrapper() {
const [isMounted, setIsMounted] = useState(false);
useEffect(() => {
setIsMounted(true);
}, []);
if (!isMounted) {
return (
<Center h="100vh">
<Spinner size="xl" />
</Center>
);
}
return <MainApp />;
}

View File

@ -1,5 +1,17 @@
import DynamicMainApp from './components/DynamicMainApp';
import { Suspense } from 'react';
import { Center, Spinner } from '@chakra-ui/react';
import MainAppWrapper from './components/MainAppWrapper';
export default function Home() {
return <DynamicMainApp />;
return (
<Suspense
fallback={
<Center h="100vh">
<Spinner size="xl" />
</Center>
}
>
<MainAppWrapper />
</Suspense>
);
}