@@ -7,16 +7,22 @@ import { useAccount } from "wagmi";
77
88import KlerosSolutionsIcon from "svgs/menu-icons/kleros-solutions.svg" ;
99
10- import { useLockOverlayScroll } from "hooks/useLockOverlayScroll" ;
11-
1210import { DEFAULT_CHAIN } from "consts/chains" ;
11+ import { useLockOverlayScroll } from "hooks/useLockOverlayScroll" ;
1312
1413import { landscapeStyle } from "styles/landscapeStyle" ;
1514import { responsiveSize } from "styles/responsiveSize" ;
1615
1716import ConnectWallet from "components/ConnectWallet" ;
1817import LightButton from "components/LightButton" ;
18+ import JurorLevels from "components/Popup/MiniGuides/JurorLevels" ;
19+ import Appeal from "components/Popup/MiniGuides/Appeal" ;
20+ import BinaryVoting from "components/Popup/MiniGuides/BinaryVoting" ;
21+ import DisputeResolver from "components/Popup/MiniGuides/DisputeResolver" ;
22+ import { MiniguideHashesType } from "components/Popup/MiniGuides/MainStructureTemplate" ;
1923import Onboarding from "components/Popup/MiniGuides/Onboarding" ;
24+ import RankedVoting from "components/Popup/MiniGuides/RankedVoting" ;
25+ import Staking from "components/Popup/MiniGuides/Staking" ;
2026
2127import Logo from "./Logo" ;
2228import DappList from "./navbar/DappList" ;
@@ -105,20 +111,48 @@ const DesktopHeader: React.FC = () => {
105111 const [ isDappListOpen , toggleIsDappListOpen ] = useToggle ( false ) ;
106112 const [ isHelpOpen , toggleIsHelpOpen ] = useToggle ( false ) ;
107113 const [ isSettingsOpen , toggleIsSettingsOpen ] = useToggle ( false ) ;
114+ const [ isJurorLevelsMiniGuideOpen , toggleIsJurorLevelsMiniGuideOpen ] = useToggle ( false ) ;
115+ const [ isAppealMiniGuideOpen , toggleIsAppealMiniGuideOpen ] = useToggle ( false ) ;
116+ const [ isBinaryVotingMiniGuideOpen , toggleIsBinaryVotingMiniGuideOpen ] = useToggle ( false ) ;
117+ const [ isDisputeResolverMiniGuideOpen , toggleIsDisputeResolverMiniGuideOpen ] = useToggle ( false ) ;
118+ const [ isRankedVotingMiniGuideOpen , toggleIsRankedVotingMiniGuideOpen ] = useToggle ( false ) ;
119+ const [ isStakingMiniGuideOpen , toggleIsStakingMiniGuideOpen ] = useToggle ( false ) ;
108120 const [ isOnboardingMiniGuidesOpen , toggleIsOnboardingMiniGuidesOpen ] = useToggle ( false ) ;
109121 const [ initialTab , setInitialTab ] = useState < number > ( 0 ) ;
110122 const location = useLocation ( ) ;
111123 const { isConnected, chainId } = useAccount ( ) ;
112124 const isDefaultChain = chainId === DEFAULT_CHAIN ;
113-
114125 const initializeFragmentURL = useCallback ( ( ) => {
115- const hash = location . hash ;
116- const hasOnboardingPath = hash . includes ( "#onboarding" ) ;
117- const hasNotificationsPath = hash . includes ( "#notifications" ) ;
118- toggleIsOnboardingMiniGuidesOpen ( hasOnboardingPath ) ;
126+ const hashIncludes = ( hash : MiniguideHashesType | "#notifications" ) => location . hash . includes ( hash ) ;
127+ const hasJurorLevelsMiniGuidePath = hashIncludes ( "#jurorlevels-miniguide" ) ;
128+ const hasAppealMiniGuidePath = hashIncludes ( "#appeal-miniguide" ) ;
129+ const hasBinaryVotingMiniGuidePath = hashIncludes ( "#binaryvoting-miniguide" ) ;
130+ const hasDisputeResolverMiniGuidePath = hashIncludes ( "#disputeresolver-miniguide" ) ;
131+ const hasRankedVotingMiniGuidePath = hashIncludes ( "#rankedvoting-miniguide" ) ;
132+ const hasStakingMiniGuidePath = hashIncludes ( "#staking-miniguide" ) ;
133+ const hasOnboardingMiniGuidePath = hashIncludes ( "#onboarding-miniguide" ) ;
134+ const hasNotificationsPath = hashIncludes ( "#notifications" ) ;
135+ toggleIsJurorLevelsMiniGuideOpen ( hasJurorLevelsMiniGuidePath ) ;
136+ toggleIsAppealMiniGuideOpen ( hasAppealMiniGuidePath ) ;
137+ toggleIsBinaryVotingMiniGuideOpen ( hasBinaryVotingMiniGuidePath ) ;
138+ toggleIsDisputeResolverMiniGuideOpen ( hasDisputeResolverMiniGuidePath ) ;
139+ toggleIsRankedVotingMiniGuideOpen ( hasRankedVotingMiniGuidePath ) ;
140+ toggleIsStakingMiniGuideOpen ( hasStakingMiniGuidePath ) ;
141+ toggleIsOnboardingMiniGuidesOpen ( hasOnboardingMiniGuidePath ) ;
142+ toggleIsAppealMiniGuideOpen ( hasAppealMiniGuidePath ) ;
119143 toggleIsSettingsOpen ( hasNotificationsPath ) ;
120144 setInitialTab ( hasNotificationsPath ? 1 : 0 ) ;
121- } , [ location . hash , toggleIsSettingsOpen , toggleIsOnboardingMiniGuidesOpen ] ) ;
145+ } , [
146+ toggleIsJurorLevelsMiniGuideOpen ,
147+ toggleIsAppealMiniGuideOpen ,
148+ toggleIsBinaryVotingMiniGuideOpen ,
149+ toggleIsDisputeResolverMiniGuideOpen ,
150+ toggleIsRankedVotingMiniGuideOpen ,
151+ toggleIsStakingMiniGuideOpen ,
152+ toggleIsOnboardingMiniGuidesOpen ,
153+ toggleIsSettingsOpen ,
154+ location . hash ,
155+ ] ) ;
122156
123157 useEffect ( initializeFragmentURL , [ initializeFragmentURL ] ) ;
124158
@@ -161,6 +195,12 @@ const DesktopHeader: React.FC = () => {
161195 { isSettingsOpen && < Settings { ...{ toggleIsSettingsOpen, isSettingsOpen, initialTab } } /> }
162196 </ PopupContainer >
163197 ) }
198+ { isJurorLevelsMiniGuideOpen && < JurorLevels toggleMiniGuide = { toggleIsJurorLevelsMiniGuideOpen } /> }
199+ { isAppealMiniGuideOpen && < Appeal toggleMiniGuide = { toggleIsAppealMiniGuideOpen } /> }
200+ { isBinaryVotingMiniGuideOpen && < BinaryVoting toggleMiniGuide = { toggleIsBinaryVotingMiniGuideOpen } /> }
201+ { isDisputeResolverMiniGuideOpen && < DisputeResolver toggleMiniGuide = { toggleIsDisputeResolverMiniGuideOpen } /> }
202+ { isRankedVotingMiniGuideOpen && < RankedVoting toggleMiniGuide = { toggleIsRankedVotingMiniGuideOpen } /> }
203+ { isStakingMiniGuideOpen && < Staking toggleMiniGuide = { toggleIsStakingMiniGuideOpen } /> }
164204 { isOnboardingMiniGuidesOpen && < Onboarding toggleMiniGuide = { toggleIsOnboardingMiniGuidesOpen } /> }
165205 </ >
166206 ) ;
0 commit comments