Merge branch 'flutterflow' into bugfix/fd-597
This commit is contained in:
commit
5e1211b44e
|
@ -51,8 +51,8 @@
|
||||||
97C146FB1CF9000F007C117D /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/Main.storyboard; sourceTree = "<group>"; };
|
97C146FB1CF9000F007C117D /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/Main.storyboard; sourceTree = "<group>"; };
|
||||||
97C146FD1CF9000F007C117D /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = "<group>"; };
|
97C146FD1CF9000F007C117D /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = "<group>"; };
|
||||||
97C147001CF9000F007C117D /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/LaunchScreen.storyboard; sourceTree = "<group>"; };
|
97C147001CF9000F007C117D /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/LaunchScreen.storyboard; sourceTree = "<group>"; };
|
||||||
6436409227A31CD800820AF7 /* pt */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = pt; path = pt.lproj/InfoPlist.strings; sourceTree = "<group>"; };
|
6436409727A31CDC00820AF7 /* pt */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = pt; path = pt.lproj/InfoPlist.strings; sourceTree = "<group>"; };
|
||||||
6436409127A31CDB00820AF7 /* en */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = en; path = en.lproj/InfoPlist.strings; sourceTree = "<group>"; };
|
6436409027A31CD400820AF7 /* en */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = en; path = en.lproj/InfoPlist.strings; sourceTree = "<group>"; };
|
||||||
97C147021CF9000F007C117D /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; };
|
97C147021CF9000F007C117D /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; };
|
||||||
C1B4A503715BC7B0F8826983 /* Pods-Runner.profile.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.profile.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.profile.xcconfig"; sourceTree = "<group>"; };
|
C1B4A503715BC7B0F8826983 /* Pods-Runner.profile.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.profile.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.profile.xcconfig"; sourceTree = "<group>"; };
|
||||||
/* End PBXFileReference section */
|
/* End PBXFileReference section */
|
||||||
|
@ -301,8 +301,8 @@
|
||||||
6436409C27A31CD800820AF7 /* InfoPlist.strings */ = {
|
6436409C27A31CD800820AF7 /* InfoPlist.strings */ = {
|
||||||
isa = PBXVariantGroup;
|
isa = PBXVariantGroup;
|
||||||
children = (
|
children = (
|
||||||
6436409227A31CD800820AF7 /* pt */,
|
6436409727A31CDC00820AF7 /* pt */,
|
||||||
6436409127A31CDB00820AF7 /* en */,
|
6436409027A31CD400820AF7 /* en */,
|
||||||
);
|
);
|
||||||
name = InfoPlist.strings;
|
name = InfoPlist.strings;
|
||||||
sourceTree = "<group>";
|
sourceTree = "<group>";
|
||||||
|
|
|
@ -21,9 +21,6 @@ class SignUpTemplateComponentModel
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!RegExp(kTextValidatorUsernameRegex).hasMatch(val)) {
|
|
||||||
return 'Must start with a letter and can only contain letters, digits and - or _.';
|
|
||||||
}
|
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -41,7 +38,9 @@ class SignUpTemplateComponentModel
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!RegExp(kTextValidatorEmailRegex).hasMatch(val)) {
|
if (!RegExp(kTextValidatorEmailRegex).hasMatch(val)) {
|
||||||
return 'Has to be a valid email address.';
|
return FFLocalizations.of(context).getText(
|
||||||
|
'vobnktrz' /* Insira um email valido. */,
|
||||||
|
);
|
||||||
}
|
}
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
@ -60,6 +59,12 @@ class SignUpTemplateComponentModel
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (val.length < 8) {
|
||||||
|
return FFLocalizations.of(context).getText(
|
||||||
|
'duq5gpp6' /* A senha deve ter pelo menos 8 ... */,
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -351,8 +351,6 @@ class _SignUpTemplateComponentWidgetState
|
||||||
.containsKey(
|
.containsKey(
|
||||||
'Plus Jakarta Sans'),
|
'Plus Jakarta Sans'),
|
||||||
),
|
),
|
||||||
keyboardType:
|
|
||||||
TextInputType.name,
|
|
||||||
validator: _model
|
validator: _model
|
||||||
.nameRegisterFormTextControllerValidator
|
.nameRegisterFormTextControllerValidator
|
||||||
.asValidator(context),
|
.asValidator(context),
|
||||||
|
|
|
@ -214,12 +214,11 @@ class _FlutterFlowDropDownState<T> extends State<FlutterFlowDropDown<T>> {
|
||||||
List<DropdownMenuItem<T>> _createMenuItems() => widget.options
|
List<DropdownMenuItem<T>> _createMenuItems() => widget.options
|
||||||
.map(
|
.map(
|
||||||
(option) => DropdownMenuItem<T>(
|
(option) => DropdownMenuItem<T>(
|
||||||
value: option,
|
value: option,
|
||||||
child: Padding(
|
child: Padding(
|
||||||
padding: _useDropdown2() ? horizontalMargin : EdgeInsets.zero,
|
padding: _useDropdown2() ? horizontalMargin : EdgeInsets.zero,
|
||||||
child: Text(optionLabels[option] ?? '', style: widget.textStyle),
|
child: Text(optionLabels[option] ?? '', style: widget.textStyle),
|
||||||
),
|
)),
|
||||||
),
|
|
||||||
)
|
)
|
||||||
.toList();
|
.toList();
|
||||||
|
|
||||||
|
@ -234,37 +233,36 @@ class _FlutterFlowDropDownState<T> extends State<FlutterFlowDropDown<T>> {
|
||||||
final isSelected =
|
final isSelected =
|
||||||
multiSelectController.value?.contains(item) ?? false;
|
multiSelectController.value?.contains(item) ?? false;
|
||||||
return InkWell(
|
return InkWell(
|
||||||
onTap: () {
|
onTap: () {
|
||||||
multiSelectController.value ??= [];
|
multiSelectController.value ??= [];
|
||||||
isSelected
|
isSelected
|
||||||
? multiSelectController.value!.remove(item)
|
? multiSelectController.value!.remove(item)
|
||||||
: multiSelectController.value!.add(item);
|
: multiSelectController.value!.add(item);
|
||||||
multiSelectController.update();
|
multiSelectController.update();
|
||||||
// This rebuilds the StatefulWidget to update the button's text.
|
// This rebuilds the StatefulWidget to update the button's text.
|
||||||
setState(() {});
|
setState(() {});
|
||||||
// This rebuilds the dropdownMenu Widget to update the check mark.
|
// This rebuilds the dropdownMenu Widget to update the check mark.
|
||||||
menuSetState(() {});
|
menuSetState(() {});
|
||||||
},
|
},
|
||||||
child: Container(
|
child: Container(
|
||||||
height: double.infinity,
|
height: double.infinity,
|
||||||
padding: horizontalMargin,
|
padding: horizontalMargin,
|
||||||
child: Row(
|
child: Row(
|
||||||
children: [
|
children: [
|
||||||
if (isSelected)
|
if (isSelected)
|
||||||
const Icon(Icons.check_box_outlined)
|
const Icon(Icons.check_box_outlined)
|
||||||
else
|
else
|
||||||
const Icon(Icons.check_box_outline_blank),
|
const Icon(Icons.check_box_outline_blank),
|
||||||
const SizedBox(width: 16),
|
const SizedBox(width: 16),
|
||||||
Expanded(
|
Expanded(
|
||||||
child: Text(
|
child: Text(
|
||||||
optionLabels[item]!,
|
optionLabels[item]!,
|
||||||
style: widget.textStyle,
|
style: widget.textStyle,
|
||||||
|
),
|
||||||
),
|
),
|
||||||
),
|
],
|
||||||
],
|
),
|
||||||
),
|
));
|
||||||
),
|
|
||||||
);
|
|
||||||
},
|
},
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
|
@ -307,21 +305,19 @@ class _FlutterFlowDropDownState<T> extends State<FlutterFlowDropDown<T>> {
|
||||||
: (isMultiSelect ? (_) {} : (val) => widget.controller!.value = val),
|
: (isMultiSelect ? (_) {} : (val) => widget.controller!.value = val),
|
||||||
isExpanded: true,
|
isExpanded: true,
|
||||||
selectedItemBuilder: (context) => widget.options
|
selectedItemBuilder: (context) => widget.options
|
||||||
.map(
|
.map((item) => Align(
|
||||||
(item) => Align(
|
alignment: AlignmentDirectional.centerStart,
|
||||||
alignment: AlignmentDirectional.centerStart,
|
child: Text(
|
||||||
child: Text(
|
isMultiSelect
|
||||||
isMultiSelect
|
? currentValues
|
||||||
? currentValues
|
.where((v) => optionLabels.containsKey(v))
|
||||||
.where((v) => optionLabels.containsKey(v))
|
.map((v) => optionLabels[v])
|
||||||
.map((v) => optionLabels[v])
|
.join(', ')
|
||||||
.join(', ')
|
: optionLabels[item]!,
|
||||||
: optionLabels[item]!,
|
style: widget.textStyle,
|
||||||
style: widget.textStyle,
|
maxLines: 1,
|
||||||
maxLines: 1,
|
),
|
||||||
),
|
))
|
||||||
),
|
|
||||||
)
|
|
||||||
.toList(),
|
.toList(),
|
||||||
dropdownSearchData: widget.isSearchable
|
dropdownSearchData: widget.isSearchable
|
||||||
? DropdownSearchData<T>(
|
? DropdownSearchData<T>(
|
||||||
|
|
|
@ -963,6 +963,10 @@ final kTranslationsMap = <Map<String, Map<String, String>>>[
|
||||||
'pt': 'Campo é necessário',
|
'pt': 'Campo é necessário',
|
||||||
'en': 'Field is required',
|
'en': 'Field is required',
|
||||||
},
|
},
|
||||||
|
'vobnktrz': {
|
||||||
|
'pt': 'Insira um email valido.',
|
||||||
|
'en': '',
|
||||||
|
},
|
||||||
'z0bv6wi2': {
|
'z0bv6wi2': {
|
||||||
'pt': 'Please choose an option from the dropdown',
|
'pt': 'Please choose an option from the dropdown',
|
||||||
'en': '',
|
'en': '',
|
||||||
|
@ -971,6 +975,10 @@ final kTranslationsMap = <Map<String, Map<String, String>>>[
|
||||||
'pt': 'Campo é necessário',
|
'pt': 'Campo é necessário',
|
||||||
'en': 'Field is required',
|
'en': 'Field is required',
|
||||||
},
|
},
|
||||||
|
'duq5gpp6': {
|
||||||
|
'pt': 'A senha deve ter pelo menos 8 caracteres.',
|
||||||
|
'en': '',
|
||||||
|
},
|
||||||
'rcikqhf1': {
|
'rcikqhf1': {
|
||||||
'pt': 'Please choose an option from the dropdown',
|
'pt': 'Please choose an option from the dropdown',
|
||||||
'en': '',
|
'en': '',
|
||||||
|
|
Loading…
Reference in New Issue