Skip to content

Commit 77eba23

Browse files
authored
Merge pull request #30 from MYSTICxSAM/video
Changes in UI
2 parents b1b09e7 + aa0b031 commit 77eba23

11 files changed

Lines changed: 137 additions & 43 deletions

File tree

public/Workers/Worker1.jpeg

158 KB
Loading

public/Workers/Worker2.jpeg

198 KB
Loading

public/Workers/Worker3.jpeg

109 KB
Loading

public/Workers/Worker4.jpeg

39.4 KB
Loading

public/Workers/Worker5.jpeg

131 KB
Loading

public/Workers/Worker7.jpeg

243 KB
Loading

src/components/Hero.tsx

Lines changed: 16 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -27,11 +27,14 @@ const Hero: React.FC = () => {
2727
<div className="flex flex-col lg:flex-row items-center justify-between gap-12">
2828
<div className="w-full lg:w-1/2 space-y-6 animate-fade-in">
2929
<h1 className="text-4xl sm:text-5xl lg:text-6xl font-bold leading-tight">
30-
{t('hero.t1')} <span className="text-5xl sm:text-6xl lg:text-7xl font-bold leading-tight"
31-
style={{ color: 'hsl(var(--primary))' }}
30+
{t('hero.t1')}{" "}
31+
<span
32+
className="text-5xl sm:text-6xl lg:text-7xl font-bold leading-tight"
33+
style={{ color: 'hsl(var(--primary))' }}
3234
>
3335
{t('hero.title')}
34-
</span> {t('hero.t2')}
36+
</span>{" "}
37+
{t('hero.t2')}
3538
</h1>
3639
<p className="text-lg text-muted-foreground max-w-lg">
3740
{t('hero.subtitle')}
@@ -67,11 +70,16 @@ const Hero: React.FC = () => {
6770

6871
<div className="w-full lg:w-1/2 relative">
6972
<div className="relative rounded-2xl overflow-hidden shadow-xl animate-fade-in animation-delay-200">
70-
<img
71-
src="/worker1.jpg"
72-
alt="Professional carpenter working"
73-
className="w-full h-[400px] object-cover"
74-
/>
73+
<div className="aspect-w-16 aspect-h-9">
74+
<iframe
75+
className="w-full h-[400px]"
76+
src="https://www.youtube.com/embed/In1KOe8za5g"
77+
title="YouTube video"
78+
frameBorder="0"
79+
allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture"
80+
allowFullScreen
81+
></iframe>
82+
</div>
7583
<div className="absolute bottom-0 left-0 right-0 bg-gradient-to-t from-black/80 to-transparent p-6">
7684
<div className="flex items-start space-x-4">
7785
<div className="bg-white p-3 rounded-full">
Lines changed: 53 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,53 @@
1+
import React from 'react';
2+
3+
// Define each video testimonial prop
4+
const videoTestimonials = [
5+
{
6+
videoUrl: "https://www.youtube.com/embed/In1KOe8za5g", // Example link - replace with your own
7+
name: 'Darshan Gupta ji',
8+
feedback: 'Fantastic experience from start to finish. Highly recommend their services!'
9+
},
10+
{
11+
videoUrl: "https://www.youtube.com/embed/VdlUJDlzIIk",
12+
name: 'Rakesh Sharma',
13+
feedback: 'The support team was quick and reliable. Helped us achieve our goals smoothly.'
14+
},
15+
{
16+
videoUrl: 'https://www.youtube.com/embed/XM7Vyx0r3QU',
17+
name: 'Rakesh Patel',
18+
feedback: 'Their process was efficient and transparent. Will work again with them for sure!'
19+
}
20+
];
21+
22+
const VideoTestimonialCard = ({ videoUrl, name, feedback }) => (
23+
<div className="bg-white rounded-xl shadow-lg p-4 flex flex-col items-center hover:shadow-2xl transition-all duration-300">
24+
<div className="w-full aspect-video rounded-lg overflow-hidden mb-4">
25+
<iframe
26+
src={videoUrl}
27+
title={name}
28+
frameBorder="0"
29+
allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture"
30+
allowFullScreen
31+
className="w-full h-full"
32+
></iframe>
33+
</div>
34+
<p className="italic text-gray-800 text-center mb-2">"{feedback}"</p>
35+
<div className="flex flex-col items-center">
36+
<span className="font-semibold text-gray-900">{name}</span>
37+
</div>
38+
</div>
39+
);
40+
41+
const VideoTestimonials = () => (
42+
<section className="py-6 bg-gradient-to-r from-gray-50 to-white">
43+
<div className="container mx-auto px-4">
44+
<div className="grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-8">
45+
{videoTestimonials.map((testimonial, idx) => (
46+
<VideoTestimonialCard key={idx} {...testimonial} />
47+
))}
48+
</div>
49+
</div>
50+
</section>
51+
);
52+
53+
export default VideoTestimonials;

src/components/WorkerCategories.tsx

Lines changed: 59 additions & 28 deletions
Large diffs are not rendered by default.

src/pages/Index.tsx

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@ import Footer from "../components/Footer";
1111
import HeroForm from "@/components/HeroForm";
1212
import FAQ from "../components/FAQ";
1313
import Bmodel from "@/components/Bmodel";
14+
import VideoTestimonials from "@/components/VideoTestimonials";
1415
// import { Banner } from "@/components/Banner";
1516

1617
const Index: React.FC = () => {
@@ -53,6 +54,7 @@ const Index: React.FC = () => {
5354
{/* <ServiceCategories /> */}
5455
<HowItWorks />
5556
<Testimonials />
57+
<VideoTestimonials />
5658
<FAQ />
5759
{/* <FeaturedProfessionals /> */}
5860
<Footer />

0 commit comments

Comments
 (0)