mirror of
https://github.com/PeterMaquiran/tvone.git
synced 2026-04-18 15:27:52 +00:00
@@ -6,61 +6,136 @@ const PROMO_IMG_LEFT =
|
|||||||
const PROMO_IMG_RIGHT =
|
const PROMO_IMG_RIGHT =
|
||||||
"https://images.unsplash.com/photo-1544367567-0f2fcb009e0b?w=800&q=80&auto=format&fit=crop";
|
"https://images.unsplash.com/photo-1544367567-0f2fcb009e0b?w=800&q=80&auto=format&fit=crop";
|
||||||
|
|
||||||
/** Insurance / partner strip — scrolls away with the page (sits under top ads). */
|
function IconFacebook({ className }: { className?: string }) {
|
||||||
|
return (
|
||||||
|
<svg className={className} viewBox="0 0 24 24" fill="currentColor" aria-hidden>
|
||||||
|
<path d="M24 12.073c0-6.627-5.373-12-12-12s-12 5.373-12 12c0 5.99 4.388 10.954 10.125 11.854v-8.385H7.078v-3.47h3.047V9.43c0-3.007 1.792-4.669 4.533-4.669 1.312 0 2.686.235 2.686.235v2.953H15.83c-1.491 0-1.956.925-1.956 1.874v2.25h3.328l-.532 3.47h-2.796v8.385C19.612 23.027 24 18.062 24 12.073z" />
|
||||||
|
</svg>
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
function IconLinkedIn({ className }: { className?: string }) {
|
||||||
|
return (
|
||||||
|
<svg className={className} viewBox="0 0 24 24" fill="currentColor" aria-hidden>
|
||||||
|
<path d="M20.447 20.452h-3.554v-5.569c0-1.328-.027-3.037-1.852-3.037-1.853 0-2.136 1.445-2.136 2.939v5.667H9.351V9h3.414v1.561h.046c.477-.9 1.637-1.85 3.37-1.85 3.601 0 4.267 2.37 4.267 5.455v6.286zM5.337 7.433c-1.144 0-2.063-.926-2.063-2.065 0-1.138.92-2.063 2.063-2.063 1.14 0 2.064.925 2.064 2.063 0 1.139-.925 2.065-2.064 2.065zm1.782 13.019H3.555V9h3.564v11.452zM22.225 0H1.771C.792 0 0 .774 0 1.729v20.542C0 23.227.792 24 1.771 24h20.451C23.2 24 24 23.227 24 22.271V1.729C24 .774 23.2 0 22.222 0h.003z" />
|
||||||
|
</svg>
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
function IconInstagram({ className }: { className?: string }) {
|
||||||
|
return (
|
||||||
|
<svg className={className} viewBox="0 0 24 24" fill="currentColor" aria-hidden>
|
||||||
|
<path d="M12 2.163c3.204 0 3.584.012 4.85.07 3.252.148 4.771 1.691 4.919 4.919.058 1.265.069 1.645.069 4.849 0 3.205-.012 3.584-.069 4.849-.149 3.225-1.664 4.771-4.919 4.919-1.266.058-1.644.07-4.85.07-3.204 0-3.584-.012-4.849-.07-3.26-.149-4.771-1.699-4.919-4.92-.058-1.265-.07-1.644-.07-4.849 0-3.204.013-3.583.07-4.849.149-3.227 1.664-4.771 4.919-4.919 1.266-.057 1.645-.069 4.849-.069zm0-2.163c-3.259 0-3.667.014-4.947.072-4.358.2-6.78 2.618-6.98 6.98-.059 1.281-.073 1.689-.073 4.948 0 3.259.014 3.668.072 4.948.2 4.358 2.618 6.78 6.98 6.98 1.281.058 1.689.072 4.948.072 3.259 0 3.668-.014 4.948-.072 4.354-.2 6.782-2.618 6.979-6.98.059-1.28.073-1.689.073-4.948 0-3.259-.014-3.667-.072-4.947-.196-4.354-2.617-6.78-6.979-6.98-1.281-.059-1.69-.073-4.949-.073zm0 5.838c-3.403 0-6.162 2.759-6.162 6.162s2.759 6.163 6.162 6.163 6.162-2.759 6.162-6.163c0-3.403-2.759-6.162-6.162-6.162zm0 10.162c-2.209 0-4-1.79-4-4 0-2.209 1.791-4 4-4s4 1.791 4 4c0 2.21-1.791 4-4 4zm6.406-11.845c-.796 0-1.441.645-1.441 1.44s.645 1.44 1.441 1.44c.795 0 1.439-.645 1.439-1.44s-.644-1.44-1.439-1.44z" />
|
||||||
|
</svg>
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
/** Insurance / partner strip — scrolls with the page. */
|
||||||
export function TvonePromoStrip() {
|
export function TvonePromoStrip() {
|
||||||
return (
|
return (
|
||||||
<div className="relative flex min-h-[148px] w-full overflow-hidden bg-[#9d1f55] text-white sm:min-h-[180px] md:min-h-[204px] lg:min-h-[228px]">
|
<div className="relative flex min-h-[140px] w-full overflow-hidden border-y border-white/10 text-white shadow-[inset_0_1px_0_rgba(255,255,255,0.08)] sm:min-h-[168px] md:min-h-[190px] lg:min-h-[210px]">
|
||||||
<div className="relative w-[22%] min-w-[80px] max-w-[300px] shrink-0 sm:w-[24%] md:w-[26%]">
|
{/* Ambient glow */}
|
||||||
|
<div
|
||||||
|
className="pointer-events-none absolute -left-16 top-1/2 z-[2] h-[min(320px,80vw)] w-[min(320px,80vw)] -translate-y-1/2 rounded-full bg-fuchsia-500/35 blur-[64px]"
|
||||||
|
aria-hidden
|
||||||
|
/>
|
||||||
|
<div
|
||||||
|
className="pointer-events-none absolute -right-20 top-1/2 z-[2] h-[min(280px,70vw)] w-[min(280px,70vw)] -translate-y-1/2 rounded-full bg-rose-400/30 blur-[56px]"
|
||||||
|
aria-hidden
|
||||||
|
/>
|
||||||
|
<div
|
||||||
|
className="pointer-events-none absolute left-1/2 top-0 z-[2] h-24 w-[80%] max-w-[480px] -translate-x-1/2 bg-gradient-to-b from-white/20 to-transparent opacity-50 blur-2xl"
|
||||||
|
aria-hidden
|
||||||
|
/>
|
||||||
|
|
||||||
|
<div className="group relative w-[20%] min-w-[72px] max-w-[280px] shrink-0 sm:w-[22%] md:w-[24%]">
|
||||||
<Image
|
<Image
|
||||||
src={PROMO_IMG_LEFT}
|
src={PROMO_IMG_LEFT}
|
||||||
alt="Mulher em atividade ao ar livre"
|
alt="Mulher em atividade ao ar livre"
|
||||||
fill
|
fill
|
||||||
className="object-cover object-[center_28%]"
|
className="object-cover object-[center_28%] transition duration-[1.2s] ease-out group-hover:scale-[1.04]"
|
||||||
sizes="(max-width: 640px) 28vw, 300px"
|
sizes="(max-width: 640px) 28vw, 280px"
|
||||||
priority
|
priority
|
||||||
/>
|
/>
|
||||||
<div
|
<div
|
||||||
className="absolute inset-0 bg-gradient-to-r from-black/35 from-[8%] via-[#b8326a]/88 via-[55%] to-[#b8326a]"
|
className="absolute inset-0 bg-gradient-to-r from-black/35 from-[5%] via-[#b8326a]/75 via-[55%] to-transparent"
|
||||||
aria-hidden
|
aria-hidden
|
||||||
/>
|
/>
|
||||||
|
<div className="absolute inset-y-0 right-0 w-12 bg-gradient-to-l from-[#c2187a]/90 to-transparent sm:w-16" aria-hidden />
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div className="relative z-[1] flex min-w-0 flex-1 flex-col justify-center gap-3 bg-gradient-to-r from-[#b8326a] via-[#d9468f] to-[#b8326a] px-4 py-6 sm:flex-row sm:items-center sm:justify-between sm:gap-6 sm:px-7 sm:py-7 md:gap-10 md:px-9 md:py-8 lg:px-10">
|
<div className="relative z-[3] flex min-w-0 flex-1 flex-col justify-center gap-3 bg-gradient-to-br from-[#a31459] via-[#d9468f] to-[#9d1f55] px-4 py-5 sm:flex-row sm:items-center sm:justify-between sm:gap-4 sm:px-6 sm:py-6 md:gap-8 md:px-10 md:py-7 lg:px-12">
|
||||||
<div className="flex min-w-0 flex-col gap-2 sm:flex-row sm:items-center sm:gap-5 md:gap-9">
|
<div className="absolute inset-0 bg-[radial-gradient(ellipse_80%_100%_at_50%_-20%,rgba(255,255,255,0.18),transparent_55%)]" aria-hidden />
|
||||||
<span className="shrink-0 text-[11px] font-semibold uppercase tracking-[0.2em] text-white/95 sm:text-xs">
|
<div className="flex min-w-0 flex-col gap-3 sm:max-w-[min(100%,42rem)]">
|
||||||
|
<span className="inline-flex w-fit items-center gap-2 rounded-full border border-white/25 bg-white/10 px-3 py-1.5 text-[10px] font-bold uppercase tracking-[0.22em] text-white shadow-sm backdrop-blur-md sm:text-[11px]">
|
||||||
|
<span className="relative flex h-2 w-2">
|
||||||
|
<span className="absolute inline-flex h-full w-full animate-ping rounded-full bg-emerald-400/80" />
|
||||||
|
<span className="relative inline-flex h-2 w-2 rounded-full bg-emerald-400 shadow-[0_0_10px_rgba(52,211,153,0.9)]" />
|
||||||
|
</span>
|
||||||
Nossa Seguros
|
Nossa Seguros
|
||||||
</span>
|
</span>
|
||||||
<p className="text-pretty text-sm font-medium leading-relaxed text-white sm:text-base md:text-lg lg:max-w-[40rem] lg:leading-relaxed">
|
<p className="relative text-pretty text-[15px] font-medium leading-snug text-white/95 sm:text-base md:text-lg md:leading-relaxed">
|
||||||
Seguro Saúde Mulher — cuidado que acompanha o seu ritmo.
|
<span className="bg-gradient-to-r from-white via-white to-white/85 bg-clip-text font-semibold text-transparent">
|
||||||
|
Seguro Saúde Mulher
|
||||||
|
</span>
|
||||||
|
<span className="text-white/90"> — cuidado que acompanha o seu ritmo.</span>
|
||||||
</p>
|
</p>
|
||||||
|
<Link
|
||||||
|
href="#"
|
||||||
|
className="group/cta relative mt-1 inline-flex w-fit items-center gap-2 rounded-full border border-white/30 bg-white/15 px-4 py-2 text-xs font-semibold text-white backdrop-blur-sm transition hover:border-white/50 hover:bg-white/25 sm:text-sm"
|
||||||
|
>
|
||||||
|
Saber mais
|
||||||
|
<span
|
||||||
|
aria-hidden
|
||||||
|
className="text-sm transition-transform group-hover/cta:translate-x-0.5"
|
||||||
|
>
|
||||||
|
→
|
||||||
|
</span>
|
||||||
|
</Link>
|
||||||
</div>
|
</div>
|
||||||
<div className="flex shrink-0 items-center gap-4 text-white/95 sm:pl-2">
|
|
||||||
|
<div className="relative flex shrink-0 items-center gap-2 sm:flex-col sm:items-end sm:gap-3 sm:pl-2 md:flex-row md:items-center md:gap-4">
|
||||||
<span className="sr-only">Redes sociais</span>
|
<span className="sr-only">Redes sociais</span>
|
||||||
<Link href="#" className="text-sm hover:opacity-80" aria-label="Facebook">
|
<div className="flex items-center gap-2 rounded-full border border-white/15 bg-black/10 px-2 py-1.5 backdrop-blur-sm sm:px-3">
|
||||||
f
|
<Link
|
||||||
|
href="#"
|
||||||
|
className="rounded-lg p-1.5 text-white/90 transition hover:bg-white/15 hover:text-white"
|
||||||
|
aria-label="Facebook"
|
||||||
|
>
|
||||||
|
<IconFacebook className="h-4 w-4 sm:h-[18px] sm:w-[18px]" />
|
||||||
</Link>
|
</Link>
|
||||||
<Link href="#" className="text-sm hover:opacity-80" aria-label="LinkedIn">
|
<Link
|
||||||
in
|
href="#"
|
||||||
|
className="rounded-lg p-1.5 text-white/90 transition hover:bg-white/15 hover:text-white"
|
||||||
|
aria-label="LinkedIn"
|
||||||
|
>
|
||||||
|
<IconLinkedIn className="h-4 w-4 sm:h-[18px] sm:w-[18px]" />
|
||||||
</Link>
|
</Link>
|
||||||
<Link href="#" className="text-sm hover:opacity-80" aria-label="Instagram">
|
<Link
|
||||||
◎
|
href="#"
|
||||||
|
className="rounded-lg p-1.5 text-white/90 transition hover:bg-white/15 hover:text-white"
|
||||||
|
aria-label="Instagram"
|
||||||
|
>
|
||||||
|
<IconInstagram className="h-4 w-4 sm:h-[18px] sm:w-[18px]" />
|
||||||
</Link>
|
</Link>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
<div className="relative w-[22%] min-w-[80px] max-w-[300px] shrink-0 sm:w-[24%] md:w-[26%]">
|
<div className="group relative w-[20%] min-w-[72px] max-w-[280px] shrink-0 sm:w-[22%] md:w-[24%]">
|
||||||
<Image
|
<Image
|
||||||
src={PROMO_IMG_RIGHT}
|
src={PROMO_IMG_RIGHT}
|
||||||
alt="Bem-estar e cuidados de saúde"
|
alt="Bem-estar e cuidados de saúde"
|
||||||
fill
|
fill
|
||||||
className="object-cover object-[center_38%]"
|
className="object-cover object-[center_38%] transition duration-[1.2s] ease-out group-hover:scale-[1.04]"
|
||||||
sizes="(max-width: 640px) 28vw, 300px"
|
sizes="(max-width: 640px) 28vw, 280px"
|
||||||
priority
|
priority
|
||||||
/>
|
/>
|
||||||
<div
|
<div
|
||||||
className="absolute inset-0 bg-gradient-to-l from-black/35 from-[8%] via-[#b8326a]/88 via-[55%] to-[#b8326a]"
|
className="absolute inset-0 bg-gradient-to-l from-black/35 from-[5%] via-[#b8326a]/75 via-[55%] to-transparent"
|
||||||
aria-hidden
|
aria-hidden
|
||||||
/>
|
/>
|
||||||
|
<div className="absolute inset-y-0 left-0 w-12 bg-gradient-to-r from-[#c2187a]/90 to-transparent sm:w-16" aria-hidden />
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
);
|
);
|
||||||
|
|||||||
Reference in New Issue
Block a user