Merge pull request #1405 from useautumn/cursor/logo-wall-redesign
Redesign logo wall with responsive layout and updated styling
This commit is contained in:
@@ -128,7 +128,7 @@ export default function Hero() {
|
||||
|
||||
return (
|
||||
<div ref={containerRef}>
|
||||
<div className="relative hero-root flex flex-col items-stretch pb-0 md:pb-12 mb-0 bg-[#0F0F0F]">
|
||||
<div className="relative hero-root flex flex-col items-stretch pb-0 mb-0 bg-[#0F0F0F]">
|
||||
<div className="flex justify-between">
|
||||
<div className="flex flex-col gap-6 px-4 xl:px-22.75 py-8 bg-[#0F0F0F] mt-26">
|
||||
<h4 className="hero-reveal lg:opacity-0 relative uppercase font-mono tracking-[-2%] text-[12px] md:text-sm leading-sm text-white md:text-[#FFFFFF99] bg-[#2c2c2d] w-fit p-2 min-h-[30px] md:min-h-[36px] flex items-center">
|
||||
|
||||
@@ -46,15 +46,8 @@ export default function HomeSections() {
|
||||
return (
|
||||
<>
|
||||
<Hero />
|
||||
{/*
|
||||
<div className="flex flex-col gap-2.5 bg-[#000000]">
|
||||
<div className="border-t border-[#292929] w-full" />
|
||||
<div className="border-t border-[#292929] w-full" />
|
||||
<div className="border-t border-[#292929] w-full" />
|
||||
<div className="border-t border-[#292929] w-full" />
|
||||
<div className="border-t border-[#292929] w-full" />
|
||||
</div>
|
||||
<LogoWall /> */}
|
||||
|
||||
<LogoWall />
|
||||
<SectionDivider title="THE PROBLEM" />
|
||||
<LazySection><Problem /></LazySection>
|
||||
<SectionDivider title="THE SOLUTION" />
|
||||
|
||||
@@ -3,70 +3,52 @@
|
||||
import { cn } from "@/lib/utils";
|
||||
|
||||
const LOGOS = [
|
||||
{ id: 1, name: "Mintlify", src: "/images/logos/mintlify_logo.svg.svg" },
|
||||
{ id: 2, name: "Browser Use", src: "/images/logos/Browser use.svg" },
|
||||
{ id: 3, name: "Firecrawl", src: "/images/logos/Firecrawl.svg.svg" },
|
||||
{ id: 4, name: "Mastra", src: "/images/logos/Mastra.svg.svg" },
|
||||
{ id: 5, name: "T3.chat", src: "/images/logos/T3_svg.svg" },
|
||||
{ id: 6, name: "", src: null },
|
||||
{ id: 1, name: "Mintlify", src: "/images/logos/mintlify_logo.svg.svg", className: "scale-90 md:scale-70" },
|
||||
{ id: 3, name: "Firecrawl", src: "/images/logos/Firecrawl.svg.svg", className: "scale-95 md:scale-75 -translate-y-0.5" },
|
||||
{ id: 4, name: "Mastra", src: "/images/logos/Mastra.svg.svg", className: "scale-105 md:scale-95" },
|
||||
{ id: 2, name: "Browser Use", src: "/images/logos/Browser use.svg", className: "scale-85 md:scale-65" },
|
||||
{ id: 5, name: "T3.chat", src: "/images/logos/T3_svg.svg", className: "scale-65 md:scale-55" },
|
||||
];
|
||||
|
||||
const NUM_MOBILE_COLS = 2;
|
||||
const NUM_DESKTOP_COLS = 3;
|
||||
const NUM_MOBILE_COLS = 3;
|
||||
const NUM_DESKTOP_COLS = 5;
|
||||
|
||||
export default function LogoWall() {
|
||||
return (
|
||||
<section className="w-full bg-[#000000]">
|
||||
<div className="flex flex-col md:flex-row">
|
||||
{/* Left heading — full width on mobile, 42% on desktop */}
|
||||
<div className="md:w-[42%] px-4 xl:px-22.75 py-8 md:py-0 flex items-center border-b md:border-b-0 md:border-r border-[#292929]">
|
||||
<div>
|
||||
<p className="font-sans text-[28px] md:text-[36px] xl:text-[40px] font-normal leading-[1.1] tracking-[-0.03em]">
|
||||
<span className="text-[#FFFFFF66]">Trusted by </span>
|
||||
<span className="text-white">AI teams</span>
|
||||
</p>
|
||||
<p className="font-sans text-[28px] md:text-[36px] xl:text-[40px] font-normal leading-[1.1] tracking-[-0.03em] text-white">
|
||||
shipping fast
|
||||
</p>
|
||||
</div>
|
||||
<section className="w-full bg-[#0F0F0F]"
|
||||
style={{
|
||||
backgroundImage:
|
||||
"radial-gradient(circle, rgba(255,255,255,0.06) 1px, transparent 1px)",
|
||||
backgroundSize: "14px 14px",
|
||||
}}>
|
||||
<div className="flex flex-col">
|
||||
<div className="px-4 xl:px-22.75 pt-10.5 flex items-center justify-center">
|
||||
<span className="font-sans text-[14px] font-light text-[#FFFFFF99] tracking-[-2%] leading-5">
|
||||
Powering millions of customers for growing startups
|
||||
</span>
|
||||
</div>
|
||||
|
||||
{/* Logo grid — 2 cols on mobile, 3 cols on desktop */}
|
||||
<div className="flex-1 grid grid-cols-2 md:grid-cols-3">
|
||||
{LOGOS.map((logo, i) => {
|
||||
const isLastMobileCol = (i + 1) % NUM_MOBILE_COLS === 0;
|
||||
const isLastDesktopCol = (i + 1) % NUM_DESKTOP_COLS === 0;
|
||||
const isLastMobileRow = i >= LOGOS.length - NUM_MOBILE_COLS;
|
||||
const isLastDesktopRow = i >= LOGOS.length - NUM_DESKTOP_COLS;
|
||||
|
||||
return (
|
||||
<div
|
||||
key={logo.id}
|
||||
<div className="flex-1 flex flex-wrap justify-center md:grid md:grid-cols-5 px-4 py-4 md:py-0">
|
||||
{LOGOS.map((logo) => (
|
||||
<div
|
||||
key={logo.id}
|
||||
className="flex items-center justify-center min-h-[50px] md:min-h-[100px] border-[#292929] w-1/3 md:w-auto"
|
||||
>
|
||||
{logo.src && (
|
||||
<img
|
||||
src={logo.src}
|
||||
alt={logo.name}
|
||||
className={cn(
|
||||
"flex items-center justify-center min-h-[90px] md:min-h-[166px] border-[#292929]",
|
||||
!isLastMobileCol && "border-r",
|
||||
!isLastMobileRow && "border-b",
|
||||
isLastDesktopCol ? "md:border-r-0" : "md:border-r",
|
||||
isLastDesktopRow ? "md:border-b-0" : "md:border-b",
|
||||
"h-5 md:h-7 w-auto max-w-full object-contain",
|
||||
logo.className
|
||||
)}
|
||||
style={{
|
||||
backgroundImage:
|
||||
"radial-gradient(circle, rgba(255,255,255,0.06) 1px, transparent 1px)",
|
||||
backgroundSize: "14px 14px",
|
||||
}}
|
||||
>
|
||||
{logo.src && (
|
||||
<img
|
||||
src={logo.src}
|
||||
alt={logo.name}
|
||||
className="h-5 md:h-7 w-auto max-w-[110px] md:max-w-[150px] object-contain"
|
||||
loading="lazy"
|
||||
/>
|
||||
)}
|
||||
</div>
|
||||
);
|
||||
})}
|
||||
</div>
|
||||
loading="lazy"
|
||||
/>
|
||||
)}
|
||||
</div>
|
||||
))}
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
);
|
||||
|
||||
File diff suppressed because one or more lines are too long
|
Before Width: | Height: | Size: 30 KiB After Width: | Height: | Size: 21 KiB |
Reference in New Issue
Block a user