Share customer session cookies with the storefront and polish business settings.

Keep JWT login mirrored on the tenant cookie domain, improve e-payment settings UX, and add a storefront link from the customer sidebar.

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
Alireza Hassani
2026-08-25 16:40:52 +03:30
co-authored by Cursor
parent c289de5d2e
commit dc570c1e7f
20 changed files with 463 additions and 159 deletions
@@ -43,10 +43,27 @@
.credentials {
display: grid;
grid-template-columns: repeat(12, minmax(0, 1fr));
gap: 12px 16px;
margin-top: 18px;
padding-top: 18px;
gap: 10px 12px;
margin-top: 14px;
padding-top: 14px;
border-top: 1px solid rgba(148, 163, 184, 0.2);
align-items: end;
}
.credentialsInline {
display: flex;
align-items: center;
gap: 10px 12px;
margin-top: 14px;
padding-top: 14px;
border-top: 1px solid rgba(148, 163, 184, 0.2);
}
.credentialsDisabled {
filter: blur(2px);
opacity: 0.55;
pointer-events: none;
user-select: none;
}
.field {
@@ -54,8 +71,38 @@
min-width: 0;
}
.fullRow {
grid-column: 1 / -1;
.inlineLabel {
flex-shrink: 0;
font-size: 12px;
font-weight: 500;
color: var(--text-secondary);
white-space: nowrap;
}
.inlineInput {
flex: 1;
min-width: 0;
min-height: var(--field-height);
padding: var(--field-padding-y) var(--field-padding-x);
font-size: var(--field-font-size);
line-height: 1.4;
font-family: var(--font-ui);
color: var(--text-primary);
background-color: rgba(255, 255, 255, 0.7);
border: 1px solid rgba(148, 163, 184, 0.35);
border-radius: var(--radius-sm);
outline: none;
box-sizing: border-box;
}
.inlineInput:focus {
border-color: var(--primary);
box-shadow: 0 0 0 3px rgba(var(--primary-rgb) / 0.12);
}
.inlineInput:disabled {
opacity: 0.7;
cursor: not-allowed;
}
.hint {
@@ -90,15 +137,22 @@
border-radius: var(--radius-sm);
}
.passwordToggle:hover {
.passwordToggle:hover:not(:disabled) {
color: var(--text-primary);
background: rgba(148, 163, 184, 0.15);
}
.actions {
grid-column: 1 / -1;
.passwordToggle:disabled {
cursor: not-allowed;
opacity: 0.6;
}
.actionsInline {
grid-column: span 3;
display: flex;
align-items: flex-end;
justify-content: flex-end;
min-width: 0;
}
.saveBtn {
@@ -112,6 +166,8 @@
font-weight: 600;
font-family: var(--font-ui);
cursor: pointer;
flex-shrink: 0;
white-space: nowrap;
}
.saveBtn:disabled {
@@ -143,10 +199,35 @@
grid-template-columns: 1fr;
}
.field {
.field,
.actionsInline {
grid-column: 1 / -1;
}
.actionsInline {
justify-content: stretch;
}
.actionsInline .saveBtn {
width: 100%;
}
.credentialsInline {
flex-wrap: wrap;
}
.inlineLabel {
width: 100%;
}
.inlineInput {
flex: 1 1 100%;
}
.credentialsInline .saveBtn {
width: 100%;
}
.gatewayHeader {
flex-direction: column;
}