Mila-Zagrevskaya hace 5 años
padre
commit
74be2bdc0e

+ 60 - 56
package-lock.json

@@ -778,6 +778,22 @@
         "regexpu-core": "^4.5.4"
       }
     },
+    "@babel/polyfill": {
+      "version": "7.4.4",
+      "resolved": "https://registry.npmjs.org/@babel/polyfill/-/polyfill-7.4.4.tgz",
+      "integrity": "sha512-WlthFLfhQQhh+A2Gn5NSFl0Huxz36x86Jn+E9OW7ibK8edKPq+KLy4apM1yDpQ8kJOVi1OVjpP4vSDLdrI04dg==",
+      "requires": {
+        "core-js": "^2.6.5",
+        "regenerator-runtime": "^0.13.2"
+      },
+      "dependencies": {
+        "core-js": {
+          "version": "2.6.9",
+          "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.6.9.tgz",
+          "integrity": "sha512-HOpZf6eXmnl7la+cUdMnLvUxKNqLUzJvgIziQ0DiF3JwSImNphIqdGqzj6hIKyX04MmV0poclQ7+wjWvxQyR2A=="
+        }
+      }
+    },
     "@babel/preset-env": {
       "version": "7.5.0",
       "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.5.0.tgz",
@@ -926,6 +942,15 @@
       "resolved": "https://registry.npmjs.org/@csstools/normalize.css/-/normalize.css-9.0.1.tgz",
       "integrity": "sha512-6It2EVfGskxZCQhuykrfnALg7oVeiI6KclWSmGDqB0AiInVrTGB9Jp9i4/Ad21u9Jde/voVQz6eFX/eSg/UsPA=="
     },
+    "@fullpage/react-fullpage": {
+      "version": "0.1.15",
+      "resolved": "https://registry.npmjs.org/@fullpage/react-fullpage/-/react-fullpage-0.1.15.tgz",
+      "integrity": "sha512-gWZQtNimCo27F8qUUCbT2RCSKBkGNbEPoe9JlPchRywCKpypSt43UF6izJ9kUCARysX/vAYzELt6prqjv57M4g==",
+      "requires": {
+        "@babel/polyfill": "^7.2.5",
+        "fullpage.js": "^3.0.7"
+      }
+    },
     "@hapi/address": {
       "version": "2.0.0",
       "resolved": "https://registry.npmjs.org/@hapi/address/-/address-2.0.0.tgz",
@@ -2907,8 +2932,7 @@
             },
             "ansi-regex": {
               "version": "2.1.1",
-              "bundled": true,
-              "optional": true
+              "bundled": true
             },
             "aproba": {
               "version": "1.2.0",
@@ -2926,13 +2950,11 @@
             },
             "balanced-match": {
               "version": "1.0.0",
-              "bundled": true,
-              "optional": true
+              "bundled": true
             },
             "brace-expansion": {
               "version": "1.1.11",
               "bundled": true,
-              "optional": true,
               "requires": {
                 "balanced-match": "^1.0.0",
                 "concat-map": "0.0.1"
@@ -2945,18 +2967,15 @@
             },
             "code-point-at": {
               "version": "1.1.0",
-              "bundled": true,
-              "optional": true
+              "bundled": true
             },
             "concat-map": {
               "version": "0.0.1",
-              "bundled": true,
-              "optional": true
+              "bundled": true
             },
             "console-control-strings": {
               "version": "1.1.0",
-              "bundled": true,
-              "optional": true
+              "bundled": true
             },
             "core-util-is": {
               "version": "1.0.2",
@@ -3059,8 +3078,7 @@
             },
             "inherits": {
               "version": "2.0.3",
-              "bundled": true,
-              "optional": true
+              "bundled": true
             },
             "ini": {
               "version": "1.3.5",
@@ -3070,7 +3088,6 @@
             "is-fullwidth-code-point": {
               "version": "1.0.0",
               "bundled": true,
-              "optional": true,
               "requires": {
                 "number-is-nan": "^1.0.0"
               }
@@ -3083,20 +3100,17 @@
             "minimatch": {
               "version": "3.0.4",
               "bundled": true,
-              "optional": true,
               "requires": {
                 "brace-expansion": "^1.1.7"
               }
             },
             "minimist": {
               "version": "0.0.8",
-              "bundled": true,
-              "optional": true
+              "bundled": true
             },
             "minipass": {
               "version": "2.3.5",
               "bundled": true,
-              "optional": true,
               "requires": {
                 "safe-buffer": "^5.1.2",
                 "yallist": "^3.0.0"
@@ -3113,7 +3127,6 @@
             "mkdirp": {
               "version": "0.5.1",
               "bundled": true,
-              "optional": true,
               "requires": {
                 "minimist": "0.0.8"
               }
@@ -3186,8 +3199,7 @@
             },
             "number-is-nan": {
               "version": "1.0.1",
-              "bundled": true,
-              "optional": true
+              "bundled": true
             },
             "object-assign": {
               "version": "4.1.1",
@@ -3197,7 +3209,6 @@
             "once": {
               "version": "1.4.0",
               "bundled": true,
-              "optional": true,
               "requires": {
                 "wrappy": "1"
               }
@@ -3273,8 +3284,7 @@
             },
             "safe-buffer": {
               "version": "5.1.2",
-              "bundled": true,
-              "optional": true
+              "bundled": true
             },
             "safer-buffer": {
               "version": "2.1.2",
@@ -3304,7 +3314,6 @@
             "string-width": {
               "version": "1.0.2",
               "bundled": true,
-              "optional": true,
               "requires": {
                 "code-point-at": "^1.0.0",
                 "is-fullwidth-code-point": "^1.0.0",
@@ -3322,7 +3331,6 @@
             "strip-ansi": {
               "version": "3.0.1",
               "bundled": true,
-              "optional": true,
               "requires": {
                 "ansi-regex": "^2.0.0"
               }
@@ -3361,13 +3369,11 @@
             },
             "wrappy": {
               "version": "1.0.2",
-              "bundled": true,
-              "optional": true
+              "bundled": true
             },
             "yallist": {
               "version": "3.0.3",
-              "bundled": true,
-              "optional": true
+              "bundled": true
             }
           }
         },
@@ -5587,6 +5593,11 @@
         "rimraf": "2"
       }
     },
+    "fullpage.js": {
+      "version": "3.0.7",
+      "resolved": "https://registry.npmjs.org/fullpage.js/-/fullpage.js-3.0.7.tgz",
+      "integrity": "sha512-kKgwNWGUY/nMCMWuDJph2D4lSLmRqcEqD9zGR4no7e85sGLGUTdB5xWUUDZCXEp3nkPNVMOVJLFhJq5DbIY1UA=="
+    },
     "function-bind": {
       "version": "1.1.1",
       "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz",
@@ -6956,8 +6967,7 @@
             },
             "ansi-regex": {
               "version": "2.1.1",
-              "bundled": true,
-              "optional": true
+              "bundled": true
             },
             "aproba": {
               "version": "1.2.0",
@@ -6981,7 +6991,6 @@
             "brace-expansion": {
               "version": "1.1.11",
               "bundled": true,
-              "optional": true,
               "requires": {
                 "balanced-match": "^1.0.0",
                 "concat-map": "0.0.1"
@@ -6994,8 +7003,7 @@
             },
             "code-point-at": {
               "version": "1.1.0",
-              "bundled": true,
-              "optional": true
+              "bundled": true
             },
             "concat-map": {
               "version": "0.0.1",
@@ -7004,8 +7012,7 @@
             },
             "console-control-strings": {
               "version": "1.1.0",
-              "bundled": true,
-              "optional": true
+              "bundled": true
             },
             "core-util-is": {
               "version": "1.0.2",
@@ -7108,8 +7115,7 @@
             },
             "inherits": {
               "version": "2.0.3",
-              "bundled": true,
-              "optional": true
+              "bundled": true
             },
             "ini": {
               "version": "1.3.5",
@@ -7119,7 +7125,6 @@
             "is-fullwidth-code-point": {
               "version": "1.0.0",
               "bundled": true,
-              "optional": true,
               "requires": {
                 "number-is-nan": "^1.0.0"
               }
@@ -7132,20 +7137,17 @@
             "minimatch": {
               "version": "3.0.4",
               "bundled": true,
-              "optional": true,
               "requires": {
                 "brace-expansion": "^1.1.7"
               }
             },
             "minimist": {
               "version": "0.0.8",
-              "bundled": true,
-              "optional": true
+              "bundled": true
             },
             "minipass": {
               "version": "2.3.5",
               "bundled": true,
-              "optional": true,
               "requires": {
                 "safe-buffer": "^5.1.2",
                 "yallist": "^3.0.0"
@@ -7162,7 +7164,6 @@
             "mkdirp": {
               "version": "0.5.1",
               "bundled": true,
-              "optional": true,
               "requires": {
                 "minimist": "0.0.8"
               }
@@ -7235,8 +7236,7 @@
             },
             "number-is-nan": {
               "version": "1.0.1",
-              "bundled": true,
-              "optional": true
+              "bundled": true
             },
             "object-assign": {
               "version": "4.1.1",
@@ -7246,7 +7246,6 @@
             "once": {
               "version": "1.4.0",
               "bundled": true,
-              "optional": true,
               "requires": {
                 "wrappy": "1"
               }
@@ -7322,8 +7321,7 @@
             },
             "safe-buffer": {
               "version": "5.1.2",
-              "bundled": true,
-              "optional": true
+              "bundled": true
             },
             "safer-buffer": {
               "version": "2.1.2",
@@ -7353,7 +7351,6 @@
             "string-width": {
               "version": "1.0.2",
               "bundled": true,
-              "optional": true,
               "requires": {
                 "code-point-at": "^1.0.0",
                 "is-fullwidth-code-point": "^1.0.0",
@@ -7371,7 +7368,6 @@
             "strip-ansi": {
               "version": "3.0.1",
               "bundled": true,
-              "optional": true,
               "requires": {
                 "ansi-regex": "^2.0.0"
               }
@@ -7410,13 +7406,11 @@
             },
             "wrappy": {
               "version": "1.0.2",
-              "bundled": true,
-              "optional": true
+              "bundled": true
             },
             "yallist": {
               "version": "3.0.3",
-              "bundled": true,
-              "optional": true
+              "bundled": true
             }
           }
         }
@@ -10671,6 +10665,16 @@
       "resolved": "https://registry.npmjs.org/react-error-overlay/-/react-error-overlay-5.1.6.tgz",
       "integrity": "sha512-X1Y+0jR47ImDVr54Ab6V9eGk0Hnu7fVWGeHQSOXHf/C2pF9c6uy3gef8QUeuUiWlNb0i08InPSE5a/KJzNzw1Q=="
     },
+    "react-escape-outside": {
+      "version": "0.1.1",
+      "resolved": "https://registry.npmjs.org/react-escape-outside/-/react-escape-outside-0.1.1.tgz",
+      "integrity": "sha512-L/+rEYZ5hYoD8RKIJzMaWtdcBoua3Jk/kS8za1p74UEfBtd7P8xRAeuJFoUchZ2i9W69z5Ra4CJGgKTBsg3nzQ=="
+    },
+    "react-full-page": {
+      "version": "0.1.7",
+      "resolved": "https://registry.npmjs.org/react-full-page/-/react-full-page-0.1.7.tgz",
+      "integrity": "sha512-KdLAmNRg2Um5l00gKhI5kCD4I5ZnmG6lLmO7EIgwwLxKB17USluiToE7/m9E+rmnzkSVqcKppLE6ZBcfJTRzqg=="
+    },
     "react-history": {
       "version": "0.18.2",
       "resolved": "https://registry.npmjs.org/react-history/-/react-history-0.18.2.tgz",

+ 3 - 0
package.json

@@ -3,12 +3,15 @@
   "version": "0.1.0",
   "private": true,
   "dependencies": {
+    "@fullpage/react-fullpage": "^0.1.15",
     "axios": "^0.19.0",
     "google-maps-react": "^2.0.2",
     "moment": "^2.24.0",
     "node-sass": "^4.12.0",
     "react": "^16.8.6",
     "react-dom": "^16.8.6",
+    "react-escape-outside": "^0.1.1",
+    "react-full-page": "^0.1.7",
     "react-history": "^0.18.2",
     "react-redux": "^7.1.0",
     "react-router-dom": "^5.0.1",

+ 1 - 1
src/App.js

@@ -15,7 +15,7 @@ import Doctors from "./components/specialists/Doctors";
 import Services from "./components/Services"
 import MoreInfo from "./components/specialists/MoreInfo"
 import Appointment from "./components/Appointment";
-import Reviews from "./components/Reviews"
+// import Reviews from "./components/Reviews"
 import Admin from './components/Admin/Admin'
 import Auth from './containers/auth'
 import Footer from "./components/Footer";

BIN
src/assets/fonts/icomoon.eot


La diferencia del archivo ha sido suprimido porque es demasiado grande
+ 1 - 5
src/assets/fonts/icomoon.svg


BIN
src/assets/fonts/icomoon.ttf


BIN
src/assets/fonts/icomoon.woff


+ 36 - 34
src/components/Admin/Admin.js

@@ -51,41 +51,43 @@ export class Admin extends React.Component {
             postServices
         } = this.props;
         return (
-            <div style={{display:'flex',flexDirection:'column', width:'200px', margin:'100px 20px'}}>
-                <div>
-                    <Link to='/admin/change-shedule'>Shedule</Link>
-                    <Link to='/admin/change-doctors'>Doctors</Link>
-                    <Link to='/admin/change-services'>Services</Link>
+            <div className="main">
+                <div className="info-wrap">
+                    <div className = " btn-box">
+                        <Link to='/admin/change-shedule' className = "btn link admin">Shedule</Link>
+                        <Link to='/admin/change-doctors' className = "btn link admin">Doctors</Link>
+                        <Link to='/admin/change-services' className = "btn link admin">Services</Link>
+                    </div>
+                    <Switch>
+                        <Route path='/admin/change-shedule' render={() => <Shedule
+                            doctors={doctors}
+                            postNewShedule={postNewShedule}
+                            sheduleMonthArray={sheduleMonthArray}
+                            setSheduleDoctor={setSheduleDoctor}
+                            postShedule={postShedule}
+                        />} />
+                        <Route path='/admin/change-doctors' render={() => <ChangeServicesDoctors
+                            data={doctors}
+                            itemId={changeDoctorId}
+                            changeId={changeSelectedDoctorId}
+                            form={postNewDoctor}
+                            postItem={postDoctors}
+                            putItem={putDoctors}
+                            deleteItem={deleteDoctors}
+                            changeInputValues={changeInputValueDoctorForm}
+                        />} />
+                        <Route path='/admin/change-services' render={() => <ChangeServicesDoctors
+                            data={services}
+                            itemId={changeServiceId}
+                            changeId={changeSelectedServiceId}
+                            form={postNewService}
+                            postItem={postServices}
+                            putItem={putServices}
+                            deleteItem={deleteServices}
+                            changeInputValues={changeInputValueServiceForm}
+                        />} />
+                    </Switch>
                 </div>
-                <Switch>
-                    <Route path='/admin/change-shedule' render={() => <Shedule
-                        doctors={doctors}
-                        postNewShedule={postNewShedule}
-                        sheduleMonthArray={sheduleMonthArray}
-                        setSheduleDoctor={setSheduleDoctor}
-                        postShedule={postShedule}
-                    />} />
-                    <Route path='/admin/change-doctors' render={() => <ChangeServicesDoctors
-                        data={doctors}
-                        itemId={changeDoctorId}
-                        changeId={changeSelectedDoctorId}
-                        form={postNewDoctor}
-                        postItem={postDoctors}
-                        putItem={putDoctors}
-                        deleteItem={deleteDoctors}
-                        changeInputValues={changeInputValueDoctorForm}
-                    />} />
-                    <Route path='/admin/change-services' render={() => <ChangeServicesDoctors
-                        data={services}
-                        itemId={changeServiceId}
-                        changeId={changeSelectedServiceId}
-                        form={postNewService}
-                        postItem={postServices}
-                        putItem={putServices}
-                        deleteItem={deleteServices}
-                        changeInputValues={changeInputValueServiceForm}
-                    />} />
-                </Switch>
             </div>
         );
     }

+ 1 - 1
src/components/Appointment.js

@@ -56,7 +56,7 @@ export class Appoint extends React.Component {
                                     <div>
                                         <p>{spec.name}</p>
                                         <p>Длительность: {spec.duration} ч.</p>
-                                        <p>{spec.description}</p>
+                                        {/* <p>{spec.description}</p> */}
                                         <p>Цена от {spec.price} грн.</p>
                                     </div>
                                      }

+ 3 - 3
src/components/Footer.js

@@ -4,15 +4,15 @@ const Footer = () => {
     return (
         <footer className = "footer">
            <div className="footer-part contacts">
-                    <h4>Адрес</h4>
+                    <h4 className ="icon-location">Адрес</h4>
                     <p> г. Харьков</p>
-                    <p>пр. Науки, 64</p>
+                    <p>пл. Конституции, 26</p>
            </div>
            <div className="footer-part logo-box">
                <img src="../images/logo.png" alt="logo"/>
                </div>
            <div className="footer-part contacts">
-              <h4> Контакты</h4>
+              <h4 className  = "icon-phone"> Контакты</h4>
               <p>+38 ( 096 ) 123 - 45 - 67</p>
               <p>+38 ( 050 ) 123 - 45 - 67</p>
               <p> +38 ( 063 ) 123 - 45 - 67</p>

+ 1 - 1
src/components/Reviews.js

@@ -14,7 +14,7 @@ export default class Reviews extends React.Component {
             <>
                 <h2>Отзывы</h2>
                 <div classdescription = "reviews-container">
-                        
+                        ЗДЕСЬ БУДУТ ОТЗЫВА ПОСЕТИТЕЛЕЙ
                  </div>
             </>
         ) 

+ 19 - 9
src/components/Services.js

@@ -2,26 +2,34 @@ import React from 'react';
 import {Link} from 'react-router-dom'
 import {connect} from 'react-redux'
 
+// import {
+//     getServices,
+// } from "../actions/actions";
+
+
 export class Services extends React.Component {
     render() {
         const {data} = this.props;
-        return (
+        console.log ("data:", {data})
+
+            return (
+
             <div className="main">
                 <div className="wrapper">
                     <div className = "doctors-wrap">
-                        {
-                            data.map(el => (
+                           { 
+                            data.map ( el => (
                                 <div key={el._id} style={{display:'flex',flexDirection:'column', width:'200px', margin:'10px 20px'}}>
                                     <p>{el.name}</p>
-                                    <p>Duration:{el.duration}h</p>
+                                    <p>Длительность: {el.duration} ч.</p> 
                                     <p>{el.description}</p>
-                                    <p>Price:{el.price}грн.</p>
+                                    <p>Цена: {el.price} грн.</p>
                                     <div>
-                                        <Link to={`/services/${el._id}`}>More Info</Link>
-                                        <button>Make appointment</button>
+                                        <Link to={`/services/${el._id}`} className = "btn more ">Подробнее ...</Link>
+                                        <button className = "btn link">Записаться на приём</button>
                                     </div>
-                                </div>
-                            ))
+                             </div>
+                            ) )
                         }
                     </div>
                 </div>
@@ -30,6 +38,7 @@ export class Services extends React.Component {
     }
 }
 
+
 const mapStateToProps = state => {
     return {
         data:state.app.services
@@ -37,6 +46,7 @@ const mapStateToProps = state => {
 };
 
 const mapDispatchToProps = {
+    // getServices 
 };
 
 export default connect (mapStateToProps,mapDispatchToProps)(Services)

+ 1 - 1
src/components/loader.js

@@ -4,6 +4,6 @@ export default ({ children, flag }) => (
     flag ?
         <div className = "loader-box">
             <img className = "loader" src="../images/loader.gif" alt="Loading"/>
-            <p>  Loading... </p>
+            {/* <p>  Loading... </p> */}
         </div>
     : children);

+ 17 - 11
src/components/main/Main.js

@@ -5,6 +5,7 @@ import About from "./aboutUs";
 import Team from "./team";
 // import MyMap from "./myMap";
 
+
 import {connect} from 'react-redux'
 
     
@@ -13,34 +14,39 @@ export class Main extends React.Component {
 
         return (
             <main className = "main">
-                <div className="container">
+               <div className="container">
                     <div className="wrapper">
                                 <div className="title-box">
                                     <img className = "logotype" src="./images/logo.png" alt=""/>
                                     <h1>Стоматология для всей семьи</h1>
                                     <Button className = "btn" text = "Записаться на приём" 
                                         onClick = { ( ) => {  } } 
-                                        />
+                                    />
                                 </div>
-                        </div>
+                    </div>
                 </div>
-                 <div className="wrapper">
-                    <Team doctorsArr = {this.props.app.doctors}/>
-                  
-                 </div>
+
+                    <div className="wrapper">
+                        <Team doctorsArr = {this.props.app.doctors}/>
+                    </div>
+
                 <div className=" case">
                         <img className = "banner" src="./images/medical.jpeg" alt="medical"/>
                         <div className="button-box">
                             <Button className = "btn" text = "Записаться на приём" onClick = { ( ) => { } }/>
                         </div>     
                  </div>
+
                  <div className="wrapper">
-                 <About/>
+                    <About/>
                  </div>
-                <div className="case">
+
+                {/* <div className="case"> */}
                     {/* <MyMap /> */}
-                </div>
-            </main> 
+                {/* </div> */}
+              </main> 
+           
+          
         )
     }
 }

+ 2 - 1
src/components/main/aboutUs.js

@@ -8,8 +8,9 @@ export default class AboutSection extends React.Component {
         return (
             <>
                 <div className="wrapper">
+                    <h2>О клинике</h2>
                     <div className="aboutsection">
-                        <h2>О клинике</h2>
+                      
                         <p>Стоматологическая клиника «Art Dental studio» – это современное медучреждение, 
                             которое оказывает полный спектр стоматологических услуг и использует при этом новейшее 
                             оборудование ведущих мировых производителей. 

+ 5 - 5
src/components/main/myMap.js

@@ -1,6 +1,6 @@
-import React from "react"
-import { compose, withProps } from "recompose"
-import { withScriptjs, withGoogleMap, GoogleMap, Marker } from "react-google-maps"
+import React from "react";
+import { compose, withProps } from "recompose";
+import { withScriptjs, withGoogleMap, GoogleMap, Marker } from "react-google-maps";
 // import InfoBox from "react-google-maps/lib/components/addons/InfoBox";
 
 // const { InfoBox } = require("react-google-maps/lib/components/addons/InfoBox");
@@ -17,10 +17,10 @@ import { withScriptjs, withGoogleMap, GoogleMap, Marker } from "react-google-map
 )((props) =>
   <GoogleMap
     defaultZoom={15}
-    defaultCenter={{ lat: 50.0362516, lng: 36.2210227 }}
+    defaultCenter={{ lat: 49.992438, lng: 36.232169 }}
     defaultType = {"hybrid"}
   >
-    {props.isMarkerShown && <Marker position={{ lat: 50.0362516, lng: 36.2210227 }} onClick={props.onMarkerClick} />}
+    {props.isMarkerShown && <Marker position={{ lat: 49.992438, lng: 36.232169 }} onClick={props.onMarkerClick} />}
     
   </GoogleMap>
 )

+ 9 - 6
src/components/main/team.js

@@ -14,12 +14,15 @@ export default class Team extends React.Component {
                 <div className = "team-container">
                     {doctorsArr.map  ( el => 
                          <div className="item"  key = {el._id} >
-                             <div className="photo"><img src= {el.photo} alt= {el.name}/></div>
-                            <h3>{el.name}</h3>
-                            <div className="desc">
-                                <p className="experience">Опыт работы {new Date().toISOString().split('T')[0].split('-')[0] - el.experience.split('T')[0].split('-')[0]} лет</p>
-                                <p className="rank">{el.profession}</p>
-                            </div>
+                             <div className="photo">
+                                 <img src= {el.photo} alt= {el.name}/>
+                                <div className="desc">
+                                    <h3>{el.name}</h3>
+                                    <p className="experience">Опыт работы {new Date().toISOString().split('T')[0].split('-')[0] - el.experience.split('T')[0].split('-')[0]} лет</p>
+                                    <p className="rank">{el.profession}</p>
+                                </div>
+                             </div>
+                           
                              {/* <div className="link-box">
                                 <Link to = "/doctors" className = "btn link more">Подробнее ...</Link>
                                 <Link to ={`/appointment/${el._id}`} className = "btn link ">Записаться на приём</Link>

+ 13 - 10
src/components/specialists/MoreInfo.js

@@ -3,6 +3,7 @@ import {Link} from 'react-router-dom'
 import {connect} from 'react-redux'
 
 export class MoreInfo extends React.Component {
+    
     render() {
         const {match,doctors,services} = this.props;
         const doctor = doctors.find(el => el._id === match.params.doctor);
@@ -17,23 +18,25 @@ export class MoreInfo extends React.Component {
                                 <img src={`.${doctor.photo}`} alt={doctor.name}/>
                             </div>
                              <div className="card-item desc">
-                                 <h3>{doctor.name}</h3>
+                                 <h3> {doctor.name} </h3>
                                 <p className = "highlights">{doctor.profession}</p>
-                                <p className = "highlights">Опыт работы более {new Date().toISOString().split('T')[0].split('-')[0] - doctor.experience.split('T')[0].split('-')[0]} лет</p>
+                                <p className = "highlights">Опыт работы более {new Date().toISOString().split('T')[0].split('-')[0] - doctor.experience.split('T')[0].split('-')[0]}  лет</p>
                                 {doctor.skillsDescription.split ("<br>").map ( (el, index) => (  <p key= {index}> { el } </p>)  ) }
                                 <Link to={`/appointment/${doctor._id}`} className = "btn link">Записаться на приём</Link>
                              </div>
                         </div>
                     </div>}
 
-                {service  &&
-                <div  className = "info-wrap">
-                    {service.name}
-                    <p>Duration:{service.duration}h</p>
-                    <p>{service.description}</p>
-                    <p>Price:{service.price}грн.</p>
-                    <Link to={`/appointment/${service}`}>Make an appointment</Link>
-                </div>}
+                    {service  &&
+                    <div  className = "info-wrap">
+                        {service.name}
+
+                        <p>Duration: {service.duration} h</p>
+                        <p>{service.description}</p>
+                        <p>Price: {service.price} грн.</p>
+                        <Link to={`/appointment/${service}`} className = "btn link admin">Записаться на приём</Link>
+
+                    </div>}
                </div>
               
             </>

+ 35 - 34
src/containers/auth.js

@@ -23,44 +23,45 @@ class Auth extends Component {
     return (
       <div className="main">
         <div className="auth-wrapper">
+        <Loader flag={this.props.isFetching}>
             <div className="auth">
-          <div className="auth__content">
-            { auth ? (
-                <Loader flag={this.props.isFetching}>
-                  <SignInForm error={this.props.errorFromAuth} submitHandler={this.props.auth} />
-                </Loader>
-            ) : (
-                <Loader flag={this.props.isFetching}>
-                  <SignUpForm 
-                    error={this.props.errorFromAuth}
-                    submitHandler={this.props.register}
-                    successRegister={this.props.successRegister}
-                  />
-                </Loader>
-            )}
+              <div className="auth__content">
+                { auth ? (
+                    // <Loader flag={this.props.isFetching}>
+                      <SignInForm error={this.props.errorFromAuth} submitHandler={this.props.auth} />
+                    // {/* </Loader> */}
+                ) : (
+                    // <Loader flag={this.props.isFetching}>
+                      <SignUpForm 
+                        error={this.props.errorFromAuth}
+                        submitHandler={this.props.register}
+                        successRegister={this.props.successRegister}
+                      />
+                    // {/* </Loader> */}
+                )}
 
-            <div className="auth__additional-content">
-              {auth ? (
-                <p className="auth__text">
-                  Do you have account ? {" "}
-                  <span className="auth__toggle-span" onClick={this.toggleAuth}>
-                    Sing Up
-                  </span>
-                </p>
-              ) : (
-                <p className="auth__text">
-                  I have account{" "}
-                  <span className="auth__toggle-span" onClick={this.toggleAuth}>
-                    Sign In
-                  </span>
-                </p>
-              )}
+                <div className="auth__additional-content">
+                  {auth ? (
+                    <p className="auth__text">
+                      Do you have account ? {" "}
+                      <span className="auth__toggle-span" onClick={this.toggleAuth}>
+                        Sing Up
+                      </span>
+                    </p>
+                  ) : (
+                    <p className="auth__text">
+                      I have account{" "}
+                      <span className="auth__toggle-span" onClick={this.toggleAuth}>
+                        Sign In
+                      </span>
+                    </p>
+                  )}
+                </div>
             </div>
-          </div>
-        </div>        
-      
+          </div>        
+          </Loader>
         </div>
-      </div>
+     </div>
 
     );
   }

BIN
src/icomoon.zip


+ 7 - 7
src/reducers/reducers.js

@@ -337,7 +337,7 @@ export const appReducer = (state = defaultState,action) => {
                                 ...state,
                                 servicesArray:{
                                     ...state.servicesArray,
-                                    orthodontist:state.servicesArray.orthodontist.push(el._id)
+                                    orthodontist:state.servicesArray.orthodontist.push(el)
                                 }
                             }
                         }
@@ -346,7 +346,7 @@ export const appReducer = (state = defaultState,action) => {
                                 ...state,
                                 servicesArray:{
                                     ...state.servicesArray,
-                                    kids:state.servicesArray.kids.push(el._id)
+                                    kids:state.servicesArray.kids.push(el)
                                 }
                             }
                         }
@@ -355,7 +355,7 @@ export const appReducer = (state = defaultState,action) => {
                                 ...state,
                                 servicesArray:{
                                     ...state.servicesArray,
-                                    implantologist:state.servicesArray.implantologist.push(el._id)
+                                    implantologist:state.servicesArray.implantologist.push(el)
                                 }
                             }
                         }
@@ -364,7 +364,7 @@ export const appReducer = (state = defaultState,action) => {
                                 ...state,
                                 servicesArray:{
                                     ...state.servicesArray,
-                                    implantologist:state.servicesArray.implantologist.push(el._id)
+                                    implantologist:state.servicesArray.implantologist.push(el)
                                 }
                             }
                         }
@@ -373,7 +373,7 @@ export const appReducer = (state = defaultState,action) => {
                                 ...state,
                                 servicesArray:{
                                     ...state.servicesArray,
-                                    surgeon:state.servicesArray.surgeon.push(el._id)
+                                    surgeon:state.servicesArray.surgeon.push(el)
                                 }
                             }
                         }
@@ -382,7 +382,7 @@ export const appReducer = (state = defaultState,action) => {
                                 ...state,
                                 servicesArray:{
                                     ...state.servicesArray,
-                                    endodontics:state.servicesArray.endodontics.push(el._id)
+                                    endodontics:state.servicesArray.endodontics.push(el)
                                 }
                             }
                         }
@@ -391,7 +391,7 @@ export const appReducer = (state = defaultState,action) => {
                                 ...state,
                                 servicesArray:{
                                     ...state.servicesArray,
-                                    therapist:state.servicesArray.therapist.push(el._id)
+                                    therapist:state.servicesArray.therapist.push(el)
                                 }
                             }
                         }

+ 63 - 20
src/style/all.scss

@@ -17,12 +17,13 @@ body {
 	background-size: cover;
 	background-attachment: fixed;
 	min-height: 100vh;
+	scroll-behavior: smooth;
 	// padding-top: 120px;
 }
 
 .container {
 	background-image: url(../assets/images/fon1.jpg);
-	// background-size: cover;
+	background-size: cover;
 	min-height: 100vh;
 }
 .wrapper,
@@ -108,7 +109,6 @@ body {
 	
 // banner + title
 .title-box {
-
 	color: $header-color;
 	margin: 0px 40px;
 	padding-bottom: 45px;
@@ -161,7 +161,7 @@ body {
 	transition-duration: 0.4s;
 	&:hover {
 		box-shadow: none;
-		background-color: $opacity-color;
+		background-color: $main-color;
 		color: $header-color;
 	}
 	&:focus {
@@ -173,13 +173,25 @@ body {
 	}
 }
 
-.link {
+.link,
+.more {
 	width: 100%;
 	display: block;
 	padding: 15px 2px;
 	text-align: center;
 }
 
+.more {
+	background-color: $opacity-color;
+	&:hover {
+		background-color: $main-color;
+	}
+}
+
+.admin {
+	width: 30%;	
+}
+
 
 //  section About Us
 .aboutsection, 
@@ -258,7 +270,7 @@ h2 {
 		justify-content: center;
 	}
 	.item {
-		width: 25%;
+		width: 24%;
 		margin: 10px; 
 		text-align: center;
 		display: flex;
@@ -271,22 +283,19 @@ h2 {
 				border-radius: 5px;
 				width: 100%;
 			}
+			
 		}
 		h3 {
 			margin: 10px;
+			// font-size: 18px;
 		}
 		p {
 			margin: 5px;
 		}
-		.link-box {
-			margin-top: 20px;
-		}
-		.more {
-			background-color: $opacity-color;
-			&:hover {
-				background-color: $main-color;
-			}
-		}
+		// .link-box {
+		// 	margin-top: 20px;
+		// }
+
 		@media (max-width: 768px) {
 			width: 45%;
 		}
@@ -297,6 +306,30 @@ h2 {
 
 }
 
+.team-container {
+	.item {
+		max-height: 365px;
+		position: relative;
+		.desc {
+			position: absolute;
+			top: 0;
+			left: 0;
+			display: none;
+			background-color: $opacity-color;
+			height: 100%;
+		}
+		.photo {
+			overflow: hidden;
+			&:hover .desc {
+				display: flex;
+				flex-direction: column;
+				align-items: center;
+				justify-content: center;
+			}
+	}
+	}
+}
+
 //  Footer
 .footer {
 	position: static;
@@ -344,12 +377,12 @@ h2 {
 	border: none;
 	min-width: 100vw;
 	min-height: 100vh;
-	position: fixed;
-	top: 0;
-	left: 0;
-	// background-color: $opacity-color;
+	background-color: $opacity-color;
 	.loader {
-			margin: 0 auto;
+		margin: 0 auto;
+		position: fixed;
+		top: 30%;
+		left: 40%;
 	}
 
 }
@@ -359,7 +392,7 @@ h2 {
 
 // _____DOCTORS_____ 
 .doctors-wrap {
-padding-top: 110px;	
+	padding-top: 110px;	
 }
 .info-wrap {
 	padding: 110px 10px 25px;
@@ -374,6 +407,8 @@ padding-top: 110px;
 	h3 {
 		margin-top: 0;
 		font-size: 2em;
+		line-height: 2em;
+		text-align:  center;
 		@media (max-width: 768px) {
 			text-align: center;
 		}
@@ -400,3 +435,11 @@ padding-top: 110px;
 	}
 }
 
+
+
+
+
+// _______ADMIN PANEL __________
+.btn-box {
+	display: flex;
+}

+ 3 - 2
src/style/auth.scss

@@ -8,7 +8,8 @@ $opacity-color: rgba(17,17,17,0.8);
 
 .auth-wrapper {
 	background-color: $opacity-color;
-	height: 100vh;
+	min-height: 100vh;
+	min-width: 100vw;
 }
 
 .auth {
@@ -24,7 +25,7 @@ $opacity-color: rgba(17,17,17,0.8);
 		transform: translate(-50%, -50%);
 		background-color: $opacity-color;
 		padding: 2rem;
-		// border: 1px solid #eee;
+		border: 1px solid #eee;
 		margin-top: 40px;
 	}
 

+ 11 - 17
src/style/style.css

@@ -46,27 +46,22 @@
       display: block;	
   }
 }
+
 .icon-chevron-right:before {
   content: "\e900";
 }
 .icon-chevron-left:before {
   content: "\e901";
 }
-.icon-th-menu:before {
-  content: "\e902";
-}
-.icon-calendar:before {
-  content: "\f073";
-}
-.icon-angle-double-down:before {
-  content: "\f103";
-}
 .icon-angle-left:before {
   content: "\f104";
 }
 .icon-angle-right:before {
   content: "\f105";
 }
+.icon-calendar:before {
+  content: "\f073";
+}
 .icon-commenting-o:before {
   content: "\f27b";
 }
@@ -82,15 +77,14 @@
 .icon-user:before {
   content: "\e971";
 }
-.icon-menu:before {
-  content: "\e9bd";
-}
 .icon-exit:before {
   content: "\ea14";
 }
-.icon-facebook:before {
-  content: "\ea90";
-}
-.icon-instagram:before {
-  content: "\ea92";
+.icon-location:before {
+  content: "\e947";
+  font-size: 35px;
 }
+.icon-phone:before {
+  content: "\e942";
+  font-size: 35px;
+}