- corretto problema ROGNOSO : Risolvere la questione "Sessioni multiple", se apro 2 browser l'ultimo va a cancellare il precedente, e mi da errore di email non valida !

Il problema era sulla fetch nel service worker, gestita in quel modo personalizzato, andava in conflitto, non tenendo le chiamate bloccanti, ma uscivano prima che arrivasse la risposta del server.
- Per chi è da tanto che non si collega a RISO, compare "Email non verificata"... (si risolve chiudendo su ESCI e riloggandosi)... però andrebbe sistemata.
(stesso problema di prima).
This commit is contained in:
Surya Paolo
2025-10-26 02:47:59 +02:00
parent eb0fb72c70
commit df98ec9471
64 changed files with 1286 additions and 704 deletions

View File

@@ -197,6 +197,10 @@ export default defineComponent({
const isAppRunning = computed(() => globalStore.isAppRunning);
const cardGroupMaxWidth = computed(() => {
return tools.getwidth($q) + ' px';
});
const currentCardsPerSlide = computed(() => {
return myel.value.num2 ? myel.value.num2 : 2; // cardsPerSlide
});
@@ -229,6 +233,7 @@ export default defineComponent({
const speedSafe = computed(() => (myel.value as any).speed ?? 0);
const carouselRef = ref(<any>null);
const cardScroller = ref(<any>null);
const isAtStart = ref(true);
const isAtEnd = ref(false);
const activeIndex = ref(0);
@@ -379,6 +384,16 @@ export default defineComponent({
}
}
function scrollCards(delta: number) {
const scroller = cardScroller.value?.[0] || cardScroller.value;
if (scroller) {
scroller.scrollBy({
left: delta,
behavior: 'smooth',
});
}
}
onMounted(mounted);
return {
@@ -426,6 +441,9 @@ export default defineComponent({
naviga,
speedSafe,
t,
cardGroupMaxWidth,
cardScroller,
scrollCards,
};
},
});

View File

@@ -81,7 +81,7 @@
:color="$q.dark.isActive ? `black` : `white`"
:text-color="$q.dark.isActive ? `white` : `black`"
icon="keyboard_arrow_left"
@click="$refs.carousel.previous()"
@click="scrollCards(-300)"
></q-btn>
</q-carousel-control>
<q-carousel-control
@@ -96,7 +96,7 @@
:color="$q.dark.isActive ? `black` : `white`"
:text-color="$q.dark.isActive ? `white` : `black`"
icon="keyboard_arrow_right"
@click="$refs.carousel.next()"
@click="scrollCards(300)"
></q-btn>
</q-carousel-control>
</template>
@@ -106,59 +106,68 @@
:key="groupIndex"
:name="groupIndex"
>
<div class="row no-wrap justify-start items-center q-px-sm">
<template
v-for="(rec, cardIndex) in group"
:key="cardIndex"
>
<div :class="cardColumnClass">
<q-card
:class="
`flex-card bordered ` +
myel.class3 +
(rec.link ? ' titolo_card' : '')
"
:style="
rec.style +
`; height: ${myel.heightimg || `300px`} !important; width: ${
myel.widthimg || `300px`
} !important;`
"
@click="rec.link ? tools.openUrl(rec.link) : undefined"
<!-- Contenitore scrollabile orizzontalmente -->
<div
ref="cardScroller"
class="card-group-scrollable"
:style="{ 'max-height': myel.heightcarousel, 'max-width': ($q.screen.width - 45) + 'px' }"
>
<div class="row no-wrap items-center">
<template
v-for="(rec, cardIndex) in group"
:key="cardIndex"
>
<div
:class="cardColumnClass"
class="flex flex-center"
>
<div
class="img-container"
:style="`height: ${
parseInt(myel?.heightimg?.replace('px', '')) * 0.7
}px; overflow: hidden;`"
<q-card
:class="
`flex-card bordered ` +
myel.class3 +
(rec.link ? ' titolo_card' : '')
"
:style="`
${rec.style};
height: ${myel.heightimg || '300px'};
width: ${myel.widthimg || '300px'};
flex: 0 0 auto;
`"
@click="rec.link ? tools.openUrl(rec.link) : undefined"
>
<q-img
:class="tools.getClassAnim(myel.anim2) + ` ` + myel.class4"
:src="tools.getImgFileByElem(myel, rec, path)"
/>
</div>
<q-card-section class="q-card-section-small">
<div
:class="rec.size"
:style="`color: ` + rec.color"
class="img-container"
:style="`height: ${parseInt(myel?.heightimg?.replace('px', '')) * 0.7}px; overflow: hidden;`"
>
{{ tools.getText(rec.alt) }}
<q-img
:class="tools.getClassAnim(myel.anim2) + ' ' + myel.class4"
:src="tools.getImgFileByElem(myel, rec, path)"
fit="contain"
/>
</div>
<div
:class="`q-mt-xs q-mb-xs ` + tools.getClassAnim(myel.anim)"
v-html="rec.content"
></div>
<div
v-if="rec.description"
class="text-caption"
:style="`color: ` + rec.colorsub"
>
{{ rec.description }}
</div>
</q-card-section>
</q-card>
</div>
</template>
<q-card-section class="q-card-section-small">
<div
:class="rec.size"
:style="`color: ${rec.color}`"
>
{{ tools.getText(rec.alt) }}
</div>
<div
:class="`q-mt-xs q-mb-xs ` + tools.getClassAnim(myel.anim)"
v-html="rec.content"
></div>
<div
v-if="rec.description"
class="text-caption"
:style="`color: ${rec.colorsub}`"
>
{{ rec.description }}
</div>
</q-card-section>
</q-card>
</div>
</template>
</div>
</div>
</q-carousel-slide>
</q-carousel>
@@ -1160,10 +1169,7 @@
:features="myel.features"
:isDark="myel.parambool2"
>
</FeaturesSection>
</div>
<div v-if="editOn">