Skip to content

Commit 278e556

Browse files
committed
updated api endpoints
1 parent 299003d commit 278e556

File tree

3 files changed

+21
-9
lines changed

3 files changed

+21
-9
lines changed

app/api/[roomcode]/route.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -52,7 +52,7 @@ export async function GET(request:Request, context: RoomCodeRouteContext){
5252
//to get the free intervals
5353
let j=0;
5454
if(finalintervals[0][0]!==0){
55-
result[0] = [[0, finalintervals[0][0]-1]];
55+
result[0] = [0, finalintervals[0][0]-1];
5656
++j;
5757
}
5858
for(let i=1;i<finalintervals.length;i++){

app/api/new-room/route.ts

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,12 @@
11
import { SetUser } from '@/lib/types'
22
import clientPromise from '@/utils/newdb'
3+
import { Db, MongoClient } from 'mongodb'
34

45
export async function POST(request: Request) {
56
const { username, roomcode, timeRanges }: SetUser = await request.json()
67
try {
7-
const client = await clientPromise
8-
const db = client.db('get_interval')
8+
const client: MongoClient = await clientPromise
9+
const db: Db = client.db('get_interval')
910

1011
await db.collection('rooms').insertOne({
1112
username: username,

components/Results.tsx

Lines changed: 17 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -4,12 +4,18 @@ import { NumToTime } from '@/lib/utils'
44
import Navbar from './Navbar'
55
import Link from 'next/link'
66
import { MemberData, RoomCode } from '@/lib/types'
7-
import { useEffect, useState } from 'react'
7+
import { useEffect, useRef, useState } from 'react'
88
import { API } from '@/lib/api'
9+
import { useRouter } from 'next/navigation'
910

1011
const 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

Comments
 (0)