App.js 2.7 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980
  1. import React from 'react';
  2. import {connect} from 'react-redux';
  3. import {Switch, Route} from "react-router-dom";
  4. // import { BrowserHistory } from 'react-history'
  5. import {
  6. getDoctors,
  7. getServices,
  8. } from "./actions/actions";
  9. import Loader from "./components/loader";
  10. import Header from "./components/header/index";
  11. import Main from "./components/main/Main";
  12. import Doctors from "./components/specialists/Doctors";
  13. import Services from "./components/servises/Services";
  14. import Categories from "./components/servises/categories"
  15. import MoreInfo from "./components/specialists/MoreInfo";
  16. import Appointment from "./components/appointment/Appointment";
  17. import Reviews from "./components/Reviews";
  18. import Admin from './components/Admin/Admin';
  19. import Auth from './containers/auth';
  20. import Footer from "./components/Footer";
  21. // import Calendar from "./components/Calendar"
  22. export class App extends React.Component {
  23. componentDidMount() {
  24. this.props.getDoctors();
  25. this.props.getServices();
  26. // console.log (this.props.app)
  27. // fetch ("https://api-clinics.herokuapp.com/api/v1/auth/login", {
  28. // method : "POST",
  29. // credentials: "include",
  30. // headers: {
  31. // "Content-Type": "application/json"
  32. // },
  33. // body: JSON.stringify ({
  34. // email: "test@test.com",
  35. // password: "qwerty"
  36. // })
  37. // })
  38. // .then (res => res.json ())
  39. // .then (res => console.log (res))
  40. }
  41. render() {
  42. return (
  43. <Loader flag={this.props.app.isFetching}>
  44. <Header/>
  45. <Switch>
  46. <Route exact path="/" component={Main} />
  47. <Route exact path="/doctors" component={Doctors} />
  48. <Route exact path="/services" component={Services} />
  49. <Route exact path="/doctors/:doctor" component={MoreInfo} />
  50. <Route exact path="/services/:service" component={Categories} />
  51. <Route exact path="/reviews" component={Reviews}/>
  52. <Route path="/admin/" component={Admin} />
  53. <Route exact path="/appointment/:doctorId" component={Appointment}/>
  54. <Route exact path="/auth" component={Auth} />
  55. </Switch>
  56. <Footer />
  57. </Loader>
  58. );
  59. }
  60. }
  61. const mapStateToProps = state => {
  62. return {
  63. app:state.app,
  64. }
  65. };
  66. const mapDispatchToProps = {
  67. getDoctors,
  68. getServices,
  69. };
  70. export default connect (mapStateToProps,mapDispatchToProps)(App)