TelegramPWA/src/components/modals/gift/GiftComposer.module.scss

267 lines
5.1 KiB
SCSS

@use "../../../styles/mixins";
.root {
overflow-x: hidden;
overflow-y: scroll;
display: flex;
flex-direction: column;
height: 100%;
padding-top: 3.5rem;
padding-inline: 0.75rem;
@include mixins.adapt-padding-to-scrollbar(0.75rem);
}
.header {
display: flex;
align-items: center;
justify-content: space-between;
padding: 0.5rem;
padding-left: 4rem;
}
.spacer {
flex-grow: 1;
}
.title {
margin-inline: 0.5rem;
font-size: 1.25rem;
font-weight: var(--font-weight-medium);
}
.balance-container {
display: flex;
flex-direction: column;
align-items: flex-end;
margin-left: auto;
}
.balance-caption {
font-size: 1rem;
}
.star-balance {
margin-right: 0.1875rem;
}
.balance {
display: flex;
align-items: center;
font-size: 1rem;
font-weight: var(--font-weight-medium);
}
.optionsSection {
padding-top: 1rem;
padding-bottom: 0.5rem;
padding-inline: 0.25rem;
}
.checkboxTitle {
margin: 0;
font-size: 1rem;
color: var(--color-text);
text-transform: initial;
}
.actionMessageView {
position: relative;
overflow: hidden;
display: grid;
flex: 0 0 auto;
place-content: center;
height: 22.5rem;
margin-top: 0.75rem;
margin-bottom: 0;
padding: 0.5rem;
border-radius: var(--border-radius-default);
background-color: var(--theme-background-color);
background-repeat: no-repeat;
background-position: center;
background-size: 100% 100%;
&::before {
content: "";
position: absolute;
top: 0;
right: 0;
bottom: 0;
left: 0;
background-image: url('../../../assets/chat-bg-pattern-light.png');
background-repeat: repeat;
background-position: top right;
background-size: 510px auto;
mix-blend-mode: overlay;
:global(html.theme-dark) & {
background-image: url('../../../assets/chat-bg-pattern-dark.png');
mix-blend-mode: unset;
}
@media (max-width: 600px) {
bottom: auto;
height: calc(var(--vh, 1vh) * 100);
}
}
:global(html.theme-light) & {
background-image: url('../../../assets/chat-bg-br.png');
}
}
.messageInput, .limited {
margin-bottom: 0.5rem;
}
.footer {
position: sticky;
bottom: 0;
display: flex;
flex-direction: column;
justify-content: space-between;
margin-inline: -0.75rem; // Account for padding
padding: 1rem;
background-color: var(--color-background-secondary);
}
.switcher {
margin-bottom: 0.25rem;
}
.switcherStarIcon {
margin-inline-start: 0 !important;
margin-inline-end: 0.125rem !important;
}
.description {
margin-bottom: 0.5rem;
margin-left: 1rem;
font-size: 0.875rem;
color: var(--color-text-secondary);
}
.main-button {
display: flex;
font-size: 1rem;
font-weight: var(--font-weight-semibold);
}
.star {
--color-fill: var(--color-white);
width: 1rem;
height: 1rem;
margin-right: 0.1875rem;
margin-left: 0.5rem;
}
.background {
position: absolute;
top: 0;
right: 0;
bottom: 0;
left: 0;
overflow: hidden;
background-color: var(--theme-background-color);
&::before {
content: "";
position: absolute;
top: 0;
right: 0;
bottom: 0;
left: 0;
background-repeat: no-repeat;
background-position: center;
background-size: cover;
}
:global(html.theme-light) &:not(.customBgImage)::before {
background-image: url('../../../assets/chat-bg-br.png');
}
&:not(.customBgImage).customBgColor::before {
display: none;
}
&.customBgImage::before {
transform: scale(1.1);
background-image: var(--custom-background) !important;
}
:global(body:not(.no-page-transitions)) &.withTransition {
transition: background-color 0.2s;
&.customBgImage::before {
transition: background-image var(--layer-transition);
}
}
&.customBgImage.blurred::before {
filter: blur(12px);
}
:global(html.theme-light body:not(.no-page-transitions)) &:not(.customBgImage).withRightColumn::before {
@media screen and (min-width: 1276px) {
transform: scaleX(0.73) !important;
}
@media screen and (min-width: 1921px) {
transform: scaleX(0.8) !important;
}
@media screen and (min-width: 2600px) {
transform: scaleX(0.95) !important;
}
}
/* stylelint-disable-next-line @stylistic/max-line-length */
:global(html.theme-light body:not(.no-page-transitions)) &:not(.customBgImage).withRightColumn.withTransition::before {
transition: transform var(--layer-transition);
}
&:not(.customBgImage):not(.customBgColor)::after {
content: "";
position: absolute;
top: 0;
right: 0;
bottom: 0;
left: 0;
background-image: url('../../../assets/chat-bg-pattern-light.png');
background-repeat: repeat;
background-position: top right;
background-size: 510px auto;
mix-blend-mode: overlay;
:global(html.theme-dark) & {
background-image: url('../../../assets/chat-bg-pattern-dark.png');
mix-blend-mode: unset;
}
}
@media screen and (min-width: 1276px) {
:global(body:not(.no-page-transitions)) &:not(.customBgImage)::before {
transform-origin: left center;
transform: scale(1);
overflow: hidden;
}
}
}