Starting and stopping a blinking light with IR remote?

To start off, I am a beginner programmer, and have only been working on learning Arduino code for a few weeks now. So I apologize for any lack of knowledge I have in 'the basics.'

Now, on to my question... I am working on a project where I control various things (such as LEDs, for example) with an IR remote. I have been able to do basic things like turn an LED off and on, but I am running into trouble with writing loops that continue (such as a blinking light) that starts and stops by using an IR remote.

Here is my code. When I run it, the blinking light starts and does not respond to the IR input. Please let me know if you have any suggestions, I would really appreciate it!

#include <IRremote.h>

int RECV_PIN = 7;
int led = 6;

#define power 0xFD00FF

IRrecv irrecv(RECV_PIN);

decode_results results;
bool blinking = false;

void setup ()
{
  Serial.begin(9600);
  irrecv.enableIRIn();
  pinMode(led, OUTPUT);
}

void loop() {
  
  if (blinking = true) {
    digitalWrite(led, HIGH);
    delay (1000);
    digitalWrite(led, LOW);
    delay (1000);
  } else {
    digitalWrite(led,LOW);
  }
  
  if (irrecv.decode(&results)){
    unsigned int value = results.value;
    switch (value) {
      
      case power:
      if (blinking == false){
        blinking = true;
      } else {
        blinking = false;
      }
      
    }
    Serial.println(value);
    irrecv.resume();
  }
}

(deleted)

Thank you very much for your response! I had to add a couple lines of code in order to make that work, but I was able to get it to work!!

Here is the code for someone in a similar boat.

#include <IRremote.h>

int RECV_PIN = 7;
int led = 6;
int ledState = LOW;

#define power 0xFD00FF

IRrecv irrecv(RECV_PIN);

decode_results results;
bool blinking = false;
unsigned long previousMillis = 0;
const long interval = 1000;

void setup ()
{
  Serial.begin(9600);
  irrecv.enableIRIn();
  pinMode(led, OUTPUT);
}

void loop() {
  unsigned long currentMillis = millis();
  if (blinking == true & (currentMillis - previousMillis >= interval)) {
    previousMillis = currentMillis;
    digitalWrite(led, !digitalRead(led));
  }

  if (irrecv.decode(&results)) {
    unsigned int value = results.value;
    switch (value) {

      case power:
      if (blinking != true){
        blinking = true;
      } else {
        blinking = false;
      }
        break;

    }
    Serial.println(value);
    irrecv.resume();
  }
}