Skip to content
This repository was archived by the owner on Mar 13, 2025. It is now read-only.

fix: issue #135 #136

Merged
merged 2 commits into from
Mar 3, 2021
Merged
Show file tree
Hide file tree
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 4 additions & 1 deletion src/components/User/index.jsx
Original file line number Diff line number Diff line change
Expand Up @@ -9,12 +9,14 @@ import PT from "prop-types";
import "./styles.module.scss";
import { formatFullName } from "utils/format";
import { TOPCODER_COMMUNITY_WEBSITE_URL } from "../../../config";
import IconDirectArrow from "../../assets/images/icon-direct-arrow.svg";
import { Link } from "@reach/router";

const User = ({ user, hideFullName = false, handleLinkTo }) => {
const User = ({ showArrow, user, hideFullName = false, handleLinkTo }) => {
return (
<div styleName="user">
<Avatar {...user} />
{showArrow ? <IconDirectArrow styleName="direct-arrow" /> : null}
<div styleName="user-details">
{/* if "handleLinkTo" is provided, use it as internal link, otherwise as external profile link */}
{handleLinkTo ? (
Expand Down Expand Up @@ -47,6 +49,7 @@ User.propTypes = {
}),
hideFullName: PT.bool,
handleLinkTo: PT.string,
showArrow: PT.bool,
};

export default User;
16 changes: 16 additions & 0 deletions src/components/User/styles.module.scss
Original file line number Diff line number Diff line change
Expand Up @@ -3,8 +3,24 @@
.user {
align-items: center;
display: flex;
position: relative;
}

.direct-arrow {
position: absolute;
left: 30px;
top: 40px;
bottom: 0;
text-align: center;
background-color: #404041;
border-radius: 80%;
width: 14px;
height: 14px;
padding: 3px;
path {
fill: white;
}
}
.user-details {
margin-left: 16px;
}
45 changes: 17 additions & 28 deletions src/routes/TeamAccess/components/MemberList/index.jsx
Original file line number Diff line number Diff line change
Expand Up @@ -7,11 +7,9 @@ import PT from "prop-types";
import CardHeader from "components/CardHeader";
import Button from "components/Button";
import "./styles.module.scss";
import Avatar from "components/Avatar";
import { Link } from "@reach/router";
import User from "components/User";
import TimeSection from "../TimeSection";
import { formatInviteTime } from "utils/format";
import IconDirectArrow from "../../../../assets/images/icon-direct-arrow.svg";
import DeleteModal from "../DeleteModal";
import AddModalContainer from "../AddModalContainer";

Expand Down Expand Up @@ -40,17 +38,13 @@ const MemberList = ({ teamId, members, invitees }) => {
<div styleName="row-container">
<div styleName="table-row">
<div styleName="table-group avatar-name">
<div styleName="table-cell">
<Avatar
photoUrl={member.photoURL}
handle={member.handle || member.email}
/>
</div>
<div styleName="table-cell">
<Link to={`/taas/myteams/${teamId}/rb/${member.id}`}>
{member.handle || member.email}
</Link>
</div>
<User
user={{
...member,
photoUrl: member.photoURL,
}}
hideFullName
/>
</div>
<TimeSection
start={member.workingHourStart}
Expand All @@ -70,20 +64,15 @@ const MemberList = ({ teamId, members, invitees }) => {
<div styleName="row-container">
<div styleName="table-row">
<div styleName="table-group avatar-name">
<div styleName="table-cell">
<div styleName="invite-avatar">
<Avatar
photoUrl={invitee.photoURL}
handle={invitee.handle || invitee.email}
/>
<IconDirectArrow styleName="direct-arrow" />
</div>
</div>
<div styleName="table-cell">
<Link to={`/taas/myteams/${teamId}/rb/${invitee.id}`}>
{invitee.handle || invitee.email}
</Link>
</div>
<User
user={{
...invitee,
photoUrl: invitee.photoURL,
handle: invitee.handle || invitee.email,
}}
showArrow
hideFullName
/>
</div>
<div styleName="table-group invite-date">
<div styleName="table-cell">
Expand Down
20 changes: 2 additions & 18 deletions src/routes/TeamAccess/components/MemberList/styles.module.scss
Original file line number Diff line number Diff line change
Expand Up @@ -65,24 +65,8 @@

.avatar-name {
flex: 1 2 320px;
}

.invite-avatar {
position: relative;
}

.direct-arrow {
position: absolute;
right: 0;
bottom: 0;
text-align: center;
background-color: #404041;
border-radius: 80%;
width: 14px;
height: 14px;
padding: 3px;
path {
fill: white;
> div {
padding: 18px 8px 19px;
}
}

Expand Down