.activity-item span.activity-date {{::timeline.get('created') | momentFromNow}} .activity-info(tg-user-timeline-title="timeline") .activity-info // profile image with url .profile-contact-picture(ng-if="timeline.getIn(['data', 'user', 'is_profile_visible'])") a(tg-nav="user-profile:username=timeline.getIn(['data', 'user', 'username'])", title="{{::timeline.getIn(['data', 'user', 'name']) }}") img( tg-avatar="timeline.getIn(['data', 'user'])" alt="{{::timeline.getIn(['data', 'user', 'name'])}}" ) // profile image without url .profile-contact-picture(ng-if="!timeline.getIn(['data', 'user', 'is_profile_visible'])") img( tg-avatar="timeline.getIn(['data', 'user'])" alt="{{::timeline.getIn(['data', 'user', 'name'])}}" ) p(tg-compile-html="timeline.get('title_html')") blockquote.activity-comment-quote(ng-if="::timeline.get('description')") | {{::timeline.get('description') | limitTo:300}} .activity-member-view(ng-if="::timeline.has('member')") a.profile-member-picture(tg-nav="user-profile:username=timeline.getIn(['member', 'user', 'username'])", title="{{::timeline.getIn(['member', 'user', 'name'])}}") img( tg-avatar="timeline.getIn(['member', 'user'])" alt="{{::timeline.getIn(['member','user', 'name'])}}" ) .activity-member-info a(tg-nav="user-profile:username=timeline.getIn(['member', 'user', 'username'])", title="{{::timeline.getIn(['member','user', 'name'])}}") span {{::timeline.getIn(['member','user', 'name'])}} p {{::timeline.getIn(['member','role', 'name'])}} div(tg-repeat="attachment in timeline.get('attachments')") div(tg-user-timeline-attachment="attachment")