feat: tabbed show interface and copy-to-clipboard button

Replace the link column with a Copy button that copies
"Title by Artist - URL" to clipboard. Replace the current/previous
show layout with a horizontal scrollable tab bar showing all shows
from the database, most recent first. Tabs lazy-load and cache
show data on click.

Made-with: Cursor
This commit is contained in:
cottongin
2026-03-12 08:15:22 -04:00
parent f244749293
commit 911dd3d5dd
2 changed files with 150 additions and 64 deletions

View File

@@ -224,7 +224,6 @@ class NtrPlaylist(callbacks.Plugin):
def doPrivmsg(self, irc, msg):
channel = msg.args[0] if msg.args else None
if not channel or not irc.isChannel(channel):
super().doPrivmsg(irc, msg)
return
text = msg.args[1] if len(msg.args) > 1 else ""
match = _NUMBER_RE.match(text)
@@ -237,7 +236,6 @@ class NtrPlaylist(callbacks.Plugin):
except ApiError as exc:
LOGGER.warning("API error for !%s: %s", position, exc)
irc.reply(exc.detail)
super().doPrivmsg(irc, msg)
@wrap([optional("text")])
def song(self, irc, msg, args, text):