mirror of
https://dev.azure.com/TeilRad/sharee.bike%20App/_git/Code
synced 2025-04-21 20:46:28 +02:00
Version 3.0.370
This commit is contained in:
parent
f5cf9bb22f
commit
bdb2dec1c1
233 changed files with 10252 additions and 6779 deletions
|
@ -14,6 +14,7 @@ using Xamarin.Forms.Platform.Android.AppLinks;
|
|||
using static Xamarin.Essentials.Permissions;
|
||||
using Xamarin.Essentials;
|
||||
using Android.Runtime;
|
||||
using Xamarin.Forms;
|
||||
|
||||
namespace TINK.Droid
|
||||
{
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<manifest xmlns:android="http://schemas.android.com/apk/res/android" android:installLocation="internalOnly" package="com.hauffware.sharee" android:versionName="3.0.369" android:versionCode="369">
|
||||
<manifest xmlns:android="http://schemas.android.com/apk/res/android" android:installLocation="internalOnly" package="com.hauffware.sharee" android:versionName="3.0.370" android:versionCode="370">
|
||||
<uses-sdk android:minSdkVersion="19" android:targetSdkVersion="33" />
|
||||
<!-- Google Maps related permissions -->
|
||||
<!-- Permission to receive remote notifications from Google Play Services -->
|
||||
|
|
141
TINK/TINK.Android/Resources/Resource.Designer.cs
generated
141
TINK/TINK.Android/Resources/Resource.Designer.cs
generated
|
@ -14,7 +14,7 @@ namespace TINK.Droid
|
|||
{
|
||||
|
||||
|
||||
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("Xamarin.Android.Build.Tasks", "13.2.0.93")]
|
||||
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("Xamarin.Android.Build.Tasks", "13.2.1.111")]
|
||||
public partial class Resource
|
||||
{
|
||||
|
||||
|
@ -24011,208 +24011,211 @@ namespace TINK.Droid
|
|||
public const int ic_vol_unmute = 2131165510;
|
||||
|
||||
// aapt resource value: 0x7F070147
|
||||
public const int material_cursor_drawable = 2131165511;
|
||||
public const int Location_Button = 2131165511;
|
||||
|
||||
// aapt resource value: 0x7F070148
|
||||
public const int material_ic_calendar_black_24dp = 2131165512;
|
||||
public const int material_cursor_drawable = 2131165512;
|
||||
|
||||
// aapt resource value: 0x7F070149
|
||||
public const int material_ic_clear_black_24dp = 2131165513;
|
||||
public const int material_ic_calendar_black_24dp = 2131165513;
|
||||
|
||||
// aapt resource value: 0x7F07014A
|
||||
public const int material_ic_edit_black_24dp = 2131165514;
|
||||
public const int material_ic_clear_black_24dp = 2131165514;
|
||||
|
||||
// aapt resource value: 0x7F07014B
|
||||
public const int material_ic_keyboard_arrow_left_black_24dp = 2131165515;
|
||||
public const int material_ic_edit_black_24dp = 2131165515;
|
||||
|
||||
// aapt resource value: 0x7F07014C
|
||||
public const int material_ic_keyboard_arrow_next_black_24dp = 2131165516;
|
||||
public const int material_ic_keyboard_arrow_left_black_24dp = 2131165516;
|
||||
|
||||
// aapt resource value: 0x7F07014D
|
||||
public const int material_ic_keyboard_arrow_previous_black_24dp = 2131165517;
|
||||
public const int material_ic_keyboard_arrow_next_black_24dp = 2131165517;
|
||||
|
||||
// aapt resource value: 0x7F07014E
|
||||
public const int material_ic_keyboard_arrow_right_black_24dp = 2131165518;
|
||||
public const int material_ic_keyboard_arrow_previous_black_24dp = 2131165518;
|
||||
|
||||
// aapt resource value: 0x7F07014F
|
||||
public const int material_ic_menu_arrow_down_black_24dp = 2131165519;
|
||||
public const int material_ic_keyboard_arrow_right_black_24dp = 2131165519;
|
||||
|
||||
// aapt resource value: 0x7F070150
|
||||
public const int material_ic_menu_arrow_up_black_24dp = 2131165520;
|
||||
public const int material_ic_menu_arrow_down_black_24dp = 2131165520;
|
||||
|
||||
// aapt resource value: 0x7F070151
|
||||
public const int mr_button_connected_dark = 2131165521;
|
||||
public const int material_ic_menu_arrow_up_black_24dp = 2131165521;
|
||||
|
||||
// aapt resource value: 0x7F070152
|
||||
public const int mr_button_connected_light = 2131165522;
|
||||
public const int mr_button_connected_dark = 2131165522;
|
||||
|
||||
// aapt resource value: 0x7F070153
|
||||
public const int mr_button_connecting_dark = 2131165523;
|
||||
public const int mr_button_connected_light = 2131165523;
|
||||
|
||||
// aapt resource value: 0x7F070154
|
||||
public const int mr_button_connecting_light = 2131165524;
|
||||
public const int mr_button_connecting_dark = 2131165524;
|
||||
|
||||
// aapt resource value: 0x7F070155
|
||||
public const int mr_button_dark = 2131165525;
|
||||
public const int mr_button_connecting_light = 2131165525;
|
||||
|
||||
// aapt resource value: 0x7F070156
|
||||
public const int mr_button_dark_static = 2131165526;
|
||||
public const int mr_button_dark = 2131165526;
|
||||
|
||||
// aapt resource value: 0x7F070157
|
||||
public const int mr_button_light = 2131165527;
|
||||
public const int mr_button_dark_static = 2131165527;
|
||||
|
||||
// aapt resource value: 0x7F070158
|
||||
public const int mr_button_light_static = 2131165528;
|
||||
public const int mr_button_light = 2131165528;
|
||||
|
||||
// aapt resource value: 0x7F070159
|
||||
public const int mr_cast_checkbox = 2131165529;
|
||||
public const int mr_button_light_static = 2131165529;
|
||||
|
||||
// aapt resource value: 0x7F07015A
|
||||
public const int mr_cast_group_seekbar_track = 2131165530;
|
||||
public const int mr_cast_checkbox = 2131165530;
|
||||
|
||||
// aapt resource value: 0x7F07015B
|
||||
public const int mr_cast_mute_button = 2131165531;
|
||||
public const int mr_cast_group_seekbar_track = 2131165531;
|
||||
|
||||
// aapt resource value: 0x7F07015C
|
||||
public const int mr_cast_route_seekbar_track = 2131165532;
|
||||
public const int mr_cast_mute_button = 2131165532;
|
||||
|
||||
// aapt resource value: 0x7F07015D
|
||||
public const int mr_cast_stop = 2131165533;
|
||||
public const int mr_cast_route_seekbar_track = 2131165533;
|
||||
|
||||
// aapt resource value: 0x7F07015E
|
||||
public const int mr_cast_thumb = 2131165534;
|
||||
public const int mr_cast_stop = 2131165534;
|
||||
|
||||
// aapt resource value: 0x7F07015F
|
||||
public const int mr_dialog_close_dark = 2131165535;
|
||||
public const int mr_cast_thumb = 2131165535;
|
||||
|
||||
// aapt resource value: 0x7F070160
|
||||
public const int mr_dialog_close_light = 2131165536;
|
||||
public const int mr_dialog_close_dark = 2131165536;
|
||||
|
||||
// aapt resource value: 0x7F070161
|
||||
public const int mr_dialog_material_background_dark = 2131165537;
|
||||
public const int mr_dialog_close_light = 2131165537;
|
||||
|
||||
// aapt resource value: 0x7F070162
|
||||
public const int mr_dialog_material_background_light = 2131165538;
|
||||
public const int mr_dialog_material_background_dark = 2131165538;
|
||||
|
||||
// aapt resource value: 0x7F070163
|
||||
public const int mr_group_collapse = 2131165539;
|
||||
public const int mr_dialog_material_background_light = 2131165539;
|
||||
|
||||
// aapt resource value: 0x7F070164
|
||||
public const int mr_group_expand = 2131165540;
|
||||
public const int mr_group_collapse = 2131165540;
|
||||
|
||||
// aapt resource value: 0x7F070165
|
||||
public const int mr_media_pause_dark = 2131165541;
|
||||
public const int mr_group_expand = 2131165541;
|
||||
|
||||
// aapt resource value: 0x7F070166
|
||||
public const int mr_media_pause_light = 2131165542;
|
||||
public const int mr_media_pause_dark = 2131165542;
|
||||
|
||||
// aapt resource value: 0x7F070167
|
||||
public const int mr_media_play_dark = 2131165543;
|
||||
public const int mr_media_pause_light = 2131165543;
|
||||
|
||||
// aapt resource value: 0x7F070168
|
||||
public const int mr_media_play_light = 2131165544;
|
||||
public const int mr_media_play_dark = 2131165544;
|
||||
|
||||
// aapt resource value: 0x7F070169
|
||||
public const int mr_media_stop_dark = 2131165545;
|
||||
public const int mr_media_play_light = 2131165545;
|
||||
|
||||
// aapt resource value: 0x7F07016A
|
||||
public const int mr_media_stop_light = 2131165546;
|
||||
public const int mr_media_stop_dark = 2131165546;
|
||||
|
||||
// aapt resource value: 0x7F07016B
|
||||
public const int mr_vol_type_audiotrack_dark = 2131165547;
|
||||
public const int mr_media_stop_light = 2131165547;
|
||||
|
||||
// aapt resource value: 0x7F07016C
|
||||
public const int mr_vol_type_audiotrack_light = 2131165548;
|
||||
public const int mr_vol_type_audiotrack_dark = 2131165548;
|
||||
|
||||
// aapt resource value: 0x7F07016D
|
||||
public const int mtrl_dialog_background = 2131165549;
|
||||
public const int mr_vol_type_audiotrack_light = 2131165549;
|
||||
|
||||
// aapt resource value: 0x7F07016E
|
||||
public const int mtrl_dropdown_arrow = 2131165550;
|
||||
public const int mtrl_dialog_background = 2131165550;
|
||||
|
||||
// aapt resource value: 0x7F07016F
|
||||
public const int mtrl_ic_arrow_drop_down = 2131165551;
|
||||
public const int mtrl_dropdown_arrow = 2131165551;
|
||||
|
||||
// aapt resource value: 0x7F070170
|
||||
public const int mtrl_ic_arrow_drop_up = 2131165552;
|
||||
public const int mtrl_ic_arrow_drop_down = 2131165552;
|
||||
|
||||
// aapt resource value: 0x7F070171
|
||||
public const int mtrl_ic_cancel = 2131165553;
|
||||
public const int mtrl_ic_arrow_drop_up = 2131165553;
|
||||
|
||||
// aapt resource value: 0x7F070172
|
||||
public const int mtrl_ic_error = 2131165554;
|
||||
public const int mtrl_ic_cancel = 2131165554;
|
||||
|
||||
// aapt resource value: 0x7F070173
|
||||
public const int mtrl_navigation_bar_item_background = 2131165555;
|
||||
public const int mtrl_ic_error = 2131165555;
|
||||
|
||||
// aapt resource value: 0x7F070174
|
||||
public const int mtrl_popupmenu_background = 2131165556;
|
||||
public const int mtrl_navigation_bar_item_background = 2131165556;
|
||||
|
||||
// aapt resource value: 0x7F070175
|
||||
public const int mtrl_popupmenu_background_dark = 2131165557;
|
||||
public const int mtrl_popupmenu_background = 2131165557;
|
||||
|
||||
// aapt resource value: 0x7F070176
|
||||
public const int mtrl_tabs_default_indicator = 2131165558;
|
||||
public const int mtrl_popupmenu_background_dark = 2131165558;
|
||||
|
||||
// aapt resource value: 0x7F070177
|
||||
public const int navigation_empty_icon = 2131165559;
|
||||
public const int mtrl_tabs_default_indicator = 2131165559;
|
||||
|
||||
// aapt resource value: 0x7F070178
|
||||
public const int notification_action_background = 2131165560;
|
||||
public const int navigation_empty_icon = 2131165560;
|
||||
|
||||
// aapt resource value: 0x7F070179
|
||||
public const int notification_bg = 2131165561;
|
||||
public const int notification_action_background = 2131165561;
|
||||
|
||||
// aapt resource value: 0x7F07017A
|
||||
public const int notification_bg_low = 2131165562;
|
||||
public const int notification_bg = 2131165562;
|
||||
|
||||
// aapt resource value: 0x7F07017B
|
||||
public const int notification_bg_low_normal = 2131165563;
|
||||
public const int notification_bg_low = 2131165563;
|
||||
|
||||
// aapt resource value: 0x7F07017C
|
||||
public const int notification_bg_low_pressed = 2131165564;
|
||||
public const int notification_bg_low_normal = 2131165564;
|
||||
|
||||
// aapt resource value: 0x7F07017D
|
||||
public const int notification_bg_normal = 2131165565;
|
||||
public const int notification_bg_low_pressed = 2131165565;
|
||||
|
||||
// aapt resource value: 0x7F07017E
|
||||
public const int notification_bg_normal_pressed = 2131165566;
|
||||
public const int notification_bg_normal = 2131165566;
|
||||
|
||||
// aapt resource value: 0x7F07017F
|
||||
public const int notification_icon_background = 2131165567;
|
||||
public const int notification_bg_normal_pressed = 2131165567;
|
||||
|
||||
// aapt resource value: 0x7F070180
|
||||
public const int notification_template_icon_bg = 2131165568;
|
||||
public const int notification_icon_background = 2131165568;
|
||||
|
||||
// aapt resource value: 0x7F070181
|
||||
public const int notification_template_icon_low_bg = 2131165569;
|
||||
public const int notification_template_icon_bg = 2131165569;
|
||||
|
||||
// aapt resource value: 0x7F070182
|
||||
public const int notification_tile_bg = 2131165570;
|
||||
public const int notification_template_icon_low_bg = 2131165570;
|
||||
|
||||
// aapt resource value: 0x7F070183
|
||||
public const int notify_panel_notification_icon_bg = 2131165571;
|
||||
public const int notification_tile_bg = 2131165571;
|
||||
|
||||
// aapt resource value: 0x7F070184
|
||||
public const int preference_list_divider_material = 2131165572;
|
||||
public const int notify_panel_notification_icon_bg = 2131165572;
|
||||
|
||||
// aapt resource value: 0x7F070185
|
||||
public const int sharee = 2131165573;
|
||||
public const int preference_list_divider_material = 2131165573;
|
||||
|
||||
// aapt resource value: 0x7F070186
|
||||
public const int sharee_no_background = 2131165574;
|
||||
public const int sharee = 2131165574;
|
||||
|
||||
// aapt resource value: 0x7F070187
|
||||
public const int test_custom_background = 2131165575;
|
||||
public const int sharee_no_background = 2131165575;
|
||||
|
||||
// aapt resource value: 0x7F070188
|
||||
public const int test_level_drawable = 2131165576;
|
||||
public const int test_custom_background = 2131165576;
|
||||
|
||||
// aapt resource value: 0x7F070189
|
||||
public const int tooltip_frame_dark = 2131165577;
|
||||
public const int test_level_drawable = 2131165577;
|
||||
|
||||
// aapt resource value: 0x7F07018A
|
||||
public const int tooltip_frame_light = 2131165578;
|
||||
public const int tooltip_frame_dark = 2131165578;
|
||||
|
||||
// aapt resource value: 0x7F07018B
|
||||
public const int tooltip_frame_light = 2131165579;
|
||||
|
||||
static Drawable()
|
||||
{
|
||||
|
|
|
@ -56,8 +56,8 @@
|
|||
<key>CFBundleDisplayName</key>
|
||||
<string>sharee.bike</string>
|
||||
<key>CFBundleVersion</key>
|
||||
<string>369</string>
|
||||
<string>370</string>
|
||||
<key>CFBundleShortVersionString</key>
|
||||
<string>3.0.369</string>
|
||||
<string>3.0.370</string>
|
||||
</dict>
|
||||
</plist>
|
||||
|
|
BIN
TINK/TINK.iOS/Resources/Font Awesome 5 Free-Solid-900.otf
Normal file
BIN
TINK/TINK.iOS/Resources/Font Awesome 5 Free-Solid-900.otf
Normal file
Binary file not shown.
|
@ -1,4 +1,4 @@
|
|||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<document type="com.apple.InterfaceBuilder3.CocoaTouch.Storyboard.XIB" version="3.0" toolsVersion="6245" systemVersion="13F34" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" useTraitCollections="YES" initialViewController="X5k-f2-b5h">
|
||||
<dependencies>
|
||||
<plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="6238"/>
|
||||
|
@ -41,6 +41,5 @@
|
|||
<image name="Icon-76.png" width="76" height="76"/>
|
||||
<image name="Icon-Small-40.png" width="40" height="40"/>
|
||||
<image name="Icon-Small.png" width="29" height="29"/>
|
||||
<image name="tink2.png" width="208" height="208"/>
|
||||
</resources>
|
||||
</document>
|
||||
</document>
|
||||
|
|
|
@ -31,7 +31,11 @@ using Arendi.BleLibrary.Local;
|
|||
|
||||
// Add ExportFont attribute
|
||||
[assembly: ExportFont("Font Awesome 5 Free-Solid-900.otf", Alias = "FA-S")]
|
||||
[assembly: ExportFont("Font Awesome 5 Brands-Regular-400.otf", Alias = "FA-B")]
|
||||
[assembly: ExportFont("Font Awesome 5 Free-Regular-400.otf", Alias = "FA-R")]
|
||||
[assembly: ExportFont("Roboto-Regular.ttf", Alias = "RobotoRegular")]
|
||||
[assembly: ExportFont("Roboto-Bold.ttf", Alias = "RobotoBold")]
|
||||
[assembly: ExportFont("Roboto-Italic.ttf", Alias = "RobotoItalic")]
|
||||
|
||||
namespace TINK
|
||||
{
|
||||
|
|
BIN
TINK/TINK/Resources/Fonts/Font Awesome 5 Brands-Regular-400.otf
Normal file
BIN
TINK/TINK/Resources/Fonts/Font Awesome 5 Brands-Regular-400.otf
Normal file
Binary file not shown.
BIN
TINK/TINK/Resources/Fonts/Font Awesome 5 Free-Regular-400.otf
Normal file
BIN
TINK/TINK/Resources/Fonts/Font Awesome 5 Free-Regular-400.otf
Normal file
Binary file not shown.
|
@ -319,6 +319,12 @@
|
|||
</EmbeddedResource>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<EmbeddedResource Include="$(MSBuildThisFileDirectory)Resources\Fonts\Font Awesome 5 Brands-Regular-400.otf">
|
||||
<Generator>MSBuild:Compile</Generator>
|
||||
</EmbeddedResource>
|
||||
<EmbeddedResource Include="$(MSBuildThisFileDirectory)Resources\Fonts\Font Awesome 5 Free-Regular-400.otf">
|
||||
<Generator>MSBuild:Compile</Generator>
|
||||
</EmbeddedResource>
|
||||
<Content Include="$(MSBuildThisFileDirectory)Resources\Fonts\Roboto-Bold.ttf" />
|
||||
<Content Include="$(MSBuildThisFileDirectory)Resources\Fonts\Roboto-Italic.ttf" />
|
||||
</ItemGroup>
|
||||
|
|
|
@ -48,14 +48,14 @@
|
|||
Text="{Binding BookingStateInfo}" />
|
||||
|
||||
<Button
|
||||
Text="{x:Static resources:AppResources.MessageAccountPageManagePersonalData}"
|
||||
Text="{x:Static resources:AppResources.MarkingAccountPageManagePersonalData}"
|
||||
Command="{Binding OnManageAccount}"
|
||||
IsEnabled="{Binding IsLogoutPossible}">
|
||||
</Button>
|
||||
|
||||
<Button
|
||||
Style="{StaticResource SecondaryButton}"
|
||||
Text="{x:Static resources:AppResources.MessageAccountPageManageLogout}"
|
||||
Text="{x:Static resources:AppResources.MarkingAccountPageManageLogout}"
|
||||
Command="{Binding OnLogoutRequest}"
|
||||
IsEnabled="{Binding IsLogoutPossible}">
|
||||
</Button>
|
||||
|
|
|
@ -2,11 +2,12 @@
|
|||
<ContentPage
|
||||
xmlns="http://xamarin.com/schemas/2014/forms"
|
||||
xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
|
||||
xmlns:xct="http://xamarin.com/schemas/2020/toolkit"
|
||||
xmlns:rental_process="clr-namespace:TINK.ViewModel.Bikes;assembly=TINKLib"
|
||||
x:Class="TINK.View.BikesAtStation.BikesAtStationPage"
|
||||
xmlns:local_bike="clr-namespace:TINK.View.Bike"
|
||||
xmlns:resources="clr-namespace:TINK.MultilingualResources;assembly=TINKLib"
|
||||
xmlns:sharedGui="clr-namespace:ShareeSharedGuiLib.View"
|
||||
Shell.FlyoutBehavior="Disabled"
|
||||
xmlns:bikeRentalProcess="clr-namespace:ShareeSharedGuiLib.View.Bike.RentalProcess"
|
||||
BackgroundColor="{DynamicResource background-color}"
|
||||
Shell.NavBarIsVisible="{Binding IsIdle}">
|
||||
|
||||
|
@ -20,6 +21,15 @@
|
|||
<ContentPage.Resources>
|
||||
<ResourceDictionary>
|
||||
<local_bike:BikeViewCellTemplateSelector x:Key="bikeTemplateSelector"/>
|
||||
<xct:MultiConverter x:Key="RentalProcessToVisibleConverter">
|
||||
<xct:EnumToBoolConverter>
|
||||
<xct:EnumToBoolConverter.TrueValues>
|
||||
<rental_process:CurrentRentalProcess>CloseLock</rental_process:CurrentRentalProcess>
|
||||
<rental_process:CurrentRentalProcess>EndRental</rental_process:CurrentRentalProcess>
|
||||
</xct:EnumToBoolConverter.TrueValues>
|
||||
</xct:EnumToBoolConverter>
|
||||
<xct:InvertedBoolConverter />
|
||||
</xct:MultiConverter>
|
||||
</ResourceDictionary>
|
||||
</ContentPage.Resources>
|
||||
|
||||
|
@ -27,8 +37,10 @@
|
|||
|
||||
<!--Grid for Bike(s) view and Running process in same row-->
|
||||
<Grid>
|
||||
<!-- Grid for Content -->
|
||||
|
||||
<!--BikesAtStationPage Content-->
|
||||
<Grid
|
||||
IsVisible="{Binding RentalProcess.State, Converter={StaticResource RentalProcessToVisibleConverter}}"
|
||||
Grid.Row="0"
|
||||
RowSpacing="0"
|
||||
RowDefinitions="1*,Auto">
|
||||
|
@ -188,6 +200,14 @@
|
|||
IsVisible="{Binding IsProcessWithRunningProcessView}"
|
||||
Grid.Row="0"/>
|
||||
|
||||
<!--CloseLock View-->
|
||||
<bikeRentalProcess:RentalProcessBookedOpenCloseLock
|
||||
Grid.Row="0"/>
|
||||
|
||||
<!--EndRental View-->
|
||||
<bikeRentalProcess:RentalProcessBookedClosedEndRental
|
||||
Grid.Row="0"/>
|
||||
|
||||
</Grid>
|
||||
|
||||
</ContentPage.Content>
|
||||
|
|
|
@ -24,6 +24,7 @@ namespace TINK.View.BikesAtStation
|
|||
using TINK.ViewModel.Bikes;
|
||||
using Xamarin.CommunityToolkit.Extensions;
|
||||
using TINK.Model.Bikes.BikeInfoNS.DriveNS.BatteryNS;
|
||||
using TINK.MultilingualResources;
|
||||
|
||||
[XamlCompilation(XamlCompilationOptions.Compile)]
|
||||
#if USEFLYOUT
|
||||
|
@ -111,7 +112,10 @@ namespace TINK.View.BikesAtStation
|
|||
catch (Exception exception)
|
||||
{
|
||||
Log.ForContext<BikesAtStationPage>().Error("Displaying bikes at station page failed. {Exception}", exception);
|
||||
await DisplayAlert("Fehler", $"Seite Räder an Station kann nicht angezeigt werden. ${exception.Message}", "OK");
|
||||
await DisplayAlert(
|
||||
AppResources.ErrorPageNotLoadedTitle,
|
||||
$"{AppResources.ErrorPageNotLoaded}\r\n{exception.Message}",
|
||||
AppResources.MessageAnswerOk);
|
||||
isInitializationStarted = false;
|
||||
return;
|
||||
}
|
||||
|
|
|
@ -59,7 +59,7 @@
|
|||
|
||||
</StackLayout>
|
||||
|
||||
<!--Contact operator of selected station-->
|
||||
<!--contact customer support of selected station-->
|
||||
<StackLayout
|
||||
IsVisible="{Binding IsOperatorInfoAvaliable}">
|
||||
|
||||
|
|
|
@ -115,20 +115,25 @@
|
|||
|
||||
<!--Info text-->
|
||||
<Label
|
||||
Grid.Row="3"
|
||||
Grid.ColumnSpan="3"
|
||||
Text="{Binding StatusInfoText}"
|
||||
IsVisible="{Binding Path=IsProcessWithRunningProcessView, Converter={StaticResource InvertedBoolConverter}}"
|
||||
FontSize="Small"
|
||||
Padding="5"
|
||||
TextColor="DimGray"
|
||||
HorizontalOptions="CenterAndExpand">
|
||||
Grid.Row="3"
|
||||
Grid.ColumnSpan="3"
|
||||
Text="{Binding StatusInfoText}"
|
||||
IsVisible="{Binding Path=IsProcessWithRunningProcessView, Converter={StaticResource InvertedBoolConverter}}"
|
||||
FontSize="Small"
|
||||
Padding="5"
|
||||
TextColor="DimGray"
|
||||
HorizontalOptions="CenterAndExpand">
|
||||
<Label.Triggers>
|
||||
<DataTrigger
|
||||
TargetType="Label"
|
||||
Binding="{Binding Path=StatusInfoText.Length}" Value="0">
|
||||
<Setter Property="HeightRequest" Value="0" />
|
||||
</DataTrigger>
|
||||
<DataTrigger
|
||||
TargetType="Label"
|
||||
Binding="{Binding Path=StatusInfoText}" Value="Offline.">
|
||||
<Setter Property="HeightRequest" Value="0" />
|
||||
</DataTrigger>
|
||||
</Label.Triggers>
|
||||
</Label>
|
||||
|
||||
|
|
|
@ -8,7 +8,7 @@
|
|||
<Shell.TitleView>
|
||||
<Grid ColumnDefinitions="Auto, 1*">
|
||||
<Label Style="{StaticResource Label-Navbar}"
|
||||
Text="{x:Static resources:AppResources.MessageAccountPageManagePersonalData}"/>
|
||||
Text="{x:Static resources:AppResources.MarkingAccountPageManagePersonalData}"/>
|
||||
</Grid>
|
||||
</Shell.TitleView>
|
||||
|
||||
|
|
|
@ -6,109 +6,140 @@
|
|||
x:TypeArguments="local:FeedbackPopup+Result"
|
||||
xmlns:sharedGui="clr-namespace:ShareeSharedGuiLib.View"
|
||||
xmlns:resources="clr-namespace:TINK.MultilingualResources;assembly=TINKLib"
|
||||
IsLightDismissEnabled="false"
|
||||
x:Class="TINK.View.FeedbackPopup">
|
||||
|
||||
<xct:Popup.Resources>
|
||||
<x:String x:Key="check_circle"></x:String>
|
||||
</xct:Popup.Resources>
|
||||
|
||||
<xct:Popup.Resources>
|
||||
<x:String x:Key="check_circle"></x:String>
|
||||
<x:String x:Key="WriteFeedback"></x:String>
|
||||
</xct:Popup.Resources>
|
||||
|
||||
<ScrollView
|
||||
Orientation="Vertical"
|
||||
HorizontalOptions="FillAndExpand"
|
||||
VerticalOptions="FillAndExpand">
|
||||
|
||||
|
||||
<StackLayout
|
||||
HorizontalOptions="FillAndExpand"
|
||||
VerticalOptions="FillAndExpand"
|
||||
Padding="0,0,0,300">
|
||||
Padding="0,0,0,400">
|
||||
|
||||
<!-- Head and title -->
|
||||
<StackLayout
|
||||
Padding="20"
|
||||
BackgroundColor="{DynamicResource primary-back-title-color}">
|
||||
<Label
|
||||
HorizontalTextAlignment="Center"
|
||||
FontSize="Large"
|
||||
TextColor="White"
|
||||
Text="{x:Static resources:AppResources.MarkingReturnBikeMainMessage}"/>
|
||||
<Image>
|
||||
<!-- Head -->
|
||||
<Grid
|
||||
Padding="0,30,0,10"
|
||||
ColumnDefinitions="10,Auto,1*,10"
|
||||
ColumnSpacing="10"
|
||||
HorizontalOptions="CenterAndExpand">
|
||||
|
||||
<!--icon-->
|
||||
<Image
|
||||
Grid.Column="1"
|
||||
HorizontalOptions="End">
|
||||
<Image.Source>
|
||||
<FontImageSource Size="60" Glyph="{StaticResource check_circle}" FontFamily="FA-S" Color="White"/>
|
||||
<FontImageSource
|
||||
Glyph="{StaticResource WriteFeedback}"
|
||||
FontFamily="FA-S"
|
||||
Size="40"
|
||||
Color="Black"/>
|
||||
|
||||
</Image.Source>
|
||||
</Image>
|
||||
</StackLayout>
|
||||
|
||||
<!--text-->
|
||||
<Label
|
||||
Grid.Column="2"
|
||||
TextType="Html"
|
||||
Text="{x:Static resources:AppResources.ActionGiveFeedback}"
|
||||
FontSize="Large"
|
||||
HorizontalOptions="StartAndExpand"
|
||||
VerticalOptions="Center"
|
||||
TextColor="Black"
|
||||
Padding="0">
|
||||
</Label>
|
||||
|
||||
</Grid>
|
||||
|
||||
<BoxView
|
||||
Margin="20,0,20,10"
|
||||
HeightRequest="1"
|
||||
WidthRequest="400"
|
||||
HorizontalOptions="Center"
|
||||
Color="{DynamicResource primary-back-title-color}"/>
|
||||
|
||||
<!-- Content -->
|
||||
<StackLayout
|
||||
Margin="10"
|
||||
Spacing="10">
|
||||
|
||||
<!-- Co2saving -->
|
||||
<Frame
|
||||
x:Name="Co2SavingFrame">
|
||||
<Label
|
||||
x:Name="Co2SavingLabel"
|
||||
Text=""/>
|
||||
</Frame>
|
||||
|
||||
<!-- Battery level -->
|
||||
<sharedGui:BarLevelInputView
|
||||
x:Name="BarLevelInputView"
|
||||
HorizontalOptions="Center"/>
|
||||
x:Name="BarLevelInputView"
|
||||
HorizontalOptions="Center"/>
|
||||
|
||||
<!-- Is bike okay? -->
|
||||
<Grid
|
||||
ColumnDefinitions="*,Auto,Auto,Auto,*"
|
||||
ColumnDefinitions="*,Auto,*"
|
||||
RowDefinitions="Auto,Auto"
|
||||
Margin="0,20,0,0">
|
||||
<Label
|
||||
<Grid
|
||||
Grid.Column="1"
|
||||
Grid.Row="0"
|
||||
FontSize="Medium"
|
||||
FontAttributes="Bold"
|
||||
Text= "{x:Static resources:AppResources.MarkingReturnBikeBikeIsStateOkQuestion}">
|
||||
</Label>
|
||||
<Switch
|
||||
Grid.Column="2"
|
||||
Grid.Row="0"
|
||||
ColumnDefinitions="1*,Auto,Auto">
|
||||
<Label
|
||||
Grid.Column="0"
|
||||
FontAttributes="Bold"
|
||||
HorizontalTextAlignment="End"
|
||||
Text= "{x:Static resources:AppResources.MarkingReturnBikeBikeIsStateOkQuestion}">
|
||||
</Label>
|
||||
<Switch
|
||||
Grid.Column="1"
|
||||
VerticalOptions="Center"
|
||||
HorizontalOptions="End"
|
||||
x:Name="bikeIsOkSwitch"
|
||||
IsToggled="True"/>
|
||||
<Label
|
||||
Grid.Column="3"
|
||||
Grid.Row="0"
|
||||
<Label
|
||||
Grid.Column="2"
|
||||
FontSize="Small"
|
||||
VerticalOptions="Center"
|
||||
HorizontalOptions="Start">
|
||||
<Label.Triggers>
|
||||
<DataTrigger TargetType="Label" Binding="{Binding Source={x:Reference bikeIsOkSwitch}, Path=IsToggled}" Value="False">
|
||||
<Setter Property="Text" Value="{x:Static resources:AppResources.QuestionAnswerNo}"/>
|
||||
</DataTrigger>
|
||||
<DataTrigger TargetType="Label" Binding="{Binding Source={x:Reference bikeIsOkSwitch}, Path=IsToggled}" Value="True">
|
||||
<Setter Property="Text" Value="{x:Static resources:AppResources.QuestionAnswerYes}"/>
|
||||
</DataTrigger>
|
||||
</Label.Triggers>
|
||||
</Label>
|
||||
<Label.Triggers>
|
||||
<DataTrigger TargetType="Label" Binding="{Binding Source={x:Reference bikeIsOkSwitch}, Path=IsToggled}" Value="False">
|
||||
<Setter Property="Text" Value="{x:Static resources:AppResources.MessageAnswerNo}"/>
|
||||
</DataTrigger>
|
||||
<DataTrigger TargetType="Label" Binding="{Binding Source={x:Reference bikeIsOkSwitch}, Path=IsToggled}" Value="True">
|
||||
<Setter Property="Text" Value="{x:Static resources:AppResources.MessageAnswerYes}"/>
|
||||
</DataTrigger>
|
||||
</Label.Triggers>
|
||||
</Label>
|
||||
</Grid>
|
||||
|
||||
<!-- Text input bike is not OK -->
|
||||
<Editor
|
||||
<StackLayout Grid.Row="1"
|
||||
Grid.Column="0"
|
||||
Grid.ColumnSpan="5"
|
||||
Grid.Row="1"
|
||||
x:Name="feedbackMessage"
|
||||
AutoSize="TextChanges"
|
||||
Placeholder="{x:Static resources:AppResources.MarkingReturnBikeErrorDescriptionInputPlaceholder}"
|
||||
Text=""
|
||||
IsVisible="False">
|
||||
<Editor.Triggers>
|
||||
<DataTrigger TargetType="Editor"
|
||||
Binding="{Binding Source={x:Reference bikeIsOkSwitch}, Path=IsToggled}"
|
||||
Value="False">
|
||||
Grid.ColumnSpan="3"
|
||||
Padding="1"
|
||||
BackgroundColor="{DynamicResource primary-back-title-color}">
|
||||
<StackLayout.Triggers>
|
||||
<DataTrigger TargetType="StackLayout"
|
||||
Binding="{Binding Source={x:Reference bikeIsOkSwitch}, Path=IsToggled}"
|
||||
Value="False">
|
||||
<Setter Property="IsVisible" Value="True"/>
|
||||
<Setter Property="Text" Value=""/>
|
||||
<Setter Property="HeightRequest" Value="100"/>
|
||||
</DataTrigger>
|
||||
</Editor.Triggers>
|
||||
</Editor>
|
||||
<DataTrigger TargetType="StackLayout"
|
||||
Binding="{Binding Source={x:Reference bikeIsOkSwitch}, Path=IsToggled}"
|
||||
Value="True">
|
||||
<Setter Property="IsVisible" Value="False"/>
|
||||
<Setter Property="HeightRequest" Value="0"/>
|
||||
</DataTrigger>
|
||||
</StackLayout.Triggers>
|
||||
<Editor
|
||||
x:Name="feedbackMessage"
|
||||
HeightRequest="100"
|
||||
Placeholder="{x:Static resources:AppResources.MarkingReturnBikeErrorDescriptionInputPlaceholder}"
|
||||
Text=""
|
||||
BackgroundColor="White">
|
||||
</Editor>
|
||||
</StackLayout>
|
||||
|
||||
</Grid>
|
||||
|
||||
|
|
|
@ -16,10 +16,6 @@ namespace TINK.View
|
|||
string co2Saving = null)
|
||||
{
|
||||
InitializeComponent();
|
||||
if (string.IsNullOrEmpty(co2Saving))
|
||||
Co2SavingFrame.IsVisible = false;
|
||||
else
|
||||
Co2SavingLabel.Text = co2Saving;
|
||||
|
||||
if (battery == null
|
||||
|| (battery.IsBackendAccessible.HasValue && battery.IsBackendAccessible.Value))
|
||||
|
|
|
@ -2,13 +2,17 @@
|
|||
<ContentPage
|
||||
xmlns="http://xamarin.com/schemas/2014/forms"
|
||||
xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
|
||||
xmlns:xct="http://xamarin.com/schemas/2020/toolkit"
|
||||
x:Class="TINK.View.FindBike.FindBikePage"
|
||||
xmlns:conv="clr-namespace:TINK.View"
|
||||
xmlns:resources="clr-namespace:TINK.MultilingualResources;assembly=TINKLib"
|
||||
xmlns:rental_process="clr-namespace:TINK.ViewModel.Bikes;assembly=TINKLib"
|
||||
xmlns:bikeRentalProcess="clr-namespace:ShareeSharedGuiLib.View.Bike.RentalProcess"
|
||||
xmlns:local_bike="clr-namespace:TINK.View.Bike"
|
||||
xmlns:sharedGui="clr-namespace:ShareeSharedGuiLib.View"
|
||||
BackgroundColor="{DynamicResource background-color}">
|
||||
|
||||
BackgroundColor="{DynamicResource background-color}"
|
||||
Shell.NavBarIsVisible="{Binding IsIdle}">
|
||||
|
||||
<Shell.TitleView>
|
||||
<Grid ColumnDefinitions="Auto, 1*">
|
||||
<Label Style="{StaticResource Label-Navbar}"
|
||||
|
@ -20,6 +24,15 @@
|
|||
<ResourceDictionary>
|
||||
<local_bike:BikeViewCellTemplateSelector x:Key="bikeTemplateSelector"/>
|
||||
<conv:StringNotNullOrEmptyToVisibleConverter x:Key="Label_Converter"/>
|
||||
<xct:MultiConverter x:Key="RentalProcessToVisibleConverter">
|
||||
<xct:EnumToBoolConverter>
|
||||
<xct:EnumToBoolConverter.TrueValues>
|
||||
<rental_process:CurrentRentalProcess>CloseLock</rental_process:CurrentRentalProcess>
|
||||
<rental_process:CurrentRentalProcess>EndRental</rental_process:CurrentRentalProcess>
|
||||
</xct:EnumToBoolConverter.TrueValues>
|
||||
</xct:EnumToBoolConverter>
|
||||
<xct:InvertedBoolConverter />
|
||||
</xct:MultiConverter>
|
||||
</ResourceDictionary>
|
||||
</ContentPage.Resources>
|
||||
|
||||
|
@ -30,9 +43,10 @@
|
|||
|
||||
<!-- Grid for Content -->
|
||||
<Grid
|
||||
RowDefinitions="1*,Auto"
|
||||
IsVisible="{Binding RentalProcess.State, Converter={StaticResource RentalProcessToVisibleConverter}}"
|
||||
Grid.Row="0"
|
||||
RowSpacing="0"
|
||||
Grid.Row="0">
|
||||
RowDefinitions="1*,Auto">
|
||||
|
||||
<StackLayout
|
||||
Grid.Row="0"
|
||||
|
@ -142,7 +156,15 @@
|
|||
Grid.Row="0"
|
||||
IsVisible="{Binding IsProcessWithRunningProcessView}"/>
|
||||
|
||||
</Grid>
|
||||
<!--CloseLock View-->
|
||||
<bikeRentalProcess:RentalProcessBookedOpenCloseLock
|
||||
Grid.Row="0"/>
|
||||
|
||||
<!--EndRental View-->
|
||||
<bikeRentalProcess:RentalProcessBookedClosedEndRental
|
||||
Grid.Row="0"/>
|
||||
|
||||
</Grid>
|
||||
|
||||
</ContentPage.Content>
|
||||
|
||||
|
|
|
@ -4,6 +4,7 @@ using System.Threading.Tasks;
|
|||
using Serilog;
|
||||
using TINK.Model.Bikes.BikeInfoNS.DriveNS.BatteryNS;
|
||||
using TINK.Model.Device;
|
||||
using TINK.MultilingualResources;
|
||||
using TINK.ViewModel.FindBike;
|
||||
using Xamarin.CommunityToolkit.Extensions;
|
||||
using Xamarin.Forms;
|
||||
|
@ -64,7 +65,10 @@ namespace TINK.View.FindBike
|
|||
catch (Exception exception)
|
||||
{
|
||||
Log.ForContext<FindBikePage>().Error("Displaying bikes at station page failed. {Exception}", exception);
|
||||
await DisplayAlert("Fehler", $"Seite Fahrrad Wählen kann nicht angezeigt werden. ${exception.Message}", "OK");
|
||||
await DisplayAlert(
|
||||
AppResources.ErrorPageNotLoadedTitle,
|
||||
$"{AppResources.ErrorPageNotLoaded}\r\n{exception.Message}",
|
||||
AppResources.MessageAnswerOk);
|
||||
return;
|
||||
|
||||
}
|
||||
|
|
|
@ -2,13 +2,17 @@
|
|||
<ContentPage
|
||||
xmlns="http://xamarin.com/schemas/2014/forms"
|
||||
xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
|
||||
xmlns:xct="http://xamarin.com/schemas/2020/toolkit"
|
||||
x:Class="TINK.View.MyBikes.MyBikesPage"
|
||||
xmlns:resources="clr-namespace:TINK.MultilingualResources;assembly=TINKLib"
|
||||
xmlns:sharedGui="clr-namespace:ShareeSharedGuiLib.View"
|
||||
xmlns:rental_process="clr-namespace:TINK.ViewModel.Bikes;assembly=TINKLib"
|
||||
xmlns:bikeRentalProcess="clr-namespace:ShareeSharedGuiLib.View.Bike.RentalProcess"
|
||||
xmlns:local_bike="clr-namespace:TINK.View.Bike"
|
||||
BackgroundColor="{DynamicResource background-color}"
|
||||
Shell.FlyoutBehavior="{Binding FlyoutBehavior}">
|
||||
|
||||
Shell.FlyoutBehavior="{Binding FlyoutBehavior}"
|
||||
Shell.NavBarIsVisible="{Binding IsIdle}">
|
||||
|
||||
<Shell.TitleView>
|
||||
<Grid ColumnDefinitions="Auto, 1*">
|
||||
<Label Style="{StaticResource Label-Navbar}"
|
||||
|
@ -19,6 +23,15 @@
|
|||
<ContentPage.Resources>
|
||||
<ResourceDictionary>
|
||||
<local_bike:BikeViewCellTemplateSelector x:Key="bikeTemplateSelector"/>
|
||||
<xct:MultiConverter x:Key="RentalProcessToVisibleConverter">
|
||||
<xct:EnumToBoolConverter>
|
||||
<xct:EnumToBoolConverter.TrueValues>
|
||||
<rental_process:CurrentRentalProcess>CloseLock</rental_process:CurrentRentalProcess>
|
||||
<rental_process:CurrentRentalProcess>EndRental</rental_process:CurrentRentalProcess>
|
||||
</xct:EnumToBoolConverter.TrueValues>
|
||||
</xct:EnumToBoolConverter>
|
||||
<xct:InvertedBoolConverter />
|
||||
</xct:MultiConverter>
|
||||
</ResourceDictionary>
|
||||
</ContentPage.Resources>
|
||||
|
||||
|
@ -29,9 +42,10 @@
|
|||
|
||||
<!--Bike(s) view-->
|
||||
<Grid
|
||||
RowDefinitions="1*,Auto"
|
||||
IsVisible="{Binding RentalProcess.State, Converter={StaticResource RentalProcessToVisibleConverter}}"
|
||||
Grid.Row="0"
|
||||
RowSpacing="0"
|
||||
Grid.Row="0">
|
||||
RowDefinitions="1*,Auto">
|
||||
|
||||
<StackLayout
|
||||
Grid.Row="0"
|
||||
|
@ -104,6 +118,14 @@
|
|||
Grid.Row="0"
|
||||
IsVisible="{Binding IsProcessWithRunningProcessView}"/>
|
||||
|
||||
<!--CloseLock View-->
|
||||
<bikeRentalProcess:RentalProcessBookedOpenCloseLock
|
||||
Grid.Row="0"/>
|
||||
|
||||
<!--EndRental View-->
|
||||
<bikeRentalProcess:RentalProcessBookedClosedEndRental
|
||||
Grid.Row="0"/>
|
||||
|
||||
</Grid>
|
||||
|
||||
</ContentPage.Content>
|
||||
|
|
|
@ -14,6 +14,7 @@ namespace TINK.View.MyBikes
|
|||
using TINK.Model;
|
||||
using TINK.Model.Bikes.BikeInfoNS.DriveNS.BatteryNS;
|
||||
using TINK.Model.Device;
|
||||
using TINK.MultilingualResources;
|
||||
using TINK.ViewModel.MyBikes;
|
||||
using Xamarin.CommunityToolkit.Extensions;
|
||||
|
||||
|
@ -78,7 +79,10 @@ namespace TINK.View.MyBikes
|
|||
catch (Exception exception)
|
||||
{
|
||||
Log.ForContext<MyBikesPage>().Error("Displaying bikes at station page failed. {Exception}", exception);
|
||||
await DisplayAlert("Fehler", $"Seite Räder an Station kann nicht angezeigt werden. ${exception.Message}", "OK");
|
||||
await DisplayAlert(
|
||||
AppResources.ErrorPageNotLoadedTitle,
|
||||
$"{AppResources.ErrorPageNotLoaded}\r\n{exception.Message}",
|
||||
AppResources.MessageAnswerOk);
|
||||
isInitializationStarted = false;
|
||||
return;
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue