Trying to make an IR remote change LED colours

Hello,
I am trying to use a remote controller to control a strip of WS2811 LEDs and I have been able to make the program recognise each button that is pressed in the serial monitor from the controller and the code ‘verifies’ so I guess it should work.
However, when I press the buttons on the remote with the arduino running, the serial monitor tells me the correct button which is pressed but it doesn’t turn on or change the LEDs as it should.

Here is the code I’m using. (Sorry it’s all chopped up and copy and pasted a lot, also, I cut out some of the colour palettes)

#include "IRremote.h"
    #include <FastLED.h>
     
    #define LED_PIN      6   // which pin your pixels are connected to
    #define NUM_LEDS    13   // how many LEDs you have
    #define BRIGHTNESS 255   // 0-255, higher number is brighter. 
    #define SATURATION 255   // 0-255, 0 is pure white, 255 is fully saturated color
    #define SPEED       10   // How fast the colors move.  Higher numbers = faster motion
    #define STEPS        2   // How wide the bands of color are.  1 = more like a gradient, 10 = more like stripes
    #define BUTTON_PIN   2   // button is connected to pin 2 and GND
     
    #define COLOR_ORDER GRB  // Try mixing up the letters (RGB, GBR, BRG, etc) for a whole new world of color combinations
     
    CRGB leds[NUM_LEDS];
    CRGBPalette16 currentPalette;
    CRGBPalette16 targetPalette( PartyColors_p );
    TBlendType    currentBlending;
    int ledMode = 0;

     
     const TProgmemPalette16 RedColors_p PROGMEM =
    {
      CRGB::Red,
      CRGB::Red, 
      CRGB::Red,
      CRGB::Red,
     
      CRGB::Red,
      CRGB::Red,
      CRGB::Red,
      CRGB::Red,
     
      CRGB::Red,
      CRGB::Red,
      CRGB::Red,
      CRGB::Red,
     
      CRGB::Red,
      CRGB::Red,
      CRGB::Red,
      CRGB::Red
    };
     
 
    
/*-----( Declare Constants )-----*/
int receiver = 11; // pin 1 of IR receiver to Arduino digital pin 11

/*-----( Declare objects )-----*/
IRrecv irrecv(receiver);           // create instance of 'irrecv'
decode_results results;            // create instance of 'decode_results'
/*-----( Declare Variables )-----*/


void setup()   /*----( SETUP: RUNS ONCE )----*/
{
  Serial.begin(9600);
  Serial.println("IR Receiver Raw Data + Button Decode Test");
  irrecv.enableIRIn(); // Start the receiver
  delay( 2000 ); // power-up safety delay
      FastLED.addLeds<WS2812B, LED_PIN, COLOR_ORDER>(leds, NUM_LEDS).setCorrection( TypicalLEDStrip );
      FastLED.setBrightness(  BRIGHTNESS );
      pinMode(BUTTON_PIN, INPUT_PULLUP);

}/*--(end setup )---*/


void loop()   /*----( LOOP: RUNS CONSTANTLY )----*/
{
  if (irrecv.decode(&results)) // have we received an IR signal?

  {
//    Serial.println(results.value, HEX);  UN Comment to see raw values
    translateIR(); 
    irrecv.resume(); // receive the next value
  }  
}/* --(end main loop )-- */

/*-----( Declare User-written Functions )-----*/
void translateIR() // takes action based on IR code received

// describing Car MP3 IR codes 

{

  switch(results.value)

  {

  case 0x55F8ABCF: 
    currentPalette = RedColors_p; 
    Serial.println(" 1- RED"); 
    break;

  case 0xA6039475:  
    Serial.println(" 1- RED");
    currentPalette = RedColors_p; 
    break;

  case 0xBABF651C:  
    Serial.println(" 2- ORANGE");
    currentPalette = OrangeColors_p; 
    break;

  case 0xC295B9B2:  
    Serial.println(" 2- ORANGE"); 
    currentPalette = OrangeColors_p;
    break;

  case 0xE3498398:  
    Serial.println(" 3- BLUE");
    currentPalette = BlueColors_p;
    break;

  case 0x32EF3FB6:  
    Serial.println(" 3- BLUE");
    currentPalette = BlueColors_p; 
    break;

  case 0x6E12B752:  
    Serial.println(" 4- PURPLE");
    currentPalette = PurpleColors_p; 
    break;

  case 0xDD79F5B8:  
    Serial.println(" 4- PURPLE"); 
    currentPalette = PurpleColors_p;
    break;

  case 0xDE79F74B:  
    Serial.println(" 5- GREEN"); 
    currentPalette = GreenColors_p; 
    break;

  case 0x6F12B8E5:  
    Serial.println(" 5- GREEN"); 
    currentPalette = GreenColors_p; 
    break;

  case 0x48103CEB:  
    Serial.println(" 6- TEAL"); 
    currentPalette = TealColors_p;
    break;

  case 0x4F8164F1:  
    Serial.println(" 6- TEAL"); 
    currentPalette = TealColors_p;
    break;

  case 0xFD11BCD4:  
    Serial.println(" 7- YELLOW"); 
    currentPalette = YellowColors_p;
    break;

  case 0x367F8CBA:  
    Serial.println(" 7- YELLOW"); 
    currentPalette = YellowColors_p;
    break;

  case 0x9756335A:  
    Serial.println(" 8- RAINBOW"); 
    currentPalette = RainbowStripeColors_p;
    break;

  case 0xC9406B70:  
    Serial.println(" 8- RAINBOW"); 
    currentPalette = RainbowStripeColors_p;
    break;

  case 0x985634EF:  
    Serial.println(" 9- PARTY"); 
    currentPalette = PartyColors_p;
    break;

  case 0xC64066B9:  
    Serial.println(" 9- PARTY"); 
    currentPalette = PartyColors_p;
    break;

  case 0x57D22308:  
    Serial.println(" TEXT- ALL COLOURS"); 
    currentPalette = colourColors_p;
    break;

  case 0x633477D:  
    Serial.println(" TEXT- ALL COLOURS");
    currentPalette = colourColors_p; 
    break;

  default: 
    Serial.println(" other button   ");
    
  

  }

  delay(500); }

In the ‘cases’, saying “currentPalette = RedColors_p;” should turn all of the LEDs on to red but instead nothing happens and the serial monitor just says “1- RED”.
I would like to know how to make it so that when the button is pressed, it will actually turn the LEDs red or any other colour.

Also, I have a feeling this piece of code needs to be in the loop, however, it keeps on coming up as an error when I paste it into the code. Here is the problematic code and the error code:

      FillLEDsFromPaletteColors( startIndex);
      FastLED.show();
      FastLED.delay(1000 / SPEED);  
    }
     
    void FillLEDsFromPaletteColors( uint8_t colorIndex) {
      for( int i = 0; i < NUM_LEDS; i++) {
        leds[i] = ColorFromPalette( currentPalette, colorIndex, BRIGHTNESS, currentBlending);
        colorIndex += STEPS;              
      }
    }

case_code_with_leds_test.ino: In function ‘void translateIR()’:
case_code_with_leds_test.ino:352:34: error: ‘startIndex’ was not declared in this scope
case_code_with_leds_test.ino:352:44: error: ‘FillLEDsFromPaletteColors’ was not declared in this scope
case_code_with_leds_test.ino:357:57: error: a function-definition is not allowed here before ‘{’ token
case_code_with_leds_test.ino:367:15: error: expected ‘}’ at end of input
Error compiling

Any help would be amazing! Thanks a lot!

In the 'cases', saying "currentPalette = RedColors_p;" should turn all of the LEDs on to re

It does nothing like that, using the code you posted. It simply assigns a value to a variable. Unless that VALUE is used elsewhere, nothing happens.

Here is the problematic code

Completely out of context.

Any help would be amazing!

Until you post all of your code, not a chance.