diff --git a/src/App.tsx b/src/App.tsx index c9dc519..d7ea7ba 100644 --- a/src/App.tsx +++ b/src/App.tsx @@ -2,7 +2,8 @@ import { useCallback, useEffect, useMemo, useRef, useState } from "react"; import { listen } from "@tauri-apps/api/event"; import { cancelAllDownloads, cancelDownload, deleteAllDownloads, deleteChannel, - deleteDownload, downloadVideo, interruptedDownloads, listFeed, previewDeleteChannel, + deleteDownload, downloadVideo, interruptedDownloads, listFeed, openExternal, + previewDeleteChannel, setDownloadDefaults, type RemovalPreview, fetchDurations, onRefreshProgress, refreshFeeds, setCookieSource, } from "./api"; @@ -411,6 +412,10 @@ export default function App() { if (channelId === id) setChannelId(null); reload(); say(`Removed ${title}`); + // And then the other half of the job. YouTube has no address that + // unsubscribes on its own, so this opens the channel, where Subscribed + // is one click from Unsubscribe. + openExternal(`https://www.youtube.com/channel/${id}`); }) .catch((e) => setFailure(String(e))); }, [removing, channelId, reload, say]); @@ -874,7 +879,12 @@ export default function App() { from disk > )} - . Your YouTube subscription is not touched; only this app forgets the channel. + . +
++ The channel then opens on YouTube so you can unsubscribe there too — + YouTube has no link that does it on its own, so it is one click on{" "} + Subscribed. Nothing changes there until you do.
)}