Link each provider card to that platform's own broadcast console - #9
Merged
Conversation
The card shows a platform's live state but offered no way to reach the platform's own dashboard. Each fetchStatus now returns a dashboardUrl alongside the display fields, rendered as a DASHBOARD link in the card's actions row while connected. The url is built in the Worker because it is keyed by a slug, not the display name: Twitch's is the login (display_name lowercased is only coincidentally the same, and diverges for non-Latin display names), and VK's is the channel url that fetchStatus already resolves. Kick's console takes the channel from the session, so its url is a constant. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01737mSEpLksb7XbfNK2pn6j
Deploying with
|
| Status | Name | Latest Commit | Preview URL | Updated (UTC) |
|---|---|---|---|---|
| ✅ Deployment successful! View logs |
only-dashboard | e1d07bd | Commit Preview URL Branch Preview URL |
Aug 27 2026, 11:53 PM |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Adds a
DASHBOARD ↗link to each connected card in the first block, opening that platform's own console in a new tab.dashboard.twitch.tv/u/<login>/stream-managerdashboard.kick.com/streamlive.vkvideo.ru/<channel-url>/studioPlacement: the card's actions row, before DISCONNECT — where the card already collects clickable things, reusing the existing micro-caps
.actionstyling.Why the URL is built in the Worker. The path segment is a slug, and
displayNameis a display name — the two are not the same string. Twitch's console is keyed bylogin; lowercasingdisplay_namematches it only for Latin-alphabet accounts and breaks for anyone with a non-Latin display name (loginwas already in the/helix/usersresponse, just undeclared). VK's studio path is the channel url thatfetchStatusalready resolves and previously discarded, not the nick shown on the card. EachfetchStatustherefore returns adashboardUrlalongside the other display fields, following the existing rule that per-platform differences are data rather than branches. It is a public link, so it belongs in the browser contract.VK accounts with no channel yet, and any platform whose status lookup failed, report
nulland render no link.Tests: provider specs assert Twitch follows the login rather than the display name and that a channel-less VK account yields
null; a view test covers the rendered link and its absence. 84 tests pass; type-check, oxlint, eslint and build clean.🤖 Generated with Claude Code
https://claude.ai/code/session_01737mSEpLksb7XbfNK2pn6j