1405/02/17-change icon for product in garoosiApp

This commit is contained in:
2026-05-07 15:23:36 +03:30
parent baf6ad96d0
commit dc0026ebc6
3 changed files with 74 additions and 73 deletions
+4
View File
@@ -14,13 +14,16 @@ declare module 'vue' {
AInput: typeof import('ant-design-vue/es')['Input'] AInput: typeof import('ant-design-vue/es')['Input']
AInputPassword: typeof import('ant-design-vue/es')['InputPassword'] AInputPassword: typeof import('ant-design-vue/es')['InputPassword']
AModal: typeof import('ant-design-vue/es')['Modal'] AModal: typeof import('ant-design-vue/es')['Modal']
ARadio: typeof import('ant-design-vue/es')['Radio']
ARadioButton: typeof import('ant-design-vue/es')['RadioButton'] ARadioButton: typeof import('ant-design-vue/es')['RadioButton']
ARadioGroup: typeof import('ant-design-vue/es')['RadioGroup'] ARadioGroup: typeof import('ant-design-vue/es')['RadioGroup']
ASelect: typeof import('ant-design-vue/es')['Select'] ASelect: typeof import('ant-design-vue/es')['Select']
ASelectOption: typeof import('ant-design-vue/es')['SelectOption'] ASelectOption: typeof import('ant-design-vue/es')['SelectOption']
ASlider: typeof import('ant-design-vue/es')['Slider'] ASlider: typeof import('ant-design-vue/es')['Slider']
ASpin: typeof import('ant-design-vue/es')['Spin'] ASpin: typeof import('ant-design-vue/es')['Spin']
ASwitch: typeof import('ant-design-vue/es')['Switch']
ATag: typeof import('ant-design-vue/es')['Tag'] ATag: typeof import('ant-design-vue/es')['Tag']
ATextarea: typeof import('ant-design-vue/es')['Textarea']
ATooltip: typeof import('ant-design-vue/es')['Tooltip'] ATooltip: typeof import('ant-design-vue/es')['Tooltip']
BaseDatePicker: typeof import('./src/components/BasicPacks/BaseDatePicker/src/BaseDatePicker.vue')['default'] BaseDatePicker: typeof import('./src/components/BasicPacks/BaseDatePicker/src/BaseDatePicker.vue')['default']
Basic: typeof import('./src/components/BasicPacks/BaseDatePicker/src/datePick/demo/basic.vue')['default'] Basic: typeof import('./src/components/BasicPacks/BaseDatePicker/src/datePick/demo/basic.vue')['default']
@@ -64,5 +67,6 @@ declare module 'vue' {
TransactionSkeleton: typeof import('./src/components/TransactionSkeleton.vue')['default'] TransactionSkeleton: typeof import('./src/components/TransactionSkeleton.vue')['default']
VanActionSheet: typeof import('vant/es')['ActionSheet'] VanActionSheet: typeof import('vant/es')['ActionSheet']
VanDialog: typeof import('vant/es')['Dialog'] VanDialog: typeof import('vant/es')['Dialog']
VanField: typeof import('vant/es')['Field']
} }
} }
+2 -15
View File
@@ -71,20 +71,7 @@
<div v-else class="text-primary">واریز نقدی</div> <div v-else class="text-primary">واریز نقدی</div>
</div> </div>
<div v-if="getConfigApp('name')=='garoosi'" <div
class="text-center w-full flex-flex-col items-center home_appear_fade_in_up"
style="text-align: -webkit-center"
@click="router.push({name:'buyProduct'})"
>
<div
class="rounded-full w-[50px] h-[50px] bg-primary flex items-center justify-center "
style="border: solid 1px #0A1B37"
>
<Icon class="text-tertiary" icon="vuesax-linear:coin"/>
</div>
<div class="text-primary">محصولات</div>
</div>
<div v-else
class="text-center w-full flex-flex-col items-center home_appear_fade_in_up" class="text-center w-full flex-flex-col items-center home_appear_fade_in_up"
style="text-align: -webkit-center" style="text-align: -webkit-center"
@click="openWholeBalanceVisible()" @click="openWholeBalanceVisible()"
@@ -219,7 +206,7 @@
</div> </div>
</div>--> </div>-->
</div> </div>
<div v-if="userStore.getValueByKey('closed_message') && lastPrice.goldir==0 " <div v-if="userStore.getValueByKey('closed_message') && lastPrice?.goldir==0 "
class="bg-red-50 text-red-600 text-center font-500 py-4 px-2 mt-2 rounded-lg " class="bg-red-50 text-red-600 text-center font-500 py-4 px-2 mt-2 rounded-lg "
v-html="userStore.getValueByKey('closed_message')" v-html="userStore.getValueByKey('closed_message')"
></div> ></div>
+68 -58
View File
@@ -1,5 +1,5 @@
<template> <template>
<div > <div>
<Transition> <Transition>
<div v-if="popVisible" class="top-0 bottom-0 bg-primary wrap-fix z-2000 opacity-60" <div v-if="popVisible" class="top-0 bottom-0 bg-primary wrap-fix z-2000 opacity-60"
@click="popVisible = false"> @click="popVisible = false">
@@ -11,66 +11,66 @@
<div class="flex items-center justify-center bg-white rounded-full w-[30px] h-[30px] mb-2" <div class="flex items-center justify-center bg-white rounded-full w-[30px] h-[30px] mb-2"
@click="popVisible = !popVisible"> @click="popVisible = !popVisible">
<BasicIcon <BasicIcon
icon="vuesax-linear:close-circle" icon="vuesax-linear:close-circle"
/> />
</div> </div>
<div class="flex flex-col items-center gap-2"> <div class="flex flex-col items-center gap-2">
<BasicButton icon-size="16" class="!font-bold w-15rem" <BasicButton icon-size="16" class="!font-bold w-15rem"
@click="$router.push({name: 'user'}); popVisible = false"> @click="$router.push({name: 'user'}); popVisible = false">
<div class="flex gap-2 items-center"> <div class="flex gap-2 items-center">
<BasicIcon icon="vuesax-linear:user" size="16" class="absolute right-2" /> <BasicIcon icon="vuesax-linear:user" size="16" class="absolute right-2"/>
<div>حساب کاربری</div> <div>حساب کاربری</div>
</div> </div>
</BasicButton> </BasicButton>
<BasicButton icon-size="16" class="!font-bold w-15rem" <BasicButton icon-size="16" class="!font-bold w-15rem"
@click="$router.push({name: 'notifyTrigger'}); popVisible = false"> @click="$router.push({name: 'notifyTrigger'}); popVisible = false">
<div class="flex gap-2 items-center"> <div class="flex gap-2 items-center">
<BasicIcon icon="vuesax-linear:bill" size="16" class="absolute right-2" /> <BasicIcon icon="vuesax-linear:bill" size="16" class="absolute right-2"/>
<div>هشدار قیمت</div> <div>هشدار قیمت</div>
</div> </div>
</BasicButton> </BasicButton>
<BasicButton icon-size="16" class="!font-bold w-15rem" <BasicButton icon-size="16" class="!font-bold w-15rem"
@click="$router.push({name: 'about'}); popVisible = false"> @click="$router.push({name: 'about'}); popVisible = false">
<div class="flex gap-2 items-center"> <div class="flex gap-2 items-center">
<BasicIcon icon="vuesax-linear:info-circle" size="16" class="absolute right-2" /> <BasicIcon icon="vuesax-linear:info-circle" size="16" class="absolute right-2"/>
<div>درباره ما</div> <div>درباره ما</div>
</div> </div>
</BasicButton> </BasicButton>
<!-- <BasicButton icon-size="16" class="!font-bold w-15rem"--> <!-- <BasicButton icon-size="16" class="!font-bold w-15rem"-->
<!-- @click="$router.push({name: 'physicalReceive'}); popVisible = false">--> <!-- @click="$router.push({name: 'physicalReceive'}); popVisible = false">-->
<!-- <div class="flex gap-2 items-center">--> <!-- <div class="flex gap-2 items-center">-->
<!-- <BasicIcon icon="vuesax-linear:direct-inbox" size="16" class="absolute right-2" />--> <!-- <BasicIcon icon="vuesax-linear:direct-inbox" size="16" class="absolute right-2" />-->
<!-- <div>دریافت طلای فیزیکی</div>--> <!-- <div>دریافت طلای فیزیکی</div>-->
<!-- </div>--> <!-- </div>-->
<!-- </BasicButton>--> <!-- </BasicButton>-->
<BasicButton icon-size="16" class="!font-bold w-15rem" <BasicButton icon-size="16" class="!font-bold w-15rem"
@click="$router.push({name: 'rules'}); popVisible = false"> @click="$router.push({name: 'rules'}); popVisible = false">
<div class="flex gap-2 items-center"> <div class="flex gap-2 items-center">
<BasicIcon icon="vuesax-linear:task" size="16" class="absolute right-2" /> <BasicIcon icon="vuesax-linear:task" size="16" class="absolute right-2"/>
<div>قوانین و مقررات</div> <div>قوانین و مقررات</div>
</div> </div>
</BasicButton> </BasicButton>
<BasicButton icon-size="16" class="!font-bold w-15rem" <BasicButton icon-size="16" class="!font-bold w-15rem"
@click="$router.push({name: 'giftCard'}); popVisible = false"> @click="$router.push({name: 'giftCard'}); popVisible = false">
<div class="flex gap-2 items-center"> <div class="flex gap-2 items-center">
<BasicIcon icon="vuesax-linear:gift" size="16" class="absolute right-2" /> <BasicIcon icon="vuesax-linear:gift" size="16" class="absolute right-2"/>
<div>ثبت کارت هدیه</div> <div>ثبت کارت هدیه</div>
</div> </div>
</BasicButton> </BasicButton>
<!-- <BasicButton icon-size="16" class="!font-bold w-50vw md:w-full" <!-- <BasicButton icon-size="16" class="!font-bold w-50vw md:w-full"
@click="$router.push({name: 'permissions'}); popVisible = false"> @click="$router.push({name: 'permissions'}); popVisible = false">
<div class="flex gap-2 items-center"> <div class="flex gap-2 items-center">
<BasicIcon icon="vuesax-linear:archive-book" size="16" class="absolute right-2" /> <BasicIcon icon="vuesax-linear:archive-book" size="16" class="absolute right-2" />
<div>مجوز ها</div> <div>مجوز ها</div>
</div> </div>
</BasicButton>--> </BasicButton>-->
<!-- <BasicButton icon-size="16" class="!font-bold w-50vw md:w-full" <!-- <BasicButton icon-size="16" class="!font-bold w-50vw md:w-full"
@click="$router.push({name: 'earnMoney'}); popVisible = false"> @click="$router.push({name: 'earnMoney'}); popVisible = false">
<div class="flex gap-2 items-center"> <div class="flex gap-2 items-center">
<BasicIcon icon="vuesax-linear:dollar-circle" size="16" class="absolute right-2" /> <BasicIcon icon="vuesax-linear:dollar-circle" size="16" class="absolute right-2" />
<div>کسب درآمد</div> <div>کسب درآمد</div>
</div> </div>
</BasicButton>--> </BasicButton>-->
</div> </div>
</div> </div>
</div> </div>
@@ -79,45 +79,54 @@
<router-view v-slot="{ Component, route }"> <router-view v-slot="{ Component, route }">
<!-- Use any custom transition and to `fade` --> <!-- Use any custom transition and to `fade` -->
<transition :name="route.meta.transition || 'fade'"> <transition :name="route.meta.transition || 'fade'">
<component :is="Component" class="!h-[calc(100vh-72px)]" /> <component :is="Component" class="!h-[calc(100vh-72px)]"/>
</transition> </transition>
</router-view> </router-view>
</div> </div>
<!-- <canvas ref="canvas" id="canvas1" width="400" height="80" class="w-full"></canvas>--> <!-- <canvas ref="canvas" id="canvas1" width="400" height="80" class="w-full"></canvas>-->
<div class="bottom-appbar w-auto mx-auto"> <div class="bottom-appbar w-auto mx-auto">
<div class="tabs" <div class="tabs"
:class="userStore.getValueByKey('display_montzar') === 'true' ? 'bottom-1rem' : 'bottom-0' " :class="userStore.getValueByKey('display_montzar') === 'true' ? 'bottom-1rem' : 'bottom-0' "
> >
<div :class="setNavColor('home')" class="tab" @click="setRoute('home')"> <div :class="setNavColor('home')" class="tab" @click="setRoute('home')">
<Icon icon="vuesax-linear:home" /> <Icon icon="vuesax-linear:home"/>
<div class="text-xs mt-1 font-bold">صفحه اصلی</div> <div class="text-xs mt-1 font-bold">صفحه اصلی</div>
</div> </div>
<div :class="setNavColor('transactions')" class="tab" @click="setRoute('transactions')"> <div :class="setNavColor('transactions')" class="tab" @click="setRoute('transactions')">
<Icon icon="vuesax-linear:receipt-item" /> <Icon icon="vuesax-linear:receipt-item"/>
<div class="text-xs mt-1 font-bold">گزارش</div> <div class="text-xs mt-1 font-bold">گزارش</div>
</div> </div>
<div class="main_in" @click="setRoute('buyProduct')"> <div class="main_in" @click="setRoute('buyProduct')">
<div class="text-white circle_in"> <div class="text-white circle_in">
<div class="circle_into" @click="popVisible = !popVisible"> <div class="circle_into" @click="popVisible = !popVisible">
<img <div v-if="getConfigApp('name')=='garoosi'"
class="p-2" class="p-2 text-tertiary flex flex-col justify-center items-center"
:src="config.config.avatar" >
/> <icon icon="vuesax-linear:coin"/>
</div> <div class="text-[9px] font-bold">
<!-- <div class="flex justify-center">خرید </div> محصولات
<div class="flex justify-center">محصول </div>--> </div>
</div> </div>
<img v-else
class="p-2"
:src="config.config.avatar"
/>
</div>
<!-- <div class="flex justify-center">خرید </div>
<div class="flex justify-center">محصول </div>-->
</div>
</div> </div>
<!-- <div :class="setNavColor('buyProduct')" class="tab" @click="setRoute('buyProduct')"> <!-- <div :class="setNavColor('buyProduct')" class="tab" @click="setRoute('buyProduct')">
<Icon icon="vuesax-linear:coin" /> <Icon icon="vuesax-linear:coin" />
<div class="text-xs mt-1 font-bold">خرید محصول</div> <div class="text-xs mt-1 font-bold">خرید محصول</div>
</div>--> </div>-->
<div :class="setNavColor('wallet')" class="tab" @click="setRoute('wallet')"> <div :class="setNavColor('wallet')" class="tab" @click="setRoute('wallet')">
<Icon icon="vuesax-linear:wallet-1" /> <Icon icon="vuesax-linear:wallet-1"/>
<div class="text-xs mt-1 font-bold">کیف پول</div> <div class="text-xs mt-1 font-bold">کیف پول</div>
</div> </div>
<div :class="setNavColor('setting')" class="tab" @click="setRoute('user')"> <div :class="setNavColor('setting')" class="tab" @click="setRoute('user')">
<Icon icon="vuesax-linear:setting-2" /> <Icon icon="vuesax-linear:setting-2"/>
<div class="text-xs mt-1 font-bold">تنظیمات</div> <div class="text-xs mt-1 font-bold">تنظیمات</div>
</div> </div>
</div> </div>
@@ -134,14 +143,15 @@
</template> </template>
<script lang="ts" setup> <script lang="ts" setup>
import { computed, ref } from 'vue' import {computed, ref} from 'vue'
import Icon from '@/components/BasicPacks/BasicIcon.vue' import Icon from '@/components/BasicPacks/BasicIcon.vue'
import router from '@/router' import router from '@/router'
import BasicButton from '@/components/BasicPacks/BasicButton.vue' import BasicButton from '@/components/BasicPacks/BasicButton.vue'
import type { Transaction } from '@/models/transaction' import type {Transaction} from '@/models/transaction'
import BasicIcon from '@/components/BasicPacks/BasicIcon.vue' import BasicIcon from '@/components/BasicPacks/BasicIcon.vue'
import {useConfigStore } from "@/store/configStore"; import {useConfigStore} from "@/store/configStore";
import { useUserStore } from "@/store/userStore"; import {useUserStore} from "@/store/userStore";
import {getConfigApp} from "@/utils/config";
/*onMounted(async () => { /*onMounted(async () => {
const c = await document.getElementById("canvas1"); const c = await document.getElementById("canvas1");
@@ -156,7 +166,7 @@ import { useUserStore } from "@/store/userStore";
})*/ })*/
const userStore = useUserStore() const userStore = useUserStore()
const currentRoute = computed(() => router.currentRoute.value.name) const currentRoute = computed(() => router.currentRoute.value.name)
const config=useConfigStore() const config = useConfigStore()
const popVisible = ref(false) const popVisible = ref(false)
function setNavColor(val: string) { function setNavColor(val: string) {
@@ -169,7 +179,7 @@ function setNavColor(val: string) {
function setRoute(val: string) { function setRoute(val: string) {
popVisible.value = false popVisible.value = false
router.push({ name: val }) router.push({name: val})
} }
</script> </script>
@@ -185,11 +195,11 @@ function setRoute(val: string) {
justify-content: space-evenly; justify-content: space-evenly;
bottom: 0; bottom: 0;
right: 0; right: 0;
left:0; left: 0;
@media screen and (min-width: 426px) { @media screen and (min-width: 426px) {
width: 426px; width: 426px;
margin: 0 auto; margin: 0 auto;
} }
.tabs { .tabs {
display: flex; display: flex;
@@ -230,7 +240,7 @@ function setRoute(val: string) {
background-color: @App-primary-color; background-color: @App-primary-color;
.circle_into { .circle_into {
overflow:hidden; overflow: hidden;
@apply bg-primary; @apply bg-primary;
border-radius: 100%; border-radius: 100%;
width: 56px; width: 56px;