03
@@ -171,7 +174,7 @@
class="primary-action"
[disabled]="saving()"
>
-
+
@if (saving()) {
Enregistrement…
} @else {
diff --git a/frontend/src/app/components/leases-page/leases-page.html b/frontend/src/app/components/leases-page/leases-page.html
index b88b06d..9760f05 100644
--- a/frontend/src/app/components/leases-page/leases-page.html
+++ b/frontend/src/app/components/leases-page/leases-page.html
@@ -60,8 +60,8 @@
[tenants]="workspace.tenants()"
[deleting]="!!lease.id && workspace.deletingLeaseIds().has(lease.id)"
[deleteError]="lease.id ? (workspace.leaseDeleteErrors()[lease.id] ?? '') : ''"
- [downloading]="!!lease.id && workspace.downloadingLeaseIds().has(lease.id)"
- [downloadError]="lease.id ? (workspace.leaseDownloadErrors()[lease.id] ?? '') : ''"
+ [downloading]="!!lease.id && workspace.leaseDownloading(lease.id)"
+ [downloadError]="lease.id ? workspace.leaseDownloadError(lease.id) : ''"
(pdfRequested)="workspace.downloadLeasePdf($event)"
(deleteRequested)="workspace.deleteLease($event)"
/>
diff --git a/frontend/src/app/components/leases-page/leases-page.spec.ts b/frontend/src/app/components/leases-page/leases-page.spec.ts
index fb246ec..14524b4 100644
--- a/frontend/src/app/components/leases-page/leases-page.spec.ts
+++ b/frontend/src/app/components/leases-page/leases-page.spec.ts
@@ -17,8 +17,11 @@ describe('LeasesPage', () => {
saveLease: vi.fn(),
deleteLease: vi.fn(),
downloadLeasePdf: vi.fn(),
- leaseSaving: signal(false),
- leaseSaveError: signal(''),
+ leaseSaving: vi.fn(() => false),
+ leaseSaveError: vi.fn(() => ''),
+ clearLeaseSaveError: vi.fn(),
+ leaseDownloading: vi.fn(() => false),
+ leaseDownloadError: vi.fn(() => ''),
};
beforeEach(() => {
diff --git a/frontend/src/app/components/leases-page/leases-page.ts b/frontend/src/app/components/leases-page/leases-page.ts
index 6277db2..77cd4a6 100644
--- a/frontend/src/app/components/leases-page/leases-page.ts
+++ b/frontend/src/app/components/leases-page/leases-page.ts
@@ -41,7 +41,7 @@ export class LeasesPage {
}
openForm(): void {
- this.workspace.leaseSaveError.set('');
+ this.workspace.clearLeaseSaveError();
this.showForm.set(true);
}
closeForm(): void {
diff --git a/frontend/src/app/components/tenant-card/tenant-card.spec.ts b/frontend/src/app/components/tenant-card/tenant-card.spec.ts
index 237dbef..5bf2503 100644
--- a/frontend/src/app/components/tenant-card/tenant-card.spec.ts
+++ b/frontend/src/app/components/tenant-card/tenant-card.spec.ts
@@ -41,6 +41,23 @@ describe('TenantCard', () => {
expect(fixture.nativeElement.textContent).toContain('Envoi : 50 %');
});
+ it('falls back to indeterminate upload feedback when no total is available', () => {
+ const fixture = TestBed.createComponent(TenantCard);
+ fixture.componentRef.setInput('tenant', {
+ id: 'tenant-1',
+ firstName: 'Camille',
+ lastName: 'Martin',
+ email: 'camille@example.com',
+ phone: '',
+ address: '',
+ });
+ fixture.componentRef.setInput('uploading', true);
+ fixture.detectChanges();
+
+ expect(fixture.nativeElement.textContent).toContain('Envoi…');
+ expect(fixture.nativeElement.querySelector('mat-progress-bar')).not.toBeNull();
+ });
+
it('shows progress only on the selected attachment download', () => {
const fixture = TestBed.createComponent(TenantCard);
fixture.componentRef.setInput('tenant', {
diff --git a/frontend/src/app/components/tenant-form/tenant-form.css b/frontend/src/app/components/tenant-form/tenant-form.css
index 6c178d7..79b97dc 100644
--- a/frontend/src/app/components/tenant-form/tenant-form.css
+++ b/frontend/src/app/components/tenant-form/tenant-form.css
@@ -26,12 +26,6 @@
border-radius: 22px;
background: var(--surface);
}
-fieldset {
- min-width: 0;
- margin: 0;
- padding: 0;
- border: 0;
-}
.alert-error {
margin-bottom: 18px;
padding: 13px 15px;
@@ -40,11 +34,6 @@ fieldset {
background: var(--danger-soft);
color: var(--danger);
}
-.primary-action mat-spinner {
- display: inline-block;
- margin-right: 8px;
- vertical-align: middle;
-}
.form-grid {
display: grid;
gap: 2px;
diff --git a/frontend/src/app/components/tenant-form/tenant-form.html b/frontend/src/app/components/tenant-form/tenant-form.html
index 14ff2c7..85101ec 100644
--- a/frontend/src/app/components/tenant-form/tenant-form.html
+++ b/frontend/src/app/components/tenant-form/tenant-form.html
@@ -25,7 +25,10 @@
@if (saveError()) {
{{ saveError() }}
}
-