Pannello Utente

Aggiornamento Yarn
This commit is contained in:
Paolo Arena
2022-07-10 01:24:54 +02:00
parent 51e13794c3
commit 42cb624f41
82 changed files with 2379 additions and 1162 deletions

View 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;
}

View 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
}
},
})

View 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">&nbsp;&nbsp;&nbsp;</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>

View File

@@ -0,0 +1 @@
export { default as LandingFooter } from './LandingFooter.vue'