import 'package:flutter_modular/flutter_modular.dart';

/// Extension on [IModularNavigator] providing typed navigation helpers
/// for the Staff Profile feature.
///
/// These methods provide a type-safe way to navigate to various profile-related
/// pages without relying on string literals throughout the codebase.
extension ProfileNavigator on IModularNavigator {
  /// Navigates to the personal info page.
  void pushPersonalInfo() {
    pushNamed('../onboarding/personal-info');
  }

  /// Navigates to the emergency contact page.
  void pushEmergencyContact() {
    pushNamed('../emergency-contact');
  }

  /// Navigates to the experience page.
  void pushExperience() {
    pushNamed('../experience');
  }

  /// Navigates to the attire page.
  void pushAttire() {
    pushNamed('../attire');
  }

  /// Navigates to the documents page.
  void pushDocuments() {
    pushNamed('../documents');
  }

  /// Navigates to the certificates page.
  void pushCertificates() {
    pushNamed('/certificates');
  }

  /// Navigates to the tax forms page.
  void pushTaxForms() {
    pushNamed('../tax-forms/');
  }

  /// Navigates to Krow University.
  void pushKrowUniversity() {
    pushNamed('/krow-university');
  }

  /// Navigates to the trainings page.
  void pushTrainings() {
    pushNamed('/trainings');
  }

  /// Navigates to the leaderboard page.
  void pushLeaderboard() {
    pushNamed('/leaderboard');
  }

  /// Navigates to the bank account page.
  void pushBankAccount() {
    pushNamed('../bank-account/');
  }

  /// Navigates to the timecard page.
  void pushTimecard() {
    pushNamed('../time-card');
  }

  /// Navigates to the FAQs page.
  void pushFaqs() {
    pushNamed('/faqs');
  }

  /// Navigates to the privacy & security page.
  void pushPrivacy() {
    pushNamed('/privacy');
  }

  /// Navigates to the messages page.
  void pushMessages() {
    pushNamed('/messages');
  }
  
  /// Navigates to the get started/authentication screen.
  void navigateToGetStarted() {
    navigate('/');
  }
}
