import React from 'react';
import ReactDOM from 'react-dom';
import 'tailwindcss/tailwind.css';
import {
  BrowserRouter as Router,
  Switch,
  Route,
} from 'react-router-dom';
import Header from './components/Header';
import Home from './containers/Home';
import Service from './containers/Service/Service';
import { ServiceProvider } from './containers/Service/ServiceContext';
import services from './services';

const navigation = [
  { name: 'Главная', route: '/' },
  ...services.map(({ name, route }) => ({ name, route: `/${route}` })),
];

const App: React.FC = () => (
  <Router>
    <Header navigation={navigation} />
    <Switch>
      <Route exact path="/" component={Home} />
      {services.map(service => (
        <Route path={`/${service.route}`} key={service.route}>
          <ServiceProvider value={service}>
            <Service />
          </ServiceProvider>
        </Route>
      ))}
    </Switch>
  </Router>
);

ReactDOM.render(
  <React.StrictMode>
    <App />
  </React.StrictMode>,
  document.getElementById('root'),
);
