Skip to content

Commit 67e5d34

Browse files
committed
Fix emoji location
1 parent 8b3dec6 commit 67e5d34

File tree

3 files changed

+31
-31
lines changed

3 files changed

+31
-31
lines changed

web/components/chat/chat-message.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -119,7 +119,7 @@ export function ChatMessageItem(props: {
119119
</div>
120120
</Row>
121121
{/* Hidden host for emoji picker, opened via long-press */}
122-
<div className="absolute right-0 top-0 -mt-2">
122+
<div className="absolute left-1/2 transform -translate-x-1/2 -mt-2">
123123
<MessageActions
124124
message={{
125125
id: chat.id,

web/components/chat/message-actions.tsx

Lines changed: 28 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@ import {handleReaction} from "web/lib/util/message-reactions"
1111
import {useClickOutside} from "web/hooks/use-click-outside"
1212
import {PrivateChatMessage} from "common/chat-message";
1313
import {updateReactionUI} from "web/lib/supabase/chat-messages";
14+
import {useIsMobile} from "web/hooks/use-is-mobile";
1415

1516
const REACTIONS = ['👍', '❤️', '😂', '😮', '😢', '👎']
1617

@@ -35,6 +36,7 @@ export function MessageActions(props: {
3536
const emojiPickerRef = useRef<HTMLDivElement>(null)
3637
const user = useUser()
3738
const isOwner = user?.id === message.userId
39+
const isMobile = useIsMobile()
3840

3941
useClickOutside(emojiPickerRef, () => {
4042
setShowEmojiPicker(false)
@@ -65,34 +67,32 @@ export function MessageActions(props: {
6567

6668
return (
6769
<div className={clsx('flex items-center gap-1', className)}>
68-
<div className="relative">
69-
{showEmojiPicker && (
70-
<div
71-
ref={emojiPickerRef}
72-
className={clsx(
73-
"absolute top-full mb-2 rounded-lg bg-canvas-200 p-2 shadow-lg pr-10 z-10",
74-
isOwner && 'right-0',
75-
!isOwner && 'left-0',
76-
)}
77-
>
78-
<div className="grid grid-cols-6 gap-8">
79-
{REACTIONS.map((reaction) => (
80-
<button
81-
key={reaction}
82-
className="text-2xl hover:scale-125"
83-
onClick={async () => {
84-
setShowEmojiPicker(false)
85-
updateReactionUI(message, user, reaction, setMessages)
86-
await handleReaction(reaction, message.id)
87-
}}
88-
>
89-
{reaction}
90-
</button>
91-
))}
92-
</div>
70+
{showEmojiPicker && (
71+
<div
72+
ref={emojiPickerRef}
73+
className={clsx(
74+
'absolute mb-2 rounded-lg bg-canvas-200 p-2 shadow-lg pr-10 z-10 max-w-[250px]',
75+
isMobile ? 'left-1/2 transform -translate-x-1/2'
76+
: isOwner ? 'right-20' : 'left-20'
77+
)}
78+
>
79+
<div className="grid grid-cols-6 gap-8">
80+
{REACTIONS.map((reaction) => (
81+
<button
82+
key={reaction}
83+
className="text-2xl hover:scale-125"
84+
onClick={async () => {
85+
setShowEmojiPicker(false)
86+
updateReactionUI(message, user, reaction, setMessages)
87+
await handleReaction(reaction, message.id)
88+
}}
89+
>
90+
{reaction}
91+
</button>
92+
))}
9393
</div>
94-
)}
95-
</div>
94+
</div>
95+
)}
9696
{!hideTrigger && (
9797
<DropdownMenu
9898
items={[
@@ -117,7 +117,7 @@ export function MessageActions(props: {
117117
closeOnClick={true}
118118
icon={<DotsHorizontalIcon className="h-5 w-5 text-gray-500"/>}
119119
menuWidth="w-40"
120-
className="text-ink-500 hover:text-ink-700 rounded-full p-1 hover:bg-gray-100"
120+
className="text-ink-500 hover:text-ink-700 rounded-full p-1 hover:bg-canvas-50"
121121
/>
122122
)}
123123
{/*{message.isEdited && (*/}

web/components/comments/dropdown-menu.tsx

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -70,7 +70,7 @@ export default function DropdownMenu(props: {
7070
style={styles.popper}
7171
{...attributes.popper}
7272
className={clsx(
73-
'bg-canvas-0 ring-ink-1000 z-30 mt-2 rounded-md shadow-lg ring-1 ring-opacity-5 focus:outline-none',
73+
'bg-canvas-0 ring-ink-1000 z-30 mt-2 rounded-md shadow-lg ring-1 ring-opacity-5 focus:outline-none',
7474
menuWidth ?? 'w-34',
7575
menuItemsClass,
7676
'py-1'
@@ -90,7 +90,7 @@ export default function DropdownMenu(props: {
9090
className={clsx(
9191
selectedItemName && item.name == selectedItemName
9292
? 'bg-primary-100'
93-
: 'hover:bg-ink-300 hover:text-ink-900',
93+
: 'hover:bg-canvas-100 hover:text-ink-900',
9494
'text-ink-700',
9595
'flex w-full gap-2 px-4 py-2 text-left text-sm'
9696
)}

0 commit comments

Comments
 (0)