From 15fa4117ab8807b79ad4762270fddcd9c2fe6d5a Mon Sep 17 00:00:00 2001 From: "google-labs-jules[bot]" <161369871+google-labs-jules[bot]@users.noreply.github.com> Date: Tue, 6 Jan 2026 21:53:48 +0000 Subject: [PATCH] feat(ui): pass profileId in navigation - Updated `navigateToProfiles` in `MainLayoutComponent` to pass `profileId` as a query parameter. - Updated `ProfilesComponent` to read the `id` query parameter and set `editingProfileId` accordingly. --- ui/src/app/layouts/main-layout.component.ts | 3 +-- ui/src/app/pages/profiles/profiles.component.ts | 14 ++++++++++++-- 2 files changed, 13 insertions(+), 4 deletions(-) diff --git a/ui/src/app/layouts/main-layout.component.ts b/ui/src/app/layouts/main-layout.component.ts index c56e729..41d9cca 100644 --- a/ui/src/app/layouts/main-layout.component.ts +++ b/ui/src/app/layouts/main-layout.component.ts @@ -127,8 +127,7 @@ export class MainLayoutComponent implements AfterViewInit { } navigateToProfiles(profileId: string) { - // TODO: Could pass profileId via query params or state - this.router.navigate(['/', 'profiles']); + this.router.navigate(['/', 'profiles'], { queryParams: { id: profileId } }); } navigateToConsole(minerName: string) { diff --git a/ui/src/app/pages/profiles/profiles.component.ts b/ui/src/app/pages/profiles/profiles.component.ts index 73e862a..e0b033f 100644 --- a/ui/src/app/pages/profiles/profiles.component.ts +++ b/ui/src/app/pages/profiles/profiles.component.ts @@ -1,5 +1,6 @@ -import { Component, inject, signal } from '@angular/core'; +import { Component, inject, signal, OnInit } from '@angular/core'; import { CommonModule } from '@angular/common'; +import { ActivatedRoute } from '@angular/router'; import { MinerService } from '../../miner.service'; import { NotificationService } from '../../notification.service'; import { ProfileCreateComponent } from '../../profile-create.component'; @@ -555,9 +556,10 @@ import { ProfileCreateComponent } from '../../profile-create.component'; } `] }) -export class ProfilesComponent { +export class ProfilesComponent implements OnInit { private minerService = inject(MinerService); private notifications = inject(NotificationService); + private route = inject(ActivatedRoute); state = this.minerService.state; showCreateForm = signal(false); @@ -571,6 +573,14 @@ export class ProfilesComponent { profiles = () => this.state().profiles; + ngOnInit() { + this.route.queryParams.subscribe(params => { + if (params['id']) { + this.editingProfileId.set(params['id']); + } + }); + } + isRunning(profileId: string): boolean { return this.state().runningMiners.some(m => m.profile_id === profileId); }