Menu "Find Bike" added.

This commit is contained in:
Oliver Hauff 2021-07-13 22:20:58 +02:00
parent a51a322d2e
commit 7bb4b24034
14 changed files with 91 additions and 1 deletions

View file

@ -6,6 +6,7 @@
<Application.Resources> <Application.Resources>
<ResourceDictionary> <ResourceDictionary>
<x:String x:Key="IconMap">&#xf5a0;</x:String> <x:String x:Key="IconMap">&#xf5a0;</x:String>
<x:String x:Key="IconFindBike">&#xf002;</x:String>
<x:String x:Key="IconMyBikes">&#xf206;</x:String> <x:String x:Key="IconMyBikes">&#xf206;</x:String>
<x:String x:Key="IconAccount">&#xf007;</x:String> <x:String x:Key="IconAccount">&#xf007;</x:String>
<x:String x:Key="IconLogin">&#xf2f6;</x:String> <x:String x:Key="IconLogin">&#xf2f6;</x:String>

View file

@ -33,6 +33,10 @@
<DependentUpon>FeedbackPopup.xaml</DependentUpon> <DependentUpon>FeedbackPopup.xaml</DependentUpon>
<SubType>Code</SubType> <SubType>Code</SubType>
</Compile> </Compile>
<Compile Include="$(MSBuildThisFileDirectory)View\FindBike\FindBikePage.xaml.cs">
<DependentUpon>FindBikePage.xaml</DependentUpon>
<SubType>Code</SubType>
</Compile>
<Compile Include="$(MSBuildThisFileDirectory)View\ListViewAttachedBehavior.cs" /> <Compile Include="$(MSBuildThisFileDirectory)View\ListViewAttachedBehavior.cs" />
<Compile Include="$(MSBuildThisFileDirectory)View\RootShell\FlyoutHeader.xaml.cs"> <Compile Include="$(MSBuildThisFileDirectory)View\RootShell\FlyoutHeader.xaml.cs">
<DependentUpon>FlyoutHeader.xaml</DependentUpon> <DependentUpon>FlyoutHeader.xaml</DependentUpon>
@ -314,4 +318,10 @@
<Generator>MSBuild:UpdateDesignTimeXaml</Generator> <Generator>MSBuild:UpdateDesignTimeXaml</Generator>
</EmbeddedResource> </EmbeddedResource>
</ItemGroup> </ItemGroup>
<ItemGroup>
<EmbeddedResource Include="$(MSBuildThisFileDirectory)View\FindBike\FindBikePage.xaml">
<SubType>Designer</SubType>
<Generator>MSBuild:UpdateDesignTimeXaml</Generator>
</EmbeddedResource>
</ItemGroup>
</Project> </Project>

View file

@ -0,0 +1,12 @@
<?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="TINK.View.FindBike.FindBikePage">
<ContentPage.Content>
<StackLayout>
<Label Text="Welcome to Xamarin.Forms!"
VerticalOptions="CenterAndExpand"
HorizontalOptions="CenterAndExpand" />
</StackLayout>
</ContentPage.Content>
</ContentPage>

View file

@ -0,0 +1,14 @@
using Xamarin.Forms;
using Xamarin.Forms.Xaml;
namespace TINK.View.FindBike
{
[XamlCompilation(XamlCompilationOptions.Compile)]
public partial class FindBikePage : ContentPage
{
public FindBikePage ()
{
InitializeComponent ();
}
}
}

View file

@ -3,6 +3,7 @@
xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml" xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
xmlns:resources="clr-namespace:TINK.MultilingualResources;assembly=TINKLib" xmlns:resources="clr-namespace:TINK.MultilingualResources;assembly=TINKLib"
xmlns:mappage="clr-namespace:TINK.View.Map" xmlns:mappage="clr-namespace:TINK.View.Map"
xmlns:findbike="clr-namespace:TINK.View.FindBike"
xmlns:mybikes="clr-namespace:TINK.View.MyBikes" xmlns:mybikes="clr-namespace:TINK.View.MyBikes"
xmlns:account="clr-namespace:TINK.View.Account" xmlns:account="clr-namespace:TINK.View.Account"
xmlns:login="clr-namespace:TINK.View.Login" xmlns:login="clr-namespace:TINK.View.Login"
@ -27,6 +28,16 @@
</ShellContent.FlyoutIcon> </ShellContent.FlyoutIcon>
</ShellContent> </ShellContent>
</FlyoutItem> </FlyoutItem>
<FlyoutItem FlyoutDisplayOptions="AsMultipleItems">
<ShellContent
Title="{x:Static resources:AppResources.MarkingFindBike}"
IsVisible="{Binding IsFindBikePageVisible}"
ContentTemplate="{DataTemplate findbike:FindBikePage}">
<ShellContent.FlyoutIcon>
<FontImageSource Glyph="{StaticResource IconFindBike}" Color="Black" FontFamily="FA-S" />
</ShellContent.FlyoutIcon>
</ShellContent>
</FlyoutItem>
<FlyoutItem FlyoutDisplayOptions="AsMultipleItems"> <FlyoutItem FlyoutDisplayOptions="AsMultipleItems">
<ShellContent <ShellContent
Title="{x:Static resources:AppResources.MarkingMyBikes}" Title="{x:Static resources:AppResources.MarkingMyBikes}"
@ -34,7 +45,7 @@
ContentTemplate="{DataTemplate mybikes:MyBikesPage}"> ContentTemplate="{DataTemplate mybikes:MyBikesPage}">
<ShellContent.FlyoutIcon> <ShellContent.FlyoutIcon>
<FontImageSource Glyph="{StaticResource IconMyBikes}" Color="Black" FontFamily="FA-S" /> <FontImageSource Glyph="{StaticResource IconMyBikes}" Color="Black" FontFamily="FA-S" />
</ShellContent.FlyoutIcon> </ShellContent.FlyoutIcon>
</ShellContent> </ShellContent>
</FlyoutItem> </FlyoutItem>
<FlyoutItem FlyoutDisplayOptions="AsMultipleItems"> <FlyoutItem FlyoutDisplayOptions="AsMultipleItems">

View file

@ -10,6 +10,7 @@ using TINK.View.Contact;
using TINK.View.Info; using TINK.View.Info;
using TINK.View.Login; using TINK.View.Login;
using TINK.View.Map; using TINK.View.Map;
using TINK.View.FindBike;
using TINK.View.MyBikes; using TINK.View.MyBikes;
using TINK.View.Root; using TINK.View.Root;
using TINK.View.Settings; using TINK.View.Settings;
@ -51,6 +52,7 @@ namespace TINK.ViewModel.Root
if (App.ModelRoot.ActiveUser.IsLoggedIn) if (App.ModelRoot.ActiveUser.IsLoggedIn)
{ {
CheckAddItem(typeof(MyBikesPage)); CheckAddItem(typeof(MyBikesPage));
CheckAddItem(typeof(FindBikePage));
CheckAddItem(typeof(AccountPage)); CheckAddItem(typeof(AccountPage));
} }
else else

View file

@ -2,6 +2,7 @@
using TINK.MultilingualResources; using TINK.MultilingualResources;
using TINK.View.Account; using TINK.View.Account;
using TINK.View.Contact; using TINK.View.Contact;
using TINK.View.FindBike;
using TINK.View.Info; using TINK.View.Info;
using TINK.View.Login; using TINK.View.Login;
using TINK.View.Map; using TINK.View.Map;
@ -24,6 +25,10 @@ namespace TINK.ViewModel.MasterDetail
{ {
return AppResources.MarkingMapPage; return AppResources.MarkingMapPage;
} }
else if (type == typeof(FindBikePage)) // Find Bike
{
return AppResources.MarkingFindBike;
}
else if (type == typeof(MyBikesPage)) // My Bikes else if (type == typeof(MyBikesPage)) // My Bikes
{ {
return AppResources.MarkingMyBikes; return AppResources.MarkingMyBikes;
@ -69,6 +74,10 @@ namespace TINK.ViewModel.MasterDetail
{ {
return "\uf5a0"; return "\uf5a0";
} }
else if (type == typeof(FindBikePage)) // My Bikes
{
return "\uf002";
}
else if (type == typeof(MyBikesPage)) // My Bikes else if (type == typeof(MyBikesPage)) // My Bikes
{ {
return "\uf206"; return "\uf206";

View file

@ -8,6 +8,7 @@ using TINK.Services.CopriApi.ServerUris;
using TINK.View; using TINK.View;
using TINK.View.Account; using TINK.View.Account;
using TINK.View.Contact; using TINK.View.Contact;
using TINK.View.FindBike;
using TINK.View.Info; using TINK.View.Info;
using TINK.View.Login; using TINK.View.Login;
using TINK.View.Map; using TINK.View.Map;
@ -44,6 +45,7 @@ namespace TINK.ViewModel
if (App.ModelRoot.ActiveUser.IsLoggedIn) if (App.ModelRoot.ActiveUser.IsLoggedIn)
{ {
CheckAddItem(typeof(MyBikesPage)); CheckAddItem(typeof(MyBikesPage));
CheckAddItem(typeof(FindBikePage));
CheckAddItem(typeof(AccountPage)); CheckAddItem(typeof(AccountPage));
} }
else else

View file

@ -15,6 +15,7 @@ namespace TINK.ViewModel.RootShell
{ {
// Login state changed. Update related menu entries. // Login state changed. Update related menu entries.
PropertyChanged?.Invoke(this, new PropertyChangedEventArgs(nameof(IsMyBikesPageVisible))); PropertyChanged?.Invoke(this, new PropertyChangedEventArgs(nameof(IsMyBikesPageVisible)));
PropertyChanged?.Invoke(this, new PropertyChangedEventArgs(nameof(IsFindBikePageVisible)));
PropertyChanged?.Invoke(this, new PropertyChangedEventArgs(nameof(IsAccountPageVisible))); PropertyChanged?.Invoke(this, new PropertyChangedEventArgs(nameof(IsAccountPageVisible)));
PropertyChanged?.Invoke(this, new PropertyChangedEventArgs(nameof(IsLoginPageVisible))); PropertyChanged?.Invoke(this, new PropertyChangedEventArgs(nameof(IsLoginPageVisible)));
PropertyChanged?.Invoke(this, new PropertyChangedEventArgs(nameof(IsSettingsPageVisible))); PropertyChanged?.Invoke(this, new PropertyChangedEventArgs(nameof(IsSettingsPageVisible)));
@ -56,6 +57,8 @@ namespace TINK.ViewModel.RootShell
public bool IsMyBikesPageVisible => App.ModelRoot.ActiveUser.IsLoggedIn; public bool IsMyBikesPageVisible => App.ModelRoot.ActiveUser.IsLoggedIn;
public bool IsFindBikePageVisible => App.ModelRoot.ActiveUser.IsLoggedIn;
public bool IsAccountPageVisible => App.ModelRoot.ActiveUser.IsLoggedIn; public bool IsAccountPageVisible => App.ModelRoot.ActiveUser.IsLoggedIn;
public bool IsLoginPageVisible => !App.ModelRoot.ActiveUser.IsLoggedIn; public bool IsLoginPageVisible => !App.ModelRoot.ActiveUser.IsLoggedIn;

View file

@ -1047,6 +1047,15 @@ namespace TINK.MultilingualResources {
} }
} }
/// <summary>
/// Looks up a localized string similar to Find Bike.
/// </summary>
public static string MarkingFindBike {
get {
return ResourceManager.GetString("MarkingFindBike", resourceCulture);
}
}
/// <summary> /// <summary>
/// Looks up a localized string similar to Logged in as {0}.. /// Looks up a localized string similar to Logged in as {0}..
/// </summary> /// </summary>

View file

@ -604,4 +604,7 @@ Layout Anzeige Radnamen und nummern verbessert.</value>
<data name="ChangeLog3_0_239" xml:space="preserve"> <data name="ChangeLog3_0_239" xml:space="preserve">
<value>Fehlerbehebung: Radname wird wieder korrekt angezeigt.</value> <value>Fehlerbehebung: Radname wird wieder korrekt angezeigt.</value>
</data> </data>
<data name="MarkingFindBike" xml:space="preserve">
<value>Fahrrad Wählen</value>
</data>
</root> </root>

View file

@ -700,4 +700,7 @@ Layout of bike names and id display improved.</value>
<data name="ChangeLog3_0_239" xml:space="preserve"> <data name="ChangeLog3_0_239" xml:space="preserve">
<value>Bugfix: Bike description is displayed correctly again.</value> <value>Bugfix: Bike description is displayed correctly again.</value>
</data> </data>
<data name="MarkingFindBike" xml:space="preserve">
<value>Find Bike</value>
</data>
</root> </root>

View file

@ -809,6 +809,10 @@ Layout Anzeige Radnamen und nummern verbessert.</target>
<source>Bugfix: Bike description is displayed correctly again.</source> <source>Bugfix: Bike description is displayed correctly again.</source>
<target state="translated">Fehlerbehebung: Radname wird wieder korrekt angezeigt.</target> <target state="translated">Fehlerbehebung: Radname wird wieder korrekt angezeigt.</target>
</trans-unit> </trans-unit>
<trans-unit id="MarkingFindBike" translate="yes" xml:space="preserve">
<source>Find Bike</source>
<target state="translated">Fahrrad Wählen</target>
</trans-unit>
</group> </group>
</body> </body>
</file> </file>

View file

@ -0,0 +1,7 @@

namespace TINK.ViewModel.FindBike
{
public class FindBikeViewModel
{
}
}