From ad67bc51e0b5c33c7c53a7b906d0725d0a7295bf Mon Sep 17 00:00:00 2001 From: harshithpabbati Date: Thu, 27 Feb 2020 17:47:38 +0530 Subject: [PATCH 1/4] Third party login authentication - GitHub - Google --- src/auth/login-form/login-form.scss | 19 +++++++++ src/auth/login/login.js | 62 ++++++++++++++++++++++++++++- 2 files changed, 80 insertions(+), 1 deletion(-) diff --git a/src/auth/login-form/login-form.scss b/src/auth/login-form/login-form.scss index 85b8801e..9e5d54b1 100644 --- a/src/auth/login-form/login-form.scss +++ b/src/auth/login-form/login-form.scss @@ -15,3 +15,22 @@ } } } +.loginbtn{ + background: #ffffff; + color: #000000; + padding: 1vh; + border: 1px solid rgb(211, 220, 228); + border-radius: 3px; + width: 45%; +} +.login-icon{ + width: 1em; + height: 1em; + vertical-align: middle; +} +.loginbtn-content{ + font-size: 16px; + font-family: Roboto, sans-serif; + font-weight: 500; + line-height: 1em; +} \ No newline at end of file diff --git a/src/auth/login/login.js b/src/auth/login/login.js index 0bdc6a68..89c0ffe5 100644 --- a/src/auth/login/login.js +++ b/src/auth/login/login.js @@ -2,7 +2,7 @@ import React, { Component } from "react"; import { Tab, Tabs } from "react-bootstrap"; import LoginForm from "../login-form/login-form"; import SignUpForm from "../signup-form/signup-form"; -import { DonutTitle }from "../../donutTitle/donutTitle"; +import { DonutTitle } from "../../donutTitle/donutTitle"; import multipleDonuts from "../../images/extra-donuts.png"; // import backGroundDonut from "../../images/background-donut.png"; import "./login.scss"; @@ -37,6 +37,66 @@ class Login extends Component { +
+

Or Sign In/Sign Up with

+ + + + + + From ba6630c83013dd54bc149ca720cffe69c030bf78 Mon Sep 17 00:00:00 2001 From: Rakshit <30564496+rak-shit@users.noreply.github.com> Date: Tue, 3 Mar 2020 20:25:12 +0530 Subject: [PATCH 2/4] Added icons and improved the post functionality (#348) * Created grid layout for news section Event and Project Details Card added to news feed Refactored code for better readability * Fix netlify react-router issue * hotfix for auth login * Added icons and improved the post functionality --- build.sh | 3 + package.json | 2 +- src/App.css | 5 + src/auth/auth-service.js | 2 +- src/fonts/Qanelas-Regular.ttf | Bin 0 -> 70268 bytes src/jsonData/news-feed.js | 88 ++++ src/jsonData/notifications.js | 36 ++ src/jsonData/upcoming-events.js | 48 ++ src/svgs/comment.svg | 3 + src/svgs/down.svg | 3 + src/svgs/event-img-1.svg | 10 + src/svgs/event-img-2.svg | 10 + src/svgs/evt-creator.svg | 9 + src/svgs/up.svg | 3 + src/user/dashboard/news-feed/news-feed.js | 274 ++++++++++-- src/user/dashboard/news-feed/news-feed.scss | 413 +++++++++++++++++- .../dashboard/notifications/notifications.js | 35 +- .../upcoming-events/upcoming-events.js | 47 +- 18 files changed, 858 insertions(+), 133 deletions(-) create mode 100755 build.sh create mode 100644 src/fonts/Qanelas-Regular.ttf create mode 100644 src/jsonData/news-feed.js create mode 100644 src/jsonData/notifications.js create mode 100644 src/jsonData/upcoming-events.js create mode 100644 src/svgs/comment.svg create mode 100644 src/svgs/down.svg create mode 100644 src/svgs/event-img-1.svg create mode 100644 src/svgs/event-img-2.svg create mode 100644 src/svgs/evt-creator.svg create mode 100644 src/svgs/up.svg diff --git a/build.sh b/build.sh new file mode 100755 index 00000000..dd50dbe2 --- /dev/null +++ b/build.sh @@ -0,0 +1,3 @@ +#!/usr/bin/env bash + +echo "/* /index.html 200" >> ./build/_redirects diff --git a/package.json b/package.json index 82720789..9543c984 100644 --- a/package.json +++ b/package.json @@ -18,7 +18,7 @@ }, "scripts": { "start": "react-scripts start", - "build": "react-scripts build", + "build": "react-scripts build && ./build.sh", "test": "react-scripts test", "eject": "react-scripts eject" }, diff --git a/src/App.css b/src/App.css index ce8e6d52..578d9ba6 100644 --- a/src/App.css +++ b/src/App.css @@ -8,6 +8,11 @@ src: local('Inter'), url(./fonts/Inter-Regular.otf) format('opentype'); } +@font-face { + font-family: 'Qanelas'; + src: local('Qanelas'), url(./fonts/Qanelas-Regular.ttf) format('truetype'); +} + .App { text-align: center; } diff --git a/src/auth/auth-service.js b/src/auth/auth-service.js index 011f633e..ad0ed6ae 100644 --- a/src/auth/auth-service.js +++ b/src/auth/auth-service.js @@ -1,7 +1,7 @@ import axios from "axios"; export const loginIn = body => { - return axios.post("http://donut-api-prod.codeuino.org/auth/login", { + return axios.post("https://donut-backend-prod.herokuapp.com/auth/login", { email: body.email, password: body.password }); diff --git a/src/fonts/Qanelas-Regular.ttf b/src/fonts/Qanelas-Regular.ttf new file mode 100644 index 0000000000000000000000000000000000000000..697d644d12861051b5f8007565c5c3584d253a0b GIT binary patch literal 70268 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 + + diff --git a/src/svgs/down.svg b/src/svgs/down.svg new file mode 100644 index 00000000..bb3a85d8 --- /dev/null +++ b/src/svgs/down.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/svgs/event-img-1.svg b/src/svgs/event-img-1.svg new file mode 100644 index 00000000..63d30ef2 --- /dev/null +++ b/src/svgs/event-img-1.svg @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/src/svgs/event-img-2.svg b/src/svgs/event-img-2.svg new file mode 100644 index 00000000..e8a56866 --- /dev/null +++ b/src/svgs/event-img-2.svg @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/src/svgs/evt-creator.svg b/src/svgs/evt-creator.svg new file mode 100644 index 00000000..ac3eea9c --- /dev/null +++ b/src/svgs/evt-creator.svg @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/src/svgs/up.svg b/src/svgs/up.svg new file mode 100644 index 00000000..4061c7eb --- /dev/null +++ b/src/svgs/up.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/user/dashboard/news-feed/news-feed.js b/src/user/dashboard/news-feed/news-feed.js index 700ecc3a..dc66e931 100644 --- a/src/user/dashboard/news-feed/news-feed.js +++ b/src/user/dashboard/news-feed/news-feed.js @@ -1,19 +1,245 @@ -import React, { Component } from "react"; -import { Button } from "react-bootstrap"; +import React, { Component} from "react"; +import { Button , Dropdown, Modal, Form, Col} from "react-bootstrap"; import "./news-feed.scss"; -import gsoc from "../../../images/gsoc.png"; +import upVoteImg from "../../../svgs/up.svg"; +import downVoteImg from "../../../svgs/down.svg"; +import commentIcon from "../../../svgs/comment.svg"; +import feed from "../../../jsonData/news-feed"; + +const CustomToggle = React.forwardRef(({ children, onClick }, ref) => ( + { + e.preventDefault(); + onClick(e); + }} + > + {children} + +)); + +const CustomMenu = React.forwardRef( + ({ children, style, className, 'aria-labelledby': labeledBy }, ref) => { + return ( +

+
    + {children} +
+
+ ); + }, +); + class NewsFeed extends Component { - state = { date: new Date() }; + constructor(props) { + super(props) + + this.state = { + date : new Date(), + show : false + } + } + + + + handleClose = () => { + this.setState({ + show: false + }) + }; + + handleShow = () => { + this.setState({ + show: true + }) + } render() { + const borderStyle = { + borderBottom: "0 none" + } + var content; + let newsFeed = feed.map((newsItem, i)=>{ + if(newsItem.type === "Project"){ + content = ( + newsItem.eventImage ? +
+ +
+
+

{newsItem.projectName}

+

By {newsItem.projectOwner}

+
+ +
+
+
+
+ : +
+ ) + }else if(newsItem.type === "Event"){ + content = ( + newsItem.eventImage ? +
+ +
+
+

{newsItem.eventName}

+
+
+
+ DATE +

25

+
Dec
+
2020
+
+
+ +
+
+ TIME +

10

+
PM
+
Onwards
+
+
+
+
+ +
+
+
+
+ : +
+ ) + }else{ + content = ( +
+ ) + } + + return( +
+ {content} +
+
+ icon +
+
+

{newsItem.createdBy}

+ {newsItem.created} +
+
+ + + ... + + + + Item 1 + + +
+
+
+

{newsItem.details}

+
+
+ + {newsItem.upvotes} +
+
+ + {newsItem.downVotes} +
+
+ comment + Comment +
+
+
+
+ ) + }) return (
- +
- - + + + +
New Event
ABOUT THE EVENT
+
+ +
+ + + + Event Name + + + + + Location + + + + + + Date + + + + + Time + + + + + + Post Description + + + +
+
+
+ + +
+
+
@@ -23,39 +249,7 @@ class NewsFeed extends Component {
Projects
-
-
-
- icon -
-
-

Marjorie Alexander

-

{this.state.date.toTimeString()}

-
-
-
- ex sit ex laboris adipisicing enim eiusmod proident exercitation - ea fugiat in mollit pariatur occaecat ut nostrud ullamco ex - official -
-
- -
-
-
- icon -
-
-

Marjorie Alexander

-

{this.state.date.toTimeString()}

-
-
-
- ex sit ex laboris adipisicing enim eiusmod proident exercitation - ea fugiat in mollit pariatur occaecat ut nostrud ullamco ex - official -
-
+ {newsFeed}
diff --git a/src/user/dashboard/news-feed/news-feed.scss b/src/user/dashboard/news-feed/news-feed.scss index a10c0a38..f50ddabf 100644 --- a/src/user/dashboard/news-feed/news-feed.scss +++ b/src/user/dashboard/news-feed/news-feed.scss @@ -2,7 +2,6 @@ padding: 0 20px; .post-article { height: 50px; - border: solid 1px #dfe9f1; .article { display: flex; input { @@ -35,32 +34,424 @@ } } .article-posts { - display: flex; + column-count: 2; + width: 100%; + counter-reset: item-counter; .individual-post { + // position: relative; + display: inline-block; + counter-increment: item-counter; + width: 100%; + margin-bottom: 15px; border: solid 1px #dfe9f1; - margin: 0 10px; - padding: 8px; + box-shadow: 1px 2px 5px rgba(0, 0, 0, 0.1); + border-radius: 5px; + .event-image-container{ + position: relative; + width: 100%; + height: 300px; + img{ + width: 100%; + height: 100%; + object-fit: cover; + border-radius: 5px; + } + .event-jumbotron{ + position: absolute; + background-color: white; + box-shadow: 1px 2px 5px rgba(0, 0, 0, 0.1); + border-radius: 5px; + width: 30%; + min-width: 167px; + top: 10px; + right: 10px; + // bottom: 20px; + .event-details{ + // width: 90%; + margin: 5px auto; + .event-schedule{ + display: flex; + justify-content: flex-start; + .event-date{ + flex: 1; + border-top: 1px solid rgba(204,204,204,0.7); + border-bottom: 1px solid rgba(204,204,204,0.7); + border-right: 1px solid rgba(204,204,204,0.7); + .date-content{ + width:50%; + margin: 0 auto; + small{ + font-family: Inter; + font-style: normal; + font-weight: 600; + font-size: 8px; + line-height: 10px; + letter-spacing: 0.27em; + color: rgba(29, 33, 41, 0.4); + mix-blend-mode: normal; + } + h4{ + font-family: Qanelas; + font-style: normal; + font-weight: 600; + font-size: 26px; + line-height: 32px; + color: #1D2129; + mix-blend-mode: normal; + margin-bottom:0; + } + h5{ + font-family: Inter; + font-style: normal; + font-weight: 600; + font-size: 14px; + line-height: 17px; + color: #1D2129; + mix-blend-mode: normal; + margin-bottom:0; + } + h6{ + font-family: Inter; + font-style: normal; + font-weight: 600; + font-size: 10px; + line-height: 12px; + color: #1D2129; + mix-blend-mode: normal; + } + } + } + .event-time{ + flex: 1; + border-top: 1px solid rgba(204,204,204,0.7); + border-bottom: 1px solid rgba(204,204,204,0.7); + border-left: 1px solid rgba(204,204,204,0.7); + .time-content{ + width:50%; + margin: 0 auto; + small{ + font-family: Inter; + font-style: normal; + font-weight: 600; + font-size: 8px; + line-height: 10px; + letter-spacing: 0.27em; + color: rgba(29, 33, 41, 0.4); + mix-blend-mode: normal; + } + h4{ + font-family: Qanelas; + font-style: normal; + font-weight: 600; + font-size: 26px; + line-height: 32px; + color: #1D2129; + mix-blend-mode: normal; + margin-bottom:0; + } + h5{ + font-family: Inter; + font-style: normal; + font-weight: 600; + font-size: 14px; + line-height: 17px; + color: #1D2129; + mix-blend-mode: normal; + margin-bottom:0; + } + h6{ + font-family: Inter; + font-style: normal; + font-weight: 600; + font-size: 10px; + line-height: 12px; + color: #1D2129; + mix-blend-mode: normal; + } + } + } + } + h3{ + margin-left:5px; + margin-right:5px; + font-family: Inter; + font-style: normal; + font-weight: 600; + font-size: 28px; + line-height: 34px; + color: #1D2129; + } + p{ + font-family: Qanelas; + font-style: normal; + font-weight: 500; + font-size: 10px; + line-height: 12px; + color: #1D2129; + } + .tag-container{ + margin-top: 15px; + display: flex; + justify-content: flex-end; + margin-right:15px; + margin-bottom: 15px; + .tag-btn{ + background: #1A73E8;; + border-radius: 15px; + font-family: Inter; + font-style: normal; + font-weight: 600; + font-size: 10px; + line-height: 12px; + } + } + } + } + } + .project-image-container{ + position: relative; + width: 100%; + height: 150px; + img{ + width: 100%; + height: 100%; + object-fit: cover; + border-radius: 5px; + } + .project-jumbotron{ + position: absolute; + background-color: white; + box-shadow: 1px 2px 5px rgba(0, 0, 0, 0.1); + border-radius: 5px; + width: 30%; + min-width: 147px; + top: 10px; + right: 10px; + // bottom: 20px; + .project-details{ + width: 90%; + margin: 5px auto; + h3{ + font-family: Qanelas; + font-style: normal; + font-weight: 600; + font-size: 20px; + line-height: 24px; + color: #1D2129; + } + p{ + font-family: Qanelas; + font-style: normal; + font-weight: 500; + font-size: 10px; + line-height: 12px; + color: #1D2129; + } + .view-project-btn-container{ + display: flex; + justify-content: center; + .view-project-btn{ + background: #1A73E8; + border-radius: 20px; + padding-left: 25px; + padding-right: 25px; + font-family: Qanelas; + font-style: normal; + font-weight: 600; + font-size: 10px; + line-height: 12px; + color: #FFFFFF; + } + } + } + } + } .user-info { display: flex; + padding: 8px; + .image{ + width:38px; + height:38px; + img{ + width:100%; + height:100%; + border-radius: 2px; + } + } .img-desc { + margin-left: 10px; h2 { - font-size: 16px; - padding: 0 10px; - font-weight: bold; - margin: 0; + font-family: Inter; + font-style: normal; + font-weight: 600; + font-size: 18px; + line-height: 22px; + color: #1A73E8; + margin-bottom: 0px; } - p { + small { + font-family: Inter; + font-style: normal; + font-weight: normal; font-size: 12px; + line-height: 15px; + color: #90949C; margin: 0; - padding: 0 10px; } } + .dropdown-container{ + margin-left: auto; + margin-right: 5px; + } } .post-details { + padding: 8px; + p{ font-size: 14px; - padding: 10px 0; + margin-bottom: 10px; + font-family: Inter; + font-style: normal; + font-weight: normal; + line-height: 17px; + } + .post-activity{ + display:flex; + .up-vote, .down-vote{ + margin-right: 10px; + small{ + font-family: SF Pro Text; + font-style: normal; + font-weight: 500; + font-size: 12px; + line-height: 14px; + } + } + .vote-btn{ + background-color: transparent; + border: 0; + width: 20px; + } + .vote-btn:active{ + background-color: transparent; + } + .comments{ + small{ + margin-left: 5px; + font-family: Inter; + font-style: normal; + font-weight: 500; + font-size: 12px; + line-height: 15px; + color: rgba(0, 0, 0, 0.4); + cursor: pointer; + } + small:hover{ + text-decoration: underline; + } + } + } } } } } } + +.up-vote small{ + color: #1EB025; +} + +.down-vote small{ + color: #FF0000; +} + +.news-feed { + .post-article { + .article { + .post-input { + background: #FFFFFF; + border: 1px solid #CCCCCC; + box-shadow: 1px 2px 5px rgba(0, 0, 0, 0.1); + border-radius: 5px; + } + .cta { + button { + svg{ + padding-right: 16px; + padding-bottom: 5px; + margin-top: 0px; + } + } + } + } + } +} + +.modal-box{ + .modal-header { + .modal-title { + .main { + font-family: Inter; + font-style: normal; + font-weight: 600; + font-size: 32px; + line-height: 39px; + color: #1A73E8; + } + .mini { + font-family: Inter; + font-style: normal; + font-weight: 500; + font-size: 12px; + line-height: 19px; + color: #90949C; + letter-spacing: 0.2em; + padding-top: 18px; + } + } + } + .modal-body{ + .modal-form { + .modal-row { + .modal-group { + .form-label { + font-family: Inter; + font-style: normal; + font-weight: 500; + font-size: 14px; + line-height: 17px; + color: #1A73E8; + } + .post{ + border: 0.75px solid #E2E2E2; + box-sizing: border-box; + border-radius: 5px; + text-align: left; + resize: none; + } + } + } + } + } + .modal-buttons { + .save{ + font-weight: bold; + background: #1A73E8; + box-shadow: 1px 2px 5px rgba(0, 0, 0, 0.1); + border-radius: 34px; + width: 74px; + margin-right: 20px; + margin-bottom: 10px; + margin-left: 14px; + } + .cancel{ + border: 1px solid #1A73E8; + box-sizing: border-box; + box-shadow: 1px 2px 5px rgba(0, 0, 0, 0.1); + border-radius: 34px; + margin-right: 20px; + margin-bottom: 10px; + color: #1A73E8; + font-weight: 500; + } + } +} diff --git a/src/user/dashboard/notifications/notifications.js b/src/user/dashboard/notifications/notifications.js index 27700d81..92e3763f 100644 --- a/src/user/dashboard/notifications/notifications.js +++ b/src/user/dashboard/notifications/notifications.js @@ -1,39 +1,6 @@ import React, { Component } from "react"; -import donutIcon from '../../../svgs/donut-icon.svg' -import icon2 from '../../../svgs/not-icon-2.svg' -import icon3 from '../../../svgs/not-icon-3.svg' import "./notifications.scss"; - -const customNotifications = [ - { - _id: 1, - imgSrc: donutIcon, - heading: 'Cody Nguyen', - content: 'Lorem ipsum dolor sit amet, duo esse augue torgatos te, ius an nisi deterruisset.', - tag: '+1 RSVP' - }, - { - _id: 2, - imgSrc: icon2, - heading: 'Arlene Mccoy', - content: 'Lorem ipsum dolor sit amet, duo esse augue torgatos te, ius an nisi deterruisset.', - tag: '' - }, - { - _id: 3, - imgSrc: icon3, - heading: 'Julian Richards', - content: 'Lorem ipsum dolor sit amet, duo esse augue torgatos te, ius an nisi deterruisset.', - tag: 'View' - }, - { - _id: 4, - imgSrc: donutIcon, - heading: 'Julian Richards', - content: 'Lorem ipsum dolor sit amet, duo esse augue torgatos te, ius an nisi deterruisset.', - tag: '' - }, -] +import customNotifications from '../../../jsonData/notifications' class Notifications extends Component { render() { diff --git a/src/user/dashboard/upcoming-events/upcoming-events.js b/src/user/dashboard/upcoming-events/upcoming-events.js index dd360a44..59c6b786 100644 --- a/src/user/dashboard/upcoming-events/upcoming-events.js +++ b/src/user/dashboard/upcoming-events/upcoming-events.js @@ -1,51 +1,6 @@ import React, { Component } from "react"; import "./upcoming-events.scss"; -import profileImg from '../../../svgs/profile-icon.svg'; - -const events = [ - { - _id: 1, - imgSrc: profileImg, - createdBy: 'Julian Richards', - description: 'Lorem ipsum dolor sit amet, duo esse augue torgatos te, ius an nisi deterruisset.', - tag: '+1 RSVP' - }, - { - _id: 2, - imgSrc: profileImg, - createdBy: 'Julian Richards', - description: 'Lorem ipsum dolor sit amet, duo esse augue torgatos te, ius an nisi deterruisset.', - tag: '' - }, - { - _id: 3, - imgSrc: profileImg, - createdBy: 'Julian Richards', - description: 'Lorem ipsum dolor sit amet, duo esse augue torgatos te, ius an nisi deterruisset.', - tag: '+1 RSVP' - }, - { - _id: 4, - imgSrc: profileImg, - createdBy: 'Julian Richards', - description: 'Lorem ipsum dolor sit amet, duo esse augue torgatos te, ius an nisi deterruisset.', - tag: '' - }, - { - _id: 5, - imgSrc: profileImg, - createdBy: 'Julian Richards', - description: 'Lorem ipsum dolor sit amet, duo esse augue torgatos te, ius an nisi deterruisset.', - tag: '' - }, - { - _id: 6, - imgSrc: profileImg, - createdBy: 'Julian Richards', - description: 'Lorem ipsum dolor sit amet, duo esse augue torgatos te, ius an nisi deterruisset.', - tag: '' - } -] +import events from '../../../jsonData/upcoming-events'; class UpcomingEvents extends Component { render() { From 24575b19b950a14fa38fa187e053a11c5e141b2a Mon Sep 17 00:00:00 2001 From: theprover97 Date: Tue, 3 Mar 2020 20:34:10 +0530 Subject: [PATCH 3/4] Created Popups of Profile page (#329) * Added Edit-Profile Popup * Added Logout Button and Popup * Changes finalising Logout Button and its Popup * Others * Update navigation.js * Added Followers Popup * Changes in Followers popup Co-authored-by: Devesh Verma --- src/svgs/logout.svg | 60 +++++++++++ src/user/dashboard/navigation/navigation.js | 22 +++- src/user/dashboard/navigation/navigation.scss | 8 ++ src/user/profile/popups/edit-profile.js | 99 +++++++++++++++++ src/user/profile/popups/followers.js | 81 ++++++++++++++ src/user/profile/popups/logout.js | 33 ++++++ src/user/profile/popups/popups.scss | 100 ++++++++++++++++++ src/user/profile/user-info/user-info.js | 20 +++- 8 files changed, 417 insertions(+), 6 deletions(-) create mode 100644 src/svgs/logout.svg create mode 100644 src/user/profile/popups/edit-profile.js create mode 100644 src/user/profile/popups/followers.js create mode 100644 src/user/profile/popups/logout.js create mode 100644 src/user/profile/popups/popups.scss diff --git a/src/svgs/logout.svg b/src/svgs/logout.svg new file mode 100644 index 00000000..e0188843 --- /dev/null +++ b/src/svgs/logout.svg @@ -0,0 +1,60 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/user/dashboard/navigation/navigation.js b/src/user/dashboard/navigation/navigation.js index 1993a4aa..4ac449c0 100644 --- a/src/user/dashboard/navigation/navigation.js +++ b/src/user/dashboard/navigation/navigation.js @@ -1,11 +1,17 @@ import React, { Component } from "react"; -import { ListGroup } from "react-bootstrap"; -import { NavLink } from 'react-router-dom'; +import { ListGroup, Button } from "react-bootstrap"; +import { NavLink } from "react-router-dom"; import { DonutTitleSmall } from "../../../donutTitle/donutTitle"; import "./navigation.scss"; +import {Logout} from "../../profile/popups/logout"; +import logo from "../../../svgs/logout.svg"; class Navigation extends Component { + state = { logout:false }; render() { + let cancel =()=>this.setState({ + logout:false + }); const divStyle = { position: "absolute", bottom: 0 @@ -106,7 +112,7 @@ class Navigation extends Component { Account - + Settings + + + + ); diff --git a/src/user/dashboard/navigation/navigation.scss b/src/user/dashboard/navigation/navigation.scss index fa1ef97f..a5928a66 100644 --- a/src/user/dashboard/navigation/navigation.scss +++ b/src/user/dashboard/navigation/navigation.scss @@ -64,4 +64,12 @@ } } } +} + +.logout{ + height: 21px; + width: 21px; + color: rgba(0, 0, 0, 0.5); + margin-right: 15px; + margin-left: 2px; } \ No newline at end of file diff --git a/src/user/profile/popups/edit-profile.js b/src/user/profile/popups/edit-profile.js new file mode 100644 index 00000000..86ac8a57 --- /dev/null +++ b/src/user/profile/popups/edit-profile.js @@ -0,0 +1,99 @@ +import React, {Component} from 'react'; +import {Modal, Button, Row, Col, Form} from 'react-bootstrap'; +import "./popups.scss"; + +export class EditProfile extends Component{ + // eslint-disable-next-line + constructor(props){ + super(props); + } + render(){ + return ( + +
+ + +
Edit Profile
+
PERSONAL INFORMATION
+
+
+ + + + First Name + + + + Last Name + + + + + + Designation + + + + Location + + + + + About + + +
PROFILES
+ + + GitHub URL + + + + LinkedIn URL + + + + + + Facebook URL + + + +
+
+ + +
+
+
+ ); + } +} \ No newline at end of file diff --git a/src/user/profile/popups/followers.js b/src/user/profile/popups/followers.js new file mode 100644 index 00000000..c673d738 --- /dev/null +++ b/src/user/profile/popups/followers.js @@ -0,0 +1,81 @@ +import React, {Component} from 'react'; +import {Modal, Button, Row, Col} from 'react-bootstrap'; +import logo from "../../../svgs/profile-icon.svg"; +import "./popups.scss"; + +export class Followers extends Component{ + // eslint-disable-next-line + constructor(props){ + super(props); + } + state = {text:"Follow"}; + render(){ + + return ( + +
+ + +
Followers
+
PEOPLE WHO FOLLOW YOU
+
+
+ + + I +
+

Dhanus Rajendra

+

Front-End Developer

+
+ +
+ + I +
+

Dhanus Rajendra

+

Front-End Developer

+
+ +
+ + I +
+

Dhanus Rajendra

+

Front-End Developer

+
+ +
+ + I +
+

Dhanus Rajendra

+

Front-End Developer

+
+ +
+ + I +
+

Dhanus Rajendra

+

Front-End Developer

+
+ +
+ + I +
+

Dhanus Rajendra

+

Front-End Developer

+
+ +
+
+
+
+ ); + } +} diff --git a/src/user/profile/popups/logout.js b/src/user/profile/popups/logout.js new file mode 100644 index 00000000..e2feb86a --- /dev/null +++ b/src/user/profile/popups/logout.js @@ -0,0 +1,33 @@ +import React, {Component} from 'react'; +import {Modal, Button} from 'react-bootstrap'; +import "./popups.scss"; + +export class Logout extends Component{ + // eslint-disable-next-line + constructor(props){ + super(props); + } + render(){ + return ( + +
+ + +
Logout?
+
Are you sure you want to logout of Donut?
+
+
+ +
+ + +
+
+
+ ); + } +} \ No newline at end of file diff --git a/src/user/profile/popups/popups.scss b/src/user/profile/popups/popups.scss new file mode 100644 index 00000000..8e8f8f3c --- /dev/null +++ b/src/user/profile/popups/popups.scss @@ -0,0 +1,100 @@ +.heading{ + margin-top: 20px; +} +.title{ + font-size: 22px; + font-weight: 700; + line-height: 29px; + color: #1A73E8; +} +.about{ + font-weight: 500; + font-size: 10px; + line-height: 14px; + letter-spacing: 0.2em; + color: #90949C; + margin-top:10px; +} +.message{ + font-weight: 500; + font-size: 14px; + line-height: 14px; + letter-spacing: 0.2em; + color: rgb(28, 30, 34); + margin-top:15px; + margin-bottom: 20px; +} +.extra{ + margin-bottom: 20px; + margin-left: -15px; +} +.label{ + font-weight: 600; + font-size: 12px; + color:#000000; + margin-bottom: 3px; +} +.form-input{ + font-family: Inter; + font-style: normal; + font-weight: 300; + font-size: 13px; + line-height: 16px; +} +.form-content{ + margin-top:-2%; + margin-bottom: 20px; + justify-content:space-between; +} +.form-footer{ + margin-top: 0; + Button{ + width:90px; + margin-right: 20px; + margin-bottom: 30px; + border-radius: 100px; + font-weight:600; + } + .savebtn{ + background-color: #1A73E8; + } + +} +.contain{ + margin-top: -3px; +} +.photo{ + margin-top: 3px; + height: 43px; + width: 43px; +} +.user{ + margin-top: 2px; + font-size: 1.1em; + color: black; +} +.descr{ + font-size: 0.8em; + color: rgb(90, 84, 84); + margin-top: -13px; +} +.follow-link{ + margin-top: 3px; + padding: 8px; + font-size: 14px; + box-shadow: 1px 2px 5px rgba(0, 0, 0, 0.1); + border-radius: 20px; + width: 80px; + height: 35px; + font-family: Inter; + font-style: normal; + font-weight: 600; + font-size: 14px; + line-height: 17px; + text-align: center; +} +.follower{ + margin-top: 10px; + margin-bottom: 10px; + justify-content:space-between; +} \ No newline at end of file diff --git a/src/user/profile/user-info/user-info.js b/src/user/profile/user-info/user-info.js index e38c7500..ba9a2619 100644 --- a/src/user/profile/user-info/user-info.js +++ b/src/user/profile/user-info/user-info.js @@ -1,9 +1,17 @@ import React, { Component } from "react"; import "./user-info.scss"; import { Button } from "react-bootstrap"; - +import {EditProfile} from "./../popups/edit-profile"; +import {Followers} from "./../popups/followers" class UserInfo extends Component { + state = { editProfile:false, followersList:false }; render() { + let cancel =()=>this.setState({ + editProfile:false + }); + let cancelf =()=>this.setState({ + followersList:false + }); return (
@@ -11,12 +19,18 @@ class UserInfo extends Component {
- + +

- Dhanus Rajendra + Dhanus Rajendra +

Front end developer

Bengaluru, Karnataka

From 54c0fc1c57b9aee623732b1ed1adf59d54260711 Mon Sep 17 00:00:00 2001 From: Ayush Pratap Singh Date: Tue, 3 Mar 2020 20:42:10 +0530 Subject: [PATCH 4/4] Update App.js (#341) --- src/App.js | 1 + 1 file changed, 1 insertion(+) diff --git a/src/App.js b/src/App.js index b19958fc..074dbef4 100644 --- a/src/App.js +++ b/src/App.js @@ -18,5 +18,6 @@ class App extends Component { ); } } +document.title = 'Donut'; export default App;