82 lines
2.3 KiB
Dart
82 lines
2.3 KiB
Dart
import 'package:flutter/material.dart';
|
|
import 'package:flutter/widgets.dart';
|
|
import 'package:libacflutter/Constants.dart';
|
|
import 'package:timetrack/consts.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 Miles: ${SessionData.GetTotalMilesAsString()}",
|
|
style: TextStyle(fontSize: 24),
|
|
),
|
|
],
|
|
),
|
|
),
|
|
),
|
|
);
|
|
}
|
|
}
|