From b249186a9ae47f9f0a5dafd6fc94bfa1daf7f2f3 Mon Sep 17 00:00:00 2001 From: OldHawk Date: Sat, 17 Mar 2018 18:20:53 +0800 Subject: [PATCH] feat(core): add icon for menu item --- config/env/torrents.js | 25 +++ .../about/client/config/about.client.menus.js | 6 + .../about/client/templates/rules-footer-zh.md | 2 +- modules/core/client/app/trans-string-en.js | 2 +- modules/core/client/app/trans-string-zh.js | 2 +- .../core/client/config/core.client.menus.js | 16 +- .../controllers/header.client.controller.js | 1 + modules/core/client/less/home.less | 30 +++ .../client/services/menu.client.service.js | 8 +- .../core/client/views/header.client.view.html | 179 +++++++++++------- .../admin/invitations-admin.client.menu.js | 2 + .../client/config/invitations.client.menus.js | 4 +- .../config/messages-admin.client.menu.js | 2 + .../client/config/messages.client.menus.js | 4 +- .../client/config/ranking.client.menus.js | 2 + .../config/systems-admin.client.menu.js | 4 +- .../admin/torrents-admin.client.menu.js | 4 + .../client/config/torrents.client.menus.js | 4 +- .../config/admin/traces-admin.client.menu.js | 2 + .../client/config/users-admin.client.menus.js | 4 +- .../users/client/config/users.client.menus.js | 8 +- 21 files changed, 222 insertions(+), 89 deletions(-) diff --git a/config/env/torrents.js b/config/env/torrents.js index b0336c6e..a39fa18f 100644 --- a/config/env/torrents.js +++ b/config/env/torrents.js @@ -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', diff --git a/modules/about/client/config/about.client.menus.js b/modules/about/client/config/about.client.menus.js index f264d47f..79187a48 100644 --- a/modules/about/client/config/about.client.menus.js +++ b/modules/about/client/config/about.client.menus.js @@ -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 }); diff --git a/modules/about/client/templates/rules-footer-zh.md b/modules/about/client/templates/rules-footer-zh.md index 051b745d..694c4a39 100644 --- a/modules/about/client/templates/rules-footer-zh.md +++ b/modules/about/client/templates/rules-footer-zh.md @@ -1,7 +1,7 @@   --- -##### More manual link +##### 更多手册内容连接 * [用户守则](/about/manual/userRules) * [公共言论行为准则](/about/manual/chatRules) * [用户积分细则](/about/manual/scoreRules) diff --git a/modules/core/client/app/trans-string-en.js b/modules/core/client/app/trans-string-en.js index 06ce018c..4bc60e84 100644 --- a/modules/core/client/app/trans-string-en.js +++ b/modules/core/client/app/trans-string-en.js @@ -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', diff --git a/modules/core/client/app/trans-string-zh.js b/modules/core/client/app/trans-string-zh.js index c6968a82..a417a48b 100644 --- a/modules/core/client/app/trans-string-zh.js +++ b/modules/core/client/app/trans-string-zh.js @@ -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 列表', diff --git a/modules/core/client/config/core.client.menus.js b/modules/core/client/config/core.client.menus.js index cd74fe7e..33878ea6 100644 --- a/modules/core/client/config/core.client.menus.js +++ b/modules/core/client/config/core.client.menus.js @@ -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' }); } }()); diff --git a/modules/core/client/controllers/header.client.controller.js b/modules/core/client/controllers/header.client.controller.js index 5d74a220..06083296 100644 --- a/modules/core/client/controllers/header.client.controller.js +++ b/modules/core/client/controllers/header.client.controller.js @@ -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; diff --git a/modules/core/client/less/home.less b/modules/core/client/less/home.less index 94d749da..0a4d875b 100644 --- a/modules/core/client/less/home.less +++ b/modules/core/client/less/home.less @@ -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 { diff --git a/modules/core/client/services/menu.client.service.js b/modules/core/client/services/menu.client.service.js index dbcf80bd..20f90d72 100644 --- a/modules/core/client/services/menu.client.service.js +++ b/modules/core/client/services/menu.client.service.js @@ -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 }); }); diff --git a/modules/core/client/views/header.client.view.html b/modules/core/client/views/header.client.view.html index e5e6a8a9..4cf3e150 100644 --- a/modules/core/client/views/header.client.view.html +++ b/modules/core/client/views/header.client.view.html @@ -1,84 +1,117 @@
- - +
diff --git a/modules/invitations/client/config/admin/invitations-admin.client.menu.js b/modules/invitations/client/config/admin/invitations-admin.client.menu.js index 49661260..660c7ba0 100644 --- a/modules/invitations/client/config/admin/invitations-admin.client.menu.js +++ b/modules/invitations/client/config/admin/invitations-admin.client.menu.js @@ -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 }); } diff --git a/modules/invitations/client/config/invitations.client.menus.js b/modules/invitations/client/config/invitations.client.menus.js index 1fccf582..d7500c08 100644 --- a/modules/invitations/client/config/invitations.client.menus.js +++ b/modules/invitations/client/config/invitations.client.menus.js @@ -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' }); } }()); diff --git a/modules/messages/client/config/messages-admin.client.menu.js b/modules/messages/client/config/messages-admin.client.menu.js index bda9af79..ab790e72 100644 --- a/modules/messages/client/config/messages-admin.client.menu.js +++ b/modules/messages/client/config/messages-admin.client.menu.js @@ -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 }); diff --git a/modules/messages/client/config/messages.client.menus.js b/modules/messages/client/config/messages.client.menus.js index 9f771b8b..11479653 100644 --- a/modules/messages/client/config/messages.client.menus.js +++ b/modules/messages/client/config/messages.client.menus.js @@ -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' }); } }()); diff --git a/modules/ranking/client/config/ranking.client.menus.js b/modules/ranking/client/config/ranking.client.menus.js index afac615e..ec4aa408 100644 --- a/modules/ranking/client/config/ranking.client.menus.js +++ b/modules/ranking/client/config/ranking.client.menus.js @@ -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 }); diff --git a/modules/systems/client/config/systems-admin.client.menu.js b/modules/systems/client/config/systems-admin.client.menu.js index 2d417dff..7d49ad0e 100644 --- a/modules/systems/client/config/systems-admin.client.menu.js +++ b/modules/systems/client/config/systems-admin.client.menu.js @@ -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 }); } diff --git a/modules/torrents/client/config/admin/torrents-admin.client.menu.js b/modules/torrents/client/config/admin/torrents-admin.client.menu.js index 49b63ef5..1cb42cc3 100644 --- a/modules/torrents/client/config/admin/torrents-admin.client.menu.js +++ b/modules/torrents/client/config/admin/torrents-admin.client.menu.js @@ -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 }); diff --git a/modules/torrents/client/config/torrents.client.menus.js b/modules/torrents/client/config/torrents.client.menus.js index 29fabaac..756343d1 100644 --- a/modules/torrents/client/config/torrents.client.menus.js +++ b/modules/torrents/client/config/torrents.client.menus.js @@ -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 }); } } diff --git a/modules/traces/client/config/admin/traces-admin.client.menu.js b/modules/traces/client/config/admin/traces-admin.client.menu.js index 0a167058..1fee718d 100644 --- a/modules/traces/client/config/admin/traces-admin.client.menu.js +++ b/modules/traces/client/config/admin/traces-admin.client.menu.js @@ -12,6 +12,8 @@ menuService.addSubMenuItem('topbar', 'admin', { title: 'MENU_ADMIN_TRACE', state: 'admin.traces', + faIcon: 'fa-table', + faClass: 'text-warning', position: 20 }); } diff --git a/modules/users/client/config/users-admin.client.menus.js b/modules/users/client/config/users-admin.client.menus.js index 105542e7..59c71f2c 100644 --- a/modules/users/client/config/users-admin.client.menus.js +++ b/modules/users/client/config/users-admin.client.menus.js @@ -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' }); } }()); diff --git a/modules/users/client/config/users.client.menus.js b/modules/users/client/config/users.client.menus.js index 91170fae..8f039b74 100644 --- a/modules/users/client/config/users.client.menus.js +++ b/modules/users/client/config/users.client.menus.js @@ -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', {