feat: Implement privacy and security feature in staff profile, including navigation and module setup

This commit is contained in:
Achintha Isuru
2026-02-18 13:56:44 -05:00
parent 96849baf46
commit e05fe01a2d
8 changed files with 48 additions and 28 deletions

View File

@@ -1,9 +0,0 @@
import 'package:flutter_modular/flutter_modular.dart';
/// Extension on IModularNavigator for privacy security navigation
extension PrivacySecurityNavigator on IModularNavigator {
/// Navigate to privacy security page
Future<dynamic> toPrivacySecurityPage() {
return pushNamed('/privacy-security');
}
}

View File

@@ -1,5 +0,0 @@
/// Navigation route paths for privacy security feature
class PrivacySecurityPaths {
/// Route to privacy security main page
static const String privacySecurity = '/privacy-security';
}

View File

@@ -1,14 +1,16 @@
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';
import 'src/data/repositories_impl/privacy_settings_repository_impl.dart';
import 'src/domain/repositories/privacy_settings_repository_interface.dart';
import 'src/domain/usecases/get_privacy_policy_usecase.dart';
import 'src/domain/usecases/get_privacy_settings_usecase.dart';
import 'src/domain/usecases/get_terms_usecase.dart';
import 'src/domain/usecases/update_location_sharing_usecase.dart';
import 'src/presentation/blocs/privacy_security_bloc.dart';
import 'src/presentation/pages/privacy_security_page.dart';
import 'data/repositories_impl/privacy_settings_repository_impl.dart';
import 'domain/repositories/privacy_settings_repository_interface.dart';
import 'domain/usecases/get_privacy_policy_usecase.dart';
import 'domain/usecases/get_privacy_settings_usecase.dart';
import 'domain/usecases/get_terms_usecase.dart';
import 'domain/usecases/update_location_sharing_usecase.dart';
import 'presentation/blocs/privacy_security_bloc.dart';
import 'presentation/pages/privacy_security_page.dart';
/// Module for privacy security feature
///
@@ -17,7 +19,7 @@ import 'src/presentation/pages/privacy_security_page.dart';
/// - Route definitions delegated to core routing
class PrivacySecurityModule extends Module {
@override
void binds(i) {
void binds(Injector i) {
// Repository
i.addSingleton<PrivacySettingsRepositoryInterface>(
() => PrivacySettingsRepositoryImpl(
@@ -59,12 +61,14 @@ class PrivacySecurityModule extends Module {
}
@override
@override
void routes(r) {
void routes(RouteManager r) {
// Route is handled by core routing (StaffPaths.privacySecurity)
r.child(
'/',
child: (context) => const PrivacySecurityPage(),
StaffPaths.childRoute(
StaffPaths.privacySecurity,
StaffPaths.privacySecurity,
),
child: (BuildContext context) => const PrivacySecurityPage(),
);
}
}

View File

@@ -11,4 +11,4 @@ export 'src/presentation/widgets/settings_switch_tile_widget.dart';
export 'src/presentation/widgets/settings_action_tile_widget.dart';
export 'src/presentation/widgets/settings_section_header_widget.dart';
export 'src/presentation/widgets/settings_divider_widget.dart';
export 'staff_privacy_security_module.dart';
export 'src/staff_privacy_security_module.dart';