mirror of
https://dev.azure.com/TeilRad/sharee.bike%20App/_git/Code
synced 2025-04-21 20:46:28 +02:00
Version 3.0.312.
This commit is contained in:
parent
310ea37085
commit
fd0e63cf10
94 changed files with 3189 additions and 6352 deletions
|
@ -5,7 +5,8 @@
|
|||
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
|
||||
xmlns:resources="clr-namespace:TINK.MultilingualResources;assembly=TINKLib"
|
||||
mc:Ignorable="d"
|
||||
x:Class="TINK.View.Account.AccountPage">
|
||||
x:Class="TINK.View.Account.AccountPage"
|
||||
Title="{x:Static resources:AppResources.MarkingAccount}">
|
||||
<ContentPage.Content>
|
||||
<Frame>
|
||||
<StackLayout>
|
||||
|
|
|
@ -13,16 +13,19 @@
|
|||
</ContentView.Resources>
|
||||
<StackLayout
|
||||
Padding="10">
|
||||
<!-- Name of the bike -->
|
||||
<Label
|
||||
FontAttributes="Bold"
|
||||
FontSize="Large"
|
||||
HorizontalTextAlignment="Center"
|
||||
Text="{Binding Name}"/>
|
||||
<!-- Id of the bike -->
|
||||
<Label
|
||||
FontAttributes="Bold"
|
||||
HorizontalTextAlignment="Center"
|
||||
IsVisible="{Binding DisplayId, Converter={StaticResource Label_Converter}}"
|
||||
Text="{Binding DisplayId}"/>
|
||||
<!-- Rental state -->
|
||||
<Label
|
||||
Text="{Binding StateText}"
|
||||
TextColor="{Binding StateColor}"/>
|
||||
|
@ -40,9 +43,12 @@
|
|||
IsVisible="{Binding IsLockitButtonVisible}"
|
||||
IsEnabled="{Binding IsIdle}"
|
||||
Command="{Binding OnLockitButtonClicked}"/>
|
||||
<!-- Rental description (tarif name, options and rental info -->
|
||||
<Grid
|
||||
RowSpacing="0"
|
||||
IsVisible="{Binding TariffDescription.Header, Converter={StaticResource Label_Converter}}">
|
||||
<Grid.RowDefinitions>
|
||||
<!-- start tarif- entries -->
|
||||
<RowDefinition Height="Auto" />
|
||||
<RowDefinition Height="Auto" />
|
||||
<RowDefinition Height="Auto" />
|
||||
|
@ -50,64 +56,149 @@
|
|||
<RowDefinition Height="Auto" />
|
||||
<RowDefinition Height="Auto" />
|
||||
<RowDefinition Height="Auto" />
|
||||
<RowDefinition Height="Auto" />
|
||||
<RowDefinition Height="Auto" />
|
||||
<RowDefinition Height="Auto" />
|
||||
<!-- start rental info -->
|
||||
<RowDefinition Height="Auto" />
|
||||
<RowDefinition Height="Auto" />
|
||||
<RowDefinition Height="Auto" />
|
||||
<RowDefinition Height="Auto" />
|
||||
<RowDefinition Height="Auto" />
|
||||
<!-- Operator AGB -->
|
||||
<RowDefinition Height="Auto" />
|
||||
</Grid.RowDefinitions>
|
||||
|
||||
<Grid.ColumnDefinitions>
|
||||
<ColumnDefinition Width="Auto" />
|
||||
<ColumnDefinition Width="Auto" />
|
||||
<ColumnDefinition Width="*" />
|
||||
</Grid.ColumnDefinitions>
|
||||
<!-- start tarif- entries (should be a CollectionView) -->
|
||||
<Label
|
||||
Text=
|
||||
"{x:Static resources:AppResources.MessageBikesManagementTariffDescriptionTariffHeader}"
|
||||
Text= "{x:Static resources:AppResources.MessageBikesManagementTariffDescriptionTariffHeader}"
|
||||
IsVisible="{Binding TariffDescription.Header, Converter={StaticResource Label_Converter}}"
|
||||
Grid.Row="0"
|
||||
FontAttributes="Bold"/>
|
||||
<Label
|
||||
Text=
|
||||
"{Binding TariffDescription.Header}"
|
||||
Text="{Binding TariffDescription.Header}"
|
||||
IsVisible="{Binding TariffDescription.Header, Converter={StaticResource Label_Converter}}"
|
||||
Grid.Row="0"
|
||||
Grid.Column="1"
|
||||
Grid.ColumnSpan="2"
|
||||
FontAttributes="Bold"/>
|
||||
<Label
|
||||
Text="{x:Static resources:AppResources.MessageBikesManagementTariffDescriptionFreeTimePerSession}"
|
||||
IsVisible="{Binding TariffDescription.FreeTimePerSession, Converter={StaticResource Label_Converter}}"
|
||||
Text= "{Binding TariffDescription.TarifEntry1.Description}"
|
||||
IsVisible="{Binding TariffDescription.TarifEntry1.Description, Converter={StaticResource Label_Converter}}"
|
||||
Grid.Row="1"/>
|
||||
<Label
|
||||
Text="{Binding TariffDescription.FreeTimePerSession}"
|
||||
IsVisible="{Binding TariffDescription.FreeTimePerSession, Converter={StaticResource Label_Converter}}"
|
||||
Text="{Binding TariffDescription.TarifEntry1.Value}"
|
||||
IsVisible="{Binding TariffDescription.TarifEntry1.Value, Converter={StaticResource Label_Converter}}"
|
||||
Grid.Row="1"
|
||||
Grid.Column="1"/>
|
||||
<Label
|
||||
Text="{x:Static resources:AppResources.MessageBikesManagementTariffDescriptionFeeEuroPerHour}"
|
||||
IsVisible="{Binding TariffDescription.FeeEuroPerHour, Converter={StaticResource Label_Converter}}"
|
||||
Text= "{Binding TariffDescription.TarifEntry2.Description}"
|
||||
IsVisible="{Binding TariffDescription.TarifEntry2.Description, Converter={StaticResource Label_Converter}}"
|
||||
Grid.Row="2"/>
|
||||
<Label
|
||||
Text="{Binding TariffDescription.FeeEuroPerHour}"
|
||||
IsVisible="{Binding TariffDescription.FeeEuroPerHour, Converter={StaticResource Label_Converter}}"
|
||||
Text="{Binding TariffDescription.TarifEntry2.Value}"
|
||||
IsVisible="{Binding TariffDescription.TarifEntry2.Value, Converter={StaticResource Label_Converter}}"
|
||||
Grid.Row="2"
|
||||
Grid.Column="1"/>
|
||||
<Label
|
||||
Text="{x:Static resources:AppResources.MessageBikesManagementTariffDescriptionMaxFeeEuroPerDay}"
|
||||
IsVisible="{Binding TariffDescription.MaxFeeEuroPerDay, Converter={StaticResource Label_Converter}}"
|
||||
Text= "{Binding TariffDescription.TarifEntry3.Description}"
|
||||
IsVisible="{Binding TariffDescription.TarifEntry3.Description, Converter={StaticResource Label_Converter}}"
|
||||
Grid.Row="3"/>
|
||||
<Label
|
||||
Text="{Binding TariffDescription.MaxFeeEuroPerDay}"
|
||||
IsVisible="{Binding TariffDescription.MaxFeeEuroPerDay, Converter={StaticResource Label_Converter}}"
|
||||
Text="{Binding TariffDescription.TarifEntry3.Value}"
|
||||
IsVisible="{Binding TariffDescription.TarifEntry3.Value, Converter={StaticResource Label_Converter}}"
|
||||
Grid.Row="3"
|
||||
Grid.Column="1"/>
|
||||
<Label
|
||||
Text="{x:Static resources:AppResources.MessageBikesManagementTariffDescriptionAboEuroPerMonth}"
|
||||
IsVisible="{Binding TariffDescription.AboEuroPerMonth, Converter={StaticResource Label_Converter}}"
|
||||
Text= "{Binding TariffDescription.TarifEntry4.Description}"
|
||||
IsVisible="{Binding TariffDescription.TarifEntry4.Description, Converter={StaticResource Label_Converter}}"
|
||||
Grid.Row="4"/>
|
||||
<Label
|
||||
Text="{Binding TariffDescription.AboEuroPerMonth}"
|
||||
IsVisible="{Binding TariffDescription.AboEuroPerMonth, Converter={StaticResource Label_Converter}}"
|
||||
Text="{Binding TariffDescription.TarifEntry4.Value}"
|
||||
IsVisible="{Binding TariffDescription.TarifEntry4.Value, Converter={StaticResource Label_Converter}}"
|
||||
Grid.Row="4"
|
||||
Grid.Column="1"/>
|
||||
<Label
|
||||
Text= "{Binding TariffDescription.TarifEntry5.Description}"
|
||||
IsVisible="{Binding TariffDescription.TarifEntry5.Description, Converter={StaticResource Label_Converter}}"
|
||||
Grid.Row="5"/>
|
||||
<Label
|
||||
Text="{Binding TariffDescription.TarifEntry5.Value}"
|
||||
IsVisible="{Binding TariffDescription.TarifEntry5.Value, Converter={StaticResource Label_Converter}}"
|
||||
Grid.Row="5"
|
||||
Grid.Column="1"/>
|
||||
<Label
|
||||
Text= "{Binding TariffDescription.TarifEntry6.Description}"
|
||||
IsVisible="{Binding TariffDescription.TarifEntry6.Description, Converter={StaticResource Label_Converter}}"
|
||||
Grid.Row="6"/>
|
||||
<Label
|
||||
Text="{Binding TariffDescription.TarifEntry6.Value}"
|
||||
IsVisible="{Binding TariffDescription.TarifEntry6.Value, Converter={StaticResource Label_Converter}}"
|
||||
Grid.Row="6"
|
||||
Grid.Column="1"/>
|
||||
<Label
|
||||
Text= "{Binding TariffDescription.TarifEntry7.Description}"
|
||||
IsVisible="{Binding TariffDescription.TarifEntry7.Description, Converter={StaticResource Label_Converter}}"
|
||||
Grid.Row="7"/>
|
||||
<Label
|
||||
Text="{Binding TariffDescription.TarifEntry7.Value}"
|
||||
IsVisible="{Binding TariffDescription.TarifEntry7.Value, Converter={StaticResource Label_Converter}}"
|
||||
Grid.Row="7"
|
||||
Grid.Column="1"/>
|
||||
<Label
|
||||
Text= "{Binding TariffDescription.TarifEntry8.Description}"
|
||||
IsVisible="{Binding TariffDescription.TarifEntry8.Description, Converter={StaticResource Label_Converter}}"
|
||||
Grid.Row="8"/>
|
||||
<Label
|
||||
Text="{Binding TariffDescription.TarifEntry8.Value}"
|
||||
IsVisible="{Binding TariffDescription.TarifEntry8.Value, Converter={StaticResource Label_Converter}}"
|
||||
Grid.Row="8"
|
||||
Grid.Column="1"/>
|
||||
<Label
|
||||
Text= "{Binding TariffDescription.TarifEntry9.Description}"
|
||||
IsVisible="{Binding TariffDescription.TarifEntry9.Description, Converter={StaticResource Label_Converter}}"
|
||||
Grid.Row="9"/>
|
||||
<Label
|
||||
Text="{Binding TariffDescription.TarifEntry9.Value}"
|
||||
IsVisible="{Binding TariffDescription.TarifEntry9.Value, Converter={StaticResource Label_Converter}}"
|
||||
Grid.Row="9"
|
||||
Grid.Column="1"/>
|
||||
<!-- start tarif- entries (should be a CollectionView) -->
|
||||
<Label
|
||||
Text= "{Binding TariffDescription.InfoEntry1}"
|
||||
IsVisible="{Binding TariffDescription.InfoEntry1, Converter={StaticResource Label_Converter}}"
|
||||
Grid.Row="10"
|
||||
Grid.ColumnSpan="2"/>
|
||||
<Label
|
||||
Text= "{Binding TariffDescription.InfoEntry2}"
|
||||
IsVisible="{Binding TariffDescription.InfoEntry2, Converter={StaticResource Label_Converter}}"
|
||||
Grid.Row="11"
|
||||
Grid.ColumnSpan="2"/>
|
||||
<Label
|
||||
Text= "{Binding TariffDescription.InfoEntry3}"
|
||||
IsVisible="{Binding TariffDescription.InfoEntry3, Converter={StaticResource Label_Converter}}"
|
||||
Grid.Row="12"
|
||||
Grid.ColumnSpan="2"/>
|
||||
<Label
|
||||
Text= "{Binding TariffDescription.InfoEntry4}"
|
||||
IsVisible="{Binding TariffDescription.InfoEntry4, Converter={StaticResource Label_Converter}}"
|
||||
Grid.Row="13"
|
||||
Grid.ColumnSpan="2"/>
|
||||
<Label
|
||||
Text= "{Binding TariffDescription.InfoEntry5}"
|
||||
IsVisible="{Binding TariffDescription.InfoEntry5, Converter={StaticResource Label_Converter}}"
|
||||
Grid.Row="14"
|
||||
Grid.ColumnSpan="2"/>
|
||||
<!-- AGB entry -->
|
||||
<Label
|
||||
TextType="Html"
|
||||
Text="{Binding TariffDescription.OperatorAgb}"
|
||||
IsVisible="{Binding TariffDescription.OperatorAgb, Converter={StaticResource Label_Converter}}"
|
||||
Grid.Row="5"
|
||||
Grid.ColumnSpan="3">
|
||||
Grid.ColumnSpan="2"
|
||||
Grid.Row="15">
|
||||
<Label.GestureRecognizers>
|
||||
<TapGestureRecognizer Command="{Binding ShowAgbTappedCommand}"/>
|
||||
</Label.GestureRecognizers>
|
||||
|
|
|
@ -4,7 +4,7 @@
|
|||
xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
|
||||
xmlns:resources="clr-namespace:TINK.MultilingualResources;assembly=TINKLib"
|
||||
x:Class="TINK.View.Contact.ContactPage"
|
||||
Title="{x:Static resources:AppResources.MarkingContactPageTitle}">
|
||||
Title="{x:Static resources:AppResources.MarkingFeedbackAndContact}">
|
||||
<ContentPage.Resources>
|
||||
<conv:StringNotNullOrEmptyToVisibleConverter x:Key="StringNotNullOrEmpty_Converter"/>
|
||||
<conv:BoolInverterConverter x:Key="BoolInvert_Converter"/>
|
||||
|
|
|
@ -2,7 +2,8 @@
|
|||
<TabbedPage xmlns="http://xamarin.com/schemas/2014/forms"
|
||||
xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
|
||||
xmlns:resources="clr-namespace:TINK.MultilingualResources;assembly=TINKLib"
|
||||
x:Class="TINK.View.Contact.FeesAndBikesPage">
|
||||
x:Class="TINK.View.Contact.FeesAndBikesPage"
|
||||
Title="{x:Static resources:AppResources.MarkingFeesAndBikes}">
|
||||
<!--Pages can be added as references or inline-->
|
||||
<ContentPage Title="{x:Static resources:AppResources.MarkingTabFees}">
|
||||
<ContentPage.Content>
|
||||
|
|
|
@ -1,8 +1,10 @@
|
|||
<?xml version="1.0" encoding="utf-8" ?>
|
||||
<ContentPage xmlns="http://xamarin.com/schemas/2014/forms"
|
||||
xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
|
||||
xmlns:resources="clr-namespace:TINK.MultilingualResources;assembly=TINKLib"
|
||||
x:Class="TINK.View.FindBike.FindBikePage"
|
||||
xmlns:local_bike="clr-namespace:TINK.View.Bike">
|
||||
xmlns:local_bike="clr-namespace:TINK.View.Bike"
|
||||
Title="{x:Static resources:AppResources.MarkingFindBike}">
|
||||
<ContentPage.Resources>
|
||||
<ResourceDictionary>
|
||||
<local_bike:BikeViewCellTemplateSelector x:Key="bikeTemplateSelector"/>
|
||||
|
|
|
@ -1,8 +1,10 @@
|
|||
<?xml version="1.0" encoding="utf-8" ?>
|
||||
<TabbedPage xmlns="http://xamarin.com/schemas/2014/forms"
|
||||
xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
|
||||
x:Class="TINK.View.Info.InfoPage"
|
||||
x:Name="TabbedInfoPage">
|
||||
xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
|
||||
xmlns:resources="clr-namespace:TINK.MultilingualResources;assembly=TINKLib"
|
||||
x:Class="TINK.View.Info.InfoPage"
|
||||
x:Name="TabbedInfoPage"
|
||||
Title="{x:Static resources:AppResources.MarkingAbout}">
|
||||
<!--Pages can be added as references or inline-->
|
||||
<ContentPage Title="App">
|
||||
<ContentPage.Content>
|
||||
|
|
|
@ -2,7 +2,8 @@
|
|||
<ContentPage xmlns="http://xamarin.com/schemas/2014/forms"
|
||||
xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
|
||||
xmlns:resources="clr-namespace:TINK.MultilingualResources;assembly=TINKLib"
|
||||
x:Class="TINK.View.Login.LoginPage">
|
||||
x:Class="TINK.View.Login.LoginPage"
|
||||
Title="{x:Static resources:AppResources.MarkingLogin}">
|
||||
<ScrollView>
|
||||
<Frame>
|
||||
<StackLayout x:Name="LoginPageView">
|
||||
|
|
|
@ -4,15 +4,24 @@
|
|||
BackgroundColor="#009bda"
|
||||
x:Class="TINK.View.RootShell.FlyoutHeader">
|
||||
|
||||
<Grid Padding="0">
|
||||
<Grid Padding="20">
|
||||
<Grid.RowDefinitions>
|
||||
<RowDefinition Height="200" />
|
||||
<RowDefinition Height="Auto" />
|
||||
<RowDefinition Height="55" />
|
||||
</Grid.RowDefinitions>
|
||||
<Grid.ColumnDefinitions>
|
||||
<ColumnDefinition Width="363" />
|
||||
<ColumnDefinition Width="*" />
|
||||
</Grid.ColumnDefinitions>
|
||||
<Image
|
||||
Aspect="AspectFit"
|
||||
Grid.Row="0"
|
||||
HeightRequest="100"
|
||||
Aspect="AspectFit"
|
||||
HorizontalOptions="StartAndExpand"
|
||||
Source="sharee_no_background.png"/>
|
||||
<Label
|
||||
Grid.Row="1"
|
||||
Text="Gefördert durch 
Bayerisches Staatsministerium für 
Wohnen, Bau und Verkehr"
|
||||
TextColor="White"
|
||||
FontSize="Small"/>
|
||||
</Grid>
|
||||
</ContentView>
|
|
@ -1,33 +0,0 @@
|
|||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Globalization;
|
||||
using System.Text;
|
||||
using Xamarin.Forms;
|
||||
using TINK.Model.User.Account;
|
||||
using System.Linq;
|
||||
using System.Reflection;
|
||||
|
||||
namespace TINK.View.Settings
|
||||
{
|
||||
|
||||
/// <summary>
|
||||
/// Translates user permissions into visibility state.
|
||||
/// Used for container which holds a bunch of GUI elemets which migth all/ partly/ none be visible
|
||||
/// If all childs are invisible frame must be invisible as well. As soon as one child is visible frame must be visible as well.
|
||||
/// </summary>
|
||||
public class AnyPermissionToVisibleConverter : IValueConverter
|
||||
{
|
||||
/// <summary> Converts permission value into visible state.</summary>
|
||||
/// <param name="value">Permission value from view model used to derive whether object is visible or not.</param>
|
||||
/// <returns>Boolean value indicating whether object is visible or not.</returns>
|
||||
public object Convert(object value, Type targetType, object parameter, CultureInfo culture)
|
||||
{
|
||||
return ((Permissions)(value)) != Permissions.None;
|
||||
}
|
||||
|
||||
public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture)
|
||||
{
|
||||
return Permissions.None;
|
||||
}
|
||||
}
|
||||
}
|
|
@ -1,34 +0,0 @@
|
|||
using System;
|
||||
using System.Globalization;
|
||||
using Xamarin.Forms;
|
||||
using TINK.Model.User.Account;
|
||||
|
||||
namespace TINK.View.Settings
|
||||
{
|
||||
/// <summary> Translates user permissions into visibility state. </summary>
|
||||
public class PermissionToVisibleConverter : BindableObject, IValueConverter
|
||||
{
|
||||
static readonly BindableProperty VisibleFlagProperty =
|
||||
BindableProperty.Create(nameof(VisibleFlag), typeof(Permissions), typeof(BindableObject));
|
||||
|
||||
/// <summary> Property set from XAML determinig for which permission value object is visible.</summary>
|
||||
public Permissions VisibleFlag
|
||||
{
|
||||
get => (Permissions)GetValue(VisibleFlagProperty);
|
||||
set => SetValue(VisibleFlagProperty, value);
|
||||
}
|
||||
|
||||
/// <summary> Converts permission value into visible state.</summary>
|
||||
/// <param name="value">Permission value from view model used to derive whether object is visible or not.</param>
|
||||
/// <returns>Boolean value indicating whether object is visible or not.</returns>
|
||||
public object Convert(object value, Type targetType, object parameter, CultureInfo culture)
|
||||
{
|
||||
return ((Permissions)value).HasFlag(VisibleFlag);
|
||||
}
|
||||
|
||||
public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture)
|
||||
{
|
||||
return Permissions.None;
|
||||
}
|
||||
}
|
||||
}
|
|
@ -4,7 +4,8 @@
|
|||
x:Class="TINK.View.Settings.SettingsPage"
|
||||
xmlns:conv="clr-namespace:TINK.View.Settings;assembly=TINKLib"
|
||||
xmlns:account="clr-namespace:TINK.Model.User.Account;assembly=TINKLib"
|
||||
xmlns:resources="clr-namespace:TINK.MultilingualResources;assembly=TINKLib">
|
||||
xmlns:resources="clr-namespace:TINK.MultilingualResources;assembly=TINKLib"
|
||||
Title="{x:Static resources:AppResources.MarkingSettings}">
|
||||
|
||||
<ContentPage.Resources>
|
||||
<conv:BackendPermissionsToVisibleConverter x:Key="Frame_Converter"/>
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue