Flutter: рисуем форму авторизации с маской ввода

Задача: нарисовать форму ввода телефона для авторизации, с учётом маски и проверкой корректности ввода номера. Должно получиться что-то вроде:

Решение:

Для накладывания маски на TextFormField воспользуемся пакетом flutter_multi_formatter:

Для того, чтобы подсвечивать кнопку разным цветом, в зависимости от введенного текста, добавим флажек phone_is_ok и два стиля оформления, на которые будет переключаться стиль кнопки в зависимости от флажка:

Саму кнопку нарисуем как:

Переключение флажка будем делать, отслеживая введенный текст: