Problem understanding non blocking delay via millis()

Well, it's meant to turn off, obviously. Changed the sketch to this:

    if(digitalRead(pir) == HIGH){
    
     
      digitalWrite(lightOut, HIGH);
      unsigned long currentMillis = millis();
      if(currentMillis - previousMillis > interval){
        previousMillis = currentMillis;
    digitalWrite(lightOut, LOW);        
    
      }
      
    }
    else{
      digitalWrite(lightOut, LOW);
    }

and changing the interval time still does nothing.