bitwarden-android/src/App/Controls/DismissModalToolBarItem.cs
Alistair Francis b4e7fd6fa8 Improve the navigation on Windows platforms (#199)
* App: Don't default to modal pushes on Windows

On Windows we generally want to avoid modal pushes as that doesn't give
us a back arrow on Windows 10. Default to non-modal pushes.

Signed-off-by: Alistair Francis <alistair@alistair23.me>

* App: LoginPage.cs: Don't add the cancel button on Windows

With Windows Phone having a HW back buton and the UWP toolbar now
supporting a back button we no longer need a cancel button.

Signed-off-by: Alistair Francis <alistair@alistair23.me>

* src: Set a icon for UWP cancel buttons

We can't always use modal pages and in that case we need to set a icon
for UWP otherwise the button can't be seen on the toolbar.

Signed-off-by: Alistair Francis <alistair@alistair23.me>

* App: Pages: Don't add Cancel/Close button on Windows

Signed-off-by: Alistair Francis <alistair@alistair23.me>

* Update DismissModalToolBarItem.cs
2017-12-12 16:03:25 -05:00

29 lines
868 B
C#

using Bit.App.Resources;
using Bit.App.Utilities;
using System;
using Xamarin.Forms;
namespace Bit.App.Controls
{
public class DismissModalToolBarItem : ExtendedToolbarItem, IDisposable
{
private readonly ContentPage _page;
public DismissModalToolBarItem(ContentPage page, string text = null, Action cancelClickedAction = null)
: base(cancelClickedAction)
{
_page = page;
// 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.PopForDeviceAsync();
}
}
}