Aggiornamento a 0.6.1

This commit is contained in:
Surya Paolo
2023-04-07 17:14:51 +02:00
parent 6fad472211
commit 701e1f1968
24 changed files with 284 additions and 131 deletions

View File

@@ -1,4 +1,4 @@
APP_VERSION="0.5.85"
APP_VERSION="0.6.1"
SERVICE_WORKER_FILE="service-worker.js"
APP_ID="13"
DIRECTORY_LOCAL="newfreeplanet"

View File

@@ -1,4 +1,4 @@
APP_VERSION="0.5.85"
APP_VERSION="0.6.1"
SERVICE_WORKER_FILE="service-worker.js"
APP_ID="13"
DIRECTORY_LOCAL=newfreeplanet

View File

@@ -1,4 +1,4 @@
APP_VERSION="0.5.85"
APP_VERSION="0.6.1"
SERVICE_WORKER_FILE="service-worker.js"
APP_ID="13"
DIRECTORY_LOCAL=newfreeplanet

View File

@@ -1,4 +1,4 @@
APP_VERSION="0.5.85"
APP_VERSION="0.6.1"
SERVICE_WORKER_FILE="service-worker.js"
APP_ID="13"
DIRECTORY_LOCAL="newfreeplanet"

View File

@@ -1,4 +1,4 @@
APP_VERSION="0.5.85"
APP_VERSION="0.6.1"
SERVICE_WORKER_FILE="service-worker.js"
APP_ID="13"
DIRECTORY_LOCAL=newfreeplanet

View File

@@ -1,4 +1,4 @@
APP_VERSION="0.5.85"
APP_VERSION="0.6.1"
SERVICE_WORKER_FILE="service-worker.js"
APP_ID="14"
DIRECTORY_LOCAL="newfreeplanet"

View File

@@ -19,7 +19,7 @@ if [[ $risposta == "Y" || $risposta == "y" ]]; then
echo "Sincronizzazione in remoto..."
echo "Sincronizzazione in remoto $SERVERDIR_WEBSITE ..."
sshpass -p $SERVERPW_WEBSITE rsync -e 'ssh -p 8855' -a dist/pwa/ ftpadmin@servereng:/var/www/$SERVERDIR_WEBSITE/
sshpass -p $SERVERPW_WEBSITE rsync -e 'ssh -p 8855' -a --exclude 'upload' dist/pwa/ ftpadmin@servereng:/var/www/$SERVERDIR_WEBSITE/
echo "Finito $SERVERDIR_WEBSITE "
fi

View File

@@ -19,7 +19,7 @@ sleep 1
npm run buildpwa
echo "Sincronizzazione $SERVERDIR_WEBSITE in remoto..."
sshpass -p $SERVERPW_WEBSITE rsync -e 'ssh -p 8855' -a dist/pwa/ ftpadmin@servereng:/var/www/$SERVERDIR_WEBSITE/
sshpass -p $SERVERPW_WEBSITE rsync -e 'ssh -p 8855' -a --exclude 'upload' dist/pwa/ ftpadmin@servereng:/var/www/$SERVERDIR_WEBSITE/
cp .env.prod.bak .env.production

View File

@@ -18,7 +18,7 @@ sleep 1
npm run buildpwa
echo "Sincronizzazione $SERVERDIR_WEBSITE in remoto..."
rsync -e 'ssh -p 5522' -a dist/pwa/ root@risosrv:/home/$SERVERDIR_WEBSITE
rsync -e 'ssh -p 5522' -a --exclude 'upload' dist/pwa/ root@risosrv:/home/$SERVERDIR_WEBSITE
cp .env.prod.bak .env.production

View File

@@ -1,6 +1,6 @@
{
"name": "riso",
"version": "0.5.3",
"version": "0.6.1",
"description": "Siamo la Rete Italiana di Scambio Orizzontale, abbiamo creato questa piattaforma per metterla al servizio di chi vuole riscoprire il valore della condivisione e della cooperazione. Valori semplici e profondi che ci aiutano a ritrovare il Senso della Vita, perduto in questa società consumista, e riporti quei Sani Pricìpi Naturali ed Umani di Fratellanza che intere popolazioni antiche conoscevano bene.",
"productName": "Riso",
"author": "Paolo Arena",
@@ -22,48 +22,48 @@
"generate-sw": "workbox generateSW workbox-config.js"
},
"dependencies": {
"@quasar/extras": "^1.15.8",
"@quasar/quasar-ui-qcalendar": "^4.0.0-beta.13",
"@vue-leaflet/vue-leaflet": "^0.7.0",
"@vue/compat": "^3.2.45",
"@vue/compiler-sfc": "^3.2.45",
"@quasar/extras": "^1.16.2",
"@quasar/quasar-ui-qcalendar": "^4.0.0-beta.16",
"@vue-leaflet/vue-leaflet": "^0.9.0",
"@vue/compat": "^3.2.47",
"@vue/compiler-sfc": "^3.2.47",
"@vue/eslint-config-standard": "7.0.0",
"@vuelidate/core": "^2.0.0",
"@vuelidate/validators": "^2.0.0",
"acorn": "^8.8.1",
"@vuelidate/core": "^2.0.2",
"@vuelidate/validators": "^2.0.2",
"acorn": "^8.8.2",
"animate.css": "^4.1.1",
"autoprefixer": "^10.4.13",
"axios": "^1.2.1",
"autoprefixer": "^10.4.14",
"axios": "^1.3.5",
"bcryptjs": "^2.4.3",
"chart.js": "3.9.1",
"core-js": "^3.26.1",
"core-js": "^3.30.0",
"crypto": "^1.0.1",
"date-fns": "^2.29.3",
"dotenv": "^16.0.3",
"echarts": "5.3.3",
"echarts": "5.4.2",
"eslint-plugin-quasar": "^1.1.0",
"eslint-plugin-standard": "^5.0.0",
"graphql": "^16.6.0",
"graphql-tag": "^2.12.6",
"gsap": "^3.11.3",
"jquery": "^3.6.2",
"gsap": "^3.11.5",
"jquery": "^3.6.4",
"js-cookie": "^3.0.1",
"localforage": "^1.10.0",
"lodash": "^4.17.21",
"normalize.css": "^8.0.1",
"npm": "^9.2.0",
"npm": "^9.6.4",
"nprogress": "^0.2.0",
"pinia": "^2.0.28",
"pinia": "^2.0.33",
"prerender-spa-plugin": "^3.4.0",
"quasar": "^2.11.0",
"quasar": "^2.11.10",
"quasar-extras": "^2.0.9",
"register-service-worker": "^1.7.2",
"vee-validate": "^4.7.3",
"vue": "^3.2.45",
"vee-validate": "^4.8.4",
"vue": "^3.2.47",
"vue-chart-3": "^3.1.8",
"vue-class-component": "^8.0.0-rc.1",
"vue-country-code": "^1.1.3",
"vue-echarts": "^6.3.1",
"vue-echarts": "^6.5.4",
"vue-i18n": "^9.2.2",
"vue-idb": "^0.2.0",
"vue-loader": "^17.0.1",
@@ -82,56 +82,47 @@
"@types/bcryptjs": "^2.4.2",
"@types/dotenv": "^8.2.0",
"@types/googlemaps": "^3.43.3",
"@types/jest": "^29.2.4",
"@types/js-cookie": "^3.0.2",
"@types/node": "18.11.16",
"@types/jest": "^29.5.0",
"@types/js-cookie": "^3.0.3",
"@types/node": "18.15.11",
"@types/nprogress": "^0.2.0",
"@types/vue-tel-input": "^2.1.2",
"@types/vuelidate": "^0.7.15",
"@typescript-eslint/eslint-plugin": "^5.46.1",
"@typescript-eslint/parser": "^5.46.1",
"eslint": "^8.30.0",
"eslint-config-prettier": "^8.5.0",
"eslint-plugin-import": "^2.26.0",
"@types/vuelidate": "^0.7.16",
"@typescript-eslint/eslint-plugin": "^5.57.1",
"@typescript-eslint/parser": "^5.57.1",
"eslint": "^8.37.0",
"eslint-config-prettier": "^8.8.0",
"eslint-plugin-import": "^2.27.5",
"eslint-plugin-node": "^11.1.0",
"eslint-plugin-promise": "^6.1.1",
"eslint-plugin-vue": "^9.8.0",
"eslint-plugin-vue": "^9.10.0",
"file-loader": "^6.2.0",
"html-webpack-plugin": "^5.5.0",
"http-proxy-middleware": "^2.0.6",
"jest": "^29.3.1",
"jest": "^29.5.0",
"json-loader": "^0.5.7",
"node-sass": "7.0.1",
"npm-check-updates": "^16.6.0",
"node-sass": "7.0.0",
"npm-check-updates": "^16.10.7",
"optimize-css-assets-webpack-plugin": "^6.0.1",
"postcss": "^8.4.20",
"postcss-loader": "^7.0.2",
"sass-loader": "^13.2.0",
"postcss": "^8.4.21",
"postcss-loader": "^7.2.4",
"sass-loader": "^13.2.2",
"strip-ansi": "=7.0.1",
"ts-jest": "^29.0.3",
"ts-jest": "^29.1.0",
"ts-loader": "^9.4.2",
"tslint": "^6.1.3",
"tslint-config-standard": "^9.0.0",
"tslint-loader": "^3.5.4",
"typescript": "^4.9.4",
"typescript": "^5.0.3",
"vue-cli-plugin-element-ui": "^1.1.4",
"vueify": "^9.4.1",
"webpack": "^5.75.0",
"webpack": "^5.78.0",
"workbox-webpack-plugin": "^6.5.4"
},
"browser": {
"crypto": false
},
"browserslist": [
"last 40 Chrome versions",
"last 40 Firefox versions",
"last 10 Edge versions",
"last 35 Safari versions",
"last 60 Android versions",
"last 250 ChromeAndroid versions",
"last 60 FirefoxAndroid versions",
"last 30 iOS versions",
"last 10 Opera versions",
"> 0.05%",
"not dead"
],

View File

@@ -5,7 +5,7 @@ source .env.test.risosrv
cp .env.test.risosrv .env.production
echo "Sincronizzazione in remoto $SERVERDIR_WEBSITE ..."
rsync -e 'ssh -p 5522' -a dist/pwa/ root@risosrv:/home/$SERVERDIR_WEBSITE/
rsync -e 'ssh -p 5522' -a --exclude 'upload' dist/pwa/ root@risosrv:/home/$SERVERDIR_WEBSITE/
echo "Finito $SERVERDIR_WEBSITE"
cp .env.prod.bak .env.production

View File

@@ -5,7 +5,7 @@ source ./.env.test
cp .env.test .env.production
echo "Sincronizzazione in remoto $SERVERDIR_WEBSITE ..."
sshpass -p $SERVERPW_WEBSITE rsync -e 'ssh -p 8855' -a dist/pwa/ ftpadmin@servereng:/var/www/$SERVERDIR_WEBSITE/
sshpass -p $SERVERPW_WEBSITE rsync -e 'ssh -p 8855' -a --exclude 'upload' dist/pwa/ ftpadmin@servereng:/var/www/$SERVERDIR_WEBSITE/
echo "Finito $SERVERDIR_WEBSITE"
cp .env.prod.bak .env.production

View File

@@ -18,7 +18,7 @@ import { CacheableResponsePlugin } from 'workbox-cacheable-response'
import { ExpirationPlugin } from 'workbox-expiration'
console.log(
' [ VER-0.5.4 ] _---------________------ PAO: this is my custom service worker')
' [ VER-0.6.1 ] _---------________------ PAO: this is my custom service worker')
importScripts('js/idb.js')
importScripts('js/storage.js')
@@ -36,7 +36,7 @@ let port = 3000
if (self.location.hostname.startsWith('test')) {
port = 3001
}
console.log('SW- app ver 0.5.4')
console.log('SW- app ver 0.6.1')
const cfgenv = {
serverweb: `${self.location.protocol}//${self.location.hostname}:${port}`,

View File

@@ -541,6 +541,14 @@ export const shared_consts = {
value: 23,
label: 'Asciugacapelli',
},
{
value: 24,
label: 'Riscaldamento a legna',
},
{
value: 25,
label: 'Riscaldamento a gas',
},
],
Regions: [

View File

@@ -30,7 +30,7 @@ export default defineComponent({
title: String,
mylist: {
type: [Array, String, undefined, null] as PropType<IAccomodation[] | string | undefined | null>,
required: true,
required: false,
},
},
emits: ['showandsave'],
@@ -68,7 +68,7 @@ export default defineComponent({
})
function created() {
// console.log('created CAccomodation', props.mylist)
console.log('created CAccomodation', props.mylist)
if (isValid(props.mylist)) {
// @ts-ignore
let myarr: any = props.mylist

View File

@@ -3,10 +3,6 @@
<div class="">
<q-btn
v-if="isInModif"
rounded label="Aggiungi Letti" color="positive" @click="add_newbed()">
</q-btn>
<div v-for="(myaccom, index) in getlist()" :key="index">
<div v-if="isInModif" class="row justify-center bordo_stondato_small">
@@ -17,6 +13,8 @@
v-model:value="myaccom.num"
optval="value"
optlab="label"
style="min-width:80px;"
:sola_lettura="!isInModif"
:options="shared_consts.People" :useinput="false"
>
@@ -58,6 +56,10 @@
</div>
</div>
</div>
<q-btn
v-if="isInModif"
rounded label="Aggiungi Letti" color="positive" @click="add_newbed()">
</q-btn>
</div>
</div>
</template>

View File

@@ -1104,13 +1104,7 @@
:prop_myrec="myrecdialog"
>
</CMyCardCircuitPopup>
<CMyCardService v-else-if="mytable === 'myskills'"
:table="mytable" :prop_myrec="myrecdialog">
</CMyCardService>
<CMyCardService v-else-if="mytable === 'mygoods'"
:table="mytable" :prop_myrec="myrecdialog">
</CMyCardService>
<CMyCardService v-else-if="mytable === 'myhosps'"
<CMyCardService v-else-if="shared_consts.TABLES_FAVORITE_BOOKMARK.includes(mytable)"
:table="mytable" :prop_myrec="myrecdialog">
</CMyCardService>
<CMyCardPopup v-else :table="mytable" :prop_myrec="myrecdialog">

View File

@@ -95,11 +95,11 @@
v-model="mytab"
inline-label
dense
class="text-black shadow-2"
class="shadow-2"
>
<q-tab name="my" icon="far fa-user" />
<q-tab name="favorite" icon="far fa-heart" />
<q-tab name="bookmark" icon="far fa-bookmark" />
<q-tab name="favorite" icon="favorite" content-class="text-red" />
<q-tab name="bookmark" icon="bookmark" content-class="text-teal" />
</q-tabs>
<q-tab-panels

View File

@@ -137,10 +137,10 @@ export default defineComponent({
}
function clicca(tipo: any, set: any, title: string) {
if (set && myrec.value.username !== userStore.my.username && tipo === costanti.TIPOFAVBOOK.FAVORITE) {
if (set && tipo === costanti.TIPOFAVBOOK.FAVORITE) {
userStore.setFavorite($q, t, myrec.value._id, props.table, myrec.value);
}
if (set && myrec.value.username !== userStore.my.username && tipo === costanti.TIPOFAVBOOK.BOOKMARK) {
if (set && tipo === costanti.TIPOFAVBOOK.BOOKMARK) {
userStore.setBookmark($q, t, myrec.value._id, props.table, myrec.value);
}

View File

@@ -14,9 +14,9 @@
<q-btn
flat
round
:color="userStore.isFavorite(myrec._id, table) ? 'red' : ''"
icon="favorite"
@click="clicca(costanti.TIPOFAVBOOK.FAVORITE, true)"
color="red"
:icon="userStore.isFavorite(myrec._id, table) ? 'favorite' : 'far fa-heart'"
@click="clicca(costanti.TIPOFAVBOOK.FAVORITE, true, '')"
>
<q-badge
v-if="myrec.myfav"
@@ -31,9 +31,9 @@
<q-btn
flat
round
:color="userStore.isBookmarked(myrec._id, table) ? 'teal' : ''"
icon="bookmark"
@click="clicca(costanti.TIPOFAVBOOK.BOOKMARK, true)"
color="teal"
:icon="userStore.isBookmarked(myrec._id, table) ? 'bookmark' : 'far fa-bookmark'"
@click="clicca(costanti.TIPOFAVBOOK.BOOKMARK, true, '')"
>
<q-badge
v-if="myrec.mybook"
@@ -56,7 +56,19 @@
<div>
<q-btn flat round icon="fas fa-ellipsis-h">
<q-menu>
<q-list v-if="true" style="min-width: 150px">
<q-list v-if="true" style="min-width: 200px">
<q-item
v-if="myrec.profile.username_telegram"
clickable
v-close-popup
>
<q-item-section avatar>
<q-icon color="blue" name="far fa-comment" />
</q-item-section>
<q-item-section>
<a :href="tools.getHttpForTelegram(myrec.profile.username_telegram)" target="_blank">{{ $t('dialog.contact') }} - {{tools.getNomeUtenteByRecUser(myrec)}}</a>
</q-item-section>
</q-item>
<q-item
v-if="!nopopup"
clickable
@@ -78,7 +90,7 @@
clicca(
costanti.TIPOFAVBOOK.FAVORITE,
false,
$t('cmd.favorite')
$t('cmd.favorite', {num: myrec.myfav ? myrec.myfav.length : 0})
)
"
>
@@ -86,7 +98,7 @@
<q-icon color="red" name="favorite" />
</q-item-section>
<q-item-section>
{{ $t('cmd.favorite') }}
{{ $t('cmd.favorite', {num: myrec.myfav ? myrec.myfav.length : 0}) }}
</q-item-section>
</q-item>
<q-item
@@ -96,7 +108,7 @@
clicca(
costanti.TIPOFAVBOOK.BOOKMARK,
false,
$t('cmd.bookmark')
$t('cmd.bookmark', {num: myrec.mybook ? myrec.mybook.length : 0})
)
"
>
@@ -104,7 +116,7 @@
<q-icon color="teal" name="bookmark" />
</q-item-section>
<q-item-section>
{{ $t('cmd.bookmark') }}
{{ $t('cmd.bookmark', {num: myrec.mybook ? myrec.mybook.length : 0}) }}
</q-item-section>
</q-item>
</q-list>
@@ -142,6 +154,29 @@
</q-item-section>
</q-item>
<q-item v-if="myrec.dateTimeStart">
<q-item-section avatar>
<q-icon color="green" name="far fa-calendar-alt" />
</q-item-section>
<q-item-section>
<q-item-label>
<span>{{tools.getstrDateMonthTimeLong(myrec.dateTimeStart)}}</span>
</q-item-label>
</q-item-section>
</q-item>
<q-item v-if="myrec.dateTimeEnd">
<q-item-section avatar>
<q-icon color="red" name="far fa-calendar-alt" />
</q-item-section>
<q-item-section>
<q-item-label>
<span>{{tools.getstrDateMonthTimeLong(myrec.dateTimeEnd)}}</span>
</q-item-label>
</q-item-section>
</q-item>
<q-item v-if="getSectorByRec(myrec)">
<q-item-section avatar>
<q-icon color="blue" name="category" />
@@ -371,7 +406,7 @@
</q-card-actions>
</q-card>
<div
v-if="!$q.screen.gt.sm || !nopopup"
v-if="!$q.screen.gt.sm && !nopopup"
class="row absolute-bottom text-shadow custom-caption q-px-md buttons_bottom"
>
<q-btn

View File

@@ -1,77 +1,177 @@
<!--suppress ALL -->
<template>
<div class="q-py-xs centermydiv cardrec"
:style="`max-width: `+ (tools.getwidth($q) - 20) +`px; ` + ($q.screen.lt.sm ? (`min-width: `+ (tools.getwidth($q) - (20 + margin_right)) +`px;`) : ``)">
<q-item v-if="myrec" clickable v-ripple :class="`shadow-2 q-btn--rounded ` + ($q.dark.isActive ? `bg-black`: `bg-teal-1`)">
<q-item-section v-if="(shared_consts.TABLES_VISU_IMG.includes(table)) && (myrec.photos && myrec.photos.length > 0)" avatar
@click="cmdExt(costanti.CMD_SHOW_PAGE, myrec)">
<q-badge v-if="showBadge()" class="q-my-xs self-center" :color="fieldsTable.getColByAdType(myrec.adType)">
<div
class="q-py-xs centermydiv cardrec"
:style="
`max-width: ` +
(tools.getwidth($q) - 20) +
`px; ` +
($q.screen.lt.sm
? `min-width: ` + (tools.getwidth($q) - (20 + margin_right)) + `px;`
: ``)
"
>
<q-item v-if="myrec" clickable v-ripple :class="`shadow-2 butt_rounded `">
<q-item-section
v-if="
shared_consts.TABLES_VISU_IMG.includes(table) &&
myrec.photos &&
myrec.photos.length > 0
"
avatar
@click="cmdExt(costanti.CMD_SHOW_PAGE, myrec)"
>
<q-badge
v-if="showBadge()"
class="q-my-xs self-center"
:color="fieldsTable.getColByAdType(myrec.adType)"
>
{{ fieldsTable.getValByTabAndId(table, 'adType', myrec.adType) }}
<q-icon :name="fieldsTable.getIconByAdType(myrec.adType)" color="white"
class="q-ml-xs"/>
<q-icon
:name="fieldsTable.getIconByAdType(myrec.adType)"
color="white"
class="q-ml-xs"
/>
</q-badge>
<q-avatar size="60px">
<q-img :src="tools.getFullFileName(myrec.photos, table, myrec.username, '')" :alt="myrec.descr"
img-class="imgprofile" height="60px"/>
<q-img
:src="
tools.getFullFileName(myrec.photos, table, myrec.username, '')
"
:alt="myrec.descr"
img-class="imgprofile"
height="60px"
/>
</q-avatar>
</q-item-section>
<q-item-section v-else avatar @click="naviga(`/my/` + myrec.username)">
<q-badge v-if="showBadge()" class="q-my-xs self-center" :color="fieldsTable.getColByAdType(myrec.adType)">
<q-badge
v-if="showBadge()"
class="q-my-xs self-center"
:color="fieldsTable.getColByAdType(myrec.adType)"
>
{{ fieldsTable.getValByTabAndId(table, 'adType', myrec.adType) }}
<q-icon :name="fieldsTable.getIconByAdType(myrec.adType)" color="white"
class="q-ml-xs"/>
<q-icon
:name="fieldsTable.getIconByAdType(myrec.adType)"
color="white"
class="q-ml-xs"
/>
</q-badge>
<q-avatar size="60px">
<q-img :src="getImgUser(myrec)" :alt="myrec.username" img-class="imgprofile" height="60px"/>
<q-img
:src="getImgUser(myrec)"
:alt="myrec.username"
img-class="imgprofile"
height="60px"
/>
</q-avatar>
</q-item-section>
<q-item-section @click="navigaExt(myrec)">
<q-item-label lines="2" class="full-width" >
<span v-for="(rec, ind) of tools.getArrSubSector(table, myrec)" :key="ind">
<q-chip dense class="text-center shadow-5 glossy text-white bg-green">{{ rec.descr }}</q-chip>
<q-item-label lines="2" class="full-width">
<span
v-for="(rec, ind) of tools.getArrSubSector(table, myrec)"
:key="ind"
>
<q-chip
dense
class="text-center shadow-5 glossy text-white bg-green"
>{{ rec.descr }}</q-chip
>
</span>
<span>
<span v-for="(rec, ind) of tools.getArrSector(table, myrec)" :key="ind">
<q-chip dense class="text-center shadow-5 glossy text-white bg-blue">{{ rec.descr }}</q-chip></span>
<span
v-for="(rec, ind) of tools.getArrSector(table, myrec)"
:key="ind"
>
<q-chip
dense
class="text-center shadow-5 glossy text-white bg-blue"
>{{ rec.descr }}</q-chip
></span
>
</span>
<!--<span class="dateevent" v-if="myrec.dateTimeStart">dal <span class="datainizio">{{tools.getstrVeryShortDate(myrec.dateStart) }}</span> al <span class="datafine">{{ tools.getstrVeryShortDate(myrec.dateEnd) }}</span>
</span>-->
</q-item-label>
<q-item-label lines="4" v-if="myrec.descr">{{ myrec.descr }}<br>
<q-item-label lines="4" v-if="myrec.descr"
>{{ myrec.descr }}<br />
</q-item-label>
<q-item-label lines="2" style="text-align: right" class="text_user_city">
<span class="text-weight-bold">{{ tools.getNameToShow(myrec) }}</span> -
<span v-for="(rec, ind) of myrec.mycities" :key="ind"><span v-if="ind > 0">, </span>{{ rec.comune }} ({{ rec.prov }})</span>
<q-item-label lines="1" style="" class="text_user_city">
<div class="row justify-between">
<div class="text-weight-bold text-italic">
{{ tools.getNameToShow(myrec) }}
</div>
<div class="q-mx-sm">
(<span class="">{{ myrec.myfav.length }}</span>
<span class="q-mx-xxs"
><q-icon
dense
color="red"
:name="
userStore.isFavorite(myrec._id, table)
? 'favorite'
: 'far fa-heart'
"
/>
</span>
<span class="q-mx-xxs">&nbsp;</span
><span class="">{{ myrec.mybook.length }}</span>
<span class="q-mx-xxs"
><q-icon
dense
color="teal"
:name="
userStore.isBookmarked(myrec._id, table)
? 'bookmark'
: 'far fa-bookmark'
"
/>
</span>
)
</div>
</div>
</q-item-label>
<q-item-label
lines="1"
style="text-align: right"
class="text_user_city"
>
<span v-for="(rec, ind) of myrec.mycities" :key="ind"
><span v-if="ind > 0">, </span>{{ rec.comune }} ({{
rec.prov
}})</span
>
</q-item-label>
</q-item-section>
<q-item-section side v-if="tools.canModifyThisRec(myrec) || editOn">
<q-item-label>
<q-btn rounded dense icon="fas fa-pencil-alt">
<q-menu>
<q-list style="min-width: 150px">
<q-item clickable v-close-popup
@click="cmdExt(costanti.CMD_MODIFY, myrec._id)">
<q-item
clickable
v-close-popup
@click="cmdExt(costanti.CMD_MODIFY, myrec._id)"
>
<q-item-section side>
<q-icon name="fas fa-pencil-alt"/>
<q-icon name="fas fa-pencil-alt" />
</q-item-section>
<q-item-section>{{ $t('reg.edit') }}</q-item-section>
</q-item>
</q-list>
<q-list style="min-width: 150px">
<q-item clickable v-close-popup @click="cmdExt(costanti.CMD_DELETE, myrec._id)">
<q-item
clickable
v-close-popup
@click="cmdExt(costanti.CMD_DELETE, myrec._id)"
>
<q-item-section side>
<q-icon name="fas fa-trash-alt"/>
<q-icon name="fas fa-trash-alt" />
</q-item-section>
<q-item-section>{{ $t('reg.elimina') }}</q-item-section>
</q-item>
@@ -80,11 +180,9 @@
</q-btn>
</q-item-label>
</q-item-section>
</q-item>
<q-separator inset="item"/>
<q-separator inset="item" />
</div>
</template>
<script lang="ts" src="./CMyRecCard.ts">

View File

@@ -1770,3 +1770,21 @@ h3 {
color: grey;
font-size: 0.8rem;
}
.butt_rounded{
border-radius: 12px;
}
.body--light {
.butt_rounded{
background-color: rgb(234, 241, 244);
}
}.body--dark {
.butt_rounded{
background-color: black;
}
}
.q-mx-xxs {
margin-left: 2px;
}

View File

@@ -1489,8 +1489,8 @@ const msg_it = {
favorite_unset: 'Rimosso dai Preferiti',
bookmark_set: 'Aggiunto ai Segnalibri',
bookmark_unset: 'Rimosso dai Segnalibri',
favorite: 'Utenti Favoriti',
bookmark: 'Utenti Segnalibri',
favorite: 'Piace a {num} utenti',
bookmark: 'Salvato da {num} utenti',
},
},

View File

@@ -3115,10 +3115,16 @@ export const tools = {
${$t('cal.endtime')} ${this.getstrTime(myevent.dateTimeEnd)}`
}
} else {
if (withhtml) {
mystr = `<span class="cal__where-content">${this.getstrDateLong(myevent.dateTimeStart)}</span>
<span class="cal__hours-content">${$t('cal.starttime')} ${this.getstrTime(myevent.dateTimeStart)} </span>
${$t('cal.enddate')} ${this.getstrDateLong(myevent.dateTimeEnd)}
<span class="cal__hours-content">${$t('cal.endtime')} ${this.getstrTime(myevent.dateTimeEnd)} </span>`
} else {
mystr = `${this.getstrDateLong(myevent.dateTimeStart)}
${$t('cal.starttime')} ${this.getstrTime(myevent.dateTimeStart)}
${this.getstrDateLong(myevent.dateTimeEnd)}: ${$t('cal.endtime')} ${this.getstrTime(myevent.dateTimeEnd)}`
}
}
if (myevent.infoextra) {
@@ -6964,6 +6970,7 @@ export const tools = {
visibile: true,
typeHosp: tools.getSelectionByTable(toolsext.TABTYPEHOSP, 2),
idContribType: tools.getSelectionByTable('contribtypes', []),
accomodation: [],
idCity: this.getCitySel(),
pub_to_share: tools.getSelectionByTable('pub_to_share', shared_consts.PUBTOSHARE.ALL, true),
photos: [],