Files
Jugenddienst-Stunden/Jugenddienst Stunden/Views/StundenPage.xaml.cs

64 lines
1.8 KiB
C#

using Jugenddienst_Stunden.ViewModels;
namespace Jugenddienst_Stunden.Views;
/// <summary>
/// Code-Behind für die Stunden-Übersicht
/// </summary>
public partial class StundenPage : ContentPage {
/// <summary>
/// CTOR
/// </summary>
public StundenPage() {
InitializeComponent();
if (BindingContext is StundenViewModel vm) {
vm.AlertEvent += Vm_AlertEvent;
vm.InfoEvent += Vm_InfoEvent;
}
if (!CheckLogin()) {
NavigateToTargetPage();
}
//// Bildschirmhöhe abrufen
//var screenHeight = DeviceDisplay.MainDisplayInfo.Height / DeviceDisplay.MainDisplayInfo.Density;
//// Berechnen der gewünschten Höhe
//var desiredHeight = screenHeight - 450; // Abzüglich der Stundenübersicht
//stundeItems.HeightRequest = desiredHeight;
SizeChanged += OnPageSizeChanged;
}
private void Vm_AlertEvent(object? sender, string e) {
DisplayAlert("Fehler:", e, "OK");
}
private void Vm_InfoEvent(object? sender, string e) {
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 - 280; //Datepicker Height 50, Monatssummen Height 125, Titel + Navigation Height xyz
}
}