(feat): remove mini context menu bounce animation
All checks were successful
/ build-web (push) Successful in 7m14s
/ build-desktop (linux) (push) Successful in 11m57s
/ build-mobile (push) Successful in 19m5s
/ release (push) Successful in 3m2s

This commit is contained in:
Alois 2026-07-11 19:57:43 +02:00
commit f898da653b

View file

@ -36,7 +36,6 @@ import {
Trash, Trash,
} from "lucide-react"; } from "lucide-react";
import { cloneElement, useMemo, useState, useSyncExternalStore } from "react"; import { cloneElement, useMemo, useState, useSyncExternalStore } from "react";
import { AnimatePresence, motion } from "motion/react";
import type { import type {
MouseEvent as ReactMouseEvent, MouseEvent as ReactMouseEvent,
ReactElement, ReactElement,
@ -296,27 +295,7 @@ function MiniMessageMenu({
shiftIsPressed: boolean; shiftIsPressed: boolean;
}) { }) {
return ( return (
<motion.div <div className="absolute right-4 -top-3 z-10">
layoutId="chat-mini-message-menu"
className="absolute right-4 -top-3 z-10"
initial={{ opacity: 0 }}
animate={{ opacity: 1 }}
exit={{
opacity: 0,
transition: {
opacity: { duration: 0.12, delay: 0.08 },
},
}}
transition={{
layout: {
type: "spring",
stiffness: 650,
damping: 34,
mass: 0.65,
},
opacity: { duration: 0.12 },
}}
>
<Card className="flex flex-row justify-end gap-0! rounded-lg! p-0! shadow-lg"> <Card className="flex flex-row justify-end gap-0! rounded-lg! p-0! shadow-lg">
{quickReactions.map((emoji) => ( {quickReactions.map((emoji) => (
<MiniMenuTooltip <MiniMenuTooltip
@ -418,7 +397,7 @@ function MiniMessageMenu({
/> />
)} )}
</Card> </Card>
</motion.div> </div>
); );
} }
@ -599,22 +578,20 @@ export default function MessageContextMenu({
onPointerLeave={scheduleMiniMenuClose} onPointerLeave={scheduleMiniMenuClose}
> >
{children} {children}
<AnimatePresence> {!hideMiniMenu && activeMenuId === messageId && (
{!hideMiniMenu && activeMenuId === messageId && ( <MiniMessageMenu
<MiniMessageMenu isOwnMessage={isOwnMessage}
isOwnMessage={isOwnMessage} onDelete={() => deleteMessage(messageId)}
onDelete={() => deleteMessage(messageId)} onEdit={() => onSetEditing(true)}
onEdit={() => onSetEditing(true)} onOpenMenu={openMenu}
onOpenMenu={openMenu} onOpenPicker={() => setPickerOpen(true)}
onOpenPicker={() => setPickerOpen(true)} usePickerTrigger={!isMobile}
usePickerTrigger={!isMobile} onReact={selectReaction}
onReact={selectReaction} quickReactions={quickReactions}
quickReactions={quickReactions} onReply={() => setReplyTo(messageId)}
onReply={() => setReplyTo(messageId)} shiftIsPressed={shiftIsPressed}
shiftIsPressed={shiftIsPressed} />
/> )}
)}
</AnimatePresence>
</div> </div>
); );
} }