TL matches list bugfix
This commit is contained in:
parent
97f5e95da3
commit
08ccf7f159
|
@ -228,7 +228,8 @@ class TetrioService extends DB {
|
|||
saveReplayStats(data); // saving to DB for later
|
||||
return data;
|
||||
}
|
||||
/// Gets and returns Top TR as a double for a player with given [id]. May return null if player top tr is unknown
|
||||
|
||||
/// Gets and returns Top TR for a player with given [id]. May return null if player top tr is unknown
|
||||
/// or api is unavaliable (404). May throw an exception, if something else happens.
|
||||
Future<double?> fetchTopTR(String id) async {
|
||||
try{ // read from cache
|
||||
|
@ -287,7 +288,7 @@ class TetrioService extends DB {
|
|||
// so i'm going to document only unique differences between them
|
||||
|
||||
/// Retrieves Tetra League history from p1nkl0bst3r api for a player with given [id]. Returns a list of states
|
||||
/// (state = instance of player stats at some point of time). Can throw an exception if fails to retrieve data.
|
||||
/// (state = instance of [TetrioPlayer] at some point of time). Can throw an exception if fails to retrieve data.
|
||||
Future<List<TetrioPlayer>> fetchAndsaveTLHistory(String id) async {
|
||||
Uri url;
|
||||
if (kIsWeb) {
|
||||
|
@ -835,7 +836,6 @@ class TetrioService extends DB {
|
|||
}
|
||||
}
|
||||
|
||||
|
||||
/// Retrieves general stats of [user] (nickname or id) from Tetra Channel api. Returns [TetrioPlayer] object of this user.
|
||||
/// If [isItDiscordID] is true, function expects [user] to be a discord user id. Throws an exception if fails to retrieve.
|
||||
Future<TetrioPlayer> fetchPlayer(String user, {bool isItDiscordID = false}) async {
|
||||
|
|
|
@ -173,10 +173,13 @@ class _MainState extends State<MainView> with TickerProviderStateMixin {
|
|||
TetraLeagueAlpha? compareWith;
|
||||
Set<TetraLeagueAlpha> uniqueTL = {};
|
||||
tlMatches = tlStream.records;
|
||||
var storedRecords = await teto.getTLMatchesbyPlayerID(me.userId); // get old matches
|
||||
if (isTracking){ // if tracked - save data to local DB
|
||||
await teto.storeState(me);
|
||||
await teto.saveTLMatchesFromStream(tlStream);
|
||||
var storedRecords = await teto.getTLMatchesbyPlayerID(me.userId); // get old matches
|
||||
}
|
||||
|
||||
// building list of TL matches
|
||||
for (var match in storedRecords) {
|
||||
// add stored match to list only if it missing from retrived ones
|
||||
if (!tlMatches.contains(match)) tlMatches.add(match);
|
||||
|
@ -186,8 +189,7 @@ class _MainState extends State<MainView> with TickerProviderStateMixin {
|
|||
if(a.timestamp.isAtSameMomentAs(b.timestamp)) return 0;
|
||||
if(a.timestamp.isAfter(b.timestamp)) return -1;
|
||||
return 0;
|
||||
});
|
||||
}
|
||||
});
|
||||
|
||||
// Handling history
|
||||
if(fetchHistory) await teto.fetchAndsaveTLHistory(_searchFor); // Retrieve if needed
|
||||
|
|
|
@ -1,4 +1,3 @@
|
|||
import 'package:flutter/foundation.dart';
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:flutter/services.dart';
|
||||
import 'package:syncfusion_flutter_gauges/gauges.dart';
|
||||
|
|
Loading…
Reference in New Issue