Skip to content

Commit ad7d109

Browse files
committed
hero tune up
1 parent 4c9da91 commit ad7d109

File tree

10 files changed

+114
-135
lines changed

10 files changed

+114
-135
lines changed

apps/docs/app/(home)/page.tsx

Lines changed: 2 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
import { CHATGPT_PROMPT_URL } from "@/app/util/constants";
12
import { Footer } from "@/components/footer";
23
import { Description } from "@/components/landing/description";
34
import FAQ from "@/components/landing/faq";
@@ -8,33 +9,7 @@ import Testimonials from "@/components/landing/testimonials";
89
import { TrustedBy } from "@/components/landing/trusted-by";
910
import { StructuredData } from "@/components/structured-data";
1011

11-
// async function getGitHubStars() {
12-
// try {
13-
// const response = await fetch(
14-
// "https://api.github.com/repos/databuddy-analytics",
15-
// {
16-
// headers: {
17-
// Accept: "application/vnd.github.v3+json",
18-
// },
19-
// next: { revalidate: 3600 }, // Cache for 1 hour
20-
// }
21-
// );
22-
23-
// if (!response.ok) {
24-
// throw new Error("Failed to fetch GitHub data");
25-
// }
26-
27-
// const data = await response.json();
28-
// return data.stargazers_count?.toLocaleString() || null;
29-
// } catch (error) {
30-
// console.error("Error fetching GitHub stars:", error);
31-
// return null;
32-
// }
33-
// }
34-
3512
export default function HomePage() {
36-
// const stars = await getGitHubStars();
37-
3813
return (
3914
<>
4015
<StructuredData
@@ -56,7 +31,7 @@ export default function HomePage() {
5631
<div className="flex justify-center">
5732
<a
5833
className="text-muted-foreground text-sm underline underline-offset-4 transition-colors hover:text-foreground"
59-
href="https://chatgpt.com/?hints=search&prompt=Read+these+3+pages%3A%0A%0A-+https%3A%2F%2Fwww.databuddy.cc%0A-+https%3A%2F%2Fwww.databuddy.cc%2Fdocs%0A-+https%3A%2F%2Fwww.databuddy.cc%2Fpricing%0A%0AThen+explain+in+simple+terms+what+this+app+does%2C+and+why+i+should+care"
34+
href={CHATGPT_PROMPT_URL}
6035
rel="noopener noreferrer"
6136
target="_blank"
6237
>

apps/docs/app/util/constants.ts

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1 +1,4 @@
11
export const SITE_URL = "https://www.databuddy.cc";
2+
3+
export const CHATGPT_PROMPT_URL =
4+
"https://chatgpt.com/?hints=search&prompt=Read+these+3+pages%3A%0A%0A-+https%3A%2F%2Fwww.databuddy.cc%0A-+https%3A%2F%2Fwww.databuddy.cc%2Fdocs%0A-+https%3A%2F%2Fwww.databuddy.cc%2Fpricing%0A%0AThen+explain+in+simple+terms+what+this+app+does%2C+and+why+i+should+care";

apps/docs/components/footer.tsx

Lines changed: 9 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
11
"use client";
22

3-
import { getTrackingParams } from "@databuddy/sdk";
43
import Link from "next/link";
54
import { FaDiscord, FaGithub, FaXTwitter } from "react-icons/fa6";
65
import { IoMdMail } from "react-icons/io";
@@ -9,17 +8,6 @@ import { Wordmark } from "./landing/wordmark";
98
import { LogoContent } from "./logo";
109

1110
export function Footer() {
12-
const handleGetStarted = () => {
13-
if (typeof window === "undefined") return;
14-
15-
const trackingParams = getTrackingParams();
16-
const url = trackingParams
17-
? `https://app.databuddy.cc/login?${trackingParams}`
18-
: "https://app.databuddy.cc/login";
19-
20-
window.open(url, "_blank", "noopener,noreferrer");
21-
};
22-
2311
return (
2412
<footer className="border-border border-t bg-background/95 backdrop-blur supports-[backdrop-filter]:bg-background/60">
2513
<div className="mx-auto max-w-7xl px-4 pt-10 sm:px-6 lg:px-8">
@@ -29,7 +17,15 @@ export function Footer() {
2917
You're just one click away.
3018
</h2>
3119
<div>
32-
<SciFiButton onClick={handleGetStarted}>GET STARTED</SciFiButton>
20+
<SciFiButton asChild>
21+
<a
22+
href="https://app.databuddy.cc/login"
23+
rel="noopener noreferrer"
24+
target="_blank"
25+
>
26+
GET STARTED
27+
</a>
28+
</SciFiButton>
3329
</div>
3430
</div>
3531

Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
import type { SVGProps } from "react";
2+
3+
export function YCLogo(props: SVGProps<SVGSVGElement>) {
4+
return (
5+
<svg
6+
aria-hidden="true"
7+
focusable="false"
8+
viewBox="0 0 32 32"
9+
xmlns="http://www.w3.org/2000/svg"
10+
{...props}
11+
>
12+
<title>Y Combinator logo</title>
13+
<path d="M0 0h32v32H0z" fill="#f26625" />
14+
<path
15+
d="M14.933 18.133L9.387 7.787h2.56l3.2 6.507c0 .107.107.213.213.32s.107.213.213.427l.107.107v.107c.107.213.107.32.213.533.107.107.107.32.213.427.107-.32.32-.533.427-.96.107-.32.32-.64.533-.96l3.2-6.507h2.347L17.067 18.24v6.613h-2.133z"
16+
fill="#fff"
17+
/>
18+
<path d="M-2.78-46.732h30v30h-30z" fill="#f26625" />
19+
<path
20+
d="M11.22-29.732l-5.2-9.7h2.4l3 6.1c0 .1.1.2.2.3s.1.2.2.4l.1.1v.1c.1.2.1.3.2.5.1.1.1.3.2.4.1-.3.3-.5.4-.9.1-.3.3-.6.5-.9l3-6.1h2.2l-5.2 9.8v6.2h-2z"
21+
fill="#fff"
22+
/>
23+
<path
24+
d="M40.92-40.932c1.5 0 2.8.4 3.8 1.2l-1 1.2c-.9-.6-1.8-1-2.9-1-1.7 0-3 .9-3.7 2.6-.4 1-.6 2.3-.6 4 0 1.3.2 2.4.5 3.2.8 1.9 2.1 2.8 4.1 2.8 1.1 0 2.1-.3 3-1l1 1.3a7.87 7.87 0 0 1-4.2 1.2c-1.8 0-3.3-.7-4.5-2.2-1.2-1.4-1.7-3.3-1.7-5.6s.6-4.1 1.8-5.6c1.1-1.3 2.6-2.1 4.4-2.1zm5.7 9.9c0-1.8.4-3.2 1.3-4.2s2-1.6 3.4-1.6c1.6 0 2.9.6 3.8 1.9.7 1 1 2.4 1 4.1 0 2-.6 3.6-1.7 4.6-.8.7-1.8 1.1-3 1.1-1.5 0-2.6-.5-3.5-1.6-.9-1-1.3-2.5-1.3-4.3zm7-2.9c-.5-.9-1.2-1.4-2.3-1.4s-1.8.4-2.3 1.2c-.4.6-.5 1.6-.5 2.9 0 1.7.2 2.9.7 3.6s1.2 1.1 2.2 1.1c1.2 0 2-.6 2.4-1.7.2-.6.3-1.4.3-2.4.1-1.5-.1-2.6-.5-3.3zm5.7.2c0-1.1-.1-2-.4-2.7l1.7-.4c.3.5.4 1.1.4 1.6v.1c.4-.4.8-.8 1.4-1.1.7-.4 1.3-.6 1.9-.6.9 0 1.7.4 2.2 1.1.1.2.3.5.4.7 1.2-1.2 2.3-1.8 3.5-1.8.8 0 1.5.3 2 .8.5.6.8 1.3.8 2.1v8.3h-1.8v-8.2c0-1.1-.5-1.6-1.4-1.6-.5 0-1.1.2-1.6.6-.2.2-.6.5-1.1.9l-.2.2v8.1h-1.9v-7.8c0-.7-.1-1.2-.3-1.4-.3-.3-.6-.4-1.1-.4-.8 0-1.7.5-2.8 1.5v8.2h-1.7zm17-7.6l1.8-.4c.2.8.3 1.7.3 2.8v3.7c1-1 2.1-1.5 3.2-1.5 1.3 0 2.4.5 3.1 1.5.8 1 1.2 2.4 1.2 4.1 0 1.8-.4 3.2-1.2 4.3s-1.9 1.6-3.2 1.6a3.53 3.53 0 0 1-1.7-.4c-.6-.3-1-.6-1.3-1l-.3 1.2h-1.7c.2-.5.3-1.4.3-2.8v-10.5c-.1-1.2-.2-2.1-.5-2.6zm2.9 6.8c-.3.2-.6.5-.8.8v5.7c.7.9 1.6 1.3 2.7 1.3.9 0 1.6-.3 2-1 .5-.8.8-1.9.8-3.5 0-1.4-.2-2.4-.7-3-.4-.6-1.1-.9-2.1-.9-.6-.1-1.3.1-1.9.6zm9.3-5.4c0-.4.1-.7.4-1s.6-.4 1-.4.7.1 1 .4.4.6.4 1-.1.7-.4 1-.6.4-1 .4-.7-.1-1-.4-.4-.6-.4-1zm.4 14.4v-11l1.8-.3v11.3zm5.7-8.2c0-.8 0-1.3-.1-1.5 0-.3-.2-.6-.4-1.1l1.7-.5a3.53 3.53 0 0 1 .4 1.7c1.1-1.1 2.3-1.7 3.5-1.7.6 0 1.1.1 1.6.4s.9.7 1.1 1.2c.2.4.3.8.3 1.3v8.4h-1.7v-7.5c0-.9-.1-1.5-.4-1.8s-.7-.5-1.2-.5c-.4 0-1 .2-1.6.5s-1.1.7-1.5 1.1v8.2h-1.7zm12.1-.4l-.9-1.2c1.5-1 3-1.5 4.6-1.5s2.6.6 3.1 1.7c.2.4.2 1 .2 1.9v.6l-.1 3.6v.5c0 .6 0 1 .1 1.3.1.4.4.7.8.9l-.9 1.2c-.8-.3-1.3-.8-1.5-1.6-1 1-2.1 1.5-3.2 1.5s-2-.3-2.7-.9c-.6-.5-.9-1.3-.9-2.3 0-1.3.5-2.2 1.5-2.9s2.5-1 4.3-1h.8v-.8c0-.9-.1-1.5-.4-1.7-.4-.4-.8-.6-1.5-.6-.6 0-1.3.2-2.1.5l-1.2.8zm5.3 5.9l.1-2.9h-.9c-1.6 0-2.6.3-3.2.9-.4.4-.6 1-.6 1.8 0 1.3.6 2 1.9 2 1.2-.1 2.1-.7 2.7-1.8zm7.4-8.3h2.8l-.5 1.4h-2.3v7.1c0 .6.1 1 .3 1.3.2.2.6.4 1.1.4.4 0 .8-.1 1.1-.2l.2 1.1c-.6.3-1.2.4-1.9.4-1.7 0-2.5-.8-2.5-2.5v-7.6h-1.5v-1.4h1.4v-.2c0-.2.1-1 .2-2.3v-.3l1.8-.4c-.2 1.2-.2 2.3-.2 3.2zm4.6 5.5c0-1.8.4-3.2 1.3-4.2.8-1 2-1.6 3.4-1.6 1.6 0 2.9.6 3.8 1.9.7 1 1 2.4 1 4.1 0 2-.6 3.6-1.7 4.6-.8.7-1.8 1.1-3 1.1-1.5 0-2.6-.5-3.5-1.6-.8-1-1.3-2.5-1.3-4.3zm7.1-2.9c-.5-.9-1.2-1.4-2.3-1.4s-1.8.4-2.3 1.2c-.4.6-.5 1.6-.5 2.9 0 1.7.2 2.9.7 3.6s1.2 1.1 2.2 1.1c1.2 0 2-.6 2.4-1.7.2-.6.3-1.4.3-2.4 0-1.5-.2-2.6-.5-3.3zm5.7 0c0-1-.1-1.8-.4-2.4l1.7-.5a3.53 3.53 0 0 1 .4 1.7v.2c.9-1.2 1.9-1.8 3.1-1.8.2 0 .4 0 .6.1l-.7 1.9c-.2-.1-.4-.1-.5-.1-.4 0-.9.1-1.3.4s-.8.6-1 1a3.73 3.73 0 0 0-.2 1.2v6.9h-1.7z"
25+
fill="#f26625"
26+
/>
27+
</svg>
28+
);
29+
}

apps/docs/components/landing/card.tsx

Lines changed: 13 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -4,15 +4,15 @@ import { SciFiCard } from "@/components/scifi-card";
44
import { cn } from "@/lib/utils";
55
import { GridPatternBg } from "./grid-pattern";
66

7-
interface GridCard {
7+
type GridCard = {
88
title: string;
99
description: string;
1010
icon: ComponentType<IconProps>;
11-
}
11+
};
1212

13-
interface SciFiGridCardProps extends GridCard {
13+
type SciFiGridCardProps = GridCard & {
1414
className?: string;
15-
}
15+
};
1616

1717
export const SciFiGridCard = ({
1818
title,
@@ -22,29 +22,30 @@ export const SciFiGridCard = ({
2222
}: SciFiGridCardProps) => (
2323
<div
2424
className={cn(
25-
"group relative w-full overflow-hidden",
26-
"min-h-[340px] sm:min-h-[380px] lg:min-h-[420px]",
25+
"group relative min-h-[340px] w-full overflow-hidden rounded-lg transition-all duration-500 hover:shadow-2xl hover:shadow-primary/5 sm:min-h-[380px] lg:min-h-[420px]",
2726
className
2827
)}
2928
>
30-
<div className="absolute inset-0">
29+
<div className="absolute inset-0 opacity-40 transition-opacity duration-500 group-hover:opacity-100">
3130
<GridPatternBg />
3231
</div>
3332

34-
<SciFiCard className="h-full border border-border bg-transparent px-5 transition-all duration-300 sm:px-6 lg:px-8">
33+
<div className="absolute inset-0 bg-linear-to-b from-transparent via-transparent to-primary/5 opacity-0 transition-opacity duration-500 group-hover:opacity-100" />
34+
35+
<SciFiCard className="h-full border border-border/50 bg-background/50 px-5 backdrop-blur-sm transition-all duration-500 group-hover:border-primary/20 group-hover:bg-background/80 sm:px-6 lg:px-8">
3536
<div className="relative flex h-full flex-col items-center justify-center py-6 sm:py-8">
36-
<div className="mb-6 rounded border border-border bg-card p-4 shadow-[inset_0_1px_3px_rgba(0,0,0,0.06)] sm:mb-8 sm:p-5">
37+
<div className="mb-6 rounded-2xl border border-border/50 bg-card p-4 shadow-[inset_0_1px_3px_rgba(0,0,0,0.06)] transition-all duration-500 group-hover:scale-110 group-hover:border-primary/20 group-hover:shadow-lg group-hover:shadow-primary/10 sm:mb-8 sm:p-5">
3738
<Icon
38-
className="h-10 w-10 text-foreground/80 transition-colors duration-300 group-hover:text-foreground sm:h-12 sm:w-12"
39+
className="h-10 w-10 text-muted-foreground transition-colors duration-500 group-hover:text-primary sm:h-12 sm:w-12"
3940
weight="duotone"
4041
/>
4142
</div>
4243

43-
<h3 className="px-2 pb-2 text-center font-medium text-2xl text-foreground transition-colors duration-300 group-hover:text-foreground/90 sm:pb-2 sm:text-3xl">
44+
<h3 className="px-2 pb-3 text-center font-semibold text-2xl text-foreground transition-colors duration-300 sm:pb-4 sm:text-3xl">
4445
{title}
4546
</h3>
4647

47-
<p className="px-2 text-center text-base text-muted-foreground/70 leading-relaxed transition-colors duration-300 group-hover:text-muted-foreground sm:text-lg">
48+
<p className="max-w-[280px] px-2 text-center text-base text-muted-foreground leading-relaxed transition-colors duration-300 group-hover:text-foreground/80 sm:max-w-none sm:text-lg">
4849
{description}
4950
</p>
5051
</div>

apps/docs/components/landing/hero.tsx

Lines changed: 24 additions & 55 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
"use client";
22

33
import dynamic from "next/dynamic";
4+
import { YCLogo } from "@/components/icons/yc-logo";
45
import DemoContainer from "./demo";
56
import { SciFiButton } from "./scifi-btn";
67
import { Spotlight } from "./spotlight";
@@ -11,61 +12,23 @@ const WorldMap = dynamic(() => import("./map").then((m) => m.WorldMap), {
1112
});
1213

1314
export default function Hero() {
14-
const handleGetStarted = () => {
15-
const newWindow = window.open(
16-
"https://app.databuddy.cc/login",
17-
"_blank",
18-
"noopener,noreferrer"
19-
);
20-
if (
21-
!newWindow ||
22-
newWindow.closed ||
23-
typeof newWindow.closed === "undefined"
24-
) {
25-
// Handle popup blocked case if needed
26-
}
27-
};
28-
2915
return (
30-
<section className="relative flex min-h-[100svh] w-full flex-col items-center overflow-hidden">
16+
<section className="relative flex min-h-svh w-full flex-col items-center overflow-hidden">
3117
<Spotlight transform="translateX(-60%) translateY(-50%)" />
3218

3319
<div className="mx-auto w-full max-w-7xl px-4 sm:px-6 lg:px-8">
34-
<div className="grid grid-cols-1 items-center gap-8 pt-12 pb-6 sm:pt-16 sm:pb-8 lg:grid-cols-2 lg:gap-12 lg:pt-20 lg:pb-12 xl:gap-16">
20+
<div className="grid grid-cols-1 items-center gap-8 pt-16 pb-10 sm:pt-20 sm:pb-12 lg:grid-cols-2 lg:gap-12 lg:pt-28 lg:pb-16 xl:gap-16">
3521
{/* Text Content */}
36-
<div className="order-2 flex flex-col items-center gap-6 text-center lg:order-1 lg:items-start lg:gap-8 lg:text-left">
37-
<div className="self-center lg:self-start">
38-
<div className="inline-flex items-center rounded-full border border-border bg-background/80 px-3 py-1 font-medium text-muted-foreground text-xs shadow backdrop-blur">
39-
<span>Rejected by</span>
40-
<svg
41-
aria-hidden="true"
42-
className="mx-1 inline-block align-[-2px]"
43-
focusable="false"
44-
height="14"
45-
viewBox="0 0 32 32"
46-
width="14"
47-
xmlns="http://www.w3.org/2000/svg"
48-
>
49-
<title>Y Combinator logo</title>
50-
<path d="M0 0h32v32H0z" fill="#f26625" />
51-
<path
52-
d="M14.933 18.133L9.387 7.787h2.56l3.2 6.507c0 .107.107.213.213.32s.107.213.213.427l.107.107v.107c.107.213.107.32.213.533.107.107.107.32.213.427.107-.32.32-.533.427-.96.107-.32.32-.64.533-.96l3.2-6.507h2.347L17.067 18.24v6.613h-2.133z"
53-
fill="#fff"
54-
/>
55-
<path d="M-2.78-46.732h30v30h-30z" fill="#f26625" />
56-
<path
57-
d="M11.22-29.732l-5.2-9.7h2.4l3 6.1c0 .1.1.2.2.3s.1.2.2.4l.1.1v.1c.1.2.1.3.2.5.1.1.1.3.2.4.1-.3.3-.5.4-.9.1-.3.3-.6.5-.9l3-6.1h2.2l-5.2 9.8v6.2h-2z"
58-
fill="#fff"
59-
/>
60-
<path
61-
d="M40.92-40.932c1.5 0 2.8.4 3.8 1.2l-1 1.2c-.9-.6-1.8-1-2.9-1-1.7 0-3 .9-3.7 2.6-.4 1-.6 2.3-.6 4 0 1.3.2 2.4.5 3.2.8 1.9 2.1 2.8 4.1 2.8 1.1 0 2.1-.3 3-1l1 1.3a7.87 7.87 0 0 1-4.2 1.2c-1.8 0-3.3-.7-4.5-2.2-1.2-1.4-1.7-3.3-1.7-5.6s.6-4.1 1.8-5.6c1.1-1.3 2.6-2.1 4.4-2.1zm5.7 9.9c0-1.8.4-3.2 1.3-4.2s2-1.6 3.4-1.6c1.6 0 2.9.6 3.8 1.9.7 1 1 2.4 1 4.1 0 2-.6 3.6-1.7 4.6-.8.7-1.8 1.1-3 1.1-1.5 0-2.6-.5-3.5-1.6-.9-1-1.3-2.5-1.3-4.3zm7-2.9c-.5-.9-1.2-1.4-2.3-1.4s-1.8.4-2.3 1.2c-.4.6-.5 1.6-.5 2.9 0 1.7.2 2.9.7 3.6s1.2 1.1 2.2 1.1c1.2 0 2-.6 2.4-1.7.2-.6.3-1.4.3-2.4.1-1.5-.1-2.6-.5-3.3zm5.7.2c0-1.1-.1-2-.4-2.7l1.7-.4c.3.5.4 1.1.4 1.6v.1c.4-.4.8-.8 1.4-1.1.7-.4 1.3-.6 1.9-.6.9 0 1.7.4 2.2 1.1.1.2.3.5.4.7 1.2-1.2 2.3-1.8 3.5-1.8.8 0 1.5.3 2 .8.5.6.8 1.3.8 2.1v8.3h-1.8v-8.2c0-1.1-.5-1.6-1.4-1.6-.5 0-1.1.2-1.6.6-.2.2-.6.5-1.1.9l-.2.2v8.1h-1.9v-7.8c0-.7-.1-1.2-.3-1.4-.3-.3-.6-.4-1.1-.4-.8 0-1.7.5-2.8 1.5v8.2h-1.7zm17-7.6l1.8-.4c.2.8.3 1.7.3 2.8v3.7c1-1 2.1-1.5 3.2-1.5 1.3 0 2.4.5 3.1 1.5.8 1 1.2 2.4 1.2 4.1 0 1.8-.4 3.2-1.2 4.3s-1.9 1.6-3.2 1.6a3.53 3.53 0 0 1-1.7-.4c-.6-.3-1-.6-1.3-1l-.3 1.2h-1.7c.2-.5.3-1.4.3-2.8v-10.5c-.1-1.2-.2-2.1-.5-2.6zm2.9 6.8c-.3.2-.6.5-.8.8v5.7c.7.9 1.6 1.3 2.7 1.3.9 0 1.6-.3 2-1 .5-.8.8-1.9.8-3.5 0-1.4-.2-2.4-.7-3-.4-.6-1.1-.9-2.1-.9-.6-.1-1.3.1-1.9.6zm9.3-5.4c0-.4.1-.7.4-1s.6-.4 1-.4.7.1 1 .4.4.6.4 1-.1.7-.4 1-.6.4-1 .4-.7-.1-1-.4-.4-.6-.4-1zm.4 14.4v-11l1.8-.3v11.3zm5.7-8.2c0-.8 0-1.3-.1-1.5 0-.3-.2-.6-.4-1.1l1.7-.5a3.53 3.53 0 0 1 .4 1.7c1.1-1.1 2.3-1.7 3.5-1.7.6 0 1.1.1 1.6.4s.9.7 1.1 1.2c.2.4.3.8.3 1.3v8.4h-1.7v-7.5c0-.9-.1-1.5-.4-1.8s-.7-.5-1.2-.5c-.4 0-1 .2-1.6.5s-1.1.7-1.5 1.1v8.2h-1.7zm12.1-.4l-.9-1.2c1.5-1 3-1.5 4.6-1.5s2.6.6 3.1 1.7c.2.4.2 1 .2 1.9v.6l-.1 3.6v.5c0 .6 0 1 .1 1.3.1.4.4.7.8.9l-.9 1.2c-.8-.3-1.3-.8-1.5-1.6-1 1-2.1 1.5-3.2 1.5s-2-.3-2.7-.9c-.6-.5-.9-1.3-.9-2.3 0-1.3.5-2.2 1.5-2.9s2.5-1 4.3-1h.8v-.8c0-.9-.1-1.5-.4-1.7-.4-.4-.8-.6-1.5-.6-.6 0-1.3.2-2.1.5l-1.2.8zm5.3 5.9l.1-2.9h-.9c-1.6 0-2.6.3-3.2.9-.4.4-.6 1-.6 1.8 0 1.3.6 2 1.9 2 1.2-.1 2.1-.7 2.7-1.8zm7.4-8.3h2.8l-.5 1.4h-2.3v7.1c0 .6.1 1 .3 1.3.2.2.6.4 1.1.4.4 0 .8-.1 1.1-.2l.2 1.1c-.6.3-1.2.4-1.9.4-1.7 0-2.5-.8-2.5-2.5v-7.6h-1.5v-1.4h1.4v-.2c0-.2.1-1 .2-2.3v-.3l1.8-.4c-.2 1.2-.2 2.3-.2 3.2zm4.6 5.5c0-1.8.4-3.2 1.3-4.2.8-1 2-1.6 3.4-1.6 1.6 0 2.9.6 3.8 1.9.7 1 1 2.4 1 4.1 0 2-.6 3.6-1.7 4.6-.8.7-1.8 1.1-3 1.1-1.5 0-2.6-.5-3.5-1.6-.8-1-1.3-2.5-1.3-4.3zm7.1-2.9c-.5-.9-1.2-1.4-2.3-1.4s-1.8.4-2.3 1.2c-.4.6-.5 1.6-.5 2.9 0 1.7.2 2.9.7 3.6s1.2 1.1 2.2 1.1c1.2 0 2-.6 2.4-1.7.2-.6.3-1.4.3-2.4 0-1.5-.2-2.6-.5-3.3zm5.7 0c0-1-.1-1.8-.4-2.4l1.7-.5a3.53 3.53 0 0 1 .4 1.7v.2c.9-1.2 1.9-1.8 3.1-1.8.2 0 .4 0 .6.1l-.7 1.9c-.2-.1-.4-.1-.5-.1-.4 0-.9.1-1.3.4s-.8.6-1 1a3.73 3.73 0 0 0-.2 1.2v6.9h-1.7z"
62-
fill="#f26625"
63-
/>
64-
</svg>
65-
<span>Combinator</span>
22+
<div className="order-2 flex flex-col items-center gap-8 text-center lg:order-1 lg:items-start lg:gap-10 lg:text-left">
23+
<div className="fade-in slide-in-from-bottom-4 animate-in self-center duration-700 lg:self-start">
24+
<div className="group inline-flex cursor-default items-center rounded-full border border-border/50 bg-background/60 px-4 py-1.5 font-medium text-muted-foreground text-xs shadow-sm backdrop-blur-md transition-colors hover:bg-background/80 hover:text-foreground">
25+
<span className="mr-1.5 opacity-70">Rejected by</span>
26+
<YCLogo className="mr-1.5 inline-block h-3.5 w-3.5 align-[-2px] grayscale transition-all group-hover:grayscale-0" />
27+
<span className="font-semibold tracking-tight">Combinator</span>
6628
</div>
6729
</div>
68-
<h1 className="text-balance font-semibold text-3xl leading-tight tracking-tight sm:text-5xl md:text-6xl lg:text-7xl xl:text-[72px]">
30+
31+
<h1 className="fade-in slide-in-from-bottom-6 animate-in text-balance font-bold text-4xl leading-[1.1] tracking-tight delay-100 duration-700 sm:text-6xl md:text-7xl lg:text-7xl xl:text-[80px]">
6932
<span className="block whitespace-normal">
7033
Privacy <span className="text-muted-foreground">first</span>
7134
</span>
@@ -75,23 +38,29 @@ export default function Hero() {
7538
</span>
7639
</h1>
7740

78-
<p className="max-w-prose text-balance font-medium text-muted-foreground text-sm leading-relaxed tracking-tight sm:text-base lg:text-lg">
41+
<p className="fade-in slide-in-from-bottom-6 max-w-prose animate-in text-balance font-medium text-base text-muted-foreground leading-relaxed tracking-tight delay-200 duration-700 sm:text-lg lg:text-xl">
7942
Track users, not identities. Get fast, accurate insights with zero
8043
cookies and 100% GDPR compliance.
8144
</p>
8245

83-
<div className="flex w-full justify-center pt-2 lg:justify-start">
46+
<div className="fade-in slide-in-from-bottom-6 flex w-full animate-in justify-center pt-4 delay-300 duration-700 lg:justify-start">
8447
<SciFiButton
85-
className="w-full sm:w-auto"
86-
onClick={handleGetStarted}
48+
asChild
49+
className="w-full px-8 py-6 text-lg sm:w-auto"
8750
>
88-
GET STARTED
51+
<a
52+
href="https://app.databuddy.cc/login"
53+
rel="noopener noreferrer"
54+
target="_blank"
55+
>
56+
GET STARTED
57+
</a>
8958
</SciFiButton>
9059
</div>
9160
</div>
9261

9362
{/* Map Visualization */}
94-
<div className="order-1 flex w-full justify-center lg:order-2 lg:justify-end">
63+
<div className="fade-in zoom-in-95 order-1 flex w-full animate-in justify-center delay-200 duration-1000 lg:order-2 lg:justify-end">
9564
<div className="w-full max-w-lg lg:max-w-none">
9665
<WorldMap />
9766
</div>
@@ -100,7 +69,7 @@ export default function Hero() {
10069
</div>
10170

10271
{/* Demo Container */}
103-
<div className="mx-auto w-full max-w-7xl px-4 pb-8 sm:px-6 lg:px-8 lg:pb-12">
72+
<div className="fade-in slide-in-from-bottom-8 mx-auto w-full max-w-7xl animate-in px-4 pb-12 delay-500 duration-1000 sm:px-6 lg:px-8 lg:pb-20">
10473
<DemoContainer />
10574
</div>
10675
</section>

apps/docs/components/landing/section.tsx

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,11 +20,12 @@ const Section = ({
2020
<div
2121
className={cn(
2222
"relative w-full border-x-0 lg:border-x",
23-
!customPaddings && "py-8 sm:py-12 lg:py-16 xl:py-20",
23+
!customPaddings && "py-12 sm:py-16 lg:py-24 xl:py-32",
2424
className
2525
)}
2626
id={id}
2727
>
28+
<div className="pointer-events-none absolute inset-0 bg-[radial-gradient(ellipse_at_top,_var(--tw-gradient-stops))] from-primary/5 via-transparent to-transparent opacity-40" />
2829
{children}
2930
{crosses && <SectionSvg crossesOffset={crossesOffset} />}
3031
</div>

0 commit comments

Comments
 (0)