- New src/lib/router.js: parseHash/ viewToHash for the 5 tab views, with a default fallback for empty/unknown hashes. - App.svelte: initialize viewMode from location.hash, setView() updates both state and the URL hash, and a guarded hashchange listener syncs back/forward and manual URL edits. All tab onclicks route through setView(). - Tests for parse/viewToHash round-trips and fallback. 76 total pass.
Description
Vibe-coded weather app
Languages
Svelte
50.2%
JavaScript
46.3%
CSS
3.1%
HTML
0.4%