mirror of
https://github.com/cpvalente/ontime.git
synced 2026-08-15 04:13:47 +00:00
3603b836f6
* refactor: typescript migration * chore: remove prop-types package * refactor: file structure * refactor: migrate ontime table to tanstack table 8 * refactor: rundown controller uses service as data source * refactor: convert to typescript * feat: caching store * refactor: add delay values to rundown * feat: toggle past visibility * chore: update tests * refactor: add extra fields to CSV * style: show skipped events * chore: add route to navigation menu * style: allow jumping to bottom * chore: add tests
158 lines
2.4 KiB
SCSS
158 lines
2.4 KiB
SCSS
@use '../../theme/ontimeColours' as *;
|
|
@use '../../theme/v2Styles' as *;
|
|
|
|
$table-font-size: calc(1rem - 2px);
|
|
$table-header-font-size: calc(1rem - 3px);
|
|
|
|
@mixin ellipsis-overflow() {
|
|
white-space: nowrap;
|
|
overflow: hidden;
|
|
text-overflow: ellipsis;
|
|
}
|
|
|
|
.cuesheetContainer {
|
|
grid-area: table;
|
|
display: flex;
|
|
flex-direction: column;
|
|
width: 100%;
|
|
height: 100%;
|
|
overflow: auto;
|
|
padding-bottom: 640px; // allow focus to reach last elements
|
|
}
|
|
|
|
.cuesheet {
|
|
font-size: $table-font-size;
|
|
font-weight: 400;
|
|
|
|
tr {
|
|
display: flex;
|
|
}
|
|
|
|
th, td {
|
|
margin: 1px;
|
|
font-weight: inherit;
|
|
font-size: inherit;
|
|
text-align: left;
|
|
position: relative;
|
|
@include ellipsis-overflow;
|
|
}
|
|
}
|
|
|
|
.tableHeader,
|
|
.eventRow {
|
|
.indexColumn {
|
|
min-width: 2rem;
|
|
text-align: right;
|
|
font-weight: 400;
|
|
}
|
|
}
|
|
|
|
.tableHeader {
|
|
position: sticky;
|
|
top: 0;
|
|
z-index: 10;
|
|
background-color: $gray-1300;
|
|
|
|
font-size: $table-header-font-size;
|
|
color: $gray-700;
|
|
font-weight: 400;
|
|
}
|
|
|
|
.eventRow {
|
|
vertical-align: top;
|
|
|
|
td {
|
|
background-color: $gray-1250;
|
|
border-radius: 2px;
|
|
padding: 0.25rem;
|
|
}
|
|
|
|
&.skip {
|
|
text-decoration: line-through;
|
|
opacity: $opacity-disabled !important; // fighting inline styles
|
|
}
|
|
}
|
|
|
|
.blockRow {
|
|
width: 100%;
|
|
background-color: $gray-1350;
|
|
font-size: 1rem;
|
|
height: 2.5rem;
|
|
|
|
td {
|
|
align-self: flex-end;
|
|
position: sticky;
|
|
left: 1rem;
|
|
padding: 0.25rem 0;
|
|
}
|
|
}
|
|
|
|
.delayRow {
|
|
width: 100%;
|
|
color: $ontime-delay-text;
|
|
|
|
td {
|
|
position: sticky;
|
|
left: 47.5%; // center of the screen, ish
|
|
padding: 0.5rem 0;
|
|
}
|
|
}
|
|
|
|
.check {
|
|
font-size: 1.5rem;
|
|
margin: 0 auto;
|
|
}
|
|
|
|
.time {
|
|
display: flex;
|
|
gap: 0.5rem;
|
|
align-items: center;
|
|
|
|
> * {
|
|
@include ellipsis-overflow;
|
|
}
|
|
}
|
|
|
|
.delaySymbol {
|
|
svg {
|
|
font-size: 1.5rem;
|
|
color: $ontime-delay;
|
|
margin: 0 auto;
|
|
}
|
|
}
|
|
|
|
.delayedTime {
|
|
color: $ontime-delay-text;
|
|
font-size: calc(1rem - 2px);
|
|
}
|
|
|
|
.resizer {
|
|
cursor: col-resize;
|
|
opacity: 0;
|
|
display: inline-block;
|
|
width: 3px;
|
|
height: 100%;
|
|
position: absolute;
|
|
right: 0;
|
|
top: 0;
|
|
transform: translateX(50%);
|
|
background-color: $action-blue;
|
|
|
|
user-select: none;
|
|
touch-action: none;
|
|
|
|
transition-duration: $transition-time-action;
|
|
transition-property: width, background-color;
|
|
|
|
&:hover {
|
|
opacity: $opacity-disabled;
|
|
width: 6px;
|
|
}
|
|
|
|
&.isResizing {
|
|
opacity: 1;
|
|
width: 6px;
|
|
background-color: $action-blue;
|
|
}
|
|
}
|