##// END OF EJS Templates
notifications/emails: improve notification display and rendered emails structure
dan -
r4060:fcea43e6 default
parent child Browse files
Show More
@@ -1,2916 +1,2911 b''
1 //Primary CSS
1 //Primary CSS
2
2
3 //--- IMPORTS ------------------//
3 //--- IMPORTS ------------------//
4
4
5 @import 'helpers';
5 @import 'helpers';
6 @import 'mixins';
6 @import 'mixins';
7 @import 'rcicons';
7 @import 'rcicons';
8 @import 'variables';
8 @import 'variables';
9 @import 'bootstrap-variables';
9 @import 'bootstrap-variables';
10 @import 'form-bootstrap';
10 @import 'form-bootstrap';
11 @import 'codemirror';
11 @import 'codemirror';
12 @import 'legacy_code_styles';
12 @import 'legacy_code_styles';
13 @import 'readme-box';
13 @import 'readme-box';
14 @import 'progress-bar';
14 @import 'progress-bar';
15
15
16 @import 'type';
16 @import 'type';
17 @import 'alerts';
17 @import 'alerts';
18 @import 'buttons';
18 @import 'buttons';
19 @import 'tags';
19 @import 'tags';
20 @import 'code-block';
20 @import 'code-block';
21 @import 'examples';
21 @import 'examples';
22 @import 'login';
22 @import 'login';
23 @import 'main-content';
23 @import 'main-content';
24 @import 'select2';
24 @import 'select2';
25 @import 'comments';
25 @import 'comments';
26 @import 'panels-bootstrap';
26 @import 'panels-bootstrap';
27 @import 'panels';
27 @import 'panels';
28 @import 'deform';
28 @import 'deform';
29 @import 'tooltips';
29 @import 'tooltips';
30
30
31 //--- BASE ------------------//
31 //--- BASE ------------------//
32 .noscript-error {
32 .noscript-error {
33 top: 0;
33 top: 0;
34 left: 0;
34 left: 0;
35 width: 100%;
35 width: 100%;
36 z-index: 101;
36 z-index: 101;
37 text-align: center;
37 text-align: center;
38 font-size: 120%;
38 font-size: 120%;
39 color: white;
39 color: white;
40 background-color: @alert2;
40 background-color: @alert2;
41 padding: 5px 0 5px 0;
41 padding: 5px 0 5px 0;
42 font-weight: @text-semibold-weight;
42 font-weight: @text-semibold-weight;
43 font-family: @text-semibold;
43 font-family: @text-semibold;
44 }
44 }
45
45
46 html {
46 html {
47 display: table;
47 display: table;
48 height: 100%;
48 height: 100%;
49 width: 100%;
49 width: 100%;
50 }
50 }
51
51
52 body {
52 body {
53 display: table-cell;
53 display: table-cell;
54 width: 100%;
54 width: 100%;
55 }
55 }
56
56
57 //--- LAYOUT ------------------//
57 //--- LAYOUT ------------------//
58
58
59 .hidden{
59 .hidden{
60 display: none !important;
60 display: none !important;
61 }
61 }
62
62
63 .box{
63 .box{
64 float: left;
64 float: left;
65 width: 100%;
65 width: 100%;
66 }
66 }
67
67
68 .browser-header {
68 .browser-header {
69 clear: both;
69 clear: both;
70 }
70 }
71 .main {
71 .main {
72 clear: both;
72 clear: both;
73 padding:0 0 @pagepadding;
73 padding:0 0 @pagepadding;
74 height: auto;
74 height: auto;
75
75
76 &:after { //clearfix
76 &:after { //clearfix
77 content:"";
77 content:"";
78 clear:both;
78 clear:both;
79 width:100%;
79 width:100%;
80 display:block;
80 display:block;
81 }
81 }
82 }
82 }
83
83
84 .action-link{
84 .action-link{
85 margin-left: @padding;
85 margin-left: @padding;
86 padding-left: @padding;
86 padding-left: @padding;
87 border-left: @border-thickness solid @border-default-color;
87 border-left: @border-thickness solid @border-default-color;
88 }
88 }
89
89
90 input + .action-link, .action-link.first{
90 input + .action-link, .action-link.first{
91 border-left: none;
91 border-left: none;
92 }
92 }
93
93
94 .action-link.last{
94 .action-link.last{
95 margin-right: @padding;
95 margin-right: @padding;
96 padding-right: @padding;
96 padding-right: @padding;
97 }
97 }
98
98
99 .action-link.active,
99 .action-link.active,
100 .action-link.active a{
100 .action-link.active a{
101 color: @grey4;
101 color: @grey4;
102 }
102 }
103
103
104 .action-link.disabled {
104 .action-link.disabled {
105 color: @grey4;
105 color: @grey4;
106 cursor: inherit;
106 cursor: inherit;
107 }
107 }
108
108
109 .clipboard-action {
109 .clipboard-action {
110 cursor: pointer;
110 cursor: pointer;
111 color: @grey4;
111 color: @grey4;
112 margin-left: 5px;
112 margin-left: 5px;
113
113
114 &:hover {
114 &:hover {
115 color: @grey2;
115 color: @grey2;
116 }
116 }
117 }
117 }
118
118
119 ul.simple-list{
119 ul.simple-list{
120 list-style: none;
120 list-style: none;
121 margin: 0;
121 margin: 0;
122 padding: 0;
122 padding: 0;
123 }
123 }
124
124
125 .main-content {
125 .main-content {
126 padding-bottom: @pagepadding;
126 padding-bottom: @pagepadding;
127 }
127 }
128
128
129 .wide-mode-wrapper {
129 .wide-mode-wrapper {
130 max-width:4000px !important;
130 max-width:4000px !important;
131 }
131 }
132
132
133 .wrapper {
133 .wrapper {
134 position: relative;
134 position: relative;
135 max-width: @wrapper-maxwidth;
135 max-width: @wrapper-maxwidth;
136 margin: 0 auto;
136 margin: 0 auto;
137 }
137 }
138
138
139 #content {
139 #content {
140 clear: both;
140 clear: both;
141 padding: 0 @contentpadding;
141 padding: 0 @contentpadding;
142 }
142 }
143
143
144 .advanced-settings-fields{
144 .advanced-settings-fields{
145 input{
145 input{
146 margin-left: @textmargin;
146 margin-left: @textmargin;
147 margin-right: @padding/2;
147 margin-right: @padding/2;
148 }
148 }
149 }
149 }
150
150
151 .cs_files_title {
151 .cs_files_title {
152 margin: @pagepadding 0 0;
152 margin: @pagepadding 0 0;
153 }
153 }
154
154
155 input.inline[type="file"] {
155 input.inline[type="file"] {
156 display: inline;
156 display: inline;
157 }
157 }
158
158
159 .error_page {
159 .error_page {
160 margin: 10% auto;
160 margin: 10% auto;
161
161
162 h1 {
162 h1 {
163 color: @grey2;
163 color: @grey2;
164 }
164 }
165
165
166 .alert {
166 .alert {
167 margin: @padding 0;
167 margin: @padding 0;
168 }
168 }
169
169
170 .error-branding {
170 .error-branding {
171 color: @grey4;
171 color: @grey4;
172 font-weight: @text-semibold-weight;
172 font-weight: @text-semibold-weight;
173 font-family: @text-semibold;
173 font-family: @text-semibold;
174 }
174 }
175
175
176 .error_message {
176 .error_message {
177 font-family: @text-regular;
177 font-family: @text-regular;
178 }
178 }
179
179
180 .sidebar {
180 .sidebar {
181 min-height: 275px;
181 min-height: 275px;
182 margin: 0;
182 margin: 0;
183 padding: 0 0 @sidebarpadding @sidebarpadding;
183 padding: 0 0 @sidebarpadding @sidebarpadding;
184 border: none;
184 border: none;
185 }
185 }
186
186
187 .main-content {
187 .main-content {
188 position: relative;
188 position: relative;
189 margin: 0 @sidebarpadding @sidebarpadding;
189 margin: 0 @sidebarpadding @sidebarpadding;
190 padding: 0 0 0 @sidebarpadding;
190 padding: 0 0 0 @sidebarpadding;
191 border-left: @border-thickness solid @grey5;
191 border-left: @border-thickness solid @grey5;
192
192
193 @media (max-width:767px) {
193 @media (max-width:767px) {
194 clear: both;
194 clear: both;
195 width: 100%;
195 width: 100%;
196 margin: 0;
196 margin: 0;
197 border: none;
197 border: none;
198 }
198 }
199 }
199 }
200
200
201 .inner-column {
201 .inner-column {
202 float: left;
202 float: left;
203 width: 29.75%;
203 width: 29.75%;
204 min-height: 150px;
204 min-height: 150px;
205 margin: @sidebarpadding 2% 0 0;
205 margin: @sidebarpadding 2% 0 0;
206 padding: 0 2% 0 0;
206 padding: 0 2% 0 0;
207 border-right: @border-thickness solid @grey5;
207 border-right: @border-thickness solid @grey5;
208
208
209 @media (max-width:767px) {
209 @media (max-width:767px) {
210 clear: both;
210 clear: both;
211 width: 100%;
211 width: 100%;
212 border: none;
212 border: none;
213 }
213 }
214
214
215 ul {
215 ul {
216 padding-left: 1.25em;
216 padding-left: 1.25em;
217 }
217 }
218
218
219 &:last-child {
219 &:last-child {
220 margin: @sidebarpadding 0 0;
220 margin: @sidebarpadding 0 0;
221 border: none;
221 border: none;
222 }
222 }
223
223
224 h4 {
224 h4 {
225 margin: 0 0 @padding;
225 margin: 0 0 @padding;
226 font-weight: @text-semibold-weight;
226 font-weight: @text-semibold-weight;
227 font-family: @text-semibold;
227 font-family: @text-semibold;
228 }
228 }
229 }
229 }
230 }
230 }
231 .error-page-logo {
231 .error-page-logo {
232 width: 130px;
232 width: 130px;
233 height: 160px;
233 height: 160px;
234 }
234 }
235
235
236 // HEADER
236 // HEADER
237 .header {
237 .header {
238
238
239 // TODO: johbo: Fix login pages, so that they work without a min-height
239 // TODO: johbo: Fix login pages, so that they work without a min-height
240 // for the header and then remove the min-height. I chose a smaller value
240 // for the header and then remove the min-height. I chose a smaller value
241 // intentionally here to avoid rendering issues in the main navigation.
241 // intentionally here to avoid rendering issues in the main navigation.
242 min-height: 49px;
242 min-height: 49px;
243 min-width: 1024px;
243 min-width: 1024px;
244
244
245 position: relative;
245 position: relative;
246 vertical-align: bottom;
246 vertical-align: bottom;
247 padding: 0 @header-padding;
247 padding: 0 @header-padding;
248 background-color: @grey1;
248 background-color: @grey1;
249 color: @grey5;
249 color: @grey5;
250
250
251 .title {
251 .title {
252 overflow: visible;
252 overflow: visible;
253 }
253 }
254
254
255 &:before,
255 &:before,
256 &:after {
256 &:after {
257 content: "";
257 content: "";
258 clear: both;
258 clear: both;
259 width: 100%;
259 width: 100%;
260 }
260 }
261
261
262 // TODO: johbo: Avoids breaking "Repositories" chooser
262 // TODO: johbo: Avoids breaking "Repositories" chooser
263 .select2-container .select2-choice .select2-arrow {
263 .select2-container .select2-choice .select2-arrow {
264 display: none;
264 display: none;
265 }
265 }
266 }
266 }
267
267
268 #header-inner {
268 #header-inner {
269 &.title {
269 &.title {
270 margin: 0;
270 margin: 0;
271 }
271 }
272 &:before,
272 &:before,
273 &:after {
273 &:after {
274 content: "";
274 content: "";
275 clear: both;
275 clear: both;
276 }
276 }
277 }
277 }
278
278
279 // Gists
279 // Gists
280 #files_data {
280 #files_data {
281 clear: both; //for firefox
281 clear: both; //for firefox
282 padding-top: 10px;
282 padding-top: 10px;
283 }
283 }
284
284
285 #gistid {
285 #gistid {
286 margin-right: @padding;
286 margin-right: @padding;
287 }
287 }
288
288
289 // Global Settings Editor
289 // Global Settings Editor
290 .textarea.editor {
290 .textarea.editor {
291 float: left;
291 float: left;
292 position: relative;
292 position: relative;
293 max-width: @texteditor-width;
293 max-width: @texteditor-width;
294
294
295 select {
295 select {
296 position: absolute;
296 position: absolute;
297 top:10px;
297 top:10px;
298 right:0;
298 right:0;
299 }
299 }
300
300
301 .CodeMirror {
301 .CodeMirror {
302 margin: 0;
302 margin: 0;
303 }
303 }
304
304
305 .help-block {
305 .help-block {
306 margin: 0 0 @padding;
306 margin: 0 0 @padding;
307 padding:.5em;
307 padding:.5em;
308 background-color: @grey6;
308 background-color: @grey6;
309 &.pre-formatting {
309 &.pre-formatting {
310 white-space: pre;
310 white-space: pre;
311 }
311 }
312 }
312 }
313 }
313 }
314
314
315 ul.auth_plugins {
315 ul.auth_plugins {
316 margin: @padding 0 @padding @legend-width;
316 margin: @padding 0 @padding @legend-width;
317 padding: 0;
317 padding: 0;
318
318
319 li {
319 li {
320 margin-bottom: @padding;
320 margin-bottom: @padding;
321 line-height: 1em;
321 line-height: 1em;
322 list-style-type: none;
322 list-style-type: none;
323
323
324 .auth_buttons .btn {
324 .auth_buttons .btn {
325 margin-right: @padding;
325 margin-right: @padding;
326 }
326 }
327
327
328 }
328 }
329 }
329 }
330
330
331
331
332 // My Account PR list
332 // My Account PR list
333
333
334 #show_closed {
334 #show_closed {
335 margin: 0 1em 0 0;
335 margin: 0 1em 0 0;
336 }
336 }
337
337
338 #pull_request_list_table {
338 #pull_request_list_table {
339 .closed {
339 .closed {
340 background-color: @grey6;
340 background-color: @grey6;
341 }
341 }
342
342
343 .state-creating,
343 .state-creating,
344 .state-updating,
344 .state-updating,
345 .state-merging
345 .state-merging
346 {
346 {
347 background-color: @grey6;
347 background-color: @grey6;
348 }
348 }
349
349
350 .td-status {
350 .td-status {
351 padding-left: .5em;
351 padding-left: .5em;
352 }
352 }
353 .log-container .truncate {
353 .log-container .truncate {
354 height: 2.75em;
354 height: 2.75em;
355 white-space: pre-line;
355 white-space: pre-line;
356 }
356 }
357 table.rctable .user {
357 table.rctable .user {
358 padding-left: 0;
358 padding-left: 0;
359 }
359 }
360 table.rctable {
360 table.rctable {
361 td.td-description,
361 td.td-description,
362 .rc-user {
362 .rc-user {
363 min-width: auto;
363 min-width: auto;
364 }
364 }
365 }
365 }
366 }
366 }
367
367
368 // Pull Requests
368 // Pull Requests
369
369
370 .pullrequests_section_head {
370 .pullrequests_section_head {
371 display: block;
371 display: block;
372 clear: both;
372 clear: both;
373 margin: @padding 0;
373 margin: @padding 0;
374 font-weight: @text-bold-weight;
374 font-weight: @text-bold-weight;
375 font-family: @text-bold;
375 font-family: @text-bold;
376 }
376 }
377
377
378 .pr-origininfo, .pr-targetinfo {
378 .pr-origininfo, .pr-targetinfo {
379 position: relative;
379 position: relative;
380
380
381 .tag {
381 .tag {
382 display: inline-block;
382 display: inline-block;
383 margin: 0 1em .5em 0;
383 margin: 0 1em .5em 0;
384 }
384 }
385
385
386 .clone-url {
386 .clone-url {
387 display: inline-block;
387 display: inline-block;
388 margin: 0 0 .5em 0;
388 margin: 0 0 .5em 0;
389 padding: 0;
389 padding: 0;
390 line-height: 1.2em;
390 line-height: 1.2em;
391 }
391 }
392 }
392 }
393
393
394 .pr-mergeinfo {
394 .pr-mergeinfo {
395 min-width: 95% !important;
395 min-width: 95% !important;
396 padding: 0 !important;
396 padding: 0 !important;
397 border: 0;
397 border: 0;
398 }
398 }
399 .pr-mergeinfo-copy {
399 .pr-mergeinfo-copy {
400 padding: 0 0;
400 padding: 0 0;
401 }
401 }
402
402
403 .pr-pullinfo {
403 .pr-pullinfo {
404 min-width: 95% !important;
404 min-width: 95% !important;
405 padding: 0 !important;
405 padding: 0 !important;
406 border: 0;
406 border: 0;
407 }
407 }
408 .pr-pullinfo-copy {
408 .pr-pullinfo-copy {
409 padding: 0 0;
409 padding: 0 0;
410 }
410 }
411
411
412
412
413 #pr-title-input {
413 #pr-title-input {
414 width: 72%;
414 width: 72%;
415 font-size: 1em;
415 font-size: 1em;
416 margin: 0;
416 margin: 0;
417 padding: 0 0 0 @padding/4;
417 padding: 0 0 0 @padding/4;
418 line-height: 1.7em;
418 line-height: 1.7em;
419 color: @text-color;
419 color: @text-color;
420 letter-spacing: .02em;
420 letter-spacing: .02em;
421 font-weight: @text-bold-weight;
421 font-weight: @text-bold-weight;
422 font-family: @text-bold;
422 font-family: @text-bold;
423 }
423 }
424
424
425 #pullrequest_title {
425 #pullrequest_title {
426 width: 100%;
426 width: 100%;
427 box-sizing: border-box;
427 box-sizing: border-box;
428 }
428 }
429
429
430 #pr_open_message {
430 #pr_open_message {
431 border: @border-thickness solid #fff;
431 border: @border-thickness solid #fff;
432 border-radius: @border-radius;
432 border-radius: @border-radius;
433 padding: @padding-large-vertical @padding-large-vertical @padding-large-vertical 0;
433 padding: @padding-large-vertical @padding-large-vertical @padding-large-vertical 0;
434 text-align: left;
434 text-align: left;
435 overflow: hidden;
435 overflow: hidden;
436 }
436 }
437
437
438 .pr-submit-button {
438 .pr-submit-button {
439 float: right;
439 float: right;
440 margin: 0 0 0 5px;
440 margin: 0 0 0 5px;
441 }
441 }
442
442
443 .pr-spacing-container {
443 .pr-spacing-container {
444 padding: 20px;
444 padding: 20px;
445 clear: both
445 clear: both
446 }
446 }
447
447
448 #pr-description-input {
448 #pr-description-input {
449 margin-bottom: 0;
449 margin-bottom: 0;
450 }
450 }
451
451
452 .pr-description-label {
452 .pr-description-label {
453 vertical-align: top;
453 vertical-align: top;
454 }
454 }
455
455
456 .perms_section_head {
456 .perms_section_head {
457 min-width: 625px;
457 min-width: 625px;
458
458
459 h2 {
459 h2 {
460 margin-bottom: 0;
460 margin-bottom: 0;
461 }
461 }
462
462
463 .label-checkbox {
463 .label-checkbox {
464 float: left;
464 float: left;
465 }
465 }
466
466
467 &.field {
467 &.field {
468 margin: @space 0 @padding;
468 margin: @space 0 @padding;
469 }
469 }
470
470
471 &:first-child.field {
471 &:first-child.field {
472 margin-top: 0;
472 margin-top: 0;
473
473
474 .label {
474 .label {
475 margin-top: 0;
475 margin-top: 0;
476 padding-top: 0;
476 padding-top: 0;
477 }
477 }
478
478
479 .radios {
479 .radios {
480 padding-top: 0;
480 padding-top: 0;
481 }
481 }
482 }
482 }
483
483
484 .radios {
484 .radios {
485 position: relative;
485 position: relative;
486 width: 505px;
486 width: 505px;
487 }
487 }
488 }
488 }
489
489
490 //--- MODULES ------------------//
490 //--- MODULES ------------------//
491
491
492
492
493 // Server Announcement
493 // Server Announcement
494 #server-announcement {
494 #server-announcement {
495 width: 95%;
495 width: 95%;
496 margin: @padding auto;
496 margin: @padding auto;
497 padding: @padding;
497 padding: @padding;
498 border-width: 2px;
498 border-width: 2px;
499 border-style: solid;
499 border-style: solid;
500 .border-radius(2px);
500 .border-radius(2px);
501 font-weight: @text-bold-weight;
501 font-weight: @text-bold-weight;
502 font-family: @text-bold;
502 font-family: @text-bold;
503
503
504 &.info { border-color: @alert4; background-color: @alert4-inner; }
504 &.info { border-color: @alert4; background-color: @alert4-inner; }
505 &.warning { border-color: @alert3; background-color: @alert3-inner; }
505 &.warning { border-color: @alert3; background-color: @alert3-inner; }
506 &.error { border-color: @alert2; background-color: @alert2-inner; }
506 &.error { border-color: @alert2; background-color: @alert2-inner; }
507 &.success { border-color: @alert1; background-color: @alert1-inner; }
507 &.success { border-color: @alert1; background-color: @alert1-inner; }
508 &.neutral { border-color: @grey3; background-color: @grey6; }
508 &.neutral { border-color: @grey3; background-color: @grey6; }
509 }
509 }
510
510
511 // Fixed Sidebar Column
511 // Fixed Sidebar Column
512 .sidebar-col-wrapper {
512 .sidebar-col-wrapper {
513 padding-left: @sidebar-all-width;
513 padding-left: @sidebar-all-width;
514
514
515 .sidebar {
515 .sidebar {
516 width: @sidebar-width;
516 width: @sidebar-width;
517 margin-left: -@sidebar-all-width;
517 margin-left: -@sidebar-all-width;
518 }
518 }
519 }
519 }
520
520
521 .sidebar-col-wrapper.scw-small {
521 .sidebar-col-wrapper.scw-small {
522 padding-left: @sidebar-small-all-width;
522 padding-left: @sidebar-small-all-width;
523
523
524 .sidebar {
524 .sidebar {
525 width: @sidebar-small-width;
525 width: @sidebar-small-width;
526 margin-left: -@sidebar-small-all-width;
526 margin-left: -@sidebar-small-all-width;
527 }
527 }
528 }
528 }
529
529
530
530
531 // FOOTER
531 // FOOTER
532 #footer {
532 #footer {
533 padding: 0;
533 padding: 0;
534 text-align: center;
534 text-align: center;
535 vertical-align: middle;
535 vertical-align: middle;
536 color: @grey2;
536 color: @grey2;
537 font-size: 11px;
537 font-size: 11px;
538
538
539 p {
539 p {
540 margin: 0;
540 margin: 0;
541 padding: 1em;
541 padding: 1em;
542 line-height: 1em;
542 line-height: 1em;
543 }
543 }
544
544
545 .server-instance { //server instance
545 .server-instance { //server instance
546 display: none;
546 display: none;
547 }
547 }
548
548
549 .title {
549 .title {
550 float: none;
550 float: none;
551 margin: 0 auto;
551 margin: 0 auto;
552 }
552 }
553 }
553 }
554
554
555 button.close {
555 button.close {
556 padding: 0;
556 padding: 0;
557 cursor: pointer;
557 cursor: pointer;
558 background: transparent;
558 background: transparent;
559 border: 0;
559 border: 0;
560 .box-shadow(none);
560 .box-shadow(none);
561 -webkit-appearance: none;
561 -webkit-appearance: none;
562 }
562 }
563
563
564 .close {
564 .close {
565 float: right;
565 float: right;
566 font-size: 21px;
566 font-size: 21px;
567 font-family: @text-bootstrap;
567 font-family: @text-bootstrap;
568 line-height: 1em;
568 line-height: 1em;
569 font-weight: bold;
569 font-weight: bold;
570 color: @grey2;
570 color: @grey2;
571
571
572 &:hover,
572 &:hover,
573 &:focus {
573 &:focus {
574 color: @grey1;
574 color: @grey1;
575 text-decoration: none;
575 text-decoration: none;
576 cursor: pointer;
576 cursor: pointer;
577 }
577 }
578 }
578 }
579
579
580 // GRID
580 // GRID
581 .sorting,
581 .sorting,
582 .sorting_desc,
582 .sorting_desc,
583 .sorting_asc {
583 .sorting_asc {
584 cursor: pointer;
584 cursor: pointer;
585 }
585 }
586 .sorting_desc:after {
586 .sorting_desc:after {
587 content: "\00A0\25B2";
587 content: "\00A0\25B2";
588 font-size: .75em;
588 font-size: .75em;
589 }
589 }
590 .sorting_asc:after {
590 .sorting_asc:after {
591 content: "\00A0\25BC";
591 content: "\00A0\25BC";
592 font-size: .68em;
592 font-size: .68em;
593 }
593 }
594
594
595
595
596 .user_auth_tokens {
596 .user_auth_tokens {
597
597
598 &.truncate {
598 &.truncate {
599 white-space: nowrap;
599 white-space: nowrap;
600 overflow: hidden;
600 overflow: hidden;
601 text-overflow: ellipsis;
601 text-overflow: ellipsis;
602 }
602 }
603
603
604 .fields .field .input {
604 .fields .field .input {
605 margin: 0;
605 margin: 0;
606 }
606 }
607
607
608 input#description {
608 input#description {
609 width: 100px;
609 width: 100px;
610 margin: 0;
610 margin: 0;
611 }
611 }
612
612
613 .drop-menu {
613 .drop-menu {
614 // TODO: johbo: Remove this, should work out of the box when
614 // TODO: johbo: Remove this, should work out of the box when
615 // having multiple inputs inline
615 // having multiple inputs inline
616 margin: 0 0 0 5px;
616 margin: 0 0 0 5px;
617 }
617 }
618 }
618 }
619 #user_list_table {
619 #user_list_table {
620 .closed {
620 .closed {
621 background-color: @grey6;
621 background-color: @grey6;
622 }
622 }
623 }
623 }
624
624
625
625
626 input, textarea {
626 input, textarea {
627 &.disabled {
627 &.disabled {
628 opacity: .5;
628 opacity: .5;
629 }
629 }
630
630
631 &:hover {
631 &:hover {
632 border-color: @grey3;
632 border-color: @grey3;
633 box-shadow: @button-shadow;
633 box-shadow: @button-shadow;
634 }
634 }
635
635
636 &:focus {
636 &:focus {
637 border-color: @rcblue;
637 border-color: @rcblue;
638 box-shadow: @button-shadow;
638 box-shadow: @button-shadow;
639 }
639 }
640 }
640 }
641
641
642 // remove extra padding in firefox
642 // remove extra padding in firefox
643 input::-moz-focus-inner { border:0; padding:0 }
643 input::-moz-focus-inner { border:0; padding:0 }
644
644
645 .adjacent input {
645 .adjacent input {
646 margin-bottom: @padding;
646 margin-bottom: @padding;
647 }
647 }
648
648
649 .permissions_boxes {
649 .permissions_boxes {
650 display: block;
650 display: block;
651 }
651 }
652
652
653 //FORMS
653 //FORMS
654
654
655 .medium-inline,
655 .medium-inline,
656 input#description.medium-inline {
656 input#description.medium-inline {
657 display: inline;
657 display: inline;
658 width: @medium-inline-input-width;
658 width: @medium-inline-input-width;
659 min-width: 100px;
659 min-width: 100px;
660 }
660 }
661
661
662 select {
662 select {
663 //reset
663 //reset
664 -webkit-appearance: none;
664 -webkit-appearance: none;
665 -moz-appearance: none;
665 -moz-appearance: none;
666
666
667 display: inline-block;
667 display: inline-block;
668 height: 28px;
668 height: 28px;
669 width: auto;
669 width: auto;
670 margin: 0 @padding @padding 0;
670 margin: 0 @padding @padding 0;
671 padding: 0 18px 0 8px;
671 padding: 0 18px 0 8px;
672 line-height:1em;
672 line-height:1em;
673 font-size: @basefontsize;
673 font-size: @basefontsize;
674 border: @border-thickness solid @grey5;
674 border: @border-thickness solid @grey5;
675 border-radius: @border-radius;
675 border-radius: @border-radius;
676 background:white url("../images/dt-arrow-dn.png") no-repeat 100% 50%;
676 background:white url("../images/dt-arrow-dn.png") no-repeat 100% 50%;
677 color: @grey4;
677 color: @grey4;
678 box-shadow: @button-shadow;
678 box-shadow: @button-shadow;
679
679
680 &:after {
680 &:after {
681 content: "\00A0\25BE";
681 content: "\00A0\25BE";
682 }
682 }
683
683
684 &:focus, &:hover {
684 &:focus, &:hover {
685 outline: none;
685 outline: none;
686 border-color: @grey4;
686 border-color: @grey4;
687 color: @rcdarkblue;
687 color: @rcdarkblue;
688 }
688 }
689 }
689 }
690
690
691 option {
691 option {
692 &:focus {
692 &:focus {
693 outline: none;
693 outline: none;
694 }
694 }
695 }
695 }
696
696
697 input,
697 input,
698 textarea {
698 textarea {
699 padding: @input-padding;
699 padding: @input-padding;
700 border: @input-border-thickness solid @border-highlight-color;
700 border: @input-border-thickness solid @border-highlight-color;
701 .border-radius (@border-radius);
701 .border-radius (@border-radius);
702 font-family: @text-light;
702 font-family: @text-light;
703 font-size: @basefontsize;
703 font-size: @basefontsize;
704
704
705 &.input-sm {
705 &.input-sm {
706 padding: 5px;
706 padding: 5px;
707 }
707 }
708
708
709 &#description {
709 &#description {
710 min-width: @input-description-minwidth;
710 min-width: @input-description-minwidth;
711 min-height: 1em;
711 min-height: 1em;
712 padding: 10px;
712 padding: 10px;
713 }
713 }
714 }
714 }
715
715
716 .field-sm {
716 .field-sm {
717 input,
717 input,
718 textarea {
718 textarea {
719 padding: 5px;
719 padding: 5px;
720 }
720 }
721 }
721 }
722
722
723 textarea {
723 textarea {
724 display: block;
724 display: block;
725 clear: both;
725 clear: both;
726 width: 100%;
726 width: 100%;
727 min-height: 100px;
727 min-height: 100px;
728 margin-bottom: @padding;
728 margin-bottom: @padding;
729 .box-sizing(border-box);
729 .box-sizing(border-box);
730 overflow: auto;
730 overflow: auto;
731 }
731 }
732
732
733 label {
733 label {
734 font-family: @text-light;
734 font-family: @text-light;
735 }
735 }
736
736
737 // GRAVATARS
737 // GRAVATARS
738 // centers gravatar on username to the right
738 // centers gravatar on username to the right
739
739
740 .gravatar {
740 .gravatar {
741 display: inline;
741 display: inline;
742 min-width: 16px;
742 min-width: 16px;
743 min-height: 16px;
743 min-height: 16px;
744 margin: -5px 0;
744 margin: -5px 0;
745 padding: 0;
745 padding: 0;
746 line-height: 1em;
746 line-height: 1em;
747 box-sizing: content-box;
747 box-sizing: content-box;
748 border-radius: 50%;
748 border-radius: 50%;
749
749
750 &.gravatar-large {
750 &.gravatar-large {
751 margin: -0.5em .25em -0.5em 0;
751 margin: -0.5em .25em -0.5em 0;
752 }
752 }
753
753
754 & + .user {
754 & + .user {
755 display: inline;
755 display: inline;
756 margin: 0;
756 margin: 0;
757 padding: 0 0 0 .17em;
757 padding: 0 0 0 .17em;
758 line-height: 1em;
758 line-height: 1em;
759 }
759 }
760 }
760 }
761
761
762 .user-inline-data {
762 .user-inline-data {
763 display: inline-block;
763 display: inline-block;
764 float: left;
764 float: left;
765 padding-left: .5em;
765 padding-left: .5em;
766 line-height: 1.3em;
766 line-height: 1.3em;
767 }
767 }
768
768
769 .rc-user { // gravatar + user wrapper
769 .rc-user { // gravatar + user wrapper
770 float: left;
770 float: left;
771 position: relative;
771 position: relative;
772 min-width: 100px;
772 min-width: 100px;
773 max-width: 200px;
773 max-width: 200px;
774 min-height: (@gravatar-size + @border-thickness * 2); // account for border
774 min-height: (@gravatar-size + @border-thickness * 2); // account for border
775 display: block;
775 display: block;
776 padding: 0 0 0 (@gravatar-size + @basefontsize/2 + @border-thickness * 2);
776 padding: 0 0 0 (@gravatar-size + @basefontsize/2 + @border-thickness * 2);
777
777
778
778
779 .gravatar {
779 .gravatar {
780 display: block;
780 display: block;
781 position: absolute;
781 position: absolute;
782 top: 0;
782 top: 0;
783 left: 0;
783 left: 0;
784 min-width: @gravatar-size;
784 min-width: @gravatar-size;
785 min-height: @gravatar-size;
785 min-height: @gravatar-size;
786 margin: 0;
786 margin: 0;
787 }
787 }
788
788
789 .user {
789 .user {
790 display: block;
790 display: block;
791 max-width: 175px;
791 max-width: 175px;
792 padding-top: 2px;
792 padding-top: 2px;
793 overflow: hidden;
793 overflow: hidden;
794 text-overflow: ellipsis;
794 text-overflow: ellipsis;
795 }
795 }
796 }
796 }
797
797
798 .gist-gravatar,
798 .gist-gravatar,
799 .journal_container {
799 .journal_container {
800 .gravatar-large {
800 .gravatar-large {
801 margin: 0 .5em -10px 0;
801 margin: 0 .5em -10px 0;
802 }
802 }
803 }
803 }
804
804
805
805
806 // ADMIN SETTINGS
806 // ADMIN SETTINGS
807
807
808 // Tag Patterns
808 // Tag Patterns
809 .tag_patterns {
809 .tag_patterns {
810 .tag_input {
810 .tag_input {
811 margin-bottom: @padding;
811 margin-bottom: @padding;
812 }
812 }
813 }
813 }
814
814
815 .locked_input {
815 .locked_input {
816 position: relative;
816 position: relative;
817
817
818 input {
818 input {
819 display: inline;
819 display: inline;
820 margin: 3px 5px 0px 0px;
820 margin: 3px 5px 0px 0px;
821 }
821 }
822
822
823 br {
823 br {
824 display: none;
824 display: none;
825 }
825 }
826
826
827 .error-message {
827 .error-message {
828 float: left;
828 float: left;
829 width: 100%;
829 width: 100%;
830 }
830 }
831
831
832 .lock_input_button {
832 .lock_input_button {
833 display: inline;
833 display: inline;
834 }
834 }
835
835
836 .help-block {
836 .help-block {
837 clear: both;
837 clear: both;
838 }
838 }
839 }
839 }
840
840
841 // Notifications
841 // Notifications
842
842
843 .notifications_buttons {
843 .notifications_buttons {
844 margin: 0 0 @space 0;
844 margin: 0 0 @space 0;
845 padding: 0;
845 padding: 0;
846
846
847 .btn {
847 .btn {
848 display: inline-block;
848 display: inline-block;
849 }
849 }
850 }
850 }
851
851
852 .notification-list {
852 .notification-list {
853
853
854 div {
854 div {
855 display: inline-block;
856 vertical-align: middle;
855 vertical-align: middle;
857 }
856 }
858
857
859 .container {
858 .container {
860 display: block;
859 display: block;
861 margin: 0 0 @padding 0;
860 margin: 0 0 @padding 0;
862 }
861 }
863
862
864 .delete-notifications {
863 .delete-notifications {
865 margin-left: @padding;
864 margin-left: @padding;
866 text-align: right;
865 text-align: right;
867 cursor: pointer;
866 cursor: pointer;
868 }
867 }
869
868
870 .read-notifications {
869 .read-notifications {
871 margin-left: @padding/2;
870 margin-left: @padding/2;
872 text-align: right;
871 text-align: right;
873 width: 35px;
872 width: 35px;
874 cursor: pointer;
873 cursor: pointer;
875 }
874 }
876
875
877 .icon-minus-sign {
876 .icon-minus-sign {
878 color: @alert2;
877 color: @alert2;
879 }
878 }
880
879
881 .icon-ok-sign {
880 .icon-ok-sign {
882 color: @alert1;
881 color: @alert1;
883 }
882 }
884 }
883 }
885
884
886 .user_settings {
885 .user_settings {
887 float: left;
886 float: left;
888 clear: both;
887 clear: both;
889 display: block;
888 display: block;
890 width: 100%;
889 width: 100%;
891
890
892 .gravatar_box {
891 .gravatar_box {
893 margin-bottom: @padding;
892 margin-bottom: @padding;
894
893
895 &:after {
894 &:after {
896 content: " ";
895 content: " ";
897 clear: both;
896 clear: both;
898 width: 100%;
897 width: 100%;
899 }
898 }
900 }
899 }
901
900
902 .fields .field {
901 .fields .field {
903 clear: both;
902 clear: both;
904 }
903 }
905 }
904 }
906
905
907 .advanced_settings {
906 .advanced_settings {
908 margin-bottom: @space;
907 margin-bottom: @space;
909
908
910 .help-block {
909 .help-block {
911 margin-left: 0;
910 margin-left: 0;
912 }
911 }
913
912
914 button + .help-block {
913 button + .help-block {
915 margin-top: @padding;
914 margin-top: @padding;
916 }
915 }
917 }
916 }
918
917
919 // admin settings radio buttons and labels
918 // admin settings radio buttons and labels
920 .label-2 {
919 .label-2 {
921 float: left;
920 float: left;
922 width: @label2-width;
921 width: @label2-width;
923
922
924 label {
923 label {
925 color: @grey1;
924 color: @grey1;
926 }
925 }
927 }
926 }
928 .checkboxes {
927 .checkboxes {
929 float: left;
928 float: left;
930 width: @checkboxes-width;
929 width: @checkboxes-width;
931 margin-bottom: @padding;
930 margin-bottom: @padding;
932
931
933 .checkbox {
932 .checkbox {
934 width: 100%;
933 width: 100%;
935
934
936 label {
935 label {
937 margin: 0;
936 margin: 0;
938 padding: 0;
937 padding: 0;
939 }
938 }
940 }
939 }
941
940
942 .checkbox + .checkbox {
941 .checkbox + .checkbox {
943 display: inline-block;
942 display: inline-block;
944 }
943 }
945
944
946 label {
945 label {
947 margin-right: 1em;
946 margin-right: 1em;
948 }
947 }
949 }
948 }
950
949
951 // CHANGELOG
950 // CHANGELOG
952 .container_header {
951 .container_header {
953 float: left;
952 float: left;
954 display: block;
953 display: block;
955 width: 100%;
954 width: 100%;
956 margin: @padding 0 @padding;
955 margin: @padding 0 @padding;
957
956
958 #filter_changelog {
957 #filter_changelog {
959 float: left;
958 float: left;
960 margin-right: @padding;
959 margin-right: @padding;
961 }
960 }
962
961
963 .breadcrumbs_light {
962 .breadcrumbs_light {
964 display: inline-block;
963 display: inline-block;
965 }
964 }
966 }
965 }
967
966
968 .info_box {
967 .info_box {
969 float: right;
968 float: right;
970 }
969 }
971
970
972
971
973
972
974 #graph_content{
973 #graph_content{
975
974
976 // adjust for table headers so that graph renders properly
975 // adjust for table headers so that graph renders properly
977 // #graph_nodes padding - table cell padding
976 // #graph_nodes padding - table cell padding
978 padding-top: (@space - (@basefontsize * 2.4));
977 padding-top: (@space - (@basefontsize * 2.4));
979
978
980 &.graph_full_width {
979 &.graph_full_width {
981 width: 100%;
980 width: 100%;
982 max-width: 100%;
981 max-width: 100%;
983 }
982 }
984 }
983 }
985
984
986 #graph {
985 #graph {
987
986
988 .pagination-left {
987 .pagination-left {
989 float: left;
988 float: left;
990 clear: both;
989 clear: both;
991 }
990 }
992
991
993 .log-container {
992 .log-container {
994 max-width: 345px;
993 max-width: 345px;
995
994
996 .message{
995 .message{
997 max-width: 340px;
996 max-width: 340px;
998 }
997 }
999 }
998 }
1000
999
1001 .graph-col-wrapper {
1000 .graph-col-wrapper {
1002
1001
1003 #graph_nodes {
1002 #graph_nodes {
1004 width: 100px;
1003 width: 100px;
1005 position: absolute;
1004 position: absolute;
1006 left: 70px;
1005 left: 70px;
1007 z-index: -1;
1006 z-index: -1;
1008 }
1007 }
1009 }
1008 }
1010
1009
1011 .load-more-commits {
1010 .load-more-commits {
1012 text-align: center;
1011 text-align: center;
1013 }
1012 }
1014 .load-more-commits:hover {
1013 .load-more-commits:hover {
1015 background-color: @grey7;
1014 background-color: @grey7;
1016 }
1015 }
1017 .load-more-commits {
1016 .load-more-commits {
1018 a {
1017 a {
1019 display: block;
1018 display: block;
1020 }
1019 }
1021 }
1020 }
1022 }
1021 }
1023
1022
1024 .obsolete-toggle {
1023 .obsolete-toggle {
1025 line-height: 30px;
1024 line-height: 30px;
1026 margin-left: -15px;
1025 margin-left: -15px;
1027 }
1026 }
1028
1027
1029 #rev_range_container, #rev_range_clear, #rev_range_more {
1028 #rev_range_container, #rev_range_clear, #rev_range_more {
1030 margin-top: -5px;
1029 margin-top: -5px;
1031 margin-bottom: -5px;
1030 margin-bottom: -5px;
1032 }
1031 }
1033
1032
1034 #filter_changelog {
1033 #filter_changelog {
1035 float: left;
1034 float: left;
1036 }
1035 }
1037
1036
1038
1037
1039 //--- THEME ------------------//
1038 //--- THEME ------------------//
1040
1039
1041 #logo {
1040 #logo {
1042 float: left;
1041 float: left;
1043 margin: 9px 0 0 0;
1042 margin: 9px 0 0 0;
1044
1043
1045 .header {
1044 .header {
1046 background-color: transparent;
1045 background-color: transparent;
1047 }
1046 }
1048
1047
1049 a {
1048 a {
1050 display: inline-block;
1049 display: inline-block;
1051 }
1050 }
1052
1051
1053 img {
1052 img {
1054 height:30px;
1053 height:30px;
1055 }
1054 }
1056 }
1055 }
1057
1056
1058 .logo-wrapper {
1057 .logo-wrapper {
1059 float:left;
1058 float:left;
1060 }
1059 }
1061
1060
1062 .branding {
1061 .branding {
1063 float: left;
1062 float: left;
1064 padding: 9px 2px;
1063 padding: 9px 2px;
1065 line-height: 1em;
1064 line-height: 1em;
1066 font-size: @navigation-fontsize;
1065 font-size: @navigation-fontsize;
1067
1066
1068 a {
1067 a {
1069 color: @grey5
1068 color: @grey5
1070 }
1069 }
1071 @media screen and (max-width: 1200px) {
1070 @media screen and (max-width: 1200px) {
1072 display: none;
1071 display: none;
1073 }
1072 }
1074 }
1073 }
1075
1074
1076 img {
1075 img {
1077 border: none;
1076 border: none;
1078 outline: none;
1077 outline: none;
1079 }
1078 }
1080 user-profile-header
1079 user-profile-header
1081 label {
1080 label {
1082
1081
1083 input[type="checkbox"] {
1082 input[type="checkbox"] {
1084 margin-right: 1em;
1083 margin-right: 1em;
1085 }
1084 }
1086 input[type="radio"] {
1085 input[type="radio"] {
1087 margin-right: 1em;
1086 margin-right: 1em;
1088 }
1087 }
1089 }
1088 }
1090
1089
1091 .review-status {
1090 .review-status {
1092 &.under_review {
1091 &.under_review {
1093 color: @alert3;
1092 color: @alert3;
1094 }
1093 }
1095 &.approved {
1094 &.approved {
1096 color: @alert1;
1095 color: @alert1;
1097 }
1096 }
1098 &.rejected,
1097 &.rejected,
1099 &.forced_closed{
1098 &.forced_closed{
1100 color: @alert2;
1099 color: @alert2;
1101 }
1100 }
1102 &.not_reviewed {
1101 &.not_reviewed {
1103 color: @grey5;
1102 color: @grey5;
1104 }
1103 }
1105 }
1104 }
1106
1105
1107 .review-status-under_review {
1106 .review-status-under_review {
1108 color: @alert3;
1107 color: @alert3;
1109 }
1108 }
1110 .status-tag-under_review {
1109 .status-tag-under_review {
1111 border-color: @alert3;
1110 border-color: @alert3;
1112 }
1111 }
1113
1112
1114 .review-status-approved {
1113 .review-status-approved {
1115 color: @alert1;
1114 color: @alert1;
1116 }
1115 }
1117 .status-tag-approved {
1116 .status-tag-approved {
1118 border-color: @alert1;
1117 border-color: @alert1;
1119 }
1118 }
1120
1119
1121 .review-status-rejected,
1120 .review-status-rejected,
1122 .review-status-forced_closed {
1121 .review-status-forced_closed {
1123 color: @alert2;
1122 color: @alert2;
1124 }
1123 }
1125 .status-tag-rejected,
1124 .status-tag-rejected,
1126 .status-tag-forced_closed {
1125 .status-tag-forced_closed {
1127 border-color: @alert2;
1126 border-color: @alert2;
1128 }
1127 }
1129
1128
1130 .review-status-not_reviewed {
1129 .review-status-not_reviewed {
1131 color: @grey5;
1130 color: @grey5;
1132 }
1131 }
1133 .status-tag-not_reviewed {
1132 .status-tag-not_reviewed {
1134 border-color: @grey5;
1133 border-color: @grey5;
1135 }
1134 }
1136
1135
1137 .test_pattern_preview {
1136 .test_pattern_preview {
1138 margin: @space 0;
1137 margin: @space 0;
1139
1138
1140 p {
1139 p {
1141 margin-bottom: 0;
1140 margin-bottom: 0;
1142 border-bottom: @border-thickness solid @border-default-color;
1141 border-bottom: @border-thickness solid @border-default-color;
1143 color: @grey3;
1142 color: @grey3;
1144 }
1143 }
1145
1144
1146 .btn {
1145 .btn {
1147 margin-bottom: @padding;
1146 margin-bottom: @padding;
1148 }
1147 }
1149 }
1148 }
1150 #test_pattern_result {
1149 #test_pattern_result {
1151 display: none;
1150 display: none;
1152 &:extend(pre);
1151 &:extend(pre);
1153 padding: .9em;
1152 padding: .9em;
1154 color: @grey3;
1153 color: @grey3;
1155 background-color: @grey7;
1154 background-color: @grey7;
1156 border-right: @border-thickness solid @border-default-color;
1155 border-right: @border-thickness solid @border-default-color;
1157 border-bottom: @border-thickness solid @border-default-color;
1156 border-bottom: @border-thickness solid @border-default-color;
1158 border-left: @border-thickness solid @border-default-color;
1157 border-left: @border-thickness solid @border-default-color;
1159 }
1158 }
1160
1159
1161 #repo_vcs_settings {
1160 #repo_vcs_settings {
1162 #inherit_overlay_vcs_default {
1161 #inherit_overlay_vcs_default {
1163 display: none;
1162 display: none;
1164 }
1163 }
1165 #inherit_overlay_vcs_custom {
1164 #inherit_overlay_vcs_custom {
1166 display: custom;
1165 display: custom;
1167 }
1166 }
1168 &.inherited {
1167 &.inherited {
1169 #inherit_overlay_vcs_default {
1168 #inherit_overlay_vcs_default {
1170 display: block;
1169 display: block;
1171 }
1170 }
1172 #inherit_overlay_vcs_custom {
1171 #inherit_overlay_vcs_custom {
1173 display: none;
1172 display: none;
1174 }
1173 }
1175 }
1174 }
1176 }
1175 }
1177
1176
1178 .issue-tracker-link {
1177 .issue-tracker-link {
1179 color: @rcblue;
1178 color: @rcblue;
1180 }
1179 }
1181
1180
1182 // Issue Tracker Table Show/Hide
1181 // Issue Tracker Table Show/Hide
1183 #repo_issue_tracker {
1182 #repo_issue_tracker {
1184 #inherit_overlay {
1183 #inherit_overlay {
1185 display: none;
1184 display: none;
1186 }
1185 }
1187 #custom_overlay {
1186 #custom_overlay {
1188 display: custom;
1187 display: custom;
1189 }
1188 }
1190 &.inherited {
1189 &.inherited {
1191 #inherit_overlay {
1190 #inherit_overlay {
1192 display: block;
1191 display: block;
1193 }
1192 }
1194 #custom_overlay {
1193 #custom_overlay {
1195 display: none;
1194 display: none;
1196 }
1195 }
1197 }
1196 }
1198 }
1197 }
1199 table.issuetracker {
1198 table.issuetracker {
1200 &.readonly {
1199 &.readonly {
1201 tr, td {
1200 tr, td {
1202 color: @grey3;
1201 color: @grey3;
1203 }
1202 }
1204 }
1203 }
1205 .edit {
1204 .edit {
1206 display: none;
1205 display: none;
1207 }
1206 }
1208 .editopen {
1207 .editopen {
1209 .edit {
1208 .edit {
1210 display: inline;
1209 display: inline;
1211 }
1210 }
1212 .entry {
1211 .entry {
1213 display: none;
1212 display: none;
1214 }
1213 }
1215 }
1214 }
1216 tr td.td-action {
1215 tr td.td-action {
1217 min-width: 117px;
1216 min-width: 117px;
1218 }
1217 }
1219 td input {
1218 td input {
1220 max-width: none;
1219 max-width: none;
1221 min-width: 30px;
1220 min-width: 30px;
1222 width: 80%;
1221 width: 80%;
1223 }
1222 }
1224 .issuetracker_pref input {
1223 .issuetracker_pref input {
1225 width: 40%;
1224 width: 40%;
1226 }
1225 }
1227 input.edit_issuetracker_update {
1226 input.edit_issuetracker_update {
1228 margin-right: 0;
1227 margin-right: 0;
1229 width: auto;
1228 width: auto;
1230 }
1229 }
1231 }
1230 }
1232
1231
1233 table.integrations {
1232 table.integrations {
1234 .td-icon {
1233 .td-icon {
1235 width: 20px;
1234 width: 20px;
1236 .integration-icon {
1235 .integration-icon {
1237 height: 20px;
1236 height: 20px;
1238 width: 20px;
1237 width: 20px;
1239 }
1238 }
1240 }
1239 }
1241 }
1240 }
1242
1241
1243 .integrations {
1242 .integrations {
1244 a.integration-box {
1243 a.integration-box {
1245 color: @text-color;
1244 color: @text-color;
1246 &:hover {
1245 &:hover {
1247 .panel {
1246 .panel {
1248 background: #fbfbfb;
1247 background: #fbfbfb;
1249 }
1248 }
1250 }
1249 }
1251 .integration-icon {
1250 .integration-icon {
1252 width: 30px;
1251 width: 30px;
1253 height: 30px;
1252 height: 30px;
1254 margin-right: 20px;
1253 margin-right: 20px;
1255 float: left;
1254 float: left;
1256 }
1255 }
1257
1256
1258 .panel-body {
1257 .panel-body {
1259 padding: 10px;
1258 padding: 10px;
1260 }
1259 }
1261 .panel {
1260 .panel {
1262 margin-bottom: 10px;
1261 margin-bottom: 10px;
1263 }
1262 }
1264 h2 {
1263 h2 {
1265 display: inline-block;
1264 display: inline-block;
1266 margin: 0;
1265 margin: 0;
1267 min-width: 140px;
1266 min-width: 140px;
1268 }
1267 }
1269 }
1268 }
1270 a.integration-box.dummy-integration {
1269 a.integration-box.dummy-integration {
1271 color: @grey4
1270 color: @grey4
1272 }
1271 }
1273 }
1272 }
1274
1273
1275 //Permissions Settings
1274 //Permissions Settings
1276 #add_perm {
1275 #add_perm {
1277 margin: 0 0 @padding;
1276 margin: 0 0 @padding;
1278 cursor: pointer;
1277 cursor: pointer;
1279 }
1278 }
1280
1279
1281 .perm_ac {
1280 .perm_ac {
1282 input {
1281 input {
1283 width: 95%;
1282 width: 95%;
1284 }
1283 }
1285 }
1284 }
1286
1285
1287 .autocomplete-suggestions {
1286 .autocomplete-suggestions {
1288 width: auto !important; // overrides autocomplete.js
1287 width: auto !important; // overrides autocomplete.js
1289 min-width: 278px;
1288 min-width: 278px;
1290 margin: 0;
1289 margin: 0;
1291 border: @border-thickness solid @grey5;
1290 border: @border-thickness solid @grey5;
1292 border-radius: @border-radius;
1291 border-radius: @border-radius;
1293 color: @grey2;
1292 color: @grey2;
1294 background-color: white;
1293 background-color: white;
1295 }
1294 }
1296
1295
1297 .autocomplete-qfilter-suggestions {
1296 .autocomplete-qfilter-suggestions {
1298 width: auto !important; // overrides autocomplete.js
1297 width: auto !important; // overrides autocomplete.js
1299 max-height: 100% !important;
1298 max-height: 100% !important;
1300 min-width: 376px;
1299 min-width: 376px;
1301 margin: 0;
1300 margin: 0;
1302 border: @border-thickness solid @grey5;
1301 border: @border-thickness solid @grey5;
1303 color: @grey2;
1302 color: @grey2;
1304 background-color: white;
1303 background-color: white;
1305 }
1304 }
1306
1305
1307 .autocomplete-selected {
1306 .autocomplete-selected {
1308 background: #F0F0F0;
1307 background: #F0F0F0;
1309 }
1308 }
1310
1309
1311 .ac-container-wrap {
1310 .ac-container-wrap {
1312 margin: 0;
1311 margin: 0;
1313 padding: 8px;
1312 padding: 8px;
1314 border-bottom: @border-thickness solid @grey5;
1313 border-bottom: @border-thickness solid @grey5;
1315 list-style-type: none;
1314 list-style-type: none;
1316 cursor: pointer;
1315 cursor: pointer;
1317
1316
1318 &:hover {
1317 &:hover {
1319 background-color: @grey7;
1318 background-color: @grey7;
1320 }
1319 }
1321
1320
1322 img {
1321 img {
1323 height: @gravatar-size;
1322 height: @gravatar-size;
1324 width: @gravatar-size;
1323 width: @gravatar-size;
1325 margin-right: 1em;
1324 margin-right: 1em;
1326 }
1325 }
1327
1326
1328 strong {
1327 strong {
1329 font-weight: normal;
1328 font-weight: normal;
1330 }
1329 }
1331 }
1330 }
1332
1331
1333 // Settings Dropdown
1332 // Settings Dropdown
1334 .user-menu .container {
1333 .user-menu .container {
1335 padding: 0 4px;
1334 padding: 0 4px;
1336 margin: 0;
1335 margin: 0;
1337 }
1336 }
1338
1337
1339 .user-menu .gravatar {
1338 .user-menu .gravatar {
1340 cursor: pointer;
1339 cursor: pointer;
1341 }
1340 }
1342
1341
1343 .codeblock {
1342 .codeblock {
1344 margin-bottom: @padding;
1343 margin-bottom: @padding;
1345 clear: both;
1344 clear: both;
1346
1345
1347 .stats {
1346 .stats {
1348 overflow: hidden;
1347 overflow: hidden;
1349 }
1348 }
1350
1349
1351 .message{
1350 .message{
1352 textarea{
1351 textarea{
1353 margin: 0;
1352 margin: 0;
1354 }
1353 }
1355 }
1354 }
1356
1355
1357 .code-header {
1356 .code-header {
1358 .stats {
1357 .stats {
1359 line-height: 2em;
1358 line-height: 2em;
1360
1359
1361 .revision_id {
1360 .revision_id {
1362 margin-left: 0;
1361 margin-left: 0;
1363 }
1362 }
1364 .buttons {
1363 .buttons {
1365 padding-right: 0;
1364 padding-right: 0;
1366 }
1365 }
1367 }
1366 }
1368
1367
1369 .item{
1368 .item{
1370 margin-right: 0.5em;
1369 margin-right: 0.5em;
1371 }
1370 }
1372 }
1371 }
1373
1372
1374 #editor_container {
1373 #editor_container {
1375 position: relative;
1374 position: relative;
1376 margin: @padding 10px;
1375 margin: @padding 10px;
1377 }
1376 }
1378 }
1377 }
1379
1378
1380 #file_history_container {
1379 #file_history_container {
1381 display: none;
1380 display: none;
1382 }
1381 }
1383
1382
1384 .file-history-inner {
1383 .file-history-inner {
1385 margin-bottom: 10px;
1384 margin-bottom: 10px;
1386 }
1385 }
1387
1386
1388 // Pull Requests
1387 // Pull Requests
1389 .summary-details {
1388 .summary-details {
1390 width: 72%;
1389 width: 72%;
1391 }
1390 }
1392 .pr-summary {
1391 .pr-summary {
1393 border-bottom: @border-thickness solid @grey5;
1392 border-bottom: @border-thickness solid @grey5;
1394 margin-bottom: @space;
1393 margin-bottom: @space;
1395 }
1394 }
1396 .reviewers-title {
1395 .reviewers-title {
1397 width: 25%;
1396 width: 25%;
1398 min-width: 200px;
1397 min-width: 200px;
1399 }
1398 }
1400 .reviewers {
1399 .reviewers {
1401 width: 25%;
1400 width: 25%;
1402 min-width: 200px;
1401 min-width: 200px;
1403 }
1402 }
1404 .reviewers ul li {
1403 .reviewers ul li {
1405 position: relative;
1404 position: relative;
1406 width: 100%;
1405 width: 100%;
1407 padding-bottom: 8px;
1406 padding-bottom: 8px;
1408 list-style-type: none;
1407 list-style-type: none;
1409 }
1408 }
1410
1409
1411 .reviewer_entry {
1410 .reviewer_entry {
1412 min-height: 55px;
1411 min-height: 55px;
1413 }
1412 }
1414
1413
1415 .reviewers_member {
1414 .reviewers_member {
1416 width: 100%;
1415 width: 100%;
1417 overflow: auto;
1416 overflow: auto;
1418 }
1417 }
1419 .reviewer_reason {
1418 .reviewer_reason {
1420 padding-left: 20px;
1419 padding-left: 20px;
1421 line-height: 1.5em;
1420 line-height: 1.5em;
1422 }
1421 }
1423 .reviewer_status {
1422 .reviewer_status {
1424 display: inline-block;
1423 display: inline-block;
1425 width: 25px;
1424 width: 25px;
1426 min-width: 25px;
1425 min-width: 25px;
1427 height: 1.2em;
1426 height: 1.2em;
1428 line-height: 1em;
1427 line-height: 1em;
1429 }
1428 }
1430
1429
1431 .reviewer_name {
1430 .reviewer_name {
1432 display: inline-block;
1431 display: inline-block;
1433 max-width: 83%;
1432 max-width: 83%;
1434 padding-right: 20px;
1433 padding-right: 20px;
1435 vertical-align: middle;
1434 vertical-align: middle;
1436 line-height: 1;
1435 line-height: 1;
1437
1436
1438 .rc-user {
1437 .rc-user {
1439 min-width: 0;
1438 min-width: 0;
1440 margin: -2px 1em 0 0;
1439 margin: -2px 1em 0 0;
1441 }
1440 }
1442
1441
1443 .reviewer {
1442 .reviewer {
1444 float: left;
1443 float: left;
1445 }
1444 }
1446 }
1445 }
1447
1446
1448 .reviewer_member_mandatory {
1447 .reviewer_member_mandatory {
1449 position: absolute;
1448 position: absolute;
1450 left: 15px;
1449 left: 15px;
1451 top: 8px;
1450 top: 8px;
1452 width: 16px;
1451 width: 16px;
1453 font-size: 11px;
1452 font-size: 11px;
1454 margin: 0;
1453 margin: 0;
1455 padding: 0;
1454 padding: 0;
1456 color: black;
1455 color: black;
1457 }
1456 }
1458
1457
1459 .reviewer_member_mandatory_remove,
1458 .reviewer_member_mandatory_remove,
1460 .reviewer_member_remove {
1459 .reviewer_member_remove {
1461 position: absolute;
1460 position: absolute;
1462 right: 0;
1461 right: 0;
1463 top: 0;
1462 top: 0;
1464 width: 16px;
1463 width: 16px;
1465 margin-bottom: 10px;
1464 margin-bottom: 10px;
1466 padding: 0;
1465 padding: 0;
1467 color: black;
1466 color: black;
1468 }
1467 }
1469
1468
1470 .reviewer_member_mandatory_remove {
1469 .reviewer_member_mandatory_remove {
1471 color: @grey4;
1470 color: @grey4;
1472 }
1471 }
1473
1472
1474 .reviewer_member_status {
1473 .reviewer_member_status {
1475 margin-top: 5px;
1474 margin-top: 5px;
1476 }
1475 }
1477 .pr-summary #summary{
1476 .pr-summary #summary{
1478 width: 100%;
1477 width: 100%;
1479 }
1478 }
1480 .pr-summary .action_button:hover {
1479 .pr-summary .action_button:hover {
1481 border: 0;
1480 border: 0;
1482 cursor: pointer;
1481 cursor: pointer;
1483 }
1482 }
1484 .pr-details-title {
1483 .pr-details-title {
1485 padding-bottom: 8px;
1484 padding-bottom: 8px;
1486 border-bottom: @border-thickness solid @grey5;
1485 border-bottom: @border-thickness solid @grey5;
1487
1486
1488 .action_button.disabled {
1487 .action_button.disabled {
1489 color: @grey4;
1488 color: @grey4;
1490 cursor: inherit;
1489 cursor: inherit;
1491 }
1490 }
1492 .action_button {
1491 .action_button {
1493 color: @rcblue;
1492 color: @rcblue;
1494 }
1493 }
1495 }
1494 }
1496 .pr-details-content {
1495 .pr-details-content {
1497 margin-top: @textmargin;
1496 margin-top: @textmargin;
1498 margin-bottom: @textmargin;
1497 margin-bottom: @textmargin;
1499 }
1498 }
1500
1499
1501 .pr-reviewer-rules {
1500 .pr-reviewer-rules {
1502 padding: 10px 0px 20px 0px;
1501 padding: 10px 0px 20px 0px;
1503 }
1502 }
1504
1503
1505 .group_members {
1504 .group_members {
1506 margin-top: 0;
1505 margin-top: 0;
1507 padding: 0;
1506 padding: 0;
1508 list-style: outside none none;
1507 list-style: outside none none;
1509
1508
1510 img {
1509 img {
1511 height: @gravatar-size;
1510 height: @gravatar-size;
1512 width: @gravatar-size;
1511 width: @gravatar-size;
1513 margin-right: .5em;
1512 margin-right: .5em;
1514 margin-left: 3px;
1513 margin-left: 3px;
1515 }
1514 }
1516
1515
1517 .to-delete {
1516 .to-delete {
1518 .user {
1517 .user {
1519 text-decoration: line-through;
1518 text-decoration: line-through;
1520 }
1519 }
1521 }
1520 }
1522 }
1521 }
1523
1522
1524 .compare_view_commits_title {
1523 .compare_view_commits_title {
1525 .disabled {
1524 .disabled {
1526 cursor: inherit;
1525 cursor: inherit;
1527 &:hover{
1526 &:hover{
1528 background-color: inherit;
1527 background-color: inherit;
1529 color: inherit;
1528 color: inherit;
1530 }
1529 }
1531 }
1530 }
1532 }
1531 }
1533
1532
1534 .subtitle-compare {
1533 .subtitle-compare {
1535 margin: -15px 0px 0px 0px;
1534 margin: -15px 0px 0px 0px;
1536 }
1535 }
1537
1536
1538 // new entry in group_members
1537 // new entry in group_members
1539 .td-author-new-entry {
1538 .td-author-new-entry {
1540 background-color: rgba(red(@alert1), green(@alert1), blue(@alert1), 0.3);
1539 background-color: rgba(red(@alert1), green(@alert1), blue(@alert1), 0.3);
1541 }
1540 }
1542
1541
1543 .usergroup_member_remove {
1542 .usergroup_member_remove {
1544 width: 16px;
1543 width: 16px;
1545 margin-bottom: 10px;
1544 margin-bottom: 10px;
1546 padding: 0;
1545 padding: 0;
1547 color: black !important;
1546 color: black !important;
1548 cursor: pointer;
1547 cursor: pointer;
1549 }
1548 }
1550
1549
1551 .reviewer_ac .ac-input {
1550 .reviewer_ac .ac-input {
1552 width: 92%;
1551 width: 92%;
1553 margin-bottom: 1em;
1552 margin-bottom: 1em;
1554 }
1553 }
1555
1554
1556 .compare_view_commits tr{
1555 .compare_view_commits tr{
1557 height: 20px;
1556 height: 20px;
1558 }
1557 }
1559 .compare_view_commits td {
1558 .compare_view_commits td {
1560 vertical-align: top;
1559 vertical-align: top;
1561 padding-top: 10px;
1560 padding-top: 10px;
1562 }
1561 }
1563 .compare_view_commits .author {
1562 .compare_view_commits .author {
1564 margin-left: 5px;
1563 margin-left: 5px;
1565 }
1564 }
1566
1565
1567 .compare_view_commits {
1566 .compare_view_commits {
1568 .color-a {
1567 .color-a {
1569 color: @alert1;
1568 color: @alert1;
1570 }
1569 }
1571
1570
1572 .color-c {
1571 .color-c {
1573 color: @color3;
1572 color: @color3;
1574 }
1573 }
1575
1574
1576 .color-r {
1575 .color-r {
1577 color: @color5;
1576 color: @color5;
1578 }
1577 }
1579
1578
1580 .color-a-bg {
1579 .color-a-bg {
1581 background-color: @alert1;
1580 background-color: @alert1;
1582 }
1581 }
1583
1582
1584 .color-c-bg {
1583 .color-c-bg {
1585 background-color: @alert3;
1584 background-color: @alert3;
1586 }
1585 }
1587
1586
1588 .color-r-bg {
1587 .color-r-bg {
1589 background-color: @alert2;
1588 background-color: @alert2;
1590 }
1589 }
1591
1590
1592 .color-a-border {
1591 .color-a-border {
1593 border: 1px solid @alert1;
1592 border: 1px solid @alert1;
1594 }
1593 }
1595
1594
1596 .color-c-border {
1595 .color-c-border {
1597 border: 1px solid @alert3;
1596 border: 1px solid @alert3;
1598 }
1597 }
1599
1598
1600 .color-r-border {
1599 .color-r-border {
1601 border: 1px solid @alert2;
1600 border: 1px solid @alert2;
1602 }
1601 }
1603
1602
1604 .commit-change-indicator {
1603 .commit-change-indicator {
1605 width: 15px;
1604 width: 15px;
1606 height: 15px;
1605 height: 15px;
1607 position: relative;
1606 position: relative;
1608 left: 15px;
1607 left: 15px;
1609 }
1608 }
1610
1609
1611 .commit-change-content {
1610 .commit-change-content {
1612 text-align: center;
1611 text-align: center;
1613 vertical-align: middle;
1612 vertical-align: middle;
1614 line-height: 15px;
1613 line-height: 15px;
1615 }
1614 }
1616 }
1615 }
1617
1616
1618 .compare_view_filepath {
1617 .compare_view_filepath {
1619 color: @grey1;
1618 color: @grey1;
1620 }
1619 }
1621
1620
1622 .show_more {
1621 .show_more {
1623 display: inline-block;
1622 display: inline-block;
1624 width: 0;
1623 width: 0;
1625 height: 0;
1624 height: 0;
1626 vertical-align: middle;
1625 vertical-align: middle;
1627 content: "";
1626 content: "";
1628 border: 4px solid;
1627 border: 4px solid;
1629 border-right-color: transparent;
1628 border-right-color: transparent;
1630 border-bottom-color: transparent;
1629 border-bottom-color: transparent;
1631 border-left-color: transparent;
1630 border-left-color: transparent;
1632 font-size: 0;
1631 font-size: 0;
1633 }
1632 }
1634
1633
1635 .journal_more .show_more {
1634 .journal_more .show_more {
1636 display: inline;
1635 display: inline;
1637
1636
1638 &:after {
1637 &:after {
1639 content: none;
1638 content: none;
1640 }
1639 }
1641 }
1640 }
1642
1641
1643 .compare_view_commits .collapse_commit:after {
1642 .compare_view_commits .collapse_commit:after {
1644 cursor: pointer;
1643 cursor: pointer;
1645 content: "\00A0\25B4";
1644 content: "\00A0\25B4";
1646 margin-left: -3px;
1645 margin-left: -3px;
1647 font-size: 17px;
1646 font-size: 17px;
1648 color: @grey4;
1647 color: @grey4;
1649 }
1648 }
1650
1649
1651 .diff_links {
1650 .diff_links {
1652 margin-left: 8px;
1651 margin-left: 8px;
1653 }
1652 }
1654
1653
1655 #pull_request_overview {
1654 #pull_request_overview {
1656 div.ancestor {
1655 div.ancestor {
1657 margin: -33px 0;
1656 margin: -33px 0;
1658 }
1657 }
1659 }
1658 }
1660
1659
1661 div.ancestor {
1660 div.ancestor {
1662 line-height: 33px;
1661 line-height: 33px;
1663 }
1662 }
1664
1663
1665 .cs_icon_td input[type="checkbox"] {
1664 .cs_icon_td input[type="checkbox"] {
1666 display: none;
1665 display: none;
1667 }
1666 }
1668
1667
1669 .cs_icon_td .expand_file_icon:after {
1668 .cs_icon_td .expand_file_icon:after {
1670 cursor: pointer;
1669 cursor: pointer;
1671 content: "\00A0\25B6";
1670 content: "\00A0\25B6";
1672 font-size: 12px;
1671 font-size: 12px;
1673 color: @grey4;
1672 color: @grey4;
1674 }
1673 }
1675
1674
1676 .cs_icon_td .collapse_file_icon:after {
1675 .cs_icon_td .collapse_file_icon:after {
1677 cursor: pointer;
1676 cursor: pointer;
1678 content: "\00A0\25BC";
1677 content: "\00A0\25BC";
1679 font-size: 12px;
1678 font-size: 12px;
1680 color: @grey4;
1679 color: @grey4;
1681 }
1680 }
1682
1681
1683 /*new binary
1682 /*new binary
1684 NEW_FILENODE = 1
1683 NEW_FILENODE = 1
1685 DEL_FILENODE = 2
1684 DEL_FILENODE = 2
1686 MOD_FILENODE = 3
1685 MOD_FILENODE = 3
1687 RENAMED_FILENODE = 4
1686 RENAMED_FILENODE = 4
1688 COPIED_FILENODE = 5
1687 COPIED_FILENODE = 5
1689 CHMOD_FILENODE = 6
1688 CHMOD_FILENODE = 6
1690 BIN_FILENODE = 7
1689 BIN_FILENODE = 7
1691 */
1690 */
1692 .cs_files_expand {
1691 .cs_files_expand {
1693 font-size: @basefontsize + 5px;
1692 font-size: @basefontsize + 5px;
1694 line-height: 1.8em;
1693 line-height: 1.8em;
1695 float: right;
1694 float: right;
1696 }
1695 }
1697
1696
1698 .cs_files_expand span{
1697 .cs_files_expand span{
1699 color: @rcblue;
1698 color: @rcblue;
1700 cursor: pointer;
1699 cursor: pointer;
1701 }
1700 }
1702 .cs_files {
1701 .cs_files {
1703 clear: both;
1702 clear: both;
1704 padding-bottom: @padding;
1703 padding-bottom: @padding;
1705
1704
1706 .cur_cs {
1705 .cur_cs {
1707 margin: 10px 2px;
1706 margin: 10px 2px;
1708 font-weight: bold;
1707 font-weight: bold;
1709 }
1708 }
1710
1709
1711 .node {
1710 .node {
1712 float: left;
1711 float: left;
1713 }
1712 }
1714
1713
1715 .changes {
1714 .changes {
1716 float: right;
1715 float: right;
1717 color: white;
1716 color: white;
1718 font-size: @basefontsize - 4px;
1717 font-size: @basefontsize - 4px;
1719 margin-top: 4px;
1718 margin-top: 4px;
1720 opacity: 0.6;
1719 opacity: 0.6;
1721 filter: Alpha(opacity=60); /* IE8 and earlier */
1720 filter: Alpha(opacity=60); /* IE8 and earlier */
1722
1721
1723 .added {
1722 .added {
1724 background-color: @alert1;
1723 background-color: @alert1;
1725 float: left;
1724 float: left;
1726 text-align: center;
1725 text-align: center;
1727 }
1726 }
1728
1727
1729 .deleted {
1728 .deleted {
1730 background-color: @alert2;
1729 background-color: @alert2;
1731 float: left;
1730 float: left;
1732 text-align: center;
1731 text-align: center;
1733 }
1732 }
1734
1733
1735 .bin {
1734 .bin {
1736 background-color: @alert1;
1735 background-color: @alert1;
1737 text-align: center;
1736 text-align: center;
1738 }
1737 }
1739
1738
1740 /*new binary*/
1739 /*new binary*/
1741 .bin.bin1 {
1740 .bin.bin1 {
1742 background-color: @alert1;
1741 background-color: @alert1;
1743 text-align: center;
1742 text-align: center;
1744 }
1743 }
1745
1744
1746 /*deleted binary*/
1745 /*deleted binary*/
1747 .bin.bin2 {
1746 .bin.bin2 {
1748 background-color: @alert2;
1747 background-color: @alert2;
1749 text-align: center;
1748 text-align: center;
1750 }
1749 }
1751
1750
1752 /*mod binary*/
1751 /*mod binary*/
1753 .bin.bin3 {
1752 .bin.bin3 {
1754 background-color: @grey2;
1753 background-color: @grey2;
1755 text-align: center;
1754 text-align: center;
1756 }
1755 }
1757
1756
1758 /*rename file*/
1757 /*rename file*/
1759 .bin.bin4 {
1758 .bin.bin4 {
1760 background-color: @alert4;
1759 background-color: @alert4;
1761 text-align: center;
1760 text-align: center;
1762 }
1761 }
1763
1762
1764 /*copied file*/
1763 /*copied file*/
1765 .bin.bin5 {
1764 .bin.bin5 {
1766 background-color: @alert4;
1765 background-color: @alert4;
1767 text-align: center;
1766 text-align: center;
1768 }
1767 }
1769
1768
1770 /*chmod file*/
1769 /*chmod file*/
1771 .bin.bin6 {
1770 .bin.bin6 {
1772 background-color: @grey2;
1771 background-color: @grey2;
1773 text-align: center;
1772 text-align: center;
1774 }
1773 }
1775 }
1774 }
1776 }
1775 }
1777
1776
1778 .cs_files .cs_added, .cs_files .cs_A,
1777 .cs_files .cs_added, .cs_files .cs_A,
1779 .cs_files .cs_added, .cs_files .cs_M,
1778 .cs_files .cs_added, .cs_files .cs_M,
1780 .cs_files .cs_added, .cs_files .cs_D {
1779 .cs_files .cs_added, .cs_files .cs_D {
1781 height: 16px;
1780 height: 16px;
1782 padding-right: 10px;
1781 padding-right: 10px;
1783 margin-top: 7px;
1782 margin-top: 7px;
1784 text-align: left;
1783 text-align: left;
1785 }
1784 }
1786
1785
1787 .cs_icon_td {
1786 .cs_icon_td {
1788 min-width: 16px;
1787 min-width: 16px;
1789 width: 16px;
1788 width: 16px;
1790 }
1789 }
1791
1790
1792 .pull-request-merge {
1791 .pull-request-merge {
1793 border: 1px solid @grey5;
1792 border: 1px solid @grey5;
1794 padding: 10px 0px 20px;
1793 padding: 10px 0px 20px;
1795 margin-top: 10px;
1794 margin-top: 10px;
1796 margin-bottom: 20px;
1795 margin-bottom: 20px;
1797 }
1796 }
1798
1797
1799 .pull-request-merge-refresh {
1798 .pull-request-merge-refresh {
1800 margin: 2px 7px;
1799 margin: 2px 7px;
1801 a {
1800 a {
1802 color: @grey3;
1801 color: @grey3;
1803 }
1802 }
1804 }
1803 }
1805
1804
1806 .pull-request-merge ul {
1805 .pull-request-merge ul {
1807 padding: 0px 0px;
1806 padding: 0px 0px;
1808 }
1807 }
1809
1808
1810 .pull-request-merge li {
1809 .pull-request-merge li {
1811 list-style-type: none;
1810 list-style-type: none;
1812 }
1811 }
1813
1812
1814 .pull-request-merge .pull-request-wrap {
1813 .pull-request-merge .pull-request-wrap {
1815 height: auto;
1814 height: auto;
1816 padding: 0px 0px;
1815 padding: 0px 0px;
1817 text-align: right;
1816 text-align: right;
1818 }
1817 }
1819
1818
1820 .pull-request-merge span {
1819 .pull-request-merge span {
1821 margin-right: 5px;
1820 margin-right: 5px;
1822 }
1821 }
1823
1822
1824 .pull-request-merge-actions {
1823 .pull-request-merge-actions {
1825 min-height: 30px;
1824 min-height: 30px;
1826 padding: 0px 0px;
1825 padding: 0px 0px;
1827 }
1826 }
1828
1827
1829 .pull-request-merge-info {
1828 .pull-request-merge-info {
1830 padding: 0px 5px 5px 0px;
1829 padding: 0px 5px 5px 0px;
1831 }
1830 }
1832
1831
1833 .merge-status {
1832 .merge-status {
1834 margin-right: 5px;
1833 margin-right: 5px;
1835 }
1834 }
1836
1835
1837 .merge-message {
1836 .merge-message {
1838 font-size: 1.2em
1837 font-size: 1.2em
1839 }
1838 }
1840
1839
1841 .merge-message.success i,
1840 .merge-message.success i,
1842 .merge-icon.success i {
1841 .merge-icon.success i {
1843 color:@alert1;
1842 color:@alert1;
1844 }
1843 }
1845
1844
1846 .merge-message.warning i,
1845 .merge-message.warning i,
1847 .merge-icon.warning i {
1846 .merge-icon.warning i {
1848 color: @alert3;
1847 color: @alert3;
1849 }
1848 }
1850
1849
1851 .merge-message.error i,
1850 .merge-message.error i,
1852 .merge-icon.error i {
1851 .merge-icon.error i {
1853 color:@alert2;
1852 color:@alert2;
1854 }
1853 }
1855
1854
1856 .pr-versions {
1855 .pr-versions {
1857 font-size: 1.1em;
1856 font-size: 1.1em;
1858
1857
1859 table {
1858 table {
1860 padding: 0px 5px;
1859 padding: 0px 5px;
1861 }
1860 }
1862
1861
1863 td {
1862 td {
1864 line-height: 15px;
1863 line-height: 15px;
1865 }
1864 }
1866
1865
1867 .compare-radio-button {
1866 .compare-radio-button {
1868 position: relative;
1867 position: relative;
1869 top: -3px;
1868 top: -3px;
1870 }
1869 }
1871 }
1870 }
1872
1871
1873
1872
1874 #close_pull_request {
1873 #close_pull_request {
1875 margin-right: 0px;
1874 margin-right: 0px;
1876 }
1875 }
1877
1876
1878 .empty_data {
1877 .empty_data {
1879 color: @grey4;
1878 color: @grey4;
1880 }
1879 }
1881
1880
1882 #changeset_compare_view_content {
1881 #changeset_compare_view_content {
1883 clear: both;
1882 clear: both;
1884 width: 100%;
1883 width: 100%;
1885 box-sizing: border-box;
1884 box-sizing: border-box;
1886 .border-radius(@border-radius);
1885 .border-radius(@border-radius);
1887
1886
1888 .help-block {
1887 .help-block {
1889 margin: @padding 0;
1888 margin: @padding 0;
1890 color: @text-color;
1889 color: @text-color;
1891 &.pre-formatting {
1890 &.pre-formatting {
1892 white-space: pre;
1891 white-space: pre;
1893 }
1892 }
1894 }
1893 }
1895
1894
1896 .empty_data {
1895 .empty_data {
1897 margin: @padding 0;
1896 margin: @padding 0;
1898 }
1897 }
1899
1898
1900 .alert {
1899 .alert {
1901 margin-bottom: @space;
1900 margin-bottom: @space;
1902 }
1901 }
1903 }
1902 }
1904
1903
1905 .table_disp {
1904 .table_disp {
1906 .status {
1905 .status {
1907 width: auto;
1906 width: auto;
1908 }
1907 }
1909 }
1908 }
1910
1909
1911
1910
1912 .creation_in_progress {
1911 .creation_in_progress {
1913 color: @grey4
1912 color: @grey4
1914 }
1913 }
1915
1914
1916 .status_box_menu {
1915 .status_box_menu {
1917 margin: 0;
1916 margin: 0;
1918 }
1917 }
1919
1918
1920 .notification-table{
1919 .notification-table{
1921 margin-bottom: @space;
1920 margin-bottom: @space;
1922 display: table;
1921 display: table;
1923 width: 100%;
1922 width: 100%;
1924
1923
1925 .container{
1924 .container{
1926 display: table-row;
1925 display: table-row;
1927
1926
1928 .notification-header{
1927 .notification-header{
1929 border-bottom: @border-thickness solid @border-default-color;
1928 border-bottom: @border-thickness solid @border-default-color;
1930 }
1929 }
1931
1930
1932 .notification-subject{
1931 .notification-subject{
1933 display: table-cell;
1932 display: table-cell;
1934 }
1933 }
1935 }
1934 }
1936 }
1935 }
1937
1936
1938 // Notifications
1937 // Notifications
1939 .notification-header{
1938 .notification-header{
1940 display: table;
1939 display: table;
1941 width: 100%;
1940 width: 100%;
1942 padding: floor(@basefontsize/2) 0;
1941 padding: floor(@basefontsize/2) 0;
1943 line-height: 1em;
1942 line-height: 1em;
1944
1943
1945 .desc, .delete-notifications, .read-notifications{
1944 .desc, .delete-notifications, .read-notifications{
1946 display: table-cell;
1945 display: table-cell;
1947 text-align: left;
1946 text-align: left;
1948 }
1947 }
1949
1948
1950 .desc{
1951 width: 1163px;
1952 }
1953
1954 .delete-notifications, .read-notifications{
1949 .delete-notifications, .read-notifications{
1955 width: 35px;
1950 width: 35px;
1956 min-width: 35px; //fixes when only one button is displayed
1951 min-width: 35px; //fixes when only one button is displayed
1957 }
1952 }
1958 }
1953 }
1959
1954
1960 .notification-body {
1955 .notification-body {
1961 .markdown-block,
1956 .markdown-block,
1962 .rst-block {
1957 .rst-block {
1963 padding: @padding 0;
1958 padding: @padding 0;
1964 }
1959 }
1965
1960
1966 .notification-subject {
1961 .notification-subject {
1967 padding: @textmargin 0;
1962 padding: @textmargin 0;
1968 border-bottom: @border-thickness solid @border-default-color;
1963 border-bottom: @border-thickness solid @border-default-color;
1969 }
1964 }
1970 }
1965 }
1971
1966
1972
1967
1973 .notifications_buttons{
1968 .notifications_buttons{
1974 float: right;
1969 float: right;
1975 }
1970 }
1976
1971
1977 #notification-status{
1972 #notification-status{
1978 display: inline;
1973 display: inline;
1979 }
1974 }
1980
1975
1981 // Repositories
1976 // Repositories
1982
1977
1983 #summary.fields{
1978 #summary.fields{
1984 display: table;
1979 display: table;
1985
1980
1986 .field{
1981 .field{
1987 display: table-row;
1982 display: table-row;
1988
1983
1989 .label-summary{
1984 .label-summary{
1990 display: table-cell;
1985 display: table-cell;
1991 min-width: @label-summary-minwidth;
1986 min-width: @label-summary-minwidth;
1992 padding-top: @padding/2;
1987 padding-top: @padding/2;
1993 padding-bottom: @padding/2;
1988 padding-bottom: @padding/2;
1994 padding-right: @padding/2;
1989 padding-right: @padding/2;
1995 }
1990 }
1996
1991
1997 .input{
1992 .input{
1998 display: table-cell;
1993 display: table-cell;
1999 padding: @padding/2;
1994 padding: @padding/2;
2000
1995
2001 input{
1996 input{
2002 min-width: 29em;
1997 min-width: 29em;
2003 padding: @padding/4;
1998 padding: @padding/4;
2004 }
1999 }
2005 }
2000 }
2006 .statistics, .downloads{
2001 .statistics, .downloads{
2007 .disabled{
2002 .disabled{
2008 color: @grey4;
2003 color: @grey4;
2009 }
2004 }
2010 }
2005 }
2011 }
2006 }
2012 }
2007 }
2013
2008
2014 #summary{
2009 #summary{
2015 width: 70%;
2010 width: 70%;
2016 }
2011 }
2017
2012
2018
2013
2019 // Journal
2014 // Journal
2020 .journal.title {
2015 .journal.title {
2021 h5 {
2016 h5 {
2022 float: left;
2017 float: left;
2023 margin: 0;
2018 margin: 0;
2024 width: 70%;
2019 width: 70%;
2025 }
2020 }
2026
2021
2027 ul {
2022 ul {
2028 float: right;
2023 float: right;
2029 display: inline-block;
2024 display: inline-block;
2030 margin: 0;
2025 margin: 0;
2031 width: 30%;
2026 width: 30%;
2032 text-align: right;
2027 text-align: right;
2033
2028
2034 li {
2029 li {
2035 display: inline;
2030 display: inline;
2036 font-size: @journal-fontsize;
2031 font-size: @journal-fontsize;
2037 line-height: 1em;
2032 line-height: 1em;
2038
2033
2039 list-style-type: none;
2034 list-style-type: none;
2040 }
2035 }
2041 }
2036 }
2042 }
2037 }
2043
2038
2044 .filterexample {
2039 .filterexample {
2045 position: absolute;
2040 position: absolute;
2046 top: 95px;
2041 top: 95px;
2047 left: @contentpadding;
2042 left: @contentpadding;
2048 color: @rcblue;
2043 color: @rcblue;
2049 font-size: 11px;
2044 font-size: 11px;
2050 font-family: @text-regular;
2045 font-family: @text-regular;
2051 cursor: help;
2046 cursor: help;
2052
2047
2053 &:hover {
2048 &:hover {
2054 color: @rcdarkblue;
2049 color: @rcdarkblue;
2055 }
2050 }
2056
2051
2057 @media (max-width:768px) {
2052 @media (max-width:768px) {
2058 position: relative;
2053 position: relative;
2059 top: auto;
2054 top: auto;
2060 left: auto;
2055 left: auto;
2061 display: block;
2056 display: block;
2062 }
2057 }
2063 }
2058 }
2064
2059
2065
2060
2066 #journal{
2061 #journal{
2067 margin-bottom: @space;
2062 margin-bottom: @space;
2068
2063
2069 .journal_day{
2064 .journal_day{
2070 margin-bottom: @textmargin/2;
2065 margin-bottom: @textmargin/2;
2071 padding-bottom: @textmargin/2;
2066 padding-bottom: @textmargin/2;
2072 font-size: @journal-fontsize;
2067 font-size: @journal-fontsize;
2073 border-bottom: @border-thickness solid @border-default-color;
2068 border-bottom: @border-thickness solid @border-default-color;
2074 }
2069 }
2075
2070
2076 .journal_container{
2071 .journal_container{
2077 margin-bottom: @space;
2072 margin-bottom: @space;
2078
2073
2079 .journal_user{
2074 .journal_user{
2080 display: inline-block;
2075 display: inline-block;
2081 }
2076 }
2082 .journal_action_container{
2077 .journal_action_container{
2083 display: block;
2078 display: block;
2084 margin-top: @textmargin;
2079 margin-top: @textmargin;
2085
2080
2086 div{
2081 div{
2087 display: inline;
2082 display: inline;
2088 }
2083 }
2089
2084
2090 div.journal_action_params{
2085 div.journal_action_params{
2091 display: block;
2086 display: block;
2092 }
2087 }
2093
2088
2094 div.journal_repo:after{
2089 div.journal_repo:after{
2095 content: "\A";
2090 content: "\A";
2096 white-space: pre;
2091 white-space: pre;
2097 }
2092 }
2098
2093
2099 div.date{
2094 div.date{
2100 display: block;
2095 display: block;
2101 margin-bottom: @textmargin;
2096 margin-bottom: @textmargin;
2102 }
2097 }
2103 }
2098 }
2104 }
2099 }
2105 }
2100 }
2106
2101
2107 // Files
2102 // Files
2108 .edit-file-title {
2103 .edit-file-title {
2109 font-size: 16px;
2104 font-size: 16px;
2110
2105
2111 .title-heading {
2106 .title-heading {
2112 padding: 2px;
2107 padding: 2px;
2113 }
2108 }
2114 }
2109 }
2115
2110
2116 .edit-file-fieldset {
2111 .edit-file-fieldset {
2117 margin: @sidebarpadding 0;
2112 margin: @sidebarpadding 0;
2118
2113
2119 .fieldset {
2114 .fieldset {
2120 .left-label {
2115 .left-label {
2121 width: 13%;
2116 width: 13%;
2122 }
2117 }
2123 .right-content {
2118 .right-content {
2124 width: 87%;
2119 width: 87%;
2125 max-width: 100%;
2120 max-width: 100%;
2126 }
2121 }
2127 .filename-label {
2122 .filename-label {
2128 margin-top: 13px;
2123 margin-top: 13px;
2129 }
2124 }
2130 .commit-message-label {
2125 .commit-message-label {
2131 margin-top: 4px;
2126 margin-top: 4px;
2132 }
2127 }
2133 .file-upload-input {
2128 .file-upload-input {
2134 input {
2129 input {
2135 display: none;
2130 display: none;
2136 }
2131 }
2137 margin-top: 10px;
2132 margin-top: 10px;
2138 }
2133 }
2139 .file-upload-label {
2134 .file-upload-label {
2140 margin-top: 10px;
2135 margin-top: 10px;
2141 }
2136 }
2142 p {
2137 p {
2143 margin-top: 5px;
2138 margin-top: 5px;
2144 }
2139 }
2145
2140
2146 }
2141 }
2147 .custom-path-link {
2142 .custom-path-link {
2148 margin-left: 5px;
2143 margin-left: 5px;
2149 }
2144 }
2150 #commit {
2145 #commit {
2151 resize: vertical;
2146 resize: vertical;
2152 }
2147 }
2153 }
2148 }
2154
2149
2155 .delete-file-preview {
2150 .delete-file-preview {
2156 max-height: 250px;
2151 max-height: 250px;
2157 }
2152 }
2158
2153
2159 .new-file,
2154 .new-file,
2160 #filter_activate,
2155 #filter_activate,
2161 #filter_deactivate {
2156 #filter_deactivate {
2162 float: right;
2157 float: right;
2163 margin: 0 0 0 10px;
2158 margin: 0 0 0 10px;
2164 }
2159 }
2165
2160
2166 .file-upload-transaction-wrapper {
2161 .file-upload-transaction-wrapper {
2167 margin-top: 57px;
2162 margin-top: 57px;
2168 clear: both;
2163 clear: both;
2169 }
2164 }
2170
2165
2171 .file-upload-transaction-wrapper .error {
2166 .file-upload-transaction-wrapper .error {
2172 color: @color5;
2167 color: @color5;
2173 }
2168 }
2174
2169
2175 .file-upload-transaction {
2170 .file-upload-transaction {
2176 min-height: 200px;
2171 min-height: 200px;
2177 padding: 54px;
2172 padding: 54px;
2178 border: 1px solid @grey5;
2173 border: 1px solid @grey5;
2179 text-align: center;
2174 text-align: center;
2180 clear: both;
2175 clear: both;
2181 }
2176 }
2182
2177
2183 .file-upload-transaction i {
2178 .file-upload-transaction i {
2184 font-size: 48px
2179 font-size: 48px
2185 }
2180 }
2186
2181
2187 h3.files_location{
2182 h3.files_location{
2188 line-height: 2.4em;
2183 line-height: 2.4em;
2189 }
2184 }
2190
2185
2191 .browser-nav {
2186 .browser-nav {
2192 width: 100%;
2187 width: 100%;
2193 display: table;
2188 display: table;
2194 margin-bottom: 20px;
2189 margin-bottom: 20px;
2195
2190
2196 .info_box {
2191 .info_box {
2197 float: left;
2192 float: left;
2198 display: inline-table;
2193 display: inline-table;
2199 height: 2.5em;
2194 height: 2.5em;
2200
2195
2201 .browser-cur-rev, .info_box_elem {
2196 .browser-cur-rev, .info_box_elem {
2202 display: table-cell;
2197 display: table-cell;
2203 vertical-align: middle;
2198 vertical-align: middle;
2204 }
2199 }
2205
2200
2206 .drop-menu {
2201 .drop-menu {
2207 margin: 0 10px;
2202 margin: 0 10px;
2208 }
2203 }
2209
2204
2210 .info_box_elem {
2205 .info_box_elem {
2211 border-top: @border-thickness solid @grey5;
2206 border-top: @border-thickness solid @grey5;
2212 border-bottom: @border-thickness solid @grey5;
2207 border-bottom: @border-thickness solid @grey5;
2213 box-shadow: @button-shadow;
2208 box-shadow: @button-shadow;
2214
2209
2215 #at_rev, a {
2210 #at_rev, a {
2216 padding: 0.6em 0.4em;
2211 padding: 0.6em 0.4em;
2217 margin: 0;
2212 margin: 0;
2218 .box-shadow(none);
2213 .box-shadow(none);
2219 border: 0;
2214 border: 0;
2220 height: 12px;
2215 height: 12px;
2221 color: @grey2;
2216 color: @grey2;
2222 }
2217 }
2223
2218
2224 input#at_rev {
2219 input#at_rev {
2225 max-width: 50px;
2220 max-width: 50px;
2226 text-align: center;
2221 text-align: center;
2227 }
2222 }
2228
2223
2229 &.previous {
2224 &.previous {
2230 border: @border-thickness solid @grey5;
2225 border: @border-thickness solid @grey5;
2231 border-top-left-radius: @border-radius;
2226 border-top-left-radius: @border-radius;
2232 border-bottom-left-radius: @border-radius;
2227 border-bottom-left-radius: @border-radius;
2233
2228
2234 &:hover {
2229 &:hover {
2235 border-color: @grey4;
2230 border-color: @grey4;
2236 }
2231 }
2237
2232
2238 .disabled {
2233 .disabled {
2239 color: @grey5;
2234 color: @grey5;
2240 cursor: not-allowed;
2235 cursor: not-allowed;
2241 opacity: 0.5;
2236 opacity: 0.5;
2242 }
2237 }
2243 }
2238 }
2244
2239
2245 &.next {
2240 &.next {
2246 border: @border-thickness solid @grey5;
2241 border: @border-thickness solid @grey5;
2247 border-top-right-radius: @border-radius;
2242 border-top-right-radius: @border-radius;
2248 border-bottom-right-radius: @border-radius;
2243 border-bottom-right-radius: @border-radius;
2249
2244
2250 &:hover {
2245 &:hover {
2251 border-color: @grey4;
2246 border-color: @grey4;
2252 }
2247 }
2253
2248
2254 .disabled {
2249 .disabled {
2255 color: @grey5;
2250 color: @grey5;
2256 cursor: not-allowed;
2251 cursor: not-allowed;
2257 opacity: 0.5;
2252 opacity: 0.5;
2258 }
2253 }
2259 }
2254 }
2260 }
2255 }
2261
2256
2262 .browser-cur-rev {
2257 .browser-cur-rev {
2263
2258
2264 span{
2259 span{
2265 margin: 0;
2260 margin: 0;
2266 color: @rcblue;
2261 color: @rcblue;
2267 height: 12px;
2262 height: 12px;
2268 display: inline-block;
2263 display: inline-block;
2269 padding: 0.7em 1em ;
2264 padding: 0.7em 1em ;
2270 border: @border-thickness solid @rcblue;
2265 border: @border-thickness solid @rcblue;
2271 margin-right: @padding;
2266 margin-right: @padding;
2272 }
2267 }
2273 }
2268 }
2274
2269
2275 }
2270 }
2276
2271
2277 .select-index-number {
2272 .select-index-number {
2278 margin: 0 0 0 20px;
2273 margin: 0 0 0 20px;
2279 color: @grey3;
2274 color: @grey3;
2280 }
2275 }
2281
2276
2282 .search_activate {
2277 .search_activate {
2283 display: table-cell;
2278 display: table-cell;
2284 vertical-align: middle;
2279 vertical-align: middle;
2285
2280
2286 input, label{
2281 input, label{
2287 margin: 0;
2282 margin: 0;
2288 padding: 0;
2283 padding: 0;
2289 }
2284 }
2290
2285
2291 input{
2286 input{
2292 margin-left: @textmargin;
2287 margin-left: @textmargin;
2293 }
2288 }
2294
2289
2295 }
2290 }
2296 }
2291 }
2297
2292
2298 .browser-cur-rev{
2293 .browser-cur-rev{
2299 margin-bottom: @textmargin;
2294 margin-bottom: @textmargin;
2300 }
2295 }
2301
2296
2302 #node_filter_box_loading{
2297 #node_filter_box_loading{
2303 .info_text;
2298 .info_text;
2304 }
2299 }
2305
2300
2306 .browser-search {
2301 .browser-search {
2307 margin: -25px 0px 5px 0px;
2302 margin: -25px 0px 5px 0px;
2308 }
2303 }
2309
2304
2310 .files-quick-filter {
2305 .files-quick-filter {
2311 float: right;
2306 float: right;
2312 width: 180px;
2307 width: 180px;
2313 position: relative;
2308 position: relative;
2314 }
2309 }
2315
2310
2316 .files-filter-box {
2311 .files-filter-box {
2317 display: flex;
2312 display: flex;
2318 padding: 0px;
2313 padding: 0px;
2319 border-radius: 3px;
2314 border-radius: 3px;
2320 margin-bottom: 0;
2315 margin-bottom: 0;
2321
2316
2322 a {
2317 a {
2323 border: none !important;
2318 border: none !important;
2324 }
2319 }
2325
2320
2326 li {
2321 li {
2327 list-style-type: none
2322 list-style-type: none
2328 }
2323 }
2329 }
2324 }
2330
2325
2331 .files-filter-box-path {
2326 .files-filter-box-path {
2332 line-height: 33px;
2327 line-height: 33px;
2333 padding: 0;
2328 padding: 0;
2334 width: 20px;
2329 width: 20px;
2335 position: absolute;
2330 position: absolute;
2336 z-index: 11;
2331 z-index: 11;
2337 left: 5px;
2332 left: 5px;
2338 }
2333 }
2339
2334
2340 .files-filter-box-input {
2335 .files-filter-box-input {
2341 margin-right: 0;
2336 margin-right: 0;
2342
2337
2343 input {
2338 input {
2344 border: 1px solid @white;
2339 border: 1px solid @white;
2345 padding-left: 25px;
2340 padding-left: 25px;
2346 width: 145px;
2341 width: 145px;
2347
2342
2348 &:hover {
2343 &:hover {
2349 border-color: @grey6;
2344 border-color: @grey6;
2350 }
2345 }
2351
2346
2352 &:focus {
2347 &:focus {
2353 border-color: @grey5;
2348 border-color: @grey5;
2354 }
2349 }
2355 }
2350 }
2356 }
2351 }
2357
2352
2358 .browser-result{
2353 .browser-result{
2359 td a{
2354 td a{
2360 margin-left: 0.5em;
2355 margin-left: 0.5em;
2361 display: inline-block;
2356 display: inline-block;
2362
2357
2363 em {
2358 em {
2364 font-weight: @text-bold-weight;
2359 font-weight: @text-bold-weight;
2365 font-family: @text-bold;
2360 font-family: @text-bold;
2366 }
2361 }
2367 }
2362 }
2368 }
2363 }
2369
2364
2370 .browser-highlight{
2365 .browser-highlight{
2371 background-color: @grey5-alpha;
2366 background-color: @grey5-alpha;
2372 }
2367 }
2373
2368
2374
2369
2375 .edit-file-fieldset #location,
2370 .edit-file-fieldset #location,
2376 .edit-file-fieldset #filename {
2371 .edit-file-fieldset #filename {
2377 display: flex;
2372 display: flex;
2378 width: -moz-available; /* WebKit-based browsers will ignore this. */
2373 width: -moz-available; /* WebKit-based browsers will ignore this. */
2379 width: -webkit-fill-available; /* Mozilla-based browsers will ignore this. */
2374 width: -webkit-fill-available; /* Mozilla-based browsers will ignore this. */
2380 width: fill-available;
2375 width: fill-available;
2381 border: 0;
2376 border: 0;
2382 }
2377 }
2383
2378
2384 .path-items {
2379 .path-items {
2385 display: flex;
2380 display: flex;
2386 padding: 0;
2381 padding: 0;
2387 border: 1px solid #eeeeee;
2382 border: 1px solid #eeeeee;
2388 width: 100%;
2383 width: 100%;
2389 float: left;
2384 float: left;
2390
2385
2391 .breadcrumb-path {
2386 .breadcrumb-path {
2392 line-height: 30px;
2387 line-height: 30px;
2393 padding: 0 4px;
2388 padding: 0 4px;
2394 white-space: nowrap;
2389 white-space: nowrap;
2395 }
2390 }
2396
2391
2397 .location-path {
2392 .location-path {
2398 width: -moz-available; /* WebKit-based browsers will ignore this. */
2393 width: -moz-available; /* WebKit-based browsers will ignore this. */
2399 width: -webkit-fill-available; /* Mozilla-based browsers will ignore this. */
2394 width: -webkit-fill-available; /* Mozilla-based browsers will ignore this. */
2400 width: fill-available;
2395 width: fill-available;
2401
2396
2402 .file-name-input {
2397 .file-name-input {
2403 padding: 0.5em 0;
2398 padding: 0.5em 0;
2404 }
2399 }
2405
2400
2406 }
2401 }
2407
2402
2408 ul {
2403 ul {
2409 display: flex;
2404 display: flex;
2410 margin: 0;
2405 margin: 0;
2411 padding: 0;
2406 padding: 0;
2412 width: 100%;
2407 width: 100%;
2413 }
2408 }
2414
2409
2415 li {
2410 li {
2416 list-style-type: none;
2411 list-style-type: none;
2417 }
2412 }
2418
2413
2419 }
2414 }
2420
2415
2421 .editor-items {
2416 .editor-items {
2422 height: 40px;
2417 height: 40px;
2423 margin: 10px 0 -17px 10px;
2418 margin: 10px 0 -17px 10px;
2424
2419
2425 .editor-action {
2420 .editor-action {
2426 cursor: pointer;
2421 cursor: pointer;
2427 }
2422 }
2428
2423
2429 .editor-action.active {
2424 .editor-action.active {
2430 border-bottom: 2px solid #5C5C5C;
2425 border-bottom: 2px solid #5C5C5C;
2431 }
2426 }
2432
2427
2433 li {
2428 li {
2434 list-style-type: none;
2429 list-style-type: none;
2435 }
2430 }
2436 }
2431 }
2437
2432
2438 .edit-file-fieldset .message textarea {
2433 .edit-file-fieldset .message textarea {
2439 border: 1px solid #eeeeee;
2434 border: 1px solid #eeeeee;
2440 }
2435 }
2441
2436
2442 #files_data .codeblock {
2437 #files_data .codeblock {
2443 background-color: #F5F5F5;
2438 background-color: #F5F5F5;
2444 }
2439 }
2445
2440
2446 #editor_preview {
2441 #editor_preview {
2447 background: white;
2442 background: white;
2448 }
2443 }
2449
2444
2450 .show-editor {
2445 .show-editor {
2451 padding: 10px;
2446 padding: 10px;
2452 background-color: white;
2447 background-color: white;
2453
2448
2454 }
2449 }
2455
2450
2456 .show-preview {
2451 .show-preview {
2457 padding: 10px;
2452 padding: 10px;
2458 background-color: white;
2453 background-color: white;
2459 border-left: 1px solid #eeeeee;
2454 border-left: 1px solid #eeeeee;
2460 }
2455 }
2461 // quick filter
2456 // quick filter
2462 .grid-quick-filter {
2457 .grid-quick-filter {
2463 float: right;
2458 float: right;
2464 position: relative;
2459 position: relative;
2465 }
2460 }
2466
2461
2467 .grid-filter-box {
2462 .grid-filter-box {
2468 display: flex;
2463 display: flex;
2469 padding: 0px;
2464 padding: 0px;
2470 border-radius: 3px;
2465 border-radius: 3px;
2471 margin-bottom: 0;
2466 margin-bottom: 0;
2472
2467
2473 a {
2468 a {
2474 border: none !important;
2469 border: none !important;
2475 }
2470 }
2476
2471
2477 li {
2472 li {
2478 list-style-type: none
2473 list-style-type: none
2479 }
2474 }
2480 }
2475 }
2481
2476
2482 .grid-filter-box-icon {
2477 .grid-filter-box-icon {
2483 line-height: 33px;
2478 line-height: 33px;
2484 padding: 0;
2479 padding: 0;
2485 width: 20px;
2480 width: 20px;
2486 position: absolute;
2481 position: absolute;
2487 z-index: 11;
2482 z-index: 11;
2488 left: 5px;
2483 left: 5px;
2489 }
2484 }
2490
2485
2491 .grid-filter-box-input {
2486 .grid-filter-box-input {
2492 margin-right: 0;
2487 margin-right: 0;
2493
2488
2494 input {
2489 input {
2495 border: 1px solid @white;
2490 border: 1px solid @white;
2496 padding-left: 25px;
2491 padding-left: 25px;
2497 width: 145px;
2492 width: 145px;
2498
2493
2499 &:hover {
2494 &:hover {
2500 border-color: @grey6;
2495 border-color: @grey6;
2501 }
2496 }
2502
2497
2503 &:focus {
2498 &:focus {
2504 border-color: @grey5;
2499 border-color: @grey5;
2505 }
2500 }
2506 }
2501 }
2507 }
2502 }
2508
2503
2509
2504
2510
2505
2511 // Search
2506 // Search
2512
2507
2513 .search-form{
2508 .search-form{
2514 #q {
2509 #q {
2515 width: @search-form-width;
2510 width: @search-form-width;
2516 }
2511 }
2517 .fields{
2512 .fields{
2518 margin: 0 0 @space;
2513 margin: 0 0 @space;
2519 }
2514 }
2520
2515
2521 label{
2516 label{
2522 display: inline-block;
2517 display: inline-block;
2523 margin-right: @textmargin;
2518 margin-right: @textmargin;
2524 padding-top: 0.25em;
2519 padding-top: 0.25em;
2525 }
2520 }
2526
2521
2527
2522
2528 .results{
2523 .results{
2529 clear: both;
2524 clear: both;
2530 margin: 0 0 @padding;
2525 margin: 0 0 @padding;
2531 }
2526 }
2532
2527
2533 .search-tags {
2528 .search-tags {
2534 padding: 5px 0;
2529 padding: 5px 0;
2535 }
2530 }
2536 }
2531 }
2537
2532
2538 div.search-feedback-items {
2533 div.search-feedback-items {
2539 display: inline-block;
2534 display: inline-block;
2540 }
2535 }
2541
2536
2542 div.search-code-body {
2537 div.search-code-body {
2543 background-color: #ffffff; padding: 5px 0 5px 10px;
2538 background-color: #ffffff; padding: 5px 0 5px 10px;
2544 pre {
2539 pre {
2545 .match { background-color: #faffa6;}
2540 .match { background-color: #faffa6;}
2546 .break { display: block; width: 100%; background-color: #DDE7EF; color: #747474; }
2541 .break { display: block; width: 100%; background-color: #DDE7EF; color: #747474; }
2547 }
2542 }
2548 }
2543 }
2549
2544
2550 .expand_commit.search {
2545 .expand_commit.search {
2551 .show_more.open {
2546 .show_more.open {
2552 height: auto;
2547 height: auto;
2553 max-height: none;
2548 max-height: none;
2554 }
2549 }
2555 }
2550 }
2556
2551
2557 .search-results {
2552 .search-results {
2558
2553
2559 h2 {
2554 h2 {
2560 margin-bottom: 0;
2555 margin-bottom: 0;
2561 }
2556 }
2562 .codeblock {
2557 .codeblock {
2563 border: none;
2558 border: none;
2564 background: transparent;
2559 background: transparent;
2565 }
2560 }
2566
2561
2567 .codeblock-header {
2562 .codeblock-header {
2568 border: none;
2563 border: none;
2569 background: transparent;
2564 background: transparent;
2570 }
2565 }
2571
2566
2572 .code-body {
2567 .code-body {
2573 border: @border-thickness solid @grey6;
2568 border: @border-thickness solid @grey6;
2574 .border-radius(@border-radius);
2569 .border-radius(@border-radius);
2575 }
2570 }
2576
2571
2577 .td-commit {
2572 .td-commit {
2578 &:extend(pre);
2573 &:extend(pre);
2579 border-bottom: @border-thickness solid @border-default-color;
2574 border-bottom: @border-thickness solid @border-default-color;
2580 }
2575 }
2581
2576
2582 .message {
2577 .message {
2583 height: auto;
2578 height: auto;
2584 max-width: 350px;
2579 max-width: 350px;
2585 white-space: normal;
2580 white-space: normal;
2586 text-overflow: initial;
2581 text-overflow: initial;
2587 overflow: visible;
2582 overflow: visible;
2588
2583
2589 .match { background-color: #faffa6;}
2584 .match { background-color: #faffa6;}
2590 .break { background-color: #DDE7EF; width: 100%; color: #747474; display: block; }
2585 .break { background-color: #DDE7EF; width: 100%; color: #747474; display: block; }
2591 }
2586 }
2592
2587
2593 .path {
2588 .path {
2594 border-bottom: none !important;
2589 border-bottom: none !important;
2595 border-left: 1px solid @grey6 !important;
2590 border-left: 1px solid @grey6 !important;
2596 border-right: 1px solid @grey6 !important;
2591 border-right: 1px solid @grey6 !important;
2597 }
2592 }
2598 }
2593 }
2599
2594
2600 table.rctable td.td-search-results div {
2595 table.rctable td.td-search-results div {
2601 max-width: 100%;
2596 max-width: 100%;
2602 }
2597 }
2603
2598
2604 #tip-box, .tip-box{
2599 #tip-box, .tip-box{
2605 padding: @menupadding/2;
2600 padding: @menupadding/2;
2606 display: block;
2601 display: block;
2607 border: @border-thickness solid @border-highlight-color;
2602 border: @border-thickness solid @border-highlight-color;
2608 .border-radius(@border-radius);
2603 .border-radius(@border-radius);
2609 background-color: white;
2604 background-color: white;
2610 z-index: 99;
2605 z-index: 99;
2611 white-space: pre-wrap;
2606 white-space: pre-wrap;
2612 }
2607 }
2613
2608
2614 #linktt {
2609 #linktt {
2615 width: 79px;
2610 width: 79px;
2616 }
2611 }
2617
2612
2618 #help_kb .modal-content{
2613 #help_kb .modal-content{
2619 max-width: 750px;
2614 max-width: 750px;
2620 margin: 10% auto;
2615 margin: 10% auto;
2621
2616
2622 table{
2617 table{
2623 td,th{
2618 td,th{
2624 border-bottom: none;
2619 border-bottom: none;
2625 line-height: 2.5em;
2620 line-height: 2.5em;
2626 }
2621 }
2627 th{
2622 th{
2628 padding-bottom: @textmargin/2;
2623 padding-bottom: @textmargin/2;
2629 }
2624 }
2630 td.keys{
2625 td.keys{
2631 text-align: center;
2626 text-align: center;
2632 }
2627 }
2633 }
2628 }
2634
2629
2635 .block-left{
2630 .block-left{
2636 width: 45%;
2631 width: 45%;
2637 margin-right: 5%;
2632 margin-right: 5%;
2638 }
2633 }
2639 .modal-footer{
2634 .modal-footer{
2640 clear: both;
2635 clear: both;
2641 }
2636 }
2642 .key.tag{
2637 .key.tag{
2643 padding: 0.5em;
2638 padding: 0.5em;
2644 background-color: @rcblue;
2639 background-color: @rcblue;
2645 color: white;
2640 color: white;
2646 border-color: @rcblue;
2641 border-color: @rcblue;
2647 .box-shadow(none);
2642 .box-shadow(none);
2648 }
2643 }
2649 }
2644 }
2650
2645
2651
2646
2652
2647
2653 //--- IMPORTS FOR REFACTORED STYLES ------------------//
2648 //--- IMPORTS FOR REFACTORED STYLES ------------------//
2654
2649
2655 @import 'statistics-graph';
2650 @import 'statistics-graph';
2656 @import 'tables';
2651 @import 'tables';
2657 @import 'forms';
2652 @import 'forms';
2658 @import 'diff';
2653 @import 'diff';
2659 @import 'summary';
2654 @import 'summary';
2660 @import 'navigation';
2655 @import 'navigation';
2661
2656
2662 //--- SHOW/HIDE SECTIONS --//
2657 //--- SHOW/HIDE SECTIONS --//
2663
2658
2664 .btn-collapse {
2659 .btn-collapse {
2665 float: right;
2660 float: right;
2666 text-align: right;
2661 text-align: right;
2667 font-family: @text-light;
2662 font-family: @text-light;
2668 font-size: @basefontsize;
2663 font-size: @basefontsize;
2669 cursor: pointer;
2664 cursor: pointer;
2670 border: none;
2665 border: none;
2671 color: @rcblue;
2666 color: @rcblue;
2672 }
2667 }
2673
2668
2674 table.rctable,
2669 table.rctable,
2675 table.dataTable {
2670 table.dataTable {
2676 .btn-collapse {
2671 .btn-collapse {
2677 float: right;
2672 float: right;
2678 text-align: right;
2673 text-align: right;
2679 }
2674 }
2680 }
2675 }
2681
2676
2682 table.rctable {
2677 table.rctable {
2683 &.permissions {
2678 &.permissions {
2684
2679
2685 th.td-owner {
2680 th.td-owner {
2686 padding: 0;
2681 padding: 0;
2687 }
2682 }
2688
2683
2689 th {
2684 th {
2690 font-weight: normal;
2685 font-weight: normal;
2691 padding: 0 5px;
2686 padding: 0 5px;
2692 }
2687 }
2693
2688
2694 }
2689 }
2695 }
2690 }
2696
2691
2697
2692
2698 // TODO: johbo: Fix for IE10, this avoids that we see a border
2693 // TODO: johbo: Fix for IE10, this avoids that we see a border
2699 // and padding around checkboxes and radio boxes. Move to the right place,
2694 // and padding around checkboxes and radio boxes. Move to the right place,
2700 // or better: Remove this once we did the form refactoring.
2695 // or better: Remove this once we did the form refactoring.
2701 input[type=checkbox],
2696 input[type=checkbox],
2702 input[type=radio] {
2697 input[type=radio] {
2703 padding: 0;
2698 padding: 0;
2704 border: none;
2699 border: none;
2705 }
2700 }
2706
2701
2707 .toggle-ajax-spinner{
2702 .toggle-ajax-spinner{
2708 height: 16px;
2703 height: 16px;
2709 width: 16px;
2704 width: 16px;
2710 }
2705 }
2711
2706
2712
2707
2713 .markup-form .clearfix {
2708 .markup-form .clearfix {
2714 .border-radius(@border-radius);
2709 .border-radius(@border-radius);
2715 margin: 0px;
2710 margin: 0px;
2716 }
2711 }
2717
2712
2718 .markup-form-area {
2713 .markup-form-area {
2719 padding: 8px 12px;
2714 padding: 8px 12px;
2720 border: 1px solid @grey4;
2715 border: 1px solid @grey4;
2721 .border-radius(@border-radius);
2716 .border-radius(@border-radius);
2722 }
2717 }
2723
2718
2724 .markup-form-area-header .nav-links {
2719 .markup-form-area-header .nav-links {
2725 display: flex;
2720 display: flex;
2726 flex-flow: row wrap;
2721 flex-flow: row wrap;
2727 -webkit-flex-flow: row wrap;
2722 -webkit-flex-flow: row wrap;
2728 width: 100%;
2723 width: 100%;
2729 }
2724 }
2730
2725
2731 .markup-form-area-footer {
2726 .markup-form-area-footer {
2732 display: flex;
2727 display: flex;
2733 }
2728 }
2734
2729
2735 .markup-form-area-footer .toolbar {
2730 .markup-form-area-footer .toolbar {
2736
2731
2737 }
2732 }
2738
2733
2739 // markup Form
2734 // markup Form
2740 div.markup-form {
2735 div.markup-form {
2741 margin-top: 20px;
2736 margin-top: 20px;
2742 }
2737 }
2743
2738
2744 .markup-form strong {
2739 .markup-form strong {
2745 display: block;
2740 display: block;
2746 margin-bottom: 15px;
2741 margin-bottom: 15px;
2747 }
2742 }
2748
2743
2749 .markup-form textarea {
2744 .markup-form textarea {
2750 width: 100%;
2745 width: 100%;
2751 height: 100px;
2746 height: 100px;
2752 font-family: @text-monospace;
2747 font-family: @text-monospace;
2753 }
2748 }
2754
2749
2755 form.markup-form {
2750 form.markup-form {
2756 margin-top: 10px;
2751 margin-top: 10px;
2757 margin-left: 10px;
2752 margin-left: 10px;
2758 }
2753 }
2759
2754
2760 .markup-form .comment-block-ta,
2755 .markup-form .comment-block-ta,
2761 .markup-form .preview-box {
2756 .markup-form .preview-box {
2762 .border-radius(@border-radius);
2757 .border-radius(@border-radius);
2763 .box-sizing(border-box);
2758 .box-sizing(border-box);
2764 background-color: white;
2759 background-color: white;
2765 }
2760 }
2766
2761
2767 .markup-form .preview-box.unloaded {
2762 .markup-form .preview-box.unloaded {
2768 height: 50px;
2763 height: 50px;
2769 text-align: center;
2764 text-align: center;
2770 padding: 20px;
2765 padding: 20px;
2771 background-color: white;
2766 background-color: white;
2772 }
2767 }
2773
2768
2774
2769
2775 .dropzone-wrapper {
2770 .dropzone-wrapper {
2776 border: 1px solid @grey5;
2771 border: 1px solid @grey5;
2777 padding: 20px;
2772 padding: 20px;
2778 }
2773 }
2779
2774
2780 .dropzone,
2775 .dropzone,
2781 .dropzone-pure {
2776 .dropzone-pure {
2782 border: 2px dashed @grey5;
2777 border: 2px dashed @grey5;
2783 border-radius: 5px;
2778 border-radius: 5px;
2784 background: white;
2779 background: white;
2785 min-height: 200px;
2780 min-height: 200px;
2786 padding: 54px;
2781 padding: 54px;
2787
2782
2788 .dz-message {
2783 .dz-message {
2789 font-weight: 700;
2784 font-weight: 700;
2790 text-align: center;
2785 text-align: center;
2791 margin: 2em 0;
2786 margin: 2em 0;
2792 }
2787 }
2793
2788
2794 }
2789 }
2795
2790
2796 .dz-preview {
2791 .dz-preview {
2797 margin: 10px 0 !important;
2792 margin: 10px 0 !important;
2798 position: relative;
2793 position: relative;
2799 vertical-align: top;
2794 vertical-align: top;
2800 padding: 10px;
2795 padding: 10px;
2801 border-bottom: 1px solid @grey5;
2796 border-bottom: 1px solid @grey5;
2802 }
2797 }
2803
2798
2804 .dz-filename {
2799 .dz-filename {
2805 font-weight: 700;
2800 font-weight: 700;
2806 float: left;
2801 float: left;
2807 }
2802 }
2808
2803
2809 .dz-sending {
2804 .dz-sending {
2810 float: right;
2805 float: right;
2811 }
2806 }
2812
2807
2813 .dz-response {
2808 .dz-response {
2814 clear: both
2809 clear: both
2815 }
2810 }
2816
2811
2817 .dz-filename-size {
2812 .dz-filename-size {
2818 float: right
2813 float: right
2819 }
2814 }
2820
2815
2821 .dz-error-message {
2816 .dz-error-message {
2822 color: @alert2;
2817 color: @alert2;
2823 padding-top: 10px;
2818 padding-top: 10px;
2824 clear: both;
2819 clear: both;
2825 }
2820 }
2826
2821
2827
2822
2828 .user-hovercard {
2823 .user-hovercard {
2829 padding: 5px;
2824 padding: 5px;
2830 }
2825 }
2831
2826
2832 .user-hovercard-icon {
2827 .user-hovercard-icon {
2833 display: inline;
2828 display: inline;
2834 padding: 0;
2829 padding: 0;
2835 box-sizing: content-box;
2830 box-sizing: content-box;
2836 border-radius: 50%;
2831 border-radius: 50%;
2837 float: left;
2832 float: left;
2838 }
2833 }
2839
2834
2840 .user-hovercard-name {
2835 .user-hovercard-name {
2841 float: right;
2836 float: right;
2842 vertical-align: top;
2837 vertical-align: top;
2843 padding-left: 10px;
2838 padding-left: 10px;
2844 min-width: 150px;
2839 min-width: 150px;
2845 }
2840 }
2846
2841
2847 .user-hovercard-bio {
2842 .user-hovercard-bio {
2848 clear: both;
2843 clear: both;
2849 padding-top: 10px;
2844 padding-top: 10px;
2850 }
2845 }
2851
2846
2852 .user-hovercard-header {
2847 .user-hovercard-header {
2853 clear: both;
2848 clear: both;
2854 min-height: 10px;
2849 min-height: 10px;
2855 }
2850 }
2856
2851
2857 .user-hovercard-footer {
2852 .user-hovercard-footer {
2858 clear: both;
2853 clear: both;
2859 min-height: 10px;
2854 min-height: 10px;
2860 }
2855 }
2861
2856
2862 .user-group-hovercard {
2857 .user-group-hovercard {
2863 padding: 5px;
2858 padding: 5px;
2864 }
2859 }
2865
2860
2866 .user-group-hovercard-icon {
2861 .user-group-hovercard-icon {
2867 display: inline;
2862 display: inline;
2868 padding: 0;
2863 padding: 0;
2869 box-sizing: content-box;
2864 box-sizing: content-box;
2870 border-radius: 50%;
2865 border-radius: 50%;
2871 float: left;
2866 float: left;
2872 }
2867 }
2873
2868
2874 .user-group-hovercard-name {
2869 .user-group-hovercard-name {
2875 float: left;
2870 float: left;
2876 vertical-align: top;
2871 vertical-align: top;
2877 padding-left: 10px;
2872 padding-left: 10px;
2878 min-width: 150px;
2873 min-width: 150px;
2879 }
2874 }
2880
2875
2881 .user-group-hovercard-icon i {
2876 .user-group-hovercard-icon i {
2882 border: 1px solid @grey4;
2877 border: 1px solid @grey4;
2883 border-radius: 4px;
2878 border-radius: 4px;
2884 }
2879 }
2885
2880
2886 .user-group-hovercard-bio {
2881 .user-group-hovercard-bio {
2887 clear: both;
2882 clear: both;
2888 padding-top: 10px;
2883 padding-top: 10px;
2889 line-height: 1.0em;
2884 line-height: 1.0em;
2890 }
2885 }
2891
2886
2892 .user-group-hovercard-header {
2887 .user-group-hovercard-header {
2893 clear: both;
2888 clear: both;
2894 min-height: 10px;
2889 min-height: 10px;
2895 }
2890 }
2896
2891
2897 .user-group-hovercard-footer {
2892 .user-group-hovercard-footer {
2898 clear: both;
2893 clear: both;
2899 min-height: 10px;
2894 min-height: 10px;
2900 }
2895 }
2901
2896
2902 .pr-hovercard-header {
2897 .pr-hovercard-header {
2903 clear: both;
2898 clear: both;
2904 display: block;
2899 display: block;
2905 line-height: 20px;
2900 line-height: 20px;
2906 }
2901 }
2907
2902
2908 .pr-hovercard-user {
2903 .pr-hovercard-user {
2909 display: flex;
2904 display: flex;
2910 align-items: center;
2905 align-items: center;
2911 padding-left: 5px;
2906 padding-left: 5px;
2912 }
2907 }
2913
2908
2914 .pr-hovercard-title {
2909 .pr-hovercard-title {
2915 padding-top: 5px;
2910 padding-top: 5px;
2916 } No newline at end of file
2911 }
@@ -1,46 +1,46 b''
1 <%namespace name="base" file="/base/base.mako"/>
1 <%namespace name="base" file="/base/base.mako"/>
2
2
3 <div class="panel panel-default">
3 <div class="panel panel-default">
4 <div class="panel-heading">
4 <div class="panel-heading">
5 <h3 class="panel-title">${_('My notifications')}</h3>
5 <h3 class="panel-title">${_('My notifications')}</h3>
6 </div>
6 </div>
7
7
8 <div class="panel-body">
8 <div class="panel-body">
9 %if c.notifications:
9 %if c.notifications:
10
10
11 <div class="notification-list notification-table">
11 <div class="notification-list notification-table">
12 %for notification in c.notifications:
12 %for notification in c.notifications:
13 <div id="notification_${notification.notification.notification_id}" class="container ${'unread' if not notification.read else '' }">
13 <div id="notification_${notification.notification.notification_id}" class="container ${'unread' if not notification.read else '' }">
14 <div class="notification-header">
14 <div class="notification-header">
15 <div class="desc ${'unread' if not notification.read else '' }">
15 <div class="desc ${'unread' if not notification.read else '' }">
16 ${base.gravatar(notification.notification.created_by_user.email, 16)}
16 <a href="${h.route_path('notifications_show', notification_id=notification.notification.notification_id)}">
17 <a href="${h.route_path('notifications_show', notification_id=notification.notification.notification_id)}">
17 ${base.gravatar(notification.notification.created_by_user.email, 16)}
18 ${h.notification_description(notification.notification, request)}
18 ${h.notification_description(notification.notification, request)}
19 </a>
19 </a>
20 </div>
20 </div>
21 <div class="delete-notifications">
21 <div class="delete-notifications">
22 <span onclick="deleteNotification(${notification.notification.notification_id})" class="delete-notification tooltip" title="${_('Delete')}"><i class="icon-delete"></i></span>
22 <span onclick="deleteNotification(${notification.notification.notification_id})" class="delete-notification tooltip" title="${_('Delete')}"><i class="icon-delete"></i></span>
23 </div>
23 </div>
24 <div class="read-notifications">
24 <div class="read-notifications">
25 %if not notification.read:
25 %if not notification.read:
26 <span onclick="readNotification(${notification.notification.notification_id})" class="read-notification tooltip" title="${_('Mark as read')}"><i class="icon-ok"></i></span>
26 <span onclick="readNotification(${notification.notification.notification_id})" class="read-notification tooltip" title="${_('Mark as read')}"><i class="icon-ok"></i></span>
27 %endif
27 %endif
28 </div>
28 </div>
29 </div>
29 </div>
30 <div class="notification-subject"></div>
30 <div class="notification-subject"></div>
31 </div>
31 </div>
32 %endfor
32 %endfor
33 </div>
33 </div>
34
34
35 <div class="notification-paginator">
35 <div class="notification-paginator">
36 <div class="pagination-wh pagination-left">
36 <div class="pagination-wh pagination-left">
37 ${c.notifications.pager('$link_previous ~2~ $link_next')}
37 ${c.notifications.pager('$link_previous ~2~ $link_next')}
38 </div>
38 </div>
39 </div>
39 </div>
40
40
41 %else:
41 %else:
42 <div class="table">${_('No notifications here yet')}</div>
42 <div class="table">${_('No notifications here yet')}</div>
43 %endif
43 %endif
44
44
45 </div>
45 </div>
46 </div>
46 </div>
@@ -1,50 +1,52 b''
1 ## -*- coding: utf-8 -*-
1 ## -*- coding: utf-8 -*-
2 <%inherit file="/base/base.mako"/>
2 <%inherit file="/base/base.mako"/>
3
3
4 <%def name="title()">
4 <%def name="title()">
5 ${_('Show notification')} ${c.rhodecode_user.username}
5 ${_('Show notification')} ${c.rhodecode_user.username}
6 %if c.rhodecode_name:
6 %if c.rhodecode_name:
7 &middot; ${h.branding(c.rhodecode_name)}
7 &middot; ${h.branding(c.rhodecode_name)}
8 %endif
8 %endif
9 </%def>
9 </%def>
10
10
11 <%def name="breadcrumbs_links()">
11 <%def name="breadcrumbs_links()">
12 ${h.link_to(_('My Notifications'), h.route_path('notifications_show_all'))}
12 ${h.link_to(_('My Notifications'), h.route_path('notifications_show_all'))}
13 &raquo;
13 &raquo;
14 ${_('Show notification')}
14 ${_('Show notification')}
15 </%def>
15 </%def>
16
16
17 <%def name="menu_bar_nav()">
17 <%def name="menu_bar_nav()">
18 ${self.menu_items(active='admin')}
18 ${self.menu_items(active='admin')}
19 </%def>
19 </%def>
20
20
21 <%def name="main()">
21 <%def name="main()">
22 <div class="box">
22 <div class="box">
23 <!-- box / title -->
23 <!-- box / title -->
24 <div class="title">
24 <div class="title">
25 ${self.breadcrumbs()}
25 ${self.breadcrumbs()}
26 </div>
26 </div>
27 <div class="table">
27 <div class="table">
28 <div id="notification_${c.notification.notification_id}" class="main-content-full">
28 <div id="notification_${c.notification.notification_id}" class="main-content-full">
29 <div class="notification-header">
29 <div class="notification-header">
30 <div class="pull-left">
30 ${self.gravatar(c.notification.created_by_user.email, 30)}
31 ${self.gravatar(c.notification.created_by_user.email, 30)}
31 <div class="desc">
32 </div>
33 <div class="desc pull-left">
32 ${h.notification_description(c.notification, request)}
34 ${h.notification_description(c.notification, request)}
33 </div>
35 </div>
34 <div class="delete-notifications">
36 <div class="delete-notifications">
35 <span class="delete-notification tooltip" title="${_('Delete')}" onclick="deleteNotification(${c.notification.notification_id}, [function(){window.location=pyroutes.url('notifications_show_all')}])" class="delete-notification action"><i class="icon-delete" ></i></span>
37 <span class="delete-notification tooltip" title="${_('Delete')}" onclick="deleteNotification(${c.notification.notification_id}, [function(){window.location=pyroutes.url('notifications_show_all')}])" class="delete-notification action"><i class="icon-delete" ></i></span>
36 </div>
38 </div>
37 </div>
39 </div>
38 <div class="notification-body">
40 <div class="notification-body">
39 <div class="notification-subject">
41 <div class="notification-subject">
40 <h3>${_('Subject')}: ${c.notification.subject}</h3>
42 <h3>${_('Subject')}: ${c.notification.subject}</h3>
41 </div>
43 </div>
42 %if c.notification.body:
44 %if c.notification.body:
43 ${h.render(c.notification.body, renderer=c.visual.default_renderer, mentions=True)}
45 ${h.render(c.notification.body, renderer=c.visual.default_renderer, mentions=True)}
44 %endif
46 %endif
45 </div>
47 </div>
46 </div>
48 </div>
47 </div>
49 </div>
48 </div>
50 </div>
49
51
50 </%def>
52 </%def>
@@ -1,170 +1,170 b''
1 ## -*- coding: utf-8 -*-
1 ## -*- coding: utf-8 -*-
2 <%inherit file="base.mako"/>
2 <%inherit file="base.mako"/>
3 <%namespace name="base" file="base.mako"/>
3 <%namespace name="base" file="base.mako"/>
4
4
5 ## EMAIL SUBJECT
5 ## EMAIL SUBJECT
6 <%def name="subject()" filter="n,trim,whitespace_filter">
6 <%def name="subject()" filter="n,trim,whitespace_filter">
7 <%
7 <%
8 data = {
8 data = {
9 'user': '@'+h.person(user),
9 'user': '@'+h.person(user),
10 'repo_name': repo_name,
10 'repo_name': repo_name,
11 'status': status_change,
11 'status': status_change,
12 'comment_file': comment_file,
12 'comment_file': comment_file,
13 'comment_line': comment_line,
13 'comment_line': comment_line,
14 'comment_type': comment_type,
14 'comment_type': comment_type,
15 'comment_id': comment_id,
15 'comment_id': comment_id,
16
16
17 'commit_id': h.show_id(commit),
17 'commit_id': h.show_id(commit),
18 }
18 }
19 %>
19 %>
20
20
21
21
22 % if comment_file:
22 % if comment_file:
23 ${(_('[mention]') if mention else '')} ${_('{user} left a {comment_type} on file `{comment_file}` in commit `{commit_id}`').format(**data)} ${_('in the `{repo_name}` repository').format(**data) |n}
23 ${(_('[mention]') if mention else '')} ${_('{user} left a {comment_type} on file `{comment_file}` in commit `{commit_id}`').format(**data)} ${_('in the `{repo_name}` repository').format(**data) |n}
24 % else:
24 % else:
25 % if status_change:
25 % if status_change:
26 ${(_('[mention]') if mention else '')} ${_('[status: {status}] {user} left a {comment_type} on commit `{commit_id}`').format(**data) |n} ${_('in the `{repo_name}` repository').format(**data) |n}
26 ${(_('[mention]') if mention else '')} ${_('[status: {status}] {user} left a {comment_type} on commit `{commit_id}`').format(**data) |n} ${_('in the `{repo_name}` repository').format(**data) |n}
27 % else:
27 % else:
28 ${(_('[mention]') if mention else '')} ${_('{user} left a {comment_type} on commit `{commit_id}`').format(**data) |n} ${_('in the `{repo_name}` repository').format(**data) |n}
28 ${(_('[mention]') if mention else '')} ${_('{user} left a {comment_type} on commit `{commit_id}`').format(**data) |n} ${_('in the `{repo_name}` repository').format(**data) |n}
29 % endif
29 % endif
30 % endif
30 % endif
31
31
32 </%def>
32 </%def>
33
33
34 ## PLAINTEXT VERSION OF BODY
34 ## PLAINTEXT VERSION OF BODY
35 <%def name="body_plaintext()" filter="n,trim">
35 <%def name="body_plaintext()" filter="n,trim">
36 <%
36 <%
37 data = {
37 data = {
38 'user': h.person(user),
38 'user': h.person(user),
39 'repo_name': repo_name,
39 'repo_name': repo_name,
40 'status': status_change,
40 'status': status_change,
41 'comment_file': comment_file,
41 'comment_file': comment_file,
42 'comment_line': comment_line,
42 'comment_line': comment_line,
43 'comment_type': comment_type,
43 'comment_type': comment_type,
44 'comment_id': comment_id,
44 'comment_id': comment_id,
45
45
46 'commit_id': h.show_id(commit),
46 'commit_id': h.show_id(commit),
47 }
47 }
48 %>
48 %>
49
49
50 * ${('Inline' if comment_file else 'General')} ${_('Comment link')}: ${commit_comment_url}
50 * ${_('Comment link')}: ${commit_comment_url}
51
51
52 %if status_change:
52 %if status_change:
53 * ${_('Commit status')}: ${_('Status was changed to')}: *${status_change}*
53 * ${_('Commit status')}: ${_('Status was changed to')}: *${status_change}*
54
54
55 %endif
55 %endif
56 * ${_('Commit')}: ${h.show_id(commit)}
56 * ${_('Commit')}: ${h.show_id(commit)}
57
57
58 * ${_('Commit message')}: ${commit.message}
58 * ${_('Commit message')}: ${commit.message}
59
59
60 %if comment_file:
60 %if comment_file:
61 * ${_('File: {comment_file} on line {comment_line}').format(**data)}
61 * ${_('File: {comment_file} on line {comment_line}').format(**data)}
62
62
63 %endif
63 %endif
64 % if comment_type == 'todo':
64 % if comment_type == 'todo':
65 ${_('`TODO` comment')}:
65 ${('Inline' if comment_file else 'General')} ${_('`TODO` number')} ${comment_id}:
66 % else:
66 % else:
67 ${_('`Note` comment')}:
67 ${('Inline' if comment_file else 'General')} ${_('`Note` number')} ${comment_id}:
68 % endif
68 % endif
69
69
70 ${comment_body |n, trim}
70 ${comment_body |n, trim}
71
71
72 ---
72 ---
73 ${self.plaintext_footer()}
73 ${self.plaintext_footer()}
74 </%def>
74 </%def>
75
75
76
76
77 <%
77 <%
78 data = {
78 data = {
79 'user': h.person(user),
79 'user': h.person(user),
80 'comment_file': comment_file,
80 'comment_file': comment_file,
81 'comment_line': comment_line,
81 'comment_line': comment_line,
82 'comment_type': comment_type,
82 'comment_type': comment_type,
83 'comment_id': comment_id,
83 'comment_id': comment_id,
84 'renderer_type': renderer_type or 'plain',
84 'renderer_type': renderer_type or 'plain',
85
85
86 'repo': commit_target_repo_url,
86 'repo': commit_target_repo_url,
87 'repo_name': repo_name,
87 'repo_name': repo_name,
88 'commit_id': h.show_id(commit),
88 'commit_id': h.show_id(commit),
89 }
89 }
90 %>
90 %>
91
91
92 <table style="text-align:left;vertical-align:middle;width: 100%">
92 <table style="text-align:left;vertical-align:middle;width: 100%">
93 <tr>
93 <tr>
94 <td style="width:100%;border-bottom:1px solid #dbd9da;">
94 <td style="width:100%;border-bottom:1px solid #dbd9da;">
95
95
96 <h4 style="margin: 0">
96 <h4 style="margin: 0">
97 <div style="margin-bottom: 4px; color:#7E7F7F">
97 <div style="margin-bottom: 4px; color:#7E7F7F">
98 @${h.person(user.username)}
98 @${h.person(user.username)}
99 </div>
99 </div>
100 ${_('left a')}
100 ${_('left a')}
101 <a href="${commit_comment_url}" style="${base.link_css()}">
101 <a href="${commit_comment_url}" style="${base.link_css()}">
102 % if comment_file:
102 % if comment_file:
103 ${_('{comment_type} on file `{comment_file}` in commit.').format(**data)}
103 ${_('{comment_type} on file `{comment_file}` in commit.').format(**data)}
104 % else:
104 % else:
105 ${_('{comment_type} on commit.').format(**data) |n}
105 ${_('{comment_type} on commit.').format(**data) |n}
106 % endif
106 % endif
107 </a>
107 </a>
108 <div style="margin-top: 10px"></div>
108 <div style="margin-top: 10px"></div>
109 ${_('Commit')} <code>${data['commit_id']}</code> ${_('of repository')}: ${data['repo_name']}
109 ${_('Commit')} <code>${data['commit_id']}</code> ${_('of repository')}: ${data['repo_name']}
110 </h4>
110 </h4>
111
111
112 </td>
112 </td>
113 </tr>
113 </tr>
114
114
115 </table>
115 </table>
116
116
117 <table style="text-align:left;vertical-align:middle;width: 100%">
117 <table style="text-align:left;vertical-align:middle;width: 100%">
118
118
119 ## spacing def
119 ## spacing def
120 <tr>
120 <tr>
121 <td style="width: 130px"></td>
121 <td style="width: 130px"></td>
122 <td></td>
122 <td></td>
123 </tr>
123 </tr>
124
124
125 % if status_change:
125 % if status_change:
126 <tr>
126 <tr>
127 <td style="padding-right:20px;">${_('Commit Status')}:</td>
127 <td style="padding-right:20px;">${_('Commit Status')}:</td>
128 <td>
128 <td>
129 ${_('Status was changed to')}: ${base.status_text(status_change, tag_type=status_change_type)}
129 ${_('Status was changed to')}: ${base.status_text(status_change, tag_type=status_change_type)}
130 </td>
130 </td>
131 </tr>
131 </tr>
132 % endif
132 % endif
133
133
134 <tr>
134 <tr>
135 <td style="padding-right:20px;">${_('Commit')}:</td>
135 <td style="padding-right:20px;">${_('Commit')}:</td>
136 <td>
136 <td>
137 <a href="${commit_comment_url}" style="${base.link_css()}">${h.show_id(commit)}</a>
137 <a href="${commit_comment_url}" style="${base.link_css()}">${h.show_id(commit)}</a>
138 </td>
138 </td>
139 </tr>
139 </tr>
140 <tr>
140 <tr>
141 <td style="padding-right:20px;">${_('Commit message')}:</td>
141 <td style="padding-right:20px;">${_('Commit message')}:</td>
142 <td style="white-space:pre-wrap">${h.urlify_commit_message(commit.message, repo_name)}</td>
142 <td style="white-space:pre-wrap">${h.urlify_commit_message(commit.message, repo_name)}</td>
143 </tr>
143 </tr>
144
144
145 % if comment_file:
145 % if comment_file:
146 <tr>
146 <tr>
147 <td style="padding-right:20px;">${_('File')}:</td>
147 <td style="padding-right:20px;">${_('File')}:</td>
148 <td><a href="${commit_comment_url}" style="${base.link_css()}">${_('`{comment_file}` on line {comment_line}').format(**data)}</a></td>
148 <td><a href="${commit_comment_url}" style="${base.link_css()}">${_('`{comment_file}` on line {comment_line}').format(**data)}</a></td>
149 </tr>
149 </tr>
150 % endif
150 % endif
151
151
152 <tr style="border-bottom:1px solid #dbd9da;">
152 <tr style="border-bottom:1px solid #dbd9da;">
153 <td colspan="2" style="padding-right:20px;">
153 <td colspan="2" style="padding-right:20px;">
154 % if comment_type == 'todo':
154 % if comment_type == 'todo':
155 ${('Inline' if comment_file else 'General')} ${_('`TODO` number')} ${comment_id}:
155 ${('Inline' if comment_file else 'General')} ${_('`TODO` number')} ${comment_id}:
156 % else:
156 % else:
157 ${('Inline' if comment_file else 'General')} ${_('`Note` number')} ${comment_id}:
157 ${('Inline' if comment_file else 'General')} ${_('`Note` number')} ${comment_id}:
158 % endif
158 % endif
159 </td>
159 </td>
160 </tr>
160 </tr>
161
161
162 <tr>
162 <tr>
163 <td colspan="2" style="background: #F7F7F7">${h.render(comment_body, renderer=data['renderer_type'], mentions=True)}</td>
163 <td colspan="2" style="background: #F7F7F7">${h.render(comment_body, renderer=data['renderer_type'], mentions=True)}</td>
164 </tr>
164 </tr>
165
165
166 <tr>
166 <tr>
167 <td><a href="${commit_comment_reply_url}">${_('Reply')}</a></td>
167 <td><a href="${commit_comment_reply_url}">${_('Reply')}</a></td>
168 <td></td>
168 <td></td>
169 </tr>
169 </tr>
170 </table>
170 </table>
@@ -1,200 +1,201 b''
1 ## -*- coding: utf-8 -*-
1 ## -*- coding: utf-8 -*-
2 <%inherit file="base.mako"/>
2 <%inherit file="base.mako"/>
3 <%namespace name="base" file="base.mako"/>
3 <%namespace name="base" file="base.mako"/>
4
4
5 ## EMAIL SUBJECT
5 ## EMAIL SUBJECT
6 <%def name="subject()" filter="n,trim,whitespace_filter">
6 <%def name="subject()" filter="n,trim,whitespace_filter">
7 <%
7 <%
8 data = {
8 data = {
9 'user': '@'+h.person(user),
9 'user': '@'+h.person(user),
10 'repo_name': repo_name,
10 'repo_name': repo_name,
11 'status': status_change,
11 'status': status_change,
12 'comment_file': comment_file,
12 'comment_file': comment_file,
13 'comment_line': comment_line,
13 'comment_line': comment_line,
14 'comment_type': comment_type,
14 'comment_type': comment_type,
15 'comment_id': comment_id,
15 'comment_id': comment_id,
16
16
17 'pr_title': pull_request.title,
17 'pr_title': pull_request.title,
18 'pr_id': pull_request.pull_request_id,
18 'pr_id': pull_request.pull_request_id,
19 }
19 }
20 %>
20 %>
21
21
22
22
23 % if comment_file:
23 % if comment_file:
24 ${(_('[mention]') if mention else '')} ${_('{user} left a {comment_type} on file `{comment_file}` in pull request !{pr_id}: "{pr_title}"').format(**data) |n}
24 ${(_('[mention]') if mention else '')} ${_('{user} left a {comment_type} on file `{comment_file}` in pull request !{pr_id}: "{pr_title}"').format(**data) |n}
25 % else:
25 % else:
26 % if status_change:
26 % if status_change:
27 ${(_('[mention]') if mention else '')} ${_('[status: {status}] {user} left a {comment_type} on pull request !{pr_id}: "{pr_title}"').format(**data) |n}
27 ${(_('[mention]') if mention else '')} ${_('[status: {status}] {user} left a {comment_type} on pull request !{pr_id}: "{pr_title}"').format(**data) |n}
28 % else:
28 % else:
29 ${(_('[mention]') if mention else '')} ${_('{user} left a {comment_type} on pull request !{pr_id}: "{pr_title}"').format(**data) |n}
29 ${(_('[mention]') if mention else '')} ${_('{user} left a {comment_type} on pull request !{pr_id}: "{pr_title}"').format(**data) |n}
30 % endif
30 % endif
31 % endif
31 % endif
32
32
33 </%def>
33 </%def>
34
34
35 ## PLAINTEXT VERSION OF BODY
35 ## PLAINTEXT VERSION OF BODY
36 <%def name="body_plaintext()" filter="n,trim">
36 <%def name="body_plaintext()" filter="n,trim">
37 <%
37 <%
38 data = {
38 data = {
39 'user': h.person(user),
39 'user': h.person(user),
40 'repo_name': repo_name,
40 'repo_name': repo_name,
41 'status': status_change,
41 'status': status_change,
42 'comment_file': comment_file,
42 'comment_file': comment_file,
43 'comment_line': comment_line,
43 'comment_line': comment_line,
44 'comment_type': comment_type,
44 'comment_type': comment_type,
45 'comment_id': comment_id,
45 'comment_id': comment_id,
46
46
47 'pr_title': pull_request.title,
47 'pr_title': pull_request.title,
48 'pr_id': pull_request.pull_request_id,
48 'pr_id': pull_request.pull_request_id,
49 'source_ref_type': pull_request.source_ref_parts.type,
49 'source_ref_type': pull_request.source_ref_parts.type,
50 'source_ref_name': pull_request.source_ref_parts.name,
50 'source_ref_name': pull_request.source_ref_parts.name,
51 'target_ref_type': pull_request.target_ref_parts.type,
51 'target_ref_type': pull_request.target_ref_parts.type,
52 'target_ref_name': pull_request.target_ref_parts.name,
52 'target_ref_name': pull_request.target_ref_parts.name,
53 'source_repo': pull_request_source_repo.repo_name,
53 'source_repo': pull_request_source_repo.repo_name,
54 'target_repo': pull_request_target_repo.repo_name,
54 'target_repo': pull_request_target_repo.repo_name,
55 'source_repo_url': pull_request_source_repo_url,
55 'source_repo_url': pull_request_source_repo_url,
56 'target_repo_url': pull_request_target_repo_url,
56 'target_repo_url': pull_request_target_repo_url,
57 }
57 }
58 %>
58 %>
59
59
60 ${h.literal(_('Pull request !{pr_id}: `{pr_title}`').format(**data))}
60 * ${_('Comment link')}: ${pr_comment_url}
61
62 * ${_('Pull Request')}: !${pull_request.pull_request_id}
61
63
62 * ${h.literal(_('Commit flow: {source_ref_type}:{source_ref_name} of {source_repo_url} into {target_ref_type}:{target_ref_name} of {target_repo_url}').format(**data))}
64 * ${h.literal(_('Commit flow: {source_ref_type}:{source_ref_name} of {source_repo_url} into {target_ref_type}:{target_ref_name} of {target_repo_url}').format(**data))}
63
65
64 * ${('Inline' if comment_file else 'General')} ${_('Comment link')}: ${pr_comment_url}
65
66 %if status_change and not closing_pr:
66 %if status_change and not closing_pr:
67 * ${_('{user} submitted pull request !{pr_id} status: *{status}*').format(**data)}
67 * ${_('{user} submitted pull request !{pr_id} status: *{status}*').format(**data)}
68
68
69 %elif status_change and closing_pr:
69 %elif status_change and closing_pr:
70 * ${_('{user} submitted pull request !{pr_id} status: *{status} and closed*').format(**data)}
70 * ${_('{user} submitted pull request !{pr_id} status: *{status} and closed*').format(**data)}
71
71
72 %endif
72 %endif
73 %if comment_file:
73 %if comment_file:
74 * ${_('File: {comment_file} on line {comment_line}').format(**data)}
74 * ${_('File: {comment_file} on line {comment_line}').format(**data)}
75
75
76 %endif
76 %endif
77 % if comment_type == 'todo':
77 % if comment_type == 'todo':
78 ${_('`TODO` comment')}:
78 ${('Inline' if comment_file else 'General')} ${_('`TODO` number')} ${comment_id}:
79 % else:
79 % else:
80 ${_('`Note` comment')}:
80 ${('Inline' if comment_file else 'General')} ${_('`Note` number')} ${comment_id}:
81 % endif
81 % endif
82
82
83 ${comment_body |n, trim}
83 ${comment_body |n, trim}
84
84
85 ---
85 ---
86 ${self.plaintext_footer()}
86 ${self.plaintext_footer()}
87 </%def>
87 </%def>
88
88
89
89
90 <%
90 <%
91 data = {
91 data = {
92 'user': h.person(user),
92 'user': h.person(user),
93 'comment_file': comment_file,
93 'comment_file': comment_file,
94 'comment_line': comment_line,
94 'comment_line': comment_line,
95 'comment_type': comment_type,
95 'comment_type': comment_type,
96 'comment_id': comment_id,
96 'comment_id': comment_id,
97 'renderer_type': renderer_type or 'plain',
97 'renderer_type': renderer_type or 'plain',
98
98
99 'pr_title': pull_request.title,
99 'pr_title': pull_request.title,
100 'pr_id': pull_request.pull_request_id,
100 'pr_id': pull_request.pull_request_id,
101 'status': status_change,
101 'status': status_change,
102 'source_ref_type': pull_request.source_ref_parts.type,
102 'source_ref_type': pull_request.source_ref_parts.type,
103 'source_ref_name': pull_request.source_ref_parts.name,
103 'source_ref_name': pull_request.source_ref_parts.name,
104 'target_ref_type': pull_request.target_ref_parts.type,
104 'target_ref_type': pull_request.target_ref_parts.type,
105 'target_ref_name': pull_request.target_ref_parts.name,
105 'target_ref_name': pull_request.target_ref_parts.name,
106 'source_repo': pull_request_source_repo.repo_name,
106 'source_repo': pull_request_source_repo.repo_name,
107 'target_repo': pull_request_target_repo.repo_name,
107 'target_repo': pull_request_target_repo.repo_name,
108 'source_repo_url': h.link_to(pull_request_source_repo.repo_name, pull_request_source_repo_url),
108 'source_repo_url': h.link_to(pull_request_source_repo.repo_name, pull_request_source_repo_url),
109 'target_repo_url': h.link_to(pull_request_target_repo.repo_name, pull_request_target_repo_url),
109 'target_repo_url': h.link_to(pull_request_target_repo.repo_name, pull_request_target_repo_url),
110 }
110 }
111 %>
111 %>
112
112
113 <table style="text-align:left;vertical-align:middle;width: 100%">
113 <table style="text-align:left;vertical-align:middle;width: 100%">
114 <tr>
114 <tr>
115 <td style="width:100%;border-bottom:1px solid #dbd9da;">
115 <td style="width:100%;border-bottom:1px solid #dbd9da;">
116
116
117 <h4 style="margin: 0">
117 <h4 style="margin: 0">
118 <div style="margin-bottom: 4px; color:#7E7F7F">
118 <div style="margin-bottom: 4px; color:#7E7F7F">
119 @${h.person(user.username)}
119 @${h.person(user.username)}
120 </div>
120 </div>
121 ${_('left a')}
121 ${_('left a')}
122 <a href="${pr_comment_url}" style="${base.link_css()}">
122 <a href="${pr_comment_url}" style="${base.link_css()}">
123 % if comment_file:
123 % if comment_file:
124 ${_('{comment_type} on file `{comment_file}` in pull request.').format(**data)}
124 ${_('{comment_type} on file `{comment_file}` in pull request.').format(**data)}
125 % else:
125 % else:
126 ${_('{comment_type} on pull request.').format(**data) |n}
126 ${_('{comment_type} on pull request.').format(**data) |n}
127 % endif
127 % endif
128 </a>
128 </a>
129 <div style="margin-top: 10px"></div>
129 <div style="margin-top: 10px"></div>
130 ${_('Pull request')} <code>!${data['pr_id']}: ${data['pr_title']}</code>
130 ${_('Pull request')} <code>!${data['pr_id']}: ${data['pr_title']}</code>
131 </h4>
131 </h4>
132
132
133 </td>
133 </td>
134 </tr>
134 </tr>
135
135
136 </table>
136 </table>
137
137
138 <table style="text-align:left;vertical-align:middle;width: 100%">
138 <table style="text-align:left;vertical-align:middle;width: 100%">
139
139
140 ## spacing def
140 ## spacing def
141 <tr>
141 <tr>
142 <td style="width: 130px"></td>
142 <td style="width: 130px"></td>
143 <td></td>
143 <td></td>
144 </tr>
144 </tr>
145
145
146 % if status_change:
146 % if status_change:
147 <tr>
147 <tr>
148 <td style="padding-right:20px;">${_('Review Status')}:</td>
148 <td style="padding-right:20px;">${_('Review Status')}:</td>
149 <td>
149 <td>
150 % if closing_pr:
150 % if closing_pr:
151 ${_('Closed pull request with status')}: ${base.status_text(status_change, tag_type=status_change_type)}
151 ${_('Closed pull request with status')}: ${base.status_text(status_change, tag_type=status_change_type)}
152 % else:
152 % else:
153 ${_('Submitted review status')}: ${base.status_text(status_change, tag_type=status_change_type)}
153 ${_('Submitted review status')}: ${base.status_text(status_change, tag_type=status_change_type)}
154 % endif
154 % endif
155 </td>
155 </td>
156 </tr>
156 </tr>
157 % endif
157 % endif
158 <tr>
159 <td style="padding-right:20px;">${_('Pull request')}:</td>
160 <td>
161 <a href="${pull_request_url}" style="${base.link_css()}">
162 !${pull_request.pull_request_id}
163 </a>
164 </td>
165 </tr>
158
166
159 <tr>
167 <tr>
160 <td style="padding-right:20px;line-height:20px;">${_('Commit Flow')}:</td>
168 <td style="padding-right:20px;line-height:20px;">${_('Commit Flow')}:</td>
161 <td style="line-height:20px;">
169 <td style="line-height:20px;">
162 ${base.tag_button('{}:{}'.format(data['source_ref_type'], pull_request.source_ref_parts.name))} ${_('of')} ${data['source_repo_url']}
170 ${base.tag_button('{}:{}'.format(data['source_ref_type'], pull_request.source_ref_parts.name))} ${_('of')} ${data['source_repo_url']}
163 &rarr;
171 &rarr;
164 ${base.tag_button('{}:{}'.format(data['target_ref_type'], pull_request.target_ref_parts.name))} ${_('of')} ${data['target_repo_url']}
172 ${base.tag_button('{}:{}'.format(data['target_ref_type'], pull_request.target_ref_parts.name))} ${_('of')} ${data['target_repo_url']}
165 </td>
173 </td>
166 </tr>
174 </tr>
167 <tr>
175
168 <td style="padding-right:20px;">${_('Pull request')}:</td>
169 <td>
170 <a href="${pull_request_url}" style="${base.link_css()}">
171 !${pull_request.pull_request_id}
172 </a>
173 </td>
174 </tr>
175 % if comment_file:
176 % if comment_file:
176 <tr>
177 <tr>
177 <td style="padding-right:20px;">${_('File')}:</td>
178 <td style="padding-right:20px;">${_('File')}:</td>
178 <td><a href="${pr_comment_url}" style="${base.link_css()}">${_('`{comment_file}` on line {comment_line}').format(**data)}</a></td>
179 <td><a href="${pr_comment_url}" style="${base.link_css()}">${_('`{comment_file}` on line {comment_line}').format(**data)}</a></td>
179 </tr>
180 </tr>
180 % endif
181 % endif
181
182
182 <tr style="border-bottom:1px solid #dbd9da;">
183 <tr style="border-bottom:1px solid #dbd9da;">
183 <td colspan="2" style="padding-right:20px;">
184 <td colspan="2" style="padding-right:20px;">
184 % if comment_type == 'todo':
185 % if comment_type == 'todo':
185 ${('Inline' if comment_file else 'General')} ${_('`TODO` number')} ${comment_id}:
186 ${('Inline' if comment_file else 'General')} ${_('`TODO` number')} ${comment_id}:
186 % else:
187 % else:
187 ${('Inline' if comment_file else 'General')} ${_('`Note` number')} ${comment_id}:
188 ${('Inline' if comment_file else 'General')} ${_('`Note` number')} ${comment_id}:
188 % endif
189 % endif
189 </td>
190 </td>
190 </tr>
191 </tr>
191
192
192 <tr>
193 <tr>
193 <td colspan="2" style="background: #F7F7F7">${h.render(comment_body, renderer=data['renderer_type'], mentions=True)}</td>
194 <td colspan="2" style="background: #F7F7F7">${h.render(comment_body, renderer=data['renderer_type'], mentions=True)}</td>
194 </tr>
195 </tr>
195
196
196 <tr>
197 <tr>
197 <td><a href="${pr_comment_reply_url}">${_('Reply')}</a></td>
198 <td><a href="${pr_comment_reply_url}">${_('Reply')}</a></td>
198 <td></td>
199 <td></td>
199 </tr>
200 </tr>
200 </table>
201 </table>
@@ -1,144 +1,143 b''
1 ## -*- coding: utf-8 -*-
1 ## -*- coding: utf-8 -*-
2 <%inherit file="base.mako"/>
2 <%inherit file="base.mako"/>
3 <%namespace name="base" file="base.mako"/>
3 <%namespace name="base" file="base.mako"/>
4
4
5 ## EMAIL SUBJECT
5 ## EMAIL SUBJECT
6 <%def name="subject()" filter="n,trim,whitespace_filter">
6 <%def name="subject()" filter="n,trim,whitespace_filter">
7 <%
7 <%
8 data = {
8 data = {
9 'user': '@'+h.person(user),
9 'user': '@'+h.person(user),
10 'pr_id': pull_request.pull_request_id,
10 'pr_id': pull_request.pull_request_id,
11 'pr_title': pull_request.title,
11 'pr_title': pull_request.title,
12 }
12 }
13 %>
13 %>
14
14
15 ${_('{user} requested a pull request review. !{pr_id}: "{pr_title}"').format(**data) |n}
15 ${_('{user} requested a pull request review. !{pr_id}: "{pr_title}"').format(**data) |n}
16 </%def>
16 </%def>
17
17
18 ## PLAINTEXT VERSION OF BODY
18 ## PLAINTEXT VERSION OF BODY
19 <%def name="body_plaintext()" filter="n,trim">
19 <%def name="body_plaintext()" filter="n,trim">
20 <%
20 <%
21 data = {
21 data = {
22 'user': h.person(user),
22 'user': h.person(user),
23 'pr_id': pull_request.pull_request_id,
23 'pr_id': pull_request.pull_request_id,
24 'pr_title': pull_request.title,
24 'pr_title': pull_request.title,
25 'source_ref_type': pull_request.source_ref_parts.type,
25 'source_ref_type': pull_request.source_ref_parts.type,
26 'source_ref_name': pull_request.source_ref_parts.name,
26 'source_ref_name': pull_request.source_ref_parts.name,
27 'target_ref_type': pull_request.target_ref_parts.type,
27 'target_ref_type': pull_request.target_ref_parts.type,
28 'target_ref_name': pull_request.target_ref_parts.name,
28 'target_ref_name': pull_request.target_ref_parts.name,
29 'repo_url': pull_request_source_repo_url,
29 'repo_url': pull_request_source_repo_url,
30 'source_repo': pull_request_source_repo.repo_name,
30 'source_repo': pull_request_source_repo.repo_name,
31 'target_repo': pull_request_target_repo.repo_name,
31 'target_repo': pull_request_target_repo.repo_name,
32 'source_repo_url': pull_request_source_repo_url,
32 'source_repo_url': pull_request_source_repo_url,
33 'target_repo_url': pull_request_target_repo_url,
33 'target_repo_url': pull_request_target_repo_url,
34 }
34 }
35 %>
35 %>
36
36
37 ${h.literal(_('Pull request !{pr_id}: `{pr_title}`').format(**data))}
37 * ${_('Pull Request link')}: ${pull_request_url}
38
38
39 * ${h.literal(_('Commit flow: {source_ref_type}:{source_ref_name} of {source_repo_url} into {target_ref_type}:{target_ref_name} of {target_repo_url}').format(**data))}
39 * ${h.literal(_('Commit flow: {source_ref_type}:{source_ref_name} of {source_repo_url} into {target_ref_type}:{target_ref_name} of {target_repo_url}').format(**data))}
40
40
41 * ${_('Pull Request link')}: ${pull_request_url}
42
43 * ${_('Title')}: ${pull_request.title}
41 * ${_('Title')}: ${pull_request.title}
44
42
45 * ${_('Description')}:
43 * ${_('Description')}:
46
44
47 ${pull_request.description | trim}
45 ${pull_request.description | trim}
48
46
49
47
50 * ${_ungettext('Commit (%(num)s)', 'Commits (%(num)s)', len(pull_request_commits) ) % {'num': len(pull_request_commits)}}:
48 * ${_ungettext('Commit (%(num)s)', 'Commits (%(num)s)', len(pull_request_commits) ) % {'num': len(pull_request_commits)}}:
51
49
52 % for commit_id, message in pull_request_commits:
50 % for commit_id, message in pull_request_commits:
53 - ${h.short_id(commit_id)}
51 - ${h.short_id(commit_id)}
54 ${h.chop_at_smart(message, '\n', suffix_if_chopped='...')}
52 ${h.chop_at_smart(message, '\n', suffix_if_chopped='...')}
55
53
56 % endfor
54 % endfor
57
55
58 ---
56 ---
59 ${self.plaintext_footer()}
57 ${self.plaintext_footer()}
60 </%def>
58 </%def>
61 <%
59 <%
62 data = {
60 data = {
63 'user': h.person(user),
61 'user': h.person(user),
64 'pr_id': pull_request.pull_request_id,
62 'pr_id': pull_request.pull_request_id,
65 'pr_title': pull_request.title,
63 'pr_title': pull_request.title,
66 'source_ref_type': pull_request.source_ref_parts.type,
64 'source_ref_type': pull_request.source_ref_parts.type,
67 'source_ref_name': pull_request.source_ref_parts.name,
65 'source_ref_name': pull_request.source_ref_parts.name,
68 'target_ref_type': pull_request.target_ref_parts.type,
66 'target_ref_type': pull_request.target_ref_parts.type,
69 'target_ref_name': pull_request.target_ref_parts.name,
67 'target_ref_name': pull_request.target_ref_parts.name,
70 'repo_url': pull_request_source_repo_url,
68 'repo_url': pull_request_source_repo_url,
71 'source_repo': pull_request_source_repo.repo_name,
69 'source_repo': pull_request_source_repo.repo_name,
72 'target_repo': pull_request_target_repo.repo_name,
70 'target_repo': pull_request_target_repo.repo_name,
73 'source_repo_url': h.link_to(pull_request_source_repo.repo_name, pull_request_source_repo_url),
71 'source_repo_url': h.link_to(pull_request_source_repo.repo_name, pull_request_source_repo_url),
74 'target_repo_url': h.link_to(pull_request_target_repo.repo_name, pull_request_target_repo_url),
72 'target_repo_url': h.link_to(pull_request_target_repo.repo_name, pull_request_target_repo_url),
75 }
73 }
76 %>
74 %>
77
75
78 <table style="text-align:left;vertical-align:middle;width: 100%">
76 <table style="text-align:left;vertical-align:middle;width: 100%">
79 <tr>
77 <tr>
80 <td style="width:100%;border-bottom:1px solid #dbd9da;">
78 <td style="width:100%;border-bottom:1px solid #dbd9da;">
81
79
82 <h4 style="margin: 0">
80 <h4 style="margin: 0">
83 <div style="margin-bottom: 4px; color:#7E7F7F">
81 <div style="margin-bottom: 4px; color:#7E7F7F">
84 @${h.person(user.username)}
82 @${h.person(user.username)}
85 </div>
83 </div>
86 ${_('requested a')}
84 ${_('requested a')}
87 <a href="${pull_request_url}" style="${base.link_css()}">
85 <a href="${pull_request_url}" style="${base.link_css()}">
88 ${_('pull request review.').format(**data) }
86 ${_('pull request review.').format(**data) }
89 </a>
87 </a>
90 <div style="margin-top: 10px"></div>
88 <div style="margin-top: 10px"></div>
91 ${_('Pull request')} <code>!${data['pr_id']}: ${data['pr_title']}</code>
89 ${_('Pull request')} <code>!${data['pr_id']}: ${data['pr_title']}</code>
92 </h4>
90 </h4>
93
91
94 </td>
92 </td>
95 </tr>
93 </tr>
96
94
97 </table>
95 </table>
98
96
99 <table style="text-align:left;vertical-align:middle;width: 100%">
97 <table style="text-align:left;vertical-align:middle;width: 100%">
100 ## spacing def
98 ## spacing def
101 <tr>
99 <tr>
102 <td style="width: 130px"></td>
100 <td style="width: 130px"></td>
103 <td></td>
101 <td></td>
104 </tr>
102 </tr>
105
103
106 <tr>
104 <tr>
105 <td style="padding-right:20px;">${_('Pull request')}:</td>
106 <td>
107 <a href="${pull_request_url}" style="${base.link_css()}">
108 !${pull_request.pull_request_id}
109 </a>
110 </td>
111 </tr>
112
113 <tr>
107 <td style="padding-right:20px;line-height:20px;">${_('Commit Flow')}:</td>
114 <td style="padding-right:20px;line-height:20px;">${_('Commit Flow')}:</td>
108 <td style="line-height:20px;">
115 <td style="line-height:20px;">
109 ${base.tag_button('{}:{}'.format(data['source_ref_type'], pull_request.source_ref_parts.name))} ${_('of')} ${data['source_repo_url']}
116 ${base.tag_button('{}:{}'.format(data['source_ref_type'], pull_request.source_ref_parts.name))} ${_('of')} ${data['source_repo_url']}
110 &rarr;
117 &rarr;
111 ${base.tag_button('{}:{}'.format(data['target_ref_type'], pull_request.target_ref_parts.name))} ${_('of')} ${data['target_repo_url']}
118 ${base.tag_button('{}:{}'.format(data['target_ref_type'], pull_request.target_ref_parts.name))} ${_('of')} ${data['target_repo_url']}
112 </td>
119 </td>
113 </tr>
120 </tr>
114
121
115 <tr>
122 <tr>
116 <td style="padding-right:20px;">${_('Pull request')}:</td>
117 <td>
118 <a href="${pull_request_url}" style="${base.link_css()}">
119 !${pull_request.pull_request_id}
120 </a>
121 </td>
122 </tr>
123 <tr>
124 <td style="padding-right:20px;">${_('Description')}:</td>
123 <td style="padding-right:20px;">${_('Description')}:</td>
125 <td style="white-space:pre-wrap"><code>${pull_request.description | trim}</code></td>
124 <td style="white-space:pre-wrap"><code>${pull_request.description | trim}</code></td>
126 </tr>
125 </tr>
127 <tr>
126 <tr>
128 <td style="padding-right:20px;">${_ungettext('Commit (%(num)s)', 'Commits (%(num)s)', len(pull_request_commits)) % {'num': len(pull_request_commits)}}:</td>
127 <td style="padding-right:20px;">${_ungettext('Commit (%(num)s)', 'Commits (%(num)s)', len(pull_request_commits)) % {'num': len(pull_request_commits)}}:</td>
129 <td></td>
128 <td></td>
130 </tr>
129 </tr>
131
130
132 <tr>
131 <tr>
133 <td colspan="2">
132 <td colspan="2">
134 <ol style="margin:0 0 0 1em;padding:0;text-align:left;">
133 <ol style="margin:0 0 0 1em;padding:0;text-align:left;">
135 % for commit_id, message in pull_request_commits:
134 % for commit_id, message in pull_request_commits:
136 <li style="margin:0 0 1em;">
135 <li style="margin:0 0 1em;">
137 <pre style="margin:0 0 .5em"><a href="${h.route_path('repo_commit', repo_name=pull_request_source_repo.repo_name, commit_id=commit_id)}" style="${base.link_css()}">${h.short_id(commit_id)}</a></pre>
136 <pre style="margin:0 0 .5em"><a href="${h.route_path('repo_commit', repo_name=pull_request_source_repo.repo_name, commit_id=commit_id)}" style="${base.link_css()}">${h.short_id(commit_id)}</a></pre>
138 ${h.chop_at_smart(message, '\n', suffix_if_chopped='...')}
137 ${h.chop_at_smart(message, '\n', suffix_if_chopped='...')}
139 </li>
138 </li>
140 % endfor
139 % endfor
141 </ol>
140 </ol>
142 </td>
141 </td>
143 </tr>
142 </tr>
144 </table>
143 </table>
General Comments 0
You need to be logged in to leave comments. Login now