+
+
+ @switch (context()) {
+ @case ('contact') {
+
{{ 'CONTACT.SUCCESS_TITLE' | translate }}
+
{{ 'CONTACT.SUCCESS_DESC' | translate }}
+
{{ 'CONTACT.SEND_ANOTHER' | translate }}
+ }
+ @case ('calc') {
+
{{ 'CALC.ORDER_SUCCESS_TITLE' | translate }}
+
{{ 'CALC.ORDER_SUCCESS_DESC' | translate }}
+
{{ 'CALC.NEW_QUOTE' | translate }}
+ }
+ @case ('shop') {
+
{{ 'SHOP.SUCCESS_TITLE' | translate }}
+
{{ 'SHOP.SUCCESS_DESC' | translate }}
+
{{ 'SHOP.CONTINUE' | translate }}
+ }
+ }
+
diff --git a/frontend/src/app/shared/components/success-state/success-state.component.scss b/frontend/src/app/shared/components/success-state/success-state.component.scss
new file mode 100644
index 0000000..dc86115
--- /dev/null
+++ b/frontend/src/app/shared/components/success-state/success-state.component.scss
@@ -0,0 +1,36 @@
+.success-state {
+ display: flex;
+ flex-direction: column;
+ align-items: center;
+ justify-content: center;
+ text-align: center;
+ padding: var(--space-8) var(--space-4);
+ gap: var(--space-4);
+ min-height: 300px; /* Ensure visual balance */
+
+ .success-icon {
+ width: 64px;
+ height: 64px;
+ color: var(--color-success, #10b981);
+ margin-bottom: var(--space-2);
+
+ svg {
+ width: 100%;
+ height: 100%;
+ }
+ }
+
+ h3 {
+ font-size: 1.5rem;
+ font-weight: 600;
+ color: var(--color-text);
+ margin: 0;
+ }
+
+ p {
+ color: var(--color-text-muted);
+ max-width: 400px;
+ margin-bottom: var(--space-4);
+ line-height: 1.5;
+ }
+}
diff --git a/frontend/src/app/shared/components/success-state/success-state.component.ts b/frontend/src/app/shared/components/success-state/success-state.component.ts
new file mode 100644
index 0000000..3cf4048
--- /dev/null
+++ b/frontend/src/app/shared/components/success-state/success-state.component.ts
@@ -0,0 +1,18 @@
+import { Component, input, output } from '@angular/core';
+import { CommonModule } from '@angular/common';
+import { TranslateModule } from '@ngx-translate/core';
+import { AppButtonComponent } from '../app-button/app-button.component';
+
+export type SuccessContext = 'contact' | 'calc' | 'shop';
+
+@Component({
+ selector: 'app-success-state',
+ standalone: true,
+ imports: [CommonModule, TranslateModule, AppButtonComponent],
+ templateUrl: './success-state.component.html',
+ styleUrl: './success-state.component.scss'
+})
+export class SuccessStateComponent {
+ context = input.required