Millis() code needs improvement

You have to set 'previousMillis' when you want the timer to start.

  if (triggerState != lastTriggerState) {
    if (triggerState == HIGH) {
      digitalWrite(flashLed, HIGH);
      digitalWrite(irLed, HIGH);
      previousMillis = currentMillis;
    }
  }

  if (currentMillis - previousMillis >= interval) {
    digitalWrite(flashLed, LOW);
    digitalWrite(irLed, LOW);
  }