131 lines
2.7 KiB
CSS
131 lines
2.7 KiB
CSS
/*
|
|
* Copyright (C) 2024 Umorpha Systems
|
|
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
*/
|
|
|
|
/* General ********************************************************************/
|
|
|
|
body {
|
|
font-family: sans-serif;
|
|
|
|
margin: 0;
|
|
display: flex;
|
|
flex-direction: column;
|
|
min-height: 100vh;
|
|
}
|
|
|
|
* {
|
|
box-sizing: border-box;
|
|
}
|
|
iframe {
|
|
box-sizing: content-box;
|
|
}
|
|
|
|
body > header {
|
|
padding: 0 20px;
|
|
border-bottom: solid 1px black;
|
|
}
|
|
|
|
body > article {
|
|
flex-grow: 2;
|
|
|
|
padding: 20px;
|
|
}
|
|
|
|
body > footer {
|
|
border-top: solid 1px black;
|
|
background-color: #fafafa;
|
|
padding: 8px 20px;
|
|
}
|
|
|
|
body > footer a {
|
|
color: #0063c4;
|
|
text-decoration: none;
|
|
}
|
|
|
|
body > footer a:hover,
|
|
body > footer a:active,
|
|
body > footer a:focus {
|
|
text-decoration: underline;
|
|
}
|
|
|
|
tt, pre {
|
|
background-color: #ddddff;
|
|
}
|
|
|
|
table.job-triggers {
|
|
border-spacing: 0;
|
|
border-radius: 0.8em;
|
|
border: solid 1px black;
|
|
overflow: hidden;
|
|
}
|
|
table.job-triggers td {
|
|
padding: 0.4em;
|
|
}
|
|
table.job-triggers td:not(:last-child) {
|
|
border-right: solid 1px black;
|
|
}
|
|
table.job-triggers tr:not(:last-child) td {
|
|
border-bottom: solid 1px black;
|
|
}
|
|
|
|
/* Jobs page ******************************************************************/
|
|
|
|
table.jobs {
|
|
border-collapse: collapse;
|
|
height: 1px; /* makes the "height: 100%" bits below work, idk */
|
|
}
|
|
|
|
table.jobs > thead > tr > th,
|
|
table.jobs > tbody > tr > td {
|
|
border: solid 1px black;
|
|
}
|
|
table.jobs > thead > tr > th,
|
|
table.jobs > tbody > tr > td > a {
|
|
padding: 0.2em;
|
|
}
|
|
|
|
table.jobs > tbody > tr > td {
|
|
padding: 0;
|
|
height: 100%;
|
|
}
|
|
|
|
table.jobs > tbody > tr:nth-child(odd) > td {
|
|
background-color: #eeeeee;
|
|
}
|
|
|
|
table.jobs > tbody > tr > td > a {
|
|
text-decoration: none;
|
|
display: block;
|
|
width: 100%;
|
|
height: 100%;
|
|
color: black;
|
|
}
|
|
|
|
table.jobs > tbody > tr:hover > td > a {
|
|
background-color: #AAAAF3;
|
|
}
|
|
|
|
table.jobs > tbody > tr > td.job-status { text-align: center; }
|
|
table.jobs > tbody > tr.job-new > td.job-status { background-color: yellow; }
|
|
table.jobs > tbody > tr.job-running > td.job-status { background-color: blue; }
|
|
table.jobs > tbody > tr.job-succeeded > td.job-status { background-color: green; }
|
|
table.jobs > tbody > tr.job-failed > td.job-status { background-color: red; }
|
|
table.jobs > tbody > tr.job-error > td { background-color: red; }
|
|
|
|
/* Job page *******************************************************************/
|
|
|
|
dl.job dt::after {
|
|
content: ":";
|
|
}
|
|
|
|
dl.job dd.job-status.job-new { background-color: yellow; }
|
|
dl.job dd.job-status.job-running { background-color: blue; }
|
|
dl.job dd.job-status.job-succeeded { background-color: green; }
|
|
dl.job dd.job-status.job-failed { background-color: red; }
|
|
dl.job dd.job-status.job-error { background-color: red; }
|
|
|
|
iframe {
|
|
width: 100%;
|
|
}
|