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 {
}
-
-
-
{{ project.isPublic ? 'Público' : 'Privado' }}
-
+
-
-
-
{{ project.isPublic && project.acceptsProposals ? 'Abierto' : 'Cerrado' }}
-
+
@if (facade.canManage()) {
@@ -464,14 +454,12 @@ function idFrom(name: string): string {
medias. El propietario y los admins sí pueden cerrarlo.
-
-
-
{{ d.checklistBeforeDone ? 'Activada' : 'Desactivada' }}
-
+
@@ -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).
-
-
-
{{
- sharing.share() ? 'Compartido' : 'Sin compartir'
- }}
-
+
@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) {
-
-
-
Avisos en este dispositivo
-
+
}
@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));