diff --git a/src/components/header/Auth.tsx b/src/components/header/Auth.tsx deleted file mode 100644 index 906c5ea..0000000 --- a/src/components/header/Auth.tsx +++ /dev/null @@ -1,59 +0,0 @@ -import { isMobile } from "react-device-detect"; - -import Button from "../Button"; - -interface AuthProps { - isAuth: boolean; - userName: string; -} - -const Auth = () => { - const isAuth = false; - const userName = "Name"; - - return ( - <> - {isMobile ? ( - - ) : ( - - )} - - ); -}; - -const AuthMobile = ({ isAuth, userName }: AuthProps) => { - return ( -
- {isAuth ? ( - <> -

{userName}

-
- {/* avatar */} -
- - ) : ( -
- ); -}; - -const AuthDesktop = ({ isAuth, userName }: AuthProps) => { - return ( -
- {isAuth ? ( - <> -

{userName}

-
- {/* avatar */} -
- - ) : ( -
- ); -}; - -export default Auth; diff --git a/src/components/header/Auth/Auth.tsx b/src/components/header/Auth/Auth.tsx new file mode 100644 index 0000000..4f82e30 --- /dev/null +++ b/src/components/header/Auth/Auth.tsx @@ -0,0 +1,20 @@ +import { isMobile } from "react-device-detect"; +import AuthDesktop from "./AuthDesktop"; +import AuthMobile from "./AuthMobile"; + +const Auth = () => { + const isAuth = false; + const userName = "Name"; + + return ( + <> + {isMobile ? ( + + ) : ( + + )} + + ); +}; + +export default Auth; diff --git a/src/components/header/Auth/AuthDesktop.tsx b/src/components/header/Auth/AuthDesktop.tsx new file mode 100644 index 0000000..28052c0 --- /dev/null +++ b/src/components/header/Auth/AuthDesktop.tsx @@ -0,0 +1,25 @@ +import Button from "../../Button"; + +interface AuthProps { + isAuth: boolean; + userName: string; +} + +const AuthDesktop = ({ isAuth, userName }: AuthProps) => { + return ( +
+ {isAuth ? ( + <> +

{userName}

+
+ {/* avatar */} +
+ + ) : ( +
+ ); +}; + +export default AuthDesktop; diff --git a/src/components/header/Auth/AuthMobile.tsx b/src/components/header/Auth/AuthMobile.tsx new file mode 100644 index 0000000..c293680 --- /dev/null +++ b/src/components/header/Auth/AuthMobile.tsx @@ -0,0 +1,25 @@ +import Button from "../../Button"; + +interface AuthProps { + isAuth: boolean; + userName: string; +} + +const AuthMobile = ({ isAuth, userName }: AuthProps) => { + return ( +
+ {isAuth ? ( + <> +

{userName}

+
+ {/* avatar */} +
+ + ) : ( +
+ ); +}; + +export default AuthMobile; diff --git a/src/components/header/Header/DesktopHeader.tsx b/src/components/header/Header/DesktopHeader.tsx index a3acb3c..11d42ee 100644 --- a/src/components/header/Header/DesktopHeader.tsx +++ b/src/components/header/Header/DesktopHeader.tsx @@ -1,6 +1,6 @@ -import Auth from "../Auth"; +import Auth from "../Auth/Auth"; import Logo from "../Logo"; -import Navbar from "../Navbar"; +import Navbar from "../Navbar/Navbar"; import Location from "../Location"; const DesktopHeader = () => ( diff --git a/src/components/header/Header/MobileHeader.tsx b/src/components/header/Header/MobileHeader.tsx index 505e7a1..161e685 100644 --- a/src/components/header/Header/MobileHeader.tsx +++ b/src/components/header/Header/MobileHeader.tsx @@ -1,7 +1,7 @@ import { useState } from "react"; import LogoIcon from "../../icons/LogoIcon"; -import Auth from "../Auth"; -import Navbar from "../Navbar"; +import Auth from "../Auth/Auth"; +import Navbar from "../Navbar/Navbar"; import Location from "../Location"; const MobileHeader = () => { diff --git a/src/components/header/Navbar.tsx b/src/components/header/Navbar.tsx deleted file mode 100644 index a6a36eb..0000000 --- a/src/components/header/Navbar.tsx +++ /dev/null @@ -1,79 +0,0 @@ -import { useState } from "react"; -import { isMobile } from "react-device-detect"; -import { Tab } from "../../types/tab"; -import NavbarTab from "./NavbarTab"; - -const tabs: Tab[] = [ - { - value: "Masterplan", - id: "1", - count: 0, - }, - { - value: "Search", - id: "2", - count: 0, - }, - { - value: "Favorites", - id: "3", - count: 3, - }, - { - value: "Company", - id: "4", - count: 0, - }, -]; - -const Navbar = () => { - const [selectedTab, setSelectedTab] = useState(null); - const onTabClick = (tab: Tab) => { - setSelectedTab(tab); - }; - - return ( - <> - {isMobile ? ( - - ) : ( - - )} - - ); -}; - -interface NavbarProps { - selectedTab: Tab | null; - onTabClick: (tab: Tab) => void; -} - -const NavbarDesktop = ({ selectedTab, onTabClick }: NavbarProps) => ( - -); - -const NavbarMobile = ({ selectedTab, onTabClick }: NavbarProps) => ( - -); - -export default Navbar; diff --git a/src/components/header/Navbar/Navbar.tsx b/src/components/header/Navbar/Navbar.tsx new file mode 100644 index 0000000..cb279cf --- /dev/null +++ b/src/components/header/Navbar/Navbar.tsx @@ -0,0 +1,24 @@ +import { useState } from "react"; +import { isMobile } from "react-device-detect"; +import { Tab } from "../../../types/tab"; +import NavbarDesktop from "./NavbarDesktop"; +import NavbarMobile from "./NavbarMobile"; + +const Navbar = () => { + const [selectedTab, setSelectedTab] = useState(null); + const onTabClick = (tab: Tab) => { + setSelectedTab(tab); + }; + + return ( + <> + {isMobile ? ( + + ) : ( + + )} + + ); +}; + +export default Navbar; diff --git a/src/components/header/Navbar/NavbarDesktop.tsx b/src/components/header/Navbar/NavbarDesktop.tsx new file mode 100644 index 0000000..fda8735 --- /dev/null +++ b/src/components/header/Navbar/NavbarDesktop.tsx @@ -0,0 +1,23 @@ +import { tabs } from "../../../consts/tabs"; +import { Tab } from "../../../types/tab"; +import NavbarTab from "../NavbarTab"; + +interface NavbarProps { + selectedTab: Tab | null; + onTabClick: (tab: Tab) => void; +} + +const NavbarDesktop = ({ selectedTab, onTabClick }: NavbarProps) => ( + +); + +export default NavbarDesktop; diff --git a/src/components/header/Navbar/NavbarMobile.tsx b/src/components/header/Navbar/NavbarMobile.tsx new file mode 100644 index 0000000..569a279 --- /dev/null +++ b/src/components/header/Navbar/NavbarMobile.tsx @@ -0,0 +1,25 @@ +import { tabs } from "../../../consts/tabs"; +import { Tab } from "../../../types/tab"; +import NavbarTab from "../NavbarTab"; + +interface NavbarProps { + selectedTab: Tab | null; + onTabClick: (tab: Tab) => void; +} + +const NavbarMobile = ({ selectedTab, onTabClick }: NavbarProps) => ( + +); + +export default NavbarMobile; diff --git a/src/components/map/Map.tsx b/src/components/map/Map.tsx index 0d73931..37d15ac 100644 --- a/src/components/map/Map.tsx +++ b/src/components/map/Map.tsx @@ -1,6 +1,5 @@ import { TransformWrapper, TransformComponent } from "react-zoom-pan-pinch"; -import ImageMarker from "react-image-marker"; -import { MarkerComponentProps } from "react-image-marker"; +import ImageMarker, { MarkerComponentProps } from "react-image-marker"; import { isMobile } from "react-device-detect"; import Marker from "./Marker"; import { markers } from "../../consts/markers"; @@ -18,6 +17,8 @@ const Map = () => { return ( { ); const handleOnMouseEnter = () => { - console.log("first"); const hoveredMarker = currentMarker ? currentMarker : null; setHoveredMarker(hoveredMarker); }; @@ -21,24 +20,18 @@ const Marker = (props: MarkerComponentProps) => { return (
-
-
-
+
+
+
{currentMarker && ( 1 )} @@ -51,6 +44,22 @@ const Marker = (props: MarkerComponentProps) => {
1
+
+
+
+
+
+
+ {currentMarker && ( + 1 + )} +
+
+
); }; diff --git a/src/consts/tabs.tsx b/src/consts/tabs.tsx new file mode 100644 index 0000000..3ed21bc --- /dev/null +++ b/src/consts/tabs.tsx @@ -0,0 +1,26 @@ +import { Tab } from "../types/tab"; + +const tabs: Tab[] = [ + { + value: "Masterplan", + id: "1", + count: 0, + }, + { + value: "Search", + id: "2", + count: 0, + }, + { + value: "Favorites", + id: "3", + count: 3, + }, + { + value: "Company", + id: "4", + count: 0, + }, +]; + +export { tabs };