feat(ui): standardize design system, modals, sidebar, and form inputs

- Implement unified design system tokens, 10px radius, and IRANSans typography
- Modernize sidebar with Gemini-style collapsed expander, square 1:1 items, and elevated profile flyout
- Standardize all modal dialogs with 16px padding, fixed header/footer, 16px medium title, and sticky bottom actions
- Refactor DealFormView and CustomFieldsSection with standard UiField, UiInput, and UiSelect components
- Add draggable bottom-left QuickCreate floating action button
This commit is contained in:
s.esmaeili
2026-09-12 01:33:07 +03:30
parent 9a991fc1f1
commit 1ae87c97b7
87 changed files with 7844 additions and 5718 deletions
+16 -17
View File
@@ -565,11 +565,10 @@ watch(() => auth.user?.id, () => void load(), { immediate: true });
<style scoped>
.profile {
max-width: 760px;
width: 100%;
max-width: 100%;
min-width: 0;
margin: 0 auto;
padding-bottom: 5.6rem;
margin: 0;
display: grid;
gap: 1rem;
overflow: visible;
@@ -604,7 +603,7 @@ watch(() => auth.user?.id, () => void load(), { immediate: true });
}
.nav-brand {
font-weight: 800;
font-weight: 600;
letter-spacing: -0.04em;
color: #0f766e;
font-size: 1.15rem;
@@ -615,7 +614,7 @@ watch(() => auth.user?.id, () => void load(), { immediate: true });
height: 38px;
border: 0;
background: #fff;
border-radius: 12px;
border-radius: var(--radius);
display: grid;
place-items: center;
color: #334155;
@@ -640,7 +639,7 @@ watch(() => auth.user?.id, () => void load(), { immediate: true });
min-width: 12.75rem;
width: max-content;
background: #fff;
border-radius: 14px;
border-radius: var(--radius);
box-shadow: 0 16px 40px rgba(15, 23, 42, 0.16);
padding: 0.4rem;
display: flex;
@@ -660,7 +659,7 @@ watch(() => auth.user?.id, () => void load(), { immediate: true });
background: none;
border: 0;
padding: 0.68rem 0.8rem;
border-radius: 10px;
border-radius: var(--radius);
color: #0f172a;
font: inherit;
font-weight: 600;
@@ -755,7 +754,7 @@ h1 {
.qa-card {
background: #fff;
border: 0;
border-radius: 16px;
border-radius: var(--radius);
padding: 0.85rem 0.4rem 0.75rem;
display: grid;
justify-items: center;
@@ -770,7 +769,7 @@ h1 {
.qa-ico {
width: 38px;
height: 38px;
border-radius: 12px;
border-radius: var(--radius);
display: grid;
place-items: center;
}
@@ -783,7 +782,7 @@ h1 {
.smart {
background: linear-gradient(135deg, #ecfeff, #f5f3ff);
border: 1px solid #e0e7ff;
border-radius: 20px;
border-radius: var(--radius);
padding: 0.95rem 1rem 0.85rem;
display: grid;
gap: 0.75rem;
@@ -815,7 +814,7 @@ h1 {
.smart-cta {
width: 100%;
border: 0;
border-radius: 12px;
border-radius: var(--radius);
background: #ccfbf1;
color: #0f766e;
font-weight: 700;
@@ -872,7 +871,7 @@ h1 {
.kpi {
background: #fff;
border-radius: 16px;
border-radius: var(--radius);
padding: 0.7rem 0.65rem 0.75rem;
min-width: 0;
box-shadow: 0 6px 16px rgba(15, 23, 42, 0.04);
@@ -906,7 +905,7 @@ h1 {
.kpi-ico {
width: 28px;
height: 28px;
border-radius: 9px;
border-radius: var(--radius);
display: grid;
place-items: center;
margin-bottom: 0.15rem;
@@ -1027,7 +1026,7 @@ h1 {
display: grid;
gap: 0.15rem;
background: #fff;
border-radius: 14px;
border-radius: var(--radius);
padding: 0.85rem 0.95rem;
box-shadow: 0 6px 16px rgba(15, 23, 42, 0.04);
}
@@ -1048,7 +1047,7 @@ h1 {
.info-panel dl {
margin: 0;
background: #fff;
border-radius: 16px;
border-radius: var(--radius);
padding: 0.4rem 1rem;
}
@@ -1087,7 +1086,7 @@ h1 {
bottom: 0.6rem;
margin-top: 0.4rem;
background: #fff;
border-radius: 22px;
border-radius: var(--radius);
box-shadow: 0 12px 32px rgba(15, 23, 42, 0.12);
display: grid;
grid-template-columns: 1fr auto 1fr;
@@ -1183,7 +1182,7 @@ h1 {
.qa-card {
padding: 0.7rem 0.2rem 0.6rem;
font-size: 0.72rem;
border-radius: 14px;
border-radius: var(--radius);
}
.qa-ico {