- Versione 1.0.28

- Bottone "Condividi" permette di creare un post Telegram con l'annuncio selezionato.
- migliorata grafica dell'annuncio.
This commit is contained in:
Surya Paolo
2024-02-27 22:08:16 +01:00
parent f91de26a9a
commit 9b4406c3ae
30 changed files with 673 additions and 298 deletions

View File

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

View File

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

View File

@@ -1,4 +1,4 @@
APP_VERSION="1.0.27"
APP_VERSION="1.0.28"
SERVICE_WORKER_FILE="service-worker.js"
APP_ID="17"
DIRECTORY_LOCAL=newfreeplanet

View File

@@ -1,4 +1,4 @@
APP_VERSION="1.0.27"
APP_VERSION="1.0.28"
SERVICE_WORKER_FILE="service-worker.js"
APP_ID="17"
DIRECTORY_LOCAL=newfreeplanet

View File

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

View File

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

View File

@@ -1,4 +1,4 @@
APP_VERSION="1.0.27"
APP_VERSION="1.0.28"
SERVICE_WORKER_FILE="service-worker.js"
APP_ID="15"
DIRECTORY_LOCAL="newfreeplanet"

View File

@@ -1,4 +1,4 @@
APP_VERSION="1.0.27"
APP_VERSION="1.0.28"
SERVICE_WORKER_FILE="service-worker.js"
APP_ID="15"
DIRECTORY_LOCAL=newfreeplanet

View File

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

View File

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

View File

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

View File

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

View File

@@ -1,4 +1,4 @@
APP_VERSION="1.0.27"
APP_VERSION="1.0.28"
SERVICE_WORKER_FILE="service-worker.js"
APP_ID="16"
DIRECTORY_LOCAL=newfreeplanet

View File

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

View File

@@ -1 +1 @@
TERMINA DI LAVORARE SU riso.app: (Sovrascrivo !)
TERMINA DI LAVORARE SU piuchebuono.app: (Sovrascrivo !)

Binary file not shown.

Before

Width:  |  Height:  |  Size: 88 KiB

View File

@@ -38,6 +38,11 @@ export const shared_consts = {
OUT: 2,
},
AdType: {
OFFRO: 1,
CERCO: 2,
},
TypeCashStr: [
{
label: '[Nessuno]',
@@ -934,6 +939,7 @@ export const shared_consts = {
CmdToSend: {
SHARE_MSGREG: 1,
SHARE_TEXT: 2,
SHARE_ANNUNCIO: 3,
},
TypeMsg: {
@@ -1209,6 +1215,7 @@ export const shared_consts = {
MsgTeleg: {
SHARE_MSGREG: 1,
SHARE_TEXT: 2,
SHARE_ANNUNCIO: 3,
},
TypeMsgTemplate: {
@@ -2042,4 +2049,10 @@ export const shared_consts = {
return ''
},
STATUSSKILL_DI_PERSONA: 1,
STATUSSKILL_ONLINE: 2,
TYPEHOSP_SCAMBIOCASA: 1,
TYPEHOSP_OSPITALITA: 2,
}

View File

@@ -447,7 +447,7 @@ export default defineComponent({
*/
{
label: 'Scambio',
label: 'Disponibile',
table: 'statusSkills',
key: 'idStatusSkill',
value: 0,

View File

@@ -1117,6 +1117,7 @@
v-model="visupagedialog"
@hide="hidewindow"
:maximized="$q.screen.lt.sm"
class="dialog_annunci"
>
<CMyCardGrpPopup
v-if="mytable === toolsext.TABMYGROUPS"

View File

@@ -6,6 +6,7 @@
.myrow {
display: flex;
@media (max-width: 600px) {
flex-flow: column;
}
@@ -39,6 +40,7 @@
max-height: 500px;
max-width: 350px;
@media (max-width: 500px) {
max-height: 500px;
max-width: 400px;
@@ -46,6 +48,7 @@
}
$graytext: #555;
.cal {
color: black;
font-size: 1rem;
@@ -66,9 +69,11 @@ $graytext: #555;
&__hours {
color: blue;
&-title {
color: $graytext;
}
&-content {
font-weight: 400;
}
@@ -81,6 +86,7 @@ $graytext: #555;
&-title {
color: $graytext;
}
&-content {
color: darkblue !important;
}
@@ -93,29 +99,34 @@ $graytext: #555;
&-title {
color: $graytext;
}
&-content {
color: darkblue !important;;
color: darkblue !important;
;
}
}
&__teacher {
margin-top: 5px;
&-title {
color: $graytext;
}
&-content {
color: darkblue !important;;
color: darkblue !important;
;
}
}
&__quota {
margin-top: 5px;
&-title {
color: $graytext;
}
&-content {
}
&-content {}
}
&__img {
@@ -125,3 +136,21 @@ $graytext: #555;
}
}
.badge-favbook {
font-weight: bold;
}
.buttonsfav{
display: flex;
}
.buttonsfav_left{
}
.on-left {
margin-right: 8px !important;
}
.container_butt{
display: flex;
justify-content: space-between;
}

View File

@@ -210,6 +210,8 @@ export default defineComponent({
const mystr = getlinkpage()
tools.copyStringToClipboard($q, mystr, true)
tools.sendMsgTelegramCmd($q, t, shared_consts.MsgTeleg.SHARE_TEXT, false, mystr)
// Apri il BOT RISO
tools.openUrl(tools.getLinkBotTelegram('', ''))
return true
}
@@ -584,6 +586,14 @@ export default defineComponent({
}
}
async function condividi() {
const mystr = "❇️ Ecco l'annuncio da condividere !\nPuoi copiarlo oppure inoltrarlo a chi vuoi.\n\nE\' utile pubblicarlo anche nel gruppo Telegram RISO territoriale o in <a href=\'https://t.me/riso_gruppo/1911\'>RISO RIevoluzione SOlidale</a> (Topic \'Annunci RISO\')\n\n👇🏻👇🏻👇🏻 "
await tools.sendMsgTelegramCmd($q, t, shared_consts.MsgTeleg.SHARE_TEXT, false, mystr)
tools.copyToClip($q, getlinkpage(), true)
await tools.sendMsgAnnuncioToTelegramCmd($q, t, props.table, myrec.value._id)
}
onMounted(mounted)
return {
@@ -631,6 +641,7 @@ export default defineComponent({
searchList,
filter,
extraparams,
condividi,
}
}
})

View File

@@ -1,115 +1,47 @@
<template>
<div v-if="myrec && myrec._id" class="fulldiv">
<div class="q-pa-sm row items-start q-gutter-sm full-height fulldiv">
<q-card class="my-card fulldiv" bordered>
<div class="row items-start q-gutter-xs full-height fulldiv">
<q-card class="my-card fulldiv visudialog padding-bott" bordered>
<CGalleryImages
v-if="myrec.photos.length > 0"
:imgGallery="myrec.photos"
:directory="'upload/' + tools.getDirectoryGall(myrec, table, '')"
>
</CGalleryImages>
<div v-else class="text-center">
<img
class="text-center"
:src="tools.getimglogo()"
height="50"
alt="Immagine Logo"
/>
</div>
<q-card-actions align="right">
<div v-if="table === shared_consts.TABLES_MYBACHECAS" class="">
<q-btn
flat
round
color="green"
:icon="
calendarStore.isPartecipero(myrec._id, table)
? 'fas fa-user-check'
: 'far fa-check-circle'
"
@click="EditBookEvent(true)"
>
<q-badge
v-if="myrec.mybookings"
color="primary"
:label="
calendarStore.getNumParticipants(
myrec,
true,
tools.peopleWhere.participants
)
"
floating
transparent
/>
</q-btn>
</div>
<div class="">
<q-btn flat round color="blue" icon="far fa-eye">
<q-badge
v-if="myrec"
color="primary"
:label="myrec.numseen ? myrec.numseen : 0"
floating
transparent
/>
</q-btn>
</div>
<div class="">
<q-btn
flat
round
color="red"
:icon="
userStore.isFavorite(myrec._id, table)
? 'favorite'
: 'far fa-heart'
"
@click="clicca(costanti.TIPOFAVBOOK.FAVORITE, true, '')"
>
<q-badge
v-if="myrec"
color="primary"
:label="myrec.numfav ? myrec.numfav : 0"
floating
transparent
/>
</q-btn>
</div>
<div class="">
<q-btn
flat
round
color="teal"
:icon="
userStore.isBookmarked(myrec._id, table)
? 'bookmark'
: 'far fa-bookmark'
"
@click="clicca(costanti.TIPOFAVBOOK.BOOKMARK, true, '')"
>
<q-badge
v-if="myrec"
color="primary"
:label="myrec.numbook ? myrec.numbook : 0"
floating
transparent
/>
</q-btn>
</div>
<div>
<q-btn
flat
round
color="primary"
icon="share"
@click="tools.copyToClip($q, getlinkpage(), true)"
/>
</div>
<div>
<q-btn flat round icon="fas fa-ellipsis-h">
<div class="absolute-top-right q-mr-sm q-my-md">
<div class="column">
<q-btn flat round icon="fas fa-ellipsis-h" style="z-index: 1">
<q-menu>
<q-list v-if="true" style="min-width: 200px">
<q-item
v-if="myrec.profile && myrec.profile.username_telegram"
clickable
v-close-popup
@click.stop="tools.copyToClip($q, getlinkpage(), true)"
>
<q-item-section avatar>
<q-icon color="blue" name="far fa-comment" />
<q-icon color="blue" name="fas fa-share" />
</q-item-section>
<q-item-section>
{{ $t('reaction.condividi') }}
</q-item-section>
</q-item>
<q-item
v-if="myrec.profile && myrec.profile.username_telegram"
clickable
v-close-popup
>
<q-item-section avatar>
<q-icon color="blue" name="telegram" />
</q-item-section>
<q-item-section>
<a
@@ -120,7 +52,7 @@
)
"
target="_blank"
>{{ $t('dialog.contact') }} -
>{{ $t('dialog.telegram') }} -
{{ tools.getNomeUtenteByRecUser(myrec) }}</a
>
</q-item-section>
@@ -129,7 +61,9 @@
v-if="!nopopup && myrec.myreact"
clickable
v-close-popup
@click="naviga(tools.getPathByTableAndRec(table, myrec))"
@click.stop="
naviga(tools.getPathByTableAndRec(table, myrec))
"
>
<q-item-section avatar>
<q-icon color="blue" name="fas fa-globe" />
@@ -143,7 +77,7 @@
v-if="myrec"
clickable
v-close-popup
@click="
@click.stop="
clicca(
costanti.TIPOFAVBOOK.SEEN,
false,
@@ -168,7 +102,7 @@
v-if="myrec"
clickable
v-close-popup
@click="
@click.stop="
clicca(
costanti.TIPOFAVBOOK.FAVORITE,
false,
@@ -193,7 +127,7 @@
v-if="table === shared_consts.TABLES_MYBACHECAS"
clickable
v-close-popup
@click="
@click.stop="
clicca(
costanti.TIPOFAVBOOK.ATTEND,
false,
@@ -226,7 +160,7 @@
v-if="myrec"
clickable
v-close-popup
@click="
@click.stop="
clicca(
costanti.TIPOFAVBOOK.BOOKMARK,
false,
@@ -250,12 +184,115 @@
</q-list>
</q-menu>
</q-btn>
<q-btn
flat
round
color="blue"
icon="share"
style="z-index: 1"
@click.stop="tools.copyToClip($q, getlinkpage(), true)"
>
</q-btn>
<q-btn
flat
round
color="blue"
icon="far fa-eye"
style="z-index: 1"
>
<q-badge
v-if="myrec"
text-color="primary"
color="white"
class="badge-favbook"
:label="myrec.numseen ? myrec.numseen : 0"
floating
transparent
/>
</q-btn>
<q-btn
style="z-index: 1"
v-if="table === shared_consts.TABLES_MYBACHECAS"
flat
round
color="green"
:icon="
calendarStore.isPartecipero(myrec._id, table)
? 'fas fa-user-check'
: 'far fa-check-circle'
"
@click.stop="EditBookEvent(true)"
>
<q-badge
v-if="myrec.mybookings"
style="z-index: 1"
text-color="primary"
color="white"
class="badge-favbook"
:label="
calendarStore.getNumParticipants(
myrec,
true,
tools.peopleWhere.participants
)
"
floating
transparent
/>
</q-btn>
<q-btn
style="z-index: 1"
flat
round
color="red"
:icon="
userStore.isFavorite(myrec._id, table)
? 'favorite'
: 'far fa-heart'
"
@click.stop="clicca(costanti.TIPOFAVBOOK.FAVORITE, true, '')"
>
<q-badge
v-if="myrec"
text-color="primary"
color="white"
class="badge-favbook"
:label="myrec.numfav ? myrec.numfav : 0"
floating
transparent
/>
</q-btn>
<div class="">
<q-btn
style="z-index: 1"
flat
round
color="teal"
:icon="
userStore.isBookmarked(myrec._id, table)
? 'bookmark'
: 'far fa-bookmark'
"
@click.stop="clicca(costanti.TIPOFAVBOOK.BOOKMARK, true, '')"
>
<q-badge
v-if="myrec"
text-color="primary"
color="white"
class="badge-favbook"
:label="myrec.numbook ? myrec.numbook : 0"
floating
transparent
/>
</q-btn>
</div>
</q-card-actions>
</div>
</div>
<q-separator />
<q-list>
<q-item clickable>
<q-list style="z-index: 5">
<q-item>
<q-item-section avatar>
<div v-if="showBadge()" class="text-center">
<q-chip
@@ -428,7 +465,10 @@
</q-item>
<q-separator />
<q-item-label v-if="myrec.note"
><div v-html="myrec.note" class="clBorderService"></div
><div
v-html="myrec.note"
class="q-my-sm clBorderService clDescrEstesa"
></div
></q-item-label>
<q-item clickable v-if="table === 'mybachecas'">
@@ -694,34 +734,75 @@
<div v-if="table === shared_consts.TABLES_MYBACHECAS" class="q-mb-sm">
&nbsp;
</div>
<div class="row text-shadow q-px-xs"></div>
</q-card>
<div
v-if="(!$q.screen.gt.sm && !nopopup) || true"
class="row absolute-bottom text-shadow custom-caption q-px-md buttons_bottom"
class="row absolute-bottom text-shadow custom-caption q-px-xs buttons_bottom"
>
<div class="column">
<div class="row justify-evenly q-my-sm">
<div class="row q-mx-sm">
<q-btn
dense
class="q-mx-xxs"
rounded
:label="
userStore.isFavorite(myrec._id, table)
? $t('reaction.tipiace')
: $t('reaction.mipiace')
"
text-color="red"
color="white"
:icon="
userStore.isFavorite(myrec._id, table)
? 'favorite'
: 'far fa-heart'
"
@click="clicca(costanti.TIPOFAVBOOK.FAVORITE, true, '')"
>
</q-btn>
<q-btn
class="q-mx-xxs"
dense
rounded
:label="$t('reaction.condividi')"
text-color="blue"
color="white"
icon="fas fa-share"
@click="condividi()"
>
</q-btn>
<q-btn
v-if="
(myrec.profile && myrec.profile.username_telegram) ||
myrec.contact_telegram
"
:label="$t('dialog.contact')"
color="primary"
icon="far fa-comment"
target="_blank"
:type="tools.isUserOk() ? 'a' : 'btn'"
size="md"
class="q-mx-xxs"
dense
rounded
:href="
:label="$t('dialog.scrivi')"
text-color="primary"
color="white"
icon="telegram"
target="_blank"
@click="
tools.openUrl(
myrec.contact_telegram
? tools.getHttpForTelegram(myrec.contact_telegram)
: tools.getHttpForTelegram(myrec.profile.username_telegram)
: tools.getHttpForTelegram(
myrec.profile.username_telegram
)
)
"
/>
<q-btn
v-if="table === shared_consts.TABLES_MYBACHECAS"
dense
rounded
:color="
calendarStore.isPartecipero(myrec._id, table) ? 'green' : 'grey'
calendarStore.isPartecipero(myrec._id, table)
? 'green'
: 'grey'
"
:label="$t('event.attend')"
:icon="
@@ -733,6 +814,7 @@
>
</q-btn>
<q-btn
dense
rounded
outline
class="q-ma-sm"
@@ -742,6 +824,9 @@
:label="$t('cal.modifybooking')"
>
</q-btn>
</div>
</div>
<div class="row justify-center">
<q-btn
rounded
outline
@@ -751,6 +836,8 @@
v-close-popup
/>
</div>
</div>
</div>
<q-inner-loading
:showing="loading"
label="attendere..."

View File

@@ -161,7 +161,7 @@
style="vertical-align: middle"
>
<q-badge
v-if="(recstatus === costanti.STATUSSKILL_ONLINE) || myrec.idStatusSkill.length > 1"
v-if="(recstatus === shared_consts.STATUSSKILL_ONLINE) || myrec.idStatusSkill.length > 1"
dense
:color="globalStore.getColByStatusSkills(recstatus)"
text-color="white"
@@ -208,24 +208,24 @@
tools.getNumPartecipantes(myrec) > 0
"
>
<span class="q-mx-xxs text-bold">{{
<span class="q-mx-xxs-left text-bold">{{
tools.getNumPartecipantes(myrec)
}}</span>
<span class="q-mx-xxs"
<span class="q-mx-xxs-left"
><q-icon dense color="blue" name="far fa-check-circle" />
</span>
</span>
<span class="q-mx-xxs">{{
<span class="q-mx-xxs-left">{{
myrec.numseen ? myrec.numseen : 0
}}</span>
<span class="q-mx-xxs"
<span class="q-mx-xxs-left"
><q-icon dense color="blue" name="far fa-eye" />
</span>
<span class="q-mx-xxs">&nbsp;</span>
<span class="q-mx-xxs-left">&nbsp;</span>
<span class="" v-if="myrec">{{
myrec.numfav ? myrec.numfav : 0
}}</span>
<span class="q-mx-xxs"
<span class="q-mx-xxs-left"
><q-icon
dense
color="red"

View File

@@ -1,5 +1,5 @@
body {
font-family: 'Source Sans Pro', 'Helvetica Neue', Arial, sans-serif;
font-family: Söhne, ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, Ubuntu, Cantarell, "Noto Sans", sans-serif, "Helvetica Neue", Arial, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
color: #333333;
@@ -324,14 +324,24 @@ h3 {
}
}
.dialog_annunci{
max-width: 700px !important;
@media (max-width: 700px) {
/* Versione Mobile */
max-width: 100% !important;
}
}
.my-card {
width: 100%;
max-width: 400px;
min-width: 250px;
max-width: 700px !important;
min-width: 350px;
padding: 1rem 1rem;
@media (max-width: 500px) {
max-width: 400px;
@media (max-width: 700px) {
/* Versione Mobile */
max-width: 400px !important;
min-width: 250px;
}
@@ -349,13 +359,14 @@ h3 {
.myimgtitle {
max-width: 100%;
width: 100%;
@media (max-width: 718px) {
}
@media (max-width: 718px) {}
}
.myimgproduct {
max-width: 100%;
height: 300px;
@media (max-width: 718px) {
height: 250px;
}
@@ -376,7 +387,8 @@ h3 {
}
.my-card-selected {
transition: box-shadow 0.3s; /* Add a transition for a smooth effect */
transition: box-shadow 0.3s;
/* Add a transition for a smooth effect */
box-shadow: 0 0 10px rgba(0, 0, 0, 0.5) !important;
color: blue;
background-color: lightblue;
@@ -388,7 +400,8 @@ h3 {
}
.my-card-prod {
transition: box-shadow 0.3s; /* Add a transition for a smooth effect */
transition: box-shadow 0.3s;
/* Add a transition for a smooth effect */
box-shadow: 0 0 10px rgba(0, 0, 0, 0.5) !important;
width: 100%;
max-width: 300px;
@@ -730,6 +743,7 @@ h3 {
font-size: 1rem;
padding: 6px;
}
.clBorderUser {
border-radius: 16px;
font-size: 1rem;
@@ -866,7 +880,8 @@ h3 {
border: solid 2px #49b502;
}
.bordo_stondato_pending, .bordo_quadrato_pending {
.bordo_stondato_pending,
.bordo_quadrato_pending {
margin: 4px;
padding-left: 14px;
padding-right: 14px;
@@ -946,7 +961,7 @@ h3 {
width: 100%;
margin-left: auto;
margin-right: auto;
max-width: 800px;
max-width: 700px;
min-width: 800px;
@media (max-width: 500px) {
@@ -1063,7 +1078,8 @@ h3 {
place-content: center;
}
.combowidth, .comboselector {
.combowidth,
.comboselector {
min-width: 190px;
@media (max-width: 450px) {
@@ -1435,6 +1451,7 @@ h3 {
.anim_toBottom {
animation: moveToBottom 2s ease-in-out;
}
.anim_toRight {
animation: moveToRight 2s ease-in-out;
}
@@ -1460,13 +1477,15 @@ h3 {
}
.film, .effect {
.film,
.effect {
width: 100%;
height: 100%;
filter: blur(0.45px) drop-shadow(0px 0px 0px #fff1);
}
.film:after, .effect:after {
.film:after,
.effect:after {
content: '';
width: 120%;
height: 100%;
@@ -1503,53 +1522,173 @@ h3 {
}
@keyframes grain {
0%, 100% { transform: translate(0, 0); }
10% { transform: translate(-1%, -1%); }
20% { transform: translate(1%, 1%); }
30% { transform: translate(-2%, -2%); }
40% { transform: translate(3%, 3%); }
50% { transform: translate(-3%, -3%); }
60% { transform: translate(4%, 4%); }
70% { transform: translate(-4%, -4%); }
80% { transform: translate(2%, 2%); }
90% { transform: translate(-3%, -3%); }
0%,
100% {
transform: translate(0, 0);
}
10% {
transform: translate(-1%, -1%);
}
20% {
transform: translate(1%, 1%);
}
30% {
transform: translate(-2%, -2%);
}
40% {
transform: translate(3%, 3%);
}
50% {
transform: translate(-3%, -3%);
}
60% {
transform: translate(4%, 4%);
}
70% {
transform: translate(-4%, -4%);
}
80% {
transform: translate(2%, 2%);
}
90% {
transform: translate(-3%, -3%);
}
}
@keyframes film-scratch {
0%, 100% { transform: translateX(0); opacity: 0.5; }
10% { transform: translateX(-1%); }
20% { transform: translateX(1%); }
30% { transform: translateX(-2%); opacity: 0.75; }
40% { transform: translateX(3%); }
50% { transform: translateX(-3%); opacity: 0.5; }
60% { transform: translateX(8%); }
70% { transform: translateX(-3%); }
80% { transform: translateX(10%); opacity: 0.25; }
90% { transform: translateX(-2%); }
0%,
100% {
transform: translateX(0);
opacity: 0.5;
}
10% {
transform: translateX(-1%);
}
20% {
transform: translateX(1%);
}
30% {
transform: translateX(-2%);
opacity: 0.75;
}
40% {
transform: translateX(3%);
}
50% {
transform: translateX(-3%);
opacity: 0.5;
}
60% {
transform: translateX(8%);
}
70% {
transform: translateX(-3%);
}
80% {
transform: translateX(10%);
opacity: 0.25;
}
90% {
transform: translateX(-2%);
}
}
@keyframes effect-scratch {
0% { transform: translateX(0); opacity: 0.75; }
10% { transform: translateX(-1%); }
20% { transform: translateX(1%); }
30% { transform: translateX(-2%); }
40% { transform: translateX(3%); }
50% { transform: translateX(-3%); opacity: 0.5; }
60% { transform: translateX(8%); }
70% { transform: translateX(-3%); }
80% { transform: translateX(10%); opacity: 0.25; }
90% { transform: translateX(20%); }
100% { transform: translateX(30%); }
0% {
transform: translateX(0);
opacity: 0.75;
}
10% {
transform: translateX(-1%);
}
20% {
transform: translateX(1%);
}
30% {
transform: translateX(-2%);
}
40% {
transform: translateX(3%);
}
50% {
transform: translateX(-3%);
opacity: 0.5;
}
60% {
transform: translateX(8%);
}
70% {
transform: translateX(-3%);
}
80% {
transform: translateX(10%);
opacity: 0.25;
}
90% {
transform: translateX(20%);
}
100% {
transform: translateX(30%);
}
}
/**** OLD FILM EFFECT END ****/
@keyframes zoomImg {
0% { transform: translate(-75%, 10%) scale(1.5); opacity: 0.6; }
20% { transform: translate(-15%, 10%) scale(1.5); opacity: 1; }
50% { transform: translate(-15%, 25%) scale(1.4); opacity: 1; }
80% { transform: translate(-65%, 25%) scale(1.4); opacity: 1; }
100% { transform: translate(-75%, 10%) scale(1.5); opacity: 0.6; }
0% {
transform: translate(-75%, 10%) scale(1.5);
opacity: 0.6;
}
20% {
transform: translate(-15%, 10%) scale(1.5);
opacity: 1;
}
50% {
transform: translate(-15%, 25%) scale(1.4);
opacity: 1;
}
80% {
transform: translate(-65%, 25%) scale(1.4);
opacity: 1;
}
100% {
transform: translate(-75%, 10%) scale(1.5);
opacity: 0.6;
}
}
.zoomImg {
@@ -1562,36 +1701,42 @@ h3 {
-webkit-animation-duration: calc(var(--animate-duration) * 3);
animation-duration: calc(var(--animate-duration) * 3);
}
.animate__animated.animate__slow4 {
-webkit-animation-duration: calc(1s * 4);
animation-duration: calc(1s * 4);
-webkit-animation-duration: calc(var(--animate-duration) * 4);
animation-duration: calc(var(--animate-duration) * 4);
}
.animate__animated.animate__slow5 {
-webkit-animation-duration: calc(1s * 5);
animation-duration: calc(1s * 5);
-webkit-animation-duration: calc(var(--animate-duration) * 5);
animation-duration: calc(var(--animate-duration) * 5);
}
.animate__animated.animate__slow10 {
-webkit-animation-duration: calc(1s * 10);
animation-duration: calc(1s * 10);
-webkit-animation-duration: calc(var(--animate-duration) * 10);
animation-duration: calc(var(--animate-duration) * 10);
}
.animate__animated.animate__slow20 {
-webkit-animation-duration: calc(1s * 20);
animation-duration: calc(1s * 20);
-webkit-animation-duration: calc(var(--animate-duration) * 20);
animation-duration: calc(var(--animate-duration) * 20);
}
.animate__animated.animate__slow30 {
-webkit-animation-duration: calc(1s * 30);
animation-duration: calc(1s * 30);
-webkit-animation-duration: calc(var(--animate-duration) * 30);
animation-duration: calc(var(--animate-duration) * 30);
}
.animate__animated.animate__slow50 {
-webkit-animation-duration: calc(1s * 50);
animation-duration: calc(1s * 50);
@@ -1602,15 +1747,19 @@ h3 {
.animate__animated.animate__ease-in-out {
transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
}
.animate__animated.animate__linear {
transition-timing-function: linear;
}
.animate__animated.animate__ease-in {
transition-timing-function: cubic-bezier(0.4, 0, 1, 1);
}
.animate__animated.animate__ease-out {
transition-timing-function: cubic-bezier(0, 0, 0.2, 1);
}
.animate__animated.animate__ease {
transition-timing-function: ease;
}
@@ -1647,6 +1796,7 @@ h3 {
text-align: right;
color: #A0A0A0;
}
.show_province {
font-size: 0.85rem;
font-style: italic;
@@ -1655,7 +1805,13 @@ h3 {
}
.buttons_bottom {
max-width: 700px !important;
@media (max-width: 700px) {
/* Versione Mobile */
max-width: 400px;
}
margin-left: auto;
justify-content: space-around;
margin-right: auto;
@@ -1670,6 +1826,7 @@ h3 {
background: linear-gradient(180deg, transparent, rgba(255, 255, 255, .7) 15%)
}
}
.body--dark {
.buttons_bottom {
background: -webkit-gradient(linear, left top, left bottom, from(transparent), color-stop(15%, rgba(0, 0, 0, .6)));
@@ -1679,6 +1836,29 @@ h3 {
.fulldiv {
min-height: 100% !important;
max-width: 700px !important;
min-width: 700px !important;
@media (max-width: 700px) {
/* Versione Mobile */
max-width: 400px !important;
min-width: 300px !important;
}
}
.padding-bott {
padding-bottom: 50px;
}
.visudialog {
@media (max-width: 600px) {
/* ... */
}
else {
width: 700px !important;
max-width: 80vw !important;
color: red;
}
}
.numfav_text {
@@ -1695,14 +1875,21 @@ h3 {
.butt_rounded {
background-color: rgb(234, 241, 244);
}
}.body--dark {
}
.body--dark {
.butt_rounded {
background-color: black;
}
}
.q-mx-xxs-left {
margin-left: 2px;
}
.q-mx-xxs {
margin-left: 2px;
margin-right: 2px;
}
.butt_green {
@@ -1716,6 +1903,7 @@ h3 {
text-align: center;
margin-bottom: -4px;
}
.ev_day {
color: black;
font-size: 1.25rem;
@@ -1727,7 +1915,17 @@ h3 {
height: auto;
width: 90%;
}
.col-15 {
height: auto;
width: 10%;
}
.lineheight-normal {
line-height: normal !important;
}
.clDescrEstesa {
font-size: 1rem;
line-height: normal !important;
}

View File

@@ -133,6 +133,17 @@ function getDynamicPages(site: ISites): IListRoutes[] {
inmenu: true,
infooter: true,
},
{
active: true,
order: 120,
path: '/install_site',
materialIcon: 'fas fa-user',
name: 'pages.install_site',
component: () => import('@/views/admin/install_site/install_site.vue'),
meta: { requiresAuth: true },
inmenu: false,
infooter: false,
},
{
active: true,
order: 120,

View File

@@ -846,6 +846,9 @@ export interface IMsgGlobParam {
textaddTelegram?: string
textcontent_Telegram?: string
linkaddTelegram?: string
tablerec?: string
idrec?: string
idapp?: string
}
export interface IDataToSet {

View File

@@ -1,13 +1,5 @@
<template>
<CMyPage title="Prodotti" imgbackground="images/prodotti.jpg" sizes="max-height: 120px">
<span>{{
setmeta({
title: 'Prodotti',
description: '',
keywords: '',
})
}}
</span>
<CMyPage title="Prodotti" sizes="max-height: 120px">
<div class="q-ma-sm q-gutter-sm q-pa-xs">

View File

@@ -269,6 +269,8 @@ const msg_it = {
titledeleteTask: 'Elimina Task',
deleteTask: 'Vuoi Eliminare {mytodo}?',
},
scrivi: 'Contatta',
telegram: 'Messaggia su Telegram',
},
comp: {
Conta: 'Conta',
@@ -1776,6 +1778,11 @@ const msg_it = {
ai: {
selectquery: 'Scegli',
},
reaction: {
mipiace: 'Mi piace',
tipiace: 'Ti piace',
condividi: 'Condividi',
}
},
};

View File

@@ -427,6 +427,4 @@ export const costanti = {
TESTO_BORDATO: 5,
},
STATUSSKILL_ONLINE: 2,
}

View File

@@ -7376,6 +7376,25 @@ export const tools = {
return this.sendMsgTelegram($q, $t, mydata, showmsgsent)
},
async sendMsgAnnuncioToTelegramCmd($q: any, $t: any, tablerec: string, idrec: string) {
const userStore = useUserStore()
let showmsgsent = false
let mydata: IMsgGlobParam = {
typemsg: shared_consts.TypeMsg.SEND_TO_MYSELF,
typesend: shared_consts.TypeSend.TELEGRAM,
cmd: shared_consts.MsgTeleg.SHARE_ANNUNCIO,
tablerec,
idrec,
idapp: tools.appid(),
}
// tools.copyStringToClipboard($q, link, true)
return this.sendMsgTelegram($q, $t, mydata, showmsgsent)
},
getFieldSearchByTable(mytable: string, tablejoin: string, field: string) {
let ris = field
if (mytable === 'users') {
@@ -8425,6 +8444,12 @@ export const tools = {
}
},
openUrl(url: string) {
window.open(url, '_blank');
}
// FINE !
// getLocale() {