##// END OF EJS Templates
ui: new commits page....
marcink -
r3882:74da9073 default
parent child
Show More
@@ -28,7 +28,7
28 "moment": "^2.18.1",
28 "moment": "^2.18.1",
29 "mousetrap": "^1.6.1",
29 "mousetrap": "^1.6.1",
30 "qrious": "^4.0.2",
30 "qrious": "^4.0.2",
31 "sticky-sidebar": "3.3.1",
31 "sticky-sidebar": "3.3.4",
32 "waypoints": "4.0.1",
32 "waypoints": "4.0.1",
33 "webpack": "4.23.1",
33 "webpack": "4.23.1",
34 "webpack-cli": "3.1.2",
34 "webpack-cli": "3.1.2",
@@ -128,6 +128,7 class RepoCommitsView(RepoAppView):
128 c.statuses = []
128 c.statuses = []
129 c.comments = []
129 c.comments = []
130 c.unresolved_comments = []
130 c.unresolved_comments = []
131 c.resolved_comments = []
131 if len(c.commit_ranges) == 1:
132 if len(c.commit_ranges) == 1:
132 commit = c.commit_ranges[0]
133 commit = c.commit_ranges[0]
133 c.comments = CommentsModel().get_comments(
134 c.comments = CommentsModel().get_comments(
@@ -148,6 +149,8 class RepoCommitsView(RepoAppView):
148
149
149 c.unresolved_comments = CommentsModel()\
150 c.unresolved_comments = CommentsModel()\
150 .get_commit_unresolved_todos(commit.raw_id)
151 .get_commit_unresolved_todos(commit.raw_id)
152 c.resolved_comments = CommentsModel()\
153 .get_commit_resolved_todos(commit.raw_id)
151
154
152 diff = None
155 diff = None
153 # Iterate over ranges (default commit view is always one commit)
156 # Iterate over ranges (default commit view is always one commit)
@@ -187,6 +187,23 class CommentsModel(BaseModel):
187
187
188 return todos
188 return todos
189
189
190 def get_commit_resolved_todos(self, commit_id, show_outdated=True):
191
192 todos = Session().query(ChangesetComment) \
193 .filter(ChangesetComment.revision == commit_id) \
194 .filter(ChangesetComment.resolved_by != None) \
195 .filter(ChangesetComment.comment_type
196 == ChangesetComment.COMMENT_TYPE_TODO)
197
198 if not show_outdated:
199 todos = todos.filter(
200 coalesce(ChangesetComment.display_state, '') !=
201 ChangesetComment.COMMENT_OUTDATED)
202
203 todos = todos.all()
204
205 return todos
206
190 def _log_audit_action(self, action, action_data, auth_user, comment):
207 def _log_audit_action(self, action, action_data, auth_user, comment):
191 audit_logger.store(
208 audit_logger.store(
192 action=action,
209 action=action,
@@ -71,6 +71,12 input[type="button"] {
71 margin: 0 0 0 0;
71 margin: 0 0 0 0;
72 }
72 }
73
73
74 &.btn-active {
75 color: @rcdarkblue;
76 background-color: @white;
77 .border ( @border-thickness, @rcdarkblue );
78 }
79
74 }
80 }
75
81
76
82
@@ -97,6 +103,11 input[type="button"] {
97 .border ( @border-thickness-buttons, @grey5 );
103 .border ( @border-thickness-buttons, @grey5 );
98 background-color: transparent;
104 background-color: transparent;
99 }
105 }
106 &.btn-active {
107 color: @rcdarkblue;
108 background-color: @white;
109 .border ( @border-thickness, @rcdarkblue );
110 }
100 }
111 }
101
112
102 .btn-primary,
113 .btn-primary,
@@ -214,8 +225,28 input[type="button"] {
214 display: inline-block;
225 display: inline-block;
215 .btn {
226 .btn {
216 float: left;
227 float: left;
217 margin: 0 0 0 -1px;
228 margin: 0 0 0 0;
229 // first item
230 &:first-of-type:not(:last-of-type) {
231 border-radius: @border-radius 0 0 @border-radius;
232
233 }
234 // middle elements
235 &:not(:first-of-type):not(:last-of-type) {
236 border-radius: 0;
237 border-left-width: 0;
238 border-right-width: 0;
239 }
240 // last item
241 &:last-of-type:not(:first-of-type) {
242 border-radius: 0 @border-radius @border-radius 0;
243 }
244
245 &:only-child {
246 border-radius: @border-radius;
247 }
218 }
248 }
249
219 }
250 }
220
251
221 .btn-link {
252 .btn-link {
@@ -682,13 +682,14 input.filediff-collapse-state {
682 display: none
682 display: none
683 }
683 }
684 .filediff-collapse-indicator {
684 .filediff-collapse-indicator {
685 width: 0;
685 float: left;
686 height: 0;
686 cursor: pointer;
687 border-style: solid;
687 margin: 1px -5px;
688 border-width: 4.5px 0 4.5px 9.3px;
689 border-color: transparent transparent transparent #aaa;
690 margin: 6px 0px;
691 }
688 }
689 .filediff-collapse-indicator:before {
690 content: '\f105';
691 }
692
692 .filediff-menu {
693 .filediff-menu {
693 display: none;
694 display: none;
694 }
695 }
@@ -696,18 +697,20 input.filediff-collapse-state {
696 }
697 }
697
698
698 &+ .filediff { /* file diff is expanded */
699 &+ .filediff { /* file diff is expanded */
700
699 .filediff-collapse-indicator {
701 .filediff-collapse-indicator {
700 width: 0;
702 float: left;
701 height: 0;
703 cursor: pointer;
702 border-style: solid;
704 margin: 1px -5px;
703 border-width: 9.3px 4.5px 0 4.5px;
705 }
704 border-color: #aaa transparent transparent transparent;
706 .filediff-collapse-indicator:before {
705 margin: 6px 0px;
707 content: '\f107';
708 }
706
709
707 }
708 .filediff-menu {
710 .filediff-menu {
709 display: block;
711 display: block;
710 }
712 }
713
711 margin: 10px 0;
714 margin: 10px 0;
712 &:nth-child(2) {
715 &:nth-child(2) {
713 margin: 0;
716 margin: 0;
@@ -735,13 +738,14 input.filediff-collapse-state {
735
738
736 #diff-file-sticky{
739 #diff-file-sticky{
737 will-change: min-height;
740 will-change: min-height;
741 height: 80px;
738 }
742 }
739
743
740 .sidebar__inner{
744 .sidebar__inner{
741 transform: translate(0, 0); /* For browsers don't support translate3d. */
745 transform: translate(0, 0); /* For browsers don't support translate3d. */
742 transform: translate3d(0, 0, 0);
746 transform: translate3d(0, 0, 0);
743 will-change: position, transform;
747 will-change: position, transform;
744 height: 70px;
748 height: 65px;
745 z-index: 30;
749 z-index: 30;
746 background-color: #fff;
750 background-color: #fff;
747 padding: 5px 0px;
751 padding: 5px 0px;
@@ -775,10 +779,17 input.filediff-collapse-state {
775 }
779 }
776
780
777 .diffset-menu {
781 .diffset-menu {
778 margin-bottom: 20px;
782
779 }
783 }
784
785 #todo-box {
786 clear:both;
787 display: none;
788 text-align: right
789 }
790
780 .diffset {
791 .diffset {
781 margin: 20px auto;
792 margin: 0px auto;
782 .diffset-heading {
793 .diffset-heading {
783 border: 1px solid @grey5;
794 border: 1px solid @grey5;
784 margin-bottom: -1px;
795 margin-bottom: -1px;
@@ -826,6 +837,8 input.filediff-collapse-state {
826 margin-right: 3px;
837 margin-right: 3px;
827 font-size: 12px;
838 font-size: 12px;
828 font-weight: normal;
839 font-weight: normal;
840 min-width: 30px;
841 text-align: center;
829
842
830 &:first-child {
843 &:first-child {
831 border-radius: @border-radius 0 0 @border-radius;
844 border-radius: @border-radius 0 0 @border-radius;
@@ -877,18 +890,10 input.filediff-collapse-state {
877 }
890 }
878 }
891 }
879
892
880 .filediff-collapse-indicator {
881 border-style: solid;
882 float: left;
883 margin: 4px 0px 0 0;
884 cursor: pointer;
885 }
886
887 .filediff-heading {
893 .filediff-heading {
888 background: @grey7;
889 cursor: pointer;
894 cursor: pointer;
890 display: block;
895 display: block;
891 padding: 5px 10px;
896 padding: 10px 10px;
892 }
897 }
893 .filediff-heading:after {
898 .filediff-heading:after {
894 content: "";
899 content: "";
@@ -900,9 +905,9 input.filediff-collapse-state {
900 }
905 }
901
906
902 .filediff-menu {
907 .filediff-menu {
903 float: right;
904 text-align: right;
908 text-align: right;
905 padding: 5px 5px 5px 0px;
909 padding: 5px 5px 5px 0px;
910 background: @grey7;
906
911
907 &> a,
912 &> a,
908 &> span {
913 &> span {
@@ -958,8 +963,16 input.filediff-collapse-state {
958 }
963 }
959
964
960
965
966 .op-added {
967 color: @alert1;
968 }
969
970 .op-deleted {
971 color: @alert2;
972 }
961
973
962 .filediff, .filelist {
974 .filediff, .filelist {
975
963 .pill {
976 .pill {
964 &[op="name"] {
977 &[op="name"] {
965 background: none;
978 background: none;
@@ -10,6 +10,14
10 width: 100%;
10 width: 100%;
11 }
11 }
12
12
13 .comments-heading {
14 margin-bottom: -1px;
15 background: @grey6;
16 display: block;
17 padding: 10px 0px;
18 font-size: 18px
19 }
20
13 tr.inline-comments div {
21 tr.inline-comments div {
14 max-width: 100%;
22 max-width: 100%;
15
23
@@ -1107,6 +1107,52 label {
1107 }
1107 }
1108 }
1108 }
1109
1109
1110 .review-status {
1111 &.under_review {
1112 color: @alert3;
1113 }
1114 &.approved {
1115 color: @alert1;
1116 }
1117 &.rejected,
1118 &.forced_closed{
1119 color: @alert2;
1120 }
1121 &.not_reviewed {
1122 color: @grey5;
1123 }
1124 }
1125
1126 .review-status-under_review {
1127 color: @alert3;
1128 }
1129 .status-tag-under_review {
1130 border-color: @alert3;
1131 }
1132
1133 .review-status-approved {
1134 color: @alert1;
1135 }
1136 .status-tag-approved {
1137 border-color: @alert1;
1138 }
1139
1140 .review-status-rejected,
1141 .review-status-forced_closed {
1142 color: @alert2;
1143 }
1144 .status-tag-rejected,
1145 .status-tag-forced_closed {
1146 border-color: @alert2;
1147 }
1148
1149 .review-status-not_reviewed {
1150 color: @grey5;
1151 }
1152 .status-tag-not_reviewed {
1153 border-color: @grey5;
1154 }
1155
1110 .flag_status_comment_box {
1156 .flag_status_comment_box {
1111 margin: 5px 6px 0px 2px;
1157 margin: 5px 6px 0px 2px;
1112 }
1158 }
@@ -1,12 +1,12
1 @font-face {
1 @font-face {
2 font-family: 'rcicons';
2 font-family: 'rcicons';
3
3
4 src: url('../fonts/RCIcons/rcicons.eot?92789106');
4 src: url('../fonts/RCIcons/rcicons.eot?44705679');
5 src: url('../fonts/RCIcons/rcicons.eot?92789106#iefix') format('embedded-opentype'),
5 src: url('../fonts/RCIcons/rcicons.eot?44705679#iefix') format('embedded-opentype'),
6 url('../fonts/RCIcons/rcicons.woff2?92789106') format('woff2'),
6 url('../fonts/RCIcons/rcicons.woff2?44705679') format('woff2'),
7 url('../fonts/RCIcons/rcicons.woff?92789106') format('woff'),
7 url('../fonts/RCIcons/rcicons.woff?44705679') format('woff'),
8 url('../fonts/RCIcons/rcicons.ttf?92789106') format('truetype'),
8 url('../fonts/RCIcons/rcicons.ttf?44705679') format('truetype'),
9 url('../fonts/RCIcons/rcicons.svg?92789106#rcicons') format('svg');
9 url('../fonts/RCIcons/rcicons.svg?44705679#rcicons') format('svg');
10
10
11 font-weight: normal;
11 font-weight: normal;
12 font-style: normal;
12 font-style: normal;
@@ -163,8 +163,6
163 .icon-down:before { content: '\e80b'; } /* '' */
163 .icon-down:before { content: '\e80b'; } /* '' */
164 .icon-folder:before { content: '\e80c'; } /* '' */
164 .icon-folder:before { content: '\e80c'; } /* '' */
165 .icon-folder-open:before { content: '\e80d'; } /* '' */
165 .icon-folder-open:before { content: '\e80d'; } /* '' */
166 .icon-folder-empty:before { content: '\f114'; } /* '' */
167 .icon-folder-open-empty:before { content: '\f115'; } /* '' */
168 .icon-trash-empty:before { content: '\e80e'; } /* '' */
166 .icon-trash-empty:before { content: '\e80e'; } /* '' */
169 .icon-group:before { content: '\e80f'; } /* '' */
167 .icon-group:before { content: '\e80f'; } /* '' */
170 .icon-remove:before { content: '\e810'; } /* '' */
168 .icon-remove:before { content: '\e810'; } /* '' */
@@ -187,6 +185,7
187 .icon-info-circled:before { content: '\e821'; } /* '' */
185 .icon-info-circled:before { content: '\e821'; } /* '' */
188 .icon-upload:before { content: '\e822'; } /* '' */
186 .icon-upload:before { content: '\e822'; } /* '' */
189 .icon-home:before { content: '\e823'; } /* '' */
187 .icon-home:before { content: '\e823'; } /* '' */
188 .icon-flag-filled:before { content: '\e824'; } /* '' */
190 .icon-git:before { content: '\e82a'; } /* '' */
189 .icon-git:before { content: '\e82a'; } /* '' */
191 .icon-hg:before { content: '\e82d'; } /* '' */
190 .icon-hg:before { content: '\e82d'; } /* '' */
192 .icon-svn:before { content: '\e82e'; } /* '' */
191 .icon-svn:before { content: '\e82e'; } /* '' */
@@ -195,11 +194,24
195 .icon-rhodecode:before { content: '\e831'; } /* '' */
194 .icon-rhodecode:before { content: '\e831'; } /* '' */
196 .icon-up:before { content: '\e832'; } /* '' */
195 .icon-up:before { content: '\e832'; } /* '' */
197 .icon-merge:before { content: '\e833'; } /* '' */
196 .icon-merge:before { content: '\e833'; } /* '' */
197 .icon-spin-alt:before { content: '\e834'; } /* '' */
198 .icon-spin:before { content: '\e838'; } /* '' */
198 .icon-docs:before { content: '\f0c5'; } /* '' */
199 .icon-docs:before { content: '\f0c5'; } /* '' */
199 .icon-menu:before { content: '\f0c9'; } /* '' */
200 .icon-menu:before { content: '\f0c9'; } /* '' */
201 .icon-sort:before { content: '\f0dc'; } /* '' */
200 .icon-paste:before { content: '\f0ea'; } /* '' */
202 .icon-paste:before { content: '\f0ea'; } /* '' */
201 .icon-doc-text:before { content: '\f0f6'; } /* '' */
203 .icon-doc-text:before { content: '\f0f6'; } /* '' */
202 .icon-plus-squared:before { content: '\f0fe'; } /* '' */
204 .icon-plus-squared:before { content: '\f0fe'; } /* '' */
205 .icon-angle-left:before { content: '\f104'; } /* '' */
206 .icon-angle-right:before { content: '\f105'; } /* '' */
207 .icon-angle-up:before { content: '\f106'; } /* '' */
208 .icon-angle-down:before { content: '\f107'; } /* '' */
209 .icon-circle-empty:before { content: '\f10c'; } /* '' */
210 .icon-circle:before { content: '\f111'; } /* '' */
211 .icon-folder-empty:before { content: '\f114'; } /* '' */
212 .icon-folder-open-empty:before { content: '\f115'; } /* '' */
213 .icon-code:before { content: '\f121'; } /* '' */
214 .icon-info:before { content: '\f129'; } /* '' */
203 .icon-minus-squared:before { content: '\f146'; } /* '' */
215 .icon-minus-squared:before { content: '\f146'; } /* '' */
204 .icon-minus-squared-alt:before { content: '\f147'; } /* '' */
216 .icon-minus-squared-alt:before { content: '\f147'; } /* '' */
205 .icon-doc-inv:before { content: '\f15b'; } /* '' */
217 .icon-doc-inv:before { content: '\f15b'; } /* '' */
@@ -207,10 +219,9
207 .icon-plus-squared-alt:before { content: '\f196'; } /* '' */
219 .icon-plus-squared-alt:before { content: '\f196'; } /* '' */
208 .icon-file-code:before { content: '\f1c9'; } /* '' */
220 .icon-file-code:before { content: '\f1c9'; } /* '' */
209 .icon-history:before { content: '\f1da'; } /* '' */
221 .icon-history:before { content: '\f1da'; } /* '' */
222 .icon-circle-thin:before { content: '\f1db'; } /* '' */
210 .icon-sliders:before { content: '\f1de'; } /* '' */
223 .icon-sliders:before { content: '\f1de'; } /* '' */
211 .icon-trash:before { content: '\f1f8'; } /* '' */
224 .icon-trash:before { content: '\f1f8'; } /* '' */
212 .icon-spin-alt:before { content: '\e834'; } /* '' */
213 .icon-spin:before { content: '\e838'; } /* '' */
214
225
215
226
216 // MERGED ICONS BASED ON CURRENT ONES
227 // MERGED ICONS BASED ON CURRENT ONES
@@ -233,10 +244,12
233 .icon-false:before { &:extend(.icon-delete:before); }
244 .icon-false:before { &:extend(.icon-delete:before); }
234 .icon-expand-linked:before { &:extend(.icon-down:before); }
245 .icon-expand-linked:before { &:extend(.icon-down:before); }
235 .icon-pr-merge-fail:before { &:extend(.icon-delete:before); }
246 .icon-pr-merge-fail:before { &:extend(.icon-delete:before); }
247 .icon-wide-mode:before { &:extend(.icon-sort:before); }
248 .icon-flag-filled-red:before { &:extend(.icon-flag-filled:before); }
236
249
237 // TRANSFORM
250 // TRANSFORM
238
239 .icon-merge:before {transform: rotate(180deg);}
251 .icon-merge:before {transform: rotate(180deg);}
252 .icon-wide-mode:before {transform: rotate(90deg);}
240
253
241 // -- END ICON CLASSES -- //
254 // -- END ICON CLASSES -- //
242
255
@@ -254,6 +267,7
254 .icon-false { color: @grey5 }
267 .icon-false { color: @grey5 }
255 .icon-expand-linked { cursor: pointer; color: @grey3; font-size: 14px }
268 .icon-expand-linked { cursor: pointer; color: @grey3; font-size: 14px }
256 .icon-more-linked { cursor: pointer; color: @grey3 }
269 .icon-more-linked { cursor: pointer; color: @grey3 }
270 .icon-flag-filled-red { color: @color5 !important; }
257
271
258 .repo-switcher-dropdown .select2-result-label {
272 .repo-switcher-dropdown .select2-result-label {
259 .icon-git:before {
273 .icon-git:before {
@@ -152,6 +152,8 select.select2{height:28px;visibility:hi
152 .drop-menu-no-width {
152 .drop-menu-no-width {
153 .drop-menu-base;
153 .drop-menu-base;
154 width: auto;
154 width: auto;
155 min-width: 0;
156 margin: 0;
155 }
157 }
156
158
157 .field-sm .drop-menu {
159 .field-sm .drop-menu {
@@ -153,6 +153,7
153 text-align: center;
153 text-align: center;
154 color: #949494;
154 color: #949494;
155 font-size: 11px;
155 font-size: 11px;
156 line-height: 1.3em;
156
157
157 &:hover {
158 &:hover {
158 background: #f1f1f1;
159 background: #f1f1f1;
@@ -199,6 +200,10
199 .fieldset {
200 .fieldset {
200 margin-bottom: 0;
201 margin-bottom: 0;
201 }
202 }
203
204 .tags-main {
205 margin-bottom: 5px;
206 }
202 }
207 }
203
208
204 .fieldset {
209 .fieldset {
@@ -564,6 +564,72
564 "src": "fontawesome"
564 "src": "fontawesome"
565 },
565 },
566 {
566 {
567 "uid": "7034e4d22866af82bef811f52fb1ba46",
568 "css": "code",
569 "code": 61729,
570 "src": "fontawesome"
571 },
572 {
573 "uid": "f3f90c8c89795da30f7444634476ea4f",
574 "css": "angle-left",
575 "code": 61700,
576 "src": "fontawesome"
577 },
578 {
579 "uid": "7bf14281af5633a597f85b061ef1cfb9",
580 "css": "angle-right",
581 "code": 61701,
582 "src": "fontawesome"
583 },
584 {
585 "uid": "5de9370846a26947e03f63142a3f1c07",
586 "css": "angle-up",
587 "code": 61702,
588 "src": "fontawesome"
589 },
590 {
591 "uid": "e4dde1992f787163e2e2b534b8c8067d",
592 "css": "angle-down",
593 "code": 61703,
594 "src": "fontawesome"
595 },
596 {
597 "uid": "4i0s2bklai5fywieqm4dqqngfz9ptfab",
598 "css": "flag-filled",
599 "code": 59428,
600 "src": "typicons"
601 },
602 {
603 "uid": "3d4ea8a78dc34efe891f3a0f3d961274",
604 "css": "info",
605 "code": 61737,
606 "src": "fontawesome"
607 },
608 {
609 "uid": "56a21935a5d4d79b2e91ec00f760b369",
610 "css": "sort",
611 "code": 61660,
612 "src": "fontawesome"
613 },
614 {
615 "uid": "130380e481a7defc690dfb24123a1f0c",
616 "css": "circle",
617 "code": 61713,
618 "src": "fontawesome"
619 },
620 {
621 "uid": "422e07e5afb80258a9c4ed1706498f8a",
622 "css": "circle-empty",
623 "code": 61708,
624 "src": "fontawesome"
625 },
626 {
627 "uid": "5774d0a0e50f6eefc8be01bd761e5dd3",
628 "css": "circle-thin",
629 "code": 61915,
630 "src": "fontawesome"
631 },
632 {
567 "uid": "c43db6645e7515889fc2193294f50767",
633 "uid": "c43db6645e7515889fc2193294f50767",
568 "css": "plus",
634 "css": "plus",
569 "code": 59411,
635 "code": 59411,
1 NO CONTENT: modified file, binary diff hidden
NO CONTENT: modified file, binary diff hidden
@@ -78,6 +78,8
78
78
79 <glyph glyph-name="home" unicode="&#xe823;" d="M888 336q16-16 11-27t-27-11l-84 0 0-310q0-14-1-21t-8-13-23-6l-204 0 0 310-204 0 0-310-194 0q-28 0-35 10t-7 30l0 310-84 0q-22 0-27 11t11 27l400 402q16 16 38 16t38-16z" horiz-adv-x="900" />
79 <glyph glyph-name="home" unicode="&#xe823;" d="M888 336q16-16 11-27t-27-11l-84 0 0-310q0-14-1-21t-8-13-23-6l-204 0 0 310-204 0 0-310-194 0q-28 0-35 10t-7 30l0 310-84 0q-22 0-27 11t11 27l400 402q16 16 38 16t38-16z" horiz-adv-x="900" />
80
80
81 <glyph glyph-name="flag-filled" unicode="&#xe824;" d="M640 693q25 25 57 11t32-47l0-418q0-21-15-36-80-80-193-80t-193 80q-47 46-110 50t-114-36l0-238q0-21-15-37t-36-15-37 15-16 37l0 678q0 21 15 36 80 80 193 80t193-80q50-50 120-50t119 50z" horiz-adv-x="729" />
82
81 <glyph glyph-name="git" unicode="&#xe82a;" d="M929 844h-858c-36 0-65-30-65-65v-857c0-36 30-65 65-65h857c36 0 65 30 65 65v857c1 35-29 65-64 65z m-729-549c4-11 9-20 14-27 6-8 14-14 22-18 9-4 19-6 29-6 9 0 16 1 24 2 7 2 14 4 20 7l6 51h-27c-4 0-8 1-10 4-2 1-3 5-3 7l5 39h105l-16-131c-8-7-16-12-25-15-9-4-18-8-28-10-10-3-18-5-30-7-10-1-21-2-33-2-20 0-38 4-54 11-16 8-30 18-41 30-12 13-20 28-27 45-6 18-10 36-10 56 0 18 3 34 7 50 3 17 10 30 17 44 8 14 16 25 26 36 10 12 22 20 34 28 13 7 26 14 41 17 15 4 30 7 47 7 13 0 25-2 36-4 11-3 21-6 29-10 8-4 16-9 22-14 6-5 13-11 18-16l-20-31c-4-5-9-8-14-9-5-1-10 0-16 4-5 3-10 6-14 8-5 3-9 5-14 7-5 1-10 2-15 3-5 2-11 2-17 2-14 0-27-3-38-9-11-6-21-14-29-25-8-10-15-24-18-38-5-15-7-31-7-48-1-14 2-27 4-38z m336-102h-71l39 315h71l-39-315z m343 258h-80l-33-258h-70l32 258h-80l7 57h231l-7-57z" horiz-adv-x="1000" />
83 <glyph glyph-name="git" unicode="&#xe82a;" d="M929 844h-858c-36 0-65-30-65-65v-857c0-36 30-65 65-65h857c36 0 65 30 65 65v857c1 35-29 65-64 65z m-729-549c4-11 9-20 14-27 6-8 14-14 22-18 9-4 19-6 29-6 9 0 16 1 24 2 7 2 14 4 20 7l6 51h-27c-4 0-8 1-10 4-2 1-3 5-3 7l5 39h105l-16-131c-8-7-16-12-25-15-9-4-18-8-28-10-10-3-18-5-30-7-10-1-21-2-33-2-20 0-38 4-54 11-16 8-30 18-41 30-12 13-20 28-27 45-6 18-10 36-10 56 0 18 3 34 7 50 3 17 10 30 17 44 8 14 16 25 26 36 10 12 22 20 34 28 13 7 26 14 41 17 15 4 30 7 47 7 13 0 25-2 36-4 11-3 21-6 29-10 8-4 16-9 22-14 6-5 13-11 18-16l-20-31c-4-5-9-8-14-9-5-1-10 0-16 4-5 3-10 6-14 8-5 3-9 5-14 7-5 1-10 2-15 3-5 2-11 2-17 2-14 0-27-3-38-9-11-6-21-14-29-25-8-10-15-24-18-38-5-15-7-31-7-48-1-14 2-27 4-38z m336-102h-71l39 315h71l-39-315z m343 258h-80l-33-258h-70l32 258h-80l7 57h231l-7-57z" horiz-adv-x="1000" />
82
84
83 <glyph glyph-name="hg" unicode="&#xe82d;" d="M927 841h-853c-36 0-65-29-65-65v-853c0-36 29-65 65-65h853c36 0 65 29 65 65v853c0 36-29 65-65 65z m-483-648h-70l16 133h-113l-17-133h-70l39 313h70l-16-132h113l16 132h71l-39-313z m177 101c3-11 8-20 14-27 7-8 14-14 23-18 8-4 18-6 28-6 9 0 16 1 23 3 7 1 14 3 20 6l6 51h-27c-4 0-7 1-9 3-3 3-3 6-3 9l5 39h104l-16-131c-8-6-16-11-25-15-9-5-18-8-27-11-9-2-19-4-30-6-10-1-21-2-33-2-19 0-37 4-53 11-16 7-30 17-41 29-11 13-20 28-26 45-7 17-10 35-10 55 0 17 2 34 6 50 4 15 10 30 17 43 7 14 16 26 26 36 10 11 22 20 34 28 13 7 27 13 41 17 14 4 30 7 46 7 13 0 25-2 36-4 11-3 20-6 29-10 8-4 16-9 23-14 7-5 13-11 18-17l-23-28c-4-5-8-8-13-9-5-1-11 0-16 3-5 4-10 7-14 9-5 3-9 5-14 6-4 2-9 3-14 4-5 1-11 1-17 1-14 0-27-3-38-8-11-6-21-14-29-25-8-10-15-23-19-38-5-15-7-31-7-49 0-13 2-26 5-37z" horiz-adv-x="1000" />
85 <glyph glyph-name="hg" unicode="&#xe82d;" d="M927 841h-853c-36 0-65-29-65-65v-853c0-36 29-65 65-65h853c36 0 65 29 65 65v853c0 36-29 65-65 65z m-483-648h-70l16 133h-113l-17-133h-70l39 313h70l-16-132h113l16 132h71l-39-313z m177 101c3-11 8-20 14-27 7-8 14-14 23-18 8-4 18-6 28-6 9 0 16 1 23 3 7 1 14 3 20 6l6 51h-27c-4 0-7 1-9 3-3 3-3 6-3 9l5 39h104l-16-131c-8-6-16-11-25-15-9-5-18-8-27-11-9-2-19-4-30-6-10-1-21-2-33-2-19 0-37 4-53 11-16 7-30 17-41 29-11 13-20 28-26 45-7 17-10 35-10 55 0 17 2 34 6 50 4 15 10 30 17 43 7 14 16 26 26 36 10 11 22 20 34 28 13 7 27 13 41 17 14 4 30 7 46 7 13 0 25-2 36-4 11-3 20-6 29-10 8-4 16-9 23-14 7-5 13-11 18-17l-23-28c-4-5-8-8-13-9-5-1-11 0-16 3-5 4-10 7-14 9-5 3-9 5-14 6-4 2-9 3-14 4-5 1-11 1-17 1-14 0-27-3-38-8-11-6-21-14-29-25-8-10-15-23-19-38-5-15-7-31-7-49 0-13 2-26 5-37z" horiz-adv-x="1000" />
@@ -102,16 +104,34
102
104
103 <glyph glyph-name="menu" unicode="&#xf0c9;" d="M857 100v-71q0-15-10-25t-26-11h-785q-15 0-25 11t-11 25v71q0 15 11 25t25 11h785q15 0 26-11t10-25z m0 286v-72q0-14-10-25t-26-10h-785q-15 0-25 10t-11 25v72q0 14 11 25t25 10h785q15 0 26-10t10-25z m0 285v-71q0-14-10-25t-26-11h-785q-15 0-25 11t-11 25v71q0 15 11 26t25 10h785q15 0 26-10t10-26z" horiz-adv-x="857.1" />
105 <glyph glyph-name="menu" unicode="&#xf0c9;" d="M857 100v-71q0-15-10-25t-26-11h-785q-15 0-25 11t-11 25v71q0 15 11 25t25 11h785q15 0 26-11t10-25z m0 286v-72q0-14-10-25t-26-10h-785q-15 0-25 10t-11 25v72q0 14 11 25t25 10h785q15 0 26-10t10-25z m0 285v-71q0-14-10-25t-26-11h-785q-15 0-25 11t-11 25v71q0 15 11 26t25 10h785q15 0 26-10t10-26z" horiz-adv-x="857.1" />
104
106
107 <glyph glyph-name="sort" unicode="&#xf0dc;" d="M571 243q0-15-10-25l-250-250q-11-11-25-11t-25 11l-250 250q-11 10-11 25t11 25 25 11h500q14 0 25-11t10-25z m0 214q0-14-10-25t-25-11h-500q-15 0-25 11t-11 25 11 25l250 250q10 11 25 11t25-11l250-250q10-10 10-25z" horiz-adv-x="571.4" />
108
105 <glyph glyph-name="paste" unicode="&#xf0ea;" d="M429-79h500v358h-233q-22 0-37 15t-16 38v232h-214v-643z m142 804v36q0 7-5 12t-12 6h-393q-7 0-13-6t-5-12v-36q0-7 5-13t13-5h393q7 0 12 5t5 13z m143-375h167l-167 167v-167z m286-71v-375q0-23-16-38t-38-16h-535q-23 0-38 16t-16 38v89h-303q-23 0-38 16t-16 37v750q0 23 16 38t38 16h607q22 0 38-16t15-38v-183q12-7 20-15l228-228q16-15 27-42t11-49z" horiz-adv-x="1000" />
109 <glyph glyph-name="paste" unicode="&#xf0ea;" d="M429-79h500v358h-233q-22 0-37 15t-16 38v232h-214v-643z m142 804v36q0 7-5 12t-12 6h-393q-7 0-13-6t-5-12v-36q0-7 5-13t13-5h393q7 0 12 5t5 13z m143-375h167l-167 167v-167z m286-71v-375q0-23-16-38t-38-16h-535q-23 0-38 16t-16 38v89h-303q-23 0-38 16t-16 37v750q0 23 16 38t38 16h607q22 0 38-16t15-38v-183q12-7 20-15l228-228q16-15 27-42t11-49z" horiz-adv-x="1000" />
106
110
107 <glyph glyph-name="doc-text" unicode="&#xf0f6;" d="M819 638q16-16 27-42t11-50v-642q0-23-15-38t-38-16h-750q-23 0-38 16t-16 38v892q0 23 16 38t38 16h500q22 0 49-11t42-27z m-248 136v-210h210q-5 17-12 23l-175 175q-6 7-23 12z m215-853v572h-232q-23 0-38 16t-16 37v233h-429v-858h715z m-572 483q0 7 5 12t13 5h393q8 0 13-5t5-12v-36q0-8-5-13t-13-5h-393q-8 0-13 5t-5 13v36z m411-125q8 0 13-5t5-13v-36q0-8-5-13t-13-5h-393q-8 0-13 5t-5 13v36q0 8 5 13t13 5h393z m0-143q8 0 13-5t5-13v-36q0-8-5-13t-13-5h-393q-8 0-13 5t-5 13v36q0 8 5 13t13 5h393z" horiz-adv-x="857.1" />
111 <glyph glyph-name="doc-text" unicode="&#xf0f6;" d="M819 638q16-16 27-42t11-50v-642q0-23-15-38t-38-16h-750q-23 0-38 16t-16 38v892q0 23 16 38t38 16h500q22 0 49-11t42-27z m-248 136v-210h210q-5 17-12 23l-175 175q-6 7-23 12z m215-853v572h-232q-23 0-38 16t-16 37v233h-429v-858h715z m-572 483q0 7 5 12t13 5h393q8 0 13-5t5-12v-36q0-8-5-13t-13-5h-393q-8 0-13 5t-5 13v36z m411-125q8 0 13-5t5-13v-36q0-8-5-13t-13-5h-393q-8 0-13 5t-5 13v36q0 8 5 13t13 5h393z m0-143q8 0 13-5t5-13v-36q0-8-5-13t-13-5h-393q-8 0-13 5t-5 13v36q0 8 5 13t13 5h393z" horiz-adv-x="857.1" />
108
112
109 <glyph glyph-name="plus-squared" unicode="&#xf0fe;" d="M714 314v72q0 14-10 25t-25 10h-179v179q0 15-11 25t-25 11h-71q-15 0-25-11t-11-25v-179h-178q-15 0-25-10t-11-25v-72q0-14 11-25t25-10h178v-179q0-14 11-25t25-11h71q15 0 25 11t11 25v179h179q14 0 25 10t10 25z m143 304v-536q0-66-47-113t-114-48h-535q-67 0-114 48t-47 113v536q0 66 47 113t114 48h535q67 0 114-48t47-113z" horiz-adv-x="857.1" />
113 <glyph glyph-name="plus-squared" unicode="&#xf0fe;" d="M714 314v72q0 14-10 25t-25 10h-179v179q0 15-11 25t-25 11h-71q-15 0-25-11t-11-25v-179h-178q-15 0-25-10t-11-25v-72q0-14 11-25t25-10h178v-179q0-14 11-25t25-11h71q15 0 25 11t11 25v179h179q14 0 25 10t10 25z m143 304v-536q0-66-47-113t-114-48h-535q-67 0-114 48t-47 113v536q0 66 47 113t114 48h535q67 0 114-48t47-113z" horiz-adv-x="857.1" />
110
114
115 <glyph glyph-name="angle-left" unicode="&#xf104;" d="M350 546q0-7-6-12l-219-220 219-219q6-6 6-13t-6-13l-28-28q-5-5-12-5t-13 5l-260 261q-6 5-6 12t6 13l260 260q5 6 13 6t12-6l28-28q6-5 6-13z" horiz-adv-x="357.1" />
116
117 <glyph glyph-name="angle-right" unicode="&#xf105;" d="M332 314q0-7-5-12l-261-261q-5-5-12-5t-13 5l-28 28q-6 6-6 13t6 13l219 219-219 220q-6 5-6 12t6 13l28 28q5 6 13 6t12-6l261-260q5-5 5-13z" horiz-adv-x="357.1" />
118
119 <glyph glyph-name="angle-up" unicode="&#xf106;" d="M600 189q0-7-6-12l-28-28q-5-6-12-6t-13 6l-220 219-219-219q-5-6-13-6t-12 6l-28 28q-6 5-6 12t6 13l260 260q5 6 12 6t13-6l260-260q6-5 6-13z" horiz-adv-x="642.9" />
120
121 <glyph glyph-name="angle-down" unicode="&#xf107;" d="M600 439q0-7-6-12l-260-261q-5-5-13-5t-12 5l-260 261q-6 5-6 12t6 13l28 28q5 6 12 6t13-6l219-219 220 219q5 6 13 6t12-6l28-28q6-5 6-13z" horiz-adv-x="642.9" />
122
123 <glyph glyph-name="circle-empty" unicode="&#xf10c;" d="M429 654q-83 0-153-41t-110-111-41-152 41-152 110-111 153-41 152 41 110 111 41 152-41 152-110 111-152 41z m428-304q0-117-57-215t-156-156-215-58-216 58-155 156-58 215 58 215 155 156 216 58 215-58 156-156 57-215z" horiz-adv-x="857.1" />
124
125 <glyph glyph-name="circle" unicode="&#xf111;" d="M857 350q0-117-57-215t-156-156-215-58-216 58-155 156-58 215 58 215 155 156 216 58 215-58 156-156 57-215z" horiz-adv-x="857.1" />
126
111 <glyph glyph-name="folder-empty" unicode="&#xf114;" d="M857 118v393q0 22-15 38t-38 15h-393q-23 0-38 16t-16 38v36q0 22-15 38t-38 15h-179q-22 0-38-15t-16-38v-536q0-22 16-38t38-16h679q22 0 38 16t15 38z m72 393v-393q0-51-37-88t-88-37h-679q-51 0-88 37t-37 88v536q0 51 37 88t88 37h179q51 0 88-37t37-88v-18h375q51 0 88-37t37-88z" horiz-adv-x="928.6" />
127 <glyph glyph-name="folder-empty" unicode="&#xf114;" d="M857 118v393q0 22-15 38t-38 15h-393q-23 0-38 16t-16 38v36q0 22-15 38t-38 15h-179q-22 0-38-15t-16-38v-536q0-22 16-38t38-16h679q22 0 38 16t15 38z m72 393v-393q0-51-37-88t-88-37h-679q-51 0-88 37t-37 88v536q0 51 37 88t88 37h179q51 0 88-37t37-88v-18h375q51 0 88-37t37-88z" horiz-adv-x="928.6" />
112
128
113 <glyph glyph-name="folder-open-empty" unicode="&#xf115;" d="M994 331q0 19-30 19h-607q-22 0-48-12t-39-29l-164-203q-11-13-11-22 0-20 30-20h607q23 0 48 13t40 29l164 203q10 12 10 22z m-637 90h429v90q0 22-16 38t-38 15h-321q-23 0-38 16t-16 38v36q0 22-15 38t-38 15h-179q-22 0-38-15t-16-38v-476l143 175q25 30 65 49t78 19z m708-90q0-35-25-67l-165-203q-24-30-65-49t-78-19h-607q-51 0-88 37t-37 88v536q0 51 37 88t88 37h179q51 0 88-37t37-88v-18h303q52 0 88-37t37-88v-90h107q30 0 56-13t37-40q8-17 8-37z" horiz-adv-x="1071.4" />
129 <glyph glyph-name="folder-open-empty" unicode="&#xf115;" d="M994 331q0 19-30 19h-607q-22 0-48-12t-39-29l-164-203q-11-13-11-22 0-20 30-20h607q23 0 48 13t40 29l164 203q10 12 10 22z m-637 90h429v90q0 22-16 38t-38 15h-321q-23 0-38 16t-16 38v36q0 22-15 38t-38 15h-179q-22 0-38-15t-16-38v-476l143 175q25 30 65 49t78 19z m708-90q0-35-25-67l-165-203q-24-30-65-49t-78-19h-607q-51 0-88 37t-37 88v536q0 51 37 88t88 37h179q51 0 88-37t37-88v-18h303q52 0 88-37t37-88v-90h107q30 0 56-13t37-40q8-17 8-37z" horiz-adv-x="1071.4" />
114
130
131 <glyph glyph-name="code" unicode="&#xf121;" d="M344 69l-28-28q-5-5-12-5t-13 5l-260 261q-6 5-6 12t6 13l260 260q5 6 13 6t12-6l28-28q6-5 6-13t-6-12l-219-220 219-219q6-6 6-13t-6-13z m330 596l-208-721q-2-7-9-11t-13-1l-34 9q-8 3-11 9t-2 14l209 720q2 8 8 11t13 2l35-10q7-2 11-9t1-13z m367-363l-260-261q-6-5-13-5t-13 5l-28 28q-5 6-5 13t5 13l219 219-219 220q-5 5-5 12t5 13l28 28q6 6 13 6t13-6l260-260q5-5 5-13t-5-12z" horiz-adv-x="1071.4" />
132
133 <glyph glyph-name="info" unicode="&#xf129;" d="M357 100v-71q0-15-10-25t-26-11h-285q-15 0-25 11t-11 25v71q0 15 11 25t25 11h35v214h-35q-15 0-25 11t-11 25v71q0 15 11 25t25 11h214q15 0 25-11t11-25v-321h35q15 0 26-11t10-25z m-71 643v-107q0-15-11-25t-25-11h-143q-14 0-25 11t-11 25v107q0 14 11 25t25 11h143q15 0 25-11t11-25z" horiz-adv-x="357.1" />
134
115 <glyph glyph-name="minus-squared" unicode="&#xf146;" d="M714 314v72q0 14-10 25t-25 10h-500q-15 0-25-10t-11-25v-72q0-14 11-25t25-10h500q14 0 25 10t10 25z m143 304v-536q0-66-47-113t-114-48h-535q-67 0-114 48t-47 113v536q0 66 47 113t114 48h535q67 0 114-48t47-113z" horiz-adv-x="857.1" />
135 <glyph glyph-name="minus-squared" unicode="&#xf146;" d="M714 314v72q0 14-10 25t-25 10h-500q-15 0-25-10t-11-25v-72q0-14 11-25t25-10h500q14 0 25 10t10 25z m143 304v-536q0-66-47-113t-114-48h-535q-67 0-114 48t-47 113v536q0 66 47 113t114 48h535q67 0 114-48t47-113z" horiz-adv-x="857.1" />
116
136
117 <glyph glyph-name="minus-squared-alt" unicode="&#xf147;" d="M643 404v-36q0-8-5-13t-13-5h-464q-8 0-13 5t-5 13v36q0 7 5 12t13 5h464q8 0 13-5t5-12z m71-250v464q0 37-26 63t-63 26h-464q-37 0-63-26t-27-63v-464q0-37 27-63t63-27h464q37 0 63 27t26 63z m72 464v-464q0-67-47-114t-114-47h-464q-67 0-114 47t-47 114v464q0 66 47 113t114 48h464q66 0 114-48t47-113z" horiz-adv-x="785.7" />
137 <glyph glyph-name="minus-squared-alt" unicode="&#xf147;" d="M643 404v-36q0-8-5-13t-13-5h-464q-8 0-13 5t-5 13v36q0 7 5 12t13 5h464q8 0 13-5t5-12z m71-250v464q0 37-26 63t-63 26h-464q-37 0-63-26t-27-63v-464q0-37 27-63t63-27h464q37 0 63 27t26 63z m72 464v-464q0-67-47-114t-114-47h-464q-67 0-114 47t-47 114v464q0 66 47 113t114 48h464q66 0 114-48t47-113z" horiz-adv-x="785.7" />
@@ -126,6 +146,8
126
146
127 <glyph glyph-name="history" unicode="&#xf1da;" d="M857 350q0-87-34-166t-91-137-137-92-166-34q-96 0-183 41t-147 114q-4 6-4 13t5 11l76 77q6 5 14 5 9-1 13-7 41-53 100-82t126-29q58 0 110 23t92 61 61 91 22 111-22 111-61 91-92 61-110 23q-55 0-105-20t-90-57l77-77q17-16 8-38-10-23-33-23h-250q-15 0-25 11t-11 25v250q0 24 22 33 22 10 39-8l72-72q60 57 137 88t159 31q87 0 166-34t137-92 91-137 34-166z m-357 161v-250q0-8-5-13t-13-5h-178q-8 0-13 5t-5 13v35q0 8 5 13t13 5h125v197q0 8 5 13t12 5h36q8 0 13-5t5-13z" horiz-adv-x="857.1" />
147 <glyph glyph-name="history" unicode="&#xf1da;" d="M857 350q0-87-34-166t-91-137-137-92-166-34q-96 0-183 41t-147 114q-4 6-4 13t5 11l76 77q6 5 14 5 9-1 13-7 41-53 100-82t126-29q58 0 110 23t92 61 61 91 22 111-22 111-61 91-92 61-110 23q-55 0-105-20t-90-57l77-77q17-16 8-38-10-23-33-23h-250q-15 0-25 11t-11 25v250q0 24 22 33 22 10 39-8l72-72q60 57 137 88t159 31q87 0 166-34t137-92 91-137 34-166z m-357 161v-250q0-8-5-13t-13-5h-178q-8 0-13 5t-5 13v35q0 8 5 13t13 5h125v197q0 8 5 13t12 5h36q8 0 13-5t5-13z" horiz-adv-x="857.1" />
128
148
149 <glyph glyph-name="circle-thin" unicode="&#xf1db;" d="M429 707q-73 0-139-28t-114-76-76-114-29-139 29-139 76-113 114-77 139-28 138 28 114 77 76 113 29 139-29 139-76 114-114 76-138 28z m428-357q0-117-57-215t-156-156-215-58-216 58-155 156-58 215 58 215 155 156 216 58 215-58 156-156 57-215z" horiz-adv-x="857.1" />
150
129 <glyph glyph-name="sliders" unicode="&#xf1de;" d="M196 64v-71h-196v71h196z m197 72q14 0 25-11t11-25v-143q0-14-11-25t-25-11h-143q-14 0-25 11t-11 25v143q0 15 11 25t25 11h143z m89 214v-71h-482v71h482z m-357 286v-72h-125v72h125z m732-572v-71h-411v71h411z m-536 643q15 0 26-10t10-26v-142q0-15-10-25t-26-11h-142q-15 0-25 11t-11 25v142q0 15 11 26t25 10h142z m358-286q14 0 25-10t10-25v-143q0-15-10-25t-25-11h-143q-15 0-25 11t-11 25v143q0 14 11 25t25 10h143z m178-71v-71h-125v71h125z m0 286v-72h-482v72h482z" horiz-adv-x="857.1" />
151 <glyph glyph-name="sliders" unicode="&#xf1de;" d="M196 64v-71h-196v71h196z m197 72q14 0 25-11t11-25v-143q0-14-11-25t-25-11h-143q-14 0-25 11t-11 25v143q0 15 11 25t25 11h143z m89 214v-71h-482v71h482z m-357 286v-72h-125v72h125z m732-572v-71h-411v71h411z m-536 643q15 0 26-10t10-26v-142q0-15-10-25t-26-11h-142q-15 0-25 11t-11 25v142q0 15 11 26t25 10h142z m358-286q14 0 25-10t10-25v-143q0-15-10-25t-25-11h-143q-15 0-25 11t-11 25v143q0 14 11 25t25 10h143z m178-71v-71h-125v71h125z m0 286v-72h-482v72h482z" horiz-adv-x="857.1" />
130
152
131 <glyph glyph-name="trash" unicode="&#xf1f8;" d="M286 82v393q0 8-5 13t-13 5h-36q-8 0-13-5t-5-13v-393q0-8 5-13t13-5h36q8 0 13 5t5 13z m143 0v393q0 8-5 13t-13 5h-36q-8 0-13-5t-5-13v-393q0-8 5-13t13-5h36q8 0 13 5t5 13z m142 0v393q0 8-5 13t-12 5h-36q-8 0-13-5t-5-13v-393q0-8 5-13t13-5h36q7 0 12 5t5 13z m-303 554h250l-27 65q-4 5-9 6h-177q-6-1-10-6z m518-18v-36q0-8-5-13t-13-5h-54v-529q0-46-26-80t-63-34h-464q-37 0-63 33t-27 79v531h-53q-8 0-13 5t-5 13v36q0 8 5 13t13 5h172l39 93q9 21 31 35t44 15h178q23 0 44-15t30-35l39-93h173q8 0 13-5t5-13z" horiz-adv-x="785.7" />
153 <glyph glyph-name="trash" unicode="&#xf1f8;" d="M286 82v393q0 8-5 13t-13 5h-36q-8 0-13-5t-5-13v-393q0-8 5-13t13-5h36q8 0 13 5t5 13z m143 0v393q0 8-5 13t-13 5h-36q-8 0-13-5t-5-13v-393q0-8 5-13t13-5h36q8 0 13 5t5 13z m142 0v393q0 8-5 13t-12 5h-36q-8 0-13-5t-5-13v-393q0-8 5-13t13-5h36q7 0 12 5t5 13z m-303 554h250l-27 65q-4 5-9 6h-177q-6-1-10-6z m518-18v-36q0-8-5-13t-13-5h-54v-529q0-46-26-80t-63-34h-464q-37 0-63 33t-27 79v531h-53q-8 0-13 5t-5 13v36q0 8 5 13t13 5h172l39 93q9 21 31 35t44 15h178q23 0 44-15t30-35l39-93h173q8 0 13-5t5-13z" horiz-adv-x="785.7" />
1 NO CONTENT: modified file, binary diff hidden
NO CONTENT: modified file, binary diff hidden
1 NO CONTENT: modified file, binary diff hidden
NO CONTENT: modified file, binary diff hidden
1 NO CONTENT: modified file, binary diff hidden
NO CONTENT: modified file, binary diff hidden
@@ -1,10 +1,12
1 ## -*- coding: utf-8 -*-
1 ## -*- coding: utf-8 -*-
2
2
3 <%inherit file="/base/base.mako"/>
3 <%inherit file="/base/base.mako"/>
4 <%namespace name="base" file="/base/base.mako"/>
4 <%namespace name="diff_block" file="/changeset/diff_block.mako"/>
5 <%namespace name="diff_block" file="/changeset/diff_block.mako"/>
6 <%namespace name="file_base" file="/files/base.mako"/>
5
7
6 <%def name="title()">
8 <%def name="title()">
7 ${_('%s Commit') % c.repo_name} - ${h.show_id(c.commit)}
9 ${_('{} Commit').format(c.repo_name)} - ${h.show_id(c.commit)}
8 %if c.rhodecode_name:
10 %if c.rhodecode_name:
9 &middot; ${h.branding(c.rhodecode_name)}
11 &middot; ${h.branding(c.rhodecode_name)}
10 %endif
12 %endif
@@ -19,120 +21,111
19 </%def>
21 </%def>
20
22
21 <%def name="main()">
23 <%def name="main()">
22 <script>
24 <script type="text/javascript">
23 // TODO: marcink switch this to pyroutes
25 // TODO: marcink switch this to pyroutes
24 AJAX_COMMENT_DELETE_URL = "${h.route_path('repo_commit_comment_delete',repo_name=c.repo_name,commit_id=c.commit.raw_id,comment_id='__COMMENT_ID__')}";
26 AJAX_COMMENT_DELETE_URL = "${h.route_path('repo_commit_comment_delete',repo_name=c.repo_name,commit_id=c.commit.raw_id,comment_id='__COMMENT_ID__')}";
25 templateContext.commit_data.commit_id = "${c.commit.raw_id}";
27 templateContext.commit_data.commit_id = "${c.commit.raw_id}";
26 </script>
28 </script>
29
27 <div class="box">
30 <div class="box">
28
31
29 <div id="changeset_compare_view_content" class="summary changeset">
32 <div class="summary">
30 <div class="summary-detail">
33
31 <div class="fieldset">
34 <div class="fieldset">
32 <div class="left-label-summary">
35 <div class="left-content">
33 <p>${_('Commit')}</p>
36
34 <div class="right-label-summary">
37 <div class="left-content-avatar">
35 <code>
38 ${base.gravatar(c.commit.author_email, 30)}
36 ${h.show_id(c.commit)}
39 </div>
37 </code>
40
38 <i class="tooltip icon-clipboard clipboard-action" data-clipboard-text="${c.commit.raw_id}" title="${_('Copy the full commit id')}"></i>
41 <div class="left-content-message">
39 % if hasattr(c.commit, 'phase'):
42 <div class="fieldset collapsable-content no-hide" data-toggle="summary-details">
40 <span class="tag phase-${c.commit.phase} tooltip" title="${_('Commit phase')}">${c.commit.phase}</span>
43 <div class="commit truncate-wrap">${h.urlify_commit_message(h.chop_at_smart(c.commit.message, '\n', suffix_if_chopped='...'), c.repo_name)}</div>
41 % endif
44 </div>
42
45
43 ## obsolete commits
46 <div class="fieldset collapsable-content" data-toggle="summary-details" style="display: none">
44 % if hasattr(c.commit, 'obsolete'):
47 <div class="commit">${h.urlify_commit_message(c.commit.message,c.repo_name)}</div>
45 % if c.commit.obsolete:
48 </div>
46 <span class="tag obsolete-${c.commit.obsolete} tooltip" title="${_('Evolve State')}">${_('obsolete')}</span>
49
47 % endif
50 <div class="fieldset" data-toggle="summary-details">
48 % endif
51 <div class="">
52 <table>
53 <tr class="file_author tooltip" title="${h.tooltip(h.author_string(c.commit.author_email))}">
49
54
50 ## hidden commits
55 <td>
51 % if hasattr(c.commit, 'hidden'):
56 <span class="user commit-author">${h.link_to_user(c.commit.author)}</span>
52 % if c.commit.hidden:
57 <span class="commit-date">- ${h.age_component(c.commit.date)}</span>
53 <span class="tag hidden-${c.commit.hidden} tooltip" title="${_('Evolve State')}">${_('hidden')}</span>
58 </td>
54 % endif
55 % endif
56
57
59
58 <div class="pull-right">
60 <td>
59 <span id="parent_link">
61 ## second cell for consistency with files
60 <a href="#parentCommit" title="${_('Parent Commit')}"><i class="icon-left icon-no-margin"></i>${_('parent')}</a>
62 </td>
61 </span>
63 </tr>
62 |
64 </table>
63 <span id="child_link">
64 <a href="#childCommit" title="${_('Child Commit')}">${_('child')}<i class="icon-right icon-no-margin"></i></a>
65 </span>
66 </div>
67
68 </div>
69 </div>
65 </div>
70 </div>
66 </div>
71
67
68 </div>
69 </div>
72
70
71 <div class="right-content">
72
73 <div data-toggle="summary-details">
74 <div class="tags tags-main">
75 <code><a href="${h.route_path('repo_commit',repo_name=c.repo_name,commit_id=c.commit.raw_id)}">${h.show_id(c.commit)}</a></code>
76 <i class="tooltip icon-clipboard clipboard-action" data-clipboard-text="${c.commit.raw_id}" title="${_('Copy the full commit id')}"></i>
77 ${file_base.refs(c.commit)}
78
79 ## phase
80 % if hasattr(c.commit, 'phase') and getattr(c.commit, 'phase') != 'public':
81 <span class="tag phase-${c.commit.phase} tooltip" title="${_('Commit phase')}">
82 <i class="icon-info"></i>${c.commit.phase}
83 </span>
84 % endif
73
85
74 <div class="fieldset">
86 ## obsolete commits
87 % if getattr(c.commit, 'obsolete', False):
88 <span class="tag obsolete-${c.commit.obsolete} tooltip" title="${_('Evolve State')}">
89 ${_('obsolete')}
90 </span>
91 % endif
92
93 ## hidden commits