Files
Jugenddienst-Stunden/Jugenddienst Stunden/Views/StundenPage.xaml.cs
DaPi 45c53c85ce Vorbereitungen für 1.0.6
Beachte die Einstellung ob Projekte und Gemeinden aktiv sind.
Verbiete Änderungen an der Freistellung, wenn sie genehmigt wurde.
Vereinfache das Speichern der Einstellungen
Bessere Fehlerbehandlung, einheitlichere API
2024-10-22 17:42:35 +02:00

82 lines
2.0 KiB
C#

using Jugenddienst_Stunden.ViewModels;
using Jugenddienst_Stunden.Models;
namespace Jugenddienst_Stunden.Views;
/// <summary>
/// Code-Behind für die Stunden-Übersicht
/// </summary>
public partial class StundenPage : ContentPage {
private int heightValue;
/// <summary>
/// CTOR
/// </summary>
public StundenPage() {
InitializeComponent();
if (BindingContext is StundenViewModel vm) {
vm.AlertEvent += Vm_AlertEvent;
vm.InfoEvent += Vm_InfoEvent;
}
if (!CheckLogin()) {
NavigateToTargetPage();
}
#if ANDROID
heightValue = 280;
#elif IOS
heightValue = 280;
#elif WINDOWS
heightValue = 320;
#else
heightValue = 300;
#endif
SizeChanged += OnPageSizeChanged;
}
private void Vm_AlertEvent(object? sender, string e) {
MainThread.BeginInvokeOnMainThread(async () => {
await DisplayAlert("Fehler:", e, "OK");
});
}
private void Vm_InfoEvent(object? sender, string e) {
MainThread.BeginInvokeOnMainThread(async () => {
await DisplayAlert("Information:", e, "OK");
});
}
/// <summary>
/// Beim Laden der Seite den Titel setzen
/// </summary>
protected override void OnAppearing() {
base.OnAppearing();
Title = Preferences.Default.Get("name", "Nicht") + " " + Preferences.Default.Get("surname", "eingeloggt");
}
private bool CheckLogin() {
return Preferences.Default.Get("apiKey", "") != "";
}
private async void NavigateToTargetPage() {
await Navigation.PushAsync(new LoginPage());
}
private void OnPageSizeChanged(object sender, EventArgs e) {
double windowHeight = this.Height;
AdjustLayout(windowHeight);
}
private void AdjustLayout(double height) {
// Passen Sie Ihre UI-Elemente basierend auf der Fensterhöhe an
stundeItems.HeightRequest = height - heightValue; //Datepicker Height 50, Monatssummen Height 125, Titel + Navigation Height xyz
}
}