Skip to content
Snippets Groups Projects
Commit 03249787 authored by Gabriel Silva Hermida's avatar Gabriel Silva Hermida Committed by Stephanie Briere Americo
Browse files

Issue #49: Adicionar segurança nas rotas

parent 28498701
No related branches found
No related tags found
2 merge requests!58Version 1.1,!54Issue #53: Fix password info
import React from "react"; import React from "react";
import { HashRouter, Route, Redirect } from "react-router-dom";
import "./global.css"; import "./global.css";
import CreateForm from "./pages/CreateForm"; import Routes from "./routes";
import AnswerForm from "./pages/AnswerForm"; import { BrowserRouter as Router } from "react-router-dom";
import Header from "./components/header/header";
import Footer from "./components/footer/footer";
import SignUp from "./pages/SignUp";
import SignIn from "./pages/SignIn";
import ListForms from "./pages/ListForms";
import EditForm from "./pages/EditForm";
import GetForm from "./pages/GetForm";
import VisualizeForm from "./pages/VisualizeForm";
function App() { function App() {
return ( return (
<HashRouter> <Router>
<Header /> <Routes />
<Route exact path="/"> </Router>
<Redirect to="/SignIn" />
</Route>
<Route path="/SignUp" component={SignUp} />
<Route path="/SignIn" component={SignIn} />
<Route path="/visualize/:id" component={VisualizeForm} />
<Route path="/create" component={CreateForm} />
<Route path="/answer/:id" component={AnswerForm} />
<Route path="/edit/:id" component={EditForm} />
<Route path="/list/:id" component={ListForms} />
<Route path="/form/:id" component={GetForm} />
<Footer />
</HashRouter>
); );
} }
......
...@@ -8,21 +8,21 @@ import Typography from "@material-ui/core/Typography"; ...@@ -8,21 +8,21 @@ import Typography from "@material-ui/core/Typography";
import FieldFooterOptions from "./FieldFooterOptions"; import FieldFooterOptions from "./FieldFooterOptions";
const useStyles = makeStyles(theme => ({ const useStyles = makeStyles((theme) => ({
paper: { paper: {
padding: theme.spacing(3), padding: theme.spacing(3),
width: theme.spacing(100), width: theme.spacing(100),
marginBottom: "2%", marginBottom: "2%",
["@media (max-width: 896px)"]: { ["@media (max-width: 896px)"]: {
width: "300px" width: "300px",
} },
}, },
questionsGrid: { questionsGrid: {
marginBottom: "20px" marginBottom: "20px",
}, },
text: { text: {
color: "black" color: "black",
} },
})); }));
function FormFieldSelect(props) { function FormFieldSelect(props) {
...@@ -32,9 +32,8 @@ function FormFieldSelect(props) { ...@@ -32,9 +32,8 @@ function FormFieldSelect(props) {
* Function to handle the selected answer. * Function to handle the selected answer.
*/ */
function handleProps() { function handleProps() {
console.log(props.answer);
if (props.answer) { if (props.answer) {
return props.answer.filter(each => { return props.answer.filter((each) => {
return each.value === "true"; return each.value === "true";
})[0].placement; })[0].placement;
} else { } else {
......
...@@ -70,7 +70,6 @@ export default function Header() { ...@@ -70,7 +70,6 @@ export default function Header() {
return false; return false;
} }
useEffect(() => { useEffect(() => {
console.log("O TOKEN MUDOU");
setIsLoged(!isLoged); setIsLoged(!isLoged);
}, [window.sessionStorage.getItem("token")]); }, [window.sessionStorage.getItem("token")]);
......
...@@ -79,7 +79,6 @@ export default function ListForms() { ...@@ -79,7 +79,6 @@ export default function ListForms() {
* @param string - the string value to be searched. * @param string - the string value to be searched.
*/ */
function searching(string) { function searching(string) {
console.log(string);
setAuxForms( setAuxForms(
[...forms].filter(value => { [...forms].filter(value => {
return value.title.toLowerCase().includes(string.toLowerCase()); return value.title.toLowerCase().includes(string.toLowerCase());
......
...@@ -262,7 +262,6 @@ export default function SignUp() { ...@@ -262,7 +262,6 @@ export default function SignUp() {
</Grid> </Grid>
<Grid> <Grid>
<IconButton <IconButton
type="submit"
size="medium" size="medium"
className={classes.button} className={classes.button}
id="whiteTextedButton" id="whiteTextedButton"
......
import React, { useEffect } from "react";
import CreateForm from "./pages/CreateForm";
import AnswerForm from "./pages/AnswerForm";
import Header from "./components/header/header";
import Footer from "./components/footer/footer";
import SignUp from "./pages/SignUp";
import SignIn from "./pages/SignIn";
import ListForms from "./pages/ListForms";
import EditForm from "./pages/EditForm";
import GetForm from "./pages/GetForm";
import VisualizeForm from "./pages/VisualizeForm";
import { BrowserRouter, Route, Switch, Redirect } from "react-router-dom";
const PrivateRoute = ({ component: Component, ...rest }) => {
let usr;
rest.path === "/list/:id" &&
rest.computedMatch.params.id === window.sessionStorage.getItem("userId") &&
(usr = true);
return (
<Route
{...rest}
render={(props) =>
usr && window.sessionStorage.getItem("token") !== null ? (
<Component {...props} />
) : (
<Redirect to={{ pathname: "/" }} />
)
}
/>
);
};
const Routes = () => (
<BrowserRouter>
<Header />
<Switch>
<Route exact path="/">
<Redirect to="/SignIn" />
</Route>
<Route exact path="/SignUp" component={SignUp} />
<Route exact path="/SignIn" component={SignIn} />
<PrivateRoute
exact
path="/visualize/:id"
component={() => <VisualizeForm />}
/>
<PrivateRoute exact path="/create" component={() => <CreateForm />} />
<PrivateRoute exact path="/answer/:id" component={() => <AnswerForm />} />
<PrivateRoute exact path="/edit/:id" component={() => <EditForm />} />
<PrivateRoute exact path="/list/:id" component={() => <ListForms />} />
<PrivateRoute exact path="/form/:id" component={() => <GetForm />} />
</Switch>
<Footer />
</BrowserRouter>
);
export default Routes;
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment