67 Commits

Author SHA1 Message Date
Surya Paolo
7c1946debe aa 2025-12-17 10:26:12 +01:00
Surya Paolo
7aeced4232 ok 2025-12-17 10:20:07 +01:00
Surya Paolo
6d78f82099 - aggiornamento di tante cose...
- generazione Volantini
- pagina RIS
2025-12-17 10:07:42 +01:00
Surya Paolo
89a8d10eae - verifica email se non è stata verificata (componente)
- altri aggiornamenti grafica PAGERIS.
- OLLAMA AI
2025-12-11 18:34:39 +01:00
Surya Paolo
6fdb101092 categorie 2025-12-07 15:17:37 +01:00
Surya Paolo
f238630dd7 ok 2025-12-07 10:47:58 +01:00
Surya Paolo
a22eca0f58 - aggiornati anche i ContribTypes che appaiono sulla card degli annunci 2025-12-07 10:26:30 +01:00
Surya Paolo
a4ca394e49 - Aggiornate tutte le categorie ottimizzandole.
- Migrazione delle vecchie categ. con quelle nuove.
- Create le Categorie e sottocategorie degli Eventi (a parte).
- Aggiornato la card dell'Ospitalità
2025-12-07 02:13:18 +01:00
Surya Paolo
5d35930dc8 - pagine RISO 2025-12-05 17:56:05 +01:00
Surya Paolo
a51bc5a8a2 - aggiornamenti guida RIS, FAQ
- Editor HTML aggiunto CSS e Script
- Statistiche
- CRISBalanceBar
- Inizio Sync... (ma disattivato)
2025-12-02 22:16:24 +01:00
Surya Paolo
8b6a636a96 - Nuova Home Page RISO Moderna! Passo 1 - la struttura 2025-11-29 21:14:26 +01:00
Surya Paolo
2abdda3b44 - aggiornato Card service, e CGridTableRec. 2025-11-28 21:28:31 +01:00
Surya Paolo
3018542868 - email Abilitazione Circuito RISO 2025-11-28 18:53:37 +01:00
Surya Paolo
cfb830a0ad - fix zona provinciale
- email abilitazione circuito: invio email ad admin
- admin che abilita la fiducia cliccando sul bottone
2025-11-27 23:51:43 +01:00
Surya Paolo
1bd41058a6 - se password errata deve comparire msg giusto 2025-11-27 03:36:06 +01:00
Surya Paolo
281be361ba - comune residenza anche sulla email
- comune non obbligatorio... Skippa
2025-11-27 03:14:56 +01:00
Surya Paolo
2dca358cd3 - corretto altre cose sulla registrazione 2025-11-27 01:11:59 +01:00
Surya Paolo
05bf8ad495 - aggiunto il Comune di Residenza alla REgistrazione e al Tutorial 2025-11-27 00:48:53 +01:00
Surya Paolo
145327a6ca - Corretto campo "Comune di Residenza".
- Aggiornato Completamento Profilo: Comune di Residenza.
- Registrazione
2025-11-26 18:32:05 +01:00
Surya Paolo
b37204f543 - primo aggiornamento myreccard
- aggiunta sito germogliamo.app
- aggiornato login con il parametro "browser_random" che serve per fare un login anche su 2 pagine contemporaneamente.
2025-11-25 17:45:17 +01:00
Surya Paolo
e9fa53a637 - aggiornati form registrazione
- Login
- Password dimenticata
- Aggiorna password.
- Email registrazione
- Ammetti Utente
2025-11-24 17:42:26 +01:00
Surya Paolo
9faaa1a4c3 - aggiornato la guida per installare la App
- aggiornato la Guida Completa e Breve di RISO.
- pagina per ricevere i RIS.
- sistemato problema creazione nuovi Circuiti (admin non corretti).
- corretto giro delle email, invitante, invitato e ricezione msg su telegram.
2025-11-23 01:13:27 +01:00
Surya Paolo
8ab7594f16 - sistemazioni Email : registrazione, invio invito, email di benvenuto
- fix circuito
- profilo
2025-11-21 20:47:35 +01:00
Surya Paolo
3c5287a13c - risolto problema sull'attivazione del Circuito ITA. non arrivava il messaggio
- sistemazioni sul profilo
2025-11-19 19:44:21 +01:00
Surya Paolo
57436f088b - asggiunto bottone "installa app" sulla email di conferma registrazione e anche la Guida "/guida".
- migliorato InvitaAmico
2025-11-19 11:39:36 +01:00
Surya Paolo
05a3617103 - invita amico 2025-11-19 10:09:45 +01:00
Surya Paolo
05dc22dac6 - Installa App e pagina Home Riso. 2025-11-19 01:02:47 +01:00
Surya Paolo
4985e7565d - Sistemato INVITI alla App
- Completamento Profilo
- Registrazione tramite Invito, senza richiedere conferma email.
2025-11-18 23:56:08 +01:00
Surya Paolo
fc569192e7 fix: se aggiungi XLS non si aggiornava la lista correttamente, non ricaricava... 2025-11-18 13:08:47 +01:00
Surya Paolo
4eb8838dbc corretto bug GruppoMacro la lista veniva salvata ma anche aggiornata in memoria con solo gli ID... in questo caso TABLES_NON_AGGIORNARE_IN_MEMORIA_PERCHE_DIVERSA_STRUTTURA gli dice che alcune tabelle non devono essere aggiornate in memoria. 2025-11-18 11:19:32 +01:00
Surya Paolo
b8df3ea721 - aggiornata la grafica della Home di RISO
- Profilo Completition
- Email Verificata
- Invita un Amico (invio di email)
2025-11-15 19:38:39 +01:00
Surya Paolo
d812c6c799 - versione: 1.2.77
- aggiustamenti e miglioramenti estetici
2025-11-03 14:24:10 +01:00
Surya Paolo
a164db8bf3 - migliorata grafica statistiche valori
- corretto pagina profilo
2025-11-03 01:47:21 +01:00
Surya Paolo
7e156ca820 - risolto problema spazi vuoti in cima alla app
- risolto problema sulle card di telegram, immagini non alte uguali e non si vedono bene...
2025-11-02 21:16:41 +01:00
Surya Paolo
d179581b23 - check updates
- risolto problema della generazione dei PDF, avevo modificato in CMyPageElem , se si cambia qualcosa occorre stare attenti a mettere !hideHeader
2025-11-01 12:00:49 +01:00
Surya Paolo
df98ec9471 - 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).
2025-10-26 02:47:59 +02:00
Surya Paolo
eb0fb72c70 - Sistemato problema del Circuito ITALIA, quando veniva fatta la richiesta di entrare, ancora non si era entrati nel circuito territoriale.
- Ora pertanto viene inviata la richiesta agli admin solo dopo che l'utente viene abilitato al Circuito provinciale.
2025-10-11 18:36:04 +02:00
Surya Paolo
2f39d4f1d9 - corretto componente CDateTime
- aggiunto componente CDateTimeStartEnd
2025-10-05 23:58:57 +02:00
Surya Paolo
58db59a751 modif 2025-10-05 11:16:01 +02:00
Surya Paolo
e827744f51 - aggiornato tabella modifica prodotti.
- codice sconto etichetta.
2025-10-03 18:02:26 +02:00
Surya Paolo
b07d4c822f - Gestore Ordini GAS (aggiornato)
- Possibilità di modificare un record, click sulla matita rossa.
- corretto altre sistemazioni sui valori di minimo e massimo quantità.
2025-10-03 16:28:46 +02:00
Surya Paolo
fc1e9d4666 Versione 1.2.71:
- sistemato il carrello su GruppoMacro e su PiuCheBuono.
- Corretto visualizzazione della scontistica.
- Se un prodotto viene cancellato ora lo cancella anche sul carrello.
2025-10-02 16:17:52 +02:00
Surya Paolo
05c97ab231 - corretto visualizzazione dei prodotti,
- inserimento nuovi prodotti nella tabella.
2025-09-27 20:43:46 +02:00
Surya Paolo
d6c0bcf879 - corretto gruppomacro catalogo, info prodotti, estrazione dati da amazon corretto. 2025-09-27 17:24:40 +02:00
Surya Paolo
c8589e794f - aggiunto componenti per Home Template... ma ancora da provare
- sistemato catprods
- Sistemato menu
2025-09-22 19:09:14 +02:00
Surya Paolo
917cdaa754 - aggiunto FeaturesSection all'editor HTML 2025-09-17 01:21:40 +02:00
Surya Paolo
e40bf8b73d -drag menu continua 2025-09-16 22:18:21 +02:00
Surya Paolo
95fa0b9ac0 - gestione dell'editor delle pagine (non funzionante!) 2025-09-16 17:30:28 +02:00
Surya Paolo
cb3baf3dbb - migliorata la grafica dell'aggiungi elemento. 2025-09-08 20:42:36 +02:00
Surya Paolo
ac84755dbb - sistemato editor di pagine (elementi) 2025-09-08 19:23:41 +02:00
Surya Paolo
cb0c26a43c - Editor Pagine Elementi: Sezione, Righe, Colonne, Elementi. (rows, columns, elems) 2025-09-08 01:02:32 +02:00
Surya Paolo
63d0f865fd - inizio di modifiche all'editor di Pagine Web 2025-09-05 01:05:36 +02:00
Surya Paolo
574f389200 - creato editor di Pagine (iniziato)
- fix: mancano i "t," su alcuni componenti...
2025-09-02 16:22:13 +02:00
Surya Paolo
4f4297ca21 - Modifiche a ProductInfo... Continua 2025-08-29 23:34:37 +02:00
Surya Paolo
5d8e38fea6 galleria prodotto 2025-08-12 19:43:36 +02:00
Surya Paolo
f1f3f5ad07 - Iniziato a scrivere la CHATBOT... 2025-08-09 00:48:44 +02:00
Surya Paolo
6013a624f6 - controllo della @ sull'username telegram (sugli Eventi)
- controllo email di test, se funzionante o no
2025-07-29 12:54:40 +02:00
Surya Paolo
85db3b4a61 - Ricerca delle Organizzazioni, per inviare i RIS. 2025-07-21 22:49:49 +02:00
Surya Paolo
31161b6a32 - entra in Circuito Italia subito, senza aspettare conferma... 2025-07-21 19:44:24 +02:00
Surya Paolo
6779b0ea25 - Poter impostare per ogni Provincia un Circuito RIS specifico, anziché quello provinciale:
Esempio: Napoli: (Circuito RIS Campania) e Sud Sardegna: Cagliari.
2025-07-21 19:08:37 +02:00
Surya Paolo
f12341f780 - Aggiunta possibilità di disattivare i link alle immagini dei libri. (opzione sul catalogo: disattiva_link_immagini) 2025-07-18 10:43:08 +02:00
Surya Paolo
43938023ee - Aggiunta della copertina iniziale nelle raccolte (Catalogo Generale).
- Corretto altezza delle immagini che erano stretchate.
- Fix: poter spostare l'ordinamento dei libri corretto.
2025-07-15 17:46:30 +02:00
Surya Paolo
969e7b726e - corretto import XLS... 2025-07-11 15:03:06 +02:00
Surya Paolo
d37797fdad - Import di un file XLS contenente una lista di libri, all'interno di un catalogo. 2025-07-11 12:55:24 +02:00
Surya Paolo
2ce8a72286 . esportazione lista catalogo direttamente in EXCEL, e scelta dei campi. 2025-07-10 00:43:28 +02:00
Surya Paolo
be0d7efca2 -statistiche OK 2025-07-08 18:01:17 +02:00
Surya Paolo
68dac1b2f4 aa 2025-07-08 17:42:46 +02:00
1103 changed files with 105595 additions and 3614648 deletions

4
.env
View File

@@ -1,6 +1,6 @@
VITE_APP_VERSION="1.2.62"
VITE_APP_VERSION="1.2.86"
VITE_LANG_DEFAULT="it"
VITE_PAO_APP_ID="KKPPAA5KJK435J3KSS9F9D8S9F8SD98F9SDF"
VITE_SERVICE_WORKER_FILE="sw-1.2.62.js"
VITE_SERVICE_WORKER_FILE="sw-1.2.86.js"
VITE_PROJECT_ID_MAIN="5cc0a13fe5c9d156728f400a"
VITE_VUE_ROUTER_MODE="history"

View File

@@ -1,12 +1,14 @@
VITE_APP_ID="18"
VITE_APP_ID="13"
VITE_APP_URL="https://localhost"
VITE_MONGODB_HOST="https://localhost:3000"
VITE_LOGO_REG='gruppomacro-logo-full.png'
DEBUG_VITE_APP_URL="https://192.168.8.182"
DEBUG_VITE_MONGODB_HOST="https://192.168.8.182:3000"
VITE_LOGO_REG='riso-logo-full.png'
VITE_PUBLICKEY_PUSH='BDncvMiUZmjaCG2Kr1V9N0_33hOG-AuNSbHSvL24y2dzBiUjAxKm02emx5SeJvz2IGmtRf6YqCgopeQwCwUmZw8'
VITE_DEBUG="1"
VITE_VUE_APP_ISTEST=0
VITE_VUE_APP_INLOCALE=1
DIRECTORY_LOCAL="newfreeplanet"
DIRECTORY_LOCAL="myprojplanet_vite"
DIRECTORY_SERVER="freeplanet_serverside"
SERVERDIR_WEBSITE=""
SERVERPW_WEBSITE=""

View File

@@ -1,13 +1,11 @@
VITE_APP_ID="18"
VITE_APP_URL="https://gruppomacro.app"
VITE_MONGODB_HOST="https://api.gruppomacro.app"
VITE_LOGO_REG='gruppomacro-logo-full.png'
VITE_PUBLICKEY_PUSH="BJgo8XR_upbnbMLWgCAUELo6DK7dRXffYAnFOxbaMMz5favBgcQBKT-eISqouO-jRad4Sw8l5nd2wCF6KorGiTc"
VITE_APP_ID="13"
VITE_APP_URL="https://riso.app"
VITE_MONGODB_HOST="https://api.riso.app"
VITE_LOGO_REG='riso-logo-full.png'
VITE_PUBLICKEY_PUSH="BGXRf1TgcqocqD6J7qnRgCG7AvM2lxAoW7peb7UEzB4SxBb6DxGRdJ0UvD9ewnrB9KrSrh0-aDCODXBm7sZ1DDs"
VITE_DEBUG="0"
VITE_VUE_APP_ISTEST="0"
DIRECTORY_LOCAL="myprojplanet_vite"
DIRECTORY_SERVER="/var/www/nodejs_piuchebuono_server"
SERVERDIR_WEBSITE="/var/www/gruppomacro.app"
SERVERPW_WEBSITE="pwdadmin@1AOK"
PORT_SPA="8089"
PORT_PWA="8099"
DIRECTORY_LOCAL=myprojplanet_vite
DIRECTORY_SERVER=/var/www/nodejs_riso_server
SERVERDIR_WEBSITE="/var/www/riso.app"
SERVERPW_WEBSITE="pwdadmin@1AOK"

3
.gitignore vendored
View File

@@ -30,7 +30,8 @@ yarn-error.log
/.scripts
key.pem
public/upload/
upload/
/upload/
scripts/_ALL_SITES/gruppomacro.app/public/upload/
._yarn.lock
.gitignore
._upload

21
.vscode/launch.json vendored
View File

@@ -4,13 +4,6 @@
// Per altre informazioni, visitare: https://go.microsoft.com/fwlink/?linkid=830387
"version": "0.2.0",
"configurations": [
{
"command": "npm run dev_noCheck",
"name": "DEV (no-check-TS)",
"request": "launch",
"type": "node-terminal",
"sourceMaps": false,
},
{
"command": "npm run dev",
"name": "DEV",
@@ -24,13 +17,6 @@
"type": "node-terminal",
"sourceMaps": false,
},
{
"command": "npm run lint",
"name": "Lint (Check ERRORI)",
"request": "launch",
"type": "node-terminal",
"sourceMaps": false
},
{
"command": "npm run pwa",
"name": "PWA",
@@ -40,6 +26,13 @@
"NODE_ENV": "development"
}
},
{
"command": "npm run lint",
"name": "Lint (Check ERRORI)",
"request": "launch",
"type": "node-terminal",
"sourceMaps": false
},
{
"type": "chrome",
"request": "launch",

BIN
1_module copia.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 536 KiB

File diff suppressed because it is too large Load Diff

File diff suppressed because one or more lines are too long

1026
_LIMBO/aaa.scss Normal file

File diff suppressed because it is too large Load Diff

2969
_LIMBO/faq_ris.html Normal file

File diff suppressed because it is too large Load Diff

482
_LIMBO/prova.json Normal file
View File

@@ -0,0 +1,482 @@
{
"_id": "67c081c848070128c51a85f9",
"idCity": [
6846
],
"visibility": [
0
],
"photos": [],
"date_created": "2025-02-27T15:16:24.794Z",
"admins": [
{
"username": "EmanuelaBattiston",
"_id": "68e677e16e7cd5feeb0bb540",
"profile": {
"img": "file_1558.jpg"
}
},
{
"username": "Surya1977",
"_id": "68e677e16e7cd5feeb0bb541"
}
],
"date_updated": "2025-10-08T14:40:33.593Z",
"idCatGrp": [
34,
37,
18,
4,
8,
41
],
"note": "",
"groupname": "GruppoYurta",
"website": "",
"link_telegram": "",
"title": "Gruppo Yurta Bagnarola Pn",
"descr": "Gruppo Yurta ",
"mycircuits": [
{
"_id": "64ede1fb25cbe40cd4a5f156",
"idCity": [
5429
],
"visibility": [],
"compara_valuta": 1,
"compara_euro": 1,
"valuta_per_euro": 1,
"deleted": false,
"numMembers": 48,
"status": 3,
"idapp": "13",
"name": "Circuito RIS Pordenone",
"path": "rispordenone",
"strProv": "PN",
"photos": [],
"color": "#ff5500",
"deperimento": false,
"transactionsEnabled": true,
"symbol": "RIS",
"fido_scoperto_default": 100,
"qta_max_default": 200,
"fido_scoperto_default_grp": 200,
"qta_max_default_grp": 400,
"totTransato": 1239.67,
"totCircolante": 298.8,
"date_created": "2023-08-29T12:18:03.441Z",
"admins": [
{
"_id": "652daab56db4df3e408322f7",
"username": "vivy_BORGO_cohousing",
"date": "2023-10-16T21:27:17.466Z"
},
{
"_id": "6771a4d6e9c03f06f5a6c8d1",
"username": "Rita_Lila",
"date": "2024-12-29T19:36:54.054Z"
}
],
"req_users": [
{
"username": "elpapais",
"date": "2024-07-26T13:48:57.280Z"
},
{
"username": "Funnyface",
"date": "2025-07-09T03:54:40.132Z"
}
],
"refused_users": [],
"req_groups": [
{
"groupname": "GruppoYurta",
"date": "2025-03-02T17:40:09.375Z"
}
],
"refused_groups": [],
"__v": 0,
"date_updated": "2024-12-12T17:10:07.913Z",
"createdBy": "surya1977",
"link_group": "https://t.me/+xXhBrUdnAL5mMjQ0",
"regulation": "",
"account": {
"_id": "67c497f9da76b7d9485f947d",
"importo_iniziale": 0,
"saldo": -4,
"totTransato": 4,
"saldo_pend": -4,
"totTransato_pend": 4,
"deleted": false,
"idapp": "13",
"username": "",
"groupname": "GruppoYurta",
"contocom": "",
"circuitId": "64ede1fb25cbe40cd4a5f156",
"deperibile": false,
"fidoConcesso": 200,
"qta_maxConcessa": 400,
"numtransactions": 1,
"date_created": "2025-03-02T17:40:09.370Z",
"__v": 0,
"date_updated": "2025-04-16T21:37:20.921Z"
}
},
{
"_id": "6530e646e6173ad77d585a59",
"idCity": [
4647
],
"visibility": [],
"compara_valuta": 1,
"compara_euro": 1,
"valuta_per_euro": 1,
"deleted": false,
"numMembers": 642,
"status": 3,
"name": "Circuito RIS Italia",
"subname": "",
"photos": [
{
"imagefile": "italia.jpg",
"_id": "65f4a4fced899d0f453a446e"
}
],
"admins": [
{
"username": "surya1977",
"_id": "6530e6466db4df3e4084e559"
},
{
"username": "ElenaEspx",
"date": "2023-12-02T13:58:54.136Z",
"_id": "656b381e896ebebd4352fee5"
},
{
"username": "LorenzoVT",
"date": "2023-12-02T16:23:01.100Z",
"_id": "656b59e5896ebebd43537648"
},
{
"username": "sergiomazzanti",
"date": "2023-12-03T19:26:14.691Z",
"_id": "656cd656e5afbcdb03401577"
},
{
"username": "GaetanoSant",
"date": "2024-04-01T15:08:31.262Z",
"_id": "660acdef3d8585261113e378"
}
],
"color": "#ff5500",
"deperimento": false,
"transactionsEnabled": true,
"symbol": "RIS",
"fido_scoperto_default": 200,
"qta_max_default": 400,
"fido_scoperto_default_grp": 400,
"qta_max_default_grp": 800,
"totTransato": 3235.98,
"totCircolante": 1788.66,
"idapp": "13",
"path": "ris_italia",
"longdescr": "Questo è il Circuito RIS Italia Nazionale",
"strProv": "ITA",
"createdBy": "surya1977",
"date_updated": "2025-11-19T16:49:21.786Z",
"req_users": [
{
"username": "MaxCerba",
"date": "2024-01-12T19:30:09.852Z"
},
{
"username": "moretta369",
"date": "2024-02-09T11:18:39.053Z"
},
{
"username": "Pennyboh",
"date": "2024-05-05T13:26:41.414Z"
},
{
"username": "matslats",
"date": "2024-05-11T07:35:03.008Z"
},
{
"username": "Versolaluce",
"date": "2024-05-13T14:59:17.053Z"
},
{
"username": "Nonnapapera",
"date": "2024-05-25T16:02:41.456Z"
},
{
"username": "bluvero",
"date": "2024-06-01T19:33:42.158Z"
},
{
"username": "HERMESRISO",
"date": "2024-06-01T19:48:33.955Z"
},
{
"username": "FrancescaM68",
"date": "2024-06-08T15:59:07.476Z"
},
{
"username": "lucamop",
"date": "2024-06-09T19:06:30.339Z"
},
{
"username": "Cinestesico",
"date": "2024-06-14T13:51:24.025Z"
},
{
"username": "BeataLei",
"date": "2024-06-25T08:10:37.853Z"
},
{
"username": "Fabiozero",
"date": "2024-06-30T18:46:27.545Z"
},
{
"username": "Giory73",
"date": "2024-07-03T06:37:53.633Z"
},
{
"username": "nadia_blu",
"date": "2024-07-20T10:49:53.924Z"
},
{
"username": "evi4evi",
"date": "2024-07-26T14:23:55.533Z"
},
{
"username": "edellatorre",
"date": "2024-07-27T18:26:24.688Z"
},
{
"username": "Carlo",
"date": "2024-07-27T19:45:29.135Z"
},
{
"username": "Moscadri",
"date": "2024-08-01T16:00:26.567Z"
},
{
"username": "LaMis69",
"date": "2024-08-03T18:59:12.520Z"
},
{
"username": "Lamary",
"date": "2024-08-05T04:42:44.688Z"
},
{
"username": "Germana69",
"date": "2024-08-20T20:05:04.213Z"
},
{
"username": "A_tempesta",
"date": "2024-09-22T11:56:09.201Z"
},
{
"username": "mammalella960",
"date": "2024-10-05T10:37:22.645Z"
},
{
"username": "stefanci87",
"date": "2024-10-12T12:18:00.174Z"
},
{
"username": "clarajam",
"date": "2024-10-17T09:25:01.462Z"
},
{
"username": "iceborg500",
"date": "2024-11-20T12:14:51.302Z"
},
{
"username": "francomario",
"date": "2024-12-09T21:57:33.730Z"
},
{
"username": "cristy",
"date": "2024-12-17T11:40:35.792Z"
},
{
"username": "Carla57",
"date": "2025-01-22T17:50:35.640Z"
},
{
"username": "Dasete68",
"date": "2025-02-01T20:31:10.078Z"
},
{
"username": "Mariarosa2025",
"date": "2025-02-02T17:41:51.850Z"
},
{
"username": "Lisa_Logozzo_albergo_del_pastore",
"date": "2025-02-23T18:37:27.362Z"
},
{
"username": "ClaudioPoliPaneArtigianale",
"date": "2025-03-11T11:15:59.012Z"
},
{
"username": "Dantib93",
"date": "2025-03-13T19:49:58.109Z"
},
{
"username": "sbubovic",
"date": "2025-03-16T21:52:00.958Z"
},
{
"username": "sdhc5Giancarlo",
"date": "2025-03-18T20:38:16.668Z"
},
{
"username": "Nicmestre",
"date": "2025-05-08T15:50:19.266Z"
},
{
"username": "ginoarrigo",
"date": "2025-07-30T14:03:30.143Z"
},
{
"username": "FaniaFida",
"date": "2025-08-12T06:38:18.063Z"
},
{
"username": "SismaLux",
"date": "2025-08-16T14:49:00.704Z"
},
{
"username": "valeindaco27",
"date": "2025-09-10T10:19:55.354Z"
},
{
"username": "WellnessProfessionalTreatments1",
"date": "2025-09-17T19:24:29.998Z"
},
{
"username": "manuelaFio",
"date": "2025-10-01T09:20:05.388Z"
},
{
"username": "Merylilith",
"date": "2025-10-02T09:48:26.045Z"
},
{
"username": "Fabiobrent",
"date": "2025-10-05T12:21:03.635Z"
},
{
"username": "attenomis67",
"date": "2025-10-08T22:31:40.981Z"
},
{
"username": "fioretav",
"date": "2025-10-18T03:13:23.773Z"
},
{
"username": "Toninonature",
"date": "2025-10-19T21:18:37.796Z"
},
{
"username": "surya4",
"date": "2025-11-11T16:37:40.467Z"
},
{
"username": "surya8",
"date": "2025-11-18T22:20:20.964Z"
}
],
"refused_users": [],
"req_groups": [
{
"groupname": "PiuCheBuono(GaseBottega)",
"date": "2024-01-03T10:32:03.312Z"
},
{
"groupname": "GruppoYurta",
"date": "2025-03-02T17:41:12.653Z"
},
{
"groupname": "LaValledelMirto",
"date": "2025-05-17T06:42:18.212Z"
}
],
"refused_groups": [],
"date_created": "2023-10-19T08:18:14.701Z",
"__v": 0,
"regulation": "",
"showAlways": true,
"isCircItalia": true,
"circuitiExtraProv": true,
"account": {
"_id": "67c49838da76b7d9485f947f",
"importo_iniziale": 0,
"saldo": 17,
"totTransato": 17,
"saldo_pend": 17,
"totTransato_pend": 17,
"deleted": false,
"idapp": "13",
"username": "",
"groupname": "GruppoYurta",
"contocom": "",
"circuitId": "6530e646e6173ad77d585a59",
"deperibile": false,
"fidoConcesso": 400,
"qta_maxConcessa": 800,
"numtransactions": 4,
"date_created": "2025-03-02T17:41:12.650Z",
"__v": 0,
"date_updated": "2025-04-16T20:33:06.262Z"
}
}
],
"recCatGrp": [
{
"_id": 4,
"descr": "Prodotti Artigianali e Artistici",
"__v": 0,
"color": "#9C27B0",
"icon": "fa fa-paint-brush"
},
{
"_id": 8,
"descr": "Servizi Formativi ed Educativi",
"__v": 0,
"color": "#FFC107",
"icon": "fa fa-book"
},
{
"_id": 18,
"descr": "Salute e Benessere",
"__v": 0,
"color": "#E91E63",
"icon": "fa fa-heart"
},
{
"_id": 34,
"descr": "Attività Ricreative e di Intrattenim.",
"__v": 0,
"color": "#FF5722",
"icon": "fa fa-music"
},
{
"_id": 37,
"descr": "Cura della persona",
"__v": 0,
"color": "#FFEB3B",
"icon": "fa fa-user"
},
{
"_id": 41,
"descr": "Servizi e prodotti per la casa",
"__v": 0,
"color": "#FF9800",
"icon": "fa fa-home"
}
]
}

2293
_LIMBO/risospiegazione.html Normal file

File diff suppressed because it is too large Load Diff

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.1 KiB

After

Width:  |  Height:  |  Size: 1.1 KiB

BIN
files.zip Normal file

Binary file not shown.

View File

@@ -10,7 +10,7 @@
<meta name="description" content="<%= productDescription %>">
<meta name="format-detection" content="telephone=no">
<meta name="msapplication-tap-highlight" content="no">
<meta name="version" content="1.2.62">
<meta name="version" content="1.2.86">
<meta name="viewport"
content="user-scalable=no, initial-scale=1, maximum-scale=1, minimum-scale=1, width=device-width<% if (ctx.mode.cordova || ctx.mode.capacitor) { %>, viewport-fit=cover<% } %>">

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.3 KiB

BIN
install_app_on_safari.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.3 KiB

BIN
logo.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 424 KiB

28
migrate-repos.sh Executable file
View File

@@ -0,0 +1,28 @@
#!/bin/bash
# Salva come migrate-repos.sh
GITEA_URL="http://95.216.147.38:3000"
USERNAME="surya"
TOKEN="8ed0622aac269414f4d333d0c89e22b1c42dd4d1" # Crea su Gitea: Settings → Applications → Generate Token
SEARCH_PATH="$HOME/myproject"
# Trova tutti i repository
find "$SEARCH_PATH" -name ".git" -type d 2>/dev/null | while read gitdir; do
REPO_PATH=$(dirname "$gitdir")
REPO_NAME=$(basename "$REPO_PATH")
echo "Processing: $REPO_NAME"
# Crea repository su Gitea via API
curl -X POST "$GITEA_URL/api/v1/user/repos" \
-H "Authorization: token $TOKEN" \
-H "Content-Type: application/json" \
-d "{\"name\":\"$REPO_NAME\",\"private\":false}"
# Push
cd "$REPO_PATH"
git remote remove origin 2>/dev/null
git remote add origin "$GITEA_URL/$USERNAME/$REPO_NAME.git"
git push -u origin --all
git push -u origin --tags
done

View File

@@ -1,58 +1,57 @@
{
"name": "gruppomacro",
"version": "1.2.62",
"description": "Gruppo Macro",
"productName": "Gruppo Macro",
"name": "riso",
"version": "1.2.86",
"productName": "Riso 💚 - Rete Italiana Scambio orizzontale",
"description": "Progetto RISO (Rete Italiana Scambio orizzontale) promuove una rete di comunità locali che favoriscono scambi di beni, servizi e ospitalità. Con l'App RISO, sviluppata per facilitare il baratto, il dono e l'uso di monete alternative come i RIS, il progetto crea legami autentici basati sulla fiducia e sostenibilità. Partecipa agli scambi e costruisci una comunità più consapevole e autosufficiente.",
"author": "Surya",
"private": true,
"keywords": [],
"license": "MIT",
"type": "module",
"scripts": {
"dev": "PORT=8089 APP_VERSION='1.2.62' quasar dev",
"dev": "APP_VERSION='1.2.86' PORT=8084 quasar dev",
"dev_noCheck": "SKIP_TSC=true quasar dev",
"build": "quasar build",
"buildpwa": "NODE_ENV=production APP_VERSION='1.2.62' quasar build -m pwa",
"buildpwatest": "NODE_ENV=production APP_VERSION='1.2.62' quasar build -m pwa",
"buildpwa": "NODE_ENV=production APP_VERSION='1.2.86' quasar build -m pwa",
"buildpwatest": "NODE_ENV=production APP_VERSION='1.2.86' quasar build -m pwa",
"type-check": "vue-tsc --noEmit",
"type-check:watch": "vue-tsc --noEmit --watch",
"buildspa": "APP_VERSION='1.2.62' quasar build -m spa",
"buildspa": "quasar build -m spa",
"lint": "eslint -c ./eslint.config.js \"./src*/**/*.{ts,js,cjs,mjs,vue}\"",
"lintfile": "eslint --ext .js,.ts,.vue --ignore-path .gitignore ./ > file.out.txt",
"lintfileNoJS": "eslint --ext .ts,.vue --ignore-path .gitignore ./ > file.out.txt",
"fix": "eslint -c ./eslint.config.js \"./src*/**/*.{ts,js,cjs,mjs,vue}\" --ignore-pattern .gitignore ./ --fix > file.out.txt",
"pwa": "NODE_ENV=development PORT=8099 APP_VERSION='1.2.62' quasar dev -m pwa",
"spa": "NODE_ENV=development PORT=8089 APP_VERSION='1.2.62' quasar dev",
"pwa": "NODE_ENV=development PORT=8094 APP_VERSION='1.2.86' quasar dev -m pwa",
"spa": "NODE_ENV=development PORT=8084 APP_VERSION='1.2.86' quasar dev",
"debug": "quasar dev --mode debug",
"test": "echo \"No test specified\" && exit 0",
"generate-sw": "workbox generateSW workbox-config.js",
"postinstall": "quasar prepare"
},
"dependencies": {
"@cubejs-client/core": "^1.3.21",
"@cubejs-client/core": "^1.5.11",
"@quasar/extras": "^1.17.0",
"@quasar/quasar-ui-qcalendar": "^4.1.2",
"@types/jsbarcode": "^3.11.4",
"@types/leaflet": "^1.9.18",
"@vue/compat": "^3.5.16",
"@vue/compiler-sfc": "^3.5.16",
"@types/leaflet": "^1.9.21",
"@vue/compat": "^3.5.25",
"@vue/compiler-sfc": "^3.5.25",
"@vuelidate/core": "^2.0.3",
"@vuelidate/validators": "^2.0.4",
"acorn": "^8.15.0",
"animate.css": "^4.1.1",
"apexcharts": "^4.7.0",
"autoprefixer": "^10.4.21",
"axios": "^1.9.0",
"bcryptjs": "^3.0.2",
"chart.js": "^4.4.9",
"core-js": "^3.43.0",
"apexcharts": "^5.3.6",
"autoprefixer": "^10.4.22",
"axios": "^1.13.2",
"bcryptjs": "^3.0.3",
"chart.js": "^4.5.1",
"core-js": "^3.47.0",
"crypto-browserify": "^3.12.1",
"date-fns": "^4.1.0",
"echarts": "5.6.0",
"eslint-plugin-n": "^17.19.0",
"echarts": "6.0.0",
"eslint-plugin-n": "^17.23.1",
"eslint-plugin-quasar": "^1.1.0",
"gsap": "^3.13.0",
"html2pdf.js": "^0.10.3",
"jquery": "^3.7.1",
"js-cookie": "^3.0.5",
"jsbarcode": "^3.12.1",
@@ -61,77 +60,80 @@
"leaflet.markercluster": "^1.5.3",
"localforage": "^1.10.0",
"lodash": "^4.17.21",
"mongoose-paginate-v2": "^1.9.1",
"normalize.css": "^8.0.1",
"nprogress": "^0.2.0",
"pinia": "^3.0.3",
"quasar": "^2.18.1",
"pinia": "^3.0.4",
"qrcode-vue3": "^1.7.1",
"quasar": "^2.18.6",
"quasar-extras": "^2.0.9",
"register-service-worker": "^1.7.2",
"scrollreveal": "^4.0.9",
"typescript-eslint": "^8.34.0",
"typescript-eslint": "^8.48.1",
"vee-validate": "^4.15.1",
"vue": "^3.5.16",
"vue": "^3.5.25",
"vue-class-component": "^8.0.0-rc.1",
"vue-country-code": "^1.1.3",
"vue-echarts": "^7.0.3",
"vue-i18n": "^11.1.5",
"vue-echarts": "^8.0.1",
"vue-i18n": "^11.2.2",
"vue-idb": "^0.2.0",
"vue-property-decorator": "^10.0.0-rc.3",
"vue-router": "^4.5.1",
"vue-router": "^4.6.3",
"vue-scroll-reveal": "^2.1.0",
"vue-social-sharing": "^4.0.0-alpha4",
"vue-svgicon": "^4.0.0-alpha.3",
"vue-timeago3": "^2.3.2",
"vue2-dragula": "^2.5.5",
"vue3-apexcharts": "^1.8.0",
"vue3-apexcharts": "^1.10.0",
"vue3-qr-reader": "^1.0.0",
"vuedraggable": "^4.1.0",
"vuex": "^4.1.0",
"vuex-router-sync": "^6.0.0-rc.1",
"workbox-core": "^7.3.0",
"workbox-precaching": "^7.3.0",
"workbox-routing": "^7.3.0",
"workbox-strategies": "^7.3.0",
"workbox-window": "^7.3.0"
"workbox-core": "^7.4.0",
"workbox-precaching": "^7.4.0",
"workbox-routing": "^7.4.0",
"workbox-strategies": "^7.4.0",
"workbox-window": "^7.4.0",
"xlsx": "^0.18.5"
},
"devDependencies": {
"@eslint/js": "^9.28.0",
"@intlify/unplugin-vue-i18n": "^6.0.8",
"@quasar/app-vite": "^2.2.1",
"@eslint/js": "^9.39.1",
"@intlify/unplugin-vue-i18n": "^11.0.1",
"@quasar/app-vite": "^2.4.0",
"@types/google.maps": "^3.58.1",
"@types/jest": "^29.5.14",
"@types/jest": "^30.0.0",
"@types/js-cookie": "^3.0.6",
"@types/node": "^24.0.1",
"@types/node": "^24.10.1",
"@types/nprogress": "^0.2.3",
"@types/vue-tel-input": "^2.1.7",
"@types/vuelidate": "^0.7.22",
"@vue/devtools": "^7.7.6",
"@vue/devtools": "^8.0.5",
"@vue/eslint-config-prettier": "^10.2.0",
"@vue/eslint-config-typescript": "^14.5.0",
"autoprefixer": "^10.4.21",
"@vue/eslint-config-typescript": "^14.6.0",
"autoprefixer": "^10.4.22",
"eslint": "9",
"eslint-plugin-import": "^2.31.0",
"eslint-plugin-vue": "^10.2.0",
"eslint-plugin-import": "^2.32.0",
"eslint-plugin-vue": "^10.6.2",
"file-loader": "^6.2.0",
"globals": "^16.2.0",
"globals": "^16.5.0",
"http-proxy-middleware": "^3.0.5",
"jest": "^30.0.0",
"jest": "^30.2.0",
"json-loader": "^0.5.7",
"nodemon": "^3.1.10",
"npm-check-updates": "^18.0.1",
"parcel": "^2.15.2",
"postcss": "^8.5.5",
"postcss-loader": "^8.1.1",
"nodemon": "^3.1.11",
"npm-check-updates": "^19.1.2",
"parcel": "^2.16.1",
"postcss": "^8.5.6",
"postcss-loader": "^8.2.0",
"prettier": "3",
"strip-ansi": "=7.1.0",
"ts-jest": "^29.4.0",
"typescript": "5.8.3",
"vite-plugin-checker": "^0.9.3",
"strip-ansi": "=7.1.2",
"ts-jest": "^29.4.6",
"typescript": "5.9.3",
"vite-plugin-checker": "^0.11.0",
"vue-cli-plugin-element-ui": "^1.1.4",
"vue-eslint-parser": "^10.1.3",
"vue-tsc": "^2.2.10",
"vue-eslint-parser": "^10.2.0",
"vue-tsc": "^3.1.5",
"vueify": "^9.4.1",
"workbox-build": "^7.3.0"
"workbox-build": "^7.4.0"
},
"engines": {
"node": "^28 || ^26 || ^24 || ^22 || ^20 || ^18",

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.1 KiB

After

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 14 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 323 KiB

File diff suppressed because it is too large Load Diff

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 20 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 30 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 158 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 27 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 81 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 323 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 217 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 279 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 30 KiB

BIN
public/images/layers-2x.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 KiB

BIN
public/images/layers.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 696 B

BIN
public/images/logo.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.0 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 98 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.4 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 19 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 30 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 38 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 61 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 180 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 276 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 13 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 20 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 26 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 28 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 38 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 41 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 55 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 13 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 14 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.0 MiB

BIN
public/images/riso_home.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 279 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 258 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 140 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 124 KiB

View File

@@ -1,2 +0,0 @@
!function(){'use strict';try{self['workbox:sw:6.1.0']&&_()}catch(t){}const t={backgroundSync:'background-sync',broadcastUpdate:'broadcast-update',cacheableResponse:'cacheable-response',core:'core',expiration:'expiration',googleAnalytics:'offline-ga',navigationPreload:'navigation-preload',precaching:'precaching',rangeRequests:'range-requests',routing:'routing',strategies:'strategies',streams:'streams',recipes:'recipes'};self.workbox=new class{constructor(){return this.v={},this.Pt={debug:'localhost'===self.location.hostname,modulePathPrefix:null,modulePathCb:null},this.$t=this.Pt.debug?'dev':'prod',this.jt=!1,new Proxy(this,{get(e,s){if(e[s])return e[s];const o=t[s];return o&&e.loadModule('workbox-'+o),e[s]}})}setConfig(t={}){if(this.jt)throw new Error('Config must be set before accessing workbox.* modules');Object.assign(this.Pt,t),this.$t=this.Pt.debug?'dev':'prod'}loadModule(t){const e=this.St(t);try{importScripts(e),this.jt=!0}catch(s){throw console.error(`Unable to import module '${t}' from '${e}'.`),s}}St(t){if(this.Pt.modulePathCb)return this.Pt.modulePathCb(t,this.Pt.debug);let e=['https://storage.googleapis.com/workbox-cdn/releases/6.1.0'];const s=`${t}.${this.$t}.js`,o=this.Pt.modulePathPrefix;return o&&(e=o.split('/'),''===e[e.length-1]&&e.splice(e.length-1,1)),e.push(s),e.join('/')}}}();
//# sourceMappingURL=workbox-sw.js.map

View File

@@ -1,2 +0,0 @@
!function(){"use strict";try{self["workbox:sw:5.1.4"]&&_()}catch(t){}const t={backgroundSync:"background-sync",broadcastUpdate:"broadcast-update",cacheableResponse:"cacheable-response",core:"core",expiration:"expiration",googleAnalytics:"offline-ga",navigationPreload:"navigation-preload",precaching:"precaching",rangeRequests:"range-requests",routing:"routing",strategies:"strategies",streams:"streams"};self.workbox=new class{constructor(){return this.v={},this.t={debug:"localhost"===self.location.hostname,modulePathPrefix:null,modulePathCb:null},this.s=this.t.debug?"dev":"prod",this.o=!1,new Proxy(this,{get(e,s){if(e[s])return e[s];const o=t[s];return o&&e.loadModule("workbox-"+o),e[s]}})}setConfig(t={}){if(this.o)throw new Error("Config must be set before accessing workbox.* modules");Object.assign(this.t,t),this.s=this.t.debug?"dev":"prod"}loadModule(t){const e=this.i(t);try{importScripts(e),this.o=!0}catch(s){throw console.error(`Unable to import module '${t}' from '${e}'.`),s}}i(t){if(this.t.modulePathCb)return this.t.modulePathCb(t,this.t.debug);let e=["https://storage.googleapis.com/workbox-cdn/releases/5.1.4"];const s=`${t}.${this.s}.js`,o=this.t.modulePathPrefix;return o&&(e=o.split("/"),""===e[e.length-1]&&e.splice(e.length-1,1)),e.push(s),e.join("/")}}}();
//# sourceMappingURL=workbox-sw.js.map

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 15 KiB

BIN
public/noimg.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 14 KiB

View File

@@ -1,2 +1,2 @@
!function(){"use strict";try{self["workbox:sw:5.1.4"]&&_()}catch(t){}const t={backgroundSync:"background-sync",broadcastUpdate:"broadcast-update",cacheableResponse:"cacheable-response",core:"core",expiration:"expiration",googleAnalytics:"offline-ga",navigationPreload:"navigation-preload",precaching:"precaching",rangeRequests:"range-requests",routing:"routing",strategies:"strategies",streams:"streams"};self.workbox=new class{constructor(){return this.v={},this.t={debug:"localhost"===self.location.hostname,modulePathPrefix:null,modulePathCb:null},this.s=this.t.debug?"dev":"prod",this.o=!1,new Proxy(this,{get(e,s){if(e[s])return e[s];const o=t[s];return o&&e.loadModule("workbox-"+o),e[s]}})}setConfig(t={}){if(this.o)throw new Error("Config must be set before accessing workbox.* modules");Object.assign(this.t,t),this.s=this.t.debug?"dev":"prod"}loadModule(t){const e=this.i(t);try{importScripts(e),this.o=!0}catch(s){throw console.error(`Unable to import module '${t}' from '${e}'.`),s}}i(t){if(this.t.modulePathCb)return this.t.modulePathCb(t,this.t.debug);let e=["https://storage.googleapis.com/workbox-cdn/releases/5.1.4"];const s=`${t}.${this.s}.js`,o=this.t.modulePathPrefix;return o&&(e=o.split("/"),""===e[e.length-1]&&e.splice(e.length-1,1)),e.push(s),e.join("/")}}}();
!function(){"use strict";try{self["workbox:sw:7.3.0"]&&_()}catch(t){}const t={backgroundSync:"background-sync",broadcastUpdate:"broadcast-update",cacheableResponse:"cacheable-response",core:"core",expiration:"expiration",googleAnalytics:"offline-ga",navigationPreload:"navigation-preload",precaching:"precaching",rangeRequests:"range-requests",routing:"routing",strategies:"strategies",streams:"streams",recipes:"recipes"};self.workbox=new class{constructor(){return this.v={},this.Pt={debug:"localhost"===self.location.hostname,modulePathPrefix:null,modulePathCb:null},this.$t=this.Pt.debug?"dev":"prod",this.jt=!1,new Proxy(this,{get(e,s){if(e[s])return e[s];const o=t[s];return o&&e.loadModule(`workbox-${o}`),e[s]}})}setConfig(t={}){if(this.jt)throw new Error("Config must be set before accessing workbox.* modules");Object.assign(this.Pt,t),this.$t=this.Pt.debug?"dev":"prod"}loadModule(t){const e=this.St(t);try{importScripts(e),this.jt=!0}catch(s){throw console.error(`Unable to import module '${t}' from '${e}'.`),s}}St(t){if(this.Pt.modulePathCb)return this.Pt.modulePathCb(t,this.Pt.debug);let e=["https://storage.googleapis.com/workbox-cdn/releases/7.3.0"];const s=`${t}.${this.$t}.js`,o=this.Pt.modulePathPrefix;return o&&(e=o.split("/"),""===e[e.length-1]&&e.splice(e.length-1,1)),e.push(s),e.join("/")}}}();
//# sourceMappingURL=workbox-sw.js.map

View File

@@ -1,21 +1,9 @@
import { defineConfig } from '#q-app/wrappers';
import { fileURLToPath } from 'node:url';
import path from 'path';
// console.log(process.env)
export default defineConfig((ctx) => {
return {
// https://v2.quasar.dev/quasar-cli/supporting-ts
// https://v2.quasar.dev/quasar-cli/prefetch-feature
// preFetch: true,
// app boot file (/src/boot)
// --> 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',
@@ -31,47 +19,89 @@ export default defineConfig((ctx) => {
'trackPageViews',
],
// https://v2.quasar.dev/quasar-cli/quasar-conf-js#Property%3A-css
css: [
'app.scss',
// '~quasar-ui-qcalendar/src/css/calendar-day.sass'
],
css: ['app.scss'],
// https://github.com/quasarframework/quasar/tree/dev/extras
extras: [
// 'ionicons-v4',
// 'mdi-v5',
// 'eva-icons',
// 'themify',
// 'line-awesome',
'ionicons-v4',
// 'mdi-v3',
'fontawesome-v5',
'roboto-font', // optional, you are not bound to it
'material-icons', // optional, you are not bound to it
'roboto-font',
'material-icons',
'material-icons-outlined',
],
// Full list of options: https://v2.quasar.dev/quasar-cli/quasar-conf-js#Property%3A-build
build: {
target: {
browser: ['es2022', 'firefox115', 'chrome115', 'safari14'],
browser: ['es2021', 'chrome100', 'firefox100', 'safari14'],
node: 'node20',
},
// ✅ AGGIUNTO: Importa automaticamente variables.scss ovunque
sassVariables: 'src/css/variables.scss',
// env: envparser(),
// versionCode: package.version,
vueRouterMode: 'history',
analyze: false, // true
analyze: false,
transpile: true,
transpileDependencies: [/quasar-ui-qcalendar[\\/]src/],
typescript: {
strict: false,
vueShim: true,
},
// ✅ AGGIUNTO: Config SCSS globale per Vite
extendViteConf(viteConf, { isServer, isClient }) {
// Alias puliti
viteConf.resolve = {
...(viteConf.resolve || {}),
alias: {
...viteConf.resolve.alias,
'#q-app': path.resolve(__dirname, 'node_modules/quasar/app'),
// Alias essenziali (rimuovi duplicati)
'@': path.resolve(__dirname, 'src'),
'@components': path.resolve(__dirname, 'src/components'),
'@views': path.resolve(__dirname, 'src/views'),
'@boot': path.resolve(__dirname, 'src/boot'),
'@store': path.resolve(__dirname, 'src/store'),
'@storemod': path.resolve(__dirname, 'src/store/Modules'),
'@tools': path.resolve(__dirname, 'src/store/Modules/tools.ts'), // ✅ AGGIUNTO
'@costanti': path.resolve(__dirname, 'src/store/Modules/costanti.ts'), // ✅ AGGIUNTO
'@api': path.resolve(__dirname, 'src/store/Api'),
'@utils': path.resolve(__dirname, 'src/utils'),
'@model': path.resolve(__dirname, 'src/model'),
'@classes': path.resolve(__dirname, 'src/classes'),
'@router': path.resolve(__dirname, 'src/router'),
'@css': path.resolve(__dirname, 'src/css'),
'@paths': path.resolve(__dirname, 'src/store/Api/ApiRoutes.ts'),
'@images': path.resolve(__dirname, 'src/assets/images'),
'@icons': path.resolve(__dirname, 'src/public/myicons'),
},
};
// ✅ AGGIUNTO: SCSS preprocessor con variables.scss globale
viteConf.css = {
...(viteConf.css || {}),
preprocessorOptions: {
scss: {
additionalData: `@use "sass:color"; @use "@/css/variables.scss" as *;`,
},
},
};
},
viteConf: {
server: {
hmr: {
protocol: 'wss',
host: 'localhost',
port: 8094,
},
},
},
beforeDev(api) {
// Se la variabile d'ambiente SKIP_TSC è impostata, disabilita il type checking
if (process.env.SKIP_TSC === 'true') {
console.log('⚠️ TypeScript type checking is disabled');
// Disattiva TypeScript checking per Vite
if (api && api.chainWebpack) {
api.chainWebpack((chain) => {
chain.plugin('fork-ts-checker').tap((args) => {
@@ -82,113 +112,19 @@ export default defineConfig((ctx) => {
}
}
},
// @quasar/app-vite v2.0.3+
envFilter(originalEnv) {
const newEnv = {};
for (const key in originalEnv) {
/* ...decide if it goes in or not... */
if (true) {
newEnv[key] = originalEnv[key];
}
}
// remember to return your processed env
return newEnv;
},
typescript: {
strict: false,
vueShim: true,
extendTsConfig(tsConfig) {
// You can use this hook to extend tsConfig dynamically
// For basic use cases, you can still update the usual tsconfig.json file to override some settings
},
/**
* Folder where Quasar CLI should look for .env* files.
* Can be an absolute path or a relative path to project root directory.
*
* @default project root directory
*/
// envFolder?: string
/**
* Additional .env* files to be loaded.
* Each entry can be an absolute path or a relative path to quasar.config > build > envFolder.
*
* @example ['.env.somefile', '../.env.someotherfile']
*/
// envFiles?: string[];
},
extendViteConf(viteConf, { isServer, isClient }) {
viteConf.resolve = {
...(viteConf.resolve || {}),
alias: {
...viteConf.resolve.alias,
'#q-app': path.resolve(__dirname, 'node_modules/quasar/app'), // Alias per #q-app
app: path.resolve(__dirname),
boot: path.resolve(__dirname, 'src/boot'),
src: path.resolve(__dirname, 'src'),
statics: path.resolve(__dirname, 'src/statics'),
components: path.resolve(__dirname, 'src/components'),
views: path.resolve(__dirname, 'src/views/index.ts'),
images: path.resolve(__dirname, 'src/assets/images'),
maps: path.resolve(__dirname, 'public/maps'),
classes: path.resolve(__dirname, 'src/classes/index.ts'),
fonts: path.resolve(__dirname, 'src/assets/fonts'),
utils: path.resolve(__dirname, 'src/utils/index.ts'),
css: path.resolve(__dirname, 'src/css/variables.scss'),
router: path.resolve(__dirname, 'src/router/index.ts'),
validators: path.resolve(__dirname, 'src/utils/validators.ts'),
methods: path.resolve(__dirname, 'src/utils/methods.ts'),
filters: path.resolve(__dirname, 'src/utils/filters.ts'),
api: path.resolve(__dirname, 'src/store/Api/index.ts'),
paths: path.resolve(__dirname, 'src/store/Api/ApiRoutes.ts'),
modules: path.resolve(__dirname, 'src/store/Modules/index.ts'),
model: path.resolve(__dirname, 'src/model/index.ts'),
'@components': path.resolve(__dirname, 'src/components'),
'@boot': path.resolve(__dirname, 'src/boot'),
'@costanti': path.resolve(__dirname, 'src/store/Modules/costanti.ts'),
'@views': path.resolve(__dirname, 'src/views/index.ts'),
'@src': path.resolve(__dirname, 'src'),
'@css': path.resolve(__dirname, 'src/public/css/variables.scss'),
'@icons': path.resolve(__dirname, 'src/public/public/myicons'),
'@images': path.resolve(__dirname, 'src/public/images/*'),
'@maps': path.resolve(__dirname, 'src/public/maps/*'),
'@classes': path.resolve(__dirname, 'src/classes/index.ts'),
'@utils': path.resolve(__dirname, 'src/utils/index.ts'),
'@router': path.resolve(__dirname, 'src/router/index.ts'),
'@validators': path.resolve(__dirname, 'src/utils/validators.ts'),
'@methods': path.resolve(__dirname, 'src/utils/methods.ts'),
'@api': path.resolve(__dirname, 'src/store/Api/index.ts'),
'@paths': path.resolve(__dirname, 'src/store/Api/ApiRoutes.ts'),
'@storemod': path.resolve(__dirname, 'src/store/Modules'),
'@store': path.resolve(__dirname, 'src/store'),
'@tools': path.resolve(__dirname, 'src/store/Modules/tools.ts'),
'@modules': path.resolve(__dirname, 'src/store/Modules/index.ts'),
'@model': path.resolve(__dirname, 'src/model/index.ts'),
},
};
return originalEnv; // Ritorna tutto per semplicità
},
vitePlugins: [
[
'@intlify/unplugin-vue-i18n/vite',
{
// if you want to use Vue I18n Legacy API, you need to set `compositionOnly: false`
// compositionOnly: false,
// if you want to use named tokens in your Vue I18n messages, such as 'Hello {name}',
// you need to set `runtimeOnly: false`
// runtimeOnly: false,
ssr: ctx.modeName === 'ssr',
// you need to set i18n resource including paths !
include: [fileURLToPath(new URL('./src/i18n', import.meta.url))],
},
],
[
'vite-plugin-checker',
{
@@ -202,60 +138,25 @@ export default defineConfig((ctx) => {
{ server: false },
],
],
// polyfillModulePreload: true,
// viteVuePluginOptions: {},
// extractCSS: false,
// transpile: false,
// Add dependencies for transpiling with Babel (Array of string/regex)
// (from node_modules, which are by default not transpiled).
// Applies only if "transpile" is set to true.
// transpileDependencies: [],
// rtl: true, // https://v2.quasar.dev/options/rtl-supg
// preloadChunks: true,
// showProgress: false,
// gzip: true,
// analyze: true,
// Options below are automatically set depending on the env, set them if you want to override
// extractCSS: false,
// https://v2.quasar.dev/quasar-cli/handling-webpack
// "chain" is a webpack-chain object https://github.com/neutrinojs/webpack-chain
},
// Full list of options: https://v2.quasar.dev/quasar-cli/quasar-conf-js#Property%3A-devServer
devServer: {
https: {
key: path.resolve(__dirname, 'localhost-key.pem'),
cert: path.resolve(__dirname, 'localhost.pem'),
},
port: parseInt(process.env.PORT, 10),
vueDevtools: false, // automatically opening remote Vue Devtools
open: false, // opens browser window automatically
hot: true, // Disable hot module replacement
vueDevtools: false,
open: false,
hot: true,
headers: {
'Access-Control-Allow-Origin': '*',
'Access-Control-Allow-Headers': '*',
},
},
// https://v2.quasar.dev/quasar-cli/quasar-conf-js#Property%3A-framework
framework: {
config: {},
// iconSet: 'material-icons', // Quasar icon set
// lang: 'en-US', // Quasar language pack
// For special cases outside of where the auto-import strategy can have an impact
// (like functional components as one of the examples),
// you can manually specify Quasar components/directives to be available everywhere:
//
components: [
'QLayout',
'QDrawer',
@@ -323,9 +224,10 @@ export default defineConfig((ctx) => {
'QTabPanel',
'QTree',
'QSeparator',
'QPageSticky',
],
directives: ['Ripple', 'ClosePopup'],
_plugins: [
plugins: [
'Meta',
'Dialog',
'Notify',
@@ -335,57 +237,27 @@ export default defineConfig((ctx) => {
'LocalStorage',
'SessionStorage',
],
get plugins_1() {
return this._plugins;
},
set plugins_1(value) {
this._plugins = value;
},
get plugins() {
return this._plugins;
},
set plugins(value) {
this._plugins = value;
},
iconSet: 'fontawesome-v5',
lang: 'it', // Quasar language
iconSet: 'material-icons',
lang: 'it',
},
animations: 'all', // --- includes all animations
// https://v2.quasar.dev/options/animations
// animations: [],
animations: 'all',
// https://v2.quasar.dev/quasar-cli/developing-ssr/configuring-ssr
ssr: {
pwa: false,
// manualStoreHydration: true,
// manualPostHydrationTrigger: true,
prodPort: 3000, // The default port that the production server should use
// (gets superseded if import.meta.env.PORT is specified at runtime)
prodPort: 3000,
maxAge: 1000 * 60 * 60 * 24 * 30,
// Tell browser when a file from the server should expire from cache (in ms)
middlewares: [
ctx.prod ? 'compression' : '',
'render', // keep this as last one
],
middlewares: [ctx.prod ? 'compression' : '', 'render'],
},
// https://v2.quasar.dev/quasar-cli/developing-pwa/configuring-pwa
pwa: {
workboxMode: 'InjectManifest', // 'GenerateSW' or 'InjectManifest'
workboxMode: 'InjectManifest',
swFilename: 'sw-' + process.env.APP_VERSION + '.js',
workboxOptions: {
swSrc: 'src-pwa/custom-service-worker.js', // Assicurati che il file esista
include: [/\.html$/, /\.js$/, /\.css$/, /\.png$/, /\.svg$/, /\.json$/], // File da precacheare
swSrc: 'src-pwa/custom-service-worker.js',
include: [/\.html$/, /\.js$/, /\.css$/, /\.png$/, /\.svg$/, /\.json$/],
},
/*extendGenerateSWOptions(cfg) {
cfg.skipWaiting = false
cfg.clientsClaim = false
},*/
suppressWarnings: true,
},
sourceFiles: {
@@ -394,36 +266,12 @@ export default defineConfig((ctx) => {
pwaManifestFile: 'src-pwa/manifest.json',
},
// Full list of options: https://v2.quasar.dev/quasar-cli/developing-cordova-apps/configuring-cordova
cordova: {
// noIosLegacyBuildFlag: true, // uncomment only if you know what you are doing
},
// Full list of options: https://v2.quasar.dev/quasar-cli/developing-capacitor-apps/configuring-capacitor
capacitor: {
hideSplashscreen: true,
},
// Full list of options: https://v2.quasar.dev/quasar-cli/developing-electron-apps/configuring-electron
cordova: {},
capacitor: { hideSplashscreen: true },
electron: {
bundler: 'packager', // 'packager' or 'builder'
packager: {
// https://github.com/electron-userland/electron-packager/blob/master/docs/api.md#options
// OS X / Mac App Store
// appBundleId: '',
// appCategoryType: '',
// osxSign: '',
// protocol: 'myapp://path',
// Windows only
// win32metadata: { ... }
},
builder: {
// https://www.electron.build/configuration/configuration
appId: '-',
},
bundler: 'packager',
packager: {},
builder: { appId: '-' },
},
};
});

BIN
riso-logo-full.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 142 KiB

View File

@@ -1,6 +1,6 @@
{
"name": "cnm",
"version": "1.2.62",
"version": "1.2.86",
"description": "Comunita Nuovo Mondo",
"productName": "ComunitaNuovoMondo",
"author": "Surya",
@@ -9,7 +9,7 @@
"license": "MIT",
"type": "module",
"scripts": {
"dev": "PORT=8083 APP_VERSION='1.2.62' quasar dev",
"dev": "PORT=8083 APP_VERSION='1.2.86' quasar dev",
"dev_noCheck": "SKIP_TSC=true quasar dev",
"build": "quasar build",
"buildpwa": "NODE_ENV=production quasar build -m pwa",
@@ -21,8 +21,8 @@
"lintfile": "eslint --ext .js,.ts,.vue --ignore-path .gitignore ./ > file.out.txt",
"lintfileNoJS": "eslint --ext .ts,.vue --ignore-path .gitignore ./ > file.out.txt",
"fix": "eslint -c ./eslint.config.js \"./src*/**/*.{ts,js,cjs,mjs,vue}\" --ignore-pattern .gitignore ./ --fix > file.out.txt",
"pwa": "NODE_ENV=development PORT=8093 APP_VERSION='1.2.62' quasar dev -m pwa",
"spa": "NODE_ENV=development PORT=8083 APP_VERSION='1.2.62' quasar dev",
"pwa": "NODE_ENV=development PORT=8093 APP_VERSION='1.2.86' quasar dev -m pwa",
"spa": "NODE_ENV=development PORT=8083 APP_VERSION='1.2.86' quasar dev",
"debug": "quasar dev --mode debug",
"test": "echo \"No test specified\" && exit 0",
"generate-sw": "workbox generateSW workbox-config.js",

View File

@@ -4,7 +4,7 @@ const msg_website = {
home: 'Principale',
SignUp: 'Registrazione',
SignUp2: 'Registrazione2',
SignIn: 'Login',
SignIn: 'Login',Accedi
vreg: 'Verifica Reg',
Test: 'Test',
TestLocal: 'TestLocal',
@@ -35,7 +35,7 @@ const msg_website = {
},
homepage: {
descrapp_title1: 'Uniti per Evolvere e Sperimentare',
descrapp_pag1: 'Siamo la <strong>Rete Italiana di Scambio Orizzontale</strong>, abbiamo creato questa pittaforma per metterla al servizio di chi vuole riscoprire il valore della <strong>condivisione</strong> e della <strong>cooperazione</strong>. ' +
descrapp_pag1: 'Siamo la <strong>Rete Italiana Scambio orizzontale</strong>, abbiamo creato questa pittaforma per metterla al servizio di chi vuole riscoprire il valore della <strong>condivisione</strong> e della <strong>cooperazione</strong>. ' +
'Valori semplici e profondi che ci aiutano a ritrovare il <strong>senso della vita</strong>, perduto in questa società consumista, e riporti quei <strong>Sani Pricìpi Naturali</strong> ed Umani di <strong>Fratellanza</strong>'
+ ' che intere popolazioni antiche conoscevano bene.',
descrapp_pag2: 'E\' giunta l\'ora di utilizzare i nuovi strumenti <strong>Tecnologici</strong> a nostro <strong>favore</strong>, per <strong>Liberarci</strong> '

View File

@@ -21,6 +21,10 @@ const msg_website_it = {
myservice2: 'myservice2',
myhosps2: 'myhosps2',
mygood2: 'mygood2',
InvitoReg: 'Invito',
Ammetti: 'Ammetti',
AbilitaCircuito: 'Abilita Circuito',
installaApp: 'Installa App',
fundraising: 'Sostieni il Progetto',
notifs: 'Configura le Notifiche',
unsubscribe: 'Disiscriviti',
@@ -43,7 +47,7 @@ const msg_website_it = {
presentazione: 'Presentazione',
presentazione2: 'Presentazione',
invita: 'Invita Persone',
SignUp: 'Modulo di Registrazione:',
SignUp: 'Crea il tuo account',
SignUpCollettivo: 'Reg. Collettiva:',
SignUpCollettivo2: 'Registrazione Collettiva:',
need_Telegram: 'Per poter utilizzare la Piattaforma occorre avere <a href="https://play.google.com/store/apps/details?id=org.telegram.messenger" target="_blank">Telegram</a> installato<br>',
@@ -58,7 +62,7 @@ const msg_website_it = {
SignUp7: 'Registra',
SignUp11: 'Registra',
SignUpBot: 'Registrati con Telegram',
SignIn: 'Login',
SignIn: 'Accedi',
status: 'Statistiche',
nextzoom: 'Conferenze',
requestresetpwd: 'Richiesta Reset Password',
@@ -134,12 +138,12 @@ const msg_website_it = {
myAppDescription: 'Il primo Vero Social Libero, Equo e Solidale, dove Vive Consapevolezza e Aiuto Comunitario. Gratuito',
underconstruction: 'App in costruzione...',
myDescriz: '',
sottoTitoloApp: 'Rete Italiana di Scambio Orizzontale',
sottoTitoloApp: 'Rete Italiana Scambio orizzontale',
sottoTitoloApp2: '',
},
homepage: {
descrapp_title1: 'Uniti per Evolvere e Sperimentare',
descrapp_pag1: 'Siamo la <strong>Rete Italiana di Scambio Orizzontale</strong>, abbiamo creato questa piattaforma per metterla al servizio di chi vuole riscoprire il valore della <strong>condivisione</strong> e della <strong>cooperazione</strong>. ' +
descrapp_pag1: 'Siamo la <strong>Rete Italiana Scambio orizzontale</strong>, abbiamo creato questa piattaforma per metterla al servizio di chi vuole riscoprire il valore della <strong>condivisione</strong> e della <strong>cooperazione</strong>. ' +
'Valori semplici e profondi che ci aiutano a ritrovare il <strong>Senso della Vita</strong>, perduto in questa società consumista, e riporti quei <strong>Sani Pricìpi Naturali</strong> ed Umani di <strong>Fratellanza</strong>'
+ ' che intere popolazioni antiche conoscevano bene.',
descrapp_pag2: 'E\' giunta l\'ora di utilizzare i nuovi strumenti <strong>Tecnologici</strong> a nostro <strong>favore</strong>, per <strong>Liberarci</strong> '

View File

@@ -36,7 +36,7 @@ const firstPage = {
path: '/',
materialIcon: 'home',
name: 'pages.home',
component: () => import('@src/root/mainview/mainview.vue'),
component: () => import('@/root/mainview/mainview.vue'),
reqauth: false,
inmenu: true,
infooter: true,
@@ -47,11 +47,11 @@ function getDynamicPages(site: ISites): IListRoutes[] {
const baseroutes: IListRoutes[] = [
{
active: true,
order: 5,
order: -1,
path: '/',
materialIcon: 'home',
name: 'pages.home',
component: () => import('@src/root/mainview/mainview.vue'),
component: () => import('@/root/mainview/mainview.vue'),
reqauth: false,
inmenu: true,
infooter: true,
@@ -62,7 +62,7 @@ function getDynamicPages(site: ISites): IListRoutes[] {
path: '/test',
materialIcon: 'fas fa-test',
name: 'mypages.test',
component: () => import('@src/views/testServer/testServer.vue'),
component: () => import('@/views/testServer/testServer.vue'),
inmenu: false,
infooter: false,
},
@@ -72,7 +72,7 @@ function getDynamicPages(site: ISites): IListRoutes[] {
path: '/goods',
materialIcon: 'fas fa-tshirt',
name: 'mypages.goods',
component: () => import('@src/root/goods/goods.vue'),
component: () => import('@/root/goods/goods.vue'),
meta: { requiresAuth: true },
inmenu: true,
infooter: true,
@@ -83,7 +83,7 @@ function getDynamicPages(site: ISites): IListRoutes[] {
path: '/services',
materialIcon: 'fas fa-house-user',
name: 'mypages.services',
component: () => import('@src/root/services/services.vue'),
component: () => import('@/root/services/services.vue'),
meta: { requiresAuth: true },
inmenu: true,
infooter: true,
@@ -94,7 +94,7 @@ function getDynamicPages(site: ISites): IListRoutes[] {
path: '/activities',
materialIcon: 'fas fa-house-user',
name: 'mypages.activities',
component: () => import('@src/root/activities/activities.vue'),
component: () => import('@/root/activities/activities.vue'),
meta: { requiresAuth: true },
inmenu: false,
infooter: false,
@@ -105,7 +105,7 @@ function getDynamicPages(site: ISites): IListRoutes[] {
path: '/provapao',
materialIcon: 'fas fa-house-user',
name: 'mypages.provapao',
component: () => import('@src/root/provapao/provapao.vue'),
component: () => import('@/root/provapao/provapao.vue'),
meta: { requiresAuth: true },
inmenu: false,
infooter: false,
@@ -116,7 +116,7 @@ function getDynamicPages(site: ISites): IListRoutes[] {
path: '/hosps',
materialIcon: 'fas fa-bed',
name: 'mypages.hosp',
component: () => import('@src/root/hosp/hosp.vue'),
component: () => import('@/root/hosp/hosp.vue'),
meta: { requiresAuth: true },
inmenu: true,
infooter: true,
@@ -127,7 +127,7 @@ function getDynamicPages(site: ISites): IListRoutes[] {
path: '/circuits',
materialIcon: 'fas fa-coins',
name: 'mypages.circuits',
component: () => import('@src/views/user/mycircuits/mycircuits.vue'),
component: () => import('@/views/user/mycircuits/mycircuits.vue'),
meta: { requiresAuth: true },
inmenu: true,
infooter: true,
@@ -138,7 +138,7 @@ function getDynamicPages(site: ISites): IListRoutes[] {
path: '/events',
materialIcon: 'fas fa-bullhorn',
name: 'mypages.events',
component: () => import('@src/root/eventi/eventi.vue'),
component: () => import('@/root/eventi/eventi.vue'),
meta: { requiresAuth: true },
inmenu: true,
infooter: true,
@@ -149,7 +149,7 @@ function getDynamicPages(site: ISites): IListRoutes[] {
path: '/install_site',
materialIcon: 'fas fa-user',
name: 'pages.install_site',
component: () => import('@src/views/admin/install_site/install_site.vue'),
component: () => import('@/views/admin/install_site/install_site.vue'),
meta: { requiresAuth: true },
inmenu: false,
infooter: false,
@@ -160,7 +160,7 @@ function getDynamicPages(site: ISites): IListRoutes[] {
path: '/myprofile',
materialIcon: 'fas fa-user',
name: 'pages.profile',
component: () => import('@src/views/user/myprofile/myprofile.vue'),
component: () => import('@/views/user/myprofile/myprofile.vue'),
meta: { requiresAuth: true },
inmenu: true,
infooter: true,
@@ -171,7 +171,7 @@ function getDynamicPages(site: ISites): IListRoutes[] {
path: '/editprofile',
materialIcon: 'fas fa-user',
name: 'pages.profile3',
component: () => import('@src/views/user/editprofile/editprofile.vue'),
component: () => import('@/views/user/editprofile/editprofile.vue'),
meta: { requiresAuth: true },
inmenu: false,
infooter: false,
@@ -182,7 +182,7 @@ function getDynamicPages(site: ISites): IListRoutes[] {
path: '/friends',
materialIcon: 'fas fa-user-friends',
name: 'mypages.iscritti',
component: () => import('@src/views/user/myfriends/myfriends.vue'),
component: () => import('@/views/user/myfriends/myfriends.vue'),
meta: { requiresAuth: true },
inmenu: true,
infooter: true,
@@ -193,7 +193,7 @@ function getDynamicPages(site: ISites): IListRoutes[] {
path: '/groups',
materialIcon: 'fas fa-users',
name: 'mypages.groups',
component: () => import('@src/views/user/mygroups/mygroups.vue'),
component: () => import('@/views/user/mygroups/mygroups.vue'),
meta: { requiresAuth: true },
inmenu: true,
infooter: false,
@@ -204,7 +204,7 @@ function getDynamicPages(site: ISites): IListRoutes[] {
path: '/grp/:groupname',
materialIcon: 'fas fa-user',
name: 'proj.group2',
component: () => import('@src/views/user/mygroup/mygroup.vue'),
component: () => import('@/views/user/mygroup/mygroup.vue'),
meta: { requiresAuth: true, newpage: true },
inmenu: false,
infooter: false,
@@ -215,7 +215,7 @@ function getDynamicPages(site: ISites): IListRoutes[] {
path: '/circuit/:path',
materialIcon: 'fas fa-user',
name: 'proj.circuit2',
component: () => import('@src/views/user/mycircuit/mycircuit.vue'),
component: () => import('@/views/user/mycircuit/mycircuit.vue'),
meta: { requiresAuth: true, newpage: true },
inmenu: false,
infooter: false,
@@ -234,7 +234,7 @@ function getDynamicPages(site: ISites): IListRoutes[] {
path: '/mypage/:idBacheca',
materialIcon: 'fas fa-user',
name: 'pages.mypage2',
component: () => import('@src/views/user/mypagebacheca/mypagebacheca.vue'),
component: () => import('@/views/user/mypagebacheca/mypagebacheca.vue'),
meta: { requiresAuth: true, newpage: true },
inmenu: false,
infooter: false,
@@ -245,7 +245,7 @@ function getDynamicPages(site: ISites): IListRoutes[] {
path: '/myservice/:idSkill',
materialIcon: '',
name: 'pages.myservice2',
component: () => import('@src/views/user/myservice/myservice.vue'),
component: () => import('@/views/user/myservice/myservice.vue'),
meta: { requiresAuth: true, newpage: true },
inmenu: false,
infooter: false,
@@ -256,7 +256,7 @@ function getDynamicPages(site: ISites): IListRoutes[] {
path: '/myhosps/:idHosp',
materialIcon: '',
name: 'pages.myhosps2',
component: () => import('@src/views/user/mypagehosp/mypagehosp.vue'),
component: () => import('@/views/user/mypagehosp/mypagehosp.vue'),
meta: { requiresAuth: true, newpage: true },
inmenu: false,
infooter: false,
@@ -267,7 +267,7 @@ function getDynamicPages(site: ISites): IListRoutes[] {
path: '/mygood/:idGood',
materialIcon: '',
name: 'pages.mygood2',
component: () => import('@src/views/user/mypagegood/mypagegood.vue'),
component: () => import('@/views/user/mypagegood/mypagegood.vue'),
meta: { requiresAuth: true, newpage: true },
inmenu: false,
infooter: false,
@@ -278,7 +278,7 @@ function getDynamicPages(site: ISites): IListRoutes[] {
path: '/sostieniilprogetto',
materialIcon: 'fas fa-hand-holding-heart',
name: 'pages.fundraising',
component: () => import('@src/root/fundraising/fundraising.vue'),
component: () => import('@/root/fundraising/fundraising.vue'),
inmenu: false,
infooter: false,
},
@@ -288,7 +288,7 @@ function getDynamicPages(site: ISites): IListRoutes[] {
path: '/calendario-eventi',
materialIcon: 'event',
name: 'ris.calendario_eventi_riso',
component: () => import('@src/root/calendarioeventi/calendarioeventi.vue'),
component: () => import('@/root/calendarioeventi/calendarioeventi.vue'),
extraclass: 'isCalendar',
inmenu: false,
infooter: false
@@ -321,3 +321,5 @@ export const static_data = {
preLoadImages,
preloadedimages,
}

View File

@@ -62,7 +62,7 @@ const routes_admin: IListRoutes[] = [
path: '/admin/sites',
materialIcon: 'event_seat',
name: 'pages.Sites',
component: () => import('@src/rootgen/admin/sites/sites.vue'),
component: () => import('@/rootgen/admin/sites/sites.vue'),
level_parent: 0.0,
level_child: 0.5,
inmenu: true,
@@ -75,7 +75,7 @@ const routes_admin: IListRoutes[] = [
path: '/admin/cfgserv',
materialIcon: 'event_seat',
name: 'pages.Admin',
component: () => import('@src/views/admin/cfgServer/cfgServer.vue'),
component: () => import('@/views/admin/cfgServer/cfgServer.vue'),
level_parent: 0.0,
level_child: 0.5,
inmenu: true,
@@ -88,7 +88,7 @@ const routes_admin: IListRoutes[] = [
path: '/admin/dbop',
materialIcon: 'event_seat',
name: 'pages.dbop',
component: () => import('@src/views/admin/dbop/dbop.vue'),
component: () => import('@/views/admin/dbop/dbop.vue'),
level_parent: 0.0,
level_child: 0.5,
inmenu: true,
@@ -101,7 +101,7 @@ const routes_admin: IListRoutes[] = [
path: '/admin/importfile',
materialIcon: 'event_seat',
name: 'otherpages.manage.importfile',
component: () => import('@src/rootgen/admin/importdata/importdata.vue'),
component: () => import('@/rootgen/admin/importdata/importdata.vue'),
level_parent: 0.0,
level_child: 0.5,
inmenu: true,
@@ -117,7 +117,7 @@ const routes_manager: IListRoutes[] = [
path: '/admin/usereventlist',
materialIcon: 'edit',
name: 'otherpages.admin.usereventlist',
component: () => import('@src/rootgen/admin/eventlist/eventlist.vue'),
component: () => import('@/rootgen/admin/eventlist/eventlist.vue'),
inmenu: true,
submenu: true,
level_parent: 0,
@@ -133,7 +133,7 @@ const routes_manager: IListRoutes[] = [
path: '/admin/userlist',
materialIcon: 'fas fa-users',
name: 'otherpages.admin.userlist',
component: () => import('@src/rootgen/admin/usersList/usersList.vue'),
component: () => import('@/rootgen/admin/usersList/usersList.vue'),
inmenu: true,
submenu: true,
level_parent: 0,
@@ -148,7 +148,7 @@ const routes_manager: IListRoutes[] = [
path: '/admin/iscritticonacreis',
materialIcon: 'fas fa-users',
name: 'otherpages.admin.iscritticonacreis',
component: () => import('@src/rootgen/admin/iscritticonacreis/iscritticonacreis.vue'),
component: () => import('@/rootgen/admin/iscritticonacreis/iscritticonacreis.vue'),
inmenu: true,
submenu: true,
level_parent: 0,
@@ -164,7 +164,7 @@ const routes_manager: IListRoutes[] = [
path: '/admin/zoomlist',
materialIcon: 'fas fa-users',
name: 'otherpages.admin.zoomlist',
component: () => import('@src/rootgen/admin/zoomList/zoomList.vue'),
component: () => import('@/rootgen/admin/zoomList/zoomList.vue'),
inmenu: true,
submenu: true,
level_parent: 0,
@@ -178,7 +178,7 @@ const routes_manager: IListRoutes[] = [
path: '/admin/tableslist',
materialIcon: 'fas fa-users',
name: 'otherpages.admin.tableslist',
component: () => import('@src/rootgen/admin/tablesList/tablesList.vue'),
component: () => import('@/rootgen/admin/tablesList/tablesList.vue'),
inmenu: true,
submenu: true,
level_parent: 0,
@@ -192,7 +192,7 @@ const routes_manager: IListRoutes[] = [
path: '/admin/pages',
materialIcon: 'fas fa-file-alt',
name: 'otherpages.admin.pages',
component: () => import('@src/rootgen/admin/pages/pages.vue'),
component: () => import('@/rootgen/admin/pages/pages.vue'),
inmenu: true,
submenu: true,
level_parent: 0,
@@ -206,7 +206,7 @@ const routes_manager: IListRoutes[] = [
path: '/admin/bot',
materialIcon: 'fas fa-file-alt',
name: 'otherpages.admin.bot',
component: () => import('@src/rootgen/admin/bot/bot.vue'),
component: () => import('@/rootgen/admin/bot/bot.vue'),
inmenu: true,
submenu: true,
level_parent: 0,
@@ -214,22 +214,6 @@ const routes_manager: IListRoutes[] = [
onlyManager: true,
onlyEditor: true
},
{
active: true,
path: '/admin/newsletter',
order: 60,
faIcon: 'fa fa-list-alt',
materialIcon: 'fas fa-users',
name: 'otherpages.admin.newsletter',
routes2: [],
inmenu: false,
submenu: true,
level_parent: 0.5,
level_child: 0.5,
solotitle: true,
onlyAdmin: true,
onlyManager: true
},
/*
{
active: functionality.ENABLE_ECOMMERCE,
@@ -256,7 +240,7 @@ const routes_manager: IListRoutes[] = [
path: '/admin/msg_template',
materialIcon: 'fas fa-file-alt',
name: 'msgs.messages',
component: () => import('@src/rootgen/admin/msg_template/msg_template.vue'),
component: () => import('@/rootgen/admin/msg_template/msg_template.vue'),
inmenu: true,
submenu: true,
level_parent: 0,
@@ -271,7 +255,7 @@ const routes_manager: IListRoutes[] = [
path: '/admin/sendpushnotif',
materialIcon: 'event_seat',
name: 'otherpages.manage.sendpushnotif',
component: () => import('@src/rootgen/admin/sendpushnotif/sendpushnotif.vue'),
component: () => import('@/rootgen/admin/sendpushnotif/sendpushnotif.vue'),
level_parent: 0.0,
level_child: 0.5,
inmenu: true,
@@ -285,7 +269,7 @@ const routes_manager: IListRoutes[] = [
path: '/admin/gallery',
materialIcon: 'fas fa-file-alt',
name: 'otherpages.admin.gallery',
component: () => import('@src/rootgen/admin/gallery/gallery.vue'),
component: () => import('@/rootgen/admin/gallery/gallery.vue'),
inmenu: true,
submenu: true,
level_parent: 0,
@@ -299,7 +283,7 @@ const routes_manager: IListRoutes[] = [
path: '/admin/media',
materialIcon: 'fas fa-file-alt',
name: 'otherpages.admin.media',
component: () => import('@src/rootgen/admin/uploader/uploader.vue'),
component: () => import('@/rootgen/admin/uploader/uploader.vue'),
inmenu: true,
submenu: true,
level_parent: 0,
@@ -317,7 +301,7 @@ const baseroutes: IListRoutes[] = [
path: '/',
materialIcon: 'home',
name: 'pages.home',
component: () => import('@src/root/mainview/mainview.vue'),
component: () => import('@/root/mainview/mainview.vue'),
reqauth: false,
inmenu: true,
infooter: true,
@@ -328,7 +312,7 @@ const baseroutes: IListRoutes[] = [
path: '/events',
materialIcon: 'fas fa-bullhorn',
name: 'mypages.events',
component: () => import('@src/root/eventi/eventi.vue'),
component: () => import('@/root/eventi/eventi.vue'),
meta: { requiresAuth: true },
inmenu: true,
infooter: true,
@@ -339,7 +323,7 @@ const baseroutes: IListRoutes[] = [
path: '/goods',
materialIcon: 'fas fa-briefcase',
name: 'mypages.goods',
component: () => import('@src/root/goods/goods.vue'),
component: () => import('@/root/goods/goods.vue'),
meta: { requiresAuth: true },
inmenu: true,
infooter: true,
@@ -350,7 +334,7 @@ const baseroutes: IListRoutes[] = [
path: '/services',
materialIcon: 'fas fa-briefcase',
name: 'mypages.services',
component: () => import('@src/root/services/services.vue'),
component: () => import('@/root/services/services.vue'),
meta: { requiresAuth: true },
inmenu: true,
infooter: true,
@@ -361,7 +345,7 @@ const baseroutes: IListRoutes[] = [
path: '/presentazione',
materialIcon: 'fas fa-info',
name: 'pages.presentazione',
component: () => import('@src/root/presentazione/presentazione.vue'),
component: () => import('@/root/presentazione/presentazione.vue'),
reqauth: false,
inmenu: true,
infooter: true,
@@ -372,7 +356,7 @@ const baseroutes: IListRoutes[] = [
path: '/myprofile',
materialIcon: 'fas fa-user',
name: 'pages.profile',
component: () => import('@src/views/user/myprofile/myprofile.vue'),
component: () => import('@/views/user/myprofile/myprofile.vue'),
meta: { requiresAuth: true },
inmenu: true,
infooter: true,
@@ -383,7 +367,7 @@ const baseroutes: IListRoutes[] = [
path: '/editprofile',
materialIcon: 'fas fa-user',
name: 'pages.profile3',
component: () => import('@src/views/user/editprofile/editprofile.vue'),
component: () => import('@/views/user/editprofile/editprofile.vue'),
meta: { requiresAuth: true },
inmenu: false,
infooter: false,
@@ -394,7 +378,7 @@ const baseroutes: IListRoutes[] = [
path: '/friends',
materialIcon: 'fas fa-user-friends',
name: 'mypages.friends',
component: () => import('@src/views/user/myfriends/myfriends.vue'),
component: () => import('@/views/user/myfriends/myfriends.vue'),
meta: { requiresAuth: true },
inmenu: true,
infooter: true,
@@ -405,7 +389,7 @@ const baseroutes: IListRoutes[] = [
path: '/groups',
materialIcon: 'fas fa-users',
name: 'mypages.groups',
component: () => import('@src/views/user/mygroups/mygroups.vue'),
component: () => import('@/views/user/mygroups/mygroups.vue'),
meta: { requiresAuth: true },
inmenu: true,
infooter: true,
@@ -416,7 +400,7 @@ const baseroutes: IListRoutes[] = [
path: '/my/:username',
materialIcon: 'fas fa-user',
name: 'pages.profile2',
component: () => import('@src/views/user/myprofile/myprofile.vue'),
component: () => import('@/views/user/myprofile/myprofile.vue'),
meta: { requiresAuth: true },
inmenu: false,
infooter: false,
@@ -427,7 +411,7 @@ const baseroutes: IListRoutes[] = [
path: '/grp/:groupname',
materialIcon: 'fas fa-user',
name: 'proj.group2',
component: () => import('@src/views/user/mygroup/mygroup.vue'),
component: () => import('@/views/user/mygroup/mygroup.vue'),
meta: { requiresAuth: true },
inmenu: false,
infooter: false,
@@ -438,7 +422,7 @@ const baseroutes: IListRoutes[] = [
path: '/mypage/:idBacheca',
materialIcon: 'fas fa-user',
name: 'pages.mypage2',
component: () => import('@src/views/user/mypagebacheca/mypagebacheca.vue'),
component: () => import('@/views/user/mypagebacheca/mypagebacheca.vue'),
meta: { requiresAuth: true },
inmenu: false,
infooter: false,
@@ -449,7 +433,7 @@ const baseroutes: IListRoutes[] = [
path: '/myservice/:idSkill',
materialIcon: '',
name: 'pages.myservice2',
component: () => import('@src/views/user/myservice/myservice.vue'),
component: () => import('@/views/user/myservice/myservice.vue'),
meta: { requiresAuth: true },
inmenu: false,
infooter: false,
@@ -460,7 +444,7 @@ const baseroutes: IListRoutes[] = [
path: '/test',
materialIcon: 'fas fa-test',
name: 'mypages.test',
component: () => import('@src/views/testServer/testServer.vue'),
component: () => import('@/views/testServer/testServer.vue'),
meta: { requiresAuth: true },
inmenu: false,
infooter: false,
@@ -500,7 +484,7 @@ const baseroutes: IListRoutes[] = [
path: '/404error',
materialIcon: 'fas fa-calendar-plus',
name: 'otherpages.error404',
component: () => import('@src/root/My404page/My404page.vue'),
component: () => import('@/root/My404page/My404page.vue'),
inmenu: false,
infooter: false
},
@@ -510,7 +494,7 @@ const baseroutes: IListRoutes[] = [
order: 8,
path: '/policy',
name: 'pages.policy',
component: () => import('@src/root/policy/policy.vue'),
component: () => import('@/root/policy/policy.vue'),
},*/
{
active: functionality.ENABLE_REGISTRATION,
@@ -518,7 +502,7 @@ const baseroutes: IListRoutes[] = [
path: '/signup/:invited',
materialIcon: 'how_to_reg',
name: 'pages.SignUp',
component: () => import('@src/views/login/signup/signup.vue'),
component: () => import('@/views/login/signup/signup.vue'),
inmenu: false,
infooter: false,
separator: false
@@ -529,7 +513,7 @@ const baseroutes: IListRoutes[] = [
path: '/regok',
materialIcon: 'how_to_reg',
name: 'pages.regok',
component: () => import('@src/views/login/regok/regok.vue'),
component: () => import('@/views/login/regok/regok.vue'),
inmenu: false,
infooter: false,
separator: false,
@@ -540,7 +524,7 @@ const baseroutes: IListRoutes[] = [
path: '/signin',
materialIcon: 'account_circle',
name: 'pages.SignIn',
component: () => import('@src/views/login/signin_noreg/signin_noreg.vue'),
component: () => import('@/views/login/signin_noreg/signin_noreg.vue'),
inmenu: true,
infooter: true
},
@@ -549,28 +533,28 @@ const baseroutes: IListRoutes[] = [
order: 1000,
path: '/vreg',
name: 'pages.vreg',
component: () => import('@src/views/login/vreg/vreg.vue')
component: () => import('@/views/login/vreg/vreg.vue')
},
{
active: true,
order: 1000,
path: '/requestresetpwd',
name: 'pages.requestresetpwd',
component: () => import('@src/views/requestresetpwd/requestresetpwd.vue')
component: () => import('@/views/requestresetpwd/requestresetpwd.vue')
},
{
active: true,
order: 1000,
path: '/updatepassword',
name: 'pages.updatepassword',
component: () => import('@src/views/updatepassword/updatepassword.vue')
component: () => import('@/views/updatepassword/updatepassword.vue')
},
{
active: true,
order: 1000,
path: '/offline',
name: 'Offline',
component: () => import('@src/views/offline/offline.vue')
component: () => import('@/views/offline/offline.vue')
},
{
active: true,
@@ -586,7 +570,7 @@ const baseroutes: IListRoutes[] = [
path: '/calendario-eventi',
materialIcon: 'event',
name: 'pages.calendarioeventi',
component: () => import('@src/root/calendarioeventi/calendarioeventi.vue'),
component: () => import('@/root/calendarioeventi/calendarioeventi.vue'),
extraclass: 'isCalendar',
inmenu: true,
infooter: true
@@ -597,7 +581,7 @@ const baseroutes: IListRoutes[] = [
path: '/admin/newsletter/:idparam',
materialIcon: 'event',
name: 'pages.newsletter.menu',
component: () => import('@src/rootgen/admin/newsletter/newsletter.vue'),
component: () => import('@/rootgen/admin/newsletter/newsletter.vue'),
inmenu: false,
infooter: false
},
@@ -607,7 +591,7 @@ const baseroutes: IListRoutes[] = [
path: '/event/:typol/:eventid',
materialIcon: 'event',
name: 'pages.evento',
component: () => import('@src/root/evento/evento.vue'),
component: () => import('@/root/evento/evento.vue'),
inmenu: false,
infooter: false
},
@@ -617,7 +601,7 @@ const baseroutes: IListRoutes[] = [
path: '/event/:typol',
materialIcon: 'event',
name: 'pages.eventodef',
component: () => import('@src/root/evento/evento.vue'),
component: () => import('@/root/evento/evento.vue'),
inmenu: false,
infooter: false
},

View File

@@ -1,6 +1,6 @@
{
"name": "freeplanet",
"version": "1.2.62",
"version": "1.2.86",
"description": "freeplanet",
"productName": "freeplanet",
"author": "Surya",
@@ -9,11 +9,11 @@
"license": "MIT",
"type": "module",
"scripts": {
"dev": "PORT=8087 APP_VERSION='1.2.62' quasar dev",
"dev": "PORT=8087 APP_VERSION='1.2.86' quasar dev",
"dev_noCheck": "SKIP_TSC=true quasar dev",
"build": "quasar build",
"buildpwa": "NODE_ENV=production APP_VERSION='1.2.62' quasar build -m pwa",
"buildpwatest": "NODE_ENV=production APP_VERSION='1.2.62' quasar build -m pwa",
"buildpwa": "NODE_ENV=production APP_VERSION='1.2.86' quasar build -m pwa",
"buildpwatest": "NODE_ENV=production APP_VERSION='1.2.86' quasar build -m pwa",
"type-check": "vue-tsc --noEmit",
"type-check:watch": "vue-tsc --noEmit --watch",
"buildspa": "quasar build -m spa",
@@ -21,8 +21,8 @@
"lintfile": "eslint --ext .js,.ts,.vue --ignore-path .gitignore ./ > file.out.txt",
"lintfileNoJS": "eslint --ext .ts,.vue --ignore-path .gitignore ./ > file.out.txt",
"fix": "eslint -c ./eslint.config.js \"./src*/**/*.{ts,js,cjs,mjs,vue}\" --ignore-pattern .gitignore ./ --fix > file.out.txt",
"pwa": "NODE_ENV=development PORT=8097 APP_VERSION='1.2.62' quasar dev -m pwa",
"spa": "NODE_ENV=development PORT=8087 APP_VERSION='1.2.62' quasar dev",
"pwa": "NODE_ENV=development PORT=8097 APP_VERSION='1.2.86' quasar dev -m pwa",
"spa": "NODE_ENV=development PORT=8087 APP_VERSION='1.2.86' quasar dev",
"debug": "quasar dev --mode debug",
"test": "echo \"No test specified\" && exit 0",
"generate-sw": "workbox generateSW workbox-config.js",

View File

@@ -0,0 +1,11 @@
VITE_APP_ID="13"
VITE_APP_URL="https://riso.app"
VITE_MONGODB_HOST="https://api.riso.app"
VITE_LOGO_REG='riso-logo-full.png'
VITE_PUBLICKEY_PUSH="BGXRf1TgcqocqD6J7qnRgCG7AvM2lxAoW7peb7UEzB4SxBb6DxGRdJ0UvD9ewnrB9KrSrh0-aDCODXBm7sZ1DDs"
VITE_DEBUG="0"
VITE_VUE_APP_ISTEST="0"
DIRECTORY_LOCAL=myprojplanet_vite
DIRECTORY_SERVER=/var/www/nodejs_riso_server
SERVERDIR_WEBSITE="/var/www/riso.app"
SERVERPW_WEBSITE="pwdadmin@1AOK"

View File

@@ -1,11 +1,11 @@
VITE_APP_ID="16"
VITE_APP_URL="https://test.kolibrilab.it"
VITE_MONGODB_HOST="https://test.freeplanet.app:3001"
VITE_LOGO_REG='kolibrilab-logo-full.png'
VITE_APP_URL="https://test.riso.app"
VITE_MONGODB_HOST="https://test.riso.app:3001"
VITE_LOGO_REG='riso-logo-full.png'
VITE_PUBLICKEY_PUSH="BGXRf1TgcqocqD6J7qnRgCG7AvM2lxAoW7peb7UEzB4SxBb6DxGRdJ0UvD9ewnrB9KrSrh0-aDCODXBm7sZ1DDs"
VITE_DEBUG="1"
VITE_VUE_APP_ISTEST=1
DIRECTORY_LOCAL=newfreeplanet
DIRECTORY_SERVER=test.freeplanet_serverside
SERVERDIR_WEBSITE="test.kolibrilab.it"
SERVERDIR_WEBSITE="test.riso.app"
SERVERPW_WEBSITE="pwdadmin@1AOK"

View File

Before

Width:  |  Height:  |  Size: 1.1 KiB

After

Width:  |  Height:  |  Size: 1.1 KiB

View File

@@ -0,0 +1,142 @@
{
"name": "riso",
"version": "1.2.86",
"productName": "Riso 💚 - Rete Italiana Scambio orizzontale",
"description": "Progetto RISO (Rete Italiana Scambio orizzontale) promuove una rete di comunità locali che favoriscono scambi di beni, servizi e ospitalità. Con l'App RISO, sviluppata per facilitare il baratto, il dono e l'uso di monete alternative come i RIS, il progetto crea legami autentici basati sulla fiducia e sostenibilità. Partecipa agli scambi e costruisci una comunità più consapevole e autosufficiente.",
"author": "Surya",
"private": true,
"keywords": [],
"license": "MIT",
"type": "module",
"scripts": {
"dev": "APP_VERSION='1.2.86' PORT=8084 quasar dev",
"dev_noCheck": "SKIP_TSC=true quasar dev",
"build": "quasar build",
"buildpwa": "NODE_ENV=production APP_VERSION='1.2.86' quasar build -m pwa",
"buildpwatest": "NODE_ENV=production APP_VERSION='1.2.86' quasar build -m pwa",
"type-check": "vue-tsc --noEmit",
"type-check:watch": "vue-tsc --noEmit --watch",
"buildspa": "quasar build -m spa",
"lint": "eslint -c ./eslint.config.js \"./src*/**/*.{ts,js,cjs,mjs,vue}\"",
"lintfile": "eslint --ext .js,.ts,.vue --ignore-path .gitignore ./ > file.out.txt",
"lintfileNoJS": "eslint --ext .ts,.vue --ignore-path .gitignore ./ > file.out.txt",
"fix": "eslint -c ./eslint.config.js \"./src*/**/*.{ts,js,cjs,mjs,vue}\" --ignore-pattern .gitignore ./ --fix > file.out.txt",
"pwa": "NODE_ENV=development PORT=8094 APP_VERSION='1.2.86' quasar dev -m pwa",
"spa": "NODE_ENV=development PORT=8084 APP_VERSION='1.2.86' quasar dev",
"debug": "quasar dev --mode debug",
"test": "echo \"No test specified\" && exit 0",
"generate-sw": "workbox generateSW workbox-config.js",
"postinstall": "quasar prepare"
},
"dependencies": {
"@cubejs-client/core": "^1.3.21",
"@quasar/extras": "^1.17.0",
"@quasar/quasar-ui-qcalendar": "^4.1.2",
"@types/jsbarcode": "^3.11.4",
"@types/leaflet": "^1.9.18",
"@vue/compat": "^3.5.16",
"@vue/compiler-sfc": "^3.5.16",
"@vuelidate/core": "^2.0.3",
"@vuelidate/validators": "^2.0.4",
"acorn": "^8.15.0",
"animate.css": "^4.1.1",
"apexcharts": "^4.7.0",
"autoprefixer": "^10.4.21",
"axios": "^1.9.0",
"bcryptjs": "^3.0.2",
"chart.js": "^4.4.9",
"core-js": "^3.43.0",
"crypto-browserify": "^3.12.1",
"date-fns": "^4.1.0",
"echarts": "5.6.0",
"eslint-plugin-n": "^17.19.0",
"eslint-plugin-quasar": "^1.1.0",
"gsap": "^3.13.0",
"jquery": "^3.7.1",
"js-cookie": "^3.0.5",
"jsbarcode": "^3.12.1",
"leaflet": "^1.9.4",
"leaflet-routing-machine": "^3.2.12",
"leaflet.markercluster": "^1.5.3",
"localforage": "^1.10.0",
"lodash": "^4.17.21",
"mongoose-paginate-v2": "^1.9.1",
"normalize.css": "^8.0.1",
"nprogress": "^0.2.0",
"pinia": "^3.0.3",
"quasar": "^2.18.1",
"quasar-extras": "^2.0.9",
"register-service-worker": "^1.7.2",
"scrollreveal": "^4.0.9",
"typescript-eslint": "^8.34.0",
"vee-validate": "^4.15.1",
"vue": "^3.5.16",
"vue-class-component": "^8.0.0-rc.1",
"vue-country-code": "^1.1.3",
"vue-echarts": "^7.0.3",
"vue-i18n": "^11.1.5",
"vue-idb": "^0.2.0",
"vue-property-decorator": "^10.0.0-rc.3",
"vue-router": "^4.5.1",
"vue-scroll-reveal": "^2.1.0",
"vue-social-sharing": "^4.0.0-alpha4",
"vue-svgicon": "^4.0.0-alpha.3",
"vue-timeago3": "^2.3.2",
"vue2-dragula": "^2.5.5",
"vue3-apexcharts": "^1.8.0",
"vue3-qr-reader": "^1.0.0",
"vuedraggable": "^4.1.0",
"vuex": "^4.1.0",
"vuex-router-sync": "^6.0.0-rc.1",
"workbox-core": "^7.3.0",
"workbox-precaching": "^7.3.0",
"workbox-routing": "^7.3.0",
"workbox-strategies": "^7.3.0",
"workbox-window": "^7.3.0",
"xlsx": "^0.18.5"
},
"devDependencies": {
"@eslint/js": "^9.28.0",
"@intlify/unplugin-vue-i18n": "^6.0.8",
"@quasar/app-vite": "^2.2.1",
"@types/google.maps": "^3.58.1",
"@types/jest": "^29.5.14",
"@types/js-cookie": "^3.0.6",
"@types/node": "^24.0.1",
"@types/nprogress": "^0.2.3",
"@types/vue-tel-input": "^2.1.7",
"@types/vuelidate": "^0.7.22",
"@vue/devtools": "^7.7.6",
"@vue/eslint-config-prettier": "^10.2.0",
"@vue/eslint-config-typescript": "^14.5.0",
"autoprefixer": "^10.4.21",
"eslint": "9",
"eslint-plugin-import": "^2.31.0",
"eslint-plugin-vue": "^10.2.0",
"file-loader": "^6.2.0",
"globals": "^16.2.0",
"http-proxy-middleware": "^3.0.5",
"jest": "^30.0.0",
"json-loader": "^0.5.7",
"nodemon": "^3.1.10",
"npm-check-updates": "^18.0.1",
"parcel": "^2.15.2",
"postcss": "^8.5.5",
"postcss-loader": "^8.1.1",
"prettier": "3",
"strip-ansi": "=7.1.0",
"ts-jest": "^29.4.0",
"typescript": "5.8.3",
"vite-plugin-checker": "^0.9.3",
"vue-cli-plugin-element-ui": "^1.1.4",
"vue-eslint-parser": "^10.1.3",
"vue-tsc": "^2.2.10",
"vueify": "^9.4.1",
"workbox-build": "^7.3.0"
},
"engines": {
"node": "^28 || ^26 || ^24 || ^22 || ^20 || ^18",
"npm": ">= 6.13.4",
"yarn": ">= 1.21.1"
}
}

View File

@@ -0,0 +1,22 @@
.gu-mirror {
position: fixed !important;
margin: 0 !important;
z-index: 9999 !important;
opacity: 0.8;
-ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=80)";
filter: alpha(opacity=80);
}
.gu-hide {
display: none !important;
}
.gu-unselectable {
-webkit-user-select: none !important;
-moz-user-select: none !important;
-ms-user-select: none !important;
user-select: none !important;
}
.gu-transit {
opacity: 0.2;
-ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=20)";
filter: alpha(opacity=20);
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 211 KiB

Some files were not shown because too many files have changed in this diff Show More