@@ -133,7 +133,7 @@ export function Lobby() {
133
133
134
134
function NewGameDialog ( { onNewGame, onStartEdit, setNewGameOpen, newGameRef} ) {
135
135
let dimRef = useRef ( 9 )
136
- let timeRef = useRef ( 0 )
136
+ let timeRef = useRef ( 10 )
137
137
let [ edit , setEdit ] = useState ( false )
138
138
return (
139
139
< form className = "contents" onSubmit = { ( e ) => {
@@ -145,56 +145,60 @@ function NewGameDialog({onNewGame, onStartEdit, setNewGameOpen, newGameRef}) {
145
145
onNewGame ( game )
146
146
}
147
147
} } >
148
- < div className = "flex justify-start" >
149
- < div ref = { newGameRef } className = "absolute ml-40 bg-slate-800 w-96 border-2 border-slate-600 rounded-lg" >
150
- < div className = "absolute top-1 right-0 mr-2" >
151
- < button onClick = { ( ) => setNewGameOpen ( false ) } className = "ml-1 text-stone-100 hover:text-stone-300" >
152
- < IconContext . Provider value = { { size : "1.25em" } } >
153
- < CgClose />
154
- </ IconContext . Provider >
155
- </ button >
148
+ < div ref = { newGameRef } className = "absolute ml-40 bg-slate-800 border-2 border-slate-600 rounded-lg z-10 px-3 py-2" >
149
+ < div className = "absolute top-1 right-1" >
150
+ < button onClick = { ( ) => setNewGameOpen ( false ) } className = "text-stone-100 hover:text-stone-300" >
151
+ < IconContext . Provider value = { { size : "1.25em" } } >
152
+ < CgClose />
153
+ </ IconContext . Provider >
154
+ </ button >
155
+ </ div >
156
+ < div className = "mt-1" >
157
+ < span className = "italic text-gray-400" > Board Dimension:</ span >
158
+ </ div >
159
+ < div className = "flex flex-row gap-x-4" >
160
+ < div >
161
+ < input id = "dim-9" type = "radio" name = "dim" value = "9" defaultChecked = { true } onClick = { ( ) => dimRef . current = 9 } />
162
+ < label htmlFor = "dim-9" className = "pt-[0.625rem]" > 9x9</ label >
163
+ </ div >
164
+ < div >
165
+ < input id = "dim-13" type = "radio" name = "dim" value = "13" onClick = { ( ) => dimRef . current = 13 } />
166
+ < label htmlFor = "dim-13" className = "pt-[0.625rem]" > 13x13</ label >
167
+ </ div >
168
+ < div >
169
+ < input id = "dim-19" type = "radio" name = "dim" value = "19" onClick = { ( ) => dimRef . current = 19 } />
170
+ < label htmlFor = "dim-19" className = "pt-[0.625rem]" > 19x19</ label >
156
171
</ div >
157
- < div className = "grid grid-cols-3 gap-1" >
158
- < div className = "col-span-3 pt-3" >
159
- < label className = "italic text-gray-400 ml-2" > Dimension</ label >
160
- </ div >
161
- < div >
162
- < input id = "dim-9" type = "radio" name = "dim" value = "9" className = "ml-2" defaultChecked = { true } onClick = { ( ) => dimRef . current = 9 } />
163
- < label htmlFor = "dim-9" className = "pt-[0.625rem] pr-1" > 9x9</ label >
164
- </ div >
165
- < div >
166
- < input id = "dim-13" type = "radio" name = "dim" value = "13" onClick = { ( ) => dimRef . current = 13 } />
167
- < label htmlFor = "dim-13" className = "pt-[0.625rem] pr-1" > 13x13</ label >
168
- </ div >
169
- < div >
170
- < input id = "dim-19" type = "radio" name = "dim" value = "19" onClick = { ( ) => dimRef . current = 19 } />
171
- < label htmlFor = "dim-19" className = "pt-[0.625rem] pr-5" > 19x19</ label >
172
- </ div >
173
- < div className = "col-span-3" >
174
- < label className = "italic text-gray-400 ml-2" > Time</ label >
175
- </ div >
176
- < div >
177
- < input id = "time-0" type = "radio" name = "time" value = "0" className = "ml-2" defaultChecked = { true } onClick = { ( ) => timeRef . current = 0 } />
178
- < label htmlFor = "time-0" className = "pt-[0.625rem] pr-1" > 0s</ label >
179
- </ div >
180
- < div >
181
- < input id = "time-10" type = "radio" name = "time" value = "10" onClick = { ( ) => timeRef . current = 10 } />
182
- < label htmlFor = "time-10" className = "pt-[0.625rem] pr-1" > 10s</ label >
183
- </ div >
184
- < div >
185
- < input id = "time-30" type = "radio" name = "time" value = "30" onClick = { ( ) => timeRef . current = 30 } />
186
- < label htmlFor = "time-30" className = "pt-[0.625rem] pr-1" > 30s</ label >
187
- </ div >
172
+ </ div >
173
+ < div className = "mt-3" >
174
+ < span className = "italic text-gray-400" > Time Setting:</ span >
175
+ </ div >
176
+ < div className = "flex flex-row gap-x-3" >
177
+ < div >
178
+ < input id = "time-0" type = "radio" name = "time" value = "0" onClick = { ( ) => timeRef . current = 0 } />
179
+ < label htmlFor = "time-0" className = "pt-[0.625rem]" > No time limit</ label >
180
+ </ div >
181
+ < div >
182
+ < input id = "time-10" type = "radio" name = "time" value = "10" defaultChecked = { true } onClick = { ( ) => timeRef . current = 10 } />
183
+ < label htmlFor = "time-10" className = "pt-[0.625rem]" > 10s</ label >
188
184
</ div >
189
- < div className = "flex flex-row w-full pt-2 pr-2 pb-2" >
190
- < input className = "ml-2" id = "cb-edit" type = "checkbox" name = "edit" checked = { edit } onChange = { ( ) => setEdit ( ! edit ) } />
191
- < label htmlFor = "cb-edit" className = "pt-[0.625rem] ml-1" > Edit</ label >
192
- < div className = "grow" />
193
- < Button type = "submit" className = "ml-2" > OK</ Button >
185
+ < div >
186
+ < input id = "time-30" type = "radio" name = "time" value = "30" onClick = { ( ) => timeRef . current = 30 } />
187
+ < label htmlFor = "time-30" className = "pt-[0.625rem]" > 30s</ label >
188
+ </ div >
189
+ </ div >
190
+ < div className = "flex flex-row w-full mt-3" >
191
+ < div className = "self-end" >
192
+ < input id = "cb-edit" type = "checkbox" name = "edit" checked = { edit } onChange = { ( ) => setEdit ( ! edit ) } />
193
+ < label htmlFor = "cb-edit" className = { twJoin (
194
+ ! edit && "text-gray-400" ,
195
+ "pt-[0.625rem] ml-1" ,
196
+ ) } > Edit Mode</ label >
194
197
</ div >
198
+ < div className = "grow" />
199
+ < Button type = "submit" > OK</ Button >
195
200
</ div >
196
201
</ div >
197
-
198
202
</ form >
199
203
)
200
204
}
0 commit comments