TelegramPWA/src/components/middle/FloatingActionButtons.module.scss
2025-01-21 18:29:40 +01:00

94 lines
1.9 KiB
SCSS

.root {
--base-bottom-pos: 6rem;
--translate-x: 0;
--translate-y: 4.5rem;
position: absolute;
bottom: var(--base-bottom-pos);
right: max(1rem, env(safe-area-inset-right));
opacity: 0;
transform: translate(var(--translate-x), var(--translate-y));
transition: transform 0.25s cubic-bezier(0.34, 1.56, 0.64, 1), opacity 0.2s ease;
z-index: var(--z-scroll-down-button);
pointer-events: none;
.hidden {
opacity: 0;
pointer-events: none;
}
.reactions {
transition: 0.2s ease opacity, 0.25s cubic-bezier(0.34, 1.56, 0.64, 1) transform;
}
.transform-down {
transform: translateY(4rem);
}
.unread {
pointer-events: none;
}
:global(body.no-page-transitions) & {
--translate-y: 0 !important;
transition: opacity 0.15s;
}
@media (min-width: 1276px) {
--translate-x: 0;
transition: transform var(--layer-transition), opacity 0.2s ease;
:global(body.no-page-transitions) &,
:global(body.no-right-column-animations) & {
transition: none !important;
}
:global(body:not(.no-right-column-animations) #Main.right-column-open) & {
transition: transform var(--layer-transition), opacity 0.2s ease;
}
:global(#Main.right-column-open) & {
--translate-x: calc(-1 * var(--right-column-width));
}
}
@media (max-width: 600px) {
right: 0.5rem;
bottom: 4.5rem;
:global(body:not(.keyboard-visible)) & {
bottom: calc(4.5rem + env(safe-area-inset-bottom));
}
}
&.revealed {
--translate-y: 0;
opacity: 1;
.unread {
pointer-events: auto;
}
&.no-composer.no-extra-shift {
--translate-y: 4rem;
}
}
&.hide-scroll-down {
--translate-y: 4rem;
.unread {
opacity: 0;
pointer-events: none;
}
}
@media (max-width: 600px) {
body.is-symbol-menu-open & {
bottom: calc(var(--base-bottom-pos) + var(--symbol-menu-height));
}
}
}