plz / static / css / ci.scss
299 lines · 258 sloc · 5.21 KB · 5d8107cb28727996daed016b0c79a9346f864d2b
Raw
1$ci-success: #28a745;
2$ci-failure: #cb2431;
3$ci-running: #dbab09;
4$ci-pending: #6a737d;
5$ci-cancelled: #959da5;
6$gray: #dfdfdf;
7$gray-light: #f3f3f3;
8
9.ci-error {
10 padding: 12px 16px;
11 margin-bottom: 16px;
12 background: #ffeef0;
13 border: 1px solid #fdaeb7;
14 border-radius: 5px;
15 color: $ci-failure;
16 font-size: 14px;
17}
18
19.ci-empty {
20 padding: 40px 20px;
21 text-align: center;
22 color: #6a737d;
23
24 code {
25 background: $gray-light;
26 padding: 2px 6px;
27 border-radius: 3px;
28 font-size: 13px;
29 }
30}
31
32// Status badges
33.ci-status-badge {
34 display: inline-block;
35 padding: 2px 10px;
36 border-radius: 3px;
37 font-size: 12px;
38 font-weight: 500;
39 color: #fff;
40 text-transform: capitalize;
41
42 &.ci-success { background: $ci-success; }
43 &.ci-failure { background: $ci-failure; }
44 &.ci-running { background: $ci-running; color: #24292e; }
45 &.ci-pending { background: $ci-pending; }
46 &.ci-cancelled { background: $ci-cancelled; }
47}
48
49// Small inline badge for tree view
50.ci-badge-inline {
51 display: inline-block;
52 width: 10px;
53 height: 10px;
54 border-radius: 50%;
55 margin-left: 6px;
56 vertical-align: middle;
57
58 &.ci-success { background: $ci-success; }
59 &.ci-failure { background: $ci-failure; }
60 &.ci-running { background: $ci-running; }
61 &.ci-pending { background: $ci-pending; }
62 &.ci-cancelled { background: $ci-cancelled; }
63}
64
65// CI runs list
66.ci-runs {
67 border: 1px solid $gray;
68 border-radius: 5px;
69 overflow: hidden;
70}
71
72.ci-runs-header {
73 display: flex;
74 padding: 10px 15px;
75 background: $gray-light;
76 border-bottom: 1px solid $gray;
77 font-weight: 600;
78 font-size: 13px;
79 color: #586069;
80}
81
82.ci-run-row {
83 display: flex;
84 padding: 10px 15px;
85 border-bottom: 1px solid $gray;
86 text-decoration: none;
87 color: inherit;
88 align-items: center;
89
90 &:last-child { border-bottom: none; }
91 &:hover { background: $gray-light; }
92}
93
94.ci-col-status { flex: 0 0 120px; }
95.ci-col-branch { flex: 0 0 150px; }
96.ci-col-commit { flex: 0 0 120px; }
97.ci-col-time { flex: 1; text-align: right; color: #586069; font-size: 13px; }
98
99// CI run detail page
100.ci-run-header {
101 display: flex;
102 align-items: center;
103 gap: 12px;
104 margin-bottom: 10px;
105
106 h1 { margin: 0; }
107}
108
109// Restart button
110.ci-restart-form {
111 margin-left: auto;
112}
113
114.ci-restart-btn {
115 padding: 5px 14px;
116 background: #fff;
117 color: #24292e;
118 border: 1px solid $gray;
119 border-radius: 5px;
120 font-size: 13px;
121 font-weight: 500;
122 cursor: pointer;
123
124 &:hover {
125 background: $gray-light;
126 border-color: #c6cbd1;
127 }
128}
129
130.ci-run-info {
131 display: flex;
132 gap: 20px;
133 padding: 12px 0;
134 margin-bottom: 20px;
135 border-bottom: 1px solid $gray;
136 font-size: 13px;
137 color: #586069;
138
139 b { color: #24292e; }
140 code {
141 background: $gray-light;
142 padding: 1px 5px;
143 border-radius: 3px;
144 font-size: 12px;
145 }
146}
147
148// CI job block
149.ci-job {
150 border: 1px solid $gray;
151 border-radius: 5px;
152 margin-bottom: 16px;
153 overflow: hidden;
154}
155
156.ci-job-header {
157 display: flex;
158 justify-content: space-between;
159 align-items: center;
160 padding: 10px 15px;
161 background: $gray-light;
162 border-bottom: 1px solid $gray;
163
164 &.ci-success { border-left: 3px solid $ci-success; }
165 &.ci-failure { border-left: 3px solid $ci-failure; }
166 &.ci-running { border-left: 3px solid $ci-running; }
167 &.ci-pending { border-left: 3px solid $ci-pending; }
168}
169
170// CI steps
171.ci-steps {
172 padding: 0;
173}
174
175.ci-step {
176 border-bottom: 1px solid $gray;
177
178 &:last-child { border-bottom: none; }
179}
180
181.ci-step-header {
182 display: flex;
183 align-items: center;
184 gap: 8px;
185 padding: 8px 15px;
186 font-size: 13px;
187
188 &.ci-success .ci-step-icon { color: $ci-success; }
189 &.ci-failure .ci-step-icon { color: $ci-failure; }
190 &.ci-running .ci-step-icon { color: $ci-running; }
191 &.ci-pending .ci-step-icon { color: $ci-pending; }
192}
193
194.ci-step-icon {
195 font-size: 14px;
196 width: 16px;
197 text-align: center;
198}
199
200.ci-step-cmd {
201 background: $gray-light;
202 padding: 1px 6px;
203 border-radius: 3px;
204 font-size: 12px;
205 color: #586069;
206 margin-left: auto;
207}
208
209.ci-step-output {
210 background: #1b1f23;
211 color: #e1e4e8;
212 padding: 12px 15px;
213 margin: 0;
214 font-family: SFMono-Regular, Menlo, Monaco, Consolas, monospace;
215 font-size: 12px;
216 line-height: 1.6;
217 overflow-x: auto;
218 white-space: pre-wrap;
219 word-break: break-all;
220}
221
222// Create CI file button
223.ci-create-btn {
224 display: inline-block;
225 margin-top: 15px;
226 padding: 8px 20px;
227 background: #28a745;
228 color: #fff !important;
229 border-radius: 5px;
230 font-size: 14px;
231 font-weight: 500;
232 text-decoration: none;
233
234 &:hover {
235 background: #22863a;
236 }
237}
238
239// Create file form
240.create-file-form {
241 margin-top: 15px;
242}
243
244.create-file-path {
245 display: flex;
246 align-items: center;
247 margin-bottom: 10px;
248 gap: 4px;
249
250 input {
251 flex: 1;
252 font-size: 14px;
253 padding: 6px 10px;
254 }
255}
256
257.create-file-prefix {
258 color: #586069;
259 font-size: 14px;
260 white-space: nowrap;
261}
262
263.create-file-editor {
264 width: 100%;
265 box-sizing: border-box;
266 font-family: SFMono-Regular, Menlo, Monaco, Consolas, monospace;
267 font-size: 13px;
268 line-height: 1.5;
269 padding: 12px;
270 border: 1px solid $gray;
271 border-radius: 5px;
272 resize: vertical;
273 tab-size: 2;
274}
275
276.create-file-commit {
277 display: flex;
278 gap: 10px;
279 margin-top: 10px;
280 align-items: center;
281
282 input[type="text"] {
283 flex: 1;
284 padding: 6px 10px;
285 }
286
287 input[type="submit"] {
288 padding: 6px 20px;
289 background: #28a745;
290 color: #fff;
291 border: 1px solid #28a745;
292 width: auto !important;
293
294 &:hover {
295 background: #22863a;
296 border-color: #22863a;
297 }
298 }
299}
300