- fix Header and Drawer Right
- fix Drawer Menu Left - add icon on the Header - fix lang if is different language: set to English.
This commit is contained in:
@@ -1,4 +1,4 @@
|
||||
APP_VERSION="0.0.52"
|
||||
APP_VERSION="0.0.53"
|
||||
SERVICE_WORKER_FILE="service-worker.js"
|
||||
APP_ID="1"
|
||||
APP_URL="https://freeplanet.app"
|
||||
|
||||
@@ -171,6 +171,9 @@ module.exports = function (ctx) {
|
||||
'QPopupEdit',
|
||||
'QCarousel',
|
||||
'QCarouselControl',
|
||||
'QPageScroller',
|
||||
'QAvatar',
|
||||
'QImg',
|
||||
'QCarouselSlide'
|
||||
],
|
||||
directives: [
|
||||
|
||||
@@ -1,18 +1,17 @@
|
||||
<template>
|
||||
<div id="q-app">
|
||||
<q-layout :style="">
|
||||
<div class="q-pa-xs">
|
||||
<q-layout view="hHh Lpr lff" class="shadow-2 rounded-borders">
|
||||
<app-header></app-header>
|
||||
<div class="layout-view">
|
||||
<q-ajax-bar></q-ajax-bar>
|
||||
|
||||
<q-page-container>
|
||||
<transition name="fade" mode="out-in">
|
||||
<router-view/>
|
||||
</transition>
|
||||
</q-page-container>
|
||||
</div>
|
||||
</q-layout>
|
||||
<!--<appsignup v-show="true" @close="myshowModal=false"></appsignup>-->
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
<script lang="ts" src="./App.ts">
|
||||
|
||||
@@ -14,28 +14,10 @@ export default ({ app, store, Vue }) => {
|
||||
// console.log(`LANG NAVIGATOR ${mylang}`)
|
||||
}
|
||||
|
||||
if (mylang === '')
|
||||
mylang = process.env.LANG_DEFAULT;
|
||||
mylang = tools.checkLangPassed(mylang)
|
||||
|
||||
if (mylang.toLowerCase() === 'es-es')
|
||||
mylang = 'es'
|
||||
|
||||
// console.log('MYLANG2=', mylang)
|
||||
// console.log('process.env.LANG_DEFAULT=', process.env.LANG_DEFAULT)
|
||||
Vue.config.lang = mylang
|
||||
|
||||
// import(`quasar/lang/${mylang}`).then(lang => {
|
||||
// console.log(' ... LANGDEFAULT=', lang)
|
||||
// this.$q.i18n.set(lang.default)
|
||||
// import(`src/statics/i18n`).then(function () {
|
||||
// })
|
||||
// })
|
||||
|
||||
// console.log("PLUGINS INIT....");
|
||||
|
||||
// console.log("LANG_DEFAULT: ")
|
||||
// console.log(process.env.LANG_DEFAULT)
|
||||
|
||||
// Set i18n instance on app
|
||||
app.i18n = new VueI18n({
|
||||
fallbackLocale: mylang,
|
||||
|
||||
@@ -284,4 +284,5 @@ canvas {
|
||||
|
||||
.btnNewVersShow {
|
||||
display: inline-block;
|
||||
padding: 4px 2px;
|
||||
}
|
||||
|
||||
@@ -31,6 +31,8 @@ export default class Header extends Vue {
|
||||
public clCloudDownload: string = ''
|
||||
public clCloudUp_Indexeddb: string = ''
|
||||
public clCloudDown_Indexeddb: string = 'clIndexeddbsend'
|
||||
public right: boolean = false
|
||||
public photo = ''
|
||||
|
||||
public selectOpLang = [
|
||||
{ label: 'English', icon: 'fa-flag-us', value: 'enUs', image: '../statics/images/gb.png', short: 'EN' },
|
||||
@@ -43,6 +45,10 @@ export default class Header extends Vue {
|
||||
return GlobalStore.state.stateConnection
|
||||
}
|
||||
|
||||
get isonline() {
|
||||
return GlobalStore.state.stateConnection === 'online'
|
||||
}
|
||||
|
||||
get isAdmin() {
|
||||
return UserStore.state.isAdmin
|
||||
}
|
||||
@@ -97,7 +103,7 @@ export default class Header extends Vue {
|
||||
}
|
||||
|
||||
set lang(lang) {
|
||||
console.log('set lang(' + this.$i18n.locale)
|
||||
console.log('set lang', this.$i18n.locale)
|
||||
this.$i18n.locale = this.snakeToCamel(lang)
|
||||
// tools.showNotif(this.$q, 'IMPOSTA LANG= ' + this.$i18n.locale)
|
||||
// console.log('IMPOSTA LANG= ' + this.$i18n.locale)
|
||||
@@ -106,16 +112,10 @@ export default class Header extends Vue {
|
||||
|
||||
let mylangtopass = lang
|
||||
|
||||
mylangtopass = tools.checkLangPassed(mylangtopass)
|
||||
|
||||
this.setshortlang(mylangtopass)
|
||||
|
||||
if (mylangtopass === 'enUs') {
|
||||
mylangtopass = 'en-us'
|
||||
}
|
||||
|
||||
if (mylangtopass === 'es') {
|
||||
mylangtopass = 'es'
|
||||
}
|
||||
|
||||
this.setLangAtt(mylangtopass)
|
||||
}
|
||||
|
||||
@@ -148,7 +148,7 @@ export default class Header extends Vue {
|
||||
|
||||
@Watch('conn_changed', { immediate: true, deep: true })
|
||||
public changeconn_changed(value: string, oldValue: string) {
|
||||
if (value != oldValue) {
|
||||
if (value !== oldValue) {
|
||||
|
||||
// console.log('SSSSSSSS: ', value, oldValue)
|
||||
|
||||
@@ -167,7 +167,7 @@ export default class Header extends Vue {
|
||||
|
||||
public RefreshApp() {
|
||||
// Unregister Service Worker
|
||||
navigator.serviceWorker.getRegistrations().then(function(registrations) {
|
||||
navigator.serviceWorker.getRegistrations().then((registrations) => {
|
||||
for (const registration of registrations) {
|
||||
registration.unregister()
|
||||
}
|
||||
@@ -208,13 +208,13 @@ export default class Header extends Vue {
|
||||
|
||||
public setLangAtt(mylang) {
|
||||
console.log('MYLL=', mylang)
|
||||
console.log('PRIMA this.$q.lang.isoName', this.$q.lang.isoName)
|
||||
// console.log('PRIMA this.$q.lang.isoName', this.$q.lang.isoName)
|
||||
|
||||
// dynamic import, so loading on demand only
|
||||
import(`quasar/lang/${mylang}`).then((lang) => {
|
||||
Quasar.lang.set(lang.default)
|
||||
import(`../../statics/i18n`).then(() => {
|
||||
console.log('MY LANG DOPO=', this.$q.lang.isoName)
|
||||
// console.log('MY LANG DOPO=', this.$q.lang.isoName)
|
||||
})
|
||||
})
|
||||
|
||||
@@ -225,36 +225,23 @@ export default class Header extends Vue {
|
||||
public beforeMount() {
|
||||
// Estrai la Lang dal Localstorage
|
||||
|
||||
console.log('this.$q.i18n=', this.$q.i18n, 'this.$q.getLocale()=', this.$q.lang.isoName)
|
||||
const my = this.getLangAtt()
|
||||
// console.log('this.$q.i18n=', this.$q.i18n, 'this.$q.getLocale()=', this.$q.lang.isoName)
|
||||
const mybrowserLang = this.getLangAtt()
|
||||
// tools.showNotif(this.$q, 'prima: ' + String(my))
|
||||
|
||||
let mylang = tools.getItemLS(tools.localStorage.lang)
|
||||
if (mylang === '') {
|
||||
if (navigator) {
|
||||
mylang = navigator.language
|
||||
console.log(`LANG2 NAVIGATOR ${mylang}`)
|
||||
// console.log(`LANG2 NAVIGATOR ${mylang}`)
|
||||
} else {
|
||||
mylang = this.$q.lang.isoName
|
||||
}
|
||||
|
||||
console.log('IMPOSTA LANGMY', mylang)
|
||||
}
|
||||
if (mylang !== '') {
|
||||
if (mylang.toLowerCase() === 'enus') {
|
||||
mylang = 'enUs'
|
||||
}
|
||||
if ((mylang.toLowerCase() === 'es') || (mylang.toLowerCase() === 'es-es')) {
|
||||
mylang = 'es'
|
||||
}
|
||||
if ((mylang.toLowerCase() === 'enus') || (mylang.toLowerCase() === 'en-us')) {
|
||||
mylang = 'enUs'
|
||||
}
|
||||
// console.log('IMPOSTA LANGMY', mylang)
|
||||
}
|
||||
|
||||
if (!mylang) {
|
||||
mylang = process.env.LANG_DEFAULT
|
||||
}
|
||||
mylang = tools.checkLangPassed(mylang)
|
||||
|
||||
this.setLangAtt(mylang)
|
||||
this.setshortlang(mylang)
|
||||
@@ -269,7 +256,7 @@ export default class Header extends Vue {
|
||||
const mythis = this
|
||||
// console.log('Event LOAD')
|
||||
if (window) {
|
||||
window.addEventListener('load', function() {
|
||||
window.addEventListener('load', () => {
|
||||
// console.log('2) ENTERING Event LOAD')
|
||||
|
||||
function updateOnlineStatus(event) {
|
||||
@@ -297,4 +284,38 @@ export default class Header extends Vue {
|
||||
return m[1].toUpperCase()
|
||||
})
|
||||
}
|
||||
|
||||
get imglogo() {
|
||||
return '../../' + tools.getimglogo()
|
||||
}
|
||||
|
||||
get MenuCollapse() {
|
||||
return GlobalStore.state.menuCollapse
|
||||
// return true
|
||||
}
|
||||
|
||||
get Username() {
|
||||
return UserStore.state.username
|
||||
}
|
||||
|
||||
get Verificato() {
|
||||
return UserStore.state.verified_email
|
||||
}
|
||||
|
||||
get Email() {
|
||||
return UserStore.state.email
|
||||
}
|
||||
|
||||
public logoutHandler() {
|
||||
UserStore.actions.logout()
|
||||
.then(() => {
|
||||
this.$router.replace('/logout')
|
||||
|
||||
setTimeout(() => {
|
||||
this.$router.replace('/')
|
||||
}, 1000)
|
||||
|
||||
tools.showNotif(this.$q, this.$t('logout.uscito'), {icon: 'exit_to_app'})
|
||||
})
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,28 +1,18 @@
|
||||
<template>
|
||||
<div>
|
||||
|
||||
<!--
|
||||
<router-link :to="'/'" v-if="$router.currentRoute.meta.backButton">
|
||||
<button>
|
||||
<i>arrow_back</i>
|
||||
</button>
|
||||
</router-link>
|
||||
-->
|
||||
<q-header elevated>
|
||||
<q-header reveal elevated class="bg-primary text-white">
|
||||
<q-toolbar
|
||||
color="primary"
|
||||
:glossy="$q.theme === 'mat'"
|
||||
:inverted="$q.theme === 'ios'"
|
||||
class="toolbar"
|
||||
>
|
||||
class="toolbar">
|
||||
|
||||
<q-btn
|
||||
flat
|
||||
dense
|
||||
round
|
||||
@click="leftDrawerOpen = !leftDrawerOpen"
|
||||
aria-label="Menu"
|
||||
>
|
||||
aria-label="Menu">
|
||||
<q-icon name="menu"/>
|
||||
</q-btn>
|
||||
|
||||
@@ -39,15 +29,22 @@
|
||||
<!--I'm only rendered on Electron!-->
|
||||
</div>
|
||||
|
||||
<q-btn id="newvers" v-if="isNewVersionAvailable" color="secondary" rounded icon="refresh"
|
||||
<q-btn ripple
|
||||
size="md"
|
||||
id="newvers" v-if="isNewVersionAvailable" color="secondary" rounded icon="refresh"
|
||||
class="btnNewVersShow" @click="RefreshApp" :label="$t('notification.newVersionAvailable')"/>
|
||||
|
||||
|
||||
<q-toolbar-title>
|
||||
<q-avatar>
|
||||
<img :src="imglogo" height="27">
|
||||
</q-avatar>
|
||||
{{$t('msg.myAppName')}}
|
||||
<div slot="subtitle">{{$t('msg.myDescriz')}} {{ getAppVersion() }}</div>
|
||||
</q-toolbar-title>
|
||||
|
||||
|
||||
<!--
|
||||
<div v-if="isAdmin">
|
||||
<q-btn flat dense round aria-label="">
|
||||
<q-icon :class="clCloudUpload" name="cloud_upload"></q-icon>
|
||||
@@ -58,8 +55,10 @@
|
||||
</q-btn>
|
||||
|
||||
</div>
|
||||
-->
|
||||
|
||||
<q-btn
|
||||
v-if="!isonline"
|
||||
flat
|
||||
dense
|
||||
round
|
||||
@@ -102,12 +101,16 @@
|
||||
<label>{{ $t('msg.hello') }}</label> <span v-model="prova"></span> !
|
||||
</div>-->
|
||||
|
||||
<q-btn dense flat round icon="menu" @click="right = !right" />
|
||||
|
||||
</q-toolbar>
|
||||
|
||||
</q-header>
|
||||
|
||||
<q-drawer side="left"
|
||||
bordered
|
||||
show-if-above
|
||||
:breakpoint="500"
|
||||
v-model="leftDrawerOpen"
|
||||
:content-class="['bg-grey-1', 'q-pa-sm']"
|
||||
:content-style="{padding: '0px'}"
|
||||
@@ -115,6 +118,28 @@
|
||||
<drawer></drawer>
|
||||
|
||||
</q-drawer>
|
||||
|
||||
<q-drawer v-model="right" side="right" overlay bordered>
|
||||
<div id="profile" v-if="Username">
|
||||
<q-img class="absolute-top" src="https://cdn.quasar-framework.org/img/material.png" style="height: 150px">
|
||||
<div class="absolute-bottom bg-transparent">
|
||||
|
||||
<q-avatar class="q-mb-sm">
|
||||
<img src="../../statics/images/avatar-1.svg">
|
||||
</q-avatar>
|
||||
<div class="text-weight-bold">{{ Username }}</div>
|
||||
<!--<span class="text-white" v-if="Verificato"> {{$t('reg.verificato')}} </span>-->
|
||||
<!--<span class="text-white background-red" v-else> {{$t('reg.non_verificato')}} </span>-->
|
||||
<div id="user-actions">
|
||||
<q-btn round color="primary" icon="person"></q-btn>
|
||||
<q-btn round color="warning" icon="lock"></q-btn>
|
||||
<q-btn round color="secondary" icon="exit_to_app" @click='logoutHandler'></q-btn>
|
||||
</div>
|
||||
</div>
|
||||
</q-img>
|
||||
|
||||
</div>
|
||||
</q-drawer>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
|
||||
@@ -5,19 +5,20 @@ import { TimelineLite, Back } from 'gsap'
|
||||
|
||||
import $ from 'jquery'
|
||||
import Timeout = NodeJS.Timeout
|
||||
import { tools } from "@src/store/Modules/tools"
|
||||
|
||||
@Component({
|
||||
|
||||
})
|
||||
export default class Logo extends Vue {
|
||||
logoimg: string = ''
|
||||
public logoimg: string = ''
|
||||
|
||||
created() {
|
||||
this.logoimg = 'statics/images/' + process.env.LOGO_REG
|
||||
public created() {
|
||||
this.logoimg = '../../' + tools.getimglogo()
|
||||
this.animate()
|
||||
}
|
||||
|
||||
animate () {
|
||||
public animate() {
|
||||
const timeline = new TimelineLite()
|
||||
|
||||
/*
|
||||
@@ -31,7 +32,6 @@ export default class Logo extends Vue {
|
||||
mysmile.addClass('smile_hide')
|
||||
}, 1000)
|
||||
|
||||
|
||||
setTimeout(() => {
|
||||
mysmile.addClass('smilevisible')
|
||||
mysmile.removeClass('smile_hide')
|
||||
@@ -39,7 +39,6 @@ export default class Logo extends Vue {
|
||||
|
||||
*/
|
||||
|
||||
|
||||
/*
|
||||
timeline.to('#smile', 5, {
|
||||
cy: 20,
|
||||
|
||||
@@ -230,6 +230,11 @@ $heightdescr: 20px;
|
||||
line-height: $heightitem;
|
||||
padding-left: 2px;
|
||||
padding-right: 0px;
|
||||
|
||||
@media (max-width: 600px) {
|
||||
display: none;
|
||||
}
|
||||
|
||||
//height: $heightBtn;
|
||||
//line-height: $heightBtn;
|
||||
}
|
||||
@@ -265,6 +270,8 @@ $heightdescr: 20px;
|
||||
color: blue !important;
|
||||
overflow: hidden;
|
||||
|
||||
align-items: center;
|
||||
|
||||
vertical-align: middle;
|
||||
line-height: 120%;
|
||||
|
||||
|
||||
@@ -1,12 +1,5 @@
|
||||
<template>
|
||||
<div :class="getClassRow()" @click="clickRow">
|
||||
<!--<div v-if="isTodo()" class="flex-item counter-item dragula-container">{{itemtodo.pos}}</div>-->
|
||||
<!--<div v-if="isFirst">-->
|
||||
<!--<q-context-menu ref="contextMenu">-->
|
||||
<!--<SubMenus :menuPopupTodo="menuPopupTodo" :itemtodo="itemtodo" @clickMenu="clickMenu" @setPriority="setPriority"></SubMenus>-->
|
||||
<!--</q-context-menu>-->
|
||||
<!--</div>-->
|
||||
|
||||
<div v-if="isTodo()" class="flex-item completed-item donotdrag">
|
||||
<q-btn push flat
|
||||
:class="classCompleted"
|
||||
@@ -19,6 +12,7 @@
|
||||
<q-input v-if="sel && !itemtodo.completed" hide-underline type="textarea" ref="inputdescr"
|
||||
v-model.trim="precDescr"
|
||||
autogrow
|
||||
borderless
|
||||
dense
|
||||
:class="classDescrEdit" :max-height="100"
|
||||
@keydown="keyDownArea" v-on:keydown.esc="exitEdit" @blur="exitEdit(true)" @click="editTodo()"/>
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
<div>
|
||||
<q-list separator no-border class="todo-menu">
|
||||
<div v-for="field in menuPopupTodo" :key="field.value">
|
||||
<q-item clickable v-ripple v-if="(field.value !== 130) && (field.value !== 100)" :icon="field.icon"
|
||||
<q-item clickable v-if="(field.value !== 130) && (field.value !== 100)" :icon="field.icon"
|
||||
@click.native="clickMenu(field.value)">
|
||||
<q-item-section avatar>
|
||||
<q-icon :name="field.icon"/>
|
||||
|
||||
@@ -10,22 +10,26 @@
|
||||
<q-menu id="popconfig" self="top right">
|
||||
<q-list link separator no-border class="todo-menu">
|
||||
<div v-for="field in menuPopupConfigTodo" :key="field.value">
|
||||
<q-item :icon="field.icon"
|
||||
@click.native="">
|
||||
<q-item-section :icon="field.icon"/>
|
||||
<q-item clickable>
|
||||
|
||||
<q-item-section avatar>
|
||||
<q-icon :name="field.icon"/>
|
||||
</q-item-section>
|
||||
|
||||
<q-item-section>
|
||||
<q-item-label v-if="showTask(field.value)">
|
||||
|
||||
<q-select
|
||||
radio
|
||||
color="secondary"
|
||||
:float-label="field.label"
|
||||
:label="field.label"
|
||||
v-model="showtype"
|
||||
:options="listOptionShowTask"/>
|
||||
</q-item-label>
|
||||
<q-item-label v-else>
|
||||
<q-item-section label class="item-menu">{{field.label}}</q-item-section>
|
||||
<q-item-section label class="item-menu">{{field.label}}
|
||||
</q-item-section>
|
||||
</q-item-label>
|
||||
</q-item-section>
|
||||
</q-item>
|
||||
</div>
|
||||
</q-list>
|
||||
|
||||
@@ -29,10 +29,10 @@
|
||||
}
|
||||
|
||||
#user-actions {
|
||||
left: 90px;
|
||||
bottom: 71px;
|
||||
position: relative;
|
||||
width: 171px;
|
||||
//left: 90px;
|
||||
//bottom: 40px;
|
||||
//position: relative;
|
||||
//width: 171px;
|
||||
}
|
||||
|
||||
#menu-collapse {
|
||||
|
||||
@@ -4,7 +4,7 @@ import { UserStore } from '@modules'
|
||||
import { GlobalStore } from '@modules'
|
||||
import Vue from 'vue'
|
||||
import { Component, Prop } from 'vue-property-decorator'
|
||||
import { tools } from "@src/store/Modules/tools"
|
||||
import { tools } from '@src/store/Modules/tools'
|
||||
|
||||
const namespace: string = 'GlobalModule'
|
||||
|
||||
@@ -17,37 +17,7 @@ const namespace: string = 'GlobalModule'
|
||||
export default class Drawer extends Vue {
|
||||
public $q
|
||||
public $t: any
|
||||
public photo = ''
|
||||
public user = null
|
||||
|
||||
|
||||
get MenuCollapse() {
|
||||
return GlobalStore.state.menuCollapse
|
||||
// return true
|
||||
}
|
||||
|
||||
get Username() {
|
||||
return UserStore.state.username
|
||||
}
|
||||
|
||||
get Verificato() {
|
||||
return UserStore.state.verified_email
|
||||
}
|
||||
|
||||
get Email() {
|
||||
return UserStore.state.email
|
||||
}
|
||||
|
||||
public logoutHandler() {
|
||||
UserStore.actions.logout()
|
||||
.then(() => {
|
||||
this.$router.replace('/logout')
|
||||
|
||||
setTimeout(() => {
|
||||
this.$router.replace('/')
|
||||
}, 1000)
|
||||
|
||||
tools.showNotif(this.$q, this.$t('logout.uscito'), {icon: 'exit_to_app'})
|
||||
})
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,33 +1,6 @@
|
||||
<template>
|
||||
<div>
|
||||
<div id="profile" v-if="Username">
|
||||
<img :src="photo" style='height: 80px' class="inline-block">
|
||||
<img src="../img/avatar-1.svg" id="avatar" class="inline-block">
|
||||
<div id="user-name">
|
||||
<span class="text-white"> {{ Username }} </span>
|
||||
<hr>
|
||||
<span class="text-white" v-if="Verificato"> {{$t('reg.verificato')}} </span>
|
||||
<span class="text-white background-red" v-else> {{$t('reg.non_verificato')}} </span>
|
||||
<!-- <span class="text-white"> {{ Email }} </span>-->
|
||||
</div>
|
||||
<div id="user-actions">
|
||||
<q-btn round color="primary" icon="person"></q-btn>
|
||||
<q-btn round color="warning" icon="lock"></q-btn>
|
||||
<q-btn round color="secondary" icon="exit_to_app" @click='logoutHandler'></q-btn>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
<menu-one></menu-one>
|
||||
|
||||
<!--<footer>
|
||||
<small>- Small</small>
|
||||
</footer>-->
|
||||
|
||||
<!--<div class="fixed-bottom text-center light text-italic">-->
|
||||
<!--Powered by Perseo-->
|
||||
<!--</div>-->
|
||||
|
||||
</div>
|
||||
</template>
|
||||
|
||||
|
||||
Binary file not shown.
|
Before Width: | Height: | Size: 62 KiB |
Binary file not shown.
|
Before Width: | Height: | Size: 6.5 KiB |
@@ -1,8 +1,6 @@
|
||||
<template>
|
||||
<div class="list no-border platform-delimiter light-paragraph">
|
||||
<q-icon name="action"/>
|
||||
|
||||
<q-list bordered class="rounded-borders text-primary">
|
||||
<q-list class="rounded-borders text-primary">
|
||||
<template v-for="(parent, index) in getmenu">
|
||||
<div class="q-list-header">{{replaceUnderlineToSpace(index)}}</div>
|
||||
<div v-for="item in parent.routes">
|
||||
@@ -31,7 +29,6 @@
|
||||
<div v-show="true">
|
||||
<q-item
|
||||
clickable
|
||||
v-ripple
|
||||
exact
|
||||
:to="item.route"
|
||||
active-class="my-menu-link">
|
||||
|
||||
@@ -65,7 +65,7 @@ p {
|
||||
}
|
||||
|
||||
.landing__hero {
|
||||
min-height: 100vh
|
||||
min-height: 50vh
|
||||
}
|
||||
|
||||
.landing__header {
|
||||
@@ -146,7 +146,7 @@ h4 {
|
||||
opacity: 0.9;
|
||||
}
|
||||
|
||||
.q-col-gutter-xl {
|
||||
.q-col-gutter-sm {
|
||||
padding: 50px 50px;
|
||||
//margin-left: -48px
|
||||
}
|
||||
@@ -260,12 +260,12 @@ body.mobile .landing:before {
|
||||
}
|
||||
|
||||
.homep-cover-img-2 {
|
||||
background: #000 url(../../statics/images/mountains.jpg) no-repeat 50% fixed;
|
||||
background: #000 url(../../statics/images/hand_people.jpg) no-repeat 50% fixed;
|
||||
//transition: background-image 1s ease-in-out;
|
||||
}
|
||||
|
||||
.homep-cover-img-3 {
|
||||
background: #000 url(../../statics/images/all_together.jpg) no-repeat 50% fixed;
|
||||
background: #000 url(../../statics/images/cibo_sano.jpg) no-repeat 50% fixed;
|
||||
//transition: background-image 1s ease-in-out;
|
||||
}
|
||||
|
||||
@@ -347,7 +347,7 @@ body.mobile .landing:before {
|
||||
justify-content: center
|
||||
}
|
||||
|
||||
.q-col-gutter-xl {
|
||||
.q-col-gutter-sm {
|
||||
padding: 10px 5px;
|
||||
}
|
||||
|
||||
|
||||
@@ -5,16 +5,17 @@
|
||||
<div class="landing__hero">
|
||||
<q-carousel
|
||||
animated
|
||||
:autoplay="7000"
|
||||
:autoplay="8000"
|
||||
swipeable
|
||||
infinite
|
||||
navigation
|
||||
transition-next="slide-left"
|
||||
transition-prev="slide-right"
|
||||
v-model="slide"
|
||||
height="100%"
|
||||
width="100%"
|
||||
>
|
||||
<q-carousel-slide name="first" class="homep-cover-img-1">
|
||||
<q-carousel-slide name="first" img-src="../../statics/images/cover.jpg">
|
||||
<div class="landing__header"></div>
|
||||
<div class="landing__hero-content row justify-center q-gutter-xs clgutter">
|
||||
<div class="row">
|
||||
@@ -101,7 +102,7 @@
|
||||
<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" class="homep-cover-img-2">
|
||||
<q-carousel-slide name="second" img-src="../../statics/images/hand_people.jpg">
|
||||
<div class="landing__header"></div>
|
||||
<div class="landing__hero-content row justify-center q-gutter-xs clgutter">
|
||||
<div class="row">
|
||||
@@ -192,7 +193,7 @@
|
||||
<!--<div class="text-subtitle1">Famous City</div>-->
|
||||
<!--</div>-->
|
||||
</q-carousel-slide>
|
||||
<q-carousel-slide name="third" class="homep-cover-img-3">
|
||||
<q-carousel-slide name="third" img-src="../../statics/images/cibo_sano.jpg">
|
||||
<div class="landing__header"></div>
|
||||
<div class="landing__hero-content row justify-center q-gutter-xs clgutter">
|
||||
<div class="row">
|
||||
@@ -288,7 +289,7 @@
|
||||
</section>
|
||||
|
||||
<section class="padding bg-white text-grey-10 text-center" v-scroll-reveal.reset>
|
||||
<div class="landing__features row items-start q-col-gutter-xl">
|
||||
<div class="landing__features row items-start q-col-gutter-sm">
|
||||
<div class="col-12 text-center">
|
||||
<div class="feature-item q-mx-md"><img src="statics/images/group-together.jpg"
|
||||
class="doc-img"></div>
|
||||
@@ -300,7 +301,7 @@
|
||||
</div>
|
||||
</section>
|
||||
<section class="padding bg-primary landing__swirl-bg" v-scroll-reveal.reset>
|
||||
<div class="landing__features row justify-between items-start q-col-gutter-xl">
|
||||
<div class="landing__features row justify-between items-start q-col-gutter-sm">
|
||||
<div class="col-12 col-sm-5">
|
||||
<div class="feature-item"><i aria-hidden="true"
|
||||
class="q-icon fas fa-users"> </i><h4>
|
||||
@@ -328,7 +329,7 @@
|
||||
</div>
|
||||
</section>
|
||||
<section class="padding bg-indigo-8" v-scroll-reveal.reset>
|
||||
<div class="landing__features row justify-between items-start q-col-gutter-xl">
|
||||
<div class="landing__features row justify-between items-start q-col-gutter-sm">
|
||||
<div class="col-12 col-sm-5">
|
||||
<div class="feature-item"><i aria-hidden="true"
|
||||
class="q-icon fas fa-people-carry"> </i><h4>
|
||||
@@ -396,6 +397,9 @@
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<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>
|
||||
</section>
|
||||
</div>
|
||||
|
||||
|
||||
@@ -35,7 +35,7 @@ const messages = {
|
||||
freesocial: {
|
||||
title: 'Free Social',
|
||||
descr: 'Una Community organizzata per <strong>Categorie</strong>, dove potrai unirti a <strong>Gruppi Tematici</strong>, ' +
|
||||
'Condividere <strong>Esperienze</strong> e unire Competenze per organizzare e sostenere <strong>Progetti Innovativi</strong> per il Popolo. ' +
|
||||
'Condividere <strong>Esperienze</strong> e unire Competenze per organizzare e sostenere <strong>Progetti Innovativi</strong> per il Popolo.<br><br>' +
|
||||
'Verranno evidenziati sviluppi <strong>Etici</strong> come l\'<strong>Auto-Produzione</strong>, la <strong>Sostenibilitá</strong>, ' +
|
||||
'la Buona <strong>Salute Naturale</strong> e il <strong>Rispetto per l\'Ambiente</strong> e per tutti gli <strong>Esseri Viventi</strong> di questo ' +
|
||||
'<strong>Pianeta</strong>. Chiunque potrá esprimere il proprio <strong>Consenso o Dissenso</strong> partecipando a <strong>Sondaggi Interattivi</strong>' +
|
||||
@@ -66,14 +66,14 @@ const messages = {
|
||||
'<li>Ridotto <strong>Impatto Ambientale</strong></ul>',
|
||||
},
|
||||
freeliving: {
|
||||
title: 'Free Living',
|
||||
descr: 'Una soluzione meravigliosa per unire 2 realtà:<br>' +
|
||||
'1) Il <strong>Vivere soli</strong> in una casa grande.<br>' +
|
||||
'2) l\'avere bisogno di un <strong>alloggio</strong> temporaneo.<br><br>' +
|
||||
'Tante persone, soprattutto <strong>Anziane</strong> (ma non solo), <strong>abitano da sole</strong> e vorrebbero continuare a vivere nella propria abitazione, ma hanno difficoltà a farlo.<br>' +
|
||||
title: 'Free Co-Living',
|
||||
descr: 'Unire più realtà, condividendo l\'esperienza di abitare insieme, per un periodo definito:<br>' +
|
||||
'1) C\'è chi <strong>Vive solo</strong> ed ha una casa.<br>' +
|
||||
'2) Chi ha bisogno di un <strong>alloggio</strong> temporaneo.<br><br>' +
|
||||
'Oggi sempre più persone <strong>abitano da sole</strong> e vorrebbero continuare a vivere nella propria abitazione.<br>' +
|
||||
'Altre persone invece hanno bisogno di una <strong>stanza</strong>, per scelta o per necessita, ed in cambio sono disponibili a ' +
|
||||
'<strong>contribuire alle spese</strong> per le utenze domestiche o magari <strong>aiutare</strong> la persona anziana a <strong>fare la spesa</strong>, cucinare, <strong>pulire casa</strong> oppure offrendogli semplicemente <strong>compagnia</strong>.<br>' +
|
||||
'Tramite questo strumento, le persone potranno mettersi in contatto e decidere in che forma <strong>co-abitare</strong>. Le <strong>recensioni</strong> rilasciate ed il <strong>dettaglio</strong> dei profili utenti, ' +
|
||||
'<strong>contribuire alle spese</strong> per le utenze domestiche o magari <strong>aiutare</strong> la persona a <strong>fare la spesa</strong>, cucinare, <strong>pulire casa</strong> oppure offrendogli semplicemente <strong>compagnia</strong>.<br><br>' +
|
||||
'Tramite questo strumento, le persone potranno trovarsi, mettersi in contatto e decidere in che forma <strong>co-abitare</strong> e per quanto tempo. Le <strong>recensioni</strong> rilasciate ed il <strong>dettaglio</strong> dei profili utenti, ' +
|
||||
'aiuterà nella scelta della persona più in <strong>sintonia</strong>.'
|
||||
|
||||
},
|
||||
@@ -227,7 +227,7 @@ const messages = {
|
||||
titledenied: 'Permesso Notifiche Disabilitato!',
|
||||
title_subscribed: 'Sottoscrizione a FreePlanet.app!',
|
||||
subscribed: 'Ora potrai ricevere i messaggi e le notifiche.',
|
||||
newVersionAvailable: 'Nuova Versione!'
|
||||
newVersionAvailable: 'Aggiorna'
|
||||
},
|
||||
connection: 'Connessione',
|
||||
},
|
||||
@@ -267,10 +267,10 @@ const messages = {
|
||||
freesocial: {
|
||||
title: 'Free Social',
|
||||
descr: 'Una comunidad organizada por <strong>Categorías</strong>, donde puedes unirte a <strong>Grupos temáticos</strong>, ' +
|
||||
'Compartir <strong> experiencias </strong> y combinar habilidades para organizar y apoyar <strong> proyectos innovadores </strong> para la gente. ' +
|
||||
'Compartir <strong>experiencias</strong> y combinar habilidades para organizar y apoyar <strong>proyectos innovadores</strong> para la gente.<br><br>' +
|
||||
'Los desarrollos <strong>éticos</strong> como <strong>:<br>Auto-producción</strong>, <strong>Sostenibilidad</strong>, ' +
|
||||
'la Buena <strong>Salud natural</strong> y <strong>Respeto por el Medio Ambiente</strong> y para todos los <strong>Seres vivos</strong> de este' +
|
||||
'<Strong> Planeta </strong>. Cualquiera puede expresar su <strong> consentimiento o disidencia </strong> participando en <strong> Encuestas Interactivas </strong> ' +
|
||||
'<strong>Planeta</strong>. Cualquiera puede expresar su <strong>consentimiento o disidencia</strong> participando en <strong>Encuestas Interactivas</strong> ' +
|
||||
'y llevar a cabo juntos los <strong>Cambios</strong> necesarios para nuestra sociedad.',
|
||||
},
|
||||
freetalent: {
|
||||
@@ -279,7 +279,7 @@ const messages = {
|
||||
'en lugar de dinero, ganarás <strong>Tiempo</strong>. <br>' +
|
||||
'<strong>"1 hora"</strong> se convierte en una moneda de intercambio, igual para todos. <br>' +
|
||||
'Puedes usar estos <strong>"Créditos de tiempo"</strong> para satisfacer tus necesidades, buscando en <strong>Habilidades disponibles</strong>. <br> ' +
|
||||
'En Dar y Recibir, crearemos así vínculos de <strong> Amistad, Solidaridad y Cooperación y Diversion</strong>. <br> <br>' +
|
||||
'En Dar y Recibir, crearemos así vínculos de <strong>Amistad, Solidaridad, Cooperación y Diversión</strong>. <br> <br>' +
|
||||
'Este proyecto apunta a difundir esta realidad, que ya existe desde hace muchos años y se llama <strong>"Banco de tiempo"</strong>. ' +
|
||||
'Las <strong>secretarías</strong> dispersas por todo el mundo, servirán para dar mayor <strong>fiabilidad</strong> y <strong>confianza</strong> en el intercambio de talentos entre personas desconocidas. ' +
|
||||
'Así crearemos una <strong>red de confianza</strong> en el vecindario, como ya se practica en numerosos <strong>Ecoaldeas</strong> y en la Comunidades del mundo.',
|
||||
@@ -298,13 +298,13 @@ const messages = {
|
||||
'<li> Reducido <strong>Impacto Ambiental</strong> </ul>',
|
||||
},
|
||||
freeliving: {
|
||||
title: 'Free Living',
|
||||
descr: 'Una maravillosa solución para combinar 2 realidades: <br> ' +
|
||||
'1) El <strong> Vivir solo </strong> en una casa grande. <br>' +
|
||||
'2) necesitar un <strong> alojamiento temporal </strong>. <br><br>' +
|
||||
'Muchas personas especialmente <strong> Mayores </strong> (pero no solo) <strong>viven solas</strong> y les gustaría seguir viviendo en su propia casa, pero tienen dificultades para hacerlo. <br>' +
|
||||
title: 'Free Co-Living',
|
||||
descr: 'Para unir más realidad, compartiendo la experiencia de vivir juntos, por un período definido: <br> '+
|
||||
'1) Hay quien <strong>vive solo</strong> y tiene un hogar. <br>' +
|
||||
'2) Quién necesita un alojamiento <strong>temporal</strong>. <br><br>' +
|
||||
'Hoy en día, más y más personas <strong>viven solas</strong> y les gustaría seguir viviendo en sus propios hogares. <br>' +
|
||||
'Otras personas necesitan una <strong>Habitación</strong>, por elección o por necesidad, y a cambio están disponibles en' +
|
||||
'<strong> contribuir a los gastos </strong> para los billetes de casa o tal vez <strong> ayuda </strong> a la persona mayor para <strong> ir de compras </strong>, cocinar, <strong> limpiar casa </strong> o simplemente ofreciéndole <strong> compañía </strong>. <br> ' +
|
||||
'<strong>contribuir a los gastos</strong> para los billetes de casa o tal vez <strong>ayuda</strong> a la persona mayor para <strong>ir de compras</strong>, cocinar, <strong>limpiar casa</strong> o simplemente ofreciéndole <strong>compañía</strong>. <br><br> ' +
|
||||
'A través de esta herramienta, las personas pueden ponerse en contacto y decidir en qué forma <strong>co-habitar</strong>. Los <strong>comentarios</strong> publicados y el <strong>detalle</strong> de los perfiles de usuario, ' +
|
||||
'ayudará a elegir a la persona más en <strong>armonía</strong>.'
|
||||
|
||||
@@ -452,7 +452,7 @@ const messages = {
|
||||
titledenied: 'Notificaciones permitidas deshabilitadas!',
|
||||
title_subscribed: 'Suscripción a FreePlanet.app!',
|
||||
subscribed: 'Ahora puedes recibir mensajes y notificaciones.',
|
||||
newVersionAvailable: 'Nueva Versión!'
|
||||
newVersionAvailable: 'Actualiza'
|
||||
},
|
||||
connection: 'Connection',
|
||||
},
|
||||
@@ -492,10 +492,10 @@ const messages = {
|
||||
freesocial: {
|
||||
title: 'Free Social',
|
||||
descr: 'A Community organized by <strong>Categories</strong>, where you can join <strong>Thematic Groups</strong>, ' +
|
||||
'Share <strong> Experiences </strong> and combine Skills to organize and support <strong> Innovative Projects </strong> for the People. ' +
|
||||
'Share <strong>Experiences</strong> and combine Skills to organize and support <strong>Innovative Projects</strong> for the People.<br><br>' +
|
||||
'<strong>Ethical</strong> developments such as <strong>Auto-Production</strong>, <strong>Sustainability</strong>, ' +
|
||||
'Good <strong>Natural Health</strong> and <strong>Respect for the Environment</strong> and for all <strong>Living Beings</strong> of this' +
|
||||
'<Strong> Planet</strong>. Anyone can express their <strong> Consent or Dissent </strong> by participating in <strong> Interactive Surveys </strong> ' +
|
||||
'<strong>Planet</strong>. Anyone can express their <strong>Consent or Dissent</strong> by participating in <strong>Interactive Surveys</strong> ' +
|
||||
'and carry out together the <strong>Changes</strong> needed for our society.',
|
||||
},
|
||||
freetalent: {
|
||||
@@ -523,13 +523,13 @@ const messages = {
|
||||
'<li> Reduced <strong>Environmental Impact</strong> </ul>'
|
||||
},
|
||||
freeliving: {
|
||||
title: 'Free Living',
|
||||
descr: 'A wonderful solution to combine 2 realities: <br> ' +
|
||||
'1) The <strong> Living alone </strong> in a big house. <br>' +
|
||||
'2) need a <strong> temporary accommodation </strong>. <br><br>' +
|
||||
'Many people <strong> Senior </strong> (and not) live alone and would like to continue living in their own home, but have difficulty doing so. <br>' +
|
||||
title: 'Free Co-Living',
|
||||
descr: 'Join more reality, sharing the experience of living together, for a defined period: <br> ' +
|
||||
'1) Someone <strong>Lives alone</strong> and has a house. <br>' +
|
||||
'2) Who needs a temporary <strong> accommodation </strong>. <br><br>' +
|
||||
'Today more and more people <strong> live alone </strong> and would like to continue living in their own house. <br>' +
|
||||
'Other people instead need a <strong>room</strong>, by choice or by necessity, and in return they are available to' +
|
||||
'<strong> contribute to expenses </strong> for households or maybe <strong> help </strong> Senior to <strong> go shopping </strong>, cooking, <strong> cleaning house </strong> or simply offering him <strong> companionship </strong>. <br> ' +
|
||||
'<strong>contribute to expenses</strong> for households or maybe <strong>help</strong> to <strong>go shopping</strong>, cooking, <strong>cleaning house</strong> or simply offering him <strong>companionship</strong>. <br> ' +
|
||||
'Through this tool, people can get in touch and decide in which way <strong>co-living</strong>. The <strong>reviews</strong> released and the <strong>detail</strong> of user profiles, ' +
|
||||
'will help in <strong>choosing</strong> the person more in <strong>tune</strong>.'
|
||||
|
||||
@@ -677,7 +677,7 @@ const messages = {
|
||||
titledenied: 'Notification Permission Denied!',
|
||||
title_subscribed: 'Subscribed to FreePlanet.app!',
|
||||
subscribed: 'You can now receive Notification and Messages.',
|
||||
newVersionAvailable: 'New Version!'
|
||||
newVersionAvailable: 'Upgrade'
|
||||
},
|
||||
connection: 'Conexión',
|
||||
},
|
||||
|
||||
|
Before Width: | Height: | Size: 16 KiB After Width: | Height: | Size: 16 KiB |
@@ -120,6 +120,7 @@ async function Request(type: string, path: string, payload: any): Promise<Types.
|
||||
// console.log('ricevuto=', ricevuto)
|
||||
console.log('error.response=', error.response)
|
||||
}
|
||||
GlobalStore.mutations.setStateConnection(ricevuto ? 'online' : 'offline')
|
||||
let mycode = 0
|
||||
if (!ricevuto) {
|
||||
mycode = tools.ERR_SERVERFETCH
|
||||
|
||||
@@ -61,7 +61,7 @@ async function getConfig(id) {
|
||||
|
||||
async function getstateConnSaved() {
|
||||
const config = await getConfig(costanti.CONFIG_ID_CFG)
|
||||
console.log('config', config)
|
||||
// console.log('config', config)
|
||||
if (config) {
|
||||
if (config.length > 1) {
|
||||
const cfgstateconn = config[1]
|
||||
@@ -219,9 +219,9 @@ namespace Getters {
|
||||
},
|
||||
|
||||
get isNewVersionAvailable() {
|
||||
console.log('state.cfgServer', state.cfgServer)
|
||||
// console.log('state.cfgServer', state.cfgServer)
|
||||
const serversrec = state.cfgServer.find((x) => x.chiave === tools.SERVKEY_VERS)
|
||||
console.log('Record ', serversrec)
|
||||
// console.log('Record ', serversrec)
|
||||
if (serversrec) {
|
||||
console.log('Vers Server ', serversrec.valore, 'Vers locale:', process.env.APP_VERSION)
|
||||
return serversrec.valore !== process.env.APP_VERSION
|
||||
|
||||
@@ -3,6 +3,7 @@ import { ITodo } from '@src/model'
|
||||
import { Todos, UserStore } from '@store'
|
||||
import globalroutines from './../../globalroutines/index'
|
||||
import { costanti } from './costanti'
|
||||
import Quasar from 'quasar'
|
||||
|
||||
export interface INotify {
|
||||
color?: string | 'primary'
|
||||
@@ -20,6 +21,8 @@ export const tools = {
|
||||
DUPLICATE_EMAIL_ID: 11000,
|
||||
DUPLICATE_USERNAME_ID: 11100,
|
||||
|
||||
arrLangUsed: ['enUs', 'it', 'es'],
|
||||
|
||||
LIST_END: '10000000',
|
||||
LIST_START: '0',
|
||||
|
||||
@@ -453,6 +456,39 @@ export const tools = {
|
||||
color: mycolor,
|
||||
timeout: 3000
|
||||
})
|
||||
},
|
||||
|
||||
checkLangPassed(mylang) {
|
||||
|
||||
const mybrowserLang = Quasar.lang.isoName
|
||||
|
||||
if (mylang !== '') {
|
||||
if ((mylang.toLowerCase() === 'enus') || (mylang.toLowerCase() === 'en-us')) {
|
||||
mylang = 'enUs'
|
||||
}
|
||||
if ((mylang.toLowerCase() === 'es') || (mylang.toLowerCase() === 'es-es') || (mylang.toLowerCase() === 'eses')) {
|
||||
mylang = 'es'
|
||||
}
|
||||
|
||||
if (!(tools.arrLangUsed.includes(mylang))) {
|
||||
console.log('non incluso ', mylang)
|
||||
mylang = tools.arrLangUsed[0]
|
||||
|
||||
// Metti Inglese come default
|
||||
UserStore.mutations.setlang(mylang)
|
||||
}
|
||||
}
|
||||
|
||||
if (!mylang) {
|
||||
mylang = process.env.LANG_DEFAULT
|
||||
}
|
||||
console.log('mylang calc : ', mylang)
|
||||
|
||||
return mylang
|
||||
},
|
||||
|
||||
getimglogo() {
|
||||
return 'statics/images/' + process.env.LOGO_REG
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user