@@ -43,12 +36,12 @@
diff --git a/frontend/src/app/shared/components/app-locations/app-locations.component.scss b/frontend/src/app/shared/components/app-locations/app-locations.component.scss
index 2396f8d..1b7f704 100644
--- a/frontend/src/app/shared/components/app-locations/app-locations.component.scss
+++ b/frontend/src/app/shared/components/app-locations/app-locations.component.scss
@@ -34,36 +34,10 @@
}
.location-tabs {
- display: flex;
- gap: 1rem;
margin-bottom: 2rem;
- background: var(--color-bg);
- padding: 0.5rem;
- border-radius: var(--radius-md);
- border: 1px solid var(--color-border);
+ width: 100%;
}
-.tab-btn {
- flex: 1;
- padding: 0.75rem;
- border: none;
- background: transparent;
- border-radius: var(--radius-sm);
- color: var(--color-text-muted);
- font-weight: 600;
- cursor: pointer;
- transition: all 0.2s ease;
-
- &:hover {
- color: var(--color-text-main);
- }
-
- &.active {
- background: var(--color-primary-500);
- color: var(--color-neutral-900);
- box-shadow: var(--shadow-sm);
- }
-}
.location-details {
padding: 2rem;
diff --git a/frontend/src/app/shared/components/app-locations/app-locations.component.ts b/frontend/src/app/shared/components/app-locations/app-locations.component.ts
index 89988ff..b8e3471 100644
--- a/frontend/src/app/shared/components/app-locations/app-locations.component.ts
+++ b/frontend/src/app/shared/components/app-locations/app-locations.component.ts
@@ -2,18 +2,24 @@ import { Component } from '@angular/core';
import { CommonModule } from '@angular/common';
import { TranslateModule } from '@ngx-translate/core';
import { RouterLink } from '@angular/router';
+import { AppToggleSelectorComponent, ToggleOption } from '../app-toggle-selector/app-toggle-selector.component';
@Component({
selector: 'app-locations',
standalone: true,
- imports: [CommonModule, TranslateModule, RouterLink],
+ imports: [CommonModule, TranslateModule, RouterLink, AppToggleSelectorComponent],
templateUrl: './app-locations.component.html',
styleUrl: './app-locations.component.scss'
})
export class AppLocationsComponent {
selectedLocation: 'ticino' | 'bienne' = 'ticino';
- selectLocation(location: 'ticino' | 'bienne') {
+ locationOptions: ToggleOption[] = [
+ { label: 'LOCATIONS.TICINO', value: 'ticino' },
+ { label: 'LOCATIONS.BIENNE', value: 'bienne' },
+ ];
+
+ selectLocation(location: any) {
this.selectedLocation = location;
}
}
diff --git a/frontend/src/app/shared/components/app-toggle-selector/app-toggle-selector.component.html b/frontend/src/app/shared/components/app-toggle-selector/app-toggle-selector.component.html
new file mode 100644
index 0000000..5702aeb
--- /dev/null
+++ b/frontend/src/app/shared/components/app-toggle-selector/app-toggle-selector.component.html
@@ -0,0 +1,9 @@
+
+ @for (option of options(); track option.value) {
+
+ {{ option.label | translate }}
+
+ }
+
diff --git a/frontend/src/app/shared/components/app-toggle-selector/app-toggle-selector.component.scss b/frontend/src/app/shared/components/app-toggle-selector/app-toggle-selector.component.scss
new file mode 100644
index 0000000..6e2737a
--- /dev/null
+++ b/frontend/src/app/shared/components/app-toggle-selector/app-toggle-selector.component.scss
@@ -0,0 +1,34 @@
+:host {
+ display: block;
+}
+
+.user-type-selector {
+ display: flex;
+ background-color: var(--color-neutral-100);
+ border-radius: var(--radius-md);
+ padding: 4px;
+ gap: 4px;
+ width: 100%;
+}
+
+.type-option {
+ flex: 1;
+ text-align: center;
+ padding: 8px 16px;
+ border-radius: var(--radius-sm);
+ cursor: pointer;
+ font-size: 0.875rem;
+ font-weight: 500;
+ color: var(--color-text-muted);
+ transition: all 0.2s ease;
+ user-select: none;
+
+ &:hover { color: var(--color-text); }
+
+ &.selected {
+ background-color: var(--color-brand);
+ color: #000;
+ font-weight: 600;
+ box-shadow: 0 1px 2px rgba(0,0,0,0.05);
+ }
+}
diff --git a/frontend/src/app/shared/components/app-toggle-selector/app-toggle-selector.component.ts b/frontend/src/app/shared/components/app-toggle-selector/app-toggle-selector.component.ts
new file mode 100644
index 0000000..35af98d
--- /dev/null
+++ b/frontend/src/app/shared/components/app-toggle-selector/app-toggle-selector.component.ts
@@ -0,0 +1,26 @@
+import { Component, input, output } from '@angular/core';
+import { CommonModule } from '@angular/common';
+import { TranslateModule } from '@ngx-translate/core';
+
+export interface ToggleOption {
+ label: string;
+ value: any;
+}
+
+@Component({
+ selector: 'app-toggle-selector',
+ standalone: true,
+ imports: [CommonModule, TranslateModule],
+ templateUrl: './app-toggle-selector.component.html',
+ styleUrl: './app-toggle-selector.component.scss'
+})
+export class AppToggleSelectorComponent {
+ options = input.required
();
+ selectedValue = input.required();
+
+ selectionChange = output();
+
+ selectOption(value: any) {
+ this.selectionChange.emit(value);
+ }
+}
diff --git a/frontend/src/assets/i18n/en.json b/frontend/src/assets/i18n/en.json
index 3397f0e..8bdd593 100644
--- a/frontend/src/assets/i18n/en.json
+++ b/frontend/src/assets/i18n/en.json
@@ -107,8 +107,8 @@
"SUBTITLE": "We have two locations to serve you better. Select a location to see details.",
"TICINO": "Ticino",
"BIENNE": "Bienne",
- "ADDRESS_TICINO": "Ticino Office, Switzerland",
- "ADDRESS_BIENNE": "Bienne Office, Switzerland",
+ "ADDRESS_TICINO": "Via G. Pioda 29a, 6710 Biasca (TI)",
+ "ADDRESS_BIENNE": "Lyss-strasse 71, Nidau 2560 Bienne",
"CONTACT_US": "Contact Us"
},
"LEGAL": {
diff --git a/frontend/src/assets/i18n/it.json b/frontend/src/assets/i18n/it.json
index d88c877..b73895c 100644
--- a/frontend/src/assets/i18n/it.json
+++ b/frontend/src/assets/i18n/it.json
@@ -102,7 +102,7 @@
"PROCESSING": "Elaborazione...",
"NOTES_PLACEHOLDER": "Istruzioni specifiche...",
"SETUP_NOTE": "* Include {{cost}} Costo di Setup",
- "STEP_WARNING": "La visualizzazione 3D non è compatibile con i file step e 3mf, ma il calcolatore funziona."
+ "STEP_WARNING": "La visualizzazione 3D non è compatibile con i file step e 3mf"
},
"QUOTE": {
"PROCEED_ORDER": "Procedi con l'ordine",
@@ -170,8 +170,8 @@
"SUBTITLE": "Siamo presenti in due sedi per coprire meglio il territorio. Seleziona la sede per vedere i dettagli.",
"TICINO": "Ticino",
"BIENNE": "Bienne",
- "ADDRESS_TICINO": "Sede Ticino, Svizzera",
- "ADDRESS_BIENNE": "Sede Bienne, Svizzera",
+ "ADDRESS_TICINO": "Via G. Pioda 29a, 6710 Biasca (TI)",
+ "ADDRESS_BIENNE": "Lyss-strasse 71, Nidau 2560 Bienne",
"CONTACT_US": "Contattaci"
},
"LEGAL": {