diff --git a/src/App/Pages/Vault/ViewPage.xaml b/src/App/Pages/Vault/ViewPage.xaml
index 1feb28e6a..3d8be522c 100644
--- a/src/App/Pages/Vault/ViewPage.xaml
+++ b/src/App/Pages/Vault/ViewPage.xaml
@@ -23,6 +23,7 @@
+
@@ -472,7 +473,7 @@
-
+
@@ -507,7 +508,8 @@
StyleClass="box-value"
Grid.Row="1"
Grid.Column="0"
- IsVisible="{Binding IsBooleanType}" />
+ IsVisible="{Binding IsBooleanType}"
+ Margin="0, 5, 0, 0" />
@@ -563,16 +565,13 @@
Text="{Binding SizeName, Mode=OneWay}"
StyleClass="box-sub-label"
HorizontalTextAlignment="End"
- HorizontalOptions="End"
- VerticalTextAlignment="Center"
- VerticalOptions="CenterAndExpand" />
+ VerticalTextAlignment="Center" />
+ VerticalOptions="Center" />
@@ -580,6 +579,16 @@
+
+
+
+
+
diff --git a/src/App/Pages/Vault/ViewPageViewModel.cs b/src/App/Pages/Vault/ViewPageViewModel.cs
index 3b502f05b..1ca2fdf1c 100644
--- a/src/App/Pages/Vault/ViewPageViewModel.cs
+++ b/src/App/Pages/Vault/ViewPageViewModel.cs
@@ -72,10 +72,12 @@ namespace Bit.App.Pages
nameof(IsCard),
nameof(IsSecureNote),
nameof(ShowUris),
- nameof(ShowFields),
nameof(ShowAttachments),
nameof(ShowTotp),
nameof(ColoredPassword),
+ nameof(UpdatedText),
+ nameof(PasswordUpdatedText),
+ nameof(PasswordHistoryText),
nameof(ShowIdentityAddress),
});
}
@@ -112,12 +114,67 @@ namespace Bit.App.Pages
public bool IsCard => Cipher?.Type == Core.Enums.CipherType.Card;
public bool IsSecureNote => Cipher?.Type == Core.Enums.CipherType.SecureNote;
public FormattedString ColoredPassword => PasswordFormatter.FormatPassword(Cipher.Login.Password);
+ public FormattedString UpdatedText
+ {
+ get
+ {
+ var fs = new FormattedString();
+ fs.Spans.Add(new Span
+ {
+ Text = string.Format("{0}:", AppResources.DateUpdated),
+ FontAttributes = FontAttributes.Bold
+ });
+ fs.Spans.Add(new Span
+ {
+ Text = string.Format(" {0} {1}",
+ Cipher.RevisionDate.ToShortDateString(),
+ Cipher.RevisionDate.ToShortTimeString())
+ });
+ return fs;
+ }
+ }
+ public FormattedString PasswordUpdatedText
+ {
+ get
+ {
+ var fs = new FormattedString();
+ fs.Spans.Add(new Span
+ {
+ Text = string.Format("{0}:", AppResources.DatePasswordUpdated),
+ FontAttributes = FontAttributes.Bold
+ });
+ fs.Spans.Add(new Span
+ {
+ Text = string.Format(" {0} {1}",
+ Cipher.PasswordRevisionDisplayDate?.ToShortDateString(),
+ Cipher.PasswordRevisionDisplayDate?.ToShortTimeString())
+ });
+ return fs;
+ }
+ }
+ public FormattedString PasswordHistoryText
+ {
+ get
+ {
+ var fs = new FormattedString();
+ fs.Spans.Add(new Span
+ {
+ Text = string.Format("{0}:", AppResources.PasswordHistory),
+ FontAttributes = FontAttributes.Bold
+ });
+ fs.Spans.Add(new Span
+ {
+ Text = string.Format(" {0}", Cipher.PasswordHistory.Count.ToString()),
+ TextColor = (Color)Application.Current.Resources["PrimaryColor"]
+ });
+ return fs;
+ }
+ }
public bool ShowUris => IsLogin && Cipher.Login.HasUris;
public bool ShowIdentityAddress => IsIdentity && (
!string.IsNullOrWhiteSpace(Cipher.Identity.Address1) ||
!string.IsNullOrWhiteSpace(Cipher.Identity.City) ||
!string.IsNullOrWhiteSpace(Cipher.Identity.Country));
- public bool ShowFields => Cipher.HasFields;
public bool ShowAttachments => Cipher.HasAttachments && (CanAccessPremium || Cipher.OrganizationId != null);
public bool ShowTotp => IsLogin && !string.IsNullOrWhiteSpace(Cipher.Login.Totp) &&
!string.IsNullOrWhiteSpace(TotpCodeFormatted);
diff --git a/src/App/Resources/AppResources.Designer.cs b/src/App/Resources/AppResources.Designer.cs
index e8ab87d12..2c9a6babe 100644
--- a/src/App/Resources/AppResources.Designer.cs
+++ b/src/App/Resources/AppResources.Designer.cs
@@ -2652,6 +2652,15 @@ namespace Bit.App.Resources {
}
}
+ ///
+ /// Looks up a localized string similar to Password History.
+ ///
+ internal static string PasswordHistory {
+ get {
+ return ResourceManager.GetString("PasswordHistory", resourceCulture);
+ }
+ }
+
///
/// Looks up a localized string similar to Are you sure you want to overwrite the current password?.
///
diff --git a/src/App/Resources/AppResources.resx b/src/App/Resources/AppResources.resx
index 2238c900d..3767ff445 100644
--- a/src/App/Resources/AppResources.resx
+++ b/src/App/Resources/AppResources.resx
@@ -1387,4 +1387,7 @@
Value
+
+ Password History
+
\ No newline at end of file
diff --git a/src/App/Styles/Base.xaml b/src/App/Styles/Base.xaml
index 3ccaf880c..4ef144a37 100644
--- a/src/App/Styles/Base.xaml
+++ b/src/App/Styles/Base.xaml
@@ -16,6 +16,11 @@
+
+
+
+
+
@@ -152,4 +181,11 @@
+