import React from 'react';
import { BrowserRouter as Router } from 'react-router-dom';
import { ClientContextProvider } from './context';
import ThemeProvider from './context/ThemeProvider';
import { UserStateProvider } from './context/UserContext';
import Routes from './Routes';

function App(): React.ReactElement {
  return (
    <ClientContextProvider>
      <UserStateProvider>
        <ThemeProvider>
          <Router>
            <Routes />
          </Router>
        </ThemeProvider>
      </UserStateProvider>
    </ClientContextProvider>
  );
}

export default App;