produzione 1 #9

Merged
JoeKung merged 135 commits from dev into main 2026-03-03 09:58:04 +01:00
Showing only changes of commit 44d99b0a68 - Show all commits

View File

@@ -1,64 +1,79 @@
<div class="container hero"> <div class="container hero">
<h1>{{ 'CALC.TITLE' | translate }}</h1> <h1>{{ 'CALC.TITLE' | translate }}</h1>
<p class="subtitle">{{ 'CALC.SUBTITLE' | translate }}</p> <p class="subtitle">{{ 'CALC.SUBTITLE' | translate }}</p>
@if (orderSuccess()) {
<app-alert type="success">{{ 'USER_DETAILS.ORDER_SUCCESS' | translate }}</app-alert>
}
@if (error()) {
<app-alert type="error">{{ 'CALC.ERROR_GENERIC' | translate }}</app-alert>
}
</div> </div>
<div class="container content-grid"> @if (step() === 'details' && result()) {
<!-- Left Column: Input --> <div class="container">
<div class="col-input"> <app-user-details
<app-card> [quote]="result()!"
<div class="mode-selector"> (submitOrder)="onSubmitOrder($event)"
<div class="mode-option" (cancel)="onCancelDetails()">
[class.active]="mode() === 'easy'" </app-user-details>
(click)="mode.set('easy')"> </div>
{{ 'CALC.MODE_EASY' | translate }} } @else {
</div> <div class="container content-grid">
<div class="mode-option" <!-- Left Column: Input -->
[class.active]="mode() === 'advanced'" <div class="col-input">
(click)="mode.set('advanced')"> <app-card>
{{ 'CALC.MODE_ADVANCED' | translate }} <div class="mode-selector">
</div> <div class="mode-option"
</div> [class.active]="mode() === 'easy'"
(click)="mode.set('easy')">
<app-upload-form {{ 'CALC.MODE_EASY' | translate }}
#uploadForm
[mode]="mode()"
[loading]="loading()"
[uploadProgress]="uploadProgress()"
(submitRequest)="onCalculate($event)"
></app-upload-form>
</app-card>
</div>
<!-- Right Column: Result or Info -->
<div class="col-result" #resultCol>
@if (error()) {
<app-alert type="error">Si è verificato un errore durante il calcolo del preventivo.</app-alert>
}
@if (loading()) {
<app-card class="loading-state">
<div class="loader-content">
<div class="spinner"></div>
<h3 class="loading-title">Analisi in corso...</h3>
<p class="loading-text">Stiamo analizzando la geometria e calcolando il percorso utensile.</p>
</div> </div>
<div class="mode-option"
[class.active]="mode() === 'advanced'"
(click)="mode.set('advanced')">
{{ 'CALC.MODE_ADVANCED' | translate }}
</div>
</div>
<app-upload-form
#uploadForm
[mode]="mode()"
[loading]="loading()"
[uploadProgress]="uploadProgress()"
(submitRequest)="onCalculate($event)"
></app-upload-form>
</app-card> </app-card>
} @else if (result()) { </div>
<app-quote-result
[result]="result()!" <!-- Right Column: Result or Info -->
(consult)="onConsult()" <div class="col-result" #resultCol>
(itemChange)="uploadForm.updateItemQuantityByName($event.fileName, $event.quantity)"
></app-quote-result> @if (loading()) {
} @else { <app-card class="loading-state">
<app-card> <div class="loader-content">
<h3>{{ 'CALC.BENEFITS_TITLE' | translate }}</h3> <div class="spinner"></div>
<ul class="benefits"> <h3 class="loading-title">Analisi in corso...</h3>
<li>{{ 'CALC.BENEFITS_1' | translate }}</li> <p class="loading-text">Stiamo analizzando la geometria e calcolando il percorso utensile.</p>
<li>{{ 'CALC.BENEFITS_2' | translate }}</li> </div>
<li>{{ 'CALC.BENEFITS_3' | translate }}</li> </app-card>
</ul> } @else if (result()) {
</app-card> <app-quote-result
} [result]="result()!"
</div> (consult)="onConsult()"
</div> (proceed)="onProceed()"
(itemChange)="uploadForm.updateItemQuantityByName($event.fileName, $event.quantity)"
></app-quote-result>
} @else {
<app-card>
<h3>{{ 'CALC.BENEFITS_TITLE' | translate }}</h3>
<ul class="benefits">
<li>{{ 'CALC.BENEFITS_1' | translate }}</li>
<li>{{ 'CALC.BENEFITS_2' | translate }}</li>
<li>{{ 'CALC.BENEFITS_3' | translate }}</li>
</ul>
</app-card>
}
</div>
</div>
}