feat: add previous configuration handling for user selections in quotes

- Implemented session storage management for the last configuration choices made by the user.
- Added functionality to prompt users when changing models to retain their previous selections.
- Introduced methods to apply previous choices to the newly loaded model, including finishes, handles, glass types, and options.
- Enhanced user experience by ensuring selections are automatically applied where applicable.
This commit is contained in:
2026-10-19 19:49:44 +02:00
parent 863e6ca920
commit 06617a985a
197 changed files with 4892 additions and 400 deletions
+89 -4
View File
@@ -326,7 +326,8 @@ body {
width: 92px;
}
.menu-option input[type="radio"] {
.menu-option input[type="radio"],
.menu-option input[type="checkbox"] {
display: none;
}
@@ -389,11 +390,13 @@ body {
text-transform: uppercase;
}
.menu-option input[type="radio"]:checked+.option-content {
.menu-option input[type="radio"]:checked+.option-content,
.menu-option input[type="checkbox"]:checked+.option-content {
border-color: #2b556f;
}
.menu-option input[type="radio"]:checked+.option-content .checkmark {
.menu-option input[type="radio"]:checked+.option-content .checkmark,
.menu-option input[type="checkbox"]:checked+.option-content .checkmark {
display: block;
}
@@ -726,4 +729,86 @@ body {
display: block;
}
}
}
#modal-configurazione-precedente {
position: fixed;
inset: 0;
z-index: 2000;
display: flex;
align-items: center;
justify-content: center;
padding: 16px;
background-color: rgba(0, 0, 0, .5);
}
#modal-configurazione-precedente.d-none {
display: none !important;
}
.modal-cp-box {
width: 100%;
max-width: 440px;
padding: var(--padding-large);
border-radius: 8px;
background-color: #fff;
color: var(--secondary-color);
box-shadow: 0 8px 30px rgba(0, 0, 0, .3);
}
.modal-cp-box h5 {
color: var(--primary-color);
font-weight: bold;
}
.modal-cp-box p {
font-size: var(--font-size-medium);
}
.modal-cp-azioni {
display: flex;
justify-content: flex-end;
flex-wrap: wrap;
gap: 8px;
}
.modal-cp-si {
background-color: var(--primary-color);
color: var(--text-color);
}
.modal-cp-si:hover {
background-color: var(--secondary-color);
color: var(--text-color);
}
#toast {
position: fixed;
top: 20px;
left: 50%;
z-index: 2100;
display: flex;
align-items: center;
gap: 10px;
max-width: calc(100% - 32px);
padding: 12px 20px;
border-radius: 8px;
background-color: var(--primary-color);
color: var(--text-color);
font-size: 14px;
font-weight: bold;
box-shadow: 0 4px 14px rgba(0, 0, 0, .25);
opacity: 0;
pointer-events: none;
transform: translate(-50%, -20px);
transition: opacity .3s, transform .3s;
}
#toast.visibile {
opacity: 1;
transform: translate(-50%, 0);
}
#toast i {
color: #4cd07d;
font-size: 18px;
}