Compare commits

..

7 Commits

Author SHA1 Message Date
Michel ten Voorde
d1338bf524 Disable positioning fix
All checks were successful
Gitea/swiss-client/pipeline/head This commit looks good
2025-08-26 16:06:45 +02:00
Michel ten Voorde
f858020330 Upgrade angular/material 2025-08-26 15:59:42 +02:00
Michel ten Voorde
cf86a449e2 Upgrade angular/material 2025-08-26 15:59:28 +02:00
Michel ten Voorde
3dd4746304 Upgrade angular/core 2025-08-26 15:58:27 +02:00
Michel ten Voorde
1e45a12392 Upgrade angular/cli 2025-08-26 15:56:50 +02:00
Michel ten Voorde
8082a72d4d Fix position for menu 2025-08-26 15:54:52 +02:00
Michel ten Voorde
27e90ceb17 Make components standalone 2025-08-26 15:54:40 +02:00
21 changed files with 2096 additions and 4533 deletions

4371
package-lock.json generated

File diff suppressed because it is too large Load Diff

View File

@@ -11,19 +11,19 @@
}, },
"private": true, "private": true,
"dependencies": { "dependencies": {
"@angular/animations": "^20.1.6", "@angular/animations": "^20.2.1",
"@angular/cdk": "^20.1.5", "@angular/cdk": "^20.2.0",
"@angular/common": "^20.1.6", "@angular/common": "^20.2.1",
"@angular/compiler": "^20.1.6", "@angular/compiler": "^20.2.1",
"@angular/core": "^20.1.6", "@angular/core": "^20.2.1",
"@angular/forms": "^20.1.6", "@angular/forms": "^20.2.1",
"@angular/material": "^20.1.5", "@angular/material": "^20.2.0",
"@angular/material-moment-adapter": "^20.1.5", "@angular/material-moment-adapter": "^20.2.0",
"@angular/platform-browser": "^20.1.6", "@angular/platform-browser": "^20.2.1",
"@angular/platform-browser-dynamic": "^20.1.6", "@angular/platform-browser-dynamic": "^20.2.1",
"@angular/platform-server": "^20.1.6", "@angular/platform-server": "^20.2.1",
"@angular/router": "^20.1.6", "@angular/router": "^20.2.1",
"@angular/ssr": "^20.1.5", "@angular/ssr": "^20.2.0",
"@ng-bootstrap/ng-bootstrap": "^19.0.1", "@ng-bootstrap/ng-bootstrap": "^19.0.1",
"@popperjs/core": "^2.11.8", "@popperjs/core": "^2.11.8",
"bootstrap": "^5.3.7", "bootstrap": "^5.3.7",
@@ -37,10 +37,10 @@
"zone.js": "~0.15.1" "zone.js": "~0.15.1"
}, },
"devDependencies": { "devDependencies": {
"@angular/build": "^20.1.5", "@angular/build": "^20.2.0",
"@angular/cli": "^20.1.5", "@angular/cli": "^20.2.0",
"@angular/compiler-cli": "^20.1.6", "@angular/compiler-cli": "^20.2.1",
"@angular/localize": "^20.1.6", "@angular/localize": "^20.2.1",
"@types/express": "^5.0.3", "@types/express": "^5.0.3",
"@types/jasmine": "~5.1.0", "@types/jasmine": "~5.1.0",
"@types/node": "^24.2.1", "@types/node": "^24.2.1",

View File

@@ -14,7 +14,7 @@ import {MatOption, MatSelect} from "@angular/material/select";
import {FormsModule} from "@angular/forms"; import {FormsModule} from "@angular/forms";
@Component({ @Component({
selector: 'app-court-selection', selector: 'app-court-selection',
imports: [ imports: [
MatDialogContent, MatDialogContent,
MatButton, MatButton,
@@ -27,8 +27,9 @@ import {FormsModule} from "@angular/forms";
FormsModule, FormsModule,
], ],
templateUrl: './court-selection.component.html', templateUrl: './court-selection.component.html',
styleUrl: './court-selection.component.scss' standalone: true,
styleUrl: './court-selection.component.scss'
}) })
export class CourtSelectionComponent { export class CourtSelectionComponent {

View File

@@ -13,18 +13,19 @@ import {User} from "../../authentication/user";
@Component({ @Component({
selector: 'app-login', selector: 'app-login',
templateUrl: './login.component.html', templateUrl: './login.component.html',
imports: [ imports: [
MatCardContent, MatCardContent,
ReactiveFormsModule, ReactiveFormsModule,
MatFormField, MatFormField,
MatButton, MatButton,
MatInput, MatInput,
MatLabel, MatLabel,
MatCard, MatCard,
], ],
styleUrls: ['./login.component.scss'] standalone: true,
styleUrls: ['./login.component.scss']
}) })
export class LoginComponent implements OnInit { export class LoginComponent implements OnInit {
public form: FormGroup; public form: FormGroup;

View File

@@ -21,28 +21,29 @@ import {Group} from "../../model/group";
import {Game} from "../../model/game"; import {Game} from "../../model/game";
@Component({ @Component({
selector: 'app-match-result', selector: 'app-match-result',
imports: [ imports: [
MatDialogContent, MatDialogContent,
MatDialogActions, MatDialogActions,
MatButton, MatButton,
MatDialogClose, MatDialogClose,
MatDialogTitle, MatDialogTitle,
TeamPipe, TeamPipe,
MatInput, MatInput,
ReactiveFormsModule, ReactiveFormsModule,
FormsModule, FormsModule,
MatFormField, MatFormField,
MatGridList, MatGridList,
MatGridTile, MatGridTile,
NgClass NgClass
], ],
providers: [ providers: [
FullNamePipe, FullNamePipe,
TeamPipe TeamPipe
], ],
templateUrl: './match-result.component.html', templateUrl: './match-result.component.html',
styleUrl: './match-result.component.scss' standalone: true,
styleUrl: './match-result.component.scss'
}) })
export class MatchResultComponent { export class MatchResultComponent {

View File

@@ -13,7 +13,7 @@ import {ReactiveFormsModule} from "@angular/forms";
import {HeaderService} from "../../service/header.service"; import {HeaderService} from "../../service/header.service";
@Component({ @Component({
selector: 'app-match-sheets', selector: 'app-match-sheets',
imports: [ imports: [
MatCard, MatCard,
MatCardContent, MatCardContent,
@@ -22,12 +22,13 @@ import {HeaderService} from "../../service/header.service";
MatInput, MatInput,
ReactiveFormsModule ReactiveFormsModule
], ],
providers: [ providers: [
TeamPipe, TeamPipe,
FullNamePipe FullNamePipe
], ],
templateUrl: './match-sheets.component.html', templateUrl: './match-sheets.component.html',
styleUrl: './match-sheets.component.scss' standalone: true,
styleUrl: './match-sheets.component.scss'
}) })
export class MatchSheetsComponent implements OnInit, OnDestroy { export class MatchSheetsComponent implements OnInit, OnDestroy {

View File

@@ -15,7 +15,7 @@ import {MatSnackBar} from "@angular/material/snack-bar";
import {NgxMaskDirective} from "ngx-mask"; import {NgxMaskDirective} from "ngx-mask";
@Component({ @Component({
selector: 'app-player-edit', selector: 'app-player-edit',
imports: [ imports: [
FormsModule, FormsModule,
RouterLink, RouterLink,
@@ -37,8 +37,9 @@ import {NgxMaskDirective} from "ngx-mask";
ReactiveFormsModule, ReactiveFormsModule,
NgxMaskDirective NgxMaskDirective
], ],
templateUrl: './player-edit.component.html', templateUrl: './player-edit.component.html',
styleUrl: './player-edit.component.scss' standalone: true,
styleUrl: './player-edit.component.scss'
}) })
export class PlayerEditComponent implements OnInit { export class PlayerEditComponent implements OnInit {
player: Player; player: Player;

View File

@@ -3,13 +3,13 @@ import {Component, Input, OnInit} from '@angular/core';
import {RouterLink} from "@angular/router"; import {RouterLink} from "@angular/router";
@Component({ @Component({
selector: 'player-link', selector: 'player-link',
imports: [ imports: [
// MatAnchor, RouterLink
RouterLink ],
], templateUrl: './player-link.component.html',
templateUrl: './player-link.component.html', standalone: true,
styleUrl: './player-link.component.scss' styleUrl: './player-link.component.scss'
}) })
export class PlayerLinkComponent implements OnInit { export class PlayerLinkComponent implements OnInit {

View File

@@ -25,11 +25,12 @@ import {MatPaginator} from "@angular/material/paginator";
import {MatSort, MatSortHeader} from "@angular/material/sort"; import {MatSort, MatSortHeader} from "@angular/material/sort";
@Component({ @Component({
selector: 'app-player-list', selector: 'app-player-list',
imports: [RouterLink, MatAnchor, MatIcon, MatCard, MatCardContent, FullNamePipe, MatTable, MatColumnDef, MatHeaderCell, MatHeaderCellDef, MatCell, MatCellDef, MatHeaderRow, MatHeaderRowDef, MatRow, MatRowDef, MatFormField, MatInput, MatFormFieldModule, MatPaginator, MatSortHeader, MatSort], imports: [RouterLink, MatAnchor, MatIcon, MatCard, MatCardContent, FullNamePipe, MatTable, MatColumnDef, MatHeaderCell, MatHeaderCellDef, MatCell, MatCellDef, MatHeaderRow, MatHeaderRowDef, MatRow, MatRowDef, MatFormField, MatInput, MatFormFieldModule, MatPaginator, MatSortHeader, MatSort],
providers: [FullNamePipe], providers: [FullNamePipe],
templateUrl: './player-list.component.html', templateUrl: './player-list.component.html',
styleUrl: './player-list.component.scss' standalone: true,
styleUrl: './player-list.component.scss'
}) })
export class PlayerListComponent implements AfterViewInit { export class PlayerListComponent implements AfterViewInit {

View File

@@ -17,7 +17,7 @@ import {FullNamePipe} from "../../pipes/fullname-pipe";
import {HeaderService} from "../../service/header.service"; import {HeaderService} from "../../service/header.service";
@Component({ @Component({
selector: 'app-player-registrations', selector: 'app-player-registrations',
imports: [ imports: [
MatCard, MatCard,
MatCardContent, MatCardContent,
@@ -36,11 +36,12 @@ import {HeaderService} from "../../service/header.service";
MatAnchor, MatAnchor,
FullNamePipe FullNamePipe
], ],
providers: [ providers: [
FullNamePipe FullNamePipe
], ],
templateUrl: './player-registrations.component.html', templateUrl: './player-registrations.component.html',
styleUrl: './player-registrations.component.scss' standalone: true,
styleUrl: './player-registrations.component.scss'
}) })
export class PlayerRegistrationsComponent implements OnInit { export class PlayerRegistrationsComponent implements OnInit {

View File

@@ -10,18 +10,19 @@ import {TeamPipe} from "../../pipes/team-pipe";
import {FullNamePipe} from "../../pipes/fullname-pipe"; import {FullNamePipe} from "../../pipes/fullname-pipe";
@Component({ @Component({
selector: 'app-round-overview', selector: 'app-round-overview',
imports: [ imports: [
TeamPipe, TeamPipe,
DecimalPipe, DecimalPipe,
FullNamePipe FullNamePipe
], ],
providers: [ providers: [
TeamPipe, TeamPipe,
FullNamePipe FullNamePipe
], ],
templateUrl: './round-overview.component.html', templateUrl: './round-overview.component.html',
styleUrl: './round-overview.component.scss' standalone: true,
styleUrl: './round-overview.component.scss'
}) })
export class RoundOverviewComponent implements OnInit { export class RoundOverviewComponent implements OnInit {

View File

@@ -14,7 +14,7 @@ import {TeamPipe} from "../../pipes/team-pipe";
import {FullNamePipe} from "../../pipes/fullname-pipe"; import {FullNamePipe} from "../../pipes/fullname-pipe";
@Component({ @Component({
selector: 'app-tournament-draw', selector: 'app-tournament-draw',
imports: [ imports: [
MatCard, MatCard,
MatCardContent, MatCardContent,
@@ -25,12 +25,13 @@ import {FullNamePipe} from "../../pipes/fullname-pipe";
TeamPipe, TeamPipe,
MatAccordion MatAccordion
], ],
providers: [ providers: [
FullNamePipe, FullNamePipe,
TeamPipe TeamPipe
], ],
templateUrl: './tournament-draw.component.html', templateUrl: './tournament-draw.component.html',
styleUrl: './tournament-draw.component.scss' standalone: true,
styleUrl: './tournament-draw.component.scss'
}) })
export class TournamentDrawComponent implements OnInit { export class TournamentDrawComponent implements OnInit {

View File

@@ -18,7 +18,7 @@ import {MatCheckbox} from "@angular/material/checkbox";
registerLocaleData(nl); registerLocaleData(nl);
@Component({ @Component({
selector: 'app-tournament-edit', selector: 'app-tournament-edit',
imports: [ imports: [
FormsModule, FormsModule,
RouterLink, RouterLink,
@@ -37,11 +37,12 @@ registerLocaleData(nl);
NgxMaskDirective, NgxMaskDirective,
MatCheckbox MatCheckbox
], ],
providers: [ providers: [
CurrencyPipe CurrencyPipe
], ],
templateUrl: './tournament-edit.component.html', templateUrl: './tournament-edit.component.html',
styleUrl: './tournament-edit.component.scss' standalone: true,
styleUrl: './tournament-edit.component.scss'
}) })
export class TournamentEditComponent implements OnInit { export class TournamentEditComponent implements OnInit {

View File

@@ -9,12 +9,13 @@ import {MatTableModule} from "@angular/material/table";
import {HeaderService} from "../../service/header.service"; import {HeaderService} from "../../service/header.service";
@Component({ @Component({
selector: 'app-tournament-list', selector: 'app-tournament-list',
imports: [ imports: [
RouterLink, MatAnchor, MatIcon, MatCard, MatCardContent, MatButton, MatTableModule RouterLink, MatAnchor, MatIcon, MatCard, MatCardContent, MatButton, MatTableModule
], ],
templateUrl: './tournament-list.component.html', templateUrl: './tournament-list.component.html',
styleUrl: './tournament-list.component.scss' standalone: true,
styleUrl: './tournament-list.component.scss'
}) })
export class TournamentListComponent implements OnInit { export class TournamentListComponent implements OnInit {

View File

@@ -1,6 +1,7 @@
td { td {
vertical-align: middle; vertical-align: middle;
} }
td, th { td, th {
background-color: transparent !important; background-color: transparent !important;
} }
@@ -8,6 +9,7 @@ td, th {
table.wide td, table.wide th { table.wide td, table.wide th {
height: 4em; height: 4em;
} }
.winner { .winner {
color: green; color: green;
font-weight: bold; font-weight: bold;
@@ -33,6 +35,7 @@ td.w-fill {
width: 95% !important; width: 95% !important;
} }
.material-tooltip {
white-space: pre-line; .mat-menu-panel {
z-index: 1000 !important;
} }

View File

@@ -36,7 +36,7 @@ import {TournamentPlayer} from "../../model/tournamentPlayer";
import {MatTooltip} from "@angular/material/tooltip"; import {MatTooltip} from "@angular/material/tooltip";
@Component({ @Component({
selector: 'app-tournament-manage', selector: 'app-tournament-manage',
imports: [ imports: [
FullNamePipe, FullNamePipe,
MatAccordion, MatAccordion,
@@ -64,13 +64,14 @@ import {MatTooltip} from "@angular/material/tooltip";
TournamentPlayersComponent, TournamentPlayersComponent,
MatExpansionPanelActionRow, MatExpansionPanelActionRow,
], ],
providers: [ providers: [
FullNamePipe, FullNamePipe,
TeamPipe, TeamPipe,
MatchResultPipe MatchResultPipe
], ],
templateUrl: './tournament-manage.component.html', templateUrl: './tournament-manage.component.html',
styleUrl: './tournament-manage.component.scss' standalone: true,
styleUrl: './tournament-manage.component.scss'
}) })
export class TournamentManageComponent implements OnInit, OnDestroy { export class TournamentManageComponent implements OnInit, OnDestroy {

View File

@@ -15,6 +15,7 @@ import {MatSnackBar} from "@angular/material/snack-bar";
FormsModule FormsModule
], ],
templateUrl: './tournament-players.component.html', templateUrl: './tournament-players.component.html',
standalone: true,
styleUrl: './tournament-players.component.scss' styleUrl: './tournament-players.component.scss'
}) })
export class TournamentPlayersComponent implements OnInit { export class TournamentPlayersComponent implements OnInit {

View File

@@ -7,15 +7,16 @@ import {Event} from "../../model/event";
import {FullNamePipe} from "../../pipes/fullname-pipe"; import {FullNamePipe} from "../../pipes/fullname-pipe";
@Component({ @Component({
selector: 'app-tournament-registrations', selector: 'app-tournament-registrations',
imports: [ imports: [
MatCard, MatCard,
MatCardHeader, MatCardHeader,
MatCardContent, MatCardContent,
FullNamePipe FullNamePipe
], ],
templateUrl: './tournament-registrations.component.html', templateUrl: './tournament-registrations.component.html',
styleUrl: './tournament-registrations.component.scss' standalone: true,
styleUrl: './tournament-registrations.component.scss'
}) })
export class TournamentRegistrationsComponent implements OnInit { export class TournamentRegistrationsComponent implements OnInit {

View File

@@ -18,21 +18,22 @@ import {PlayerService} from "../../service/player.service";
import {PlayerLinkComponent} from "../player-link/player-link.component"; import {PlayerLinkComponent} from "../player-link/player-link.component";
@Component({ @Component({
selector: 'app-tournament-validate', selector: 'app-tournament-validate',
imports: [ imports: [
MatCard, MatCard,
MatCardHeader, MatCardHeader,
MatCardContent, MatCardContent,
MatExpansionPanel, MatExpansionPanel,
MatExpansionPanelTitle, MatExpansionPanelTitle,
MatExpansionPanelHeader, MatExpansionPanelHeader,
MatAccordion, MatAccordion,
MatIcon, MatIcon,
FullNamePipe, FullNamePipe,
PlayerLinkComponent PlayerLinkComponent
], ],
templateUrl: './tournament-validate.component.html', templateUrl: './tournament-validate.component.html',
styleUrl: './tournament-validate.component.scss' standalone: true,
styleUrl: './tournament-validate.component.scss'
}) })
export class TournamentValidateComponent implements OnInit { export class TournamentValidateComponent implements OnInit {
tournament: Tournament; tournament: Tournament;

View File

@@ -2,3 +2,8 @@
html, body { height: 100%; } html, body { height: 100%; }
body { margin: 0; font-family: Roboto, "Helvetica Neue", sans-serif; } body { margin: 0; font-family: Roboto, "Helvetica Neue", sans-serif; }
/*
.cdk-overlay-container {
z-index: 2000 !important;
}
*/

1959
yarn.lock

File diff suppressed because it is too large Load Diff