fix: placeholder text as default in setup

Also added currency symbol as prefix in the starting balance field, fixes #27
This commit is contained in:
Matyáš Caras 2024-01-29 18:47:01 +01:00
parent 329c06cb01
commit 432e752937
Signed by untrusted user who does not match committer: hernik
GPG key ID: 2A3175F98820C5C6
4 changed files with 19 additions and 4 deletions

View file

@ -7,7 +7,7 @@
"next": "Další",
"back": "Zpět",
"finish": "Dokončit",
"errorEmptyName": "Název nemůže být prázdný!",
"errorEmptyName": "Název peněženky nemůže být prázdný!",
"welcome": "Vítejte!",
"welcomeAboutPrasule": "Prašule je správce výdajů navržený pro lidi, kteří nechtějí vyplňovat každý malý detail.",
"welcomeInstruction": "Na této obrazovce si nastavíte svoji 'peněženku', ve které budou zaznamenány vaše výdaje uspořádané do kategorií, které si nastavíte hned potom.",

View file

@ -7,7 +7,7 @@
"next": "Next",
"back": "Back",
"finish": "Finish",
"errorEmptyName": "Name cannot be empty",
"errorEmptyName": "Wallet name cannot be empty",
"welcome": "Welcome!",
"welcomeAboutPrasule": "Prašule is an expense tracker tool designed for people, who don't want to spend too much time filling in all the little details.",
"welcomeInstruction": "On this screen you will set up your 'wallet', in which you will track your expenses categorized under categories, which you can later set in the settings menu.",

View file

@ -23,6 +23,8 @@ class PlatformField extends PlatformWidget<TextField, CupertinoTextField> {
this.maxLines = 1,
this.focusNode,
this.inputBorder = const OutlineInputBorder(),
this.suffix,
this.prefix,
});
final TextEditingController? controller;
final bool? enabled;
@ -38,6 +40,8 @@ class PlatformField extends PlatformWidget<TextField, CupertinoTextField> {
final int? maxLines;
final InputBorder inputBorder;
final FocusNode? focusNode;
final Widget? suffix;
final Widget? prefix;
@override
TextField createAndroidWidget(BuildContext context) => TextField(
@ -48,6 +52,8 @@ class PlatformField extends PlatformWidget<TextField, CupertinoTextField> {
decoration: InputDecoration(
labelText: labelText,
border: inputBorder,
suffix: suffix,
prefix: prefix,
),
autocorrect: autocorrect,
keyboardType: keyboardType,
@ -74,5 +80,7 @@ class PlatformField extends PlatformWidget<TextField, CupertinoTextField> {
focusNode: focusNode,
maxLines: maxLines,
style: textStyle,
prefix: prefix,
suffix: suffix,
);
}

View file

@ -215,8 +215,10 @@ class _SetupViewState extends State<SetupView> {
SizedBox(
width: MediaQuery.of(context).size.width * 0.7,
child: PlatformField(
labelText:
AppLocalizations.of(context).setupNamePlaceholder,
controller: TextEditingController(
text:
AppLocalizations.of(context).setupNamePlaceholder,
),
onChanged: (t) {
name = t;
},
@ -249,11 +251,16 @@ class _SetupViewState extends State<SetupView> {
keyboardType: const TextInputType.numberWithOptions(
decimal: true,
),
controller: TextEditingController(text: "0.0"),
inputFormatters: [
FilteringTextInputFormatter.allow(
RegExp(r'\d+[\.,]{0,1}\d{0,}'),
),
],
prefix: Padding(
padding: const EdgeInsets.only(right: 4),
child: Text(_selectedCurrency.symbol),
),
onChanged: (t) {
final b = double.tryParse(t);
if (b == null) return;