diff --git a/.env b/.env index 4a4b2ab2..0cbc5344 100755 --- a/.env +++ b/.env @@ -1,6 +1,6 @@ -VITE_APP_VERSION="1.2.2" +VITE_APP_VERSION="1.2.13" VITE_LANG_DEFAULT="it" VITE_PAO_APP_ID="KKPPAA5KJK435J3KSS9F9D8S9F8SD98F9SDF" -VITE_SERVICE_WORKER_FILE="sw-1.2.2.js" +VITE_SERVICE_WORKER_FILE="sw-1.2.13.js" VITE_PROJECT_ID_MAIN="5cc0a13fe5c9d156728f400a" VITE_VUE_ROUTER_MODE="history" \ No newline at end of file diff --git a/.env.development b/.env.development index 189f2b39..4267996f 100755 --- a/.env.development +++ b/.env.development @@ -1,12 +1,13 @@ -VITE_APP_ID="17" -VITE_APP_URL="https://localhost" VITE_MONGODB_HOST="https://localhost:3000" -VITE_LOGO_REG='piuchebuono-logo-full.png' VITE_PUBLICKEY_PUSH='BDncvMiUZmjaCG2Kr1V9N0_33hOG-AuNSbHSvL24y2dzBiUjAxKm02emx5SeJvz2IGmtRf6YqCgopeQwCwUmZw8' +VITE_PROJECT_ID_MAIN="5cc0a13fe5c9d156728f400a" +VITE_VUE_APP_ISTEST="1" +VITE_VUE_APP_INLOCALE="1" VITE_DEBUG="1" -VITE_VUE_APP_ISTEST=0 -VITE_VUE_APP_INLOCALE=1 -DIRECTORY_LOCAL="newfreeplanet" -DIRECTORY_SERVER="freeplanet_serverside" +VITE_APP_ID="13" +VITE_LOGO_REG='riso-logo-full.png' +VITE_APP_URL="https://localhost" +DIRECTORY_LOCAL=myprojplanet_vite +DIRECTORY_SERVER=freeplanet_serverside SERVERDIR_WEBSITE="" -SERVERPW_WEBSITE="" +SERVERPW_WEBSITE="" \ No newline at end of file diff --git a/.env.prod.gruppomacro b/.env.prod.gruppomacro index 1ff1d2b6..b6e48097 100644 --- a/.env.prod.gruppomacro +++ b/.env.prod.gruppomacro @@ -3,9 +3,9 @@ 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_DEBUG="1" +VITE_DEBUG="0" VITE_VUE_APP_ISTEST="0" -DIRECTORY_LOCAL=newfreeplanet -DIRECTORY_SERVER=/var/www/freeplanet_serverside +DIRECTORY_LOCAL="myprojplanet_vite" +DIRECTORY_SERVER="/var/www/nodejs_piuchebuono_server" SERVERDIR_WEBSITE="/var/www/gruppomacro.app" -SERVERPW_WEBSITE=pwdadmin@1AOK +SERVERPW_WEBSITE="pwdadmin@1AOK" diff --git a/.env.production b/.env.production index 97ce984b..e834adfe 100644 --- a/.env.production +++ b/.env.production @@ -1,11 +1,11 @@ -VITE_APP_ID="17" -VITE_APP_URL="https://piuchebuono.app" -VITE_MONGODB_HOST="https://api.piuchebuono.app" -VITE_LOGO_REG="piuchebuono-logo-full.png" -VITE_PUBLICKEY_PUSH="BJgo8XR_upbnbMLWgCAUELo6DK7dRXffYAnFOxbaMMz5favBgcQBKT-eISqouO-jRad4Sw8l5nd2wCF6KorGiTc" -VITE_DEBUG="0" -VITE_VUE_APP_ISTEST="0" +VITE_APP_ID="13" +VITE_APP_URL="https://test.riso.app" +VITE_MONGODB_HOST="https://testapi.riso.app" +VITE_LOGO_REG="riso-logo-full.png" +VITE_PUBLICKEY_PUSH="BGXRf1TgcqocqD6J7qnRgCG7AvM2lxAoW7peb7UEzB4SxBb6DxGRdJ0UvD9ewnrB9KrSrh0-aDCODXBm7sZ1DDs" +VITE_DEBUG="1" +VITE_VUE_APP_ISTEST="1" DIRECTORY_LOCAL="myprojplanet_vite" -DIRECTORY_SERVER="/var/www/nodejs_piuchebuono_server" -SERVERDIR_WEBSITE="/var/www/piuchebuono.app" -SERVERPW_WEBSITE="pwdadmin@1AOK" +DIRECTORY_SERVER="/var/www/nodejs_test.riso_server" +SERVERDIR_WEBSITE="/var/www/test.riso.app" +SERVERPW_WEBSITE="pwdadmin@1AOK" \ No newline at end of file diff --git a/.env.test.gruppomacro b/.env.test.gruppomacro index 65c3e223..2a577413 100755 --- a/.env.test.gruppomacro +++ b/.env.test.gruppomacro @@ -1,11 +1,11 @@ VITE_APP_ID="18" VITE_APP_URL="https://test.gruppomacro.app" VITE_MONGODB_HOST="https://testapi.gruppomacro.app" -VITE_LOGO_REG='gruppomacro-logo-full.png' +VITE_LOGO_REG="gruppomacro-logo-full.png" VITE_PUBLICKEY_PUSH="BJgo8XR_upbnbMLWgCAUELo6DK7dRXffYAnFOxbaMMz5favBgcQBKT-eISqouO-jRad4Sw8l5nd2wCF6KorGiTc" VITE_DEBUG="1" -VITE_VUE_APP_ISTEST=1 -DIRECTORY_LOCAL=myprojplanet_vite -DIRECTORY_SERVER=/var/www/nodejs_test.piuchebuono_server +VITE_VUE_APP_ISTEST="1" +DIRECTORY_LOCAL="myprojplanet_vite" +DIRECTORY_SERVER="/var/www/nodejs_test.piuchebuono_server" SERVERDIR_WEBSITE="/var/www/test.gruppomacro.app" SERVERPW_WEBSITE="pwdadmin@1AOK" \ No newline at end of file diff --git a/.env.test.pcb b/.env.test.pcb index 90242b34..a651dc30 100755 --- a/.env.test.pcb +++ b/.env.test.pcb @@ -5,7 +5,7 @@ VITE_LOGO_REG="piuchebuono-logo-full.png" VITE_PUBLICKEY_PUSH="BJgo8XR_upbnbMLWgCAUELo6DK7dRXffYAnFOxbaMMz5favBgcQBKT-eISqouO-jRad4Sw8l5nd2wCF6KorGiTc" VITE_DEBUG="1" VITE_VUE_APP_ISTEST="1" -DIRECTORY_LOCAL="newfreeplanet" +DIRECTORY_LOCAL="myprojplanet_vite" DIRECTORY_SERVER="/var/www/nodejs_test.piuchebuono_server" SERVERDIR_WEBSITE="/var/www/test.piuchebuono.app" SERVERPW_WEBSITE="pwdadmin@1AOK" \ No newline at end of file diff --git a/.env.test.risosrv b/.env.test.risosrv index eed57b23..e834adfe 100755 --- a/.env.test.risosrv +++ b/.env.test.risosrv @@ -1,11 +1,11 @@ VITE_APP_ID="13" VITE_APP_URL="https://test.riso.app" VITE_MONGODB_HOST="https://testapi.riso.app" -VITE_LOGO_REG='riso-logo-full.png' +VITE_LOGO_REG="riso-logo-full.png" VITE_PUBLICKEY_PUSH="BGXRf1TgcqocqD6J7qnRgCG7AvM2lxAoW7peb7UEzB4SxBb6DxGRdJ0UvD9ewnrB9KrSrh0-aDCODXBm7sZ1DDs" VITE_DEBUG="1" -VITE_VUE_APP_ISTEST=1 -DIRECTORY_LOCAL=myprojplanet_vite -DIRECTORY_SERVER=/var/www/nodejs_test.riso_server +VITE_VUE_APP_ISTEST="1" +DIRECTORY_LOCAL="myprojplanet_vite" +DIRECTORY_SERVER="/var/www/nodejs_test.riso_server" SERVERDIR_WEBSITE="/var/www/test.riso.app" SERVERPW_WEBSITE="pwdadmin@1AOK" \ No newline at end of file diff --git a/.eslintrc.js b/.eslintrc.js index 2e085dc5..db2dfec6 100755 --- a/.eslintrc.js +++ b/.eslintrc.js @@ -122,7 +122,7 @@ export default { '@typescript-eslint/no-unsafe-argument': 'off', // allow debugger during development only - 'no-debugger': import.meta.env.NODE_ENV === 'production' ? 'error' : 'off', + 'no-debugger': process.env.NODE_ENV === 'production' ? 'error' : 'off', 'max-classes-per-file': 'off', 'no-useless-constructor': 'off', diff --git a/index.html b/index.html index 3b854293..795f8111 100755 --- a/index.html +++ b/index.html @@ -10,7 +10,7 @@ - + diff --git a/package.json b/package.json index 79a9cb48..6ce63677 100755 --- a/package.json +++ b/package.json @@ -1,8 +1,8 @@ { - "name": "piuchebuono", - "version": "1.2.2", - "description": "PiuCheBuono", - "productName": "PiuCheBuono", + "name": "riso", + "version": "1.2.13", + "description": "Siamo la Rete Italiana di Scambio Orizzontale, abbiamo creato questa piattaforma per metterla al servizio di chi vuole riscoprire il valore della condivisione e della cooperazione. Valori semplici e profondi che ci aiutano a ritrovare il Senso della Vita, perduto in questa società consumista, e riporti quei Sani Pricìpi Naturali ed Umani di Fratellanza che intere popolazioni antiche conoscevano bene.", + "productName": "Riso", "author": "Surya", "private": true, "keywords": [], @@ -12,8 +12,8 @@ "dev": "quasar dev", "dev_noCheck": "SKIP_TSC=true quasar dev", "build": "quasar build", - "buildpwa": "quasar build -m pwa", - "buildpwatest": "NODE_ENV=test quasar build -m pwa", + "buildpwa": "NODE_ENV=production quasar build -m pwa", + "buildpwatest": "NODE_ENV=production quasar build -m pwa", "type-check": "vue-tsc --noEmit", "type-check:watch": "vue-tsc --noEmit --watch", "buildspa": "quasar build -m spa", @@ -29,7 +29,7 @@ "postinstall": "quasar prepare" }, "dependencies": { - "@cubejs-client/core": "^1.2.13", + "@cubejs-client/core": "^1.2.19", "@quasar/extras": "^1.16.17", "@quasar/quasar-ui-qcalendar": "^4.1.2", "@types/leaflet": "^1.9.16", @@ -37,17 +37,17 @@ "@vue/compiler-sfc": "^3.5.13", "@vuelidate/core": "^2.0.3", "@vuelidate/validators": "^2.0.4", - "acorn": "^8.14.0", + "acorn": "^8.14.1", "animate.css": "^4.1.1", - "autoprefixer": "^10.4.20", - "axios": "^1.8.1", + "autoprefixer": "^10.4.21", + "axios": "^1.8.2", "bcryptjs": "^3.0.2", "chart.js": "^4.4.8", "core-js": "^3.41.0", "crypto-browserify": "^3.12.1", "date-fns": "^4.1.0", "echarts": "5.6.0", - "eslint-plugin-n": "^17.15.1", + "eslint-plugin-n": "^17.16.2", "eslint-plugin-quasar": "^1.1.0", "graphql": "^16.10.0", "graphql-tag": "^2.12.6", @@ -64,17 +64,17 @@ "nprogress": "^0.2.0", "pinia": "^3.0.1", "qrcode-vue3": "^1.7.1", - "quasar": "^2.18.0", + "quasar": "^2.18.1", "quasar-extras": "^2.0.9", "register-service-worker": "^1.7.2", "scrollreveal": "^4.0.9", - "typescript-eslint": "^8.25.0", + "typescript-eslint": "^8.26.0", "vee-validate": "^4.15.0", "vue": "^3.5.13", "vue-class-component": "^8.0.0-rc.1", "vue-country-code": "^1.1.3", "vue-echarts": "^7.0.3", - "vue-i18n": "^11.1.1", + "vue-i18n": "^11.1.2", "vue-idb": "^0.2.0", "vue-image-zoomer": "^2.4.4", "vue-property-decorator": "^10.0.0-rc.3", @@ -95,24 +95,24 @@ "workbox-window": "^7.3.0" }, "devDependencies": { - "@eslint/js": "^9.21.0", + "@eslint/js": "^9.22.0", "@intlify/unplugin-vue-i18n": "^6.0.3", - "@quasar/app-vite": "^2.1.1", + "@quasar/app-vite": "^2.1.4", "@types/bcryptjs": "^2.4.6", "@types/google.maps": "^3.58.1", "@types/jest": "^29.5.14", "@types/js-cookie": "^3.0.6", - "@types/node": "^22.13.8", + "@types/node": "^22.13.10", "@types/nprogress": "^0.2.3", "@types/vue-tel-input": "^2.1.7", "@types/vuelidate": "^0.7.22", "@vue/devtools": "^7.7.2", "@vue/eslint-config-prettier": "^10.2.0", - "@vue/eslint-config-typescript": "^14.4.0", - "autoprefixer": "^10.4.20", + "@vue/eslint-config-typescript": "^14.5.0", + "autoprefixer": "^10.4.21", "eslint": "9", "eslint-plugin-import": "^2.31.0", - "eslint-plugin-vue": "^9.32.0", + "eslint-plugin-vue": "^10.0.0", "file-loader": "^6.2.0", "globals": "^16.0.0", "http-proxy-middleware": "^3.0.3", @@ -129,7 +129,7 @@ "typescript": "5.7.3", "vite-plugin-checker": "^0.9.0", "vue-cli-plugin-element-ui": "^1.1.4", - "vue-tsc": "^2.2.6", + "vue-tsc": "^2.2.8", "vueify": "^9.4.1", "workbox-build": "^7.3.0" }, diff --git a/public/favicon.ico b/public/favicon.ico index 765302c2..d283c964 100644 Binary files a/public/favicon.ico and b/public/favicon.ico differ diff --git a/public/images/freeplanet-logo-full.odg b/public/images/freeplanet-logo-full.odg deleted file mode 100755 index 854da650..00000000 Binary files a/public/images/freeplanet-logo-full.odg and /dev/null differ diff --git a/public/images/freeplanet-logo-full.svg b/public/images/freeplanet-logo-full.svg deleted file mode 100755 index b9c10df3..00000000 --- a/public/images/freeplanet-logo-full.svg +++ /dev/null @@ -1,1186 +0,0 @@ - - - - diff --git a/public/images/pcb-android-icon-144x144.png b/public/images/pcb-android-icon-144x144.png deleted file mode 100644 index fdea5eb1..00000000 Binary files a/public/images/pcb-android-icon-144x144.png and /dev/null differ diff --git a/public/images/pcb-android-icon-192x192.png b/public/images/pcb-android-icon-192x192.png deleted file mode 100644 index 93bb5fb7..00000000 Binary files a/public/images/pcb-android-icon-192x192.png and /dev/null differ diff --git a/public/images/pcb-android-icon-36x36.png b/public/images/pcb-android-icon-36x36.png deleted file mode 100644 index f700c0d2..00000000 Binary files a/public/images/pcb-android-icon-36x36.png and /dev/null differ diff --git a/public/images/pcb-android-icon-48x48.png b/public/images/pcb-android-icon-48x48.png deleted file mode 100644 index 4018b080..00000000 Binary files a/public/images/pcb-android-icon-48x48.png and /dev/null differ diff --git a/public/images/pcb-android-icon-72x72.png b/public/images/pcb-android-icon-72x72.png deleted file mode 100644 index fdaff445..00000000 Binary files a/public/images/pcb-android-icon-72x72.png and /dev/null differ diff --git a/public/images/pcb-android-icon-96x96.png b/public/images/pcb-android-icon-96x96.png deleted file mode 100644 index 74ae0a32..00000000 Binary files a/public/images/pcb-android-icon-96x96.png and /dev/null differ diff --git a/public/images/pcb-apple-icon-114x114.png b/public/images/pcb-apple-icon-114x114.png deleted file mode 100644 index de67dfff..00000000 Binary files a/public/images/pcb-apple-icon-114x114.png and /dev/null differ diff --git a/public/images/pcb-apple-icon-120x120.png b/public/images/pcb-apple-icon-120x120.png deleted file mode 100644 index 5864c9c8..00000000 Binary files a/public/images/pcb-apple-icon-120x120.png and /dev/null differ diff --git a/public/images/pcb-apple-icon-144x144.png b/public/images/pcb-apple-icon-144x144.png deleted file mode 100644 index fdea5eb1..00000000 Binary files a/public/images/pcb-apple-icon-144x144.png and /dev/null differ diff --git a/public/images/pcb-apple-icon-152x152.png b/public/images/pcb-apple-icon-152x152.png deleted file mode 100644 index 6e92509a..00000000 Binary files a/public/images/pcb-apple-icon-152x152.png and /dev/null differ diff --git a/public/images/pcb-apple-icon-180x180.png b/public/images/pcb-apple-icon-180x180.png deleted file mode 100644 index 4d59cedc..00000000 Binary files a/public/images/pcb-apple-icon-180x180.png and /dev/null differ diff --git a/public/images/pcb-apple-icon-57x57.png b/public/images/pcb-apple-icon-57x57.png deleted file mode 100644 index fb201a9d..00000000 Binary files a/public/images/pcb-apple-icon-57x57.png and /dev/null differ diff --git a/public/images/pcb-apple-icon-60x60.png b/public/images/pcb-apple-icon-60x60.png deleted file mode 100644 index 3b5f1c33..00000000 Binary files a/public/images/pcb-apple-icon-60x60.png and /dev/null differ diff --git a/public/images/pcb-apple-icon-72x72.png b/public/images/pcb-apple-icon-72x72.png deleted file mode 100644 index fdaff445..00000000 Binary files a/public/images/pcb-apple-icon-72x72.png and /dev/null differ diff --git a/public/images/pcb-apple-icon-76x76.png b/public/images/pcb-apple-icon-76x76.png deleted file mode 100644 index 2882992b..00000000 Binary files a/public/images/pcb-apple-icon-76x76.png and /dev/null differ diff --git a/public/images/pcb-apple-icon.png b/public/images/pcb-apple-icon.png deleted file mode 100644 index 422a8dca..00000000 Binary files a/public/images/pcb-apple-icon.png and /dev/null differ diff --git a/public/images/piuchebuono-logo-full.png b/public/images/piuchebuono-logo-full.png deleted file mode 100644 index 5465d80c..00000000 Binary files a/public/images/piuchebuono-logo-full.png and /dev/null differ diff --git a/public/images/riso-android-icon-144x144.png b/public/images/riso-android-icon-144x144.png new file mode 100644 index 00000000..37dcd661 Binary files /dev/null and b/public/images/riso-android-icon-144x144.png differ diff --git a/public/images/riso-android-icon-192x192.png b/public/images/riso-android-icon-192x192.png new file mode 100644 index 00000000..95b960e9 Binary files /dev/null and b/public/images/riso-android-icon-192x192.png differ diff --git a/public/images/riso-android-icon-384x384.png b/public/images/riso-android-icon-384x384.png new file mode 100644 index 00000000..ce1ffc47 Binary files /dev/null and b/public/images/riso-android-icon-384x384.png differ diff --git a/public/images/riso-android-icon-48x48.png b/public/images/riso-android-icon-48x48.png new file mode 100644 index 00000000..499e8674 Binary files /dev/null and b/public/images/riso-android-icon-48x48.png differ diff --git a/public/images/riso-android-icon-512x512.png b/public/images/riso-android-icon-512x512.png new file mode 100644 index 00000000..e1c31acd Binary files /dev/null and b/public/images/riso-android-icon-512x512.png differ diff --git a/public/images/riso-android-icon-96x96.png b/public/images/riso-android-icon-96x96.png new file mode 100644 index 00000000..98dbf9d9 Binary files /dev/null and b/public/images/riso-android-icon-96x96.png differ diff --git a/public/images/riso-apple-icon-114x114.png b/public/images/riso-apple-icon-114x114.png new file mode 100644 index 00000000..882dd21c Binary files /dev/null and b/public/images/riso-apple-icon-114x114.png differ diff --git a/public/images/riso-apple-icon-120x120.png b/public/images/riso-apple-icon-120x120.png new file mode 100644 index 00000000..734b0503 Binary files /dev/null and b/public/images/riso-apple-icon-120x120.png differ diff --git a/public/images/riso-apple-icon-144x144.png b/public/images/riso-apple-icon-144x144.png new file mode 100644 index 00000000..923da7be Binary files /dev/null and b/public/images/riso-apple-icon-144x144.png differ diff --git a/public/images/riso-apple-icon-152x152.png b/public/images/riso-apple-icon-152x152.png new file mode 100644 index 00000000..84fd455d Binary files /dev/null and b/public/images/riso-apple-icon-152x152.png differ diff --git a/public/images/riso-apple-icon-180x180.png b/public/images/riso-apple-icon-180x180.png new file mode 100644 index 00000000..e457d906 Binary files /dev/null and b/public/images/riso-apple-icon-180x180.png differ diff --git a/public/images/riso-apple-icon-57x57.png b/public/images/riso-apple-icon-57x57.png new file mode 100644 index 00000000..f5f538db Binary files /dev/null and b/public/images/riso-apple-icon-57x57.png differ diff --git a/public/images/riso-apple-icon-60x60.png b/public/images/riso-apple-icon-60x60.png new file mode 100644 index 00000000..4121f834 Binary files /dev/null and b/public/images/riso-apple-icon-60x60.png differ diff --git a/public/images/riso-apple-icon-72x72.png b/public/images/riso-apple-icon-72x72.png new file mode 100644 index 00000000..5efd872d Binary files /dev/null and b/public/images/riso-apple-icon-72x72.png differ diff --git a/public/images/riso-apple-icon-76x76.png b/public/images/riso-apple-icon-76x76.png new file mode 100644 index 00000000..6db4b76f Binary files /dev/null and b/public/images/riso-apple-icon-76x76.png differ diff --git a/public/images/riso-apple-icon.png b/public/images/riso-apple-icon.png new file mode 100644 index 00000000..cfaeb3c0 Binary files /dev/null and b/public/images/riso-apple-icon.png differ diff --git a/public/images/riso-logo-full.png b/public/images/riso-logo-full.png new file mode 100644 index 00000000..51a29654 Binary files /dev/null and b/public/images/riso-logo-full.png differ diff --git a/public/myicons/favicon-16x16.png b/public/myicons/favicon-16x16.png index d5a67f48..c28cef9f 100644 Binary files a/public/myicons/favicon-16x16.png and b/public/myicons/favicon-16x16.png differ diff --git a/public/myicons/favicon-32x32.png b/public/myicons/favicon-32x32.png index f2149cac..a02e38b0 100644 Binary files a/public/myicons/favicon-32x32.png and b/public/myicons/favicon-32x32.png differ diff --git a/public/myicons/favicon-96x96.png b/public/myicons/favicon-96x96.png new file mode 100644 index 00000000..f741b210 Binary files /dev/null and b/public/myicons/favicon-96x96.png differ diff --git a/quasar.config.ts b/quasar.config.ts index 5cb69fb6..6b7b66cc 100644 --- a/quasar.config.ts +++ b/quasar.config.ts @@ -3,6 +3,8 @@ 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 @@ -121,7 +123,6 @@ export default defineConfig((ctx) => { 'statics': path.resolve(__dirname, 'src/statics'), 'components': path.resolve(__dirname, 'src/components'), 'views': path.resolve(__dirname, 'src/views/index.ts'), - 'icons': path.resolve(__dirname, 'public/myicons'), 'images': path.resolve(__dirname, 'src/assets/images'), 'maps': path.resolve(__dirname, 'public/maps'), 'classes': path.resolve(__dirname, 'src/classes/index.ts'), @@ -215,7 +216,7 @@ export default defineConfig((ctx) => { // Full list of options: https://v2.quasar.dev/quasar-cli/quasar-conf-js#Property%3A-devServer devServer: { https: false, - port: ctx.mode.spa ? 8088 : 8098, + port: ctx.mode.spa ? 8084 : 8094, vueDevtools: false, // automatically opening remote Vue Devtools open: false, // opens browser window automatically hot: true, // Disable hot module replacement @@ -358,23 +359,24 @@ export default defineConfig((ctx) => { ], }, + + // https://v2.quasar.dev/quasar-cli/developing-pwa/configuring-pwa pwa: { workboxMode: 'InjectManifest', // 'GenerateSW' or 'InjectManifest' - swFilename: 'sw-' + "1.2.2" + '.js', + swFilename: 'sw-' + "1.2.13" + '.js', workboxOptions: { swSrc: 'src-pwa/custom-service-worker.js', // Assicurati che il file esista }, - extendGenerateSWOptions(cfg) { + /*extendGenerateSWOptions(cfg) { cfg.skipWaiting = false cfg.clientsClaim = false - }, + },*/ }, sourceFiles: { - // DEFAULT: pwaRegisterServiceWorker: 'src-pwa/register-service-worker', - // DEFAULT: pwaServiceWorker: 'src-pwa/custom-service-worker', - // DEFAULT: pwaManifestFile: 'src-pwa/manifest.json', - // ... + pwaRegisterServiceWorker: 'src-pwa/register-service-worker', + pwaServiceWorker: 'src-pwa/custom-service-worker', + pwaManifestFile: 'src-pwa/manifest.json', }, // Full list of options: https://v2.quasar.dev/quasar-cli/developing-cordova-apps/configuring-cordova @@ -407,7 +409,7 @@ export default defineConfig((ctx) => { builder: { // https://www.electron.build/configuration/configuration - appId: 'PiuCheBuono', + appId: 'Riso', }, diff --git a/scripts/_ALL_SITES/comunitanuovomondo.app/package.json b/scripts/_ALL_SITES/comunitanuovomondo.app/package.json index e4681522..b15db4b1 100755 --- a/scripts/_ALL_SITES/comunitanuovomondo.app/package.json +++ b/scripts/_ALL_SITES/comunitanuovomondo.app/package.json @@ -1,6 +1,6 @@ { "name": "riso", - "version": "1.2.2", + "version": "1.2.13", "description": "Siamo la Rete Italiana di Scambio Orizzontale, abbiamo creato questa piattaforma per metterla al servizio di chi vuole riscoprire il valore della condivisione e della cooperazione. Valori semplici e profondi che ci aiutano a ritrovare il Senso della Vita, perduto in questa società consumista, e riporti quei Sani Pricìpi Naturali ed Umani di Fratellanza che intere popolazioni antiche conoscevano bene.", "productName": "Riso", "author": "Surya", diff --git a/scripts/_ALL_SITES/gruppomacro.app/.env.production b/scripts/_ALL_SITES/gruppomacro.app/.env.production index 1ff1d2b6..b6e48097 100644 --- a/scripts/_ALL_SITES/gruppomacro.app/.env.production +++ b/scripts/_ALL_SITES/gruppomacro.app/.env.production @@ -3,9 +3,9 @@ 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_DEBUG="1" +VITE_DEBUG="0" VITE_VUE_APP_ISTEST="0" -DIRECTORY_LOCAL=newfreeplanet -DIRECTORY_SERVER=/var/www/freeplanet_serverside +DIRECTORY_LOCAL="myprojplanet_vite" +DIRECTORY_SERVER="/var/www/nodejs_piuchebuono_server" SERVERDIR_WEBSITE="/var/www/gruppomacro.app" -SERVERPW_WEBSITE=pwdadmin@1AOK +SERVERPW_WEBSITE="pwdadmin@1AOK" diff --git a/scripts/_ALL_SITES/gruppomacro.app/.env.test b/scripts/_ALL_SITES/gruppomacro.app/.env.test index 22432a2d..2a577413 100755 --- a/scripts/_ALL_SITES/gruppomacro.app/.env.test +++ b/scripts/_ALL_SITES/gruppomacro.app/.env.test @@ -1,9 +1,11 @@ VITE_APP_ID="18" -DIRECTORY_LOCAL=newfreeplanet -DIRECTORY_SERVER=/var/www/nodejs_test.piuchebuono_server -SERVERDIR_WEBSITE="/var/www/test.gruppomacro.app" VITE_APP_URL="https://test.gruppomacro.app" VITE_MONGODB_HOST="https://testapi.gruppomacro.app" -VITE_LOGO_REG='gruppomacro-logo-full.png' +VITE_LOGO_REG="gruppomacro-logo-full.png" VITE_PUBLICKEY_PUSH="BJgo8XR_upbnbMLWgCAUELo6DK7dRXffYAnFOxbaMMz5favBgcQBKT-eISqouO-jRad4Sw8l5nd2wCF6KorGiTc" -VITE_VUE_APP_ISTEST=1 \ No newline at end of file +VITE_DEBUG="1" +VITE_VUE_APP_ISTEST="1" +DIRECTORY_LOCAL="myprojplanet_vite" +DIRECTORY_SERVER="/var/www/nodejs_test.piuchebuono_server" +SERVERDIR_WEBSITE="/var/www/test.gruppomacro.app" +SERVERPW_WEBSITE="pwdadmin@1AOK" \ No newline at end of file diff --git a/scripts/_ALL_SITES/gruppomacro.app/db/lang/ws_it.js b/scripts/_ALL_SITES/gruppomacro.app/db/lang/ws_it.js index 9cd59a3d..8e3eba27 100755 --- a/scripts/_ALL_SITES/gruppomacro.app/db/lang/ws_it.js +++ b/scripts/_ALL_SITES/gruppomacro.app/db/lang/ws_it.js @@ -1,9 +1,9 @@ const msg_website_it = { ws: { - sitename: 'Riso', - siteshortname: 'RISO', - description: 'Siamo la Rete Italiana di Scambio Orizzontale, abbiamo creato questa piattaforma per metterla al servizio di chi vuole riscoprire il valore della condivisione e della cooperazione. Valori semplici e profondi che ci aiutano a ritrovare il Senso della Vita, perduto in questa società consumista, e riporti quei Sani Pricìpi Naturali ed Umani di Fratellanza che intere popolazioni antiche conoscevano bene.', - keywords: 'riso, piattaforma di scambio, rete italiana scambio orizzontale, riso app, riso piattaforma, scambio e baratto, momenta RIS', + sitename: 'Gruppo Macro', + siteshortname: 'Gruppo Macro', + description: '', + keywords: '', }, hours: { descr: 'Descrizione', @@ -16,29 +16,20 @@ const msg_website_it = { pages: { home: 'Home', profile: 'Profilo', + install_site: 'Installa Sito', profile2: 'ProfiloU', mypage2: 'mypage2', myservice2: 'myservice2', myhosps2: 'myhosps2', mygood2: 'mygood2', + catalogo: 'Catalogo', fundraising: 'Sostieni il Progetto', notifs: 'Configura le Notifiche', unsubscribe: 'Disiscriviti', + unsubscribe_user: 'Disiscriviti User', test: 'Test', projects: 'Progetti', report: 'Report Ore', - producer: 'Produttore', - orderinfo: 'Ordini Effettuati', - products: 'Prodotti', - productslist: 'Lista Prodotti', - collabora: 'Collabora', - storehouses: 'Magazzino', - departments: 'Uffici', - orders: 'Ordini Ricevuti', - orders2: 'Ordini Ricevuti', - sharewithus: 'Condividi con Noi', - checkout: 'Carrello', - payment: 'Pagamenti', regok: 'Registrazione Confermata', presentazione: 'Presentazione', presentazione2: 'Presentazione', @@ -89,9 +80,6 @@ const msg_website_it = { projectsShared: 'Condivisi da me', myprojects: 'Privati', favproj: 'Favoriti', - admin_ecommerce: 'ECommerce', - ecommerce: 'Prodotti', - ecommerce_menu: 'ECommerce1', hours: 'Ore', department: 'Uffici', title: 'Titolo', @@ -121,15 +109,9 @@ const msg_website_it = { only_residenti: 'Solo Residenti', only_consiglio: 'Solo Consiglieri', color: 'Colore', - mainMenu: 'Menu Principale', - subtitle: 'Sottotitolo', - lang: 'Lingua', - keywords: 'Parole Chiave', - desctiption: 'Descrizione', - heightimg: 'Altezza Immagine', }, msg: { - myAppName: 'Riso', + myAppName: 'Più che Buono', myAppDescription: 'Il primo Vero Social Libero, Equo e Solidale, dove Vive Consapevolezza e Aiuto Comunitario. Gratuito', underconstruction: 'App in costruzione...', myDescriz: '', diff --git a/scripts/_ALL_SITES/gruppomacro.app/db/static_data.ts b/scripts/_ALL_SITES/gruppomacro.app/db/static_data.ts index fcbce6cc..3e5faa34 100755 --- a/scripts/_ALL_SITES/gruppomacro.app/db/static_data.ts +++ b/scripts/_ALL_SITES/gruppomacro.app/db/static_data.ts @@ -1,4 +1,6 @@ -import type { +/* GRUPPOMACRO APP +*/ +import { IListRoutes, ILang, IPreloadImages, @@ -67,39 +69,6 @@ function getDynamicPages(site: ISites): IListRoutes[] { inmenu: false, infooter: false, }, - { - active: true, - order: 12, - path: '/goods', - materialIcon: 'fas fa-tshirt', - name: 'mypages.goods', - component: () => import('@src/root/goods/goods.vue'), - meta: { requiresAuth: true }, - inmenu: true, - infooter: true, - }, - { - active: true, - order: 15, - path: '/services', - materialIcon: 'fas fa-house-user', - name: 'mypages.services', - component: () => import('@src/root/services/services.vue'), - meta: { requiresAuth: true }, - inmenu: true, - infooter: true, - }, - { - active: true, - order: 15, - path: '/activities', - materialIcon: 'fas fa-house-user', - name: 'mypages.activities', - component: () => import('@src/root/activities/activities.vue'), - meta: { requiresAuth: true }, - inmenu: false, - infooter: false, - }, { active: true, order: 15, @@ -111,17 +80,6 @@ function getDynamicPages(site: ISites): IListRoutes[] { inmenu: false, infooter: false, }, - { - active: true, - order: 15, - path: '/hosps', - materialIcon: 'fas fa-bed', - name: 'mypages.hosp', - component: () => import('@src/root/hosp/hosp.vue'), - meta: { requiresAuth: true }, - inmenu: true, - infooter: true, - }, { active: site.confpages && site.confpages.enableCircuits, order: 16, @@ -134,7 +92,7 @@ function getDynamicPages(site: ISites): IListRoutes[] { infooter: true, }, { - active: true, + active: site.confpages && site.confpages.enableEvents, order: 20, path: '/events', materialIcon: 'fas fa-bullhorn', @@ -156,7 +114,7 @@ function getDynamicPages(site: ISites): IListRoutes[] { infooter: false, }, { - active: true, + active: site.confpages && site.confpages.showProfile, order: 120, path: '/myprofile', materialIcon: 'fas fa-user', @@ -167,7 +125,7 @@ function getDynamicPages(site: ISites): IListRoutes[] { infooter: true, }, { - active: true, + active: site.confpages && site.confpages.showProfile, order: 120, path: '/editprofile', materialIcon: 'fas fa-user', @@ -178,7 +136,7 @@ function getDynamicPages(site: ISites): IListRoutes[] { infooter: false, }, { - active: true, + active: site.confpages && site.confpages.showiscrittiMenu, order: 130, path: '/friends', materialIcon: 'fas fa-user-friends', @@ -273,16 +231,6 @@ function getDynamicPages(site: ISites): IListRoutes[] { inmenu: false, infooter: false, }, - { - active: true, - order: 150, - path: '/sostieniilprogetto', - materialIcon: 'fas fa-hand-holding-heart', - name: 'pages.fundraising', - component: () => import('@src/root/fundraising/fundraising.vue'), - inmenu: false, - infooter: false, - }, { active: true, order: 80, @@ -301,7 +249,7 @@ function getDynamicPages(site: ISites): IListRoutes[] { export function firstimagehome() { - const img = 'statics/images/background.jpg' + let img = 'statics/images/background.jpg' return img } diff --git a/scripts/_ALL_SITES/gruppomacro.app/package.json b/scripts/_ALL_SITES/gruppomacro.app/package.json index 68802df1..465b0201 100755 --- a/scripts/_ALL_SITES/gruppomacro.app/package.json +++ b/scripts/_ALL_SITES/gruppomacro.app/package.json @@ -1,6 +1,6 @@ { "name": "gruppomacro", - "version": "1.2.2", + "version": "1.2.13", "description": "Gruppo Macro", "productName": "Gruppo Macro", "author": "Surya", @@ -12,8 +12,8 @@ "dev": "quasar dev", "dev_noCheck": "SKIP_TSC=true quasar dev", "build": "quasar build", - "buildpwa": "quasar build -m pwa", - "buildpwatest": "NODE_ENV=test quasar build -m pwa", + "buildpwa": "NODE_ENV=production quasar build -m pwa", + "buildpwatest": "NODE_ENV=production quasar build -m pwa", "type-check": "vue-tsc --noEmit", "type-check:watch": "vue-tsc --noEmit --watch", "buildspa": "quasar build -m spa", @@ -22,7 +22,7 @@ "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": "quasar dev -m pwa", - "spa": "quasar dev", + "spa": "NODE_ENV=development quasar dev", "debug": "quasar dev --mode debug", "test": "echo \"No test specified\" && exit 0", "generate-sw": "workbox generateSW workbox-config.js", diff --git a/scripts/_ALL_SITES/gruppomacro.app/quasar.config.ts b/scripts/_ALL_SITES/gruppomacro.app/quasar.config.ts index 10193546..be658e16 100644 --- a/scripts/_ALL_SITES/gruppomacro.app/quasar.config.ts +++ b/scripts/_ALL_SITES/gruppomacro.app/quasar.config.ts @@ -360,21 +360,20 @@ export default defineConfig((ctx) => { pwa: { workboxMode: 'InjectManifest', // 'GenerateSW' or 'InjectManifest' - swFilename: 'sw-' + "1.2.2" + '.js', + swFilename: 'sw-' + "1.2.13" + '.js', workboxOptions: { swSrc: 'src-pwa/custom-service-worker.js', // Assicurati che il file esista }, - extendGenerateSWOptions(cfg) { + /*extendGenerateSWOptions(cfg) { cfg.skipWaiting = false cfg.clientsClaim = false - }, + },*/ }, sourceFiles: { - // DEFAULT: pwaRegisterServiceWorker: 'src-pwa/register-service-worker', - // DEFAULT: pwaServiceWorker: 'src-pwa/custom-service-worker', - // DEFAULT: pwaManifestFile: 'src-pwa/manifest.json', - // ... + pwaRegisterServiceWorker: 'src-pwa/register-service-worker', + pwaServiceWorker: 'src-pwa/custom-service-worker', + pwaManifestFile: 'src-pwa/manifest.json', }, // Full list of options: https://v2.quasar.dev/quasar-cli/developing-cordova-apps/configuring-cordova diff --git a/scripts/_ALL_SITES/gruppomacro.app/manifest.json b/scripts/_ALL_SITES/gruppomacro.app/src-pwa/manifest.json similarity index 86% rename from scripts/_ALL_SITES/gruppomacro.app/manifest.json rename to scripts/_ALL_SITES/gruppomacro.app/src-pwa/manifest.json index dc97a39e..630ede53 100644 --- a/scripts/_ALL_SITES/gruppomacro.app/manifest.json +++ b/scripts/_ALL_SITES/gruppomacro.app/src-pwa/manifest.json @@ -13,17 +13,17 @@ { "src": "images/gm-android-icon-512x512.png", "sizes": "512x512", - "type": "image/png", + "type": "image/png" }, { "src": "images/gm-android-icon-192x192.png", "sizes": "192x192", - "type": "image/png", + "type": "image/png" }, { "src": "images/gm-apple-touch-icon.png", "sizes": "180x180", - "type": "image/png", + "type": "image/png" } ] } \ No newline at end of file diff --git a/db/data/popolazione.js b/scripts/_ALL_SITES/gruppomacro.app/src/db/data/popolazione.js similarity index 100% rename from db/data/popolazione.js rename to scripts/_ALL_SITES/gruppomacro.app/src/db/data/popolazione.js diff --git a/db/db/db_data.js b/scripts/_ALL_SITES/gruppomacro.app/src/db/db_data.js similarity index 100% rename from db/db/db_data.js rename to scripts/_ALL_SITES/gruppomacro.app/src/db/db_data.js diff --git a/db/db/i18n_website.js b/scripts/_ALL_SITES/gruppomacro.app/src/db/i18n_website.js similarity index 100% rename from db/db/i18n_website.js rename to scripts/_ALL_SITES/gruppomacro.app/src/db/i18n_website.js diff --git a/db/db/lang/languages.ts b/scripts/_ALL_SITES/gruppomacro.app/src/db/lang/languages.ts similarity index 100% rename from db/db/lang/languages.ts rename to scripts/_ALL_SITES/gruppomacro.app/src/db/lang/languages.ts diff --git a/db/db/lang/ws_de.js b/scripts/_ALL_SITES/gruppomacro.app/src/db/lang/ws_de.js similarity index 100% rename from db/db/lang/ws_de.js rename to scripts/_ALL_SITES/gruppomacro.app/src/db/lang/ws_de.js diff --git a/db/db/lang/ws_enUs.js b/scripts/_ALL_SITES/gruppomacro.app/src/db/lang/ws_enUs.js similarity index 100% rename from db/db/lang/ws_enUs.js rename to scripts/_ALL_SITES/gruppomacro.app/src/db/lang/ws_enUs.js diff --git a/db/db/lang/ws_es.js b/scripts/_ALL_SITES/gruppomacro.app/src/db/lang/ws_es.js similarity index 100% rename from db/db/lang/ws_es.js rename to scripts/_ALL_SITES/gruppomacro.app/src/db/lang/ws_es.js diff --git a/db/db/lang/ws_fr.js b/scripts/_ALL_SITES/gruppomacro.app/src/db/lang/ws_fr.js similarity index 100% rename from db/db/lang/ws_fr.js rename to scripts/_ALL_SITES/gruppomacro.app/src/db/lang/ws_fr.js diff --git a/scripts/_ALL_SITES/riso.app/db/lang/ws_it.js b/scripts/_ALL_SITES/gruppomacro.app/src/db/lang/ws_it.js similarity index 88% rename from scripts/_ALL_SITES/riso.app/db/lang/ws_it.js rename to scripts/_ALL_SITES/gruppomacro.app/src/db/lang/ws_it.js index 9cd59a3d..8e3eba27 100755 --- a/scripts/_ALL_SITES/riso.app/db/lang/ws_it.js +++ b/scripts/_ALL_SITES/gruppomacro.app/src/db/lang/ws_it.js @@ -1,9 +1,9 @@ const msg_website_it = { ws: { - sitename: 'Riso', - siteshortname: 'RISO', - description: 'Siamo la Rete Italiana di Scambio Orizzontale, abbiamo creato questa piattaforma per metterla al servizio di chi vuole riscoprire il valore della condivisione e della cooperazione. Valori semplici e profondi che ci aiutano a ritrovare il Senso della Vita, perduto in questa società consumista, e riporti quei Sani Pricìpi Naturali ed Umani di Fratellanza che intere popolazioni antiche conoscevano bene.', - keywords: 'riso, piattaforma di scambio, rete italiana scambio orizzontale, riso app, riso piattaforma, scambio e baratto, momenta RIS', + sitename: 'Gruppo Macro', + siteshortname: 'Gruppo Macro', + description: '', + keywords: '', }, hours: { descr: 'Descrizione', @@ -16,29 +16,20 @@ const msg_website_it = { pages: { home: 'Home', profile: 'Profilo', + install_site: 'Installa Sito', profile2: 'ProfiloU', mypage2: 'mypage2', myservice2: 'myservice2', myhosps2: 'myhosps2', mygood2: 'mygood2', + catalogo: 'Catalogo', fundraising: 'Sostieni il Progetto', notifs: 'Configura le Notifiche', unsubscribe: 'Disiscriviti', + unsubscribe_user: 'Disiscriviti User', test: 'Test', projects: 'Progetti', report: 'Report Ore', - producer: 'Produttore', - orderinfo: 'Ordini Effettuati', - products: 'Prodotti', - productslist: 'Lista Prodotti', - collabora: 'Collabora', - storehouses: 'Magazzino', - departments: 'Uffici', - orders: 'Ordini Ricevuti', - orders2: 'Ordini Ricevuti', - sharewithus: 'Condividi con Noi', - checkout: 'Carrello', - payment: 'Pagamenti', regok: 'Registrazione Confermata', presentazione: 'Presentazione', presentazione2: 'Presentazione', @@ -89,9 +80,6 @@ const msg_website_it = { projectsShared: 'Condivisi da me', myprojects: 'Privati', favproj: 'Favoriti', - admin_ecommerce: 'ECommerce', - ecommerce: 'Prodotti', - ecommerce_menu: 'ECommerce1', hours: 'Ore', department: 'Uffici', title: 'Titolo', @@ -121,15 +109,9 @@ const msg_website_it = { only_residenti: 'Solo Residenti', only_consiglio: 'Solo Consiglieri', color: 'Colore', - mainMenu: 'Menu Principale', - subtitle: 'Sottotitolo', - lang: 'Lingua', - keywords: 'Parole Chiave', - desctiption: 'Descrizione', - heightimg: 'Altezza Immagine', }, msg: { - myAppName: 'Riso', + myAppName: 'Più che Buono', myAppDescription: 'Il primo Vero Social Libero, Equo e Solidale, dove Vive Consapevolezza e Aiuto Comunitario. Gratuito', underconstruction: 'App in costruzione...', myDescriz: '', diff --git a/db/db/lang/ws_pt.js b/scripts/_ALL_SITES/gruppomacro.app/src/db/lang/ws_pt.js similarity index 100% rename from db/db/lang/ws_pt.js rename to scripts/_ALL_SITES/gruppomacro.app/src/db/lang/ws_pt.js diff --git a/db/db/lang/ws_si.js b/scripts/_ALL_SITES/gruppomacro.app/src/db/lang/ws_si.js similarity index 100% rename from db/db/lang/ws_si.js rename to scripts/_ALL_SITES/gruppomacro.app/src/db/lang/ws_si.js diff --git a/scripts/_ALL_SITES/riso.app/db/static_data.ts b/scripts/_ALL_SITES/gruppomacro.app/src/db/static_data.ts similarity index 81% rename from scripts/_ALL_SITES/riso.app/db/static_data.ts rename to scripts/_ALL_SITES/gruppomacro.app/src/db/static_data.ts index fcbce6cc..3e5faa34 100755 --- a/scripts/_ALL_SITES/riso.app/db/static_data.ts +++ b/scripts/_ALL_SITES/gruppomacro.app/src/db/static_data.ts @@ -1,4 +1,6 @@ -import type { +/* GRUPPOMACRO APP +*/ +import { IListRoutes, ILang, IPreloadImages, @@ -67,39 +69,6 @@ function getDynamicPages(site: ISites): IListRoutes[] { inmenu: false, infooter: false, }, - { - active: true, - order: 12, - path: '/goods', - materialIcon: 'fas fa-tshirt', - name: 'mypages.goods', - component: () => import('@src/root/goods/goods.vue'), - meta: { requiresAuth: true }, - inmenu: true, - infooter: true, - }, - { - active: true, - order: 15, - path: '/services', - materialIcon: 'fas fa-house-user', - name: 'mypages.services', - component: () => import('@src/root/services/services.vue'), - meta: { requiresAuth: true }, - inmenu: true, - infooter: true, - }, - { - active: true, - order: 15, - path: '/activities', - materialIcon: 'fas fa-house-user', - name: 'mypages.activities', - component: () => import('@src/root/activities/activities.vue'), - meta: { requiresAuth: true }, - inmenu: false, - infooter: false, - }, { active: true, order: 15, @@ -111,17 +80,6 @@ function getDynamicPages(site: ISites): IListRoutes[] { inmenu: false, infooter: false, }, - { - active: true, - order: 15, - path: '/hosps', - materialIcon: 'fas fa-bed', - name: 'mypages.hosp', - component: () => import('@src/root/hosp/hosp.vue'), - meta: { requiresAuth: true }, - inmenu: true, - infooter: true, - }, { active: site.confpages && site.confpages.enableCircuits, order: 16, @@ -134,7 +92,7 @@ function getDynamicPages(site: ISites): IListRoutes[] { infooter: true, }, { - active: true, + active: site.confpages && site.confpages.enableEvents, order: 20, path: '/events', materialIcon: 'fas fa-bullhorn', @@ -156,7 +114,7 @@ function getDynamicPages(site: ISites): IListRoutes[] { infooter: false, }, { - active: true, + active: site.confpages && site.confpages.showProfile, order: 120, path: '/myprofile', materialIcon: 'fas fa-user', @@ -167,7 +125,7 @@ function getDynamicPages(site: ISites): IListRoutes[] { infooter: true, }, { - active: true, + active: site.confpages && site.confpages.showProfile, order: 120, path: '/editprofile', materialIcon: 'fas fa-user', @@ -178,7 +136,7 @@ function getDynamicPages(site: ISites): IListRoutes[] { infooter: false, }, { - active: true, + active: site.confpages && site.confpages.showiscrittiMenu, order: 130, path: '/friends', materialIcon: 'fas fa-user-friends', @@ -273,16 +231,6 @@ function getDynamicPages(site: ISites): IListRoutes[] { inmenu: false, infooter: false, }, - { - active: true, - order: 150, - path: '/sostieniilprogetto', - materialIcon: 'fas fa-hand-holding-heart', - name: 'pages.fundraising', - component: () => import('@src/root/fundraising/fundraising.vue'), - inmenu: false, - infooter: false, - }, { active: true, order: 80, @@ -301,7 +249,7 @@ function getDynamicPages(site: ISites): IListRoutes[] { export function firstimagehome() { - const img = 'statics/images/background.jpg' + let img = 'statics/images/background.jpg' return img } diff --git a/scripts/_ALL_SITES/kolibrilab.it/package.json b/scripts/_ALL_SITES/kolibrilab.it/package.json index 1b6c423b..847e973f 100755 --- a/scripts/_ALL_SITES/kolibrilab.it/package.json +++ b/scripts/_ALL_SITES/kolibrilab.it/package.json @@ -10,7 +10,7 @@ "scripts": { "dev": "quasar dev", "build": "quasar build", - "buildpwa": "quasar build -m pwa", + "buildpwa": "NODE_ENV=production quasar build -m pwa", "buildspa": "quasar build -m spa", "lint": "eslint --ext .js,.ts,.vue --ignore-path .gitignore ./", "lintfile": "eslint --ext .js,.ts,.vue --ignore-path .gitignore ./ > file.out.txt", @@ -136,4 +136,4 @@ "npm": ">= 6.14.8", "yarn": ">= 1.21.1" } -} +} \ No newline at end of file diff --git a/scripts/_ALL_SITES/piuchebuono.app/.env.production b/scripts/_ALL_SITES/piuchebuono.app/.env.production index 97ce984b..a651dc30 100644 --- a/scripts/_ALL_SITES/piuchebuono.app/.env.production +++ b/scripts/_ALL_SITES/piuchebuono.app/.env.production @@ -1,11 +1,11 @@ VITE_APP_ID="17" -VITE_APP_URL="https://piuchebuono.app" -VITE_MONGODB_HOST="https://api.piuchebuono.app" +VITE_APP_URL="https://test.piuchebuono.app" +VITE_MONGODB_HOST="https://testapi.piuchebuono.app" VITE_LOGO_REG="piuchebuono-logo-full.png" VITE_PUBLICKEY_PUSH="BJgo8XR_upbnbMLWgCAUELo6DK7dRXffYAnFOxbaMMz5favBgcQBKT-eISqouO-jRad4Sw8l5nd2wCF6KorGiTc" -VITE_DEBUG="0" -VITE_VUE_APP_ISTEST="0" +VITE_DEBUG="1" +VITE_VUE_APP_ISTEST="1" DIRECTORY_LOCAL="myprojplanet_vite" -DIRECTORY_SERVER="/var/www/nodejs_piuchebuono_server" -SERVERDIR_WEBSITE="/var/www/piuchebuono.app" -SERVERPW_WEBSITE="pwdadmin@1AOK" +DIRECTORY_SERVER="/var/www/nodejs_test.piuchebuono_server" +SERVERDIR_WEBSITE="/var/www/test.piuchebuono.app" +SERVERPW_WEBSITE="pwdadmin@1AOK" \ No newline at end of file diff --git a/scripts/_ALL_SITES/piuchebuono.app/.env.test b/scripts/_ALL_SITES/piuchebuono.app/.env.test index 85d2dc5b..a651dc30 100755 --- a/scripts/_ALL_SITES/piuchebuono.app/.env.test +++ b/scripts/_ALL_SITES/piuchebuono.app/.env.test @@ -5,6 +5,7 @@ VITE_LOGO_REG="piuchebuono-logo-full.png" VITE_PUBLICKEY_PUSH="BJgo8XR_upbnbMLWgCAUELo6DK7dRXffYAnFOxbaMMz5favBgcQBKT-eISqouO-jRad4Sw8l5nd2wCF6KorGiTc" VITE_DEBUG="1" VITE_VUE_APP_ISTEST="1" -DIRECTORY_LOCAL="newfreeplanet" +DIRECTORY_LOCAL="myprojplanet_vite" DIRECTORY_SERVER="/var/www/nodejs_test.piuchebuono_server" -SERVERDIR_WEBSITE="/var/www/test.piuchebuono.app" \ No newline at end of file +SERVERDIR_WEBSITE="/var/www/test.piuchebuono.app" +SERVERPW_WEBSITE="pwdadmin@1AOK" \ No newline at end of file diff --git a/scripts/_ALL_SITES/piuchebuono.app/quasar.conf.js b/scripts/_ALL_SITES/piuchebuono.app/OLD-quasar.conf.js similarity index 100% rename from scripts/_ALL_SITES/piuchebuono.app/quasar.conf.js rename to scripts/_ALL_SITES/piuchebuono.app/OLD-quasar.conf.js diff --git a/scripts/_ALL_SITES/piuchebuono.app/db/lang/ws_enUs.js b/scripts/_ALL_SITES/piuchebuono.app/db/lang/ws_enUs.js index 4b20853c..25b51103 100755 --- a/scripts/_ALL_SITES/piuchebuono.app/db/lang/ws_enUs.js +++ b/scripts/_ALL_SITES/piuchebuono.app/db/lang/ws_enUs.js @@ -8,6 +8,8 @@ const msg_website_enUs = { products: { quantity: 'Quantità', quantityAvailable: 'Disponibili', + stockQty: 'In Magazzino', + stockBloccatiQty: 'Bloccati In Magazzino', weight: 'Peso', stars: 'Voto', color: 'Colore', @@ -36,6 +38,7 @@ const msg_website_enUs = { productslist: 'Lista Prodotti', collabora: 'Collabora', storehouses: 'Magazzino', + providers: 'Fornitori', departments: 'Uffici', orders: 'Ordini Ricevuti', orders2: 'Ordini Ricevuti', diff --git a/scripts/_ALL_SITES/piuchebuono.app/db/lang/ws_es.js b/scripts/_ALL_SITES/piuchebuono.app/db/lang/ws_es.js index 66a384d3..f143f859 100755 --- a/scripts/_ALL_SITES/piuchebuono.app/db/lang/ws_es.js +++ b/scripts/_ALL_SITES/piuchebuono.app/db/lang/ws_es.js @@ -8,6 +8,7 @@ const msg_website_es = { products: { quantity: 'Quantità', quantityAvailable: 'Disponibili', + stockQty: 'In Magazzino', weight: 'Peso', stars: 'Voto', color: 'Colore', diff --git a/scripts/_ALL_SITES/piuchebuono.app/db/lang/ws_it.js b/scripts/_ALL_SITES/piuchebuono.app/db/lang/ws_it.js index 9cd59a3d..4eff69bf 100755 --- a/scripts/_ALL_SITES/piuchebuono.app/db/lang/ws_it.js +++ b/scripts/_ALL_SITES/piuchebuono.app/db/lang/ws_it.js @@ -1,9 +1,9 @@ const msg_website_it = { ws: { - sitename: 'Riso', - siteshortname: 'RISO', - description: 'Siamo la Rete Italiana di Scambio Orizzontale, abbiamo creato questa piattaforma per metterla al servizio di chi vuole riscoprire il valore della condivisione e della cooperazione. Valori semplici e profondi che ci aiutano a ritrovare il Senso della Vita, perduto in questa società consumista, e riporti quei Sani Pricìpi Naturali ed Umani di Fratellanza che intere popolazioni antiche conoscevano bene.', - keywords: 'riso, piattaforma di scambio, rete italiana scambio orizzontale, riso app, riso piattaforma, scambio e baratto, momenta RIS', + sitename: 'Più che Buono', + siteshortname: 'Più che Buono', + description: '', + keywords: '', }, hours: { descr: 'Descrizione', @@ -16,23 +16,35 @@ const msg_website_it = { pages: { home: 'Home', profile: 'Profilo', + install_site: 'Installa Sito', profile2: 'ProfiloU', mypage2: 'mypage2', myservice2: 'myservice2', myhosps2: 'myhosps2', mygood2: 'mygood2', + catalogo: 'Catalogo', fundraising: 'Sostieni il Progetto', notifs: 'Configura le Notifiche', unsubscribe: 'Disiscriviti', + unsubscribe_user: 'Disiscriviti User', test: 'Test', projects: 'Progetti', report: 'Report Ore', producer: 'Produttore', orderinfo: 'Ordini Effettuati', products: 'Prodotti', + cash: 'Cassa', + productInfos: 'Info Prodotti', + listinoprodotti: 'Listino Prodotti', productslist: 'Lista Prodotti', collabora: 'Collabora', + categories: 'Categorie', storehouses: 'Magazzino', + providers: 'Fornitori', + catprods: 'Categorie', + subcatprods: 'Sotto-Categorie', + gasordine: 'Gas Ordine', + scontisticas: 'Scontistica', departments: 'Uffici', orders: 'Ordini Ricevuti', orders2: 'Ordini Ricevuti', @@ -121,15 +133,11 @@ const msg_website_it = { only_residenti: 'Solo Residenti', only_consiglio: 'Solo Consiglieri', color: 'Colore', - mainMenu: 'Menu Principale', - subtitle: 'Sottotitolo', - lang: 'Lingua', - keywords: 'Parole Chiave', - desctiption: 'Descrizione', - heightimg: 'Altezza Immagine', + gasordini: 'Gas Ordini', + gestoreordini: 'Gestore Ordini', }, msg: { - myAppName: 'Riso', + myAppName: 'Più che Buono', myAppDescription: 'Il primo Vero Social Libero, Equo e Solidale, dove Vive Consapevolezza e Aiuto Comunitario. Gratuito', underconstruction: 'App in costruzione...', myDescriz: '', diff --git a/scripts/_ALL_SITES/piuchebuono.app/db/static_data.ts b/scripts/_ALL_SITES/piuchebuono.app/db/static_data.ts index fcbce6cc..6d52b244 100755 --- a/scripts/_ALL_SITES/piuchebuono.app/db/static_data.ts +++ b/scripts/_ALL_SITES/piuchebuono.app/db/static_data.ts @@ -1,3 +1,5 @@ +/* PIUCHEBUONO APP +*/ import type { IListRoutes, ILang, @@ -7,30 +9,6 @@ import type { import { func } from '@store/Modules/fieldsTable' -// const SHOW_PROJINTHEMENU = false -// -// let arrlistafavourite = [] -// let arrlistaprojtutti = [] -// let arrlistaprojmiei = [] -// if (SHOW_PROJINTHEMENU) { -// arrlistaprojtutti = Projects.getters.listaprojects(RouteNames.projectsall) -// arrlistaprojmiei = Projects.getters.listaprojects(RouteNames.myprojects) -// arrlistafavourite = Projects.getters.listaprojects(RouteNames.favouriteprojects) -// } -// PROGETTI -> FAVORITI : - -// if (arrlistafavourite.length > 0) { -// arrMenu.push({ -// icon: 'favorite_border', -// nametranslate: 'pages.' + RouteNames.favouriteprojects, -// urlroute: RouteNames.favouriteprojects, -// level_parent: 0.0, -// level_child: 0.5, -// routes2: arrlistafavourite, -// idelem: '' -// }) -// } - const firstPage = { active: true, order: 5, @@ -64,76 +42,12 @@ function getDynamicPages(site: ISites): IListRoutes[] { materialIcon: 'fas fa-test', name: 'mypages.test', component: () => import('@src/views/testServer/testServer.vue'), - inmenu: false, - infooter: false, - }, - { - active: true, - order: 12, - path: '/goods', - materialIcon: 'fas fa-tshirt', - name: 'mypages.goods', - component: () => import('@src/root/goods/goods.vue'), - meta: { requiresAuth: true }, - inmenu: true, - infooter: true, - }, - { - active: true, - order: 15, - path: '/services', - materialIcon: 'fas fa-house-user', - name: 'mypages.services', - component: () => import('@src/root/services/services.vue'), - meta: { requiresAuth: true }, - inmenu: true, - infooter: true, - }, - { - active: true, - order: 15, - path: '/activities', - materialIcon: 'fas fa-house-user', - name: 'mypages.activities', - component: () => import('@src/root/activities/activities.vue'), meta: { requiresAuth: true }, inmenu: false, infooter: false, }, - { - active: true, - order: 15, - path: '/provapao', - materialIcon: 'fas fa-house-user', - name: 'mypages.provapao', - component: () => import('@src/root/provapao/provapao.vue'), - meta: { requiresAuth: true }, - inmenu: false, - infooter: false, - }, - { - active: true, - order: 15, - path: '/hosps', - materialIcon: 'fas fa-bed', - name: 'mypages.hosp', - component: () => import('@src/root/hosp/hosp.vue'), - meta: { requiresAuth: true }, - inmenu: true, - infooter: true, - }, - { - active: site.confpages && site.confpages.enableCircuits, - order: 16, - path: '/circuits', - materialIcon: 'fas fa-coins', - name: 'mypages.circuits', - component: () => import('@src/views/user/mycircuits/mycircuits.vue'), - meta: { requiresAuth: true }, - inmenu: true, - infooter: true, - }, - { + + /*{ active: true, order: 20, path: '/events', @@ -143,6 +57,17 @@ function getDynamicPages(site: ISites): IListRoutes[] { meta: { requiresAuth: true }, inmenu: true, infooter: true, + },*/ + { + active: site.confpages && site.confpages.showProfile, + order: 120, + path: '/myprofile', + materialIcon: 'fas fa-user', + name: 'pages.profile', + component: () => import('@src/views/user/myprofile/myprofile.vue'), + meta: { requiresAuth: true }, + inmenu: true, + infooter: true, }, { active: true, @@ -155,17 +80,6 @@ function getDynamicPages(site: ISites): IListRoutes[] { inmenu: false, infooter: false, }, - { - active: true, - order: 120, - path: '/myprofile', - materialIcon: 'fas fa-user', - name: 'pages.profile', - component: () => import('@src/views/user/myprofile/myprofile.vue'), - meta: { requiresAuth: true }, - inmenu: true, - infooter: true, - }, { active: true, order: 120, @@ -178,7 +92,7 @@ function getDynamicPages(site: ISites): IListRoutes[] { infooter: false, }, { - active: true, + active: site.confpages && site.confpages.showiscrittiMenu, order: 130, path: '/friends', materialIcon: 'fas fa-user-friends', @@ -188,6 +102,19 @@ function getDynamicPages(site: ISites): IListRoutes[] { inmenu: true, infooter: true, }, + { + active: site.confpages && site.confpages.enableCircuits, + order: 16, + path: '/circuits', + materialIcon: 'fas fa-coins', + name: 'mypages.circuits', + component: () => import('@src/views/user/mycircuits/mycircuits.vue'), + meta: { requiresAuth: true }, + inmenu: true, + infooter: true, + onlyAdmin: true, + onlyManager: true, + }, { active: site.confpages && site.confpages.enableGroups, order: 132, @@ -198,6 +125,8 @@ function getDynamicPages(site: ISites): IListRoutes[] { meta: { requiresAuth: true }, inmenu: true, infooter: false, + onlyAdmin: true, + onlyManager: true, }, { active: true, @@ -276,7 +205,7 @@ function getDynamicPages(site: ISites): IListRoutes[] { { active: true, order: 150, - path: '/sostieniilprogetto', + path: '/fundraising', materialIcon: 'fas fa-hand-holding-heart', name: 'pages.fundraising', component: () => import('@src/root/fundraising/fundraising.vue'), @@ -301,7 +230,7 @@ function getDynamicPages(site: ISites): IListRoutes[] { export function firstimagehome() { - const img = 'statics/images/background.jpg' + let img = 'statics/images/background.jpg' return img } diff --git a/scripts/_ALL_SITES/piuchebuono.app/package.json b/scripts/_ALL_SITES/piuchebuono.app/package.json index 79a9cb48..c7205b4f 100755 --- a/scripts/_ALL_SITES/piuchebuono.app/package.json +++ b/scripts/_ALL_SITES/piuchebuono.app/package.json @@ -1,6 +1,6 @@ { "name": "piuchebuono", - "version": "1.2.2", + "version": "1.2.13", "description": "PiuCheBuono", "productName": "PiuCheBuono", "author": "Surya", @@ -12,8 +12,8 @@ "dev": "quasar dev", "dev_noCheck": "SKIP_TSC=true quasar dev", "build": "quasar build", - "buildpwa": "quasar build -m pwa", - "buildpwatest": "NODE_ENV=test quasar build -m pwa", + "buildpwa": "NODE_ENV=production quasar build -m pwa", + "buildpwatest": "NODE_ENV=production quasar build -m pwa", "type-check": "vue-tsc --noEmit", "type-check:watch": "vue-tsc --noEmit --watch", "buildspa": "quasar build -m spa", diff --git a/scripts/_ALL_SITES/piuchebuono.app/quasar.config.ts b/scripts/_ALL_SITES/piuchebuono.app/quasar.config.ts index 5cb69fb6..ac198b79 100644 --- a/scripts/_ALL_SITES/piuchebuono.app/quasar.config.ts +++ b/scripts/_ALL_SITES/piuchebuono.app/quasar.config.ts @@ -360,20 +360,20 @@ export default defineConfig((ctx) => { pwa: { workboxMode: 'InjectManifest', // 'GenerateSW' or 'InjectManifest' - swFilename: 'sw-' + "1.2.2" + '.js', + swFilename: 'sw-' + "1.2.13" + '.js', workboxOptions: { swSrc: 'src-pwa/custom-service-worker.js', // Assicurati che il file esista }, - extendGenerateSWOptions(cfg) { + /*extendGenerateSWOptions(cfg) { cfg.skipWaiting = false cfg.clientsClaim = false - }, + },*/ }, sourceFiles: { - // DEFAULT: pwaRegisterServiceWorker: 'src-pwa/register-service-worker', - // DEFAULT: pwaServiceWorker: 'src-pwa/custom-service-worker', - // DEFAULT: pwaManifestFile: 'src-pwa/manifest.json', + pwaRegisterServiceWorker: 'src-pwa/register-service-worker', + pwaServiceWorker: 'src-pwa/custom-service-worker', + pwaManifestFile: 'src-pwa/manifest.json', // ... }, diff --git a/scripts/_ALL_SITES/piuchebuono.app/manifest.json b/scripts/_ALL_SITES/piuchebuono.app/src-pwa/manifest.json similarity index 100% rename from scripts/_ALL_SITES/piuchebuono.app/manifest.json rename to scripts/_ALL_SITES/piuchebuono.app/src-pwa/manifest.json diff --git a/db/db/data/popolazione.js b/scripts/_ALL_SITES/piuchebuono.app/src/db/data/popolazione.js similarity index 100% rename from db/db/data/popolazione.js rename to scripts/_ALL_SITES/piuchebuono.app/src/db/data/popolazione.js diff --git a/db/db_data.js b/scripts/_ALL_SITES/piuchebuono.app/src/db/db_data.js similarity index 100% rename from db/db_data.js rename to scripts/_ALL_SITES/piuchebuono.app/src/db/db_data.js diff --git a/db/i18n_website.js b/scripts/_ALL_SITES/piuchebuono.app/src/db/i18n_website.js similarity index 100% rename from db/i18n_website.js rename to scripts/_ALL_SITES/piuchebuono.app/src/db/i18n_website.js diff --git a/db/lang/languages.ts b/scripts/_ALL_SITES/piuchebuono.app/src/db/lang/languages.ts similarity index 100% rename from db/lang/languages.ts rename to scripts/_ALL_SITES/piuchebuono.app/src/db/lang/languages.ts diff --git a/db/lang/ws_de.js b/scripts/_ALL_SITES/piuchebuono.app/src/db/lang/ws_de.js similarity index 100% rename from db/lang/ws_de.js rename to scripts/_ALL_SITES/piuchebuono.app/src/db/lang/ws_de.js diff --git a/scripts/_ALL_SITES/riso.app/db/lang/ws_enUs.js b/scripts/_ALL_SITES/piuchebuono.app/src/db/lang/ws_enUs.js similarity index 97% rename from scripts/_ALL_SITES/riso.app/db/lang/ws_enUs.js rename to scripts/_ALL_SITES/piuchebuono.app/src/db/lang/ws_enUs.js index 4b20853c..25b51103 100755 --- a/scripts/_ALL_SITES/riso.app/db/lang/ws_enUs.js +++ b/scripts/_ALL_SITES/piuchebuono.app/src/db/lang/ws_enUs.js @@ -8,6 +8,8 @@ const msg_website_enUs = { products: { quantity: 'Quantità', quantityAvailable: 'Disponibili', + stockQty: 'In Magazzino', + stockBloccatiQty: 'Bloccati In Magazzino', weight: 'Peso', stars: 'Voto', color: 'Colore', @@ -36,6 +38,7 @@ const msg_website_enUs = { productslist: 'Lista Prodotti', collabora: 'Collabora', storehouses: 'Magazzino', + providers: 'Fornitori', departments: 'Uffici', orders: 'Ordini Ricevuti', orders2: 'Ordini Ricevuti', diff --git a/scripts/_ALL_SITES/riso.app/db/lang/ws_es.js b/scripts/_ALL_SITES/piuchebuono.app/src/db/lang/ws_es.js similarity index 99% rename from scripts/_ALL_SITES/riso.app/db/lang/ws_es.js rename to scripts/_ALL_SITES/piuchebuono.app/src/db/lang/ws_es.js index 66a384d3..f143f859 100755 --- a/scripts/_ALL_SITES/riso.app/db/lang/ws_es.js +++ b/scripts/_ALL_SITES/piuchebuono.app/src/db/lang/ws_es.js @@ -8,6 +8,7 @@ const msg_website_es = { products: { quantity: 'Quantità', quantityAvailable: 'Disponibili', + stockQty: 'In Magazzino', weight: 'Peso', stars: 'Voto', color: 'Colore', diff --git a/db/lang/ws_fr.js b/scripts/_ALL_SITES/piuchebuono.app/src/db/lang/ws_fr.js similarity index 100% rename from db/lang/ws_fr.js rename to scripts/_ALL_SITES/piuchebuono.app/src/db/lang/ws_fr.js diff --git a/db/lang/ws_it.js b/scripts/_ALL_SITES/piuchebuono.app/src/db/lang/ws_it.js similarity index 92% rename from db/lang/ws_it.js rename to scripts/_ALL_SITES/piuchebuono.app/src/db/lang/ws_it.js index 9cd59a3d..4eff69bf 100755 --- a/db/lang/ws_it.js +++ b/scripts/_ALL_SITES/piuchebuono.app/src/db/lang/ws_it.js @@ -1,9 +1,9 @@ const msg_website_it = { ws: { - sitename: 'Riso', - siteshortname: 'RISO', - description: 'Siamo la Rete Italiana di Scambio Orizzontale, abbiamo creato questa piattaforma per metterla al servizio di chi vuole riscoprire il valore della condivisione e della cooperazione. Valori semplici e profondi che ci aiutano a ritrovare il Senso della Vita, perduto in questa società consumista, e riporti quei Sani Pricìpi Naturali ed Umani di Fratellanza che intere popolazioni antiche conoscevano bene.', - keywords: 'riso, piattaforma di scambio, rete italiana scambio orizzontale, riso app, riso piattaforma, scambio e baratto, momenta RIS', + sitename: 'Più che Buono', + siteshortname: 'Più che Buono', + description: '', + keywords: '', }, hours: { descr: 'Descrizione', @@ -16,23 +16,35 @@ const msg_website_it = { pages: { home: 'Home', profile: 'Profilo', + install_site: 'Installa Sito', profile2: 'ProfiloU', mypage2: 'mypage2', myservice2: 'myservice2', myhosps2: 'myhosps2', mygood2: 'mygood2', + catalogo: 'Catalogo', fundraising: 'Sostieni il Progetto', notifs: 'Configura le Notifiche', unsubscribe: 'Disiscriviti', + unsubscribe_user: 'Disiscriviti User', test: 'Test', projects: 'Progetti', report: 'Report Ore', producer: 'Produttore', orderinfo: 'Ordini Effettuati', products: 'Prodotti', + cash: 'Cassa', + productInfos: 'Info Prodotti', + listinoprodotti: 'Listino Prodotti', productslist: 'Lista Prodotti', collabora: 'Collabora', + categories: 'Categorie', storehouses: 'Magazzino', + providers: 'Fornitori', + catprods: 'Categorie', + subcatprods: 'Sotto-Categorie', + gasordine: 'Gas Ordine', + scontisticas: 'Scontistica', departments: 'Uffici', orders: 'Ordini Ricevuti', orders2: 'Ordini Ricevuti', @@ -121,15 +133,11 @@ const msg_website_it = { only_residenti: 'Solo Residenti', only_consiglio: 'Solo Consiglieri', color: 'Colore', - mainMenu: 'Menu Principale', - subtitle: 'Sottotitolo', - lang: 'Lingua', - keywords: 'Parole Chiave', - desctiption: 'Descrizione', - heightimg: 'Altezza Immagine', + gasordini: 'Gas Ordini', + gestoreordini: 'Gestore Ordini', }, msg: { - myAppName: 'Riso', + myAppName: 'Più che Buono', myAppDescription: 'Il primo Vero Social Libero, Equo e Solidale, dove Vive Consapevolezza e Aiuto Comunitario. Gratuito', underconstruction: 'App in costruzione...', myDescriz: '', diff --git a/db/lang/ws_pt.js b/scripts/_ALL_SITES/piuchebuono.app/src/db/lang/ws_pt.js similarity index 100% rename from db/lang/ws_pt.js rename to scripts/_ALL_SITES/piuchebuono.app/src/db/lang/ws_pt.js diff --git a/db/lang/ws_si.js b/scripts/_ALL_SITES/piuchebuono.app/src/db/lang/ws_si.js similarity index 100% rename from db/lang/ws_si.js rename to scripts/_ALL_SITES/piuchebuono.app/src/db/lang/ws_si.js diff --git a/db/static_data.ts b/scripts/_ALL_SITES/piuchebuono.app/src/db/static_data.ts similarity index 72% rename from db/static_data.ts rename to scripts/_ALL_SITES/piuchebuono.app/src/db/static_data.ts index fcbce6cc..6d52b244 100755 --- a/db/static_data.ts +++ b/scripts/_ALL_SITES/piuchebuono.app/src/db/static_data.ts @@ -1,3 +1,5 @@ +/* PIUCHEBUONO APP +*/ import type { IListRoutes, ILang, @@ -7,30 +9,6 @@ import type { import { func } from '@store/Modules/fieldsTable' -// const SHOW_PROJINTHEMENU = false -// -// let arrlistafavourite = [] -// let arrlistaprojtutti = [] -// let arrlistaprojmiei = [] -// if (SHOW_PROJINTHEMENU) { -// arrlistaprojtutti = Projects.getters.listaprojects(RouteNames.projectsall) -// arrlistaprojmiei = Projects.getters.listaprojects(RouteNames.myprojects) -// arrlistafavourite = Projects.getters.listaprojects(RouteNames.favouriteprojects) -// } -// PROGETTI -> FAVORITI : - -// if (arrlistafavourite.length > 0) { -// arrMenu.push({ -// icon: 'favorite_border', -// nametranslate: 'pages.' + RouteNames.favouriteprojects, -// urlroute: RouteNames.favouriteprojects, -// level_parent: 0.0, -// level_child: 0.5, -// routes2: arrlistafavourite, -// idelem: '' -// }) -// } - const firstPage = { active: true, order: 5, @@ -64,76 +42,12 @@ function getDynamicPages(site: ISites): IListRoutes[] { materialIcon: 'fas fa-test', name: 'mypages.test', component: () => import('@src/views/testServer/testServer.vue'), - inmenu: false, - infooter: false, - }, - { - active: true, - order: 12, - path: '/goods', - materialIcon: 'fas fa-tshirt', - name: 'mypages.goods', - component: () => import('@src/root/goods/goods.vue'), - meta: { requiresAuth: true }, - inmenu: true, - infooter: true, - }, - { - active: true, - order: 15, - path: '/services', - materialIcon: 'fas fa-house-user', - name: 'mypages.services', - component: () => import('@src/root/services/services.vue'), - meta: { requiresAuth: true }, - inmenu: true, - infooter: true, - }, - { - active: true, - order: 15, - path: '/activities', - materialIcon: 'fas fa-house-user', - name: 'mypages.activities', - component: () => import('@src/root/activities/activities.vue'), meta: { requiresAuth: true }, inmenu: false, infooter: false, }, - { - active: true, - order: 15, - path: '/provapao', - materialIcon: 'fas fa-house-user', - name: 'mypages.provapao', - component: () => import('@src/root/provapao/provapao.vue'), - meta: { requiresAuth: true }, - inmenu: false, - infooter: false, - }, - { - active: true, - order: 15, - path: '/hosps', - materialIcon: 'fas fa-bed', - name: 'mypages.hosp', - component: () => import('@src/root/hosp/hosp.vue'), - meta: { requiresAuth: true }, - inmenu: true, - infooter: true, - }, - { - active: site.confpages && site.confpages.enableCircuits, - order: 16, - path: '/circuits', - materialIcon: 'fas fa-coins', - name: 'mypages.circuits', - component: () => import('@src/views/user/mycircuits/mycircuits.vue'), - meta: { requiresAuth: true }, - inmenu: true, - infooter: true, - }, - { + + /*{ active: true, order: 20, path: '/events', @@ -143,6 +57,17 @@ function getDynamicPages(site: ISites): IListRoutes[] { meta: { requiresAuth: true }, inmenu: true, infooter: true, + },*/ + { + active: site.confpages && site.confpages.showProfile, + order: 120, + path: '/myprofile', + materialIcon: 'fas fa-user', + name: 'pages.profile', + component: () => import('@src/views/user/myprofile/myprofile.vue'), + meta: { requiresAuth: true }, + inmenu: true, + infooter: true, }, { active: true, @@ -155,17 +80,6 @@ function getDynamicPages(site: ISites): IListRoutes[] { inmenu: false, infooter: false, }, - { - active: true, - order: 120, - path: '/myprofile', - materialIcon: 'fas fa-user', - name: 'pages.profile', - component: () => import('@src/views/user/myprofile/myprofile.vue'), - meta: { requiresAuth: true }, - inmenu: true, - infooter: true, - }, { active: true, order: 120, @@ -178,7 +92,7 @@ function getDynamicPages(site: ISites): IListRoutes[] { infooter: false, }, { - active: true, + active: site.confpages && site.confpages.showiscrittiMenu, order: 130, path: '/friends', materialIcon: 'fas fa-user-friends', @@ -188,6 +102,19 @@ function getDynamicPages(site: ISites): IListRoutes[] { inmenu: true, infooter: true, }, + { + active: site.confpages && site.confpages.enableCircuits, + order: 16, + path: '/circuits', + materialIcon: 'fas fa-coins', + name: 'mypages.circuits', + component: () => import('@src/views/user/mycircuits/mycircuits.vue'), + meta: { requiresAuth: true }, + inmenu: true, + infooter: true, + onlyAdmin: true, + onlyManager: true, + }, { active: site.confpages && site.confpages.enableGroups, order: 132, @@ -198,6 +125,8 @@ function getDynamicPages(site: ISites): IListRoutes[] { meta: { requiresAuth: true }, inmenu: true, infooter: false, + onlyAdmin: true, + onlyManager: true, }, { active: true, @@ -276,7 +205,7 @@ function getDynamicPages(site: ISites): IListRoutes[] { { active: true, order: 150, - path: '/sostieniilprogetto', + path: '/fundraising', materialIcon: 'fas fa-hand-holding-heart', name: 'pages.fundraising', component: () => import('@src/root/fundraising/fundraising.vue'), @@ -301,7 +230,7 @@ function getDynamicPages(site: ISites): IListRoutes[] { export function firstimagehome() { - const img = 'statics/images/background.jpg' + let img = 'statics/images/background.jpg' return img } diff --git a/scripts/_ALL_SITES/riso.app/package.json b/scripts/_ALL_SITES/riso.app/package.json index 6b7f32cc..6ce63677 100755 --- a/scripts/_ALL_SITES/riso.app/package.json +++ b/scripts/_ALL_SITES/riso.app/package.json @@ -1,6 +1,6 @@ { "name": "riso", - "version": "1.2.2", + "version": "1.2.13", "description": "Siamo la Rete Italiana di Scambio Orizzontale, abbiamo creato questa piattaforma per metterla al servizio di chi vuole riscoprire il valore della condivisione e della cooperazione. Valori semplici e profondi che ci aiutano a ritrovare il Senso della Vita, perduto in questa società consumista, e riporti quei Sani Pricìpi Naturali ed Umani di Fratellanza che intere popolazioni antiche conoscevano bene.", "productName": "Riso", "author": "Surya", @@ -12,8 +12,8 @@ "dev": "quasar dev", "dev_noCheck": "SKIP_TSC=true quasar dev", "build": "quasar build", - "buildpwa": "quasar build -m pwa", - "buildpwatest": "NODE_ENV=test quasar build -m pwa", + "buildpwa": "NODE_ENV=production quasar build -m pwa", + "buildpwatest": "NODE_ENV=production quasar build -m pwa", "type-check": "vue-tsc --noEmit", "type-check:watch": "vue-tsc --noEmit --watch", "buildspa": "quasar build -m spa", diff --git a/scripts/_ALL_SITES/riso.app/quasar.config.ts b/scripts/_ALL_SITES/riso.app/quasar.config.ts index c58316b0..6b7b66cc 100644 --- a/scripts/_ALL_SITES/riso.app/quasar.config.ts +++ b/scripts/_ALL_SITES/riso.app/quasar.config.ts @@ -363,21 +363,20 @@ export default defineConfig((ctx) => { // https://v2.quasar.dev/quasar-cli/developing-pwa/configuring-pwa pwa: { workboxMode: 'InjectManifest', // 'GenerateSW' or 'InjectManifest' - swFilename: 'sw-' + "1.2.2" + '.js', + swFilename: 'sw-' + "1.2.13" + '.js', workboxOptions: { swSrc: 'src-pwa/custom-service-worker.js', // Assicurati che il file esista }, - extendGenerateSWOptions(cfg) { + /*extendGenerateSWOptions(cfg) { cfg.skipWaiting = false cfg.clientsClaim = false - }, + },*/ }, sourceFiles: { - // DEFAULT: pwaRegisterServiceWorker: 'src-pwa/register-service-worker', - // DEFAULT: pwaServiceWorker: 'src-pwa/custom-service-worker', - // DEFAULT: pwaManifestFile: 'src-pwa/manifest.json', - // ... + pwaRegisterServiceWorker: 'src-pwa/register-service-worker', + pwaServiceWorker: 'src-pwa/custom-service-worker', + pwaManifestFile: 'src-pwa/manifest.json', }, // Full list of options: https://v2.quasar.dev/quasar-cli/developing-cordova-apps/configuring-cordova diff --git a/scripts/_ALL_SITES/riso.app/manifest.json b/scripts/_ALL_SITES/riso.app/src-pwa/manifest.json similarity index 100% rename from scripts/_ALL_SITES/riso.app/manifest.json rename to scripts/_ALL_SITES/riso.app/src-pwa/manifest.json diff --git a/scripts/_ALL_SITES/riso.app/db/data/popolazione.js b/scripts/_ALL_SITES/riso.app/src/db/data/popolazione.js similarity index 100% rename from scripts/_ALL_SITES/riso.app/db/data/popolazione.js rename to scripts/_ALL_SITES/riso.app/src/db/data/popolazione.js diff --git a/scripts/_ALL_SITES/riso.app/db/db_data.js b/scripts/_ALL_SITES/riso.app/src/db/db_data.js similarity index 100% rename from scripts/_ALL_SITES/riso.app/db/db_data.js rename to scripts/_ALL_SITES/riso.app/src/db/db_data.js diff --git a/scripts/_ALL_SITES/riso.app/db/i18n_website.js b/scripts/_ALL_SITES/riso.app/src/db/i18n_website.js similarity index 100% rename from scripts/_ALL_SITES/riso.app/db/i18n_website.js rename to scripts/_ALL_SITES/riso.app/src/db/i18n_website.js diff --git a/scripts/_ALL_SITES/riso.app/db/lang/languages.ts b/scripts/_ALL_SITES/riso.app/src/db/lang/languages.ts similarity index 100% rename from scripts/_ALL_SITES/riso.app/db/lang/languages.ts rename to scripts/_ALL_SITES/riso.app/src/db/lang/languages.ts diff --git a/scripts/_ALL_SITES/riso.app/db/lang/ws_de.js b/scripts/_ALL_SITES/riso.app/src/db/lang/ws_de.js similarity index 100% rename from scripts/_ALL_SITES/riso.app/db/lang/ws_de.js rename to scripts/_ALL_SITES/riso.app/src/db/lang/ws_de.js diff --git a/db/lang/ws_enUs.js b/scripts/_ALL_SITES/riso.app/src/db/lang/ws_enUs.js similarity index 100% rename from db/lang/ws_enUs.js rename to scripts/_ALL_SITES/riso.app/src/db/lang/ws_enUs.js diff --git a/db/lang/ws_es.js b/scripts/_ALL_SITES/riso.app/src/db/lang/ws_es.js similarity index 100% rename from db/lang/ws_es.js rename to scripts/_ALL_SITES/riso.app/src/db/lang/ws_es.js diff --git a/scripts/_ALL_SITES/riso.app/db/lang/ws_fr.js b/scripts/_ALL_SITES/riso.app/src/db/lang/ws_fr.js similarity index 100% rename from scripts/_ALL_SITES/riso.app/db/lang/ws_fr.js rename to scripts/_ALL_SITES/riso.app/src/db/lang/ws_fr.js diff --git a/db/db/lang/ws_it.js b/scripts/_ALL_SITES/riso.app/src/db/lang/ws_it.js similarity index 100% rename from db/db/lang/ws_it.js rename to scripts/_ALL_SITES/riso.app/src/db/lang/ws_it.js diff --git a/scripts/_ALL_SITES/riso.app/db/lang/ws_pt.js b/scripts/_ALL_SITES/riso.app/src/db/lang/ws_pt.js similarity index 100% rename from scripts/_ALL_SITES/riso.app/db/lang/ws_pt.js rename to scripts/_ALL_SITES/riso.app/src/db/lang/ws_pt.js diff --git a/scripts/_ALL_SITES/riso.app/db/lang/ws_si.js b/scripts/_ALL_SITES/riso.app/src/db/lang/ws_si.js similarity index 100% rename from scripts/_ALL_SITES/riso.app/db/lang/ws_si.js rename to scripts/_ALL_SITES/riso.app/src/db/lang/ws_si.js diff --git a/db/db/static_data.ts b/scripts/_ALL_SITES/riso.app/src/db/static_data.ts similarity index 99% rename from db/db/static_data.ts rename to scripts/_ALL_SITES/riso.app/src/db/static_data.ts index fcbce6cc..374cda12 100755 --- a/db/db/static_data.ts +++ b/scripts/_ALL_SITES/riso.app/src/db/static_data.ts @@ -1,3 +1,5 @@ +/* RISO APP +*/ import type { IListRoutes, ILang, diff --git a/scripts/__inizia.sh b/scripts/__inizia.sh index 8324a54d..f7240db9 100644 --- a/scripts/__inizia.sh +++ b/scripts/__inizia.sh @@ -40,7 +40,7 @@ done # Array con i file da ripristinare dal sito selezionato restore_files=( - "db" + "src/db" "root_spec" "quasar.config.ts" "src-pwa/manifest.json" @@ -50,9 +50,22 @@ restore_files=( ".env.test" ) -# Ripristino for file in "${restore_files[@]}"; do - [[ -e "_ALL_SITES/$site/$file" ]] && cp -Rv "_ALL_SITES/$site/$file" "../${file}" + source_path="_ALL_SITES/$site/$file" + destination_path="../$file" + + if [[ -d "$source_path" ]]; then + # Se è una directory, copia il contenuto direttamente nella destinazione + echo "Copying directory content: $source_path -> $destination_path" + cp -Rv "$source_path/." "$destination_path/" + elif [[ -f "$source_path" ]]; then + # Se è un file, copialo normalmente + echo "Copying file: $source_path -> $destination_path" + cp -v "$source_path" "$destination_path" + else + # Se il file/directory non esiste, stampa un avviso + echo "Warning: Source path does not exist - $source_path" + fi done # Copia dei file pubblici diff --git a/scripts/__termine.sh b/scripts/__termine.sh index 2a2eb3eb..16e0264a 100644 --- a/scripts/__termine.sh +++ b/scripts/__termine.sh @@ -51,26 +51,45 @@ else # Elenco dei file e directory da copiare items_to_copy=( - "../public" - "../src/db" - "../src/root_spec" - "../quasar.config.ts" - "../package.json" - "../.env.development" - "../.env.production" - "../.env.test" + "public" # Directory + "src/db" # Directory + "quasar.config.ts" # File + "src-pwa/manifest.json" # File + "package.json" # File + ".env.development" # File + ".env.production" # File + ".env.test" # File ) # Copia ciascun elemento nella directory del sito for item in "${items_to_copy[@]}"; do - if [[ -e "$item" ]]; then - echo "Copia $item in _ALL_SITES/$site/" - cp -Rv "$item" "_ALL_SITES/$site/" - if [[ $? -ne 0 ]]; then - echo "Errore: Impossibile copiare $item in _ALL_SITES/$site/." + source_path="../$item" + destination_path="_ALL_SITES/$site/$item" + + if [[ -e "$source_path" ]]; then + if [[ -d "$source_path" ]]; then + # Se è una directory, assicurati che la directory di destinazione esista + echo "Creazione directory: $destination_path" + mkdir -p "$destination_path" + + # Copia il contenuto della directory direttamente nella destinazione + echo "Copying directory content: $source_path -> $destination_path" + cp -Rv "$source_path/." "$destination_path/" + else + # Se è un file, assicurati che la directory genitore di destinazione esista + parent_dir=$(dirname "$destination_path") + echo "Creazione directory genitore: $parent_dir" + mkdir -p "$parent_dir" + + # Copia il file + echo "Copia file: $source_path -> $destination_path" + cp -v "$source_path" "$destination_path" + if [[ $? -ne 0 ]]; then + echo "Errore: Impossibile copiare $source_path in $destination_path." + fi fi else - echo "Avviso: $item non esiste e non sarà copiato." + echo "Avviso: $source_path non esiste e non sarà copiato." fi done fi diff --git a/scripts/cappello_batch.sh b/scripts/cappello_batch.sh index 04d7a74c..24f777dc 100644 --- a/scripts/cappello_batch.sh +++ b/scripts/cappello_batch.sh @@ -1,3 +1,7 @@ #!/bin/bash -cd .. \ No newline at end of file +cd .. + +current_directory=$(pwd) +echo "La directory attuale è: $current_directory" +echo "--------" \ No newline at end of file diff --git a/scripts/deploy_on_prod_riso.sh b/scripts/deploy_on_prod_riso.sh index 48f1134c..804ff89e 100755 --- a/scripts/deploy_on_prod_riso.sh +++ b/scripts/deploy_on_prod_riso.sh @@ -12,7 +12,6 @@ else risposta=$1 fi -cp .env.production .env.prod.bak cp .env.prod.riso .env.production sleep 1 diff --git a/scripts/deploy_on_test_gruppomacro.app.sh b/scripts/deploy_on_test_gruppomacro.app.sh index 51d4104b..adfbafe3 100755 --- a/scripts/deploy_on_test_gruppomacro.app.sh +++ b/scripts/deploy_on_test_gruppomacro.app.sh @@ -12,7 +12,7 @@ else risposta=$1 fi -cp .env.test.gruppomacro .env.test +cp .env.test.gruppomacro .env.production sleep 1 @@ -22,8 +22,6 @@ echo "Sincronizzazione $SERVERDIR_WEBSITE in remoto..." rsync -e 'ssh -p 8822' -a --exclude 'upload' dist/pwa/ pcbuser@pcb:$SERVERDIR_WEBSITE rsync -e 'ssh -p 8822' -av --delete dist/pwa/js/ pcbuser@pcb:$SERVERDIR_WEBSITE/js -cp .env.prod.bak .env.production - sleep 1 echo "Finito $SERVERDIR_WEBSITE" diff --git a/scripts/deploy_on_test_pcb.sh b/scripts/deploy_on_test_pcb.sh index 08fe2c30..55d7915e 100755 --- a/scripts/deploy_on_test_pcb.sh +++ b/scripts/deploy_on_test_pcb.sh @@ -12,7 +12,7 @@ else risposta=$1 fi -cp .env.test.pcb .env.test +cp .env.test.pcb .env.production sleep 1 diff --git a/scripts/deploy_on_test_riso.sh b/scripts/deploy_on_test_riso.sh index fb357ade..51cdba9b 100755 --- a/scripts/deploy_on_test_riso.sh +++ b/scripts/deploy_on_test_riso.sh @@ -12,19 +12,16 @@ else risposta=$1 fi -cp .env.production .env.prod.bak cp .env.test.risosrv .env.production sleep 1 -npm run buildpwa && { +npm run buildpwatest && { echo "Sincronizzazione $SERVERDIR_WEBSITE in remoto..."; rsync -e 'ssh -p 8822' -a --exclude 'upload' dist/pwa/ pcbuser@pcb:$SERVERDIR_WEBSITE; rsync -e 'ssh -p 8822' -a dist/pwa/js/ pcbuser@pcb:$SERVERDIR_WEBSITE/js; - cp .env.prod.bak .env.production - sleep 1 echo "Finito $SERVERDIR_WEBSITE" diff --git a/scripts/now.txt b/scripts/now.txt index 1e23559a..3b39ebd8 100644 --- a/scripts/now.txt +++ b/scripts/now.txt @@ -1 +1 @@ -TERMINA DI LAVORARE SU riso.app: (Sovrascrivo!) +TERMINA DI LAVORARE SU piuchebuono.app: (Sovrascrivo!) diff --git a/src-pwa/custom-service-worker.js b/src-pwa/custom-service-worker.js index 62dca5ec..b24d4dde 100755 --- a/src-pwa/custom-service-worker.js +++ b/src-pwa/custom-service-worker.js @@ -3,23 +3,19 @@ /* global workbox */ /* global cfgenv */ -importScripts('/workbox/workbox-sw.js'); // 7.3.0 +const CACHE_NAME = 'pwa-cache-v2'; // Nome della cache -if (workbox) { - console.log('Workbox ESISTE ✅ '); +const ORA = "12.57" - // Imposta configurazione prima di tutto - const debug = process.env.NODE_ENV !== 'production'; - workbox.setConfig({ debug }); +console.log('***** INIZIO CUSTOM-SERVICE-WORKER.JS ' + ORA); - workbox.precaching.precacheAndRoute([]); -} else { - console.error('Workbox NON CARICATO ! ❌'); -} +//importScripts('https://storage.googleapis.com/workbox-cdn/releases/6.5.4/workbox-sw.js'); +importScripts('workbox/workbox-sw.js') -import { precacheAndRoute } from 'workbox-precaching'; -import { registerRoute } from 'workbox-routing'; +import { clientsClaim } from 'workbox-core' +import { precacheAndRoute, cleanupOutdatedCaches, createHandlerBoundToURL } from 'workbox-precaching'; +import { registerRoute, NavigationRoute } from 'workbox-routing'; import { setCacheNameDetails } from 'workbox-core'; import { NetworkOnly, @@ -30,10 +26,25 @@ import { import { CacheableResponsePlugin } from 'workbox-cacheable-response'; import { ExpirationPlugin } from 'workbox-expiration'; +const debug = process.env.NODE_ENV !== 'production'; + +if (workbox) { + + // Imposta configurazione prima di tutto + workbox.setConfig({ debug }); + + workbox.loadModule('workbox-strategies'); + + console.log('Workbox ESISTE ✅ ' + ORA); + +} else { + console.error('Workbox NON CARICATO ! ❌'); +} + setCacheNameDetails({ prefix: self.location.hostname, - suffix: 'v1', + suffix: 'v2', precache: 'precache', runtime: 'runtime', }); @@ -49,40 +60,33 @@ const precacheList = (self.__WB_MANIFEST || []).filter(entry => { // Precache solo i file filtrati precacheAndRoute(precacheList); -// importScripts('https://storage.googleapis.com/workbox-cdn/releases/6.5.4/workbox-sw.js'); - +cleanupOutdatedCaches() +// Installazione del Service Worker self.addEventListener('install', () => { - console.log('Service Worker: Skip...'); + console.log('[Service Worker] Installing ...'); self.skipWaiting() + clientsClaim(); }); +// Attivazione del Service Worker self.addEventListener('activate', (event) => { - console.log('Service Worker: Activated'); - - // Pulizia delle cache obsolete durante l'attivazione + console.log('[Service Worker] Activating...'); event.waitUntil( - (async () => { - const cacheNames = await caches.keys(); - await Promise.all( - cacheNames.map((cacheName) => { - if (!cacheName.startsWith(`${self.location.hostname}-v1`)) { - return caches.delete(cacheName); - } - }) + caches.keys().then((cacheNames) => { + return Promise.all( + cacheNames + .filter((name) => name !== CACHE_NAME) + .map((name) => caches.delete(name)) ); - - // Reclama immediatamente il controllo delle pagine - self.clients.claim(); - })() + }) ); }); +const VITE_APP_VERSION = "1.2.13"; -const VITE_APP_VERSION = "1.2.2"; - -console.log(' [ VER-' + VITE_APP_VERSION + ' ] _---------________------ PAO: this is my custom service worker'); +console.log(' [ VER-' + VITE_APP_VERSION + ' ] _---------________------ PAO: this is my custom service worker: ' + ORA); try { importScripts('/js/idb.js', '/js/storage.js'); @@ -118,6 +122,14 @@ async function deleteItemFromData(table, id) { if (workbox) { + if (process.env.MODE !== 'ssr' || process.env.PROD) { + registerRoute( + new NavigationRoute( + createHandlerBoundToURL(process.env.PWA_FALLBACK_HTML), + { denylist: [new RegExp(process.env.PWA_SERVICE_WORKER_REGEX), /workbox\workbox-(.)*\.js$/] } + ) + ) + } // Cache strategy registrations registerRoute( @@ -236,7 +248,7 @@ if (workbox) { } // Costanti di configurazione - const DYNAMIC_CACHE = 'dynamic-cache-v1'; + const DYNAMIC_CACHE = 'dynamic-cache-v2'; const ENABLE_DYNAMIC_CACHING = true; const baseUrl = self.location.origin; console.log('baseUrl', baseUrl); @@ -260,123 +272,92 @@ if (workbox) { 'Accept': 'application/json', }, mode: 'cors', - // credentials: 'include' + credentials: 'include', // Abilita le credenziali (cookie, token) }); try { const response = await fetch(modifiedRequest); - // Se la risposta è ok, restituiscila + // Se la risposta è valida, restituiscila if (response.ok) { return response; } - // Se riceviamo un errore CORS, prova con una richiesta no-cors - if (response.status === 0 || response.type === 'opaque' || response.headers.get('Access-Control-Allow-Origin') !== `https://${APP_DOMAIN}`) { - console.log('[Service Worker] Fallback to no-cors mode for:', request.url); - return fetch(new Request(request.url, { - method: 'GET', - mode: 'no-cors', - // credentials: 'include' - })); - } - + // Logga eventuali errori + console.warn('[Service Worker] API response not OK:', response.status, response.statusText); return response; } catch (error) { console.error('[Service Worker] API request error ❌:', error); + + // Restituisci una risposta di errore personalizzata return new Response(JSON.stringify({ error: 'Network error', - message: 'Unable to fetch from API' + message: 'Unable to fetch from API: ' + error.message, }), { status: 503, headers: { 'Content-Type': 'application/json', 'Access-Control-Allow-Origin': `https://${APP_DOMAIN}`, - 'Access-Control-Allow-Methods': 'GET, POST, OPTIONS', - 'Access-Control-Allow-Headers': 'Content-Type' - } + }, }); } } - // Funzione principale per gestire il fetch - async function handleFetch(request) { + // Strategia di caching: stale-while-revalidate + async function cacheWithStaleWhileRevalidate(request) { + const cache = await caches.open(CACHE_NAME); + + // Prova a recuperare la risorsa dalla cache + const cachedResponse = await cache.match(request); + if (cachedResponse) { + // Restituisci la risposta in cache mentre aggiorni in background + fetchAndCache(request); + return cachedResponse; + } + + // Se non è in cache, fai la richiesta di rete + return fetchAndCache(request); + } + + // Funzione per fare la richiesta di rete e aggiornare la cache + async function fetchAndCache(request) { + const cache = await caches.open(CACHE_NAME); try { - // Verifica se è una richiesta all'API - const url = new URL(request.url); - const isApiRequest = url.hostname === API_DOMAIN; - - // Se è una richiesta API, gestiscila separatamente - if (isApiRequest) { - return handleApiRequest(request); - } - - // Per le altre richieste, prova prima la cache - const cachedResponse = await caches.match(request); - if (cachedResponse) { - return cachedResponse; - } - - // Se non è in cache, fai la richiesta di rete const response = await fetch(request); - - // Verifica la validità della risposta - if (!response || (!response.ok && response.type !== 'opaque')) { - console.warn('[Service Worker] Invalid response for:', request.url); - return response; + if (response.ok) { + cache.put(request, response.clone()); } - - // Cache solo le risorse dello stesso origine - if (ENABLE_DYNAMIC_CACHING && !isCrossOrigin(request.url)) { - try { - const cache = await caches.open(DYNAMIC_CACHE); - cache.put(request, response.clone()); - } catch (cacheError) { - console.error('[Service Worker] Cache error ❌:', cacheError); - } - } - return response; } catch (error) { - console.error('[Service Worker] Fetch error: ❌', error, request); - - // Personalizza la risposta di errore in base al tipo di richiesta - if (request.headers.get('Accept')?.includes('application/json')) { - return new Response(JSON.stringify({ - error: 'Network error', - message: 'Servizio non disponibile, riprovare !' - }), { - status: 503, - headers: { - 'Content-Type': 'application/json', - 'Access-Control-Allow-Origin': `https://${APP_DOMAIN}` - } - }); - } - - return new Response('Network error', { - status: 503, - statusText: 'Internet non disponibile (503)' - }); + console.error('[Service Worker] Fetch and cache error ❌:', error); + return new Response('Network error', { status: 503 }); } } + // Listener per gestire tutte le richieste self.addEventListener('fetch', (event) => { + const request = event.request; + const url = new URL(request.url); + // Ignora richieste non gestibili - if (event.request.method !== 'GET' || - event.request.url.startsWith('chrome-extension://')) { + if (request.method !== 'GET' || url.protocol !== 'https:') { return; } // Gestione richieste API - const url = new URL(event.request.url); - if (url.origin === API_DOMAIN) { - event.respondWith(handleApiRequest(event.request)); + if (url.hostname === API_DOMAIN) { + if (debug) { + console.log('E\' una RICHIESTA API ! ') + } + event.respondWith(handleApiRequest(request)); return; } - // Default handler per altre richieste - event.respondWith(handleFetch(event.request)); + if (debug) { + console.log('E\' una RICHIESTA statica...') + } + // Gestione risorse statiche e altre richieste + event.respondWith(cacheWithStaleWhileRevalidate(request)); }); @@ -506,3 +487,5 @@ if (workbox) { } else { console.warn('Workbox could not be loaded.'); } + +console.log('***** FINE CUSTOM-SERVICE-WORKER.JS ***** '); diff --git a/src/components/CMyActivities/CMyActivities.ts b/src/components/CMyActivities/CMyActivities.ts index e4ac13e8..6e56ced9 100755 --- a/src/components/CMyActivities/CMyActivities.ts +++ b/src/components/CMyActivities/CMyActivities.ts @@ -103,7 +103,7 @@ export default defineComponent({ } async function loadProfile() { - console.log('loadProfile...', username.value) + console.log('loadUserActivities...', username.value) try { const today = new Date(); today.setHours(0, 0, 0, 0); diff --git a/src/components/CSignUp/CSignUp.vue b/src/components/CSignUp/CSignUp.vue index 5c9c688e..7dd80211 100755 --- a/src/components/CSignUp/CSignUp.vue +++ b/src/components/CSignUp/CSignUp.vue @@ -138,7 +138,7 @@ v-model="signup.username" :readonly=" tools.getAskToVerifyReg() && - !site.confpages.enableRegMultiChoice + !site.confpages?.enableRegMultiChoice " rounded outlined @@ -421,7 +421,7 @@ v-model="signup.username" :readonly=" tools.getAskToVerifyReg() && - !site.confpages.enableRegMultiChoice + !site.confpages?.enableRegMultiChoice " rounded outlined diff --git a/src/components/CUserNonVerif/CUserNonVerif.vue b/src/components/CUserNonVerif/CUserNonVerif.vue index 66bfcb5b..f6507fd9 100755 --- a/src/components/CUserNonVerif/CUserNonVerif.vue +++ b/src/components/CUserNonVerif/CUserNonVerif.vue @@ -2,7 +2,7 @@