From 6028610ce4643f2217871785533e428f02f22dc9 Mon Sep 17 00:00:00 2001 From: HYEON <74049556+titeotty@users.noreply.github.com> Date: Mon, 17 Mar 2025 14:48:16 +0900 Subject: [PATCH 1/2] =?UTF-8?q?refactor:=20=EC=98=A4=ED=83=80=EC=88=98?= =?UTF-8?q?=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit refactor: 오타수정 --- src/components/UI/MailButtons.tsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/components/UI/MailButtons.tsx b/src/components/UI/MailButtons.tsx index b648d88..6161a04 100644 --- a/src/components/UI/MailButtons.tsx +++ b/src/components/UI/MailButtons.tsx @@ -3,7 +3,7 @@ import axios from 'axios' import { toast } from 'react-toastify' const sendResultMail = async (mailType : any) => { - const confirmation = window.confirm(`${mailType === 'DOCUMENT_RESULT' ? '서류' : '면접접'} 합격자에게 메일을 보낼까요?`) + const confirmation = window.confirm(`${mailType === 'DOCUMENT_RESULT' ? '서류' : '면접'} 합격자에게 메일을 보낼까요?`) if (!confirmation) return const accessToken = localStorage.getItem('accessToken') From 979c2ac43a4c1feab9d1d490aa9a6ae0df236384 Mon Sep 17 00:00:00 2001 From: HYEON <74049556+titeotty@users.noreply.github.com> Date: Mon, 17 Mar 2025 14:52:02 +0900 Subject: [PATCH 2/2] =?UTF-8?q?feat:=20=ED=97=A4=EB=8D=94=20=EB=A1=9C?= =?UTF-8?q?=EC=A7=81=20=EC=88=98=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit feat: 헤더 로직 수정 --- src/components/UI/Header.tsx | 88 ++++++++++++++++++++++++------------ 1 file changed, 60 insertions(+), 28 deletions(-) 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 => { >
{ navigate('/') - isMenuOpen? toggleMenu() : null - }}>DASOM
+ isMenuOpen ? toggleMenu() : null + }}> + DASOM + {/* 메뉴 버튼 */} {
  • { - // console.log('About 이동') navigate('/') toggleMenu() }} @@ -76,7 +108,6 @@ export const Header = (): JSX.Element => {
  • { - // console.log('News 이동') navigate('/news') toggleMenu() }} @@ -85,8 +116,7 @@ export const Header = (): JSX.Element => {
  • { - // console.log('Members 이동') + onClick={() => { navigate('/coremember') toggleMenu() }} @@ -96,33 +126,35 @@ export const Header = (): JSX.Element => {
  • { - // console.log('FAQ 이동') navigate('/faq') toggleMenu() }} > FAQ
  • -
  • { - // console.log('form 이동') - navigate('/recruit') - toggleMenu() - }} - > - 34기 지원하기 -
  • -
  • { - // console.log('합격여부 이동') - navigate('/recruit/result') - toggleMenu() - }} - > - 합격여부 확인하기 -
  • + + {/* 모집 기간에 따라 버튼 다르게 표시 */} + {isRecruiting ? ( +
  • { + navigate('/recruit') + toggleMenu() + }} + > + 34기 지원하기 +
  • + ) : ( +
  • { + navigate('/recruit/result') + toggleMenu() + }} + > + 34기 합격여부 확인하기 +
  • + )} )}