protected async override Task OnAfterRenderAsync(bool firstRender) { await base.OnAfterRenderAsync(firstRender); if (firstRender) { #region Check the accountid var accountId = await BrowserInterop.LocalStorageGet <Guid?>("AccountId"); if (accountId.GetValueOrDefault() == Guid.Empty) { NavigationManager.NavigateTo("/"); return; } _accountId = accountId.Value; #endregion OnMessageReceivedEvent += ChatBase_OnMessageReceive; await BindChats(); StateHasChanged(); } }
protected async Task OnMessageKeyDown(KeyboardEventArgs e) { if (!IsSendingMessage && e.Code == "Enter") { if (!string.IsNullOrWhiteSpace(Message)) { IsSendingMessage = true; var response = await HttpClient.PostAsJsonAsync($"whatsapp/messages/accounts/{_accountId}/{SelectedChat.SerializedId}/send-text", new { Text = Message }); if (response.IsSuccessStatusCode) { Message = null; await LoadMessagesFromSelectedChat(); IsSendingMessage = false; StateHasChanged(); await textbox.FocusAsync(); } else { await BrowserInterop.Alert($"error sending the message: {response.ReasonPhrase}"); } } } }
protected async override Task OnAfterRenderAsync(bool firstRender) { await base.OnAfterRenderAsync(firstRender); if (firstRender) { var accountId = await BrowserInterop.LocalStorageGet <Guid?>("AccountId"); if (accountId.GetValueOrDefault() != Guid.Empty) { NavigateToChat(); return; } OnQrCodeReceivedEvent += AuthenticationBase_OnQrCodeReceivedEvent; OnAuthenticatedEvent += AuthenticationBase_OnAuthenticatedEvent; // initialize a new account if there isn't on localstorage above if (_accountId == Guid.Empty) { _accountId = Guid.NewGuid(); } await HttpClient.PostAsync($"account/{_accountId}", null); } }
static VtsLog() { BrowserInterop.vtsLogSetMaskCode((uint)LogLevel.default_); Util.CheckInterop(); BrowserInterop.vtsLogSetFile("vts-unity.log"); Util.CheckInterop(); Util.Log(LogLevel.info4, "Initialized VTS logging in Unity"); }
public HomeView(BrowserInterop browserInterop, ILoginHandler loginHandler, IConnectApiHandler connMan) { InitializeComponent(); _loginHandler = loginHandler; WebControl.LifeSpanHandler = new LifeSpanHandler(); WebControl.RegisterJsObject("six_client", new Handler(browserInterop, connMan, HandleLogin)); this.WhenActivated(d => { d(this.WhenAnyValue(x => x.ViewModel).BindTo(this, v => v.DataContext)); d(this.WhenAnyValue(x => x.ViewModel) .Skip(1) .Subscribe(vm => { d(WebControl.WhenAnyValue(x => x.IsLoading).Subscribe(x => { ViewModel.ProgressState.Active = x; ViewModel.CanGoBack = WebControl.CanGoBack; ViewModel.CanGoForward = WebControl.CanGoForward; })); d(vm.Navigate.Subscribe(x => { switch (x) { case HomeViewModel.NavigateMode.GoBack: { WebControl.BackCommand.Execute(null); break; } case HomeViewModel.NavigateMode.Abort: { WebControl.Stop(); break; } case HomeViewModel.NavigateMode.GoForward: { WebControl.ForwardCommand.Execute(null); break; } case HomeViewModel.NavigateMode.Reload: { WebControl.Reload(false); break; } } })); })); d(this.WhenAnyValue(v => v.WebControl.IsLoading) .Skip(1) .Subscribe(x => ViewModel.IsNavigating = x)); }); CommandBindings.Add(new CommandBinding(BrowserView.CopyToClipboard, OnCopyToClipboard, CanCopyToClipboard)); CommandBindings.Add(new CommandBinding(BrowserView.OpenInSystemBrowser, OnOpenInSystemBrowser, CanOpenInSystemBrowser)); }
public Handler(BrowserInterop interop, IConnectApiHandler connMan, Action <AccessInfo> handleLogin) { _interop = interop; _connMan = connMan; _handleLogin = handleLogin; }
private async Task AuthenticationBase_OnAuthenticatedEvent(AuthenticatedDto arg) { await BrowserInterop.LocalStorageSet("AccountId", arg.AccountId); NavigateToChat(); }