1
- import { Avatar , Box , Card , Container , Divider , Grid , Stack , Typography } from "@mui/material" ;
1
+ import { Box , Card , Container , Divider , Grid , Stack , Typography } from "@mui/material" ;
2
+ import {
3
+ Campaign ,
4
+ Celebration ,
5
+ ConfirmationNumber ,
6
+ EmojiEvents ,
7
+ EmojiObjects ,
8
+ PlayArrow ,
9
+ Restaurant ,
10
+ Stop
11
+ } from "@mui/icons-material" ;
12
+ import { IconContainer } from "../Features/Features" ;
2
13
3
- export function TimeTable ( ) {
14
+ const dayOne = [
15
+ {
16
+ time : "08:00 - 09:00" ,
17
+ icon : < ConfirmationNumber /> ,
18
+ title : "Check-In" ,
19
+ person : "" ,
20
+ } ,
21
+ {
22
+ time : "09:00 - 10:00" ,
23
+ icon : < Restaurant /> ,
24
+ title : "Breakfast & Get to know each other" ,
25
+ person : "" ,
26
+ } ,
27
+ {
28
+ time : "10:00 - 11:00" ,
29
+ icon : < Campaign /> ,
30
+ title : "Introduction & Speakers" ,
31
+ person : "" ,
32
+ } ,
33
+ {
34
+ time : "11:00 - 12:00" ,
35
+ icon : < EmojiObjects /> ,
36
+ title : "Challenge Input Sessions" ,
37
+ person : "" ,
38
+ } ,
39
+ {
40
+ time : "12:00 - 13:00" ,
41
+ icon : < Restaurant /> ,
42
+ title : "Lunch" ,
43
+ person : "" ,
44
+ } ,
45
+ {
46
+ time : "13:00 - 18:00" ,
47
+ icon : < EmojiObjects /> ,
48
+ title : "Idea-Workshop" ,
49
+ person : "optional" ,
50
+ } ,
51
+ {
52
+ time : "13:00 - 13:00 next day (Continuously)" ,
53
+ icon : < PlayArrow /> ,
54
+ title : "Start Hacking Time" ,
55
+ person : "" ,
56
+ } ,
57
+ {
58
+ time : "18:00 - 19:00" ,
59
+ icon : < Restaurant /> ,
60
+ title : "Dinner" ,
61
+ person : "" ,
62
+ }
63
+ ]
64
+
65
+ const dayTwo = [
66
+ {
67
+ time : "08:00 - 09:00" ,
68
+ icon : < Restaurant /> ,
69
+ title : "Breakfast" ,
70
+ person : "" ,
71
+ } ,
72
+ {
73
+ time : "09:00 - 10:00" ,
74
+ icon : < EmojiObjects /> ,
75
+ title : "Pitch-Workshop" ,
76
+ person : "optional" ,
77
+ } ,
78
+ {
79
+ time : "13:00" ,
80
+ icon : < Stop /> ,
81
+ title : "End Hacking Time" ,
82
+ person : "" ,
83
+ } ,
84
+ {
85
+ time : "13:00 - 14:00" ,
86
+ icon : < Restaurant /> ,
87
+ title : "Lunch" ,
88
+ person : "" ,
89
+ } ,
90
+ {
91
+ time : "14:00 - 16:00" ,
92
+ icon : < Campaign /> ,
93
+ title : "Challenge Presentations" ,
94
+ person : "" ,
95
+ } , {
96
+ time : "17:00 - 18:00" ,
97
+ icon : < EmojiEvents /> ,
98
+ title : "Feedback & Awards" ,
99
+ person : "" ,
100
+ } , {
101
+ time : "18:00" ,
102
+ icon : < Celebration /> ,
103
+ title : "Drinks & Networking" ,
104
+ person : "" ,
105
+ }
106
+ ]
4
107
5
- const timetable = (
108
+ export function Table ( props ) {
109
+ return (
6
110
< Card >
7
111
< Box sx = { {
8
112
height : "5rem" ,
@@ -12,90 +116,64 @@ export function TimeTable() {
12
116
pl : 3
13
117
} } >
14
118
< Stack alignItems = { "center" } spacing = { 2 } direction = { "row" } >
15
- < Typography sx = { { fontSize : "1.5rem" , fontWeight : 600 } } > Day 1 </ Typography >
16
- < Typography sx = { { fontSize : "1.25rem" , fontWeight : 300 } } > 06.04.2024 </ Typography >
119
+ < Typography sx = { { fontSize : "1.5rem" , fontWeight : 600 } } > { props . title } </ Typography >
120
+ < Typography sx = { { fontSize : "1.25rem" , fontWeight : 300 } } > { props . subtitle } </ Typography >
17
121
</ Stack >
18
122
</ Box >
19
- < Box sx = { { pt : 3 , pb : 3 } } >
20
- < Container >
21
- < Grid container alignItems = { "center" } spacing = { 3 } >
22
- < Grid item xs = { 2 } sx = { { display : "flex" , justifyContent : "center" } } >
23
- < Avatar sx = { {
24
- width : "70%" ,
25
- height : "auto" ,
26
- aspectRatio : "1/1" ,
27
- backgroundColor : "background.default"
28
- } } > SO</ Avatar >
29
- </ Grid >
30
- < Grid item xs = { 8 } >
31
- < Typography color = { "text.disabled" } >
32
- 08:00-09:00
33
- </ Typography >
34
- < Typography sx = { { fontWeight : 600 } } >
35
- Hey There!
36
- </ Typography >
37
- < Typography color = { "text.disabled" } >
38
- a Person
39
- </ Typography >
40
- </ Grid >
41
- </ Grid >
42
- </ Container >
43
- </ Box >
44
- < Divider />
45
- < Box sx = { { pt : 3 , pb : 3 } } >
46
- < Container >
47
- < Grid container alignItems = { "center" } spacing = { 3 } >
48
- < Grid item xs = { 2 } sx = { { display : "flex" , justifyContent : "center" } } >
49
- < Avatar sx = { {
50
- width : "70%" ,
51
- height : "auto" ,
52
- aspectRatio : "1/1" ,
53
- backgroundColor : "background.default"
54
- } } > SO</ Avatar >
55
- </ Grid >
56
- < Grid item xs = { 8 } >
57
- < Typography color = { "text.disabled" } >
58
- 08:00-09:00
59
- </ Typography >
60
- < Typography sx = { { fontWeight : 600 } } >
61
- Nothing to see here yet
62
- </ Typography >
63
- < Typography color = { "text.disabled" } >
64
- But soon, something will be here
65
- </ Typography >
66
- </ Grid >
67
- </ Grid >
68
- </ Container >
69
- </ Box >
123
+
124
+ {
125
+ props . data . map ( ( item , index ) => (
126
+ < >
127
+ < Box sx = { { pt : 3 , pb : 3 } } >
128
+ < Container >
129
+ < Grid container spacing = { 3 } >
130
+ < Grid item xs = { 2 } sx = { {
131
+ display : "flex" ,
132
+ justifyContent : "center" ,
133
+ alignContent : "center" ,
134
+ alignItems : "center"
135
+ } } >
136
+ < IconContainer icon = { item . icon } />
137
+ </ Grid >
138
+ < Grid item xs = { 8 } sx = { { display : "flex" , alignItems : "center" } } >
139
+ < Box >
140
+ < Typography color = { "text.disabled" } noWrap >
141
+ { item . time }
142
+ </ Typography >
143
+ < Typography sx = { { fontWeight : 600 } } noWrap >
144
+ { item . title }
145
+ </ Typography >
146
+ < Typography color = { "text.disabled" } noWrap >
147
+ { item . person }
148
+ </ Typography >
149
+ </ Box >
150
+ </ Grid >
151
+ < Grid item xs = { 2 } />
152
+ </ Grid >
153
+ </ Container >
154
+ </ Box >
155
+ { index !== props . data . length - 1 ? < Divider /> : undefined }
156
+ </ >
157
+ ) )
158
+ }
70
159
</ Card >
71
160
)
161
+ }
162
+
163
+ export function TimeTable ( ) {
72
164
73
165
return (
74
166
< Container sx = { { paddingBottom : 10 , paddingTop : 10 } } >
75
167
< Typography variant = { "h2" } component = { "h1" } gutterBottom > Time Table</ Typography >
76
- < Box sx = { { position : "relative" } } >
77
- < Box sx = { {
78
- position : "absolute" ,
79
- transform : "translate(-50%,-50%)" ,
80
- left : "50%" ,
81
- top : "50%" ,
82
- zIndex : 1000 ,
83
- } } >
84
- < Typography variant = { "h5" } fontWeight = { "bold" } >
85
- Will be announced soon
86
- </ Typography >
87
- </ Box >
88
- < Box sx = { { filter : "blur(10px)" } } >
89
- < Grid container spacing = { 5 } >
90
- < Grid item md = { 6 } xs = { 12 } >
91
- { timetable }
92
- </ Grid >
93
- < Grid item md = { 6 } xs = { 12 } >
94
- { timetable }
95
- </ Grid >
96
- </ Grid >
97
- </ Box >
98
- </ Box >
168
+
169
+ < Grid container spacing = { 5 } >
170
+ < Grid item md = { 6 } xs = { 12 } >
171
+ < Table data = { dayOne } title = { "Day 1" } subtitle = { "Friday 05.04" } />
172
+ </ Grid >
173
+ < Grid item md = { 6 } xs = { 12 } >
174
+ < Table data = { dayTwo } title = { "Day 2" } subtitle = { "Saturday 06.04" } />
175
+ </ Grid >
176
+ </ Grid >
99
177
</ Container >
100
178
)
101
179
}
0 commit comments