Pannello Utente
Aggiornamento Yarn
This commit is contained in:
187
src/components/LandingFooter/LandingFooter.scss
Executable file
187
src/components/LandingFooter/LandingFooter.scss
Executable file
@@ -0,0 +1,187 @@
|
||||
$grayshadow: #555;
|
||||
|
||||
$textcol: blue;
|
||||
$textcol_scuro: darkblue;
|
||||
|
||||
|
||||
.landing__footer {
|
||||
//background: -webkit-gradient(linear, left top, left bottom, color-stop(65%, rgba(0, 0, 0, .1)), to(#000));
|
||||
background: linear-gradient(180deg, rgb(6, 31, 92) 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
|
||||
}
|
||||
|
||||
|
||||
.landing__footer-icons {
|
||||
font-size: 2rem
|
||||
}
|
||||
|
||||
.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-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 {
|
||||
font-size: 3rem;
|
||||
line-height: 3.05rem;
|
||||
margin-bottom: 1.5rem
|
||||
}
|
||||
|
||||
.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;
|
||||
}
|
||||
|
||||
.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__hero-btns {
|
||||
-webkit-box-pack: center;
|
||||
-ms-flex-pack: center;
|
||||
justify-content: center
|
||||
}
|
||||
|
||||
.q-col-gutter-sm {
|
||||
padding: .625rem .315rem;
|
||||
}
|
||||
|
||||
.text-vers{
|
||||
font-size: 0.6rem;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
.custom-caption {
|
||||
text-align: center;
|
||||
padding: .75rem;
|
||||
color: $textcol;
|
||||
background-color: rgba(0, 0, 0, .3);
|
||||
}
|
||||
|
||||
.mycontacts {
|
||||
color: gray;
|
||||
letter-spacing: 0.078rem;
|
||||
}
|
||||
|
||||
.copyrights {
|
||||
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 {
|
||||
font-size: 1rem;
|
||||
color: #999;
|
||||
letter-spacing: normal !important;
|
||||
}
|
||||
|
||||
.footer_link {
|
||||
font-size: 1rem;
|
||||
color:gray;
|
||||
}
|
||||
|
||||
.footer_link:hover {
|
||||
color:white;
|
||||
}
|
||||
|
||||
|
||||
.margin_buttons_footer {
|
||||
margin: -4px -4px;
|
||||
}
|
||||
|
||||
.margin_buttons_footer > * {
|
||||
margin: 4px 8px;
|
||||
}
|
||||
75
src/components/LandingFooter/LandingFooter.ts
Executable file
75
src/components/LandingFooter/LandingFooter.ts
Executable file
@@ -0,0 +1,75 @@
|
||||
import {
|
||||
defineComponent,
|
||||
} from 'vue'
|
||||
|
||||
import { tools } from '@src/store/Modules/tools'
|
||||
import { static_data } from '@src/db/static_data'
|
||||
|
||||
import { useQuasar } from 'quasar'
|
||||
import { useGlobalStore } from '@store/globalStore'
|
||||
import { Logo } from '@/components/logo'
|
||||
import { useI18n } from '@src/boot/i18n'
|
||||
import { toolsext } from '@store/Modules/toolsext'
|
||||
import { FormNewsletter } from '@/components/FormNewsletter'
|
||||
import { CFacebookFrame } from '@/components/CFacebookFrame'
|
||||
|
||||
import MixinBase from '../../mixins/mixin-base'
|
||||
|
||||
export default defineComponent({
|
||||
name: 'LandingFooter',
|
||||
components: { Logo, FormNewsletter, CFacebookFrame },
|
||||
|
||||
setup() {
|
||||
const $q = useQuasar()
|
||||
const globalStore = useGlobalStore()
|
||||
|
||||
const { getarrValDb, getValDb } = MixinBase()
|
||||
|
||||
console.log('LandingFooter - INIT')
|
||||
|
||||
function TelegramSupport() {
|
||||
return globalStore.getValueSettingsByKey('TELEGRAM_SUPPORT', false)
|
||||
}
|
||||
|
||||
function Whatsapp_Cell() {
|
||||
return globalStore.getValueSettingsByKey('WHATSAPP_CELL', false)
|
||||
}
|
||||
|
||||
function Telegram_UsernameHttp() {
|
||||
return tools.getHttpForTelegram(globalStore.getValueSettingsByKey('TELEGRAM_USERNAME', false))
|
||||
}
|
||||
|
||||
function FBPage() {
|
||||
const fb = globalStore.getValueSettingsByKey('URL_FACEBOOK', false)
|
||||
return fb
|
||||
}
|
||||
|
||||
function InstagramPage() {
|
||||
return globalStore.getValueSettingsByKey('URL_INSTAGRAM', false)
|
||||
}
|
||||
|
||||
function TwitterPage() {
|
||||
return globalStore.getValueSettingsByKey('URL_TWITTER', false)
|
||||
}
|
||||
|
||||
function ChatWhatsapp() {
|
||||
// @ts-ignore
|
||||
return tools.getHttpForWhatsapp(this.Whatsapp_Cell())
|
||||
}
|
||||
|
||||
return {
|
||||
TelegramSupport,
|
||||
InstagramPage,
|
||||
Whatsapp_Cell,
|
||||
TwitterPage,
|
||||
ChatWhatsapp,
|
||||
FBPage,
|
||||
Telegram_UsernameHttp,
|
||||
static_data,
|
||||
tools,
|
||||
toolsext,
|
||||
getarrValDb,
|
||||
getValDb
|
||||
}
|
||||
},
|
||||
})
|
||||
177
src/components/LandingFooter/LandingFooter.vue
Executable file
177
src/components/LandingFooter/LandingFooter.vue
Executable file
@@ -0,0 +1,177 @@
|
||||
<template>
|
||||
<div>
|
||||
<section class="landing__footer">
|
||||
<div class="row justify-between items-start q-col-gutter-xs">
|
||||
<div class="col-12 col-sm-4 ">
|
||||
<!--<span v-html="t('homepage.footer.description')">-->
|
||||
<!--</span>-->
|
||||
|
||||
<CFacebookFrame
|
||||
myclass="text-center" :fbimage="getValDb('FBPAGE_IMG', false)"
|
||||
:urlfbpage="getValDb('FBPAGE_FRAME', false)" :title="getValDb('FBPAGE_TITLE', false)">
|
||||
|
||||
</CFacebookFrame>
|
||||
|
||||
<div class=" q-my-md">
|
||||
<div class="landing__footer-icons row flex-center margin_buttons">
|
||||
<a v-if="!!FBPage()" :href="FBPage()" target="_blank">
|
||||
<i aria-hidden="true" class="q-icon fab fa-facebook-f icon_contact links"> </i></a>
|
||||
|
||||
<a v-if="!!InstagramPage()" :href="InstagramPage()" target="_blank">
|
||||
<i aria-hidden="true" class="q-icon fab fa-instagram icon_contact links"> </i></a>
|
||||
|
||||
<a v-if="!!TwitterPage()" :href="TwitterPage()" target="_blank">
|
||||
<i aria-hidden="true" class="q-icon fab fa-twitter icon_contact links"> </i></a>
|
||||
|
||||
|
||||
<a v-if="!!TelegramSupport()" :href="TelegramSupport()" target="_blank">
|
||||
<span class="text-h5 text-white">Supporto Tecnico: </span>
|
||||
<i aria-hidden="true" class="q-icon fab fa-telegram icon_contact links"></i></a>
|
||||
|
||||
<a v-if="!!Whatsapp_Cell()" :href="ChatWhatsapp()" target="_blank">
|
||||
<i aria-hidden="true" class="q-icon fab fa-whatsapp icon_contact links"></i></a>
|
||||
|
||||
<a v-if="!!Telegram_UsernameHttp()" :href="Telegram_UsernameHttp()" target="_blank">
|
||||
<i aria-hidden="true" class="q-icon fab fa-telegram icon_contact links"></i></a>
|
||||
|
||||
<!--<a href="" target="_blank"><i aria-hidden="true" class="q-icon fab fa-github"> </i></a>-->
|
||||
<!--<a href="https://twitter.com/" target="_blank"><i aria-hidden="true" class="q-icon fab fa-twitter"> </i></a>-->
|
||||
<!--<a href="https://discord.gg/5TDhbDg" target="_blank"><i aria-hidden="true"-->
|
||||
<!--class="q-icon fab fa-discord"> </i></a><a-->
|
||||
<!--href="https://forum.quasar-framework.org/" target="_blank"><i aria-hidden="true"-->
|
||||
<!--class="q-icon fas fa-comments"> </i></a><a-->
|
||||
<!--href="https://www.patreon.com/quasarframework" target="_blank"><i aria-hidden="true"-->
|
||||
<!--class="q-icon fab fa-patreon"> </i></a>-->
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div v-if="getValDb('URLMAP', false)" class="text-center">
|
||||
<span v-html="getValDb('MAP_TITLE', false)"></span>
|
||||
<br>
|
||||
<a :href="getValDb('URLMAP', false)" target="_blank" class="footer_link">Apri Mappa</a>
|
||||
</div>
|
||||
|
||||
<!--<div class="q-mt-xs copyrights">-->
|
||||
<!--<p class="mycontacts_text" v-html="t('homepage.copyrights')"></p>-->
|
||||
<!--</div>-->
|
||||
|
||||
</div>
|
||||
<div class="col-12 col-sm-4">
|
||||
<div class="text-center">
|
||||
|
||||
<div class="q-mt-xs mycontacts">
|
||||
<p class="mycontacts_title">{{ $t('homepage.titlecontatti') }}</p>
|
||||
|
||||
<div class="mycontacts_text">
|
||||
<i
|
||||
v-if="getValDb('MAIN_EMAIL', false)" aria-hidden="true"
|
||||
class="q-icon fas fa-envelope q-mx-sm"></i>
|
||||
<a :href="`mailto:` + getValDb('MAIN_EMAIL', false)" class="links">{{
|
||||
getValDb('MAIN_EMAIL', false)
|
||||
}}</a><br>
|
||||
<div style="margin-bottom: 20px;"></div>
|
||||
<div
|
||||
v-for="(rec, index) in getarrValDb('CONTACTS_EMAIL_CELL', false)"
|
||||
:key="index"
|
||||
class="mycontacts_text margin_buttons_footer"
|
||||
style="margin-bottom: 0;">
|
||||
<div>
|
||||
{{ rec.name }}: {{ rec.phone }}
|
||||
</div>
|
||||
<div>
|
||||
<i
|
||||
v-if="rec.email" aria-hidden="true"
|
||||
class="q-icon fas fa-envelope q-ma-sm"></i> <a
|
||||
:href="`mailto:`+ rec.email "
|
||||
class="links">{{ rec.email }}</a>
|
||||
</div>
|
||||
|
||||
<div class="row justify-center margin_buttons_footer">
|
||||
<q-btn
|
||||
v-if="rec.email" fab-mini icon="fas fa-envelope"
|
||||
color="blue-grey-6" type="a"
|
||||
size="sm"
|
||||
:href="tools.getemailto(rec.email)" target="__blank">
|
||||
</q-btn>
|
||||
<q-btn
|
||||
v-if="!!rec.wa && tools.getHttpForWhatsapp(rec.wa)" fab-mini
|
||||
icon="fab fa-whatsapp"
|
||||
color="green" type="a"
|
||||
size="sm"
|
||||
:href="tools.getHttpForWhatsapp(rec.wa)" target="__blank">
|
||||
</q-btn>
|
||||
|
||||
<q-btn
|
||||
v-if="tools.getHttpForTelegram(rec.usertelegram)" fab-mini
|
||||
icon="fab fa-telegram"
|
||||
color="blue" type="a"
|
||||
size="sm"
|
||||
:href="tools.getHttpForTelegram(rec.usertelegram)" target="__blank">
|
||||
</q-btn>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<span v-if="getValDb('CALL_WORKING_DAYS', false)"><br>orari per chiamate:<br>
|
||||
<span v-html="getValDb('CALL_WORKING_DAYS', false)"></span></span>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
<FormNewsletter
|
||||
v-if="static_data.functionality.SHOW_NEWSLETTER"
|
||||
:idwebsite="tools.appid()"
|
||||
:locale="toolsext.getLocale()">
|
||||
</FormNewsletter>
|
||||
|
||||
<p class="text-center">
|
||||
<router-link v-if="static_data.functionality.SHOW_ONLY_POLICY" to="/policy" custom v-slot="{ navigate }">
|
||||
<span class="footer_link" @click="navigate" @keypress.enter="navigate" role="link">{{
|
||||
$t('privacy_policy')
|
||||
}}</span></router-link>
|
||||
</p>
|
||||
|
||||
</div>
|
||||
|
||||
<div class="col-12 col-sm-4 q-pa-md">
|
||||
<p style="text-align: center">
|
||||
<logo></logo>
|
||||
</p>
|
||||
<div v-for="(myitemmenu, ind) in static_data.routes" :key="ind">
|
||||
<div v-if="myitemmenu.infooter && tools.visumenu(myitemmenu)">
|
||||
|
||||
<div v-if="myitemmenu.solotitle">
|
||||
<span class="footer_link">{{ tools.getLabelByItem(myitemmenu) }}</span><br/>
|
||||
</div>
|
||||
<div v-else>
|
||||
<router-link :to="myitemmenu.path" custom v-slot="{ navigate }">
|
||||
<span
|
||||
class="footer_link" @click="navigate" @keypress.enter="navigate"
|
||||
role="link"><span
|
||||
v-if="myitemmenu.level_child > 0"> </span>
|
||||
{{ tools.getLabelByItem(myitemmenu) }}</span><br/>
|
||||
</router-link>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
<q-page-sticky v-if="ChatWhatsapp()" position="bottom-right" :offset="[18, 78]">
|
||||
<q-btn
|
||||
fab icon="fab fa-whatsapp" color="green" type="a" :href="ChatWhatsapp()" target="__blank"
|
||||
class="mybtn_sticky"/>
|
||||
</q-page-sticky>
|
||||
<q-page-scroller position="bottom-right" :scroll-offset="850" :offset="[18, 18]" style="opacity: 0.3">
|
||||
<q-btn fab icon="keyboard_arrow_up" color="accent"/>
|
||||
</q-page-scroller>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script lang="ts" src="./LandingFooter.ts">
|
||||
</script>
|
||||
|
||||
<style lang="scss" scoped>
|
||||
@import './LandingFooter.scss';
|
||||
</style>
|
||||
1
src/components/LandingFooter/index.ts
Executable file
1
src/components/LandingFooter/index.ts
Executable file
@@ -0,0 +1 @@
|
||||
export { default as LandingFooter } from './LandingFooter.vue'
|
||||
Reference in New Issue
Block a user