-
Our Culture & Values
-
-
- We're building more than just a companyโwe're creating a community of learners, innovators, and leaders.
+ We're building more than just a companyโwe're creating a
+ community of learners, innovators, and leaders.
@@ -277,24 +294,24 @@ function CareersContent() {
key={index}
className="culture-card rounded-xl shadow-lg p-8 hover:shadow-xl transition-all duration-300 transform hover:scale-105"
style={{
- backgroundColor: isDark ? '#0f172a' : '#ffffff'
+ backgroundColor: isDark ? "#0f172a" : "#ffffff",
}}
variants={fadeIn}
>
๐
-
{value.title}
-
{value.description}
@@ -309,7 +326,7 @@ function CareersContent() {
-
Perks & Benefits
-
-
- We take care of our team so they can focus on doing their best work.
+ We take care of our team so they can focus on doing their best
+ work.
@@ -353,22 +371,22 @@ function CareersContent() {
key={index}
className="perk-card rounded-xl p-6 shadow-lg hover:shadow-xl transition-all duration-300 transform hover:scale-105"
style={{
- backgroundColor: isDark ? '#1f2937' : '#ffffff'
+ backgroundColor: isDark ? "#1f2937" : "#ffffff",
}}
variants={fadeIn}
>
{perk.icon}
-
{perk.title}
-
{perk.description}
@@ -384,7 +402,7 @@ function CareersContent() {
id="openings"
className="jobs-section py-20 px-4"
style={{
- backgroundColor: isDark ? '#111827' : '#ffffff'
+ backgroundColor: isDark ? "#111827" : "#ffffff",
}}
initial="hidden"
whileInView="visible"
@@ -393,21 +411,23 @@ function CareersContent() {
>
-
Open Positions
-
- Find your next opportunity and help us build the future of coding education.
+ Find your next opportunity and help us build the future of
+ coding education.
@@ -417,49 +437,55 @@ function CareersContent() {
key={index}
className="job-card rounded-xl p-6 shadow-lg hover:shadow-xl transition-all duration-300"
style={{
- backgroundColor: isDark ? '#1f2937' : '#ffffff'
+ backgroundColor: isDark ? "#1f2937" : "#ffffff",
}}
variants={fadeIn}
>
-
{job.title}
-
+
{job.department}
-
+
{job.location}
-
+
{job.type}
-
{job.description}
@@ -470,8 +496,8 @@ function CareersContent() {
to="/contact-us"
className="bg-blue-600 hover:bg-blue-700 px-6 py-3 rounded-lg font-semibold transition-all duration-300 transform hover:scale-105 shadow-lg inline-block"
style={{
- color: '#ffffff',
- textDecoration: 'none'
+ color: "#ffffff",
+ textDecoration: "none",
}}
>
Apply Now
@@ -488,7 +514,7 @@ function CareersContent() {
-
What Our Team Says
-
- Hear from our team members about their experience at recode hive.
+ Hear from our team members about their experience at recode
+ hive.
@@ -526,43 +553,43 @@ function CareersContent() {
๐ค
-
"{testimonials[activeTestimonial].content}"
-
{testimonials[activeTestimonial].name}
-
{testimonials[activeTestimonial].role}
-
+
{testimonials.map((_, index) => (
@@ -258,10 +274,15 @@ export default function CommunityPage(): React.ReactElement {
{section.title}
-
{section.description}
+
+ {section.description}
+
{section.items.map((item, itemIndex) => (
@@ -285,26 +308,36 @@ export default function CommunityPage(): React.ReactElement {
className="section-item"
initial={{ opacity: 0, x: -20 }}
animate={{ opacity: 1, x: 0 }}
- transition={{ duration: 0.3, delay: (0.1 * index) + (0.05 * itemIndex) }}
- onClick={() => toggleDropdown(`${section.id}-${itemIndex}`)}
- style={{ cursor: 'pointer' }}
+ transition={{
+ duration: 0.3,
+ delay: 0.1 * index + 0.05 * itemIndex,
+ }}
+ onClick={() =>
+ toggleDropdown(`${section.id}-${itemIndex}`)
+ }
+ style={{ cursor: "pointer" }}
>
-
+
โถ
{item}
-
- {section.details && openDropdowns.includes(`${section.id}-${itemIndex}`) && (
-
- {section.details[itemIndex]}
-
- )}
+
+ {section.details &&
+ openDropdowns.includes(
+ `${section.id}-${itemIndex}`,
+ ) && (
+
+ {section.details[itemIndex]}
+
+ )}
))}
@@ -313,7 +346,17 @@ export default function CommunityPage(): React.ReactElement {
๐
- Find our {section.id === 'code' ? 'codebase' : section.id === 'documentation' ? 'documentation' : section.id === 'community' ? 'conversation' : 'resources'} on:
+
+ Find our{" "}
+ {section.id === "code"
+ ? "codebase"
+ : section.id === "documentation"
+ ? "documentation"
+ : section.id === "community"
+ ? "conversation"
+ : "resources"}{" "}
+ on:
+
{section.links.map((link, linkIndex) => (
@@ -323,7 +366,11 @@ export default function CommunityPage(): React.ReactElement {
className="resource-link"
target="_blank"
rel="noopener noreferrer"
- style={{ '--link-color': section.color } as React.CSSProperties}
+ style={
+ {
+ "--link-color": section.color,
+ } as React.CSSProperties
+ }
whileHover={{ scale: 1.05 }}
whileTap={{ scale: 0.95 }}
>
@@ -357,31 +404,50 @@ export default function CommunityPage(): React.ReactElement {
- Thank you for your interest in recode hive!
+ Thank you for your interest in{" "}
+ recode hive!
- We're thrilled to have you here and can't wait to{' '}
- collaborate,{' '}
- learn, and{' '}
- grow โ together. ๐ฑ
+ We're thrilled to have you here and can't wait to{" "}
+
+ collaborate
+
+ , learn, and{" "}
+ grow โ
+ together. ๐ฑ
-
+
@@ -389,14 +455,22 @@ export default function CommunityPage(): React.ReactElement {
๐
- Let's make this community the best it can bee!
+
+ Let's make this community the best it can bee!
+
@@ -420,14 +494,13 @@ export default function CommunityPage(): React.ReactElement {
{tableOfContents.map((item) => (
))}
-
diff --git a/src/pages/contact-us/index.css b/src/pages/contact-us/index.css
index 9a4cbb27..3a18b470 100644
--- a/src/pages/contact-us/index.css
+++ b/src/pages/contact-us/index.css
@@ -1,6 +1,13 @@
:root {
/* Dark Theme Variables (Default) */
- --contact-bg-primary: linear-gradient(135deg, #0f0f23 0%, #1a1a2e 25%, #16213e 50%, #0f3460 75%, #533483 100%);
+ --contact-bg-primary: linear-gradient(
+ 135deg,
+ #0f0f23 0%,
+ #1a1a2e 25%,
+ #16213e 50%,
+ #0f3460 75%,
+ #533483 100%
+ );
--contact-bg-card: rgba(255, 255, 255, 0.03);
--contact-bg-card-hover: rgba(255, 255, 255, 0.08);
--contact-bg-secondary: rgba(255, 255, 255, 0.05);
@@ -20,8 +27,15 @@
}
/* Light Theme Variables */
-[data-theme='light'] {
- --contact-bg-primary: linear-gradient(135deg, #f8fafc 0%, #e2e8f0 25%, #cbd5e1 50%, #94a3b8 75%, #64748b 100%);
+[data-theme="light"] {
+ --contact-bg-primary: linear-gradient(
+ 135deg,
+ #f8fafc 0%,
+ #e2e8f0 25%,
+ #cbd5e1 50%,
+ #94a3b8 75%,
+ #64748b 100%
+ );
--contact-bg-card: rgba(255, 255, 255, 0.9);
--contact-bg-card-hover: rgba(255, 255, 255, 0.95);
--contact-bg-secondary: rgba(255, 255, 255, 0.8);
@@ -40,8 +54,15 @@
}
/* Force theme variables on specific elements */
-html[data-theme='light'] {
- --contact-bg-primary: linear-gradient(135deg, #f8fafc 0%, #e2e8f0 25%, #cbd5e1 50%, #94a3b8 75%, #64748b 100%);
+html[data-theme="light"] {
+ --contact-bg-primary: linear-gradient(
+ 135deg,
+ #f8fafc 0%,
+ #e2e8f0 25%,
+ #cbd5e1 50%,
+ #94a3b8 75%,
+ #64748b 100%
+ );
--contact-bg-card: rgba(255, 255, 255, 0.9);
--contact-bg-card-hover: rgba(255, 255, 255, 0.95);
--contact-bg-secondary: rgba(255, 255, 255, 0.8);
@@ -70,15 +91,30 @@ html[data-theme='light'] {
}
@keyframes backgroundShift {
- 0%, 100% { transform: translateX(0px) translateY(0px) scale(1); }
- 25% { transform: translateX(30px) translateY(-20px) scale(1.02); }
- 50% { transform: translateX(-10px) translateY(30px) scale(0.98); }
- 75% { transform: translateX(-25px) translateY(-15px) scale(1.01); }
+ 0%,
+ 100% {
+ transform: translateX(0px) translateY(0px) scale(1);
+ }
+ 25% {
+ transform: translateX(30px) translateY(-20px) scale(1.02);
+ }
+ 50% {
+ transform: translateX(-10px) translateY(30px) scale(0.98);
+ }
+ 75% {
+ transform: translateX(-25px) translateY(-15px) scale(1.01);
+ }
}
/* Main Container */
.enhanced-contact-container {
- font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
+ font-family:
+ "Inter",
+ -apple-system,
+ BlinkMacSystemFont,
+ "Segoe UI",
+ Roboto,
+ sans-serif;
background: var(--contact-bg-primary);
color: var(--contact-text-secondary);
min-height: 100vh;
@@ -89,26 +125,50 @@ html[data-theme='light'] {
/* Background Effects */
.enhanced-contact-container::before {
- content: '';
+ content: "";
position: absolute;
top: 0;
left: 0;
right: 0;
bottom: 0;
background:
- radial-gradient(circle at 20% 80%, rgba(120, 119, 198, 0.08) 0%, transparent 60%),
- radial-gradient(circle at 80% 20%, rgba(255, 119, 198, 0.06) 0%, transparent 60%),
- radial-gradient(circle at 40% 40%, rgba(120, 219, 255, 0.04) 0%, transparent 60%);
+ radial-gradient(
+ circle at 20% 80%,
+ rgba(120, 119, 198, 0.08) 0%,
+ transparent 60%
+ ),
+ radial-gradient(
+ circle at 80% 20%,
+ rgba(255, 119, 198, 0.06) 0%,
+ transparent 60%
+ ),
+ radial-gradient(
+ circle at 40% 40%,
+ rgba(120, 219, 255, 0.04) 0%,
+ transparent 60%
+ );
animation: backgroundShift 25s ease-in-out infinite;
pointer-events: none;
}
/* Light theme background effects */
-[data-theme='light'] .enhanced-contact-container::before {
+[data-theme="light"] .enhanced-contact-container::before {
background:
- radial-gradient(circle at 20% 80%, rgba(79, 70, 229, 0.05) 0%, transparent 60%),
- radial-gradient(circle at 80% 20%, rgba(124, 58, 237, 0.04) 0%, transparent 60%),
- radial-gradient(circle at 40% 40%, rgba(236, 72, 153, 0.03) 0%, transparent 60%);
+ radial-gradient(
+ circle at 20% 80%,
+ rgba(79, 70, 229, 0.05) 0%,
+ transparent 60%
+ ),
+ radial-gradient(
+ circle at 80% 20%,
+ rgba(124, 58, 237, 0.04) 0%,
+ transparent 60%
+ ),
+ radial-gradient(
+ circle at 40% 40%,
+ rgba(236, 72, 153, 0.03) 0%,
+ transparent 60%
+ );
}
/* Content Wrapper */
@@ -130,7 +190,13 @@ html[data-theme='light'] {
.contact-title {
font-size: 3rem;
font-weight: 900;
- background: linear-gradient(135deg, var(--contact-text-primary) 0%, var(--contact-text-secondary) 30%, var(--contact-text-muted) 60%, var(--contact-text-dim) 100%);
+ background: linear-gradient(
+ 135deg,
+ var(--contact-text-primary) 0%,
+ var(--contact-text-secondary) 30%,
+ var(--contact-text-muted) 60%,
+ var(--contact-text-dim) 100%
+ );
-webkit-background-clip: text;
-webkit-text-fill-color: transparent;
background-clip: text;
@@ -370,7 +436,11 @@ html[data-theme='light'] {
background-position: right 0.75rem center;
background-repeat: no-repeat; /* Ensure it doesn't repeat */
background-size: 1.25rem;
- padding-right: 2.5rem; /* Enough space for the arrow */
+ padding-right: 2.5rem;
+}
+
+[data-theme="light"] .form-select {
+ background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3e%3cpath stroke='%23374151' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='M6 8l4 4 4-4'/%3e%3c/svg%3e");
}
.form-select:focus {
@@ -386,7 +456,11 @@ html[data-theme='light'] {
.submit-button {
width: 100%;
padding: 0.875rem 1.5rem;
- background: linear-gradient(135deg, var(--contact-accent-primary) 0%, var(--contact-accent-secondary) 100%);
+ background: linear-gradient(
+ 135deg,
+ var(--contact-accent-primary) 0%,
+ var(--contact-accent-secondary) 100%
+ );
color: white;
border: none;
border-radius: 0.75rem;
@@ -503,4 +577,4 @@ html[data-theme='light'] {
.resources-title {
font-size: 1.25rem;
}
-}
\ No newline at end of file
+}
diff --git a/src/pages/contact-us/index.tsx b/src/pages/contact-us/index.tsx
index 19df804e..3fdaeba3 100644
--- a/src/pages/contact-us/index.tsx
+++ b/src/pages/contact-us/index.tsx
@@ -13,12 +13,11 @@ const ContactUs: React.FC = () => {
{/* Header Section */}
-
- Get In Touch
-
+
Get In Touch
- Have questions, feedback, or want to collaborate? We'd love to hear from you.
- Reach out to us and we'll get back to you as soon as possible.
+ Have questions, feedback, or want to collaborate? We'd love to
+ hear from you. Reach out to us and we'll get back to you as soon
+ as possible.
@@ -26,58 +25,67 @@ const ContactUs: React.FC = () => {
{/* Contact Information */}
-
- Contact Information
-
-
+
Contact Information
+
{/* Email */}
{/* Response Time */}
-
+
Response Time
-
+
Within 24-48 hours
-
- We'll get back to you promptly
-
+
We'll get back to you promptly
{/* Location */}
-
+
Location
-
+
Online & Global
-
- Serving developers worldwide
-
+
Serving developers worldwide
@@ -85,9 +93,7 @@ const ContactUs: React.FC = () => {
{/* Additional Information */}
-
- What we can help you with:
-
+
What we can help you with:
-
@@ -115,10 +121,8 @@ const ContactUs: React.FC = () => {
{/* Contact Form */}
-
- Send us a message
-
-
+
Send us a message
+