feat: Implement client settings and profile management feature with sign-out functionality.

This commit is contained in:
Achintha Isuru
2026-01-21 19:37:34 -05:00
parent 7d5a40b7e3
commit eace8a66af
21 changed files with 536 additions and 15 deletions

View File

@@ -1,10 +1,15 @@
import 'package:flutter_modular/flutter_modular.dart';
/// Navigation extension for the Client Home feature.
/// Extension on [IModularNavigator] to provide strongly-typed navigation
/// for the client home feature.
extension ClientHomeNavigator on IModularNavigator {
/// Navigates to the Client Home page.
void navigateClientHome() => navigate('/client-home/');
/// Navigates to the client home page.
void pushClientHome() {
pushNamed('/client/home/');
}
/// Pushes the Client Home page.
Future<void> pushClientHome() => pushNamed('/client-home/');
/// Navigates to the settings page.
void pushSettings() {
pushNamed('/client-settings/');
}
}

View File

@@ -7,6 +7,7 @@ import 'package:flutter_modular/flutter_modular.dart';
import '../blocs/client_home_bloc.dart';
import '../blocs/client_home_event.dart';
import '../blocs/client_home_state.dart';
import '../navigation/client_home_navigator.dart';
import '../widgets/actions_widget.dart';
import '../widgets/coverage_widget.dart';
import '../widgets/live_activity_widget.dart';
@@ -176,7 +177,10 @@ class ClientHomePage extends StatelessWidget {
onTap: () {},
),
const SizedBox(width: UiConstants.space2),
_HeaderIconButton(icon: UiIcons.settings, onTap: () {}),
_HeaderIconButton(
icon: UiIcons.settings,
onTap: () => Modular.to.pushSettings(),
),
],
),
],