refactor: Replace Navigator.pop with Modular.to.popSafe for consistent navigation handling

This commit is contained in:
Achintha Isuru
2026-03-04 13:08:39 -05:00
parent b20039ae84
commit 867ff8d61c
9 changed files with 23 additions and 16 deletions

View File

@@ -7,6 +7,7 @@ import 'package:flutter/material.dart';
import 'package:flutter_bloc/flutter_bloc.dart';
import 'package:flutter_modular/flutter_modular.dart';
import 'package:intl/intl.dart';
import 'package:krow_core/core.dart';
import 'package:krow_domain/krow_domain.dart';
class CoverageReportPage extends StatefulWidget {
@@ -62,7 +63,7 @@ class _CoverageReportPageState extends State<CoverageReportPage> {
Row(
children: <Widget>[
GestureDetector(
onTap: () => Navigator.of(context).pop(),
onTap: () => Modular.to.popSafe(),
child: Container(
width: 40,
height: 40,

View File

@@ -7,6 +7,7 @@ import 'package:flutter/material.dart';
import 'package:flutter_bloc/flutter_bloc.dart';
import 'package:flutter_modular/flutter_modular.dart';
import 'package:intl/intl.dart';
import 'package:krow_core/core.dart';
import 'package:krow_domain/krow_domain.dart';
class DailyOpsReportPage extends StatefulWidget {
@@ -92,7 +93,7 @@ class _DailyOpsReportPageState extends State<DailyOpsReportPage> {
Row(
children: <Widget>[
GestureDetector(
onTap: () => Navigator.of(context).pop(),
onTap: () => Modular.to.popSafe(),
child: Container(
width: 40,
height: 40,
@@ -434,7 +435,7 @@ class _OpsStatCard extends StatelessWidget {
),
),
UiChip(label: subValue),
//UiChip(label: subValue),
// Colored pill badge (matches prototype)
Container(
padding: const EdgeInsets.symmetric(
@@ -443,12 +444,12 @@ class _OpsStatCard extends StatelessWidget {
),
decoration: BoxDecoration(
color: color.withOpacity(0.12),
borderRadius: BorderRadius.circular(20),
borderRadius: BorderRadius.circular(4),
),
child: Text(
subValue,
style: TextStyle(
fontSize: 10,
fontSize: 12,
fontWeight: FontWeight.bold,
color: color,
),

View File

@@ -2,6 +2,7 @@
import 'package:client_reports/src/presentation/blocs/forecast/forecast_bloc.dart';
import 'package:client_reports/src/presentation/blocs/forecast/forecast_event.dart';
import 'package:client_reports/src/presentation/blocs/forecast/forecast_state.dart';
import 'package:krow_core/core.dart';
import 'package:krow_domain/krow_domain.dart';
import 'package:core_localization/core_localization.dart';
import 'package:design_system/design_system.dart';
@@ -85,7 +86,7 @@ class _ForecastReportPageState extends State<ForecastReportPage> {
(ForecastWeek week) => _WeeklyBreakdownItem(week: week),
),
const SizedBox(height: 40),
const SizedBox(height: UiConstants.space24),
],
),
),
@@ -123,7 +124,7 @@ class _ForecastReportPageState extends State<ForecastReportPage> {
Row(
children: <Widget>[
GestureDetector(
onTap: () => Navigator.of(context).pop(),
onTap: () => Modular.to.popSafe(),
child: Container(
width: 40,
height: 40,
@@ -183,6 +184,7 @@ class _ForecastReportPageState extends State<ForecastReportPage> {
final TranslationsClientReportsForecastReportEn t = context.t.client_reports.forecast_report;
return GridView.count(
crossAxisCount: 2,
padding: EdgeInsets.zero,
shrinkWrap: true,
physics: const NeverScrollableScrollPhysics(),
mainAxisSpacing: 12,

View File

@@ -1,4 +1,5 @@
// ignore_for_file: always_specify_types, depend_on_referenced_packages, dead_code, dead_null_aware_expression, unused_local_variable, unused_import, sort_constructors_first, prefer_final_fields, prefer_const_constructors, deprecated_member_use, implicit_call_tearoffs
import 'package:krow_core/core.dart';
import 'package:krow_domain/krow_domain.dart';
import 'package:client_reports/src/presentation/blocs/no_show/no_show_bloc.dart';
import 'package:client_reports/src/presentation/blocs/no_show/no_show_event.dart';
@@ -66,7 +67,7 @@ class _NoShowReportPageState extends State<NoShowReportPage> {
Row(
children: <Widget>[
GestureDetector(
onTap: () => Navigator.of(context).pop(),
onTap: () => Modular.to.popSafe(),
child: Container(
width: 40,
height: 40,

View File

@@ -6,6 +6,7 @@ import 'package:design_system/design_system.dart';
import 'package:flutter/material.dart';
import 'package:flutter_bloc/flutter_bloc.dart';
import 'package:flutter_modular/flutter_modular.dart';
import 'package:krow_core/core.dart';
import 'package:krow_domain/krow_domain.dart';
class PerformanceReportPage extends StatefulWidget {
@@ -141,7 +142,7 @@ class _PerformanceReportPageState extends State<PerformanceReportPage> {
Row(
children: <Widget>[
GestureDetector(
onTap: () => Navigator.of(context).pop(),
onTap: () => Modular.to.popSafe(),
child: Container(
width: 40,
height: 40,

View File

@@ -8,6 +8,7 @@ import 'package:flutter/material.dart';
import 'package:flutter_bloc/flutter_bloc.dart';
import 'package:flutter_modular/flutter_modular.dart';
import 'package:intl/intl.dart';
import 'package:krow_core/core.dart';
import 'package:krow_domain/krow_domain.dart';
class SpendReportPage extends StatefulWidget {
@@ -34,7 +35,7 @@ class _SpendReportPageState extends State<SpendReportPage> {
@override
Widget build(BuildContext context) {
return BlocProvider(
return BlocProvider<SpendBloc>(
create: (BuildContext context) => Modular.get<SpendBloc>()
..add(LoadSpendReport(startDate: _startDate, endDate: _endDate)),
child: Scaffold(
@@ -70,7 +71,7 @@ class _SpendReportPageState extends State<SpendReportPage> {
Row(
children: <Widget>[
GestureDetector(
onTap: () => Navigator.of(context).pop(),
onTap: () => Modular.to.popSafe(),
child: Container(
width: 40,
height: 40,