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