Code

app/page.tsx
1import TiltHeadline from "@/app/components/tilt-headline";
2import { Merge } from 'lucide-react';
3
4const TiltHeadlinePage = () => {
5 return (
6 <div className=" w-full h-screen flex items-center justify-center bg-[#FFEF9A]/50">
7 <TiltHeadline badgeIcon={Merge} badgeText="Beta" href="/" mainText="Get Early Access Now" />
8 </div>
9 );
10}
11
12export default TiltHeadlinePage;
Installation
Initialized a project and installed the necessary dependencies to use this component.
1. Initialize a new Next.js project:

npx create-next-app@latest my-app
Add Tilt Headline Component

src/components/tilt-headline.tsx
1import { ArrowRight, LucideIcon } from "lucide-react";
2
3interface TiltHeadlineProps {
4 badgeText: string;
5 badgeIcon: LucideIcon;
6 mainText: string;
7 href: string;
8}
9
10const TiltHeadline: React.FC<TiltHeadlineProps> = ({
11 badgeText,
12 badgeIcon: BadgeIcon,
13 mainText,
14 href
15}) => {
16 return (
17 <div className="mb-1.5 w-fit rounded-full bg-gray-950">
18 <a
19 href={href}
20 rel="nofollow"
21 className="flex font-satoshi origin-top-left items-center rounded-full border border-black/90 bg-white p-[4px] transition-transform hover:-rotate-1"
22 >
23 <span className="rounded-full flex items-center gap-1.5 bg-[#FFDF3A] pl-3 pr-4 py-1 font-medium text-lg text-foregound">
24 <BadgeIcon size={20} />
25 {badgeText}
26 </span>
27 <span className="ml-1.5 mr-2 inline-block font-medium text-lg text-black">
28 {mainText}
29 </span>
30 <ArrowRight size={20} className="mr-2 inline-block" />
31 </a>
32 </div>
33 );
34};
35
36export default TiltHeadline;