From 56ee21584af438a234243a79d65388a1dc4f1c71 Mon Sep 17 00:00:00 2001 From: Eduard Kuzmenko Date: Sun, 5 Mar 2023 16:33:25 +0400 Subject: [PATCH] Do not wrap links for replies --- src/components/wrappers/messageActionTextNew.ts | 3 ++- .../wrappers/messageActionTextNewUnsafe.ts | 13 ++++++++++--- src/components/wrappers/messageForReply.ts | 7 ++++++- src/lib/langPack.ts | 14 ++++++++++---- 4 files changed, 28 insertions(+), 9 deletions(-) diff --git a/src/components/wrappers/messageActionTextNew.ts b/src/components/wrappers/messageActionTextNew.ts index 7911912e..f79774da 100644 --- a/src/components/wrappers/messageActionTextNew.ts +++ b/src/components/wrappers/messageActionTextNew.ts @@ -9,7 +9,8 @@ import wrapMessageActionTextNewUnsafe from './messageActionTextNewUnsafe'; export type WrapMessageActionTextOptions = { message: MyMessage, - plain?: boolean + plain?: boolean, + noLinks?: boolean } & WrapSomethingOptions; export default async function wrapMessageActionTextNew( diff --git a/src/components/wrappers/messageActionTextNewUnsafe.ts b/src/components/wrappers/messageActionTextNewUnsafe.ts index f9933e66..517be265 100644 --- a/src/components/wrappers/messageActionTextNewUnsafe.ts +++ b/src/components/wrappers/messageActionTextNewUnsafe.ts @@ -103,7 +103,7 @@ async function wrapMessageActionTopicIconAndName(options: WrapMessageActionTextO } export default async function wrapMessageActionTextNewUnsafe(options: WrapMessageActionTextOptions) { - const {plain, message, middleware, lazyLoadQueue, customEmojiSize, animationGroup} = options; + const {plain, message, noLinks} = options; const element: HTMLElement = plain ? undefined : document.createElement('span'); const action = 'action' in message && message.action; @@ -147,6 +147,8 @@ export default async function wrapMessageActionTextNewUnsafe(options: WrapMessag if(action.duration !== undefined) { args.push(formatCallDuration(action.duration, plain)); + } else if(noLinks) { + args.push(''); } else { args.push(wrapJoinVoiceChatAnchor(message as any)); } @@ -164,7 +166,7 @@ export default async function wrapMessageActionTextNewUnsafe(options: WrapMessag langPackKey = a as LangPackKey; args = peerIds.map((peerId) => getNameDivHTML(peerId, plain)); - args.push(wrapJoinVoiceChatAnchor(message as any)); + args.push(noLinks ? '' : wrapJoinVoiceChatAnchor(message as any)); break; } @@ -316,7 +318,8 @@ export default async function wrapMessageActionTextNewUnsafe(options: WrapMessag _: 'messageEntityUrl', length: action.domain.length, offset: 0 - }] + }], + noLinks }); const node = htmlToSpan(anchorHTML); @@ -496,6 +499,10 @@ export default async function wrapMessageActionTextNewUnsafe(options: WrapMessag if(plain) { return I18n.format(langPackKey, true, waited); } else { + // if(waited && noLinks) { + // waited = waited.map((arg) => arg instanceof HTMLAnchorElement ? arg.textContent : arg); + // } + return _i18n(element, langPackKey, waited); } diff --git a/src/components/wrappers/messageForReply.ts b/src/components/wrappers/messageForReply.ts index 5a19d390..e20e603b 100644 --- a/src/components/wrappers/messageForReply.ts +++ b/src/components/wrappers/messageForReply.ts @@ -208,7 +208,12 @@ export default async function wrapMessageForReply