mirror of
https://git.meshkee.com/applications/cssd.git
synced 2026-10-13 10:48:53 +03:30
1.7.1
This commit is contained in:
+12
-4
@@ -1,19 +1,27 @@
|
|||||||
buildscript {
|
buildscript {
|
||||||
ext.kotlin_version = '1.3.50'
|
ext.kotlin_version = '1.3.61'
|
||||||
repositories {
|
repositories {
|
||||||
google()
|
// google()
|
||||||
|
maven {
|
||||||
|
url 'https://maven.google.com/'
|
||||||
|
name 'Google'
|
||||||
|
}
|
||||||
jcenter()
|
jcenter()
|
||||||
}
|
}
|
||||||
|
|
||||||
dependencies {
|
dependencies {
|
||||||
classpath 'com.android.tools.build:gradle:3.5.0'
|
classpath 'com.android.tools.build:gradle:4.1.0'
|
||||||
classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
|
classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
allprojects {
|
allprojects {
|
||||||
repositories {
|
repositories {
|
||||||
google()
|
// google()
|
||||||
|
maven {
|
||||||
|
url 'https://maven.google.com/'
|
||||||
|
name 'Google'
|
||||||
|
}
|
||||||
jcenter()
|
jcenter()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
+1
-1
@@ -3,4 +3,4 @@ distributionBase=GRADLE_USER_HOME
|
|||||||
distributionPath=wrapper/dists
|
distributionPath=wrapper/dists
|
||||||
zipStoreBase=GRADLE_USER_HOME
|
zipStoreBase=GRADLE_USER_HOME
|
||||||
zipStorePath=wrapper/dists
|
zipStorePath=wrapper/dists
|
||||||
distributionUrl=https\://services.gradle.org/distributions/gradle-5.6.2-all.zip
|
distributionUrl=https\://services.gradle.org/distributions/gradle-6.7-all.zip
|
||||||
|
|||||||
+2
-2
@@ -3,7 +3,6 @@ import 'package:flutter/services.dart';
|
|||||||
import 'package:flutter_phoenix/flutter_phoenix.dart';
|
import 'package:flutter_phoenix/flutter_phoenix.dart';
|
||||||
import 'package:provider/provider.dart';
|
import 'package:provider/provider.dart';
|
||||||
|
|
||||||
import './pages/home_screen.dart';
|
|
||||||
import 'config/routes.dart';
|
import 'config/routes.dart';
|
||||||
import 'pages/cycle_add_screen.dart';
|
import 'pages/cycle_add_screen.dart';
|
||||||
import 'pages/cycle_detail_screen.dart';
|
import 'pages/cycle_detail_screen.dart';
|
||||||
@@ -11,6 +10,7 @@ import 'pages/cycle_filter_screen.dart';
|
|||||||
import 'pages/cycle_result_screen.dart';
|
import 'pages/cycle_result_screen.dart';
|
||||||
import 'pages/cycle_scan_screen.dart';
|
import 'pages/cycle_scan_screen.dart';
|
||||||
import 'pages/forget_pass_screen.dart';
|
import 'pages/forget_pass_screen.dart';
|
||||||
|
import 'pages/home_screen.dart';
|
||||||
import 'pages/label_add_screen.dart';
|
import 'pages/label_add_screen.dart';
|
||||||
import 'pages/label_detail_screen.dart';
|
import 'pages/label_detail_screen.dart';
|
||||||
import 'pages/label_filter_screen.dart';
|
import 'pages/label_filter_screen.dart';
|
||||||
@@ -90,7 +90,7 @@ class MyApp extends StatelessWidget {
|
|||||||
title: 'CSSD-DOC',
|
title: 'CSSD-DOC',
|
||||||
theme: ThemeData(
|
theme: ThemeData(
|
||||||
primaryColor: Colors.black,
|
primaryColor: Colors.black,
|
||||||
cursorColor: Colors.black,
|
// cursorColor: Colors.black,
|
||||||
fontFamily: 'montserrat',
|
fontFamily: 'montserrat',
|
||||||
// primaryTextTheme: TextTheme(
|
// primaryTextTheme: TextTheme(
|
||||||
// body1: TextStyle(
|
// body1: TextStyle(
|
||||||
|
|||||||
@@ -1,17 +1,18 @@
|
|||||||
import 'package:cssd/config/routes.dart';
|
import 'package:flutter/cupertino.dart';
|
||||||
import 'package:cssd/models/cycles_models.dart';
|
|
||||||
import 'package:cssd/providers/connectivity.dart';
|
|
||||||
import 'package:cssd/providers/cycles.dart';
|
|
||||||
import 'package:cssd/widgets/CycleScreens/Add/add_label_box.dart';
|
|
||||||
import 'package:cssd/widgets/CycleScreens/Add/date_picker.dart';
|
|
||||||
import 'package:cssd/widgets/CycleScreens/Add/save_button.dart';
|
|
||||||
import 'package:cssd/widgets/Global/internet_error.dart';
|
|
||||||
import 'package:flutter/material.dart';
|
import 'package:flutter/material.dart';
|
||||||
import 'package:flutter/services.dart';
|
import 'package:flutter/services.dart';
|
||||||
import 'package:font_awesome_flutter/font_awesome_flutter.dart';
|
import 'package:font_awesome_flutter/font_awesome_flutter.dart';
|
||||||
import 'package:intl/intl.dart';
|
import 'package:intl/intl.dart';
|
||||||
import 'package:provider/provider.dart';
|
import 'package:provider/provider.dart';
|
||||||
import 'package:flutter/cupertino.dart';
|
|
||||||
|
import '../config/routes.dart';
|
||||||
|
import '../models/cycles_models.dart';
|
||||||
|
import '../providers/connectivity.dart';
|
||||||
|
import '../providers/cycles.dart';
|
||||||
|
import '../widgets/CycleScreens/Add/add_label_box.dart';
|
||||||
|
import '../widgets/CycleScreens/Add/date_picker.dart';
|
||||||
|
import '../widgets/CycleScreens/Add/save_button.dart';
|
||||||
|
import '../widgets/Global/internet_error.dart';
|
||||||
|
|
||||||
class CycleAddScreen extends StatefulWidget {
|
class CycleAddScreen extends StatefulWidget {
|
||||||
// static const route = '/CycleAddScreen';
|
// static const route = '/CycleAddScreen';
|
||||||
@@ -84,6 +85,7 @@ class _CycleAddScreenState extends State<CycleAddScreen> {
|
|||||||
);
|
);
|
||||||
return true;
|
return true;
|
||||||
},
|
},
|
||||||
|
child: SafeArea(
|
||||||
child: Scaffold(
|
child: Scaffold(
|
||||||
appBar: AppBar(
|
appBar: AppBar(
|
||||||
titleSpacing: -10,
|
titleSpacing: -10,
|
||||||
@@ -214,7 +216,8 @@ class _CycleAddScreenState extends State<CycleAddScreen> {
|
|||||||
shrinkWrap: true,
|
shrinkWrap: true,
|
||||||
itemBuilder: (ctx, index) => CycleAddLabelBox(
|
itemBuilder: (ctx, index) => CycleAddLabelBox(
|
||||||
deviceBlockSize: _deviceBlockSize,
|
deviceBlockSize: _deviceBlockSize,
|
||||||
labelValues: cycleProvider.labelValues[index],
|
labelValues:
|
||||||
|
cycleProvider.labelValues[index],
|
||||||
labelVals: cycleProvider.labelVals,
|
labelVals: cycleProvider.labelVals,
|
||||||
initialLabelValue:
|
initialLabelValue:
|
||||||
cycleProvider.initialLabelValue,
|
cycleProvider.initialLabelValue,
|
||||||
@@ -260,7 +263,8 @@ class _CycleAddScreenState extends State<CycleAddScreen> {
|
|||||||
),
|
),
|
||||||
CycleAddSaveButton(
|
CycleAddSaveButton(
|
||||||
form: _form,
|
form: _form,
|
||||||
labelValues: Provider.of<CyclesProvider>(context,
|
labelValues: Provider.of<CyclesProvider>(
|
||||||
|
context,
|
||||||
listen: false)
|
listen: false)
|
||||||
.labelValues,
|
.labelValues,
|
||||||
cycleNumberCTRL: cycleNumberCTRL,
|
cycleNumberCTRL: cycleNumberCTRL,
|
||||||
@@ -281,6 +285,7 @@ class _CycleAddScreenState extends State<CycleAddScreen> {
|
|||||||
: ConnectionErrorBox();
|
: ConnectionErrorBox();
|
||||||
}),
|
}),
|
||||||
),
|
),
|
||||||
|
),
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,11 +1,12 @@
|
|||||||
import 'package:cssd/models/cycles_models.dart';
|
|
||||||
import 'package:cssd/providers/connectivity.dart';
|
|
||||||
import 'package:cssd/providers/cycles.dart';
|
|
||||||
import 'package:cssd/widgets/CycleScreens/Details/datas_box.dart';
|
|
||||||
import 'package:cssd/widgets/Global/internet_error.dart';
|
|
||||||
import 'package:flutter/material.dart';
|
import 'package:flutter/material.dart';
|
||||||
import 'package:provider/provider.dart';
|
import 'package:provider/provider.dart';
|
||||||
|
|
||||||
|
import '../models/cycles_models.dart';
|
||||||
|
import '../providers/connectivity.dart';
|
||||||
|
import '../providers/cycles.dart';
|
||||||
|
import '../widgets/CycleScreens/Details/datas_box.dart';
|
||||||
|
import '../widgets/Global/internet_error.dart';
|
||||||
|
|
||||||
class CycleDetailScreen extends StatefulWidget {
|
class CycleDetailScreen extends StatefulWidget {
|
||||||
// static const route = '/CycleDetailScreen';
|
// static const route = '/CycleDetailScreen';
|
||||||
final String testResultId;
|
final String testResultId;
|
||||||
@@ -49,8 +50,8 @@ class _CycleDetailScreenState extends State<CycleDetailScreen> {
|
|||||||
// final double _pixelRatio = (_media.size.height / _media.size.width * 7 / 5);
|
// final double _pixelRatio = (_media.size.height / _media.size.width * 7 / 5);
|
||||||
final double _devicewidth = _media.size.width;
|
final double _devicewidth = _media.size.width;
|
||||||
final double _deviceBlockSize = _devicewidth / 100;
|
final double _deviceBlockSize = _devicewidth / 100;
|
||||||
print(datas);
|
return SafeArea(
|
||||||
return Scaffold(
|
child: Scaffold(
|
||||||
appBar: AppBar(
|
appBar: AppBar(
|
||||||
titleSpacing: -10,
|
titleSpacing: -10,
|
||||||
title: Text('Cycles'),
|
title: Text('Cycles'),
|
||||||
@@ -78,6 +79,7 @@ class _CycleDetailScreenState extends State<CycleDetailScreen> {
|
|||||||
)
|
)
|
||||||
: ConnectionErrorBox();
|
: ConnectionErrorBox();
|
||||||
}),
|
}),
|
||||||
|
),
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
import 'package:barcode_scan/barcode_scan.dart';
|
import 'package:barcode_scan2/barcode_scan2.dart';
|
||||||
import 'package:flutter/cupertino.dart';
|
import 'package:flutter/cupertino.dart';
|
||||||
import 'package:flutter/material.dart';
|
import 'package:flutter/material.dart';
|
||||||
import 'package:flutter/services.dart';
|
import 'package:flutter/services.dart';
|
||||||
@@ -98,6 +98,7 @@ class _CycleFilterScreenState extends State<CycleFilterScreen> {
|
|||||||
);
|
);
|
||||||
return true;
|
return true;
|
||||||
},
|
},
|
||||||
|
child: SafeArea(
|
||||||
child: Scaffold(
|
child: Scaffold(
|
||||||
appBar: AppBar(
|
appBar: AppBar(
|
||||||
titleSpacing: -10,
|
titleSpacing: -10,
|
||||||
@@ -299,6 +300,7 @@ class _CycleFilterScreenState extends State<CycleFilterScreen> {
|
|||||||
: ConnectionErrorBox();
|
: ConnectionErrorBox();
|
||||||
}),
|
}),
|
||||||
),
|
),
|
||||||
|
),
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,11 +1,11 @@
|
|||||||
import 'package:cssd/config/routes.dart';
|
import '../config/routes.dart';
|
||||||
|
|
||||||
import 'package:cssd/providers/connectivity.dart';
|
import '../providers/connectivity.dart';
|
||||||
import 'package:cssd/widgets/CycleScreens/Result/banner.dart';
|
import '../widgets/CycleScreens/Result/banner.dart';
|
||||||
import 'package:cssd/widgets/CycleScreens/Result/data_box.dart';
|
import '../widgets/CycleScreens/Result/data_box.dart';
|
||||||
import 'package:cssd/widgets/CycleScreens/Result/filter_objects.dart';
|
import '../widgets/CycleScreens/Result/filter_objects.dart';
|
||||||
import 'package:cssd/widgets/CycleScreens/Result/search_box.dart';
|
import '../widgets/CycleScreens/Result/search_box.dart';
|
||||||
import 'package:cssd/widgets/Global/internet_error.dart';
|
import '../widgets/Global/internet_error.dart';
|
||||||
|
|
||||||
import '../providers/cycles.dart';
|
import '../providers/cycles.dart';
|
||||||
|
|
||||||
@@ -62,7 +62,8 @@ class _CycleResultScreenState extends State<CycleResultScreen> {
|
|||||||
final _media = MediaQuery.of(context);
|
final _media = MediaQuery.of(context);
|
||||||
final double _devicewidth = _media.size.width;
|
final double _devicewidth = _media.size.width;
|
||||||
final double _deviceBlockSize = _devicewidth / 100;
|
final double _deviceBlockSize = _devicewidth / 100;
|
||||||
return Scaffold(
|
return SafeArea(
|
||||||
|
child: Scaffold(
|
||||||
floatingActionButton: CycleResultFloatingButton(
|
floatingActionButton: CycleResultFloatingButton(
|
||||||
deviceBlockSize: _deviceBlockSize,
|
deviceBlockSize: _deviceBlockSize,
|
||||||
),
|
),
|
||||||
@@ -96,7 +97,8 @@ class _CycleResultScreenState extends State<CycleResultScreen> {
|
|||||||
scrollDirection: Axis.horizontal,
|
scrollDirection: Axis.horizontal,
|
||||||
shrinkWrap: true,
|
shrinkWrap: true,
|
||||||
children: <Widget>[
|
children: <Widget>[
|
||||||
CycleFilterBaner(deviceBlockSize: _deviceBlockSize),
|
CycleFilterBaner(
|
||||||
|
deviceBlockSize: _deviceBlockSize),
|
||||||
cycle.filters.id != ''
|
cycle.filters.id != ''
|
||||||
? CycleFilterChip(
|
? CycleFilterChip(
|
||||||
deviceBlockSize: _deviceBlockSize,
|
deviceBlockSize: _deviceBlockSize,
|
||||||
@@ -179,8 +181,8 @@ class _CycleResultScreenState extends State<CycleResultScreen> {
|
|||||||
labels += label;
|
labels += label;
|
||||||
labels += ' , ';
|
labels += ' , ';
|
||||||
}
|
}
|
||||||
labels = labels.substring(
|
labels = labels.substring(0,
|
||||||
0, labels.length - 3); // remove extra ,
|
labels.length - 3); // remove extra ,
|
||||||
return CycleItemBox(
|
return CycleItemBox(
|
||||||
deviceBlockSize: _deviceBlockSize,
|
deviceBlockSize: _deviceBlockSize,
|
||||||
item: cycleResults.items[index],
|
item: cycleResults.items[index],
|
||||||
@@ -198,6 +200,7 @@ class _CycleResultScreenState extends State<CycleResultScreen> {
|
|||||||
)
|
)
|
||||||
: ConnectionErrorBox();
|
: ConnectionErrorBox();
|
||||||
}),
|
}),
|
||||||
|
),
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,13 +1,13 @@
|
|||||||
import 'package:cssd/providers/connectivity.dart';
|
import 'package:barcode_scan2/barcode_scan2.dart';
|
||||||
import 'package:cssd/widgets/Global/internet_error.dart';
|
|
||||||
import 'package:flutter/material.dart';
|
import 'package:flutter/material.dart';
|
||||||
import 'package:flutter/services.dart';
|
import 'package:flutter/services.dart';
|
||||||
import 'package:barcode_scan/barcode_scan.dart';
|
|
||||||
|
|
||||||
import 'package:font_awesome_flutter/font_awesome_flutter.dart';
|
import 'package:font_awesome_flutter/font_awesome_flutter.dart';
|
||||||
import 'package:provider/provider.dart';
|
import 'package:provider/provider.dart';
|
||||||
import 'package:url_launcher/url_launcher.dart';
|
import 'package:url_launcher/url_launcher.dart';
|
||||||
|
|
||||||
|
import '../providers/connectivity.dart';
|
||||||
|
import '../widgets/Global/internet_error.dart';
|
||||||
|
|
||||||
class CycleScanScreen extends StatefulWidget {
|
class CycleScanScreen extends StatefulWidget {
|
||||||
// static const route = '/cycleScanScreen';
|
// static const route = '/cycleScanScreen';
|
||||||
@override
|
@override
|
||||||
@@ -27,7 +27,8 @@ class _CycleScanScreenState extends State<CycleScanScreen> {
|
|||||||
// final double _pixelRatio = (_media.size.height / _media.size.width * 7 / 5);
|
// final double _pixelRatio = (_media.size.height / _media.size.width * 7 / 5);
|
||||||
final double _devicewidth = _media.size.width;
|
final double _devicewidth = _media.size.width;
|
||||||
final double _deviceBlockSize = _devicewidth / 100;
|
final double _deviceBlockSize = _devicewidth / 100;
|
||||||
return Scaffold(
|
return SafeArea(
|
||||||
|
child: Scaffold(
|
||||||
appBar: AppBar(
|
appBar: AppBar(
|
||||||
centerTitle: true,
|
centerTitle: true,
|
||||||
titleSpacing: -10,
|
titleSpacing: -10,
|
||||||
@@ -165,7 +166,8 @@ class _CycleScanScreenState extends State<CycleScanScreen> {
|
|||||||
horizontal: 5 * _deviceBlockSize,
|
horizontal: 5 * _deviceBlockSize,
|
||||||
vertical: 10,
|
vertical: 10,
|
||||||
),
|
),
|
||||||
margin: EdgeInsets.only(bottom: 50,left: 20,right: 20),
|
margin:
|
||||||
|
EdgeInsets.only(bottom: 50, left: 20, right: 20),
|
||||||
decoration: BoxDecoration(
|
decoration: BoxDecoration(
|
||||||
gradient: LinearGradient(
|
gradient: LinearGradient(
|
||||||
colors: [Colors.red, Colors.orange],
|
colors: [Colors.red, Colors.orange],
|
||||||
@@ -188,6 +190,7 @@ class _CycleScanScreenState extends State<CycleScanScreen> {
|
|||||||
)
|
)
|
||||||
: ConnectionErrorBox();
|
: ConnectionErrorBox();
|
||||||
}),
|
}),
|
||||||
|
),
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -38,7 +38,7 @@ class _ForgetPassScreenState extends State<ForgetPassScreen> {
|
|||||||
title: Text('Error'),
|
title: Text('Error'),
|
||||||
content: Text(message),
|
content: Text(message),
|
||||||
actions: <Widget>[
|
actions: <Widget>[
|
||||||
FlatButton(
|
TextButton(
|
||||||
child: Text('Ok'),
|
child: Text('Ok'),
|
||||||
onPressed: () {
|
onPressed: () {
|
||||||
Navigator.of(ctx).pop();
|
Navigator.of(ctx).pop();
|
||||||
@@ -90,7 +90,8 @@ class _ForgetPassScreenState extends State<ForgetPassScreen> {
|
|||||||
// final double _pixelRatio = (_media.size.height / _media.size.width * 7 / 5);
|
// final double _pixelRatio = (_media.size.height / _media.size.width * 7 / 5);
|
||||||
final double _devicewidth = _media.size.width;
|
final double _devicewidth = _media.size.width;
|
||||||
final double _deviceBlockSize = _devicewidth / 100;
|
final double _deviceBlockSize = _devicewidth / 100;
|
||||||
return Scaffold(
|
return SafeArea(
|
||||||
|
child: Scaffold(
|
||||||
appBar: AppBar(
|
appBar: AppBar(
|
||||||
centerTitle: true,
|
centerTitle: true,
|
||||||
title: Text('CSSD'),
|
title: Text('CSSD'),
|
||||||
@@ -191,6 +192,7 @@ class _ForgetPassScreenState extends State<ForgetPassScreen> {
|
|||||||
: ConnectionErrorBox(),
|
: ConnectionErrorBox(),
|
||||||
selector: (_, connectivity) => connectivity.conStatus,
|
selector: (_, connectivity) => connectivity.conStatus,
|
||||||
),
|
),
|
||||||
|
),
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
import 'package:barcode_scan/platform_wrapper.dart';
|
import 'package:barcode_scan2/platform_wrapper.dart';
|
||||||
import 'package:double_back_to_close_app/double_back_to_close_app.dart';
|
import 'package:double_back_to_close_app/double_back_to_close_app.dart';
|
||||||
import 'package:flutter/material.dart';
|
import 'package:flutter/material.dart';
|
||||||
import 'package:flutter/services.dart';
|
import 'package:flutter/services.dart';
|
||||||
@@ -6,13 +6,13 @@ import 'package:flutter_phoenix/flutter_phoenix.dart';
|
|||||||
import 'package:provider/provider.dart';
|
import 'package:provider/provider.dart';
|
||||||
import 'package:url_launcher/url_launcher.dart';
|
import 'package:url_launcher/url_launcher.dart';
|
||||||
|
|
||||||
import './my_info_screen.dart';
|
|
||||||
import '../providers/auth.dart';
|
import '../providers/auth.dart';
|
||||||
import '../providers/connectivity.dart';
|
import '../providers/connectivity.dart';
|
||||||
import '../widgets/Global/drawer.dart';
|
import '../widgets/Global/drawer.dart';
|
||||||
import '../widgets/Global/internet_error.dart';
|
import '../widgets/Global/internet_error.dart';
|
||||||
import 'cycle_result_screen.dart';
|
import 'cycle_result_screen.dart';
|
||||||
import 'label_result_screen.dart';
|
import 'label_result_screen.dart';
|
||||||
|
import 'my_info_screen.dart';
|
||||||
import 'test_result_screen.dart';
|
import 'test_result_screen.dart';
|
||||||
import 'test_verify_screen.dart';
|
import 'test_verify_screen.dart';
|
||||||
|
|
||||||
@@ -25,8 +25,9 @@ class HomePage extends StatelessWidget {
|
|||||||
final userData = Provider.of<Auth>(context, listen: false).user;
|
final userData = Provider.of<Auth>(context, listen: false).user;
|
||||||
|
|
||||||
// print(userData['roles']);
|
// print(userData['roles']);
|
||||||
return Scaffold(
|
return SafeArea(
|
||||||
resizeToAvoidBottomPadding: false,
|
child: Scaffold(
|
||||||
|
// resizeToAvoidBottomPadding: false,
|
||||||
drawer: Selector<ConnectivityProvider, String>(
|
drawer: Selector<ConnectivityProvider, String>(
|
||||||
builder: (ctx, value, _) =>
|
builder: (ctx, value, _) =>
|
||||||
value != 'offline' ? AppDrawer() : Container(),
|
value != 'offline' ? AppDrawer() : Container(),
|
||||||
@@ -53,7 +54,7 @@ class HomePage extends StatelessWidget {
|
|||||||
title: Text('LogOut'),
|
title: Text('LogOut'),
|
||||||
content: Text('Are you sure for logout?'),
|
content: Text('Are you sure for logout?'),
|
||||||
actions: <Widget>[
|
actions: <Widget>[
|
||||||
FlatButton(
|
TextButton(
|
||||||
child: Text('Yes'),
|
child: Text('Yes'),
|
||||||
onPressed: () {
|
onPressed: () {
|
||||||
Navigator.of(ctx).pop();
|
Navigator.of(ctx).pop();
|
||||||
@@ -61,7 +62,7 @@ class HomePage extends StatelessWidget {
|
|||||||
Phoenix.rebirth(context);
|
Phoenix.rebirth(context);
|
||||||
},
|
},
|
||||||
),
|
),
|
||||||
FlatButton(
|
TextButton(
|
||||||
child: Text('No'),
|
child: Text('No'),
|
||||||
onPressed: () {
|
onPressed: () {
|
||||||
Navigator.of(ctx).pop();
|
Navigator.of(ctx).pop();
|
||||||
@@ -215,6 +216,7 @@ class HomePage extends StatelessWidget {
|
|||||||
: ConnectionErrorBox();
|
: ConnectionErrorBox();
|
||||||
},
|
},
|
||||||
),
|
),
|
||||||
|
),
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -359,7 +361,7 @@ class BarcodeSelectionItem extends StatelessWidget {
|
|||||||
print(result);
|
print(result);
|
||||||
showDialog(
|
showDialog(
|
||||||
context: context,
|
context: context,
|
||||||
child: AlertDialog(
|
builder: (_) => AlertDialog(
|
||||||
title: Text(
|
title: Text(
|
||||||
'نتیجه ی اسکن',
|
'نتیجه ی اسکن',
|
||||||
textDirection: TextDirection.rtl,
|
textDirection: TextDirection.rtl,
|
||||||
@@ -376,7 +378,7 @@ class BarcodeSelectionItem extends StatelessWidget {
|
|||||||
),
|
),
|
||||||
),
|
),
|
||||||
actions: <Widget>[
|
actions: <Widget>[
|
||||||
FlatButton(
|
TextButton(
|
||||||
onPressed: () async {
|
onPressed: () async {
|
||||||
await launch(result);
|
await launch(result);
|
||||||
Navigator.of(context).pop();
|
Navigator.of(context).pop();
|
||||||
|
|||||||
@@ -84,6 +84,7 @@ class _LabelAddScreenState extends State<LabelAddScreen> {
|
|||||||
);
|
);
|
||||||
return true;
|
return true;
|
||||||
},
|
},
|
||||||
|
child: SafeArea(
|
||||||
child: Scaffold(
|
child: Scaffold(
|
||||||
appBar: AppBar(
|
appBar: AppBar(
|
||||||
titleSpacing: -10,
|
titleSpacing: -10,
|
||||||
@@ -274,6 +275,7 @@ class _LabelAddScreenState extends State<LabelAddScreen> {
|
|||||||
: ConnectionErrorBox();
|
: ConnectionErrorBox();
|
||||||
}),
|
}),
|
||||||
),
|
),
|
||||||
|
),
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,8 +1,8 @@
|
|||||||
import 'package:cssd/models/label_models.dart';
|
import '../models/label_models.dart';
|
||||||
import 'package:cssd/providers/connectivity.dart';
|
import '../providers/connectivity.dart';
|
||||||
import 'package:cssd/providers/labels.dart';
|
import '../providers/labels.dart';
|
||||||
import 'package:cssd/widgets/Global/internet_error.dart';
|
import '../widgets/Global/internet_error.dart';
|
||||||
import 'package:cssd/widgets/LabelScreens/Detail/datas_box.dart';
|
import '../widgets/LabelScreens/Detail/datas_box.dart';
|
||||||
import 'package:flutter/material.dart';
|
import 'package:flutter/material.dart';
|
||||||
import 'package:provider/provider.dart';
|
import 'package:provider/provider.dart';
|
||||||
|
|
||||||
@@ -50,8 +50,8 @@ class _LabelDetailScreenState extends State<LabelDetailScreen> {
|
|||||||
// final double _pixelRatio = (_media.size.height / _media.size.width * 7 / 5);
|
// final double _pixelRatio = (_media.size.height / _media.size.width * 7 / 5);
|
||||||
final double _devicewidth = _media.size.width;
|
final double _devicewidth = _media.size.width;
|
||||||
final double _deviceBlockSize = _devicewidth / 100;
|
final double _deviceBlockSize = _devicewidth / 100;
|
||||||
print(datas);
|
return SafeArea(
|
||||||
return Scaffold(
|
child: Scaffold(
|
||||||
appBar: AppBar(
|
appBar: AppBar(
|
||||||
titleSpacing: -10,
|
titleSpacing: -10,
|
||||||
title: Text('Labels'),
|
title: Text('Labels'),
|
||||||
@@ -79,6 +79,7 @@ class _LabelDetailScreenState extends State<LabelDetailScreen> {
|
|||||||
)
|
)
|
||||||
: ConnectionErrorBox();
|
: ConnectionErrorBox();
|
||||||
}),
|
}),
|
||||||
|
),
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,16 +1,17 @@
|
|||||||
import 'package:barcode_scan/barcode_scan.dart';
|
import 'package:barcode_scan2/barcode_scan2.dart';
|
||||||
import 'package:cssd/config/routes.dart';
|
import 'package:flutter/cupertino.dart';
|
||||||
import 'package:cssd/models/label_models.dart';
|
|
||||||
import 'package:cssd/providers/connectivity.dart';
|
|
||||||
import 'package:cssd/providers/labels.dart';
|
|
||||||
import 'package:cssd/widgets/Global/internet_error.dart';
|
|
||||||
import 'package:cssd/widgets/LabelScreens/Filter/save_button.dart';
|
|
||||||
import 'package:cssd/widgets/LabelScreens/Filter/selector_box.dart';
|
|
||||||
import 'package:flutter/material.dart';
|
import 'package:flutter/material.dart';
|
||||||
import 'package:flutter/services.dart';
|
import 'package:flutter/services.dart';
|
||||||
import 'package:font_awesome_flutter/font_awesome_flutter.dart';
|
import 'package:font_awesome_flutter/font_awesome_flutter.dart';
|
||||||
import 'package:provider/provider.dart';
|
import 'package:provider/provider.dart';
|
||||||
import 'package:flutter/cupertino.dart';
|
|
||||||
|
import '../config/routes.dart';
|
||||||
|
import '../models/label_models.dart';
|
||||||
|
import '../providers/connectivity.dart';
|
||||||
|
import '../providers/labels.dart';
|
||||||
|
import '../widgets/Global/internet_error.dart';
|
||||||
|
import '../widgets/LabelScreens/Filter/save_button.dart';
|
||||||
|
import '../widgets/LabelScreens/Filter/selector_box.dart';
|
||||||
|
|
||||||
class LabelFilterScreen extends StatefulWidget {
|
class LabelFilterScreen extends StatefulWidget {
|
||||||
// static const route = '/LabelFilterScreen';
|
// static const route = '/LabelFilterScreen';
|
||||||
@@ -90,6 +91,7 @@ class _LabelFilterScreenState extends State<LabelFilterScreen> {
|
|||||||
);
|
);
|
||||||
return true;
|
return true;
|
||||||
},
|
},
|
||||||
|
child: SafeArea(
|
||||||
child: Scaffold(
|
child: Scaffold(
|
||||||
appBar: AppBar(
|
appBar: AppBar(
|
||||||
titleSpacing: -10,
|
titleSpacing: -10,
|
||||||
@@ -151,8 +153,8 @@ class _LabelFilterScreenState extends State<LabelFilterScreen> {
|
|||||||
keyboardType: TextInputType.number,
|
keyboardType: TextInputType.number,
|
||||||
textInputAction: TextInputAction.next,
|
textInputAction: TextInputAction.next,
|
||||||
onFieldSubmitted: (_) {
|
onFieldSubmitted: (_) {
|
||||||
FocusScope.of(context)
|
FocusScope.of(context).requestFocus(
|
||||||
.requestFocus(_cycleNumberFocusNode);
|
_cycleNumberFocusNode);
|
||||||
},
|
},
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
@@ -284,9 +286,11 @@ class _LabelFilterScreenState extends State<LabelFilterScreen> {
|
|||||||
},
|
},
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
|
),
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
Future<String> scan() async {
|
Future<String> scan() async {
|
||||||
try {
|
try {
|
||||||
var barcode = await BarcodeScanner.scan();
|
var barcode = await BarcodeScanner.scan();
|
||||||
|
|||||||
@@ -1,15 +1,16 @@
|
|||||||
import 'package:cssd/config/routes.dart';
|
|
||||||
import 'package:cssd/providers/connectivity.dart';
|
|
||||||
import 'package:cssd/widgets/Global/page_header.dart';
|
|
||||||
import 'package:cssd/widgets/Global/internet_error.dart';
|
|
||||||
import 'package:cssd/widgets/LabelScreens/Result/data_box.dart';
|
|
||||||
import 'package:cssd/widgets/LabelScreens/Result/filter_chip_box.dart';
|
|
||||||
import 'package:cssd/widgets/LabelScreens/Result/floating_buttons.dart';
|
|
||||||
import 'package:cssd/widgets/LabelScreens/Result/search_box.dart';
|
|
||||||
import 'package:flutter/material.dart';
|
import 'package:flutter/material.dart';
|
||||||
import 'package:font_awesome_flutter/font_awesome_flutter.dart';
|
import 'package:font_awesome_flutter/font_awesome_flutter.dart';
|
||||||
import 'package:provider/provider.dart';
|
import 'package:provider/provider.dart';
|
||||||
|
|
||||||
|
import '../config/routes.dart';
|
||||||
|
import '../providers/connectivity.dart';
|
||||||
import '../providers/labels.dart';
|
import '../providers/labels.dart';
|
||||||
|
import '../widgets/Global/internet_error.dart';
|
||||||
|
import '../widgets/Global/page_header.dart';
|
||||||
|
import '../widgets/LabelScreens/Result/data_box.dart';
|
||||||
|
import '../widgets/LabelScreens/Result/filter_chip_box.dart';
|
||||||
|
import '../widgets/LabelScreens/Result/floating_buttons.dart';
|
||||||
|
import '../widgets/LabelScreens/Result/search_box.dart';
|
||||||
|
|
||||||
class LabelResultScreen extends StatefulWidget {
|
class LabelResultScreen extends StatefulWidget {
|
||||||
// static const route = '/LabelResultScreen';
|
// static const route = '/LabelResultScreen';
|
||||||
@@ -61,7 +62,8 @@ class _LabelResultScreenState extends State<LabelResultScreen> {
|
|||||||
final _media = MediaQuery.of(context);
|
final _media = MediaQuery.of(context);
|
||||||
final double _devicewidth = _media.size.width;
|
final double _devicewidth = _media.size.width;
|
||||||
final double _deviceBlockSize = _devicewidth / 100;
|
final double _deviceBlockSize = _devicewidth / 100;
|
||||||
return Scaffold(
|
return SafeArea(
|
||||||
|
child: Scaffold(
|
||||||
floatingActionButton:
|
floatingActionButton:
|
||||||
LabelFloatingButtons(deviceBlockSize: _deviceBlockSize),
|
LabelFloatingButtons(deviceBlockSize: _deviceBlockSize),
|
||||||
appBar: AppBar(
|
appBar: AppBar(
|
||||||
@@ -79,8 +81,8 @@ class _LabelResultScreenState extends State<LabelResultScreen> {
|
|||||||
builder: (ct, connection, _) {
|
builder: (ct, connection, _) {
|
||||||
return connection.conStatus != 'offline'
|
return connection.conStatus != 'offline'
|
||||||
? Padding(
|
? Padding(
|
||||||
padding:
|
padding: EdgeInsets.only(
|
||||||
EdgeInsets.only(top: 20, right: 20, bottom: 60, left: 20),
|
top: 20, right: 20, bottom: 60, left: 20),
|
||||||
child: Column(
|
child: Column(
|
||||||
crossAxisAlignment: CrossAxisAlignment.start,
|
crossAxisAlignment: CrossAxisAlignment.start,
|
||||||
children: <Widget>[
|
children: <Widget>[
|
||||||
@@ -130,7 +132,8 @@ class _LabelResultScreenState extends State<LabelResultScreen> {
|
|||||||
? LabelFilterChip(
|
? LabelFilterChip(
|
||||||
deviceBlockSize: _deviceBlockSize,
|
deviceBlockSize: _deviceBlockSize,
|
||||||
id: '',
|
id: '',
|
||||||
cycleNumber: label.filters.cycleNumber,
|
cycleNumber:
|
||||||
|
label.filters.cycleNumber,
|
||||||
sterilizerId:
|
sterilizerId:
|
||||||
label.filters.sterilizerId,
|
label.filters.sterilizerId,
|
||||||
hospital: label.filters.hospital,
|
hospital: label.filters.hospital,
|
||||||
@@ -152,7 +155,8 @@ class _LabelResultScreenState extends State<LabelResultScreen> {
|
|||||||
? LabelFilterChip(
|
? LabelFilterChip(
|
||||||
deviceBlockSize: _deviceBlockSize,
|
deviceBlockSize: _deviceBlockSize,
|
||||||
id: label.filters.id,
|
id: label.filters.id,
|
||||||
cycleNumber: label.filters.cycleNumber,
|
cycleNumber:
|
||||||
|
label.filters.cycleNumber,
|
||||||
sterilizerId: '',
|
sterilizerId: '',
|
||||||
hospital: label.filters.hospital,
|
hospital: label.filters.hospital,
|
||||||
label: 'Sterilizer ID',
|
label: 'Sterilizer ID',
|
||||||
@@ -162,7 +166,8 @@ class _LabelResultScreenState extends State<LabelResultScreen> {
|
|||||||
? LabelFilterChip(
|
? LabelFilterChip(
|
||||||
deviceBlockSize: _deviceBlockSize,
|
deviceBlockSize: _deviceBlockSize,
|
||||||
id: label.filters.id,
|
id: label.filters.id,
|
||||||
cycleNumber: label.filters.cycleNumber,
|
cycleNumber:
|
||||||
|
label.filters.cycleNumber,
|
||||||
sterilizerId:
|
sterilizerId:
|
||||||
label.filters.sterilizerId,
|
label.filters.sterilizerId,
|
||||||
hospital: '',
|
hospital: '',
|
||||||
@@ -206,6 +211,7 @@ class _LabelResultScreenState extends State<LabelResultScreen> {
|
|||||||
: ConnectionErrorBox();
|
: ConnectionErrorBox();
|
||||||
},
|
},
|
||||||
),
|
),
|
||||||
|
),
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,12 +1,13 @@
|
|||||||
import 'package:cssd/providers/connectivity.dart';
|
|
||||||
import 'package:cssd/widgets/Global/internet_error.dart';
|
|
||||||
import 'package:cssd/widgets/LabelScreens/Scan/input_box.dart';
|
|
||||||
import 'package:cssd/widgets/LabelScreens/Scan/save_button.dart';
|
|
||||||
import 'package:cssd/widgets/LabelScreens/Scan/scan_box.dart';
|
|
||||||
import 'package:flutter/material.dart';
|
import 'package:flutter/material.dart';
|
||||||
import 'package:provider/provider.dart';
|
import 'package:provider/provider.dart';
|
||||||
|
|
||||||
|
import '../providers/connectivity.dart';
|
||||||
|
import '../widgets/Global/internet_error.dart';
|
||||||
|
import '../widgets/LabelScreens/Scan/input_box.dart';
|
||||||
|
import '../widgets/LabelScreens/Scan/save_button.dart';
|
||||||
|
import '../widgets/LabelScreens/Scan/scan_box.dart';
|
||||||
// import 'package:flutter/services.dart';
|
// import 'package:flutter/services.dart';
|
||||||
// import 'package:barcode_scan/barcode_scan.dart';
|
// import 'package:barcode_scan2/barcode_scan2.dart';
|
||||||
|
|
||||||
class LabelScanScreen extends StatefulWidget {
|
class LabelScanScreen extends StatefulWidget {
|
||||||
// static const route = '/LabelScanScreen';
|
// static const route = '/LabelScanScreen';
|
||||||
@@ -27,7 +28,8 @@ class _LabelScanScreenState extends State<LabelScanScreen> {
|
|||||||
// final double _pixelRatio = (_media.size.height / _media.size.width * 7 / 5);
|
// final double _pixelRatio = (_media.size.height / _media.size.width * 7 / 5);
|
||||||
final double _devicewidth = _media.size.width;
|
final double _devicewidth = _media.size.width;
|
||||||
final double _deviceBlockSize = _devicewidth / 100;
|
final double _deviceBlockSize = _devicewidth / 100;
|
||||||
return Scaffold(
|
return SafeArea(
|
||||||
|
child: Scaffold(
|
||||||
appBar: AppBar(
|
appBar: AppBar(
|
||||||
centerTitle: true,
|
centerTitle: true,
|
||||||
titleSpacing: -10,
|
titleSpacing: -10,
|
||||||
@@ -85,6 +87,7 @@ class _LabelScanScreenState extends State<LabelScanScreen> {
|
|||||||
: ConnectionErrorBox();
|
: ConnectionErrorBox();
|
||||||
},
|
},
|
||||||
),
|
),
|
||||||
|
),
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -107,6 +107,7 @@ class _LabelUpdateScreenState extends State<LabelUpdateScreen> {
|
|||||||
);
|
);
|
||||||
return true;
|
return true;
|
||||||
},
|
},
|
||||||
|
child: SafeArea(
|
||||||
child: Scaffold(
|
child: Scaffold(
|
||||||
appBar: AppBar(
|
appBar: AppBar(
|
||||||
titleSpacing: -10,
|
titleSpacing: -10,
|
||||||
@@ -298,6 +299,7 @@ class _LabelUpdateScreenState extends State<LabelUpdateScreen> {
|
|||||||
: ConnectionErrorBox();
|
: ConnectionErrorBox();
|
||||||
}),
|
}),
|
||||||
),
|
),
|
||||||
|
),
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,11 +1,12 @@
|
|||||||
import 'package:cssd/config/routes.dart';
|
|
||||||
import 'package:cssd/providers/auth.dart';
|
|
||||||
import 'package:cssd/providers/connectivity.dart';
|
|
||||||
import 'package:cssd/widgets/Global/internet_error.dart';
|
|
||||||
import 'package:flutter/material.dart';
|
import 'package:flutter/material.dart';
|
||||||
import 'package:font_awesome_flutter/font_awesome_flutter.dart';
|
import 'package:font_awesome_flutter/font_awesome_flutter.dart';
|
||||||
import 'package:provider/provider.dart';
|
import 'package:provider/provider.dart';
|
||||||
|
|
||||||
|
import '../config/routes.dart';
|
||||||
|
import '../providers/auth.dart';
|
||||||
|
import '../providers/connectivity.dart';
|
||||||
|
import '../widgets/Global/internet_error.dart';
|
||||||
|
|
||||||
class LoginScreen extends StatefulWidget {
|
class LoginScreen extends StatefulWidget {
|
||||||
// static const route = '/HomeScreen';
|
// static const route = '/HomeScreen';
|
||||||
|
|
||||||
@@ -44,7 +45,7 @@ class _LoginScreenState extends State<LoginScreen> {
|
|||||||
title: Text('Error'),
|
title: Text('Error'),
|
||||||
content: Text(message),
|
content: Text(message),
|
||||||
actions: <Widget>[
|
actions: <Widget>[
|
||||||
FlatButton(
|
TextButton(
|
||||||
child: Text('Ok'),
|
child: Text('Ok'),
|
||||||
onPressed: () {
|
onPressed: () {
|
||||||
Navigator.of(ctx).pop();
|
Navigator.of(ctx).pop();
|
||||||
@@ -110,7 +111,8 @@ class _LoginScreenState extends State<LoginScreen> {
|
|||||||
// final double _pixelRatio = (_media.size.height / _media.size.width * 7 / 5);
|
// final double _pixelRatio = (_media.size.height / _media.size.width * 7 / 5);
|
||||||
final double _devicewidth = _media.size.width;
|
final double _devicewidth = _media.size.width;
|
||||||
final double _deviceBlockSize = _devicewidth / 100;
|
final double _deviceBlockSize = _devicewidth / 100;
|
||||||
return Scaffold(
|
return SafeArea(
|
||||||
|
child: Scaffold(
|
||||||
appBar: AppBar(
|
appBar: AppBar(
|
||||||
centerTitle: true,
|
centerTitle: true,
|
||||||
title: Text('CSSD'),
|
title: Text('CSSD'),
|
||||||
@@ -270,8 +272,7 @@ class _LoginScreenState extends State<LoginScreen> {
|
|||||||
],
|
],
|
||||||
),
|
),
|
||||||
SizedBox(height: 10),
|
SizedBox(height: 10),
|
||||||
FlatButton(
|
TextButton(
|
||||||
padding: EdgeInsets.all(0),
|
|
||||||
child: Align(
|
child: Align(
|
||||||
alignment: Alignment.centerLeft,
|
alignment: Alignment.centerLeft,
|
||||||
child: Text(
|
child: Text(
|
||||||
@@ -290,6 +291,7 @@ class _LoginScreenState extends State<LoginScreen> {
|
|||||||
)
|
)
|
||||||
: ConnectionErrorBox(),
|
: ConnectionErrorBox(),
|
||||||
selector: (_, connectivity) => connectivity.conStatus,
|
selector: (_, connectivity) => connectivity.conStatus,
|
||||||
));
|
)),
|
||||||
|
);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -40,7 +40,8 @@ class _MyInfoScreenState extends State<MyInfoScreen> {
|
|||||||
final _media = MediaQuery.of(context);
|
final _media = MediaQuery.of(context);
|
||||||
final double _devicewidth = _media.size.width;
|
final double _devicewidth = _media.size.width;
|
||||||
final double _deviceBlockSize = _devicewidth / 100;
|
final double _deviceBlockSize = _devicewidth / 100;
|
||||||
return Scaffold(
|
return SafeArea(
|
||||||
|
child: Scaffold(
|
||||||
appBar: AppBar(
|
appBar: AppBar(
|
||||||
titleSpacing: -10,
|
titleSpacing: -10,
|
||||||
title: Text('Dashboard'),
|
title: Text('Dashboard'),
|
||||||
@@ -138,7 +139,8 @@ class _MyInfoScreenState extends State<MyInfoScreen> {
|
|||||||
),
|
),
|
||||||
),
|
),
|
||||||
onTap: () async {
|
onTap: () async {
|
||||||
await Provider.of<Auth>(context, listen: false)
|
await Provider.of<Auth>(context,
|
||||||
|
listen: false)
|
||||||
.setUserData(
|
.setUserData(
|
||||||
user['id'],
|
user['id'],
|
||||||
usernameCTRL.text,
|
usernameCTRL.text,
|
||||||
@@ -152,7 +154,7 @@ class _MyInfoScreenState extends State<MyInfoScreen> {
|
|||||||
'Info changed successfully.',
|
'Info changed successfully.',
|
||||||
),
|
),
|
||||||
actions: <Widget>[
|
actions: <Widget>[
|
||||||
FlatButton(
|
TextButton(
|
||||||
child: Text('Ok'),
|
child: Text('Ok'),
|
||||||
onPressed: () {
|
onPressed: () {
|
||||||
Navigator.of(ctx).pop();
|
Navigator.of(ctx).pop();
|
||||||
@@ -172,6 +174,7 @@ class _MyInfoScreenState extends State<MyInfoScreen> {
|
|||||||
)
|
)
|
||||||
: ConnectionErrorBox();
|
: ConnectionErrorBox();
|
||||||
}),
|
}),
|
||||||
|
),
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -43,7 +43,7 @@ class _RePassScreenState extends State<RePassScreen> {
|
|||||||
builder: (ctx) => AlertDialog(
|
builder: (ctx) => AlertDialog(
|
||||||
content: Text(message),
|
content: Text(message),
|
||||||
actions: <Widget>[
|
actions: <Widget>[
|
||||||
FlatButton(
|
TextButton(
|
||||||
child: Text('Ok'),
|
child: Text('Ok'),
|
||||||
onPressed: () {
|
onPressed: () {
|
||||||
Navigator.of(ctx).pop();
|
Navigator.of(ctx).pop();
|
||||||
@@ -79,7 +79,8 @@ class _RePassScreenState extends State<RePassScreen> {
|
|||||||
// final double _pixelRatio = (_media.size.height / _media.size.width * 7 / 5);
|
// final double _pixelRatio = (_media.size.height / _media.size.width * 7 / 5);
|
||||||
final double _devicewidth = _media.size.width;
|
final double _devicewidth = _media.size.width;
|
||||||
final double _deviceBlockSize = _devicewidth / 100;
|
final double _deviceBlockSize = _devicewidth / 100;
|
||||||
return Scaffold(
|
return SafeArea(
|
||||||
|
child: Scaffold(
|
||||||
appBar: AppBar(
|
appBar: AppBar(
|
||||||
centerTitle: true,
|
centerTitle: true,
|
||||||
title: Text('CSSD'),
|
title: Text('CSSD'),
|
||||||
@@ -236,6 +237,7 @@ class _RePassScreenState extends State<RePassScreen> {
|
|||||||
)
|
)
|
||||||
: ConnectionErrorBox(),
|
: ConnectionErrorBox(),
|
||||||
selector: (_, connectivity) => connectivity.conStatus,
|
selector: (_, connectivity) => connectivity.conStatus,
|
||||||
));
|
)),
|
||||||
|
);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -39,7 +39,7 @@ class _RegisterState extends State<Register> {
|
|||||||
// title: Text('error occured'),
|
// title: Text('error occured'),
|
||||||
// content: Text(message),
|
// content: Text(message),
|
||||||
// actions: <Widget>[
|
// actions: <Widget>[
|
||||||
// FlatButton(
|
// TextButton(
|
||||||
// child: Text('Ok'),
|
// child: Text('Ok'),
|
||||||
// onPressed: () {
|
// onPressed: () {
|
||||||
// Navigator.of(ctx).pop();
|
// Navigator.of(ctx).pop();
|
||||||
@@ -84,8 +84,9 @@ class _RegisterState extends State<Register> {
|
|||||||
// final double _pixelRatio = (_media.size.height / _media.size.width * 7 / 5);
|
// final double _pixelRatio = (_media.size.height / _media.size.width * 7 / 5);
|
||||||
final double _devicewidth = _media.size.width;
|
final double _devicewidth = _media.size.width;
|
||||||
final double _deviceBlockSize = _devicewidth / 100;
|
final double _deviceBlockSize = _devicewidth / 100;
|
||||||
return Scaffold(
|
return SafeArea(
|
||||||
appBar:AppBar(
|
child: Scaffold(
|
||||||
|
appBar: AppBar(
|
||||||
titleSpacing: -10,
|
titleSpacing: -10,
|
||||||
title: Text('Login'),
|
title: Text('Login'),
|
||||||
leading: IconButton(
|
leading: IconButton(
|
||||||
@@ -250,7 +251,8 @@ class _RegisterState extends State<Register> {
|
|||||||
icon: Icon(FontAwesomeIcons.angleDown),
|
icon: Icon(FontAwesomeIcons.angleDown),
|
||||||
isExpanded: true,
|
isExpanded: true,
|
||||||
hint: Padding(
|
hint: Padding(
|
||||||
padding: const EdgeInsets.symmetric(horizontal: 4),
|
padding:
|
||||||
|
const EdgeInsets.symmetric(horizontal: 4),
|
||||||
child: Text(
|
child: Text(
|
||||||
curhospitalVal,
|
curhospitalVal,
|
||||||
style: TextStyle(
|
style: TextStyle(
|
||||||
@@ -319,7 +321,7 @@ class _RegisterState extends State<Register> {
|
|||||||
Spacer()
|
Spacer()
|
||||||
],
|
],
|
||||||
)
|
)
|
||||||
// FlatButton.icon(
|
// TextButton.icon(
|
||||||
// padding: EdgeInsets.all(0),
|
// padding: EdgeInsets.all(0),
|
||||||
// onPressed: () {
|
// onPressed: () {
|
||||||
// _register();
|
// _register();
|
||||||
@@ -368,10 +370,10 @@ class _RegisterState extends State<Register> {
|
|||||||
),
|
),
|
||||||
],
|
],
|
||||||
),
|
),
|
||||||
|
|
||||||
],
|
],
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
|
),
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,17 +1,18 @@
|
|||||||
import 'package:cssd/config/routes.dart';
|
import 'package:barcode_scan2/barcode_scan2.dart';
|
||||||
import 'package:cssd/providers/connectivity.dart';
|
|
||||||
import 'package:cssd/widgets/Global/internet_error.dart';
|
|
||||||
import 'package:cssd/widgets/TestResultScreens/Add/selector_box.dart';
|
|
||||||
import 'package:flutter/material.dart';
|
|
||||||
import 'package:flutter/services.dart';
|
|
||||||
import 'package:barcode_scan/barcode_scan.dart';
|
|
||||||
import 'package:cssd/providers/test_results.dart';
|
|
||||||
// import 'package:flutter_barcode_scanner/flutter_barcode_scanner.dart';
|
// import 'package:flutter_barcode_scanner/flutter_barcode_scanner.dart';
|
||||||
|
|
||||||
import 'package:cssd/pages/test_form_page.dart';
|
import 'package:cssd/pages/test_form_page.dart';
|
||||||
|
import 'package:flutter/material.dart';
|
||||||
|
import 'package:flutter/services.dart';
|
||||||
import 'package:font_awesome_flutter/font_awesome_flutter.dart';
|
import 'package:font_awesome_flutter/font_awesome_flutter.dart';
|
||||||
import 'package:provider/provider.dart';
|
import 'package:provider/provider.dart';
|
||||||
|
|
||||||
|
import '../config/routes.dart';
|
||||||
|
import '../providers/connectivity.dart';
|
||||||
|
import '../providers/test_results.dart';
|
||||||
|
import '../widgets/Global/internet_error.dart';
|
||||||
|
import '../widgets/TestResultScreens/Add/selector_box.dart';
|
||||||
|
|
||||||
class TestResultAddScreen extends StatefulWidget {
|
class TestResultAddScreen extends StatefulWidget {
|
||||||
// static const route = '/TestResultAddScreen';
|
// static const route = '/TestResultAddScreen';
|
||||||
@override
|
@override
|
||||||
@@ -59,6 +60,7 @@ class _TestResultAddScreenState extends State<TestResultAddScreen> {
|
|||||||
);
|
);
|
||||||
return true;
|
return true;
|
||||||
},
|
},
|
||||||
|
child: SafeArea(
|
||||||
child: Scaffold(
|
child: Scaffold(
|
||||||
appBar: AppBar(
|
appBar: AppBar(
|
||||||
titleSpacing: -10,
|
titleSpacing: -10,
|
||||||
@@ -69,8 +71,8 @@ class _TestResultAddScreenState extends State<TestResultAddScreen> {
|
|||||||
size: 35,
|
size: 35,
|
||||||
),
|
),
|
||||||
// padding: EdgeInsets.all(0),
|
// padding: EdgeInsets.all(0),
|
||||||
onPressed: () =>
|
onPressed: () => Navigator.of(context)
|
||||||
Navigator.of(context).popAndPushNamed(Routes.testResultScreen),
|
.popAndPushNamed(Routes.testResultScreen),
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
body: Consumer<ConnectivityProvider>(builder: (ct, connection, _) {
|
body: Consumer<ConnectivityProvider>(builder: (ct, connection, _) {
|
||||||
@@ -211,12 +213,11 @@ class _TestResultAddScreenState extends State<TestResultAddScreen> {
|
|||||||
child: Container(
|
child: Container(
|
||||||
height: 100,
|
height: 100,
|
||||||
margin: EdgeInsets.only(bottom: 50),
|
margin: EdgeInsets.only(bottom: 50),
|
||||||
child: FlatButton(
|
decoration: BoxDecoration(
|
||||||
padding: EdgeInsets.all(0),
|
|
||||||
color: Color(0xFFEB4A64),
|
color: Color(0xFFEB4A64),
|
||||||
shape: RoundedRectangleBorder(
|
|
||||||
borderRadius: BorderRadius.circular(10),
|
borderRadius: BorderRadius.circular(10),
|
||||||
),
|
),
|
||||||
|
child: TextButton(
|
||||||
child: Text(
|
child: Text(
|
||||||
'GO',
|
'GO',
|
||||||
textAlign: TextAlign.center,
|
textAlign: TextAlign.center,
|
||||||
@@ -260,6 +261,7 @@ class _TestResultAddScreenState extends State<TestResultAddScreen> {
|
|||||||
: ConnectionErrorBox();
|
: ConnectionErrorBox();
|
||||||
}),
|
}),
|
||||||
),
|
),
|
||||||
|
),
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
import 'package:cssd/providers/connectivity.dart';
|
import '../providers/connectivity.dart';
|
||||||
import 'package:cssd/providers/test_results.dart';
|
import '../providers/test_results.dart';
|
||||||
import 'package:cssd/widgets/Global/internet_error.dart';
|
import '../widgets/Global/internet_error.dart';
|
||||||
import 'package:cssd/widgets/TestResultScreens/Details/datas_box.dart';
|
import '../widgets/TestResultScreens/Details/datas_box.dart';
|
||||||
import 'package:flutter/material.dart';
|
import 'package:flutter/material.dart';
|
||||||
import 'package:provider/provider.dart';
|
import 'package:provider/provider.dart';
|
||||||
|
|
||||||
@@ -42,7 +42,8 @@ class _TestDetailsScreenState extends State<TestDetailsScreen> {
|
|||||||
final double _devicewidth = _media.size.width;
|
final double _devicewidth = _media.size.width;
|
||||||
final double _deviceBlockSize = _devicewidth / 100;
|
final double _deviceBlockSize = _devicewidth / 100;
|
||||||
// print(datas);
|
// print(datas);
|
||||||
return Scaffold(
|
return SafeArea(
|
||||||
|
child: Scaffold(
|
||||||
appBar: AppBar(
|
appBar: AppBar(
|
||||||
titleSpacing: -10,
|
titleSpacing: -10,
|
||||||
title: Text('Test Result Detail'),
|
title: Text('Test Result Detail'),
|
||||||
@@ -68,6 +69,7 @@ class _TestDetailsScreenState extends State<TestDetailsScreen> {
|
|||||||
: ConnectionErrorBox();
|
: ConnectionErrorBox();
|
||||||
},
|
},
|
||||||
),
|
),
|
||||||
|
),
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
import 'package:barcode_scan/barcode_scan.dart';
|
import 'package:barcode_scan2/barcode_scan2.dart';
|
||||||
import 'package:flutter/cupertino.dart';
|
import 'package:flutter/cupertino.dart';
|
||||||
import 'package:flutter/material.dart';
|
import 'package:flutter/material.dart';
|
||||||
import 'package:flutter/services.dart';
|
import 'package:flutter/services.dart';
|
||||||
@@ -131,6 +131,7 @@ class _TestFilterScreenState extends State<TestFilterScreen> {
|
|||||||
);
|
);
|
||||||
return true;
|
return true;
|
||||||
},
|
},
|
||||||
|
child: SafeArea(
|
||||||
child: Scaffold(
|
child: Scaffold(
|
||||||
appBar: AppBar(
|
appBar: AppBar(
|
||||||
titleSpacing: -10,
|
titleSpacing: -10,
|
||||||
@@ -340,7 +341,7 @@ class _TestFilterScreenState extends State<TestFilterScreen> {
|
|||||||
builder: (ctx) => AlertDialog(
|
builder: (ctx) => AlertDialog(
|
||||||
content: Text('Filters changed.'),
|
content: Text('Filters changed.'),
|
||||||
actions: <Widget>[
|
actions: <Widget>[
|
||||||
FlatButton(
|
TextButton(
|
||||||
onPressed: () {
|
onPressed: () {
|
||||||
Navigator.of(ctx).pop();
|
Navigator.of(ctx).pop();
|
||||||
// Navigator.of(context).pop();
|
// Navigator.of(context).pop();
|
||||||
@@ -350,7 +351,8 @@ class _TestFilterScreenState extends State<TestFilterScreen> {
|
|||||||
],
|
],
|
||||||
),
|
),
|
||||||
).then(
|
).then(
|
||||||
(_) => Navigator.of(context).popAndPushNamed(
|
(_) =>
|
||||||
|
Navigator.of(context).popAndPushNamed(
|
||||||
Routes.testResultScreen,
|
Routes.testResultScreen,
|
||||||
),
|
),
|
||||||
);
|
);
|
||||||
@@ -391,6 +393,7 @@ class _TestFilterScreenState extends State<TestFilterScreen> {
|
|||||||
},
|
},
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
|
),
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,11 +1,12 @@
|
|||||||
import 'package:cssd/config/routes.dart';
|
|
||||||
import 'package:cssd/providers/input.dart';
|
|
||||||
import 'package:cssd/providers/test_results.dart';
|
|
||||||
import 'package:cssd/widgets/TestResultScreens/Add/form_creator.dart';
|
|
||||||
import 'package:flutter/material.dart';
|
import 'package:flutter/material.dart';
|
||||||
import 'package:provider/provider.dart';
|
import 'package:provider/provider.dart';
|
||||||
import 'package:random_string/random_string.dart';
|
import 'package:random_string/random_string.dart';
|
||||||
|
|
||||||
|
import '../config/routes.dart';
|
||||||
|
import '../providers/input.dart';
|
||||||
|
import '../providers/test_results.dart';
|
||||||
|
import '../widgets/TestResultScreens/Add/form_creator.dart';
|
||||||
|
|
||||||
class FormPage extends StatefulWidget {
|
class FormPage extends StatefulWidget {
|
||||||
final String name;
|
final String name;
|
||||||
final String uniqueCode;
|
final String uniqueCode;
|
||||||
@@ -50,7 +51,7 @@ class _FormPageState extends State<FormPage> {
|
|||||||
builder: (ctx) => AlertDialog(
|
builder: (ctx) => AlertDialog(
|
||||||
content: Text('Test added.'),
|
content: Text('Test added.'),
|
||||||
actions: <Widget>[
|
actions: <Widget>[
|
||||||
FlatButton(
|
TextButton(
|
||||||
onPressed: () {
|
onPressed: () {
|
||||||
Navigator.of(ctx).pop();
|
Navigator.of(ctx).pop();
|
||||||
},
|
},
|
||||||
@@ -97,6 +98,7 @@ class _FormPageState extends State<FormPage> {
|
|||||||
);
|
);
|
||||||
return true;
|
return true;
|
||||||
},
|
},
|
||||||
|
child: SafeArea(
|
||||||
child: Scaffold(
|
child: Scaffold(
|
||||||
appBar: AppBar(
|
appBar: AppBar(
|
||||||
centerTitle: true,
|
centerTitle: true,
|
||||||
@@ -115,7 +117,8 @@ class _FormPageState extends State<FormPage> {
|
|||||||
size: 35,
|
size: 35,
|
||||||
),
|
),
|
||||||
onPressed: () {
|
onPressed: () {
|
||||||
Navigator.of(context).popAndPushNamed(Routes.testResultScreen);
|
Navigator.of(context)
|
||||||
|
.popAndPushNamed(Routes.testResultScreen);
|
||||||
},
|
},
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
@@ -164,6 +167,7 @@ class _FormPageState extends State<FormPage> {
|
|||||||
// ),
|
// ),
|
||||||
],
|
],
|
||||||
)),
|
)),
|
||||||
|
),
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -1,6 +1,3 @@
|
|||||||
import 'package:cssd/config/routes.dart';
|
|
||||||
import 'package:cssd/models/test_result_models.dart';
|
|
||||||
import 'package:cssd/providers/connectivity.dart';
|
|
||||||
// import 'package:cssd/providers/test_result.dart';
|
// import 'package:cssd/providers/test_result.dart';
|
||||||
import 'package:cssd/providers/test_results.dart';
|
import 'package:cssd/providers/test_results.dart';
|
||||||
import 'package:cssd/widgets/Global/internet_error.dart';
|
import 'package:cssd/widgets/Global/internet_error.dart';
|
||||||
@@ -11,6 +8,10 @@ import 'package:flutter/material.dart';
|
|||||||
import 'package:font_awesome_flutter/font_awesome_flutter.dart';
|
import 'package:font_awesome_flutter/font_awesome_flutter.dart';
|
||||||
import 'package:provider/provider.dart';
|
import 'package:provider/provider.dart';
|
||||||
|
|
||||||
|
import '../config/routes.dart';
|
||||||
|
import '../models/test_result_models.dart';
|
||||||
|
import '../providers/connectivity.dart';
|
||||||
|
|
||||||
class TestResultScreen extends StatefulWidget {
|
class TestResultScreen extends StatefulWidget {
|
||||||
// static const route = '/TestResultScreen';
|
// static const route = '/TestResultScreen';
|
||||||
final bool isAdmin;
|
final bool isAdmin;
|
||||||
@@ -69,7 +70,8 @@ class _TestResultScreenState extends State<TestResultScreen> {
|
|||||||
// final double _pixelRatio = (_media.size.height / _media.size.width * 7 / 5);
|
// final double _pixelRatio = (_media.size.height / _media.size.width * 7 / 5);
|
||||||
final double _devicewidth = _media.size.width;
|
final double _devicewidth = _media.size.width;
|
||||||
final double _deviceBlockSize = _devicewidth / 100;
|
final double _deviceBlockSize = _devicewidth / 100;
|
||||||
return Scaffold(
|
return SafeArea(
|
||||||
|
child: Scaffold(
|
||||||
floatingActionButton:
|
floatingActionButton:
|
||||||
TestResultFloatingButton(deviceBlockSize: _deviceBlockSize),
|
TestResultFloatingButton(deviceBlockSize: _deviceBlockSize),
|
||||||
appBar: AppBar(
|
appBar: AppBar(
|
||||||
@@ -87,8 +89,8 @@ class _TestResultScreenState extends State<TestResultScreen> {
|
|||||||
builder: (ct, connection, _) {
|
builder: (ct, connection, _) {
|
||||||
return connection.conStatus != 'offline'
|
return connection.conStatus != 'offline'
|
||||||
? Padding(
|
? Padding(
|
||||||
padding:
|
padding: EdgeInsets.only(
|
||||||
EdgeInsets.only(top: 20, left: 20, right: 20, bottom: 60),
|
top: 20, left: 20, right: 20, bottom: 60),
|
||||||
child: Column(
|
child: Column(
|
||||||
crossAxisAlignment: CrossAxisAlignment.start,
|
crossAxisAlignment: CrossAxisAlignment.start,
|
||||||
children: <Widget>[
|
children: <Widget>[
|
||||||
@@ -289,6 +291,7 @@ class _TestResultScreenState extends State<TestResultScreen> {
|
|||||||
: ConnectionErrorBox();
|
: ConnectionErrorBox();
|
||||||
},
|
},
|
||||||
),
|
),
|
||||||
|
),
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -376,7 +379,7 @@ class TestItemBox extends StatelessWidget {
|
|||||||
// content: Text(
|
// content: Text(
|
||||||
// 'Are you sure for delete this test?'),
|
// 'Are you sure for delete this test?'),
|
||||||
// actions: <Widget>[
|
// actions: <Widget>[
|
||||||
// FlatButton(
|
// TextButton(
|
||||||
// onPressed: () {
|
// onPressed: () {
|
||||||
// Provider.of<TestResultsProvider>(
|
// Provider.of<TestResultsProvider>(
|
||||||
// context)
|
// context)
|
||||||
@@ -388,7 +391,7 @@ class TestItemBox extends StatelessWidget {
|
|||||||
// },
|
// },
|
||||||
// child: Text('Yes'),
|
// child: Text('Yes'),
|
||||||
// ),
|
// ),
|
||||||
// FlatButton(
|
// TextButton(
|
||||||
// onPressed: () {
|
// onPressed: () {
|
||||||
// Navigator.of(ctx).pop();
|
// Navigator.of(ctx).pop();
|
||||||
// },
|
// },
|
||||||
|
|||||||
@@ -1,13 +1,13 @@
|
|||||||
import 'package:cssd/providers/connectivity.dart';
|
import 'package:barcode_scan2/barcode_scan2.dart';
|
||||||
import 'package:cssd/widgets/Global/internet_error.dart';
|
|
||||||
import 'package:flutter/material.dart';
|
import 'package:flutter/material.dart';
|
||||||
import 'package:flutter/services.dart';
|
import 'package:flutter/services.dart';
|
||||||
import 'package:barcode_scan/barcode_scan.dart';
|
|
||||||
|
|
||||||
import 'package:font_awesome_flutter/font_awesome_flutter.dart';
|
import 'package:font_awesome_flutter/font_awesome_flutter.dart';
|
||||||
import 'package:provider/provider.dart';
|
import 'package:provider/provider.dart';
|
||||||
import 'package:url_launcher/url_launcher.dart';
|
import 'package:url_launcher/url_launcher.dart';
|
||||||
|
|
||||||
|
import '../providers/connectivity.dart';
|
||||||
|
import '../widgets/Global/internet_error.dart';
|
||||||
|
|
||||||
class TestScanScreen extends StatefulWidget {
|
class TestScanScreen extends StatefulWidget {
|
||||||
// static const route = '/TestScanScreen';
|
// static const route = '/TestScanScreen';
|
||||||
@override
|
@override
|
||||||
@@ -27,7 +27,8 @@ class _TestScanScreenState extends State<TestScanScreen> {
|
|||||||
// final double _pixelRatio = (_media.size.height / _media.size.width * 7 / 5);
|
// final double _pixelRatio = (_media.size.height / _media.size.width * 7 / 5);
|
||||||
final double _devicewidth = _media.size.width;
|
final double _devicewidth = _media.size.width;
|
||||||
final double _deviceBlockSize = _devicewidth / 100;
|
final double _deviceBlockSize = _devicewidth / 100;
|
||||||
return Scaffold(
|
return SafeArea(
|
||||||
|
child: Scaffold(
|
||||||
appBar: AppBar(
|
appBar: AppBar(
|
||||||
centerTitle: true,
|
centerTitle: true,
|
||||||
titleSpacing: -10,
|
titleSpacing: -10,
|
||||||
@@ -161,7 +162,8 @@ class _TestScanScreenState extends State<TestScanScreen> {
|
|||||||
horizontal: 5 * _deviceBlockSize,
|
horizontal: 5 * _deviceBlockSize,
|
||||||
vertical: 10,
|
vertical: 10,
|
||||||
),
|
),
|
||||||
margin: EdgeInsets.only(bottom: 50, left: 20, right: 20),
|
margin:
|
||||||
|
EdgeInsets.only(bottom: 50, left: 20, right: 20),
|
||||||
decoration: BoxDecoration(
|
decoration: BoxDecoration(
|
||||||
gradient: LinearGradient(
|
gradient: LinearGradient(
|
||||||
colors: [Colors.red, Colors.orange],
|
colors: [Colors.red, Colors.orange],
|
||||||
@@ -184,6 +186,7 @@ class _TestScanScreenState extends State<TestScanScreen> {
|
|||||||
)
|
)
|
||||||
: ConnectionErrorBox();
|
: ConnectionErrorBox();
|
||||||
}),
|
}),
|
||||||
|
),
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -1,11 +1,11 @@
|
|||||||
import 'package:cssd/providers/test_results.dart';
|
|
||||||
import 'package:cssd/widgets/TestResultScreens/Main/search_box.dart';
|
|
||||||
import 'package:flutter/material.dart';
|
import 'package:flutter/material.dart';
|
||||||
import 'package:provider/provider.dart';
|
import 'package:provider/provider.dart';
|
||||||
|
|
||||||
import '../config/routes.dart';
|
import '../config/routes.dart';
|
||||||
import '../models/test_result_models.dart';
|
import '../models/test_result_models.dart';
|
||||||
import '../providers/auth.dart';
|
import '../providers/auth.dart';
|
||||||
|
import '../providers/test_results.dart';
|
||||||
|
import '../widgets/TestResultScreens/Main/search_box.dart';
|
||||||
|
|
||||||
class TestVerifyScreen extends StatefulWidget {
|
class TestVerifyScreen extends StatefulWidget {
|
||||||
// static const route = '/TestVerifyScreen';
|
// static const route = '/TestVerifyScreen';
|
||||||
@@ -70,7 +70,8 @@ class _TestVerifyScreenState extends State<TestVerifyScreen> {
|
|||||||
// final double _pixelRatio = (_media.size.height / _media.size.width * 7 / 5);
|
// final double _pixelRatio = (_media.size.height / _media.size.width * 7 / 5);
|
||||||
final double _devicewidth = _media.size.width;
|
final double _devicewidth = _media.size.width;
|
||||||
final double _deviceBlockSize = _devicewidth / 100;
|
final double _deviceBlockSize = _devicewidth / 100;
|
||||||
return Scaffold(
|
return SafeArea(
|
||||||
|
child: Scaffold(
|
||||||
appBar: AppBar(
|
appBar: AppBar(
|
||||||
titleSpacing: -10,
|
titleSpacing: -10,
|
||||||
title: Text('Home'),
|
title: Text('Home'),
|
||||||
@@ -302,6 +303,7 @@ class _TestVerifyScreenState extends State<TestVerifyScreen> {
|
|||||||
],
|
],
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
|
),
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -401,7 +403,7 @@ class TestItemBox extends StatelessWidget {
|
|||||||
content: Text(
|
content: Text(
|
||||||
'Are you sure for verify this test?'),
|
'Are you sure for verify this test?'),
|
||||||
actions: <Widget>[
|
actions: <Widget>[
|
||||||
FlatButton(
|
TextButton(
|
||||||
onPressed: () async {
|
onPressed: () async {
|
||||||
Provider.of<TestResultsProvider>(
|
Provider.of<TestResultsProvider>(
|
||||||
context)
|
context)
|
||||||
@@ -418,7 +420,7 @@ class TestItemBox extends StatelessWidget {
|
|||||||
},
|
},
|
||||||
child: Text('Yes'),
|
child: Text('Yes'),
|
||||||
),
|
),
|
||||||
FlatButton(
|
TextButton(
|
||||||
onPressed: () {
|
onPressed: () {
|
||||||
Navigator.of(ctx).pop();
|
Navigator.of(ctx).pop();
|
||||||
},
|
},
|
||||||
@@ -454,7 +456,7 @@ class TestItemBox extends StatelessWidget {
|
|||||||
content: Text(
|
content: Text(
|
||||||
'Are you sure for reject this test?'),
|
'Are you sure for reject this test?'),
|
||||||
actions: <Widget>[
|
actions: <Widget>[
|
||||||
FlatButton(
|
TextButton(
|
||||||
onPressed: () async {
|
onPressed: () async {
|
||||||
await Provider.of<TestResultsProvider>(
|
await Provider.of<TestResultsProvider>(
|
||||||
context)
|
context)
|
||||||
@@ -471,7 +473,7 @@ class TestItemBox extends StatelessWidget {
|
|||||||
},
|
},
|
||||||
child: Text('Yes'),
|
child: Text('Yes'),
|
||||||
),
|
),
|
||||||
FlatButton(
|
TextButton(
|
||||||
onPressed: () {
|
onPressed: () {
|
||||||
Navigator.of(ctx).pop();
|
Navigator.of(ctx).pop();
|
||||||
},
|
},
|
||||||
|
|||||||
@@ -1,11 +1,12 @@
|
|||||||
import 'package:cssd/config/routes.dart';
|
|
||||||
import 'package:cssd/providers/auth.dart';
|
|
||||||
import 'package:cssd/providers/connectivity.dart';
|
|
||||||
import 'package:cssd/widgets/Global/internet_error.dart';
|
|
||||||
import 'package:flutter/material.dart';
|
import 'package:flutter/material.dart';
|
||||||
import 'package:font_awesome_flutter/font_awesome_flutter.dart';
|
import 'package:font_awesome_flutter/font_awesome_flutter.dart';
|
||||||
import 'package:provider/provider.dart';
|
import 'package:provider/provider.dart';
|
||||||
|
|
||||||
|
import '../config/routes.dart';
|
||||||
|
import '../providers/auth.dart';
|
||||||
|
import '../providers/connectivity.dart';
|
||||||
|
import '../widgets/Global/internet_error.dart';
|
||||||
|
|
||||||
class VerifyPassScreen extends StatefulWidget {
|
class VerifyPassScreen extends StatefulWidget {
|
||||||
// static const route = '/HomeScreen';
|
// static const route = '/HomeScreen';
|
||||||
|
|
||||||
@@ -38,7 +39,7 @@ class _VerifyPassScreenState extends State<VerifyPassScreen> {
|
|||||||
title: Text('Error'),
|
title: Text('Error'),
|
||||||
content: Text(message),
|
content: Text(message),
|
||||||
actions: <Widget>[
|
actions: <Widget>[
|
||||||
FlatButton(
|
TextButton(
|
||||||
child: Text('Ok'),
|
child: Text('Ok'),
|
||||||
onPressed: () {
|
onPressed: () {
|
||||||
Navigator.of(ctx).pop();
|
Navigator.of(ctx).pop();
|
||||||
@@ -85,7 +86,8 @@ class _VerifyPassScreenState extends State<VerifyPassScreen> {
|
|||||||
// final double _pixelRatio = (_media.size.height / _media.size.width * 7 / 5);
|
// final double _pixelRatio = (_media.size.height / _media.size.width * 7 / 5);
|
||||||
final double _devicewidth = _media.size.width;
|
final double _devicewidth = _media.size.width;
|
||||||
final double _deviceBlockSize = _devicewidth / 100;
|
final double _deviceBlockSize = _devicewidth / 100;
|
||||||
return Scaffold(
|
return SafeArea(
|
||||||
|
child: Scaffold(
|
||||||
appBar: AppBar(
|
appBar: AppBar(
|
||||||
centerTitle: true,
|
centerTitle: true,
|
||||||
title: Text('CSSD'),
|
title: Text('CSSD'),
|
||||||
@@ -188,6 +190,7 @@ class _VerifyPassScreenState extends State<VerifyPassScreen> {
|
|||||||
: ConnectionErrorBox(),
|
: ConnectionErrorBox(),
|
||||||
selector: (_, connectivity) => connectivity.conStatus,
|
selector: (_, connectivity) => connectivity.conStatus,
|
||||||
),
|
),
|
||||||
|
),
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,12 +1,13 @@
|
|||||||
import 'dart:convert';
|
import 'dart:convert';
|
||||||
import 'dart:io';
|
import 'dart:io';
|
||||||
|
|
||||||
import 'package:cssd/config/user.dart';
|
|
||||||
import 'package:flutter/material.dart';
|
import 'package:flutter/material.dart';
|
||||||
import 'package:cssd/config/urls.dart';
|
|
||||||
import 'package:http/http.dart' as http;
|
import 'package:http/http.dart' as http;
|
||||||
import 'package:shared_preferences/shared_preferences.dart';
|
import 'package:shared_preferences/shared_preferences.dart';
|
||||||
|
|
||||||
|
import '../config/urls.dart';
|
||||||
|
import '../config/user.dart';
|
||||||
|
|
||||||
class Auth with ChangeNotifier {
|
class Auth with ChangeNotifier {
|
||||||
String _token;
|
String _token;
|
||||||
DateTime _expiaryDate;
|
DateTime _expiaryDate;
|
||||||
@@ -32,7 +33,7 @@ class Auth with ChangeNotifier {
|
|||||||
|
|
||||||
Future<String> requestCode(String cellNumber) async {
|
Future<String> requestCode(String cellNumber) async {
|
||||||
final response = await http.post(
|
final response = await http.post(
|
||||||
Url.requestResetPass,
|
Uri.parse(Url.requestResetPass),
|
||||||
body: {
|
body: {
|
||||||
'cell_number': cellNumber,
|
'cell_number': cellNumber,
|
||||||
},
|
},
|
||||||
@@ -49,7 +50,7 @@ class Auth with ChangeNotifier {
|
|||||||
|
|
||||||
Future<String> sendCode(String code) async {
|
Future<String> sendCode(String code) async {
|
||||||
final response = await http.post(
|
final response = await http.post(
|
||||||
Url.verifyResetPass,
|
Uri.parse(Url.verifyResetPass),
|
||||||
body: {
|
body: {
|
||||||
'code': code,
|
'code': code,
|
||||||
},
|
},
|
||||||
@@ -74,7 +75,7 @@ class Auth with ChangeNotifier {
|
|||||||
print(token);
|
print(token);
|
||||||
|
|
||||||
final response = await http.post(
|
final response = await http.post(
|
||||||
Url.sendResetPass,
|
Uri.parse(Url.sendResetPass),
|
||||||
body: {
|
body: {
|
||||||
'password': password,
|
'password': password,
|
||||||
'password_confirmation': password,
|
'password_confirmation': password,
|
||||||
@@ -98,7 +99,7 @@ class Auth with ChangeNotifier {
|
|||||||
|
|
||||||
Future<String> login(String cellNumber, String password) async {
|
Future<String> login(String cellNumber, String password) async {
|
||||||
final response = await http.post(
|
final response = await http.post(
|
||||||
Url.login,
|
Uri.parse(Url.login),
|
||||||
body: {
|
body: {
|
||||||
'cell_number': cellNumber,
|
'cell_number': cellNumber,
|
||||||
'password': password,
|
'password': password,
|
||||||
@@ -160,7 +161,7 @@ class Auth with ChangeNotifier {
|
|||||||
|
|
||||||
Future<Map<String, dynamic>> getUserData() async {
|
Future<Map<String, dynamic>> getUserData() async {
|
||||||
final response = await http.get(
|
final response = await http.get(
|
||||||
Url.getUserInfo,
|
Uri.parse(Url.getUserInfo),
|
||||||
headers: {'Authorization': 'Bearer ' + token},
|
headers: {'Authorization': 'Bearer ' + token},
|
||||||
);
|
);
|
||||||
// print(response.body);
|
// print(response.body);
|
||||||
@@ -188,7 +189,7 @@ class Auth with ChangeNotifier {
|
|||||||
|
|
||||||
Future<void> setUserData(id, name, email) async {
|
Future<void> setUserData(id, name, email) async {
|
||||||
var response = await http.post(
|
var response = await http.post(
|
||||||
'https://cssd-doc.com/api/UpdateInfo',
|
Uri.parse('https://cssd-doc.com/api/UpdateInfo'),
|
||||||
headers: {
|
headers: {
|
||||||
'Authorization': 'Bearer ' + token,
|
'Authorization': 'Bearer ' + token,
|
||||||
HttpHeaders.contentTypeHeader: 'application/json',
|
HttpHeaders.contentTypeHeader: 'application/json',
|
||||||
|
|||||||
@@ -1,8 +1,8 @@
|
|||||||
import 'dart:convert';
|
import 'dart:convert';
|
||||||
|
|
||||||
import 'package:cssd/config/urls.dart';
|
import '../config/urls.dart';
|
||||||
import 'package:cssd/config/user.dart';
|
import '../config/user.dart';
|
||||||
import 'package:cssd/models/cycles_models.dart';
|
import '../models/cycles_models.dart';
|
||||||
import 'package:flutter/material.dart';
|
import 'package:flutter/material.dart';
|
||||||
import 'package:http/http.dart' as http;
|
import 'package:http/http.dart' as http;
|
||||||
|
|
||||||
@@ -61,7 +61,7 @@ class CyclesProvider extends ChangeNotifier {
|
|||||||
|
|
||||||
Future<List<Map<String, String>>> getHospitalsFilters() async {
|
Future<List<Map<String, String>>> getHospitalsFilters() async {
|
||||||
var response = await http.get(
|
var response = await http.get(
|
||||||
Url.filterItems,
|
Uri.parse(Url.filterItems),
|
||||||
headers: {
|
headers: {
|
||||||
'Authorization': User.token,
|
'Authorization': User.token,
|
||||||
},
|
},
|
||||||
@@ -80,7 +80,7 @@ class CyclesProvider extends ChangeNotifier {
|
|||||||
|
|
||||||
Future<List<String>> getLabelFilters() async {
|
Future<List<String>> getLabelFilters() async {
|
||||||
var response = await http.get(
|
var response = await http.get(
|
||||||
Url.labelItems,
|
Uri.parse(Url.labelItems),
|
||||||
headers: {
|
headers: {
|
||||||
'Authorization': User.token,
|
'Authorization': User.token,
|
||||||
},
|
},
|
||||||
@@ -107,7 +107,7 @@ class CyclesProvider extends ChangeNotifier {
|
|||||||
labs.add({'name': '', 'id': label});
|
labs.add({'name': '', 'id': label});
|
||||||
}
|
}
|
||||||
// print(labs);
|
// print(labs);
|
||||||
var response = await http.post(Url.createCycleResult,
|
var response = await http.post(Uri.parse(Url.createCycleResult),
|
||||||
body: json.encode(
|
body: json.encode(
|
||||||
{
|
{
|
||||||
'note': note,
|
'note': note,
|
||||||
@@ -181,7 +181,7 @@ class CyclesProvider extends ChangeNotifier {
|
|||||||
}
|
}
|
||||||
// print(url);
|
// print(url);
|
||||||
var response = await http.get(
|
var response = await http.get(
|
||||||
url,
|
Uri.parse(url),
|
||||||
headers: {
|
headers: {
|
||||||
'Authorization': User.token,
|
'Authorization': User.token,
|
||||||
},
|
},
|
||||||
@@ -214,7 +214,7 @@ class CyclesProvider extends ChangeNotifier {
|
|||||||
}
|
}
|
||||||
|
|
||||||
Future<CycleDetailObject> showCycleResult(String id) async {
|
Future<CycleDetailObject> showCycleResult(String id) async {
|
||||||
var response = await http.get(Url.getCycleResult(id), headers: {
|
var response = await http.get(Uri.parse(Url.getCycleResult(id)), headers: {
|
||||||
'Authorization': User.token,
|
'Authorization': User.token,
|
||||||
});
|
});
|
||||||
if (response.statusCode != 200) {
|
if (response.statusCode != 200) {
|
||||||
|
|||||||
@@ -2,8 +2,9 @@ import 'dart:convert';
|
|||||||
|
|
||||||
import 'package:flutter/material.dart';
|
import 'package:flutter/material.dart';
|
||||||
import 'package:http/http.dart' as http;
|
import 'package:http/http.dart' as http;
|
||||||
import 'package:cssd/config/urls.dart';
|
|
||||||
import 'package:cssd/config/user.dart';
|
import '../config/urls.dart';
|
||||||
|
import '../config/user.dart';
|
||||||
|
|
||||||
class Inputs with ChangeNotifier {
|
class Inputs with ChangeNotifier {
|
||||||
List<Map<String, dynamic>> inputItems = [];
|
List<Map<String, dynamic>> inputItems = [];
|
||||||
@@ -22,7 +23,7 @@ class Inputs with ChangeNotifier {
|
|||||||
// },
|
// },
|
||||||
// );
|
// );
|
||||||
var response = await http.post(
|
var response = await http.post(
|
||||||
Url.getInputs,
|
Uri.parse(Url.getInputs),
|
||||||
body: {
|
body: {
|
||||||
'test_type_id': testTypeId,
|
'test_type_id': testTypeId,
|
||||||
'test_result_id': testResultId,
|
'test_result_id': testResultId,
|
||||||
@@ -47,7 +48,7 @@ class Inputs with ChangeNotifier {
|
|||||||
// }
|
// }
|
||||||
Map<String, dynamic> values;
|
Map<String, dynamic> values;
|
||||||
if (testResultId.isNotEmpty) {
|
if (testResultId.isNotEmpty) {
|
||||||
response = await http.get(Url.testResultFormValues(testResultId),
|
response = await http.get(Uri.parse(Url.testResultFormValues(testResultId)),
|
||||||
headers: {'Authorization': User.token});
|
headers: {'Authorization': User.token});
|
||||||
values = json.decode(response.body)['data'];
|
values = json.decode(response.body)['data'];
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,8 +1,8 @@
|
|||||||
import 'dart:convert';
|
import 'dart:convert';
|
||||||
|
|
||||||
import 'package:cssd/config/urls.dart';
|
import '../config/urls.dart';
|
||||||
import 'package:cssd/config/user.dart';
|
import '../config/user.dart';
|
||||||
import 'package:cssd/models/label_models.dart';
|
import '../models/label_models.dart';
|
||||||
import 'package:flutter/material.dart';
|
import 'package:flutter/material.dart';
|
||||||
import 'package:http/http.dart' as http;
|
import 'package:http/http.dart' as http;
|
||||||
|
|
||||||
@@ -34,7 +34,7 @@ class LabelsProvider extends ChangeNotifier {
|
|||||||
|
|
||||||
Future<List<Map<String, String>>> getHospitalsFilters() async {
|
Future<List<Map<String, String>>> getHospitalsFilters() async {
|
||||||
var response = await http.get(
|
var response = await http.get(
|
||||||
Url.filterItems,
|
Uri.parse(Url.filterItems),
|
||||||
headers: {
|
headers: {
|
||||||
'Authorization': User.token,
|
'Authorization': User.token,
|
||||||
},
|
},
|
||||||
@@ -53,7 +53,7 @@ class LabelsProvider extends ChangeNotifier {
|
|||||||
|
|
||||||
Future<List<Map<String, String>>> getPackageFilters() async {
|
Future<List<Map<String, String>>> getPackageFilters() async {
|
||||||
var response = await http.get(
|
var response = await http.get(
|
||||||
Url.packageItems,
|
Uri.parse(Url.packageItems),
|
||||||
headers: {
|
headers: {
|
||||||
'Authorization': User.token,
|
'Authorization': User.token,
|
||||||
},
|
},
|
||||||
@@ -77,7 +77,7 @@ class LabelsProvider extends ChangeNotifier {
|
|||||||
Future<void> createLabelResult(lotNumber, cycleNumber, sterileDate, package,
|
Future<void> createLabelResult(lotNumber, cycleNumber, sterileDate, package,
|
||||||
expireDate, sterilizerId) async {
|
expireDate, sterilizerId) async {
|
||||||
// print(labs);
|
// print(labs);
|
||||||
var response = await http.post(Url.createLabelResult,
|
var response = await http.post(Uri.parse(Url.createLabelResult),
|
||||||
body: json.encode(
|
body: json.encode(
|
||||||
{
|
{
|
||||||
'sterile_date': sterileDate,
|
'sterile_date': sterileDate,
|
||||||
@@ -112,7 +112,7 @@ class LabelsProvider extends ChangeNotifier {
|
|||||||
sterilizerId,
|
sterilizerId,
|
||||||
) async {
|
) async {
|
||||||
// print(labs);
|
// print(labs);
|
||||||
var response = await http.put(Url.updateLabelResult(id),
|
var response = await http.put(Uri.parse(Url.updateLabelResult(id)),
|
||||||
body: json.encode(
|
body: json.encode(
|
||||||
{
|
{
|
||||||
'sterile_date': sterileDate,
|
'sterile_date': sterileDate,
|
||||||
@@ -187,7 +187,7 @@ class LabelsProvider extends ChangeNotifier {
|
|||||||
}
|
}
|
||||||
|
|
||||||
var response = await http.get(
|
var response = await http.get(
|
||||||
url,
|
Uri.parse(url),
|
||||||
headers: {
|
headers: {
|
||||||
'Authorization': User.token,
|
'Authorization': User.token,
|
||||||
},
|
},
|
||||||
@@ -216,7 +216,7 @@ class LabelsProvider extends ChangeNotifier {
|
|||||||
|
|
||||||
Future<LabelDetailsObject> showLabelResult(String id) async {
|
Future<LabelDetailsObject> showLabelResult(String id) async {
|
||||||
var response = await http.get(
|
var response = await http.get(
|
||||||
Url.getLabelResult(id),
|
Uri.parse(Url.getLabelResult(id)),
|
||||||
headers: {
|
headers: {
|
||||||
'Authorization': User.token,
|
'Authorization': User.token,
|
||||||
},
|
},
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
import 'dart:convert';
|
import 'dart:convert';
|
||||||
import 'package:http/http.dart' as http;
|
import 'package:http/http.dart' as http;
|
||||||
import 'package:cssd/config/urls.dart';
|
import '../config/urls.dart';
|
||||||
|
|
||||||
import 'package:flutter/material.dart';
|
import 'package:flutter/material.dart';
|
||||||
import 'package:shared_preferences/shared_preferences.dart';
|
import 'package:shared_preferences/shared_preferences.dart';
|
||||||
@@ -28,7 +28,7 @@ class MyInfoProvider extends ChangeNotifier {
|
|||||||
final auth = json.decode(prefs.getString('auth')) as Map<String, Object>;
|
final auth = json.decode(prefs.getString('auth')) as Map<String, Object>;
|
||||||
_token = auth['token'];
|
_token = auth['token'];
|
||||||
final response = await http.get(
|
final response = await http.get(
|
||||||
Url.getUserInfo,
|
Uri.parse(Url.getUserInfo),
|
||||||
headers: {
|
headers: {
|
||||||
'Authorization': 'Bearer ' + _token,
|
'Authorization': 'Bearer ' + _token,
|
||||||
},
|
},
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
import 'package:cssd/config/urls.dart';
|
import '../config/urls.dart';
|
||||||
import 'package:cssd/config/user.dart';
|
import '../config/user.dart';
|
||||||
import 'package:flutter/material.dart';
|
import 'package:flutter/material.dart';
|
||||||
import 'package:http/http.dart' as http;
|
import 'package:http/http.dart' as http;
|
||||||
|
|
||||||
@@ -24,7 +24,7 @@ class TestResult with ChangeNotifier{
|
|||||||
|
|
||||||
Future<void> toggleVerify() async {
|
Future<void> toggleVerify() async {
|
||||||
final response = await http.post(
|
final response = await http.post(
|
||||||
Url.verifyTest(id), headers: {
|
Uri.parse(Url.verifyTest(id)), headers: {
|
||||||
'Authorization': User.token
|
'Authorization': User.token
|
||||||
}
|
}
|
||||||
);
|
);
|
||||||
|
|||||||
@@ -1,5 +1,4 @@
|
|||||||
import 'dart:convert';
|
import 'dart:convert';
|
||||||
import 'dart:io';
|
|
||||||
import 'dart:typed_data';
|
import 'dart:typed_data';
|
||||||
// import 'dart:typed_data';
|
// import 'dart:typed_data';
|
||||||
import 'package:dio/dio.dart' as di;
|
import 'package:dio/dio.dart' as di;
|
||||||
@@ -7,6 +6,7 @@ import 'package:dio/dio.dart' as di;
|
|||||||
import 'package:cssd/config/urls.dart';
|
import 'package:cssd/config/urls.dart';
|
||||||
import 'package:cssd/config/user.dart';
|
import 'package:cssd/config/user.dart';
|
||||||
import 'package:cssd/models/test_result_models.dart';
|
import 'package:cssd/models/test_result_models.dart';
|
||||||
|
import 'package:file_picker/file_picker.dart';
|
||||||
// import 'package:cssd/providers/test_result.dart';
|
// import 'package:cssd/providers/test_result.dart';
|
||||||
import 'package:flutter/material.dart';
|
import 'package:flutter/material.dart';
|
||||||
import 'package:http/http.dart' as http;
|
import 'package:http/http.dart' as http;
|
||||||
@@ -14,13 +14,13 @@ import 'package:random_string/random_string.dart';
|
|||||||
// import 'package:multi_image_picker/multi_image_picker.dart';
|
// import 'package:multi_image_picker/multi_image_picker.dart';
|
||||||
|
|
||||||
class TestResultsProvider with ChangeNotifier {
|
class TestResultsProvider with ChangeNotifier {
|
||||||
List<File> catchImages = [];
|
List<PlatformFile> catchImages = [];
|
||||||
List<Uint8List> images = [];
|
List<Uint8List> images = [];
|
||||||
|
|
||||||
setImages() async {
|
setImages() async {
|
||||||
images = [];
|
images = [];
|
||||||
for (var image in catchImages) {
|
for (var image in catchImages) {
|
||||||
var result = image.readAsBytesSync();
|
var result = image.bytes;
|
||||||
// final batchId = randomString(10);
|
// final batchId = randomString(10);
|
||||||
// addImage(batchId, result, image.path);
|
// addImage(batchId, result, image.path);
|
||||||
images.add(result.buffer
|
images.add(result.buffer
|
||||||
@@ -29,7 +29,7 @@ class TestResultsProvider with ChangeNotifier {
|
|||||||
notifyListeners();
|
notifyListeners();
|
||||||
}
|
}
|
||||||
|
|
||||||
setCatchImages(List<File> images) {
|
setCatchImages(List<PlatformFile> images) {
|
||||||
catchImages = images;
|
catchImages = images;
|
||||||
notifyListeners();
|
notifyListeners();
|
||||||
}
|
}
|
||||||
@@ -136,7 +136,7 @@ class TestResultsProvider with ChangeNotifier {
|
|||||||
|
|
||||||
Future<List<Map<String, String>>> getFilterItems() async {
|
Future<List<Map<String, String>>> getFilterItems() async {
|
||||||
var response = await http.get(
|
var response = await http.get(
|
||||||
Url.filterItems,
|
Uri.parse(Url.filterItems),
|
||||||
headers: {
|
headers: {
|
||||||
'Authorization': User.token,
|
'Authorization': User.token,
|
||||||
},
|
},
|
||||||
@@ -187,7 +187,7 @@ class TestResultsProvider with ChangeNotifier {
|
|||||||
}
|
}
|
||||||
//'device_id=3526&testType_id=107&medicalCenter_id=2&user_name=erfan&fromPicker=2020-05-12&upToPicker=2020-05-19&device_label=Instrument%20ID&page=1'
|
//'device_id=3526&testType_id=107&medicalCenter_id=2&user_name=erfan&fromPicker=2020-05-12&upToPicker=2020-05-19&device_label=Instrument%20ID&page=1'
|
||||||
var response = await http.get(
|
var response = await http.get(
|
||||||
url,
|
Uri.parse(url),
|
||||||
headers: {
|
headers: {
|
||||||
'Authorization': User.token,
|
'Authorization': User.token,
|
||||||
// 'X-Requested-With': 'XMLHttpRequest',
|
// 'X-Requested-With': 'XMLHttpRequest',
|
||||||
@@ -221,7 +221,7 @@ class TestResultsProvider with ChangeNotifier {
|
|||||||
|
|
||||||
static Future<void> updateTestResult(String id, values) async {
|
static Future<void> updateTestResult(String id, values) async {
|
||||||
var response = await http.post(
|
var response = await http.post(
|
||||||
Url.updateTestResult(id),
|
Uri.parse(Url.updateTestResult(id)),
|
||||||
body: json.encode(values),
|
body: json.encode(values),
|
||||||
headers: {
|
headers: {
|
||||||
'Authorization': User.token,
|
'Authorization': User.token,
|
||||||
@@ -262,7 +262,7 @@ class TestResultsProvider with ChangeNotifier {
|
|||||||
final batchId = randomString(10);
|
final batchId = randomString(10);
|
||||||
|
|
||||||
for (var image in catchImages) {
|
for (var image in catchImages) {
|
||||||
await addImage(batchId, image.readAsBytesSync(), image.path);
|
await addImage(batchId, image.bytes, image.path);
|
||||||
}
|
}
|
||||||
dynamic vals = values;
|
dynamic vals = values;
|
||||||
vals['file_batch_id'] = batchId;
|
vals['file_batch_id'] = batchId;
|
||||||
@@ -305,7 +305,7 @@ class TestResultsProvider with ChangeNotifier {
|
|||||||
}
|
}
|
||||||
|
|
||||||
Future<Map<String, dynamic>> showTestResult(String id) async {
|
Future<Map<String, dynamic>> showTestResult(String id) async {
|
||||||
var response = await http.get(Url.getTestResult(id), headers: {
|
var response = await http.get(Uri.parse(Url.getTestResult(id)), headers: {
|
||||||
'Authorization': User.token,
|
'Authorization': User.token,
|
||||||
});
|
});
|
||||||
|
|
||||||
@@ -333,7 +333,7 @@ class TestResultsProvider with ChangeNotifier {
|
|||||||
}
|
}
|
||||||
|
|
||||||
Future<bool> removeTestResult(String id) async {
|
Future<bool> removeTestResult(String id) async {
|
||||||
var response = await http.post(Url.removeTestResult(id), body: {
|
var response = await http.post(Uri.parse(Url.removeTestResult(id)), body: {
|
||||||
'_method': 'delete'
|
'_method': 'delete'
|
||||||
}, headers: {
|
}, headers: {
|
||||||
'Authorization': User.token,
|
'Authorization': User.token,
|
||||||
@@ -353,7 +353,7 @@ class TestResultsProvider with ChangeNotifier {
|
|||||||
print(id);
|
print(id);
|
||||||
print(value);
|
print(value);
|
||||||
var response = await http.post(
|
var response = await http.post(
|
||||||
Url.testResultVerification(id, value),
|
Uri.parse(Url.testResultVerification(id, value)),
|
||||||
headers: {
|
headers: {
|
||||||
'Authorization': User.token,
|
'Authorization': User.token,
|
||||||
'X-Requested-With': 'XMLHttpRequest',
|
'X-Requested-With': 'XMLHttpRequest',
|
||||||
|
|||||||
@@ -1,9 +1,10 @@
|
|||||||
import 'package:barcode_scan/barcode_scan.dart';
|
import 'package:barcode_scan2/barcode_scan2.dart';
|
||||||
import 'package:flutter/material.dart';
|
import 'package:flutter/material.dart';
|
||||||
import 'package:flutter/services.dart';
|
import 'package:flutter/services.dart';
|
||||||
import 'package:font_awesome_flutter/font_awesome_flutter.dart';
|
import 'package:font_awesome_flutter/font_awesome_flutter.dart';
|
||||||
import 'package:provider/provider.dart';
|
import 'package:provider/provider.dart';
|
||||||
import 'package:cssd/providers/cycles.dart';
|
|
||||||
|
import '../../../providers/cycles.dart';
|
||||||
|
|
||||||
class CycleAddLabelBox extends StatelessWidget {
|
class CycleAddLabelBox extends StatelessWidget {
|
||||||
const CycleAddLabelBox({
|
const CycleAddLabelBox({
|
||||||
|
|||||||
@@ -1,7 +1,8 @@
|
|||||||
import 'package:cssd/config/routes.dart';
|
|
||||||
import 'package:flutter/material.dart';
|
import 'package:flutter/material.dart';
|
||||||
import 'package:provider/provider.dart';
|
import 'package:provider/provider.dart';
|
||||||
import 'package:cssd/providers/cycles.dart';
|
|
||||||
|
import '../../../config/routes.dart';
|
||||||
|
import '../../../providers/cycles.dart';
|
||||||
|
|
||||||
class CycleAddSaveButton extends StatelessWidget {
|
class CycleAddSaveButton extends StatelessWidget {
|
||||||
const CycleAddSaveButton({
|
const CycleAddSaveButton({
|
||||||
@@ -49,7 +50,7 @@ class CycleAddSaveButton extends StatelessWidget {
|
|||||||
builder: (ctx) => AlertDialog(
|
builder: (ctx) => AlertDialog(
|
||||||
content: Text('Cycle added.'),
|
content: Text('Cycle added.'),
|
||||||
actions: <Widget>[
|
actions: <Widget>[
|
||||||
FlatButton(
|
TextButton(
|
||||||
onPressed: () {
|
onPressed: () {
|
||||||
Navigator.of(ctx).pop();
|
Navigator.of(ctx).pop();
|
||||||
},
|
},
|
||||||
|
|||||||
@@ -1,7 +1,8 @@
|
|||||||
import 'package:cssd/config/routes.dart';
|
|
||||||
import 'package:flutter/material.dart';
|
import 'package:flutter/material.dart';
|
||||||
import 'package:provider/provider.dart';
|
import 'package:provider/provider.dart';
|
||||||
import 'package:cssd/providers/cycles.dart';
|
|
||||||
|
import '../../../config/routes.dart';
|
||||||
|
import '../../../providers/cycles.dart';
|
||||||
|
|
||||||
class CycleFilterSaveButton extends StatelessWidget {
|
class CycleFilterSaveButton extends StatelessWidget {
|
||||||
const CycleFilterSaveButton({
|
const CycleFilterSaveButton({
|
||||||
@@ -48,7 +49,7 @@ class CycleFilterSaveButton extends StatelessWidget {
|
|||||||
builder: (ctx) => AlertDialog(
|
builder: (ctx) => AlertDialog(
|
||||||
content: Text('Filters changed.'),
|
content: Text('Filters changed.'),
|
||||||
actions: <Widget>[
|
actions: <Widget>[
|
||||||
FlatButton(
|
TextButton(
|
||||||
onPressed: () {
|
onPressed: () {
|
||||||
Navigator.of(ctx).pop();
|
Navigator.of(ctx).pop();
|
||||||
},
|
},
|
||||||
|
|||||||
@@ -1,7 +1,8 @@
|
|||||||
import 'package:cssd/config/routes.dart';
|
|
||||||
import 'package:flutter/material.dart';
|
import 'package:flutter/material.dart';
|
||||||
import 'package:font_awesome_flutter/font_awesome_flutter.dart';
|
import 'package:font_awesome_flutter/font_awesome_flutter.dart';
|
||||||
|
|
||||||
|
import '../../../config/routes.dart';
|
||||||
|
|
||||||
class CycleResultBanner extends StatelessWidget {
|
class CycleResultBanner extends StatelessWidget {
|
||||||
const CycleResultBanner({
|
const CycleResultBanner({
|
||||||
Key key,
|
Key key,
|
||||||
|
|||||||
@@ -1,9 +1,10 @@
|
|||||||
import 'package:cssd/config/routes.dart';
|
|
||||||
import 'package:cssd/models/cycles_models.dart';
|
|
||||||
import 'package:flutter/material.dart';
|
import 'package:flutter/material.dart';
|
||||||
import 'package:font_awesome_flutter/font_awesome_flutter.dart';
|
import 'package:font_awesome_flutter/font_awesome_flutter.dart';
|
||||||
import 'package:intl/intl.dart';
|
import 'package:intl/intl.dart';
|
||||||
|
|
||||||
|
import '../../../config/routes.dart';
|
||||||
|
import '../../../models/cycles_models.dart';
|
||||||
|
|
||||||
class CycleItemBox extends StatelessWidget {
|
class CycleItemBox extends StatelessWidget {
|
||||||
final CycleResultObject item;
|
final CycleResultObject item;
|
||||||
final String labels;
|
final String labels;
|
||||||
|
|||||||
@@ -1,8 +1,9 @@
|
|||||||
import 'package:cssd/config/routes.dart';
|
|
||||||
import 'package:flutter/material.dart';
|
import 'package:flutter/material.dart';
|
||||||
import 'package:font_awesome_flutter/font_awesome_flutter.dart';
|
import 'package:font_awesome_flutter/font_awesome_flutter.dart';
|
||||||
import 'package:provider/provider.dart';
|
import 'package:provider/provider.dart';
|
||||||
import 'package:cssd/providers/cycles.dart';
|
|
||||||
|
import '../../../config/routes.dart';
|
||||||
|
import '../../../providers/cycles.dart';
|
||||||
|
|
||||||
class CycleFilterBaner extends StatelessWidget {
|
class CycleFilterBaner extends StatelessWidget {
|
||||||
const CycleFilterBaner({
|
const CycleFilterBaner({
|
||||||
|
|||||||
@@ -1,7 +1,8 @@
|
|||||||
import 'package:flutter/material.dart';
|
import 'package:flutter/material.dart';
|
||||||
import 'package:font_awesome_flutter/font_awesome_flutter.dart';
|
import 'package:font_awesome_flutter/font_awesome_flutter.dart';
|
||||||
import 'package:provider/provider.dart';
|
import 'package:provider/provider.dart';
|
||||||
import 'package:cssd/providers/cycles.dart';
|
|
||||||
|
import '../../../providers/cycles.dart';
|
||||||
class CycleResultSearchBox extends StatelessWidget {
|
class CycleResultSearchBox extends StatelessWidget {
|
||||||
const CycleResultSearchBox({
|
const CycleResultSearchBox({
|
||||||
Key key,
|
Key key,
|
||||||
|
|||||||
@@ -1,8 +1,9 @@
|
|||||||
import 'package:cssd/config/routes.dart';
|
|
||||||
// import 'package:cssd/pages/test_result_screen.dart';
|
// import 'package:cssd/pages/test_result_screen.dart';
|
||||||
import 'package:flutter/material.dart';
|
import 'package:flutter/material.dart';
|
||||||
import 'package:font_awesome_flutter/font_awesome_flutter.dart';
|
import 'package:font_awesome_flutter/font_awesome_flutter.dart';
|
||||||
|
|
||||||
|
import '../../config/routes.dart';
|
||||||
|
|
||||||
class AppDrawer extends StatelessWidget {
|
class AppDrawer extends StatelessWidget {
|
||||||
@override
|
@override
|
||||||
Widget build(BuildContext context) {
|
Widget build(BuildContext context) {
|
||||||
|
|||||||
@@ -1,7 +1,8 @@
|
|||||||
import 'package:cssd/config/routes.dart';
|
|
||||||
import 'package:flutter/material.dart';
|
import 'package:flutter/material.dart';
|
||||||
import 'package:provider/provider.dart';
|
import 'package:provider/provider.dart';
|
||||||
import 'package:cssd/providers/labels.dart';
|
|
||||||
|
import '../../../config/routes.dart';
|
||||||
|
import '../../../providers/labels.dart';
|
||||||
|
|
||||||
class LabelAddSaveButton extends StatelessWidget {
|
class LabelAddSaveButton extends StatelessWidget {
|
||||||
const LabelAddSaveButton({
|
const LabelAddSaveButton({
|
||||||
@@ -49,7 +50,7 @@ class LabelAddSaveButton extends StatelessWidget {
|
|||||||
builder: (ctx) => AlertDialog(
|
builder: (ctx) => AlertDialog(
|
||||||
content: Text('Label added.'),
|
content: Text('Label added.'),
|
||||||
actions: <Widget>[
|
actions: <Widget>[
|
||||||
FlatButton(
|
TextButton(
|
||||||
onPressed: () {
|
onPressed: () {
|
||||||
Navigator.of(ctx).pop();
|
Navigator.of(ctx).pop();
|
||||||
},
|
},
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
import 'package:cssd/config/routes.dart';
|
import '../../../config/routes.dart';
|
||||||
import 'package:flutter/material.dart';
|
import 'package:flutter/material.dart';
|
||||||
import 'package:provider/provider.dart';
|
import 'package:provider/provider.dart';
|
||||||
import 'package:cssd/providers/labels.dart';
|
import '../../../providers/labels.dart';
|
||||||
|
|
||||||
class LabelUpdateButton extends StatelessWidget {
|
class LabelUpdateButton extends StatelessWidget {
|
||||||
const LabelUpdateButton({
|
const LabelUpdateButton({
|
||||||
@@ -52,7 +52,7 @@ class LabelUpdateButton extends StatelessWidget {
|
|||||||
builder: (ctx) => AlertDialog(
|
builder: (ctx) => AlertDialog(
|
||||||
content: Text('Label updated.'),
|
content: Text('Label updated.'),
|
||||||
actions: <Widget>[
|
actions: <Widget>[
|
||||||
FlatButton(
|
TextButton(
|
||||||
onPressed: () {
|
onPressed: () {
|
||||||
Navigator.of(ctx).pop();
|
Navigator.of(ctx).pop();
|
||||||
},
|
},
|
||||||
|
|||||||
@@ -1,7 +1,8 @@
|
|||||||
import 'package:cssd/config/routes.dart';
|
|
||||||
import 'package:flutter/material.dart';
|
import 'package:flutter/material.dart';
|
||||||
import 'package:provider/provider.dart';
|
import 'package:provider/provider.dart';
|
||||||
import 'package:cssd/providers/labels.dart';
|
|
||||||
|
import '../../../config/routes.dart';
|
||||||
|
import '../../../providers/labels.dart';
|
||||||
|
|
||||||
class LabelFilterSaveButton extends StatelessWidget {
|
class LabelFilterSaveButton extends StatelessWidget {
|
||||||
const LabelFilterSaveButton({
|
const LabelFilterSaveButton({
|
||||||
@@ -45,7 +46,7 @@ class LabelFilterSaveButton extends StatelessWidget {
|
|||||||
builder: (ctx) => AlertDialog(
|
builder: (ctx) => AlertDialog(
|
||||||
content: Text('Filters changed.'),
|
content: Text('Filters changed.'),
|
||||||
actions: <Widget>[
|
actions: <Widget>[
|
||||||
FlatButton(
|
TextButton(
|
||||||
onPressed: () {
|
onPressed: () {
|
||||||
Navigator.of(ctx).pop();
|
Navigator.of(ctx).pop();
|
||||||
},
|
},
|
||||||
|
|||||||
@@ -1,8 +1,9 @@
|
|||||||
import 'package:cssd/config/routes.dart';
|
|
||||||
import 'package:cssd/models/label_models.dart';
|
|
||||||
import 'package:flutter/material.dart';
|
import 'package:flutter/material.dart';
|
||||||
import 'package:font_awesome_flutter/font_awesome_flutter.dart';
|
import 'package:font_awesome_flutter/font_awesome_flutter.dart';
|
||||||
|
|
||||||
|
import '../../../config/routes.dart';
|
||||||
|
import '../../../models/label_models.dart';
|
||||||
|
|
||||||
class LabelItemBox extends StatelessWidget {
|
class LabelItemBox extends StatelessWidget {
|
||||||
final LabelResultObject item;
|
final LabelResultObject item;
|
||||||
const LabelItemBox({
|
const LabelItemBox({
|
||||||
|
|||||||
@@ -1,5 +1,6 @@
|
|||||||
import 'package:flutter/material.dart';
|
import 'package:flutter/material.dart';
|
||||||
import 'package:provider/provider.dart';
|
import 'package:provider/provider.dart';
|
||||||
|
|
||||||
import '../../../providers/labels.dart';
|
import '../../../providers/labels.dart';
|
||||||
class LabelFilterChip extends StatelessWidget {
|
class LabelFilterChip extends StatelessWidget {
|
||||||
const LabelFilterChip({
|
const LabelFilterChip({
|
||||||
|
|||||||
@@ -1,7 +1,8 @@
|
|||||||
import 'package:cssd/config/routes.dart';
|
|
||||||
import 'package:flutter/material.dart';
|
import 'package:flutter/material.dart';
|
||||||
import 'package:font_awesome_flutter/font_awesome_flutter.dart';
|
import 'package:font_awesome_flutter/font_awesome_flutter.dart';
|
||||||
|
|
||||||
|
import '../../../config/routes.dart';
|
||||||
|
|
||||||
class LabelFloatingButtons extends StatelessWidget {
|
class LabelFloatingButtons extends StatelessWidget {
|
||||||
const LabelFloatingButtons({
|
const LabelFloatingButtons({
|
||||||
Key key,
|
Key key,
|
||||||
|
|||||||
@@ -1,6 +1,7 @@
|
|||||||
import 'package:flutter/material.dart';
|
import 'package:flutter/material.dart';
|
||||||
import 'package:font_awesome_flutter/font_awesome_flutter.dart';
|
import 'package:font_awesome_flutter/font_awesome_flutter.dart';
|
||||||
import 'package:provider/provider.dart';
|
import 'package:provider/provider.dart';
|
||||||
|
|
||||||
import '../../../providers/labels.dart';
|
import '../../../providers/labels.dart';
|
||||||
|
|
||||||
class LabelSearchBox extends StatelessWidget {
|
class LabelSearchBox extends StatelessWidget {
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
import 'package:barcode_scan/barcode_scan.dart';
|
import 'package:barcode_scan2/barcode_scan2.dart';
|
||||||
import 'package:flutter/material.dart';
|
import 'package:flutter/material.dart';
|
||||||
import 'package:flutter/services.dart';
|
import 'package:flutter/services.dart';
|
||||||
import 'package:url_launcher/url_launcher.dart';
|
import 'package:url_launcher/url_launcher.dart';
|
||||||
|
|||||||
@@ -2,11 +2,13 @@ import 'dart:async';
|
|||||||
import 'dart:io';
|
import 'dart:io';
|
||||||
|
|
||||||
import 'package:camera/camera.dart';
|
import 'package:camera/camera.dart';
|
||||||
import 'package:cssd/providers/test_results.dart';
|
import 'package:file_picker/file_picker.dart';
|
||||||
import 'package:flutter/material.dart';
|
import 'package:flutter/material.dart';
|
||||||
import 'package:path_provider/path_provider.dart';
|
import 'package:path_provider/path_provider.dart';
|
||||||
import 'package:provider/provider.dart';
|
import 'package:provider/provider.dart';
|
||||||
|
|
||||||
|
import '../../../providers/test_results.dart';
|
||||||
|
|
||||||
class CaptureImage extends StatefulWidget {
|
class CaptureImage extends StatefulWidget {
|
||||||
@override
|
@override
|
||||||
_CaptureImageState createState() {
|
_CaptureImageState createState() {
|
||||||
@@ -247,8 +249,13 @@ class _CaptureImageState extends State<CaptureImage>
|
|||||||
imagePath = filePath;
|
imagePath = filePath;
|
||||||
var profileProviderObject =
|
var profileProviderObject =
|
||||||
Provider.of<TestResultsProvider>(context, listen: false);
|
Provider.of<TestResultsProvider>(context, listen: false);
|
||||||
List<File> files = profileProviderObject.catchImages;
|
List<PlatformFile> files = profileProviderObject.catchImages;
|
||||||
files.add(File(imagePath));
|
print(imagePath);
|
||||||
|
files.add(PlatformFile(
|
||||||
|
name: 'test',
|
||||||
|
size: 0,
|
||||||
|
path: imagePath,
|
||||||
|
bytes: File(imagePath).readAsBytesSync()));
|
||||||
profileProviderObject.setCatchImages(files);
|
profileProviderObject.setCatchImages(files);
|
||||||
profileProviderObject.setImages();
|
profileProviderObject.setImages();
|
||||||
print(imagePath);
|
print(imagePath);
|
||||||
|
|||||||
@@ -1,7 +1,4 @@
|
|||||||
import 'dart:io';
|
import 'package:barcode_scan2/barcode_scan2.dart';
|
||||||
|
|
||||||
import 'package:barcode_scan/barcode_scan.dart';
|
|
||||||
import 'package:cssd/config/routes.dart';
|
|
||||||
import 'package:file_picker/file_picker.dart';
|
import 'package:file_picker/file_picker.dart';
|
||||||
import 'package:flutter/material.dart';
|
import 'package:flutter/material.dart';
|
||||||
import 'package:flutter/rendering.dart';
|
import 'package:flutter/rendering.dart';
|
||||||
@@ -12,6 +9,7 @@ import 'package:meta/meta.dart';
|
|||||||
import 'package:multiselect_formfield/multiselect_formfield.dart';
|
import 'package:multiselect_formfield/multiselect_formfield.dart';
|
||||||
import 'package:provider/provider.dart';
|
import 'package:provider/provider.dart';
|
||||||
|
|
||||||
|
import '../../../config/routes.dart';
|
||||||
import '../../../providers/test_results.dart';
|
import '../../../providers/test_results.dart';
|
||||||
|
|
||||||
class FormCreator extends StatefulWidget {
|
class FormCreator extends StatefulWidget {
|
||||||
@@ -528,7 +526,7 @@ class _FormCreatorState extends State<FormCreator> {
|
|||||||
Future captureImage(BuildContext context) async {
|
Future captureImage(BuildContext context) async {
|
||||||
var profileProviderObject =
|
var profileProviderObject =
|
||||||
Provider.of<TestResultsProvider>(context, listen: false);
|
Provider.of<TestResultsProvider>(context, listen: false);
|
||||||
List<File> files = profileProviderObject.catchImages;
|
List<PlatformFile> files = profileProviderObject.catchImages;
|
||||||
try {
|
try {
|
||||||
files.add(
|
files.add(
|
||||||
await ImagePickerGC.pickImage(
|
await ImagePickerGC.pickImage(
|
||||||
@@ -552,12 +550,17 @@ class _FormCreatorState extends State<FormCreator> {
|
|||||||
Future<void> loadAssets(BuildContext context) async {
|
Future<void> loadAssets(BuildContext context) async {
|
||||||
var profileProviderObject =
|
var profileProviderObject =
|
||||||
Provider.of<TestResultsProvider>(context, listen: false);
|
Provider.of<TestResultsProvider>(context, listen: false);
|
||||||
List<File> files = profileProviderObject.catchImages;
|
List<PlatformFile> files = profileProviderObject.catchImages;
|
||||||
try {
|
try {
|
||||||
files += await FilePicker.getMultiFile(
|
var datas = await FilePicker.platform.pickFiles(
|
||||||
type: FileType.custom,
|
type: FileType.custom,
|
||||||
allowedExtensions: ['jpg', 'png', 'bmp', 'jpeg', 'pdf', 'docx', 'doc'],
|
allowedExtensions: ['jpg', 'png', 'bmp', 'jpeg', 'pdf', 'docx', 'doc'],
|
||||||
|
withData: true,
|
||||||
|
withReadStream: true,
|
||||||
);
|
);
|
||||||
|
files += datas.files;
|
||||||
|
// files +=
|
||||||
|
|
||||||
// print(files);
|
// print(files);
|
||||||
} catch (_) {}
|
} catch (_) {}
|
||||||
|
|
||||||
@@ -632,8 +635,9 @@ class ImageBox extends StatelessWidget {
|
|||||||
builder: (_) => Container(
|
builder: (_) => Container(
|
||||||
color: Colors.white,
|
color: Colors.white,
|
||||||
child: Center(
|
child: Center(
|
||||||
child: Image.file(
|
child: Image.memory(
|
||||||
_testProvider.catchImages[index],
|
_testProvider.catchImages[index].bytes,
|
||||||
|
fit: BoxFit.contain,
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
@@ -653,12 +657,12 @@ class ImageBox extends StatelessWidget {
|
|||||||
height: 60,
|
height: 60,
|
||||||
fit: BoxFit.fill,
|
fit: BoxFit.fill,
|
||||||
)
|
)
|
||||||
: Image.file(
|
: Image.memory(
|
||||||
_testProvider.catchImages[index],
|
_testProvider.catchImages[index].bytes,
|
||||||
// asset: _images[index],
|
// asset: _images[index],
|
||||||
width: 60,
|
width: 60,
|
||||||
height: 60,
|
height: 60,
|
||||||
fit: BoxFit.fill,
|
fit: BoxFit.contain,
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
|
|||||||
@@ -1,6 +1,7 @@
|
|||||||
import 'package:cssd/config/routes.dart';
|
|
||||||
import 'package:flutter/material.dart';
|
import 'package:flutter/material.dart';
|
||||||
|
|
||||||
|
import '../../../config/routes.dart';
|
||||||
|
|
||||||
class TestResultAddSaveButton extends StatelessWidget {
|
class TestResultAddSaveButton extends StatelessWidget {
|
||||||
const TestResultAddSaveButton({
|
const TestResultAddSaveButton({
|
||||||
Key key,
|
Key key,
|
||||||
|
|||||||
@@ -1,6 +1,7 @@
|
|||||||
import 'package:cssd/config/routes.dart';
|
|
||||||
import 'package:flutter/material.dart';
|
import 'package:flutter/material.dart';
|
||||||
|
|
||||||
|
import '../../../config/routes.dart';
|
||||||
|
|
||||||
class TestResultAddButton extends StatelessWidget {
|
class TestResultAddButton extends StatelessWidget {
|
||||||
const TestResultAddButton({
|
const TestResultAddButton({
|
||||||
Key key,
|
Key key,
|
||||||
|
|||||||
@@ -1,5 +1,6 @@
|
|||||||
import 'package:flutter/material.dart';
|
import 'package:flutter/material.dart';
|
||||||
import 'package:provider/provider.dart';
|
import 'package:provider/provider.dart';
|
||||||
|
|
||||||
import '../../../providers/test_results.dart';
|
import '../../../providers/test_results.dart';
|
||||||
|
|
||||||
class TestResultChip extends StatelessWidget {
|
class TestResultChip extends StatelessWidget {
|
||||||
|
|||||||
@@ -1,7 +1,8 @@
|
|||||||
import 'package:cssd/config/routes.dart';
|
|
||||||
import 'package:flutter/material.dart';
|
import 'package:flutter/material.dart';
|
||||||
import 'package:font_awesome_flutter/font_awesome_flutter.dart';
|
import 'package:font_awesome_flutter/font_awesome_flutter.dart';
|
||||||
|
|
||||||
|
import '../../../config/routes.dart';
|
||||||
|
|
||||||
// class TestResultFloatingButton extends StatelessWidget {
|
// class TestResultFloatingButton extends StatelessWidget {
|
||||||
// const TestResultFloatingButton({
|
// const TestResultFloatingButton({
|
||||||
// Key key,
|
// Key key,
|
||||||
|
|||||||
@@ -1,6 +1,7 @@
|
|||||||
import 'package:flutter/material.dart';
|
import 'package:flutter/material.dart';
|
||||||
import 'package:font_awesome_flutter/font_awesome_flutter.dart';
|
import 'package:font_awesome_flutter/font_awesome_flutter.dart';
|
||||||
import 'package:provider/provider.dart';
|
import 'package:provider/provider.dart';
|
||||||
|
|
||||||
import '../../../providers/test_results.dart';
|
import '../../../providers/test_results.dart';
|
||||||
|
|
||||||
class TestResultSearchBox extends StatelessWidget {
|
class TestResultSearchBox extends StatelessWidget {
|
||||||
|
|||||||
+131
-89
@@ -21,21 +21,21 @@ packages:
|
|||||||
name: async
|
name: async
|
||||||
url: "https://pub.dartlang.org"
|
url: "https://pub.dartlang.org"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "2.5.0-nullsafety.1"
|
version: "2.6.1"
|
||||||
barcode_scan:
|
barcode_scan2:
|
||||||
dependency: "direct main"
|
dependency: "direct main"
|
||||||
description:
|
description:
|
||||||
name: barcode_scan
|
name: barcode_scan2
|
||||||
url: "https://pub.dartlang.org"
|
url: "https://pub.dartlang.org"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "3.0.0"
|
version: "4.1.3"
|
||||||
boolean_selector:
|
boolean_selector:
|
||||||
dependency: transitive
|
dependency: transitive
|
||||||
description:
|
description:
|
||||||
name: boolean_selector
|
name: boolean_selector
|
||||||
url: "https://pub.dartlang.org"
|
url: "https://pub.dartlang.org"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "2.1.0-nullsafety.1"
|
version: "2.1.0"
|
||||||
camera:
|
camera:
|
||||||
dependency: "direct main"
|
dependency: "direct main"
|
||||||
description:
|
description:
|
||||||
@@ -49,49 +49,56 @@ packages:
|
|||||||
name: characters
|
name: characters
|
||||||
url: "https://pub.dartlang.org"
|
url: "https://pub.dartlang.org"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "1.1.0-nullsafety.3"
|
version: "1.1.0"
|
||||||
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.2.0-nullsafety.1"
|
version: "1.2.0"
|
||||||
clock:
|
clock:
|
||||||
dependency: transitive
|
dependency: transitive
|
||||||
description:
|
description:
|
||||||
name: clock
|
name: clock
|
||||||
url: "https://pub.dartlang.org"
|
url: "https://pub.dartlang.org"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "1.1.0-nullsafety.1"
|
version: "1.1.0"
|
||||||
collection:
|
collection:
|
||||||
dependency: transitive
|
dependency: transitive
|
||||||
description:
|
description:
|
||||||
name: collection
|
name: collection
|
||||||
url: "https://pub.dartlang.org"
|
url: "https://pub.dartlang.org"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "1.15.0-nullsafety.3"
|
version: "1.15.0"
|
||||||
connectivity:
|
connectivity:
|
||||||
dependency: "direct main"
|
dependency: "direct main"
|
||||||
description:
|
description:
|
||||||
name: connectivity
|
name: connectivity
|
||||||
url: "https://pub.dartlang.org"
|
url: "https://pub.dartlang.org"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "0.4.8+5"
|
version: "3.0.6"
|
||||||
|
connectivity_for_web:
|
||||||
|
dependency: transitive
|
||||||
|
description:
|
||||||
|
name: connectivity_for_web
|
||||||
|
url: "https://pub.dartlang.org"
|
||||||
|
source: hosted
|
||||||
|
version: "0.4.0"
|
||||||
connectivity_macos:
|
connectivity_macos:
|
||||||
dependency: transitive
|
dependency: transitive
|
||||||
description:
|
description:
|
||||||
name: connectivity_macos
|
name: connectivity_macos
|
||||||
url: "https://pub.dartlang.org"
|
url: "https://pub.dartlang.org"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "0.1.0+3"
|
version: "0.2.0"
|
||||||
connectivity_platform_interface:
|
connectivity_platform_interface:
|
||||||
dependency: transitive
|
dependency: transitive
|
||||||
description:
|
description:
|
||||||
name: connectivity_platform_interface
|
name: connectivity_platform_interface
|
||||||
url: "https://pub.dartlang.org"
|
url: "https://pub.dartlang.org"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "1.0.5"
|
version: "2.0.1"
|
||||||
convert:
|
convert:
|
||||||
dependency: transitive
|
dependency: transitive
|
||||||
description:
|
description:
|
||||||
@@ -112,49 +119,56 @@ packages:
|
|||||||
name: cupertino_icons
|
name: cupertino_icons
|
||||||
url: "https://pub.dartlang.org"
|
url: "https://pub.dartlang.org"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "0.1.3"
|
version: "1.0.3"
|
||||||
dio:
|
dio:
|
||||||
dependency: "direct main"
|
dependency: "direct main"
|
||||||
description:
|
description:
|
||||||
name: dio
|
name: dio
|
||||||
url: "https://pub.dartlang.org"
|
url: "https://pub.dartlang.org"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "3.0.9"
|
version: "4.0.0"
|
||||||
double_back_to_close_app:
|
double_back_to_close_app:
|
||||||
dependency: "direct main"
|
dependency: "direct main"
|
||||||
description:
|
description:
|
||||||
name: double_back_to_close_app
|
name: double_back_to_close_app
|
||||||
url: "https://pub.dartlang.org"
|
url: "https://pub.dartlang.org"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "1.2.0"
|
version: "2.0.1"
|
||||||
fake_async:
|
fake_async:
|
||||||
dependency: transitive
|
dependency: transitive
|
||||||
description:
|
description:
|
||||||
name: fake_async
|
name: fake_async
|
||||||
url: "https://pub.dartlang.org"
|
url: "https://pub.dartlang.org"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "1.2.0-nullsafety.1"
|
version: "1.2.0"
|
||||||
|
ffi:
|
||||||
|
dependency: transitive
|
||||||
|
description:
|
||||||
|
name: ffi
|
||||||
|
url: "https://pub.dartlang.org"
|
||||||
|
source: hosted
|
||||||
|
version: "1.1.2"
|
||||||
file:
|
file:
|
||||||
dependency: transitive
|
dependency: transitive
|
||||||
description:
|
description:
|
||||||
name: file
|
name: file
|
||||||
url: "https://pub.dartlang.org"
|
url: "https://pub.dartlang.org"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "5.2.1"
|
version: "6.1.2"
|
||||||
file_picker:
|
file_picker:
|
||||||
dependency: "direct main"
|
dependency: "direct main"
|
||||||
description:
|
description:
|
||||||
name: file_picker
|
name: file_picker
|
||||||
url: "https://pub.dartlang.org"
|
url: "https://pub.dartlang.org"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "1.9.0+1"
|
version: "3.0.2+2"
|
||||||
fixnum:
|
fixnum:
|
||||||
dependency: transitive
|
dependency: transitive
|
||||||
description:
|
description:
|
||||||
name: fixnum
|
name: fixnum
|
||||||
url: "https://pub.dartlang.org"
|
url: "https://pub.dartlang.org"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "0.10.11"
|
version: "1.0.0"
|
||||||
flutter:
|
flutter:
|
||||||
dependency: "direct main"
|
dependency: "direct main"
|
||||||
description: flutter
|
description: flutter
|
||||||
@@ -173,14 +187,14 @@ packages:
|
|||||||
name: flutter_phoenix
|
name: flutter_phoenix
|
||||||
url: "https://pub.dartlang.org"
|
url: "https://pub.dartlang.org"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "0.1.0"
|
version: "1.0.0"
|
||||||
flutter_plugin_android_lifecycle:
|
flutter_plugin_android_lifecycle:
|
||||||
dependency: transitive
|
dependency: transitive
|
||||||
description:
|
description:
|
||||||
name: flutter_plugin_android_lifecycle
|
name: flutter_plugin_android_lifecycle
|
||||||
url: "https://pub.dartlang.org"
|
url: "https://pub.dartlang.org"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "1.0.8"
|
version: "2.0.2"
|
||||||
flutter_test:
|
flutter_test:
|
||||||
dependency: "direct dev"
|
dependency: "direct dev"
|
||||||
description: flutter
|
description: flutter
|
||||||
@@ -204,14 +218,14 @@ packages:
|
|||||||
name: http
|
name: http
|
||||||
url: "https://pub.dartlang.org"
|
url: "https://pub.dartlang.org"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "0.12.1"
|
version: "0.13.3"
|
||||||
http_parser:
|
http_parser:
|
||||||
dependency: transitive
|
dependency: transitive
|
||||||
description:
|
description:
|
||||||
name: http_parser
|
name: http_parser
|
||||||
url: "https://pub.dartlang.org"
|
url: "https://pub.dartlang.org"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "3.1.4"
|
version: "4.0.0"
|
||||||
image:
|
image:
|
||||||
dependency: transitive
|
dependency: transitive
|
||||||
description:
|
description:
|
||||||
@@ -225,21 +239,28 @@ packages:
|
|||||||
name: image_picker
|
name: image_picker
|
||||||
url: "https://pub.dartlang.org"
|
url: "https://pub.dartlang.org"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "0.6.7+4"
|
version: "0.7.5+4"
|
||||||
|
image_picker_for_web:
|
||||||
|
dependency: transitive
|
||||||
|
description:
|
||||||
|
name: image_picker_for_web
|
||||||
|
url: "https://pub.dartlang.org"
|
||||||
|
source: hosted
|
||||||
|
version: "2.0.0"
|
||||||
image_picker_gallery_camera:
|
image_picker_gallery_camera:
|
||||||
dependency: "direct main"
|
dependency: "direct main"
|
||||||
description:
|
description:
|
||||||
name: image_picker_gallery_camera
|
name: image_picker_gallery_camera
|
||||||
url: "https://pub.dartlang.org"
|
url: "https://pub.dartlang.org"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "0.1.6"
|
version: "0.2.2"
|
||||||
image_picker_platform_interface:
|
image_picker_platform_interface:
|
||||||
dependency: transitive
|
dependency: transitive
|
||||||
description:
|
description:
|
||||||
name: image_picker_platform_interface
|
name: image_picker_platform_interface
|
||||||
url: "https://pub.dartlang.org"
|
url: "https://pub.dartlang.org"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "1.1.0"
|
version: "2.1.0"
|
||||||
intl:
|
intl:
|
||||||
dependency: "direct main"
|
dependency: "direct main"
|
||||||
description:
|
description:
|
||||||
@@ -247,20 +268,27 @@ packages:
|
|||||||
url: "https://pub.dartlang.org"
|
url: "https://pub.dartlang.org"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "0.16.1"
|
version: "0.16.1"
|
||||||
|
js:
|
||||||
|
dependency: transitive
|
||||||
|
description:
|
||||||
|
name: js
|
||||||
|
url: "https://pub.dartlang.org"
|
||||||
|
source: hosted
|
||||||
|
version: "0.6.3"
|
||||||
matcher:
|
matcher:
|
||||||
dependency: transitive
|
dependency: transitive
|
||||||
description:
|
description:
|
||||||
name: matcher
|
name: matcher
|
||||||
url: "https://pub.dartlang.org"
|
url: "https://pub.dartlang.org"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "0.12.10-nullsafety.1"
|
version: "0.12.10"
|
||||||
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.3.0-nullsafety.3"
|
version: "1.3.0"
|
||||||
multiselect_formfield:
|
multiselect_formfield:
|
||||||
dependency: "direct main"
|
dependency: "direct main"
|
||||||
description:
|
description:
|
||||||
@@ -268,48 +296,62 @@ packages:
|
|||||||
url: "https://pub.dartlang.org"
|
url: "https://pub.dartlang.org"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "0.1.2"
|
version: "0.1.2"
|
||||||
|
nested:
|
||||||
|
dependency: transitive
|
||||||
|
description:
|
||||||
|
name: nested
|
||||||
|
url: "https://pub.dartlang.org"
|
||||||
|
source: hosted
|
||||||
|
version: "1.0.0"
|
||||||
path:
|
path:
|
||||||
dependency: transitive
|
dependency: transitive
|
||||||
description:
|
description:
|
||||||
name: path
|
name: path
|
||||||
url: "https://pub.dartlang.org"
|
url: "https://pub.dartlang.org"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "1.8.0-nullsafety.1"
|
version: "1.8.0"
|
||||||
path_provider:
|
path_provider:
|
||||||
dependency: "direct main"
|
dependency: "direct main"
|
||||||
description:
|
description:
|
||||||
name: path_provider
|
name: path_provider
|
||||||
url: "https://pub.dartlang.org"
|
url: "https://pub.dartlang.org"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "1.6.11"
|
version: "2.0.2"
|
||||||
path_provider_linux:
|
path_provider_linux:
|
||||||
dependency: transitive
|
dependency: transitive
|
||||||
description:
|
description:
|
||||||
name: path_provider_linux
|
name: path_provider_linux
|
||||||
url: "https://pub.dartlang.org"
|
url: "https://pub.dartlang.org"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "0.0.1+2"
|
version: "2.0.0"
|
||||||
path_provider_macos:
|
path_provider_macos:
|
||||||
dependency: transitive
|
dependency: transitive
|
||||||
description:
|
description:
|
||||||
name: path_provider_macos
|
name: path_provider_macos
|
||||||
url: "https://pub.dartlang.org"
|
url: "https://pub.dartlang.org"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "0.0.4+3"
|
version: "2.0.0"
|
||||||
path_provider_platform_interface:
|
path_provider_platform_interface:
|
||||||
dependency: transitive
|
dependency: transitive
|
||||||
description:
|
description:
|
||||||
name: path_provider_platform_interface
|
name: path_provider_platform_interface
|
||||||
url: "https://pub.dartlang.org"
|
url: "https://pub.dartlang.org"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "1.0.2"
|
version: "2.0.1"
|
||||||
|
path_provider_windows:
|
||||||
|
dependency: transitive
|
||||||
|
description:
|
||||||
|
name: path_provider_windows
|
||||||
|
url: "https://pub.dartlang.org"
|
||||||
|
source: hosted
|
||||||
|
version: "2.0.1"
|
||||||
pedantic:
|
pedantic:
|
||||||
dependency: transitive
|
dependency: transitive
|
||||||
description:
|
description:
|
||||||
name: pedantic
|
name: pedantic
|
||||||
url: "https://pub.dartlang.org"
|
url: "https://pub.dartlang.org"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "1.8.0+1"
|
version: "1.11.1"
|
||||||
petitparser:
|
petitparser:
|
||||||
dependency: transitive
|
dependency: transitive
|
||||||
description:
|
description:
|
||||||
@@ -323,49 +365,35 @@ packages:
|
|||||||
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"
|
||||||
platform_detect:
|
|
||||||
dependency: transitive
|
|
||||||
description:
|
|
||||||
name: platform_detect
|
|
||||||
url: "https://pub.dartlang.org"
|
|
||||||
source: hosted
|
|
||||||
version: "1.4.0"
|
|
||||||
plugin_platform_interface:
|
plugin_platform_interface:
|
||||||
dependency: transitive
|
dependency: transitive
|
||||||
description:
|
description:
|
||||||
name: plugin_platform_interface
|
name: plugin_platform_interface
|
||||||
url: "https://pub.dartlang.org"
|
url: "https://pub.dartlang.org"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "1.0.2"
|
version: "2.0.0"
|
||||||
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.2.1"
|
||||||
protobuf:
|
protobuf:
|
||||||
dependency: transitive
|
dependency: transitive
|
||||||
description:
|
description:
|
||||||
name: protobuf
|
name: protobuf
|
||||||
url: "https://pub.dartlang.org"
|
url: "https://pub.dartlang.org"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "1.0.1"
|
version: "2.0.0"
|
||||||
provider:
|
provider:
|
||||||
dependency: "direct main"
|
dependency: "direct main"
|
||||||
description:
|
description:
|
||||||
name: provider
|
name: provider
|
||||||
url: "https://pub.dartlang.org"
|
url: "https://pub.dartlang.org"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "3.2.0"
|
version: "5.0.0"
|
||||||
pub_semver:
|
|
||||||
dependency: transitive
|
|
||||||
description:
|
|
||||||
name: pub_semver
|
|
||||||
url: "https://pub.dartlang.org"
|
|
||||||
source: hosted
|
|
||||||
version: "1.4.4"
|
|
||||||
random_string:
|
random_string:
|
||||||
dependency: "direct main"
|
dependency: "direct main"
|
||||||
description:
|
description:
|
||||||
@@ -379,28 +407,42 @@ packages:
|
|||||||
name: shared_preferences
|
name: shared_preferences
|
||||||
url: "https://pub.dartlang.org"
|
url: "https://pub.dartlang.org"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "0.5.7"
|
version: "2.0.6"
|
||||||
|
shared_preferences_linux:
|
||||||
|
dependency: transitive
|
||||||
|
description:
|
||||||
|
name: shared_preferences_linux
|
||||||
|
url: "https://pub.dartlang.org"
|
||||||
|
source: hosted
|
||||||
|
version: "2.0.0"
|
||||||
shared_preferences_macos:
|
shared_preferences_macos:
|
||||||
dependency: transitive
|
dependency: transitive
|
||||||
description:
|
description:
|
||||||
name: shared_preferences_macos
|
name: shared_preferences_macos
|
||||||
url: "https://pub.dartlang.org"
|
url: "https://pub.dartlang.org"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "0.0.1+7"
|
version: "2.0.0"
|
||||||
shared_preferences_platform_interface:
|
shared_preferences_platform_interface:
|
||||||
dependency: transitive
|
dependency: transitive
|
||||||
description:
|
description:
|
||||||
name: shared_preferences_platform_interface
|
name: shared_preferences_platform_interface
|
||||||
url: "https://pub.dartlang.org"
|
url: "https://pub.dartlang.org"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "1.0.3"
|
version: "2.0.0"
|
||||||
shared_preferences_web:
|
shared_preferences_web:
|
||||||
dependency: transitive
|
dependency: transitive
|
||||||
description:
|
description:
|
||||||
name: shared_preferences_web
|
name: shared_preferences_web
|
||||||
url: "https://pub.dartlang.org"
|
url: "https://pub.dartlang.org"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "0.1.2+4"
|
version: "2.0.0"
|
||||||
|
shared_preferences_windows:
|
||||||
|
dependency: transitive
|
||||||
|
description:
|
||||||
|
name: shared_preferences_windows
|
||||||
|
url: "https://pub.dartlang.org"
|
||||||
|
source: hosted
|
||||||
|
version: "2.0.0"
|
||||||
sky_engine:
|
sky_engine:
|
||||||
dependency: transitive
|
dependency: transitive
|
||||||
description: flutter
|
description: flutter
|
||||||
@@ -412,112 +454,112 @@ packages:
|
|||||||
name: source_span
|
name: source_span
|
||||||
url: "https://pub.dartlang.org"
|
url: "https://pub.dartlang.org"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "1.8.0-nullsafety.2"
|
version: "1.8.1"
|
||||||
stack_trace:
|
stack_trace:
|
||||||
dependency: transitive
|
dependency: transitive
|
||||||
description:
|
description:
|
||||||
name: stack_trace
|
name: stack_trace
|
||||||
url: "https://pub.dartlang.org"
|
url: "https://pub.dartlang.org"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "1.10.0-nullsafety.1"
|
version: "1.10.0"
|
||||||
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.1.0-nullsafety.1"
|
version: "2.1.0"
|
||||||
string_scanner:
|
string_scanner:
|
||||||
dependency: transitive
|
dependency: transitive
|
||||||
description:
|
description:
|
||||||
name: string_scanner
|
name: string_scanner
|
||||||
url: "https://pub.dartlang.org"
|
url: "https://pub.dartlang.org"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "1.1.0-nullsafety.1"
|
version: "1.1.0"
|
||||||
term_glyph:
|
term_glyph:
|
||||||
dependency: transitive
|
dependency: transitive
|
||||||
description:
|
description:
|
||||||
name: term_glyph
|
name: term_glyph
|
||||||
url: "https://pub.dartlang.org"
|
url: "https://pub.dartlang.org"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "1.2.0-nullsafety.1"
|
version: "1.2.0"
|
||||||
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.19-nullsafety.2"
|
version: "0.3.0"
|
||||||
typed_data:
|
typed_data:
|
||||||
dependency: transitive
|
dependency: transitive
|
||||||
description:
|
description:
|
||||||
name: typed_data
|
name: typed_data
|
||||||
url: "https://pub.dartlang.org"
|
url: "https://pub.dartlang.org"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "1.3.0-nullsafety.3"
|
version: "1.3.0"
|
||||||
url_launcher:
|
url_launcher:
|
||||||
dependency: "direct main"
|
dependency: "direct main"
|
||||||
description:
|
description:
|
||||||
name: url_launcher
|
name: url_launcher
|
||||||
url: "https://pub.dartlang.org"
|
url: "https://pub.dartlang.org"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "5.4.10"
|
version: "6.0.6"
|
||||||
|
url_launcher_linux:
|
||||||
|
dependency: transitive
|
||||||
|
description:
|
||||||
|
name: url_launcher_linux
|
||||||
|
url: "https://pub.dartlang.org"
|
||||||
|
source: hosted
|
||||||
|
version: "2.0.0"
|
||||||
url_launcher_macos:
|
url_launcher_macos:
|
||||||
dependency: transitive
|
dependency: transitive
|
||||||
description:
|
description:
|
||||||
name: url_launcher_macos
|
name: url_launcher_macos
|
||||||
url: "https://pub.dartlang.org"
|
url: "https://pub.dartlang.org"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "0.0.1+7"
|
version: "2.0.0"
|
||||||
url_launcher_platform_interface:
|
url_launcher_platform_interface:
|
||||||
dependency: transitive
|
dependency: transitive
|
||||||
description:
|
description:
|
||||||
name: url_launcher_platform_interface
|
name: url_launcher_platform_interface
|
||||||
url: "https://pub.dartlang.org"
|
url: "https://pub.dartlang.org"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "1.0.7"
|
version: "2.0.3"
|
||||||
url_launcher_web:
|
url_launcher_web:
|
||||||
dependency: transitive
|
dependency: transitive
|
||||||
description:
|
description:
|
||||||
name: url_launcher_web
|
name: url_launcher_web
|
||||||
url: "https://pub.dartlang.org"
|
url: "https://pub.dartlang.org"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "0.1.1+6"
|
version: "2.0.1"
|
||||||
|
url_launcher_windows:
|
||||||
|
dependency: transitive
|
||||||
|
description:
|
||||||
|
name: url_launcher_windows
|
||||||
|
url: "https://pub.dartlang.org"
|
||||||
|
source: hosted
|
||||||
|
version: "2.0.0"
|
||||||
vector_math:
|
vector_math:
|
||||||
dependency: transitive
|
dependency: transitive
|
||||||
description:
|
description:
|
||||||
name: vector_math
|
name: vector_math
|
||||||
url: "https://pub.dartlang.org"
|
url: "https://pub.dartlang.org"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "2.1.0-nullsafety.3"
|
version: "2.1.0"
|
||||||
video_player:
|
win32:
|
||||||
dependency: "direct main"
|
|
||||||
description:
|
|
||||||
name: video_player
|
|
||||||
url: "https://pub.dartlang.org"
|
|
||||||
source: hosted
|
|
||||||
version: "0.10.11+2"
|
|
||||||
video_player_platform_interface:
|
|
||||||
dependency: transitive
|
dependency: transitive
|
||||||
description:
|
description:
|
||||||
name: video_player_platform_interface
|
name: win32
|
||||||
url: "https://pub.dartlang.org"
|
url: "https://pub.dartlang.org"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "2.0.2"
|
version: "2.2.1"
|
||||||
video_player_web:
|
|
||||||
dependency: transitive
|
|
||||||
description:
|
|
||||||
name: video_player_web
|
|
||||||
url: "https://pub.dartlang.org"
|
|
||||||
source: hosted
|
|
||||||
version: "0.1.3+2"
|
|
||||||
xdg_directories:
|
xdg_directories:
|
||||||
dependency: transitive
|
dependency: transitive
|
||||||
description:
|
description:
|
||||||
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.2.0"
|
||||||
xml:
|
xml:
|
||||||
dependency: transitive
|
dependency: transitive
|
||||||
description:
|
description:
|
||||||
@@ -533,5 +575,5 @@ packages:
|
|||||||
source: hosted
|
source: hosted
|
||||||
version: "2.2.1"
|
version: "2.2.1"
|
||||||
sdks:
|
sdks:
|
||||||
dart: ">=2.10.0-110 <2.11.0"
|
dart: ">=2.13.0 <3.0.0"
|
||||||
flutter: ">=1.12.13+hotfix.5 <2.0.0"
|
flutter: ">=2.0.0"
|
||||||
|
|||||||
+16
-16
@@ -11,33 +11,33 @@ description: A new Flutter project.
|
|||||||
# In iOS, build-name is used as CFBundleShortVersionString while build-number used as CFBundleVersion.
|
# In iOS, build-name is used as CFBundleShortVersionString while build-number used as CFBundleVersion.
|
||||||
# Read more about iOS versioning at
|
# Read more about iOS versioning at
|
||||||
# https://developer.apple.com/library/archive/documentation/General/Reference/InfoPlistKeyReference/Articles/CoreFoundationKeys.html
|
# https://developer.apple.com/library/archive/documentation/General/Reference/InfoPlistKeyReference/Articles/CoreFoundationKeys.html
|
||||||
version: 1.7.0+6
|
version: 1.7.1+7
|
||||||
|
|
||||||
environment:
|
environment:
|
||||||
sdk: ">=2.2.2 <3.0.0"
|
sdk: ">=2.7.0 <3.0.0"
|
||||||
|
|
||||||
dependencies:
|
dependencies:
|
||||||
flutter:
|
flutter:
|
||||||
sdk: flutter
|
sdk: flutter
|
||||||
barcode_scan: ^3.0.0
|
barcode_scan2: ^4.1.3
|
||||||
camera: ^0.5.8+2
|
camera: ^0.5.8+2
|
||||||
connectivity: ^0.4.8+5
|
connectivity: ^3.0.6
|
||||||
cupertino_icons: ^0.1.2
|
cupertino_icons: ^1.0.3
|
||||||
dio: ^3.0.9
|
dio: ^4.0.0
|
||||||
double_back_to_close_app: ^1.2.0
|
double_back_to_close_app: ^2.0.1
|
||||||
file_picker: ^1.9.0+1
|
file_picker: ^3.0.2+2
|
||||||
flutter_phoenix: ^0.1.0
|
flutter_phoenix: ^1.0.0
|
||||||
font_awesome_flutter: ^8.8.1
|
font_awesome_flutter: ^8.8.1
|
||||||
http: ^0.12.0+3
|
http: ^0.13.3
|
||||||
image_picker_gallery_camera: ^0.1.6
|
image_picker_gallery_camera: ^0.2.2
|
||||||
intl: ^0.16.1
|
intl: ^0.16.1
|
||||||
multiselect_formfield: ^0.1.2
|
multiselect_formfield: ^0.1.2
|
||||||
path_provider: ^1.6.11
|
path_provider: ^2.0.2
|
||||||
provider: ^3.2.0
|
provider: ^5.0.0
|
||||||
random_string: ^2.0.1
|
random_string: ^2.0.1
|
||||||
shared_preferences: ^0.5.6
|
shared_preferences: ^2.0.6
|
||||||
url_launcher: ^5.4.10
|
url_launcher: ^6.0.6
|
||||||
video_player: ^0.10.11+2
|
# video_player: ^0.10.11+2
|
||||||
|
|
||||||
dev_dependencies:
|
dev_dependencies:
|
||||||
flutter_test:
|
flutter_test:
|
||||||
|
|||||||
Reference in New Issue
Block a user