diff --git a/FencerJudgeFront/README.md b/FencerJudgeFront/README.md
index cf8675c..c5c9b8d 100644
--- a/FencerJudgeFront/README.md
+++ b/FencerJudgeFront/README.md
@@ -10,7 +10,7 @@ To start a local development server, run:
ng serve
```
-Once the server is running, open your browser and navigate to `http://localhost/`. The application will automatically reload whenever you modify any of the source files.
+Once the server is running, open your browser and navigate to `http://localhost:4200/`. The application will automatically reload whenever you modify any of the source files.
## Code scaffolding
diff --git a/FencerJudgeFront/src/app/app-routing.module.ts b/FencerJudgeFront/src/app/app-routing.module.ts
index 0440f68..0297262 100644
--- a/FencerJudgeFront/src/app/app-routing.module.ts
+++ b/FencerJudgeFront/src/app/app-routing.module.ts
@@ -1,41 +1,10 @@
import { NgModule } from '@angular/core';
import { RouterModule, Routes } from '@angular/router';
-import { authGuard } from '@guards/auth.guard';
-
-import { LoginComponent } from './components/essentials/login/login.component';
-import { LogoutComponent } from './components/essentials/logout/logout.component';
-
-import { HomeComponent } from './components/home/home.component';
-
-import { MatchesComponent } from './components/match/matches/matches.component';
-import { MatchesIdComponent } from './components/match/matches-id/matches-id.component';
-import { MatchesAddComponent } from './components/match/matches-add/matches-add.component';
-import { MatchesDelComponent } from './components/match/matches-del/matches-del.component';
-
-const routes: Routes = [
- { path: 'login', component: LoginComponent },
- { path: 'logout', component: LogoutComponent },
-
- { path: '', component: HomeComponent },
- { path: 'home', component: HomeComponent },
-
- { path: 'matches', component: MatchesComponent },
- {
- path: 'matches/add',
- component: MatchesAddComponent,
- canActivate: [authGuard],
- },
- {
- path: 'matches/del/:id',
- component: MatchesDelComponent,
- canActivate: [authGuard],
- },
- { path: 'matches/:id', component: MatchesIdComponent },
-];
+const routes: Routes = [];
@NgModule({
imports: [RouterModule.forRoot(routes)],
- exports: [RouterModule],
+ exports: [RouterModule]
})
-export class AppRoutingModule {}
+export class AppRoutingModule { }
diff --git a/FencerJudgeFront/src/app/app.component.html b/FencerJudgeFront/src/app/app.component.html
index eaf43d3..a37d5f5 100644
--- a/FencerJudgeFront/src/app/app.component.html
+++ b/FencerJudgeFront/src/app/app.component.html
@@ -1,3 +1,5 @@
-
+
+
+
\ No newline at end of file
diff --git a/FencerJudgeFront/src/app/app.component.ts b/FencerJudgeFront/src/app/app.component.ts
index c713d57..edbb159 100644
--- a/FencerJudgeFront/src/app/app.component.ts
+++ b/FencerJudgeFront/src/app/app.component.ts
@@ -4,7 +4,7 @@ import { Component } from '@angular/core';
selector: 'app-root',
templateUrl: './app.component.html',
standalone: false,
- styleUrl: './app.component.css',
+ styleUrl: './app.component.css'
})
export class AppComponent {
title = 'FencerJudgeFront';
diff --git a/FencerJudgeFront/src/app/app.module.ts b/FencerJudgeFront/src/app/app.module.ts
index 4490d31..6a4581d 100644
--- a/FencerJudgeFront/src/app/app.module.ts
+++ b/FencerJudgeFront/src/app/app.module.ts
@@ -1,36 +1,24 @@
import { NgModule } from '@angular/core';
import { BrowserModule } from '@angular/platform-browser';
-import { FormsModule } from '@angular/forms';
import { AppRoutingModule } from './app-routing.module';
import { AppComponent } from './app.component';
import { HeaderComponent } from './components/essentials/header/header.component';
import { FooterComponent } from './components/essentials/footer/footer.component';
import { HomeComponent } from './components/home/home.component';
-import { LoginComponent } from './components/essentials/login/login.component';
-import { LogoutComponent } from './components/essentials/logout/logout.component';
-import { MatchesComponent } from './components/match/matches/matches.component';
-import { MatchesIdComponent } from './components/match/matches-id/matches-id.component';
-import { MatchesAddComponent } from './components/match/matches-add/matches-add.component';
-import { SponsortComponent } from './templates/sponsort/sponsort.component';
-import { MatchesDelComponent } from './components/match/matches-del/matches-del.component';
@NgModule({
declarations: [
AppComponent,
HeaderComponent,
FooterComponent,
- HomeComponent,
- LoginComponent,
- LogoutComponent,
- MatchesComponent,
- MatchesIdComponent,
- MatchesAddComponent,
- SponsortComponent,
- MatchesDelComponent,
+ HomeComponent
+ ],
+ imports: [
+ BrowserModule,
+ AppRoutingModule
],
- imports: [BrowserModule, AppRoutingModule, FormsModule],
providers: [],
- bootstrap: [AppComponent],
+ bootstrap: [AppComponent]
})
-export class AppModule {}
+export class AppModule { }
diff --git a/FencerJudgeFront/src/app/components/essentials/footer/footer.component.css b/FencerJudgeFront/src/app/components/essentials/footer/footer.component.css
index a76370e..e69de29 100644
--- a/FencerJudgeFront/src/app/components/essentials/footer/footer.component.css
+++ b/FencerJudgeFront/src/app/components/essentials/footer/footer.component.css
@@ -1,21 +0,0 @@
-
-.footer-gris {
- background-color: #2c2c2c; /* Gris foncé personnalisé */
-}
-
-.flag-bar {
- height: 6px; /* épaisseur du trait */
- width: 100%; /* toute la largeur */
- background: linear-gradient(
- to right,
- #0055a4 0%, /* bleu */
- #0055a4 33.33%, /* 1/3 */
- #fff 33.33%, /* blanc */
- #fff 66.66%, /* 2/3 */
- #ef4135 66.66%, /* rouge */
- #ef4135 100%
- );
- margin-bottom: 8px;
- border-radius: 3px; /* optionnel, pour arrondir les bords */
- box-shadow: 0 1px 3px rgba(0,0,0,0.1);
-}
\ No newline at end of file
diff --git a/FencerJudgeFront/src/app/components/essentials/footer/footer.component.html b/FencerJudgeFront/src/app/components/essentials/footer/footer.component.html
index a110ff8..28c0d7d 100644
--- a/FencerJudgeFront/src/app/components/essentials/footer/footer.component.html
+++ b/FencerJudgeFront/src/app/components/essentials/footer/footer.component.html
@@ -1,48 +1 @@
-
+footer works!
diff --git a/FencerJudgeFront/src/app/components/essentials/header/header.component.css b/FencerJudgeFront/src/app/components/essentials/header/header.component.css
index 9df8f3d..e69de29 100644
--- a/FencerJudgeFront/src/app/components/essentials/header/header.component.css
+++ b/FencerJudgeFront/src/app/components/essentials/header/header.component.css
@@ -1,25 +0,0 @@
-.navbar {
- box-shadow: 0 2px 6px rgba(0, 0, 0, 0.1);
-}
-
-.navbar-brand {
- font-weight: 700;
- font-size: 1.4rem;
- display: flex;
- align-items: center;
-}
-
-.navbar-brand img {
- height: 30px;
- margin-right: 0.5rem;
-}
-
-.nav-link {
- transition: color 0.3s ease;
-}
-
-.nav-link:hover,
-.active-link {
- color: #ffcc00 !important;
- font-weight: 600;
-}
diff --git a/FencerJudgeFront/src/app/components/essentials/header/header.component.html b/FencerJudgeFront/src/app/components/essentials/header/header.component.html
index c8ae8e8..4f5a95d 100644
--- a/FencerJudgeFront/src/app/components/essentials/header/header.component.html
+++ b/FencerJudgeFront/src/app/components/essentials/header/header.component.html
@@ -1,52 +1 @@
-
-
+header works!
diff --git a/FencerJudgeFront/src/app/components/essentials/header/header.component.ts b/FencerJudgeFront/src/app/components/essentials/header/header.component.ts
index 6b0a735..f572069 100644
--- a/FencerJudgeFront/src/app/components/essentials/header/header.component.ts
+++ b/FencerJudgeFront/src/app/components/essentials/header/header.component.ts
@@ -1,25 +1,11 @@
import { Component } from '@angular/core';
-import { Router } from '@angular/router';
-import { AuthService } from '@services/auth/auth.service';
@Component({
selector: 'app-header',
standalone: false,
templateUrl: './header.component.html',
- styleUrl: './header.component.css',
+ styleUrl: './header.component.css'
})
export class HeaderComponent {
- constructor(private router: Router, public authService: AuthService) {}
- isHomeActive(): boolean {
- return this.router.url === '/' || this.router.url === '/home';
- }
-
- isHomeActiveBool(): boolean {
- if (this.router.url != '/home') {
- return true;
- } else {
- return false;
- }
- }
}
diff --git a/FencerJudgeFront/src/app/components/essentials/login/login.component.css b/FencerJudgeFront/src/app/components/essentials/login/login.component.css
deleted file mode 100644
index a2b0cf2..0000000
--- a/FencerJudgeFront/src/app/components/essentials/login/login.component.css
+++ /dev/null
@@ -1,147 +0,0 @@
-.login-container {
- display: flex;
- justify-content: center;
- align-items: center;
- min-height: 25vh;
- padding: 2rem;
-}
-
-.login-card {
- background-color: #fff;
- border-radius: 12px;
- overflow: hidden;
- width: 500px;
- box-shadow: 0 12px 24px rgba(0, 0, 0, 0.25);
- color: #333;
-}
-
-.login-header-img {
- position: absolute;
- height: inherit;
- width: 100%;
- background-color: rgba(0, 0, 0, 0.25);
- top: 0;
- left: 0;
-}
-
-.login-header {
- background: url("https://www.lejdd.fr/lmnr/var/jdd/public/media/image/2022/07/19/12/escrime-comment-les-francais-apprivoisent-leurs-armes.jpg?VersionId=Mw31AogdDUwVLuCaVdxMozm9kito7TTP") no-repeat center/cover;
- position: relative;
- padding: 4rem 1rem;
- display: flex;
- justify-content: center;
- align-items: center;
- min-height: 300px;
- color: white;
-}
-
-.login-header::before {
- content: "";
- position: absolute;
- inset: 0;
- background: rgba(0, 0, 0, 0.3);
- /* voile sombre */
- -webkit-backdrop-filter: blur(2px);
- backdrop-filter: blur(2px);
- /* effet de flou */
- z-index: 1;
- border-radius: 0.5rem;
-}
-
-.login-header h1 {
- position: relative;
- z-index: 2;
- padding: 2rem;
-}
-
-.login-header h2 {
- margin-bottom: 0.5rem;
-}
-
-.login-header p {
- font-size: 0.85rem;
- line-height: 1.4;
-}
-
-.login-form {
- padding: 1.5rem;
- display: flex;
- flex-direction: column;
- gap: 1rem;
-}
-
-.input-group {
- display: flex;
- align-items: center;
- border-radius: 20px;
- position: relative;
- background-color: #235d4f;
- padding: 1rem;
-}
-
-.input-group input {
- width: 100%;
- padding: 1rem;
- font-size: 16px;
- color: white;
- border: none;
- border-bottom: 1px solid white;
- outline: none;
- background: transparent;
-}
-
-.input-group input:focus~label,
-.input-group input:valid~label {
- top: 0;
- left: 0;
- color: #235d4f;
- font-size: 12px;
- padding: .6rem;
-}
-
-.input-group input .form-control:focus {
- border-color: transparent !important;
-}
-
-.input-group label {
- position: absolute;
- top: 22px;
- left: 0;
- font-size: 16px;
- color: white;
- pointer-events: none;
- transition: 0.5s;
- padding: .6rem;
-}
-
-.input-group .icon {
- color: white;
- margin-right: 0.5rem;
-}
-
-.options {
- display: flex;
- justify-content: space-between;
- font-size: 0.85rem;
- color: #555;
-}
-
-.options a {
- color: #235d4f;
- text-decoration: none;
-}
-
-.login-btn {
- background-color: #235d4f;
- color: white;
- padding: 0.6rem;
- border: none;
- border-radius: 6px;
- font-size: 1rem;
- cursor: pointer;
- transition: background-color 0.3s;
-}
-
-.login-btn:hover {
- background-color: #1b4b3d;
-}
\ No newline at end of file
diff --git a/FencerJudgeFront/src/app/components/essentials/login/login.component.html b/FencerJudgeFront/src/app/components/essentials/login/login.component.html
deleted file mode 100644
index 993b80b..0000000
--- a/FencerJudgeFront/src/app/components/essentials/login/login.component.html
+++ /dev/null
@@ -1,22 +0,0 @@
-
\ No newline at end of file
diff --git a/FencerJudgeFront/src/app/components/essentials/login/login.component.spec.ts b/FencerJudgeFront/src/app/components/essentials/login/login.component.spec.ts
deleted file mode 100644
index 4adbc3d..0000000
--- a/FencerJudgeFront/src/app/components/essentials/login/login.component.spec.ts
+++ /dev/null
@@ -1,23 +0,0 @@
-import { ComponentFixture, TestBed } from '@angular/core/testing';
-
-import { LoginComponent } from './login.component';
-
-describe('LoginComponent', () => {
- let component: LoginComponent;
- let fixture: ComponentFixture;
-
- beforeEach(async () => {
- await TestBed.configureTestingModule({
- declarations: [LoginComponent]
- })
- .compileComponents();
-
- fixture = TestBed.createComponent(LoginComponent);
- component = fixture.componentInstance;
- fixture.detectChanges();
- });
-
- it('should create', () => {
- expect(component).toBeTruthy();
- });
-});
diff --git a/FencerJudgeFront/src/app/components/essentials/login/login.component.ts b/FencerJudgeFront/src/app/components/essentials/login/login.component.ts
deleted file mode 100644
index f7b137a..0000000
--- a/FencerJudgeFront/src/app/components/essentials/login/login.component.ts
+++ /dev/null
@@ -1,25 +0,0 @@
-import { Component } from '@angular/core';
-import { Router } from '@angular/router';
-import { AuthService } from '@services/auth/auth.service';
-
-@Component({
- selector: 'app-login',
- standalone: false,
- templateUrl: './login.component.html',
- styleUrl: './login.component.css',
-})
-export class LoginComponent {
- email = '';
- password = '';
- errorMessage = '';
-
- constructor(private authService: AuthService, private router: Router) {}
-
- onSubmit() {
- if (this.authService.login(this.email, this.password)) {
- this.router.navigate(['/']);
- } else {
- this.errorMessage = 'Identifiants incorrects';
- }
- }
-}
diff --git a/FencerJudgeFront/src/app/components/essentials/logout/logout.component.css b/FencerJudgeFront/src/app/components/essentials/logout/logout.component.css
deleted file mode 100644
index e69de29..0000000
diff --git a/FencerJudgeFront/src/app/components/essentials/logout/logout.component.html b/FencerJudgeFront/src/app/components/essentials/logout/logout.component.html
deleted file mode 100644
index c6ae40e..0000000
--- a/FencerJudgeFront/src/app/components/essentials/logout/logout.component.html
+++ /dev/null
@@ -1 +0,0 @@
-logout works!
diff --git a/FencerJudgeFront/src/app/components/essentials/logout/logout.component.spec.ts b/FencerJudgeFront/src/app/components/essentials/logout/logout.component.spec.ts
deleted file mode 100644
index 074294b..0000000
--- a/FencerJudgeFront/src/app/components/essentials/logout/logout.component.spec.ts
+++ /dev/null
@@ -1,23 +0,0 @@
-import { ComponentFixture, TestBed } from '@angular/core/testing';
-
-import { LogoutComponent } from './logout.component';
-
-describe('LogoutComponent', () => {
- let component: LogoutComponent;
- let fixture: ComponentFixture;
-
- beforeEach(async () => {
- await TestBed.configureTestingModule({
- declarations: [LogoutComponent]
- })
- .compileComponents();
-
- fixture = TestBed.createComponent(LogoutComponent);
- component = fixture.componentInstance;
- fixture.detectChanges();
- });
-
- it('should create', () => {
- expect(component).toBeTruthy();
- });
-});
diff --git a/FencerJudgeFront/src/app/components/essentials/logout/logout.component.ts b/FencerJudgeFront/src/app/components/essentials/logout/logout.component.ts
deleted file mode 100644
index 7945a95..0000000
--- a/FencerJudgeFront/src/app/components/essentials/logout/logout.component.ts
+++ /dev/null
@@ -1,16 +0,0 @@
-import { Component } from '@angular/core';
-import { Router } from '@angular/router';
-import { AuthService } from '@services/auth/auth.service';
-
-@Component({
- selector: 'app-logout',
- standalone: false,
- templateUrl: './logout.component.html',
- styleUrl: './logout.component.css',
-})
-export class LogoutComponent {
- constructor(private authService: AuthService, private router: Router) {
- this.authService.logout();
- this.router.navigate(['/']); // Redirection après déconnexion
- }
-}
diff --git a/FencerJudgeFront/src/app/components/home/home.component.css b/FencerJudgeFront/src/app/components/home/home.component.css
index ddf7d9e..e69de29 100644
--- a/FencerJudgeFront/src/app/components/home/home.component.css
+++ b/FencerJudgeFront/src/app/components/home/home.component.css
@@ -1,568 +0,0 @@
-.match-card {
- background: linear-gradient(135deg, #1a1a2e 0%, #16213e 100%);
- border: 2px solid #daa520;
- padding: 24px;
- box-shadow: 0 8px 32px rgba(0, 0, 0, 0.4),
- inset 0 1px 0 rgba(255, 255, 255, 0.1);
- position: relative;
- overflow: hidden;
- transition: all 0.3s ease;
- height: 80vh;
- width: 100%;
-}
-
-.match-card::before {
- content: "";
- position: absolute;
- top: 0;
- left: 0;
- right: 0;
- height: 2px;
- background: linear-gradient(90deg, #daa520, #ffd700, #daa520);
- background-size: 200% 100%;
- animation: gradientShift 15s ease infinite;
-}
-
-@keyframes gradientShift {
- 0% {
- background-position: 0% 50%;
- }
-
- 50% {
- background-position: 100% 50%;
- }
-
- 100% {
- background-position: 0% 50%;
- }
-}
-
-.match-card {
- transform: translateY(-4px);
- box-shadow: 0 12px 48px rgba(218, 165, 32, 0.2), 0 8px 32px rgba(0, 0, 0, 0.4);
-}
-
-.match-background {
- position: absolute;
- top: 0;
- left: 0;
- width: 100%;
- height: 100%;
- z-index: -1;
-}
-
-.background-image {
- width: 100%;
- height: 100%;
- object-fit: cover;
- filter: grayscale(30%) brightness(0.4) contrast(1.2);
- transition: all 0.5s ease;
-}
-
-.match-card:hover .background-image {
- filter: grayscale(10%) brightness(0.3) contrast(1.4);
- transform: scale(1.05);
-}
-
-.image-overlay {
- position: absolute;
- top: 0;
- left: 0;
- width: 100%;
- height: 100%;
- background: linear-gradient(
- 135deg,
- rgba(26, 26, 46, 0.85) 0%,
- rgba(0, 0, 0, 0.7) 50%,
- rgba(22, 33, 62, 0.85) 100%
- );
-}
-
-/* Header */
-.match-header {
- display: flex;
- justify-content: space-between;
- align-items: center;
- margin-bottom: 20px;
-}
-
-.match-weapon {
- display: flex;
- align-items: center;
- gap: 8px;
- color: #daa520;
- font-weight: 600;
-}
-
-.weapon-type {
- font-size: 14px;
- text-transform: uppercase;
- letter-spacing: 1px;
-}
-
-/* Status */
-.match-status {
- display: flex;
- align-items: center;
- gap: 8px;
- padding: 6px 12px;
- border-radius: 20px;
- font-size: 12px;
- font-weight: 600;
- text-transform: uppercase;
- letter-spacing: 0.5px;
-}
-
-.status-warning {
- background: rgba(34, 197, 94, 0.2);
- color: #22c55e;
- border: 1px solid #22c55e;
-}
-
-.status-success {
- background: rgba(239, 68, 68, 0.2);
- color: #ef4444;
- border: 1px solid #ef4444;
-}
-
-.status-secondary {
- background: rgba(59, 130, 246, 0.2);
- color: #3b82f6;
- border: 1px solid #3b82f6;
-}
-
-.status-dot {
- width: 8px;
- height: 8px;
- border-radius: 50%;
- background: currentColor;
- animation: pulse 2s infinite;
-}
-
-@keyframes pulse {
- 0%,
- 100% {
- opacity: 1;
- }
- 50% {
- opacity: 0.5;
- }
-}
-
-/* Versus Section */
-.match-versus {
- display: flex;
- align-items: center;
- justify-content: space-between;
- margin: 24px 0;
- position: relative;
-}
-
-.fencer {
- flex: 1;
- text-align: center;
- color: white;
-}
-
-.fencer-name {
- font-size: 18px;
- font-weight: 700;
- margin-bottom: 4px;
- color: #daa520;
-}
-
-.fencer-club {
- font-size: 12px;
- color: #9ca3af;
- margin-bottom: 8px;
-}
-
-.score {
- font-size: 32px;
- font-weight: 900;
- color: white;
- text-shadow: 0 2px 4px rgba(0, 0, 0, 0.5);
-}
-
-.vs-divider {
- display: flex;
- flex-direction: column;
- align-items: center;
- gap: 4px;
- margin: 0 20px;
-}
-
-.vs-text {
- font-size: 14px;
- font-weight: 700;
- color: #6b7280;
- letter-spacing: 2px;
-}
-
-.crossed-swords {
- font-size: 20px;
- opacity: 0.7;
-}
-
-/* Details */
-.match-details {
- display: flex;
- flex-direction: column;
- gap: 12px;
- margin-top: 20px;
- padding-top: 20px;
- border-top: 1px solid rgba(255, 255, 255, 0.1);
-}
-
-.detail-item {
- display: flex;
- align-items: center;
- gap: 12px;
- font-size: 14px;
-}
-
-.detail-item .icon {
- font-size: 16px;
- width: 20px;
- text-align: center;
-}
-
-.detail-item .label {
- color: #9ca3af;
- font-weight: 500;
- min-width: 60px;
-}
-
-.detail-item .value {
- color: white;
- font-weight: 600;
-}
-
-/* Responsive */
-@media (max-width: 768px) {
- .match-card {
- padding: 16px;
- }
-
- .match-versus {
- flex-direction: column;
- gap: 16px;
- }
-
- .vs-divider {
- transform: rotate(90deg);
- margin: 0;
- }
-
- .fencer {
- width: 100%;
- }
-}
-
-.combat-arena {
- margin-top: 24px;
- background: linear-gradient(
- 135deg,
- rgba(220, 38, 38, 0.1) 0%,
- rgba(0, 0, 0, 0.8) 50%,
- rgba(255, 215, 0, 0.1) 100%
- );
- border: 2px solid;
- border-image: linear-gradient(45deg, #dc2626, #ffd700, #dc2626) 1;
- border-radius: 12px;
- padding: 20px;
- position: relative;
- overflow: hidden;
-}
-
-.combat-arena::before {
- content: "";
- position: absolute;
- top: -50%;
- left: -50%;
- width: 200%;
- height: 200%;
- background: repeating-conic-gradient(
- from 0deg at 50% 50%,
- transparent 0deg 2deg,
- rgba(220, 38, 38, 0.05) 2deg 4deg
- );
- animation: rotate 20s linear infinite;
- pointer-events: none;
-}
-
-@keyframes rotate {
- 0% {
- transform: rotate(0deg);
- }
- 100% {
- transform: rotate(360deg);
- }
-}
-
-/* Header Arena */
-.arena-header {
- display: flex;
- align-items: center;
- justify-content: center;
- gap: 12px;
- margin-bottom: 20px;
- position: relative;
-}
-
-.arena-title {
- font-family: "Orbitron", monospace;
- font-size: 16px;
- font-weight: 900;
- color: #ffd700;
- letter-spacing: 3px;
- text-shadow: 0 0 10px #ffd700, 0 0 20px #ffd700, 0 0 30px #ffd700;
- animation: titleGlow 2s ease-in-out infinite alternate;
-}
-
-@keyframes titleGlow {
- from {
- text-shadow: 0 0 10px #ffd700, 0 0 20px #ffd700, 0 0 30px #ffd700;
- }
- to {
- text-shadow: 0 0 20px #ffd700, 0 0 30px #ffd700, 0 0 40px #ffd700;
- }
-}
-
-.arena-pulse {
- width: 10px;
- height: 10px;
- background: #dc2626;
- border-radius: 50%;
- position: relative;
- animation: pulse-danger 1s infinite;
-}
-
-.arena-pulse::before {
- content: "";
- position: absolute;
- top: -5px;
- left: -5px;
- right: -5px;
- bottom: -5px;
- background: #dc2626;
- border-radius: 50%;
- opacity: 0.3;
- animation: pulse-ring 1s infinite;
-}
-
-@keyframes pulse-danger {
- 0%,
- 100% {
- transform: scale(1);
- }
- 50% {
- transform: scale(1.2);
- }
-}
-
-@keyframes pulse-ring {
- 0% {
- transform: scale(0.8);
- opacity: 0.8;
- }
- 100% {
- transform: scale(2);
- opacity: 0;
- }
-}
-
-/* Combat Grid */
-.combat-grid {
- display: grid;
- grid-template-columns: 1fr;
- gap: 16px;
-}
-
-.combat-stat {
- display: flex;
- align-items: center;
- gap: 16px;
- padding: 16px;
- background: linear-gradient(
- 90deg,
- rgba(0, 0, 0, 0.8) 0%,
- rgba(26, 26, 46, 0.9) 50%,
- rgba(0, 0, 0, 0.8) 100%
- );
- border: 1px solid rgba(255, 215, 0, 0.3);
- border-radius: 8px;
- position: relative;
- transition: all 0.3s ease;
- cursor: pointer;
-}
-
-.combat-stat:hover {
- transform: translateX(8px);
- border-color: #ffd700;
- box-shadow: 0 4px 20px rgba(255, 215, 0, 0.3),
- inset 0 1px 0 rgba(255, 215, 0, 0.1);
-}
-
-/* Icons animés */
-.stat-icon {
- position: relative;
- display: flex;
- align-items: center;
- justify-content: center;
- width: 48px;
- height: 48px;
- font-size: 24px;
-}
-
-.location-radar {
- position: absolute;
- width: 40px;
- height: 40px;
- border: 2px solid #10b981;
- border-radius: 50%;
- border-top-color: transparent;
- animation: radar-spin 2s linear infinite;
-}
-
-.referee-badge {
- position: absolute;
- width: 35px;
- height: 35px;
- background: linear-gradient(45deg, #ffd700, #ffed4a);
- clip-path: polygon(
- 50% 0%,
- 61% 35%,
- 98% 35%,
- 68% 57%,
- 79% 91%,
- 50% 70%,
- 21% 91%,
- 32% 57%,
- 2% 35%,
- 39% 35%
- );
- animation: badge-pulse 3s ease-in-out infinite;
-}
-
-.time-ring {
- position: absolute;
- width: 36px;
- height: 36px;
- border: 3px solid #dc2626;
- border-radius: 50%;
- border-left-color: transparent;
- animation: time-tick 1s linear infinite;
-}
-
-@keyframes radar-spin {
- 0% {
- transform: rotate(0deg);
- }
- 100% {
- transform: rotate(360deg);
- }
-}
-
-@keyframes badge-pulse {
- 0%,
- 100% {
- transform: scale(1) rotate(0deg);
- }
- 50% {
- transform: scale(1.1) rotate(5deg);
- }
-}
-
-@keyframes time-tick {
- 0% {
- transform: rotate(0deg);
- }
- 100% {
- transform: rotate(360deg);
- }
-}
-
-/* Content */
-.stat-content {
- flex: 1;
- display: flex;
- flex-direction: column;
- gap: 2px;
-}
-
-.stat-label {
- font-family: "Orbitron", monospace;
- font-size: 10px;
- font-weight: 700;
- color: #6b7280;
- letter-spacing: 1px;
- text-transform: uppercase;
-}
-
-.stat-value {
- font-size: 16px;
- font-weight: 700;
- color: #ffffff;
- text-shadow: 0 1px 2px rgba(0, 0, 0, 0.5);
-}
-
-.stat-sub {
- font-size: 11px;
- color: #9ca3af;
- font-weight: 500;
-}
-
-/* Glows spécifiques */
-.venue .stat-value {
- color: #10b981;
-}
-.referee .stat-value {
- color: #ffd700;
-}
-.timing .stat-value {
- color: #dc2626;
-}
-
-.stat-glow {
- position: absolute;
- top: 0;
- left: 0;
- right: 0;
- bottom: 0;
- border-radius: 8px;
- opacity: 0;
- transition: opacity 0.3s ease;
- pointer-events: none;
-}
-
-.combat-stat:hover .stat-glow {
- opacity: 1;
-}
-
-.venue-glow {
- box-shadow: inset 0 0 20px rgba(16, 185, 129, 0.2);
-}
-.referee-glow {
- box-shadow: inset 0 0 20px rgba(255, 215, 0, 0.2);
-}
-.timing-glow {
- box-shadow: inset 0 0 20px rgba(220, 38, 38, 0.2);
-}
-
-/* Responsive */
-@media (min-width: 768px) {
- .combat-grid {
- grid-template-columns: repeat(3, 1fr);
- }
-
- .combat-stat {
- flex-direction: column;
- text-align: center;
- gap: 12px;
- }
-
- .combat-stat:hover {
- transform: translateY(-4px);
- }
-}
diff --git a/FencerJudgeFront/src/app/components/home/home.component.html b/FencerJudgeFront/src/app/components/home/home.component.html
index 37d0ba6..5f2c53f 100644
--- a/FencerJudgeFront/src/app/components/home/home.component.html
+++ b/FencerJudgeFront/src/app/components/home/home.component.html
@@ -1,114 +1 @@
-
-
-

-
-
-
-
-
-
-
-
- {{ player1?.name }} {{ player1?.firstName }}
-
-
{{ player1?.club }}
-
{{ latestMatch.score1 }}
-
-
-
-
-
-
- {{ player2?.name }} {{ player2?.firstName }}
-
-
{{ player2?.club }}
-
{{ latestMatch.score2 }}
-
-
-
-
-
-
-
-
-
-
- BATTLEFIELD
- {{ latestMatch.city }}
- {{ latestMatch.country }}
-
-
-
-
-
-
-
- COMBAT JUDGE
- {{ referee?.name }} {{ referee?.firstName }}
- OFFICIAL REFEREE
-
-
-
-
-
-
-
- COMBAT START
- {{ getTimeUntilMatch() }}
- LIVE BATTLE
-
-
-
-
-
- 🎯
-
-
- FUN FACT
-
- Saviez-vous que l'escrime est l'un des sports les plus anciens aux
- Jeux Olympiques ?
-
- Inspiration et tradition au rendez-vous
-
-
-
-
-
-
-
+home works!
diff --git a/FencerJudgeFront/src/app/components/home/home.component.ts b/FencerJudgeFront/src/app/components/home/home.component.ts
index c6a3439..906862d 100644
--- a/FencerJudgeFront/src/app/components/home/home.component.ts
+++ b/FencerJudgeFront/src/app/components/home/home.component.ts
@@ -1,159 +1,11 @@
import { Component } from '@angular/core';
-import { MatchesService } from '@services/matches/matches.service';
-import { Matches, MatchState } from '@interfaces/matches';
-
-import { PlayerService } from '@services/player/player.service';
-import { Player } from '@interfaces/player';
-
-import { RefereeService } from '@services/referee/referee.service';
-import { Referee, RefereeLevel } from '@interfaces/referee';
-
@Component({
selector: 'app-home',
standalone: false,
templateUrl: './home.component.html',
- styleUrl: './home.component.css',
+ styleUrl: './home.component.css'
})
export class HomeComponent {
- latestMatch?: Matches;
- player1?: Player;
- player2?: Player;
- referee?: Referee;
- MatchState = MatchState;
- intervalId?: any;
- timeUntilMatch: string | null = null;
- constructor(
- private matchesService: MatchesService,
- private playerService: PlayerService,
- private refereeService: RefereeService
- ) {}
-
- ngOnInit(): void {
- this.getLatestMatch();
- }
-
- ngOnDestroy(): void {
- if (this.intervalId) {
- clearInterval(this.intervalId);
- }
- }
-
- private getLatestMatch(): void {
- this.matchesService.getMatches().subscribe((matches) => {
- if (matches.length > 0) {
- this.latestMatch = matches[matches.length - 1];
- console.log(
- '[HomeComponent] 🏁 Dernier match ajouté :',
- this.latestMatch
- );
-
- // Récupération des données liées
- this.loadRelatedEntities(this.latestMatch);
-
- if (this.latestMatch.state === MatchState.NOT_STARTED) {
- this.updateTimeUntilMatch(); // initial
- this.intervalId = setInterval(() => {
- this.updateTimeUntilMatch();
- }, 60000); // chaque minute
- }
- } else {
- console.warn('[HomeComponent] Aucun match disponible');
- }
- });
- }
-
- private updateTimeUntilMatch(): void {
- if (!this.latestMatch) return;
-
- const now = new Date();
- const matchDate = new Date(this.latestMatch.date);
- const diffMs = matchDate.getTime() - now.getTime();
-
- if (diffMs <= 0) {
- this.timeUntilMatch = null;
- clearInterval(this.intervalId);
- return;
- }
-
- const totalMinutes = Math.floor(diffMs / (1000 * 60));
- const days = Math.floor(totalMinutes / (60 * 24));
- const hours = Math.floor((totalMinutes % (60 * 24)) / 60);
- const minutes = totalMinutes % 60;
-
- let result = '';
- if (days > 0) result += `${days}j `;
- if (hours > 0 || days > 0) result += `${hours}h `;
- result += `${minutes}min`;
-
- this.timeUntilMatch = result.trim();
- }
-
- private loadRelatedEntities(match: Matches): void {
- this.playerService.getPlayerById(match.player1ID).subscribe((p1) => {
- this.player1 = p1!;
- });
-
- this.playerService.getPlayerById(match.player2ID).subscribe((p2) => {
- this.player2 = p2!;
- });
-
- this.refereeService.getRefereeById(match.refereeID).subscribe((ref) => {
- this.referee = ref!;
- });
- }
-
- getMatchStateLabel(state: MatchState): string {
- switch (state) {
- case MatchState.NOT_STARTED:
- return 'À venir';
- case MatchState.ONGOING:
- return 'En cours';
- case MatchState.OVER:
- return 'Terminé';
- default:
- return 'Inconnu';
- }
- }
-
- getMatchStateColor(state: MatchState): string {
- switch (state) {
- case MatchState.NOT_STARTED:
- return 'secondary';
- case MatchState.ONGOING:
- return 'warning';
- case MatchState.OVER:
- return 'success';
- default:
- return 'light';
- }
- }
-
- getTimeUntilMatch(): string | null {
- if (
- !this.latestMatch ||
- this.latestMatch.state !== MatchState.NOT_STARTED
- ) {
- return null;
- }
-
- const now = new Date();
- const matchDate = new Date(this.latestMatch.date);
- const diffMs = matchDate.getTime() - now.getTime();
-
- if (diffMs <= 0) return null;
-
- const totalMinutes = Math.floor(diffMs / (1000 * 60));
- const days = Math.floor(totalMinutes / (60 * 24));
- const hours = Math.floor((totalMinutes % (60 * 24)) / 60);
- const minutes = totalMinutes % 60;
-
- let result = '';
- if (days > 0) result += `${days}j `;
- if (hours > 0 || days > 0) result += `${hours}h `;
- result += `${minutes}min`;
-
- return result.trim();
- }
}
diff --git a/FencerJudgeFront/src/app/components/match/matches-add/matches-add.component.css b/FencerJudgeFront/src/app/components/match/matches-add/matches-add.component.css
deleted file mode 100644
index bb537a4..0000000
--- a/FencerJudgeFront/src/app/components/match/matches-add/matches-add.component.css
+++ /dev/null
@@ -1,18 +0,0 @@
-form fieldset {
- background-color: #f8f9fa; /* gris clair */
-}
-
-form legend {
- font-weight: 600;
- font-size: 1.1rem;
-}
-
-form label {
- font-weight: 500;
-}
-
-form button {
- width: 100%;
- padding: 0.6rem;
- font-size: 1.1rem;
-}
diff --git a/FencerJudgeFront/src/app/components/match/matches-add/matches-add.component.html b/FencerJudgeFront/src/app/components/match/matches-add/matches-add.component.html
deleted file mode 100644
index 130f2cc..0000000
--- a/FencerJudgeFront/src/app/components/match/matches-add/matches-add.component.html
+++ /dev/null
@@ -1,171 +0,0 @@
-Ajouter un match
-
-
diff --git a/FencerJudgeFront/src/app/components/match/matches-add/matches-add.component.spec.ts b/FencerJudgeFront/src/app/components/match/matches-add/matches-add.component.spec.ts
deleted file mode 100644
index 5cd8289..0000000
--- a/FencerJudgeFront/src/app/components/match/matches-add/matches-add.component.spec.ts
+++ /dev/null
@@ -1,23 +0,0 @@
-import { ComponentFixture, TestBed } from '@angular/core/testing';
-
-import { MatchesAddComponent } from './matches-add.component';
-
-describe('MatchesAddComponent', () => {
- let component: MatchesAddComponent;
- let fixture: ComponentFixture;
-
- beforeEach(async () => {
- await TestBed.configureTestingModule({
- declarations: [MatchesAddComponent]
- })
- .compileComponents();
-
- fixture = TestBed.createComponent(MatchesAddComponent);
- component = fixture.componentInstance;
- fixture.detectChanges();
- });
-
- it('should create', () => {
- expect(component).toBeTruthy();
- });
-});
diff --git a/FencerJudgeFront/src/app/components/match/matches-add/matches-add.component.ts b/FencerJudgeFront/src/app/components/match/matches-add/matches-add.component.ts
deleted file mode 100644
index 77a8a94..0000000
--- a/FencerJudgeFront/src/app/components/match/matches-add/matches-add.component.ts
+++ /dev/null
@@ -1,97 +0,0 @@
-import { Component } from '@angular/core';
-import { Router } from '@angular/router';
-import { FormsModule } from '@angular/forms';
-
-import { MatchesService } from '@services/matches/matches.service';
-import { MatchState } from '@interfaces/matches';
-
-import { PlayerService } from '@services/player/player.service';
-
-import { RefereeService } from '@services/referee/referee.service';
-import { Referee, RefereeLevel } from '@interfaces/referee';
-
-@Component({
- selector: 'app-matches-add',
- standalone: false,
- templateUrl: './matches-add.component.html',
- styleUrl: './matches-add.component.css',
-})
-export class MatchesAddComponent {
- formData = {
- player1Id: 0,
- player1FirstName: '',
- player1Name: '',
- player1Club: '',
-
- player2Id: 0,
- player2FirstName: '',
- player2Name: '',
- player2Club: '',
-
- refereeId: 0,
- refereeFirstName: '',
- refereeName: '',
- refereelevel: 0,
-
- city: '',
- country: '',
- weapon: '',
- date: '',
- };
-
- constructor(
- private matchService: MatchesService,
- private playerService: PlayerService,
- private refereeService: RefereeService,
- private router: Router
- ) {}
-
- onSubmit(): void {
- this.playerService
- .getOrCreateByName(
- this.formData.player1FirstName,
- this.formData.player1Name,
- this.formData.player1Club
- )
- .subscribe((player1) => {
- this.formData['player1Id'] = player1.id;
-
- this.playerService
- .getOrCreateByName(
- this.formData.player2FirstName,
- this.formData.player2Name,
- this.formData.player2Club
- )
- .subscribe((player2) => {
- this.formData['player2Id'] = player2.id;
-
- this.refereeService
- .getOrCreateByName(
- this.formData.refereeFirstName,
- this.formData.refereeName,
- this.formData.refereelevel
- )
- .subscribe((referee) => {
- this.formData['refereeId'] = referee.id;
-
- const matchPayload = {
- refereeID: referee.id,
- player1ID: player1.id,
- score1: 0,
- player2ID: player2.id,
- score2: 0,
- country: this.formData.country,
- city: this.formData.city,
- weapon: this.formData.weapon,
- date: new Date(this.formData.date),
- state: MatchState.NOT_STARTED,
- };
-
- this.matchService.create(matchPayload).subscribe(() => {
- this.router.navigate(['/matches']);
- });
- });
- });
- });
- }
-}
diff --git a/FencerJudgeFront/src/app/components/match/matches-del/matches-del.component.css b/FencerJudgeFront/src/app/components/match/matches-del/matches-del.component.css
deleted file mode 100644
index e69de29..0000000
diff --git a/FencerJudgeFront/src/app/components/match/matches-del/matches-del.component.html b/FencerJudgeFront/src/app/components/match/matches-del/matches-del.component.html
deleted file mode 100644
index bae9ddd..0000000
--- a/FencerJudgeFront/src/app/components/match/matches-del/matches-del.component.html
+++ /dev/null
@@ -1 +0,0 @@
-matches-del works!
diff --git a/FencerJudgeFront/src/app/components/match/matches-del/matches-del.component.spec.ts b/FencerJudgeFront/src/app/components/match/matches-del/matches-del.component.spec.ts
deleted file mode 100644
index 29459b8..0000000
--- a/FencerJudgeFront/src/app/components/match/matches-del/matches-del.component.spec.ts
+++ /dev/null
@@ -1,23 +0,0 @@
-import { ComponentFixture, TestBed } from '@angular/core/testing';
-
-import { MatchesDelComponent } from './matches-del.component';
-
-describe('MatchesDelComponent', () => {
- let component: MatchesDelComponent;
- let fixture: ComponentFixture;
-
- beforeEach(async () => {
- await TestBed.configureTestingModule({
- declarations: [MatchesDelComponent]
- })
- .compileComponents();
-
- fixture = TestBed.createComponent(MatchesDelComponent);
- component = fixture.componentInstance;
- fixture.detectChanges();
- });
-
- it('should create', () => {
- expect(component).toBeTruthy();
- });
-});
diff --git a/FencerJudgeFront/src/app/components/match/matches-del/matches-del.component.ts b/FencerJudgeFront/src/app/components/match/matches-del/matches-del.component.ts
deleted file mode 100644
index b3b9bd4..0000000
--- a/FencerJudgeFront/src/app/components/match/matches-del/matches-del.component.ts
+++ /dev/null
@@ -1,38 +0,0 @@
-import { Component, OnInit } from '@angular/core';
-import { ActivatedRoute, Router } from '@angular/router';
-
-import { AuthService } from '@services/auth/auth.service';
-import { MatchesService } from '@services/matches/matches.service';
-
-@Component({
- selector: 'app-matches-del',
- standalone: false,
- templateUrl: './matches-del.component.html',
- styleUrl: './matches-del.component.css',
-})
-export class MatchesDelComponent {
- constructor(
- private route: ActivatedRoute,
- public authService: AuthService,
- private router: Router,
- private matchService: MatchesService
- ) {}
-
- ngOnInit(): void {
- const id = Number(this.route.snapshot.paramMap.get('id'));
-
- if (!isNaN(id)) {
- this.matchService.deleteMatch(id).subscribe({
- next: () => {
- console.log(`Match ${id} supprimé`);
- this.router.navigate(['/matches']); // redirection après suppression
- },
- error: (err) => {
- console.error('Erreur lors de la suppression :', err);
- },
- });
- } else {
- console.error('ID de match invalide');
- }
- }
-}
diff --git a/FencerJudgeFront/src/app/components/match/matches-id/matches-id.component.css b/FencerJudgeFront/src/app/components/match/matches-id/matches-id.component.css
deleted file mode 100644
index f517d5c..0000000
--- a/FencerJudgeFront/src/app/components/match/matches-id/matches-id.component.css
+++ /dev/null
@@ -1,3 +0,0 @@
-.card {
- border-left-width: 0.5rem !important;
-}
diff --git a/FencerJudgeFront/src/app/components/match/matches-id/matches-id.component.html b/FencerJudgeFront/src/app/components/match/matches-id/matches-id.component.html
deleted file mode 100644
index 2f926a0..0000000
--- a/FencerJudgeFront/src/app/components/match/matches-id/matches-id.component.html
+++ /dev/null
@@ -1,96 +0,0 @@
-
-
Détail du Match
-
-
-
-
-
- {{ match.city }}, {{ match.country }}
-
- {{ match.date | date : "fullDate" }} -
- {{ match.date | date : "shortTime" }}
-
- {{ match.weapon }}
-
-
-
-
- {{ player1.firstName }} {{ player1.name }}
- {{ player1.club }}
-
-
-
-
-
- {{ match.score1 }}
-
- vs
-
- {{ match.score2 }}
-
-
-
-
- {{ match.score1 }}
- vs
- {{ match.score2 }}
-
-
-
-
- {{ player2.firstName }} {{ player2.name }}
- {{ player2.club }}
-
-
-
-
-
- {{ getMatchStateLabel(match.state) }}
-
-
-
-
-
Arbitre
-
-
- {{ referee.firstName }} {{ referee.name }}
-
-
- Niveau : {{ getRefereeLevelLabel(referee.level) }}
-
-
-
-
-
-
-
-
-
-
-
-Delete
diff --git a/FencerJudgeFront/src/app/components/match/matches-id/matches-id.component.spec.ts b/FencerJudgeFront/src/app/components/match/matches-id/matches-id.component.spec.ts
deleted file mode 100644
index b09ff2d..0000000
--- a/FencerJudgeFront/src/app/components/match/matches-id/matches-id.component.spec.ts
+++ /dev/null
@@ -1,23 +0,0 @@
-import { ComponentFixture, TestBed } from '@angular/core/testing';
-
-import { MatchesIdComponent } from './matches-id.component';
-
-describe('MatchesIdComponent', () => {
- let component: MatchesIdComponent;
- let fixture: ComponentFixture;
-
- beforeEach(async () => {
- await TestBed.configureTestingModule({
- declarations: [MatchesIdComponent]
- })
- .compileComponents();
-
- fixture = TestBed.createComponent(MatchesIdComponent);
- component = fixture.componentInstance;
- fixture.detectChanges();
- });
-
- it('should create', () => {
- expect(component).toBeTruthy();
- });
-});
diff --git a/FencerJudgeFront/src/app/components/match/matches-id/matches-id.component.ts b/FencerJudgeFront/src/app/components/match/matches-id/matches-id.component.ts
deleted file mode 100644
index c0ff55a..0000000
--- a/FencerJudgeFront/src/app/components/match/matches-id/matches-id.component.ts
+++ /dev/null
@@ -1,153 +0,0 @@
-import { Component, OnInit } from '@angular/core';
-import { Router, ActivatedRoute } from '@angular/router';
-import { AuthService } from '@services/auth/auth.service';
-
-import { MatchesService } from '@services/matches/matches.service';
-import { MatchState, Matches } from '@interfaces/matches';
-
-import { PlayerService } from '@services/player/player.service';
-import { Player } from '@interfaces/player';
-
-import { RefereeService } from '@services/referee/referee.service';
-import { Referee, RefereeLevel } from '@interfaces/referee';
-
-import { getMatchStateLabel, getMatchStateColor } from '@utils/getState';
-
-@Component({
- selector: 'app-matches-id',
- standalone: false,
- templateUrl: './matches-id.component.html',
- styleUrl: './matches-id.component.css',
-})
-export class MatchesIdComponent implements OnInit {
- match: Matches | undefined;
- player1: Player | undefined;
- player2: Player | undefined;
- referee: Referee | undefined;
-
- constructor(
- private route: ActivatedRoute,
- private matchService: MatchesService,
- private playerService: PlayerService,
- private refereeService: RefereeService,
- public authService: AuthService,
- private router: Router
- ) {}
-
- ngOnInit(): void {
- const id = Number(this.route.snapshot.paramMap.get('id'));
- this.matchService.getMatchById(id).subscribe((match) => {
- if (match) {
- this.match = match;
-
- this.playerService
- .getPlayerById(match.player1ID)
- .subscribe((p1) => (this.player1 = p1!));
- this.playerService
- .getPlayerById(match.player2ID)
- .subscribe((p2) => (this.player2 = p2!));
-
- this.refereeService
- .getRefereeById(match.refereeID)
- .subscribe((ref) => (this.referee = ref!));
- }
- });
- }
-
- saveScores(): void {
- if (this.match) {
- this.matchService.updateMatch(this.match.id, {
- score1: this.match.score1,
- score2: this.match.score2,
- });
- }
- }
-
- getMatchStateLabel(state: MatchState): string {
- switch (state) {
- case MatchState.NOT_STARTED:
- return 'À venir';
- case MatchState.ONGOING:
- return 'En cours';
- case MatchState.OVER:
- return 'Terminé';
- default:
- return 'Inconnu';
- }
- }
-
- getMatchStateColor(state: MatchState): string {
- switch (state) {
- case MatchState.NOT_STARTED:
- return 'secondary';
- case MatchState.ONGOING:
- return 'warning';
- case MatchState.OVER:
- return 'success';
- default:
- return 'light';
- }
- }
-
- getRefereeLevelLabel(level: RefereeLevel): string {
- switch (level) {
- case RefereeLevel.NATIONAL:
- return 'National';
- case RefereeLevel.REGIONAL:
- return 'Régional';
- case RefereeLevel.DEPARTMENTAL:
- return 'Départemental';
- default:
- return 'Inconnu';
- }
- }
-
- updateScores(): void {
- if (this.match) {
- this.matchService.updateMatch(this.match.id, {
- score1: this.match.score1,
- score2: this.match.score2,
- });
- }
- }
-
- incrementScore(player: 1 | 2): void {
- if (!this.match) return;
-
- // Incrémente le score du joueur
- if (player === 1) {
- this.match.score1 += 1;
- } else {
- this.match.score2 += 1;
- }
-
- // Change l'état en fonction des scores
- if (
- this.match.score1 === 1 &&
- this.match.score2 === 0 &&
- this.match.state === MatchState.NOT_STARTED
- ) {
- this.match.state = MatchState.ONGOING; // passage à l'état 1 (en cours)
- } else if (
- this.match.score2 === 1 &&
- this.match.score1 === 0 &&
- this.match.state === MatchState.NOT_STARTED
- ) {
- this.match.state = MatchState.ONGOING;
- }
-
- // Si l'un des scores arrive à 15, on considère le match terminé
- if (this.match.score1 >= 15 || this.match.score2 >= 15) {
- this.match.state = MatchState.OVER; // passage à l'état 2 (terminé)
- }
-
- this.updateScores();
- }
-
- goToMatchDel(): void {
- this.router.navigate([
- '/matches/del/',
- this.route.snapshot.paramMap.get('id'),
- ]);
- }
-}
diff --git a/FencerJudgeFront/src/app/components/match/matches/matches.component.css b/FencerJudgeFront/src/app/components/match/matches/matches.component.css
deleted file mode 100644
index 2fa4ff6..0000000
--- a/FencerJudgeFront/src/app/components/match/matches/matches.component.css
+++ /dev/null
@@ -1,8 +0,0 @@
-.border-start-5 {
- border-left: 5px solid #ccc;
-}
-
-.card:hover {
- transform: translateY(-2px);
- transition: 0.2s ease-in-out;
-}
diff --git a/FencerJudgeFront/src/app/components/match/matches/matches.component.html b/FencerJudgeFront/src/app/components/match/matches/matches.component.html
deleted file mode 100644
index e7036ad..0000000
--- a/FencerJudgeFront/src/app/components/match/matches/matches.component.html
+++ /dev/null
@@ -1,53 +0,0 @@
-
-
Liste des Matchs
-
-
-
-
-
-
-
- {{ match.city }} —
- {{
- match.date | date : "longDate"
- }}
-
- {{ match.weapon }}
-
-
-
-
- {{ getPlayerName(match.player1ID) }}
- {{ match.score1 }}
-
-
-
vs
-
-
- {{ getPlayerName(match.player2ID) }}
- {{ match.score2 }}
-
-
-
-
-
- {{ getMatchStatusLabel(match.state) }}
-
-
-
-
-
-
-
diff --git a/FencerJudgeFront/src/app/components/match/matches/matches.component.spec.ts b/FencerJudgeFront/src/app/components/match/matches/matches.component.spec.ts
deleted file mode 100644
index 7f7c3e1..0000000
--- a/FencerJudgeFront/src/app/components/match/matches/matches.component.spec.ts
+++ /dev/null
@@ -1,23 +0,0 @@
-import { ComponentFixture, TestBed } from '@angular/core/testing';
-
-import { MatchesComponent } from './matches.component';
-
-describe('MatchesComponent', () => {
- let component: MatchesComponent;
- let fixture: ComponentFixture;
-
- beforeEach(async () => {
- await TestBed.configureTestingModule({
- declarations: [MatchesComponent]
- })
- .compileComponents();
-
- fixture = TestBed.createComponent(MatchesComponent);
- component = fixture.componentInstance;
- fixture.detectChanges();
- });
-
- it('should create', () => {
- expect(component).toBeTruthy();
- });
-});
diff --git a/FencerJudgeFront/src/app/components/match/matches/matches.component.ts b/FencerJudgeFront/src/app/components/match/matches/matches.component.ts
deleted file mode 100644
index a1cf3dc..0000000
--- a/FencerJudgeFront/src/app/components/match/matches/matches.component.ts
+++ /dev/null
@@ -1,72 +0,0 @@
-import { Component } from '@angular/core';
-import { Router } from '@angular/router';
-
-import { MatchesService } from '@services/matches/matches.service';
-import { Matches, MatchState } from '@interfaces/matches';
-
-import { PlayerService } from '@services/player/player.service';
-import { Player } from '@interfaces/player';
-
-@Component({
- selector: 'app-matches',
- standalone: false,
- templateUrl: './matches.component.html',
- styleUrl: './matches.component.css',
-})
-export class MatchesComponent {
- matches: Matches[] = [];
- playersMap: Map = new Map();
- MatchState = MatchState;
-
- constructor(
- private matchesService: MatchesService,
- private playerService: PlayerService,
- private router: Router
- ) {}
-
- ngOnInit(): void {
- this.playerService.getPlayers().subscribe((players) => {
- // construire la map ID -> joueur
- players.forEach((player) => this.playersMap.set(player.id, player));
- });
-
- this.matchesService.getMatches().subscribe((data) => {
- this.matches = data;
- });
- }
-
- getPlayerName(id: number): string {
- const player = this.playersMap.get(id);
- return player ? `${player.firstName} ${player.name}` : 'Joueur inconnu';
- }
-
- getMatchBorderColor(state: MatchState): string {
- switch (state) {
- case MatchState.NOT_STARTED:
- return 'border-secondary';
- case MatchState.ONGOING:
- return 'border-warning';
- case MatchState.OVER:
- return 'border-success';
- default:
- return 'border-light';
- }
- }
-
- getMatchStatusLabel(state: MatchState): string {
- switch (state) {
- case MatchState.NOT_STARTED:
- return 'À venir';
- case MatchState.ONGOING:
- return 'En cours';
- case MatchState.OVER:
- return 'Terminé';
- default:
- return 'Inconnu';
- }
- }
-
- goToMatchDetail(matchId: number): void {
- this.router.navigate(['/matches', matchId]);
- }
-}
diff --git a/FencerJudgeFront/src/app/guards/auth.guard.spec.ts b/FencerJudgeFront/src/app/guards/auth.guard.spec.ts
deleted file mode 100644
index 4ae275e..0000000
--- a/FencerJudgeFront/src/app/guards/auth.guard.spec.ts
+++ /dev/null
@@ -1,17 +0,0 @@
-import { TestBed } from '@angular/core/testing';
-import { CanActivateFn } from '@angular/router';
-
-import { authGuard } from './auth.guard';
-
-describe('authGuard', () => {
- const executeGuard: CanActivateFn = (...guardParameters) =>
- TestBed.runInInjectionContext(() => authGuard(...guardParameters));
-
- beforeEach(() => {
- TestBed.configureTestingModule({});
- });
-
- it('should be created', () => {
- expect(executeGuard).toBeTruthy();
- });
-});
diff --git a/FencerJudgeFront/src/app/guards/auth.guard.ts b/FencerJudgeFront/src/app/guards/auth.guard.ts
deleted file mode 100644
index 2da4546..0000000
--- a/FencerJudgeFront/src/app/guards/auth.guard.ts
+++ /dev/null
@@ -1,15 +0,0 @@
-import { inject } from '@angular/core';
-import { CanActivateFn, Router } from '@angular/router';
-import { AuthService } from '@services/auth/auth.service';
-
-export const authGuard: CanActivateFn = (route, state) => {
- const authService = inject(AuthService);
- const router = inject(Router);
-
- if (!authService.isAuthenticated()) {
- router.navigate(['/login']);
- return false;
- }
-
- return true;
-};
diff --git a/FencerJudgeFront/src/app/interfaces/matches.ts b/FencerJudgeFront/src/app/interfaces/matches.ts
deleted file mode 100644
index 26c6767..0000000
--- a/FencerJudgeFront/src/app/interfaces/matches.ts
+++ /dev/null
@@ -1,19 +0,0 @@
-export enum MatchState {
- ONGOING = 1,
- OVER = 2,
- NOT_STARTED = 3,
-}
-
-export interface Matches {
- id: number;
- refereeID: number;
- player1ID: number;
- score1: number;
- player2ID: number;
- score2: number;
- country: String;
- city: String;
- weapon: String;
- date: Date;
- state: MatchState;
-}
diff --git a/FencerJudgeFront/src/app/interfaces/models/user.model.ts b/FencerJudgeFront/src/app/interfaces/models/user.model.ts
deleted file mode 100644
index 954ae9a..0000000
--- a/FencerJudgeFront/src/app/interfaces/models/user.model.ts
+++ /dev/null
@@ -1,5 +0,0 @@
-export interface UserModel {
- id: number;
- name: string;
- firstName: string;
-}
diff --git a/FencerJudgeFront/src/app/interfaces/player.ts b/FencerJudgeFront/src/app/interfaces/player.ts
deleted file mode 100644
index 6f39558..0000000
--- a/FencerJudgeFront/src/app/interfaces/player.ts
+++ /dev/null
@@ -1,5 +0,0 @@
-import { UserModel } from './models/user.model';
-
-export interface Player extends UserModel {
- club: string;
-}
diff --git a/FencerJudgeFront/src/app/interfaces/referee.ts b/FencerJudgeFront/src/app/interfaces/referee.ts
deleted file mode 100644
index 3b4f0c1..0000000
--- a/FencerJudgeFront/src/app/interfaces/referee.ts
+++ /dev/null
@@ -1,12 +0,0 @@
-import { UserModel } from './models/user.model';
-
-export enum RefereeLevel {
- DEPARTMENTAL = 0,
- REGIONAL = 1,
- NATIONAL = 2,
- INTERNATIONAL = 3,
-}
-
-export interface Referee extends UserModel {
- level: RefereeLevel;
-}
diff --git a/FencerJudgeFront/src/app/services/auth/auth.service.spec.ts b/FencerJudgeFront/src/app/services/auth/auth.service.spec.ts
deleted file mode 100644
index f1251ca..0000000
--- a/FencerJudgeFront/src/app/services/auth/auth.service.spec.ts
+++ /dev/null
@@ -1,16 +0,0 @@
-import { TestBed } from '@angular/core/testing';
-
-import { AuthService } from './auth.service';
-
-describe('AuthService', () => {
- let service: AuthService;
-
- beforeEach(() => {
- TestBed.configureTestingModule({});
- service = TestBed.inject(AuthService);
- });
-
- it('should be created', () => {
- expect(service).toBeTruthy();
- });
-});
diff --git a/FencerJudgeFront/src/app/services/auth/auth.service.ts b/FencerJudgeFront/src/app/services/auth/auth.service.ts
deleted file mode 100644
index 522d786..0000000
--- a/FencerJudgeFront/src/app/services/auth/auth.service.ts
+++ /dev/null
@@ -1,35 +0,0 @@
-import { Injectable } from '@angular/core';
-import { Router } from '@angular/router';
-
-@Injectable({
- providedIn: 'root',
-})
-export class AuthService {
- private isLoggedIn = false;
- private readonly hardcodedUser = {
- email: 'user@test.com',
- password: 'password123',
- };
-
- constructor(private router: Router) {}
-
- login(email: string, password: string): boolean {
- if (
- email === this.hardcodedUser.email &&
- password === this.hardcodedUser.password
- ) {
- this.isLoggedIn = true;
- return true;
- }
- return false;
- }
-
- logout(): void {
- this.isLoggedIn = false;
- this.router.navigate(['/login']);
- }
-
- isAuthenticated(): boolean {
- return this.isLoggedIn;
- }
-}
diff --git a/FencerJudgeFront/src/app/services/matches/matches.service.spec.ts b/FencerJudgeFront/src/app/services/matches/matches.service.spec.ts
deleted file mode 100644
index 0e9bf15..0000000
--- a/FencerJudgeFront/src/app/services/matches/matches.service.spec.ts
+++ /dev/null
@@ -1,16 +0,0 @@
-import { TestBed } from '@angular/core/testing';
-
-import { MatchesService } from './matches.service';
-
-describe('MatchesService', () => {
- let service: MatchesService;
-
- beforeEach(() => {
- TestBed.configureTestingModule({});
- service = TestBed.inject(MatchesService);
- });
-
- it('should be created', () => {
- expect(service).toBeTruthy();
- });
-});
diff --git a/FencerJudgeFront/src/app/services/matches/matches.service.ts b/FencerJudgeFront/src/app/services/matches/matches.service.ts
deleted file mode 100644
index bbffd36..0000000
--- a/FencerJudgeFront/src/app/services/matches/matches.service.ts
+++ /dev/null
@@ -1,107 +0,0 @@
-import { Injectable } from '@angular/core';
-import { Observable, of } from 'rxjs';
-import { Matches, MatchState } from '@interfaces/matches';
-
-@Injectable({ providedIn: 'root' })
-export class MatchesService {
- private matches: Matches[] = [
- {
- id: 1,
- refereeID: 10,
- player1ID: 1,
- score1: 15,
- player2ID: 2,
- score2: 13,
- country: 'France',
- city: 'Paris',
- weapon: 'Fleuret',
- date: new Date('2025-06-10T14:00:00'),
- state: MatchState.OVER,
- },
- {
- id: 2,
- refereeID: 11,
- player1ID: 3,
- score1: 5,
- player2ID: 4,
- score2: 7,
- country: 'France',
- city: 'Lyon',
- weapon: 'Épée',
- date: new Date('2025-06-15T10:00:00'),
- state: MatchState.ONGOING,
- },
- {
- id: 3,
- refereeID: 12,
- player1ID: 5,
- score1: 0,
- player2ID: 6,
- score2: 0,
- country: 'Belgique',
- city: 'Bruxelles',
- weapon: 'Sabre',
- date: new Date('2025-06-20T16:30:00'),
- state: MatchState.NOT_STARTED,
- },
- ];
- private nextMatchId = Math.max(...this.matches.map((m) => m.id)) + 1;
-
- constructor() {
- console.log('[MatchesService] Initial matches loaded:', this.matches);
- }
-
- getMatches(): Observable {
- console.log('[MatchesService] Fetching all matches');
- return of(this.matches);
- }
-
- getMatchById(id: number): Observable {
- const match = this.matches.find((m) => m.id === id);
- console.log(`[MatchesService] Fetching match ID: ${id}`, match);
- return of(match);
- }
-
- // Préparation future pour WebSocket
- connectToMatchUpdatesWebSocket(): void {
- console.log(
- '[MatchesService] WebSocket connection placeholder initialized'
- );
- // ici tu pourrais plus tard faire : this.socket = new WebSocket('ws://...') etc.
- }
-
- updateMatch(id: number, updatedData: Partial): void {
- const match = this.matches.find((m) => m.id === id);
- if (match) {
- Object.assign(match, updatedData);
- console.log(`[MatchesService] Match ${id} mis à jour :`, match);
- } else {
- console.warn(`[MatchesService] Match ${id} introuvable`);
- }
- }
-
- create(match: Omit): Observable {
- const newMatch: Matches = {
- ...match,
- id: this.nextMatchId++,
- };
-
- this.matches.push(newMatch);
- console.log('[MatchesService] Match created:', newMatch);
- return of(newMatch);
- }
-
- deleteMatch(id: number): Observable {
- const index = this.matches.findIndex((m) => m.id === id);
-
- if (index !== -1) {
- const deletedMatch = this.matches.splice(index, 1)[0];
- console.log(`[MatchesService] Match ${id} supprimé :`, deletedMatch);
-
- return of(true);
- } else {
- console.warn(`[MatchesService] Match ${id} introuvable pour suppression`);
- return of(false);
- }
- }
-}
diff --git a/FencerJudgeFront/src/app/services/player/player.service.spec.ts b/FencerJudgeFront/src/app/services/player/player.service.spec.ts
deleted file mode 100644
index 5355445..0000000
--- a/FencerJudgeFront/src/app/services/player/player.service.spec.ts
+++ /dev/null
@@ -1,16 +0,0 @@
-import { TestBed } from '@angular/core/testing';
-
-import { PlayerService } from './player.service';
-
-describe('PlayerService', () => {
- let service: PlayerService;
-
- beforeEach(() => {
- TestBed.configureTestingModule({});
- service = TestBed.inject(PlayerService);
- });
-
- it('should be created', () => {
- expect(service).toBeTruthy();
- });
-});
diff --git a/FencerJudgeFront/src/app/services/player/player.service.ts b/FencerJudgeFront/src/app/services/player/player.service.ts
deleted file mode 100644
index c5f3a1b..0000000
--- a/FencerJudgeFront/src/app/services/player/player.service.ts
+++ /dev/null
@@ -1,61 +0,0 @@
-import { Injectable } from '@angular/core';
-import { Observable, of } from 'rxjs';
-import { Player } from '@interfaces/player';
-
-@Injectable({ providedIn: 'root' })
-export class PlayerService {
- private players: Player[] = [
- { id: 1, name: 'Martin', firstName: 'Alex', club: 'Lille Escrime' },
- { id: 2, name: 'Nguyen', firstName: 'Sophie', club: 'Paris Epée' },
- { id: 3, name: 'Klein', firstName: 'Thomas', club: 'Strasbourg Sabre' },
- { id: 4, name: 'Leclerc', firstName: 'Lucie', club: 'Nice Fleuret' },
- { id: 5, name: 'Dubois', firstName: 'Hugo', club: 'Lyon Epée' },
- { id: 6, name: 'Girard', firstName: 'Manon', club: 'Marseille Club' },
- ];
-
- constructor() {
- console.log('[PlayerService] Initial players loaded:', this.players);
- }
-
- getPlayers(): Observable {
- console.log('[PlayerService] Fetching all players');
- return of(this.players);
- }
-
- getPlayerById(id: number): Observable {
- const player = this.players.find((p) => p.id === id);
- console.log(`[PlayerService] Fetching player ID: ${id}`, player);
- return of(player);
- }
-
- getOrCreateByName(
- firstName: string,
- name: string,
- club: string = 'Inconnu'
- ): Observable {
- const existing = this.players.find(
- (p) =>
- p.firstName.toLowerCase() === firstName.toLowerCase() &&
- p.name.toLowerCase() === name.toLowerCase()
- );
-
- if (existing) {
- console.log('[PlayerService] Joueur trouvé :', existing);
- return of(existing);
- }
-
- const newPlayer: Player = {
- id:
- this.players.length > 0
- ? Math.max(...this.players.map((p) => p.id)) + 1
- : 1,
- firstName,
- name,
- club,
- };
-
- this.players.push(newPlayer);
- console.log('[PlayerService] Nouveau joueur créé :', newPlayer);
- return of(newPlayer);
- }
-}
diff --git a/FencerJudgeFront/src/app/services/referee/referee.service.spec.ts b/FencerJudgeFront/src/app/services/referee/referee.service.spec.ts
deleted file mode 100644
index b0f470c..0000000
--- a/FencerJudgeFront/src/app/services/referee/referee.service.spec.ts
+++ /dev/null
@@ -1,16 +0,0 @@
-import { TestBed } from '@angular/core/testing';
-
-import { RefereeService } from './referee.service';
-
-describe('RefereeService', () => {
- let service: RefereeService;
-
- beforeEach(() => {
- TestBed.configureTestingModule({});
- service = TestBed.inject(RefereeService);
- });
-
- it('should be created', () => {
- expect(service).toBeTruthy();
- });
-});
diff --git a/FencerJudgeFront/src/app/services/referee/referee.service.ts b/FencerJudgeFront/src/app/services/referee/referee.service.ts
deleted file mode 100644
index 8d26a06..0000000
--- a/FencerJudgeFront/src/app/services/referee/referee.service.ts
+++ /dev/null
@@ -1,73 +0,0 @@
-import { Injectable } from '@angular/core';
-import { Observable, of } from 'rxjs';
-import { Referee, RefereeLevel } from '@interfaces/referee';
-
-@Injectable({ providedIn: 'root' })
-export class RefereeService {
- private referees: Referee[] = [
- {
- id: 10,
- name: 'Durand',
- firstName: 'Pierre',
- level: RefereeLevel.NATIONAL,
- },
- {
- id: 11,
- name: 'Lemoine',
- firstName: 'Anna',
- level: RefereeLevel.REGIONAL,
- },
- {
- id: 12,
- name: 'Morel',
- firstName: 'Lucas',
- level: RefereeLevel.DEPARTMENTAL,
- },
- ];
-
- constructor() {
- console.log('[RefereeService] Initial referees loaded:', this.referees);
- }
-
- getReferees(): Observable {
- console.log('[RefereeService] Fetching all referees');
- return of(this.referees);
- }
-
- getRefereeById(id: number): Observable {
- const ref = this.referees.find((r) => r.id === id);
- console.log(`[RefereeService] Fetching referee ID: ${id}`, ref);
- return of(ref);
- }
-
- getOrCreateByName(
- firstName: string,
- name: string,
- level: RefereeLevel
- ): Observable {
- const existing = this.referees.find(
- (r) =>
- r.firstName.toLowerCase() === firstName.toLowerCase() &&
- r.name.toLowerCase() === name.toLowerCase()
- );
-
- if (existing) {
- console.log('[RefereeService] Arbitre trouvé :', existing);
- return of(existing);
- }
-
- const newPlayer: Referee = {
- id:
- this.referees.length > 0
- ? Math.max(...this.referees.map((r) => r.id)) + 1
- : 1,
- firstName,
- name,
- level,
- };
-
- this.referees.push(newPlayer);
- console.log('[RefereeService] Nouveau arbitre créé :', newPlayer);
- return of(newPlayer);
- }
-}
diff --git a/FencerJudgeFront/src/app/templates/sponsort/sponsort.component.css b/FencerJudgeFront/src/app/templates/sponsort/sponsort.component.css
deleted file mode 100644
index 13c800a..0000000
--- a/FencerJudgeFront/src/app/templates/sponsort/sponsort.component.css
+++ /dev/null
@@ -1,56 +0,0 @@
-@keyframes slides {
- from {
- transform: translateX(0);
- }
- to {
- transform: translateX(-100%);
- }
-}
-
-.logos {
- overflow: hidden;
- padding: 30px 0px;
- white-space: nowrap;
- position: relative;
-}
-
-.logos:before,
-.logos:after {
- position: absolute;
- top: 0;
- content: "";
- width: 250px;
- height: 100%;
- z-index: 2;
-}
-
-.logos:before {
- left: 0;
- background: linear-gradient(
- to left,
- rgba(255, 255, 255, 0),
- rgb(255, 255, 255)
- );
-}
-
-.logos:after {
- right: 0;
- background: linear-gradient(
- to right,
- rgba(255, 255, 255, 0),
- rgb(255, 255, 255)
- );
-}
-
-.logo_items {
- display: inline-block;
- animation: 35s slides infinite linear;
-}
-
-.logos:hover .logo_items {
- animation-play-state: paused;
-}
-
-.logo_items img {
- height: 100px;
-}
diff --git a/FencerJudgeFront/src/app/templates/sponsort/sponsort.component.html b/FencerJudgeFront/src/app/templates/sponsort/sponsort.component.html
deleted file mode 100644
index 89ce529..0000000
--- a/FencerJudgeFront/src/app/templates/sponsort/sponsort.component.html
+++ /dev/null
@@ -1,23 +0,0 @@
-
diff --git a/FencerJudgeFront/src/app/templates/sponsort/sponsort.component.spec.ts b/FencerJudgeFront/src/app/templates/sponsort/sponsort.component.spec.ts
deleted file mode 100644
index 9ca3691..0000000
--- a/FencerJudgeFront/src/app/templates/sponsort/sponsort.component.spec.ts
+++ /dev/null
@@ -1,23 +0,0 @@
-import { ComponentFixture, TestBed } from '@angular/core/testing';
-
-import { SponsortComponent } from './sponsort.component';
-
-describe('SponsortComponent', () => {
- let component: SponsortComponent;
- let fixture: ComponentFixture;
-
- beforeEach(async () => {
- await TestBed.configureTestingModule({
- declarations: [SponsortComponent]
- })
- .compileComponents();
-
- fixture = TestBed.createComponent(SponsortComponent);
- component = fixture.componentInstance;
- fixture.detectChanges();
- });
-
- it('should create', () => {
- expect(component).toBeTruthy();
- });
-});
diff --git a/FencerJudgeFront/src/app/templates/sponsort/sponsort.component.ts b/FencerJudgeFront/src/app/templates/sponsort/sponsort.component.ts
deleted file mode 100644
index 8058d61..0000000
--- a/FencerJudgeFront/src/app/templates/sponsort/sponsort.component.ts
+++ /dev/null
@@ -1,11 +0,0 @@
-import { Component } from '@angular/core';
-
-@Component({
- selector: 'app-sponsort',
- standalone: false,
- templateUrl: './sponsort.component.html',
- styleUrl: './sponsort.component.css'
-})
-export class SponsortComponent {
-
-}
diff --git a/FencerJudgeFront/src/app/utils/getState.ts b/FencerJudgeFront/src/app/utils/getState.ts
deleted file mode 100644
index c7f141d..0000000
--- a/FencerJudgeFront/src/app/utils/getState.ts
+++ /dev/null
@@ -1,27 +0,0 @@
-import { MatchState } from '@interfaces/matches';
-
-export function getMatchStateLabel(state: MatchState): string {
- switch (state) {
- case MatchState.NOT_STARTED:
- return 'À venir';
- case MatchState.ONGOING:
- return 'En cours';
- case MatchState.OVER:
- return 'Terminé';
- default:
- return 'Inconnu';
- }
-}
-
-export function getMatchStateColor(state: MatchState): string {
- switch (state) {
- case MatchState.NOT_STARTED:
- return 'secondary';
- case MatchState.ONGOING:
- return 'warning';
- case MatchState.OVER:
- return 'success';
- default:
- return 'light';
- }
-}
diff --git a/FencerJudgeFront/src/assets/duel.webp b/FencerJudgeFront/src/assets/duel.webp
deleted file mode 100644
index 5282448..0000000
Binary files a/FencerJudgeFront/src/assets/duel.webp and /dev/null differ
diff --git a/FencerJudgeFront/src/styles.css b/FencerJudgeFront/src/styles.css
index c44aac6..90d4ee0 100644
--- a/FencerJudgeFront/src/styles.css
+++ b/FencerJudgeFront/src/styles.css
@@ -1,4 +1 @@
/* You can add global styles to this file, and also import other style files */
-.bg-primary-custom {
- background-color: #414141;
-}
diff --git a/FencerJudgeFront/tsconfig.json b/FencerJudgeFront/tsconfig.json
index fca3db7..5525117 100644
--- a/FencerJudgeFront/tsconfig.json
+++ b/FencerJudgeFront/tsconfig.json
@@ -16,14 +16,7 @@
"moduleResolution": "bundler",
"importHelpers": true,
"target": "ES2022",
- "module": "ES2022",
- "baseUrl": "./src",
- "paths": {
- "@interfaces/*": ["app/interfaces/*"],
- "@services/*": ["app/services/*"],
- "@guards/*": ["app/guards/*"],
- "@utils/*": ["app/utils/*"]
- }
+ "module": "ES2022"
},
"angularCompilerOptions": {
"enableI18nLegacyMessageIdFormat": false,
diff --git a/db.lock.db b/db.lock.db
deleted file mode 100644
index 072e750..0000000
--- a/db.lock.db
+++ /dev/null
@@ -1,6 +0,0 @@
-#FileLock
-#Mon Jun 02 17:40:34 CEST 2025
-hostName=ExostFlash
-id=197313393c88a931fa21bf5ce1281b7253870b00683
-method=file
-server=192.167.2.100\:54366
diff --git a/package-lock.json b/package-lock.json
deleted file mode 100644
index 966ef08..0000000
--- a/package-lock.json
+++ /dev/null
@@ -1,6 +0,0 @@
-{
- "name": "jpe-controle",
- "lockfileVersion": 3,
- "requires": true,
- "packages": {}
-}