1using CommunityToolkit.Mvvm.ComponentModel;
2using CommunityToolkit.Mvvm.Input;
14using System.Runtime.CompilerServices;
23 private bool hasBetaFeatures;
35 get => this.hasBetaFeatures;
38 if (this.hasBetaFeatures == value)
40 this.hasBetaFeatures = value;
52 private bool showBottomNavigation =
true;
59 await base.OnInitializeAsync();
60 ServiceRef.TagProfile.OnPropertiesChanged += this.TagProfile_OnPropertiesChanged;
68 ServiceRef.TagProfile.OnPropertiesChanged -= this.TagProfile_OnPropertiesChanged;
69 await base.OnDisposeAsync();
75 private void TagProfile_OnPropertiesChanged(
object? sender, EventArgs e)
80 this.HasBetaFeatures = profileValue;
84 #region Navigation Commands
87 private static async Task ShowContacts()
100 private static async Task ShowMyContracts()
114 private static async Task ShowApplications()
127 private bool betaFeaturePressed =
false;
130 private async Task ShowThings()
136 this.BetaFeaturePressed =
true;
137 await Task.Delay(100);
138 this.BetaFeaturePressed =
false;
152 private async Task ShowNewContract()
158 this.BetaFeaturePressed =
true;
159 await Task.Delay(100);
160 this.BetaFeaturePressed =
false;
175 private async Task ShowNewToken()
181 this.BetaFeaturePressed =
true;
182 await Task.Delay(100);
183 this.BetaFeaturePressed =
false;
198 private async Task ShowMyTokens()
204 this.BetaFeaturePressed =
true;
205 await Task.Delay(100);
206 this.BetaFeaturePressed =
false;
220 private static async Task ShowId()
234 public async Task ShowWallet()
240 this.BetaFeaturePressed =
true;
241 await Task.Delay(100);
242 this.BetaFeaturePressed =
false;
258 private async Task ShowWalletBottombar()
262 await this.ShowComingSoonPopup();
266 await this.ShowWallet();
271 public async Task ViewMainPage()
284 private bool showingComingSoonPopup =
false;
286 [RelayCommand(AllowConcurrentExecutions =
false)]
287 public async Task ShowComingSoonPopup()
289 this.ShowingComingSoonPopup =
true;
290 await Task.Delay(3000);
291 this.ShowingComingSoonPopup =
false;
Base class that references services in the app.
static IServiceProvider Provider
The service provider for the app. This is set before the app is started, and will be used to resolve ...
static ILogService LogService
Log service.
static IUiService UiService
Service serializing and managing UI-related tasks.
static INavigationService NavigationService
The navigation service for navigating between pages.
static ITagProfile TagProfile
TAG Profile service.
Static class that gives access to app-specific styles
static Style NeuroIconButtonDisabled
Style for NeuroIconButtonDisabled
A base class for all view models, inheriting from the BindableObject. NOTE: using this class requir...
A page that displays a list of the current user's contacts.
Holds navigation parameters specific to views displaying a list of contacts.
A page that displays a list of the current user's contracts.
A page to display when the user wants to view an identity.
bool HasBetaFeatures
Indicates if beta features are enabled in the profile.
Style BetaButtonStyle
Style for beta‑feature dependent buttons.
override async Task OnInitializeAsync()
Subscribes to profile property changes.
override async Task OnDisposeAsync()
Unsubscribes from profile property changes.
A page that displays a list of the current user's things.
A page that allows the user to view its tokens.
Holds navigation parameters specific to the eDaler wallet.
A page that allows the user to view the contents of its eDaler wallet, pending payments and recent ac...
bool HasBetaFeatures
If the user has Beta features enabled
Task GoToAsync(string Route)
Navigates to the specified route and pushes the page onto the navigation stack.
Task PopToRootAsync()
Pops all pages until only the root page remains on the navigation stack.
Task DisplayException(Exception Exception, string? Title=null)
Displays an alert/message box to the user.
BackMethod
Navigation Back Method
ContractsListMode
What list of contracts to display
AuthenticationPurpose
Purpose for requesting the user to authenticate itself.