diff --git a/rsconcept/frontend/src/app/ApplicationLayout.tsx b/rsconcept/frontend/src/app/ApplicationLayout.tsx index 305b1b00..67471bef 100644 --- a/rsconcept/frontend/src/app/ApplicationLayout.tsx +++ b/rsconcept/frontend/src/app/ApplicationLayout.tsx @@ -1,5 +1,5 @@ import { Suspense } from 'react'; -import { Outlet } from 'react-router'; +import { Outlet, useNavigation } from 'react-router'; import { Loader } from '@/components/Loader'; import { ModalLoader } from '@/components/Modal'; @@ -9,11 +9,14 @@ import { globals } from '@/utils/constants'; import { NavigationState } from './Navigation/NavigationContext'; import { Footer } from './Footer'; import { GlobalDialogs } from './GlobalDialogs'; -import ConceptToaster from './GlobalToaster'; +import { GlobalLoader } from './GlobalLoader'; +import { ToasterThemed } from './GlobalToaster'; import { GlobalTooltips } from './GlobalTooltips'; import { Navigation } from './Navigation'; function ApplicationLayout() { + const navigation = useNavigation(); + const mainHeight = useMainHeight(); const viewportHeight = useViewportHeight(); const showScroll = useAppLayoutStore(state => !state.noScroll); @@ -24,7 +27,7 @@ function ApplicationLayout() { return (
-
+ {navigation.state === 'loading' ? : null} }> diff --git a/rsconcept/frontend/src/app/GlobalLoader.tsx b/rsconcept/frontend/src/app/GlobalLoader.tsx new file mode 100644 index 00000000..6de4a369 --- /dev/null +++ b/rsconcept/frontend/src/app/GlobalLoader.tsx @@ -0,0 +1,21 @@ +import clsx from 'clsx'; + +import { Loader } from '@/components/Loader'; + +export function GlobalLoader() { + return ( +
+
+
+
+ +
+
+ ); +} diff --git a/rsconcept/frontend/src/app/GlobalToaster.tsx b/rsconcept/frontend/src/app/GlobalToaster.tsx index 8299047f..58c30215 100644 --- a/rsconcept/frontend/src/app/GlobalToaster.tsx +++ b/rsconcept/frontend/src/app/GlobalToaster.tsx @@ -4,9 +4,7 @@ import { usePreferencesStore } from '@/stores/preferences'; interface ToasterThemedProps extends Omit {} -function ToasterThemed(props: ToasterThemedProps) { +export function ToasterThemed(props: ToasterThemedProps) { const darkMode = usePreferencesStore(state => state.darkMode); return ; } - -export default ToasterThemed; diff --git a/rsconcept/frontend/src/components/Modal/ModalLoader.tsx b/rsconcept/frontend/src/components/Modal/ModalLoader.tsx index 7cd388bb..e915c402 100644 --- a/rsconcept/frontend/src/components/Modal/ModalLoader.tsx +++ b/rsconcept/frontend/src/components/Modal/ModalLoader.tsx @@ -1,5 +1,3 @@ -'use client'; - import clsx from 'clsx'; import { Loader } from '@/components/Loader';