share link
This commit is contained in:
Surya Paolo
2023-01-09 15:55:18 +01:00
parent a9367d5aef
commit b98cda2110
14 changed files with 669 additions and 135 deletions

View File

@@ -74,7 +74,7 @@
<div v-if="myuser._id" class="col-12"> <div v-if="myuser._id" class="col-12">
<q-btn <q-btn
v-if="myuser.username === myusername()" v-if="myuser.username === myusername()"
icon="fas fa-share-alt" icon="fas fa-link"
color="blue" color="blue"
size="md" size="md"
rounded rounded
@@ -85,7 +85,7 @@
$t, $t,
shared_consts.MsgTeleg.SHARE_MSGREG, shared_consts.MsgTeleg.SHARE_MSGREG,
true true
) );
" "
> >
</q-btn> </q-btn>

View File

@@ -1227,7 +1227,7 @@
<q-btn <q-btn
:text-color="$q.dark.isActive ? `white` : `black`" :text-color="$q.dark.isActive ? `white` : `black`"
icon="fas fa-share-alt" icon="fas fa-link"
label="Condividi" label="Condividi"
@click="condividipag(`/event/${event.typol}/${event._id}`)" @click="condividipag(`/event/${event.typol}/${event._id}`)"
></q-btn> ></q-btn>

View File

@@ -41,7 +41,7 @@ export default defineComponent({
}, },
props: { props: {
}, },
setup() { setup(props) {
const userStore = useUserStore() const userStore = useUserStore()
const globalStore = useGlobalStore() const globalStore = useGlobalStore()
const $route = useRoute() const $route = useRoute()
@@ -173,6 +173,13 @@ export default defineComponent({
return username === userStore.my.username return username === userStore.my.username
} }
function getlinkpage() {
if (myuser.value)
return self.location.host + '/attivita/' + myuser.value.username
else
return ''
}
onMounted(mounted) onMounted(mounted)
return { return {
@@ -204,6 +211,7 @@ export default defineComponent({
site, site,
listcircuitsfiltered, listcircuitsfiltered,
optionsMainCards, optionsMainCards,
getlinkpage,
} }
} }
}) })

View File

@@ -80,7 +80,7 @@
</div> </div>
<br /> <br />
<CContactUser :myuser="myuser" :showBtnActivities="false"/> <CContactUser :myuser="myuser" :showBtnActivities="false" />
<CTitleBanner <CTitleBanner
v-if="site.confpages.showCompetenze" v-if="site.confpages.showCompetenze"
@@ -149,7 +149,19 @@
<q-dialog v-model="showPic" full-height full-width> <q-dialog v-model="showPic" full-height full-width>
<img :src="getImgUser()" :alt="username" class="full-width" /> <img :src="getImgUser()" :alt="username" class="full-width" />
</q-dialog> </q-dialog>
<q-page-sticky
position="top-right"
:offset="[18, 18]"
>
<q-btn
fab
glossy
class="semi-transparent"
icon="fas fa-link"
color="primary"
@click="tools.copyToClip($q, getlinkpage(), true)"
/>
</q-page-sticky>
</div> </div>
</div> </div>
</template> </template>

View File

@@ -95,7 +95,7 @@
<div class="q-ma-sm"> <div class="q-ma-sm">
<q-btn <q-btn
v-if="myrec._id" v-if="myrec._id"
:text-color="$q.dark.isActive ? `white` : `black`" icon="fas fa-share-alt" :text-color="$q.dark.isActive ? `white` : `black`" icon="fas fa-link"
label="Condividi" label="Condividi"
@click="condividipag"></q-btn> @click="condividipag"></q-btn>
</div> </div>

View File

@@ -79,7 +79,7 @@
<div class="q-ma-sm"> <div class="q-ma-sm">
<q-btn <q-btn
v-if="myrec._id" v-if="myrec._id"
:text-color="$q.dark.isActive ? `white` : `black`" icon="fas fa-share-alt" :text-color="$q.dark.isActive ? `white` : `black`" icon="fas fa-link"
label="Condividi" label="Condividi"
@click="condividipag"></q-btn> @click="condividipag"></q-btn>
</div> </div>

View File

@@ -87,8 +87,11 @@ export default defineComponent({
load() load()
} }
function getlinkpage() {
return self.location.host + tools.getPathByTable(props.table, myrec.value._id)
}
function condividipag() { function condividipag() {
const mystr = self.location.host + tools.getPathByTable(props.table, myrec.value._id) const mystr = getlinkpage()
tools.copyStringToClipboard($q, mystr, true) tools.copyStringToClipboard($q, mystr, true)
tools.sendMsgTelegramCmd($q, t, shared_consts.MsgTeleg.SHARE_TEXT, false, mystr) tools.sendMsgTelegramCmd($q, t, shared_consts.MsgTeleg.SHARE_TEXT, false, mystr)
return true return true
@@ -120,6 +123,7 @@ export default defineComponent({
col, col,
condividipag, condividipag,
showBadge, showBadge,
getlinkpage,
} }
} }
}) })

View File

@@ -112,11 +112,24 @@
<div class="q-ma-sm"> <div class="q-ma-sm">
<q-btn <q-btn
v-if="myrec._id" v-if="myrec._id"
:text-color="$q.dark.isActive ? `white` : `black`" icon="fas fa-share-alt" :text-color="$q.dark.isActive ? `white` : `black`" icon="fas fa-link"
label="Condividi" label="Condividi"
@click="condividipag"></q-btn> @click="condividipag"></q-btn>
</div> </div>
</div> </div>
<q-page-sticky
position="top-right"
:offset="[18, 18]"
>
<q-btn
fab
glossy
class="semi-transparent"
icon="fas fa-link"
color="primary"
@click="tools.copyToClip($q, getlinkpage(), true)"
/>
</q-page-sticky>
<br><br> <br><br>
</q-card-section> </q-card-section>

View File

@@ -486,7 +486,7 @@
<div v-else-if="myel.type === shared_consts.ELEMTYPE.BOTT_CONDIVIDI"> <div v-else-if="myel.type === shared_consts.ELEMTYPE.BOTT_CONDIVIDI">
<div class="row justify-evenly items-center q-pa-sm q-ma-sm"> <div class="row justify-evenly items-center q-pa-sm q-ma-sm">
<q-btn <q-btn
icon="fas fa-share-alt" icon="fas fa-link"
color="blue" color="blue"
type="a" type="a"
size="md" size="md"

View File

@@ -3,20 +3,46 @@
<q-item class="q-my-sm" clickable> <q-item class="q-my-sm" clickable>
<q-item-section avatar @click="naviga(`/my/` + contact.username)"> <q-item-section avatar @click="naviga(`/my/` + contact.username)">
<q-avatar size="60px"> <q-avatar size="60px">
<q-img :src="getImgUser(contact)" :alt="contact.username" img-class="imgprofile" height="60px"/> <q-img
:src="getImgUser(contact)"
:alt="contact.username"
img-class="imgprofile"
height="60px"
/>
</q-avatar> </q-avatar>
</q-item-section> </q-item-section>
<q-item-section @click="naviga(`/my/` + contact.username)"> <q-item-section @click="naviga(`/my/` + contact.username)">
<q-item-label v-if="labelextra && (labelextra !== contact.username)"><strong>{{ labelextra }}</strong></q-item-label> <q-item-label v-if="labelextra && labelextra !== contact.username"
<q-item-label v-if="contact.name"><span class="username">{{ contact.name }} <span v-if="contact.surname">{{ contact.surname }}</span></span> ({{ contact.username }}) ><strong>{{ labelextra }}</strong></q-item-label
>
<q-item-label v-if="contact.name"
><span class="username"
>{{ contact.name }}
<span v-if="contact.surname">{{ contact.surname }}</span></span
>
({{ contact.username }})
</q-item-label> </q-item-label>
<q-item-label v-else><span class="username">{{ contact.username }}</span> <span v-if="contact.name">({{ contact.name }} {{ contact.surname }})</span> <q-item-label v-else
><span class="username">{{ contact.username }}</span>
<span v-if="contact.name"
>({{ contact.name }} {{ contact.surname }})</span
>
</q-item-label> </q-item-label>
<q-item-label v-if="contact.reported" caption lines="1"><em style="color: red; font-weight: bold">{{ $t('db.reporteduser', {date_report: tools.getstrDateTimeShort(contact.date_report)}) }}</em></q-item-label> <q-item-label v-if="contact.reported" caption lines="1"
<q-item-label v-if="contact.profile" caption lines="1"><em>{{ contact.profile.qualifica }}</em></q-item-label> ><em style="color: red; font-weight: bold">{{
$t('db.reporteduser', {
date_report: tools.getstrDateTimeShort(contact.date_report),
})
}}</em></q-item-label
>
<q-item-label v-if="contact.profile" caption lines="1"
><em>{{ contact.profile.qualifica }}</em></q-item-label
>
<q-item-label caption lines="1"></q-item-label> <q-item-label caption lines="1"></q-item-label>
<q-item-label v-if="labelFooter" lines="1"><em>{{ labelFooter }}</em></q-item-label> <q-item-label v-if="labelFooter" lines="1"
><em>{{ labelFooter }}</em></q-item-label
>
<q-item-label v-if="contact.account" caption lines="2"> <q-item-label v-if="contact.account" caption lines="2">
<CSaldo <CSaldo
:small="true" :small="true"
@@ -30,10 +56,12 @@
</q-item-section> </q-item-section>
<q-item-section side> <q-item-section side>
<q-btn <q-btn
v-if="userStore.getMyCircuitsInCommonByUser(contact).length > 0 && contact.username !== userStore.my.username && userStore.my.profile.calc.numGoodsAndServices > 0" v-if="
userStore.getMyCircuitsInCommonByUser(contact).length > 0 &&
contact.username !== userStore.my.username &&
userStore.my.profile.calc.numGoodsAndServices > 0
"
icon="fas fa-coins" icon="fas fa-coins"
color="green" color="green"
size="md" size="md"
@@ -41,23 +69,100 @@
@click="showsendCoinTo = true" @click="showsendCoinTo = true"
> >
</q-btn> </q-btn>
</q-item-section> </q-item-section>
<q-item-section side v-if="visu === costanti.FRIENDS"> <q-item-section side v-if="visu === costanti.FRIENDS">
<q-item-label> <q-item-label>
<q-btn rounded icon="fas fa-ellipsis-h"> <q-btn rounded icon="fas fa-ellipsis-h">
<q-menu> <q-menu>
<q-list style="min-width: 150px"> <q-list style="min-width: 150px"
<q-item clickable icon="fas fa-user-minus" v-close-popup v-if="
@click="setCmd($q, shared_consts.FRIENDSCMD.REMOVE_FROM_MYFRIENDS, userStore.my.username, '', contact.username)"> !userStore.IsHandShakeByMe(contact.username)
<q-item-section>{{ $t('friends.remove_from_myfriends') }}</q-item-section> ">
<q-item
clickable
v-close-popup
@click="
tools.addToMyHandShake(
$q,
userStore.my.username,
contact.username
)
"
>
<q-item-section avatar>
<q-icon color="positive" name="fas fa-handshake" />
</q-item-section>
<q-item-section>{{
$t('handshake.accept_handshake')
}}</q-item-section>
</q-item> </q-item>
</q-list> </q-list>
<q-list style="min-width: 150px"> <q-list style="min-width: 150px">
<q-item clickable icon="fas fa-ban" v-close-popup <q-item
@click="setCmd($q, shared_consts.FRIENDSCMD.BLOCK_USER, userStore.my.username, '', contact.username)"> clickable
<q-item-section>{{ $t('friends.block_user') }}</q-item-section> v-close-popup
@click="
setCmd(
$q,
shared_consts.FRIENDSCMD.REMOVE_FROM_MYFRIENDS,
userStore.my.username,
'',
contact.username
)
"
>
<q-item-section avatar>
<q-icon color="negative" name="fas fa-user-minus" />
</q-item-section>
<q-item-section>{{
$t('friends.remove_from_myfriends')
}}</q-item-section>
</q-item>
</q-list>
<q-list style="min-width: 150px">
<q-item
clickable
icon="fas fa-ban"
v-close-popup
@click="
setCmd(
$q,
shared_consts.FRIENDSCMD.BLOCK_USER,
userStore.my.username,
'',
contact.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-list>
<q-list style="min-width: 150px">
<q-item
clickable
v-close-popup
@click="
setCmd(
$q,
shared_consts.FRIENDSCMD.REPORT_USER,
userStore.my.username,
'',
contact.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-item>
</q-list> </q-list>
</q-menu> </q-menu>
@@ -69,14 +174,43 @@
<q-btn rounded icon="fas fa-ellipsis-h"> <q-btn rounded icon="fas fa-ellipsis-h">
<q-menu> <q-menu>
<q-list v-if="true" style="min-width: 150px"> <q-list v-if="true" style="min-width: 150px">
<q-item clickable v-close-popup @click="setCmd($q, shared_consts.FRIENDSCMD.SETFRIEND, userStore.my.username, '', contact.username)"> <q-item
<q-item-section>{{ $t('friends.accept_friend') }}</q-item-section> clickable
v-close-popup
@click="
setCmd(
$q,
shared_consts.FRIENDSCMD.SETFRIEND,
userStore.my.username,
'',
contact.username
)
"
>
<q-item-section>{{
$t('friends.accept_friend')
}}</q-item-section>
</q-item> </q-item>
</q-list> </q-list>
<q-list style="min-width: 150px"> <q-list style="min-width: 150px">
<q-item clickable icon="fas fa-user-minus" v-close-popup <q-item
@click="setCmd($q, shared_consts.FRIENDSCMD.REQFRIEND, userStore.my.username, false, contact.username, false)"> clickable
<q-item-section>{{ $t('friends.reject_ask_friend') }}</q-item-section> icon="fas fa-user-minus"
v-close-popup
@click="
setCmd(
$q,
shared_consts.FRIENDSCMD.REQFRIEND,
userStore.my.username,
false,
contact.username,
false
)
"
>
<q-item-section>{{
$t('friends.reject_ask_friend')
}}</q-item-section>
</q-item> </q-item>
</q-list> </q-list>
</q-menu> </q-menu>
@@ -88,8 +222,22 @@
<q-btn rounded icon="fas fa-ellipsis-h"> <q-btn rounded icon="fas fa-ellipsis-h">
<q-menu> <q-menu>
<q-list v-if="true" style="min-width: 150px"> <q-list v-if="true" style="min-width: 150px">
<q-item clickable v-close-popup @click="setCmd($q, shared_consts.FRIENDSCMD.SETHANDSHAKE, userStore.my.username, '', contact.username)"> <q-item
<q-item-section>{{ $t('friends.accept_handshake') }}</q-item-section> clickable
v-close-popup
@click="
setCmd(
$q,
shared_consts.FRIENDSCMD.SETHANDSHAKE,
userStore.my.username,
'',
contact.username
)
"
>
<q-item-section>{{
$t('friends.accept_handshake')
}}</q-item-section>
</q-item> </q-item>
</q-list> </q-list>
</q-menu> </q-menu>
@@ -101,10 +249,13 @@
<q-btn rounded icon="fas fa-ellipsis-h"> <q-btn rounded icon="fas fa-ellipsis-h">
<q-menu> <q-menu>
<q-list v-if="true" style="min-width: 150px"> <q-list v-if="true" style="min-width: 150px">
<q-item
<q-item clickable v-close-popup @click="tools.addToMyGroups($q, contact.username, groupname)"> clickable
v-close-popup
@click="tools.addToMyGroups($q, contact.username, groupname)"
>
<q-item-section avatar> <q-item-section avatar>
<q-icon color="positive" name="fas fa-user-plus"/> <q-icon color="positive" name="fas fa-user-plus" />
</q-item-section> </q-item-section>
<q-item-section> <q-item-section>
{{ $t('groups.accept_group') }} {{ $t('groups.accept_group') }}
@@ -112,70 +263,136 @@
</q-item> </q-item>
</q-list> </q-list>
<q-list style="min-width: 200px"> <q-list style="min-width: 200px">
<q-item clickable v-close-popup <q-item
@click="tools.refuseReqGroup($q, contact.username, groupname)"> clickable
v-close-popup
@click="tools.refuseReqGroup($q, contact.username, groupname)"
>
<q-item-section avatar> <q-item-section avatar>
<q-icon color="negative" name="fas fa-user-minus"/> <q-icon color="negative" name="fas fa-user-minus" />
</q-item-section> </q-item-section>
<q-item-section>{{ $t('shared.refuse_ask') }}</q-item-section> <q-item-section>{{ $t('shared.refuse_ask') }}</q-item-section>
</q-item> </q-item>
<q-item clickable v-close-popup <q-item
@click="tools.cancelReqGroups($q, contact.username, groupname)"> clickable
v-close-popup
@click="
tools.cancelReqGroups($q, contact.username, groupname)
"
>
<q-item-section avatar> <q-item-section avatar>
<q-icon color="negative" name="fas fa-user-minus"/> <q-icon color="negative" name="fas fa-user-minus" />
</q-item-section> </q-item-section>
<q-item-section>{{ $t('shared.cancel_ask_short') }}</q-item-section> <q-item-section>{{
$t('shared.cancel_ask_short')
}}</q-item-section>
</q-item> </q-item>
</q-list> </q-list>
</q-menu> </q-menu>
</q-btn> </q-btn>
</q-item-label> </q-item-label>
</q-item-section> </q-item-section>
<q-item-section side v-else-if="visu === costanti.REQ_REMOVE_USER_TO_GROUP"> <q-item-section
side
v-else-if="visu === costanti.REQ_REMOVE_USER_TO_GROUP"
>
<q-item-label v-if="contact.username !== userStore.my.username"> <q-item-label v-if="contact.username !== userStore.my.username">
<q-btn rounded icon="fas fa-ellipsis-h"> <q-btn rounded icon="fas fa-ellipsis-h">
<q-menu> <q-menu>
<q-list style="min-width: 150px"> <q-list style="min-width: 150px">
<q-item clickable v-if="!tools.isUserAdminGroup(groupname, contact.username)" v-close-popup @click="tools.addtoAdminOfMyGroup($q, contact.username, groupname)"> <q-item
clickable
v-if="!tools.isUserAdminGroup(groupname, contact.username)"
v-close-popup
@click="
tools.addtoAdminOfMyGroup($q, contact.username, groupname)
"
>
<q-item-section avatar> <q-item-section avatar>
<q-icon color="positive" name="fas fa-user-shield"/> <q-icon color="positive" name="fas fa-user-shield" />
</q-item-section> </q-item-section>
<q-item-section>{{ $t('groups.addasadmin') }}</q-item-section> <q-item-section>{{ $t('groups.addasadmin') }}</q-item-section>
</q-item> </q-item>
<q-item clickable v-if="tools.isUserAdminGroup(groupname, contact.username) && tools.iAmTheCreatorOfTheGroup(groupname)" v-close-popup @click="tools.removeAdminOfMyGroup($q, contact.username, groupname)"> <q-item
clickable
v-if="
tools.isUserAdminGroup(groupname, contact.username) &&
tools.iAmTheCreatorOfTheGroup(groupname)
"
v-close-popup
@click="
tools.removeAdminOfMyGroup($q, contact.username, groupname)
"
>
<q-item-section avatar> <q-item-section avatar>
<q-icon color="negative" name="fas fa-user-times"/> <q-icon color="negative" name="fas fa-user-times" />
</q-item-section> </q-item-section>
<q-item-section>{{ $t('groups.remove_as_admin') }}</q-item-section> <q-item-section>{{
$t('groups.remove_as_admin')
}}</q-item-section>
</q-item> </q-item>
<q-item clickable v-if="!tools.isUserTheCreatorOfTheGroup(groupname, contact.username)" v-close-popup @click="tools.removeFromMyGroups($q, contact.username, groupname)"> <q-item
clickable
v-if="
!tools.isUserTheCreatorOfTheGroup(
groupname,
contact.username
)
"
v-close-popup
@click="
tools.removeFromMyGroups($q, contact.username, groupname)
"
>
<q-item-section avatar> <q-item-section avatar>
<q-icon color="negative" name="fas fa-user-minus"/> <q-icon color="negative" name="fas fa-user-minus" />
</q-item-section> </q-item-section>
<q-item-section>{{ $t('groups.remove_from_mygroups') }}</q-item-section> <q-item-section>{{
$t('groups.remove_from_mygroups')
}}</q-item-section>
</q-item> </q-item>
<q-item clickable v-close-popup @click="tools.reportUser($q, userStore.my.username, contact.username)"> <q-item
clickable
v-close-popup
@click="
tools.reportUser(
$q,
userStore.my.username,
contact.username
)
"
>
<q-item-section avatar> <q-item-section avatar>
<q-icon color="negative" name="fas fa-flag"/> <q-icon color="negative" name="fas fa-flag" />
</q-item-section> </q-item-section>
<q-item-section>{{ $t('friends.report_user') }}</q-item-section> <q-item-section>{{
$t('friends.report_user')
}}</q-item-section>
</q-item> </q-item>
</q-list> </q-list>
</q-menu> </q-menu>
</q-btn> </q-btn>
</q-item-label> </q-item-label>
</q-item-section> </q-item-section>
<q-item-section side v-else-if="visu === costanti.REQ_ADD_USER_TO_CIRCUIT"> <q-item-section
side
v-else-if="visu === costanti.REQ_ADD_USER_TO_CIRCUIT"
>
<q-item-label> <q-item-label>
<q-btn rounded icon="fas fa-ellipsis-h"> <q-btn rounded icon="fas fa-ellipsis-h">
<q-menu> <q-menu>
<q-list v-if="true" style="min-width: 150px"> <q-list v-if="true" style="min-width: 150px">
<q-item
<q-item clickable v-close-popup @click="tools.addToMyCircuits($q, contact.username, circuitname)"> clickable
v-close-popup
@click="
tools.addToMyCircuits($q, contact.username, circuitname)
"
>
<q-item-section avatar> <q-item-section avatar>
<q-icon color="positive" name="fas fa-user-plus"/> <q-icon color="positive" name="fas fa-user-plus" />
</q-item-section> </q-item-section>
<q-item-section> <q-item-section>
{{ $t('circuit.accept') }} {{ $t('circuit.accept') }}
@@ -183,55 +400,127 @@
</q-item> </q-item>
</q-list> </q-list>
<q-list style="min-width: 200px"> <q-list style="min-width: 200px">
<q-item clickable v-close-popup <q-item
@click="tools.refuseReqCircuit($q, contact.username, circuitname)"> clickable
v-close-popup
@click="
tools.refuseReqCircuit($q, contact.username, circuitname)
"
>
<q-item-section avatar> <q-item-section avatar>
<q-icon color="negative" name="fas fa-user-minus"/> <q-icon color="negative" name="fas fa-user-minus" />
</q-item-section> </q-item-section>
<q-item-section>{{ $t('shared.refuse_ask') }}</q-item-section> <q-item-section>{{ $t('shared.refuse_ask') }}</q-item-section>
</q-item> </q-item>
<q-item clickable v-close-popup <q-item
@click="tools.cancelReqCircuit($q, contact.username, circuitname)"> clickable
v-close-popup
@click="
tools.cancelReqCircuit($q, contact.username, circuitname)
"
>
<q-item-section avatar> <q-item-section avatar>
<q-icon color="negative" name="fas fa-user-minus"/> <q-icon color="negative" name="fas fa-user-minus" />
</q-item-section> </q-item-section>
<q-item-section>{{ $t('shared.cancel_ask_short') }}</q-item-section> <q-item-section>{{
$t('shared.cancel_ask_short')
}}</q-item-section>
</q-item> </q-item>
</q-list> </q-list>
</q-menu> </q-menu>
</q-btn> </q-btn>
</q-item-label> </q-item-label>
</q-item-section> </q-item-section>
<q-item-section side v-else-if="visu === costanti.REQ_REMOVE_USER_TO_CIRCUIT"> <q-item-section
side
v-else-if="visu === costanti.REQ_REMOVE_USER_TO_CIRCUIT"
>
<q-item-label v-if="contact.username !== userStore.my.username"> <q-item-label v-if="contact.username !== userStore.my.username">
<q-btn rounded icon="fas fa-ellipsis-h"> <q-btn rounded icon="fas fa-ellipsis-h">
<q-menu> <q-menu>
<q-list style="min-width: 150px"> <q-list style="min-width: 150px">
<q-item clickable v-if="!tools.isUserAdminCircuit(circuitname, contact.username)" v-close-popup @click="tools.addtoAdminOfCircuit($q, contact.username, circuitname)"> <q-item
clickable
v-if="
!tools.isUserAdminCircuit(circuitname, contact.username)
"
v-close-popup
@click="
tools.addtoAdminOfCircuit($q, contact.username, circuitname)
"
>
<q-item-section avatar> <q-item-section avatar>
<q-icon color="positive" name="fas fa-user-shield"/> <q-icon color="positive" name="fas fa-user-shield" />
</q-item-section> </q-item-section>
<q-item-section>{{ $t('circuit.addasadmin') }}</q-item-section> <q-item-section>{{
$t('circuit.addasadmin')
}}</q-item-section>
</q-item> </q-item>
<q-item clickable v-if="tools.isUserAdminCircuit(circuitname, contact.username) && tools.iAmTheCreatorOfTheCircuit(circuitname)" v-close-popup @click="tools.removeAdminOfCircuit($q, contact.username, circuitname)"> <q-item
clickable
v-if="
tools.isUserAdminCircuit(circuitname, contact.username) &&
tools.iAmTheCreatorOfTheCircuit(circuitname)
"
v-close-popup
@click="
tools.removeAdminOfCircuit(
$q,
contact.username,
circuitname
)
"
>
<q-item-section avatar> <q-item-section avatar>
<q-icon color="negative" name="fas fa-user-times"/> <q-icon color="negative" name="fas fa-user-times" />
</q-item-section> </q-item-section>
<q-item-section>{{ $t('circuit.remove_as_admin') }}</q-item-section> <q-item-section>{{
$t('circuit.remove_as_admin')
}}</q-item-section>
</q-item> </q-item>
<q-item clickable v-if="!tools.isUserTheCreatorOfTheCircuit(circuitname, contact.username)" v-close-popup @click="tools.removeFromMyCircuits($q, contact.username, circuitname)"> <q-item
clickable
v-if="
!tools.isUserTheCreatorOfTheCircuit(
circuitname,
contact.username
)
"
v-close-popup
@click="
tools.removeFromMyCircuits(
$q,
contact.username,
circuitname
)
"
>
<q-item-section avatar> <q-item-section avatar>
<q-icon color="negative" name="fas fa-user-minus"/> <q-icon color="negative" name="fas fa-user-minus" />
</q-item-section> </q-item-section>
<q-item-section>{{ $t('circuit.remove_from_mycircuit') }}</q-item-section> <q-item-section>{{
$t('circuit.remove_from_mycircuit')
}}</q-item-section>
</q-item> </q-item>
<q-item clickable v-close-popup @click="tools.reportUser($q, userStore.my.username, contact.username)"> <q-item
clickable
v-close-popup
@click="
tools.reportUser(
$q,
userStore.my.username,
contact.username
)
"
>
<q-item-section avatar> <q-item-section avatar>
<q-icon color="negative" name="fas fa-flag"/> <q-icon color="negative" name="fas fa-flag" />
</q-item-section> </q-item-section>
<q-item-section>{{ $t('friends.report_user') }}</q-item-section> <q-item-section>{{
$t('friends.report_user')
}}</q-item-section>
</q-item> </q-item>
</q-list> </q-list>
</q-menu> </q-menu>
@@ -243,9 +532,24 @@
<q-btn rounded icon="fas fa-ellipsis-h"> <q-btn rounded icon="fas fa-ellipsis-h">
<q-menu> <q-menu>
<q-list style="min-width: 150px"> <q-list style="min-width: 150px">
<q-item clickable icon="fas fa-user-minus" v-close-popup <q-item
@click="setCmd($q, shared_consts.FRIENDSCMD.CANCEL_REQ_FRIEND, userStore.my.username, '', contact.username, '')"> clickable
<q-item-section>{{ $t('friends.cancel_ask_friend') }}</q-item-section> icon="fas fa-user-minus"
v-close-popup
@click="
setCmd(
$q,
shared_consts.FRIENDSCMD.CANCEL_REQ_FRIEND,
userStore.my.username,
'',
contact.username,
''
)
"
>
<q-item-section>{{
$t('friends.cancel_ask_friend')
}}</q-item-section>
</q-item> </q-item>
</q-list> </q-list>
</q-menu> </q-menu>
@@ -254,12 +558,34 @@
</q-item-section> </q-item-section>
<q-item-section side v-else-if="visu === costanti.ASK_TRUST"> <q-item-section side v-else-if="visu === costanti.ASK_TRUST">
<q-item-label> <q-item-label>
<q-btn color="positive" :label="$t('friends.accept_trust')" <q-btn
@click="setCmd($q, shared_consts.FRIENDSCMD.SETTRUST, userStore.my.username, true, contact.username)"/> color="positive"
:label="$t('friends.accept_trust')"
@click="
setCmd(
$q,
shared_consts.FRIENDSCMD.SETTRUST,
userStore.my.username,
true,
contact.username
)
"
/>
</q-item-label> </q-item-label>
<q-item-label> <q-item-label>
<q-btn color="negative" :label="$t('friends.refuse_trust')" <q-btn
@click="setCmd($q, shared_consts.FRIENDSCMD.SETTRUST, userStore.my.username, false, contact.username)"/> color="negative"
:label="$t('friends.refuse_trust')"
@click="
setCmd(
$q,
shared_consts.FRIENDSCMD.SETTRUST,
userStore.my.username,
false,
contact.username
)
"
/>
</q-item-label> </q-item-label>
</q-item-section> </q-item-section>
<q-item-section side v-else-if="visu === costanti.TRUSTED"> <q-item-section side v-else-if="visu === costanti.TRUSTED">
@@ -267,77 +593,218 @@
<q-btn rounded icon="fas fa-ellipsis-h"> <q-btn rounded icon="fas fa-ellipsis-h">
<q-menu> <q-menu>
<q-list style="min-width: 200px"> <q-list style="min-width: 200px">
<q-item v-if="!userStore.IsMyFriendByUsername(contact.username)" clickable icon="fas fa-user-plus" v-close-popup <q-item
@click="setCmd($q, shared_consts.FRIENDSCMD.REQFRIEND, userStore.my.username, true, contact.username)"> v-if="!userStore.IsMyFriendByUsername(contact.username)"
<q-item-section>{{ $t('friends.ask_friend') }}</q-item-section> clickable
icon="fas fa-user-plus"
v-close-popup
@click="
setCmd(
$q,
shared_consts.FRIENDSCMD.REQFRIEND,
userStore.my.username,
true,
contact.username
)
"
>
<q-item-section>{{
$t('friends.ask_friend')
}}</q-item-section>
</q-item> </q-item>
<q-item v-if="!userStore.IsHandShakeByUsername(contact.username)" clickable icon="far fa-handshake" v-close-popup <q-item
@click="setCmd($q, shared_consts.FRIENDSCMD.SETHANDSHAKE, userStore.my.username, true, contact.username)"> v-if="!userStore.IsHandShakeByMe(contact)"
<q-item-section>{{ $t('handshake.ask_handshake') }}</q-item-section> clickable
icon="far fa-handshake"
v-close-popup
@click="
setCmd(
$q,
shared_consts.FRIENDSCMD.SETHANDSHAKE,
userStore.my.username,
true,
contact.username
)
"
>
<q-item-section>{{
$t('handshake.ask_handshake')
}}</q-item-section>
</q-item> </q-item>
</q-list> </q-list>
<q-list style="min-width: 200px"> <q-list style="min-width: 200px">
<q-item clickable icon="fas fa-user-minus" v-close-popup <q-item
@click="setCmd($q, shared_consts.FRIENDSCMD.SETTRUST, userStore.my.username, false, contact.username)"> clickable
<q-item-section>{{ $t('friends.reject_trust') }}</q-item-section> icon="fas fa-user-minus"
v-close-popup
@click="
setCmd(
$q,
shared_consts.FRIENDSCMD.SETTRUST,
userStore.my.username,
false,
contact.username
)
"
>
<q-item-section>{{
$t('friends.reject_trust')
}}</q-item-section>
</q-item> </q-item>
</q-list> </q-list>
</q-menu> </q-menu>
</q-btn> </q-btn>
</q-item-label> </q-item-label>
</q-item-section> </q-item-section>
<q-item-section side v-else-if="visu === costanti.FIND_PEOPLE"> <q-item-section side v-else-if="visu === costanti.FIND_PEOPLE || visu === costanti.HANDSHAKE">
<q-item-label> <q-item-label>
<q-btn
<q-btn v-if="contact.username !== userStore.my.username" rounded v-if="contact.username !== userStore.my.username"
dense rounded
:icon="userStore.IsMyFriendByUsername(contact.username) ? `fas fa-ellipsis-h` : `fas fa-user`"> dense
:icon="
userStore.IsMyFriendByUsername(contact.username)
? `fas fa-ellipsis-h`
: `fas fa-user`
"
>
<q-menu> <q-menu>
<q-list style="min-width: 200px"> <q-list style="min-width: 200px">
<q-item v-if="(!userStore.IsMyFriendByUsername(contact.username) && !userStore.IsAskedFriendByUsername(contact.username))" <q-item
clickable v-close-popup @click="setCmd($q, shared_consts.FRIENDSCMD.REQFRIEND, userStore.my.username, true, contact.username)"> v-if="
!userStore.IsMyFriendByUsername(contact.username) &&
!userStore.IsAskedFriendByUsername(contact.username)
"
clickable
v-close-popup
@click="
setCmd(
$q,
shared_consts.FRIENDSCMD.REQFRIEND,
userStore.my.username,
true,
contact.username
)
"
>
<q-item-section avatar> <q-item-section avatar>
<q-icon color="positive" name="fas fa-user-plus"/> <q-icon color="positive" name="fas fa-user-plus" />
</q-item-section> </q-item-section>
<q-item-section>{{ $t('friends.ask_friend') }}</q-item-section> <q-item-section>{{
$t('friends.ask_friend')
}}</q-item-section>
</q-item> </q-item>
<q-item v-else-if="(!userStore.IsMyFriendByUsername(contact.username) && userStore.IsAskedFriendByUsername(contact.username))" <q-item
clickable v-close-popup @click="setCmd($q, shared_consts.FRIENDSCMD.REQFRIEND, userStore.my.username, false, contact.username)"> v-else-if="
!userStore.IsMyFriendByUsername(contact.username) &&
userStore.IsAskedFriendByUsername(contact.username)
"
clickable
v-close-popup
@click="
setCmd(
$q,
shared_consts.FRIENDSCMD.REQFRIEND,
userStore.my.username,
false,
contact.username
)
"
>
<q-item-section avatar> <q-item-section avatar>
<q-icon color="negative" name="fas fa-user-minus"/> <q-icon color="negative" name="fas fa-user-minus" />
</q-item-section> </q-item-section>
<q-item-section>{{ $t('friends.cancel_ask_friend') }}</q-item-section> <q-item-section>{{
$t('friends.cancel_ask_friend')
}}</q-item-section>
</q-item> </q-item>
<q-item v-else-if="userStore.IsMyFriendByUsername(contact.username)" style="min-width: 200px" <q-item
clickable v-close-popup v-else-if="userStore.IsMyFriendByUsername(contact.username)"
@click="setCmd($q, shared_consts.FRIENDSCMD.REMOVE_FROM_MYFRIENDS, userStore.my.username, '', contact.username)"> style="min-width: 200px"
clickable
v-close-popup
@click="
setCmd(
$q,
shared_consts.FRIENDSCMD.REMOVE_FROM_MYFRIENDS,
userStore.my.username,
'',
contact.username
)
"
>
<q-item-section avatar> <q-item-section avatar>
<q-icon color="negative" name="fas fa-user-minus"/> <q-icon color="negative" name="fas fa-user-minus" />
</q-item-section> </q-item-section>
<q-item-section>{{ $t('friends.remove_from_myfriends') }}</q-item-section> <q-item-section>{{
$t('friends.remove_from_myfriends')
}}</q-item-section>
</q-item> </q-item>
<q-item v-if="!userStore.IsHandShakeByUsername(contact.username)" <q-item
clickable v-close-popup @click="setCmd($q, shared_consts.FRIENDSCMD.SETHANDSHAKE, userStore.my.username, true, contact.username)"> v-if="!userStore.IsHandShakeByMe(contact)"
clickable
v-close-popup
@click="
setCmd(
$q,
shared_consts.FRIENDSCMD.SETHANDSHAKE,
userStore.my.username,
true,
contact.username
)
"
>
<q-item-section avatar> <q-item-section avatar>
<q-icon color="positive" name="far fa-handshake"/> <q-icon color="positive" name="far fa-handshake" />
</q-item-section> </q-item-section>
<q-item-section>{{ $t('handshake.ask_handshake') }}</q-item-section> <q-item-section>{{
$t('handshake.ask_handshake')
}}</q-item-section>
</q-item> </q-item>
<q-item v-else style="min-width: 200px" <q-item
clickable v-close-popup v-else
@click="setCmd($q, shared_consts.FRIENDSCMD.REMOVE_FROM_MYHANDSHAKE, userStore.my.username, '', contact.username)"> style="min-width: 200px"
clickable
v-close-popup
@click="
setCmd(
$q,
shared_consts.FRIENDSCMD.REMOVE_FROM_MYHANDSHAKE,
userStore.my.username,
'',
contact.username
)
"
>
<q-item-section avatar> <q-item-section avatar>
<q-icon color="negative" name="far fa-handshake-alt-slash"/> <q-icon
color="negative"
name="fas fa-handshake-slash"
/>
</q-item-section> </q-item-section>
<q-item-section>{{ $t('handshake.remove_from_myhandshake') }}</q-item-section> <q-item-section>{{
$t('handshake.remove_from_myhandshake')
}}</q-item-section>
</q-item> </q-item>
<q-item clickable v-close-popup @click="tools.reportUser($q, userStore.my.username, contact.username)"> <q-item
clickable
v-close-popup
@click="
tools.reportUser(
$q,
userStore.my.username,
contact.username
)
"
>
<q-item-section avatar> <q-item-section avatar>
<q-icon color="negative" name="fas fa-flag"/> <q-icon color="negative" name="fas fa-flag" />
</q-item-section> </q-item-section>
<q-item-section>{{ $t('friends.report_user') }}</q-item-section> <q-item-section>{{
$t('friends.report_user')
}}</q-item-section>
</q-item> </q-item>
</q-list> </q-list>
</q-menu> </q-menu>
@@ -349,9 +816,23 @@
<q-btn rounded icon="fas fa-ellipsis-h"> <q-btn rounded icon="fas fa-ellipsis-h">
<q-menu> <q-menu>
<q-list style="min-width: 200px"> <q-list style="min-width: 200px">
<q-item clickable icon="fas fa-user-minus" v-close-popup <q-item
@click="setCmd($q, shared_consts.FRIENDSCMD.SETTRUST, userStore.my.username, true, contact.username)"> clickable
<q-item-section>{{ $t('friends.accept_trust') }}</q-item-section> icon="fas fa-user-minus"
v-close-popup
@click="
setCmd(
$q,
shared_consts.FRIENDSCMD.SETTRUST,
userStore.my.username,
true,
contact.username
)
"
>
<q-item-section>{{
$t('friends.accept_trust')
}}</q-item-section>
</q-item> </q-item>
</q-list> </q-list>
</q-menu> </q-menu>
@@ -367,7 +848,6 @@
:circuitname="circuitname" :circuitname="circuitname"
@close="showsendCoinTo = false" @close="showsendCoinTo = false"
> >
</CSendCoins> </CSendCoins>
</div> </div>
</template> </template>

View File

@@ -507,7 +507,7 @@ const msg_it = {
click_per_copiare: 'Cliccaci sopra per copiarlo sugli appunti', click_per_copiare: 'Cliccaci sopra per copiarlo sugli appunti',
invitante: 'Ti ha invitato qualcuno a far parte di RISO?', invitante: 'Ti ha invitato qualcuno a far parte di RISO?',
link_reg: 'Clicca per copiare il link da condividere agli Amici', link_reg: 'Clicca per copiare il link da condividere agli Amici',
link_reg_and_msg: 'Condividi Link ad Amici', link_reg_and_msg: 'Copia Link Registrazione',
copia_messaggio: 'Copia Messaggio', copia_messaggio: 'Copia Messaggio',
teleg_torna_sul_bot: '1) Copia il codice cliccando sul bottone qui sopra<br>2) torna su {botname} cliccando qui sotto 👇 ed incolla (o scrivi) il codice', teleg_torna_sul_bot: '1) Copia il codice cliccando sul bottone qui sopra<br>2) torna su {botname} cliccando qui sotto 👇 ed incolla (o scrivi) il codice',
teleg_checkcode: 'Codice Telegram', teleg_checkcode: 'Codice Telegram',

View File

@@ -4479,6 +4479,10 @@ export const tools = {
}, },
copyToClip(myq: any, mystr: string, show: boolean) {
this.copyStringToClipboard(myq, mystr, show)
},
copyStringToClipboardSilent(mystr: string) { copyStringToClipboardSilent(mystr: string) {
copyToClipboard(mystr) copyToClipboard(mystr)
@@ -6983,6 +6987,7 @@ export const tools = {
}, },
async sendMsgTelegramCmd($q: any, $t: any, cmd: number, showmsgsent: boolean, text?: string, title?: string) { async sendMsgTelegramCmd($q: any, $t: any, cmd: number, showmsgsent: boolean, text?: string, title?: string) {
const userStore = useUserStore()
let mydata: IMsgGlobParam = { let mydata: IMsgGlobParam = {
typemsg: 0, typemsg: 0,
@@ -6998,8 +7003,12 @@ export const tools = {
showmsgsent = false showmsgsent = false
} }
return this.sendMsgTelegram($q, $t, mydata, showmsgsent) if (cmd === shared_consts.CmdToSend.SHARE_MSGREG) {
const link = userStore.getRefLink(userStore.my.username)
tools.copyStringToClipboard($q, link, true)
}
return this.sendMsgTelegram($q, $t, mydata, showmsgsent)
}, },
getFieldSearchByTable(mytable: string, tablejoin: string, field: string) { getFieldSearchByTable(mytable: string, tablejoin: string, field: string) {

View File

@@ -117,6 +117,7 @@ export default defineComponent({
'profile.img': 1, 'profile.img': 1,
'profile.born_city_id': 1, 'profile.born_city_id': 1,
'profile.qualifica': 1, 'profile.qualifica': 1,
'profile.handshake': 1,
reported: 1, reported: 1,
date_report: 1, date_report: 1,
username_who_report: 1, username_who_report: 1,
@@ -143,6 +144,7 @@ export default defineComponent({
date_report: 1, date_report: 1,
username_who_report: 1, username_who_report: 1,
'profile.born_city_id': 1, 'profile.born_city_id': 1,
'profile.handshake': 1,
} }
}, },

View File

@@ -284,7 +284,7 @@
> >
</q-btn> </q-btn>
</div> </div>
<div v-if="userStore.userprofile.username !== myusername()"> <div v-if="userStore.userprofile.username !== myusername()" class="row justify-center">
<q-chip <q-chip
v-if=" v-if="
userStore.IsHandShakeByMe(userStore.userprofile) && userStore.IsHandShakeByMe(userStore.userprofile) &&
@@ -379,6 +379,7 @@
" "
icon="fas fa-handshake" icon="fas fa-handshake"
color="positive" color="positive"
dense
:label="$t('handshake.accept_you_too_handshake')" :label="$t('handshake.accept_you_too_handshake')"
@click=" @click="
tools.addToMyHandShake( tools.addToMyHandShake(
@@ -392,6 +393,7 @@
v-else v-else
icon="fas fa-handshake" icon="fas fa-handshake"
color="positive" color="positive"
dense
:label="$t('handshake.accept_handshake')" :label="$t('handshake.accept_handshake')"
@click=" @click="
tools.addToMyHandShake( tools.addToMyHandShake(
@@ -421,6 +423,7 @@
<q-btn <q-btn
icon="fas fa-user-plus" icon="fas fa-user-plus"
color="positive" color="positive"
dense
:label="$t('friends.accept_friend')" :label="$t('friends.accept_friend')"
@click=" @click="
tools.addToMyFriends( tools.addToMyFriends(
@@ -455,6 +458,7 @@
" "
icon="fas fa-user-plus" icon="fas fa-user-plus"
color="primary" color="primary"
dense
:label="$t('friends.ask_friend')" :label="$t('friends.ask_friend')"
@click=" @click="
tools.setRequestFriendship( tools.setRequestFriendship(
@@ -477,6 +481,7 @@
" "
class="text-center" class="text-center"
rounded rounded
dense
icon="fas fa-ellipsis-h" icon="fas fa-ellipsis-h"
> >
<q-menu> <q-menu>
@@ -585,6 +590,7 @@
) )
" "
icon="fas fa-user-minus" icon="fas fa-user-minus"
dense
:label="$t('friends.cancel_ask_friend_short')" :label="$t('friends.cancel_ask_friend_short')"
@click=" @click="
tools.cancelReqFriends( tools.cancelReqFriends(