# elementor/3.8.0-beta1/app/modules/kit-library/assets/js/app.js

Elementor Website Builder – more than just a page builder, version 3.8.0-beta1. 40 lines.

- Page: https://pluginprobe.com/plugins/elementor/3.8.0-beta1/code/app/modules/kit-library/assets/js/app.js
- Raw: https://pluginprobe.com/plugins/elementor/3.8.0-beta1/raw/app/modules/kit-library/assets/js/app.js
- Modified: 2022-09-19T16:26:20+00:00

Line numbers below start at 1. Link to a line or a range by appending a fragment to the
page URL, for example `https://pluginprobe.com/plugins/elementor/3.8.0-beta1/code/app/modules/kit-library/assets/js/app.js#L10-L20`.

```javascript
import Favorites from './pages/favorites/favorites';
import Index from './pages/index';
import Overview from './pages/overview/overview';
import Preview from './pages/preview/preview';
import { LastFilterProvider } from './context/last-filter-context';
import { QueryClientProvider, QueryClient } from 'react-query';
import { ReactQueryDevtools } from 'react-query/devtools';
import { Router } from '@reach/router';
import { SettingsProvider } from './context/settings-context';

const queryClient = new QueryClient( {
	defaultOptions: {
		queries: {
			refetchOnWindowFocus: false,
			retry: false,
			staleTime: 1000 * 60 * 30, // 30 minutes
		},
	},
} );

export default function App() {
	return (
		<div className="e-kit-library">
			<QueryClientProvider client={ queryClient }>
				<SettingsProvider value={ elementorAppConfig[ 'kit-library' ] }>
					<LastFilterProvider>
						<Router>
							<Index path="/" />
							<Favorites path="/favorites" />
							<Preview path="/preview/:id" />
							<Overview path="/overview/:id" />
						</Router>
					</LastFilterProvider>
				</SettingsProvider>
				{ elementorCommon.config.isElementorDebug && <ReactQueryDevtools initialIsOpen={ false } /> }
			</QueryClientProvider>
		</div>
	);
}

```
