-
Notifications
You must be signed in to change notification settings - Fork 3
Dev2 #123
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Dev2 #123
Changes from all commits
5e1eda2
769fd07
9f5f168
7bc7170
e772c74
087bb29
1d7da52
2aa22ce
934cec3
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change | ||||||
|---|---|---|---|---|---|---|---|---|
| @@ -0,0 +1,130 @@ | ||||||||
| import { motion } from "framer-motion"; | ||||||||
|
|
||||||||
| export default function GoBuildDownloadApp() { | ||||||||
| return ( | ||||||||
| <section className="w-full bg-white py-16 md:py-24 px-6 relative overflow-hidden"> | ||||||||
| <div className="max-w-7xl mx-auto flex flex-col md:flex-row items-center justify-between gap-16 md:gap-20 relative"> | ||||||||
|
|
||||||||
| {/* LEFT — Phone + Floating Cards */} | ||||||||
| <motion.div | ||||||||
| initial={{ opacity: 0, y: 40 }} | ||||||||
| animate={{ opacity: 1, y: 0 }} | ||||||||
| transition={{ duration: 0.8 }} | ||||||||
| className="relative" | ||||||||
| > | ||||||||
| {/* Glow */} | ||||||||
| <div className="absolute -inset-8 bg-blue-400/20 blur-[90px] rounded-full -z-10"></div> | ||||||||
|
|
||||||||
| {/* Floating Phone */} | ||||||||
| <motion.div | ||||||||
| animate={{ y: [0, -10, 0] }} | ||||||||
| transition={{ duration: 4, repeat: Infinity, ease: "easeInOut" }} | ||||||||
| className="relative w-[320px] h-[650px]" | ||||||||
| > | ||||||||
| <img | ||||||||
| src="/AppView.png" | ||||||||
| alt="GoBuild App Screenshot" | ||||||||
| className="w-full h-full object-contain drop-shadow-2xl" | ||||||||
| /> | ||||||||
|
|
||||||||
| {/* Invisible Button Overlay */} | ||||||||
| <a | ||||||||
| href="https://play.google.com/store/apps/details?id=com.go_build_app_version" | ||||||||
|
||||||||
| target="_blank" | ||||||||
| rel="noopener noreferrer" | ||||||||
| className="absolute" | ||||||||
| style={{ | ||||||||
| top: "50.8%", | ||||||||
| left: "20.3%", | ||||||||
| width: "59.4%", | ||||||||
| height: "8.5%", | ||||||||
| }} | ||||||||
092vk marked this conversation as resolved.
Show resolved
Hide resolved
|
||||||||
| aria-label="Download GoBuild app from Google Play Store" | ||||||||
| ></a> | ||||||||
| </motion.div> | ||||||||
|
|
||||||||
| {/* Floating Card 1 — SMALLER */} | ||||||||
| <motion.div | ||||||||
| initial={{ opacity: 0, x: -40 }} | ||||||||
| animate={{ opacity: 1, x: 0 }} | ||||||||
| transition={{ delay: 0.4, duration: 0.8 }} | ||||||||
| className="absolute top-28 -right-20 bg-white shadow-lg p-3 rounded-xl w-48 border border-gray-100" | ||||||||
| > | ||||||||
| <p className="font-semibold text-gray-900 text-xs">Upcoming Service</p> | ||||||||
| <p className="text-[10px] text-gray-600 mt-1">Electrician arriving in 20 mins</p> | ||||||||
|
|
||||||||
| <div className="w-full bg-blue-100 h-1.5 mt-2 rounded-full overflow-hidden"> | ||||||||
| <div className="bg-blue-600 h-full w-2/3"></div> | ||||||||
| </div> | ||||||||
| </motion.div> | ||||||||
|
|
||||||||
|
|
||||||||
| {/* Floating Card 2 */} | ||||||||
| <motion.div | ||||||||
| initial={{ opacity: 0, x: -40 }} | ||||||||
| animate={{ opacity: 1, x: 0 }} | ||||||||
| transition={{ delay: 0.6, duration: 0.8 }} | ||||||||
| className="absolute bottom-14 -left-24 bg-white shadow-xl p-4 rounded-2xl w-52 border border-gray-100" | ||||||||
| > | ||||||||
| <p className="font-semibold text-gray-900 text-sm">Completed Task</p> | ||||||||
| <p className="text-xs text-gray-600 mt-1">Plumber Service Completed</p> | ||||||||
| </motion.div> | ||||||||
| </motion.div> | ||||||||
|
|
||||||||
| {/* RIGHT — Text & CTA */} | ||||||||
| <div className="flex-1 flex flex-col justify-center"> | ||||||||
|
|
||||||||
| <h1 className="text-4xl font-extrabold text-gray-900 leading-snug text-center"> | ||||||||
| Download the <span className="text-blue-600">GoBuild App</span> | ||||||||
| </h1> | ||||||||
|
|
||||||||
|
|
||||||||
| <p className="text-lg text-gray-600 mt-4 pl-2"> | ||||||||
| Find trusted professionals, book services instantly, track progress, | ||||||||
| and manage everything from your phone. | ||||||||
| </p> | ||||||||
|
|
||||||||
| {/* Testimonial */} | ||||||||
| <motion.div | ||||||||
| initial={{ opacity: 0, x: -20 }} | ||||||||
| animate={{ opacity: 1, x: 0 }} | ||||||||
| transition={{ duration: 0.8, delay: 0.4 }} | ||||||||
| className="mt-8 bg-blue-50 p-4 rounded-xl border-l-4 border-blue-600 shadow-inner" | ||||||||
| > | ||||||||
| <p className="italic text-sm text-gray-700 text-center"> | ||||||||
| "Found a verified electrician in minutes! Progress tracking is a game-changer." | ||||||||
| </p> | ||||||||
|
|
||||||||
| <p className="mt-1 text-sm font-semibold text-blue-800 text-center"> | ||||||||
| - A Happy User | ||||||||
| </p> | ||||||||
|
|
||||||||
| </motion.div> | ||||||||
|
|
||||||||
| <div className="mt-12 p-6 rounded-2xl backdrop-blur-xl bg-white/40 | ||||||||
| border border-white/20 shadow-xl flex items-center justify-center gap-10"> | ||||||||
|
Comment on lines
+104
to
+105
|
||||||||
| <div className="mt-12 p-6 rounded-2xl backdrop-blur-xl bg-white/40 | |
| border border-white/20 shadow-xl flex items-center justify-center gap-10"> | |
| <div className="mt-12 p-6 rounded-2xl backdrop-blur-xl bg-white/40 border border-white/20 shadow-xl flex items-center justify-center gap-10"> |
Copilot
AI
Dec 4, 2025
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The Play Store badge link lacks accessibility attributes. Add aria-label="Download GoBuild App on Google Play Store" to provide context for screen reader users and improve accessibility.
| Original file line number | Diff line number | Diff line change | ||||
|---|---|---|---|---|---|---|
|
|
@@ -18,6 +18,7 @@ import teamMembers from '@/data/team-members.json'; | |||||
| import { Button } from "@/components/ui/button"; | ||||||
| import { Link } from 'react-router-dom'; | ||||||
| import { useTranslation } from 'react-i18next'; | ||||||
| import GoBuildDownloadApp from '@/components/GoBuildDownloadApp'; | ||||||
|
|
||||||
| const AboutUs: React.FC = () => { | ||||||
| const { t } = useTranslation(); | ||||||
|
|
@@ -166,6 +167,7 @@ const AboutUs: React.FC = () => { | |||||
| </div> | ||||||
| </div> | ||||||
| </section> */} | ||||||
| <GoBuildDownloadApp/> | ||||||
|
||||||
| <GoBuildDownloadApp/> | |
| <GoBuildDownloadApp /> |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The Play Store URL is hardcoded here and is the same URL used in
GoBuildDownloadApp.tsx(lines 32 and 114). This creates code duplication across multiple files. Consider extracting this URL to a shared configuration file or constants file to maintain consistency and ease future updates.