- Inserted Prerendering plugin('prerender-spa-plugin') to create HTML pages (for Google... crawler)
- Added Meta Tags (title, description and keywords)
This commit is contained in:
@@ -153,6 +153,9 @@ $graytext: #555;
|
|||||||
border-radius: 1rem;
|
border-radius: 1rem;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
&__table tr:hover {
|
||||||
|
background-color: #deecef;
|
||||||
|
}
|
||||||
|
|
||||||
&__align_center_mobile {
|
&__align_center_mobile {
|
||||||
text-align: left;
|
text-align: left;
|
||||||
@@ -270,14 +273,14 @@ $graytext: #555;
|
|||||||
|
|
||||||
.windowcol {
|
.windowcol {
|
||||||
background-color: #ffffff;
|
background-color: #ffffff;
|
||||||
// background: radial-gradient(circle, #ffffff 0%, #94dbfb 100%)
|
// background: radial-gradient(circle, #ffffff 0%, #94dbfb 100%)
|
||||||
}
|
}
|
||||||
|
|
||||||
.mysel{
|
.mysel {
|
||||||
color: white;
|
color: white;
|
||||||
}
|
}
|
||||||
|
|
||||||
.myflex{
|
.myflex {
|
||||||
display: flex;
|
display: flex;
|
||||||
flex: 1;
|
flex: 1;
|
||||||
@media (max-width: 400px) {
|
@media (max-width: 400px) {
|
||||||
|
|||||||
@@ -40,10 +40,22 @@ import { CMySingleEvent } from '../CMySingleEvent'
|
|||||||
@Component({
|
@Component({
|
||||||
mixins: [MixinOperator, MixinUsers, MixinEvents],
|
mixins: [MixinOperator, MixinUsers, MixinEvents],
|
||||||
name: 'CEventsCalendar',
|
name: 'CEventsCalendar',
|
||||||
components: { Logo, Footer, CTitle, CImgText, QDateTimeScroller, QDateScroller, CMySelect, CMyEditor, CDateTime, CMyAvatar, CMySingleEvent }
|
components: {
|
||||||
|
Logo,
|
||||||
|
Footer,
|
||||||
|
CTitle,
|
||||||
|
CImgText,
|
||||||
|
QDateTimeScroller,
|
||||||
|
QDateScroller,
|
||||||
|
CMySelect,
|
||||||
|
CMyEditor,
|
||||||
|
CDateTime,
|
||||||
|
CMyAvatar,
|
||||||
|
CMySingleEvent
|
||||||
|
}
|
||||||
})
|
})
|
||||||
export default class CEventsCalendar extends MixinEvents {
|
export default class CEventsCalendar extends MixinEvents {
|
||||||
@Prop ({required: false, default: null}) public mysingleevent: IEvents
|
@Prop({ required: false, default: null }) public mysingleevent: IEvents
|
||||||
public $q
|
public $q
|
||||||
public $t: any
|
public $t: any
|
||||||
public calendarView = 'month'
|
public calendarView = 'month'
|
||||||
@@ -524,14 +536,15 @@ export default class CEventsCalendar extends MixinEvents {
|
|||||||
tools.CancelEvent(this, eventparam)
|
tools.CancelEvent(this, eventparam)
|
||||||
}
|
}
|
||||||
|
|
||||||
public duplicateEvent(eventparam, numgg, numev: number = 1 ) {
|
public duplicateEvent(eventparam, numgg, numev: number = 1) {
|
||||||
for (let i = 0; i < numev; ++i) {
|
for (let i = 0; i < numev; ++i) {
|
||||||
GlobalStore.actions.DuplicateRec({ table: tools.TABEVENTS, id: eventparam._id }).then((rec) => {
|
GlobalStore.actions.DuplicateRec({ table: tools.TABEVENTS, id: eventparam._id }).then((rec) => {
|
||||||
rec.dateTimeStart = tools.addDays(new Date(rec.dateTimeStart), numgg * (i + 1))
|
if (rec) {
|
||||||
rec.dateTimeEnd = tools.addDays(new Date(rec.dateTimeEnd), numgg * (i + 1))
|
rec.dateTimeStart = tools.addDays(new Date(rec.dateTimeStart), numgg * (i + 1))
|
||||||
CalendarStore.state.eventlist.push(rec)
|
rec.dateTimeEnd = tools.addDays(new Date(rec.dateTimeEnd), numgg * (i + 1))
|
||||||
this.editEvent(rec)
|
CalendarStore.state.eventlist.push(rec)
|
||||||
|
this.editEvent(rec)
|
||||||
|
}
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
// tools.ActionRecTable(this, lists.MenuAction.DUPLICATE_RECTABLE, tools.TABEVENTS, eventparam._id, eventparam, 'db.duplicatedrecord')
|
// tools.ActionRecTable(this, lists.MenuAction.DUPLICATE_RECTABLE, tools.TABEVENTS, eventparam._id, eventparam, 'db.duplicatedrecord')
|
||||||
|
|||||||
@@ -72,7 +72,7 @@
|
|||||||
<span class="cal__where-content">
|
<span class="cal__where-content">
|
||||||
<q-chip>
|
<q-chip>
|
||||||
<q-avatar v-if="getWhereIcon(myevent.wherecode)">
|
<q-avatar v-if="getWhereIcon(myevent.wherecode)">
|
||||||
<img :src="`../../statics/images/avatar/` + getWhereIcon(myevent.wherecode)">
|
<img :src="`../../statics/images/avatar/` + getWhereIcon(myevent.wherecode)" alt="Località">
|
||||||
</q-avatar>
|
</q-avatar>
|
||||||
<q-avatar v-else color="blue" font-size="20px" text-color="white" icon="home">
|
<q-avatar v-else color="blue" font-size="20px" text-color="white" icon="home">
|
||||||
</q-avatar>showpage
|
</q-avatar>showpage
|
||||||
@@ -487,7 +487,7 @@
|
|||||||
<span class="">{{ getTitleEv(event) }}</span>
|
<span class="">{{ getTitleEv(event) }}</span>
|
||||||
</q-badge>
|
</q-badge>
|
||||||
<div class="text-center"><img :src="getImgEvent(event)"
|
<div class="text-center"><img :src="getImgEvent(event)"
|
||||||
class="text-center listaev__tdimg_small">
|
class="text-center listaev__tdimg_small" alt="Evento">
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
</template>
|
</template>
|
||||||
@@ -595,7 +595,7 @@
|
|||||||
@click="deleteEvent(myevent)"></q-btn>
|
@click="deleteEvent(myevent)"></q-btn>
|
||||||
<q-btn v-if="editable" flat round color="white" icon="edit" v-close-popup
|
<q-btn v-if="editable" flat round color="white" icon="edit" v-close-popup
|
||||||
@click="editEvent(myevent)"></q-btn>
|
@click="editEvent(myevent)"></q-btn>
|
||||||
<q-btn flat round color="white" icon="cancel" @click="selectEvent(null)"></q-btn>
|
<q-btn v-if="editable" flat round color="white" icon="cancel" @click="selectEvent(null)"></q-btn>
|
||||||
</q-chip>
|
</q-chip>
|
||||||
<q-chip v-if="event.news" class="cltexth4 chipnews shadow-5 glossy text-right"
|
<q-chip v-if="event.news" class="cltexth4 chipnews shadow-5 glossy text-right"
|
||||||
color="red"
|
color="red"
|
||||||
@@ -629,7 +629,8 @@
|
|||||||
:to="`/event/` + event._id"
|
:to="`/event/` + event._id"
|
||||||
target="_blank"
|
target="_blank"
|
||||||
:style="`background-color: ${event.bgcolor} !important; color: white !important;`"
|
:style="`background-color: ${event.bgcolor} !important; color: white !important;`"
|
||||||
ripple rounded
|
ripple
|
||||||
|
rounded
|
||||||
:label="event.title" :icon="event.icon"
|
:label="event.title" :icon="event.icon"
|
||||||
:color="event.bgcolor" text-color="white" glossy>
|
:color="event.bgcolor" text-color="white" glossy>
|
||||||
|
|
||||||
@@ -709,16 +710,16 @@
|
|||||||
:label="$t('event.showpage')">
|
:label="$t('event.showpage')">
|
||||||
</q-btn>
|
</q-btn>
|
||||||
</div>
|
</div>
|
||||||
<q-btn rounded outline class="q-mx-sm"
|
<q-btn rounded outline class="q-ma-sm"
|
||||||
color="primary" @click="askForInfoEventMenu(event)"
|
color="primary" @click="askForInfoEventMenu(event)"
|
||||||
:label="$t('event.askinfo')">
|
:label="$t('event.askinfo')">
|
||||||
</q-btn>
|
</q-btn>
|
||||||
<q-btn rounded outline class="q-mx-sm"
|
<q-btn rounded outline class="q-ma-sm"
|
||||||
v-if="!event.nobookable && !isAlreadyBooked(event) && static_data.functionality.BOOKING_EVENTS"
|
v-if="!event.nobookable && !isAlreadyBooked(event) && static_data.functionality.BOOKING_EVENTS"
|
||||||
color="primary" @click="addBookEventMenu(event)"
|
color="primary" @click="addBookEventMenu(event)"
|
||||||
:label="$t('cal.booking')" :disable="!isEventEnabled(event)">
|
:label="$t('cal.booking')" :disable="!isEventEnabled(event)">
|
||||||
</q-btn>
|
</q-btn>
|
||||||
<q-btn rounded outline class="q-mx-sm"
|
<q-btn rounded outline class="q-ma-sm"
|
||||||
v-if="!event.nobookable && isAlreadyBooked(event) && static_data.functionality.BOOKING_EVENTS"
|
v-if="!event.nobookable && isAlreadyBooked(event) && static_data.functionality.BOOKING_EVENTS"
|
||||||
text-color="red"
|
text-color="red"
|
||||||
@click.native="EditBookEvent(event)"
|
@click.native="EditBookEvent(event)"
|
||||||
|
|||||||
@@ -12,31 +12,34 @@
|
|||||||
color="green" text-color="white"
|
color="green" text-color="white"
|
||||||
icon="event_available">{{$t('cal.booked')}}
|
icon="event_available">{{$t('cal.booked')}}
|
||||||
</q-chip>
|
</q-chip>
|
||||||
<q-chip v-if="selected" class="text-center shadow-5 glossy bg-blue chipmodif">
|
<div v-if="selected">
|
||||||
|
<q-chip v-if="editable" class="text-center shadow-5 glossy bg-blue chipmodif">
|
||||||
|
|
||||||
<q-btn v-if="editable" flat round color="white" icon="fas fa-copy">
|
<q-btn v-if="editable" flat round color="white" icon="fas fa-copy">
|
||||||
<q-menu
|
<q-menu
|
||||||
transition-show="flip-right"
|
transition-show="flip-right"
|
||||||
transition-hide="flip-left">
|
transition-hide="flip-left">
|
||||||
<q-list style="min-width: 100px">
|
<q-list style="min-width: 100px">
|
||||||
<q-item clickable @click="duplicateEvent(myevent, 7)">
|
<q-item clickable @click="duplicateEvent(myevent, 7)">
|
||||||
<q-item-section>Tra 1 Settimana</q-item-section>
|
<q-item-section>Tra 1 Settimana</q-item-section>
|
||||||
</q-item>
|
</q-item>
|
||||||
<q-item clickable @click="duplicateEvent(myevent, 14)">
|
<q-item clickable @click="duplicateEvent(myevent, 14)">
|
||||||
<q-item-section>Tra 2 Settimane</q-item-section>
|
<q-item-section>Tra 2 Settimane</q-item-section>
|
||||||
</q-item>
|
</q-item>
|
||||||
<q-item clickable @click="duplicateEvent(myevent, 7, 4)">
|
<q-item clickable @click="duplicateEvent(myevent, 7, 4)">
|
||||||
<q-item-section>4 Eventi ogni Settimana</q-item-section>
|
<q-item-section>4 Eventi ogni Settimana</q-item-section>
|
||||||
</q-item>
|
</q-item>
|
||||||
</q-list>
|
</q-list>
|
||||||
</q-menu>
|
</q-menu>
|
||||||
</q-btn>
|
</q-btn>
|
||||||
<q-btn v-if="editable" flat round color="white" icon="delete" v-close-popup
|
<q-btn v-if="editable" flat round color="white" icon="delete" v-close-popup
|
||||||
@click="deleteEvent(myevent)"></q-btn>
|
@click="deleteEvent(myevent)"></q-btn>
|
||||||
<q-btn v-if="editable" flat round color="white" icon="edit" v-close-popup
|
<q-btn v-if="editable" flat round color="white" icon="edit" v-close-popup
|
||||||
@click="editEvent(myevent)"></q-btn>
|
@click="editEvent(myevent)"></q-btn>
|
||||||
<q-btn flat round color="white" icon="cancel" @click="selectEvent(null)"></q-btn>
|
<q-btn v-if="editable" flat round color="white" icon="cancel"
|
||||||
</q-chip>
|
@click="selectEvent(null)"></q-btn>
|
||||||
|
</q-chip>
|
||||||
|
</div>
|
||||||
<q-chip v-if="myevent.news" class="cltexth4 chipnews shadow-5 glossy text-right" color="red"
|
<q-chip v-if="myevent.news" class="cltexth4 chipnews shadow-5 glossy text-right" color="red"
|
||||||
text-color="white" icon-right="star" icon="star" dense
|
text-color="white" icon-right="star" icon="star" dense
|
||||||
style="">
|
style="">
|
||||||
@@ -142,7 +145,7 @@
|
|||||||
:label="$t('event.showpage')">
|
:label="$t('event.showpage')">
|
||||||
</q-btn>
|
</q-btn>
|
||||||
</div>
|
</div>
|
||||||
<div class="row justify-end q-ma-md">
|
<div class="row justify-end q-mb-lg">
|
||||||
<q-btn rounded outline class="q-mx-sm"
|
<q-btn rounded outline class="q-mx-sm"
|
||||||
color="primary" @click="askForInfoEventMenu(myevent)"
|
color="primary" @click="askForInfoEventMenu(myevent)"
|
||||||
:label="$t('event.askinfo')">
|
:label="$t('event.askinfo')">
|
||||||
|
|||||||
@@ -31,18 +31,20 @@
|
|||||||
class="q-icon fas fa-envelope q-mx-sm"></i>
|
class="q-icon fas fa-envelope q-mx-sm"></i>
|
||||||
<a :href="`mailto:` + getValDb('MAIN_EMAIL')" class="links">{{ getValDb('MAIN_EMAIL')
|
<a :href="`mailto:` + getValDb('MAIN_EMAIL')" class="links">{{ getValDb('MAIN_EMAIL')
|
||||||
}}</a><br>
|
}}</a><br>
|
||||||
<br>
|
<q-separator dark spaced></q-separator>
|
||||||
<span v-for="rec in getarrValDb('CONTACTS_EMAIL_CELL')">
|
<span v-for="rec in getarrValDb('CONTACTS_EMAIL_CELL')">
|
||||||
{{ rec.name }}: {{ rec.phone }}
|
{{ rec.name }}: {{ rec.phone }}
|
||||||
|
<br>
|
||||||
<a v-if="!!tools.getHttpForWhatsapp(rec.phone)" :href="tools.getHttpForWhatsapp(rec.phone)" target="_blank">
|
<a v-if="!!tools.getHttpForWhatsapp(rec.phone)" :href="tools.getHttpForWhatsapp(rec.phone)" target="_blank">
|
||||||
<i aria-hidden="true" class="q-icon fab fa-whatsapp icon_contact links q-mx-xs"></i></a>
|
<i aria-hidden="true" class="q-icon fab fa-whatsapp landing__footer-icons icon_contact links q-mx-xs"></i></a>
|
||||||
<a v-if="!!tools.getHttpForTelegram(rec.usertelegram)" :href="tools.getHttpForTelegram(rec.usertelegram)" target="_blank">
|
<a v-if="!!tools.getHttpForTelegram(rec.usertelegram)" :href="tools.getHttpForTelegram(rec.usertelegram)" target="_blank">
|
||||||
<i aria-hidden="true" class="q-icon fab fa-telegram icon_contact links q-mx-xs"></i></a>
|
<i aria-hidden="true" class="q-icon fab fa-telegram landing__footer-icons icon_contact links q-mx-xs"></i></a>
|
||||||
<br>
|
<br>
|
||||||
<i v-if="rec.email" aria-hidden="true"
|
<i v-if="rec.email" aria-hidden="true"
|
||||||
class="q-icon fas fa-envelope q-mx-sm"></i> <a :href="`mailto:`+ rec.email "
|
class="q-icon fas fa-envelope q-mx-sm"></i> <a :href="`mailto:`+ rec.email "
|
||||||
class="links">{{rec.email}}</a>
|
class="links">{{rec.email}}</a>
|
||||||
<br>
|
<br>
|
||||||
|
<q-separator dark spaced></q-separator>
|
||||||
</span>
|
</span>
|
||||||
<span v-if="getValDb('CALL_WORKING_DAYS')"><br>orari per chiamate:<br>
|
<span v-if="getValDb('CALL_WORKING_DAYS')"><br>orari per chiamate:<br>
|
||||||
<span v-html="getValDb('CALL_WORKING_DAYS')"></span></span>
|
<span v-html="getValDb('CALL_WORKING_DAYS')"></span></span>
|
||||||
|
|||||||
@@ -37,7 +37,7 @@
|
|||||||
|
|
||||||
<q-toolbar-title>
|
<q-toolbar-title>
|
||||||
<q-avatar>
|
<q-avatar>
|
||||||
<img :src="imglogo" height="27">
|
<img :src="imglogo" height="27" alt="Immagine Logo">
|
||||||
</q-avatar>
|
</q-avatar>
|
||||||
{{tools.getappname()}}
|
{{tools.getappname()}}
|
||||||
<div slot="subtitle">{{$t('msg.myDescriz')}} {{ getAppVersion() }}</div>
|
<div slot="subtitle">{{$t('msg.myDescriz')}} {{ getAppVersion() }}</div>
|
||||||
|
|||||||
@@ -676,12 +676,12 @@ namespace Actions {
|
|||||||
async function loadSite(context) {
|
async function loadSite(context) {
|
||||||
// console.log('CalendarStore: loadAfterLogin')
|
// console.log('CalendarStore: loadAfterLogin')
|
||||||
// Load local data
|
// Load local data
|
||||||
CalendarStore.state.editable = UserStore.state.isAdmin || UserStore.state.isManager
|
|
||||||
|
|
||||||
const showall = UserStore.state.isAdmin || UserStore.state.isManager ? '1' : '0'
|
const showall = UserStore.state.isAdmin || UserStore.state.isManager ? '1' : '0'
|
||||||
|
|
||||||
const myuserid = (UserStore.state.my._id) ? UserStore.state.my._id : '0'
|
const myuserid = (UserStore.state.my._id) ? UserStore.state.my._id : '0'
|
||||||
|
|
||||||
|
CalendarStore.state.editable = false
|
||||||
|
|
||||||
return await Api.SendReq('/loadsite/' + myuserid + '/' + process.env.APP_ID + '/' + showall, 'GET', null)
|
return await Api.SendReq('/loadsite/' + myuserid + '/' + process.env.APP_ID + '/' + showall, 'GET', null)
|
||||||
.then((res) => {
|
.then((res) => {
|
||||||
CalendarStore.state.bookedevent = (res.data.bookedevent) ? res.data.bookedevent : []
|
CalendarStore.state.bookedevent = (res.data.bookedevent) ? res.data.bookedevent : []
|
||||||
@@ -691,6 +691,8 @@ namespace Actions {
|
|||||||
CalendarStore.state.contribtype = (res.data.contribtype) ? res.data.contribtype : []
|
CalendarStore.state.contribtype = (res.data.contribtype) ? res.data.contribtype : []
|
||||||
GlobalStore.state.settings = (res.data.settings) ? [...res.data.settings] : []
|
GlobalStore.state.settings = (res.data.settings) ? [...res.data.settings] : []
|
||||||
|
|
||||||
|
CalendarStore.state.editable = UserStore.state.isAdmin || UserStore.state.isManager
|
||||||
|
|
||||||
})
|
})
|
||||||
.catch((error) => {
|
.catch((error) => {
|
||||||
console.log('error dbLoad', error)
|
console.log('error dbLoad', error)
|
||||||
|
|||||||
@@ -1742,7 +1742,7 @@ export const tools = {
|
|||||||
mystr = `<span class="cal__where-content">${tools.getstrDate(myevent.dateTimeStart)}</span>
|
mystr = `<span class="cal__where-content">${tools.getstrDate(myevent.dateTimeStart)}</span>
|
||||||
<span class="cal__hours-content">${mythis.$t('cal.starttime')} ${ tools.getstrTime(myevent.dateTimeStart) } </span>
|
<span class="cal__hours-content">${mythis.$t('cal.starttime')} ${ tools.getstrTime(myevent.dateTimeStart) } </span>
|
||||||
${ mythis.$t('cal.enddate')} ${tools.getstrDate(myevent.dateTimeEnd)}
|
${ mythis.$t('cal.enddate')} ${tools.getstrDate(myevent.dateTimeEnd)}
|
||||||
<span class="cal__hours-content">${ mythis.$t('cal.endtime')}: ${ tools.getstrTime(myevent.dateTimeEnd) } </span>`
|
<span class="cal__hours-content">${ mythis.$t('cal.endtime')} ${ tools.getstrTime(myevent.dateTimeEnd) } </span>`
|
||||||
}
|
}
|
||||||
|
|
||||||
if (myevent.infoextra) {
|
if (myevent.infoextra) {
|
||||||
|
|||||||
Reference in New Issue
Block a user