1- import { ReactElement , useState } from 'react' ;
1+ import { ReactElement , useEffect , useState } from 'react' ;
22import { RECRUITING_STATUS , RecruitStatus } from '../../../constants/status' ;
33import { RECRUIT_FIELD_NAMES , RECRUIT_TITLE } from 'database/recruit' ;
44import SectionTitle from 'components/common/SectionTitle' ;
@@ -11,9 +11,16 @@ import { useScrollAnimation } from 'hooks/useScrollAnimation';
1111
1212function RecruitField ( ) : ReactElement {
1313 const [ flippedIndex , setFlippedIndex ] = useState < number | null > ( null ) ;
14+ const [ status , setStatus ] = useState < RecruitStatus > ( RecruitStatus . PRE ) ;
1415 const { ref, controls, containerVariants, itemVariants } =
1516 useScrollAnimation ( ) ;
1617
18+ useEffect ( ( ) => {
19+ setStatus ( RECRUITING_STATUS ( ) ) ;
20+ const timer = setInterval ( ( ) => setStatus ( RECRUITING_STATUS ( ) ) , 1000 ) ;
21+ return ( ) => clearInterval ( timer ) ;
22+ } , [ ] ) ;
23+
1724 return (
1825 < SectionLayout
1926 ref = { ref }
@@ -31,7 +38,7 @@ function RecruitField(): ReactElement {
3138 key = { field . name }
3239 variants = { itemVariants }
3340 onClick = { ( ) => {
34- if ( RECRUITING_STATUS ( ) === RecruitStatus . ACTIVE && field . url ) {
41+ if ( status === RecruitStatus . ACTIVE && field . url ) {
3542 window . open ( field . url , '_blank' ) ;
3643 }
3744 } }
@@ -45,7 +52,7 @@ function RecruitField(): ReactElement {
4552 isFlipped = { flippedIndex === index }
4653 onHoverStart = { ( ) => setFlippedIndex ( index ) }
4754 onHoverEnd = { ( ) => setFlippedIndex ( null ) }
48- recruitingStatus = { RECRUITING_STATUS ( ) }
55+ recruitingStatus = { status }
4956 />
5057 </ motion . li >
5158 ) ) }
0 commit comments