mirror of
https://github.com/scm-manager/scm-manager.git
synced 2025-11-10 15:35:49 +01:00
42 lines
955 B
TypeScript
42 lines
955 B
TypeScript
import React from "react";
|
|
import { Link } from "react-router-dom";
|
|
import styled from "styled-components";
|
|
import { Member } from "@scm-manager/ui-types";
|
|
import { Icon } from "@scm-manager/ui-components";
|
|
|
|
type Props = {
|
|
member: Member;
|
|
};
|
|
|
|
const StyledMember = styled.li`
|
|
display: inline-block;
|
|
margin-right: 0.25rem;
|
|
padding: 0.25rem 0.75rem;
|
|
border: 1px solid #eee;
|
|
border-radius: 4px;
|
|
`;
|
|
|
|
export default class GroupMember extends React.Component<Props> {
|
|
renderLink(to: string, label: string) {
|
|
return (
|
|
<Link to={to}>
|
|
<Icon name="user" color="inherit" /> {label}
|
|
</Link>
|
|
);
|
|
}
|
|
|
|
showName(to: any, member: Member) {
|
|
if (member._links.self) {
|
|
return this.renderLink(to, member.name);
|
|
} else {
|
|
return member.name;
|
|
}
|
|
}
|
|
|
|
render() {
|
|
const { member } = this.props;
|
|
const to = `/user/${member.name}`;
|
|
return <StyledMember>{this.showName(to, member)}</StyledMember>;
|
|
}
|
|
}
|