fix : call button
This commit is contained in:
parent
a82eef4daa
commit
69c3985441
File diff suppressed because one or more lines are too long
|
|
@ -170,12 +170,12 @@ export function BookingConfirmation({
|
||||||
{bookingData.dropoff.includes("Airport Taxi") ? "Airport Taxi Fee" : "Customize Price"}
|
{bookingData.dropoff.includes("Airport Taxi") ? "Airport Taxi Fee" : "Customize Price"}
|
||||||
</span>
|
</span>
|
||||||
<span className="text-xl font-semibold text-green-600">
|
<span className="text-xl font-semibold text-green-600">
|
||||||
{bookingData.dropoff.includes("Airport Taxi") ? "₹1099" : "Call for Quote"}
|
{bookingData.dropoff.includes("Airport Taxi") ? "₹999" : "Call for Quote"}
|
||||||
</span>
|
</span>
|
||||||
</div>
|
</div>
|
||||||
<div className="text-sm text-muted-foreground text-center">
|
<div className="text-sm text-muted-foreground text-center">
|
||||||
{bookingData.dropoff.includes("Airport Taxi")
|
{bookingData.dropoff.includes("Airport Taxi")
|
||||||
? `₹1099 fixed rate for airport taxi. Driver will contact you at ${bookingData.contactNumber} for pickup details.`
|
? `₹999 fixed rate for airport taxi. Driver will contact you at ${bookingData.contactNumber} for pickup details.`
|
||||||
: `Driver will contact you at ${bookingData.contactNumber} for final pricing and trip details.`}
|
: `Driver will contact you at ${bookingData.contactNumber} for final pricing and trip details.`}
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
|
||||||
|
|
@ -189,7 +189,7 @@ export function BookingForm({ onSubmit }: BookingFormProps) {
|
||||||
id="customerEmail"
|
id="customerEmail"
|
||||||
type="email"
|
type="email"
|
||||||
placeholder="Enter your email address"
|
placeholder="Enter your email address"
|
||||||
value={formData.customerEmail}
|
// value={formData.customerEmail}
|
||||||
onChange={(e) => handleInputChange("customerEmail", e.target.value)}
|
onChange={(e) => handleInputChange("customerEmail", e.target.value)}
|
||||||
className="h-10 sm:h-11"
|
className="h-10 sm:h-11"
|
||||||
/>
|
/>
|
||||||
|
|
|
||||||
|
|
@ -12,7 +12,7 @@ export function FloatingCallButton() {
|
||||||
delay: 1,
|
delay: 1,
|
||||||
type: "spring",
|
type: "spring",
|
||||||
stiffness: 200,
|
stiffness: 200,
|
||||||
damping: 20
|
damping: 20,
|
||||||
}}
|
}}
|
||||||
whileHover={{ scale: 1.05 }}
|
whileHover={{ scale: 1.05 }}
|
||||||
whileTap={{ scale: 0.95 }}
|
whileTap={{ scale: 0.95 }}
|
||||||
|
|
@ -21,28 +21,31 @@ export function FloatingCallButton() {
|
||||||
<Button
|
<Button
|
||||||
size="lg"
|
size="lg"
|
||||||
className="bg-transparent hover:bg-white/10 border-0 px-3 py-2 sm:px-4 sm:py-2 h-auto rounded-full"
|
className="bg-transparent hover:bg-white/10 border-0 px-3 py-2 sm:px-4 sm:py-2 h-auto rounded-full"
|
||||||
onClick={() => window.open('tel:+91-7477247488', '_self')}
|
onClick={() => {
|
||||||
|
// Opens dialpad directly on mobile
|
||||||
|
window.location.href = "tel:+917477247488";
|
||||||
|
}}
|
||||||
>
|
>
|
||||||
<div className="mr-1 sm:mr-2">
|
<div className="mr-1 sm:mr-2">
|
||||||
<Phone className="h-4 w-4 sm:h-5 sm:w-5 text-white" />
|
<Phone className="h-4 w-4 sm:h-5 sm:w-5 text-white" />
|
||||||
</div>
|
</div>
|
||||||
<div className="text-white">
|
<div className="text-white text-left">
|
||||||
<div className="text-xs sm:text-sm font-bold">Call to Book</div>
|
<div className="text-xs sm:text-sm font-bold">Call to Book</div>
|
||||||
<div className="text-xs opacity-90">7477247488</div>
|
<div className="text-xs opacity-90">7477247488</div>
|
||||||
</div>
|
</div>
|
||||||
</Button>
|
</Button>
|
||||||
|
|
||||||
{/* Simple pulse effect */}
|
{/* Simple pulse animation */}
|
||||||
<motion.div
|
<motion.div
|
||||||
className="absolute inset-0 rounded-full bg-green-400/50"
|
className="absolute inset-0 rounded-full bg-green-400/50"
|
||||||
animate={{
|
animate={{
|
||||||
scale: [1, 1.5, 1],
|
scale: [1, 1.5, 1],
|
||||||
opacity: [0.7, 0, 0.7]
|
opacity: [0.7, 0, 0.7],
|
||||||
}}
|
}}
|
||||||
transition={{
|
transition={{
|
||||||
duration: 2,
|
duration: 2,
|
||||||
repeat: Infinity,
|
repeat: Infinity,
|
||||||
ease: "easeInOut"
|
ease: "easeInOut",
|
||||||
}}
|
}}
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
|
|
|
||||||
|
|
@ -112,7 +112,7 @@ export function HeroSection({ children }: HeroSectionProps) {
|
||||||
animate={{ opacity: 1, y: 0 }}
|
animate={{ opacity: 1, y: 0 }}
|
||||||
transition={{ duration: 0.8, delay: 0.6 }}
|
transition={{ duration: 0.8, delay: 0.6 }}
|
||||||
>
|
>
|
||||||
₹1099
|
₹999
|
||||||
</motion.span>
|
</motion.span>
|
||||||
</motion.h1>
|
</motion.h1>
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -18,8 +18,8 @@ const services = [
|
||||||
icon: Plane,
|
icon: Plane,
|
||||||
title: "Airport Taxi",
|
title: "Airport Taxi",
|
||||||
description: "Comfortable and punctual airport taxi services. Never miss a flight with our dedicated airport service.",
|
description: "Comfortable and punctual airport taxi services. Never miss a flight with our dedicated airport service.",
|
||||||
features: ["Flight monitoring", "Meet & greet service", "Fixed rate ₹1099"],
|
features: ["Flight monitoring", "Meet & greet service", "Fixed rate ₹999"],
|
||||||
price: "₹1099",
|
price: "₹999",
|
||||||
image: "https://images.unsplash.com/photo-1733222012917-e9e74636080c?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w3Nzg4Nzd8MHwxfHNlYXJjaHwxfHxhaXJwb3J0JTIwdHJhbnNmZXIlMjBjYXIlMjBzZXJ2aWNlfGVufDF8fHx8MTc1NTYwMDgwM3ww&ixlib=rb-4.1.0&q=80&w=1080&utm_source=figma&utm_medium=referral",
|
image: "https://images.unsplash.com/photo-1733222012917-e9e74636080c?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w3Nzg4Nzd8MHwxfHNlYXJjaHwxfHxhaXJwb3J0JTIwdHJhbnNmZXIlMjBjYXIlMjBzZXJ2aWNlfGVufDF8fHx8MTc1NTYwMDgwM3ww&ixlib=rb-4.1.0&q=80&w=1080&utm_source=figma&utm_medium=referral",
|
||||||
imageAlt: "Premium car at airport terminal"
|
imageAlt: "Premium car at airport terminal"
|
||||||
},
|
},
|
||||||
|
|
|
||||||
|
|
@ -34,7 +34,7 @@ export const indiaLocations = [
|
||||||
// Service types for drop-off options
|
// Service types for drop-off options
|
||||||
export const serviceTypes = [
|
export const serviceTypes = [
|
||||||
"City Ride - Customize Price",
|
"City Ride - Customize Price",
|
||||||
"Airport Taxi - ₹1099",
|
"Airport Taxi - ₹999",
|
||||||
"Outstation - Customize Price",
|
"Outstation - Customize Price",
|
||||||
"Mover and Packer - Customize Price",
|
"Mover and Packer - Customize Price",
|
||||||
"Corporate Services - Customize Price"
|
"Corporate Services - Customize Price"
|
||||||
|
|
|
||||||
|
|
@ -5,11 +5,11 @@ export const mockVehicles: Vehicle[] = [
|
||||||
id: "1",
|
id: "1",
|
||||||
type: "5-seater",
|
type: "5-seater",
|
||||||
name: "5 Seater",
|
name: "5 Seater",
|
||||||
price: 1099,
|
price: 999,
|
||||||
capacity: 5,
|
capacity: 5,
|
||||||
rating: 4.5,
|
rating: 4.5,
|
||||||
estimatedTime: "Rider will contact you soon",
|
estimatedTime: "Rider will contact you soon",
|
||||||
features: ["AC", "Music System", "Comfortable", "Airport Taxi ₹1099"],
|
features: ["AC", "Music System", "Comfortable", "Airport Taxi ₹999"],
|
||||||
image: ""
|
image: ""
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
|
|
||||||
|
|
@ -69,8 +69,8 @@ app.post("/make-server-10d555e8/send-booking-email", async (c) => {
|
||||||
|
|
||||||
// Get vehicle pricing
|
// Get vehicle pricing
|
||||||
const getVehiclePrice = (vehicleType) => {
|
const getVehiclePrice = (vehicleType) => {
|
||||||
switch(vehicleType) {
|
switch (vehicleType) {
|
||||||
case '5-seater': return '₹1099';
|
case '5-seater': return '₹999';
|
||||||
case '7-seater': return '₹1600';
|
case '7-seater': return '₹1600';
|
||||||
case 'innova': return '₹2000';
|
case 'innova': return '₹2000';
|
||||||
default: return 'Contact for pricing';
|
default: return 'Contact for pricing';
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue