feat: 3 screens for rotations

commit 563116331f
Author: eneller <erikneller@gmx.de>
Date:   Sun Feb 1 10:28:19 2026 +0100

    fix: edit list items

commit 1946c599be
Author: eneller <erikneller@gmx.de>
Date:   Sun Feb 1 10:19:16 2026 +0100

    fix: minor misc ui and data

commit 7c7762515b
Author: eneller <erikneller@gmx.de>
Date:   Sat Jan 31 23:02:01 2026 +0100

    feat: navbar

commit aaa0ab0638
Author: eneller <erikneller@gmx.de>
Date:   Sat Jan 31 21:05:23 2026 +0100

    feat: remove players

commit 4082932095
Author: eneller <erikneller@gmx.de>
Date:   Sat Jan 31 20:36:49 2026 +0100

    feat: dataservice

commit b6d34ce262
Author: eneller <erikneller@gmx.de>
Date:   Sat Jan 31 17:12:37 2026 +0100

    wip: rotations accordion

commit 764ce43138
Author: eneller <erikneller@gmx.de>
Date:   Sat Jan 31 16:29:11 2026 +0100

    refactor: basic screen

commit 1bc97df0da
Author: eneller <erikneller@gmx.de>
Date:   Sat Jan 31 15:52:06 2026 +0100

    feat: deduplicated player adding

commit 5408a8d9b6
Author: eneller <erikneller@gmx.de>
Date:   Sat Jan 31 00:31:01 2026 +0100

    central players list

commit 665cb25d34
Author: eneller <erikneller@gmx.de>
Date:   Fri Jan 30 23:15:16 2026 +0100

    feat: modal

commit 3b8e5145c3
Author: eneller <erikneller@gmx.de>
Date:   Fri Jan 30 22:51:09 2026 +0100

    wip: player modal

commit 51414f5a99
Author: eneller <erikneller@gmx.de>
Date:   Fri Jan 30 22:03:48 2026 +0100

    refactor: extract randomizer to component
This commit is contained in:
eneller
2026-02-01 10:40:05 +01:00
parent 7e7313916b
commit c4a2307530
27 changed files with 659 additions and 110 deletions

View File

@@ -1,59 +1,10 @@
<main class="main">
<div class="row justify-content-md-center">
<h1>Please select the number of teams:</h1>
<div class="btn-toolbar mb-3 col justify-content-center" role="toolbar">
<div class="btn-group me-2" id="numTeamsSelector" role="group"
value="2">
<input value="2" [(ngModel)]="numTeamsSelectorValue" type="radio" class="btn-check" name="btnradio" id="btnradio1" autocomplete="off" checked>
<label class="btn btn-outline-primary" for="btnradio1">Two</label>
<input value="3" [(ngModel)]="numTeamsSelectorValue" type="radio" class="btn-check" name="btnradio" id="btnradio2" autocomplete="off">
<label class="btn btn-outline-primary" for="btnradio2">Three</label>
<input value="n" [(ngModel)]="numTeamsSelectorValue" type="radio" class="btn-check" name="btnradio" id="btnradio3" autocomplete="off">
<label class="btn btn-outline-primary" for="btnradio3">n</label>
</div>
<div *ngIf="numTeamsSelectorValue === 'n'" id="nTeamsText" class="col-md-auto">
<label for="nTeamsField">n Teams</label>
<input type="number" pattern="\d*" [(ngModel)]="nTeamsValue" id="nTeamsField" class="form-control" >
</div>
</div>
<form>
<div class="container">
<label for="playerNames">Names</label>
<textarea [(ngModel)]="playerNamesValue"
class="form-control mb-3"
rows="18"
cols="30"
style="text-align: left;"
name="playerNames"
#playerNames
id="playerNames"
></textarea>
</div>
<button type="button" (click)="onButtonGenerate(playerNames.value)" class="btn btn-primary">Generate</button>
</form>
<table class="table table-striped custom-table">
<caption *ngIf="duplicateNames.length >0">Removed: {{ duplicateNames }}</caption>
<thead>
<tr>
<th scope="col">Size</th>
<th scope="col">Names</th>
</tr>
</thead>
<tbody>
@for (team of teamsArray; track $index) {
<tr>
<td style="text-wrap: wrap;">{{ team.length | number }}</td>
<td class="wrap-cell">{{ team }}</td>
</tr>
}
</tbody>
</table>
</div>
<router-outlet></router-outlet>
</main>
<router-outlet />
<nav>
<ul ngbNav [activeId]="route.fragment | async" class="nav-tabs custom-navbar bg-body-secondary">
<li ngbNavItem="/edit" class="custom-navitem"><a ngbNavLink routerLink="/edit" routerLinkActive="active"><i class="bi bi-pencil-square"></i>{{ data.getPlayers().length }}</a></li>
<li ngbNavItem="/basic" class="custom-navitem"><a ngbNavLink routerLink="/basic" routerLinkActive="active"><i class="bi bi-shuffle"></i></a></li>
<li ngbNavItem="/rotations" class="custom-navitem"><a ngbNavLink routerLink="/rotations" routerLinkActive="active"><i class="bi bi-arrow-repeat"></i></a></li>
</ul>
</nav>