diff --git a/src/App/Controls/DismissModalToolBarItem.cs b/src/App/Controls/DismissModalToolBarItem.cs index 8e987b2b1..6423095b3 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 dc34c5f4f..03af0ad5d 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 2e7d1045b..3226f8bc2 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 6236aeac4..fc116ac71 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 a3cd92fda..d54d022be 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 245cf99c9..b6a5d0a97 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 523e68d27..24772f48f 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 3a864f98f..6650581ed 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 144a53733..d7aeeda70 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 759f1db29..42a221691 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 ca88e0ea8..55d826ba2 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 0dab43c50..046b05bf7 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 ff5caf34e..7927bd018 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 6f7a773f5..453ca6721 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 000000000..ec1c903a0 Binary files /dev/null and b/src/UWP.Images/ion_chevron_left.png differ