/
viktorphp
/
front-socket
Обзор
Документация
Войти
/
viktorphp
/
front-socket
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
CI/CD
Аналитика
Безопасность
master
src/shared/ui/Overlay/Overlay.tsx
40 строк
850 B
Viktorphp84
feature-socket: Поправить верстку на странице профиля, исправить сохранение дат.
12 окт 2025, 01:53
12 окт 2025, 01:53
93fb0bf
Код
Авторство
О чём код?
'use client'; import { ReactNode, useEffect, useState } from 'react'; import { createPortal } from 'react-dom'; import { Box } from '@mui/material'; export const Overlay = ({ children }: { children?: ReactNode }) => { const [mounted, setMounted] = useState(false); useEffect(() => { setMounted(true); }, []); // Не рендерим portal до монтирования на клиенте if (!mounted) { return null; } const overlay = ( <Box sx={{ position: 'fixed', top: 0, left: 0, display: 'flex', justifyContent: 'center', alignItems: 'center', width: '100%', height: '100%', backgroundColor: 'rgba(0,0,0,0.2)', zIndex: 1000, }} > {children} </Box> ); return createPortal(overlay, document.body); };