User |
|
![UserScene](https://user-images.githubusercontent.com/75372470/148574071-4908eb44-0967-4b00-b787-6b4624c15196.jpg) |
На сцене отображается список добавленных детей в виде табличного представления. Для хранения данных используется CoreData с автоматической синхронизацией в облаке (с использованием CloudKit). Табличная ячейка отображает базовую информацию о ребенке: его фотографию, возраст (количество дней склоняется в соответствии с NSStringPluralRule. |
Day |
|
![DayFirst](https://user-images.githubusercontent.com/75372470/148579426-d9057e11-da9f-43f6-bf02-15206a2da413.jpg) |
Сцена отражает активность ребенка за выбранный день. В качестве секций выступают Сны и Бодрствования, а активность, связанная с Кормлениями, Сцеживаниями отражается в виде рядов, соответствующего Сна или Бодрствования. В NavigationBar’e реализованы возможности по редактированию сведений о ребенке (titleView) и выбору текущей даты (rightBarButtonItem). |
![DatePicker](https://user-images.githubusercontent.com/75372470/148580604-bf30c8f2-3264-48f9-8200-23591e7f698e.jpg) |
Выбор необходимой даты осуществяется при помощи кастомного ViewController’a: DatePicker. |
![DayThird](https://user-images.githubusercontent.com/75372470/148581157-e77b052f-ab76-4c90-97b3-d8f773db8c57.jpg) |
Для того, чтобы начать или закончить сон в текущий день достаточно просто нажать на кнопку “Начать/ закончить сон”, и событие произойдет в текущее время. Если же на кнопку нажать не в текущий день, то сразу выскочит окно с выбором времени, начиная с конца последеней активности выбранного дня, заканчивая 23:59 выбранного дня. |
![DayFourth](https://user-images.githubusercontent.com/75372470/148581911-cd70c19a-7bba-4239-892a-8fd6d123ce79.jpg) |
В конце каждого дня представлена статистика, включающая информацию по активности за прошедшую ночь, текущий день, следующую ночь. В настройках можно отключить демонстрацию как отдельных статистических параметров, так и целых секций. |
![DayWakefulness](https://user-images.githubusercontent.com/75372470/148582959-4107b152-70d4-4bdd-8eba-e06f8926fd9f.jpg) |
При выборе секции с Бодрствованием вызывается AlertController с различными действиями (на слайде не представлены некторые из них, поскольку не удовлетворяют условиям). |
![DaySleep](https://user-images.githubusercontent.com/75372470/148583312-4ef1909d-993e-4c22-a557-705f38c3f617.jpg) |
При выборе секции со Сном вызывается AlertController с различными действиями (на слайде не представлены некторые из них, поскольку не удовлетворяют условиям). |
KidProfile |
|
![KidProfile](https://user-images.githubusercontent.com/75372470/148582287-97886c62-25fa-4185-914d-543aff8bd7d3.jpg) |
При нажатии на titleView на NavigationBar’e на предыдущей сцене, происходит переход в профиль ребенка, где можно изменить его фотографию, имя, дату рождения, а также диапазон ночного сна, благодаря которому сны, начавшиеся внутри которого будут автоматически помечаться как ночные. |
Sleep |
|
![Sleep](https://user-images.githubusercontent.com/75372470/148601220-28256b09-b722-4560-8753-07b25456629b.jpg) |
Сцена редактирования сна. Реализована возможность установки времени начала и окончания сна при помощи DatePicker, указания дневной или ночной сон, места сна и примечания. |
Nursing |
|
![Nursing](https://user-images.githubusercontent.com/75372470/148601319-de0b6158-2e00-4393-a425-030fd12da9d0.jpg) |
Сцена редактирования кормления. Реализована возможность установки времени начала и окончания сна при помощи DatePicker, указания дневной или ночной сон, места сна и примечания. |
AudioCollection |
|
![AudioCollection](https://user-images.githubusercontent.com/75372470/148596280-c1ff550f-87c6-490b-a27c-9a7eddfed66a.jpg) |
Во второй секции TabBar’a, “Аудио”, расположены несколько разделов аудио контента (пока доступен только один – “Окружение”), которые представлены в виде CollectionView, по тапу на которую происходит переход на сцену AudioTracks, в которой расположены аудиозаписи звуков природы и окружения, предметов быта. |
AudioTracks |
|
![AudioTracks](https://user-images.githubusercontent.com/75372470/148597134-ef9b83c4-ffe6-4c6d-af97-0d52a93ad4cf.jpg) |
При нажатии на ячейку табличного представления, появляется аудио-плеер, реализованный в слое MainTabBar. |
AudioPlayer |
|
![AudioPlayerVolume](https://user-images.githubusercontent.com/75372470/148600183-78c595ac-de14-45d5-98df-37e75de4a05b.jpg) |
Первоначально запущенный трек проигрывается практически бесконечно (Int.max), однако, время проигрывания можно установить (диапазон: 10 – 240 минут). При установке таймера автоматически устанавливается плавное затухание звука в течение последних 10 минут проигрывания. |
![AudioPlayerMini](https://user-images.githubusercontent.com/75372470/148600064-296d2712-256c-46b4-8203-0f3048cc13bc.jpg) |
Так как AudioPlayer реализован в MainTabBar, плеер доступен любом экране приложения (кроме сцен настроек). При появлении плеера происходит изменение нижнего инсета как табличного представления, так и ScrollView (сохраняется в UserDefaults), что позволяет оставить доступным контент, находящийся на ViewController’ах за AudioPlayer’ом в свернутом виде на всех сценах приложения. |
![AudioPlayerControlCenter](https://user-images.githubusercontent.com/75372470/148600322-454eb21d-c1a7-4905-88f9-3a81ff95c01f.jpg) |
Реализована возможность управления громкостью и воспроизведением аудио из Control Center’a, а также возможность передачи аудиоконтента по AirPlay. |