feat(core): add icon for menu item

This commit is contained in:
OldHawk
2018-03-17 18:20:53 +08:00
parent 7a751921d1
commit b249186a9a
21 changed files with 222 additions and 89 deletions

View File

@@ -507,6 +507,9 @@ module.exports = {
* @name: name of type, used by $translate at TORRENT_TYPE_LABEL, will show translate result as torrent tag in torrent list
* @value: value of type, torrent type value in model, will write this value into mongodb and query torrents by this value
* @title: title of type, used by $translate at MENU_TORRENTS_SUB, will show translate result in header submenu item
* @role: role of type, limit none access users join
* @faIcon: fontawesome icon front of menu item
* @faClass: fontawesome icon class
* @divider: divider status of submenu item
* @position: position of submenu item(ordered index)
* @state: angular state of torrent type, this state value used in module route config
@@ -531,6 +534,8 @@ module.exports = {
value: 'movie',
title: 'MENU_TORRENTS_SUB.MOVIE',
role: 'user',
faIcon: 'fa-film',
faClass: 'text-mt',
divider: false,
position: 1,
state: 'torrents.movie',
@@ -545,6 +550,8 @@ module.exports = {
value: 'tvserial',
title: 'MENU_TORRENTS_SUB.TVSERIAL',
role: 'user',
faIcon: 'fa-tv',
faClass: 'text-mt',
divider: false,
position: 2,
state: 'torrents.tvserial',
@@ -559,6 +566,8 @@ module.exports = {
value: 'music',
title: 'MENU_TORRENTS_SUB.MUSIC',
role: 'user',
faIcon: 'fa-music',
faClass: 'text-success',
divider: true,
position: 3,
state: 'torrents.music',
@@ -573,6 +582,8 @@ module.exports = {
value: 'sports',
title: 'MENU_TORRENTS_SUB.SPORTS',
role: 'user',
faIcon: 'fa-futbol-o',
faClass: 'text-danger',
divider: false,
position: 4,
state: 'torrents.sports',
@@ -587,6 +598,8 @@ module.exports = {
value: 'variety',
title: 'MENU_TORRENTS_SUB.VARIETY',
role: 'user',
faIcon: 'fa-video-camera',
faClass: 'text-primary',
divider: false,
position: 5,
state: 'torrents.variety',
@@ -601,6 +614,8 @@ module.exports = {
value: 'picture',
title: 'MENU_TORRENTS_SUB.PICTURE',
role: 'user',
faIcon: 'fa-photo',
faClass: 'text-info',
divider: false,
position: 6,
state: 'torrents.picture',
@@ -615,6 +630,8 @@ module.exports = {
value: 'game',
title: 'MENU_TORRENTS_SUB.GAME',
role: 'user',
faIcon: 'fa-gamepad',
faClass: 'text-danger',
divider: true,
position: 7,
state: 'torrents.game',
@@ -629,6 +646,8 @@ module.exports = {
value: 'software',
title: 'MENU_TORRENTS_SUB.SOFTWARE',
role: 'user',
faIcon: 'fa-hdd-o',
faClass: 'text-success',
divider: false,
position: 8,
state: 'torrents.software',
@@ -643,6 +662,8 @@ module.exports = {
value: 'ebook',
title: 'MENU_TORRENTS_SUB.EBOOK',
role: 'user',
faIcon: 'fa-book',
faClass: 'text-info',
divider: false,
position: 9,
state: 'torrents.ebook',
@@ -657,6 +678,8 @@ module.exports = {
value: 'other',
title: 'MENU_TORRENTS_SUB.OTHER',
role: 'user',
faIcon: null,
faClass: null,
divider: true,
position: 10,
state: 'torrents.other',
@@ -671,6 +694,8 @@ module.exports = {
value: 'adult',
title: 'MENU_TORRENTS_SUB.ADULT',
role: 'vip',
faIcon: null,
faClass: null,
divider: true,
position: 11,
state: 'torrents.adult',

View File

@@ -19,6 +19,8 @@
menuService.addSubMenuItem('topbar', 'about', {
title: 'MENU_ABOUT_MANUAL',
state: 'about.manual.userRules',
faIcon: 'fa-question-circle',
faClass: 'fa-class-user-manual',
position: 1
});
// 2 is item of Users Ranking configure in module ranking
@@ -30,11 +32,15 @@
menuService.addSubMenuItem('topbar', 'about', {
title: 'MENU_ABOUT_OPERLIST',
state: 'about.operlist',
faIcon: 'fa-user-secret',
faClass: 'fa-class-operlist',
position: 4
});
menuService.addSubMenuItem('topbar', 'about', {
title: 'MENU_ABOUT_BLACKLIST',
state: 'about.black',
faIcon: 'fa-ban',
faClass: 'text-danger',
position: 5,
divider: true
});

View File

@@ -1,7 +1,7 @@
 
---
##### More manual link
##### 更多手册内容连接
* [用户守则](/about/manual/userRules)
* [公共言论行为准则](/about/manual/chatRules)
* [用户积分细则](/about/manual/scoreRules)

View File

@@ -40,7 +40,7 @@
MENU_FORUMS: 'Forums',
MENU_REQUESTS: 'Requests',
MENU_ABOUT: 'About',
MENU_ABOUT_MANUAL: 'Site Manual',
MENU_ABOUT_MANUAL: 'User Manual',
MENU_ABOUT_BLACKLIST: 'Client Black List',
MENU_ABOUT_MAKERGROUP: 'Torrents Maker Group',
MENU_ABOUT_OPERLIST: 'Admin/Oper List',

View File

@@ -40,7 +40,7 @@
MENU_FORUMS: '论坛',
MENU_REQUESTS: '求种',
MENU_ABOUT: '关于',
MENU_ABOUT_MANUAL: '站点手册',
MENU_ABOUT_MANUAL: '用户手册',
MENU_ABOUT_BLACKLIST: '禁止客户端列表',
MENU_ABOUT_MAKERGROUP: '资源压制小组',
MENU_ABOUT_OPERLIST: 'Admin/Oper 列表',

View File

@@ -21,12 +21,16 @@
menuService.addSubMenuItem('account', 'settings', {
title: 'EDIT_PROFILE',
state: 'settings.profile'
state: 'settings.profile',
faIcon: 'fa-vcard',
faClass: 'text-primary'
});
menuService.addSubMenuItem('account', 'settings', {
title: 'EDIT_PROFILE_PIC',
state: 'settings.picture'
state: 'settings.picture',
faIcon: 'fa-photo',
faClass: 'text-warning'
});
menuService.addSubMenuItem('account', 'settings', {
@@ -36,12 +40,16 @@
menuService.addSubMenuItem('account', 'settings', {
title: 'CHANGE_PASSWORD',
state: 'settings.password'
state: 'settings.password',
faIcon: 'fa-lock',
faClass: 'text-danger'
});
menuService.addSubMenuItem('account', 'settings', {
title: 'RESET_PASSKEY',
state: 'settings.passkey'
state: 'settings.passkey',
faIcon: 'fa-key',
faClass: 'text-success'
});
}
}());

View File

@@ -10,6 +10,7 @@
function HeaderController($scope, $state, $timeout, $translate, Authentication, menuService, MeanTorrentConfig, localStorageService, ScoreLevelService,
InvitationsService, $interval, MessagesService, TorrentsService, UsersService, mtDebug) {
$scope.$state = $state;
var vm = this;
vm.user = Authentication.user;
vm.language = MeanTorrentConfig.meanTorrentConfig.language;

View File

@@ -1,5 +1,35 @@
@import (reference) "../../../core/client/less/mt-var.less";
.navbar-nav {
.fa-class-user-manual, .fa-class-admin-users {
color: @brand-primary;
}
.fa-class-user-ranking, .fa-class-operlist, .fa-class-admin-official {
color: @mt-base-color;
}
.fa-class-admin-torrents {
color: @brand-info;
}
.fa-class-admin-upload {
color: @brand-success;
}
.fa-class-admin-messages {
color: @state-danger-text;
}
.fa-class-user-message {
color: @brand-info;
}
.fa-class-revers {
.fa-fw {
color: #fafbfc;
}
}
.fa-fw {
margin: 0 5px 0 -15px;
//font-size: 16px;
}
}
.home_notice {
padding-top: 20px;
.alert {

View File

@@ -59,7 +59,9 @@
items: [],
shouldRender: shouldRender,
target: options.target || undefined,
divider: options.divider || false
divider: options.divider || false,
faClass: options.faClass || null,
faIcon: options.faIcon || null
});
// Add submenu items
@@ -92,7 +94,9 @@
position: options.position || 0,
shouldRender: shouldRender,
target: options.target || undefined,
divider: options.divider || false
divider: options.divider || false,
faClass: options.faClass || null,
faIcon: options.faIcon || null
});
});

View File

@@ -1,84 +1,117 @@
<div class="container" ng-controller="HeaderController as vm" ng-init="vm.getInvitationsCount(); vm.checkMessageUnread(); vm.checkHnRWarning();">
<div class="navbar-header">
<button class="navbar-toggle" type="button" ng-click="vm.isCollapsed = !vm.isCollapsed">
<span class="sr-only">Toggle navigation</span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
</button>
<a ui-sref="home" class="navbar-brand"><span class="brand-title">{{vm.appConfig.name}}</span></a>
</div>
<nav class="navbar-collapse" uib-collapse="!vm.isCollapsed" role="navigation">
<ul class="nav navbar-nav" ng-if="vm.menu.shouldRender(vm.authentication.user);" ng-hide="!vm.authentication.user && !vm.signConfig.showMenuHeaderForGuest">
<li ng-repeat="item in vm.menu.items | orderBy: 'position'" ng-if="item.shouldRender(vm.authentication.user);" ng-switch="item.type" ng-class="{ dropdown: item.type === 'dropdown' }" ui-sref-active="active" class="{{item.class}}" uib-dropdown="item.type === 'dropdown'">
<a ng-switch-when="dropdown" class="dropdown-toggle" uib-dropdown-toggle role="button"><span menu-title="{{item.title}}">{{::item.title}}</span>&nbsp;<span class="caret"></span></a>
<ul ng-switch-when="dropdown" class="dropdown-menu">
<li ui-sref-active="active" ng-repeat="subitem in item.items | orderBy: 'position'" ng-if="subitem.shouldRender(vm.authentication.user);" ng-class="{'menu-divider': subitem.divider}">
<a ui-sref="{{subitem.state}}({{subitem.params}})" ng-bind="subitem.title" mt-target="{{subitem.target}}" menu-title="{{subitem.title}}"></a>
</li>
<div class="navbar-header">
<button class="navbar-toggle" type="button" ng-click="vm.isCollapsed = !vm.isCollapsed">
<span class="sr-only">Toggle navigation</span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
</button>
<a ui-sref="home" class="navbar-brand"><span class="brand-title">{{vm.appConfig.name}}</span></a>
</div>
<nav class="navbar-collapse" uib-collapse="!vm.isCollapsed" role="navigation">
<ul class="nav navbar-nav" ng-if="vm.menu.shouldRender(vm.authentication.user);"
ng-hide="!vm.authentication.user && !vm.signConfig.showMenuHeaderForGuest">
<li ng-repeat="item in vm.menu.items | orderBy: 'position'" ng-if="item.shouldRender(vm.authentication.user);" ng-switch="item.type"
ng-class="{ dropdown: item.type === 'dropdown' }" ui-sref-active="active" class="{{item.class}}"
uib-dropdown="item.type === 'dropdown'">
<a ng-switch-when="dropdown" class="dropdown-toggle" uib-dropdown-toggle role="button"><span
menu-title="{{item.title}}">{{::item.title}}</span>&nbsp;<span class="caret"></span></a>
<ul ng-switch-when="dropdown" class="dropdown-menu">
<li ui-sref-active="active" ng-repeat="subitem in item.items | orderBy: 'position'"
ng-if="subitem.shouldRender(vm.authentication.user);" ng-class="{'menu-divider': subitem.divider}">
<a ui-sref="{{subitem.state}}({{subitem.params}})" mt-target="{{subitem.target}}"
ng-class="{'fa-class-revers': $state.is(subitem.state)}">
<i class="fa fa-fw {{subitem.faIcon}} {{subitem.faClass}}"></i><span ng-bind="subitem.title"
menu-title="{{subitem.title}}"></span>
</a>
</li>
</ul>
<a ng-switch-default ui-sref="{{item.state}}" ng-bind="item.title" mt-target="{{item.target}}" menu-title="{{item.title}}"></a>
</li>
</ul>
<a ng-switch-default ui-sref="{{item.state}}" ng-bind="item.title" mt-target="{{item.target}}" menu-title="{{item.title}}"></a>
</li>
</ul>
<ul class="nav navbar-nav navbar-right" ng-hide="vm.authentication.user">
<li ui-sref-active="active">
<a ui-sref="authentication.signup">{{'SIGNUP' | translate}}</a>
</li>
<li class="divider-vertical"></li>
<li ui-sref-active="active">
<a ui-sref="authentication.signin">{{'SIGNIN' | translate}}</a>
</li>
</ul>
<ul class="nav navbar-nav navbar-right" ng-show="vm.authentication.user">
<li class="scroll-info xs-hide sm-hide" ui-sref="status.account" ng-if="vm.authentication.user">
<ul class="nav navbar-nav navbar-right" ng-hide="vm.authentication.user">
<li ui-sref-active="active">
<a ui-sref="authentication.signup">{{'SIGNUP' | translate}}</a>
</li>
<li class="divider-vertical"></li>
<li ui-sref-active="active">
<a ui-sref="authentication.signin">{{'SIGNIN' | translate}}</a>
</li>
</ul>
<ul class="nav navbar-nav navbar-right" ng-show="vm.authentication.user">
<li class="scroll-info xs-hide sm-hide" ui-sref="status.account" ng-if="vm.authentication.user">
<span>
{{'TABLE_FIELDS.RATIO' | translate}}: {{vm.authentication.user.ratio | ratio}}, 
{{'TABLE_FIELDS.LEVEL' | translate}}: {{vm.scoreLevelData.currLevel}}, 
{{'TABLE_FIELDS.SEEDED' | translate}}: {{vm.authentication.user.seeded}}, 
{{'TABLE_FIELDS.LEECHED' | translate}}: {{vm.authentication.user.leeched}}</span>
</li>
<li class="dropdown" uib-dropdown>
<a class="dropdown-toggle user-header-dropdown-toggle" uib-dropdown-toggle role="button">
<img ng-src="{{vm.authentication.user.profileImageURL}}" alt="{{vm.authentication.user.displayName}}" class="header-profile-image" />
<span class="sm-hide" ng-bind="vm.authentication.user.displayName"></span> <b class="caret"></b>
<span class="header-red-dot" ng-if="vm.unreadCount>0 || vm.user.hnr_warning>0" ng-class="{'bg-hnr': vm.user.hnr_warning>0, 'bg-msg': vm.unreadCount>0}"></span>
</a>
<ul class="dropdown-menu" role="menu">
<li>
</li>
<li class="dropdown" uib-dropdown>
<a class="dropdown-toggle user-header-dropdown-toggle" uib-dropdown-toggle role="button">
<img ng-src="{{vm.authentication.user.profileImageURL}}" alt="{{vm.authentication.user.displayName}}"
class="header-profile-image"/>
<span class="sm-hide" ng-bind="vm.authentication.user.displayName"></span> <b class="caret"></b>
<span class="header-red-dot" ng-if="vm.unreadCount>0 || vm.user.hnr_warning>0"
ng-class="{'bg-hnr': vm.user.hnr_warning>0, 'bg-msg': vm.unreadCount>0}"></span>
</a>
<ul class="dropdown-menu" role="menu">
<li>
<span class="lang-list">
<span class="flag-icon {{l.class}}" title="{{l.title}}" ng-click="vm.changeLanguage(l.name);" ng-repeat="l in vm.language | orderBy: '-index'"></span>
<span class="flag-icon {{l.class}}" title="{{l.title}}" ng-click="vm.changeLanguage(l.name);"
ng-repeat="l in vm.language | orderBy: '-index'"></span>
</span>
</li>
<li class="divider"></li>
<li ui-sref-active="active" ng-repeat="item in vm.followMenu.items" class="menu-parent">
<a ui-sref="{{item.state}}" ng-bind="item.title" menu-title="{{item.title}}"></a><span class="badge menu-badge badge_default" ng-show="vm.getFollowCount(item)>0">{{vm.getFollowCount(item)}}</span>
</li>
<li class="divider"></li>
<li ui-sref-active="active" ng-repeat="item in vm.messagesMenu.items" class="menu-parent">
<a ui-sref="{{item.state}}" ng-bind="item.title" menu-title="{{item.title}}"></a><span class="badge menu-badge badge_info" ng-show="vm.unreadCount>0">{{vm.unreadCount}}</span>
</li>
<li ui-sref-active="active" ng-repeat="item in vm.statusMenu.items" class="menu-parent">
<a ui-sref="{{item.state}}" ng-bind="item.title" menu-title="{{item.title}}"></a><span class="badge menu-badge badge_danger" ng-show="vm.user.hnr_warning>0">{{vm.user.hnr_warning}}</span>
</li>
<li ui-sref-active="active" ng-repeat="item in vm.scoreMenu.items" class="menu-parent">
<a ui-sref="{{item.state}}" ng-bind="item.title" menu-title="{{item.title}}"></a><span class="menu-score" score-level-curr="vm.user"></span>
</li>
<li ui-sref-active="active" ng-repeat="item in vm.inviteMenu.items" class="menu-parent">
<a ui-sref="{{item.state}}" ng-bind="item.title" menu-title="{{item.title}}"></a><span class="badge menu-badge badge_info">{{vm.countMyInvitations}}</span>
</li>
<li class="divider"></li>
<li ui-sref-active="active" ng-repeat="item in vm.accountMenu.items">
<a ui-sref="{{item.state}}" ng-bind="item.title" menu-title="{{item.title}}"></a>
</li>
<li ui-sref-active="active" ng-if="vm.signConfig.allowSocialSignin">
<a ui-sref="settings.accounts" ng-bind="MANAGE_SOCIAL_ACCOUNTS" menu-title="MANAGE_SOCIAL_ACCOUNTS"></a>
</li>
<li class="divider"></li>
<li>
<a href="/api/auth/signout" target="_self">{{'SIGNOUT' | translate}}</a>
</li>
</li>
<li class="divider"></li>
<li ui-sref-active="active" ng-repeat="item in vm.followMenu.items" class="menu-parent">
<a ui-sref="{{item.state}}">
<i class="fa fa-fw {{item.faIcon}} {{item.faClass}}"></i><span ng-bind="item.title" menu-title="{{item.title}}"></span>
</a>
<span class="badge menu-badge badge_default" ng-show="vm.getFollowCount(item)>0">{{vm.getFollowCount(item)}}</span>
</li>
<li class="divider"></li>
<li ui-sref-active="active" ng-repeat="item in vm.messagesMenu.items" class="menu-parent">
<a ui-sref="{{item.state}}">
<i class="fa fa-fw {{item.faIcon}} {{item.faClass}}"></i><span ng-bind="item.title" menu-title="{{item.title}}"></span>
</a>
<span class="badge menu-badge badge_info" ng-show="vm.unreadCount>0">{{vm.unreadCount}}</span>
</li>
<li ui-sref-active="active" ng-repeat="item in vm.statusMenu.items" class="menu-parent">
<a ui-sref="{{item.state}}">
<i class="fa fa-fw {{item.faIcon}} {{item.faClass}}"></i><span ng-bind="item.title" menu-title="{{item.title}}"></span>
</a>
<span class="badge menu-badge badge_danger" ng-show="vm.user.hnr_warning>0">{{vm.user.hnr_warning}}</span>
</li>
<li ui-sref-active="active" ng-repeat="item in vm.scoreMenu.items" class="menu-parent">
<a ui-sref="{{item.state}}">
<i class="fa fa-fw {{item.faIcon}} {{item.faClass}}"></i><span ng-bind="item.title" menu-title="{{item.title}}"></span>
</a>
<span class="menu-score" score-level-curr="vm.user"></span>
</li>
<li ui-sref-active="active" ng-repeat="item in vm.inviteMenu.items" class="menu-parent">
<a ui-sref="{{item.state}}">
<i class="fa fa-fw {{item.faIcon}} {{item.faClass}}"></i><span ng-bind="item.title" menu-title="{{item.title}}"></span>
</a>
<span class="badge menu-badge badge_info">{{vm.countMyInvitations}}</span>
</li>
<li class="divider"></li>
<li ui-sref-active="active" ng-repeat="item in vm.accountMenu.items">
<a ui-sref="{{item.state}}">
<i class="fa fa-fw {{item.faIcon}} {{item.faClass}}"></i><span ng-bind="item.title" menu-title="{{item.title}}"></span>
</a>
</li>
<li ui-sref-active="active" ng-if="vm.signConfig.allowSocialSignin">
<a ui-sref="settings.accounts" ng-bind="MANAGE_SOCIAL_ACCOUNTS">
<i class="fa fa-fw"></i><span menu-title="MANAGE_SOCIAL_ACCOUNTS"></span>
</a>
</li>
<li class="divider"></li>
<li>
<a href="/api/auth/signout" target="_self">
<i class="fa fa-fw fa-sign-out text-danger"></i><span>{{'SIGNOUT' | translate}}</span>
</a>
</li>
</ul>
</li>
</ul>
</li>
</ul>
</nav>
</nav>
</div>

View File

@@ -12,6 +12,8 @@
menuService.addSubMenuItem('topbar', 'admin', {
title: 'MENU_ADMIN_OFFICIAL_INVITATION',
state: 'admin.invitations.official',
faIcon: 'fa-user-plus',
faClass: 'fa-class-admin-official',
position: 40
});
}

View File

@@ -21,7 +21,9 @@
menuService.addSubMenuItem('mt-invite', 'invite', {
title: 'MENU_MY_INVITE',
state: 'invitations.detail'
state: 'invitations.detail',
faIcon: 'fa-user-plus',
faClass: 'text-mt'
});
}
}());

View File

@@ -12,6 +12,8 @@
menuService.addSubMenuItem('topbar', 'admin', {
title: 'MENU_ADMIN_MESSAGES',
state: 'admin.messages',
faIcon: 'fa-podcast',
faClass: 'fa-class-admin-messages',
position: 10,
divider: true
});

View File

@@ -21,7 +21,9 @@
menuService.addSubMenuItem('mt-message', 'messages', {
title: 'MENU_MESSAGE_BOX',
state: 'messages.box'
state: 'messages.box',
faIcon: 'fa-comments',
faClass: 'fa-class-user-message'
});
}
}());

View File

@@ -11,6 +11,8 @@
menuService.addSubMenuItem('topbar', 'about', {
title: 'MENU_ABOUT_RANKING',
state: 'ranking',
faIcon: 'fa-user-circle-o',
faClass: 'fa-class-user-ranking',
position: 2,
divider: true
});

View File

@@ -12,8 +12,10 @@
menuService.addSubMenuItem('topbar', 'admin', {
title: 'MENU_ADMIN_SYSTEMS',
state: 'admin.systems.env',
position: 1000,
roles: ['admin'],
faIcon: 'fa-cog',
faClass: 'text-danger',
position: 1000,
divider: true
});
}

View File

@@ -12,12 +12,16 @@
menuService.addSubMenuItem('topbar', 'admin', {
title: 'MENU_TORRENTS_ADMIN',
state: 'admin.torrents',
faIcon: 'fa-indent',
faClass: 'fa-class-admin-torrents',
position: 1
});
menuService.addSubMenuItem('topbar', 'admin', {
title: 'MENU_UPLOADER_ADMIN',
state: 'admin.uploader',
roles: ['admin'],
faIcon: 'fa-cloud-upload',
faClass: 'fa-class-admin-upload',
position: 2
});

View File

@@ -33,6 +33,8 @@
state: cfg.state,
divider: cfg.divider,
roles: ['*'],
faIcon: cfg.faIcon,
faClass: cfg.faClass,
position: cfg.position
});
@@ -41,7 +43,7 @@
title: 'MENU_TORRENTS_SUB.MOVIE_COLLECTIONS',
state: 'collections.list',
roles: ['*'],
position: 1
position: cfg.position
});
}
}

View File

@@ -12,6 +12,8 @@
menuService.addSubMenuItem('topbar', 'admin', {
title: 'MENU_ADMIN_TRACE',
state: 'admin.traces',
faIcon: 'fa-table',
faClass: 'text-warning',
position: 20
});
}

View File

@@ -11,7 +11,9 @@
function menuConfig(menuService) {
menuService.addSubMenuItem('topbar', 'admin', {
title: 'MENU_USERS_ADMIN',
state: 'admin.users'
state: 'admin.users',
faIcon: 'fa-users',
faClass: 'fa-class-admin-users'
});
}
}());

View File

@@ -35,12 +35,16 @@
menuService.addSubMenuItem('mt-user', 'status', {
title: 'MENU_ACCOUNT_STATUS',
state: 'status.account'
state: 'status.account',
faIcon: 'fa-eye',
faClass: 'text-success'
});
menuService.addSubMenuItem('mt-user', 'score', {
title: 'MENU_SCORE_LEVEL',
state: 'score.detail'
state: 'score.detail',
faIcon: 'fa-ticket',
faClass: 'text-mt'
});
menuService.addSubMenuItem('mt-user', 'follow', {