Skip to content

Link each provider card to that platform's own broadcast console - #9

Merged
roboloop merged 1 commit into
mainfrom
feat/platform-dashboard-links-v2
Aug 27, 2026
Merged

Link each provider card to that platform's own broadcast console#9
roboloop merged 1 commit into
mainfrom
feat/platform-dashboard-links-v2

Conversation

@roboloop

Copy link
Copy Markdown
Owner

Adds a DASHBOARD ↗ link to each connected card in the first block, opening that platform's own console in a new tab.

Platform URL
Twitch dashboard.twitch.tv/u/<login>/stream-manager
Kick dashboard.kick.com/stream
VK Video live.vkvideo.ru/<channel-url>/studio

Placement: the card's actions row, before DISCONNECT — where the card already collects clickable things, reusing the existing micro-caps .action styling.

Why the URL is built in the Worker. The path segment is a slug, and displayName is a display name — the two are not the same string. Twitch's console is keyed by login; lowercasing display_name matches it only for Latin-alphabet accounts and breaks for anyone with a non-Latin display name (login was already in the /helix/users response, just undeclared). VK's studio path is the channel url that fetchStatus already resolves and previously discarded, not the nick shown on the card. Each fetchStatus therefore returns a dashboardUrl alongside 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 null and 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

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
@cloudflare-workers-and-pages

cloudflare-workers-and-pages Bot commented Aug 27, 2026

Copy link
Copy Markdown

Deploying with  Cloudflare Workers  Cloudflare Workers

The latest updates on your project. Learn more about integrating Git with Workers.

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

@roboloop
roboloop merged commit 3e1d94d into main Aug 27, 2026
2 checks passed
@roboloop
roboloop deleted the feat/platform-dashboard-links-v2 branch August 27, 2026 23:55
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant