IR remote with two leds

void loop() {
  long int recv_value;
  
  
  
  if (irReceiver.decode(&results)) {
    recv_value = results.value;
    Serial.println(recv_value);
       
    if (recv_value == 1347255 && digitalRead(greenled) == LOW && digitalRead(redled) == LOW){
      digitalWrite(greenled, HIGH);
      Serial.println(digitalRead(greenled));
      Serial.println(digitalRead(redled));
      irReceiver.resume();
        }
        
      else if (recv_value == 1363635 && digitalRead(greenled) == LOW && digitalRead(redled) == LOW){
        digitalWrite(redled, HIGH);
        Serial.println(digitalRead(greenled));
        Serial.println(digitalRead(redled));
        irReceiver.resume();
        }
        
      else if (recv_value == 1371825 && ( digitalRead(greenled) == HIGH || digitalRead(redled) == HIGH)){
        digitalWrite(greenled, LOW);
        digitalWrite(redled, LOW);
        Serial.println(digitalRead(greenled));
        Serial.println(digitalRead(redled));
        
        irReceiver.resume();
        }

      else{
        irReceiver.resume();
      }
  }
}

this is my code now but when I look in the serial monitor the green turns on and I get a 1 for green on then a 0 for red off and if I keep pushing buttons on my remote other then the off button nothing happens to the light (it stays on until I press the off button). With the red led it turns on giving me a 0 green then 1 red but thats only if I press it quickly and dont hold for any amount of time. Otherwise I get 0 green 1 red -1(assuming thats the code for button holding) then 0 green 0 red. I don't quite understand why the red one won't stay on when the green one does.