Advice/Help with Programming Prompted Case Switch (within Switch) over Serial

Thanks in advance.

Looking for guidance in programming a prompted serial display.

Question: I am trying to have a prompted screen based on case switch over serial. The goal is to follow several prompts to achieve the specific result.

Problem: In my case '1' switch, I cannot seem to get the serial to let me follow the second prompt for 'a' and 'b'. When I select '1', it will automatically complete the case and break out, not letting me select the other selections.

I thought that the below code would let me wait for a prompt.

while (Serial.available() == 0) {
}

then this line would recognize what was entered

inByte = Serial.read();

again pointing to a switch case that I could follow over serial.

This shouldn't be this difficult, what am I missing?

int numpressed;
int inByte;


void setup() {

  Serial.begin(9600);

  Serial.print("Select '0', then hit enter");
  Serial.println();

  Serial.print("Select '1', then hit enter");
  Serial.println();

  Serial.print("Select '2', then hit enter");
  Serial.println();

  Serial.print("Select '3', then hit enter");
  Serial.println();

  Serial.print("What number would you like to select?");
  Serial.println();
}

void loop() {

  while (Serial.available() == 0) {

  }

  numpressed = Serial.read();

  switch (numpressed) {

    case '0':
      
      Serial.print("Pressed 0");
      Serial.println();
      break;

    case '1':
      
      while (Serial.available() == 0) {

      }

      Serial.print("Pressed 1");
      Serial.println();

      Serial.print("Select 'a', then hit enter");
      Serial.println();

      Serial.print("Select 'b', then hit enter");
      Serial.println();
      
      inByte = Serial.read();

            switch (inByte) {
      
              case 'w':
                Serial.print("Pressed a");
                Serial.println();
                break;
      
              case 'v':
                Serial.print("Pressed b");
                Serial.println();
                break;
      
              default:
                Serial.print("Invalid Entry");
                Serial.println();
              
            }
      break;

    case '2':
      Serial.print("Pressed 2");
      Serial.println();
      //do something
     
      break;

    case '3':
      Serial.print("Pressed 3");
      Serial.println();
      //do something
     
      break;
  }
}

yes on case 1 you fist wait for the Serial.port(input) then print on Serial(print).
change them to . first show serial output(print) then wait for serial input(read).

case '1':

      Serial.print("Pressed 1");
      Serial.println();

      Serial.print("Select 'a', then hit enter");
      Serial.println();

      Serial.print("Select 'b', then hit enter");
      Serial.println();

      while (Serial.available() == 0) {

      }
      
      inByte = Serial.read();

            switch (inByte) {
      
              case 'w':
                Serial.print("Pressed a");
                Serial.println();
                break;
      
              case 'v':
                Serial.print("Pressed b");
                Serial.println();
                break;
      
              default:
                Serial.print("Invalid Entry");
                Serial.println();
              
            }