Interrupts to change LED color out of continues function

Hello,
I struggeling with my new project
I want to use my 433Mhz Remote to change the color of my LED's.
the coding for the 433 part and for the LED's it self is ok and working.

So here the function which does a Rainbow with the LED's
This function will be interrupted.

The problem is in the switchcase part. The setColor function is called (could see a very short change at the LED) but than the programm runs throw with the rainbow function.
But it should stay in this color until the next interrupt appears.
But if it's in HSVCircle i should go throw throw the HSV circle endless
Did someone have an idea how to implement this?

Please see code below

Thanks
Ludger

#include "FastLED.h"
#include "RCSwitch.h"
#define PIN 5 // output on PIN #
#define LED 100 // no. of LED
#define t 100 //14062 // time of circle in ms 14062 /1hour

//1 hour =60min = 3600s = 3600000ms
// 3600000 / 256 =14062 ms/Farbe


RCSwitch mySwitch = RCSwitch();
CRGB leds[LED];

void setup()
  {
    FastLED.addLeds<NEOPIXEL, PIN>(leds, LED);
    //int colorchanger = 0;
    Serial.begin(9600);
    mySwitch.enableReceive(0);  // Receiver on inerrupt 0 => that is pin #2

    }

void HSVcircle(int start, int s, int bright)
{
// go throw HSV circle
   for (int circle=start; circle<256; circle++)
   {  
       //go throw LED's
    for (int i=0; i<LED; i++)
    { 
      leds[i].setHSV(circle+(i/3),s,bright);
    }
    FastLED.show();
    delay(t);
    //delay(14062); // one circle an hour 
    circle++;
    
    if (circle ==255) 
        {circle=1;}
        
    if (mySwitch.available()) {
    
      int value = mySwitch.getReceivedValue();
    
      switch (value)
      {
        case 21585:
        {
        HSVcircle(1,255,255);
        
        //wait until another interrupt is detected
        
        break;
        }
      
        case 21588:
        {
        setColor(0,0,0);
        break;
        }
                
        case 21777: 
        {
        setColor(10,255,255);
        break;
        }
              
        case 21780:
        {
        setColor(170,255,255);
        break;
        }        
    }
      mySwitch.resetAvailable();
  }    
  }
}
void setColor( int h, int s, int v)
  {
    for (int i=0; i<LED; i++)
    { 
      leds[i].setHSV(h,s,v); 
    }
   FastLED.show(); 
}

i added the setup

I don't see any interrupts, and I don't see any setup or loop either.

AWOL:
I don't see any interrupts, and I don't see any setup or loop either.

I see no need for interrupts. The Blink Without Delay example in the IDE will show you how to do it.

Why you see no need for interrupts?
I want to use the input value from the remote to switch between the functions.
So there is not fix time between the "switching" events.
The code looks like if it could be use for polling for an "event" that happens.

I understand the example, but i didn't see how it could help me in my specific problem.
Could you explain more?

Why you see no need for interrupts?

Because there isn't one. An interrupt is like a phone ringing. If you are in the middle of fixing dinner, and the phone rings, you answer the phone. After you are done with the phone call, you don't go disco-dancing. You resume fixing dinner.

You need to structure your application so that it is interrupt-able (like putting the half-finished dinner away after turning off the stove before you go disco-dancing). Once you do that, you'll see that the interrupt offers no advantage over polling. Think about checking for text messages, rather than answering the ringing phone.

I understand the example, but i didn't see how it could help me in my specific problem.

Then, you don't understand the example. The example shows you how to determine if it is time to do something - fix dinner, go disco-dancing, go to bed, check text messages, etc. If it is, you do it. If not, you don't. Pretty simple, really.

Of course, it is slightly more complicated for you, since what to do next (after the thing you are waiting to do) changes as you do things. That's why finite state machines are after mentioned together with the blink without delay example.