1
0
mirror of https://github.com/flarum/core.git synced 2025-10-14 08:24:28 +02:00

Replace Ember app with Mithril app

This commit is contained in:
Toby Zerner
2015-04-25 22:28:39 +09:30
parent 6f67b8c247
commit b68a4711dc
377 changed files with 5641 additions and 7330 deletions

View File

@@ -0,0 +1,65 @@
import Component from 'flarum/component';
import avatar from 'flarum/helpers/avatar';
import username from 'flarum/helpers/username';
import DropdownButton from 'flarum/components/dropdown-button';
import ActionButton from 'flarum/components/action-button';
import ItemList from 'flarum/utils/item-list';
import Separator from 'flarum/components/separator';
export default class UserDropdown extends Component {
view() {
var user = this.props.user;
return DropdownButton.component({
buttonClass: 'btn btn-default btn-naked btn-rounded btn-user',
menuClass: 'pull-right',
buttonContent: [avatar(user), ' ', m('span.label', username(user))],
items: this.items().toArray()
});
}
items() {
var items = new ItemList();
var user = this.props.user;
items.add('profile',
ActionButton.component({
icon: 'user',
label: 'Profile',
href: app.route('user', user),
config: m.route
})
);
items.add('settings',
ActionButton.component({
icon: 'cog',
label: 'Settings',
href: app.route('settings'),
config: m.route
})
);
if (user.groups().some((group) => group.id() == 1)) {
items.add('administration',
ActionButton.component({
icon: 'wrench',
label: 'Administration',
href: app.config.baseURL+'/admin'
})
);
}
items.add('separator', Separator.component());
items.add('logOut',
ActionButton.component({
icon: 'sign-out',
label: 'Log Out',
onclick: app.session.logout.bind(app.session)
})
);
return items;
}
}