How to get IR control commands to loop?

I’m trying to create my own project using an IR remote where I can control LEDs. I never played with infrared before so I started off with this video to help me out. However I found that the code doesn’t loop and I’m not sure what to do. For example when I press 1, I want all 3 LEDs to blink continuously, but they only blink once. I’d appreciate if someone could give me an example of what I should do or even just edit my code to show me what needs to change. (code & pictures included below, you can ignore the “group 2” LEDs and buttons 2-6 as they aren’t set up yet)

#include <IRremote.h>
//Group 1
const int GreenLED1 = 2;
const int RedLED1 = 4;
const int WhiteLED1 = 5;

//Group 2
const int GreenLED2 = 6;
const int RedLED2 = 7;
const int GreenLED2_2 = 8;
const int RedLED2_2 = 9;

int RECV_PIN = 3; //This must be PWM
IRrecv irrecv(RECV_PIN);
decode_results results;

void setup()
{ 
  Serial.begin(9600);
  irrecv.enableIRIn(); // Start the receiver
    
  pinMode(GreenLED1, OUTPUT);
  pinMode(RedLED1, OUTPUT);
  pinMode(WhiteLED1, OUTPUT);
  
  pinMode(GreenLED2, OUTPUT);
  pinMode(RedLED2, OUTPUT);
  pinMode(GreenLED2_2, OUTPUT);
  pinMode(RedLED2_2, OUTPUT);
  
}
void loop() {
  
  if (irrecv.decode(&results)) {
         switch(results.value)
      {       
        case 16580863:    Serial.println("power off");  // Power Button - Powers off
                digitalWrite(GreenLED1,LOW);
                digitalWrite(RedLED1,LOW);
                digitalWrite(WhiteLED1,LOW);
                digitalWrite(GreenLED2,LOW);
                digitalWrite(RedLED2,LOW);
                digitalWrite(GreenLED2_2,LOW);
                digitalWrite(RedLED2_2,LOW);
                   break;
           
        case 16582903:    Serial.println("1");  // Button 1 - Blink
                digitalWrite(GreenLED1,HIGH);
                digitalWrite(RedLED1,HIGH);
                digitalWrite(WhiteLED1,HIGH);
                digitalWrite(GreenLED2,HIGH);
                digitalWrite(RedLED2,HIGH);
                digitalWrite(GreenLED2_2,HIGH);
                digitalWrite(RedLED2_2,HIGH);
                delay(1000);
                digitalWrite(GreenLED1,LOW);
                digitalWrite(RedLED1,LOW);
                digitalWrite(WhiteLED1,LOW);
                digitalWrite(GreenLED2,LOW);
                digitalWrite(RedLED2,LOW);
                digitalWrite(GreenLED2_2,LOW);
                digitalWrite(RedLED2_2,LOW);
                delay(1000);
                break;
          
        case 16615543:  Serial.println("2"); // Button 2  
                        digitalWrite(GreenLED1,LOW);
                        break;          
           
        case 16599223:    Serial.println("3");  // Button 3
                          digitalWrite(RedLED1,HIGH);
                           break;
        
        case 16591063:  Serial.println("4"); // Button 4
                        digitalWrite(RedLED1,LOW);
                        break;
          
        case 16623703:  Serial.println("5"); // Button 5
                        digitalWrite(WhiteLED1,HIGH);
                        break; 
          
        case 16607383:  Serial.println("6"); // Button 6
                        digitalWrite(WhiteLED1,LOW);
                          break;         
        
 
        default: Serial.println(results.value);     
      }  
    irrecv.resume(); // Receive the next value
  }
  
}

Thanks for following the posting guidelines. I hope your resistors have a higher value than 100 ohms. That would be pushing a little too much current. Any feature requires code, you haven't written any to make them blink continuously. So we would like you to make an attempt at that.

You should make two separate sections of code in loop(). The first polls the IR and sets variables to indicate whether blinking should be happening or not. The second checks the variables and blinks (or not) depending on the state of those variables. To make it work without stopping, you need to use non-blocking code such as is found in the IDE example sketch "Blink Without Delay".

Like this:

unsigned long Command = 0;
void loop()
{
  if (irrecv.decode(&results))
  {
    Command = results.value;
    irrecv.resume(); // Prepare to receive the next value
  }


  switch (Command)
  {
    case 16580863:    Serial.println("power off");  // Power Button - Powers off
      digitalWrite(GreenLED1, LOW);
.
.
.
    default: Serial.println(Command);
  }
}