++Strette di Mano

This commit is contained in:
Surya Paolo
2023-01-08 02:17:15 +01:00
parent 865e1ad738
commit 4d40efc73a
19 changed files with 309 additions and 186 deletions

View File

@@ -78,11 +78,11 @@ export default defineComponent({
})
}
function loadProfile() {
async function loadProfile() {
// Carica il profilo di quest'utente
userStore.loadUserProfile({username: userStore.my.username}).then((ris) => {
await userStore.loadUserProfile({username: userStore.my.username}).then((ris) => {
myuser.value = ris
console.log('myuser._id', ris)
// console.log('myuser._id', ris)
})
}

View File

@@ -10,6 +10,7 @@ import { CMyGroup } from '@/components/CMyGroup'
import { CMyCircuit } from '@/components/CMyCircuit'
import { CNotifAtTop } from '@src/components/CNotifAtTop'
import { CSendCoins } from '@/components/CSendCoins'
import { CContactUser } from '@/components/CContactUser'
import { CTimeAgo } from '@/components/CTimeAgo'
import { CMyUser } from '@/components/CMyUser'
import { CUserNonVerif } from '@/components/CUserNonVerif'
@@ -23,7 +24,7 @@ import { useI18n } from '@/boot/i18n'
import { toolsext } from '@store/Modules/toolsext'
import { useQuasar } from 'quasar'
import { costanti } from '@costanti'
import { ICircuit, IMyCircuit, IMyGroup, IUserFields } from 'model'
import { ICircuit, IFriends, IMyCircuit, IMyGroup, IUserFields } from 'model'
import { shared_consts } from '@/common/shared_vuejs'
import { static_data } from '@/db/static_data'
import { fieldsTable } from '@store/Modules/fieldsTable'
@@ -36,7 +37,7 @@ export default defineComponent({
components: {
CProfile, CTitleBanner, CMyFieldDb, CSkill, CDateTime, CCopyBtn, CUserNonVerif, CMyFieldRec, CMyUser,
CMyGroup, CLabel, CMyCircuit, CSendCoins, CNotifAtTop,
CCheckIfIsLogged, CTimeAgo
CCheckIfIsLogged, CTimeAgo, CContactUser
},
props: {},
setup() {
@@ -52,6 +53,7 @@ export default defineComponent({
const animation = ref('fade')
const quantiHandShake = ref('')
const quanteHandShakeInCommon = ref('')
const usersList = ref({show: false, title: '', list: []})
const username = computed(() => $route.params.username ? $route.params.username.toString() : userStore.my.username)
@@ -65,6 +67,7 @@ export default defineComponent({
const showinghand = ref(false)
const myuser = ref(<IUserFields | null>null)
const handshake_inCommon = ref(<IFriends[]>[])
const actualcard = ref('mygoods')
@@ -89,6 +92,7 @@ export default defineComponent({
async function loadProfile() {
console.log('loadProfile...', username.value)
try {
caricato.value = false
// Carica il profilo di quest'utente
if (username.value) {
await userStore.loadUserProfile({ username: username.value, idnotif: idnotif.value }).then((ris) => {
@@ -99,6 +103,8 @@ export default defineComponent({
notifStore.setAsRead(idnotif.value)
quantiHandShake.value = (myuser.value.profile.handshake ? myuser.value.profile.handshake.length : 0) + ' ' + t('handshake.received')
handshake_inCommon.value = userStore.getMyHandshakeInCommon(myuser.value)
quanteHandShakeInCommon.value = (handshake_inCommon.value ? handshake_inCommon.value.length : 0) + ' ' + t('handshake.incommon')
try {
listgroupsfiltered.value = globalStore.mygroups.filter((grp: IMyGroup) => myuser.value!.profile.mygroups.findIndex((rec: IMyGroup) => rec.groupname === grp.groupname) >= 0)
@@ -146,31 +152,6 @@ export default defineComponent({
return true
}
function getLinkUserTelegram() {
if (myuser.value) {
if (!!myuser.value.profile.username_telegram) {
return 'https://t.me/' + myuser.value.profile.username_telegram
}
} else {
return ''
}
}
function getLinkWebSite() {
if (myuser.value) {
let mysite = myuser.value.profile.website!
if (mysite) {
if (!mysite.startsWith('http')) {
mysite = 'https://' + mysite
}
}
return mysite
} else {
return ''
}
}
function isMyRecord(username: string) {
return username === userStore.my.username
}
@@ -187,8 +168,6 @@ export default defineComponent({
shared_consts,
getImgUser,
checkifShow,
getLinkUserTelegram,
getLinkWebSite,
filtroutente,
showPic,
myusername,
@@ -210,7 +189,9 @@ export default defineComponent({
isDebugOn,
showinghand,
quantiHandShake,
quanteHandShakeInCommon,
usersList,
handshake_inCommon,
}
}
})

View File

@@ -1,9 +1,9 @@
<template>
<div v-if="isDebugOn" class="bg-red text-white">
<div v-if="!!tools.isLogged()">Logged: {{ tools.isLogged() }}</div>
<div v-if="!!tools.isUserOk()">UserOk: {{ tools.isUserOk() }}</div>
<div v-if="caricato">caricato: {{ caricato }}</div>
<div v-if="myuser">myuser: {{ myuser.username }}</div>
<span v-if="!!tools.isLogged()">Logged: {{ tools.isLogged() }}</span> -
<span v-if="!!tools.isUserOk()">UserOk: {{ tools.isUserOk() }}</span> -
<span v-if="caricato">caricato: {{ caricato }}</span> -
<span v-if="myuser">myuser: {{ myuser.username }}</span>
</div>
<div
v-if="!caricato"
@@ -232,8 +232,24 @@
</div>
<q-btn
v-if="handshake_inCommon && handshake_inCommon.length > 0"
:label="quanteHandShakeInCommon"
class="q-my-sm"
:text-color="$q.dark.isActive ? 'black' : 'black'"
rounded
icon="fas fa-handshake"
@click="
usersList.show = true;
usersList.title = 'Strette di mano in Comune';
usersList.list = handshake_inCommon;
"
>
</q-btn>
<q-btn
v-if="myuser.profile && myuser.profile.handshake && myuser.profile.handshake.length > 0"
:label="quantiHandShake"
class="q-my-sm"
:text-color="$q.dark.isActive ? 'black' : 'black'"
rounded
icon="fas fa-handshake"
@click="
@@ -244,6 +260,7 @@
>
</q-btn>
<!--HANDSHAKE-->
<div v-if="!isMyRecord(myuser.username)">
<div
@@ -257,8 +274,8 @@
@click="
tools.addToMyHandShake(
$q,
myuser.username,
userStore.my.username,
myuser.username
)
"
/>
@@ -269,8 +286,8 @@
@click="
tools.refuseReqHandShake(
$q,
myuser.username,
userStore.my.username,
myuser.username
)
"
/>
@@ -441,103 +458,7 @@
/>
</div>
<div class="myrow justify-evenly items-center q-pa-sm q-ma-sm">
<div class="col-md-6 col-sm-6 q-ma-xs col-xs-12">
<q-btn
v-if="getLinkUserTelegram()"
icon="fab fa-telegram"
color="blue"
type="a"
size="md"
rounded
:label="$t('msgs.telegrammsg')"
:href="getLinkUserTelegram()"
target="__blank"
>
</q-btn>
<div v-else-if="myuser.email" class="row">
<CLabel
v-bind="$attrs"
:copy="true"
:value="myuser.email"
:label="$t('reg.email')"
/>
<q-btn
outline
icon="fas fa-envelope"
:color="$q.dark.isActive ? `shite` : `black`"
type="a"
size="md"
:label="$t('msgs.send_email')"
:href="tools.getemailto(myuser.email)"
target="__blank"
>
</q-btn>
</div>
</div>
<div class="col-md-6 col-sm-6 q-ma-xs col-xs-12">
<q-btn
icon="fas fa-house-user"
size="md"
color="orange"
:label="$t('profile.myactivities')"
:to="`/attivita/` + myuser.username"
>
</q-btn>
</div>
<div class="col-md-6 col-sm-6 q-ma-xs col-xs-12">
<q-btn
v-if="
userStore.getMyCircuitsInCommonByUser(myuser).length > 0 &&
myuser.username !== myusername() &&
userStore.my.profile.calc.numGoodsAndServices > 0
"
icon="fas fa-coins"
color="green"
size="md"
rounded
:label="$t('circuit.sendcoins')"
@click="showsendCoinTo = true"
>
</q-btn>
</div>
<div v-if="myuser._id" class="col-md-6 col-sm-6 q-ma-xs col-xs-12">
<q-btn
v-if="getLinkWebSite()"
icon="fas fa-globe"
color="blue"
type="a"
size="md"
rounded
:label="$t('reg.website')"
:href="getLinkWebSite()"
target="__blank"
>
</q-btn>
</div>
</div>
<div class="myrow justify-evenly items-center q-pa-sm q-ma-sm">
<div v-if="myuser._id" class="col-12">
<q-btn
v-if="myuser.username === myusername()"
icon="fas fa-share-alt"
color="blue"
size="md"
rounded
:label="$t('reg.link_reg_and_msg')"
@click="
tools.sendMsgTelegramCmd(
$q,
$t,
shared_consts.MsgTeleg.SHARE_MSGREG,
true
)
"
>
</q-btn>
</div>
</div>
<CContactUser :myuser="myuser" :showBtnActivities="true"/>
</div>
<div
@@ -610,14 +531,6 @@
<img :src="getImgUser()" :alt="username" class="full-width" />
</q-dialog>
<div v-if="showsendCoinTo">
<CSendCoins
:showprop="showsendCoinTo"
:to_user="myuser"
@close="showsendCoinTo = false"
>
</CSendCoins>
</div>
<q-page-sticky
v-if="myuser.username === myusername()"
position="top-right"