You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
44 lines
1.3 KiB
Dart
44 lines
1.3 KiB
Dart
import 'package:flutter/material.dart';
|
|
|
|
import 'package:fluffychat/pangea/analytics_page/analytics_page_view.dart';
|
|
import 'package:fluffychat/pangea/analytics_summary/progress_indicators_enum.dart';
|
|
import 'package:fluffychat/pangea/constructs/construct_identifier.dart';
|
|
|
|
class AnalyticsPage extends StatefulWidget {
|
|
final ProgressIndicatorEnum? selectedIndicator;
|
|
final ConstructIdentifier? constructZoom;
|
|
const AnalyticsPage({
|
|
super.key,
|
|
this.selectedIndicator,
|
|
this.constructZoom,
|
|
});
|
|
|
|
@override
|
|
AnalyticsPageState createState() => AnalyticsPageState();
|
|
}
|
|
|
|
class AnalyticsPageState extends State<AnalyticsPage> {
|
|
ProgressIndicatorEnum? selectedIndicator = ProgressIndicatorEnum.wordsUsed;
|
|
|
|
@override
|
|
void initState() {
|
|
super.initState();
|
|
selectedIndicator = widget.selectedIndicator ??
|
|
ProgressIndicatorEnum.wordsUsed; // Default to wordsUsed if not set
|
|
}
|
|
|
|
@override
|
|
void didUpdateWidget(covariant AnalyticsPage oldWidget) {
|
|
super.didUpdateWidget(oldWidget);
|
|
if (oldWidget.selectedIndicator != widget.selectedIndicator &&
|
|
widget.selectedIndicator != null) {
|
|
setState(
|
|
() => selectedIndicator = widget.selectedIndicator!,
|
|
); // Update to new value
|
|
}
|
|
}
|
|
|
|
@override
|
|
Widget build(BuildContext context) => AnalyticsPageView(controller: this);
|
|
}
|