diff --git a/packages/app/src/Components/Embed/AppleMusicEmbed.tsx b/packages/app/src/Components/Embed/AppleMusicEmbed.tsx
index 307c5110..242e4d05 100644
--- a/packages/app/src/Components/Embed/AppleMusicEmbed.tsx
+++ b/packages/app/src/Components/Embed/AppleMusicEmbed.tsx
@@ -3,15 +3,21 @@ const AppleMusicEmbed = ({ link }: { link: string }) => {
const isSongLink = /\?i=\d+$/.test(convertedUrl);
return (
-
+ <>
+
+ e.stopPropagation()} className="ext">
+ {link}
+
+ >
);
};
diff --git a/packages/app/src/Components/Embed/HyperText.tsx b/packages/app/src/Components/Embed/HyperText.tsx
index aa9e514d..6d73cc87 100644
--- a/packages/app/src/Components/Embed/HyperText.tsx
+++ b/packages/app/src/Components/Embed/HyperText.tsx
@@ -46,17 +46,22 @@ export default function HyperText({ link, depth, showLinkPreview, children }: Hy
if (youtubeId) {
return (
-
+ <>
+
+ e.stopPropagation()} target="_blank" rel="noreferrer" className="ext">
+ {a}
+
+ >
);
} else if (tidalId) {
return ;
diff --git a/packages/app/src/Components/Embed/MixCloudEmbed.tsx b/packages/app/src/Components/Embed/MixCloudEmbed.tsx
index ee4f2c0d..849f8563 100644
--- a/packages/app/src/Components/Embed/MixCloudEmbed.tsx
+++ b/packages/app/src/Components/Embed/MixCloudEmbed.tsx
@@ -18,6 +18,9 @@ const MixCloudEmbed = ({ link }: { link: string }) => {
frameBorder="0"
src={`https://www.mixcloud.com/widget/iframe/?hide_cover=1&${lightParams}&feed=%2F${feedPath}%2F`}
/>
+
+ {link}
+
>
);
};
diff --git a/packages/app/src/Components/Embed/SoundCloudEmded.tsx b/packages/app/src/Components/Embed/SoundCloudEmded.tsx
index f1eff848..7b86441c 100644
--- a/packages/app/src/Components/Embed/SoundCloudEmded.tsx
+++ b/packages/app/src/Components/Embed/SoundCloudEmded.tsx
@@ -1,13 +1,19 @@
const SoundCloudEmbed = ({ link }: { link: string }) => {
return (
-
+ <>
+
+ e.stopPropagation()} className="ext">
+ {link}
+
+ >
);
};
diff --git a/packages/app/src/Components/Embed/SpotifyEmbed.tsx b/packages/app/src/Components/Embed/SpotifyEmbed.tsx
index d49b0f04..1587951a 100644
--- a/packages/app/src/Components/Embed/SpotifyEmbed.tsx
+++ b/packages/app/src/Components/Embed/SpotifyEmbed.tsx
@@ -2,16 +2,22 @@ const SpotifyEmbed = ({ link }: { link: string }) => {
const convertedUrl = link.replace(/\/(track|album|playlist|episode)\/([a-zA-Z0-9]+)/, "/embed/$1/$2");
return (
-
+ <>
+
+ e.stopPropagation()} className="ext">
+ {link}
+
+ >
);
};
diff --git a/packages/app/src/Components/Embed/TidalEmbed.tsx b/packages/app/src/Components/Embed/TidalEmbed.tsx
index 50657166..ed435f1d 100644
--- a/packages/app/src/Components/Embed/TidalEmbed.tsx
+++ b/packages/app/src/Components/Embed/TidalEmbed.tsx
@@ -53,8 +53,18 @@ const TidalEmbed = ({ link }: { link: string }) => {
);
}
- // eslint-disable-next-line react/no-unknown-property
- return ;
+ const iframe = (
+ // eslint-disable-next-line react/no-unknown-property
+
+ );
+ return (
+ <>
+ {iframe}
+ e.stopPropagation()} className="ext">
+ {link}
+
+ >
+ );
};
export default TidalEmbed;
diff --git a/packages/app/src/Components/Embed/TwitchEmbed.tsx b/packages/app/src/Components/Embed/TwitchEmbed.tsx
index 85cba955..df979b99 100644
--- a/packages/app/src/Components/Embed/TwitchEmbed.tsx
+++ b/packages/app/src/Components/Embed/TwitchEmbed.tsx
@@ -3,13 +3,18 @@ const TwitchEmbed = ({ link }: { link: string }) => {
const args = `?channel=${channel}&parent=${window.location.hostname}&muted=true`;
return (
-
+ <>
+
+ e.stopPropagation()} className="ext">
+ {link}
+
+ >
);
};
diff --git a/packages/app/src/Components/Embed/WavlakeEmbed.tsx b/packages/app/src/Components/Embed/WavlakeEmbed.tsx
index 278aef51..3069c0c5 100644
--- a/packages/app/src/Components/Embed/WavlakeEmbed.tsx
+++ b/packages/app/src/Components/Embed/WavlakeEmbed.tsx
@@ -2,15 +2,21 @@ const WavlakeEmbed = ({ link }: { link: string }) => {
const convertedUrl = link.replace(/(?:player\.|www\.)?wavlake\.com/, "embed.wavlake.com");
return (
-
+ <>
+
+ e.stopPropagation()} className="ext">
+ {link}
+
+ >
);
};
diff --git a/packages/app/src/Components/Event/Thread.tsx b/packages/app/src/Components/Event/Thread.tsx
index b5c51d2a..e1914508 100644
--- a/packages/app/src/Components/Event/Thread.tsx
+++ b/packages/app/src/Components/Event/Thread.tsx
@@ -10,7 +10,6 @@ import BackButton from "@/Components/Button/BackButton";
import Collapsed from "@/Components/Collapsed";
import Note from "@/Components/Event/EventComponent";
import NoteGhost from "@/Components/Event/Note/NoteGhost";
-import ScrollToTop from "@/Components/ScrollToTop";
import { chainKey } from "@/Utils/Thread/ChainKey";
import { ThreadContext } from "@/Utils/Thread/ThreadContext";
import { ThreadContextWrapper } from "@/Utils/Thread/ThreadContextWrapper";
diff --git a/packages/app/src/Pages/Layout/index.tsx b/packages/app/src/Pages/Layout/index.tsx
index 61daf820..fcf2a793 100644
--- a/packages/app/src/Pages/Layout/index.tsx
+++ b/packages/app/src/Pages/Layout/index.tsx
@@ -6,6 +6,7 @@ import { Outlet, useLocation } from "react-router-dom";
import CloseButton from "@/Components/Button/CloseButton";
import ErrorBoundary from "@/Components/ErrorBoundary";
import { LoginUnlock } from "@/Components/PinPrompt/PinPrompt";
+import ScrollToTop from "@/Components/ScrollToTop";
import Toaster from "@/Components/Toaster/Toaster";
import useLoginFeed from "@/Feed/LoginFeed";
import { useCommunityLeaders } from "@/Hooks/useCommunityLeaders";
@@ -20,7 +21,6 @@ import { LoginStore } from "@/Utils/Login";
import NavSidebar from "./NavSidebar";
import RightColumn from "./RightColumn";
-import ScrollToTop from "@/Components/ScrollToTop";
export default function Index() {
const location = useLocation();
diff --git a/packages/app/src/Pages/Notifications/Notifications.tsx b/packages/app/src/Pages/Notifications/Notifications.tsx
index 857267ea..c6d7e3e1 100644
--- a/packages/app/src/Pages/Notifications/Notifications.tsx
+++ b/packages/app/src/Pages/Notifications/Notifications.tsx
@@ -15,8 +15,6 @@ import { getNotificationContext } from "./getNotificationContext";
import { NotificationGroup } from "./NotificationGroup";
const NotificationGraph = lazy(() => import("@/Pages/Notifications/NotificationChart"));
-import ScrollToTop from "@/Components/ScrollToTop";
-
export default function NotificationsPage({ onClick }: { onClick?: (link: NostrLink) => void }) {
const login = useLogin();
const { isMuted } = useModeration();