Altro
This commit is contained in:
@@ -1184,6 +1184,10 @@ export const shared_consts = {
|
||||
value: 6,
|
||||
label: 'Margine',
|
||||
},
|
||||
{
|
||||
value: 7,
|
||||
label: 'Card',
|
||||
},
|
||||
{
|
||||
value: 8,
|
||||
label: 'ImgTitolo',
|
||||
@@ -1253,6 +1257,7 @@ export const shared_consts = {
|
||||
ELEMTYPE: {
|
||||
TITLE: 5,
|
||||
MARGINI: 6,
|
||||
CARD: 7,
|
||||
IMGTITLE: 8,
|
||||
TEXT: 10,
|
||||
HTML: 20,
|
||||
@@ -1271,6 +1276,13 @@ export const shared_consts = {
|
||||
OPENSTREETMAP: 120,
|
||||
},
|
||||
|
||||
ALIGNTYPE: {
|
||||
NONE: 0,
|
||||
LEFT: 1,
|
||||
CEHTER: 2,
|
||||
RIGHT: 3,
|
||||
},
|
||||
|
||||
getStatusStr(status: number) {
|
||||
const trovatorec = this.OrderStatusStr.find((rec) => rec.value === status)
|
||||
return (trovatorec) ? trovatorec.label : ''
|
||||
|
||||
@@ -462,3 +462,15 @@ body.mobile .landing:before {
|
||||
border: #11f609 solid 2px;
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
.align_center {
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
.align_right {
|
||||
text-align: right;
|
||||
}
|
||||
|
||||
.align_left {
|
||||
text-align: left;
|
||||
}
|
||||
|
||||
@@ -9,7 +9,7 @@ import { CImgTitle } from '../CImgTitle/index'
|
||||
import { CTitle } from '@/components/CTitle/index'
|
||||
import { tools } from '@store/Modules/tools'
|
||||
import { shared_consts } from '@/common/shared_vuejs'
|
||||
import LandingFooter from '@/components/LandingFooter/LandingFooter'
|
||||
import { LandingFooter } from '@/components/LandingFooter'
|
||||
import { COpenStreetMap } from '@src/components/COpenStreetMap'
|
||||
import { CCardCarousel } from '@src/components/CCardCarousel'
|
||||
import { CMyPage } from '@src/components/CMyPage'
|
||||
@@ -22,6 +22,7 @@ import MixinMetaTags from '@/mixins/mixin-metatags'
|
||||
import { useQuasar } from 'quasar'
|
||||
import { useI18n } from '@/boot/i18n'
|
||||
|
||||
|
||||
export default defineComponent({
|
||||
name: 'CMyElem',
|
||||
components: { CImgTitle, CTitle, LandingFooter, CEventsCalendar, CCardCarousel, COpenStreetMap, CMyPage, CMyPageIntro, CMyEditor, CMyFieldRec },
|
||||
@@ -44,7 +45,7 @@ export default defineComponent({
|
||||
type: Boolean,
|
||||
required: false,
|
||||
default: false,
|
||||
}
|
||||
},
|
||||
},
|
||||
setup(props) {
|
||||
const globalStore = useGlobalStore()
|
||||
@@ -155,6 +156,26 @@ export default defineComponent({
|
||||
}
|
||||
}
|
||||
|
||||
function getClass() {
|
||||
let mycl = ''
|
||||
if (props.myelem.align === shared_consts.ALIGNTYPE.CEHTER) {
|
||||
mycl += ' align_center'
|
||||
} else if (props.myelem.align === shared_consts.ALIGNTYPE.RIGHT) {
|
||||
mycl += ' align_right'
|
||||
} else if (props.myelem.align === shared_consts.ALIGNTYPE.LEFT) {
|
||||
mycl += ' align_left'
|
||||
}
|
||||
|
||||
return mycl
|
||||
}
|
||||
|
||||
function showFit() {
|
||||
if (props.myelem.type)
|
||||
return [shared_consts.ELEMTYPE.TEXT].includes(props.myelem.type)
|
||||
else
|
||||
return false
|
||||
}
|
||||
|
||||
onMounted(mounted)
|
||||
|
||||
return {
|
||||
@@ -178,6 +199,8 @@ export default defineComponent({
|
||||
enableEdit,
|
||||
enableAdd,
|
||||
clickOnElem,
|
||||
getClass,
|
||||
showFit,
|
||||
}
|
||||
},
|
||||
|
||||
|
||||
@@ -31,6 +31,30 @@
|
||||
type="number"
|
||||
>
|
||||
</q-input>
|
||||
<q-select
|
||||
v-if="enableEdit"
|
||||
rounded outlined v-model="myel.align"
|
||||
:options="tools.SelectListAlign"
|
||||
@update:model-value="modifElem"
|
||||
dense
|
||||
label="Allinea" emit-value map-options>
|
||||
</q-select>
|
||||
<q-select
|
||||
v-if="enableEdit"
|
||||
rounded outlined v-model="myel.class"
|
||||
:options="tools.SelectListClass"
|
||||
@update:model-value="modifElem"
|
||||
dense
|
||||
label="Classe" emit-value map-options>
|
||||
</q-select>
|
||||
<q-select
|
||||
v-if="enableEdit && showFit"
|
||||
rounded outlined v-model="myel.fit"
|
||||
:options="tools.SelectListFit"
|
||||
@update:model-value="modifElem"
|
||||
dense
|
||||
label="Fit" emit-value map-options>
|
||||
</q-select>
|
||||
<q-space/>
|
||||
<q-btn
|
||||
icon="fas fa-trash-alt"
|
||||
@@ -56,10 +80,11 @@
|
||||
flat
|
||||
icon="fas fa-plus"
|
||||
color="positive"
|
||||
@click="addNewElem(myelem.order-10)">
|
||||
@click="addNewElem(myel.order-10)">
|
||||
</q-btn>
|
||||
|
||||
</q-bar>
|
||||
|
||||
<div v-if="myel.type === shared_consts.ELEMTYPE.TEXT">
|
||||
<div v-if="enableEdit">
|
||||
<q-input
|
||||
@@ -74,11 +99,53 @@
|
||||
|
||||
</div>
|
||||
<div
|
||||
:class="myel.class + (editOn ? ` clEdit` : ``)"
|
||||
:class="myel.class + (editOn ? ` clEdit` : ``) + getClass()"
|
||||
@click="clickOnElem">{{ myel.container }}
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<div v-if="myel.type === shared_consts.ELEMTYPE.CARD">
|
||||
|
||||
<q-card class="my-card" flat bordered>
|
||||
<q-img
|
||||
:src="myel.img"
|
||||
/>
|
||||
|
||||
<q-card-section>
|
||||
<div class="text-overline text-orange-9">{{ myel.container }}</div>
|
||||
<div class="text-h5 q-mt-sm q-mb-xs">{{ myel.container2 }}</div>
|
||||
<div class="text-caption text-grey">
|
||||
{{ myel.container3 }}
|
||||
</div>
|
||||
</q-card-section>
|
||||
|
||||
<!--<q-card-actions>
|
||||
<q-btn flat color="dark" label="Share"/>
|
||||
<q-btn flat color="primary" label="Book"/>
|
||||
|
||||
<q-space/>
|
||||
|
||||
<q-btn
|
||||
color="grey"
|
||||
round
|
||||
flat
|
||||
dense
|
||||
:icon="expanded ? 'keyboard_arrow_up' : 'keyboard_arrow_down'"
|
||||
@click="expanded = !expanded"
|
||||
/>
|
||||
</q-card-actions>-->
|
||||
|
||||
<q-slide-transition>
|
||||
<div v-show="expanded">
|
||||
<q-separator/>
|
||||
<q-card-section class="text-subitle2">
|
||||
{{ lorem }}
|
||||
</q-card-section>
|
||||
</div>
|
||||
</q-slide-transition>
|
||||
</q-card>
|
||||
</div>
|
||||
|
||||
<div v-if="myel.type === shared_consts.ELEMTYPE.MARGINI">
|
||||
<div v-if="enableEdit">
|
||||
<q-input
|
||||
@@ -93,7 +160,7 @@
|
||||
|
||||
</div>
|
||||
<div
|
||||
:class="myel.class + (editOn ? ` clEdit` : ``)"
|
||||
:class="myel.class + (editOn ? ` clEdit` : ``) + getClass()"
|
||||
@click="clickOnElem"
|
||||
:style="`margin: ` + myel.size">
|
||||
</div>
|
||||
@@ -112,7 +179,7 @@
|
||||
</div>
|
||||
<div>
|
||||
<div
|
||||
:class="myel.class + (editOn ? ` clEdit` : ``)"
|
||||
:class="myel.class + (editOn ? ` clEdit` : ``) + getClass()"
|
||||
@click="clickOnElem">
|
||||
<CTitle
|
||||
:imgbackground="myel.imgback"
|
||||
@@ -144,7 +211,7 @@
|
||||
|
||||
</div>
|
||||
<div>
|
||||
<div :class="myel.class + (editOn ? ` clEdit` : ``)"
|
||||
<div :class="myel.class + (editOn ? ` clEdit` : ``) + getClass()"
|
||||
@click="clickOnElem">
|
||||
<CImgTitle v-if="myel.container" :src="myel.container" :title="myel.title">
|
||||
</CImgTitle>
|
||||
@@ -172,7 +239,7 @@
|
||||
|
||||
</div>
|
||||
<div>
|
||||
<div :class="myel.class + (editOn ? ` clEdit` : ``)"
|
||||
<div :class="myel.class + (editOn ? ` clEdit` : ``) + getClass()"
|
||||
@click="clickOnElem"
|
||||
v-html="myel.containerHtml"></div>
|
||||
</div>
|
||||
@@ -190,18 +257,16 @@
|
||||
<div class="row">
|
||||
<q-input
|
||||
label="Width:"
|
||||
type="number"
|
||||
@update:model-value="modifElem"
|
||||
v-model="myel.width"
|
||||
v-model="myel.widthimg"
|
||||
filled
|
||||
v-on:keyup.enter="saveElem"
|
||||
>
|
||||
</q-input>
|
||||
<q-input
|
||||
label="Height:"
|
||||
type="number"
|
||||
@update:model-value="modifElem"
|
||||
v-model="myel.height"
|
||||
v-model="myel.heightimg"
|
||||
filled
|
||||
v-on:keyup.enter="saveElem"
|
||||
>
|
||||
@@ -209,9 +274,9 @@
|
||||
</div>
|
||||
</div>
|
||||
<div class="text-center">
|
||||
<div :class="myel.class + (editOn ? ` clEdit` : ``)"
|
||||
<div :class="myel.class + (editOn ? ` clEdit` : ``) + getClass()"
|
||||
@click="clickOnElem">
|
||||
<q-img :src="myel.container" class="img" :width="myel.width.toString()" :height="myel.height.toString()"></q-img>
|
||||
<q-img :src="myel.container" :fit="myel.fit" class="img" :width="myel.widthimg ? myel.widthimg: undefined" :height="myel.heightimg ? myel.heightimg : undefined"></q-img>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@@ -235,14 +300,18 @@
|
||||
>
|
||||
</q-input>
|
||||
</div>
|
||||
<div :class="myel.class + (editOn ? ` clEdit` : ``)"
|
||||
<div :class="myel.class + (editOn ? ` clEdit` : ``) + getClass()"
|
||||
@click="clickOnElem">
|
||||
<q-video v-if="!!rec.container" :src="rec.container" :ratio="rec.ratio">
|
||||
</q-video>
|
||||
</div>
|
||||
</div>
|
||||
<div v-else-if="myel.type === shared_consts.ELEMTYPE.FOOTER">
|
||||
<LandingFooter></LandingFooter>
|
||||
<div :class="myel.class + (editOn ? ` clEdit` : ``) + getClass()"
|
||||
@click="clickOnElem">
|
||||
|
||||
<LandingFooter></LandingFooter>
|
||||
</div>
|
||||
</div>
|
||||
<div v-else-if="myel.type === shared_consts.ELEMTYPE.PAGE">
|
||||
<div v-if="enableEdit" class="row">
|
||||
@@ -255,7 +324,7 @@
|
||||
>
|
||||
</q-input>
|
||||
</div>
|
||||
<div :class="myel.class + (editOn ? ` clEdit` : ``)"
|
||||
<div :class="myel.class + (editOn ? ` clEdit` : ``) + getClass()"
|
||||
@click="clickOnElem">
|
||||
<CMyPage :mypath="myel.container"> </CMyPage>
|
||||
</div>
|
||||
@@ -266,6 +335,7 @@
|
||||
label="NomeFile Img:"
|
||||
@update:model-value="modifElem"
|
||||
v-model="myel.container"
|
||||
debounce="1000"
|
||||
filled
|
||||
v-on:keyup.enter="saveElem"
|
||||
>
|
||||
@@ -274,6 +344,7 @@
|
||||
label="Width:"
|
||||
type="number"
|
||||
@update:model-value="modifElem"
|
||||
debounce="1000"
|
||||
v-model="myel.widthimg"
|
||||
filled
|
||||
v-on:keyup.enter="saveElem"
|
||||
@@ -283,6 +354,7 @@
|
||||
label="Height:"
|
||||
type="number"
|
||||
@update:model-value="modifElem"
|
||||
debounce="1000"
|
||||
v-model="myel.heightimg"
|
||||
filled
|
||||
v-on:keyup.enter="saveElem"
|
||||
@@ -291,13 +363,14 @@
|
||||
<q-input
|
||||
label="Link:"
|
||||
@update:model-value="modifElem"
|
||||
debounce="1000"
|
||||
v-model="myel.link"
|
||||
filled
|
||||
v-on:keyup.enter="saveElem"
|
||||
>
|
||||
</q-input>
|
||||
</div>
|
||||
<div :class="myel.class + (editOn ? ` clEdit` : ``)"
|
||||
<div :class="myel.class + (editOn ? ` clEdit` : ``) + getClass()"
|
||||
@click="clickOnElem">
|
||||
<CMyPageIntro :mypath="myel.container" :maxheightimg="myel.heightimg" :maxwidthimg="myel.widthimg" :link="myel.link"></CMyPageIntro>
|
||||
</div>
|
||||
@@ -332,6 +405,7 @@
|
||||
<q-input
|
||||
label="Secondi tra un'immagine e l'altra:"
|
||||
@update:model-value="modifElem"
|
||||
debounce="1000"
|
||||
v-model="myel.container2"
|
||||
type="number"
|
||||
filled
|
||||
@@ -355,7 +429,7 @@
|
||||
</q-toggle>
|
||||
|
||||
</div>
|
||||
<div :class="myel.class + (editOn ? ` clEdit` : ``)"
|
||||
<div :class="myel.class + (editOn ? ` clEdit` : ``) + getClass()"
|
||||
@click="clickOnElem">
|
||||
|
||||
<q-carousel
|
||||
@@ -364,6 +438,7 @@
|
||||
:autoplay="myel.container2 ? (myel.container2 * 1000) : 8000"
|
||||
v-model="slide2"
|
||||
arrows
|
||||
:fit="myel.fit"
|
||||
:thumbnails="myel.parambool2"
|
||||
infinite
|
||||
:height="myel.height ? myel.height.toString() : 600">
|
||||
@@ -448,6 +523,7 @@
|
||||
<q-input
|
||||
label="Visualizza ultimi N eventi:"
|
||||
@update:model-value="modifElem"
|
||||
debounce="1000"
|
||||
v-model="myel.number"
|
||||
filled
|
||||
v-on:keyup.enter="saveElem"
|
||||
@@ -487,7 +563,6 @@
|
||||
@click="saveElem(true)">
|
||||
</q-btn>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</template>
|
||||
|
||||
|
||||
@@ -8,12 +8,12 @@
|
||||
>
|
||||
|
||||
</q-toggle>
|
||||
<q-toggle v-if="tools.isManager()"
|
||||
<!-- <q-toggle v-if="tools.isManager()"
|
||||
v-model="addOn"
|
||||
icon="fas fa-plus"
|
||||
>
|
||||
|
||||
</q-toggle>
|
||||
</q-toggle>-->
|
||||
|
||||
|
||||
</q-toolbar>
|
||||
|
||||
@@ -4,9 +4,9 @@
|
||||
<div class="q-ma-sm q-gutter-sm q-pa-xs">
|
||||
<div v-if="!!rec.img1" class="text-center">
|
||||
<q-btn v-if="link" @click="openclick">
|
||||
<q-img :src="rec.img1" :height="maxheightimg + `px`" :width="maxwidthimg + `px`" fit="fill"></q-img>
|
||||
<q-img :src="rec.img1" :height="maxheightimg" :width="maxwidthimg" fit="fill"></q-img>
|
||||
</q-btn>
|
||||
<q-img v-else :src="rec.img1" :height="maxheightimg + `px`" :width="maxwidthimg + `px`" fit="fill" @click="openclick"></q-img>
|
||||
<q-img v-else :src="rec.img1" :height="maxheightimg" :width="maxwidthimg" fit="fill" @click="openclick"></q-img>
|
||||
</div>
|
||||
|
||||
<div v-if="!!rec.content" v-html="rec.content"></div>
|
||||
|
||||
@@ -57,6 +57,7 @@ const msg_website_it = {
|
||||
SignUpArcadei: 'Aderisci ad Arcadei',
|
||||
SignUp_alreadylista: 'Registrazione per quelli che erano già nella lista di Notevole (del 2019) !',
|
||||
SignUp2: 'Registrazione',
|
||||
SignUp4: 'Reg',
|
||||
SignUpBot: 'Registrati',
|
||||
SignIn: 'Login',
|
||||
status: 'Statistiche',
|
||||
|
||||
@@ -115,10 +115,12 @@ export interface IMyElem {
|
||||
_id?: string
|
||||
type?: number
|
||||
path?: string
|
||||
title?: string
|
||||
img?: string
|
||||
container?: string
|
||||
container2?: string
|
||||
container3?: string
|
||||
align?: number
|
||||
fit?: string
|
||||
parambool?: boolean
|
||||
parambool2?: boolean
|
||||
parambool3?: boolean
|
||||
@@ -130,8 +132,8 @@ export interface IMyElem {
|
||||
order?: number
|
||||
width?: number
|
||||
height?: number
|
||||
heightimg?: number
|
||||
widthimg?: number
|
||||
heightimg?: string
|
||||
widthimg?: string
|
||||
link?: string
|
||||
onlyif_logged?: boolean
|
||||
active?: boolean
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
v-if="rec.path"
|
||||
:title="rec.title" :imgbackground="`` + rec.imgback"
|
||||
:mypath="rec.path"
|
||||
:sizes="`max-height: ` + rec.heightimg + `px`">
|
||||
:sizes="`max-height: ` + rec.heightimg">
|
||||
|
||||
<span>{{
|
||||
setmeta({
|
||||
|
||||
452
src/root_spec/home_kolibrilab/home_kolibrilab.scss
Executable file
452
src/root_spec/home_kolibrilab/home_kolibrilab.scss
Executable file
@@ -0,0 +1,452 @@
|
||||
|
||||
.testo-banda {
|
||||
//background: -webkit-gradient(linear, left top, left bottom, from(#3144f0), to(transparent));
|
||||
//background: linear-gradient(180deg, #3144f0, transparent);
|
||||
//background: rgba(0, 0, 0, .6)
|
||||
}
|
||||
|
||||
$grayshadow: #555;
|
||||
|
||||
$textcol: blue;
|
||||
$textcol_scuro: darkblue;
|
||||
|
||||
p {
|
||||
margin: 0 0 1.25rem;
|
||||
//text-shadow: .125rem .125rem .25rem $grayshadow;
|
||||
}
|
||||
|
||||
h4 {
|
||||
font-size: 1.25rem;
|
||||
}
|
||||
|
||||
.mycard {
|
||||
visibility: hidden;
|
||||
}
|
||||
|
||||
.landing {
|
||||
}
|
||||
|
||||
.landing_background {
|
||||
background: #000 url(../../../public/images/foto1.jpg) no-repeat 50% fixed;
|
||||
background-size: cover
|
||||
}
|
||||
|
||||
.landing > section {
|
||||
display: -webkit-box;
|
||||
display: -ms-flexbox;
|
||||
display: flex;
|
||||
-webkit-box-pack: center;
|
||||
-ms-flex-pack: center;
|
||||
justify-content: center;
|
||||
//padding: 0 16px
|
||||
}
|
||||
|
||||
.intro {
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
align-items: stretch;
|
||||
/* flex-flow: row nowrap; */
|
||||
|
||||
padding: 1.25rem 0 1.25rem 0;
|
||||
margin: .125rem;
|
||||
|
||||
* {
|
||||
width: 100%;
|
||||
flex: 1;
|
||||
margin-left: auto;
|
||||
margin-right: auto;
|
||||
}
|
||||
|
||||
&__associazione {
|
||||
min-width: 350px;
|
||||
}
|
||||
|
||||
&__comeassociarsi {
|
||||
min-width: 350px;
|
||||
}
|
||||
}
|
||||
|
||||
.subtitle {
|
||||
font-weight: 600;
|
||||
text-align: center;
|
||||
letter-spacing: 0.125rem;
|
||||
text-transform: uppercase;
|
||||
font-size: 1rem;
|
||||
}
|
||||
|
||||
.landing > section.padding {
|
||||
padding: 5.62rem 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 > section > div {
|
||||
position: relative;
|
||||
width: 100%
|
||||
}
|
||||
|
||||
.maxwidth1200 {
|
||||
max-width: 1200px;
|
||||
}
|
||||
|
||||
.landing__toolbar {
|
||||
background: -webkit-gradient(linear, left top, left bottom, from(#000), to(transparent));
|
||||
background: linear-gradient(180deg, #000, transparent);
|
||||
padding: 0 !important
|
||||
}
|
||||
|
||||
.landing__toolbar .q-btn {
|
||||
border-radius: 0 0 .315rem .315rem;
|
||||
-ms-flex-item-align: stretch;
|
||||
align-self: stretch
|
||||
}
|
||||
|
||||
.landing__hero {
|
||||
min-height: 50vh
|
||||
}
|
||||
|
||||
.landing__header {
|
||||
height: 18vh
|
||||
}
|
||||
|
||||
.landing__arrow {
|
||||
bottom: 1.5rem;
|
||||
opacity: .4
|
||||
}
|
||||
|
||||
.landing__front {
|
||||
background: -webkit-gradient(linear, left top, left bottom, from(transparent), color-stop(15%, rgba(0, 0, 0, .6)));
|
||||
background: linear-gradient(180deg, transparent, rgba(0, 0, 0, .6) 15%)
|
||||
}
|
||||
|
||||
.landing__logo {
|
||||
width: 9.40rem;
|
||||
height: 9.40rem;
|
||||
margin-top: 1.315rem;
|
||||
//-webkit-animation: logo-rotate 240s linear infinite;
|
||||
//animation: logo-rotate 240s linear infinite
|
||||
}
|
||||
|
||||
.landing__features .q-icon {
|
||||
font-size: 4rem
|
||||
}
|
||||
|
||||
h4 {
|
||||
line-height: 1.5;
|
||||
text-shadow: .25rem .25rem .5rem $grayshadow;
|
||||
}
|
||||
|
||||
.landing__features h4, .landing__features h6 {
|
||||
margin: 1rem 0
|
||||
}
|
||||
|
||||
.landing__features p {
|
||||
opacity: .7;
|
||||
font-size: 1rem;
|
||||
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, .8) 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
|
||||
}
|
||||
|
||||
.feat-descr {
|
||||
font-size: 1.15rem;
|
||||
}
|
||||
|
||||
.feat-descr:hover {
|
||||
transition: opacity 0.5s ease-in-out;
|
||||
opacity: 0.9;
|
||||
}
|
||||
|
||||
.q-col-gutter-sm {
|
||||
padding: 3.125rem 3.125rem;
|
||||
//margin-left: -48px
|
||||
}
|
||||
|
||||
body.mobile .landing {
|
||||
//background: unset
|
||||
}
|
||||
|
||||
body.mobile .landing:before {
|
||||
content: "";
|
||||
position: fixed;
|
||||
top: 0;
|
||||
height: 100vh;
|
||||
left: 0;
|
||||
right: 0;
|
||||
bottom: 0;
|
||||
z-index: -1;
|
||||
//background: #000 url(../../public/images/cover.jpg) 50%;
|
||||
|
||||
background-size: cover
|
||||
}
|
||||
|
||||
/*
|
||||
@-webkit-keyframes logo-rotate {
|
||||
to {
|
||||
-webkit-transform: rotate(-1turn);
|
||||
transform: rotate(-1turn)
|
||||
}
|
||||
}
|
||||
|
||||
@keyframes logo-rotate {
|
||||
to {
|
||||
-webkit-transform: rotate(-1turn);
|
||||
transform: rotate(-1turn)
|
||||
}
|
||||
}
|
||||
*/
|
||||
|
||||
.home {
|
||||
//background-color: rgb(250, 250, 250);
|
||||
padding: 3.125rem;
|
||||
display: flex;
|
||||
//flex-wrap: nowrap;
|
||||
flex-direction: column;
|
||||
align-items: center;
|
||||
justify-content: space-between;
|
||||
}
|
||||
|
||||
.btn-start {
|
||||
margin: 3.125rem;
|
||||
}
|
||||
|
||||
.shadow {
|
||||
//color: white;
|
||||
text-shadow: 0.125rem 0.125rem 0.25rem $grayshadow;
|
||||
}
|
||||
|
||||
.text-h1, h1 {
|
||||
font-size: 3rem;
|
||||
font-weight: bold;
|
||||
line-height: 3rem;
|
||||
letter-spacing: -.01562em;
|
||||
margin-bottom: 8px !important;
|
||||
}
|
||||
|
||||
.text-h2 {
|
||||
font-size: 3.75rem;
|
||||
font-weight: 300;
|
||||
line-height: 3.75rem;
|
||||
letter-spacing: -.00833em;
|
||||
}
|
||||
|
||||
.text-weight-bold {
|
||||
font-weight: 700;
|
||||
}
|
||||
|
||||
.text-vers {
|
||||
font-size: 0.75rem;
|
||||
font-weight: 400;
|
||||
line-height: 1.75rem;
|
||||
letter-spacing: .00937em;
|
||||
text-shadow: .25rem .25rem .5rem $grayshadow;
|
||||
}
|
||||
|
||||
.homep-cover-img-1 {
|
||||
background: #000 url(../../../public/images/foto1.jpg) no-repeat 50% fixed;
|
||||
//transition: background-image 1s ease-in-out;
|
||||
}
|
||||
|
||||
.homep-cover-img-2 {
|
||||
background: #000 url(../../../public/images/foto2.jpg) no-repeat 50% fixed;
|
||||
//transition: background-image 1s ease-in-out;
|
||||
}
|
||||
|
||||
.homep-cover-img-3 {
|
||||
background: #000 url(../../../public/images/foto3.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: 1.75rem
|
||||
}
|
||||
|
||||
.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-image: url(../../public/images/cibo_sano.jpg);
|
||||
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, h1 {
|
||||
font-size: 2rem;
|
||||
line-height: 2.05rem;
|
||||
margin-bottom: 1.25rem
|
||||
}
|
||||
|
||||
.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;
|
||||
|
||||
max-width: 800px;
|
||||
}
|
||||
|
||||
.landing > section.padding_gallery > div {
|
||||
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__hero2-content {
|
||||
padding-bottom: 7.25rem;
|
||||
}
|
||||
.landing__hero-btns {
|
||||
-webkit-box-pack: center;
|
||||
-ms-flex-pack: center;
|
||||
justify-content: center
|
||||
}
|
||||
|
||||
.q-col-gutter-sm {
|
||||
padding: .625rem .315rem;
|
||||
}
|
||||
|
||||
.text-subtitle1 {
|
||||
font-size: 1.25rem;
|
||||
}
|
||||
.text-vers {
|
||||
font-size: 0.6rem;
|
||||
}
|
||||
|
||||
.carousel_img_3 {
|
||||
//background-image: url(../../public/images/cibo_sano.jpg);
|
||||
background-size: 620px 620px !important;
|
||||
background-position: 50% top !important;
|
||||
background-repeat: no-repeat !important;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
.custom-caption {
|
||||
text-align: center;
|
||||
padding: .75rem;
|
||||
color: $textcol;
|
||||
background-color: rgba(0, 0, 0, .3);
|
||||
}
|
||||
|
||||
.sfondo-grigio {
|
||||
padding: 1rem;
|
||||
color: $textcol;
|
||||
background-color: rgba(0, 0, 0, .35);
|
||||
}
|
||||
|
||||
.mycontacts {
|
||||
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 {
|
||||
color: #999;
|
||||
letter-spacing: 0.093rem;
|
||||
}
|
||||
57
src/root_spec/home_kolibrilab/home_kolibrilab.ts
Executable file
57
src/root_spec/home_kolibrilab/home_kolibrilab.ts
Executable file
@@ -0,0 +1,57 @@
|
||||
import { defineComponent, ref, onMounted, watch, computed } from 'vue'
|
||||
|
||||
import { useGlobalStore } from '@store/globalStore'
|
||||
import { useRoute } from 'vue-router'
|
||||
import { useUserStore } from '@store/UserStore'
|
||||
|
||||
import { Logo } from '@/components/logo'
|
||||
|
||||
import { LandingFooter } from '@/components/LandingFooter'
|
||||
import { CMyPageElem } from '@/components/CMyPageElem/index'
|
||||
|
||||
import { tools } from '@src/store/Modules/tools'
|
||||
import { static_data } from '@src/db/static_data'
|
||||
import { toolsext } from '@src/store/Modules/toolsext'
|
||||
import { Screen } from 'quasar'
|
||||
import { CCardCarousel, CEventsCalendar, CMyElem, COpenStreetMap } from '@components'
|
||||
import MixinBase from '@src/mixins/mixin-base'
|
||||
import { firstimagehome } from '@src/db/static_data'
|
||||
import MixinMetaTags from '@/mixins/mixin-metatags'
|
||||
|
||||
export default defineComponent({
|
||||
name: 'home_kolibrilab',
|
||||
components: { Logo, LandingFooter, CMyPageElem, CMyElem },
|
||||
|
||||
setup() {
|
||||
const userStore = useUserStore()
|
||||
const globalStore = useGlobalStore()
|
||||
|
||||
const { setmeta } = MixinMetaTags()
|
||||
|
||||
const { setValDb, getValDb } = MixinBase()
|
||||
|
||||
function getheightgallery() {
|
||||
if (tools.isMobile())
|
||||
return '400px'
|
||||
else
|
||||
return '600px'
|
||||
}
|
||||
|
||||
function created() {
|
||||
//
|
||||
}
|
||||
|
||||
created()
|
||||
|
||||
return {
|
||||
tools,
|
||||
toolsext,
|
||||
static_data,
|
||||
getheightgallery,
|
||||
getValDb,
|
||||
globalStore,
|
||||
setmeta,
|
||||
}
|
||||
},
|
||||
})
|
||||
|
||||
24
src/root_spec/home_kolibrilab/home_kolibrilab.vue
Executable file
24
src/root_spec/home_kolibrilab/home_kolibrilab.vue
Executable file
@@ -0,0 +1,24 @@
|
||||
<template>
|
||||
<CMyPageElem
|
||||
title="Home"
|
||||
mypath="home"
|
||||
>
|
||||
|
||||
<span>{{
|
||||
setmeta({
|
||||
title: '',
|
||||
description: '',
|
||||
keywords: '',
|
||||
})
|
||||
}}
|
||||
</span>
|
||||
|
||||
</CMyPageElem>
|
||||
</template>
|
||||
|
||||
<script lang="ts" src="./home_kolibrilab.ts">
|
||||
</script>
|
||||
|
||||
<style lang="scss" scoped>
|
||||
@import './home_kolibrilab.scss';
|
||||
</style>
|
||||
@@ -1255,13 +1255,15 @@ const msg_it = {
|
||||
|
||||
myelems: {
|
||||
active: 'active',
|
||||
title: 'title',
|
||||
img: 'img',
|
||||
path: 'Path',
|
||||
order: 'Order',
|
||||
type: 'Type',
|
||||
container: 'Container',
|
||||
container2: 'Container2',
|
||||
container3: 'Container3',
|
||||
align: 'align',
|
||||
fit: 'fit',
|
||||
parambool: 'parambool',
|
||||
number: 'Number',
|
||||
imgback: 'imgback',
|
||||
|
||||
@@ -125,13 +125,15 @@ export const colgallery = [
|
||||
|
||||
export const colmyelems = [
|
||||
AddCol({ name: 'active', label_trans: 'myelems.active', fieldtype: costanti.FieldType.boolean }),
|
||||
AddCol({ name: 'title', label_trans: 'myelems.title' }),
|
||||
AddCol({ name: 'path', label_trans: 'myelems.path' }),
|
||||
AddCol({ name: 'order', label_trans: 'myelems.order', fieldtype: costanti.FieldType.number }),
|
||||
AddCol({ name: 'type', label_trans: 'myelems.type', fieldtype: costanti.FieldType.select, jointable: 'elemtypes' }),
|
||||
AddCol({ name: 'container', label_trans: 'myelems.container' }),
|
||||
AddCol({ name: 'container2', label_trans: 'myelems.container2' }),
|
||||
AddCol({ name: 'container3', label_trans: 'myelems.container3' }),
|
||||
AddCol({ name: 'img', label_trans: 'myelems.img' }),
|
||||
AddCol({ name: 'align', label_trans: 'myelems.align', fieldtype: costanti.FieldType.number }),
|
||||
AddCol({ name: 'fit', label_trans: 'myelems.fit', fieldtype: costanti.FieldType.string }),
|
||||
AddCol({ name: 'parambool', label_trans: 'myelems.parambool', fieldtype: costanti.FieldType.boolean }),
|
||||
AddCol({ name: 'parambool2', label_trans: 'myelems.parambool2', fieldtype: costanti.FieldType.boolean }),
|
||||
AddCol({ name: 'parambool3', label_trans: 'myelems.parambool3', fieldtype: costanti.FieldType.boolean }),
|
||||
@@ -141,8 +143,8 @@ export const colmyelems = [
|
||||
AddCol({ name: 'ratio', label_trans: 'myelems.ratio' }),
|
||||
AddCol({ name: 'containerHtml', label_trans: 'myelems.containerHtml', fieldtype: costanti.FieldType.html }),
|
||||
AddCol({ name: 'height', label_trans: 'myelems.height', fieldtype: costanti.FieldType.number }),
|
||||
AddCol({ name: 'heightimg', label_trans: 'myelems.heightimg', fieldtype: costanti.FieldType.number }),
|
||||
AddCol({ name: 'widthimg', label_trans: 'pages.widthimg', fieldtype: costanti.FieldType.number }),
|
||||
AddCol({ name: 'heightimg', label_trans: 'myelems.heightimg', fieldtype: costanti.FieldType.string }),
|
||||
AddCol({ name: 'widthimg', label_trans: 'pages.widthimg', fieldtype: costanti.FieldType.string }),
|
||||
AddCol({ name: 'link', label_trans: 'pages.link', fieldtype: costanti.FieldType.string }),
|
||||
AddCol({ name: 'width', label_trans: 'myelems.width', fieldtype: costanti.FieldType.number }),
|
||||
AddCol({ name: 'onlyif_logged', label_trans: 'myelems.onlyif_logged', fieldtype: costanti.FieldType.boolean }),
|
||||
|
||||
@@ -364,6 +364,87 @@ export const tools = {
|
||||
},
|
||||
],
|
||||
|
||||
SelectListFit: [
|
||||
{
|
||||
label: '[Nessuna]',
|
||||
value: 'none',
|
||||
},
|
||||
{
|
||||
label: 'Cover',
|
||||
value: 'cover',
|
||||
},
|
||||
{
|
||||
label: 'Fill',
|
||||
value: 'fill',
|
||||
},
|
||||
{
|
||||
label: 'Contain',
|
||||
value: 'contain',
|
||||
},
|
||||
{
|
||||
label: 'Scale Down',
|
||||
value: 'scale-down',
|
||||
},
|
||||
],
|
||||
|
||||
SelectListClass: [
|
||||
{
|
||||
label: '[Nessuna]',
|
||||
value: '',
|
||||
},
|
||||
{
|
||||
label: 'q-ma-xs',
|
||||
value: 'q-ma-xs',
|
||||
},
|
||||
{
|
||||
label: 'q-ma-sm',
|
||||
value: 'q-ma-sm',
|
||||
},
|
||||
{
|
||||
label: 'q-ma-md',
|
||||
value: 'q-ma-md',
|
||||
},
|
||||
{
|
||||
label: 'q-ma-lg',
|
||||
value: 'q-ma-lg',
|
||||
},
|
||||
{
|
||||
label: 'q-pa-xs',
|
||||
value: 'q-pa-xs',
|
||||
},
|
||||
{
|
||||
label: 'q-pa-sm',
|
||||
value: 'q-pa-sm',
|
||||
},
|
||||
{
|
||||
label: 'q-pa-md',
|
||||
value: 'q-pa-md',
|
||||
},
|
||||
{
|
||||
label: 'q-pa-lg',
|
||||
value: 'q-pa-lg',
|
||||
},
|
||||
],
|
||||
|
||||
SelectListAlign: [
|
||||
{
|
||||
label: '[Nessuno]',
|
||||
value: 0,
|
||||
},
|
||||
{
|
||||
label: 'Sinistra',
|
||||
value: 1,
|
||||
},
|
||||
{
|
||||
label: 'Centro',
|
||||
value: 2,
|
||||
},
|
||||
{
|
||||
label: 'Destra',
|
||||
value: 3,
|
||||
},
|
||||
],
|
||||
|
||||
SelectListNumPeople: [
|
||||
{
|
||||
id: 0,
|
||||
|
||||
Reference in New Issue
Block a user