feat(web): English paths, and a portfolio that updates itself

/cartera, /explorar and /p/:key/proponer are /portfolio, /explore and
/p/:key/propose now, like every other path; the Spanish ones redirect,
so links already shared keep working. Settings sections go by
?section= with English names.

The portfolio reads itself again, quietly, when a ticket, sprint or
release of the projects shown changes, when my projects change, or when
the live connection comes back; «En directo» replaces the refresh
button.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
2026-10-15 22:15:32 +02:00
parent 9044690348
commit d0efaeba80
22 changed files with 150 additions and 66 deletions

View File

@@ -15,24 +15,29 @@ export const trackerRoutes: Routes = [
import('./pages/projects.page').then((m) => m.ProjectsPage),
},
{
path: 'cartera',
path: 'portfolio',
canActivate: [authGuard],
title: 'Cartera · TaskStream',
loadComponent: () =>
import('./pages/portfolio.page').then((m) => m.PortfolioPage),
},
{
path: 'explorar',
path: 'explore',
title: 'Proyectos públicos · TaskStream',
loadComponent: () =>
import('./pages/explore.page').then((m) => m.ExplorePage),
},
// The Spanish paths, from links shared before.
{ path: 'cartera', redirectTo: 'portfolio' },
{ path: 'explorar', redirectTo: 'explore' },
{
path: 'p/:key',
loadComponent: () =>
import('./pages/project-shell.page').then((m) => m.ProjectShellPage),
children: [
{ path: '', pathMatch: 'full', redirectTo: 'board' },
// The Spanish path, from links shared before.
{ path: 'proponer', redirectTo: 'propose' },
{
path: 'board',
title: 'Tablero · TaskStream',
@@ -40,7 +45,7 @@ export const trackerRoutes: Routes = [
import('./pages/board.page').then((m) => m.BoardPage),
},
{
path: 'proponer',
path: 'propose',
title: 'Proponer · TaskStream',
loadComponent: () =>
import('./pages/propose.page').then((m) => m.ProposePage),