[ ] Экран главный с табами - главная, карта, настройки. В первых табах будут заглушки.
[ ] Экран настроек - список, без работы с сервером, выводится:
[ ] Пуши (свич)
[ ] Текст зачем нам пуши (отображется только когда пуши отключены)
[ ] Кнопка смены пароля - пока обработки нажатия на кнопки нет (пишем просто в лог)
[ ] Кнопка логаута (делается логаут, который на авторизации был сделан на главном экране)
Флоу
[ ] Включаем приложуху, авторизуемся, идем в настройки, там можем включать и выключать пуши, чтобы увидеть как скрывается и показывается текст пояснялки.
[ ] Свич пуша делаем через MutableLiveData, не забываем про Closeable, упоминаем что это надо для всех биндингов лайвдат.
[ ] Пояснить про itemId - что и зачем, как используется. пояснение как работает дифф. указать важность указания id
[ ] пояснение какой id ставить для элементов типа divider'ов и loader'ов
[ ] Включить Diffable версию на iOS.
[ ] Сделать отдельный градл модуль для настроек. Показать как создавать новые фичи (градл модуль, конфиги все, состав внутри), упомянуть про шейпер шаблон.
[ ] пояснение как юниты превращаются в список на платформах
[ ] как подключать cocoapod юнитов к айосу, необходимость экспорта moko-units из kotlin модуля, почему важно чтобы имя kotlin модуля было MultiPlatformLibrary при использовании MultiPlatformLibraryUnits
[ ] описать как кликабельные действия в юнитах использовать и что нужно для передачи лямбд подключать moko-utils и использовать weakLambda
Чему научимся
Делать списки, управляемые из общего кода. Использовать общую локализацию.
Шаги
Вводная
Делаем список
Показываем публичный интерфейс общего кода - вьюмодель с лайвдатой юнитов и unitfactory
@DevTchernov тут надо будет ещё затронуть создание вьюмодели и фичи в целом, т.к. фича авторизации уже есть в бойлерплейте из коробки, в 3й кодлабе на этом не будет сильной остановки и деталей
Адрес Codelab
Состав
Флоу
Используем
ViewModel, livedata, units, resources, Napier, ViewBinding.
Подходы
Не забыть
Чему научимся
Делать списки, управляемые из общего кода. Использовать общую локализацию.
Шаги