diff --git a/package.json b/package.json index 3578c711..8a2ec368 100755 --- a/package.json +++ b/package.json @@ -35,7 +35,7 @@ "autoprefixer": "^10.4.13", "axios": "^1.2.0", "bcryptjs": "^2.4.3", - "chart.js": "^3.9.1", + "chart.js": "^3.9.1", "core-js": "^3.26.1", "crypto": "^1.0.1", "date-fns": "^2.29.3", @@ -70,6 +70,7 @@ "vue-property-decorator": "^10.0.0-rc.3", "vue-router": "^4.1.6", "vue-scroll-reveal": "^1.0.11", + "vue-social-sharing": "^4.0.0-alpha4", "vue-svgicon": "^4.0.0-alpha.3", "vue2-dragula": "^2.5.5", "vuex": "^4.1.0", diff --git a/quasar.conf.js b/quasar.conf.js index cbf36237..3b84ed10 100755 --- a/quasar.conf.js +++ b/quasar.conf.js @@ -37,7 +37,7 @@ module.exports = configure((ctx) => ({ // --> boot files are part of "main.js" // https://v2.quasar.dev/quasar-cli/boot-files // boot: ['vue-i18n', 'vue-meta', 'axios', 'vee-validate', 'myconfig', 'local-storage', 'error-handler', 'globalroutines', 'vue-idb', 'dragula', 'guard'], - boot: ['i18n', 'axios', 'vee-validate', 'myconfig', 'local-storage', 'error-handler', 'globalroutines', 'calendar'], + boot: ['i18n', 'axios', 'vee-validate', 'myconfig', 'local-storage', 'error-handler', 'globalroutines', 'calendar', 'social-sharing'], // https://v2.quasar.dev/quasar-cli/quasar-conf-js#Property%3A-css css: [ diff --git a/src/boot/social-sharing.ts b/src/boot/social-sharing.ts new file mode 100755 index 00000000..0616395d --- /dev/null +++ b/src/boot/social-sharing.ts @@ -0,0 +1,8 @@ +// import google from '../googlemap' +import { boot } from 'quasar/wrappers' +import VueSocialSharing from 'vue-social-sharing' + +export default boot(({ app, router }) => { + // app.config.globalProperties.$google = google + app.use(VueSocialSharing); +}) diff --git a/src/components/CCardCarousel/CCardCarousel.vue b/src/components/CCardCarousel/CCardCarousel.vue index 702637f6..37767300 100755 --- a/src/components/CCardCarousel/CCardCarousel.vue +++ b/src/components/CCardCarousel/CCardCarousel.vue @@ -55,7 +55,7 @@ style="opacity: 0.7;" > diff --git a/src/components/CCheckIfIsLogged/CCheckIfIsLogged.vue b/src/components/CCheckIfIsLogged/CCheckIfIsLogged.vue index aa8e32ce..c71a13b8 100755 --- a/src/components/CCheckIfIsLogged/CCheckIfIsLogged.vue +++ b/src/components/CCheckIfIsLogged/CCheckIfIsLogged.vue @@ -23,7 +23,7 @@
Visualizza le FAQ (Risposte alle domande più frequenti)
- +
diff --git a/src/components/CEventsCalendar/CEventsCalendar.ts b/src/components/CEventsCalendar/CEventsCalendar.ts index 55244bbe..7f51d9f0 100755 --- a/src/components/CEventsCalendar/CEventsCalendar.ts +++ b/src/components/CEventsCalendar/CEventsCalendar.ts @@ -937,6 +937,12 @@ export default defineComponent({ return event.title } + function condividipag(href: string) { + const msg = self.location.host + href + return tools.copyStringToClipboard($q, msg, true) + } + + onMounted(mounted) onBeforeMount(beforeMount) @@ -1022,6 +1028,7 @@ export default defineComponent({ EState, CancelBookingEvent, site: globalStore.site, + condividipag, } } }) diff --git a/src/components/CEventsCalendar/CEventsCalendar.vue b/src/components/CEventsCalendar/CEventsCalendar.vue index e4457992..597b3f9b 100755 --- a/src/components/CEventsCalendar/CEventsCalendar.vue +++ b/src/components/CEventsCalendar/CEventsCalendar.vue @@ -10,7 +10,7 @@ -->
- + @@ -19,9 +19,7 @@ {{ $t('cal.event') }} - + Tra 1 Settimana @@ -36,36 +34,62 @@ + v-if="editable" + flat + round + color="white" + icon="delete" + v-close-popup + @click="deleteEvent(myevent)" + > + v-if="editable" + flat + round + color="white" + icon="edit" + v-close-popup + @click="editEvent(myevent)" + > + flat + round + color="white" + icon="cancel" + v-close-popup + @click=" + myevent = null; + displayEvent = false; + " + > + style="height: 150px" + :alt="myevent.title" + > -
+
- + class="shadow-5 q-mb-md" + dense + > {{ myevent.title }} -
+
- {{ $t('cal.teacher') }}: + {{ $t('cal.teacher') }}: @@ -76,44 +100,82 @@ {{ $t('cal.where') }}: - - - Località - - - - {{ getWhereName(myevent.wherecode) }} - - + + + Località + + + + {{ + getWhereName(myevent.wherecode) + }} + +
-
+
{{ $t('event.price') }}: - {{ getPrice(myevent) }} + {{ + getPrice(myevent) + }}
- {{ $t('cal.when') }}: - - + {{ $t('cal.when') }}: + +
-

+

+ size="md" + type="a" + :href="myevent.linkpdf" + target="_blank" + rounded + color="primary" + icon="info" + :label="$t('cal.showpdf')" + >

+ rounded + v-if="!myevent.nobookable && site.confpages.bookingEvents" + color="primary" + @click="addBookEventMenu(myevent)" + :disable="!isEventEnabled(myevent)" + :label="$t('cal.booking')" + > - + @@ -128,35 +190,44 @@ - - + + :options="globalStore.disciplines" + :useinput="false" + >
- + borderless + rounded + dense + :label="$t('event.title')" + :rules="[(v) => (v && v.length > 0) || $t('event.notempty')]" + >
- - - - + + + -
- + class="myflex" + dense + v-model="eventForm.img" + :label="$t('event.img')" + > + class="myflex" + dense + v-model="eventForm.img_small" + :label="$t('event.img_small')" + >
- + v-model="eventForm.bgcolor" + > + class="myflex" + dense + v-model="eventForm.icon" + :label="$t('event.icon')" + >
- - +
- - + -
+ :readonly="false" + > + :readonly="false" + > - +
- + optval="username" + :optlab="(item) => item.name + ' ' + item.surname" + :options="calendarStore.operators" + :useinput="false" + > + optval="username" + :optlab="(item) => item.name + ' ' + item.surname" + :options="calendarStore.operators" + :useinput="false" + > + optval="username" + :optlab="(item) => item.name + ' ' + item.surname" + :options="calendarStore.operators" + :useinput="false" + > + optval="username" + :optlab="(item) => item.name + ' ' + item.surname" + :options="calendarStore.operators" + :useinput="false" + > + :options="calendarStore.wheres" + :useinput="false" + >
+ class="myflex wrap" + dense + v-model="eventForm.internal" + :label="$t('event.internal')" + > + class="myflex wrap" + dense + v-model="eventForm.lunchAvailable" + :label="$t('event.lunchAvailable')" + > + class="myflex wrap" + dense + v-model="eventForm.dinnerAvailable" + :label="$t('event.dinnerAvailable')" + > + class="myflex wrap" + dense + v-model="eventForm.dinnerSharedAvailable" + :label="$t('event.dinnerSharedAvailable')" + > + class="myflex wrap" + dense + v-model="eventForm.news" + :label="$t('event.news')" + > + class="myflex wrap" + dense + v-model="eventForm.nobookable" + :label="$t('event.nobookable')" + > -
- -
- + class="myflex wrap" + dense + v-model="eventForm.canceled" + :label="$t('event.canceled')" + >
+
- + :newvaluefunc="createContribType" + :options="calendarStore.contribtype" + >
+ dense + type="number" + v-model="eventForm.price" + :label="$t('event.price')" + > + dense + v-model="eventForm.infoafterprice" + :label="$t('event.infoafterprice')" + >
- + optval="path" + optlab="title" + :options="calendarStore.internalpages" + :useinput="false" + > -
+
+ class="myflex" + dense + v-model="eventForm.linkpage" + :label="$t('event.linkpage')" + > + class="myflex" + dense + v-model="eventForm.linkpdf" + :label="$t('event.linkpdf')" + > + class="myflex" + dense + v-model="eventForm.facebook" + :label="$t('event.facebook')" + >
-
- - + + @@ -362,124 +535,227 @@ + style="height: 200px" + :alt="myevent.title" + > -
- +
+ class="shadow-5 q-mb-md" + dense + > {{ myevent.title }}
- {{ $t('cal.when') }}: - - + {{ $t('cal.when') }}: + +
- + - -
+
+ :disable=" + (bookEventpage.bookedevent && + bookEventpage.bookedevent.booked) || + bookEventpage.bookedevent === undefined || + !isEventEnabled(myevent) + " + style="color: black" + v-model="bookEventForm.booked" + :label="$t('cal.bookingtextdefault')" + color="green" + >
+ v-if="bookEventForm.booked" + class="q-gutter-xs q-mx-xs" + style="min-width: 140px" + > + :label="$t('cal.selnumpeople')" + emit-value + map-options + >
-
-
-
{{ $t('cal.selnumpeopleLunch') }}
+
+
+
+ {{ $t('cal.selnumpeopleLunch') }} +
+ style="min-width: 140px; margin-left: 10px" + > + :label="$t('cal.Lunch')" + emit-value + map-options + >
-
-
-
-
{{ $t('cal.selnumpeopleDinner') }}
-
+
+
+
+
+ {{ $t('cal.selnumpeopleDinner') }} +
+
+ :label="$t('cal.Dinner')" + emit-value + map-options + >
-
-
{{ $t('cal.selnumpeopleDinnerShared') }}
-
+ v-if="myevent.dinnerSharedAvailable" + class="q-px-xs centermydiv" + style="display: inline-flex" + > +
+
+ {{ $t('cal.selnumpeopleDinnerShared') }} +
+
+ :label="$t('cal.DinnerShared')" + emit-value + map-options + >
- -
-

+

+ size="md" + type="a" + :href="myevent.linkpdf" + target="_blank" + rounded + color="primary" + icon="info" + :label="$t('cal.showpdf')" + >

+ @click="CancelBookingEvent($q, myevent, bookEventForm._id, true)" + > + v-if="checkseinviaMsg()" + flat + :label="$t('dialog.sendonlymsg')" + color="primary" + @click="sendMsg(myevent)" + > + :label="getTitleBtnBooking()" + color="primary" + @click="saveBookEvent(myevent)" + :disable=" + !(bookEventpage.state === EState.Creating || hasModifiedBooking) + " + > - - + @@ -497,41 +773,57 @@ + style="height: 150px" + :alt="myevent.title" + > -
- +
+ class="shadow-5 q-mb-md" + dense + > {{ myevent.title }}
- {{ $t('cal.when') }}: - - + {{ $t('cal.when') }}: + +
+ v-model="askInfoForm.message" + :label="$t('cal.writemsg') + ':'" + autofocus + debounce="500" + type="textarea" + input-class="myinput-area" + > -
- + flat + :label="$t('dialog.sendmsg')" + color="primary" + @click="sendMsg(myevent)" + > + @@ -539,15 +831,28 @@ - - +
- - - + + + - + - + - -
{{ title_cal() }} + +
+ {{ + title_cal() + }}
- {{ getTitleEv(event) }} -
+
+ class="text-center listaev__tdimg_small" + :alt="event.title" + />