Skip to content

Commit 36fd09a

Browse files
authored
Merge pull request #6 from AngyDev/feature/feature-router-page
Feature/feature router page
2 parents 6cd565b + 371bfff commit 36fd09a

File tree

5 files changed

+40
-35
lines changed

5 files changed

+40
-35
lines changed
Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
import React from "react";
2+
import Sidebar from "../Sidebar/Sidebar";
3+
import Main from "../Main/Main";
4+
5+
export default function Layout({children}) {
6+
return (
7+
<div className="app-container">
8+
<Sidebar />
9+
<Main>{children}</Main>
10+
</div>
11+
)
12+
}

src/scripts/components/Main/Main.js

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -3,16 +3,16 @@ import Header from "../Header/Header";
33
import Step from "../Step/Step";
44
import Navbar from "../Navbar/Navbar";
55

6-
export default function Main() {
6+
export default function Main({ children }) {
77
return (
88
<div data-testid="main" className="main flex flex-col">
9-
<hr className="spacing spacing--2"/>
9+
<hr className="spacing spacing--2" />
1010
<div className="main__container flex flex-col justify-between">
1111
<Header />
12-
<Step />
12+
<Step >{children}</Step>
1313
<Navbar />
1414
</div>
15-
<hr className="spacing spacing--3"/>
15+
<hr className="spacing spacing--3" />
1616
</div>
1717
)
1818
}

src/scripts/components/Navbar/Navbar.js

Lines changed: 6 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -2,19 +2,22 @@ import React, { useContext } from "react";
22
import Button from "../Button/Button";
33
import { StepContext } from "../../context/StepContext";
44
import { UserContext } from "../../context/UserContext";
5-
import { Link } from "react-router-dom";
5+
import { Link, useHistory } from "react-router-dom";
66

77
export default function Navbar() {
88

99
const [step, setStep] = useContext(StepContext);
1010
const [user, setUser] = useContext(UserContext);
11+
let history = useHistory();
1112

1213
/**
1314
* Skips the step without any checks on the inputs
1415
*/
1516
const skipStep = () => {
1617
if (step < 3) {
1718
setStep(step + 1);
19+
// go to the next page
20+
history.push('/step' + (step + 1))
1821
}
1922
}
2023

@@ -33,25 +36,8 @@ export default function Navbar() {
3336
<Button typeClass="link" text="Back to the homepage" arrow="right" handleClick={backToHome} />
3437
</Link>
3538
<div className="flex">
36-
{(step === 1) &&
37-
<Link to="/step2">
38-
<Button typeClass="btn btn__skip pad" text="Skip for now" handleClick={skipStep} />
39-
</Link>
40-
}
41-
{(step === 2) &&
42-
<Link to="/step3">
43-
<Button typeClass="btn btn__skip pad" text="Skip for now" handleClick={skipStep} />
44-
</Link>
45-
}
46-
{(step === 3) &&
47-
<Link to="/step3">
48-
<Button typeClass="btn btn__skip pad" text="Skip for now" handleClick={skipStep} />
49-
</Link>
50-
}
51-
{
52-
step === 3 ? <Button typeClass="btn btn__next" text="Finish" form="form-id" />
53-
: <Button typeClass="btn btn__next" text="Next Step" arrow="left" form="form-id" />
54-
}
39+
<Button typeClass="btn btn__skip pad" text="Skip for now" handleClick={skipStep} />
40+
<Button typeClass="btn btn__next" text={step === 3 ? "Finish" : "Next Step"} arrow={ step!==3 && "left"} form="form-id" />
5541
</div>
5642
</div>
5743
)

src/scripts/components/Step/Step.js

Lines changed: 2 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ import ContactDetails from "../ContactDetails/ContactDetails";
66
import InvestmentPlans from "../InvestmentPlans/InvestmentPlans";
77
import InvestmentPreferences from "../InvestmentPreferences/InvestmentPreferences";
88

9-
export default function Step() {
9+
export default function Step({children}) {
1010

1111
const [step, setStep] = useContext(StepContext);
1212

@@ -16,11 +16,7 @@ export default function Step() {
1616
<div className="step__title">{steps.stepPage[step].title}</div>
1717
<div className="step__caption">{steps.stepPage[step].caption}</div>
1818
</div>
19-
<Switch>
20-
<Route exact path="/" component={ContactDetails} />
21-
<Route path="/step2" component={InvestmentPlans} />
22-
<Route path="/step3" component={InvestmentPreferences} />
23-
</Switch>
19+
{children}
2420
</div>
2521
)
2622
}

src/scripts/features/App/App.js

Lines changed: 16 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,11 @@ import Sidebar from "../../components/Sidebar/Sidebar";
33
import Main from "../../components/Main/Main";
44
import { StepContext } from "../../context/StepContext";
55
import { UserProvider } from "../../context/UserContext";
6-
import { BrowserRouter } from "react-router-dom";
6+
import { BrowserRouter, Route, Switch } from "react-router-dom";
7+
import Layout from "../../components/Layout/Layout";
8+
import ContactDetails from "../../components/ContactDetails/ContactDetails";
9+
import InvestmentPlans from "../../components/InvestmentPlans/InvestmentPlans";
10+
import InvestmentPreferences from "../../components/InvestmentPreferences/InvestmentPreferences";
711

812
export default function App() {
913

@@ -13,10 +17,17 @@ export default function App() {
1317
<StepContext.Provider value={[step, setStep]}>
1418
<UserProvider >
1519
<BrowserRouter>
16-
<div className="app-container">
17-
<Sidebar />
18-
<Main />
19-
</div>
20+
<Switch>
21+
<Route exact path="/">
22+
<Layout><ContactDetails /></Layout>
23+
</Route>
24+
<Route path="/step2">
25+
<Layout><InvestmentPlans /></Layout>
26+
</Route>
27+
<Route path="/step3">
28+
<Layout><InvestmentPreferences /></Layout>
29+
</Route>
30+
</Switch>
2031
</BrowserRouter>
2132
</UserProvider>
2233
</StepContext.Provider>

0 commit comments

Comments
 (0)