dashboard added

dev
Sneha 1 year ago
parent cabeb3a80a
commit 51bb2d5792

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 344 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.8 KiB

@ -1,11 +1,16 @@
import 'package:flutter/material.dart';
import 'package:flutter/services.dart';
import 'package:flutter_svg/flutter_svg.dart';
import 'package:healthcare_user/emergency.dart';
import 'package:healthcare_user/invitations.dart';
import 'package:healthcare_user/medicines.dart';
import 'package:healthcare_user/prescriptions.dart';
import 'package:healthcare_user/reports.dart';
import 'package:healthcare_user/seekopinion.dart';
import 'package:healthcare_user/settings.dart';
import 'package:image_picker/image_picker.dart';
import 'dart:io';
import 'package:carousel_slider/carousel_slider.dart';
import 'dart:ui' as ui;
import 'login.dart';
class Dashboard extends StatefulWidget {
@ -17,34 +22,12 @@ class Dashboard extends StatefulWidget {
class _DashboardState extends State<Dashboard> {
int _selectedIndex = 0;
TextEditingController tankNameController = TextEditingController();
TextEditingController blockNameController = TextEditingController();
TextEditingController capacityController = TextEditingController();
String dropdownTypeOfWater = 'General';
String dropdownTankLocation = 'Sump';
var typeOfWaterItems = [
'General',
'Bore',
'Tanker',
];
var typeOfTankLocationItems = [
'Sump',
'Overhead',
final List<String> imgList = [
'images/mobilebg.png',
'images/mobilebg.png',
'images/mobilebg.png'
];
bool isT1Checked = false;
bool isT2Checked = false;
bool isT3Checked = false;
bool isS2T1Checked = false;
bool isS2T2Checked = false;
bool isS2T3Checked = false;
bool isS3T1Checked = false;
bool isS3T2Checked = false;
bool isS3T3Checked = false;
static const TextStyle optionStyle =
TextStyle(fontSize: 30, fontWeight: FontWeight.bold);
final ImagePicker _picker = ImagePicker();
bool isTablet = false;
bool isPhone = true;
@ -67,13 +50,87 @@ class _DashboardState extends State<Dashboard> {
}
}
List<String> images = [
"images/seekopinion.png",
"images/reports.png",
"images/prescriptions.png",
"images/medicines.png",
"images/invitations.png",
"images/emergency.png"
];
gridOntap(int ind){
if(ind==0){
Navigator.push(
context,
MaterialPageRoute(
builder: (context) => const SeekOpinion()),
);
}
else if(ind==1){
Navigator.push(
context,
MaterialPageRoute(
builder: (context) => const Reports()),
);
}
else if(ind==2){
Navigator.push(
context,
MaterialPageRoute(
builder: (context) => const Prescriptions()),
);
}
else if(ind==3){
Navigator.push(
context,
MaterialPageRoute(
builder: (context) => const Medicines()),
);
}
else if(ind==4){
Navigator.push(
context,
MaterialPageRoute(
builder: (context) => const Invitations()),
);
}
else if(ind==5){
Navigator.push(
context,
MaterialPageRoute(
builder: (context) => const Emergency()),
);
}
}
Widget _dashBoard() {
return Container(
color: screenBackgroundColor,
color: Colors.white,
child: Column(
children: <Widget>[
Container(
CarouselSlider(
options: CarouselOptions(
height: MediaQuery.of(context).size.height * .250,
aspectRatio: 16 / 9,
viewportFraction: 0.8,
initialPage: 0,
enableInfiniteScroll: true,
reverse: false,
autoPlay: true,
autoPlayInterval: Duration(seconds: 3),
autoPlayAnimationDuration: Duration(milliseconds: 800),
autoPlayCurve: Curves.ease,
enlargeCenterPage: true,
enlargeFactor: 0.2,
scrollDirection: Axis.horizontal,
),
items: imgList.map((i) {
return Builder(
builder: (BuildContext context) {
return Container(
height: MediaQuery.of(context).size.height * .250,
width: double.infinity,
decoration: BoxDecoration(
@ -82,52 +139,32 @@ class _DashboardState extends State<Dashboard> {
//color: Colors.red,
child: FittedBox(
child: Image(
image: isTablet
? AssetImage('images/appbg.png')
: AssetImage('images/mobilebg.png'),
image: AssetImage(i),
),
fit: BoxFit.fill,
)),
));
},
);
}).toList(),
),
SizedBox(height: 5),
Row(
mainAxisAlignment: MainAxisAlignment.center,
children: <Widget>[
Expanded(
child: GestureDetector(
Expanded(child: Container(
padding: EdgeInsets.all(12.0),
child: GridView.builder(
itemCount: images.length,
gridDelegate: SliverGridDelegateWithFixedCrossAxisCount(
crossAxisCount: 3,
crossAxisSpacing: 4.0,
mainAxisSpacing: 4.0,),
itemBuilder: (BuildContext context, int index) {
return GestureDetector(
onTap: (){
/*Navigator.push(
context,
MaterialPageRoute(builder: (context) => TankLevelsNew()),
);*/
gridOntap(index);
},
child: Container(
padding: EdgeInsets.all(05),
margin:
EdgeInsets.only(left: 15, top: 10, right: 0, bottom: 0),
//height: MediaQuery.of(context).size.height * .05,
//width: MediaQuery.of(context).size.width * .45,
decoration: BoxDecoration(
color: Colors.white,
borderRadius: BorderRadius.circular(12),
),
// Change button text when light changes state.
child: Column(
children: [
Container(
padding: EdgeInsets.fromLTRB(35, 10, 0, 0),
child: new SvgPicture.asset(
"assets/images/tanklevels.svg")),
Text(
'Tank Levels',
style: dashboardTextStyle(),
),
],
),
),
)),
],
),
child: Image.asset(images[index]),
);
},
)),)
],
),
);
@ -175,7 +212,6 @@ class _DashboardState extends State<Dashboard> {
Widget build(BuildContext context) {
return WillPopScope(
onWillPop: () async {
if (_selectedIndex == 0) {
final shouldPop = await showDialog<bool>(
context: context,
builder: (context) {
@ -212,23 +248,12 @@ class _DashboardState extends State<Dashboard> {
},
);
return shouldPop!;
} else {
setState(() {
_selectedIndex = 0;
});
return false;
}
},
child: Scaffold(
resizeToAvoidBottomInset: false,
appBar: AppSettings.appBar('Arminta Water Management'),
appBar: AppSettings.appBar('Health Care'),
drawer: Drawer(
// Add a ListView to the drawer. This ensures the user can scroll
// through the options in the drawer if there isn't enough vertical
// space to fit everything.
//backgroundColor: screenBackgroundColor,
child: ListView(
// Important: Remove any padding from the ListView.
padding: EdgeInsets.zero,
children: [
DrawerHeader(
@ -249,72 +274,25 @@ class _DashboardState extends State<Dashboard> {
decoration: BoxDecoration(
shape: BoxShape.circle,
image: DecorationImage(
image: (AppSettings.updatedImage !=
null)
? FileImage(
AppSettings.updatedImage!)
as ImageProvider
: AssetImage(
image: AssetImage(
"images/profile_pic.png"), // picked file
fit: BoxFit.cover)),
),
onTap: () {
/*showModalBottomSheet<void>(
context: context,
builder: (BuildContext context) {
return SizedBox(
height: 200,
child: Center(
child: Row(
mainAxisAlignment:
MainAxisAlignment.center,
children: <Widget>[
GestureDetector(
child: Icon(
Icons.camera_alt_outlined,
size: 100,
color: greyColor,
),
onTap: () async {
await takeImageFromCamera();
Navigator.pop(context);
},
),
SizedBox(
width: MediaQuery.of(context)
.size
.width *
.20,
),
GestureDetector(
child: Icon(
Icons.photo,
size: 100,
color: greyColor,
),
onTap: () async {
await pickImageFromGallery();
Navigator.pop(context);
},
),
],
),
),
);
});*/
},
onTap: () {},
),
),
Text(
AppSettings.userName,
"Sneha",
//AppSettings.userName,
style: TextStyle(color: Colors.white, fontSize: 15),
),
Text(
AppSettings.phoneNumber,
'9898989898',
//AppSettings.phoneNumber,
style: TextStyle(color: Colors.white, fontSize: 15),
),
Text(
AppSettings.email,
'sneha@armintasolutions.com', //AppSettings.email,
style: TextStyle(color: Colors.white, fontSize: 15),
),
],
@ -322,12 +300,11 @@ class _DashboardState extends State<Dashboard> {
Container()
],
)),
ListTile(
title: Row(
children: const [
Image(
image: const AssetImage('images/editprofileblue.png'),
image: const AssetImage('images/01.png'),
height: 25,
width: 25,
fit: BoxFit.fill),
@ -340,37 +317,29 @@ class _DashboardState extends State<Dashboard> {
Text('Edit Profile', style: TextStyle(color: primaryColor)),
],
),
onTap: () {
/* Navigator.push(
context,
MaterialPageRoute(builder: (context) => UpdateProfile()),
);*/
},
onTap: () {},
),
Divider(
color: Colors.grey,
),
// Add Tanks
ListTile(
title: Row(
children: const [
Image(
image: const AssetImage('images/addtankerblue.png'),
image: const AssetImage('images/01.png'),
height: 25,
width: 25,
fit: BoxFit.fill),
const SizedBox(
width: 10,
),
Text('Add Tanks', style: TextStyle(color: primaryColor)),
const SizedBox(
width: 10,
),
Text('My Health', style: TextStyle(color: primaryColor)),
],
),
onTap: () {
/*Navigator.push(
context,
MaterialPageRoute(builder: (context) => AddTanks()),
);*/
},
onTap: () {},
),
Divider(
color: Colors.grey,
@ -379,48 +348,42 @@ class _DashboardState extends State<Dashboard> {
title: Row(
children: const [
Image(
image: const AssetImage('images/tankviewblue.png'),
image: const AssetImage('images/01.png'),
height: 25,
width: 25,
fit: BoxFit.fill),
const SizedBox(
width: 10,
),
Text('Tanks View', style: TextStyle(color: primaryColor)),
const SizedBox(
width: 10,
),
Text('Report Myself', style: TextStyle(color: primaryColor)),
],
),
onTap: () {
/*Navigator.push(
context,
MaterialPageRoute(builder: (context) => TanksView()),
);*/
},
onTap: () {},
),
Divider(
color: Colors.grey,
),
//Add Tanker
ListTile(
title: Row(
children: const [
Image(
image: const AssetImage('images/suppliersblue.png'),
image: const AssetImage('images/01.png'),
height: 25,
width: 25,
fit: BoxFit.fill),
const SizedBox(
width: 10,
),
Text('Add Water Suppliers',
style: TextStyle(color: primaryColor)),
const SizedBox(
width: 10,
),
Text('My Connections', style: TextStyle(color: primaryColor)),
],
),
onTap: () {
/* Navigator.push(
context,
MaterialPageRoute(builder: (context) => Suppliers()),
);*/
},
onTap: () {},
),
Divider(
color: Colors.grey,
@ -429,22 +392,20 @@ class _DashboardState extends State<Dashboard> {
title: Row(
children: const [
Image(
image: const AssetImage('images/connectionsblue.png'),
image: const AssetImage('images/01.png'),
height: 25,
width: 25,
fit: BoxFit.fill),
const SizedBox(
width: 10,
),
Text('Connections', style: TextStyle(color: primaryColor)),
const SizedBox(
width: 10,
),
Text('My Medicine Timings', style: TextStyle(color: primaryColor)),
],
),
onTap: () {
/* Navigator.push(
context,
MaterialPageRoute(builder: (context) => ConnectionsView()),
);*/
},
onTap: () {},
),
Divider(
color: Colors.grey,
@ -453,22 +414,20 @@ class _DashboardState extends State<Dashboard> {
title: Row(
children: const [
Image(
image: const AssetImage('images/resourceblue.png'),
image: const AssetImage('images/01.png'),
height: 25,
width: 25,
fit: BoxFit.fill),
const SizedBox(
width: 10,
),
Text('Resources', style: TextStyle(color: primaryColor)),
const SizedBox(
width: 10,
),
Text('Update Pin', style: TextStyle(color: primaryColor)),
],
),
onTap: () {
/*Navigator.push(
context,
MaterialPageRoute(builder: (context) => Resources()),
);*/
},
onTap: () {},
),
Divider(
color: Colors.grey,
@ -477,22 +436,20 @@ class _DashboardState extends State<Dashboard> {
title: Row(
children: const [
Image(
image: const AssetImage('images/customercareblue.png'),
image: const AssetImage('images/01.png'),
height: 25,
width: 25,
fit: BoxFit.fill),
const SizedBox(
width: 10,
),
Text('Accounts', style: TextStyle(color: primaryColor)),
const SizedBox(
width: 10,
),
Text('Update Mobile Number', style: TextStyle(color: primaryColor)),
],
),
onTap: () {
/*Navigator.push(
context,
MaterialPageRoute(builder: (context) => UserAccounts()),
);*/
},
onTap: () {},
),
Divider(
color: Colors.grey,
@ -501,15 +458,17 @@ class _DashboardState extends State<Dashboard> {
title: Row(
children: const [
Image(
image: const AssetImage('images/customercareblue.png'),
image: const AssetImage('images/01.png'),
height: 25,
width: 25,
fit: BoxFit.fill),
const SizedBox(
width: 10,
),
Text('Customer Support',
style: TextStyle(color: primaryColor)),
const SizedBox(
width: 10,
),
Text('Update My Location', style: TextStyle(color: primaryColor)),
],
),
onTap: () {},
@ -521,58 +480,26 @@ class _DashboardState extends State<Dashboard> {
title: Row(
children: const [
Image(
image: const AssetImage('images/logoutblue.png'),
image: const AssetImage('images/01.png'),
height: 25,
width: 25,
fit: BoxFit.fill),
const SizedBox(
width: 10,
),
const SizedBox(
width: 10,
),
Text('Logout', style: TextStyle(color: primaryColor)),
],
),
onTap: () async {
showLogoutAlertDialog(context);
},
onTap: () {},
),
],
),
),
body: _dashBoard(),
/*body: IndexedStack(
index: _selectedIndex,
children: screens,
),*/
/* bottomNavigationBar: Container(
//height: MediaQuery.of(context).size.height,
child: BottomNavigationBar(
items: const <BottomNavigationBarItem>[
BottomNavigationBarItem(
icon: Icon(
Icons.home,
),
label: 'Home',
),
BottomNavigationBarItem(
icon: Icon(Icons.propane_tank),
label: 'Add Tanks',
),
*/ /*BottomNavigationBarItem(
icon: Icon(Icons.private_connectivity_outlined),
label: 'CreateConnections',
),*/ /*
BottomNavigationBarItem(
icon: Icon(Icons.list_alt),
label: 'Add Tanker',
),
],
currentIndex: _selectedIndex,
selectedItemColor: primaryColor,
unselectedItemColor: greyColor,
showUnselectedLabels: true,
onTap: _onItemTapped,
),
),*/
),
);
}

@ -0,0 +1,19 @@
import 'package:flutter/material.dart';
import 'package:healthcare_user/settings.dart';
class Emergency extends StatefulWidget {
const Emergency({Key? key}) : super(key: key);
@override
State<Emergency> createState() => _EmergencyState();
}
class _EmergencyState extends State<Emergency> {
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppSettings.appBar('Emergency'),
body: Container(),
);
}
}

@ -0,0 +1,19 @@
import 'package:flutter/material.dart';
import 'package:healthcare_user/settings.dart';
class Invitations extends StatefulWidget {
const Invitations({Key? key}) : super(key: key);
@override
State<Invitations> createState() => _InvitationsState();
}
class _InvitationsState extends State<Invitations> {
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppSettings.appBar('Invitations'),
body: Container(),
);
}
}

@ -1,11 +1,12 @@
import 'package:flutter/material.dart';
import 'package:healthcare_user/dashboard.dart';
import 'package:healthcare_user/splash_screen.dart';
import 'package:sizer/sizer.dart';
import 'package:flutter/services.dart';
void main () async {
// Set default home.
Widget _defaultHome = Splash();
Widget _defaultHome = Dashboard();
WidgetsFlutterBinding.ensureInitialized();
SystemChrome.setPreferredOrientations([DeviceOrientation.portraitUp])
.then((_) {

@ -0,0 +1,19 @@
import 'package:flutter/material.dart';
import 'package:healthcare_user/settings.dart';
class Medicines extends StatefulWidget {
const Medicines({Key? key}) : super(key: key);
@override
State<Medicines> createState() => _MedicinesState();
}
class _MedicinesState extends State<Medicines> {
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppSettings.appBar('Medicines'),
body: Container(),
);
}
}

@ -0,0 +1,19 @@
import 'package:flutter/material.dart';
import 'package:healthcare_user/settings.dart';
class Prescriptions extends StatefulWidget {
const Prescriptions({Key? key}) : super(key: key);
@override
State<Prescriptions> createState() => _PrescriptionsState();
}
class _PrescriptionsState extends State<Prescriptions> {
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppSettings.appBar('Prescriptions'),
body: Container(),
);
}
}

@ -0,0 +1,19 @@
import 'package:flutter/material.dart';
import 'package:healthcare_user/settings.dart';
class Reports extends StatefulWidget {
const Reports({Key? key}) : super(key: key);
@override
State<Reports> createState() => _ReportsState();
}
class _ReportsState extends State<Reports> {
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppSettings.appBar('Reports'),
body: Container(),
);
}
}

@ -0,0 +1,19 @@
import 'package:flutter/material.dart';
import 'package:healthcare_user/settings.dart';
class SeekOpinion extends StatefulWidget {
const SeekOpinion({Key? key}) : super(key: key);
@override
State<SeekOpinion> createState() => _SeekOpinionState();
}
class _SeekOpinionState extends State<SeekOpinion> {
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppSettings.appBar('Seek Opinion'),
body: Container(),
);
}
}

@ -43,6 +43,13 @@ packages:
url: "https://pub.dartlang.org"
source: hosted
version: "2.0.4"
carousel_slider:
dependency: "direct dev"
description:
name: carousel_slider
url: "https://pub.dartlang.org"
source: hosted
version: "4.2.1"
characters:
dependency: transitive
description:

@ -59,6 +59,7 @@ dev_dependencies:
location: ^4.4.0
permission_handler: ^10.2.0
cloudinary_public: ^0.21.0
carousel_slider: ^4.2.1
flutter_icons:

Loading…
Cancel
Save