QOL: Chores.
Final beta before release 1.0.
This commit is contained in:
parent
ac7a5c885d
commit
8293ddeb68
10 changed files with 98 additions and 49 deletions
16
README.md
16
README.md
|
@ -24,6 +24,7 @@ The app does not store data locally, due to the way android permissions function
|
|||
|
||||
# Implementation
|
||||
|
||||
- [ ] Application Icon for mobile and web favicon
|
||||
- [x] Basic UI
|
||||
- [x] Permissions
|
||||
- [x] Automatic updates
|
||||
|
@ -32,10 +33,11 @@ The app does not store data locally, due to the way android permissions function
|
|||
- [x] Track driving hours
|
||||
- [x] Track trips
|
||||
- [x] Track stops/deliveries
|
||||
- [x] Track trip base pay
|
||||
- [x] Track each delivery's tips
|
||||
- [ ] Map marker for each stop/delivery with text saying "Trip #X/DropOff #X\nBase Pay: $$$; Tip: $$$"
|
||||
- [ ] Basic version of the app in readonly mode when deployed on a web server.
|
||||
- [ ] Backend server
|
||||
- [ ] PHP?
|
||||
- [ ] Dart based?
|
||||
- [x] ~~Track trip base pay~~
|
||||
- [x] ~~Track each delivery's tips~~
|
||||
- [x] Track total pay
|
||||
- [x] Map marker for each stop/delivery with text saying "Trip #X/DropOff #X ~~\nBase Pay: [amount]; Tip: [amount]~~
|
||||
- [x] Basic version of the app in readonly mode when deployed on a web server.
|
||||
- [x] Backend server
|
||||
- [x] PHP
|
||||
- [ ] ~~Dart based?~~
|
||||
|
|
|
@ -13,7 +13,7 @@
|
|||
|
||||
|
||||
<application
|
||||
android:label="timetrack"
|
||||
android:label="Time Tracker"
|
||||
android:name="${applicationName}"
|
||||
android:icon="@mipmap/ic_launcher">
|
||||
<activity
|
||||
|
|
|
@ -9,7 +9,7 @@ class TTConsts {
|
|||
static get SESSION_SERVER =>
|
||||
"https://api.zontreck.com/timetrack/$UPDATE_CHANNEL/timetrack.php";
|
||||
|
||||
static const VERSION = "1.0.0-beta.9";
|
||||
static const VERSION = "1.0.0-beta.10";
|
||||
|
||||
static bool UPDATE_AVAILABLE = false;
|
||||
static UpdateChannel UPDATE_CHANNEL = UpdateChannel.beta;
|
||||
|
|
|
@ -247,13 +247,15 @@ class SessionData {
|
|||
StartTime = DateTime.parse(jsMap['start'] as String);
|
||||
}
|
||||
|
||||
if (jsMap.containsKey("end"))
|
||||
if (jsMap.containsKey("end")) {
|
||||
EndTime = DateTime.parse(jsMap["end"] as String);
|
||||
}
|
||||
|
||||
if (jsMap.containsKey("totalPay"))
|
||||
if (jsMap.containsKey("totalPay")) {
|
||||
TotalPay = jsMap["totalPay"] as double;
|
||||
else
|
||||
} else {
|
||||
TotalPay = null;
|
||||
}
|
||||
|
||||
IsReadOnly = true;
|
||||
|
||||
|
|
|
@ -4,6 +4,7 @@ import 'package:libacflutter/Constants.dart';
|
|||
import 'package:libacflutter/Prompt.dart';
|
||||
import 'package:timetrack/consts.dart';
|
||||
import 'package:timetrack/data.dart';
|
||||
import 'package:url_launcher/url_launcher.dart';
|
||||
|
||||
class HomePage extends StatefulWidget {
|
||||
const HomePage({super.key});
|
||||
|
@ -91,6 +92,19 @@ class _HomePageState extends State<HomePage> {
|
|||
setState(() {});
|
||||
},
|
||||
),
|
||||
ListTile(
|
||||
title: Text("Source Code"),
|
||||
subtitle: Text("Licensed under the GPLv3"),
|
||||
leading: Icon(Icons.code_rounded),
|
||||
onTap: () async {
|
||||
final Uri url = Uri.parse(
|
||||
'https://git.zontreck.com/AriasCreations/TimeTracker',
|
||||
);
|
||||
if (!await launchUrl(url)) {
|
||||
throw Exception('Could not launch $url');
|
||||
}
|
||||
},
|
||||
),
|
||||
/*
|
||||
ListTile(
|
||||
title: Text("RESET APP SESSION"),
|
||||
|
|
|
@ -2,6 +2,7 @@ import 'package:flutter/material.dart';
|
|||
import 'package:libacflutter/Constants.dart';
|
||||
import 'package:timetrack/consts.dart';
|
||||
import 'package:timetrack/data.dart';
|
||||
import 'package:url_launcher/url_launcher.dart';
|
||||
|
||||
class WebMain extends StatefulWidget {
|
||||
const WebMain({super.key});
|
||||
|
@ -66,6 +67,35 @@ class _WebMain extends State<WebMain> {
|
|||
setState(() {});
|
||||
},
|
||||
),
|
||||
|
||||
ListTile(
|
||||
title: Text("Source Code"),
|
||||
subtitle: Text("Licensed under the GPLv3"),
|
||||
leading: Icon(Icons.code_rounded),
|
||||
onTap: () async {
|
||||
final Uri url = Uri.parse(
|
||||
'https://git.zontreck.com/AriasCreations/TimeTracker',
|
||||
);
|
||||
if (!await launchUrl(url)) {
|
||||
throw Exception('Could not launch $url');
|
||||
}
|
||||
},
|
||||
),
|
||||
ListTile(
|
||||
title: Text("Download Mobile App"),
|
||||
subtitle: Text(
|
||||
"Click to go to the download page, from there you will want the APK file.",
|
||||
),
|
||||
leading: Icon(Icons.download),
|
||||
onTap: () async {
|
||||
final Uri url = Uri.parse(
|
||||
"https://ci.zontreck.com/job/Projects/job/Dart/job/Time%20Tracker/",
|
||||
);
|
||||
if (!await launchUrl(url)) {
|
||||
throw Exception("Could not launch $url");
|
||||
}
|
||||
},
|
||||
),
|
||||
],
|
||||
),
|
||||
),
|
||||
|
|
|
@ -40,11 +40,11 @@ static void my_application_activate(GApplication* application) {
|
|||
if (use_header_bar) {
|
||||
GtkHeaderBar* header_bar = GTK_HEADER_BAR(gtk_header_bar_new());
|
||||
gtk_widget_show(GTK_WIDGET(header_bar));
|
||||
gtk_header_bar_set_title(header_bar, "timetrack");
|
||||
gtk_header_bar_set_title(header_bar, "Time Tracker");
|
||||
gtk_header_bar_set_show_close_button(header_bar, TRUE);
|
||||
gtk_window_set_titlebar(window, GTK_WIDGET(header_bar));
|
||||
} else {
|
||||
gtk_window_set_title(window, "timetrack");
|
||||
gtk_window_set_title(window, "Time Tracker");
|
||||
}
|
||||
|
||||
gtk_window_set_default_size(window, 1280, 720);
|
||||
|
|
|
@ -16,7 +16,7 @@ publish_to: "none" # Remove this line if you wish to publish to pub.dev
|
|||
# https://developer.apple.com/library/archive/documentation/General/Reference/InfoPlistKeyReference/Articles/CoreFoundationKeys.html
|
||||
# In Windows, build-name is used as the major, minor, and patch parts
|
||||
# of the product and file versions while build-number is used as the build suffix.
|
||||
version: 1.0.0-beta.9
|
||||
version: 1.0.0-beta.10
|
||||
|
||||
environment:
|
||||
sdk: ^3.7.2
|
||||
|
@ -46,6 +46,7 @@ dependencies:
|
|||
flutter_map: ^8.1.1
|
||||
latlong2: ^0.9.1
|
||||
flutter_map_tile_caching: ^10.1.1
|
||||
url_launcher: ^6.3.1
|
||||
|
||||
dev_dependencies:
|
||||
flutter_test:
|
||||
|
|
|
@ -18,7 +18,7 @@
|
|||
|
||||
<meta charset="UTF-8">
|
||||
<meta content="IE=Edge" http-equiv="X-UA-Compatible">
|
||||
<meta name="description" content="A new Flutter project.">
|
||||
<meta name="description" content="A simple, yet effective GPS, time, and mile tracker">
|
||||
|
||||
<!-- iOS meta tags & icons -->
|
||||
<meta name="mobile-web-app-capable" content="yes">
|
||||
|
|
|
@ -1,11 +1,11 @@
|
|||
{
|
||||
"name": "timetrack",
|
||||
"name": "Time Tracker",
|
||||
"short_name": "timetrack",
|
||||
"start_url": ".",
|
||||
"display": "standalone",
|
||||
"background_color": "#0175C2",
|
||||
"theme_color": "#0175C2",
|
||||
"description": "A new Flutter project.",
|
||||
"description": "A simple, yet effective GPS, time, and mile tracker",
|
||||
"orientation": "portrait-primary",
|
||||
"prefer_related_applications": false,
|
||||
"icons": [
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue