public async Task <AuthUser> LoginAsync(string username, string password, bool remember)
        {
            var res = await Program.ApiUrl
                      .AppendPathSegments("login")
                      .PostJsonAsync(new
            {
                username, password
            }).ReceiveJson();

            User = new()
            {
                AccessToken  = res.accessToken,
                RefreshToken = res.refreshToken,
                Id           = res.id,
                LoginTime    = DateTime.UtcNow
            };
            await ApiUtils.RefreshUser();

            Task.Run(async() =>
            {
                while (true)
                {
                    await Task.Delay(100);
                    await _storage.SetItemAsync("auth", User);
                }
            });
            return(User);
        }
    }
        public async Task Resume()
        {
            if (await _storage.ContainKeyAsync("auth"))
            {
                User = await _storage.GetItemAsync <AuthUser>("auth");

                await ApiUtils.RefreshUser();

                Task.Run(async() =>
                {
                    while (true)
                    {
                        await Task.Delay(100);
                        await _storage.SetItemAsync("auth", User);
                    }
                });
            }
        }