File tree Expand file tree Collapse file tree 2 files changed +68
-0
lines changed
components/RaceEventsTable
containers/RaceEventsTable Expand file tree Collapse file tree 2 files changed +68
-0
lines changed Original file line number Diff line number Diff line change
1
+ import React from "react" ;
2
+ import {
3
+ Table ,
4
+ TableCaption ,
5
+ TableContainer ,
6
+ Tbody ,
7
+ Td ,
8
+ Th ,
9
+ Thead ,
10
+ Tr ,
11
+ } from "@chakra-ui/react" ;
12
+ import { RaceEvent } from "../../features/raceEventsSlice" ;
13
+
14
+ export interface RaceEventsTableProps {
15
+ events : RaceEvent [ ] ;
16
+ onPressEvent ?: ( raceEventId : string ) => void ;
17
+ }
18
+
19
+ export const RaceEventsTable : React . FC < RaceEventsTableProps > = ( {
20
+ events,
21
+ onPressEvent = ( ) => { } ,
22
+ } ) => {
23
+ // TODO: Session number filter
24
+ // TODO: Session time range filter
25
+ // TODO: Type filter
26
+ return (
27
+ < TableContainer >
28
+ < Table variant = "striped" >
29
+ < TableCaption > Race events</ TableCaption >
30
+ < Thead >
31
+ < Tr >
32
+ < Th > ID</ Th >
33
+ < Th > Session Number</ Th >
34
+ < Th > Session time</ Th >
35
+ < Th > Type</ Th >
36
+ </ Tr >
37
+ </ Thead >
38
+
39
+ < Tbody >
40
+ { events . map ( ( { id, sessionNumber, sessionTime, type } ) => (
41
+ < Tr onClick = { ( ) => onPressEvent ( id ) } >
42
+ < Td > { id } </ Td >
43
+ < Td > { sessionNumber } </ Td >
44
+ < Td > { sessionTime } </ Td >
45
+ < Td > { type } </ Td >
46
+ </ Tr >
47
+ ) ) }
48
+ </ Tbody >
49
+ </ Table >
50
+ </ TableContainer >
51
+ ) ;
52
+ } ;
Original file line number Diff line number Diff line change
1
+ import React from "react" ;
2
+ import { useSelector } from "react-redux" ;
3
+ import { allRaceEvents } from "src/features/raceEventsSlice" ;
4
+ import {
5
+ RaceEventsTable as RaceEventsTableUI ,
6
+ RaceEventsTableProps as RaceEventsTableUIProps ,
7
+ } from "../../components/RaceEventsTable" ;
8
+
9
+ export interface RaceEventsTableProps { }
10
+
11
+ export const RaceEventsTable : React . FC < RaceEventsTableProps > = ( ) => {
12
+ const raceEvents = useSelector ( allRaceEvents ) ;
13
+ return < RaceEventsTableUI events = { raceEvents } /> ;
14
+ } ;
15
+
16
+ export default RaceEventsTable ;
You can’t perform that action at this time.
0 commit comments