/// // Pretty URLs for the family-facing web surfaces. // // One page now does what three did: `index.html` is sign-in, profiles, // playback preferences, sources, devices and downloads behind a persisted // session. `/settings` keeps working because it is in people's muscle memory and // in older messages — it lands on the sources section of the new page. // // `/tv` is the short form of `/get/tv`, because that URL gets typed on a // television remote inside the Downloader app, one character at a time. // // `onboarding.html` and `settings.html` are gone rather than left lying around. // The first offered a signup form that can now only fail — registration is // owner-only — and a dead button is worse than no button. The second is a subset // of the sources section. routerAdd("GET", "/account", (e) => e.redirect(302, "/")) // Deep-link straight to sources; the page reads the hash to pick its tab. routerAdd("GET", "/settings", (e) => e.redirect(302, "/#addons")) // Typing this on a remote is the actual cost being optimised. routerAdd("GET", "/tv", (e) => e.redirect(302, "/get/tv"))