Non funziona correttamente la richiesta di amicizia dalla ricerca Amici
This commit is contained in:
@@ -1,4 +1,4 @@
|
||||
APP_VERSION="0.2.0"
|
||||
APP_VERSION="0.2.1"
|
||||
SERVICE_WORKER_FILE="service-worker.js"
|
||||
APP_ID="13"
|
||||
DIRECTORY_LOCAL="newfreeplanet"
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
APP_VERSION="0.2.0"
|
||||
APP_VERSION="0.2.1"
|
||||
SERVICE_WORKER_FILE="service-worker.js"
|
||||
APP_ID="1"
|
||||
DIRECTORY_LOCAL="newfreeplanet"
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
APP_VERSION="0.2.0"
|
||||
APP_VERSION="0.2.1"
|
||||
SERVICE_WORKER_FILE="service-worker.js"
|
||||
APP_ID="13"
|
||||
DIRECTORY_LOCAL="newfreeplanet"
|
||||
|
||||
@@ -147,7 +147,7 @@ module.exports = configure((ctx) => ({
|
||||
},
|
||||
devServer: {
|
||||
https: false,
|
||||
port: 8082,
|
||||
port: 8084,
|
||||
open: false, // opens browser window automatically
|
||||
},
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
APP_VERSION="0.2.0"
|
||||
APP_VERSION="0.2.1"
|
||||
SERVICE_WORKER_FILE="service-worker.js"
|
||||
APP_ID="12"
|
||||
DIRECTORY_LOCAL="newfreeplanet"
|
||||
|
||||
@@ -147,7 +147,7 @@ module.exports = configure((ctx) => ({
|
||||
},
|
||||
devServer: {
|
||||
https: false,
|
||||
port: 8082,
|
||||
port: 8084,
|
||||
open: false, // opens browser window automatically
|
||||
},
|
||||
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
import { CMyUser } from '@/components/CMyUser'
|
||||
import { CUserNonVerif } from '@/components/CUserNonVerif'
|
||||
import { computed, defineComponent, onMounted, PropType, ref, toRef } from 'vue'
|
||||
import { useUserStore } from '@store/UserStore'
|
||||
import { useI18n } from '@/boot/i18n'
|
||||
@@ -11,7 +12,7 @@ import { tools } from '@store/Modules/tools'
|
||||
|
||||
export default defineComponent({
|
||||
name: 'CMyFriends',
|
||||
components: { CMyUser },
|
||||
components: { CMyUser, CUserNonVerif },
|
||||
emits: ['update:modelValue'],
|
||||
props: {
|
||||
modelValue: {
|
||||
@@ -156,9 +157,6 @@ export default defineComponent({
|
||||
userStore.loadFriends(username.value).then((ris) => {
|
||||
// console.log('ris', ris)
|
||||
if (ris) {
|
||||
userStore.my.profile.friends = ris.listFriends ? ris.listFriends : []
|
||||
userStore.my.profile.req_friends = ris.listRequestFriends ? ris.listRequestFriends : []
|
||||
userStore.my.profile.asked_friends = ris.listSentRequestFriends ? ris.listSentRequestFriends : []
|
||||
listTrusted.value = ris.listTrusted ? ris.listTrusted : []
|
||||
filtroutente.value = [{ userId: userStore.my._id }]
|
||||
}
|
||||
|
||||
@@ -1,26 +1,27 @@
|
||||
<template>
|
||||
<div v-if="finder" class="q-gutter-sm q-pa-sm q-pb-sm">
|
||||
<q-btn-toggle
|
||||
:model-value="modelValue"
|
||||
@update:model-value="updateValue"
|
||||
class="my-custom-toggle"
|
||||
no-caps
|
||||
rounded
|
||||
unelevated
|
||||
push
|
||||
toggle-color="primary"
|
||||
color="white"
|
||||
text-color="primary"
|
||||
:options="myoptions"
|
||||
/>
|
||||
</div>
|
||||
<div v-if="finder" class="">
|
||||
|
||||
<div v-if="modelValue === costanti.FIND_PEOPLE">
|
||||
<slot></slot>
|
||||
<div v-if="tools.isUserOk()">
|
||||
<div v-if="finder" class="q-gutter-sm q-pa-sm q-pb-sm">
|
||||
<q-btn-toggle
|
||||
:model-value="modelValue"
|
||||
@update:model-value="updateValue"
|
||||
class="my-custom-toggle"
|
||||
no-caps
|
||||
rounded
|
||||
unelevated
|
||||
push
|
||||
toggle-color="primary"
|
||||
color="white"
|
||||
text-color="primary"
|
||||
:options="myoptions"
|
||||
/>
|
||||
</div>
|
||||
<div v-else>
|
||||
<q-list>
|
||||
<div v-if="finder" class="">
|
||||
|
||||
<div v-if="modelValue === costanti.FIND_PEOPLE">
|
||||
<slot></slot>
|
||||
</div>
|
||||
<div v-else>
|
||||
<q-list>
|
||||
<span v-for="(contact, index) in listfriendsfiltered" :key="index" class="q-my-sm" clickable>
|
||||
<CMyUser
|
||||
:mycontact="contact"
|
||||
@@ -28,11 +29,11 @@
|
||||
:visu="modelValue">
|
||||
</CMyUser>
|
||||
</span>
|
||||
</q-list>
|
||||
</q-list>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div v-else>
|
||||
<q-list class="width-container">
|
||||
<div v-else>
|
||||
<q-list class="width-container">
|
||||
<span class="q-my-sm" clickable>
|
||||
<CMyUser
|
||||
:mycontact="mycontact"
|
||||
@@ -42,7 +43,11 @@
|
||||
:labelextra="labelextra">
|
||||
</CMyUser>
|
||||
</span>
|
||||
</q-list>
|
||||
</q-list>
|
||||
</div>
|
||||
</div>
|
||||
<div v-else>
|
||||
<CUserNonVerif></CUserNonVerif>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
|
||||
@@ -7,10 +7,12 @@ import { tools } from '@store/Modules/tools'
|
||||
import { useQuasar } from 'quasar'
|
||||
import { useI18n } from '@/boot/i18n'
|
||||
import { useRoute, useRouter } from 'vue-router'
|
||||
import { CUserNonVerif } from '@/components/CUserNonVerif'
|
||||
|
||||
export default defineComponent({
|
||||
name: 'CMyGroup',
|
||||
emits: ['setCmd'],
|
||||
components: {CUserNonVerif},
|
||||
props: {
|
||||
mygrp: {
|
||||
type: Object as PropType<IMyGroup | null>,
|
||||
@@ -81,6 +83,7 @@ export default defineComponent({
|
||||
setCmd,
|
||||
shared_consts,
|
||||
userStore,
|
||||
tools,
|
||||
$q,
|
||||
}
|
||||
},
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
<template>
|
||||
<div v-if="tools.isUserOk()">
|
||||
<div v-if="grp">
|
||||
<q-item class="q-my-sm" clickable>
|
||||
<q-item-section avatar @click="naviga(`/grp/` + grp.groupname)">
|
||||
@@ -85,6 +86,10 @@
|
||||
</q-item-section>
|
||||
</q-item>
|
||||
</div>
|
||||
</div>
|
||||
<div v-else>
|
||||
<CUserNonVerif></CUserNonVerif>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script lang="ts" src="./CMyGroup.ts">
|
||||
|
||||
@@ -7,11 +7,12 @@ import { costanti } from '@costanti'
|
||||
import { IMyGroup, ISearchList, IUserFields } from 'model'
|
||||
import { shared_consts } from '@/common/shared_vuejs'
|
||||
import { tools } from '@store/Modules/tools'
|
||||
import { CUserNonVerif } from '@/components/CUserNonVerif'
|
||||
|
||||
|
||||
export default defineComponent({
|
||||
name: 'CMyGroups',
|
||||
components: { CMyGroup },
|
||||
components: { CMyGroup, CUserNonVerif },
|
||||
emits: ['update:modelValue'],
|
||||
props: {
|
||||
modelValue: {
|
||||
|
||||
@@ -1,43 +1,48 @@
|
||||
<template>
|
||||
<div v-if="finder" class="q-gutter-sm q-pa-sm q-pb-sm">
|
||||
<q-btn-toggle
|
||||
:model-value="modelValue"
|
||||
@update:model-value="updateValue"
|
||||
class="my-custom-toggle"
|
||||
no-caps
|
||||
rounded
|
||||
unelevated
|
||||
push
|
||||
toggle-color="primary"
|
||||
color="white"
|
||||
text-color="primary"
|
||||
:options="myoptions"
|
||||
/>
|
||||
</div>
|
||||
<div v-if="finder" class="">
|
||||
<div v-if="modelValue === costanti.FIND_GROUP">
|
||||
<slot></slot>
|
||||
<div v-if="tools.isUserOk()">
|
||||
<div v-if="finder" class="q-gutter-sm q-pa-sm q-pb-sm">
|
||||
<q-btn-toggle
|
||||
:model-value="modelValue"
|
||||
@update:model-value="updateValue"
|
||||
class="my-custom-toggle"
|
||||
no-caps
|
||||
rounded
|
||||
unelevated
|
||||
push
|
||||
toggle-color="primary"
|
||||
color="white"
|
||||
text-color="primary"
|
||||
:options="myoptions"
|
||||
/>
|
||||
</div>
|
||||
<div v-else>
|
||||
<q-list>
|
||||
<div v-if="finder" class="">
|
||||
<div v-if="modelValue === costanti.FIND_GROUP">
|
||||
<slot></slot>
|
||||
</div>
|
||||
<div v-else>
|
||||
<q-list>
|
||||
<span v-for="(grp, index) in listgroupsfiltered" :key="index" class="q-my-sm" clickable>
|
||||
<CMyGroup
|
||||
:mygrp="grp"
|
||||
:visu="modelValue">
|
||||
</CMyGroup>
|
||||
</span>
|
||||
</q-list>
|
||||
</q-list>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div v-else>
|
||||
<q-list class="width-container">
|
||||
<div v-else>
|
||||
<q-list class="width-container">
|
||||
<span class="q-my-sm" clickable>
|
||||
<CMyGroup
|
||||
:mygrp="mygrp"
|
||||
:visu="visu">
|
||||
</CMyGroup>
|
||||
</span>
|
||||
</q-list>
|
||||
</q-list>
|
||||
</div>
|
||||
</div>
|
||||
<div v-else>
|
||||
<CUserNonVerif></CUserNonVerif>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
|
||||
@@ -1,8 +1,12 @@
|
||||
<template>
|
||||
<div class="q-ma-md">
|
||||
<CTitleBanner title="Verifica">
|
||||
La verifica è in corso. Ti arriverà un messaggio dal Bot quando sarai abilitato.
|
||||
</CTitleBanner>
|
||||
<q-banner inline-actions rounded class="bg-orange text-white">
|
||||
<template v-slot:avatar>
|
||||
<q-icon name="info" color="primary" />
|
||||
</template>
|
||||
<strong>La verifica è in corso. Ti arriverà un messaggio sul Bot Telegram quando verrai abilitato dal tuo invitante.</strong>
|
||||
|
||||
</q-banner>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
|
||||
@@ -13,11 +13,11 @@
|
||||
|
||||
|
||||
<div v-if="isLogged()">
|
||||
<CVerifyTelegram v-if="TelegCode() || !TelegVerificato()">
|
||||
<CVerifyTelegram v-if="!TelegVerificato()">
|
||||
|
||||
</CVerifyTelegram>
|
||||
|
||||
<CVerifyEmail v-if="!isEmailVerified()">
|
||||
<CVerifyEmail v-if="!isEmailVerified() && !TelegVerificato()">
|
||||
|
||||
</CVerifyEmail>
|
||||
|
||||
@@ -31,6 +31,8 @@
|
||||
|
||||
</CCopyBtn>
|
||||
|
||||
<div>Versione: {{tools.getvers()}}</div>
|
||||
|
||||
</div>
|
||||
<div v-else>
|
||||
<CUserNonVerif></CUserNonVerif>
|
||||
|
||||
0
src/root/mobility/mobility.scss
Executable file
0
src/root/mobility/mobility.scss
Executable file
66
src/root/mobility/mobility.ts
Executable file
66
src/root/mobility/mobility.ts
Executable file
@@ -0,0 +1,66 @@
|
||||
import {
|
||||
defineComponent, ref, computed,
|
||||
} from 'vue'
|
||||
|
||||
import { tools } from '@src/store/Modules/tools'
|
||||
import { CSkill } from '@/components/CSkill'
|
||||
import { CFinder } from '@/components/CFinder'
|
||||
import { CDashboard } from '@/components/CDashboard'
|
||||
import { CTitleBanner } from '@/components/CTitleBanner'
|
||||
import { CChartMap } from '@src/components/CChartMap'
|
||||
import { CUserNonVerif } from '@/components/CUserNonVerif'
|
||||
import { CMapsEsempio } from '@src/components/CMapsEsempio'
|
||||
import { CVerifyEmail } from '@src/components/CVerifyEmail'
|
||||
import { CVerifyTelegram } from '@src/components/CVerifyTelegram'
|
||||
import { useGlobalStore } from '@store/globalStore'
|
||||
import { useUserStore } from '@store/UserStore'
|
||||
import { static_data } from '@/db/static_data'
|
||||
import MixinBase from '@/mixins/mixin-base'
|
||||
import MixinUsers from '@/mixins/mixin-users'
|
||||
|
||||
|
||||
export default defineComponent({
|
||||
name: 'mobility',
|
||||
components: { CSkill, CChartMap, CMapsEsempio, CFinder, CVerifyEmail, CVerifyTelegram, CDashboard, CUserNonVerif, CTitleBanner },
|
||||
setup() {
|
||||
const globalStore = useGlobalStore()
|
||||
const userStore = useUserStore()
|
||||
const { getValDb } = MixinBase()
|
||||
const { isEmailVerified, TelegVerificato } = MixinUsers()
|
||||
|
||||
function TelegCode() {
|
||||
return userStore.my.profile.teleg_checkcode
|
||||
}
|
||||
|
||||
function openrighttoolbar() {
|
||||
globalStore.rightDrawerOpen = true
|
||||
}
|
||||
|
||||
function isLogged() {
|
||||
return userStore.isLogged
|
||||
}
|
||||
function isUserOk() {
|
||||
return userStore.isUserOk()
|
||||
}
|
||||
|
||||
function getLinkBotTelegram(): string {
|
||||
if ( tools.isTest() && !process.env.DEV) {
|
||||
return getValDb('TELEG_BOT_LINK_TEST', false)
|
||||
} else{
|
||||
return getValDb('TELEG_BOT_LINK', false)
|
||||
}
|
||||
}
|
||||
|
||||
return {
|
||||
tools,
|
||||
static_data,
|
||||
isEmailVerified,
|
||||
TelegCode,
|
||||
TelegVerificato,
|
||||
isLogged,
|
||||
openrighttoolbar,
|
||||
isUserOk,
|
||||
getLinkBotTelegram,
|
||||
}
|
||||
},
|
||||
})
|
||||
15
src/root/mobility/mobility.vue
Executable file
15
src/root/mobility/mobility.vue
Executable file
@@ -0,0 +1,15 @@
|
||||
<template>
|
||||
<q-page class="">
|
||||
|
||||
<CTitleBanner title="Pagina in Costruzione">
|
||||
Questo strumento è attualmente in costruzione
|
||||
</CTitleBanner>
|
||||
|
||||
</q-page>
|
||||
|
||||
</template>
|
||||
<script lang="ts" src="./mobility.ts">
|
||||
</script>
|
||||
<style lang="scss" scoped>
|
||||
@import './mobility.scss';
|
||||
</style>
|
||||
0
src/root/scuola/scuola.scss
Executable file
0
src/root/scuola/scuola.scss
Executable file
66
src/root/scuola/scuola.ts
Executable file
66
src/root/scuola/scuola.ts
Executable file
@@ -0,0 +1,66 @@
|
||||
import {
|
||||
defineComponent, ref, computed,
|
||||
} from 'vue'
|
||||
|
||||
import { tools } from '@src/store/Modules/tools'
|
||||
import { CSkill } from '@/components/CSkill'
|
||||
import { CFinder } from '@/components/CFinder'
|
||||
import { CDashboard } from '@/components/CDashboard'
|
||||
import { CTitleBanner } from '@/components/CTitleBanner'
|
||||
import { CChartMap } from '@src/components/CChartMap'
|
||||
import { CUserNonVerif } from '@/components/CUserNonVerif'
|
||||
import { CMapsEsempio } from '@src/components/CMapsEsempio'
|
||||
import { CVerifyEmail } from '@src/components/CVerifyEmail'
|
||||
import { CVerifyTelegram } from '@src/components/CVerifyTelegram'
|
||||
import { useGlobalStore } from '@store/globalStore'
|
||||
import { useUserStore } from '@store/UserStore'
|
||||
import { static_data } from '@/db/static_data'
|
||||
import MixinBase from '@/mixins/mixin-base'
|
||||
import MixinUsers from '@/mixins/mixin-users'
|
||||
|
||||
|
||||
export default defineComponent({
|
||||
name: 'work',
|
||||
components: { CSkill, CChartMap, CMapsEsempio, CFinder, CVerifyEmail, CVerifyTelegram, CDashboard, CUserNonVerif, CTitleBanner },
|
||||
setup() {
|
||||
const globalStore = useGlobalStore()
|
||||
const userStore = useUserStore()
|
||||
const { getValDb } = MixinBase()
|
||||
const { isEmailVerified, TelegVerificato } = MixinUsers()
|
||||
|
||||
function TelegCode() {
|
||||
return userStore.my.profile.teleg_checkcode
|
||||
}
|
||||
|
||||
function openrighttoolbar() {
|
||||
globalStore.rightDrawerOpen = true
|
||||
}
|
||||
|
||||
function isLogged() {
|
||||
return userStore.isLogged
|
||||
}
|
||||
function isUserOk() {
|
||||
return userStore.isUserOk()
|
||||
}
|
||||
|
||||
function getLinkBotTelegram(): string {
|
||||
if ( tools.isTest() && !process.env.DEV) {
|
||||
return getValDb('TELEG_BOT_LINK_TEST', false)
|
||||
} else{
|
||||
return getValDb('TELEG_BOT_LINK', false)
|
||||
}
|
||||
}
|
||||
|
||||
return {
|
||||
tools,
|
||||
static_data,
|
||||
isEmailVerified,
|
||||
TelegCode,
|
||||
TelegVerificato,
|
||||
isLogged,
|
||||
openrighttoolbar,
|
||||
isUserOk,
|
||||
getLinkBotTelegram,
|
||||
}
|
||||
},
|
||||
})
|
||||
15
src/root/scuola/scuola.vue
Executable file
15
src/root/scuola/scuola.vue
Executable file
@@ -0,0 +1,15 @@
|
||||
<template>
|
||||
<q-page class="">
|
||||
|
||||
<CTitleBanner title="Pagina in Costruzione">
|
||||
Questo strumento è attualmente in costruzione
|
||||
</CTitleBanner>
|
||||
|
||||
</q-page>
|
||||
|
||||
</template>
|
||||
<script lang="ts" src="./scuola.ts">
|
||||
</script>
|
||||
<style lang="scss" scoped>
|
||||
@import './scuola.scss';
|
||||
</style>
|
||||
@@ -4881,7 +4881,12 @@ export const tools = {
|
||||
}
|
||||
return ''
|
||||
|
||||
}
|
||||
},
|
||||
|
||||
isUserOk(){
|
||||
const userStore = useUserStore()
|
||||
return userStore.isUserOk()
|
||||
},
|
||||
|
||||
|
||||
// getLocale() {
|
||||
|
||||
@@ -192,6 +192,13 @@ export const useUserStore = defineStore('UserStore', {
|
||||
return false
|
||||
},
|
||||
|
||||
IsReqFriendByUsername(username: string): boolean {
|
||||
if (this.my.profile.req_friends)
|
||||
return this.my.profile.req_friends.findIndex((rec) => rec.username === username) >= 0
|
||||
else
|
||||
return false
|
||||
},
|
||||
|
||||
IsAskedGroupByGroupname(groupname: string): boolean {
|
||||
if (this.my.profile.asked_groups)
|
||||
return this.my.profile.asked_groups.findIndex((rec: IMyGroup) => rec.groupname === groupname) >= 0
|
||||
@@ -892,8 +899,12 @@ export const useUserStore = defineStore('UserStore', {
|
||||
}
|
||||
|
||||
return Api.SendReq('/users/profile', 'POST', data)
|
||||
.then((res) => {
|
||||
return res.data
|
||||
.then((ris) => {
|
||||
this.my.profile.friends = ris.data.friends.listFriends ? ris.data.friends.listFriends : []
|
||||
this.my.profile.req_friends = ris.data.friends.listRequestFriends ? ris.data.friends.listRequestFriends : []
|
||||
this.my.profile.asked_friends = ris.data.friends.listSentRequestFriends ? ris.data.friends.listSentRequestFriends : []
|
||||
|
||||
return ris.data.user
|
||||
}).catch((error) => {
|
||||
return {}
|
||||
})
|
||||
@@ -930,8 +941,11 @@ export const useUserStore = defineStore('UserStore', {
|
||||
|
||||
async loadFriends(username: string) {
|
||||
return Api.SendReq('/users/friends', 'POST', null)
|
||||
.then((res) => {
|
||||
return res.data
|
||||
.then((ris) => {
|
||||
this.my.profile.friends = ris.data.listFriends ? ris.data.listFriends : []
|
||||
this.my.profile.req_friends = ris.data.listRequestFriends ? ris.data.listRequestFriends : []
|
||||
this.my.profile.asked_friends = ris.data.listSentRequestFriends ? ris.data.listSentRequestFriends : []
|
||||
return ris.data
|
||||
}).catch((error) => {
|
||||
return {}
|
||||
})
|
||||
|
||||
@@ -4,6 +4,7 @@ import { CProfile } from '@/components/CProfile'
|
||||
import { CCopyBtn } from '@/components/CCopyBtn'
|
||||
import { CSkill } from '@/components/CSkill'
|
||||
import { CDateTime } from '@/components/CDateTime'
|
||||
import { CUserNonVerif } from '@/components/CUserNonVerif'
|
||||
import { tools } from '@store/Modules/tools'
|
||||
import { computed, defineComponent, onMounted, ref, watch } from 'vue'
|
||||
import { useUserStore } from '@store/UserStore'
|
||||
@@ -21,7 +22,7 @@ import MixinUsers from '@/mixins/mixin-users'
|
||||
|
||||
export default defineComponent({
|
||||
name: 'myprofile',
|
||||
components: { CProfile, CTitleBanner, CMyFieldDb, CSkill, CDateTime, CCopyBtn },
|
||||
components: { CProfile, CTitleBanner, CMyFieldDb, CSkill, CDateTime, CCopyBtn, CUserNonVerif },
|
||||
props: {},
|
||||
setup() {
|
||||
const userStore = useUserStore()
|
||||
|
||||
@@ -1,162 +1,194 @@
|
||||
<template>
|
||||
<div class="q-gutter-sm q-pa-sm q-pb-md">
|
||||
<div v-if="myuser.date_reg" class="fit column no-wrap justify-evenly items-center content-start">
|
||||
<div v-if="tools.isUserOk()">
|
||||
<div class="q-gutter-sm q-pa-sm q-pb-md">
|
||||
<div v-if="myuser.date_reg" class="fit column no-wrap justify-evenly items-center content-start">
|
||||
|
||||
<div class="">
|
||||
<q-avatar size="140px">
|
||||
<q-img :src="getImgUser()" :alt="username" img-class="imgprofile" height="140px" @click="showPic = true"/>
|
||||
</q-avatar>
|
||||
</div>
|
||||
|
||||
<div v-if="static_data.functionality.SHOW_NAMESURNAME">
|
||||
<div class="text-h6">
|
||||
<span v-if="checkifShow('name')"> {{ myuser.name }}</span> <span v-if="checkifShow('surname')">{{
|
||||
myuser.surname
|
||||
}}</span>
|
||||
<div class="">
|
||||
<q-avatar size="140px">
|
||||
<q-img :src="getImgUser()" :alt="username" img-class="imgprofile" height="140px" @click="showPic = true"/>
|
||||
</q-avatar>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-12 text-h7 text-blue text-shadow-2">
|
||||
{{ myuser.username }}
|
||||
</div>
|
||||
<div class="col-12 text-h7">
|
||||
<span v-if="myuser.profile && myuser.profile.born_city">{{ myuser.profile.born_city }}</span> <span
|
||||
v-if="myuser.profile && myuser.profile.nationality && myuser.profile.nationality !== 'Italia'">({{
|
||||
myuser.profile.nationality
|
||||
}})</span>
|
||||
</div>
|
||||
<div v-if="myuser._id" class="col-12 text-h8 q-mt-sm">
|
||||
|
||||
<div v-if="static_data.functionality.SHOW_NAMESURNAME">
|
||||
<div class="text-h6">
|
||||
<span v-if="checkifShow('name')"> {{ myuser.name }}</span> <span v-if="checkifShow('surname')">{{
|
||||
myuser.surname
|
||||
}}</span>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-12 text-h7 text-blue text-shadow-2">
|
||||
{{ myuser.username }}
|
||||
</div>
|
||||
<div class="col-12 text-h7">
|
||||
<span v-if="myuser.profile && myuser.profile.born_city">{{ myuser.profile.born_city }}</span> <span
|
||||
v-if="myuser.profile && myuser.profile.nationality && myuser.profile.nationality !== 'Italia'">({{
|
||||
myuser.profile.nationality
|
||||
}})</span>
|
||||
</div>
|
||||
<div v-if="myuser._id" class="col-12 text-h8 q-mt-sm">
|
||||
<span v-if="myuser.profile.qualifica">
|
||||
<em><span class="qualifica">{{ myuser.profile.qualifica }}</span></em>
|
||||
</span>
|
||||
</div>
|
||||
<div v-if="myuser._id" class="col-12 text-h8 q-mt-sm">
|
||||
{{ myuser.profile.biografia }}
|
||||
</div>
|
||||
</div>
|
||||
<div v-if="myuser._id" class="col-12 text-h8 q-mt-sm">
|
||||
{{ myuser.profile.biografia }}
|
||||
</div>
|
||||
|
||||
<div v-if="!isMyRecord(myuser.username)">
|
||||
<q-btn
|
||||
v-if="!userStore.IsMyFriendByUsername(myuser.username) && !userStore.IsAskedFriendByUsername(myuser.username)"
|
||||
icon="fas fa-user-plus"
|
||||
color="primary" :label="$t('friends.ask_friend')"
|
||||
@click="tools.setRequestFriendship($q, userStore.my.username, myuser.username, true)"
|
||||
/>
|
||||
<q-btn
|
||||
v-if="userStore.IsAskedFriendByUsername(myuser.username) && !userStore.IsMyFriendByUsername(myuser.username)"
|
||||
icon="fas fa-user-minus"
|
||||
flat :label="$t('friends.cancel_ask_friend_short')"
|
||||
@click="tools.cancelReqFriends($q, userStore.my.username, myuser.username)"
|
||||
/>
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
<q-btn
|
||||
v-if="myuser.username === myusername()" icon="fas fa-pencil-alt"
|
||||
color="blue"
|
||||
size="md"
|
||||
:label="$t('otherpages.modifprof')"
|
||||
to="/editprofile">
|
||||
</q-btn>
|
||||
|
||||
<div v-if="myuser._id" 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">
|
||||
<div v-if="!isMyRecord(myuser.username)">
|
||||
<q-btn
|
||||
v-if="getLinkUserTelegram()" icon="fab fa-telegram"
|
||||
color="blue" type="a"
|
||||
size="md"
|
||||
rounded
|
||||
:label="$t('msgs.telegrammsg')"
|
||||
:href="getLinkUserTelegram()" target="__blank">
|
||||
v-if="userStore.IsReqFriendByUsername(myuser.username)"
|
||||
icon="fas fa-user-plus"
|
||||
color="primary" :label="$t('friends.accept_friend')"
|
||||
@click="tools.addToMyFriends($q, userStore.my.username, myuser.username)"
|
||||
/>
|
||||
<div v-else>
|
||||
<q-btn
|
||||
v-if="!userStore.IsMyFriendByUsername(myuser.username) && !userStore.IsAskedFriendByUsername(myuser.username)"
|
||||
icon="fas fa-user-plus"
|
||||
color="primary" :label="$t('friends.ask_friend')"
|
||||
@click="tools.setRequestFriendship($q, userStore.my.username, myuser.username, true)"
|
||||
/>
|
||||
</div>
|
||||
|
||||
<q-btn v-if="userStore.IsMyFriendByUsername(myuser.username)" rounded icon="fas fa-ellipsis-h" >
|
||||
<q-menu>
|
||||
<q-list v-if="true" style="min-width: 150px">
|
||||
<q-item clickable
|
||||
icon="fas fa-user-minus"
|
||||
v-close-popup @click="tools.removeFromMyFriends($q, userStore.my.username, myuser.username)">
|
||||
<q-item-section>{{ $t('friends.remove_from_myfriends') }}</q-item-section>
|
||||
</q-item>
|
||||
<q-item 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-list>
|
||||
</q-menu>
|
||||
</q-btn>
|
||||
|
||||
</div>
|
||||
<div 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>
|
||||
v-if="userStore.IsAskedFriendByUsername(myuser.username) && !userStore.IsMyFriendByUsername(myuser.username)"
|
||||
icon="fas fa-user-minus"
|
||||
:label="$t('friends.cancel_ask_friend_short')"
|
||||
@click="tools.cancelReqFriends($q, userStore.my.username, myuser.username)"
|
||||
/>
|
||||
|
||||
</div>
|
||||
|
||||
<CCopyBtn :title="$t('reg.link_reg')" :texttocopy="getRefLink(username)">
|
||||
|
||||
</CCopyBtn>
|
||||
<q-btn
|
||||
v-if="myuser.username === myusername()" icon="fas fa-pencil-alt"
|
||||
color="blue"
|
||||
size="md"
|
||||
:label="$t('otherpages.modifprof')"
|
||||
to="/editprofile">
|
||||
</q-btn>
|
||||
|
||||
<div v-if="myuser._id" 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>
|
||||
<div 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>
|
||||
|
||||
<CCopyBtn v-if="myuser.username === myusername()" :title="$t('reg.link_reg')"
|
||||
:texttocopy="getRefLink(username)">
|
||||
|
||||
</CCopyBtn>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div v-else class="fit column no-wrap justify-evenly items-center content-start">
|
||||
<q-skeleton type="QAvatar" size="140px" height="140px" animation="fade"/>
|
||||
<q-card flat bordered style="width: 250px">
|
||||
<div class="text-h6">
|
||||
<q-skeleton :animation="animation"/>
|
||||
</div>
|
||||
<div class="col-12 text-h7 text-grey text-center">
|
||||
{{ username }}
|
||||
</div>
|
||||
<div class="col-12 text-h7">
|
||||
<q-skeleton :animation="animation"/>
|
||||
</div>
|
||||
<div v-else class="fit column no-wrap justify-evenly items-center content-start">
|
||||
<q-skeleton type="QAvatar" size="140px" height="140px" animation="fade"/>
|
||||
<q-card flat bordered style="width: 250px">
|
||||
<div class="text-h6">
|
||||
<q-skeleton :animation="animation"/>
|
||||
</div>
|
||||
<div class="col-12 text-h7 text-grey text-center">
|
||||
{{ username }}
|
||||
</div>
|
||||
<div class="col-12 text-h7">
|
||||
<q-skeleton :animation="animation"/>
|
||||
</div>
|
||||
|
||||
<div class="col-12 text-h8 q-mt-sm">
|
||||
<q-skeleton :animation="animation"/>
|
||||
</div>
|
||||
<div class="col-12 text-h8 q-mt-sm">
|
||||
<q-skeleton :animation="animation"/>
|
||||
</div>
|
||||
</q-card>
|
||||
</div>
|
||||
<div class="col-12 text-h8 q-mt-sm">
|
||||
<q-skeleton :animation="animation"/>
|
||||
</div>
|
||||
<div class="col-12 text-h8 q-mt-sm">
|
||||
<q-skeleton :animation="animation"/>
|
||||
</div>
|
||||
</q-card>
|
||||
</div>
|
||||
|
||||
<CTitleBanner
|
||||
class="" title="Competenze e Talenti" bgcolor="bg-positive" clcolor="text-white"
|
||||
myclass="myshad" :canopen="true">
|
||||
|
||||
<CSkill
|
||||
:filtercustom="filtroutente"
|
||||
:butt_modif_new="isMyRecord(myuser.username)"
|
||||
|
||||
>
|
||||
|
||||
</CSkill>
|
||||
|
||||
|
||||
</CTitleBanner>
|
||||
|
||||
<div v-if="myuser._id">
|
||||
<CTitleBanner
|
||||
class="" :title="$t('dashboard.info')" bgcolor="bg-primary" clcolor="text-white"
|
||||
class="" title="Competenze e Talenti" bgcolor="bg-positive" clcolor="text-white"
|
||||
myclass="myshad" :canopen="true">
|
||||
|
||||
<div v-if="myuser.profile" class="fit column no-wrap justify-evenly content-start">
|
||||
<CSkill
|
||||
:filtercustom="filtroutente"
|
||||
:butt_modif_new="isMyRecord(myuser.username)"
|
||||
|
||||
<div class="col-6 text-h6">
|
||||
<CDateTime
|
||||
v-if="checkifShow('profile.dateofbirth') && !!myuser.profile.dateofbirth"
|
||||
v-model:value="myuser.profile.dateofbirth"
|
||||
:label="$t('reg.dateofbirth')"
|
||||
:canEdit="false">
|
||||
</CDateTime>
|
||||
>
|
||||
|
||||
</CSkill>
|
||||
|
||||
|
||||
</CTitleBanner>
|
||||
|
||||
<div v-if="myuser._id">
|
||||
<CTitleBanner
|
||||
class="" :title="$t('dashboard.info')" bgcolor="bg-primary" clcolor="text-white"
|
||||
myclass="myshad" :canopen="true">
|
||||
|
||||
<div v-if="myuser.profile" class="fit column no-wrap justify-evenly content-start">
|
||||
|
||||
<div class="col-6 text-h6">
|
||||
<CDateTime
|
||||
v-if="checkifShow('profile.dateofbirth') && !!myuser.profile.dateofbirth"
|
||||
v-model:value="myuser.profile.dateofbirth"
|
||||
:label="$t('reg.dateofbirth')"
|
||||
:canEdit="false">
|
||||
</CDateTime>
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</CTitleBanner>
|
||||
</div>
|
||||
|
||||
|
||||
</CTitleBanner>
|
||||
</div>
|
||||
<q-dialog
|
||||
v-model="showPic"
|
||||
full-height full-width
|
||||
>
|
||||
|
||||
<img :src="getImgUser()" :alt="username" class="full-width">
|
||||
|
||||
</q-dialog>
|
||||
</div>
|
||||
<div v-else>
|
||||
<CUserNonVerif></CUserNonVerif>
|
||||
</div>
|
||||
<q-dialog
|
||||
v-model="showPic"
|
||||
full-height full-width
|
||||
>
|
||||
|
||||
<img :src="getImgUser()" :alt="username" class="full-width">
|
||||
|
||||
</q-dialog>
|
||||
|
||||
</template>
|
||||
|
||||
|
||||
Reference in New Issue
Block a user