import React from 'react'; import ReactDOM from 'react-dom'; import { Link, Redirect, Router } from "@reach/router"; import './index.css'; import styles from './App.module.css'; /* the components we'll work on */ import MemeCreator from './01_MemeCreator/MemeCreator'; import StarWarsInfo from './02_StarWarsInfo/StarWarsInfo'; import PersonalBlog from './03_PersonalBlog/PersonalBlog'; /* the results we'll expect */ // import MemeCreator from './01_MemeCreator/hooks/MemeCreatorHooks'; // import StarWarsInfo from './02_StarWarsInfo/hooks/StarWarsInfoHooks'; // import PersonalBlog from './03_PersonalBlog/context/PersonalBlogContext'; /* our initial state */ // import MemeCreator from './01_MemeCreator/initial/MemeCreatorInitial'; // import StarWarsInfo from './02_StarWarsInfo/initial/StarWarsInfoInitial'; // import PersonalBlog from './03_PersonalBlog/initial/PersonalBlogInitial'; const isActive = ({ isPartiallyCurrent }) => ({ className: `${styles.link} ${isPartiallyCurrent ? styles.linkIsActive : ''}`, }); const App = () => ( <div> <nav className={styles.nav}> <Link to="meme-creator" getProps={isActive}>Meme Creator</Link> <Link to="star-wars-info" getProps={isActive}>Star Wars Info</Link> <Link to="personal-blog" getProps={isActive}>Personal Blog</Link> </nav> <Router> <MemeCreator path="meme-creator" /> <StarWarsInfo path="star-wars-info" /> <PersonalBlog path="personal-blog/*" /> <Redirect from="/" to="meme-creator" noThrow /> </Router> </div> ); ReactDOM.render(<App />, document.getElementById('root'));