diff --git a/src/components/UI/Header.tsx b/src/components/UI/Header.tsx index d250bae..2a90c35 100644 --- a/src/components/UI/Header.tsx +++ b/src/components/UI/Header.tsx @@ -1,17 +1,48 @@ -import React, { JSX, useState, useEffect } from 'react' +import React, { JSX, useState, useEffect, useRef } from 'react' import headerMenu from '../../assets/images/headerMenu.svg' import headerMenuUndo from '../../assets/images/headerMenuUndo.svg' import { useNavigate } from 'react-router-dom' +import axios from 'axios' export const Header = (): JSX.Element => { const [isMenuOpen, setIsMenuOpen] = useState(false) const [windowWidth, setWindowWidth] = useState(window.innerWidth) + const [isRecruiting, setIsRecruiting] = useState(false) const navigate = useNavigate() + const alertShown = useRef(false) const toggleMenu = () => { setIsMenuOpen((prev) => !prev) } + // 모집 기간 확인 + useEffect(() => { + const checkRecruitmentPeriod = async () => { + try { + const response = await axios.get('https://dmu-dasom-api.or.kr/api/recruit') + const data = response.data + + const recruitmentStart = data.find((item: any) => item.key === 'RECRUITMENT_PERIOD_START')?.value + const recruitmentEnd = data.find((item: any) => item.key === 'RECRUITMENT_PERIOD_END')?.value + + const startDate = new Date(recruitmentStart) + const endDate = new Date(recruitmentEnd) + const now = new Date() + + if (now >= startDate && now <= endDate) { + setIsRecruiting(true) + } else { + setIsRecruiting(false) + } + } catch (error) { + console.error('모집 기간 확인 중 오류 발생:', error) + setIsRecruiting(false) + } + } + + checkRecruitmentPeriod() + }, []) + // window width 변경 상태관리 useEffect(() => { const handleResize = () => { @@ -38,8 +69,10 @@ export const Header = (): JSX.Element => { >