mirror of
https://git.meshkee.com/applications/cssd.git
synced 2026-10-10 18:58:54 +03:30
Arrange the tiles of home and dashboard
This commit is contained in:
+52
-53
@@ -146,22 +146,41 @@ class HomePage extends StatelessWidget {
|
||||
),
|
||||
),
|
||||
),
|
||||
Divider(
|
||||
height: 2,
|
||||
),
|
||||
SelectionItem(
|
||||
firstLine: 'LABELS',
|
||||
secondLine: 'List, Details & Add a one',
|
||||
firstLineColor: kLightBlue,
|
||||
secondLineColor: kLightBlueSub,
|
||||
backgroundColor: kLightBlueBackground,
|
||||
firstLine: 'TEST TO VERIFY',
|
||||
secondLine: 'Verify and reject Test Results',
|
||||
firstLineColor: Colors.black,
|
||||
secondLineColor: Colors.grey,
|
||||
backgroundColor: kLightGreyBackground,
|
||||
onTap: () => Navigator.push(
|
||||
context,
|
||||
MaterialPageRoute(
|
||||
builder: (context) {
|
||||
return Consumer<Auth>(
|
||||
builder: (ctx, auth, _) {
|
||||
return LabelResultScreen();
|
||||
return TestVerifyScreen();
|
||||
},
|
||||
);
|
||||
},
|
||||
),
|
||||
),
|
||||
),
|
||||
Divider(
|
||||
height: 2,
|
||||
),
|
||||
SelectionItem(
|
||||
firstLine: 'ITEMS',
|
||||
secondLine: 'List, Details & Add a one',
|
||||
firstLineColor: kBlue,
|
||||
secondLineColor: kBlueSub,
|
||||
backgroundColor: kBlueBackground,
|
||||
onTap: () => Navigator.push(
|
||||
context,
|
||||
MaterialPageRoute(
|
||||
builder: (context) {
|
||||
return Consumer<Auth>(
|
||||
builder: (ctx, auth, _) {
|
||||
return ItemResultScreen();
|
||||
},
|
||||
);
|
||||
},
|
||||
@@ -169,18 +188,18 @@ class HomePage extends StatelessWidget {
|
||||
),
|
||||
),
|
||||
SelectionItem(
|
||||
firstLine: 'CYCLES',
|
||||
secondLine: 'List, Details & Add a one',
|
||||
firstLineColor: kPink,
|
||||
secondLineColor: kPinkSub,
|
||||
backgroundColor: kPinkBackground,
|
||||
firstLine: 'MY ITEMS',
|
||||
secondLine: 'The Items that i possess',
|
||||
firstLineColor: kDarkBlue,
|
||||
secondLineColor: kDarkBlueSub,
|
||||
backgroundColor: kDarkBlueBackground,
|
||||
onTap: () => Navigator.push(
|
||||
context,
|
||||
MaterialPageRoute(
|
||||
builder: (context) {
|
||||
return Consumer<Auth>(
|
||||
builder: (ctx, auth, _) {
|
||||
return CycleResultScreen();
|
||||
return MyItemsResultScreen();
|
||||
},
|
||||
);
|
||||
},
|
||||
@@ -232,18 +251,18 @@ class HomePage extends StatelessWidget {
|
||||
height: 2,
|
||||
),
|
||||
SelectionItem(
|
||||
firstLine: 'ITEMS',
|
||||
firstLine: 'LABELS',
|
||||
secondLine: 'List, Details & Add a one',
|
||||
firstLineColor: kBlue,
|
||||
secondLineColor: kBlueSub,
|
||||
backgroundColor: kBlueBackground,
|
||||
firstLineColor: kLightBlue,
|
||||
secondLineColor: kLightBlueSub,
|
||||
backgroundColor: kLightBlueBackground,
|
||||
onTap: () => Navigator.push(
|
||||
context,
|
||||
MaterialPageRoute(
|
||||
builder: (context) {
|
||||
return Consumer<Auth>(
|
||||
builder: (ctx, auth, _) {
|
||||
return ItemResultScreen();
|
||||
return LabelResultScreen();
|
||||
},
|
||||
);
|
||||
},
|
||||
@@ -251,18 +270,18 @@ class HomePage extends StatelessWidget {
|
||||
),
|
||||
),
|
||||
SelectionItem(
|
||||
firstLine: 'MY ITEMS',
|
||||
secondLine: 'The Items that i possess',
|
||||
firstLineColor: kDarkBlue,
|
||||
secondLineColor: kDarkBlueSub,
|
||||
backgroundColor: kDarkBlueBackground,
|
||||
firstLine: 'CYCLES',
|
||||
secondLine: 'List, Details & Add a one',
|
||||
firstLineColor: kPink,
|
||||
secondLineColor: kPinkSub,
|
||||
backgroundColor: kPinkBackground,
|
||||
onTap: () => Navigator.push(
|
||||
context,
|
||||
MaterialPageRoute(
|
||||
builder: (context) {
|
||||
return Consumer<Auth>(
|
||||
builder: (ctx, auth, _) {
|
||||
return MyItemsResultScreen();
|
||||
return CycleResultScreen();
|
||||
},
|
||||
);
|
||||
},
|
||||
@@ -270,25 +289,6 @@ class HomePage extends StatelessWidget {
|
||||
),
|
||||
),
|
||||
Divider(height: 2),
|
||||
SelectionItem(
|
||||
firstLine: 'TEST TO VERIFY',
|
||||
secondLine: 'Verify and reject Test Results',
|
||||
firstLineColor: Colors.black,
|
||||
secondLineColor: Colors.grey,
|
||||
backgroundColor: kLightGreyBackground,
|
||||
onTap: () => Navigator.push(
|
||||
context,
|
||||
MaterialPageRoute(
|
||||
builder: (context) {
|
||||
return Consumer<Auth>(
|
||||
builder: (ctx, auth, _) {
|
||||
return TestVerifyScreen();
|
||||
},
|
||||
);
|
||||
},
|
||||
),
|
||||
),
|
||||
),
|
||||
BarcodeSelectionItem(),
|
||||
],
|
||||
),
|
||||
@@ -331,14 +331,13 @@ class SelectionItem extends StatelessWidget {
|
||||
final Color? backgroundColor;
|
||||
final VoidCallback? onTap;
|
||||
|
||||
SelectionItem({
|
||||
this.firstLine,
|
||||
this.secondLine,
|
||||
this.onTap,
|
||||
this.firstLineColor,
|
||||
this.secondLineColor,
|
||||
this.backgroundColor
|
||||
});
|
||||
SelectionItem(
|
||||
{this.firstLine,
|
||||
this.secondLine,
|
||||
this.onTap,
|
||||
this.firstLineColor,
|
||||
this.secondLineColor,
|
||||
this.backgroundColor});
|
||||
|
||||
@override
|
||||
Widget build(BuildContext context) {
|
||||
|
||||
@@ -4,8 +4,10 @@ import 'package:cssd/providers/auth.dart';
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:font_awesome_flutter/font_awesome_flutter.dart';
|
||||
import 'package:provider/provider.dart';
|
||||
import 'package:url_launcher/url_launcher.dart';
|
||||
|
||||
import '../../config/routes.dart';
|
||||
import '../../pages/TestPages/test_filter_screen.dart';
|
||||
|
||||
class AppDrawer extends StatefulWidget {
|
||||
@override
|
||||
@@ -24,6 +26,10 @@ class _AppDrawerState extends State<AppDrawer> {
|
||||
|
||||
@override
|
||||
Widget build(BuildContext context) {
|
||||
final _media = MediaQuery.of(context);
|
||||
|
||||
final double _devicewidth = _media.size.width;
|
||||
final double _deviceBlockSize = _devicewidth / 100;
|
||||
return SafeArea(
|
||||
child: SizedBox(
|
||||
width: 250,
|
||||
@@ -142,7 +148,7 @@ class _AppDrawerState extends State<AppDrawer> {
|
||||
),
|
||||
InkWell(
|
||||
onTap: () {
|
||||
Navigator.of(context).pushNamed(Routes.labelResultScreen);
|
||||
Navigator.of(context).pushNamed(Routes.itemResultScreen);
|
||||
},
|
||||
child: Container(
|
||||
padding: EdgeInsets.symmetric(vertical: 5, horizontal: 15),
|
||||
@@ -153,14 +159,14 @@ class _AppDrawerState extends State<AppDrawer> {
|
||||
child: Row(
|
||||
children: <Widget>[
|
||||
Icon(
|
||||
FontAwesomeIcons.tag,
|
||||
Icons.book,
|
||||
color: Colors.white,
|
||||
),
|
||||
SizedBox(
|
||||
width: 10,
|
||||
),
|
||||
Text(
|
||||
'Labels',
|
||||
'Items',
|
||||
style: TextStyle(
|
||||
color: Colors.white,
|
||||
),
|
||||
@@ -171,7 +177,7 @@ class _AppDrawerState extends State<AppDrawer> {
|
||||
),
|
||||
InkWell(
|
||||
onTap: () {
|
||||
Navigator.of(context).pushNamed(Routes.cycleResultScreen);
|
||||
Navigator.of(context).pushNamed(Routes.myItemsResultScreen);
|
||||
},
|
||||
child: Container(
|
||||
padding: EdgeInsets.symmetric(vertical: 5, horizontal: 15),
|
||||
@@ -182,14 +188,14 @@ class _AppDrawerState extends State<AppDrawer> {
|
||||
child: Row(
|
||||
children: <Widget>[
|
||||
Icon(
|
||||
Icons.refresh,
|
||||
Icons.my_library_books,
|
||||
color: Colors.white,
|
||||
),
|
||||
SizedBox(
|
||||
width: 10,
|
||||
),
|
||||
Text(
|
||||
'Cycles',
|
||||
'My Items',
|
||||
style: TextStyle(
|
||||
color: Colors.white,
|
||||
),
|
||||
@@ -259,7 +265,7 @@ class _AppDrawerState extends State<AppDrawer> {
|
||||
),
|
||||
InkWell(
|
||||
onTap: () {
|
||||
Navigator.of(context).pushNamed(Routes.itemResultScreen);
|
||||
Navigator.of(context).pushNamed(Routes.labelResultScreen);
|
||||
},
|
||||
child: Container(
|
||||
padding: EdgeInsets.symmetric(vertical: 5, horizontal: 15),
|
||||
@@ -270,14 +276,14 @@ class _AppDrawerState extends State<AppDrawer> {
|
||||
child: Row(
|
||||
children: <Widget>[
|
||||
Icon(
|
||||
Icons.book,
|
||||
FontAwesomeIcons.tag,
|
||||
color: Colors.white,
|
||||
),
|
||||
SizedBox(
|
||||
width: 10,
|
||||
),
|
||||
Text(
|
||||
'Items',
|
||||
'Labels',
|
||||
style: TextStyle(
|
||||
color: Colors.white,
|
||||
),
|
||||
@@ -288,7 +294,7 @@ class _AppDrawerState extends State<AppDrawer> {
|
||||
),
|
||||
InkWell(
|
||||
onTap: () {
|
||||
Navigator.of(context).pushNamed(Routes.myItemsResultScreen);
|
||||
Navigator.of(context).pushNamed(Routes.cycleResultScreen);
|
||||
},
|
||||
child: Container(
|
||||
padding: EdgeInsets.symmetric(vertical: 5, horizontal: 15),
|
||||
@@ -299,14 +305,87 @@ class _AppDrawerState extends State<AppDrawer> {
|
||||
child: Row(
|
||||
children: <Widget>[
|
||||
Icon(
|
||||
Icons.my_library_books,
|
||||
Icons.refresh,
|
||||
color: Colors.white,
|
||||
),
|
||||
SizedBox(
|
||||
width: 10,
|
||||
),
|
||||
Text(
|
||||
'My Items',
|
||||
'Cycles',
|
||||
style: TextStyle(
|
||||
color: Colors.white,
|
||||
),
|
||||
)
|
||||
],
|
||||
),
|
||||
),
|
||||
),
|
||||
InkWell(
|
||||
onTap: () => scan().then(
|
||||
(String result) {
|
||||
if (result == 'cancel') {
|
||||
print('cancel');
|
||||
} else if (result == 'error') {
|
||||
print('error');
|
||||
} else if (result == 'access') {
|
||||
print('access');
|
||||
} else {
|
||||
print(result);
|
||||
showDialog(
|
||||
context: context,
|
||||
builder: (_) => AlertDialog(
|
||||
title: Text(
|
||||
'نتیجه ی اسکن',
|
||||
textDirection: TextDirection.rtl,
|
||||
textAlign: TextAlign.right,
|
||||
style: TextStyle(
|
||||
fontSize: 2.75 * _deviceBlockSize,
|
||||
),
|
||||
),
|
||||
content: Text(
|
||||
result,
|
||||
textDirection: TextDirection.rtl,
|
||||
style: TextStyle(
|
||||
fontSize: 4 * _deviceBlockSize,
|
||||
),
|
||||
),
|
||||
actions: <Widget>[
|
||||
TextButton(
|
||||
onPressed: () async {
|
||||
await launch(result);
|
||||
Navigator.of(context).pop();
|
||||
},
|
||||
child: Text(
|
||||
'بازکردن در مرورگر',
|
||||
style: TextStyle(
|
||||
fontFamily: 'montserrat',
|
||||
),
|
||||
),
|
||||
),
|
||||
],
|
||||
),
|
||||
);
|
||||
}
|
||||
},
|
||||
),
|
||||
child: Container(
|
||||
padding: EdgeInsets.symmetric(vertical: 5, horizontal: 15),
|
||||
margin: EdgeInsets.only(top: 10),
|
||||
decoration: BoxDecoration(
|
||||
borderRadius: BorderRadius.circular(5),
|
||||
),
|
||||
child: Row(
|
||||
children: <Widget>[
|
||||
Icon(
|
||||
Icons.qr_code_scanner,
|
||||
color: Colors.white,
|
||||
),
|
||||
SizedBox(
|
||||
width: 10,
|
||||
),
|
||||
Text(
|
||||
'Scanner',
|
||||
style: TextStyle(
|
||||
color: Colors.white,
|
||||
),
|
||||
|
||||
Reference in New Issue
Block a user