Patch for web compatibility
This commit is contained in:
parent
444d67cb28
commit
de6d767a38
6 changed files with 25 additions and 13 deletions
|
@ -9,7 +9,7 @@ class TTConsts {
|
||||||
static get SESSION_SERVER =>
|
static get SESSION_SERVER =>
|
||||||
"https://api.zontreck.com/timetrack/$UPDATE_CHANNEL/timetrack.php";
|
"https://api.zontreck.com/timetrack/$UPDATE_CHANNEL/timetrack.php";
|
||||||
|
|
||||||
static const VERSION = "1.0.0-beta.6";
|
static const VERSION = "1.0.0-beta.7";
|
||||||
|
|
||||||
static bool UPDATE_AVAILABLE = false;
|
static bool UPDATE_AVAILABLE = false;
|
||||||
static UpdateChannel UPDATE_CHANNEL = UpdateChannel.beta;
|
static UpdateChannel UPDATE_CHANNEL = UpdateChannel.beta;
|
||||||
|
|
|
@ -25,6 +25,9 @@ class SessionData {
|
||||||
static String LastSessionID = "";
|
static String LastSessionID = "";
|
||||||
static String DisplayError = "";
|
static String DisplayError = "";
|
||||||
|
|
||||||
|
/// Is true if the try-catch is tripped or if not running on Android
|
||||||
|
static bool isWeb = false;
|
||||||
|
|
||||||
/// This flag is usually set when data is loaded from a saved state. Or when accessed using the Web version of the app.
|
/// This flag is usually set when data is loaded from a saved state. Or when accessed using the Web version of the app.
|
||||||
static bool IsReadOnly = false;
|
static bool IsReadOnly = false;
|
||||||
|
|
||||||
|
|
|
@ -1,3 +1,5 @@
|
||||||
|
import 'dart:io';
|
||||||
|
|
||||||
import 'package:flutter/material.dart';
|
import 'package:flutter/material.dart';
|
||||||
import 'package:flutter_map_tile_caching/flutter_map_tile_caching.dart';
|
import 'package:flutter_map_tile_caching/flutter_map_tile_caching.dart';
|
||||||
import 'package:timetrack/consts.dart';
|
import 'package:timetrack/consts.dart';
|
||||||
|
@ -7,7 +9,12 @@ import 'package:timetrack/pages/MainApp.dart';
|
||||||
Future<void> main() async {
|
Future<void> main() async {
|
||||||
WidgetsFlutterBinding.ensureInitialized();
|
WidgetsFlutterBinding.ensureInitialized();
|
||||||
|
|
||||||
await TTConsts.checkUpdate();
|
SessionData.isWeb = true;
|
||||||
|
try {
|
||||||
|
SessionData.isWeb = !Platform.isAndroid;
|
||||||
|
} catch (E) {}
|
||||||
|
|
||||||
|
if (!SessionData.isWeb) await TTConsts.checkUpdate();
|
||||||
var sess = Uri.base.queryParameters["code"] ?? "";
|
var sess = Uri.base.queryParameters["code"] ?? "";
|
||||||
|
|
||||||
SessionData.LastSessionID = sess;
|
SessionData.LastSessionID = sess;
|
||||||
|
@ -19,9 +26,8 @@ Future<void> main() async {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
await FMTCObjectBoxBackend().initialise();
|
if (!SessionData.isWeb) await FMTCObjectBoxBackend().initialise();
|
||||||
|
if (!SessionData.isWeb) await FMTCStore('mapStore').manage.create();
|
||||||
await FMTCStore('mapStore').manage.create();
|
|
||||||
|
|
||||||
runApp(MainApp());
|
runApp(MainApp());
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,6 +1,5 @@
|
||||||
import 'dart:io';
|
|
||||||
|
|
||||||
import 'package:flutter/material.dart';
|
import 'package:flutter/material.dart';
|
||||||
|
import 'package:timetrack/data.dart';
|
||||||
import 'package:timetrack/pages/HomePage.dart';
|
import 'package:timetrack/pages/HomePage.dart';
|
||||||
import 'package:timetrack/pages/MapPage.dart';
|
import 'package:timetrack/pages/MapPage.dart';
|
||||||
import 'package:timetrack/pages/UpdateSettings.dart';
|
import 'package:timetrack/pages/UpdateSettings.dart';
|
||||||
|
@ -27,7 +26,7 @@ class MainAppState extends State<MainApp> {
|
||||||
return MaterialApp(
|
return MaterialApp(
|
||||||
title: "Time Tracker",
|
title: "Time Tracker",
|
||||||
routes: {
|
routes: {
|
||||||
"/": (ctx) => Platform.isAndroid ? HomePage() : WebMain(),
|
"/": (ctx) => !SessionData.isWeb ? HomePage() : WebMain(),
|
||||||
"/upd": (ctx) => UpdateSettingsPage(),
|
"/upd": (ctx) => UpdateSettingsPage(),
|
||||||
"/map": (ctx) => MapPage(),
|
"/map": (ctx) => MapPage(),
|
||||||
"/work": (ctx) => WorkDataPage(),
|
"/work": (ctx) => WorkDataPage(),
|
||||||
|
|
|
@ -21,9 +21,7 @@ class _MapPage extends State<MapPage> {
|
||||||
List<Marker> Markers = [];
|
List<Marker> Markers = [];
|
||||||
bool autorefresh = true;
|
bool autorefresh = true;
|
||||||
|
|
||||||
final _tileProvider = FMTCTileProvider(
|
late FMTCTileProvider _tileProvider;
|
||||||
stores: const {'mapStore': BrowseStoreStrategy.readUpdateCreate},
|
|
||||||
);
|
|
||||||
|
|
||||||
@override
|
@override
|
||||||
void initState() {
|
void initState() {
|
||||||
|
@ -40,6 +38,11 @@ class _MapPage extends State<MapPage> {
|
||||||
|
|
||||||
@override
|
@override
|
||||||
void didChangeDependencies() {
|
void didChangeDependencies() {
|
||||||
|
if (!SessionData.isWeb) {
|
||||||
|
_tileProvider = FMTCTileProvider(
|
||||||
|
stores: const {'mapStore': BrowseStoreStrategy.readUpdateCreate},
|
||||||
|
);
|
||||||
|
}
|
||||||
PointMap = [];
|
PointMap = [];
|
||||||
Markers = [];
|
Markers = [];
|
||||||
|
|
||||||
|
@ -141,7 +144,8 @@ class _MapPage extends State<MapPage> {
|
||||||
TileLayer(
|
TileLayer(
|
||||||
urlTemplate: "https://tile.openstreetmap.org/{z}/{x}/{y}.png",
|
urlTemplate: "https://tile.openstreetmap.org/{z}/{x}/{y}.png",
|
||||||
userAgentPackageName: "dev.zontreck.timetrack",
|
userAgentPackageName: "dev.zontreck.timetrack",
|
||||||
tileProvider: _tileProvider,
|
|
||||||
|
tileProvider: SessionData.isWeb ? null : _tileProvider,
|
||||||
),
|
),
|
||||||
PolylineLayer(
|
PolylineLayer(
|
||||||
polylines: [
|
polylines: [
|
||||||
|
|
|
@ -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
|
# 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
|
# 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.
|
# of the product and file versions while build-number is used as the build suffix.
|
||||||
version: 1.0.0-beta.6
|
version: 1.0.0-beta.7
|
||||||
|
|
||||||
environment:
|
environment:
|
||||||
sdk: ^3.7.2
|
sdk: ^3.7.2
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue