1
+ import React , { useState } from "react" ;
2
+ import Image from "next/image" ;
3
+ import Footer from "../components/footer/Footer" ;
4
+ import Navbar from "../components/navbar/Navbar" ;
5
+ import { NavbarOpenHandler , NavbarType } from "../components/navbar/types" ;
6
+ import styled from 'styled-components'
7
+ import Link from 'next/link'
8
+ import { device } from '../styles/device'
9
+
10
+
11
+ import Otter from '../svgs/otter.png'
12
+
13
+ const Text = styled . p `
14
+ color: white;
15
+ @media ${ device . tablet } {
16
+ padding: 3vh 0;
17
+ }
18
+ `
19
+
20
+ const Grid = styled . div `
21
+ display: flex;
22
+ justify-content: center;
23
+ margin-left: auto;
24
+ margin-right: auto;
25
+ max-width: 70vw;
26
+ max-width: 75vw;
27
+ border-radius: 0.5rem;
28
+ margin-bottom: 10vh;
29
+ background: radial-gradient(50% 50% at 50% 50%, rgba(146, 67, 166, 0.2407) 0%, rgba(119, 158, 237, 0.83) 100%);
30
+
31
+ `
32
+
33
+ const SmallGrid = styled . div `
34
+ display: flex;
35
+ justify-content: center;
36
+ flex-direction: column;
37
+ flex: 2;
38
+ @media ${ device . tablet } {
39
+ min-height: 100%;
40
+ flex-wrap: wrap;
41
+ flex-direction: row;
42
+ flex: 3;
43
+ }
44
+ `
45
+
46
+ const OurSponsorsCol = styled . div `
47
+ flex: 2;
48
+ padding: 1.5rem;
49
+
50
+ `
51
+
52
+ const SponsorCol = styled . div `
53
+ flex: 3;
54
+ display: flex;
55
+ justify-content: center;
56
+ max-height: 100%;
57
+ max-width: 100%;
58
+ border-radius: 0.5rem;
59
+ padding: 1vw;
60
+ @media ${ device . tablet } {
61
+ flex-basis: calc(50% - 40px);
62
+ flex-direction: column;
63
+ padding: 8vh 0;
64
+ }
65
+
66
+
67
+ `
68
+
69
+ const TextContainer = styled . div `
70
+ display:flex;
71
+ flex-direction: column;
72
+ justify-content: center;
73
+ align-items: center;
74
+ height: 100%;
75
+ `
76
+
77
+ const ButtonContainer = styled . div `
78
+ display: flex;
79
+ `
80
+
81
+ const H3 = styled . div `
82
+ color: white;
83
+ font-family: 'Raleway';
84
+ font-weight: 800;
85
+ font-size: 20px;
86
+ @media ${ device . tablet } {
87
+ font-size: 2vw;
88
+ }
89
+ ` ;
90
+
91
+
92
+ const Button = styled . button `
93
+ background-color: white;
94
+ margin: 10px;
95
+ padding: 1vh 2vw;
96
+ font-size: 18px;
97
+ color: #817fff;
98
+ border: none;
99
+ border-radius: 6px;
100
+ cursor: pointer;
101
+
102
+ &:hover {
103
+ transform: scale(1.05);
104
+ }
105
+ @media ${ device . tablet } {
106
+ padding: 10px 45px;
107
+ }
108
+ `
109
+
110
+ const ImgContainer = styled . div `
111
+
112
+ display: block;
113
+ margin-left: auto;
114
+ margin-right: auto;
115
+ width: 30vw;
116
+
117
+ @media ${ device . laptop } {
118
+ width: 350px;
119
+ height: 400px;
120
+ }
121
+
122
+ `
123
+
124
+ const HeadingContainer = styled . div `
125
+ display: flex;
126
+ justify-content: center;
127
+ `
128
+
129
+ const Heading = styled . div `
130
+ color: #A09FE3;
131
+ font-family: 'Raleway';
132
+ font-weight: 800;
133
+ font-size: 30px;
134
+ padding: 5vh 0;
135
+ @media ${ device . tablet } {
136
+ font-size: 2.8vw;
137
+ }
138
+ ` ;
139
+
140
+
141
+
142
+ export default function Sponsors2 ( ) {
143
+
144
+ const [ navbarOpen , setNavbarOpen ] = useState ( false ) ;
145
+
146
+
147
+ const handleToggle : NavbarOpenHandler = ( ) => {
148
+ setNavbarOpen ( ! navbarOpen ) ;
149
+ } ;
150
+
151
+ return (
152
+ < div >
153
+
154
+ < Navbar open = { navbarOpen } setNavbarOpen = { handleToggle } variant = { NavbarType . MINIPAGE } />
155
+
156
+ < HeadingContainer >
157
+ < Heading > Support CSESoc</ Heading >
158
+ </ HeadingContainer >
159
+ < ImgContainer >
160
+ < Image src = { Otter } />
161
+ </ ImgContainer >
162
+
163
+ < Grid >
164
+
165
+ < OurSponsorsCol >
166
+ < TextContainer >
167
+ < H3 > Our Sponsors</ H3 >
168
+ < Text > Check out our very cool sponsors</ Text >
169
+ < ButtonContainer >
170
+ < Link href = "/Sponsors" >
171
+ < Button > View our sponsors</ Button >
172
+ </ Link >
173
+ </ ButtonContainer >
174
+ </ TextContainer >
175
+ </ OurSponsorsCol >
176
+
177
+ < SmallGrid >
178
+ < SponsorCol style = { { backgroundColor : 'rgba(0, 71, 255, 0.33)' } } >
179
+ < Image
180
+ src = { `/assets/sponsors_white/atl.svg` }
181
+ width = { 100 }
182
+ height = { 30 }
183
+ objectFit = "contain"
184
+ />
185
+ </ SponsorCol >
186
+ < SponsorCol style = { { backgroundColor : 'rgba(82, 130, 255, 0.47)' } } >
187
+ < Image
188
+ src = { `/assets/sponsors_white/imc.svg` }
189
+ width = { 60 }
190
+ height = { 50 }
191
+ objectFit = "contain"
192
+ />
193
+ </ SponsorCol >
194
+
195
+ < SponsorCol style = { { backgroundColor : 'rgba(48, 93, 255, 0.2)' } } >
196
+ < Image
197
+ src = { `/assets/sponsors_white/deloitte.svg` }
198
+ width = { 50 }
199
+ height = { 40 }
200
+ objectFit = "contain"
201
+ />
202
+ </ SponsorCol >
203
+ < SponsorCol style = { { backgroundColor : 'rgba(122, 137, 236, 0.27)' } } >
204
+ < Image
205
+ src = { `/assets/sponsors_white/js.svg` }
206
+ width = { 50 }
207
+ height = { 55 }
208
+ objectFit = "contain"
209
+ />
210
+ </ SponsorCol >
211
+ </ SmallGrid >
212
+
213
+ </ Grid >
214
+
215
+ < Footer />
216
+ </ div >
217
+ ) ;
218
+
219
+ }
0 commit comments