SearchView: Removed the dynamic collection-tile grid (e.g. "پرفروش‌های این هفته") and the "نتایج / N محصول" section header from the UI. Underlying data/filtering logic untouched.

DashboardView ("میز کار"): Rebuilt from scratch with a new structure, distinct from the old card+grid layout but visually aligned with HomeView (same blurred bar, @ink/@wine palette, staged reveal animation on mount):

Single hero card (ink→wine gradient) showing balance, gold/fiat debt, and identity — no quick-action icons inside it anymore.

Live gold rate folded into a slim inline row at the bottom instead of a titled section.
Iterated shadow/spacing on the hero card per feedback (softer, less clipped).
DialogVant / DialogVantOneButton (shared modal components, used in 7+ call sites: Dashboard, Cart, SingleProduct, Register, App): Replaced Vant's default dialog chrome with the app's own rounded-card language — circular icon badge for the illustration, pill-shaped primary/secondary buttons. No call-site markup changed.

LoginView: Rebuilt from scratch — full-bleed dark hero (brand + step copy) overlapped by a floating white form sheet, animated crossfade transition between the mobile-number and OTP steps, same staged entrance animation as Home/Dashboard. All auth logic (API check, OTP stub, session login) unchanged.
This commit is contained in:
s.esmaeili
2026-09-18 12:54:45 +03:30
parent 05fe780c89
commit 53a304b5d5
355 changed files with 22865 additions and 14 deletions
+38
View File
@@ -0,0 +1,38 @@
{
"white": "#fff",
"black": "#000",
"primary": "#1C2D56",
"primaryLighten": "#1C3362",
"secondary": "#8D6A46",
"light": "#f9f9f9",
"grey": "#898989",
"danger": "#E31A1A",
"lightGray": "#A5A5A5",
"lightGray1": "#CACED8",
"lightGray2": "#E8EAEE",
"notify1": "#F4C57A",
"notify2": "#916F48",
"transparent": "transparent",
"current": "currentColor",
"info": "#335CB1",
"gray-50": "#f9fafb",
"gray-100": "#f3f4f6",
"gray-200": "#e5e7eb",
"gray-300": "#d1d5db",
"gray-400": "#9ca3af",
"gray-500": "#6b7280",
"green": "#16a34a",
"red": "#dc2626",
"ink": "#14161A",
"inkSoft": "#22262E",
"inkMuted": "#5B616E",
"inkFaint": "#8A909C",
"wine": "#7A1B33",
"wineDeep": "#5E1427",
"wineSoft": "#A33C55",
"wineWash": "#FBF2F4",
"canvas": "#FFFFFF",
"canvasSoft": "#FAFAFA",
"hairline": "#ECEDEF",
"hairlineSoft": "#F4F5F6"
}
@@ -0,0 +1,43 @@
// Ported from legacy henza_pwa/themeConfig/themeConfig.ts — styling values only.
// (legacy also defined baseURL/coreURL for its own Laravel API here; those are
// out of scope for a presentation-only port and superseded by this app's own
// src/api/client.ts, which already talks to the new NestJS API.)
import data from './colors.json'
const colors = data
const curve = {
none: 0,
xs: 2,
sm: 4,
font: 14,
px: 'px',
}
const vars = {
prefix: 'montzar',
// headers
'font-size': curve.font + curve.px,
'h1-font-size': curve.font * 2 + curve.px,
'h2-font-size': curve.font * 1.74 + curve.px,
'h3-font-size': curve.font * 1.51 + curve.px,
'h4-font-size': curve.font * 1.32 + curve.px,
'h5-font-size': curve.font * 1.2 + curve.px,
'h6-font-size': curve.font * 1.1 + curve.px,
// headers
//ant
'primary-color': colors.secondary,
'link-color': colors.primary,
'heading-color': colors.primary,
'error-color': colors.danger,
'border-radius-base': 5 + curve.px,
'input-padding-horizontal-base': 10 + curve.px,
'input-padding-vertical-base': 10 + curve.px,
'height-lg': '42px',
'height-base': '32px',
'checkbox-size': '20px',
'checkbox-border-radius': '3px',
//ant
'transition-duration': '.5s',
'transition-delay': '.5s',
}
export const $themeLessVars = Object.assign(vars, colors)