Others Elements for the Pages

This commit is contained in:
Surya Paolo
2022-11-29 13:59:18 +01:00
parent 9d32f92589
commit 1ab75a58f4
19 changed files with 344 additions and 157 deletions

Binary file not shown.

After

Width:  |  Height:  |  Size: 68 KiB

View File

@@ -7,7 +7,7 @@ export const shared_consts = {
icon: 'fas fa-user-shield', icon: 'fas fa-user-shield',
color: 'red', color: 'red',
}, },
CHECK_SEE_VIDEO_PRINCIPI: { CHECK_SEE_VIDEO_PRINCIPI: {
value: 2, value: 2,
label: 'steps.video_intro', label: 'steps.video_intro',
icon: 'fas fa-tools', icon: 'fas fa-tools',
@@ -15,6 +15,43 @@ export const shared_consts = {
}, },
}, },
ELEMTYPE: {
TITLE: 5,
MARGINI: 6,
CARD: 7,
IMGTITLE: 8,
IMGPOSTER: 9,
TEXT: 10,
HTML: 20,
IMAGE: 30,
IMAGEUPLOAD: 35,
SEPARATOR: 40,
VIDEO: 50,
PAGE: 55,
PAGEINTRO: 58,
GALLERY: 60,
CALENDAR: 70,
CAROUSEL_IDISCIPLINE: 80,
CAROUSEL_HOME: 85,
CHECK_EMAIL: 100,
CAROUSEL_IMGS: 110,
OPENSTREETMAP: 120,
MAINVIEW: 130,
DASHBOARD: 140,
STATUSREG: 160,
CHECKIFISLOGGED: 170,
INFO_VERSION: 180,
BOTT_CONDIVIDI: 190,
PRESENTAZIONE: 200,
NOTIFATTOP: 210,
CHART: 220,
CHECKNEWVERSION: 230,
CHECKTESTENV: 240,
BTN_REG: 250,
BTN_REG_BYBOT: 255,
BTN_LOGIN: 260,
},
QUERYTYPE_MYGROUP: 1, QUERYTYPE_MYGROUP: 1,
QUERYTYPE_REFUSED_USER_GRP: 2, QUERYTYPE_REFUSED_USER_GRP: 2,
ALL_SAW_AND_ACCEPTED: 3, ALL_SAW_AND_ACCEPTED: 3,
@@ -1213,7 +1250,7 @@ export const shared_consts = {
}, },
{ {
value: 7, value: 7,
label: 'Card', label: 'Scheda',
}, },
{ {
value: 8, value: 8,
@@ -1283,6 +1320,58 @@ export const shared_consts = {
value: 120, value: 120,
label: 'OpenStreetMap', label: 'OpenStreetMap',
}, },
{
value: 130,
label: 'MainView',
},
{
value: 140,
label: 'Dashboard',
},
{
value: 160,
label: 'Stato Registrati',
},
{
value: 180,
label: 'Info Versione',
},
{
value: 190,
label: 'Bottone Condividi',
},
{
value: 200,
label: 'Presentazione',
},
{
value: 210,
label: 'Notifiche in Top',
},
{
value: 220,
label: 'CHART',
},
{
value: 230,
label: 'Check New Version',
},
{
value: 240,
label: 'Check Test Version',
},
{
value: 250,
label: 'Butt Registrati',
},
{
value: 255,
label: 'Butt Registrati col Bot',
},
{
value: 260,
label: 'Butt Login',
},
], ],
LISTBESTCOLORS: [ LISTBESTCOLORS: [
@@ -1340,29 +1429,6 @@ export const shared_consts = {
}, },
], ],
ELEMTYPE: {
TITLE: 5,
MARGINI: 6,
CARD: 7,
IMGTITLE: 8,
IMGPOSTER: 9,
TEXT: 10,
HTML: 20,
IMAGE: 30,
IMAGEUPLOAD: 35,
SEPARATOR: 40,
VIDEO: 50,
PAGE: 55,
PAGEINTRO: 58,
GALLERY: 60,
CALENDAR: 70,
CAROUSEL_IDISCIPLINE: 80,
CAROUSEL_HOME: 85,
CHECK_EMAIL: 100,
CAROUSEL_IMGS: 110,
OPENSTREETMAP: 120,
},
ALIGNTYPE: { ALIGNTYPE: {
NONE: 0, NONE: 0,
LEFT: 1, LEFT: 1,

View File

@@ -2,7 +2,8 @@ import { defineComponent, ref, computed, PropType, toRef, onMounted, onBeforeUnm
import { useGlobalStore } from '@store/globalStore' import { useGlobalStore } from '@store/globalStore'
import { useI18n } from '@/boot/i18n' import { useI18n } from '@/boot/i18n'
import { tools } from '@store/Modules/tools' import { tools } from '@store/Modules/tools'
import { LandingFooter, Logo } from '@components' import { LandingFooter } from '@/components/LandingFooter'
import { Logo } from '@/components/logo'
import { IMyPage } from 'model' import { IMyPage } from 'model'

View File

@@ -38,7 +38,7 @@ export default defineComponent({
CCardCarousel, COpenStreetMap, CMyPage, CMyPageIntro, CMyEditor, CMyFieldRec, CCardCarousel, COpenStreetMap, CMyPage, CMyPageIntro, CMyEditor, CMyFieldRec,
CSelectColor, CSelectFontSize, CSelectImage, CImgPoster, CSelectAnimation CSelectColor, CSelectFontSize, CSelectImage, CImgPoster, CSelectAnimation
}, },
emits: ['saveElem'], emits: ['saveElem', 'selElemClick'],
props: { props: {
myelem: { myelem: {
type: Object as PropType<IMyElem>, type: Object as PropType<IMyElem>,
@@ -127,8 +127,9 @@ export default defineComponent({
newrec.class2 = 'row justify-center' newrec.class2 = 'row justify-center'
} }
globalStore.addNewElem($q, t, newrec) globalStore.addNewElem($q, t, newrec)
emit('selElemClick', newrec)
} }
function dupElem(order?: number) { function dupElem(order?: number) {
@@ -201,6 +202,8 @@ export default defineComponent({
myel.value.listcards.push({ _id: objectId(), imagefile: '', alt: '', description: '' }) myel.value.listcards.push({ _id: objectId(), imagefile: '', alt: '', description: '' })
modifElem() modifElem()
} }
function addNewElemText() { function addNewElemText() {

View File

@@ -8,7 +8,7 @@
" "
> >
<div v-if="!!myel.type"> <div v-if="!!myel.type">
<q-bar v-if="enableEdit" dense class="bg-blue-1 q-px-sm"> <q-bar v-if="enableEdit" dense class=" q-px-sm">
<q-toggle v-model="myel.active" color="positive" icon="fas fa-eye"> <q-toggle v-model="myel.active" color="positive" icon="fas fa-eye">
</q-toggle> </q-toggle>
<!--<q-toggle v-if="tools.isManager()" <!--<q-toggle v-if="tools.isManager()"

View File

@@ -463,7 +463,7 @@ body.mobile .landing:before {
cursor: pointer; cursor: pointer;
} }
.selectedElem { .selectedElem {
border: #200e96 solid 3px !important; border: #b91111 solid 3px !important;
} }
.align_center { .align_center {
@@ -483,3 +483,16 @@ body.mobile .landing:before {
justify-content: space-between; justify-content: space-between;
background-color: green; background-color: green;
} }
.elemEdit{
margin: 3px;
padding: 3px;
background-color: #3fdaff;
text-align: center;
font-weight: bold;
}
.elemEdit:hover {
border: #11f609 solid 2px;
cursor: pointer;
}

View File

@@ -19,12 +19,20 @@ import { CEventsCalendar } from '@src/components/CEventsCalendar'
import { CMyEditor } from '@src/components/CMyEditor' import { CMyEditor } from '@src/components/CMyEditor'
import { CMyFieldRec } from '@src/components/CMyFieldRec' import { CMyFieldRec } from '@src/components/CMyFieldRec'
import { CSelectColor } from '@src/components/CSelectColor' import { CSelectColor } from '@src/components/CSelectColor'
import { CMainView } from '@src/components/CMainView'
import { CDashboard } from '@src/components/CDashboard'
import { CStatusReg } from '@src/components/CStatusReg'
import { CTitleBanner } from '@src/components/CTitleBanner'
import { CCheckIfIsLogged } from '@src/components/CCheckIfIsLogged'
import { CSelectFontSize } from '@src/components/CSelectFontSize' import { CSelectFontSize } from '@src/components/CSelectFontSize'
import { CNotifAtTop } from '@src/components/CNotifAtTop'
import { CPresentazione } from '@src/components/CPresentazione'
import MixinMetaTags from '@/mixins/mixin-metatags' import MixinMetaTags from '@/mixins/mixin-metatags'
import MixinBase from '@/mixins/mixin-base' import MixinBase from '@/mixins/mixin-base'
import { useQuasar } from 'quasar' import { useQuasar } from 'quasar'
import { useI18n } from '@/boot/i18n' import { useI18n } from '@/boot/i18n'
import { useRouter } from 'vue-router'
export default defineComponent({ export default defineComponent({
@@ -33,6 +41,9 @@ export default defineComponent({
CImgTitle, CTitle, LandingFooter, CEventsCalendar, CImgTitle, CTitle, LandingFooter, CEventsCalendar,
CCardCarousel, COpenStreetMap, CMyPage, CMyPageIntro, CMyEditor, CMyFieldRec, CCardCarousel, COpenStreetMap, CMyPage, CMyPageIntro, CMyEditor, CMyFieldRec,
CSelectColor, CSelectFontSize, CImgPoster, CSelectColor, CSelectFontSize, CImgPoster,
CCheckIfIsLogged, CStatusReg, CDashboard, CMainView, CNotifAtTop,
CPresentazione,
CTitleBanner,
}, },
emits: ['selElemClick'], emits: ['selElemClick'],
props: { props: {
@@ -66,6 +77,7 @@ export default defineComponent({
const { setmeta, getsrcbyimg } = MixinMetaTags() const { setmeta, getsrcbyimg } = MixinMetaTags()
const { setValDb, getValDb } = MixinBase() const { setValDb, getValDb } = MixinBase()
const $router = useRouter()
const $q = useQuasar() const $q = useQuasar()
const { t } = useI18n() const { t } = useI18n()
@@ -211,6 +223,10 @@ export default defineComponent({
return false return false
} }
function PagLogin() {
$router.replace('/signin')
}
onMounted(mounted) onMounted(mounted)
return { return {
@@ -238,6 +254,8 @@ export default defineComponent({
showFit, showFit,
getValDb, getValDb,
dupElem, dupElem,
globalStore,
PagLogin,
} }
}, },

View File

@@ -4,8 +4,10 @@
:class=" :class="
(editOn ? ` clEditDiv` : ``) + (editOn ? ` clEditDiv` : ``) +
`` + `` +
getClass() +
(!myel.active ? ` clEditNotActive` : ``) (!myel.active ? ` clEditNotActive` : ``)
" "
@click="clickOnElem"
> >
<div> <div>
<div v-if="myel.type === shared_consts.ELEMTYPE.TEXT"> <div v-if="myel.type === shared_consts.ELEMTYPE.TEXT">
@@ -22,7 +24,6 @@
` ` + ` ` +
tools.getClassAnim(myel.anim) tools.getClassAnim(myel.anim)
" "
@click="clickOnElem"
> >
{{ myel.container }} {{ myel.container }}
</div> </div>
@@ -159,8 +160,8 @@
:speed="myel.speed" :speed="myel.speed"
:elemsText="myel.elemsText" :elemsText="myel.elemsText"
:logo="tools.getImgFileByFilename(myel, myel.img)" :logo="tools.getImgFileByFilename(myel, myel.img)"
:logoheight="myel.height.toString()" :logoheight="myel.height ? myel.height.toString() : '100'"
:logowidth="myel.width.toString()" :logowidth="myel.width ? myel.width.toString() : '100'"
:fit="myel.fit" :fit="myel.fit"
:anim="myel.anim" :anim="myel.anim"
> >
@@ -287,7 +288,13 @@
</div> </div>
</div> </div>
<div v-else-if="myel.type === shared_consts.ELEMTYPE.CAROUSEL_IMGS"> <div v-else-if="myel.type === shared_consts.ELEMTYPE.CAROUSEL_IMGS">
<section :class="($q.dark.isActive ? `bg-black text-white` : `bg-white text-grey-10`) + ` padding_gallery text-center`"> <section
:class="
($q.dark.isActive
? `bg-black text-white`
: `bg-white text-grey-10`) + ` padding_gallery text-center`
"
>
<div <div
:class="myel.class + (editOn ? ` clEdit` : ``) + getClass()" :class="myel.class + (editOn ? ` clEdit` : ``) + getClass()"
@click="clickOnElem" @click="clickOnElem"
@@ -420,16 +427,171 @@
</section> </section>
</div> </div>
<div v-else-if="myel.type === shared_consts.ELEMTYPE.CALENDAR"> <div v-else-if="myel.type === shared_consts.ELEMTYPE.CALENDAR">
<div v-if="editOn" class="elemEdit">Calendario Eventi</div>
<CEventsCalendar :mysingleevent="null" :showfirstN="myel.number || 3"> <CEventsCalendar :mysingleevent="null" :showfirstN="myel.number || 3">
</CEventsCalendar> </CEventsCalendar>
</div> </div>
<div v-else-if="myel.type === shared_consts.ELEMTYPE.MAINVIEW">
<div v-if="editOn" class="elemEdit">CMainView</div>
<CMainView></CMainView>
</div>
<div v-else-if="myel.type === shared_consts.ELEMTYPE.DASHBOARD">
<div v-if="editOn" class="elemEdit">CDashboard</div>
<CDashboard></CDashboard>
</div>
<div v-else-if="myel.type === shared_consts.ELEMTYPE.STATUSREG">
<div v-if="editOn" class="elemEdit">CStatusReg</div>
<CStatusReg> </CStatusReg>
</div>
<div v-else-if="myel.type === shared_consts.ELEMTYPE.CHECKIFISLOGGED">
<div v-if="editOn" class="elemEdit">CCheckIfIsLogged</div>
<CCheckIfIsLogged></CCheckIfIsLogged>
</div>
<div v-else-if="myel.type === shared_consts.ELEMTYPE.INFO_VERSION">
<div>Versione: {{ tools.getvers() }}</div>
</div>
<div v-else-if="myel.type === shared_consts.ELEMTYPE.BOTT_CONDIVIDI">
<div class="row justify-evenly items-center q-pa-sm q-ma-sm">
<q-btn
icon="fas fa-share-alt"
color="blue"
type="a"
size="md"
rounded
:label="$t('reg.link_reg_and_msg')"
@click="
tools.sendMsgTelegramCmd(
$q,
$t,
shared_consts.MsgTeleg.SHARE_MSGREG,
true
)
"
>
</q-btn>
</div>
</div>
<div v-else-if="myel.type === shared_consts.ELEMTYPE.CHECK_EMAIL"> <div v-else-if="myel.type === shared_consts.ELEMTYPE.CHECK_EMAIL">
<div v-if="editOn" class="elemEdit">
Msg di Controllo Verifica Email
</div>
<div class="q-pa-md q-gutter-md"> <div class="q-pa-md q-gutter-md">
<div v-if="tools.isLogged() && !isVerified" class="text-verified"> <div v-if="tools.isLogged() && !isVerified" class="text-verified">
{{ $t('components.authentication.email_verification.link_sent') }} {{ $t('components.authentication.email_verification.link_sent') }}
</div> </div>
</div> </div>
</div> </div>
<div v-else-if="myel.type === shared_consts.ELEMTYPE.PRESENTAZIONE">
<div v-if="editOn" class="elemEdit">Pagina di Presentazione</div>
<CPresentazione></CPresentazione>
</div>
<div v-else-if="myel.type === shared_consts.ELEMTYPE.NOTIFATTOP">
<div v-if="editOn" class="elemEdit">Notifiche in Cima</div>
<CNotifAtTop></CNotifAtTop>
</div>
<div v-else-if="myel.type === shared_consts.ELEMTYPE.CHECKTESTENV">
<div v-if="editOn" class="elemEdit">Check Sito di Test</div>
<q-banner
v-if="tools.isTest()"
rounded
dense
class="bg-negative text-white"
color="primary q-title"
style="text-align: center"
>
<template v-slot:avatar>
<q-icon
name="fas fa-exclamation-triangle"
color="yellow"
size="xs"
/>
</template>
<span class="mybanner"
>Questo è l'AMBIENTE DI TEST !<br />
Solo per prove.</span
>
</q-banner>
</div>
<div v-else-if="myel.type === shared_consts.ELEMTYPE.CHECKNEWVERSION">
<div v-if="editOn" class="elemEdit">Controllo Nuova Versione</div>
<q-banner
v-if="globalStore.isNewVersionAvailable"
rounded
dense
class="bg-green text-white"
color="primary q-title"
style="text-align: center"
>
<template v-slot:avatar>
<q-icon
name="fas fa-exclamation-triangle"
color="yellow"
size="xs"
/>
</template>
<span class="mybanner"
>Per Aggiornare alla nuova versione, chiudere e riaprire la APP (o
il browser)</span
>
</q-banner>
</div>
<div v-else-if="myel.type === shared_consts.ELEMTYPE.BTN_REG">
<q-btn
rounded
size="md"
color="primary"
to="/signup"
:label="$t('reg.submit')"
>
</q-btn>
</div>
<div v-else-if="myel.type === shared_consts.ELEMTYPE.BTN_REG_BYBOT">
<q-btn
type="a"
rounded
size="lg"
color="primary"
href="/bot"
:label="$t('reg.submit')"
:class="
myel.class +
(editOn ? ` clEdit` : ``) +
getClass() +
` ` +
tools.getClassAnim(myel.anim)
"
>
</q-btn>
</div>
<div v-else-if="myel.type === shared_consts.ELEMTYPE.BTN_LOGIN">
<q-btn
:class="
myel.class +
(editOn ? ` clEdit` : ``) +
getClass() +
` ` +
tools.getClassAnim(myel.anim)
"
rounded
size="lg"
color="primary"
@click="PagLogin"
>
{{ $t('login.enter') }}
</q-btn>
</div>
<div v-else-if="myel.type === shared_consts.ELEMTYPE.CHART">
<div v-if="editOn">Chart</div>
<!--<CChartMap
title="Mappa"
subtitle="cartina..."
serie1="Serie 1"
>
</CChartMap>-->
</div>
<div v-if="editOn">
<div class="q-ma-md"></div>
</div>
</div> </div>
</div> </div>
</template> </template>

View File

@@ -30,7 +30,12 @@
@click="visuEditor = false" @click="visuEditor = false"
></q-btn> ></q-btn>
</q-bar> </q-bar>
<CMyEditElem :myelem="selElem" :editOn="true" :path="rec.path"> <CMyEditElem
:myelem="selElem"
:editOn="true"
:path="rec.path"
@selElemClick="selElemClick"
>
</CMyEditElem> </CMyEditElem>
</q-drawer> </q-drawer>

View File

@@ -252,11 +252,6 @@ body.mobile .landing:before {
text-shadow: 0.125rem 0.125rem 0.25rem $grayshadow; text-shadow: 0.125rem 0.125rem 0.25rem $grayshadow;
} }
.shadow-max {
//color: white;
text-shadow: .25rem .25rem .5rem $grayshadow;
}
.text-h1 { .text-h1 {
font-size: 6rem; font-size: 6rem;
font-weight: 300; font-weight: 300;
@@ -455,6 +450,3 @@ ul li::before {
} }
} }
.buttreg {
font-weight: bold;
}

View File

@@ -4,7 +4,8 @@ import { useRouter } from 'vue-router'
import { useGlobalStore } from '@store/globalStore' import { useGlobalStore } from '@store/globalStore'
import { useI18n } from '@/boot/i18n' import { useI18n } from '@/boot/i18n'
import { tools } from '@store/Modules/tools' import { tools } from '@store/Modules/tools'
import { LandingFooter, Logo } from '@components' import { Logo } from '@/components/logo'
import { LandingFooter } from '@/components/LandingFooter'
import { CFundRaising } from '@/components/CFundRaising' import { CFundRaising } from '@/components/CFundRaising'
import { CShowContentPage } from '@/components/CShowContentPage' import { CShowContentPage } from '@/components/CShowContentPage'
import { static_data } from '@src/db/static_data' import { static_data } from '@src/db/static_data'

View File

@@ -16,7 +16,7 @@
height="100%" height="100%"
width="100%" width="100%"
> >
<q-carousel-slide name="first" img-src="images/riso_home.png" class="carousel_img_3"> <q-carousel-slide name="first" :img-src="$q.dark.isActive ? `images/riso_home_dark.png` : `images/riso_home.png`" class="carousel_img_3">
<div class="landing__header"></div> <div class="landing__header"></div>
<div class="landing__hero-content row justify-center q-gutter-xs clgutter"> <div class="landing__hero-content row justify-center q-gutter-xs clgutter">
<div class="row"> <div class="row">
@@ -24,18 +24,10 @@
</div> </div>
<div class="flex justify-end"> <div class="flex justify-end">
<div class="q-gutter-xs testo-banda clgutter"> <div class="q-gutter-xs testo-banda clgutter">
<div class="text-h1"><span :class="`shadow-3 `+ $q.dark.isActive ? `bg-black` : `bg-white`">{{ t('msg.myAppName') }}</span></div> <div class="text-h1"><span :class="`myshadow text-blue-9`">{{ t('msg.myAppName') }}</span></div>
<div class="text-subtitle1 text-italic q-pl-sm"> <div class="text-subtitle1 text-italic q-pl-sm">
<span :class="`shadow-3 `+ $q.dark.isActive ? `bg-black` : `bg-white`">{{ t('msg.sottoTitoloApp') }}</span> <span :class="`shadow text-black `">{{ t('msg.sottoTitoloApp') }}</span>
</div> </div>
<div class="text-subtitle1 big text-italic q-pl-sm background-white"><strong>
<span :class="`shadow-3 `+ $q.dark.isActive ? `bg-black` : `bg-white`">{{t('msg.sottoTitoloApp2')}}</span>
</strong>
</div>
<div class="text-subtitle2 text-italic q-pl-sm">
<span :class="`shadow-3 `+ $q.dark.isActive ? `bg-black` : `bg-white`">{{ t('msg.sottoTitoloApp3') }}</span>
</div>
<div> <div>
<div v-if="!tools.isLogged()" style="margin: 5px; padding: 5px" class="home"> <div v-if="!tools.isLogged()" style="margin: 5px; padding: 5px" class="home">
<q-btn <q-btn

View File

@@ -2,7 +2,9 @@ import { defineComponent, ref, computed, PropType, toRef, onMounted, onBeforeUnm
import { useGlobalStore } from '@store/globalStore' import { useGlobalStore } from '@store/globalStore'
import { useI18n } from '@/boot/i18n' import { useI18n } from '@/boot/i18n'
import { tools } from '@store/Modules/tools' import { tools } from '@store/Modules/tools'
import { LandingFooter, Logo } from '@components' import { Logo } from '@/components/logo'
import { LandingFooter } from '@/components/LandingFooter'
import { IMyPage } from 'model' import { IMyPage } from 'model'

View File

@@ -5,11 +5,11 @@ import {
import { INotData } from '../../model/index' import { INotData } from '../../model/index'
import MixinBase from '@src/mixins/mixin-base' import MixinBase from '@src/mixins/mixin-base'
import { CTitleBanner } from '@components' import { CTitleBanner } from '@/components/CTitleBanner'
import { CCardState } from '../CCardState' import { CCardState } from '../CCardState'
import { CMyFieldRec } from '../CMyFieldRec' import { CMyFieldRec } from '../CMyFieldRec'
import { CCardStat } from '../CCardStat' import { CCardStat } from '../CCardStat'
import { CLineChart } from '@components' import { CLineChart } from '@/components/CLineChart'
// import { CGeoChart } from '@components' // import { CGeoChart } from '@components'
// import { CListNationality } from '@components' // import { CListNationality } from '@components'

View File

@@ -573,6 +573,12 @@ h3 {
text-shadow: .25rem .25rem .5rem $grayshadow; text-shadow: .25rem .25rem .5rem $grayshadow;
} }
.myshadow {
//color: white;
text-shadow: .05rem .05rem .1rem $grayshadow;
font-weight: bold;
}
.myh4 { .myh4 {
font-size: 1.25rem; font-size: 1.25rem;
color: red; color: red;
@@ -1486,3 +1492,7 @@ h3 {
.animate__animated.animate__ease { .animate__animated.animate__ease {
transition-timing-function: ease; transition-timing-function: ease;
} }
.buttreg {
font-weight: bold;
}

View File

@@ -146,10 +146,8 @@ const msg_website_it = {
myAppDescription: 'Il primo Vero Social Libero, Equo e Solidale, dove Vive Consapevolezza e Aiuto Comunitario. Gratuito', myAppDescription: 'Il primo Vero Social Libero, Equo e Solidale, dove Vive Consapevolezza e Aiuto Comunitario. Gratuito',
underconstruction: 'App in costruzione...', underconstruction: 'App in costruzione...',
myDescriz: '', myDescriz: '',
sottoTitoloApp: 'Il primo Vero Social', sottoTitoloApp: 'Rete Italiana di Scambio Orizzontale',
sottoTitoloApp2: 'Libero, Equo e Solidale', sottoTitoloApp2: '',
sottoTitoloApp3: 'dove Vive Consapevolezza e Aiuto Comunitario',
sottoTitoloApp4: 'Gratuito e senza Pubblicità',
}, },
homepage: { homepage: {
descrapp_title1: 'Uniti per Evolvere e Sperimentare', descrapp_title1: 'Uniti per Evolvere e Sperimentare',

View File

@@ -19,6 +19,7 @@ import { useUserStore } from '@store/UserStore'
import { static_data } from '@/db/static_data' import { static_data } from '@/db/static_data'
import { useNotifStore } from '@store/NotifStore' import { useNotifStore } from '@store/NotifStore'
import { CNotifAtTop } from '@src/components/CNotifAtTop' import { CNotifAtTop } from '@src/components/CNotifAtTop'
import { CMyPageElem } from '@src/components/CMyPageElem'
import MixinBase from '@/mixins/mixin-base' import MixinBase from '@/mixins/mixin-base'
import MixinUsers from '@/mixins/mixin-users' import MixinUsers from '@/mixins/mixin-users'
@@ -28,13 +29,15 @@ import MixinMetaTags from '@/mixins/mixin-metatags'
export default defineComponent({ export default defineComponent({
name: 'mainview', name: 'mainview',
components: { CSkill, CChartMap, CMapsEsempio, CDashboard, CUserNonVerif, CMainView, CCopyBtn, components: { CSkill, CChartMap, CMapsEsempio, CDashboard, CUserNonVerif, CMainView, CCopyBtn,
CNotifAtTop, LandingFooter, CCheckIfIsLogged, CStatusReg, CEventsCalendar, CPresentazione }, CNotifAtTop, LandingFooter,
CCheckIfIsLogged, CStatusReg, CEventsCalendar, CPresentazione, CMyPageElem },
setup() { setup() {
const globalStore = useGlobalStore() const globalStore = useGlobalStore()
const userStore = useUserStore() const userStore = useUserStore()
const { getValDb } = MixinBase() const { getValDb } = MixinBase()
const notifStore = useNotifStore() const notifStore = useNotifStore()
const isfinishLoading = computed(() => globalStore.finishLoading)
const { setmeta } = MixinMetaTags() const { setmeta } = MixinMetaTags()
@@ -50,6 +53,7 @@ export default defineComponent({
setmeta, setmeta,
getValDb, getValDb,
notifStore, notifStore,
isfinishLoading,
} }
}, },
}) })

View File

@@ -1,100 +1,33 @@
<template> <template>
<q-page class=""> <q-page class="">
<CNotifAtTop /> <span
>{{
<span>{{ setmeta({
setmeta({ title: $t('ws.sitename'),
title: $t('ws.sitename'), description: $t('ws.siteshortname'),
description: $t('ws.siteshortname'), keywords: $t('ws.keywords'),
keywords: $t('ws.keywords'), })
}) }}
}} </span>
</span>
<!--<CChartMap
title="Mappa"
subtitle="cartina..."
serie1="Serie 1"
>
</CChartMap>-->
<!--<CMapsEsempio></CMapsEsempio>-->
<q-banner
v-if="globalStore.isNewVersionAvailable"
rounded
dense
class="bg-green text-white"
color="primary q-title"
style="text-align: center;">
<template v-slot:avatar>
<q-icon name="fas fa-exclamation-triangle" color="yellow" size="xs" />
</template>
<span class="mybanner">Per Aggiornare alla nuova versione, chiudere e riaprire la APP (o il browser)</span>
</q-banner>
<q-banner
v-if="tools.isTest()"
rounded
dense
class="bg-negative text-white"
color="primary q-title"
style="text-align: center;">
<template v-slot:avatar>
<q-icon name="fas fa-exclamation-triangle" color="yellow" size="xs" />
</template>
<span class="mybanner">Questo è l'AMBIENTE DI TEST !<br> Solo per prove.</span>
</q-banner>
<div v-if="tools.isLogged()"> <div v-if="tools.isLogged()">
<div v-if="!tools.isUserOk()"> <div v-if="!tools.isUserOk()">
<CUserNonVerif></CUserNonVerif> <CUserNonVerif></CUserNonVerif>
</div> </div>
<div v-else> <div v-else>
<div v-if="isfinishLoading">
<CDashboard></CDashboard> <CMyPageElem title="Home" mypath="home"> </CMyPageElem>
<CMainView></CMainView>
<div class="row justify-evenly items-center q-pa-sm q-ma-sm">
<q-btn
icon="fas fa-share-alt"
color="blue" type="a"
size="md"
rounded
:label="$t('reg.link_reg_and_msg')"
@click="tools.sendMsgTelegramCmd($q, $t, shared_consts.MsgTeleg.SHARE_MSGREG, true)">
</q-btn>
</div> </div>
<CEventsCalendar :mysingleevent="null" :showfirstN="getValDb('SHOW_LAST_EVENTS', false, 3)">
</CEventsCalendar>
<!--<CCopyBtn v-if="userStore.my.username" :title="$t('reg.link_reg')" :texttocopy="getRefLink(userStore.my.username)">
</CCopyBtn>-->
<CStatusReg>
</CStatusReg>
<div>Versione: {{tools.getvers()}}</div>
</div> </div>
</div> </div>
<div v-else> <div v-else>
<CPresentazione></CPresentazione> <div v-if="isfinishLoading">
<CCheckIfIsLogged></CCheckIfIsLogged> <CMyPageElem title="Home" mypath="home_logout"> </CMyPageElem>
</div>
</div> </div>
<LandingFooter></LandingFooter> <LandingFooter></LandingFooter>
</q-page> </q-page>
</template> </template>
<script lang="ts" src="./mainview.ts"> <script lang="ts" src="./mainview.ts">
</script> </script>

View File

@@ -179,19 +179,6 @@
> >
</CMyFieldRec> </CMyFieldRec>
<CMyFieldDb
:title="$t('reg.born_city')"
table="users"
:id="myuser._id"
:rec="myuser"
tablesel="cities"
mykey="profile"
mysubkey="born_city_id"
jointable="cities"
:type="costanti.FieldType.select_by_server"
>
</CMyFieldDb>
<CMyFieldDb <CMyFieldDb
:title="$t('reg.dateofbirth')" :title="$t('reg.dateofbirth')"
table="users" table="users"