feat: address missing features and bugs identified during Milestone 3 demo; improve localization, error handling, and navigation

This commit is contained in:
Achintha Isuru
2026-02-04 16:45:16 -05:00
parent 9f48ed40d7
commit c05261ddd7
28 changed files with 55 additions and 138 deletions

View File

@@ -1,15 +0,0 @@
import 'package:flutter_modular/flutter_modular.dart';
/// Extension on [IModularNavigator] to provide strongly-typed navigation
/// for the client settings feature.
extension ClientSettingsNavigator on IModularNavigator {
/// Navigates to the client settings page.
void pushClientSettings() {
pushNamed('/client/settings/');
}
/// Navigates to the hubs page.
void pushHubs() {
pushNamed('/client-hubs/');
}
}

View File

@@ -1,9 +1,9 @@
import 'package:client_settings/src/presentation/navigation/client_settings_navigator.dart';
import 'package:core_localization/core_localization.dart';
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_settings_bloc.dart';
/// A widget that displays the primary actions for the settings page.
@@ -30,7 +30,7 @@ class SettingsActions extends StatelessWidget {
// Hubs button
UiButton.primary(
text: labels.hubs,
onPressed: () => Modular.to.pushHubs(),
onPressed: () => Modular.to.toClientHubs(),
),
const SizedBox(height: UiConstants.space4),

View File

@@ -2,6 +2,7 @@ import 'package:core_localization/core_localization.dart';
import 'package:design_system/design_system.dart';
import 'package:flutter/material.dart';
import 'package:flutter_modular/flutter_modular.dart';
import 'package:krow_core/core.dart';
import 'package:krow_data_connect/krow_data_connect.dart' as dc;
/// A widget that displays the profile header with avatar and company info.
@@ -30,7 +31,7 @@ class SettingsProfileHeader extends StatelessWidget {
shape: const Border(bottom: BorderSide(color: UiColors.border, width: 1)),
leading: IconButton(
icon: const Icon(UiIcons.chevronLeft, color: UiColors.textSecondary),
onPressed: () => Modular.to.navigate('/client-main/home/'),
onPressed: () => Modular.to.toClientHome(),
),
flexibleSpace: FlexibleSpaceBar(
background: Container(

View File

@@ -2,7 +2,7 @@ import 'package:core_localization/core_localization.dart';
import 'package:design_system/design_system.dart';
import 'package:flutter/material.dart';
import 'package:flutter_modular/flutter_modular.dart';
import '../../navigation/client_settings_navigator.dart';
import 'package:krow_core/core.dart';
/// A widget that displays a list of quick links in a card.
class SettingsQuickLinks extends StatelessWidget {
@@ -37,7 +37,7 @@ class SettingsQuickLinks extends StatelessWidget {
_QuickLinkItem(
icon: UiIcons.nfc,
title: labels.clock_in_hubs,
onTap: () => Modular.to.pushHubs(),
onTap: () => Modular.to.toClientHubs(),
),
_QuickLinkItem(