MKR 1010 Wifi Transistor 3V+ 5V

Ok I've made this change but I keep having the same problem.

Probably what I am going to say it's stupid but it could be that

Done but it happens the same. The pump works for one second and then stops (the same that would happend if I push the pushbutton). If I push the button again it happens the same: it works for 2s and it stops.

I simplified the code:

#define BUTTON_IN 8
#define POWER_ENGINE 12

 int v_buttonIn = LOW;
 int v_engineIn = LOW;
 bool v_engineActive = false;
 
void setup() {
  // put your setup code here, to run once:
  Serial.begin(9600);
  pinMode(BUTTON_IN, INPUT_PULLUP);
  pinMode(POWER_ENGINE, OUTPUT);
}

void loop() {
  
  //When buttonIn = low then change the variable to the opposite
  if( digitalRead(BUTTON_IN) == LOW ){
      v_engineActive = !v_engineActive;
      delay( 1000 );
  }
  
  //Activate the power engine when v_engineActive = True
  digitalWrite(POWER_ENGINE, ( v_engineActive ) ? HIGH : LOW );

}