- Registrazione: conferma Abilitazione da Telegram

- Richiesta Amicizia
This commit is contained in:
paoloar77
2022-01-16 23:20:46 +01:00
parent 42e7037100
commit 2d3eff1065
14 changed files with 159 additions and 93 deletions

View File

@@ -101,6 +101,22 @@ export const shared_consts = {
VISIB_ONLY_MANAGER: 2,
VISIB_ONLY_ADMIN: 4,
Lang: [
{
value: 'it',
label: 'Italiano',
},
{
value: 'es',
label: 'Spagnolo',
},
{
value: 'enUs',
label: 'Inglese',
},
],
Visibility: [
{
value: 1,

View File

@@ -190,7 +190,7 @@ export default defineComponent({
const mytitle = ref('')
const mycolumns = ref([])
const colkey = ref('')
const search = ref('paoloar773')
const search = ref('')
const tablesel = ref('')

View File

@@ -389,7 +389,8 @@
:subfield="col.subfield"
:isInModif="true"
minuteinterval="1"
:visulabel="false"
:visulabel="true"
:insertMode="true"
@save="SaveValue"
@show="selItem(newRecord, col)"
@showandsave="showandsel">

View File

@@ -194,66 +194,6 @@ export default defineComponent({
})
}
function setRequestFriendship(usernameDest: string, value: boolean) {
let msg = ''
if (value) {
msg = t('db.domanda_ask_friend', { username: usernameDest })
} else {
msg = t('db.domanda_revoke_friend', { username: usernameDest })
}
$q.dialog({
message: msg,
ok: {
label: t('dialog.yes'),
push: true
},
cancel: {
label: t('dialog.cancel')
},
title: t('db.domanda')
}).onOk(() => {
userStore.setFriendsCmd($q, t, username.value, usernameDest, shared_consts.FRIENDSCMD.REQFRIEND, value)
.then((res: any) => {
if (res) {
if (value) {
// ADD to req Friends
userStore.my.profile.asked_friends.push(res)
tools.showPositiveNotif($q, t('db.askedtofriend', { username: usernameDest }))
} else {
// REMOVE to req Friends
userStore.my.profile.asked_friends = userStore.my.profile.asked_friends.filter((rec: IUserFields) => rec.username !== usernameDest)
tools.showPositiveNotif($q, t('db.revoketofriend', { username: usernameDest }))
}
} else {
tools.showNegativeNotif($q, t('db.recfailed'))
}
})
})
}
function addToMyFriends(usernameDest: string) {
$q.dialog({
message: t('db.domanda_addtofriend', { username: usernameDest }),
ok: { label: t('dialog.yes'), push: true },
cancel: { label: t('dialog.cancel') },
title: t('db.domanda')
}).onOk(() => {
userStore.setFriendsCmd($q, t, username.value, usernameDest, shared_consts.FRIENDSCMD.SETFRIEND, null)
.then((res: any) => {
if (res) {
console.log('res = ', res)
userStore.my.profile.friends = [...userStore.my.profile.friends, res]
userStore.my.profile.req_friends = userStore.my.profile.req_friends.filter((rec: IFriends) => rec.username !== usernameDest)
tools.showPositiveNotif($q, t('db.addedfriend'))
}
})
})
}
function removeFromMyFriends(usernameDest: string) {
$q.dialog({
message: t('db.domanda_removefriend', { username: usernameDest }),
@@ -329,9 +269,9 @@ export default defineComponent({
} else if (cmd === shared_consts.FRIENDSCMD.BLOCK_USER) {
blockUser(usernameDest)
} else if (cmd === shared_consts.FRIENDSCMD.SETFRIEND) {
addToMyFriends(usernameDest)
tools.addToMyFriends($q, t, username.value, usernameDest)
} else if (cmd === shared_consts.FRIENDSCMD.REQFRIEND) {
setRequestFriendship(usernameDest, value)
tools.setRequestFriendship($q, t, username.value, usernameDest, value)
} else if (cmd === shared_consts.FRIENDSCMD.REFUSE_REQ_FRIEND) {
refuseReqFriends(usernameDest)
} else if (cmd === shared_consts.FRIENDSCMD.CANCEL_REQ_FRIEND) {

View File

@@ -45,6 +45,11 @@ export default defineComponent({
required: false,
default: false,
},
insertMode: {
type: Boolean,
required: false,
default: false,
},
canModify: {
type: Boolean,
required: false,

View File

@@ -7,12 +7,21 @@
<!-- Edit Value -->
<div v-if="col.fieldtype === costanti.FieldType.boolean">
<div v-if="isInModif">
<q-checkbox
v-model="myvalue"
@update:model-value="changevalRec"
:label="col.title">
</q-checkbox>
<span v-html="visuValByType(myvalue, col, row)"></span>
<span v-if="insertMode">
<q-checkbox
v-model="myvalue"
@update:model-value="changevalRec"
:label="col.label">
</q-checkbox>
</span>
<span v-else>
<q-checkbox
v-model="myvalue"
@update:model-value="changevalRec"
:label="col.title">
</q-checkbox>
<span v-html="visuValByType(myvalue, col, row)"></span>
</span>
</div>
<div v-else>
<q-toggle
@@ -53,6 +62,7 @@
v-bind="$attrs"
v-model="myvalue"
@update:model-value="Savedb"
:label="visulabel ? col.label : ''"
type="number"
autofocus>
@@ -201,6 +211,9 @@
</div>
<div v-else-if="col.fieldtype === costanti.FieldType.binary">
<div v-if="isInModif">
<span v-if="insertMode">
{{col.label }}:
</span>
<CMyToggleList
:label="col.titlepopupedit"
:options="globalStore.getTableJoinByName(col.jointable)"

View File

@@ -69,8 +69,8 @@
</q-page>
</template>
<script lang="ts" src="./home_pdnm.ts">
<script lang="ts" src="./home_insiemesipuo.ts">
</script>
<style lang="scss" scoped>
@import './home_pdnm.scss';
@import './home_insiemesipuo.scss';
</style>

View File

@@ -21,18 +21,21 @@
</CVerifyTelegram>
<div v-if="isUserOk()">
<div v-if="isUserOk()">
<q-banner rounded class="bg-primary text-white">
<div class="text-h6 text-center">
Ora Accedi al Bot Telegram <br>
per vedere tutti i Menu e le chat !
</div>
<template v-slot:action>
<q-btn icon="fab fa-telegram" flat color="white" label="Accedi al Bot Telegram" type="a" target="__blank" :href="getLinkBotTelegram()"/>
</template>
</q-banner>
</div>
<CFinder>
</CFinder>
<q-banner rounded class="bg-primary text-white">
<div class="text-h6 text-center">
Accedi al Bot Telegram <br>
per vedere tutti i Menu e le chat !
</div>
<template v-slot:action>
<q-btn icon="fab fa-telegram" flat color="white" label="Accedi al Bot Telegram" type="a" target="__blank" :href="getLinkBotTelegram()"/>
</template>
</q-banner>
</div>
</div>

View File

@@ -825,6 +825,7 @@ const msg_it = {
index: 'Posizione',
riga: 'Riga',
active: 'Attivo',
main: 'Menu Principale',
lang: 'Lingua',
label: 'Etichetta',
type: 'Tipo',

View File

@@ -152,7 +152,7 @@ export const colmybot = [
AddCol({ name: 'riga', label_trans: 'bot.riga', fieldtype: costanti.FieldType.number }),
AddCol({ name: 'index', label_trans: 'bot.index', fieldtype: costanti.FieldType.number }),
AddCol({ name: 'active', label_trans: 'bot.active', fieldtype: costanti.FieldType.boolean }),
AddCol({ name: 'lang', label_trans: 'bot.lang' }),
AddCol({ name: 'lang', label_trans: 'bot.lang', fieldtype: costanti.FieldType.select, jointable: 'lang' }),
AddCol({ name: 'main', label_trans: 'bot.main', fieldtype: costanti.FieldType.boolean }),
AddCol({ name: 'label', label_trans: 'bot.label' }),
AddCol({ name: 'type', label_trans: 'bot.type', fieldtype: costanti.FieldType.select, jointable: 'bottype' }),
@@ -1683,6 +1683,15 @@ export const fieldsTable = {
colicon: 'icon',
noshow: true,
},
{
value: 'lang',
label: 'Lingua',
columns: colTablePermission,
colkey: 'value',
collabel: 'label',
colicon: 'icon',
noshow: true,
},
{
value: 'accepted',
label: 'Condizioni',

View File

@@ -2,7 +2,7 @@ import { translation } from '@store/Modules/translation'
import {
IColl,
ICollaborations, IDataToSet,
IEvents,
IEvents, IFriends,
IListRoutes,
IParamDialog,
IPathFile,
@@ -4345,17 +4345,17 @@ export const tools = {
},
getColByLevel(level: number) {
let col = ''
if (level === 0){
if (level === 0) {
col = 'grey-5'
} else if (level === 1){
} else if (level === 1) {
col = 'red-5'
} else if (level === 2){
} else if (level === 2) {
col = 'orange-5'
} else if (level === 3){
} else if (level === 3) {
col = 'yellow-5'
} else if (level === 4){
} else if (level === 4) {
col = 'blue-5'
} else if (level === 5){
} else if (level === 5) {
col = 'green-5'
}
return col
@@ -4377,7 +4377,7 @@ export const tools = {
return res.status !== PayloadMessageTypes.statusfound
}
return Axios.post(VALIDATE_USER_URL, {idapp: process.env.APP_ID, email, key: process.env.PAO_APP_ID})
return Axios.post(VALIDATE_USER_URL, { idapp: process.env.APP_ID, email, key: process.env.PAO_APP_ID })
.then(onSuccess)
.catch((err) => {
return true
@@ -4386,10 +4386,73 @@ export const tools = {
},
isEmail(email: string) {
const res = /^(([^<>()\[\]\\.,;:\s@"]+(\.[^<>()\[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/;
const res = /^(([^<>()\[\]\\.,;:\s@"]+(\.[^<>()\[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/
return res.test(String(email).toLowerCase())
},
addToMyFriends($q: any, t: any, username: string, usernameDest: string) {
const userStore = useUserStore()
$q.dialog({
message: t('db.domanda_addtofriend', { username: usernameDest }),
ok: { label: t('dialog.yes'), push: true },
cancel: { label: t('dialog.cancel') },
title: t('db.domanda')
}).onOk(() => {
userStore.setFriendsCmd($q, t, username, usernameDest, shared_consts.FRIENDSCMD.SETFRIEND, null)
.then((res: any) => {
if (res) {
userStore.my.profile.friends = [...userStore.my.profile.friends, res]
userStore.my.profile.req_friends = userStore.my.profile.req_friends.filter((rec: IFriends) => rec.username !== usernameDest)
tools.showPositiveNotif($q, t('db.addedfriend'))
}
})
})
},
setRequestFriendship($q: any, t: any, username: string, usernameDest: string, value: boolean) {
const userStore = useUserStore()
let msg = ''
if (value) {
msg = t('db.domanda_ask_friend', { username: usernameDest })
} else {
msg = t('db.domanda_revoke_friend', { username: usernameDest })
}
$q.dialog({
message: msg,
ok: {
label: t('dialog.yes'),
push: true
},
cancel: {
label: t('dialog.cancel')
},
title: t('db.domanda')
}).onOk(() => {
userStore.setFriendsCmd($q, t, username, usernameDest, shared_consts.FRIENDSCMD.REQFRIEND, value)
.then((res: any) => {
if (res) {
if (value) {
// ADD to req Friends
userStore.my.profile.asked_friends.push(res)
tools.showPositiveNotif($q, t('db.askedtofriend', { username: usernameDest }))
} else {
// REMOVE to req Friends
userStore.my.profile.asked_friends = userStore.my.profile.asked_friends.filter((rec: IUserFields) => rec.username !== usernameDest)
tools.showPositiveNotif($q, t('db.revoketofriend', { username: usernameDest }))
}
} else {
tools.showNegativeNotif($q, t('db.recfailed'))
}
})
})
},
// getLocale() {
// if (navigator.languages && navigator.languages.length > 0) {

View File

@@ -1295,6 +1295,7 @@ export const useGlobalStore = defineStore('GlobalStore', {
if (table === 'metodo_pagamento') return tools.SelectMetodiPagamento
if (table === 'bottype') return shared_consts.BotType
if (table === 'visibility') return shared_consts.Visibility
if (table === 'lang') return shared_consts.Lang
let myarr = this.getListByTable(table)

View File

@@ -13,6 +13,7 @@ import { toolsext } from '@store/Modules/toolsext'
import { useQuasar } from 'quasar'
import { costanti } from '@costanti'
import { IUserFields } from 'model'
import { shared_consts } from '@/common/shared_vuejs'
export default defineComponent({
@@ -22,6 +23,7 @@ export default defineComponent({
setup() {
const userStore = useUserStore()
const $route = useRoute()
const $q = useQuasar()
const { t } = useI18n()
const username = computed(() => $route.params.username ? $route.params.username.toString() : userStore.my.username)
@@ -82,12 +84,16 @@ export default defineComponent({
tools,
costanti,
myuser,
shared_consts,
getImgUser,
checkifShow,
getLinkUserTelegram,
filtroutente,
showPic,
myusername,
userStore,
$q,
t,
}
}
})

View File

@@ -22,6 +22,14 @@
v-if="myuser.profile.nationality">({{ myuser.profile.nationality }})</span>
</div>
<div>
<q-btn
v-if="!userStore.IsMyFriendByUsername(myuser.username)"
icon="fas fa-user-plus"
color="primary" :label="$t('friends.ask_friend')"
@click="tools.setRequestFriendship($q, t, userStore.my.username, myuser.username, true)"/>
</div>
<div class="col-12 text-h8 q-mt-sm">
{{ myuser.profile.biografia }}
</div>