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
82 lines
2.0 KiB
C#
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
|
|
}
|
|
} |