add analytics views/analytics/analytics_view.dart

null-safety-migration
suvaysov 2022-06-15 16:42:43 +06:00
parent 19ccb03c76
commit 44a6de4f58
13 changed files with 397 additions and 134 deletions

View File

@ -11,25 +11,17 @@
<uses-permission android:name="android.permission.CAMERA" />
<application
android:name="io.flutter.app.FlutterApplication"
android:label="Satu"
android:name="${applicationName}"
android:icon="@mipmap/ic_launcher"
android:label="Satu"
android:roundIcon="@mipmap/ic_launcher_rounded">
<activity
android:name=".MainActivity"
android:launchMode="singleTop"
android:theme="@style/LaunchTheme"
android:configChanges="orientation|keyboardHidden|keyboard|screenSize|smallestScreenSize|locale|layoutDirection|fontScale|screenLayout|density|uiMode"
android:hardwareAccelerated="true"
android:launchMode="singleTop"
android:theme="@style/LaunchTheme"
android:windowSoftInputMode="adjustResize">
<!-- Specifies an Android theme to apply to this Activity as soon as
the Android process has started. This theme is visible to the user
while the Flutter UI initializes. After that, this theme continues
to determine the Window background behind the Flutter UI. -->
<meta-data
android:name="io.flutter.embedding.android.NormalTheme"
android:resource="@style/NormalTheme"
/>
<!-- Displays an Android View that continues showing the launch screen
Drawable until Flutter paints its first frame, then this splash
screen fades out. A splash screen is useful to avoid any visual
@ -37,8 +29,15 @@
Flutter's first frame. -->
<meta-data
android:name="io.flutter.embedding.android.SplashScreenDrawable"
android:resource="@drawable/launch_background"
/>
android:resource="@drawable/launch_background" />
<!-- Specifies an Android theme to apply to this Activity as soon as
the Android process has started. This theme is visible to the user
while the Flutter UI initializes. After that, this theme continues
to determine the Window background behind the Flutter UI. -->
<meta-data
android:name="io.flutter.embedding.android.NormalTheme"
android:resource="@style/NormalTheme" />
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />

View File

@ -1,5 +1,5 @@
buildscript {
ext.kotlin_version = '1.3.50'
ext.kotlin_version = '1.5.31'
repositories {
google()
jcenter()

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 23 KiB

View File

@ -0,0 +1,52 @@
import 'package:satu/core/utils/utils_parse.dart';
class AnalyticsBean {
StatsBean? stats;
num? money;
static AnalyticsBean? fromMap(dynamic map) {
if (map == null) return null;
final AnalyticsBean item = AnalyticsBean();
item.stats = StatsBean.fromMap(map['stats']);
item.money = cast<num>(map['money']);
return item;
}
}
class StatsBean {
String? todayDate;
String? yesterdayDate;
String? weekDate;
String? monthDate;
StatItem? today;
StatItem? yesterday;
StatItem? week;
StatItem? month;
static StatsBean? fromMap(dynamic map) {
if (map == null) return null;
final StatsBean item = StatsBean();
item.todayDate = cast<String>(map['today_date']);
item.yesterdayDate = cast<String>(map['yesterday_date']);
item.weekDate = cast<String>(map['week_date']);
item.monthDate = cast<String>(map['month_date']);
item.today = StatItem.fromMap(map['today']);
item.yesterday = StatItem.fromMap(map['yesterday']);
item.week = StatItem.fromMap(map['week']);
item.month = StatItem.fromMap(map['month']);
return item;
}
}
class StatItem {
num? cnt;
num? summ;
static StatItem? fromMap(dynamic map) {
if (map == null) return null;
final StatItem item = StatItem();
item.cnt = cast<num>(map['cnt']);
item.summ = cast<num>(map['summ']);
return item;
}
}

View File

@ -4,6 +4,7 @@ import 'dart:io';
import 'package:satu/core/base/base_service.dart';
import 'package:http/http.dart' as http;
import 'package:satu/core/models/auth/auth_response.dart';
import 'package:satu/core/models/flow/analytics/analytics_bean.dart';
import 'package:satu/core/models/flow/sell_request.dart';
import 'package:satu/core/models/flow/sell_response.dart';
import 'package:satu/core/models/flow/sell_return/sell_return_request.dart';
@ -170,4 +171,19 @@ class ApiService extends BaseService {
}
return response;
}
Future<AnalyticsBean?> getAnalytics() async {
AnalyticsBean? response;
try {
final Map<String, String> headers = <String, String>{
HttpHeaders.authorizationHeader: 'Bearer $token'
};
final String responseBody = await _get('/get_analytics', header: headers);
log.i(responseBody);
response = AnalyticsBean.fromMap(json.decode(responseBody));
} catch (e, stack) {
log.e('getAnalytics', e, stack);
}
return response;
}
}

View File

@ -41,7 +41,7 @@ class MainApplication extends StatelessWidget {
375,
812,
),
builder: () => MaterialApp(
builder: (context, child) => MaterialApp(
theme: ThemeData(
backgroundColor: backgroundColor,
primaryColor: whiteColor,

View File

@ -0,0 +1,68 @@
import 'package:flutter/material.dart';
import 'package:satu/core/models/flow/analytics/analytics_bean.dart';
import 'package:satu/core/services/api_service.dart';
import 'package:satu/core/utils/locator.dart';
import 'package:satu/shared/ui_helpers.dart';
import 'package:satu/widgets/bar/products_app_bar.dart';
import 'package:satu/widgets/row/info_row.dart';
class AnalyticsView extends StatefulWidget {
const AnalyticsView({Key? key}) : super(key: key);
@override
State<AnalyticsView> createState() => _AnalyticsViewState();
}
class _AnalyticsViewState extends State<AnalyticsView> {
final ApiService _apiService = locator<ApiService>();
AnalyticsBean? _analyticsBean;
@override
void initState() {
super.initState();
initQuery();
}
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: const ProductsAppBar(
title: 'Аналитика',
drawerShow: true,
),
body: Column(
children: [
verticalSpaceLarge,
InfoRow(
'Денег в кассе',
value: _analyticsBean?.money?.toString() ?? '0',
),
InfoRow(
'Сегодня',
value: _analyticsBean?.stats?.today?.summ?.toString() ?? '0',
),
InfoRow(
'Вчера',
value: _analyticsBean?.stats?.yesterday?.summ?.toString() ?? '0',
),
InfoRow(
'Неделя',
value: _analyticsBean?.stats?.week?.summ?.toString() ?? '0',
),
InfoRow(
'Месяц',
value: _analyticsBean?.stats?.month?.summ?.toString() ?? '0',
),
],
),
);
}
Future<void> initQuery() async {
final AnalyticsBean? analyticsBean = await _apiService.getAnalytics();
setState(() {
_analyticsBean = analyticsBean;
});
}
}

View File

@ -35,8 +35,8 @@ class _LoginViewState extends State<LoginView> {
@override
void initState() {
super.initState();
emailController = TextEditingController();
passwordController = TextEditingController();
emailController = TextEditingController(text: 'test11@gmail.com');
passwordController = TextEditingController(text: 'qwe123');
}
@override

View File

@ -4,6 +4,7 @@ import 'package:satu/core/redux/state/nav_state.dart';
import 'package:satu/core/redux/store.dart';
import 'package:satu/core/services/navigator_service.dart';
import 'package:satu/core/utils/locator.dart';
import 'package:satu/views/analytics/analytics_view.dart';
import 'package:satu/views/dictionaries/category/category_view.dart';
import 'package:satu/views/dictionaries/goods/goods_view.dart';
import 'package:satu/views/settings/printer_bluetooth/printer_view.dart';
@ -24,6 +25,7 @@ class _MainViewState extends State<MainView> {
final _settingsView = SettingsView();
final _categoryDictView = CategoryDictionaryView();
final _goodDictView = GoodsDictionaryView();
final _analyticsView = const AnalyticsView();
Widget _body(Type viewClass) {
if(viewClass == WorkView) {
@ -38,6 +40,9 @@ class _MainViewState extends State<MainView> {
if(viewClass == GoodsDictionaryView) {
return _goodDictView;
}
if(viewClass == AnalyticsView) {
return _analyticsView;
}
return _workView;
}

View File

@ -10,6 +10,7 @@ import 'package:satu/core/redux/store.dart';
import 'package:satu/shared/app_colors.dart';
import 'package:satu/shared/ui_helpers.dart';
import 'package:satu/views/analytics/analytics_view.dart';
import 'package:satu/views/dictionaries/category/category_view.dart';
import 'package:satu/views/dictionaries/goods/goods_view.dart';
import 'package:satu/views/settings/setting_view.dart';
@ -32,7 +33,14 @@ class AppDrawer extends StatelessWidget {
onTap: () {
Navigator.of(context).pop();
Redux.store!.dispatch(navigateDrawer(WorkView));
}),
},),
_createDrawerItem(
svgFile: 'analytics',
text: 'Аналитика',
onTap: () {
Navigator.of(context).pop();
Redux.store!.dispatch(navigateDrawer(AnalyticsView));
},),
_createDrawerItem(
svgFile: 'inventarization',
text: 'Инвентаризация',

View File

@ -0,0 +1,92 @@
import 'package:flutter/material.dart';
import 'package:satu/shared/app_colors.dart';
class InfoRow extends StatelessWidget {
const InfoRow(this.name, {this.value = '', this.onTap});
final String name;
final String? value;
final Function()? onTap;
@override
Widget build(BuildContext context) {
return Column(
crossAxisAlignment: CrossAxisAlignment.start,
children: [
Material(
color: Colors.transparent,
child: InkWell(
onTap: onTap,
child: Row(
mainAxisAlignment: MainAxisAlignment.spaceBetween,
children: [
Expanded(
child: Container(
decoration: const BoxDecoration(
color: whiteColor,
border: Border(
bottom: BorderSide(
// <--- left side
color: placeholderColor,
width: 0.5,
),
top: BorderSide(
// <--- top side
color: placeholderColor,
width: 0.5,
),
),
),
child: Padding(
padding: const EdgeInsets.all(16.0),
child: Text(
name,
style: const TextStyle(
fontSize: 14,
fontWeight: FontWeight.w400,
color: textColor,
),
),
),
),
),
Expanded(
child: Container(
decoration: const BoxDecoration(
color: whiteColor,
border: Border(
left: BorderSide(
color: placeholderColor,
width: 0.5,
),
bottom: BorderSide(
color: placeholderColor,
width: 0.5,
),
top: BorderSide(
color: placeholderColor,
width: 0.5,
),
),
),
child: Padding(
padding: const EdgeInsets.all(16.0),
child: Text(
'$value тг',
style: const TextStyle(
fontSize: 14,
fontWeight: FontWeight.w400,
color: textColor,
),
),
),
),
)
],
),
),
),
],
);
}
}

View File

@ -7,14 +7,14 @@ packages:
name: _fe_analyzer_shared
url: "https://pub.dartlang.org"
source: hosted
version: "30.0.0"
version: "40.0.0"
ai_barcode:
dependency: "direct main"
description:
name: ai_barcode
url: "https://pub.dartlang.org"
source: hosted
version: "3.0.1"
version: "3.2.0"
ai_barcode_platform_interface:
dependency: transitive
description:
@ -35,28 +35,28 @@ packages:
name: analyzer
url: "https://pub.dartlang.org"
source: hosted
version: "2.7.0"
version: "4.1.0"
archive:
dependency: transitive
description:
name: archive
url: "https://pub.dartlang.org"
source: hosted
version: "3.1.6"
version: "3.3.0"
args:
dependency: transitive
description:
name: args
url: "https://pub.dartlang.org"
source: hosted
version: "2.3.0"
version: "2.3.1"
async:
dependency: transitive
description:
name: async
url: "https://pub.dartlang.org"
source: hosted
version: "2.8.1"
version: "2.8.2"
auto_size_text:
dependency: "direct main"
description:
@ -77,7 +77,7 @@ packages:
name: build
url: "https://pub.dartlang.org"
source: hosted
version: "2.1.1"
version: "2.3.0"
build_config:
dependency: transitive
description:
@ -91,28 +91,28 @@ packages:
name: build_daemon
url: "https://pub.dartlang.org"
source: hosted
version: "3.0.1"
version: "3.1.0"
build_resolvers:
dependency: transitive
description:
name: build_resolvers
url: "https://pub.dartlang.org"
source: hosted
version: "2.0.4"
version: "2.0.9"
build_runner:
dependency: "direct dev"
description:
name: build_runner
url: "https://pub.dartlang.org"
source: hosted
version: "2.1.5"
version: "2.1.11"
build_runner_core:
dependency: transitive
description:
name: build_runner_core
url: "https://pub.dartlang.org"
source: hosted
version: "7.2.2"
version: "7.2.3"
built_collection:
dependency: transitive
description:
@ -126,14 +126,14 @@ packages:
name: built_value
url: "https://pub.dartlang.org"
source: hosted
version: "8.1.3"
version: "8.3.2"
characters:
dependency: transitive
description:
name: characters
url: "https://pub.dartlang.org"
source: hosted
version: "1.1.0"
version: "1.2.0"
charcode:
dependency: transitive
description:
@ -147,7 +147,7 @@ packages:
name: charset_converter
url: "https://pub.dartlang.org"
source: hosted
version: "2.0.0"
version: "2.1.0"
checked_yaml:
dependency: transitive
description:
@ -155,13 +155,6 @@ packages:
url: "https://pub.dartlang.org"
source: hosted
version: "2.0.1"
cli_util:
dependency: transitive
description:
name: cli_util
url: "https://pub.dartlang.org"
source: hosted
version: "0.3.5"
clock:
dependency: transitive
description:
@ -189,35 +182,35 @@ packages:
name: convert
url: "https://pub.dartlang.org"
source: hosted
version: "3.0.1"
version: "3.0.2"
crypto:
dependency: transitive
description:
name: crypto
url: "https://pub.dartlang.org"
source: hosted
version: "3.0.1"
version: "3.0.2"
csslib:
dependency: transitive
description:
name: csslib
url: "https://pub.dartlang.org"
source: hosted
version: "0.17.1"
version: "0.17.2"
cupertino_icons:
dependency: "direct main"
description:
name: cupertino_icons
url: "https://pub.dartlang.org"
source: hosted
version: "1.0.4"
version: "1.0.5"
dart_style:
dependency: transitive
description:
name: dart_style
url: "https://pub.dartlang.org"
source: hosted
version: "2.1.1"
version: "2.2.3"
device_info:
dependency: "direct main"
description:
@ -266,7 +259,7 @@ packages:
name: ffi
url: "https://pub.dartlang.org"
source: hosted
version: "1.1.2"
version: "1.2.1"
file:
dependency: transitive
description:
@ -280,7 +273,7 @@ packages:
name: fixnum
url: "https://pub.dartlang.org"
source: hosted
version: "1.0.0"
version: "1.0.1"
flutter:
dependency: "direct main"
description: flutter
@ -306,7 +299,7 @@ packages:
name: flutter_screenutil
url: "https://pub.dartlang.org"
source: hosted
version: "5.0.0+2"
version: "5.5.3+2"
flutter_svg:
dependency: "direct main"
description:
@ -330,7 +323,7 @@ packages:
name: frontend_server_client
url: "https://pub.dartlang.org"
source: hosted
version: "2.1.2"
version: "2.1.3"
gbk_codec:
dependency: transitive
description:
@ -365,7 +358,7 @@ packages:
name: grouped_list
url: "https://pub.dartlang.org"
source: hosted
version: "4.1.0"
version: "4.2.0"
hex:
dependency: transitive
description:
@ -393,21 +386,21 @@ packages:
name: http_multi_server
url: "https://pub.dartlang.org"
source: hosted
version: "3.0.1"
version: "3.2.0"
http_parser:
dependency: transitive
description:
name: http_parser
url: "https://pub.dartlang.org"
source: hosted
version: "4.0.0"
version: "4.0.1"
image:
dependency: transitive
description:
name: image
url: "https://pub.dartlang.org"
source: hosted
version: "3.0.8"
version: "3.1.3"
implicitly_animated_reorderable_list:
dependency: "direct main"
description:
@ -442,21 +435,21 @@ packages:
name: json_annotation
url: "https://pub.dartlang.org"
source: hosted
version: "4.3.0"
version: "4.5.0"
json_serializable:
dependency: "direct dev"
description:
name: json_serializable
url: "https://pub.dartlang.org"
source: hosted
version: "6.0.1"
version: "6.2.0"
lint:
dependency: "direct dev"
description:
name: lint
url: "https://pub.dartlang.org"
source: hosted
version: "1.7.2"
version: "1.8.2"
location_permissions:
dependency: "direct main"
description:
@ -484,28 +477,35 @@ packages:
name: mask_text_input_formatter
url: "https://pub.dartlang.org"
source: hosted
version: "2.0.0"
version: "2.3.0"
matcher:
dependency: transitive
description:
name: matcher
url: "https://pub.dartlang.org"
source: hosted
version: "0.12.10"
version: "0.12.11"
material_color_utilities:
dependency: transitive
description:
name: material_color_utilities
url: "https://pub.dartlang.org"
source: hosted
version: "0.1.3"
material_design_icons_flutter:
dependency: "direct main"
description:
name: material_design_icons_flutter
url: "https://pub.dartlang.org"
source: hosted
version: "5.0.6295"
version: "5.0.6595"
material_floating_search_bar:
dependency: "direct main"
description:
name: material_floating_search_bar
url: "https://pub.dartlang.org"
source: hosted
version: "0.3.6"
version: "0.3.7"
meta:
dependency: transitive
description:
@ -519,7 +519,7 @@ packages:
name: mime
url: "https://pub.dartlang.org"
source: hosted
version: "1.0.1"
version: "1.0.2"
nested:
dependency: transitive
description:
@ -561,56 +561,49 @@ packages:
name: path_provider
url: "https://pub.dartlang.org"
source: hosted
version: "2.0.7"
version: "2.0.11"
path_provider_android:
dependency: transitive
description:
name: path_provider_android
url: "https://pub.dartlang.org"
source: hosted
version: "2.0.6"
version: "2.0.14"
path_provider_ios:
dependency: transitive
description:
name: path_provider_ios
url: "https://pub.dartlang.org"
source: hosted
version: "2.0.6"
version: "2.0.9"
path_provider_linux:
dependency: transitive
description:
name: path_provider_linux
url: "https://pub.dartlang.org"
source: hosted
version: "2.1.1"
version: "2.1.7"
path_provider_macos:
dependency: transitive
description:
name: path_provider_macos
url: "https://pub.dartlang.org"
source: hosted
version: "2.0.2"
version: "2.0.6"
path_provider_platform_interface:
dependency: transitive
description:
name: path_provider_platform_interface
url: "https://pub.dartlang.org"
source: hosted
version: "2.0.1"
version: "2.0.4"
path_provider_windows:
dependency: transitive
description:
name: path_provider_windows
url: "https://pub.dartlang.org"
source: hosted
version: "2.0.4"
pedantic:
dependency: transitive
description:
name: pedantic
url: "https://pub.dartlang.org"
source: hosted
version: "1.11.1"
version: "2.0.7"
permission_handler:
dependency: "direct main"
description:
@ -638,14 +631,14 @@ packages:
name: platform
url: "https://pub.dartlang.org"
source: hosted
version: "3.0.2"
version: "3.1.0"
plugin_platform_interface:
dependency: transitive
description:
name: plugin_platform_interface
url: "https://pub.dartlang.org"
source: hosted
version: "2.0.2"
version: "2.1.2"
pool:
dependency: transitive
description:
@ -666,21 +659,21 @@ packages:
name: provider
url: "https://pub.dartlang.org"
source: hosted
version: "6.0.1"
version: "6.0.3"
pub_semver:
dependency: transitive
description:
name: pub_semver
url: "https://pub.dartlang.org"
source: hosted
version: "2.1.0"
version: "2.1.1"
pubspec_parse:
dependency: transitive
description:
name: pubspec_parse
url: "https://pub.dartlang.org"
source: hosted
version: "1.1.0"
version: "1.2.0"
qr:
dependency: transitive
description:
@ -729,7 +722,7 @@ packages:
name: responsive_builder
url: "https://pub.dartlang.org"
source: hosted
version: "0.4.1"
version: "0.4.2"
rxdart:
dependency: transitive
description:
@ -743,21 +736,35 @@ packages:
name: shared_preferences
url: "https://pub.dartlang.org"
source: hosted
version: "2.0.8"
version: "2.0.15"
shared_preferences_android:
dependency: transitive
description:
name: shared_preferences_android
url: "https://pub.dartlang.org"
source: hosted
version: "2.0.12"
shared_preferences_ios:
dependency: transitive
description:
name: shared_preferences_ios
url: "https://pub.dartlang.org"
source: hosted
version: "2.1.1"
shared_preferences_linux:
dependency: transitive
description:
name: shared_preferences_linux
url: "https://pub.dartlang.org"
source: hosted
version: "2.0.3"
version: "2.1.1"
shared_preferences_macos:
dependency: transitive
description:
name: shared_preferences_macos
url: "https://pub.dartlang.org"
source: hosted
version: "2.0.2"
version: "2.0.4"
shared_preferences_platform_interface:
dependency: transitive
description:
@ -771,21 +778,21 @@ packages:
name: shared_preferences_web
url: "https://pub.dartlang.org"
source: hosted
version: "2.0.2"
version: "2.0.4"
shared_preferences_windows:
dependency: transitive
description:
name: shared_preferences_windows
url: "https://pub.dartlang.org"
source: hosted
version: "2.0.3"
version: "2.1.1"
shelf:
dependency: transitive
description:
name: shelf
url: "https://pub.dartlang.org"
source: hosted
version: "1.2.0"
version: "1.3.0"
shelf_web_socket:
dependency: transitive
description:
@ -804,14 +811,14 @@ packages:
name: source_gen
url: "https://pub.dartlang.org"
source: hosted
version: "1.0.3"
version: "1.2.2"
source_helper:
dependency: transitive
description:
name: source_helper
url: "https://pub.dartlang.org"
source: hosted
version: "1.3.0"
version: "1.3.2"
source_span:
dependency: transitive
description:
@ -825,14 +832,14 @@ packages:
name: sqflite
url: "https://pub.dartlang.org"
source: hosted
version: "2.0.0+4"
version: "2.0.2+1"
sqflite_common:
dependency: transitive
description:
name: sqflite_common
url: "https://pub.dartlang.org"
source: hosted
version: "2.0.1+1"
version: "2.2.1+1"
stack_trace:
dependency: transitive
description:
@ -867,7 +874,7 @@ packages:
name: synchronized
url: "https://pub.dartlang.org"
source: hosted
version: "3.0.0"
version: "3.0.0+2"
term_glyph:
dependency: transitive
description:
@ -881,7 +888,7 @@ packages:
name: test_api
url: "https://pub.dartlang.org"
source: hosted
version: "0.4.2"
version: "0.4.8"
timing:
dependency: transitive
description:
@ -910,69 +917,76 @@ packages:
url: "https://pub.dartlang.org"
source: hosted
version: "2.0.4"
universal_platform:
dependency: transitive
description:
name: universal_platform
url: "https://pub.dartlang.org"
source: hosted
version: "1.0.0+1"
url_launcher:
dependency: "direct main"
description:
name: url_launcher
url: "https://pub.dartlang.org"
source: hosted
version: "6.0.13"
version: "6.1.3"
url_launcher_android:
dependency: transitive
description:
name: url_launcher_android
url: "https://pub.dartlang.org"
source: hosted
version: "6.0.17"
url_launcher_ios:
dependency: transitive
description:
name: url_launcher_ios
url: "https://pub.dartlang.org"
source: hosted
version: "6.0.17"
url_launcher_linux:
dependency: transitive
description:
name: url_launcher_linux
url: "https://pub.dartlang.org"
source: hosted
version: "2.0.2"
version: "3.0.1"
url_launcher_macos:
dependency: transitive
description:
name: url_launcher_macos
url: "https://pub.dartlang.org"
source: hosted
version: "2.0.2"
version: "3.0.1"
url_launcher_platform_interface:
dependency: transitive
description:
name: url_launcher_platform_interface
url: "https://pub.dartlang.org"
source: hosted
version: "2.0.4"
version: "2.0.5"
url_launcher_web:
dependency: transitive
description:
name: url_launcher_web
url: "https://pub.dartlang.org"
source: hosted
version: "2.0.4"
version: "2.0.12"
url_launcher_windows:
dependency: transitive
description:
name: url_launcher_windows
url: "https://pub.dartlang.org"
source: hosted
version: "2.0.2"
version: "3.0.1"
uuid:
dependency: "direct main"
description:
name: uuid
url: "https://pub.dartlang.org"
source: hosted
version: "3.0.5"
version: "3.0.6"
vector_math:
dependency: transitive
description:
name: vector_math
url: "https://pub.dartlang.org"
source: hosted
version: "2.1.0"
version: "2.1.1"
watcher:
dependency: transitive
description:
@ -986,21 +1000,21 @@ packages:
name: web_socket_channel
url: "https://pub.dartlang.org"
source: hosted
version: "2.1.0"
version: "2.2.0"
win32:
dependency: transitive
description:
name: win32
url: "https://pub.dartlang.org"
source: hosted
version: "2.3.0"
version: "2.5.2"
xdg_directories:
dependency: transitive
description:
name: xdg_directories
url: "https://pub.dartlang.org"
source: hosted
version: "0.2.0"
version: "0.2.0+1"
xml:
dependency: transitive
description:
@ -1014,7 +1028,7 @@ packages:
name: yaml
url: "https://pub.dartlang.org"
source: hosted
version: "3.1.0"
version: "3.1.1"
sdks:
dart: ">=2.14.0 <3.0.0"
flutter: ">=2.5.0"
dart: ">=2.16.0 <3.0.0"
flutter: ">=2.10.0"

View File

@ -23,37 +23,37 @@ environment:
dependencies:
flutter:
sdk: flutter
cupertino_icons: ^1.0.4
cupertino_icons: ^1.0.5
redux: ^5.0.0
flutter_redux: ^0.8.2
redux_thunk: ^0.4.0
redux_persist: ^0.9.0
redux_persist_flutter: ^0.9.0
responsive_builder: ^0.4.1
provider: ^6.0.1
responsive_builder: ^0.4.2
provider: ^6.0.3
logger: ^1.1.0
get_it: ^7.2.0
equatable: ^2.0.3
http: ^0.13.4
sqflite: ^2.0.0+4
path_provider: ^2.0.7
sqflite: ^2.0.2+1
path_provider: ^2.0.11
material_design_icons_flutter: ^5.0.6295
intl: ^0.17.0
device_info: ^2.0.3
auto_size_text: ^3.0.0
url_launcher: ^6.0.13
url_launcher: ^6.1.3
qr_flutter: ^4.0.0
mask_text_input_formatter: ^2.0.0
flutter_screenutil: ^5.0.0+2
shared_preferences: ^2.0.8
material_floating_search_bar: ^0.3.6
mask_text_input_formatter: ^2.3.0
flutter_screenutil: ^5.5.3+2
shared_preferences: ^2.0.15
material_floating_search_bar: ^0.3.7
implicitly_animated_reorderable_list: ^0.4.2
uuid: ^3.0.5
charset_converter: ^2.0.0
ai_barcode: ^3.0.1
uuid: ^3.0.6
charset_converter: ^2.1.0
ai_barcode: ^3.2.0
permission_handler: ^8.3.0
flutter_svg: ^0.23.0+1
grouped_list: ^4.1.0
grouped_list: ^4.2.0
flutter_bluetooth_basic: ^0.1.7
location_permissions: ^4.0.1
esc_pos_utils: ^1.1.0