import { defineComponent, onMounted, PropType, ref, watch } from 'vue' import { useUserStore } from '@store/UserStore' import { ICircuit, IImgGallery, IUserFields, IUserProfile } from 'model' import { costanti } from '@costanti' import { shared_consts } from '@/common/shared_vuejs' import { tools } from '@store/Modules/tools' import { useQuasar } from 'quasar' import { CSendCoins } from '@/components/CSendCoins' import { CSaldo } from '@/components/CSaldo' import { useI18n } from '@/boot/i18n' import { useRoute, useRouter } from 'vue-router' import { useCircuitStore } from '@store/CircuitStore' export default defineComponent({ name: 'CMyUser', components: { CSendCoins, CSaldo }, emits: ['setCmd'], props: { mycontact: { type: Object as PropType, required: false, default: null, }, myusername: { type: String, required: false, default: null, }, visu: { type: Number, required: true, }, groupname: { type: String, required: false, default: '', }, circuitname: { type: String, required: false, default: '', }, name: { type: String, required: false, default: '', }, labelextra: { type: String, required: false, default: '', }, labelFooter: { type: String, required: false, default: '', }, notsetcmd: { type: Boolean, required: false, default: false, } }, setup(props, { emit }) { const userStore = useUserStore() const circuitStore = useCircuitStore() const $q = useQuasar() const { t } = useI18n() const $router = useRouter() const $route = useRoute() const username = ref('') const showsendCoinTo = ref(false) const contact = ref(null) const circuit = ref(null) watch(() => props.mycontact, (newval, oldval) => { console.log('watch: mycontact') mounted() }) function mounted() { if (!props.mycontact) { if (props.myusername) { username.value = props.myusername //++Todo: carica contact contact.value = null } } else { if (props.mycontact) { contact.value = props.mycontact username.value = props.mycontact.username } } circuit.value = circuitStore.getCircuitByName(props.circuitname) } function getImgUser(profile: IUserFields) { return userStore.getImgByProfile(profile) } function naviga(path: string) { $router.push(path) } function setCmd($q: any, cmd: number, myusername: string, value: any, dest: string) { if (props.notsetcmd) { tools.setCmd($q, cmd, myusername, value, dest) }else { emit('setCmd', $q, cmd, myusername, value, dest) } } onMounted(mounted) return { contact, costanti, getImgUser, naviga, setCmd, shared_consts, userStore, tools, showsendCoinTo, circuit, } }, })