Paid Reaction Modal: Fix send as peer menu (#5704)

This commit is contained in:
Alexander Zinchuk 2025-03-21 14:02:04 +04:00
parent 1e6d8a1f9f
commit e31a36c41d
4 changed files with 25 additions and 7 deletions

View File

@ -49,7 +49,12 @@
margin-right: 0 !important;
}
.sendAsPeerButtonAvatar {
pointer-events: none;
}
.sendAsPeerMenuButton {
transition: background-color 0.15s;
margin-right: 0.25rem;
border-radius: 1.5rem;
padding: 0.25rem !important;
@ -57,9 +62,10 @@
height: auto !important;
background-color: var(--color-background-secondary) !important;
:active,
:hover {
background-color: var(--color-interactive-element-hover) !important;
&:global(.active),
&:active,
&:hover {
background-color: rgba(var(--color-text-secondary-rgb), 0.15) !important;
}
}
@ -69,7 +75,17 @@
}
.sendAsPeerMenuBubble {
max-height: 15rem;
overflow-y: auto !important;
right: auto !important;
left: 50%;
transform: translateX(-50%) scale(0.85) !important;
transform-origin: center !important;
max-width: 16rem;
&:global(.open) {
transform: translateX(-50%) scale(1) !important;
}
}
.sendAsPeerMenu {

View File

@ -211,6 +211,7 @@ const PaidReactionModal = ({
ariaLabel={lang('AccDescrOpenMenu2')}
>
<Avatar
className={styles.sendAsPeerButtonAvatar}
size="mini"
peer={shouldSendAsAnonymous ? ANONYMOUS_PEER : senderPeer}
/>
@ -226,7 +227,7 @@ const PaidReactionModal = ({
if (!canChangeSendAsPeer) return undefined;
return (
<DropdownMenu
className={styles.sendAsPeerMenu}
className={buildClassName(styles.sendAsPeerMenu, 'with-menu-transitions')}
bubbleClassName={styles.sendAsPeerMenuBubble}
trigger={SendAsPeerMenuButton}
positionX="right"

View File

@ -53,7 +53,7 @@
height: var(--_size);
pointer-events: none;
--_width: calc(var(--progress) * 100% - 1rem);
--_width: calc(100% - 1rem);
mask-image: linear-gradient(to right, black var(--_width), transparent calc(var(--_width) + 0.5rem));
color: white;

View File

@ -100,8 +100,9 @@ const StarSlider = ({
</svg>
</div>
</div>
<div className={styles.progress} />
<Sparkles preset="progress" className={styles.sparkles} />
<div className={styles.progress}>
<Sparkles preset="progress" className={styles.sparkles} />
</div>
<input
className={styles.slider}
type="range"