footer
This commit is contained in:
parent
4bc30ffc93
commit
faf1e7ec29
1 changed files with 29 additions and 7 deletions
|
|
@ -250,19 +250,41 @@ function LogosSection({ isDark }: { isDark: boolean }) {
|
||||||
const logoFilter = isDark ? 'brightness-0 invert opacity-30' : 'brightness-0 opacity-25'
|
const logoFilter = isDark ? 'brightness-0 invert opacity-30' : 'brightness-0 opacity-25'
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<section className={cn('relative border-t py-8 px-6', border)}>
|
<section className={cn('relative border-t py-8 overflow-hidden', border)}>
|
||||||
<p className={cn('mb-6 text-center text-xs tracking-widest uppercase', text)}>
|
<p className={cn('mb-6 text-center text-xs tracking-widest uppercase px-6', text)}>
|
||||||
Skills
|
Skills
|
||||||
</p>
|
</p>
|
||||||
<div className="mx-auto flex max-w-3xl flex-wrap items-center justify-center gap-8">
|
|
||||||
{LOGOS.map(l => (
|
{/* Marquee track */}
|
||||||
<img key={l.alt} src={l.src} alt={l.alt} className={cn('h-5 w-auto transition-all', logoFilter)} />
|
<div className="relative flex overflow-hidden">
|
||||||
))}
|
<div
|
||||||
|
className="flex gap-12 items-center"
|
||||||
|
style={{
|
||||||
|
animation: 'marquee 20s linear infinite',
|
||||||
|
whiteSpace: 'nowrap',
|
||||||
|
}}
|
||||||
|
>
|
||||||
|
{/* Duplicate logos for seamless loop */}
|
||||||
|
{[...LOGOS, ...LOGOS].map((l, i) => (
|
||||||
|
<img
|
||||||
|
key={i}
|
||||||
|
src={l.src}
|
||||||
|
alt={l.alt}
|
||||||
|
className={cn('h-5 w-auto flex-shrink-0 transition-all', logoFilter)}
|
||||||
|
/>
|
||||||
|
))}
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
<style>{`
|
||||||
|
@keyframes marquee {
|
||||||
|
0% { transform: translateX(0); }
|
||||||
|
100% { transform: translateX(-50%); }
|
||||||
|
}
|
||||||
|
`}</style>
|
||||||
</section>
|
</section>
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|
||||||
// ─── Main export ──────────────────────────────────────────────────────────────
|
// ─── Main export ──────────────────────────────────────────────────────────────
|
||||||
|
|
||||||
interface HeroPageProps {
|
interface HeroPageProps {
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue