fix: Lots of navigation improvements

This commit is contained in:
PartyDonut 2025-10-03 13:02:51 +02:00
parent c299492d6d
commit 5174bb3a6c
55 changed files with 1019 additions and 832 deletions

View file

@ -2,19 +2,22 @@ import 'package:flutter/material.dart';
class Throttler {
final Duration duration;
int? lastActionTime;
int? _lastActionTime;
Throttler({required this.duration});
bool canRun() {
final now = DateTime.now().millisecondsSinceEpoch;
if (_lastActionTime == null || now - _lastActionTime! >= duration.inMilliseconds) {
_lastActionTime = now;
return true;
}
return false;
}
void run(VoidCallback action) {
if (lastActionTime == null) {
lastActionTime = DateTime.now().millisecondsSinceEpoch;
if (canRun()) {
action();
} else {
if (DateTime.now().millisecondsSinceEpoch - lastActionTime! > (duration.inMilliseconds)) {
lastActionTime = DateTime.now().millisecondsSinceEpoch;
action();
}
}
}
}