prepare section new homepage
This commit is contained in:
parent
4470d3ac85
commit
50983e1a23
@ -1,100 +1,108 @@
|
|||||||
import React from "react";
|
import React from 'react'
|
||||||
|
|
||||||
import { AiOutlineGithub, AiOutlineTwitter } from "react-icons/ai";
|
import { AiOutlineGithub, AiOutlineTwitter } from 'react-icons/ai'
|
||||||
import { BiLogoDiscordAlt, BiLogoLinkedin } from "react-icons/bi";
|
import { BiLogoDiscordAlt, BiLogoLinkedin } from 'react-icons/bi'
|
||||||
|
|
||||||
const socials = [
|
const socials = [
|
||||||
{
|
{
|
||||||
icon: <AiOutlineTwitter className="text-xl text-black dark:text-white" />,
|
icon: (
|
||||||
href: "https://twitter.com/janframework",
|
<AiOutlineTwitter className="text-xl text-black/60 dark:text-white/60" />
|
||||||
|
),
|
||||||
|
href: 'https://twitter.com/janframework',
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
icon: <BiLogoDiscordAlt className="text-xl text-black dark:text-white" />,
|
icon: (
|
||||||
href: "https://discord.com/invite/FTk2MvZwJH",
|
<BiLogoDiscordAlt className="text-xl text-black/60 dark:text-white/60" />
|
||||||
|
),
|
||||||
|
href: 'https://discord.com/invite/FTk2MvZwJH',
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
icon: <AiOutlineGithub className="text-lg text-black dark:text-white" />,
|
icon: (
|
||||||
href: "https://github.com/janhq/jan",
|
<AiOutlineGithub className="text-lg text-black/60 dark:text-white/60" />
|
||||||
|
),
|
||||||
|
href: 'https://github.com/janhq/jan',
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
icon: <BiLogoLinkedin className="text-xl text-black dark:text-white" />,
|
icon: (
|
||||||
href: "https://www.linkedin.com/company/janframework/",
|
<BiLogoLinkedin className="text-xl text-black/60 dark:text-white/60" />
|
||||||
}
|
),
|
||||||
];
|
href: 'https://www.linkedin.com/company/janframework/',
|
||||||
|
},
|
||||||
|
]
|
||||||
|
|
||||||
const menus = [
|
const menus = [
|
||||||
{
|
{
|
||||||
name: "For Developers",
|
name: 'For Developers',
|
||||||
child: [
|
child: [
|
||||||
{
|
{
|
||||||
menu: "Documentation",
|
menu: 'Documentation',
|
||||||
path: "/developer",
|
path: '/developer',
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
menu: "Hardware",
|
menu: 'Hardware',
|
||||||
path: "/hardware",
|
path: '/hardware',
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
menu: "API Reference",
|
menu: 'API Reference',
|
||||||
path: "/api-reference",
|
path: '/api-reference',
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
menu: "Changelog",
|
menu: 'Changelog',
|
||||||
path: "https://github.com/janhq/jan/releases",
|
path: 'https://github.com/janhq/jan/releases',
|
||||||
external: true,
|
external: true,
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
name: "Community",
|
name: 'Community',
|
||||||
child: [
|
child: [
|
||||||
{
|
{
|
||||||
menu: "Github",
|
menu: 'Github',
|
||||||
path: "https://github.com/janhq/jan",
|
path: 'https://github.com/janhq/jan',
|
||||||
external: true,
|
external: true,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
menu: "Discord",
|
menu: 'Discord',
|
||||||
path: "https://discord.gg/FTk2MvZwJH",
|
path: 'https://discord.gg/FTk2MvZwJH',
|
||||||
external: true,
|
external: true,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
menu: "Twitter",
|
menu: 'Twitter',
|
||||||
path: "https://twitter.com/janframework",
|
path: 'https://twitter.com/janframework',
|
||||||
external: true,
|
external: true,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
menu: "LinkedIn",
|
menu: 'LinkedIn',
|
||||||
path: "https://www.linkedin.com/company/janframework/",
|
path: 'https://www.linkedin.com/company/janframework/',
|
||||||
external: true,
|
external: true,
|
||||||
}
|
},
|
||||||
],
|
],
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
name: "Company",
|
name: 'Company',
|
||||||
child: [
|
child: [
|
||||||
{
|
{
|
||||||
menu: "About",
|
menu: 'About',
|
||||||
path: "/about",
|
path: '/about',
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
menu: "Blog",
|
menu: 'Blog',
|
||||||
path: "/blog",
|
path: '/blog',
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
menu: "Careers",
|
menu: 'Careers',
|
||||||
path: "https://janai.bamboohr.com/careers",
|
path: 'https://janai.bamboohr.com/careers',
|
||||||
external: true,
|
external: true,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
menu: "Newsletter",
|
menu: 'Newsletter',
|
||||||
path: "/community#newsletter",
|
path: '/community#newsletter',
|
||||||
}
|
},
|
||||||
],
|
],
|
||||||
},
|
},
|
||||||
];
|
]
|
||||||
|
|
||||||
const getCurrentYear = new Date().getFullYear();
|
const getCurrentYear = new Date().getFullYear()
|
||||||
|
|
||||||
export default function Footer() {
|
export default function Footer() {
|
||||||
return (
|
return (
|
||||||
@ -106,30 +114,13 @@ export default function Footer() {
|
|||||||
<img alt="Jan Logo" src="/img/logo.svg" />
|
<img alt="Jan Logo" src="/img/logo.svg" />
|
||||||
<h2 className="h6">Jan</h2>
|
<h2 className="h6">Jan</h2>
|
||||||
</div>
|
</div>
|
||||||
<div className="w-full lg:w-1/2">
|
<div className="w-full lg:w-1/2 mt-2">
|
||||||
<p className="dark:text-gray-400 text-gray-600">
|
<h6>The Soul of a New Machine</h6>
|
||||||
Jan is the open-source, self-hosted
|
<p className="dark:text-gray-400 text-gray-600 mt-2">
|
||||||
|
Subscribe to our newsletter on AI{' '}
|
||||||
<br className="hidden lg:block" />
|
<br className="hidden lg:block" />
|
||||||
alternative to ChatGPT.
|
research and building Jan:
|
||||||
</p>
|
</p>
|
||||||
|
|
||||||
<div className="mt-4">
|
|
||||||
<div className="flex items-center gap-x-3">
|
|
||||||
{socials.map((social, i) => {
|
|
||||||
return (
|
|
||||||
<a
|
|
||||||
aria-label={`social-${i}`}
|
|
||||||
key={i}
|
|
||||||
href={social.href}
|
|
||||||
target="_blank"
|
|
||||||
rel="noopener"
|
|
||||||
>
|
|
||||||
{social.icon}
|
|
||||||
</a>
|
|
||||||
);
|
|
||||||
})}
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
{menus.map((menu, i) => {
|
{menus.map((menu, i) => {
|
||||||
@ -142,25 +133,42 @@ export default function Footer() {
|
|||||||
<li key={i}>
|
<li key={i}>
|
||||||
<a
|
<a
|
||||||
href={child.path}
|
href={child.path}
|
||||||
target={child.external ? "_blank" : "_self"}
|
target={child.external ? '_blank' : '_self'}
|
||||||
className="inline-block py-1 dark:text-gray-400 text-gray-600"
|
className="inline-block py-1 dark:text-gray-400 text-gray-600"
|
||||||
>
|
>
|
||||||
{child.menu}
|
{child.menu}
|
||||||
</a>
|
</a>
|
||||||
</li>
|
</li>
|
||||||
);
|
)
|
||||||
})}
|
})}
|
||||||
</ul>
|
</ul>
|
||||||
</div>
|
</div>
|
||||||
);
|
)
|
||||||
})}
|
})}
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div className="container mt-6">
|
<div className="container mt-8">
|
||||||
<span className="dark:text-gray-300 text-gray-700">
|
<div className="flex w-full justify-between items-center">
|
||||||
©{getCurrentYear} Jan AI Pte Ltd.
|
<span className="dark:text-gray-300 text-gray-700">
|
||||||
</span>
|
©{getCurrentYear} Jan AI Pte Ltd.
|
||||||
|
</span>
|
||||||
|
<div className="flex items-center gap-x-3">
|
||||||
|
{socials.map((social, i) => {
|
||||||
|
return (
|
||||||
|
<a
|
||||||
|
aria-label={`social-${i}`}
|
||||||
|
key={i}
|
||||||
|
href={social.href}
|
||||||
|
target="_blank"
|
||||||
|
rel="noopener"
|
||||||
|
>
|
||||||
|
{social.icon}
|
||||||
|
</a>
|
||||||
|
)
|
||||||
|
})}
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</footer>
|
</footer>
|
||||||
);
|
)
|
||||||
}
|
}
|
||||||
|
|||||||
@ -1,47 +0,0 @@
|
|||||||
import React from "react";
|
|
||||||
import { FaGithub, FaDiscord } from "react-icons/fa";
|
|
||||||
import { RiStarSFill } from "react-icons/ri";
|
|
||||||
import { useAppStars } from "@site/src/hooks/useAppStars";
|
|
||||||
import { useDiscordWidget } from "@site/src/hooks/useDiscordWidget";
|
|
||||||
|
|
||||||
export default function SocialButton() {
|
|
||||||
const { stargazers } = useAppStars();
|
|
||||||
const { data } = useDiscordWidget();
|
|
||||||
|
|
||||||
return (
|
|
||||||
<div className="flex items-center space-x-2 justify-start">
|
|
||||||
<a
|
|
||||||
href="https://github.com/janhq/jan"
|
|
||||||
target="_blank"
|
|
||||||
className="inline-flex px-4 py-3 rounded-lg font-semibold cursor-pointer justify-center items-center space-x-4 border border-gray-400 dark:border-gray-700 text-white bg-black hover:text-white"
|
|
||||||
>
|
|
||||||
<span>
|
|
||||||
<FaGithub className="text-3xl" />
|
|
||||||
</span>
|
|
||||||
<div className="flex-col">
|
|
||||||
<p className="text-base">Github</p>
|
|
||||||
<p className="text-sm text-white flex items-center space-x-1">
|
|
||||||
<RiStarSFill className="text-lg text-[#FEC928]" />
|
|
||||||
<span>{stargazers.count} stars</span>
|
|
||||||
</p>
|
|
||||||
</div>
|
|
||||||
</a>
|
|
||||||
<a
|
|
||||||
href="https://discord.gg/FTk2MvZwJH"
|
|
||||||
target="_blank"
|
|
||||||
className="text-white bg-[#5765F2] hover:bg-[#5765F2] hover:text-white inline-flex px-4 py-3 rounded-lg font-semibold cursor-pointer justify-center items-center space-x-4"
|
|
||||||
>
|
|
||||||
<span>
|
|
||||||
<FaDiscord className="text-3xl" />
|
|
||||||
</span>
|
|
||||||
<div className="flex-col">
|
|
||||||
<p className="text-base">Discord</p>
|
|
||||||
<div className="text-sm text-white flex items-center space-x-1">
|
|
||||||
<div className="w-2 h-2 bg-green-500 rounded-full" />
|
|
||||||
<span>{data.presence_count} online</span>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</a>
|
|
||||||
</div>
|
|
||||||
);
|
|
||||||
}
|
|
||||||
@ -7,9 +7,12 @@ import Banner from '@site/src/containers/Banner'
|
|||||||
|
|
||||||
import ThemedImage from '@theme/ThemedImage'
|
import ThemedImage from '@theme/ThemedImage'
|
||||||
|
|
||||||
import SocialButton from '@site/src/containers/SocialButton'
|
|
||||||
|
|
||||||
import { IoArrowDown } from 'react-icons/io5'
|
import { IoArrowDown } from 'react-icons/io5'
|
||||||
|
import { IoMapOutline } from 'react-icons/io5'
|
||||||
|
import { useAppStars } from '@site/src/hooks/useAppStars'
|
||||||
|
import { useDiscordWidget } from '@site/src/hooks/useDiscordWidget'
|
||||||
|
import { FaGithub, FaDiscord } from 'react-icons/fa'
|
||||||
|
import { RiStarSFill } from 'react-icons/ri'
|
||||||
|
|
||||||
import Dropdown from '@site/src/containers/Elements/dropdown'
|
import Dropdown from '@site/src/containers/Elements/dropdown'
|
||||||
|
|
||||||
@ -17,6 +20,8 @@ import useIsBrowser from '@docusaurus/useIsBrowser'
|
|||||||
|
|
||||||
export default function Home() {
|
export default function Home() {
|
||||||
const isBrowser = useIsBrowser()
|
const isBrowser = useIsBrowser()
|
||||||
|
const { stargazers } = useAppStars()
|
||||||
|
const { data } = useDiscordWidget()
|
||||||
|
|
||||||
const handleAnchorLink = () => {
|
const handleAnchorLink = () => {
|
||||||
document
|
document
|
||||||
@ -35,11 +40,12 @@ export default function Home() {
|
|||||||
description="Jan runs 100% offline on your computer, utilizes open-source AI models, prioritizes privacy, and is highly customizable."
|
description="Jan runs 100% offline on your computer, utilizes open-source AI models, prioritizes privacy, and is highly customizable."
|
||||||
>
|
>
|
||||||
<main>
|
<main>
|
||||||
<div className="text-center py-24">
|
{/* Hero */}
|
||||||
|
<div className="text-center py-16">
|
||||||
<h1 className="text-5xl lg:text-8xl !font-normal leading-tight lg:leading-tight mt-2 font-serif">
|
<h1 className="text-5xl lg:text-8xl !font-normal leading-tight lg:leading-tight mt-2 font-serif">
|
||||||
Rethink the Computer
|
Rethink the Computer
|
||||||
</h1>
|
</h1>
|
||||||
<p className="text-2xl -mt-1 leading-relaxed text-zinc-500">
|
<p className="text-2xl -mt-1 leading-relaxed text-black/60 dark:text-white/60">
|
||||||
Turn your computer into a{' '}
|
Turn your computer into a{' '}
|
||||||
<span className="text-black dark:text-white font-semibold">
|
<span className="text-black dark:text-white font-semibold">
|
||||||
AI machine
|
AI machine
|
||||||
@ -57,249 +63,437 @@ export default function Home() {
|
|||||||
<Dropdown />
|
<Dropdown />
|
||||||
)}
|
)}
|
||||||
</div>
|
</div>
|
||||||
<p className="mt-6 text-zinc-500">
|
<p className="mt-6 text-black/60 dark:text-white/60">
|
||||||
<span className="text-blue-500 font-bold dark:text-blue-500">
|
<span className="text-blue-500 font-bold dark:text-blue-500">
|
||||||
400K+
|
400K+
|
||||||
</span>{' '}
|
</span>{' '}
|
||||||
downloads | Free & Open Source
|
downloads | Free & Open Source
|
||||||
</p>
|
</p>
|
||||||
|
|
||||||
|
<div className="w-4/5 mx-auto mt-10">
|
||||||
|
<ThemedImage
|
||||||
|
className="object-cover w-full object-center mx-auto h-full lg:-left-4 relative"
|
||||||
|
alt="App screenshots"
|
||||||
|
sources={{
|
||||||
|
light: useBaseUrl('/img/homepage/app-frame-light.png'),
|
||||||
|
dark: useBaseUrl('/img/homepage/app-frame-dark.png'),
|
||||||
|
}}
|
||||||
|
/>
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
{/* <div
|
{/* Build with Love */}
|
||||||
className="dark:bg-[#09090B]/20 border-t border-zinc-200 dark:border-gray-800 py-10 lg:py-16"
|
<div className="w-full xl:w-3/5 mx-auto relative py-8">
|
||||||
id="download-section"
|
<div className="text-center">
|
||||||
>
|
<h1 className="text-5xl !font-normal leading-tight lg:leading-tight mt-2 font-serif">
|
||||||
<div className="container">
|
Built with love
|
||||||
<div className="w-full lg:w-3/4 mx-auto">
|
</h1>
|
||||||
<DownloadApp />
|
<p className="leading-relaxed text-black/60 dark:text-white/60">
|
||||||
</div>
|
Jan is entirely open-source. We build it transparently, guided
|
||||||
|
by the belief <br className="hidden lg:block" /> that AI's
|
||||||
|
future should be open and shared with everyone.
|
||||||
|
</p>
|
||||||
</div>
|
</div>
|
||||||
</div> */}
|
|
||||||
|
|
||||||
{/* <div className="dark:bg-[#09090B]/20 pb-10 lg:pb-36">
|
<div className="grid grid-cols-1 lg:grid-cols-3 gap-8 mt-8">
|
||||||
<div className="container h-full ">
|
<a
|
||||||
<div className="w-full lg:w-3/4 mx-auto relative rounded-xl py-10">
|
href="https://github.com/janhq/jan"
|
||||||
<img
|
target="_blank"
|
||||||
src="/img/homepage/element-bg-open-source.webp"
|
className="card-wrapper dark:card-wrapper-dark p-4 inline-flex px-4 py-3 rounded-lg cursor-pointer justify-center items-start space-x-4 "
|
||||||
alt="Element Open Source BG"
|
>
|
||||||
className="absolute w-full h-full object-cover rounded-xl top-0"
|
<span>
|
||||||
/>
|
<FaGithub className="text-3xl" />
|
||||||
<div className="grid grid-cols-12 gap-4 px-4 items-center relative z-20">
|
</span>
|
||||||
<div className="col-span-full lg:col-span-7 order-2 lg:order-1 relative">
|
<div className="flex-col">
|
||||||
<div className="relative lg:-left-14 overflow-hidden rounded-lg group">
|
<div className="flex items-center gap-2">
|
||||||
<div className="hidden group-hover:flex absolute top-0 left-0 rounded-lg bg-black/30 w-full h-full items-center justify-center transition-all">
|
<h6 className="text-base">Github</h6>
|
||||||
<a
|
<div className="text-sm text-black dark:text-white flex items-center space-x-1 py-1 px-2 rounded-md bg-[#E9E9E9] dark:bg-[#484748]">
|
||||||
href="https://github.com/orgs/janhq/projects/5/views/16"
|
<RiStarSFill className="text-lg text-[#FEC928]" />
|
||||||
target="_blank"
|
<span className="font-semibold">
|
||||||
className="inline-flex px-4 py-3 rounded-lg text-lg font-semibold cursor-pointer justify-center items-center space-x-2 text-black bg-white hover:text-black"
|
{stargazers.count} stars
|
||||||
>
|
|
||||||
<span>View Roadmap</span>
|
|
||||||
</a>
|
|
||||||
</div>
|
|
||||||
<img
|
|
||||||
src="/img/homepage/roadmap.webp"
|
|
||||||
alt="Element Roadmap"
|
|
||||||
className="h-full w-full object-cover"
|
|
||||||
/>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div className="col-span-full lg:col-span-5 order-1 lg:order-2 text-black">
|
|
||||||
<p className="text-4xl font-semibold">100% open source</p>
|
|
||||||
<p className="leading-relaxed w-full lg:w-3/4 mt-4">
|
|
||||||
Our core team believes that AI should be open source, and
|
|
||||||
Jan is built in public.
|
|
||||||
</p>
|
|
||||||
<div className="mt-6">
|
|
||||||
<SocialButton />
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div> */}
|
|
||||||
|
|
||||||
{/* <div className="dark:bg-[#27272A] bg-zinc-100 pt-10 lg:pt-20 pb-10">
|
|
||||||
<div className="container">
|
|
||||||
<div className="w-full lg:w-3/4 mx-auto relative">
|
|
||||||
<div className="grid grid-cols-1 lg:grid-cols-12 gap-8 items-center">
|
|
||||||
<div className="col-span-5">
|
|
||||||
<p className="text-3xl xl:text-4xl font-semibold">
|
|
||||||
Desktop App
|
|
||||||
</p>
|
|
||||||
<p className="text-zinc-600 dark:text-zinc-400 mt-4 text-lg leading-relaxed">
|
|
||||||
<b className="text-bold text-black dark:text-white">
|
|
||||||
10x productivity
|
|
||||||
</b>{' '}
|
|
||||||
with customizable AI <br className="hidden lg:block" />{' '}
|
|
||||||
assistants, global hotkeys, and in-line AI.
|
|
||||||
</p>
|
|
||||||
</div>
|
|
||||||
<div className="col-span-7">
|
|
||||||
<div className="bg-white dark:bg-[#09090B]/50 h-[375px] border border-zinc-200 dark:border-gray-800 rounded-xl overflow-hidden">
|
|
||||||
<ThemedImage
|
|
||||||
className="object-cover w-full object-center mx-auto h-full lg:-left-4 relative"
|
|
||||||
alt="App screenshots"
|
|
||||||
sources={{
|
|
||||||
light: useBaseUrl(
|
|
||||||
'/img/homepage/desktop-app-light.webp'
|
|
||||||
),
|
|
||||||
dark: useBaseUrl(
|
|
||||||
'/img/homepage/desktop-app-dark.webp'
|
|
||||||
),
|
|
||||||
}}
|
|
||||||
/>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div> */}
|
|
||||||
|
|
||||||
{/* <div className="dark:bg-[#27272A] bg-zinc-100 lg:pb-20 pb-10 pt-10">
|
|
||||||
<div className="container">
|
|
||||||
<div className="w-full lg:w-3/4 mx-auto relative ">
|
|
||||||
<div className="grid grid-cols-1 lg:grid-cols-12 gap-8 items-center">
|
|
||||||
<div className="col-span-5">
|
|
||||||
<div className="flex items-center">
|
|
||||||
<p className="text-3xl xl:text-4xl font-semibold">
|
|
||||||
Mobile App
|
|
||||||
</p>
|
|
||||||
<span className="bg-gray-300 dark:bg-gray-700 py-0.5 px-2 inline-block ml-2 rounded-lg text-sm mt-1 font-medium">
|
|
||||||
Coming Soon
|
|
||||||
</span>
|
</span>
|
||||||
</div>
|
</div>
|
||||||
<p className="text-zinc-600 dark:text-zinc-400 mt-4 text-lg leading-relaxed">
|
|
||||||
Take your AI assistants on the go.{' '}
|
|
||||||
<br className="hidden lg:block" /> Seamless integration
|
|
||||||
into your
|
|
||||||
<b className="text-bold text-black dark:text-white">
|
|
||||||
mobile <br className="hidden lg:block" /> workflows
|
|
||||||
</b>
|
|
||||||
with elegant features.
|
|
||||||
</p>
|
|
||||||
</div>
|
</div>
|
||||||
<div className="col-span-7">
|
<p className="text-sm mt-1">
|
||||||
<div className="bg-white dark:bg-[#09090B]/50 h-[375px] border border-zinc-200 dark:border-gray-800 rounded-xl">
|
Jan is entirely open source and free to use.
|
||||||
<ThemedImage
|
</p>
|
||||||
className="object-cover w-full object-center mx-auto h-full"
|
</div>
|
||||||
alt="App screenshots"
|
</a>
|
||||||
sources={{
|
<a
|
||||||
light: useBaseUrl(
|
href="https://discord.gg/FTk2MvZwJH"
|
||||||
'/img/homepage/mobile-app-light.webp'
|
target="_blank"
|
||||||
),
|
className="card-wrapper dark:card-wrapper-dark p-4 inline-flex px-4 py-3 rounded-lg cursor-pointer justify-center items-start space-x-4 "
|
||||||
dark: useBaseUrl(
|
>
|
||||||
'/img/homepage/mobile-app-dark.webp'
|
<span>
|
||||||
),
|
<FaDiscord className="text-3xl" />
|
||||||
}}
|
</span>
|
||||||
/>
|
<div className="flex-col">
|
||||||
|
<div className="flex items-center gap-2">
|
||||||
|
<h6 className="text-base">Discord</h6>
|
||||||
|
<div className="text-sm text-black dark:text-white flex items-center space-x-1 py-1 px-2 rounded-md bg-[#E9E9E9] dark:bg-[#484748]">
|
||||||
|
<div className="w-2 h-2 bg-green-500 rounded-full" />
|
||||||
|
<span className="font-semibold">
|
||||||
|
{data.presence_count} online
|
||||||
|
</span>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
<p className="text-sm mt-1">
|
||||||
|
Join the community to ask questions, get help and learn
|
||||||
|
more.
|
||||||
|
</p>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</a>
|
||||||
</div>
|
<a
|
||||||
</div> */}
|
href="https://github.com/orgs/janhq/projects/5/views/16"
|
||||||
|
target="_blank"
|
||||||
{/* <div className="dark:bg-[#09090B]/20">
|
className="card-wrapper dark:card-wrapper-dark p-4 inline-flex px-4 py-3 rounded-lg cursor-pointer justify-center items-start space-x-4 "
|
||||||
<div className="container py-12 lg:py-32">
|
>
|
||||||
<div className="w-full xl:w-10/12 mx-auto relative">
|
<span>
|
||||||
<div className="text-center">
|
<IoMapOutline className="text-3xl" />
|
||||||
<div className="card-link-bg dark:card-link-bg-dark px-4 py-2 inline-flex rounded-xl items-center space-x-6 h-[60px]">
|
</span>
|
||||||
<img
|
<div className="flex-col">
|
||||||
src="/img/homepage/ic-offline.webp"
|
<div className="flex items-center gap-2">
|
||||||
alt="Icon Offline"
|
<h6 className="text-base">Roadmap</h6>
|
||||||
className="w-9 flex-shrink-0"
|
|
||||||
/>
|
|
||||||
<img
|
|
||||||
src="/img/homepage/ic-private.webp"
|
|
||||||
alt="Icon Offline"
|
|
||||||
className="w-12 flex-shrink-0"
|
|
||||||
/>
|
|
||||||
<img
|
|
||||||
src="/img/homepage/ic-folder.webp"
|
|
||||||
alt="Icon Offline"
|
|
||||||
className="w-9 flex-shrink-0"
|
|
||||||
/>
|
|
||||||
</div>
|
|
||||||
<div className="mt-8">
|
|
||||||
<h2 className="text-3xl lg:text-4xl font-semibold">
|
|
||||||
Offline and Local First
|
|
||||||
</h2>
|
|
||||||
<p className="mt-2 text-zinc-600 dark:text-zinc-400 text-lg leading-relaxed">
|
|
||||||
Conversations, preferences, and model usage stay on{' '}
|
|
||||||
<br className="hidden lg:block" /> your computer—secure,
|
|
||||||
exportable, and can be deleted at any time.
|
|
||||||
</p>
|
|
||||||
|
|
||||||
<div className="grid grid-cols-12 mt-10 lg:mt-20 text-left gap-8">
|
|
||||||
<div className="col-span-full lg:col-span-4">
|
|
||||||
<div className="dark:bg-[#27272A] bg-zinc-100 rounded-xl p-8 min-h-[450px]">
|
|
||||||
<h2 className="text-3xl lg:text-4xl font-semibold">
|
|
||||||
OpenAI Compatible
|
|
||||||
</h2>
|
|
||||||
<p className="mt-4 leading-relaxed text-zinc-600 dark:text-zinc-400 text-lg">
|
|
||||||
Jan provides an OpenAI-equivalent API{' '}
|
|
||||||
<br className="hidden lg:block" /> server at
|
|
||||||
<b>localhost:</b>
|
|
||||||
<span className="bg-blue-600 text-white font-bold py-0.5 px-2 rounded-lg">
|
|
||||||
1337
|
|
||||||
</span>{' '}
|
|
||||||
that can be used as a drop-in replacement with
|
|
||||||
compatible apps.
|
|
||||||
</p>
|
|
||||||
|
|
||||||
<div className="mt-6">
|
|
||||||
<div className="mb-4">
|
|
||||||
<div className="bg-white dark:bg-[#18181B] shadow-lg py-2 px-4 inline-flex rounded-xl">
|
|
||||||
<p className="font-medium">
|
|
||||||
/chats/completions
|
|
||||||
</p>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div className="mb-4">
|
|
||||||
<div className="bg-white dark:bg-[#18181B] shadow-lg py-2 px-4 inline-flex rounded-xl">
|
|
||||||
<p className="font-medium">
|
|
||||||
Local server and API
|
|
||||||
</p>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div className="mb-4">
|
|
||||||
<div className="bg-white dark:bg-[#18181B] shadow-lg py-2 px-4 inline-flex rounded-xl">
|
|
||||||
<p className="font-medium">
|
|
||||||
<span className="inline-block mr-2">
|
|
||||||
Assistants framework
|
|
||||||
</span>
|
|
||||||
<span className="bg-gray-300 dark:bg-gray-700 py-0.5 px-2 inline-block rounded-lg text-sm">
|
|
||||||
Coming Soon
|
|
||||||
</span>
|
|
||||||
</p>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div className="col-span-full lg:col-span-8 items-center">
|
|
||||||
<div className="card-gradient rounded-xl h-full relative text-center min-h-[450px]">
|
|
||||||
<img
|
|
||||||
src="/img/homepage/status.webp"
|
|
||||||
alt="Element status"
|
|
||||||
className="w-10/12 lg:p-20 object-cover absolute left-1/2 top-1/2 -translate-x-1/2 -translate-y-1/2"
|
|
||||||
/>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
</div>
|
||||||
|
<p className="text-sm mt-1">
|
||||||
|
We build in public. See where we're headed!
|
||||||
|
</p>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</a>
|
||||||
</div>
|
</div>
|
||||||
</div> */}
|
|
||||||
</main>
|
|
||||||
|
|
||||||
{/* <main>
|
|
||||||
<div className="text-center py-24">
|
|
||||||
<h1 className="font-serif text-8xl">Rethink the Computer</h1>
|
|
||||||
<p>Turn your computer into a AI machine</p>
|
|
||||||
</div>
|
</div>
|
||||||
</main> */}
|
|
||||||
|
{/* Wall of love */}
|
||||||
|
<div className="bg-[#F0F0F0] dark:bg-[#242424] p-8 mt-20">
|
||||||
|
<div className="w-full xl:w-3/5 mx-auto relative py-8 text-center">
|
||||||
|
<h1 className="text-5xl !font-normal leading-tight lg:leading-tight mt-2 font-serif">
|
||||||
|
People say nice things
|
||||||
|
</h1>
|
||||||
|
<p className="leading-relaxed mt-2 text-black/60 dark:text-white/60">
|
||||||
|
...despite our bugs and fast moving releases
|
||||||
|
</p>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
{/* Feature */}
|
||||||
|
<div className="w-full xl:w-10/12 mx-auto relative py-8">
|
||||||
|
<div className="flex p-4 lg:justify-between flex-col lg:flex-row items-end">
|
||||||
|
<div className="w-full">
|
||||||
|
<h1 className="text-5xl lg:text-7xl !font-normal leading-tight lg:leading-tight mt-2 font-serif">
|
||||||
|
Jan redefines <br className="hidden lg:block" /> how we use
|
||||||
|
computers
|
||||||
|
</h1>
|
||||||
|
</div>
|
||||||
|
<div className="mt-10 w-full lg:w-1/2 mr-auto text-right">
|
||||||
|
<p className="mt-6 text-blue-600 dark:text-blue-400">
|
||||||
|
View Our Features
|
||||||
|
</p>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
{/* Philosophy */}
|
||||||
|
<div className="p-8 mt-20 border-y border-gray-300 dark:border-gray-800">
|
||||||
|
<div className="w-full xl:w-3/4 mx-auto relative py-8 text-center">
|
||||||
|
<h1 className="text-5xl !font-normal leading-tight lg:leading-tight mt-2 font-serif">
|
||||||
|
Our Philosophy
|
||||||
|
</h1>
|
||||||
|
<p className="leading-relaxed mt-2 text-black/60 dark:text-white/60">
|
||||||
|
Jan is opinionated software on what AI should be
|
||||||
|
</p>
|
||||||
|
|
||||||
|
<div className="grid grid-cols-1 lg:grid-cols-3 gap-8 text-left mt-16">
|
||||||
|
<div>
|
||||||
|
<svg
|
||||||
|
width="32"
|
||||||
|
height="32"
|
||||||
|
viewBox="0 0 32 32"
|
||||||
|
fill="none"
|
||||||
|
xmlns="http://www.w3.org/2000/svg"
|
||||||
|
>
|
||||||
|
<path
|
||||||
|
d="M28.96 13.72V9.14H27.43V10.67H24.39V7.62H25.91V6.1H22.86V3.05H21.34V0H4.58V1.52H1.53V13.72H0V32H32V13.72H28.96ZM22.86 7.62V12.19H27.43V13.72H15.24V7.62H22.86ZM3.05 3.05H4.58V13.72H3.05V3.05ZM9.15 18.29H7.62V19.81H4.58V18.29H3.05V16.76H9.15V18.29ZM9.15 13.72H6.1V1.52H19.81V3.05H9.15V13.72ZM10.67 4.57H21.34V6.1H13.72V13.72H10.67V4.57ZM30.48 30.48H12.2V15.24H30.48V30.48Z"
|
||||||
|
fill="#4377E9"
|
||||||
|
/>
|
||||||
|
<path
|
||||||
|
d="M28.9601 22.86H27.4301V24.38H28.9601V22.86Z"
|
||||||
|
fill="#4377E9"
|
||||||
|
/>
|
||||||
|
<path
|
||||||
|
d="M28.9601 27.43H19.8101V28.95H28.9601V27.43Z"
|
||||||
|
fill="#4377E9"
|
||||||
|
/>
|
||||||
|
<path
|
||||||
|
d="M27.43 7.62H25.91V9.14H27.43V7.62Z"
|
||||||
|
fill="#4377E9"
|
||||||
|
/>
|
||||||
|
<path
|
||||||
|
d="M25.91 24.38H22.86V25.91H25.91V24.38Z"
|
||||||
|
fill="#4377E9"
|
||||||
|
/>
|
||||||
|
<path
|
||||||
|
d="M21.3401 22.86H19.8101V24.38H21.3401V22.86Z"
|
||||||
|
fill="#4377E9"
|
||||||
|
/>
|
||||||
|
</svg>
|
||||||
|
<h5 className="mt-4 mb-2">Local-first</h5>
|
||||||
|
<p className="text-black/60 dark:text-white/60">
|
||||||
|
We believe your conversations and files should remain yours
|
||||||
|
alone. That's why we prioritize local-first AI, running
|
||||||
|
open-source models directly on your computer.
|
||||||
|
</p>
|
||||||
|
</div>
|
||||||
|
<div>
|
||||||
|
<svg
|
||||||
|
width="29"
|
||||||
|
height="32"
|
||||||
|
viewBox="0 0 29 32"
|
||||||
|
fill="none"
|
||||||
|
xmlns="http://www.w3.org/2000/svg"
|
||||||
|
>
|
||||||
|
<path
|
||||||
|
d="M28.9495 22.8602H24.3795V21.3302H25.8995V19.8103H3.04994V21.3302H4.57491V22.8602H0V32H28.9495V22.8602ZM6.08989 21.3302H22.8496V22.8602H6.08989V21.3302ZM27.4295 30.4801H1.51997V24.3802H27.4295V30.4801Z"
|
||||||
|
fill="#4377E9"
|
||||||
|
/>
|
||||||
|
<path
|
||||||
|
d="M27.4294 1.52042H25.8994V19.8101H27.4294V1.52042Z"
|
||||||
|
fill="#4377E9"
|
||||||
|
/>
|
||||||
|
<path
|
||||||
|
d="M24.3795 25.8996H16.7596V27.4296H24.3795V25.8996Z"
|
||||||
|
fill="#4377E9"
|
||||||
|
/>
|
||||||
|
<path
|
||||||
|
d="M18.2796 10.6697H16.7596V12.1897H18.2796V10.6697Z"
|
||||||
|
fill="#4377E9"
|
||||||
|
/>
|
||||||
|
<path
|
||||||
|
d="M18.2796 7.62H16.7596V9.13997H18.2796V7.62Z"
|
||||||
|
fill="#4377E9"
|
||||||
|
/>
|
||||||
|
<path
|
||||||
|
d="M16.7596 12.1889H12.1897V13.7089H16.7596V12.1889Z"
|
||||||
|
fill="#4377E9"
|
||||||
|
/>
|
||||||
|
<path
|
||||||
|
d="M12.1896 10.6697H10.6597V12.1897H12.1896V10.6697Z"
|
||||||
|
fill="#4377E9"
|
||||||
|
/>
|
||||||
|
<path
|
||||||
|
d="M12.1896 7.62H10.6597V9.13997H12.1896V7.62Z"
|
||||||
|
fill="#4377E9"
|
||||||
|
/>
|
||||||
|
<path
|
||||||
|
d="M4.57483 18.2895H24.3845V3.04974H4.57483V18.2895ZM6.0898 4.56972H22.8495V16.7595H6.0898V4.56972Z"
|
||||||
|
fill="#4377E9"
|
||||||
|
/>
|
||||||
|
<path
|
||||||
|
d="M7.61977 25.8996H4.56982V28.9495H7.61977V25.8996Z"
|
||||||
|
fill="#4377E9"
|
||||||
|
/>
|
||||||
|
<path
|
||||||
|
d="M25.8995 0H3.04993V1.51997H25.8995V0Z"
|
||||||
|
fill="#4377E9"
|
||||||
|
/>
|
||||||
|
<path
|
||||||
|
d="M3.04987 1.52042H1.5199V19.8101H3.04987V1.52042Z"
|
||||||
|
fill="#4377E9"
|
||||||
|
/>
|
||||||
|
</svg>
|
||||||
|
<h5 className="mt-4 mb-2">User-owned</h5>
|
||||||
|
<p className="text-black/60 dark:text-white/60">
|
||||||
|
Your data, your rules. Jan stores everything on your device
|
||||||
|
in universal formats, giving you total freedom to move your
|
||||||
|
data without tricks or traps.
|
||||||
|
</p>
|
||||||
|
</div>
|
||||||
|
<div>
|
||||||
|
<svg
|
||||||
|
width="28"
|
||||||
|
height="32"
|
||||||
|
viewBox="0 0 28 32"
|
||||||
|
fill="none"
|
||||||
|
xmlns="http://www.w3.org/2000/svg"
|
||||||
|
>
|
||||||
|
<path
|
||||||
|
d="M27.715 9.90503H26.185V28.195H27.715V9.90503Z"
|
||||||
|
fill="#4377E9"
|
||||||
|
/>
|
||||||
|
<path
|
||||||
|
d="M26.185 28.195H24.665V29.715H26.185V28.195Z"
|
||||||
|
fill="#4377E9"
|
||||||
|
/>
|
||||||
|
<path
|
||||||
|
d="M26.185 8.38501H24.665V9.90501H26.185V8.38501Z"
|
||||||
|
fill="#4377E9"
|
||||||
|
/>
|
||||||
|
<path
|
||||||
|
d="M24.665 29.715H3.33496V31.235H24.665V29.715Z"
|
||||||
|
fill="#4377E9"
|
||||||
|
/>
|
||||||
|
<path
|
||||||
|
d="M24.665 6.85501H18.565V8.38501H24.665V6.85501Z"
|
||||||
|
fill="#4377E9"
|
||||||
|
/>
|
||||||
|
<path
|
||||||
|
d="M18.565 3.80502H17.045V6.85502H18.565V3.80502Z"
|
||||||
|
fill="#4377E9"
|
||||||
|
/>
|
||||||
|
<path
|
||||||
|
d="M17.045 2.285H15.525V3.805H17.045V2.285Z"
|
||||||
|
fill="#4377E9"
|
||||||
|
/>
|
||||||
|
<path
|
||||||
|
d="M15.525 0.765015H12.475V2.28501H15.525V0.765015Z"
|
||||||
|
fill="#4377E9"
|
||||||
|
/>
|
||||||
|
<path
|
||||||
|
d="M12.4749 2.285H10.9449V3.805H12.4749V2.285Z"
|
||||||
|
fill="#4377E9"
|
||||||
|
/>
|
||||||
|
<path
|
||||||
|
d="M10.945 3.80502H9.42499V6.85502H10.945V3.80502Z"
|
||||||
|
fill="#4377E9"
|
||||||
|
/>
|
||||||
|
<path
|
||||||
|
d="M7.905 17.525H6.375V20.575H7.905V17.525Z"
|
||||||
|
fill="#4377E9"
|
||||||
|
/>
|
||||||
|
<path
|
||||||
|
d="M6.37498 20.575H4.85498V22.095H6.37498V20.575Z"
|
||||||
|
fill="#4377E9"
|
||||||
|
/>
|
||||||
|
<path
|
||||||
|
d="M6.37498 15.995H4.85498V17.525H6.37498V15.995Z"
|
||||||
|
fill="#4377E9"
|
||||||
|
/>
|
||||||
|
<path
|
||||||
|
d="M9.42496 6.85501H3.33496V8.38501H9.42496V6.85501Z"
|
||||||
|
fill="#4377E9"
|
||||||
|
/>
|
||||||
|
<path
|
||||||
|
d="M1.80497 14.475V9.90503H0.284973V15.995H4.85497V14.475H1.80497Z"
|
||||||
|
fill="#4377E9"
|
||||||
|
/>
|
||||||
|
<path
|
||||||
|
d="M3.33499 28.195H1.80499V29.715H3.33499V28.195Z"
|
||||||
|
fill="#4377E9"
|
||||||
|
/>
|
||||||
|
<path
|
||||||
|
d="M3.33499 8.38501H1.80499V9.90501H3.33499V8.38501Z"
|
||||||
|
fill="#4377E9"
|
||||||
|
/>
|
||||||
|
<path
|
||||||
|
d="M1.80497 23.615H4.85497V22.095H0.284973V28.195H1.80497V23.615Z"
|
||||||
|
fill="#4377E9"
|
||||||
|
/>
|
||||||
|
</svg>
|
||||||
|
|
||||||
|
<h5 className="mt-4 mb-2">Fully Customizable</h5>
|
||||||
|
<p className="text-black/60 dark:text-white/60">
|
||||||
|
You can endlessly customize the experience with 3rd party
|
||||||
|
extensions. You can adjust alignment, moderation, and
|
||||||
|
censorship levels to your needs.
|
||||||
|
</p>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
{/* CTA email newsletter */}
|
||||||
|
<div className="bg-[#F0F0F0] dark:bg-[#242424] text-center py-16">
|
||||||
|
<div className="w-full xl:w-10/12 mx-auto relative">
|
||||||
|
<div className="flex p-4 lg:justify-between flex-col lg:flex-row items-end">
|
||||||
|
<div className="w-full">
|
||||||
|
<ThemedImage
|
||||||
|
className="w-28 mx-auto h-auto"
|
||||||
|
alt="App screenshots"
|
||||||
|
sources={{
|
||||||
|
light: useBaseUrl('/img/homepage/mac-system-black.png'),
|
||||||
|
dark: useBaseUrl('/img/homepage/mac-system-white.png'),
|
||||||
|
}}
|
||||||
|
/>
|
||||||
|
<h1 className="text-5xl lg:text-7xl !font-normal leading-tight lg:leading-tight mt-2 font-serif">
|
||||||
|
The Soul of a New Machine
|
||||||
|
</h1>
|
||||||
|
<p className="leading-relaxed text-black/60 dark:text-white/60">
|
||||||
|
Follow our AI research and journey in building Jan
|
||||||
|
</p>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
{/* Location and statistic */}
|
||||||
|
<div className="w-4/5 mx-auto pb-20 pt-32">
|
||||||
|
<div className="w-1/2 mx-auto pb-20">
|
||||||
|
<div className="grid grid-cols-4">
|
||||||
|
<div className="text-center">
|
||||||
|
<h1>13</h1>
|
||||||
|
<p className="font-medium text-black/60 dark:text-white/60">
|
||||||
|
Core team
|
||||||
|
</p>
|
||||||
|
</div>
|
||||||
|
<div className="text-center">
|
||||||
|
<h1>32+</h1>
|
||||||
|
<p className="font-medium text-black/60 dark:text-white/60">
|
||||||
|
Contributors
|
||||||
|
</p>
|
||||||
|
</div>
|
||||||
|
<div className="text-center">
|
||||||
|
<h1>1722+</h1>
|
||||||
|
<p className="font-medium text-black/60 dark:text-white/60">
|
||||||
|
Pull Requests
|
||||||
|
</p>
|
||||||
|
</div>
|
||||||
|
<div className="text-center">
|
||||||
|
<h1>400K+</h1>
|
||||||
|
<p className="font-medium text-black/60 dark:text-white/60">
|
||||||
|
Downloads
|
||||||
|
</p>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<ThemedImage
|
||||||
|
className="w-full mx-auto h-auto"
|
||||||
|
alt="App screenshots"
|
||||||
|
sources={{
|
||||||
|
light: useBaseUrl('/img/homepage/mapbase-light.png'),
|
||||||
|
dark: useBaseUrl('/img/homepage/mapbase.png'),
|
||||||
|
}}
|
||||||
|
/>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
{/* CTA Bottom */}
|
||||||
|
<div className="w-full xl:w-10/12 mx-auto relative py-8">
|
||||||
|
<div className="flex p-4 lg:justify-between flex-col lg:flex-row">
|
||||||
|
<div className="w-full">
|
||||||
|
<h1 className="text-5xl lg:text-7xl !font-normal leading-tight lg:leading-tight mt-2 font-serif">
|
||||||
|
Change how <br className="hidden lg:block" /> you use
|
||||||
|
computers
|
||||||
|
</h1>
|
||||||
|
</div>
|
||||||
|
<div className="mt-10 w-full lg:w-1/2 mr-auto text-right">
|
||||||
|
{!isBrowserChrome ? (
|
||||||
|
<div
|
||||||
|
onClick={() => handleAnchorLink()}
|
||||||
|
className="inline-flex px-4 py-3 rounded-lg text-lg font-semibold cursor-pointer justify-center items-center space-x-2 dark:bg-white dark:text-black bg-black text-white dark:hover:text-black hover:text-white scroll-smooth"
|
||||||
|
>
|
||||||
|
<span>Download Jan for PC</span>
|
||||||
|
</div>
|
||||||
|
) : (
|
||||||
|
<Dropdown />
|
||||||
|
)}
|
||||||
|
<p className="mt-6 text-zinc-text-black/60 dark:text-white/60">
|
||||||
|
<span className="text-blue-500 font-bold dark:text-blue-500">
|
||||||
|
400K+
|
||||||
|
</span>{' '}
|
||||||
|
downloads | Free & Open Source
|
||||||
|
</p>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</main>
|
||||||
</Layout>
|
</Layout>
|
||||||
</>
|
</>
|
||||||
)
|
)
|
||||||
|
|||||||
@ -38,6 +38,10 @@
|
|||||||
@apply bg-white dark:bg-[#0C0C0C];
|
@apply bg-white dark:bg-[#0C0C0C];
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#__docusaurus {
|
||||||
|
@apply bg-white dark:bg-[#0C0C0C];
|
||||||
|
}
|
||||||
|
|
||||||
img {
|
img {
|
||||||
pointer-events: none;
|
pointer-events: none;
|
||||||
}
|
}
|
||||||
|
|||||||
@ -29,6 +29,32 @@
|
|||||||
0px -1px 1px 0px rgba(0, 0, 0, 0.1) inset,
|
0px -1px 1px 0px rgba(0, 0, 0, 0.1) inset,
|
||||||
0px 1px 1px 0px #4c4c4c inset;
|
0px 1px 1px 0px #4c4c4c inset;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.card-wrapper {
|
||||||
|
border-radius: 16px;
|
||||||
|
background: linear-gradient(180deg, #fafafa 0%, #ededed 100%);
|
||||||
|
box-shadow:
|
||||||
|
0px 4px 12px 0px rgba(0, 0, 0, 0.12),
|
||||||
|
0px -1px 1px 0px rgba(0, 0, 0, 0.1) inset,
|
||||||
|
0px 1px 1px 0px #fff inset;
|
||||||
|
}
|
||||||
|
|
||||||
|
.card-wrapper-dark {
|
||||||
|
border-radius: 12px;
|
||||||
|
background: var(
|
||||||
|
--Linear-dark,
|
||||||
|
linear-gradient(
|
||||||
|
268deg,
|
||||||
|
rgba(117, 117, 117, 0.38) 0%,
|
||||||
|
rgba(121, 119, 128, 0.33) 100%
|
||||||
|
)
|
||||||
|
);
|
||||||
|
box-shadow:
|
||||||
|
0px 4px 12px 0px rgba(0, 0, 0, 0.12),
|
||||||
|
0px -1px 1px 0px rgba(0, 0, 0, 0.1) inset,
|
||||||
|
0px 0.2px 1px 0px #fff inset;
|
||||||
|
}
|
||||||
|
|
||||||
.card {
|
.card {
|
||||||
@apply rounded-xl border bg-gray-50 border-gray-50 dark:border-[#202231] dark:bg-[#111217]/50;
|
@apply rounded-xl border bg-gray-50 border-gray-50 dark:border-[#202231] dark:bg-[#111217]/50;
|
||||||
|
|
||||||
|
|||||||
BIN
docs/static/img/homepage/app-frame-dark.png
vendored
Normal file
BIN
docs/static/img/homepage/app-frame-dark.png
vendored
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 2.7 MiB |
BIN
docs/static/img/homepage/app-frame-light.png
vendored
Normal file
BIN
docs/static/img/homepage/app-frame-light.png
vendored
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 2.7 MiB |
BIN
docs/static/img/homepage/mac-system-black.png
vendored
Normal file
BIN
docs/static/img/homepage/mac-system-black.png
vendored
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 5.1 KiB |
BIN
docs/static/img/homepage/mac-system-white.png
vendored
Normal file
BIN
docs/static/img/homepage/mac-system-white.png
vendored
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 5.3 KiB |
BIN
docs/static/img/homepage/mapbase-light.png
vendored
Normal file
BIN
docs/static/img/homepage/mapbase-light.png
vendored
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 97 KiB |
BIN
docs/static/img/homepage/mapbase.png
vendored
Normal file
BIN
docs/static/img/homepage/mapbase.png
vendored
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 221 KiB |
Loading…
x
Reference in New Issue
Block a user