Чуток ревью, убери вложенные тернарные выражения, они плохо читаются, поставь eslint, используй декларативный подход, вместо императивного, удачи в кодинге!
@ooops4333