@@ -5,6 +5,7 @@ import { Loading } from 'src/components/Loading';
55import { Route , Switch } from 'react-router-dom' ;
66import { PrivateRoute } from './PrivateRoute' ;
77import { MainLayout } from 'src/pages/layouts/MainLayout' ;
8+ import { Helmet , HelmetProvider } from 'react-helmet-async' ;
89
910// ---> Static pages
1011const HomePage = lazy ( ( ) => import ( 'src/pages/HomePages/HomePage' ) ) ;
@@ -37,53 +38,66 @@ const ProductEditPage = lazy(
3738// ---> Error pages
3839const NotFoundPage = lazy ( ( ) => import ( 'src/pages/ErrorPages/404Pages' ) ) ;
3940
41+ const helmetContext = { } ;
42+
4043export const Routes = ( ) => {
4144 return (
4245 < BrowserRouter >
43- < MainLayout >
44- < Suspense fallback = { < Loading /> } >
45- < Switch >
46- { /* Static pages routes */ }
47- < Route exact path = { PATH . HOME } component = { HomePage } />
48- < Route exact path = { PATH . ABOUT } component = { AboutPage } />
49- < Route exact path = { PATH . DEMO1 } component = { Demo1Page } />
50- < Route exact path = { PATH . DEMO2 } component = { Demo2Page } />
51- < Route exact path = { PATH . FEATURE1 } component = { Feature1Page } />
52- < Route exact path = { PATH . FEATURE2 } component = { Feature2Page } />
53- < Route exact path = { PATH . CONTACT } component = { ContactPage } />
46+ < HelmetProvider context = { helmetContext } >
47+ < Helmet >
48+ < meta charSet = "utf-8" />
49+ < title > React TS Boilerplate</ title >
50+ < link
51+ rel = "canonical"
52+ href = "https://reactts-boilerplate.netlify.app/"
53+ />
54+ </ Helmet >
55+
56+ < MainLayout >
57+ < Suspense fallback = { < Loading /> } >
58+ < Switch >
59+ { /* Static pages routes */ }
60+ < Route exact path = { PATH . HOME } component = { HomePage } />
61+ < Route exact path = { PATH . ABOUT } component = { AboutPage } />
62+ < Route exact path = { PATH . DEMO1 } component = { Demo1Page } />
63+ < Route exact path = { PATH . DEMO2 } component = { Demo2Page } />
64+ < Route exact path = { PATH . FEATURE1 } component = { Feature1Page } />
65+ < Route exact path = { PATH . FEATURE2 } component = { Feature2Page } />
66+ < Route exact path = { PATH . CONTACT } component = { ContactPage } />
5467
55- { /* Auth routes */ }
56- < Route exact path = { PATH . LOGIN } component = { LoginPage } />
57- < Route exact path = { PATH . REGISTER } component = { RegisterPage } />
58- < PrivateRoute exact path = { PATH . PROFILE } component = { ProfilePage } />
68+ { /* Auth routes */ }
69+ < Route exact path = { PATH . LOGIN } component = { LoginPage } />
70+ < Route exact path = { PATH . REGISTER } component = { RegisterPage } />
71+ < PrivateRoute exact path = { PATH . PROFILE } component = { ProfilePage } />
5972
60- { /* Products routes */ }
61- < PrivateRoute
62- exact
63- path = { PATH . PRODUCTS }
64- component = { ProductListPage }
65- />
66- < PrivateRoute
67- exact
68- path = { PATH . PRODUCT_NEW }
69- component = { ProductNewPage }
70- />
71- < PrivateRoute
72- exact
73- path = { PATH . PRODUCT_SHOW }
74- component = { ProductItemPage }
75- />
76- < PrivateRoute
77- exact
78- path = { PATH . PRODUCT_EDIT }
79- component = { ProductEditPage }
80- />
73+ { /* Products routes */ }
74+ < PrivateRoute
75+ exact
76+ path = { PATH . PRODUCTS }
77+ component = { ProductListPage }
78+ />
79+ < PrivateRoute
80+ exact
81+ path = { PATH . PRODUCT_NEW }
82+ component = { ProductNewPage }
83+ />
84+ < PrivateRoute
85+ exact
86+ path = { PATH . PRODUCT_SHOW }
87+ component = { ProductItemPage }
88+ />
89+ < PrivateRoute
90+ exact
91+ path = { PATH . PRODUCT_EDIT }
92+ component = { ProductEditPage }
93+ />
8194
82- { /* Error routes */ }
83- < Route component = { NotFoundPage } />
84- </ Switch >
85- </ Suspense >
86- </ MainLayout >
95+ { /* Error routes */ }
96+ < Route component = { NotFoundPage } />
97+ </ Switch >
98+ </ Suspense >
99+ </ MainLayout >
100+ </ HelmetProvider >
87101 </ BrowserRouter >
88102 ) ;
89103} ;
0 commit comments