Menu design problem ( temperature page + menu)

Sometimes, it is also useful to distinguish between the first time to a menu (redraw everything) vs. returning to the same menu (only update what is needed). This is the approach of a finite state machine (google it, if interested) and then you get something more like

...
bool inSettingsState = false;

void loop() {
  if ( checkButtons() ) {
    inSettingsState = !inSettingsState;
    if ( inSettingsState == true ) {
      beginSettingsMenu();
    }
    else {
      beginRunMenu();
    }
  }

  if ( inSettingsState == true ) {
    // do Settings things
    updateSettingsMenu();
  }
  else {
    // do regular things
    updateRunMenu();
  }
}
...