The spinner-on-every-tab problem A bottom navigation bar looks like a solved problem. Four destinations, a selected index, a page for each one. The naive implementation is a pushReplacementNamed on every tap: each destination is its own route, and switching tabs swaps the route. That works until the app has state worth keeping. In GwinG, each main tab owns real, expensive state: Search runs a debounced user query, holds a map preview and polls presence for the visible results. Fr...