src/views/Home/home.tsx (71 lines of code) (raw):

import { EuiButton, EuiFlexGroup, EuiFlexItem, EuiPanel, EuiSpacer, EuiText, EuiTitle, } from "@elastic/eui"; import { useNavigate } from "react-router-dom"; const GetStartedPanel = ({ heading, description, slug, }: { heading: string; description: string; slug: string; }) => { const navigate = useNavigate(); return ( <EuiPanel hasBorder> <EuiTitle size="s"> <h4>{heading}</h4> </EuiTitle> <EuiSpacer size="s" /> <EuiText size="s" color="subdued"> {description} </EuiText> <EuiSpacer size="m" /> <EuiButton style={{ width: "100%" }} onClick={() => navigate(`${slug}`)}> Start </EuiButton> </EuiPanel> ); }; export const HomeView = () => { console.log("HomeView"); return ( <> <EuiFlexGroup direction="column"> <EuiFlexItem> <EuiTitle size="s"> <h3>Ingest your content</h3> </EuiTitle> </EuiFlexItem> <EuiFlexGroup> <EuiFlexItem> <GetStartedPanel heading="API" description="Add documents programmatically by connecting with the API using your preferred language client." slug="./content/api-index/overview" /> </EuiFlexItem> <EuiFlexItem> <GetStartedPanel heading="Connectors" description="Extract, transform, index and sync data from a third-party data source." slug="./content/connectors/overview" /> </EuiFlexItem> <EuiFlexItem> <GetStartedPanel heading="Web Crawlers" description="Discover, extract, and index searchable content from websites and knowledge bases." slug="./content/crawlers/overview" /> </EuiFlexItem> </EuiFlexGroup> </EuiFlexGroup> </> ); };