diff --git a/src/app/core/services/auth/auth.interfaces.ts b/src/app/core/services/auth/auth.interfaces.ts index 1dd4d4d..396521c 100644 --- a/src/app/core/services/auth/auth.interfaces.ts +++ b/src/app/core/services/auth/auth.interfaces.ts @@ -2,6 +2,8 @@ export interface AuthUser { id: number; nombre_apellido: string; email: string; + dni?: string; + telefono?: string; } export interface LoginPayload { diff --git a/src/app/features/store/pages/checkout-page/checkout-data-step.component.html b/src/app/features/store/pages/checkout-page/checkout-data-step.component.html index 3d11f62..5d5a2c7 100644 --- a/src/app/features/store/pages/checkout-page/checkout-data-step.component.html +++ b/src/app/features/store/pages/checkout-page/checkout-data-step.component.html @@ -15,6 +15,7 @@ placeholder="Descripcion" [value]="form().controls.nombre.value" [invalid]="showControlError('nombre')" + [disabled]="form().controls.nombre.disabled" (valueChange)="updateField('nombre', $event)" /> @if (getControlError('nombre'); as errorMessage) { @@ -32,6 +33,7 @@ placeholder="Descripcion" [value]="form().controls.email.value" [invalid]="showControlError('email')" + [disabled]="form().controls.email.disabled" (valueChange)="updateField('email', $event)" /> @if (getControlError('email'); as errorMessage) { @@ -49,6 +51,7 @@ placeholder="Descripcion" [value]="form().controls.dni.value" [invalid]="showControlError('dni')" + [disabled]="form().controls.dni.disabled" (valueChange)="updateField('dni', $event)" /> @if (getControlError('dni'); as errorMessage) { @@ -66,6 +69,7 @@ placeholder="Descripcion" [value]="form().controls.telefono.value" [invalid]="showControlError('telefono')" + [disabled]="form().controls.telefono.disabled" (valueChange)="updateField('telefono', $event)" /> @if (getControlError('telefono'); as errorMessage) { diff --git a/src/app/features/store/pages/checkout-page/checkout-page.component.ts b/src/app/features/store/pages/checkout-page/checkout-page.component.ts index 3689dce..e8647b7 100644 --- a/src/app/features/store/pages/checkout-page/checkout-page.component.ts +++ b/src/app/features/store/pages/checkout-page/checkout-page.component.ts @@ -6,6 +6,7 @@ import { startWith } from 'rxjs'; import { CartService } from '../../../../core/services/cart/cart.service'; import { TenantService } from '../../../../core/services/tenant.service'; import { CheckoutService, CreatePurchasePayload } from '../../../../core/services/checkout.service'; +import { AuthService } from '../../../../core/services/auth/auth.service'; import { BankAccount } from '../../../../core/services/tenant.interface'; import { CartItem } from '../../../../core/services/cart/cart.interface'; import { CartComponent, CartItemMock } from '../../../../shared/components/cart/cart.component'; @@ -35,6 +36,7 @@ export class CheckoutPageComponent { private readonly router = inject(Router); private readonly tenantService = inject(TenantService); private readonly checkoutService = inject(CheckoutService); + private readonly authService = inject(AuthService); @ViewChild(StepperComponent) stepper!: StepperComponent; @@ -84,6 +86,18 @@ export class CheckoutPageComponent { this.form.statusChanges .pipe(startWith(this.form.status)) .subscribe(() => this.isStep1Valid.set(this.form.valid)); + + const user = this.authService.user(); + if (user) { + this.form.patchValue({ + nombre: user.nombre_apellido, + email: user.email, + dni: user.dni ?? '', + telefono: user.telefono ?? '' + }); + this.form.controls.nombre.disable(); + this.form.controls.email.disable(); + } } private mapCartItemToMock(item: CartItem): CartItemMock {