1
0
mirror of https://github.com/flarum/core.git synced 2025-08-11 10:55:47 +02:00

update: forum/components/UserCard

This commit is contained in:
Alexander Skvortsov
2020-08-08 11:47:41 -04:00
committed by Franz Liedke
parent e0d3a8c733
commit 703c3442da

View File

@@ -23,29 +23,31 @@ import listItems from '../../common/helpers/listItems';
*/ */
export default class UserCard extends Component { export default class UserCard extends Component {
view() { view() {
const user = this.props.user; const user = this.attrs.user;
const controls = UserControls.controls(user, this).toArray(); const controls = UserControls.controls(user, this).toArray();
const color = user.color(); const color = user.color();
const badges = user.badges().toArray(); const badges = user.badges().toArray();
return ( return (
<div className={'UserCard ' + (this.props.className || '')} style={color ? { backgroundColor: color } : ''}> <div className={'UserCard ' + (this.attrs.className || '')} style={color ? { backgroundColor: color } : ''}>
<div className="darkenBackground"> <div className="darkenBackground">
<div className="container"> <div className="container">
{controls.length {controls.length
? Dropdown.component({ ? Dropdown.component(
children: controls, {
className: 'UserCard-controls App-primaryControl', className: 'UserCard-controls App-primaryControl',
menuClassName: 'Dropdown-menu--right', menuClassName: 'Dropdown-menu--right',
buttonClassName: this.props.controlsButtonClassName, buttonClassName: this.attrs.controlsButtonClassName,
label: app.translator.trans('core.forum.user_controls.button'), label: app.translator.trans('core.forum.user_controls.button'),
icon: 'fas fa-ellipsis-v', icon: 'fas fa-ellipsis-v',
}) },
controls
)
: ''} : ''}
<div className="UserCard-profile"> <div className="UserCard-profile">
<h2 className="UserCard-identity"> <h2 className="UserCard-identity">
{this.props.editable ? ( {this.attrs.editable ? (
[AvatarEditor.component({ user, className: 'UserCard-avatar' }), username(user)] [AvatarEditor.component({ user, className: 'UserCard-avatar' }), username(user)]
) : ( ) : (
<a href={app.route.user(user)} config={m.route}> <a href={app.route.user(user)} config={m.route}>
@@ -72,7 +74,7 @@ export default class UserCard extends Component {
*/ */
infoItems() { infoItems() {
const items = new ItemList(); const items = new ItemList();
const user = this.props.user; const user = this.attrs.user;
const lastSeenAt = user.lastSeenAt(); const lastSeenAt = user.lastSeenAt();
if (lastSeenAt) { if (lastSeenAt) {