- 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:
Paolo Arena
2019-11-08 23:43:00 +01:00
parent cd746e7ad3
commit 9c35b5d73a
8 changed files with 74 additions and 50 deletions

View File

@@ -153,6 +153,9 @@ $graytext: #555;
border-radius: 1rem;
}
&__table tr:hover {
background-color: #deecef;
}
&__align_center_mobile {
text-align: left;
@@ -270,14 +273,14 @@ $graytext: #555;
.windowcol {
background-color: #ffffff;
// background: radial-gradient(circle, #ffffff 0%, #94dbfb 100%)
// background: radial-gradient(circle, #ffffff 0%, #94dbfb 100%)
}
.mysel{
.mysel {
color: white;
}
.myflex{
.myflex {
display: flex;
flex: 1;
@media (max-width: 400px) {

View File

@@ -40,10 +40,22 @@ import { CMySingleEvent } from '../CMySingleEvent'
@Component({
mixins: [MixinOperator, MixinUsers, MixinEvents],
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 {
@Prop ({required: false, default: null}) public mysingleevent: IEvents
@Prop({ required: false, default: null }) public mysingleevent: IEvents
public $q
public $t: any
public calendarView = 'month'
@@ -524,14 +536,15 @@ export default class CEventsCalendar extends MixinEvents {
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) {
GlobalStore.actions.DuplicateRec({ table: tools.TABEVENTS, id: eventparam._id }).then((rec) => {
rec.dateTimeStart = tools.addDays(new Date(rec.dateTimeStart), numgg * (i + 1))
rec.dateTimeEnd = tools.addDays(new Date(rec.dateTimeEnd), numgg * (i + 1))
CalendarStore.state.eventlist.push(rec)
this.editEvent(rec)
if (rec) {
rec.dateTimeStart = tools.addDays(new Date(rec.dateTimeStart), numgg * (i + 1))
rec.dateTimeEnd = tools.addDays(new Date(rec.dateTimeEnd), numgg * (i + 1))
CalendarStore.state.eventlist.push(rec)
this.editEvent(rec)
}
})
}
// tools.ActionRecTable(this, lists.MenuAction.DUPLICATE_RECTABLE, tools.TABEVENTS, eventparam._id, eventparam, 'db.duplicatedrecord')

View File

@@ -72,7 +72,7 @@
<span class="cal__where-content">
<q-chip>
<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 v-else color="blue" font-size="20px" text-color="white" icon="home">
</q-avatar>showpage
@@ -487,7 +487,7 @@
<span class="">{{ getTitleEv(event) }}</span>
</q-badge>
<div class="text-center"><img :src="getImgEvent(event)"
class="text-center listaev__tdimg_small">
class="text-center listaev__tdimg_small" alt="Evento">
</div>
</template>
</template>
@@ -595,7 +595,7 @@
@click="deleteEvent(myevent)"></q-btn>
<q-btn v-if="editable" flat round color="white" icon="edit" v-close-popup
@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 v-if="event.news" class="cltexth4 chipnews shadow-5 glossy text-right"
color="red"
@@ -629,7 +629,8 @@
:to="`/event/` + event._id"
target="_blank"
:style="`background-color: ${event.bgcolor} !important; color: white !important;`"
ripple rounded
ripple
rounded
:label="event.title" :icon="event.icon"
:color="event.bgcolor" text-color="white" glossy>
@@ -709,16 +710,16 @@
:label="$t('event.showpage')">
</q-btn>
</div>
<q-btn rounded outline class="q-mx-sm"
<q-btn rounded outline class="q-ma-sm"
color="primary" @click="askForInfoEventMenu(event)"
:label="$t('event.askinfo')">
</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"
color="primary" @click="addBookEventMenu(event)"
:label="$t('cal.booking')" :disable="!isEventEnabled(event)">
</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"
text-color="red"
@click.native="EditBookEvent(event)"

View File

@@ -12,31 +12,34 @@
color="green" text-color="white"
icon="event_available">{{$t('cal.booked')}}
</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-menu
transition-show="flip-right"
transition-hide="flip-left">
<q-list style="min-width: 100px">
<q-item clickable @click="duplicateEvent(myevent, 7)">
<q-item-section>Tra 1 Settimana</q-item-section>
</q-item>
<q-item clickable @click="duplicateEvent(myevent, 14)">
<q-item-section>Tra 2 Settimane</q-item-section>
</q-item>
<q-item clickable @click="duplicateEvent(myevent, 7, 4)">
<q-item-section>4 Eventi ogni Settimana</q-item-section>
</q-item>
</q-list>
</q-menu>
</q-btn>
<q-btn v-if="editable" flat round color="white" icon="delete" v-close-popup
@click="deleteEvent(myevent)"></q-btn>
<q-btn v-if="editable" flat round color="white" icon="edit" v-close-popup
@click="editEvent(myevent)"></q-btn>
<q-btn flat round color="white" icon="cancel" @click="selectEvent(null)"></q-btn>
</q-chip>
<q-btn v-if="editable" flat round color="white" icon="fas fa-copy">
<q-menu
transition-show="flip-right"
transition-hide="flip-left">
<q-list style="min-width: 100px">
<q-item clickable @click="duplicateEvent(myevent, 7)">
<q-item-section>Tra 1 Settimana</q-item-section>
</q-item>
<q-item clickable @click="duplicateEvent(myevent, 14)">
<q-item-section>Tra 2 Settimane</q-item-section>
</q-item>
<q-item clickable @click="duplicateEvent(myevent, 7, 4)">
<q-item-section>4 Eventi ogni Settimana</q-item-section>
</q-item>
</q-list>
</q-menu>
</q-btn>
<q-btn v-if="editable" flat round color="white" icon="delete" v-close-popup
@click="deleteEvent(myevent)"></q-btn>
<q-btn v-if="editable" flat round color="white" icon="edit" v-close-popup
@click="editEvent(myevent)"></q-btn>
<q-btn v-if="editable" flat round color="white" icon="cancel"
@click="selectEvent(null)"></q-btn>
</q-chip>
</div>
<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
style="">
@@ -142,7 +145,7 @@
:label="$t('event.showpage')">
</q-btn>
</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"
color="primary" @click="askForInfoEventMenu(myevent)"
:label="$t('event.askinfo')">

View File

@@ -31,18 +31,20 @@
class="q-icon fas fa-envelope q-mx-sm"></i>
<a :href="`mailto:` + getValDb('MAIN_EMAIL')" class="links">{{ getValDb('MAIN_EMAIL')
}}</a><br>
<br>
<q-separator dark spaced></q-separator>
<span v-for="rec in getarrValDb('CONTACTS_EMAIL_CELL')">
{{ rec.name }}: {{ rec.phone }}
<br>
<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">
<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>
<i v-if="rec.email" aria-hidden="true"
class="q-icon fas fa-envelope q-mx-sm"></i> <a :href="`mailto:`+ rec.email "
class="links">{{rec.email}}</a>
<br>
<q-separator dark spaced></q-separator>
</span>
<span v-if="getValDb('CALL_WORKING_DAYS')"><br>orari per chiamate:<br>
<span v-html="getValDb('CALL_WORKING_DAYS')"></span></span>

View File

@@ -37,7 +37,7 @@
<q-toolbar-title>
<q-avatar>
<img :src="imglogo" height="27">
<img :src="imglogo" height="27" alt="Immagine Logo">
</q-avatar>
{{tools.getappname()}}
<div slot="subtitle">{{$t('msg.myDescriz')}} {{ getAppVersion() }}</div>

View File

@@ -676,12 +676,12 @@ namespace Actions {
async function loadSite(context) {
// console.log('CalendarStore: loadAfterLogin')
// Load local data
CalendarStore.state.editable = UserStore.state.isAdmin || UserStore.state.isManager
const showall = UserStore.state.isAdmin || UserStore.state.isManager ? '1' : '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)
.then((res) => {
CalendarStore.state.bookedevent = (res.data.bookedevent) ? res.data.bookedevent : []
@@ -691,6 +691,8 @@ namespace Actions {
CalendarStore.state.contribtype = (res.data.contribtype) ? res.data.contribtype : []
GlobalStore.state.settings = (res.data.settings) ? [...res.data.settings] : []
CalendarStore.state.editable = UserStore.state.isAdmin || UserStore.state.isManager
})
.catch((error) => {
console.log('error dbLoad', error)

View File

@@ -1742,7 +1742,7 @@ export const tools = {
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>
${ 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) {