TimeTracker/lib/pages/WorkData.dart

81 lines
2.3 KiB
Dart

import 'package:flutter/material.dart';
import 'package:flutter/widgets.dart';
import 'package:libacflutter/Constants.dart';
import 'package:timetrack/data.dart';
class WorkDataPage extends StatefulWidget {
WorkDataPage({super.key});
@override
State<StatefulWidget> createState() {
return _WorkData();
}
}
class _WorkData extends State<WorkDataPage> {
void call() {
setState(() {});
}
@override
void initState() {
SessionData.Calls.WorkDataCallback = call;
super.initState();
}
@override
void dispose() {
SessionData.Calls.WorkDataCallback = null;
super.dispose();
}
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
title: Text("Time Tracker - Work Data"),
backgroundColor: LibACFlutterConstants.TITLEBAR_COLOR,
),
body: Padding(
padding: EdgeInsets.all(8),
child: SingleChildScrollView(
child: Column(
children: [
// This is where we'll display all the work data, like total earnings, and present a editor
Text(
"Total saved GPS Positions: ${SessionData.positions.length}",
style: TextStyle(fontSize: 18),
),
Text(
"Start Date & Time: ${SessionData.StartTime.toString()}",
style: TextStyle(fontSize: 18),
),
SizedBox(height: 20),
Text(
"Total Trips: ${SessionData.Trips.length}",
style: TextStyle(fontSize: 18),
),
Text(
"Total Base Pay: \$${SessionData.GetTotalBasePay()}",
style: TextStyle(fontSize: 18),
),
Text(
"Total Tips: \$${SessionData.GetTotalTips()}",
style: TextStyle(fontSize: 18),
),
Text(
"Total Earnings: \$${SessionData.GetTotalPay()}",
style: TextStyle(fontSize: 18),
),
SizedBox(height: 20),
Text(
"Total Estimated Miles: ${SessionData.GetTotalMilesAsString()}\n(Note: The miles displayed above may not be 100% accurate)",
style: TextStyle(fontSize: 24),
),
],
),
),
),
);
}
}