import React from 'react' ; import clsx from 'clsx' ; import Layout from '@theme/Layout' ; import Link from '@docusaurus/Link' ; import useDocusaurusContext from '@docusaurus/useDocusaurusContext' ; import styles from './index.module.css' ; import HomepageFeatures from '../components/HomepageFeatures' ; function HomepageHeader ( ) { const { siteConfig } = useDocusaurusContext ( ) ; return ( < header className = { clsx ( 'hero hero--primary' , styles . heroBanner ) } > < div className = "container" > < h1 className = "hero__title" > < img src = "img/elf.png" alt = "elf" width = { 200 } / > < /h1> < p className = "hero__subtitle" > A { ' ' } < b > < em > Reactive < /em> < /b>{' '} Store with Magical Powers < /p> < div className = { styles . buttons } > < Link className = "button button--secondary button--lg" to = "/docs/store" > Get Started < /Link> < div className = "button button--secondary button--lg" style = { { marginLeft : '10px' } } > < a href = "https://github.com/ngneat/elf" rel = "noopener" target = "_blank" aria - label = "Star ngneat/elf on GitHub" style = { { textDecoration : 'none' , color : 'inherit' , display : 'flex' , alignItems : 'center' } } > < svg viewBox = "0 0 16 16" width = "16" height = "16" className = "octicon octicon-mark-github" aria - hidden = "true" > < path fillRule = "evenodd" d = "M8 0C3.58 0 0 3.58 0 8c0 3.54 2.29 6.53 5.47 7.59.4.07.55-.17.55-.38 0-.19-.01-.82-.01-1.49-2.01.37-2.53-.49-2.69-.94-.09-.23-.48-.94-.82-1.13-.28-.15-.68-.52-.01-.53.63-.01 1.08.58 1.23.82.72 1.21 1.87.87 2.33.66.07-.52.28-.87.51-1.07-1.78-.2-3.64-.89-3.64-3.95 0-.87.31-1.59.82-2.15-.08-.2-.36-1.02.08-2.12 0 0 .67-.21 2.2.82.64-.18 1.32-.27 2-.27.68 0 1.36.09 2 .27 1.53-1.04 2.2-.82 2.2-.82.44 1.1.16 1.92.08 2.12.51.56.82 1.27.82 2.15 0 3.07-1.87 3.75-3.65 3.95.29.25.54.73.54 1.48 0 1.07-.01 1.93-.01 2.2 0 .21.15.46.55.38A8.013 8.013 0 0016 8c0-4.42-3.58-8-8-8z" > < /path> < /svg> & nbsp ; < span > Star < /span> < /a> < /div> < /div> < /div> < /header>); } export default function Home ( ) { const { siteConfig } = useDocusaurusContext ( ) ; return ( < Layout keywords = { [ 'reactive state management' , 'react rxjs' , 'angular state management' , 'react reactive state management' , 'elf' , 'elf state management' , ] } description = "Elf - A Reactive Store with Magical Powers" > < HomepageHeader /> < main > < HomepageFeatures /> < /main> < /Layout>); }