Commit be848ee5 authored by Boteju W.J.M.'s avatar Boteju W.J.M.

10/15

parent e4fb17ac
Pipeline #1729 canceled with stages
......@@ -7,7 +7,7 @@
FlutterApplication and put your custom class here. -->
<application
android:name="io.flutter.app.FlutterApplication"
android:label="fitnessapp"
android:label="Woofy"
android:icon="@mipmap/ic_launcher">
<activity
android:name=".MainActivity"
......
fitnessapp/assets/images/pawprint.png

66.2 KB | W: | H:

fitnessapp/assets/images/pawprint.png

63.5 KB | W: | H:

fitnessapp/assets/images/pawprint.png
fitnessapp/assets/images/pawprint.png
fitnessapp/assets/images/pawprint.png
fitnessapp/assets/images/pawprint.png
  • 2-up
  • Swipe
  • Onion skin
......@@ -7,6 +7,8 @@ import 'package:fitnessapp/commons/my_info.dart';
import 'package:fitnessapp/commons/opaque_image.dart';
import 'package:fitnessapp/commons/profile_info_big_card.dart';
import '../../loading.dart';
class ProfilePage extends StatefulWidget {
@override
_ProfilePageState createState() => _ProfilePageState();
......@@ -22,6 +24,8 @@ class _ProfilePageState extends State<ProfilePage> {
String finalDate = '';
String dogBirthday = '';
String dogBreed = '';
bool loading = true;
String status = '';
getTotalActivityMinutesPerDay(birthday, dog) {
var months = [
......@@ -119,8 +123,9 @@ class _ProfilePageState extends State<ProfilePage> {
} else if (data['status'] == 'high') {
sliderValue = 3;
}
globals.status = data['status'];
globals.sliderValue = sliderValue;
globals.currentStrength = _currentStrength;
loading = false;
});
});
}
......@@ -135,115 +140,111 @@ class _ProfilePageState extends State<ProfilePage> {
Widget build(BuildContext context) {
final screenHeight = MediaQuery.of(context).size.height;
return Scaffold(
body: Stack(
children: <Widget>[
Column(
children: <Widget>[
Expanded(
flex: 4,
child: Stack(
return loading
? Loading()
: Scaffold(
body: Stack(
children: <Widget>[
Column(
children: <Widget>[
OpaqueImage(
imageUrl: "assets/images/anne.jpeg",
Expanded(
flex: 4,
child: Stack(
children: <Widget>[
OpaqueImage(
imageUrl: globals.url,
),
SafeArea(
child: Padding(
padding: const EdgeInsets.all(16),
child: Column(
children: [
MyInfo(),
],
),
),
),
],
),
),
SafeArea(
child: Padding(
padding: const EdgeInsets.all(16),
Expanded(
flex: 5,
child: Container(
padding: const EdgeInsets.only(top: 10),
color: Colors.white,
child: Column(
children: [
// Align(
// alignment: Alignment.centerLeft,
// child: Text(
// "Woofy",
// textAlign: TextAlign.left,
// style: headingTextStyle,
// ),
// ),
MyInfo(),
Container(
padding: const EdgeInsets.fromLTRB(50, 0, 0, 0),
child: Table(
children: [
TableRow(
children: [StatusBar()],
),
],
),
),
SizedBox(
height: 20,
),
Table(
children: [
TableRow(
children: [
ProfileInfoBigCard(
firstText:
"$walkingHrs hr $walkingMins mins",
secondText: "Walking",
activity: 1,
icon: Image.asset(
"assets/icons/dogWalk.jpg",
width: 30,
),
),
ProfileInfoBigCard(
firstText:
"$runningHrs hr $runningMins mins",
activity: 2,
secondText: "Running",
icon: Image.asset(
"assets/icons/dogRun.jpg",
width: 44,
),
),
],
),
TableRow(
children: [
ProfileInfoBigCard(
firstText: "1 hr 45 mins",
secondText: "Resting",
activity: 3,
icon: Image.asset(
"assets/icons/dogRest2.jpg",
width: 30,
),
),
ProfileInfoBigCard(
firstText: "1 hr 40 mins",
activity: 4,
secondText: "Barking",
icon: Image.asset(
"assets/icons/dogBark.jpg",
width: 32,
),
),
],
),
],
),
],
),
),
),
],
),
),
Expanded(
flex: 5,
child: Container(
padding: const EdgeInsets.only(top: 10),
color: Colors.white,
child: Column(
children: [
Container(
padding: const EdgeInsets.fromLTRB(50, 0, 0, 0),
child: Table(
children: [
TableRow(
children: [StatusBar()],
),
],
),
),
SizedBox(
height: 20,
),
Table(
children: [
TableRow(
children: [
ProfileInfoBigCard(
firstText: "$walkingHrs hr $walkingMins mins",
secondText: "Walking",
activity: 1,
icon: Image.asset(
"assets/icons/dogWalk.jpg",
width: 30,
),
),
ProfileInfoBigCard(
firstText: "$runningHrs hr $runningMins mins",
activity: 2,
secondText: "Running",
icon: Image.asset(
"assets/icons/dogRun.jpg",
width: 44,
),
),
],
),
TableRow(
children: [
ProfileInfoBigCard(
firstText: "1 hr 45 mins",
secondText: "Resting",
activity: 3,
icon: Image.asset(
"assets/icons/dogRest2.jpg",
width: 30,
),
),
ProfileInfoBigCard(
firstText: "1 hr 40 mins",
activity: 4,
secondText: "Barking",
icon: Image.asset(
"assets/icons/dogBark.jpg",
width: 32,
),
),
],
),
],
),
],
),
),
),
],
),
],
),
);
],
),
);
}
}
......@@ -157,14 +157,6 @@ class _HomePageState extends State<HomePage> {
SizedBox(
width: 60,
),
// Text(
// "Summary",
// style: TextStyle(
// color: kBlackColour,
// fontSize: 40,
// fontWeight: FontWeight.bold,
// fontFamily: 'Cooper'),
// )
],
),
],
......
import 'dart:convert';
import 'package:fitnessapp/Screens/Home/home.dart';
import 'package:fitnessapp/Screens/Home/home2.dart';
import 'package:fitnessapp/Screens/Home/MainHome.dart';
import 'package:fitnessapp/Screens/WalkingPatternRecognition/service.dart';
import 'package:fitnessapp/constants.dart';
import 'package:flutter/material.dart';
......
import 'package:fitnessapp/Screens/Home/MainHome.dart';
import 'package:fitnessapp/constants.dart';
import 'package:flutter/material.dart';
import 'package:fitnessapp/Screens/WalkingPatternRecognition/annual_details_screen.dart';
import 'package:fitnessapp/Screens/WalkingPatternRecognition/monthly_details_screen.dart';
import 'package:fitnessapp/Screens/WalkingPatternRecognition/weekly_details_screen.dart';
import 'package:fitnessapp/Screens/WalkingPatternRecognition/daily_details_screen.dart';
import 'package:fitnessapp/globals.dart' as globals;
class Navigation extends StatefulWidget {
Function open;
......@@ -34,8 +36,9 @@ class _NavigationState extends State<Navigation> with TickerProviderStateMixin {
child: SingleChildScrollView(
child: Column(
children: <Widget>[
buildDetailsAppBar(context),
Padding(
padding: const EdgeInsets.only(top: 40, left: 20),
padding: const EdgeInsets.only(top: 1, left: 20),
child: SizedBox(
height: 50,
width: 300,
......@@ -79,4 +82,37 @@ class _NavigationState extends State<Navigation> with TickerProviderStateMixin {
),
);
}
AppBar buildDetailsAppBar(BuildContext context) {
return AppBar(
backgroundColor: kWhiteColour,
elevation: 0,
leading: IconButton(
icon: Icon(
Icons.arrow_back_ios,
color: kPrimaryColor,
),
onPressed: () {
Navigator.pop(context);
},
),
actions: <Widget>[
InkWell(
onTap: () {
Navigator.push(
context,
MaterialPageRoute(
builder: (context) => ProfilePage(),
));
},
child: Padding(
padding: const EdgeInsets.fromLTRB(0, 10, 2, 0),
child: CircleAvatar(
backgroundImage: new NetworkImage(globals.url),
radius: 28.0,
)),
),
],
);
}
}
import 'package:fitnessapp/constants.dart';
import 'package:fitnessapp/Screens/WalkingPatternRecognition/widgets/annual_chart.dart';
import 'package:fitnessapp/Screens/WalkingPatternRecognition/service.dart';
import 'package:fitnessapp/styleguide/text_style.dart';
import 'dart:convert';
import 'package:flutter/material.dart';
import 'package:flutter_svg/svg.dart';
......@@ -256,34 +257,8 @@ class _AnnualDetailsScreenState extends State<AnnualDetailsScreen> {
mainAxisAlignment: MainAxisAlignment.spaceBetween,
children: <Widget>[
Text(
"Tom’s $activity" "ing average is\n$highlights",
style: TextStyle(
color: kTextLightColor,
fontWeight: FontWeight.w600,
fontSize: 18,
),
),
],
);
}
AppBar buildDetailsAppBar(BuildContext context) {
return AppBar(
backgroundColor: kBackgroundColor,
elevation: 0,
leading: IconButton(
icon: Icon(
Icons.arrow_back_ios,
color: kPrimaryColor,
),
onPressed: () {
Navigator.pop(context);
},
),
actions: <Widget>[
IconButton(
icon: SvgPicture.asset("assets/icons/search.svg"),
onPressed: () {},
"Tom’s $activity average is $highlights",
style: subTitleStyle,
),
],
);
......
......@@ -2,9 +2,9 @@ import 'package:fitnessapp/constants.dart';
import 'package:fitnessapp/Screens/WalkingPatternRecognition/widgets/daily_chart.dart';
import 'package:fitnessapp/Screens/WalkingPatternRecognition/service.dart';
import 'package:fitnessapp/loading.dart';
import 'package:fitnessapp/styleguide/text_style.dart';
import 'package:flutter/material.dart';
import 'dart:convert';
import 'package:fitnessapp/globals.dart' as globals;
class DailyDetailsScreen extends StatefulWidget {
@override
......@@ -266,11 +266,7 @@ class _DailyDetailsScreenState extends State<DailyDetailsScreen> {
children: <Widget>[
Text(
"Tom’s $activity $highlights",
style: TextStyle(
color: kTextLightColor,
fontWeight: FontWeight.w600,
fontSize: 18,
),
style: subTitleStyle,
),
],
);
......
import 'package:fitnessapp/constants.dart';
import 'package:fitnessapp/Screens/WalkingPatternRecognition/widgets/monthly_chart.dart';
import 'package:fitnessapp/styleguide/text_style.dart';
import 'package:flutter/material.dart';
import 'package:flutter_svg/svg.dart';
import 'package:fitnessapp/Screens/WalkingPatternRecognition/service.dart';
......@@ -258,36 +259,10 @@ class _MonthlyDetailsScreenState extends State<MonthlyDetailsScreen> {
mainAxisAlignment: MainAxisAlignment.spaceBetween,
children: <Widget>[
Text(
"Tom’s $activity" "ing average is\n$highlights",
style: TextStyle(
color: kTextLightColor,
fontWeight: FontWeight.w600,
fontSize: 18,
),
"Tom’s $activity average is $highlights",
style: subTitleStyle,
),
],
);
}
// AppBar buildDetailsAppBar(BuildContext context) {
// return AppBar(
// backgroundColor: kBackgroundColor,
// elevation: 0,
// leading: IconButton(
// icon: Icon(
// Icons.arrow_back_ios,
// color: kPrimaryColor,
// ),
// onPressed: () {
// Navigator.pop(context);
// },
// ),
// actions: <Widget>[
// IconButton(
// icon: SvgPicture.asset("assets/icons/search.svg"),
// onPressed: () {},
// ),
// ],
// );
// }
}
import 'package:fitnessapp/constants.dart';
import 'package:fitnessapp/Screens/WalkingPatternRecognition/widgets/weekly_chart.dart';
import 'package:fitnessapp/Screens/WalkingPatternRecognition/service.dart';
import 'package:fitnessapp/styleguide/colors.dart';
import 'package:fitnessapp/styleguide/text_style.dart';
import 'package:flutter/material.dart';
import 'package:flutter_svg/svg.dart';
import 'dart:convert';
import 'package:jiffy/jiffy.dart';
import 'package:intl/intl.dart';
......@@ -288,36 +289,7 @@ class _WeeklyDetailsScreenState extends State<WeeklyDetailsScreen> {
return Row(
mainAxisAlignment: MainAxisAlignment.spaceBetween,
children: <Widget>[
Text(
"Tom’s $activity" "ing average is\n$highlights",
style: TextStyle(
color: kTextLightColor,
fontWeight: FontWeight.w600,
fontSize: 18,
),
),
],
);
}
AppBar buildDetailsAppBar(BuildContext context) {
return AppBar(
backgroundColor: kBackgroundColor,
elevation: 0,
leading: IconButton(
icon: Icon(
Icons.arrow_back_ios,
color: kPrimaryColor,
),
onPressed: () {
Navigator.pop(context);
},
),
actions: <Widget>[
IconButton(
icon: SvgPicture.asset("assets/icons/search.svg"),
onPressed: () {},
),
Text("Tom’s $activity average is $highlights", style: subTitleStyle),
],
);
}
......
import 'package:fitnessapp/constants.dart';
import 'package:fitnessapp/styleguide/text_style.dart';
import 'package:fl_chart/fl_chart.dart';
import 'package:flutter/material.dart';
import 'package:fitnessapp/Screens/WalkingPatternRecognition/service.dart';
......@@ -13,7 +14,7 @@ class AnnualChart extends StatefulWidget {
class _AnnualChartState extends State<AnnualChart> {
bool loading = true;
static dynamic data = [];
List<int> timePeriodArray = new List(12);
List<double> timePeriodArray = new List(12);
getCurrentYear() {
var date = new DateTime.now().toString();
......@@ -39,55 +40,10 @@ class _AnnualChartState extends State<AnnualChart> {
SearchService.getMonthlyDetailsInYear(currentYear).then((responseBody) {
dynamic jsondata = jsonDecode(responseBody);
print(jsondata);
setState(() {
data = jsondata[0]['data'];
data = jsondata[0]['minutes'];
for (var i = 0; i < data.length; i++) {
int time = data[i]['timePeriod'];
String date = data[i]['date'];
DateTime myDatetime = DateTime.parse(date);
var month = year[myDatetime.month - 1];
if (data[i]['timePeriod'] == null) {
time = 0;
}
switch (month) {
case 'JAN':
timePeriodArray[0] = time;
break;
case 'FEB':
timePeriodArray[1] = time;
break;
case 'MAR':
timePeriodArray[2] = time;
break;
case 'APR':
timePeriodArray[3] = time;
break;
case 'MAY':
timePeriodArray[4] = time;
break;
case 'JUN':
timePeriodArray[5] = time;
break;
case 'JUL':
timePeriodArray[6] = time;
break;
case 'AUG':
timePeriodArray[7] = time;
break;
case 'SEP':
timePeriodArray[8] = time;
break;
case 'OCT':
timePeriodArray[9] = time;
break;
case 'NOV':
timePeriodArray[10] = time;
break;
case 'DEC':
timePeriodArray[11] = time;
break;
}
timePeriodArray[i] = data[i].toDouble();
}
loading = false;
});
......@@ -115,11 +71,7 @@ class _AnnualChartState extends State<AnnualChart> {
bottomTitles: SideTitles(
showTitles: true,
getTitles: getMonths,
textStyle: TextStyle(
color: kTextLightColor,
fontSize: 10,
fontWeight: FontWeight.bold,
),
textStyle: graphStyle,
),
),
),
......@@ -128,16 +80,7 @@ class _AnnualChartState extends State<AnnualChart> {
}
}
getBarGroups(List<int> list) {
for (var i = 0; i < list.length; i++) {
if (list[i] == null) {
list[i] = 0;
}
}
// List<double> barChartDatas = list.map((s) => s.toDouble()).toList();
List<double> barChartDatas = [0, 0, 0, 0, 0, 0, 0, 2, 30];
getBarGroups(List<double> barChartDatas) {
List<BarChartGroupData> barChartGroups = [];
barChartDatas.asMap().forEach(
(i, value) => barChartGroups.add(
......
import 'package:fitnessapp/constants.dart';
import 'package:fitnessapp/styleguide/text_style.dart';
import 'package:fl_chart/fl_chart.dart';
import 'package:flutter/cupertino.dart';
import 'package:flutter/material.dart';
......@@ -60,11 +61,7 @@ class _MonthlyChartState extends State<MonthlyChart> {
bottomTitles: SideTitles(
showTitles: true,
getTitles: getWeeks,
textStyle: TextStyle(
color: kTextLightColor,
fontSize: 15,
fontWeight: FontWeight.bold,
),
textStyle: graphStyle,
),
),
),
......
import 'package:fitnessapp/constants.dart';
import 'package:fitnessapp/styleguide/text_style.dart';
import 'package:fl_chart/fl_chart.dart';
import 'package:flutter/material.dart';
import 'package:fitnessapp/Screens/WalkingPatternRecognition/service.dart';
......@@ -90,11 +91,7 @@ class _WeeklyChartState extends State<WeeklyChart> {
bottomTitles: SideTitles(
showTitles: true,
getTitles: getWeek,
textStyle: TextStyle(
color: kTextLightColor,
fontSize: 12,
fontWeight: FontWeight.bold,
),
textStyle: graphStyle,
),
),
),
......
......@@ -4,7 +4,17 @@ import 'package:flutter/material.dart';
import 'package:flutter/widgets.dart';
import 'package:fitnessapp/globals.dart' as globals;
class MyInfo extends StatelessWidget {
class MyInfo extends StatefulWidget {
@override
_MyInfoState createState() => _MyInfoState();
}
class _MyInfoState extends State<MyInfo> {
@override
void initState() {
super.initState();
}
@override
Widget build(BuildContext context) {
return Expanded(
......@@ -13,11 +23,11 @@ class MyInfo extends StatelessWidget {
children: [
RadialProgress(
width: 4,
goalCompleted: 0.9,
goalCompleted: 0.5,
child: CircleAvatar(
backgroundColor: Colors.black87,
backgroundImage: new NetworkImage(globals.url),
radius: 35.0,
radius: 45.0,
)),
SizedBox(
height: 10,
......
......@@ -10,7 +10,7 @@ class OpaqueImage extends StatelessWidget {
Widget build(BuildContext context) {
return Stack(
children: <Widget>[
Image.asset(
Image.network(
imageUrl,
width: double.maxFinite,
height: double.maxFinite,
......
import 'package:fitnessapp/commons/two_line_item.dart';
import 'package:fitnessapp/styleguide/colors.dart';
import 'package:flutter/material.dart';
import 'package:fitnessapp/globals.dart' as globals;
......@@ -15,26 +13,12 @@ class StatusBar extends StatefulWidget {
}
class _StatusBarState extends State<StatusBar> {
int sliderValue = 1;
int _currentStrength;
@override
Widget build(BuildContext context) {
return Expanded(
child: Column(
return Column(
children: [
Row(
children: [
// Text(
// "Activity Level",
// style: TextStyle(
// color: kPrimaryColor,
// fontWeight: FontWeight.w600,
// fontSize: 25,
// ),
// )
],
),
SizedBox(
height: 1,
),
......@@ -46,7 +30,7 @@ class _StatusBarState extends State<StatusBar> {
Slider(
value: (globals.sliderValue).toDouble(),
activeColor: kBlackColour,
label: ('Medium'),
label: globals.status,
inactiveColor: kBlackColour,
min: 1,
max: 3,
......@@ -106,6 +90,6 @@ class _StatusBarState extends State<StatusBar> {
],
)
],
));
);
}
}
......@@ -15,4 +15,5 @@ String dogGender = "";
String birthday = "";
int age;
int sliderValue;
int currentStrength;
double dogStatus;
String status;
......@@ -18,9 +18,6 @@ class MyApp extends StatelessWidget {
scaffoldBackgroundColor: Colors.white,
),
debugShowCheckedModeBanner: false,
// home: WalkingHomePage(),
//home: MonthlyDetailsScreen(),
//initialRoute: '/',
home: WelcomeScreen(),
routes: {
'/Home': (context) => HomePage(),
......
......@@ -23,10 +23,15 @@ final TextStyle titleStyle = TextStyle(
fontWeight: FontWeight.w600,
);
final TextStyle subTitleStyle = TextStyle(
fontSize: 18.0,
color: secondaryTextColor,
fontSize: 15.0,
color: primaryTextColor,
fontWeight: FontWeight.w200,
);
final TextStyle graphStyle = TextStyle(
fontSize: 13.0,
color: primaryTextColor,
fontWeight: FontWeight.w900,
);
final TextStyle actionMenuStyle = TextStyle(
fontSize: 16.0,
color: primaryColor,
......
......@@ -188,6 +188,13 @@ packages:
url: "https://pub.dartlang.org"
source: hosted
version: "3.2.2"
flutter_launcher_icons:
dependency: "direct main"
description:
name: flutter_launcher_icons
url: "https://pub.dartlang.org"
source: hosted
version: "0.8.1"
flutter_plugin_android_lifecycle:
dependency: transitive
description:
......@@ -630,6 +637,13 @@ packages:
url: "https://pub.dartlang.org"
source: hosted
version: "4.2.0"
yaml:
dependency: transitive
description:
name: yaml
url: "https://pub.dartlang.org"
source: hosted
version: "2.2.1"
sdks:
dart: ">=2.9.0-14.0.dev <3.0.0"
flutter: ">=1.20.0 <2.0.0"
......@@ -37,16 +37,16 @@ dependencies:
quiver: ^2.1.3
flutter_spinkit: ^4.1.2
google_fonts: ^1.1.0
flutter_launcher_icons: ^0.8.1
dev_dependencies:
flutter_test:
sdk: flutter
flutter_icons:
android: true
image_path: "assets/images/pawprint.png"
# For information on the generic Dart part of this file, see the
# following page: https://dart.dev/tools/pub/pubspec
# The following section is specific to Flutter.
flutter:
assets:
- assets/images/
......
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