mobile: Support mobile view very roughly
@7d88f1e5e83dc6d279bd7c8b709afe746c297c8b
--- app/assets/stylesheets/less/_markdown.less
+++ app/assets/stylesheets/less/_markdown.less
... | ... | @@ -6,7 +6,7 @@ |
6 | 6 |
|
7 | 7 |
ul, ol { |
8 | 8 |
font-weight: normal; |
9 |
- margin-left: 5px; |
|
9 |
+ margin-left: 0px; |
|
10 | 10 |
} |
11 | 11 |
|
12 | 12 |
ul > li > p { |
--- app/assets/stylesheets/less/_page.less
+++ app/assets/stylesheets/less/_page.less
... | ... | @@ -3,6 +3,10 @@ |
3 | 3 |
color:#202020; |
4 | 4 |
} |
5 | 5 |
|
6 |
+.short-title { |
|
7 |
+ display: none; |
|
8 |
+} |
|
9 |
+ |
|
6 | 10 |
.unsupported { |
7 | 11 |
text-align: center; |
8 | 12 |
font-size: 14px; |
... | ... | @@ -6423,3 +6427,7 @@ |
6423 | 6427 |
unicode-bidi: bidi-override; |
6424 | 6428 |
direction: rtl; |
6425 | 6429 |
} |
6430 |
+ |
|
6431 |
+.resp-comment-avatar { |
|
6432 |
+ display: none; |
|
6433 |
+} |
--- app/assets/stylesheets/less/_reponsive.less
+++ app/assets/stylesheets/less/_reponsive.less
... | ... | @@ -1,83 +1,229 @@ |
1 |
-// responsive |
|
1 |
+@media all and (max-width: 600px){ |
|
2 |
+ .span-left-pane { |
|
3 |
+ width: 98% !important; |
|
4 |
+ } |
|
5 |
+ .span-right-pane { |
|
6 |
+ display: none !important; |
|
7 |
+ } |
|
8 |
+ .gnb-search-form { |
|
9 |
+ display: none !important; |
|
10 |
+ } |
|
11 |
+ .short-title { |
|
12 |
+ display: block; |
|
13 |
+ } |
|
14 |
+ .normal-title { |
|
15 |
+ display: none; |
|
16 |
+ } |
|
17 |
+ .project-menu-nav li a { |
|
18 |
+ padding: 5px 15px 4px !important; |
|
19 |
+ } |
|
20 |
+ .project-menu-count { |
|
21 |
+ position: absolute !important; |
|
22 |
+ margin-top: -36px !important; |
|
23 |
+ } |
|
24 |
+ |
|
25 |
+ .hide-in-mobile { |
|
26 |
+ display: none !important; |
|
27 |
+ } |
|
28 |
+ |
|
29 |
+ .watch-btn { |
|
30 |
+ display: none; |
|
31 |
+ } |
|
32 |
+ |
|
33 |
+ .comment-body { |
|
34 |
+ padding: 10px 10px !important; |
|
35 |
+ } |
|
36 |
+ |
|
37 |
+ .textarea-box { |
|
38 |
+ padding-right: 2px !important; |
|
39 |
+ } |
|
40 |
+ |
|
41 |
+ // override @media(1199px) |
|
42 |
+ .unsupported { |
|
43 |
+ min-width: 10px !important; |
|
44 |
+ } |
|
45 |
+ |
|
46 |
+ .gnb-outer { |
|
47 |
+ min-width: 10px !important; |
|
48 |
+ } |
|
49 |
+ |
|
50 |
+ .page-wrap-outer { |
|
51 |
+ min-width: 10px !important; |
|
52 |
+ padding: 2px !important; |
|
53 |
+ } |
|
54 |
+ |
|
55 |
+ .board-body { |
|
56 |
+ .content { |
|
57 |
+ padding: 0 !important; |
|
58 |
+ } |
|
59 |
+ } |
|
60 |
+ |
|
61 |
+ .site-breadcrumb-outer { |
|
62 |
+ min-width: 10px !important; |
|
63 |
+ } |
|
64 |
+ .project-header-outer { |
|
65 |
+ min-width: 10px !important; |
|
66 |
+ } |
|
67 |
+ |
|
68 |
+ .project-menu-outer { |
|
69 |
+ min-width: 10px !important; |
|
70 |
+ } |
|
71 |
+ |
|
72 |
+ .page-footer-outer { |
|
73 |
+ min-width: 10px !important; |
|
74 |
+ } |
|
75 |
+ |
|
76 |
+ .comment-avatar { |
|
77 |
+ display: none; |
|
78 |
+ } |
|
79 |
+ .media-body { |
|
80 |
+ margin-left: 0 !important; |
|
81 |
+ &:before { |
|
82 |
+ display: none; |
|
83 |
+ } |
|
84 |
+ .resp-comment-avatar { |
|
85 |
+ display: inline-block; |
|
86 |
+ } |
|
87 |
+ .avatar-wrap { |
|
88 |
+ width: 24px !important; |
|
89 |
+ height: 24px !important; |
|
90 |
+ } |
|
91 |
+ } |
|
92 |
+ |
|
93 |
+ // other pages |
|
94 |
+ |
|
95 |
+ .write-comment-box { |
|
96 |
+ padding: 0; |
|
97 |
+ } |
|
98 |
+ |
|
99 |
+ .project-menu-count { |
|
100 |
+ |
|
101 |
+ } |
|
102 |
+ |
|
103 |
+ .project-menu-gruop { |
|
104 |
+ margin-left: 15px !important; |
|
105 |
+ } |
|
106 |
+ |
|
107 |
+ .project-header-avatar { |
|
108 |
+ left: 0 !important; |
|
109 |
+ width: 50px !important; |
|
110 |
+ height: 50px !important; |
|
111 |
+ bottom: 0 !important; |
|
112 |
+ } |
|
113 |
+ |
|
114 |
+ .project-breadcrumb-wrap { |
|
115 |
+ left: 60px !important; |
|
116 |
+ bottom: 10px !important; |
|
117 |
+ } |
|
118 |
+ |
|
119 |
+ .span-hard-wrap { |
|
120 |
+ min-width: 95%; |
|
121 |
+ margin-bottom: 10px; |
|
122 |
+ } |
|
123 |
+ .nav-tabs li a { |
|
124 |
+ padding-left: 20px !important; |
|
125 |
+ padding-right: 20px !important; |
|
126 |
+ } |
|
127 |
+} |
|
128 |
+ |
|
2 | 129 |
@media all and (max-width:1199px){ |
3 | 130 |
.unsupported { |
131 |
+ width: 100%; |
|
132 |
+ max-width: 1199px; |
|
4 | 133 |
min-width: 1000px; |
5 | 134 |
padding: 0 10px; |
6 | 135 |
|
7 | 136 |
.unsupported-inner { |
8 |
- width:980px; |
|
137 |
+ width:95%; |
|
138 |
+ max-width: 980px; |
|
9 | 139 |
} |
10 | 140 |
} |
11 | 141 |
|
12 | 142 |
.gnb-outer { |
143 |
+ width: 100%; |
|
144 |
+ max-width: 1199px; |
|
13 | 145 |
min-width: 1000px; |
14 | 146 |
padding:0 10px; |
15 | 147 |
|
16 | 148 |
.gnb-inner { |
17 |
- width:980px; |
|
149 |
+ width:95%; |
|
150 |
+ max-width:980px; |
|
18 | 151 |
} |
19 | 152 |
} |
20 | 153 |
|
21 | 154 |
.search-box { |
22 | 155 |
input:focus { |
23 |
- width:250px; |
|
156 |
+ max-width:250px; |
|
24 | 157 |
} |
25 | 158 |
} |
26 | 159 |
|
27 | 160 |
.page-wrap-outer { |
161 |
+ max-width: 1199px; |
|
28 | 162 |
min-width: 1000px; |
29 | 163 |
padding:0 10px; |
30 | 164 |
} |
31 | 165 |
|
32 | 166 |
.page-wrap { |
33 |
- width:980px; |
|
167 |
+ width: 95%; |
|
168 |
+ max-width:980px; |
|
34 | 169 |
} |
35 | 170 |
|
36 | 171 |
.project-menu-inner { |
37 |
- width:980px; |
|
172 |
+ width: 95%; |
|
173 |
+ max-width:980px; |
|
38 | 174 |
} |
39 | 175 |
|
40 | 176 |
.project-page-wrap { |
41 |
- width: 980px; |
|
177 |
+ width: 95%; |
|
178 |
+ max-width:980px; |
|
42 | 179 |
} |
43 | 180 |
|
44 | 181 |
.site-breadcrumb-outer { |
182 |
+ width: 100%; |
|
183 |
+ max-width: 1199px; |
|
45 | 184 |
min-width: 1000px; |
46 | 185 |
padding:0 10px; |
47 | 186 |
|
48 | 187 |
.site-breadcrumb-inner { |
49 |
- width: 980px; |
|
188 |
+ width: 95%; |
|
189 |
+ max-width:980px; |
|
50 | 190 |
} |
51 | 191 |
} |
52 | 192 |
.project-header-outer { |
193 |
+ max-width: 1199px; |
|
53 | 194 |
min-width: 1000px; |
54 | 195 |
padding:0 10px; |
55 | 196 |
|
56 | 197 |
.project-header-inner { |
57 | 198 |
.project-header-wrap { |
58 |
- width: 980px; |
|
199 |
+ width: 95%; |
|
200 |
+ max-width: 980px; |
|
59 | 201 |
} |
60 | 202 |
} |
61 | 203 |
} |
62 | 204 |
|
63 | 205 |
.project-menu-outer { |
206 |
+ max-width: 1199px; |
|
64 | 207 |
min-width: 1000px; |
65 | 208 |
padding:0 10px; |
66 | 209 |
|
67 | 210 |
.project-menu-inner { |
68 |
- width: 980px; |
|
211 |
+ width: 95%; |
|
212 |
+ max-width: 980px; |
|
69 | 213 |
} |
70 | 214 |
} |
71 | 215 |
|
72 | 216 |
.project-home-header { |
73 | 217 |
.project-clone-wrap { |
74 | 218 |
.project-clone-url { |
75 |
- width: 125px; |
|
219 |
+ width: 100px; |
|
220 |
+ max-width: 125px; |
|
76 | 221 |
} |
77 | 222 |
|
78 | 223 |
&:hover { |
79 | 224 |
.project-clone-url { |
80 |
- width:250px; |
|
225 |
+ width: 100%; |
|
226 |
+ max-width:250px; |
|
81 | 227 |
} |
82 | 228 |
} |
83 | 229 |
} |
... | ... | @@ -114,15 +260,18 @@ |
114 | 260 |
} |
115 | 261 |
|
116 | 262 |
.site-setting-wrap { |
117 |
- width:980px; |
|
263 |
+ width: 95%; |
|
264 |
+ max-width:980px; |
|
118 | 265 |
} |
119 | 266 |
|
120 | 267 |
.page-footer-outer { |
268 |
+ max-width: 1199px; |
|
121 | 269 |
min-width: 1000px; |
122 | 270 |
padding:10px; |
123 | 271 |
|
124 | 272 |
.page-footer { |
125 |
- width:980px; |
|
273 |
+ width: 95%; |
|
274 |
+ max-width:980px; |
|
126 | 275 |
} |
127 | 276 |
} |
128 | 277 |
|
--- app/views/board/partial_comments.scala.html
+++ app/views/board/partial_comments.scala.html
... | ... | @@ -45,6 +45,11 @@ |
45 | 45 |
</div> |
46 | 46 |
<div class="media-body"> |
47 | 47 |
<div class="meta-info"> |
48 |
+ <span class="resp-comment-avatar"> |
|
49 |
+ <a href="@userInfo(comment.authorLoginId)" class="avatar-wrap" data-toggle="tooltip" data-placement="top" title="@comment.authorName"> |
|
50 |
+ <img src="@User.findByLoginId(comment.authorLoginId).avatarUrl" width="32" height="32" alt="@comment.authorLoginId"> |
|
51 |
+ </a> |
|
52 |
+ </span> |
|
48 | 53 |
<span class="comment_author pull-left"> |
49 | 54 |
<a href="@routes.UserApp.userInfo(comment.authorLoginId)" data-toggle="tooltip" data-placement="top" title="@comment.authorName"> |
50 | 55 |
<strong>@comment.authorLoginId </strong> |
--- app/views/board/partial_list.scala.html
+++ app/views/board/partial_list.scala.html
... | ... | @@ -24,7 +24,7 @@ |
24 | 24 |
@import utils.TemplateHelper._ |
25 | 25 |
@defining(User.findByLoginId(post.authorLoginId)){ user => |
26 | 26 |
<li class="post-item"> |
27 |
- <a href="@routes.UserApp.userInfo(user.loginId)" class="avatar-wrap mlarge" data-toggle="tooltip" data-placement="top" title="@user.loginId"> |
|
27 |
+ <a href="@routes.UserApp.userInfo(user.loginId)" class="avatar-wrap mlarge hide-in-mobile" data-toggle="tooltip" data-placement="top" title="@user.loginId"> |
|
28 | 28 |
@if(user.avatarUrl == UserApp.DEFAULT_AVATAR_URL){ |
29 | 29 |
<img src="@urlToPicture(user.email, 32)"> |
30 | 30 |
} else { |
--- app/views/issue/create.scala.html
+++ app/views/issue/create.scala.html
... | ... | @@ -55,7 +55,7 @@ |
55 | 55 |
</div> |
56 | 56 |
|
57 | 57 |
<div class="row-fluid"> |
58 |
- <div class="span9"> |
|
58 |
+ <div class="span9 span-left-pane"> |
|
59 | 59 |
<dl> |
60 | 60 |
<dd style="position: relative;"> |
61 | 61 |
@common.editor("body", "", "tabindex=2", "content-body") |
... | ... | @@ -73,7 +73,7 @@ |
73 | 73 |
--><a href="javascript:history.back();" class="ybtn">@Messages("button.cancel")</a> |
74 | 74 |
</div> |
75 | 75 |
</div> |
76 |
- <div class="span3"> |
|
76 |
+ <div class="span3 span-hard-wrap"> |
|
77 | 77 |
@if(isProjectResourceCreatable(UserApp.currentUser(), project, ResourceType.ISSUE_ASSIGNEE)) { |
78 | 78 |
<dl class="issue-option"> |
79 | 79 |
<dt>@Messages("issue.assignee")</dt> |
--- app/views/issue/edit.scala.html
+++ app/views/issue/edit.scala.html
... | ... | @@ -57,7 +57,7 @@ |
57 | 57 |
</dl> |
58 | 58 |
</div> |
59 | 59 |
<div class="row-fluid"> |
60 |
- <div class="span9"> |
|
60 |
+ <div class="span9 span-left-pane"> |
|
61 | 61 |
<dl> |
62 | 62 |
<dd style="position: relative;"> |
63 | 63 |
@common.editor("body", issue.body, "tabindex=2", "content-body") |
... | ... | @@ -84,7 +84,7 @@ |
84 | 84 |
</div> |
85 | 85 |
</div> |
86 | 86 |
|
87 |
- <div class="span3"> |
|
87 |
+ <div class="span3 span-hard-wrap"> |
|
88 | 88 |
@if(isAllowed(UserApp.currentUser(), issue.stateAsResource(), Operation.UPDATE)){ |
89 | 89 |
<dl class="issue-option"> |
90 | 90 |
<dt>@Messages("issue.state")</dt> |
--- app/views/issue/partial_comments.scala.html
+++ app/views/issue/partial_comments.scala.html
... | ... | @@ -84,6 +84,11 @@ |
84 | 84 |
<div class="media-body"> |
85 | 85 |
<div class="meta-info"> |
86 | 86 |
<span class="comment_author pull-left"> |
87 |
+ <span class="resp-comment-avatar"> |
|
88 |
+ <a href="@userInfo(comment.authorLoginId)" class="avatar-wrap" data-toggle="tooltip" data-placement="top" title="@comment.authorName"> |
|
89 |
+ <img src="@User.findByLoginId(comment.authorLoginId).avatarUrl" width="32" height="32" alt="@comment.authorLoginId"> |
|
90 |
+ </a> |
|
91 |
+ </span> |
|
87 | 92 |
<a href="@userInfo(comment.authorLoginId)" data-toggle="tooltip" data-placement="top" title="@comment.authorName"> |
88 | 93 |
<strong>@comment.authorLoginId </strong> |
89 | 94 |
</a> |
--- app/views/issue/partial_list.scala.html
+++ app/views/issue/partial_list.scala.html
... | ... | @@ -32,14 +32,14 @@ |
32 | 32 |
@for(issue <- issueList){ |
33 | 33 |
@defining(User.findByLoginId(issue.authorLoginId)){ user => |
34 | 34 |
<li class="post-item" id="issue-item-@issue.id" data-item="issue-item" data-value="@user.loginId @issue.getNumber @issue.title"> |
35 |
- <div class="span9"> |
|
35 |
+ <div class="span9 span-hard-wrap"> |
|
36 | 36 |
@if(ProjectUser.isMember(UserApp.currentUser().id, project.id)){ |
37 |
- <label for="issue-@issue.id" class="mass-update-check"> |
|
37 |
+ <label for="issue-@issue.id" class="mass-update-check hide-in-mobile"> |
|
38 | 38 |
<input id="issue-@issue.id" type="checkbox" name="checked-issue" data-toggle="issue-checkbox" data-issue-id="@issue.id" data-issue-labels="@issueLabels(issue)"> |
39 | 39 |
</label> |
40 | 40 |
} |
41 | 41 |
<label for="issue-@issue.id" class="issue-item-row"> |
42 |
- <a href="@routes.UserApp.userInfo(user.loginId)" class="avatar-wrap mlarge" data-toggle="tooltip" data-placement="top" title="@user.loginId"> |
|
42 |
+ <a href="@routes.UserApp.userInfo(user.loginId)" class="avatar-wrap mlarge hide-in-mobile" data-toggle="tooltip" data-placement="top" title="@user.loginId"> |
|
43 | 43 |
@if(user.avatarUrl == UserApp.DEFAULT_AVATAR_URL){ |
44 | 44 |
<img src="@urlToPicture(user.email, 32)"> |
45 | 45 |
} else { |
... | ... | @@ -93,7 +93,7 @@ |
93 | 93 |
</div> |
94 | 94 |
</label> |
95 | 95 |
</div> |
96 |
- <div class="span3"> |
|
96 |
+ <div class="span3 hide-in-mobile"> |
|
97 | 97 |
<div class="mt5 pull-right"> |
98 | 98 |
@if(issue.assigneeName != null) { |
99 | 99 |
<a href="@routes.UserApp.userInfo(issue.assignee.user.loginId)" class="avatar-wrap assinee" data-toggle="tooltip" data-placement="top" title="@Messages("issue.assignee"): @issue.assigneeName"> |
--- app/views/issue/partial_list_wrap.scala.html
+++ app/views/issue/partial_list_wrap.scala.html
... | ... | @@ -37,11 +37,11 @@ |
37 | 37 |
} |
38 | 38 |
|
39 | 39 |
<div pjax-container class="row-fluid issue-list-wrap"> |
40 |
- <div class="span2"> |
|
40 |
+ <div class="span2 span-hard-wrap"> |
|
41 | 41 |
@partial_list_quicksearch(param, project) |
42 | 42 |
@partial_searchform(param, project) |
43 | 43 |
</div> |
44 |
- <div class="span10" id="span10"> |
|
44 |
+ <div class="span10 span-hard-wrap" id="span10"> |
|
45 | 45 |
<div class="pull-right"> |
46 | 46 |
<a href="@routes.IssueApp.newIssueForm(project.owner, project.name)" class="ybtn ybtn-success">@Messages("issue.menu.new")</a> |
47 | 47 |
</div> |
--- app/views/issue/partial_massupdate.scala.html
+++ app/views/issue/partial_massupdate.scala.html
... | ... | @@ -52,7 +52,7 @@ |
52 | 52 |
<li class="divider" data-category="${category}"></li> |
53 | 53 |
</script> |
54 | 54 |
|
55 |
-<div class="mass-update-wrap"> |
|
55 |
+<div class="mass-update-wrap hide-in-mobile"> |
|
56 | 56 |
<form id="mass-update-form" class="mass-update-form pull-left" action="@routes.IssueApp.massUpdate(project.owner, project.name)" method="post"> |
57 | 57 |
<div class="btn-group check-all"> |
58 | 58 |
<label for="check-all"> |
--- app/views/issue/partial_searchform.scala.html
+++ app/views/issue/partial_searchform.scala.html
... | ... | @@ -26,7 +26,7 @@ |
26 | 26 |
<input type="hidden" name="orderBy" value="@param.orderBy"> |
27 | 27 |
<input type="hidden" name="orderDir" value="@param.orderDir"> |
28 | 28 |
<input type="hidden" name="state" value="@param.state"> |
29 |
- <hr> |
|
29 |
+ <hr class="hide-in-mobile"> |
|
30 | 30 |
<div class="search"> |
31 | 31 |
<div class="search-bar"> |
32 | 32 |
<input name="filter" class="textbox full" type="text" value="@param.filter" data-search="filter"> |
... | ... | @@ -34,7 +34,7 @@ |
34 | 34 |
</div> |
35 | 35 |
</div> |
36 | 36 |
|
37 |
- <div id="advanced-search-form" class="srch-advanced"> |
|
37 |
+ <div id="advanced-search-form" class="srch-advanced hide-in-mobile"> |
|
38 | 38 |
<dl class="issue-option"> |
39 | 39 |
<dt>@Messages("issue.author")</dt> |
40 | 40 |
<dd> |
--- app/views/issue/view.scala.html
+++ app/views/issue/view.scala.html
... | ... | @@ -82,7 +82,7 @@ |
82 | 82 |
@** Content body **@ |
83 | 83 |
<!--board-body--> |
84 | 84 |
<div class="board-body row-fluid"> |
85 |
- <div class="span9"> |
|
85 |
+ <div class="span9 span-left-pane"> |
|
86 | 86 |
<div class="author-info"> |
87 | 87 |
<a href="@userInfo(issue.authorLoginId)" class="usf-group"> |
88 | 88 |
<span class="avatar-wrap smaller"> |
... | ... | @@ -169,7 +169,7 @@ |
169 | 169 |
@** // Comment **@ |
170 | 170 |
</div> |
171 | 171 |
|
172 |
- <div class="span3 mb20"> |
|
172 |
+ <div class="span3 span-right-pane mb20"> |
|
173 | 173 |
<div class="issue-info"> |
174 | 174 |
<form id="issueUpdateForm" action="@routes.IssueApp.massUpdate(project.owner, project.name)" method="post"> |
175 | 175 |
<input type="hidden" name="issues[0].id" value="@issue.id" /> |
--- app/views/project/home.scala.html
+++ app/views/project/home.scala.html
... | ... | @@ -60,7 +60,7 @@ |
60 | 60 |
} |
61 | 61 |
</div> |
62 | 62 |
<div class="row-fluid"> |
63 |
- <div class="span9"> |
|
63 |
+ <div class="span9 span-left-pane"> |
|
64 | 64 |
<ul class="nav nav-tabs"> |
65 | 65 |
<li class="@isActiveTab("readme")"> |
66 | 66 |
<a href="@routes.ProjectApp.project(project.owner, project.name)">README</a> |
... | ... | @@ -102,7 +102,7 @@ |
102 | 102 |
</div> |
103 | 103 |
</div> |
104 | 104 |
|
105 |
- <div class="span3"> |
|
105 |
+ <div class="span3 span-right-pane"> |
|
106 | 106 |
<div class="bubble-wrap gray project-home"> |
107 | 107 |
<div class="project-btn-wrap"> |
108 | 108 |
@if(project.menuSetting.issue) { |
--- app/views/projectMenu.scala.html
+++ app/views/projectMenu.scala.html
... | ... | @@ -52,20 +52,20 @@ |
52 | 52 |
<ul class="project-menu-nav project-menu-gruop"> |
53 | 53 |
<li class="@isActiveMenu(MenuType.PROJECT_HOME)"> |
54 | 54 |
<a href="@routes.ProjectApp.project(project.owner, project.name)"> |
55 |
- @Messages("title.projectHome") |
|
55 |
+ <span class="normal-title">@Messages("title.projectHome")</span><span class="short-title">H</span> |
|
56 | 56 |
</a> |
57 | 57 |
</li> |
58 | 58 |
@if(project.menuSetting.code) { |
59 | 59 |
<li class="@isActiveMenu(MenuType.CODE)"> |
60 | 60 |
<a href="@routes.CodeApp.codeBrowser(project.owner, project.name)"> |
61 |
- @Messages("menu.code") |
|
61 |
+ <span class="normal-title">@Messages("menu.code")</span><span class="short-title">C</span> |
|
62 | 62 |
</a> |
63 | 63 |
</li> |
64 | 64 |
} |
65 | 65 |
@if(project.menuSetting.issue) { |
66 | 66 |
<li class="@isActiveMenu(MenuType.ISSUE)"> |
67 | 67 |
<a href="@routes.IssueApp.issues(project.owner, project.name, "open")"> |
68 |
- @Messages("menu.issue") @countingBadge(Issue.countIssues(project.id, State.OPEN)) |
|
68 |
+ <span class="normal-title">@Messages("menu.issue")</span><span class="short-title">I</span> @countingBadge(Issue.countIssues(project.id, State.OPEN)) |
|
69 | 69 |
</a> |
70 | 70 |
</li> |
71 | 71 |
} |
... | ... | @@ -73,7 +73,7 @@ |
73 | 73 |
@if(project.vcs.equals("GIT")){ |
74 | 74 |
<li class="@isActiveMenu(MenuType.PULL_REQUEST)"> |
75 | 75 |
<a href="@getPullRequestURL(project)"> |
76 |
- @Messages("menu.pullRequest") @countingBadge(PullRequest.countOpenedPullRequests(project)) |
|
76 |
+ <span class="normal-title">@Messages("menu.pullRequest")</span><span class="short-title">P</span> @countingBadge(PullRequest.countOpenedPullRequests(project)) |
|
77 | 77 |
</a> |
78 | 78 |
</li> |
79 | 79 |
} |
... | ... | @@ -81,21 +81,21 @@ |
81 | 81 |
@if(project.menuSetting.review) { |
82 | 82 |
<li class="@isActiveMenu(MenuType.PROJECT_REVIEW)"> |
83 | 83 |
<a href="@routes.ReviewThreadApp.reviewThreads(project.owner, project.name)"> |
84 |
- @Messages("menu.review") @countingBadge(reviewCount) |
|
84 |
+ <span class="normal-title">@Messages("menu.review")</span><span class="short-title">R</span> @countingBadge(reviewCount) |
|
85 | 85 |
</a> |
86 | 86 |
</li> |
87 | 87 |
} |
88 | 88 |
@if(project.menuSetting.milestone) { |
89 | 89 |
<li class="@isActiveMenu(MenuType.MILESTONE)"> |
90 | 90 |
<a href="@routes.MilestoneApp.milestones(project.owner, project.name)"> |
91 |
- @Messages("milestone") |
|
91 |
+ <span class="normal-title">@Messages("milestone")</span><span class="short-title">M</span> |
|
92 | 92 |
</a> |
93 | 93 |
</li> |
94 | 94 |
} |
95 | 95 |
@if(project.menuSetting.board) { |
96 | 96 |
<li class="@isActiveMenu(MenuType.BOARD)"> |
97 | 97 |
<a href="@routes.BoardApp.posts(project.owner, project.name)"> |
98 |
- @Messages("menu.board") |
|
98 |
+ <span class="normal-title">@Messages("menu.board")</span><span class="short-title">B</span> |
|
99 | 99 |
@if(Posting.countPostings(project) > 0){ |
100 | 100 |
<span class="project-menu-count">@Posting.countPostings(project)</span> |
101 | 101 |
} |
... | ... | @@ -109,7 +109,7 @@ |
109 | 109 |
<li class="@isActiveMenu(MenuType.PROJECT_SETTING)"> |
110 | 110 |
<a href="@routes.ProjectApp.settingForm(project.owner, project.name)"> |
111 | 111 |
<i class="yobicon-cog"></i> |
112 |
- <span class="blind">@Messages("menu.admin")</span> |
|
112 |
+ <span class="blind"><span class="normal-title">@Messages("menu.admin")</span></span> |
|
113 | 113 |
@countingBadge(project.enrolledUsers.size) |
114 | 114 |
</a> |
115 | 115 |
<li> |
Add a comment
Delete comment
Once you delete this comment, you won't be able to recover it. Are you sure you want to delete this comment?