Heatmap

This commit is contained in:
2025-10-12 18:47:01 +08:00
parent 5327f04ec0
commit 6124dbfd79
6 changed files with 854 additions and 9 deletions

28
lib/models/heatmap.dart Normal file
View File

@@ -0,0 +1,28 @@
import 'package:freezed_annotation/freezed_annotation.dart';
part 'heatmap.freezed.dart';
part 'heatmap.g.dart';
@freezed
sealed class SnPublisherHeatmap with _$SnPublisherHeatmap {
const factory SnPublisherHeatmap({
required String unit,
@JsonKey(name: 'period_start') required DateTime periodStart,
@JsonKey(name: 'period_end') required DateTime periodEnd,
required List<SnPublisherHeatmapItem> items,
}) = _SnPublisherHeatmap;
factory SnPublisherHeatmap.fromJson(Map<String, dynamic> json) =>
_$SnPublisherHeatmapFromJson(json);
}
@freezed
sealed class SnPublisherHeatmapItem with _$SnPublisherHeatmapItem {
const factory SnPublisherHeatmapItem({
required DateTime date,
required int count,
}) = _SnPublisherHeatmapItem;
factory SnPublisherHeatmapItem.fromJson(Map<String, dynamic> json) =>
_$SnPublisherHeatmapItemFromJson(json);
}