From 7bb5c2e00fbaa53d531af61085ea3871ef78e7f3 Mon Sep 17 00:00:00 2001 From: "s.esmaeili" Date: Thu, 8 Oct 2026 16:40:10 +0330 Subject: [PATCH] chore(apps): remove unused code and packages (DEAD-01, DEAD-02, DEAD-03) Owner approved the deletions. Found by walking imports from each app's main.ts; sw.ts stays (the PWA plugin's entry). - user-app: 8 unreachable components, loadingStore. - user-app-v2: 11 unreachable components, loadingStore. - both: the unused validators and price helpers, and the gsap and @ant-design/icons-vue packages. - the stray root user-app-v2/ folder (an old package.json and vite.config.ts that nothing referenced). Both apps type-check clean. Co-Authored-By: Claude Opus 5.5 --- apps/user-app-v2/package.json | 8 +- apps/user-app-v2/src/components/ViewAll.vue | 19 -- .../src/components/home/AccountStrip.vue | 229 ------------------ .../src/components/home/CategoryRail.vue | 94 ------- .../src/components/home/ShowcaseCard.vue | 156 ------------ .../src/components/home/ShowcaseSlider.vue | 201 --------------- .../src/components/product/Category.vue | 45 ---- .../src/components/slider/HomeSlider.vue | 146 ----------- .../src/components/slider/Slider.vue | 139 ----------- .../src/components/ui/ContentWrapper.vue | 12 - .../src/components/ui/ScrollFetch.vue | 41 ---- .../components/ui/ScrollFetchAfterSearch.vue | 48 ---- apps/user-app-v2/src/stores/loadingStore.ts | 14 -- apps/user-app-v2/src/utils/filters.ts | 14 -- apps/user-app-v2/src/utils/validator.ts | 23 +- apps/user-app/package.json | 8 +- apps/user-app/src/components/ViewAll.vue | 19 -- .../src/components/home/AccountStrip.vue | 229 ------------------ .../src/components/product/Category.vue | 45 ---- .../src/components/slider/HomeSlider.vue | 146 ----------- .../user-app/src/components/slider/Slider.vue | 139 ----------- .../src/components/ui/ContentWrapper.vue | 12 - .../src/components/ui/ScrollFetch.vue | 41 ---- .../components/ui/ScrollFetchAfterSearch.vue | 48 ---- apps/user-app/src/stores/loadingStore.ts | 14 -- apps/user-app/src/utils/filters.ts | 14 -- apps/user-app/src/utils/validator.ts | 23 +- docs/parity/ISSUES.md | 6 +- pnpm-lock.yaml | 21 +- user-app-v2/package.json | 38 --- user-app-v2/vite.config.ts | 51 ---- 31 files changed, 13 insertions(+), 2030 deletions(-) delete mode 100644 apps/user-app-v2/src/components/ViewAll.vue delete mode 100644 apps/user-app-v2/src/components/home/AccountStrip.vue delete mode 100644 apps/user-app-v2/src/components/home/CategoryRail.vue delete mode 100644 apps/user-app-v2/src/components/home/ShowcaseCard.vue delete mode 100644 apps/user-app-v2/src/components/home/ShowcaseSlider.vue delete mode 100644 apps/user-app-v2/src/components/product/Category.vue delete mode 100644 apps/user-app-v2/src/components/slider/HomeSlider.vue delete mode 100644 apps/user-app-v2/src/components/slider/Slider.vue delete mode 100644 apps/user-app-v2/src/components/ui/ContentWrapper.vue delete mode 100644 apps/user-app-v2/src/components/ui/ScrollFetch.vue delete mode 100644 apps/user-app-v2/src/components/ui/ScrollFetchAfterSearch.vue delete mode 100644 apps/user-app-v2/src/stores/loadingStore.ts delete mode 100644 apps/user-app/src/components/ViewAll.vue delete mode 100644 apps/user-app/src/components/home/AccountStrip.vue delete mode 100644 apps/user-app/src/components/product/Category.vue delete mode 100644 apps/user-app/src/components/slider/HomeSlider.vue delete mode 100644 apps/user-app/src/components/slider/Slider.vue delete mode 100644 apps/user-app/src/components/ui/ContentWrapper.vue delete mode 100644 apps/user-app/src/components/ui/ScrollFetch.vue delete mode 100644 apps/user-app/src/components/ui/ScrollFetchAfterSearch.vue delete mode 100644 apps/user-app/src/stores/loadingStore.ts delete mode 100644 user-app-v2/package.json delete mode 100644 user-app-v2/vite.config.ts diff --git a/apps/user-app-v2/package.json b/apps/user-app-v2/package.json index f3eb063..60c5cf0 100644 --- a/apps/user-app-v2/package.json +++ b/apps/user-app-v2/package.json @@ -8,19 +8,17 @@ "lint": "eslint \"src/**/*.{ts,vue}\"" }, "dependencies": { - "@ant-design/icons-vue": "^6.1.0", "@gold-bank/shared-types": "workspace:*", + "@lottiefiles/dotlottie-vue": "^0.4.15", "@vueuse/core": "^9.13.0", "ant-design-vue": "^3.2.20", - "gsap": "^3.9.1", "moment-jalaali": "^0.10.0", "pinia": "^2.2.0", "swiper": "^7.4.1", "vant": "^4.0.3", "vue": "^3.5.0", "vue-router": "^4.4.0", - "vue3-lazyload": "^0.2.5-beta", - "@lottiefiles/dotlottie-vue": "^0.4.15" + "vue3-lazyload": "^0.2.5-beta" }, "devDependencies": { "@vitejs/plugin-vue": "^5.1.0", @@ -30,8 +28,8 @@ "tailwindcss": "3.0.18", "typescript": "^5.5.0", "vite": "^5.4.0", - "vue-tsc": "^2.1.0", "vite-plugin-pwa": "^0.20.5", + "vue-tsc": "^2.1.0", "workbox-precaching": "^7.1.0", "workbox-window": "^7.1.0" } diff --git a/apps/user-app-v2/src/components/ViewAll.vue b/apps/user-app-v2/src/components/ViewAll.vue deleted file mode 100644 index c3e1d9a..0000000 --- a/apps/user-app-v2/src/components/ViewAll.vue +++ /dev/null @@ -1,19 +0,0 @@ - - - - diff --git a/apps/user-app-v2/src/components/home/AccountStrip.vue b/apps/user-app-v2/src/components/home/AccountStrip.vue deleted file mode 100644 index 747fe20..0000000 --- a/apps/user-app-v2/src/components/home/AccountStrip.vue +++ /dev/null @@ -1,229 +0,0 @@ - - - - - - diff --git a/apps/user-app-v2/src/components/home/CategoryRail.vue b/apps/user-app-v2/src/components/home/CategoryRail.vue deleted file mode 100644 index ea4252b..0000000 --- a/apps/user-app-v2/src/components/home/CategoryRail.vue +++ /dev/null @@ -1,94 +0,0 @@ - - - - - - diff --git a/apps/user-app-v2/src/components/home/ShowcaseCard.vue b/apps/user-app-v2/src/components/home/ShowcaseCard.vue deleted file mode 100644 index 09cc46e..0000000 --- a/apps/user-app-v2/src/components/home/ShowcaseCard.vue +++ /dev/null @@ -1,156 +0,0 @@ - - - - - - diff --git a/apps/user-app-v2/src/components/home/ShowcaseSlider.vue b/apps/user-app-v2/src/components/home/ShowcaseSlider.vue deleted file mode 100644 index 2ca7eb6..0000000 --- a/apps/user-app-v2/src/components/home/ShowcaseSlider.vue +++ /dev/null @@ -1,201 +0,0 @@ - - - - - - diff --git a/apps/user-app-v2/src/components/product/Category.vue b/apps/user-app-v2/src/components/product/Category.vue deleted file mode 100644 index 901acb1..0000000 --- a/apps/user-app-v2/src/components/product/Category.vue +++ /dev/null @@ -1,45 +0,0 @@ - - - - diff --git a/apps/user-app-v2/src/components/slider/HomeSlider.vue b/apps/user-app-v2/src/components/slider/HomeSlider.vue deleted file mode 100644 index d4b5297..0000000 --- a/apps/user-app-v2/src/components/slider/HomeSlider.vue +++ /dev/null @@ -1,146 +0,0 @@ - - - - - - diff --git a/apps/user-app-v2/src/components/slider/Slider.vue b/apps/user-app-v2/src/components/slider/Slider.vue deleted file mode 100644 index 9a8bdf3..0000000 --- a/apps/user-app-v2/src/components/slider/Slider.vue +++ /dev/null @@ -1,139 +0,0 @@ - - - - - - diff --git a/apps/user-app-v2/src/components/ui/ContentWrapper.vue b/apps/user-app-v2/src/components/ui/ContentWrapper.vue deleted file mode 100644 index 231b872..0000000 --- a/apps/user-app-v2/src/components/ui/ContentWrapper.vue +++ /dev/null @@ -1,12 +0,0 @@ - - - - diff --git a/apps/user-app-v2/src/components/ui/ScrollFetch.vue b/apps/user-app-v2/src/components/ui/ScrollFetch.vue deleted file mode 100644 index 7fb7b45..0000000 --- a/apps/user-app-v2/src/components/ui/ScrollFetch.vue +++ /dev/null @@ -1,41 +0,0 @@ - - - - diff --git a/apps/user-app-v2/src/components/ui/ScrollFetchAfterSearch.vue b/apps/user-app-v2/src/components/ui/ScrollFetchAfterSearch.vue deleted file mode 100644 index 46912d6..0000000 --- a/apps/user-app-v2/src/components/ui/ScrollFetchAfterSearch.vue +++ /dev/null @@ -1,48 +0,0 @@ - - - - diff --git a/apps/user-app-v2/src/stores/loadingStore.ts b/apps/user-app-v2/src/stores/loadingStore.ts deleted file mode 100644 index ed63768..0000000 --- a/apps/user-app-v2/src/stores/loadingStore.ts +++ /dev/null @@ -1,14 +0,0 @@ -// Ported from legacy henza_pwa/src/store/loadingStore.ts — a single global -// loading flag, converted from the hand-rolled ref-class to Pinia. -import { defineStore } from 'pinia' - -export const useLoadingStore = defineStore('loading', { - state: () => ({ - loading: false, - }), - actions: { - setLoading(loading: boolean) { - this.loading = loading - }, - }, -}) diff --git a/apps/user-app-v2/src/utils/filters.ts b/apps/user-app-v2/src/utils/filters.ts index 18901cc..0fdd613 100644 --- a/apps/user-app-v2/src/utils/filters.ts +++ b/apps/user-app-v2/src/utils/filters.ts @@ -11,20 +11,6 @@ export function price(val: number | string | undefined | null): string { return val as any } -export function priceUnit(val: number | string | undefined | null): string { - if (['string', 'number'].includes(typeof val)) { - return `${val!.toString().replace(/\B(?=(\d{3})+(?!\d))/g, ',')} تومان ` - } - return val as any -} - -export function priceUnitRialLess(val: number | string | undefined | null): string { - if (['string', 'number'].includes(typeof val)) { - return `${val!.toString().replace(/\B(?=(\d{3})+(?!\d))/g, ',')} ` - } - return val as any -} - export function jdate(val: string | undefined | null): string { if (val) { // legacy parsed a fixed 'YYYY-MM-DD HH:mm:ss' Laravel timestamp format; diff --git a/apps/user-app-v2/src/utils/validator.ts b/apps/user-app-v2/src/utils/validator.ts index 4261dc9..46b9098 100644 --- a/apps/user-app-v2/src/utils/validator.ts +++ b/apps/user-app-v2/src/utils/validator.ts @@ -1,30 +1,9 @@ // Ported from legacy henza_pwa/src/Mixins/validator/index.ts — same rules, -// same messages, verbatim. +// same messages, verbatim. Only the rules the app uses are kept (DEAD-01/02). export const message = (field: string) => ` مقدار ${field} نا معتبر است ` export const mobile = (field: string) => ({ pattern: /^(\+98|0098|98|0)?9\d{9}$/g, message: message(field), }) -export const phone = (field: string) => ({ - pattern: /^((\+98|0098|98|0)\d1)?\d{8}$/g, - message: message(field), -}) -export const fa = (field: string) => ({ - pattern: /^([؀-ۿﮊپچگ‌ ])+$/, - message: ` مقدار ${field} باید فارسی باشد `, -}) -export const mail = (field: string) => ({ type: 'email', message: message(field) }) -export const url = (field: string) => ({ type: 'url', message: message(field) }) -export const username = (field: string) => ({ - pattern: /^(?!.*\.\.)(?!.*\.$)[^\W][\w.]{0,29}$/gim, - message: ` مقدار ${field} باید شامل حروف و اعداد انگلیسی و _ باشد `, -}) export const required = (field: string) => ({ required: true, message: ` لطفا ${field} را وارد کنید ` }) -export const sheba = (field: string) => ({ pattern: /^IR\d{24}$/gim, message: message(field) }) -export const card = (field: string) => ({ pattern: /^\d{16}$/gim, message: message(field) }) -export const zip = (field: string) => ({ pattern: /^\d{10}$/gim, message: message(field) }) -export const num = (field: string) => ({ pattern: /^\d*$/gim, message: message(field) }) -export const len = (field: string, len: number) => ({ len, message: ` مقدار ${field} باید ${len} کارکتر باشد ` }) -export const max = (field: string, max: number) => ({ max, message: ` مقدار ${field} باید کمتر از ${max} کارکتر باشد ` }) -export const min = (field: string, min: number) => ({ min, message: ` مقدار ${field} باید بیشتر از ${min} کارکتر باشد ` }) diff --git a/apps/user-app/package.json b/apps/user-app/package.json index 92f4a3e..b5df4a3 100644 --- a/apps/user-app/package.json +++ b/apps/user-app/package.json @@ -8,19 +8,17 @@ "lint": "eslint \"src/**/*.{ts,vue}\"" }, "dependencies": { - "@ant-design/icons-vue": "^6.1.0", "@gold-bank/shared-types": "workspace:*", + "@lottiefiles/dotlottie-vue": "^0.4.15", "@vueuse/core": "^9.13.0", "ant-design-vue": "^3.2.20", - "gsap": "^3.9.1", "moment-jalaali": "^0.10.0", "pinia": "^2.2.0", "swiper": "^7.4.1", "vant": "^4.0.3", "vue": "^3.5.0", "vue-router": "^4.4.0", - "vue3-lazyload": "^0.2.5-beta", - "@lottiefiles/dotlottie-vue": "^0.4.15" + "vue3-lazyload": "^0.2.5-beta" }, "devDependencies": { "@vitejs/plugin-vue": "^5.1.0", @@ -30,8 +28,8 @@ "tailwindcss": "3.0.18", "typescript": "^5.5.0", "vite": "^5.4.0", - "vue-tsc": "^2.1.0", "vite-plugin-pwa": "^0.20.5", + "vue-tsc": "^2.1.0", "workbox-precaching": "^7.1.0", "workbox-window": "^7.1.0" } diff --git a/apps/user-app/src/components/ViewAll.vue b/apps/user-app/src/components/ViewAll.vue deleted file mode 100644 index c3e1d9a..0000000 --- a/apps/user-app/src/components/ViewAll.vue +++ /dev/null @@ -1,19 +0,0 @@ - - - - diff --git a/apps/user-app/src/components/home/AccountStrip.vue b/apps/user-app/src/components/home/AccountStrip.vue deleted file mode 100644 index 6d38b79..0000000 --- a/apps/user-app/src/components/home/AccountStrip.vue +++ /dev/null @@ -1,229 +0,0 @@ - - - - - - diff --git a/apps/user-app/src/components/product/Category.vue b/apps/user-app/src/components/product/Category.vue deleted file mode 100644 index 901acb1..0000000 --- a/apps/user-app/src/components/product/Category.vue +++ /dev/null @@ -1,45 +0,0 @@ - - - - diff --git a/apps/user-app/src/components/slider/HomeSlider.vue b/apps/user-app/src/components/slider/HomeSlider.vue deleted file mode 100644 index d4b5297..0000000 --- a/apps/user-app/src/components/slider/HomeSlider.vue +++ /dev/null @@ -1,146 +0,0 @@ - - - - - - diff --git a/apps/user-app/src/components/slider/Slider.vue b/apps/user-app/src/components/slider/Slider.vue deleted file mode 100644 index 9a8bdf3..0000000 --- a/apps/user-app/src/components/slider/Slider.vue +++ /dev/null @@ -1,139 +0,0 @@ - - - - - - diff --git a/apps/user-app/src/components/ui/ContentWrapper.vue b/apps/user-app/src/components/ui/ContentWrapper.vue deleted file mode 100644 index 231b872..0000000 --- a/apps/user-app/src/components/ui/ContentWrapper.vue +++ /dev/null @@ -1,12 +0,0 @@ - - - - diff --git a/apps/user-app/src/components/ui/ScrollFetch.vue b/apps/user-app/src/components/ui/ScrollFetch.vue deleted file mode 100644 index 7fb7b45..0000000 --- a/apps/user-app/src/components/ui/ScrollFetch.vue +++ /dev/null @@ -1,41 +0,0 @@ - - - - diff --git a/apps/user-app/src/components/ui/ScrollFetchAfterSearch.vue b/apps/user-app/src/components/ui/ScrollFetchAfterSearch.vue deleted file mode 100644 index 46912d6..0000000 --- a/apps/user-app/src/components/ui/ScrollFetchAfterSearch.vue +++ /dev/null @@ -1,48 +0,0 @@ - - - - diff --git a/apps/user-app/src/stores/loadingStore.ts b/apps/user-app/src/stores/loadingStore.ts deleted file mode 100644 index ed63768..0000000 --- a/apps/user-app/src/stores/loadingStore.ts +++ /dev/null @@ -1,14 +0,0 @@ -// Ported from legacy henza_pwa/src/store/loadingStore.ts — a single global -// loading flag, converted from the hand-rolled ref-class to Pinia. -import { defineStore } from 'pinia' - -export const useLoadingStore = defineStore('loading', { - state: () => ({ - loading: false, - }), - actions: { - setLoading(loading: boolean) { - this.loading = loading - }, - }, -}) diff --git a/apps/user-app/src/utils/filters.ts b/apps/user-app/src/utils/filters.ts index 18901cc..0fdd613 100644 --- a/apps/user-app/src/utils/filters.ts +++ b/apps/user-app/src/utils/filters.ts @@ -11,20 +11,6 @@ export function price(val: number | string | undefined | null): string { return val as any } -export function priceUnit(val: number | string | undefined | null): string { - if (['string', 'number'].includes(typeof val)) { - return `${val!.toString().replace(/\B(?=(\d{3})+(?!\d))/g, ',')} تومان ` - } - return val as any -} - -export function priceUnitRialLess(val: number | string | undefined | null): string { - if (['string', 'number'].includes(typeof val)) { - return `${val!.toString().replace(/\B(?=(\d{3})+(?!\d))/g, ',')} ` - } - return val as any -} - export function jdate(val: string | undefined | null): string { if (val) { // legacy parsed a fixed 'YYYY-MM-DD HH:mm:ss' Laravel timestamp format; diff --git a/apps/user-app/src/utils/validator.ts b/apps/user-app/src/utils/validator.ts index 4261dc9..46b9098 100644 --- a/apps/user-app/src/utils/validator.ts +++ b/apps/user-app/src/utils/validator.ts @@ -1,30 +1,9 @@ // Ported from legacy henza_pwa/src/Mixins/validator/index.ts — same rules, -// same messages, verbatim. +// same messages, verbatim. Only the rules the app uses are kept (DEAD-01/02). export const message = (field: string) => ` مقدار ${field} نا معتبر است ` export const mobile = (field: string) => ({ pattern: /^(\+98|0098|98|0)?9\d{9}$/g, message: message(field), }) -export const phone = (field: string) => ({ - pattern: /^((\+98|0098|98|0)\d1)?\d{8}$/g, - message: message(field), -}) -export const fa = (field: string) => ({ - pattern: /^([؀-ۿﮊپچگ‌ ])+$/, - message: ` مقدار ${field} باید فارسی باشد `, -}) -export const mail = (field: string) => ({ type: 'email', message: message(field) }) -export const url = (field: string) => ({ type: 'url', message: message(field) }) -export const username = (field: string) => ({ - pattern: /^(?!.*\.\.)(?!.*\.$)[^\W][\w.]{0,29}$/gim, - message: ` مقدار ${field} باید شامل حروف و اعداد انگلیسی و _ باشد `, -}) export const required = (field: string) => ({ required: true, message: ` لطفا ${field} را وارد کنید ` }) -export const sheba = (field: string) => ({ pattern: /^IR\d{24}$/gim, message: message(field) }) -export const card = (field: string) => ({ pattern: /^\d{16}$/gim, message: message(field) }) -export const zip = (field: string) => ({ pattern: /^\d{10}$/gim, message: message(field) }) -export const num = (field: string) => ({ pattern: /^\d*$/gim, message: message(field) }) -export const len = (field: string, len: number) => ({ len, message: ` مقدار ${field} باید ${len} کارکتر باشد ` }) -export const max = (field: string, max: number) => ({ max, message: ` مقدار ${field} باید کمتر از ${max} کارکتر باشد ` }) -export const min = (field: string, min: number) => ({ min, message: ` مقدار ${field} باید بیشتر از ${min} کارکتر باشد ` }) diff --git a/docs/parity/ISSUES.md b/docs/parity/ISSUES.md index fc7e975..5e13f9b 100644 --- a/docs/parity/ISSUES.md +++ b/docs/parity/ISSUES.md @@ -76,9 +76,9 @@ Severity: `Critical` (money loss / security / data loss) · `High` · `Medium` | ID | Severity | Where | Description | |---|---|---|---| -| DEAD-01 | Low | TGT `apps/user-app` | 8 components with no importers, `loadingStore`, `api.getBalance` (zero call sites), unused `gsap` dependency. | -| DEAD-02 | Low | TGT `apps/user-app-v2` | 11 dead components, `loadingStore`, `getBalance`, `priceUnit`/`priceUnitRialLess`, 12 of 15 validators, unused `gsap` + `@ant-design/icons-vue` deps. | -| DEAD-03 | Low | TGT `gold-banking-monorepo/user-app-v2/` (repo root, outside `apps/`) | Stray leftover folder containing only `package.json` and an **older** `vite.config.ts` (hardcoded port 5179, hardcoded proxy, imports a `themeConfig` that doesn't exist there). Not matched by `pnpm-workspace.yaml`, so pnpm ignores it. Left in place — deleting it needs user approval. | +| DEAD-01 | Low | TGT `apps/user-app` | 8 components with no importers, `loadingStore`, `api.getBalance` (zero call sites), unused `gsap` dependency. ✅ **FIXED 2026-10-08** (owner approved): removed 8 unreachable components + loadingStore (found by walking imports from main.ts; sw.ts kept — vite-plugin-pwa entry), the unused validators/price helpers, and the gsap + @ant-design/icons-vue dependencies. getBalance was already gone. | +| DEAD-02 | Low | TGT `apps/user-app-v2` | 11 dead components, `loadingStore`, `getBalance`, `priceUnit`/`priceUnitRialLess`, 12 of 15 validators, unused `gsap` + `@ant-design/icons-vue` deps. ✅ **FIXED 2026-10-08** (owner approved): same for v2: 11 unreachable components + loadingStore, unused validators/price helpers, gsap + @ant-design/icons-vue. | +| DEAD-03 | Low | TGT `gold-banking-monorepo/user-app-v2/` (repo root, outside `apps/`) | Stray leftover folder containing only `package.json` and an **older** `vite.config.ts` (hardcoded port 5179, hardcoded proxy, imports a `themeConfig` that doesn't exist there). Not matched by `pnpm-workspace.yaml`, so pnpm ignores it. Left in place — deleting it needs user approval. ✅ **FIXED 2026-10-08** (owner approved): stray root `user-app-v2/` deleted; nothing referenced it. | | DEAD-04 | Low | REF `henza_server/app/Console/Kernel.php` | `schedule()` is **empty** — no cron. Price refresh / expiry / birthday logic must be driven by OS cron or the `GET /` web route. | | DEAD-05 | Low | REF `henza_server` | PayPing `returnUrl` points at `site/transaction/verify`, which is **not registered in any route file** — the payment callback is unreachable. | diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index c002947..bb964bb 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -132,7 +132,7 @@ importers: version: 10.4.9(esbuild@0.25.12) '@nestjs/testing': specifier: ^10.4.22 - version: 10.4.22(@nestjs/common@10.4.22(class-transformer@0.5.1)(class-validator@0.14.4)(reflect-metadata@0.2.2)(rxjs@7.8.2))(@nestjs/core@10.4.22)(@nestjs/platform-express@10.4.22) + version: 10.4.22(@nestjs/common@10.4.22(class-transformer@0.5.1)(class-validator@0.14.4)(reflect-metadata@0.2.2)(rxjs@7.8.2))(@nestjs/core@10.4.22(@nestjs/common@10.4.22(class-transformer@0.5.1)(class-validator@0.14.4)(reflect-metadata@0.2.2)(rxjs@7.8.2))(@nestjs/platform-express@10.4.22)(reflect-metadata@0.2.2)(rxjs@7.8.2))(@nestjs/platform-express@10.4.22(@nestjs/common@10.4.22(class-transformer@0.5.1)(class-validator@0.14.4)(reflect-metadata@0.2.2)(rxjs@7.8.2))(@nestjs/core@10.4.22)) '@types/bcryptjs': specifier: ^3.0.0 version: 3.0.0 @@ -178,9 +178,6 @@ importers: apps/user-app: dependencies: - '@ant-design/icons-vue': - specifier: ^6.1.0 - version: 6.1.0(vue@3.5.42(typescript@5.9.3)) '@gold-bank/shared-types': specifier: workspace:* version: link:../../packages/shared-types @@ -193,9 +190,6 @@ importers: ant-design-vue: specifier: ^3.2.20 version: 3.2.20(vue@3.5.42(typescript@5.9.3)) - gsap: - specifier: ^3.9.1 - version: 3.15.0 moment-jalaali: specifier: ^0.10.0 version: 0.10.5 @@ -254,9 +248,6 @@ importers: apps/user-app-v2: dependencies: - '@ant-design/icons-vue': - specifier: ^6.1.0 - version: 6.1.0(vue@3.5.42(typescript@5.9.3)) '@gold-bank/shared-types': specifier: workspace:* version: link:../../packages/shared-types @@ -269,9 +260,6 @@ importers: ant-design-vue: specifier: ^3.2.20 version: 3.2.20(vue@3.5.42(typescript@5.9.3)) - gsap: - specifier: ^3.9.1 - version: 3.15.0 moment-jalaali: specifier: ^0.10.0 version: 0.10.5 @@ -3343,9 +3331,6 @@ packages: graceful-fs@4.2.11: resolution: {integrity: sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==} - gsap@3.15.0: - resolution: {integrity: sha512-dMW4CWBTUK1AEEDeZc1g4xpPGIrSf9fJF960qbTZmN/QwZIWY5wgliS6JWl9/25fpTGJrMRtSjGtOmPnfjZB+A==} - handlebars@4.7.9: resolution: {integrity: sha512-4E71E0rpOaQuJR2A3xDZ+GM1HyWYv1clR58tC8emQNeQe3RH7MAzSbat+V0wG78LQBo6m6bzSG/L4pBuCsgnUQ==} engines: {node: '>=0.4.7'} @@ -6762,7 +6747,7 @@ snapshots: transitivePeerDependencies: - chokidar - '@nestjs/testing@10.4.22(@nestjs/common@10.4.22(class-transformer@0.5.1)(class-validator@0.14.4)(reflect-metadata@0.2.2)(rxjs@7.8.2))(@nestjs/core@10.4.22)(@nestjs/platform-express@10.4.22)': + '@nestjs/testing@10.4.22(@nestjs/common@10.4.22(class-transformer@0.5.1)(class-validator@0.14.4)(reflect-metadata@0.2.2)(rxjs@7.8.2))(@nestjs/core@10.4.22(@nestjs/common@10.4.22(class-transformer@0.5.1)(class-validator@0.14.4)(reflect-metadata@0.2.2)(rxjs@7.8.2))(@nestjs/platform-express@10.4.22)(reflect-metadata@0.2.2)(rxjs@7.8.2))(@nestjs/platform-express@10.4.22(@nestjs/common@10.4.22(class-transformer@0.5.1)(class-validator@0.14.4)(reflect-metadata@0.2.2)(rxjs@7.8.2))(@nestjs/core@10.4.22))': dependencies: '@nestjs/common': 10.4.22(class-transformer@0.5.1)(class-validator@0.14.4)(reflect-metadata@0.2.2)(rxjs@7.8.2) '@nestjs/core': 10.4.22(@nestjs/common@10.4.22(class-transformer@0.5.1)(class-validator@0.14.4)(reflect-metadata@0.2.2)(rxjs@7.8.2))(@nestjs/platform-express@10.4.22)(reflect-metadata@0.2.2)(rxjs@7.8.2) @@ -8790,8 +8775,6 @@ snapshots: graceful-fs@4.2.11: {} - gsap@3.15.0: {} - handlebars@4.7.9: dependencies: minimist: 1.2.8 diff --git a/user-app-v2/package.json b/user-app-v2/package.json deleted file mode 100644 index f3eb063..0000000 --- a/user-app-v2/package.json +++ /dev/null @@ -1,38 +0,0 @@ -{ - "name": "user-app-v2", - "version": "0.0.1", - "private": true, - "scripts": { - "dev": "vite", - "build": "vue-tsc -b && vite build", - "lint": "eslint \"src/**/*.{ts,vue}\"" - }, - "dependencies": { - "@ant-design/icons-vue": "^6.1.0", - "@gold-bank/shared-types": "workspace:*", - "@vueuse/core": "^9.13.0", - "ant-design-vue": "^3.2.20", - "gsap": "^3.9.1", - "moment-jalaali": "^0.10.0", - "pinia": "^2.2.0", - "swiper": "^7.4.1", - "vant": "^4.0.3", - "vue": "^3.5.0", - "vue-router": "^4.4.0", - "vue3-lazyload": "^0.2.5-beta", - "@lottiefiles/dotlottie-vue": "^0.4.15" - }, - "devDependencies": { - "@vitejs/plugin-vue": "^5.1.0", - "autoprefixer": "^10.4.2", - "less": "^4.1.2", - "postcss": "^8.4.5", - "tailwindcss": "3.0.18", - "typescript": "^5.5.0", - "vite": "^5.4.0", - "vue-tsc": "^2.1.0", - "vite-plugin-pwa": "^0.20.5", - "workbox-precaching": "^7.1.0", - "workbox-window": "^7.1.0" - } -} diff --git a/user-app-v2/vite.config.ts b/user-app-v2/vite.config.ts deleted file mode 100644 index 8365e40..0000000 --- a/user-app-v2/vite.config.ts +++ /dev/null @@ -1,51 +0,0 @@ -import { defineConfig } from 'vite'; -import vue from '@vitejs/plugin-vue'; -import { VitePWA } from 'vite-plugin-pwa'; -import { $themeLessVars } from './themeConfig/themeConfig'; - -export default defineConfig({ - plugins: [ - vue(), - // Ported from legacy vite.config.ts:18-52. Same injectManifest strategy, - // same src/sw.ts entry, same manifest values (name/colors/icons/display). - VitePWA({ - base: '/', - srcDir: 'src', - filename: 'sw.ts', - strategies: 'injectManifest', - includeAssets: ['favicon.ico'], - // legacy ran the SW in dev too (mode: "development") - devOptions: { enabled: true, type: 'module' }, - manifest: { - name: 'Montzar', - short_name: 'Montzar', - description: 'Montzar', - theme_color: $themeLessVars.primary, - background_color: $themeLessVars.primary, - start_url: '/', - display: 'standalone', - icons: [ - { src: 'icon-192.png', sizes: '192x192', type: 'image/png' }, - { src: '/icon-512.png', sizes: '512x512', type: 'image/png' }, - { src: 'icon-512.png', sizes: '512x512', type: 'image/png', purpose: 'any maskable' }, - ], - }, - }), - ], - server: { - host: '0.0.0.0', - port: 5179, - proxy: { - '/api': 'http://localhost:3000', - '/uploads': 'http://localhost:3000', - }, - }, - css: { - preprocessorOptions: { - less: { - modifyVars: $themeLessVars, - javascriptEnabled: true, - }, - }, - }, -});