produzione 1 #9

Merged
JoeKung merged 135 commits from dev into main 2026-03-03 09:58:04 +01:00
2 changed files with 15 additions and 4 deletions
Showing only changes of commit 819e00e067 - Show all commits

View File

@@ -11,6 +11,7 @@ import { QuoteResultComponent } from './components/quote-result/quote-result.com
import { QuoteRequest, QuoteResult, QuoteEstimatorService } from './services/quote-estimator.service'; import { QuoteRequest, QuoteResult, QuoteEstimatorService } from './services/quote-estimator.service';
import { SuccessStateComponent } from '../../shared/components/success-state/success-state.component'; import { SuccessStateComponent } from '../../shared/components/success-state/success-state.component';
import { Router, ActivatedRoute } from '@angular/router'; import { Router, ActivatedRoute } from '@angular/router';
import { LanguageService } from '../../core/services/language.service';
@Component({ @Component({
selector: 'app-calculator-page', selector: 'app-calculator-page',
@@ -37,7 +38,8 @@ export class CalculatorPageComponent implements OnInit {
constructor( constructor(
private estimator: QuoteEstimatorService, private estimator: QuoteEstimatorService,
private router: Router, private router: Router,
private route: ActivatedRoute private route: ActivatedRoute,
private languageService: LanguageService
) {} ) {}
ngOnInit() { ngOnInit() {
@@ -207,7 +209,10 @@ export class CalculatorPageComponent implements OnInit {
onProceed() { onProceed() {
const res = this.result(); const res = this.result();
if (res && res.sessionId) { if (res && res.sessionId) {
this.router.navigate(['/checkout'], { queryParams: { session: res.sessionId } }); this.router.navigate(
['/', this.languageService.selectedLang(), 'checkout'],
{ queryParams: { session: res.sessionId } }
);
} else { } else {
console.error('No session ID found in quote result'); console.error('No session ID found in quote result');
// Fallback or error handling // Fallback or error handling
@@ -302,7 +307,7 @@ export class CalculatorPageComponent implements OnInit {
message: details message: details
}); });
this.router.navigate(['/contact']); this.router.navigate(['/', this.languageService.selectedLang(), 'contact']);
} }
private isInvalidQuote(result: QuoteResult): boolean { private isInvalidQuote(result: QuoteResult): boolean {

View File

@@ -206,7 +206,13 @@ export class CheckoutComponent implements OnInit {
this.quoteService.createOrder(this.sessionId, orderRequest).subscribe({ this.quoteService.createOrder(this.sessionId, orderRequest).subscribe({
next: (order) => { next: (order) => {
this.router.navigate(['/order', order.id]); const orderId = order?.id ?? order?.orderId;
if (!orderId) {
this.isSubmitting.set(false);
this.error = 'CHECKOUT.ERR_CREATE_ORDER';
return;
}
this.router.navigate(['/', this.languageService.selectedLang(), 'order', orderId]);
}, },
error: (err) => { error: (err) => {
console.error('Order creation failed', err); console.error('Order creation failed', err);