Ajout de components

This commit is contained in:
2026-01-14 16:33:49 +01:00
parent b6edf7c2fc
commit aad979b820
4 changed files with 11 additions and 349 deletions

View File

@@ -1,6 +1,6 @@
import { Component, OnInit } from "@angular/core";
import { Router } from "@angular/router";
import { TranslateService } from "@ngx-translate/core";
import { Router, RouterOutlet } from "@angular/router";
import { TranslateModule, TranslateService } from "@ngx-translate/core";
import { CommonModule } from "@angular/common";
import { MatToolbarModule } from "@angular/material/toolbar";
import { MatIconModule } from "@angular/material/icon";
@@ -29,6 +29,8 @@ import { ServiceCacheApi } from "../services/service-cache-api.service";
MatOptionModule,
MatSidenavModule,
MatListModule,
RouterOutlet,
TranslateModule,
],
})
export class AppComponent implements OnInit {

View File

@@ -1,38 +1,10 @@
import { BrowserModule } from "@angular/platform-browser";
import {
NgModule,
importProvidersFrom,
inject,
provideAppInitializer,
} from "@angular/core";
import { inject, provideAppInitializer } from "@angular/core";
import { ApplicationConfig, provideZoneChangeDetection } from "@angular/core";
import { TranslateLoader, TranslateModule } from "@ngx-translate/core";
import { TranslateHttpLoader } from "@ngx-translate/http-loader";
import { provideRouter, RouterModule } from "@angular/router";
import { provideRouter } from "@angular/router";
import { DatePipe } from "@angular/common";
import { HttpClient, HTTP_INTERCEPTORS } from "@angular/common/http";
import { SummaryComponent } from "./summary/summary.component";
import { ListOfJumpsComponent } from "./list-of-jumps/list-of-jumps.component";
import { ListOfDzsComponent } from "./list-of-dzs/list-of-dzs.component";
import { NewJumpComponent } from "./new-jump/new-jump.component";
import { ListOfAircraftsComponent } from "./list-of-aircrafts/list-of-aircrafts.component";
import { ListOfJumpTypesComponent } from "./list-of-jump-types/list-of-jump-types.component";
import { ListOfGearsComponent } from "./list-of-gears/list-of-gears.component";
import { NewAircraftComponent } from "./new-aircraft/new-aircraft.component";
import { NewGearComponent } from "./new-gear/new-gear.component";
import { NewDropZoneComponent } from "./new-drop-zone/new-drop-zone.component";
import { NewJumpTypeComponent } from "./new-jump-type/new-jump-type.component";
import { DefaultComponent } from "./default/default.component";
import { LoginComponent } from "./login/login.component";
import { CreateUserComponent } from "./create-user/create-user.component";
import { LoginUserComponent } from "./login-user/login-user.component";
import { UserProfileComponent } from "./user-profile/user-profile.component";
import { ListOfImagesComponent } from "./list-of-images/list-of-images.component";
import { JumpInfosComponent } from "./jump-infos/jump-infos.component";
import { NewTunnelFlightComponent } from "./new-tunnel-flight/new-tunnel-flight.component";
import { ListOfTunnelFlightsComponent } from "./list-of-tunnel-flights/list-of-tunnel-flights.component";
import { DateService } from "../services/date.service";
import { AircraftService } from "../services/aircraft.service";
import { DropzoneService } from "../services/dropzone.service";
@@ -48,35 +20,12 @@ import { ServiceCacheApi } from "../services/service-cache-api.service";
import { TunnelService } from "../services/tunnel.service";
import { TunnelFlightService } from "../services/tunnel-flight.service";
import { BrowserAnimationsModule } from "@angular/platform-browser/animations";
import { FormsModule, ReactiveFormsModule } from "@angular/forms";
import { MatAutocompleteModule } from "@angular/material/autocomplete";
import { MatButtonModule } from "@angular/material/button";
import { MatCheckboxModule } from "@angular/material/checkbox";
import { MatOptionModule, MatNativeDateModule } from "@angular/material/core";
import { MatDatepickerModule } from "@angular/material/datepicker";
import { MatFormFieldModule } from "@angular/material/form-field";
import { MatIconModule } from "@angular/material/icon";
import { MatInputModule } from "@angular/material/input";
import { MatPaginatorModule } from "@angular/material/paginator";
import { MatProgressSpinnerModule } from "@angular/material/progress-spinner";
import { MatProgressBarModule } from "@angular/material/progress-bar";
import { MatSelectModule } from "@angular/material/select";
import { MatTableModule } from "@angular/material/table";
import { MatTabsModule } from "@angular/material/tabs";
import { MatDialogModule } from "@angular/material/dialog";
import { MatCardModule } from "@angular/material/card";
import { MatRadioModule } from "@angular/material/radio";
import { MatSidenavModule } from "@angular/material/sidenav";
import { MatListModule } from "@angular/material/list";
import { MatToolbarModule } from "@angular/material/toolbar";
import { provideCharts, withDefaultRegisterables } from "ng2-charts";
import { JwtAuthInterceptor } from "../interceptor/jwt-auth.interceptor";
import { ErrorInterceptor } from "../interceptor/error.interceptor";
import { environment } from "../environments/environment";
import { AppComponent } from "./app.component";
import { routes } from "./app.routes";
// AOT compilation support
@@ -116,62 +65,4 @@ export const appConfig: ApplicationConfig = {
provideZoneChangeDetection({ eventCoalescing: true }),
provideRouter(routes),
],
// declarations: [
// AppComponent,
// SummaryComponent,
// ListOfJumpsComponent,
// ListOfDzsComponent,
// NewJumpComponent,
// ListOfAircraftsComponent,
// ListOfJumpTypesComponent,
// ListOfGearsComponent,
// NewAircraftComponent,
// NewGearComponent,
// NewDropZoneComponent,
// NewJumpTypeComponent,
// DefaultComponent,
// LoginComponent,
// CreateUserComponent,
// LoginUserComponent,
// UserProfileComponent,
// ListOfImagesComponent,
// JumpInfosComponent,
// NewTunnelFlightComponent,
// ListOfTunnelFlightsComponent,
// ],
// imports: [
// RouterModule.forRoot(routes, { enableTracing: !environment.production }),
// TranslateModule.forRoot({
// loader: {
// provide: TranslateLoader,
// useFactory: httpTranslateLoader,
// deps: [HttpClient],
// },
// }),
// ReactiveFormsModule,
// FormsModule,
// BrowserModule,
// BrowserAnimationsModule,
// MatPaginatorModule,
// MatTableModule,
// MatSelectModule,
// MatOptionModule,
// MatFormFieldModule,
// MatCheckboxModule,
// MatDatepickerModule,
// MatNativeDateModule,
// MatInputModule,
// MatButtonModule,
// MatIconModule,
// MatAutocompleteModule,
// MatProgressSpinnerModule,
// MatProgressBarModule,
// MatTabsModule,
// MatDialogModule,
// MatCardModule,
// MatRadioModule,
// MatSidenavModule,
// MatListModule,
// MatToolbarModule,
// ],
};

View File

@@ -1,236 +0,0 @@
import { BrowserModule } from "@angular/platform-browser";
import { NgModule, inject, provideAppInitializer } from "@angular/core";
import { RouterModule, Routes } from "@angular/router";
import {
HttpClient,
HttpClientModule,
HTTP_INTERCEPTORS,
} from "@angular/common/http";
import { DatePipe } from "@angular/common";
import { TranslateLoader, TranslateModule } from "@ngx-translate/core";
import { TranslateHttpLoader } from "@ngx-translate/http-loader";
import { AppComponent } from "./app.component";
import { environment } from "../environments/environment";
import { SummaryComponent } from "./summary/summary.component";
import { ListOfJumpsComponent } from "./list-of-jumps/list-of-jumps.component";
import { ListOfDzsComponent } from "./list-of-dzs/list-of-dzs.component";
import { NewJumpComponent } from "./new-jump/new-jump.component";
import { ListOfAircraftsComponent } from "./list-of-aircrafts/list-of-aircrafts.component";
import { ListOfJumpTypesComponent } from "./list-of-jump-types/list-of-jump-types.component";
import { ListOfGearsComponent } from "./list-of-gears/list-of-gears.component";
import { NewAircraftComponent } from "./new-aircraft/new-aircraft.component";
import { NewGearComponent } from "./new-gear/new-gear.component";
import { NewDropZoneComponent } from "./new-drop-zone/new-drop-zone.component";
import { NewJumpTypeComponent } from "./new-jump-type/new-jump-type.component";
import { DefaultComponent } from "./default/default.component";
import { LoginComponent } from "./login/login.component";
import { CreateUserComponent } from "./create-user/create-user.component";
import { LoginUserComponent } from "./login-user/login-user.component";
import { UserProfileComponent } from "./user-profile/user-profile.component";
import { ListOfImagesComponent } from "./list-of-images/list-of-images.component";
import { JumpInfosComponent } from "./jump-infos/jump-infos.component";
import { NewTunnelFlightComponent } from "./new-tunnel-flight/new-tunnel-flight.component";
import { ListOfTunnelFlightsComponent } from "./list-of-tunnel-flights/list-of-tunnel-flights.component";
import { DateService } from "../services/date.service";
import { AircraftService } from "../services/aircraft.service";
import { DropzoneService } from "../services/dropzone.service";
import { GearService } from "../services/gear.service";
import { JumpService } from "../services/jump.service";
import { JumpTypeService } from "../services/jump-type.service";
import { StatsService } from "../services/stats.service";
import { ServiceComm } from "../services/service-comm.service";
import { RequestCache } from "../services/request-cache.service";
import { AuthGuardService } from "../services/auth-guard.service";
import { ImageService } from "../services/image.service";
import { ConfigurationHelper } from "../services/configuration-helper";
import { ServiceCacheApi } from "../services/service-cache-api.service";
import { TunnelService } from "../services/tunnel.service";
import { TunnelFlightService } from "../services/tunnel-flight.service";
import { BrowserAnimationsModule } from "@angular/platform-browser/animations";
import { FormsModule, ReactiveFormsModule } from "@angular/forms";
import { MatAutocompleteModule } from "@angular/material/autocomplete";
import { MatButtonModule } from "@angular/material/button";
import { MatCheckboxModule } from "@angular/material/checkbox";
import { MatOptionModule, MatNativeDateModule } from "@angular/material/core";
import { MatDatepickerModule } from "@angular/material/datepicker";
import { MatFormFieldModule } from "@angular/material/form-field";
import { MatIconModule } from "@angular/material/icon";
import { MatInputModule } from "@angular/material/input";
import { MatPaginatorModule } from "@angular/material/paginator";
import { MatProgressSpinnerModule } from "@angular/material/progress-spinner";
import { MatProgressBarModule } from "@angular/material/progress-bar";
import { MatSelectModule } from "@angular/material/select";
import { MatTableModule } from "@angular/material/table";
import { MatTabsModule } from "@angular/material/tabs";
import { MatDialogModule } from "@angular/material/dialog";
import { MatCardModule } from "@angular/material/card";
import { MatRadioModule } from "@angular/material/radio";
import { MatSidenavModule } from "@angular/material/sidenav";
import { MatListModule } from "@angular/material/list";
import { MatToolbarModule } from "@angular/material/toolbar";
import { provideCharts, withDefaultRegisterables } from "ng2-charts";
import { JwtAuthInterceptor } from "../interceptor/jwt-auth.interceptor";
import { ErrorInterceptor } from "../interceptor/error.interceptor";
const appRoutes: Routes = [
{
path: "",
component: DefaultComponent,
canActivate: [AuthGuardService],
},
{
path: "summary",
component: SummaryComponent,
canActivate: [AuthGuardService],
},
{
path: "jumps",
component: ListOfJumpsComponent,
canActivate: [AuthGuardService],
},
{
path: "dzs",
component: ListOfDzsComponent,
canActivate: [AuthGuardService],
},
{
path: "newjump",
component: NewJumpComponent,
canActivate: [AuthGuardService],
},
{
path: "aircrafts",
component: ListOfAircraftsComponent,
canActivate: [AuthGuardService],
},
{
path: "jumpTypes",
component: ListOfJumpTypesComponent,
canActivate: [AuthGuardService],
},
{
path: "gears",
component: ListOfGearsComponent,
canActivate: [AuthGuardService],
},
{
path: "user",
component: UserProfileComponent,
canActivate: [AuthGuardService],
},
{
path: "newTunnelFlight",
component: NewTunnelFlightComponent,
canActivate: [AuthGuardService],
},
{
path: "tunnelFlights",
component: ListOfTunnelFlightsComponent,
canActivate: [AuthGuardService],
},
{ path: "login", component: LoginComponent },
];
// AOT compilation support
export function httpTranslateLoader(http: HttpClient) {
return new TranslateHttpLoader(http);
}
// Déclaration de la fonction d'initialisation de la configuration
export function initConfig(configService: ConfigurationHelper) {
return () => configService.load(environment.env);
}
@NgModule({
declarations: [
AppComponent,
SummaryComponent,
ListOfJumpsComponent,
ListOfDzsComponent,
NewJumpComponent,
ListOfAircraftsComponent,
ListOfJumpTypesComponent,
ListOfGearsComponent,
NewAircraftComponent,
NewGearComponent,
NewDropZoneComponent,
NewJumpTypeComponent,
DefaultComponent,
LoginComponent,
CreateUserComponent,
LoginUserComponent,
UserProfileComponent,
ListOfImagesComponent,
JumpInfosComponent,
NewTunnelFlightComponent,
ListOfTunnelFlightsComponent,
],
imports: [
RouterModule.forRoot(appRoutes, { enableTracing: !environment.production }),
TranslateModule.forRoot({
loader: {
provide: TranslateLoader,
useFactory: httpTranslateLoader,
deps: [HttpClient],
},
}),
ReactiveFormsModule,
FormsModule,
BrowserModule,
BrowserAnimationsModule,
MatPaginatorModule,
MatTableModule,
MatSelectModule,
MatOptionModule,
MatFormFieldModule,
MatCheckboxModule,
MatDatepickerModule,
MatNativeDateModule,
MatInputModule,
MatButtonModule,
MatIconModule,
MatAutocompleteModule,
MatProgressSpinnerModule,
MatProgressBarModule,
MatTabsModule,
MatDialogModule,
MatCardModule,
MatRadioModule,
MatSidenavModule,
MatListModule,
MatToolbarModule,
],
exports: [HttpClientModule],
providers: [
TunnelService,
TunnelFlightService,
ImageService,
AircraftService,
DropzoneService,
GearService,
JumpService,
JumpTypeService,
StatsService,
ServiceComm,
DateService,
RequestCache,
ConfigurationHelper,
DatePipe,
ServiceCacheApi,
provideAppInitializer(() => {
const initializerFn = initConfig(inject(ConfigurationHelper));
return initializerFn();
}),
{ provide: HTTP_INTERCEPTORS, useClass: JwtAuthInterceptor, multi: true },
{ provide: HTTP_INTERCEPTORS, useClass: ErrorInterceptor, multi: true },
provideCharts(withDefaultRegisterables()),
],
bootstrap: [AppComponent],
})
export class AppModule {}

View File

@@ -6,6 +6,9 @@ import { MatOptionModule } from "@angular/material/core";
import { MatCardModule } from "@angular/material/card";
import { MatTabsModule } from "@angular/material/tabs";
import { LoginUserComponent } from "../login-user/login-user.component";
import { CreateUserComponent } from "../create-user/create-user.component";
@Component({
selector: "app-login",
templateUrl: "./login.component.html",
@@ -17,6 +20,8 @@ import { MatTabsModule } from "@angular/material/tabs";
MatOptionModule,
MatCardModule,
MatTabsModule,
LoginUserComponent,
CreateUserComponent,
],
})
export class LoginComponent implements OnInit {