Fix api
This commit is contained in:
@@ -58,37 +58,36 @@ class _MyHomePageState extends State<MyHomePage> with FullScreenListener {
|
||||
Future<List<Sheet>> acquireSheets() async {
|
||||
final url = await _storageHelper.readSecure(SecureStorageKey.url);
|
||||
final jwt = await _storageHelper.readSecure(SecureStorageKey.jwt);
|
||||
apiClient = ApiClient(baseUrl: "${url!}/api", token: jwt);
|
||||
apiClient = ApiClient(baseUrl: url!, token: jwt);
|
||||
// TODO: check if really logged in
|
||||
final sheets = await apiClient!.fetchSheets();
|
||||
log.info("${sheets.length} sheets fetched");
|
||||
final sheetsSorted = await sortSheetsByAccessTime(sheets);
|
||||
final sheetsSorted = await sortSheetsByRecency(sheets);
|
||||
log.info("${sheetsSorted.length} sheets sorted");
|
||||
|
||||
final changeQueue = await _storageHelper.readChangeQueue();
|
||||
changeQueue.applyToSheets(sheetsSorted);
|
||||
log.info("${changeQueue.length()} changes applied");
|
||||
// TODO: make work
|
||||
// final changeQueue = await _storageHelper.readChangeQueue();
|
||||
// changeQueue.applyToSheets(sheetsSorted);
|
||||
// log.info("${changeQueue.length()} changes applied");
|
||||
|
||||
return sheetsSorted;
|
||||
}
|
||||
|
||||
Future<List<Sheet>> sortSheetsByAccessTime(List<Sheet> sheets) async {
|
||||
Future<List<Sheet>> sortSheetsByRecency(List<Sheet> sheets) async {
|
||||
final accessTimes = await _storageHelper.readSheetAccessTimes();
|
||||
|
||||
sheets.sort((a, b) {
|
||||
final dateA = accessTimes[a.uuid];
|
||||
final dateB = accessTimes[b.uuid];
|
||||
var dateA = accessTimes[a.uuid];
|
||||
var dateB = accessTimes[b.uuid];
|
||||
|
||||
if (dateB == null) {
|
||||
// b has no date, sort below a
|
||||
return -1;
|
||||
} else if (dateA == null) {
|
||||
// a has no date, sort below b
|
||||
return 1;
|
||||
} else {
|
||||
// compare both and sort by date
|
||||
return dateB.compareTo(dateA);
|
||||
if (dateA == null || a.updatedAt.isAfter(dateA)) {
|
||||
dateA = a.updatedAt;
|
||||
}
|
||||
if (dateB == null || b.updatedAt.isAfter(dateB)) {
|
||||
dateB = b.updatedAt;
|
||||
}
|
||||
|
||||
return dateB.compareTo(dateA);
|
||||
});
|
||||
|
||||
return sheets;
|
||||
@@ -109,7 +108,7 @@ class _MyHomePageState extends State<MyHomePage> with FullScreenListener {
|
||||
if (newState) {
|
||||
(await sheets).shuffle();
|
||||
} else {
|
||||
sheets = sortSheetsByAccessTime(await sheets);
|
||||
sheets = sortSheetsByRecency(await sheets);
|
||||
}
|
||||
|
||||
setState(() {
|
||||
|
||||
Reference in New Issue
Block a user