+
+
+
+ IServ Anmeldedaten
+
+
+
+
+ Einloggen
+
+
+
+
diff --git a/BetterIServ.Mobile/src/app/login/login.page.scss b/BetterIServ.Mobile/src/app/login/login.page.scss
new file mode 100644
index 0000000..30b6972
--- /dev/null
+++ b/BetterIServ.Mobile/src/app/login/login.page.scss
@@ -0,0 +1,24 @@
+.card-container {
+ height: 100%;
+ display: flex;
+ justify-content: center;
+ align-items: center;
+
+ ion-card {
+ width: 90%;
+
+ ion-card-content {
+ display: flex;
+ flex-direction: column;
+
+ ion-input {
+ margin-block: 15px;
+ }
+
+ ion-button {
+ flex-grow: 0;
+ margin-inline: auto;
+ }
+ }
+ }
+}
diff --git a/BetterIServ.Mobile/src/app/login/login.page.ts b/BetterIServ.Mobile/src/app/login/login.page.ts
new file mode 100644
index 0000000..c59ae75
--- /dev/null
+++ b/BetterIServ.Mobile/src/app/login/login.page.ts
@@ -0,0 +1,40 @@
+import { Component, OnInit } from '@angular/core';
+import { CommonModule } from '@angular/common';
+import { FormsModule } from '@angular/forms';
+import {AlertController, IonicModule} from '@ionic/angular';
+import {IServService} from "../Api/iserv.service";
+import {Router} from "@angular/router";
+
+@Component({
+ selector: 'app-login',
+ templateUrl: './login.page.html',
+ styleUrls: ['./login.page.scss'],
+ standalone: true,
+ imports: [IonicModule, CommonModule, FormsModule]
+})
+export class LoginPage implements OnInit {
+
+ constructor(private iservApi: IServService, private router: Router, private alerts: AlertController) { }
+
+ ngOnInit() {
+ }
+
+ public async onLogin(email?: string, password?: string) {
+ if (email == undefined || password == undefined) return;
+
+ if (await this.iservApi.login(email, password)) {
+ await this.router.navigate(['home']);
+ }else {
+ const alert = await this.alerts.create({
+ header: "Fehler",
+ message: "Die angegebenen Logindaten sind nicht korrekt!",
+ buttons: ['Ok']
+ });
+
+ await alert.present();
+ }
+
+ console.log(this.iservApi.userdata);
+ }
+
+}
diff --git a/BetterIServ.Mobile/src/main.ts b/BetterIServ.Mobile/src/main.ts
index 5732693..b87f4ea 100644
--- a/BetterIServ.Mobile/src/main.ts
+++ b/BetterIServ.Mobile/src/main.ts
@@ -6,6 +6,7 @@ import { IonicModule, IonicRouteStrategy } from '@ionic/angular';
import { routes } from './app/app.routes';
import { AppComponent } from './app/app.component';
import { environment } from './environments/environment';
+import {HttpClientModule} from "@angular/common/http";
if (environment.production) {
enableProdMode();
@@ -15,6 +16,7 @@ bootstrapApplication(AppComponent, {
providers: [
{ provide: RouteReuseStrategy, useClass: IonicRouteStrategy },
importProvidersFrom(IonicModule.forRoot({})),
+ importProvidersFrom(HttpClientModule),
provideRouter(routes),
],
});
diff --git a/BetterIServ.sln b/BetterIServ.sln
new file mode 100644
index 0000000..cf3a8ee
--- /dev/null
+++ b/BetterIServ.sln
@@ -0,0 +1,16 @@
+
+Microsoft Visual Studio Solution File, Format Version 12.00
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "BetterIServ.Backend", "BetterIServ.Backend\BetterIServ.Backend.csproj", "{B0FA03B9-0A4D-4A71-BF71-0CF374F108CE}"
+EndProject
+Global
+ GlobalSection(SolutionConfigurationPlatforms) = preSolution
+ Debug|Any CPU = Debug|Any CPU
+ Release|Any CPU = Release|Any CPU
+ EndGlobalSection
+ GlobalSection(ProjectConfigurationPlatforms) = postSolution
+ {B0FA03B9-0A4D-4A71-BF71-0CF374F108CE}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {B0FA03B9-0A4D-4A71-BF71-0CF374F108CE}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {B0FA03B9-0A4D-4A71-BF71-0CF374F108CE}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {B0FA03B9-0A4D-4A71-BF71-0CF374F108CE}.Release|Any CPU.Build.0 = Release|Any CPU
+ EndGlobalSection
+EndGlobal