mirror of
https://github.com/lrnselfreliance/wrolpi.git
synced 2026-10-26 19:01:39 -04:00
479 lines
9.6 KiB
CSS
479 lines
9.6 KiB
CSS
.channel-edit {
|
|
border-radius: 3px;
|
|
padding: 0.75em;
|
|
}
|
|
|
|
.channel-edit:hover {
|
|
background-color: #7abaff;
|
|
cursor: pointer;
|
|
}
|
|
|
|
::-ms-clear {
|
|
display: none;
|
|
}
|
|
|
|
.form-control-clear {
|
|
z-index: 10;
|
|
pointer-events: auto;
|
|
cursor: pointer;
|
|
}
|
|
|
|
pre.wrap-text {
|
|
white-space: pre-wrap; /* Since CSS 2.1 */
|
|
white-space: -moz-pre-wrap; /* Mozilla, since 1999 */
|
|
word-wrap: break-word; /* Internet Explorer 5.5+ */
|
|
}
|
|
|
|
.duration-overlay {
|
|
position: absolute;
|
|
top: 4px;
|
|
right: 4px;
|
|
color: black;
|
|
background: #ffffff;
|
|
padding: 0px 4px;
|
|
border-radius: 3px;
|
|
}
|
|
|
|
.no-link-underscore {
|
|
text-decoration: none !important;
|
|
}
|
|
|
|
.card-link {
|
|
color: black;
|
|
}
|
|
|
|
.center-me {
|
|
margin: 0 auto;
|
|
}
|
|
|
|
div.inverted {
|
|
background-color: #1B1C1D;
|
|
}
|
|
|
|
.toggle {
|
|
position: relative;
|
|
display: inline-block;
|
|
width: 49px;
|
|
height: 23px;
|
|
}
|
|
|
|
.toggle input {
|
|
opacity: 0;
|
|
width: 0;
|
|
height: 0;
|
|
}
|
|
|
|
.slider {
|
|
position: absolute;
|
|
cursor: pointer;
|
|
top: 0;
|
|
left: 0;
|
|
right: 0;
|
|
bottom: 0;
|
|
background-color: rgb(166, 166, 166);
|
|
-webkit-transition: .4s;
|
|
transition: .4s;
|
|
border-radius: 34px;
|
|
}
|
|
|
|
.slider:before {
|
|
position: absolute;
|
|
content: "";
|
|
height: 22px;
|
|
width: 22px;
|
|
left: 0;
|
|
bottom: 0;
|
|
background-color: white;
|
|
-webkit-transition: .4s;
|
|
transition: .4s;
|
|
border-radius: 50%;
|
|
}
|
|
|
|
.slider.disabled:before {
|
|
background-color: #CCCCCC;
|
|
}
|
|
|
|
input:checked + .slider {
|
|
background-color: #6435C9FF;
|
|
}
|
|
|
|
input.inverted:checked + .slider.inverted {
|
|
background-color: #6435C9AA;
|
|
}
|
|
|
|
input.disabled + .slider {
|
|
background-color: rgb(147, 147, 147);
|
|
}
|
|
|
|
input:checked + .slider:before {
|
|
-webkit-transform: translateX(26px);
|
|
-ms-transform: translateX(26px);
|
|
transform: translateX(26px);
|
|
}
|
|
|
|
.inverted-progress-text.ui.indicating.progress .bar > .progress,
|
|
.inverted-progress-text.ui.progress > .label {
|
|
color: white !important;
|
|
}
|
|
|
|
/* Light bar colors (yellow, olive) need dark text on the bar — must override inverted-progress-text. */
|
|
.light-bar-progress-text.ui.indicating.progress .bar > .progress,
|
|
.light-bar-progress-text.ui.progress .bar > .progress {
|
|
color: rgba(0, 0, 0, 0.85) !important;
|
|
}
|
|
|
|
/* File preview Modal.Actions toolbar.
|
|
Single layout that works at every viewport — buttons keep their order at any width.
|
|
On narrow screens, the tags selector wraps to its own line while the button groups stay together. */
|
|
.preview-toolbar {
|
|
display: flex;
|
|
flex-wrap: wrap;
|
|
align-items: center;
|
|
gap: 0.5em;
|
|
}
|
|
|
|
.preview-toolbar-group {
|
|
display: flex;
|
|
align-items: center;
|
|
gap: 0.25em;
|
|
flex: 0 0 auto;
|
|
}
|
|
|
|
.preview-toolbar-tags {
|
|
flex: 1 1 200px;
|
|
min-width: 0;
|
|
}
|
|
|
|
/* Caps preview content to fit inside the file-preview Modal.
|
|
300px reserves room for pathContent <pre>, Modal.Header, Modal.Actions row,
|
|
inner content (e.g. STL dimensions banner), and modal padding.
|
|
Use 100dvh so mobile browser chrome (URL bar) is accounted for. */
|
|
.preview-fit {
|
|
width: 100%;
|
|
height: calc(100dvh - 300px);
|
|
max-height: calc(100dvh - 300px);
|
|
min-height: 240px;
|
|
overflow: hidden;
|
|
position: relative;
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: center;
|
|
}
|
|
|
|
/* Fresnel (Media) wraps iframes in a div which would otherwise shrink to the
|
|
default iframe size; make it fill the preview so the iframe's 100% works. */
|
|
.preview-fit .fresnel-container {
|
|
width: 100%;
|
|
height: 100%;
|
|
}
|
|
|
|
td.file-path {
|
|
cursor: pointer;
|
|
}
|
|
|
|
/* Necessary until react-semantic-toasts is upgraded to Node 18 */
|
|
.ui-alerts {
|
|
position: fixed;
|
|
z-index: 2060;
|
|
padding: 24px;
|
|
}
|
|
|
|
.ui-alerts.top-right {
|
|
top: 20px;
|
|
right: 20px;
|
|
}
|
|
|
|
textarea.otp {
|
|
width: 100%;
|
|
color: #333;
|
|
}
|
|
|
|
.inline-header h1 {
|
|
display: inline-block;
|
|
}
|
|
|
|
.inline-header h2 {
|
|
display: inline-block;
|
|
}
|
|
|
|
.inline-header h3 {
|
|
display: inline-block;
|
|
}
|
|
|
|
.inline-header h4 {
|
|
display: inline-block;
|
|
}
|
|
|
|
.inline-header h5 {
|
|
display: inline-block;
|
|
}
|
|
|
|
.inline-header span {
|
|
margin-left: 1em;
|
|
}
|
|
|
|
.card-icon {
|
|
min-height: 163px;
|
|
text-align: center;
|
|
padding-top: 53px;
|
|
}
|
|
|
|
.card-icon.inverted {
|
|
background-color: #222222;
|
|
}
|
|
|
|
.modal .inverted {
|
|
border-color: #888888;
|
|
}
|
|
|
|
.modal .header.inverted {
|
|
color: #DDDDDD !important;
|
|
background-color: #171616 !important;
|
|
}
|
|
|
|
.modal .content.inverted {
|
|
color: #DDDDDD !important;
|
|
border-color: #888888 !important;
|
|
background-color: #171616 !important;
|
|
}
|
|
|
|
.modal .actions.inverted {
|
|
color: #DDDDDD !important;
|
|
border-color: #888888 !important;
|
|
background-color: #171616 !important;
|
|
}
|
|
|
|
.modal.inverted i.close {
|
|
color: #DDDDDD !important;
|
|
}
|
|
|
|
.ui.inverted.accordion .title,
|
|
.ui.inverted.accordion .content {
|
|
background-color: #171616 !important;
|
|
}
|
|
|
|
/* Mobile-responsive Confirm modal */
|
|
.ui.modal.themed-confirm {
|
|
max-width: 95vw;
|
|
}
|
|
|
|
.clickable {
|
|
cursor: pointer;
|
|
}
|
|
|
|
.segment.inverted {
|
|
border: 1px solid #ffffff22 !important;
|
|
}
|
|
|
|
.inverted label {
|
|
color: #DDDDDD !important;
|
|
}
|
|
|
|
.table-ellipsis td.column-ellipsis {
|
|
white-space: nowrap;
|
|
overflow: hidden;
|
|
text-overflow: ellipsis;
|
|
max-width: 0; /* Ensures the content doesn't exceed the cell's width */
|
|
min-width: 25em; /* About iPhone SE width */
|
|
}
|
|
|
|
.card-title-ellipsis {
|
|
display: -webkit-box;
|
|
-webkit-line-clamp: 3;
|
|
-webkit-box-orient: vertical;
|
|
overflow: hidden;
|
|
text-overflow: ellipsis;
|
|
}
|
|
|
|
.search-container {
|
|
display: flex;
|
|
justify-content: flex-start;
|
|
}
|
|
|
|
.search-input {
|
|
flex-grow: 1;
|
|
}
|
|
|
|
.search-clear {
|
|
margin: 10px;
|
|
}
|
|
|
|
.icon.divider {
|
|
color: rgb(0, 0, 0, 0.4) !important;
|
|
}
|
|
|
|
.divider.inverted {
|
|
color: rgb(255, 255, 255, 0.6) !important;
|
|
}
|
|
|
|
.video-player {
|
|
display: block;
|
|
margin: 0 auto; /* Center the video horizontally */
|
|
}
|
|
|
|
.audio-poster-container {
|
|
position: relative;
|
|
display: block;
|
|
text-align: center;
|
|
}
|
|
|
|
.audio-poster-overlay {
|
|
position: absolute;
|
|
top: 50%;
|
|
left: 50%;
|
|
transform: translate(-50%, -50%);
|
|
color: rgba(255, 255, 255, 0.85);
|
|
text-shadow: 0 0 20px rgba(0, 0, 0, 0.6);
|
|
pointer-events: none;
|
|
}
|
|
|
|
table.ratio-table td.equal-width {
|
|
width: 48%;
|
|
}
|
|
|
|
table.ratio-table td.min-width {
|
|
width: auto;
|
|
}
|
|
|
|
/* CollectionEditForm styles */
|
|
.required-indicator {
|
|
color: red;
|
|
}
|
|
|
|
.action-button-spacing {
|
|
margin-top: 1em;
|
|
}
|
|
|
|
/* Form loading skeleton */
|
|
.form-skeleton-field {
|
|
margin-bottom: 1.5em;
|
|
}
|
|
|
|
.form-skeleton-label {
|
|
height: 14px;
|
|
width: 80px;
|
|
margin-bottom: 8px;
|
|
background: linear-gradient(90deg, #e0e0e0 25%, #f0f0f0 50%, #e0e0e0 75%);
|
|
background-size: 200% 100%;
|
|
animation: skeleton-shimmer 1.5s infinite;
|
|
border-radius: 3px;
|
|
}
|
|
|
|
.form-skeleton-input {
|
|
height: 38px;
|
|
width: 100%;
|
|
background: linear-gradient(90deg, #e0e0e0 25%, #f0f0f0 50%, #e0e0e0 75%);
|
|
background-size: 200% 100%;
|
|
animation: skeleton-shimmer 1.5s infinite;
|
|
border-radius: 4px;
|
|
}
|
|
|
|
.form-skeleton-textarea {
|
|
height: 80px;
|
|
width: 100%;
|
|
background: linear-gradient(90deg, #e0e0e0 25%, #f0f0f0 50%, #e0e0e0 75%);
|
|
background-size: 200% 100%;
|
|
animation: skeleton-shimmer 1.5s infinite;
|
|
border-radius: 4px;
|
|
}
|
|
|
|
.form-skeleton-button {
|
|
height: 42px;
|
|
width: 100px;
|
|
background: linear-gradient(90deg, #e0e0e0 25%, #f0f0f0 50%, #e0e0e0 75%);
|
|
background-size: 200% 100%;
|
|
animation: skeleton-shimmer 1.5s infinite;
|
|
border-radius: 4px;
|
|
}
|
|
|
|
@keyframes skeleton-shimmer {
|
|
0% {
|
|
background-position: -200% 0;
|
|
}
|
|
100% {
|
|
background-position: 200% 0;
|
|
}
|
|
}
|
|
|
|
/* Dark mode skeleton */
|
|
.inverted .form-skeleton-label,
|
|
.inverted .form-skeleton-input,
|
|
.inverted .form-skeleton-textarea,
|
|
.inverted .form-skeleton-button {
|
|
background: linear-gradient(90deg, #333 25%, #444 50%, #333 75%);
|
|
background-size: 200% 100%;
|
|
animation: skeleton-shimmer 1.5s infinite;
|
|
}
|
|
|
|
/* Sticky footer for file browser */
|
|
.sticky-footer {
|
|
position: fixed;
|
|
bottom: 0;
|
|
left: 0;
|
|
right: 0;
|
|
padding: 0.5em 1em;
|
|
background-color: #f9fafb;
|
|
border-top: 1px solid rgba(34, 36, 38, 0.15);
|
|
z-index: 100;
|
|
}
|
|
|
|
.sticky-footer.inverted {
|
|
background-color: #1b1c1d;
|
|
border-top: 1px solid rgba(255, 255, 255, 0.1);
|
|
}
|
|
|
|
/* Drag selection visual feedback for FileBrowser */
|
|
tr.drag-selecting td {
|
|
background-color: rgba(33, 133, 208, 0.15) !important;
|
|
}
|
|
|
|
.inverted tr.drag-selecting td {
|
|
background-color: rgba(33, 133, 208, 0.25) !important;
|
|
}
|
|
|
|
/* Drag deselection visual feedback (red tint) */
|
|
tr.drag-deselecting td {
|
|
background-color: rgba(219, 40, 40, 0.15) !important;
|
|
}
|
|
|
|
.inverted tr.drag-deselecting td {
|
|
background-color: rgba(219, 40, 40, 0.25) !important;
|
|
}
|
|
|
|
/* Prevent text selection during drag */
|
|
.file-browser-dragging {
|
|
user-select: none;
|
|
-webkit-user-select: none;
|
|
-moz-user-select: none;
|
|
-ms-user-select: none;
|
|
}
|
|
|
|
@media only screen and (max-width: 700px) {
|
|
.hide-on-mobile {
|
|
display: none !important;
|
|
}
|
|
}
|
|
|
|
/* Ensure step icons are always visible, even when disabled */
|
|
.ui.steps .step.disabled > .icon,
|
|
.ui.steps .step.disabled > i.icon,
|
|
.ui.steps .disabled.step > .icon,
|
|
.ui.steps .disabled.step > i.icon {
|
|
opacity: 0.45 !important;
|
|
display: inline-block !important;
|
|
visibility: visible !important;
|
|
width: auto !important;
|
|
height: auto !important;
|
|
color: rgba(0, 0, 0, 0.87) !important;
|
|
}
|
|
|
|
/* Ensure the icon glyph (::before) is visible for disabled steps */
|
|
.ui.steps .step.disabled > .icon:before,
|
|
.ui.steps .step.disabled > i.icon:before,
|
|
.ui.steps .disabled.step > .icon:before,
|
|
.ui.steps .disabled.step > i.icon:before {
|
|
opacity: 0.45 !important;
|
|
visibility: visible !important;
|
|
color: rgba(0, 0, 0, 0.87) !important;
|
|
}
|
|
|