-Poter entrare nel login anche con l'username Telegram !

- Se clicchi sulla foto, mi apre il profilo anzichè l'invio dei RIS
- ++ Filtro sulle ricerche: Scegliere un Circuito specifico.
- Nella lista iscritti compaiono anche i cancellati...
- n "Attività" si vede tutto allargato, non sta nella dimensione della pagina.
- Nelle notifiche della campanellina non si vede più il titolo... (è vuoto).
- Non funziona il Filtro per Settore (nella Home sugli Eventi)
- Filtri avanzati da mostrare solo se clicco sul bottone.
- I menu in basso non funzionano !
- Nel menu "Iscritti" del circuito, non compare più la ricerca ! Riattivarla
- Opzione di mandare una email quando uno si registra al Circuito
- ++ Opzione per il Circuito: Chiedi di entrare agli admin (e non in automatico).
This commit is contained in:
Surya Paolo
2025-01-09 15:17:21 +01:00
parent 3734762a8b
commit da6bef1b96
35 changed files with 1386 additions and 1088 deletions

View File

@@ -41,6 +41,12 @@ export default defineComponent({
CTimeAgo, CContactUser
},
props: {
introUser: {
type: Boolean,
required: false,
default: true,
},
},
setup(props) {
const userStore = useUserStore()
@@ -73,7 +79,7 @@ export default defineComponent({
const notifStore = useNotifStore()
const mycards = computed(() => {
return costanti.MAINCARDS.filter((rec: any) => rec.table)
return costanti.MAINCARDS.filter((rec: any) => rec.table && rec.visible)
})
const optionsMainCards = ref({})

View File

@@ -3,7 +3,6 @@
v-if="!caricato"
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" />
@@ -11,203 +10,193 @@
<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 v-else>
<div v-if="myuser">
<div v-if="tools.isUserOk() || tools.isLogged()">
<CNotifAtTop />
<div v-if="introUser">
<CNotifAtTop />
</div>
</div>
<div class="q-gutter-sm q-pa-sm q-pb-md">
<div
v-if="myuser && myuser.lang"
class="fit column no-wrap justify-evenly items-center content-start"
>
<div class="">
<q-avatar size="140px">
<q-img
:src="myuser.profile ? getImgUser(myuser.profile) : ''"
:alt="username"
img-class="imgprofile"
height="140px"
@click="showPic = true"
/>
<q-badge
v-if="tools.isUserOnline(myuser)"
align="top"
floating
color="green"
>online</q-badge
>
</q-avatar>
</div>
<div class="last_access">
OnLine: <CTimeAgo :datetime="myuser.lasttimeonline" />
</div>
<div v-if="myuser.reported">
<CTitleBanner
title="⚠️ L'utente è stato Segnalato per comportamento non idoneo."
bgcolor="bg-red"
clcolor="text-white"
>
</CTitleBanner>
</div>
<div v-if="site && site.confpages && site.confpages.showNameSurname">
<div class="text-h6">
<span v-if="checkifShow('name') && myuser.name">
{{ myuser.name }}</span
>
<span v-if="checkifShow('surname') && myuser.surname"
>&nbsp;{{ myuser.surname }}</span
>
<div v-if="introUser">
<div class="">
<q-avatar size="140px">
<q-img
:src="myuser.profile ? getImgUser(myuser.profile) : ''"
:alt="username"
img-class="imgprofile"
height="140px"
@click="showPic = true"
/>
<q-badge
v-if="tools.isUserOnline(myuser)"
align="top"
floating
color="green"
>online</q-badge
>
</q-avatar>
</div>
</div>
<div class="col-12 text-h7 text-blue text-shadow-2">
{{ myuser.username }}
</div>
<br />
<CContactUser :myuser="myuser" :showBtnActivities="false" />
<div class="last_access">
OnLine: <CTimeAgo :datetime="myuser.lasttimeonline" />
</div>
<CTitleBanner
v-if="site.confpages.showCompetenze"
class=""
:title="$t('profile.skills')"
bgcolor="bg-primary"
clcolor="text-white"
myclass="myshad"
:canopen="true"
>
<q-tabs v-model="mytab" inline-label dense class="shadow-2">
<q-tab name="my" icon="far fa-user" />
<q-tab v-if="isMyRecord(myuser.username)" name="favorite" icon="favorite" content-class="text-red" />
<q-tab
v-if="isMyRecord(myuser.username)"
name="bookmark"
icon="bookmark"
content-class="text-teal"
/>
</q-tabs>
<div v-if="myuser.reported">
<CTitleBanner
title="⚠️ L'utente è stato Segnalato per comportamento non idoneo."
bgcolor="bg-red"
clcolor="text-white"
>
</CTitleBanner>
</div>
<q-tab-panels
v-model="mytab"
animated
vertical
transition-prev="jump-up"
transition-next="jump-up"
<div
v-if="site && site.confpages && site.confpages.showNameSurname"
>
<q-tab-panel name="my">
<div
v-for="(card, ind) of mycards"
:key="ind"
:name="card.table"
<div class="text-h6">
<span v-if="checkifShow('name') && myuser.name">
{{ myuser.name }}</span
>
<q-card class="q-my-md">
<div v-if="(card.table === 'mygroups') && tools.isUserOk()">
<div class="row text-h6 text-bold">Gruppi:</div>
<q-list>
<span
v-for="(grp, index) in listgroupsfiltered"
:key="index"
class="q-my-sm q-mx-none"
clickable
<span v-if="checkifShow('surname') && myuser.surname"
>&nbsp;{{ myuser.surname }}</span
>
</div>
</div>
<div class="col-12 text-h7 text-blue text-shadow-2">
{{ myuser.username }}
</div>
<br />
<CContactUser :myuser="myuser" :showBtnActivities="false" />
</div>
<q-tabs
v-if="isMyRecord(myuser.username)"
v-model="mytab"
inline-label
dense
class="shadow-2"
>
<q-tab name="my" icon="far fa-user" />
<q-tab
v-if="isMyRecord(myuser.username)"
name="favorite"
icon="favorite"
content-class="text-red"
/>
<q-tab
v-if="isMyRecord(myuser.username)"
name="bookmark"
icon="bookmark"
content-class="text-teal"
/>
</q-tabs>
<q-tab-panels
v-model="mytab"
animated
vertical
keep-alive
transition-prev="jump-up"
transition-next="jump-up"
>
<q-tab-panel name="my">
<div v-for="(card, ind) of mycards" :key="ind" :name="card.table">
<q-card class="q-my-md">
<div v-if="card.table === 'mygroups' && tools.isUserOk()">
<div class="row text-h6 text-bold">Gruppi:</div>
<q-list>
<span
v-for="(grp, index) in listgroupsfiltered"
:key="index"
class="q-my-sm q-mx-none"
clickable
>
<CMyGroup
:mygrp="grp"
:visu="costanti.USER_GROUPS"
:noaut="true"
>
<CMyGroup
:mygrp="grp"
:visu="costanti.USER_GROUPS"
:noaut="true"
>
</CMyGroup>
</span>
</q-list>
</div>
<div v-else-if="card.table === 'circuits'">
<div class="text-h6">{{ card.title }}</div>
<q-list>
<span
v-for="(circuit, index) in listcircuitsfiltered"
:key="index"
class="q-my-sm q-mx-none"
clickable
</CMyGroup>
</span>
</q-list>
</div>
<div v-else-if="card.table === shared_consts.TAB_MYCIRCUITS">
<div class="text-h6">{{ card.title }}</div>
<q-list>
<span
v-for="(circuit, index) in listcircuitsfiltered"
:key="index"
class="q-my-sm q-mx-none"
clickable
>
<CMyCircuit
:mycircuit="circuit"
:visu="costanti.USER_CIRCUITS"
:noaut="true"
:username="myuser.username"
>
<CMyCircuit
:mycircuit="circuit"
:visu="costanti.USER_CIRCUITS"
:noaut="true"
:username="myuser.username"
>
</CMyCircuit>
</span>
</q-list>
</div>
<div v-else-if="card.table !== 'mygroups' || myuser.email">
<CSkill
:table="card.table"
:filtercustom="card.table === 'mybachecas' ? filtro_eventi: filtroutente"
:butt_modif_new="isMyRecord(myuser.username)"
:visuinpage="true"
:noaut="true"
:title="card.title"
/>
</div>
</q-card>
</div>
</q-tab-panel>
<q-tab-panel v-if="isMyRecord(myuser.username)" name="favorite">
<div
v-for="(card, ind) of mycards"
:key="ind"
:name="card.table"
>
<q-card class="q-my-md">
<div v-if="card.showfavorite && filtrofavorite(card.table)">
<CSkill
:table="card.table"
:filtercustom="filtrofavorite(card.table)"
:butt_modif_new="false"
:visuinpage="true"
:noaut="false"
:title="card.title"
/>
</div>
</q-card>
</div>
</q-tab-panel>
<q-tab-panel v-if="isMyRecord(myuser.username)" name="bookmark">
<div
v-for="(card, ind) of mycards"
:key="ind"
:name="card.table"
>
<q-card class="q-my-md">
<div v-if="card.showfavorite && filtrobookmark(card.table)">
<CSkill
:table="card.table"
:filtercustom="filtrobookmark(card.table)"
:butt_modif_new="false"
:visuinpage="true"
:noaut="false"
:title="card.title"
/>
</div>
</q-card>
</div>
</q-tab-panel>
</q-tab-panels>
</CTitleBanner>
</CMyCircuit>
</span>
</q-list>
</div>
<div v-else-if="card.table !== 'mygroups' || myuser.email">
<CSkill
:table="card.table"
:filtercustom="
card.table === 'mybachecas'
? filtro_eventi
: filtroutente
"
:butt_modif_new="isMyRecord(myuser.username)"
:visuinpage="true"
:noaut="true"
:title="card.title"
/>
</div>
</q-card>
</div>
</q-tab-panel>
<q-tab-panel v-if="isMyRecord(myuser.username)" name="favorite">
<div v-for="(card, ind) of mycards" :key="ind" :name="card.table">
<q-card class="q-my-md">
<div v-if="card.showfavorite && filtrofavorite(card.table)">
<CSkill
:table="card.table"
:filtercustom="filtrofavorite(card.table)"
:butt_modif_new="false"
:visuinpage="true"
:noaut="false"
:title="card.title"
/>
</div>
</q-card>
</div>
</q-tab-panel>
<q-tab-panel v-if="isMyRecord(myuser.username)" name="bookmark">
<div v-for="(card, ind) of mycards" :key="ind" :name="card.table">
<q-card class="q-my-md">
<div v-if="card.showfavorite && filtrobookmark(card.table)">
<CSkill
:table="card.table"
:filtercustom="filtrobookmark(card.table)"
:butt_modif_new="false"
:visuinpage="true"
:noaut="false"
:title="card.title"
/>
</div>
</q-card>
</div>
</q-tab-panel>
</q-tab-panels>
</div>
</div>
@@ -218,16 +207,6 @@
<q-dialog v-model="showPic" full-height full-width>
<img :src="getImgUser()" :alt="username" class="full-width" />
</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>
</template>