Logo.Ai / app /_components /hero-header.tsx
enzostvs's picture
enzostvs HF staff
responsive
93233eb
raw
history blame
No virus
2.29 kB
"use client";
import classNames from "classnames";
import { useState } from "react";
import { useInterval } from "react-use";
export const HeroHeader = () => {
const [selectedWord, setSelectedWord] = useState("Think.");
useInterval(() => {
setSelectedWord((prev) => {
switch (prev) {
case "Think.":
return "Customize.";
case "Customize.":
return "Generate.";
case "Generate.":
return "Think.";
default:
return "Think.";
}
});
}, 2000);
return (
<header className="py-14 lg:py-20 grid grid-cols-1 gap-5">
<h1 className="text-4xl lg:text-5xl font-semibold text-[#aaaaaa] max-w-max mx-auto text-center">
<span
className={classNames("transition-all duration-300 text-opacity-0", {
"text-white !text-opacity-100": selectedWord === "Think.",
})}
>
Think.
</span>{" "}
<span
className={classNames("transition-all duration-300 text-opacity-0", {
"text-white !text-opacity-100": selectedWord === "Customize.",
})}
>
Customize.
</span>{" "}
<br />
and{" "}
<span
className={classNames("transition-all duration-300 text-opacity-0", {
"text-white !text-opacity-100": selectedWord === "Generate.",
})}
>
Generate.
</span>
</h1>
<h2 className="text-lg font-light text-center text-[#898989] max-w-sm mx-auto">
An AI powered tool that helps you create a logo for your brand.
</h2>
<div className="max-lg:max-w-xs w-full max-lg:mx-auto max-lg:grid lg:flex lg:items-center lg:justify-center gap-6 mt-3 ">
<a
href="#generation"
className="rounded-full bg-white text-zinc-950 font-medium text-base px-6 py-3 hover:bg-opacity-80 transition-all duration-150 text-center max-lg:w-full"
>
Start generation
</a>
<a
href="#gallery"
className="rounded-full text-zinc-300 bg-zinc-900 font-medium text-base px-6 py-3 hover:bg-opacity-80 transition-all duration-150 text-center max-lg:w-full"
>
View examples
</a>
</div>
</header>
);
};