Skip to content

Commit a2a3384

Browse files
committed
Remove unused parameter dateTimeOfMeal and some light cleanup of log_meal_screen.dart
1 parent 97e63e3 commit a2a3384

File tree

2 files changed

+44
-60
lines changed

2 files changed

+44
-60
lines changed

lib/models/nutrition/meal_item.dart

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -100,7 +100,6 @@ class MealItem {
100100
num? amount,
101101
Ingredient? ingredient,
102102
IngredientWeightUnit? weightUnitObj,
103-
DateTime? dateTimeOfMeal,
104103
}) {
105104
final m = MealItem(
106105
id: id ?? this.id,

lib/screens/log_meal_screen.dart

Lines changed: 44 additions & 59 deletions
Original file line numberDiff line numberDiff line change
@@ -18,12 +18,12 @@
1818

1919
import 'package:flutter/material.dart';
2020
import 'package:provider/provider.dart';
21+
import 'package:wger/helpers/json.dart';
2122
import 'package:wger/l10n/generated/app_localizations.dart';
2223
import 'package:wger/models/nutrition/meal.dart';
2324
import 'package:wger/providers/nutrition.dart';
2425
import 'package:wger/widgets/nutrition/meal.dart';
2526
import 'package:wger/widgets/nutrition/nutrition_tiles.dart';
26-
import 'package:wger/helpers/json.dart';
2727

2828
class LogMealArguments {
2929
final Meal meal;
@@ -43,11 +43,22 @@ class LogMealScreen extends StatefulWidget {
4343

4444
class _LogMealScreenState extends State<LogMealScreen> {
4545
double portionPct = 100;
46-
final _whatDateController = TextEditingController();
47-
final _whatTimeController = TextEditingController();
48-
_LogMealScreenState() {
49-
_whatDateController.text = dateToYYYYMMDD(DateTime.now())!;
50-
_whatTimeController.text = timeToString(TimeOfDay.now())!;
46+
final _dateController = TextEditingController();
47+
final _timeController = TextEditingController();
48+
49+
@override
50+
void initState() {
51+
super.initState();
52+
53+
_dateController.text = dateToYYYYMMDD(DateTime.now())!;
54+
_timeController.text = timeToString(TimeOfDay.now())!;
55+
}
56+
57+
@override
58+
void dispose() {
59+
_dateController.dispose();
60+
_timeController.dispose();
61+
super.dispose();
5162
}
5263

5364
@override
@@ -100,27 +111,12 @@ class _LogMealScreenState extends State<LogMealScreen> {
100111
const Padding(padding: EdgeInsets.symmetric(horizontal: 12)),
101112
Expanded(
102113
child: TextFormField(
103-
textAlign: TextAlign.center,
104-
114+
key: const ValueKey('field-date'),
105115
readOnly: true,
106-
107-
// Stop keyboard from appearing
108-
109-
decoration: InputDecoration(
110-
labelText: AppLocalizations.of(context).date,
111-
112-
floatingLabelAlignment: FloatingLabelAlignment.center,
113-
114-
// suffixIcon: const Icon(Icons.calendar_today),
115-
),
116-
116+
decoration: InputDecoration(labelText: AppLocalizations.of(context).date),
117117
enableInteractiveSelection: false,
118-
119-
controller: _whatDateController,
120-
118+
controller: _dateController,
121119
onTap: () async {
122-
// Show Date Picker Here
123-
124120
final pickedDate = await showDatePicker(
125121
context: context,
126122
initialDate: DateTime.now(),
@@ -129,48 +125,37 @@ class _LogMealScreenState extends State<LogMealScreen> {
129125
);
130126

131127
if (pickedDate != null) {
132-
_whatDateController.text = dateToYYYYMMDD(pickedDate)!;
128+
_dateController.text = dateToYYYYMMDD(pickedDate)!;
133129
}
134130
},
135-
136131
onSaved: (newValue) {
137-
_whatDateController.text = newValue!;
132+
_dateController.text = newValue!;
138133
},
139134
),
140135
),
141136
const Padding(padding: EdgeInsets.symmetric(horizontal: 12)),
142137
Expanded(
143-
child: TextFormField(
144-
key: const Key('field-time'),
145-
textAlign: TextAlign.center,
146-
decoration: InputDecoration(
147-
labelText: AppLocalizations.of(context).time,
148-
149-
floatingLabelAlignment: FloatingLabelAlignment.center,
138+
child: TextFormField(
139+
key: const ValueKey('field-time'),
140+
readOnly: true,
141+
decoration: InputDecoration(labelText: AppLocalizations.of(context).time),
142+
controller: _timeController,
143+
onTap: () async {
144+
// Open time picker
145+
final pickedTime = await showTimePicker(
146+
context: context,
147+
initialTime: TimeOfDay.fromDateTime(DateTime.now()),
148+
);
150149

151-
//suffixIcon: const Icon(Icons.punch_clock)
150+
if (pickedTime != null) {
151+
_timeController.text = timeToString(pickedTime)!;
152+
}
153+
},
154+
onSaved: (newValue) {
155+
_timeController.text = newValue!;
156+
},
152157
),
153-
controller: _whatTimeController,
154-
onTap: () async {
155-
// Stop keyboard from appearing
156-
157-
FocusScope.of(context).requestFocus(FocusNode());
158-
159-
// Open time picker
160-
161-
final pickedTime = await showTimePicker(
162-
context: context,
163-
initialTime: TimeOfDay.fromDateTime(DateTime.now()),
164-
);
165-
166-
if (pickedTime != null) {
167-
_whatTimeController.text = timeToString(pickedTime)!;
168-
}
169-
},
170-
onSaved: (newValue) {
171-
_whatTimeController.text = newValue!;
172-
},
173-
)),
158+
),
174159
const Padding(padding: EdgeInsets.symmetric(horizontal: 12)),
175160
],
176161
),
@@ -186,9 +171,9 @@ class _LogMealScreenState extends State<LogMealScreen> {
186171
context,
187172
listen: false,
188173
).logMealToDiary(
189-
meal,
190-
DateTime.parse(
191-
'${_whatDateController.text} ${_whatTimeController.text}'));
174+
meal,
175+
DateTime.parse('${_dateController.text} ${_timeController.text}'),
176+
);
192177
// ignore: use_build_context_synchronously
193178
ScaffoldMessenger.of(context).showSnackBar(
194179
SnackBar(

0 commit comments

Comments
 (0)