mirror of
https://codeberg.org/beerbrawl/beerbrawl.git
synced 2024-09-23 05:40:51 +02:00
refactor(#112): fixed padding/margin between header and content stacking
also use header component in components where applicable
This commit is contained in:
parent
7b862a44fb
commit
b3238d2dad
|
@ -40,6 +40,7 @@ import { MatTable } from '@angular/material/table';
|
|||
import { TournamentEditComponent } from './components/tournament/tournament-edit/tournament-edit.component';
|
||||
import { NgxMatTimepickerComponent, NgxMatTimepickerDirective } from 'ngx-mat-timepicker';
|
||||
import { MatDatepicker } from '@angular/material/datepicker';
|
||||
import { HeaderCardComponent } from './components/header-card/header-card.component';
|
||||
|
||||
@NgModule({
|
||||
// Keep alphabetically sorted!
|
||||
|
@ -89,6 +90,7 @@ import { MatDatepicker } from '@angular/material/datepicker';
|
|||
NgxMatTimepickerComponent,
|
||||
NgxMatTimepickerDirective,
|
||||
MatDatepicker,
|
||||
HeaderCardComponent,
|
||||
],
|
||||
providers: [
|
||||
httpInterceptorProviders,
|
||||
|
|
|
@ -1,12 +1,6 @@
|
|||
<mat-card>
|
||||
<div class="top-bar">
|
||||
<div class="row">
|
||||
<div class="title">Tournament Tables Overview</div>
|
||||
<button mat-raised-button color="primary" (click)="backToOverview()">Back to Overview</button>
|
||||
</div>
|
||||
<!-- <mat-divider></mat-divider> -->
|
||||
</div>
|
||||
</mat-card>
|
||||
<app-header-card [title]="'Tournament Tables Overview'">
|
||||
<button mat-raised-button color="primary" (click)="backToOverview()">Back to Overview</button>
|
||||
</app-header-card>
|
||||
|
||||
<div class="table-container" data-cy="beer-pong-tables-list">
|
||||
<table mat-table [dataSource]="tables()" class="mat-elevation-z8">
|
||||
|
|
|
@ -1,28 +1,5 @@
|
|||
mat-card {
|
||||
margin: var(--spacing2);
|
||||
}
|
||||
|
||||
.top-bar {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
padding: var(--spacing2);
|
||||
box-sizing: border-box;
|
||||
}
|
||||
|
||||
.row {
|
||||
display: flex;
|
||||
flex-direction: row;
|
||||
justify-content: space-between;
|
||||
padding: var(--spacing2);
|
||||
}
|
||||
|
||||
.title {
|
||||
font-size: 2rem;
|
||||
font-weight: normal;
|
||||
}
|
||||
|
||||
.table-container {
|
||||
padding: var(--spacing2);
|
||||
padding: 0px var(--spacing2) var(--spacing2) var(--spacing2);
|
||||
|
||||
& > table {
|
||||
margin-bottom: var(--spacing2);
|
||||
|
|
|
@ -21,6 +21,7 @@ import { MatCard } from '@angular/material/card';
|
|||
import { ConfirmationService } from '../../services/confirmation.service';
|
||||
import { ActivatedRoute } from '@angular/router';
|
||||
import { Location } from '@angular/common';
|
||||
import { HeaderCardComponent } from '../header-card/header-card.component';
|
||||
|
||||
@Component({
|
||||
selector: 'app-beer-pong-table-overview',
|
||||
|
@ -44,6 +45,7 @@ import { Location } from '@angular/common';
|
|||
MatChipsModule,
|
||||
MatChipTrailingIcon,
|
||||
MatCard,
|
||||
HeaderCardComponent,
|
||||
],
|
||||
})
|
||||
export class BeerPongTableOverviewComponent implements OnInit {
|
||||
|
|
|
@ -1,11 +1,6 @@
|
|||
<mat-card>
|
||||
<div class="top-bar">
|
||||
<div class="row">
|
||||
<div class="title">{{ this.tournament?.name ?? 'Tournament' }} Teams Overview</div>
|
||||
<button mat-raised-button color="primary" [routerLink]="'..'">Back to Overview</button>
|
||||
</div>
|
||||
</div>
|
||||
</mat-card>
|
||||
<app-header-card [title]="this.tournament?.name ?? 'Tournament'">
|
||||
<button mat-raised-button color="primary" [routerLink]="'..'">Back to Overview</button>
|
||||
</app-header-card>
|
||||
|
||||
@if (teams().length > 0) {
|
||||
<div class="table-container" data-cy="beer-pong-tables-list">
|
||||
|
|
|
@ -10,30 +10,6 @@ mat-chip.chip-warn {
|
|||
background-color: var(--color-background-warn);
|
||||
}
|
||||
|
||||
.top-bar {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
padding: var(--spacing2);
|
||||
}
|
||||
|
||||
mat-card {
|
||||
margin: var(--spacing2);
|
||||
}
|
||||
|
||||
.row {
|
||||
display: flex;
|
||||
flex-direction: row;
|
||||
justify-content: space-between;
|
||||
padding: var(--spacing2);
|
||||
width: 100%;
|
||||
box-sizing: border-box;
|
||||
}
|
||||
|
||||
.title {
|
||||
font-size: 2rem;
|
||||
font-weight: normal;
|
||||
}
|
||||
|
||||
.table-container {
|
||||
padding: var(--spacing2);
|
||||
padding: 0px var(--spacing2) var(--spacing2) var(--spacing2);
|
||||
}
|
||||
|
|
|
@ -23,6 +23,7 @@ import { MatCard } from '@angular/material/card';
|
|||
import { RouterLink, RouterModule } from '@angular/router';
|
||||
import { HttpErrorResponse } from '@angular/common/http';
|
||||
import { TournamentDialogsService } from 'src/app/services/tournament-dialogs.service';
|
||||
import { HeaderCardComponent } from '../header-card/header-card.component';
|
||||
|
||||
@Component({
|
||||
selector: 'app-tournament-teams',
|
||||
|
@ -47,6 +48,7 @@ import { TournamentDialogsService } from 'src/app/services/tournament-dialogs.se
|
|||
RouterModule,
|
||||
RouterLink,
|
||||
MatTooltip,
|
||||
HeaderCardComponent,
|
||||
],
|
||||
templateUrl: './tournament-teams.component.html',
|
||||
styleUrl: './tournament-teams.component.scss',
|
||||
|
|
|
@ -7,7 +7,7 @@
|
|||
}
|
||||
|
||||
.header-card {
|
||||
margin: var(--spacing2);
|
||||
margin: var(--spacing2) var(--spacing2) 0px var(--spacing2);
|
||||
padding: var(--spacing2);
|
||||
}
|
||||
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
<app-header-card [title]="'Qualification Round'" class="header">
|
||||
<button mat-raised-button color="primary">Start KO</button>
|
||||
</app-header-card>
|
||||
<div class="content">
|
||||
<app-header-card [title]="'Qualification Round'" class="header">
|
||||
<button mat-raised-button color="primary">Start KO</button>
|
||||
</app-header-card>
|
||||
<div class="matches mat-elevation-z8">
|
||||
@for (match of qualificationMatches(); track match.id) {
|
||||
<app-qualification-match-line
|
||||
|
|
|
@ -1,38 +1,34 @@
|
|||
.content {
|
||||
display: grid;
|
||||
grid-template-areas:
|
||||
'header header'
|
||||
'matches score';
|
||||
grid-template-columns: 3fr 2fr;
|
||||
column-gap: 1rem;
|
||||
grid-template-rows: auto 1fr;
|
||||
column-gap: var(--spacing2);
|
||||
overflow-y: hidden;
|
||||
height: 100vh;
|
||||
}
|
||||
|
||||
.header {
|
||||
grid-area: header;
|
||||
}
|
||||
|
||||
.score-table {
|
||||
grid-column: 2 / 2;
|
||||
grid-row: 1;
|
||||
margin: 1rem 1rem 1rem 0;
|
||||
height: auto;
|
||||
grid-area: score;
|
||||
margin-right: var(--spacing2);
|
||||
margin-bottom: var(--spacing2);
|
||||
overflow-y: auto;
|
||||
}
|
||||
|
||||
.matches {
|
||||
grid-column: 1 / 1;
|
||||
grid-row: 1;
|
||||
margin: 1rem 0 1rem 1rem;
|
||||
}
|
||||
|
||||
.matches,
|
||||
.score-table {
|
||||
grid-area: matches;
|
||||
margin-left: var(--spacing2);
|
||||
margin-bottom: var(--spacing2);
|
||||
overflow-y: auto;
|
||||
height: 87vh;
|
||||
}
|
||||
|
||||
.header-container {
|
||||
display: flex;
|
||||
flex-direction: row;
|
||||
align-items: center;
|
||||
gap: 3rem;
|
||||
}
|
||||
|
||||
.no-matches-container {
|
||||
padding: 1rem;
|
||||
display: grid;
|
||||
justify-items: center;
|
||||
align-items: center;
|
||||
|
|
|
@ -1,14 +1,9 @@
|
|||
<mat-card>
|
||||
<div class="top-bar">
|
||||
<div class="row">
|
||||
<div class="title">All Tournaments</div>
|
||||
<button mat-raised-button color="primary">
|
||||
<a [routerLink]="'/tournaments/create'" class="no-decoration">Create Tournament</a>
|
||||
</button>
|
||||
</div>
|
||||
<!-- <mat-divider></mat-divider> -->
|
||||
</div>
|
||||
</mat-card>
|
||||
<app-header-card [title]="'All Tournaments'">
|
||||
<button mat-raised-button color="primary">
|
||||
<a [routerLink]="'/tournaments/create'" class="no-decoration">Create Tournament</a>
|
||||
</button>
|
||||
</app-header-card>
|
||||
|
||||
@for (tournament of getTournaments(); track tournament.name) {
|
||||
<app-tournament-card
|
||||
[tournament]="tournament"
|
||||
|
|
|
@ -1,23 +0,0 @@
|
|||
mat-card:has(> div.top-bar) {
|
||||
margin: var(--spacing2);
|
||||
}
|
||||
.top-bar {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
width: 100%;
|
||||
padding: var(--spacing2);
|
||||
box-sizing: border-box;
|
||||
}
|
||||
|
||||
.row {
|
||||
display: flex;
|
||||
flex-direction: row;
|
||||
justify-content: space-between;
|
||||
padding: var(--spacing1);
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
.title {
|
||||
font-size: 2rem;
|
||||
font-weight: normal;
|
||||
}
|
Loading…
Reference in a new issue