slige/web/public/style.css
2024-12-17 02:10:11 +01:00

244 lines
4.3 KiB
CSS

:root {
color-scheme: light dark;
font-family: sans;
--bg-1: #2b2d31;
--bg-2: #313338;
--fg-2: #666666;
--black: #211f1c;
--black-transparent: #211f1caa;
--white: #ecebe9;
--white-transparent: #ecebe9aa;
--code-status: var(--white);
}
* {
box-sizing: border-box;
}
body {
margin: 0;
height: 100vh;
background-color: var(--black);
color: var(--white);
}
body.status-waiting {
--code-status: #e3b23c;
}
body.status-done {
--code-status: #63a46c;
}
main {
position: relative;
flex: 1;
padding: 1rem;
}
main > :not(#cover) {
margin: 0 auto;
}
main #cover {
position: absolute;
inset: 0;
display: flex;
justify-content: center;
align-items: center;
background-color: var(--black-transparent);
font-size: 2.5em;
border-radius: 0.25rem;
border: 2px solid var(--code-status);
}
.status-header {
font-size: 1.75rem;
padding: 1rem;
background-color: var(--code-status);
color: var(--black);
}
.status-header-content {
margin: 0 auto;
max-width: 1500px;
}
#views-nav {
display: flex;
flex-direction: column;
padding: 1rem 0;
border-radius: 0.25rem;
border: 2px solid var(--code-status);
gap: 0.5rem;
min-width: 200px;
}
#views-nav input {
display: none;
}
#views-nav label {
display: inline-block;
padding: 0.4em;
padding-bottom: 0.2em;
cursor: pointer;
width: 100%;
text-align: center;
}
#views-nav label:hover {
background-color: rgba(255, 255, 255, 0.2);
}
#view {
overflow: hidden;
}
#view .code-container {
max-height: 100%;
overflow: scroll;
background-color: rgba(255, 255, 255, 0.1);
padding: 0.5rem;
border-radius: 0.5rem;
}
#view .code-container pre {
font-family: "Roboto Mono", monospace;
font-weight: 600;
}
#view .code-container.code-coverage {
max-height: calc(100% - 103px);
}
#view .code-container-inner {
display: flex;
font-size: 1rem;
overflow: scroll;
max-height: 100%;
}
#view .code-lines {
color: var(--white-transparent);
border-right: 1px solid currentcolor;
padding-right: 0.5rem;
margin: 0;
}
#view .code-source {
width: 100%;
padding-left: 0.5rem;
margin: 0;
}
#view-nav div {
width: 100%;
}
#views-nav input:checked + label {
background-color: var(--code-status);
color: var(--black);
font-weight: bold;
}
#views-layout {
display: flex;
margin: 0 auto;
padding: 1rem;
gap: 1rem;
max-width: 1500px;
height: calc(100vh - 100px);
}
#covers-tooltip {
z-index: 2;
position: fixed;
top: 0;
left: 0;
padding: 3px;
border-radius: 3px;
background-color: var(--black);
border: 2px solid var(--code-status);
border-radius: 0.25rem;
color: #eee;
}
.coverage-radio {
display: flex;
flex-direction: row;
justify-content: center;
}
.coverage-radio-group {
display: flex;
justify-content: center;
flex: 1;
padding: 2rem 0.5rem;
max-width: max-content;
}
.coverage-radio-group label {
padding: 0.5rem;
border-radius: 0.25rem;
cursor: pointer;
border: 2px solid var(--code-status);
width: 280px;
text-align: center;
}
.coverage-radio-group input:checked ~ label {
background-color: var(--code-status);
color: var(--black);
font-weight: bold;
}
#flame-graph {
width: min-content;
}
#flame-graph #fg-background {
background-color: rgba(255, 255, 255, 0.1);
padding: 0.5rem;
border-radius: 0.5rem;
width: min-content;
}
#flame-graph #canvas-div {
width: 1004px;
height: 504px;
/*border: 2px solid rgb(240, 220, 200);*/
padding: 4px;
}
#flame-graph canvas {
z-index: 1;
width: 1000px;
height: 500px;
position: absolute;
image-rendering: pixelated;
transform: translate(-2px, -2px);
}
#flame-graph #toolbar {
margin: 20px;
display: flex;
flex-direction: row;
justify-content: center;
align-items: center;
}
#flame-graph #toolbar button {
padding: 5px 20px;
min-width: 100px;
}
#flame-graph #flame-graph-tooltip {
z-index: 2;
position: fixed;
top: 0;
left: 0;
padding: 3px;
border-radius: 3px;
background-color: var(--bg-2);
box-shadow: 2px 2px 2px black;
color: #eee;
}