File tree Expand file tree Collapse file tree 2 files changed +25
-1
lines changed Expand file tree Collapse file tree 2 files changed +25
-1
lines changed Original file line number Diff line number Diff line change 1
1
import type { ReactNode } from "react" ;
2
2
import { useEffect } from "react" ;
3
3
4
+ import { Delayed } from "@/components/app/delay-rendering" ;
4
5
import { ComponentIsLoading } from "@/components/app/loading-component" ;
5
6
import { AuthActions } from "@/frontend/hooks/auth/auth.actions" ;
6
7
import { useToggle } from "@/frontend/hooks/state/useToggleState" ;
@@ -21,7 +22,11 @@ export function IsSignedIn({ children }: { children: ReactNode }) {
21
22
} , [ isClient ] ) ;
22
23
23
24
if ( renderMode . isOff ) {
24
- return < ComponentIsLoading fullPage /> ;
25
+ return (
26
+ < Delayed delayWait = { 0 } >
27
+ < ComponentIsLoading fullPage />
28
+ </ Delayed >
29
+ ) ;
25
30
}
26
31
// eslint-disable-next-line react/jsx-no-useless-fragment
27
32
return < > { children } </ > ;
Original file line number Diff line number Diff line change
1
+ import React from "react" ;
2
+
3
+ type delayedProps = {
4
+ delayWait : number ;
5
+ children : React . ReactNode ;
6
+ } ;
7
+
8
+ export function Delayed ( { delayWait = 500 , children } : delayedProps ) {
9
+ const [ delayed , setDelayed ] = React . useState ( true ) ;
10
+
11
+ React . useEffect ( ( ) => {
12
+ const timer = setTimeout ( ( ) => setDelayed ( false ) , delayWait ) ;
13
+ return ( ) => {
14
+ clearTimeout ( timer ) ;
15
+ } ;
16
+ } , [ delayWait ] ) ;
17
+
18
+ return ! delayed && < div > { children } </ div > ;
19
+ }
You can’t perform that action at this time.
0 commit comments