modifiche001

This commit is contained in:
2026-05-26 11:49:55 +02:00
parent 57367b75c8
commit 83fb4b8c1e
5 changed files with 73 additions and 67 deletions

View File

@@ -22,19 +22,19 @@ export default function Footer() {
{/* Main footer */} {/* Main footer */}
<div className="container py-16"> <div className="container py-16">
<div className="grid grid-cols-1 md:grid-cols-2 lg:grid-cols-4 gap-10"> <div className="grid grid-cols-1 md:grid-cols-2 lg:grid-cols-4 gap-10">
{/* Brand */} {/* Brand
<div className="lg:col-span-1"> <div className="lg:col-span-1">
<div className="mb-4"> <div className="mb-4">
<div <div
className="font-bold text-white leading-tight" className="font-bold text-white leading-tight"
style={{ fontFamily: "'Cormorant Garamond', serif", fontSize: "1rem" }} style={{ fontFamily: "'Cormorant Garamond', serif", fontSize: "1rem" }}
> >
Clinica Veterinaria Clinica Veterinaria
</div> </div>
<div className="text-[#4ECDC4] text-xs font-semibold tracking-widest uppercase"> <div className="text-[#4ECDC4] text-xs font-semibold tracking-widest uppercase">
Formiginese Formiginese
</div> </div>
</div> </div>
<p className="text-white/60 text-sm leading-relaxed mb-4"> <p className="text-white/60 text-sm leading-relaxed mb-4">
Cura specialistica per cani e gatti a Formigine. Cura specialistica per cani e gatti a Formigine.
Un team di professionisti al servizio della salute dei tuoi animali. Un team di professionisti al servizio della salute dei tuoi animali.
@@ -48,7 +48,7 @@ export default function Footer() {
<Facebook size={16} /> <Facebook size={16} />
Seguici su Facebook Seguici su Facebook
</a> </a>
</div> </div>*/}
{/* Link rapidi */} {/* Link rapidi */}
<div> <div>
@@ -120,9 +120,11 @@ export default function Footer() {
</h4> </h4>
<div className="space-y-2"> <div className="space-y-2">
{[ {[
{ days: "Lunedì — Venerdì", hours: "09:00 — 12:30\n14:30 — 19:00" }, { days: "Visite: Lunedì — Venerdì", hours: "09:00 — 19:30" },
{ days: "Sabato", hours: "09:00 — 12:30" }, { days: "Visite: Sabato", hours: "09:00 — 17:00" },
{ days: "Domenica", hours: "Solo urgenze" }, { days: "Urgenze: Lunedì — Venerdì", hours: "08:00 — 22:30" },
{ days: "Urgenze: Sabato e Festivi", hours: "09:00 — 20:00" },
].map((slot) => ( ].map((slot) => (
<div key={slot.days} className="flex items-start gap-2"> <div key={slot.days} className="flex items-start gap-2">
<Clock size={13} className="text-[#4ECDC4] flex-shrink-0 mt-0.5" /> <Clock size={13} className="text-[#4ECDC4] flex-shrink-0 mt-0.5" />
@@ -135,12 +137,7 @@ export default function Footer() {
</div> </div>
{/* Badge reperibilità */} {/* Badge reperibilità */}
<div className="mt-4 bg-[#4ECDC4]/15 border border-[#4ECDC4]/30 rounded-lg p-3">
<p className="text-[#4ECDC4] text-xs font-semibold uppercase tracking-wide">
Reperibilità 24h
</p>
<p className="text-white/60 text-xs mt-0.5">7 giorni su 7</p>
</div>
</div> </div>
</div> </div>
</div> </div>

View File

@@ -6,7 +6,7 @@
*/ */
import { useState, useEffect } from "react"; import { useState, useEffect } from "react";
import { Button } from "@/components/ui/button"; import { Button } from "@/components/ui/button";
import { ChevronDown, Calendar, Phone } from "lucide-react"; import { ChevronDown, Calendar, Phone, Clock } from "lucide-react";
import { motion } from "framer-motion"; import { motion } from "framer-motion";
const heroImages = [ const heroImages = [
@@ -86,15 +86,7 @@ export default function HeroSection() {
<div className="container"> <div className="container">
<div className="max-w-2xl"> <div className="max-w-2xl">
{/* Badge */} {/* Badge */}
<motion.div
initial={{ opacity: 0, y: 20 }}
animate={{ opacity: 1, y: 0 }}
transition={{ duration: 0.6, delay: 0.2 }}
className="inline-flex items-center gap-2 bg-[#4ECDC4]/20 border border-[#4ECDC4]/40 text-[#4ECDC4] text-sm font-semibold px-4 py-1.5 rounded-full mb-6 backdrop-blur-sm"
>
<span className="w-2 h-2 rounded-full bg-[#4ECDC4] animate-pulse" />
Reperibilità 24h · 7 giorni su 7
</motion.div>
{/* Titolo principale */} {/* Titolo principale */}
<motion.h1 <motion.h1
@@ -108,8 +100,8 @@ export default function HeroSection() {
fontWeight: 600, fontWeight: 600,
}} }}
> >
La salute del tuo animale,{" "} CLINICA VETERINARIA FORMIGINESE{" "}
<span className="italic text-[#4ECDC4]">la nostra missione</span>
</motion.h1> </motion.h1>
{/* Sottotitolo */} {/* Sottotitolo */}
@@ -120,9 +112,43 @@ export default function HeroSection() {
className="text-white/85 text-lg mb-8 leading-relaxed max-w-xl" className="text-white/85 text-lg mb-8 leading-relaxed max-w-xl"
style={{ fontFamily: "'Nunito Sans', sans-serif" }} style={{ fontFamily: "'Nunito Sans', sans-serif" }}
> >
Clinica veterinaria specialistica a Formigine. Un team di 6 professionisti
dedicati alla cura di cani e gatti, con tecnologie diagnostiche avanzate.
</motion.p> </motion.p>
<motion.div
initial={{ opacity: 0, y: 20 }}
animate={{ opacity: 1, y: 0 }}
transition={{ duration: 0.7, delay: 0.7 }}
className="flex flex-col sm:flex-row gap-4"
>
<div>
<h4
className="text-white font-semibold mb-4 text-sm uppercase tracking-widest"
style={{ fontFamily: "'Nunito Sans', sans-serif" }}
>
Orari
</h4>
<div className="space-y-2">
{[
{ days: "Visite: Lunedì — Venerdì", hours: "09:00 — 19:30" },
{ days: "Visite: Sabato", hours: "09:00 — 17:00" },
{ days: "Urgenze: Lunedì — Venerdì", hours: "08:00 — 22:30" },
{ days: "Urgenze: Sabato e Festivi", hours: "09:00 — 20:00" },
].map((slot) => (
<div key={slot.days} className="flex items-start gap-2">
<Clock size={13} className="text-[#4ECDC4] flex-shrink-0 mt-0.5" />
<div>
<p className="text-white/70 text-xs">{slot.days}</p>
<p className="text-white/50 text-xs whitespace-pre-line">{slot.hours}</p>
</div>
</div>
))}
</div>
{/* Badge reperibilità */}
</div>
</motion.div>
{/* CTA buttons */} {/* CTA buttons */}
<motion.div <motion.div
@@ -153,30 +179,8 @@ export default function HeroSection() {
</motion.div> </motion.div>
{/* Stats */} {/* Stats */}
<motion.div {/* Orari */}
initial={{ opacity: 0 }}
animate={{ opacity: 1 }}
transition={{ duration: 0.8, delay: 1.0 }}
className="flex gap-8 mt-12 pt-8 border-t border-white/20"
>
{[
{ value: "6", label: "Specialisti" },
{ value: "15+", label: "Anni di esperienza" },
{ value: "24h", label: "Reperibilità" },
].map((stat) => (
<div key={stat.label} className="text-center">
<div
className="text-[#4ECDC4] font-bold"
style={{ fontFamily: "'Cormorant Garamond', serif", fontSize: "2rem" }}
>
{stat.value}
</div>
<div className="text-white/70 text-xs uppercase tracking-widest mt-0.5">
{stat.label}
</div>
</div>
))}
</motion.div>
</div> </div>
</div> </div>
</div> </div>

View File

@@ -83,9 +83,7 @@ export default function Navbar() {
059 839.62.63 &nbsp;|&nbsp; 320 532.24.39 (urgenze 24h) 059 839.62.63 &nbsp;|&nbsp; 320 532.24.39 (urgenze 24h)
</span> </span>
</div> </div>
<span className="text-[#4ECDC4] font-semibold tracking-wide text-xs uppercase">
Reperibilità 24h · 7 giorni su 7
</span>
</div> </div>
</div> </div>

View File

@@ -277,11 +277,10 @@ export default function ServicesSection() {
className="mb-4 text-[#1B4F72]" className="mb-4 text-[#1B4F72]"
style={{ fontFamily: "'Cormorant Garamond', serif", fontSize: "clamp(2rem, 4vw, 3rem)", fontWeight: 600 }} style={{ fontFamily: "'Cormorant Garamond', serif", fontSize: "clamp(2rem, 4vw, 3rem)", fontWeight: 600 }}
> >
Servizi Clinici Servizi
</h2> </h2>
<p className="max-w-xl text-base leading-relaxed text-gray-600"> <p className="max-w-xl text-base leading-relaxed text-gray-600">
Sei aree di eccellenza clinica per accompagnare prevenzione, diagnosi e trattamento
dei tuoi animali domestici, con tecnologie avanzate e professionisti esperti.
</p> </p>
</motion.div> </motion.div>

View File

@@ -150,7 +150,15 @@ function vitePluginManusDebugCollector(): Plugin {
}; };
} }
const plugins = [react(), tailwindcss(), jsxLocPlugin(), vitePluginManusRuntime(), vitePluginManusDebugCollector()]; const isProductionBuild = process.env.NODE_ENV === "production";
const plugins = [
react(),
tailwindcss(),
jsxLocPlugin(),
!isProductionBuild && vitePluginManusRuntime(),
!isProductionBuild && vitePluginManusDebugCollector(),
].filter(Boolean);
export default defineConfig({ export default defineConfig({
plugins, plugins,