@@ -3,6 +3,7 @@ import Form from './Form'
33import Navbar from './Navbar'
44import { svgSrc , timeIntervals } from '@/lib/utils'
55import Link from 'next/link'
6+ import { useRouter } from 'next/navigation'
67interface RoomCode {
78 roomCode : string
89}
@@ -14,44 +15,58 @@ interface FormData {
1415}
1516
1617const GetForm = ( { roomCode } : RoomCode ) => {
18+ const router = useRouter ( )
19+ const [ showError , setShowError ] = useState < boolean > ( false ) ;
1720 const [ formData , setFormData ] = useState < FormData > ( {
1821 name : '' ,
1922 roomCode : roomCode ,
2023 intervals : [ timeIntervals ]
2124 } )
2225
26+ const checkFields = ( ) => {
27+ if ( formData . name === '' ) setShowError ( true ) ;
28+ else {
29+ setShowError ( false )
30+ router . push ( `/${ roomCode } /result` )
31+ }
32+ }
33+
2334 console . log ( formData )
2435
2536 return (
26- < div className = "w-screen min-h-screen flex flex-col justify-center items-center text-white py -[70px]" >
37+ < div className = "w-screen min-h-screen flex flex-col justify-center items-center text-white pb -[70px] pt-[90px ]" >
2738 < Navbar />
2839
29- < div className = "relative w-fit border-2 border-white ml-6 p-8 rounded-2xl flex justify-start items-start bg-[#16161a]" >
40+ < div className = "relative w-fit border-2 border-white ml-6 p-8 rounded-2xl flex justify-start items-start bg-[#16161a] max-[985px]:flex-col max-[500px]:p-4 max-[500px]:ml-0 max-[500px]:py-8 " >
3041 < div >
3142 < p className = "text-2xl text-[#d4d4d4] mb-[20px]" > Room Code: { roomCode } </ p >
3243
3344 < Form setFormData = { setFormData } />
3445 </ div >
3546
36- < div className = "mt-[20px] ml-[20px]" >
47+ < div className = "mt-[20px] ml-[20px] max-[985px]:hidden " >
3748 < iframe
3849 className = "border-none w-[450px] h-[275px] z-[-1]"
3950 src = { svgSrc }
4051 > </ iframe >
4152 </ div >
4253
43- < div className = "absolute bottom-0 right-0 m-8 mb-[42px] flex gap-6" >
44- < Link className = "py-2 px-5 border-[3px] border-white rounded-lg text-xl font-medium hover:font-semibold hover:border-[#48d399] hover:text-[#48d399]"
45- href = { `/ ${ roomCode } /result` }
54+ < div className = "absolute bottom-0 right-0 m-8 mb-[42px] flex gap-6 max-[985px]:relative max-[985px]:my-0 max-[985px]:mx-auto " >
55+ < button className = "py-2 px-5 border-[3px] border-white rounded-lg text-xl font-medium hover:font-semibold hover:border-[#48d399] hover:text-[#48d399]"
56+ onClick = { ( ) => checkFields ( ) }
4657 >
4758 Submit
48- </ Link >
59+ </ button >
4960
5061 < Link className = "py-2 px-5 border-[3px] border-white rounded-lg text-xl font-medium hover:font-semibold hover:border-[#48d399] hover:text-[#48d399]"
5162 href = { `/${ roomCode } /result` }
5263 >
5364 Result
5465 </ Link >
66+
67+ { showError && < p
68+ className = 'text-xl text-[#db696d] font-semibold tracking-wide w-max absolute -bottom-[35px] left-1/2 -translate-x-1/2'
69+ > Name field is empty !</ p > }
5570 </ div >
5671 </ div >
5772 </ div >
0 commit comments