feat: UI improvements — foto de perfil, tab-bar Samsung, toast dismiss y mejoras de equipo
- Foto de perfil (con fallback a icono) en contratos, viewsuppliers, team y assign-technician
- Eliminado item "Tarjetas" del side menu y sus rutas del router
- Fix tab-bar cortado en Samsung: --padding-start/end: 2px en ion-tab-button (global.scss)
- Safe area vars explícitas en variables.scss para edge-to-edge en Android
- Botón X para cerrar toasts manualmente (alert.service.ts)
- ion-input de equipo: ion-label separado para evitar color verde de validación en focus
- ion-textarea report-discussion: --highlight-height: 0 y fondo adaptable al tema
- Enter en textarea de discusión envía el mensaje
- HTML en alertas de equipo vía querySelector('.alert-message').innerHTML
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -14,7 +14,7 @@
|
||||
|
||||
<ng-container *ngIf="loading">
|
||||
<ion-card *ngFor="let _ of [1,2]">
|
||||
<ion-item style="--border-color: #fff">
|
||||
<ion-item class="no-separator">
|
||||
<ion-label>
|
||||
<ion-skeleton-text [animated]="true" style="width: 55%; height: 18px; margin-bottom: 8px"></ion-skeleton-text>
|
||||
<ion-skeleton-text [animated]="true" style="width: 85%"></ion-skeleton-text>
|
||||
@@ -31,7 +31,11 @@
|
||||
<ng-container *ngIf="!loading">
|
||||
<ng-container *ngFor="let ccontract of ccontracts; let i = index">
|
||||
<ion-card *ngIf="ccontract.status==1">
|
||||
<ion-item style="--border-color: #fff">
|
||||
<ion-item class="no-separator">
|
||||
<ion-avatar slot="start">
|
||||
<img *ngIf="ccontract.profile_photo" [src]="ccontract.profile_photo" (error)="ccontract.profile_photo=null">
|
||||
<ion-icon *ngIf="!ccontract.profile_photo" name="person-circle" style="width:100%;height:100%;color:var(--ion-color-medium)"></ion-icon>
|
||||
</ion-avatar>
|
||||
<ion-label>
|
||||
<h2 *ngIf="lang===true" class="ion-text-capitalize">{{ ccontract.category }}</h2>
|
||||
<h2 *ngIf="lang===false" class="ion-text-capitalize">{{ ccontract.en_category }}</h2>
|
||||
@@ -43,8 +47,10 @@
|
||||
<h2 class="ion-text-wrap">{{'contracts.start_pin' | translate}}<b>{{ ccontract.code }}</b></h2>
|
||||
<p class="ion-text-wrap">{{'contracts.info_pin' | translate}}</p>
|
||||
</ion-label>
|
||||
</ion-item>
|
||||
<ion-button *ngIf="ccontract.past_due < 0" style="height: 4.0em; padding-right: 1.0em; padding-bottom:1.0em; float: right" color="danger" (click)="cancelContract(ccontract.id, ccontract.date)">{{'contracts.cancel_1.1' | translate}}<br>{{'contracts.cancel_1.2' | translate}}</ion-button>
|
||||
</ion-item>
|
||||
<div *ngIf="ccontract.past_due < 0" style="display: flex; justify-content: flex-end; padding: 0.5em 1em 1.25em;">
|
||||
<ion-button style="height: 4.0em" color="danger" (click)="cancelContract(ccontract.id, ccontract.date)">{{'contracts.cancel_1.1' | translate}}<br>{{'contracts.cancel_1.2' | translate}}</ion-button>
|
||||
</div>
|
||||
</ion-card>
|
||||
</ng-container>
|
||||
</ng-container>
|
||||
|
||||
Reference in New Issue
Block a user