@@ -2,6 +2,7 @@ import { ApolloProvider } from '@apollo/client';
2
2
import { ChakraProvider , ColorModeScript } from '@chakra-ui/react' ;
3
3
import { theme } from '@codiga/components' ;
4
4
import { MemoryRouter as Router , Routes , Route } from 'react-router-dom' ;
5
+ import { Provider as RollbarProvider , ErrorBoundary } from '@rollbar/react' ;
5
6
6
7
// PAGES
7
8
import Home from './pages/Home' ;
@@ -21,6 +22,7 @@ import './styles/app.css';
21
22
22
23
// OTHER
23
24
import client from './graphql/client' ;
25
+ import { rollbarConfig } from './lib/rollbar' ;
24
26
import Layout from './components/Layout' ;
25
27
import Filters from './components/Filters/Filters' ;
26
28
import { UserProvider } from './components/UserContext' ;
@@ -29,49 +31,59 @@ import { FiltersProvider } from './components/FiltersContext';
29
31
30
32
export default function App ( ) {
31
33
return (
32
- < ApolloProvider client = { client } >
33
- < ColorModeScript initialColorMode = "system" />
34
- < ChakraProvider theme = { theme } >
35
- < UserProvider >
36
- < ThemeProvider >
37
- < FiltersProvider >
38
- < Router >
39
- < Layout >
40
- < Routes >
41
- < Route element = { < Filters /> } >
42
- < Route path = "/" element = { < Home /> } />
43
- < Route path = "/my-snippets" element = { < MySnippets /> } />
44
- < Route
45
- path = "/favorite-snippets"
46
- element = { < FavoriteSnippets /> }
47
- />
48
- < Route path = "/my-cookbooks" element = { < MyCookbooks /> } />
49
- < Route
50
- path = "/favorite-cookbooks"
51
- element = { < FavoriteCookbooks /> }
52
- />
53
- < Route path = "/team-snippets" element = { < TeamSnippets /> } />
54
- < Route
55
- path = "/team-cookbooks"
56
- element = { < TeamCookbooks /> }
57
- />
58
- </ Route >
34
+ < RollbarProvider config = { rollbarConfig } >
35
+ < ErrorBoundary >
36
+ < ApolloProvider client = { client } >
37
+ < ColorModeScript initialColorMode = "system" />
38
+ < ChakraProvider theme = { theme } >
39
+ < UserProvider >
40
+ < ThemeProvider >
41
+ < FiltersProvider >
42
+ < Router >
43
+ < Layout >
44
+ < Routes >
45
+ < Route element = { < Filters /> } >
46
+ < Route path = "/" element = { < Home /> } />
47
+ < Route path = "/my-snippets" element = { < MySnippets /> } />
48
+ < Route
49
+ path = "/favorite-snippets"
50
+ element = { < FavoriteSnippets /> }
51
+ />
52
+ < Route
53
+ path = "/my-cookbooks"
54
+ element = { < MyCookbooks /> }
55
+ />
56
+ < Route
57
+ path = "/favorite-cookbooks"
58
+ element = { < FavoriteCookbooks /> }
59
+ />
60
+ < Route
61
+ path = "/team-snippets"
62
+ element = { < TeamSnippets /> }
63
+ />
64
+ < Route
65
+ path = "/team-cookbooks"
66
+ element = { < TeamCookbooks /> }
67
+ />
68
+ </ Route >
59
69
60
- < Route
61
- path = "/view-snippet/:snippetId"
62
- element = { < ViewSnippet /> }
63
- />
64
- < Route
65
- path = "/view-cookbook/:cookbookId"
66
- element = { < ViewCookbookSnippets /> }
67
- />
68
- </ Routes >
69
- </ Layout >
70
- </ Router >
71
- </ FiltersProvider >
72
- </ ThemeProvider >
73
- </ UserProvider >
74
- </ ChakraProvider >
75
- </ ApolloProvider >
70
+ < Route
71
+ path = "/view-snippet/:snippetId"
72
+ element = { < ViewSnippet /> }
73
+ />
74
+ < Route
75
+ path = "/view-cookbook/:cookbookId"
76
+ element = { < ViewCookbookSnippets /> }
77
+ />
78
+ </ Routes >
79
+ </ Layout >
80
+ </ Router >
81
+ </ FiltersProvider >
82
+ </ ThemeProvider >
83
+ </ UserProvider >
84
+ </ ChakraProvider >
85
+ </ ApolloProvider >
86
+ </ ErrorBoundary >
87
+ </ RollbarProvider >
76
88
) ;
77
89
}
0 commit comments