Fix: NewsTicker images/links and NewsCard footer button toggle
This commit is contained in:
parent
8058618bbb
commit
a31532cb03
@ -11,6 +11,7 @@ interface NewsCardProps {
|
|||||||
imagenUrl?: string | null;
|
imagenUrl?: string | null;
|
||||||
showCategory?: boolean;
|
showCategory?: boolean;
|
||||||
showFooterDate?: boolean;
|
showFooterDate?: boolean;
|
||||||
|
showFooterButton?: boolean;
|
||||||
footerText?: string;
|
footerText?: string;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -24,6 +25,7 @@ export const NewsCard = ({
|
|||||||
imagenUrl,
|
imagenUrl,
|
||||||
showCategory = false,
|
showCategory = false,
|
||||||
showFooterDate = true,
|
showFooterDate = true,
|
||||||
|
showFooterButton = true,
|
||||||
footerText
|
footerText
|
||||||
}: NewsCardProps) => {
|
}: NewsCardProps) => {
|
||||||
// Formatear fecha
|
// Formatear fecha
|
||||||
@ -75,9 +77,11 @@ export const NewsCard = ({
|
|||||||
footerText || "Ver más"
|
footerText || "Ver más"
|
||||||
)}
|
)}
|
||||||
</span>
|
</span>
|
||||||
<div className="w-8 h-8 rounded-full bg-white/5 flex items-center justify-center border border-white/10 group-hover:bg-cyan-500 group-hover:border-cyan-400 group-hover:text-slate-950 transition-all">
|
{showFooterButton && (
|
||||||
<ArrowUpRight size={16} className="transition-transform group-hover:translate-x-0.5 group-hover:-translate-y-0.5" />
|
<div className="w-8 h-8 rounded-full bg-white/5 flex items-center justify-center border border-white/10 group-hover:bg-cyan-500 group-hover:border-cyan-400 group-hover:text-slate-950 transition-all">
|
||||||
</div>
|
<ArrowUpRight size={16} className="transition-transform group-hover:translate-x-0.5 group-hover:-translate-y-0.5" />
|
||||||
|
</div>
|
||||||
|
)}
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</Link>
|
</Link>
|
||||||
|
|||||||
@ -84,22 +84,18 @@ export default async function NewsTicker() {
|
|||||||
<div className="flex animate-marquee whitespace-nowrap items-center hover:pause hover:[animation-play-state:paused]">
|
<div className="flex animate-marquee whitespace-nowrap items-center hover:pause hover:[animation-play-state:paused]">
|
||||||
{/* Doble render para bucle infinito visual de CSS Marquee */}
|
{/* Doble render para bucle infinito visual de CSS Marquee */}
|
||||||
{[...noticias, ...noticias].map((noticia, idx) => {
|
{[...noticias, ...noticias].map((noticia, idx) => {
|
||||||
let imgUrl = null;
|
|
||||||
if (noticia.imagen_destacada_id) {
|
|
||||||
imgUrl = `${ENDPOINT}/storage/buckets/${noticia.imagen_destacada_id.bucket_id}/files/${noticia.imagen_destacada_id.file_id}/preview?project=${PROJECT_ID}&width=100&height=100&quality=80`;
|
|
||||||
}
|
|
||||||
return (
|
return (
|
||||||
<Link
|
<Link
|
||||||
href={`/post/${noticia.slug}`}
|
href={`/noticia/${noticia.slug}`}
|
||||||
key={idx}
|
key={idx}
|
||||||
className="flex items-center gap-4 mx-8 group cursor-pointer border-r border-cyan-800/50 pr-8"
|
className="flex items-center gap-4 mx-8 group cursor-pointer border-r border-cyan-800/50 pr-8"
|
||||||
>
|
>
|
||||||
{imgUrl && (
|
{noticia.imagenUrl && (
|
||||||
// eslint-disable-next-line @next/next/no-img-element
|
// eslint-disable-next-line @next/next/no-img-element
|
||||||
<img src={imgUrl} alt={noticia.titulo} className="w-10 h-10 object-cover rounded-lg shadow-[0_0_10px_rgba(6,182,212,0.3)] group-hover:scale-110 group-hover:shadow-[0_0_15px_rgba(6,182,212,0.5)] transition-all duration-300 border border-white/10" />
|
<img src={noticia.imagenUrl} alt={noticia.titulo} className="w-10 h-10 object-cover rounded-lg shadow-[0_0_10px_rgba(6,182,212,0.3)] group-hover:scale-110 group-hover:shadow-[0_0_15px_rgba(6,182,212,0.5)] transition-all duration-300 border border-white/10" />
|
||||||
)}
|
)}
|
||||||
<span className="text-sm font-bold text-slate-300 group-hover:text-cyan-400 transition-colors uppercase tracking-widest flex items-center gap-2">
|
<span className="text-sm font-bold text-slate-300 group-hover:text-cyan-400 transition-colors uppercase tracking-widest flex items-center gap-2">
|
||||||
{!imgUrl && <span className="w-2 h-2 rounded-full bg-rose-500 animate-pulse"></span>}
|
{!noticia.imagenUrl && <span className="w-2 h-2 rounded-full bg-rose-500 animate-pulse"></span>}
|
||||||
{noticia.titulo.length > 55 ? noticia.titulo.substring(0, 55) + '...' : noticia.titulo}
|
{noticia.titulo.length > 55 ? noticia.titulo.substring(0, 55) + '...' : noticia.titulo}
|
||||||
</span>
|
</span>
|
||||||
</Link>
|
</Link>
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user