Files
ontime/apps/client/src/features/rundown/event-block/EventBlock.module.scss
T
Carlos Valente 10852eecdd Rundown modes (#864)
* refactor: simplify settings

* refactor: quick add around selection

* refactor: no action menu in delay block

* refactor: no action menu in event block

* style: context menu dark

* refactor: context menu actions
2024-04-02 20:09:27 +02:00

217 lines
3.7 KiB
SCSS

@use '../blockMixins' as *;
$skip-opacity: 0.2;
.eventBlock {
@include block-styling;
background-color: $block-bg;
display: grid;
grid-template-areas:
'binder ... ... ...'
'binder pb-actions times ...'
'binder pb-actions title title'
'binder pb-actions estatus estatus'
'binder ... ... ...';
grid-template-columns: $block-binder-width 3rem 1fr auto;
grid-template-rows: 0.25rem 2.25rem 2.25rem 2.25rem 0.25rem;
align-items: center;
padding-right: $block-clearance;
gap: 2px;
transition-property: background-color;
transition-duration: $transition-time-feedback;
@mixin declare-overrides() {
--status-color-override: #{$gray-200};
--status-color-active-override: #{$green-400};
}
&.loaded {
background-color: $gray-1325;
}
&.play {
background-color: $green-700;
@include declare-overrides;
}
&.roll {
background-color: $blue-700;
@include declare-overrides;
}
&.pause {
background-color: rgba($ontime-paused, 0.6);
@include declare-overrides;
}
&.selected {
outline: 1px solid $block-selected-color;
}
&.hasCursor {
outline: 1px solid $block-cursor-color;
}
&.past:not(.skip) {
.timerNote,
.statusElements,
.eventTitle,
.eventNote,
.eventTimers,
.eventStatus,
.playbackActions,
.binder {
opacity: 0.4;
}
}
&.skip {
border: 1px solid $white-3;
.timerNote,
.eventTitle,
.eventNote,
.binder,
.eventTimers,
.eventStatus {
opacity: $skip-opacity;
}
}
}
.binder {
grid-area: binder;
height: 100%;
display: grid;
place-content: center;
position: relative;
cursor: pointer;
border-radius: $block-border-radius 0 0 $block-border-radius;
background-color: $gray-1050; // to override inline
color: $section-white;
font-size: 1rem;
.drag {
@include drag-style;
position: absolute;
margin-top: 0.25rem;
}
.cue {
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
width: 5.5rem;
text-align: center;
font-weight: 600;
letter-spacing: 0.5px;
rotate: -90deg;
}
}
.playbackActions {
grid-area: pb-actions;
display: flex;
flex-direction: column;
margin: 0 0.5rem;
gap: 0.5rem;
}
.eventTimers {
grid-area: times;
display: flex;
align-items: center;
gap: $block-clearance;
height: 100%;
}
.titleSection {
grid-area: title;
display: flex;
align-items: center;
justify-content: space-between;
.nextTag {
font-size: 1rem;
color: $orange-500;
letter-spacing: 0.03px;
font-weight: 600;
}
.eventTitle {
overflow: hidden;
max-height: calc(2.5em + 2px);
line-height: 1.25em;
flex: 1;
}
}
.progressBg {
grid-area: progb;
border-radius: 1px;
background-color: $gray-1100;
opacity: 1;
height: 100%;
overflow: hidden; /* clip foreground border radius*/
}
.progressBg.hidden {
opacity: 0;
}
.flip {
transform: rotateY(180deg);
}
.statusElements {
grid-area: estatus;
display: grid;
grid-template-areas:
'notes status'
'progb progb';
gap: 2px;
grid-template-rows: auto 0.25rem;
align-items: center;
height: 100%;
padding: 2px 0;
}
.eventNote {
grid-area: notes;
display: block;
font-size: calc(1rem - 3px);
color: $block-text-color;
line-height: calc(1rem - 3px);
max-height: 2rem;
overflow-y: hidden;
}
.eventStatus {
grid-area: status;
display: flex;
justify-content: flex-end;
align-items: center;
gap: 0.5rem;
color: var(--status-color-override, $gray-500);
.statusIcon {
width: 1rem;
height: 1rem;
}
.statusIcon.active {
color: var(--status-color-active-override, $active-indicator);
}
.statusIcon.disabled {
color: $gray-1000;
}
}