5 Commits

Author SHA1 Message Date
a1cee698c2 Merge version_4_1782056705300 into main
Merge version_4_1782056705300 into main
2026-06-21 15:46:56 +00:00
kudinDmitriyUp
c6015e7914 Bob AI: Updated features section with problem solving, comfort, and 2026-06-21 15:46:16 +00:00
7ab11eb976 Merge version_3_1782056591142 into main
Merge version_3_1782056591142 into main
2026-06-21 15:44:51 +00:00
kudinDmitriyUp
704d2f8959 Bob AI: Added video testimonials section for high-impact social proo 2026-06-21 15:44:11 +00:00
74b4ecb44e Merge version_2_1782055867090 into main
Merge version_2_1782055867090 into main
2026-06-21 15:33:24 +00:00
3 changed files with 85 additions and 5 deletions

View File

@@ -12,7 +12,8 @@ import RatingSection from './HomePage/sections/Rating';
import MetricsSection from './HomePage/sections/Metrics';
import ContactSection from './HomePage/sections/Contact';
export default function HomePage(): React.JSX.Element {
import VideoTestimonialsSection from './HomePage/sections/VideoTestimonials';export default function HomePage(): React.JSX.Element {
return (
<>
<HeroSection />
@@ -28,6 +29,7 @@ export default function HomePage(): React.JSX.Element {
<MetricsSection />
<ContactSection />
<VideoTestimonialsSection />
</>
);
}

View File

@@ -10,10 +10,10 @@ export default function AdminInfoSection(): React.JSX.Element {
<div id="admin-info" data-section="admin-info">
<SectionErrorBoundary name="admin-info">
<FeaturesMediaCards
tag="Access Controls"
title="Powerful Admin Management"
description="Role-based access controls for Super Admins and authorized collaborators."
items={[{"description":"Full access to user and content management.","title":"Super Admin Control","imageSrc":"https://images.unsplash.com/photo-1550751827-4bd374c3f58b?auto=format&fit=crop&w=800&q=80"},{"title":"Collaborative Access","imageSrc":"https://images.unsplash.com/photo-1555066931-4365d14bab8c?auto=format&fit=crop&w=800&q=80","description":"Grant administrative privileges to trusted collaborators."},{"description":"Secure Firestore rules and authentication integrated.","imageSrc":"https://images.unsplash.com/photo-1614680376593-902f74cf0d41?auto=format&fit=crop&w=800&q=80","title":"Security First"}]}
tag="Features"
title="Our Core Focus"
description="We build solutions that enhance your experience and optimize performance."
items={[{"description":"We focus on creating solutions for people's problems.","imageSrc":"https://images.unsplash.com/photo-1550751827-4bd374c3f58b?auto=format&fit=crop&w=800&q=80","title":"Problem Solving"},{"imageSrc":"https://images.unsplash.com/photo-1555066931-4365d14bab8c?auto=format&fit=crop&w=800&q=80","title":"Better Comfort","description":"Making existing features easier to use and enhancing smartphone comfort."},{"description":"We prioritize minimizing background data usage and preventing unnecessary battery drain.","imageSrc":"https://images.unsplash.com/photo-1614680376593-902f74cf0d41?auto=format&fit=crop&w=800&q=80","title":"Efficiency"}]}
/>
</SectionErrorBoundary>
</div>

View File

@@ -0,0 +1,78 @@
import { motion } from "motion/react";
import ScrollReveal from "@/components/ui/ScrollReveal";
import TextAnimation from "@/components/ui/TextAnimation";
import Card from "@/components/ui/Card";
import ImageOrVideo from "@/components/ui/ImageOrVideo";
import RatingStars from "@/components/ui/RatingStars";
import Tag from "@/components/ui/Tag";
export default function VideoTestimonials() {
const testimonials = [
{
name: "Arjun K.",
role: "Developer",
company: "TechCorp",
rating: 5,
videoSrc: "https://videos.pexels.com/video-files/3129957/3129957-uhd_2560_1440_25fps.mp4",
},
{
name: "Meera S.",
role: "Designer",
company: "Creative Studio",
rating: 5,
videoSrc: "https://videos.pexels.com/video-files/3129671/3129671-uhd_2560_1440_25fps.mp4",
},
{
name: "Rahul V.",
role: "Product Manager",
company: "Innovate Inc",
rating: 5,
videoSrc: "https://videos.pexels.com/video-files/3206323/3206323-uhd_2560_1440_25fps.mp4",
}
];
return (
<section data-webild-section="video-testimonials" id="video-testimonials" className="relative w-full py-24 bg-background">
<div className="w-content-width mx-auto">
<div className="text-center mb-16 flex flex-col items-center">
<ScrollReveal variant="fade">
<Tag text="Testimonials" className="mb-4" />
</ScrollReveal>
<TextAnimation
text="Real stories from our users"
variant="fade-blur"
tag="h2"
gradientText={false}
className="text-4xl md:text-5xl font-bold text-foreground mb-4"
/>
<ScrollReveal variant="fade" delay={0.2}>
<p className="text-lg text-accent max-w-2xl mx-auto">
See how Codifya is helping teams build better and faster.
</p>
</ScrollReveal>
</div>
<div className="grid grid-cols-1 md:grid-cols-3 gap-8">
{testimonials.map((testimonial, index) => (
<ScrollReveal variant="fade" key={index} delay={0.1 * index} className="h-full">
<Card className="h-full flex flex-col overflow-hidden p-0">
<div className="relative aspect-[9/16] w-full overflow-hidden">
<ImageOrVideo
videoSrc={testimonial.videoSrc}
className="w-full h-full object-cover"
/>
<div className="absolute inset-0 bg-gradient-to-t from-black/80 via-black/20 to-transparent pointer-events-none" />
<div className="absolute bottom-0 left-0 right-0 p-6">
<RatingStars rating={testimonial.rating} className="mb-3 text-primary-cta" />
<h3 className="text-xl font-bold text-white mb-1">{testimonial.name}</h3>
<p className="text-sm text-white/80">{testimonial.role} at {testimonial.company}</p>
</div>
</div>
</Card>
</ScrollReveal>
))}
</div>
</div>
</section>
);
}