WIP
This commit is contained in:
parent
e646f56bff
commit
0aaee82b77
|
@ -123,10 +123,13 @@ class _LocalProfileComponentWidgetState
|
|||
showDragHandle: false,
|
||||
useSafeArea: true,
|
||||
context: context,
|
||||
builder: (context) => Padding(
|
||||
builder: (context) => PopScope(
|
||||
canPop: false,
|
||||
child: Padding(
|
||||
padding: MediaQuery.viewInsetsOf(context),
|
||||
child: const BottomArrowLinkedLocalsComponentWidget(),
|
||||
),
|
||||
),
|
||||
).then((_) async {
|
||||
onUpdate();
|
||||
});
|
||||
|
|
|
@ -120,6 +120,22 @@ class ScheduleProvisionalVisitPageModel
|
|||
return false;
|
||||
}
|
||||
|
||||
DateTime selectedDateTime;
|
||||
DateTime currentDateTime = DateTime.now();
|
||||
selectedDateTime =
|
||||
DateFormat('dd/MM/yyyy HH:mm:ss').parse(dateTimeTextController.text);
|
||||
|
||||
try {
|
||||
selectedDateTime =
|
||||
DateFormat('dd/MM/yyyy HH:mm:ss').parse(dateTimeTextController.text);
|
||||
} catch (e) {
|
||||
return false;
|
||||
}
|
||||
|
||||
if (selectedDateTime.isBefore(currentDateTime)) {
|
||||
return false;
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
|
|
|
@ -26,6 +26,7 @@ class HomePageWidget extends StatefulWidget {
|
|||
class _HomePageWidgetState extends State<HomePageWidget> {
|
||||
late HomePageModel _model;
|
||||
final scaffoldKey = GlobalKey<ScaffoldState>();
|
||||
|
||||
late LocalProfileComponentWidget _localProfileComponentWidget;
|
||||
|
||||
_HomePageWidgetState() {
|
||||
|
@ -54,11 +55,7 @@ class _HomePageWidgetState extends State<HomePageWidget> {
|
|||
@override
|
||||
Widget build(BuildContext context) {
|
||||
StorageUtil().context = context;
|
||||
return GestureDetector(
|
||||
onTap: () => _model.unfocusNode.canRequestFocus
|
||||
? FocusScope.of(context).requestFocus(_model.unfocusNode)
|
||||
: FocusScope.of(context).unfocus(),
|
||||
child: Scaffold(
|
||||
return Scaffold(
|
||||
key: scaffoldKey,
|
||||
backgroundColor: FlutterFlowTheme.of(context).primaryBackground,
|
||||
// drawer: buildDrawer(context),
|
||||
|
@ -112,7 +109,6 @@ class _HomePageWidgetState extends State<HomePageWidget> {
|
|||
elevation: 0.0,
|
||||
),
|
||||
body: buildPage(context),
|
||||
),
|
||||
);
|
||||
}
|
||||
|
||||
|
|
|
@ -124,10 +124,13 @@ class _ReceptionPageWidgetState extends State<ReceptionPageWidget>
|
|||
enableDrag: false,
|
||||
isDismissible: false,
|
||||
context: context,
|
||||
builder: (context) => Padding(
|
||||
builder: (context) => PopScope(
|
||||
canPop: false,
|
||||
child: Padding(
|
||||
padding: MediaQuery.viewInsetsOf(context),
|
||||
child: const BottomArrowLinkedLocalsComponentWidget(),
|
||||
),
|
||||
),
|
||||
).then((_) async {
|
||||
StorageUtil().haveLocal = true;
|
||||
await processData();
|
||||
|
|
|
@ -83,8 +83,31 @@ class ScheduleCompleteVisitPageModel
|
|||
(textController2!.text != '') &&
|
||||
(dropDownValue1 != null && dropDownValue1 != '') &&
|
||||
(dropDownValue2 != null && dropDownValue2 != '')) {
|
||||
DateTime selectedDateTime;
|
||||
DateTime currentDateTime = DateTime.now().subtract(Duration(minutes: 10));
|
||||
try {
|
||||
selectedDateTime =
|
||||
DateFormat('dd/MM/yyyy HH:mm:ss').parse(textController1.text);
|
||||
if (selectedDateTime.isBefore(currentDateTime)) {
|
||||
return false;
|
||||
}
|
||||
} catch (e) {
|
||||
return false;
|
||||
}
|
||||
|
||||
try {
|
||||
selectedDateTime =
|
||||
DateFormat('dd/MM/yyyy HH:mm:ss').parse(textController2.text);
|
||||
if (selectedDateTime.isBefore(currentDateTime)) {
|
||||
return false;
|
||||
}
|
||||
} catch (e) {
|
||||
return false;
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
|
@ -114,7 +137,8 @@ class ScheduleCompleteVisitPageModel
|
|||
enText: 'Start date must be before end date.',
|
||||
);
|
||||
}
|
||||
if (startDate.isBefore(DateTime.now())) {
|
||||
if (startDate
|
||||
.isBefore(DateTime.now().subtract(const Duration(minutes: 10)))) {
|
||||
return FFLocalizations.of(context).getVariableText(
|
||||
enText: 'Start date must be after current date.',
|
||||
ptText: 'A data de início deve ser posterior à data atual.',
|
||||
|
@ -152,7 +176,8 @@ class ScheduleCompleteVisitPageModel
|
|||
ptText: 'A data de término deve ser posterior à data de início.',
|
||||
);
|
||||
}
|
||||
if (endDate.isBefore(DateTime.now())) {
|
||||
if (startDate
|
||||
.isBefore(DateTime.now().subtract(const Duration(minutes: 10)))) {
|
||||
return FFLocalizations.of(context).getVariableText(
|
||||
enText: 'End date must be after current date.',
|
||||
ptText: 'A data de término deve ser posterior à data atual.',
|
||||
|
|
|
@ -16,7 +16,7 @@ class SecureStorageHelper extends ChangeNotifier implements Storage {
|
|||
|
||||
Future<void> setAndCacheString(
|
||||
String key, String value, Function(String) cacheSetter) async {
|
||||
log('setAndCacheString value for key: $key to $value');
|
||||
log('SecureStorageHelper -> setAndCacheString value for key: $key to $value');
|
||||
await _secureStorage.write(key: key, value: value);
|
||||
CacheUtil.instance.set(key, value);
|
||||
cacheSetter(value);
|
||||
|
@ -24,7 +24,7 @@ class SecureStorageHelper extends ChangeNotifier implements Storage {
|
|||
|
||||
Future<void> setAndCacheBool(
|
||||
String key, bool value, Function(bool) cacheSetter) async {
|
||||
log('setAndCacheBool value for key: $key to $value');
|
||||
log('SecureStorageHelper -> setAndCacheBool value for key: $key to $value');
|
||||
await _secureStorage.write(key: key, value: value.toString());
|
||||
CacheUtil.instance.set(key, value);
|
||||
cacheSetter(value);
|
||||
|
@ -32,19 +32,19 @@ class SecureStorageHelper extends ChangeNotifier implements Storage {
|
|||
|
||||
Future<void> setAndCacheObject(
|
||||
String key, String value, Function(String) cacheSetter) async {
|
||||
log('setAndCacheObject value for key: $key to $value');
|
||||
log('SecureStorageHelper -> setAndCacheObject value for key: $key to $value');
|
||||
await _secureStorage.write(key: key, value: value);
|
||||
CacheUtil.instance.set(key, value);
|
||||
cacheSetter(value);
|
||||
}
|
||||
|
||||
Future<String?> getString(String key) async {
|
||||
log('getString value for key: $key');
|
||||
var value = CacheUtil.instance.get(key);
|
||||
if (value == null) {
|
||||
value = await _secureStorage.read(key: key);
|
||||
CacheUtil.instance.set(key, value);
|
||||
}
|
||||
log('SecureStorageHelper -> getString $value for key: $key');
|
||||
return value;
|
||||
}
|
||||
|
||||
|
@ -53,20 +53,20 @@ class SecureStorageHelper extends ChangeNotifier implements Storage {
|
|||
if (value == null || value == 'null') {
|
||||
value = await _secureStorage.read(key: key);
|
||||
CacheUtil.instance.set(key, value);
|
||||
log('getBool $value for key: $key');
|
||||
log('SecureStorageHelper -> getBool $value for key: $key');
|
||||
return value == 'true';
|
||||
}
|
||||
log('getBool $value for key: $key');
|
||||
log('SecureStorageHelper -> getBool $value for key: $key');
|
||||
return value;
|
||||
}
|
||||
|
||||
Future<BuildContext?> getObject(String key) async {
|
||||
log('getObject value for key: $key');
|
||||
var value = CacheUtil.instance.get(key);
|
||||
if (value == null) {
|
||||
value = await _secureStorage.read(key: key);
|
||||
CacheUtil.instance.set(key, value);
|
||||
}
|
||||
log('SecureStorageHelper -> getObject $value for key: $key');
|
||||
return value as BuildContext?;
|
||||
}
|
||||
|
||||
|
@ -84,7 +84,7 @@ class SecureStorageHelper extends ChangeNotifier implements Storage {
|
|||
|
||||
@override
|
||||
Future<dynamic> get(String key) async {
|
||||
log('get value for key: $key');
|
||||
log('SecureStorageHelper -> get value for key: $key');
|
||||
var stringValue = await getString(key);
|
||||
if (stringValue != null) return stringValue;
|
||||
|
||||
|
@ -99,13 +99,13 @@ class SecureStorageHelper extends ChangeNotifier implements Storage {
|
|||
|
||||
@override
|
||||
Future<void> delete(String key) async {
|
||||
log('delete value for key: $key');
|
||||
log('SecureStorageHelper -> delete value for key: $key');
|
||||
await _secureStorage.delete(key: key);
|
||||
CacheUtil.instance.delete(key);
|
||||
}
|
||||
|
||||
Future<void> purge() async {
|
||||
log('Purging secure storage');
|
||||
log('SecureStorageHelper -> Purging secure storage');
|
||||
await _secureStorage.deleteAll();
|
||||
CacheUtil.instance.clear();
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue