From f8beee7ba7f5cef6674b48785140f3f926588b1b Mon Sep 17 00:00:00 2001 From: MojtabaSoumi Date: Sat, 2 May 2026 13:58:24 +0330 Subject: [PATCH] 1405/02/12-dev banners feature --- components.d.ts | 2 - package-lock.json | 58 ++++- package.json | 1 + src/components/BasicPacks/BasicModal.vue | 2 + src/models/banner.ts | 47 ++++ src/views/base/home/index.vue | 269 ++++++++++++++++------- src/views/base/user/index.vue | 234 ++++++++++---------- yarn.lock | 43 +++- 8 files changed, 452 insertions(+), 204 deletions(-) create mode 100644 src/models/banner.ts diff --git a/components.d.ts b/components.d.ts index f7798e3..4ea397e 100644 --- a/components.d.ts +++ b/components.d.ts @@ -8,7 +8,6 @@ export {} declare module 'vue' { export interface GlobalComponents { AButton: typeof import('ant-design-vue/es')['Button'] - AConfigProvider: typeof import('ant-design-vue/es')['ConfigProvider'] ADivider: typeof import('ant-design-vue/es')['Divider'] AForm: typeof import('ant-design-vue/es')['Form'] AFormItem: typeof import('ant-design-vue/es')['FormItem'] @@ -22,7 +21,6 @@ declare module 'vue' { ASlider: typeof import('ant-design-vue/es')['Slider'] ASpin: typeof import('ant-design-vue/es')['Spin'] ATag: typeof import('ant-design-vue/es')['Tag'] - ATextarea: typeof import('ant-design-vue/es')['Textarea'] ATooltip: typeof import('ant-design-vue/es')['Tooltip'] BaseDatePicker: typeof import('./src/components/BasicPacks/BaseDatePicker/src/BaseDatePicker.vue')['default'] Basic: typeof import('./src/components/BasicPacks/BaseDatePicker/src/datePick/demo/basic.vue')['default'] diff --git a/package-lock.json b/package-lock.json index 1e8ed4e..4d0558d 100644 --- a/package-lock.json +++ b/package-lock.json @@ -21,6 +21,7 @@ "moment-jalaali": "^0.10.0", "odometer": "^0.4.8", "pinia": "^2.1.4", + "quill": "^2.0.3", "sass": "^1.69.4", "swiper": "^12.1.2", "unocss": "^0.55.1", @@ -5025,6 +5026,12 @@ "node": ">=0.10.0" } }, + "node_modules/eventemitter3": { + "version": "5.0.4", + "resolved": "https://mirror-npm.runflare.com/eventemitter3/-/eventemitter3-5.0.4.tgz", + "integrity": "sha512-mlsTRyGaPBjPedk6Bvw+aqbsXDtoAyAzm5MO7JgU+yVRyMQ5O8bD4Kcci7BS85f93veegeCPkL8R4GLClnjLFw==", + "license": "MIT" + }, "node_modules/execa": { "version": "7.2.0", "resolved": "https://registry.npmjs.org/execa/-/execa-7.2.0.tgz", @@ -5057,8 +5064,7 @@ "node_modules/fast-diff": { "version": "1.3.0", "resolved": "https://registry.npmjs.org/fast-diff/-/fast-diff-1.3.0.tgz", - "integrity": "sha512-VxPP4NqbUjj6MaAOafWeUn2cXWLcCtljklUtZf0Ind4XQ+QPtmA0b18zZy0jIQx+ExRVCR/ZQpBmik5lXshNsw==", - "dev": true + "integrity": "sha512-VxPP4NqbUjj6MaAOafWeUn2cXWLcCtljklUtZf0Ind4XQ+QPtmA0b18zZy0jIQx+ExRVCR/ZQpBmik5lXshNsw==" }, "node_modules/fast-glob": { "version": "3.3.1", @@ -6384,12 +6390,25 @@ "resolved": "https://registry.npmjs.org/lodash-es/-/lodash-es-4.17.21.tgz", "integrity": "sha512-mKnC+QJ9pWVzv+C4/U3rRsHapFfHvQFoFB92e52xeyGMcX6/OlIl78je1u8vePzYZSkkogMPJ2yjxxsb89cxyw==" }, + "node_modules/lodash.clonedeep": { + "version": "4.5.0", + "resolved": "https://mirror-npm.runflare.com/lodash.clonedeep/-/lodash.clonedeep-4.5.0.tgz", + "integrity": "sha512-H5ZhCF25riFd9uB5UCkVKo61m3S/xZk1x4wA6yp/L3RFP6Z/eHH1ymQcGLo7J3GMPfm0V/7m1tryHuGVxpqEBQ==", + "license": "MIT" + }, "node_modules/lodash.debounce": { "version": "4.0.8", "resolved": "https://registry.npmjs.org/lodash.debounce/-/lodash.debounce-4.0.8.tgz", "integrity": "sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow==", "dev": true }, + "node_modules/lodash.isequal": { + "version": "4.5.0", + "resolved": "https://mirror-npm.runflare.com/lodash.isequal/-/lodash.isequal-4.5.0.tgz", + "integrity": "sha512-pDo3lu8Jhfjqls6GkMgpahsF9kCyayhgykjyLMNFTKWrpVdAQtYyB4muAMWozBB4ig/dtWAmsMxLEI8wuz+DYQ==", + "deprecated": "This package is deprecated. Use require('node:util').isDeepStrictEqual instead.", + "license": "MIT" + }, "node_modules/lodash.merge": { "version": "4.6.2", "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz", @@ -6991,6 +7010,12 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/parchment": { + "version": "3.0.0", + "resolved": "https://mirror-npm.runflare.com/parchment/-/parchment-3.0.0.tgz", + "integrity": "sha512-HUrJFQ/StvgmXRcQ1ftY6VEZUq3jA2t9ncFN4F84J/vN0/FPpQF+8FKXb3l6fLces6q0uOHj6NJn+2xvZnxO6A==", + "license": "BSD-3-Clause" + }, "node_modules/parent-module": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", @@ -7303,6 +7328,35 @@ } ] }, + "node_modules/quill": { + "version": "2.0.3", + "resolved": "https://mirror-npm.runflare.com/quill/-/quill-2.0.3.tgz", + "integrity": "sha512-xEYQBqfYx/sfb33VJiKnSJp8ehloavImQ2A6564GAbqG55PGw1dAWUn1MUbQB62t0azawUS2CZZhWCjO8gRvTw==", + "license": "BSD-3-Clause", + "dependencies": { + "eventemitter3": "^5.0.1", + "lodash-es": "^4.17.21", + "parchment": "^3.0.0", + "quill-delta": "^5.1.0" + }, + "engines": { + "npm": ">=8.2.3" + } + }, + "node_modules/quill-delta": { + "version": "5.1.0", + "resolved": "https://mirror-npm.runflare.com/quill-delta/-/quill-delta-5.1.0.tgz", + "integrity": "sha512-X74oCeRI4/p0ucjb5Ma8adTXd9Scumz367kkMK5V/IatcX6A0vlgLgKbzXWy5nZmCGeNJm2oQX0d2Eqj+ZIlCA==", + "license": "MIT", + "dependencies": { + "fast-diff": "^1.3.0", + "lodash.clonedeep": "^4.5.0", + "lodash.isequal": "^4.5.0" + }, + "engines": { + "node": ">= 12.0.0" + } + }, "node_modules/randombytes": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz", diff --git a/package.json b/package.json index 5ba36b4..ab89434 100644 --- a/package.json +++ b/package.json @@ -25,6 +25,7 @@ "moment-jalaali": "^0.10.0", "odometer": "^0.4.8", "pinia": "^2.1.4", + "quill": "^2.0.3", "sass": "^1.69.4", "swiper": "^12.1.2", "unocss": "^0.55.1", diff --git a/src/components/BasicPacks/BasicModal.vue b/src/components/BasicPacks/BasicModal.vue index 90690de..7c03110 100644 --- a/src/components/BasicPacks/BasicModal.vue +++ b/src/components/BasicPacks/BasicModal.vue @@ -13,6 +13,7 @@ :cancel-text="props.cancelText" :wrapClassName="props.wrapClassName" :closable="props.closable" + :destroy-on-close="props.destroyOnClose" > @@ -41,6 +42,7 @@ interface Prop { loading?: boolean wrapClassName?: string closable?: boolean + destroyOnClose?:boolean } const props = withDefaults(defineProps(), { diff --git a/src/models/banner.ts b/src/models/banner.ts new file mode 100644 index 0000000..48de9c2 --- /dev/null +++ b/src/models/banner.ts @@ -0,0 +1,47 @@ +export interface IBanner { + show: boolean + large: string | null + medium: string | null + small: string | null + banner1: string | null + banner2: string | null + banner3: string | null + banner4: string | null + banner5: string | null + banner6: string | null + banner_1_link: string | null + banner_2_link: string | null + banner_3_link: string | null + banner_4_link: string | null + banner_5_link: string | null + banner_6_link: string | null + } +export interface IBenefits { + show: boolean + icon: string | null + caption: string | null + link: string | null + typeClick:string | null + modalText:string|null + } +export interface countryCreator { + caption: string | null + key: string | null + value: string | null +} +export interface priceRange { + min: number | null + max: number | null + key: string | null + value: string | null +} +export interface Categories { + caption: number | null + key: string | null + value: string | null + link: string | null +} +export interface notificationBar { + notifBar_text: string + notifBar_show: boolean +} \ No newline at end of file diff --git a/src/views/base/home/index.vue b/src/views/base/home/index.vue index ae0634c..20e6711 100644 --- a/src/views/base/home/index.vue +++ b/src/views/base/home/index.vue @@ -1,9 +1,9 @@ @@ -970,11 +1066,13 @@ apexchart { /* بنر اسلایدر — ظاهر و نقطه‌های pagination مشابه نمونه */ .banner-swiper { --swiper-pagination-bottom: 0.75rem; + .swiper-slide { display: flex; align-items: center; justify-content: center; } + .swiper-pagination-bullet { width: 0.5rem; height: 0.5rem; @@ -982,6 +1080,7 @@ apexchart { opacity: 1; transition: background 0.2s; } + .swiper-pagination-bullet-active { background: #fff; } diff --git a/src/views/base/user/index.vue b/src/views/base/user/index.vue index 70b8b92..0abf349 100644 --- a/src/views/base/user/index.vue +++ b/src/views/base/user/index.vue @@ -2,17 +2,17 @@
- +
- +
اطلاعات حساب کاربری
نام و نام خانوادگی: @@ -23,8 +23,8 @@
{{ userStore.userInfo?.mobile }}
کد معرف:
@@ -38,131 +38,131 @@
- اشتراک گذاری + {{ getConfigApp('name') == 'garoosi' ? 'دعوت از دوستان' : ' اشتراک گذاری' }} رونوشت
- +
ویرایش اطلاعات کاربری
- +
تغییر رمز عبور
- +
آدرس ها
- +
هشدار قیمت
- +
درباره ما
- +
دریافت طلای فیزیکی
- +
قوانین و مقررات
- - + +
@@ -171,37 +171,38 @@
ویرایش اطلاعات
- +

{{ isLegal.title }}

- + - + - + - + - +
- +
ثبت
@@ -214,20 +215,20 @@
ویرایش رمزعبور
- +
= 6 ? 'block' : 'hidden' ]" - class="text-[12px] mt-1" + class="text-[12px] mt-1" > {{ guideTypePassword.text }}
@@ -235,13 +236,13 @@
- +
ثبت
@@ -254,10 +255,10 @@