- varie sistemazioni: filtri iscritti, profilo, ecc...

This commit is contained in:
Surya Paolo
2025-01-11 12:08:03 +01:00
parent 298dc4f5a5
commit 2b1fc9b090
52 changed files with 734 additions and 626 deletions

View File

@@ -1,4 +1,4 @@
APP_VERSION="1.1.15"
APP_VERSION="1.1.16"
SERVICE_WORKER_FILE="service-worker.js"
APP_ID="13"
DIRECTORY_LOCAL="newfreeplanet"

View File

@@ -1,4 +1,4 @@
APP_VERSION="1.1.15"
APP_VERSION="1.1.16"
SERVICE_WORKER_FILE="service-worker.js"
APP_ID="13"
DIRECTORY_LOCAL=newfreeplanet

View File

@@ -1,4 +1,4 @@
APP_VERSION="1.1.15"
APP_VERSION="1.1.16"
SERVICE_WORKER_FILE="service-worker.js"
APP_ID="18"
DIRECTORY_LOCAL=newfreeplanet

View File

@@ -1,4 +1,4 @@
APP_VERSION="1.1.15"
APP_VERSION="1.1.16"
SERVICE_WORKER_FILE="service-worker.js"
APP_ID="17"
DIRECTORY_LOCAL="newfreeplanet"

View File

@@ -1,4 +1,4 @@
APP_VERSION="1.1.15"
APP_VERSION="1.1.16"
SERVICE_WORKER_FILE="service-worker.js"
APP_ID="13"
DIRECTORY_LOCAL=newfreeplanet

View File

@@ -1,4 +1,4 @@
APP_VERSION="1.1.15"
APP_VERSION="1.1.16"
SERVICE_WORKER_FILE="service-worker.js"
APP_ID="19"
DIRECTORY_LOCAL=newfreeplanet

View File

@@ -1,4 +1,4 @@
APP_VERSION="1.1.15"
APP_VERSION="1.1.16"
SERVICE_WORKER_FILE="service-worker.js"
APP_ID="18"
DIRECTORY_LOCAL=newfreeplanet

View File

@@ -1,4 +1,4 @@
APP_VERSION="1.1.15"
APP_VERSION="1.1.16"
SERVICE_WORKER_FILE="service-worker.js"
APP_ID="17"
DIRECTORY_LOCAL="newfreeplanet"

View File

@@ -1,4 +1,4 @@
APP_VERSION="1.1.15"
APP_VERSION="1.1.16"
SERVICE_WORKER_FILE="service-worker.js"
APP_ID="13"
DIRECTORY_LOCAL=newfreeplanet

View File

@@ -1,4 +1,4 @@
APP_VERSION="1.1.15"
APP_VERSION="1.1.16"
SERVICE_WORKER_FILE="service-worker.js"
APP_ID="13"
DIRECTORY_LOCAL=newfreeplanet

View File

@@ -1,4 +1,4 @@
APP_VERSION="1.1.15"
APP_VERSION="1.1.16"
SERVICE_WORKER_FILE="service-worker.js"
APP_ID="13"
DIRECTORY_LOCAL=newfreeplanet

View File

@@ -1,4 +1,4 @@
APP_VERSION="1.1.15"
APP_VERSION="1.1.16"
SERVICE_WORKER_FILE="service-worker.js"
APP_ID="19"
DIRECTORY_LOCAL="newfreeplanet"

View File

@@ -1,6 +1,6 @@
{
"name": "abitaregliiblei",
"version": "1.1.15",
"version": "1.1.16",
"description": "Abitare Gli Iblei",
"productName": "AbitareGliIblei",
"author": "Paolo Arena",

View File

@@ -1,4 +1,4 @@
APP_VERSION="1.1.15"
APP_VERSION="1.1.16"
SERVICE_WORKER_FILE="service-worker.js"
APP_ID="13"
DIRECTORY_LOCAL="newfreeplanet"

View File

@@ -1,4 +1,4 @@
APP_VERSION="1.1.15"
APP_VERSION="1.1.16"
SERVICE_WORKER_FILE="service-worker.js"
APP_ID="16"
DIRECTORY_LOCAL=newfreeplanet

View File

@@ -1,6 +1,6 @@
{
"name": "riso",
"version": "1.1.15",
"version": "1.1.16",
"description": "Siamo la Rete Italiana di Scambio Orizzontale, abbiamo creato questa piattaforma per metterla al servizio di chi vuole riscoprire il valore della condivisione e della cooperazione. Valori semplici e profondi che ci aiutano a ritrovare il Senso della Vita, perduto in questa società consumista, e riporti quei Sani Pricìpi Naturali ed Umani di Fratellanza che intere popolazioni antiche conoscevano bene.",
"productName": "Riso",
"author": "Paolo Arena",

View File

@@ -1,4 +1,4 @@
APP_VERSION="1.1.15"
APP_VERSION="1.1.16"
SERVICE_WORKER_FILE="service-worker.js"
APP_ID="15"
DIRECTORY_LOCAL="newfreeplanet"

View File

@@ -1,4 +1,4 @@
APP_VERSION="1.1.15"
APP_VERSION="1.1.16"
SERVICE_WORKER_FILE="service-worker.js"
APP_ID="15"
DIRECTORY_LOCAL=newfreeplanet

View File

@@ -1,6 +1,6 @@
{
"name": "fioredellavita",
"version": "1.1.15",
"version": "1.1.16",
"description": "Fiore Della Vita",
"productName": "Fiore Della Vita",
"author": "Paolo Arena",

View File

@@ -1,4 +1,4 @@
APP_VERSION="1.1.15"
APP_VERSION="1.1.16"
SERVICE_WORKER_FILE="service-worker.js"
APP_ID="18"
DIRECTORY_LOCAL="newfreeplanet"

View File

@@ -1,4 +1,4 @@
APP_VERSION="1.1.15"
APP_VERSION="1.1.16"
SERVICE_WORKER_FILE="service-worker.js"
APP_ID="18"
DIRECTORY_LOCAL=newfreeplanet

View File

@@ -1,6 +1,6 @@
{
"name": "gruppomacro",
"version": "1.1.15",
"version": "1.1.16",
"description": "GruppoMacro",
"productName": "Gruppo Macro",
"author": "Paolo Arena",

View File

@@ -1,4 +1,4 @@
APP_VERSION="1.1.15"
APP_VERSION="1.1.16"
SERVICE_WORKER_FILE="service-worker.js"
APP_ID="17"
DIRECTORY_LOCAL="newfreeplanet"

View File

@@ -1,4 +1,4 @@
APP_VERSION="1.1.15"
APP_VERSION="1.1.16"
SERVICE_WORKER_FILE="service-worker.js"
APP_ID="17"
DIRECTORY_LOCAL="newfreeplanet"

View File

@@ -1,6 +1,6 @@
{
"name": "piuchebuono",
"version": "1.1.15",
"version": "1.1.16",
"description": "PiuCheBuono",
"productName": "PiuCheBuono",
"author": "Paolo Arena",

View File

@@ -1,4 +1,4 @@
APP_VERSION="1.1.15"
APP_VERSION="1.1.16"
SERVICE_WORKER_FILE="service-worker.js"
APP_ID="13"
DIRECTORY_LOCAL="newfreeplanet"

View File

@@ -1,4 +1,4 @@
APP_VERSION="1.1.15"
APP_VERSION="1.1.16"
SERVICE_WORKER_FILE="service-worker.js"
APP_ID="13"
DIRECTORY_LOCAL=newfreeplanet

View File

@@ -1,4 +1,4 @@
APP_VERSION="1.1.15"
APP_VERSION="1.1.16"
SERVICE_WORKER_FILE="service-worker.js"
APP_ID="16"
DIRECTORY_LOCAL=newfreeplanet

View File

@@ -1,6 +1,6 @@
{
"name": "riso",
"version": "1.1.15",
"version": "1.1.16",
"description": "Siamo la Rete Italiana di Scambio Orizzontale, abbiamo creato questa piattaforma per metterla al servizio di chi vuole riscoprire il valore della condivisione e della cooperazione. Valori semplici e profondi che ci aiutano a ritrovare il Senso della Vita, perduto in questa società consumista, e riporti quei Sani Pricìpi Naturali ed Umani di Fratellanza che intere popolazioni antiche conoscevano bene.",
"productName": "Riso",
"author": "Paolo Arena",

View File

@@ -1,6 +1,6 @@
{
"name": "riso",
"version": "1.1.15",
"version": "1.1.16",
"description": "Siamo la Rete Italiana di Scambio Orizzontale, abbiamo creato questa piattaforma per metterla al servizio di chi vuole riscoprire il valore della condivisione e della cooperazione. Valori semplici e profondi che ci aiutano a ritrovare il Senso della Vita, perduto in questa società consumista, e riporti quei Sani Pricìpi Naturali ed Umani di Fratellanza che intere popolazioni antiche conoscevano bene.",
"productName": "Riso",
"author": "Paolo Arena",

View File

@@ -34,7 +34,7 @@ self.addEventListener('activate', (event) => {
});
const APP_VERSION = "1.1.15";
const APP_VERSION = "1.1.16";
console.log(' [ VER-' + APP_VERSION + ' ] _---------________------ PAO: this is my custom service worker');

View File

@@ -208,6 +208,8 @@ export const shared_consts = {
FILTER_USER_WITHOUT_USERNAME_TELEGRAM: 8388608,
FILTER_USER_PROVINCE: 16777216,
FILTER_USER_SENZA_PROVINCE: 33554432,
FILTER_USER_SENZA_CIRCUITO: 67108864,
FILTER_USER_CON_CIRCUITO: 134217728,
OPTIONS_SEARCH_ONLY_FULL_WORDS: 1,
OPTIONS_SEARCH_USER_ONLY_FULL_WORDS: 2,
@@ -289,6 +291,49 @@ export const shared_consts = {
TABLES_MYGROUPS: 'mygroups',
TABLES_ATTIVITAS: 'attivitas',
TABFILTRI_UTENTE: 'filtriutente',
RECFILTRI_UTENTE: [
{
label: '[Tutti]',
value: 0
},
{
label: 'Senza Provincia',
value: 33554432, // FILTER_USER_SENZA_PROVINCE
},
{
label: 'Dentro ad un Circuito RIS',
value: 134217728, //FILTER_USER_CON_CIRCUITO:
},
{
label: 'Senza Circuito RIS',
value: 67108864, // FILTER_USER_SENZA_CIRCUITO
},
{
label: 'Con Provincia inserita',
value: 16777216, //FILTER_USER_PROVINCE:
},
{
label: 'Non ancora approvati dall\'invitante',
value: 2097152, // shared_consts.FILTER_USER_NO_VERIFIED_APORTADOR
},
{
label: 'Senza Telegram BOT',
value: 32, //shared_consts.FILTER_USER_NO_TELEGRAM_ID
},
{
label: 'Senza username Telegram',
value: 8388608, // shared_consts.FILTER_USER_WITHOUT_USERNAME_TELEGRAM
},
{
label: 'Telegram BOT Rimosso',
value: 1024, //shared_consts.FILTER_USER_TELEGRAM_BLOCKED
},
],
MYTABS: [{ id: 0, table: 'none' },
{ id: 1, table: 'myskills' },
{ id: 2, table: 'mybachecas' },

View File

@@ -938,6 +938,40 @@ export default defineComponent({
arrfilter_cities.push({ key: 'prov', value: idProvince })
}
} else if (item.table === shared_consts.TABFILTRI_UTENTE) {
if (item.value === shared_consts.FILTER_USER_SENZA_PROVINCE) {
filtercustom.push({ 'profile.resid_province': { $exists: false } });
} else if (item.value === shared_consts.FILTER_USER_CON_CIRCUITO) {
filtercustom.push({
'profile.mycircuits': { $exists: true, $ne: [] }
});
} else if (item.value === shared_consts.FILTER_USER_SENZA_CIRCUITO) {
filtercustom.push({
$or: [
{ 'profile.mycircuits': { $exists: false } },
{ 'profile.mycircuits': { $eq: [] } }
]
});
} else if (item.value === shared_consts.FILTER_USER_PROVINCE) {
filtercustom.push({ 'profile.resid_province': { $exists: true, $ne: '' } });
} else if (item.value === shared_consts.FILTER_USER_TELEGRAM_BLOCKED) {
filtercustom.push({ 'profile.teleg_id_old': { $gt: 1 } });
} else if (item.value === shared_consts.FILTER_USER_WITHOUT_USERNAME_TELEGRAM) {
filtercustom.push({
$or: [
{ 'profile.username_telegram': { $exists: false } },
{ 'profile.username_telegram': { $exists: true, $eq: '' } }],
});
} else if (item.value === shared_consts.FILTER_USER_NO_VERIFIED_APORTADOR) {
filtercustom.push({
verified_by_aportador: { $exists: false },
});
} else if (item.value === shared_consts.FILTER_USER_NO_TELEGRAM_ID) {
filtercustom.push({ 'profile.teleg_id': { $lt: 1 } });
}
} else if (item.table === 'cities') {
if (item.value && item.value.hasOwnProperty('_id')) {

View File

@@ -1384,7 +1384,7 @@
@hide="hidewindow"
class="dialog_class"
:persistent="true"
:maximized="false"
:maximized="$q.screen.lt.sm"
>
<q-card class="dialog_card">
<q-bar dense class="bg-primary text-white">

View File

@@ -79,7 +79,7 @@ export default defineComponent({
const notifStore = useNotifStore()
const mycards = computed(() => {
return costanti.MAINCARDS.filter((rec: any) => rec.table && rec.visible)
return costanti.MAINCARDS.filter((rec: any) => rec.table && rec.showinprofile)
})
const optionsMainCards = ref({})
@@ -105,7 +105,7 @@ export default defineComponent({
// Carica il profilo di quest'utente
if (username.value) {
await userStore.loadUserActivities({ username: username.value, idnotif: idnotif.value }).then((ris) => {
// console.log('loadUserProfile = ', ris)
// console.log('loadUserActivities = ', ris)
myuser.value = ris
if (myuser.value) {
// filtro_eventi.value = [{ userId: myuser.value._id }, { dateTimeStart: { $gte: today } }]

View File

@@ -128,7 +128,7 @@
</span>
</q-list>
</div>
<div v-else-if="card.table === shared_consts.TAB_MYCIRCUITS">
<div v-else-if="card.table === shared_consts.TABLES_CIRCUITS">
<div class="text-h6">{{ card.title }}</div>
<q-list>
<span

View File

@@ -728,7 +728,7 @@
v-html="
tools.getlinkhref(
myrec.website,
t('services.visit_website')
t('services.visit_website', {link: tools.getMainLink(myrec.website)})
)
"
/></q-item-label>

View File

@@ -59,8 +59,9 @@
v-if="circuit.longdescr"
caption
lines="3"
><em>{{ circuit.longdescr }}</em></q-item-label
>
><em>
<div v-html="circuit.longdescr"></div> </em
></q-item-label>
<q-item-label caption lines="2">
<q-chip
v-if="circuit.status !== undefined && circuit.status !== 0"

View File

@@ -1483,7 +1483,7 @@ h3 {
opacity: 0.7;
margin-top: -10px;
color: white;
z-index: 1000;
z-index: 100;
margin-bottom: 5px;
padding: 5px;
border-radius: 20px;
@@ -2587,3 +2587,7 @@ body.body--dark {
/* Supporto per lingue specifiche */
lang: it; /* Imposta la lingua a italiano */
}
.custom-z-index {
z-index: 2000 !important;
}

View File

@@ -10,7 +10,7 @@
<meta name="description" content="<%= productDescription %>">
<meta name="format-detection" content="telephone=no">
<meta name="msapplication-tap-highlight" content="no">
<meta name="version" content="1.1.15">
<meta name="version" content="1.1.16">
<meta name="viewport"
content="user-scalable=no, initial-scale=1, maximum-scale=1, minimum-scale=1, width=device-width<% if (ctx.mode.cordova || ctx.mode.capacitor) { %>, viewport-fit=cover<% } %>">

View File

@@ -45,6 +45,9 @@ const msg_it = {
data_choose: 'Scegli la Data',
},
profile: {
info_pers: 'Info Personali',
annunci: 'Annunci',
share_link: 'Copia Link',
info_msg: 'Puoi compilare facoltativamente questi tuoi dati personali.',
info: 'Informazioni su di te',
chisei: 'Chi Sei? Raccontaci di te:',
@@ -1185,7 +1188,7 @@ const msg_it = {
sector_goods_select: 'Scegli i Settori Preferiti dei Beni',
},
services: {
visit_website: 'Visita il Sito Web',
visit_website: 'Visita il Sito Web "{link}"',
email: 'Email:',
whatsapp: 'Whatsapp',
createdBy: 'Creato da',

View File

@@ -142,6 +142,7 @@ export const costanti = {
small: false,
showfavorite: true,
showinoptions: true,
showinprofile: true,
},
{
visible: true,
@@ -157,6 +158,7 @@ export const costanti = {
small: false,
showfavorite: true,
showinoptions: true,
showinprofile: true,
},
{
visible: true,
@@ -174,48 +176,20 @@ export const costanti = {
visuonstat: true,
showfavorite: true,
showinoptions: true,
showinprofile: true,
},
{
visible: false,
title: 'Scuola',
strsingolo: 'Scuola',
to: '/school',
icon: 'fas fa-book-open',
color: 'orange-6',
hint: '',
disable: true,
small: false,
table: '',
},
{
visible: false,
title: 'Circuiti RIS',
strsingolo: 'Circuito',
subtitle: 'Strumento di scambio alternativa alle monete',
to: '/circuits',
table: 'circuits',
icon: 'fas fa-coins',
image: 'images/1ris_rosso_100.png',
color: 'orange-6',
hint: '',
disable: true,
small: true,
visuonstat: true,
},
{
visible: false,
title: 'Gruppi',
strsingolo: 'Gruppo',
subtitle: 'Associazioni, progetti, comunità, negozi',
to: '/groups',
table: 'mygroups',
icon: 'fas fa-users',
color: 'blue-6',
hint: '',
disable: true,
small: true,
visuonstat: true,
},
// {
// visible: false,
// title: 'Scuola',
// strsingolo: 'Scuola',
// to: '/school',
// icon: 'fas fa-book-open',
// color: 'orange-6',
// hint: '',
// disable: true,
// small: false,
// table: '',
// },
{
visible: true,
title: 'Eventi',
@@ -231,32 +205,64 @@ export const costanti = {
small: false,
showfavorite: true,
showinoptions: true,
showinprofile: true,
},
{
visible: false,
strsingolo: 'Luogo',
title: 'Luoghi',
to: '/places',
icon: 'fas fa-map-marker-alt',
color: 'blue-6',
hint: '',
disable: true,
small: false,
table: '',
},
{
visible: false,
strsingolo: 'Idea',
title: 'Tue&nbsp;Idee',
to: '/ideas',
icon: 'fas fa-lightbulb',
color: 'red-6',
textcolor: '',
title: 'Circuiti RIS',
strsingolo: 'Circuito',
subtitle: 'Strumento di scambio alternativa alle monete',
to: '/circuits',
table: 'circuits',
icon: 'fas fa-coins',
image: 'images/1ris_rosso_100.png',
color: 'orange-6',
hint: '',
disable: true,
small: true,
table: '',
visuonstat: true,
showinprofile: true,
},
{
visible: false,
title: 'Gruppi',
strsingolo: 'Gruppo',
subtitle: 'Associazioni, progetti, comunità, negozi',
to: '/groups',
table: 'mygroups',
icon: 'fas fa-users',
color: 'blue-6',
hint: '',
disable: true,
small: true,
visuonstat: true,
showinprofile: true,
},
// {
// visible: false,
// strsingolo: 'Luogo',
// title: 'Luoghi',
// to: '/places',
// icon: 'fas fa-map-marker-alt',
// color: 'blue-6',
// hint: '',
// disable: true,
// small: false,
// table: '',
// },
// {
// visible: false,
// strsingolo: 'Idea',
// title: 'Tue&nbsp;Idee',
// to: '/ideas',
// icon: 'fas fa-lightbulb',
// color: 'red-6',
// textcolor: '',
// hint: '',
// disable: true,
// small: true,
// table: '',
// },
/*{
visible: false,
title: 'Sostieni il Progetto',
@@ -281,33 +287,33 @@ export const costanti = {
link: true,
table: '',
},*/
{
visible: false,
title: 'Social',
to: '/socialising',
icon: 'fas fa-users',
color: 'blue-6',
hint: '',
disable: true,
small: true,
table: '',
},
{
visible: false,
title: ' Attività ',
subtitle: 'Artigiani, Aziende, Società, Negozi',
strsingolo: 'Attivita',
to: '/activities',
icon: 'fas fa-tshirt',
color: 'indigo-6',
hint: '',
table: 'attivitas',
visuonstat: true,
small: false,
showfavorite: true,
forgroup: true,
showinoptions: false,
},
// {
// visible: false,
// title: 'Social',
// to: '/socialising',
// icon: 'fas fa-users',
// color: 'blue-6',
// hint: '',
// disable: true,
// small: true,
// table: '',
// },
// {
// visible: false,
// title: ' Attività ',
// subtitle: 'Artigiani, Aziende, Società, Negozi',
// strsingolo: 'Attivita',
// to: '/activities',
// icon: 'fas fa-tshirt',
// color: 'indigo-6',
// hint: '',
// table: 'attivitas',
// visuonstat: true,
// small: false,
// showfavorite: true,
// forgroup: true,
// showinoptions: false,
// },
],
GROUPCARDS: [

View File

@@ -4757,6 +4757,13 @@ export const fieldsTable = {
colkey: 'value',
collabel: 'label',
},
{
value: shared_consts.TABFILTRI_UTENTE,
label: 'Tipi di Filtro',
columns: colTableGeneric,
colkey: 'value',
collabel: 'label',
},
{
value: 'otherfilters',
label: 'Altri Filtri',

View File

@@ -9511,6 +9511,24 @@ export const tools = {
return optcatalogo.areadistampa!.scale
},
getMainLink(url: string) {
try {
// Crea un nuovo oggetto URL a partire dall'input
const parsedUrl = new URL(url);
// Estrae solo il protocollo, l'host e la porta
const { protocol, host } = parsedUrl;
// Ricostruisce il link principale
const mainLink = `${host}`;
return mainLink;
} catch (error) {
console.error('Errore durante l\'elaborazione dell\'URL:', error);
return '';
}
}
// FINE !
// getLocale() {

View File

@@ -52,6 +52,7 @@ export const CMD_REACTION = {
SET_ATTEND: 4,
}
export const DefaultUser: IUserFields = {
_id: '',
email: '',

View File

@@ -373,6 +373,8 @@ export const useGlobalStore = defineStore('GlobalStore', {
return calendarStore.wheres
else if (table === 'contribtypes')
return calendarStore.contribtype
else if (table === shared_consts.TABFILTRI_UTENTE)
return shared_consts.RECFILTRI_UTENTE
else if (table === 'disciplines') ris = state.disciplines
else if (table === toolsext.TABNEWSLETTER) ris = state.newstosent
else if (table === toolsext.TABGALLERY) ris = state.gallery
@@ -445,7 +447,7 @@ export const useGlobalStore = defineStore('GlobalStore', {
else if (table === 'catgrps')
return state.catgrps
else if (table === 'provinces')
return state.provinces.filter((prov: IProvince) => (!prov.card))
return state.provinces.filter((rec: IProvince) => (!rec.card) && (rec.prov !== 'ITA') && (rec.prov !== 'EST'))
else if (table === 'cards') {
const arrprov: any[] = state.provinces.filter((prov: IProvince) => prov.prov === value2 && (!!prov.card))
if (arrprov) {

View File

@@ -35,6 +35,7 @@ export default defineComponent({
const defpersmin = ref(100)
const defpersmax = ref(200)
const search_username = ref('')
const search = ref('')
const replace_username = ref('')
const risultato = ref('')
const incaricamento = ref(false)
@@ -62,6 +63,7 @@ export default defineComponent({
numpersone: numpersone,
search_username,
replace_username,
search: search.value,
valmin: tools.convstrToNum(valmin),
valmax: tools.convstrToNum(valmax),
circuitId,
@@ -105,6 +107,7 @@ export default defineComponent({
incaricamento,
ris,
risultato,
search,
}
},
})

View File

@@ -341,6 +341,13 @@
EseguiFunz('ReplaceUsername', search_username, replace_username)
"
></q-btn>
<q-btn
label="Replace AportadorSolidario"
color="primary"
@click="
EseguiFunz('replaceAportadorSolidario', search_username, replace_username)
"
></q-btn>
<q-btn
label="Replace Circuit"
color="primary"
@@ -350,6 +357,21 @@
></q-btn>
<br />
</div>
<div class="row">
<q-input
v-model="search"
label="stringa da cercare"
style="width: 300px"
></q-input>
<q-btn
label="Cerca Stringa su tutto il DB"
color="primary"
@click="
EseguiFunz('SearchString', search)
"
></q-btn>
<br />
</div>
<div class="row">
<q-btn
label="Create Account Circuits"

View File

@@ -512,7 +512,6 @@
icon="fas fa-users"
></q-tab>
<q-tab
v-if="userStore.IsMyCircuitByName(circuit.name)"
:label="t('circuit.comunitario')"
name="comunitario"
icon="fas fa-campground"

View File

@@ -30,6 +30,19 @@ export default defineComponent({
function mounted() {
searchList.value = [
{
label: 'Filtra per',
table: shared_consts.TABFILTRI_UTENTE,
key: '',
type: costanti.FieldType.select,
value: tools.getCookie(tools.COOK_SEARCH + 'filtroutente', costanti.FILTER_TUTTI),
keycookie: '_fu',
addall: false,
arrvalue: [],
filter: null,
useinput: false,
icon: 'fas fa-filter'
},
{
label: 'Regione',
table: 'regions',

View File

@@ -1,24 +1,9 @@
<template>
<div class="">
<!--
<q-banner
rounded
dense
class="bg-warning text-white"
color="primary q-title"
style="text-align: center;">
<template v-slot:avatar>
<q-icon name="fas fa-exclamation-triangle" color="yellow" size="xs" />
</template>
<span class="mybanner">Questa sezione è ancora in fase di miglioramento.</span>
</q-banner>
-->
<CMyFriends v-if="searchList.length > 0" v-model="filter" :finder="true">
<CGridTableRec
prop_mytable="users"
prop_mytitle=""
subtitle="Seleziona una Regione o provincia per vedere la lista degli iscritti:"
:prop_mycolumns="colmyUserPeople"
prop_colkey="_id"
col_title="username"
@@ -26,11 +11,11 @@
nodataLabel=" "
:prop_search="true"
:prop_showfilter="true"
hint="Scegli una Regione, Provincia oppure scrivi il nome o Username"
hint=""
:finder="true"
:choose_visutype="false"
:finder_noNull="false"
:finder_noNullFilters="true"
:finder_noNullFilters="false"
:options="shared_consts.OPTIONS_SEARCH_USER_ALL_WORDS"
:butt_modif_new="false"
noresultLabel="Username, Nome o Cognome non trovato"
@@ -38,6 +23,7 @@
:filtercustom="filtercustom"
:prop_searchList="searchList"
:showType="costanti.SHOW_USERINFO"
:prop_pagination="{ sortBy: 'username', descending: false, page: 1, rowsNumber: 0, rowsPerPage: 10 }"
:showCol="false"
:extraparams="extraparams()"
>

View File

@@ -96,37 +96,12 @@
<div class="col-12 text-h7 text-blue text-shadow-2">
{{ userStore.userprofile.username }}
</div>
<div class="col-12 text-h7">
<span
<div
v-if="
userStore.userprofile.profile &&
userStore.userprofile.profile.born_city_id
userStore.userprofile && userStore.userprofile.profile.qualifica
"
class="col-12 text-h8 q-mt-sm"
>
<CMyFieldRec
title=""
table="users"
tablesel="cities"
:id="userStore.userprofile._id"
:rec="userStore.userprofile"
field="profile.born_city_id"
:canEdit="false"
:canModify="false"
>
</CMyFieldRec>
{{ userStore.userprofile.profile.born_city_str }}</span
>
<span
v-if="
userStore.userprofile.profile &&
userStore.userprofile.profile.nationality &&
userStore.userprofile.profile.nationality !== 'Italia'
"
>({{ userStore.userprofile.profile.nationality }})</span
>
</div>
<div v-if="userStore.userprofile._id" class="col-12 text-h8 q-mt-sm">
<span v-if="userStore.userprofile.profile.qualifica">
<em
><div class="qualifica">
@@ -135,7 +110,12 @@
>
</span>
</div>
<div v-if="userStore.userprofile._id" class="col-12 text-h8 q-mt-sm">
<div
v-if="
userStore.userprofile && userStore.userprofile.profile.biografia
"
class="col-12 text-h8 q-mt-sm"
>
{{ userStore.userprofile.profile.biografia }}
</div>
</div>
@@ -214,36 +194,6 @@
<div class="col-12 text-h7 text-blue text-shadow-2">
{{ userStore.userprofile.username }}
</div>
<div class="col-12 text-h7">
<span
v-if="
userStore.userprofile.profile &&
userStore.userprofile.profile.born_city_id
"
>
<CMyFieldRec
title=""
table="users"
tablesel="cities"
:id="userStore.userprofile._id"
:rec="userStore.userprofile"
field="profile.born_city_id"
:canEdit="false"
:canModify="false"
>
</CMyFieldRec>
{{ userStore.userprofile.profile.born_city_str }}</span
>
<span
v-if="
userStore.userprofile.profile &&
userStore.userprofile.profile.nationality &&
userStore.userprofile.profile.nationality !== 'Italia'
"
>({{ userStore.userprofile.profile.nationality }})</span
>
</div>
<div
v-if="
userStore.userprofile.profile.qualifica &&
@@ -269,31 +219,6 @@
@showed="showed"
/>
<q-tabs
v-model="tab"
dense
no-caps
class="bg-indigo text-white shadow-2 q-mt-sm full-width"
>
<q-tab name="attivita" label="Annunci" icon="fas fa-pencil-alt" />
<q-tab name="info" label="Info Personali" icon="fas fa-user" />
</q-tabs>
<q-tab-panels v-model="tab" animated keep-alive>
<q-tab-panel name="attivita">
<CMyActivities :introUser="false"></CMyActivities>
</q-tab-panel>
<q-tab-panel name="info">
<div
v-if="
userStore.userprofile._id &&
userStore.userprofile.profile.biografia
"
class="col-12 text-h8 q-mt-sm"
>
{{ userStore.userprofile.profile.biografia }}
</div>
<div>
<div class="row justify-center">
<q-btn
@@ -421,8 +346,7 @@
<!--HANDSHAKE-->
<div
v-if="
!isMyRecord(userStore.userprofile.username) &&
tools.isUserOk()
!isMyRecord(userStore.userprofile.username) && tools.isUserOk()
"
>
<div
@@ -548,9 +472,7 @@
<q-menu>
<q-list style="min-width: 150px">
<q-item
v-if="
userStore.IsHandShakeByMe(userStore.userprofile)
"
v-if="userStore.IsHandShakeByMe(userStore.userprofile)"
clickable
v-close-popup
@click="
@@ -672,6 +594,41 @@
/>
</div>
</div>
<q-tabs
v-model="tab"
dense
no-caps
class="bg-indigo text-white shadow-2 q-mt-sm full-width"
>
<q-tab
name="attivita"
:label="t('profile.annunci')"
icon="fas fa-pencil-alt"
/>
<q-tab
name="info"
:label="t('profile.info_pers')"
icon="fas fa-user"
/>
</q-tabs>
<q-tab-panels v-model="tab" animated keep-alive>
<q-tab-panel name="attivita">
<CMyActivities :introUser="false"></CMyActivities>
</q-tab-panel>
<q-tab-panel name="info">
<div
v-if="
userStore.userprofile._id &&
userStore.userprofile.profile.biografia
"
class="col-12 text-h8 q-mt-sm"
>
{{ userStore.userprofile.profile.biografia }}
<br />
</div>
<div
v-if="
userStore.userprofile &&
@@ -748,9 +705,6 @@
:canModify="false">
</CMyFieldRec>
-->
</div>
</div>
</div>
<div class="col-md-6 col-sm-6 q-ma-xs col-xs-12">
<CLabel
v-if="!!userStore.userprofile.useraport"
@@ -764,21 +718,42 @@
</CMyUser>
</CLabel>
</div>
</div>
</div>
</div>
</q-tab-panel>
</q-tab-panels>
<div class="row text-center">
<q-btn
</div>
</div>
<q-page-sticky
position="top-right"
:offset="[18, 18]"
class="z-top"
>
<q-fab
icon="fas fa-ellipsis-v"
color="accent"
external-label
vertical-actions-align="right"
direction="down"
>
<q-fab-action
@click="tools.copyToClip($q, getlinkpage(), true)"
color="primary"
icon="fas fa-link"
label-position="right"
:label="$t('profile.share_link')"
/>
<q-fab-action
label-position="right"
v-if="userStore.userprofile.username === myusername()"
outline
icon="fas fa-pencil-alt"
color="secondary"
icon="fas fa-user-edit"
:label="$t('shared.edit_profile')"
@click.stop="gotoPage('/editprofile')"
>
</q-btn>
</div>
</div>
</div>
/>
</q-fab>
</q-page-sticky>
<q-dialog v-model="showPic" full-height full-width>
<img :src="getImgUser()" :alt="username" class="full-width" />
</q-dialog>
@@ -789,7 +764,7 @@
>
<div class="column">
<q-btn
v-if="userStore.userprofile.username === myusername()"
v-if="userStore.userprofile.username === myusername() && false"
flat
round
icon="fas fa-ellipsis-h"
@@ -821,17 +796,6 @@
@click.stop="tools.copyToClip($q, getlinkpage(), true)"
>
</q-btn>-->
<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>