12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970 |
- import Ember from 'ember';
- export default Ember.Component.extend({
- classNames: 'user-state',
- classNameBindings: [
- 'user.state.is_banned:user-banned',
- 'user.state.is_hidden:user-hidden',
- 'user.state.is_online_hidden:user-online',
- 'user.state.is_offline_hidden:user-offline',
- 'user.state.is_online:user-online',
- 'user.state.is_offline:user-offline'
- ],
- attributeBindings: ['title'],
- title: function() {
- if (this.get('user.state.is_banned')) {
- if (this.get('user.state.banned_until')) {
- return interpolate(gettext('%(username)s\'s is banned until %(ban_expires)s.'), {
- 'username': this.get('user.username'),
- 'ban_expires': moment(this.get('user.state.banned_until')).format('LL, LT')
- }, true);
- } else {
- return interpolate(gettext('%(username)s\'s is banned.'), {
- 'username': this.get('user.username')
- }, true);
- }
- } else if (this.get('user.state.is_hidden')) {
- return interpolate(gettext('%(username)s\'s activity is hidden.'), {
- 'username': this.get('user.username')
- }, true);
- } else if (this.get('user.state.is_online_hidden')) {
- return interpolate(gettext('%(username)s is online and hidden.'), {
- 'username': this.get('user.username')
- }, true);
- } else if (this.get('user.state.is_offline_hidden')) {
- return interpolate(gettext('%(username)s was last seen hidden %(last_click)s.'), {
- 'username': this.get('user.username'),
- 'last_click': this.get('lastClick').fromNow()
- }, true);
- } else if (this.get('user.state.is_online')) {
- return interpolate(gettext('%(username)s is online.'), {
- 'username': this.get('user.username')
- }, true);
- } else if (this.get('user.state.is_offline')) {
- return interpolate(gettext('%(username)s was last seen %(last_click)s.'), {
- 'username': this.get('user.username'),
- 'last_click': this.get('lastClick').fromNow()
- }, true);
- }
- }.property(
- 'user.state.is_banned',
- 'user.state.is_hidden',
- 'user.state.is_online_hidden',
- 'user.state.is_offline_hidden',
- 'user.state.is_online',
- 'user.state.is_offline',
- 'user.state.banned_until',
- 'lastClick'
- ),
- lastClick: function() {
- return moment(this.get('user.state.last_click'));
- }.property('user.state.last_click', 'clock.tick')
- });
|