Skip to content

Commit 2cc44b4

Browse files
Tony QiuTony Qiu
authored andcommitted
added contact
1 parent 7fc1d44 commit 2cc44b4

File tree

4 files changed

+94
-1
lines changed

4 files changed

+94
-1
lines changed

frontend/src/App.tsx

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@ import { Analytics } from '@vercel/analytics/react'
33
import EventsPage from '@/pages/EventsPage'
44
import ClubsPage from '@/pages/ClubsPage'
55
import AboutPage from '@/pages/AboutPage'
6+
import ContactPage from '@/pages/ContactPage'
67
import Footer from '@/components/Footer'
78
import Navbar from '@/components/Navbar'
89

@@ -17,6 +18,7 @@ function App() {
1718
<Route path="/events" element={<EventsPage />} />
1819
<Route path="/clubs" element={<ClubsPage />} />
1920
<Route path="/about" element={<AboutPage />} />
21+
<Route path="/contact" element={<ContactPage />} />
2022
</Routes>
2123
</main>
2224

frontend/src/components/Footer.tsx

Lines changed: 13 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -102,7 +102,7 @@ function Footer() {
102102
reserved.
103103
</p>
104104
</div>
105-
<div className="flex items-center gap-4">
105+
<div className="flex flex-col sm:flex-row items-start sm:items-center gap-2 sm:gap-4">
106106
<a
107107
href="https://wat2do.instatus.com/"
108108
target="_blank"
@@ -129,6 +129,18 @@ function Footer() {
129129
>
130130
Clubs
131131
</a>
132+
<a
133+
href="/about"
134+
className="hover:text-gray-900 dark:hover:text-gray-200"
135+
>
136+
About
137+
</a>
138+
<a
139+
href="/contact"
140+
className="hover:text-gray-900 dark:hover:text-gray-200"
141+
>
142+
Contact
143+
</a>
132144
</div>
133145
</div>
134146
</div>

frontend/src/components/Navbar.tsx

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -65,6 +65,17 @@ function Navbar() {
6565
>
6666
About
6767
</Button>
68+
<Button
69+
variant="link"
70+
onMouseDown={() => handleNavigation("/contact")}
71+
className={`text-sm font-medium ${
72+
isActive("/contact")
73+
? "text-gray-900 dark:text-white"
74+
: "text-gray-600 dark:text-gray-300 hover:text-gray-900 dark:hover:text-white"
75+
}`}
76+
>
77+
Contact
78+
</Button>
6879
</div>
6980
</div>
7081

@@ -141,6 +152,13 @@ function Navbar() {
141152
>
142153
About
143154
</Button>
155+
<Button
156+
variant="ghost"
157+
className="w-full justify-start text-sm font-medium text-gray-600 dark:text-gray-300 hover:text-gray-900 dark:hover:text-white"
158+
onMouseDown={() => handleNavigation("/contact")}
159+
>
160+
Contact
161+
</Button>
144162
<div className="border-t border-gray-200/50 dark:border-gray-700/50 my-2"></div>
145163
<div className="flex gap-2">
146164
<Button

frontend/src/pages/ContactPage.tsx

Lines changed: 61 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,61 @@
1+
import React from "react";
2+
3+
const ContactPage: React.FC = () => {
4+
return (
5+
<div className="min-h-[60vh]">
6+
<h1 className="text-3xl font-bold text-gray-900 dark:text-white mb-4">
7+
Contact
8+
</h1>
9+
<p className="text-gray-600 dark:text-gray-300 mb-8">
10+
Questions, ideas, or feedback? We'd love to hear from you.
11+
</p>
12+
13+
<div className="grid gap-6 sm:grid-cols-2">
14+
<div className="rounded-lg border border-gray-200 dark:border-gray-700 p-5 bg-white dark:bg-gray-900">
15+
<h2 className="text-lg font-semibold text-gray-900 dark:text-white mb-2">
16+
Email
17+
</h2>
18+
<p className="text-gray-600 dark:text-gray-300">
19+
Reach us at {" "}
20+
<a
21+
href="mailto:tqiu@uwaterloo.ca"
22+
className="underline hover:text-gray-900 dark:hover:text-gray-100"
23+
>
24+
tqiu@uwaterloo.ca
25+
</a>{" "}
26+
and {" "}
27+
<a
28+
href="mailto:ericahan.38@gmail.com"
29+
className="underline hover:text-gray-900 dark:hover:text-gray-100"
30+
>
31+
ericahan.38@gmail.com
32+
</a>
33+
.
34+
</p>
35+
</div>
36+
37+
<div className="rounded-lg border border-gray-200 dark:border-gray-700 p-5 bg-white dark:bg-gray-900">
38+
<h2 className="text-lg font-semibold text-gray-900 dark:text-white mb-2">
39+
GitHub Issues
40+
</h2>
41+
<p className="text-gray-600 dark:text-gray-300">
42+
Found a bug or want a feature? Open an issue {" "}
43+
<a
44+
href="https://github.com/ericahan22/bug-free-octo-spork/issues"
45+
target="_blank"
46+
rel="noopener noreferrer"
47+
className="underline hover:text-gray-900 dark:hover:text-gray-100"
48+
>
49+
on GitHub
50+
</a>
51+
.
52+
</p>
53+
</div>
54+
</div>
55+
</div>
56+
);
57+
};
58+
59+
export default React.memo(ContactPage);
60+
61+

0 commit comments

Comments
 (0)