diff --git a/src/components/modules/account/AccountNavigation/AccountNavigation.module.scss b/src/components/modules/account/AccountNavigation/AccountNavigation.module.scss index 22c885238..1dbcbf408 100644 --- a/src/components/modules/account/AccountNavigation/AccountNavigation.module.scss +++ b/src/components/modules/account/AccountNavigation/AccountNavigation.module.scss @@ -1,5 +1,17 @@ @import '../../../../styles/utilities'; .accountNavigation { - @apply spacing-horizontal; + border-left: 2px solid #FBFBFB; + + + .slider { + @apply inline-block; + width: 0.2rem; + height: 4.8rem; + border-radius: 3px; + background-color: var(--primary); + position: absolute; + left: 11.2rem; + transition: all .4s linear; + } } \ No newline at end of file diff --git a/src/components/modules/account/AccountNavigation/AccountNavigation.tsx b/src/components/modules/account/AccountNavigation/AccountNavigation.tsx index fd289edc9..15ecd3a31 100644 --- a/src/components/modules/account/AccountNavigation/AccountNavigation.tsx +++ b/src/components/modules/account/AccountNavigation/AccountNavigation.tsx @@ -1,4 +1,4 @@ -import React, { useState } from "react" +import React, { useState, useRef, RefObject, useEffect } from "react" import s from './AccountNavigation.module.scss' import AccountNavigationItem from './components/AccountNavigationItem' @@ -10,39 +10,58 @@ interface AccountNavigationProps { const AccountNavigation = ({ } : AccountNavigationProps) => { const active = "active", unActive = ""; - const [item1Active, setItem1Active] = useState(active); - const [item2Active, setItem2Active] = useState(unActive); + const [item1Active, setItem1Active] = useState(unActive); + const [item2Active, setItem2Active] = useState(active); const [item3Active, setItem3Active] = useState(unActive); + const item1 = useRef(null); + const item2 = useRef(null); + const item3 = useRef(null); + const slider = useRef(null); + + function slide(ref: RefObject) { + const top = ref.current.offsetTop; + slider.current.style.top = top.toString()+"px"; + } + function toggleItem1():void { setItem1Active(active) setItem2Active(unActive) setItem3Active(unActive) + slide(item1); } function toggleItem2():void { setItem2Active(active) setItem1Active(unActive) setItem3Active(unActive) + slide(item2); } function toggleItem3():void { setItem3Active(active) setItem1Active(unActive) setItem2Active(unActive) + slide(item3); } + + useEffect(() => { + slide(item2); + }, []) + return (
-
- Customer Information -
-
- Your Orders +
+ Customer Information
-
- Favourites +
+ Your Orders
+
+ Favourites +
+
) } diff --git a/src/components/modules/account/AccountNavigation/components/AccountNavigationItem.module.scss b/src/components/modules/account/AccountNavigation/components/AccountNavigationItem.module.scss index 01fc0e1cc..179c1ab08 100644 --- a/src/components/modules/account/AccountNavigation/components/AccountNavigationItem.module.scss +++ b/src/components/modules/account/AccountNavigation/components/AccountNavigationItem.module.scss @@ -1,7 +1,6 @@ @import '../../../../../styles/utilities'; .accountNavigationItem { - @apply bg-gray; width: 28rem; padding: 1.2rem 0 1.2rem 1.6rem; margin-bottom: 1.2rem; @@ -14,6 +13,6 @@ &.active { background-color: #FBFBFB; border-radius: 0 1.6rem 1.6rem 0; - border-left: 2px solid var(--primary); + // border-left: 2px solid var(--primary); } } \ No newline at end of file diff --git a/src/components/modules/account/AccountNavigation/components/AccountNavigationItem.tsx b/src/components/modules/account/AccountNavigation/components/AccountNavigationItem.tsx index 47cd537f0..8bb18cb58 100644 --- a/src/components/modules/account/AccountNavigation/components/AccountNavigationItem.tsx +++ b/src/components/modules/account/AccountNavigation/components/AccountNavigationItem.tsx @@ -1,4 +1,4 @@ -import React from "react"; +import React, { RefObject } from "react"; import classNames from "classnames"; import s from './AccountNavigationItem.module.scss' @@ -6,11 +6,12 @@ interface AccountNavigationItemProps { children?: string; active?: string; target?: string; + onClick: () => void; } -const AccountNavigationItem = ({ children, active="" } : AccountNavigationItemProps) => { +const AccountNavigationItem = ({ children, active="", onClick } : AccountNavigationItemProps) => { return ( -
{children}