From d1a66ef4eafed12dfdba64bd9fdf6c6209961c1d Mon Sep 17 00:00:00 2001 From: Surya Paolo Date: Thu, 18 Dec 2025 16:58:06 +0100 Subject: [PATCH] - altro aggiornamento restying - Invio RIS aggiornato - Eventi - Home Page restyling --- quasar.config.ts | 1 - src/common/shared_vuejs.ts | 6 + src/components/CGridOriz/CGridOriz.ts | 5 + src/components/CGridOriz/CGridOriz.vue | 1 + .../CGridTableRec/CGridTableRec.scss | 80 +- src/components/CGridTableRec/CGridTableRec.ts | 17 +- .../CGridTableRec/CGridTableRec.vue | 98 +- src/components/CMyEditElem/CMyEditElem.vue | 35 + src/components/CMyElem/CMyElem.scss | 869 ++-- src/components/CMyElem/CMyElem.ts | 2 + src/components/CMyElem/CMyElem.vue | 70 +- src/components/CMyRecCard/CMyRecCard.scss | 267 +- src/components/CMyRecCard/CMyRecCard.ts | 5 + src/components/CMyRecCard/CMyRecCard.vue | 7 +- src/components/CMyRecEventi/CMyRecEventi.scss | 759 +++ src/components/CMyRecEventi/CMyRecEventi.ts | 198 + src/components/CMyRecEventi/CMyRecEventi.vue | 104 + src/components/CMyRecEventi/index.ts | 1 + src/components/CMySelect/CMySelect.ts | 2 +- .../CPageUserNotFound/CPageUserNotFound.vue | 1 - src/components/CSendCoins/CSendCoins.ts | 60 +- src/components/CStatusReg/CStatusReg.vue | 2 +- .../Riso_Home_Modern/Riso_Home_Modern.scss | 1858 ++----- .../Riso_Home_Modern/Riso_Home_Modern.ts | 317 +- .../Riso_Home_Modern/Riso_Home_Modern.vue | 885 +--- .../Riso_Home_ParteFinale.scss | 375 ++ .../Riso_Home_ParteFinale.ts | 614 +++ .../Riso_Home_ParteFinale.vue | 290 ++ src/components/Riso_Home_ParteFinale/index.ts | 1 + src/components/pageris/pageris.scss | 55 +- src/css/app.scss | 4628 ++++++++--------- src/css/quasar.variables.scss | 24 +- src/css/variables.scss | 462 +- src/model/GlobalStore.ts | 3 + src/store/CircuitStore.ts | 6 + src/store/Modules/fieldsTable.ts | 5 + src/store/Modules/tools.ts | 110 +- src/store/globalStore.ts | 4 + 38 files changed, 6551 insertions(+), 5676 deletions(-) create mode 100644 src/components/CMyRecEventi/CMyRecEventi.scss create mode 100755 src/components/CMyRecEventi/CMyRecEventi.ts create mode 100755 src/components/CMyRecEventi/CMyRecEventi.vue create mode 100755 src/components/CMyRecEventi/index.ts create mode 100644 src/components/Riso_Home_ParteFinale/Riso_Home_ParteFinale.scss create mode 100644 src/components/Riso_Home_ParteFinale/Riso_Home_ParteFinale.ts create mode 100644 src/components/Riso_Home_ParteFinale/Riso_Home_ParteFinale.vue create mode 100644 src/components/Riso_Home_ParteFinale/index.ts mode change 100755 => 100644 src/css/variables.scss diff --git a/quasar.config.ts b/quasar.config.ts index 68ac12ab..da70404f 100644 --- a/quasar.config.ts +++ b/quasar.config.ts @@ -35,7 +35,6 @@ export default defineConfig((ctx) => { node: 'node20', }, - // ✅ AGGIUNTO: Importa automaticamente variables.scss ovunque sassVariables: 'src/css/variables.scss', vueRouterMode: 'history', diff --git a/src/common/shared_vuejs.ts b/src/common/shared_vuejs.ts index 667882af..96739c13 100755 --- a/src/common/shared_vuejs.ts +++ b/src/common/shared_vuejs.ts @@ -190,6 +190,7 @@ export const shared_consts = { PROFILE_COMPLETITION: 1510, RISOHOME: 1600, RISOHOME_MODERN: 1610, + RISOHOME_PAGFINALE: 1615, PAGERIS: 1620, CMYCIRCUITS: 1630, CREA_VOLANTINO: 1700, @@ -2122,6 +2123,11 @@ export const shared_consts = { label: 'RISO Home Modern', icon: 'fas fa-home', }, + { + value: 1615, // RISOHOME_PAGFINALE + label: 'RISO Home (Parte Finale))', + icon: 'fas fa-home', + }, { value: 1620, // PAGERIS label: 'Pagina RIS', diff --git a/src/components/CGridOriz/CGridOriz.ts b/src/components/CGridOriz/CGridOriz.ts index 10289cc8..74c6178b 100755 --- a/src/components/CGridOriz/CGridOriz.ts +++ b/src/components/CGridOriz/CGridOriz.ts @@ -67,6 +67,11 @@ export default defineComponent({ required: false, default: false, }, + prop_compatto: { + type: Boolean, + required: false, + default: false, + }, finder: { type: Boolean, required: false, diff --git a/src/components/CGridOriz/CGridOriz.vue b/src/components/CGridOriz/CGridOriz.vue index 99f1bb64..58c31509 100755 --- a/src/components/CGridOriz/CGridOriz.vue +++ b/src/components/CGridOriz/CGridOriz.vue @@ -22,6 +22,7 @@ labelElemFind="trovati" :choose_visutype="visuType" :butt_modif_new="prop_modif" + :compatto="prop_compatto" :noresultLabel=" t('grid.nosearchfound') + ' ' + (showMap ? t('grid.intheareamap') : '') " diff --git a/src/components/CGridTableRec/CGridTableRec.scss b/src/components/CGridTableRec/CGridTableRec.scss index 9c91f8c8..9cd1fe12 100755 --- a/src/components/CGridTableRec/CGridTableRec.scss +++ b/src/components/CGridTableRec/CGridTableRec.scss @@ -1,3 +1,6 @@ +// ======================================== +// SHADOW VARIABLES +// ======================================== $shadow-sm: 0 1px 2px rgba(0, 0, 0, 0.06); $shadow-md: 0 2px 6px rgba(0, 0, 0, 0.08); $shadow-hover: 0 4px 12px rgba(25, 118, 210, 0.15); @@ -20,22 +23,23 @@ $shadow-hover: 0 4px 12px rgba(25, 118, 210, 0.15); margin-top: 3px; } -.q-table td { - padding-left: 1px; - padding-right: 2px; - padding-top: 0; - padding-bottom: 0; - - &__title { - font-size: 1rem; - } -} - .q-table { + td { + padding: 0 2px 0 1px; + + &__title { + font-size: 1rem; + } + } + &__col { font-size: 1rem; color: gray; } + + &__top { + padding-top: 0 !important; + } } .newrec_fields { @@ -51,10 +55,6 @@ $shadow-hover: 0 4px 12px rgba(25, 118, 210, 0.15); padding: 3px 6px !important; } -.q-table__top { - padding-top: 0 !important; -} - // ======================================== // DIALOG & LAYOUT // ======================================== @@ -87,20 +87,21 @@ $shadow-hover: 0 4px 12px rgba(25, 118, 210, 0.15); .carousel-scroll-container { overflow-y: auto; max-height: calc(100vh - 120px); - + + // Scrollbar styling &::-webkit-scrollbar { width: 6px; } - + &::-webkit-scrollbar-track { background: rgba(0, 0, 0, 0.05); border-radius: 3px; } - + &::-webkit-scrollbar-thumb { background: rgba(0, 0, 0, 0.2); border-radius: 3px; - + &:hover { background: rgba(0, 0, 0, 0.3); } @@ -148,15 +149,20 @@ $shadow-hover: 0 4px 12px rgba(25, 118, 210, 0.15); } // ======================================== -// INFINITE SCROLL -// ======================================== -// ======================================== -// GRID LAYOUT PER CARD +// GRID LAYOUT PER CARD (INFINITE SCROLL) // ======================================== .q-infinite-scroll { padding: 6px; gap: 8px; - + + // Mobile: colonna singola + @media (max-width: $mobile-breakpoint) { + display: flex; + flex-direction: column; + padding: 5px; + gap: 6px; + } + // Desktop: layout a griglia 2 colonne @media (min-width: $mobile-breakpoint) { display: grid; @@ -164,20 +170,12 @@ $shadow-hover: 0 4px 12px rgba(25, 118, 210, 0.15); gap: 10px; padding: 8px; } - - // Desktop large: 3 colonne per schermi molto larghi + + // Desktop large: mantiene 2 colonne con gap maggiore @media (min-width: 1400px) { grid-template-columns: repeat(2, 1fr); gap: 12px; } - - // Mobile: colonna singola - @media (max-width: $mobile-breakpoint) { - display: flex; - flex-direction: column; - padding: 5px; - gap: 6px; - } } // ======================================== @@ -209,6 +207,10 @@ $shadow-hover: 0 4px 12px rgba(25, 118, 210, 0.15); padding: 3px 6px; } } + +// ======================================== +// GRID CARD ITEM +// ======================================== .grid-card-item { width: 100%; background: rgba(255, 255, 255, 0.7); @@ -216,14 +218,16 @@ $shadow-hover: 0 4px 12px rgba(25, 118, 210, 0.15); border-radius: 12px; border: 1px solid rgba(255, 255, 255, 0.9); box-shadow: 0 2px 12px rgba(0, 0, 0, 0.08); - padding: 8px; // Spazio tra carousel e card - + padding: 8px; + @media (max-width: $mobile-breakpoint) { - width: 100%; - padding: 4px; // Ridotto su mobile + padding: 4px; } } +// ======================================== +// UTILITY CLASSES +// ======================================== .fill-all-width { width: 100%; } \ No newline at end of file diff --git a/src/components/CGridTableRec/CGridTableRec.ts b/src/components/CGridTableRec/CGridTableRec.ts index def02555..5fd5a167 100755 --- a/src/components/CGridTableRec/CGridTableRec.ts +++ b/src/components/CGridTableRec/CGridTableRec.ts @@ -40,6 +40,7 @@ import { CMyUser } from '../CMyUser'; import { CMyGroups } from '../CMyGroups'; import { CMyFieldDb } from '../CMyFieldDb'; import { CMyRecCard } from '../CMyRecCard'; +import { CMyRecEventi } from '../CMyRecEventi'; import { CMyRecCatalog } from '../CMyRecCatalog'; import { CMyRecRaccoltaCataloghi } from '../CMyRecRaccoltaCataloghi'; import { CMapByTable } from '../CMapByTable'; @@ -176,6 +177,11 @@ export default defineComponent({ required: false, default: '', }, + compatto: { + type: Boolean, + required: false, + default: false, + }, actionType: { type: Number, required: false, @@ -381,6 +387,7 @@ export default defineComponent({ CMyGroups, CMyUser, CMyRecCard, + CMyRecEventi, CMyRecCatalog, CMyCardPopup, CMyRecGrpCard, @@ -1341,14 +1348,20 @@ export default defineComponent({ obj2.idSkill = idSkill; filtersearch2.push(obj2); } - } else if (item.table === toolsext.TABGOODS && item.value === costanti.FILTER_TUTTI) { + } else if ( + item.table === toolsext.TABGOODS && + item.value === costanti.FILTER_TUTTI + ) { const obj2: any = {}; if (idSectorGood > 0) { // idSectorGood obj2['sectorGood._id'] = idSectorGood; filtersearch2.push(obj2); } - } else if (item.table === toolsext.TABBACHECAS && item.value === costanti.FILTER_TUTTI) { + } else if ( + item.table === toolsext.TABBACHECAS && + item.value === costanti.FILTER_TUTTI + ) { const obj2: any = {}; if (idSectorBacheca > 0) { // idSectorBacheca diff --git a/src/components/CGridTableRec/CGridTableRec.vue b/src/components/CGridTableRec/CGridTableRec.vue index 301635c8..fc618daf 100755 --- a/src/components/CGridTableRec/CGridTableRec.vue +++ b/src/components/CGridTableRec/CGridTableRec.vue @@ -89,6 +89,8 @@ > + +
+
+
+ + +
+
+ @@ -523,10 +548,7 @@
@@ -699,9 +722,7 @@ -