""" AppRouter - cross-tab navigation signals ======================================== A tiny QObject signal hub connecting the watch-first pages (search, feed, browse) with the player and the downloader tab. Pages emit; the main window routes. Entry dicts are yt-dlp flat entries or the subset {id, url, title, channel, channel_url, duration, thumbnail}. """ from PySide6.QtCore import QObject, Signal class AppRouter(QObject): playVideo = Signal(dict) # play immediately in the Watch tab queueVideo = Signal(dict) # append to the play queue downloadVideo = Signal(str) # open Downloads tab with URL prefilled + analyzed openChannel = Signal(str) # open a channel URL in the Browse tab openPlaylist = Signal(str) # open a playlist URL in the Browse tab