Files
tehran_taj/apps/user-app-v2/themeConfig/themeConfig.ts
T
s.esmaeili 53a304b5d5 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.
2026-09-18 12:54:45 +03:30

44 lines
1.3 KiB
TypeScript

// 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)