- Statistiche
- Menu e Sottomenu - Lista ultimi Movimenti
This commit is contained in:
@@ -1,452 +0,0 @@
|
|||||||
|
|
||||||
.testo-banda {
|
|
||||||
//background: -webkit-gradient(linear, left top, left bottom, from(#3144f0), to(transparent));
|
|
||||||
//background: linear-gradient(180deg, #3144f0, transparent);
|
|
||||||
//background: rgba(0, 0, 0, .6)
|
|
||||||
}
|
|
||||||
|
|
||||||
$grayshadow: #555;
|
|
||||||
|
|
||||||
$textcol: blue;
|
|
||||||
$textcol_scuro: darkblue;
|
|
||||||
|
|
||||||
p {
|
|
||||||
margin: 0 0 1.25rem;
|
|
||||||
//text-shadow: .125rem .125rem .25rem $grayshadow;
|
|
||||||
}
|
|
||||||
|
|
||||||
h4 {
|
|
||||||
font-size: 1.25rem;
|
|
||||||
}
|
|
||||||
|
|
||||||
.mycard {
|
|
||||||
visibility: hidden;
|
|
||||||
}
|
|
||||||
|
|
||||||
.landing {
|
|
||||||
}
|
|
||||||
|
|
||||||
.landing_background {
|
|
||||||
background: #000 url(../../../public/images/foto1.jpg) no-repeat 50% fixed;
|
|
||||||
background-size: cover
|
|
||||||
}
|
|
||||||
|
|
||||||
.landing > section {
|
|
||||||
display: -webkit-box;
|
|
||||||
display: -ms-flexbox;
|
|
||||||
display: flex;
|
|
||||||
-webkit-box-pack: center;
|
|
||||||
-ms-flex-pack: center;
|
|
||||||
justify-content: center;
|
|
||||||
//padding: 0 16px
|
|
||||||
}
|
|
||||||
|
|
||||||
.intro {
|
|
||||||
display: flex;
|
|
||||||
justify-content: space-between;
|
|
||||||
align-items: stretch;
|
|
||||||
/* flex-flow: row nowrap; */
|
|
||||||
|
|
||||||
padding: 1.25rem 0 1.25rem 0;
|
|
||||||
margin: .125rem;
|
|
||||||
|
|
||||||
* {
|
|
||||||
width: 100%;
|
|
||||||
flex: 1;
|
|
||||||
margin-left: auto;
|
|
||||||
margin-right: auto;
|
|
||||||
}
|
|
||||||
|
|
||||||
&__associazione {
|
|
||||||
min-width: 350px;
|
|
||||||
}
|
|
||||||
|
|
||||||
&__comeassociarsi {
|
|
||||||
min-width: 350px;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
.subtitle {
|
|
||||||
font-weight: 600;
|
|
||||||
text-align: center;
|
|
||||||
letter-spacing: 0.125rem;
|
|
||||||
text-transform: uppercase;
|
|
||||||
font-size: 1rem;
|
|
||||||
}
|
|
||||||
|
|
||||||
.landing > section.padding {
|
|
||||||
padding: 5.62rem 1rem;
|
|
||||||
}
|
|
||||||
|
|
||||||
.landing > section.padding_testo {
|
|
||||||
padding-top: 1.25rem;
|
|
||||||
padding-bottom: 1rem;
|
|
||||||
}
|
|
||||||
|
|
||||||
.landing > section.padding_gallery {
|
|
||||||
padding-top: 3.125rem;
|
|
||||||
padding-bottom: 5.625rem;
|
|
||||||
}
|
|
||||||
|
|
||||||
.landing > section > div {
|
|
||||||
position: relative;
|
|
||||||
width: 100%
|
|
||||||
}
|
|
||||||
|
|
||||||
.maxwidth1200 {
|
|
||||||
max-width: 1200px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.landing__toolbar {
|
|
||||||
background: -webkit-gradient(linear, left top, left bottom, from(#000), to(transparent));
|
|
||||||
background: linear-gradient(180deg, #000, transparent);
|
|
||||||
padding: 0 !important
|
|
||||||
}
|
|
||||||
|
|
||||||
.landing__toolbar .q-btn {
|
|
||||||
border-radius: 0 0 .315rem .315rem;
|
|
||||||
-ms-flex-item-align: stretch;
|
|
||||||
align-self: stretch
|
|
||||||
}
|
|
||||||
|
|
||||||
.landing__hero {
|
|
||||||
min-height: 50vh
|
|
||||||
}
|
|
||||||
|
|
||||||
.landing__header {
|
|
||||||
height: 18vh
|
|
||||||
}
|
|
||||||
|
|
||||||
.landing__arrow {
|
|
||||||
bottom: 1.5rem;
|
|
||||||
opacity: .4
|
|
||||||
}
|
|
||||||
|
|
||||||
.landing__front {
|
|
||||||
background: -webkit-gradient(linear, left top, left bottom, from(transparent), color-stop(15%, rgba(0, 0, 0, .6)));
|
|
||||||
background: linear-gradient(180deg, transparent, rgba(0, 0, 0, .6) 15%)
|
|
||||||
}
|
|
||||||
|
|
||||||
.landing__logo {
|
|
||||||
width: 9.40rem;
|
|
||||||
height: 9.40rem;
|
|
||||||
margin-top: 1.315rem;
|
|
||||||
//-webkit-animation: logo-rotate 240s linear infinite;
|
|
||||||
//animation: logo-rotate 240s linear infinite
|
|
||||||
}
|
|
||||||
|
|
||||||
.landing__features .q-icon {
|
|
||||||
font-size: 4rem
|
|
||||||
}
|
|
||||||
|
|
||||||
h4 {
|
|
||||||
line-height: 1.5;
|
|
||||||
text-shadow: .25rem .25rem .5rem $grayshadow;
|
|
||||||
}
|
|
||||||
|
|
||||||
.landing__features h4, .landing__features h6 {
|
|
||||||
margin: 1rem 0
|
|
||||||
}
|
|
||||||
|
|
||||||
.landing__features p {
|
|
||||||
opacity: .7;
|
|
||||||
font-size: 1rem;
|
|
||||||
line-height: 1.5;
|
|
||||||
}
|
|
||||||
|
|
||||||
.landing__footer {
|
|
||||||
//background: -webkit-gradient(linear, left top, left bottom, color-stop(65%, rgba(0, 0, 0, .1)), to(#000));
|
|
||||||
background: linear-gradient(180deg, rgba(0, 0, 0, .8) 95%, #FFF);
|
|
||||||
padding-top: 4.5rem !important;
|
|
||||||
padding-bottom: 4.5rem !important;
|
|
||||||
padding-left: 1.25rem;
|
|
||||||
padding-right: 1.25rem;
|
|
||||||
color: #9f9f9f;
|
|
||||||
}
|
|
||||||
|
|
||||||
.icon_contact:hover {
|
|
||||||
color: blue;
|
|
||||||
border-color: white;
|
|
||||||
border-width: .0625rem;
|
|
||||||
}
|
|
||||||
|
|
||||||
.landing__footer .doc-link {
|
|
||||||
color: $textcol;
|
|
||||||
}
|
|
||||||
|
|
||||||
.landing__footer .doc-link:hover {
|
|
||||||
opacity: .8
|
|
||||||
}
|
|
||||||
|
|
||||||
.landing__swirl-bg {
|
|
||||||
background-repeat: no-repeat !important;
|
|
||||||
background-position: top;
|
|
||||||
background-size: contain !important;
|
|
||||||
background-image: url(../../../public/images/landing_first_section.png) !important
|
|
||||||
}
|
|
||||||
|
|
||||||
.feat-descr {
|
|
||||||
font-size: 1.15rem;
|
|
||||||
}
|
|
||||||
|
|
||||||
.feat-descr:hover {
|
|
||||||
transition: opacity 0.5s ease-in-out;
|
|
||||||
opacity: 0.9;
|
|
||||||
}
|
|
||||||
|
|
||||||
.q-col-gutter-sm {
|
|
||||||
padding: 3.125rem 3.125rem;
|
|
||||||
//margin-left: -48px
|
|
||||||
}
|
|
||||||
|
|
||||||
body.mobile .landing {
|
|
||||||
//background: unset
|
|
||||||
}
|
|
||||||
|
|
||||||
body.mobile .landing:before {
|
|
||||||
content: "";
|
|
||||||
position: fixed;
|
|
||||||
top: 0;
|
|
||||||
height: 100vh;
|
|
||||||
left: 0;
|
|
||||||
right: 0;
|
|
||||||
bottom: 0;
|
|
||||||
z-index: -1;
|
|
||||||
//background: #000 url(../../public/images/cover.jpg) 50%;
|
|
||||||
|
|
||||||
background-size: cover
|
|
||||||
}
|
|
||||||
|
|
||||||
/*
|
|
||||||
@-webkit-keyframes logo-rotate {
|
|
||||||
to {
|
|
||||||
-webkit-transform: rotate(-1turn);
|
|
||||||
transform: rotate(-1turn)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
@keyframes logo-rotate {
|
|
||||||
to {
|
|
||||||
-webkit-transform: rotate(-1turn);
|
|
||||||
transform: rotate(-1turn)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
*/
|
|
||||||
|
|
||||||
.home {
|
|
||||||
//background-color: rgb(250, 250, 250);
|
|
||||||
padding: 3.125rem;
|
|
||||||
display: flex;
|
|
||||||
//flex-wrap: nowrap;
|
|
||||||
flex-direction: column;
|
|
||||||
align-items: center;
|
|
||||||
justify-content: space-between;
|
|
||||||
}
|
|
||||||
|
|
||||||
.btn-start {
|
|
||||||
margin: 3.125rem;
|
|
||||||
}
|
|
||||||
|
|
||||||
.shadow {
|
|
||||||
//color: white;
|
|
||||||
text-shadow: 0.125rem 0.125rem 0.25rem $grayshadow;
|
|
||||||
}
|
|
||||||
|
|
||||||
.text-h1, h1 {
|
|
||||||
font-size: 3rem;
|
|
||||||
font-weight: bold;
|
|
||||||
line-height: 3rem;
|
|
||||||
letter-spacing: -.01562em;
|
|
||||||
margin-bottom: 8px !important;
|
|
||||||
}
|
|
||||||
|
|
||||||
.text-h2 {
|
|
||||||
font-size: 3.75rem;
|
|
||||||
font-weight: 300;
|
|
||||||
line-height: 3.75rem;
|
|
||||||
letter-spacing: -.00833em;
|
|
||||||
}
|
|
||||||
|
|
||||||
.text-weight-bold {
|
|
||||||
font-weight: 700;
|
|
||||||
}
|
|
||||||
|
|
||||||
.text-vers {
|
|
||||||
font-size: 0.75rem;
|
|
||||||
font-weight: 400;
|
|
||||||
line-height: 1.75rem;
|
|
||||||
letter-spacing: .00937em;
|
|
||||||
text-shadow: .25rem .25rem .5rem $grayshadow;
|
|
||||||
}
|
|
||||||
|
|
||||||
.homep-cover-img-1 {
|
|
||||||
background: #000 url(../../../public/images/foto1.jpg) no-repeat 50% fixed;
|
|
||||||
//transition: background-image 1s ease-in-out;
|
|
||||||
}
|
|
||||||
|
|
||||||
.homep-cover-img-2 {
|
|
||||||
background: #000 url(../../../public/images/foto2.jpg) no-repeat 50% fixed;
|
|
||||||
//transition: background-image 1s ease-in-out;
|
|
||||||
}
|
|
||||||
|
|
||||||
.homep-cover-img-3 {
|
|
||||||
background: #000 url(../../../public/images/foto3.jpg) no-repeat 50% fixed;
|
|
||||||
//transition: background-image 1s ease-in-out;
|
|
||||||
}
|
|
||||||
|
|
||||||
.homep-cover-img.hide-filter:before {
|
|
||||||
opacity: 0
|
|
||||||
}
|
|
||||||
|
|
||||||
.landing__footer-icons {
|
|
||||||
font-size: 1.75rem
|
|
||||||
}
|
|
||||||
|
|
||||||
.landing__footer-icons a {
|
|
||||||
margin: 0 .5rem .5rem;
|
|
||||||
text-decoration: none;
|
|
||||||
outline: 0;
|
|
||||||
color: $textcol;
|
|
||||||
transition: color .28s
|
|
||||||
}
|
|
||||||
|
|
||||||
.landing__footer-icons a:hover {
|
|
||||||
color: $textcol_scuro;
|
|
||||||
}
|
|
||||||
|
|
||||||
.doc-img {
|
|
||||||
max-width: 100%;
|
|
||||||
}
|
|
||||||
|
|
||||||
.mylist {
|
|
||||||
background: #3fdaff;
|
|
||||||
padding-left: 1.25rem;
|
|
||||||
}
|
|
||||||
|
|
||||||
.clgutter {
|
|
||||||
margin-top: 1.25rem;
|
|
||||||
padding: .62rem;
|
|
||||||
}
|
|
||||||
|
|
||||||
.carousel_img_3 {
|
|
||||||
//background-image: url(../../public/images/cibo_sano.jpg);
|
|
||||||
background-size: cover !important;
|
|
||||||
background-position: 50% center !important;
|
|
||||||
background-repeat: no-repeat !important;
|
|
||||||
}
|
|
||||||
|
|
||||||
@media (max-width: 718px) {
|
|
||||||
// PER VERSIONE MOBILE
|
|
||||||
|
|
||||||
.landing__hero {
|
|
||||||
text-align: center
|
|
||||||
}
|
|
||||||
.landing__header {
|
|
||||||
height: 7vh
|
|
||||||
}
|
|
||||||
.clgutter {
|
|
||||||
margin-top: 0;
|
|
||||||
padding: 0;
|
|
||||||
}
|
|
||||||
.landing__hero .text-h1, h1 {
|
|
||||||
font-size: 2rem;
|
|
||||||
line-height: 2.05rem;
|
|
||||||
margin-bottom: 1.25rem
|
|
||||||
}
|
|
||||||
|
|
||||||
.landing > section.padding {
|
|
||||||
padding: 2.5rem 1rem;
|
|
||||||
}
|
|
||||||
|
|
||||||
.landing > section.padding_testo {
|
|
||||||
padding-top: 1.25rem;
|
|
||||||
padding-bottom: 1rem;
|
|
||||||
}
|
|
||||||
|
|
||||||
.landing > section.padding_gallery {
|
|
||||||
padding-top: 3.125rem;
|
|
||||||
padding-bottom: 5.625rem;
|
|
||||||
|
|
||||||
max-width: 800px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.landing > section.padding_gallery > div {
|
|
||||||
padding-top: 3.125rem;
|
|
||||||
padding-bottom: 5.625rem;
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
.landing__features h4, .landing__features h6 {
|
|
||||||
margin: 1.25rem 0
|
|
||||||
}
|
|
||||||
|
|
||||||
h4 {
|
|
||||||
line-height: 1.4;
|
|
||||||
text-shadow: 0.25rem 0.25rem 0.5rem $grayshadow;
|
|
||||||
}
|
|
||||||
|
|
||||||
.landing .feature-item {
|
|
||||||
text-align: center;
|
|
||||||
margin-top: 1.25rem;
|
|
||||||
}
|
|
||||||
.landing__hero-content {
|
|
||||||
padding-bottom: 11.25rem;
|
|
||||||
}
|
|
||||||
.landing__hero2-content {
|
|
||||||
padding-bottom: 7.25rem;
|
|
||||||
}
|
|
||||||
.landing__hero-btns {
|
|
||||||
-webkit-box-pack: center;
|
|
||||||
-ms-flex-pack: center;
|
|
||||||
justify-content: center
|
|
||||||
}
|
|
||||||
|
|
||||||
.q-col-gutter-sm {
|
|
||||||
padding: .625rem .315rem;
|
|
||||||
}
|
|
||||||
|
|
||||||
.text-subtitle1 {
|
|
||||||
font-size: 1.25rem;
|
|
||||||
}
|
|
||||||
.text-vers {
|
|
||||||
font-size: 0.6rem;
|
|
||||||
}
|
|
||||||
|
|
||||||
.carousel_img_3 {
|
|
||||||
//background-image: url(../../public/images/cibo_sano.jpg);
|
|
||||||
background-size: 620px 620px !important;
|
|
||||||
background-position: 50% top !important;
|
|
||||||
background-repeat: no-repeat !important;
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
.custom-caption {
|
|
||||||
text-align: center;
|
|
||||||
padding: .75rem;
|
|
||||||
color: $textcol;
|
|
||||||
background-color: rgba(0, 0, 0, .3);
|
|
||||||
}
|
|
||||||
|
|
||||||
.sfondo-grigio {
|
|
||||||
padding: 1rem;
|
|
||||||
color: $textcol;
|
|
||||||
background-color: rgba(0, 0, 0, .35);
|
|
||||||
}
|
|
||||||
|
|
||||||
.mycontacts {
|
|
||||||
color: gray;
|
|
||||||
letter-spacing: 0.078rem;
|
|
||||||
}
|
|
||||||
|
|
||||||
.mycontacts_title {
|
|
||||||
text-shadow: 0.125rem 0.125rem 0.125rem #555;
|
|
||||||
font-weight: bold;
|
|
||||||
color: #999;
|
|
||||||
letter-spacing: 0.125rem;
|
|
||||||
}
|
|
||||||
|
|
||||||
.mycontacts_text {
|
|
||||||
color: #999;
|
|
||||||
letter-spacing: 0.093rem;
|
|
||||||
}
|
|
||||||
@@ -1,78 +0,0 @@
|
|||||||
import { defineComponent, ref, onMounted, watch, computed } from 'vue'
|
|
||||||
|
|
||||||
import { useGlobalStore } from '@store/globalStore'
|
|
||||||
import { useRoute } from 'vue-router'
|
|
||||||
import { useUserStore } from '@store/UserStore'
|
|
||||||
|
|
||||||
import { Logo } from '../../components/logo'
|
|
||||||
|
|
||||||
import { LandingFooter } from '../../components/LandingFooter'
|
|
||||||
import { CMyPage } from '../../components/CMyPage/index'
|
|
||||||
|
|
||||||
import { tools } from '@src/store/Modules/tools'
|
|
||||||
import { static_data } from '@src/db/static_data'
|
|
||||||
import { toolsext } from '@src/store/Modules/toolsext'
|
|
||||||
import { Screen } from 'quasar'
|
|
||||||
import { CCardCarousel, CEventsCalendar, COpenStreetMap } from '@components'
|
|
||||||
import MixinBase from '@src/mixins/mixin-base'
|
|
||||||
import { firstimagehome } from '@src/db/static_data'
|
|
||||||
import MixinMetaTags from '@/mixins/mixin-metatags'
|
|
||||||
|
|
||||||
export default defineComponent({
|
|
||||||
name: 'home_arcadei',
|
|
||||||
components: { Logo, LandingFooter, CMyPage, CCardCarousel, CEventsCalendar, COpenStreetMap },
|
|
||||||
|
|
||||||
setup() {
|
|
||||||
const animare = ref(0)
|
|
||||||
const slide = ref('first')
|
|
||||||
const slide2 = ref(1)
|
|
||||||
|
|
||||||
const getImmagini = ref([
|
|
||||||
{
|
|
||||||
title: '', subtitle: '',
|
|
||||||
alt: 'Arcadei',
|
|
||||||
img: 'images/arcadei/img1.png'
|
|
||||||
},
|
|
||||||
])
|
|
||||||
|
|
||||||
const userStore = useUserStore()
|
|
||||||
const globalStore = useGlobalStore()
|
|
||||||
|
|
||||||
const { setValDb, getValDb } = MixinBase()
|
|
||||||
const { setmeta, getsrcbyimg } = MixinMetaTags()
|
|
||||||
|
|
||||||
function getheightgallery() {
|
|
||||||
if (tools.isMobile())
|
|
||||||
return '400px'
|
|
||||||
else
|
|
||||||
return '600px'
|
|
||||||
}
|
|
||||||
|
|
||||||
function created() {
|
|
||||||
//
|
|
||||||
}
|
|
||||||
|
|
||||||
function getArrDisciplines() {
|
|
||||||
return globalStore.disciplines.filter((rec: any) => rec.showinhome)
|
|
||||||
}
|
|
||||||
|
|
||||||
created()
|
|
||||||
|
|
||||||
return {
|
|
||||||
tools,
|
|
||||||
toolsext,
|
|
||||||
static_data,
|
|
||||||
animare,
|
|
||||||
slide,
|
|
||||||
slide2,
|
|
||||||
getheightgallery,
|
|
||||||
getArrDisciplines,
|
|
||||||
getImmagini,
|
|
||||||
getValDb,
|
|
||||||
firstimagehome,
|
|
||||||
getsrcbyimg,
|
|
||||||
setmeta,
|
|
||||||
}
|
|
||||||
},
|
|
||||||
})
|
|
||||||
|
|
||||||
@@ -1,221 +0,0 @@
|
|||||||
<template>
|
|
||||||
<q-page>
|
|
||||||
<CMyPage title="Home">
|
|
||||||
<div class="landing">
|
|
||||||
<section>
|
|
||||||
<div class="landing__hero maxwidth1200 text-white">
|
|
||||||
<q-carousel
|
|
||||||
animated
|
|
||||||
:autoplay="animare"
|
|
||||||
swipeable
|
|
||||||
infinite
|
|
||||||
navigation
|
|
||||||
transition-next="slide-left"
|
|
||||||
transition-prev="slide-right"
|
|
||||||
v-model="slide"
|
|
||||||
:height="getheightgallery()"
|
|
||||||
width="100%"
|
|
||||||
>
|
|
||||||
<q-carousel-slide name="first"
|
|
||||||
:img-src="getsrcbyimg(firstimagehome())">
|
|
||||||
<div class="landing__header"></div>
|
|
||||||
<div class="landing__hero-content row justify-center q-gutter-xs clgutter">
|
|
||||||
<div class="row">
|
|
||||||
|
|
||||||
</div>
|
|
||||||
<div class="flex justify-end">
|
|
||||||
<div class="q-gutter-xs testo-banda clgutter">
|
|
||||||
<h1 class="text-h1 shadow-max">{{tools.getappname()}}</h1>
|
|
||||||
<div class="text-subtitle1 shadow text-italic q-pl-sm">
|
|
||||||
|
|
||||||
</div>
|
|
||||||
<div class="text-subtitle1 shadow-max big text-italic q-pl-sm">
|
|
||||||
|
|
||||||
</div>
|
|
||||||
<div class="text-subtitle2 shadow text-italic q-pl-sm">
|
|
||||||
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div>
|
|
||||||
<br>
|
|
||||||
<br>
|
|
||||||
<div v-if="!tools.isLogged()" style="margin: 5px; padding: 5px;" class="home">
|
|
||||||
<br>
|
|
||||||
<br>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div class="landing__arrow absolute-bottom text-center">
|
|
||||||
<i aria-hidden="true"
|
|
||||||
class="q-icon text-h2 text-white material-icons">expand_more</i>
|
|
||||||
</div>
|
|
||||||
</q-carousel-slide>
|
|
||||||
<q-carousel-slide name="second"
|
|
||||||
:img-src="getsrcbyimg('images/background2.jpg')" alt="">
|
|
||||||
<div class="landing__header"></div>
|
|
||||||
<div class="landing__hero2-content row justify-center q-gutter-xs clgutter">
|
|
||||||
<div class="row">
|
|
||||||
<logo></logo>
|
|
||||||
</div>
|
|
||||||
<div class="flex justify-end">
|
|
||||||
<div class="q-gutter-xs testo-banda clgutter">
|
|
||||||
<h1 class="text-h1 shadow-max">{{tools.getappname()}}</h1>
|
|
||||||
<h2 class="text-subtitle1 shadow text-italic q-pl-sm">
|
|
||||||
{{$t('msg.sottoTitoloApp')}}
|
|
||||||
</h2>
|
|
||||||
<h2 class="text-subtitle1 shadow-max big text-italic q-pl-sm">
|
|
||||||
<strong>{{$t('msg.sottoTitoloApp2')}}</strong>
|
|
||||||
</h2>
|
|
||||||
<h2 class="text-subtitle2 shadow text-italic q-pl-sm">
|
|
||||||
{{$t('msg.sottoTitoloApp3')}}
|
|
||||||
</h2>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div class="landing__arrow absolute-bottom text-center">
|
|
||||||
<i aria-hidden="true"
|
|
||||||
class="q-icon text-h2 text-white material-icons">expand_more</i>
|
|
||||||
</div>
|
|
||||||
</q-carousel-slide>
|
|
||||||
<q-carousel-slide name="third"
|
|
||||||
:img-src="getsrcbyimg('images/background3.jpg')">
|
|
||||||
<div class="landing__header"></div>
|
|
||||||
<div class="landing__hero2-content row justify-center q-gutter-xs clgutter">
|
|
||||||
<div class="row">
|
|
||||||
<logo></logo>
|
|
||||||
</div>
|
|
||||||
<div class="flex justify-end">
|
|
||||||
<div class="q-gutter-xs testo-banda clgutter">
|
|
||||||
<div class="text-h1 shadow-max">{{tools.getappname()}}</div>
|
|
||||||
<div class="text-subtitle1 shadow text-italic q-pl-sm">
|
|
||||||
{{$t('msg.sottoTitoloApp')}}
|
|
||||||
</div>
|
|
||||||
<div class="text-subtitle1 shadow-max big text-italic q-pl-sm"><strong>{{$t('msg.sottoTitoloApp2')}}</strong>
|
|
||||||
</div>
|
|
||||||
<div class="text-subtitle2 shadow text-italic q-pl-sm">
|
|
||||||
{{$t('msg.sottoTitoloApp3')}}
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div class="text-subtitle3 shadow text-italic q-pl-sm ">
|
|
||||||
{{$t('msg.sottoTitoloApp4')}}
|
|
||||||
</div>
|
|
||||||
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div class="landing__arrow absolute-bottom text-center">
|
|
||||||
<!--<i aria-hidden="true"-->
|
|
||||||
<!--class="q-icon text-h2 text-white material-icons">expand_more</i>-->
|
|
||||||
</div>
|
|
||||||
</q-carousel-slide>
|
|
||||||
</q-carousel>
|
|
||||||
|
|
||||||
</div>
|
|
||||||
</section>
|
|
||||||
|
|
||||||
<div class="q-pa-md q-gutter-md">
|
|
||||||
<div v-if="isLogged && !isVerified" class="text-verified">{{
|
|
||||||
$t('components.authentication.email_verification.link_sent') }}
|
|
||||||
</div>
|
|
||||||
|
|
||||||
</div>
|
|
||||||
|
|
||||||
|
|
||||||
<CCardCarousel :myarr="getArrDisciplines()">
|
|
||||||
|
|
||||||
</CCardCarousel>
|
|
||||||
|
|
||||||
<CEventsCalendar :mysingleevent="null" :showfirstN="getValDb('SHOW_LAST_EVENTS', false, 3)">
|
|
||||||
|
|
||||||
</CEventsCalendar>
|
|
||||||
|
|
||||||
|
|
||||||
<div v-if="getValDb('VIDEO_HOME', false)" class="row justify-evenly items-center q-gutter-md ">
|
|
||||||
|
|
||||||
<div class="text-center">
|
|
||||||
<h4 class="subtitle text-blue" v-html="getValDb('VIDEO_TITLE', false)"></h4>
|
|
||||||
<div class="">
|
|
||||||
<video :width="tools.getwidthscale(mythis, 320, 800)"
|
|
||||||
:height="tools.getheightbywidth(mythis, 320, 180, 800)" controls>
|
|
||||||
<source :src="getValDb('VIDEO_HOME', false)" type="video/mp4">
|
|
||||||
</video>
|
|
||||||
</div>
|
|
||||||
<!--<q-video src="../../statics/video/Intervista_Cristina_Barattoni.mp4">-->
|
|
||||||
|
|
||||||
<!--</q-video>-->
|
|
||||||
</div>
|
|
||||||
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div v-if="getValDb('YT_VIDEO', false)" class="row justify-evenly items-center q-gutter-md ">
|
|
||||||
|
|
||||||
<div class="text-center">
|
|
||||||
<h4 class="subtitle text-blue" v-html="getValDb('YT_TITLE', false)"></h4>
|
|
||||||
<div class="">
|
|
||||||
|
|
||||||
<div class="">
|
|
||||||
<iframe
|
|
||||||
:width="tools.getwidthscale(mythis, getValDb('YT_W', false), 800)"
|
|
||||||
:height="tools.getheightbywidth(mythis, getValDb('YT_W', false), getValDb('YT_H', false), 800)"
|
|
||||||
:src="getValDb('YT_VIDEO', false)"
|
|
||||||
frameborder="0"
|
|
||||||
allowfullscreen
|
|
||||||
></iframe>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<!--<q-video src="../../statics/video/Intervista_Cristina_Barattoni.mp4">-->
|
|
||||||
|
|
||||||
<!--</q-video>-->
|
|
||||||
</div>
|
|
||||||
|
|
||||||
</div>
|
|
||||||
|
|
||||||
|
|
||||||
<section :class="`maxwidth padding_gallery `+ ($q.dark.isActive ? `bg-black` : `bg-white`) + ` text-grey-10 text-center`" >
|
|
||||||
|
|
||||||
<q-carousel
|
|
||||||
swipeable
|
|
||||||
animated
|
|
||||||
:autoplay="8000"
|
|
||||||
v-model="slide2"
|
|
||||||
arrows
|
|
||||||
thumbnails
|
|
||||||
infinite
|
|
||||||
height="600">
|
|
||||||
<q-carousel-slide v-for="(rec, index) in getImmagini" :key="index" :name="index"
|
|
||||||
:img-src="rec.img"
|
|
||||||
:alt="rec.alt"
|
|
||||||
class="carousel_slide">
|
|
||||||
<div class="absolute-bottom custom-caption" style="margin-bottom: 70px">
|
|
||||||
<div class="text-h5"><span
|
|
||||||
class="text-h6 text-grey-1 shadow-max">{{index + 1}}. </span><span
|
|
||||||
class="text-h6 text-grey-2 shadow">{{rec.title}}</span></div>
|
|
||||||
<div class="text-subtitle1"><span class="text-grey-4 shadow">{{rec.subtitle}}</span>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</q-carousel-slide>
|
|
||||||
</q-carousel>
|
|
||||||
</section>
|
|
||||||
<div v-if="!tools.isMobile()" style="margin: 60px 60px;"></div>
|
|
||||||
|
|
||||||
<COpenStreetMap :imgmap="getValDb('IMGMAP', false)" :urlmap="getValDb('URLMAP', false)" :title="getValDb('MAP_TITLE', false)"
|
|
||||||
:coordinates="getValDb('COORD_MAP_1', false)" :coord_big="getValDb('COORD_MAP_BIG', false)">
|
|
||||||
|
|
||||||
</COpenStreetMap>
|
|
||||||
|
|
||||||
|
|
||||||
<div class="q-ma-md"></div>
|
|
||||||
</div>
|
|
||||||
</CMyPage>
|
|
||||||
</q-page>
|
|
||||||
</template>
|
|
||||||
|
|
||||||
<script lang="ts" src="./home_arcadei.ts">
|
|
||||||
</script>
|
|
||||||
|
|
||||||
<style lang="scss" scoped>
|
|
||||||
@import './home_arcadei.scss';
|
|
||||||
</style>
|
|
||||||
@@ -1,452 +0,0 @@
|
|||||||
|
|
||||||
.testo-banda {
|
|
||||||
//background: -webkit-gradient(linear, left top, left bottom, from(#3144f0), to(transparent));
|
|
||||||
//background: linear-gradient(180deg, #3144f0, transparent);
|
|
||||||
//background: rgba(0, 0, 0, .6)
|
|
||||||
}
|
|
||||||
|
|
||||||
$grayshadow: #555;
|
|
||||||
|
|
||||||
$textcol: blue;
|
|
||||||
$textcol_scuro: darkblue;
|
|
||||||
|
|
||||||
p {
|
|
||||||
margin: 0 0 1.25rem;
|
|
||||||
//text-shadow: .125rem .125rem .25rem $grayshadow;
|
|
||||||
}
|
|
||||||
|
|
||||||
h4 {
|
|
||||||
font-size: 1.25rem;
|
|
||||||
}
|
|
||||||
|
|
||||||
.mycard {
|
|
||||||
visibility: hidden;
|
|
||||||
}
|
|
||||||
|
|
||||||
.landing {
|
|
||||||
}
|
|
||||||
|
|
||||||
.landing_background {
|
|
||||||
background: #000 url(../../../public/images/foto1.jpg) no-repeat 50% fixed;
|
|
||||||
background-size: cover
|
|
||||||
}
|
|
||||||
|
|
||||||
.landing > section {
|
|
||||||
display: -webkit-box;
|
|
||||||
display: -ms-flexbox;
|
|
||||||
display: flex;
|
|
||||||
-webkit-box-pack: center;
|
|
||||||
-ms-flex-pack: center;
|
|
||||||
justify-content: center;
|
|
||||||
//padding: 0 16px
|
|
||||||
}
|
|
||||||
|
|
||||||
.intro {
|
|
||||||
display: flex;
|
|
||||||
justify-content: space-between;
|
|
||||||
align-items: stretch;
|
|
||||||
/* flex-flow: row nowrap; */
|
|
||||||
|
|
||||||
padding: 1.25rem 0 1.25rem 0;
|
|
||||||
margin: .125rem;
|
|
||||||
|
|
||||||
* {
|
|
||||||
width: 100%;
|
|
||||||
flex: 1;
|
|
||||||
margin-left: auto;
|
|
||||||
margin-right: auto;
|
|
||||||
}
|
|
||||||
|
|
||||||
&__associazione {
|
|
||||||
min-width: 350px;
|
|
||||||
}
|
|
||||||
|
|
||||||
&__comeassociarsi {
|
|
||||||
min-width: 350px;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
.subtitle {
|
|
||||||
font-weight: 600;
|
|
||||||
text-align: center;
|
|
||||||
letter-spacing: 0.125rem;
|
|
||||||
text-transform: uppercase;
|
|
||||||
font-size: 1rem;
|
|
||||||
}
|
|
||||||
|
|
||||||
.landing > section.padding {
|
|
||||||
padding: 5.62rem 1rem;
|
|
||||||
}
|
|
||||||
|
|
||||||
.landing > section.padding_testo {
|
|
||||||
padding-top: 1.25rem;
|
|
||||||
padding-bottom: 1rem;
|
|
||||||
}
|
|
||||||
|
|
||||||
.landing > section.padding_gallery {
|
|
||||||
padding-top: 3.125rem;
|
|
||||||
padding-bottom: 5.625rem;
|
|
||||||
}
|
|
||||||
|
|
||||||
.landing > section > div {
|
|
||||||
position: relative;
|
|
||||||
width: 100%
|
|
||||||
}
|
|
||||||
|
|
||||||
.maxwidth1200 {
|
|
||||||
max-width: 1200px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.landing__toolbar {
|
|
||||||
background: -webkit-gradient(linear, left top, left bottom, from(#000), to(transparent));
|
|
||||||
background: linear-gradient(180deg, #000, transparent);
|
|
||||||
padding: 0 !important
|
|
||||||
}
|
|
||||||
|
|
||||||
.landing__toolbar .q-btn {
|
|
||||||
border-radius: 0 0 .315rem .315rem;
|
|
||||||
-ms-flex-item-align: stretch;
|
|
||||||
align-self: stretch
|
|
||||||
}
|
|
||||||
|
|
||||||
.landing__hero {
|
|
||||||
min-height: 50vh
|
|
||||||
}
|
|
||||||
|
|
||||||
.landing__header {
|
|
||||||
height: 18vh
|
|
||||||
}
|
|
||||||
|
|
||||||
.landing__arrow {
|
|
||||||
bottom: 1.5rem;
|
|
||||||
opacity: .4
|
|
||||||
}
|
|
||||||
|
|
||||||
.landing__front {
|
|
||||||
background: -webkit-gradient(linear, left top, left bottom, from(transparent), color-stop(15%, rgba(0, 0, 0, .6)));
|
|
||||||
background: linear-gradient(180deg, transparent, rgba(0, 0, 0, .6) 15%)
|
|
||||||
}
|
|
||||||
|
|
||||||
.landing__logo {
|
|
||||||
width: 9.40rem;
|
|
||||||
height: 9.40rem;
|
|
||||||
margin-top: 1.315rem;
|
|
||||||
//-webkit-animation: logo-rotate 240s linear infinite;
|
|
||||||
//animation: logo-rotate 240s linear infinite
|
|
||||||
}
|
|
||||||
|
|
||||||
.landing__features .q-icon {
|
|
||||||
font-size: 4rem
|
|
||||||
}
|
|
||||||
|
|
||||||
h4 {
|
|
||||||
line-height: 1.5;
|
|
||||||
text-shadow: .25rem .25rem .5rem $grayshadow;
|
|
||||||
}
|
|
||||||
|
|
||||||
.landing__features h4, .landing__features h6 {
|
|
||||||
margin: 1rem 0
|
|
||||||
}
|
|
||||||
|
|
||||||
.landing__features p {
|
|
||||||
opacity: .7;
|
|
||||||
font-size: 1rem;
|
|
||||||
line-height: 1.5;
|
|
||||||
}
|
|
||||||
|
|
||||||
.landing__footer {
|
|
||||||
//background: -webkit-gradient(linear, left top, left bottom, color-stop(65%, rgba(0, 0, 0, .1)), to(#000));
|
|
||||||
background: linear-gradient(180deg, rgba(0, 0, 0, .8) 95%, #FFF);
|
|
||||||
padding-top: 4.5rem !important;
|
|
||||||
padding-bottom: 4.5rem !important;
|
|
||||||
padding-left: 1.25rem;
|
|
||||||
padding-right: 1.25rem;
|
|
||||||
color: #9f9f9f;
|
|
||||||
}
|
|
||||||
|
|
||||||
.icon_contact:hover {
|
|
||||||
color: blue;
|
|
||||||
border-color: white;
|
|
||||||
border-width: .0625rem;
|
|
||||||
}
|
|
||||||
|
|
||||||
.landing__footer .doc-link {
|
|
||||||
color: $textcol;
|
|
||||||
}
|
|
||||||
|
|
||||||
.landing__footer .doc-link:hover {
|
|
||||||
opacity: .8
|
|
||||||
}
|
|
||||||
|
|
||||||
.landing__swirl-bg {
|
|
||||||
background-repeat: no-repeat !important;
|
|
||||||
background-position: top;
|
|
||||||
background-size: contain !important;
|
|
||||||
background-image: url(../../../public/images/landing_first_section.png) !important
|
|
||||||
}
|
|
||||||
|
|
||||||
.feat-descr {
|
|
||||||
font-size: 1.15rem;
|
|
||||||
}
|
|
||||||
|
|
||||||
.feat-descr:hover {
|
|
||||||
transition: opacity 0.5s ease-in-out;
|
|
||||||
opacity: 0.9;
|
|
||||||
}
|
|
||||||
|
|
||||||
.q-col-gutter-sm {
|
|
||||||
padding: 3.125rem 3.125rem;
|
|
||||||
//margin-left: -48px
|
|
||||||
}
|
|
||||||
|
|
||||||
body.mobile .landing {
|
|
||||||
//background: unset
|
|
||||||
}
|
|
||||||
|
|
||||||
body.mobile .landing:before {
|
|
||||||
content: "";
|
|
||||||
position: fixed;
|
|
||||||
top: 0;
|
|
||||||
height: 100vh;
|
|
||||||
left: 0;
|
|
||||||
right: 0;
|
|
||||||
bottom: 0;
|
|
||||||
z-index: -1;
|
|
||||||
//background: #000 url(../../public/images/cover.jpg) 50%;
|
|
||||||
|
|
||||||
background-size: cover
|
|
||||||
}
|
|
||||||
|
|
||||||
/*
|
|
||||||
@-webkit-keyframes logo-rotate {
|
|
||||||
to {
|
|
||||||
-webkit-transform: rotate(-1turn);
|
|
||||||
transform: rotate(-1turn)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
@keyframes logo-rotate {
|
|
||||||
to {
|
|
||||||
-webkit-transform: rotate(-1turn);
|
|
||||||
transform: rotate(-1turn)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
*/
|
|
||||||
|
|
||||||
.home {
|
|
||||||
//background-color: rgb(250, 250, 250);
|
|
||||||
padding: 3.125rem;
|
|
||||||
display: flex;
|
|
||||||
//flex-wrap: nowrap;
|
|
||||||
flex-direction: column;
|
|
||||||
align-items: center;
|
|
||||||
justify-content: space-between;
|
|
||||||
}
|
|
||||||
|
|
||||||
.btn-start {
|
|
||||||
margin: 3.125rem;
|
|
||||||
}
|
|
||||||
|
|
||||||
.shadow {
|
|
||||||
//color: white;
|
|
||||||
text-shadow: 0.125rem 0.125rem 0.25rem $grayshadow;
|
|
||||||
}
|
|
||||||
|
|
||||||
.text-h1, h1 {
|
|
||||||
font-size: 3rem;
|
|
||||||
font-weight: bold;
|
|
||||||
line-height: 3rem;
|
|
||||||
letter-spacing: -.01562em;
|
|
||||||
margin-bottom: 8px !important;
|
|
||||||
}
|
|
||||||
|
|
||||||
.text-h2 {
|
|
||||||
font-size: 3.75rem;
|
|
||||||
font-weight: 300;
|
|
||||||
line-height: 3.75rem;
|
|
||||||
letter-spacing: -.00833em;
|
|
||||||
}
|
|
||||||
|
|
||||||
.text-weight-bold {
|
|
||||||
font-weight: 700;
|
|
||||||
}
|
|
||||||
|
|
||||||
.text-vers {
|
|
||||||
font-size: 0.75rem;
|
|
||||||
font-weight: 400;
|
|
||||||
line-height: 1.75rem;
|
|
||||||
letter-spacing: .00937em;
|
|
||||||
text-shadow: .25rem .25rem .5rem $grayshadow;
|
|
||||||
}
|
|
||||||
|
|
||||||
.homep-cover-img-1 {
|
|
||||||
background: #000 url(../../../public/images/foto1.jpg) no-repeat 50% fixed;
|
|
||||||
//transition: background-image 1s ease-in-out;
|
|
||||||
}
|
|
||||||
|
|
||||||
.homep-cover-img-2 {
|
|
||||||
background: #000 url(../../../public/images/foto2.jpg) no-repeat 50% fixed;
|
|
||||||
//transition: background-image 1s ease-in-out;
|
|
||||||
}
|
|
||||||
|
|
||||||
.homep-cover-img-3 {
|
|
||||||
background: #000 url(../../../public/images/foto3.jpg) no-repeat 50% fixed;
|
|
||||||
//transition: background-image 1s ease-in-out;
|
|
||||||
}
|
|
||||||
|
|
||||||
.homep-cover-img.hide-filter:before {
|
|
||||||
opacity: 0
|
|
||||||
}
|
|
||||||
|
|
||||||
.landing__footer-icons {
|
|
||||||
font-size: 1.75rem
|
|
||||||
}
|
|
||||||
|
|
||||||
.landing__footer-icons a {
|
|
||||||
margin: 0 .5rem .5rem;
|
|
||||||
text-decoration: none;
|
|
||||||
outline: 0;
|
|
||||||
color: $textcol;
|
|
||||||
transition: color .28s
|
|
||||||
}
|
|
||||||
|
|
||||||
.landing__footer-icons a:hover {
|
|
||||||
color: $textcol_scuro;
|
|
||||||
}
|
|
||||||
|
|
||||||
.doc-img {
|
|
||||||
max-width: 100%;
|
|
||||||
}
|
|
||||||
|
|
||||||
.mylist {
|
|
||||||
background: #3fdaff;
|
|
||||||
padding-left: 1.25rem;
|
|
||||||
}
|
|
||||||
|
|
||||||
.clgutter {
|
|
||||||
margin-top: 1.25rem;
|
|
||||||
padding: .62rem;
|
|
||||||
}
|
|
||||||
|
|
||||||
.carousel_img_3 {
|
|
||||||
//background-image: url(../../public/images/cibo_sano.jpg);
|
|
||||||
background-size: cover !important;
|
|
||||||
background-position: 50% center !important;
|
|
||||||
background-repeat: no-repeat !important;
|
|
||||||
}
|
|
||||||
|
|
||||||
@media (max-width: 718px) {
|
|
||||||
// PER VERSIONE MOBILE
|
|
||||||
|
|
||||||
.landing__hero {
|
|
||||||
text-align: center
|
|
||||||
}
|
|
||||||
.landing__header {
|
|
||||||
height: 7vh
|
|
||||||
}
|
|
||||||
.clgutter {
|
|
||||||
margin-top: 0;
|
|
||||||
padding: 0;
|
|
||||||
}
|
|
||||||
.landing__hero .text-h1, h1 {
|
|
||||||
font-size: 2rem;
|
|
||||||
line-height: 2.05rem;
|
|
||||||
margin-bottom: 1.25rem
|
|
||||||
}
|
|
||||||
|
|
||||||
.landing > section.padding {
|
|
||||||
padding: 2.5rem 1rem;
|
|
||||||
}
|
|
||||||
|
|
||||||
.landing > section.padding_testo {
|
|
||||||
padding-top: 1.25rem;
|
|
||||||
padding-bottom: 1rem;
|
|
||||||
}
|
|
||||||
|
|
||||||
.landing > section.padding_gallery {
|
|
||||||
padding-top: 3.125rem;
|
|
||||||
padding-bottom: 5.625rem;
|
|
||||||
|
|
||||||
max-width: 800px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.landing > section.padding_gallery > div {
|
|
||||||
padding-top: 3.125rem;
|
|
||||||
padding-bottom: 5.625rem;
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
.landing__features h4, .landing__features h6 {
|
|
||||||
margin: 1.25rem 0
|
|
||||||
}
|
|
||||||
|
|
||||||
h4 {
|
|
||||||
line-height: 1.4;
|
|
||||||
text-shadow: 0.25rem 0.25rem 0.5rem $grayshadow;
|
|
||||||
}
|
|
||||||
|
|
||||||
.landing .feature-item {
|
|
||||||
text-align: center;
|
|
||||||
margin-top: 1.25rem;
|
|
||||||
}
|
|
||||||
.landing__hero-content {
|
|
||||||
padding-bottom: 11.25rem;
|
|
||||||
}
|
|
||||||
.landing__hero2-content {
|
|
||||||
padding-bottom: 7.25rem;
|
|
||||||
}
|
|
||||||
.landing__hero-btns {
|
|
||||||
-webkit-box-pack: center;
|
|
||||||
-ms-flex-pack: center;
|
|
||||||
justify-content: center
|
|
||||||
}
|
|
||||||
|
|
||||||
.q-col-gutter-sm {
|
|
||||||
padding: .625rem .315rem;
|
|
||||||
}
|
|
||||||
|
|
||||||
.text-subtitle1 {
|
|
||||||
font-size: 1.25rem;
|
|
||||||
}
|
|
||||||
.text-vers {
|
|
||||||
font-size: 0.6rem;
|
|
||||||
}
|
|
||||||
|
|
||||||
.carousel_img_3 {
|
|
||||||
//background-image: url(../../public/images/cibo_sano.jpg);
|
|
||||||
background-size: 620px 620px !important;
|
|
||||||
background-position: 50% top !important;
|
|
||||||
background-repeat: no-repeat !important;
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
.custom-caption {
|
|
||||||
text-align: center;
|
|
||||||
padding: .75rem;
|
|
||||||
color: $textcol;
|
|
||||||
background-color: rgba(0, 0, 0, .3);
|
|
||||||
}
|
|
||||||
|
|
||||||
.sfondo-grigio {
|
|
||||||
padding: 1rem;
|
|
||||||
color: $textcol;
|
|
||||||
background-color: rgba(0, 0, 0, .35);
|
|
||||||
}
|
|
||||||
|
|
||||||
.mycontacts {
|
|
||||||
color: gray;
|
|
||||||
letter-spacing: 0.078rem;
|
|
||||||
}
|
|
||||||
|
|
||||||
.mycontacts_title {
|
|
||||||
text-shadow: 0.125rem 0.125rem 0.125rem #555;
|
|
||||||
font-weight: bold;
|
|
||||||
color: #999;
|
|
||||||
letter-spacing: 0.125rem;
|
|
||||||
}
|
|
||||||
|
|
||||||
.mycontacts_text {
|
|
||||||
color: #999;
|
|
||||||
letter-spacing: 0.093rem;
|
|
||||||
}
|
|
||||||
@@ -1,78 +0,0 @@
|
|||||||
import { defineComponent, ref, onMounted, watch, computed } from 'vue'
|
|
||||||
|
|
||||||
import { useGlobalStore } from '@store/globalStore'
|
|
||||||
import { useRoute } from 'vue-router'
|
|
||||||
import { useUserStore } from '@store/UserStore'
|
|
||||||
|
|
||||||
import { Logo } from '../../components/logo'
|
|
||||||
|
|
||||||
import { LandingFooter } from '../../components/LandingFooter'
|
|
||||||
import { CMyPage } from '../../components/CMyPage/index'
|
|
||||||
|
|
||||||
import { tools } from '@src/store/Modules/tools'
|
|
||||||
import { static_data } from '@src/db/static_data'
|
|
||||||
import { toolsext } from '@src/store/Modules/toolsext'
|
|
||||||
import { Screen } from 'quasar'
|
|
||||||
import { CCardCarousel, CEventsCalendar, COpenStreetMap } from '@components'
|
|
||||||
import MixinBase from '@src/mixins/mixin-base'
|
|
||||||
import { firstimagehome } from '@src/db/static_data'
|
|
||||||
import MixinMetaTags from '@/mixins/mixin-metatags'
|
|
||||||
|
|
||||||
export default defineComponent({
|
|
||||||
name: 'home_arcadei',
|
|
||||||
components: { Logo, LandingFooter, CMyPage, CCardCarousel, CEventsCalendar, COpenStreetMap },
|
|
||||||
|
|
||||||
setup() {
|
|
||||||
const animare = ref(0)
|
|
||||||
const slide = ref('first')
|
|
||||||
const slide2 = ref(1)
|
|
||||||
|
|
||||||
const getImmagini = ref([
|
|
||||||
{
|
|
||||||
title: '', subtitle: '',
|
|
||||||
alt: 'Arcadei',
|
|
||||||
img: 'images/arcadei/img1.png'
|
|
||||||
},
|
|
||||||
])
|
|
||||||
|
|
||||||
const userStore = useUserStore()
|
|
||||||
const globalStore = useGlobalStore()
|
|
||||||
|
|
||||||
const { setValDb, getValDb } = MixinBase()
|
|
||||||
const { setmeta, getsrcbyimg } = MixinMetaTags()
|
|
||||||
|
|
||||||
function getheightgallery() {
|
|
||||||
if (tools.isMobile())
|
|
||||||
return '400px'
|
|
||||||
else
|
|
||||||
return '600px'
|
|
||||||
}
|
|
||||||
|
|
||||||
function created() {
|
|
||||||
//
|
|
||||||
}
|
|
||||||
|
|
||||||
function getArrDisciplines() {
|
|
||||||
return globalStore.disciplines.filter((rec: any) => rec.showinhome)
|
|
||||||
}
|
|
||||||
|
|
||||||
created()
|
|
||||||
|
|
||||||
return {
|
|
||||||
tools,
|
|
||||||
toolsext,
|
|
||||||
static_data,
|
|
||||||
animare,
|
|
||||||
slide,
|
|
||||||
slide2,
|
|
||||||
getheightgallery,
|
|
||||||
getArrDisciplines,
|
|
||||||
getImmagini,
|
|
||||||
getValDb,
|
|
||||||
firstimagehome,
|
|
||||||
getsrcbyimg,
|
|
||||||
setmeta,
|
|
||||||
}
|
|
||||||
},
|
|
||||||
})
|
|
||||||
|
|
||||||
@@ -1,221 +0,0 @@
|
|||||||
<template>
|
|
||||||
<q-page>
|
|
||||||
<CMyPage title="Home">
|
|
||||||
<div class="landing">
|
|
||||||
<section>
|
|
||||||
<div class="landing__hero maxwidth1200 text-white">
|
|
||||||
<q-carousel
|
|
||||||
animated
|
|
||||||
:autoplay="animare"
|
|
||||||
swipeable
|
|
||||||
infinite
|
|
||||||
navigation
|
|
||||||
transition-next="slide-left"
|
|
||||||
transition-prev="slide-right"
|
|
||||||
v-model="slide"
|
|
||||||
:height="getheightgallery()"
|
|
||||||
width="100%"
|
|
||||||
>
|
|
||||||
<q-carousel-slide name="first"
|
|
||||||
:img-src="getsrcbyimg(firstimagehome())">
|
|
||||||
<div class="landing__header"></div>
|
|
||||||
<div class="landing__hero-content row justify-center q-gutter-xs clgutter">
|
|
||||||
<div class="row">
|
|
||||||
|
|
||||||
</div>
|
|
||||||
<div class="flex justify-end">
|
|
||||||
<div class="q-gutter-xs testo-banda clgutter">
|
|
||||||
<h1 class="text-h1 shadow-max">{{tools.getappname()}}</h1>
|
|
||||||
<div class="text-subtitle1 shadow text-italic q-pl-sm">
|
|
||||||
|
|
||||||
</div>
|
|
||||||
<div class="text-subtitle1 shadow-max big text-italic q-pl-sm">
|
|
||||||
|
|
||||||
</div>
|
|
||||||
<div class="text-subtitle2 shadow text-italic q-pl-sm">
|
|
||||||
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div>
|
|
||||||
<br>
|
|
||||||
<br>
|
|
||||||
<div v-if="!tools.isLogged()" style="margin: 5px; padding: 5px;" class="home">
|
|
||||||
<br>
|
|
||||||
<br>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div class="landing__arrow absolute-bottom text-center">
|
|
||||||
<i aria-hidden="true"
|
|
||||||
class="q-icon text-h2 text-white material-icons">expand_more</i>
|
|
||||||
</div>
|
|
||||||
</q-carousel-slide>
|
|
||||||
<q-carousel-slide name="second"
|
|
||||||
:img-src="getsrcbyimg('images/background2.jpg')" alt="">
|
|
||||||
<div class="landing__header"></div>
|
|
||||||
<div class="landing__hero2-content row justify-center q-gutter-xs clgutter">
|
|
||||||
<div class="row">
|
|
||||||
<logo></logo>
|
|
||||||
</div>
|
|
||||||
<div class="flex justify-end">
|
|
||||||
<div class="q-gutter-xs testo-banda clgutter">
|
|
||||||
<h1 class="text-h1 shadow-max">{{tools.getappname()}}</h1>
|
|
||||||
<h2 class="text-subtitle1 shadow text-italic q-pl-sm">
|
|
||||||
{{$t('msg.sottoTitoloApp')}}
|
|
||||||
</h2>
|
|
||||||
<h2 class="text-subtitle1 shadow-max big text-italic q-pl-sm">
|
|
||||||
<strong>{{$t('msg.sottoTitoloApp2')}}</strong>
|
|
||||||
</h2>
|
|
||||||
<h2 class="text-subtitle2 shadow text-italic q-pl-sm">
|
|
||||||
{{$t('msg.sottoTitoloApp3')}}
|
|
||||||
</h2>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div class="landing__arrow absolute-bottom text-center">
|
|
||||||
<i aria-hidden="true"
|
|
||||||
class="q-icon text-h2 text-white material-icons">expand_more</i>
|
|
||||||
</div>
|
|
||||||
</q-carousel-slide>
|
|
||||||
<q-carousel-slide name="third"
|
|
||||||
:img-src="getsrcbyimg('images/background3.jpg')">
|
|
||||||
<div class="landing__header"></div>
|
|
||||||
<div class="landing__hero2-content row justify-center q-gutter-xs clgutter">
|
|
||||||
<div class="row">
|
|
||||||
<logo></logo>
|
|
||||||
</div>
|
|
||||||
<div class="flex justify-end">
|
|
||||||
<div class="q-gutter-xs testo-banda clgutter">
|
|
||||||
<div class="text-h1 shadow-max">{{tools.getappname()}}</div>
|
|
||||||
<div class="text-subtitle1 shadow text-italic q-pl-sm">
|
|
||||||
{{$t('msg.sottoTitoloApp')}}
|
|
||||||
</div>
|
|
||||||
<div class="text-subtitle1 shadow-max big text-italic q-pl-sm"><strong>{{$t('msg.sottoTitoloApp2')}}</strong>
|
|
||||||
</div>
|
|
||||||
<div class="text-subtitle2 shadow text-italic q-pl-sm">
|
|
||||||
{{$t('msg.sottoTitoloApp3')}}
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div class="text-subtitle3 shadow text-italic q-pl-sm ">
|
|
||||||
{{$t('msg.sottoTitoloApp4')}}
|
|
||||||
</div>
|
|
||||||
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div class="landing__arrow absolute-bottom text-center">
|
|
||||||
<!--<i aria-hidden="true"-->
|
|
||||||
<!--class="q-icon text-h2 text-white material-icons">expand_more</i>-->
|
|
||||||
</div>
|
|
||||||
</q-carousel-slide>
|
|
||||||
</q-carousel>
|
|
||||||
|
|
||||||
</div>
|
|
||||||
</section>
|
|
||||||
|
|
||||||
<div class="q-pa-md q-gutter-md">
|
|
||||||
<div v-if="isLogged && !isVerified" class="text-verified">{{
|
|
||||||
$t('components.authentication.email_verification.link_sent') }}
|
|
||||||
</div>
|
|
||||||
|
|
||||||
</div>
|
|
||||||
|
|
||||||
|
|
||||||
<CCardCarousel :myarr="getArrDisciplines()">
|
|
||||||
|
|
||||||
</CCardCarousel>
|
|
||||||
|
|
||||||
<CEventsCalendar :mysingleevent="null" :showfirstN="getValDb('SHOW_LAST_EVENTS', false, 3)">
|
|
||||||
|
|
||||||
</CEventsCalendar>
|
|
||||||
|
|
||||||
|
|
||||||
<div v-if="getValDb('VIDEO_HOME', false)" class="row justify-evenly items-center q-gutter-md ">
|
|
||||||
|
|
||||||
<div class="text-center">
|
|
||||||
<h4 class="subtitle text-blue" v-html="getValDb('VIDEO_TITLE', false)"></h4>
|
|
||||||
<div class="">
|
|
||||||
<video :width="tools.getwidthscale(mythis, 320, 800)"
|
|
||||||
:height="tools.getheightbywidth(mythis, 320, 180, 800)" controls>
|
|
||||||
<source :src="getValDb('VIDEO_HOME', false)" type="video/mp4">
|
|
||||||
</video>
|
|
||||||
</div>
|
|
||||||
<!--<q-video src="../../statics/video/Intervista_Cristina_Barattoni.mp4">-->
|
|
||||||
|
|
||||||
<!--</q-video>-->
|
|
||||||
</div>
|
|
||||||
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div v-if="getValDb('YT_VIDEO', false)" class="row justify-evenly items-center q-gutter-md ">
|
|
||||||
|
|
||||||
<div class="text-center">
|
|
||||||
<h4 class="subtitle text-blue" v-html="getValDb('YT_TITLE', false)"></h4>
|
|
||||||
<div class="">
|
|
||||||
|
|
||||||
<div class="">
|
|
||||||
<iframe
|
|
||||||
:width="tools.getwidthscale(mythis, getValDb('YT_W', false), 800)"
|
|
||||||
:height="tools.getheightbywidth(mythis, getValDb('YT_W', false), getValDb('YT_H', false), 800)"
|
|
||||||
:src="getValDb('YT_VIDEO', false)"
|
|
||||||
frameborder="0"
|
|
||||||
allowfullscreen
|
|
||||||
></iframe>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<!--<q-video src="../../statics/video/Intervista_Cristina_Barattoni.mp4">-->
|
|
||||||
|
|
||||||
<!--</q-video>-->
|
|
||||||
</div>
|
|
||||||
|
|
||||||
</div>
|
|
||||||
|
|
||||||
|
|
||||||
<section :class="`maxwidth padding_gallery `+ ($q.dark.isActive ? `bg-black` : `bg-white`) + ` text-grey-10 text-center`" >
|
|
||||||
|
|
||||||
<q-carousel
|
|
||||||
swipeable
|
|
||||||
animated
|
|
||||||
:autoplay="8000"
|
|
||||||
v-model="slide2"
|
|
||||||
arrows
|
|
||||||
thumbnails
|
|
||||||
infinite
|
|
||||||
height="600">
|
|
||||||
<q-carousel-slide v-for="(rec, index) in getImmagini" :key="index" :name="index"
|
|
||||||
:img-src="rec.img"
|
|
||||||
:alt="rec.alt"
|
|
||||||
class="carousel_slide">
|
|
||||||
<div class="absolute-bottom custom-caption" style="margin-bottom: 70px">
|
|
||||||
<div class="text-h5"><span
|
|
||||||
class="text-h6 text-grey-1 shadow-max">{{index + 1}}. </span><span
|
|
||||||
class="text-h6 text-grey-2 shadow">{{rec.title}}</span></div>
|
|
||||||
<div class="text-subtitle1"><span class="text-grey-4 shadow">{{rec.subtitle}}</span>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</q-carousel-slide>
|
|
||||||
</q-carousel>
|
|
||||||
</section>
|
|
||||||
<div v-if="!tools.isMobile()" style="margin: 60px 60px;"></div>
|
|
||||||
|
|
||||||
<COpenStreetMap :imgmap="getValDb('IMGMAP', false)" :urlmap="getValDb('URLMAP', false)" :title="getValDb('MAP_TITLE', false)"
|
|
||||||
:coordinates="getValDb('COORD_MAP_1', false)" :coord_big="getValDb('COORD_MAP_BIG', false)">
|
|
||||||
|
|
||||||
</COpenStreetMap>
|
|
||||||
|
|
||||||
|
|
||||||
<div class="q-ma-md"></div>
|
|
||||||
</div>
|
|
||||||
</CMyPage>
|
|
||||||
</q-page>
|
|
||||||
</template>
|
|
||||||
|
|
||||||
<script lang="ts" src="./home_arcadei.ts">
|
|
||||||
</script>
|
|
||||||
|
|
||||||
<style lang="scss" scoped>
|
|
||||||
@import './home_arcadei.scss';
|
|
||||||
</style>
|
|
||||||
@@ -1,446 +0,0 @@
|
|||||||
|
|
||||||
.testo-banda {
|
|
||||||
//background: -webkit-gradient(linear, left top, left bottom, from(#3144f0), to(transparent));
|
|
||||||
//background: linear-gradient(180deg, #3144f0, transparent);
|
|
||||||
//background: rgba(0, 0, 0, .6)
|
|
||||||
}
|
|
||||||
|
|
||||||
$grayshadow: #555;
|
|
||||||
|
|
||||||
$textcol: blue;
|
|
||||||
$textcol_scuro: darkblue;
|
|
||||||
|
|
||||||
p {
|
|
||||||
margin: 0 0 1.25rem;
|
|
||||||
//text-shadow: .125rem .125rem .25rem $grayshadow;
|
|
||||||
}
|
|
||||||
|
|
||||||
h4 {
|
|
||||||
font-size: 1.25rem;
|
|
||||||
}
|
|
||||||
|
|
||||||
.mycard {
|
|
||||||
visibility: hidden;
|
|
||||||
}
|
|
||||||
|
|
||||||
.landing {
|
|
||||||
}
|
|
||||||
|
|
||||||
.landing_background {
|
|
||||||
background: #000 url(../../../public/images/foto1.jpg) no-repeat 50% fixed;
|
|
||||||
background-size: cover
|
|
||||||
}
|
|
||||||
|
|
||||||
.landing > section {
|
|
||||||
display: -webkit-box;
|
|
||||||
display: -ms-flexbox;
|
|
||||||
display: flex;
|
|
||||||
-webkit-box-pack: center;
|
|
||||||
-ms-flex-pack: center;
|
|
||||||
justify-content: center;
|
|
||||||
//padding: 0 16px
|
|
||||||
}
|
|
||||||
|
|
||||||
.intro {
|
|
||||||
display: flex;
|
|
||||||
justify-content: space-between;
|
|
||||||
align-items: stretch;
|
|
||||||
/* flex-flow: row nowrap; */
|
|
||||||
|
|
||||||
padding: 1.25rem 0 1.25rem 0;
|
|
||||||
margin: .125rem;
|
|
||||||
|
|
||||||
* {
|
|
||||||
width: 100%;
|
|
||||||
flex: 1;
|
|
||||||
margin-left: auto;
|
|
||||||
margin-right: auto;
|
|
||||||
}
|
|
||||||
|
|
||||||
&__associazione {
|
|
||||||
min-width: 350px;
|
|
||||||
}
|
|
||||||
|
|
||||||
&__comeassociarsi {
|
|
||||||
min-width: 350px;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
.subtitle {
|
|
||||||
font-weight: 600;
|
|
||||||
text-align: center;
|
|
||||||
letter-spacing: 0.125rem;
|
|
||||||
text-transform: uppercase;
|
|
||||||
font-size: 1rem;
|
|
||||||
}
|
|
||||||
|
|
||||||
.landing > section.padding {
|
|
||||||
padding: 5.62rem 1rem;
|
|
||||||
}
|
|
||||||
|
|
||||||
.landing > section.padding_testo {
|
|
||||||
padding-top: 1.25rem;
|
|
||||||
padding-bottom: 1rem;
|
|
||||||
}
|
|
||||||
|
|
||||||
.landing > section.padding_gallery {
|
|
||||||
padding-top: 3.125rem;
|
|
||||||
padding-bottom: 5.625rem;
|
|
||||||
}
|
|
||||||
|
|
||||||
.landing > section > div {
|
|
||||||
position: relative;
|
|
||||||
width: 100%
|
|
||||||
}
|
|
||||||
|
|
||||||
.maxwidth1200 {
|
|
||||||
max-width: 1200px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.landing__toolbar {
|
|
||||||
background: -webkit-gradient(linear, left top, left bottom, from(#000), to(transparent));
|
|
||||||
background: linear-gradient(180deg, #000, transparent);
|
|
||||||
padding: 0 !important
|
|
||||||
}
|
|
||||||
|
|
||||||
.landing__toolbar .q-btn {
|
|
||||||
border-radius: 0 0 .315rem .315rem;
|
|
||||||
-ms-flex-item-align: stretch;
|
|
||||||
align-self: stretch
|
|
||||||
}
|
|
||||||
|
|
||||||
.landing__hero {
|
|
||||||
min-height: 50vh
|
|
||||||
}
|
|
||||||
|
|
||||||
.landing__header {
|
|
||||||
height: 18vh
|
|
||||||
}
|
|
||||||
|
|
||||||
.landing__arrow {
|
|
||||||
bottom: 1.5rem;
|
|
||||||
opacity: .4
|
|
||||||
}
|
|
||||||
|
|
||||||
.landing__front {
|
|
||||||
background: -webkit-gradient(linear, left top, left bottom, from(transparent), color-stop(15%, rgba(0, 0, 0, .6)));
|
|
||||||
background: linear-gradient(180deg, transparent, rgba(0, 0, 0, .6) 15%)
|
|
||||||
}
|
|
||||||
|
|
||||||
.landing__logo {
|
|
||||||
width: 9.40rem;
|
|
||||||
height: 9.40rem;
|
|
||||||
margin-top: 1.315rem;
|
|
||||||
//-webkit-animation: logo-rotate 240s linear infinite;
|
|
||||||
//animation: logo-rotate 240s linear infinite
|
|
||||||
}
|
|
||||||
|
|
||||||
.landing__features .q-icon {
|
|
||||||
font-size: 4rem
|
|
||||||
}
|
|
||||||
|
|
||||||
h4 {
|
|
||||||
line-height: 1.5;
|
|
||||||
text-shadow: .25rem .25rem .5rem $grayshadow;
|
|
||||||
}
|
|
||||||
|
|
||||||
.landing__features h4, .landing__features h6 {
|
|
||||||
margin: 1rem 0
|
|
||||||
}
|
|
||||||
|
|
||||||
.landing__features p {
|
|
||||||
opacity: .7;
|
|
||||||
font-size: 1rem;
|
|
||||||
line-height: 1.5;
|
|
||||||
}
|
|
||||||
|
|
||||||
.landing__footer {
|
|
||||||
//background: -webkit-gradient(linear, left top, left bottom, color-stop(65%, rgba(0, 0, 0, .1)), to(#000));
|
|
||||||
background: linear-gradient(180deg, rgba(0, 0, 0, .8) 95%, #FFF);
|
|
||||||
padding-top: 4.5rem !important;
|
|
||||||
padding-bottom: 4.5rem !important;
|
|
||||||
padding-left: 1.25rem;
|
|
||||||
padding-right: 1.25rem;
|
|
||||||
color: #9f9f9f;
|
|
||||||
}
|
|
||||||
|
|
||||||
.icon_contact:hover {
|
|
||||||
color: blue;
|
|
||||||
border-color: white;
|
|
||||||
border-width: .0625rem;
|
|
||||||
}
|
|
||||||
|
|
||||||
.landing__footer .doc-link {
|
|
||||||
color: $textcol;
|
|
||||||
}
|
|
||||||
|
|
||||||
.landing__footer .doc-link:hover {
|
|
||||||
opacity: .8
|
|
||||||
}
|
|
||||||
|
|
||||||
.landing__swirl-bg {
|
|
||||||
background-repeat: no-repeat !important;
|
|
||||||
background-position: top;
|
|
||||||
background-size: contain !important;
|
|
||||||
background-image: url(../../../public/images/landing_first_section.png) !important
|
|
||||||
}
|
|
||||||
|
|
||||||
.feat-descr {
|
|
||||||
font-size: 1.15rem;
|
|
||||||
}
|
|
||||||
|
|
||||||
.feat-descr:hover {
|
|
||||||
transition: opacity 0.5s ease-in-out;
|
|
||||||
opacity: 0.9;
|
|
||||||
}
|
|
||||||
|
|
||||||
.q-col-gutter-sm {
|
|
||||||
padding: 3.125rem 3.125rem;
|
|
||||||
//margin-left: -48px
|
|
||||||
}
|
|
||||||
|
|
||||||
body.mobile .landing {
|
|
||||||
//background: unset
|
|
||||||
}
|
|
||||||
|
|
||||||
body.mobile .landing:before {
|
|
||||||
content: "";
|
|
||||||
position: fixed;
|
|
||||||
top: 0;
|
|
||||||
height: 100vh;
|
|
||||||
left: 0;
|
|
||||||
right: 0;
|
|
||||||
bottom: 0;
|
|
||||||
z-index: -1;
|
|
||||||
//background: #000 url(../../public/images/cover.jpg) 50%;
|
|
||||||
|
|
||||||
background-size: cover
|
|
||||||
}
|
|
||||||
|
|
||||||
/*
|
|
||||||
@-webkit-keyframes logo-rotate {
|
|
||||||
to {
|
|
||||||
-webkit-transform: rotate(-1turn);
|
|
||||||
transform: rotate(-1turn)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
@keyframes logo-rotate {
|
|
||||||
to {
|
|
||||||
-webkit-transform: rotate(-1turn);
|
|
||||||
transform: rotate(-1turn)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
*/
|
|
||||||
|
|
||||||
.home {
|
|
||||||
//background-color: rgb(250, 250, 250);
|
|
||||||
padding: 3.125rem;
|
|
||||||
display: flex;
|
|
||||||
//flex-wrap: nowrap;
|
|
||||||
flex-direction: column;
|
|
||||||
align-items: center;
|
|
||||||
justify-content: space-between;
|
|
||||||
}
|
|
||||||
|
|
||||||
.btn-start {
|
|
||||||
margin: 3.125rem;
|
|
||||||
}
|
|
||||||
|
|
||||||
.shadow {
|
|
||||||
//color: white;
|
|
||||||
text-shadow: 0.125rem 0.125rem 0.25rem $grayshadow;
|
|
||||||
}
|
|
||||||
|
|
||||||
.text-h1, h1 {
|
|
||||||
font-size: 3rem;
|
|
||||||
font-weight: bold;
|
|
||||||
line-height: 3rem;
|
|
||||||
letter-spacing: -.01562em;
|
|
||||||
margin-bottom: 8px !important;
|
|
||||||
}
|
|
||||||
|
|
||||||
.text-h2 {
|
|
||||||
font-size: 3.75rem;
|
|
||||||
font-weight: 300;
|
|
||||||
line-height: 3.75rem;
|
|
||||||
letter-spacing: -.00833em;
|
|
||||||
}
|
|
||||||
|
|
||||||
.text-weight-bold {
|
|
||||||
font-weight: 700;
|
|
||||||
}
|
|
||||||
|
|
||||||
.text-vers {
|
|
||||||
font-size: 0.75rem;
|
|
||||||
font-weight: 400;
|
|
||||||
line-height: 1.75rem;
|
|
||||||
letter-spacing: .00937em;
|
|
||||||
text-shadow: .25rem .25rem .5rem $grayshadow;
|
|
||||||
}
|
|
||||||
|
|
||||||
.homep-cover-img-1 {
|
|
||||||
background: #000 url(../../../public/images/foto1.jpg) no-repeat 50% fixed;
|
|
||||||
//transition: background-image 1s ease-in-out;
|
|
||||||
}
|
|
||||||
|
|
||||||
.homep-cover-img-2 {
|
|
||||||
background: #000 url(../../../public/images/foto2.jpg) no-repeat 50% fixed;
|
|
||||||
//transition: background-image 1s ease-in-out;
|
|
||||||
}
|
|
||||||
|
|
||||||
.homep-cover-img-3 {
|
|
||||||
background: #000 url(../../../public/images/foto3.jpg) no-repeat 50% fixed;
|
|
||||||
//transition: background-image 1s ease-in-out;
|
|
||||||
}
|
|
||||||
|
|
||||||
.homep-cover-img.hide-filter:before {
|
|
||||||
opacity: 0
|
|
||||||
}
|
|
||||||
|
|
||||||
.landing__footer-icons {
|
|
||||||
font-size: 1.75rem
|
|
||||||
}
|
|
||||||
|
|
||||||
.landing__footer-icons a {
|
|
||||||
margin: 0 .5rem .5rem;
|
|
||||||
text-decoration: none;
|
|
||||||
outline: 0;
|
|
||||||
color: $textcol;
|
|
||||||
transition: color .28s
|
|
||||||
}
|
|
||||||
|
|
||||||
.landing__footer-icons a:hover {
|
|
||||||
color: $textcol_scuro;
|
|
||||||
}
|
|
||||||
|
|
||||||
.doc-img {
|
|
||||||
max-width: 100%;
|
|
||||||
}
|
|
||||||
|
|
||||||
.mylist {
|
|
||||||
background: #3fdaff;
|
|
||||||
padding-left: 1.25rem;
|
|
||||||
}
|
|
||||||
|
|
||||||
.clgutter {
|
|
||||||
margin-top: 1.25rem;
|
|
||||||
padding: .62rem;
|
|
||||||
}
|
|
||||||
|
|
||||||
.carousel_img_3 {
|
|
||||||
//background-image: url(../../public/images/cibo_sano.jpg);
|
|
||||||
background-size: cover !important;
|
|
||||||
background-position: 50% center !important;
|
|
||||||
background-repeat: no-repeat !important;
|
|
||||||
}
|
|
||||||
|
|
||||||
@media (max-width: 718px) {
|
|
||||||
// PER VERSIONE MOBILE
|
|
||||||
|
|
||||||
.landing__hero {
|
|
||||||
text-align: center
|
|
||||||
}
|
|
||||||
.landing__header {
|
|
||||||
height: 7vh
|
|
||||||
}
|
|
||||||
.clgutter {
|
|
||||||
margin-top: 0;
|
|
||||||
padding: 0;
|
|
||||||
}
|
|
||||||
.landing__hero .text-h1, h1 {
|
|
||||||
font-size: 2rem;
|
|
||||||
line-height: 2.05rem;
|
|
||||||
margin-bottom: 1.25rem
|
|
||||||
}
|
|
||||||
|
|
||||||
.landing > section.padding {
|
|
||||||
padding: 2.5rem 1rem;
|
|
||||||
}
|
|
||||||
|
|
||||||
.landing > section.padding_testo {
|
|
||||||
padding-top: 1.25rem;
|
|
||||||
padding-bottom: 1rem;
|
|
||||||
}
|
|
||||||
|
|
||||||
.landing > section.padding_gallery {
|
|
||||||
padding-top: 3.125rem;
|
|
||||||
padding-bottom: 5.625rem;
|
|
||||||
|
|
||||||
max-width: 800px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.landing > section.padding_gallery > div {
|
|
||||||
padding-top: 3.125rem;
|
|
||||||
padding-bottom: 5.625rem;
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
.landing__features h4, .landing__features h6 {
|
|
||||||
margin: 1.25rem 0
|
|
||||||
}
|
|
||||||
|
|
||||||
h4 {
|
|
||||||
line-height: 1.4;
|
|
||||||
text-shadow: 0.25rem 0.25rem 0.5rem $grayshadow;
|
|
||||||
}
|
|
||||||
|
|
||||||
.landing .feature-item {
|
|
||||||
text-align: center;
|
|
||||||
margin-top: 1.25rem;
|
|
||||||
}
|
|
||||||
.landing__hero-content {
|
|
||||||
padding-bottom: 11.25rem;
|
|
||||||
}
|
|
||||||
.landing__hero2-content {
|
|
||||||
padding-bottom: 7.25rem;
|
|
||||||
}
|
|
||||||
.landing__hero-btns {
|
|
||||||
-webkit-box-pack: center;
|
|
||||||
-ms-flex-pack: center;
|
|
||||||
justify-content: center
|
|
||||||
}
|
|
||||||
|
|
||||||
.q-col-gutter-sm {
|
|
||||||
padding: .625rem .315rem;
|
|
||||||
}
|
|
||||||
|
|
||||||
.text-subtitle1 {
|
|
||||||
font-size: 1.25rem;
|
|
||||||
}
|
|
||||||
.text-vers {
|
|
||||||
font-size: 0.6rem;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
.custom-caption {
|
|
||||||
text-align: center;
|
|
||||||
padding: .75rem;
|
|
||||||
color: $textcol;
|
|
||||||
background-color: rgba(0, 0, 0, .3);
|
|
||||||
}
|
|
||||||
|
|
||||||
.sfondo-grigio {
|
|
||||||
padding: 1rem;
|
|
||||||
color: $textcol;
|
|
||||||
background-color: rgba(0, 0, 0, .35);
|
|
||||||
}
|
|
||||||
|
|
||||||
.mycontacts {
|
|
||||||
color: gray;
|
|
||||||
letter-spacing: 0.078rem;
|
|
||||||
}
|
|
||||||
|
|
||||||
.mycontacts_title {
|
|
||||||
text-shadow: 0.125rem 0.125rem 0.125rem #555;
|
|
||||||
font-weight: bold;
|
|
||||||
color: #999;
|
|
||||||
letter-spacing: 0.125rem;
|
|
||||||
}
|
|
||||||
|
|
||||||
.mycontacts_text {
|
|
||||||
color: #999;
|
|
||||||
letter-spacing: 0.093rem;
|
|
||||||
}
|
|
||||||
@@ -1,78 +0,0 @@
|
|||||||
import { defineComponent, ref, onMounted, watch, computed } from 'vue'
|
|
||||||
|
|
||||||
import { useGlobalStore } from '@store/globalStore'
|
|
||||||
import { useRoute } from 'vue-router'
|
|
||||||
import { useUserStore } from '@store/UserStore'
|
|
||||||
|
|
||||||
import { Logo } from '../../components/logo'
|
|
||||||
|
|
||||||
import { LandingFooter } from '../../components/LandingFooter'
|
|
||||||
import { CMyPage } from '../../components/CMyPage/index'
|
|
||||||
|
|
||||||
import { tools } from '@src/store/Modules/tools'
|
|
||||||
import { static_data } from '@src/db/static_data'
|
|
||||||
import { toolsext } from '@src/store/Modules/toolsext'
|
|
||||||
import { Screen } from 'quasar'
|
|
||||||
import { CCardCarousel, CEventsCalendar, COpenStreetMap } from '@components'
|
|
||||||
import MixinBase from '@src/mixins/mixin-base'
|
|
||||||
import { firstimagehome } from '@src/db/static_data'
|
|
||||||
import MixinMetaTags from '@/mixins/mixin-metatags'
|
|
||||||
|
|
||||||
export default defineComponent({
|
|
||||||
name: 'Home_tdv',
|
|
||||||
components: { Logo, LandingFooter, CMyPage, CCardCarousel, CEventsCalendar, COpenStreetMap },
|
|
||||||
|
|
||||||
setup() {
|
|
||||||
const animare = ref(0)
|
|
||||||
const slide = ref('first')
|
|
||||||
const slide2 = ref(1)
|
|
||||||
|
|
||||||
const getImmagini = ref([
|
|
||||||
{
|
|
||||||
title: '', subtitle: '',
|
|
||||||
alt: 'Elisa e Cristina insieme',
|
|
||||||
img: '../../statics/images/eventi_esterni/IMG_6035.jpg'
|
|
||||||
},
|
|
||||||
])
|
|
||||||
|
|
||||||
const userStore = useUserStore()
|
|
||||||
const globalStore = useGlobalStore()
|
|
||||||
|
|
||||||
const { setValDb, getValDb } = MixinBase()
|
|
||||||
const { setmeta, getsrcbyimg } = MixinMetaTags()
|
|
||||||
|
|
||||||
function getheightgallery() {
|
|
||||||
if (tools.isMobile())
|
|
||||||
return '400px'
|
|
||||||
else
|
|
||||||
return '600px'
|
|
||||||
}
|
|
||||||
|
|
||||||
function created() {
|
|
||||||
//
|
|
||||||
}
|
|
||||||
|
|
||||||
function getArrDisciplines() {
|
|
||||||
return globalStore.disciplines.filter((rec: any) => rec.showinhome)
|
|
||||||
}
|
|
||||||
|
|
||||||
created()
|
|
||||||
|
|
||||||
return {
|
|
||||||
tools,
|
|
||||||
toolsext,
|
|
||||||
static_data,
|
|
||||||
animare,
|
|
||||||
slide,
|
|
||||||
slide2,
|
|
||||||
getheightgallery,
|
|
||||||
getArrDisciplines,
|
|
||||||
getImmagini,
|
|
||||||
getValDb,
|
|
||||||
firstimagehome,
|
|
||||||
getsrcbyimg,
|
|
||||||
setmeta,
|
|
||||||
}
|
|
||||||
},
|
|
||||||
})
|
|
||||||
|
|
||||||
@@ -1,220 +0,0 @@
|
|||||||
<template>
|
|
||||||
<q-page>
|
|
||||||
<CMyPage title="Home">
|
|
||||||
<div class="landing">
|
|
||||||
<section>
|
|
||||||
<div class="landing__hero maxwidth1200 text-white">
|
|
||||||
<q-carousel
|
|
||||||
animated
|
|
||||||
:autoplay="animare"
|
|
||||||
swipeable
|
|
||||||
infinite
|
|
||||||
navigation
|
|
||||||
transition-next="slide-left"
|
|
||||||
transition-prev="slide-right"
|
|
||||||
v-model="slide"
|
|
||||||
:height="getheightgallery()"
|
|
||||||
width="100%"
|
|
||||||
>
|
|
||||||
<q-carousel-slide name="first"
|
|
||||||
:img-src="getsrcbyimg(firstimagehome())">
|
|
||||||
<div class="landing__header"></div>
|
|
||||||
<div class="landing__hero-content row justify-center q-gutter-xs clgutter">
|
|
||||||
<div class="row">
|
|
||||||
|
|
||||||
</div>
|
|
||||||
<div class="flex justify-end">
|
|
||||||
<div class="q-gutter-xs testo-banda clgutter">
|
|
||||||
<h1 class="text-h1 shadow-max">{{tools.getappname()}}</h1>
|
|
||||||
<div class="text-subtitle1 shadow text-italic q-pl-sm">
|
|
||||||
|
|
||||||
</div>
|
|
||||||
<div class="text-subtitle1 shadow-max big text-italic q-pl-sm">
|
|
||||||
|
|
||||||
</div>
|
|
||||||
<div class="text-subtitle2 shadow text-italic q-pl-sm">
|
|
||||||
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div>
|
|
||||||
<br>
|
|
||||||
<br>
|
|
||||||
<div v-if="!tools.isLogged()" style="margin: 5px; padding: 5px;" class="home">
|
|
||||||
<br>
|
|
||||||
<br>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div class="landing__arrow absolute-bottom text-center">
|
|
||||||
<i aria-hidden="true"
|
|
||||||
class="q-icon text-h2 text-white material-icons">expand_more</i>
|
|
||||||
</div>
|
|
||||||
</q-carousel-slide>
|
|
||||||
<q-carousel-slide name="second"
|
|
||||||
:img-src="getsrcbyimg('images/background2.jpg')" alt="">
|
|
||||||
<div class="landing__header"></div>
|
|
||||||
<div class="landing__hero2-content row justify-center q-gutter-xs clgutter">
|
|
||||||
<div class="row">
|
|
||||||
<logo></logo>
|
|
||||||
</div>
|
|
||||||
<div class="flex justify-end">
|
|
||||||
<div class="q-gutter-xs testo-banda clgutter">
|
|
||||||
<h1 class="text-h1 shadow-max">{{tools.getappname()}}</h1>
|
|
||||||
<h2 class="text-subtitle1 shadow text-italic q-pl-sm">
|
|
||||||
{{$t('msg.sottoTitoloApp')}}
|
|
||||||
</h2>
|
|
||||||
<h2 class="text-subtitle1 shadow-max big text-italic q-pl-sm">
|
|
||||||
<strong>{{$t('msg.sottoTitoloApp2')}}</strong>
|
|
||||||
</h2>
|
|
||||||
<h2 class="text-subtitle2 shadow text-italic q-pl-sm">
|
|
||||||
{{$t('msg.sottoTitoloApp3')}}
|
|
||||||
</h2>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div class="landing__arrow absolute-bottom text-center">
|
|
||||||
<i aria-hidden="true"
|
|
||||||
class="q-icon text-h2 text-white material-icons">expand_more</i>
|
|
||||||
</div>
|
|
||||||
</q-carousel-slide>
|
|
||||||
<q-carousel-slide name="third"
|
|
||||||
:img-src="getsrcbyimg('images/background3.jpg')">
|
|
||||||
<div class="landing__header"></div>
|
|
||||||
<div class="landing__hero2-content row justify-center q-gutter-xs clgutter">
|
|
||||||
<div class="row">
|
|
||||||
<logo></logo>
|
|
||||||
</div>
|
|
||||||
<div class="flex justify-end">
|
|
||||||
<div class="q-gutter-xs testo-banda clgutter">
|
|
||||||
<div class="text-h1 shadow-max">{{tools.getappname()}}</div>
|
|
||||||
<div class="text-subtitle1 shadow text-italic q-pl-sm">
|
|
||||||
{{$t('msg.sottoTitoloApp')}}
|
|
||||||
</div>
|
|
||||||
<div class="text-subtitle1 shadow-max big text-italic q-pl-sm"><strong>{{$t('msg.sottoTitoloApp2')}}</strong>
|
|
||||||
</div>
|
|
||||||
<div class="text-subtitle2 shadow text-italic q-pl-sm">
|
|
||||||
{{$t('msg.sottoTitoloApp3')}}
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div class="text-subtitle3 shadow text-italic q-pl-sm ">
|
|
||||||
{{$t('msg.sottoTitoloApp4')}}
|
|
||||||
</div>
|
|
||||||
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div class="landing__arrow absolute-bottom text-center">
|
|
||||||
<!--<i aria-hidden="true"-->
|
|
||||||
<!--class="q-icon text-h2 text-white material-icons">expand_more</i>-->
|
|
||||||
</div>
|
|
||||||
</q-carousel-slide>
|
|
||||||
</q-carousel>
|
|
||||||
|
|
||||||
</div>
|
|
||||||
</section>
|
|
||||||
|
|
||||||
<div class="q-pa-md q-gutter-md">
|
|
||||||
<div v-if="isLogged && !isVerified" class="text-verified">{{
|
|
||||||
$t('components.authentication.email_verification.link_sent') }}
|
|
||||||
</div>
|
|
||||||
|
|
||||||
</div>
|
|
||||||
|
|
||||||
|
|
||||||
<CCardCarousel :myarr="getArrDisciplines()">
|
|
||||||
|
|
||||||
</CCardCarousel>
|
|
||||||
|
|
||||||
<CEventsCalendar :mysingleevent="null" :showfirstN="getValDb('SHOW_LAST_EVENTS', false, 3)">
|
|
||||||
|
|
||||||
</CEventsCalendar>
|
|
||||||
|
|
||||||
|
|
||||||
<div v-if="getValDb('VIDEO_HOME', false)" class="row justify-evenly items-center q-gutter-md ">
|
|
||||||
|
|
||||||
<div class="text-center">
|
|
||||||
<h4 class="subtitle text-blue" v-html="getValDb('VIDEO_TITLE', false)"></h4>
|
|
||||||
<div class="">
|
|
||||||
<video :width="tools.getwidthscale(mythis, 320, 800)"
|
|
||||||
:height="tools.getheightbywidth(mythis, 320, 180, 800)" controls>
|
|
||||||
<source :src="getValDb('VIDEO_HOME', false)" type="video/mp4">
|
|
||||||
</video>
|
|
||||||
</div>
|
|
||||||
<!--<q-video src="../../statics/video/Intervista_Cristina_Barattoni.mp4">-->
|
|
||||||
|
|
||||||
<!--</q-video>-->
|
|
||||||
</div>
|
|
||||||
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div v-if="getValDb('YT_VIDEO', false)" class="row justify-evenly items-center q-gutter-md ">
|
|
||||||
|
|
||||||
<div class="text-center">
|
|
||||||
<h4 class="subtitle text-blue" v-html="getValDb('YT_TITLE', false)"></h4>
|
|
||||||
<div class="">
|
|
||||||
|
|
||||||
<div class="">
|
|
||||||
<iframe
|
|
||||||
:width="tools.getwidthscale(mythis, getValDb('YT_W', false), 800)"
|
|
||||||
:height="tools.getheightbywidth(mythis, getValDb('YT_W', false), getValDb('YT_H', false), 800)"
|
|
||||||
:src="getValDb('YT_VIDEO', false)"
|
|
||||||
frameborder="0"
|
|
||||||
allowfullscreen
|
|
||||||
></iframe>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<!--<q-video src="../../statics/video/Intervista_Cristina_Barattoni.mp4">-->
|
|
||||||
|
|
||||||
<!--</q-video>-->
|
|
||||||
</div>
|
|
||||||
|
|
||||||
</div>
|
|
||||||
|
|
||||||
|
|
||||||
<section class="maxwidth padding_gallery bg-white text-grey-10 text-center" >
|
|
||||||
|
|
||||||
<q-carousel
|
|
||||||
swipeable
|
|
||||||
animated
|
|
||||||
:autoplay="8000"
|
|
||||||
v-model="slide2"
|
|
||||||
arrows
|
|
||||||
thumbnails
|
|
||||||
infinite
|
|
||||||
:height="tools.heightgallery()">
|
|
||||||
<q-carousel-slide v-for="(rec, index) in getImmagini" :key="index" :name="index"
|
|
||||||
:img-src="rec.img"
|
|
||||||
:alt="rec.alt"
|
|
||||||
class="carousel_slide">
|
|
||||||
<div class="absolute-bottom custom-caption" style="margin-bottom: 70px">
|
|
||||||
<div class="text-h5"><span
|
|
||||||
class="text-h6 text-grey-1 shadow-max">{{index + 1}}. </span><span
|
|
||||||
class="text-h6 text-grey-2 shadow">{{rec.title}}</span></div>
|
|
||||||
<div class="text-subtitle1"><span class="text-grey-4 shadow">{{rec.subtitle}}</span>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</q-carousel-slide>
|
|
||||||
</q-carousel>
|
|
||||||
</section>
|
|
||||||
<div v-if="!tools.isMobile()" style="margin: 60px 60px;"></div>
|
|
||||||
|
|
||||||
<COpenStreetMap :imgmap="getValDb('IMGMAP', false)" :urlmap="getValDb('URLMAP', false)" :title="getValDb('MAP_TITLE', false)"
|
|
||||||
:coordinates="getValDb('COORD_MAP_1', false)" :coord_big="getValDb('COORD_MAP_BIG', false)">
|
|
||||||
|
|
||||||
</COpenStreetMap>
|
|
||||||
|
|
||||||
<div class="q-ma-md"></div>
|
|
||||||
</div>
|
|
||||||
</CMyPage>
|
|
||||||
</q-page>
|
|
||||||
</template>
|
|
||||||
|
|
||||||
<script lang="ts" src="./home_tdv.ts">
|
|
||||||
</script>
|
|
||||||
|
|
||||||
<style lang="scss" scoped>
|
|
||||||
@import './home_tdv.scss';
|
|
||||||
</style>
|
|
||||||
@@ -127,6 +127,7 @@ const msg_website_it = {
|
|||||||
only_residenti: 'Solo Residenti',
|
only_residenti: 'Solo Residenti',
|
||||||
only_consiglio: 'Solo Consiglieri',
|
only_consiglio: 'Solo Consiglieri',
|
||||||
color: 'Colore',
|
color: 'Colore',
|
||||||
|
sottomenu: 'SottoMenu',
|
||||||
},
|
},
|
||||||
msg: {
|
msg: {
|
||||||
myAppName: 'FreePlanet',
|
myAppName: 'FreePlanet',
|
||||||
|
|||||||
@@ -1,452 +0,0 @@
|
|||||||
|
|
||||||
.testo-banda {
|
|
||||||
//background: -webkit-gradient(linear, left top, left bottom, from(#3144f0), to(transparent));
|
|
||||||
//background: linear-gradient(180deg, #3144f0, transparent);
|
|
||||||
//background: rgba(0, 0, 0, .6)
|
|
||||||
}
|
|
||||||
|
|
||||||
$grayshadow: #555;
|
|
||||||
|
|
||||||
$textcol: blue;
|
|
||||||
$textcol_scuro: darkblue;
|
|
||||||
|
|
||||||
p {
|
|
||||||
margin: 0 0 1.25rem;
|
|
||||||
//text-shadow: .125rem .125rem .25rem $grayshadow;
|
|
||||||
}
|
|
||||||
|
|
||||||
h4 {
|
|
||||||
font-size: 1.25rem;
|
|
||||||
}
|
|
||||||
|
|
||||||
.mycard {
|
|
||||||
visibility: hidden;
|
|
||||||
}
|
|
||||||
|
|
||||||
.landing {
|
|
||||||
}
|
|
||||||
|
|
||||||
.landing_background {
|
|
||||||
background: #000 url(../../../public/images/foto1.jpg) no-repeat 50% fixed;
|
|
||||||
background-size: cover
|
|
||||||
}
|
|
||||||
|
|
||||||
.landing > section {
|
|
||||||
display: -webkit-box;
|
|
||||||
display: -ms-flexbox;
|
|
||||||
display: flex;
|
|
||||||
-webkit-box-pack: center;
|
|
||||||
-ms-flex-pack: center;
|
|
||||||
justify-content: center;
|
|
||||||
//padding: 0 16px
|
|
||||||
}
|
|
||||||
|
|
||||||
.intro {
|
|
||||||
display: flex;
|
|
||||||
justify-content: space-between;
|
|
||||||
align-items: stretch;
|
|
||||||
/* flex-flow: row nowrap; */
|
|
||||||
|
|
||||||
padding: 1.25rem 0 1.25rem 0;
|
|
||||||
margin: .125rem;
|
|
||||||
|
|
||||||
* {
|
|
||||||
width: 100%;
|
|
||||||
flex: 1;
|
|
||||||
margin-left: auto;
|
|
||||||
margin-right: auto;
|
|
||||||
}
|
|
||||||
|
|
||||||
&__associazione {
|
|
||||||
min-width: 350px;
|
|
||||||
}
|
|
||||||
|
|
||||||
&__comeassociarsi {
|
|
||||||
min-width: 350px;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
.subtitle {
|
|
||||||
font-weight: 600;
|
|
||||||
text-align: center;
|
|
||||||
letter-spacing: 0.125rem;
|
|
||||||
text-transform: uppercase;
|
|
||||||
font-size: 1rem;
|
|
||||||
}
|
|
||||||
|
|
||||||
.landing > section.padding {
|
|
||||||
padding: 5.62rem 1rem;
|
|
||||||
}
|
|
||||||
|
|
||||||
.landing > section.padding_testo {
|
|
||||||
padding-top: 1.25rem;
|
|
||||||
padding-bottom: 1rem;
|
|
||||||
}
|
|
||||||
|
|
||||||
.landing > section.padding_gallery {
|
|
||||||
padding-top: 3.125rem;
|
|
||||||
padding-bottom: 5.625rem;
|
|
||||||
}
|
|
||||||
|
|
||||||
.landing > section > div {
|
|
||||||
position: relative;
|
|
||||||
width: 100%
|
|
||||||
}
|
|
||||||
|
|
||||||
.maxwidth1200 {
|
|
||||||
max-width: 1200px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.landing__toolbar {
|
|
||||||
background: -webkit-gradient(linear, left top, left bottom, from(#000), to(transparent));
|
|
||||||
background: linear-gradient(180deg, #000, transparent);
|
|
||||||
padding: 0 !important
|
|
||||||
}
|
|
||||||
|
|
||||||
.landing__toolbar .q-btn {
|
|
||||||
border-radius: 0 0 .315rem .315rem;
|
|
||||||
-ms-flex-item-align: stretch;
|
|
||||||
align-self: stretch
|
|
||||||
}
|
|
||||||
|
|
||||||
.landing__hero {
|
|
||||||
min-height: 50vh
|
|
||||||
}
|
|
||||||
|
|
||||||
.landing__header {
|
|
||||||
height: 18vh
|
|
||||||
}
|
|
||||||
|
|
||||||
.landing__arrow {
|
|
||||||
bottom: 1.5rem;
|
|
||||||
opacity: .4
|
|
||||||
}
|
|
||||||
|
|
||||||
.landing__front {
|
|
||||||
background: -webkit-gradient(linear, left top, left bottom, from(transparent), color-stop(15%, rgba(0, 0, 0, .6)));
|
|
||||||
background: linear-gradient(180deg, transparent, rgba(0, 0, 0, .6) 15%)
|
|
||||||
}
|
|
||||||
|
|
||||||
.landing__logo {
|
|
||||||
width: 9.40rem;
|
|
||||||
height: 9.40rem;
|
|
||||||
margin-top: 1.315rem;
|
|
||||||
//-webkit-animation: logo-rotate 240s linear infinite;
|
|
||||||
//animation: logo-rotate 240s linear infinite
|
|
||||||
}
|
|
||||||
|
|
||||||
.landing__features .q-icon {
|
|
||||||
font-size: 4rem
|
|
||||||
}
|
|
||||||
|
|
||||||
h4 {
|
|
||||||
line-height: 1.5;
|
|
||||||
text-shadow: .25rem .25rem .5rem $grayshadow;
|
|
||||||
}
|
|
||||||
|
|
||||||
.landing__features h4, .landing__features h6 {
|
|
||||||
margin: 1rem 0
|
|
||||||
}
|
|
||||||
|
|
||||||
.landing__features p {
|
|
||||||
opacity: .7;
|
|
||||||
font-size: 1rem;
|
|
||||||
line-height: 1.5;
|
|
||||||
}
|
|
||||||
|
|
||||||
.landing__footer {
|
|
||||||
//background: -webkit-gradient(linear, left top, left bottom, color-stop(65%, rgba(0, 0, 0, .1)), to(#000));
|
|
||||||
background: linear-gradient(180deg, rgba(0, 0, 0, .8) 95%, #FFF);
|
|
||||||
padding-top: 4.5rem !important;
|
|
||||||
padding-bottom: 4.5rem !important;
|
|
||||||
padding-left: 1.25rem;
|
|
||||||
padding-right: 1.25rem;
|
|
||||||
color: #9f9f9f;
|
|
||||||
}
|
|
||||||
|
|
||||||
.icon_contact:hover {
|
|
||||||
color: blue;
|
|
||||||
border-color: white;
|
|
||||||
border-width: .0625rem;
|
|
||||||
}
|
|
||||||
|
|
||||||
.landing__footer .doc-link {
|
|
||||||
color: $textcol;
|
|
||||||
}
|
|
||||||
|
|
||||||
.landing__footer .doc-link:hover {
|
|
||||||
opacity: .8
|
|
||||||
}
|
|
||||||
|
|
||||||
.landing__swirl-bg {
|
|
||||||
background-repeat: no-repeat !important;
|
|
||||||
background-position: top;
|
|
||||||
background-size: contain !important;
|
|
||||||
background-image: url(../../../public/images/landing_first_section.png) !important
|
|
||||||
}
|
|
||||||
|
|
||||||
.feat-descr {
|
|
||||||
font-size: 1.15rem;
|
|
||||||
}
|
|
||||||
|
|
||||||
.feat-descr:hover {
|
|
||||||
transition: opacity 0.5s ease-in-out;
|
|
||||||
opacity: 0.9;
|
|
||||||
}
|
|
||||||
|
|
||||||
.q-col-gutter-sm {
|
|
||||||
padding: 3.125rem 3.125rem;
|
|
||||||
//margin-left: -48px
|
|
||||||
}
|
|
||||||
|
|
||||||
body.mobile .landing {
|
|
||||||
//background: unset
|
|
||||||
}
|
|
||||||
|
|
||||||
body.mobile .landing:before {
|
|
||||||
content: "";
|
|
||||||
position: fixed;
|
|
||||||
top: 0;
|
|
||||||
height: 100vh;
|
|
||||||
left: 0;
|
|
||||||
right: 0;
|
|
||||||
bottom: 0;
|
|
||||||
z-index: -1;
|
|
||||||
//background: #000 url(../../public/images/cover.jpg) 50%;
|
|
||||||
|
|
||||||
background-size: cover
|
|
||||||
}
|
|
||||||
|
|
||||||
/*
|
|
||||||
@-webkit-keyframes logo-rotate {
|
|
||||||
to {
|
|
||||||
-webkit-transform: rotate(-1turn);
|
|
||||||
transform: rotate(-1turn)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
@keyframes logo-rotate {
|
|
||||||
to {
|
|
||||||
-webkit-transform: rotate(-1turn);
|
|
||||||
transform: rotate(-1turn)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
*/
|
|
||||||
|
|
||||||
.home {
|
|
||||||
//background-color: rgb(250, 250, 250);
|
|
||||||
padding: 3.125rem;
|
|
||||||
display: flex;
|
|
||||||
//flex-wrap: nowrap;
|
|
||||||
flex-direction: column;
|
|
||||||
align-items: center;
|
|
||||||
justify-content: space-between;
|
|
||||||
}
|
|
||||||
|
|
||||||
.btn-start {
|
|
||||||
margin: 3.125rem;
|
|
||||||
}
|
|
||||||
|
|
||||||
.shadow {
|
|
||||||
//color: white;
|
|
||||||
text-shadow: 0.125rem 0.125rem 0.25rem $grayshadow;
|
|
||||||
}
|
|
||||||
|
|
||||||
.text-h1, h1 {
|
|
||||||
font-size: 3rem;
|
|
||||||
font-weight: bold;
|
|
||||||
line-height: 3rem;
|
|
||||||
letter-spacing: -.01562em;
|
|
||||||
margin-bottom: 8px !important;
|
|
||||||
}
|
|
||||||
|
|
||||||
.text-h2 {
|
|
||||||
font-size: 3.75rem;
|
|
||||||
font-weight: 300;
|
|
||||||
line-height: 3.75rem;
|
|
||||||
letter-spacing: -.00833em;
|
|
||||||
}
|
|
||||||
|
|
||||||
.text-weight-bold {
|
|
||||||
font-weight: 700;
|
|
||||||
}
|
|
||||||
|
|
||||||
.text-vers {
|
|
||||||
font-size: 0.75rem;
|
|
||||||
font-weight: 400;
|
|
||||||
line-height: 1.75rem;
|
|
||||||
letter-spacing: .00937em;
|
|
||||||
text-shadow: .25rem .25rem .5rem $grayshadow;
|
|
||||||
}
|
|
||||||
|
|
||||||
.homep-cover-img-1 {
|
|
||||||
background: #000 url(../../../public/images/foto1.jpg) no-repeat 50% fixed;
|
|
||||||
//transition: background-image 1s ease-in-out;
|
|
||||||
}
|
|
||||||
|
|
||||||
.homep-cover-img-2 {
|
|
||||||
background: #000 url(../../../public/images/foto2.jpg) no-repeat 50% fixed;
|
|
||||||
//transition: background-image 1s ease-in-out;
|
|
||||||
}
|
|
||||||
|
|
||||||
.homep-cover-img-3 {
|
|
||||||
background: #000 url(../../../public/images/foto3.jpg) no-repeat 50% fixed;
|
|
||||||
//transition: background-image 1s ease-in-out;
|
|
||||||
}
|
|
||||||
|
|
||||||
.homep-cover-img.hide-filter:before {
|
|
||||||
opacity: 0
|
|
||||||
}
|
|
||||||
|
|
||||||
.landing__footer-icons {
|
|
||||||
font-size: 1.75rem
|
|
||||||
}
|
|
||||||
|
|
||||||
.landing__footer-icons a {
|
|
||||||
margin: 0 .5rem .5rem;
|
|
||||||
text-decoration: none;
|
|
||||||
outline: 0;
|
|
||||||
color: $textcol;
|
|
||||||
transition: color .28s
|
|
||||||
}
|
|
||||||
|
|
||||||
.landing__footer-icons a:hover {
|
|
||||||
color: $textcol_scuro;
|
|
||||||
}
|
|
||||||
|
|
||||||
.doc-img {
|
|
||||||
max-width: 100%;
|
|
||||||
}
|
|
||||||
|
|
||||||
.mylist {
|
|
||||||
background: #3fdaff;
|
|
||||||
padding-left: 1.25rem;
|
|
||||||
}
|
|
||||||
|
|
||||||
.clgutter {
|
|
||||||
margin-top: 1.25rem;
|
|
||||||
padding: .62rem;
|
|
||||||
}
|
|
||||||
|
|
||||||
.carousel_img_3 {
|
|
||||||
//background-image: url(../../public/images/cibo_sano.jpg);
|
|
||||||
background-size: cover !important;
|
|
||||||
background-position: 50% center !important;
|
|
||||||
background-repeat: no-repeat !important;
|
|
||||||
}
|
|
||||||
|
|
||||||
@media (max-width: 718px) {
|
|
||||||
// PER VERSIONE MOBILE
|
|
||||||
|
|
||||||
.landing__hero {
|
|
||||||
text-align: center
|
|
||||||
}
|
|
||||||
.landing__header {
|
|
||||||
height: 7vh
|
|
||||||
}
|
|
||||||
.clgutter {
|
|
||||||
margin-top: 0;
|
|
||||||
padding: 0;
|
|
||||||
}
|
|
||||||
.landing__hero .text-h1, h1 {
|
|
||||||
font-size: 2rem;
|
|
||||||
line-height: 2.05rem;
|
|
||||||
margin-bottom: 1.25rem
|
|
||||||
}
|
|
||||||
|
|
||||||
.landing > section.padding {
|
|
||||||
padding: 2.5rem 1rem;
|
|
||||||
}
|
|
||||||
|
|
||||||
.landing > section.padding_testo {
|
|
||||||
padding-top: 1.25rem;
|
|
||||||
padding-bottom: 1rem;
|
|
||||||
}
|
|
||||||
|
|
||||||
.landing > section.padding_gallery {
|
|
||||||
padding-top: 3.125rem;
|
|
||||||
padding-bottom: 5.625rem;
|
|
||||||
|
|
||||||
max-width: 800px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.landing > section.padding_gallery > div {
|
|
||||||
padding-top: 3.125rem;
|
|
||||||
padding-bottom: 5.625rem;
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
.landing__features h4, .landing__features h6 {
|
|
||||||
margin: 1.25rem 0
|
|
||||||
}
|
|
||||||
|
|
||||||
h4 {
|
|
||||||
line-height: 1.4;
|
|
||||||
text-shadow: 0.25rem 0.25rem 0.5rem $grayshadow;
|
|
||||||
}
|
|
||||||
|
|
||||||
.landing .feature-item {
|
|
||||||
text-align: center;
|
|
||||||
margin-top: 1.25rem;
|
|
||||||
}
|
|
||||||
.landing__hero-content {
|
|
||||||
padding-bottom: 11.25rem;
|
|
||||||
}
|
|
||||||
.landing__hero2-content {
|
|
||||||
padding-bottom: 7.25rem;
|
|
||||||
}
|
|
||||||
.landing__hero-btns {
|
|
||||||
-webkit-box-pack: center;
|
|
||||||
-ms-flex-pack: center;
|
|
||||||
justify-content: center
|
|
||||||
}
|
|
||||||
|
|
||||||
.q-col-gutter-sm {
|
|
||||||
padding: .625rem .315rem;
|
|
||||||
}
|
|
||||||
|
|
||||||
.text-subtitle1 {
|
|
||||||
font-size: 1.25rem;
|
|
||||||
}
|
|
||||||
.text-vers {
|
|
||||||
font-size: 0.6rem;
|
|
||||||
}
|
|
||||||
|
|
||||||
.carousel_img_3 {
|
|
||||||
//background-image: url(../../public/images/cibo_sano.jpg);
|
|
||||||
background-size: 620px 620px !important;
|
|
||||||
background-position: 50% top !important;
|
|
||||||
background-repeat: no-repeat !important;
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
.custom-caption {
|
|
||||||
text-align: center;
|
|
||||||
padding: .75rem;
|
|
||||||
color: $textcol;
|
|
||||||
background-color: rgba(0, 0, 0, .3);
|
|
||||||
}
|
|
||||||
|
|
||||||
.sfondo-grigio {
|
|
||||||
padding: 1rem;
|
|
||||||
color: $textcol;
|
|
||||||
background-color: rgba(0, 0, 0, .35);
|
|
||||||
}
|
|
||||||
|
|
||||||
.mycontacts {
|
|
||||||
color: gray;
|
|
||||||
letter-spacing: 0.078rem;
|
|
||||||
}
|
|
||||||
|
|
||||||
.mycontacts_title {
|
|
||||||
text-shadow: 0.125rem 0.125rem 0.125rem #555;
|
|
||||||
font-weight: bold;
|
|
||||||
color: #999;
|
|
||||||
letter-spacing: 0.125rem;
|
|
||||||
}
|
|
||||||
|
|
||||||
.mycontacts_text {
|
|
||||||
color: #999;
|
|
||||||
letter-spacing: 0.093rem;
|
|
||||||
}
|
|
||||||
@@ -1,78 +0,0 @@
|
|||||||
import { defineComponent, ref, onMounted, watch, computed } from 'vue'
|
|
||||||
|
|
||||||
import { useGlobalStore } from '@store/globalStore'
|
|
||||||
import { useRoute } from 'vue-router'
|
|
||||||
import { useUserStore } from '@store/UserStore'
|
|
||||||
|
|
||||||
import { Logo } from '../../components/logo'
|
|
||||||
|
|
||||||
import { LandingFooter } from '../../components/LandingFooter'
|
|
||||||
import { CMyPage } from '../../components/CMyPage/index'
|
|
||||||
|
|
||||||
import { tools } from '@src/store/Modules/tools'
|
|
||||||
import { static_data } from '@src/db/static_data'
|
|
||||||
import { toolsext } from '@src/store/Modules/toolsext'
|
|
||||||
import { Screen } from 'quasar'
|
|
||||||
import { CCardCarousel, CEventsCalendar, COpenStreetMap } from '@components'
|
|
||||||
import MixinBase from '@src/mixins/mixin-base'
|
|
||||||
import { firstimagehome } from '@src/db/static_data'
|
|
||||||
import MixinMetaTags from '@/mixins/mixin-metatags'
|
|
||||||
|
|
||||||
export default defineComponent({
|
|
||||||
name: 'home_arcadei',
|
|
||||||
components: { Logo, LandingFooter, CMyPage, CCardCarousel, CEventsCalendar, COpenStreetMap },
|
|
||||||
|
|
||||||
setup() {
|
|
||||||
const animare = ref(0)
|
|
||||||
const slide = ref('first')
|
|
||||||
const slide2 = ref(1)
|
|
||||||
|
|
||||||
const getImmagini = ref([
|
|
||||||
{
|
|
||||||
title: '', subtitle: '',
|
|
||||||
alt: 'Arcadei',
|
|
||||||
img: 'images/arcadei/img1.png'
|
|
||||||
},
|
|
||||||
])
|
|
||||||
|
|
||||||
const userStore = useUserStore()
|
|
||||||
const globalStore = useGlobalStore()
|
|
||||||
|
|
||||||
const { setValDb, getValDb } = MixinBase()
|
|
||||||
const { setmeta, getsrcbyimg } = MixinMetaTags()
|
|
||||||
|
|
||||||
function getheightgallery() {
|
|
||||||
if (tools.isMobile())
|
|
||||||
return '400px'
|
|
||||||
else
|
|
||||||
return '600px'
|
|
||||||
}
|
|
||||||
|
|
||||||
function created() {
|
|
||||||
//
|
|
||||||
}
|
|
||||||
|
|
||||||
function getArrDisciplines() {
|
|
||||||
return globalStore.disciplines.filter((rec: any) => rec.showinhome)
|
|
||||||
}
|
|
||||||
|
|
||||||
created()
|
|
||||||
|
|
||||||
return {
|
|
||||||
tools,
|
|
||||||
toolsext,
|
|
||||||
static_data,
|
|
||||||
animare,
|
|
||||||
slide,
|
|
||||||
slide2,
|
|
||||||
getheightgallery,
|
|
||||||
getArrDisciplines,
|
|
||||||
getImmagini,
|
|
||||||
getValDb,
|
|
||||||
firstimagehome,
|
|
||||||
getsrcbyimg,
|
|
||||||
setmeta,
|
|
||||||
}
|
|
||||||
},
|
|
||||||
})
|
|
||||||
|
|
||||||
@@ -1,221 +0,0 @@
|
|||||||
<template>
|
|
||||||
<q-page>
|
|
||||||
<CMyPage title="Home">
|
|
||||||
<div class="landing">
|
|
||||||
<section>
|
|
||||||
<div class="landing__hero maxwidth1200 text-white">
|
|
||||||
<q-carousel
|
|
||||||
animated
|
|
||||||
:autoplay="animare"
|
|
||||||
swipeable
|
|
||||||
infinite
|
|
||||||
navigation
|
|
||||||
transition-next="slide-left"
|
|
||||||
transition-prev="slide-right"
|
|
||||||
v-model="slide"
|
|
||||||
:height="getheightgallery()"
|
|
||||||
width="100%"
|
|
||||||
>
|
|
||||||
<q-carousel-slide name="first"
|
|
||||||
:img-src="getsrcbyimg(firstimagehome())">
|
|
||||||
<div class="landing__header"></div>
|
|
||||||
<div class="landing__hero-content row justify-center q-gutter-xs clgutter">
|
|
||||||
<div class="row">
|
|
||||||
|
|
||||||
</div>
|
|
||||||
<div class="flex justify-end">
|
|
||||||
<div class="q-gutter-xs testo-banda clgutter">
|
|
||||||
<h1 class="text-h1 shadow-max">{{tools.getappname()}}</h1>
|
|
||||||
<div class="text-subtitle1 shadow text-italic q-pl-sm">
|
|
||||||
|
|
||||||
</div>
|
|
||||||
<div class="text-subtitle1 shadow-max big text-italic q-pl-sm">
|
|
||||||
|
|
||||||
</div>
|
|
||||||
<div class="text-subtitle2 shadow text-italic q-pl-sm">
|
|
||||||
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div>
|
|
||||||
<br>
|
|
||||||
<br>
|
|
||||||
<div v-if="!tools.isLogged()" style="margin: 5px; padding: 5px;" class="home">
|
|
||||||
<br>
|
|
||||||
<br>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div class="landing__arrow absolute-bottom text-center">
|
|
||||||
<i aria-hidden="true"
|
|
||||||
class="q-icon text-h2 text-white material-icons">expand_more</i>
|
|
||||||
</div>
|
|
||||||
</q-carousel-slide>
|
|
||||||
<q-carousel-slide name="second"
|
|
||||||
:img-src="getsrcbyimg('images/background2.jpg')" alt="">
|
|
||||||
<div class="landing__header"></div>
|
|
||||||
<div class="landing__hero2-content row justify-center q-gutter-xs clgutter">
|
|
||||||
<div class="row">
|
|
||||||
<logo></logo>
|
|
||||||
</div>
|
|
||||||
<div class="flex justify-end">
|
|
||||||
<div class="q-gutter-xs testo-banda clgutter">
|
|
||||||
<h1 class="text-h1 shadow-max">{{tools.getappname()}}</h1>
|
|
||||||
<h2 class="text-subtitle1 shadow text-italic q-pl-sm">
|
|
||||||
{{$t('msg.sottoTitoloApp')}}
|
|
||||||
</h2>
|
|
||||||
<h2 class="text-subtitle1 shadow-max big text-italic q-pl-sm">
|
|
||||||
<strong>{{$t('msg.sottoTitoloApp2')}}</strong>
|
|
||||||
</h2>
|
|
||||||
<h2 class="text-subtitle2 shadow text-italic q-pl-sm">
|
|
||||||
{{$t('msg.sottoTitoloApp3')}}
|
|
||||||
</h2>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div class="landing__arrow absolute-bottom text-center">
|
|
||||||
<i aria-hidden="true"
|
|
||||||
class="q-icon text-h2 text-white material-icons">expand_more</i>
|
|
||||||
</div>
|
|
||||||
</q-carousel-slide>
|
|
||||||
<q-carousel-slide name="third"
|
|
||||||
:img-src="getsrcbyimg('images/background3.jpg')">
|
|
||||||
<div class="landing__header"></div>
|
|
||||||
<div class="landing__hero2-content row justify-center q-gutter-xs clgutter">
|
|
||||||
<div class="row">
|
|
||||||
<logo></logo>
|
|
||||||
</div>
|
|
||||||
<div class="flex justify-end">
|
|
||||||
<div class="q-gutter-xs testo-banda clgutter">
|
|
||||||
<div class="text-h1 shadow-max">{{tools.getappname()}}</div>
|
|
||||||
<div class="text-subtitle1 shadow text-italic q-pl-sm">
|
|
||||||
{{$t('msg.sottoTitoloApp')}}
|
|
||||||
</div>
|
|
||||||
<div class="text-subtitle1 shadow-max big text-italic q-pl-sm"><strong>{{$t('msg.sottoTitoloApp2')}}</strong>
|
|
||||||
</div>
|
|
||||||
<div class="text-subtitle2 shadow text-italic q-pl-sm">
|
|
||||||
{{$t('msg.sottoTitoloApp3')}}
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div class="text-subtitle3 shadow text-italic q-pl-sm ">
|
|
||||||
{{$t('msg.sottoTitoloApp4')}}
|
|
||||||
</div>
|
|
||||||
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div class="landing__arrow absolute-bottom text-center">
|
|
||||||
<!--<i aria-hidden="true"-->
|
|
||||||
<!--class="q-icon text-h2 text-white material-icons">expand_more</i>-->
|
|
||||||
</div>
|
|
||||||
</q-carousel-slide>
|
|
||||||
</q-carousel>
|
|
||||||
|
|
||||||
</div>
|
|
||||||
</section>
|
|
||||||
|
|
||||||
<div class="q-pa-md q-gutter-md">
|
|
||||||
<div v-if="isLogged && !isVerified" class="text-verified">{{
|
|
||||||
$t('components.authentication.email_verification.link_sent') }}
|
|
||||||
</div>
|
|
||||||
|
|
||||||
</div>
|
|
||||||
|
|
||||||
|
|
||||||
<CCardCarousel :myarr="getArrDisciplines()">
|
|
||||||
|
|
||||||
</CCardCarousel>
|
|
||||||
|
|
||||||
<CEventsCalendar :mysingleevent="null" :showfirstN="getValDb('SHOW_LAST_EVENTS', false, 3)">
|
|
||||||
|
|
||||||
</CEventsCalendar>
|
|
||||||
|
|
||||||
|
|
||||||
<div v-if="getValDb('VIDEO_HOME', false)" class="row justify-evenly items-center q-gutter-md ">
|
|
||||||
|
|
||||||
<div class="text-center">
|
|
||||||
<h4 class="subtitle text-blue" v-html="getValDb('VIDEO_TITLE', false)"></h4>
|
|
||||||
<div class="">
|
|
||||||
<video :width="tools.getwidthscale(mythis, 320, 800)"
|
|
||||||
:height="tools.getheightbywidth(mythis, 320, 180, 800)" controls>
|
|
||||||
<source :src="getValDb('VIDEO_HOME', false)" type="video/mp4">
|
|
||||||
</video>
|
|
||||||
</div>
|
|
||||||
<!--<q-video src="../../statics/video/Intervista_Cristina_Barattoni.mp4">-->
|
|
||||||
|
|
||||||
<!--</q-video>-->
|
|
||||||
</div>
|
|
||||||
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div v-if="getValDb('YT_VIDEO', false)" class="row justify-evenly items-center q-gutter-md ">
|
|
||||||
|
|
||||||
<div class="text-center">
|
|
||||||
<h4 class="subtitle text-blue" v-html="getValDb('YT_TITLE', false)"></h4>
|
|
||||||
<div class="">
|
|
||||||
|
|
||||||
<div class="">
|
|
||||||
<iframe
|
|
||||||
:width="tools.getwidthscale(mythis, getValDb('YT_W', false), 800)"
|
|
||||||
:height="tools.getheightbywidth(mythis, getValDb('YT_W', false), getValDb('YT_H', false), 800)"
|
|
||||||
:src="getValDb('YT_VIDEO', false)"
|
|
||||||
frameborder="0"
|
|
||||||
allowfullscreen
|
|
||||||
></iframe>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<!--<q-video src="../../statics/video/Intervista_Cristina_Barattoni.mp4">-->
|
|
||||||
|
|
||||||
<!--</q-video>-->
|
|
||||||
</div>
|
|
||||||
|
|
||||||
</div>
|
|
||||||
|
|
||||||
|
|
||||||
<section :class="`maxwidth padding_gallery `+ ($q.dark.isActive ? `bg-black` : `bg-white`) + ` text-grey-10 text-center`" >
|
|
||||||
|
|
||||||
<q-carousel
|
|
||||||
swipeable
|
|
||||||
animated
|
|
||||||
:autoplay="8000"
|
|
||||||
v-model="slide2"
|
|
||||||
arrows
|
|
||||||
thumbnails
|
|
||||||
infinite
|
|
||||||
height="600">
|
|
||||||
<q-carousel-slide v-for="(rec, index) in getImmagini" :key="index" :name="index"
|
|
||||||
:img-src="rec.img"
|
|
||||||
:alt="rec.alt"
|
|
||||||
class="carousel_slide">
|
|
||||||
<div class="absolute-bottom custom-caption" style="margin-bottom: 70px">
|
|
||||||
<div class="text-h5"><span
|
|
||||||
class="text-h6 text-grey-1 shadow-max">{{index + 1}}. </span><span
|
|
||||||
class="text-h6 text-grey-2 shadow">{{rec.title}}</span></div>
|
|
||||||
<div class="text-subtitle1"><span class="text-grey-4 shadow">{{rec.subtitle}}</span>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</q-carousel-slide>
|
|
||||||
</q-carousel>
|
|
||||||
</section>
|
|
||||||
<div v-if="!tools.isMobile()" style="margin: 60px 60px;"></div>
|
|
||||||
|
|
||||||
<COpenStreetMap :imgmap="getValDb('IMGMAP', false)" :urlmap="getValDb('URLMAP', false)" :title="getValDb('MAP_TITLE', false)"
|
|
||||||
:coordinates="getValDb('COORD_MAP_1', false)" :coord_big="getValDb('COORD_MAP_BIG', false)">
|
|
||||||
|
|
||||||
</COpenStreetMap>
|
|
||||||
|
|
||||||
|
|
||||||
<div class="q-ma-md"></div>
|
|
||||||
</div>
|
|
||||||
</CMyPage>
|
|
||||||
</q-page>
|
|
||||||
</template>
|
|
||||||
|
|
||||||
<script lang="ts" src="./home_arcadei.ts">
|
|
||||||
</script>
|
|
||||||
|
|
||||||
<style lang="scss" scoped>
|
|
||||||
@import './home_arcadei.scss';
|
|
||||||
</style>
|
|
||||||
@@ -1,446 +0,0 @@
|
|||||||
|
|
||||||
.testo-banda {
|
|
||||||
//background: -webkit-gradient(linear, left top, left bottom, from(#3144f0), to(transparent));
|
|
||||||
//background: linear-gradient(180deg, #3144f0, transparent);
|
|
||||||
//background: rgba(0, 0, 0, .6)
|
|
||||||
}
|
|
||||||
|
|
||||||
$grayshadow: #555;
|
|
||||||
|
|
||||||
$textcol: blue;
|
|
||||||
$textcol_scuro: darkblue;
|
|
||||||
|
|
||||||
p {
|
|
||||||
margin: 0 0 1.25rem;
|
|
||||||
//text-shadow: .125rem .125rem .25rem $grayshadow;
|
|
||||||
}
|
|
||||||
|
|
||||||
h4 {
|
|
||||||
font-size: 1.25rem;
|
|
||||||
}
|
|
||||||
|
|
||||||
.mycard {
|
|
||||||
visibility: hidden;
|
|
||||||
}
|
|
||||||
|
|
||||||
.landing {
|
|
||||||
}
|
|
||||||
|
|
||||||
.landing_background {
|
|
||||||
background: #000 url(../../../public/images/foto1.jpg) no-repeat 50% fixed;
|
|
||||||
background-size: cover
|
|
||||||
}
|
|
||||||
|
|
||||||
.landing > section {
|
|
||||||
display: -webkit-box;
|
|
||||||
display: -ms-flexbox;
|
|
||||||
display: flex;
|
|
||||||
-webkit-box-pack: center;
|
|
||||||
-ms-flex-pack: center;
|
|
||||||
justify-content: center;
|
|
||||||
//padding: 0 16px
|
|
||||||
}
|
|
||||||
|
|
||||||
.intro {
|
|
||||||
display: flex;
|
|
||||||
justify-content: space-between;
|
|
||||||
align-items: stretch;
|
|
||||||
/* flex-flow: row nowrap; */
|
|
||||||
|
|
||||||
padding: 1.25rem 0 1.25rem 0;
|
|
||||||
margin: .125rem;
|
|
||||||
|
|
||||||
* {
|
|
||||||
width: 100%;
|
|
||||||
flex: 1;
|
|
||||||
margin-left: auto;
|
|
||||||
margin-right: auto;
|
|
||||||
}
|
|
||||||
|
|
||||||
&__associazione {
|
|
||||||
min-width: 350px;
|
|
||||||
}
|
|
||||||
|
|
||||||
&__comeassociarsi {
|
|
||||||
min-width: 350px;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
.subtitle {
|
|
||||||
font-weight: 600;
|
|
||||||
text-align: center;
|
|
||||||
letter-spacing: 0.125rem;
|
|
||||||
text-transform: uppercase;
|
|
||||||
font-size: 1rem;
|
|
||||||
}
|
|
||||||
|
|
||||||
.landing > section.padding {
|
|
||||||
padding: 5.62rem 1rem;
|
|
||||||
}
|
|
||||||
|
|
||||||
.landing > section.padding_testo {
|
|
||||||
padding-top: 1.25rem;
|
|
||||||
padding-bottom: 1rem;
|
|
||||||
}
|
|
||||||
|
|
||||||
.landing > section.padding_gallery {
|
|
||||||
padding-top: 3.125rem;
|
|
||||||
padding-bottom: 5.625rem;
|
|
||||||
}
|
|
||||||
|
|
||||||
.landing > section > div {
|
|
||||||
position: relative;
|
|
||||||
width: 100%
|
|
||||||
}
|
|
||||||
|
|
||||||
.maxwidth1200 {
|
|
||||||
max-width: 1200px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.landing__toolbar {
|
|
||||||
background: -webkit-gradient(linear, left top, left bottom, from(#000), to(transparent));
|
|
||||||
background: linear-gradient(180deg, #000, transparent);
|
|
||||||
padding: 0 !important
|
|
||||||
}
|
|
||||||
|
|
||||||
.landing__toolbar .q-btn {
|
|
||||||
border-radius: 0 0 .315rem .315rem;
|
|
||||||
-ms-flex-item-align: stretch;
|
|
||||||
align-self: stretch
|
|
||||||
}
|
|
||||||
|
|
||||||
.landing__hero {
|
|
||||||
min-height: 50vh
|
|
||||||
}
|
|
||||||
|
|
||||||
.landing__header {
|
|
||||||
height: 18vh
|
|
||||||
}
|
|
||||||
|
|
||||||
.landing__arrow {
|
|
||||||
bottom: 1.5rem;
|
|
||||||
opacity: .4
|
|
||||||
}
|
|
||||||
|
|
||||||
.landing__front {
|
|
||||||
background: -webkit-gradient(linear, left top, left bottom, from(transparent), color-stop(15%, rgba(0, 0, 0, .6)));
|
|
||||||
background: linear-gradient(180deg, transparent, rgba(0, 0, 0, .6) 15%)
|
|
||||||
}
|
|
||||||
|
|
||||||
.landing__logo {
|
|
||||||
width: 9.40rem;
|
|
||||||
height: 9.40rem;
|
|
||||||
margin-top: 1.315rem;
|
|
||||||
//-webkit-animation: logo-rotate 240s linear infinite;
|
|
||||||
//animation: logo-rotate 240s linear infinite
|
|
||||||
}
|
|
||||||
|
|
||||||
.landing__features .q-icon {
|
|
||||||
font-size: 4rem
|
|
||||||
}
|
|
||||||
|
|
||||||
h4 {
|
|
||||||
line-height: 1.5;
|
|
||||||
text-shadow: .25rem .25rem .5rem $grayshadow;
|
|
||||||
}
|
|
||||||
|
|
||||||
.landing__features h4, .landing__features h6 {
|
|
||||||
margin: 1rem 0
|
|
||||||
}
|
|
||||||
|
|
||||||
.landing__features p {
|
|
||||||
opacity: .7;
|
|
||||||
font-size: 1rem;
|
|
||||||
line-height: 1.5;
|
|
||||||
}
|
|
||||||
|
|
||||||
.landing__footer {
|
|
||||||
//background: -webkit-gradient(linear, left top, left bottom, color-stop(65%, rgba(0, 0, 0, .1)), to(#000));
|
|
||||||
background: linear-gradient(180deg, rgba(0, 0, 0, .8) 95%, #FFF);
|
|
||||||
padding-top: 4.5rem !important;
|
|
||||||
padding-bottom: 4.5rem !important;
|
|
||||||
padding-left: 1.25rem;
|
|
||||||
padding-right: 1.25rem;
|
|
||||||
color: #9f9f9f;
|
|
||||||
}
|
|
||||||
|
|
||||||
.icon_contact:hover {
|
|
||||||
color: blue;
|
|
||||||
border-color: white;
|
|
||||||
border-width: .0625rem;
|
|
||||||
}
|
|
||||||
|
|
||||||
.landing__footer .doc-link {
|
|
||||||
color: $textcol;
|
|
||||||
}
|
|
||||||
|
|
||||||
.landing__footer .doc-link:hover {
|
|
||||||
opacity: .8
|
|
||||||
}
|
|
||||||
|
|
||||||
.landing__swirl-bg {
|
|
||||||
background-repeat: no-repeat !important;
|
|
||||||
background-position: top;
|
|
||||||
background-size: contain !important;
|
|
||||||
background-image: url(../../../public/images/landing_first_section.png) !important
|
|
||||||
}
|
|
||||||
|
|
||||||
.feat-descr {
|
|
||||||
font-size: 1.15rem;
|
|
||||||
}
|
|
||||||
|
|
||||||
.feat-descr:hover {
|
|
||||||
transition: opacity 0.5s ease-in-out;
|
|
||||||
opacity: 0.9;
|
|
||||||
}
|
|
||||||
|
|
||||||
.q-col-gutter-sm {
|
|
||||||
padding: 3.125rem 3.125rem;
|
|
||||||
//margin-left: -48px
|
|
||||||
}
|
|
||||||
|
|
||||||
body.mobile .landing {
|
|
||||||
//background: unset
|
|
||||||
}
|
|
||||||
|
|
||||||
body.mobile .landing:before {
|
|
||||||
content: "";
|
|
||||||
position: fixed;
|
|
||||||
top: 0;
|
|
||||||
height: 100vh;
|
|
||||||
left: 0;
|
|
||||||
right: 0;
|
|
||||||
bottom: 0;
|
|
||||||
z-index: -1;
|
|
||||||
//background: #000 url(../../public/images/cover.jpg) 50%;
|
|
||||||
|
|
||||||
background-size: cover
|
|
||||||
}
|
|
||||||
|
|
||||||
/*
|
|
||||||
@-webkit-keyframes logo-rotate {
|
|
||||||
to {
|
|
||||||
-webkit-transform: rotate(-1turn);
|
|
||||||
transform: rotate(-1turn)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
@keyframes logo-rotate {
|
|
||||||
to {
|
|
||||||
-webkit-transform: rotate(-1turn);
|
|
||||||
transform: rotate(-1turn)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
*/
|
|
||||||
|
|
||||||
.home {
|
|
||||||
//background-color: rgb(250, 250, 250);
|
|
||||||
padding: 3.125rem;
|
|
||||||
display: flex;
|
|
||||||
//flex-wrap: nowrap;
|
|
||||||
flex-direction: column;
|
|
||||||
align-items: center;
|
|
||||||
justify-content: space-between;
|
|
||||||
}
|
|
||||||
|
|
||||||
.btn-start {
|
|
||||||
margin: 3.125rem;
|
|
||||||
}
|
|
||||||
|
|
||||||
.shadow {
|
|
||||||
//color: white;
|
|
||||||
text-shadow: 0.125rem 0.125rem 0.25rem $grayshadow;
|
|
||||||
}
|
|
||||||
|
|
||||||
.text-h1, h1 {
|
|
||||||
font-size: 3rem;
|
|
||||||
font-weight: bold;
|
|
||||||
line-height: 3rem;
|
|
||||||
letter-spacing: -.01562em;
|
|
||||||
margin-bottom: 8px !important;
|
|
||||||
}
|
|
||||||
|
|
||||||
.text-h2 {
|
|
||||||
font-size: 3.75rem;
|
|
||||||
font-weight: 300;
|
|
||||||
line-height: 3.75rem;
|
|
||||||
letter-spacing: -.00833em;
|
|
||||||
}
|
|
||||||
|
|
||||||
.text-weight-bold {
|
|
||||||
font-weight: 700;
|
|
||||||
}
|
|
||||||
|
|
||||||
.text-vers {
|
|
||||||
font-size: 0.75rem;
|
|
||||||
font-weight: 400;
|
|
||||||
line-height: 1.75rem;
|
|
||||||
letter-spacing: .00937em;
|
|
||||||
text-shadow: .25rem .25rem .5rem $grayshadow;
|
|
||||||
}
|
|
||||||
|
|
||||||
.homep-cover-img-1 {
|
|
||||||
background: #000 url(../../../public/images/foto1.jpg) no-repeat 50% fixed;
|
|
||||||
//transition: background-image 1s ease-in-out;
|
|
||||||
}
|
|
||||||
|
|
||||||
.homep-cover-img-2 {
|
|
||||||
background: #000 url(../../../public/images/foto2.jpg) no-repeat 50% fixed;
|
|
||||||
//transition: background-image 1s ease-in-out;
|
|
||||||
}
|
|
||||||
|
|
||||||
.homep-cover-img-3 {
|
|
||||||
background: #000 url(../../../public/images/foto3.jpg) no-repeat 50% fixed;
|
|
||||||
//transition: background-image 1s ease-in-out;
|
|
||||||
}
|
|
||||||
|
|
||||||
.homep-cover-img.hide-filter:before {
|
|
||||||
opacity: 0
|
|
||||||
}
|
|
||||||
|
|
||||||
.landing__footer-icons {
|
|
||||||
font-size: 1.75rem
|
|
||||||
}
|
|
||||||
|
|
||||||
.landing__footer-icons a {
|
|
||||||
margin: 0 .5rem .5rem;
|
|
||||||
text-decoration: none;
|
|
||||||
outline: 0;
|
|
||||||
color: $textcol;
|
|
||||||
transition: color .28s
|
|
||||||
}
|
|
||||||
|
|
||||||
.landing__footer-icons a:hover {
|
|
||||||
color: $textcol_scuro;
|
|
||||||
}
|
|
||||||
|
|
||||||
.doc-img {
|
|
||||||
max-width: 100%;
|
|
||||||
}
|
|
||||||
|
|
||||||
.mylist {
|
|
||||||
background: #3fdaff;
|
|
||||||
padding-left: 1.25rem;
|
|
||||||
}
|
|
||||||
|
|
||||||
.clgutter {
|
|
||||||
margin-top: 1.25rem;
|
|
||||||
padding: .62rem;
|
|
||||||
}
|
|
||||||
|
|
||||||
.carousel_img_3 {
|
|
||||||
//background-image: url(../../public/images/cibo_sano.jpg);
|
|
||||||
background-size: cover !important;
|
|
||||||
background-position: 50% center !important;
|
|
||||||
background-repeat: no-repeat !important;
|
|
||||||
}
|
|
||||||
|
|
||||||
@media (max-width: 718px) {
|
|
||||||
// PER VERSIONE MOBILE
|
|
||||||
|
|
||||||
.landing__hero {
|
|
||||||
text-align: center
|
|
||||||
}
|
|
||||||
.landing__header {
|
|
||||||
height: 7vh
|
|
||||||
}
|
|
||||||
.clgutter {
|
|
||||||
margin-top: 0;
|
|
||||||
padding: 0;
|
|
||||||
}
|
|
||||||
.landing__hero .text-h1, h1 {
|
|
||||||
font-size: 2rem;
|
|
||||||
line-height: 2.05rem;
|
|
||||||
margin-bottom: 1.25rem
|
|
||||||
}
|
|
||||||
|
|
||||||
.landing > section.padding {
|
|
||||||
padding: 2.5rem 1rem;
|
|
||||||
}
|
|
||||||
|
|
||||||
.landing > section.padding_testo {
|
|
||||||
padding-top: 1.25rem;
|
|
||||||
padding-bottom: 1rem;
|
|
||||||
}
|
|
||||||
|
|
||||||
.landing > section.padding_gallery {
|
|
||||||
padding-top: 3.125rem;
|
|
||||||
padding-bottom: 5.625rem;
|
|
||||||
|
|
||||||
max-width: 800px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.landing > section.padding_gallery > div {
|
|
||||||
padding-top: 3.125rem;
|
|
||||||
padding-bottom: 5.625rem;
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
.landing__features h4, .landing__features h6 {
|
|
||||||
margin: 1.25rem 0
|
|
||||||
}
|
|
||||||
|
|
||||||
h4 {
|
|
||||||
line-height: 1.4;
|
|
||||||
text-shadow: 0.25rem 0.25rem 0.5rem $grayshadow;
|
|
||||||
}
|
|
||||||
|
|
||||||
.landing .feature-item {
|
|
||||||
text-align: center;
|
|
||||||
margin-top: 1.25rem;
|
|
||||||
}
|
|
||||||
.landing__hero-content {
|
|
||||||
padding-bottom: 11.25rem;
|
|
||||||
}
|
|
||||||
.landing__hero2-content {
|
|
||||||
padding-bottom: 7.25rem;
|
|
||||||
}
|
|
||||||
.landing__hero-btns {
|
|
||||||
-webkit-box-pack: center;
|
|
||||||
-ms-flex-pack: center;
|
|
||||||
justify-content: center
|
|
||||||
}
|
|
||||||
|
|
||||||
.q-col-gutter-sm {
|
|
||||||
padding: .625rem .315rem;
|
|
||||||
}
|
|
||||||
|
|
||||||
.text-subtitle1 {
|
|
||||||
font-size: 1.25rem;
|
|
||||||
}
|
|
||||||
.text-vers {
|
|
||||||
font-size: 0.6rem;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
.custom-caption {
|
|
||||||
text-align: center;
|
|
||||||
padding: .75rem;
|
|
||||||
color: $textcol;
|
|
||||||
background-color: rgba(0, 0, 0, .3);
|
|
||||||
}
|
|
||||||
|
|
||||||
.sfondo-grigio {
|
|
||||||
padding: 1rem;
|
|
||||||
color: $textcol;
|
|
||||||
background-color: rgba(0, 0, 0, .35);
|
|
||||||
}
|
|
||||||
|
|
||||||
.mycontacts {
|
|
||||||
color: gray;
|
|
||||||
letter-spacing: 0.078rem;
|
|
||||||
}
|
|
||||||
|
|
||||||
.mycontacts_title {
|
|
||||||
text-shadow: 0.125rem 0.125rem 0.125rem #555;
|
|
||||||
font-weight: bold;
|
|
||||||
color: #999;
|
|
||||||
letter-spacing: 0.125rem;
|
|
||||||
}
|
|
||||||
|
|
||||||
.mycontacts_text {
|
|
||||||
color: #999;
|
|
||||||
letter-spacing: 0.093rem;
|
|
||||||
}
|
|
||||||
@@ -1,78 +0,0 @@
|
|||||||
import { defineComponent, ref, onMounted, watch, computed } from 'vue'
|
|
||||||
|
|
||||||
import { useGlobalStore } from '@store/globalStore'
|
|
||||||
import { useRoute } from 'vue-router'
|
|
||||||
import { useUserStore } from '@store/UserStore'
|
|
||||||
|
|
||||||
import { Logo } from '../../components/logo'
|
|
||||||
|
|
||||||
import { LandingFooter } from '../../components/LandingFooter'
|
|
||||||
import { CMyPage } from '../../components/CMyPage/index'
|
|
||||||
|
|
||||||
import { tools } from '@src/store/Modules/tools'
|
|
||||||
import { static_data } from '@src/db/static_data'
|
|
||||||
import { toolsext } from '@src/store/Modules/toolsext'
|
|
||||||
import { Screen } from 'quasar'
|
|
||||||
import { CCardCarousel, CEventsCalendar, COpenStreetMap } from '@components'
|
|
||||||
import MixinBase from '@src/mixins/mixin-base'
|
|
||||||
import { firstimagehome } from '@src/db/static_data'
|
|
||||||
import MixinMetaTags from '@/mixins/mixin-metatags'
|
|
||||||
|
|
||||||
export default defineComponent({
|
|
||||||
name: 'Home_tdv',
|
|
||||||
components: { Logo, LandingFooter, CMyPage, CCardCarousel, CEventsCalendar, COpenStreetMap },
|
|
||||||
|
|
||||||
setup() {
|
|
||||||
const animare = ref(0)
|
|
||||||
const slide = ref('first')
|
|
||||||
const slide2 = ref(1)
|
|
||||||
|
|
||||||
const getImmagini = ref([
|
|
||||||
{
|
|
||||||
title: '', subtitle: '',
|
|
||||||
alt: 'Elisa e Cristina insieme',
|
|
||||||
img: '../../statics/images/eventi_esterni/IMG_6035.jpg'
|
|
||||||
},
|
|
||||||
])
|
|
||||||
|
|
||||||
const userStore = useUserStore()
|
|
||||||
const globalStore = useGlobalStore()
|
|
||||||
|
|
||||||
const { setValDb, getValDb } = MixinBase()
|
|
||||||
const { setmeta, getsrcbyimg } = MixinMetaTags()
|
|
||||||
|
|
||||||
function getheightgallery() {
|
|
||||||
if (tools.isMobile())
|
|
||||||
return '400px'
|
|
||||||
else
|
|
||||||
return '600px'
|
|
||||||
}
|
|
||||||
|
|
||||||
function created() {
|
|
||||||
//
|
|
||||||
}
|
|
||||||
|
|
||||||
function getArrDisciplines() {
|
|
||||||
return globalStore.disciplines.filter((rec: any) => rec.showinhome)
|
|
||||||
}
|
|
||||||
|
|
||||||
created()
|
|
||||||
|
|
||||||
return {
|
|
||||||
tools,
|
|
||||||
toolsext,
|
|
||||||
static_data,
|
|
||||||
animare,
|
|
||||||
slide,
|
|
||||||
slide2,
|
|
||||||
getheightgallery,
|
|
||||||
getArrDisciplines,
|
|
||||||
getImmagini,
|
|
||||||
getValDb,
|
|
||||||
firstimagehome,
|
|
||||||
getsrcbyimg,
|
|
||||||
setmeta,
|
|
||||||
}
|
|
||||||
},
|
|
||||||
})
|
|
||||||
|
|
||||||
@@ -1,220 +0,0 @@
|
|||||||
<template>
|
|
||||||
<q-page>
|
|
||||||
<CMyPage title="Home">
|
|
||||||
<div class="landing">
|
|
||||||
<section>
|
|
||||||
<div class="landing__hero maxwidth1200 text-white">
|
|
||||||
<q-carousel
|
|
||||||
animated
|
|
||||||
:autoplay="animare"
|
|
||||||
swipeable
|
|
||||||
infinite
|
|
||||||
navigation
|
|
||||||
transition-next="slide-left"
|
|
||||||
transition-prev="slide-right"
|
|
||||||
v-model="slide"
|
|
||||||
:height="getheightgallery()"
|
|
||||||
width="100%"
|
|
||||||
>
|
|
||||||
<q-carousel-slide name="first"
|
|
||||||
:img-src="getsrcbyimg(firstimagehome())">
|
|
||||||
<div class="landing__header"></div>
|
|
||||||
<div class="landing__hero-content row justify-center q-gutter-xs clgutter">
|
|
||||||
<div class="row">
|
|
||||||
|
|
||||||
</div>
|
|
||||||
<div class="flex justify-end">
|
|
||||||
<div class="q-gutter-xs testo-banda clgutter">
|
|
||||||
<h1 class="text-h1 shadow-max">{{tools.getappname()}}</h1>
|
|
||||||
<div class="text-subtitle1 shadow text-italic q-pl-sm">
|
|
||||||
|
|
||||||
</div>
|
|
||||||
<div class="text-subtitle1 shadow-max big text-italic q-pl-sm">
|
|
||||||
|
|
||||||
</div>
|
|
||||||
<div class="text-subtitle2 shadow text-italic q-pl-sm">
|
|
||||||
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div>
|
|
||||||
<br>
|
|
||||||
<br>
|
|
||||||
<div v-if="!tools.isLogged()" style="margin: 5px; padding: 5px;" class="home">
|
|
||||||
<br>
|
|
||||||
<br>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div class="landing__arrow absolute-bottom text-center">
|
|
||||||
<i aria-hidden="true"
|
|
||||||
class="q-icon text-h2 text-white material-icons">expand_more</i>
|
|
||||||
</div>
|
|
||||||
</q-carousel-slide>
|
|
||||||
<q-carousel-slide name="second"
|
|
||||||
:img-src="getsrcbyimg('images/background2.jpg')" alt="">
|
|
||||||
<div class="landing__header"></div>
|
|
||||||
<div class="landing__hero2-content row justify-center q-gutter-xs clgutter">
|
|
||||||
<div class="row">
|
|
||||||
<logo></logo>
|
|
||||||
</div>
|
|
||||||
<div class="flex justify-end">
|
|
||||||
<div class="q-gutter-xs testo-banda clgutter">
|
|
||||||
<h1 class="text-h1 shadow-max">{{tools.getappname()}}</h1>
|
|
||||||
<h2 class="text-subtitle1 shadow text-italic q-pl-sm">
|
|
||||||
{{$t('msg.sottoTitoloApp')}}
|
|
||||||
</h2>
|
|
||||||
<h2 class="text-subtitle1 shadow-max big text-italic q-pl-sm">
|
|
||||||
<strong>{{$t('msg.sottoTitoloApp2')}}</strong>
|
|
||||||
</h2>
|
|
||||||
<h2 class="text-subtitle2 shadow text-italic q-pl-sm">
|
|
||||||
{{$t('msg.sottoTitoloApp3')}}
|
|
||||||
</h2>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div class="landing__arrow absolute-bottom text-center">
|
|
||||||
<i aria-hidden="true"
|
|
||||||
class="q-icon text-h2 text-white material-icons">expand_more</i>
|
|
||||||
</div>
|
|
||||||
</q-carousel-slide>
|
|
||||||
<q-carousel-slide name="third"
|
|
||||||
:img-src="getsrcbyimg('images/background3.jpg')">
|
|
||||||
<div class="landing__header"></div>
|
|
||||||
<div class="landing__hero2-content row justify-center q-gutter-xs clgutter">
|
|
||||||
<div class="row">
|
|
||||||
<logo></logo>
|
|
||||||
</div>
|
|
||||||
<div class="flex justify-end">
|
|
||||||
<div class="q-gutter-xs testo-banda clgutter">
|
|
||||||
<div class="text-h1 shadow-max">{{tools.getappname()}}</div>
|
|
||||||
<div class="text-subtitle1 shadow text-italic q-pl-sm">
|
|
||||||
{{$t('msg.sottoTitoloApp')}}
|
|
||||||
</div>
|
|
||||||
<div class="text-subtitle1 shadow-max big text-italic q-pl-sm"><strong>{{$t('msg.sottoTitoloApp2')}}</strong>
|
|
||||||
</div>
|
|
||||||
<div class="text-subtitle2 shadow text-italic q-pl-sm">
|
|
||||||
{{$t('msg.sottoTitoloApp3')}}
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div class="text-subtitle3 shadow text-italic q-pl-sm ">
|
|
||||||
{{$t('msg.sottoTitoloApp4')}}
|
|
||||||
</div>
|
|
||||||
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div class="landing__arrow absolute-bottom text-center">
|
|
||||||
<!--<i aria-hidden="true"-->
|
|
||||||
<!--class="q-icon text-h2 text-white material-icons">expand_more</i>-->
|
|
||||||
</div>
|
|
||||||
</q-carousel-slide>
|
|
||||||
</q-carousel>
|
|
||||||
|
|
||||||
</div>
|
|
||||||
</section>
|
|
||||||
|
|
||||||
<div class="q-pa-md q-gutter-md">
|
|
||||||
<div v-if="isLogged && !isVerified" class="text-verified">{{
|
|
||||||
$t('components.authentication.email_verification.link_sent') }}
|
|
||||||
</div>
|
|
||||||
|
|
||||||
</div>
|
|
||||||
|
|
||||||
|
|
||||||
<CCardCarousel :myarr="getArrDisciplines()">
|
|
||||||
|
|
||||||
</CCardCarousel>
|
|
||||||
|
|
||||||
<CEventsCalendar :mysingleevent="null" :showfirstN="getValDb('SHOW_LAST_EVENTS', false, 3)">
|
|
||||||
|
|
||||||
</CEventsCalendar>
|
|
||||||
|
|
||||||
|
|
||||||
<div v-if="getValDb('VIDEO_HOME', false)" class="row justify-evenly items-center q-gutter-md ">
|
|
||||||
|
|
||||||
<div class="text-center">
|
|
||||||
<h4 class="subtitle text-blue" v-html="getValDb('VIDEO_TITLE', false)"></h4>
|
|
||||||
<div class="">
|
|
||||||
<video :width="tools.getwidthscale(mythis, 320, 800)"
|
|
||||||
:height="tools.getheightbywidth(mythis, 320, 180, 800)" controls>
|
|
||||||
<source :src="getValDb('VIDEO_HOME', false)" type="video/mp4">
|
|
||||||
</video>
|
|
||||||
</div>
|
|
||||||
<!--<q-video src="../../statics/video/Intervista_Cristina_Barattoni.mp4">-->
|
|
||||||
|
|
||||||
<!--</q-video>-->
|
|
||||||
</div>
|
|
||||||
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div v-if="getValDb('YT_VIDEO', false)" class="row justify-evenly items-center q-gutter-md ">
|
|
||||||
|
|
||||||
<div class="text-center">
|
|
||||||
<h4 class="subtitle text-blue" v-html="getValDb('YT_TITLE', false)"></h4>
|
|
||||||
<div class="">
|
|
||||||
|
|
||||||
<div class="">
|
|
||||||
<iframe
|
|
||||||
:width="tools.getwidthscale(mythis, getValDb('YT_W', false), 800)"
|
|
||||||
:height="tools.getheightbywidth(mythis, getValDb('YT_W', false), getValDb('YT_H', false), 800)"
|
|
||||||
:src="getValDb('YT_VIDEO', false)"
|
|
||||||
frameborder="0"
|
|
||||||
allowfullscreen
|
|
||||||
></iframe>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<!--<q-video src="../../statics/video/Intervista_Cristina_Barattoni.mp4">-->
|
|
||||||
|
|
||||||
<!--</q-video>-->
|
|
||||||
</div>
|
|
||||||
|
|
||||||
</div>
|
|
||||||
|
|
||||||
|
|
||||||
<section class="maxwidth padding_gallery bg-white text-grey-10 text-center" >
|
|
||||||
|
|
||||||
<q-carousel
|
|
||||||
swipeable
|
|
||||||
animated
|
|
||||||
:autoplay="8000"
|
|
||||||
v-model="slide2"
|
|
||||||
arrows
|
|
||||||
thumbnails
|
|
||||||
infinite
|
|
||||||
:height="tools.heightgallery()">
|
|
||||||
<q-carousel-slide v-for="(rec, index) in getImmagini" :key="index" :name="index"
|
|
||||||
:img-src="rec.img"
|
|
||||||
:alt="rec.alt"
|
|
||||||
class="carousel_slide">
|
|
||||||
<div class="absolute-bottom custom-caption" style="margin-bottom: 70px">
|
|
||||||
<div class="text-h5"><span
|
|
||||||
class="text-h6 text-grey-1 shadow-max">{{index + 1}}. </span><span
|
|
||||||
class="text-h6 text-grey-2 shadow">{{rec.title}}</span></div>
|
|
||||||
<div class="text-subtitle1"><span class="text-grey-4 shadow">{{rec.subtitle}}</span>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</q-carousel-slide>
|
|
||||||
</q-carousel>
|
|
||||||
</section>
|
|
||||||
<div v-if="!tools.isMobile()" style="margin: 60px 60px;"></div>
|
|
||||||
|
|
||||||
<COpenStreetMap :imgmap="getValDb('IMGMAP', false)" :urlmap="getValDb('URLMAP', false)" :title="getValDb('MAP_TITLE', false)"
|
|
||||||
:coordinates="getValDb('COORD_MAP_1', false)" :coord_big="getValDb('COORD_MAP_BIG', false)">
|
|
||||||
|
|
||||||
</COpenStreetMap>
|
|
||||||
|
|
||||||
<div class="q-ma-md"></div>
|
|
||||||
</div>
|
|
||||||
</CMyPage>
|
|
||||||
</q-page>
|
|
||||||
</template>
|
|
||||||
|
|
||||||
<script lang="ts" src="./home_tdv.ts">
|
|
||||||
</script>
|
|
||||||
|
|
||||||
<style lang="scss" scoped>
|
|
||||||
@import './home_tdv.scss';
|
|
||||||
</style>
|
|
||||||
@@ -94,6 +94,7 @@ const msg_website_it = {
|
|||||||
reg: 'Partecipanti',
|
reg: 'Partecipanti',
|
||||||
verifieds: 'Verificati',
|
verifieds: 'Verificati',
|
||||||
online_today: 'On Line Oggi',
|
online_today: 'On Line Oggi',
|
||||||
|
activeusers: 'Utenti Attivi',
|
||||||
autorizzati: 'Autorizzati',
|
autorizzati: 'Autorizzati',
|
||||||
autorizzare: 'In attesa di Abilitazione',
|
autorizzare: 'In attesa di Abilitazione',
|
||||||
passeggeri: 'Passeggeri Navi',
|
passeggeri: 'Passeggeri Navi',
|
||||||
|
|||||||
@@ -1,452 +0,0 @@
|
|||||||
|
|
||||||
.testo-banda {
|
|
||||||
//background: -webkit-gradient(linear, left top, left bottom, from(#3144f0), to(transparent));
|
|
||||||
//background: linear-gradient(180deg, #3144f0, transparent);
|
|
||||||
//background: rgba(0, 0, 0, .6)
|
|
||||||
}
|
|
||||||
|
|
||||||
$grayshadow: #555;
|
|
||||||
|
|
||||||
$textcol: blue;
|
|
||||||
$textcol_scuro: darkblue;
|
|
||||||
|
|
||||||
p {
|
|
||||||
margin: 0 0 1.25rem;
|
|
||||||
//text-shadow: .125rem .125rem .25rem $grayshadow;
|
|
||||||
}
|
|
||||||
|
|
||||||
h4 {
|
|
||||||
font-size: 1.25rem;
|
|
||||||
}
|
|
||||||
|
|
||||||
.mycard {
|
|
||||||
visibility: hidden;
|
|
||||||
}
|
|
||||||
|
|
||||||
.landing {
|
|
||||||
}
|
|
||||||
|
|
||||||
.landing_background {
|
|
||||||
background: #000 url(../../../public/images/foto1.jpg) no-repeat 50% fixed;
|
|
||||||
background-size: cover
|
|
||||||
}
|
|
||||||
|
|
||||||
.landing > section {
|
|
||||||
display: -webkit-box;
|
|
||||||
display: -ms-flexbox;
|
|
||||||
display: flex;
|
|
||||||
-webkit-box-pack: center;
|
|
||||||
-ms-flex-pack: center;
|
|
||||||
justify-content: center;
|
|
||||||
//padding: 0 16px
|
|
||||||
}
|
|
||||||
|
|
||||||
.intro {
|
|
||||||
display: flex;
|
|
||||||
justify-content: space-between;
|
|
||||||
align-items: stretch;
|
|
||||||
/* flex-flow: row nowrap; */
|
|
||||||
|
|
||||||
padding: 1.25rem 0 1.25rem 0;
|
|
||||||
margin: .125rem;
|
|
||||||
|
|
||||||
* {
|
|
||||||
width: 100%;
|
|
||||||
flex: 1;
|
|
||||||
margin-left: auto;
|
|
||||||
margin-right: auto;
|
|
||||||
}
|
|
||||||
|
|
||||||
&__associazione {
|
|
||||||
min-width: 350px;
|
|
||||||
}
|
|
||||||
|
|
||||||
&__comeassociarsi {
|
|
||||||
min-width: 350px;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
.subtitle {
|
|
||||||
font-weight: 600;
|
|
||||||
text-align: center;
|
|
||||||
letter-spacing: 0.125rem;
|
|
||||||
text-transform: uppercase;
|
|
||||||
font-size: 1rem;
|
|
||||||
}
|
|
||||||
|
|
||||||
.landing > section.padding {
|
|
||||||
padding: 5.62rem 1rem;
|
|
||||||
}
|
|
||||||
|
|
||||||
.landing > section.padding_testo {
|
|
||||||
padding-top: 1.25rem;
|
|
||||||
padding-bottom: 1rem;
|
|
||||||
}
|
|
||||||
|
|
||||||
.landing > section.padding_gallery {
|
|
||||||
padding-top: 3.125rem;
|
|
||||||
padding-bottom: 5.625rem;
|
|
||||||
}
|
|
||||||
|
|
||||||
.landing > section > div {
|
|
||||||
position: relative;
|
|
||||||
width: 100%
|
|
||||||
}
|
|
||||||
|
|
||||||
.maxwidth1200 {
|
|
||||||
max-width: 1200px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.landing__toolbar {
|
|
||||||
background: -webkit-gradient(linear, left top, left bottom, from(#000), to(transparent));
|
|
||||||
background: linear-gradient(180deg, #000, transparent);
|
|
||||||
padding: 0 !important
|
|
||||||
}
|
|
||||||
|
|
||||||
.landing__toolbar .q-btn {
|
|
||||||
border-radius: 0 0 .315rem .315rem;
|
|
||||||
-ms-flex-item-align: stretch;
|
|
||||||
align-self: stretch
|
|
||||||
}
|
|
||||||
|
|
||||||
.landing__hero {
|
|
||||||
min-height: 50vh
|
|
||||||
}
|
|
||||||
|
|
||||||
.landing__header {
|
|
||||||
height: 18vh
|
|
||||||
}
|
|
||||||
|
|
||||||
.landing__arrow {
|
|
||||||
bottom: 1.5rem;
|
|
||||||
opacity: .4
|
|
||||||
}
|
|
||||||
|
|
||||||
.landing__front {
|
|
||||||
background: -webkit-gradient(linear, left top, left bottom, from(transparent), color-stop(15%, rgba(0, 0, 0, .6)));
|
|
||||||
background: linear-gradient(180deg, transparent, rgba(0, 0, 0, .6) 15%)
|
|
||||||
}
|
|
||||||
|
|
||||||
.landing__logo {
|
|
||||||
width: 9.40rem;
|
|
||||||
height: 9.40rem;
|
|
||||||
margin-top: 1.315rem;
|
|
||||||
//-webkit-animation: logo-rotate 240s linear infinite;
|
|
||||||
//animation: logo-rotate 240s linear infinite
|
|
||||||
}
|
|
||||||
|
|
||||||
.landing__features .q-icon {
|
|
||||||
font-size: 4rem
|
|
||||||
}
|
|
||||||
|
|
||||||
h4 {
|
|
||||||
line-height: 1.5;
|
|
||||||
text-shadow: .25rem .25rem .5rem $grayshadow;
|
|
||||||
}
|
|
||||||
|
|
||||||
.landing__features h4, .landing__features h6 {
|
|
||||||
margin: 1rem 0
|
|
||||||
}
|
|
||||||
|
|
||||||
.landing__features p {
|
|
||||||
opacity: .7;
|
|
||||||
font-size: 1rem;
|
|
||||||
line-height: 1.5;
|
|
||||||
}
|
|
||||||
|
|
||||||
.landing__footer {
|
|
||||||
//background: -webkit-gradient(linear, left top, left bottom, color-stop(65%, rgba(0, 0, 0, .1)), to(#000));
|
|
||||||
background: linear-gradient(180deg, rgba(0, 0, 0, .8) 95%, #FFF);
|
|
||||||
padding-top: 4.5rem !important;
|
|
||||||
padding-bottom: 4.5rem !important;
|
|
||||||
padding-left: 1.25rem;
|
|
||||||
padding-right: 1.25rem;
|
|
||||||
color: #9f9f9f;
|
|
||||||
}
|
|
||||||
|
|
||||||
.icon_contact:hover {
|
|
||||||
color: blue;
|
|
||||||
border-color: white;
|
|
||||||
border-width: .0625rem;
|
|
||||||
}
|
|
||||||
|
|
||||||
.landing__footer .doc-link {
|
|
||||||
color: $textcol;
|
|
||||||
}
|
|
||||||
|
|
||||||
.landing__footer .doc-link:hover {
|
|
||||||
opacity: .8
|
|
||||||
}
|
|
||||||
|
|
||||||
.landing__swirl-bg {
|
|
||||||
background-repeat: no-repeat !important;
|
|
||||||
background-position: top;
|
|
||||||
background-size: contain !important;
|
|
||||||
background-image: url(../../../public/images/landing_first_section.png) !important
|
|
||||||
}
|
|
||||||
|
|
||||||
.feat-descr {
|
|
||||||
font-size: 1.15rem;
|
|
||||||
}
|
|
||||||
|
|
||||||
.feat-descr:hover {
|
|
||||||
transition: opacity 0.5s ease-in-out;
|
|
||||||
opacity: 0.9;
|
|
||||||
}
|
|
||||||
|
|
||||||
.q-col-gutter-sm {
|
|
||||||
padding: 3.125rem 3.125rem;
|
|
||||||
//margin-left: -48px
|
|
||||||
}
|
|
||||||
|
|
||||||
body.mobile .landing {
|
|
||||||
//background: unset
|
|
||||||
}
|
|
||||||
|
|
||||||
body.mobile .landing:before {
|
|
||||||
content: "";
|
|
||||||
position: fixed;
|
|
||||||
top: 0;
|
|
||||||
height: 100vh;
|
|
||||||
left: 0;
|
|
||||||
right: 0;
|
|
||||||
bottom: 0;
|
|
||||||
z-index: -1;
|
|
||||||
//background: #000 url(../../public/images/cover.jpg) 50%;
|
|
||||||
|
|
||||||
background-size: cover
|
|
||||||
}
|
|
||||||
|
|
||||||
/*
|
|
||||||
@-webkit-keyframes logo-rotate {
|
|
||||||
to {
|
|
||||||
-webkit-transform: rotate(-1turn);
|
|
||||||
transform: rotate(-1turn)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
@keyframes logo-rotate {
|
|
||||||
to {
|
|
||||||
-webkit-transform: rotate(-1turn);
|
|
||||||
transform: rotate(-1turn)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
*/
|
|
||||||
|
|
||||||
.home {
|
|
||||||
//background-color: rgb(250, 250, 250);
|
|
||||||
padding: 3.125rem;
|
|
||||||
display: flex;
|
|
||||||
//flex-wrap: nowrap;
|
|
||||||
flex-direction: column;
|
|
||||||
align-items: center;
|
|
||||||
justify-content: space-between;
|
|
||||||
}
|
|
||||||
|
|
||||||
.btn-start {
|
|
||||||
margin: 3.125rem;
|
|
||||||
}
|
|
||||||
|
|
||||||
.shadow {
|
|
||||||
//color: white;
|
|
||||||
text-shadow: 0.125rem 0.125rem 0.25rem $grayshadow;
|
|
||||||
}
|
|
||||||
|
|
||||||
.text-h1, h1 {
|
|
||||||
font-size: 3rem;
|
|
||||||
font-weight: bold;
|
|
||||||
line-height: 3rem;
|
|
||||||
letter-spacing: -.01562em;
|
|
||||||
margin-bottom: 8px !important;
|
|
||||||
}
|
|
||||||
|
|
||||||
.text-h2 {
|
|
||||||
font-size: 3.75rem;
|
|
||||||
font-weight: 300;
|
|
||||||
line-height: 3.75rem;
|
|
||||||
letter-spacing: -.00833em;
|
|
||||||
}
|
|
||||||
|
|
||||||
.text-weight-bold {
|
|
||||||
font-weight: 700;
|
|
||||||
}
|
|
||||||
|
|
||||||
.text-vers {
|
|
||||||
font-size: 0.75rem;
|
|
||||||
font-weight: 400;
|
|
||||||
line-height: 1.75rem;
|
|
||||||
letter-spacing: .00937em;
|
|
||||||
text-shadow: .25rem .25rem .5rem $grayshadow;
|
|
||||||
}
|
|
||||||
|
|
||||||
.homep-cover-img-1 {
|
|
||||||
background: #000 url(../../../public/images/foto1.jpg) no-repeat 50% fixed;
|
|
||||||
//transition: background-image 1s ease-in-out;
|
|
||||||
}
|
|
||||||
|
|
||||||
.homep-cover-img-2 {
|
|
||||||
background: #000 url(../../../public/images/foto2.jpg) no-repeat 50% fixed;
|
|
||||||
//transition: background-image 1s ease-in-out;
|
|
||||||
}
|
|
||||||
|
|
||||||
.homep-cover-img-3 {
|
|
||||||
background: #000 url(../../../public/images/foto3.jpg) no-repeat 50% fixed;
|
|
||||||
//transition: background-image 1s ease-in-out;
|
|
||||||
}
|
|
||||||
|
|
||||||
.homep-cover-img.hide-filter:before {
|
|
||||||
opacity: 0
|
|
||||||
}
|
|
||||||
|
|
||||||
.landing__footer-icons {
|
|
||||||
font-size: 1.75rem
|
|
||||||
}
|
|
||||||
|
|
||||||
.landing__footer-icons a {
|
|
||||||
margin: 0 .5rem .5rem;
|
|
||||||
text-decoration: none;
|
|
||||||
outline: 0;
|
|
||||||
color: $textcol;
|
|
||||||
transition: color .28s
|
|
||||||
}
|
|
||||||
|
|
||||||
.landing__footer-icons a:hover {
|
|
||||||
color: $textcol_scuro;
|
|
||||||
}
|
|
||||||
|
|
||||||
.doc-img {
|
|
||||||
max-width: 100%;
|
|
||||||
}
|
|
||||||
|
|
||||||
.mylist {
|
|
||||||
background: #3fdaff;
|
|
||||||
padding-left: 1.25rem;
|
|
||||||
}
|
|
||||||
|
|
||||||
.clgutter {
|
|
||||||
margin-top: 1.25rem;
|
|
||||||
padding: .62rem;
|
|
||||||
}
|
|
||||||
|
|
||||||
.carousel_img_3 {
|
|
||||||
//background-image: url(../../public/images/cibo_sano.jpg);
|
|
||||||
background-size: cover !important;
|
|
||||||
background-position: 50% center !important;
|
|
||||||
background-repeat: no-repeat !important;
|
|
||||||
}
|
|
||||||
|
|
||||||
@media (max-width: 718px) {
|
|
||||||
// PER VERSIONE MOBILE
|
|
||||||
|
|
||||||
.landing__hero {
|
|
||||||
text-align: center
|
|
||||||
}
|
|
||||||
.landing__header {
|
|
||||||
height: 7vh
|
|
||||||
}
|
|
||||||
.clgutter {
|
|
||||||
margin-top: 0;
|
|
||||||
padding: 0;
|
|
||||||
}
|
|
||||||
.landing__hero .text-h1, h1 {
|
|
||||||
font-size: 2rem;
|
|
||||||
line-height: 2.05rem;
|
|
||||||
margin-bottom: 1.25rem
|
|
||||||
}
|
|
||||||
|
|
||||||
.landing > section.padding {
|
|
||||||
padding: 2.5rem 1rem;
|
|
||||||
}
|
|
||||||
|
|
||||||
.landing > section.padding_testo {
|
|
||||||
padding-top: 1.25rem;
|
|
||||||
padding-bottom: 1rem;
|
|
||||||
}
|
|
||||||
|
|
||||||
.landing > section.padding_gallery {
|
|
||||||
padding-top: 3.125rem;
|
|
||||||
padding-bottom: 5.625rem;
|
|
||||||
|
|
||||||
max-width: 800px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.landing > section.padding_gallery > div {
|
|
||||||
padding-top: 3.125rem;
|
|
||||||
padding-bottom: 5.625rem;
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
.landing__features h4, .landing__features h6 {
|
|
||||||
margin: 1.25rem 0
|
|
||||||
}
|
|
||||||
|
|
||||||
h4 {
|
|
||||||
line-height: 1.4;
|
|
||||||
text-shadow: 0.25rem 0.25rem 0.5rem $grayshadow;
|
|
||||||
}
|
|
||||||
|
|
||||||
.landing .feature-item {
|
|
||||||
text-align: center;
|
|
||||||
margin-top: 1.25rem;
|
|
||||||
}
|
|
||||||
.landing__hero-content {
|
|
||||||
padding-bottom: 11.25rem;
|
|
||||||
}
|
|
||||||
.landing__hero2-content {
|
|
||||||
padding-bottom: 7.25rem;
|
|
||||||
}
|
|
||||||
.landing__hero-btns {
|
|
||||||
-webkit-box-pack: center;
|
|
||||||
-ms-flex-pack: center;
|
|
||||||
justify-content: center
|
|
||||||
}
|
|
||||||
|
|
||||||
.q-col-gutter-sm {
|
|
||||||
padding: .625rem .315rem;
|
|
||||||
}
|
|
||||||
|
|
||||||
.text-subtitle1 {
|
|
||||||
font-size: 1.25rem;
|
|
||||||
}
|
|
||||||
.text-vers {
|
|
||||||
font-size: 0.6rem;
|
|
||||||
}
|
|
||||||
|
|
||||||
.carousel_img_3 {
|
|
||||||
//background-image: url(../../public/images/cibo_sano.jpg);
|
|
||||||
background-size: 620px 620px !important;
|
|
||||||
background-position: 50% top !important;
|
|
||||||
background-repeat: no-repeat !important;
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
.custom-caption {
|
|
||||||
text-align: center;
|
|
||||||
padding: .75rem;
|
|
||||||
color: $textcol;
|
|
||||||
background-color: rgba(0, 0, 0, .3);
|
|
||||||
}
|
|
||||||
|
|
||||||
.sfondo-grigio {
|
|
||||||
padding: 1rem;
|
|
||||||
color: $textcol;
|
|
||||||
background-color: rgba(0, 0, 0, .35);
|
|
||||||
}
|
|
||||||
|
|
||||||
.mycontacts {
|
|
||||||
color: gray;
|
|
||||||
letter-spacing: 0.078rem;
|
|
||||||
}
|
|
||||||
|
|
||||||
.mycontacts_title {
|
|
||||||
text-shadow: 0.125rem 0.125rem 0.125rem #555;
|
|
||||||
font-weight: bold;
|
|
||||||
color: #999;
|
|
||||||
letter-spacing: 0.125rem;
|
|
||||||
}
|
|
||||||
|
|
||||||
.mycontacts_text {
|
|
||||||
color: #999;
|
|
||||||
letter-spacing: 0.093rem;
|
|
||||||
}
|
|
||||||
@@ -1,78 +0,0 @@
|
|||||||
import { defineComponent, ref, onMounted, watch, computed } from 'vue'
|
|
||||||
|
|
||||||
import { useGlobalStore } from '@store/globalStore'
|
|
||||||
import { useRoute } from 'vue-router'
|
|
||||||
import { useUserStore } from '@store/UserStore'
|
|
||||||
|
|
||||||
import { Logo } from '../../components/logo'
|
|
||||||
|
|
||||||
import { LandingFooter } from '../../components/LandingFooter'
|
|
||||||
import { CMyPage } from '../../components/CMyPage/index'
|
|
||||||
|
|
||||||
import { tools } from '@src/store/Modules/tools'
|
|
||||||
import { static_data } from '@src/db/static_data'
|
|
||||||
import { toolsext } from '@src/store/Modules/toolsext'
|
|
||||||
import { Screen } from 'quasar'
|
|
||||||
import { CCardCarousel, CEventsCalendar, COpenStreetMap } from '@components'
|
|
||||||
import MixinBase from '@src/mixins/mixin-base'
|
|
||||||
import { firstimagehome } from '@src/db/static_data'
|
|
||||||
import MixinMetaTags from '@/mixins/mixin-metatags'
|
|
||||||
|
|
||||||
export default defineComponent({
|
|
||||||
name: 'home_arcadei',
|
|
||||||
components: { Logo, LandingFooter, CMyPage, CCardCarousel, CEventsCalendar, COpenStreetMap },
|
|
||||||
|
|
||||||
setup() {
|
|
||||||
const animare = ref(0)
|
|
||||||
const slide = ref('first')
|
|
||||||
const slide2 = ref(1)
|
|
||||||
|
|
||||||
const getImmagini = ref([
|
|
||||||
{
|
|
||||||
title: '', subtitle: '',
|
|
||||||
alt: 'Arcadei',
|
|
||||||
img: 'images/arcadei/img1.png'
|
|
||||||
},
|
|
||||||
])
|
|
||||||
|
|
||||||
const userStore = useUserStore()
|
|
||||||
const globalStore = useGlobalStore()
|
|
||||||
|
|
||||||
const { setValDb, getValDb } = MixinBase()
|
|
||||||
const { setmeta, getsrcbyimg } = MixinMetaTags()
|
|
||||||
|
|
||||||
function getheightgallery() {
|
|
||||||
if (tools.isMobile())
|
|
||||||
return '400px'
|
|
||||||
else
|
|
||||||
return '600px'
|
|
||||||
}
|
|
||||||
|
|
||||||
function created() {
|
|
||||||
//
|
|
||||||
}
|
|
||||||
|
|
||||||
function getArrDisciplines() {
|
|
||||||
return globalStore.disciplines.filter((rec: any) => rec.showinhome)
|
|
||||||
}
|
|
||||||
|
|
||||||
created()
|
|
||||||
|
|
||||||
return {
|
|
||||||
tools,
|
|
||||||
toolsext,
|
|
||||||
static_data,
|
|
||||||
animare,
|
|
||||||
slide,
|
|
||||||
slide2,
|
|
||||||
getheightgallery,
|
|
||||||
getArrDisciplines,
|
|
||||||
getImmagini,
|
|
||||||
getValDb,
|
|
||||||
firstimagehome,
|
|
||||||
getsrcbyimg,
|
|
||||||
setmeta,
|
|
||||||
}
|
|
||||||
},
|
|
||||||
})
|
|
||||||
|
|
||||||
@@ -1,221 +0,0 @@
|
|||||||
<template>
|
|
||||||
<q-page>
|
|
||||||
<CMyPage title="Home">
|
|
||||||
<div class="landing">
|
|
||||||
<section>
|
|
||||||
<div class="landing__hero maxwidth1200 text-white">
|
|
||||||
<q-carousel
|
|
||||||
animated
|
|
||||||
:autoplay="animare"
|
|
||||||
swipeable
|
|
||||||
infinite
|
|
||||||
navigation
|
|
||||||
transition-next="slide-left"
|
|
||||||
transition-prev="slide-right"
|
|
||||||
v-model="slide"
|
|
||||||
:height="getheightgallery()"
|
|
||||||
width="100%"
|
|
||||||
>
|
|
||||||
<q-carousel-slide name="first"
|
|
||||||
:img-src="getsrcbyimg(firstimagehome())">
|
|
||||||
<div class="landing__header"></div>
|
|
||||||
<div class="landing__hero-content row justify-center q-gutter-xs clgutter">
|
|
||||||
<div class="row">
|
|
||||||
|
|
||||||
</div>
|
|
||||||
<div class="flex justify-end">
|
|
||||||
<div class="q-gutter-xs testo-banda clgutter">
|
|
||||||
<h1 class="text-h1 shadow-max">{{tools.getappname()}}</h1>
|
|
||||||
<div class="text-subtitle1 shadow text-italic q-pl-sm">
|
|
||||||
|
|
||||||
</div>
|
|
||||||
<div class="text-subtitle1 shadow-max big text-italic q-pl-sm">
|
|
||||||
|
|
||||||
</div>
|
|
||||||
<div class="text-subtitle2 shadow text-italic q-pl-sm">
|
|
||||||
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div>
|
|
||||||
<br>
|
|
||||||
<br>
|
|
||||||
<div v-if="!tools.isLogged()" style="margin: 5px; padding: 5px;" class="home">
|
|
||||||
<br>
|
|
||||||
<br>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div class="landing__arrow absolute-bottom text-center">
|
|
||||||
<i aria-hidden="true"
|
|
||||||
class="q-icon text-h2 text-white material-icons">expand_more</i>
|
|
||||||
</div>
|
|
||||||
</q-carousel-slide>
|
|
||||||
<q-carousel-slide name="second"
|
|
||||||
:img-src="getsrcbyimg('images/background2.jpg')" alt="">
|
|
||||||
<div class="landing__header"></div>
|
|
||||||
<div class="landing__hero2-content row justify-center q-gutter-xs clgutter">
|
|
||||||
<div class="row">
|
|
||||||
<logo></logo>
|
|
||||||
</div>
|
|
||||||
<div class="flex justify-end">
|
|
||||||
<div class="q-gutter-xs testo-banda clgutter">
|
|
||||||
<h1 class="text-h1 shadow-max">{{tools.getappname()}}</h1>
|
|
||||||
<h2 class="text-subtitle1 shadow text-italic q-pl-sm">
|
|
||||||
{{$t('msg.sottoTitoloApp')}}
|
|
||||||
</h2>
|
|
||||||
<h2 class="text-subtitle1 shadow-max big text-italic q-pl-sm">
|
|
||||||
<strong>{{$t('msg.sottoTitoloApp2')}}</strong>
|
|
||||||
</h2>
|
|
||||||
<h2 class="text-subtitle2 shadow text-italic q-pl-sm">
|
|
||||||
{{$t('msg.sottoTitoloApp3')}}
|
|
||||||
</h2>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div class="landing__arrow absolute-bottom text-center">
|
|
||||||
<i aria-hidden="true"
|
|
||||||
class="q-icon text-h2 text-white material-icons">expand_more</i>
|
|
||||||
</div>
|
|
||||||
</q-carousel-slide>
|
|
||||||
<q-carousel-slide name="third"
|
|
||||||
:img-src="getsrcbyimg('images/background3.jpg')">
|
|
||||||
<div class="landing__header"></div>
|
|
||||||
<div class="landing__hero2-content row justify-center q-gutter-xs clgutter">
|
|
||||||
<div class="row">
|
|
||||||
<logo></logo>
|
|
||||||
</div>
|
|
||||||
<div class="flex justify-end">
|
|
||||||
<div class="q-gutter-xs testo-banda clgutter">
|
|
||||||
<div class="text-h1 shadow-max">{{tools.getappname()}}</div>
|
|
||||||
<div class="text-subtitle1 shadow text-italic q-pl-sm">
|
|
||||||
{{$t('msg.sottoTitoloApp')}}
|
|
||||||
</div>
|
|
||||||
<div class="text-subtitle1 shadow-max big text-italic q-pl-sm"><strong>{{$t('msg.sottoTitoloApp2')}}</strong>
|
|
||||||
</div>
|
|
||||||
<div class="text-subtitle2 shadow text-italic q-pl-sm">
|
|
||||||
{{$t('msg.sottoTitoloApp3')}}
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div class="text-subtitle3 shadow text-italic q-pl-sm ">
|
|
||||||
{{$t('msg.sottoTitoloApp4')}}
|
|
||||||
</div>
|
|
||||||
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div class="landing__arrow absolute-bottom text-center">
|
|
||||||
<!--<i aria-hidden="true"-->
|
|
||||||
<!--class="q-icon text-h2 text-white material-icons">expand_more</i>-->
|
|
||||||
</div>
|
|
||||||
</q-carousel-slide>
|
|
||||||
</q-carousel>
|
|
||||||
|
|
||||||
</div>
|
|
||||||
</section>
|
|
||||||
|
|
||||||
<div class="q-pa-md q-gutter-md">
|
|
||||||
<div v-if="isLogged && !isVerified" class="text-verified">{{
|
|
||||||
$t('components.authentication.email_verification.link_sent') }}
|
|
||||||
</div>
|
|
||||||
|
|
||||||
</div>
|
|
||||||
|
|
||||||
|
|
||||||
<CCardCarousel :myarr="getArrDisciplines()">
|
|
||||||
|
|
||||||
</CCardCarousel>
|
|
||||||
|
|
||||||
<CEventsCalendar :mysingleevent="null" :showfirstN="getValDb('SHOW_LAST_EVENTS', false, 3)">
|
|
||||||
|
|
||||||
</CEventsCalendar>
|
|
||||||
|
|
||||||
|
|
||||||
<div v-if="getValDb('VIDEO_HOME', false)" class="row justify-evenly items-center q-gutter-md ">
|
|
||||||
|
|
||||||
<div class="text-center">
|
|
||||||
<h4 class="subtitle text-blue" v-html="getValDb('VIDEO_TITLE', false)"></h4>
|
|
||||||
<div class="">
|
|
||||||
<video :width="tools.getwidthscale(mythis, 320, 800)"
|
|
||||||
:height="tools.getheightbywidth(mythis, 320, 180, 800)" controls>
|
|
||||||
<source :src="getValDb('VIDEO_HOME', false)" type="video/mp4">
|
|
||||||
</video>
|
|
||||||
</div>
|
|
||||||
<!--<q-video src="../../statics/video/Intervista_Cristina_Barattoni.mp4">-->
|
|
||||||
|
|
||||||
<!--</q-video>-->
|
|
||||||
</div>
|
|
||||||
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div v-if="getValDb('YT_VIDEO', false)" class="row justify-evenly items-center q-gutter-md ">
|
|
||||||
|
|
||||||
<div class="text-center">
|
|
||||||
<h4 class="subtitle text-blue" v-html="getValDb('YT_TITLE', false)"></h4>
|
|
||||||
<div class="">
|
|
||||||
|
|
||||||
<div class="">
|
|
||||||
<iframe
|
|
||||||
:width="tools.getwidthscale(mythis, getValDb('YT_W', false), 800)"
|
|
||||||
:height="tools.getheightbywidth(mythis, getValDb('YT_W', false), getValDb('YT_H', false), 800)"
|
|
||||||
:src="getValDb('YT_VIDEO', false)"
|
|
||||||
frameborder="0"
|
|
||||||
allowfullscreen
|
|
||||||
></iframe>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<!--<q-video src="../../statics/video/Intervista_Cristina_Barattoni.mp4">-->
|
|
||||||
|
|
||||||
<!--</q-video>-->
|
|
||||||
</div>
|
|
||||||
|
|
||||||
</div>
|
|
||||||
|
|
||||||
|
|
||||||
<section class="maxwidth padding_gallery bg-white text-grey-10 text-center" >
|
|
||||||
|
|
||||||
<q-carousel
|
|
||||||
swipeable
|
|
||||||
animated
|
|
||||||
:autoplay="8000"
|
|
||||||
v-model="slide2"
|
|
||||||
arrows
|
|
||||||
thumbnails
|
|
||||||
infinite
|
|
||||||
height="600">
|
|
||||||
<q-carousel-slide v-for="(rec, index) in getImmagini" :key="index" :name="index"
|
|
||||||
:img-src="rec.img"
|
|
||||||
:alt="rec.alt"
|
|
||||||
class="carousel_slide">
|
|
||||||
<div class="absolute-bottom custom-caption" style="margin-bottom: 70px">
|
|
||||||
<div class="text-h5"><span
|
|
||||||
class="text-h6 text-grey-1 shadow-max">{{index + 1}}. </span><span
|
|
||||||
class="text-h6 text-grey-2 shadow">{{rec.title}}</span></div>
|
|
||||||
<div class="text-subtitle1"><span class="text-grey-4 shadow">{{rec.subtitle}}</span>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</q-carousel-slide>
|
|
||||||
</q-carousel>
|
|
||||||
</section>
|
|
||||||
<div v-if="!tools.isMobile()" style="margin: 60px 60px;"></div>
|
|
||||||
|
|
||||||
<COpenStreetMap :imgmap="getValDb('IMGMAP', false)" :urlmap="getValDb('URLMAP', false)" :title="getValDb('MAP_TITLE', false)"
|
|
||||||
:coordinates="getValDb('COORD_MAP_1', false)" :coord_big="getValDb('COORD_MAP_BIG', false)">
|
|
||||||
|
|
||||||
</COpenStreetMap>
|
|
||||||
|
|
||||||
|
|
||||||
<div class="q-ma-md"></div>
|
|
||||||
</div>
|
|
||||||
</CMyPage>
|
|
||||||
</q-page>
|
|
||||||
</template>
|
|
||||||
|
|
||||||
<script lang="ts" src="./home_arcadei.ts">
|
|
||||||
</script>
|
|
||||||
|
|
||||||
<style lang="scss" scoped>
|
|
||||||
@import './home_arcadei.scss';
|
|
||||||
</style>
|
|
||||||
@@ -1,452 +0,0 @@
|
|||||||
|
|
||||||
.testo-banda {
|
|
||||||
//background: -webkit-gradient(linear, left top, left bottom, from(#3144f0), to(transparent));
|
|
||||||
//background: linear-gradient(180deg, #3144f0, transparent);
|
|
||||||
//background: rgba(0, 0, 0, .6)
|
|
||||||
}
|
|
||||||
|
|
||||||
$grayshadow: #555;
|
|
||||||
|
|
||||||
$textcol: blue;
|
|
||||||
$textcol_scuro: darkblue;
|
|
||||||
|
|
||||||
p {
|
|
||||||
margin: 0 0 1.25rem;
|
|
||||||
//text-shadow: .125rem .125rem .25rem $grayshadow;
|
|
||||||
}
|
|
||||||
|
|
||||||
h4 {
|
|
||||||
font-size: 1.25rem;
|
|
||||||
}
|
|
||||||
|
|
||||||
.mycard {
|
|
||||||
visibility: hidden;
|
|
||||||
}
|
|
||||||
|
|
||||||
.landing {
|
|
||||||
}
|
|
||||||
|
|
||||||
.landing_background {
|
|
||||||
background: #000 url(../../../public/images/foto1.jpg) no-repeat 50% fixed;
|
|
||||||
background-size: cover
|
|
||||||
}
|
|
||||||
|
|
||||||
.landing > section {
|
|
||||||
display: -webkit-box;
|
|
||||||
display: -ms-flexbox;
|
|
||||||
display: flex;
|
|
||||||
-webkit-box-pack: center;
|
|
||||||
-ms-flex-pack: center;
|
|
||||||
justify-content: center;
|
|
||||||
//padding: 0 16px
|
|
||||||
}
|
|
||||||
|
|
||||||
.intro {
|
|
||||||
display: flex;
|
|
||||||
justify-content: space-between;
|
|
||||||
align-items: stretch;
|
|
||||||
/* flex-flow: row nowrap; */
|
|
||||||
|
|
||||||
padding: 1.25rem 0 1.25rem 0;
|
|
||||||
margin: .125rem;
|
|
||||||
|
|
||||||
* {
|
|
||||||
width: 100%;
|
|
||||||
flex: 1;
|
|
||||||
margin-left: auto;
|
|
||||||
margin-right: auto;
|
|
||||||
}
|
|
||||||
|
|
||||||
&__associazione {
|
|
||||||
min-width: 350px;
|
|
||||||
}
|
|
||||||
|
|
||||||
&__comeassociarsi {
|
|
||||||
min-width: 350px;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
.subtitle {
|
|
||||||
font-weight: 600;
|
|
||||||
text-align: center;
|
|
||||||
letter-spacing: 0.125rem;
|
|
||||||
text-transform: uppercase;
|
|
||||||
font-size: 1rem;
|
|
||||||
}
|
|
||||||
|
|
||||||
.landing > section.padding {
|
|
||||||
padding: 5.62rem 1rem;
|
|
||||||
}
|
|
||||||
|
|
||||||
.landing > section.padding_testo {
|
|
||||||
padding-top: 1.25rem;
|
|
||||||
padding-bottom: 1rem;
|
|
||||||
}
|
|
||||||
|
|
||||||
.landing > section.padding_gallery {
|
|
||||||
padding-top: 3.125rem;
|
|
||||||
padding-bottom: 5.625rem;
|
|
||||||
}
|
|
||||||
|
|
||||||
.landing > section > div {
|
|
||||||
position: relative;
|
|
||||||
width: 100%
|
|
||||||
}
|
|
||||||
|
|
||||||
.maxwidth1200 {
|
|
||||||
max-width: 1200px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.landing__toolbar {
|
|
||||||
background: -webkit-gradient(linear, left top, left bottom, from(#000), to(transparent));
|
|
||||||
background: linear-gradient(180deg, #000, transparent);
|
|
||||||
padding: 0 !important
|
|
||||||
}
|
|
||||||
|
|
||||||
.landing__toolbar .q-btn {
|
|
||||||
border-radius: 0 0 .315rem .315rem;
|
|
||||||
-ms-flex-item-align: stretch;
|
|
||||||
align-self: stretch
|
|
||||||
}
|
|
||||||
|
|
||||||
.landing__hero {
|
|
||||||
min-height: 50vh
|
|
||||||
}
|
|
||||||
|
|
||||||
.landing__header {
|
|
||||||
height: 18vh
|
|
||||||
}
|
|
||||||
|
|
||||||
.landing__arrow {
|
|
||||||
bottom: 1.5rem;
|
|
||||||
opacity: .4
|
|
||||||
}
|
|
||||||
|
|
||||||
.landing__front {
|
|
||||||
background: -webkit-gradient(linear, left top, left bottom, from(transparent), color-stop(15%, rgba(0, 0, 0, .6)));
|
|
||||||
background: linear-gradient(180deg, transparent, rgba(0, 0, 0, .6) 15%)
|
|
||||||
}
|
|
||||||
|
|
||||||
.landing__logo {
|
|
||||||
width: 9.40rem;
|
|
||||||
height: 9.40rem;
|
|
||||||
margin-top: 1.315rem;
|
|
||||||
//-webkit-animation: logo-rotate 240s linear infinite;
|
|
||||||
//animation: logo-rotate 240s linear infinite
|
|
||||||
}
|
|
||||||
|
|
||||||
.landing__features .q-icon {
|
|
||||||
font-size: 4rem
|
|
||||||
}
|
|
||||||
|
|
||||||
h4 {
|
|
||||||
line-height: 1.5;
|
|
||||||
text-shadow: .25rem .25rem .5rem $grayshadow;
|
|
||||||
}
|
|
||||||
|
|
||||||
.landing__features h4, .landing__features h6 {
|
|
||||||
margin: 1rem 0
|
|
||||||
}
|
|
||||||
|
|
||||||
.landing__features p {
|
|
||||||
opacity: .7;
|
|
||||||
font-size: 1rem;
|
|
||||||
line-height: 1.5;
|
|
||||||
}
|
|
||||||
|
|
||||||
.landing__footer {
|
|
||||||
//background: -webkit-gradient(linear, left top, left bottom, color-stop(65%, rgba(0, 0, 0, .1)), to(#000));
|
|
||||||
background: linear-gradient(180deg, rgba(0, 0, 0, .8) 95%, #FFF);
|
|
||||||
padding-top: 4.5rem !important;
|
|
||||||
padding-bottom: 4.5rem !important;
|
|
||||||
padding-left: 1.25rem;
|
|
||||||
padding-right: 1.25rem;
|
|
||||||
color: #9f9f9f;
|
|
||||||
}
|
|
||||||
|
|
||||||
.icon_contact:hover {
|
|
||||||
color: blue;
|
|
||||||
border-color: white;
|
|
||||||
border-width: .0625rem;
|
|
||||||
}
|
|
||||||
|
|
||||||
.landing__footer .doc-link {
|
|
||||||
color: $textcol;
|
|
||||||
}
|
|
||||||
|
|
||||||
.landing__footer .doc-link:hover {
|
|
||||||
opacity: .8
|
|
||||||
}
|
|
||||||
|
|
||||||
.landing__swirl-bg {
|
|
||||||
background-repeat: no-repeat !important;
|
|
||||||
background-position: top;
|
|
||||||
background-size: contain !important;
|
|
||||||
background-image: url(../../../public/images/landing_first_section.png) !important
|
|
||||||
}
|
|
||||||
|
|
||||||
.feat-descr {
|
|
||||||
font-size: 1.15rem;
|
|
||||||
}
|
|
||||||
|
|
||||||
.feat-descr:hover {
|
|
||||||
transition: opacity 0.5s ease-in-out;
|
|
||||||
opacity: 0.9;
|
|
||||||
}
|
|
||||||
|
|
||||||
.q-col-gutter-sm {
|
|
||||||
padding: 3.125rem 3.125rem;
|
|
||||||
//margin-left: -48px
|
|
||||||
}
|
|
||||||
|
|
||||||
body.mobile .landing {
|
|
||||||
//background: unset
|
|
||||||
}
|
|
||||||
|
|
||||||
body.mobile .landing:before {
|
|
||||||
content: "";
|
|
||||||
position: fixed;
|
|
||||||
top: 0;
|
|
||||||
height: 100vh;
|
|
||||||
left: 0;
|
|
||||||
right: 0;
|
|
||||||
bottom: 0;
|
|
||||||
z-index: -1;
|
|
||||||
//background: #000 url(../../public/images/cover.jpg) 50%;
|
|
||||||
|
|
||||||
background-size: cover
|
|
||||||
}
|
|
||||||
|
|
||||||
/*
|
|
||||||
@-webkit-keyframes logo-rotate {
|
|
||||||
to {
|
|
||||||
-webkit-transform: rotate(-1turn);
|
|
||||||
transform: rotate(-1turn)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
@keyframes logo-rotate {
|
|
||||||
to {
|
|
||||||
-webkit-transform: rotate(-1turn);
|
|
||||||
transform: rotate(-1turn)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
*/
|
|
||||||
|
|
||||||
.home {
|
|
||||||
//background-color: rgb(250, 250, 250);
|
|
||||||
padding: 3.125rem;
|
|
||||||
display: flex;
|
|
||||||
//flex-wrap: nowrap;
|
|
||||||
flex-direction: column;
|
|
||||||
align-items: center;
|
|
||||||
justify-content: space-between;
|
|
||||||
}
|
|
||||||
|
|
||||||
.btn-start {
|
|
||||||
margin: 3.125rem;
|
|
||||||
}
|
|
||||||
|
|
||||||
.shadow {
|
|
||||||
//color: white;
|
|
||||||
text-shadow: 0.125rem 0.125rem 0.25rem $grayshadow;
|
|
||||||
}
|
|
||||||
|
|
||||||
.text-h1, h1 {
|
|
||||||
font-size: 3rem;
|
|
||||||
font-weight: bold;
|
|
||||||
line-height: 3rem;
|
|
||||||
letter-spacing: -.01562em;
|
|
||||||
margin-bottom: 8px !important;
|
|
||||||
}
|
|
||||||
|
|
||||||
.text-h2 {
|
|
||||||
font-size: 3.75rem;
|
|
||||||
font-weight: 300;
|
|
||||||
line-height: 3.75rem;
|
|
||||||
letter-spacing: -.00833em;
|
|
||||||
}
|
|
||||||
|
|
||||||
.text-weight-bold {
|
|
||||||
font-weight: 700;
|
|
||||||
}
|
|
||||||
|
|
||||||
.text-vers {
|
|
||||||
font-size: 0.75rem;
|
|
||||||
font-weight: 400;
|
|
||||||
line-height: 1.75rem;
|
|
||||||
letter-spacing: .00937em;
|
|
||||||
text-shadow: .25rem .25rem .5rem $grayshadow;
|
|
||||||
}
|
|
||||||
|
|
||||||
.homep-cover-img-1 {
|
|
||||||
background: #000 url(../../../public/images/foto1.jpg) no-repeat 50% fixed;
|
|
||||||
//transition: background-image 1s ease-in-out;
|
|
||||||
}
|
|
||||||
|
|
||||||
.homep-cover-img-2 {
|
|
||||||
background: #000 url(../../../public/images/foto2.jpg) no-repeat 50% fixed;
|
|
||||||
//transition: background-image 1s ease-in-out;
|
|
||||||
}
|
|
||||||
|
|
||||||
.homep-cover-img-3 {
|
|
||||||
background: #000 url(../../../public/images/foto3.jpg) no-repeat 50% fixed;
|
|
||||||
//transition: background-image 1s ease-in-out;
|
|
||||||
}
|
|
||||||
|
|
||||||
.homep-cover-img.hide-filter:before {
|
|
||||||
opacity: 0
|
|
||||||
}
|
|
||||||
|
|
||||||
.landing__footer-icons {
|
|
||||||
font-size: 1.75rem
|
|
||||||
}
|
|
||||||
|
|
||||||
.landing__footer-icons a {
|
|
||||||
margin: 0 .5rem .5rem;
|
|
||||||
text-decoration: none;
|
|
||||||
outline: 0;
|
|
||||||
color: $textcol;
|
|
||||||
transition: color .28s
|
|
||||||
}
|
|
||||||
|
|
||||||
.landing__footer-icons a:hover {
|
|
||||||
color: $textcol_scuro;
|
|
||||||
}
|
|
||||||
|
|
||||||
.doc-img {
|
|
||||||
max-width: 100%;
|
|
||||||
}
|
|
||||||
|
|
||||||
.mylist {
|
|
||||||
background: #3fdaff;
|
|
||||||
padding-left: 1.25rem;
|
|
||||||
}
|
|
||||||
|
|
||||||
.clgutter {
|
|
||||||
margin-top: 1.25rem;
|
|
||||||
padding: .62rem;
|
|
||||||
}
|
|
||||||
|
|
||||||
.carousel_img_3 {
|
|
||||||
//background-image: url(../../public/images/cibo_sano.jpg);
|
|
||||||
background-size: cover !important;
|
|
||||||
background-position: 50% center !important;
|
|
||||||
background-repeat: no-repeat !important;
|
|
||||||
}
|
|
||||||
|
|
||||||
@media (max-width: 718px) {
|
|
||||||
// PER VERSIONE MOBILE
|
|
||||||
|
|
||||||
.landing__hero {
|
|
||||||
text-align: center
|
|
||||||
}
|
|
||||||
.landing__header {
|
|
||||||
height: 7vh
|
|
||||||
}
|
|
||||||
.clgutter {
|
|
||||||
margin-top: 0;
|
|
||||||
padding: 0;
|
|
||||||
}
|
|
||||||
.landing__hero .text-h1, h1 {
|
|
||||||
font-size: 2rem;
|
|
||||||
line-height: 2.05rem;
|
|
||||||
margin-bottom: 1.25rem
|
|
||||||
}
|
|
||||||
|
|
||||||
.landing > section.padding {
|
|
||||||
padding: 2.5rem 1rem;
|
|
||||||
}
|
|
||||||
|
|
||||||
.landing > section.padding_testo {
|
|
||||||
padding-top: 1.25rem;
|
|
||||||
padding-bottom: 1rem;
|
|
||||||
}
|
|
||||||
|
|
||||||
.landing > section.padding_gallery {
|
|
||||||
padding-top: 3.125rem;
|
|
||||||
padding-bottom: 5.625rem;
|
|
||||||
|
|
||||||
max-width: 800px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.landing > section.padding_gallery > div {
|
|
||||||
padding-top: 3.125rem;
|
|
||||||
padding-bottom: 5.625rem;
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
.landing__features h4, .landing__features h6 {
|
|
||||||
margin: 1.25rem 0
|
|
||||||
}
|
|
||||||
|
|
||||||
h4 {
|
|
||||||
line-height: 1.4;
|
|
||||||
text-shadow: 0.25rem 0.25rem 0.5rem $grayshadow;
|
|
||||||
}
|
|
||||||
|
|
||||||
.landing .feature-item {
|
|
||||||
text-align: center;
|
|
||||||
margin-top: 1.25rem;
|
|
||||||
}
|
|
||||||
.landing__hero-content {
|
|
||||||
padding-bottom: 11.25rem;
|
|
||||||
}
|
|
||||||
.landing__hero2-content {
|
|
||||||
padding-bottom: 7.25rem;
|
|
||||||
}
|
|
||||||
.landing__hero-btns {
|
|
||||||
-webkit-box-pack: center;
|
|
||||||
-ms-flex-pack: center;
|
|
||||||
justify-content: center
|
|
||||||
}
|
|
||||||
|
|
||||||
.q-col-gutter-sm {
|
|
||||||
padding: .625rem .315rem;
|
|
||||||
}
|
|
||||||
|
|
||||||
.text-subtitle1 {
|
|
||||||
font-size: 1.25rem;
|
|
||||||
}
|
|
||||||
.text-vers {
|
|
||||||
font-size: 0.6rem;
|
|
||||||
}
|
|
||||||
|
|
||||||
.carousel_img_3 {
|
|
||||||
//background-image: url(../../public/images/cibo_sano.jpg);
|
|
||||||
background-size: 620px 620px !important;
|
|
||||||
background-position: 50% top !important;
|
|
||||||
background-repeat: no-repeat !important;
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
.custom-caption {
|
|
||||||
text-align: center;
|
|
||||||
padding: .75rem;
|
|
||||||
color: $textcol;
|
|
||||||
background-color: rgba(0, 0, 0, .3);
|
|
||||||
}
|
|
||||||
|
|
||||||
.sfondo-grigio {
|
|
||||||
padding: 1rem;
|
|
||||||
color: $textcol;
|
|
||||||
background-color: rgba(0, 0, 0, .35);
|
|
||||||
}
|
|
||||||
|
|
||||||
.mycontacts {
|
|
||||||
color: gray;
|
|
||||||
letter-spacing: 0.078rem;
|
|
||||||
}
|
|
||||||
|
|
||||||
.mycontacts_title {
|
|
||||||
text-shadow: 0.125rem 0.125rem 0.125rem #555;
|
|
||||||
font-weight: bold;
|
|
||||||
color: #999;
|
|
||||||
letter-spacing: 0.125rem;
|
|
||||||
}
|
|
||||||
|
|
||||||
.mycontacts_text {
|
|
||||||
color: #999;
|
|
||||||
letter-spacing: 0.093rem;
|
|
||||||
}
|
|
||||||
@@ -1,78 +0,0 @@
|
|||||||
import { defineComponent, ref, onMounted, watch, computed } from 'vue'
|
|
||||||
|
|
||||||
import { useGlobalStore } from '@store/globalStore'
|
|
||||||
import { useRoute } from 'vue-router'
|
|
||||||
import { useUserStore } from '@store/UserStore'
|
|
||||||
|
|
||||||
import { Logo } from '../../components/logo'
|
|
||||||
|
|
||||||
import { LandingFooter } from '../../components/LandingFooter'
|
|
||||||
import { CMyPage } from '../../components/CMyPage/index'
|
|
||||||
|
|
||||||
import { tools } from '@src/store/Modules/tools'
|
|
||||||
import { static_data } from '@src/db/static_data'
|
|
||||||
import { toolsext } from '@src/store/Modules/toolsext'
|
|
||||||
import { Screen } from 'quasar'
|
|
||||||
import { CCardCarousel, CEventsCalendar, COpenStreetMap } from '@components'
|
|
||||||
import MixinBase from '@src/mixins/mixin-base'
|
|
||||||
import { firstimagehome } from '@src/db/static_data'
|
|
||||||
import MixinMetaTags from '@/mixins/mixin-metatags'
|
|
||||||
|
|
||||||
export default defineComponent({
|
|
||||||
name: 'Home_tdv',
|
|
||||||
components: { Logo, LandingFooter, CMyPage, CCardCarousel, CEventsCalendar, COpenStreetMap },
|
|
||||||
|
|
||||||
setup() {
|
|
||||||
const animare = ref(0)
|
|
||||||
const slide = ref('first')
|
|
||||||
const slide2 = ref(1)
|
|
||||||
|
|
||||||
const getImmagini = ref([
|
|
||||||
{
|
|
||||||
title: '', subtitle: '',
|
|
||||||
alt: 'Elisa e Cristina insieme',
|
|
||||||
img: '../../statics/images/eventi_esterni/IMG_6035.jpg'
|
|
||||||
},
|
|
||||||
])
|
|
||||||
|
|
||||||
const userStore = useUserStore()
|
|
||||||
const globalStore = useGlobalStore()
|
|
||||||
|
|
||||||
const { setValDb, getValDb } = MixinBase()
|
|
||||||
const { setmeta, getsrcbyimg } = MixinMetaTags()
|
|
||||||
|
|
||||||
function getheightgallery() {
|
|
||||||
if (tools.isMobile())
|
|
||||||
return '400px'
|
|
||||||
else
|
|
||||||
return '600px'
|
|
||||||
}
|
|
||||||
|
|
||||||
function created() {
|
|
||||||
//
|
|
||||||
}
|
|
||||||
|
|
||||||
function getArrDisciplines() {
|
|
||||||
return globalStore.disciplines.filter((rec: any) => rec.showinhome)
|
|
||||||
}
|
|
||||||
|
|
||||||
created()
|
|
||||||
|
|
||||||
return {
|
|
||||||
tools,
|
|
||||||
toolsext,
|
|
||||||
static_data,
|
|
||||||
animare,
|
|
||||||
slide,
|
|
||||||
slide2,
|
|
||||||
getheightgallery,
|
|
||||||
getArrDisciplines,
|
|
||||||
getImmagini,
|
|
||||||
getValDb,
|
|
||||||
firstimagehome,
|
|
||||||
getsrcbyimg,
|
|
||||||
setmeta,
|
|
||||||
}
|
|
||||||
},
|
|
||||||
})
|
|
||||||
|
|
||||||
@@ -1,220 +0,0 @@
|
|||||||
<template>
|
|
||||||
<q-page>
|
|
||||||
<CMyPage title="Home">
|
|
||||||
<div class="landing">
|
|
||||||
<section>
|
|
||||||
<div class="landing__hero maxwidth1200 text-white">
|
|
||||||
<q-carousel
|
|
||||||
animated
|
|
||||||
:autoplay="animare"
|
|
||||||
swipeable
|
|
||||||
infinite
|
|
||||||
navigation
|
|
||||||
transition-next="slide-left"
|
|
||||||
transition-prev="slide-right"
|
|
||||||
v-model="slide"
|
|
||||||
:height="getheightgallery()"
|
|
||||||
width="100%"
|
|
||||||
>
|
|
||||||
<q-carousel-slide name="first"
|
|
||||||
:img-src="getsrcbyimg(firstimagehome())">
|
|
||||||
<div class="landing__header"></div>
|
|
||||||
<div class="landing__hero-content row justify-center q-gutter-xs clgutter">
|
|
||||||
<div class="row">
|
|
||||||
|
|
||||||
</div>
|
|
||||||
<div class="flex justify-end">
|
|
||||||
<div class="q-gutter-xs testo-banda clgutter">
|
|
||||||
<h1 class="text-h1 shadow-max">{{tools.getappname()}}</h1>
|
|
||||||
<div class="text-subtitle1 shadow text-italic q-pl-sm">
|
|
||||||
|
|
||||||
</div>
|
|
||||||
<div class="text-subtitle1 shadow-max big text-italic q-pl-sm">
|
|
||||||
|
|
||||||
</div>
|
|
||||||
<div class="text-subtitle2 shadow text-italic q-pl-sm">
|
|
||||||
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div>
|
|
||||||
<br>
|
|
||||||
<br>
|
|
||||||
<div v-if="!tools.isLogged()" style="margin: 5px; padding: 5px;" class="home">
|
|
||||||
<br>
|
|
||||||
<br>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div class="landing__arrow absolute-bottom text-center">
|
|
||||||
<i aria-hidden="true"
|
|
||||||
class="q-icon text-h2 text-white material-icons">expand_more</i>
|
|
||||||
</div>
|
|
||||||
</q-carousel-slide>
|
|
||||||
<q-carousel-slide name="second"
|
|
||||||
:img-src="getsrcbyimg('images/background2.jpg')" alt="">
|
|
||||||
<div class="landing__header"></div>
|
|
||||||
<div class="landing__hero2-content row justify-center q-gutter-xs clgutter">
|
|
||||||
<div class="row">
|
|
||||||
<logo></logo>
|
|
||||||
</div>
|
|
||||||
<div class="flex justify-end">
|
|
||||||
<div class="q-gutter-xs testo-banda clgutter">
|
|
||||||
<h1 class="text-h1 shadow-max">{{tools.getappname()}}</h1>
|
|
||||||
<h2 class="text-subtitle1 shadow text-italic q-pl-sm">
|
|
||||||
{{$t('msg.sottoTitoloApp')}}
|
|
||||||
</h2>
|
|
||||||
<h2 class="text-subtitle1 shadow-max big text-italic q-pl-sm">
|
|
||||||
<strong>{{$t('msg.sottoTitoloApp2')}}</strong>
|
|
||||||
</h2>
|
|
||||||
<h2 class="text-subtitle2 shadow text-italic q-pl-sm">
|
|
||||||
{{$t('msg.sottoTitoloApp3')}}
|
|
||||||
</h2>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div class="landing__arrow absolute-bottom text-center">
|
|
||||||
<i aria-hidden="true"
|
|
||||||
class="q-icon text-h2 text-white material-icons">expand_more</i>
|
|
||||||
</div>
|
|
||||||
</q-carousel-slide>
|
|
||||||
<q-carousel-slide name="third"
|
|
||||||
:img-src="getsrcbyimg('images/background3.jpg')">
|
|
||||||
<div class="landing__header"></div>
|
|
||||||
<div class="landing__hero2-content row justify-center q-gutter-xs clgutter">
|
|
||||||
<div class="row">
|
|
||||||
<logo></logo>
|
|
||||||
</div>
|
|
||||||
<div class="flex justify-end">
|
|
||||||
<div class="q-gutter-xs testo-banda clgutter">
|
|
||||||
<div class="text-h1 shadow-max">{{tools.getappname()}}</div>
|
|
||||||
<div class="text-subtitle1 shadow text-italic q-pl-sm">
|
|
||||||
{{$t('msg.sottoTitoloApp')}}
|
|
||||||
</div>
|
|
||||||
<div class="text-subtitle1 shadow-max big text-italic q-pl-sm"><strong>{{$t('msg.sottoTitoloApp2')}}</strong>
|
|
||||||
</div>
|
|
||||||
<div class="text-subtitle2 shadow text-italic q-pl-sm">
|
|
||||||
{{$t('msg.sottoTitoloApp3')}}
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div class="text-subtitle3 shadow text-italic q-pl-sm ">
|
|
||||||
{{$t('msg.sottoTitoloApp4')}}
|
|
||||||
</div>
|
|
||||||
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div class="landing__arrow absolute-bottom text-center">
|
|
||||||
<!--<i aria-hidden="true"-->
|
|
||||||
<!--class="q-icon text-h2 text-white material-icons">expand_more</i>-->
|
|
||||||
</div>
|
|
||||||
</q-carousel-slide>
|
|
||||||
</q-carousel>
|
|
||||||
|
|
||||||
</div>
|
|
||||||
</section>
|
|
||||||
|
|
||||||
<div class="q-pa-md q-gutter-md">
|
|
||||||
<div v-if="isLogged && !isVerified" class="text-verified">{{
|
|
||||||
$t('components.authentication.email_verification.link_sent') }}
|
|
||||||
</div>
|
|
||||||
|
|
||||||
</div>
|
|
||||||
|
|
||||||
|
|
||||||
<CCardCarousel :myarr="getArrDisciplines()">
|
|
||||||
|
|
||||||
</CCardCarousel>
|
|
||||||
|
|
||||||
<CEventsCalendar :mysingleevent="null" :showfirstN="getValDb('SHOW_LAST_EVENTS', false, 3)">
|
|
||||||
|
|
||||||
</CEventsCalendar>
|
|
||||||
|
|
||||||
|
|
||||||
<div v-if="getValDb('VIDEO_HOME', false)" class="row justify-evenly items-center q-gutter-md ">
|
|
||||||
|
|
||||||
<div class="text-center">
|
|
||||||
<h4 class="subtitle text-blue" v-html="getValDb('VIDEO_TITLE', false)"></h4>
|
|
||||||
<div class="">
|
|
||||||
<video :width="tools.getwidthscale(mythis, 320, 800)"
|
|
||||||
:height="tools.getheightbywidth(mythis, 320, 180, 800)" controls>
|
|
||||||
<source :src="getValDb('VIDEO_HOME', false)" type="video/mp4">
|
|
||||||
</video>
|
|
||||||
</div>
|
|
||||||
<!--<q-video src="../../statics/video/Intervista_Cristina_Barattoni.mp4">-->
|
|
||||||
|
|
||||||
<!--</q-video>-->
|
|
||||||
</div>
|
|
||||||
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div v-if="getValDb('YT_VIDEO', false)" class="row justify-evenly items-center q-gutter-md ">
|
|
||||||
|
|
||||||
<div class="text-center">
|
|
||||||
<h4 class="subtitle text-blue" v-html="getValDb('YT_TITLE', false)"></h4>
|
|
||||||
<div class="">
|
|
||||||
|
|
||||||
<div class="">
|
|
||||||
<iframe
|
|
||||||
:width="tools.getwidthscale(mythis, getValDb('YT_W', false), 800)"
|
|
||||||
:height="tools.getheightbywidth(mythis, getValDb('YT_W', false), getValDb('YT_H', false), 800)"
|
|
||||||
:src="getValDb('YT_VIDEO', false)"
|
|
||||||
frameborder="0"
|
|
||||||
allowfullscreen
|
|
||||||
></iframe>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<!--<q-video src="../../statics/video/Intervista_Cristina_Barattoni.mp4">-->
|
|
||||||
|
|
||||||
<!--</q-video>-->
|
|
||||||
</div>
|
|
||||||
|
|
||||||
</div>
|
|
||||||
|
|
||||||
|
|
||||||
<section class="maxwidth padding_gallery bg-white text-grey-10 text-center" >
|
|
||||||
|
|
||||||
<q-carousel
|
|
||||||
swipeable
|
|
||||||
animated
|
|
||||||
:autoplay="8000"
|
|
||||||
v-model="slide2"
|
|
||||||
arrows
|
|
||||||
thumbnails
|
|
||||||
infinite
|
|
||||||
:height="tools.heightgallery()">
|
|
||||||
<q-carousel-slide v-for="(rec, index) in getImmagini" :key="index" :name="index"
|
|
||||||
:img-src="rec.img"
|
|
||||||
:alt="rec.alt"
|
|
||||||
class="carousel_slide">
|
|
||||||
<div class="absolute-bottom custom-caption" style="margin-bottom: 70px">
|
|
||||||
<div class="text-h5"><span
|
|
||||||
class="text-h6 text-grey-1 shadow-max">{{index + 1}}. </span><span
|
|
||||||
class="text-h6 text-grey-2 shadow">{{rec.title}}</span></div>
|
|
||||||
<div class="text-subtitle1"><span class="text-grey-4 shadow">{{rec.subtitle}}</span>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</q-carousel-slide>
|
|
||||||
</q-carousel>
|
|
||||||
</section>
|
|
||||||
<div v-if="!tools.isMobile()" style="margin: 60px 60px;"></div>
|
|
||||||
|
|
||||||
<COpenStreetMap :imgmap="getValDb('IMGMAP', false)" :urlmap="getValDb('URLMAP', false)" :title="getValDb('MAP_TITLE', false)"
|
|
||||||
:coordinates="getValDb('COORD_MAP_1', false)" :coord_big="getValDb('COORD_MAP_BIG', false)">
|
|
||||||
|
|
||||||
</COpenStreetMap>
|
|
||||||
|
|
||||||
<div class="q-ma-md"></div>
|
|
||||||
</div>
|
|
||||||
</CMyPage>
|
|
||||||
</q-page>
|
|
||||||
</template>
|
|
||||||
|
|
||||||
<script lang="ts" src="./home_tdv.ts">
|
|
||||||
</script>
|
|
||||||
|
|
||||||
<style lang="scss" scoped>
|
|
||||||
@import './home_tdv.scss';
|
|
||||||
</style>
|
|
||||||
@@ -1,452 +0,0 @@
|
|||||||
|
|
||||||
.testo-banda {
|
|
||||||
//background: -webkit-gradient(linear, left top, left bottom, from(#3144f0), to(transparent));
|
|
||||||
//background: linear-gradient(180deg, #3144f0, transparent);
|
|
||||||
//background: rgba(0, 0, 0, .6)
|
|
||||||
}
|
|
||||||
|
|
||||||
$grayshadow: #555;
|
|
||||||
|
|
||||||
$textcol: blue;
|
|
||||||
$textcol_scuro: darkblue;
|
|
||||||
|
|
||||||
p {
|
|
||||||
margin: 0 0 1.25rem;
|
|
||||||
//text-shadow: .125rem .125rem .25rem $grayshadow;
|
|
||||||
}
|
|
||||||
|
|
||||||
h4 {
|
|
||||||
font-size: 1.25rem;
|
|
||||||
}
|
|
||||||
|
|
||||||
.mycard {
|
|
||||||
visibility: hidden;
|
|
||||||
}
|
|
||||||
|
|
||||||
.landing {
|
|
||||||
}
|
|
||||||
|
|
||||||
.landing_background {
|
|
||||||
background: #000 url(../../../public/images/foto1.jpg) no-repeat 50% fixed;
|
|
||||||
background-size: cover
|
|
||||||
}
|
|
||||||
|
|
||||||
.landing > section {
|
|
||||||
display: -webkit-box;
|
|
||||||
display: -ms-flexbox;
|
|
||||||
display: flex;
|
|
||||||
-webkit-box-pack: center;
|
|
||||||
-ms-flex-pack: center;
|
|
||||||
justify-content: center;
|
|
||||||
//padding: 0 16px
|
|
||||||
}
|
|
||||||
|
|
||||||
.intro {
|
|
||||||
display: flex;
|
|
||||||
justify-content: space-between;
|
|
||||||
align-items: stretch;
|
|
||||||
/* flex-flow: row nowrap; */
|
|
||||||
|
|
||||||
padding: 1.25rem 0 1.25rem 0;
|
|
||||||
margin: .125rem;
|
|
||||||
|
|
||||||
* {
|
|
||||||
width: 100%;
|
|
||||||
flex: 1;
|
|
||||||
margin-left: auto;
|
|
||||||
margin-right: auto;
|
|
||||||
}
|
|
||||||
|
|
||||||
&__associazione {
|
|
||||||
min-width: 350px;
|
|
||||||
}
|
|
||||||
|
|
||||||
&__comeassociarsi {
|
|
||||||
min-width: 350px;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
.subtitle {
|
|
||||||
font-weight: 600;
|
|
||||||
text-align: center;
|
|
||||||
letter-spacing: 0.125rem;
|
|
||||||
text-transform: uppercase;
|
|
||||||
font-size: 1rem;
|
|
||||||
}
|
|
||||||
|
|
||||||
.landing > section.padding {
|
|
||||||
padding: 5.62rem 1rem;
|
|
||||||
}
|
|
||||||
|
|
||||||
.landing > section.padding_testo {
|
|
||||||
padding-top: 1.25rem;
|
|
||||||
padding-bottom: 1rem;
|
|
||||||
}
|
|
||||||
|
|
||||||
.landing > section.padding_gallery {
|
|
||||||
padding-top: 3.125rem;
|
|
||||||
padding-bottom: 5.625rem;
|
|
||||||
}
|
|
||||||
|
|
||||||
.landing > section > div {
|
|
||||||
position: relative;
|
|
||||||
width: 100%
|
|
||||||
}
|
|
||||||
|
|
||||||
.maxwidth1200 {
|
|
||||||
max-width: 1200px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.landing__toolbar {
|
|
||||||
background: -webkit-gradient(linear, left top, left bottom, from(#000), to(transparent));
|
|
||||||
background: linear-gradient(180deg, #000, transparent);
|
|
||||||
padding: 0 !important
|
|
||||||
}
|
|
||||||
|
|
||||||
.landing__toolbar .q-btn {
|
|
||||||
border-radius: 0 0 .315rem .315rem;
|
|
||||||
-ms-flex-item-align: stretch;
|
|
||||||
align-self: stretch
|
|
||||||
}
|
|
||||||
|
|
||||||
.landing__hero {
|
|
||||||
min-height: 50vh
|
|
||||||
}
|
|
||||||
|
|
||||||
.landing__header {
|
|
||||||
height: 18vh
|
|
||||||
}
|
|
||||||
|
|
||||||
.landing__arrow {
|
|
||||||
bottom: 1.5rem;
|
|
||||||
opacity: .4
|
|
||||||
}
|
|
||||||
|
|
||||||
.landing__front {
|
|
||||||
background: -webkit-gradient(linear, left top, left bottom, from(transparent), color-stop(15%, rgba(0, 0, 0, .6)));
|
|
||||||
background: linear-gradient(180deg, transparent, rgba(0, 0, 0, .6) 15%)
|
|
||||||
}
|
|
||||||
|
|
||||||
.landing__logo {
|
|
||||||
width: 9.40rem;
|
|
||||||
height: 9.40rem;
|
|
||||||
margin-top: 1.315rem;
|
|
||||||
//-webkit-animation: logo-rotate 240s linear infinite;
|
|
||||||
//animation: logo-rotate 240s linear infinite
|
|
||||||
}
|
|
||||||
|
|
||||||
.landing__features .q-icon {
|
|
||||||
font-size: 4rem
|
|
||||||
}
|
|
||||||
|
|
||||||
h4 {
|
|
||||||
line-height: 1.5;
|
|
||||||
text-shadow: .25rem .25rem .5rem $grayshadow;
|
|
||||||
}
|
|
||||||
|
|
||||||
.landing__features h4, .landing__features h6 {
|
|
||||||
margin: 1rem 0
|
|
||||||
}
|
|
||||||
|
|
||||||
.landing__features p {
|
|
||||||
opacity: .7;
|
|
||||||
font-size: 1rem;
|
|
||||||
line-height: 1.5;
|
|
||||||
}
|
|
||||||
|
|
||||||
.landing__footer {
|
|
||||||
//background: -webkit-gradient(linear, left top, left bottom, color-stop(65%, rgba(0, 0, 0, .1)), to(#000));
|
|
||||||
background: linear-gradient(180deg, rgba(0, 0, 0, .8) 95%, #FFF);
|
|
||||||
padding-top: 4.5rem !important;
|
|
||||||
padding-bottom: 4.5rem !important;
|
|
||||||
padding-left: 1.25rem;
|
|
||||||
padding-right: 1.25rem;
|
|
||||||
color: #9f9f9f;
|
|
||||||
}
|
|
||||||
|
|
||||||
.icon_contact:hover {
|
|
||||||
color: blue;
|
|
||||||
border-color: white;
|
|
||||||
border-width: .0625rem;
|
|
||||||
}
|
|
||||||
|
|
||||||
.landing__footer .doc-link {
|
|
||||||
color: $textcol;
|
|
||||||
}
|
|
||||||
|
|
||||||
.landing__footer .doc-link:hover {
|
|
||||||
opacity: .8
|
|
||||||
}
|
|
||||||
|
|
||||||
.landing__swirl-bg {
|
|
||||||
background-repeat: no-repeat !important;
|
|
||||||
background-position: top;
|
|
||||||
background-size: contain !important;
|
|
||||||
background-image: url(../../../public/images/landing_first_section.png) !important
|
|
||||||
}
|
|
||||||
|
|
||||||
.feat-descr {
|
|
||||||
font-size: 1.15rem;
|
|
||||||
}
|
|
||||||
|
|
||||||
.feat-descr:hover {
|
|
||||||
transition: opacity 0.5s ease-in-out;
|
|
||||||
opacity: 0.9;
|
|
||||||
}
|
|
||||||
|
|
||||||
.q-col-gutter-sm {
|
|
||||||
padding: 3.125rem 3.125rem;
|
|
||||||
//margin-left: -48px
|
|
||||||
}
|
|
||||||
|
|
||||||
body.mobile .landing {
|
|
||||||
//background: unset
|
|
||||||
}
|
|
||||||
|
|
||||||
body.mobile .landing:before {
|
|
||||||
content: "";
|
|
||||||
position: fixed;
|
|
||||||
top: 0;
|
|
||||||
height: 100vh;
|
|
||||||
left: 0;
|
|
||||||
right: 0;
|
|
||||||
bottom: 0;
|
|
||||||
z-index: -1;
|
|
||||||
//background: #000 url(../../public/images/cover.jpg) 50%;
|
|
||||||
|
|
||||||
background-size: cover
|
|
||||||
}
|
|
||||||
|
|
||||||
/*
|
|
||||||
@-webkit-keyframes logo-rotate {
|
|
||||||
to {
|
|
||||||
-webkit-transform: rotate(-1turn);
|
|
||||||
transform: rotate(-1turn)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
@keyframes logo-rotate {
|
|
||||||
to {
|
|
||||||
-webkit-transform: rotate(-1turn);
|
|
||||||
transform: rotate(-1turn)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
*/
|
|
||||||
|
|
||||||
.home {
|
|
||||||
//background-color: rgb(250, 250, 250);
|
|
||||||
padding: 3.125rem;
|
|
||||||
display: flex;
|
|
||||||
//flex-wrap: nowrap;
|
|
||||||
flex-direction: column;
|
|
||||||
align-items: center;
|
|
||||||
justify-content: space-between;
|
|
||||||
}
|
|
||||||
|
|
||||||
.btn-start {
|
|
||||||
margin: 3.125rem;
|
|
||||||
}
|
|
||||||
|
|
||||||
.shadow {
|
|
||||||
//color: white;
|
|
||||||
text-shadow: 0.125rem 0.125rem 0.25rem $grayshadow;
|
|
||||||
}
|
|
||||||
|
|
||||||
.text-h1, h1 {
|
|
||||||
font-size: 3rem;
|
|
||||||
font-weight: bold;
|
|
||||||
line-height: 3rem;
|
|
||||||
letter-spacing: -.01562em;
|
|
||||||
margin-bottom: 8px !important;
|
|
||||||
}
|
|
||||||
|
|
||||||
.text-h2 {
|
|
||||||
font-size: 3.75rem;
|
|
||||||
font-weight: 300;
|
|
||||||
line-height: 3.75rem;
|
|
||||||
letter-spacing: -.00833em;
|
|
||||||
}
|
|
||||||
|
|
||||||
.text-weight-bold {
|
|
||||||
font-weight: 700;
|
|
||||||
}
|
|
||||||
|
|
||||||
.text-vers {
|
|
||||||
font-size: 0.75rem;
|
|
||||||
font-weight: 400;
|
|
||||||
line-height: 1.75rem;
|
|
||||||
letter-spacing: .00937em;
|
|
||||||
text-shadow: .25rem .25rem .5rem $grayshadow;
|
|
||||||
}
|
|
||||||
|
|
||||||
.homep-cover-img-1 {
|
|
||||||
background: #000 url(../../../public/images/foto1.jpg) no-repeat 50% fixed;
|
|
||||||
//transition: background-image 1s ease-in-out;
|
|
||||||
}
|
|
||||||
|
|
||||||
.homep-cover-img-2 {
|
|
||||||
background: #000 url(../../../public/images/foto2.jpg) no-repeat 50% fixed;
|
|
||||||
//transition: background-image 1s ease-in-out;
|
|
||||||
}
|
|
||||||
|
|
||||||
.homep-cover-img-3 {
|
|
||||||
background: #000 url(../../../public/images/foto3.jpg) no-repeat 50% fixed;
|
|
||||||
//transition: background-image 1s ease-in-out;
|
|
||||||
}
|
|
||||||
|
|
||||||
.homep-cover-img.hide-filter:before {
|
|
||||||
opacity: 0
|
|
||||||
}
|
|
||||||
|
|
||||||
.landing__footer-icons {
|
|
||||||
font-size: 1.75rem
|
|
||||||
}
|
|
||||||
|
|
||||||
.landing__footer-icons a {
|
|
||||||
margin: 0 .5rem .5rem;
|
|
||||||
text-decoration: none;
|
|
||||||
outline: 0;
|
|
||||||
color: $textcol;
|
|
||||||
transition: color .28s
|
|
||||||
}
|
|
||||||
|
|
||||||
.landing__footer-icons a:hover {
|
|
||||||
color: $textcol_scuro;
|
|
||||||
}
|
|
||||||
|
|
||||||
.doc-img {
|
|
||||||
max-width: 100%;
|
|
||||||
}
|
|
||||||
|
|
||||||
.mylist {
|
|
||||||
background: #3fdaff;
|
|
||||||
padding-left: 1.25rem;
|
|
||||||
}
|
|
||||||
|
|
||||||
.clgutter {
|
|
||||||
margin-top: 1.25rem;
|
|
||||||
padding: .62rem;
|
|
||||||
}
|
|
||||||
|
|
||||||
.carousel_img_3 {
|
|
||||||
//background-image: url(../../public/images/cibo_sano.jpg);
|
|
||||||
background-size: cover !important;
|
|
||||||
background-position: 50% center !important;
|
|
||||||
background-repeat: no-repeat !important;
|
|
||||||
}
|
|
||||||
|
|
||||||
@media (max-width: 718px) {
|
|
||||||
// PER VERSIONE MOBILE
|
|
||||||
|
|
||||||
.landing__hero {
|
|
||||||
text-align: center
|
|
||||||
}
|
|
||||||
.landing__header {
|
|
||||||
height: 7vh
|
|
||||||
}
|
|
||||||
.clgutter {
|
|
||||||
margin-top: 0;
|
|
||||||
padding: 0;
|
|
||||||
}
|
|
||||||
.landing__hero .text-h1, h1 {
|
|
||||||
font-size: 2rem;
|
|
||||||
line-height: 2.05rem;
|
|
||||||
margin-bottom: 1.25rem
|
|
||||||
}
|
|
||||||
|
|
||||||
.landing > section.padding {
|
|
||||||
padding: 2.5rem 1rem;
|
|
||||||
}
|
|
||||||
|
|
||||||
.landing > section.padding_testo {
|
|
||||||
padding-top: 1.25rem;
|
|
||||||
padding-bottom: 1rem;
|
|
||||||
}
|
|
||||||
|
|
||||||
.landing > section.padding_gallery {
|
|
||||||
padding-top: 3.125rem;
|
|
||||||
padding-bottom: 5.625rem;
|
|
||||||
|
|
||||||
max-width: 800px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.landing > section.padding_gallery > div {
|
|
||||||
padding-top: 3.125rem;
|
|
||||||
padding-bottom: 5.625rem;
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
.landing__features h4, .landing__features h6 {
|
|
||||||
margin: 1.25rem 0
|
|
||||||
}
|
|
||||||
|
|
||||||
h4 {
|
|
||||||
line-height: 1.4;
|
|
||||||
text-shadow: 0.25rem 0.25rem 0.5rem $grayshadow;
|
|
||||||
}
|
|
||||||
|
|
||||||
.landing .feature-item {
|
|
||||||
text-align: center;
|
|
||||||
margin-top: 1.25rem;
|
|
||||||
}
|
|
||||||
.landing__hero-content {
|
|
||||||
padding-bottom: 11.25rem;
|
|
||||||
}
|
|
||||||
.landing__hero2-content {
|
|
||||||
padding-bottom: 7.25rem;
|
|
||||||
}
|
|
||||||
.landing__hero-btns {
|
|
||||||
-webkit-box-pack: center;
|
|
||||||
-ms-flex-pack: center;
|
|
||||||
justify-content: center
|
|
||||||
}
|
|
||||||
|
|
||||||
.q-col-gutter-sm {
|
|
||||||
padding: .625rem .315rem;
|
|
||||||
}
|
|
||||||
|
|
||||||
.text-subtitle1 {
|
|
||||||
font-size: 1.25rem;
|
|
||||||
}
|
|
||||||
.text-vers {
|
|
||||||
font-size: 0.6rem;
|
|
||||||
}
|
|
||||||
|
|
||||||
.carousel_img_3 {
|
|
||||||
//background-image: url(../../public/images/cibo_sano.jpg);
|
|
||||||
background-size: 620px 620px !important;
|
|
||||||
background-position: 50% top !important;
|
|
||||||
background-repeat: no-repeat !important;
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
.custom-caption {
|
|
||||||
text-align: center;
|
|
||||||
padding: .75rem;
|
|
||||||
color: $textcol;
|
|
||||||
background-color: rgba(0, 0, 0, .3);
|
|
||||||
}
|
|
||||||
|
|
||||||
.sfondo-grigio {
|
|
||||||
padding: 1rem;
|
|
||||||
color: $textcol;
|
|
||||||
background-color: rgba(0, 0, 0, .35);
|
|
||||||
}
|
|
||||||
|
|
||||||
.mycontacts {
|
|
||||||
color: gray;
|
|
||||||
letter-spacing: 0.078rem;
|
|
||||||
}
|
|
||||||
|
|
||||||
.mycontacts_title {
|
|
||||||
text-shadow: 0.125rem 0.125rem 0.125rem #555;
|
|
||||||
font-weight: bold;
|
|
||||||
color: #999;
|
|
||||||
letter-spacing: 0.125rem;
|
|
||||||
}
|
|
||||||
|
|
||||||
.mycontacts_text {
|
|
||||||
color: #999;
|
|
||||||
letter-spacing: 0.093rem;
|
|
||||||
}
|
|
||||||
@@ -1,78 +0,0 @@
|
|||||||
import { defineComponent, ref, onMounted, watch, computed } from 'vue'
|
|
||||||
|
|
||||||
import { useGlobalStore } from '@store/globalStore'
|
|
||||||
import { useRoute } from 'vue-router'
|
|
||||||
import { useUserStore } from '@store/UserStore'
|
|
||||||
|
|
||||||
import { Logo } from '../../components/logo'
|
|
||||||
|
|
||||||
import { LandingFooter } from '../../components/LandingFooter'
|
|
||||||
import { CMyPage } from '../../components/CMyPage/index'
|
|
||||||
|
|
||||||
import { tools } from '@src/store/Modules/tools'
|
|
||||||
import { static_data } from '@src/db/static_data'
|
|
||||||
import { toolsext } from '@src/store/Modules/toolsext'
|
|
||||||
import { Screen } from 'quasar'
|
|
||||||
import { CCardCarousel, CEventsCalendar, COpenStreetMap } from '@components'
|
|
||||||
import MixinBase from '@src/mixins/mixin-base'
|
|
||||||
import { firstimagehome } from '@src/db/static_data'
|
|
||||||
import MixinMetaTags from '@/mixins/mixin-metatags'
|
|
||||||
|
|
||||||
export default defineComponent({
|
|
||||||
name: 'home_arcadei',
|
|
||||||
components: { Logo, LandingFooter, CMyPage, CCardCarousel, CEventsCalendar, COpenStreetMap },
|
|
||||||
|
|
||||||
setup() {
|
|
||||||
const animare = ref(0)
|
|
||||||
const slide = ref('first')
|
|
||||||
const slide2 = ref(1)
|
|
||||||
|
|
||||||
const getImmagini = ref([
|
|
||||||
{
|
|
||||||
title: '', subtitle: '',
|
|
||||||
alt: 'Arcadei',
|
|
||||||
img: 'images/arcadei/img1.png'
|
|
||||||
},
|
|
||||||
])
|
|
||||||
|
|
||||||
const userStore = useUserStore()
|
|
||||||
const globalStore = useGlobalStore()
|
|
||||||
|
|
||||||
const { setValDb, getValDb } = MixinBase()
|
|
||||||
const { setmeta, getsrcbyimg } = MixinMetaTags()
|
|
||||||
|
|
||||||
function getheightgallery() {
|
|
||||||
if (tools.isMobile())
|
|
||||||
return '400px'
|
|
||||||
else
|
|
||||||
return '600px'
|
|
||||||
}
|
|
||||||
|
|
||||||
function created() {
|
|
||||||
//
|
|
||||||
}
|
|
||||||
|
|
||||||
function getArrDisciplines() {
|
|
||||||
return globalStore.disciplines.filter((rec: any) => rec.showinhome)
|
|
||||||
}
|
|
||||||
|
|
||||||
created()
|
|
||||||
|
|
||||||
return {
|
|
||||||
tools,
|
|
||||||
toolsext,
|
|
||||||
static_data,
|
|
||||||
animare,
|
|
||||||
slide,
|
|
||||||
slide2,
|
|
||||||
getheightgallery,
|
|
||||||
getArrDisciplines,
|
|
||||||
getImmagini,
|
|
||||||
getValDb,
|
|
||||||
firstimagehome,
|
|
||||||
getsrcbyimg,
|
|
||||||
setmeta,
|
|
||||||
}
|
|
||||||
},
|
|
||||||
})
|
|
||||||
|
|
||||||
@@ -1,221 +0,0 @@
|
|||||||
<template>
|
|
||||||
<q-page>
|
|
||||||
<CMyPage title="Home">
|
|
||||||
<div class="landing">
|
|
||||||
<section>
|
|
||||||
<div class="landing__hero maxwidth1200 text-white">
|
|
||||||
<q-carousel
|
|
||||||
animated
|
|
||||||
:autoplay="animare"
|
|
||||||
swipeable
|
|
||||||
infinite
|
|
||||||
navigation
|
|
||||||
transition-next="slide-left"
|
|
||||||
transition-prev="slide-right"
|
|
||||||
v-model="slide"
|
|
||||||
:height="getheightgallery()"
|
|
||||||
width="100%"
|
|
||||||
>
|
|
||||||
<q-carousel-slide name="first"
|
|
||||||
:img-src="getsrcbyimg(firstimagehome())">
|
|
||||||
<div class="landing__header"></div>
|
|
||||||
<div class="landing__hero-content row justify-center q-gutter-xs clgutter">
|
|
||||||
<div class="row">
|
|
||||||
|
|
||||||
</div>
|
|
||||||
<div class="flex justify-end">
|
|
||||||
<div class="q-gutter-xs testo-banda clgutter">
|
|
||||||
<h1 class="text-h1 shadow-max">{{tools.getappname()}}</h1>
|
|
||||||
<div class="text-subtitle1 shadow text-italic q-pl-sm">
|
|
||||||
|
|
||||||
</div>
|
|
||||||
<div class="text-subtitle1 shadow-max big text-italic q-pl-sm">
|
|
||||||
|
|
||||||
</div>
|
|
||||||
<div class="text-subtitle2 shadow text-italic q-pl-sm">
|
|
||||||
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div>
|
|
||||||
<br>
|
|
||||||
<br>
|
|
||||||
<div v-if="!tools.isLogged()" style="margin: 5px; padding: 5px;" class="home">
|
|
||||||
<br>
|
|
||||||
<br>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div class="landing__arrow absolute-bottom text-center">
|
|
||||||
<i aria-hidden="true"
|
|
||||||
class="q-icon text-h2 text-white material-icons">expand_more</i>
|
|
||||||
</div>
|
|
||||||
</q-carousel-slide>
|
|
||||||
<q-carousel-slide name="second"
|
|
||||||
:img-src="getsrcbyimg('images/background2.jpg')" alt="">
|
|
||||||
<div class="landing__header"></div>
|
|
||||||
<div class="landing__hero2-content row justify-center q-gutter-xs clgutter">
|
|
||||||
<div class="row">
|
|
||||||
<logo></logo>
|
|
||||||
</div>
|
|
||||||
<div class="flex justify-end">
|
|
||||||
<div class="q-gutter-xs testo-banda clgutter">
|
|
||||||
<h1 class="text-h1 shadow-max">{{tools.getappname()}}</h1>
|
|
||||||
<h2 class="text-subtitle1 shadow text-italic q-pl-sm">
|
|
||||||
{{$t('msg.sottoTitoloApp')}}
|
|
||||||
</h2>
|
|
||||||
<h2 class="text-subtitle1 shadow-max big text-italic q-pl-sm">
|
|
||||||
<strong>{{$t('msg.sottoTitoloApp2')}}</strong>
|
|
||||||
</h2>
|
|
||||||
<h2 class="text-subtitle2 shadow text-italic q-pl-sm">
|
|
||||||
{{$t('msg.sottoTitoloApp3')}}
|
|
||||||
</h2>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div class="landing__arrow absolute-bottom text-center">
|
|
||||||
<i aria-hidden="true"
|
|
||||||
class="q-icon text-h2 text-white material-icons">expand_more</i>
|
|
||||||
</div>
|
|
||||||
</q-carousel-slide>
|
|
||||||
<q-carousel-slide name="third"
|
|
||||||
:img-src="getsrcbyimg('images/background3.jpg')">
|
|
||||||
<div class="landing__header"></div>
|
|
||||||
<div class="landing__hero2-content row justify-center q-gutter-xs clgutter">
|
|
||||||
<div class="row">
|
|
||||||
<logo></logo>
|
|
||||||
</div>
|
|
||||||
<div class="flex justify-end">
|
|
||||||
<div class="q-gutter-xs testo-banda clgutter">
|
|
||||||
<div class="text-h1 shadow-max">{{tools.getappname()}}</div>
|
|
||||||
<div class="text-subtitle1 shadow text-italic q-pl-sm">
|
|
||||||
{{$t('msg.sottoTitoloApp')}}
|
|
||||||
</div>
|
|
||||||
<div class="text-subtitle1 shadow-max big text-italic q-pl-sm"><strong>{{$t('msg.sottoTitoloApp2')}}</strong>
|
|
||||||
</div>
|
|
||||||
<div class="text-subtitle2 shadow text-italic q-pl-sm">
|
|
||||||
{{$t('msg.sottoTitoloApp3')}}
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div class="text-subtitle3 shadow text-italic q-pl-sm ">
|
|
||||||
{{$t('msg.sottoTitoloApp4')}}
|
|
||||||
</div>
|
|
||||||
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div class="landing__arrow absolute-bottom text-center">
|
|
||||||
<!--<i aria-hidden="true"-->
|
|
||||||
<!--class="q-icon text-h2 text-white material-icons">expand_more</i>-->
|
|
||||||
</div>
|
|
||||||
</q-carousel-slide>
|
|
||||||
</q-carousel>
|
|
||||||
|
|
||||||
</div>
|
|
||||||
</section>
|
|
||||||
|
|
||||||
<div class="q-pa-md q-gutter-md">
|
|
||||||
<div v-if="isLogged && !isVerified" class="text-verified">{{
|
|
||||||
$t('components.authentication.email_verification.link_sent') }}
|
|
||||||
</div>
|
|
||||||
|
|
||||||
</div>
|
|
||||||
|
|
||||||
|
|
||||||
<CCardCarousel :myarr="getArrDisciplines()">
|
|
||||||
|
|
||||||
</CCardCarousel>
|
|
||||||
|
|
||||||
<CEventsCalendar :mysingleevent="null" :showfirstN="getValDb('SHOW_LAST_EVENTS', false, 3)">
|
|
||||||
|
|
||||||
</CEventsCalendar>
|
|
||||||
|
|
||||||
|
|
||||||
<div v-if="getValDb('VIDEO_HOME', false)" class="row justify-evenly items-center q-gutter-md ">
|
|
||||||
|
|
||||||
<div class="text-center">
|
|
||||||
<h4 class="subtitle text-blue" v-html="getValDb('VIDEO_TITLE', false)"></h4>
|
|
||||||
<div class="">
|
|
||||||
<video :width="tools.getwidthscale(mythis, 320, 800)"
|
|
||||||
:height="tools.getheightbywidth(mythis, 320, 180, 800)" controls>
|
|
||||||
<source :src="getValDb('VIDEO_HOME', false)" type="video/mp4">
|
|
||||||
</video>
|
|
||||||
</div>
|
|
||||||
<!--<q-video src="../../statics/video/Intervista_Cristina_Barattoni.mp4">-->
|
|
||||||
|
|
||||||
<!--</q-video>-->
|
|
||||||
</div>
|
|
||||||
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div v-if="getValDb('YT_VIDEO', false)" class="row justify-evenly items-center q-gutter-md ">
|
|
||||||
|
|
||||||
<div class="text-center">
|
|
||||||
<h4 class="subtitle text-blue" v-html="getValDb('YT_TITLE', false)"></h4>
|
|
||||||
<div class="">
|
|
||||||
|
|
||||||
<div class="">
|
|
||||||
<iframe
|
|
||||||
:width="tools.getwidthscale(mythis, getValDb('YT_W', false), 800)"
|
|
||||||
:height="tools.getheightbywidth(mythis, getValDb('YT_W', false), getValDb('YT_H', false), 800)"
|
|
||||||
:src="getValDb('YT_VIDEO', false)"
|
|
||||||
frameborder="0"
|
|
||||||
allowfullscreen
|
|
||||||
></iframe>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<!--<q-video src="../../statics/video/Intervista_Cristina_Barattoni.mp4">-->
|
|
||||||
|
|
||||||
<!--</q-video>-->
|
|
||||||
</div>
|
|
||||||
|
|
||||||
</div>
|
|
||||||
|
|
||||||
|
|
||||||
<section :class="`maxwidth padding_gallery `+ ($q.dark.isActive ? `bg-black` : `bg-white`) + ` text-grey-10 text-center`" >
|
|
||||||
|
|
||||||
<q-carousel
|
|
||||||
swipeable
|
|
||||||
animated
|
|
||||||
:autoplay="8000"
|
|
||||||
v-model="slide2"
|
|
||||||
arrows
|
|
||||||
thumbnails
|
|
||||||
infinite
|
|
||||||
height="600">
|
|
||||||
<q-carousel-slide v-for="(rec, index) in getImmagini" :key="index" :name="index"
|
|
||||||
:img-src="rec.img"
|
|
||||||
:alt="rec.alt"
|
|
||||||
class="carousel_slide">
|
|
||||||
<div class="absolute-bottom custom-caption" style="margin-bottom: 70px">
|
|
||||||
<div class="text-h5"><span
|
|
||||||
class="text-h6 text-grey-1 shadow-max">{{index + 1}}. </span><span
|
|
||||||
class="text-h6 text-grey-2 shadow">{{rec.title}}</span></div>
|
|
||||||
<div class="text-subtitle1"><span class="text-grey-4 shadow">{{rec.subtitle}}</span>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</q-carousel-slide>
|
|
||||||
</q-carousel>
|
|
||||||
</section>
|
|
||||||
<div v-if="!tools.isMobile()" style="margin: 60px 60px;"></div>
|
|
||||||
|
|
||||||
<COpenStreetMap :imgmap="getValDb('IMGMAP', false)" :urlmap="getValDb('URLMAP', false)" :title="getValDb('MAP_TITLE', false)"
|
|
||||||
:coordinates="getValDb('COORD_MAP_1', false)" :coord_big="getValDb('COORD_MAP_BIG', false)">
|
|
||||||
|
|
||||||
</COpenStreetMap>
|
|
||||||
|
|
||||||
|
|
||||||
<div class="q-ma-md"></div>
|
|
||||||
</div>
|
|
||||||
</CMyPage>
|
|
||||||
</q-page>
|
|
||||||
</template>
|
|
||||||
|
|
||||||
<script lang="ts" src="./home_arcadei.ts">
|
|
||||||
</script>
|
|
||||||
|
|
||||||
<style lang="scss" scoped>
|
|
||||||
@import './home_arcadei.scss';
|
|
||||||
</style>
|
|
||||||
@@ -1,446 +0,0 @@
|
|||||||
|
|
||||||
.testo-banda {
|
|
||||||
//background: -webkit-gradient(linear, left top, left bottom, from(#3144f0), to(transparent));
|
|
||||||
//background: linear-gradient(180deg, #3144f0, transparent);
|
|
||||||
//background: rgba(0, 0, 0, .6)
|
|
||||||
}
|
|
||||||
|
|
||||||
$grayshadow: #555;
|
|
||||||
|
|
||||||
$textcol: blue;
|
|
||||||
$textcol_scuro: darkblue;
|
|
||||||
|
|
||||||
p {
|
|
||||||
margin: 0 0 1.25rem;
|
|
||||||
//text-shadow: .125rem .125rem .25rem $grayshadow;
|
|
||||||
}
|
|
||||||
|
|
||||||
h4 {
|
|
||||||
font-size: 1.25rem;
|
|
||||||
}
|
|
||||||
|
|
||||||
.mycard {
|
|
||||||
visibility: hidden;
|
|
||||||
}
|
|
||||||
|
|
||||||
.landing {
|
|
||||||
}
|
|
||||||
|
|
||||||
.landing_background {
|
|
||||||
background: #000 url(../../../public/images/foto1.jpg) no-repeat 50% fixed;
|
|
||||||
background-size: cover
|
|
||||||
}
|
|
||||||
|
|
||||||
.landing > section {
|
|
||||||
display: -webkit-box;
|
|
||||||
display: -ms-flexbox;
|
|
||||||
display: flex;
|
|
||||||
-webkit-box-pack: center;
|
|
||||||
-ms-flex-pack: center;
|
|
||||||
justify-content: center;
|
|
||||||
//padding: 0 16px
|
|
||||||
}
|
|
||||||
|
|
||||||
.intro {
|
|
||||||
display: flex;
|
|
||||||
justify-content: space-between;
|
|
||||||
align-items: stretch;
|
|
||||||
/* flex-flow: row nowrap; */
|
|
||||||
|
|
||||||
padding: 1.25rem 0 1.25rem 0;
|
|
||||||
margin: .125rem;
|
|
||||||
|
|
||||||
* {
|
|
||||||
width: 100%;
|
|
||||||
flex: 1;
|
|
||||||
margin-left: auto;
|
|
||||||
margin-right: auto;
|
|
||||||
}
|
|
||||||
|
|
||||||
&__associazione {
|
|
||||||
min-width: 350px;
|
|
||||||
}
|
|
||||||
|
|
||||||
&__comeassociarsi {
|
|
||||||
min-width: 350px;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
.subtitle {
|
|
||||||
font-weight: 600;
|
|
||||||
text-align: center;
|
|
||||||
letter-spacing: 0.125rem;
|
|
||||||
text-transform: uppercase;
|
|
||||||
font-size: 1rem;
|
|
||||||
}
|
|
||||||
|
|
||||||
.landing > section.padding {
|
|
||||||
padding: 5.62rem 1rem;
|
|
||||||
}
|
|
||||||
|
|
||||||
.landing > section.padding_testo {
|
|
||||||
padding-top: 1.25rem;
|
|
||||||
padding-bottom: 1rem;
|
|
||||||
}
|
|
||||||
|
|
||||||
.landing > section.padding_gallery {
|
|
||||||
padding-top: 3.125rem;
|
|
||||||
padding-bottom: 5.625rem;
|
|
||||||
}
|
|
||||||
|
|
||||||
.landing > section > div {
|
|
||||||
position: relative;
|
|
||||||
width: 100%
|
|
||||||
}
|
|
||||||
|
|
||||||
.maxwidth1200 {
|
|
||||||
max-width: 1200px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.landing__toolbar {
|
|
||||||
background: -webkit-gradient(linear, left top, left bottom, from(#000), to(transparent));
|
|
||||||
background: linear-gradient(180deg, #000, transparent);
|
|
||||||
padding: 0 !important
|
|
||||||
}
|
|
||||||
|
|
||||||
.landing__toolbar .q-btn {
|
|
||||||
border-radius: 0 0 .315rem .315rem;
|
|
||||||
-ms-flex-item-align: stretch;
|
|
||||||
align-self: stretch
|
|
||||||
}
|
|
||||||
|
|
||||||
.landing__hero {
|
|
||||||
min-height: 50vh
|
|
||||||
}
|
|
||||||
|
|
||||||
.landing__header {
|
|
||||||
height: 18vh
|
|
||||||
}
|
|
||||||
|
|
||||||
.landing__arrow {
|
|
||||||
bottom: 1.5rem;
|
|
||||||
opacity: .4
|
|
||||||
}
|
|
||||||
|
|
||||||
.landing__front {
|
|
||||||
background: -webkit-gradient(linear, left top, left bottom, from(transparent), color-stop(15%, rgba(0, 0, 0, .6)));
|
|
||||||
background: linear-gradient(180deg, transparent, rgba(0, 0, 0, .6) 15%)
|
|
||||||
}
|
|
||||||
|
|
||||||
.landing__logo {
|
|
||||||
width: 9.40rem;
|
|
||||||
height: 9.40rem;
|
|
||||||
margin-top: 1.315rem;
|
|
||||||
//-webkit-animation: logo-rotate 240s linear infinite;
|
|
||||||
//animation: logo-rotate 240s linear infinite
|
|
||||||
}
|
|
||||||
|
|
||||||
.landing__features .q-icon {
|
|
||||||
font-size: 4rem
|
|
||||||
}
|
|
||||||
|
|
||||||
h4 {
|
|
||||||
line-height: 1.5;
|
|
||||||
text-shadow: .25rem .25rem .5rem $grayshadow;
|
|
||||||
}
|
|
||||||
|
|
||||||
.landing__features h4, .landing__features h6 {
|
|
||||||
margin: 1rem 0
|
|
||||||
}
|
|
||||||
|
|
||||||
.landing__features p {
|
|
||||||
opacity: .7;
|
|
||||||
font-size: 1rem;
|
|
||||||
line-height: 1.5;
|
|
||||||
}
|
|
||||||
|
|
||||||
.landing__footer {
|
|
||||||
//background: -webkit-gradient(linear, left top, left bottom, color-stop(65%, rgba(0, 0, 0, .1)), to(#000));
|
|
||||||
background: linear-gradient(180deg, rgba(0, 0, 0, .8) 95%, #FFF);
|
|
||||||
padding-top: 4.5rem !important;
|
|
||||||
padding-bottom: 4.5rem !important;
|
|
||||||
padding-left: 1.25rem;
|
|
||||||
padding-right: 1.25rem;
|
|
||||||
color: #9f9f9f;
|
|
||||||
}
|
|
||||||
|
|
||||||
.icon_contact:hover {
|
|
||||||
color: blue;
|
|
||||||
border-color: white;
|
|
||||||
border-width: .0625rem;
|
|
||||||
}
|
|
||||||
|
|
||||||
.landing__footer .doc-link {
|
|
||||||
color: $textcol;
|
|
||||||
}
|
|
||||||
|
|
||||||
.landing__footer .doc-link:hover {
|
|
||||||
opacity: .8
|
|
||||||
}
|
|
||||||
|
|
||||||
.landing__swirl-bg {
|
|
||||||
background-repeat: no-repeat !important;
|
|
||||||
background-position: top;
|
|
||||||
background-size: contain !important;
|
|
||||||
background-image: url(../../../public/images/landing_first_section.png) !important
|
|
||||||
}
|
|
||||||
|
|
||||||
.feat-descr {
|
|
||||||
font-size: 1.15rem;
|
|
||||||
}
|
|
||||||
|
|
||||||
.feat-descr:hover {
|
|
||||||
transition: opacity 0.5s ease-in-out;
|
|
||||||
opacity: 0.9;
|
|
||||||
}
|
|
||||||
|
|
||||||
.q-col-gutter-sm {
|
|
||||||
padding: 3.125rem 3.125rem;
|
|
||||||
//margin-left: -48px
|
|
||||||
}
|
|
||||||
|
|
||||||
body.mobile .landing {
|
|
||||||
//background: unset
|
|
||||||
}
|
|
||||||
|
|
||||||
body.mobile .landing:before {
|
|
||||||
content: "";
|
|
||||||
position: fixed;
|
|
||||||
top: 0;
|
|
||||||
height: 100vh;
|
|
||||||
left: 0;
|
|
||||||
right: 0;
|
|
||||||
bottom: 0;
|
|
||||||
z-index: -1;
|
|
||||||
//background: #000 url(../../public/images/cover.jpg) 50%;
|
|
||||||
|
|
||||||
background-size: cover
|
|
||||||
}
|
|
||||||
|
|
||||||
/*
|
|
||||||
@-webkit-keyframes logo-rotate {
|
|
||||||
to {
|
|
||||||
-webkit-transform: rotate(-1turn);
|
|
||||||
transform: rotate(-1turn)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
@keyframes logo-rotate {
|
|
||||||
to {
|
|
||||||
-webkit-transform: rotate(-1turn);
|
|
||||||
transform: rotate(-1turn)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
*/
|
|
||||||
|
|
||||||
.home {
|
|
||||||
//background-color: rgb(250, 250, 250);
|
|
||||||
padding: 3.125rem;
|
|
||||||
display: flex;
|
|
||||||
//flex-wrap: nowrap;
|
|
||||||
flex-direction: column;
|
|
||||||
align-items: center;
|
|
||||||
justify-content: space-between;
|
|
||||||
}
|
|
||||||
|
|
||||||
.btn-start {
|
|
||||||
margin: 3.125rem;
|
|
||||||
}
|
|
||||||
|
|
||||||
.shadow {
|
|
||||||
//color: white;
|
|
||||||
text-shadow: 0.125rem 0.125rem 0.25rem $grayshadow;
|
|
||||||
}
|
|
||||||
|
|
||||||
.text-h1, h1 {
|
|
||||||
font-size: 3rem;
|
|
||||||
font-weight: bold;
|
|
||||||
line-height: 3rem;
|
|
||||||
letter-spacing: -.01562em;
|
|
||||||
margin-bottom: 8px !important;
|
|
||||||
}
|
|
||||||
|
|
||||||
.text-h2 {
|
|
||||||
font-size: 3.75rem;
|
|
||||||
font-weight: 300;
|
|
||||||
line-height: 3.75rem;
|
|
||||||
letter-spacing: -.00833em;
|
|
||||||
}
|
|
||||||
|
|
||||||
.text-weight-bold {
|
|
||||||
font-weight: 700;
|
|
||||||
}
|
|
||||||
|
|
||||||
.text-vers {
|
|
||||||
font-size: 0.75rem;
|
|
||||||
font-weight: 400;
|
|
||||||
line-height: 1.75rem;
|
|
||||||
letter-spacing: .00937em;
|
|
||||||
text-shadow: .25rem .25rem .5rem $grayshadow;
|
|
||||||
}
|
|
||||||
|
|
||||||
.homep-cover-img-1 {
|
|
||||||
background: #000 url(../../../public/images/foto1.jpg) no-repeat 50% fixed;
|
|
||||||
//transition: background-image 1s ease-in-out;
|
|
||||||
}
|
|
||||||
|
|
||||||
.homep-cover-img-2 {
|
|
||||||
background: #000 url(../../../public/images/foto2.jpg) no-repeat 50% fixed;
|
|
||||||
//transition: background-image 1s ease-in-out;
|
|
||||||
}
|
|
||||||
|
|
||||||
.homep-cover-img-3 {
|
|
||||||
background: #000 url(../../../public/images/foto3.jpg) no-repeat 50% fixed;
|
|
||||||
//transition: background-image 1s ease-in-out;
|
|
||||||
}
|
|
||||||
|
|
||||||
.homep-cover-img.hide-filter:before {
|
|
||||||
opacity: 0
|
|
||||||
}
|
|
||||||
|
|
||||||
.landing__footer-icons {
|
|
||||||
font-size: 1.75rem
|
|
||||||
}
|
|
||||||
|
|
||||||
.landing__footer-icons a {
|
|
||||||
margin: 0 .5rem .5rem;
|
|
||||||
text-decoration: none;
|
|
||||||
outline: 0;
|
|
||||||
color: $textcol;
|
|
||||||
transition: color .28s
|
|
||||||
}
|
|
||||||
|
|
||||||
.landing__footer-icons a:hover {
|
|
||||||
color: $textcol_scuro;
|
|
||||||
}
|
|
||||||
|
|
||||||
.doc-img {
|
|
||||||
max-width: 100%;
|
|
||||||
}
|
|
||||||
|
|
||||||
.mylist {
|
|
||||||
background: #3fdaff;
|
|
||||||
padding-left: 1.25rem;
|
|
||||||
}
|
|
||||||
|
|
||||||
.clgutter {
|
|
||||||
margin-top: 1.25rem;
|
|
||||||
padding: .62rem;
|
|
||||||
}
|
|
||||||
|
|
||||||
.carousel_img_3 {
|
|
||||||
//background-image: url(../../public/images/cibo_sano.jpg);
|
|
||||||
background-size: cover !important;
|
|
||||||
background-position: 50% center !important;
|
|
||||||
background-repeat: no-repeat !important;
|
|
||||||
}
|
|
||||||
|
|
||||||
@media (max-width: 718px) {
|
|
||||||
// PER VERSIONE MOBILE
|
|
||||||
|
|
||||||
.landing__hero {
|
|
||||||
text-align: center
|
|
||||||
}
|
|
||||||
.landing__header {
|
|
||||||
height: 7vh
|
|
||||||
}
|
|
||||||
.clgutter {
|
|
||||||
margin-top: 0;
|
|
||||||
padding: 0;
|
|
||||||
}
|
|
||||||
.landing__hero .text-h1, h1 {
|
|
||||||
font-size: 2rem;
|
|
||||||
line-height: 2.05rem;
|
|
||||||
margin-bottom: 1.25rem
|
|
||||||
}
|
|
||||||
|
|
||||||
.landing > section.padding {
|
|
||||||
padding: 2.5rem 1rem;
|
|
||||||
}
|
|
||||||
|
|
||||||
.landing > section.padding_testo {
|
|
||||||
padding-top: 1.25rem;
|
|
||||||
padding-bottom: 1rem;
|
|
||||||
}
|
|
||||||
|
|
||||||
.landing > section.padding_gallery {
|
|
||||||
padding-top: 3.125rem;
|
|
||||||
padding-bottom: 5.625rem;
|
|
||||||
|
|
||||||
max-width: 800px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.landing > section.padding_gallery > div {
|
|
||||||
padding-top: 3.125rem;
|
|
||||||
padding-bottom: 5.625rem;
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
.landing__features h4, .landing__features h6 {
|
|
||||||
margin: 1.25rem 0
|
|
||||||
}
|
|
||||||
|
|
||||||
h4 {
|
|
||||||
line-height: 1.4;
|
|
||||||
text-shadow: 0.25rem 0.25rem 0.5rem $grayshadow;
|
|
||||||
}
|
|
||||||
|
|
||||||
.landing .feature-item {
|
|
||||||
text-align: center;
|
|
||||||
margin-top: 1.25rem;
|
|
||||||
}
|
|
||||||
.landing__hero-content {
|
|
||||||
padding-bottom: 11.25rem;
|
|
||||||
}
|
|
||||||
.landing__hero2-content {
|
|
||||||
padding-bottom: 7.25rem;
|
|
||||||
}
|
|
||||||
.landing__hero-btns {
|
|
||||||
-webkit-box-pack: center;
|
|
||||||
-ms-flex-pack: center;
|
|
||||||
justify-content: center
|
|
||||||
}
|
|
||||||
|
|
||||||
.q-col-gutter-sm {
|
|
||||||
padding: .625rem .315rem;
|
|
||||||
}
|
|
||||||
|
|
||||||
.text-subtitle1 {
|
|
||||||
font-size: 1.25rem;
|
|
||||||
}
|
|
||||||
.text-vers {
|
|
||||||
font-size: 0.6rem;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
.custom-caption {
|
|
||||||
text-align: center;
|
|
||||||
padding: .75rem;
|
|
||||||
color: $textcol;
|
|
||||||
background-color: rgba(0, 0, 0, .3);
|
|
||||||
}
|
|
||||||
|
|
||||||
.sfondo-grigio {
|
|
||||||
padding: 1rem;
|
|
||||||
color: $textcol;
|
|
||||||
background-color: rgba(0, 0, 0, .35);
|
|
||||||
}
|
|
||||||
|
|
||||||
.mycontacts {
|
|
||||||
color: gray;
|
|
||||||
letter-spacing: 0.078rem;
|
|
||||||
}
|
|
||||||
|
|
||||||
.mycontacts_title {
|
|
||||||
text-shadow: 0.125rem 0.125rem 0.125rem #555;
|
|
||||||
font-weight: bold;
|
|
||||||
color: #999;
|
|
||||||
letter-spacing: 0.125rem;
|
|
||||||
}
|
|
||||||
|
|
||||||
.mycontacts_text {
|
|
||||||
color: #999;
|
|
||||||
letter-spacing: 0.093rem;
|
|
||||||
}
|
|
||||||
@@ -1,78 +0,0 @@
|
|||||||
import { defineComponent, ref, onMounted, watch, computed } from 'vue'
|
|
||||||
|
|
||||||
import { useGlobalStore } from '@store/globalStore'
|
|
||||||
import { useRoute } from 'vue-router'
|
|
||||||
import { useUserStore } from '@store/UserStore'
|
|
||||||
|
|
||||||
import { Logo } from '../../components/logo'
|
|
||||||
|
|
||||||
import { LandingFooter } from '../../components/LandingFooter'
|
|
||||||
import { CMyPage } from '../../components/CMyPage/index'
|
|
||||||
|
|
||||||
import { tools } from '@src/store/Modules/tools'
|
|
||||||
import { static_data } from '@src/db/static_data'
|
|
||||||
import { toolsext } from '@src/store/Modules/toolsext'
|
|
||||||
import { Screen } from 'quasar'
|
|
||||||
import { CCardCarousel, CEventsCalendar, COpenStreetMap } from '@components'
|
|
||||||
import MixinBase from '@src/mixins/mixin-base'
|
|
||||||
import { firstimagehome } from '@src/db/static_data'
|
|
||||||
import MixinMetaTags from '@/mixins/mixin-metatags'
|
|
||||||
|
|
||||||
export default defineComponent({
|
|
||||||
name: 'Home_tdv',
|
|
||||||
components: { Logo, LandingFooter, CMyPage, CCardCarousel, CEventsCalendar, COpenStreetMap },
|
|
||||||
|
|
||||||
setup() {
|
|
||||||
const animare = ref(0)
|
|
||||||
const slide = ref('first')
|
|
||||||
const slide2 = ref(1)
|
|
||||||
|
|
||||||
const getImmagini = ref([
|
|
||||||
{
|
|
||||||
title: '', subtitle: '',
|
|
||||||
alt: 'Elisa e Cristina insieme',
|
|
||||||
img: '../../statics/images/eventi_esterni/IMG_6035.jpg'
|
|
||||||
},
|
|
||||||
])
|
|
||||||
|
|
||||||
const userStore = useUserStore()
|
|
||||||
const globalStore = useGlobalStore()
|
|
||||||
|
|
||||||
const { setValDb, getValDb } = MixinBase()
|
|
||||||
const { setmeta, getsrcbyimg } = MixinMetaTags()
|
|
||||||
|
|
||||||
function getheightgallery() {
|
|
||||||
if (tools.isMobile())
|
|
||||||
return '400px'
|
|
||||||
else
|
|
||||||
return '600px'
|
|
||||||
}
|
|
||||||
|
|
||||||
function created() {
|
|
||||||
//
|
|
||||||
}
|
|
||||||
|
|
||||||
function getArrDisciplines() {
|
|
||||||
return globalStore.disciplines.filter((rec: any) => rec.showinhome)
|
|
||||||
}
|
|
||||||
|
|
||||||
created()
|
|
||||||
|
|
||||||
return {
|
|
||||||
tools,
|
|
||||||
toolsext,
|
|
||||||
static_data,
|
|
||||||
animare,
|
|
||||||
slide,
|
|
||||||
slide2,
|
|
||||||
getheightgallery,
|
|
||||||
getArrDisciplines,
|
|
||||||
getImmagini,
|
|
||||||
getValDb,
|
|
||||||
firstimagehome,
|
|
||||||
getsrcbyimg,
|
|
||||||
setmeta,
|
|
||||||
}
|
|
||||||
},
|
|
||||||
})
|
|
||||||
|
|
||||||
@@ -1,220 +0,0 @@
|
|||||||
<template>
|
|
||||||
<q-page>
|
|
||||||
<CMyPage title="Home">
|
|
||||||
<div class="landing">
|
|
||||||
<section>
|
|
||||||
<div class="landing__hero maxwidth1200 text-white">
|
|
||||||
<q-carousel
|
|
||||||
animated
|
|
||||||
:autoplay="animare"
|
|
||||||
swipeable
|
|
||||||
infinite
|
|
||||||
navigation
|
|
||||||
transition-next="slide-left"
|
|
||||||
transition-prev="slide-right"
|
|
||||||
v-model="slide"
|
|
||||||
:height="getheightgallery()"
|
|
||||||
width="100%"
|
|
||||||
>
|
|
||||||
<q-carousel-slide name="first"
|
|
||||||
:img-src="getsrcbyimg(firstimagehome())">
|
|
||||||
<div class="landing__header"></div>
|
|
||||||
<div class="landing__hero-content row justify-center q-gutter-xs clgutter">
|
|
||||||
<div class="row">
|
|
||||||
|
|
||||||
</div>
|
|
||||||
<div class="flex justify-end">
|
|
||||||
<div class="q-gutter-xs testo-banda clgutter">
|
|
||||||
<h1 class="text-h1 shadow-max">{{tools.getappname()}}</h1>
|
|
||||||
<div class="text-subtitle1 shadow text-italic q-pl-sm">
|
|
||||||
|
|
||||||
</div>
|
|
||||||
<div class="text-subtitle1 shadow-max big text-italic q-pl-sm">
|
|
||||||
|
|
||||||
</div>
|
|
||||||
<div class="text-subtitle2 shadow text-italic q-pl-sm">
|
|
||||||
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div>
|
|
||||||
<br>
|
|
||||||
<br>
|
|
||||||
<div v-if="!tools.isLogged()" style="margin: 5px; padding: 5px;" class="home">
|
|
||||||
<br>
|
|
||||||
<br>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div class="landing__arrow absolute-bottom text-center">
|
|
||||||
<i aria-hidden="true"
|
|
||||||
class="q-icon text-h2 text-white material-icons">expand_more</i>
|
|
||||||
</div>
|
|
||||||
</q-carousel-slide>
|
|
||||||
<q-carousel-slide name="second"
|
|
||||||
:img-src="getsrcbyimg('images/background2.jpg')" alt="">
|
|
||||||
<div class="landing__header"></div>
|
|
||||||
<div class="landing__hero2-content row justify-center q-gutter-xs clgutter">
|
|
||||||
<div class="row">
|
|
||||||
<logo></logo>
|
|
||||||
</div>
|
|
||||||
<div class="flex justify-end">
|
|
||||||
<div class="q-gutter-xs testo-banda clgutter">
|
|
||||||
<h1 class="text-h1 shadow-max">{{tools.getappname()}}</h1>
|
|
||||||
<h2 class="text-subtitle1 shadow text-italic q-pl-sm">
|
|
||||||
{{$t('msg.sottoTitoloApp')}}
|
|
||||||
</h2>
|
|
||||||
<h2 class="text-subtitle1 shadow-max big text-italic q-pl-sm">
|
|
||||||
<strong>{{$t('msg.sottoTitoloApp2')}}</strong>
|
|
||||||
</h2>
|
|
||||||
<h2 class="text-subtitle2 shadow text-italic q-pl-sm">
|
|
||||||
{{$t('msg.sottoTitoloApp3')}}
|
|
||||||
</h2>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div class="landing__arrow absolute-bottom text-center">
|
|
||||||
<i aria-hidden="true"
|
|
||||||
class="q-icon text-h2 text-white material-icons">expand_more</i>
|
|
||||||
</div>
|
|
||||||
</q-carousel-slide>
|
|
||||||
<q-carousel-slide name="third"
|
|
||||||
:img-src="getsrcbyimg('images/background3.jpg')">
|
|
||||||
<div class="landing__header"></div>
|
|
||||||
<div class="landing__hero2-content row justify-center q-gutter-xs clgutter">
|
|
||||||
<div class="row">
|
|
||||||
<logo></logo>
|
|
||||||
</div>
|
|
||||||
<div class="flex justify-end">
|
|
||||||
<div class="q-gutter-xs testo-banda clgutter">
|
|
||||||
<div class="text-h1 shadow-max">{{tools.getappname()}}</div>
|
|
||||||
<div class="text-subtitle1 shadow text-italic q-pl-sm">
|
|
||||||
{{$t('msg.sottoTitoloApp')}}
|
|
||||||
</div>
|
|
||||||
<div class="text-subtitle1 shadow-max big text-italic q-pl-sm"><strong>{{$t('msg.sottoTitoloApp2')}}</strong>
|
|
||||||
</div>
|
|
||||||
<div class="text-subtitle2 shadow text-italic q-pl-sm">
|
|
||||||
{{$t('msg.sottoTitoloApp3')}}
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div class="text-subtitle3 shadow text-italic q-pl-sm ">
|
|
||||||
{{$t('msg.sottoTitoloApp4')}}
|
|
||||||
</div>
|
|
||||||
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div class="landing__arrow absolute-bottom text-center">
|
|
||||||
<!--<i aria-hidden="true"-->
|
|
||||||
<!--class="q-icon text-h2 text-white material-icons">expand_more</i>-->
|
|
||||||
</div>
|
|
||||||
</q-carousel-slide>
|
|
||||||
</q-carousel>
|
|
||||||
|
|
||||||
</div>
|
|
||||||
</section>
|
|
||||||
|
|
||||||
<div class="q-pa-md q-gutter-md">
|
|
||||||
<div v-if="isLogged && !isVerified" class="text-verified">{{
|
|
||||||
$t('components.authentication.email_verification.link_sent') }}
|
|
||||||
</div>
|
|
||||||
|
|
||||||
</div>
|
|
||||||
|
|
||||||
|
|
||||||
<CCardCarousel :myarr="getArrDisciplines()">
|
|
||||||
|
|
||||||
</CCardCarousel>
|
|
||||||
|
|
||||||
<CEventsCalendar :mysingleevent="null" :showfirstN="getValDb('SHOW_LAST_EVENTS', false, 3)">
|
|
||||||
|
|
||||||
</CEventsCalendar>
|
|
||||||
|
|
||||||
|
|
||||||
<div v-if="getValDb('VIDEO_HOME', false)" class="row justify-evenly items-center q-gutter-md ">
|
|
||||||
|
|
||||||
<div class="text-center">
|
|
||||||
<h4 class="subtitle text-blue" v-html="getValDb('VIDEO_TITLE', false)"></h4>
|
|
||||||
<div class="">
|
|
||||||
<video :width="tools.getwidthscale(mythis, 320, 800)"
|
|
||||||
:height="tools.getheightbywidth(mythis, 320, 180, 800)" controls>
|
|
||||||
<source :src="getValDb('VIDEO_HOME', false)" type="video/mp4">
|
|
||||||
</video>
|
|
||||||
</div>
|
|
||||||
<!--<q-video src="../../statics/video/Intervista_Cristina_Barattoni.mp4">-->
|
|
||||||
|
|
||||||
<!--</q-video>-->
|
|
||||||
</div>
|
|
||||||
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div v-if="getValDb('YT_VIDEO', false)" class="row justify-evenly items-center q-gutter-md ">
|
|
||||||
|
|
||||||
<div class="text-center">
|
|
||||||
<h4 class="subtitle text-blue" v-html="getValDb('YT_TITLE', false)"></h4>
|
|
||||||
<div class="">
|
|
||||||
|
|
||||||
<div class="">
|
|
||||||
<iframe
|
|
||||||
:width="tools.getwidthscale(mythis, getValDb('YT_W', false), 800)"
|
|
||||||
:height="tools.getheightbywidth(mythis, getValDb('YT_W', false), getValDb('YT_H', false), 800)"
|
|
||||||
:src="getValDb('YT_VIDEO', false)"
|
|
||||||
frameborder="0"
|
|
||||||
allowfullscreen
|
|
||||||
></iframe>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<!--<q-video src="../../statics/video/Intervista_Cristina_Barattoni.mp4">-->
|
|
||||||
|
|
||||||
<!--</q-video>-->
|
|
||||||
</div>
|
|
||||||
|
|
||||||
</div>
|
|
||||||
|
|
||||||
|
|
||||||
<section class="maxwidth padding_gallery bg-white text-grey-10 text-center" >
|
|
||||||
|
|
||||||
<q-carousel
|
|
||||||
swipeable
|
|
||||||
animated
|
|
||||||
:autoplay="8000"
|
|
||||||
v-model="slide2"
|
|
||||||
arrows
|
|
||||||
thumbnails
|
|
||||||
infinite
|
|
||||||
:height="tools.heightgallery()">
|
|
||||||
<q-carousel-slide v-for="(rec, index) in getImmagini" :key="index" :name="index"
|
|
||||||
:img-src="rec.img"
|
|
||||||
:alt="rec.alt"
|
|
||||||
class="carousel_slide">
|
|
||||||
<div class="absolute-bottom custom-caption" style="margin-bottom: 70px">
|
|
||||||
<div class="text-h5"><span
|
|
||||||
class="text-h6 text-grey-1 shadow-max">{{index + 1}}. </span><span
|
|
||||||
class="text-h6 text-grey-2 shadow">{{rec.title}}</span></div>
|
|
||||||
<div class="text-subtitle1"><span class="text-grey-4 shadow">{{rec.subtitle}}</span>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</q-carousel-slide>
|
|
||||||
</q-carousel>
|
|
||||||
</section>
|
|
||||||
<div v-if="!tools.isMobile()" style="margin: 60px 60px;"></div>
|
|
||||||
|
|
||||||
<COpenStreetMap :imgmap="getValDb('IMGMAP', false)" :urlmap="getValDb('URLMAP', false)" :title="getValDb('MAP_TITLE', false)"
|
|
||||||
:coordinates="getValDb('COORD_MAP_1', false)" :coord_big="getValDb('COORD_MAP_BIG', false)">
|
|
||||||
|
|
||||||
</COpenStreetMap>
|
|
||||||
|
|
||||||
<div class="q-ma-md"></div>
|
|
||||||
</div>
|
|
||||||
</CMyPage>
|
|
||||||
</q-page>
|
|
||||||
</template>
|
|
||||||
|
|
||||||
<script lang="ts" src="./home_tdv.ts">
|
|
||||||
</script>
|
|
||||||
|
|
||||||
<style lang="scss" scoped>
|
|
||||||
@import './home_tdv.scss';
|
|
||||||
</style>
|
|
||||||
@@ -1,452 +0,0 @@
|
|||||||
|
|
||||||
.testo-banda {
|
|
||||||
//background: -webkit-gradient(linear, left top, left bottom, from(#3144f0), to(transparent));
|
|
||||||
//background: linear-gradient(180deg, #3144f0, transparent);
|
|
||||||
//background: rgba(0, 0, 0, .6)
|
|
||||||
}
|
|
||||||
|
|
||||||
$grayshadow: #555;
|
|
||||||
|
|
||||||
$textcol: blue;
|
|
||||||
$textcol_scuro: darkblue;
|
|
||||||
|
|
||||||
p {
|
|
||||||
margin: 0 0 1.25rem;
|
|
||||||
//text-shadow: .125rem .125rem .25rem $grayshadow;
|
|
||||||
}
|
|
||||||
|
|
||||||
h4 {
|
|
||||||
font-size: 1.25rem;
|
|
||||||
}
|
|
||||||
|
|
||||||
.mycard {
|
|
||||||
visibility: hidden;
|
|
||||||
}
|
|
||||||
|
|
||||||
.landing {
|
|
||||||
}
|
|
||||||
|
|
||||||
.landing_background {
|
|
||||||
background: #000 url(../../../public/images/foto1.jpg) no-repeat 50% fixed;
|
|
||||||
background-size: cover
|
|
||||||
}
|
|
||||||
|
|
||||||
.landing > section {
|
|
||||||
display: -webkit-box;
|
|
||||||
display: -ms-flexbox;
|
|
||||||
display: flex;
|
|
||||||
-webkit-box-pack: center;
|
|
||||||
-ms-flex-pack: center;
|
|
||||||
justify-content: center;
|
|
||||||
//padding: 0 16px
|
|
||||||
}
|
|
||||||
|
|
||||||
.intro {
|
|
||||||
display: flex;
|
|
||||||
justify-content: space-between;
|
|
||||||
align-items: stretch;
|
|
||||||
/* flex-flow: row nowrap; */
|
|
||||||
|
|
||||||
padding: 1.25rem 0 1.25rem 0;
|
|
||||||
margin: .125rem;
|
|
||||||
|
|
||||||
* {
|
|
||||||
width: 100%;
|
|
||||||
flex: 1;
|
|
||||||
margin-left: auto;
|
|
||||||
margin-right: auto;
|
|
||||||
}
|
|
||||||
|
|
||||||
&__associazione {
|
|
||||||
min-width: 350px;
|
|
||||||
}
|
|
||||||
|
|
||||||
&__comeassociarsi {
|
|
||||||
min-width: 350px;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
.subtitle {
|
|
||||||
font-weight: 600;
|
|
||||||
text-align: center;
|
|
||||||
letter-spacing: 0.125rem;
|
|
||||||
text-transform: uppercase;
|
|
||||||
font-size: 1rem;
|
|
||||||
}
|
|
||||||
|
|
||||||
.landing > section.padding {
|
|
||||||
padding: 5.62rem 1rem;
|
|
||||||
}
|
|
||||||
|
|
||||||
.landing > section.padding_testo {
|
|
||||||
padding-top: 1.25rem;
|
|
||||||
padding-bottom: 1rem;
|
|
||||||
}
|
|
||||||
|
|
||||||
.landing > section.padding_gallery {
|
|
||||||
padding-top: 3.125rem;
|
|
||||||
padding-bottom: 5.625rem;
|
|
||||||
}
|
|
||||||
|
|
||||||
.landing > section > div {
|
|
||||||
position: relative;
|
|
||||||
width: 100%
|
|
||||||
}
|
|
||||||
|
|
||||||
.maxwidth1200 {
|
|
||||||
max-width: 1200px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.landing__toolbar {
|
|
||||||
background: -webkit-gradient(linear, left top, left bottom, from(#000), to(transparent));
|
|
||||||
background: linear-gradient(180deg, #000, transparent);
|
|
||||||
padding: 0 !important
|
|
||||||
}
|
|
||||||
|
|
||||||
.landing__toolbar .q-btn {
|
|
||||||
border-radius: 0 0 .315rem .315rem;
|
|
||||||
-ms-flex-item-align: stretch;
|
|
||||||
align-self: stretch
|
|
||||||
}
|
|
||||||
|
|
||||||
.landing__hero {
|
|
||||||
min-height: 50vh
|
|
||||||
}
|
|
||||||
|
|
||||||
.landing__header {
|
|
||||||
height: 18vh
|
|
||||||
}
|
|
||||||
|
|
||||||
.landing__arrow {
|
|
||||||
bottom: 1.5rem;
|
|
||||||
opacity: .4
|
|
||||||
}
|
|
||||||
|
|
||||||
.landing__front {
|
|
||||||
background: -webkit-gradient(linear, left top, left bottom, from(transparent), color-stop(15%, rgba(0, 0, 0, .6)));
|
|
||||||
background: linear-gradient(180deg, transparent, rgba(0, 0, 0, .6) 15%)
|
|
||||||
}
|
|
||||||
|
|
||||||
.landing__logo {
|
|
||||||
width: 9.40rem;
|
|
||||||
height: 9.40rem;
|
|
||||||
margin-top: 1.315rem;
|
|
||||||
//-webkit-animation: logo-rotate 240s linear infinite;
|
|
||||||
//animation: logo-rotate 240s linear infinite
|
|
||||||
}
|
|
||||||
|
|
||||||
.landing__features .q-icon {
|
|
||||||
font-size: 4rem
|
|
||||||
}
|
|
||||||
|
|
||||||
h4 {
|
|
||||||
line-height: 1.5;
|
|
||||||
text-shadow: .25rem .25rem .5rem $grayshadow;
|
|
||||||
}
|
|
||||||
|
|
||||||
.landing__features h4, .landing__features h6 {
|
|
||||||
margin: 1rem 0
|
|
||||||
}
|
|
||||||
|
|
||||||
.landing__features p {
|
|
||||||
opacity: .7;
|
|
||||||
font-size: 1rem;
|
|
||||||
line-height: 1.5;
|
|
||||||
}
|
|
||||||
|
|
||||||
.landing__footer {
|
|
||||||
//background: -webkit-gradient(linear, left top, left bottom, color-stop(65%, rgba(0, 0, 0, .1)), to(#000));
|
|
||||||
background: linear-gradient(180deg, rgba(0, 0, 0, .8) 95%, #FFF);
|
|
||||||
padding-top: 4.5rem !important;
|
|
||||||
padding-bottom: 4.5rem !important;
|
|
||||||
padding-left: 1.25rem;
|
|
||||||
padding-right: 1.25rem;
|
|
||||||
color: #9f9f9f;
|
|
||||||
}
|
|
||||||
|
|
||||||
.icon_contact:hover {
|
|
||||||
color: blue;
|
|
||||||
border-color: white;
|
|
||||||
border-width: .0625rem;
|
|
||||||
}
|
|
||||||
|
|
||||||
.landing__footer .doc-link {
|
|
||||||
color: $textcol;
|
|
||||||
}
|
|
||||||
|
|
||||||
.landing__footer .doc-link:hover {
|
|
||||||
opacity: .8
|
|
||||||
}
|
|
||||||
|
|
||||||
.landing__swirl-bg {
|
|
||||||
background-repeat: no-repeat !important;
|
|
||||||
background-position: top;
|
|
||||||
background-size: contain !important;
|
|
||||||
background-image: url(../../../public/images/landing_first_section.png) !important
|
|
||||||
}
|
|
||||||
|
|
||||||
.feat-descr {
|
|
||||||
font-size: 1.15rem;
|
|
||||||
}
|
|
||||||
|
|
||||||
.feat-descr:hover {
|
|
||||||
transition: opacity 0.5s ease-in-out;
|
|
||||||
opacity: 0.9;
|
|
||||||
}
|
|
||||||
|
|
||||||
.q-col-gutter-sm {
|
|
||||||
padding: 3.125rem 3.125rem;
|
|
||||||
//margin-left: -48px
|
|
||||||
}
|
|
||||||
|
|
||||||
body.mobile .landing {
|
|
||||||
//background: unset
|
|
||||||
}
|
|
||||||
|
|
||||||
body.mobile .landing:before {
|
|
||||||
content: "";
|
|
||||||
position: fixed;
|
|
||||||
top: 0;
|
|
||||||
height: 100vh;
|
|
||||||
left: 0;
|
|
||||||
right: 0;
|
|
||||||
bottom: 0;
|
|
||||||
z-index: -1;
|
|
||||||
//background: #000 url(../../public/images/cover.jpg) 50%;
|
|
||||||
|
|
||||||
background-size: cover
|
|
||||||
}
|
|
||||||
|
|
||||||
/*
|
|
||||||
@-webkit-keyframes logo-rotate {
|
|
||||||
to {
|
|
||||||
-webkit-transform: rotate(-1turn);
|
|
||||||
transform: rotate(-1turn)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
@keyframes logo-rotate {
|
|
||||||
to {
|
|
||||||
-webkit-transform: rotate(-1turn);
|
|
||||||
transform: rotate(-1turn)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
*/
|
|
||||||
|
|
||||||
.home {
|
|
||||||
//background-color: rgb(250, 250, 250);
|
|
||||||
padding: 3.125rem;
|
|
||||||
display: flex;
|
|
||||||
//flex-wrap: nowrap;
|
|
||||||
flex-direction: column;
|
|
||||||
align-items: center;
|
|
||||||
justify-content: space-between;
|
|
||||||
}
|
|
||||||
|
|
||||||
.btn-start {
|
|
||||||
margin: 3.125rem;
|
|
||||||
}
|
|
||||||
|
|
||||||
.shadow {
|
|
||||||
//color: white;
|
|
||||||
text-shadow: 0.125rem 0.125rem 0.25rem $grayshadow;
|
|
||||||
}
|
|
||||||
|
|
||||||
.text-h1, h1 {
|
|
||||||
font-size: 3rem;
|
|
||||||
font-weight: bold;
|
|
||||||
line-height: 3rem;
|
|
||||||
letter-spacing: -.01562em;
|
|
||||||
margin-bottom: 8px !important;
|
|
||||||
}
|
|
||||||
|
|
||||||
.text-h2 {
|
|
||||||
font-size: 3.75rem;
|
|
||||||
font-weight: 300;
|
|
||||||
line-height: 3.75rem;
|
|
||||||
letter-spacing: -.00833em;
|
|
||||||
}
|
|
||||||
|
|
||||||
.text-weight-bold {
|
|
||||||
font-weight: 700;
|
|
||||||
}
|
|
||||||
|
|
||||||
.text-vers {
|
|
||||||
font-size: 0.75rem;
|
|
||||||
font-weight: 400;
|
|
||||||
line-height: 1.75rem;
|
|
||||||
letter-spacing: .00937em;
|
|
||||||
text-shadow: .25rem .25rem .5rem $grayshadow;
|
|
||||||
}
|
|
||||||
|
|
||||||
.homep-cover-img-1 {
|
|
||||||
background: #000 url(../../../public/images/foto1.jpg) no-repeat 50% fixed;
|
|
||||||
//transition: background-image 1s ease-in-out;
|
|
||||||
}
|
|
||||||
|
|
||||||
.homep-cover-img-2 {
|
|
||||||
background: #000 url(../../../public/images/foto2.jpg) no-repeat 50% fixed;
|
|
||||||
//transition: background-image 1s ease-in-out;
|
|
||||||
}
|
|
||||||
|
|
||||||
.homep-cover-img-3 {
|
|
||||||
background: #000 url(../../../public/images/foto3.jpg) no-repeat 50% fixed;
|
|
||||||
//transition: background-image 1s ease-in-out;
|
|
||||||
}
|
|
||||||
|
|
||||||
.homep-cover-img.hide-filter:before {
|
|
||||||
opacity: 0
|
|
||||||
}
|
|
||||||
|
|
||||||
.landing__footer-icons {
|
|
||||||
font-size: 1.75rem
|
|
||||||
}
|
|
||||||
|
|
||||||
.landing__footer-icons a {
|
|
||||||
margin: 0 .5rem .5rem;
|
|
||||||
text-decoration: none;
|
|
||||||
outline: 0;
|
|
||||||
color: $textcol;
|
|
||||||
transition: color .28s
|
|
||||||
}
|
|
||||||
|
|
||||||
.landing__footer-icons a:hover {
|
|
||||||
color: $textcol_scuro;
|
|
||||||
}
|
|
||||||
|
|
||||||
.doc-img {
|
|
||||||
max-width: 100%;
|
|
||||||
}
|
|
||||||
|
|
||||||
.mylist {
|
|
||||||
background: #3fdaff;
|
|
||||||
padding-left: 1.25rem;
|
|
||||||
}
|
|
||||||
|
|
||||||
.clgutter {
|
|
||||||
margin-top: 1.25rem;
|
|
||||||
padding: .62rem;
|
|
||||||
}
|
|
||||||
|
|
||||||
.carousel_img_3 {
|
|
||||||
//background-image: url(../../public/images/cibo_sano.jpg);
|
|
||||||
background-size: cover !important;
|
|
||||||
background-position: 50% center !important;
|
|
||||||
background-repeat: no-repeat !important;
|
|
||||||
}
|
|
||||||
|
|
||||||
@media (max-width: 718px) {
|
|
||||||
// PER VERSIONE MOBILE
|
|
||||||
|
|
||||||
.landing__hero {
|
|
||||||
text-align: center
|
|
||||||
}
|
|
||||||
.landing__header {
|
|
||||||
height: 7vh
|
|
||||||
}
|
|
||||||
.clgutter {
|
|
||||||
margin-top: 0;
|
|
||||||
padding: 0;
|
|
||||||
}
|
|
||||||
.landing__hero .text-h1, h1 {
|
|
||||||
font-size: 2rem;
|
|
||||||
line-height: 2.05rem;
|
|
||||||
margin-bottom: 1.25rem
|
|
||||||
}
|
|
||||||
|
|
||||||
.landing > section.padding {
|
|
||||||
padding: 2.5rem 1rem;
|
|
||||||
}
|
|
||||||
|
|
||||||
.landing > section.padding_testo {
|
|
||||||
padding-top: 1.25rem;
|
|
||||||
padding-bottom: 1rem;
|
|
||||||
}
|
|
||||||
|
|
||||||
.landing > section.padding_gallery {
|
|
||||||
padding-top: 3.125rem;
|
|
||||||
padding-bottom: 5.625rem;
|
|
||||||
|
|
||||||
max-width: 800px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.landing > section.padding_gallery > div {
|
|
||||||
padding-top: 3.125rem;
|
|
||||||
padding-bottom: 5.625rem;
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
.landing__features h4, .landing__features h6 {
|
|
||||||
margin: 1.25rem 0
|
|
||||||
}
|
|
||||||
|
|
||||||
h4 {
|
|
||||||
line-height: 1.4;
|
|
||||||
text-shadow: 0.25rem 0.25rem 0.5rem $grayshadow;
|
|
||||||
}
|
|
||||||
|
|
||||||
.landing .feature-item {
|
|
||||||
text-align: center;
|
|
||||||
margin-top: 1.25rem;
|
|
||||||
}
|
|
||||||
.landing__hero-content {
|
|
||||||
padding-bottom: 11.25rem;
|
|
||||||
}
|
|
||||||
.landing__hero2-content {
|
|
||||||
padding-bottom: 7.25rem;
|
|
||||||
}
|
|
||||||
.landing__hero-btns {
|
|
||||||
-webkit-box-pack: center;
|
|
||||||
-ms-flex-pack: center;
|
|
||||||
justify-content: center
|
|
||||||
}
|
|
||||||
|
|
||||||
.q-col-gutter-sm {
|
|
||||||
padding: .625rem .315rem;
|
|
||||||
}
|
|
||||||
|
|
||||||
.text-subtitle1 {
|
|
||||||
font-size: 1.25rem;
|
|
||||||
}
|
|
||||||
.text-vers {
|
|
||||||
font-size: 0.6rem;
|
|
||||||
}
|
|
||||||
|
|
||||||
.carousel_img_3 {
|
|
||||||
//background-image: url(../../public/images/cibo_sano.jpg);
|
|
||||||
background-size: 620px 620px !important;
|
|
||||||
background-position: 50% top !important;
|
|
||||||
background-repeat: no-repeat !important;
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
.custom-caption {
|
|
||||||
text-align: center;
|
|
||||||
padding: .75rem;
|
|
||||||
color: $textcol;
|
|
||||||
background-color: rgba(0, 0, 0, .3);
|
|
||||||
}
|
|
||||||
|
|
||||||
.sfondo-grigio {
|
|
||||||
padding: 1rem;
|
|
||||||
color: $textcol;
|
|
||||||
background-color: rgba(0, 0, 0, .35);
|
|
||||||
}
|
|
||||||
|
|
||||||
.mycontacts {
|
|
||||||
color: gray;
|
|
||||||
letter-spacing: 0.078rem;
|
|
||||||
}
|
|
||||||
|
|
||||||
.mycontacts_title {
|
|
||||||
text-shadow: 0.125rem 0.125rem 0.125rem #555;
|
|
||||||
font-weight: bold;
|
|
||||||
color: #999;
|
|
||||||
letter-spacing: 0.125rem;
|
|
||||||
}
|
|
||||||
|
|
||||||
.mycontacts_text {
|
|
||||||
color: #999;
|
|
||||||
letter-spacing: 0.093rem;
|
|
||||||
}
|
|
||||||
@@ -1,78 +0,0 @@
|
|||||||
import { defineComponent, ref, onMounted, watch, computed } from 'vue'
|
|
||||||
|
|
||||||
import { useGlobalStore } from '@store/globalStore'
|
|
||||||
import { useRoute } from 'vue-router'
|
|
||||||
import { useUserStore } from '@store/UserStore'
|
|
||||||
|
|
||||||
import { Logo } from '../../components/logo'
|
|
||||||
|
|
||||||
import { LandingFooter } from '../../components/LandingFooter'
|
|
||||||
import { CMyPage } from '../../components/CMyPage/index'
|
|
||||||
|
|
||||||
import { tools } from '@src/store/Modules/tools'
|
|
||||||
import { static_data } from '@src/db/static_data'
|
|
||||||
import { toolsext } from '@src/store/Modules/toolsext'
|
|
||||||
import { Screen } from 'quasar'
|
|
||||||
import { CCardCarousel, CEventsCalendar, COpenStreetMap } from '@components'
|
|
||||||
import MixinBase from '@src/mixins/mixin-base'
|
|
||||||
import { firstimagehome } from '@src/db/static_data'
|
|
||||||
import MixinMetaTags from '@/mixins/mixin-metatags'
|
|
||||||
|
|
||||||
export default defineComponent({
|
|
||||||
name: 'home_arcadei',
|
|
||||||
components: { Logo, LandingFooter, CMyPage, CCardCarousel, CEventsCalendar, COpenStreetMap },
|
|
||||||
|
|
||||||
setup() {
|
|
||||||
const animare = ref(0)
|
|
||||||
const slide = ref('first')
|
|
||||||
const slide2 = ref(1)
|
|
||||||
|
|
||||||
const getImmagini = ref([
|
|
||||||
{
|
|
||||||
title: '', subtitle: '',
|
|
||||||
alt: 'Arcadei',
|
|
||||||
img: 'images/arcadei/img1.png'
|
|
||||||
},
|
|
||||||
])
|
|
||||||
|
|
||||||
const userStore = useUserStore()
|
|
||||||
const globalStore = useGlobalStore()
|
|
||||||
|
|
||||||
const { setValDb, getValDb } = MixinBase()
|
|
||||||
const { setmeta, getsrcbyimg } = MixinMetaTags()
|
|
||||||
|
|
||||||
function getheightgallery() {
|
|
||||||
if (tools.isMobile())
|
|
||||||
return '400px'
|
|
||||||
else
|
|
||||||
return '600px'
|
|
||||||
}
|
|
||||||
|
|
||||||
function created() {
|
|
||||||
//
|
|
||||||
}
|
|
||||||
|
|
||||||
function getArrDisciplines() {
|
|
||||||
return globalStore.disciplines.filter((rec: any) => rec.showinhome)
|
|
||||||
}
|
|
||||||
|
|
||||||
created()
|
|
||||||
|
|
||||||
return {
|
|
||||||
tools,
|
|
||||||
toolsext,
|
|
||||||
static_data,
|
|
||||||
animare,
|
|
||||||
slide,
|
|
||||||
slide2,
|
|
||||||
getheightgallery,
|
|
||||||
getArrDisciplines,
|
|
||||||
getImmagini,
|
|
||||||
getValDb,
|
|
||||||
firstimagehome,
|
|
||||||
getsrcbyimg,
|
|
||||||
setmeta,
|
|
||||||
}
|
|
||||||
},
|
|
||||||
})
|
|
||||||
|
|
||||||
@@ -1,221 +0,0 @@
|
|||||||
<template>
|
|
||||||
<q-page>
|
|
||||||
<CMyPage title="Home">
|
|
||||||
<div class="landing">
|
|
||||||
<section>
|
|
||||||
<div class="landing__hero maxwidth1200 text-white">
|
|
||||||
<q-carousel
|
|
||||||
animated
|
|
||||||
:autoplay="animare"
|
|
||||||
swipeable
|
|
||||||
infinite
|
|
||||||
navigation
|
|
||||||
transition-next="slide-left"
|
|
||||||
transition-prev="slide-right"
|
|
||||||
v-model="slide"
|
|
||||||
:height="getheightgallery()"
|
|
||||||
width="100%"
|
|
||||||
>
|
|
||||||
<q-carousel-slide name="first"
|
|
||||||
:img-src="getsrcbyimg(firstimagehome())">
|
|
||||||
<div class="landing__header"></div>
|
|
||||||
<div class="landing__hero-content row justify-center q-gutter-xs clgutter">
|
|
||||||
<div class="row">
|
|
||||||
|
|
||||||
</div>
|
|
||||||
<div class="flex justify-end">
|
|
||||||
<div class="q-gutter-xs testo-banda clgutter">
|
|
||||||
<h1 class="text-h1 shadow-max">{{tools.getappname()}}</h1>
|
|
||||||
<div class="text-subtitle1 shadow text-italic q-pl-sm">
|
|
||||||
|
|
||||||
</div>
|
|
||||||
<div class="text-subtitle1 shadow-max big text-italic q-pl-sm">
|
|
||||||
|
|
||||||
</div>
|
|
||||||
<div class="text-subtitle2 shadow text-italic q-pl-sm">
|
|
||||||
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div>
|
|
||||||
<br>
|
|
||||||
<br>
|
|
||||||
<div v-if="!tools.isLogged()" style="margin: 5px; padding: 5px;" class="home">
|
|
||||||
<br>
|
|
||||||
<br>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div class="landing__arrow absolute-bottom text-center">
|
|
||||||
<i aria-hidden="true"
|
|
||||||
class="q-icon text-h2 text-white material-icons">expand_more</i>
|
|
||||||
</div>
|
|
||||||
</q-carousel-slide>
|
|
||||||
<q-carousel-slide name="second"
|
|
||||||
:img-src="getsrcbyimg('images/background2.jpg')" alt="">
|
|
||||||
<div class="landing__header"></div>
|
|
||||||
<div class="landing__hero2-content row justify-center q-gutter-xs clgutter">
|
|
||||||
<div class="row">
|
|
||||||
<logo></logo>
|
|
||||||
</div>
|
|
||||||
<div class="flex justify-end">
|
|
||||||
<div class="q-gutter-xs testo-banda clgutter">
|
|
||||||
<h1 class="text-h1 shadow-max">{{tools.getappname()}}</h1>
|
|
||||||
<h2 class="text-subtitle1 shadow text-italic q-pl-sm">
|
|
||||||
{{$t('msg.sottoTitoloApp')}}
|
|
||||||
</h2>
|
|
||||||
<h2 class="text-subtitle1 shadow-max big text-italic q-pl-sm">
|
|
||||||
<strong>{{$t('msg.sottoTitoloApp2')}}</strong>
|
|
||||||
</h2>
|
|
||||||
<h2 class="text-subtitle2 shadow text-italic q-pl-sm">
|
|
||||||
{{$t('msg.sottoTitoloApp3')}}
|
|
||||||
</h2>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div class="landing__arrow absolute-bottom text-center">
|
|
||||||
<i aria-hidden="true"
|
|
||||||
class="q-icon text-h2 text-white material-icons">expand_more</i>
|
|
||||||
</div>
|
|
||||||
</q-carousel-slide>
|
|
||||||
<q-carousel-slide name="third"
|
|
||||||
:img-src="getsrcbyimg('images/background3.jpg')">
|
|
||||||
<div class="landing__header"></div>
|
|
||||||
<div class="landing__hero2-content row justify-center q-gutter-xs clgutter">
|
|
||||||
<div class="row">
|
|
||||||
<logo></logo>
|
|
||||||
</div>
|
|
||||||
<div class="flex justify-end">
|
|
||||||
<div class="q-gutter-xs testo-banda clgutter">
|
|
||||||
<div class="text-h1 shadow-max">{{tools.getappname()}}</div>
|
|
||||||
<div class="text-subtitle1 shadow text-italic q-pl-sm">
|
|
||||||
{{$t('msg.sottoTitoloApp')}}
|
|
||||||
</div>
|
|
||||||
<div class="text-subtitle1 shadow-max big text-italic q-pl-sm"><strong>{{$t('msg.sottoTitoloApp2')}}</strong>
|
|
||||||
</div>
|
|
||||||
<div class="text-subtitle2 shadow text-italic q-pl-sm">
|
|
||||||
{{$t('msg.sottoTitoloApp3')}}
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div class="text-subtitle3 shadow text-italic q-pl-sm ">
|
|
||||||
{{$t('msg.sottoTitoloApp4')}}
|
|
||||||
</div>
|
|
||||||
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div class="landing__arrow absolute-bottom text-center">
|
|
||||||
<!--<i aria-hidden="true"-->
|
|
||||||
<!--class="q-icon text-h2 text-white material-icons">expand_more</i>-->
|
|
||||||
</div>
|
|
||||||
</q-carousel-slide>
|
|
||||||
</q-carousel>
|
|
||||||
|
|
||||||
</div>
|
|
||||||
</section>
|
|
||||||
|
|
||||||
<div class="q-pa-md q-gutter-md">
|
|
||||||
<div v-if="isLogged && !isVerified" class="text-verified">{{
|
|
||||||
$t('components.authentication.email_verification.link_sent') }}
|
|
||||||
</div>
|
|
||||||
|
|
||||||
</div>
|
|
||||||
|
|
||||||
|
|
||||||
<CCardCarousel :myarr="getArrDisciplines()">
|
|
||||||
|
|
||||||
</CCardCarousel>
|
|
||||||
|
|
||||||
<CEventsCalendar :mysingleevent="null" :showfirstN="getValDb('SHOW_LAST_EVENTS', false, 3)">
|
|
||||||
|
|
||||||
</CEventsCalendar>
|
|
||||||
|
|
||||||
|
|
||||||
<div v-if="getValDb('VIDEO_HOME', false)" class="row justify-evenly items-center q-gutter-md ">
|
|
||||||
|
|
||||||
<div class="text-center">
|
|
||||||
<h4 class="subtitle text-blue" v-html="getValDb('VIDEO_TITLE', false)"></h4>
|
|
||||||
<div class="">
|
|
||||||
<video :width="tools.getwidthscale(mythis, 320, 800)"
|
|
||||||
:height="tools.getheightbywidth(mythis, 320, 180, 800)" controls>
|
|
||||||
<source :src="getValDb('VIDEO_HOME', false)" type="video/mp4">
|
|
||||||
</video>
|
|
||||||
</div>
|
|
||||||
<!--<q-video src="../../statics/video/Intervista_Cristina_Barattoni.mp4">-->
|
|
||||||
|
|
||||||
<!--</q-video>-->
|
|
||||||
</div>
|
|
||||||
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div v-if="getValDb('YT_VIDEO', false)" class="row justify-evenly items-center q-gutter-md ">
|
|
||||||
|
|
||||||
<div class="text-center">
|
|
||||||
<h4 class="subtitle text-blue" v-html="getValDb('YT_TITLE', false)"></h4>
|
|
||||||
<div class="">
|
|
||||||
|
|
||||||
<div class="">
|
|
||||||
<iframe
|
|
||||||
:width="tools.getwidthscale(mythis, getValDb('YT_W', false), 800)"
|
|
||||||
:height="tools.getheightbywidth(mythis, getValDb('YT_W', false), getValDb('YT_H', false), 800)"
|
|
||||||
:src="getValDb('YT_VIDEO', false)"
|
|
||||||
frameborder="0"
|
|
||||||
allowfullscreen
|
|
||||||
></iframe>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<!--<q-video src="../../statics/video/Intervista_Cristina_Barattoni.mp4">-->
|
|
||||||
|
|
||||||
<!--</q-video>-->
|
|
||||||
</div>
|
|
||||||
|
|
||||||
</div>
|
|
||||||
|
|
||||||
|
|
||||||
<section :class="`maxwidth padding_gallery `+ ($q.dark.isActive ? `bg-black` : `bg-white`) + ` text-grey-10 text-center`" >
|
|
||||||
|
|
||||||
<q-carousel
|
|
||||||
swipeable
|
|
||||||
animated
|
|
||||||
:autoplay="8000"
|
|
||||||
v-model="slide2"
|
|
||||||
arrows
|
|
||||||
thumbnails
|
|
||||||
infinite
|
|
||||||
height="600">
|
|
||||||
<q-carousel-slide v-for="(rec, index) in getImmagini" :key="index" :name="index"
|
|
||||||
:img-src="rec.img"
|
|
||||||
:alt="rec.alt"
|
|
||||||
class="carousel_slide">
|
|
||||||
<div class="absolute-bottom custom-caption" style="margin-bottom: 70px">
|
|
||||||
<div class="text-h5"><span
|
|
||||||
class="text-h6 text-grey-1 shadow-max">{{index + 1}}. </span><span
|
|
||||||
class="text-h6 text-grey-2 shadow">{{rec.title}}</span></div>
|
|
||||||
<div class="text-subtitle1"><span class="text-grey-4 shadow">{{rec.subtitle}}</span>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</q-carousel-slide>
|
|
||||||
</q-carousel>
|
|
||||||
</section>
|
|
||||||
<div v-if="!tools.isMobile()" style="margin: 60px 60px;"></div>
|
|
||||||
|
|
||||||
<COpenStreetMap :imgmap="getValDb('IMGMAP', false)" :urlmap="getValDb('URLMAP', false)" :title="getValDb('MAP_TITLE', false)"
|
|
||||||
:coordinates="getValDb('COORD_MAP_1', false)" :coord_big="getValDb('COORD_MAP_BIG', false)">
|
|
||||||
|
|
||||||
</COpenStreetMap>
|
|
||||||
|
|
||||||
|
|
||||||
<div class="q-ma-md"></div>
|
|
||||||
</div>
|
|
||||||
</CMyPage>
|
|
||||||
</q-page>
|
|
||||||
</template>
|
|
||||||
|
|
||||||
<script lang="ts" src="./home_arcadei.ts">
|
|
||||||
</script>
|
|
||||||
|
|
||||||
<style lang="scss" scoped>
|
|
||||||
@import './home_arcadei.scss';
|
|
||||||
</style>
|
|
||||||
@@ -1,446 +0,0 @@
|
|||||||
|
|
||||||
.testo-banda {
|
|
||||||
//background: -webkit-gradient(linear, left top, left bottom, from(#3144f0), to(transparent));
|
|
||||||
//background: linear-gradient(180deg, #3144f0, transparent);
|
|
||||||
//background: rgba(0, 0, 0, .6)
|
|
||||||
}
|
|
||||||
|
|
||||||
$grayshadow: #555;
|
|
||||||
|
|
||||||
$textcol: blue;
|
|
||||||
$textcol_scuro: darkblue;
|
|
||||||
|
|
||||||
p {
|
|
||||||
margin: 0 0 1.25rem;
|
|
||||||
//text-shadow: .125rem .125rem .25rem $grayshadow;
|
|
||||||
}
|
|
||||||
|
|
||||||
h4 {
|
|
||||||
font-size: 1.25rem;
|
|
||||||
}
|
|
||||||
|
|
||||||
.mycard {
|
|
||||||
visibility: hidden;
|
|
||||||
}
|
|
||||||
|
|
||||||
.landing {
|
|
||||||
}
|
|
||||||
|
|
||||||
.landing_background {
|
|
||||||
background: #000 url(../../../public/images/foto1.jpg) no-repeat 50% fixed;
|
|
||||||
background-size: cover
|
|
||||||
}
|
|
||||||
|
|
||||||
.landing > section {
|
|
||||||
display: -webkit-box;
|
|
||||||
display: -ms-flexbox;
|
|
||||||
display: flex;
|
|
||||||
-webkit-box-pack: center;
|
|
||||||
-ms-flex-pack: center;
|
|
||||||
justify-content: center;
|
|
||||||
//padding: 0 16px
|
|
||||||
}
|
|
||||||
|
|
||||||
.intro {
|
|
||||||
display: flex;
|
|
||||||
justify-content: space-between;
|
|
||||||
align-items: stretch;
|
|
||||||
/* flex-flow: row nowrap; */
|
|
||||||
|
|
||||||
padding: 1.25rem 0 1.25rem 0;
|
|
||||||
margin: .125rem;
|
|
||||||
|
|
||||||
* {
|
|
||||||
width: 100%;
|
|
||||||
flex: 1;
|
|
||||||
margin-left: auto;
|
|
||||||
margin-right: auto;
|
|
||||||
}
|
|
||||||
|
|
||||||
&__associazione {
|
|
||||||
min-width: 350px;
|
|
||||||
}
|
|
||||||
|
|
||||||
&__comeassociarsi {
|
|
||||||
min-width: 350px;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
.subtitle {
|
|
||||||
font-weight: 600;
|
|
||||||
text-align: center;
|
|
||||||
letter-spacing: 0.125rem;
|
|
||||||
text-transform: uppercase;
|
|
||||||
font-size: 1rem;
|
|
||||||
}
|
|
||||||
|
|
||||||
.landing > section.padding {
|
|
||||||
padding: 5.62rem 1rem;
|
|
||||||
}
|
|
||||||
|
|
||||||
.landing > section.padding_testo {
|
|
||||||
padding-top: 1.25rem;
|
|
||||||
padding-bottom: 1rem;
|
|
||||||
}
|
|
||||||
|
|
||||||
.landing > section.padding_gallery {
|
|
||||||
padding-top: 3.125rem;
|
|
||||||
padding-bottom: 5.625rem;
|
|
||||||
}
|
|
||||||
|
|
||||||
.landing > section > div {
|
|
||||||
position: relative;
|
|
||||||
width: 100%
|
|
||||||
}
|
|
||||||
|
|
||||||
.maxwidth1200 {
|
|
||||||
max-width: 1200px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.landing__toolbar {
|
|
||||||
background: -webkit-gradient(linear, left top, left bottom, from(#000), to(transparent));
|
|
||||||
background: linear-gradient(180deg, #000, transparent);
|
|
||||||
padding: 0 !important
|
|
||||||
}
|
|
||||||
|
|
||||||
.landing__toolbar .q-btn {
|
|
||||||
border-radius: 0 0 .315rem .315rem;
|
|
||||||
-ms-flex-item-align: stretch;
|
|
||||||
align-self: stretch
|
|
||||||
}
|
|
||||||
|
|
||||||
.landing__hero {
|
|
||||||
min-height: 50vh
|
|
||||||
}
|
|
||||||
|
|
||||||
.landing__header {
|
|
||||||
height: 18vh
|
|
||||||
}
|
|
||||||
|
|
||||||
.landing__arrow {
|
|
||||||
bottom: 1.5rem;
|
|
||||||
opacity: .4
|
|
||||||
}
|
|
||||||
|
|
||||||
.landing__front {
|
|
||||||
background: -webkit-gradient(linear, left top, left bottom, from(transparent), color-stop(15%, rgba(0, 0, 0, .6)));
|
|
||||||
background: linear-gradient(180deg, transparent, rgba(0, 0, 0, .6) 15%)
|
|
||||||
}
|
|
||||||
|
|
||||||
.landing__logo {
|
|
||||||
width: 9.40rem;
|
|
||||||
height: 9.40rem;
|
|
||||||
margin-top: 1.315rem;
|
|
||||||
//-webkit-animation: logo-rotate 240s linear infinite;
|
|
||||||
//animation: logo-rotate 240s linear infinite
|
|
||||||
}
|
|
||||||
|
|
||||||
.landing__features .q-icon {
|
|
||||||
font-size: 4rem
|
|
||||||
}
|
|
||||||
|
|
||||||
h4 {
|
|
||||||
line-height: 1.5;
|
|
||||||
text-shadow: .25rem .25rem .5rem $grayshadow;
|
|
||||||
}
|
|
||||||
|
|
||||||
.landing__features h4, .landing__features h6 {
|
|
||||||
margin: 1rem 0
|
|
||||||
}
|
|
||||||
|
|
||||||
.landing__features p {
|
|
||||||
opacity: .7;
|
|
||||||
font-size: 1rem;
|
|
||||||
line-height: 1.5;
|
|
||||||
}
|
|
||||||
|
|
||||||
.landing__footer {
|
|
||||||
//background: -webkit-gradient(linear, left top, left bottom, color-stop(65%, rgba(0, 0, 0, .1)), to(#000));
|
|
||||||
background: linear-gradient(180deg, rgba(0, 0, 0, .8) 95%, #FFF);
|
|
||||||
padding-top: 4.5rem !important;
|
|
||||||
padding-bottom: 4.5rem !important;
|
|
||||||
padding-left: 1.25rem;
|
|
||||||
padding-right: 1.25rem;
|
|
||||||
color: #9f9f9f;
|
|
||||||
}
|
|
||||||
|
|
||||||
.icon_contact:hover {
|
|
||||||
color: blue;
|
|
||||||
border-color: white;
|
|
||||||
border-width: .0625rem;
|
|
||||||
}
|
|
||||||
|
|
||||||
.landing__footer .doc-link {
|
|
||||||
color: $textcol;
|
|
||||||
}
|
|
||||||
|
|
||||||
.landing__footer .doc-link:hover {
|
|
||||||
opacity: .8
|
|
||||||
}
|
|
||||||
|
|
||||||
.landing__swirl-bg {
|
|
||||||
background-repeat: no-repeat !important;
|
|
||||||
background-position: top;
|
|
||||||
background-size: contain !important;
|
|
||||||
background-image: url(../../../public/images/landing_first_section.png) !important
|
|
||||||
}
|
|
||||||
|
|
||||||
.feat-descr {
|
|
||||||
font-size: 1.15rem;
|
|
||||||
}
|
|
||||||
|
|
||||||
.feat-descr:hover {
|
|
||||||
transition: opacity 0.5s ease-in-out;
|
|
||||||
opacity: 0.9;
|
|
||||||
}
|
|
||||||
|
|
||||||
.q-col-gutter-sm {
|
|
||||||
padding: 3.125rem 3.125rem;
|
|
||||||
//margin-left: -48px
|
|
||||||
}
|
|
||||||
|
|
||||||
body.mobile .landing {
|
|
||||||
//background: unset
|
|
||||||
}
|
|
||||||
|
|
||||||
body.mobile .landing:before {
|
|
||||||
content: "";
|
|
||||||
position: fixed;
|
|
||||||
top: 0;
|
|
||||||
height: 100vh;
|
|
||||||
left: 0;
|
|
||||||
right: 0;
|
|
||||||
bottom: 0;
|
|
||||||
z-index: -1;
|
|
||||||
//background: #000 url(../../public/images/cover.jpg) 50%;
|
|
||||||
|
|
||||||
background-size: cover
|
|
||||||
}
|
|
||||||
|
|
||||||
/*
|
|
||||||
@-webkit-keyframes logo-rotate {
|
|
||||||
to {
|
|
||||||
-webkit-transform: rotate(-1turn);
|
|
||||||
transform: rotate(-1turn)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
@keyframes logo-rotate {
|
|
||||||
to {
|
|
||||||
-webkit-transform: rotate(-1turn);
|
|
||||||
transform: rotate(-1turn)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
*/
|
|
||||||
|
|
||||||
.home {
|
|
||||||
//background-color: rgb(250, 250, 250);
|
|
||||||
padding: 3.125rem;
|
|
||||||
display: flex;
|
|
||||||
//flex-wrap: nowrap;
|
|
||||||
flex-direction: column;
|
|
||||||
align-items: center;
|
|
||||||
justify-content: space-between;
|
|
||||||
}
|
|
||||||
|
|
||||||
.btn-start {
|
|
||||||
margin: 3.125rem;
|
|
||||||
}
|
|
||||||
|
|
||||||
.shadow {
|
|
||||||
//color: white;
|
|
||||||
text-shadow: 0.125rem 0.125rem 0.25rem $grayshadow;
|
|
||||||
}
|
|
||||||
|
|
||||||
.text-h1, h1 {
|
|
||||||
font-size: 3rem;
|
|
||||||
font-weight: bold;
|
|
||||||
line-height: 3rem;
|
|
||||||
letter-spacing: -.01562em;
|
|
||||||
margin-bottom: 8px !important;
|
|
||||||
}
|
|
||||||
|
|
||||||
.text-h2 {
|
|
||||||
font-size: 3.75rem;
|
|
||||||
font-weight: 300;
|
|
||||||
line-height: 3.75rem;
|
|
||||||
letter-spacing: -.00833em;
|
|
||||||
}
|
|
||||||
|
|
||||||
.text-weight-bold {
|
|
||||||
font-weight: 700;
|
|
||||||
}
|
|
||||||
|
|
||||||
.text-vers {
|
|
||||||
font-size: 0.75rem;
|
|
||||||
font-weight: 400;
|
|
||||||
line-height: 1.75rem;
|
|
||||||
letter-spacing: .00937em;
|
|
||||||
text-shadow: .25rem .25rem .5rem $grayshadow;
|
|
||||||
}
|
|
||||||
|
|
||||||
.homep-cover-img-1 {
|
|
||||||
background: #000 url(../../../public/images/foto1.jpg) no-repeat 50% fixed;
|
|
||||||
//transition: background-image 1s ease-in-out;
|
|
||||||
}
|
|
||||||
|
|
||||||
.homep-cover-img-2 {
|
|
||||||
background: #000 url(../../../public/images/foto2.jpg) no-repeat 50% fixed;
|
|
||||||
//transition: background-image 1s ease-in-out;
|
|
||||||
}
|
|
||||||
|
|
||||||
.homep-cover-img-3 {
|
|
||||||
background: #000 url(../../../public/images/foto3.jpg) no-repeat 50% fixed;
|
|
||||||
//transition: background-image 1s ease-in-out;
|
|
||||||
}
|
|
||||||
|
|
||||||
.homep-cover-img.hide-filter:before {
|
|
||||||
opacity: 0
|
|
||||||
}
|
|
||||||
|
|
||||||
.landing__footer-icons {
|
|
||||||
font-size: 1.75rem
|
|
||||||
}
|
|
||||||
|
|
||||||
.landing__footer-icons a {
|
|
||||||
margin: 0 .5rem .5rem;
|
|
||||||
text-decoration: none;
|
|
||||||
outline: 0;
|
|
||||||
color: $textcol;
|
|
||||||
transition: color .28s
|
|
||||||
}
|
|
||||||
|
|
||||||
.landing__footer-icons a:hover {
|
|
||||||
color: $textcol_scuro;
|
|
||||||
}
|
|
||||||
|
|
||||||
.doc-img {
|
|
||||||
max-width: 100%;
|
|
||||||
}
|
|
||||||
|
|
||||||
.mylist {
|
|
||||||
background: #3fdaff;
|
|
||||||
padding-left: 1.25rem;
|
|
||||||
}
|
|
||||||
|
|
||||||
.clgutter {
|
|
||||||
margin-top: 1.25rem;
|
|
||||||
padding: .62rem;
|
|
||||||
}
|
|
||||||
|
|
||||||
.carousel_img_3 {
|
|
||||||
//background-image: url(../../public/images/cibo_sano.jpg);
|
|
||||||
background-size: cover !important;
|
|
||||||
background-position: 50% center !important;
|
|
||||||
background-repeat: no-repeat !important;
|
|
||||||
}
|
|
||||||
|
|
||||||
@media (max-width: 718px) {
|
|
||||||
// PER VERSIONE MOBILE
|
|
||||||
|
|
||||||
.landing__hero {
|
|
||||||
text-align: center
|
|
||||||
}
|
|
||||||
.landing__header {
|
|
||||||
height: 7vh
|
|
||||||
}
|
|
||||||
.clgutter {
|
|
||||||
margin-top: 0;
|
|
||||||
padding: 0;
|
|
||||||
}
|
|
||||||
.landing__hero .text-h1, h1 {
|
|
||||||
font-size: 2rem;
|
|
||||||
line-height: 2.05rem;
|
|
||||||
margin-bottom: 1.25rem
|
|
||||||
}
|
|
||||||
|
|
||||||
.landing > section.padding {
|
|
||||||
padding: 2.5rem 1rem;
|
|
||||||
}
|
|
||||||
|
|
||||||
.landing > section.padding_testo {
|
|
||||||
padding-top: 1.25rem;
|
|
||||||
padding-bottom: 1rem;
|
|
||||||
}
|
|
||||||
|
|
||||||
.landing > section.padding_gallery {
|
|
||||||
padding-top: 3.125rem;
|
|
||||||
padding-bottom: 5.625rem;
|
|
||||||
|
|
||||||
max-width: 800px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.landing > section.padding_gallery > div {
|
|
||||||
padding-top: 3.125rem;
|
|
||||||
padding-bottom: 5.625rem;
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
.landing__features h4, .landing__features h6 {
|
|
||||||
margin: 1.25rem 0
|
|
||||||
}
|
|
||||||
|
|
||||||
h4 {
|
|
||||||
line-height: 1.4;
|
|
||||||
text-shadow: 0.25rem 0.25rem 0.5rem $grayshadow;
|
|
||||||
}
|
|
||||||
|
|
||||||
.landing .feature-item {
|
|
||||||
text-align: center;
|
|
||||||
margin-top: 1.25rem;
|
|
||||||
}
|
|
||||||
.landing__hero-content {
|
|
||||||
padding-bottom: 11.25rem;
|
|
||||||
}
|
|
||||||
.landing__hero2-content {
|
|
||||||
padding-bottom: 7.25rem;
|
|
||||||
}
|
|
||||||
.landing__hero-btns {
|
|
||||||
-webkit-box-pack: center;
|
|
||||||
-ms-flex-pack: center;
|
|
||||||
justify-content: center
|
|
||||||
}
|
|
||||||
|
|
||||||
.q-col-gutter-sm {
|
|
||||||
padding: .625rem .315rem;
|
|
||||||
}
|
|
||||||
|
|
||||||
.text-subtitle1 {
|
|
||||||
font-size: 1.25rem;
|
|
||||||
}
|
|
||||||
.text-vers {
|
|
||||||
font-size: 0.6rem;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
.custom-caption {
|
|
||||||
text-align: center;
|
|
||||||
padding: .75rem;
|
|
||||||
color: $textcol;
|
|
||||||
background-color: rgba(0, 0, 0, .3);
|
|
||||||
}
|
|
||||||
|
|
||||||
.sfondo-grigio {
|
|
||||||
padding: 1rem;
|
|
||||||
color: $textcol;
|
|
||||||
background-color: rgba(0, 0, 0, .35);
|
|
||||||
}
|
|
||||||
|
|
||||||
.mycontacts {
|
|
||||||
color: gray;
|
|
||||||
letter-spacing: 0.078rem;
|
|
||||||
}
|
|
||||||
|
|
||||||
.mycontacts_title {
|
|
||||||
text-shadow: 0.125rem 0.125rem 0.125rem #555;
|
|
||||||
font-weight: bold;
|
|
||||||
color: #999;
|
|
||||||
letter-spacing: 0.125rem;
|
|
||||||
}
|
|
||||||
|
|
||||||
.mycontacts_text {
|
|
||||||
color: #999;
|
|
||||||
letter-spacing: 0.093rem;
|
|
||||||
}
|
|
||||||
@@ -1,78 +0,0 @@
|
|||||||
import { defineComponent, ref, onMounted, watch, computed } from 'vue'
|
|
||||||
|
|
||||||
import { useGlobalStore } from '@store/globalStore'
|
|
||||||
import { useRoute } from 'vue-router'
|
|
||||||
import { useUserStore } from '@store/UserStore'
|
|
||||||
|
|
||||||
import { Logo } from '../../components/logo'
|
|
||||||
|
|
||||||
import { LandingFooter } from '../../components/LandingFooter'
|
|
||||||
import { CMyPage } from '../../components/CMyPage/index'
|
|
||||||
|
|
||||||
import { tools } from '@src/store/Modules/tools'
|
|
||||||
import { static_data } from '@src/db/static_data'
|
|
||||||
import { toolsext } from '@src/store/Modules/toolsext'
|
|
||||||
import { Screen } from 'quasar'
|
|
||||||
import { CCardCarousel, CEventsCalendar, COpenStreetMap } from '@components'
|
|
||||||
import MixinBase from '@src/mixins/mixin-base'
|
|
||||||
import { firstimagehome } from '@src/db/static_data'
|
|
||||||
import MixinMetaTags from '@/mixins/mixin-metatags'
|
|
||||||
|
|
||||||
export default defineComponent({
|
|
||||||
name: 'Home_tdv',
|
|
||||||
components: { Logo, LandingFooter, CMyPage, CCardCarousel, CEventsCalendar, COpenStreetMap },
|
|
||||||
|
|
||||||
setup() {
|
|
||||||
const animare = ref(0)
|
|
||||||
const slide = ref('first')
|
|
||||||
const slide2 = ref(1)
|
|
||||||
|
|
||||||
const getImmagini = ref([
|
|
||||||
{
|
|
||||||
title: '', subtitle: '',
|
|
||||||
alt: 'Elisa e Cristina insieme',
|
|
||||||
img: '../../statics/images/eventi_esterni/IMG_6035.jpg'
|
|
||||||
},
|
|
||||||
])
|
|
||||||
|
|
||||||
const userStore = useUserStore()
|
|
||||||
const globalStore = useGlobalStore()
|
|
||||||
|
|
||||||
const { setValDb, getValDb } = MixinBase()
|
|
||||||
const { setmeta, getsrcbyimg } = MixinMetaTags()
|
|
||||||
|
|
||||||
function getheightgallery() {
|
|
||||||
if (tools.isMobile())
|
|
||||||
return '400px'
|
|
||||||
else
|
|
||||||
return '600px'
|
|
||||||
}
|
|
||||||
|
|
||||||
function created() {
|
|
||||||
//
|
|
||||||
}
|
|
||||||
|
|
||||||
function getArrDisciplines() {
|
|
||||||
return globalStore.disciplines.filter((rec: any) => rec.showinhome)
|
|
||||||
}
|
|
||||||
|
|
||||||
created()
|
|
||||||
|
|
||||||
return {
|
|
||||||
tools,
|
|
||||||
toolsext,
|
|
||||||
static_data,
|
|
||||||
animare,
|
|
||||||
slide,
|
|
||||||
slide2,
|
|
||||||
getheightgallery,
|
|
||||||
getArrDisciplines,
|
|
||||||
getImmagini,
|
|
||||||
getValDb,
|
|
||||||
firstimagehome,
|
|
||||||
getsrcbyimg,
|
|
||||||
setmeta,
|
|
||||||
}
|
|
||||||
},
|
|
||||||
})
|
|
||||||
|
|
||||||
@@ -1,220 +0,0 @@
|
|||||||
<template>
|
|
||||||
<q-page>
|
|
||||||
<CMyPage title="Home">
|
|
||||||
<div class="landing">
|
|
||||||
<section>
|
|
||||||
<div class="landing__hero maxwidth1200 text-white">
|
|
||||||
<q-carousel
|
|
||||||
animated
|
|
||||||
:autoplay="animare"
|
|
||||||
swipeable
|
|
||||||
infinite
|
|
||||||
navigation
|
|
||||||
transition-next="slide-left"
|
|
||||||
transition-prev="slide-right"
|
|
||||||
v-model="slide"
|
|
||||||
:height="getheightgallery()"
|
|
||||||
width="100%"
|
|
||||||
>
|
|
||||||
<q-carousel-slide name="first"
|
|
||||||
:img-src="getsrcbyimg(firstimagehome())">
|
|
||||||
<div class="landing__header"></div>
|
|
||||||
<div class="landing__hero-content row justify-center q-gutter-xs clgutter">
|
|
||||||
<div class="row">
|
|
||||||
|
|
||||||
</div>
|
|
||||||
<div class="flex justify-end">
|
|
||||||
<div class="q-gutter-xs testo-banda clgutter">
|
|
||||||
<h1 class="text-h1 shadow-max">{{tools.getappname()}}</h1>
|
|
||||||
<div class="text-subtitle1 shadow text-italic q-pl-sm">
|
|
||||||
|
|
||||||
</div>
|
|
||||||
<div class="text-subtitle1 shadow-max big text-italic q-pl-sm">
|
|
||||||
|
|
||||||
</div>
|
|
||||||
<div class="text-subtitle2 shadow text-italic q-pl-sm">
|
|
||||||
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div>
|
|
||||||
<br>
|
|
||||||
<br>
|
|
||||||
<div v-if="!tools.isLogged()" style="margin: 5px; padding: 5px;" class="home">
|
|
||||||
<br>
|
|
||||||
<br>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div class="landing__arrow absolute-bottom text-center">
|
|
||||||
<i aria-hidden="true"
|
|
||||||
class="q-icon text-h2 text-white material-icons">expand_more</i>
|
|
||||||
</div>
|
|
||||||
</q-carousel-slide>
|
|
||||||
<q-carousel-slide name="second"
|
|
||||||
:img-src="getsrcbyimg('images/background2.jpg')" alt="">
|
|
||||||
<div class="landing__header"></div>
|
|
||||||
<div class="landing__hero2-content row justify-center q-gutter-xs clgutter">
|
|
||||||
<div class="row">
|
|
||||||
<logo></logo>
|
|
||||||
</div>
|
|
||||||
<div class="flex justify-end">
|
|
||||||
<div class="q-gutter-xs testo-banda clgutter">
|
|
||||||
<h1 class="text-h1 shadow-max">{{tools.getappname()}}</h1>
|
|
||||||
<h2 class="text-subtitle1 shadow text-italic q-pl-sm">
|
|
||||||
{{$t('msg.sottoTitoloApp')}}
|
|
||||||
</h2>
|
|
||||||
<h2 class="text-subtitle1 shadow-max big text-italic q-pl-sm">
|
|
||||||
<strong>{{$t('msg.sottoTitoloApp2')}}</strong>
|
|
||||||
</h2>
|
|
||||||
<h2 class="text-subtitle2 shadow text-italic q-pl-sm">
|
|
||||||
{{$t('msg.sottoTitoloApp3')}}
|
|
||||||
</h2>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div class="landing__arrow absolute-bottom text-center">
|
|
||||||
<i aria-hidden="true"
|
|
||||||
class="q-icon text-h2 text-white material-icons">expand_more</i>
|
|
||||||
</div>
|
|
||||||
</q-carousel-slide>
|
|
||||||
<q-carousel-slide name="third"
|
|
||||||
:img-src="getsrcbyimg('images/background3.jpg')">
|
|
||||||
<div class="landing__header"></div>
|
|
||||||
<div class="landing__hero2-content row justify-center q-gutter-xs clgutter">
|
|
||||||
<div class="row">
|
|
||||||
<logo></logo>
|
|
||||||
</div>
|
|
||||||
<div class="flex justify-end">
|
|
||||||
<div class="q-gutter-xs testo-banda clgutter">
|
|
||||||
<div class="text-h1 shadow-max">{{tools.getappname()}}</div>
|
|
||||||
<div class="text-subtitle1 shadow text-italic q-pl-sm">
|
|
||||||
{{$t('msg.sottoTitoloApp')}}
|
|
||||||
</div>
|
|
||||||
<div class="text-subtitle1 shadow-max big text-italic q-pl-sm"><strong>{{$t('msg.sottoTitoloApp2')}}</strong>
|
|
||||||
</div>
|
|
||||||
<div class="text-subtitle2 shadow text-italic q-pl-sm">
|
|
||||||
{{$t('msg.sottoTitoloApp3')}}
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div class="text-subtitle3 shadow text-italic q-pl-sm ">
|
|
||||||
{{$t('msg.sottoTitoloApp4')}}
|
|
||||||
</div>
|
|
||||||
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div class="landing__arrow absolute-bottom text-center">
|
|
||||||
<!--<i aria-hidden="true"-->
|
|
||||||
<!--class="q-icon text-h2 text-white material-icons">expand_more</i>-->
|
|
||||||
</div>
|
|
||||||
</q-carousel-slide>
|
|
||||||
</q-carousel>
|
|
||||||
|
|
||||||
</div>
|
|
||||||
</section>
|
|
||||||
|
|
||||||
<div class="q-pa-md q-gutter-md">
|
|
||||||
<div v-if="isLogged && !isVerified" class="text-verified">{{
|
|
||||||
$t('components.authentication.email_verification.link_sent') }}
|
|
||||||
</div>
|
|
||||||
|
|
||||||
</div>
|
|
||||||
|
|
||||||
|
|
||||||
<CCardCarousel :myarr="getArrDisciplines()">
|
|
||||||
|
|
||||||
</CCardCarousel>
|
|
||||||
|
|
||||||
<CEventsCalendar :mysingleevent="null" :showfirstN="getValDb('SHOW_LAST_EVENTS', false, 3)">
|
|
||||||
|
|
||||||
</CEventsCalendar>
|
|
||||||
|
|
||||||
|
|
||||||
<div v-if="getValDb('VIDEO_HOME', false)" class="row justify-evenly items-center q-gutter-md ">
|
|
||||||
|
|
||||||
<div class="text-center">
|
|
||||||
<h4 class="subtitle text-blue" v-html="getValDb('VIDEO_TITLE', false)"></h4>
|
|
||||||
<div class="">
|
|
||||||
<video :width="tools.getwidthscale(mythis, 320, 800)"
|
|
||||||
:height="tools.getheightbywidth(mythis, 320, 180, 800)" controls>
|
|
||||||
<source :src="getValDb('VIDEO_HOME', false)" type="video/mp4">
|
|
||||||
</video>
|
|
||||||
</div>
|
|
||||||
<!--<q-video src="../../statics/video/Intervista_Cristina_Barattoni.mp4">-->
|
|
||||||
|
|
||||||
<!--</q-video>-->
|
|
||||||
</div>
|
|
||||||
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div v-if="getValDb('YT_VIDEO', false)" class="row justify-evenly items-center q-gutter-md ">
|
|
||||||
|
|
||||||
<div class="text-center">
|
|
||||||
<h4 class="subtitle text-blue" v-html="getValDb('YT_TITLE', false)"></h4>
|
|
||||||
<div class="">
|
|
||||||
|
|
||||||
<div class="">
|
|
||||||
<iframe
|
|
||||||
:width="tools.getwidthscale(mythis, getValDb('YT_W', false), 800)"
|
|
||||||
:height="tools.getheightbywidth(mythis, getValDb('YT_W', false), getValDb('YT_H', false), 800)"
|
|
||||||
:src="getValDb('YT_VIDEO', false)"
|
|
||||||
frameborder="0"
|
|
||||||
allowfullscreen
|
|
||||||
></iframe>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<!--<q-video src="../../statics/video/Intervista_Cristina_Barattoni.mp4">-->
|
|
||||||
|
|
||||||
<!--</q-video>-->
|
|
||||||
</div>
|
|
||||||
|
|
||||||
</div>
|
|
||||||
|
|
||||||
|
|
||||||
<section class="maxwidth padding_gallery bg-white text-grey-10 text-center" >
|
|
||||||
|
|
||||||
<q-carousel
|
|
||||||
swipeable
|
|
||||||
animated
|
|
||||||
:autoplay="8000"
|
|
||||||
v-model="slide2"
|
|
||||||
arrows
|
|
||||||
thumbnails
|
|
||||||
infinite
|
|
||||||
:height="tools.heightgallery()">
|
|
||||||
<q-carousel-slide v-for="(rec, index) in getImmagini" :key="index" :name="index"
|
|
||||||
:img-src="rec.img"
|
|
||||||
:alt="rec.alt"
|
|
||||||
class="carousel_slide">
|
|
||||||
<div class="absolute-bottom custom-caption" style="margin-bottom: 70px">
|
|
||||||
<div class="text-h5"><span
|
|
||||||
class="text-h6 text-grey-1 shadow-max">{{index + 1}}. </span><span
|
|
||||||
class="text-h6 text-grey-2 shadow">{{rec.title}}</span></div>
|
|
||||||
<div class="text-subtitle1"><span class="text-grey-4 shadow">{{rec.subtitle}}</span>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</q-carousel-slide>
|
|
||||||
</q-carousel>
|
|
||||||
</section>
|
|
||||||
<div v-if="!tools.isMobile()" style="margin: 60px 60px;"></div>
|
|
||||||
|
|
||||||
<COpenStreetMap :imgmap="getValDb('IMGMAP', false)" :urlmap="getValDb('URLMAP', false)" :title="getValDb('MAP_TITLE', false)"
|
|
||||||
:coordinates="getValDb('COORD_MAP_1', false)" :coord_big="getValDb('COORD_MAP_BIG', false)">
|
|
||||||
|
|
||||||
</COpenStreetMap>
|
|
||||||
|
|
||||||
<div class="q-ma-md"></div>
|
|
||||||
</div>
|
|
||||||
</CMyPage>
|
|
||||||
</q-page>
|
|
||||||
</template>
|
|
||||||
|
|
||||||
<script lang="ts" src="./home_tdv.ts">
|
|
||||||
</script>
|
|
||||||
|
|
||||||
<style lang="scss" scoped>
|
|
||||||
@import './home_tdv.scss';
|
|
||||||
</style>
|
|
||||||
@@ -138,6 +138,7 @@ export const shared_consts = {
|
|||||||
CHECKAPPRUNNING: 135,
|
CHECKAPPRUNNING: 135,
|
||||||
DASHBOARD: 140,
|
DASHBOARD: 140,
|
||||||
DASHGROUP: 145,
|
DASHGROUP: 145,
|
||||||
|
MOVEMENTS: 148,
|
||||||
CSENDRISTO: 150,
|
CSENDRISTO: 150,
|
||||||
STATUSREG: 160,
|
STATUSREG: 160,
|
||||||
CHECKIFISLOGGED: 170,
|
CHECKIFISLOGGED: 170,
|
||||||
@@ -1654,6 +1655,10 @@ export const shared_consts = {
|
|||||||
value: 145,
|
value: 145,
|
||||||
label: 'DashGroup',
|
label: 'DashGroup',
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
value: 148,
|
||||||
|
label: 'Lista Movimenti',
|
||||||
|
},
|
||||||
{
|
{
|
||||||
value: 150,
|
value: 150,
|
||||||
label: 'SendCoinTo',
|
label: 'SendCoinTo',
|
||||||
@@ -1799,10 +1804,12 @@ export const shared_consts = {
|
|||||||
value: 7,
|
value: 7,
|
||||||
label: 'Scheda (IMG + Testo)',
|
label: 'Scheda (IMG + Testo)',
|
||||||
},
|
},
|
||||||
|
/*
|
||||||
|
Disattivato perchè attualmente non funziona bene
|
||||||
{
|
{
|
||||||
value: 9,
|
value: 9,
|
||||||
label: 'Poster (IMG + Testo)',
|
label: 'Poster (IMG + Testo)',
|
||||||
},
|
},*/
|
||||||
{
|
{
|
||||||
value: 195,
|
value: 195,
|
||||||
label: 'Bottone',
|
label: 'Bottone',
|
||||||
@@ -2241,5 +2248,11 @@ export const shared_consts = {
|
|||||||
|
|
||||||
],
|
],
|
||||||
|
|
||||||
|
AccountType: {
|
||||||
|
USER: 0,
|
||||||
|
COLLECTIVE_ACCOUNT: 1,
|
||||||
|
COMMUNITY_ACCOUNT: 2,
|
||||||
|
},
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -3,6 +3,7 @@
|
|||||||
max-width: 200px;
|
max-width: 200px;
|
||||||
min-width: 120px;
|
min-width: 120px;
|
||||||
padding: 1rem 1rem;
|
padding: 1rem 1rem;
|
||||||
|
|
||||||
@media (max-width: 718px) {
|
@media (max-width: 718px) {
|
||||||
// PER VERSIONE MOBILE
|
// PER VERSIONE MOBILE
|
||||||
max-width: 150px;
|
max-width: 150px;
|
||||||
@@ -16,6 +17,7 @@
|
|||||||
width: 100%;
|
width: 100%;
|
||||||
max-width: 60px;
|
max-width: 60px;
|
||||||
min-width: 40px;
|
min-width: 40px;
|
||||||
|
|
||||||
@media (max-width: 718px) {
|
@media (max-width: 718px) {
|
||||||
// PER VERSIONE MOBILE
|
// PER VERSIONE MOBILE
|
||||||
max-width: 50px;
|
max-width: 50px;
|
||||||
@@ -28,7 +30,24 @@
|
|||||||
|
|
||||||
.text-h5-short {
|
.text-h5-short {
|
||||||
line-height: 1.25rem !important;
|
line-height: 1.25rem !important;
|
||||||
|
|
||||||
@media (max-width: 718px) {
|
@media (max-width: 718px) {
|
||||||
line-height: 1rem !important;
|
line-height: 1rem !important;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.fixed-size {
|
||||||
|
width: 160px;
|
||||||
|
/* Larghezza fissa */
|
||||||
|
height: 150px;
|
||||||
|
/* Altezza fissa */
|
||||||
|
display: flex;
|
||||||
|
/* Assicura che il contenuto sia centralizzato */
|
||||||
|
flex-direction: column;
|
||||||
|
/* Impila gli elementi verticalmente */
|
||||||
|
justify-content: center;
|
||||||
|
/* Centra verticalmente */
|
||||||
|
align-items: center;
|
||||||
|
/* Centra orizzontalmente */
|
||||||
|
margin: 4px;
|
||||||
|
}
|
||||||
@@ -12,6 +12,7 @@ export default defineComponent({
|
|||||||
classColor: String,
|
classColor: String,
|
||||||
colBack: String,
|
colBack: String,
|
||||||
mystyle: String,
|
mystyle: String,
|
||||||
|
myclass: String,
|
||||||
},
|
},
|
||||||
components: {},
|
components: {},
|
||||||
setup(props) {
|
setup(props) {
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
<template>
|
<template>
|
||||||
<q-card :class="` text-center`" :style="mystyle">
|
<q-card :class="myclass" :style="mystyle" class="fixed-size">
|
||||||
<div
|
<div
|
||||||
:class="`column q-pa-sm text-center align-center ` + classColor"
|
:class="`column q-pa-sm text-center align-center ` + classColor"
|
||||||
style="align-items: center"
|
style="align-items: center"
|
||||||
@@ -9,21 +9,18 @@
|
|||||||
</div>
|
</div>
|
||||||
<q-icon :name="icon" size="xl" :class="classColor + ` elem `" />
|
<q-icon :name="icon" size="xl" :class="classColor + ` elem `" />
|
||||||
<div>
|
<div>
|
||||||
<div>
|
<div></div>
|
||||||
</div>
|
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div
|
<div class="elem full-width elem-value text-h5 boldhigh">
|
||||||
class="elem full-width elem-value text-h5 boldhigh"
|
|
||||||
>
|
|
||||||
{{ mytextval }}
|
{{ mytextval }}
|
||||||
<q-badge
|
<q-badge
|
||||||
v-if="value_today > 0"
|
v-if="value_today > 0"
|
||||||
align="top"
|
align="top"
|
||||||
:label="`+` + value_today + ` oggi`"
|
:label="`+` + value_today + ` oggi`"
|
||||||
:color="colBack"
|
:color="colBack"
|
||||||
>
|
>
|
||||||
</q-badge>
|
</q-badge>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</q-card>
|
</q-card>
|
||||||
|
|||||||
@@ -52,6 +52,7 @@ export default defineComponent({
|
|||||||
costanti,
|
costanti,
|
||||||
slide,
|
slide,
|
||||||
autoplay,
|
autoplay,
|
||||||
|
t,
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
|
|||||||
@@ -29,7 +29,7 @@
|
|||||||
:src="directory + '/' + selectedImage.imagefile"
|
:src="directory + '/' + selectedImage.imagefile"
|
||||||
:alt="selectedImage.imagefile"
|
:alt="selectedImage.imagefile"
|
||||||
/>
|
/>
|
||||||
<q-btn color="primary" label="Close" @click="closeDialog" />
|
<q-btn color="primary" :label="t('dialog.close')" @click="closeDialog" />
|
||||||
</q-dialog>
|
</q-dialog>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
|
|||||||
@@ -366,7 +366,7 @@ export default defineComponent({
|
|||||||
const editOn = computed({
|
const editOn = computed({
|
||||||
get: () => globalStore.editOn,
|
get: () => globalStore.editOn,
|
||||||
set: val => {
|
set: val => {
|
||||||
globalStore.editOn = val
|
tools.updateEditOn(val)
|
||||||
},
|
},
|
||||||
})
|
})
|
||||||
|
|
||||||
@@ -923,7 +923,7 @@ export default defineComponent({
|
|||||||
objitem[item.key] = item.value
|
objitem[item.key] = item.value
|
||||||
filtersearch.push(objitem)
|
filtersearch.push(objitem)
|
||||||
|
|
||||||
} else if (item.arrvalue.length > 0) {
|
} else if (item.arrvalue && item.arrvalue.length > 0) {
|
||||||
|
|
||||||
const myarr = item.arrvalue.filter((value: any) => {
|
const myarr = item.arrvalue.filter((value: any) => {
|
||||||
if (typeof value === 'number') {
|
if (typeof value === 'number') {
|
||||||
@@ -1617,16 +1617,21 @@ export default defineComponent({
|
|||||||
}
|
}
|
||||||
|
|
||||||
function created() {
|
function created() {
|
||||||
mytable.value = props.prop_mytable
|
|
||||||
mytitle.value = props.prop_mytitle
|
|
||||||
mycolumns.value = props.prop_mycolumns
|
|
||||||
colkey.value = props.prop_colkey
|
|
||||||
pagination.value = props.prop_pagination
|
|
||||||
|
|
||||||
myvertical.value = props.vertical
|
try {
|
||||||
// myvertical.value = tools.getCookie('myv_' + props.prop_mytable, props.vertical)
|
mytable.value = props.prop_mytable
|
||||||
|
mytitle.value = props.prop_mytitle
|
||||||
|
mycolumns.value = props.prop_mycolumns
|
||||||
|
colkey.value = props.prop_colkey
|
||||||
|
pagination.value = props.prop_pagination
|
||||||
|
|
||||||
showfilter.value = props.prop_showfilter || (tools.getCookie('s_adv', '0') !== '0')
|
myvertical.value = props.vertical
|
||||||
|
|
||||||
|
showfilter.value = props.prop_showfilter || (tools.getCookie('s_adv', '0') !== '0')
|
||||||
|
|
||||||
|
} catch (e) {
|
||||||
|
console.error('ERRORE', e)
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
function mounted() {
|
function mounted() {
|
||||||
@@ -1919,7 +1924,8 @@ export default defineComponent({
|
|||||||
} else if (visib === '0') {
|
} else if (visib === '0') {
|
||||||
// Se da togliere, lo togli
|
// Se da togliere, lo togli
|
||||||
if (colVisib.value.includes(field))
|
if (colVisib.value.includes(field))
|
||||||
colVisib.value = colVisib.value.filter((myrec: any) => myrec !== field)
|
if (colVisib.value)
|
||||||
|
colVisib.value = colVisib.value.filter((myrec: any) => myrec !== field)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -121,7 +121,7 @@
|
|||||||
:optval="fieldsTable.getKeyByTable(item.table)"
|
:optval="fieldsTable.getKeyByTable(item.table)"
|
||||||
:optlab="fieldsTable.getLabelByTable(item.table)"
|
:optlab="fieldsTable.getLabelByTable(item.table)"
|
||||||
:options="valoriopt(item, false, false)"
|
:options="valoriopt(item, false, false)"
|
||||||
:filter="item.filter"
|
:filter="item && item.filter ? item.filter : ''"
|
||||||
:filter_extra="item.filter_extra"
|
:filter_extra="item.filter_extra"
|
||||||
:useinput="
|
:useinput="
|
||||||
item.useinput &&
|
item.useinput &&
|
||||||
@@ -568,7 +568,10 @@
|
|||||||
</q-infinite-scroll>
|
</q-infinite-scroll>
|
||||||
<q-table
|
<q-table
|
||||||
v-else-if="
|
v-else-if="
|
||||||
!shared_consts.VERTIC_SHOW_GRID.includes(myvertical) && !loading
|
!shared_consts.VERTIC_SHOW_GRID.includes(myvertical) &&
|
||||||
|
!loading &&
|
||||||
|
serverData &&
|
||||||
|
mycolumns
|
||||||
"
|
"
|
||||||
:grid="shared_consts.VERTIC_SHOW_GRID.includes(myvertical)"
|
:grid="shared_consts.VERTIC_SHOW_GRID.includes(myvertical)"
|
||||||
:grid-header="
|
:grid-header="
|
||||||
|
|||||||
@@ -324,7 +324,7 @@ export default defineComponent({
|
|||||||
const editOn = computed({
|
const editOn = computed({
|
||||||
get: () => globalStore.editOn,
|
get: () => globalStore.editOn,
|
||||||
set: val => {
|
set: val => {
|
||||||
globalStore.editOn = val
|
tools.updateEditOn(val)
|
||||||
},
|
},
|
||||||
})
|
})
|
||||||
|
|
||||||
|
|||||||
145
src/components/CMenuItem/CMenuItem.scss
Executable file
145
src/components/CMenuItem/CMenuItem.scss
Executable file
@@ -0,0 +1,145 @@
|
|||||||
|
.prova {
|
||||||
|
color: red;
|
||||||
|
}
|
||||||
|
|
||||||
|
.q-list-header {
|
||||||
|
min-height: 12px;
|
||||||
|
padding: 5px 8px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.menu-hr {
|
||||||
|
border-color: #dedede;
|
||||||
|
height: 0.5px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.router-link-active {
|
||||||
|
color: #027be3;
|
||||||
|
background-color: #dadada !important;
|
||||||
|
border-right: 2px solid #027be3;
|
||||||
|
}
|
||||||
|
|
||||||
|
.list-label:first-child {
|
||||||
|
line-height: 20px;
|
||||||
|
padding: 5px;
|
||||||
|
margin: 1px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.router-link-active {
|
||||||
|
color: #027be3;
|
||||||
|
background-color: #dadada !important;
|
||||||
|
border-right: 2px solid #027be3;
|
||||||
|
}
|
||||||
|
|
||||||
|
.router-link-active .item-primary {
|
||||||
|
color: #027be3;
|
||||||
|
}
|
||||||
|
|
||||||
|
.menu_freccina {
|
||||||
|
position: absolute;
|
||||||
|
right: 10px;
|
||||||
|
display: inline-block;
|
||||||
|
padding: 0 0 0 0;
|
||||||
|
-webkit-transform: rotate(-180deg);
|
||||||
|
transform: rotate(-180deg);
|
||||||
|
}
|
||||||
|
|
||||||
|
.my-menu,
|
||||||
|
.my-menu>i {
|
||||||
|
min-height: 40px;
|
||||||
|
min-width: 26px;
|
||||||
|
font-size: 1rem;
|
||||||
|
}
|
||||||
|
|
||||||
|
.my-menu-small,
|
||||||
|
.my-menu-small>i {
|
||||||
|
min-height: 40px;
|
||||||
|
min-width: 26px;
|
||||||
|
font-size: 0.75rem;
|
||||||
|
}
|
||||||
|
|
||||||
|
.isAdmin {
|
||||||
|
color: red !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
.isSocioResidente {
|
||||||
|
color: darkgreen;
|
||||||
|
}
|
||||||
|
|
||||||
|
.isCalendar {}
|
||||||
|
|
||||||
|
.isManager {
|
||||||
|
color: green !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
.isFacilitatore {
|
||||||
|
color: #201a80;
|
||||||
|
}
|
||||||
|
|
||||||
|
.my-menu-icon {
|
||||||
|
min-width: 2px;
|
||||||
|
font-size: 1rem;
|
||||||
|
}
|
||||||
|
|
||||||
|
.my-menu-icon>i {
|
||||||
|
min-width: 26px;
|
||||||
|
font-size: 1.25rem;
|
||||||
|
}
|
||||||
|
|
||||||
|
.clexpansion {
|
||||||
|
min-width: 0 !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
.my-menu-active {
|
||||||
|
background-color: rgba(174, 189, 241, 0.71);
|
||||||
|
}
|
||||||
|
|
||||||
|
.my-menu-separat>i {
|
||||||
|
min-width: 26px;
|
||||||
|
font-size: 1rem;
|
||||||
|
}
|
||||||
|
|
||||||
|
.my-menu-icon-none>i {
|
||||||
|
display: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
.clicon img,
|
||||||
|
.clicon {
|
||||||
|
font-size: 16px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.q-item__section--avatar {
|
||||||
|
min-width: 30px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.OLD_q-item__section--side {
|
||||||
|
padding-right: 8px;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
.imgicon img {
|
||||||
|
font-size: 2.5rem !important;
|
||||||
|
border-radius: 8px;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/*
|
||||||
|
.menu-enter-active, .scale-enter {
|
||||||
|
-webkit-animation: moveFromTopFade .5s ease both;
|
||||||
|
animation: moveFromTopFade .5s ease both;
|
||||||
|
}
|
||||||
|
|
||||||
|
.menu-leave-to, .scale-leave-active {
|
||||||
|
-webkit-animation: moveToBottom .5s ease both;
|
||||||
|
animation: moveToBottom .5s ease both;
|
||||||
|
}
|
||||||
|
*/
|
||||||
|
|
||||||
|
.bigmenu {
|
||||||
|
font-size: 1.25rem;
|
||||||
|
font-weight: bold;
|
||||||
|
text-shadow: 0.0512rem 0.052rem .01rem #555;
|
||||||
|
}
|
||||||
|
|
||||||
|
.subtitle {
|
||||||
|
font-style: italic;
|
||||||
|
}
|
||||||
61
src/components/CMenuItem/CMenuItem.ts
Executable file
61
src/components/CMenuItem/CMenuItem.ts
Executable file
@@ -0,0 +1,61 @@
|
|||||||
|
import { computed, defineComponent, onMounted, PropType, ref, toRef, watch } from 'vue'
|
||||||
|
import { useI18n } from '@src/boot/i18n'
|
||||||
|
import { useUserStore } from '@store/UserStore'
|
||||||
|
import { useGlobalStore } from '@store/globalStore'
|
||||||
|
import { useQuasar } from 'quasar'
|
||||||
|
import { costanti } from '@costanti'
|
||||||
|
import { fieldsTable } from '@store/Modules/fieldsTable'
|
||||||
|
import { shared_consts } from '@/common/shared_vuejs'
|
||||||
|
import { IColGridTable, IOperators } from 'model'
|
||||||
|
import { tools } from '@store/Modules/tools'
|
||||||
|
import { static_data } from '@/db/static_data'
|
||||||
|
|
||||||
|
export default defineComponent({
|
||||||
|
name: 'CMenuItem',
|
||||||
|
props: {
|
||||||
|
item: Object,
|
||||||
|
getroute: Function,
|
||||||
|
getmymenuclass: Function,
|
||||||
|
getimgiconclass: Function,
|
||||||
|
clBase: String,
|
||||||
|
mainMenu: Boolean,
|
||||||
|
level: {
|
||||||
|
type: Number,
|
||||||
|
default: 0
|
||||||
|
},
|
||||||
|
},
|
||||||
|
|
||||||
|
components: {},
|
||||||
|
setup(props, { emit }) {
|
||||||
|
const $q = useQuasar()
|
||||||
|
const { t } = useI18n()
|
||||||
|
const userStore = useUserStore()
|
||||||
|
const globalStore = useGlobalStore()
|
||||||
|
|
||||||
|
function mounted() {
|
||||||
|
// ...
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
function getmenuByPath(pathoobj: any) {
|
||||||
|
let mymenufind = null
|
||||||
|
if (tools.isObject(pathoobj)) {
|
||||||
|
mymenufind = pathoobj
|
||||||
|
} else {
|
||||||
|
mymenufind = static_data.routes.find((menu: any) => menu.path === '/' + pathoobj)
|
||||||
|
}
|
||||||
|
|
||||||
|
return mymenufind
|
||||||
|
}
|
||||||
|
|
||||||
|
onMounted(mounted)
|
||||||
|
|
||||||
|
|
||||||
|
return {
|
||||||
|
tools,
|
||||||
|
getmenuByPath,
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
})
|
||||||
|
|
||||||
64
src/components/CMenuItem/CMenuItem.vue
Executable file
64
src/components/CMenuItem/CMenuItem.vue
Executable file
@@ -0,0 +1,64 @@
|
|||||||
|
<template>
|
||||||
|
<div :style="{ paddingLeft: `${level * 4}px` }">
|
||||||
|
<q-separator v-if="item.isseparator" />
|
||||||
|
<q-expansion-item
|
||||||
|
v-else-if="item.routes2 || item.sottoMenu"
|
||||||
|
:content-inset-level="item.level_parent"
|
||||||
|
:header-class="getmymenuclass(item)"
|
||||||
|
:header-inset-level="item.level_parent"
|
||||||
|
:icon="item.materialIcon"
|
||||||
|
:label="tools.getLabelByItem(item)"
|
||||||
|
active-class="my-menu-active"
|
||||||
|
:expand-icon-class="item.mainMenu ? 'my-menu-separat' : ''"
|
||||||
|
:expand-icon="
|
||||||
|
item.mainMenu || item.routes2 ? 'fas fa-chevron-down' : 'none'
|
||||||
|
"
|
||||||
|
>
|
||||||
|
<c-menu-item
|
||||||
|
v-for="(childItem, childIndex) in item.routes2 || item.sottoMenu"
|
||||||
|
:key="childIndex"
|
||||||
|
:item="getmenuByPath(childItem)"
|
||||||
|
:tools="tools"
|
||||||
|
:getroute="getroute"
|
||||||
|
:getmymenuclass="getmymenuclass"
|
||||||
|
:getimgiconclass="getimgiconclass"
|
||||||
|
:clBase="clBase"
|
||||||
|
:mainMenu="item.mainMenu"
|
||||||
|
:level="level + 1"
|
||||||
|
/>
|
||||||
|
</q-expansion-item>
|
||||||
|
<q-item
|
||||||
|
v-else
|
||||||
|
clickable
|
||||||
|
:to="getroute(item)"
|
||||||
|
:content-inset-level="item.level_parent"
|
||||||
|
:header-inset-level="item.level_parent"
|
||||||
|
active-class="my-menu-active"
|
||||||
|
expand-icon="none"
|
||||||
|
>
|
||||||
|
<q-item-section thumbnail>
|
||||||
|
<q-avatar
|
||||||
|
:icon="item.materialIcon"
|
||||||
|
:size="!!item.iconsize ? item.iconsize : '2rem'"
|
||||||
|
:font-size="!!item.iconsize ? item.iconsize : '2rem'"
|
||||||
|
text-color="primary"
|
||||||
|
square
|
||||||
|
rounded
|
||||||
|
>
|
||||||
|
</q-avatar>
|
||||||
|
</q-item-section>
|
||||||
|
|
||||||
|
<q-item-section>
|
||||||
|
<span :class="item.extraclass">{{ tools.getLabelByItem(item) }}</span>
|
||||||
|
<span v-if="item.subtitle" class="subtitle">{{ item.subtitle }}</span>
|
||||||
|
</q-item-section>
|
||||||
|
</q-item>
|
||||||
|
</div>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<script lang="ts" src="./CMenuItem.ts">
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<style lang="scss" scoped>
|
||||||
|
@import './CMenuItem.scss';
|
||||||
|
</style>
|
||||||
1
src/components/CMenuItem/index.ts
Executable file
1
src/components/CMenuItem/index.ts
Executable file
@@ -0,0 +1 @@
|
|||||||
|
export { default as CMenuItem } from './CMenuItem.vue'
|
||||||
17
src/components/CMovements/CMovements.scss
Executable file
17
src/components/CMovements/CMovements.scss
Executable file
@@ -0,0 +1,17 @@
|
|||||||
|
.myfrom {
|
||||||
|
color: green;
|
||||||
|
font-weight: bold;
|
||||||
|
}
|
||||||
|
|
||||||
|
.myto {
|
||||||
|
color: red;
|
||||||
|
font-weight: bold;
|
||||||
|
}
|
||||||
|
|
||||||
|
.circuit {
|
||||||
|
color: blue;
|
||||||
|
}
|
||||||
|
|
||||||
|
.date {
|
||||||
|
color: gray;
|
||||||
|
}
|
||||||
89
src/components/CMovements/CMovements.ts
Executable file
89
src/components/CMovements/CMovements.ts
Executable file
@@ -0,0 +1,89 @@
|
|||||||
|
import { defineComponent, ref, computed, PropType, toRef, onMounted } from 'vue'
|
||||||
|
import { useUserStore } from '@store/UserStore'
|
||||||
|
import { useRouter } from 'vue-router'
|
||||||
|
import { useGlobalStore } from '@store/globalStore'
|
||||||
|
import { useI18n } from '@/boot/i18n'
|
||||||
|
|
||||||
|
import { CMyImgUser } from '@/components/CMyImgUser'
|
||||||
|
import { CCurrencyValue } from '@/components/CCurrencyValue'
|
||||||
|
import { tools } from '@store/Modules/tools'
|
||||||
|
import { IMovQuery, IMovement } from '@src/model'
|
||||||
|
|
||||||
|
import { shared_consts } from '@src/common/shared_vuejs'
|
||||||
|
|
||||||
|
export default defineComponent({
|
||||||
|
name: 'CMovements',
|
||||||
|
components: { CMyImgUser, CCurrencyValue },
|
||||||
|
props: {
|
||||||
|
numcol: {
|
||||||
|
type: Number,
|
||||||
|
required: false,
|
||||||
|
default: 3
|
||||||
|
},
|
||||||
|
},
|
||||||
|
setup(props, { emit }) {
|
||||||
|
|
||||||
|
const userStore = useUserStore()
|
||||||
|
const $router = useRouter()
|
||||||
|
const globalStore = useGlobalStore()
|
||||||
|
const { t } = useI18n();
|
||||||
|
|
||||||
|
const datastat = ref(<any>{})
|
||||||
|
|
||||||
|
const mylist = computed(() => {
|
||||||
|
if (globalStore.datastat)
|
||||||
|
return globalStore.datastat.last_transactions
|
||||||
|
else
|
||||||
|
return []
|
||||||
|
})
|
||||||
|
|
||||||
|
async function mounted() {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
function getFromToStr(mov: any) {
|
||||||
|
|
||||||
|
let mystr = ''
|
||||||
|
if (mov) {
|
||||||
|
|
||||||
|
mystr += mov.str
|
||||||
|
}
|
||||||
|
return mystr
|
||||||
|
}
|
||||||
|
|
||||||
|
function navigabyMov(mov: IMovQuery, from: boolean) {
|
||||||
|
let link = ''
|
||||||
|
if (from) {
|
||||||
|
if (mov.tipocontofrom === shared_consts.AccountType.USER) {
|
||||||
|
link = `/my/` + mov.userfrom.username
|
||||||
|
} else if (mov.tipocontofrom === shared_consts.AccountType.COLLECTIVE_ACCOUNT) {
|
||||||
|
link = tools.getPathByGroup(mov.groupfrom)
|
||||||
|
} else if (mov.tipocontofrom === shared_consts.AccountType.COMMUNITY_ACCOUNT) {
|
||||||
|
link = '' // mov.contocomfrom.name
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
if (mov.tipocontoto === shared_consts.AccountType.USER) {
|
||||||
|
link = `/my/` + mov.userto.username
|
||||||
|
} else if (mov.tipocontoto === shared_consts.AccountType.COLLECTIVE_ACCOUNT) {
|
||||||
|
link = tools.getPathByGroup(mov.groupto)
|
||||||
|
} else if (mov.tipocontoto === shared_consts.AccountType.COMMUNITY_ACCOUNT) {
|
||||||
|
link = ''
|
||||||
|
}
|
||||||
|
}
|
||||||
|
$router.push(link)
|
||||||
|
}
|
||||||
|
|
||||||
|
onMounted(() => {
|
||||||
|
mounted()
|
||||||
|
})
|
||||||
|
|
||||||
|
return {
|
||||||
|
userStore,
|
||||||
|
tools,
|
||||||
|
mylist,
|
||||||
|
getFromToStr,
|
||||||
|
t,
|
||||||
|
navigabyMov,
|
||||||
|
}
|
||||||
|
}
|
||||||
|
})
|
||||||
61
src/components/CMovements/CMovements.vue
Executable file
61
src/components/CMovements/CMovements.vue
Executable file
@@ -0,0 +1,61 @@
|
|||||||
|
<template>
|
||||||
|
<q-list bordered>
|
||||||
|
<q-item
|
||||||
|
v-for="mov in mylist"
|
||||||
|
:key="mov._id"
|
||||||
|
class="q-mb-sm"
|
||||||
|
clickable
|
||||||
|
v-ripple
|
||||||
|
>
|
||||||
|
<q-item-section avatar @click="navigabyMov(mov, true)">
|
||||||
|
<CMyImgUser :mov="mov" :from="true"> </CMyImgUser>
|
||||||
|
</q-item-section>
|
||||||
|
|
||||||
|
<q-item-section>
|
||||||
|
<q-item-label v-if="mov.causal">{{ mov.causal }}</q-item-label>
|
||||||
|
<q-item-label lines="1">
|
||||||
|
{{ t('movement.from') }} <span class="myfrom">{{ mov.myfrom }}</span>
|
||||||
|
</q-item-label>
|
||||||
|
<q-item-label lines="1">
|
||||||
|
{{ t('movement.to') }}
|
||||||
|
<span class="myto">{{ mov.myto }}</span></q-item-label
|
||||||
|
>
|
||||||
|
<q-item-label
|
||||||
|
caption
|
||||||
|
lines="1"
|
||||||
|
v-if="mov.circuitfrom"
|
||||||
|
class="circuit"
|
||||||
|
>{{ mov.circuitfrom.name }}</q-item-label
|
||||||
|
>
|
||||||
|
<q-item-label
|
||||||
|
caption
|
||||||
|
lines="1"
|
||||||
|
v-if="mov.transactionDate"
|
||||||
|
class="date"
|
||||||
|
>{{ tools.getstrDateTime(mov.transactionDate) }}</q-item-label
|
||||||
|
>
|
||||||
|
<q-item-label caption lines="1" style="text-align: center">
|
||||||
|
<CCurrencyValue
|
||||||
|
:symbol="mov.circuitfrom.symbol"
|
||||||
|
color="red"
|
||||||
|
v-model="mov.amount"
|
||||||
|
:small="true"
|
||||||
|
label=""
|
||||||
|
>
|
||||||
|
</CCurrencyValue
|
||||||
|
></q-item-label>
|
||||||
|
</q-item-section>
|
||||||
|
|
||||||
|
<q-item-section side @click="navigabyMov(mov, false)">
|
||||||
|
<CMyImgUser :mov="mov" :from="false"> </CMyImgUser>
|
||||||
|
</q-item-section>
|
||||||
|
</q-item>
|
||||||
|
</q-list>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<script lang="ts" src="./CMovements.ts">
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<style lang="scss" scoped>
|
||||||
|
@import './CMovements.scss';
|
||||||
|
</style>
|
||||||
1
src/components/CMovements/index.ts
Executable file
1
src/components/CMovements/index.ts
Executable file
@@ -0,0 +1 @@
|
|||||||
|
export { default as CMovements } from './CMovements.vue'
|
||||||
@@ -83,7 +83,7 @@ export default defineComponent({
|
|||||||
}
|
}
|
||||||
|
|
||||||
function condividipag() {
|
function condividipag() {
|
||||||
const msg = self.location.host + tools.getPathByGroup(myrec.value, props.table)
|
const msg = self.location.host + tools.getPathByGroup(myrec.value)
|
||||||
return tools.copyStringToClipboard($q, msg, true)
|
return tools.copyStringToClipboard($q, msg, true)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -1,7 +1,9 @@
|
|||||||
<template>
|
<template>
|
||||||
<div
|
<div
|
||||||
v-if="myrec && myrec._id"
|
v-if="myrec && myrec._id"
|
||||||
:class="$q.screen.lt.sm ? ' fulldiv ' : ' well-positioned-dialog'"
|
:class="
|
||||||
|
$q.screen.lt.md || nopopup ? ' fulldiv ' : ' well-positioned-dialog'
|
||||||
|
"
|
||||||
>
|
>
|
||||||
<div
|
<div
|
||||||
:class="'items-start ' + (!isSmall ? ' q-gutter-xs full-height ' : '')"
|
:class="'items-start ' + (!isSmall ? ' q-gutter-xs full-height ' : '')"
|
||||||
@@ -553,14 +555,7 @@
|
|||||||
"
|
"
|
||||||
class="my-card clBorderUser"
|
class="my-card clBorderUser"
|
||||||
bordered
|
bordered
|
||||||
@click="
|
@click="naviga(tools.getPathByGroup(myrec.mygrp))"
|
||||||
naviga(
|
|
||||||
tools.getPathByGroup(
|
|
||||||
myrec.mygrp,
|
|
||||||
shared_consts.TABLES_MYGROUPS
|
|
||||||
)
|
|
||||||
)
|
|
||||||
"
|
|
||||||
>
|
>
|
||||||
<CMyGroup
|
<CMyGroup
|
||||||
:mygrp="myrec.mygrp"
|
:mygrp="myrec.mygrp"
|
||||||
|
|||||||
@@ -92,6 +92,8 @@ export default defineComponent({
|
|||||||
const visuadd = ref(false)
|
const visuadd = ref(false)
|
||||||
const direzadd = ref(1)
|
const direzadd = ref(1)
|
||||||
|
|
||||||
|
const selectedClasses = ref(<any>[])
|
||||||
|
|
||||||
watch(() => myel.value.order, (value, oldval) => {
|
watch(() => myel.value.order, (value, oldval) => {
|
||||||
mounted()
|
mounted()
|
||||||
})
|
})
|
||||||
@@ -222,6 +224,11 @@ export default defineComponent({
|
|||||||
|
|
||||||
if (props.myelem)
|
if (props.myelem)
|
||||||
newtype.value = props.myelem.type
|
newtype.value = props.myelem.type
|
||||||
|
|
||||||
|
if (myel.value.class4) {
|
||||||
|
selectedClasses.value = myel.value.class4.split(' ').filter(Boolean)
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
function clickOnElem() {
|
function clickOnElem() {
|
||||||
@@ -237,6 +244,27 @@ export default defineComponent({
|
|||||||
modifElem()
|
modifElem()
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
function dupNewCard() {
|
||||||
|
if (!myel.value.listcards)
|
||||||
|
return
|
||||||
|
|
||||||
|
const myfindcard = myel.value.listcards[tabCard.value]
|
||||||
|
|
||||||
|
if (myfindcard) {
|
||||||
|
let mycard = { ...myfindcard }
|
||||||
|
delete mycard._id
|
||||||
|
mycard._id = objectId()
|
||||||
|
|
||||||
|
const bakcard = [...myel.value.listcards]
|
||||||
|
|
||||||
|
myel.value.listcards = []
|
||||||
|
myel.value.listcards = [...bakcard, mycard]
|
||||||
|
modifElem()
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
function addNewElemText() {
|
function addNewElemText() {
|
||||||
@@ -284,7 +312,12 @@ export default defineComponent({
|
|||||||
if (props.myelem.listcards) {
|
if (props.myelem.listcards) {
|
||||||
props.myelem.listcards.forEach((rec: IMyCard) => {
|
props.myelem.listcards.forEach((rec: IMyCard) => {
|
||||||
if (recpass._id === rec._id) {
|
if (recpass._id === rec._id) {
|
||||||
rec.imagefile = myval
|
if (myval.imagefile) {
|
||||||
|
rec.imagefile = myval.imagefile
|
||||||
|
rec.vers_img = tools.getGenerateVersionImage()
|
||||||
|
} else {
|
||||||
|
rec.imagefile = myval
|
||||||
|
}
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
@@ -292,7 +325,11 @@ export default defineComponent({
|
|||||||
if (props.myelem.elemsText) {
|
if (props.myelem.elemsText) {
|
||||||
props.myelem.elemsText.forEach((rec: IElemText) => {
|
props.myelem.elemsText.forEach((rec: IElemText) => {
|
||||||
if (recpass._id === rec._id) {
|
if (recpass._id === rec._id) {
|
||||||
rec.text = myval
|
if (myval.imagefile) {
|
||||||
|
rec.text = myval.imagefile
|
||||||
|
} else {
|
||||||
|
rec.text = myval
|
||||||
|
}
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
@@ -335,6 +372,11 @@ export default defineComponent({
|
|||||||
modifElem()
|
modifElem()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function updateSizeHeight(value: any) {
|
||||||
|
myel.value.heightimg = value; // Aggiorna widthimg con il nuovo valore
|
||||||
|
modifElem()
|
||||||
|
}
|
||||||
|
|
||||||
function toggleSize() {
|
function toggleSize() {
|
||||||
emit('toggleSize', null)
|
emit('toggleSize', null)
|
||||||
}
|
}
|
||||||
@@ -402,6 +444,30 @@ export default defineComponent({
|
|||||||
emit('saveElem', myelem)
|
emit('saveElem', myelem)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function classiImmagineOptions() {
|
||||||
|
// Ritorna l'array delle classi, ad esempio:
|
||||||
|
return [
|
||||||
|
{ label: 'Tonda', value: 'image-circle' },
|
||||||
|
{ label: 'Sbordata', value: 'image-round-bordered' },
|
||||||
|
{ label: 'Ombrata', value: 'image-ombra' },
|
||||||
|
// Aggiungi altre classi se necessario
|
||||||
|
];
|
||||||
|
}
|
||||||
|
|
||||||
|
function updateClass4(selectedOptions: any) {
|
||||||
|
|
||||||
|
// Aggiorna selectedClasses
|
||||||
|
selectedClasses.value = selectedOptions;
|
||||||
|
|
||||||
|
if (myel.value) {
|
||||||
|
// Imposta myel.class2 come stringa
|
||||||
|
myel.value.class4 = selectedOptions.join(' '); // Converte l'array in una stringa separata da spazi
|
||||||
|
|
||||||
|
saveElem()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
onMounted(mounted)
|
onMounted(mounted)
|
||||||
|
|
||||||
return {
|
return {
|
||||||
@@ -449,6 +515,11 @@ export default defineComponent({
|
|||||||
orderOptions,
|
orderOptions,
|
||||||
addOrder,
|
addOrder,
|
||||||
moveElem,
|
moveElem,
|
||||||
|
updateSizeHeight,
|
||||||
|
dupNewCard,
|
||||||
|
updateClass4,
|
||||||
|
selectedClasses,
|
||||||
|
classiImmagineOptions,
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
||||||
|
|||||||
@@ -173,16 +173,20 @@
|
|||||||
dense
|
dense
|
||||||
style="width: 150px"
|
style="width: 150px"
|
||||||
/>
|
/>
|
||||||
<q-input
|
<q-select
|
||||||
label="Altezza:"
|
label="Altezza:"
|
||||||
@update:model-value="modifElem"
|
|
||||||
style="width: 100px"
|
|
||||||
v-model="myel.heightimg"
|
v-model="myel.heightimg"
|
||||||
|
emit-value
|
||||||
|
map-options
|
||||||
|
:options="generateSizeOptions()"
|
||||||
|
use-input
|
||||||
|
use-chips
|
||||||
|
@input="saveElem"
|
||||||
filled
|
filled
|
||||||
dense
|
dense
|
||||||
v-on:keyup.enter="saveElem"
|
@new-value="updateSizeHeight"
|
||||||
>
|
style="width: 150px"
|
||||||
</q-input>
|
/>
|
||||||
</div>
|
</div>
|
||||||
</q-expansion-item>
|
</q-expansion-item>
|
||||||
|
|
||||||
@@ -281,6 +285,42 @@
|
|||||||
>
|
>
|
||||||
</CSelectAnimation>
|
</CSelectAnimation>
|
||||||
</q-expansion-item>
|
</q-expansion-item>
|
||||||
|
<q-expansion-item
|
||||||
|
dense
|
||||||
|
dense-toggle
|
||||||
|
expand-separator
|
||||||
|
label="Banner Iniziale"
|
||||||
|
icon="fas fa-play-circle"
|
||||||
|
>
|
||||||
|
<div>Banner:</div>
|
||||||
|
|
||||||
|
<q-input
|
||||||
|
dense
|
||||||
|
label="Titolo Banner:"
|
||||||
|
@update:model-value="modifElem"
|
||||||
|
v-model="myel.titleBanner"
|
||||||
|
filled
|
||||||
|
v-on:keyup.enter="saveElem"
|
||||||
|
>
|
||||||
|
</q-input>
|
||||||
|
<q-input
|
||||||
|
dense
|
||||||
|
label="Classe Banner:"
|
||||||
|
@update:model-value="modifElem"
|
||||||
|
v-model="myel.classBanner"
|
||||||
|
filled
|
||||||
|
v-on:keyup.enter="saveElem"
|
||||||
|
>
|
||||||
|
</q-input>
|
||||||
|
<CSelectColor
|
||||||
|
v-if="enableEdit"
|
||||||
|
style="min-width: 150px"
|
||||||
|
v-model="myel.color"
|
||||||
|
@update:model-value="modifElem"
|
||||||
|
title="Colore Titolo"
|
||||||
|
>
|
||||||
|
</CSelectColor>
|
||||||
|
</q-expansion-item>
|
||||||
<div v-if="myel.type === shared_consts.ELEMTYPE.TEXT">
|
<div v-if="myel.type === shared_consts.ELEMTYPE.TEXT">
|
||||||
<div v-if="enableEdit">
|
<div v-if="enableEdit">
|
||||||
<q-input
|
<q-input
|
||||||
@@ -302,16 +342,22 @@
|
|||||||
dense
|
dense
|
||||||
dense-toggle
|
dense-toggle
|
||||||
expand-separator
|
expand-separator
|
||||||
label="Animazione"
|
label="Classi per l'Immagine"
|
||||||
icon="fas fa-expand-alt"
|
icon="fas fa-expand-alt"
|
||||||
>
|
>
|
||||||
<CSelectAnimation
|
<q-select
|
||||||
v-if="enableEdit && showAnimation"
|
label="Classi:"
|
||||||
v-model="myel.anim2"
|
v-model="selectedClasses"
|
||||||
@update:model-value="modifElem"
|
emit-value
|
||||||
label="Animazione Immagini"
|
map-options
|
||||||
>
|
:options="classiImmagineOptions()"
|
||||||
</CSelectAnimation>
|
use-chips
|
||||||
|
multiple
|
||||||
|
@update:model-value="updateClass4"
|
||||||
|
filled
|
||||||
|
dense
|
||||||
|
style="width: 350px"
|
||||||
|
/>
|
||||||
</q-expansion-item>
|
</q-expansion-item>
|
||||||
<div class="row">
|
<div class="row">
|
||||||
<q-input
|
<q-input
|
||||||
@@ -333,6 +379,15 @@
|
|||||||
@click="addNewCard"
|
@click="addNewCard"
|
||||||
>
|
>
|
||||||
</q-btn>
|
</q-btn>
|
||||||
|
<q-btn
|
||||||
|
rounded
|
||||||
|
dense
|
||||||
|
color="primary"
|
||||||
|
label="Scheda"
|
||||||
|
icon="fas fa-copy"
|
||||||
|
@click="dupNewCard"
|
||||||
|
>
|
||||||
|
</q-btn>
|
||||||
|
|
||||||
<q-tabs
|
<q-tabs
|
||||||
v-model="tabCard"
|
v-model="tabCard"
|
||||||
@@ -346,7 +401,7 @@
|
|||||||
<q-tab
|
<q-tab
|
||||||
v-for="(rec, ind) in myel.listcards"
|
v-for="(rec, ind) in myel.listcards"
|
||||||
:key="ind"
|
:key="ind"
|
||||||
:name="`card` + ind"
|
:name="ind"
|
||||||
:label="`Scheda ` + (ind + 1)"
|
:label="`Scheda ` + (ind + 1)"
|
||||||
icon="fas fa-pencil-alt"
|
icon="fas fa-pencil-alt"
|
||||||
/>
|
/>
|
||||||
@@ -356,11 +411,11 @@
|
|||||||
<q-tab-panel
|
<q-tab-panel
|
||||||
v-for="(rec, ind) in myel.listcards"
|
v-for="(rec, ind) in myel.listcards"
|
||||||
:key="ind"
|
:key="ind"
|
||||||
:name="`card` + ind"
|
:name="ind"
|
||||||
>
|
>
|
||||||
<div v-if="enableEdit" class="column bordered q-ma-xs">
|
<div v-if="enableEdit" class="column bordered q-ma-xs">
|
||||||
<q-bar class="bg-primary text-white">
|
<q-bar class="bg-primary text-white">
|
||||||
Card {{ ind + 1 }}
|
Scheda {{ ind + 1 }}
|
||||||
<q-space />
|
<q-space />
|
||||||
<q-btn
|
<q-btn
|
||||||
icon="fas fa-trash-alt"
|
icon="fas fa-trash-alt"
|
||||||
@@ -411,6 +466,17 @@
|
|||||||
v-on:keyup.enter="saveElem"
|
v-on:keyup.enter="saveElem"
|
||||||
>
|
>
|
||||||
</q-input>
|
</q-input>
|
||||||
|
<q-input
|
||||||
|
dense
|
||||||
|
style="min-width: 450px"
|
||||||
|
label="Link:"
|
||||||
|
class="fa-border"
|
||||||
|
@update:model-value="modifElem"
|
||||||
|
v-model="rec.link"
|
||||||
|
filled
|
||||||
|
v-on:keyup.enter="saveElem"
|
||||||
|
>
|
||||||
|
</q-input>
|
||||||
<CSelectColor
|
<CSelectColor
|
||||||
v-if="enableEdit"
|
v-if="enableEdit"
|
||||||
style="min-width: 150px"
|
style="min-width: 150px"
|
||||||
@@ -602,15 +668,20 @@
|
|||||||
style="width: 150px"
|
style="width: 150px"
|
||||||
/>
|
/>
|
||||||
|
|
||||||
<q-input
|
<q-select
|
||||||
label="Altezza Logo:"
|
label="Altezza Logo:"
|
||||||
@update:model-value="modifElem"
|
v-model="myel.heightimg"
|
||||||
v-model="myel.height"
|
emit-value
|
||||||
|
map-options
|
||||||
|
:options="generateSizeOptions()"
|
||||||
|
use-input
|
||||||
|
use-chips
|
||||||
|
@input="saveElem"
|
||||||
filled
|
filled
|
||||||
dense
|
dense
|
||||||
v-on:keyup.enter="saveElem"
|
@new-value="updateSizeHeight"
|
||||||
>
|
style="width: 150px"
|
||||||
</q-input>
|
/>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<q-btn
|
<q-btn
|
||||||
@@ -869,27 +940,34 @@
|
|||||||
>
|
>
|
||||||
</q-input>
|
</q-input>
|
||||||
<div class="col-12 col-sm-6 col-md-6 col-lg-6 col-xl-6 col-sticky">
|
<div class="col-12 col-sm-6 col-md-6 col-lg-6 col-xl-6 col-sticky">
|
||||||
<q-input
|
<q-select
|
||||||
dense
|
|
||||||
label="Lunghezza:"
|
label="Lunghezza:"
|
||||||
type="number"
|
|
||||||
@update:model-value="modifElem"
|
|
||||||
debounce="1000"
|
|
||||||
v-model="myel.widthimg"
|
v-model="myel.widthimg"
|
||||||
|
emit-value
|
||||||
|
map-options
|
||||||
|
:options="generateSizeOptions()"
|
||||||
|
use-input
|
||||||
|
use-chips
|
||||||
|
@input="saveElem"
|
||||||
filled
|
filled
|
||||||
v-on:keyup.enter="saveElem"
|
dense
|
||||||
>
|
@new-value="updateSizeWidth"
|
||||||
</q-input>
|
style="width: 150px"
|
||||||
<q-input
|
/>
|
||||||
|
<q-select
|
||||||
label="Altezza:"
|
label="Altezza:"
|
||||||
type="number"
|
|
||||||
@update:model-value="modifElem"
|
|
||||||
debounce="1000"
|
|
||||||
v-model="myel.heightimg"
|
v-model="myel.heightimg"
|
||||||
|
emit-value
|
||||||
|
map-options
|
||||||
|
:options="generateSizeOptions()"
|
||||||
|
use-input
|
||||||
|
use-chips
|
||||||
|
@input="saveElem"
|
||||||
filled
|
filled
|
||||||
v-on:keyup.enter="saveElem"
|
dense
|
||||||
>
|
@new-value="updateSizeHeight"
|
||||||
</q-input>
|
style="width: 150px"
|
||||||
|
/>
|
||||||
<q-input
|
<q-input
|
||||||
dense
|
dense
|
||||||
label="Link:"
|
label="Link:"
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
import {
|
import {
|
||||||
computed,
|
computed,
|
||||||
defineComponent, onMounted, PropType, ref, toRef, watch,
|
defineComponent, onMounted, PropType, ref, toRef, watch, nextTick,
|
||||||
} from 'vue'
|
} from 'vue'
|
||||||
|
|
||||||
import { ICoordGPS, IMyCard, IMyElem, IMyPage, IOperators, ISocial } from '@src/model'
|
import { ICoordGPS, IMyCard, IMyElem, IMyPage, IOperators, ISocial } from '@src/model'
|
||||||
@@ -34,6 +34,7 @@ import { CMyProfileTutorial } from '@src/components/CMyProfileTutorial'
|
|||||||
import { CSendRISTo } from '@src/components/CSendRISTo'
|
import { CSendRISTo } from '@src/components/CSendRISTo'
|
||||||
import { CDashboard } from '@src/components/CDashboard'
|
import { CDashboard } from '@src/components/CDashboard'
|
||||||
import { CDashGroup } from '@src/components/CDashGroup'
|
import { CDashGroup } from '@src/components/CDashGroup'
|
||||||
|
import { CMovements } from '@src/components/CMovements'
|
||||||
import { CCheckAppRunning } from '@src/components/CCheckAppRunning'
|
import { CCheckAppRunning } from '@src/components/CCheckAppRunning'
|
||||||
import { CStatusReg } from '@src/components/CStatusReg'
|
import { CStatusReg } from '@src/components/CStatusReg'
|
||||||
import { CTitleBanner } from '@src/components/CTitleBanner'
|
import { CTitleBanner } from '@src/components/CTitleBanner'
|
||||||
@@ -65,7 +66,7 @@ export default defineComponent({
|
|||||||
CTitleBanner, CShareSocial, CCheckAppRunning, CRegistration,
|
CTitleBanner, CShareSocial, CCheckAppRunning, CRegistration,
|
||||||
CVisuVideoPromoAndPDF, CECommerce, CCatalogo, CAITools,
|
CVisuVideoPromoAndPDF, CECommerce, CCatalogo, CAITools,
|
||||||
CMapComuni, CMapUsers, CMapGetCoordinates, CMapEditAddressByCoord,
|
CMapComuni, CMapUsers, CMapGetCoordinates, CMapEditAddressByCoord,
|
||||||
CDashGroup,
|
CDashGroup, CMovements,
|
||||||
// , //CMapMarker,
|
// , //CMapMarker,
|
||||||
},
|
},
|
||||||
emits: ['selElemClick'],
|
emits: ['selElemClick'],
|
||||||
@@ -125,6 +126,11 @@ export default defineComponent({
|
|||||||
|
|
||||||
const coordaddr = ref(<ICoordGPS>{ address: '', coordinates: [0, 0] })
|
const coordaddr = ref(<ICoordGPS>{ address: '', coordinates: [0, 0] })
|
||||||
|
|
||||||
|
const carouselRef = ref(<any>null)
|
||||||
|
const isAtStart = ref(true)
|
||||||
|
const isAtEnd = ref(false)
|
||||||
|
const activeIndex = ref(0)
|
||||||
|
|
||||||
watch(() => myel.value.order, (value, oldval) => {
|
watch(() => myel.value.order, (value, oldval) => {
|
||||||
mounted()
|
mounted()
|
||||||
})
|
})
|
||||||
@@ -173,14 +179,28 @@ export default defineComponent({
|
|||||||
disableSave.value = false
|
disableSave.value = false
|
||||||
}
|
}
|
||||||
|
|
||||||
|
const checkScrollPosition = () => {
|
||||||
|
const container = carouselRef.value
|
||||||
|
if (!container || !myel.value || !myel.value.listcards) return
|
||||||
|
|
||||||
|
isAtStart.value = container.scrollLeft <= 0
|
||||||
|
isAtEnd.value = container.scrollLeft + container.clientWidth >= container.scrollWidth - 1
|
||||||
|
|
||||||
|
const cardWidth = container.scrollWidth / myel.value.listcards.length
|
||||||
|
activeIndex.value = Math.round(container.scrollLeft / cardWidth)
|
||||||
|
}
|
||||||
|
|
||||||
function mounted() {
|
function mounted() {
|
||||||
//console.log('mounted elem ')
|
|
||||||
//console.log(props.myelem.type)
|
|
||||||
myel.value = props.myelem
|
myel.value = props.myelem
|
||||||
neworder.value = props.myelem.order
|
neworder.value = props.myelem.order
|
||||||
|
|
||||||
if (props.myelem)
|
if (props.myelem)
|
||||||
newtype.value = props.myelem.type
|
newtype.value = props.myelem.type
|
||||||
|
|
||||||
|
nextTick(() => {
|
||||||
|
checkScrollPosition()
|
||||||
|
carouselRef.value?.addEventListener('scroll', checkScrollPosition)
|
||||||
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
function clickOnElem() {
|
function clickOnElem() {
|
||||||
@@ -271,6 +291,10 @@ export default defineComponent({
|
|||||||
clickshare,
|
clickshare,
|
||||||
isAppRunning,
|
isAppRunning,
|
||||||
coordaddr,
|
coordaddr,
|
||||||
|
isAtStart,
|
||||||
|
isAtEnd,
|
||||||
|
activeIndex,
|
||||||
|
carouselRef,
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
||||||
|
|||||||
@@ -31,65 +31,71 @@
|
|||||||
</div>
|
</div>
|
||||||
<div
|
<div
|
||||||
v-if="myel.type === shared_consts.ELEMTYPE.CARD"
|
v-if="myel.type === shared_consts.ELEMTYPE.CARD"
|
||||||
:class="myel.span ? '' : ''"
|
class="card-carousel-container"
|
||||||
>
|
>
|
||||||
<div
|
<div
|
||||||
:class="myel.class + (editOn ? ` clEdit` : ``) + getClass()"
|
:class="myel.class + (editOn ? ` clEdit` : ``) + getClass()"
|
||||||
@click="clickOnElem"
|
@click="clickOnElem"
|
||||||
|
class="card-carousel"
|
||||||
|
ref="carouselRef"
|
||||||
>
|
>
|
||||||
<div v-for="(rec, ind) in myel.listcards" :key="ind">
|
<q-card
|
||||||
<q-card
|
v-for="(rec, ind) in myel.listcards"
|
||||||
:class="`my-card center_img bordered ` + myel.class3"
|
:key="ind"
|
||||||
:style="rec.style"
|
:class="
|
||||||
|
`my-card-elem center_img bordered ` +
|
||||||
|
myel.class3 +
|
||||||
|
(rec.link ? ' titolo_card' : '')
|
||||||
|
"
|
||||||
|
:style="
|
||||||
|
rec.style +
|
||||||
|
`; height: ${myel.heightimg || `300px`} !important; width: ${
|
||||||
|
myel.widthimg || `300px`
|
||||||
|
} !important;`
|
||||||
|
"
|
||||||
|
@click="rec.link ? tools.openUrl(rec.link) : undefined"
|
||||||
|
>
|
||||||
|
<div
|
||||||
|
class="img-container"
|
||||||
|
:style="`height: ${
|
||||||
|
myel.heightimg.replace('px', '') * 0.7
|
||||||
|
}px; overflow: hidden;`"
|
||||||
>
|
>
|
||||||
<q-img
|
<q-img
|
||||||
:class="tools.getClassAnim(myel.anim2)"
|
:class="tools.getClassAnim(myel.anim2) + ` ` + myel.class4"
|
||||||
:src="tools.getImgFileByElem(myel, rec)"
|
:src="tools.getImgFileByElem(myel, rec)"
|
||||||
/>
|
/>
|
||||||
<q-card-section>
|
|
||||||
<div :class="rec.size" :style="`color: ` + rec.color">
|
|
||||||
{{ rec.alt }}
|
|
||||||
</div>
|
|
||||||
<div
|
|
||||||
:class="`q-mt-sm q-mb-xs ` + tools.getClassAnim(myel.anim)"
|
|
||||||
v-html="rec.content"
|
|
||||||
></div>
|
|
||||||
<div
|
|
||||||
v-if="rec.description"
|
|
||||||
class="text-caption"
|
|
||||||
:style="`color: ` + rec.colorsub"
|
|
||||||
>
|
|
||||||
{{ rec.description }}
|
|
||||||
</div>
|
|
||||||
</q-card-section>
|
|
||||||
|
|
||||||
<!--<q-card-actions>
|
|
||||||
<q-btn flat color="dark" label="Share"/>
|
|
||||||
<q-btn flat color="primary" label="Book"/>
|
|
||||||
|
|
||||||
<q-space/>
|
|
||||||
|
|
||||||
<q-btn
|
|
||||||
color="grey"
|
|
||||||
round
|
|
||||||
flat
|
|
||||||
dense
|
|
||||||
:icon="expanded ? 'keyboard_arrow_up' : 'keyboard_arrow_down'"
|
|
||||||
@click="expanded = !expanded"
|
|
||||||
/>
|
|
||||||
</q-card-actions>-->
|
|
||||||
|
|
||||||
<!--<q-slide-transition>
|
|
||||||
<div v-show="expanded">
|
|
||||||
<q-separator />
|
|
||||||
<q-card-section class="text-subtitle2">
|
|
||||||
|
|
||||||
</q-card-section>
|
|
||||||
</div>
|
</div>
|
||||||
</q-slide-transition>
|
<q-card-section>
|
||||||
-->
|
<div :class="rec.size" :style="`color: ` + rec.color">
|
||||||
</q-card>
|
{{ tools.getText(rec.alt) }}
|
||||||
</div>
|
</div>
|
||||||
|
<div
|
||||||
|
:class="`q-mt-sm q-mb-xs ` + tools.getClassAnim(myel.anim)"
|
||||||
|
v-html="rec.content"
|
||||||
|
></div>
|
||||||
|
<div
|
||||||
|
v-if="rec.description"
|
||||||
|
class="text-caption"
|
||||||
|
:style="`color: ` + rec.colorsub"
|
||||||
|
>
|
||||||
|
{{ rec.description }}
|
||||||
|
</div>
|
||||||
|
</q-card-section>
|
||||||
|
</q-card>
|
||||||
|
</div>
|
||||||
|
<div class="swipe-indicator left" v-if="!isAtStart">
|
||||||
|
<q-icon name="chevron_left" size="2rem" color="white" />
|
||||||
|
</div>
|
||||||
|
<div class="swipe-indicator right" v-if="!isAtEnd">
|
||||||
|
<q-icon name="chevron_right" size="2rem" color="white" />
|
||||||
|
</div>
|
||||||
|
<div class="scroll-indicator">
|
||||||
|
<div
|
||||||
|
v-for="(_, index) in myel.listcards"
|
||||||
|
:key="index"
|
||||||
|
:class="['dot', { active: index === activeIndex }]"
|
||||||
|
></div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
@@ -468,6 +474,10 @@
|
|||||||
<div v-if="editOn" class="elemEdit">CDashGroup</div>
|
<div v-if="editOn" class="elemEdit">CDashGroup</div>
|
||||||
<CDashGroup></CDashGroup>
|
<CDashGroup></CDashGroup>
|
||||||
</div>
|
</div>
|
||||||
|
<div v-else-if="myel.type === shared_consts.ELEMTYPE.MOVEMENTS">
|
||||||
|
<div v-if="editOn" class="elemEdit">Lista Movimenti</div>
|
||||||
|
<CMovements></CMovements>
|
||||||
|
</div>
|
||||||
<div v-else-if="myel.type === shared_consts.ELEMTYPE.CSENDRISTO">
|
<div v-else-if="myel.type === shared_consts.ELEMTYPE.CSENDRISTO">
|
||||||
<div v-if="editOn" class="elemEdit">CSendRISTo</div>
|
<div v-if="editOn" class="elemEdit">CSendRISTo</div>
|
||||||
<CSendRISTo></CSendRISTo>
|
<CSendRISTo></CSendRISTo>
|
||||||
|
|||||||
@@ -1,12 +1,8 @@
|
|||||||
<template>
|
<template>
|
||||||
<div v-if="tools.isUserOk()">
|
<div v-if="tools.isUserOk()">
|
||||||
|
|
||||||
<div v-if="grp">
|
<div v-if="grp">
|
||||||
<q-item class="q-my-sm" clickable>
|
<q-item class="q-my-sm" clickable>
|
||||||
<q-item-section
|
<q-item-section avatar @click="naviga(tools.getPathByGroup(grp))">
|
||||||
avatar
|
|
||||||
@click="naviga(tools.getPathByGroup(grp, table))"
|
|
||||||
>
|
|
||||||
<q-avatar size="60px">
|
<q-avatar size="60px">
|
||||||
<q-img
|
<q-img
|
||||||
:src="getImgGroup(grp)"
|
:src="getImgGroup(grp)"
|
||||||
@@ -17,7 +13,7 @@
|
|||||||
</q-avatar>
|
</q-avatar>
|
||||||
</q-item-section>
|
</q-item-section>
|
||||||
|
|
||||||
<q-item-section @click="naviga(tools.getPathByGroup(grp, table))">
|
<q-item-section @click="naviga(tools.getPathByGroup(grp))">
|
||||||
<q-item-label
|
<q-item-label
|
||||||
><strong>{{ grp.title }}</strong> ({{ grp.groupname }})
|
><strong>{{ grp.title }}</strong> ({{ grp.groupname }})
|
||||||
</q-item-label>
|
</q-item-label>
|
||||||
@@ -33,7 +29,6 @@
|
|||||||
:saldo="grp.account.saldo"
|
:saldo="grp.account.saldo"
|
||||||
>
|
>
|
||||||
</CSaldo>
|
</CSaldo>
|
||||||
|
|
||||||
</q-item-label>
|
</q-item-label>
|
||||||
</q-item-section>
|
</q-item-section>
|
||||||
|
|
||||||
|
|||||||
@@ -2,10 +2,7 @@
|
|||||||
<div v-if="tools.isUserOk()">
|
<div v-if="tools.isUserOk()">
|
||||||
<div v-if="grp">
|
<div v-if="grp">
|
||||||
<q-item class="q-my-sm" clickable>
|
<q-item class="q-my-sm" clickable>
|
||||||
<q-item-section
|
<q-item-section avatar @click="naviga(tools.getPathByGroup(grp))">
|
||||||
avatar
|
|
||||||
@click="naviga(tools.getPathByGroup(grp, table))"
|
|
||||||
>
|
|
||||||
<q-item-label v-if="labelextra"
|
<q-item-label v-if="labelextra"
|
||||||
><strong>{{ labelextra }}</strong></q-item-label
|
><strong>{{ labelextra }}</strong></q-item-label
|
||||||
>
|
>
|
||||||
@@ -19,7 +16,7 @@
|
|||||||
</q-avatar>
|
</q-avatar>
|
||||||
</q-item-section>
|
</q-item-section>
|
||||||
|
|
||||||
<q-item-section @click="naviga(tools.getPathByGroup(grp, table))">
|
<q-item-section @click="naviga(tools.getPathByGroup(grp))">
|
||||||
<q-item-label
|
<q-item-label
|
||||||
><strong>{{ grp.title }}</strong> ({{ grp.groupname }})
|
><strong>{{ grp.title }}</strong> ({{ grp.groupname }})
|
||||||
</q-item-label>
|
</q-item-label>
|
||||||
|
|||||||
4
src/components/CMyImgUser/CMyImgUser.scss
Executable file
4
src/components/CMyImgUser/CMyImgUser.scss
Executable file
@@ -0,0 +1,4 @@
|
|||||||
|
.myflex{
|
||||||
|
display: flex;
|
||||||
|
flex: 1;
|
||||||
|
}
|
||||||
100
src/components/CMyImgUser/CMyImgUser.ts
Executable file
100
src/components/CMyImgUser/CMyImgUser.ts
Executable file
@@ -0,0 +1,100 @@
|
|||||||
|
import { defineComponent, onMounted, PropType, ref, watch } from 'vue'
|
||||||
|
import { useUserStore } from '@store/UserStore'
|
||||||
|
import { ICircuit, IImgGallery, IMovQuery, IUserFields, IUserProfile } from 'model'
|
||||||
|
import { costanti } from '@costanti'
|
||||||
|
import { shared_consts } from '@/common/shared_vuejs'
|
||||||
|
import { tools } from '@store/Modules/tools'
|
||||||
|
import { useQuasar } from 'quasar'
|
||||||
|
import { CSendCoins } from '@/components/CSendCoins'
|
||||||
|
import { CSaldo } from '@/components/CSaldo'
|
||||||
|
import { CUserInfoAccount } from '@/components/CUserInfoAccount'
|
||||||
|
import { useI18n } from '@/boot/i18n'
|
||||||
|
import { useRoute, useRouter } from 'vue-router'
|
||||||
|
import { useCircuitStore } from '@store/CircuitStore'
|
||||||
|
|
||||||
|
export default defineComponent({
|
||||||
|
name: 'CMyImgUser',
|
||||||
|
components: { CSendCoins, CSaldo, CUserInfoAccount },
|
||||||
|
emits: ['setCmd', 'showInnerDialog'],
|
||||||
|
props: {
|
||||||
|
mycontact: {
|
||||||
|
type: Object as PropType<IUserFields | null>,
|
||||||
|
required: false,
|
||||||
|
default: null,
|
||||||
|
},
|
||||||
|
mov: {
|
||||||
|
type: Object as PropType<IMovQuery | null>,
|
||||||
|
required: false,
|
||||||
|
default: null,
|
||||||
|
},
|
||||||
|
from: {
|
||||||
|
type: Boolean,
|
||||||
|
required: false,
|
||||||
|
default: false,
|
||||||
|
},
|
||||||
|
myusername: {
|
||||||
|
type: String,
|
||||||
|
required: false,
|
||||||
|
default: null,
|
||||||
|
},
|
||||||
|
groupname: {
|
||||||
|
type: String,
|
||||||
|
required: false,
|
||||||
|
default: '',
|
||||||
|
},
|
||||||
|
},
|
||||||
|
|
||||||
|
setup(props, { emit }) {
|
||||||
|
|
||||||
|
const userStore = useUserStore()
|
||||||
|
const $q = useQuasar()
|
||||||
|
const { t } = useI18n()
|
||||||
|
const $router = useRouter()
|
||||||
|
const $route = useRoute()
|
||||||
|
|
||||||
|
const showsendCoinTo = ref(false)
|
||||||
|
|
||||||
|
const showAccountInfo = ref(false)
|
||||||
|
|
||||||
|
const contact = ref(<IUserFields | null>null)
|
||||||
|
const circuit = ref(<ICircuit | null | undefined>null)
|
||||||
|
|
||||||
|
watch(() => props.mycontact, (newval, oldval) => {
|
||||||
|
mounted()
|
||||||
|
})
|
||||||
|
|
||||||
|
function mounted() {
|
||||||
|
if (props.mycontact) {
|
||||||
|
contact.value = props.mycontact
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
function getImgUser(profile: IUserFields) {
|
||||||
|
return userStore.getImgByProfile(profile)
|
||||||
|
}
|
||||||
|
|
||||||
|
function getImgUserMov(tipoconto: number, from: boolean) {
|
||||||
|
return userStore.getImgByMov(props.mov!, tipoconto, from, true)
|
||||||
|
}
|
||||||
|
|
||||||
|
function naviga(path: string) {
|
||||||
|
$router.push(path)
|
||||||
|
}
|
||||||
|
|
||||||
|
onMounted(mounted)
|
||||||
|
|
||||||
|
return {
|
||||||
|
contact,
|
||||||
|
costanti,
|
||||||
|
getImgUser,
|
||||||
|
getImgUserMov,
|
||||||
|
naviga,
|
||||||
|
shared_consts,
|
||||||
|
userStore,
|
||||||
|
tools,
|
||||||
|
circuit,
|
||||||
|
showAccountInfo,
|
||||||
|
showsendCoinTo,
|
||||||
|
}
|
||||||
|
},
|
||||||
|
})
|
||||||
22
src/components/CMyImgUser/CMyImgUser.vue
Executable file
22
src/components/CMyImgUser/CMyImgUser.vue
Executable file
@@ -0,0 +1,22 @@
|
|||||||
|
<template>
|
||||||
|
<q-avatar size="60px">
|
||||||
|
<q-img
|
||||||
|
v-if="contact || mov"
|
||||||
|
:src="
|
||||||
|
mov
|
||||||
|
? getImgUserMov(from ? mov.tipocontofrom : mov.tipocontoto, from)
|
||||||
|
: getImgUser(contact)
|
||||||
|
"
|
||||||
|
:alt="contact ? contact.username : ''"
|
||||||
|
img-class="imgprofile"
|
||||||
|
height="60px"
|
||||||
|
/>
|
||||||
|
</q-avatar>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<script lang="ts" src="./CMyImgUser.ts">
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<style lang="scss" scoped>
|
||||||
|
@import './CMyImgUser.scss';
|
||||||
|
</style>
|
||||||
1
src/components/CMyImgUser/index.ts
Executable file
1
src/components/CMyImgUser/index.ts
Executable file
@@ -0,0 +1 @@
|
|||||||
|
export { default as CMyImgUser } from './CMyImgUser.vue'
|
||||||
@@ -7,6 +7,7 @@ import { IMyElem, IMyPage } from '@src/model'
|
|||||||
import { useGlobalStore } from '@store/globalStore'
|
import { useGlobalStore } from '@store/globalStore'
|
||||||
import { LandingFooter } from '@/components/LandingFooter'
|
import { LandingFooter } from '@/components/LandingFooter'
|
||||||
import { CMyElem } from '@/components/CMyElem'
|
import { CMyElem } from '@/components/CMyElem'
|
||||||
|
import { CTitleBanner } from '@/components/CTitleBanner'
|
||||||
import { CMyEditElem } from '@/components/CMyEditElem'
|
import { CMyEditElem } from '@/components/CMyEditElem'
|
||||||
import { CMyPageElem2 } from '@/components/CMyPageElem2'
|
import { CMyPageElem2 } from '@/components/CMyPageElem2'
|
||||||
|
|
||||||
@@ -21,7 +22,10 @@ import { useRouter } from 'vue-router'
|
|||||||
|
|
||||||
export default defineComponent({
|
export default defineComponent({
|
||||||
name: 'CMyPageElem',
|
name: 'CMyPageElem',
|
||||||
components: { LandingFooter, CImgTitle, CTitle, CMyElem, CMyEditElem, CMyPageElem2 },
|
components: {
|
||||||
|
LandingFooter, CImgTitle, CTitle, CMyElem,
|
||||||
|
CMyEditElem, CMyPageElem2, CTitleBanner,
|
||||||
|
},
|
||||||
props: {
|
props: {
|
||||||
title: String,
|
title: String,
|
||||||
mypath: {
|
mypath: {
|
||||||
@@ -73,7 +77,7 @@ export default defineComponent({
|
|||||||
},
|
},
|
||||||
|
|
||||||
set(value: boolean) {
|
set(value: boolean) {
|
||||||
return globalStore.editOn = value
|
return tools.updateEditOn(value)
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
const visuEditor = ref(false)
|
const visuEditor = ref(false)
|
||||||
|
|||||||
@@ -83,8 +83,32 @@
|
|||||||
<div v-for="myelem in myelems" :key="myelem._id">
|
<div v-for="myelem in myelems" :key="myelem._id">
|
||||||
<div>
|
<div>
|
||||||
<transition :duration="1000" appear>
|
<transition :duration="1000" appear>
|
||||||
|
<CTitleBanner
|
||||||
|
v-if="
|
||||||
|
(myelem.active || editOn) && !!rec.path && myelem.titleBanner
|
||||||
|
"
|
||||||
|
:class="`q-pa-xs `"
|
||||||
|
:title="myelem.titleBanner"
|
||||||
|
bgcolor="bg-primary"
|
||||||
|
:clcolor="myelem.color ? `` : `text-white`"
|
||||||
|
:mystyle="
|
||||||
|
myelem.color ? `color: ${myelem.color} !important;` : ``
|
||||||
|
"
|
||||||
|
:myclass="myelem.classBanner"
|
||||||
|
:canopen="true"
|
||||||
|
>
|
||||||
|
<CMyElem
|
||||||
|
:myelem="myelem"
|
||||||
|
:editOn="editOn"
|
||||||
|
:addOn="addOn"
|
||||||
|
:path="!!rec.path ? rec.path : ''"
|
||||||
|
:selElem="selElem"
|
||||||
|
@selElemClick="selElemClick"
|
||||||
|
>
|
||||||
|
</CMyElem>
|
||||||
|
</CTitleBanner>
|
||||||
<CMyElem
|
<CMyElem
|
||||||
v-if="(myelem.active || editOn) && !!rec.path"
|
v-else-if="(myelem.active || editOn) && !!rec.path"
|
||||||
:myelem="myelem"
|
:myelem="myelem"
|
||||||
:editOn="editOn"
|
:editOn="editOn"
|
||||||
:addOn="addOn"
|
:addOn="addOn"
|
||||||
|
|||||||
@@ -41,7 +41,9 @@
|
|||||||
>
|
>
|
||||||
<q-item-label caption lines="1"></q-item-label>
|
<q-item-label caption lines="1"></q-item-label>
|
||||||
<div v-if="visu === costanti.ASK_TRUST">
|
<div v-if="visu === costanti.ASK_TRUST">
|
||||||
<span class="text-italic">Reg: {{ tools.getstrDateShort(contact.date_reg) }}</span>
|
<span class="text-italic"
|
||||||
|
>Reg: {{ tools.getstrDateShort(contact.date_reg) }}</span
|
||||||
|
>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<q-item-label v-if="labelFooter" lines="1"
|
<q-item-label v-if="labelFooter" lines="1"
|
||||||
@@ -63,7 +65,9 @@
|
|||||||
:symbol="tools.getSymbolByCircuit(circuit)"
|
:symbol="tools.getSymbolByCircuit(circuit)"
|
||||||
:color="tools.getColorByCircuit(circuit)"
|
:color="tools.getColorByCircuit(circuit)"
|
||||||
:saldo="contact.account.saldo_pend"
|
:saldo="contact.account.saldo_pend"
|
||||||
:valueextra="contact.account.saldo_pend !== contact.account.saldo ? '*': ''"
|
:valueextra="
|
||||||
|
contact.account.saldo_pend !== contact.account.saldo ? '*' : ''
|
||||||
|
"
|
||||||
>
|
>
|
||||||
</CSaldo>
|
</CSaldo>
|
||||||
</div>
|
</div>
|
||||||
@@ -418,7 +422,7 @@
|
|||||||
clickable
|
clickable
|
||||||
v-close-popup
|
v-close-popup
|
||||||
dense
|
dense
|
||||||
@click="naviga(`/my/` + contact.username + '?sendris=1')"
|
@click="naviga(`/my/` + contact.username + '?sendris=0')"
|
||||||
>
|
>
|
||||||
<q-item-section avatar>
|
<q-item-section avatar>
|
||||||
<q-icon color="positive" name="fas fa-coins" />
|
<q-icon color="positive" name="fas fa-coins" />
|
||||||
@@ -807,7 +811,7 @@
|
|||||||
clickable
|
clickable
|
||||||
v-close-popup
|
v-close-popup
|
||||||
dense
|
dense
|
||||||
@click="naviga(`/my/` + contact.username + '?sendris=1')"
|
@click="naviga(`/my/` + contact.username + '?sendris=0')"
|
||||||
>
|
>
|
||||||
<q-item-section avatar>
|
<q-item-section avatar>
|
||||||
<q-icon color="positive" name="fas fa-coins" />
|
<q-icon color="positive" name="fas fa-coins" />
|
||||||
|
|||||||
@@ -92,10 +92,10 @@ export default defineComponent({
|
|||||||
const arrTypesAccounts = ref(<any>[
|
const arrTypesAccounts = ref(<any>[
|
||||||
{
|
{
|
||||||
label: t('circuit.user'),
|
label: t('circuit.user'),
|
||||||
value: costanti.AccountType.USER,
|
value: shared_consts.AccountType.USER,
|
||||||
},
|
},
|
||||||
])
|
])
|
||||||
const tipoConto = ref(costanti.AccountType.USER)
|
const tipoConto = ref(shared_consts.AccountType.USER)
|
||||||
|
|
||||||
const priceLabel = computed(() => circuitloaded.value ? `${qty.value} ` + circuitloaded.value.symbol : '')
|
const priceLabel = computed(() => circuitloaded.value ? `${qty.value} ` + circuitloaded.value.symbol : '')
|
||||||
const arrayMarkerLabel = ref(<any>[])
|
const arrayMarkerLabel = ref(<any>[])
|
||||||
@@ -114,7 +114,7 @@ export default defineComponent({
|
|||||||
|
|
||||||
watch(() => tipoConto.value, (newval, oldval) => {
|
watch(() => tipoConto.value, (newval, oldval) => {
|
||||||
|
|
||||||
if (tipoConto.value === costanti.AccountType.COLLECTIVE_ACCOUNT) {
|
if (tipoConto.value === shared_consts.AccountType.COLLECTIVE_ACCOUNT) {
|
||||||
if (arrGroupsList.value.length >= 1)
|
if (arrGroupsList.value.length >= 1)
|
||||||
from_groupname.value = arrGroupsList.value[0].value
|
from_groupname.value = arrGroupsList.value[0].value
|
||||||
}
|
}
|
||||||
@@ -157,7 +157,7 @@ export default defineComponent({
|
|||||||
arrTypesAccounts.value = [
|
arrTypesAccounts.value = [
|
||||||
{
|
{
|
||||||
label: t('circuit.user'),
|
label: t('circuit.user'),
|
||||||
value: costanti.AccountType.USER,
|
value: shared_consts.AccountType.USER,
|
||||||
},
|
},
|
||||||
]
|
]
|
||||||
|
|
||||||
@@ -165,13 +165,13 @@ export default defineComponent({
|
|||||||
if (!!datasaved.value.circuit) {
|
if (!!datasaved.value.circuit) {
|
||||||
circuitloaded.value = datasaved.value.circuit
|
circuitloaded.value = datasaved.value.circuit
|
||||||
|
|
||||||
if (tipoConto.value === costanti.AccountType.USER) {
|
if (tipoConto.value === shared_consts.AccountType.USER) {
|
||||||
accountloaded.value = userStore.getAccountByCircuitId(circuitloaded.value._id)
|
accountloaded.value = userStore.getAccountByCircuitId(circuitloaded.value._id)
|
||||||
} else if (tipoConto.value === costanti.AccountType.COLLECTIVE_ACCOUNT) {
|
} else if (tipoConto.value === shared_consts.AccountType.COLLECTIVE_ACCOUNT) {
|
||||||
groupSel.value = userStore.my.profile.manage_mygroups.find((group: IMyGroup) => from_groupname.value === group.groupname)
|
groupSel.value = userStore.my.profile.manage_mygroups.find((group: IMyGroup) => from_groupname.value === group.groupname)
|
||||||
|
|
||||||
accountloaded.value = groupSel.value ? groupSel.value.account : null
|
accountloaded.value = groupSel.value ? groupSel.value.account : null
|
||||||
} else if (tipoConto.value === costanti.AccountType.COMMUNITY_ACCOUNT) {
|
} else if (tipoConto.value === shared_consts.AccountType.COMMUNITY_ACCOUNT) {
|
||||||
from_contocom.value = circuitloaded.value.path
|
from_contocom.value = circuitloaded.value.path
|
||||||
accountloaded.value = circuitloaded.value ? circuitloaded.value.account : null
|
accountloaded.value = circuitloaded.value ? circuitloaded.value.account : null
|
||||||
}
|
}
|
||||||
@@ -197,14 +197,14 @@ export default defineComponent({
|
|||||||
arrTypesAccounts.value.push(
|
arrTypesAccounts.value.push(
|
||||||
{
|
{
|
||||||
label: t('circuit.conticollettivi'),
|
label: t('circuit.conticollettivi'),
|
||||||
value: costanti.AccountType.COLLECTIVE_ACCOUNT,
|
value: shared_consts.AccountType.COLLECTIVE_ACCOUNT,
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
if (tools.iCanSendCoinsSuperUserCircuit(circuitsel.value) && (!props.to_contocom)) {
|
if (tools.iCanSendCoinsSuperUserCircuit(circuitsel.value) && (!props.to_contocom)) {
|
||||||
arrTypesAccounts.value.push({
|
arrTypesAccounts.value.push({
|
||||||
label: t('circuit.contocom'),
|
label: t('circuit.contocom'),
|
||||||
value: costanti.AccountType.COMMUNITY_ACCOUNT,
|
value: shared_consts.AccountType.COMMUNITY_ACCOUNT,
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -253,7 +253,7 @@ export default defineComponent({
|
|||||||
arrTypesAccounts.value = [
|
arrTypesAccounts.value = [
|
||||||
{
|
{
|
||||||
label: t('circuit.user'),
|
label: t('circuit.user'),
|
||||||
value: costanti.AccountType.USER,
|
value: shared_consts.AccountType.USER,
|
||||||
},
|
},
|
||||||
]
|
]
|
||||||
|
|
||||||
@@ -341,8 +341,8 @@ export default defineComponent({
|
|||||||
|
|
||||||
myrecsendcoin.groupdest = props.to_group ? props.to_group.groupname : ''
|
myrecsendcoin.groupdest = props.to_group ? props.to_group.groupname : ''
|
||||||
myrecsendcoin.contoComDest = props.to_contocom
|
myrecsendcoin.contoComDest = props.to_contocom
|
||||||
myrecsendcoin.grouporig = tipoConto.value === costanti.AccountType.COLLECTIVE_ACCOUNT ? from_groupname.value : ''
|
myrecsendcoin.grouporig = tipoConto.value === shared_consts.AccountType.COLLECTIVE_ACCOUNT ? from_groupname.value : ''
|
||||||
myrecsendcoin.contoComOrig = tipoConto.value === costanti.AccountType.COMMUNITY_ACCOUNT ? from_contocom.value : ''
|
myrecsendcoin.contoComOrig = tipoConto.value === shared_consts.AccountType.COMMUNITY_ACCOUNT ? from_contocom.value : ''
|
||||||
|
|
||||||
myrecsendcoin.dest = props.to_user ? props.to_user.username : ''
|
myrecsendcoin.dest = props.to_user ? props.to_user.username : ''
|
||||||
|
|
||||||
|
|||||||
@@ -12,13 +12,9 @@
|
|||||||
<q-btn flat round color="white" icon="close" v-close-popup></q-btn>
|
<q-btn flat round color="white" icon="close" v-close-popup></q-btn>
|
||||||
</q-bar>
|
</q-bar>
|
||||||
<q-card-section class="q-px-xs inset-shadow">
|
<q-card-section class="q-px-xs inset-shadow">
|
||||||
<CCheckCircuitsEnabled
|
<CCheckCircuitsEnabled :to_user="to_user" :to_group="to_group">
|
||||||
:to_user="to_user"
|
|
||||||
:to_group="to_group"
|
|
||||||
>
|
|
||||||
</CCheckCircuitsEnabled>
|
</CCheckCircuitsEnabled>
|
||||||
|
|
||||||
|
|
||||||
<q-select
|
<q-select
|
||||||
v-if="!circuitname"
|
v-if="!circuitname"
|
||||||
:behavior="$q.platform.is.ios === true ? 'dialog' : 'menu'"
|
:behavior="$q.platform.is.ios === true ? 'dialog' : 'menu'"
|
||||||
@@ -69,14 +65,16 @@
|
|||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
<q-input
|
<q-input
|
||||||
v-if="tipoConto === costanti.AccountType.USER"
|
v-if="tipoConto === shared_consts.AccountType.USER"
|
||||||
v-model="from_username"
|
v-model="from_username"
|
||||||
class="full-width"
|
class="full-width"
|
||||||
readonly
|
readonly
|
||||||
>
|
>
|
||||||
</q-input>
|
</q-input>
|
||||||
<div
|
<div
|
||||||
v-else-if="tipoConto === costanti.AccountType.COLLECTIVE_ACCOUNT"
|
v-else-if="
|
||||||
|
tipoConto === shared_consts.AccountType.COLLECTIVE_ACCOUNT
|
||||||
|
"
|
||||||
>
|
>
|
||||||
<q-select
|
<q-select
|
||||||
v-model="from_groupname"
|
v-model="from_groupname"
|
||||||
@@ -89,7 +87,11 @@
|
|||||||
<!-- Mostra i gruppi su cui sei Admin -->
|
<!-- Mostra i gruppi su cui sei Admin -->
|
||||||
</q-select>
|
</q-select>
|
||||||
</div>
|
</div>
|
||||||
<div v-else-if="tipoConto === costanti.AccountType.COMMUNITY_ACCOUNT">
|
<div
|
||||||
|
v-else-if="
|
||||||
|
tipoConto === shared_consts.AccountType.COMMUNITY_ACCOUNT
|
||||||
|
"
|
||||||
|
>
|
||||||
<q-input
|
<q-input
|
||||||
v-model="from_contocom"
|
v-model="from_contocom"
|
||||||
:label="$t('circuit.contocom')"
|
:label="$t('circuit.contocom')"
|
||||||
@@ -247,16 +249,16 @@
|
|||||||
? !(
|
? !(
|
||||||
qtyRef.hasError ||
|
qtyRef.hasError ||
|
||||||
!circuitloaded.transactionsEnabled ||
|
!circuitloaded.transactionsEnabled ||
|
||||||
(tipoConto === costanti.AccountType.USER &&
|
(tipoConto === shared_consts.AccountType.USER &&
|
||||||
to_user &&
|
to_user &&
|
||||||
from_username === to_user.username) ||
|
from_username === to_user.username) ||
|
||||||
(tipoConto === costanti.AccountType.COLLECTIVE_ACCOUNT &&
|
(tipoConto === shared_consts.AccountType.COLLECTIVE_ACCOUNT &&
|
||||||
!from_groupname) ||
|
!from_groupname) ||
|
||||||
(tipoConto === costanti.AccountType.COLLECTIVE_ACCOUT &&
|
(tipoConto === shared_consts.AccountType.COLLECTIVE_ACCOUT &&
|
||||||
to_group &&
|
to_group &&
|
||||||
from_groupname &&
|
from_groupname &&
|
||||||
to_group.groupname === from_groupname) ||
|
to_group.groupname === from_groupname) ||
|
||||||
(tipoConto === costanti.AccountType.COMMUNITY_ACCOUNT &&
|
(tipoConto === shared_consts.AccountType.COMMUNITY_ACCOUNT &&
|
||||||
!from_contocom)
|
!from_contocom)
|
||||||
)
|
)
|
||||||
: true)
|
: true)
|
||||||
|
|||||||
@@ -34,7 +34,7 @@ export default defineComponent({
|
|||||||
|
|
||||||
const usersList = ref(<any>{ show: false, title: '', list: [], listgroup: [] })
|
const usersList = ref(<any>{ show: false, title: '', list: [], listgroup: [] })
|
||||||
|
|
||||||
const tipoConto = ref(costanti.AccountType.USER)
|
const tipoConto = ref(shared_consts.AccountType.USER)
|
||||||
const loading = ref(false)
|
const loading = ref(false)
|
||||||
const circuitpath = computed(() => {
|
const circuitpath = computed(() => {
|
||||||
const circ = circuitStore.getCircuitByProvinceAndCard(userStore.my.profile.resid_province, userStore.my.profile.resid_card)
|
const circ = circuitStore.getCircuitByProvinceAndCard(userStore.my.profile.resid_province, userStore.my.profile.resid_card)
|
||||||
@@ -46,11 +46,11 @@ export default defineComponent({
|
|||||||
const arrTypesAccounts = ref(<any>[
|
const arrTypesAccounts = ref(<any>[
|
||||||
{
|
{
|
||||||
label: t('circuit.user'),
|
label: t('circuit.user'),
|
||||||
value: costanti.AccountType.USER,
|
value: shared_consts.AccountType.USER,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
label: t('circuit.conticollettivi'),
|
label: t('circuit.conticollettivi'),
|
||||||
value: costanti.AccountType.COLLECTIVE_ACCOUNT,
|
value: shared_consts.AccountType.COLLECTIVE_ACCOUNT,
|
||||||
}
|
}
|
||||||
])
|
])
|
||||||
|
|
||||||
|
|||||||
@@ -75,7 +75,7 @@
|
|||||||
:options="arrTypesAccounts"
|
:options="arrTypesAccounts"
|
||||||
/>
|
/>
|
||||||
|
|
||||||
<div v-if="tipoConto === costanti.AccountType.USER">
|
<div v-if="tipoConto === shared_consts.AccountType.USER">
|
||||||
<div v-for="(rec, i) in usersList.list" :key="i">
|
<div v-for="(rec, i) in usersList.list" :key="i">
|
||||||
<CMyUser
|
<CMyUser
|
||||||
:mycontact="rec"
|
:mycontact="rec"
|
||||||
@@ -86,7 +86,9 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div
|
<div
|
||||||
v-else-if="tipoConto === costanti.AccountType.COLLECTIVE_ACCOUNT"
|
v-else-if="
|
||||||
|
tipoConto === shared_consts.AccountType.COLLECTIVE_ACCOUNT
|
||||||
|
"
|
||||||
>
|
>
|
||||||
<div v-for="(grp, i) in usersList.listgroup" :key="i">
|
<div v-for="(grp, i) in usersList.listgroup" :key="i">
|
||||||
<CMyGroup :mygrp="grp" :visu="costanti.USER_GROUPS" :noaut="true">
|
<CMyGroup :mygrp="grp" :visu="costanti.USER_GROUPS" :noaut="true">
|
||||||
|
|||||||
@@ -113,7 +113,7 @@ export default defineComponent({
|
|||||||
tools.checkApp()
|
tools.checkApp()
|
||||||
|
|
||||||
if ($q.screen.lt.sm) {
|
if ($q.screen.lt.sm) {
|
||||||
globalStore.setleftDrawerOpen(false)
|
// globalStore.setleftDrawerOpen(false)
|
||||||
}
|
}
|
||||||
if (riscode === tools.OK) {
|
if (riscode === tools.OK) {
|
||||||
if (userStore.isLogged) {
|
if (userStore.isLogged) {
|
||||||
|
|||||||
@@ -1,3 +1,9 @@
|
|||||||
.index_diffusore {
|
.index_diffusore {
|
||||||
font-size: 1rem;
|
font-size: 1rem;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.flex-container {
|
||||||
|
display: flex;
|
||||||
|
justify-content: space-between;
|
||||||
|
/* Distribuisce gli elementi uniformemente */
|
||||||
|
}
|
||||||
@@ -28,8 +28,10 @@ import { useRouter } from 'vue-router'
|
|||||||
export default defineComponent({
|
export default defineComponent({
|
||||||
name: 'CStatusReg',
|
name: 'CStatusReg',
|
||||||
props: {},
|
props: {},
|
||||||
components: { CTitleBanner, CElemStat,
|
components: {
|
||||||
CCardState, CCardStat, CLineChart, CMyFieldRec, CTimeAgo },
|
CTitleBanner, CElemStat,
|
||||||
|
CCardState, CCardStat, CLineChart, CMyFieldRec, CTimeAgo
|
||||||
|
},
|
||||||
setup(props, { attrs, slots, emit }) {
|
setup(props, { attrs, slots, emit }) {
|
||||||
const { t } = useI18n()
|
const { t } = useI18n()
|
||||||
const $q = useQuasar()
|
const $q = useQuasar()
|
||||||
@@ -52,6 +54,7 @@ export default defineComponent({
|
|||||||
num_reg: 0,
|
num_reg: 0,
|
||||||
num_reg_today: 0,
|
num_reg_today: 0,
|
||||||
online_today: 0,
|
online_today: 0,
|
||||||
|
activeusers: 0,
|
||||||
num_passeggeri: 0,
|
num_passeggeri: 0,
|
||||||
num_imbarcati: 0,
|
num_imbarcati: 0,
|
||||||
num_teleg_attivo: 0,
|
num_teleg_attivo: 0,
|
||||||
@@ -66,7 +69,13 @@ export default defineComponent({
|
|||||||
strettelist: [],
|
strettelist: [],
|
||||||
receiveRislist: [],
|
receiveRislist: [],
|
||||||
receiveRislistgroup: [],
|
receiveRislistgroup: [],
|
||||||
checkuser: { verified_email: false }
|
checkuser: { verified_email: false },
|
||||||
|
num_transaz_tot: 0,
|
||||||
|
tot_RIS_transati: 0,
|
||||||
|
num_circuiti_attivi: 0,
|
||||||
|
num_circuiti: 0,
|
||||||
|
num_annunci: 0,
|
||||||
|
last_transactions: [],
|
||||||
})
|
})
|
||||||
|
|
||||||
const visustat = computed(() => {
|
const visustat = computed(() => {
|
||||||
@@ -113,7 +122,7 @@ export default defineComponent({
|
|||||||
function checkifpolling() {
|
function checkifpolling() {
|
||||||
if (userStore.my.profile) {
|
if (userStore.my.profile) {
|
||||||
//if (!tools.isUserOk() && tools.appid() === tools.IDAPP_RISO)
|
//if (!tools.isUserOk() && tools.appid() === tools.IDAPP_RISO)
|
||||||
// NUMSEC_TO_POLLING.value = 10
|
// NUMSEC_TO_POLLING.value = 10
|
||||||
}
|
}
|
||||||
|
|
||||||
if (eseguipolling.value) {
|
if (eseguipolling.value) {
|
||||||
|
|||||||
@@ -7,28 +7,78 @@
|
|||||||
bgcolor="bg-primary"
|
bgcolor="bg-primary"
|
||||||
clcolor="text-white"
|
clcolor="text-white"
|
||||||
mystyle=""
|
mystyle=""
|
||||||
myclass="myshad"
|
myclass="sfondo_gradiente_blu myshad"
|
||||||
:canopen="true"
|
:canopen="true"
|
||||||
>
|
>
|
||||||
<div class="flex flex-center">
|
<div class="flex flex-center">
|
||||||
<CElemStat
|
<CElemStat
|
||||||
|
myclass="fixed-size"
|
||||||
:title="$t('statusreg.reg')"
|
:title="$t('statusreg.reg')"
|
||||||
icon="fas fa-users"
|
icon="fas fa-users"
|
||||||
:value_today="datastat.num_reg_today"
|
:value_today="datastat.num_reg_today"
|
||||||
:mytextval="datastat.num_reg"
|
:mytextval="
|
||||||
classColor="text-blue"
|
datastat.activeusers + ' su ' + tools.numtostr(datastat.num_reg)
|
||||||
|
"
|
||||||
|
classColor="text-red"
|
||||||
colBack="green"
|
colBack="green"
|
||||||
>
|
>
|
||||||
</CElemStat>
|
</CElemStat>
|
||||||
|
|
||||||
<CElemStat
|
<CElemStat
|
||||||
|
v-if="true"
|
||||||
|
myclass="fixed-size"
|
||||||
:title="$t('statusreg.online_today')"
|
:title="$t('statusreg.online_today')"
|
||||||
icon="fas fa-wifi"
|
icon="fas fa-wifi"
|
||||||
:mytextval="datastat.online_today"
|
:mytextval="datastat.online_today"
|
||||||
|
classColor="text-orange"
|
||||||
|
colBack="yellow"
|
||||||
|
>
|
||||||
|
</CElemStat>
|
||||||
|
<CElemStat
|
||||||
|
myclass="fixed-size"
|
||||||
|
v-f="datastat.num_annunci > 0"
|
||||||
|
:title="$t('statusreg.num_annunci')"
|
||||||
|
icon="fas fa-tshirt"
|
||||||
|
:value_today="0"
|
||||||
|
:mytextval="tools.numtostr(datastat.num_annunci)"
|
||||||
classColor="text-green"
|
classColor="text-green"
|
||||||
|
colBack="orange"
|
||||||
|
>
|
||||||
|
</CElemStat>
|
||||||
|
<CElemStat
|
||||||
|
myclass="fixed-size"
|
||||||
|
v-f="datastat.num_circuiti_attivi > 0"
|
||||||
|
:title="$t('statusreg.num_circuiti_attivi')"
|
||||||
|
icon="fas fa-map-marker-alt"
|
||||||
|
:value_today="0"
|
||||||
|
:mytextval="
|
||||||
|
datastat.num_circuiti_attivi + ' su ' + datastat.num_circuiti
|
||||||
|
"
|
||||||
|
classColor="text-blue"
|
||||||
colBack="red"
|
colBack="red"
|
||||||
>
|
>
|
||||||
</CElemStat>
|
</CElemStat>
|
||||||
|
<CElemStat
|
||||||
|
myclass="fixed-size"
|
||||||
|
v-f="datastat.num_transaz_tot > 0"
|
||||||
|
:title="$t('statusreg.numtransazioni')"
|
||||||
|
icon="fas fa-sync-alt"
|
||||||
|
:value_today="0"
|
||||||
|
:mytextval="tools.numtostr(datastat.num_transaz_tot)"
|
||||||
|
classColor="text-indigo"
|
||||||
|
colBack="green"
|
||||||
|
>
|
||||||
|
</CElemStat>
|
||||||
|
<CElemStat
|
||||||
|
myclass="fixed-size"
|
||||||
|
v-f="datastat.tot_RIS_transati > 0"
|
||||||
|
:title="$t('statusreg.totristransati')"
|
||||||
|
icon="img: images/1ris_rosso_100.png"
|
||||||
|
:value_today="0"
|
||||||
|
:mytextval="tools.numtostr(datastat.tot_RIS_transati) + ' RIS'"
|
||||||
|
classColor="text-blueviolet"
|
||||||
|
colBack="green"
|
||||||
|
>
|
||||||
|
</CElemStat>
|
||||||
|
|
||||||
<!--<CCardState :mytext="$t('statusreg.autorizzare')" :myval="datastat.num_autorizzare"
|
<!--<CCardState :mytext="$t('statusreg.autorizzare')" :myval="datastat.num_autorizzare"
|
||||||
mycolor="yellow" :myperc="(datastat.num_autorizzare / datastat.num_teleg_attivo) * 100"></CCardState>
|
mycolor="yellow" :myperc="(datastat.num_autorizzare / datastat.num_teleg_attivo) * 100"></CCardState>
|
||||||
@@ -78,7 +128,7 @@
|
|||||||
|
|
||||||
<q-tab-panels v-model="mytab" animated>
|
<q-tab-panels v-model="mytab" animated>
|
||||||
<q-tab-panel name="reg">
|
<q-tab-panel name="reg">
|
||||||
<div class="q-pa-md" style="max-width: 350px; margin: auto;">
|
<div class="q-pa-md" style="max-width: 350px; margin: auto">
|
||||||
<transition-group
|
<transition-group
|
||||||
name="fade"
|
name="fade"
|
||||||
mode="out-in"
|
mode="out-in"
|
||||||
@@ -117,7 +167,7 @@
|
|||||||
</div>
|
</div>
|
||||||
</q-tab-panel>
|
</q-tab-panel>
|
||||||
<q-tab-panel name="online">
|
<q-tab-panel name="online">
|
||||||
<div class="q-pa-md" style="max-width: 350px; margin: auto;">
|
<div class="q-pa-md" style="max-width: 350px; margin: auto">
|
||||||
<q-list bordered>
|
<q-list bordered>
|
||||||
<transition-group
|
<transition-group
|
||||||
name="fade"
|
name="fade"
|
||||||
@@ -171,7 +221,7 @@
|
|||||||
</div>
|
</div>
|
||||||
</q-tab-panel>
|
</q-tab-panel>
|
||||||
<q-tab-panel name="diffusori">
|
<q-tab-panel name="diffusori">
|
||||||
<div class="q-pa-md" style="max-width: 350px; margin: auto;">
|
<div class="q-pa-md" style="max-width: 350px; margin: auto">
|
||||||
<div class="text-center text-bold text-h6">
|
<div class="text-center text-bold text-h6">
|
||||||
Aiuta RISO a crescere
|
Aiuta RISO a crescere
|
||||||
</div>
|
</div>
|
||||||
@@ -234,7 +284,7 @@
|
|||||||
</div>
|
</div>
|
||||||
</q-tab-panel>
|
</q-tab-panel>
|
||||||
<q-tab-panel name="strettelist">
|
<q-tab-panel name="strettelist">
|
||||||
<div class="q-pa-md" style="max-width: 350px; margin: auto;">
|
<div class="q-pa-md" style="max-width: 350px; margin: auto">
|
||||||
<div class="text-center text-bold text-h6">
|
<div class="text-center text-bold text-h6">
|
||||||
Strette di Mano
|
Strette di Mano
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@@ -6,3 +6,31 @@
|
|||||||
padding-left: 2px;
|
padding-left: 2px;
|
||||||
padding-right: 2px;
|
padding-right: 2px;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
.profile-image {
|
||||||
|
width: 28px;
|
||||||
|
/* Puoi modificare la dimensione in base alle tue esigenze */
|
||||||
|
height: 28px;
|
||||||
|
/* Stesso valore per altezza */
|
||||||
|
border-radius: 50%;
|
||||||
|
/* Questo rende l'immagine rotonda */
|
||||||
|
object-fit: cover;
|
||||||
|
/* Questo mantiene le proporzioni dell'immagine */
|
||||||
|
margin-right: 8px;
|
||||||
|
/* Spazio tra l'immagine e il testo */
|
||||||
|
align-items: center;
|
||||||
|
}
|
||||||
|
|
||||||
|
.my-route-tab {
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
/* Allineamento verticale */
|
||||||
|
}
|
||||||
|
|
||||||
|
.profile-label {
|
||||||
|
text-align: center;
|
||||||
|
/* Centra il testo sotto l'immagine */
|
||||||
|
font-size: 0.9rem;
|
||||||
|
/* Dimensione del testo */
|
||||||
|
}
|
||||||
@@ -29,7 +29,8 @@ export default defineComponent({
|
|||||||
|
|
||||||
const site = computed(() => globalStore.site)
|
const site = computed(() => globalStore.site)
|
||||||
|
|
||||||
const { getMyUsername, Username } = MixinUsers()
|
|
||||||
|
const { getMyUsername, Username, getMyImg } = MixinUsers()
|
||||||
|
|
||||||
function mounted() {
|
function mounted() {
|
||||||
// mounted
|
// mounted
|
||||||
@@ -45,6 +46,7 @@ export default defineComponent({
|
|||||||
Username,
|
Username,
|
||||||
tools,
|
tools,
|
||||||
site,
|
site,
|
||||||
|
getMyImg,
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
||||||
|
|||||||
@@ -1,7 +1,9 @@
|
|||||||
<template>
|
<template>
|
||||||
<q-footer
|
<q-footer
|
||||||
v-if="tools.isUserOk() && site && site.confpages" :class="($q.dark.isActive
|
v-if="tools.isUserOk() && site && site.confpages"
|
||||||
? `bg-black` : `bg-white`) + ` small-screen-only`" bordered >
|
:class="($q.dark.isActive ? `bg-black` : `bg-white`) + ` small-screen-only`"
|
||||||
|
bordered
|
||||||
|
>
|
||||||
<q-toolbar>
|
<q-toolbar>
|
||||||
<q-toolbar-title>
|
<q-toolbar-title>
|
||||||
<q-tabs
|
<q-tabs
|
||||||
@@ -77,8 +79,8 @@
|
|||||||
v-if="site.confpages.showViewProfile"
|
v-if="site.confpages.showViewProfile"
|
||||||
class="mylabfooter"
|
class="mylabfooter"
|
||||||
:label="$t('tabdown.profile')"
|
:label="$t('tabdown.profile')"
|
||||||
:to="`/my/` + getMyUsername()"
|
@click="globalStore.rightDrawerOpen = true"
|
||||||
icon="person"
|
:icon="getMyImg() ? `img: ` + getMyImg() : `fas fa-user`"
|
||||||
/>
|
/>
|
||||||
</q-tabs>
|
</q-tabs>
|
||||||
</q-toolbar-title>
|
</q-toolbar-title>
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
import { useQuasar } from 'quasar'
|
import { useQuasar } from 'quasar'
|
||||||
import {
|
import {
|
||||||
defineComponent, onBeforeMount, onBeforeUnmount, onMounted, ref, toRefs, watch, inject, computed,
|
defineComponent, onBeforeMount, onBeforeUnmount, onMounted, ref, toRefs, watch, inject, computed, nextTick,
|
||||||
} from 'vue'
|
} from 'vue'
|
||||||
|
|
||||||
import { tools } from '@store/Modules/tools'
|
import { tools } from '@store/Modules/tools'
|
||||||
@@ -80,6 +80,8 @@ export default defineComponent({
|
|||||||
|
|
||||||
const dark = ref(false)
|
const dark = ref(false)
|
||||||
|
|
||||||
|
const leftDrawerOpen = ref(globalStore.leftDrawerOpen)
|
||||||
|
|
||||||
const getClassColorHeader = computed(() => {
|
const getClassColorHeader = computed(() => {
|
||||||
// if (tools.isTest()) return 'bg-light-blue'
|
// if (tools.isTest()) return 'bg-light-blue'
|
||||||
// if (tools.isDebug()) return 'bg-info'
|
// if (tools.isDebug()) return 'bg-info'
|
||||||
@@ -261,12 +263,13 @@ export default defineComponent({
|
|||||||
globalStore.rightCoinsOpen = false
|
globalStore.rightCoinsOpen = false
|
||||||
}
|
}
|
||||||
|
|
||||||
const leftDrawerOpen = computed({
|
/*const leftDrawerOpen = computed({
|
||||||
get: () => globalStore.leftDrawerOpen,
|
get: () => globalStore.leftDrawerOpen,
|
||||||
set: val => {
|
set: val => {
|
||||||
globalStore.leftDrawerOpen = val
|
globalStore.leftDrawerOpen = val
|
||||||
|
|
||||||
},
|
},
|
||||||
})
|
})*/
|
||||||
|
|
||||||
const rightDrawerOpen = computed({
|
const rightDrawerOpen = computed({
|
||||||
get: () => globalStore.rightDrawerOpen,
|
get: () => globalStore.rightDrawerOpen,
|
||||||
@@ -447,6 +450,7 @@ export default defineComponent({
|
|||||||
// Test this by running the code snippet below and then
|
// Test this by running the code snippet below and then
|
||||||
// use the "TableOnlyView" checkbox in DevTools Network panel
|
// use the "TableOnlyView" checkbox in DevTools Network panel
|
||||||
|
|
||||||
|
|
||||||
// console.log('Event LOAD')
|
// console.log('Event LOAD')
|
||||||
if (window) {
|
if (window) {
|
||||||
window.addEventListener('load', () => {
|
window.addEventListener('load', () => {
|
||||||
@@ -470,6 +474,23 @@ export default defineComponent({
|
|||||||
window.addEventListener('offline', updateOnlineStatus)
|
window.addEventListener('offline', updateOnlineStatus)
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
|
nextTick(() => {
|
||||||
|
if (tools.getCookie('menu3oriz') === '1') {
|
||||||
|
if ($q.screen.width < 800) {
|
||||||
|
leftDrawerOpen.value = false
|
||||||
|
// globalStore.leftDrawerOpen = false
|
||||||
|
} else {
|
||||||
|
leftDrawerOpen.value = true
|
||||||
|
globalStore.leftDrawerOpen = true
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else if (tools.getCookie('menu3oriz') === '0') {
|
||||||
|
leftDrawerOpen.value = false
|
||||||
|
globalStore.leftDrawerOpen = false
|
||||||
|
}
|
||||||
|
})
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
function imglogo() {
|
function imglogo() {
|
||||||
@@ -535,6 +556,14 @@ export default defineComponent({
|
|||||||
globalStore.changeCmdClick(value)
|
globalStore.changeCmdClick(value)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function clickMenu3Orizz() {
|
||||||
|
|
||||||
|
leftDrawerOpen.value = !leftDrawerOpen.value
|
||||||
|
globalStore.leftDrawerOpen = leftDrawerOpen.value
|
||||||
|
|
||||||
|
tools.setCookie('menu3oriz', globalStore.leftDrawerOpen ? '1' : '0')
|
||||||
|
}
|
||||||
|
|
||||||
onBeforeMount(BeforeMount)
|
onBeforeMount(BeforeMount)
|
||||||
onMounted(mounted)
|
onMounted(mounted)
|
||||||
|
|
||||||
@@ -600,6 +629,7 @@ export default defineComponent({
|
|||||||
toHome,
|
toHome,
|
||||||
products,
|
products,
|
||||||
userStore,
|
userStore,
|
||||||
|
clickMenu3Orizz,
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
||||||
|
|||||||
@@ -13,13 +13,7 @@
|
|||||||
:inverted="$q.theme === 'ios'"
|
:inverted="$q.theme === 'ios'"
|
||||||
class="toolbar"
|
class="toolbar"
|
||||||
>
|
>
|
||||||
<q-btn
|
<q-btn flat dense round @click="clickMenu3Orizz" aria-label="Menu">
|
||||||
flat
|
|
||||||
dense
|
|
||||||
round
|
|
||||||
@click="leftDrawerOpen = !leftDrawerOpen"
|
|
||||||
aria-label="Menu"
|
|
||||||
>
|
|
||||||
<q-icon name="menu" />
|
<q-icon name="menu" />
|
||||||
</q-btn>
|
</q-btn>
|
||||||
|
|
||||||
@@ -196,7 +190,8 @@
|
|||||||
site.confpages &&
|
site.confpages &&
|
||||||
site.confpages.showUserMenu &&
|
site.confpages.showUserMenu &&
|
||||||
tools.isLogged() &&
|
tools.isLogged() &&
|
||||||
getMyImg()
|
getMyImg() &&
|
||||||
|
$q.screen.gt.sm
|
||||||
"
|
"
|
||||||
size="36px"
|
size="36px"
|
||||||
class="center_img cursor-pointer"
|
class="center_img cursor-pointer"
|
||||||
@@ -212,7 +207,7 @@
|
|||||||
/>
|
/>
|
||||||
</q-avatar>
|
</q-avatar>
|
||||||
<q-btn
|
<q-btn
|
||||||
v-else
|
v-else-if="$q.screen.gt.sm"
|
||||||
class="q-mx-xs iconprofile_small"
|
class="q-mx-xs iconprofile_small"
|
||||||
round
|
round
|
||||||
dense
|
dense
|
||||||
@@ -228,7 +223,7 @@
|
|||||||
<q-drawer
|
<q-drawer
|
||||||
side="left"
|
side="left"
|
||||||
bordered
|
bordered
|
||||||
show-if-above
|
:show-if-above="globalStore.leftDrawerOpen"
|
||||||
:breakpoint="800"
|
:breakpoint="800"
|
||||||
v-model="leftDrawerOpen"
|
v-model="leftDrawerOpen"
|
||||||
:content-class="['bg-grey-1', 'q-pa-sm']"
|
:content-class="['bg-grey-1', 'q-pa-sm']"
|
||||||
@@ -257,7 +252,7 @@
|
|||||||
</q-btn>
|
</q-btn>
|
||||||
|
|
||||||
<CSelectUserActive></CSelectUserActive>
|
<CSelectUserActive></CSelectUserActive>
|
||||||
|
|
||||||
<div v-if="tools.isLogged()" class="text-weight-bold text-cart">
|
<div v-if="tools.isLogged()" class="text-weight-bold text-cart">
|
||||||
{{ $t('ecomm.carrello_di', { user: products.userActive.username }) }}
|
{{ $t('ecomm.carrello_di', { user: products.userActive.username }) }}
|
||||||
</div>
|
</div>
|
||||||
@@ -287,7 +282,7 @@
|
|||||||
`text-center q-ma-xs boldhigh text-` + getColorText + ` text-h7`
|
`text-center q-ma-xs boldhigh text-` + getColorText + ` text-h7`
|
||||||
"
|
"
|
||||||
>
|
>
|
||||||
Area Personale
|
{{ t('header.area_personale') }}
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<q-avatar size="80px" class="center_img q-ma-md">
|
<q-avatar size="80px" class="center_img q-ma-md">
|
||||||
@@ -400,7 +395,7 @@
|
|||||||
>
|
>
|
||||||
{{ t('otherpages.myactivities') }}
|
{{ t('otherpages.myactivities') }}
|
||||||
</q-btn>
|
</q-btn>
|
||||||
<!--<q-btn round color="warning" icon="lock"></q-btn>-->
|
|
||||||
<q-btn
|
<q-btn
|
||||||
rounded
|
rounded
|
||||||
color="negative"
|
color="negative"
|
||||||
|
|||||||
184
src/css/app.scss
184
src/css/app.scss
@@ -336,13 +336,12 @@ h3 {
|
|||||||
|
|
||||||
.my-card {
|
.my-card {
|
||||||
width: 100%;
|
width: 100%;
|
||||||
max-width: 700px !important;
|
|
||||||
min-width: 350px;
|
min-width: 350px;
|
||||||
padding: 1rem 1rem;
|
padding: 1rem 1rem;
|
||||||
|
|
||||||
@media (max-width: 700px) {
|
@media (max-width: 1024px) {
|
||||||
/* Versione Mobile */
|
/* Versione Mobile */
|
||||||
max-width: 400px !important;
|
max-width: 1024px !important;
|
||||||
min-width: 250px;
|
min-width: 250px;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -962,11 +961,10 @@ h3 {
|
|||||||
width: 100%;
|
width: 100%;
|
||||||
margin-left: auto;
|
margin-left: auto;
|
||||||
margin-right: auto;
|
margin-right: auto;
|
||||||
max-width: 700px;
|
|
||||||
min-width: 800px;
|
min-width: 800px;
|
||||||
|
|
||||||
@media (max-width: 500px) {
|
@media (max-width: 1024px) {
|
||||||
max-width: 350px;
|
max-width: 1024px;
|
||||||
min-width: 300px;
|
min-width: 300px;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -1837,12 +1835,12 @@ h3 {
|
|||||||
|
|
||||||
.fulldiv {
|
.fulldiv {
|
||||||
min-height: 100% !important;
|
min-height: 100% !important;
|
||||||
max-width: 700px !important;
|
max-width: 1024px !important;
|
||||||
min-width: 700px !important;
|
min-width: 1024px !important;
|
||||||
|
|
||||||
@media (max-width: 700px) {
|
@media (max-width: 1024px) {
|
||||||
/* Versione Mobile */
|
/* Versione Mobile */
|
||||||
max-width: 400px !important;
|
max-width: 1024px !important;
|
||||||
min-width: 300px !important;
|
min-width: 300px !important;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -2106,4 +2104,170 @@ h3 {
|
|||||||
/* Distanza dal lato */
|
/* Distanza dal lato */
|
||||||
z-index: 1000;
|
z-index: 1000;
|
||||||
/* Opzionale: assicura che il bottone sia sopra altri elementi */
|
/* Opzionale: assicura che il bottone sia sopra altri elementi */
|
||||||
|
}
|
||||||
|
|
||||||
|
.text-blueviolet {
|
||||||
|
color: blueviolet;
|
||||||
|
}
|
||||||
|
|
||||||
|
$verde: #008000;
|
||||||
|
$blu: blue;
|
||||||
|
$rosso: #ff0000;
|
||||||
|
$trasparenza: 0.15;
|
||||||
|
$coloreprincipale: lightblue;
|
||||||
|
|
||||||
|
.sfondo_gradiente_blu {
|
||||||
|
background: linear-gradient(180deg, rgba(0, 70, 255, 0.25), rgba(0, 70, 275, 0.55), rgba(0, 70, 255, 0.75)) !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
.sfondo_gradiente_fuchsia {
|
||||||
|
background: linear-gradient(180deg, rgba(255, 0, 150, 0.25), rgba(255, 0, 150, 0.55), rgba(255, 0, 150, 0.75)) !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
.sfondo_gradiente_verde {
|
||||||
|
background: linear-gradient(180deg, rgba(12, 181, 12, 0.852)rgba(4, 185, 4, 0.55), rgba(12, 181, 12, 0.852)) !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
.sfondo_trasparente {
|
||||||
|
background: rgba(0, 0, 0, 0.05) !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
.sfondo_gradiente_arancione {
|
||||||
|
background: linear-gradient(180deg, rgba(255, 165, 0, 0.25), rgba(255, 165, 0, 0.55), rgba(255, 165, 0, 0.75)) !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
.sfondo_gradiente_giallo {
|
||||||
|
background: linear-gradient(180deg, rgba(255, 255, 0, 0.25), rgba(255, 255, 0, 0.55), rgba(255, 255, 0, 0.75)) !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
.sfondo_gradiente_rosso {
|
||||||
|
background: linear-gradient(180deg, rgba(red($rosso), green($rosso), blue($rosso), $trasparenza), $coloreprincipale, rgba(red($rosso), green($rosso), blue($rosso), $trasparenza)) !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
.card-carousel-container {
|
||||||
|
width: 100%;
|
||||||
|
overflow: hidden;
|
||||||
|
position: relative;
|
||||||
|
}
|
||||||
|
|
||||||
|
.card-carousel {
|
||||||
|
display: flex;
|
||||||
|
overflow-x: auto;
|
||||||
|
scroll-snap-type: x mandatory;
|
||||||
|
-webkit-overflow-scrolling: touch;
|
||||||
|
scrollbar-width: none;
|
||||||
|
-ms-overflow-style: none;
|
||||||
|
padding: 1rem 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
.card-carousel::-webkit-scrollbar {
|
||||||
|
display: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
.my-card-elem {
|
||||||
|
flex: 0 0 auto;
|
||||||
|
margin-right: 1rem;
|
||||||
|
scroll-snap-align: start;
|
||||||
|
overflow: hidden;
|
||||||
|
transition: transform 0.3s ease;
|
||||||
|
}
|
||||||
|
|
||||||
|
.my-card-elem:hover {
|
||||||
|
transform: scale(1.05);
|
||||||
|
}
|
||||||
|
|
||||||
|
.img-container {
|
||||||
|
/*height: 150px; */
|
||||||
|
overflow: hidden;
|
||||||
|
}
|
||||||
|
|
||||||
|
.img-container .q-img {
|
||||||
|
height: 100%;
|
||||||
|
object-fit: cover;
|
||||||
|
}
|
||||||
|
|
||||||
|
.swipe-indicator {
|
||||||
|
position: absolute;
|
||||||
|
top: 50%;
|
||||||
|
transform: translateY(-50%);
|
||||||
|
background-color: rgba(0, 0, 0, 0.5);
|
||||||
|
border-radius: 50%;
|
||||||
|
width: 40px;
|
||||||
|
height: 40px;
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
justify-content: center;
|
||||||
|
cursor: pointer;
|
||||||
|
transition: opacity 0.3s ease;
|
||||||
|
}
|
||||||
|
|
||||||
|
.swipe-indicator.left {
|
||||||
|
left: 10px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.swipe-indicator.right {
|
||||||
|
right: 10px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.scroll-indicator {
|
||||||
|
display: flex;
|
||||||
|
justify-content: center;
|
||||||
|
margin-top: 1rem;
|
||||||
|
}
|
||||||
|
|
||||||
|
.dot {
|
||||||
|
width: 8px;
|
||||||
|
height: 8px;
|
||||||
|
border-radius: 50%;
|
||||||
|
background-color: #ccc;
|
||||||
|
margin: 0 4px;
|
||||||
|
transition: background-color 0.3s ease;
|
||||||
|
}
|
||||||
|
|
||||||
|
.dot.active {
|
||||||
|
background-color: #000;
|
||||||
|
}
|
||||||
|
|
||||||
|
.image-circle {
|
||||||
|
border-radius: 50%;
|
||||||
|
/* Rende l'immagine rotonda */
|
||||||
|
object-fit: cover;
|
||||||
|
/* Mantiene le proporzioni dell'immagine */
|
||||||
|
overflow: hidden;
|
||||||
|
/* Nasconde eventuali parti in eccesso */
|
||||||
|
}
|
||||||
|
|
||||||
|
.image-ombra {
|
||||||
|
box-shadow: 0 0 10px rgba(0, 0, 0, 0.5);
|
||||||
|
}
|
||||||
|
|
||||||
|
.image-round-bordered {
|
||||||
|
border-radius: 22px;
|
||||||
|
|
||||||
|
box-shadow: 0 4px 20px rgba(0, 0, 0, 0.5);
|
||||||
|
object-fit: cover;
|
||||||
|
|
||||||
|
border: 2px solid #6b6e68a1;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Per aggiungere un effetto di transizione al passaggio del mouse */
|
||||||
|
.image-round-bordered:hover {
|
||||||
|
box-shadow: 0 8px 25px rgba(0, 0, 0, 0.7);
|
||||||
|
/* Ombra più marcata al passaggio del mouse */
|
||||||
|
transform: scale(1.05);
|
||||||
|
/* Effetto di zoom al passaggio del mouse */
|
||||||
|
transition: all 0.3s ease;
|
||||||
|
/* Transizione fluida */
|
||||||
|
}
|
||||||
|
|
||||||
|
.titolo_card:hover {
|
||||||
|
color: blue;
|
||||||
|
text-decoration: underline;
|
||||||
|
cursor: pointer;
|
||||||
|
}
|
||||||
|
|
||||||
|
.mylabfooter img {
|
||||||
|
border-radius: 50%;
|
||||||
|
object-fit: cover;
|
||||||
|
|
||||||
}
|
}
|
||||||
@@ -121,6 +121,12 @@ const msg_website_it = {
|
|||||||
only_residenti: 'Solo Residenti',
|
only_residenti: 'Solo Residenti',
|
||||||
only_consiglio: 'Solo Consiglieri',
|
only_consiglio: 'Solo Consiglieri',
|
||||||
color: 'Colore',
|
color: 'Colore',
|
||||||
|
mainMenu: 'Menu Principale',
|
||||||
|
subtitle: 'Sottotitolo',
|
||||||
|
lang: 'Lingua',
|
||||||
|
keywords: 'Parole Chiave',
|
||||||
|
desctiption: 'Descrizione',
|
||||||
|
heightimg: 'Altezza Immagine',
|
||||||
},
|
},
|
||||||
msg: {
|
msg: {
|
||||||
myAppName: 'Riso',
|
myAppName: 'Riso',
|
||||||
|
|||||||
@@ -209,7 +209,7 @@ function getDynamicPages(site: ISites): IListRoutes[] {
|
|||||||
meta: { requiresAuth: true, newpage: true },
|
meta: { requiresAuth: true, newpage: true },
|
||||||
inmenu: false,
|
inmenu: false,
|
||||||
infooter: false,
|
infooter: false,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
active: true,
|
active: true,
|
||||||
order: 137,
|
order: 137,
|
||||||
@@ -276,7 +276,7 @@ function getDynamicPages(site: ISites): IListRoutes[] {
|
|||||||
{
|
{
|
||||||
active: true,
|
active: true,
|
||||||
order: 150,
|
order: 150,
|
||||||
path: '/fundraising',
|
path: '/sostieniilprogetto',
|
||||||
materialIcon: 'fas fa-hand-holding-heart',
|
materialIcon: 'fas fa-hand-holding-heart',
|
||||||
name: 'pages.fundraising',
|
name: 'pages.fundraising',
|
||||||
component: () => import('@src/root/fundraising/fundraising.vue'),
|
component: () => import('@src/root/fundraising/fundraising.vue'),
|
||||||
|
|||||||
356
src/layouts/menuone/menuOne copy.vue
Executable file
356
src/layouts/menuone/menuOne copy.vue
Executable file
@@ -0,0 +1,356 @@
|
|||||||
|
<template>
|
||||||
|
<div v-if="finishLoading" class="no-border">
|
||||||
|
<q-list class="rounded-borders text-primary">
|
||||||
|
<div v-for="ind1 in getmenu" :key="ind1">
|
||||||
|
<!--<div class="q-list-header">{{replaceUnderlineToSpace(index)}}</div>-->
|
||||||
|
<div v-for="(myitemmenu, ind2) in myroutes" :key="ind2">
|
||||||
|
<div v-if="myitemmenu.active">
|
||||||
|
<div
|
||||||
|
v-if="
|
||||||
|
myitemmenu.routes2 &&
|
||||||
|
myitemmenu.inmenu &&
|
||||||
|
tools.visumenu(myitemmenu)
|
||||||
|
"
|
||||||
|
>
|
||||||
|
<span v-if="myitemmenu.isseparator">
|
||||||
|
<q-separator></q-separator>
|
||||||
|
</span>
|
||||||
|
<span v-else>
|
||||||
|
<q-expansion-item
|
||||||
|
:content-inset-level="myitemmenu.level_parent"
|
||||||
|
:header-class="getmymenuclass(myitemmenu)"
|
||||||
|
:header-inset-level="myitemmenu.level_parent"
|
||||||
|
:icon="myitemmenu.materialIcon"
|
||||||
|
:label="tools.getLabelByItem(myitemmenu)"
|
||||||
|
active-class="my-menu-active"
|
||||||
|
expand-icon-class="my-menu-separat"
|
||||||
|
>
|
||||||
|
<div
|
||||||
|
v-for="(child2, index) in myitemmenu.routes2"
|
||||||
|
:key="index"
|
||||||
|
>
|
||||||
|
<div v-if="child2.active && tools.visumenu(child2)">
|
||||||
|
<span v-if="child2.isseparator">
|
||||||
|
<q-separator></q-separator>
|
||||||
|
</span>
|
||||||
|
<span v-else>
|
||||||
|
<q-expansion-item
|
||||||
|
v-if="!child2.routes2"
|
||||||
|
:class="
|
||||||
|
`item item-link drawer-closer cursor-pointer ` +
|
||||||
|
clBase
|
||||||
|
"
|
||||||
|
:duration="300"
|
||||||
|
:header-inset-level="child2.level_child"
|
||||||
|
:icon="child2.materialIcon"
|
||||||
|
:label="tools.getLabelByItem(child2)"
|
||||||
|
:to="getroute(child2)"
|
||||||
|
active-class="my-menu-active"
|
||||||
|
expand-icon="none"
|
||||||
|
expand-icon-class="my-menu-icon-none"
|
||||||
|
>
|
||||||
|
<q-item-section avatar>
|
||||||
|
<q-avatar v-if="child2.img">
|
||||||
|
<div
|
||||||
|
:class="getimgiconclass(child2)"
|
||||||
|
:icon="`img:` + child2.img"
|
||||||
|
style="font-size: 2rem"
|
||||||
|
></div>
|
||||||
|
</q-avatar>
|
||||||
|
<div v-else>
|
||||||
|
<q-avatar
|
||||||
|
:icon="child2.materialIcon"
|
||||||
|
:size="child2.iconsize"
|
||||||
|
class="clicon"
|
||||||
|
color="primary"
|
||||||
|
text-color="white"
|
||||||
|
>
|
||||||
|
</q-avatar>
|
||||||
|
</div>
|
||||||
|
</q-item-section>
|
||||||
|
|
||||||
|
<q-item-section>
|
||||||
|
{{ tools.getLabelByItem(child2) }}
|
||||||
|
</q-item-section>
|
||||||
|
</q-expansion-item>
|
||||||
|
<q-expansion-item
|
||||||
|
v-else
|
||||||
|
:content-inset-level="child2.level_parent"
|
||||||
|
:header-class="getmymenuclass(child2)"
|
||||||
|
:header-inset-level="child2.level_parent"
|
||||||
|
:icon="child2.materialIcon"
|
||||||
|
:label="tools.getLabelByItem(child2)"
|
||||||
|
active-class="my-menu-active"
|
||||||
|
expand-icon-class="my-menu-separat"
|
||||||
|
>
|
||||||
|
<div
|
||||||
|
v-for="(child3, index) in child2.routes2"
|
||||||
|
:key="index"
|
||||||
|
>
|
||||||
|
<div v-if="child3.active">
|
||||||
|
<q-expansion-item
|
||||||
|
:class="
|
||||||
|
`item item-link drawer-closer cursor-pointer ` +
|
||||||
|
clBase
|
||||||
|
"
|
||||||
|
:duration="300"
|
||||||
|
:header-inset-level="child3.level_child"
|
||||||
|
:icon="child3.materialIcon"
|
||||||
|
:label="tools.getLabelByItem(child3)"
|
||||||
|
:to="getroute(child3)"
|
||||||
|
active-class="my-menu-active"
|
||||||
|
expand-icon-class="my-menu-icon-none"
|
||||||
|
>
|
||||||
|
<div
|
||||||
|
v-for="(child4, index) in child3.routes2"
|
||||||
|
:key="index"
|
||||||
|
>
|
||||||
|
<q-expansion-item
|
||||||
|
v-if="!!child3.routes2 && child3.active"
|
||||||
|
:key="index"
|
||||||
|
:class="
|
||||||
|
`item item-link drawer-closer cursor-pointer ` +
|
||||||
|
clBase
|
||||||
|
"
|
||||||
|
:duration="300"
|
||||||
|
:expand-icon="child4.icon"
|
||||||
|
:header-inset-level="child4.level_child"
|
||||||
|
:icon="child4.materialIcon"
|
||||||
|
:label="tools.getLabelByItem(child4)"
|
||||||
|
:to="getroute(child4)"
|
||||||
|
active-class="my-menu-active"
|
||||||
|
expand-icon-class="my-menu-separat"
|
||||||
|
>
|
||||||
|
</q-expansion-item>
|
||||||
|
</div>
|
||||||
|
</q-expansion-item>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</q-expansion-item>
|
||||||
|
</span>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</q-expansion-item>
|
||||||
|
</span>
|
||||||
|
</div>
|
||||||
|
<div
|
||||||
|
v-else-if="
|
||||||
|
myitemmenu.mainMenu &&
|
||||||
|
myitemmenu.inmenu &&
|
||||||
|
tools.visumenu(myitemmenu)
|
||||||
|
"
|
||||||
|
>
|
||||||
|
<span v-if="myitemmenu.isseparator">
|
||||||
|
<q-separator></q-separator>
|
||||||
|
</span>
|
||||||
|
<span v-else>
|
||||||
|
<q-expansion-item
|
||||||
|
:content-inset-level="myitemmenu.level_parent + 1"
|
||||||
|
:header-class="getmymenuclass(myitemmenu)"
|
||||||
|
:header-inset-level="myitemmenu.level_parent + 1"
|
||||||
|
:icon="myitemmenu.materialIcon"
|
||||||
|
:label="tools.getLabelByItem(myitemmenu)"
|
||||||
|
active-class="my-menu-active"
|
||||||
|
expand-icon-class="my-menu-separat"
|
||||||
|
>
|
||||||
|
<div
|
||||||
|
v-for="(child2, index) in myitemmenu.sottoMenu"
|
||||||
|
:key="index"
|
||||||
|
>
|
||||||
|
<div
|
||||||
|
v-if="
|
||||||
|
getmenuByPath(child2).active &&
|
||||||
|
tools.visumenu(getmenuByPath(child2))
|
||||||
|
"
|
||||||
|
>
|
||||||
|
<span v-if="getmenuByPath(child2).isseparator">
|
||||||
|
<q-separator></q-separator>
|
||||||
|
</span>
|
||||||
|
<span v-else>
|
||||||
|
<q-expansion-item
|
||||||
|
v-if="true"
|
||||||
|
:class="
|
||||||
|
`item item-link drawer-closer cursor-pointer ` +
|
||||||
|
clBase
|
||||||
|
"
|
||||||
|
:duration="300"
|
||||||
|
:header-inset-level="
|
||||||
|
getmenuByPath(child2).level_child + 3
|
||||||
|
"
|
||||||
|
:icon="getmenuByPath(child2).materialIcon"
|
||||||
|
:label="tools.getLabelByItem(getmenuByPath(child2))"
|
||||||
|
:to="getroute(getmenuByPath(child2))"
|
||||||
|
active-class="my-menu-active"
|
||||||
|
expand-icon="none"
|
||||||
|
expand-icon-class="my-menu-icon-none"
|
||||||
|
>
|
||||||
|
<q-item-section avatar>
|
||||||
|
<q-avatar v-if="getmenuByPath(child2).img">
|
||||||
|
<div
|
||||||
|
:class="getimgiconclass(getmenuByPath(child2))"
|
||||||
|
:icon="`img:` + getmenuByPath(child2).img"
|
||||||
|
style="font-size: 2rem"
|
||||||
|
></div>
|
||||||
|
</q-avatar>
|
||||||
|
<div v-else>
|
||||||
|
<q-avatar
|
||||||
|
:icon="getmenuByPath(child2).materialIcon"
|
||||||
|
:size="getmenuByPath(child2).iconsize"
|
||||||
|
class="clicon"
|
||||||
|
color="primary"
|
||||||
|
text-color="white"
|
||||||
|
>
|
||||||
|
</q-avatar>
|
||||||
|
</div>
|
||||||
|
</q-item-section>
|
||||||
|
|
||||||
|
<q-item-section>
|
||||||
|
{{ tools.getLabelByItem(getmenuByPath(child2)) }}
|
||||||
|
</q-item-section>
|
||||||
|
</q-expansion-item>
|
||||||
|
<q-expansion-item
|
||||||
|
v-else
|
||||||
|
:content-inset-level="
|
||||||
|
getmenuByPath(child2).level_parent + 1
|
||||||
|
"
|
||||||
|
:header-class="getmymenuclass(getmenuByPath(child2))"
|
||||||
|
:header-inset-level="
|
||||||
|
getmenuByPath(child2).level_parent + 2
|
||||||
|
"
|
||||||
|
:icon="getmenuByPath(child2).materialIcon"
|
||||||
|
:label="tools.getLabelByItem(getmenuByPath(child2))"
|
||||||
|
active-class="my-menu-active"
|
||||||
|
expand-icon-class="my-menu-separat"
|
||||||
|
>
|
||||||
|
<div
|
||||||
|
v-for="(child3, index) in getmenuByPath(child2)
|
||||||
|
.sottoMenu"
|
||||||
|
:key="index"
|
||||||
|
>
|
||||||
|
<div v-if="getmenuByPath(child3).active">
|
||||||
|
<q-expansion-item
|
||||||
|
:class="
|
||||||
|
`item item-link drawer-closer cursor-pointer ` +
|
||||||
|
clBase
|
||||||
|
"
|
||||||
|
:duration="300"
|
||||||
|
:header-inset-level="
|
||||||
|
getmenuByPath(child3).level_child + 1
|
||||||
|
"
|
||||||
|
:icon="getmenuByPath(child3).materialIcon"
|
||||||
|
:label="
|
||||||
|
tools.getLabelByItem(getmenuByPath(child3))
|
||||||
|
"
|
||||||
|
:to="getroute(getmenuByPath(child3))"
|
||||||
|
active-class="my-menu-active"
|
||||||
|
expand-icon-class="my-menu-icon-none"
|
||||||
|
>
|
||||||
|
<div
|
||||||
|
v-for="(child4, index) in getmenuByPath(
|
||||||
|
child3
|
||||||
|
).sottoMenu"
|
||||||
|
:key="index"
|
||||||
|
>
|
||||||
|
<q-expansion-item
|
||||||
|
v-if="
|
||||||
|
!!getmenuByPath(child3).sottoMenu &&
|
||||||
|
getmenuByPath(child3).active
|
||||||
|
"
|
||||||
|
:key="index"
|
||||||
|
:class="
|
||||||
|
`item item-link drawer-closer cursor-pointer ` +
|
||||||
|
clBase
|
||||||
|
"
|
||||||
|
:duration="300"
|
||||||
|
:expand-icon="child4.icon"
|
||||||
|
:header-inset-level="child4.level_child + 4"
|
||||||
|
:icon="child4.materialIcon"
|
||||||
|
:label="tools.getLabelByItem(child4)"
|
||||||
|
:to="getroute(child4)"
|
||||||
|
active-class="my-menu-active"
|
||||||
|
expand-icon-class="my-menu-separat"
|
||||||
|
>
|
||||||
|
</q-expansion-item>
|
||||||
|
</div>
|
||||||
|
</q-expansion-item>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</q-expansion-item>
|
||||||
|
</span>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</q-expansion-item>
|
||||||
|
</span>
|
||||||
|
</div>
|
||||||
|
<div v-else>
|
||||||
|
<div
|
||||||
|
v-if="
|
||||||
|
myitemmenu.inmenu &&
|
||||||
|
!myitemmenu.submenu &&
|
||||||
|
tools.visumenu(myitemmenu)
|
||||||
|
"
|
||||||
|
>
|
||||||
|
<q-slide-transition :duration="200">
|
||||||
|
<div v-show="true">
|
||||||
|
<span v-if="myitemmenu.isseparator">
|
||||||
|
<q-separator inset></q-separator>
|
||||||
|
</span>
|
||||||
|
<span v-else>
|
||||||
|
<q-list>
|
||||||
|
<q-item
|
||||||
|
clickable
|
||||||
|
:content-inset-level="myitemmenu.level_parent"
|
||||||
|
:header-inset-level="myitemmenu.level_parent"
|
||||||
|
:to="getroute(myitemmenu)"
|
||||||
|
active-class="my-menu-active"
|
||||||
|
expand-icon="none"
|
||||||
|
>
|
||||||
|
<q-item-section thumbnail>
|
||||||
|
<q-avatar
|
||||||
|
:icon="myitemmenu.materialIcon"
|
||||||
|
:size="
|
||||||
|
!!myitemmenu.iconsize
|
||||||
|
? myitemmenu.iconsize
|
||||||
|
: '2.5rem'
|
||||||
|
"
|
||||||
|
:font-size="
|
||||||
|
!!myitemmenu.iconsize
|
||||||
|
? myitemmenu.iconsize
|
||||||
|
: '2.5rem'
|
||||||
|
"
|
||||||
|
text-color="primary"
|
||||||
|
style="margin-left: 4px"
|
||||||
|
square
|
||||||
|
rounded
|
||||||
|
>
|
||||||
|
</q-avatar>
|
||||||
|
</q-item-section>
|
||||||
|
|
||||||
|
<q-item-section>
|
||||||
|
<span :class="myitemmenu.extraclass">{{
|
||||||
|
tools.getLabelByItem(myitemmenu)
|
||||||
|
}}</span>
|
||||||
|
<span v-if="myitemmenu.subtitle" class="subtitle">{{
|
||||||
|
myitemmenu.subtitle
|
||||||
|
}}</span>
|
||||||
|
</q-item-section>
|
||||||
|
</q-item>
|
||||||
|
</q-list>
|
||||||
|
</span>
|
||||||
|
</div>
|
||||||
|
</q-slide-transition>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</q-list>
|
||||||
|
</div>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<script lang="ts" src="./menuOne.ts">
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<style lang="scss">
|
||||||
|
@import './menuOne.scss';
|
||||||
|
</style>
|
||||||
@@ -1,6 +1,7 @@
|
|||||||
.prova{
|
.prova {
|
||||||
color: red;
|
color: red;
|
||||||
}
|
}
|
||||||
|
|
||||||
.q-list-header {
|
.q-list-header {
|
||||||
min-height: 12px;
|
min-height: 12px;
|
||||||
padding: 5px 8px;
|
padding: 5px 8px;
|
||||||
@@ -42,13 +43,15 @@
|
|||||||
transform: rotate(-180deg);
|
transform: rotate(-180deg);
|
||||||
}
|
}
|
||||||
|
|
||||||
.my-menu, .my-menu > i{
|
.my-menu,
|
||||||
|
.my-menu>i {
|
||||||
min-height: 40px;
|
min-height: 40px;
|
||||||
min-width: 26px;
|
min-width: 26px;
|
||||||
font-size: 1rem;
|
font-size: 1rem;
|
||||||
}
|
}
|
||||||
|
|
||||||
.my-menu-small, .my-menu-small > i{
|
.my-menu-small,
|
||||||
|
.my-menu-small>i {
|
||||||
min-height: 40px;
|
min-height: 40px;
|
||||||
min-width: 26px;
|
min-width: 26px;
|
||||||
font-size: 0.75rem;
|
font-size: 0.75rem;
|
||||||
@@ -56,35 +59,39 @@
|
|||||||
|
|
||||||
.isAdmin {
|
.isAdmin {
|
||||||
color: red !important;
|
color: red !important;
|
||||||
|
background: linear-gradient(180deg, rgba(255, 0, 0, 0.15), white, rgba(255, 0, 0, 0.15));
|
||||||
}
|
}
|
||||||
|
|
||||||
.isSocioResidente {
|
.isSocioResidente {
|
||||||
color: darkgreen;
|
color: darkgreen;
|
||||||
}
|
}
|
||||||
|
|
||||||
.isCalendar {
|
.isCalendar {}
|
||||||
|
|
||||||
|
.isDoc {
|
||||||
|
background: linear-gradient(180deg, rgba(152, 198, 226, 0.45), white, rgba(152, 198, 226, 0.45));
|
||||||
}
|
}
|
||||||
|
|
||||||
.isManager {
|
.isManager {
|
||||||
color: green !important;
|
color: green !important;
|
||||||
|
background: linear-gradient(180deg, rgba(125, 151, 125, 0.273), white, rgba(0, 128, 0, 0.273));
|
||||||
}
|
}
|
||||||
|
|
||||||
.isFacilitatore {
|
.isFacilitatore {
|
||||||
color: #201a80;
|
color: #201a80;
|
||||||
}
|
}
|
||||||
|
|
||||||
.my-menu-icon{
|
.my-menu-icon {
|
||||||
min-width: 2px;
|
min-width: 2px;
|
||||||
font-size: 1rem;
|
font-size: 1rem;
|
||||||
}
|
}
|
||||||
|
|
||||||
.my-menu-icon > i{
|
.my-menu-icon>i {
|
||||||
min-width: 26px;
|
min-width: 26px;
|
||||||
font-size: 1.25rem;
|
font-size: 1.25rem;
|
||||||
}
|
}
|
||||||
|
|
||||||
.clexpansion{
|
.clexpansion {
|
||||||
min-width: 0 !important;
|
min-width: 0 !important;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -92,24 +99,25 @@
|
|||||||
background-color: rgba(174, 189, 241, 0.71);
|
background-color: rgba(174, 189, 241, 0.71);
|
||||||
}
|
}
|
||||||
|
|
||||||
.my-menu-separat > i{
|
.my-menu-separat>i {
|
||||||
min-width: 26px;
|
min-width: 26px;
|
||||||
font-size: 1rem;
|
font-size: 1rem;
|
||||||
}
|
}
|
||||||
|
|
||||||
.my-menu-icon-none > i{
|
.my-menu-icon-none>i {
|
||||||
display: none;
|
display: none;
|
||||||
}
|
}
|
||||||
|
|
||||||
.clicon img, .clicon {
|
.clicon img,
|
||||||
|
.clicon {
|
||||||
font-size: 16px;
|
font-size: 16px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.q-item__section--avatar{
|
.q-item__section--avatar {
|
||||||
min-width: 30px;
|
min-width: 30px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.OLD_q-item__section--side{
|
.OLD_q-item__section--side {
|
||||||
padding-right: 8px;
|
padding-right: 8px;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -137,6 +145,7 @@
|
|||||||
font-weight: bold;
|
font-weight: bold;
|
||||||
text-shadow: 0.0512rem 0.052rem .01rem #555;
|
text-shadow: 0.0512rem 0.052rem .01rem #555;
|
||||||
}
|
}
|
||||||
|
|
||||||
.subtitle {
|
.subtitle {
|
||||||
font-style: italic;
|
font-style: italic;
|
||||||
}
|
}
|
||||||
@@ -6,16 +6,12 @@ import { useRoute } from 'vue-router'
|
|||||||
import { static_data } from '@/db/static_data'
|
import { static_data } from '@/db/static_data'
|
||||||
import { useUserStore } from '@store/UserStore'
|
import { useUserStore } from '@store/UserStore'
|
||||||
|
|
||||||
|
import { CMenuItem } from '../../components/CMenuItem'
|
||||||
|
|
||||||
export default defineComponent({
|
export default defineComponent({
|
||||||
name: 'MenuOne',
|
name: 'MenuOne',
|
||||||
props: {
|
|
||||||
clBase: {
|
|
||||||
type: String,
|
|
||||||
required: false,
|
|
||||||
default: 'my-menu',
|
|
||||||
},
|
|
||||||
},
|
|
||||||
|
|
||||||
|
components: { CMenuItem },
|
||||||
setup(props) {
|
setup(props) {
|
||||||
const route = useRoute()
|
const route = useRoute()
|
||||||
const userStore = useUserStore()
|
const userStore = useUserStore()
|
||||||
@@ -29,10 +25,12 @@ export default defineComponent({
|
|||||||
|
|
||||||
const myroutes = ref(<IListRoutes[]>[])
|
const myroutes = ref(<IListRoutes[]>[])
|
||||||
|
|
||||||
const getmenu = computed(() => globalStore.getmenu )
|
const getmenu = computed(() => globalStore.getmenu)
|
||||||
|
|
||||||
const islogged = computed(() => userStore.isLogged)
|
const islogged = computed(() => userStore.isLogged)
|
||||||
|
|
||||||
|
const clBase = ref('my-menu')
|
||||||
|
|
||||||
function setParentVisibilityBasedOnRoute(parent: any) {
|
function setParentVisibilityBasedOnRoute(parent: any) {
|
||||||
parent.routes.forEach((item: any) => {
|
parent.routes.forEach((item: any) => {
|
||||||
if (path.value === item.path) {
|
if (path.value === item.path) {
|
||||||
@@ -51,11 +49,11 @@ export default defineComponent({
|
|||||||
myroutes.value = static_data.routes
|
myroutes.value = static_data.routes
|
||||||
}
|
}
|
||||||
|
|
||||||
watch(() => islogged.value,(to, from) => {
|
watch(() => islogged.value, (to, from) => {
|
||||||
updatemenu()
|
updatemenu()
|
||||||
})
|
})
|
||||||
|
|
||||||
watch(() => finishLoading.value,(to, from) => {
|
watch(() => finishLoading.value, (to, from) => {
|
||||||
updatemenu()
|
updatemenu()
|
||||||
})
|
})
|
||||||
|
|
||||||
@@ -78,7 +76,7 @@ export default defineComponent({
|
|||||||
}
|
}
|
||||||
|
|
||||||
function getmymenuclass(elem: IListRoutes) {
|
function getmymenuclass(elem: IListRoutes) {
|
||||||
let menu: string = props.clBase
|
let menu: string = clBase.value
|
||||||
|
|
||||||
if (elem.color) {
|
if (elem.color) {
|
||||||
menu += ` ${elem.color}`
|
menu += ` ${elem.color}`
|
||||||
@@ -111,6 +109,12 @@ export default defineComponent({
|
|||||||
return 'clBase'
|
return 'clBase'
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function getmenuByPath(path: string) {
|
||||||
|
const mymenufind = static_data.routes.find((menu: any) => menu.path === '/' + path)
|
||||||
|
|
||||||
|
return mymenufind
|
||||||
|
}
|
||||||
|
|
||||||
myroutes.value = static_data.routes
|
myroutes.value = static_data.routes
|
||||||
|
|
||||||
return {
|
return {
|
||||||
@@ -124,7 +128,8 @@ export default defineComponent({
|
|||||||
myroutes,
|
myroutes,
|
||||||
getimgiconclass,
|
getimgiconclass,
|
||||||
getimgiconclass2,
|
getimgiconclass2,
|
||||||
|
getmenuByPath,
|
||||||
|
clBase,
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
})
|
})
|
||||||
|
|||||||
@@ -1,153 +1,24 @@
|
|||||||
<template>
|
<template>
|
||||||
<div v-if="finishLoading" class="no-border">
|
<div v-if="finishLoading" class="no-border">
|
||||||
<q-list class="rounded-borders text-primary">
|
<q-list class="rounded-borders text-primary">
|
||||||
<div v-for="ind1 in getmenu" :key="ind1">
|
<template v-for="menuItem in getmenu" :key="menuItem">
|
||||||
<!--<div class="q-list-header">{{replaceUnderlineToSpace(index)}}</div>-->
|
<template v-for="(route, index) in myroutes" :key="index">
|
||||||
<div v-for="(myitemmenu, ind2) in myroutes" :key="ind2">
|
<CMenuItem
|
||||||
<div v-if="myitemmenu.active">
|
v-if="
|
||||||
<div v-if="myitemmenu.routes2 && myitemmenu.inmenu && tools.visumenu(myitemmenu)">
|
route.active &&
|
||||||
|
!route.submenu &&
|
||||||
<span v-if="myitemmenu.isseparator">
|
route.inmenu &&
|
||||||
<q-separator></q-separator>
|
tools.visumenu(route)
|
||||||
</span>
|
"
|
||||||
<span v-else>
|
:item="route"
|
||||||
|
:getroute="getroute"
|
||||||
<q-expansion-item
|
:getmymenuclass="getmymenuclass"
|
||||||
:content-inset-level="myitemmenu.level_parent"
|
:getimgiconclass="getimgiconclass"
|
||||||
:header-class="getmymenuclass(myitemmenu)"
|
:clBase="clBase"
|
||||||
:header-inset-level="myitemmenu.level_parent"
|
:level="1"
|
||||||
:icon="myitemmenu.materialIcon"
|
/>
|
||||||
:label="tools.getLabelByItem(myitemmenu)"
|
</template>
|
||||||
active-class="my-menu-active"
|
</template>
|
||||||
expand-icon-class="my-menu-separat">
|
|
||||||
|
|
||||||
<div v-for="(child2, index) in myitemmenu.routes2" :key="index">
|
|
||||||
<div v-if="child2.active && tools.visumenu(child2)">
|
|
||||||
<span v-if="child2.isseparator">
|
|
||||||
<q-separator></q-separator>
|
|
||||||
</span>
|
|
||||||
<span v-else>
|
|
||||||
|
|
||||||
<q-expansion-item
|
|
||||||
v-if="!child2.routes2"
|
|
||||||
:class="`item item-link drawer-closer cursor-pointer ` + clBase"
|
|
||||||
:duration="300"
|
|
||||||
:header-inset-level="child2.level_child"
|
|
||||||
:icon="child2.materialIcon"
|
|
||||||
:label="tools.getLabelByItem(child2)"
|
|
||||||
:to="getroute(child2)"
|
|
||||||
active-class="my-menu-active"
|
|
||||||
expand-icon="none"
|
|
||||||
expand-icon-class="my-menu-icon-none">
|
|
||||||
|
|
||||||
<q-item-section avatar>
|
|
||||||
<q-avatar v-if="child2.img">
|
|
||||||
<div :class="getimgiconclass(child2)" :icon="`img:`+child2.img" style="font-size:2rem;"></div>
|
|
||||||
</q-avatar>
|
|
||||||
<div v-else>
|
|
||||||
<q-avatar
|
|
||||||
:icon="child2.materialIcon" :size="child2.iconsize" class="clicon"
|
|
||||||
color="primary"
|
|
||||||
text-color="white">
|
|
||||||
</q-avatar>
|
|
||||||
</div>
|
|
||||||
</q-item-section>
|
|
||||||
|
|
||||||
<q-item-section>
|
|
||||||
{{ tools.getLabelByItem(child2) }}
|
|
||||||
</q-item-section>
|
|
||||||
|
|
||||||
</q-expansion-item>
|
|
||||||
<q-expansion-item
|
|
||||||
v-else
|
|
||||||
:content-inset-level="child2.level_parent"
|
|
||||||
:header-class="getmymenuclass(child2)"
|
|
||||||
:header-inset-level="child2.level_parent"
|
|
||||||
:icon="child2.materialIcon"
|
|
||||||
:label="tools.getLabelByItem(child2)"
|
|
||||||
active-class="my-menu-active"
|
|
||||||
expand-icon-class="my-menu-separat">
|
|
||||||
|
|
||||||
<div v-for="(child3, index) in child2.routes2" :key="index">
|
|
||||||
<div v-if="child3.active">
|
|
||||||
|
|
||||||
<q-expansion-item
|
|
||||||
:class="`item item-link drawer-closer cursor-pointer ` + clBase"
|
|
||||||
:duration="300"
|
|
||||||
:header-inset-level="child3.level_child"
|
|
||||||
:icon="child3.materialIcon"
|
|
||||||
:label="tools.getLabelByItem(child3)"
|
|
||||||
:to="getroute(child3)"
|
|
||||||
active-class="my-menu-active"
|
|
||||||
expand-icon-class="my-menu-icon-none">
|
|
||||||
<div v-for="(child4, index) in child3.routes2" :key="index">
|
|
||||||
|
|
||||||
<q-expansion-item
|
|
||||||
v-if="!!child3.routes2 && child3.active"
|
|
||||||
:key="index"
|
|
||||||
:class="`item item-link drawer-closer cursor-pointer ` + clBase"
|
|
||||||
:duration="300"
|
|
||||||
:expand-icon="child4.icon"
|
|
||||||
:header-inset-level="child4.level_child"
|
|
||||||
:icon="child4.materialIcon"
|
|
||||||
:label="tools.getLabelByItem(child4)"
|
|
||||||
:to="getroute(child4)"
|
|
||||||
active-class="my-menu-active"
|
|
||||||
expand-icon-class="my-menu-separat">
|
|
||||||
</q-expansion-item>
|
|
||||||
</div>
|
|
||||||
</q-expansion-item>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</q-expansion-item>
|
|
||||||
</span>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</q-expansion-item>
|
|
||||||
</span>
|
|
||||||
</div>
|
|
||||||
<div v-else>
|
|
||||||
<div v-if="myitemmenu.inmenu && !myitemmenu.submenu && tools.visumenu(myitemmenu)">
|
|
||||||
<q-slide-transition :duration=200>
|
|
||||||
<div v-show="true">
|
|
||||||
<span v-if="myitemmenu.isseparator">
|
|
||||||
<q-separator inset></q-separator>
|
|
||||||
</span>
|
|
||||||
<span v-else>
|
|
||||||
<q-list>
|
|
||||||
<q-item clickable
|
|
||||||
:content-inset-level="myitemmenu.level_parent"
|
|
||||||
:header-inset-level="myitemmenu.level_parent"
|
|
||||||
:to="getroute(myitemmenu)"
|
|
||||||
active-class="my-menu-active"
|
|
||||||
expand-icon="none">
|
|
||||||
|
|
||||||
<q-item-section thumbnail>
|
|
||||||
<q-avatar
|
|
||||||
:icon="myitemmenu.materialIcon" :size="!!myitemmenu.iconsize ? myitemmenu.iconsize: '2.5rem'" :font-size="!!myitemmenu.iconsize ? myitemmenu.iconsize: '2.5rem'"
|
|
||||||
text-color="primary"
|
|
||||||
style="margin-left: 4px"
|
|
||||||
square
|
|
||||||
rounded>
|
|
||||||
</q-avatar>
|
|
||||||
</q-item-section>
|
|
||||||
|
|
||||||
<q-item-section>
|
|
||||||
<span :class="myitemmenu.extraclass">{{ tools.getLabelByItem(myitemmenu) }}</span>
|
|
||||||
<span v-if="myitemmenu.subtitle" class="subtitle">{{ myitemmenu.subtitle }}</span>
|
|
||||||
</q-item-section>
|
|
||||||
|
|
||||||
</q-item>
|
|
||||||
</q-list>
|
|
||||||
</span>
|
|
||||||
</div>
|
|
||||||
</q-slide-transition>
|
|
||||||
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</q-list>
|
</q-list>
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
|
|||||||
@@ -20,6 +20,7 @@ export interface INotData {
|
|||||||
num_reg?: number
|
num_reg?: number
|
||||||
num_reg_today?: number
|
num_reg_today?: number
|
||||||
online_today?: number
|
online_today?: number
|
||||||
|
activeusers?: number
|
||||||
num_passeggeri?: number
|
num_passeggeri?: number
|
||||||
num_imbarcati?: number
|
num_imbarcati?: number
|
||||||
email_non_verif?: number
|
email_non_verif?: number
|
||||||
@@ -41,9 +42,13 @@ export interface INotData {
|
|||||||
checkuser?: any // ICheckUser
|
checkuser?: any // ICheckUser
|
||||||
numreg_untilday?: number
|
numreg_untilday?: number
|
||||||
reg_daily?: string
|
reg_daily?: string
|
||||||
imbarcati_daily?: string
|
|
||||||
imbarcati_weekly?: string
|
|
||||||
reg_weekly?: string
|
reg_weekly?: string
|
||||||
|
num_transaz_tot?: number
|
||||||
|
tot_RIS_transati?: number
|
||||||
|
num_circuiti?: number
|
||||||
|
num_circuiti_attivi?: number
|
||||||
|
num_annunci?: number
|
||||||
|
last_transactions?: IMovement[]
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@@ -160,6 +165,8 @@ export interface IMyElem {
|
|||||||
listcards?: IMyCard[]
|
listcards?: IMyCard[]
|
||||||
catalogo?: ICatalogo
|
catalogo?: ICatalogo
|
||||||
elemsText?: IElemText[]
|
elemsText?: IElemText[]
|
||||||
|
titleBanner: string
|
||||||
|
classBanner: string
|
||||||
}
|
}
|
||||||
|
|
||||||
export interface IElemText {
|
export interface IElemText {
|
||||||
@@ -210,6 +217,8 @@ export interface IMyPage {
|
|||||||
extraclass?: string
|
extraclass?: string
|
||||||
loadFirst?: boolean
|
loadFirst?: boolean
|
||||||
showFooter?: boolean
|
showFooter?: boolean
|
||||||
|
mainMenu?: boolean
|
||||||
|
sottoMenu?: String[]
|
||||||
|
|
||||||
//Memory
|
//Memory
|
||||||
loaded?: boolean
|
loaded?: boolean
|
||||||
@@ -563,6 +572,8 @@ export interface IListRoutes {
|
|||||||
idelem?: string
|
idelem?: string
|
||||||
urlroute?: string
|
urlroute?: string
|
||||||
img?: string
|
img?: string
|
||||||
|
mainMenu?: boolean
|
||||||
|
sottoMenu?: String[]
|
||||||
// ------------------------
|
// ------------------------
|
||||||
faIcon?: string
|
faIcon?: string
|
||||||
text?: string
|
text?: string
|
||||||
@@ -657,6 +668,7 @@ export interface IMyCard {
|
|||||||
color?: string
|
color?: string
|
||||||
content?: string
|
content?: string
|
||||||
colorsub?: string
|
colorsub?: string
|
||||||
|
link?: string
|
||||||
}
|
}
|
||||||
|
|
||||||
export interface ICatalogo {
|
export interface ICatalogo {
|
||||||
@@ -1201,6 +1213,56 @@ export interface ICircuit {
|
|||||||
account?: IAccount | null
|
account?: IAccount | null
|
||||||
}
|
}
|
||||||
|
|
||||||
|
export interface IMovUserProfile {
|
||||||
|
img: string
|
||||||
|
}
|
||||||
|
|
||||||
|
export interface IMovUserQuery {
|
||||||
|
verified_by_aportador: boolean
|
||||||
|
username: string
|
||||||
|
profile: IMovUserProfile
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
export interface IMovGroupQuery {
|
||||||
|
verified_by_aportador: boolean
|
||||||
|
groupname: string
|
||||||
|
title: string
|
||||||
|
photos: string
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
export interface IMovContoComQuery {
|
||||||
|
path: string
|
||||||
|
name: string
|
||||||
|
}
|
||||||
|
|
||||||
|
export interface IMovCircuitQuery {
|
||||||
|
name: string
|
||||||
|
symbol: string
|
||||||
|
}
|
||||||
|
|
||||||
|
export interface IMovQuery {
|
||||||
|
tipocontofrom: number
|
||||||
|
tipocontoto: number
|
||||||
|
userfrom: IMovUserQuery
|
||||||
|
userto: IMovUserQuery
|
||||||
|
|
||||||
|
groupfrom: IMovGroupQuery
|
||||||
|
groupto: IMovGroupQuery
|
||||||
|
|
||||||
|
contocomfrom: IMovContoComQuery
|
||||||
|
contocomto: IMovContoComQuery
|
||||||
|
|
||||||
|
circuitfrom: IMovCircuitQuery
|
||||||
|
|
||||||
|
transactionDate: Date
|
||||||
|
amount: number
|
||||||
|
causal: string
|
||||||
|
notifId: string
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
export interface IMovement {
|
export interface IMovement {
|
||||||
_id: string
|
_id: string
|
||||||
transactionDate: Date
|
transactionDate: Date
|
||||||
@@ -1226,6 +1288,18 @@ export interface IMovVisu {
|
|||||||
expiringDate: Date
|
expiringDate: Date
|
||||||
}
|
}
|
||||||
|
|
||||||
|
export interface ITransaction {
|
||||||
|
_id: string
|
||||||
|
transacDate: Date
|
||||||
|
mitt_username: string
|
||||||
|
mitt_group: string
|
||||||
|
dest_username: string
|
||||||
|
dest_group: string
|
||||||
|
circuito: string
|
||||||
|
amount: number
|
||||||
|
causale: string
|
||||||
|
}
|
||||||
|
|
||||||
export interface IAccount {
|
export interface IAccount {
|
||||||
_id: string
|
_id: string
|
||||||
username: string
|
username: string
|
||||||
|
|||||||
@@ -1,452 +0,0 @@
|
|||||||
|
|
||||||
.testo-banda {
|
|
||||||
//background: -webkit-gradient(linear, left top, left bottom, from(#3144f0), to(transparent));
|
|
||||||
//background: linear-gradient(180deg, #3144f0, transparent);
|
|
||||||
//background: rgba(0, 0, 0, .6)
|
|
||||||
}
|
|
||||||
|
|
||||||
$grayshadow: #555;
|
|
||||||
|
|
||||||
$textcol: blue;
|
|
||||||
$textcol_scuro: darkblue;
|
|
||||||
|
|
||||||
p {
|
|
||||||
margin: 0 0 1.25rem;
|
|
||||||
//text-shadow: .125rem .125rem .25rem $grayshadow;
|
|
||||||
}
|
|
||||||
|
|
||||||
h4 {
|
|
||||||
font-size: 1.25rem;
|
|
||||||
}
|
|
||||||
|
|
||||||
.mycard {
|
|
||||||
visibility: hidden;
|
|
||||||
}
|
|
||||||
|
|
||||||
.landing {
|
|
||||||
}
|
|
||||||
|
|
||||||
.landing_background {
|
|
||||||
background: #000 url(../../../public/images/foto1.jpg) no-repeat 50% fixed;
|
|
||||||
background-size: cover
|
|
||||||
}
|
|
||||||
|
|
||||||
.landing > section {
|
|
||||||
display: -webkit-box;
|
|
||||||
display: -ms-flexbox;
|
|
||||||
display: flex;
|
|
||||||
-webkit-box-pack: center;
|
|
||||||
-ms-flex-pack: center;
|
|
||||||
justify-content: center;
|
|
||||||
//padding: 0 16px
|
|
||||||
}
|
|
||||||
|
|
||||||
.intro {
|
|
||||||
display: flex;
|
|
||||||
justify-content: space-between;
|
|
||||||
align-items: stretch;
|
|
||||||
/* flex-flow: row nowrap; */
|
|
||||||
|
|
||||||
padding: 1.25rem 0 1.25rem 0;
|
|
||||||
margin: .125rem;
|
|
||||||
|
|
||||||
* {
|
|
||||||
width: 100%;
|
|
||||||
flex: 1;
|
|
||||||
margin-left: auto;
|
|
||||||
margin-right: auto;
|
|
||||||
}
|
|
||||||
|
|
||||||
&__associazione {
|
|
||||||
min-width: 350px;
|
|
||||||
}
|
|
||||||
|
|
||||||
&__comeassociarsi {
|
|
||||||
min-width: 350px;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
.subtitle {
|
|
||||||
font-weight: 600;
|
|
||||||
text-align: center;
|
|
||||||
letter-spacing: 0.125rem;
|
|
||||||
text-transform: uppercase;
|
|
||||||
font-size: 1rem;
|
|
||||||
}
|
|
||||||
|
|
||||||
.landing > section.padding {
|
|
||||||
padding: 5.62rem 1rem;
|
|
||||||
}
|
|
||||||
|
|
||||||
.landing > section.padding_testo {
|
|
||||||
padding-top: 1.25rem;
|
|
||||||
padding-bottom: 1rem;
|
|
||||||
}
|
|
||||||
|
|
||||||
.landing > section.padding_gallery {
|
|
||||||
padding-top: 3.125rem;
|
|
||||||
padding-bottom: 5.625rem;
|
|
||||||
}
|
|
||||||
|
|
||||||
.landing > section > div {
|
|
||||||
position: relative;
|
|
||||||
width: 100%
|
|
||||||
}
|
|
||||||
|
|
||||||
.maxwidth1200 {
|
|
||||||
max-width: 1200px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.landing__toolbar {
|
|
||||||
background: -webkit-gradient(linear, left top, left bottom, from(#000), to(transparent));
|
|
||||||
background: linear-gradient(180deg, #000, transparent);
|
|
||||||
padding: 0 !important
|
|
||||||
}
|
|
||||||
|
|
||||||
.landing__toolbar .q-btn {
|
|
||||||
border-radius: 0 0 .315rem .315rem;
|
|
||||||
-ms-flex-item-align: stretch;
|
|
||||||
align-self: stretch
|
|
||||||
}
|
|
||||||
|
|
||||||
.landing__hero {
|
|
||||||
min-height: 50vh
|
|
||||||
}
|
|
||||||
|
|
||||||
.landing__header {
|
|
||||||
height: 18vh
|
|
||||||
}
|
|
||||||
|
|
||||||
.landing__arrow {
|
|
||||||
bottom: 1.5rem;
|
|
||||||
opacity: .4
|
|
||||||
}
|
|
||||||
|
|
||||||
.landing__front {
|
|
||||||
background: -webkit-gradient(linear, left top, left bottom, from(transparent), color-stop(15%, rgba(0, 0, 0, .6)));
|
|
||||||
background: linear-gradient(180deg, transparent, rgba(0, 0, 0, .6) 15%)
|
|
||||||
}
|
|
||||||
|
|
||||||
.landing__logo {
|
|
||||||
width: 9.40rem;
|
|
||||||
height: 9.40rem;
|
|
||||||
margin-top: 1.315rem;
|
|
||||||
//-webkit-animation: logo-rotate 240s linear infinite;
|
|
||||||
//animation: logo-rotate 240s linear infinite
|
|
||||||
}
|
|
||||||
|
|
||||||
.landing__features .q-icon {
|
|
||||||
font-size: 4rem
|
|
||||||
}
|
|
||||||
|
|
||||||
h4 {
|
|
||||||
line-height: 1.5;
|
|
||||||
text-shadow: .25rem .25rem .5rem $grayshadow;
|
|
||||||
}
|
|
||||||
|
|
||||||
.landing__features h4, .landing__features h6 {
|
|
||||||
margin: 1rem 0
|
|
||||||
}
|
|
||||||
|
|
||||||
.landing__features p {
|
|
||||||
opacity: .7;
|
|
||||||
font-size: 1rem;
|
|
||||||
line-height: 1.5;
|
|
||||||
}
|
|
||||||
|
|
||||||
.landing__footer {
|
|
||||||
//background: -webkit-gradient(linear, left top, left bottom, color-stop(65%, rgba(0, 0, 0, .1)), to(#000));
|
|
||||||
background: linear-gradient(180deg, rgba(0, 0, 0, .8) 95%, #FFF);
|
|
||||||
padding-top: 4.5rem !important;
|
|
||||||
padding-bottom: 4.5rem !important;
|
|
||||||
padding-left: 1.25rem;
|
|
||||||
padding-right: 1.25rem;
|
|
||||||
color: #9f9f9f;
|
|
||||||
}
|
|
||||||
|
|
||||||
.icon_contact:hover {
|
|
||||||
color: blue;
|
|
||||||
border-color: white;
|
|
||||||
border-width: .0625rem;
|
|
||||||
}
|
|
||||||
|
|
||||||
.landing__footer .doc-link {
|
|
||||||
color: $textcol;
|
|
||||||
}
|
|
||||||
|
|
||||||
.landing__footer .doc-link:hover {
|
|
||||||
opacity: .8
|
|
||||||
}
|
|
||||||
|
|
||||||
.landing__swirl-bg {
|
|
||||||
background-repeat: no-repeat !important;
|
|
||||||
background-position: top;
|
|
||||||
background-size: contain !important;
|
|
||||||
background-image: url(../../../public/images/landing_first_section.png) !important
|
|
||||||
}
|
|
||||||
|
|
||||||
.feat-descr {
|
|
||||||
font-size: 1.15rem;
|
|
||||||
}
|
|
||||||
|
|
||||||
.feat-descr:hover {
|
|
||||||
transition: opacity 0.5s ease-in-out;
|
|
||||||
opacity: 0.9;
|
|
||||||
}
|
|
||||||
|
|
||||||
.q-col-gutter-sm {
|
|
||||||
padding: 3.125rem 3.125rem;
|
|
||||||
//margin-left: -48px
|
|
||||||
}
|
|
||||||
|
|
||||||
body.mobile .landing {
|
|
||||||
//background: unset
|
|
||||||
}
|
|
||||||
|
|
||||||
body.mobile .landing:before {
|
|
||||||
content: "";
|
|
||||||
position: fixed;
|
|
||||||
top: 0;
|
|
||||||
height: 100vh;
|
|
||||||
left: 0;
|
|
||||||
right: 0;
|
|
||||||
bottom: 0;
|
|
||||||
z-index: -1;
|
|
||||||
//background: #000 url(../../public/images/cover.jpg) 50%;
|
|
||||||
|
|
||||||
background-size: cover
|
|
||||||
}
|
|
||||||
|
|
||||||
/*
|
|
||||||
@-webkit-keyframes logo-rotate {
|
|
||||||
to {
|
|
||||||
-webkit-transform: rotate(-1turn);
|
|
||||||
transform: rotate(-1turn)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
@keyframes logo-rotate {
|
|
||||||
to {
|
|
||||||
-webkit-transform: rotate(-1turn);
|
|
||||||
transform: rotate(-1turn)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
*/
|
|
||||||
|
|
||||||
.home {
|
|
||||||
//background-color: rgb(250, 250, 250);
|
|
||||||
padding: 3.125rem;
|
|
||||||
display: flex;
|
|
||||||
//flex-wrap: nowrap;
|
|
||||||
flex-direction: column;
|
|
||||||
align-items: center;
|
|
||||||
justify-content: space-between;
|
|
||||||
}
|
|
||||||
|
|
||||||
.btn-start {
|
|
||||||
margin: 3.125rem;
|
|
||||||
}
|
|
||||||
|
|
||||||
.shadow {
|
|
||||||
//color: white;
|
|
||||||
text-shadow: 0.125rem 0.125rem 0.25rem $grayshadow;
|
|
||||||
}
|
|
||||||
|
|
||||||
.text-h1, h1 {
|
|
||||||
font-size: 3rem;
|
|
||||||
font-weight: bold;
|
|
||||||
line-height: 3rem;
|
|
||||||
letter-spacing: -.01562em;
|
|
||||||
margin-bottom: 8px !important;
|
|
||||||
}
|
|
||||||
|
|
||||||
.text-h2 {
|
|
||||||
font-size: 3.75rem;
|
|
||||||
font-weight: 300;
|
|
||||||
line-height: 3.75rem;
|
|
||||||
letter-spacing: -.00833em;
|
|
||||||
}
|
|
||||||
|
|
||||||
.text-weight-bold {
|
|
||||||
font-weight: 700;
|
|
||||||
}
|
|
||||||
|
|
||||||
.text-vers {
|
|
||||||
font-size: 0.75rem;
|
|
||||||
font-weight: 400;
|
|
||||||
line-height: 1.75rem;
|
|
||||||
letter-spacing: .00937em;
|
|
||||||
text-shadow: .25rem .25rem .5rem $grayshadow;
|
|
||||||
}
|
|
||||||
|
|
||||||
.homep-cover-img-1 {
|
|
||||||
background: #000 url(../../../public/images/foto1.jpg) no-repeat 50% fixed;
|
|
||||||
//transition: background-image 1s ease-in-out;
|
|
||||||
}
|
|
||||||
|
|
||||||
.homep-cover-img-2 {
|
|
||||||
background: #000 url(../../../public/images/foto2.jpg) no-repeat 50% fixed;
|
|
||||||
//transition: background-image 1s ease-in-out;
|
|
||||||
}
|
|
||||||
|
|
||||||
.homep-cover-img-3 {
|
|
||||||
background: #000 url(../../../public/images/foto3.jpg) no-repeat 50% fixed;
|
|
||||||
//transition: background-image 1s ease-in-out;
|
|
||||||
}
|
|
||||||
|
|
||||||
.homep-cover-img.hide-filter:before {
|
|
||||||
opacity: 0
|
|
||||||
}
|
|
||||||
|
|
||||||
.landing__footer-icons {
|
|
||||||
font-size: 1.75rem
|
|
||||||
}
|
|
||||||
|
|
||||||
.landing__footer-icons a {
|
|
||||||
margin: 0 .5rem .5rem;
|
|
||||||
text-decoration: none;
|
|
||||||
outline: 0;
|
|
||||||
color: $textcol;
|
|
||||||
transition: color .28s
|
|
||||||
}
|
|
||||||
|
|
||||||
.landing__footer-icons a:hover {
|
|
||||||
color: $textcol_scuro;
|
|
||||||
}
|
|
||||||
|
|
||||||
.doc-img {
|
|
||||||
max-width: 100%;
|
|
||||||
}
|
|
||||||
|
|
||||||
.mylist {
|
|
||||||
background: #3fdaff;
|
|
||||||
padding-left: 1.25rem;
|
|
||||||
}
|
|
||||||
|
|
||||||
.clgutter {
|
|
||||||
margin-top: 1.25rem;
|
|
||||||
padding: .62rem;
|
|
||||||
}
|
|
||||||
|
|
||||||
.carousel_img_3 {
|
|
||||||
//background-image: url(../../public/images/cibo_sano.jpg);
|
|
||||||
background-size: cover !important;
|
|
||||||
background-position: 50% center !important;
|
|
||||||
background-repeat: no-repeat !important;
|
|
||||||
}
|
|
||||||
|
|
||||||
@media (max-width: 718px) {
|
|
||||||
// PER VERSIONE MOBILE
|
|
||||||
|
|
||||||
.landing__hero {
|
|
||||||
text-align: center
|
|
||||||
}
|
|
||||||
.landing__header {
|
|
||||||
height: 7vh
|
|
||||||
}
|
|
||||||
.clgutter {
|
|
||||||
margin-top: 0;
|
|
||||||
padding: 0;
|
|
||||||
}
|
|
||||||
.landing__hero .text-h1, h1 {
|
|
||||||
font-size: 2rem;
|
|
||||||
line-height: 2.05rem;
|
|
||||||
margin-bottom: 1.25rem
|
|
||||||
}
|
|
||||||
|
|
||||||
.landing > section.padding {
|
|
||||||
padding: 2.5rem 1rem;
|
|
||||||
}
|
|
||||||
|
|
||||||
.landing > section.padding_testo {
|
|
||||||
padding-top: 1.25rem;
|
|
||||||
padding-bottom: 1rem;
|
|
||||||
}
|
|
||||||
|
|
||||||
.landing > section.padding_gallery {
|
|
||||||
padding-top: 3.125rem;
|
|
||||||
padding-bottom: 5.625rem;
|
|
||||||
|
|
||||||
max-width: 800px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.landing > section.padding_gallery > div {
|
|
||||||
padding-top: 3.125rem;
|
|
||||||
padding-bottom: 5.625rem;
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
.landing__features h4, .landing__features h6 {
|
|
||||||
margin: 1.25rem 0
|
|
||||||
}
|
|
||||||
|
|
||||||
h4 {
|
|
||||||
line-height: 1.4;
|
|
||||||
text-shadow: 0.25rem 0.25rem 0.5rem $grayshadow;
|
|
||||||
}
|
|
||||||
|
|
||||||
.landing .feature-item {
|
|
||||||
text-align: center;
|
|
||||||
margin-top: 1.25rem;
|
|
||||||
}
|
|
||||||
.landing__hero-content {
|
|
||||||
padding-bottom: 11.25rem;
|
|
||||||
}
|
|
||||||
.landing__hero2-content {
|
|
||||||
padding-bottom: 7.25rem;
|
|
||||||
}
|
|
||||||
.landing__hero-btns {
|
|
||||||
-webkit-box-pack: center;
|
|
||||||
-ms-flex-pack: center;
|
|
||||||
justify-content: center
|
|
||||||
}
|
|
||||||
|
|
||||||
.q-col-gutter-sm {
|
|
||||||
padding: .625rem .315rem;
|
|
||||||
}
|
|
||||||
|
|
||||||
.text-subtitle1 {
|
|
||||||
font-size: 1.25rem;
|
|
||||||
}
|
|
||||||
.text-vers {
|
|
||||||
font-size: 0.6rem;
|
|
||||||
}
|
|
||||||
|
|
||||||
.carousel_img_3 {
|
|
||||||
//background-image: url(../../public/images/cibo_sano.jpg);
|
|
||||||
background-size: 620px 620px !important;
|
|
||||||
background-position: 50% top !important;
|
|
||||||
background-repeat: no-repeat !important;
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
.custom-caption {
|
|
||||||
text-align: center;
|
|
||||||
padding: .75rem;
|
|
||||||
color: $textcol;
|
|
||||||
background-color: rgba(0, 0, 0, .3);
|
|
||||||
}
|
|
||||||
|
|
||||||
.sfondo-grigio {
|
|
||||||
padding: 1rem;
|
|
||||||
color: $textcol;
|
|
||||||
background-color: rgba(0, 0, 0, .35);
|
|
||||||
}
|
|
||||||
|
|
||||||
.mycontacts {
|
|
||||||
color: gray;
|
|
||||||
letter-spacing: 0.078rem;
|
|
||||||
}
|
|
||||||
|
|
||||||
.mycontacts_title {
|
|
||||||
text-shadow: 0.125rem 0.125rem 0.125rem #555;
|
|
||||||
font-weight: bold;
|
|
||||||
color: #999;
|
|
||||||
letter-spacing: 0.125rem;
|
|
||||||
}
|
|
||||||
|
|
||||||
.mycontacts_text {
|
|
||||||
color: #999;
|
|
||||||
letter-spacing: 0.093rem;
|
|
||||||
}
|
|
||||||
@@ -1,78 +0,0 @@
|
|||||||
import { defineComponent, ref, onMounted, watch, computed } from 'vue'
|
|
||||||
|
|
||||||
import { useGlobalStore } from '@store/globalStore'
|
|
||||||
import { useRoute } from 'vue-router'
|
|
||||||
import { useUserStore } from '@store/UserStore'
|
|
||||||
|
|
||||||
import { Logo } from '../../components/logo'
|
|
||||||
|
|
||||||
import { LandingFooter } from '../../components/LandingFooter'
|
|
||||||
import { CMyPage } from '../../components/CMyPage/index'
|
|
||||||
|
|
||||||
import { tools } from '@src/store/Modules/tools'
|
|
||||||
import { static_data } from '@src/db/static_data'
|
|
||||||
import { toolsext } from '@src/store/Modules/toolsext'
|
|
||||||
import { Screen } from 'quasar'
|
|
||||||
import { CCardCarousel, CEventsCalendar, COpenStreetMap } from '@components'
|
|
||||||
import MixinBase from '@src/mixins/mixin-base'
|
|
||||||
import { firstimagehome } from '@src/db/static_data'
|
|
||||||
import MixinMetaTags from '@/mixins/mixin-metatags'
|
|
||||||
|
|
||||||
export default defineComponent({
|
|
||||||
name: 'home_arcadei',
|
|
||||||
components: { Logo, LandingFooter, CMyPage, CCardCarousel, CEventsCalendar, COpenStreetMap },
|
|
||||||
|
|
||||||
setup() {
|
|
||||||
const animare = ref(0)
|
|
||||||
const slide = ref('first')
|
|
||||||
const slide2 = ref(1)
|
|
||||||
|
|
||||||
const getImmagini = ref([
|
|
||||||
{
|
|
||||||
title: '', subtitle: '',
|
|
||||||
alt: 'Arcadei',
|
|
||||||
img: 'images/arcadei/img1.png'
|
|
||||||
},
|
|
||||||
])
|
|
||||||
|
|
||||||
const userStore = useUserStore()
|
|
||||||
const globalStore = useGlobalStore()
|
|
||||||
|
|
||||||
const { setValDb, getValDb } = MixinBase()
|
|
||||||
const { setmeta, getsrcbyimg } = MixinMetaTags()
|
|
||||||
|
|
||||||
function getheightgallery() {
|
|
||||||
if (tools.isMobile())
|
|
||||||
return '400px'
|
|
||||||
else
|
|
||||||
return '600px'
|
|
||||||
}
|
|
||||||
|
|
||||||
function created() {
|
|
||||||
//
|
|
||||||
}
|
|
||||||
|
|
||||||
function getArrDisciplines() {
|
|
||||||
return globalStore.disciplines.filter((rec: any) => rec.showinhome)
|
|
||||||
}
|
|
||||||
|
|
||||||
created()
|
|
||||||
|
|
||||||
return {
|
|
||||||
tools,
|
|
||||||
toolsext,
|
|
||||||
static_data,
|
|
||||||
animare,
|
|
||||||
slide,
|
|
||||||
slide2,
|
|
||||||
getheightgallery,
|
|
||||||
getArrDisciplines,
|
|
||||||
getImmagini,
|
|
||||||
getValDb,
|
|
||||||
firstimagehome,
|
|
||||||
getsrcbyimg,
|
|
||||||
setmeta,
|
|
||||||
}
|
|
||||||
},
|
|
||||||
})
|
|
||||||
|
|
||||||
@@ -1,221 +0,0 @@
|
|||||||
<template>
|
|
||||||
<q-page>
|
|
||||||
<CMyPage title="Home">
|
|
||||||
<div class="landing">
|
|
||||||
<section>
|
|
||||||
<div class="landing__hero maxwidth1200 text-white">
|
|
||||||
<q-carousel
|
|
||||||
animated
|
|
||||||
:autoplay="animare"
|
|
||||||
swipeable
|
|
||||||
infinite
|
|
||||||
navigation
|
|
||||||
transition-next="slide-left"
|
|
||||||
transition-prev="slide-right"
|
|
||||||
v-model="slide"
|
|
||||||
:height="getheightgallery()"
|
|
||||||
width="100%"
|
|
||||||
>
|
|
||||||
<q-carousel-slide name="first"
|
|
||||||
:img-src="getsrcbyimg(firstimagehome())">
|
|
||||||
<div class="landing__header"></div>
|
|
||||||
<div class="landing__hero-content row justify-center q-gutter-xs clgutter">
|
|
||||||
<div class="row">
|
|
||||||
|
|
||||||
</div>
|
|
||||||
<div class="flex justify-end">
|
|
||||||
<div class="q-gutter-xs testo-banda clgutter">
|
|
||||||
<h1 class="text-h1 shadow-max">{{tools.getappname()}}</h1>
|
|
||||||
<div class="text-subtitle1 shadow text-italic q-pl-sm">
|
|
||||||
|
|
||||||
</div>
|
|
||||||
<div class="text-subtitle1 shadow-max big text-italic q-pl-sm">
|
|
||||||
|
|
||||||
</div>
|
|
||||||
<div class="text-subtitle2 shadow text-italic q-pl-sm">
|
|
||||||
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div>
|
|
||||||
<br>
|
|
||||||
<br>
|
|
||||||
<div v-if="!tools.isLogged()" style="margin: 5px; padding: 5px;" class="home">
|
|
||||||
<br>
|
|
||||||
<br>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div class="landing__arrow absolute-bottom text-center">
|
|
||||||
<i aria-hidden="true"
|
|
||||||
class="q-icon text-h2 text-white material-icons">expand_more</i>
|
|
||||||
</div>
|
|
||||||
</q-carousel-slide>
|
|
||||||
<q-carousel-slide name="second"
|
|
||||||
:img-src="getsrcbyimg('images/background2.jpg')" alt="">
|
|
||||||
<div class="landing__header"></div>
|
|
||||||
<div class="landing__hero2-content row justify-center q-gutter-xs clgutter">
|
|
||||||
<div class="row">
|
|
||||||
<logo></logo>
|
|
||||||
</div>
|
|
||||||
<div class="flex justify-end">
|
|
||||||
<div class="q-gutter-xs testo-banda clgutter">
|
|
||||||
<h1 class="text-h1 shadow-max">{{tools.getappname()}}</h1>
|
|
||||||
<h2 class="text-subtitle1 shadow text-italic q-pl-sm">
|
|
||||||
{{$t('msg.sottoTitoloApp')}}
|
|
||||||
</h2>
|
|
||||||
<h2 class="text-subtitle1 shadow-max big text-italic q-pl-sm">
|
|
||||||
<strong>{{$t('msg.sottoTitoloApp2')}}</strong>
|
|
||||||
</h2>
|
|
||||||
<h2 class="text-subtitle2 shadow text-italic q-pl-sm">
|
|
||||||
{{$t('msg.sottoTitoloApp3')}}
|
|
||||||
</h2>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div class="landing__arrow absolute-bottom text-center">
|
|
||||||
<i aria-hidden="true"
|
|
||||||
class="q-icon text-h2 text-white material-icons">expand_more</i>
|
|
||||||
</div>
|
|
||||||
</q-carousel-slide>
|
|
||||||
<q-carousel-slide name="third"
|
|
||||||
:img-src="getsrcbyimg('images/background3.jpg')">
|
|
||||||
<div class="landing__header"></div>
|
|
||||||
<div class="landing__hero2-content row justify-center q-gutter-xs clgutter">
|
|
||||||
<div class="row">
|
|
||||||
<logo></logo>
|
|
||||||
</div>
|
|
||||||
<div class="flex justify-end">
|
|
||||||
<div class="q-gutter-xs testo-banda clgutter">
|
|
||||||
<div class="text-h1 shadow-max">{{tools.getappname()}}</div>
|
|
||||||
<div class="text-subtitle1 shadow text-italic q-pl-sm">
|
|
||||||
{{$t('msg.sottoTitoloApp')}}
|
|
||||||
</div>
|
|
||||||
<div class="text-subtitle1 shadow-max big text-italic q-pl-sm"><strong>{{$t('msg.sottoTitoloApp2')}}</strong>
|
|
||||||
</div>
|
|
||||||
<div class="text-subtitle2 shadow text-italic q-pl-sm">
|
|
||||||
{{$t('msg.sottoTitoloApp3')}}
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div class="text-subtitle3 shadow text-italic q-pl-sm ">
|
|
||||||
{{$t('msg.sottoTitoloApp4')}}
|
|
||||||
</div>
|
|
||||||
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div class="landing__arrow absolute-bottom text-center">
|
|
||||||
<!--<i aria-hidden="true"-->
|
|
||||||
<!--class="q-icon text-h2 text-white material-icons">expand_more</i>-->
|
|
||||||
</div>
|
|
||||||
</q-carousel-slide>
|
|
||||||
</q-carousel>
|
|
||||||
|
|
||||||
</div>
|
|
||||||
</section>
|
|
||||||
|
|
||||||
<div class="q-pa-md q-gutter-md">
|
|
||||||
<div v-if="isLogged && !isVerified" class="text-verified">{{
|
|
||||||
$t('components.authentication.email_verification.link_sent') }}
|
|
||||||
</div>
|
|
||||||
|
|
||||||
</div>
|
|
||||||
|
|
||||||
|
|
||||||
<CCardCarousel :myarr="getArrDisciplines()">
|
|
||||||
|
|
||||||
</CCardCarousel>
|
|
||||||
|
|
||||||
<CEventsCalendar :mysingleevent="null" :showfirstN="getValDb('SHOW_LAST_EVENTS', false, 3)">
|
|
||||||
|
|
||||||
</CEventsCalendar>
|
|
||||||
|
|
||||||
|
|
||||||
<div v-if="getValDb('VIDEO_HOME', false)" class="row justify-evenly items-center q-gutter-md ">
|
|
||||||
|
|
||||||
<div class="text-center">
|
|
||||||
<h4 class="subtitle text-blue" v-html="getValDb('VIDEO_TITLE', false)"></h4>
|
|
||||||
<div class="">
|
|
||||||
<video :width="tools.getwidthscale(mythis, 320, 800)"
|
|
||||||
:height="tools.getheightbywidth(mythis, 320, 180, 800)" controls>
|
|
||||||
<source :src="getValDb('VIDEO_HOME', false)" type="video/mp4">
|
|
||||||
</video>
|
|
||||||
</div>
|
|
||||||
<!--<q-video src="../../statics/video/Intervista_Cristina_Barattoni.mp4">-->
|
|
||||||
|
|
||||||
<!--</q-video>-->
|
|
||||||
</div>
|
|
||||||
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div v-if="getValDb('YT_VIDEO', false)" class="row justify-evenly items-center q-gutter-md ">
|
|
||||||
|
|
||||||
<div class="text-center">
|
|
||||||
<h4 class="subtitle text-blue" v-html="getValDb('YT_TITLE', false)"></h4>
|
|
||||||
<div class="">
|
|
||||||
|
|
||||||
<div class="">
|
|
||||||
<iframe
|
|
||||||
:width="tools.getwidthscale(mythis, getValDb('YT_W', false), 800)"
|
|
||||||
:height="tools.getheightbywidth(mythis, getValDb('YT_W', false), getValDb('YT_H', false), 800)"
|
|
||||||
:src="getValDb('YT_VIDEO', false)"
|
|
||||||
frameborder="0"
|
|
||||||
allowfullscreen
|
|
||||||
></iframe>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<!--<q-video src="../../statics/video/Intervista_Cristina_Barattoni.mp4">-->
|
|
||||||
|
|
||||||
<!--</q-video>-->
|
|
||||||
</div>
|
|
||||||
|
|
||||||
</div>
|
|
||||||
|
|
||||||
|
|
||||||
<section :class="`maxwidth padding_gallery `+ ($q.dark.isActive ? `bg-black` : `bg-white`) + ` text-grey-10 text-center`" >
|
|
||||||
|
|
||||||
<q-carousel
|
|
||||||
swipeable
|
|
||||||
animated
|
|
||||||
:autoplay="8000"
|
|
||||||
v-model="slide2"
|
|
||||||
arrows
|
|
||||||
thumbnails
|
|
||||||
infinite
|
|
||||||
height="600">
|
|
||||||
<q-carousel-slide v-for="(rec, index) in getImmagini" :key="index" :name="index"
|
|
||||||
:img-src="rec.img"
|
|
||||||
:alt="rec.alt"
|
|
||||||
class="carousel_slide">
|
|
||||||
<div class="absolute-bottom custom-caption" style="margin-bottom: 70px">
|
|
||||||
<div class="text-h5"><span
|
|
||||||
class="text-h6 text-grey-1 shadow-max">{{index + 1}}. </span><span
|
|
||||||
class="text-h6 text-grey-2 shadow">{{rec.title}}</span></div>
|
|
||||||
<div class="text-subtitle1"><span class="text-grey-4 shadow">{{rec.subtitle}}</span>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</q-carousel-slide>
|
|
||||||
</q-carousel>
|
|
||||||
</section>
|
|
||||||
<div v-if="!tools.isMobile()" style="margin: 60px 60px;"></div>
|
|
||||||
|
|
||||||
<COpenStreetMap :imgmap="getValDb('IMGMAP', false)" :urlmap="getValDb('URLMAP', false)" :title="getValDb('MAP_TITLE', false)"
|
|
||||||
:coordinates="getValDb('COORD_MAP_1', false)" :coord_big="getValDb('COORD_MAP_BIG', false)">
|
|
||||||
|
|
||||||
</COpenStreetMap>
|
|
||||||
|
|
||||||
|
|
||||||
<div class="q-ma-md"></div>
|
|
||||||
</div>
|
|
||||||
</CMyPage>
|
|
||||||
</q-page>
|
|
||||||
</template>
|
|
||||||
|
|
||||||
<script lang="ts" src="./home_arcadei.ts">
|
|
||||||
</script>
|
|
||||||
|
|
||||||
<style lang="scss" scoped>
|
|
||||||
@import './home_arcadei.scss';
|
|
||||||
</style>
|
|
||||||
@@ -435,6 +435,17 @@ function getRoutesAd(site: ISites) {
|
|||||||
inmenu: false,
|
inmenu: false,
|
||||||
infooter: false,
|
infooter: false,
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
active: true,
|
||||||
|
order: 145,
|
||||||
|
path: '/attivita/:username',
|
||||||
|
materialIcon: 'fas fa-user',
|
||||||
|
name: 'mypages.attivita',
|
||||||
|
component: () => import('@/views/user/myactivities/myactivities.vue'),
|
||||||
|
meta: { requiresAuth: true },
|
||||||
|
inmenu: false,
|
||||||
|
infooter: false,
|
||||||
|
},
|
||||||
|
|
||||||
{
|
{
|
||||||
active: true,
|
active: true,
|
||||||
|
|||||||
@@ -1205,6 +1205,7 @@ const msg_it = {
|
|||||||
date_updated: 'Ult. Aggiornamento',
|
date_updated: 'Ult. Aggiornamento',
|
||||||
},
|
},
|
||||||
mypages: {
|
mypages: {
|
||||||
|
attivita: 'Attività',
|
||||||
find_people: 'Cerca Persone',
|
find_people: 'Cerca Persone',
|
||||||
find_group: 'Cerca Gruppo',
|
find_group: 'Cerca Gruppo',
|
||||||
manage_my_groups: 'Amministratore',
|
manage_my_groups: 'Amministratore',
|
||||||
@@ -1537,6 +1538,8 @@ const msg_it = {
|
|||||||
allmov: 'Vedi i movimenti di Tutto il Circuito',
|
allmov: 'Vedi i movimenti di Tutto il Circuito',
|
||||||
showsaldi: 'Mostra i Saldi dei membri',
|
showsaldi: 'Mostra i Saldi dei membri',
|
||||||
updatewallet: 'Aggiorna',
|
updatewallet: 'Aggiorna',
|
||||||
|
from: 'Mittente:',
|
||||||
|
to: 'Destinatario:',
|
||||||
},
|
},
|
||||||
editor: {
|
editor: {
|
||||||
showtool: 'Mostra strumenti per formattare il testo',
|
showtool: 'Mostra strumenti per formattare il testo',
|
||||||
@@ -1648,9 +1651,10 @@ const msg_it = {
|
|||||||
},
|
},
|
||||||
|
|
||||||
statusreg: {
|
statusreg: {
|
||||||
reg: 'Partecipanti',
|
reg: 'Utenti Attivi',
|
||||||
verifieds: 'Verificati',
|
verifieds: 'Verificati',
|
||||||
online_today: 'On Line Oggi',
|
online_today: 'On Line Oggi',
|
||||||
|
activeusers: 'Utenti Attivi',
|
||||||
autorizzati: 'Autorizzati',
|
autorizzati: 'Autorizzati',
|
||||||
autorizzare: 'In attesa di Abilitazione',
|
autorizzare: 'In attesa di Abilitazione',
|
||||||
passeggeri: 'Passeggeri Navi',
|
passeggeri: 'Passeggeri Navi',
|
||||||
@@ -1669,6 +1673,11 @@ const msg_it = {
|
|||||||
req: 'Passi',
|
req: 'Passi',
|
||||||
people: 'Inv.',
|
people: 'Inv.',
|
||||||
peoplelegend: 'Numero d\'Invitati',
|
peoplelegend: 'Numero d\'Invitati',
|
||||||
|
numtransazioni: 'Scambi in RIS',
|
||||||
|
totristransati: 'RIS transati',
|
||||||
|
num_circuiti_attivi: 'Circuiti Attivi',
|
||||||
|
num_annunci: 'Annunci Attivi',
|
||||||
|
last_transactions: 'Ultime transazioni in RIS',
|
||||||
},
|
},
|
||||||
|
|
||||||
tutorial: {
|
tutorial: {
|
||||||
@@ -1855,7 +1864,11 @@ const msg_it = {
|
|||||||
err_removed: 'Errore durante la rimozione della casella di posta ',
|
err_removed: 'Errore durante la rimozione della casella di posta ',
|
||||||
err_addemail: 'Errore durante la creazione della nuova casella di posta',
|
err_addemail: 'Errore durante la creazione della nuova casella di posta',
|
||||||
err_setmailuserpwd: 'Errore durante la modifica della password',
|
err_setmailuserpwd: 'Errore durante la modifica della password',
|
||||||
}
|
},
|
||||||
|
|
||||||
|
header: {
|
||||||
|
area_personale: 'Area Personale',
|
||||||
|
},
|
||||||
|
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -29,11 +29,6 @@ export const costanti = {
|
|||||||
ENABLE_FRIENDS: false,
|
ENABLE_FRIENDS: false,
|
||||||
ENABLE_CONTI_COLLETTIVI: true,
|
ENABLE_CONTI_COLLETTIVI: true,
|
||||||
|
|
||||||
AccountType: {
|
|
||||||
USER: 0,
|
|
||||||
COLLECTIVE_ACCOUNT: 1,
|
|
||||||
COMMUNITY_ACCOUNT: 2,
|
|
||||||
},
|
|
||||||
|
|
||||||
Lang: {
|
Lang: {
|
||||||
IT: 1,
|
IT: 1,
|
||||||
@@ -115,6 +110,7 @@ export const costanti = {
|
|||||||
visuonstat: true,
|
visuonstat: true,
|
||||||
small: false,
|
small: false,
|
||||||
showfavorite: true,
|
showfavorite: true,
|
||||||
|
showinoptions: true,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
visible: true,
|
visible: true,
|
||||||
@@ -129,6 +125,7 @@ export const costanti = {
|
|||||||
visuonstat: true,
|
visuonstat: true,
|
||||||
small: false,
|
small: false,
|
||||||
showfavorite: true,
|
showfavorite: true,
|
||||||
|
showinoptions: true,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
visible: true,
|
visible: true,
|
||||||
@@ -145,6 +142,7 @@ export const costanti = {
|
|||||||
table: 'myhosps',
|
table: 'myhosps',
|
||||||
visuonstat: true,
|
visuonstat: true,
|
||||||
showfavorite: true,
|
showfavorite: true,
|
||||||
|
showinoptions: true,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
visible: false,
|
visible: false,
|
||||||
@@ -201,6 +199,7 @@ export const costanti = {
|
|||||||
visuonstat: true,
|
visuonstat: true,
|
||||||
small: false,
|
small: false,
|
||||||
showfavorite: true,
|
showfavorite: true,
|
||||||
|
showinoptions: true,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
visible: false,
|
visible: false,
|
||||||
@@ -276,6 +275,7 @@ export const costanti = {
|
|||||||
small: false,
|
small: false,
|
||||||
showfavorite: true,
|
showfavorite: true,
|
||||||
forgroup: true,
|
forgroup: true,
|
||||||
|
showinoptions: false,
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
|
|
||||||
@@ -430,6 +430,7 @@ export const costanti = {
|
|||||||
currency: 15000,
|
currency: 15000,
|
||||||
cards: 16000,
|
cards: 16000,
|
||||||
color: 17000,
|
color: 17000,
|
||||||
|
arrmenu: 18000,
|
||||||
|
|
||||||
},
|
},
|
||||||
|
|
||||||
|
|||||||
@@ -69,7 +69,7 @@ function AddCol(params: IColGridTable) {
|
|||||||
allowNewValue: (params.allowNewValue === undefined) ? false : params.allowNewValue,
|
allowNewValue: (params.allowNewValue === undefined) ? false : params.allowNewValue,
|
||||||
showpicprofile_ifnotset: (params.showpicprofile_ifnotset === undefined) ? false : params.showpicprofile_ifnotset,
|
showpicprofile_ifnotset: (params.showpicprofile_ifnotset === undefined) ? false : params.showpicprofile_ifnotset,
|
||||||
extrafield: (params.extrafield === undefined) ? '' : params.extrafield,
|
extrafield: (params.extrafield === undefined) ? '' : params.extrafield,
|
||||||
tipoconto: (params.tipoconto === undefined) ? costanti.AccountType.USER : params.tipoconto,
|
tipoconto: (params.tipoconto === undefined) ? shared_consts.AccountType.USER : params.tipoconto,
|
||||||
visible: (params.visible === undefined) ? true : params.visible,
|
visible: (params.visible === undefined) ? true : params.visible,
|
||||||
icon: (params.icon === undefined) ? '' : params.icon,
|
icon: (params.icon === undefined) ? '' : params.icon,
|
||||||
action: (params.action === undefined) ? '' : params.action,
|
action: (params.action === undefined) ? '' : params.action,
|
||||||
@@ -144,6 +144,7 @@ export const colmylistcards = [
|
|||||||
AddCol({ name: 'color', label_trans: 'color' }),
|
AddCol({ name: 'color', label_trans: 'color' }),
|
||||||
AddCol({ name: 'content', label_trans: 'content' }),
|
AddCol({ name: 'content', label_trans: 'content' }),
|
||||||
AddCol({ name: 'colorsub', label_trans: 'colorsub' }),
|
AddCol({ name: 'colorsub', label_trans: 'colorsub' }),
|
||||||
|
AddCol({ name: 'link', label_trans: 'link' }),
|
||||||
]
|
]
|
||||||
|
|
||||||
export const colmyelems = [
|
export const colmyelems = [
|
||||||
@@ -220,9 +221,15 @@ export const colmypage = [
|
|||||||
AddCol({ name: 'order', label_trans: 'pages.order', fieldtype: costanti.FieldType.number }),
|
AddCol({ name: 'order', label_trans: 'pages.order', fieldtype: costanti.FieldType.number }),
|
||||||
AddCol({ name: 'active', label_trans: 'pages.active', fieldtype: costanti.FieldType.boolean }),
|
AddCol({ name: 'active', label_trans: 'pages.active', fieldtype: costanti.FieldType.boolean }),
|
||||||
AddCol({ name: 'inmenu', label_trans: 'pages.inmenu', fieldtype: costanti.FieldType.boolean }),
|
AddCol({ name: 'inmenu', label_trans: 'pages.inmenu', fieldtype: costanti.FieldType.boolean }),
|
||||||
AddCol({ name: 'infooter', label_trans: 'pages.infooter', fieldtype: costanti.FieldType.boolean }),
|
|
||||||
AddCol({ name: 'title', label_trans: 'pages.title' }),
|
AddCol({ name: 'title', label_trans: 'pages.title' }),
|
||||||
AddCol({ name: 'subtitle', label_trans: 'pages.subtitle' }),
|
AddCol({ name: 'subtitle', label_trans: 'pages.subtitle' }),
|
||||||
|
AddCol({ name: 'mainMenu', label_trans: 'pages.mainMenu', fieldtype: costanti.FieldType.boolean }),
|
||||||
|
AddCol({
|
||||||
|
name: 'sottoMenu', label_trans: 'pages.sottoMenu',
|
||||||
|
fieldtype: costanti.FieldType.multiselect,
|
||||||
|
jointable: 'mypages',
|
||||||
|
}),
|
||||||
|
AddCol({ name: 'infooter', label_trans: 'pages.infooter', fieldtype: costanti.FieldType.boolean }),
|
||||||
AddCol({ name: 'img1', label_trans: 'pages.img1' }),
|
AddCol({ name: 'img1', label_trans: 'pages.img1' }),
|
||||||
AddCol({ name: 'content', label_trans: 'pages.contentfield', fieldtype: costanti.FieldType.html }),
|
AddCol({ name: 'content', label_trans: 'pages.contentfield', fieldtype: costanti.FieldType.html }),
|
||||||
AddCol({ name: 'video1', label_trans: 'pages.video1' }),
|
AddCol({ name: 'video1', label_trans: 'pages.video1' }),
|
||||||
@@ -732,7 +739,7 @@ export const colmyMovement = [
|
|||||||
link: '/my/userfrom.username',
|
link: '/my/userfrom.username',
|
||||||
noshowlabel: true,
|
noshowlabel: true,
|
||||||
extrafield: 'movement.from',
|
extrafield: 'movement.from',
|
||||||
tipoconto: costanti.AccountType.USER,
|
tipoconto: shared_consts.AccountType.USER,
|
||||||
}),
|
}),
|
||||||
AddCol({
|
AddCol({
|
||||||
name: 'groupfrom.groupname',
|
name: 'groupfrom.groupname',
|
||||||
@@ -745,7 +752,7 @@ export const colmyMovement = [
|
|||||||
link: '/grp/groupfrom.groupname',
|
link: '/grp/groupfrom.groupname',
|
||||||
noshowlabel: true,
|
noshowlabel: true,
|
||||||
extrafield: 'movement.fromCColl',
|
extrafield: 'movement.fromCColl',
|
||||||
tipoconto: costanti.AccountType.COLLECTIVE_ACCOUNT,
|
tipoconto: shared_consts.AccountType.COLLECTIVE_ACCOUNT,
|
||||||
}),
|
}),
|
||||||
AddCol({
|
AddCol({
|
||||||
name: 'contocomfrom.path',
|
name: 'contocomfrom.path',
|
||||||
@@ -758,7 +765,7 @@ export const colmyMovement = [
|
|||||||
link: '/circuit/contocomfrom.path',
|
link: '/circuit/contocomfrom.path',
|
||||||
noshowlabel: true,
|
noshowlabel: true,
|
||||||
extrafield: 'movement.fromCCom',
|
extrafield: 'movement.fromCCom',
|
||||||
tipoconto: costanti.AccountType.COMMUNITY_ACCOUNT,
|
tipoconto: shared_consts.AccountType.COMMUNITY_ACCOUNT,
|
||||||
}),
|
}),
|
||||||
AddCol({
|
AddCol({
|
||||||
name: 'userto.username',
|
name: 'userto.username',
|
||||||
@@ -771,7 +778,7 @@ export const colmyMovement = [
|
|||||||
link: '/my/userto.username',
|
link: '/my/userto.username',
|
||||||
extrafield: 'movement.to',
|
extrafield: 'movement.to',
|
||||||
noshowlabel: true,
|
noshowlabel: true,
|
||||||
tipoconto: costanti.AccountType.USER,
|
tipoconto: shared_consts.AccountType.USER,
|
||||||
}),
|
}),
|
||||||
|
|
||||||
AddCol({
|
AddCol({
|
||||||
@@ -785,7 +792,7 @@ export const colmyMovement = [
|
|||||||
link: '/grp/groupto.groupname',
|
link: '/grp/groupto.groupname',
|
||||||
extrafield: 'movement.toCColl',
|
extrafield: 'movement.toCColl',
|
||||||
noshowlabel: true,
|
noshowlabel: true,
|
||||||
tipoconto: costanti.AccountType.COLLECTIVE_ACCOUNT,
|
tipoconto: shared_consts.AccountType.COLLECTIVE_ACCOUNT,
|
||||||
}),
|
}),
|
||||||
AddCol({
|
AddCol({
|
||||||
name: 'contocomfto.path',
|
name: 'contocomfto.path',
|
||||||
@@ -798,7 +805,7 @@ export const colmyMovement = [
|
|||||||
link: '/circuit/contocomto.path',
|
link: '/circuit/contocomto.path',
|
||||||
noshowlabel: true,
|
noshowlabel: true,
|
||||||
extrafield: 'movement.toCCom',
|
extrafield: 'movement.toCCom',
|
||||||
tipoconto: costanti.AccountType.COMMUNITY_ACCOUNT,
|
tipoconto: shared_consts.AccountType.COMMUNITY_ACCOUNT,
|
||||||
}),
|
}),
|
||||||
|
|
||||||
AddCol({
|
AddCol({
|
||||||
@@ -820,7 +827,7 @@ export const colmyMovementTable = [
|
|||||||
tipovisu: costanti.TipoVisu.LINK,
|
tipovisu: costanti.TipoVisu.LINK,
|
||||||
fieldtype: costanti.FieldType.username_chip,
|
fieldtype: costanti.FieldType.username_chip,
|
||||||
link: '/my/userfrom.username',
|
link: '/my/userfrom.username',
|
||||||
tipoconto: costanti.AccountType.USER,
|
tipoconto: shared_consts.AccountType.USER,
|
||||||
required: true,
|
required: true,
|
||||||
}),
|
}),
|
||||||
AddCol({
|
AddCol({
|
||||||
@@ -832,7 +839,7 @@ export const colmyMovementTable = [
|
|||||||
tipovisu: costanti.TipoVisu.LINK,
|
tipovisu: costanti.TipoVisu.LINK,
|
||||||
fieldtype: costanti.FieldType.username_chip,
|
fieldtype: costanti.FieldType.username_chip,
|
||||||
link: '/grp/groupfrom.groupname',
|
link: '/grp/groupfrom.groupname',
|
||||||
tipoconto: costanti.AccountType.COLLECTIVE_ACCOUNT,
|
tipoconto: shared_consts.AccountType.COLLECTIVE_ACCOUNT,
|
||||||
required: true,
|
required: true,
|
||||||
}),
|
}),
|
||||||
AddCol({
|
AddCol({
|
||||||
@@ -844,7 +851,7 @@ export const colmyMovementTable = [
|
|||||||
tipovisu: costanti.TipoVisu.LINK,
|
tipovisu: costanti.TipoVisu.LINK,
|
||||||
fieldtype: costanti.FieldType.username_chip,
|
fieldtype: costanti.FieldType.username_chip,
|
||||||
link: '/circuit/contocomfrom.path',
|
link: '/circuit/contocomfrom.path',
|
||||||
tipoconto: costanti.AccountType.COMMUNITY_ACCOUNT,
|
tipoconto: shared_consts.AccountType.COMMUNITY_ACCOUNT,
|
||||||
required: true,
|
required: true,
|
||||||
}),
|
}),
|
||||||
AddCol({
|
AddCol({
|
||||||
@@ -856,7 +863,7 @@ export const colmyMovementTable = [
|
|||||||
tipovisu: costanti.TipoVisu.LINK,
|
tipovisu: costanti.TipoVisu.LINK,
|
||||||
fieldtype: costanti.FieldType.username_chip,
|
fieldtype: costanti.FieldType.username_chip,
|
||||||
link: '/my/userto.username',
|
link: '/my/userto.username',
|
||||||
tipoconto: costanti.AccountType.USER,
|
tipoconto: shared_consts.AccountType.USER,
|
||||||
required: true,
|
required: true,
|
||||||
}),
|
}),
|
||||||
|
|
||||||
@@ -869,7 +876,7 @@ export const colmyMovementTable = [
|
|||||||
tipovisu: costanti.TipoVisu.LINK,
|
tipovisu: costanti.TipoVisu.LINK,
|
||||||
fieldtype: costanti.FieldType.username_chip,
|
fieldtype: costanti.FieldType.username_chip,
|
||||||
link: '/grp/groupto.groupname',
|
link: '/grp/groupto.groupname',
|
||||||
tipoconto: costanti.AccountType.COLLECTIVE_ACCOUNT,
|
tipoconto: shared_consts.AccountType.COLLECTIVE_ACCOUNT,
|
||||||
required: true,
|
required: true,
|
||||||
}),
|
}),
|
||||||
AddCol({
|
AddCol({
|
||||||
@@ -881,7 +888,7 @@ export const colmyMovementTable = [
|
|||||||
tipovisu: costanti.TipoVisu.LINK,
|
tipovisu: costanti.TipoVisu.LINK,
|
||||||
fieldtype: costanti.FieldType.username_chip,
|
fieldtype: costanti.FieldType.username_chip,
|
||||||
link: '/circuit/contocomto.path',
|
link: '/circuit/contocomto.path',
|
||||||
tipoconto: costanti.AccountType.COMMUNITY_ACCOUNT,
|
tipoconto: shared_consts.AccountType.COMMUNITY_ACCOUNT,
|
||||||
required: true,
|
required: true,
|
||||||
}),
|
}),
|
||||||
|
|
||||||
@@ -2658,8 +2665,8 @@ export const fields = {
|
|||||||
name: 'type', label_trans: 'col.type', fieldtype: costanti.FieldType.select, jointable: 'fieldstype',
|
name: 'type', label_trans: 'col.type', fieldtype: costanti.FieldType.select, jointable: 'fieldstype',
|
||||||
}),
|
}),
|
||||||
AddCol({ name: 'value_str', label_trans: 'col.value', fieldtype: costanti.FieldType.string }),
|
AddCol({ name: 'value_str', label_trans: 'col.value', fieldtype: costanti.FieldType.string }),
|
||||||
AddCol({ name: 'value_date', label_trans: 'cal.data', fieldtype: costanti.FieldType.date }),
|
|
||||||
AddCol({ name: 'value_num', label_trans: 'cal.num', fieldtype: costanti.FieldType.number }),
|
AddCol({ name: 'value_num', label_trans: 'cal.num', fieldtype: costanti.FieldType.number }),
|
||||||
|
AddCol({ name: 'value_date', label_trans: 'cal.data', fieldtype: costanti.FieldType.date }),
|
||||||
AddCol({ name: 'value_bool', label_trans: 'cal.bool', fieldtype: costanti.FieldType.boolean }),
|
AddCol({ name: 'value_bool', label_trans: 'cal.bool', fieldtype: costanti.FieldType.boolean }),
|
||||||
AddCol({ name: 'serv', label_trans: 'cal.serv', fieldtype: costanti.FieldType.boolean }),
|
AddCol({ name: 'serv', label_trans: 'cal.serv', fieldtype: costanti.FieldType.boolean }),
|
||||||
AddCol({ name: 'crypted', label_trans: 'cal.crypted', fieldtype: costanti.FieldType.boolean }),
|
AddCol({ name: 'crypted', label_trans: 'cal.crypted', fieldtype: costanti.FieldType.boolean }),
|
||||||
@@ -3682,7 +3689,7 @@ export const colmyUserCircuit = [
|
|||||||
fieldtype: costanti.FieldType.username_chip,
|
fieldtype: costanti.FieldType.username_chip,
|
||||||
link: '/circuit/contocom',
|
link: '/circuit/contocom',
|
||||||
noshowlabel: true,
|
noshowlabel: true,
|
||||||
tipoconto: costanti.AccountType.COMMUNITY_ACCOUNT,
|
tipoconto: shared_consts.AccountType.COMMUNITY_ACCOUNT,
|
||||||
}),
|
}),
|
||||||
|
|
||||||
AddCol({
|
AddCol({
|
||||||
@@ -3693,7 +3700,7 @@ export const colmyUserCircuit = [
|
|||||||
fieldtype: costanti.FieldType.username_chip,
|
fieldtype: costanti.FieldType.username_chip,
|
||||||
link: '/circuit/groupname',
|
link: '/circuit/groupname',
|
||||||
noshowlabel: true,
|
noshowlabel: true,
|
||||||
tipoconto: costanti.AccountType.COLLECTIVE_ACCOUNT,
|
tipoconto: shared_consts.AccountType.COLLECTIVE_ACCOUNT,
|
||||||
}),
|
}),
|
||||||
|
|
||||||
AddCol({ name: 'deperibile', label_trans: 'account.deperibile', fieldtype: costanti.FieldType.boolean }),
|
AddCol({ name: 'deperibile', label_trans: 'account.deperibile', fieldtype: costanti.FieldType.boolean }),
|
||||||
@@ -3726,7 +3733,7 @@ export const colTableNotifCoins = [
|
|||||||
fieldtype: costanti.FieldType.username_chip,
|
fieldtype: costanti.FieldType.username_chip,
|
||||||
link: '/my/extrarec.dest',
|
link: '/my/extrarec.dest',
|
||||||
noshowlabel: true,
|
noshowlabel: true,
|
||||||
tipoconto: costanti.AccountType.USER,
|
tipoconto: shared_consts.AccountType.USER,
|
||||||
}),
|
}),
|
||||||
|
|
||||||
AddCol({
|
AddCol({
|
||||||
@@ -3739,7 +3746,7 @@ export const colTableNotifCoins = [
|
|||||||
fieldtype: costanti.FieldType.username_chip,
|
fieldtype: costanti.FieldType.username_chip,
|
||||||
link: '/grp/extrarec.groupdest',
|
link: '/grp/extrarec.groupdest',
|
||||||
noshowlabel: true,
|
noshowlabel: true,
|
||||||
tipoconto: costanti.AccountType.COLLECTIVE_ACCOUNT,
|
tipoconto: shared_consts.AccountType.COLLECTIVE_ACCOUNT,
|
||||||
}),
|
}),
|
||||||
AddCol({
|
AddCol({
|
||||||
name: 'extrarec.contoComDest',
|
name: 'extrarec.contoComDest',
|
||||||
@@ -3751,7 +3758,7 @@ export const colTableNotifCoins = [
|
|||||||
fieldtype: costanti.FieldType.username_chip,
|
fieldtype: costanti.FieldType.username_chip,
|
||||||
link: '/circuit/extrarec.contoComDest',
|
link: '/circuit/extrarec.contoComDest',
|
||||||
noshowlabel: true,
|
noshowlabel: true,
|
||||||
tipoconto: costanti.AccountType.COMMUNITY_ACCOUNT,
|
tipoconto: shared_consts.AccountType.COMMUNITY_ACCOUNT,
|
||||||
}),
|
}),
|
||||||
AddCol({ name: 'extrarec.qty', field: 'extrarec', subfield: 'qty', label_trans: 'movement.amount', fieldtype: costanti.FieldType.currency }),
|
AddCol({ name: 'extrarec.qty', field: 'extrarec', subfield: 'qty', label_trans: 'movement.amount', fieldtype: costanti.FieldType.currency }),
|
||||||
AddCol({ name: 'extrarec.causal', field: 'extrarec', subfield: 'causal', label_trans: 'movement.causal', tipovisu: costanti.TipoVisu.TESTO_BORDATO }),
|
AddCol({ name: 'extrarec.causal', field: 'extrarec', subfield: 'causal', label_trans: 'movement.causal', tipovisu: costanti.TipoVisu.TESTO_BORDATO }),
|
||||||
@@ -3936,6 +3943,13 @@ export const fieldsTable = {
|
|||||||
colkey: 'path',
|
colkey: 'path',
|
||||||
collabel: 'title',
|
collabel: 'title',
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
value: 'mypages',
|
||||||
|
label: 'Pagine Web',
|
||||||
|
columns: colmypage,
|
||||||
|
colkey: 'path',
|
||||||
|
collabel: 'title',
|
||||||
|
},
|
||||||
{
|
{
|
||||||
value: 'products',
|
value: 'products',
|
||||||
label: 'Prodotti',
|
label: 'Prodotti',
|
||||||
|
|||||||
@@ -14,6 +14,7 @@ import {
|
|||||||
IUserFields,
|
IUserFields,
|
||||||
Privacy,
|
Privacy,
|
||||||
TipoVisu, IGroup, IMySkill, IMyBacheca, IImgGallery, IMsgGlobParam, IUserExport, ISpecialField, IAccount, IMyCircuit, ISendCoin, IMovement, IMovVisu, INotif, IMyElem, IMyCard, ILabelValue, ILabelValueStr, IAnim, ILang, IGroupShort, IPagination, IFavorite, IBookmark,
|
TipoVisu, IGroup, IMySkill, IMyBacheca, IImgGallery, IMsgGlobParam, IUserExport, ISpecialField, IAccount, IMyCircuit, ISendCoin, IMovement, IMovVisu, INotif, IMyElem, IMyCard, ILabelValue, ILabelValueStr, IAnim, ILang, IGroupShort, IPagination, IFavorite, IBookmark,
|
||||||
|
IMovQuery,
|
||||||
} from '@model'
|
} from '@model'
|
||||||
|
|
||||||
import MixinBase from '@/mixins/mixin-base'
|
import MixinBase from '@/mixins/mixin-base'
|
||||||
@@ -489,7 +490,7 @@ export const tools = {
|
|||||||
{ label: 'sienna', value: '#a0522d' },
|
{ label: 'sienna', value: '#a0522d' },
|
||||||
{ label: 'silver', value: '#c0c0c0' },
|
{ label: 'silver', value: '#c0c0c0' },
|
||||||
{ label: 'skyblue', value: '#87ceeb' },
|
{ label: 'skyblue', value: '#87ceeb' },
|
||||||
{ label: 'slateblue', value: '#6a5acd' },
|
{ label: 'slateblue', value: '#6a5acdd' },
|
||||||
{ label: 'slategray', value: '#708090' },
|
{ label: 'slategray', value: '#708090' },
|
||||||
{ label: 'snow', value: '#fffafa' },
|
{ label: 'snow', value: '#fffafa' },
|
||||||
{ label: 'springgreen', value: '#00ff7f' },
|
{ label: 'springgreen', value: '#00ff7f' },
|
||||||
@@ -7352,8 +7353,8 @@ export const tools = {
|
|||||||
return this.getPathByTableAndRec(table, rec)
|
return this.getPathByTableAndRec(table, rec)
|
||||||
},
|
},
|
||||||
|
|
||||||
getPathByGroup(grp: any, table: string) {
|
getPathByGroup(grp: any) {
|
||||||
return '/' + shared_consts.getDirectoryByTable(table) + '/' + grp.groupname
|
return '/' + shared_consts.getDirectoryByTable(shared_consts.TABLES_MYGROUPS) + '/' + grp.groupname
|
||||||
},
|
},
|
||||||
|
|
||||||
getPathByCircuit(circuit: any, table: string) {
|
getPathByCircuit(circuit: any, table: string) {
|
||||||
@@ -7369,7 +7370,7 @@ export const tools = {
|
|||||||
if (shared_consts.TABLES_REC_ID.includes(table)) {
|
if (shared_consts.TABLES_REC_ID.includes(table)) {
|
||||||
return '/' + shared_consts.getDirectoryByTable(table) + '/' + rec['_id']
|
return '/' + shared_consts.getDirectoryByTable(table) + '/' + rec['_id']
|
||||||
} else if (table === toolsext.TABMYGROUPS) {
|
} else if (table === toolsext.TABMYGROUPS) {
|
||||||
return this.getPathByGroup(rec, table)
|
return this.getPathByGroup(rec)
|
||||||
} else if (table === toolsext.TABCIRCUITS) {
|
} else if (table === toolsext.TABCIRCUITS) {
|
||||||
return this.getPathByCircuit(rec, table)
|
return this.getPathByCircuit(rec, table)
|
||||||
}
|
}
|
||||||
@@ -8009,7 +8010,7 @@ export const tools = {
|
|||||||
let obj = { label: '', value: '', icon: '' }
|
let obj = { label: '', value: '', icon: '' }
|
||||||
for (let i = 0; i < costanti.MAINCARDS.length; i++) {
|
for (let i = 0; i < costanti.MAINCARDS.length; i++) {
|
||||||
let rec: any = costanti.MAINCARDS[i]
|
let rec: any = costanti.MAINCARDS[i]
|
||||||
if (rec.table) {
|
if (rec.table && rec.showinoptions) {
|
||||||
obj.label = rec.title
|
obj.label = rec.title
|
||||||
obj.value = rec.table
|
obj.value = rec.table
|
||||||
obj.icon = rec.icon
|
obj.icon = rec.icon
|
||||||
@@ -8561,10 +8562,26 @@ export const tools = {
|
|||||||
|
|
||||||
openUrl(url: string) {
|
openUrl(url: string) {
|
||||||
|
|
||||||
|
url = url.replace('{link_chat_territoriale}', this.getLinkChatTerritoriale())
|
||||||
|
|
||||||
window.open(url, '_blank');
|
window.open(url, '_blank');
|
||||||
|
|
||||||
},
|
},
|
||||||
|
|
||||||
|
getText(mystr: string) {
|
||||||
|
|
||||||
|
mystr = mystr.replace('{miaprovincia}', this.getProvincia())
|
||||||
|
|
||||||
|
if (mystr.includes('{titolo_prov_riso}')) {
|
||||||
|
let titleprovincia = translate('dashboard.link_gruppo_telegram')
|
||||||
|
titleprovincia = titleprovincia.replace('{prov}', this.getProvincia())
|
||||||
|
|
||||||
|
mystr = mystr.replace('{titolo_prov_riso}', titleprovincia)
|
||||||
|
}
|
||||||
|
|
||||||
|
return mystr
|
||||||
|
},
|
||||||
|
|
||||||
getCircuitYourProvince() {
|
getCircuitYourProvince() {
|
||||||
|
|
||||||
const circuitStore = useCircuitStore()
|
const circuitStore = useCircuitStore()
|
||||||
@@ -8737,6 +8754,15 @@ export const tools = {
|
|||||||
return shared_consts.VERSIONI_PRODOTTO.find((rec: any) => rec.value === versione)
|
return shared_consts.VERSIONI_PRODOTTO.find((rec: any) => rec.value === versione)
|
||||||
},
|
},
|
||||||
|
|
||||||
|
numtostr(value: number): string {
|
||||||
|
try {
|
||||||
|
value = Math.round(value)
|
||||||
|
return value.toLocaleString('it-IT')
|
||||||
|
} catch (e) {
|
||||||
|
return ''
|
||||||
|
}
|
||||||
|
},
|
||||||
|
|
||||||
convertToDecimal6(stringValue: string) {
|
convertToDecimal6(stringValue: string) {
|
||||||
// Converti la stringa in un numero
|
// Converti la stringa in un numero
|
||||||
try {
|
try {
|
||||||
@@ -8876,6 +8902,63 @@ export const tools = {
|
|||||||
|
|
||||||
},
|
},
|
||||||
|
|
||||||
|
updateEditOn(value: boolean) {
|
||||||
|
const globalStore = useGlobalStore()
|
||||||
|
|
||||||
|
globalStore.editOn = value
|
||||||
|
|
||||||
|
if (this.getCookie('edn') === '1' && !value) {
|
||||||
|
this.setCookie('edn', '0')
|
||||||
|
}
|
||||||
|
if (this.getCookie('edn') !== '1' && value) {
|
||||||
|
this.setCookie('edn', '1')
|
||||||
|
}
|
||||||
|
},
|
||||||
|
|
||||||
|
replaceStringCaseInsensitive(originalString: string, searchString: string, replaceString: string) {
|
||||||
|
// Crea una regex con il flag 'i' per la ricerca case-insensitive
|
||||||
|
const regex = new RegExp(searchString, 'gi'); // 'g' per global, 'i' per case-insensitive
|
||||||
|
return originalString.replace(regex, replaceString);
|
||||||
|
},
|
||||||
|
|
||||||
|
getStringaConto(mov: IMovQuery) {
|
||||||
|
|
||||||
|
let mystr = ''
|
||||||
|
let mystrfrom = ''
|
||||||
|
let mystrto = ''
|
||||||
|
|
||||||
|
let tipocontofrom = shared_consts.AccountType.USER
|
||||||
|
let tipocontoto = shared_consts.AccountType.USER
|
||||||
|
|
||||||
|
if (mov.contocomfrom && mov.contocomfrom.name) {
|
||||||
|
mystrfrom += mov.contocomfrom.name + ' '
|
||||||
|
tipocontofrom = shared_consts.AccountType.COMMUNITY_ACCOUNT
|
||||||
|
}
|
||||||
|
if (mov.groupfrom) {
|
||||||
|
mystrfrom += mov.groupfrom.groupname + ' '
|
||||||
|
tipocontofrom = shared_consts.AccountType.COLLECTIVE_ACCOUNT
|
||||||
|
}
|
||||||
|
if (mov.userfrom) {
|
||||||
|
mystrfrom += mov.userfrom.username + ' '
|
||||||
|
}
|
||||||
|
|
||||||
|
if (mov.contocomto && mov.contocomto.name) {
|
||||||
|
mystrto += mov.contocomto.name + ' '
|
||||||
|
tipocontoto = shared_consts.AccountType.COMMUNITY_ACCOUNT
|
||||||
|
}
|
||||||
|
if (mov.groupto) {
|
||||||
|
mystrto += mov.groupto.groupname + ' '
|
||||||
|
tipocontoto = shared_consts.AccountType.COLLECTIVE_ACCOUNT
|
||||||
|
}
|
||||||
|
if (mov.userto) {
|
||||||
|
mystrto += mov.userto.username + ' '
|
||||||
|
}
|
||||||
|
|
||||||
|
mystr = t('movement.from') + mystrfrom + ' ' + t('movement.to') + mystrto
|
||||||
|
|
||||||
|
return { str: mystr.trim(), tipocontofrom, tipocontoto }
|
||||||
|
},
|
||||||
|
|
||||||
// FINE !
|
// FINE !
|
||||||
|
|
||||||
// getLocale() {
|
// getLocale() {
|
||||||
|
|||||||
@@ -8,7 +8,7 @@ import { Router } from 'vue-router'
|
|||||||
import { ISpecialField } from 'model'
|
import { ISpecialField } from 'model'
|
||||||
|
|
||||||
export const func_tools = {
|
export const func_tools = {
|
||||||
getLocale(vero ?: boolean): string {
|
getLocale(vero?: boolean): string {
|
||||||
const userStore = useUserStore()
|
const userStore = useUserStore()
|
||||||
if (userStore) {
|
if (userStore) {
|
||||||
return userStore.lang
|
return userStore.lang
|
||||||
@@ -85,7 +85,7 @@ export const toolsext = {
|
|||||||
TABGALLERY: 'gallery',
|
TABGALLERY: 'gallery',
|
||||||
TABMAILINGLIST: 'mailinglist',
|
TABMAILINGLIST: 'mailinglist',
|
||||||
TABGROUPS: 'groups',
|
TABGROUPS: 'groups',
|
||||||
TABMYPAGE: 'mypage',
|
TABMYPAGE: 'mypages',
|
||||||
TABMYELEMS: 'myelems',
|
TABMYELEMS: 'myelems',
|
||||||
TABMYBOT: 'bots',
|
TABMYBOT: 'bots',
|
||||||
TABCALZOOM: 'calzoom',
|
TABCALZOOM: 'calzoom',
|
||||||
@@ -201,21 +201,21 @@ export const toolsext = {
|
|||||||
return userStore.my[keystr]
|
return userStore.my[keystr]
|
||||||
}
|
}
|
||||||
} else if (table === 'todos') {
|
} else if (table === 'todos') {
|
||||||
// console.log('id', id, 'idmain', idmain)
|
// console.log('id', id, 'idmain', idmain)
|
||||||
const indcat = todos.categories.indexOf(idmain)
|
const indcat = todos.categories.indexOf(idmain)
|
||||||
console.log('indcat', indcat)
|
console.log('indcat', indcat)
|
||||||
if (indcat >= 0) {
|
if (indcat >= 0) {
|
||||||
const myrec = todos.todos[indcat].find((rec: any) => rec._id === id)
|
const myrec = todos.todos[indcat].find((rec: any) => rec._id === id)
|
||||||
// console.log('myrec', myrec)
|
// console.log('myrec', myrec)
|
||||||
let ris = null
|
let ris = null
|
||||||
if (myrec) {
|
if (myrec) {
|
||||||
ris = myrec[keystr]
|
ris = myrec[keystr]
|
||||||
}
|
|
||||||
console.log('ris', ris)
|
|
||||||
return ris
|
|
||||||
}
|
}
|
||||||
|
console.log('ris', ris)
|
||||||
|
return ris
|
||||||
|
}
|
||||||
|
|
||||||
return ''
|
return ''
|
||||||
|
|
||||||
} else {
|
} else {
|
||||||
const ris = globalStore.getValueSettingsByKey(keystr, serv)
|
const ris = globalStore.getValueSettingsByKey(keystr, serv)
|
||||||
|
|||||||
@@ -16,6 +16,7 @@ import {
|
|||||||
ISignupIscrizioneConacreisOptions,
|
ISignupIscrizioneConacreisOptions,
|
||||||
ISignupIscrizioneArcadeiOptions,
|
ISignupIscrizioneArcadeiOptions,
|
||||||
ISettings,
|
ISettings,
|
||||||
|
IMovQuery,
|
||||||
} from '@src/model'
|
} from '@src/model'
|
||||||
import { tools } from '@store/Modules/tools'
|
import { tools } from '@store/Modules/tools'
|
||||||
import translate from '@src/globalroutines/util'
|
import translate from '@src/globalroutines/util'
|
||||||
@@ -415,16 +416,16 @@ export const useUserStore = defineStore('UserStore', {
|
|||||||
if (row.hasOwnProperty(col.name)) {
|
if (row.hasOwnProperty(col.name)) {
|
||||||
value = row[col.name]
|
value = row[col.name]
|
||||||
}
|
}
|
||||||
let tipoconto = costanti.AccountType.USER
|
let tipoconto = shared_consts.AccountType.USER
|
||||||
if (col.hasOwnProperty('tipoconto') && col.tipoconto) {
|
if (col.hasOwnProperty('tipoconto') && col.tipoconto) {
|
||||||
tipoconto = col.tipoconto
|
tipoconto = col.tipoconto
|
||||||
}
|
}
|
||||||
let img = ''
|
let img = ''
|
||||||
if (tipoconto === costanti.AccountType.USER) {
|
if (tipoconto === shared_consts.AccountType.USER) {
|
||||||
img = this.getImgByUsername(value)
|
img = this.getImgByUsername(value)
|
||||||
} else if (tipoconto === costanti.AccountType.COLLECTIVE_ACCOUNT) {
|
} else if (tipoconto === shared_consts.AccountType.COLLECTIVE_ACCOUNT) {
|
||||||
img = this.getImgByGroupname(value)
|
img = this.getImgByGroupname(value)
|
||||||
} else if (tipoconto === costanti.AccountType.COMMUNITY_ACCOUNT) {
|
} else if (tipoconto === shared_consts.AccountType.COMMUNITY_ACCOUNT) {
|
||||||
img = this.getImgByCircuitpath(value)
|
img = this.getImgByCircuitpath(value)
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -445,14 +446,14 @@ export const useUserStore = defineStore('UserStore', {
|
|||||||
if (!reale)
|
if (!reale)
|
||||||
img = 'images/noimg-user.svg'
|
img = 'images/noimg-user.svg'
|
||||||
|
|
||||||
let tipoconto = costanti.AccountType.USER
|
let tipoconto = shared_consts.AccountType.USER
|
||||||
if (col && col.hasOwnProperty('tipoconto') && col.tipoconto) {
|
if (col && col.hasOwnProperty('tipoconto') && col.tipoconto) {
|
||||||
tipoconto = col.tipoconto
|
tipoconto = col.tipoconto
|
||||||
}
|
}
|
||||||
|
|
||||||
if (tipoconto === costanti.AccountType.COLLECTIVE_ACCOUNT) {
|
if (tipoconto === shared_consts.AccountType.COLLECTIVE_ACCOUNT) {
|
||||||
img = this.getImgByGroupname(myrec.groupname)
|
img = this.getImgByGroupname(myrec.groupname)
|
||||||
} else if (tipoconto === costanti.AccountType.COMMUNITY_ACCOUNT) {
|
} else if (tipoconto === shared_consts.AccountType.COMMUNITY_ACCOUNT) {
|
||||||
img = this.getImgByCircuitpath(myrec.path)
|
img = this.getImgByCircuitpath(myrec.path)
|
||||||
} else {
|
} else {
|
||||||
if (myrec.profile && myrec.profile.img) {
|
if (myrec.profile && myrec.profile.img) {
|
||||||
@@ -470,6 +471,35 @@ export const useUserStore = defineStore('UserStore', {
|
|||||||
return ''
|
return ''
|
||||||
},
|
},
|
||||||
|
|
||||||
|
getImgByMov(mov: IMovQuery, tipoconto: number, from: boolean, reale: boolean): string {
|
||||||
|
try {
|
||||||
|
|
||||||
|
let img = ''
|
||||||
|
if (!reale)
|
||||||
|
img = 'images/noimg-user.svg'
|
||||||
|
|
||||||
|
if (tipoconto === shared_consts.AccountType.COLLECTIVE_ACCOUNT) {
|
||||||
|
img = this.getImgByGroup(from ? mov.groupfrom : mov.groupto)
|
||||||
|
// img = this.getImgByGroupname(from ? mov.groupfrom.groupname : mov.groupto.groupname)
|
||||||
|
} else if (tipoconto === shared_consts.AccountType.COMMUNITY_ACCOUNT) {
|
||||||
|
img = this.getImgByCircuitpath(from ? mov.contocomfrom.path : mov.contocomto.path)
|
||||||
|
} else {
|
||||||
|
let myuser = from ? mov.userfrom : mov.userto
|
||||||
|
if (myuser && myuser.profile.img) {
|
||||||
|
img = costanti.DIR_UPLOAD + 'profile/' + myuser.username + '/' + myuser.profile.img
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return img
|
||||||
|
} catch (e) {
|
||||||
|
//
|
||||||
|
}
|
||||||
|
if (!reale)
|
||||||
|
return 'images/noimg-user.svg'
|
||||||
|
else
|
||||||
|
return ''
|
||||||
|
},
|
||||||
|
|
||||||
|
|
||||||
IsAskedCircuitByName(name: string): boolean {
|
IsAskedCircuitByName(name: string): boolean {
|
||||||
if (this.my.profile.asked_circuits && this.my.profile.asked_circuits.length > 0)
|
if (this.my.profile.asked_circuits && this.my.profile.asked_circuits.length > 0)
|
||||||
@@ -621,7 +651,7 @@ export const useUserStore = defineStore('UserStore', {
|
|||||||
return this.getImgByCircuit(mycirc)
|
return this.getImgByCircuit(mycirc)
|
||||||
},
|
},
|
||||||
|
|
||||||
getImgByGroup(group: IMyGroup | null): string {
|
getImgByGroup(group: any): string {
|
||||||
|
|
||||||
try {
|
try {
|
||||||
// ++Todo: Sistemare!
|
// ++Todo: Sistemare!
|
||||||
@@ -718,12 +748,12 @@ export const useUserStore = defineStore('UserStore', {
|
|||||||
let name = ''
|
let name = ''
|
||||||
let myrec = this.getRecByCol(user, col)
|
let myrec = this.getRecByCol(user, col)
|
||||||
|
|
||||||
let tipoconto = costanti.AccountType.USER
|
let tipoconto = shared_consts.AccountType.USER
|
||||||
if (col && col.hasOwnProperty('tipoconto')) {
|
if (col && col.hasOwnProperty('tipoconto')) {
|
||||||
tipoconto = col.tipoconto
|
tipoconto = col.tipoconto
|
||||||
}
|
}
|
||||||
|
|
||||||
if (tipoconto === costanti.AccountType.USER) {
|
if (tipoconto === shared_consts.AccountType.USER) {
|
||||||
if (!!myrec.name)
|
if (!!myrec.name)
|
||||||
name = myrec.name + ' '
|
name = myrec.name + ' '
|
||||||
if (!!myrec.surname)
|
if (!!myrec.surname)
|
||||||
@@ -735,14 +765,14 @@ export const useUserStore = defineStore('UserStore', {
|
|||||||
if (col && col.field === 'extrarec' && !name) {
|
if (col && col.field === 'extrarec' && !name) {
|
||||||
name = myrec.dest
|
name = myrec.dest
|
||||||
}
|
}
|
||||||
} else if (tipoconto === costanti.AccountType.COLLECTIVE_ACCOUNT) {
|
} else if (tipoconto === shared_consts.AccountType.COLLECTIVE_ACCOUNT) {
|
||||||
if (myrec.hasOwnProperty('descr'))
|
if (myrec.hasOwnProperty('descr'))
|
||||||
return myrec.descr
|
return myrec.descr
|
||||||
else if (myrec.hasOwnProperty('groupname'))
|
else if (myrec.hasOwnProperty('groupname'))
|
||||||
return myrec.groupname
|
return myrec.groupname
|
||||||
else if (myrec.hasOwnProperty('grouporig'))
|
else if (myrec.hasOwnProperty('grouporig'))
|
||||||
return myrec.grouporig
|
return myrec.grouporig
|
||||||
} else if (tipoconto === costanti.AccountType.COMMUNITY_ACCOUNT) {
|
} else if (tipoconto === shared_consts.AccountType.COMMUNITY_ACCOUNT) {
|
||||||
if (myrec.hasOwnProperty('name'))
|
if (myrec.hasOwnProperty('name'))
|
||||||
return myrec.name
|
return myrec.name
|
||||||
else if (myrec.hasOwnProperty('contocom'))
|
else if (myrec.hasOwnProperty('contocom'))
|
||||||
@@ -1451,8 +1481,8 @@ export const useUserStore = defineStore('UserStore', {
|
|||||||
if (isLogged) {
|
if (isLogged) {
|
||||||
// console.log('this.isLogged', this.isLogged)
|
// console.log('this.isLogged', this.isLogged)
|
||||||
|
|
||||||
if (!tools.isMobile)
|
//if (!tools.isMobile)
|
||||||
globalStore.setleftDrawerOpen(localStorage.getItem(toolsext.localStorage.leftDrawerOpen) === 'true')
|
// globalStore.setleftDrawerOpen(localStorage.getItem(toolsext.localStorage.leftDrawerOpen) === 'true')
|
||||||
globalStore.setCategorySel(localStorage.getItem(toolsext.localStorage.categorySel))
|
globalStore.setCategorySel(localStorage.getItem(toolsext.localStorage.categorySel))
|
||||||
|
|
||||||
await globalStore.checkUpdates()
|
await globalStore.checkUpdates()
|
||||||
|
|||||||
@@ -575,6 +575,8 @@ export const useGlobalStore = defineStore('GlobalStore', {
|
|||||||
level_parent: page.l_par,
|
level_parent: page.l_par,
|
||||||
submenu: page.submenu,
|
submenu: page.submenu,
|
||||||
extraclass: page.extraclass,
|
extraclass: page.extraclass,
|
||||||
|
mainMenu: page.mainMenu,
|
||||||
|
sottoMenu: page.sottoMenu,
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -985,6 +987,8 @@ export const useGlobalStore = defineStore('GlobalStore', {
|
|||||||
|
|
||||||
await globalroutines('readall', 'config', null)
|
await globalroutines('readall', 'config', null)
|
||||||
|
|
||||||
|
this.editOn = tools.getCookie('edn', '0') === '1'
|
||||||
|
|
||||||
return isok
|
return isok
|
||||||
},
|
},
|
||||||
|
|
||||||
|
|||||||
@@ -37,7 +37,9 @@
|
|||||||
<!--:style="tools.displayStyles(myevent) + ` min-width: `+ tools.myheight_dialog() + `px;`">-->
|
<!--:style="tools.displayStyles(myevent) + ` min-width: `+ tools.myheight_dialog() + `px;`">-->
|
||||||
<q-toolbar-title>
|
<q-toolbar-title>
|
||||||
{{ circuit.name }}
|
{{ circuit.name }}
|
||||||
<div v-if="groupnameSel">Gruppo: {{ groupnameSel.groupname }}</div>
|
<div v-if="groupnameSel">
|
||||||
|
Gruppo: {{ groupnameSel.groupname }}
|
||||||
|
</div>
|
||||||
</q-toolbar-title>
|
</q-toolbar-title>
|
||||||
<q-btn flat round color="white" icon="close" v-close-popup></q-btn>
|
<q-btn flat round color="white" icon="close" v-close-popup></q-btn>
|
||||||
</q-toolbar>
|
</q-toolbar>
|
||||||
@@ -45,9 +47,17 @@
|
|||||||
<div v-html="t('circuit.disclaimer')"></div>
|
<div v-html="t('circuit.disclaimer')"></div>
|
||||||
</q-card-section>
|
</q-card-section>
|
||||||
<q-card-section class="inset-shadow">
|
<q-card-section class="inset-shadow">
|
||||||
<div style="font-weight: bold; font-size: 1.25rem">Regolamento:</div>
|
<div style="font-weight: bold; font-size: 1.25rem">
|
||||||
<q-btn label="vedi Regolamento" @click="showrules = !showrules"></q-btn>
|
Regolamento:
|
||||||
<div v-if="showrules && circuit" v-html="getRegulation(circuit.regulation)"></div>
|
</div>
|
||||||
|
<q-btn
|
||||||
|
label="vedi Regolamento"
|
||||||
|
@click="showrules = !showrules"
|
||||||
|
></q-btn>
|
||||||
|
<div
|
||||||
|
v-if="showrules && circuit"
|
||||||
|
v-html="getRegulation(circuit.regulation)"
|
||||||
|
></div>
|
||||||
</q-card-section>
|
</q-card-section>
|
||||||
<q-card-actions align="center">
|
<q-card-actions align="center">
|
||||||
<q-btn
|
<q-btn
|
||||||
@@ -56,17 +66,22 @@
|
|||||||
color="positive"
|
color="positive"
|
||||||
:label="$t('circuit.acceptregulation')"
|
:label="$t('circuit.acceptregulation')"
|
||||||
@click="
|
@click="
|
||||||
requestToEnterCircuit = false;
|
requestToEnterCircuit = false;
|
||||||
tools.setRequestCircuit(
|
tools.setRequestCircuit(
|
||||||
$q,
|
$q,
|
||||||
userStore.my.username,
|
userStore.my.username,
|
||||||
circuit.name,
|
circuit.name,
|
||||||
true,
|
true,
|
||||||
groupnameSel ? groupnameSel.groupname : ''
|
groupnameSel ? groupnameSel.groupname : ''
|
||||||
);
|
);
|
||||||
"
|
"
|
||||||
/>
|
/>
|
||||||
<q-btn outline :label="$t('dialog.cancel')" icon="close" v-close-popup></q-btn>
|
<q-btn
|
||||||
|
outline
|
||||||
|
:label="$t('dialog.cancel')"
|
||||||
|
icon="close"
|
||||||
|
v-close-popup
|
||||||
|
></q-btn>
|
||||||
</q-card-actions>
|
</q-card-actions>
|
||||||
</q-card>
|
</q-card>
|
||||||
</q-dialog>
|
</q-dialog>
|
||||||
@@ -79,7 +94,10 @@ tools.setRequestCircuit(
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div v-if="circuit">
|
<div v-if="circuit">
|
||||||
<div class="absolute-top-right q-mr-sm q-my-md" style="margin-top: 50px !important">
|
<div
|
||||||
|
class="absolute-top-right q-mr-sm q-my-md"
|
||||||
|
style="margin-top: 50px !important"
|
||||||
|
>
|
||||||
<div class="column">
|
<div class="column">
|
||||||
<q-btn
|
<q-btn
|
||||||
v-if="userStore.IsMyCircuitByName(circuit.name)"
|
v-if="userStore.IsMyCircuitByName(circuit.name)"
|
||||||
@@ -88,33 +106,37 @@ tools.setRequestCircuit(
|
|||||||
icon="fas fa-ellipsis-h"
|
icon="fas fa-ellipsis-h"
|
||||||
style="z-index: 1"
|
style="z-index: 1"
|
||||||
>
|
>
|
||||||
|
|
||||||
<q-menu>
|
<q-menu>
|
||||||
<q-list v-if="true" style="min-width: 150px">
|
<q-list v-if="true" style="min-width: 150px">
|
||||||
<q-item
|
<q-item
|
||||||
clickable
|
clickable
|
||||||
v-close-popup
|
v-close-popup
|
||||||
v-if="true"
|
v-if="true"
|
||||||
@click="(saldo !== 0) ?
|
@click="
|
||||||
tools.showNegativeNotif($q, t('circuit.per_uscire_dal_circuito_occorre_essere_a_zero'), 30000) :
|
saldo !== 0
|
||||||
tools.removeFromMyCircuits(
|
? tools.showNegativeNotif(
|
||||||
$q,
|
$q,
|
||||||
userStore.my.username,
|
t(
|
||||||
circuit.name,
|
'circuit.per_uscire_dal_circuito_occorre_essere_a_zero'
|
||||||
'',
|
),
|
||||||
$t('circuit.domanda_exit_fromcircuit', {
|
30000
|
||||||
circuitname: circuit.name,
|
)
|
||||||
})
|
: tools.removeFromMyCircuits(
|
||||||
)
|
$q,
|
||||||
|
userStore.my.username,
|
||||||
|
circuit.name,
|
||||||
|
'',
|
||||||
|
$t('circuit.domanda_exit_fromcircuit', {
|
||||||
|
circuitname: circuit.name,
|
||||||
|
})
|
||||||
|
)
|
||||||
"
|
"
|
||||||
>
|
>
|
||||||
<q-item-section avatar>
|
<q-item-section avatar>
|
||||||
<q-icon color="negative" name="fas fa-user-minus" />
|
<q-icon color="negative" name="fas fa-user-minus" />
|
||||||
</q-item-section>
|
</q-item-section>
|
||||||
<q-item-section>
|
<q-item-section>
|
||||||
{{
|
{{ $t('circuit.exit_circuit') }}
|
||||||
$t('circuit.exit_circuit')
|
|
||||||
}}
|
|
||||||
</q-item-section>
|
</q-item-section>
|
||||||
</q-item>
|
</q-item>
|
||||||
|
|
||||||
@@ -153,9 +175,17 @@ tools.setRequestCircuit(
|
|||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div style="align-self: center; vertical-align: middle">
|
<div style="align-self: center; vertical-align: middle">
|
||||||
<q-btn label="Lista Circuiti" to="/circuits" rounded icon="fas fa-arrow-circle-left" />
|
<q-btn
|
||||||
|
label="Lista Circuiti"
|
||||||
|
to="/circuits"
|
||||||
|
rounded
|
||||||
|
icon="fas fa-arrow-circle-left"
|
||||||
|
/>
|
||||||
</div>
|
</div>
|
||||||
<div v-if="circuit.name" class="fit column no-wrap justify-evenly items-center content-start">
|
<div
|
||||||
|
v-if="circuit.name"
|
||||||
|
class="fit column no-wrap justify-evenly items-center content-start"
|
||||||
|
>
|
||||||
<div class="row justify-center">
|
<div class="row justify-center">
|
||||||
<q-avatar v-if="getImgCircuit()" size="70px">
|
<q-avatar v-if="getImgCircuit()" size="70px">
|
||||||
<q-img
|
<q-img
|
||||||
@@ -186,11 +216,24 @@ tools.setRequestCircuit(
|
|||||||
<q-bar dense class="bg-primary text-white">
|
<q-bar dense class="bg-primary text-white">
|
||||||
{{ t('circuit.movements') }}:
|
{{ t('circuit.movements') }}:
|
||||||
<q-space />
|
<q-space />
|
||||||
<q-btn flat round color="white" icon="close" v-close-popup></q-btn>
|
<q-btn
|
||||||
|
flat
|
||||||
|
round
|
||||||
|
color="white"
|
||||||
|
icon="close"
|
||||||
|
v-close-popup
|
||||||
|
></q-btn>
|
||||||
</q-bar>
|
</q-bar>
|
||||||
<q-card-section class="q-px-xs inset-shadow">
|
<q-card-section class="q-px-xs inset-shadow">
|
||||||
<q-option-group v-model="showwhommov" :options="optionsmov" color="primary" />
|
<q-option-group
|
||||||
<q-toggle v-model="tabellare" label="Formato Tabella"></q-toggle>
|
v-model="showwhommov"
|
||||||
|
:options="optionsmov"
|
||||||
|
color="primary"
|
||||||
|
/>
|
||||||
|
<q-toggle
|
||||||
|
v-model="tabellare"
|
||||||
|
label="Formato Tabella"
|
||||||
|
></q-toggle>
|
||||||
|
|
||||||
<CGridTableRec
|
<CGridTableRec
|
||||||
v-if="tabellare && !loading"
|
v-if="tabellare && !loading"
|
||||||
@@ -269,7 +312,12 @@ tools.setRequestCircuit(
|
|||||||
</q-dialog>
|
</q-dialog>
|
||||||
</div>
|
</div>
|
||||||
<div class="text-center">
|
<div class="text-center">
|
||||||
<q-spinner v-if="loadSaldo" color="primary" size="3em" :thickness="2" />
|
<q-spinner
|
||||||
|
v-if="loadSaldo"
|
||||||
|
color="primary"
|
||||||
|
size="3em"
|
||||||
|
:thickness="2"
|
||||||
|
/>
|
||||||
</div>
|
</div>
|
||||||
<q-btn
|
<q-btn
|
||||||
v-if="account && !loadSaldo"
|
v-if="account && !loadSaldo"
|
||||||
@@ -317,7 +365,9 @@ tools.setRequestCircuit(
|
|||||||
<template v-slot:avatar>
|
<template v-slot:avatar>
|
||||||
<q-icon name="fas fa-info" color="red" size="sm" />
|
<q-icon name="fas fa-info" color="red" size="sm" />
|
||||||
</template>
|
</template>
|
||||||
<span v-html="$t('circuit.entra_italia_solo_dopo_aver_fido')"></span>
|
<span
|
||||||
|
v-html="$t('circuit.entra_italia_solo_dopo_aver_fido')"
|
||||||
|
></span>
|
||||||
</q-banner>
|
</q-banner>
|
||||||
<q-banner
|
<q-banner
|
||||||
v-if="circuitStore.IsNationalAndNotEnterInLocal(circuit.name)"
|
v-if="circuitStore.IsNationalAndNotEnterInLocal(circuit.name)"
|
||||||
@@ -326,20 +376,24 @@ tools.setRequestCircuit(
|
|||||||
style="text-align: center"
|
style="text-align: center"
|
||||||
>
|
>
|
||||||
<template v-slot:avatar>
|
<template v-slot:avatar>
|
||||||
<q-icon class="vertical-align center" name="fas fa-info" color="white" size="sm" />
|
<q-icon
|
||||||
|
class="vertical-align center"
|
||||||
|
name="fas fa-info"
|
||||||
|
color="white"
|
||||||
|
size="sm"
|
||||||
|
/>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<em style="font-weight: bold">
|
<em style="font-weight: bold">
|
||||||
{{
|
{{ $t('circuit.beforeentertolocalcircuit') }}
|
||||||
$t('circuit.beforeentertolocalcircuit')
|
|
||||||
}}
|
|
||||||
</em>
|
</em>
|
||||||
<br />
|
<br />
|
||||||
</q-banner>
|
</q-banner>
|
||||||
<q-banner
|
<q-banner
|
||||||
v-if="
|
v-if="
|
||||||
userStore.my.profile &&
|
userStore.my.profile &&
|
||||||
userStore.my.profile.calc && userStore.my.profile.calc.numGoodsAndServices <= 0 &&
|
userStore.my.profile.calc &&
|
||||||
|
userStore.my.profile.calc.numGoodsAndServices <= 0 &&
|
||||||
globalStore.site.confpages.showRIS &&
|
globalStore.site.confpages.showRIS &&
|
||||||
userStore.IsMyCircuitByName(circuit.name)
|
userStore.IsMyCircuitByName(circuit.name)
|
||||||
"
|
"
|
||||||
@@ -352,29 +406,31 @@ tools.setRequestCircuit(
|
|||||||
</template>
|
</template>
|
||||||
|
|
||||||
<em style="font-weight: bold">
|
<em style="font-weight: bold">
|
||||||
{{
|
{{ $t('db.insertgoodorservices_to_enter_circuit') }}
|
||||||
$t('db.insertgoodorservices_to_enter_circuit')
|
|
||||||
}}
|
|
||||||
</em>
|
</em>
|
||||||
<br />
|
<br />
|
||||||
</q-banner>
|
</q-banner>
|
||||||
<q-banner
|
<q-banner
|
||||||
v-else-if="
|
v-else-if="
|
||||||
globalStore.site.confpages.showRIS &&
|
globalStore.site.confpages.showRIS &&
|
||||||
userStore.my.profile.calc && userStore.my.profile.calc.numGoodsAndServices <= 0
|
userStore.my.profile.calc &&
|
||||||
|
userStore.my.profile.calc.numGoodsAndServices <= 0
|
||||||
"
|
"
|
||||||
rounded
|
rounded
|
||||||
class="bg-deep-purple text-white"
|
class="bg-deep-purple text-white"
|
||||||
style="text-align: center"
|
style="text-align: center"
|
||||||
>
|
>
|
||||||
<template v-slot:avatar>
|
<template v-slot:avatar>
|
||||||
<q-icon class="vertical-align center" name="fas fa-info" color="red" size="sm" />
|
<q-icon
|
||||||
|
class="vertical-align center"
|
||||||
|
name="fas fa-info"
|
||||||
|
color="red"
|
||||||
|
size="sm"
|
||||||
|
/>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<em style="font-weight: bold">
|
<em style="font-weight: bold">
|
||||||
{{
|
{{ $t('db.insertgoodorservices_to_enter_circuit') }}
|
||||||
$t('db.insertgoodorservices_to_enter_circuit')
|
|
||||||
}}
|
|
||||||
</em>
|
</em>
|
||||||
<br />
|
<br />
|
||||||
</q-banner>
|
</q-banner>
|
||||||
@@ -394,8 +450,8 @@ tools.setRequestCircuit(
|
|||||||
color="primary"
|
color="primary"
|
||||||
:label="$t('circuit.ask')"
|
:label="$t('circuit.ask')"
|
||||||
@click="
|
@click="
|
||||||
requestToEnterCircuit = true;
|
requestToEnterCircuit = true;
|
||||||
groupnameSel = null;
|
groupnameSel = null;
|
||||||
"
|
"
|
||||||
/>
|
/>
|
||||||
|
|
||||||
@@ -415,9 +471,17 @@ groupnameSel = null;
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div v-if="circuit.name" class="no-wrap justify-evenly items-center content-start">
|
<div
|
||||||
|
v-if="circuit.name"
|
||||||
|
class="no-wrap justify-evenly items-center content-start"
|
||||||
|
>
|
||||||
<q-tabs v-model="tabcircuit" class="text-blue" no-caps>
|
<q-tabs v-model="tabcircuit" class="text-blue" no-caps>
|
||||||
<q-tab :label="t('shared.info1')" name="info" icon="fas fa-info" @click="loadCircuit()"></q-tab>
|
<q-tab
|
||||||
|
:label="t('shared.info1')"
|
||||||
|
name="info"
|
||||||
|
icon="fas fa-info"
|
||||||
|
@click="loadCircuit()"
|
||||||
|
></q-tab>
|
||||||
<q-tab
|
<q-tab
|
||||||
v-if="
|
v-if="
|
||||||
tools.iCanShowCircuitsMember(circuit) ||
|
tools.iCanShowCircuitsMember(circuit) ||
|
||||||
@@ -484,7 +548,11 @@ groupnameSel = null;
|
|||||||
<q-btn rounded icon="fas fa-user-plus" class="text-center">
|
<q-btn rounded icon="fas fa-user-plus" class="text-center">
|
||||||
<q-menu>
|
<q-menu>
|
||||||
<q-item>Chiedi di Entrare nei Circuiti:</q-item>
|
<q-item>Chiedi di Entrare nei Circuiti:</q-item>
|
||||||
<q-list v-for="(group, ind) of groupsListAdmin" :key="ind" class="q-pa-sm">
|
<q-list
|
||||||
|
v-for="(group, ind) of groupsListAdmin"
|
||||||
|
:key="ind"
|
||||||
|
class="q-pa-sm"
|
||||||
|
>
|
||||||
<q-item
|
<q-item
|
||||||
v-if="
|
v-if="
|
||||||
!userStore.IsMyCircuitByNameAndGroup(
|
!userStore.IsMyCircuitByNameAndGroup(
|
||||||
@@ -511,8 +579,8 @@ groupnameSel = null;
|
|||||||
color="primary"
|
color="primary"
|
||||||
:label="group.groupname"
|
:label="group.groupname"
|
||||||
@click="
|
@click="
|
||||||
requestToEnterCircuit = true;
|
requestToEnterCircuit = true;
|
||||||
groupnameSel = group;
|
groupnameSel = group;
|
||||||
"
|
"
|
||||||
/>
|
/>
|
||||||
<q-btn
|
<q-btn
|
||||||
@@ -682,7 +750,10 @@ groupnameSel = group;
|
|||||||
|
|
||||||
<q-card-section>
|
<q-card-section>
|
||||||
<div class="col-12 text-h8">
|
<div class="col-12 text-h8">
|
||||||
<span v-if="checkifShow('descr')" v-html="circuit.longdescr"></span>
|
<span
|
||||||
|
v-if="checkifShow('descr')"
|
||||||
|
v-html="circuit.longdescr"
|
||||||
|
></span>
|
||||||
</div>
|
</div>
|
||||||
</q-card-section>
|
</q-card-section>
|
||||||
|
|
||||||
@@ -704,7 +775,11 @@ groupnameSel = group;
|
|||||||
})
|
})
|
||||||
}}:
|
}}:
|
||||||
<div class="row justify-center">
|
<div class="row justify-center">
|
||||||
<q-icon name="fas fa-hand-point-right" class="iconcirc" size="lg"></q-icon>
|
<q-icon
|
||||||
|
name="fas fa-hand-point-right"
|
||||||
|
class="iconcirc"
|
||||||
|
size="lg"
|
||||||
|
></q-icon>
|
||||||
|
|
||||||
<q-btn
|
<q-btn
|
||||||
v-if="circuit.link_group"
|
v-if="circuit.link_group"
|
||||||
@@ -714,7 +789,17 @@ groupnameSel = group;
|
|||||||
size="md"
|
size="md"
|
||||||
rounded
|
rounded
|
||||||
:label="
|
:label="
|
||||||
$t('circuit.link_chat', { name: circuit.name })
|
$t('circuit.link_chat', {
|
||||||
|
name: tools.replaceStringCaseInsensitive(
|
||||||
|
tools.replaceStringCaseInsensitive(
|
||||||
|
circuit.name,
|
||||||
|
'circuito',
|
||||||
|
''
|
||||||
|
),
|
||||||
|
'RIS',
|
||||||
|
'RISO'
|
||||||
|
),
|
||||||
|
})
|
||||||
"
|
"
|
||||||
:href="circuit.link_group"
|
:href="circuit.link_group"
|
||||||
target="__blank"
|
target="__blank"
|
||||||
@@ -730,7 +815,11 @@ groupnameSel = group;
|
|||||||
}}
|
}}
|
||||||
</div>
|
</div>
|
||||||
<div v-for="(user, index) of circuit.admins" :key="index">
|
<div v-for="(user, index) of circuit.admins" :key="index">
|
||||||
<CMyUser :mycontact="user" :visu="costanti.FIND_PEOPLE" @setCmd="tools.setCmd"></CMyUser>
|
<CMyUser
|
||||||
|
:mycontact="user"
|
||||||
|
:visu="costanti.FIND_PEOPLE"
|
||||||
|
@setCmd="tools.setCmd"
|
||||||
|
></CMyUser>
|
||||||
</div>
|
</div>
|
||||||
<div class="sezioni">
|
<div class="sezioni">
|
||||||
<q-icon name="fas fa-coins" class="iconcirc"></q-icon>
|
<q-icon name="fas fa-coins" class="iconcirc"></q-icon>
|
||||||
@@ -742,7 +831,8 @@ groupnameSel = group;
|
|||||||
`background-color: ` +
|
`background-color: ` +
|
||||||
tools.getColorByCircuit(circuit)
|
tools.getColorByCircuit(circuit)
|
||||||
"
|
"
|
||||||
>{{ tools.getSymbolByCircuit(circuit) }}</em>
|
>{{ tools.getSymbolByCircuit(circuit) }}</em
|
||||||
|
>
|
||||||
</span>
|
</span>
|
||||||
</div>
|
</div>
|
||||||
<div :class="$q.screen.lt.sm ? '' : 'row'">
|
<div :class="$q.screen.lt.sm ? '' : 'row'">
|
||||||
@@ -832,8 +922,7 @@ groupnameSel = group;
|
|||||||
? t('dialog.yes')
|
? t('dialog.yes')
|
||||||
: t('dialog.no')
|
: t('dialog.no')
|
||||||
}}
|
}}
|
||||||
{{
|
{{}}
|
||||||
}}
|
|
||||||
</span>
|
</span>
|
||||||
</div>
|
</div>
|
||||||
<!--<div
|
<!--<div
|
||||||
@@ -866,7 +955,10 @@ groupnameSel = group;
|
|||||||
|
|
||||||
<q-card-section>
|
<q-card-section>
|
||||||
<div class="centermydiv">
|
<div class="centermydiv">
|
||||||
<q-btn label="vedi Regolamento" @click="showrules = !showrules"></q-btn>
|
<q-btn
|
||||||
|
label="vedi Regolamento"
|
||||||
|
@click="showrules = !showrules"
|
||||||
|
></q-btn>
|
||||||
</div>
|
</div>
|
||||||
<div class="col-12 text-h8">
|
<div class="col-12 text-h8">
|
||||||
<span
|
<span
|
||||||
@@ -887,7 +979,7 @@ groupnameSel = group;
|
|||||||
v-if="
|
v-if="
|
||||||
!!circuit.date_updated &&
|
!!circuit.date_updated &&
|
||||||
tools.getstrDate(circuit.date_updated) !==
|
tools.getstrDate(circuit.date_updated) !==
|
||||||
tools.getstrDate(circuit.date_created)
|
tools.getstrDate(circuit.date_created)
|
||||||
"
|
"
|
||||||
class="container text-h8"
|
class="container text-h8"
|
||||||
>
|
>
|
||||||
@@ -914,7 +1006,10 @@ groupnameSel = group;
|
|||||||
</div>
|
</div>
|
||||||
</q-tab-panel>
|
</q-tab-panel>
|
||||||
|
|
||||||
<q-tab-panel name="members" v-if="tools.iCanShowCircuitsMember(circuit)">
|
<q-tab-panel
|
||||||
|
name="members"
|
||||||
|
v-if="tools.iCanShowCircuitsMember(circuit)"
|
||||||
|
>
|
||||||
<q-tabs
|
<q-tabs
|
||||||
v-show="tools.iAmAdminCircuit(circuit.name)"
|
v-show="tools.iAmAdminCircuit(circuit.name)"
|
||||||
v-model="tabmembers"
|
v-model="tabmembers"
|
||||||
@@ -1004,7 +1099,9 @@ groupnameSel = group;
|
|||||||
<q-card v-if="circuit.name">
|
<q-card v-if="circuit.name">
|
||||||
<q-card-section>
|
<q-card-section>
|
||||||
<div class="text-h7">{{ t('circuit.contocomunitario') }}:</div>
|
<div class="text-h7">{{ t('circuit.contocomunitario') }}:</div>
|
||||||
<div class="text-h8 q-mb-sm">{{ $t('circuit.info_contocom') }}</div>
|
<div class="text-h8 q-mb-sm">
|
||||||
|
{{ $t('circuit.info_contocom') }}
|
||||||
|
</div>
|
||||||
</q-card-section>
|
</q-card-section>
|
||||||
<q-separator />
|
<q-separator />
|
||||||
|
|
||||||
@@ -1025,8 +1122,8 @@ groupnameSel = group;
|
|||||||
:qtarem="
|
:qtarem="
|
||||||
circuit.account
|
circuit.account
|
||||||
? circuitStore.getRemainingCoinsToSend(
|
? circuitStore.getRemainingCoinsToSend(
|
||||||
circuit.account
|
circuit.account
|
||||||
)
|
)
|
||||||
: 0
|
: 0
|
||||||
"
|
"
|
||||||
></CSaldo>
|
></CSaldo>
|
||||||
@@ -1084,8 +1181,16 @@ groupnameSel = group;
|
|||||||
></CGridTableRec>
|
></CGridTableRec>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div v-else class="fit column no-wrap justify-evenly items-center content-start">
|
<div
|
||||||
<q-skeleton type="QAvatar" size="140px" height="140px" animation="fade" />
|
v-else
|
||||||
|
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">
|
<q-card flat bordered style="width: 250px">
|
||||||
<div class="text-h7">
|
<div class="text-h7">
|
||||||
<q-skeleton :animation="animation" />
|
<q-skeleton :animation="animation" />
|
||||||
@@ -1114,6 +1219,6 @@ groupnameSel = group;
|
|||||||
</script>
|
</script>
|
||||||
|
|
||||||
<style lang="scss" scoped>
|
<style lang="scss" scoped>
|
||||||
@import "./mycircuit.scss";
|
@import './mycircuit.scss';
|
||||||
</style>
|
</style>
|
||||||
|
|
||||||
|
|||||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user