equal
deleted
inserted
replaced
|
1 <!DOCTYPE html> |
|
2 <html> |
|
3 <head> |
|
4 <style> |
|
5 body { |
|
6 font-family: Verdana, sans-serif; |
|
7 margin: 0px; |
|
8 padding: 0px; |
|
9 } |
|
10 .status { |
|
11 display: block; |
|
12 float: left; |
|
13 margin: 1px; |
|
14 padding: 1px 2px; |
|
15 -moz-border-radius: 5px; |
|
16 -webkit-border-radius: 5px; |
|
17 border-radius: 5px; |
|
18 border: 1px solid #AAA; |
|
19 background-color: white; |
|
20 font-size: 11px; |
|
21 cursor: pointer; |
|
22 } |
|
23 .none { |
|
24 cursor: auto; |
|
25 } |
|
26 .pass { |
|
27 background-color: #8FDF5F; |
|
28 border: 1px solid #4F8530; |
|
29 } |
|
30 .fail { |
|
31 background-color: #E98080; |
|
32 border: 1px solid #A77272; |
|
33 } |
|
34 .pending { |
|
35 background-color: #FFFC6C; |
|
36 border: 1px solid #C5C56D; |
|
37 } |
|
38 .error { |
|
39 background-color: #E0B0FF; |
|
40 border: 1px solid #ACA0B3; |
|
41 } |
|
42 </style> |
|
43 <script> |
|
44 function statusDetail(patch_id) { |
|
45 top.location = "/patch/" + patch_id |
|
46 } |
|
47 </script> |
|
48 </head> |
|
49 <body> |
|
50 {% for bubble in bubbles %} |
|
51 <div class="status {{ bubble.state }}"{% if bubble.status %} |
|
52 onclick="statusDetail({{ bubble.attachment_id }})" |
|
53 title="{{ bubble.status.date|timesince }} ago"{% endif %}> |
|
54 {{ bubble.name }} |
|
55 {% if bubble.queue_position %} |
|
56 (#{{ bubble.queue_position }}) |
|
57 {% endif %} |
|
58 </div> |
|
59 {% endfor %} |
|
60 </body> |
|
61 </html> |