@@ -6,32 +6,80 @@ const Events = () => {
6
6
useEffect ( ( ) => {
7
7
const fetchData = async ( ) => {
8
8
try {
9
- const response = await fetch ( 'http ://events.vatsim-scandinavia.org/api/calendars/1/events' , {
9
+ const response = await fetch ( 'https ://events.vatsim-scandinavia.org/api/calendars/1/events' , {
10
10
headers : {
11
- Authorization : 'Bearer 83e0745f-486d-4f73-8184-40c98930380c'
12
- } ,
13
- mode : 'no-cors' // Add the 'no-cors' mode
11
+ Authorization : 'Bearer 83e0745f-486d-4f73-8184-40c98930380c' // Replace with your valid bearer token
12
+ }
14
13
} ) ;
15
14
const data = await response . json ( ) ;
16
- setEvents ( data ) ;
15
+ setEvents ( data . data ) ;
17
16
} catch ( error ) {
18
17
console . error ( 'Error fetching events:' , error ) ;
19
18
}
20
19
} ;
21
-
20
+
22
21
fetchData ( ) ;
23
22
} , [ ] ) ;
24
23
24
+ function dateConverter ( date ) {
25
+ const newDate = new Date ( date ) ;
26
+ return newDate . toLocaleString ( 'en-uk' , { weekday : 'short' , month : 'short' , day : 'numeric' , hour : 'numeric' , minute : 'numeric' } ) ;
27
+ }
28
+
29
+ console . log ( dateConverter ( "2024-08-05 17:00:00" ) )
30
+
25
31
return (
26
- < div >
27
- < h1 > Events</ h1 >
28
- < ul >
29
- { events . map ( event => (
30
- < li key = { event . id } > { event . title } </ li >
31
- ) ) }
32
- </ ul >
32
+ < div class = "flex flex-col gap-4 md:w-full md:min-w-[900px] h-fit" >
33
+ < div className = "grid grid-cols-5 grid-rows-3 gap-4" >
34
+ < div className = "col-span-5 flex flex-row gap-4" >
35
+ < img src = { events . length != 0 ? events [ 0 ] . image : "" } className = 'w-96 h-fit aspect-video' />
36
+ < span >
37
+ < h2 className = 'font-bold text-2xl' > { events . length != 0 ? events [ 0 ] . title : "" } </ h2 >
38
+ < p > { events . length != 0 ? dateConverter ( events [ 0 ] . start_date ) : "" } - { events . length != 0 ? dateConverter ( events [ 0 ] . end_date ) : "" } </ p >
39
+ < p className = 'line-clamp-5' > { events . length != 0 ? events [ 0 ] . long_description : "" } </ p >
40
+ </ span >
41
+ </ div >
42
+ < div className = "col-span-5 row-start-2 flex flex-row gap-4" >
43
+ < img src = { events . length != 0 ? events [ 1 ] . image : "" } className = 'w-96 h-fit aspect-video' />
44
+ < span >
45
+ < h2 className = 'font-bold text-2xl' > { events . length != 0 ? events [ 1 ] . title : "" } </ h2 >
46
+ < p > { events . length != 0 ? dateConverter ( events [ 1 ] . start_date ) : "" } - { events . length != 0 ? dateConverter ( events [ 1 ] . end_date ) : "" } </ p >
47
+ < p className = 'line-clamp-5' > { events . length != 0 ? events [ 1 ] . long_description : "" } </ p >
48
+ </ span >
49
+ </ div >
50
+ < div className = 'col-span-5 row-start-3 flex flex-row gap-4 w-ful overflow-x-visible md:min-w-[900px] overflow-hidden' >
51
+ < div className = "flex flex-row gap-4 w-fit" >
52
+ < img src = { events . length != 0 ? events [ 2 ] . image : "" } className = 'w-48 h-fit aspect-video' />
53
+ < span >
54
+ < h2 className = 'font-bold text-lg' > { events . length != 0 ? events [ 2 ] . title : "" } </ h2 >
55
+ < p > { events . length != 0 ? dateConverter ( events [ 2 ] . start_date ) : "" } - { events . length != 0 ? dateConverter ( events [ 2 ] . end_date ) : "" } </ p >
56
+ </ span >
57
+ </ div >
58
+ < div className = "flex flex-row gap-4" >
59
+ < img src = { events . length != 0 ? events [ 3 ] . image : "" } className = 'w-48 h-fit aspect-video' />
60
+ < span >
61
+ < h2 className = 'font-bold text-lg' > { events . length != 0 ? events [ 3 ] . title : "" } </ h2 >
62
+ < p > { events . length != 0 ? dateConverter ( events [ 3 ] . start_date ) : "" } - { events . length != 0 ? dateConverter ( events [ 3 ] . end_date ) : "" } </ p >
63
+ </ span >
64
+ </ div >
65
+ < div className = "flex flex-row gap-4" >
66
+ < img src = { events . length != 0 ? events [ 4 ] . image : "" } className = 'w-48 h-fit aspect-video' />
67
+ < span >
68
+ < h2 className = 'font-bold text-lg' > { events . length != 0 ? events [ 4 ] . title : "" } </ h2 >
69
+ < p > { events . length != 0 ? dateConverter ( events [ 4 ] . start_date ) : "" } - { events . length != 0 ? dateConverter ( events [ 4 ] . end_date ) : "" } </ p >
70
+ </ span >
71
+ </ div >
72
+ < div className = "flex flex-row gap-4" >
73
+ < img src = { events . length != 0 ? events [ 5 ] . image : "" } className = 'w-48 h-fit aspect-video' />
74
+ < span >
75
+ < h2 className = 'font-bold text-lg' > { events . length != 0 ? events [ 5 ] . title : "" } </ h2 >
76
+ < p > { events . length != 0 ? dateConverter ( events [ 5 ] . start_date ) : "" } - { events . length != 0 ? dateConverter ( events [ 5 ] . end_date ) : "" } </ p >
77
+ </ span >
78
+ </ div >
79
+ </ div >
80
+ </ div >
33
81
</ div >
34
82
) ;
35
83
} ;
36
84
37
- export default Events ;
85
+ export default Events ;
0 commit comments