Skip to content

Commit 2793d86

Browse files
feat(web): setup extra path to the notifications and onboarding miniguide
1 parent 9f27b76 commit 2793d86

File tree

5 files changed

+29
-5
lines changed

5 files changed

+29
-5
lines changed

web/src/app.tsx

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -35,6 +35,8 @@ const App: React.FC = () => {
3535
<SentryRoutes>
3636
<Route path="/" element={<Layout />}>
3737
<Route index element={<Home />} />
38+
<Route path="onboarding" element={<Home />} />
39+
<Route path="notifications" element={<Home />} />
3840
<Route path="cases/*" element={<Cases />} />
3941
<Route path="courts/*" element={<Courts />} />
4042
<Route path="dashboard/:page/:order/:filter" element={<Dashboard />} />

web/src/layout/Header/DesktopHeader.tsx

Lines changed: 14 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import React from "react";
1+
import React, { useEffect, useState } from "react";
22
import styled, { css } from "styled-components";
33

44
import { useToggle } from "react-use";
@@ -90,6 +90,18 @@ const DesktopHeader = () => {
9090
const [isDappListOpen, toggleIsDappListOpen] = useToggle(false);
9191
const [isHelpOpen, toggleIsHelpOpen] = useToggle(false);
9292
const [isSettingsOpen, toggleIsSettingsOpen] = useToggle(false);
93+
const [initialTab, setInitialTab] = useState<number>(0);
94+
95+
const initializeNotifications = () => {
96+
const hasNotifications = window.location.hash.includes("#notifications");
97+
toggleIsSettingsOpen(hasNotifications);
98+
setInitialTab(hasNotifications ? 1 : 0);
99+
};
100+
101+
useEffect(() => {
102+
initializeNotifications();
103+
}, []);
104+
93105
useLockOverlayScroll(isDappListOpen || isHelpOpen || isSettingsOpen);
94106

95107
return (
@@ -124,7 +136,7 @@ const DesktopHeader = () => {
124136
<Overlay />
125137
{isDappListOpen && <DappList {...{ toggleIsDappListOpen, isDappListOpen }} />}
126138
{isHelpOpen && <Help {...{ toggleIsHelpOpen, isHelpOpen }} />}
127-
{isSettingsOpen && <Settings {...{ toggleIsSettingsOpen, isSettingsOpen }} />}
139+
{isSettingsOpen && <Settings {...{ toggleIsSettingsOpen, isSettingsOpen, initialTab }} />}
128140
</PopupContainer>
129141
)}
130142
</>

web/src/layout/Header/navbar/Menu/Settings/index.tsx

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -73,8 +73,8 @@ const TABS = [
7373
},
7474
];
7575

76-
const Settings: React.FC<ISettings> = ({ toggleIsSettingsOpen }) => {
77-
const [currentTab, setCurrentTab] = useState<number>(0);
76+
const Settings: React.FC<ISettings> = ({ toggleIsSettingsOpen, initialTab }) => {
77+
const [currentTab, setCurrentTab] = useState<number>(initialTab || 0);
7878
const containerRef = useRef(null);
7979
useClickAway(containerRef, () => toggleIsSettingsOpen());
8080

web/src/layout/Header/navbar/index.tsx

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -82,6 +82,7 @@ const PopupContainer = styled.div`
8282

8383
export interface ISettings {
8484
toggleIsSettingsOpen: () => void;
85+
initialTab?: number;
8586
}
8687

8788
export interface IHelp {

web/src/pages/Home/index.tsx

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,16 @@
1-
import React from "react";
1+
import React, { useEffect } from "react";
22
import styled from "styled-components";
33

4+
import { useToggle } from "react-use";
5+
46
import { HomePageProvider } from "hooks/useHomePageContext";
57
import { getOneYearAgoTimestamp } from "utils/date";
68

79
import { responsiveSize } from "styles/responsiveSize";
810

911
import HeroImage from "components/HeroImage";
1012
import LatestCases from "components/LatestCases";
13+
import Onboarding from "components/Popup/MiniGuides/Onboarding";
1114

1215
import Community from "./Community";
1316
import CourtOverview from "./CourtOverview";
@@ -22,8 +25,14 @@ const Container = styled.div`
2225
`;
2326

2427
const Home: React.FC = () => {
28+
const [isOnboardingMiniGuidesOpen, toggleIsOnboardingMiniGuidesOpen] = useToggle(false);
29+
useEffect(() => {
30+
toggleIsOnboardingMiniGuidesOpen(window.location.hash.includes("#onboarding"));
31+
}, []);
32+
2533
return (
2634
<HomePageProvider timeframe={getOneYearAgoTimestamp()}>
35+
{isOnboardingMiniGuidesOpen && <Onboarding toggleMiniGuide={toggleIsOnboardingMiniGuidesOpen} />}
2736
<HeroImage />
2837
<Container>
2938
<CourtOverview />

0 commit comments

Comments
 (0)