feat(calendar): Diet days marked in calendar, diet preview page added

This commit is contained in:
2024-08-08 12:22:15 +03:00
parent 6b79d1880b
commit a2ea8dd2ba
7 changed files with 205 additions and 115 deletions

View File

@@ -102,7 +102,10 @@ class CalendarScreen extends StatelessWidget {
padding: EdgeInsets.all(8),
decoration: BoxDecoration(
borderRadius: BorderRadiusStyle.circleBorder8,
color: getBackgroundColor(diary['state']),
color: state.calendarList[index]
.is_current_day_included_in_the_chosen_diet_progression
? Color.fromRGBO(59, 130, 246, .2)
: Color.fromRGBO(126, 136, 151, .1),
),
child: Row(
mainAxisAlignment: MainAxisAlignment.center,
@@ -117,57 +120,24 @@ class CalendarScreen extends StatelessWidget {
style: theme.textTheme.titleMedium,
),
SizedBox(height: 2.v),
if (diary['state'] != null)
Row(children: [
Container(
padding: EdgeInsets.all(
4.0), // Отступы внутри контейнера
decoration: BoxDecoration(
color: diary['state'] == 'finished'
? Color.fromRGBO(1, 154, 62, 1)
: Color.fromRGBO(154, 74, 1, 1),
borderRadius: BorderRadius.circular(
24.0), // Закругленные углы
),
child: Text(
_getStateText(diary['state'] ?? ''),
style: CustomTextStyles
.titleSmallBold, // Предполагается, что текст белый
),
if (state.calendarList[index]
.is_current_day_included_in_the_chosen_diet_progression)
Container(
padding: EdgeInsets.all(
4.0), // Отступы внутри контейнера
decoration: BoxDecoration(
color: Color.fromRGBO(13, 110, 253, 1),
borderRadius: BorderRadius.circular(
24.0), // Закругленные углы
),
SizedBox(width: 4),
if (diary['state'] == 'started')
Container(
padding: EdgeInsets.all(
4.0), // Отступы внутри контейнера
decoration: BoxDecoration(
color: Color.fromRGBO(13, 110, 253, 1),
borderRadius: BorderRadius.circular(
24.0), // Закругленные углы
),
child: Text(
'Заполнить отчет',
style: CustomTextStyles
.titleSmallBold, // Предполагается, что текст белый
),
),
if (diary['state'] == 'finished')
Container(
padding: EdgeInsets.all(
4.0), // Отступы внутри контейнера
decoration: BoxDecoration(
color: Color.fromRGBO(13, 110, 253, 1),
borderRadius: BorderRadius.circular(
24.0), // Закругленные углы
),
child: Text(
'Изменить отчет',
style: CustomTextStyles
.titleSmallBold, // Предполагается, что текст белый
),
),
]),
if (state.calendarList[index].diary is List<dynamic>)
child: Text(
'Посмотреть диету на день',
style: CustomTextStyles
.titleSmallBold, // Предполагается, что текст белый
),
),
if (!state.calendarList[index]
.is_current_day_included_in_the_chosen_diet_progression)
Container(
padding: EdgeInsets.all(
4.0), // Отступы внутри контейнера
@@ -191,6 +161,7 @@ class CalendarScreen extends StatelessWidget {
);
} else {
diary = state.calendarList[index].diary as Map<String, dynamic>;
print(state.calendarList[index]);
return InkWell(
borderRadius: BorderRadiusStyle.circleBorder8,
onTap: () => GoRouter.of(context).go(
@@ -216,71 +187,55 @@ class CalendarScreen extends StatelessWidget {
style: theme.textTheme.titleMedium,
),
SizedBox(height: 2.v),
if (diary['state'] != null)
Row(children: [
Container(
padding: EdgeInsets.all(
4.0), // Отступы внутри контейнера
decoration: BoxDecoration(
color: diary['state'] == 'finished'
? Color.fromRGBO(1, 154, 62, 1)
: Color.fromRGBO(154, 74, 1, 1),
borderRadius: BorderRadius.circular(
24.0), // Закругленные углы
),
child: Text(
_getStateText(diary['state'] ?? ''),
style: CustomTextStyles
.titleSmallBold, // Предполагается, что текст белый
),
),
SizedBox(width: 4),
if (diary['state'] == 'started')
Container(
padding: EdgeInsets.all(
4.0), // Отступы внутри контейнера
decoration: BoxDecoration(
color: Color.fromRGBO(13, 110, 253, 1),
borderRadius: BorderRadius.circular(
24.0), // Закругленные углы
),
child: Text(
'Заполнить отчет',
style: CustomTextStyles
.titleSmallBold, // Предполагается, что текст белый
),
),
if (diary['state'] == 'finished')
Container(
padding: EdgeInsets.all(
4.0), // Отступы внутри контейнера
decoration: BoxDecoration(
color: Color.fromRGBO(13, 110, 253, 1),
borderRadius: BorderRadius.circular(
24.0), // Закругленные углы
),
child: Text(
'Изменить отчет',
style: CustomTextStyles
.titleSmallBold, // Предполагается, что текст белый
),
),
]),
if (state.calendarList[index].diary is List<dynamic>)
Row(children: [
Container(
padding: EdgeInsets.all(
4.0), // Отступы внутри контейнера
decoration: BoxDecoration(
color: Color.fromRGBO(108, 117, 125, 1),
color: diary['state'] == 'finished'
? Color.fromRGBO(1, 154, 62, 1)
: Color.fromRGBO(154, 74, 1, 1),
borderRadius: BorderRadius.circular(
24.0), // Закругленные углы
),
child: Text(
'Cкоро',
_getStateText(diary['state'] ?? ''),
style: CustomTextStyles
.titleSmallBold, // Предполагается, что текст белый
),
),
SizedBox(width: 4),
if (diary['state'] == 'started')
Container(
padding: EdgeInsets.all(
4.0), // Отступы внутри контейнера
decoration: BoxDecoration(
color: Color.fromRGBO(13, 110, 253, 1),
borderRadius: BorderRadius.circular(
24.0), // Закругленные углы
),
child: Text(
'Заполнить отчет',
style: CustomTextStyles
.titleSmallBold, // Предполагается, что текст белый
),
),
if (diary['state'] == 'finished')
Container(
padding: EdgeInsets.all(
4.0), // Отступы внутри контейнера
decoration: BoxDecoration(
color: Color.fromRGBO(13, 110, 253, 1),
borderRadius: BorderRadius.circular(
24.0), // Закругленные углы
),
child: Text(
'Изменить отчет',
style: CustomTextStyles
.titleSmallBold, // Предполагается, что текст белый
),
),
]),
],
),
),