From e7cd5d61ca70eee0ef6e5b3d114b9b6649c0a1e3 Mon Sep 17 00:00:00 2001 From: ccbikai Date: Wed, 7 Aug 2024 21:56:03 +0800 Subject: [PATCH] feat: enhance reply handling in posts Refactor to improve handling of reply links within posts by introducing a dedicated function, ensuring more accurate and consistent URL modifications. This enhancement simplifies future maintenance and scalability of the codebase. --- src/lib/telegram/index.js | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/src/lib/telegram/index.js b/src/lib/telegram/index.js index 5b4a04e..5d1b45f 100644 --- a/src/lib/telegram/index.js +++ b/src/lib/telegram/index.js @@ -83,6 +83,19 @@ function getLinkPreview($, item, { staticProxy, index }) { return $.html(link) } +function getReply($, item, { channel }) { + const reply = $(item).find('.tgme_widget_message_reply') + reply?.wrapInner('')?.wrapInner('
') + + const href = reply?.attr('href') + if (href) { + const url = new URL(href) + reply?.attr('href', `${url.pathname}`.replace(channel, 'posts')) + } + + return $.html(reply) +} + function modifyHTMLContent($, content, { index } = {}) { $(content).find('.emoji')?.attr('style', '') $(content).find('a')?.each((_index, a) => { @@ -117,7 +130,7 @@ function getPost($, item, { channel, staticProxy, index = 0 }) { tags, text: content?.text(), content: [ - $.html($(item).find('.tgme_widget_message_reply')?.wrapInner('')?.wrapInner('
')), + getReply($, item, { channel }), getImages($, item, { staticProxy, id, index, title }), getVideo($, item, { staticProxy, id, index, title }), getAudio($, item, { staticProxy, id, index, title }),