Skip to content

Commit 4004b08

Browse files
committed
added changes to contact us
1 parent 8752444 commit 4004b08

File tree

1 file changed

+62
-61
lines changed

1 file changed

+62
-61
lines changed

src/pages/About/ContactUs.tsx

Lines changed: 62 additions & 61 deletions
Original file line numberDiff line numberDiff line change
@@ -15,67 +15,68 @@ import {
1515
dividerVariants,
1616
} from '@/styles/Animations';
1717

18+
const theme = {
19+
colors: {
20+
primary: '#1E3A8A', // A deeper blue, assuming a primary brand color
21+
secondary: '#3B82F6', // A vibrant blue for accents
22+
textDark: '#1F2937', // Darker text for readability
23+
textLight: '#E5E7EB', // Light text for dark backgrounds
24+
bgLight: '#F9FAFB', // Very light background
25+
bgDark: '#111827', // Dark background for contrast sections
26+
border: '#D1D5DB', // Light border color
27+
},
28+
typography: {
29+
heading: 'font-extrabold tracking-tight', // More impactful headings
30+
subheading: 'font-semibold tracking-wide',
31+
body: 'font-normal leading-relaxed',
32+
},
33+
};
34+
1835
const ContactUs: React.FC = () => {
1936
return (
2037
<>
2138
<Header />
22-
<div className="min-h-screen bg-gray-50">
39+
<div className={`min-h-screen ${theme.colors.bgLight}`}>
2340
{/* Hero Section */}
2441
<motion.section
2542
variants={fadeIn}
2643
initial="hidden"
2744
animate="visible"
28-
className="relative w-full bg-gradient-to-r from-blue-900 via-slate-800 to-slate-900 py-32 overflow-hidden"
45+
className="relative w-full bg-gradient-to-br from-blue-900 to-indigo-900 py-24 md:py-32 overflow-hidden"
2946
>
30-
<div className="absolute inset-0 overflow-hidden">
31-
<svg
32-
className="absolute w-full h-full opacity-5"
33-
viewBox="0 0 100 100"
34-
preserveAspectRatio="none"
35-
aria-hidden="true"
36-
>
37-
<defs>
38-
<pattern
39-
id="grid"
40-
width="8"
41-
height="8"
42-
patternUnits="userSpaceOnUse"
43-
>
44-
<path
45-
d="M 8 0 L 0 0 0 8"
46-
fill="none"
47-
stroke="white"
48-
strokeWidth="0.5"
49-
/>
50-
</pattern>
51-
</defs>
52-
<rect x="0" y="0" width="100%" height="100%" fill="url(#grid)" />
47+
<div className="absolute inset-0 z-0 opacity-10">
48+
<svg className="w-full h-full" fill="none" viewBox="0 0 960 540">
49+
<pattern id="pattern-zigzag" x="0" y="0" width="20" height="20" patternUnits="userSpaceOnUse">
50+
<path d="M0 10L10 0L20 10M10 20L0 10" stroke="white" strokeWidth="0.5" />
51+
</pattern>
52+
<rect x="0" y="0" width="100%" height="100%" fill="url(#pattern-zigzag)" />
5353
</svg>
5454
</div>
5555

56-
<div className="container mx-auto px-4 sm:px-6 lg:px-8 relative z-10">
56+
57+
<div className="container mx-auto px-4 sm:px-6 lg:px-8 relative z-10 text-center">
5758
<motion.div
58-
className="max-w-3xl"
59+
className="max-w-4xl mx-auto"
5960
variants={slideInBottom}
6061
initial="hidden"
6162
animate="visible"
6263
>
6364
<motion.h1
64-
className="text-4xl md:text-5xl font-bold text-white mb-4 tracking-tight"
65+
className={`text-4xl md:text-6xl ${theme.typography.heading} text-white mb-4`}
6566
variants={slideInBottom}
6667
initial="hidden"
6768
animate="visible"
6869
>
6970
Contact <span className="text-blue-200">Sugar Labs</span>
7071
</motion.h1>
7172
<motion.div
72-
className="w-20 h-1 bg-blue-400 mb-6"
73+
className="w-24 h-1.5 bg-blue-400 mx-auto mb-6 rounded-full"
7374
variants={dividerVariants}
7475
initial="hidden"
7576
animate="visible"
7677
></motion.div>
7778
<motion.p
78-
className="text-base md:text-lg text-gray-200 max-w-2xl leading-relaxed"
79+
className={`text-lg md:text-xl ${theme.typography.body} text-gray-200 max-w-3xl mx-auto leading-relaxed`}
7980
variants={fadeIn}
8081
initial="hidden"
8182
animate="visible"
@@ -89,30 +90,30 @@ const ContactUs: React.FC = () => {
8990
</motion.section>
9091

9192
{/* Main Content */}
92-
<section className="container mx-auto px-4 sm:px-6 lg:px-8 py-12 md:py-20">
93-
<div className="grid grid-cols-1 lg:grid-cols-12 gap-6 md:gap-8">
93+
<section className="container mx-auto px-4 sm:px-6 lg:px-8 py-16 md:py-24">
94+
<div className="grid grid-cols-1 lg:grid-cols-2 gap-10 md:gap-12">
9495
{/* Contact Information Card */}
9596
<motion.div
96-
className="lg:col-span-7 bg-white rounded-xl shadow-md overflow-hidden border border-gray-200 transition-shadow duration-300 hover:shadow-lg"
97+
className="bg-white rounded-2xl shadow-xl border border-gray-100 transition-all duration-300 hover:shadow-2xl overflow-hidden"
9798
variants={slideInLeft}
9899
initial="hidden"
99100
animate="visible"
100101
whileHover={{ y: -5 }}
101102
transition={{ duration: 0.3 }}
102103
>
103-
<div className="p-6 md:p-8 lg:p-10">
104+
<div className="p-8 md:p-10 lg:p-12">
104105
<motion.h2
105-
className="text-2xl font-bold text-gray-800 mb-8 flex items-center"
106+
className={`text-3xl ${theme.typography.heading} text-gray-800 mb-8 flex items-center`}
106107
variants={fadeIn}
107108
initial="hidden"
108109
animate="visible"
109110
>
110-
<span className="w-1.5 h-6 bg-blue-600 mr-3 rounded-sm"></span>
111+
<span className="w-2 h-8 bg-blue-600 mr-4 rounded-sm"></span>
111112
How to Reach Us
112113
</motion.h2>
113114

114115
<motion.div
115-
className="grid grid-cols-1 md:grid-cols-2 gap-y-8 gap-x-6 lg:gap-x-8"
116+
className="grid grid-cols-1 sm:grid-cols-2 gap-y-8 gap-x-6"
116117
variants={staggerContainer}
117118
initial="hidden"
118119
animate="visible"
@@ -122,7 +123,7 @@ const ContactUs: React.FC = () => {
122123
iconSrc="assets/Icons/mail.svg"
123124
title="By Mail"
124125
description={
125-
<address className="mt-2 not-italic text-gray-600 leading-relaxed text-sm">
126+
<address className={`mt-2 not-italic ${theme.typography.body} text-gray-600 text-sm`}>
126127
Sugar Labs
127128
<br />
128129
2028 E Ben White Blvd <b>STE 240 PMB 1271</b>
@@ -136,12 +137,12 @@ const ContactUs: React.FC = () => {
136137

137138
{/* Phone */}
138139
<ContactMethod
139-
iconSrc="assets/Icons/phone.svg"
140+
iconSrc="/assets/Icons/phone.svg" // Ensure correct path
140141
title="By Phone"
141142
description={
142143
<a
143144
href="tel:+16177024088"
144-
className="mt-2 text-gray-600 hover:text-blue-600 transition duration-200 block text-sm"
145+
className={`mt-2 ${theme.typography.body} text-blue-600 hover:text-blue-800 transition duration-200 block text-sm`}
145146
>
146147
+1 (617) 702-4088
147148
</a>
@@ -150,12 +151,12 @@ const ContactUs: React.FC = () => {
150151

151152
{/* Email */}
152153
<ContactMethod
153-
iconSrc="assets/Icons/email.svg"
154+
iconSrc="/assets/Icons/email.svg"
154155
title="By Email"
155156
description={
156-
<a
157+
<a
157158
href="mailto:[email protected]"
158-
className="mt-2 text-gray-600 hover:text-blue-600 transition duration-200 block text-sm"
159+
className={`mt-2 ${theme.typography.body} text-blue-600 hover:text-blue-800 transition duration-200 block text-sm`}
159160
>
160161
161162
</a>
@@ -169,7 +170,7 @@ const ContactUs: React.FC = () => {
169170
description={
170171
<Link
171172
to="matrix"
172-
className="mt-2 text-gray-600 hover:text-blue-600 transition duration-200 block text-sm"
173+
className={`mt-2 px-4 py-2 bg-blue-100 text-blue-700 rounded-md hover:bg-blue-200 transition duration-200 text-sm inline-block ${theme.typography.subheading}`}
173174
>
174175
Go to Matrix Chat
175176
</Link>
@@ -181,16 +182,16 @@ const ContactUs: React.FC = () => {
181182

182183
{/* Social Connect Card */}
183184
<motion.div
184-
className="lg:col-span-5 rounded-xl overflow-hidden shadow-md"
185+
className="rounded-2xl shadow-xl overflow-hidden bg-gradient-to-br from-gray-900 to-gray-800 border border-gray-700/50"
185186
variants={slideInRight}
186187
initial="hidden"
187188
animate="visible"
188189
whileHover={{ y: -5 }}
189190
transition={{ duration: 0.3 }}
190191
>
191-
<div className="bg-gradient-to-br from-gray-800 via-gray-850 to-gray-900 p-6 md:p-8 lg:p-10">
192+
<div className="p-8 md:p-10 lg:p-12">
192193
<motion.h2
193-
className="text-2xl font-bold text-white mb-6 flex items-center"
194+
className={`text-3xl ${theme.typography.heading} text-white mb-6 flex items-center`}
194195
variants={fadeIn}
195196
initial="hidden"
196197
animate="visible"
@@ -200,7 +201,7 @@ const ContactUs: React.FC = () => {
200201
</motion.h2>
201202

202203
<motion.p
203-
className="text-gray-300 text-sm leading-relaxed mb-8"
204+
className={`${theme.typography.body} text-gray-300 text-base leading-relaxed mb-10`}
204205
variants={fadeIn}
205206
initial="hidden"
206207
animate="visible"
@@ -212,7 +213,7 @@ const ContactUs: React.FC = () => {
212213
</motion.p>
213214

214215
<motion.div
215-
className="grid grid-cols-2 sm:grid-cols-3 gap-4 mb-6"
216+
className="grid grid-cols-2 sm:grid-cols-3 md:grid-cols-4 gap-6 mb-8"
216217
variants={staggerContainer}
217218
initial="hidden"
218219
animate="visible"
@@ -224,23 +225,23 @@ const ContactUs: React.FC = () => {
224225
target="_blank"
225226
rel="noopener noreferrer"
226227
aria-label={`Visit our ${social.name} page`}
227-
className="group flex flex-col items-center"
228+
className="group flex flex-col items-center p-4 bg-white/5 hover:bg-white/10 rounded-xl transition-all duration-300 ease-in-out transform hover:-translate-y-2 hover:shadow-lg"
228229
variants={bounce}
229230
whileHover="hover"
230231
whileTap="tap"
231232
custom={index}
232233
>
233-
<div className="flex items-center justify-center w-12 h-12 bg-white/10 group-hover:bg-white/20 rounded-lg backdrop-blur-sm transition-all duration-300 ease-in-out mb-2 border border-gray-700/50 shadow-sm group-hover:shadow-blue-500/10 group-hover:shadow-md">
234+
<div className="flex items-center justify-center w-14 h-14 bg-blue-600/20 group-hover:bg-blue-500/30 rounded-full backdrop-blur-sm transition-all duration-300 ease-in-out mb-3 shadow-lg">
234235
<img
235236
src={social.icon}
236237
alt=""
237-
width={20}
238-
height={20}
239-
className="filter brightness-0 invert opacity-90"
238+
width={24}
239+
height={24}
240+
className="filter brightness-0 invert opacity-90 group-hover:opacity-100 transition-opacity duration-300"
240241
aria-hidden="true"
241242
/>
242243
</div>
243-
<span className="text-xs text-gray-300 group-hover:text-gray-200 transition-colors duration-200">
244+
<span className={`text-sm ${theme.typography.subheading} text-gray-100 group-hover:text-blue-200 transition-colors duration-200 text-center`}>
244245
{social.name}
245246
</span>
246247
</motion.a>
@@ -255,10 +256,10 @@ const ContactUs: React.FC = () => {
255256
animate="visible"
256257
transition={{ delay: 0.4 }}
257258
>
258-
<h3 className="text-xs uppercase font-bold text-gray-300 tracking-wider mb-2">
259+
<h3 className={`text-sm uppercase ${theme.typography.subheading} text-gray-300 tracking-wider mb-2`}>
259260
Follow Our Progress
260261
</h3>
261-
<p className="text-xs text-gray-400 leading-relaxed">
262+
<p className={`text-xs ${theme.typography.body} text-gray-400 leading-relaxed`}>
262263
Stay updated with our latest developments and educational
263264
initiatives.
264265
</p>
@@ -285,19 +286,19 @@ const ContactMethod: React.FC<ContactMethodProps> = ({
285286
}) => (
286287
<motion.div className="flex items-start" variants={subtleRise}>
287288
<motion.div
288-
className="flex-shrink-0 p-3 bg-blue-50 rounded-lg text-blue-600 border border-blue-100"
289-
whileHover={{ scale: 1.1 }}
289+
className="flex-shrink-0 p-3 bg-blue-50 rounded-xl text-blue-600 border border-blue-100 shadow-sm"
290+
whileHover={{ scale: 1.05, rotate: 5 }}
290291
transition={{ type: 'spring', stiffness: 400, damping: 10 }}
291292
>
292293
<img src={iconSrc} alt="" className="h-5 w-5" aria-hidden="true" />
293294
</motion.div>
294295
<div className="ml-4">
295-
<h3 className="text-sm font-bold text-gray-800 uppercase tracking-wider">
296+
<h3 className={`text-base font-bold text-gray-800 uppercase tracking-wider mb-1 ${theme.typography.subheading}`}>
296297
{title}
297298
</h3>
298299
{description}
299300
</div>
300301
</motion.div>
301302
);
302303

303-
export default ContactUs;
304+
export default ContactUs;

0 commit comments

Comments
 (0)