Commit 4aac3c3f authored by indika N kumara's avatar indika N kumara

Merge branch 'dev_release' into 'develop_1'

Dev release

See merge request !25
parents e9ec8e92 96e3066a
No preview for this file type
{
// Use IntelliSense to learn about possible attributes.
// Hover to view descriptions of existing attributes.
// For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387
"version": "0.2.0",
"configurations": [
{
"name": "covidefender",
"request": "launch",
"type": "dart"
},
{
"name": "covidefender (profile mode)",
"request": "launch",
"type": "dart",
"flutterMode": "profile"
}
]
}
\ No newline at end of file
......@@ -35,7 +35,17 @@
<action android:name="android.intent.action.MAIN"/>
<category android:name="android.intent.category.LAUNCHER"/>
</intent-filter>
<intent-filter>
<action android:name="FLUTTER_NOTIFICATION_CLICK" />
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
</activity>
<receiver android:name="com.dexterous.flutterlocalnotifications.ScheduledNotificationBootReceiver">
<intent-filter>
<action android:name="android.intent.action.BOOT_COMPLETED"></action>
</intent-filter>
</receiver>
<receiver android:name="com.dexterous.flutterlocalnotifications.ScheduledNotificationReceiver" />
<!-- Don't delete the meta-data below.
This is used by the Flutter tool to generate GeneratedPluginRegistrant.java -->
<meta-data
......
This diff is collapsed.
......@@ -73,14 +73,84 @@ class _homepageState extends State<homepage> {
SystemChrome.setPreferredOrientations(
[DeviceOrientation.portraitDown, DeviceOrientation.portraitUp]);
return Scaffold(
appBar: AppBar(
title: Text("STracker"),
),
body: ListView(
children: <Widget>[
customcard("Start Quiz", images[0]),
],
),
);
appBar: AppBar(
title: Text("STracker"),
),
body: Column(
children: <Widget>[
Expanded(
flex: 1,
child: ButtonTheme(
minWidth: 800.0,
height: 100.0,
child: RaisedButton(
color: Colors.redAccent,
onPressed: () {},
child: Text(
"Hand Washing",
style: TextStyle(color: Colors.white, fontSize: 30),
),
),
)),
Expanded(
flex: 2,
child: Row(
mainAxisAlignment: MainAxisAlignment.center,
children: <Widget>[],
),
),
Expanded(
flex: 5,
child: Row(
mainAxisAlignment: MainAxisAlignment.center,
children: <Widget>[
RaisedButton(
color: Colors.white,
onPressed: () {},
child: ClipRRect(
child: Image(
image: AssetImage(
"lib/assets/images/handWashingStart.gif",
),
),
),
padding: EdgeInsets.symmetric(
vertical: 10.0,
horizontal: 25.0,
),
)
],
),
),
Expanded(
flex: 4,
child: Row(
mainAxisAlignment: MainAxisAlignment.center,
children: <Widget>[
RaisedButton(
color: Colors.blueAccent,
shape: RoundedRectangleBorder(
borderRadius: BorderRadius.circular(20.0)),
onPressed: () {
Navigator.of(context).pushReplacement(MaterialPageRoute(
builder: (context) => getjson(),
));
},
child: Text(
"Start Quiz",
style: TextStyle(
fontSize: 30.0,
),
),
padding: EdgeInsets.symmetric(
vertical: 20.0,
horizontal: 200.0,
),
)
],
),
)
],
));
}
}
......@@ -90,7 +90,7 @@ class _quizpageState extends State<quizpage> {
canceltimer = false;
timer = 60;
setState(() {
if (i < 5) {
if (i < 8) {
i++;
} else {
Navigator.of(context).pushReplacement(MaterialPageRoute(
......@@ -107,7 +107,7 @@ class _quizpageState extends State<quizpage> {
void checkanswer(String k) {
if (mydata[2][i.toString()] == mydata[1][i.toString()][k]) {
marks = marks + 5;
marks = marks + 15;
colortoshow = right;
} else {
colortoshow = wrong;
......@@ -131,15 +131,20 @@ class _quizpageState extends State<quizpage> {
hangState = 3;
} else if (x == 4) {
hangState = 4;
} else {
} else if (x == 5) {
hangState = 5;
} else if (x == 6) {
hangState = 6;
Navigator.of(context).pushReplacement(MaterialPageRoute(
builder: (context) => resultpage(marks: marks),
));
}
}
Widget choicebutton(String k) {
return Padding(
padding: EdgeInsets.symmetric(
vertical: 10.0,
vertical: 20.0,
horizontal: 20.0,
),
child: MaterialButton(
......@@ -148,15 +153,15 @@ class _quizpageState extends State<quizpage> {
mydata[1][i.toString()][k],
style: TextStyle(
color: Colors.white,
fontSize: 16.0,
fontSize: 20.0,
),
maxLines: 1,
),
color: btncolor[k],
splashColor: Colors.indigo[700],
highlightColor: Colors.indigo[700],
minWidth: 200.0,
height: 45.0,
minWidth: 500.0,
height: 70.0,
shape:
RoundedRectangleBorder(borderRadius: BorderRadius.circular(20.0)),
),
......@@ -191,19 +196,22 @@ class _quizpageState extends State<quizpage> {
child: Scaffold(
body: Column(
children: <Widget>[
SizedBox(
height: 20,
),
Expanded(
flex: 5,
flex: 4,
child: Material(
elevation: 20.0,
child: Container(
width: 200.0,
height: 150.0,
width: 400.0,
height: 50.0,
child: Column(
children: <Widget>[
Material(
child: Container(
width: 200.0,
height: 200.0,
width: 400.0,
height: 375.0,
child: ClipRRect(
child: Image(
image: AssetImage(
......@@ -216,15 +224,18 @@ class _quizpageState extends State<quizpage> {
)),
),
),
SizedBox(
height: 20,
),
Expanded(
flex: 2,
flex: 1,
child: Container(
padding: EdgeInsets.all(15.0),
alignment: Alignment.bottomLeft,
child: Text(
mydata[0][i.toString()],
style: TextStyle(
fontSize: 16.0,
fontSize: 30.0,
fontWeight: FontWeight.w700,
),
),
......@@ -234,7 +245,7 @@ class _quizpageState extends State<quizpage> {
),
),
Expanded(
flex: 6,
flex: 5,
child: Container(
child: Column(
mainAxisAlignment: MainAxisAlignment.center,
......
......@@ -27,81 +27,86 @@ class _resultpageState extends State<resultpage> {
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
title: Text(
"Result",
appBar: AppBar(
title: Text(
"Result - Hand Washing",
),
),
),
body: Column(
children: <Widget>[
Expanded(
flex: 7,
child: Material(
elevation: 10.0,
child: Container(
width: 300.0,
height: 300.0,
child: Column(
children: <Widget>[
Material(
child: Container(
width: 300.0,
height: 300.0,
child: ClipRRect(
child: Image(
image:
AssetImage("lib/assets/images/gameover.jpg"),
),
),
body: Column(
children: <Widget>[
Expanded(
flex: 2,
child: Row(
mainAxisAlignment: MainAxisAlignment.center,
children: <Widget>[],
),
),
Expanded(
flex: 3,
child: Row(
mainAxisAlignment: MainAxisAlignment.center,
children: <Widget>[
RaisedButton(
color: Colors.white,
onPressed: () {},
child: ClipRRect(
child: Image(
image: AssetImage(
"lib/assets/images/gameover.gif",
),
),
Padding(
padding: EdgeInsets.symmetric(
vertical: 5.0,
horizontal: 15.0,
),
child: Center(
child: Text(
"You Scored $marks marks",
style: TextStyle(
fontSize: 20.0,
fontWeight: FontWeight.w700,
),
),
))
],
)),
),
padding: EdgeInsets.symmetric(
vertical: 10.0,
horizontal: 25.0,
),
)
],
),
),
),
Expanded(
flex: 4,
child: Row(
mainAxisAlignment: MainAxisAlignment.center,
children: <Widget>[
OutlineButton(
onPressed: () {
Navigator.of(context).pushReplacement(MaterialPageRoute(
builder: (context) => levelsDashboard(),
));
},
Padding(
padding: EdgeInsets.symmetric(
vertical: 5.0,
horizontal: 15.0,
),
child: Center(
child: Text(
"Continue",
"You Scored $marks marks",
style: TextStyle(
fontSize: 18.0,
fontSize: 30.0,
fontWeight: FontWeight.w900,
),
),
padding: EdgeInsets.symmetric(
vertical: 10.0,
horizontal: 25.0,
),
borderSide: BorderSide(width: 3.0, color: Colors.indigo),
splashColor: Colors.indigoAccent,
)
],
),
)
],
),
);
)),
Expanded(
flex: 4,
child: Row(
mainAxisAlignment: MainAxisAlignment.center,
children: <Widget>[
RaisedButton(
color: Colors.blueAccent,
shape: RoundedRectangleBorder(
borderRadius: BorderRadius.circular(20.0)),
onPressed: () {
Navigator.of(context).pushReplacement(MaterialPageRoute(
builder: (context) => levelsDashboard(),
));
},
child: Text(
"Continue",
style: TextStyle(
fontSize: 30.0,
),
),
padding: EdgeInsets.symmetric(
vertical: 20.0,
horizontal: 200.0,
),
)
],
),
)
],
));
}
}
......@@ -91,7 +91,7 @@ class _quizpageMaskWearingState extends State<quizpageMaskWearing> {
canceltimer = false;
timer = 60;
setState(() {
if (i < 5) {
if (i < 8) {
i++;
} else {
Navigator.of(context).pushReplacement(MaterialPageRoute(
......@@ -108,7 +108,7 @@ class _quizpageMaskWearingState extends State<quizpageMaskWearing> {
void checkanswer(String k) {
if (mydata[2][i.toString()] == mydata[1][i.toString()][k]) {
marks = marks + 5;
marks = marks + 20;
colortoshow = right;
} else {
colortoshow = wrong;
......@@ -132,15 +132,20 @@ class _quizpageMaskWearingState extends State<quizpageMaskWearing> {
hangState = 3;
} else if (x == 4) {
hangState = 4;
} else {
} else if (x == 5) {
hangState = 5;
} else if (x == 6) {
hangState = 6;
Navigator.of(context).pushReplacement(MaterialPageRoute(
builder: (context) => maskWearingResultPage(marks: marks),
));
}
}
Widget choicebutton(String k) {
return Padding(
padding: EdgeInsets.symmetric(
vertical: 10.0,
vertical: 20.0,
horizontal: 20.0,
),
child: MaterialButton(
......@@ -149,15 +154,15 @@ class _quizpageMaskWearingState extends State<quizpageMaskWearing> {
mydata[1][i.toString()][k],
style: TextStyle(
color: Colors.white,
fontSize: 16.0,
fontSize: 20.0,
),
maxLines: 1,
),
color: btncolor[k],
splashColor: Colors.indigo[700],
highlightColor: Colors.indigo[700],
minWidth: 200.0,
height: 45.0,
minWidth: 500.0,
height: 70.0,
shape:
RoundedRectangleBorder(borderRadius: BorderRadius.circular(20.0)),
),
......@@ -193,18 +198,18 @@ class _quizpageMaskWearingState extends State<quizpageMaskWearing> {
body: Column(
children: <Widget>[
Expanded(
flex: 5,
flex: 4,
child: Material(
elevation: 20.0,
child: Container(
width: 200.0,
height: 150.0,
width: 400.0,
height: 50.0,
child: Column(
children: <Widget>[
Material(
child: Container(
width: 200.0,
height: 200.0,
width: 400.0,
height: 375.0,
child: ClipRRect(
child: Image(
image: AssetImage(
......@@ -218,14 +223,14 @@ class _quizpageMaskWearingState extends State<quizpageMaskWearing> {
),
),
Expanded(
flex: 2,
flex: 1,
child: Container(
padding: EdgeInsets.all(15.0),
alignment: Alignment.bottomLeft,
child: Text(
mydata[0][i.toString()],
style: TextStyle(
fontSize: 16.0,
fontSize: 30.0,
fontWeight: FontWeight.w700,
),
),
......
......@@ -4,7 +4,8 @@ import 'package:flutter/services.dart';
class maskWearingQuizStartPage extends StatefulWidget {
@override
_maskWearingQuizStartPageState createState() => _maskWearingQuizStartPageState();
_maskWearingQuizStartPageState createState() =>
_maskWearingQuizStartPageState();
}
class _maskWearingQuizStartPageState extends State<maskWearingQuizStartPage> {
......@@ -73,14 +74,84 @@ class _maskWearingQuizStartPageState extends State<maskWearingQuizStartPage> {
SystemChrome.setPreferredOrientations(
[DeviceOrientation.portraitDown, DeviceOrientation.portraitUp]);
return Scaffold(
appBar: AppBar(
title: Text("STracker"),
),
body: ListView(
children: <Widget>[
customcard("Start Quiz", images[0]),
],
),
);
appBar: AppBar(
title: Text("STracker"),
),
body: Column(
children: <Widget>[
Expanded(
flex: 1,
child: ButtonTheme(
minWidth: 800.0,
height: 100.0,
child: RaisedButton(
color: Colors.redAccent,
onPressed: () {},
child: Text(
"Mask Wearing",
style: TextStyle(color: Colors.white, fontSize: 30),
),
),
)),
Expanded(
flex: 2,
child: Row(
mainAxisAlignment: MainAxisAlignment.center,
children: <Widget>[],
),
),
Expanded(
flex: 5,
child: Row(
mainAxisAlignment: MainAxisAlignment.center,
children: <Widget>[
RaisedButton(
color: Colors.white,
onPressed: () {},
child: ClipRRect(
child: Image(
image: AssetImage(
"lib/assets/images/maskWearingStart.gif",
),
),
),
padding: EdgeInsets.symmetric(
vertical: 10.0,
horizontal: 25.0,
),
)
],
),
),
Expanded(
flex: 4,
child: Row(
mainAxisAlignment: MainAxisAlignment.center,
children: <Widget>[
RaisedButton(
color: Colors.blueAccent,
shape: RoundedRectangleBorder(
borderRadius: BorderRadius.circular(20.0)),
onPressed: () {
Navigator.of(context).pushReplacement(MaterialPageRoute(
builder: (context) => getjsonMaskWearing(),
));
},
child: Text(
"Start Quiz",
style: TextStyle(
fontSize: 30.0,
),
),
padding: EdgeInsets.symmetric(
vertical: 20.0,
horizontal: 200.0,
),
)
],
),
)
],
));
}
}
......@@ -27,81 +27,86 @@ class _maskWearingResultPageState extends State<maskWearingResultPage> {
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
title: Text(
"Result for Mask Wearing",
appBar: AppBar(
title: Text(
"Result - Mask Wearing",
),
),
),
body: Column(
children: <Widget>[
Expanded(
flex: 7,
child: Material(
elevation: 10.0,
child: Container(
width: 300.0,
height: 300.0,
child: Column(
children: <Widget>[
Material(
child: Container(
width: 300.0,
height: 300.0,
child: ClipRRect(
child: Image(
image:
AssetImage("lib/assets/images/gameover.jpg"),
),
),
body: Column(
children: <Widget>[
Expanded(
flex: 2,
child: Row(
mainAxisAlignment: MainAxisAlignment.center,
children: <Widget>[],
),
),
Expanded(
flex: 3,
child: Row(
mainAxisAlignment: MainAxisAlignment.center,
children: <Widget>[
RaisedButton(
color: Colors.white,
onPressed: () {},
child: ClipRRect(
child: Image(
image: AssetImage(
"lib/assets/images/gameover.gif",
),
),
Padding(
padding: EdgeInsets.symmetric(
vertical: 5.0,
horizontal: 15.0,
),
child: Center(
child: Text(
"You Scored $marks marks",
style: TextStyle(
fontSize: 20.0,
fontWeight: FontWeight.w700,
),
),
)),
],
)),
),
padding: EdgeInsets.symmetric(
vertical: 10.0,
horizontal: 25.0,
),
)
],
),
),
),
Expanded(
flex: 4,
child: Row(
mainAxisAlignment: MainAxisAlignment.center,
children: <Widget>[
OutlineButton(
onPressed: () {
Navigator.of(context).pushReplacement(MaterialPageRoute(
builder: (context) => levelsDashboard(),
));
},
Padding(
padding: EdgeInsets.symmetric(
vertical: 5.0,
horizontal: 15.0,
),
child: Center(
child: Text(
"Continue",
"You Scored $marks marks",
style: TextStyle(
fontSize: 18.0,
fontSize: 30.0,
fontWeight: FontWeight.w900,
),
),
padding: EdgeInsets.symmetric(
vertical: 10.0,
horizontal: 25.0,
),
borderSide: BorderSide(width: 3.0, color: Colors.indigo),
splashColor: Colors.indigoAccent,
)
],
),
)
],
),
);
)),
Expanded(
flex: 4,
child: Row(
mainAxisAlignment: MainAxisAlignment.center,
children: <Widget>[
RaisedButton(
color: Colors.blueAccent,
shape: RoundedRectangleBorder(
borderRadius: BorderRadius.circular(20.0)),
onPressed: () {
Navigator.of(context).pushReplacement(MaterialPageRoute(
builder: (context) => levelsDashboard(),
));
},
child: Text(
"Continue",
style: TextStyle(
fontSize: 30.0,
),
),
padding: EdgeInsets.symmetric(
vertical: 20.0,
horizontal: 200.0,
),
)
],
),
)
],
));
}
}
......@@ -91,7 +91,7 @@ class _quizpagePublicPlacesState extends State<quizpagePublicPlaces> {
canceltimer = false;
timer = 60;
setState(() {
if (i < 5) {
if (i < 8) {
i++;
} else {
Navigator.of(context).pushReplacement(MaterialPageRoute(
......@@ -108,7 +108,7 @@ class _quizpagePublicPlacesState extends State<quizpagePublicPlaces> {
void checkanswer(String k) {
if (mydata[2][i.toString()] == mydata[1][i.toString()][k]) {
marks = marks + 5;
marks = marks + 10;
colortoshow = right;
} else {
colortoshow = wrong;
......@@ -132,15 +132,20 @@ class _quizpagePublicPlacesState extends State<quizpagePublicPlaces> {
hangState = 3;
} else if (x == 4) {
hangState = 4;
} else {
} else if (x == 5) {
hangState = 5;
} else if (x == 6) {
hangState = 6;
Navigator.of(context).pushReplacement(MaterialPageRoute(
builder: (context) => publicPlacesResultPage(marks: marks),
));
}
}
Widget choicebutton(String k) {
return Padding(
padding: EdgeInsets.symmetric(
vertical: 10.0,
vertical: 20.0,
horizontal: 20.0,
),
child: MaterialButton(
......@@ -149,15 +154,15 @@ class _quizpagePublicPlacesState extends State<quizpagePublicPlaces> {
mydata[1][i.toString()][k],
style: TextStyle(
color: Colors.white,
fontSize: 16.0,
fontSize: 20.0,
),
maxLines: 1,
),
color: btncolor[k],
splashColor: Colors.indigo[700],
highlightColor: Colors.indigo[700],
minWidth: 200.0,
height: 45.0,
minWidth: 500.0,
height: 70.0,
shape:
RoundedRectangleBorder(borderRadius: BorderRadius.circular(20.0)),
),
......@@ -193,18 +198,18 @@ class _quizpagePublicPlacesState extends State<quizpagePublicPlaces> {
body: Column(
children: <Widget>[
Expanded(
flex: 5,
flex: 4,
child: Material(
elevation: 20.0,
child: Container(
width: 200.0,
height: 150.0,
width: 400.0,
height: 50.0,
child: Column(
children: <Widget>[
Material(
child: Container(
width: 200.0,
height: 200.0,
width: 400.0,
height: 375.0,
child: ClipRRect(
child: Image(
image: AssetImage(
......@@ -218,14 +223,14 @@ class _quizpagePublicPlacesState extends State<quizpagePublicPlaces> {
),
),
Expanded(
flex: 2,
flex: 1,
child: Container(
padding: EdgeInsets.all(15.0),
alignment: Alignment.bottomLeft,
child: Text(
mydata[0][i.toString()],
style: TextStyle(
fontSize: 16.0,
fontSize: 30.0,
fontWeight: FontWeight.w700,
),
),
......
......@@ -4,7 +4,8 @@ import 'package:flutter/services.dart';
class publicPlacesQuizStartPage extends StatefulWidget {
@override
_publicPlacesQuizStartPageState createState() => _publicPlacesQuizStartPageState();
_publicPlacesQuizStartPageState createState() =>
_publicPlacesQuizStartPageState();
}
class _publicPlacesQuizStartPageState extends State<publicPlacesQuizStartPage> {
......@@ -73,14 +74,84 @@ class _publicPlacesQuizStartPageState extends State<publicPlacesQuizStartPage> {
SystemChrome.setPreferredOrientations(
[DeviceOrientation.portraitDown, DeviceOrientation.portraitUp]);
return Scaffold(
appBar: AppBar(
title: Text("STracker"),
),
body: ListView(
children: <Widget>[
customcard("Start Quiz", images[0]),
],
),
);
appBar: AppBar(
title: Text("STracker"),
),
body: Column(
children: <Widget>[
Expanded(
flex: 1,
child: ButtonTheme(
minWidth: 800.0,
height: 100.0,
child: RaisedButton(
color: Colors.redAccent,
onPressed: () {},
child: Text(
"Behavioural in Public Places",
style: TextStyle(color: Colors.white, fontSize: 30),
),
),
)),
Expanded(
flex: 2,
child: Row(
mainAxisAlignment: MainAxisAlignment.center,
children: <Widget>[],
),
),
Expanded(
flex: 5,
child: Row(
mainAxisAlignment: MainAxisAlignment.center,
children: <Widget>[
RaisedButton(
color: Colors.white,
onPressed: () {},
child: ClipRRect(
child: Image(
image: AssetImage(
"lib/assets/images/publicPlacesStart.gif",
),
),
),
padding: EdgeInsets.symmetric(
vertical: 10.0,
horizontal: 25.0,
),
)
],
),
),
Expanded(
flex: 4,
child: Row(
mainAxisAlignment: MainAxisAlignment.center,
children: <Widget>[
RaisedButton(
color: Colors.blueAccent,
shape: RoundedRectangleBorder(
borderRadius: BorderRadius.circular(20.0)),
onPressed: () {
Navigator.of(context).pushReplacement(MaterialPageRoute(
builder: (context) => getjsonPublicPlaces(),
));
},
child: Text(
"Start Quiz",
style: TextStyle(
fontSize: 30.0,
),
),
padding: EdgeInsets.symmetric(
vertical: 20.0,
horizontal: 200.0,
),
)
],
),
)
],
));
}
}
......@@ -3,12 +3,12 @@ import 'package:flutter/material.dart';
import '../levelsDashboard.dart';
import '../variables.dart';
class publicPlacesResultPage extends StatefulWidget {
int marks;
publicPlacesResultPage({Key key, @required this.marks}) : super(key: key);
@override
_publicPlacesResultPageState createState() => _publicPlacesResultPageState(marks);
_publicPlacesResultPageState createState() =>
_publicPlacesResultPageState(marks);
}
class _publicPlacesResultPageState extends State<publicPlacesResultPage> {
......@@ -27,81 +27,86 @@ class _publicPlacesResultPageState extends State<publicPlacesResultPage> {
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
title: Text(
"Result for Public Places",
appBar: AppBar(
title: Text(
"Result - Behavioural in Public Places",
),
),
),
body: Column(
children: <Widget>[
Expanded(
flex: 7,
child: Material(
elevation: 10.0,
child: Container(
width: 300.0,
height: 300.0,
child: Column(
children: <Widget>[
Material(
child: Container(
width: 300.0,
height: 300.0,
child: ClipRRect(
child: Image(
image:
AssetImage("lib/assets/images/gameover.jpg"),
),
),
body: Column(
children: <Widget>[
Expanded(
flex: 2,
child: Row(
mainAxisAlignment: MainAxisAlignment.center,
children: <Widget>[],
),
),
Expanded(
flex: 3,
child: Row(
mainAxisAlignment: MainAxisAlignment.center,
children: <Widget>[
RaisedButton(
color: Colors.white,
onPressed: () {},
child: ClipRRect(
child: Image(
image: AssetImage(
"lib/assets/images/gameover.gif",
),
),
Padding(
padding: EdgeInsets.symmetric(
vertical: 5.0,
horizontal: 15.0,
),
child: Center(
child: Text(
"You Scored $marks marks",
style: TextStyle(
fontSize: 20.0,
fontWeight: FontWeight.w700,
),
),
)),
],
)),
),
padding: EdgeInsets.symmetric(
vertical: 10.0,
horizontal: 25.0,
),
)
],
),
),
),
Expanded(
flex: 4,
child: Row(
mainAxisAlignment: MainAxisAlignment.center,
children: <Widget>[
OutlineButton(
onPressed: () {
Navigator.of(context).pushReplacement(MaterialPageRoute(
builder: (context) => levelsDashboard(),
));
},
Padding(
padding: EdgeInsets.symmetric(
vertical: 5.0,
horizontal: 15.0,
),
child: Center(
child: Text(
"Continue",
"You Scored $marks marks",
style: TextStyle(
fontSize: 18.0,
fontSize: 30.0,
fontWeight: FontWeight.w900,
),
),
padding: EdgeInsets.symmetric(
vertical: 10.0,
horizontal: 25.0,
),
borderSide: BorderSide(width: 3.0, color: Colors.indigo),
splashColor: Colors.indigoAccent,
)
],
),
)
],
),
);
)),
Expanded(
flex: 4,
child: Row(
mainAxisAlignment: MainAxisAlignment.center,
children: <Widget>[
RaisedButton(
color: Colors.blueAccent,
shape: RoundedRectangleBorder(
borderRadius: BorderRadius.circular(20.0)),
onPressed: () {
Navigator.of(context).pushReplacement(MaterialPageRoute(
builder: (context) => levelsDashboard(),
));
},
child: Text(
"Continue",
style: TextStyle(
fontSize: 30.0,
),
),
padding: EdgeInsets.symmetric(
vertical: 20.0,
horizontal: 200.0,
),
)
],
),
)
],
));
}
}
......@@ -5,7 +5,6 @@ import 'package:covidefender/STracker/SocialDistance/socialDistanceResultPage.da
import 'package:flutter/material.dart';
import 'package:flutter/services.dart';
class getjsonSocialDistance extends StatelessWidget {
@override
Widget build(BuildContext context) {
......@@ -37,7 +36,8 @@ class quizpageSocialDistance extends StatefulWidget {
quizpageSocialDistance({Key key, @required this.mydata}) : super(key: key);
@override
_quizpageSocialDistanceState createState() => _quizpageSocialDistanceState(mydata);
_quizpageSocialDistanceState createState() =>
_quizpageSocialDistanceState(mydata);
}
class _quizpageSocialDistanceState extends State<quizpageSocialDistance> {
......@@ -91,7 +91,7 @@ class _quizpageSocialDistanceState extends State<quizpageSocialDistance> {
canceltimer = false;
timer = 60;
setState(() {
if (i < 5) {
if (i < 8) {
i++;
} else {
Navigator.of(context).pushReplacement(MaterialPageRoute(
......@@ -108,7 +108,7 @@ class _quizpageSocialDistanceState extends State<quizpageSocialDistance> {
void checkanswer(String k) {
if (mydata[2][i.toString()] == mydata[1][i.toString()][k]) {
marks = marks + 5;
marks = marks + 20;
colortoshow = right;
} else {
colortoshow = wrong;
......@@ -132,15 +132,20 @@ class _quizpageSocialDistanceState extends State<quizpageSocialDistance> {
hangState = 3;
} else if (x == 4) {
hangState = 4;
} else {
} else if (x == 5) {
hangState = 5;
} else if (x == 6) {
hangState = 6;
Navigator.of(context).pushReplacement(MaterialPageRoute(
builder: (context) => socialDistanceResultPage(marks: marks),
));
}
}
Widget choicebutton(String k) {
return Padding(
padding: EdgeInsets.symmetric(
vertical: 10.0,
vertical: 20.0,
horizontal: 20.0,
),
child: MaterialButton(
......@@ -149,15 +154,15 @@ class _quizpageSocialDistanceState extends State<quizpageSocialDistance> {
mydata[1][i.toString()][k],
style: TextStyle(
color: Colors.white,
fontSize: 16.0,
fontSize: 20.0,
),
maxLines: 1,
),
color: btncolor[k],
splashColor: Colors.indigo[700],
highlightColor: Colors.indigo[700],
minWidth: 200.0,
height: 45.0,
minWidth: 500.0,
height: 70.0,
shape:
RoundedRectangleBorder(borderRadius: BorderRadius.circular(20.0)),
),
......@@ -193,18 +198,18 @@ class _quizpageSocialDistanceState extends State<quizpageSocialDistance> {
body: Column(
children: <Widget>[
Expanded(
flex: 5,
flex: 4,
child: Material(
elevation: 20.0,
child: Container(
width: 200.0,
height: 150.0,
width: 400.0,
height: 50.0,
child: Column(
children: <Widget>[
Material(
child: Container(
width: 200.0,
height: 200.0,
width: 400.0,
height: 375.0,
child: ClipRRect(
child: Image(
image: AssetImage(
......@@ -218,14 +223,14 @@ class _quizpageSocialDistanceState extends State<quizpageSocialDistance> {
),
),
Expanded(
flex: 2,
flex: 1,
child: Container(
padding: EdgeInsets.all(15.0),
alignment: Alignment.bottomLeft,
child: Text(
mydata[0][i.toString()],
style: TextStyle(
fontSize: 16.0,
fontSize: 30.0,
fontWeight: FontWeight.w700,
),
),
......
......@@ -4,10 +4,12 @@ import 'package:flutter/services.dart';
class socialDistanceQuizStartPage extends StatefulWidget {
@override
_socialDistanceQuizStartPageState createState() => _socialDistanceQuizStartPageState();
_socialDistanceQuizStartPageState createState() =>
_socialDistanceQuizStartPageState();
}
class _socialDistanceQuizStartPageState extends State<socialDistanceQuizStartPage> {
class _socialDistanceQuizStartPageState
extends State<socialDistanceQuizStartPage> {
List<String> images = [
"lib/assets/images/startQuiz.png",
];
......@@ -73,14 +75,84 @@ class _socialDistanceQuizStartPageState extends State<socialDistanceQuizStartPag
SystemChrome.setPreferredOrientations(
[DeviceOrientation.portraitDown, DeviceOrientation.portraitUp]);
return Scaffold(
appBar: AppBar(
title: Text("STracker"),
),
body: ListView(
children: <Widget>[
customcard("Start Quiz", images[0]),
],
),
);
appBar: AppBar(
title: Text("STracker"),
),
body: Column(
children: <Widget>[
Expanded(
flex: 1,
child: ButtonTheme(
minWidth: 800.0,
height: 100.0,
child: RaisedButton(
color: Colors.redAccent,
onPressed: () {},
child: Text(
"Social Distance",
style: TextStyle(color: Colors.white, fontSize: 30),
),
),
)),
Expanded(
flex: 2,
child: Row(
mainAxisAlignment: MainAxisAlignment.center,
children: <Widget>[],
),
),
Expanded(
flex: 5,
child: Row(
mainAxisAlignment: MainAxisAlignment.center,
children: <Widget>[
RaisedButton(
color: Colors.white,
onPressed: () {},
child: ClipRRect(
child: Image(
image: AssetImage(
"lib/assets/images/socialDistanceStart.gif",
),
),
),
padding: EdgeInsets.symmetric(
vertical: 10.0,
horizontal: 25.0,
),
)
],
),
),
Expanded(
flex: 4,
child: Row(
mainAxisAlignment: MainAxisAlignment.center,
children: <Widget>[
RaisedButton(
color: Colors.blueAccent,
shape: RoundedRectangleBorder(
borderRadius: BorderRadius.circular(20.0)),
onPressed: () {
Navigator.of(context).pushReplacement(MaterialPageRoute(
builder: (context) => getjsonSocialDistance(),
));
},
child: Text(
"Start Quiz",
style: TextStyle(
fontSize: 30.0,
),
),
padding: EdgeInsets.symmetric(
vertical: 20.0,
horizontal: 200.0,
),
)
],
),
)
],
));
}
}
......@@ -3,12 +3,12 @@ import 'package:flutter/material.dart';
import '../levelsDashboard.dart';
import '../variables.dart';
class socialDistanceResultPage extends StatefulWidget {
int marks;
socialDistanceResultPage({Key key, @required this.marks}) : super(key: key);
@override
_socialDistanceResultPageState createState() => _socialDistanceResultPageState(marks);
_socialDistanceResultPageState createState() =>
_socialDistanceResultPageState(marks);
}
class _socialDistanceResultPageState extends State<socialDistanceResultPage> {
......@@ -27,81 +27,86 @@ class _socialDistanceResultPageState extends State<socialDistanceResultPage> {
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
title: Text(
"Result for Social Distance",
appBar: AppBar(
title: Text(
"Result - Social Distance",
),
),
),
body: Column(
children: <Widget>[
Expanded(
flex: 7,
child: Material(
elevation: 10.0,
child: Container(
width: 300.0,
height: 300.0,
child: Column(
children: <Widget>[
Material(
child: Container(
width: 300.0,
height: 300.0,
child: ClipRRect(
child: Image(
image:
AssetImage("lib/assets/images/gameover.jpg"),
),
),
body: Column(
children: <Widget>[
Expanded(
flex: 2,
child: Row(
mainAxisAlignment: MainAxisAlignment.center,
children: <Widget>[],
),
),
Expanded(
flex: 3,
child: Row(
mainAxisAlignment: MainAxisAlignment.center,
children: <Widget>[
RaisedButton(
color: Colors.white,
onPressed: () {},
child: ClipRRect(
child: Image(
image: AssetImage(
"lib/assets/images/gameover.gif",
),
),
Padding(
padding: EdgeInsets.symmetric(
vertical: 5.0,
horizontal: 15.0,
),
child: Center(
child: Text(
"You Scored $marks marks",
style: TextStyle(
fontSize: 20.0,
fontWeight: FontWeight.w700,
),
),
)),
],
)),
),
padding: EdgeInsets.symmetric(
vertical: 10.0,
horizontal: 25.0,
),
)
],
),
),
),
Expanded(
flex: 4,
child: Row(
mainAxisAlignment: MainAxisAlignment.center,
children: <Widget>[
OutlineButton(
onPressed: () {
Navigator.of(context).pushReplacement(MaterialPageRoute(
builder: (context) => levelsDashboard(),
));
},
Padding(
padding: EdgeInsets.symmetric(
vertical: 5.0,
horizontal: 15.0,
),
child: Center(
child: Text(
"Continue",
"You Scored $marks marks",
style: TextStyle(
fontSize: 18.0,
fontSize: 30.0,
fontWeight: FontWeight.w900,
),
),
padding: EdgeInsets.symmetric(
vertical: 10.0,
horizontal: 25.0,
),
borderSide: BorderSide(width: 3.0, color: Colors.indigo),
splashColor: Colors.indigoAccent,
)
],
),
)
],
),
);
)),
Expanded(
flex: 4,
child: Row(
mainAxisAlignment: MainAxisAlignment.center,
children: <Widget>[
RaisedButton(
color: Colors.blueAccent,
shape: RoundedRectangleBorder(
borderRadius: BorderRadius.circular(20.0)),
onPressed: () {
Navigator.of(context).pushReplacement(MaterialPageRoute(
builder: (context) => levelsDashboard(),
));
},
child: Text(
"Continue",
style: TextStyle(
fontSize: 30.0,
),
),
padding: EdgeInsets.symmetric(
vertical: 20.0,
horizontal: 200.0,
),
)
],
),
)
],
));
}
}
import 'dart:async';
import 'dart:convert';
import 'package:covidefender/STracker/SocialDistance/socialDistanceResultPage.dart';
import 'package:covidefender/STracker/Symptoms/symptomsResultPage.dart';
import 'package:flutter/material.dart';
import 'package:flutter/services.dart';
class getjsonSymptoms extends StatelessWidget {
@override
Widget build(BuildContext context) {
......@@ -92,7 +90,7 @@ class _quizpageSymptomsState extends State<quizpageSymptoms> {
canceltimer = false;
timer = 60;
setState(() {
if (i < 5) {
if (i < 8) {
i++;
} else {
Navigator.of(context).pushReplacement(MaterialPageRoute(
......@@ -133,15 +131,20 @@ class _quizpageSymptomsState extends State<quizpageSymptoms> {
hangState = 3;
} else if (x == 4) {
hangState = 4;
} else {
} else if (x == 5) {
hangState = 5;
} else if (x == 6) {
hangState = 6;
Navigator.of(context).pushReplacement(MaterialPageRoute(
builder: (context) => symptomsResultPage(marks: marks),
));
}
}
Widget choicebutton(String k) {
return Padding(
padding: EdgeInsets.symmetric(
vertical: 10.0,
vertical: 20.0,
horizontal: 20.0,
),
child: MaterialButton(
......@@ -150,15 +153,15 @@ class _quizpageSymptomsState extends State<quizpageSymptoms> {
mydata[1][i.toString()][k],
style: TextStyle(
color: Colors.white,
fontSize: 16.0,
fontSize: 20.0,
),
maxLines: 1,
),
color: btncolor[k],
splashColor: Colors.indigo[700],
highlightColor: Colors.indigo[700],
minWidth: 200.0,
height: 45.0,
minWidth: 500.0,
height: 70.0,
shape:
RoundedRectangleBorder(borderRadius: BorderRadius.circular(20.0)),
),
......@@ -194,18 +197,18 @@ class _quizpageSymptomsState extends State<quizpageSymptoms> {
body: Column(
children: <Widget>[
Expanded(
flex: 5,
flex: 4,
child: Material(
elevation: 20.0,
child: Container(
width: 200.0,
height: 150.0,
width: 400.0,
height: 50.0,
child: Column(
children: <Widget>[
Material(
child: Container(
width: 200.0,
height: 200.0,
width: 400.0,
height: 375.0,
child: ClipRRect(
child: Image(
image: AssetImage(
......@@ -219,14 +222,14 @@ class _quizpageSymptomsState extends State<quizpageSymptoms> {
),
),
Expanded(
flex: 2,
flex: 1,
child: Container(
padding: EdgeInsets.all(15.0),
alignment: Alignment.bottomLeft,
child: Text(
mydata[0][i.toString()],
style: TextStyle(
fontSize: 16.0,
fontSize: 20.0,
fontWeight: FontWeight.w700,
),
),
......
......@@ -74,14 +74,84 @@ class _symptomsQuizStartPageState extends State<symptomsQuizStartPage> {
SystemChrome.setPreferredOrientations(
[DeviceOrientation.portraitDown, DeviceOrientation.portraitUp]);
return Scaffold(
appBar: AppBar(
title: Text("STracker"),
),
body: ListView(
children: <Widget>[
customcard("Start Quiz", images[0]),
],
),
);
appBar: AppBar(
title: Text("STracker"),
),
body: Column(
children: <Widget>[
Expanded(
flex: 1,
child: ButtonTheme(
minWidth: 800.0,
height: 100.0,
child: RaisedButton(
color: Colors.redAccent,
onPressed: () {},
child: Text(
"Symptoms",
style: TextStyle(color: Colors.white, fontSize: 30),
),
),
)),
Expanded(
flex: 2,
child: Row(
mainAxisAlignment: MainAxisAlignment.center,
children: <Widget>[],
),
),
Expanded(
flex: 5,
child: Row(
mainAxisAlignment: MainAxisAlignment.center,
children: <Widget>[
RaisedButton(
color: Colors.white,
onPressed: () {},
child: ClipRRect(
child: Image(
image: AssetImage(
"lib/assets/images/symStart2.gif",
),
),
),
padding: EdgeInsets.symmetric(
vertical: 10.0,
horizontal: 25.0,
),
)
],
),
),
Expanded(
flex: 4,
child: Row(
mainAxisAlignment: MainAxisAlignment.center,
children: <Widget>[
RaisedButton(
color: Colors.blueAccent,
shape: RoundedRectangleBorder(
borderRadius: BorderRadius.circular(20.0)),
onPressed: () {
Navigator.of(context).pushReplacement(MaterialPageRoute(
builder: (context) => getjsonSymptoms(),
));
},
child: Text(
"Start Quiz",
style: TextStyle(
fontSize: 30.0,
),
),
padding: EdgeInsets.symmetric(
vertical: 20.0,
horizontal: 200.0,
),
)
],
),
)
],
));
}
}
......@@ -3,7 +3,6 @@ import 'package:flutter/material.dart';
import '../levelsDashboard.dart';
import '../variables.dart';
class symptomsResultPage extends StatefulWidget {
int marks;
symptomsResultPage({Key key, @required this.marks}) : super(key: key);
......@@ -27,81 +26,86 @@ class _symptomsResultPageState extends State<symptomsResultPage> {
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
title: Text(
"Result for Social Distance",
appBar: AppBar(
title: Text(
"Result - Symptoms",
),
),
),
body: Column(
children: <Widget>[
Expanded(
flex: 7,
child: Material(
elevation: 10.0,
child: Container(
width: 300.0,
height: 300.0,
child: Column(
children: <Widget>[
Material(
child: Container(
width: 300.0,
height: 300.0,
child: ClipRRect(
child: Image(
image:
AssetImage("lib/assets/images/gameover.jpg"),
),
),
body: Column(
children: <Widget>[
Expanded(
flex: 2,
child: Row(
mainAxisAlignment: MainAxisAlignment.center,
children: <Widget>[],
),
),
Expanded(
flex: 3,
child: Row(
mainAxisAlignment: MainAxisAlignment.center,
children: <Widget>[
RaisedButton(
color: Colors.white,
onPressed: () {},
child: ClipRRect(
child: Image(
image: AssetImage(
"lib/assets/images/gameover.gif",
),
),
Padding(
padding: EdgeInsets.symmetric(
vertical: 5.0,
horizontal: 15.0,
),
child: Center(
child: Text(
"You Scored $marks marks",
style: TextStyle(
fontSize: 20.0,
fontWeight: FontWeight.w700,
),
),
)),
],
)),
),
padding: EdgeInsets.symmetric(
vertical: 10.0,
horizontal: 25.0,
),
)
],
),
),
),
Expanded(
flex: 4,
child: Row(
mainAxisAlignment: MainAxisAlignment.center,
children: <Widget>[
OutlineButton(
onPressed: () {
Navigator.of(context).pushReplacement(MaterialPageRoute(
builder: (context) => levelsDashboard(),
));
},
Padding(
padding: EdgeInsets.symmetric(
vertical: 5.0,
horizontal: 15.0,
),
child: Center(
child: Text(
"Continue",
"You Scored $marks marks",
style: TextStyle(
fontSize: 18.0,
fontSize: 30.0,
fontWeight: FontWeight.w900,
),
),
padding: EdgeInsets.symmetric(
vertical: 10.0,
horizontal: 25.0,
),
borderSide: BorderSide(width: 3.0, color: Colors.indigo),
splashColor: Colors.indigoAccent,
)
],
),
)
],
),
);
)),
Expanded(
flex: 4,
child: Row(
mainAxisAlignment: MainAxisAlignment.center,
children: <Widget>[
RaisedButton(
color: Colors.blueAccent,
shape: RoundedRectangleBorder(
borderRadius: BorderRadius.circular(20.0)),
onPressed: () {
Navigator.of(context).pushReplacement(MaterialPageRoute(
builder: (context) => levelsDashboard(),
));
},
child: Text(
"Continue",
style: TextStyle(
fontSize: 30.0,
),
),
padding: EdgeInsets.symmetric(
vertical: 20.0,
horizontal: 200.0,
),
)
],
),
)
],
));
}
}
import 'package:covidefender/STracker/HandWashing/quizpage.dart';
import 'package:covidefender/STracker/levelsDashboard.dart';
import 'package:flutter/material.dart';
import 'package:flutter/services.dart';
import 'variables.dart';
class finalOverallResultPage extends StatefulWidget {
String marks;
finalOverallResultPage() : super();
@override
_finalOverallResultPageState createState() => _finalOverallResultPageState();
}
class _finalOverallResultPageState extends State<finalOverallResultPage> {
// int ima;
_finalOverallResultPageState();
@override
void initState() {
setLevel();
super.initState();
}
void setLevel() {
print('marks6');
print(marks6);
if(marks6 == 'Very Low'){
// ima = 100;
print('1');
}else if(marks6 == 'Low'){
// ima = 200;
print('2');
}else if(marks6 == 'Moderate'){
// ima = 300;
print('3');
}else if(marks6 == 'High'){
// ima = 400;
print('4');
}else if(marks6 == 'Very High'){
// ima = 500;
print('5');
}
}
Widget customcard(String type, String image) {
return Padding(
padding: EdgeInsets.all(
20.0,
),
child: InkWell(
onTap: () {
// Navigator.of(context).pushReplacement(MaterialPageRoute(
// builder: (context) => getjson(),
// ));
},
child: Material(
color: Colors.indigoAccent,
elevation: 10.0,
borderRadius: BorderRadius.circular(20.0),
child: Container(
child: Column(
children: <Widget>[
Padding(
padding: EdgeInsets.symmetric(
vertical: 10.0,
),
child: Material(
elevation: 5.0,
borderRadius: BorderRadius.circular(100.0),
child: Container(
height: 100.0,
width: 100.0,
child: ClipOval(
child: Image(
fit: BoxFit.contain,
image: AssetImage(
image,
),
),
),
),
),
),
Center(
child: Text(
type,
style: TextStyle(
fontSize: 24.0,
fontWeight: FontWeight.w700,
),
),
),
],
),
),
),
),
);
}
@override
Widget build(BuildContext context) {
SystemChrome.setPreferredOrientations(
[DeviceOrientation.portraitDown, DeviceOrientation.portraitUp]);
return Scaffold(
appBar: AppBar(
title: Text("STracker"),
),
body: Column(
children: <Widget>[
Expanded(
flex: 1,
child: ButtonTheme(
minWidth: 800.0,
height: 100.0,
child: RaisedButton(
color: Colors.redAccent,
onPressed: () {},
child: Text(
"Overall Awareness Level",
style: TextStyle(color: Colors.white, fontSize: 30),
),
),
)),
Expanded(
flex: 2,
child: Row(
mainAxisAlignment: MainAxisAlignment.center,
children: <Widget>[],
),
),
Expanded(
flex: 8,
child: Row(
mainAxisAlignment: MainAxisAlignment.center,
children: <Widget>[
RaisedButton(
color: Colors.white,
onPressed: () {},
child: ClipRRect(
child: Image(
image: AssetImage(
"lib/assets/images/awarenessLevel.gif",
),
),
),
padding: EdgeInsets.symmetric(
vertical: 10.0,
horizontal: 25.0,
),
)
],
),
),
Expanded(
flex: 2,
child: Row(
mainAxisAlignment: MainAxisAlignment.center,
children: <Widget>[
RaisedButton(
color: Colors.white,
onPressed: () {},
child: Text(
"Your Awareness Level - $marks6",
style: TextStyle(color: Colors.red, fontSize: 30),
),
padding: EdgeInsets.symmetric(
vertical: 10.0,
horizontal: 25.0,
),
)
],
),
),
Expanded(
flex: 2,
child: Row(
mainAxisAlignment: MainAxisAlignment.center,
children: <Widget>[
RaisedButton(
color: Colors.white,
onPressed: () {},
child: Image(
image: AssetImage(
"lib/assets/images/100.png",
),
),
padding: EdgeInsets.symmetric(
vertical: 10.0,
horizontal: 25.0,
),
)
],
),
),
Expanded(
flex: 4,
child: Row(
mainAxisAlignment: MainAxisAlignment.center,
children: <Widget>[
RaisedButton(
color: Colors.blueAccent,
shape: RoundedRectangleBorder(
borderRadius: BorderRadius.circular(20.0)),
onPressed: () {
Navigator.of(context).pushReplacement(MaterialPageRoute(
builder: (context) => levelsDashboard(),
));
},
child: Text(
"Registration",
style: TextStyle(
fontSize: 30.0,
),
),
padding: EdgeInsets.symmetric(
vertical: 20.0,
horizontal: 200.0,
),
)
],
),
)
],
));
}
}
This diff is collapsed.
......@@ -72,7 +72,7 @@ class _levelsDashboardState extends State<levelsDashboard> {
Card(
shape: RoundedRectangleBorder(
borderRadius: BorderRadius.circular(8)),
elevation: 4,
elevation: 10,
child: Column(
mainAxisAlignment: MainAxisAlignment.center,
children: <Widget>[
......@@ -85,10 +85,17 @@ class _levelsDashboardState extends State<levelsDashboard> {
);
},
child: Image.asset(
'lib/assets/images/handWashing.png'),
'lib/assets/images/handWashing.png',
fit: BoxFit.contain,
width: 200,
height: 200,
),
),
Text('Hand Washing',
style: TextStyle(fontSize: 20.0)),
style: TextStyle(
fontSize: 30.0,
fontWeight: FontWeight.w700,
)),
],
)),
Card(
......@@ -108,10 +115,17 @@ class _levelsDashboardState extends State<levelsDashboard> {
);
},
child: Image.asset(
'lib/assets/images/maskWearing.png'),
'lib/assets/images/maskWearing.png',
fit: BoxFit.contain,
width: 200,
height: 200,
),
),
Text('Mask Wearing',
style: TextStyle(fontSize: 20.0))
style: TextStyle(
fontSize: 30.0,
fontWeight: FontWeight.w700,
))
],
)),
Card(
......@@ -131,10 +145,17 @@ class _levelsDashboardState extends State<levelsDashboard> {
);
},
child: Image.asset(
'lib/assets/images/socialDistance.png'),
'lib/assets/images/socialDistance.png',
fit: BoxFit.contain,
width: 200,
height: 200,
),
),
Text('Socila Distance',
style: TextStyle(fontSize: 20.0))
style: TextStyle(
fontSize: 30.0,
fontWeight: FontWeight.w700,
))
],
)),
Card(
......@@ -154,10 +175,17 @@ class _levelsDashboardState extends State<levelsDashboard> {
);
},
child: Image.asset(
'lib/assets/images/publicPlaces.png'),
'lib/assets/images/publicPlaces.png',
fit: BoxFit.contain,
width: 200,
height: 200,
),
),
Text('Public Places',
style: TextStyle(fontSize: 20.0))
style: TextStyle(
fontSize: 30.0,
fontWeight: FontWeight.w700,
))
],
)),
Card(
......@@ -170,18 +198,27 @@ class _levelsDashboardState extends State<levelsDashboard> {
FlatButton(
onPressed: () {
Navigator.push(
context,
MaterialPageRoute(builder: (context) => symptomsQuizStartPage()),
);
context,
MaterialPageRoute(
builder: (context) =>
symptomsQuizStartPage()),
);
},
child: Image.asset(
'lib/assets/images/symptoms.png'),
'lib/assets/images/symptoms.png',
fit: BoxFit.contain,
width: 200,
height: 200,
),
),
Text('Symptoms',
style: TextStyle(fontSize: 20.0))
style: TextStyle(
fontSize: 30.0,
fontWeight: FontWeight.w700,
))
],
)),
Card(
Card(
shape: RoundedRectangleBorder(
borderRadius: BorderRadius.circular(8)),
elevation: 4,
......@@ -191,17 +228,24 @@ class _levelsDashboardState extends State<levelsDashboard> {
FlatButton(
onPressed: () {
Navigator.push(
context,
MaterialPageRoute(builder: (context) => finalResult()),
);
context,
MaterialPageRoute(
builder: (context) => finalResult()),
);
},
child: Image.asset(
'lib/assets/images/symptoms.png'),
'lib/assets/images/result.png',
fit: BoxFit.contain,
width: 200,
height: 200,
),
),
Text('Final Result',
style: TextStyle(fontSize: 20.0))
style: TextStyle(
fontSize: 30.0,
fontWeight: FontWeight.w700))
],
)),
)),
],
),
)
......
......@@ -58,6 +58,21 @@ class _strackerDasboardState extends State<strackerDasboard> {
),
),
Expanded(
flex: 3,
child: Row(
mainAxisAlignment: MainAxisAlignment.center,
children: <Widget>[
CircleAvatar(
radius: 100,
backgroundColor: Colors.transparent,
backgroundImage:
AssetImage('lib/assets/images/stracker.PNG'),
),
],
),
),
Expanded(
flex: 9,
child: GridView.count(
mainAxisSpacing: 10,
crossAxisSpacing: 10,
......@@ -76,13 +91,21 @@ class _strackerDasboardState extends State<strackerDasboard> {
Navigator.push(
context,
MaterialPageRoute(
builder: (context) => levelsDashboard()),
builder: (context) =>
levelsDashboard()),
);
},
child:
Image.asset('lib/assets/images/play.png'),
child: Image.asset(
'lib/assets/images/play.png',
fit: BoxFit.contain,
width: 200,
height: 200,
),
),
Text('Play', style: TextStyle(fontSize: 20.0)),
Text('Play',
style: TextStyle(
fontSize: 30.0,
fontWeight: FontWeight.w700)),
],
)),
Card(
......@@ -100,10 +123,16 @@ class _strackerDasboardState extends State<strackerDasboard> {
// );
// },
child: Image.asset(
'lib/assets/images/instructions.png'),
'lib/assets/images/instructions.png',
fit: BoxFit.contain,
width: 200,
height: 200,
),
),
Text('Instructions',
style: TextStyle(fontSize: 20.0))
style: TextStyle(
fontSize: 30.0,
fontWeight: FontWeight.w700))
],
)),
Card(
......@@ -121,10 +150,16 @@ class _strackerDasboardState extends State<strackerDasboard> {
// );
// },
child: Image.asset(
'lib/assets/images/score.png'),
'lib/assets/images/score.png',
fit: BoxFit.contain,
width: 200,
height: 200,
),
),
Text('Score Board',
style: TextStyle(fontSize: 20.0))
style: TextStyle(
fontSize: 30.0,
fontWeight: FontWeight.w700))
],
)),
Card(
......@@ -142,10 +177,16 @@ class _strackerDasboardState extends State<strackerDasboard> {
// );
// },
child: Image.asset(
'lib/assets/images/awrenessLevel.png'),
'lib/assets/images/awrenessLevel.png',
fit: BoxFit.contain,
width: 200,
height: 200,
),
),
Text('Awreness Level',
style: TextStyle(fontSize: 20.0))
style: TextStyle(
fontSize: 30.0,
fontWeight: FontWeight.w700))
],
)),
],
......
......@@ -4,3 +4,5 @@ int marks2 = 0;
int marks3 = 0;
int marks4 = 0;
int marks5 = 0;
String marks6 = '';
......@@ -4,7 +4,10 @@
"2": "Question 2: What is the best tap to wash your hands on this Covid 19 disaster situation?",
"3": "Question 3: When you come home after visiting public places, is it your duty to clean your hands first?",
"4": "Question 4: You must wash and clean your hands before eating something? Is this a good habit?",
"5": "Question 5: What is good for clean your hands"
"5": "Question 5: What is good for clean your hands?",
"6": "Question 6: Is it good to clean your hands after you visit a supermarket?",
"7": "Question 7: Can the coronavirus disease spread through hands of a person",
"8": "Question 8: How much time is good for wash hands with soap and water"
},
{
"1": {
......@@ -36,6 +39,24 @@
"b": "Filtered water",
"c": "Clean, running water",
"d": "Well water"
},
"6": {
"a": "No need to do always",
"b": "Not applicable",
"c": "Yes. must to do",
"d": "Sometimes"
},
"7": {
"a": "Yes, It has a major posibility",
"b": "Yes, It has a minor posibility",
"c": "No, It can not be hapen",
"d": "No, It is not applicable"
},
"8": {
"a": "At least 05 seconds",
"b": "At least 20 minutes",
"c": "At least 20 seconds",
"d": "At least 10 minutes"
}
},
{
......@@ -43,6 +64,9 @@
"2": "Operate by leg",
"3": "Yes, it is must",
"4": "Yes. must to do",
"5": "Clean, running water"
"5": "Clean, running water",
"6": "Yes. must to do",
"7": "Yes, It has a major posibility",
"8": "At least 20 seconds"
}
]
\ No newline at end of file
[
{
"1": "Question 1: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
"2": "Question 2: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
"3": "Question 3: ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc",
"4": "Question 4: ddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd",
"5": "Question 5: eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee"
"1": "Question 1: Does wearing mask help to reduce the spread of Covid 19?",
"2": "Question 2: Do you wear a mask when you go out in public?",
"3": "Question 3: When choosing a mask how important its comfort and fit ( to your particular face shape )?",
"4": "Question 4: What is the type of mask that you wear usually?",
"5": "Question 5: How important is changing the mask daily in reducing the possibility of transmitting infection to myself and to others?",
"6": "Question 6: Do you have adequate knowledge about how to wear a mask properly?",
"7": "Question 7: Do you cover the nose while wearing the mask?",
"8": "Question 8: How important is it to dispose the used mask properly?"
},
{
"1": {
"a": "Keep my hands beautiful",
"b": "Wash my hands of germs",
"c": "To get smooth feel to hand",
"d": "To get a new look on hand"
"a": "Yes a lot",
"b": "Yes some",
"c": "Not sure",
"d": "No it does nothing"
},
"2": {
"a": "Operate by hand",
"b": "Operate by mouth",
"c": "Operate by nose",
"d": "Operate by leg"
"a": "Yes, sometimes",
"b": "I dont remember",
"c": "Yes, always",
"d": "Never"
},
"3": {
"a": "May be",
"b": "Sometimes",
"c": "Yes, it is must",
"a": "Not important",
"b": "Little important",
"c": "Important",
"d": "Never"
},
"4": {
"a": "Yes. must to do",
"b": "Sometimes",
"c": "No need to do always",
"d": "Not applicable"
"a": "Clothing mask",
"b": "Surgical mask",
"c": "N95 mask",
"d": "Non of this"
},
"5": {
"a": "Tank water",
"b": "Filtered water",
"c": "Clean, running water",
"d": "Well water"
"a": "Very important",
"b": "Important",
"c": "Little important",
"d": "Not important"
},
"6": {
"a": "no, nothing",
"b": "Not sure",
"c": "Yes, some knowledge",
"d": "Yes, very good knowledge"
},
"7": {
"a": "Never",
"b": "Yes, sometimes",
"c": "Yes, always",
"d": "I dont remember"
},
"8": {
"a": "Not important",
"b": "Little important",
"c": "Imporatant",
"d": "Very important"
}
},
{
"1": "Wash my hands of germs",
"2": "Operate by leg",
"3": "Yes, it is must",
"4": "Yes. must to do",
"5": "Clean, running water"
"1": "Yes a lot",
"2": "Yes, always",
"3": "Very important",
"4": "N95 mask",
"5": "Very important",
"6": "Yes, very good knowledge",
"7": "Yes, always",
"8": "Very important"
}
]
\ No newline at end of file
[
{
"1": "Question 1: ppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppp",
"2": "Question 2: lllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllll",
"3": "Question 3: sssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssss",
"4": "Question 4: ddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd",
"5": "Question 5: eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee"
"1": "Question 1: In recent days have you gone to any crowded places?",
"2": "Question 2: Your level of risk of infection with COVID 19?",
"3": "Question 3: Are you going to meeting your friends/ relatives in this lock down period?",
"4": "Question 4: Do you limit physical contact ( hand shaking) in public places?",
"5": "Question 5: Do you eat or drink in bars and resturents in these days?",
"6": "Question 6: Do you prefer to stay at home ?",
"7": "Question 7: Do you follow the health guidelines when you are in public places?",
"8": "Question 8: How do you buy foods and other goods in this endemic period?"
},
{
"1": {
"a": "Keep my hands beautiful",
"b": "Wash my hands of germs",
"c": "To get smooth feel to hand",
"d": "To get a new look on hand"
"a": "Yes, a lot",
"b": "Yes, but few",
"c": "No",
"d": "I cant remember"
},
"2": {
"a": "Operate by hand",
"b": "Operate by mouth",
"c": "Operate by nose",
"d": "Operate by leg"
"a": "High",
"b": "Moderate",
"c": "Low",
"d": "Very low"
},
"3": {
"a": "May be",
"b": "Sometimes",
"c": "Yes, it is must",
"d": "Never"
"a": "Yes, of course",
"b": "May be",
"c": "Never",
"d": "I dont know"
},
"4": {
"a": "Yes. must to do",
"b": "Sometimes",
"c": "No need to do always",
"d": "Not applicable"
"a": "Yes, sometimes",
"b": "Yes, always",
"c": "Never",
"d": "I cant remember"
},
"5": {
"a": "Tank water",
"b": "Filtered water",
"c": "Clean, running water",
"d": "Well water"
}
"a": "Yes, all the time",
"b": "May be sometimes",
"c": "Never",
"d": "I cant remember"
},
"6": {
"a": "Not applicable",
"b": "Hate it",
"c": "Somewhat ok",
"d": "Yes, love it"
},
"7": {
"a": "Never",
"b": "Yes, sometimes",
"c": "Yes, always",
"d": "I cant remember"
},
"8": {
"a": "By online ordering",
"b": "By visiting to the shop",
"c": "By both methods",
"d": "Non of these methods"
}
},
{
"1": "Wash my hands of germs",
"2": "Operate by leg",
"3": "Yes, it is must",
"4": "Yes. must to do",
"5": "Clean, running water"
"1": "Yes, a lot",
"2": "Very low",
"3": "Never",
"4": "Yes, always",
"5": "Yes, all the time",
"6": "Yes, love it",
"7": "Yes, always",
"8": "By online ordering"
}
]
\ No newline at end of file
[
{
"1": "Question 1: sssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssss",
"2": "Question 2: xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx",
"3": "Question 3: sssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssss",
"4": "Question 4: ddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd",
"5": "Question 5: eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee"
"1": "Question 1: Does keeping social distance help to reduce the spread of COVID 19?",
"2": "Question 2: Are you practicing any kind of social distancing when you are at public places?",
"3": "Question 3: What is the ideal distance you have to maintain when you are in a crowded place?",
"4": "Question 4: Do you cover your nose and mouth during coughing or sneezing with the elbow or tissue?",
"5": "Question 5: How does the COVID 19 virus spread?",
"6": "Question 6: Do you listen and follow the guidelines regarding social distancing when you are at a crowded place.",
"7": "Question 7: Do you think lockdown will improve the controlling of COVID 19?",
"8": "Question 8: Your level of knowledge in social distancing?"
},
{
"1": {
"a": "Keep my hands beautiful",
"b": "Wash my hands of germs",
"c": "To get smooth feel to hand",
"d": "To get a new look on hand"
"a": "No it does nothing",
"b": "Not sure",
"c": "Yes, some",
"d": "Yes, a lot"
},
"2": {
"a": "Operate by hand",
"b": "Operate by mouth",
"c": "Operate by nose",
"d": "Operate by leg"
"a": "Yes, sometimes",
"b": "Yes, always",
"c": "Never",
"d": "I cant remember"
},
"3": {
"a": "May be",
"b": "Sometimes",
"c": "Yes, it is must",
"d": "Never"
"a": "0.5 meter distance",
"b": "2 meter distance",
"c": "0.2 meter distance",
"d": "0.02 meter distance"
},
"4": {
"a": "Yes. must to do",
"b": "Sometimes",
"c": "No need to do always",
"a": "Yes, sometimes",
"b": "Never",
"c": "Yes, always",
"d": "Not applicable"
},
"5": {
"a": "Tank water",
"b": "Filtered water",
"c": "Clean, running water",
"d": "Well water"
}
"a": "Air borne",
"b": "Respiratory droplets and personal contact",
"c": "Animal contact",
"d": "No idea"
},
"6": {
"a": "I cant remember",
"b": "Never",
"c": "Yes, sometimes",
"d": "Yes, always"
},
"7": {
"a": "No, It will not",
"b": "Filtered water",
"c": "Yes, absolutely",
"d": "I have no idea"
},
"8": {
"a": "High level",
"b": "Moderate level",
"c": "Low level",
"d": "Very low level"
}
},
{
"1": "Wash my hands of germs",
"2": "Operate by leg",
"3": "Yes, it is must",
"4": "Yes. must to do",
"5": "Clean, running water"
"1": "Yes, a lot",
"2": "Yes, always",
"3": "2 meter distance",
"4": "Yes, always",
"5": "Respiratory droplets and personal contact",
"6": "Yes, always",
"7": "Yes, absolutely",
"8": "High level"
}
]
\ No newline at end of file
[
{
"1": "Question 1: yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy",
"1": "Question 1: Your knowledge about the symptoms of COVID 19 ?",
"2": "Question 2: mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm",
"3": "Question 3: sssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssss",
"4": "Question 4: ddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd",
"5": "Question 5: eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee"
},
"5": "Question 5: eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee",
"6": "Question 6: eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee",
"7": "Question 7: eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee",
"8": "Question 8: eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee"
},
{
"1": {
"a": "Keep my hands beautiful",
......@@ -37,12 +40,36 @@
"c": "Clean, running water",
"d": "Well water"
}
,
"6": {
"a": "Tank water",
"b": "Filtered water",
"c": "Clean, running water",
"d": "Well water"
}
,
"7": {
"a": "Tank water",
"b": "Filtered water",
"c": "Clean, running water",
"d": "Well water"
}
,
"8": {
"a": "Tank water",
"b": "Filtered water",
"c": "Clean, running water",
"d": "Well water"
}
},
{
"1": "Wash my hands of germs",
"2": "Operate by leg",
"3": "Yes, it is must",
"4": "Yes. must to do",
"5": "Clean, running water"
"5": "Clean, running water",
"6": "Clean, running water",
"7": "Clean, running water",
"8": "Clean, running water"
}
]
\ No newline at end of file
......@@ -2,6 +2,7 @@ import 'package:covidefender/I_GUIDER/splashIguider.dart';
import 'package:covidefender/SRouter/srouterDashboard.dart';
import 'package:covidefender/STracker/splash.dart';
import 'package:covidefender/EAnalyzer/Loading.dart';
import 'package:covidefender/loginPage.dart';
import 'package:flutter/material.dart';
class HomeScreen extends StatefulWidget {
......@@ -43,11 +44,11 @@ class _HomeScreenState extends State<HomeScreen> {
child: Row(
crossAxisAlignment: CrossAxisAlignment.start,
children: <Widget>[
CircleAvatar(
radius: 32,
backgroundImage: NetworkImage(
'https://upload.wikimedia.org/wikipedia/commons/a/a0/Pierre-Person.jpg'),
),
// CircleAvatar(
// radius: 32,
// backgroundImage: NetworkImage(
// 'https://upload.wikimedia.org/wikipedia/commons/a/a0/Pierre-Person.jpg'),
// ),
SizedBox(
width: 16,
),
......@@ -78,13 +79,17 @@ class _HomeScreenState extends State<HomeScreen> {
child: Column(
mainAxisAlignment: MainAxisAlignment.center,
children: <Widget>[
Container(
height: size.height * .1,
decoration: BoxDecoration(
image: DecorationImage(
image: AssetImage(
'lib/assets/images/man80.png')),
)),
FlatButton(
onPressed: () {
Navigator.push(
context,
MaterialPageRoute(
builder: (context) => loginPage()),
);
},
child: Image.asset(
'lib/assets/images/man80.png'),
),
Text('My Profile',
style: TextStyle(fontSize: 20.0))
],
......
import 'package:covidefender/mainRegisterPage.dart';
import 'package:flutter/material.dart';
import 'package:cloud_firestore/cloud_firestore.dart';
class loginPage extends StatefulWidget {
@override
_loginPageState createState() => _loginPageState();
}
class _loginPageState extends State<loginPage> {
String hotelName;
String district;
int nearToDistrict;
int noOfPeople;
String date;
int ima = 0;
getHotelName(hotelName) {
this.hotelName = hotelName;
}
getDistrict(district) {
this.district = district;
}
getNearDistrict(nearToDistrict) {
this.nearToDistrict = nearToDistrict;
}
getPeople(noOfPeople) {
this.noOfPeople = noOfPeople;
}
getDate(date) {
this.date = date;
}
final GlobalKey<FormState> _formKey = GlobalKey<FormState>();
Widget _buildHotelName() {
return TextFormField(
decoration: InputDecoration(
enabledBorder: OutlineInputBorder(
borderSide: BorderSide(color: Colors.indigo[900]),
borderRadius: BorderRadius.all(Radius.circular(20))),
focusedBorder: OutlineInputBorder(
borderSide: BorderSide(color: Colors.green),
borderRadius: BorderRadius.all(Radius.circular(20))),
prefixIcon: Icon(Icons.home),
hintText: "Enter Username",
labelText: 'Username'),
// ignore: missing_return
validator: (String value) {},
);
}
Widget _buildDistrict() {
return TextFormField(
decoration: InputDecoration(
enabledBorder: OutlineInputBorder(
borderSide: BorderSide(color: Colors.indigo[900]),
borderRadius: BorderRadius.all(Radius.circular(20))),
focusedBorder: OutlineInputBorder(
borderSide: BorderSide(color: Colors.green),
borderRadius: BorderRadius.all(Radius.circular(20))),
prefixIcon: Icon(Icons.location_on),
hintText: "Enter Password",
labelText: 'Password'),
// ignore: missing_return
validator: (String value) {},
// onSaved: (String value){
// _fName = value;
// },
onChanged: (String district) {
getDistrict(district);
},
);
}
//---------------------------------------------Near To District-----------------------------------------------------
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
backwardsCompatibility: false,
backgroundColor: Colors.blueAccent,
title: Text("CoviDefender"),
),
body: Container(
margin: EdgeInsets.all(24),
child: Form(
key: _formKey,
child: ListView(
scrollDirection: Axis.vertical,
//mainAxisAlignment: MainAxisAlignment.center,
children: <Widget>[
SizedBox(height: 100),
Padding(
padding: EdgeInsets.symmetric(
vertical: 5.0,
horizontal: 15.0,
),
child: Center(
child: Text(
"CoviDefender",
style: TextStyle(
fontSize: 50.0,
fontWeight: FontWeight.w900,
),
),
)),
CircleAvatar(
radius: 180.0,
backgroundColor: Colors.white,
child: Image(
image: AssetImage("lib/assets/images/corona.gif"),
),
),
SizedBox(height: 100),
_buildHotelName(),
SizedBox(height: 10),
_buildDistrict(),
SizedBox(height: 50),
RaisedButton(
color: Colors.blueAccent,
shape: RoundedRectangleBorder(
borderRadius: BorderRadius.circular(20.0)),
onPressed: () {
// Navigator.of(context).pushReplacement(MaterialPageRoute(
// builder: (context) => finalOverallResultPage(),
// ));
},
child: Text(
"Login",
style: TextStyle(
fontSize: 30.0,
),
),
padding: EdgeInsets.symmetric(
vertical: 20.0,
horizontal: 150.0,
),
),
SizedBox(height: 50),
RaisedButton(
color: Colors.green,
shape: RoundedRectangleBorder(
borderRadius: BorderRadius.circular(20.0)),
onPressed: () {
Navigator.of(context).pushReplacement(MaterialPageRoute(
builder: (context) => mainRegisterPage(),
));
},
child: Text(
"Register",
style: TextStyle(
fontSize: 30.0,
),
),
padding: EdgeInsets.symmetric(
vertical: 20.0,
horizontal: 150.0,
),
)
],
),
),
),
);
}
}
import 'package:covidefender/STracker/HandWashing/quizpage.dart';
import 'package:covidefender/STracker/splash.dart';
import 'package:flutter/material.dart';
import 'package:flutter/services.dart';
class mainRegisterPage extends StatefulWidget {
@override
_mainRegisterPageState createState() => _mainRegisterPageState();
}
class _mainRegisterPageState extends State<mainRegisterPage> {
List<String> images = [
"lib/assets/images/startQuiz.png",
];
Widget customcard(String type, String image) {
return Padding(
padding: EdgeInsets.all(
20.0,
),
child: InkWell(
onTap: () {
Navigator.of(context).pushReplacement(MaterialPageRoute(
builder: (context) => getjson(),
));
},
child: Material(
color: Colors.indigoAccent,
elevation: 10.0,
borderRadius: BorderRadius.circular(20.0),
child: Container(
child: Column(
children: <Widget>[
Padding(
padding: EdgeInsets.symmetric(
vertical: 10.0,
),
child: Material(
elevation: 5.0,
borderRadius: BorderRadius.circular(100.0),
child: Container(
height: 100.0,
width: 100.0,
child: ClipOval(
child: Image(
fit: BoxFit.contain,
image: AssetImage(
image,
),
),
),
),
),
),
Center(
child: Text(
type,
style: TextStyle(
fontSize: 24.0,
fontWeight: FontWeight.w700,
),
),
),
],
),
),
),
),
);
}
@override
Widget build(BuildContext context) {
SystemChrome.setPreferredOrientations(
[DeviceOrientation.portraitDown, DeviceOrientation.portraitUp]);
return Scaffold(
appBar: AppBar(
title: Text("CoviDefender"),
),
body: Column(
children: <Widget>[
Expanded(
flex: 1,
child: ButtonTheme(
minWidth: 800.0,
height: 100.0,
child: RaisedButton(
color: Colors.redAccent,
onPressed: () {},
child: Text(
"Registration",
style: TextStyle(color: Colors.white, fontSize: 30),
),
),
)),
Expanded(
flex: 2,
child: Row(
mainAxisAlignment: MainAxisAlignment.center,
children: <Widget>[],
),
),
Expanded(
flex: 5,
child: Row(
mainAxisAlignment: MainAxisAlignment.center,
children: <Widget>[
RaisedButton(
color: Colors.white,
onPressed: () {},
child: ClipRRect(
child: Image(
image: AssetImage(
"lib/assets/images/register.gif",
),
),
),
padding: EdgeInsets.symmetric(
vertical: 10.0,
horizontal: 25.0,
),
)
],
),
),
Padding(
padding: EdgeInsets.symmetric(
vertical: 5.0,
horizontal: 15.0,
),
child: Center(
child: Text(
"You have to answer a quiz before register \n Press Start Quiz to navigate.",
style: TextStyle(
fontSize: 30.0,
fontWeight: FontWeight.w900,
),
),
)),
Expanded(
flex: 4,
child: Row(
mainAxisAlignment: MainAxisAlignment.center,
children: <Widget>[
RaisedButton(
color: Colors.blueAccent,
shape: RoundedRectangleBorder(
borderRadius: BorderRadius.circular(20.0)),
onPressed: () {
Navigator.of(context).pushReplacement(MaterialPageRoute(
builder: (context) => splashscreen(),
));
},
child: Text(
"Start Quiz",
style: TextStyle(
fontSize: 30.0,
),
),
padding: EdgeInsets.symmetric(
vertical: 20.0,
horizontal: 200.0,
),
)
],
),
)
],
));
}
}
......@@ -9,23 +9,40 @@ class HeartRateScreen extends StatelessWidget {
appBar: AppBar(
title: Text('Heart Rate Detector'),
),
body: Column(
children: [
Padding(
padding: const EdgeInsets.all(8.0),
child: Image.asset('lib/assets/images/pulse.gif'),
),
SizedBox(height: 20),
Column(
crossAxisAlignment: CrossAxisAlignment.start,
children: [
ElevatedButton(
onPressed: () => Navigator.push(context, MaterialPageRoute(builder: (context) => HomePage(),)),
child: Text('Measure Heart Rate'),
),
],
),
],
body: Container(
color: Colors.white,
child: Column(
children: [
Padding(
padding: const EdgeInsets.all(8.0),
child: Image.asset('lib/assets/images/pulse.gif'),
),
SizedBox(height: 20),
Column(
crossAxisAlignment: CrossAxisAlignment.start,
children: [
Padding(
padding: const EdgeInsets.fromLTRB(8,70,8,8),
child: SizedBox(
height: 70,
width: 350,
child: ElevatedButton(
style: ElevatedButton.styleFrom(
primary: Colors.red[300],
elevation: 15,
shape: RoundedRectangleBorder(
borderRadius: BorderRadius.circular(12)
)
),
onPressed: () => Navigator.push(context, MaterialPageRoute(builder: (context) => HomePage(),)),
child: Text('Measure Heart Rate'),
),
),
),
],
),
],
),
),
);
}
......
......@@ -11,23 +11,40 @@ class invoker extends StatelessWidget {
appBar: AppBar(
title: Text('Face Mask Detector'),
),
body: Column(
children: [
Padding(
padding: const EdgeInsets.all(8.0),
child: Image.asset('lib/assets/images/wear.gif'),
),
SizedBox(height: 20),
Column(
crossAxisAlignment: CrossAxisAlignment.start,
children: [
ElevatedButton(
onPressed: () => invokeCamera(),
child: Text('Detect Mask'),
),
],
),
],
body: Container(
color: Colors.white,
child: Column(
children: [
Padding(
padding: const EdgeInsets.all(8.0),
child: Image.asset('lib/assets/images/wear.gif'),
),
SizedBox(height: 20),
Column(
crossAxisAlignment: CrossAxisAlignment.start,
children: [
Padding(
padding: const EdgeInsets.fromLTRB(8,70,8,8),
child: SizedBox(
height: 70,
width: 350,
child: ElevatedButton(
style: ElevatedButton.styleFrom(
primary: Colors.blue[300],
elevation: 15,
shape: RoundedRectangleBorder(
borderRadius: BorderRadius.circular(12)
)
),
onPressed: () => invokeCamera(),
child: Text('Detect Mask'),
),
),
),
],
),
],
),
),
);
}
......
// Message model
import 'package:flutter/cupertino.dart';
@immutable
class Message{
final String title;
final String body;
const Message({
@required this.title,
@required this.body,
});
}
\ No newline at end of file
This diff is collapsed.
import 'package:covidefender/pages/notificator/model/Notification_plugin.dart';
import 'package:flutter/material.dart';
import 'NotificationUI.dart';
class LocalNotificationScreen extends StatefulWidget {
@override
_LocalNotificationScreenState createState() =>
_LocalNotificationScreenState();
}
class _LocalNotificationScreenState extends State<LocalNotificationScreen> {
//
int count = 0;
@override
void initState() {
super.initState();
notificationPlugin
.setListenerForLowerVersions(onNotificationInLowerVersions);
notificationPlugin.setOnNotificationClick(onNotificationClick);
}
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
backgroundColor: Colors.green,
title: Text('Local Notifications'),
),
body: Center(
child: FlatButton(
onPressed: () async {
await notificationPlugin.showNotification();
// await notificationPlugin.scheduleNotification();
// await notificationPlugin.showNotificationWithAttachment();
await notificationPlugin.repeatNotification();
// await notificationPlugin.showDailyAtTime();
// await notificationPlugin.showWeeklyAtDayTime();
// count = await notificationPlugin.getPendingNotificationCount();
// print('Count $count');
// await notificationPlugin.cancelNotification();
// count = await notificationPlugin.getPendingNotificationCount();
// print('Count $count');
},
child: Text('Send Notification'),
),
),
);
}
onNotificationInLowerVersions(ReceivedNotification receivedNotification) {
print('Notification Received ${receivedNotification.id}');
}
onNotificationClick(String payload) {
print('Payload $payload');
Navigator.push(context, MaterialPageRoute(builder: (coontext) {
return NotificationScreen(
payload: payload,
);
}));
}
}
import 'package:flutter/material.dart';
import 'LocalNotificationUI.dart';
import 'notificator.dart';
class MainNotificationUI extends StatefulWidget {
//
final String payload;
MainNotificationUI({this.payload});
@override
_NotificationScreenState createState() => _NotificationScreenState();
}
class _NotificationScreenState extends State<MainNotificationUI> {
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
backgroundColor: Colors.green,
title: Text('Smart Notifier'),
),
body: Center(
child: Column(
crossAxisAlignment: CrossAxisAlignment.stretch,
mainAxisAlignment: MainAxisAlignment.end,
children: [
Padding(
padding: const EdgeInsets.all(8.0),
child: Image.asset('lib/assets/images/notify.gif'),
),
SizedBox(
child: ElevatedButton(
style: ElevatedButton.styleFrom(
primary: Colors.green[300],
elevation: 15,
shape: RoundedRectangleBorder(
borderRadius: BorderRadius.circular(12)
)
),
onPressed: (){
Navigator.push(context, MaterialPageRoute(builder: (context) => LocalNotificationScreen() ));
}, child: Text("Local Notifications")),
),
Padding(
padding: const EdgeInsets.fromLTRB(8,8,8,100),
child: SizedBox(
child: ElevatedButton(
style: ElevatedButton.styleFrom(
primary: Colors.green[300],
elevation: 15,
shape: RoundedRectangleBorder(
borderRadius: BorderRadius.circular(12)
)
),
onPressed: (){
Navigator.push(context, MaterialPageRoute(builder: (context) => MessagingWidget() ));
}, child: Text("Push Notifications")),
),
)
],
),
),
);
}
}
import 'package:flutter/material.dart';
class NotificationScreen extends StatefulWidget {
//
final String payload;
NotificationScreen({this.payload});
@override
_NotificationScreenState createState() => _NotificationScreenState();
}
class _NotificationScreenState extends State<NotificationScreen> {
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
title: Text('Notifications Screen'),
),
body: Center(
child: Text(widget.payload),
),
);
}
}
import 'dart:ffi';
import 'package:covidefender/pages/notificator/model/Message.dart';
import 'package:firebase_messaging/firebase_messaging.dart';
import 'package:flutter/cupertino.dart';
import 'package:firebase_messaging/firebase_messaging.dart';
import 'package:flutter/material.dart';
class MessagingWidget extends StatefulWidget {
// const MessagingWidget({Key? key}) : super(key: key);
@override
_MessagingWidgetState createState() => _MessagingWidgetState();
}
class _MessagingWidgetState extends State<MessagingWidget> {
final FirebaseMessaging _firebaseMessaging = FirebaseMessaging();
final List<Message> messages = [];
@override
Void initState() {
super.initState();
_firebaseMessaging.configure(
onMessage: (Map<String, dynamic> message) async {
final notification = message['notification'];
setState(() {
messages.add(
Message(title: notification['title'], body: notification['body']));
});
print("OnMessage: $message");
}, onLaunch: (Map<String, dynamic> message) async {
final notification = message['notification'];
print("onLaunch: $message");
setState(() {
messages.add(
Message(title: notification['title'], body: notification['body']));
});
}, onResume: (Map<String, dynamic> message) async {
print("onResume: $message");
});
}
// @override
// Widget build(BuildContext context) => ListView(
// children: messages.map(buildMessage).toList(),
// );
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
backgroundColor: Colors.green,
title: Text("Smart - Notificator "),
),
body: Container(
margin: EdgeInsets.only(bottom: 20, left: 10, right: 10, top: 10),
decoration: BoxDecoration(
boxShadow: [
BoxShadow(
color: Colors.blue.withOpacity(0.4),
blurRadius: 8,
offset: Offset(4, 4),
spreadRadius: 5)
],
gradient: LinearGradient(
colors: [Colors.green[600], Colors.white],
begin: Alignment.centerLeft,
end: Alignment.centerRight,
),
borderRadius: BorderRadius.all(Radius.circular(20)),
),
child: ListView(
children: messages.map(buildMessage).toList(),
),
));
}
Widget buildMessage(Message message) => ListTile(
title: Text(
message.title != null ? message.title : "No messages Yet",
style: TextStyle(
color: Colors.white,
fontFamily: 'avenir',
),
),
subtitle: Text(message.body != null ? message.body:"empty"),
);
}
import 'package:covidefender/pages/self_carer/model/MessageSender.dart';
import 'package:flutter/cupertino.dart';
import 'package:flutter/material.dart';
import 'package:google_fonts/google_fonts.dart';
class SC_medicalResult extends StatelessWidget {
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
title: Text('Results'),
),
body: SingleChildScrollView(
child: Container(
color: Colors.white,
child: Column(
children: [
Center(
child: Container(
width: MediaQuery.of(context).size.width,
height: MediaQuery.of(context).size.height / 2.5,
child: Image.asset('lib/assets/images/lab.gif')),
),
SizedBox(
height: 10,
),
Padding(
padding: const EdgeInsets.all(16.0),
child: Text("Request Medical Officer Support",
style: GoogleFonts.lato(
color: Colors.green,
fontSize: 24,
fontWeight: FontWeight.bold,
letterSpacing: 2)),
),
SizedBox(
height: 10,
),
Padding(
padding: const EdgeInsets.fromLTRB(20,50,50,10),
child: Text(
"I agree To send My Details and location to Medical Officer ",
style: GoogleFonts.adamina(color: Colors.blue,fontSize: 16,fontStyle: FontStyle.italic,wordSpacing: 2),
),
),
SizedBox(
height: 60,
),
SizedBox(
height: 70,
width: 350,
child: ElevatedButton(
style: ElevatedButton.styleFrom(
primary: Colors.red[300],
elevation: 15,
shape: RoundedRectangleBorder(
borderRadius: BorderRadius.circular(12)
)
),
onPressed: () {
MessageSender m = new MessageSender();
m.SENDSMS();
},
child: Text('SEND SMS',style: GoogleFonts.lato(
fontWeight: FontWeight.bold,
fontSize: 16
),)),
)
],
),
),
),
);
}
}
import 'package:covidefender/pages/self_carer/SC_medicalSupport.dart';
import 'package:flutter/cupertino.dart';
import 'package:flutter/material.dart';
import 'package:google_fonts/google_fonts.dart';
class SC_resultScreen extends StatelessWidget {
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
title: Text('Results'),
),
body: SingleChildScrollView(
child: Container(
color: Colors.white,
child: Column(
children: [
Center(
child: Container(
width: MediaQuery.of(context).size.width,
height: MediaQuery.of(context).size.height / 2.5,
child: Image.asset('lib/assets/images/lab.gif')),
),
SizedBox(
height: 10,
),
Text("Analysis Results",
style: GoogleFonts.lato(
color: Colors.blue,
fontSize: 24,
fontWeight: FontWeight.bold,
letterSpacing: 2)),
SizedBox(
height: 10,
),
Padding(
padding: const EdgeInsets.fromLTRB(20,50,50,10),
child: Text(
"Seem's you are having Symptoms Related to Covid19.\n"
"Let's Get Medical Assistance ! \n"
"Click Below Button To Get a Health Officer",
style: GoogleFonts.adamina(color: Colors.red ,fontSize: 16,fontStyle: FontStyle.italic,wordSpacing: 2),
),
),
SizedBox(
height: 60,
),
SizedBox(
height: 70,
width: 350,
child: ElevatedButton(
style: ElevatedButton.styleFrom(
primary: Colors.red[300],
elevation: 15,
shape: RoundedRectangleBorder(
borderRadius: BorderRadius.circular(12)
)
),
onPressed: () {
Navigator.of(context).push(MaterialPageRoute(builder: (context)=>SC_medicalResult()));
},
child: Text('Medical Support',style: GoogleFonts.lato(
fontWeight: FontWeight.bold,
fontSize: 16
),)),
)
],
),
),
),
);
}
}
import 'dart:collection';
import 'package:cloud_firestore/cloud_firestore.dart';
import 'package:flutter/cupertino.dart';
import 'package:flutter_sms/flutter_sms.dart';
class MessageSender {
List<String> recipients= ["+94776957629"];
String Name;
String phoneNumber;
String Address;
String HomePhone;
//
// Map<String,String> myDetails = {
// "Name" : "Indika Nuwan",
// "Address" : "02 nd post ,Mawanella",
// "HomePhone" : "03522444555",
// "message" : "This Patient Need Imediate assistance"
// };
// MessageSender(this.recipients, this.message);
void SENDSMS () async{
print("Executing get data");
final CollectionReference userlist =
FirebaseFirestore.instance.collection("users");
userlist.get().then((datasnapshot){
print("Executing get data ...");
FirebaseFirestore.instance.collection("users").get().then((QuerySnapshot snapshot){
snapshot.docs.forEach((doc) async {
print(doc["Name"]);
print(doc["Address"]);
print(doc["Home phone"]);
print(doc["mobile"]);
Map<String,String> UserDetails = {
"Name" : doc["Name"],
"Address" : doc["Address"],
"HomePhone" : doc["Home phone"],
"message" : "This Patient Need Imediate assistance"
};
print("UserDetails : "+UserDetails.toString());
String result = await sendSMS(message: UserDetails.toString(), recipients: recipients).catchError((onError)=>print(onError));
print("result");
});
});
});
}
}
import 'dart:ui';
class Symptoms {
String symptomname;
bool value;
List<Color> gradientColors;
Symptoms(this.symptomname, this.value,{this.gradientColors});
@override
String toString() {
return 'Symptoms{symptomname: $symptomname, value: $value}';
}
}
\ No newline at end of file
import 'package:flutter/material.dart';
class CustomColors {
static Color primaryTextColor = Colors.white;
static Color dividerColor = Colors.white54;
static Color pageBackgroundColor = Color(0xFF2D2F41);
static Color menuBackgroundColor = Color(0xFF242634);
static Color clockBG = Color(0xFF444974);
static Color clockOutline = Color(0xFFEAECFF);
static Color secHandColor = Colors.orange[300];
static Color minHandStatColor = Color(0xFF748EF6);
static Color minHandEndColor = Color(0xFF77DDFF);
static Color hourHandStatColor = Color(0xFFC279FB);
static Color hourHandEndColor = Color(0xFFEA74AB);
}
class GradientColors {
final List<Color> colors;
GradientColors(this.colors);
static List<Color> sky = [Color(0xFF6448FE), Color(0xFF5FC6FF)];
static List<Color> sunset = [Color(0xFFFE6197), Color(0xFFFFB463)];
static List<Color> sea = [Color(0xFF61A3FE), Color(0xFF63FFD5)];
static List<Color> mango = [Color(0xFFFFA738), Color(0xFFFFE130)];
static List<Color> fire = [Color(0xFFFF5DCD), Color(0xFFFF8484)];
}
class GradientTemplate {
static List<GradientColors> gradientTemplate = [
GradientColors(GradientColors.sky),
GradientColors(GradientColors.sunset),
GradientColors(GradientColors.sea),
GradientColors(GradientColors.mango),
GradientColors(GradientColors.fire),
];
}
import 'dart:collection';
import 'package:covidefender/pages/self_carer/SC_result_screen.dart';
import 'package:covidefender/pages/self_carer/model/colors.dart';
import 'package:flutter/material.dart';
import 'package:quiver/collection.dart';
import 'model/Symptoms.dart';
class SC_main extends StatefulWidget {
@override
SC_mainState createState() => SC_mainState();
}
class SC_mainState extends State<SC_main> {
bool isPositiveMatch = false;
// String symptom = "i am a symptom";
// HashMap symptomMap = new HashMap<int,String>();
Map<String, bool> symptomList = HashMap();
Map<String, bool> values = {
'Fever With Chills': false,
'Cough and Sneezing': false,
'Difficulty in Breathing': false,
'Sore throat / Blush lips': false,
'Mustle Pain or Ache': false,
};
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
title: Text("Self-Carer"),
),
body: Container(
child: SingleChildScrollView(
child: Column(
children: [
Container(
width: MediaQuery.of(context).size.width,
height: MediaQuery.of(context).size.height /2.5,
child: Image.asset(
'lib/assets/images/hospital.gif',
)),
SizedBox(
height: 350,
child: new ListView(
children: values.keys.map((String key) {
return Container(
margin: EdgeInsets.only(bottom: 20,left: 10,right: 10),
decoration: BoxDecoration(
boxShadow: [
BoxShadow(
color: Colors.blue.withOpacity(0.4) ,blurRadius: 8, offset: Offset(4,4),spreadRadius: 4
)
],
gradient: LinearGradient(
colors: [Colors.blue[600], Colors.white],
begin: Alignment.centerLeft,
end: Alignment.centerRight,
),
borderRadius: BorderRadius.all(Radius.circular(24)),
),
child: SizedBox(
height: 90,
child: Padding(
padding: const EdgeInsets.all(8.0),
child: new CheckboxListTile(
title: new Text(key,style:TextStyle(
color: Colors.white,
fontFamily: 'avenir',
),),
value: values[key],
onChanged: (bool value) {
setState(() {
values[key] = value;
symptomList.clear();
values.forEach((key, value) {
print('${key}: ${value}');
if (value) {
symptomList.putIfAbsent(key, () => value);
print(
'Selected Items::' + symptomList.toString());
}
});
});
print(key);
},
),
),
),
);
}).toList(),
),
),
],
),
),
),
floatingActionButton: FloatingActionButton(
onPressed: () => {
if (symptomList.isEmpty)
{print("Please select your Symptoms")}
else
{
if(symptomList.containsKey('Fever With Chills')
&& symptomList.containsKey('Cough and Sneezing')
&& symptomList.containsKey('Difficulty in Breathing')
&& symptomList.containsKey('Sore throat / Blush lips')
&& symptomList.containsKey('Mustle Pain or Ache')){
print("Positive Match Found Immediate Treatements needed !"),
Navigator.push(context,
MaterialPageRoute(builder: (context) => SC_resultScreen()))
}
}
},
child: Icon(
// Icons.next_plan_outlined
Icons.double_arrow_rounded)),
);
}
}
This diff is collapsed.
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment