CampFireID/app/components/ClientOnly.tsx
degradin 8af9c21cb1 add components
Безопасная работа с Telegram Web App SDK
Улучшенная обработка ошибок
Плавная загрузка с индикаторами
Корректная работа в демо-режиме
2025-03-16 12:35:18 +03:00

22 lines
452 B
TypeScript

'use client';
import { useEffect, useState } from 'react';
import { Center, Spinner } from '@chakra-ui/react';
export default function ClientOnly({ children }: { children: React.ReactNode }) {
const [hasMounted, setHasMounted] = useState(false);
useEffect(() => {
setHasMounted(true);
}, []);
if (!hasMounted) {
return (
<Center h="100vh">
<Spinner size="xl" />
</Center>
);
}
return <>{children}</>;
}