import React, { useEffect, useState } from "react"; import { useLocation } from "react-router-dom"; import styled from "styled-components"; const PageContainer = styled.div` position: relative; width: 100%; height: 100%; opacity: ${(props) => (props.isVisible ? 1 : 0)}; transform: ${(props) => (props.isVisible ? "translateY(0)" : "translateY(10px)")}; transition: opacity 0.3s ease, transform 0.3s ease; `; const TransitionWrapper = ({ children }) => { const location = useLocation(); const [isVisible, setIsVisible] = useState(true); useEffect(() => { setIsVisible(false); // Trigger fade-out animation const timer = setTimeout(() => setIsVisible(true), 300); // Match animation duration return () => clearTimeout(timer); }, [location]); return {children}; }; export default TransitionWrapper;