From 6de997f19ced0f7b028361ff335c77a50725c7b1 Mon Sep 17 00:00:00 2001 From: developomp Date: Sat, 26 Mar 2022 17:55:55 +0900 Subject: [PATCH] separated Navbar into its components --- src/components/Navbar/NavLinks.tsx | 30 +++++++++++++ src/components/{ => Navbar}/Navbar.tsx | 58 ++++---------------------- src/components/Navbar/SearchButton.tsx | 30 +++++++++++++ src/components/Navbar/index.tsx | 3 ++ 4 files changed, 71 insertions(+), 50 deletions(-) create mode 100644 src/components/Navbar/NavLinks.tsx rename src/components/{ => Navbar}/Navbar.tsx (55%) create mode 100644 src/components/Navbar/SearchButton.tsx create mode 100644 src/components/Navbar/index.tsx diff --git a/src/components/Navbar/NavLinks.tsx b/src/components/Navbar/NavLinks.tsx new file mode 100644 index 0000000..2a4b1b5 --- /dev/null +++ b/src/components/Navbar/NavLinks.tsx @@ -0,0 +1,30 @@ +import styled from "styled-components" +import { Link } from "react-router-dom" + +import NavbarData from "../../data/NavbarData" +import theming from "../../styles/theming" + +import { StyledLink } from "./Navbar" + +const StyledNavLinks = styled.div` + display: flex; + height: 100%; + + @media only screen and (max-width: ${theming.size.screen_size1}) { + display: none; + } +` + +const NavLinks = () => { + return ( + + {NavbarData.map((item, index) => ( + + {item.title} + + ))} + + ) +} + +export default NavLinks diff --git a/src/components/Navbar.tsx b/src/components/Navbar/Navbar.tsx similarity index 55% rename from src/components/Navbar.tsx rename to src/components/Navbar/Navbar.tsx index 5a027fc..2b39d64 100644 --- a/src/components/Navbar.tsx +++ b/src/components/Navbar/Navbar.tsx @@ -1,16 +1,13 @@ import styled from "styled-components" import { Link } from "react-router-dom" -import ReactTooltip from "react-tooltip" -import { FontAwesomeIcon } from "@fortawesome/react-fontawesome" -import { faSearch } from "@fortawesome/free-solid-svg-icons" +import ThemeToggleButton from "../ThemeToggleButton" +import ReadProgress from "../ReadProgress" +import Sidebar from "../Sidebar" +import SearchButton from "./SearchButton" +import NavLinks from "./NavLinks" -import ThemeToggleButton from "./ThemeToggleButton" -import ReadProgress from "./ReadProgress" -import Sidebar from "./Sidebar" - -import theming from "../styles/theming" -import NavbarData from "../data/NavbarData" +import theming from "../../styles/theming" const StyledNav = styled.nav` /* set z index to arbitrarily high value to prevent other components from drawing over the navbar */ @@ -48,15 +45,6 @@ const StyledContainer = styled.div` } ` -const StyledNavLinks = styled.div` - display: flex; - height: 100%; - - @media only screen and (max-width: ${theming.size.screen_size1}) { - display: none; - } -` - const StyledImg = styled.img` height: 2.5rem; @@ -64,53 +52,23 @@ const StyledImg = styled.img` margin: 1rem; ` -const StyledLink = styled.div` +export const StyledLink = styled.div` ${theming.styles.navbarButtonStyle} ` -const SearchButton = () => { - return ( - <> -
- - - - - -
- - Search - - - ) -} - const Navbar = () => { return ( {/* icon */} - {/* nav links */} - - - {NavbarData.map((item, index) => ( - - {item.title} - - ))} - + {/* right buttons */} - diff --git a/src/components/Navbar/SearchButton.tsx b/src/components/Navbar/SearchButton.tsx new file mode 100644 index 0000000..6a2b1a0 --- /dev/null +++ b/src/components/Navbar/SearchButton.tsx @@ -0,0 +1,30 @@ +import { Link } from "react-router-dom" +import ReactTooltip from "react-tooltip" + +import { FontAwesomeIcon } from "@fortawesome/react-fontawesome" +import { faSearch } from "@fortawesome/free-solid-svg-icons" + +import { StyledLink } from "./Navbar" + +const SearchButton = () => { + return ( + <> +
+ + + + + +
+ + Search + + + ) +} + +export default SearchButton diff --git a/src/components/Navbar/index.tsx b/src/components/Navbar/index.tsx new file mode 100644 index 0000000..4a022d6 --- /dev/null +++ b/src/components/Navbar/index.tsx @@ -0,0 +1,3 @@ +import Navbar from "./Navbar" + +export default Navbar