1 files changed, 0 insertions, 100 deletions
diff --git a/MatrixRoomUtils.Web/Pages/InvalidSession.razor b/MatrixRoomUtils.Web/Pages/InvalidSession.razor
deleted file mode 100644
index 7d4769c..0000000
--- a/MatrixRoomUtils.Web/Pages/InvalidSession.razor
+++ /dev/null
@@ -1,100 +0,0 @@
-@page "/InvalidSession"
-@using LibMatrix
-
-<PageTitle>Invalid session</PageTitle>
-
-<h3>Rory&::MatrixUtils - Invalid session encountered</h3>
-<p>A session was encountered that is no longer valid. This can happen if you have logged out of the account on another device, or if the access token has expired.</p>
-
-@if (_login is not null) {
- <p>It appears that the affected user is @_login.UserId (@_login.DeviceId) on @_login.Homeserver!</p>
- <LinkButton OnClick="@(OpenRefreshDialog)">Refresh token</LinkButton>
- <LinkButton OnClick="@(RemoveUser)">Remove</LinkButton>
-
- @if (_showRefreshDialog) {
- <ModalWindow MinWidth="300" X="275" Y="300" Title="@($"Password for {_login.UserId}")">
- <FancyTextBox IsPassword="true" @bind-Value="@_password"></FancyTextBox><br/>
- <LinkButton OnClick="TryLogin">Log in</LinkButton>
- @if (_loginException is not null) {
- <pre style="color: red;">@_loginException.RawContent</pre>
- }
- </ModalWindow>
- }
-}
-else {
- <b>Something has gone wrong and the login was not passed along!</b>
-}
-
-@code
-{
- [Parameter]
- [SupplyParameterFromQuery(Name = "ctx")]
- public string Context { get; set; }
-
- private UserAuth? _login { get; set; }
-
- private bool _showRefreshDialog { get; set; }
-
- private string _password { get; set; } = "";
-
- private MatrixException? _loginException { get; set; }
-
- protected override async Task OnInitializedAsync() {
- var tokens = await MRUStorage.GetAllTokens();
- if (tokens is null || tokens.Count == 0) {
- NavigationManager.NavigateTo("/Login");
- return;
- }
-
- _login = tokens.FirstOrDefault(x => x.AccessToken == Context);
-
- if (_login is null) {
- Console.WriteLine($"Could not find {_login} in stored tokens!");
- }
-
- await base.OnInitializedAsync();
- }
-
- private async Task RemoveUser() {
- await MRUStorage.RemoveToken(_login!);
- if ((await MRUStorage.GetCurrentToken())!.AccessToken == _login!.AccessToken)
- await MRUStorage.SetCurrentToken((await MRUStorage.GetAllTokens())?.FirstOrDefault());
- await OnInitializedAsync();
- }
-
- private async Task OpenRefreshDialog() {
- _showRefreshDialog = true;
- StateHasChanged();
- await Task.CompletedTask;
- }
-
- private async Task SwitchSession(UserAuth auth) {
- Console.WriteLine($"Switching to {auth.Homeserver} {auth.AccessToken} {auth.UserId}");
- await MRUStorage.SetCurrentToken(auth);
- await OnInitializedAsync();
- }
-
- private async Task TryLogin() {
- if(_login is null) throw new NullReferenceException("Login is null!");
- try {
- var result = new UserAuth(await hsProvider.Login(_login.Homeserver, _login.UserId, _password));
- if (result is null) {
- Console.WriteLine($"Failed to login to {_login.Homeserver} as {_login.UserId}!");
- return;
- }
- Console.WriteLine($"Obtained access token for {result.UserId}!");
-
- await RemoveUser();
- await MRUStorage.AddToken(result);
- if (result.UserId == (await MRUStorage.GetCurrentToken())?.UserId)
- await MRUStorage.SetCurrentToken(result);
- NavigationManager.NavigateTo("/");
- }
- catch (MatrixException e) {
- Console.WriteLine($"Failed to login to {_login.Homeserver} as {_login.UserId}!");
- Console.WriteLine(e);
- _loginException = e;
- StateHasChanged();
- }
- }
-}
|