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.
30 lines
1.0 KiB
TypeScript
30 lines
1.0 KiB
TypeScript
import { createApp } from 'vue';
|
|
import { createPinia } from 'pinia';
|
|
import VueLazyLoad from 'vue3-lazyload';
|
|
import App from './App.vue';
|
|
import { router } from './router';
|
|
import Container from './components/ui/Container.vue';
|
|
import Vector from './assets/img/Vector.svg';
|
|
|
|
// Global styles, ported from legacy henza_pwa/src/main.ts — same import order
|
|
// (ant-design-vue's own theme first, then our Less overrides on top). Legacy
|
|
// imported 'vant/lib/index.css' twice (a dead duplicate) — imported once here.
|
|
import './assets/styles/tailwind.css';
|
|
import 'ant-design-vue/dist/antd.less';
|
|
import './assets/styles/style.less';
|
|
import 'vant/lib/index.css';
|
|
|
|
const app = createApp(App);
|
|
|
|
app.use(createPinia());
|
|
app.use(router);
|
|
// Ported from legacy main.ts:32-46 — Vector.svg is both the while-loading and
|
|
// the on-error placeholder, so a missing/failed image paints the brand mark
|
|
// instead of collapsing the layout.
|
|
app.use(VueLazyLoad, {
|
|
loading: Vector,
|
|
error: Vector,
|
|
});
|
|
app.component('container', Container);
|
|
app.mount('#app');
|