2019-04-24 18:23:03 +03:00
|
|
|
<?xml version="1.0" encoding="utf-8" ?>
|
|
|
|
<ContentPage
|
|
|
|
xmlns="http://xamarin.com/schemas/2014/forms"
|
|
|
|
xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
|
|
|
|
x:Class="Bit.App.Pages.ViewPage"
|
|
|
|
xmlns:pages="clr-namespace:Bit.App.Pages"
|
|
|
|
xmlns:u="clr-namespace:Bit.App.Utilities"
|
2019-04-26 07:26:09 +03:00
|
|
|
xmlns:controls="clr-namespace:Bit.App.Controls"
|
2019-04-26 23:58:20 +03:00
|
|
|
xmlns:views="clr-namespace:Bit.Core.Models.View;assembly=BitwardenCore"
|
2019-04-24 18:23:03 +03:00
|
|
|
x:DataType="pages:ViewPageViewModel"
|
2019-04-26 23:58:20 +03:00
|
|
|
x:Name="_page"
|
2019-04-24 18:23:03 +03:00
|
|
|
Title="{Binding PageTitle}">
|
|
|
|
<ContentPage.BindingContext>
|
|
|
|
<pages:ViewPageViewModel />
|
|
|
|
</ContentPage.BindingContext>
|
|
|
|
|
|
|
|
<ContentPage.ToolbarItems>
|
|
|
|
<ToolbarItem Icon="cogs.png"
|
|
|
|
Text="{u:I18n Edit}" />
|
|
|
|
</ContentPage.ToolbarItems>
|
2019-04-29 17:20:29 +03:00
|
|
|
|
2019-04-27 04:53:39 +03:00
|
|
|
<ContentPage.Resources>
|
|
|
|
<ResourceDictionary>
|
|
|
|
<u:InverseBoolConverter x:Key="inverseBool" />
|
2019-04-29 17:20:29 +03:00
|
|
|
<u:StringHasValueConverter x:Key="stringHasValue" />
|
2019-04-27 04:53:39 +03:00
|
|
|
</ResourceDictionary>
|
|
|
|
</ContentPage.Resources>
|
2019-04-24 18:23:03 +03:00
|
|
|
|
2019-04-26 23:58:20 +03:00
|
|
|
<ScrollView>
|
|
|
|
<StackLayout Spacing="20">
|
|
|
|
<StackLayout StyleClass="box">
|
|
|
|
<StackLayout StyleClass="box-row-header">
|
|
|
|
<Label Text="{u:I18n ItemInformation}"
|
|
|
|
StyleClass="box-header, box-header-platform" />
|
|
|
|
</StackLayout>
|
|
|
|
<StackLayout StyleClass="box-row">
|
|
|
|
<Label
|
|
|
|
Text="{u:I18n Name}"
|
|
|
|
StyleClass="box-label" />
|
|
|
|
<Label
|
|
|
|
Text="{Binding Cipher.Name, Mode=OneWay}"
|
|
|
|
StyleClass="box-value" />
|
|
|
|
</StackLayout>
|
|
|
|
<BoxView StyleClass="box-row-separator" />
|
2019-04-29 17:20:29 +03:00
|
|
|
<StackLayout IsVisible="{Binding IsLogin}" Spacing="0" Padding="0">
|
|
|
|
<Grid StyleClass="box-row"
|
|
|
|
IsVisible="{Binding Cipher.Login.Username, Converter={StaticResource stringHasValue}}">
|
2019-04-26 23:58:20 +03:00
|
|
|
<Grid.RowDefinitions>
|
|
|
|
<RowDefinition Height="Auto" />
|
|
|
|
<RowDefinition Height="*" />
|
|
|
|
</Grid.RowDefinitions>
|
|
|
|
<Grid.ColumnDefinitions>
|
|
|
|
<ColumnDefinition Width="*" />
|
|
|
|
<ColumnDefinition Width="Auto" />
|
|
|
|
</Grid.ColumnDefinitions>
|
|
|
|
<Label
|
|
|
|
Text="{u:I18n Username}"
|
|
|
|
StyleClass="box-label"
|
|
|
|
Grid.Row="0"
|
|
|
|
Grid.Column="0" />
|
|
|
|
<Label
|
|
|
|
Text="{Binding Cipher.Login.Username, Mode=OneWay}"
|
|
|
|
StyleClass="box-value"
|
|
|
|
Grid.Row="1"
|
|
|
|
Grid.Column="0" />
|
|
|
|
<controls:FaButton
|
|
|
|
StyleClass="box-row-button, box-row-button-platform"
|
|
|
|
Text=""
|
|
|
|
Command="{Binding CopyCommand}"
|
|
|
|
CommandParameter="LoginUsername"
|
|
|
|
Grid.Row="0"
|
|
|
|
Grid.Column="1"
|
|
|
|
Grid.RowSpan="2" />
|
|
|
|
</Grid>
|
2019-04-29 17:20:29 +03:00
|
|
|
<BoxView StyleClass="box-row-separator"
|
|
|
|
IsVisible="{Binding Cipher.Login.Username, Converter={StaticResource stringHasValue}}" />
|
|
|
|
<Grid StyleClass="box-row"
|
|
|
|
IsVisible="{Binding Cipher.Login.Password, Converter={StaticResource stringHasValue}}">
|
2019-04-26 23:58:20 +03:00
|
|
|
<Grid.RowDefinitions>
|
|
|
|
<RowDefinition Height="Auto" />
|
|
|
|
<RowDefinition Height="*" />
|
|
|
|
</Grid.RowDefinitions>
|
|
|
|
<Grid.ColumnDefinitions>
|
|
|
|
<ColumnDefinition Width="*" />
|
|
|
|
<ColumnDefinition Width="Auto" />
|
2019-04-27 06:37:21 +03:00
|
|
|
<ColumnDefinition Width="Auto" />
|
2019-04-27 07:19:44 +03:00
|
|
|
<ColumnDefinition Width="Auto" />
|
2019-04-26 23:58:20 +03:00
|
|
|
</Grid.ColumnDefinitions>
|
|
|
|
<Label
|
|
|
|
Text="{u:I18n Password}"
|
|
|
|
StyleClass="box-label"
|
|
|
|
Grid.Row="0"
|
|
|
|
Grid.Column="0" />
|
2019-04-27 06:37:21 +03:00
|
|
|
<controls:MonoLabel
|
2019-04-26 23:58:20 +03:00
|
|
|
Text="{Binding Cipher.Login.MaskedPassword, Mode=OneWay}"
|
|
|
|
StyleClass="box-value"
|
|
|
|
Grid.Row="1"
|
2019-04-27 06:37:21 +03:00
|
|
|
Grid.Column="0"
|
|
|
|
IsVisible="{Binding ShowPassword, Converter={StaticResource inverseBool}}" />
|
|
|
|
<controls:MonoLabel
|
2019-04-27 06:58:15 +03:00
|
|
|
FormattedText="{Binding ColoredPassword, Mode=OneWay}"
|
2019-04-27 06:37:21 +03:00
|
|
|
StyleClass="box-value"
|
|
|
|
Grid.Row="1"
|
|
|
|
Grid.Column="0"
|
|
|
|
IsVisible="{Binding ShowPassword}" />
|
2019-04-27 07:19:44 +03:00
|
|
|
<controls:FaButton
|
|
|
|
StyleClass="box-row-button, box-row-button-platform"
|
|
|
|
Text=""
|
|
|
|
Command="{Binding CheckPasswordCommand}"
|
|
|
|
Grid.Row="0"
|
|
|
|
Grid.Column="1"
|
|
|
|
Grid.RowSpan="2" />
|
2019-04-27 06:37:21 +03:00
|
|
|
<controls:FaButton
|
|
|
|
StyleClass="box-row-button, box-row-button-platform"
|
|
|
|
Text="{Binding ShowPasswordIcon}"
|
|
|
|
Command="{Binding TogglePasswordCommand}"
|
|
|
|
Grid.Row="0"
|
2019-04-27 07:19:44 +03:00
|
|
|
Grid.Column="2"
|
2019-04-27 06:37:21 +03:00
|
|
|
Grid.RowSpan="2" />
|
2019-04-26 23:58:20 +03:00
|
|
|
<controls:FaButton
|
|
|
|
StyleClass="box-row-button, box-row-button-platform"
|
|
|
|
Text=""
|
|
|
|
Command="{Binding CopyCommand}"
|
|
|
|
CommandParameter="LoginPassword"
|
|
|
|
Grid.Row="0"
|
2019-04-27 07:19:44 +03:00
|
|
|
Grid.Column="3"
|
2019-04-26 23:58:20 +03:00
|
|
|
Grid.RowSpan="2" />
|
|
|
|
</Grid>
|
2019-04-29 17:20:29 +03:00
|
|
|
<BoxView StyleClass="box-row-separator"
|
|
|
|
IsVisible="{Binding Cipher.Login.Password, Converter={StaticResource stringHasValue}}" />
|
2019-04-26 23:58:20 +03:00
|
|
|
<Grid StyleClass="box-row" IsVisible="{Binding ShowTotp}">
|
|
|
|
<Grid.RowDefinitions>
|
|
|
|
<RowDefinition Height="Auto" />
|
|
|
|
<RowDefinition Height="*" />
|
|
|
|
</Grid.RowDefinitions>
|
|
|
|
<Grid.ColumnDefinitions>
|
|
|
|
<ColumnDefinition Width="*" />
|
|
|
|
<ColumnDefinition Width="Auto" />
|
|
|
|
<ColumnDefinition Width="Auto" />
|
|
|
|
</Grid.ColumnDefinitions>
|
|
|
|
<Label
|
|
|
|
Text="{u:I18n VerificationCodeTotp}"
|
|
|
|
StyleClass="box-label"
|
|
|
|
Grid.Row="0"
|
|
|
|
Grid.Column="0" />
|
2019-04-27 06:37:21 +03:00
|
|
|
<controls:MonoLabel
|
2019-04-26 23:58:20 +03:00
|
|
|
Text="{Binding TotpCodeFormatted, Mode=OneWay}"
|
|
|
|
StyleClass="box-value"
|
|
|
|
Grid.Row="1"
|
|
|
|
Grid.Column="0" />
|
|
|
|
<Label
|
|
|
|
Text="{Binding TotpSec, Mode=OneWay}"
|
|
|
|
Style="{DynamicResource textTotp}"
|
|
|
|
Margin="0, 0, 10, 0"
|
|
|
|
Grid.Row="0"
|
|
|
|
Grid.Column="1"
|
|
|
|
Grid.RowSpan="2"
|
|
|
|
HorizontalOptions="End"
|
|
|
|
HorizontalTextAlignment="End"
|
|
|
|
VerticalOptions="CenterAndExpand"/>
|
|
|
|
<controls:FaButton
|
|
|
|
StyleClass="box-row-button, box-row-button-platform"
|
|
|
|
Text=""
|
|
|
|
Command="{Binding CopyCommand}"
|
|
|
|
CommandParameter="LoginTotp"
|
|
|
|
Grid.Row="0"
|
|
|
|
Grid.Column="2"
|
|
|
|
Grid.RowSpan="2" />
|
|
|
|
</Grid>
|
|
|
|
<BoxView StyleClass="box-row-separator" IsVisible="{Binding ShowTotp}" />
|
|
|
|
</StackLayout>
|
2019-04-29 17:20:29 +03:00
|
|
|
<StackLayout IsVisible="{Binding IsCard}" Spacing="0" Padding="0">
|
|
|
|
<StackLayout StyleClass="box-row"
|
|
|
|
IsVisible="{Binding Cipher.Card.CardholderName, Converter={StaticResource stringHasValue}}">
|
|
|
|
<Label
|
|
|
|
Text="{u:I18n CardholderName}"
|
|
|
|
StyleClass="box-label" />
|
|
|
|
<Label
|
|
|
|
Text="{Binding Cipher.Card.CardholderName, Mode=OneWay}"
|
|
|
|
StyleClass="box-value" />
|
|
|
|
</StackLayout>
|
|
|
|
<BoxView StyleClass="box-row-separator"
|
|
|
|
IsVisible="{Binding Cipher.Card.CardholderName, Converter={StaticResource stringHasValue}}"/>
|
|
|
|
<Grid StyleClass="box-row"
|
|
|
|
IsVisible="{Binding Cipher.Card.Number, Converter={StaticResource stringHasValue}}">
|
|
|
|
<Grid.RowDefinitions>
|
|
|
|
<RowDefinition Height="Auto" />
|
|
|
|
<RowDefinition Height="*" />
|
|
|
|
</Grid.RowDefinitions>
|
|
|
|
<Grid.ColumnDefinitions>
|
|
|
|
<ColumnDefinition Width="*" />
|
|
|
|
<ColumnDefinition Width="Auto" />
|
|
|
|
</Grid.ColumnDefinitions>
|
|
|
|
<Label
|
|
|
|
Text="{u:I18n Number}"
|
|
|
|
StyleClass="box-label"
|
|
|
|
Grid.Row="0"
|
|
|
|
Grid.Column="0" />
|
|
|
|
<Label
|
|
|
|
Text="{Binding Cipher.Card.Number, Mode=OneWay}"
|
|
|
|
StyleClass="box-value"
|
|
|
|
Grid.Row="1"
|
|
|
|
Grid.Column="0" />
|
|
|
|
<controls:FaButton
|
|
|
|
StyleClass="box-row-button, box-row-button-platform"
|
|
|
|
Text=""
|
|
|
|
Command="{Binding CopyCommand}"
|
|
|
|
CommandParameter="CardNumber"
|
|
|
|
Grid.Row="0"
|
|
|
|
Grid.Column="1"
|
|
|
|
Grid.RowSpan="2" />
|
|
|
|
</Grid>
|
|
|
|
<BoxView StyleClass="box-row-separator"
|
|
|
|
IsVisible="{Binding Cipher.Card.Number, Converter={StaticResource stringHasValue}}" />
|
|
|
|
<StackLayout StyleClass="box-row"
|
|
|
|
IsVisible="{Binding Cipher.Card.Brand, Converter={StaticResource stringHasValue}}">
|
|
|
|
<Label
|
|
|
|
Text="{u:I18n Brand}"
|
|
|
|
StyleClass="box-label" />
|
|
|
|
<Label
|
|
|
|
Text="{Binding Cipher.Card.Brand, Mode=OneWay}"
|
|
|
|
StyleClass="box-value" />
|
|
|
|
</StackLayout>
|
|
|
|
<BoxView StyleClass="box-row-separator"
|
|
|
|
IsVisible="{Binding Cipher.Card.Brand, Converter={StaticResource stringHasValue}}" />
|
|
|
|
<StackLayout StyleClass="box-row"
|
|
|
|
IsVisible="{Binding Cipher.Card.Expiration, Converter={StaticResource stringHasValue}}">
|
|
|
|
<Label
|
|
|
|
Text="{u:I18n Expiration}"
|
|
|
|
StyleClass="box-label" />
|
|
|
|
<Label
|
|
|
|
Text="{Binding Cipher.Card.Expiration, Mode=OneWay}"
|
|
|
|
StyleClass="box-value" />
|
|
|
|
</StackLayout>
|
|
|
|
<BoxView StyleClass="box-row-separator"
|
|
|
|
IsVisible="{Binding Cipher.Card.Expiration, Converter={StaticResource stringHasValue}}" />
|
|
|
|
<Grid StyleClass="box-row"
|
|
|
|
IsVisible="{Binding Cipher.Card.Code, Converter={StaticResource stringHasValue}}">
|
|
|
|
<Grid.RowDefinitions>
|
|
|
|
<RowDefinition Height="Auto" />
|
|
|
|
<RowDefinition Height="*" />
|
|
|
|
</Grid.RowDefinitions>
|
|
|
|
<Grid.ColumnDefinitions>
|
|
|
|
<ColumnDefinition Width="*" />
|
|
|
|
<ColumnDefinition Width="Auto" />
|
|
|
|
<ColumnDefinition Width="Auto" />
|
|
|
|
</Grid.ColumnDefinitions>
|
|
|
|
<Label
|
|
|
|
Text="{u:I18n SecurityCode}"
|
|
|
|
StyleClass="box-label"
|
|
|
|
Grid.Row="0"
|
|
|
|
Grid.Column="0" />
|
|
|
|
<controls:MonoLabel
|
|
|
|
Text="{Binding Cipher.Card.MaskedCode, Mode=OneWay}"
|
|
|
|
StyleClass="box-value"
|
|
|
|
Grid.Row="1"
|
|
|
|
Grid.Column="0"
|
|
|
|
IsVisible="{Binding ShowCardCode, Converter={StaticResource inverseBool}}" />
|
|
|
|
<controls:MonoLabel
|
|
|
|
Text="{Binding Cipher.Card.Code, Mode=OneWay}"
|
|
|
|
StyleClass="box-value"
|
|
|
|
Grid.Row="1"
|
|
|
|
Grid.Column="0"
|
|
|
|
IsVisible="{Binding ShowCardCode}" />
|
|
|
|
<controls:FaButton
|
|
|
|
StyleClass="box-row-button, box-row-button-platform"
|
|
|
|
Text="{Binding ShowCardCodeIcon}"
|
|
|
|
Command="{Binding ToggleCardCodeCommand}"
|
|
|
|
Grid.Row="0"
|
|
|
|
Grid.Column="1"
|
|
|
|
Grid.RowSpan="2" />
|
|
|
|
<controls:FaButton
|
|
|
|
StyleClass="box-row-button, box-row-button-platform"
|
|
|
|
Text=""
|
|
|
|
Command="{Binding CopyCommand}"
|
|
|
|
CommandParameter="CardCode"
|
|
|
|
Grid.Row="0"
|
|
|
|
Grid.Column="2"
|
|
|
|
Grid.RowSpan="2" />
|
|
|
|
</Grid>
|
|
|
|
<BoxView StyleClass="box-row-separator"
|
|
|
|
IsVisible="{Binding Cipher.Card.Code, Converter={StaticResource stringHasValue}}" />
|
2019-04-26 23:58:20 +03:00
|
|
|
</StackLayout>
|
2019-04-29 17:20:29 +03:00
|
|
|
<StackLayout IsVisible="{Binding IsIdentity}" Spacing="0" Padding="0">
|
|
|
|
<StackLayout StyleClass="box-row"
|
|
|
|
IsVisible="{Binding Cipher.Identity.FullName, Converter={StaticResource stringHasValue}}">
|
|
|
|
<Label
|
|
|
|
Text="{u:I18n IdentityName}"
|
|
|
|
StyleClass="box-label" />
|
|
|
|
<Label
|
|
|
|
Text="{Binding Cipher.Identity.FullName, Mode=OneWay}"
|
|
|
|
StyleClass="box-value" />
|
|
|
|
</StackLayout>
|
|
|
|
<BoxView StyleClass="box-row-separator"
|
|
|
|
IsVisible="{Binding Cipher.Identity.FullName, Converter={StaticResource stringHasValue}}" />
|
|
|
|
<StackLayout StyleClass="box-row"
|
|
|
|
IsVisible="{Binding Cipher.Identity.Username, Converter={StaticResource stringHasValue}}">
|
|
|
|
<Label
|
|
|
|
Text="{u:I18n Username}"
|
|
|
|
StyleClass="box-label" />
|
|
|
|
<Label
|
|
|
|
Text="{Binding Cipher.Identity.Username, Mode=OneWay}"
|
|
|
|
StyleClass="box-value" />
|
|
|
|
</StackLayout>
|
|
|
|
<BoxView StyleClass="box-row-separator"
|
|
|
|
IsVisible="{Binding Cipher.Identity.Username, Converter={StaticResource stringHasValue}}" />
|
|
|
|
<StackLayout StyleClass="box-row"
|
|
|
|
IsVisible="{Binding Cipher.Identity.Company, Converter={StaticResource stringHasValue}}">
|
|
|
|
<Label
|
|
|
|
Text="{u:I18n Company}"
|
|
|
|
StyleClass="box-label" />
|
|
|
|
<Label
|
|
|
|
Text="{Binding Cipher.Identity.Company, Mode=OneWay}"
|
|
|
|
StyleClass="box-value" />
|
|
|
|
</StackLayout>
|
|
|
|
<BoxView StyleClass="box-row-separator"
|
|
|
|
IsVisible="{Binding Cipher.Identity.Company, Converter={StaticResource stringHasValue}}" />
|
|
|
|
<StackLayout StyleClass="box-row"
|
|
|
|
IsVisible="{Binding Cipher.Identity.SSN, Converter={StaticResource stringHasValue}}">
|
|
|
|
<Label
|
|
|
|
Text="{u:I18n SSN}"
|
|
|
|
StyleClass="box-label" />
|
|
|
|
<Label
|
|
|
|
Text="{Binding Cipher.Identity.SSN, Mode=OneWay}"
|
|
|
|
StyleClass="box-value" />
|
|
|
|
</StackLayout>
|
|
|
|
<BoxView StyleClass="box-row-separator"
|
|
|
|
IsVisible="{Binding Cipher.Identity.SSN, Converter={StaticResource stringHasValue}}"/>
|
|
|
|
<StackLayout StyleClass="box-row"
|
|
|
|
IsVisible="{Binding Cipher.Identity.PassportNumber, Converter={StaticResource stringHasValue}}">
|
|
|
|
<Label
|
|
|
|
Text="{u:I18n PassportNumber}"
|
|
|
|
StyleClass="box-label" />
|
|
|
|
<Label
|
|
|
|
Text="{Binding Cipher.Identity.PassportNumber, Mode=OneWay}"
|
|
|
|
StyleClass="box-value" />
|
|
|
|
</StackLayout>
|
|
|
|
<BoxView StyleClass="box-row-separator"
|
|
|
|
IsVisible="{Binding Cipher.Identity.PassportNumber, Converter={StaticResource stringHasValue}}" />
|
|
|
|
<StackLayout StyleClass="box-row"
|
|
|
|
IsVisible="{Binding Cipher.Identity.LicenseNumber, Converter={StaticResource stringHasValue}}">
|
|
|
|
<Label
|
|
|
|
Text="{u:I18n LicenseNumber}"
|
|
|
|
StyleClass="box-label" />
|
|
|
|
<Label
|
|
|
|
Text="{Binding Cipher.Identity.LicenseNumber, Mode=OneWay}"
|
|
|
|
StyleClass="box-value" />
|
|
|
|
</StackLayout>
|
|
|
|
<BoxView StyleClass="box-row-separator"
|
|
|
|
IsVisible="{Binding Cipher.Identity.LicenseNumber, Converter={StaticResource stringHasValue}}" />
|
|
|
|
<StackLayout StyleClass="box-row"
|
|
|
|
IsVisible="{Binding Cipher.Identity.Email, Converter={StaticResource stringHasValue}}">
|
|
|
|
<Label
|
|
|
|
Text="{u:I18n Email}"
|
|
|
|
StyleClass="box-label" />
|
|
|
|
<Label
|
|
|
|
Text="{Binding Cipher.Identity.Email, Mode=OneWay}"
|
|
|
|
StyleClass="box-value" />
|
|
|
|
</StackLayout>
|
|
|
|
<BoxView StyleClass="box-row-separator"
|
|
|
|
IsVisible="{Binding Cipher.Identity.Email, Converter={StaticResource stringHasValue}}" />
|
|
|
|
<StackLayout StyleClass="box-row"
|
|
|
|
IsVisible="{Binding Cipher.Identity.Phone, Converter={StaticResource stringHasValue}}">
|
|
|
|
<Label
|
|
|
|
Text="{u:I18n Phone}"
|
|
|
|
StyleClass="box-label" />
|
|
|
|
<Label
|
|
|
|
Text="{Binding Cipher.Identity.Phone, Mode=OneWay}"
|
|
|
|
StyleClass="box-value" />
|
|
|
|
</StackLayout>
|
|
|
|
<BoxView StyleClass="box-row-separator"
|
|
|
|
IsVisible="{Binding Cipher.Identity.Phone, Converter={StaticResource stringHasValue}}" />
|
|
|
|
<StackLayout StyleClass="box-row" IsVisible="{Binding ShowIdentityAddress}">
|
|
|
|
<Label
|
|
|
|
Text="{u:I18n Address}"
|
|
|
|
StyleClass="box-label" />
|
|
|
|
<Label
|
|
|
|
Text="{Binding Cipher.Identity.Address1, Mode=OneWay}"
|
|
|
|
IsVisible="{Binding Cipher.Identity.Address1, Converter={StaticResource stringHasValue}}"
|
|
|
|
StyleClass="box-value" />
|
|
|
|
<Label
|
|
|
|
Text="{Binding Cipher.Identity.Address2, Mode=OneWay}"
|
|
|
|
IsVisible="{Binding Cipher.Identity.Address2, Converter={StaticResource stringHasValue}}"
|
|
|
|
StyleClass="box-value" />
|
|
|
|
<Label
|
|
|
|
Text="{Binding Cipher.Identity.Address3, Mode=OneWay}"
|
|
|
|
IsVisible="{Binding Cipher.Identity.Address3, Converter={StaticResource stringHasValue}}"
|
|
|
|
StyleClass="box-value" />
|
|
|
|
<Label
|
|
|
|
Text="{Binding Cipher.Identity.FullAddressPart2, Mode=OneWay}"
|
|
|
|
IsVisible="{Binding Cipher.Identity.FullAddressPart2, Converter={StaticResource stringHasValue}}"
|
|
|
|
StyleClass="box-value" />
|
|
|
|
<Label
|
|
|
|
Text="{Binding Cipher.Identity.Country, Mode=OneWay}"
|
|
|
|
IsVisible="{Binding Cipher.Identity.Country, Converter={StaticResource stringHasValue}}"
|
|
|
|
StyleClass="box-value" />
|
|
|
|
</StackLayout>
|
|
|
|
<BoxView StyleClass="box-row-separator" IsVisible="{Binding ShowIdentityAddress}" />
|
2019-04-26 23:58:20 +03:00
|
|
|
</StackLayout>
|
|
|
|
</StackLayout>
|
|
|
|
<StackLayout StyleClass="box" IsVisible="{Binding ShowUris}">
|
|
|
|
<StackLayout StyleClass="box-row-header">
|
|
|
|
<Label Text="{u:I18n URIs}"
|
|
|
|
StyleClass="box-header, box-header-platform" />
|
|
|
|
</StackLayout>
|
|
|
|
<controls:RepeaterView ItemsSource="{Binding Cipher.Login.Uris}">
|
|
|
|
<controls:RepeaterView.ItemTemplate>
|
|
|
|
<DataTemplate x:DataType="views:LoginUriView">
|
|
|
|
<StackLayout Spacing="0" Padding="0">
|
|
|
|
<Grid StyleClass="box-row">
|
|
|
|
<Grid.RowDefinitions>
|
|
|
|
<RowDefinition Height="Auto" />
|
|
|
|
<RowDefinition Height="*" />
|
|
|
|
</Grid.RowDefinitions>
|
|
|
|
<Grid.ColumnDefinitions>
|
|
|
|
<ColumnDefinition Width="*" />
|
|
|
|
<ColumnDefinition Width="Auto" />
|
|
|
|
<ColumnDefinition Width="Auto" />
|
|
|
|
</Grid.ColumnDefinitions>
|
|
|
|
<Label
|
|
|
|
Text="{u:I18n URI}"
|
|
|
|
StyleClass="box-label"
|
|
|
|
Grid.Row="0"
|
2019-04-27 04:53:39 +03:00
|
|
|
Grid.Column="0"
|
|
|
|
IsVisible="{Binding IsWebsite, Mode=OneWay, Converter={StaticResource inverseBool}}" />
|
|
|
|
<Label
|
|
|
|
Text="{u:I18n Website}"
|
|
|
|
StyleClass="box-label"
|
|
|
|
Grid.Row="0"
|
|
|
|
Grid.Column="0"
|
|
|
|
IsVisible="{Binding IsWebsite, Mode=OneWay}" />
|
2019-04-26 23:58:20 +03:00
|
|
|
<Label
|
|
|
|
Text="{Binding HostnameOrUri, Mode=OneWay}"
|
|
|
|
StyleClass="box-value"
|
|
|
|
Grid.Row="1"
|
|
|
|
Grid.Column="0" />
|
|
|
|
<controls:FaButton
|
|
|
|
StyleClass="box-row-button, box-row-button-platform"
|
2019-04-27 05:44:15 +03:00
|
|
|
Text=""
|
2019-04-26 23:58:20 +03:00
|
|
|
Command="{Binding BindingContext.LaunchUriCommand, Source={x:Reference _page}}"
|
|
|
|
CommandParameter="{Binding .}"
|
|
|
|
Grid.Row="0"
|
|
|
|
Grid.Column="1"
|
2019-04-27 04:53:39 +03:00
|
|
|
Grid.RowSpan="2"
|
|
|
|
IsVisible="{Binding CanLaunch, Mode=OneWay}" />
|
2019-04-26 23:58:20 +03:00
|
|
|
<controls:FaButton
|
|
|
|
StyleClass="box-row-button, box-row-button-platform"
|
|
|
|
Text=""
|
|
|
|
Command="{Binding BindingContext.CopyUriCommand, Source={x:Reference _page}}"
|
|
|
|
CommandParameter="{Binding .}"
|
|
|
|
Grid.Row="0"
|
|
|
|
Grid.Column="2"
|
|
|
|
Grid.RowSpan="2" />
|
|
|
|
</Grid>
|
|
|
|
<BoxView StyleClass="box-row-separator" />
|
|
|
|
</StackLayout>
|
|
|
|
</DataTemplate>
|
|
|
|
</controls:RepeaterView.ItemTemplate>
|
|
|
|
</controls:RepeaterView>
|
|
|
|
</StackLayout>
|
2019-04-29 17:20:29 +03:00
|
|
|
<StackLayout StyleClass="box"
|
|
|
|
IsVisible="{Binding Cipher.Notes, Converter={StaticResource stringHasValue}}">
|
2019-04-26 23:58:20 +03:00
|
|
|
<StackLayout StyleClass="box-row-header">
|
|
|
|
<Label Text="{u:I18n Notes}"
|
|
|
|
StyleClass="box-header, box-header-platform" />
|
|
|
|
</StackLayout>
|
|
|
|
<StackLayout StyleClass="box-row">
|
|
|
|
<Label
|
|
|
|
Text="{Binding Cipher.Notes, Mode=OneWay}"
|
|
|
|
StyleClass="box-value"
|
|
|
|
LineBreakMode="WordWrap" />
|
|
|
|
</StackLayout>
|
|
|
|
<BoxView StyleClass="box-row-separator" />
|
|
|
|
</StackLayout>
|
|
|
|
<StackLayout StyleClass="box" IsVisible="{Binding ShowFields}">
|
|
|
|
<StackLayout StyleClass="box-row-header">
|
|
|
|
<Label Text="{u:I18n CustomFields}"
|
|
|
|
StyleClass="box-header, box-header-platform" />
|
|
|
|
</StackLayout>
|
2019-04-27 04:53:39 +03:00
|
|
|
<controls:RepeaterView ItemsSource="{Binding Fields}">
|
2019-04-26 23:58:20 +03:00
|
|
|
<controls:RepeaterView.ItemTemplate>
|
2019-04-29 20:56:36 +03:00
|
|
|
<DataTemplate x:DataType="pages:ViewPageFieldViewModel">
|
2019-04-26 23:58:20 +03:00
|
|
|
<StackLayout Spacing="0" Padding="0">
|
|
|
|
<Grid StyleClass="box-row">
|
|
|
|
<Grid.RowDefinitions>
|
|
|
|
<RowDefinition Height="Auto" />
|
|
|
|
<RowDefinition Height="*" />
|
|
|
|
</Grid.RowDefinitions>
|
|
|
|
<Grid.ColumnDefinitions>
|
|
|
|
<ColumnDefinition Width="*" />
|
|
|
|
<ColumnDefinition Width="Auto" />
|
2019-04-29 20:51:05 +03:00
|
|
|
<ColumnDefinition Width="Auto" />
|
2019-04-26 23:58:20 +03:00
|
|
|
</Grid.ColumnDefinitions>
|
|
|
|
<Label
|
2019-04-27 04:53:39 +03:00
|
|
|
Text="{Binding Field.Name, Mode=OneWay}"
|
2019-04-26 23:58:20 +03:00
|
|
|
StyleClass="box-label"
|
|
|
|
Grid.Row="0"
|
|
|
|
Grid.Column="0" />
|
|
|
|
<Label
|
2019-04-29 20:51:05 +03:00
|
|
|
Text="{Binding ValueText, Mode=OneWay}"
|
2019-04-26 23:58:20 +03:00
|
|
|
StyleClass="box-value"
|
|
|
|
Grid.Row="1"
|
2019-04-29 20:51:05 +03:00
|
|
|
Grid.Column="0"
|
|
|
|
IsVisible="{Binding IsTextType}" />
|
|
|
|
<controls:FaLabel
|
|
|
|
Text="{Binding ValueText, Mode=OneWay}"
|
|
|
|
StyleClass="box-value"
|
|
|
|
Grid.Row="1"
|
|
|
|
Grid.Column="0"
|
|
|
|
IsVisible="{Binding IsBooleanType}" />
|
|
|
|
<StackLayout IsVisible="{Binding IsHiddenType}"
|
|
|
|
Grid.Row="1"
|
|
|
|
Grid.Column="0">
|
|
|
|
<controls:MonoLabel
|
|
|
|
Text="{Binding ValueText, Mode=OneWay}"
|
|
|
|
StyleClass="box-value"
|
|
|
|
IsVisible="{Binding ShowHiddenValue}" />
|
|
|
|
<controls:MonoLabel
|
|
|
|
Text="{Binding Field.MaskedValue, Mode=OneWay}"
|
|
|
|
StyleClass="box-value"
|
|
|
|
IsVisible="{Binding ShowHiddenValue, Converter={StaticResource inverseBool}}" />
|
|
|
|
</StackLayout>
|
|
|
|
<controls:FaButton
|
|
|
|
StyleClass="box-row-button, box-row-button-platform"
|
|
|
|
Text="{Binding ShowHiddenValueIcon}"
|
|
|
|
Command="{Binding ToggleHiddenValueCommand}"
|
|
|
|
IsVisible="{Binding IsHiddenType}"
|
|
|
|
Grid.Row="0"
|
|
|
|
Grid.Column="1"
|
|
|
|
Grid.RowSpan="2" />
|
2019-04-26 23:58:20 +03:00
|
|
|
<controls:FaButton
|
|
|
|
StyleClass="box-row-button, box-row-button-platform"
|
|
|
|
Text=""
|
|
|
|
Command="{Binding BindingContext.CopyFieldCommand, Source={x:Reference _page}}"
|
2019-04-27 04:53:39 +03:00
|
|
|
CommandParameter="{Binding Field}"
|
2019-04-29 20:51:05 +03:00
|
|
|
IsVisible="{Binding ShowCopyButton}"
|
2019-04-26 23:58:20 +03:00
|
|
|
Grid.Row="0"
|
2019-04-29 20:51:05 +03:00
|
|
|
Grid.Column="2"
|
2019-04-26 23:58:20 +03:00
|
|
|
Grid.RowSpan="2" />
|
|
|
|
</Grid>
|
|
|
|
<BoxView StyleClass="box-row-separator" />
|
|
|
|
</StackLayout>
|
|
|
|
</DataTemplate>
|
|
|
|
</controls:RepeaterView.ItemTemplate>
|
|
|
|
</controls:RepeaterView>
|
|
|
|
</StackLayout>
|
2019-04-29 21:35:44 +03:00
|
|
|
<StackLayout StyleClass="box" IsVisible="{Binding ShowAttachments}">
|
|
|
|
<StackLayout StyleClass="box-row-header">
|
|
|
|
<Label Text="{u:I18n Attachments}"
|
|
|
|
StyleClass="box-header, box-header-platform" />
|
|
|
|
</StackLayout>
|
|
|
|
<controls:RepeaterView ItemsSource="{Binding Cipher.Attachments}">
|
|
|
|
<controls:RepeaterView.ItemTemplate>
|
|
|
|
<DataTemplate x:DataType="views:AttachmentView">
|
|
|
|
<StackLayout Spacing="0" Padding="0">
|
|
|
|
<StackLayout Orientation="Horizontal" StyleClass="box-row" Spacing="10">
|
|
|
|
<Label
|
|
|
|
Text="{Binding FileName, Mode=OneWay}"
|
|
|
|
StyleClass="box-value"
|
|
|
|
VerticalTextAlignment="Center"
|
|
|
|
HorizontalOptions="StartAndExpand" />
|
|
|
|
<Label
|
|
|
|
Text="{Binding SizeName, Mode=OneWay}"
|
|
|
|
StyleClass="box-sub-label"
|
|
|
|
HorizontalTextAlignment="End"
|
|
|
|
HorizontalOptions="End"
|
|
|
|
VerticalTextAlignment="Center"
|
|
|
|
VerticalOptions="CenterAndExpand" />
|
|
|
|
<controls:FaButton
|
|
|
|
StyleClass="box-row-button, box-row-button-platform"
|
|
|
|
Text=""
|
|
|
|
Command="{Binding BindingContext.DownloadAttachmentCommand, Source={x:Reference _page}}"
|
|
|
|
CommandParameter="{Binding .}"
|
|
|
|
HorizontalOptions="End"
|
|
|
|
VerticalOptions="CenterAndExpand" />
|
|
|
|
</StackLayout>
|
|
|
|
<BoxView StyleClass="box-row-separator" />
|
|
|
|
</StackLayout>
|
|
|
|
</DataTemplate>
|
|
|
|
</controls:RepeaterView.ItemTemplate>
|
|
|
|
</controls:RepeaterView>
|
|
|
|
</StackLayout>
|
2019-04-24 18:23:03 +03:00
|
|
|
</StackLayout>
|
2019-04-26 23:58:20 +03:00
|
|
|
</ScrollView>
|
2019-04-24 18:23:03 +03:00
|
|
|
|
|
|
|
</ContentPage>
|