@@ -4,12 +4,18 @@ import { NumToTime } from '@/lib/utils'
44import Navbar from './Navbar'
55import Link from 'next/link'
66import { MemberData , RoomCode } from '@/lib/types'
7- import { useEffect , useState } from 'react'
7+ import { useEffect , useRef , useState } from 'react'
88import { API } from '@/lib/api'
9+ import { useRouter } from 'next/navigation'
910
1011const Results = ( { roomCode } : RoomCode ) => {
12+ const router = useRouter ( )
1113 const [ result , setResult ] = useState < number [ ] [ ] > ( [ ] )
1214 const [ membersData , setMembersData ] = useState < MemberData [ ] > ( [ ] )
15+ const [ time , setTime ] = useState < number > ( 7200000 ) ;
16+
17+ const intervalRef = useRef < ReturnType < typeof setInterval > > ( ) ;
18+ const decreaseNum = ( ) => setTime ( ( prev ) => prev - 1 ) ;
1319
1420 useEffect ( ( ) => {
1521 API . getInterval ( roomCode ) . then ( ( res : any ) => {
@@ -18,24 +24,29 @@ const Results = ({ roomCode }: RoomCode) => {
1824 API . getUsers ( roomCode ) . then ( ( res : any ) => {
1925 setMembersData ( res )
2026 } )
27+
28+ intervalRef . current = setInterval ( decreaseNum , 1000 ) ;
29+ return ( ) => clearInterval ( intervalRef . current ) ;
30+
2131 // eslint-disable-next-line react-hooks/exhaustive-deps
2232 } , [ ] )
2333
34+ if ( time === 0 ) {
35+ API . deleteRoom ( roomCode )
36+ router . push ( '/' )
37+ }
38+
2439 return (
2540 < div className = "w-screen min-h-screen flex flex-col justify-center items-center text-white bg-[#16161a] py-[70px]" >
2641 < Navbar />
2742
28- < div className = "w-full px-10 flex justify-between items-center my-[30px] max-[500px]:flex-col max-[500px]:gap -[30px]" >
43+ < div className = "w-full px-10 flex justify-start items-center my-[30px]" >
2944 < Link
3045 className = "text-2xl font-medium tracking-wide py-2 px-5 border-2 border-white rounded-lg outline outlint-2 outline-transparent hover:outline-white"
3146 href = { `/${ roomCode } ` }
3247 >
3348 Back
3449 </ Link >
35-
36- < p className = "text-2xl font-medium tracking-wide" >
37- Timer - [ 02:00:00 ]
38- </ p >
3950 </ div >
4051
4152 < h2 className = "text-5xl text-center font-semibold tracking-wide m-2" >
0 commit comments