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