144 lines
5.7 KiB
JavaScript
144 lines
5.7 KiB
JavaScript
import React from "react";
|
|
import { ChevronRightIcon } from "@heroicons/react/20/solid";
|
|
import { useColorMode } from "@docusaurus/theme-common";
|
|
|
|
export default function HomepageHero() {
|
|
const { isDarkTheme } = useColorMode();
|
|
|
|
return (
|
|
<div className="relative isolate overflow-hidden bg-white dark:bg-gray-900">
|
|
{/* Background grid pattern */}
|
|
{isDarkTheme ? (
|
|
<svg
|
|
className="absolute inset-0 -z-10 h-full w-full stroke-white/10 [mask-image:radial-gradient(100%_100%_at_top_right,white,transparent)]"
|
|
aria-hidden="true"
|
|
>
|
|
<defs>
|
|
<pattern
|
|
id="983e3e4c-de6d-4c3f-8d64-b9761d1534cc"
|
|
width={200}
|
|
height={200}
|
|
x="50%"
|
|
y={-1}
|
|
patternUnits="userSpaceOnUse"
|
|
>
|
|
<path d="M.5 200V.5H200" fill="none" />
|
|
</pattern>
|
|
</defs>
|
|
<svg x="50%" y={-1} className="overflow-visible fill-gray-800/20">
|
|
<path
|
|
d="M-200 0h201v201h-201Z M600 0h201v201h-201Z M-400 600h201v201h-201Z M200 800h201v201h-201Z"
|
|
strokeWidth={0}
|
|
/>
|
|
</svg>
|
|
<rect
|
|
width="100%"
|
|
height="100%"
|
|
strokeWidth={0}
|
|
fill="url(#983e3e4c-de6d-4c3f-8d64-b9761d1534cc)"
|
|
/>
|
|
</svg>
|
|
) : (
|
|
<svg
|
|
className="absolute inset-0 -z-10 h-full w-full stroke-gray-200 [mask-image:radial-gradient(100%_100%_at_top_right,white,transparent)]"
|
|
aria-hidden="true"
|
|
>
|
|
<defs>
|
|
<pattern
|
|
id="0787a7c5-978c-4f66-83c7-11c213f99cb7"
|
|
width={200}
|
|
height={200}
|
|
x="50%"
|
|
y={-1}
|
|
patternUnits="userSpaceOnUse"
|
|
>
|
|
<path d="M.5 200V.5H200" fill="none" />
|
|
</pattern>
|
|
</defs>
|
|
<rect
|
|
width="100%"
|
|
height="100%"
|
|
strokeWidth={0}
|
|
fill="url(#0787a7c5-978c-4f66-83c7-11c213f99cb7)"
|
|
/>
|
|
</svg>
|
|
)}
|
|
{/* Background subtle gradient effect */}
|
|
{isDarkTheme && (
|
|
<div
|
|
className="absolute left-[calc(50%-4rem)] top-10 -z-10 transform-gpu blur-3xl sm:left-[calc(50%-18rem)] lg:left-48 lg:top-[calc(50%-30rem)] xl:left-[calc(50%-24rem)]"
|
|
aria-hidden="true"
|
|
>
|
|
<div
|
|
className="aspect-[1108/632] w-[69.25rem] bg-gradient-to-r from-[#80caff] to-[#4f46e5] opacity-20"
|
|
style={{
|
|
clipPath:
|
|
"polygon(73.6% 51.7%, 91.7% 11.8%, 100% 46.4%, 97.4% 82.2%, 92.5% 84.9%, 75.7% 64%, 55.3% 47.5%, 46.5% 49.4%, 45% 62.9%, 50.3% 87.2%, 21.3% 64.1%, 0.1% 100%, 5.4% 51.1%, 21.4% 63.9%, 58.9% 0.2%, 73.6% 51.7%)",
|
|
}}
|
|
/>
|
|
</div>
|
|
)}
|
|
|
|
{/* Main hero content */}
|
|
<div className="mx-auto max-w-7xl px-6 pb-24 pt-10 sm:pb-32 lg:flex lg:px-8 lg:py-40">
|
|
<div className="mx-auto max-w-2xl flex-shrink-0 lg:mx-0 lg:max-w-xl lg:pt-8">
|
|
{/* App logo */}
|
|
<span role="img" aria-label="waving hand" className="h-11 text-4xl">
|
|
👋
|
|
</span>
|
|
{/* What's new */}
|
|
<div className="mt-24 sm:mt-32 lg:mt-16">
|
|
<a href="#" className="inline-flex space-x-6">
|
|
<span className="rounded-full bg-indigo-600/10 px-3 py-1 text-sm font-semibold leading-6 text-indigo-600 ring-1 ring-inset ring-indigo-600/10 dark:bg-indigo-500/10 dark:text-indigo-400 dark:ring-indigo-500/20">
|
|
What's new
|
|
</span>
|
|
<span className="inline-flex items-center space-x-2 text-sm font-medium leading-6 text-gray-600 dark:text-gray-300">
|
|
<span>Just shipped v0.1</span>
|
|
<ChevronRightIcon
|
|
className="h-5 w-5 text-gray-400 dark:text-gray-500"
|
|
aria-hidden="true"
|
|
/>
|
|
</span>
|
|
</a>
|
|
</div>
|
|
{/* Hero Title */}
|
|
<h1 className="mt-10 text-4xl font-bold tracking-tight text-gray-900 dark:text-white sm:text-6xl">
|
|
Run your own AI
|
|
</h1>
|
|
{/* Hero Subtitle */}
|
|
<p className="mt-6 text-lg leading-8 text-gray-600 dark:text-gray-300">
|
|
Jan is the private and flexible way to run your own AI. Jan is the
|
|
private and flexible way to run your own AI.
|
|
</p>
|
|
{/* Download CTAs */}
|
|
<div className="mt-10 flex items-center gap-x-6">
|
|
<a
|
|
href="#"
|
|
className="rounded-md bg-indigo-600 dark:bg-indigo-500 px-3.5 py-2.5 text-sm font-semibold text-white shadow-sm hover:text-white hover:bg-indigo-500 dark:hover:bg-indigo-400 focus-visible:outline focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-indigo-600 dark:focus-visible:outline-indigo-400"
|
|
>
|
|
Download on Mac
|
|
</a>
|
|
<a
|
|
href="#"
|
|
className="text-sm font-semibold leading-6 text-gray-900 dark:text-white hover:text-current"
|
|
>
|
|
Other Platforms <span aria-hidden="true">→</span>
|
|
</a>
|
|
</div>
|
|
</div>
|
|
{/* App Screenshot */}
|
|
<div className="mx-auto mt-16 flex max-w-2xl sm:mt-24 lg:ml-10 lg:mr-0 lg:mt-0 lg:max-w-none lg:flex-none xl:ml-32">
|
|
<div className="max-w-3xl flex-none sm:max-w-5xl lg:max-w-none">
|
|
<img
|
|
src={require("@site/static/img/jan-app-screenshot.png").default}
|
|
alt="App screenshot"
|
|
width={2432}
|
|
className="w-[76rem] rounded-3xl shadow-2xl"
|
|
/>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
);
|
|
}
|