diff --git a/src/App/Controls/DismissModalToolBarItem.cs b/src/App/Controls/DismissModalToolBarItem.cs index 8e987b2b17..6423095b3f 100644 --- a/src/App/Controls/DismissModalToolBarItem.cs +++ b/src/App/Controls/DismissModalToolBarItem.cs @@ -1,4 +1,5 @@ using Bit.App.Resources; +using Bit.App.Utilities; using System; using Xamarin.Forms; @@ -15,13 +16,14 @@ namespace Bit.App.Controls // TODO: init and dispose events from pages InitEvents(); Text = text ?? AppResources.Close; + Icon = Helpers.ToolbarImage("ion_chevron_left.png"); Priority = -1; } protected async override void ClickedItem(object sender, EventArgs e) { base.ClickedItem(sender, e); - await _page.Navigation.PopModalAsync(); + await _page.Navigation.PopForDeviceAsync(); } } } diff --git a/src/App/Pages/EnvironmentPage.cs b/src/App/Pages/EnvironmentPage.cs index dc34c5f4fa..03af0ad5de 100644 --- a/src/App/Pages/EnvironmentPage.cs +++ b/src/App/Pages/EnvironmentPage.cs @@ -115,7 +115,7 @@ namespace Bit.App.Pages var toolbarItem = new ToolbarItem(AppResources.Save, Helpers.ToolbarImage("envelope.png"), async () => await SaveAsync(), ToolbarItemOrder.Default, 0); - if(Device.RuntimePlatform == Device.iOS || Device.RuntimePlatform == Device.Windows) + if(Device.RuntimePlatform == Device.iOS) { table.RowHeight = table2.RowHeight = -1; table.EstimatedRowHeight = table2.EstimatedRowHeight = 70; diff --git a/src/App/Pages/LoginPage.cs b/src/App/Pages/LoginPage.cs index 2e7d1045b0..3226f8bc28 100644 --- a/src/App/Pages/LoginPage.cs +++ b/src/App/Pages/LoginPage.cs @@ -102,7 +102,7 @@ namespace Bit.App.Pages var scrollView = new ScrollView { Content = layout }; - if(Device.RuntimePlatform == Device.iOS || Device.RuntimePlatform == Device.Windows) + if(Device.RuntimePlatform == Device.iOS) { table.RowHeight = -1; table.EstimatedRowHeight = 70; diff --git a/src/App/Pages/RegisterPage.cs b/src/App/Pages/RegisterPage.cs index 6236aeac48..fc116ac714 100644 --- a/src/App/Pages/RegisterPage.cs +++ b/src/App/Pages/RegisterPage.cs @@ -122,7 +122,7 @@ namespace Bit.App.Pages await Register(); }, ToolbarItemOrder.Default, 0); - if(Device.RuntimePlatform == Device.iOS || Device.RuntimePlatform == Device.Windows) + if(Device.RuntimePlatform == Device.iOS) { table.RowHeight = table2.RowHeight = -1; table.EstimatedRowHeight = table2.EstimatedRowHeight = 70; diff --git a/src/App/Pages/ScanPage.cs b/src/App/Pages/ScanPage.cs index a3cd92fda5..d54d022beb 100644 --- a/src/App/Pages/ScanPage.cs +++ b/src/App/Pages/ScanPage.cs @@ -68,7 +68,7 @@ namespace Bit.App.Pages Children = { _zxing, _overlay } }; - if(Device.RuntimePlatform == Device.iOS || Device.RuntimePlatform == Device.Windows) + if(Device.RuntimePlatform == Device.iOS) { ToolbarItems.Add(new DismissModalToolBarItem(this, AppResources.Close)); } diff --git a/src/App/Pages/Tools/ToolsExtensionPage.cs b/src/App/Pages/Tools/ToolsExtensionPage.cs index 245cf99c9f..b6a5d0a97d 100644 --- a/src/App/Pages/Tools/ToolsExtensionPage.cs +++ b/src/App/Pages/Tools/ToolsExtensionPage.cs @@ -205,7 +205,7 @@ namespace Bit.App.Pages VerticalOptions = LayoutOptions.FillAndExpand }; - if(Device.RuntimePlatform == Device.iOS || Device.RuntimePlatform == Device.Windows) + if(Device.RuntimePlatform == Device.iOS) { ToolbarItems.Add(new DismissModalToolBarItem(this, AppResources.Close)); } diff --git a/src/App/Pages/Tools/ToolsPasswordGeneratorPage.cs b/src/App/Pages/Tools/ToolsPasswordGeneratorPage.cs index 523e68d270..24772f48f6 100644 --- a/src/App/Pages/Tools/ToolsPasswordGeneratorPage.cs +++ b/src/App/Pages/Tools/ToolsPasswordGeneratorPage.cs @@ -87,7 +87,7 @@ namespace Bit.App.Pages } }; - if(Device.RuntimePlatform == Device.iOS || Device.RuntimePlatform == Device.Windows) + if(Device.RuntimePlatform == Device.iOS) { table.RowHeight = -1; table.EstimatedRowHeight = 44; diff --git a/src/App/Pages/Vault/VaultAddCipherPage.cs b/src/App/Pages/Vault/VaultAddCipherPage.cs index 3a864f98fc..6650581edb 100644 --- a/src/App/Pages/Vault/VaultAddCipherPage.cs +++ b/src/App/Pages/Vault/VaultAddCipherPage.cs @@ -170,7 +170,7 @@ namespace Bit.App.Pages Title = AppResources.AddItem; Content = Table; - if(Device.RuntimePlatform == Device.iOS || Device.RuntimePlatform == Device.Windows) + if(Device.RuntimePlatform == Device.iOS) { ToolbarItems.Add(new DismissModalToolBarItem(this, AppResources.Cancel)); } diff --git a/src/App/Pages/Vault/VaultAttachmentsPage.cs b/src/App/Pages/Vault/VaultAttachmentsPage.cs index 144a537339..d7aeeda707 100644 --- a/src/App/Pages/Vault/VaultAttachmentsPage.cs +++ b/src/App/Pages/Vault/VaultAttachmentsPage.cs @@ -191,7 +191,7 @@ namespace Bit.App.Pages ToolbarItems.Add(saveToolBarItem); } - if(Device.RuntimePlatform == Device.iOS || Device.RuntimePlatform == Device.Windows) + if(Device.RuntimePlatform == Device.iOS) { ListView.RowHeight = -1; NewTable.RowHeight = -1; diff --git a/src/App/Pages/Vault/VaultCustomFieldsPage.cs b/src/App/Pages/Vault/VaultCustomFieldsPage.cs index 759f1db299..42a221691e 100644 --- a/src/App/Pages/Vault/VaultCustomFieldsPage.cs +++ b/src/App/Pages/Vault/VaultCustomFieldsPage.cs @@ -159,7 +159,7 @@ namespace Bit.App.Pages { Content = Table; ToolbarItems.Add(SaveToolbarItem); - if(Device.RuntimePlatform == Device.iOS || Device.RuntimePlatform == Device.Windows) + if(Device.RuntimePlatform == Device.iOS) { ToolbarItems.Add(new DismissModalToolBarItem(this, AppResources.Cancel)); } @@ -211,7 +211,7 @@ namespace Bit.App.Pages else { Content = NoDataLabel; - if(Device.RuntimePlatform == Device.iOS || Device.RuntimePlatform == Device.Windows) + if(Device.RuntimePlatform == Device.iOS) { ToolbarItems.Add(new DismissModalToolBarItem(this, AppResources.Close)); } diff --git a/src/App/Pages/Vault/VaultEditCipherPage.cs b/src/App/Pages/Vault/VaultEditCipherPage.cs index ca88e0ea87..55d826ba29 100644 --- a/src/App/Pages/Vault/VaultEditCipherPage.cs +++ b/src/App/Pages/Vault/VaultEditCipherPage.cs @@ -139,7 +139,7 @@ namespace Bit.App.Pages Title = AppResources.EditItem; Content = Table; - if(Device.RuntimePlatform == Device.iOS || Device.RuntimePlatform == Device.Windows) + if(Device.RuntimePlatform == Device.iOS) { ToolbarItems.Add(new DismissModalToolBarItem(this, AppResources.Cancel)); } diff --git a/src/App/Pages/Vault/VaultViewCipherPage.cs b/src/App/Pages/Vault/VaultViewCipherPage.cs index 0dab43c50e..046b05bf71 100644 --- a/src/App/Pages/Vault/VaultViewCipherPage.cs +++ b/src/App/Pages/Vault/VaultViewCipherPage.cs @@ -76,7 +76,7 @@ namespace Bit.App.Pages { EditItem = new EditCipherToolBarItem(this, _cipherId); ToolbarItems.Add(EditItem); - if(Device.RuntimePlatform == Device.iOS || Device.RuntimePlatform == Device.Windows) + if(Device.RuntimePlatform == Device.iOS) { ToolbarItems.Add(new DismissModalToolBarItem(this)); } diff --git a/src/App/Utilities/Extentions.cs b/src/App/Utilities/Extentions.cs index ff5caf34e5..7927bd018d 100644 --- a/src/App/Utilities/Extentions.cs +++ b/src/App/Utilities/Extentions.cs @@ -55,13 +55,24 @@ namespace Bit.App public static async Task PushForDeviceAsync(this INavigation navigation, Page page) { - await navigation.PushModalAsync(new ExtendedNavigationPage(page), true); + if (Device.RuntimePlatform != Device.Windows) + { + await navigation.PushModalAsync(new ExtendedNavigationPage(page), true); + } + else + { + await navigation.PushAsync(page, true); + } } public static async Task PopForDeviceAsync(this INavigation navigation) { if(navigation.ModalStack.Count < 1) { + if (navigation.NavigationStack.Count > 0 && Device.RuntimePlatform == Device.Windows) + { + await navigation.PopAsync(); + } return; } diff --git a/src/UWP.Images/UWP.Images.projitems b/src/UWP.Images/UWP.Images.projitems index 6f7a773f5d..453ca67213 100644 --- a/src/UWP.Images/UWP.Images.projitems +++ b/src/UWP.Images/UWP.Images.projitems @@ -29,6 +29,7 @@ + diff --git a/src/UWP.Images/ion_chevron_left.png b/src/UWP.Images/ion_chevron_left.png new file mode 100644 index 0000000000..ec1c903a05 Binary files /dev/null and b/src/UWP.Images/ion_chevron_left.png differ