0
owncast/web/components/ui/OfflineEmbed/OfflineEmbed.module.scss
gingervitis 87c7571d5c
embed screen style adjustments (#4063)
* restyle and relayout embed screen to account for smaller screen displays.
- address https://github.com/owncast/owncast/issues/3683 to address overflow issues
- address https://github.com/owncast/owncast/issues/4051 to move the name of the stream

* Javascript formatting autofixes

* clean up; restore package lock

* accommodate cases when there's no follow option; put follow form on one line, but wrap if need

* clean up

* separate out follow form into separate standalone component to be used in multiple places

* improve follow error styling; rm defaultProps for Modal to get rid of warning

* improve styling of follow form and components for legibility

* prettyify scss

* prettyify scss again

* one more time

* prettify ant file

* simplify layout, center everything

* just use gap

* tweak and lint

* lint, again

---------

Co-authored-by: Owncast <owncast@owncast.online>
2025-01-05 17:28:35 -08:00

157 lines
3.6 KiB
SCSS

@import '../../../styles/mixins';
$short-container-max-height: 480px;
$short-container-min-height: 320px;
$follow-modal-width: 300px;
.offlineContainer {
--text-color: rgb(255 255 255 / 100%);
position: absolute;
width: 100%;
height: 100%;
background-image: linear-gradient(to bottom, rgb(18 22 29 / 0%) 0%, rgb(18 22 29 / 75%) 100%),
radial-gradient(circle, rgb(18 22 29 / 0%) 0%, rgb(18 22 29 / 50%) 100%),
linear-gradient(to bottom, rgb(122 92 243 / 100%) 0%, rgb(35 134 226 / 100%) 100%),
linear-gradient(rgb(240 243 248 / 100%), rgb(240 243 248 / 100%));
display: flex;
flex-flow: column nowrap;
align-items: center;
justify-content: center;
gap: 16px;
font-size: 16px;
@include screen(mobile) {
font-size: 12px;
}
@media (height <= $short-container-max-height) {
font-size: 12px;
}
/* Content */
.content {
color: var(--text-color);
display: flex;
flex-flow: column nowrap;
align-items: center;
gap: 2rem;
padding: 24px;
text-align: center;
width: 100vw;
height: 100vh;
max-width: 1024px;
max-height: 576px;
justify-content: center;
.headerContainer {
display: flex;
align-items: center;
justify-content: center;
gap: 8px;
width: 100%;
margin: 0;
font-size: 1em;
}
.messageContainer {
width: 100%;
--description-height: auto;
@media (height <= $short-container-min-height) {
--description-height: 30vh;
margin: 0;
}
min-height: var(--description-height);
--gradient-mask: linear-gradient(to top, rgb(0 0 0 / 0%), rgb(0 0 0 / 100%) 17%);
overflow: hidden;
overflow-y: auto;
max-height: var(--description-height);
mask-image: var(--gradient-mask);
mask-repeat: repeat-x;
mask-size: auto var(--description-height);
mask-position: top;
padding-bottom: 0.5rem;
}
/* Message */
.message {
color: var(--text-color);
font-family: var(--theme-text-body-font-family);
font-style: normal;
font-size: 1em;
line-height: 1.375;
letter-spacing: 0;
text-decoration: none;
text-transform: none;
display: block;
margin: auto;
@include screen(desktop) {
width: 80%;
}
}
/* Heading */
.offlineTitle {
color: var(--text-color);
font-family: var(--theme-text-display-font-family);
font-style: normal;
font-size: 1.375em;
font-weight: 600;
line-height: 1.125;
letter-spacing: -0.125px;
text-decoration: none;
text-transform: none;
margin: 0;
}
/* Page Logo */
.pageLogo {
position: relative;
min-height: 3em;
min-width: 3em;
max-height: 100px;
max-width: 100px;
border-radius: 96px;
background-color: rgb(255 255 255 / 100%);
border: 2px solid rgb(18 22 29 / 100%);
display: flex;
flex-flow: row nowrap;
align-items: flex-start;
justify-content: flex-start;
gap: 0;
padding: 10px;
background-size: cover;
background-position: center;
}
/* Stream Name */
.streamName {
color: var(--text-color);
font-family: var(--theme-text-display-font-family);
font-style: normal;
font-size: 1.25em;
font-weight: 500;
line-height: 1.1875;
letter-spacing: -0.0625px;
text-decoration: none;
text-transform: none;
text-align: left;
}
.followButton {
display: none;
@media (width > $follow-modal-width) {
display: block;
}
}
}
}