HomePage Description Project
This commit is contained in:
@@ -1,3 +1,16 @@
|
||||
body {
|
||||
font-family: 'Source Sans Pro', 'Helvetica Neue', Arial, sans-serif;
|
||||
-webkit-font-smoothing: antialiased;
|
||||
-moz-osx-font-smoothing: grayscale;
|
||||
color: #a7a7a7;
|
||||
line-height: 1.5;
|
||||
font-size: 16px;
|
||||
}
|
||||
|
||||
p {
|
||||
margin: 0 0 16px;
|
||||
}
|
||||
|
||||
.mycard {
|
||||
visibility: hidden;
|
||||
}
|
||||
@@ -18,7 +31,7 @@
|
||||
}
|
||||
|
||||
.landing > section.padding {
|
||||
padding: 180px 16px
|
||||
padding: 90px 16px
|
||||
}
|
||||
|
||||
.landing > section > div {
|
||||
@@ -61,28 +74,33 @@
|
||||
width: 150px;
|
||||
height: 150px;
|
||||
margin-top: 21px;
|
||||
-webkit-animation: logo-rotate 240s linear infinite;
|
||||
animation: logo-rotate 240s linear infinite
|
||||
//-webkit-animation: logo-rotate 240s linear infinite;
|
||||
//animation: logo-rotate 240s linear infinite
|
||||
}
|
||||
|
||||
.landing__features .q-icon {
|
||||
font-size: 64px
|
||||
}
|
||||
|
||||
h4{
|
||||
line-height: 1.5;
|
||||
}
|
||||
|
||||
.landing__features h4, .landing__features h6 {
|
||||
margin: 26px 0
|
||||
}
|
||||
|
||||
.landing__features p {
|
||||
opacity: .6;
|
||||
font-size: 16px
|
||||
opacity: .7;
|
||||
font-size: 16px;
|
||||
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, .1) 65%, #000);
|
||||
padding-top: 72px !important;
|
||||
//padding-bottom: 72px !important
|
||||
padding-bottom: 72px !important
|
||||
}
|
||||
|
||||
.landing__footer .doc-link {
|
||||
@@ -100,6 +118,15 @@
|
||||
background-image: url(https://cdn.quasar-framework.org/img/landing_first_section.png) !important
|
||||
}
|
||||
|
||||
.feat-descr {
|
||||
font-size: 1.25rem;
|
||||
}
|
||||
|
||||
.q-col-gutter-xl {
|
||||
padding: 50px 50px;
|
||||
//margin-left: -48px
|
||||
}
|
||||
|
||||
@media (max-width: 718px) {
|
||||
.landing__hero {
|
||||
text-align: center
|
||||
@@ -113,24 +140,32 @@
|
||||
margin-bottom: 24px
|
||||
}
|
||||
.landing > section.padding {
|
||||
padding-top: 50px;
|
||||
padding: 40px 16px
|
||||
//padding-bottom: 90px
|
||||
}
|
||||
|
||||
|
||||
.landing .feature-item {
|
||||
text-align: center
|
||||
text-align: center;
|
||||
margin-top: 20px;
|
||||
}
|
||||
.landing__hero-content {
|
||||
//padding-bottom: 180px
|
||||
padding-bottom: 180px
|
||||
}
|
||||
.landing__hero-btns {
|
||||
-webkit-box-pack: center;
|
||||
-ms-flex-pack: center;
|
||||
justify-content: center
|
||||
}
|
||||
|
||||
.q-col-gutter-xl {
|
||||
padding: 15px 15px;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
body.mobile .landing {
|
||||
background: unset
|
||||
//background: unset
|
||||
}
|
||||
|
||||
body.mobile .landing:before {
|
||||
@@ -142,10 +177,12 @@ body.mobile .landing:before {
|
||||
right: 0;
|
||||
bottom: 0;
|
||||
z-index: -1;
|
||||
background: #000 url(../../statics/images/cover.jpg) 50%;
|
||||
//background: #000 url(../../statics/images/cover.jpg) 50%;
|
||||
|
||||
background-size: cover
|
||||
}
|
||||
|
||||
/*
|
||||
@-webkit-keyframes logo-rotate {
|
||||
to {
|
||||
-webkit-transform: rotate(-1turn);
|
||||
@@ -159,9 +196,7 @@ body.mobile .landing:before {
|
||||
transform: rotate(-1turn)
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
*/
|
||||
|
||||
.home {
|
||||
//background-color: rgb(250, 250, 250);
|
||||
@@ -187,7 +222,6 @@ body.mobile .landing:before {
|
||||
text-shadow: 4px 4px 8px #000000;
|
||||
}
|
||||
|
||||
|
||||
.text-h1 {
|
||||
font-size: 6rem;
|
||||
font-weight: 300;
|
||||
@@ -195,6 +229,13 @@ body.mobile .landing:before {
|
||||
letter-spacing: -.01562em;
|
||||
}
|
||||
|
||||
.text-h2 {
|
||||
font-size: 3.75rem;
|
||||
font-weight: 300;
|
||||
line-height: 3.75rem;
|
||||
letter-spacing: -.00833em;
|
||||
}
|
||||
|
||||
.text-weight-bold {
|
||||
font-weight: 700;
|
||||
}
|
||||
@@ -208,12 +249,52 @@ body.mobile .landing:before {
|
||||
font-size: 1.5rem;
|
||||
}
|
||||
}
|
||||
.text-subtitle2 {
|
||||
|
||||
.text-subtitle2 {
|
||||
font-size: 1rem;
|
||||
font-weight: 400;
|
||||
line-height: 1.75rem;
|
||||
letter-spacing: .00937em;
|
||||
}
|
||||
|
||||
.text-subtitle3 {
|
||||
font-size: 0.75rem;
|
||||
font-weight: 400;
|
||||
line-height: 1.75rem;
|
||||
letter-spacing: .00937em;
|
||||
}
|
||||
|
||||
.homep-cover-img-1 {
|
||||
background: #000 url(../../statics/images/cover.jpg) no-repeat 50% fixed;
|
||||
transition: background-image 1s ease-in-out;
|
||||
}
|
||||
|
||||
.homep-cover-img-2 {
|
||||
background: #000 url(../../statics/images/all_together.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: 28px
|
||||
}
|
||||
|
||||
.landing__footer-icons a {
|
||||
margin: 0 8px 8px;
|
||||
text-decoration: none;
|
||||
outline: 0;
|
||||
color: #fff;
|
||||
transition: color .28s
|
||||
}
|
||||
|
||||
.landing__footer-icons a:hover {
|
||||
color: #e0e0e0
|
||||
}
|
||||
|
||||
.doc-img{
|
||||
max-width: 100%;
|
||||
}
|
||||
|
||||
|
||||
@@ -14,8 +14,9 @@ export default class Home extends Vue {
|
||||
displaycard: string = 'block'
|
||||
svgclass: string = 'svgclass'
|
||||
$t: any
|
||||
|
||||
firstClassSection: string = 'landing fade homep-cover-img animate-fade homep-cover-img-1'
|
||||
public $q
|
||||
polling
|
||||
|
||||
constructor() {
|
||||
super()
|
||||
@@ -23,17 +24,36 @@ export default class Home extends Vue {
|
||||
this.initprompt()
|
||||
}
|
||||
|
||||
created() {
|
||||
// console.log('Home created...')
|
||||
mounted() {
|
||||
let primo = true
|
||||
let mytime = 10000
|
||||
this.polling = setInterval(() => {
|
||||
|
||||
this.firstClassSection = 'landing fade homep-cover-img ' + (primo ? 'homep-cover-img-2' : 'homep-cover-img-1')
|
||||
primo = !primo
|
||||
|
||||
console.log('this.firstClassSection', this.firstClassSection)
|
||||
|
||||
}, mytime)
|
||||
}
|
||||
|
||||
beforeDestroy() {
|
||||
console.log('beforeDestroy')
|
||||
clearInterval(this.polling)
|
||||
}
|
||||
created() {
|
||||
|
||||
GlobalStore.actions.prova()
|
||||
}
|
||||
|
||||
get isLogged(){
|
||||
get isLogged() {
|
||||
return UserStore.state.isLogged
|
||||
}
|
||||
|
||||
get TelegramSupport() {
|
||||
return process.env.TELEGRAM_SUPPORT
|
||||
}
|
||||
|
||||
|
||||
meta() {
|
||||
return {
|
||||
@@ -60,6 +80,10 @@ export default class Home extends Vue {
|
||||
return GlobalStore.state.conta
|
||||
}
|
||||
|
||||
getenv(myvar) {
|
||||
return process.env[myvar]
|
||||
}
|
||||
|
||||
set conta(valore) {
|
||||
GlobalStore.actions.setConta(valore)
|
||||
let my = this.$q.i18n.lang
|
||||
@@ -177,7 +201,7 @@ export default class Home extends Vue {
|
||||
tag: 'confirm-notification',
|
||||
renotify: true, // if it's already sent, will Vibrate anyway
|
||||
actions: [
|
||||
{ action: 'confirm', title: mythis.$t('dialog.ok'), icon: '/statics/icons/android-chrome-192x192.png', }
|
||||
{ action: 'confirm', title: mythis.$t('dialog.ok'), icon: '/statics/icons/android-chrome-192x192.png' }
|
||||
// { action: 'cancel', title: 'Cancel', icon: '/statics/icons/android-chrome-192x192.png', }
|
||||
]
|
||||
}
|
||||
@@ -194,13 +218,12 @@ export default class Home extends Vue {
|
||||
askfornotification() {
|
||||
this.showNotif(this.$t('notification.waitingconfirm'), 'positive', 'notifications')
|
||||
|
||||
let mythis = this
|
||||
Notification.requestPermission(function (result) {
|
||||
Notification.requestPermission((result) => {
|
||||
console.log('User Choice', result)
|
||||
if (result === 'granted') {
|
||||
mythis.showNotif(mythis.$t('notification.confirmed'), 'positive', 'notifications')
|
||||
this.showNotif(this.$t('notification.confirmed'), 'positive', 'notifications')
|
||||
} else {
|
||||
mythis.showNotif(mythis.$t('notification.denied'), 'negative', 'notifications')
|
||||
this.showNotif(this.$t('notification.denied'), 'negative', 'notifications')
|
||||
|
||||
// displayConfirmNotification();
|
||||
}
|
||||
@@ -248,4 +271,21 @@ export default class Home extends Vue {
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
backgroundSequence() {
|
||||
window.clearTimeout()
|
||||
let k = 0
|
||||
for (let i = 0; i < bgImageArray.length; i++) {
|
||||
const mythis = this
|
||||
setTimeout(function() {
|
||||
document.documentElement.style.background = 'url(' + mythis.base + mythis.bgImageArray[k] + ') no-repeat center center fixed'
|
||||
document.documentElement.style.backgroundSize = 'cover'
|
||||
if ((k + 1) === mythis.bgImageArray.length) { setTimeout(function() { mythis.backgroundSequence() }, (mythis.secs * 1000))} else { k++ }
|
||||
}, (mythis.secs * 1000) * i)
|
||||
}
|
||||
}
|
||||
backgroundSequence()
|
||||
*/
|
||||
}
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
<template>
|
||||
<q-page class="text-white">
|
||||
<div class="landing">
|
||||
<div :class="firstClassSection">
|
||||
<section>
|
||||
<div class="landing__hero">
|
||||
<div class="landing__header"></div>
|
||||
@@ -15,9 +15,15 @@
|
||||
</div>
|
||||
<div class="text-subtitle1 shadow 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 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>
|
||||
|
||||
|
||||
|
||||
<!--
|
||||
<q-btn>
|
||||
@@ -39,7 +45,8 @@
|
||||
</div>
|
||||
<div v-else>
|
||||
<div v-if="!isLogged" style="margin: 5px; padding: 5px;" class="home">
|
||||
<q-btn rounded size="lg" color="primary" @click="PagLogin" class="btn-start">
|
||||
<q-btn rounded size="lg" color="primary" @click="PagLogin"
|
||||
class="btn-start">
|
||||
{{$t('login.enter')}}
|
||||
</q-btn>
|
||||
<q-btn rounded size="lg" color="positive" @click="PagReg" class="btn-start">
|
||||
@@ -48,59 +55,134 @@
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div>
|
||||
<q-field
|
||||
v-if="getPermission() === 'granted'"
|
||||
icon="notifications"
|
||||
class="shadow"
|
||||
:label="$t('notification.titlegranted')"
|
||||
:helper="$t('notification.statusnot')">
|
||||
</q-field>
|
||||
<q-field
|
||||
v-if="NotServiceWorker()"
|
||||
class="shadow"
|
||||
icon="notifications"
|
||||
label="Service Worker not present"
|
||||
>
|
||||
</q-field>
|
||||
<div v-if="isLogged">
|
||||
<div>
|
||||
<!--<q-field-->
|
||||
<!--v-if="getPermission() === 'granted'"-->
|
||||
<!--icon="notifications"-->
|
||||
<!--class="shadow"-->
|
||||
<!--:label="$t('notification.titlegranted')"-->
|
||||
<!--:helper="$t('notification.statusnot')">-->
|
||||
<!--</q-field>-->
|
||||
<q-field
|
||||
v-if="NotServiceWorker()"
|
||||
class="shadow"
|
||||
icon="notifications"
|
||||
label="Service Worker not present"
|
||||
>
|
||||
</q-field>
|
||||
</div>
|
||||
|
||||
<div>
|
||||
<q-btn v-if="getPermission() !== 'granted'"
|
||||
class="enable-notifications shadow"
|
||||
color="primary" rounded
|
||||
size="md"
|
||||
icon="notifications" @click="askfornotification"
|
||||
:label="$t('notification.ask')"/>
|
||||
<!--<q-btn v-if="getPermission() === 'granted'" class="enable-notifications" color="primary" rounded size="lg" icon="notifications" @click="showNotificationExample" label="Send Notification"/>-->
|
||||
<!--<q-btn v-if="getPermission() === 'granted'" class="enable-notifications" color="secondary" rounded size="lg" icon="notifications" @click="createPushSubscription" label="Create Push Subscription !"/>-->
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div>
|
||||
<q-btn v-if="getPermission() !== 'granted'" class="enable-notifications shadow"
|
||||
color="primary" rounded
|
||||
size="lg"
|
||||
icon="notifications" @click="askfornotification"
|
||||
:label="$t('notification.ask')"/>
|
||||
<!--<q-btn v-if="getPermission() === 'granted'" class="enable-notifications" color="primary" rounded size="lg" icon="notifications" @click="showNotificationExample" label="Send Notification"/>-->
|
||||
<!--<q-btn v-if="getPermission() === 'granted'" class="enable-notifications" color="secondary" rounded size="lg" icon="notifications" @click="createPushSubscription" label="Create Push Subscription !"/>-->
|
||||
|
||||
<div class="q-pt-md q-pl-sm">
|
||||
<div class="text-body2">Ver. {{getenv('APP_VERSION')}}</div>
|
||||
</div>
|
||||
|
||||
<!--<div class="q-pt-md q-pl-sm">-->
|
||||
<!--<div class="landing__hero-btns q-gutter-md row items-center"><a tabindex="0"-->
|
||||
<!--type="button"-->
|
||||
<!--href="/introduction-to-quasar"-->
|
||||
<!--class="q-btn inline relative-position q-btn-item non-selectable q-btn--rectangle bg-white text-primary q-focusable q-hoverable q-btn--push">-->
|
||||
<!--<div class="q-focus-helper"></div>-->
|
||||
<!--<div class="q-btn__content text-center col items-center q-anchor--skip justify-center row">-->
|
||||
<!--<div>About</div>-->
|
||||
<!--</div>-->
|
||||
<!--</a><a tabindex="0" type="button" href="/start"-->
|
||||
<!--class="q-btn inline relative-position q-btn-item non-selectable q-btn--rectangle bg-white text-primary q-focusable q-hoverable q-btn--push">-->
|
||||
<!--<div class="q-focus-helper"></div>-->
|
||||
<!--<div class="q-btn__content text-center col items-center q-anchor--skip justify-center row">-->
|
||||
<!--<div>Get started</div>-->
|
||||
<!--</div>-->
|
||||
<!--</a>-->
|
||||
<!--<div class="text-body2">v1.0.0-beta.4</div>-->
|
||||
<!--</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>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<section class="padding bg-white text-grey-10 text-center">
|
||||
<div class="landing__features row items-start q-col-gutter-xl">
|
||||
<div class="col-12 text-center">
|
||||
<div class="feature-item q-mx-md"><img src="statics/images/group-together.jpg"
|
||||
class="doc-img"></div>
|
||||
</div>
|
||||
<div class="col-12 text-center"><h4>{{$t('homepage.descrapp_title1')}}</h4>
|
||||
<p v-html="$t('homepage.descrapp_pag1')"></p>
|
||||
<p v-html="$t('homepage.descrapp_pag2')"></p>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
<section class="padding bg-primary landing__swirl-bg">
|
||||
<div class="landing__features row justify-between items-start q-col-gutter-xl">
|
||||
<div class="col-12 col-sm-5">
|
||||
<div class="feature-item"><i aria-hidden="true"
|
||||
class="q-icon fas fa-users"> </i><h4>
|
||||
{{$t('homepage.freesocial.title')}}</h4>
|
||||
<p class="feat-descr" v-html="$t('homepage.freesocial.descr')"></p></div>
|
||||
</div>
|
||||
<div class="col-12 col-sm-5">
|
||||
<div class="feature-item"><i aria-hidden="true"
|
||||
class="q-icon fas fa-users"> </i><h4>
|
||||
{{$t('homepage.freetalent.title')}}</h4>
|
||||
<p class="feat-descr" v-html="$t('homepage.freetalent.descr')"></p></div>
|
||||
</div>
|
||||
<div class="col-12 col-sm-5">
|
||||
<div class="feature-item"><i aria-hidden="true"
|
||||
class="q-icon fas fa-users"> </i><h4>
|
||||
{{$t('homepage.freegas.title')}}</h4>
|
||||
<p class="feat-descr" v-html="$t('homepage.freegas.descr')"></p></div>
|
||||
</div>
|
||||
<div class="col-12 col-sm-5">
|
||||
<div class="feature-item"><i aria-hidden="true"
|
||||
class="q-icon fas fa-users"> </i><h4>
|
||||
{{$t('homepage.free.title')}}</h4>
|
||||
<p class="feat-descr" v-html="$t('homepage.free.descr')"></p></div>
|
||||
</div>
|
||||
<div class="col-12 col-sm-5">
|
||||
<div class="feature-item"><i aria-hidden="true"
|
||||
class="q-icon fas fa-browser"> </i>
|
||||
<div class="q-gutter-sm"><i aria-hidden="true"
|
||||
class="q-icon fas fa-browser"> </i><i
|
||||
aria-hidden="true" class="q-icon fab fa-chrome"> </i><i
|
||||
aria-hidden="true" class="q-icon fab fa-firefox"> </i><i
|
||||
aria-hidden="true" class="q-icon fab fa-safari"> </i><i
|
||||
aria-hidden="true" class="q-icon fab fa-edge"> </i></div>
|
||||
|
||||
<h4>{{$t('homepage.multiplatform.title')}}</h4>
|
||||
<p class="feat-descr" v-html="$t('homepage.multiplatform.descr')"></p></div>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
<section class="landing__footer">
|
||||
<div class="text-center">
|
||||
<div class="landing__footer-icons row flex-center">
|
||||
<a :href="TelegramSupport" target="_blank"><i aria-hidden="true"
|
||||
class="q-icon fab fa-telegram dark"></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 class="q-mt-md">Released under the
|
||||
<!--<a href="https://github.com/quasarframework/quasar/blob/dev/LICENSE" target="_blank"-->
|
||||
<!--rel="noopener noreferrer" class="doc-link">-->
|
||||
MIT LICENSE
|
||||
<!--<i aria-hidden="true"-->
|
||||
<!--class="q-icon material-icons">launch</i></a>-->
|
||||
<!--| <a href="https://www.iubenda.com/privacy-policy/40685560" target="_blank"-->
|
||||
<!--rel="noopener noreferrer" class="doc-link">Privacy Policy<i aria-hidden="true"-->
|
||||
<!--class="q-icon material-icons">launch</i></a>-->
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</section>
|
||||
|
||||
</div>
|
||||
|
||||
</q-page>
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user