Issue with Delays

How do I get the winPin to light up right away for when the button is pushed to turn off the ledPin and how do I add an "And" statement to it?

The project I am working on will eventually have 3 led lights that will light up at different times and you would have to push the right button (3 corresponding buttons) in order to shut off the ledPin and turn on the winPin. Added to when the winPin goes on there will be a DC motor will turn on and spin 3 times in a row.

My last question is, is my code right so far for just one ledPin?

const int buttonPin = 8;     
const int ledPin =  0; 
const int winPin = 5; 
bool Running = false;
int buttonState = 0;    

void setup() {
  pinMode(ledPin, OUTPUT);
  pinMode(winPin, OUTPUT);
  pinMode(buttonPin, INPUT);
}

void loop() { digitalRead(buttonPin);

while (digitalRead(buttonPin) == LOW){
   digitalWrite(ledPin, HIGH);
   
      if (digitalRead(buttonPin) == HIGH) {
    digitalWrite(winPin, HIGH);
    digitalWrite(ledPin, LOW);
    //motor on
    delay(7000); 
    digitalWrite(winPin, LOW);
    //motor off
   }
   }
}

Don't use D0 to control an LED. Use D4 or something else. You have D2 - D13 to choose from.
I prefer to leave D0 (RX) and D1(TX) alone.

You need a current limiting resistor for each LED.

For one LED scenario, are you planning on push to turn on, then push to turn off again?

Have you breadboarded this circuit?

.

The demo Several Things at a Time illustrates the use of millis() to manage timing without blocking.

...R