32 lines
1.1 KiB
C#
32 lines
1.1 KiB
C#
namespace UtopiaCanteenSystem.Services;
|
|
|
|
/// <summary>
|
|
/// Navigates between main views (AdminLogin, Scanner, Dashboard, Settings).
|
|
/// </summary>
|
|
public interface INavigationService
|
|
{
|
|
/// <summary>Current view model to display in the main content area.</summary>
|
|
object? CurrentViewModel { get; }
|
|
|
|
/// <summary>Raised when CurrentViewModel changes.</summary>
|
|
event EventHandler? CurrentViewModelChanged;
|
|
|
|
void NavigateToAdminLogin();
|
|
void NavigateToScanner();
|
|
void NavigateToDashboard();
|
|
void NavigateToAdminSettingsAuth();
|
|
void NavigateToSettings();
|
|
|
|
/// <summary>Starts a new dashboard session (used after scan).</summary>
|
|
void StartDashboardSession();
|
|
|
|
/// <summary>Returns true when the dashboard session is expired for the given timeout.</summary>
|
|
bool IsDashboardSessionExpired(TimeSpan timeout);
|
|
|
|
/// <summary>Navigates back from Settings based on dashboard session expiry.</summary>
|
|
void NavigateBackFromSettings(TimeSpan timeout);
|
|
|
|
/// <summary>Returns elapsed time since dashboard session start.</summary>
|
|
TimeSpan GetDashboardSessionElapsed();
|
|
}
|