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.
fluffychat/lib/pangea/analytics_page/analytics_page.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);
}