[팀 포트폴리오] [Momentum 클론 웹사이트] 2. 코드 분석 <FocusMode.jsx & FocusMode.css>

2024. 12. 11. 10:28웹개발 포트폴리오

728x90

 

FocusMode.jsx

import React from "react";
import "../FocusMode.css";

// 함수형 컴포넌트 FocusMode
function FocusMode({ onExit }) {
// { onExit } : 버큰 클릭시 실행
  return (
    <div className="focus-mode-container">
      <button className="exit-focus-button" onClick={onExit}>
        Exit Focus Mode
      </button>
      <h1>Stay Focused!</h1>
    </div>
  );
}

export default FocusMode;

 

FocusMode.css

.focus-mode-container {
    position: fixed;
    top: 0;
    left: 0;
    width: 100vw;
    height: 100vh;
    background-color: rgba(0, 0, 0, 0.8);
    color: white;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    z-index: 40;
    opacity: 0;
    animation: fadeIn 0.5s forwards; /* 페이드 인 효과 */
  }
  
  /* 버튼 애니메이션 */
  .exit-focus-button {
    position: fixed;
    top: 10px;
    left: 10px;
    padding: 10px 20px;
    background-color: #ff6347;
    color: white;
    border: none;
    border-radius: 5px;
    cursor: pointer;
    transform: scale(0.9);
    transition: transform 0.3s ease;
  }
  
  .exit-focus-button:hover {
    transform: scale(1); /* 확대 효과 */
    background-color: #ff4500;
  }
  
  /* 페이드 인 애니메이션 */
  @keyframes fadeIn {
    from {
      opacity: 0;
      filter: blur(10px);
    }
    to {
      opacity: 0.5;
      filter: blur(0);
    }
  }
728x90