Archived
Private
Public Access
1
0

v0.0.1 (download not working)

This commit is contained in:
2023-04-30 20:50:39 +02:00
parent 227af36c05
commit 4f6c0a00be
116 changed files with 1460 additions and 356 deletions

View File

@@ -2,18 +2,56 @@ import {Component, OnInit} from '@angular/core';
import { CommonModule } from '@angular/common';
import { FormsModule } from '@angular/forms';
import { IonicModule } from '@ionic/angular';
import {IServService} from "../../api/iserv.service";
import {MailService} from "../../api/mail.service";
import {MailContent} from "../../entities/mail";
import {UnitsService} from "../../api/units.service";
import {Substitution} from "../../entities/substitution";
import {SubstitutionComponent} from "../../components/substitution/substitution.component";
import {MailComponent} from "../../components/mail/mail.component";
import {Router} from "@angular/router";
import {Course, Lesson, Timetable} from "../../entities/course";
import {LessonComponent} from "../../components/lesson/lesson.component";
@Component({
selector: 'app-home',
templateUrl: './home.page.html',
styleUrls: ['./home.page.scss'],
standalone: true,
imports: [IonicModule, CommonModule, FormsModule]
imports: [IonicModule, CommonModule, FormsModule, SubstitutionComponent, MailComponent, LessonComponent]
})
export class HomePage implements OnInit {
ngOnInit() {
public unreadMails: MailContent[];
public today: Date;
public dayName: string;
public subs: Substitution[];
public classData: {class: string, courses: Course[]};
public lessons: Lesson[];
public constructor(public iserv: IServService, public mails: MailService, public units: UnitsService, public router: Router) {}
async ngOnInit() {
this.today = new Date();
this.dayName = ["Sonntag", "Montag", "Dienstag", "Mittwoch", "Donnerstag", "Freitag", "Samstag"][this.today.getDay()];
const scheduleDay = [undefined, "mon", "tue", "wed", "thu", "fri", undefined][this.today.getDay()];
const mailPromise = this.mails.getMails("INBOX", 0);
const classPromise = this.iserv.getCoursesAndClass();
const subsPromise = this.units.getSubstitutionPlan("today");
await Promise.all([mailPromise, classPromise, subsPromise]);
this.unreadMails = (await mailPromise).filter(mail => !mail.read);
this.classData = await classPromise;
this.subs = (await subsPromise).substitutions.filter(subs => subs.classes.includes(this.classData.class));
if (this.classData.class.startsWith("Q")) {
this.subs = this.subs.filter(subs => this.classData.courses.filter(course => course.id == subs.lesson).length > 0);
}
if (scheduleDay != undefined && localStorage.getItem("timetable")) {
this.lessons = (JSON.parse(localStorage.getItem("timetable")) as Timetable)[scheduleDay].filter(lesson => lesson != undefined);
}
}
}