1- import React , { useEffect , useState } from 'react'
2- import { formatKoreanDate , useRecruitSchedule } from '../../pages/recruit/useRecruitSchedule'
3- import { RecruitScheduleData } from '@/pages/recruit/Recruittype'
1+ import React , { useEffect , useState , useCallback } from 'react'
2+ import {
3+ formatKoreanDate ,
4+ useRecruitSchedule ,
5+ RecruitScheduleData ,
6+ } from '../../pages/recruit/useRecruitSchedule'
47
58interface RecruitUIProps {
69 name ?: string
@@ -20,20 +23,23 @@ export const RecruitHeader: React.FC<RecruitHeaderProps> = ({ title }) => {
2023
2124export const RecruitUI : React . FC = ( ) => {
2225 const { loadSchedule } = useRecruitSchedule ( )
23- const [ scheduleData , setScheduleData ] = useState < RecruitScheduleData | null > ( null )
26+ const [ scheduleData , setScheduleData ] = useState < RecruitScheduleData | null > (
27+ null
28+ )
2429
25- useEffect ( ( ) => {
26- const fetchRecruit = async ( ) => {
27- try {
28- const { scheduleData } = await loadSchedule ( )
29- setScheduleData ( scheduleData )
30- } catch ( error ) {
31- console . error ( '모집 기간 확인 중 오류 발생:' , error )
32- }
30+ const fetchRecruit = useCallback ( async ( ) => {
31+ try {
32+ const { scheduleData } = await loadSchedule ( )
33+ setScheduleData ( scheduleData )
34+ } catch ( error ) {
35+ console . error ( '모집 기간 확인 중 오류 발생:' , error )
3336 }
34- fetchRecruit ( )
3537 } , [ loadSchedule ] )
3638
39+ useEffect ( ( ) => {
40+ fetchRecruit ( )
41+ } , [ fetchRecruit ] )
42+
3743 const formatDate = ( isoString : string ) => {
3844 const date = new Date ( isoString )
3945 const options : Intl . DateTimeFormatOptions = {
@@ -109,20 +115,23 @@ export const RecruitUI: React.FC = () => {
109115
110116export const RecruitUI_SUB : React . FC < RecruitUIProps > = ( { name } ) => {
111117 const { loadSchedule } = useRecruitSchedule ( )
112- const [ scheduleData , setScheduleData ] = useState < RecruitScheduleData | null > ( null )
118+ const [ scheduleData , setScheduleData ] = useState < RecruitScheduleData | null > (
119+ null
120+ )
113121
114- useEffect ( ( ) => {
115- const fetchRecruit = async ( ) => {
116- try {
117- const { scheduleData } = await loadSchedule ( )
118- setScheduleData ( scheduleData )
119- } catch ( error ) {
120- console . error ( '모집 기간 확인 중 오류 발생:' , error )
121- }
122+ const fetchRecruit = useCallback ( async ( ) => {
123+ try {
124+ const { scheduleData } = await loadSchedule ( )
125+ setScheduleData ( scheduleData )
126+ } catch ( error ) {
127+ console . error ( '모집 기간 확인 중 오류 발생:' , error )
122128 }
123- fetchRecruit ( )
124129 } , [ loadSchedule ] )
125130
131+ useEffect ( ( ) => {
132+ fetchRecruit ( )
133+ } , [ fetchRecruit ] )
134+
126135 return (
127136 < div className = 'whitespace-pre-line text-white flex flex-col items-start w-auto h-[auto] shadow-[0px_2px_3px_rgba(255,255,255,0.2)] bg-#17171B] gap-2 mx-2 font-pretendardRegular pl-2 text-[12px] md:text-sm' >
128137 < p className = 'pt-3 ' >
@@ -137,10 +146,16 @@ export const RecruitUI_SUB: React.FC<RecruitUIProps> = ({ name }) => {
137146 </ p >
138147
139148 < p >
140- { '다음 전형인 대면 인터뷰에서 뵐 수 있게 되어 기쁜 마음을 담아 안내드립니다.' }
149+ {
150+ '다음 전형인 대면 인터뷰에서 뵐 수 있게 되어 기쁜 마음을 담아 안내드립니다.'
151+ }
141152 </ p >
142153
143- < p className = 'mb-3' > 대면 인터뷰는 { formatKoreanDate ( scheduleData ?. interviewPeriodStart ) } ~ { formatKoreanDate ( scheduleData ?. interviewPeriodEnd ) } 중에 진행 될 예정이며 편한 시간대로 폼을 작성해주시면 감사하겠습니다.</ p >
154+ < p className = 'mb-3' >
155+ 대면 인터뷰는 { formatKoreanDate ( scheduleData ?. interviewPeriodStart ) } ~{ ' ' }
156+ { formatKoreanDate ( scheduleData ?. interviewPeriodEnd ) } 중에 진행 될
157+ 예정이며 편한 시간대로 폼을 작성해주시면 감사하겠습니다.
158+ </ p >
144159 </ div >
145160 )
146161}
@@ -170,7 +185,10 @@ export const RecruitUI_FINAL: React.FC<RecruitUIProps> = ({ name }) => {
170185 < div className = 'whitespace-pre-line text-white flex flex-col items-start w-auto h-[auto] shadow-[0px_2px_3px_rgba(255,255,255,0.2)] bg-#17171B] gap-2 mx-2 font-pretendardRegular pl-2 text-[12px] md:text-sm' >
171186 < p className = 'pt-3 font-pretendardBold ' >
172187 안녕하세요 { `${ name } ` } 님, < br /> 다솜 34기에
173- < span className = 'text-mainColor font-pretendardBold' > 최종합격</ span > { ' ' }
188+ < span className = 'text-mainColor font-pretendardBold' >
189+ { ' ' }
190+ 최종합격
191+ </ span > { ' ' }
174192 되신 점 축하드립니다!
175193 </ p >
176194
0 commit comments