Propaga correzioni testi frontend

This commit is contained in:
2026-08-21 19:25:01 +02:00
parent f8171bb3dd
commit 8d83f0c619
6 changed files with 44 additions and 76 deletions

View File

@@ -10,7 +10,7 @@ import { CheckCircle2, Award, Heart } from "lucide-react";
const values = [ const values = [
{ icon: Heart, text: "Cura e attenzione per ogni paziente" }, { icon: Heart, text: "Cura e attenzione per ogni paziente" },
{ icon: Award, text: "Dir. San. Dott. Paolo Parmeggiani — Master in Oncologia Veterinaria" }, { icon: Award, text: "Dir. San. Dott. Paolo Parmeggiani - Master in Oncologia Veterinaria" },
{ icon: CheckCircle2, text: "Autorizzazione sanitaria n. 43560 del 30/12/2024" }, { icon: CheckCircle2, text: "Autorizzazione sanitaria n. 43560 del 30/12/2024" },
]; ];
@@ -22,7 +22,6 @@ export default function AboutSection() {
<section id="chi-siamo" className="py-20 md:py-28 bg-white overflow-hidden"> <section id="chi-siamo" className="py-20 md:py-28 bg-white overflow-hidden">
<div className="container"> <div className="container">
<div className="grid grid-cols-1 lg:grid-cols-2 gap-16 items-center"> <div className="grid grid-cols-1 lg:grid-cols-2 gap-16 items-center">
{/* Colonna testo */}
<motion.div <motion.div
ref={ref} ref={ref}
initial={{ opacity: 0, x: -40 }} initial={{ opacity: 0, x: -40 }}
@@ -46,22 +45,21 @@ export default function AboutSection() {
}} }}
> >
Una clinica veterinaria{" "} Una clinica veterinaria{" "}
<span className="italic">al servizio della vita</span> <span className="italic">per la salute e il benessere animale</span>
</h2> </h2>
<p className="text-gray-600 leading-relaxed mb-4 text-base"> <p className="text-gray-600 leading-relaxed mb-4 text-base">
La Clinica Veterinaria Formiginese è un punto di riferimento per la cura degli animali La Clinica Veterinaria Formiginese è un punto di riferimento per la cura degli animali
domestici nel territorio di Formigine e della provincia di Modena. Fondata con la domestici nel territorio di Formigine e della provincia di Modena. Fondata con la
missione di offrire cure veterinarie di eccellenza, la nostra struttura riunisce missione di offrire cure veterinarie di eccellenza, la nostra struttura riunisce
sei professionisti specializzati, ciascuno con competenze specifiche. professionisti specializzati, ciascuno con competenze specifiche.
</p> </p>
<p className="text-gray-600 leading-relaxed mb-8 text-base"> <p className="text-gray-600 leading-relaxed mb-8 text-base">
Crediamo che ogni animale meriti la migliore assistenza medica possibile. Per questo Crediamo che ogni animale meriti la migliore assistenza medica possibile. Per questo
investiamo continuamente in formazione, tecnologia e in un ambiente clinico che metta investiamo continuamente in formazione, tecnologia e in un ambiente clinico che metta
a proprio agio sia i pazienti che i loro proprietari. a proprio agio sia i pazienti che i loro proprietari.
</p> </p>
{/* Valori */}
<div className="space-y-4 mb-8"> <div className="space-y-4 mb-8">
{values.map((item) => ( {values.map((item) => (
<div key={item.text} className="flex items-start gap-3"> <div key={item.text} className="flex items-start gap-3">
@@ -73,39 +71,40 @@ export default function AboutSection() {
))} ))}
</div> </div>
{/* Indirizzo */}
<div className="bg-[#F5F0E8] rounded-xl p-5 border-l-4 border-[#1B4F72]"> <div className="bg-[#F5F0E8] rounded-xl p-5 border-l-4 border-[#1B4F72]">
<p className="text-[#1B4F72] font-semibold text-sm mb-1">Dove siamo</p> <p className="text-[#1B4F72] font-semibold text-sm mb-1">Dove siamo</p>
<p className="text-gray-700 text-sm">Via Quattro Passi, 16 — Formigine (MO)</p> <p className="text-gray-700 text-sm">Via Quattro Passi, 16 - Formigine (MO)</p>
<p className="text-gray-600 text-sm mt-1"> <p className="text-gray-600 text-sm mt-1">
Tel: <a href="tel:0598396263" className="text-[#4ECDC4] font-semibold hover:underline">059 839.62.63</a> Tel:{" "}
<a href="tel:0598396263" className="text-[#4ECDC4] font-semibold hover:underline">
059 839.62.63
</a>
{" "}·{" "} {" "}·{" "}
<a href="mailto:clinicaveterinariaformiginese@gmail.com" className="text-[#4ECDC4] font-semibold hover:underline text-xs"> <a
href="mailto:clinicaveterinariaformiginese@gmail.com"
className="text-[#4ECDC4] font-semibold hover:underline text-xs"
>
clinicaveterinariaformiginese@gmail.com clinicaveterinariaformiginese@gmail.com
</a> </a>
</p> </p>
</div> </div>
</motion.div> </motion.div>
{/* Colonna immagine */}
<motion.div <motion.div
initial={{ opacity: 0, x: 40 }} initial={{ opacity: 0, x: 40 }}
animate={isInView ? { opacity: 1, x: 0 } : {}} animate={isInView ? { opacity: 1, x: 0 } : {}}
transition={{ duration: 0.8, delay: 0.2 }} transition={{ duration: 0.8, delay: 0.2 }}
className="relative" className="relative"
> >
{/* Immagine principale */}
<div className="relative rounded-2xl overflow-hidden shadow-2xl"> <div className="relative rounded-2xl overflow-hidden shadow-2xl">
<img <img
src="/images/hero_dog_cat.jpg" src="/images/hero_dog_cat.jpg"
alt="Cane e gatto insieme — la nostra missione" alt="Cane e gatto insieme - la nostra missione"
className="w-full h-[480px] object-cover" className="w-full h-[480px] object-cover"
/> />
{/* Overlay leggero */}
<div className="absolute inset-0 bg-gradient-to-t from-[#1B4F72]/30 to-transparent" /> <div className="absolute inset-0 bg-gradient-to-t from-[#1B4F72]/30 to-transparent" />
</div> </div>
{/* Decorazione */}
<div className="absolute -top-4 -right-4 w-24 h-24 rounded-full bg-[#4ECDC4]/10 -z-10" /> <div className="absolute -top-4 -right-4 w-24 h-24 rounded-full bg-[#4ECDC4]/10 -z-10" />
<div className="absolute -bottom-8 right-8 w-16 h-16 rounded-full bg-[#1B4F72]/10 -z-10" /> <div className="absolute -bottom-8 right-8 w-16 h-16 rounded-full bg-[#1B4F72]/10 -z-10" />
</motion.div> </motion.div>

View File

@@ -15,12 +15,12 @@ const benefits = [
"Promemoria vaccinazioni automatici", "Promemoria vaccinazioni automatici",
"Prenotazioni online prioritarie", "Prenotazioni online prioritarie",
"Comunicazioni dirette con il veterinario", "Comunicazioni dirette con il veterinario",
"Gestione di piu animali domestici", "Gestione di più animali domestici",
]; ];
function showActivationToast() { function showActivationToast() {
toast.info("Servizio in corso di attivazione", { toast.info("Servizio in corso di attivazione", {
description: "L'area riservata sara disponibile a breve.", description: "L'area riservata sarà disponibile a breve.",
}); });
} }

View File

@@ -3,7 +3,7 @@
* Footer scuro con informazioni di contatto, link utili e disclaimer legale * Footer scuro con informazioni di contatto, link utili e disclaimer legale
* Sfondo blu petrolio scuro, testo bianco/grigio chiaro * Sfondo blu petrolio scuro, testo bianco/grigio chiaro
*/ */
import { MapPin, Phone, Mail, Facebook, Clock, ArrowRight } from "lucide-react"; import { MapPin, Phone, Mail, Clock, ArrowRight } from "lucide-react";
const quickLinks = [ const quickLinks = [
{ label: "Chi Siamo", href: "/#chi-siamo" }, { label: "Chi Siamo", href: "/#chi-siamo" },
@@ -18,38 +18,8 @@ const quickLinks = [
export default function Footer() { export default function Footer() {
return ( return (
<footer id="contatti" className="bg-[#0d2b3e] text-white"> <footer id="contatti" className="bg-[#0d2b3e] text-white">
{/* 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
<div className="lg:col-span-1">
<div className="mb-4">
<div
className="font-bold text-white leading-tight"
style={{ fontFamily: "'Cormorant Garamond', serif", fontSize: "1rem" }}
>
Clinica Veterinaria
</div>
<div className="text-[#4ECDC4] text-xs font-semibold tracking-widest uppercase">
Formiginese
</div>
</div>
<p className="text-white/60 text-sm leading-relaxed mb-4">
Cura specialistica per cani e gatti a Formigine.
Un team di professionisti al servizio della salute dei tuoi animali.
</p>
<a
href="https://it-it.facebook.com/clinicaveterinariaformiginese/"
target="_blank"
rel="noopener noreferrer"
className="inline-flex items-center gap-2 text-[#4ECDC4] hover:text-white transition-colors text-sm"
>
<Facebook size={16} />
Seguici su Facebook
</a>
</div>*/}
{/* Link rapidi */}
<div> <div>
<h4 <h4
className="text-white font-semibold mb-4 text-sm uppercase tracking-widest" className="text-white font-semibold mb-4 text-sm uppercase tracking-widest"
@@ -64,7 +34,10 @@ export default function Footer() {
href={link.href} href={link.href}
className="text-white/60 hover:text-[#4ECDC4] transition-colors text-sm flex items-center gap-1.5 group" className="text-white/60 hover:text-[#4ECDC4] transition-colors text-sm flex items-center gap-1.5 group"
> >
<ArrowRight size={12} className="opacity-0 group-hover:opacity-100 transition-opacity -ml-4 group-hover:ml-0 duration-200" /> <ArrowRight
size={12}
className="opacity-0 group-hover:opacity-100 transition-opacity -ml-4 group-hover:ml-0 duration-200"
/>
{link.label} {link.label}
</a> </a>
</li> </li>
@@ -72,7 +45,6 @@ export default function Footer() {
</ul> </ul>
</div> </div>
{/* Contatti */}
<div> <div>
<h4 <h4
className="text-white font-semibold mb-4 text-sm uppercase tracking-widest" className="text-white font-semibold mb-4 text-sm uppercase tracking-widest"
@@ -91,7 +63,10 @@ export default function Footer() {
<div className="flex items-center gap-3"> <div className="flex items-center gap-3">
<Phone size={15} className="text-[#4ECDC4] flex-shrink-0" /> <Phone size={15} className="text-[#4ECDC4] flex-shrink-0" />
<div> <div>
<a href="tel:0598396263" className="text-white/80 text-sm hover:text-[#4ECDC4] transition-colors"> <a
href="tel:0598396263"
className="text-white/80 text-sm hover:text-[#4ECDC4] transition-colors"
>
059 839.62.63 059 839.62.63
</a> </a>
<p className="text-white/60 text-xs">Urgenze: 320 532.24.39</p> <p className="text-white/60 text-xs">Urgenze: 320 532.24.39</p>
@@ -109,7 +84,6 @@ export default function Footer() {
</div> </div>
</div> </div>
{/* Orari */}
<div> <div>
<h4 <h4
className="text-white font-semibold mb-4 text-sm uppercase tracking-widest" className="text-white font-semibold mb-4 text-sm uppercase tracking-widest"
@@ -119,11 +93,10 @@ export default function Footer() {
</h4> </h4>
<div className="space-y-2"> <div className="space-y-2">
{[ {[
{ days: "Visite: Lunedì — Venerdì", hours: "09:00 — 19:30" }, { days: "Visite: Lunedì - Venerdì", hours: "09:00 - 19:30" },
{ days: "Visite: Sabato", hours: "09:00 — 17:00" }, { days: "Visite: Sabato", hours: "09:00 - 17:00" },
{ days: "Urgenze: Lunedì — Venerdì", hours: "08:00 — 22:30" }, { days: "Urgenze: Lunedì - Venerdì", hours: "08:00 - 22:30" },
{ days: "Urgenze: Sabato e Festivi", hours: "09:00 — 20:00" }, { 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" />
@@ -134,21 +107,17 @@ export default function Footer() {
</div> </div>
))} ))}
</div> </div>
{/* Badge reperibilità */}
</div> </div>
</div> </div>
</div> </div>
{/* Bottom bar */}
<div className="border-t border-white/10"> <div className="border-t border-white/10">
<div className="container py-6"> <div className="container py-6">
<div className="flex flex-col md:flex-row justify-between items-center gap-4 text-xs text-white/40"> <div className="flex flex-col md:flex-row justify-between items-center gap-4 text-xs text-white/40">
<div className="text-center md:text-left"> <div className="text-center md:text-left">
<p>© 2026 Clinica Veterinaria Formiginese — Tutti i diritti riservati</p> <p>© 2026 Clinica Veterinaria Formiginese - Tutti i diritti riservati</p>
<p className="mt-1"> <p className="mt-1">
Dir. San. Dott. Paolo Parmeggiani (n. 715 MO) — Master in Oncologia Veterinaria · Dir. San. Dott. Paolo Parmeggiani (n. 715 MO) - Master in Oncologia Veterinaria ·
Autorizzazione n. 43560 del 30/12/2024 Autorizzazione n. 43560 del 30/12/2024
</p> </p>
</div> </div>
@@ -165,9 +134,9 @@ export default function Footer() {
</div> </div>
</div> </div>
<p className="text-white/25 text-xs mt-3 text-center md:text-left"> <p className="text-white/25 text-xs mt-3 text-center md:text-left">
Il messaggio informativo di questo sito è diramato nel rispetto delle norme vigenti ed in conformità alle Il messaggio informativo di questo sito è diramato nel rispetto delle norme vigenti ed
direttive del codice deontologico. L'attivazione del sito è stata comunicata all'Ordine Provinciale dei in conformità alle direttive del codice deontologico. L'attivazione del sito è stata
Veterinari della Provincia di Modena. comunicata all'Ordine Provinciale dei Veterinari della Provincia di Modena.
</p> </p>
</div> </div>
</div> </div>

View File

@@ -49,9 +49,9 @@ const heroImages = [
]; ];
const openingHours = [ const openingHours = [
{ days: "Visite: Lunedi - Venerdi", hours: "09:00 - 19:30" }, { days: "Visite: Lunedì - Venerdì", hours: "09:00 - 19:30" },
{ days: "Visite: Sabato", hours: "09:00 - 17:00" }, { days: "Visite: Sabato", hours: "09:00 - 17:00" },
{ days: "Urgenze: Lunedi - Venerdi", hours: "08:00 - 22:30" }, { days: "Urgenze: Lunedì - Venerdì", hours: "08:00 - 22:30" },
{ days: "Urgenze: Sabato e Festivi", hours: "09:00 - 20:00" }, { days: "Urgenze: Sabato e Festivi", hours: "09:00 - 20:00" },
]; ];

View File

@@ -57,7 +57,7 @@ export default function Navbar() {
const showActivationToast = () => { const showActivationToast = () => {
toast.info("Servizio in corso di attivazione", { toast.info("Servizio in corso di attivazione", {
description: "L'area riservata sara disponibile a breve.", description: "L'area riservata sarà disponibile a breve.",
}); });
}; };
@@ -79,7 +79,7 @@ export default function Navbar() {
</span> </span>
<span className="flex items-center gap-1.5"> <span className="flex items-center gap-1.5">
<Phone size={13} className="text-[#4ECDC4]" /> <Phone size={13} className="text-[#4ECDC4]" />
059 839.62.63 &nbsp;|&nbsp; 320 532.24.39 (urgenze 24h) 059 839.62.63 &nbsp;|&nbsp; 320 532.24.39 (urgenze)
</span> </span>
</div> </div>

View File

@@ -94,7 +94,7 @@ const clinicalServices: ServiceItem[] = [
title: "Laparoscopia", title: "Laparoscopia",
subtitle: "Chirurgia mini-invasiva", subtitle: "Chirurgia mini-invasiva",
description: description:
"Procedure mini-invasive con incisioni ridotte, recuperi piu confortevoli e maggiore delicatezza nei passaggi operatori.", "Procedure mini-invasive con incisioni ridotte, recuperi più confortevoli e maggiore delicatezza nei passaggi operatori.",
image: "/images/services_laparoscopia.jpg", image: "/images/services_laparoscopia.jpg",
icon: Activity, icon: Activity,
color: "#2E86AB", color: "#2E86AB",
@@ -107,7 +107,7 @@ const cardiologyService: ServiceItem = {
title: "Cardiologia", title: "Cardiologia",
subtitle: "Diagnostica cardiaca", subtitle: "Diagnostica cardiaca",
description: description:
"Approfondimenti dedicati alla funzionalita cardiaca con esami mirati e monitoraggi utili nei percorsi diagnostici piu delicati.", "Approfondimenti dedicati alla funzionalità cardiaca con esami mirati e monitoraggi utili nei percorsi diagnostici più delicati.",
image: "/images/services_cardiologia.jpg", image: "/images/services_cardiologia.jpg",
icon: HeartPulse, icon: HeartPulse,
color: "#8C5A7A", color: "#8C5A7A",