- added Footer (mobile version)
- fix menu and qselect
This commit is contained in:
@@ -416,7 +416,7 @@ const baseroutes: IListRoutes[] = [
|
|||||||
active: true,
|
active: true,
|
||||||
order: 130,
|
order: 130,
|
||||||
path: '/friends',
|
path: '/friends',
|
||||||
materialIcon: 'fas fa-users',
|
materialIcon: 'eva-people-outline',
|
||||||
name: 'mypages.friends',
|
name: 'mypages.friends',
|
||||||
component: () => import('@/views/user/myfriends/myfriends.vue'),
|
component: () => import('@/views/user/myfriends/myfriends.vue'),
|
||||||
meta: { requiresAuth: true },
|
meta: { requiresAuth: true },
|
||||||
@@ -583,7 +583,7 @@ const baseroutes: IListRoutes[] = [
|
|||||||
inmenu: true,
|
inmenu: true,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
active: true,
|
active: false,
|
||||||
order: 80,
|
order: 80,
|
||||||
path: '/calendario-eventi',
|
path: '/calendario-eventi',
|
||||||
materialIcon: 'event',
|
materialIcon: 'event',
|
||||||
|
|||||||
@@ -23,15 +23,6 @@
|
|||||||
|
|
||||||
<div v-if="isUserOk()">
|
<div v-if="isUserOk()">
|
||||||
<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>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|||||||
@@ -583,7 +583,7 @@ const baseroutes: IListRoutes[] = [
|
|||||||
inmenu: true,
|
inmenu: true,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
active: true,
|
active: false,
|
||||||
order: 80,
|
order: 80,
|
||||||
path: '/calendario-eventi',
|
path: '/calendario-eventi',
|
||||||
materialIcon: 'event',
|
materialIcon: 'event',
|
||||||
|
|||||||
BIN
public/images/noimg.png
Executable file → Normal file
BIN
public/images/noimg.png
Executable file → Normal file
Binary file not shown.
|
Before Width: | Height: | Size: 27 KiB After Width: | Height: | Size: 14 KiB |
@@ -49,7 +49,7 @@ module.exports = configure((ctx) => ({
|
|||||||
extras: [
|
extras: [
|
||||||
// 'ionicons-v4',
|
// 'ionicons-v4',
|
||||||
// 'mdi-v5',
|
// 'mdi-v5',
|
||||||
// 'eva-icons',
|
'eva-icons',
|
||||||
// 'themify',
|
// 'themify',
|
||||||
// 'line-awesome',
|
// 'line-awesome',
|
||||||
'ionicons-v4',
|
'ionicons-v4',
|
||||||
|
|||||||
@@ -5,6 +5,7 @@ import { useI18n } from '@src/boot/i18n'
|
|||||||
import { useGlobalStore } from '@store/globalStore'
|
import { useGlobalStore } from '@store/globalStore'
|
||||||
import { useUserStore } from '@store/UserStore'
|
import { useUserStore } from '@store/UserStore'
|
||||||
import { Header } from '@/components/Header'
|
import { Header } from '@/components/Header'
|
||||||
|
import { MyFooter } from '@/components/MyFooter'
|
||||||
import { computed } from 'vue'
|
import { computed } from 'vue'
|
||||||
import { CProvaPao } from '@/components/CProvaPao'
|
import { CProvaPao } from '@/components/CProvaPao'
|
||||||
import { tools } from '@store/Modules/tools'
|
import { tools } from '@store/Modules/tools'
|
||||||
@@ -12,6 +13,7 @@ import { tools } from '@store/Modules/tools'
|
|||||||
export default {
|
export default {
|
||||||
components: {
|
components: {
|
||||||
appHeader: Header,
|
appHeader: Header,
|
||||||
|
appFooter: MyFooter,
|
||||||
CProvaPao,
|
CProvaPao,
|
||||||
BannerCookies, /* , CPreloadImages */
|
BannerCookies, /* , CPreloadImages */
|
||||||
},
|
},
|
||||||
|
|||||||
@@ -1,12 +1,14 @@
|
|||||||
<template>
|
<template>
|
||||||
<div>
|
<div>
|
||||||
<q-layout view="hHh Lpr lff" class="shadow-2 rounded-borders">
|
<q-layout view="lHh Lpr lFf" class="shadow-2 rounded-borders">
|
||||||
<app-header></app-header>
|
<app-header></app-header>
|
||||||
<q-ajax-bar></q-ajax-bar>
|
<q-ajax-bar></q-ajax-bar>
|
||||||
|
|
||||||
<!--<CPreloadImages :arrimg="static_data.preLoadImages">
|
<!--<CPreloadImages :arrimg="static_data.preLoadImages">
|
||||||
</CPreloadImages>-->
|
</CPreloadImages>-->
|
||||||
|
|
||||||
|
<app-footer></app-footer>
|
||||||
|
|
||||||
<q-page-container id="mypage">
|
<q-page-container id="mypage">
|
||||||
<div v-if="finishLoading">
|
<div v-if="finishLoading">
|
||||||
<router-view/>
|
<router-view/>
|
||||||
|
|||||||
@@ -90,11 +90,11 @@ export default defineComponent({
|
|||||||
label: 'Settore',
|
label: 'Settore',
|
||||||
table: 'sectors',
|
table: 'sectors',
|
||||||
key: 'idSector',
|
key: 'idSector',
|
||||||
value: tools.getCookie(tools.COOK_SEARCH + 'sectors', costanti.FILTER_TUTTI),
|
value: tools.getCookie(tools.COOK_SEARCH + 'sectors', 0),
|
||||||
arrvalue: [],
|
arrvalue: [],
|
||||||
type: costanti.FieldType.select,
|
type: costanti.FieldType.select,
|
||||||
filter: null,
|
filter: null,
|
||||||
addall: true,
|
addall: false,
|
||||||
notinsearch: true,
|
notinsearch: true,
|
||||||
useinput: false,
|
useinput: false,
|
||||||
},
|
},
|
||||||
@@ -165,6 +165,7 @@ export default defineComponent({
|
|||||||
key: 'numLevel',
|
key: 'numLevel',
|
||||||
value: tools.getCookie(tools.COOK_SEARCH + 'levels', costanti.FILTER_TUTTI),
|
value: tools.getCookie(tools.COOK_SEARCH + 'levels', costanti.FILTER_TUTTI),
|
||||||
arrvalue: [],
|
arrvalue: [],
|
||||||
|
addall: true,
|
||||||
type: costanti.FieldType.select,
|
type: costanti.FieldType.select,
|
||||||
filter: null,
|
filter: null,
|
||||||
useinput: false,
|
useinput: false,
|
||||||
@@ -174,7 +175,7 @@ export default defineComponent({
|
|||||||
table: 'statusSkills',
|
table: 'statusSkills',
|
||||||
key: 'idStatusSkill',
|
key: 'idStatusSkill',
|
||||||
value: 0,
|
value: 0,
|
||||||
arrvalue: tools.getCookie(tools.COOK_SEARCH + 'statusSkills', [costanti.FILTER_TUTTI]),
|
arrvalue: tools.getCookie(tools.COOK_SEARCH + 'statusSkills', []),
|
||||||
type: costanti.FieldType.multiselect,
|
type: costanti.FieldType.multiselect,
|
||||||
filter: null,
|
filter: null,
|
||||||
useinput: false,
|
useinput: false,
|
||||||
@@ -185,7 +186,7 @@ export default defineComponent({
|
|||||||
table: 'contribtypes',
|
table: 'contribtypes',
|
||||||
key: 'idContribType',
|
key: 'idContribType',
|
||||||
value: 0,
|
value: 0,
|
||||||
arrvalue: tools.getCookie(tools.COOK_SEARCH + 'contribtypes', [costanti.FILTER_TUTTI]),
|
arrvalue: tools.getCookie(tools.COOK_SEARCH + 'contribtypes', []),
|
||||||
type: costanti.FieldType.multiselect,
|
type: costanti.FieldType.multiselect,
|
||||||
filter: null,
|
filter: null,
|
||||||
useinput: false,
|
useinput: false,
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
<template>
|
<template>
|
||||||
<div class="bi-border-all">
|
<div class="bi-border-all">
|
||||||
<div class="q-ma-xs q-gutter-xs q-pa-xs bg-green">
|
<div class="q-ma-xs q-gutter-xs q-pa-xs">
|
||||||
<CGridTableRec
|
<CGridTableRec
|
||||||
v-if="searchList.length > 0"
|
v-if="searchList.length > 0"
|
||||||
prop_mytable="myskills"
|
prop_mytable="myskills"
|
||||||
|
|||||||
@@ -110,7 +110,7 @@
|
|||||||
:label="labelcombo(item)"
|
:label="labelcombo(item)"
|
||||||
v-model:value="item.value"
|
v-model:value="item.value"
|
||||||
@update:value="searchval(item.value, item.table)"
|
@update:value="searchval(item.value, item.table)"
|
||||||
:addall="true"
|
:addall="item.addall"
|
||||||
:tablesel="item.type === costanti.FieldType.select_by_server ? item.tablesel : ''"
|
:tablesel="item.type === costanti.FieldType.select_by_server ? item.tablesel : ''"
|
||||||
:pickup="item.type === costanti.FieldType.select_by_server"
|
:pickup="item.type === costanti.FieldType.select_by_server"
|
||||||
label-color="primary"
|
label-color="primary"
|
||||||
@@ -135,7 +135,7 @@
|
|||||||
:label="labelcombo(item)"
|
:label="labelcombo(item)"
|
||||||
v-model:arrvalue="item.arrvalue"
|
v-model:arrvalue="item.arrvalue"
|
||||||
@update:arrvalue="searchval(item.arrvalue, item.table)"
|
@update:arrvalue="searchval(item.arrvalue, item.table)"
|
||||||
:addall="true"
|
:addall="item.addall"
|
||||||
:tablesel="item.tablesel"
|
:tablesel="item.tablesel"
|
||||||
:pickup="true"
|
:pickup="true"
|
||||||
:param1="item.param1"
|
:param1="item.param1"
|
||||||
@@ -309,6 +309,7 @@
|
|||||||
:mycontact="props.row"
|
:mycontact="props.row"
|
||||||
:visu="visufind"
|
:visu="visufind"
|
||||||
:groupname="extrafield"
|
:groupname="extrafield"
|
||||||
|
:labelextra="props.row[col_title]"
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|||||||
@@ -42,6 +42,11 @@ export default defineComponent({
|
|||||||
type: String,
|
type: String,
|
||||||
required: false,
|
required: false,
|
||||||
default: '',
|
default: '',
|
||||||
|
},
|
||||||
|
labelextra: {
|
||||||
|
type: String,
|
||||||
|
required: false,
|
||||||
|
default: '',
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
setup(props, { emit }) {
|
setup(props, { emit }) {
|
||||||
@@ -206,7 +211,7 @@ export default defineComponent({
|
|||||||
|
|
||||||
|
|
||||||
function setCmd($q: any, cmd: number, usernameDest: string, value: any, groupname: string) {
|
function setCmd($q: any, cmd: number, usernameDest: string, value: any, groupname: string) {
|
||||||
tools.setCmd($q, cmd, usernameDest, value, username.value)
|
tools.setCmd($q, cmd, username.value, value, usernameDest)
|
||||||
|
|
||||||
if (cmd === shared_consts.FRIENDSCMD.SETTRUST) {
|
if (cmd === shared_consts.FRIENDSCMD.SETTRUST) {
|
||||||
setRequestTrust(usernameDest, value)
|
setRequestTrust(usernameDest, value)
|
||||||
|
|||||||
@@ -38,7 +38,8 @@
|
|||||||
:mycontact="mycontact"
|
:mycontact="mycontact"
|
||||||
@setCmd="setCmd"
|
@setCmd="setCmd"
|
||||||
:visu="visu"
|
:visu="visu"
|
||||||
:groupname="groupname">
|
:groupname="groupname"
|
||||||
|
:labelextra="labelextra">
|
||||||
</CMyUser>
|
</CMyUser>
|
||||||
</span>
|
</span>
|
||||||
</q-list>
|
</q-list>
|
||||||
|
|||||||
@@ -30,6 +30,11 @@ export default defineComponent({
|
|||||||
type: String,
|
type: String,
|
||||||
required: false,
|
required: false,
|
||||||
default: '',
|
default: '',
|
||||||
|
},
|
||||||
|
labelextra: {
|
||||||
|
type: String,
|
||||||
|
required: false,
|
||||||
|
default: '',
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
||||||
|
|||||||
@@ -8,7 +8,8 @@
|
|||||||
</q-item-section>
|
</q-item-section>
|
||||||
|
|
||||||
<q-item-section @click="naviga(`/my/` + contact.username)">
|
<q-item-section @click="naviga(`/my/` + contact.username)">
|
||||||
<q-item-label><strong>{{ contact.username }}</strong> <span v-if="contact.name">({{ contact.name }} {{ contact.surname }})</span>
|
<q-item-label v-if="labelextra"><strong>{{ labelextra }}</strong></q-item-label>
|
||||||
|
<q-item-label>{{ contact.username }} <span v-if="contact.name">({{ contact.name }} {{ contact.surname }})</span>
|
||||||
</q-item-label>
|
</q-item-label>
|
||||||
<q-item-label v-if="contact.profile" caption lines="1"><em>{{ contact.profile.qualifica }}</em></q-item-label>
|
<q-item-label v-if="contact.profile" caption lines="1"><em>{{ contact.profile.qualifica }}</em></q-item-label>
|
||||||
</q-item-section>
|
</q-item-section>
|
||||||
|
|||||||
0
src/components/MyFooter/MyFooter.scss
Executable file
0
src/components/MyFooter/MyFooter.scss
Executable file
47
src/components/MyFooter/MyFooter.ts
Executable file
47
src/components/MyFooter/MyFooter.ts
Executable file
@@ -0,0 +1,47 @@
|
|||||||
|
import { useQuasar } from 'quasar'
|
||||||
|
import {
|
||||||
|
defineComponent, onBeforeMount, onBeforeUnmount, onMounted, ref, toRefs, watch, inject, computed,
|
||||||
|
} from 'vue'
|
||||||
|
|
||||||
|
import { tools } from '@store/Modules/tools'
|
||||||
|
|
||||||
|
import { shared_consts } from '@src/common/shared_vuejs'
|
||||||
|
import { useI18n } from '@src/boot/i18n'
|
||||||
|
import { useRouter } from 'vue-router'
|
||||||
|
import { static_data } from '@/db/static_data'
|
||||||
|
import { useGlobalStore } from '@store/globalStore'
|
||||||
|
import { useUserStore } from '@store/UserStore'
|
||||||
|
|
||||||
|
import MixinUsers from '../../mixins/mixin-users'
|
||||||
|
|
||||||
|
export default defineComponent({
|
||||||
|
name: 'MyFooter',
|
||||||
|
components: {},
|
||||||
|
props: {},
|
||||||
|
|
||||||
|
setup() {
|
||||||
|
const $q = useQuasar()
|
||||||
|
const { t } = useI18n()
|
||||||
|
const $router = useRouter()
|
||||||
|
|
||||||
|
const userStore = useUserStore()
|
||||||
|
const globalStore = useGlobalStore()
|
||||||
|
|
||||||
|
const { getMyUsername, Username } = MixinUsers()
|
||||||
|
|
||||||
|
function mounted() {
|
||||||
|
// mounted
|
||||||
|
}
|
||||||
|
|
||||||
|
onMounted(mounted)
|
||||||
|
|
||||||
|
return {
|
||||||
|
static_data,
|
||||||
|
globalStore,
|
||||||
|
t,
|
||||||
|
getMyUsername,
|
||||||
|
Username,
|
||||||
|
}
|
||||||
|
},
|
||||||
|
|
||||||
|
})
|
||||||
36
src/components/MyFooter/MyFooter.vue
Executable file
36
src/components/MyFooter/MyFooter.vue
Executable file
@@ -0,0 +1,36 @@
|
|||||||
|
<template>
|
||||||
|
<q-footer
|
||||||
|
class="bg-white small-screen-only"
|
||||||
|
bordered
|
||||||
|
>
|
||||||
|
<q-tabs
|
||||||
|
class="text-grey-10 text-h6"
|
||||||
|
active-color="primary"
|
||||||
|
indicator-color="transparent"
|
||||||
|
>
|
||||||
|
<q-route-tab
|
||||||
|
to="/"
|
||||||
|
icon="fas fa-home"
|
||||||
|
/>
|
||||||
|
<q-route-tab
|
||||||
|
to="/groups"
|
||||||
|
icon="fas fa-users"
|
||||||
|
/>
|
||||||
|
<q-route-tab
|
||||||
|
to="/friends"
|
||||||
|
icon="fas fa-user-friends"
|
||||||
|
/>
|
||||||
|
<q-route-tab
|
||||||
|
:to="`/my/`+getMyUsername()"
|
||||||
|
icon="person"
|
||||||
|
/>
|
||||||
|
</q-tabs>
|
||||||
|
</q-footer>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<script lang="ts" src="./MyFooter.ts">
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<style lang="scss" scoped>
|
||||||
|
@import './MyFooter.scss';
|
||||||
|
</style>
|
||||||
1
src/components/MyFooter/index.ts
Executable file
1
src/components/MyFooter/index.ts
Executable file
@@ -0,0 +1 @@
|
|||||||
|
export { default as MyFooter } from './MyFooter.vue'
|
||||||
@@ -918,3 +918,21 @@ $heightBtn: 100%;
|
|||||||
.fill-all-width {
|
.fill-all-width {
|
||||||
width: -webkit-fill-available;
|
width: -webkit-fill-available;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.small-screen-only{
|
||||||
|
@media (max-width: $breakpoint-xs-max) {
|
||||||
|
display: block;
|
||||||
|
}
|
||||||
|
@media (min-width: $breakpoint-sm-min) {
|
||||||
|
display: none;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.large-screen-only{
|
||||||
|
@media (max-width: $breakpoint-xs-max) {
|
||||||
|
display: none;
|
||||||
|
}
|
||||||
|
@media (min-width: $breakpoint-sm-min) {
|
||||||
|
display: block;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|||||||
@@ -416,7 +416,7 @@ const baseroutes: IListRoutes[] = [
|
|||||||
active: true,
|
active: true,
|
||||||
order: 130,
|
order: 130,
|
||||||
path: '/friends',
|
path: '/friends',
|
||||||
materialIcon: 'fas fa-users',
|
materialIcon: 'fas fa-user-friends',
|
||||||
name: 'mypages.friends',
|
name: 'mypages.friends',
|
||||||
component: () => import('@/views/user/myfriends/myfriends.vue'),
|
component: () => import('@/views/user/myfriends/myfriends.vue'),
|
||||||
meta: { requiresAuth: true },
|
meta: { requiresAuth: true },
|
||||||
@@ -583,7 +583,7 @@ const baseroutes: IListRoutes[] = [
|
|||||||
inmenu: true,
|
inmenu: true,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
active: true,
|
active: false,
|
||||||
order: 80,
|
order: 80,
|
||||||
path: '/calendario-eventi',
|
path: '/calendario-eventi',
|
||||||
materialIcon: 'event',
|
materialIcon: 'event',
|
||||||
|
|||||||
@@ -27,15 +27,6 @@
|
|||||||
|
|
||||||
</CFinder>
|
</CFinder>
|
||||||
|
|
||||||
<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>
|
</div>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@@ -28,16 +28,6 @@
|
|||||||
|
|
||||||
</CFinder>
|
</CFinder>
|
||||||
|
|
||||||
|
|
||||||
<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>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|||||||
@@ -2,13 +2,13 @@
|
|||||||
<q-page class="">
|
<q-page class="">
|
||||||
<div class="landing">
|
<div class="landing">
|
||||||
<PagePolicy
|
<PagePolicy
|
||||||
owneremail="info@associazioneshen.it"
|
owneremail=""
|
||||||
SiteName="Associazione Shen"
|
SiteName=""
|
||||||
ownerDataName="Associazione Shen"
|
ownerDataName=""
|
||||||
managerData="Cristina Barattoni"
|
managerData=""
|
||||||
includeData="dati anagrafici (ragione sociale, nome, cognome), recapiti (telefono, indirizzo email)"
|
includeData="dati anagrafici (ragione sociale, nome, cognome), recapiti (telefono, indirizzo email)"
|
||||||
url="www.associazioneshen.it"
|
url=""
|
||||||
lastdataupdate="11 luglio 2019"
|
lastdataupdate=""
|
||||||
country="Italia"
|
country="Italia"
|
||||||
>
|
>
|
||||||
|
|
||||||
|
|||||||
@@ -4833,7 +4833,7 @@ export const tools = {
|
|||||||
} else if (cmd === shared_consts.GROUPSCMD.CANCEL_REQ_GROUP) {
|
} else if (cmd === shared_consts.GROUPSCMD.CANCEL_REQ_GROUP) {
|
||||||
tools.cancelReqGroups($q, username, dest)
|
tools.cancelReqGroups($q, username, dest)
|
||||||
} else if (cmd === shared_consts.FRIENDSCMD.REMOVE_FROM_MYFRIENDS) {
|
} else if (cmd === shared_consts.FRIENDSCMD.REMOVE_FROM_MYFRIENDS) {
|
||||||
tools.removeFromMyFriends($q, username, value)
|
tools.removeFromMyFriends($q, username, dest)
|
||||||
} else if (cmd === shared_consts.FRIENDSCMD.BLOCK_USER) {
|
} else if (cmd === shared_consts.FRIENDSCMD.BLOCK_USER) {
|
||||||
tools.blockUser($q, username, dest)
|
tools.blockUser($q, username, dest)
|
||||||
} else if (cmd === shared_consts.FRIENDSCMD.SETFRIEND) {
|
} else if (cmd === shared_consts.FRIENDSCMD.SETFRIEND) {
|
||||||
|
|||||||
Reference in New Issue
Block a user