Improve dashboard charts, category tree selects, and product AI name fill.

Fix RTL chart ordering with Y-axis and hover values; aggregate website views; refine category picker tree borders and spacing; add one-click FA→EN name translation on add product.

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
Alireza Hassani
2026-08-28 20:39:43 +03:30
co-authored by Cursor
parent 7b2ed7c7b0
commit a412cb82fc
31 changed files with 1222 additions and 226 deletions
@@ -249,9 +249,15 @@
display: flex;
flex-wrap: wrap;
gap: 8px;
max-height: min(42vh, 360px);
overflow-y: auto;
padding: 2px;
}
.chip {
display: inline-flex;
align-items: center;
gap: 7px;
padding: 7px 14px;
font-size: 13px;
font-weight: 500;
@@ -273,6 +279,85 @@
color: var(--primary);
}
.colorSearchWrap {
position: relative;
display: flex;
align-items: center;
margin-bottom: 10px;
}
.colorSearchIcon {
position: absolute;
inset-inline-start: 12px;
color: var(--text-muted);
pointer-events: none;
}
.colorSearchInput {
width: 100%;
min-height: var(--field-height);
padding: var(--field-padding-y) 36px;
font-size: var(--field-font-size);
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;
transition: border-color 0.2s, box-shadow 0.2s;
}
.colorSearchInput::placeholder {
font-family: var(--font-ui);
opacity: 1;
color: var(--text-muted);
}
.colorSearchInput:focus {
border-color: var(--primary);
box-shadow: 0 0 0 3px rgba(var(--primary-rgb) / 0.12);
}
.colorSearchClear {
position: absolute;
inset-inline-end: 8px;
width: 28px;
height: 28px;
display: flex;
align-items: center;
justify-content: center;
color: var(--text-muted);
border-radius: 8px;
}
.colorSearchClear:hover {
background: rgba(148, 163, 184, 0.15);
color: var(--text-primary);
}
.selectedColors {
display: flex;
flex-wrap: wrap;
gap: 8px;
margin-bottom: 10px;
}
.colorSwatch {
width: 12px;
height: 12px;
border-radius: 50%;
flex-shrink: 0;
border: 1px solid rgba(15, 23, 42, 0.12);
box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.35);
}
.colorEmpty {
margin: 0;
font-size: 13px;
color: var(--text-muted);
}
.customValues {
display: flex;
flex-direction: column;