|
|
|
@ -18,14 +18,19 @@ class WaterActionButtonsWidget extends StatelessWidget {
|
|
|
|
return Consumer<WaterMonitorViewModel>(builder: (context, vm, _) {
|
|
|
|
return Consumer<WaterMonitorViewModel>(builder: (context, vm, _) {
|
|
|
|
final cupAmount = vm.selectedCupCapacityMl;
|
|
|
|
final cupAmount = vm.selectedCupCapacityMl;
|
|
|
|
final isGoalAchieved = vm.progressPercent >= 100 || vm.nextDrinkTime.toLowerCase().contains('goal achieved');
|
|
|
|
final isGoalAchieved = vm.progressPercent >= 100 || vm.nextDrinkTime.toLowerCase().contains('goal achieved');
|
|
|
|
|
|
|
|
final isDisabled = vm.isLoading || isGoalAchieved;
|
|
|
|
|
|
|
|
|
|
|
|
return Column(
|
|
|
|
return Column(
|
|
|
|
children: [
|
|
|
|
children: [
|
|
|
|
Row(
|
|
|
|
Row(
|
|
|
|
mainAxisAlignment: MainAxisAlignment.center,
|
|
|
|
mainAxisAlignment: MainAxisAlignment.center,
|
|
|
|
children: [
|
|
|
|
children: [
|
|
|
|
InkWell(
|
|
|
|
Opacity(
|
|
|
|
onTap: () async {
|
|
|
|
opacity: vm.isLoading ? 0.4 : 1.0,
|
|
|
|
|
|
|
|
child: InkWell(
|
|
|
|
|
|
|
|
onTap: vm.isLoading
|
|
|
|
|
|
|
|
? null
|
|
|
|
|
|
|
|
: () async {
|
|
|
|
if (cupAmount > 0) {
|
|
|
|
if (cupAmount > 0) {
|
|
|
|
await vm.undoUserActivity();
|
|
|
|
await vm.undoUserActivity();
|
|
|
|
}
|
|
|
|
}
|
|
|
|
@ -37,6 +42,7 @@ class WaterActionButtonsWidget extends StatelessWidget {
|
|
|
|
iconColor: AppColors.textColor,
|
|
|
|
iconColor: AppColors.textColor,
|
|
|
|
),
|
|
|
|
),
|
|
|
|
),
|
|
|
|
),
|
|
|
|
|
|
|
|
),
|
|
|
|
Container(
|
|
|
|
Container(
|
|
|
|
margin: EdgeInsets.symmetric(horizontal: 4.w),
|
|
|
|
margin: EdgeInsets.symmetric(horizontal: 4.w),
|
|
|
|
padding: EdgeInsets.symmetric(horizontal: 8.w, vertical: 4.h),
|
|
|
|
padding: EdgeInsets.symmetric(horizontal: 8.w, vertical: 4.h),
|
|
|
|
@ -51,9 +57,9 @@ class WaterActionButtonsWidget extends StatelessWidget {
|
|
|
|
),
|
|
|
|
),
|
|
|
|
),
|
|
|
|
),
|
|
|
|
Opacity(
|
|
|
|
Opacity(
|
|
|
|
opacity: isGoalAchieved ? 0.4 : 1.0,
|
|
|
|
opacity: isDisabled ? 0.4 : 1.0,
|
|
|
|
child: InkWell(
|
|
|
|
child: InkWell(
|
|
|
|
onTap: isGoalAchieved
|
|
|
|
onTap: isDisabled
|
|
|
|
? null
|
|
|
|
? null
|
|
|
|
: () async {
|
|
|
|
: () async {
|
|
|
|
if (cupAmount > 0) {
|
|
|
|
if (cupAmount > 0) {
|
|
|
|
|