Skip to content

Commit 97a16cc

Browse files
committed
[CORE] Add option to disable auto focus
1 parent de03bcc commit 97a16cc

File tree

3 files changed

+28
-21
lines changed

3 files changed

+28
-21
lines changed

lib/app/widgets/form/input_form.dart

Lines changed: 20 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -23,18 +23,20 @@ import 'package:receipt_manager/app/pages/home/home_controller.dart';
2323
import 'package:receipt_manager/app/widgets/padding/padding_widget.dart';
2424
import 'package:receipt_manager/app/widgets/scroll/scroll_widget.dart';
2525
import 'package:receipt_manager/app/widgets/textfield/simple_textfield.dart';
26+
import 'package:receipt_manager/generated/l10n.dart';
2627

2728
class InputForm extends StatelessWidget {
2829
final ScrollController _scrollController = ScrollController();
2930

3031
Widget storeNameTextField(BuildContext context, HomeController controller) =>
3132
ScrollWidget(
33+
enableScroll: false,
3234
widget: PaddingWidget(
3335
widget: SimpleTextFieldWidget(
3436
controller: controller.storeNameController,
35-
hintText: "Store Name",
36-
labelText: "Store Name",
37-
helperText: "The receipt store name",
37+
hintText: S.of(context).storeName,
38+
labelText: S.of(context).storeName,
39+
helperText: S.of(context).theReceiptStoreName,
3840
validator: controller.validateStoreName,
3941
getSuggestionList: controller.getStoreNames,
4042
readOnly: false,
@@ -46,9 +48,9 @@ class InputForm extends StatelessWidget {
4648
widget: PaddingWidget(
4749
widget: SimpleTextFieldWidget(
4850
controller: controller.receiptTagController,
49-
hintText: "Receipt Tag",
50-
labelText: "Receipt Tag",
51-
helperText: "The receipt tag",
51+
hintText: S.of(context).receiptTag,
52+
labelText: S.of(context).receiptTag,
53+
helperText: S.of(context).theReceiptTag,
5254
validator: (value) => null,
5355
getSuggestionList: controller.getTagNames,
5456
icon: Icon(Icons.tag),
@@ -66,9 +68,9 @@ class InputForm extends StatelessWidget {
6668
child: ScrollWidget(
6769
widget: SimpleTextFieldWidget(
6870
controller: controller.receiptTotalController,
69-
hintText: "Receipt Total",
70-
labelText: "Receipt Total",
71-
helperText: "The receipt total",
71+
hintText: S.of(context).receiptTotal,
72+
labelText: S.of(context).receiptTotal,
73+
helperText: S.of(context).theReceiptTotal,
7274
icon: Icon(Icons.monetization_on_outlined),
7375
validator: controller.validateTotal,
7476
inputFormatters: [MoneyInputFormatter()],
@@ -101,9 +103,9 @@ class InputForm extends StatelessWidget {
101103
onTap: () => controller.setDate,
102104
child: SimpleTextFieldWidget(
103105
controller: controller.receiptDateController,
104-
hintText: "Receipt Date",
105-
labelText: "Receipt Date",
106-
helperText: "The receipt date",
106+
hintText: S.of(context).receiptDate,
107+
labelText: S.of(context).receiptDate,
108+
helperText: S.of(context).theReceiptDate,
107109
onTap: () => controller.setDate(context),
108110
icon: Icon(Icons.date_range),
109111
validator: controller.validateDate,
@@ -120,18 +122,18 @@ class InputForm extends StatelessWidget {
120122
shape: NeumorphicShape.flat,
121123
boxShape: NeumorphicBoxShape.stadium(),
122124
),
123-
child:
124-
Text("Submit", style: TextStyle(fontWeight: FontWeight.bold))),
125+
child: Text(S.of(context).submit,
126+
style: TextStyle(fontWeight: FontWeight.bold))),
125127
));
126128

127129
Widget categoryTextFormat(BuildContext context, HomeController controller) =>
128130
ScrollWidget(
129131
widget: PaddingWidget(
130132
widget: SimpleTextFieldWidget(
131133
controller: controller.receiptCategoryController,
132-
hintText: "Receipt Category",
133-
labelText: "Receipt Category",
134-
helperText: "The receipt category",
134+
hintText: S.of(context).receiptCategory,
135+
labelText: S.of(context).receiptCategory,
136+
helperText: S.of(context).theReceiptCategory,
135137
icon: Icon(Icons.category),
136138
validator: controller.validateCategory,
137139
getSuggestionList: controller.getCategoryNames,
@@ -161,8 +163,7 @@ class InputForm extends StatelessWidget {
161163
dateTextField(context, controller),
162164
tagTextField(context, controller),
163165
categoryTextFormat(context, controller),
164-
submitButton(context, controller),
165-
spacer()
166+
submitButton(context, controller)
166167
],
167168
),
168169
));

lib/app/widgets/scroll/scroll_widget.dart

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,13 +21,19 @@ import 'package:flutter/scheduler.dart';
2121
class ScrollWidget extends StatelessWidget {
2222
final Widget widget;
2323
final ScrollController controller;
24+
final bool enableScroll;
2425

25-
const ScrollWidget({required this.widget, required this.controller});
26+
const ScrollWidget(
27+
{required this.widget,
28+
required this.controller,
29+
this.enableScroll = true});
2630

2731
@override
2832
Widget build(BuildContext context) {
2933
return GestureDetector(
3034
onTap: () {
35+
if (!enableScroll) return;
36+
3137
SchedulerBinding.instance!.addPostFrameCallback((_) {
3238
controller.jumpTo(controller.position.maxScrollExtent);
3339
});

lib/generated/intl/messages_de.dart

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -62,7 +62,7 @@ class MessageLookup extends MessageLookupByLibrary {
6262
"theReceiptTag" : MessageLookupByLibrary.simpleMessage("Der TAG des Kassenbeleges"),
6363
"theReceiptTotal" : MessageLookupByLibrary.simpleMessage("Der Gesamtbetrag des Kassenbeleges"),
6464
"upload" : MessageLookupByLibrary.simpleMessage("Hochladen"),
65-
"weeklyOverview" : MessageLookupByLibrary.simpleMessage("Wöchtenlichte Übersicht"),
65+
"weeklyOverview" : MessageLookupByLibrary.simpleMessage("Wöchentliche Übersicht"),
6666
"weeklyTotal" : MessageLookupByLibrary.simpleMessage("Wöchentliche Ausgaben")
6767
};
6868
}

0 commit comments

Comments
 (0)