help with multi function button code

im trying to make a preset ammo counter that has three preset numbers to count back from till empty. im gonna have 2 buttons, one to select the mode and one to act as a switch for the counter trigger, and 3 leds to indicate what mode is active. ive tried doing just about every possible code from scratch and combinations of codes that ive found and tried to modify to my needs. this is what i have now. what it does now is get stuck on the mode select without advancing to display the mode its supposed to be in. any help on this front would be greatly appreciated.

im using autodesk circuits to build the circuit and run the code simulations.the build can be found here.

// this is the most recent version of the code ive tried to run

// include the library code:
#include <LiquidCrystal.h>

// initialize the library with the numbers of the interface pins
LiquidCrystal lcd(7, 6, 5, 4, 3, 2);

// set up a constant for the tilt switchPin
int switchPin = 10;
int magCount = 0;
// variable to hold the value of the switchPin
int switchState = 0;
// variable to hold previous value of the switchpin
int prevSwitchState = 0;

int magPin = 8;
int magState = 0;
int prevMagState = 0;

int magA = 16;
int magB = 24;
int magC = 50;

int magAled = 11;
int magAledState = 0;

int magBled = 12;
int magBledState = 0;

int magCled = 13;
int magCledState = 0;

void setup() {  
  // set up the number of columns and rows on the LCD 
  lcd.begin(16, 2);
  
  // set up the switch pin as an input
  pinMode(switchPin,INPUT);
  pinMode(magPin, INPUT_PULLUP);
  pinMode(magAled, OUTPUT);
  
  pinMode(magBled, OUTPUT);
  pinMode(magCled, OUTPUT); 
  
  lcd.clear();
  lcd.setCursor(0, 0);
  lcd.print("Select a size");
  lcd.setCursor(0, 1);
  lcd.print("of magazine");
  delay(1000);
}

void loop() {  
  
  if (magState != prevMagState) {
    if (magState == HIGH) {
      magCount++;
    }
    prevMagState = magState;
  }
  
  switch(magCount)
  {
    case 1:    
        magCount == magA;
        digitalWrite(magAled, HIGH);
        lcd.clear();
        lcd.setCursor(0, 0);
        lcd.print("Mag size entered");
        lcd.setCursor(0, 1);
        lcd.print(magCount); 
    	delay(1000);
    	
    	switchState = digitalRead(switchPin);
    	
    if (switchState != prevSwitchState) {
      if (switchState == HIGH) {
        magCount == magA;
        magCount--;
        digitalWrite(magAled, HIGH);
        lcd.clear();
        lcd.setCursor(0, 0);
        lcd.print("Rounds Remaining");
        lcd.setCursor(0, 1);
        lcd.print(magCount);}}
   	 break;
    case 2:
    	magCount == magB;
        digitalWrite(magBled, HIGH);
        magCount--;
        lcd.clear();
        lcd.setCursor(0, 0);
        lcd.print("Mag size entered");
        lcd.setCursor(0, 1);
        lcd.print(magCount);
   	 break;
    case 3:
        magCount == magC;
        digitalWrite(magCled, HIGH);
        magCount--;
        lcd.clear();
        lcd.setCursor(0, 0);
        lcd.print("Mag size entered");
        lcd.setCursor(0, 1);
        lcd.print(magCount); 
   	 break;
    default:
      lcd.clear();
 	  lcd.setCursor(0, 0);
	  lcd.print("Select a size");
	  lcd.setCursor(0, 1);
	  lcd.print("of magazine");
  }
}