- 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;
|
||||
}
|
||||
|
||||
&__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) {
|
||||
|
||||
@@ -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')
|
||||
|
||||
@@ -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)"
|
||||
|
||||
@@ -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')">
|
||||
|
||||
@@ -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>
|
||||
|
||||
@@ -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>
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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) {
|
||||
|
||||
Reference in New Issue
Block a user