  
    if (zoom_counter == 0) {
      m_map->setZoom(util::map_val<float>(velocity_filter.x(), 0, 30, MAX_ZOOM, MIN_ZOOM));
    } else {
      zoom_counter--;
    }
  
    if (sm.updated("navInstruction")) {
      // an invalid navInstruction packet with a nav destination is only possible if:
      // - API exception/no internet
 
</s> remove   } else {
    pan_counter--;
  }

  if (zoom_counter == 0) {
 </s> add  </s> remove   if (pan_counter == 0) {
 </s> add   if (interaction_counter == 0) { </s> remove   pan_counter = 0;
  zoom_counter = 0;
 </s> add   interaction_counter = 0; </s> remove   zoom_counter = PAN_TIMEOUT;
 </s> add   interaction_counter = INTERACTION_TIMEOUT; </s> remove     pan_counter = PAN_TIMEOUT;
 </s> add     interaction_counter = INTERACTION_TIMEOUT;
    interaction_counter--;
  
    if (zoom_counter == 0) {
      m_map->setZoom(util::map_val<float>(velocity_filter.x(), 0, 30, MAX_ZOOM, MIN_ZOOM));
    } else {
    interaction_counter--;
    }
  
    if (sm.updated("navInstruction")) {
      // an invalid navInstruction packet with a nav destination is only possible if:
      // - API exception/no internet
keep keep keep keep replace keep keep keep keep keep
 ui/map: interactive counter fix (#29470)

* use interactive_counter instead of separate zoom and pan counters

* use interaction_counter instead of separate zoom and pan counters

* same styling

---------

Co-authored-by: Shane Smiskol <shane@smiskol.com> 
selfdrive/ui/qt/maps/map.cc