diff --git a/src/app/app.module.ts b/src/app/app.module.ts
index d90c576c..d95a30a7 100644
--- a/src/app/app.module.ts
+++ b/src/app/app.module.ts
@@ -49,6 +49,10 @@ import { TranslateModule, TranslateLoader } from "@ngx-translate/core";
import { TranslateHttpLoader } from "@ngx-translate/http-loader";
import { HelferDetailPage } from "./pages/helfer/helfer-detail/helfer-detail.page";
import { HelferAddPage } from "./pages/helfer/helfer-add/helfer-add.page";
+import { ClubMemberListPage } from "./pages/club-member-list/club-member-list.page";
+import { TeamMemberListPage } from "./pages/team-member-list/team-member-list.page";
+import { ClubAdminListPage } from "./pages/club-admin-list/club-admin-list.page";
+import { TeamAdminListPage } from "./pages/team-admin-list/team-admin-list.page";
@NgModule({
declarations: [
@@ -69,7 +73,12 @@ import { HelferAddPage } from "./pages/helfer/helfer-add/helfer-add.page";
OnboardingPage,
ClubPage,
+ ClubMemberListPage,
+ ClubAdminListPage,
+
TeamPage,
+ TeamMemberListPage,
+ TeamAdminListPage
],
imports: [
BrowserModule,
diff --git a/src/app/pages/club-admin-list/club-admin-list-routing.module.ts b/src/app/pages/club-admin-list/club-admin-list-routing.module.ts
new file mode 100644
index 00000000..dc972ed0
--- /dev/null
+++ b/src/app/pages/club-admin-list/club-admin-list-routing.module.ts
@@ -0,0 +1,17 @@
+import { NgModule } from '@angular/core';
+import { Routes, RouterModule } from '@angular/router';
+
+import { ClubAdminListPage } from './club-admin-list.page';
+
+const routes: Routes = [
+ {
+ path: '',
+ component: ClubAdminListPage
+ }
+];
+
+@NgModule({
+ imports: [RouterModule.forChild(routes)],
+ exports: [RouterModule],
+})
+export class ClubAdminListPageRoutingModule {}
diff --git a/src/app/pages/club-admin-list/club-admin-list.module.ts b/src/app/pages/club-admin-list/club-admin-list.module.ts
new file mode 100644
index 00000000..020f21c7
--- /dev/null
+++ b/src/app/pages/club-admin-list/club-admin-list.module.ts
@@ -0,0 +1,22 @@
+import { NgModule } from '@angular/core';
+import { CommonModule } from '@angular/common';
+import { FormsModule } from '@angular/forms';
+
+import { IonicModule } from '@ionic/angular';
+
+import { ClubAdminListPageRoutingModule } from './club-admin-list-routing.module';
+
+import { ClubAdminListPage } from './club-admin-list.page';
+import { TranslateModule } from '@ngx-translate/core';
+
+@NgModule({
+ imports: [
+ TranslateModule,
+ CommonModule,
+ FormsModule,
+ IonicModule,
+ ClubAdminListPageRoutingModule
+ ],
+ declarations: [ClubAdminListPage]
+})
+export class ClubAdminListPageModule {}
diff --git a/src/app/pages/club-admin-list/club-admin-list.page.html b/src/app/pages/club-admin-list/club-admin-list.page.html
new file mode 100644
index 00000000..afb599f0
--- /dev/null
+++ b/src/app/pages/club-admin-list/club-admin-list.page.html
@@ -0,0 +1,47 @@
+
+
+
+
+ {{"common.edit" | translate}}
+ {{"common.cancel" | translate}}
+
+ Club Details
+
+ {{"common.close" | translate}}
+
+
+
+
+
+
+
+ Club Admins
+
+
+
+
+
+ {{"common.admins" | translate}}
+
+
+
+
+
+ {{member.firstName}} {{member.lastName}}
+
+
+
+
+
+
+
+
+
diff --git a/src/app/pages/club-admin-list/club-admin-list.page.scss b/src/app/pages/club-admin-list/club-admin-list.page.scss
new file mode 100644
index 00000000..e69de29b
diff --git a/src/app/pages/club-admin-list/club-admin-list.page.spec.ts b/src/app/pages/club-admin-list/club-admin-list.page.spec.ts
new file mode 100644
index 00000000..9067d69d
--- /dev/null
+++ b/src/app/pages/club-admin-list/club-admin-list.page.spec.ts
@@ -0,0 +1,17 @@
+import { ComponentFixture, TestBed } from '@angular/core/testing';
+import { ClubAdminListPage } from './club-admin-list.page';
+
+describe('ClubAdminListPage', () => {
+ let component: ClubAdminListPage;
+ let fixture: ComponentFixture;
+
+ beforeEach(async(() => {
+ fixture = TestBed.createComponent(ClubAdminListPage);
+ component = fixture.componentInstance;
+ fixture.detectChanges();
+ }));
+
+ it('should create', () => {
+ expect(component).toBeTruthy();
+ });
+});
diff --git a/src/app/pages/club-admin-list/club-admin-list.page.ts b/src/app/pages/club-admin-list/club-admin-list.page.ts
new file mode 100644
index 00000000..44a37f52
--- /dev/null
+++ b/src/app/pages/club-admin-list/club-admin-list.page.ts
@@ -0,0 +1,223 @@
+import { Component, Input, OnInit } from '@angular/core';
+import { AlertController, ModalController, NavParams, ToastController } from '@ionic/angular';
+import { TranslateService } from '@ngx-translate/core';
+import { Observable, catchError, combineLatest, forkJoin, lastValueFrom, map, of, startWith, switchMap, take, tap } from 'rxjs';
+import { AuthService } from 'src/app/services/auth.service';
+import { FirebaseService } from 'src/app/services/firebase.service';
+import { UserProfileService } from 'src/app/services/firebase/user-profile.service';
+import { MemberPage } from '../member/member.page';
+import { Profile } from 'src/app/models/user';
+import { User } from 'firebase/auth';
+
+@Component({
+ selector: 'app-club-admin-list',
+ templateUrl: './club-admin-list.page.html',
+ styleUrls: ['./club-admin-list.page.scss'],
+})
+export class ClubAdminListPage implements OnInit {
+ @Input("club") club: any;
+ club$: Observable;
+
+ user$: Observable;
+ user: User;
+
+ allowEdit: boolean = false;
+
+ constructor(
+ private readonly modalCtrl: ModalController,
+ public navParams: NavParams,
+ private readonly alertCtrl: AlertController,
+ private readonly toastCtrl: ToastController,
+ private readonly userProfileService: UserProfileService,
+ private readonly fbService: FirebaseService,
+ private readonly authService: AuthService,
+ private translate: TranslateService
+ ) { }
+
+ ngOnInit() {
+
+ this.club = this.navParams.get("club");
+
+ this.club$ = of(this.club);
+ this.club$ = this.getClub(this.club.id);
+
+
+ }
+ edit() {
+ if (this.allowEdit) {
+ this.allowEdit = false;
+ } else {
+ this.allowEdit = true;
+ }
+ }
+
+ getClub(clubId: string) {
+ const calculateAge = (dateOfBirth) => {
+ // console.log("DoB: " + JSON.stringify(dateOfBirth));
+ const birthday = new Date(dateOfBirth.seconds * 1000);
+ const ageDifMs = Date.now() - birthday.getTime();
+ const ageDate = new Date(ageDifMs); // miliseconds from epoch
+ return Math.abs(ageDate.getUTCFullYear() - 1970);
+ };
+
+ return this.authService.getUser$().pipe(
+ take(1),
+ tap((user) => {
+ this.user = user;
+ if (!user) throw new Error("User not found");
+ }),
+ switchMap(() => this.fbService.getClubRef(clubId)),
+ switchMap((club) => {
+ if (!club) return of(null);
+ return combineLatest({
+ //clubMembers: this.fbService.getClubMemberRefs(clubId),
+ clubAdmins: this.fbService.getClubAdminRefs(clubId),
+ //clubRequests: this.fbService.getClubRequestRefs(clubId),
+ }).pipe(
+ switchMap(({
+ // clubMembers,
+ clubAdmins,
+ // clubRequests
+ }) => {
+ /*const memberProfiles$ = clubMembers.map((member) =>
+ this.userProfileService.getUserProfileById(member.id).pipe(
+ take(1),
+ catchError(() =>
+ of({ ...member, firstName: "Unknown", lastName: "Unknown" })
+ )
+ )
+ );*/
+ const adminProfiles$ = clubAdmins.map((admin) =>
+ this.userProfileService.getUserProfileById(admin.id).pipe(
+ take(1),
+ catchError(() =>
+ of({ ...admin, firstName: "Unknown", lastName: "Unknown" })
+ )
+ )
+ );
+ /* const clubRequests$ = clubRequests.map((request) =>
+ this.userProfileService.getUserProfileById(request.id).pipe(
+ take(1),
+ catchError(() =>
+ of({ ...request, firstName: "Unknown", lastName: "Unknown" })
+ )
+ )
+ );*/
+ return forkJoin({
+ // clubMembers: forkJoin(memberProfiles$).pipe(startWith([])),
+ clubAdmins: forkJoin(adminProfiles$).pipe(startWith([])),
+ // clubRequests: forkJoin(clubRequests$).pipe(startWith([])),
+ }).pipe(
+ map(({
+ // clubMembers,
+ clubAdmins,
+ // clubRequests
+ }) => ({
+ /*clubMembers: clubMembers.filter(
+ (member) => member !== undefined
+ ), // Filter out undefined*/
+ clubAdmins: clubAdmins.filter((admin) => admin !== undefined), // Filter out undefined
+ /*clubRequests: clubRequests.filter(
+ (request) => request !== undefined
+ ), // Filter out undefined*/
+ }))
+ );
+ }),
+ map(({
+ // clubMembers,
+ clubAdmins,
+ // clubRequests
+ }) => {
+
+ /*const ages = clubMembers
+ .map((member) =>
+ member.hasOwnProperty("dateOfBirth")
+ ? calculateAge(member.dateOfBirth)
+ : 0
+ )
+ .filter((age) => age > 0); // Filter out invalid or 'Unknown' ages
+ // console.log(ages);
+
+ const averageAge =
+ ages.length > 0
+ ? ages.reduce((a, b) => a + b, 0) / ages.length
+ : 0; // Calculate average or set to 0 if no valid ages
+ */
+ return {
+ ...club,
+ // averageAge: averageAge.toFixed(1), // Keep two decimal places
+ // clubMembers,
+ clubAdmins,
+ // clubRequests,
+ };
+ })
+ );
+ }),
+ catchError((err) => {
+ this.toastActionError(err);
+ console.error("Error in getClubWithMembersAndAdmins:", err);
+ return of(null);
+ })
+ );
+ }
+
+ async openMember(member: Profile) {
+ console.log("openMember");
+ const modal = await this.modalCtrl.create({
+ component: MemberPage,
+ presentingElement: await this.modalCtrl.getTop(),
+ canDismiss: true,
+ showBackdrop: true,
+ componentProps: {
+ data: member,
+ },
+ });
+ modal.present();
+
+ const { data, role } = await modal.onWillDismiss();
+
+ if (role === "confirm") {
+ }
+ }
+
+
+ async toastActionSaved() {
+ const toast = await this.toastCtrl.create({
+ message: await lastValueFrom(this.translate.get("common.success__saved")),
+ duration: 1500,
+ position: "bottom",
+ color: "success",
+ });
+
+ await toast.present();
+ }
+
+ async toastActionCanceled() {
+ const toast = await this.toastCtrl.create({
+ message: await lastValueFrom(this.translate.get("club.action__canceled")),
+ duration: 1500,
+ position: "bottom",
+ color: "danger",
+ });
+ await toast.present();
+ }
+
+ async toastActionError(error) {
+ const toast = await this.toastCtrl.create({
+ message: error.message,
+ duration: 2000,
+ position: "bottom",
+ color: "danger",
+ });
+
+ await toast.present();
+ }
+
+ async close() {
+ return await this.modalCtrl.dismiss(null, "close");
+ }
+
+ async confirm() {
+ return await this.modalCtrl.dismiss(this.club, "confirm");
+ }
+}
diff --git a/src/app/pages/club-member-list/club-member-list-routing.module.ts b/src/app/pages/club-member-list/club-member-list-routing.module.ts
new file mode 100644
index 00000000..bb44d25f
--- /dev/null
+++ b/src/app/pages/club-member-list/club-member-list-routing.module.ts
@@ -0,0 +1,17 @@
+import { NgModule } from '@angular/core';
+import { Routes, RouterModule } from '@angular/router';
+
+import { ClubMemberListPage } from './club-member-list.page';
+
+const routes: Routes = [
+ {
+ path: '',
+ component: ClubMemberListPage
+ }
+];
+
+@NgModule({
+ imports: [RouterModule.forChild(routes)],
+ exports: [RouterModule],
+})
+export class ClubMemberListPageRoutingModule {}
diff --git a/src/app/pages/club-member-list/club-member-list.module.ts b/src/app/pages/club-member-list/club-member-list.module.ts
new file mode 100644
index 00000000..8bc73569
--- /dev/null
+++ b/src/app/pages/club-member-list/club-member-list.module.ts
@@ -0,0 +1,22 @@
+import { NgModule } from '@angular/core';
+import { CommonModule } from '@angular/common';
+import { FormsModule } from '@angular/forms';
+
+import { IonicModule } from '@ionic/angular';
+
+import { ClubMemberListPageRoutingModule } from './club-member-list-routing.module';
+
+import { ClubMemberListPage } from './club-member-list.page';
+import { TranslateModule } from '@ngx-translate/core';
+
+@NgModule({
+ imports: [
+ TranslateModule,
+ CommonModule,
+ FormsModule,
+ IonicModule,
+ ClubMemberListPageRoutingModule
+ ],
+ declarations: [ClubMemberListPage]
+})
+export class ClubMemberListPageModule {}
diff --git a/src/app/pages/club-member-list/club-member-list.page.html b/src/app/pages/club-member-list/club-member-list.page.html
new file mode 100644
index 00000000..75470ed0
--- /dev/null
+++ b/src/app/pages/club-member-list/club-member-list.page.html
@@ -0,0 +1,58 @@
+
+
+
+
+ {{"common.edit" | translate}}
+ {{"common.cancel" | translate}}
+
+ Club Details
+
+ {{"common.close" | translate}}
+
+
+
+
+
+
+
+ Club Members
+
+
+
+
+
+
+
+
+
+
+
+ A
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{member.firstName}}
+ {{member.lastName}}
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/app/pages/club-member-list/club-member-list.page.scss b/src/app/pages/club-member-list/club-member-list.page.scss
new file mode 100644
index 00000000..e69de29b
diff --git a/src/app/pages/club-member-list/club-member-list.page.spec.ts b/src/app/pages/club-member-list/club-member-list.page.spec.ts
new file mode 100644
index 00000000..ade47b2b
--- /dev/null
+++ b/src/app/pages/club-member-list/club-member-list.page.spec.ts
@@ -0,0 +1,17 @@
+import { ComponentFixture, TestBed } from '@angular/core/testing';
+import { ClubMemberListPage } from './club-member-list.page';
+
+describe('ClubMemberListPage', () => {
+ let component: ClubMemberListPage;
+ let fixture: ComponentFixture;
+
+ beforeEach(async(() => {
+ fixture = TestBed.createComponent(ClubMemberListPage);
+ component = fixture.componentInstance;
+ fixture.detectChanges();
+ }));
+
+ it('should create', () => {
+ expect(component).toBeTruthy();
+ });
+});
diff --git a/src/app/pages/club-member-list/club-member-list.page.ts b/src/app/pages/club-member-list/club-member-list.page.ts
new file mode 100644
index 00000000..e6fbb73b
--- /dev/null
+++ b/src/app/pages/club-member-list/club-member-list.page.ts
@@ -0,0 +1,223 @@
+import { Component, Input, OnInit, ViewChild } from '@angular/core';
+import { AlertController, ModalController, NavParams, ToastController, IonList } from '@ionic/angular';
+import { TranslateService } from '@ngx-translate/core';
+import { Observable, catchError, combineLatest, forkJoin, lastValueFrom, map, of, startWith, switchMap, take, tap } from 'rxjs';
+import { AuthService } from 'src/app/services/auth.service';
+import { FirebaseService } from 'src/app/services/firebase.service';
+import { UserProfileService } from 'src/app/services/firebase/user-profile.service';
+import { MemberPage } from '../member/member.page';
+import { Profile } from 'src/app/models/user';
+import { User } from 'firebase/auth';
+
+@Component({
+ selector: 'app-club-member-list',
+ templateUrl: './club-member-list.page.html',
+ styleUrls: ['./club-member-list.page.scss'],
+})
+export class ClubMemberListPage implements OnInit {
+ @Input("club") club: any;
+ @ViewChild('IonList') list: IonList;
+ club$: Observable;
+
+ user$: Observable;
+ user: User;
+
+ allowEdit: boolean = false;
+
+ constructor(
+ private readonly modalCtrl: ModalController,
+ public navParams: NavParams,
+ private readonly alertCtrl: AlertController,
+ private readonly toastCtrl: ToastController,
+ private readonly userProfileService: UserProfileService,
+ private readonly fbService: FirebaseService,
+ private readonly authService: AuthService,
+ private translate: TranslateService
+ ) { }
+
+ ngOnInit() {
+
+ this.club = this.navParams.get("club");
+
+ this.club$ = of(this.club);
+ this.club$ = this.getClub(this.club.id);
+
+
+ }
+ edit() {
+ this.list.closeSlidingItems();
+
+ if (this.allowEdit) {
+ this.allowEdit = false;
+ } else {
+ this.allowEdit = true;
+ }
+ }
+
+ getClub(clubId: string) {
+ const calculateAge = (dateOfBirth) => {
+ // console.log("DoB: " + JSON.stringify(dateOfBirth));
+ const birthday = new Date(dateOfBirth.seconds * 1000);
+ const ageDifMs = Date.now() - birthday.getTime();
+ const ageDate = new Date(ageDifMs); // miliseconds from epoch
+ return Math.abs(ageDate.getUTCFullYear() - 1970);
+ };
+
+ return this.authService.getUser$().pipe(
+ take(1),
+ tap((user) => {
+ this.user = user;
+ if (!user) throw new Error("User not found");
+ }),
+ switchMap(() => this.fbService.getClubRef(clubId)),
+ switchMap((club) => {
+ if (!club) return of(null);
+ return combineLatest({
+ clubMembers: this.fbService.getClubMemberRefs(clubId),
+ //clubAdmins: this.fbService.getClubAdminRefs(clubId),
+ //clubRequests: this.fbService.getClubRequestRefs(clubId),
+ }).pipe(
+ switchMap(({ clubMembers,
+ // clubAdmins,
+ // clubRequests
+ }) => {
+ const memberProfiles$ = clubMembers.map((member) =>
+ this.userProfileService.getUserProfileById(member.id).pipe(
+ take(1),
+ catchError(() =>
+ of({ ...member, firstName: "Unknown", lastName: "Unknown" })
+ )
+ )
+ );
+ /* const adminProfiles$ = clubAdmins.map((admin) =>
+ this.userProfileService.getUserProfileById(admin.id).pipe(
+ take(1),
+ catchError(() =>
+ of({ ...admin, firstName: "Unknown", lastName: "Unknown" })
+ )
+ )
+ );
+ const clubRequests$ = clubRequests.map((request) =>
+ this.userProfileService.getUserProfileById(request.id).pipe(
+ take(1),
+ catchError(() =>
+ of({ ...request, firstName: "Unknown", lastName: "Unknown" })
+ )
+ )
+ );*/
+ return forkJoin({
+ clubMembers: forkJoin(memberProfiles$).pipe(startWith([])),
+ // clubAdmins: forkJoin(adminProfiles$).pipe(startWith([])),
+ // clubRequests: forkJoin(clubRequests$).pipe(startWith([])),
+ }).pipe(
+ map(({ clubMembers,
+ // clubAdmins,
+ // clubRequests
+ }) => ({
+ clubMembers: clubMembers.filter(
+ (member) => member !== undefined
+ ), // Filter out undefined
+ // clubAdmins: clubAdmins.filter((admin) => admin !== undefined), // Filter out undefined
+ /*clubRequests: clubRequests.filter(
+ (request) => request !== undefined
+ ), // Filter out undefined*/
+ }))
+ );
+ }),
+ map(({ clubMembers,
+ // clubAdmins,
+ // clubRequests
+ }) => {
+
+ const ages = clubMembers
+ .map((member) =>
+ member.hasOwnProperty("dateOfBirth")
+ ? calculateAge(member.dateOfBirth)
+ : 0
+ )
+ .filter((age) => age > 0); // Filter out invalid or 'Unknown' ages
+ // console.log(ages);
+
+ const averageAge =
+ ages.length > 0
+ ? ages.reduce((a, b) => a + b, 0) / ages.length
+ : 0; // Calculate average or set to 0 if no valid ages
+
+ return {
+ ...club,
+ averageAge: averageAge.toFixed(1), // Keep two decimal places
+ clubMembers,
+ // clubAdmins,
+ // clubRequests,
+ };
+ })
+ );
+ }),
+ catchError((err) => {
+ this.toastActionError(err);
+ console.error("Error in getClubWithMembersAndAdmins:", err);
+ return of(null);
+ })
+ );
+ }
+
+ async openMember(member: Profile) {
+ console.log("openMember");
+ const modal = await this.modalCtrl.create({
+ component: MemberPage,
+ presentingElement: await this.modalCtrl.getTop(),
+ canDismiss: true,
+ showBackdrop: true,
+ componentProps: {
+ data: member,
+ },
+ });
+ modal.present();
+
+ const { data, role } = await modal.onWillDismiss();
+
+ if (role === "confirm") {
+ }
+ }
+
+
+ async toastActionSaved() {
+ const toast = await this.toastCtrl.create({
+ message: await lastValueFrom(this.translate.get("common.success__saved")),
+ duration: 1500,
+ position: "bottom",
+ color: "success",
+ });
+
+ await toast.present();
+ }
+
+ async toastActionCanceled() {
+ const toast = await this.toastCtrl.create({
+ message: await lastValueFrom(this.translate.get("club.action__canceled")),
+ duration: 1500,
+ position: "bottom",
+ color: "danger",
+ });
+ await toast.present();
+ }
+
+ async toastActionError(error) {
+ const toast = await this.toastCtrl.create({
+ message: error.message,
+ duration: 2000,
+ position: "bottom",
+ color: "danger",
+ });
+
+ await toast.present();
+ }
+
+ async close() {
+ return await this.modalCtrl.dismiss(null, "close");
+ }
+
+ async confirm() {
+ return await this.modalCtrl.dismiss(this.club, "confirm");
+ }
+}
diff --git a/src/app/pages/club/club.page.html b/src/app/pages/club/club.page.html
index 01c458ff..610934fd 100644
--- a/src/app/pages/club/club.page.html
+++ b/src/app/pages/club/club.page.html
@@ -81,7 +81,7 @@
{{ "common.others" | translate}}
-
+
Helferpunkte
diff --git a/src/app/pages/club/club.page.ts b/src/app/pages/club/club.page.ts
index 7a890a21..8f104faa 100644
--- a/src/app/pages/club/club.page.ts
+++ b/src/app/pages/club/club.page.ts
@@ -28,6 +28,8 @@ import { AuthService } from "src/app/services/auth.service";
import { FirebaseService } from "src/app/services/firebase.service";
import { UserProfileService } from "src/app/services/firebase/user-profile.service";
import { MemberPage } from "../member/member.page";
+import { ClubMemberListPage } from "../club-member-list/club-member-list.page";
+import { ClubAdminListPage } from "../club-admin-list/club-admin-list.page";
@Component({
selector: "app-club",
@@ -45,8 +47,7 @@ export class ClubPage implements OnInit {
alertTeamSelection = [];
- allowEdit: boolean = false;
-
+ allowEdit: boolean = false;
constructor(
private readonly modalCtrl: ModalController,
@@ -269,7 +270,7 @@ export class ClubPage implements OnInit {
}
});*/
}
- async openMember(member: Profile) {
+ /*async openMember(member: Profile) {
console.log("openMember");
const modal = await this.modalCtrl.create({
component: MemberPage,
@@ -286,17 +287,17 @@ export class ClubPage implements OnInit {
if (role === "confirm") {
}
- }
+ }*/
async openMemberList() {
- console.log("open Request Member");
+ console.log("open Club Member List");
const modal = await this.modalCtrl.create({
- component: MemberPage,
+ component: ClubMemberListPage,
presentingElement: await this.modalCtrl.getTop(),
canDismiss: true,
showBackdrop: true,
componentProps: {
-
+ club: this.club
},
});
modal.present();
@@ -311,12 +312,12 @@ export class ClubPage implements OnInit {
async openAdminList(){
console.log("open Request Member");
const modal = await this.modalCtrl.create({
- component: MemberPage,
+ component: ClubAdminListPage,
presentingElement: await this.modalCtrl.getTop(),
canDismiss: true,
showBackdrop: true,
componentProps: {
-
+ club: this.club
},
});
modal.present();
diff --git a/src/app/pages/team-admin-list/team-admin-list-routing.module.ts b/src/app/pages/team-admin-list/team-admin-list-routing.module.ts
new file mode 100644
index 00000000..310ccb3c
--- /dev/null
+++ b/src/app/pages/team-admin-list/team-admin-list-routing.module.ts
@@ -0,0 +1,17 @@
+import { NgModule } from '@angular/core';
+import { Routes, RouterModule } from '@angular/router';
+
+import { TeamAdminListPage } from './team-admin-list.page';
+
+const routes: Routes = [
+ {
+ path: '',
+ component: TeamAdminListPage
+ }
+];
+
+@NgModule({
+ imports: [RouterModule.forChild(routes)],
+ exports: [RouterModule],
+})
+export class TeamAdminListPageRoutingModule {}
diff --git a/src/app/pages/team-admin-list/team-admin-list.module.ts b/src/app/pages/team-admin-list/team-admin-list.module.ts
new file mode 100644
index 00000000..91f8f1cf
--- /dev/null
+++ b/src/app/pages/team-admin-list/team-admin-list.module.ts
@@ -0,0 +1,20 @@
+import { NgModule } from '@angular/core';
+import { CommonModule } from '@angular/common';
+import { FormsModule } from '@angular/forms';
+
+import { IonicModule } from '@ionic/angular';
+
+import { TeamAdminListPageRoutingModule } from './team-admin-list-routing.module';
+
+import { TeamAdminListPage } from './team-admin-list.page';
+
+@NgModule({
+ imports: [
+ CommonModule,
+ FormsModule,
+ IonicModule,
+ TeamAdminListPageRoutingModule
+ ],
+ declarations: [TeamAdminListPage]
+})
+export class TeamAdminListPageModule {}
diff --git a/src/app/pages/team-admin-list/team-admin-list.page.html b/src/app/pages/team-admin-list/team-admin-list.page.html
new file mode 100644
index 00000000..8aedaa8d
--- /dev/null
+++ b/src/app/pages/team-admin-list/team-admin-list.page.html
@@ -0,0 +1,13 @@
+
+
+ team-admin-list
+
+
+
+
+
+
+ team-admin-list
+
+
+
diff --git a/src/app/pages/team-admin-list/team-admin-list.page.scss b/src/app/pages/team-admin-list/team-admin-list.page.scss
new file mode 100644
index 00000000..e69de29b
diff --git a/src/app/pages/team-admin-list/team-admin-list.page.spec.ts b/src/app/pages/team-admin-list/team-admin-list.page.spec.ts
new file mode 100644
index 00000000..6f67be09
--- /dev/null
+++ b/src/app/pages/team-admin-list/team-admin-list.page.spec.ts
@@ -0,0 +1,17 @@
+import { ComponentFixture, TestBed } from '@angular/core/testing';
+import { TeamAdminListPage } from './team-admin-list.page';
+
+describe('TeamAdminListPage', () => {
+ let component: TeamAdminListPage;
+ let fixture: ComponentFixture;
+
+ beforeEach(async(() => {
+ fixture = TestBed.createComponent(TeamAdminListPage);
+ component = fixture.componentInstance;
+ fixture.detectChanges();
+ }));
+
+ it('should create', () => {
+ expect(component).toBeTruthy();
+ });
+});
diff --git a/src/app/pages/team-admin-list/team-admin-list.page.ts b/src/app/pages/team-admin-list/team-admin-list.page.ts
new file mode 100644
index 00000000..b5998ef1
--- /dev/null
+++ b/src/app/pages/team-admin-list/team-admin-list.page.ts
@@ -0,0 +1,15 @@
+import { Component, OnInit } from '@angular/core';
+
+@Component({
+ selector: 'app-team-admin-list',
+ templateUrl: './team-admin-list.page.html',
+ styleUrls: ['./team-admin-list.page.scss'],
+})
+export class TeamAdminListPage implements OnInit {
+
+ constructor() { }
+
+ ngOnInit() {
+ }
+
+}
diff --git a/src/app/pages/team-member-list/team-member-list-routing.module.ts b/src/app/pages/team-member-list/team-member-list-routing.module.ts
new file mode 100644
index 00000000..43f74d18
--- /dev/null
+++ b/src/app/pages/team-member-list/team-member-list-routing.module.ts
@@ -0,0 +1,17 @@
+import { NgModule } from '@angular/core';
+import { Routes, RouterModule } from '@angular/router';
+
+import { TeamMemberListPage } from './team-member-list.page';
+
+const routes: Routes = [
+ {
+ path: '',
+ component: TeamMemberListPage
+ }
+];
+
+@NgModule({
+ imports: [RouterModule.forChild(routes)],
+ exports: [RouterModule],
+})
+export class TeamMemberListPageRoutingModule {}
diff --git a/src/app/pages/team-member-list/team-member-list.module.ts b/src/app/pages/team-member-list/team-member-list.module.ts
new file mode 100644
index 00000000..baa7753d
--- /dev/null
+++ b/src/app/pages/team-member-list/team-member-list.module.ts
@@ -0,0 +1,20 @@
+import { NgModule } from '@angular/core';
+import { CommonModule } from '@angular/common';
+import { FormsModule } from '@angular/forms';
+
+import { IonicModule } from '@ionic/angular';
+
+import { TeamMemberListPageRoutingModule } from './team-member-list-routing.module';
+
+import { TeamMemberListPage } from './team-member-list.page';
+
+@NgModule({
+ imports: [
+ CommonModule,
+ FormsModule,
+ IonicModule,
+ TeamMemberListPageRoutingModule
+ ],
+ declarations: [TeamMemberListPage]
+})
+export class TeamMemberListPageModule {}
diff --git a/src/app/pages/team-member-list/team-member-list.page.html b/src/app/pages/team-member-list/team-member-list.page.html
new file mode 100644
index 00000000..7816a6a4
--- /dev/null
+++ b/src/app/pages/team-member-list/team-member-list.page.html
@@ -0,0 +1,13 @@
+
+
+ team-member-list
+
+
+
+
+
+
+ team-member-list
+
+
+
diff --git a/src/app/pages/team-member-list/team-member-list.page.scss b/src/app/pages/team-member-list/team-member-list.page.scss
new file mode 100644
index 00000000..e69de29b
diff --git a/src/app/pages/team-member-list/team-member-list.page.spec.ts b/src/app/pages/team-member-list/team-member-list.page.spec.ts
new file mode 100644
index 00000000..e658fb8e
--- /dev/null
+++ b/src/app/pages/team-member-list/team-member-list.page.spec.ts
@@ -0,0 +1,17 @@
+import { ComponentFixture, TestBed } from '@angular/core/testing';
+import { TeamMemberListPage } from './team-member-list.page';
+
+describe('TeamMemberListPage', () => {
+ let component: TeamMemberListPage;
+ let fixture: ComponentFixture;
+
+ beforeEach(async(() => {
+ fixture = TestBed.createComponent(TeamMemberListPage);
+ component = fixture.componentInstance;
+ fixture.detectChanges();
+ }));
+
+ it('should create', () => {
+ expect(component).toBeTruthy();
+ });
+});
diff --git a/src/app/pages/team-member-list/team-member-list.page.ts b/src/app/pages/team-member-list/team-member-list.page.ts
new file mode 100644
index 00000000..8d64f566
--- /dev/null
+++ b/src/app/pages/team-member-list/team-member-list.page.ts
@@ -0,0 +1,15 @@
+import { Component, OnInit } from '@angular/core';
+
+@Component({
+ selector: 'app-team-member-list',
+ templateUrl: './team-member-list.page.html',
+ styleUrls: ['./team-member-list.page.scss'],
+})
+export class TeamMemberListPage implements OnInit {
+
+ constructor() { }
+
+ ngOnInit() {
+ }
+
+}