fix(machines): guard hydration before loading machine details
This commit is contained in:
parent
3417388cb0
commit
1017d563b5
1 changed files with 17 additions and 0 deletions
|
|
@ -28,6 +28,11 @@ export function AdminMachineDetailsClient({ tenantId: _tenantId, machineId }: {
|
|||
const [loadError, setLoadError] = useState<string | null>(null)
|
||||
const [retryTick, setRetryTick] = useState(0)
|
||||
const shouldLoad = fallback === undefined && Boolean(machineId)
|
||||
const [isHydrated, setIsHydrated] = useState(false)
|
||||
|
||||
useEffect(() => {
|
||||
setIsHydrated(true)
|
||||
}, [])
|
||||
|
||||
useEffect(() => {
|
||||
if (!shouldLoad) {
|
||||
|
|
@ -157,6 +162,18 @@ export function AdminMachineDetailsClient({ tenantId: _tenantId, machineId }: {
|
|||
const isLoading = single === undefined && fallback === undefined && !loadError
|
||||
const isNotFound = (single === null || fallback === null) && !loadError
|
||||
|
||||
if (!isHydrated) {
|
||||
return (
|
||||
<Card>
|
||||
<CardContent className="space-y-3 p-6">
|
||||
<Skeleton className="h-6 w-64" />
|
||||
<Skeleton className="h-4 w-80" />
|
||||
<Skeleton className="h-48 w-full" />
|
||||
</CardContent>
|
||||
</Card>
|
||||
)
|
||||
}
|
||||
|
||||
const onRetry = () => {
|
||||
setLoadError(null)
|
||||
setFallback(undefined)
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue