This commit is contained in:
2026-04-09 13:37:43 +01:00
parent ebff50e25b
commit 1baabc88b9
+51 -8
View File
@@ -193,6 +193,7 @@ const negocios = [
title: "Banca nacional regista crescimento de 15% no crédito à produção", title: "Banca nacional regista crescimento de 15% no crédito à produção",
description: "Novas medidas de estímulo económico impulsionam o setor agrícola e industrial neste trimestre.", description: "Novas medidas de estímulo económico impulsionam o setor agrícola e industrial neste trimestre.",
readTime: "5", readTime: "5",
publishDate: "08 ABR 2026",
img: "https://images.unsplash.com/photo-1460925895917-afdab827c52f?q=80&w=800&auto=format&fit=crop", img: "https://images.unsplash.com/photo-1460925895917-afdab827c52f?q=80&w=800&auto=format&fit=crop",
}, },
{ {
@@ -200,6 +201,7 @@ const negocios = [
title: "Hub tecnológico em Luanda atrai investidores estrangeiros", title: "Hub tecnológico em Luanda atrai investidores estrangeiros",
description: "Empresas de capital de risco olham para o ecossistema de startups angolano com novo otimismo.", description: "Empresas de capital de risco olham para o ecossistema de startups angolano com novo otimismo.",
readTime: "4", readTime: "4",
publishDate: "08 ABR 2026",
img: "https://images.unsplash.com/photo-1559136555-9303baea8ebd?q=80&w=800&auto=format&fit=crop", img: "https://images.unsplash.com/photo-1559136555-9303baea8ebd?q=80&w=800&auto=format&fit=crop",
}, },
{ {
@@ -207,6 +209,7 @@ const negocios = [
title: "Preço das commodities: O impacto direto na inflação local", title: "Preço das commodities: O impacto direto na inflação local",
description: "Análise profunda sobre como a volatilidade externa está a moldar os preços no consumidor final.", description: "Análise profunda sobre como a volatilidade externa está a moldar os preços no consumidor final.",
readTime: "7", readTime: "7",
publishDate: "08 ABR 2026",
img: "https://images.unsplash.com/photo-1590283603385-17ffb3a7f29f?q=80&w=800&auto=format&fit=crop", img: "https://images.unsplash.com/photo-1590283603385-17ffb3a7f29f?q=80&w=800&auto=format&fit=crop",
}, },
]; ];
@@ -235,6 +238,30 @@ const editorChoice = [
publishDate: "08 ABR 2026", publishDate: "08 ABR 2026",
img: "https://images.unsplash.com/photo-1504674900247-0877df9cc836?q=80&w=800&auto=format&fit=crop", img: "https://images.unsplash.com/photo-1504674900247-0877df9cc836?q=80&w=800&auto=format&fit=crop",
}, },
{
category: "Exclusivo",
title: "O renascimento da arquitetura moderna em Luanda: Equilíbrio entre história e inovação",
description: "Um olhar detalhado sobre como os novos projetos urbanos estão a redefinir a linha do horizonte da capital.",
readTime: "8",
publishDate: "09 ABR 2026", // Data fixa para artigos de fundo
img: "https://images.unsplash.com/photo-1486406146926-c627a92ad1ab?q=80&w=800&auto=format&fit=crop",
},
{
category: "Cultura",
title: "Documentário premiado explora as raízes rítmicas do interior de Angola",
description: "A jornada cinematográfica que capturou sons ancestrais antes que desaparecessem no tempo.",
readTime: "6",
publishDate: "Há 3 horas", // Tempo relativo para notícias quentes
img: "https://images.unsplash.com/photo-1516280440614-37939bbacd81?q=80&w=800&auto=format&fit=crop",
},
{
category: "Estilo de Vida",
title: "Gastronomia sustentável: O novo movimento que está a conquistar os chefs locais",
description: "Como a utilização de produtos sazonais e produtores regionais está a mudar o menu dos melhores restaurantes.",
readTime: "5",
publishDate: "08 ABR 2026",
img: "https://images.unsplash.com/photo-1504674900247-0877df9cc836?q=80&w=800&auto=format&fit=crop",
},
]; ];
export function TvoneEntrevistas() { export function TvoneEntrevistas() {
return ( return (
@@ -337,9 +364,16 @@ export function TvoneNegocios() {
</div> </div>
<div className="px-1"> <div className="px-1">
<span className="text-[10px] font-bold uppercase tracking-wider text-blue-600"> <div className="flex items-center gap-3">
{item.category} <span className="text-[10px] font-bold uppercase tracking-wider text-blue-600">
</span> {item.category}
</span>
<span className="h-1 w-1 rounded-full bg-neutral-300" />
{/* Data de Publicação em destaque suave */}
<span className="text-[10px] font-semibold text-neutral-500 uppercase tracking-tight">
{item.publishDate}
</span>
</div>
<h3 className="mt-3 text-xl font-bold leading-snug text-neutral-900 transition-colors group-hover:text-[#0066CC]"> <h3 className="mt-3 text-xl font-bold leading-snug text-neutral-900 transition-colors group-hover:text-[#0066CC]">
{item.title} {item.title}
@@ -350,9 +384,11 @@ export function TvoneNegocios() {
</p> </p>
<div className="mt-5 flex items-center gap-2 border-t border-neutral-50 pt-4"> <div className="mt-5 flex items-center gap-2 border-t border-neutral-50 pt-4">
<div className="h-1 w-1 rounded-full bg-blue-600/40" /> <svg className="h-3.5 w-3.5 text-neutral-400" fill="none" viewBox="0 0 24 24" stroke="currentColor">
<path strokeLinecap="round" strokeLinejoin="round" strokeWidth={2} d="M12 8v4l3 3m6-3a9 9 0 11-18 0 9 9 0 0118 0z" />
</svg>
<span className="text-[10px] font-bold uppercase text-neutral-400"> <span className="text-[10px] font-bold uppercase text-neutral-400">
{item.readTime} min de leitura {item.readTime} min de leitura
</span> </span>
</div> </div>
</div> </div>
@@ -387,9 +423,17 @@ export function TvoneEscolhaEditor() {
</Link> </Link>
</div> </div>
<div className="grid gap-10 lg:grid-cols-3"> {/* CONTAINER DE SCROLL:
- flex e overflow-x-auto no mobile
- md:grid no desktop
- snap-x para efeito de 'imã' ao scrollar
*/}
<div className="no-scrollbar -mx-4 flex snap-x snap-mandatory overflow-x-auto px-4 gap-6 md:mx-0 md:grid md:grid-cols-3 md:overflow-x-visible md:gap-10">
{editorChoice.map((item, index) => ( {editorChoice.map((item, index) => (
<article key={index} className="group flex flex-col gap-5"> <article
key={index}
className="min-w-[85vw] snap-start flex flex-col gap-5 sm:min-w-[50vw] md:min-w-full"
>
<div className="relative aspect-video overflow-hidden rounded-[24px] bg-neutral-100 shadow-sm transition-all duration-500 group-hover:shadow-md"> <div className="relative aspect-video overflow-hidden rounded-[24px] bg-neutral-100 shadow-sm transition-all duration-500 group-hover:shadow-md">
<Image <Image
src={item.img} src={item.img}
@@ -405,7 +449,6 @@ export function TvoneEscolhaEditor() {
{item.category} {item.category}
</span> </span>
<span className="h-1 w-1 rounded-full bg-neutral-300" /> <span className="h-1 w-1 rounded-full bg-neutral-300" />
{/* Data de Publicação em destaque suave */}
<span className="text-[10px] font-semibold text-neutral-500 uppercase tracking-tight"> <span className="text-[10px] font-semibold text-neutral-500 uppercase tracking-tight">
{item.publishDate} {item.publishDate}
</span> </span>