diff --git a/src/components/CImgTitle/CImgTitle.scss b/src/components/CImgTitle/CImgTitle.scss new file mode 100644 index 0000000..9aed146 --- /dev/null +++ b/src/components/CImgTitle/CImgTitle.scss @@ -0,0 +1,114 @@ + +.imgtitle { + display: flex; + justify-content: space-between; + /* flex-flow: row nowrap; */ + + padding: 1rem 0 1rem 0; + margin: .125rem; + + * { + width: 100%; + flex: 1; + margin-left: auto; + margin-right: auto; + } + + &__img { + min-width: 250px; + } + &__imgh100 { + max-height: 100px; + } + &__imgh150 { + max-height: 150px; + } + &__imgw150 { + max-width: 150px; + } + &__imgw100 { + max-width: 100px; + } +} + +@media (max-width: 2500px) { + .myclimg { + height: 550px !important; + } +} + +@media (max-width: 1600px) { + .myclimg { + height: 550px !important; + } +} + +@media (max-width: 1000px) { + .myclimg { + height: 450px !important; + } +} + +@media (max-width: 800px) { + .myclimg { + height: 400px !important; + } +} + + +@media (max-width: 718px) { + // PER VERSIONE MOBILE + .landing > section.padding_testo { + padding-top: 0.5rem; + padding-bottom: 0.1rem; + } + + .imgtitle { + padding: 0.25rem 0 0.25rem 0; + } + +} + +.landing > section.padding_testo { + padding-top: 1rem; + padding-bottom: 0.25rem; +} + +.section_text { + padding: 10px; +} + +.title{ + font-size: 3.5rem; + padding: 10px; + text-shadow: .2rem .2rem .2rem #3d3d3d; +} + +@media (max-width: 400px) { + .title{ + padding: 5px; + font-size: 3rem; + } +} + +.mylegendinside{ + font-size: 1rem; + margin-bottom: 50px; + opacity: .8; + + @media (max-width: 400px) { + margin-bottom: -10px; + } +} + +.mylegend{ + text-align: center; + color: black; + font-size: 1rem; + font-style: italic; + opacity: .8; + text-shadow: .05rem .05rem .05rem #aeaeae; + z-index: 1000; + @media (max-width: 400px) { + } +} diff --git a/src/components/CImgTitle/CImgTitle.ts b/src/components/CImgTitle/CImgTitle.ts new file mode 100644 index 0000000..0d9f049 --- /dev/null +++ b/src/components/CImgTitle/CImgTitle.ts @@ -0,0 +1,44 @@ +import Vue from 'vue' +import { Component, Prop } from 'vue-property-decorator' +import { GlobalStore, UserStore } from '@store' + +import VueScrollReveal from 'vue-scroll-reveal' +import { tools } from '@src/store/Modules/tools' +import { toolsext } from '@src/store/Modules/toolsext' +import { Screen } from 'quasar' + +// Vue.use(VueScrollReveal, { +// class: 'v-scroll-reveal', // A CSS class applied to elements with the v-scroll-reveal directive; useful for animation overrides. +// duration: 1200, +// scale: 0.95, +// distance: '10px', +// rotate: { +// x: 0, +// y: 0, +// z: 0 +// } +// // mobile: true +// }) + +@Component({ + name: 'CImgTitle' +}) +export default class CImgTitle extends Vue { + @Prop({ required: false, default: '' }) public src: string + @Prop({ required: false, default: '' }) public title: string + @Prop({ required: false, default: 0 }) public myheight: number + @Prop({ required: false, default: 0 }) public myheightmobile: number + @Prop({ required: false, default: '' }) public legendinside: string + @Prop({ required: false, default: '' }) public legend: string + + get tools() { + return tools + } + + get getsrc() { + // return this.src + const filefull = tools.getimgFullpathbysize(this.src) + + return tools.getimgbysize(filefull.path, filefull.file) + } +} diff --git a/src/components/CImgTitle/CImgTitle.vue b/src/components/CImgTitle/CImgTitle.vue new file mode 100644 index 0000000..3f64fe9 --- /dev/null +++ b/src/components/CImgTitle/CImgTitle.vue @@ -0,0 +1,15 @@ + + + + diff --git a/src/components/CImgTitle/index.ts b/src/components/CImgTitle/index.ts new file mode 100644 index 0000000..884ac1f --- /dev/null +++ b/src/components/CImgTitle/index.ts @@ -0,0 +1 @@ +export {default as CImgTitle} from './CImgTitle.vue' diff --git a/src/components/CPreloadImages/CPreloadImages.scss b/src/components/CPreloadImages/CPreloadImages.scss new file mode 100644 index 0000000..8b6ae01 --- /dev/null +++ b/src/components/CPreloadImages/CPreloadImages.scss @@ -0,0 +1,66 @@ +$heightBtn: 100%; +$grayshadow: #555; + +.text-subtitle-carica { + font-size: 1rem; + font-weight: 400; + line-height: 1.75rem; + letter-spacing: .00937em; + text-shadow: .1rem .1rem .1rem $grayshadow; +} + +.text-subtitle-certificato { + font-size: 0.75rem; + line-height: 1rem; +} + +@media (max-width: 718px) { + // PER VERSIONE MOBILE + .text-subtitle-carica { + font-size: 1rem; + } +} + +.op { + text-align: center !important; + font-size: 1rem; + font-weight: 400; + line-height: 1.75rem; + letter-spacing: .00937em; + text-shadow: .1rem .1rem .1rem $grayshadow; + + &__cell { + font-size: 1rem; + color: red; + } + + &__email { + font-size: 1rem; + color: #3b5998; + } + + &__email a { + text-decoration: none; + } + + &__facebook a { + font-size: 1rem; + text-decoration: none; + } + + &__storia { + margin-top: 1rem; + margin-bottom: 1rem; + text-align: justify; + } +} + +.myimg { + border-radius: 300px !important; +} + +.q-img { + &__image { + border-radius: 300px !important; + } +} diff --git a/src/components/CPreloadImages/CPreloadImages.ts b/src/components/CPreloadImages/CPreloadImages.ts new file mode 100644 index 0000000..9303774 --- /dev/null +++ b/src/components/CPreloadImages/CPreloadImages.ts @@ -0,0 +1,29 @@ +import Vue from 'vue' +import { Component, Prop, Watch } from 'vue-property-decorator' + +import { tools } from '../../store/Modules/tools' +import { toolsext } from '@src/store/Modules/toolsext' +import { IPreloadImages } from '../../model' + +@Component({ + name: 'CPreloadImages' +}) + +export default class CPreloadImages extends Vue { + @Prop({ required: true }) public arrimg: IPreloadImages[] + + get tools() { + return tools + } + + public getimg(recimg: IPreloadImages) { + if (recimg.mobile) { + const filefull = tools.getimgFullpathbysize(recimg.imgname) + + return tools.getimgbysize(filefull.path, filefull.file) + } else { + return recimg.imgname + } + } + +} diff --git a/src/components/CPreloadImages/CPreloadImages.vue b/src/components/CPreloadImages/CPreloadImages.vue new file mode 100644 index 0000000..704f450 --- /dev/null +++ b/src/components/CPreloadImages/CPreloadImages.vue @@ -0,0 +1,14 @@ + + + + + diff --git a/src/components/CPreloadImages/index.ts b/src/components/CPreloadImages/index.ts new file mode 100644 index 0000000..3e5e65a --- /dev/null +++ b/src/components/CPreloadImages/index.ts @@ -0,0 +1 @@ +export {default as CPreloadImages} from './CPreloadImages.vue' diff --git a/src/js/storage.js___jb_tmp___ b/src/js/storage.js___jb_tmp___ new file mode 100644 index 0000000..e69de29 diff --git a/src/model/BookingStore.ts b/src/model/BookingStore.ts new file mode 100644 index 0000000..b960836 --- /dev/null +++ b/src/model/BookingStore.ts @@ -0,0 +1,7 @@ +import { IAction } from '@src/model/Projects' +import { Component } from 'vue-router/types/router' +import { IEvents } from '@src/model/Calendar' + +export interface IBookingState { + bookinglist: IEvents[] +} diff --git a/src/quasar.d.ts b/src/quasar.d.ts new file mode 100644 index 0000000..86030c8 --- /dev/null +++ b/src/quasar.d.ts @@ -0,0 +1 @@ +declare module 'quasar' diff --git a/src/root/policy/policy.scss b/src/root/policy/policy.scss new file mode 100644 index 0000000..e69de29 diff --git a/src/root/policy/policy.ts b/src/root/policy/policy.ts new file mode 100644 index 0000000..6f33d1b --- /dev/null +++ b/src/root/policy/policy.ts @@ -0,0 +1,21 @@ +import Vue from 'vue' +import { Component } from 'vue-property-decorator' + +import { static_data } from '@src/db/static_data' + +import { PagePolicy } from '../../components/PagePolicy' + +@Component({ + name: 'Policy', + components: { PagePolicy } +}) + +export default class Policy extends Vue { + + public mioalert = false + + get static_data() { + return static_data + } + +} diff --git a/src/root/policy/policy.vue b/src/root/policy/policy.vue new file mode 100644 index 0000000..afb657a --- /dev/null +++ b/src/root/policy/policy.vue @@ -0,0 +1,28 @@ + + + diff --git a/src/shims-quasar.d.ts b/src/shims-quasar.d.ts new file mode 100644 index 0000000..e5b079e --- /dev/null +++ b/src/shims-quasar.d.ts @@ -0,0 +1,13 @@ +import Vue from 'vue' + +declare module 'vue/types/vue' { + interface Vue { + $q: any + } +} + +declare module 'vue/types/options' { + interface ComponentOptions { + preFectch?: (options: any) => void | Promise + } +} diff --git a/src/shims-vue.d.ts b/src/shims-vue.d.ts new file mode 100644 index 0000000..d9f24fa --- /dev/null +++ b/src/shims-vue.d.ts @@ -0,0 +1,4 @@ +declare module '*.vue' { + import Vue from 'vue' + export default Vue +} diff --git a/src/statics/images/imglogonotif.png b/src/statics/images/imglogonotif.png new file mode 100644 index 0000000..b5e10db Binary files /dev/null and b/src/statics/images/imglogonotif.png differ diff --git a/src/statics/js/workbox-sw-3-0-0.js b/src/statics/js/workbox-sw-3-0-0.js new file mode 100644 index 0000000..86617af --- /dev/null +++ b/src/statics/js/workbox-sw-3-0-0.js @@ -0,0 +1,3 @@ +var workbox=function(){"use strict";try{self.workbox.v["workbox:sw:3.0.0"]=1}catch(t){}const t="https://storage.googleapis.com/workbox-cdn/releases/3.0.0",e={backgroundSync:"background-sync",core:"core",expiration:"cache-expiration",googleAnalytics:"google-analytics",strategies:"strategies",precaching:"precaching",routing:"routing",cacheableResponse:"cacheable-response",broadcastUpdate:"broadcast-cache-update",rangeRequests:"range-requests"};return new class{constructor(){return this.v={},this.t={debug:"localhost"===self.location.hostname,modulePathPrefix:null,modulePathCb:null},this.e=this.t.debug?"dev":"prod",this.s=!1,new Proxy(this,{get(t,s){if(t[s])return t[s];const o=e[s];return o&&t.loadModule(`workbox-${o}`),t[s]}})}setConfig(t={}){if(this.s)throw new Error("Config must be set before accessing workbox.* modules");Object.assign(this.t,t),this.e=this.t.debug?"dev":"prod"}skipWaiting(){self.addEventListener("install",()=>self.skipWaiting())}clientsClaim(){self.addEventListener("activate",()=>self.clients.claim())}loadModule(t){const e=this.o(t);try{importScripts(e),this.s=!0}catch(s){throw console.error(`Unable to import module '${t}' from '${e}'.`),s}}o(e){if(this.t.modulePathCb)return this.t.modulePathCb(e,this.t.debug);let s=[t];const o=`${e}.${this.e}.js`,r=this.t.modulePathPrefix;return r&&""===(s=r.split("/"))[s.length-1]&&s.splice(s.length-1,1),s.push(o),s.join("/")}}}(); + +//# sourceMappingURL=workbox-sw.js.map diff --git a/src/statics/js/workbox-sw.js b/src/statics/js/workbox-sw.js new file mode 100644 index 0000000..0908b00 --- /dev/null +++ b/src/statics/js/workbox-sw.js @@ -0,0 +1,3 @@ +var workbox=function(){"use strict";try{self.workbox.v["workbox:sw:3.4.1"]=1}catch(t){}const t="https://storage.googleapis.com/workbox-cdn/releases/3.4.1",e={backgroundSync:"background-sync",broadcastUpdate:"broadcast-cache-update",cacheableResponse:"cacheable-response",core:"core",expiration:"cache-expiration",googleAnalytics:"google-analytics",navigationPreload:"navigation-preload",precaching:"precaching",rangeRequests:"range-requests",routing:"routing",strategies:"strategies",streams:"streams"};return new class{constructor(){return this.v={},this.t={debug:"localhost"===self.location.hostname,modulePathPrefix:null,modulePathCb:null},this.e=this.t.debug?"dev":"prod",this.s=!1,new Proxy(this,{get(t,s){if(t[s])return t[s];const o=e[s];return o&&t.loadModule(`workbox-${o}`),t[s]}})}setConfig(t={}){if(this.s)throw new Error("Config must be set before accessing workbox.* modules");Object.assign(this.t,t),this.e=this.t.debug?"dev":"prod"}skipWaiting(){self.addEventListener("install",()=>self.skipWaiting())}clientsClaim(){self.addEventListener("activate",()=>self.clients.claim())}loadModule(t){const e=this.o(t);try{importScripts(e),this.s=!0}catch(s){throw console.error(`Unable to import module '${t}' from '${e}'.`),s}}o(e){if(this.t.modulePathCb)return this.t.modulePathCb(e,this.t.debug);let s=[t];const o=`${e}.${this.e}.js`,r=this.t.modulePathPrefix;return r&&""===(s=r.split("/"))[s.length-1]&&s.splice(s.length-1,1),s.push(o),s.join("/")}}}(); + +//# sourceMappingURL=workbox-sw.js.map diff --git a/src/statics/js/workbox-sw3-4-1.js b/src/statics/js/workbox-sw3-4-1.js new file mode 100644 index 0000000..0908b00 --- /dev/null +++ b/src/statics/js/workbox-sw3-4-1.js @@ -0,0 +1,3 @@ +var workbox=function(){"use strict";try{self.workbox.v["workbox:sw:3.4.1"]=1}catch(t){}const t="https://storage.googleapis.com/workbox-cdn/releases/3.4.1",e={backgroundSync:"background-sync",broadcastUpdate:"broadcast-cache-update",cacheableResponse:"cacheable-response",core:"core",expiration:"cache-expiration",googleAnalytics:"google-analytics",navigationPreload:"navigation-preload",precaching:"precaching",rangeRequests:"range-requests",routing:"routing",strategies:"strategies",streams:"streams"};return new class{constructor(){return this.v={},this.t={debug:"localhost"===self.location.hostname,modulePathPrefix:null,modulePathCb:null},this.e=this.t.debug?"dev":"prod",this.s=!1,new Proxy(this,{get(t,s){if(t[s])return t[s];const o=e[s];return o&&t.loadModule(`workbox-${o}`),t[s]}})}setConfig(t={}){if(this.s)throw new Error("Config must be set before accessing workbox.* modules");Object.assign(this.t,t),this.e=this.t.debug?"dev":"prod"}skipWaiting(){self.addEventListener("install",()=>self.skipWaiting())}clientsClaim(){self.addEventListener("activate",()=>self.clients.claim())}loadModule(t){const e=this.o(t);try{importScripts(e),this.s=!0}catch(s){throw console.error(`Unable to import module '${t}' from '${e}'.`),s}}o(e){if(this.t.modulePathCb)return this.t.modulePathCb(e,this.t.debug);let s=[t];const o=`${e}.${this.e}.js`,r=this.t.modulePathPrefix;return r&&""===(s=r.split("/"))[s.length-1]&&s.splice(s.length-1,1),s.push(o),s.join("/")}}}(); + +//# sourceMappingURL=workbox-sw.js.map diff --git a/src/store/Modules/BookingStore.ts b/src/store/Modules/BookingStore.ts new file mode 100644 index 0000000..a85c148 --- /dev/null +++ b/src/store/Modules/BookingStore.ts @@ -0,0 +1,65 @@ +import { ICfgServer, IConfig, IBookingState, IListRoutes, IMenuList, StateConnection } from 'model' +import { storeBuilder } from './Store/Store' + +import Vue from 'vue' + +import translate from './../../globalroutines/util' + +import urlBase64ToUint8Array from '../../js/utility' + +import Api from '@api' +import * as Types from '@src/store/Api/ApiTypes' +import { costanti } from '@src/store/Modules/costanti' +import { tools } from '@src/store/Modules/tools' +import { toolsext } from '@src/store/Modules/toolsext' +import { GlobalStore, Projects, Todos, UserStore } from '@store' + +import { static_data } from '@src/db/static_data' +import { db_data } from '@src/db/db_data' +import { IEvents } from '../../model' +import { serv_constants } from '@src/store/Modules/serv_constants' + +const state: IBookingState = { + bookinglist: [] +} + +const b = storeBuilder.module('BookingModule', state) + +// Getters +namespace Getters { + export const getters = { + + } +} + +namespace Mutations { + export const mutations = { + + } + +} + +namespace Actions { + async function loadAfterLogin(context) { + return true + } + + export const actions = { + loadAfterLogin: b.dispatch(loadAfterLogin) + } + +} + +const stateGetter = b.state() + +// Module +const BookingModule = { + get state() { + return stateGetter() + }, + actions: Actions.actions, + getters: Getters.getters, + mutations: Mutations.mutations +} + +export default BookingModule