diff --git a/src/extension/content-script/batteries/Reddit.ts b/src/extension/content-script/batteries/Reddit.ts index 8c9dee51bc..a2198597cb 100644 --- a/src/extension/content-script/batteries/Reddit.ts +++ b/src/extension/content-script/batteries/Reddit.ts @@ -4,30 +4,28 @@ import { findLightningAddressInText, setLightningData } from "./helpers"; const urlMatcher = /^https:\/\/www.reddit\.com\/user\/(\w+).*/; function battery(): void { - const descriptionElement = document.querySelector( - 'head > meta[name="description"]' + const descriptionElement = document.querySelector( + 'p[data-testid="profile-description"]' ); - const imageUrl = document.querySelector( - 'head > meta[property="og:image"]' - )?.content; + + const imageUrl = document.querySelector( + 'img[data-testid="profile-icon"]' + )?.src; if (!descriptionElement || !imageUrl) { return; } - const content = descriptionElement.content.split(/:(.*)/s); - const userName = content[0]; - const description = - document.querySelector( - `h4 + a[href*='user/${userName.split("/")[1]}'] + div` - )?.textContent ?? content[1].slice(1); + const content = descriptionElement.textContent || ""; + const userName = + document.querySelector("aside div h2")?.textContent?.trim() || ""; let match; let recipient; // attempt to extract lnurlp: from the description text - if ((match = (description || "").match(/lnurlp:(\S+)/i))) { + if ((match = (content || "").match(/lnurlp:(\S+)/i))) { recipient = match[1]; - } else if ((match = findLightningAddressInText(description))) { + } else if ((match = findLightningAddressInText(content || ""))) { recipient = match; } // if we still did not find anything ignore it. @@ -40,7 +38,7 @@ function battery(): void { method: "lnurl", address: recipient, ...getOriginData(), - description, + description: content, icon: imageUrl, name: userName, },