@@ -13,74 +13,149 @@ import Configuracoes from "./pages/Configuracoes";
1313import Notificacoes from "./pages/Notificacoes" ;
1414
1515export default function App ( ) {
16- const location = useLocation ( ) ;
17- const publicRoutes = [ "/login" , "/register" , "/forgot-password" , "/reset-password" , "/" ] ;
18- const isPublicRoute = publicRoutes . includes ( location . pathname ) ;
19- const authenticated = isAuthenticated ( ) ;
20-
21- return (
22- < div style = { styles . container } >
23- { ! isPublicRoute && authenticated && < Sidebar /> }
24-
25- < div style = { { ...styles . content , marginLeft : ( ! isPublicRoute && authenticated ) ? "256px" : "0" } } >
26- < Routes >
27- < Route path = "/" element = { < Navigate to = "/dashboard" replace /> } />
28- < Route
29- path = "/login"
30- element = { authenticated ? < Navigate to = "/dashboard" replace /> : < Login /> }
31- />
32- < Route
33- path = "/register"
34- element = { authenticated ? < Navigate to = "/clientes" replace /> : < Register /> }
35- />
36- < Route
37- path = "/forgot-password"
38- element = { authenticated ? < Navigate to = "/clientes" replace /> : < ForgotPassword /> }
39- />
40- < Route
41- path = "/reset-password"
42- element = { < ResetPassword /> }
43- />
44- < Route
45- path = "/clientes"
46- element = { authenticated ? < Clientes /> : < Navigate to = "/login" replace /> }
47- />
48- < Route
49- path = "/relatorios"
50- element = { authenticated ? < Reports /> : < Navigate to = "/login" replace /> }
51- />
52- < Route
53- path = "/dashboard"
54- element = { authenticated ? < Dashboard /> : < Navigate to = "/login" replace /> }
55- />
56- < Route
57- path = "/emprestimos"
58- element = { authenticated ? < Emprestimos /> : < Navigate to = "/login" replace /> }
59- />
60-
61- < Route
62- path = "/configuracoes"
63- element = { authenticated ? < Configuracoes /> : < Navigate to = "/login" replace /> }
64- />
65-
66- < Route
67- path = "/notificacoes"
68- element = { authenticated ? < Notificacoes /> : < Navigate to = "/login" replace /> }
69- />
70-
71- </ Routes >
72- </ div >
73- </ div >
74- ) ;
16+ const location = useLocation ( ) ;
17+
18+ const publicRoutes = [
19+ "/login" ,
20+ "/register" ,
21+ "/forgot-password" ,
22+ "/reset-password" ,
23+ "/" ,
24+ ] ;
25+
26+ const isPublicRoute = publicRoutes . includes ( location . pathname ) ;
27+ const authenticated = isAuthenticated ( ) ;
28+
29+ return (
30+ < div style = { styles . container } >
31+ { ! isPublicRoute && authenticated && < Sidebar /> }
32+
33+ < div
34+ style = { {
35+ ...styles . content ,
36+ marginLeft : ! isPublicRoute && authenticated ? "256px" : "0" ,
37+ } }
38+ >
39+ < Routes >
40+ < Route path = "/" element = { < Navigate to = "/dashboard" replace /> } />
41+
42+ < Route
43+ path = "/login"
44+ element = {
45+ authenticated ? (
46+ < Navigate to = "/dashboard" replace />
47+ ) : (
48+ < Login />
49+ )
50+ }
51+ />
52+
53+ < Route
54+ path = "/register"
55+ element = {
56+ authenticated ? (
57+ < Navigate to = "/clientes" replace />
58+ ) : (
59+ < Register />
60+ )
61+ }
62+ />
63+
64+ < Route
65+ path = "/forgot-password"
66+ element = {
67+ authenticated ? (
68+ < Navigate to = "/clientes" replace />
69+ ) : (
70+ < ForgotPassword />
71+ )
72+ }
73+ />
74+
75+ < Route
76+ path = "/reset-password"
77+ element = { < ResetPassword /> }
78+ />
79+
80+ < Route
81+ path = "/clientes"
82+ element = {
83+ authenticated ? (
84+ < Clientes />
85+ ) : (
86+ < Navigate to = "/login" replace />
87+ )
88+ }
89+ />
90+
91+ < Route
92+ path = "/relatorios"
93+ element = {
94+ authenticated ? (
95+ < Reports />
96+ ) : (
97+ < Navigate to = "/login" replace />
98+ )
99+ }
100+ />
101+
102+ < Route
103+ path = "/dashboard"
104+ element = {
105+ authenticated ? (
106+ < Dashboard />
107+ ) : (
108+ < Navigate to = "/login" replace />
109+ )
110+ }
111+ />
112+
113+ < Route
114+ path = "/emprestimos"
115+ element = {
116+ authenticated ? (
117+ < Emprestimos />
118+ ) : (
119+ < Navigate to = "/login" replace />
120+ )
121+ }
122+ />
123+
124+ < Route
125+ path = "/configuracoes"
126+ element = {
127+ authenticated ? (
128+ < Configuracoes />
129+ ) : (
130+ < Navigate to = "/login" replace />
131+ )
132+ }
133+ />
134+
135+ < Route
136+ path = "/notificacoes"
137+ element = {
138+ authenticated ? (
139+ < Notificacoes />
140+ ) : (
141+ < Navigate to = "/login" replace />
142+ )
143+ }
144+ />
145+ </ Routes >
146+ </ div >
147+ </ div >
148+ ) ;
75149}
76150
77151const styles = {
78- container : {
79- display : "flex" ,
80- minHeight : "100vh" ,
81- } ,
82- content : {
83- flex : 1 ,
84- minHeight : "100vh" ,
85- } ,
152+ container : {
153+ display : "flex" ,
154+ minHeight : "100vh" ,
155+ } ,
156+
157+ content : {
158+ flex : 1 ,
159+ minHeight : "100vh" ,
160+ } ,
86161} ;
0 commit comments