diff --git a/src/App/App.csproj b/src/App/App.csproj index f5bb98ce8..28a436e74 100644 --- a/src/App/App.csproj +++ b/src/App/App.csproj @@ -34,6 +34,9 @@ LockPage.xaml + + TwoFactorPage.xaml + RegisterPage.xaml diff --git a/src/App/Pages/Accounts/TwoFactorPage.xaml b/src/App/Pages/Accounts/TwoFactorPage.xaml new file mode 100644 index 000000000..e9b5cd6e0 --- /dev/null +++ b/src/App/Pages/Accounts/TwoFactorPage.xaml @@ -0,0 +1,30 @@ + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/App/Pages/Accounts/TwoFactorPage.xaml.cs b/src/App/Pages/Accounts/TwoFactorPage.xaml.cs new file mode 100644 index 000000000..edd5a4597 --- /dev/null +++ b/src/App/Pages/Accounts/TwoFactorPage.xaml.cs @@ -0,0 +1,39 @@ +using System; +using Xamarin.Forms; + +namespace Bit.App.Pages +{ + public partial class TwoFactorPage : BaseContentPage + { + private TwoFactorPageViewModel _vm; + + public TwoFactorPage() + { + InitializeComponent(); + _vm = BindingContext as TwoFactorPageViewModel; + _vm.Page = this; + } + + protected override async void OnAppearing() + { + base.OnAppearing(); + await _vm.InitAsync(); + } + + private void Continue_Clicked(object sender, EventArgs e) + { + if(DoOnce()) + { + + } + } + + private void Methods_Clicked(object sender, EventArgs e) + { + if(DoOnce()) + { + + } + } + } +} diff --git a/src/App/Pages/Accounts/TwoFactorPageViewModel.cs b/src/App/Pages/Accounts/TwoFactorPageViewModel.cs new file mode 100644 index 000000000..f9812c296 --- /dev/null +++ b/src/App/Pages/Accounts/TwoFactorPageViewModel.cs @@ -0,0 +1,44 @@ +using Bit.App.Abstractions; +using Bit.App.Resources; +using Bit.Core.Abstractions; +using Bit.Core.Exceptions; +using Bit.Core.Utilities; +using System.Threading.Tasks; +using Xamarin.Forms; + +namespace Bit.App.Pages +{ + public class TwoFactorPageViewModel : BaseViewModel + { + private readonly IDeviceActionService _deviceActionService; + private readonly IAuthService _authService; + private readonly ISyncService _syncService; + private readonly IStorageService _storageService; + + private string _email; + + public TwoFactorPageViewModel() + { + _deviceActionService = ServiceContainer.Resolve("deviceActionService"); + _authService = ServiceContainer.Resolve("authService"); + _syncService = ServiceContainer.Resolve("syncService"); + _storageService = ServiceContainer.Resolve("storageService"); + } + + public string Email + { + get => _email; + set => SetProperty(ref _email, value); + } + + public async Task InitAsync() + { + + } + + public async Task SubmitAsync() + { + + } + } +}