mirror of
https://github.com/SyncrowIOT/web.git
synced 2025-07-10 07:07:19 +00:00
made range of aqi fake data random and not linear.
This commit is contained in:
@ -5,20 +5,22 @@ import 'package:syncrow_web/pages/analytics/services/range_of_aqi/range_of_aqi_s
|
||||
class FakeRangeOfAqiService implements RangeOfAqiService {
|
||||
@override
|
||||
Future<List<RangeOfAqi>> load(GetRangeOfAqiParam param) async {
|
||||
final random = DateTime.now().millisecondsSinceEpoch;
|
||||
|
||||
return List.generate(30, (index) {
|
||||
final date = DateTime(2025, 5, 1).add(Duration(days: index));
|
||||
final min = (index * 8).toDouble();
|
||||
final avg = min + 40;
|
||||
final max = avg + 40;
|
||||
|
||||
final cappedMin = min > 301 ? 301.0 : min;
|
||||
final cappedAvg = avg > 301 ? 301.0 : avg;
|
||||
final cappedMax = max > 301 ? 301.0 : max;
|
||||
final min = ((random + index * 17) % 200).toDouble();
|
||||
final avgDelta = ((random + index * 23) % 50).toDouble() + 20;
|
||||
final maxDelta = ((random + index * 31) % 50).toDouble() + 30;
|
||||
|
||||
final avg = (min + avgDelta).clamp(0.0, 301.0);
|
||||
final max = (avg + maxDelta).clamp(0.0, 301.0);
|
||||
|
||||
return RangeOfAqi(
|
||||
min: cappedMin,
|
||||
avg: cappedAvg,
|
||||
max: cappedMax,
|
||||
min: min,
|
||||
avg: avg,
|
||||
max: max,
|
||||
date: date,
|
||||
);
|
||||
});
|
||||
|
Reference in New Issue
Block a user