Group Page : visibility, some info, members views.
This commit is contained in:
@@ -24,3 +24,6 @@
|
||||
}
|
||||
|
||||
|
||||
.title_param{
|
||||
font-size: 1.25rem;
|
||||
}
|
||||
|
||||
@@ -16,7 +16,7 @@ import { useI18n } from '@/boot/i18n'
|
||||
import { toolsext } from '@store/Modules/toolsext'
|
||||
import { useQuasar } from 'quasar'
|
||||
import { costanti } from '@costanti'
|
||||
import { IFriends, IMyGroup, ISearchList, IUserFields } from 'model'
|
||||
import { ICity, IFriends, IMyGroup, ISearchList, IUserFields } from 'model'
|
||||
import { shared_consts } from '@/common/shared_vuejs'
|
||||
import { colmyUserPeople, colmyUserGroup } from '@store/Modules/fieldsTable'
|
||||
import { useNotifStore } from '@store/NotifStore'
|
||||
@@ -42,6 +42,7 @@ export default defineComponent({
|
||||
const showPic = ref(false)
|
||||
|
||||
const mygrp = ref(<IMyGroup|null>{})
|
||||
const mystatus = ref(<number>0)
|
||||
const users_in_group = ref(<IFriends[]>[])
|
||||
|
||||
const loading = ref(false)
|
||||
@@ -54,6 +55,8 @@ export default defineComponent({
|
||||
const filtercustom_rich: any = ref([])
|
||||
const searchList = ref(<ISearchList[]>[])
|
||||
|
||||
const cities = ref(<ICity[]>[])
|
||||
|
||||
function profile() {
|
||||
return userStore.my.profile
|
||||
}
|
||||
@@ -65,16 +68,20 @@ export default defineComponent({
|
||||
async function loadGroup() {
|
||||
// Carica il profilo di quest'utente
|
||||
if (groupname.value) {
|
||||
await userStore.loadGroup(groupname.value, idnotif.value).then((ris) => {
|
||||
if (ris) {
|
||||
mygrp.value = ris.mygroup
|
||||
await userStore.loadGroup(groupname.value, idnotif.value).then(({ data, status }: {data: any, status: number}) => {
|
||||
console.log('data', data)
|
||||
if (data) {
|
||||
mygrp.value = data.mygroup
|
||||
cities.value = data.cities
|
||||
notifStore.setAsRead(idnotif.value)
|
||||
users_in_group.value = ris.users_in_group
|
||||
users_in_group.value = data.users_in_group
|
||||
} else {
|
||||
mygrp.value = null
|
||||
users_in_group.value = []
|
||||
}
|
||||
|
||||
mystatus.value = status
|
||||
|
||||
loading.value = false
|
||||
// filtroutente.value = [{ userId: userStore.my._id }]
|
||||
})
|
||||
@@ -223,6 +230,8 @@ export default defineComponent({
|
||||
listaAdmins,
|
||||
users_in_group,
|
||||
loading,
|
||||
mystatus,
|
||||
cities,
|
||||
}
|
||||
}
|
||||
})
|
||||
|
||||
@@ -2,7 +2,14 @@
|
||||
|
||||
<div class="q-gutter-sm q-pa-sm q-pb-md">
|
||||
<div v-if="!mygrp && !loading">
|
||||
<h3>Gruppo non Esistente</h3>
|
||||
<div v-if="mystatus === 403">
|
||||
<h3>Non hai i permessi per accedere al Gruppo.<br>
|
||||
|
||||
Occorre prima registrarsi alla App </h3>
|
||||
</div>
|
||||
<div v-else>
|
||||
<h3>Gruppo non Esistente</h3>
|
||||
</div>
|
||||
</div>
|
||||
<div v-else>
|
||||
|
||||
@@ -22,7 +29,7 @@
|
||||
<div class="text-h6">
|
||||
<span v-if="checkifShow('name')"> {{ mygrp.title }}</span>
|
||||
</div>
|
||||
<div class="col-12 text-h7 text-blue text-shadow-2">
|
||||
<div v-if="mygrp.title !== mygrp.groupname" class="col-12 text-h7 text-blue text-shadow-2">
|
||||
{{ mygrp.groupname }}
|
||||
</div>
|
||||
|
||||
@@ -95,7 +102,7 @@
|
||||
<q-tabs v-model="tabgrp" class="text-blue">
|
||||
<q-tab label="Info" name="info" icon="fas fa-info"></q-tab>
|
||||
<q-tab v-if="!!mygrp.note" label="Pagina" name="page" icon="fas fa-file-word"></q-tab>
|
||||
<q-tab v-if="userStore.IsMyGroupByGroupname(mygrp.groupname) || tools.iAmAdminGroup(groupname)"
|
||||
<q-tab v-if="tools.iCanShowGroupsMember(mygrp) || tools.iAmAdminGroup(groupname)"
|
||||
:label="t('groups.subscribes')" name="membri" icon="fas fa-users"></q-tab>
|
||||
<q-tab v-if="tools.iAmAdminGroup(groupname)" label="Richieste" name="rich" icon="fas fa-user-plus"></q-tab>
|
||||
<q-tab v-if="tools.iAmAdminGroup(groupname)" label="Rifiutati" name="refused" icon="fas fa-user-minus"></q-tab>
|
||||
@@ -104,30 +111,56 @@
|
||||
<q-tab-panels v-model="tabgrp" animated>
|
||||
<q-tab-panel name="info">
|
||||
<div>
|
||||
<q-card>
|
||||
<CMyFieldRec
|
||||
title="Visibilità"
|
||||
table="mygroups"
|
||||
:id="mygrp._id"
|
||||
:columns="colmyUserGroup"
|
||||
:rec="mygrp"
|
||||
field="visibility"
|
||||
:canEdit="false"
|
||||
:canModify="false">
|
||||
</CMyFieldRec>
|
||||
</q-card>
|
||||
<q-card>
|
||||
<q-card-section>
|
||||
<div class="text-h6">Attività:</div>
|
||||
<div class="text-h6">{{ t('groups.info') }}</div>
|
||||
</q-card-section>
|
||||
|
||||
<q-separator />
|
||||
<q-separator/>
|
||||
|
||||
<q-card-section>
|
||||
<div class="creator">
|
||||
<q-icon name="fas fa-lightbulb"></q-icon>
|
||||
{{ $t('groups.createdby', {username: mygrp.createdBy, date: tools.getstrDateLong(mygrp.date_created) }) }}
|
||||
{{ $t('groups.createdby', {
|
||||
username: mygrp.createdBy,
|
||||
date: tools.getstrDateLong(mygrp.date_created),
|
||||
})
|
||||
}}
|
||||
</div>
|
||||
|
||||
<div v-if="mygrp.visibility.includes(shared_consts.Visibility_Group.PRIVATE)" class="row">
|
||||
<div class="q-pa-xs">
|
||||
<q-icon name="fas fa-eye"></q-icon>
|
||||
</div>
|
||||
<div>
|
||||
<div class="title_param"> {{ $t('groups.private') }}</div>
|
||||
{{ $t('groups.private_descr') }}
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div v-if="mygrp.visibility.includes(shared_consts.Visibility_Group.HIDDEN)" class="row">
|
||||
<div class="q-pa-xs">
|
||||
<q-icon name="fas fa-search"></q-icon>
|
||||
</div>
|
||||
<div>
|
||||
<div class="title_param"> {{ $t('groups.hidden') }}</div>
|
||||
{{ $t('groups.hidden_descr') }}
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div v-if="cities.length > 0" class="row">
|
||||
<div class="q-pa-xs">
|
||||
<q-icon name="fas fa-map-marker-alt"></q-icon>
|
||||
</div>
|
||||
<div>
|
||||
<div class="title_param">
|
||||
<div v-for="(city, index) of cities" :key="index">
|
||||
{{ city.comune }} ({{ city.prov }})
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="members">
|
||||
<q-icon name="fas fa-users"></q-icon>
|
||||
{{ numUsers() }} {{ numUsers() === 1 ? t('groups.member') : t('groups.members') }}
|
||||
@@ -152,7 +185,7 @@
|
||||
<q-card-section>
|
||||
<div class="text-h6">Descrizione:</div>
|
||||
</q-card-section>
|
||||
<q-separator />
|
||||
<q-separator/>
|
||||
|
||||
<q-card-section>
|
||||
<div class="col-12 text-h7">
|
||||
@@ -197,7 +230,7 @@
|
||||
</div>
|
||||
</q-tab-panel>
|
||||
|
||||
<q-tab-panel name="membri" style="max-width: 400px;">
|
||||
<q-tab-panel name="membri" style="max-width: 400px;" v-if="tools.iCanShowGroupsMember(mygrp)">
|
||||
<CGridTableRec
|
||||
ref="tabMembri"
|
||||
prop_mytable="users"
|
||||
|
||||
Reference in New Issue
Block a user