Thanks Paul for your patience
Not quite in goal yet.
Still has no effect..
updated the variable names
const int buttonPin = 0;Â Â
const int ledPin = 3;Â Â
int ledState = HIGH;Â Â Â Â
int buttonState;Â Â Â Â Â Â
int lastButtonState = LOW;Â
unsigned long ledOnDelay = 10000;
unsigned long trackLedOnTime = 0;
unsigned long lastDebounceTime = 0;
unsigned long debounceDelay = 50;Â Â
void setup() {
 pinMode(buttonPin, INPUT);
 pinMode(ledPin, OUTPUT);
 // set initial LED state
 digitalWrite(ledPin, ledState);
}
void loop() {
Â
 int reading = digitalRead(buttonPin);
 if (reading != lastButtonState) {
 Â
  lastDebounceTime = millis();
 }
 if ((millis() - lastDebounceTime) > debounceDelay) {
 Â
  if (reading != buttonState) {
   buttonState = reading;
Â
   if (buttonState == HIGH) {
    ledState = !ledState;
    if(ledState)
    trackLedOnTime = millis();  Â
   }
  }
 }
Â
 digitalWrite(ledPin, ledState);
 lastButtonState = reading;
 if ((millis - trackLedOnTime) > ledOnDelay) {
  digitalWrite(ledPin, LOW);
  }
 }