fix strette di mano

This commit is contained in:
Surya Paolo
2023-01-09 04:05:18 +01:00
parent d684d7a46f
commit a9367d5aef
4 changed files with 311 additions and 206 deletions

View File

@@ -3,7 +3,9 @@
<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>
<span v-if="userStore.userprofile"
>userStore.userprofile: {{ userStore.userprofile.username }}</span
>
</div>
<div
v-if="!caricato"
@@ -32,27 +34,33 @@
<div v-else-if="!tools.isLogged()">
<div class="q-gutter-sm q-pa-sm q-pb-md">
<div
v-if="myuser && myuser.date_reg"
v-if="userStore.userprofile && userStore.userprofile.date_reg"
class="fit column no-wrap justify-evenly items-center content-start"
>
<div class="">
<q-avatar size="140px">
<q-img
:src="myuser.profile ? getImgUser(myuser.profile) : ''"
:src="
userStore.userprofile.profile
? getImgUser(userStore.userprofile.profile)
: ''
"
:alt="username"
img-class="imgprofile"
height="140px"
@click="showPic = true"
/>
<q-badge
v-if="tools.isUserOnline(myuser)"
v-if="tools.isUserOnline(userStore.userprofile)"
align="top"
floating
color="green"
>online</q-badge
>
<q-badge
v-if="userStore.IsHandShakeByUsername(myuser.username)"
v-if="
userStore.IsHandShakeByUsername(userStore.userprofile.username)
"
align="bottom"
floating
color="red"
@@ -63,10 +71,10 @@
<div class="last_access">
OnLine:
<CTimeAgo :datetime="myuser.lasttimeonline" />
<CTimeAgo :datetime="userStore.userprofile.lasttimeonline" />
</div>
<div v-if="myuser.reported">
<div v-if="userStore.userprofile.reported">
<CTitleBanner
title="⚠️ L'utente è stato Segnalato per comportamento non idoneo."
bgcolor="bg-red"
@@ -77,75 +85,86 @@
<div v-if="site && site.confpages && site.confpages.showNameSurname">
<div class="text-h6">
<span v-if="checkifShow('name') && myuser.name">
{{ myuser.name }}</span
<span v-if="checkifShow('name') && userStore.userprofile.name">
{{ userStore.userprofile.name }}</span
>
<span v-if="checkifShow('surname') && myuser.surname"
>&nbsp;{{ myuser.surname }}</span
<span v-if="checkifShow('surname') && userStore.userprofile.surname"
>&nbsp;{{ userStore.userprofile.surname }}</span
>
</div>
</div>
<div class="col-12 text-h7 text-blue text-shadow-2">
{{ myuser.username }}
{{ userStore.userprofile.username }}
</div>
<div class="col-12 text-h7">
<span v-if="myuser.profile && myuser.profile.born_city_id">
<span
v-if="
userStore.userprofile.profile &&
userStore.userprofile.profile.born_city_id
"
>
<CMyFieldRec
title=""
table="users"
tablesel="cities"
:id="myuser._id"
:rec="myuser"
:id="userStore.userprofile._id"
:rec="userStore.userprofile"
field="profile.born_city_id"
:canEdit="false"
:canModify="false"
>
</CMyFieldRec>
{{ myuser.profile.born_city_str }}</span
{{ userStore.userprofile.profile.born_city_str }}</span
>
<span
v-if="
myuser.profile &&
myuser.profile.nationality &&
myuser.profile.nationality !== 'Italia'
userStore.userprofile.profile &&
userStore.userprofile.profile.nationality &&
userStore.userprofile.profile.nationality !== 'Italia'
"
>({{ myuser.profile.nationality }})</span
>({{ userStore.userprofile.profile.nationality }})</span
>
</div>
<div v-if="myuser._id" class="col-12 text-h8 q-mt-sm">
<span v-if="myuser.profile.qualifica">
<div v-if="userStore.userprofile._id" class="col-12 text-h8 q-mt-sm">
<span v-if="userStore.userprofile.profile.qualifica">
<em
><span class="qualifica">{{ myuser.profile.qualifica }}</span></em
><span class="qualifica">{{
userStore.userprofile.profile.qualifica
}}</span></em
>
</span>
</div>
<div v-if="myuser._id" class="col-12 text-h8 q-mt-sm">
{{ myuser.profile.biografia }}
<div v-if="userStore.userprofile._id" class="col-12 text-h8 q-mt-sm">
{{ userStore.userprofile.profile.biografia }}
</div>
</div>
</div>
<CCheckIfIsLogged></CCheckIfIsLogged>
</div>
<div v-else-if="tools.isUserOk() || tools.isLogged()">
<div v-if="myuser">
<div v-if="userStore.userprofile">
<CNotifAtTop />
<div class="q-gutter-sm q-pa-sm q-pb-md">
<div
v-if="myuser && myuser.date_reg"
v-if="userStore.userprofile && userStore.userprofile.date_reg"
class="fit column no-wrap justify-evenly items-center content-start"
>
<div class="">
<q-avatar size="140px">
<q-img
:src="myuser.profile ? getImgUser(myuser.profile) : ''"
:src="
userStore.userprofile.profile
? getImgUser(userStore.userprofile.profile)
: ''
"
:alt="username"
img-class="imgprofile"
height="140px"
@click="showPic = true"
/>
<q-badge
v-if="tools.isUserOnline(myuser)"
v-if="tools.isUserOnline(userStore.userprofile)"
align="top"
floating
color="green"
@@ -155,10 +174,11 @@
</div>
<div class="last_access">
OnLine: <CTimeAgo :datetime="myuser.lasttimeonline" />
OnLine:
<CTimeAgo :datetime="userStore.userprofile.lasttimeonline" />
</div>
<div v-if="myuser.reported">
<div v-if="userStore.userprofile.reported">
<CTitleBanner
title="⚠️ L'utente è stato Segnalato per comportamento non idoneo."
bgcolor="bg-red"
@@ -169,62 +189,68 @@
<div v-if="site && site.confpages && site.confpages.showNameSurname">
<div class="text-h6">
<span v-if="checkifShow('name') && myuser.name">
{{ myuser.name }}</span
<span v-if="checkifShow('name') && userStore.userprofile.name">
{{ userStore.userprofile.name }}</span
>
<span v-if="checkifShow('surname') && myuser.surname"
>&nbsp;{{ myuser.surname }}</span
<span
v-if="checkifShow('surname') && userStore.userprofile.surname"
>&nbsp;{{ userStore.userprofile.surname }}</span
>
</div>
</div>
<div class="col-12 text-h7 text-blue text-shadow-2">
{{ myuser.username }}
{{ userStore.userprofile.username }}
</div>
<div class="col-12 text-h7">
<span v-if="myuser.profile && myuser.profile.born_city_id">
<span
v-if="
userStore.userprofile.profile &&
userStore.userprofile.profile.born_city_id
"
>
<CMyFieldRec
title=""
table="users"
tablesel="cities"
:id="myuser._id"
:rec="myuser"
:id="userStore.userprofile._id"
:rec="userStore.userprofile"
field="profile.born_city_id"
:canEdit="false"
:canModify="false"
>
</CMyFieldRec>
{{ myuser.profile.born_city_str }}</span
{{ userStore.userprofile.profile.born_city_str }}</span
>
<span
v-if="
myuser.profile &&
myuser.profile.nationality &&
myuser.profile.nationality !== 'Italia'
userStore.userprofile.profile &&
userStore.userprofile.profile.nationality &&
userStore.userprofile.profile.nationality !== 'Italia'
"
>({{ myuser.profile.nationality }})</span
>({{ userStore.userprofile.profile.nationality }})</span
>
</div>
<div v-if="myuser._id" class="col-12 text-h8 q-mt-sm">
<span v-if="myuser.profile.qualifica">
<div v-if="userStore.userprofile._id" class="col-12 text-h8 q-mt-sm">
<span v-if="userStore.userprofile.profile.qualifica">
<em
><span class="qualifica">{{
myuser.profile.qualifica
userStore.userprofile.profile.qualifica
}}</span></em
>
</span>
</div>
<div v-if="myuser._id" class="col-12 text-h8 q-mt-sm">
{{ myuser.profile.biografia }}
<div v-if="userStore.userprofile._id" class="col-12 text-h8 q-mt-sm">
{{ userStore.userprofile.profile.biografia }}
</div>
<div>
<div class="row justify-center">
<q-btn
v-if="
myuser.profile &&
myuser.profile.handshake &&
myuser.profile.handshake.length > 0
userStore.userprofile.profile &&
userStore.userprofile.profile.handshake &&
userStore.userprofile.profile.handshake.length > 0
"
:label="quantiHandShake"
class="q-my-sm"
@@ -235,13 +261,13 @@
@click="
usersList.show = true;
usersList.title = 'Lista Strette di mano';
usersList.list = myuser.profile.handshake;
usersList.list = userStore.userprofile.profile.handshake;
"
>
</q-btn>
<q-btn
v-if="
myuser.username !== myusername() &&
userStore.userprofile.username !== myusername() &&
handshake_inCommon &&
handshake_inCommon.length > 0
"
@@ -258,74 +284,107 @@
>
</q-btn>
</div>
<q-chip
v-if="
userStore.IsHandShakeByMe(myuser) &&
userStore.IsHandShakeByUsername(myuser.username)
"
color="green"
dense
class="cltexth3 chipbooked shadow-5 q-pa-sm2"
size="lg"
text-color="white"
icon="fas fa-handshake"
>
<span
>&nbsp;<em class="q-pa-xxs text-white rounded-borders shadow-2">
{{ $t('db.both_fiducia', { username: myuser.username }) }}
</em></span
<div v-if="userStore.userprofile.username !== myusername()">
<q-chip
v-if="
userStore.IsHandShakeByMe(userStore.userprofile) &&
userStore.IsHandShakeByUsername(
userStore.userprofile.username
)
"
color="green"
dense
class="chipbooked shadow-5 q-pa-sm2"
size="md"
text-color="white"
icon="fas fa-handshake"
>
</q-chip>
<q-chip
v-else-if="
userStore.IsHandShakeByMe(myuser) &&
!userStore.IsHandShakeByUsername(myuser.username)
"
color="blue"
dense
class="cltexth4 chipbooked shadow-5 q-pa-sm2"
size="md"
text-color="white"
icon="fas fa-handshake"
>
<span
>&nbsp;<em class="q-pa-xxs text-white rounded-borders shadow-2">
{{ $t('db.handshake_him', { username: myuser.username }) }}
</em></span
<span
>&nbsp;<em
class="q-pa-xxs text-white rounded-borders shadow-2"
>
{{
$t('db.both_fiducia', {
username: userStore.userprofile.username,
})
}}
</em></span
>
</q-chip>
<q-chip
v-else-if="
!userStore.IsHandShakeByMe(userStore.userprofile) &&
userStore.IsHandShakeByUsername(
userStore.userprofile.username
)
"
color="blue"
dense
class="cltexth4 chipbooked shadow-5 q-pa-sm2"
size="md"
text-color="white"
icon="fas fa-handshake"
>
</q-chip>
<q-chip
v-else
color="blue"
dense
class="cltexth4 chipbooked shadow-5 q-pa-sm2"
size="md"
text-color="white"
icon="fas fa-handshake"
>
<span
>&nbsp;<em class="q-pa-xxs text-white rounded-borders shadow-2">
{{ $t('db.handshake_you', { username: myuser.username }) }}
</em></span
<span
>&nbsp;<em
class="q-pa-xxs text-white rounded-borders shadow-2"
>
{{
$t('db.handshake_him', {
username: userStore.userprofile.username,
})
}}
</em></span
>
</q-chip>
<q-chip
v-else-if="
userStore.IsHandShakeByMe(userStore.userprofile) &&
!userStore.IsHandShakeByUsername(
userStore.userprofile.username
)
"
color="blue"
dense
class="cltexth4 chipbooked shadow-5 q-pa-sm2"
size="md"
text-color="white"
icon="fas fa-handshake"
>
</q-chip>
<span
>&nbsp;<em
class="q-pa-xxs text-white rounded-borders shadow-2"
>
{{
$t('db.handshake_you', {
username: userStore.userprofile.username,
})
}}
</em></span
>
</q-chip>
</div>
<!--HANDSHAKE-->
<div v-if="!isMyRecord(myuser.username)">
<div v-if="!isMyRecord(userStore.userprofile.username)">
<div
class="row centeritems q-pa-sm"
v-if="!userStore.IsHandShakeByUsername(myuser.username)"
v-if="!userStore.IsHandShakeByMe(userStore.userprofile)"
>
<q-btn
v-if="userStore.IsHandShakeByMe(myuser)"
v-if="
userStore.IsHandShakeByUsername(
userStore.userprofile.username
)
"
icon="fas fa-handshake"
color="positive"
:label="$t('handshake.accept_you_too_handshake')"
@click="
tools.addToMyHandShake(
$q,
myuser.username,
userStore.my.username
userStore.my.username,
userStore.userprofile.username
)
"
/>
@@ -337,8 +396,8 @@
@click="
tools.addToMyHandShake(
$q,
myuser.username,
userStore.my.username
userStore.my.username,
userStore.userprofile.username
)
"
/>
@@ -346,11 +405,18 @@
</div>
</div>
<div v-if="!isMyRecord(myuser.username)" class="q-ma-sm">
<div
v-if="!isMyRecord(userStore.userprofile.username)"
class="q-ma-sm"
>
<div class="row justify-center">
<div
class="row centeritems q-ma-sm q-pa-sm"
v-if="userStore.IsReqFriendByUsername(myuser.username)"
v-if="
userStore.IsReqFriendByUsername(
userStore.userprofile.username
)
"
>
<q-btn
icon="fas fa-user-plus"
@@ -360,7 +426,7 @@
tools.addToMyFriends(
$q,
userStore.my.username,
myuser.username
userStore.userprofile.username
)
"
/>
@@ -372,7 +438,7 @@
tools.refuseReqFriends(
$q,
userStore.my.username,
myuser.username
userStore.userprofile.username
)
"
/>
@@ -380,8 +446,12 @@
<div v-else>
<q-btn
v-if="
!userStore.IsMyFriendByUsername(myuser.username) &&
!userStore.IsAskedFriendByUsername(myuser.username)
!userStore.IsMyFriendByUsername(
userStore.userprofile.username
) &&
!userStore.IsAskedFriendByUsername(
userStore.userprofile.username
)
"
icon="fas fa-user-plus"
color="primary"
@@ -390,7 +460,7 @@
tools.setRequestFriendship(
$q,
userStore.my.username,
myuser.username,
userStore.userprofile.username,
true
)
"
@@ -401,8 +471,9 @@
<div class="row justify-center">
<q-btn
v-if="
userStore.IsMyFriendByUsername(myuser.username) ||
userStore.IsHandShakeByUsername(myuser.username)
userStore.IsMyFriendByUsername(
userStore.userprofile.username
) || userStore.IsHandShakeByMe(userStore.userprofile)
"
class="text-center"
rounded
@@ -411,7 +482,30 @@
<q-menu>
<q-list style="min-width: 150px">
<q-item
v-if="userStore.IsMyFriendByUsername(myuser.username)"
v-if="userStore.IsHandShakeByMe(userStore.userprofile)"
clickable
v-close-popup
@click="
tools.removeFromMyHandShake(
$q,
userStore.my.username,
userStore.userprofile.username
)
"
>
<q-item-section avatar>
<q-icon color="negative" name="fas fa-handshake-slash" />
</q-item-section>
<q-item-section>{{
$t('handshake.remove_from_myhandshake')
}}</q-item-section>
</q-item>
<q-item
v-if="
userStore.IsMyFriendByUsername(
userStore.userprofile.username
)
"
clickable
icon="fas fa-user-minus"
v-close-popup
@@ -419,40 +513,7 @@
tools.removeFromMyFriends(
$q,
userStore.my.username,
myuser.username
)
"
>
<q-item-section>{{
$t('friends.remove_from_myfriends')
}}</q-item-section>
</q-item>
<q-item
v-if="userStore.IsMyFriendByUsername(myuser.username)"
clickable
icon="fas fa-ban"
v-close-popup
@click="
tools.blockUser(
$q,
userStore.my.username,
myuser.username
)
"
>
<q-item-section>{{
$t('friends.block_user')
}}</q-item-section>
</q-item>
<q-item
v-if="userStore.IsMyFriendByUsername(myuser.username)"
clickable
v-close-popup
@click="
tools.reportUser(
$q,
userStore.my.username,
myuser.username
userStore.userprofile.username
)
"
>
@@ -460,23 +521,55 @@
<q-icon color="negative" name="fas fa-user-minus" />
</q-item-section>
<q-item-section>{{
$t('friends.report_user')
$t('friends.remove_from_myfriends')
}}</q-item-section>
</q-item>
<q-item>
<q-btn
v-if="userStore.IsHandShakeByUsername(myuser.username)"
icon="fas fa-handshake-slash"
color="negative"
:label="$t('handshake.remove_from_myhandshake')"
@click="
tools.removeFromMyHandShake(
$q,
userStore.my.username,
myuser.username
)
"
/>
<q-item
v-if="
userStore.IsMyFriendByUsername(
userStore.userprofile.username
)
"
clickable
icon="fas fa-ban"
v-close-popup
@click="
tools.blockUser(
$q,
userStore.my.username,
userStore.userprofile.username
)
"
>
<q-item-section avatar>
<q-icon color="negative" name="fas fa-ban" />
</q-item-section>
<q-item-section>{{
$t('friends.block_user')
}}</q-item-section>
</q-item>
<q-item
v-if="
userStore.IsMyFriendByUsername(
userStore.userprofile.username
)
"
clickable
v-close-popup
@click="
tools.reportUser(
$q,
userStore.my.username,
userStore.userprofile.username
)
"
>
<q-item-section avatar>
<q-icon color="negative" name="fas fa-flag" />
</q-item-section>
<q-item-section>{{
$t('friends.report_user')
}}</q-item-section>
</q-item>
</q-list>
</q-menu>
@@ -484,8 +577,12 @@
<q-btn
v-if="
userStore.IsAskedFriendByUsername(myuser.username) &&
!userStore.IsMyFriendByUsername(myuser.username)
userStore.IsAskedFriendByUsername(
userStore.userprofile.username
) &&
!userStore.IsMyFriendByUsername(
userStore.userprofile.username
)
"
icon="fas fa-user-minus"
:label="$t('friends.cancel_ask_friend_short')"
@@ -493,22 +590,25 @@
tools.cancelReqFriends(
$q,
userStore.my.username,
myuser.username
userStore.userprofile.username
)
"
/>
</div>
</div>
<CContactUser :myuser="myuser" :showBtnActivities="true" />
<CContactUser
:myuser="userStore.userprofile"
:showBtnActivities="true"
/>
</div>
<div
v-if="
myuser &&
myuser._id &&
(userStore.IsMyFriendByUsername(myuser.username) ||
isMyRecord(myuser.username))
userStore.userprofile &&
userStore.userprofile._id &&
(userStore.IsMyFriendByUsername(userStore.userprofile.username) ||
isMyRecord(userStore.userprofile.username))
"
>
<CTitleBanner
@@ -520,33 +620,36 @@
:canopen="true"
>
<div
v-if="myuser.profile"
v-if="userStore.userprofile.profile"
class="fit column no-wrap justify-evenly content-start"
>
<div class="col-md-6 col-sm-6 q-ma-xs col-xs-12">
<CDateTime
v-if="
checkifShow('profile.dateofbirth') &&
!!myuser.profile.dateofbirth
!!userStore.userprofile.profile.dateofbirth
"
v-model:value="myuser.profile.dateofbirth"
v-model:value="userStore.userprofile.profile.dateofbirth"
:label="$t('reg.dateofbirth')"
:canEdit="false"
>
</CDateTime>
<CLabel
v-if="!!myuser.profile.cell"
v-if="!!userStore.userprofile.profile.cell"
v-bind="$attrs"
:copy="true"
:value="myuser.profile.intcode_cell + myuser.profile.cell"
:value="
userStore.userprofile.profile.intcode_cell +
userStore.userprofile.profile.cell
"
label="Cellulare"
/>
<!--
<CMyFieldRec
table="users"
:id="myuser._id"
:rec="myuser"
:id="userStore.userprofile._id"
:rec="userStore.userprofile"
field="profile.cell"
class="cursor-pointer"
:canEdit="false"
@@ -559,9 +662,12 @@
</CTitleBanner>
</div>
<div class="col-md-6 col-sm-6 q-ma-xs col-xs-12">
<CLabel v-if="!!myuser.useraport" :label="t('profile.aportador_him')">
<CLabel
v-if="!!userStore.userprofile.useraport"
:label="t('profile.aportador_him')"
>
<CMyUser
:mycontact="myuser.useraport"
:mycontact="userStore.userprofile.useraport"
:visu="costanti.FIND_PEOPLE"
@setCmd="tools.setCmd"
>
@@ -574,7 +680,7 @@
</q-dialog>
<q-page-sticky
v-if="myuser.username === myusername()"
v-if="userStore.userprofile.username === myusername()"
position="top-right"
:offset="[18, 18]"
>