import type { ReactNode } from 'react';
import clsx from 'clsx';
import Link from '@docusaurus/Link';
import useDocusaurusContext from '@docusaurus/useDocusaurusContext';
import useBaseUrl from '@docusaurus/useBaseUrl';
import Layout from '@theme/Layout';
import HomepageFeatures from '@site/src/components/HomepageFeatures';
import Heading from '@theme/Heading';
import styles from './index.module.css';
function HomepageHeader() {
const { siteConfig } = useDocusaurusContext();
return (
<header className={clsx('hero hero--primary', styles.heroBanner)}>
<div className="container">
<img
src={useBaseUrl('img/leetrs-new.png')}
alt="leetrs logo"
style={{
width: '140px',
height: '140px',
borderRadius: '24px',
marginBottom: '1.5rem',
boxShadow: '0 12px 32px rgba(0, 0, 0, 0.4)',
objectFit: 'contain',
}}
/>
<Heading as="h1" className="hero__title">
{siteConfig.title}
</Heading>
<p className="hero__subtitle">{siteConfig.tagline}</p>
<div className={styles.buttons}>
<Link
className="button button--secondary button--lg"
to="/docs/getting-started/quickstart">
Get Started — 5min ⏱️
</Link>
</div>
</div>
</header>
);
}
export default function Home(): ReactNode {
const { siteConfig } = useDocusaurusContext();
return (
<Layout
title={`${siteConfig.title} — Terminal-First LeetCode CLI & TUI`}
description="A blazing-fast, Rust-powered CLI engine and TUI for solving LeetCode problems natively in Neovim.">
<HomepageHeader />
<main>
<HomepageFeatures />
</main>
</Layout>
);
}