diff --git a/docs/04-cliente-web.md b/docs/04-cliente-web.md index 2c84bed..8a684a2 100644 --- a/docs/04-cliente-web.md +++ b/docs/04-cliente-web.md @@ -291,7 +291,7 @@ visualización de la plataforma: lectura, y en uno privado (o inexistente), el enlace para iniciar sesión volviendo a esa página (`returnUrl`). - El tiempo real necesita sesión: `GraphqlRealtimeGateway` no abre subscriptions sin token (si lo hiciera, la API cerraría el WebSocket y el cliente reintentaría sin fin). Los visitantes anónimos ven los datos al cargar la página. -- Configuración tiene en General el interruptor «Público» (propietario y admins) y, en Zona peligrosa y solo para el propietario, «Eliminar el +- Configuración tiene en General la casilla «Proyecto público» (propietario y admins) y, en Zona peligrosa y solo para el propietario, «Eliminar el proyecto», que exige escribir la clave. Al borrarlo se vuelve a la portada; si otro lo borra mientras lo tienes abierto, la subscription avisa (`ProjectChanged.deleted`) y también se vuelve a la portada. diff --git a/docs/TaskStream-Documentacion.docx b/docs/TaskStream-Documentacion.docx index dd5df0a..3b7d0d6 100644 Binary files a/docs/TaskStream-Documentacion.docx and b/docs/TaskStream-Documentacion.docx differ diff --git a/docs/TaskStream-Documentacion.pdf b/docs/TaskStream-Documentacion.pdf index e4791b9..f56b934 100644 Binary files a/docs/TaskStream-Documentacion.pdf and b/docs/TaskStream-Documentacion.pdf differ diff --git a/libs/web/tracker/presenters/src/lib/pages/settings.page.ts b/libs/web/tracker/presenters/src/lib/pages/settings.page.ts index 8462b83..ab6f3ba 100644 --- a/libs/web/tracker/presenters/src/lib/pages/settings.page.ts +++ b/libs/web/tracker/presenters/src/lib/pages/settings.page.ts @@ -17,12 +17,7 @@ import { untracked, } from '@angular/core'; import { NgTemplateOutlet } from '@angular/common'; -import { - PiCheckboxComponent, - PiIconComponent, - PiNoteComponent, - PiSlideToggleComponent, -} from '@pi/ui'; +import { PiCheckboxComponent, PiIconComponent, PiNoteComponent } from '@pi/ui'; import { GitIntegrationComponent } from '../ui/git-integration'; import { WebhooksComponent } from '../ui/webhooks'; import { TransferComponent } from '../ui/transfer'; @@ -156,7 +151,6 @@ function idFrom(name: string): string { NgTemplateOutlet, PiIconComponent, PiNoteComponent, - PiSlideToggleComponent, ], template: `
@@ -215,15 +209,13 @@ function idFrom(name: string): string { }

-
- - -
+
-
- - -
+
@if (facade.canManage()) { @@ -464,14 +454,12 @@ function idFrom(name: string): string { medias. El propietario y los admins sí pueden cerrarlo.

-
- - -
+ @@ -1103,10 +1091,7 @@ function idFrom(name: string): string { } } .ts-toggle { - display: inline-flex; - align-items: center; - gap: 0.625rem; - font-size: 0.875rem; + flex: none; font-weight: 600; } .ts-danger__confirm { diff --git a/libs/web/tracker/presenters/src/lib/ui/client-share.ts b/libs/web/tracker/presenters/src/lib/ui/client-share.ts index 8c77cec..638c0bf 100644 --- a/libs/web/tracker/presenters/src/lib/ui/client-share.ts +++ b/libs/web/tracker/presenters/src/lib/ui/client-share.ts @@ -7,7 +7,7 @@ import { input, untracked, } from '@angular/core'; -import { PiCheckboxComponent, PiSlideToggleComponent } from '@pi/ui'; +import { PiCheckboxComponent } from '@pi/ui'; import { ToastService } from '@task-stream/web/shared/ui'; import { provideSharingFacade, @@ -37,7 +37,7 @@ const DEFAULT_BLOCKS: SharedBlock[] = ['flow', 'sprint', 'releases']; @Component({ selector: 'ts-client-share', changeDetection: ChangeDetectionStrategy.OnPush, - imports: [PiCheckboxComponent, PiSlideToggleComponent], + imports: [PiCheckboxComponent], providers: [provideSharingFacade()], host: { class: 'ts-panel', role: 'region', 'aria-labelledby': 'share-title' }, template: ` @@ -49,17 +49,13 @@ const DEFAULT_BLOCKS: SharedBlock[] = ['flow', 'sprint', 'releases']; enseña personas ni tickets sueltos (salvo las épicas).

-
- - -
+ @if (sharing.share(); as share) { @@ -187,10 +183,7 @@ const DEFAULT_BLOCKS: SharedBlock[] = ['flow', 'sprint', 'releases']; font-size: 0.875rem; } .ts-toggle { - display: inline-flex; - align-items: center; - gap: 0.625rem; - font-size: 0.875rem; + flex: none; font-weight: 600; } `, diff --git a/libs/web/tracker/presenters/src/lib/ui/notifications-bell.ts b/libs/web/tracker/presenters/src/lib/ui/notifications-bell.ts index 69de047..652ff2a 100644 --- a/libs/web/tracker/presenters/src/lib/ui/notifications-bell.ts +++ b/libs/web/tracker/presenters/src/lib/ui/notifications-bell.ts @@ -11,7 +11,7 @@ import { PiBadgeComponent, PiIconButtonComponent, PiIconComponent, - PiSlideToggleComponent, + PiCheckboxComponent, } from '@pi/ui'; import { DrawerService } from '@task-stream/web/shared/ui'; import { InboxFacade, PushFacade } from '@task-stream/web/tracker/application'; @@ -46,7 +46,7 @@ const ICON: Record = { PiBadgeComponent, PiIconButtonComponent, PiIconComponent, - PiSlideToggleComponent, + PiCheckboxComponent, ], template: ` = { (execute)="inbox.markRead()" /> @if (inbox.settings()?.emailAvailable) { -
- - -
+ } @if (inbox.settings()?.pushPublicKey && push.supported) { -
- - -
+ } @if (push.error(); as error) { @@ -156,12 +150,6 @@ const ICON: Record = { justify-content: space-between; gap: 0.75rem; } - .ts-inbox__switch { - display: inline-flex; - gap: 0.5rem; - align-items: center; - font-size: 0.875rem; - } .ts-inbox__error { margin: 0; color: var(--ts-c-red, var(--ts-ink));