diff --git a/public/assets/Icons/chat.svg b/public/assets/Icons/chat.svg index 98e0bd9c..148ef230 100644 --- a/public/assets/Icons/chat.svg +++ b/public/assets/Icons/chat.svg @@ -1,4 +1,4 @@ - + \ No newline at end of file diff --git a/public/assets/Icons/email.svg b/public/assets/Icons/email.svg index 89f0fe05..134b5a9c 100644 --- a/public/assets/Icons/email.svg +++ b/public/assets/Icons/email.svg @@ -1,4 +1,4 @@ - + \ No newline at end of file diff --git a/public/assets/Icons/mail.svg b/public/assets/Icons/mail.svg index 965ae213..6e4c46ce 100644 --- a/public/assets/Icons/mail.svg +++ b/public/assets/Icons/mail.svg @@ -1,4 +1,4 @@ - + \ No newline at end of file diff --git a/public/assets/Icons/phone.svg b/public/assets/Icons/phone.svg index 40659002..ee63a23a 100644 --- a/public/assets/Icons/phone.svg +++ b/public/assets/Icons/phone.svg @@ -1,4 +1,4 @@ - + \ No newline at end of file diff --git a/public/assets/Images/contact-us.png b/public/assets/Images/contact-us.png new file mode 100644 index 00000000..5f3da03f Binary files /dev/null and b/public/assets/Images/contact-us.png differ diff --git a/src/pages/About/ContactUs.tsx b/src/pages/About/ContactUs.tsx index 94333e4a..b1ba7ab0 100644 --- a/src/pages/About/ContactUs.tsx +++ b/src/pages/About/ContactUs.tsx @@ -1,303 +1,276 @@ -import React from 'react'; -import { motion } from 'framer-motion'; -import { socialLinks } from '@/constants/Footer'; import Header from '@/sections/Header'; import Footer from '@/sections/Footer'; +import { socialLinks } from '@/constants/Footer'; import { Link } from 'react-router-dom'; +import { motion } from 'framer-motion'; +import { ReactNode } from 'react'; import { - fadeIn, slideInLeft, slideInRight, slideInBottom, - bounce, - staggerContainer, - subtleRise, - dividerVariants, + cardFadeIn, + fadeIn, + headerReveal, } from '@/styles/Animations'; -const ContactUs: React.FC = () => { +interface CardProps { + icon: string; + title: string; + content: ReactNode; +} + +const Card: React.FC = ({ icon, title, content }) => ( + + {/* Gradient bar at top */} +
+ +
+ {`${title} +
+

+ {title} +

+
+ {content} +
+ +); + +const ContactUs = () => { return ( - <> +
-
+
{/* Hero Section */} -
- -
- -
+
- - Contact Sugar Labs + + Contact Us - - We'd love to hear from you. Here's how you can reach our team of - educational innovators. + We'd love to hear from you. Reach out to our team and join our + global community dedicated to bringing learning opportunities to + children worldwide. + + + Contact Us Illustration +
- {/* Main Content */} -
-
- {/* Contact Information Card */} - + {/* Contact Methods */} + + -
- - - How to Reach Us - + + Get In{' '} + + Touch + - - {/* Mail Address */} - - Sugar Labs -
- 2028 E Ben White Blvd STE 240 PMB 1271 -
- AUSTIN, TX 78741 -
- USA - - } - /> +
- {/* Phone */} - - +1 (617) 702-4088 - - } - /> + + + Sugar Labs
+ 2028 E Ben White Blvd
+ STE 240 PMB 1271
+ AUSTIN, TX 78741
+ USA + + } + /> - {/* Email */} - - info@sugarlabs.org - - } - /> + + +1 (617) 702-4088 + + } + /> - {/* Matrix Chat */} - - Go to Matrix Chat - - } - /> -
-
+ + info@sugarlabs.org + + } + />
+ - {/* Social Connect Card */} - + -
- - - Connect With The Community - + + Connect{' '} + + With Our Community + - - Join our global community of educators, developers, and - learners who are passionate about bringing educational - software to children around the world. - +
+ + Join our global community of educators, developers, and learners + who are passionate about bringing educational software to children + around the world. + - + {socialLinks.map((social) => ( + - {socialLinks.map((social, index) => ( - -
- -
- - {social.name} - -
- ))} -
-
- - -

- Follow Our Progress -

-

- Stay updated with our latest developments and educational - initiatives. -

-
+
+ +
+ + {social.name} + + + ))}
-
-
-
+
+ + {/* Matrix Chat */} + +
+
+
+
+ Chat Icon +
+
+
+

+ Join Our Matrix Chat +

+

+ Connect with our community in real-time. Get help, share + ideas, and collaborate with fellow educators and developers. +

+
+
+ + Join Chat → + +
+
+
+
+
+
- +
); }; -interface ContactMethodProps { - iconSrc: string; - title: string; - description: React.ReactNode; -} - -const ContactMethod: React.FC = ({ - iconSrc, - title, - description, -}) => ( - - - - -
-

- {title} -

- {description} -
-
-); - export default ContactUs;