Problems with digital clock code

HI everyone, I am having issues trying to get my digital clock to work. As of right now, clock is running, however secs goes back to "00" after 60 seconds. In other words, mins are not increasing. Hours may have the same problem but I'll find out when mins gets fixed.

Any feedback will be appreciated.

#include <LiquidCrystal.h>

LiquidCrystal lcd(12, 11, 5, 4, 3, 2);

int hours = 0;
int mins = 0;
int secs = 0;
const int millisecs = 1000;
unsigned long currntMillis;
boolean nextMin = false;

const int hoursPB = 7;
const int minsPB = 8;


void setup() 
{
  pinMode(hoursPB, INPUT);
  pinMode(minsPB, INPUT);
  
  lcd.begin(16, 2);
  lcd.setCursor(3,0);
  lcd.print("00:00:00 AM");
}

void loop() 
{
  currntMillis = millis();
  secs = (millis()/millisecs)%60;

  if((secs == 0) && (nextMin = false))
  {
    mins = mins + 1 ;
    updateMins();
    nextMin = true;
  }
  else if (secs != 0)
  {
    nextMin = false;
  }
  if(secs < 10) 
  {
    lcd.setCursor(10,0);
    lcd.print(secs);
    lcd.setCursor(9,0);
    lcd.print(0);
  }
  else
  {
    lcd.setCursor(9,0);
    lcd.print(secs);
  }
}

void updateMins() 
{
  if(mins > 59)
  {
    mins = 0;
    hours = hours + 1;
    updateHours();
  }
  if(mins < 10)
  {
    lcd.setCursor(7,0);
    lcd.print(mins);
    lcd.setCursor(6,0);
    lcd.print(0);
  }
  else
  {
    lcd.setCursor(6,0);
    lcd.print(mins);
  } 
}

void updateHours()  // this function is used to update hours between AM and PM
{
  Serial.print(hours);
  if(hours > 12)
  {
    hours = 1;
    lcd.setCursor(12,0);
    lcd.print("PM");   
  }
  if(hours < 10)
  {
    lcd.setCursor(3,0);
    lcd.print(" ");
    lcd.setCursor(3,0);
  }
  else
  {
    lcd.setCursor(3,0);
  }
  lcd.print(hours);
}
  if((secs == 0) && (nextMin = false))

Why do you use == in one place, and = in the other?