diff --git a/libs/components/src/lib/components/ChannelTopbar/TopBarComponents/PinnedMessages/ItemPinMessage.tsx b/libs/components/src/lib/components/ChannelTopbar/TopBarComponents/PinnedMessages/ItemPinMessage.tsx index 35d97147d8..ce9ebacbbf 100644 --- a/libs/components/src/lib/components/ChannelTopbar/TopBarComponents/PinnedMessages/ItemPinMessage.tsx +++ b/libs/components/src/lib/components/ChannelTopbar/TopBarComponents/PinnedMessages/ItemPinMessage.tsx @@ -71,8 +71,8 @@ const ItemPinMessage = (props: ItemPinMessageProps) => { return (
@@ -118,12 +118,17 @@ const ItemPinMessage = (props: ItemPinMessageProps) => {
- diff --git a/libs/components/src/lib/components/ChannelTopbar/index.tsx b/libs/components/src/lib/components/ChannelTopbar/index.tsx index c4384961b5..c2195bd20e 100644 --- a/libs/components/src/lib/components/ChannelTopbar/index.tsx +++ b/libs/components/src/lib/components/ChannelTopbar/index.tsx @@ -899,6 +899,7 @@ function PinButton({ styleCss, mode }: { styleCss: string; mode?: number }) { className="absolute border-theme-primary w-[8px] h-[8px] rounded-full bg-colorDanger outline outline-1 outline-transparent font-bold text-[11px] flex items-center justify-center -bottom-[0.05rem] -right-[0.075rem]" + data-e2e={generateE2eId('chat.channel_message.header.button.pin.pin_badge')} >
)} diff --git a/libs/components/src/lib/components/MessageWithSystem/index.tsx b/libs/components/src/lib/components/MessageWithSystem/index.tsx index ea7a523d68..7c4c91faa1 100644 --- a/libs/components/src/lib/components/MessageWithSystem/index.tsx +++ b/libs/components/src/lib/components/MessageWithSystem/index.tsx @@ -1,7 +1,7 @@ /* eslint-disable @typescript-eslint/no-empty-function */ import type { MessagesEntity } from '@mezon/store'; import { Icons } from '@mezon/ui'; -import { TypeMessage, addMention, convertDateStringI18n } from '@mezon/utils'; +import { TypeMessage, addMention, convertDateStringI18n, generateE2eId } from '@mezon/utils'; import type { ReactNode } from 'react'; import React, { useRef, useState } from 'react'; import { useTranslation } from 'react-i18next'; @@ -46,7 +46,10 @@ function MessageWithSystem({ messageId={message?.id} className={'fullBoxText relative group'} > -
+
{message?.code === TypeMessage.Welcome && } {message?.code === TypeMessage.UpcomingEvent && } {message?.code === TypeMessage.CreateThread && } @@ -122,6 +125,7 @@ const HoverStateWrapper: React.FC = ({ onMouseLeave={handleMouseLeave} onContextMenu={onContextMenu} id={`msg-${messageId}`} + data-e2e={generateE2eId('chat.system_message')} > {children} {isHover && popup && popup()} diff --git a/libs/components/src/lib/components/MessageWithUser/MessageLineSystem.tsx b/libs/components/src/lib/components/MessageWithUser/MessageLineSystem.tsx index 87553ae4fc..51f9c1bc4d 100644 --- a/libs/components/src/lib/components/MessageWithUser/MessageLineSystem.tsx +++ b/libs/components/src/lib/components/MessageWithUser/MessageLineSystem.tsx @@ -1,5 +1,6 @@ import { channelsActions, messagesActions, pinMessageActions, threadsActions, useAppDispatch } from '@mezon/store'; -import { ETokenMessage, IExtendedMessage, IMessageWithUser, TypeMessage, convertTimeStringI18n, parseThreadInfo } from '@mezon/utils'; +import type { IExtendedMessage, IMessageWithUser } from '@mezon/utils'; +import { ETokenMessage, TypeMessage, convertTimeStringI18n, generateE2eId, parseThreadInfo } from '@mezon/utils'; import { ChannelStreamMode } from 'mezon-js'; import { useCallback } from 'react'; import { useTranslation } from 'react-i18next'; @@ -148,11 +149,19 @@ const RenderContentSystem = ({ message, data, mode, isSearchMessage, isJumMessag {message.code === TypeMessage.CreatePin && ( <> {translateMessage('systemMessages.pinned')}{' '} - + {translateMessage('systemMessages.aMessage')} {' '} {translateMessage('systemMessages.toThisChannel')}{' '} - + {translateMessage('systemMessages.allPinned')} {' '} {translateMessage('systemMessages.messages')} diff --git a/libs/utils/src/lib/e2e-testing/constants.ts b/libs/utils/src/lib/e2e-testing/constants.ts index 9859d097f6..c5d9c0f4f9 100644 --- a/libs/utils/src/lib/e2e-testing/constants.ts +++ b/libs/utils/src/lib/e2e-testing/constants.ts @@ -297,7 +297,9 @@ export const DATA_E2E_IDENTIFIER = { file: '', mute: '', inbox: '', - pin: '', + pin: { + pin_badge: '' + }, canvas: '', thread: { modal: { @@ -352,7 +354,15 @@ export const DATA_E2E_IDENTIFIER = { } } }, - suggest_item: '' + suggest_item: '', + system_message: { + pin_message: { + button: { + jump_to_message: '', + see_all_pinned: '' + } + } + } }, onboarding: { chat: { @@ -405,7 +415,12 @@ export const DATA_E2E_IDENTIFIER = { item_pin_message: { username: '' }, - pin_message: '' + pin_message: { + button: { + jump: '', + remove_pin: '' + } + } }, modal: { too_many_upload: '',