StatsHub Docs

Home

The day's fixtures across 120+ leagues — the most-shared URL in the product, and the one piece of state deliberately kept out of it.

/ · src/composed/dashboard-home

Today's fixtures and live scores, trending bets, and the A-Z competition list. Four queries hung off a day and a filter set.

Every choice is in the URL

That matters more here than anywhere else, because this is the most-shared page in the product. A link someone sends should open on the day, the leagues and the scope they were looking at.

Except today

today stays local rather than in the URL, because it is not a choice — it is new Date().

The server cannot know it without disagreeing with the client: render it on the server and a reader in Auckland gets the server's idea of today. So it is set in an effect, and date falls back to it.

The general rule

The URL holds what the reader chose. It does not hold what their device happens to be. Anything derived from the clock or the timezone is client state, and putting it in the address bar makes a shared link wrong for whoever opens it.

It has the right rail

Home and the 100 Club are the two routes with one. Home's holds standings and a Telegram feed that fetch on their own — which is exactly why the rail's content is rendered by the page rather than the shell.

On this page