Use krow_core routes; remove navigator

Replace the local navigation extension with centralized helpers from krow_core: add krow_core dependency and imports, remove src/presentation/navigation/client_auth_navigator.dart and its export, and update Module routes to use ClientPaths constants. Update page callbacks to use Modular.to.toClientSignIn/toClientSignUp/toClientHome instead of the old push/navigate extension and replace hard-coded route strings with ClientPaths. This centralizes route definitions and removes duplicated navigation logic.
This commit is contained in:
Achintha Isuru
2026-02-04 16:27:44 -05:00
parent a9fc926b4b
commit 9f48ed40d7
6 changed files with 15 additions and 40 deletions

View File

@@ -1,26 +0,0 @@
import 'package:flutter_modular/flutter_modular.dart';
/// Typed navigation for the Client Authentication feature.
///
/// This extension on [IModularNavigator] provides named methods for
/// navigating between authentication pages, reducing magic strings and
/// improving maintainability.
extension ClientAuthNavigator on IModularNavigator {
/// Navigates to the sign in page using a push named route.
void pushClientSignIn() {
pushNamed('/client-sign-in');
}
/// Navigates to the sign up page using a push named route.
void pushClientSignUp() {
pushNamed('/client-sign-up');
}
/// Navigates to the main client home dashboard.
///
/// Uses absolute path navigation to the client main shell,
/// which will display the home tab by default.
void navigateClientHome() {
navigate('/client-main/home');
}
}

View File

@@ -2,7 +2,7 @@ import 'package:flutter/material.dart';
import 'package:flutter_modular/flutter_modular.dart';
import 'package:core_localization/core_localization.dart';
import 'package:design_system/design_system.dart';
import '../navigation/client_auth_navigator.dart';
import 'package:krow_core/core.dart';
class ClientGetStartedPage extends StatelessWidget {
const ClientGetStartedPage({super.key});
@@ -96,7 +96,7 @@ class ClientGetStartedPage extends StatelessWidget {
.client_authentication
.get_started_page
.sign_in_button,
onPressed: () => Modular.to.pushClientSignIn(),
onPressed: () => Modular.to.toClientSignIn(),
fullWidth: true,
),
@@ -108,7 +108,7 @@ class ClientGetStartedPage extends StatelessWidget {
.client_authentication
.get_started_page
.create_account_button,
onPressed: () => Modular.to.pushClientSignUp(),
onPressed: () => Modular.to.toClientSignUp(),
fullWidth: true,
),
],

View File

@@ -4,14 +4,13 @@ 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 '../blocs/client_auth_bloc.dart';
import '../blocs/client_auth_event.dart';
import '../blocs/client_auth_state.dart';
import '../navigation/client_auth_navigator.dart';
import '../widgets/client_sign_in_page/client_sign_in_form.dart';
import '../widgets/common/auth_divider.dart';
import '../widgets/common/auth_social_button.dart';
/// Page for client users to sign in to their account.
///
@@ -43,7 +42,7 @@ class ClientSignInPage extends StatelessWidget {
child: BlocConsumer<ClientAuthBloc, ClientAuthState>(
listener: (BuildContext context, ClientAuthState state) {
if (state.status == ClientAuthStatus.authenticated) {
Modular.to.navigateClientHome();
Modular.to.toClientHome();
} else if (state.status == ClientAuthStatus.error) {
final String errorMessage = state.errorMessage != null
? translateErrorKey(state.errorMessage!)
@@ -107,7 +106,7 @@ class ClientSignInPage extends StatelessWidget {
),
const SizedBox(width: UiConstants.space1),
GestureDetector(
onTap: () => Modular.to.pushClientSignUp(),
onTap: () => Modular.to.toClientSignUp(),
child: Text(
i18n.sign_up_link,
style: UiTypography.body2m.textLink,

View File

@@ -4,11 +4,11 @@ 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 '../blocs/client_auth_bloc.dart';
import '../blocs/client_auth_event.dart';
import '../blocs/client_auth_state.dart';
import '../navigation/client_auth_navigator.dart';
import '../widgets/client_sign_up_page/client_sign_up_form.dart';
import '../widgets/common/auth_divider.dart';
import '../widgets/common/auth_social_button.dart';
@@ -47,7 +47,7 @@ class ClientSignUpPage extends StatelessWidget {
child: BlocConsumer<ClientAuthBloc, ClientAuthState>(
listener: (BuildContext context, ClientAuthState state) {
if (state.status == ClientAuthStatus.authenticated) {
Modular.to.navigateClientHome();
Modular.to.toClientHome();
} else if (state.status == ClientAuthStatus.error) {
final String errorMessage = state.errorMessage != null
? translateErrorKey(state.errorMessage!)
@@ -116,7 +116,7 @@ class ClientSignUpPage extends StatelessWidget {
),
const SizedBox(width: UiConstants.space1),
GestureDetector(
onTap: () => Modular.to.pushClientSignIn(),
onTap: () => Modular.to.toClientSignIn(),
child: Text(
i18n.sign_in_link,
style: UiTypography.body2m.textLink,