WIP
This commit is contained in:
parent
17f8cf733f
commit
39afcc91ef
|
@ -1,44 +1,44 @@
|
|||
import 'package:hub/backend/api_requests/api_manager.dart';
|
||||
import 'package:hub/flutter_flow/request_manager.dart';
|
||||
// import 'package:hub/backend/api_requests/api_manager.dart';
|
||||
// import 'package:hub/flutter_flow/request_manager.dart';
|
||||
|
||||
import '/flutter_flow/flutter_flow_util.dart';
|
||||
import 'message_well_component_widget.dart' show MessageWellComponentWidget;
|
||||
import 'package:flutter/material.dart';
|
||||
// import '/flutter_flow/flutter_flow_util.dart';
|
||||
// import 'message_well_component_widget.dart' show MessageWellComponentWidget;
|
||||
// import 'package:flutter/material.dart';
|
||||
|
||||
class MessageWellComponentModel extends FlutterFlowModel<MessageWellComponentWidget> {
|
||||
final unfocusNode = FocusNode();
|
||||
// State field(s) for TextField widget.
|
||||
FocusNode? textFieldFocusNode;
|
||||
TextEditingController? textController;
|
||||
String? Function(BuildContext, String?)? textControllerValidator;
|
||||
// class MessageWellComponentModel extends FlutterFlowModel<MessageWellComponentWidget> {
|
||||
// final unfocusNode = FocusNode();
|
||||
// // State field(s) for TextField widget.
|
||||
// FocusNode? textFieldFocusNode;
|
||||
// TextEditingController? textController;
|
||||
// String? Function(BuildContext, String?)? textControllerValidator;
|
||||
|
||||
/// Query cache managers for this widget.
|
||||
// /// Query cache managers for this widget.
|
||||
|
||||
final _getLiberationsManager = StreamRequestManager<ApiCallResponse>();
|
||||
Stream<ApiCallResponse> getLiberations({
|
||||
String? uniqueQueryKey,
|
||||
bool? overrideCache,
|
||||
required Stream<ApiCallResponse> Function() requestFn,
|
||||
}) =>
|
||||
_getLiberationsManager.performRequest(
|
||||
uniqueQueryKey: uniqueQueryKey,
|
||||
overrideCache: overrideCache,
|
||||
requestFn: requestFn,
|
||||
);
|
||||
void clearGetLiberationsCache() => _getLiberationsManager.clear();
|
||||
void clearGetLiberationsCacheKey(String? uniqueKey) => _getLiberationsManager.clearRequest(uniqueKey);
|
||||
// final _getLiberationsManager = StreamRequestManager<ApiCallResponse>();
|
||||
// Stream<ApiCallResponse> getLiberations({
|
||||
// String? uniqueQueryKey,
|
||||
// bool? overrideCache,
|
||||
// required Stream<ApiCallResponse> Function() requestFn,
|
||||
// }) =>
|
||||
// _getLiberationsManager.performRequest(
|
||||
// uniqueQueryKey: uniqueQueryKey,
|
||||
// overrideCache: overrideCache,
|
||||
// requestFn: requestFn,
|
||||
// );
|
||||
// void clearGetLiberationsCache() => _getLiberationsManager.clear();
|
||||
// void clearGetLiberationsCacheKey(String? uniqueKey) => _getLiberationsManager.clearRequest(uniqueKey);
|
||||
|
||||
@override
|
||||
void initState(BuildContext context) {}
|
||||
// @override
|
||||
// void initState(BuildContext context) {}
|
||||
|
||||
@override
|
||||
void dispose() {
|
||||
unfocusNode.dispose();
|
||||
textFieldFocusNode?.dispose();
|
||||
textController?.dispose();
|
||||
// @override
|
||||
// void dispose() {
|
||||
// unfocusNode.dispose();
|
||||
// textFieldFocusNode?.dispose();
|
||||
// textController?.dispose();
|
||||
|
||||
/// Dispose query cache managers for this widget.
|
||||
// /// Dispose query cache managers for this widget.
|
||||
|
||||
clearGetLiberationsCache();
|
||||
}
|
||||
}
|
||||
// clearGetLiberationsCache();
|
||||
// }
|
||||
// }
|
||||
|
|
|
@ -1,379 +1,379 @@
|
|||
import 'dart:async';
|
||||
import 'dart:collection';
|
||||
// import 'dart:async';
|
||||
// import 'dart:collection';
|
||||
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:flutter_riverpod/flutter_riverpod.dart';
|
||||
import 'package:hub/backend/api_requests/api_calls.dart';
|
||||
import 'package:hub/flutter_flow/flutter_flow_theme.dart';
|
||||
import 'package:hub/flutter_flow/flutter_flow_util.dart';
|
||||
import 'package:provider/provider.dart';
|
||||
import 'package:rxdart/rxdart.dart';
|
||||
// import 'package:flutter/material.dart';
|
||||
// import 'package:flutter_riverpod/flutter_riverpod.dart';
|
||||
// import 'package:hub/backend/api_requests/api_calls.dart';
|
||||
// import 'package:hub/flutter_flow/flutter_flow_theme.dart';
|
||||
// import 'package:hub/flutter_flow/flutter_flow_util.dart';
|
||||
// import 'package:provider/provider.dart';
|
||||
// import 'package:rxdart/rxdart.dart';
|
||||
|
||||
//
|
||||
// //
|
||||
|
||||
final dropdown = BehaviorSubject<LinkedHashMap<String, String>>.seeded(
|
||||
LinkedHashMap.from({
|
||||
'All': 'A',
|
||||
}),
|
||||
);
|
||||
// final dropdown = BehaviorSubject<LinkedHashMap<String, String>>.seeded(
|
||||
// LinkedHashMap.from({
|
||||
// 'All': 'A',
|
||||
// }),
|
||||
// );
|
||||
|
||||
class MessageWellComponentWidget extends StatefulWidget {
|
||||
const MessageWellComponentWidget({super.key});
|
||||
// class MessageWellComponentWidget extends StatefulWidget {
|
||||
// const MessageWellComponentWidget({super.key});
|
||||
|
||||
@override
|
||||
State<MessageWellComponentWidget> createState() => _MessageWellComponentWidgetState();
|
||||
}
|
||||
// @override
|
||||
// State<MessageWellComponentWidget> createState() => _MessageWellComponentWidgetState();
|
||||
// }
|
||||
|
||||
class _MessageWellComponentWidgetState extends State<MessageWellComponentWidget> {
|
||||
StreamSubscription? _dropdownSubscription;
|
||||
// class _MessageWellComponentWidgetState extends State<MessageWellComponentWidget> {
|
||||
// StreamSubscription? _dropdownSubscription;
|
||||
|
||||
@override
|
||||
void initState() {
|
||||
super.initState();
|
||||
WidgetsBinding.instance.addPostFrameCallback((_) {
|
||||
context.read<MessageWellNotifier>().fetchMessages();
|
||||
});
|
||||
// @override
|
||||
// void initState() {
|
||||
// super.initState();
|
||||
// WidgetsBinding.instance.addPostFrameCallback((_) {
|
||||
// context.read<MessageWellNotifier>().fetchMessages();
|
||||
// });
|
||||
|
||||
_dropdownSubscription = dropdown.stream.listen((_) {
|
||||
context.read<MessageWellNotifier>().fetchMessages();
|
||||
});
|
||||
}
|
||||
// _dropdownSubscription = dropdown.stream.listen((_) {
|
||||
// context.read<MessageWellNotifier>().fetchMessages();
|
||||
// });
|
||||
// }
|
||||
|
||||
@override
|
||||
void dispose() {
|
||||
_dropdownSubscription?.cancel();
|
||||
super.dispose();
|
||||
}
|
||||
// @override
|
||||
// void dispose() {
|
||||
// _dropdownSubscription?.cancel();
|
||||
// super.dispose();
|
||||
// }
|
||||
|
||||
@override
|
||||
Widget build(BuildContext context) {
|
||||
final messages = context.read<MessageWellNotifier>().getMessages();
|
||||
return Align(
|
||||
alignment: Alignment.center,
|
||||
child: Padding(
|
||||
padding: const EdgeInsets.symmetric(vertical: 40.0),
|
||||
child: SizedBox(
|
||||
height: MediaQuery.of(context).size.height * 0.8,
|
||||
child: Column(
|
||||
children: [
|
||||
_buildHandleMessageWell(context, FlutterFlowTheme.of(context)),
|
||||
_buildMenuMessageWell(context, FlutterFlowTheme.of(context)),
|
||||
Expanded(
|
||||
child: ListView.builder(
|
||||
itemCount: messages.length,
|
||||
shrinkWrap: true,
|
||||
physics: const AlwaysScrollableScrollPhysics(),
|
||||
itemBuilder: (context, index) {
|
||||
var message = messages[index];
|
||||
return _buildMessageItem(context, message, index);
|
||||
},
|
||||
),
|
||||
),
|
||||
],
|
||||
),
|
||||
),
|
||||
),
|
||||
);
|
||||
}
|
||||
// @override
|
||||
// Widget build(BuildContext context) {
|
||||
// final messages = context.read<MessageWellNotifier>().getMessages();
|
||||
// return Align(
|
||||
// alignment: Alignment.center,
|
||||
// child: Padding(
|
||||
// padding: const EdgeInsets.symmetric(vertical: 40.0),
|
||||
// child: SizedBox(
|
||||
// height: MediaQuery.of(context).size.height * 0.8,
|
||||
// child: Column(
|
||||
// children: [
|
||||
// _buildHandleMessageWell(context, FlutterFlowTheme.of(context)),
|
||||
// _buildMenuMessageWell(context, FlutterFlowTheme.of(context)),
|
||||
// Expanded(
|
||||
// child: ListView.builder(
|
||||
// itemCount: messages.length,
|
||||
// shrinkWrap: true,
|
||||
// physics: const AlwaysScrollableScrollPhysics(),
|
||||
// itemBuilder: (context, index) {
|
||||
// var message = messages[index];
|
||||
// return _buildMessageItem(context, message, index);
|
||||
// },
|
||||
// ),
|
||||
// ),
|
||||
// ],
|
||||
// ),
|
||||
// ),
|
||||
// ),
|
||||
// );
|
||||
// }
|
||||
|
||||
Widget _buildMenuMessageWell(BuildContext context, FlutterFlowTheme theme) {
|
||||
final dropdownItems = LinkedHashMap.from({
|
||||
'All': 'A',
|
||||
'Personal': 'O',
|
||||
'Global': 'C',
|
||||
});
|
||||
return SizedBox(
|
||||
key: UniqueKey(),
|
||||
width: 200,
|
||||
height: 40,
|
||||
child: StreamBuilder<String>(
|
||||
stream: dropdown.stream.map((event) => event.keys.first),
|
||||
builder: (context, snapshot) {
|
||||
final value = snapshot.data;
|
||||
return DropdownButtonFormField<String>(
|
||||
value: value,
|
||||
decoration: InputDecoration(
|
||||
isDense: true,
|
||||
contentPadding: const EdgeInsets.symmetric(horizontal: 10.0),
|
||||
errorBorder: OutlineInputBorder(
|
||||
borderSide: BorderSide(
|
||||
color: theme.error,
|
||||
width: 2,
|
||||
),
|
||||
borderRadius: BorderRadius.circular(10),
|
||||
),
|
||||
enabledBorder: OutlineInputBorder(
|
||||
borderSide: BorderSide(
|
||||
color: theme.primary,
|
||||
width: 2,
|
||||
),
|
||||
borderRadius: BorderRadius.circular(10),
|
||||
),
|
||||
focusedBorder: OutlineInputBorder(
|
||||
borderSide: BorderSide(
|
||||
color: theme.primary,
|
||||
width: 2,
|
||||
),
|
||||
borderRadius: BorderRadius.circular(10),
|
||||
),
|
||||
disabledBorder: OutlineInputBorder(
|
||||
borderSide: BorderSide(
|
||||
color: theme.primary,
|
||||
width: 2,
|
||||
),
|
||||
borderRadius: BorderRadius.circular(10),
|
||||
),
|
||||
focusedErrorBorder: OutlineInputBorder(
|
||||
borderSide: BorderSide(
|
||||
color: theme.error,
|
||||
width: 2,
|
||||
),
|
||||
borderRadius: BorderRadius.circular(10),
|
||||
),
|
||||
border: OutlineInputBorder(
|
||||
borderSide: BorderSide(
|
||||
color: theme.primary,
|
||||
width: 2,
|
||||
),
|
||||
borderRadius: BorderRadius.circular(10),
|
||||
),
|
||||
filled: true,
|
||||
fillColor: theme.primary,
|
||||
),
|
||||
onChanged: (String? newValue) {
|
||||
safeSetState(() => dropdown.value = LinkedHashMap.from({newValue!: dropdownItems[newValue].toString()}));
|
||||
},
|
||||
items: dropdownItems.entries
|
||||
.map((entry) => DropdownMenuItem<String>(
|
||||
value: entry.key,
|
||||
child: Text(entry.key),
|
||||
))
|
||||
.toList(),
|
||||
style: theme.bodyMedium.copyWith(
|
||||
color: theme.primaryText,
|
||||
),
|
||||
);
|
||||
},
|
||||
),
|
||||
);
|
||||
}
|
||||
// Widget _buildMenuMessageWell(BuildContext context, FlutterFlowTheme theme) {
|
||||
// final dropdownItems = LinkedHashMap.from({
|
||||
// 'All': 'A',
|
||||
// 'Personal': 'O',
|
||||
// 'Global': 'C',
|
||||
// });
|
||||
// return SizedBox(
|
||||
// key: UniqueKey(),
|
||||
// width: 200,
|
||||
// height: 40,
|
||||
// child: StreamBuilder<String>(
|
||||
// stream: dropdown.stream.map((event) => event.keys.first),
|
||||
// builder: (context, snapshot) {
|
||||
// final value = snapshot.data;
|
||||
// return DropdownButtonFormField<String>(
|
||||
// value: value,
|
||||
// decoration: InputDecoration(
|
||||
// isDense: true,
|
||||
// contentPadding: const EdgeInsets.symmetric(horizontal: 10.0),
|
||||
// errorBorder: OutlineInputBorder(
|
||||
// borderSide: BorderSide(
|
||||
// color: theme.error,
|
||||
// width: 2,
|
||||
// ),
|
||||
// borderRadius: BorderRadius.circular(10),
|
||||
// ),
|
||||
// enabledBorder: OutlineInputBorder(
|
||||
// borderSide: BorderSide(
|
||||
// color: theme.primary,
|
||||
// width: 2,
|
||||
// ),
|
||||
// borderRadius: BorderRadius.circular(10),
|
||||
// ),
|
||||
// focusedBorder: OutlineInputBorder(
|
||||
// borderSide: BorderSide(
|
||||
// color: theme.primary,
|
||||
// width: 2,
|
||||
// ),
|
||||
// borderRadius: BorderRadius.circular(10),
|
||||
// ),
|
||||
// disabledBorder: OutlineInputBorder(
|
||||
// borderSide: BorderSide(
|
||||
// color: theme.primary,
|
||||
// width: 2,
|
||||
// ),
|
||||
// borderRadius: BorderRadius.circular(10),
|
||||
// ),
|
||||
// focusedErrorBorder: OutlineInputBorder(
|
||||
// borderSide: BorderSide(
|
||||
// color: theme.error,
|
||||
// width: 2,
|
||||
// ),
|
||||
// borderRadius: BorderRadius.circular(10),
|
||||
// ),
|
||||
// border: OutlineInputBorder(
|
||||
// borderSide: BorderSide(
|
||||
// color: theme.primary,
|
||||
// width: 2,
|
||||
// ),
|
||||
// borderRadius: BorderRadius.circular(10),
|
||||
// ),
|
||||
// filled: true,
|
||||
// fillColor: theme.primary,
|
||||
// ),
|
||||
// onChanged: (String? newValue) {
|
||||
// safeSetState(() => dropdown.value = LinkedHashMap.from({newValue!: dropdownItems[newValue].toString()}));
|
||||
// },
|
||||
// items: dropdownItems.entries
|
||||
// .map((entry) => DropdownMenuItem<String>(
|
||||
// value: entry.key,
|
||||
// child: Text(entry.key),
|
||||
// ))
|
||||
// .toList(),
|
||||
// style: theme.bodyMedium.copyWith(
|
||||
// color: theme.primaryText,
|
||||
// ),
|
||||
// );
|
||||
// },
|
||||
// ),
|
||||
// );
|
||||
// }
|
||||
|
||||
Text _buildHandleMessageWell(BuildContext context, FlutterFlowTheme theme) {
|
||||
return Text(
|
||||
FFLocalizations.of(context).getVariableText(
|
||||
ptText: 'Mural de Mensagens',
|
||||
enText: 'Message Wall',
|
||||
),
|
||||
style: theme.bodyMedium.copyWith(
|
||||
fontFamily: 'Nunito Sans',
|
||||
letterSpacing: 0.0,
|
||||
),
|
||||
);
|
||||
}
|
||||
// Text _buildHandleMessageWell(BuildContext context, FlutterFlowTheme theme) {
|
||||
// return Text(
|
||||
// FFLocalizations.of(context).getVariableText(
|
||||
// ptText: 'Mural de Mensagens',
|
||||
// enText: 'Message Wall',
|
||||
// ),
|
||||
// style: theme.bodyMedium.copyWith(
|
||||
// fontFamily: 'Nunito Sans',
|
||||
// letterSpacing: 0.0,
|
||||
// ),
|
||||
// );
|
||||
// }
|
||||
|
||||
Widget _buildMessageItem(BuildContext context, dynamic message, int index) {
|
||||
FlutterFlowTheme.of(context);
|
||||
String formatMessageOrigin(String messageOrigin) {
|
||||
final words = messageOrigin.split(' ');
|
||||
final formattedWords = words.map((word) {
|
||||
if (word.isEmpty) return word; // Handle empty words
|
||||
final firstLetter = word.substring(0, 1).toUpperCase();
|
||||
final remainingLetters = word.length > 1 ? word.substring(1).toLowerCase() : '';
|
||||
return '$firstLetter$remainingLetters';
|
||||
});
|
||||
return formattedWords.join(' ');
|
||||
}
|
||||
// Widget _buildMessageItem(BuildContext context, dynamic message, int index) {
|
||||
// FlutterFlowTheme.of(context);
|
||||
// String formatMessageOrigin(String messageOrigin) {
|
||||
// final words = messageOrigin.split(' ');
|
||||
// final formattedWords = words.map((word) {
|
||||
// if (word.isEmpty) return word; // Handle empty words
|
||||
// final firstLetter = word.substring(0, 1).toUpperCase();
|
||||
// final remainingLetters = word.length > 1 ? word.substring(1).toLowerCase() : '';
|
||||
// return '$firstLetter$remainingLetters';
|
||||
// });
|
||||
// return formattedWords.join(' ');
|
||||
// }
|
||||
|
||||
return Padding(
|
||||
padding: const EdgeInsets.symmetric(horizontal: 30),
|
||||
child: Card(
|
||||
color: FlutterFlowTheme.of(context).primaryBackground,
|
||||
child: Container(
|
||||
// height: 100,
|
||||
child: Padding(
|
||||
padding: const EdgeInsets.all(8.0),
|
||||
child: Column(
|
||||
mainAxisAlignment: MainAxisAlignment.center,
|
||||
children: [
|
||||
Padding(
|
||||
padding: const EdgeInsets.symmetric(horizontal: 15.0),
|
||||
child: Column(
|
||||
crossAxisAlignment: CrossAxisAlignment.start,
|
||||
children: [
|
||||
Row(
|
||||
mainAxisAlignment: MainAxisAlignment.start,
|
||||
mainAxisSize: MainAxisSize.max,
|
||||
children: [
|
||||
Icon(
|
||||
message['MSG_DESTINO_TP'] == 'T'
|
||||
? Icons.language
|
||||
: message['MSG_DESTINO_TP'] == 'P'
|
||||
? Icons.person
|
||||
: Icons.home,
|
||||
color: FlutterFlowTheme.of(context).primary,
|
||||
size: 25,
|
||||
),
|
||||
Expanded(
|
||||
child: Text(
|
||||
message['MSG_ORIGEM_DESC'].toString(),
|
||||
style: TextStyle(
|
||||
fontWeight: FontWeight.bold,
|
||||
fontSize: 15,
|
||||
color: FlutterFlowTheme.of(context).primary,
|
||||
),
|
||||
overflow: TextOverflow.fade,
|
||||
),
|
||||
),
|
||||
].divide(const SizedBox(width: 10)),
|
||||
),
|
||||
Row(
|
||||
mainAxisAlignment: MainAxisAlignment.start,
|
||||
mainAxisSize: MainAxisSize.max,
|
||||
children: [
|
||||
Padding(
|
||||
padding: const EdgeInsets.only(left: 5),
|
||||
child: Icon(
|
||||
Icons.history,
|
||||
color: FlutterFlowTheme.of(context).customColor6,
|
||||
size: 15,
|
||||
),
|
||||
),
|
||||
Expanded(
|
||||
child: Text(
|
||||
message['MSG_DATE'].toString(),
|
||||
style: TextStyle(
|
||||
fontWeight: FontWeight.bold,
|
||||
fontSize: 10,
|
||||
color: FlutterFlowTheme.of(context).customColor6,
|
||||
),
|
||||
overflow: TextOverflow.ellipsis,
|
||||
),
|
||||
),
|
||||
].divide(const SizedBox(width: 15)),
|
||||
),
|
||||
Row(
|
||||
mainAxisAlignment: MainAxisAlignment.start,
|
||||
mainAxisSize: MainAxisSize.max,
|
||||
children: [
|
||||
Padding(
|
||||
padding: const EdgeInsets.only(left: 5),
|
||||
child: Icon(
|
||||
Icons.message,
|
||||
color: FlutterFlowTheme.of(context).customColor6,
|
||||
size: 15,
|
||||
),
|
||||
),
|
||||
Expanded(
|
||||
child: Text(
|
||||
message['MSG_TEXTO'].toString(),
|
||||
),
|
||||
),
|
||||
].divide(const SizedBox(width: 15)),
|
||||
),
|
||||
].divide(const SizedBox(height: 4)),
|
||||
),
|
||||
),
|
||||
// Row(
|
||||
// children: [
|
||||
// Icon(
|
||||
// Icons.message,
|
||||
// color: FlutterFlowTheme.of(context).customColor6,
|
||||
// size: 15,
|
||||
// ),
|
||||
// Expanded(
|
||||
// child: Padding(
|
||||
// padding: const EdgeInsets.all(8.0),
|
||||
// child: Text(
|
||||
// message['MSG_TEXTO'].toString(),
|
||||
// ),
|
||||
// ),
|
||||
// ),
|
||||
// ]
|
||||
// .addToStart(const SizedBox(width: 8))
|
||||
// .addToEnd(const SizedBox(width: 8))),
|
||||
].divide(
|
||||
const SizedBox(height: 8),
|
||||
),
|
||||
),
|
||||
),
|
||||
),
|
||||
));
|
||||
}
|
||||
}
|
||||
// return Padding(
|
||||
// padding: const EdgeInsets.symmetric(horizontal: 30),
|
||||
// child: Card(
|
||||
// color: FlutterFlowTheme.of(context).primaryBackground,
|
||||
// child: Container(
|
||||
// // height: 100,
|
||||
// child: Padding(
|
||||
// padding: const EdgeInsets.all(8.0),
|
||||
// child: Column(
|
||||
// mainAxisAlignment: MainAxisAlignment.center,
|
||||
// children: [
|
||||
// Padding(
|
||||
// padding: const EdgeInsets.symmetric(horizontal: 15.0),
|
||||
// child: Column(
|
||||
// crossAxisAlignment: CrossAxisAlignment.start,
|
||||
// children: [
|
||||
// Row(
|
||||
// mainAxisAlignment: MainAxisAlignment.start,
|
||||
// mainAxisSize: MainAxisSize.max,
|
||||
// children: [
|
||||
// Icon(
|
||||
// message['MSG_DESTINO_TP'] == 'T'
|
||||
// ? Icons.language
|
||||
// : message['MSG_DESTINO_TP'] == 'P'
|
||||
// ? Icons.person
|
||||
// : Icons.home,
|
||||
// color: FlutterFlowTheme.of(context).primary,
|
||||
// size: 25,
|
||||
// ),
|
||||
// Expanded(
|
||||
// child: Text(
|
||||
// message['MSG_ORIGEM_DESC'].toString(),
|
||||
// style: TextStyle(
|
||||
// fontWeight: FontWeight.bold,
|
||||
// fontSize: 15,
|
||||
// color: FlutterFlowTheme.of(context).primary,
|
||||
// ),
|
||||
// overflow: TextOverflow.fade,
|
||||
// ),
|
||||
// ),
|
||||
// ].divide(const SizedBox(width: 10)),
|
||||
// ),
|
||||
// Row(
|
||||
// mainAxisAlignment: MainAxisAlignment.start,
|
||||
// mainAxisSize: MainAxisSize.max,
|
||||
// children: [
|
||||
// Padding(
|
||||
// padding: const EdgeInsets.only(left: 5),
|
||||
// child: Icon(
|
||||
// Icons.history,
|
||||
// color: FlutterFlowTheme.of(context).customColor6,
|
||||
// size: 15,
|
||||
// ),
|
||||
// ),
|
||||
// Expanded(
|
||||
// child: Text(
|
||||
// message['MSG_DATE'].toString(),
|
||||
// style: TextStyle(
|
||||
// fontWeight: FontWeight.bold,
|
||||
// fontSize: 10,
|
||||
// color: FlutterFlowTheme.of(context).customColor6,
|
||||
// ),
|
||||
// overflow: TextOverflow.ellipsis,
|
||||
// ),
|
||||
// ),
|
||||
// ].divide(const SizedBox(width: 15)),
|
||||
// ),
|
||||
// Row(
|
||||
// mainAxisAlignment: MainAxisAlignment.start,
|
||||
// mainAxisSize: MainAxisSize.max,
|
||||
// children: [
|
||||
// Padding(
|
||||
// padding: const EdgeInsets.only(left: 5),
|
||||
// child: Icon(
|
||||
// Icons.message,
|
||||
// color: FlutterFlowTheme.of(context).customColor6,
|
||||
// size: 15,
|
||||
// ),
|
||||
// ),
|
||||
// Expanded(
|
||||
// child: Text(
|
||||
// message['MSG_TEXTO'].toString(),
|
||||
// ),
|
||||
// ),
|
||||
// ].divide(const SizedBox(width: 15)),
|
||||
// ),
|
||||
// ].divide(const SizedBox(height: 4)),
|
||||
// ),
|
||||
// ),
|
||||
// // Row(
|
||||
// // children: [
|
||||
// // Icon(
|
||||
// // Icons.message,
|
||||
// // color: FlutterFlowTheme.of(context).customColor6,
|
||||
// // size: 15,
|
||||
// // ),
|
||||
// // Expanded(
|
||||
// // child: Padding(
|
||||
// // padding: const EdgeInsets.all(8.0),
|
||||
// // child: Text(
|
||||
// // message['MSG_TEXTO'].toString(),
|
||||
// // ),
|
||||
// // ),
|
||||
// // ),
|
||||
// // ]
|
||||
// // .addToStart(const SizedBox(width: 8))
|
||||
// // .addToEnd(const SizedBox(width: 8))),
|
||||
// ].divide(
|
||||
// const SizedBox(height: 8),
|
||||
// ),
|
||||
// ),
|
||||
// ),
|
||||
// ),
|
||||
// ));
|
||||
// }
|
||||
// }
|
||||
|
||||
class MessageWellState {
|
||||
final List<dynamic> messages;
|
||||
int pageNumber;
|
||||
final bool allowScrollInSingleChildScrollView;
|
||||
// class MessageWellState {
|
||||
// final List<dynamic> messages;
|
||||
// int pageNumber;
|
||||
// final bool allowScrollInSingleChildScrollView;
|
||||
|
||||
MessageWellState({
|
||||
required this.messages,
|
||||
this.pageNumber = 1,
|
||||
required this.allowScrollInSingleChildScrollView,
|
||||
});
|
||||
// MessageWellState({
|
||||
// required this.messages,
|
||||
// this.pageNumber = 1,
|
||||
// required this.allowScrollInSingleChildScrollView,
|
||||
// });
|
||||
|
||||
MessageWellState copyWith({
|
||||
List<dynamic>? messages,
|
||||
int? pageNumber,
|
||||
bool? allowScrollInSingleChildScrollView,
|
||||
}) {
|
||||
return MessageWellState(
|
||||
messages: messages ?? this.messages,
|
||||
pageNumber: pageNumber ?? this.pageNumber,
|
||||
allowScrollInSingleChildScrollView: allowScrollInSingleChildScrollView ?? this.allowScrollInSingleChildScrollView,
|
||||
);
|
||||
}
|
||||
}
|
||||
// MessageWellState copyWith({
|
||||
// List<dynamic>? messages,
|
||||
// int? pageNumber,
|
||||
// bool? allowScrollInSingleChildScrollView,
|
||||
// }) {
|
||||
// return MessageWellState(
|
||||
// messages: messages ?? this.messages,
|
||||
// pageNumber: pageNumber ?? this.pageNumber,
|
||||
// allowScrollInSingleChildScrollView: allowScrollInSingleChildScrollView ?? this.allowScrollInSingleChildScrollView,
|
||||
// );
|
||||
// }
|
||||
// }
|
||||
|
||||
class MessageWellNotifier extends StateNotifier<MessageWellState> {
|
||||
var _totalPageNumber = 1;
|
||||
int get totalPageNumber => _totalPageNumber;
|
||||
// class MessageWellNotifier extends StateNotifier<MessageWellState> {
|
||||
// var _totalPageNumber = 1;
|
||||
// int get totalPageNumber => _totalPageNumber;
|
||||
|
||||
set totalPageNumber(int value) {
|
||||
_totalPageNumber = value;
|
||||
}
|
||||
// set totalPageNumber(int value) {
|
||||
// _totalPageNumber = value;
|
||||
// }
|
||||
|
||||
MessageWellNotifier()
|
||||
: super(MessageWellState(
|
||||
messages: [],
|
||||
allowScrollInSingleChildScrollView: true,
|
||||
)) {
|
||||
fetchMessages();
|
||||
}
|
||||
// MessageWellNotifier()
|
||||
// : super(MessageWellState(
|
||||
// messages: [],
|
||||
// allowScrollInSingleChildScrollView: true,
|
||||
// )) {
|
||||
// fetchMessages();
|
||||
// }
|
||||
|
||||
void fetchMessages() async {
|
||||
if (state.pageNumber <= totalPageNumber) {
|
||||
var apiCall = GetMessagesCall();
|
||||
var response = await apiCall.call(
|
||||
pageSize: '100',
|
||||
pageNumber: state.pageNumber.toString(),
|
||||
tipoDestino: dropdown.value.values.first,
|
||||
);
|
||||
if (response.statusCode == 200) {
|
||||
var messagesData = response.jsonBody['mensagens'];
|
||||
var newMessages = [...state.messages, ...messagesData];
|
||||
state = state.copyWith(messages: newMessages);
|
||||
// var rExp = RegExp(r'\d+')
|
||||
// .allMatches(newMessages.toString())
|
||||
// .map((e) => e.group(0))
|
||||
// .toList();
|
||||
// Provider.of<MessageCounter>(context, listen: false).setCounter(int.parse(response.jsonBody['total_pages']));
|
||||
// totalPageNumber = int.parse(response.jsonBody['total_pages']);
|
||||
} else {}
|
||||
} else {}
|
||||
}
|
||||
// void fetchMessages() async {
|
||||
// if (state.pageNumber <= totalPageNumber) {
|
||||
// var apiCall = GetMessagesCall();
|
||||
// var response = await apiCall.call(
|
||||
// pageSize: '100',
|
||||
// pageNumber: state.pageNumber.toString(),
|
||||
// tipoDestino: dropdown.value.values.first,
|
||||
// );
|
||||
// if (response.statusCode == 200) {
|
||||
// var messagesData = response.jsonBody['mensagens'];
|
||||
// var newMessages = [...state.messages, ...messagesData];
|
||||
// state = state.copyWith(messages: newMessages);
|
||||
// // var rExp = RegExp(r'\d+')
|
||||
// // .allMatches(newMessages.toString())
|
||||
// // .map((e) => e.group(0))
|
||||
// // .toList();
|
||||
// // Provider.of<MessageCounter>(context, listen: false).setCounter(int.parse(response.jsonBody['total_pages']));
|
||||
// // totalPageNumber = int.parse(response.jsonBody['total_pages']);
|
||||
// } else {}
|
||||
// } else {}
|
||||
// }
|
||||
|
||||
List<dynamic> getMessages() {
|
||||
return state.messages;
|
||||
}
|
||||
// List<dynamic> getMessages() {
|
||||
// return state.messages;
|
||||
// }
|
||||
|
||||
void incrementPageNumber() {
|
||||
if (state.pageNumber <= totalPageNumber) {
|
||||
state = state.copyWith(pageNumber: state.pageNumber + 1);
|
||||
}
|
||||
}
|
||||
}
|
||||
// void incrementPageNumber() {
|
||||
// if (state.pageNumber <= totalPageNumber) {
|
||||
// state = state.copyWith(pageNumber: state.pageNumber + 1);
|
||||
// }
|
||||
// }
|
||||
// }
|
||||
|
||||
final messageWellProvider = StateNotifierProvider<MessageWellNotifier, MessageWellState>((ref) {
|
||||
return MessageWellNotifier();
|
||||
});
|
||||
// final messageWellProvider = StateNotifierProvider<MessageWellNotifier, MessageWellState>((ref) {
|
||||
// return MessageWellNotifier();
|
||||
// });
|
||||
|
|
|
@ -58,7 +58,6 @@ class ScheduleProvisionalVisitPageModel extends FlutterFlowModel<ScheduleProvisi
|
|||
DateTime currentDateTime = DateTime.now().add(const Duration(minutes: 59));
|
||||
selectedDateTime = DateFormat('dd/MM/yyyy HH:mm:ss').parse(dateTimeTextController.text);
|
||||
try {
|
||||
log('dateTimeTextController.text: ${dateTimeTextController.text}');
|
||||
selectedDateTime = DateFormat('dd/MM/yyyy HH:mm:ss').parse(dateTimeTextController.text);
|
||||
} catch (e) {
|
||||
return FFLocalizations.of(context).getVariableText(
|
||||
|
|
|
@ -341,7 +341,6 @@ class _VisitorSearchModalTemplateComponentWidgetState extends State<VisitorSearc
|
|||
|
||||
Future<void> sendVisitors(BuildContext context) async {
|
||||
await widget.getVisitors?.call(_model.visitors);
|
||||
log('() => docs: ${_model.docs}');
|
||||
await widget.getDocs?.call(_model.docs);
|
||||
context.pop();
|
||||
}
|
||||
|
|
|
@ -15,7 +15,6 @@ import 'package:hub/shared/helpers/storage/base_storage.dart';
|
|||
import 'package:hub/shared/helpers/storage/storage_helper.dart';
|
||||
import 'package:hub/shared/services/deeplink/deep_link_service.dart';
|
||||
import 'package:responsive_framework/responsive_framework.dart';
|
||||
import 'package:flutter_riverpod/flutter_riverpod.dart';
|
||||
|
||||
import 'backend/notifications/firebase_messaging_service.dart';
|
||||
import 'initialization.dart';
|
||||
|
@ -24,7 +23,7 @@ final GlobalKey<NavigatorState> navigatorKey = GlobalKey<NavigatorState>();
|
|||
|
||||
void main() async {
|
||||
await initializeApp();
|
||||
runApp(const ProviderScope(child: App()));
|
||||
runApp(const App());
|
||||
FirebaseMessaging.onBackgroundMessage(_backgroundHandlerMessage);
|
||||
}
|
||||
|
||||
|
|
|
@ -116,10 +116,8 @@ class PetsPageModel extends FlutterFlowModel<PetsPageWidget> {
|
|||
);
|
||||
dropDownValueController1 = FormFieldController<String>(dropDownValue1 ??= defaultDropDownText);
|
||||
dropDownValueController2 = FormFieldController<String>(dropDownValue2 ??= defaultDropDownText);
|
||||
log('() => ): $devUUID');
|
||||
|
||||
safeSetState?.call();
|
||||
log('() => ): $devUUID');
|
||||
}
|
||||
|
||||
@override
|
||||
|
@ -157,7 +155,6 @@ class PetsPageModel extends FlutterFlowModel<PetsPageWidget> {
|
|||
}
|
||||
|
||||
void setEditForm() {
|
||||
log('item: $item');
|
||||
|
||||
if (item != null) petId = item['id'];
|
||||
|
||||
|
|
|
@ -79,7 +79,6 @@ class PreferencesPageModel with ChangeNotifier {
|
|||
}
|
||||
})
|
||||
.catchError((e, s) {
|
||||
log('toggleNotify', error: e, stackTrace: s);
|
||||
content = FFLocalizations.of(context).getVariableText(
|
||||
enText: 'Error changing notification',
|
||||
ptText: 'Erro ao alterar notificação',
|
||||
|
|
|
@ -30,7 +30,6 @@ class _ReceptionPageWidgetState extends State<ReceptionPageWidget> with WidgetsB
|
|||
WidgetsBinding.instance.addObserver(this);
|
||||
() async {
|
||||
final lifecycle = await AwesomeNotifications().getAppLifeCycle();
|
||||
log('lifecycle: $lifecycle');
|
||||
}();
|
||||
|
||||
FirebaseMessagingService().updateDeviceToken();
|
||||
|
@ -45,7 +44,6 @@ class _ReceptionPageWidgetState extends State<ReceptionPageWidget> with WidgetsB
|
|||
|
||||
@override
|
||||
void didChangeAppLifecycleState(AppLifecycleState state) {
|
||||
log('() => state: $state');
|
||||
if (state == AppLifecycleState.resumed) {
|
||||
setState(() {
|
||||
LocalsRepositoryImpl().checkLocals(context);
|
||||
|
|
|
@ -29,7 +29,6 @@ class LicenseLocalDataSourceImpl implements LicenseLocalDataSource {
|
|||
if (key.isEmpty) return;
|
||||
for (var element in key) {
|
||||
if (element != null) {
|
||||
log('setByKey($element, $display)');
|
||||
await s(element, {
|
||||
'display': display,
|
||||
'expirationDate': '',
|
||||
|
@ -45,7 +44,6 @@ class LicenseLocalDataSourceImpl implements LicenseLocalDataSource {
|
|||
if (response.isEmpty) {
|
||||
return false;
|
||||
}
|
||||
log('isNewVersion(): ${response.first['display']}');
|
||||
return response.first['display'] == 'true';
|
||||
}
|
||||
|
||||
|
@ -58,7 +56,6 @@ class LicenseLocalDataSourceImpl implements LicenseLocalDataSource {
|
|||
}
|
||||
|
||||
Future<void> s<T>(String key, T value) async {
|
||||
log('setLicense($key, $value)');
|
||||
value as Map<String, dynamic>;
|
||||
|
||||
await DatabaseStorage.database.insert(
|
||||
|
|
|
@ -118,7 +118,6 @@ class LicenseRemoteDataSourceImpl implements LicenseRemoteDataSource {
|
|||
|
||||
static Future<void> _saveModule(final dynamic body) async {
|
||||
if (body is! Map<String, dynamic>) return;
|
||||
log('Salvando módulo: ${body.toString()}');
|
||||
await LicenseLocalDataSourceImpl().s(body['key'], body);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -23,7 +23,6 @@ class KeychainHelper implements BaseStorage {
|
|||
|
||||
@override
|
||||
Future<String?> get(String key) async {
|
||||
log('KeychainHelper.get: $key');
|
||||
var response = await DatabaseStorage.database.query(tableKeychain, where: 'key = ?', whereArgs: [key]);
|
||||
if (response.isEmpty) {
|
||||
return null;
|
||||
|
|
|
@ -49,7 +49,6 @@ class DeepLinkService {
|
|||
}
|
||||
} catch (e, s) {
|
||||
print('Error handling deep link: $e, $s');
|
||||
log('Error handling', error: e, stackTrace: s);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -74,7 +73,6 @@ class DeepLinkService {
|
|||
});
|
||||
} catch (e, s) {
|
||||
print('Error showing forgot password screen: $e, $s');
|
||||
log('Error handling', error: e, stackTrace: s);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
180
pubspec.lock
180
pubspec.lock
|
@ -230,46 +230,6 @@ packages:
|
|||
url: "https://pub.dev"
|
||||
source: hosted
|
||||
version: "1.3.0"
|
||||
camera:
|
||||
dependency: "direct main"
|
||||
description:
|
||||
name: camera
|
||||
sha256: "26ff41045772153f222ffffecba711a206f670f5834d40ebf5eed3811692f167"
|
||||
url: "https://pub.dev"
|
||||
source: hosted
|
||||
version: "0.11.0+2"
|
||||
camera_android_camerax:
|
||||
dependency: transitive
|
||||
description:
|
||||
name: camera_android_camerax
|
||||
sha256: e3627fdc2132d89212b8a8676679f5b07008c7e3d8ae00cea775c3397f9e742b
|
||||
url: "https://pub.dev"
|
||||
source: hosted
|
||||
version: "0.6.10"
|
||||
camera_avfoundation:
|
||||
dependency: transitive
|
||||
description:
|
||||
name: camera_avfoundation
|
||||
sha256: "2e4c568f70e406ccb87376bc06b53d2f5bebaab71e2fbcc1a950e31449381bcf"
|
||||
url: "https://pub.dev"
|
||||
source: hosted
|
||||
version: "0.9.17+5"
|
||||
camera_platform_interface:
|
||||
dependency: transitive
|
||||
description:
|
||||
name: camera_platform_interface
|
||||
sha256: b3ede1f171532e0d83111fe0980b46d17f1aa9788a07a2fbed07366bbdbb9061
|
||||
url: "https://pub.dev"
|
||||
source: hosted
|
||||
version: "2.8.0"
|
||||
camera_web:
|
||||
dependency: transitive
|
||||
description:
|
||||
name: camera_web
|
||||
sha256: "595f28c89d1fb62d77c73c633193755b781c6d2e0ebcd8dc25b763b514e6ba8f"
|
||||
url: "https://pub.dev"
|
||||
source: hosted
|
||||
version: "0.3.5"
|
||||
characters:
|
||||
dependency: transitive
|
||||
description:
|
||||
|
@ -318,22 +278,6 @@ packages:
|
|||
url: "https://pub.dev"
|
||||
source: hosted
|
||||
version: "1.18.0"
|
||||
connectivity_plus:
|
||||
dependency: "direct main"
|
||||
description:
|
||||
name: connectivity_plus
|
||||
sha256: "876849631b0c7dc20f8b471a2a03142841b482438e3b707955464f5ffca3e4c3"
|
||||
url: "https://pub.dev"
|
||||
source: hosted
|
||||
version: "6.1.0"
|
||||
connectivity_plus_platform_interface:
|
||||
dependency: transitive
|
||||
description:
|
||||
name: connectivity_plus_platform_interface
|
||||
sha256: "42657c1715d48b167930d5f34d00222ac100475f73d10162ddf43e714932f204"
|
||||
url: "https://pub.dev"
|
||||
source: hosted
|
||||
version: "2.0.1"
|
||||
convert:
|
||||
dependency: transitive
|
||||
description:
|
||||
|
@ -342,14 +286,6 @@ packages:
|
|||
url: "https://pub.dev"
|
||||
source: hosted
|
||||
version: "3.1.2"
|
||||
crop_your_image:
|
||||
dependency: "direct main"
|
||||
description:
|
||||
name: crop_your_image
|
||||
sha256: "9ae3b33042de5bda5321fc48aad41054c196bf2cc28350cd30cb8a85c1a7b1bd"
|
||||
url: "https://pub.dev"
|
||||
source: hosted
|
||||
version: "1.1.0"
|
||||
cross_file:
|
||||
dependency: transitive
|
||||
description:
|
||||
|
@ -359,7 +295,7 @@ packages:
|
|||
source: hosted
|
||||
version: "0.3.4+2"
|
||||
crypto:
|
||||
dependency: "direct main"
|
||||
dependency: transitive
|
||||
description:
|
||||
name: crypto
|
||||
sha256: "1e445881f28f22d6140f181e07737b22f1e099a5e1ff94b0af2f9e4a463f4855"
|
||||
|
@ -390,14 +326,6 @@ packages:
|
|||
url: "https://pub.dev"
|
||||
source: hosted
|
||||
version: "2.3.7"
|
||||
dbus:
|
||||
dependency: transitive
|
||||
description:
|
||||
name: dbus
|
||||
sha256: "365c771ac3b0e58845f39ec6deebc76e3276aa9922b0cc60840712094d9047ac"
|
||||
url: "https://pub.dev"
|
||||
source: hosted
|
||||
version: "0.7.10"
|
||||
device_info_plus:
|
||||
dependency: "direct main"
|
||||
description:
|
||||
|
@ -414,22 +342,6 @@ packages:
|
|||
url: "https://pub.dev"
|
||||
source: hosted
|
||||
version: "7.0.1"
|
||||
dio:
|
||||
dependency: "direct main"
|
||||
description:
|
||||
name: dio
|
||||
sha256: "5598aa796bbf4699afd5c67c0f5f6e2ed542afc956884b9cd58c306966efc260"
|
||||
url: "https://pub.dev"
|
||||
source: hosted
|
||||
version: "5.7.0"
|
||||
dio_web_adapter:
|
||||
dependency: transitive
|
||||
description:
|
||||
name: dio_web_adapter
|
||||
sha256: "33259a9276d6cea88774a0000cfae0d861003497755969c92faa223108620dc8"
|
||||
url: "https://pub.dev"
|
||||
source: hosted
|
||||
version: "2.0.0"
|
||||
dropdown_button2:
|
||||
dependency: "direct main"
|
||||
description:
|
||||
|
@ -450,10 +362,10 @@ packages:
|
|||
dependency: "direct main"
|
||||
description:
|
||||
name: equatable
|
||||
sha256: b35578f687b79243d39008c44d638474d93e9091e578c970efef41ce0c3fa000
|
||||
sha256: "567c64b3cb4cf82397aac55f4f0cbd3ca20d77c6c03bedbc4ceaddc08904aef7"
|
||||
url: "https://pub.dev"
|
||||
source: hosted
|
||||
version: "2.0.6"
|
||||
version: "2.0.7"
|
||||
fake_async:
|
||||
dependency: transitive
|
||||
description:
|
||||
|
@ -490,10 +402,10 @@ packages:
|
|||
dependency: transitive
|
||||
description:
|
||||
name: file_selector_linux
|
||||
sha256: b2b91daf8a68ecfa4a01b778a6f52edef9b14ecd506e771488ea0f2e0784198b
|
||||
sha256: "54cbbd957e1156d29548c7d9b9ec0c0ebb6de0a90452198683a7d23aed617a33"
|
||||
url: "https://pub.dev"
|
||||
source: hosted
|
||||
version: "0.9.3+1"
|
||||
version: "0.9.3+2"
|
||||
file_selector_macos:
|
||||
dependency: transitive
|
||||
description:
|
||||
|
@ -636,21 +548,13 @@ packages:
|
|||
source: hosted
|
||||
version: "8.1.6"
|
||||
flutter_cache_manager:
|
||||
dependency: "direct main"
|
||||
dependency: transitive
|
||||
description:
|
||||
name: flutter_cache_manager
|
||||
sha256: "400b6592f16a4409a7f2bb929a9a7e38c72cceb8ffb99ee57bbf2cb2cecf8386"
|
||||
url: "https://pub.dev"
|
||||
source: hosted
|
||||
version: "3.4.1"
|
||||
flutter_expandable_fab:
|
||||
dependency: "direct main"
|
||||
description:
|
||||
name: flutter_expandable_fab
|
||||
sha256: "85275279d19faf4fbe5639dc1f139b4555b150e079d056f085601a45688af12c"
|
||||
url: "https://pub.dev"
|
||||
source: hosted
|
||||
version: "2.3.0"
|
||||
flutter_inappwebview:
|
||||
dependency: "direct main"
|
||||
description:
|
||||
|
@ -671,10 +575,10 @@ packages:
|
|||
dependency: transitive
|
||||
description:
|
||||
name: flutter_inappwebview_internal_annotations
|
||||
sha256: "5f80fd30e208ddded7dbbcd0d569e7995f9f63d45ea3f548d8dd4c0b473fb4c8"
|
||||
sha256: "787171d43f8af67864740b6f04166c13190aa74a1468a1f1f1e9ee5b90c359cd"
|
||||
url: "https://pub.dev"
|
||||
source: hosted
|
||||
version: "1.1.1"
|
||||
version: "1.2.0"
|
||||
flutter_inappwebview_ios:
|
||||
dependency: transitive
|
||||
description:
|
||||
|
@ -729,21 +633,13 @@ packages:
|
|||
source: sdk
|
||||
version: "0.0.0"
|
||||
flutter_plugin_android_lifecycle:
|
||||
dependency: "direct main"
|
||||
dependency: transitive
|
||||
description:
|
||||
name: flutter_plugin_android_lifecycle
|
||||
sha256: "9b78450b89f059e96c9ebb355fa6b3df1d6b330436e0b885fb49594c41721398"
|
||||
url: "https://pub.dev"
|
||||
source: hosted
|
||||
version: "2.0.23"
|
||||
flutter_riverpod:
|
||||
dependency: "direct main"
|
||||
description:
|
||||
name: flutter_riverpod
|
||||
sha256: "9532ee6db4a943a1ed8383072a2e3eeda041db5657cdf6d2acecf3c21ecbe7e1"
|
||||
url: "https://pub.dev"
|
||||
source: hosted
|
||||
version: "2.6.1"
|
||||
flutter_secure_storage:
|
||||
dependency: "direct main"
|
||||
description:
|
||||
|
@ -820,10 +716,10 @@ packages:
|
|||
dependency: "direct main"
|
||||
description:
|
||||
name: flutter_svg
|
||||
sha256: "936d9c1c010d3e234d1672574636f3352b4941ca3decaddd3cafaeb9ad49c471"
|
||||
sha256: "54900a1a1243f3c4a5506d853a2b5c2dbc38d5f27e52a52618a8054401431123"
|
||||
url: "https://pub.dev"
|
||||
source: hosted
|
||||
version: "2.0.15"
|
||||
version: "2.0.16"
|
||||
flutter_test:
|
||||
dependency: "direct dev"
|
||||
description: flutter
|
||||
|
@ -894,10 +790,10 @@ packages:
|
|||
dependency: "direct main"
|
||||
description:
|
||||
name: go_router
|
||||
sha256: "8ae664a70174163b9f65ea68dd8673e29db8f9095de7b5cd00e167c621f4fef5"
|
||||
sha256: "8660b74171fafae4aa8202100fa2e55349e078281dadc73a241eb8e758534d9d"
|
||||
url: "https://pub.dev"
|
||||
source: hosted
|
||||
version: "14.6.0"
|
||||
version: "14.6.1"
|
||||
google_fonts:
|
||||
dependency: "direct main"
|
||||
description:
|
||||
|
@ -982,10 +878,10 @@ packages:
|
|||
dependency: "direct main"
|
||||
description:
|
||||
name: image_picker_android
|
||||
sha256: "8faba09ba361d4b246dc0a17cb4289b3324c2b9f6db7b3d457ee69106a86bd32"
|
||||
sha256: fa8141602fde3f7e2f81dbf043613eb44dfa325fa0bcf93c0f142c9f7a2c193e
|
||||
url: "https://pub.dev"
|
||||
source: hosted
|
||||
version: "0.8.12+17"
|
||||
version: "0.8.12+18"
|
||||
image_picker_for_web:
|
||||
dependency: "direct main"
|
||||
description:
|
||||
|
@ -1067,7 +963,7 @@ packages:
|
|||
source: hosted
|
||||
version: "0.6.7"
|
||||
json_annotation:
|
||||
dependency: "direct main"
|
||||
dependency: transitive
|
||||
description:
|
||||
name: json_annotation
|
||||
sha256: "1ce844379ca14835a50d2f019a3099f419082cfdd231cd86a142af94dd5c6bb1"
|
||||
|
@ -1198,10 +1094,10 @@ packages:
|
|||
dependency: "direct main"
|
||||
description:
|
||||
name: material_symbols_icons
|
||||
sha256: "1dea2aef1c83434f832f14341a5ffa1254e76b68e4d90333f95f8a2643bf1024"
|
||||
sha256: a783133f87c58e10b1cc19797f7c3192ff9c2bab301c4ade90312d8f2aed01b2
|
||||
url: "https://pub.dev"
|
||||
source: hosted
|
||||
version: "4.2799.0"
|
||||
version: "4.2800.2"
|
||||
maybe_just_nothing:
|
||||
dependency: transitive
|
||||
description:
|
||||
|
@ -1242,14 +1138,6 @@ packages:
|
|||
url: "https://pub.dev"
|
||||
source: hosted
|
||||
version: "1.0.0"
|
||||
nm:
|
||||
dependency: transitive
|
||||
description:
|
||||
name: nm
|
||||
sha256: "2c9aae4127bdc8993206464fcc063611e0e36e72018696cd9631023a31b24254"
|
||||
url: "https://pub.dev"
|
||||
source: hosted
|
||||
version: "0.5.0"
|
||||
octo_image:
|
||||
dependency: transitive
|
||||
description:
|
||||
|
@ -1302,10 +1190,10 @@ packages:
|
|||
dependency: "direct main"
|
||||
description:
|
||||
name: path_provider_android
|
||||
sha256: c464428172cb986b758c6d1724c603097febb8fb855aa265aeecc9280c294d4a
|
||||
sha256: "8c4967f8b7cb46dc914e178daa29813d83ae502e0529d7b0478330616a691ef7"
|
||||
url: "https://pub.dev"
|
||||
source: hosted
|
||||
version: "2.2.12"
|
||||
version: "2.2.14"
|
||||
path_provider_foundation:
|
||||
dependency: "direct main"
|
||||
description:
|
||||
|
@ -1342,10 +1230,10 @@ packages:
|
|||
dependency: "direct main"
|
||||
description:
|
||||
name: percent_indicator
|
||||
sha256: c37099ad833a883c9d71782321cb65c3a848c21b6939b6185f0ff6640d05814c
|
||||
sha256: "0d77d5c6fa9b7f60202cedf748b568ba9ba38d3f30405d6ceae4da76f5185462"
|
||||
url: "https://pub.dev"
|
||||
source: hosted
|
||||
version: "4.2.3"
|
||||
version: "4.2.4"
|
||||
permission_handler:
|
||||
dependency: "direct main"
|
||||
description:
|
||||
|
@ -1490,14 +1378,6 @@ packages:
|
|||
url: "https://pub.dev"
|
||||
source: hosted
|
||||
version: "0.2.0"
|
||||
riverpod:
|
||||
dependency: transitive
|
||||
description:
|
||||
name: riverpod
|
||||
sha256: "59062512288d3056b2321804332a13ffdd1bf16df70dcc8e506e411280a72959"
|
||||
url: "https://pub.dev"
|
||||
source: hosted
|
||||
version: "2.6.1"
|
||||
rxdart:
|
||||
dependency: "direct main"
|
||||
description:
|
||||
|
@ -1679,14 +1559,6 @@ packages:
|
|||
url: "https://pub.dev"
|
||||
source: hosted
|
||||
version: "1.11.1"
|
||||
state_notifier:
|
||||
dependency: transitive
|
||||
description:
|
||||
name: state_notifier
|
||||
sha256: b8677376aa54f2d7c58280d5a007f9e8774f1968d1fb1c096adcb4792fba29bb
|
||||
url: "https://pub.dev"
|
||||
source: hosted
|
||||
version: "1.0.0"
|
||||
stream_channel:
|
||||
dependency: transitive
|
||||
description:
|
||||
|
@ -1851,10 +1723,10 @@ packages:
|
|||
dependency: transitive
|
||||
description:
|
||||
name: vector_graphics_compiler
|
||||
sha256: ab9ff38fc771e9ee1139320adbe3d18a60327370c218c60752068ebee4b49ab1
|
||||
sha256: "1b4b9e706a10294258727674a340ae0d6e64a7231980f9f9a3d12e4b42407aad"
|
||||
url: "https://pub.dev"
|
||||
source: hosted
|
||||
version: "1.1.15"
|
||||
version: "1.1.16"
|
||||
vector_math:
|
||||
dependency: transitive
|
||||
description:
|
||||
|
@ -1931,10 +1803,10 @@ packages:
|
|||
dependency: transitive
|
||||
description:
|
||||
name: webview_flutter_wkwebview
|
||||
sha256: "3be297aa4ca78205abdd284cf55f168c35246c75b3079990ad8ba9d257681a30"
|
||||
sha256: b7e92f129482460951d96ef9a46b49db34bd2e1621685de26e9eaafd9674e7eb
|
||||
url: "https://pub.dev"
|
||||
source: hosted
|
||||
version: "3.16.2"
|
||||
version: "3.16.3"
|
||||
win32:
|
||||
dependency: "direct overridden"
|
||||
description:
|
||||
|
|
20
pubspec.yaml
20
pubspec.yaml
|
@ -22,7 +22,7 @@ dependencies:
|
|||
rxdart: ^0.28.0
|
||||
collection: 1.18.0
|
||||
app_links: ^6.3.2
|
||||
crop_your_image: 1.1.0
|
||||
# crop_your_image: 1.1.0
|
||||
csv: 6.0.0
|
||||
device_info_plus: ^10.1.2
|
||||
firebase_messaging: ^15.1.0
|
||||
|
@ -30,13 +30,13 @@ dependencies:
|
|||
easy_debounce: 2.0.3
|
||||
equatable: ^2.0.6
|
||||
file_picker: ^8.0.7
|
||||
flutter_expandable_fab: ^2.1.0
|
||||
# flutter_expandable_fab: ^2.1.0
|
||||
firebase_analytics: ^11.3.0
|
||||
flutter_animate: 4.5.0
|
||||
flutter_cache_manager: ^3.4.1
|
||||
flutter_plugin_android_lifecycle: ^2.0.23
|
||||
# flutter_cache_manager: ^3.4.1
|
||||
# flutter_plugin_android_lifecycle: ^2.0.23
|
||||
share_plus: ^10.0.0
|
||||
connectivity_plus: ^6.0.5
|
||||
# connectivity_plus: ^6.0.5
|
||||
flutter_secure_storage: 9.2.2
|
||||
flutter_secure_storage_linux: 1.2.1
|
||||
flutter_secure_storage_macos: 3.1.2
|
||||
|
@ -59,7 +59,7 @@ dependencies:
|
|||
image_picker_platform_interface: 2.10.0
|
||||
local_auth: ^2.2.0
|
||||
intl: ^0.19.0
|
||||
camera: ^0.11.0+2
|
||||
# camera: ^0.11.0+2
|
||||
json_path: ^0.7.4
|
||||
mime_type: ^1.0.1
|
||||
page_transition: 2.1.0
|
||||
|
@ -93,16 +93,16 @@ dependencies:
|
|||
fluttertoast: ^8.2.8
|
||||
cupertino_icons: ^1.0.0
|
||||
flutter_bloc: ^8.1.6
|
||||
flutter_riverpod: ^2.5.1
|
||||
# flutter_riverpod: ^2.5.1
|
||||
qr_flutter: ^4.1.0
|
||||
permission_handler: ^11.3.1
|
||||
firebase_crashlytics: ^4.0.1
|
||||
awesome_notifications: ^0.10.0
|
||||
app_tracking_transparency: ^2.0.6
|
||||
dio: ^5.7.0
|
||||
crypto: ^3.0.5
|
||||
# dio: ^5.7.0
|
||||
# crypto: ^3.0.5
|
||||
freezed_annotation: ^2.4.4
|
||||
json_annotation: ^4.9.0
|
||||
# json_annotation: ^4.9.0
|
||||
|
||||
dependency_overrides:
|
||||
http: 1.2.1
|
||||
|
|
Loading…
Reference in New Issue