Так а что там понимать? Там почти все изменения, что видны в коммите - это просто сдвиг табов, потому что выдернуто из логики if (currentUser)
Просто раньше кнопка не выводилась, потому что вся логика ее отображения была обернута в if (currentUser). Нет пользователя (currentUser) - нет никакого вывода вообще.
Сейчас я убрал обертку по этому условию (то есть какая-то кнопка из двух в любом случае отображается), но логика теперь такая:
Получаем активную задачу пользователя если "пользователь есть и его id совпадает с id пользователя задачи".
Если активная задача была получена if (activeTimer), то выводим кнопку стоп.
Иначе (во всех иных случаях) выводим кнопку старт.
Очевидно, что если нет пользователя, то активную задачу мы не можем решить, а значит кнопка Старт будет выводиться. Логика совсем не сложная. Если ты ее для себя как-то усложнил, поработай над своим восприятием.
>> Во-первых я так понимаю useUpdateTimerProcessorMutation()
Это генерируемые хуки для GraphQL-запросов, но они, в рамках текущей задачи, тебя вообще не решались. Там только и надо было что поменять условие рендеринга, все, больше ничего не надо было трогать.