wt1.1.2b exercise_log with the new tree_view
This commit is contained in:
parent
89c06123d2
commit
7da1ef534c
@ -169,5 +169,6 @@
|
|||||||
"Select the muscle type and tap on the exercise. One the next page enter the weight and repeat.": "Select the muscle type and tap on the exercise. One the next page enter the weight and repeat.",
|
"Select the muscle type and tap on the exercise. One the next page enter the weight and repeat.": "Select the muscle type and tap on the exercise. One the next page enter the weight and repeat.",
|
||||||
|
|
||||||
"Custom Exercise Plan": "Custom Exercise Plan",
|
"Custom Exercise Plan": "Custom Exercise Plan",
|
||||||
"Select manually the exercises what you would like to have in your plan. At the end don't forget to save.": "Select manually the exercises what you would like to have in your plan. At the end don't forget to save."
|
"Select manually the exercises what you would like to have in your plan. At the end don't forget to save.": "Select manually the exercises what you would like to have in your plan. At the end don't forget to save.",
|
||||||
|
"In this list you will find all your executed exercises grouped by the date.": "In this list you will find all your executed exercises grouped by the date."
|
||||||
}
|
}
|
@ -168,6 +168,6 @@
|
|||||||
"Execute your active Exercise Plan!": "Hajtsd végre az aktív edzéstervedet",
|
"Execute your active Exercise Plan!": "Hajtsd végre az aktív edzéstervedet",
|
||||||
"Select the muscle type and tap on the exercise. One the next page enter the weight and repeat.": "Válaszd ki az izomcsoporton belül a gyakorlatot, és a következő oldalon add meg a súlyt és az ismétlés számot.",
|
"Select the muscle type and tap on the exercise. One the next page enter the weight and repeat.": "Válaszd ki az izomcsoporton belül a gyakorlatot, és a következő oldalon add meg a súlyt és az ismétlés számot.",
|
||||||
"Custom Exercise Plan": "Egyedi edzésterv",
|
"Custom Exercise Plan": "Egyedi edzésterv",
|
||||||
"Select manually the exercises what you would like to have in your plan. At the end don't forget to save.": "Válaszd ki a gyakorlatokat, amelyeket szeretnél végrehajtani a tervedben. Utána ne felejtsd el elmenteni."
|
"Select manually the exercises what you would like to have in your plan. At the end don't forget to save.": "Válaszd ki a gyakorlatokat, amelyeket szeretnél végrehajtani a tervedben. Utána ne felejtsd el elmenteni.",
|
||||||
|
"In this list you will find all your executed exercises grouped by the date.": "Ebben a listában találod az eddig végrehajtott gyakorlataid dátum szerint csoportosítva."
|
||||||
}
|
}
|
@ -1,6 +1,5 @@
|
|||||||
import 'dart:async';
|
import 'dart:async';
|
||||||
import 'package:aitrainer_app/repository/customer_repository.dart';
|
import 'package:aitrainer_app/repository/customer_repository.dart';
|
||||||
import 'package:aitrainer_app/repository/exercise_repository.dart';
|
|
||||||
import 'package:aitrainer_app/repository/workout_tree_repository.dart';
|
import 'package:aitrainer_app/repository/workout_tree_repository.dart';
|
||||||
import 'package:aitrainer_app/util/session.dart';
|
import 'package:aitrainer_app/util/session.dart';
|
||||||
import 'package:aitrainer_app/view/account.dart';
|
import 'package:aitrainer_app/view/account.dart';
|
||||||
|
@ -197,4 +197,8 @@ class ExerciseRepository {
|
|||||||
return actualExerciseType;
|
return actualExerciseType;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void sortByDate() {
|
||||||
|
exerciseList.sort( (b, a) => a.dateAdd.compareTo(b.dateAdd) );
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
@ -104,7 +104,7 @@ class Session {
|
|||||||
await ExerciseTreeApi().getExerciseTree();
|
await ExerciseTreeApi().getExerciseTree();
|
||||||
if ( customerId > 0) {
|
if ( customerId > 0) {
|
||||||
ExerciseRepository exerciseRepository = ExerciseRepository();
|
ExerciseRepository exerciseRepository = ExerciseRepository();
|
||||||
exerciseRepository.getExercisesByCustomer(customerId);
|
await exerciseRepository.getExercisesByCustomer(customerId);
|
||||||
}
|
}
|
||||||
print("--- Session finished");
|
print("--- Session finished");
|
||||||
|
|
||||||
|
@ -1,21 +1,23 @@
|
|||||||
import 'dart:collection';
|
import 'dart:collection';
|
||||||
|
import 'package:intl/intl.dart';
|
||||||
import 'package:aitrainer_app/localization/app_language.dart';
|
import 'package:aitrainer_app/localization/app_language.dart';
|
||||||
import 'package:aitrainer_app/model/cache.dart';
|
import 'package:aitrainer_app/model/cache.dart';
|
||||||
import 'package:aitrainer_app/model/exercise.dart';
|
import 'package:aitrainer_app/model/exercise.dart';
|
||||||
import 'package:aitrainer_app/model/exercise_type.dart';
|
import 'package:aitrainer_app/model/exercise_type.dart';
|
||||||
import 'package:aitrainer_app/repository/exercise_repository.dart';
|
import 'package:aitrainer_app/repository/exercise_repository.dart';
|
||||||
|
import 'package:aitrainer_app/treeview/tree_view.dart';
|
||||||
|
import 'package:aitrainer_app/util/common.dart';
|
||||||
import 'package:aitrainer_app/util/trans.dart';
|
import 'package:aitrainer_app/util/trans.dart';
|
||||||
import 'package:aitrainer_app/widgets/app_bar_common.dart';
|
import 'package:aitrainer_app/widgets/app_bar_common.dart';
|
||||||
import 'package:flutter/material.dart';
|
import 'package:flutter/material.dart';
|
||||||
import 'package:flutter_treeview/tree_view.dart';
|
import 'package:aitrainer_app/widgets/exercise_type_widget.dart';
|
||||||
|
|
||||||
class ExerciseLogPage extends StatefulWidget {
|
class ExerciseLogPage extends StatefulWidget {
|
||||||
@override
|
@override
|
||||||
_ExerciseLogPage createState() => _ExerciseLogPage();
|
_ExerciseLogPage createState() => _ExerciseLogPage();
|
||||||
}
|
}
|
||||||
|
|
||||||
class _ExerciseLogPage extends State<ExerciseLogPage> with Trans {
|
class _ExerciseLogPage extends State<ExerciseLogPage> with Trans, Common {
|
||||||
@override
|
@override
|
||||||
Widget build(BuildContext context) {
|
Widget build(BuildContext context) {
|
||||||
LinkedHashMap arguments = ModalRoute.of(context).settings.arguments;
|
LinkedHashMap arguments = ModalRoute.of(context).settings.arguments;
|
||||||
@ -41,87 +43,96 @@ class _ExerciseLogPage extends State<ExerciseLogPage> with Trans {
|
|||||||
}
|
}
|
||||||
|
|
||||||
Widget exerciseWidget(ExerciseRepository exerciseRepository, int customerId) {
|
Widget exerciseWidget(ExerciseRepository exerciseRepository, int customerId) {
|
||||||
TreeViewController _treeViewController =
|
|
||||||
TreeViewController(children: nodeExercises(exerciseRepository, customerId));
|
|
||||||
|
|
||||||
TreeViewTheme _treeViewTheme = TreeViewTheme(
|
|
||||||
expanderTheme: ExpanderThemeData(
|
|
||||||
type: ExpanderType.caret,
|
|
||||||
modifier: ExpanderModifier.none,
|
|
||||||
position: ExpanderPosition.start,
|
|
||||||
color: Colors.red.shade800,
|
|
||||||
size: 20,
|
|
||||||
),
|
|
||||||
labelStyle: TextStyle(
|
|
||||||
fontSize: 12,
|
|
||||||
letterSpacing: 0.1,
|
|
||||||
),
|
|
||||||
parentLabelStyle: TextStyle(
|
|
||||||
fontSize: 16,
|
|
||||||
letterSpacing: 0.1,
|
|
||||||
fontWeight: FontWeight.w800,
|
|
||||||
color: Colors.orange.shade600,
|
|
||||||
),
|
|
||||||
iconTheme: IconThemeData(
|
|
||||||
size: 18,
|
|
||||||
color: Colors.grey.shade800,
|
|
||||||
),
|
|
||||||
colorScheme: ColorScheme.light(background: Colors.transparent),
|
|
||||||
);
|
|
||||||
|
|
||||||
return TreeView(
|
return TreeView(
|
||||||
controller: _treeViewController,
|
startExpanded: false,
|
||||||
allowParentSelect: false,
|
children: _getTreeChildren(exerciseRepository, customerId),
|
||||||
supportParentDoubleTap: false,
|
|
||||||
//onExpansionChanged: _expandNodeHandler,
|
|
||||||
onNodeTap: (key) {
|
|
||||||
setState(() {
|
|
||||||
_treeViewController = _treeViewController.copyWith(selectedKey: key);
|
|
||||||
});
|
|
||||||
},
|
|
||||||
theme: _treeViewTheme,
|
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
List<Node> nodeExercises(ExerciseRepository exerciseRepository, int customerId) {
|
List<Widget> _getTreeChildren(ExerciseRepository exerciseRepository, int customerId) {
|
||||||
List<Node> nodes = List<Node>();
|
|
||||||
List<Exercise> exercises;
|
|
||||||
if ( customerId == Cache().userLoggedIn.customerId ) {
|
if ( customerId == Cache().userLoggedIn.customerId ) {
|
||||||
exercises = exerciseRepository.getExerciseList();
|
exerciseRepository.exerciseList = exerciseRepository.getExerciseList();
|
||||||
} else if ( Cache().getTrainee() != null && customerId == Cache().getTrainee().customerId ) {
|
} else if ( Cache().getTrainee() != null && customerId == Cache().getTrainee().customerId ) {
|
||||||
exercises = exerciseRepository.getExerciseListTrainee();
|
exerciseRepository.exerciseList = exerciseRepository.getExerciseListTrainee();
|
||||||
|
}
|
||||||
|
exerciseRepository.sortByDate();
|
||||||
|
|
||||||
|
List<Widget> listWidget = List();
|
||||||
|
|
||||||
|
Card explanation = Card(
|
||||||
|
color: Colors.white60,
|
||||||
|
child: Container(
|
||||||
|
padding: EdgeInsets.only(left: 10, right: 5, top: 12, bottom: 8),
|
||||||
|
child: Column(
|
||||||
|
mainAxisAlignment: MainAxisAlignment.spaceAround,
|
||||||
|
children: [
|
||||||
|
Row(
|
||||||
|
children: [
|
||||||
|
Icon(
|
||||||
|
Icons.info,
|
||||||
|
color: Colors.orangeAccent,
|
||||||
|
),
|
||||||
|
Text(" "),
|
||||||
|
Text(
|
||||||
|
t("My Exercise Logs"),
|
||||||
|
style: TextStyle(fontSize: 20, fontWeight: FontWeight.bold),
|
||||||
|
),
|
||||||
|
],
|
||||||
|
),
|
||||||
|
Divider(
|
||||||
|
color: Colors.transparent,
|
||||||
|
),
|
||||||
|
Text(
|
||||||
|
t("In this list you will find all your executed exercises grouped by the date."),
|
||||||
|
style: TextStyle(fontSize: 12, fontWeight: FontWeight.normal),
|
||||||
|
),
|
||||||
|
|
||||||
|
],
|
||||||
|
)
|
||||||
|
)
|
||||||
|
);
|
||||||
|
listWidget.add(explanation);
|
||||||
|
|
||||||
|
List<Exercise> listExercises = List();
|
||||||
|
String origDate = "";
|
||||||
|
print("start exercises");
|
||||||
|
exerciseRepository.exerciseList.forEach((exercise) {
|
||||||
|
String exerciseDate = DateFormat("yyyy-MM-dd", AppLanguage().appLocal.toString()).format(exercise.dateAdd);
|
||||||
|
|
||||||
|
if ( origDate != exerciseDate) {
|
||||||
|
if ( origDate.length == 0) {
|
||||||
|
listExercises.add(exercise);
|
||||||
|
origDate = exerciseDate;
|
||||||
|
} else {
|
||||||
|
listWidget.add(
|
||||||
|
Container(
|
||||||
|
margin: const EdgeInsets.only(left: 4.0),
|
||||||
|
child: TreeViewChild(
|
||||||
|
startExpanded: true,
|
||||||
|
parent: ExerciseTypeWidget(exerciseTypeName: exerciseDate),
|
||||||
|
children: _getChildList(listExercises, exerciseRepository),
|
||||||
|
)
|
||||||
|
)
|
||||||
|
);
|
||||||
|
listExercises = List();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
origDate = exerciseDate;
|
||||||
|
listExercises.add(exercise);
|
||||||
|
|
||||||
|
});
|
||||||
|
|
||||||
|
return listWidget;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
List<Widget> _getChildList(List<Exercise> listExercises, ExerciseRepository exerciseRepository) {
|
||||||
|
List<Widget> list = List();
|
||||||
|
bool isEnglish = AppLanguage().appLocal == Locale('en');
|
||||||
|
|
||||||
String prevDay = "";
|
listExercises.forEach((exercise) {
|
||||||
Node actualNode;
|
ExerciseType exerciseType = exerciseRepository.getExerciseTypeById(exercise.exerciseTypeId);
|
||||||
List<Node> listExercisesPerDay;
|
String exerciseName = isEnglish ? exerciseType.name : exerciseType.nameTranslation;
|
||||||
exercises.forEach((element) {
|
|
||||||
Exercise exercise = element;
|
|
||||||
ExerciseType exerciseType =
|
|
||||||
exerciseRepository.getExerciseTypeById(exercise.exerciseTypeId);
|
|
||||||
String actualDay = exercise.dateAdd.year.toString() +
|
|
||||||
"-" +
|
|
||||||
exercise.dateAdd.month.toString() +
|
|
||||||
"-" +
|
|
||||||
exercise.dateAdd.day.toString();
|
|
||||||
|
|
||||||
if (prevDay.compareTo(actualDay) != 0) {
|
|
||||||
listExercisesPerDay = List<Node>();
|
|
||||||
actualNode = Node(
|
|
||||||
label: actualDay,
|
|
||||||
key: exercise.dateAdd.toString(),
|
|
||||||
expanded: true,
|
|
||||||
children: listExercisesPerDay,
|
|
||||||
icon:
|
|
||||||
NodeIcon(codePoint: Icons.date_range.codePoint, color: "blue"));
|
|
||||||
nodes.add(actualNode);
|
|
||||||
prevDay = actualDay;
|
|
||||||
}
|
|
||||||
|
|
||||||
String exerciseName = AppLanguage().appLocal == Locale("en")
|
|
||||||
? exerciseType.name
|
|
||||||
: exerciseType.nameTranslation;
|
|
||||||
String unitQuantity = exerciseType.unitQuantity == "1"
|
String unitQuantity = exerciseType.unitQuantity == "1"
|
||||||
? exercise.unitQuantity.toStringAsFixed(0) +
|
? exercise.unitQuantity.toStringAsFixed(0) +
|
||||||
" " +
|
" " +
|
||||||
@ -129,18 +140,41 @@ class _ExerciseLogPage extends State<ExerciseLogPage> with Trans {
|
|||||||
" "
|
" "
|
||||||
: "";
|
: "";
|
||||||
|
|
||||||
String labelExercise = exerciseName +
|
String labelExercise =
|
||||||
" " +
|
|
||||||
unitQuantity +
|
unitQuantity +
|
||||||
exercise.quantity.toStringAsFixed(0) +
|
exercise.quantity.toStringAsFixed(0) +
|
||||||
" " +
|
" " +
|
||||||
t(exercise.unit);
|
t(exercise.unit);
|
||||||
listExercisesPerDay.add(Node(
|
|
||||||
label: labelExercise,
|
list.add(
|
||||||
key: exercise.exerciseId.toString(),
|
Card(
|
||||||
expanded: false,
|
margin: EdgeInsets.only(left: 10, top: 5),
|
||||||
icon: NodeIcon(codePoint: Icons.repeat.codePoint, color: "blue")));
|
color: Colors.white54,
|
||||||
|
child: Container(
|
||||||
|
padding: const EdgeInsets.only(left: 5, top: 0, right: 5, bottom: 0),
|
||||||
|
child: Row(
|
||||||
|
mainAxisAlignment: MainAxisAlignment.start,
|
||||||
|
children: [
|
||||||
|
Icon(Icons.accessibility, color: Colors.black12),
|
||||||
|
SizedBox(width: 20),
|
||||||
|
Flexible(
|
||||||
|
child:
|
||||||
|
Text(
|
||||||
|
exerciseName,
|
||||||
|
textAlign: TextAlign.start,
|
||||||
|
style: TextStyle(fontSize: 12, color: Colors.black),
|
||||||
|
),
|
||||||
|
),
|
||||||
|
SizedBox(width: 20),
|
||||||
|
Text(labelExercise , style: TextStyle(fontSize: 9, color: Colors.blueAccent.shade700),) ,
|
||||||
|
]),
|
||||||
|
)
|
||||||
|
),
|
||||||
|
);
|
||||||
|
|
||||||
});
|
});
|
||||||
return nodes;
|
|
||||||
|
return list;
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
91
pubspec.lock
91
pubspec.lock
@ -35,7 +35,7 @@ packages:
|
|||||||
name: async
|
name: async
|
||||||
url: "https://pub.dartlang.org"
|
url: "https://pub.dartlang.org"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "2.4.2"
|
version: "2.5.0-nullsafety"
|
||||||
bloc:
|
bloc:
|
||||||
dependency: transitive
|
dependency: transitive
|
||||||
description:
|
description:
|
||||||
@ -56,7 +56,7 @@ packages:
|
|||||||
name: boolean_selector
|
name: boolean_selector
|
||||||
url: "https://pub.dartlang.org"
|
url: "https://pub.dartlang.org"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "2.0.0"
|
version: "2.1.0-nullsafety"
|
||||||
build:
|
build:
|
||||||
dependency: transitive
|
dependency: transitive
|
||||||
description:
|
description:
|
||||||
@ -91,14 +91,14 @@ packages:
|
|||||||
name: build_runner
|
name: build_runner
|
||||||
url: "https://pub.dartlang.org"
|
url: "https://pub.dartlang.org"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "1.10.0"
|
version: "1.10.2"
|
||||||
build_runner_core:
|
build_runner_core:
|
||||||
dependency: transitive
|
dependency: transitive
|
||||||
description:
|
description:
|
||||||
name: build_runner_core
|
name: build_runner_core
|
||||||
url: "https://pub.dartlang.org"
|
url: "https://pub.dartlang.org"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "5.2.0"
|
version: "6.0.1"
|
||||||
built_collection:
|
built_collection:
|
||||||
dependency: transitive
|
dependency: transitive
|
||||||
description:
|
description:
|
||||||
@ -119,14 +119,14 @@ packages:
|
|||||||
name: characters
|
name: characters
|
||||||
url: "https://pub.dartlang.org"
|
url: "https://pub.dartlang.org"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "1.0.0"
|
version: "1.1.0-nullsafety.2"
|
||||||
charcode:
|
charcode:
|
||||||
dependency: transitive
|
dependency: transitive
|
||||||
description:
|
description:
|
||||||
name: charcode
|
name: charcode
|
||||||
url: "https://pub.dartlang.org"
|
url: "https://pub.dartlang.org"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "1.1.3"
|
version: "1.2.0-nullsafety"
|
||||||
checked_yaml:
|
checked_yaml:
|
||||||
dependency: transitive
|
dependency: transitive
|
||||||
description:
|
description:
|
||||||
@ -147,7 +147,7 @@ packages:
|
|||||||
name: clock
|
name: clock
|
||||||
url: "https://pub.dartlang.org"
|
url: "https://pub.dartlang.org"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "1.0.1"
|
version: "1.1.0-nullsafety"
|
||||||
code_builder:
|
code_builder:
|
||||||
dependency: transitive
|
dependency: transitive
|
||||||
description:
|
description:
|
||||||
@ -161,7 +161,7 @@ packages:
|
|||||||
name: collection
|
name: collection
|
||||||
url: "https://pub.dartlang.org"
|
url: "https://pub.dartlang.org"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "1.14.13"
|
version: "1.15.0-nullsafety.2"
|
||||||
convert:
|
convert:
|
||||||
dependency: transitive
|
dependency: transitive
|
||||||
description:
|
description:
|
||||||
@ -224,7 +224,7 @@ packages:
|
|||||||
name: fake_async
|
name: fake_async
|
||||||
url: "https://pub.dartlang.org"
|
url: "https://pub.dartlang.org"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "1.1.0"
|
version: "1.1.0-nullsafety"
|
||||||
ffi:
|
ffi:
|
||||||
dependency: transitive
|
dependency: transitive
|
||||||
description:
|
description:
|
||||||
@ -238,7 +238,7 @@ packages:
|
|||||||
name: file
|
name: file
|
||||||
url: "https://pub.dartlang.org"
|
url: "https://pub.dartlang.org"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "5.2.1"
|
version: "6.0.0-nullsafety.1"
|
||||||
fixnum:
|
fixnum:
|
||||||
dependency: transitive
|
dependency: transitive
|
||||||
description:
|
description:
|
||||||
@ -298,20 +298,6 @@ packages:
|
|||||||
url: "https://pub.dartlang.org"
|
url: "https://pub.dartlang.org"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "0.8.0"
|
version: "0.8.0"
|
||||||
flutter_local_notifications:
|
|
||||||
dependency: "direct main"
|
|
||||||
description:
|
|
||||||
name: flutter_local_notifications
|
|
||||||
url: "https://pub.dartlang.org"
|
|
||||||
source: hosted
|
|
||||||
version: "1.1.1"
|
|
||||||
flutter_local_notifications_platform_interface:
|
|
||||||
dependency: transitive
|
|
||||||
description:
|
|
||||||
name: flutter_local_notifications_platform_interface
|
|
||||||
url: "https://pub.dartlang.org"
|
|
||||||
source: hosted
|
|
||||||
version: "1.0.1"
|
|
||||||
flutter_localizations:
|
flutter_localizations:
|
||||||
dependency: "direct main"
|
dependency: "direct main"
|
||||||
description: flutter
|
description: flutter
|
||||||
@ -322,13 +308,6 @@ packages:
|
|||||||
description: flutter
|
description: flutter
|
||||||
source: sdk
|
source: sdk
|
||||||
version: "0.0.0"
|
version: "0.0.0"
|
||||||
flutter_treeview:
|
|
||||||
dependency: "direct main"
|
|
||||||
description:
|
|
||||||
name: flutter_treeview
|
|
||||||
url: "https://pub.dartlang.org"
|
|
||||||
source: hosted
|
|
||||||
version: "0.6.0+1"
|
|
||||||
flutter_web_plugins:
|
flutter_web_plugins:
|
||||||
dependency: transitive
|
dependency: transitive
|
||||||
description: flutter
|
description: flutter
|
||||||
@ -436,7 +415,7 @@ packages:
|
|||||||
name: js
|
name: js
|
||||||
url: "https://pub.dartlang.org"
|
url: "https://pub.dartlang.org"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "0.6.2"
|
version: "0.6.3-nullsafety.1"
|
||||||
json_annotation:
|
json_annotation:
|
||||||
dependency: transitive
|
dependency: transitive
|
||||||
description:
|
description:
|
||||||
@ -464,14 +443,14 @@ packages:
|
|||||||
name: matcher
|
name: matcher
|
||||||
url: "https://pub.dartlang.org"
|
url: "https://pub.dartlang.org"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "0.12.8"
|
version: "0.12.10-nullsafety"
|
||||||
meta:
|
meta:
|
||||||
dependency: transitive
|
dependency: transitive
|
||||||
description:
|
description:
|
||||||
name: meta
|
name: meta
|
||||||
url: "https://pub.dartlang.org"
|
url: "https://pub.dartlang.org"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "1.1.8"
|
version: "1.3.0-nullsafety.2"
|
||||||
mime:
|
mime:
|
||||||
dependency: transitive
|
dependency: transitive
|
||||||
description:
|
description:
|
||||||
@ -527,7 +506,7 @@ packages:
|
|||||||
name: path
|
name: path
|
||||||
url: "https://pub.dartlang.org"
|
url: "https://pub.dartlang.org"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "1.7.0"
|
version: "1.8.0-nullsafety"
|
||||||
path_drawing:
|
path_drawing:
|
||||||
dependency: transitive
|
dependency: transitive
|
||||||
description:
|
description:
|
||||||
@ -569,28 +548,28 @@ packages:
|
|||||||
name: pedantic
|
name: pedantic
|
||||||
url: "https://pub.dartlang.org"
|
url: "https://pub.dartlang.org"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "1.9.0"
|
version: "1.10.0-nullsafety.1"
|
||||||
percent_indicator:
|
percent_indicator:
|
||||||
dependency: "direct main"
|
dependency: "direct main"
|
||||||
description:
|
description:
|
||||||
name: percent_indicator
|
name: percent_indicator
|
||||||
url: "https://pub.dartlang.org"
|
url: "https://pub.dartlang.org"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "2.1.7+3"
|
version: "2.1.7+4"
|
||||||
petitparser:
|
petitparser:
|
||||||
dependency: transitive
|
dependency: transitive
|
||||||
description:
|
description:
|
||||||
name: petitparser
|
name: petitparser
|
||||||
url: "https://pub.dartlang.org"
|
url: "https://pub.dartlang.org"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "3.0.4"
|
version: "3.1.0"
|
||||||
platform:
|
platform:
|
||||||
dependency: transitive
|
dependency: transitive
|
||||||
description:
|
description:
|
||||||
name: platform
|
name: platform
|
||||||
url: "https://pub.dartlang.org"
|
url: "https://pub.dartlang.org"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "2.2.1"
|
version: "3.0.0-nullsafety.1"
|
||||||
plugin_platform_interface:
|
plugin_platform_interface:
|
||||||
dependency: transitive
|
dependency: transitive
|
||||||
description:
|
description:
|
||||||
@ -604,14 +583,14 @@ packages:
|
|||||||
name: pool
|
name: pool
|
||||||
url: "https://pub.dartlang.org"
|
url: "https://pub.dartlang.org"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "1.4.0"
|
version: "1.5.0-nullsafety.1"
|
||||||
process:
|
process:
|
||||||
dependency: transitive
|
dependency: transitive
|
||||||
description:
|
description:
|
||||||
name: process
|
name: process
|
||||||
url: "https://pub.dartlang.org"
|
url: "https://pub.dartlang.org"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "3.0.13"
|
version: "4.0.0-nullsafety.1"
|
||||||
provider:
|
provider:
|
||||||
dependency: transitive
|
dependency: transitive
|
||||||
description:
|
description:
|
||||||
@ -756,21 +735,21 @@ packages:
|
|||||||
name: source_map_stack_trace
|
name: source_map_stack_trace
|
||||||
url: "https://pub.dartlang.org"
|
url: "https://pub.dartlang.org"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "2.0.0"
|
version: "2.1.0-nullsafety.2"
|
||||||
source_maps:
|
source_maps:
|
||||||
dependency: transitive
|
dependency: transitive
|
||||||
description:
|
description:
|
||||||
name: source_maps
|
name: source_maps
|
||||||
url: "https://pub.dartlang.org"
|
url: "https://pub.dartlang.org"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "0.10.9"
|
version: "0.10.10-nullsafety.1"
|
||||||
source_span:
|
source_span:
|
||||||
dependency: transitive
|
dependency: transitive
|
||||||
description:
|
description:
|
||||||
name: source_span
|
name: source_span
|
||||||
url: "https://pub.dartlang.org"
|
url: "https://pub.dartlang.org"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "1.7.0"
|
version: "1.8.0-nullsafety"
|
||||||
spider_chart:
|
spider_chart:
|
||||||
dependency: "direct main"
|
dependency: "direct main"
|
||||||
description:
|
description:
|
||||||
@ -784,14 +763,14 @@ packages:
|
|||||||
name: stack_trace
|
name: stack_trace
|
||||||
url: "https://pub.dartlang.org"
|
url: "https://pub.dartlang.org"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "1.9.5"
|
version: "1.10.0-nullsafety"
|
||||||
stream_channel:
|
stream_channel:
|
||||||
dependency: transitive
|
dependency: transitive
|
||||||
description:
|
description:
|
||||||
name: stream_channel
|
name: stream_channel
|
||||||
url: "https://pub.dartlang.org"
|
url: "https://pub.dartlang.org"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "2.0.0"
|
version: "2.1.0-nullsafety"
|
||||||
stream_transform:
|
stream_transform:
|
||||||
dependency: transitive
|
dependency: transitive
|
||||||
description:
|
description:
|
||||||
@ -805,7 +784,7 @@ packages:
|
|||||||
name: string_scanner
|
name: string_scanner
|
||||||
url: "https://pub.dartlang.org"
|
url: "https://pub.dartlang.org"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "1.0.5"
|
version: "1.1.0-nullsafety"
|
||||||
sync_http:
|
sync_http:
|
||||||
dependency: transitive
|
dependency: transitive
|
||||||
description:
|
description:
|
||||||
@ -819,28 +798,28 @@ packages:
|
|||||||
name: term_glyph
|
name: term_glyph
|
||||||
url: "https://pub.dartlang.org"
|
url: "https://pub.dartlang.org"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "1.1.0"
|
version: "1.2.0-nullsafety"
|
||||||
test:
|
test:
|
||||||
dependency: "direct dev"
|
dependency: "direct dev"
|
||||||
description:
|
description:
|
||||||
name: test
|
name: test
|
||||||
url: "https://pub.dartlang.org"
|
url: "https://pub.dartlang.org"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "1.15.2"
|
version: "1.16.0-nullsafety.4"
|
||||||
test_api:
|
test_api:
|
||||||
dependency: transitive
|
dependency: transitive
|
||||||
description:
|
description:
|
||||||
name: test_api
|
name: test_api
|
||||||
url: "https://pub.dartlang.org"
|
url: "https://pub.dartlang.org"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "0.2.17"
|
version: "0.2.19-nullsafety"
|
||||||
test_core:
|
test_core:
|
||||||
dependency: transitive
|
dependency: transitive
|
||||||
description:
|
description:
|
||||||
name: test_core
|
name: test_core
|
||||||
url: "https://pub.dartlang.org"
|
url: "https://pub.dartlang.org"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "0.3.10"
|
version: "0.3.12-nullsafety.4"
|
||||||
timing:
|
timing:
|
||||||
dependency: transitive
|
dependency: transitive
|
||||||
description:
|
description:
|
||||||
@ -854,7 +833,7 @@ packages:
|
|||||||
name: typed_data
|
name: typed_data
|
||||||
url: "https://pub.dartlang.org"
|
url: "https://pub.dartlang.org"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "1.2.0"
|
version: "1.3.0-nullsafety.2"
|
||||||
usage:
|
usage:
|
||||||
dependency: transitive
|
dependency: transitive
|
||||||
description:
|
description:
|
||||||
@ -875,14 +854,14 @@ packages:
|
|||||||
name: vector_math
|
name: vector_math
|
||||||
url: "https://pub.dartlang.org"
|
url: "https://pub.dartlang.org"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "2.0.8"
|
version: "2.1.0-nullsafety.2"
|
||||||
vm_service:
|
vm_service:
|
||||||
dependency: transitive
|
dependency: transitive
|
||||||
description:
|
description:
|
||||||
name: vm_service
|
name: vm_service
|
||||||
url: "https://pub.dartlang.org"
|
url: "https://pub.dartlang.org"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "4.2.0"
|
version: "5.2.0"
|
||||||
vm_service_client:
|
vm_service_client:
|
||||||
dependency: transitive
|
dependency: transitive
|
||||||
description:
|
description:
|
||||||
@ -931,7 +910,7 @@ packages:
|
|||||||
name: xdg_directories
|
name: xdg_directories
|
||||||
url: "https://pub.dartlang.org"
|
url: "https://pub.dartlang.org"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "0.1.0"
|
version: "0.1.2"
|
||||||
xml:
|
xml:
|
||||||
dependency: transitive
|
dependency: transitive
|
||||||
description:
|
description:
|
||||||
@ -947,5 +926,5 @@ packages:
|
|||||||
source: hosted
|
source: hosted
|
||||||
version: "2.2.1"
|
version: "2.2.1"
|
||||||
sdks:
|
sdks:
|
||||||
dart: ">=2.9.0-14.0.dev <3.0.0"
|
dart: ">=2.10.0-4.0.dev <2.10.0"
|
||||||
flutter: ">=1.16.0 <2.0.0"
|
flutter: ">=1.16.0 <2.0.0"
|
||||||
|
@ -18,7 +18,7 @@ publish_to: 'none' # Remove this line if you wish to publish to pub.dev
|
|||||||
version: 1.1.0+22
|
version: 1.1.0+22
|
||||||
|
|
||||||
environment:
|
environment:
|
||||||
sdk: ">=2.7.0 <3.0.0"
|
sdk: ">=2.7.0 <3.1.0"
|
||||||
|
|
||||||
dependencies:
|
dependencies:
|
||||||
flutter:
|
flutter:
|
||||||
@ -30,7 +30,7 @@ dependencies:
|
|||||||
devicelocale: ^0.3.2
|
devicelocale: ^0.3.2
|
||||||
sentry: ^3.0.1
|
sentry: ^3.0.1
|
||||||
# firebase_messaging: ^6.0.16
|
# firebase_messaging: ^6.0.16
|
||||||
flutter_local_notifications: 1.1.1
|
#flutter_local_notifications: ^1.5.0-beta.9
|
||||||
flutter_facebook_login: ^3.0.0
|
flutter_facebook_login: ^3.0.0
|
||||||
flutter_bloc: ^6.0.5
|
flutter_bloc: ^6.0.5
|
||||||
equatable: ^1.2.5
|
equatable: ^1.2.5
|
||||||
@ -38,9 +38,8 @@ dependencies:
|
|||||||
flutter_form_bloc: ^0.19.0
|
flutter_form_bloc: ^0.19.0
|
||||||
spider_chart: ^0.1.5
|
spider_chart: ^0.1.5
|
||||||
rainbow_color: ^0.1.1
|
rainbow_color: ^0.1.1
|
||||||
percent_indicator: ^2.1.7+3
|
percent_indicator: ^2.1.7+4
|
||||||
gradient_bottom_navigation_bar: ^1.0.0+4
|
gradient_bottom_navigation_bar: ^1.0.0+4
|
||||||
flutter_treeview: ^0.6.0+1
|
|
||||||
fl_chart: ^0.11.1
|
fl_chart: ^0.11.1
|
||||||
|
|
||||||
mockito: ^4.1.1
|
mockito: ^4.1.1
|
||||||
|
Loading…
Reference in New Issue
Block a user