From 7e7313916bd5d0b29d1d15341feb6bda66c45cdb Mon Sep 17 00:00:00 2001 From: eneller Date: Wed, 28 Jan 2026 14:24:35 +0100 Subject: [PATCH] refactor: query params --- src/app/app.component.ts | 20 ++++++++++++-------- 1 file changed, 12 insertions(+), 8 deletions(-) diff --git a/src/app/app.component.ts b/src/app/app.component.ts index ab2e268..292df5e 100644 --- a/src/app/app.component.ts +++ b/src/app/app.component.ts @@ -1,9 +1,10 @@ -import { AfterViewInit, Component, OnInit} from '@angular/core'; +import { Component, OnInit} from '@angular/core'; import { FormsModule } from '@angular/forms'; import { RouterOutlet, ActivatedRoute } from '@angular/router'; import { NgbModule } from '@ng-bootstrap/ng-bootstrap'; import { CommonModule } from '@angular/common'; +import { filter, take } from 'rxjs'; @Component({ selector: 'app-root', @@ -23,7 +24,10 @@ export class AppComponent implements OnInit { constructor(private activatedRoute: ActivatedRoute){} ngOnInit(): void { - this.activatedRoute.queryParams.subscribe(params => { + this.activatedRoute.queryParams.pipe( + filter(params => Object.keys(params).length > 0), // Only proceed if params are not empty + take(1) + ).subscribe(params => { const names = params['names']?.replaceAll(',', '\n'); if (names) { this.playerNamesValue = names; @@ -47,8 +51,8 @@ export class AppComponent implements OnInit { let names = [...namesset]; - var teams = Array.from({ length: this.numTeamsSelected }, () => []); - var playersPerTeam = Math.floor(names.length / this.numTeamsSelected); + let teams = Array.from({ length: this.numTeamsSelected }, () => []); + let playersPerTeam = Math.floor(names.length / this.numTeamsSelected); let nameslen = names.length; function* iter(list: any[]){ @@ -58,12 +62,12 @@ export class AppComponent implements OnInit { index++; } } - var iterator = iter(teams); + let iterator = iter(teams); for(let i =0; i < nameslen; i++){ - var index = Math.floor(Math.random()* names.length); - var n = names[index]; + let index = Math.floor(Math.random()* names.length); + let n = names[index]; names.splice(index,1); - var team = iterator.next().value; + let team = iterator.next().value; team.push(n); }