1
1
import { FormikHelpers , useFormik } from "formik" ;
2
2
import { useEffect , useState } from "react" ;
3
- import { Link } from "react-router-dom" ;
4
3
import { useParams , useNavigate } from "react-router-dom" ;
5
4
import { SyncLoader } from "react-spinners" ;
6
5
import * as Yup from "yup" ;
@@ -237,40 +236,48 @@ const GameEditorPage = function GameEditorPage({ editMode }: IProps) {
237
236
</ Button >
238
237
</ div >
239
238
< table className = "shadow-lg bg-white border-collapse w-full" >
240
- < tr >
241
- < th className = "bg-gray-100 border text-left px-8 py-4" > id</ th >
242
- < th className = "bg-gray-100 border text-left px-8 py-4" > name</ th >
243
- < th className = "bg-gray-100 border text-left px-8 py-4" >
244
- scoreStrategy
245
- </ th >
246
- < th className = "bg-gray-100 border text-left px-8 py-4" >
247
- resetStrategy
248
- </ th >
249
- < th className = "bg-gray-100 border text-left px-8 py-4" > Edit</ th >
250
- </ tr >
251
- { currentGameType ?. _leaderboards ?. map (
252
- ( leaderboard : ILeaderboard ) => (
253
- < tr key = { `leaderboard${ leaderboard . id } ` } >
254
- < td className = "border px-8 py-4" > < Link to = { `/games/leaderboards/${ leaderboard . id } ` } > { leaderboard . id } </ Link > </ td >
255
- < td className = "border px-8 py-4" > < Link to = { `/games/leaderboards/${ leaderboard . id } ` } > { leaderboard . name } </ Link > </ td >
256
- < td className = "border px-8 py-4" >
257
- < Link to = { `/games/leaderboards/${ leaderboard . id } ` } > { leaderboard . scoreStrategy } </ Link >
258
- </ td >
259
- < td className = "border px-8 py-4" >
260
- < Link to = { `/games/leaderboards/${ leaderboard . id } ` } > { leaderboard . resetStrategy } </ Link >
261
- </ td >
262
- < td className = "border px-8 py-4" >
263
- < Button
264
- onClick = { ( ) => {
265
- openLeaderboardModal ( leaderboard )
266
- } }
267
- >
268
- Edit
269
- </ Button >
270
- </ td >
271
- </ tr >
272
- )
273
- ) }
239
+ < thead >
240
+ < tr >
241
+ < th className = "bg-gray-100 border text-left px-8 py-4" > id</ th >
242
+ < th className = "bg-gray-100 border text-left px-8 py-4" > name</ th >
243
+ < th className = "bg-gray-100 border text-left px-8 py-4" >
244
+ scoreStrategy
245
+ </ th >
246
+ < th className = "bg-gray-100 border text-left px-8 py-4" >
247
+ resetStrategy
248
+ </ th >
249
+ < th className = "bg-gray-100 border text-left px-8 py-4" > Edit</ th >
250
+ </ tr >
251
+ </ thead >
252
+ < tbody >
253
+ { currentGameType && currentGameType ?. _leaderboards ?. map (
254
+ ( leaderboard : ILeaderboard ) => (
255
+ < tr key = { leaderboard . id } className = "hover:bg-coolGray-50 cursor-pointer" >
256
+ < td className = "border px-8 py-4" onClick = { ( ) => navigate ( `/games/${ gameTypeId } /leaderboards/${ leaderboard . id } ` ) } >
257
+ { leaderboard . id }
258
+ </ td >
259
+ < td className = "border px-8 py-4" onClick = { ( ) => navigate ( `/games/${ gameTypeId } /leaderboards/${ leaderboard . id } ` ) } >
260
+ { leaderboard . name }
261
+ </ td >
262
+ < td className = "border px-8 py-4 capitalize" onClick = { ( ) => navigate ( `/games/${ gameTypeId } /leaderboards/${ leaderboard . id } ` ) } >
263
+ { leaderboard . scoreStrategy }
264
+ </ td >
265
+ < td className = "border px-8 py-4 capitalize" onClick = { ( ) => navigate ( `/games/${ gameTypeId } /leaderboards/${ leaderboard . id } ` ) } >
266
+ { leaderboard . resetStrategy }
267
+ </ td >
268
+ < td className = "border px-8 py-4" >
269
+ < Button
270
+ onClick = { ( ) => {
271
+ openLeaderboardModal ( leaderboard )
272
+ } }
273
+ >
274
+ Edit
275
+ </ Button >
276
+ </ td >
277
+ </ tr >
278
+ )
279
+ ) }
280
+ </ tbody >
274
281
</ table >
275
282
</ div >
276
283
@@ -284,33 +291,48 @@ const GameEditorPage = function GameEditorPage({ editMode }: IProps) {
284
291
</ Button >
285
292
</ div >
286
293
< table className = "shadow-lg bg-white border-collapse max-w-xs" >
287
- < tr >
288
- < th className = "bg-gray-100 border text-left px-8 py-4" > id</ th >
289
- < th className = "bg-gray-100 border text-left px-8 py-4" >
290
- Description
291
- </ th >
292
- < th className = "bg-gray-100 border text-left px-8 py-4" >
293
- isEnabled
294
- </ th >
295
- < th className = "bg-gray-100 border text-left px-8 py-4" >
296
- targetValue
297
- </ th >
298
- < th className = "bg-gray-100 border text-left px-8 py-4" >
299
- createdAt
300
- </ th >
301
- < th className = "bg-gray-100 border text-left px-8 py-4" >
302
- updatedAt
303
- </ th >
304
- < th className = "bg-gray-100 border text-left px-8 py-4" > Edit</ th >
305
- </ tr >
306
- { achievements ?. map ( ( achievement =>
307
- < tr key = { `achievement${ achievement . id } ` } >
308
- < td className = "border px-8 py-4" > { achievement . id } </ td >
309
- < td className = "border px-8 py-4" > { achievement . description || "-" } </ td >
310
- < td className = "border px-8 py-4" > { achievement . isEnabled ? "✅" : "❌" } </ td >
311
- < td className = "border px-8 py-4" > { achievement . targetValue || "-" } </ td >
312
- < td className = "border px-8 py-4" > { achievement . createdAt || "-" } </ td >
313
- < td className = "border px-8 py-4" > { achievement . updatedAt || "-" } </ td >
294
+ < thead >
295
+ < tr >
296
+ < th className = "bg-gray-100 border text-left px-8 py-4" > id</ th >
297
+ < th className = "bg-gray-100 border text-left px-8 py-4" >
298
+ Description
299
+ </ th >
300
+ < th className = "bg-gray-100 border text-left px-8 py-4" >
301
+ isEnabled
302
+ </ th >
303
+ < th className = "bg-gray-100 border text-left px-8 py-4" >
304
+ targetValue
305
+ </ th >
306
+ < th className = "bg-gray-100 border text-left px-8 py-4" >
307
+ createdAt
308
+ </ th >
309
+ < th className = "bg-gray-100 border text-left px-8 py-4" >
310
+ updatedAt
311
+ </ th >
312
+ < th className = "bg-gray-100 border text-left px-8 py-4" > Edit</ th >
313
+ </ tr >
314
+ </ thead >
315
+ < tbody >
316
+ { achievements && achievements ?. map ( ( achievement =>
317
+ < tr key = { achievement . id } className = "hover:bg-coolGray-50 cursor-pointer" >
318
+ < td className = "border px-8 py-4" onClick = { ( ) => navigate ( `/games/${ gameTypeId } /achievements/${ achievement . id } ` ) } >
319
+ { achievement . id }
320
+ </ td >
321
+ < td className = "border px-8 py-4" onClick = { ( ) => navigate ( `/games/${ gameTypeId } /achievements/${ achievement . id } ` ) } >
322
+ { achievement . description || "-" }
323
+ </ td >
324
+ < td className = "border px-8 py-4 text-center" onClick = { ( ) => navigate ( `/games/${ gameTypeId } /achievements/${ achievement . id } ` ) } >
325
+ { achievement . isEnabled ? "✅" : "❌" }
326
+ </ td >
327
+ < td className = "border px-8 py-4" onClick = { ( ) => navigate ( `/games/${ gameTypeId } /achievements/${ achievement . id } ` ) } >
328
+ { achievement . targetValue || "-" }
329
+ </ td >
330
+ < td className = "border px-8 py-4" onClick = { ( ) => navigate ( `/games/${ gameTypeId } /achievements/${ achievement . id } ` ) } >
331
+ { new Date ( achievement ?. createdAt || "" ) . toLocaleString ( ) }
332
+ </ td >
333
+ < td className = "border px-8 py-4" onClick = { ( ) => navigate ( `/games/${ gameTypeId } /achievements/${ achievement . id } ` ) } >
334
+ { new Date ( achievement ?. updatedAt || "" ) . toLocaleString ( ) }
335
+ </ td >
314
336
< td className = "border px-8 py-4" >
315
337
< Button
316
338
onClick = { ( ) => {
@@ -320,14 +342,14 @@ const GameEditorPage = function GameEditorPage({ editMode }: IProps) {
320
342
Edit
321
343
</ Button >
322
344
</ td >
323
-
324
345
</ tr >
325
346
) ) }
347
+ </ tbody >
326
348
</ table >
327
349
</ div >
328
350
</ div >
329
- < AddOrEditAchievementModal show = { showModal } onClose = { handlePostSubmitAchievement } selectedAchievement = { selectedAchievement } />
330
- < AddOrEditLeaderboardModal show = { showLeaderboardModal } onClose = { handlePostSubmitLeaderboard } selectedLeaderboard = { selectedLeaderboard } />
351
+ { showModal && < AddOrEditAchievementModal show = { showModal } onClose = { handlePostSubmitAchievement } selectedAchievement = { selectedAchievement } /> }
352
+ { showLeaderboardModal && < AddOrEditLeaderboardModal show = { showLeaderboardModal } onClose = { handlePostSubmitLeaderboard } selectedLeaderboard = { selectedLeaderboard } /> }
331
353
</ >
332
354
) ;
333
355
} ;
0 commit comments