En gros ton if ne vérifies qu'une seule fois si sec === 0, ensuite ton setInteval modifie la valeur des sec toutes les secondes, et quand il arrive a zéro ton code ne calcules pas le if qu'il a déjà utilisé
A chaques fois que tu modifies la valeur de sec, il faut que tu relances ton if, en mettant ce if dans la boucle setInterval:
Après en orienté objet tu peux te faire un listenner pour observer tout ton code, maaais la ce serait plus simple de passer par React que de créer soit meme le listenner x)
Sinon rien a voir mais en code c'est mieux de morceler au maximum le code, histoire d'avoir le bon réflexe quand tu fera un gros projet :p