diff --git a/src/components/PersonCard.js b/src/components/PersonCard.js new file mode 100644 index 00000000..de7a5a07 --- /dev/null +++ b/src/components/PersonCard.js @@ -0,0 +1,41 @@ +const React = require('react') +const Image = require('./Image') + +const Link = ({href, children}) => ( + + {children} + +) + +const Info = ({children}) => ( +
+
+ {children} +
+
+) + +module.exports = ({picture, name, url, profile}) => ( +
+ +
+ +
+ +
+ {name[0]} {name[1]} {name[2]} +
+ +
+ {profile.position} + + {/**/} + {/*

{profile.position}

*/} + {/*

{profile.status}

*/} + {/*

Образование: {profile.edu}

*/} + {/*

Диплом: {profile.diploma}

*/} + {/*
*/} +
+ +
+) diff --git a/src/components/TeacherCard.js b/src/components/TeacherCard.js deleted file mode 100644 index 7a9ce22a..00000000 --- a/src/components/TeacherCard.js +++ /dev/null @@ -1,37 +0,0 @@ -const React = require('react') -const Image = require('./Image') - -const Head = ({url, children}) => ( -

- {children} -

-) - -const Info = ({children}) => ( -
-
- {children} -
-
-) - -module.exports = ({picture, name, url, profile}) => ( -
-
- -
- -
- - {name[0]} {name[1]} {name[2]} - - - -

{profile.position}

-

{profile.status}

-

Образование: {profile.edu}

-

Диплом: {profile.diploma}

-
-
-
-) diff --git a/src/style/components/PersonCard.scss b/src/style/components/PersonCard.scss new file mode 100644 index 00000000..4982794b --- /dev/null +++ b/src/style/components/PersonCard.scss @@ -0,0 +1,71 @@ +.PersonCard { + display: flex; + flex-direction: column; + + margin: var(--single-margin) 0; + + width: 30%; + min-width: 15em; + max-width: 30em; + + //border: 1px solid #ccc; + //border-radius: 3px; + + & > a { + display: block; + position: relative; + height: 100%; + } +} + +.PersonCard-Picture { + border-radius: 3px; + + width: 100%; + height: 24em; + + img { + width: 100%; + height: 24em; + + object-fit: cover; + } +} + +.PersonCard-Title, .PersonCard-Body { + position: absolute; + width: 100%; + padding: 10px; + box-sizing: border-box; + color: white; + text-align: center; + text-shadow: 0 0 3px #000; + border-radius: 3px; +} + +.PersonCard-Title { + top: 0; +} + +.PersonCard-Body { + bottom: 0; +} + +//Animation + +.PersonCard-Picture { + overflow: hidden; + + img { + transition: transform 150ms ease-out; + } +} + +.PersonCard { + &:hover { + img { + transform: scale(1.05); + } + } +} + diff --git a/src/style/components/PersonCardList.scss b/src/style/components/PersonCardList.scss new file mode 100644 index 00000000..5edd1c9a --- /dev/null +++ b/src/style/components/PersonCardList.scss @@ -0,0 +1,7 @@ +.PersonCardList { + display: flex; + flex-direction: row; + flex-wrap: wrap; + + justify-content: space-between; +} diff --git a/src/style/components/TeacherCard.scss b/src/style/components/TeacherCard.scss deleted file mode 100644 index ffbe95dd..00000000 --- a/src/style/components/TeacherCard.scss +++ /dev/null @@ -1,49 +0,0 @@ -@import "../variables"; - -$picture-width: 30%; -$info-width: 100% - $picture-width; - -.TeacherCard { - display: flex; - justify-content: space-between; - flex-wrap: wrap; - - &-Picture { - margin-bottom: var(--double-margin); - width: $picture-width; - max-width: 15em; - min-width: 12em; - - img { - width: 100%; - } - } - - &-Info { - width: $info-width; - - padding-left: var(--double-margin); - margin-bottom: var(--double-margin); - box-sizing: border-box; - } - - &-Position { - font-size: $bigger-font-size; - } -} - -@media (max-width: $mobile-width) { - .TeacherCard { - margin: 0 auto var(--double-margin); - - &-Picture { - width: 100%; - max-width: $mobile-width; - } - - &-Info { - width: 100%; - padding-left: 0; - } - } -} diff --git a/src/style/style.scss b/src/style/style.scss index 8ac38a70..c652ab9b 100644 --- a/src/style/style.scss +++ b/src/style/style.scss @@ -23,7 +23,8 @@ @import "components/ArticleCard"; @import "components/ArticleCardList"; @import "components/CollectiveImage"; -@import "components/TeacherCard"; +@import "components/PersonCard"; +@import "components/PersonCardList"; @import "main"; @import "body-wrapper";