mirror of
https://github.com/bitwarden/mobile
synced 2025-12-18 09:13:15 +00:00
Added eye button icon for show/hide password
This commit is contained in:
@@ -1,6 +1,7 @@
|
|||||||
using System;
|
using System;
|
||||||
using System.ComponentModel;
|
using System.ComponentModel;
|
||||||
using Bit.App.Resources;
|
using Bit.App.Resources;
|
||||||
|
using Xamarin.Forms;
|
||||||
|
|
||||||
namespace Bit.App.Models.Page
|
namespace Bit.App.Models.Page
|
||||||
{
|
{
|
||||||
@@ -103,10 +104,12 @@ namespace Bit.App.Models.Page
|
|||||||
PropertyChanged(this, new PropertyChangedEventArgs(nameof(RevealPassword)));
|
PropertyChanged(this, new PropertyChangedEventArgs(nameof(RevealPassword)));
|
||||||
PropertyChanged(this, new PropertyChangedEventArgs(nameof(MaskedPassword)));
|
PropertyChanged(this, new PropertyChangedEventArgs(nameof(MaskedPassword)));
|
||||||
PropertyChanged(this, new PropertyChangedEventArgs(nameof(ShowHideText)));
|
PropertyChanged(this, new PropertyChangedEventArgs(nameof(ShowHideText)));
|
||||||
|
PropertyChanged(this, new PropertyChangedEventArgs(nameof(ShowHideImage)));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
public string MaskedPassword => RevealPassword ? Password : Password == null ? null : new string('●', Password.Length);
|
public string MaskedPassword => RevealPassword ? Password : Password == null ? null : new string('●', Password.Length);
|
||||||
public string ShowHideText => RevealPassword ? AppResources.Hide : AppResources.Show;
|
public string ShowHideText => RevealPassword ? AppResources.Hide : AppResources.Show;
|
||||||
|
public ImageSource ShowHideImage => RevealPassword ? ImageSource.FromFile("eye_slash") : ImageSource.FromFile("eye");
|
||||||
|
|
||||||
public void Update(Site site)
|
public void Update(Site site)
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -52,9 +52,10 @@ namespace Bit.App.Pages
|
|||||||
UsernameCell.Button1.Command = new Command(() => Copy(Model.Username, AppResources.Username));
|
UsernameCell.Button1.Command = new Command(() => Copy(Model.Username, AppResources.Username));
|
||||||
|
|
||||||
// Password
|
// Password
|
||||||
PasswordCell = new LabeledValueCell(AppResources.Password, button1Text: AppResources.Show, button2Text: AppResources.Copy);
|
PasswordCell = new LabeledValueCell(AppResources.Password, button1Text: string.Empty, button2Text: AppResources.Copy);
|
||||||
PasswordCell.Value.SetBinding<VaultViewSitePageModel>(Label.TextProperty, s => s.MaskedPassword);
|
PasswordCell.Value.SetBinding<VaultViewSitePageModel>(Label.TextProperty, s => s.MaskedPassword);
|
||||||
PasswordCell.Button1.SetBinding<VaultViewSitePageModel>(Button.TextProperty, s => s.ShowHideText);
|
PasswordCell.Button1.SetBinding<VaultViewSitePageModel>(Button.ImageProperty, s => s.ShowHideImage);
|
||||||
|
PasswordCell.Button1.Margin = new Thickness(10, 0);
|
||||||
PasswordCell.Button1.Command = new Command(() => Model.RevealPassword = !Model.RevealPassword);
|
PasswordCell.Button1.Command = new Command(() => Model.RevealPassword = !Model.RevealPassword);
|
||||||
PasswordCell.Button2.Command = new Command(() => Copy(Model.Password, AppResources.Password));
|
PasswordCell.Button2.Command = new Command(() => Copy(Model.Password, AppResources.Password));
|
||||||
|
|
||||||
|
|||||||
BIN
src/iOS/Resources/eye.png
Normal file
BIN
src/iOS/Resources/eye.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 557 B |
BIN
src/iOS/Resources/eye@2x.png
Normal file
BIN
src/iOS/Resources/eye@2x.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 872 B |
BIN
src/iOS/Resources/eye@3x.png
Normal file
BIN
src/iOS/Resources/eye@3x.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 1.2 KiB |
BIN
src/iOS/Resources/eye_slash.png
Normal file
BIN
src/iOS/Resources/eye_slash.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 580 B |
BIN
src/iOS/Resources/eye_slash@2x.png
Normal file
BIN
src/iOS/Resources/eye_slash@2x.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 1005 B |
BIN
src/iOS/Resources/eye_slash@3x.png
Normal file
BIN
src/iOS/Resources/eye_slash@3x.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 1.3 KiB |
@@ -394,6 +394,24 @@
|
|||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<BundleResource Include="Resources\more_selected%402x.png" />
|
<BundleResource Include="Resources\more_selected%402x.png" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
|
<ItemGroup>
|
||||||
|
<BundleResource Include="Resources\eye_slash.png" />
|
||||||
|
</ItemGroup>
|
||||||
|
<ItemGroup>
|
||||||
|
<BundleResource Include="Resources\eye.png" />
|
||||||
|
</ItemGroup>
|
||||||
|
<ItemGroup>
|
||||||
|
<BundleResource Include="Resources\eye%402x.png" />
|
||||||
|
</ItemGroup>
|
||||||
|
<ItemGroup>
|
||||||
|
<BundleResource Include="Resources\eye%403x.png" />
|
||||||
|
</ItemGroup>
|
||||||
|
<ItemGroup>
|
||||||
|
<BundleResource Include="Resources\eye_slash%403x.png" />
|
||||||
|
</ItemGroup>
|
||||||
|
<ItemGroup>
|
||||||
|
<BundleResource Include="Resources\eye_slash%402x.png" />
|
||||||
|
</ItemGroup>
|
||||||
<Import Project="$(MSBuildExtensionsPath)\Xamarin\iOS\Xamarin.iOS.CSharp.targets" />
|
<Import Project="$(MSBuildExtensionsPath)\Xamarin\iOS\Xamarin.iOS.CSharp.targets" />
|
||||||
<Target Name="EnsureNuGetPackageBuildImports" BeforeTargets="PrepareForBuild">
|
<Target Name="EnsureNuGetPackageBuildImports" BeforeTargets="PrepareForBuild">
|
||||||
<PropertyGroup>
|
<PropertyGroup>
|
||||||
|
|||||||
Reference in New Issue
Block a user