div.activity-item span.activity-date {{::timeline.get('created') | momentFromNow}} div.activity-info(tg-user-timeline-title="timeline") div.activity-info // profile image with url div.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(ng-src="{{::timeline.getIn(['data', 'user', 'photo']) || '/#{v}/images/user-noimage.png'}}", alt="{{::timeline.getIn(['data', 'user', 'name'])}}") // profile image without url div.profile-contact-picture(ng-if="!timeline.getIn(['data', 'user', 'is_profile_visible'])") img(ng-src="{{::timeline.getIn(['data', 'user', 'photo']) || '/#{v}/images/user-noimage.png'}}", 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(ng-src="{{::timeline.getIn(['member', 'user', 'photo'])}}", 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")