diff --git a/js/forum/src/components/PostUser.js b/js/forum/src/components/PostUser.js index 071c333ed..38e64f1f5 100644 --- a/js/forum/src/components/PostUser.js +++ b/js/forum/src/components/PostUser.js @@ -2,6 +2,7 @@ import Component from 'flarum/Component'; import UserCard from 'flarum/components/UserCard'; import avatar from 'flarum/helpers/avatar'; import username from 'flarum/helpers/username'; +import userOnline from 'flarum/helpers/userOnline'; import listItems from 'flarum/helpers/listItems'; /** @@ -45,6 +46,7 @@ export default class PostUser extends Component { return (
+ {userOnline(user)}

{avatar(user, {className: 'PostUser-avatar'})}{' '}{username(user)} diff --git a/js/lib/helpers/userOnline.js b/js/lib/helpers/userOnline.js new file mode 100644 index 000000000..edf21b498 --- /dev/null +++ b/js/lib/helpers/userOnline.js @@ -0,0 +1,13 @@ +import icon from 'flarum/helpers/icon'; + +/** + * The `useronline` helper displays a green circle if the user is online + * + * @param {User} user + * @return {Object} + */ +export default function userOnline(user) { + if (user.lastSeenTime() && user.isOnline()) { + return {icon('circle')}; + } +} diff --git a/less/forum/Post.less b/less/forum/Post.less index e79c8e00c..44b0ec6ad 100644 --- a/less/forum/Post.less +++ b/less/forum/Post.less @@ -49,6 +49,16 @@ font-size: 14px; } + .UserOnline { + & .icon { + font-size: 12px; + } + + & .fa-circle { + color: @online-user-circle-color; + } + } + .UserCard { position: absolute; top: -10px;