mirror of
https://github.com/SyncrowIOT/web.git
synced 2025-07-10 15:17:31 +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 {
|
class FakeRangeOfAqiService implements RangeOfAqiService {
|
||||||
@override
|
@override
|
||||||
Future<List<RangeOfAqi>> load(GetRangeOfAqiParam param) async {
|
Future<List<RangeOfAqi>> load(GetRangeOfAqiParam param) async {
|
||||||
|
final random = DateTime.now().millisecondsSinceEpoch;
|
||||||
|
|
||||||
return List.generate(30, (index) {
|
return List.generate(30, (index) {
|
||||||
final date = DateTime(2025, 5, 1).add(Duration(days: 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 min = ((random + index * 17) % 200).toDouble();
|
||||||
final cappedAvg = avg > 301 ? 301.0 : avg;
|
final avgDelta = ((random + index * 23) % 50).toDouble() + 20;
|
||||||
final cappedMax = max > 301 ? 301.0 : max;
|
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(
|
return RangeOfAqi(
|
||||||
min: cappedMin,
|
min: min,
|
||||||
avg: cappedAvg,
|
avg: avg,
|
||||||
max: cappedMax,
|
max: max,
|
||||||
date: date,
|
date: date,
|
||||||
);
|
);
|
||||||
});
|
});
|
||||||
|
Reference in New Issue
Block a user