mirror of
https://github.com/hanzoai/next.js.git
synced 2026-09-24 17:00:51 +00:00
38 lines
836 B
React
38 lines
836 B
React
import React, { use } from 'react'
|
|
import { cookies } from 'next/headers'
|
|
import { Delay, Login } from './state'
|
|
|
|
export function Dynamic({ fallback }) {
|
|
const dynamic = fallback !== true
|
|
|
|
let signedIn
|
|
let active
|
|
if (dynamic) {
|
|
signedIn = cookies().has('session')
|
|
active = cookies().has('delay')
|
|
if (active) {
|
|
use(new Promise((resolve) => setTimeout(resolve, 1000)))
|
|
}
|
|
}
|
|
|
|
if (!dynamic) {
|
|
return (
|
|
<div id="dynamic-fallback">
|
|
<pre>Loading...</pre>
|
|
<Login fallback />
|
|
<Delay fallback />
|
|
</div>
|
|
)
|
|
}
|
|
|
|
return (
|
|
<div id="dynamic">
|
|
<pre id="state" className={signedIn ? 'bg-green-600' : 'bg-red-600'}>
|
|
{signedIn ? 'Signed In' : 'Not Signed In'}
|
|
</pre>
|
|
<Login signedIn={signedIn} />
|
|
<Delay active={active} />
|
|
</div>
|
|
)
|
|
}
|