Compare commits
10 Commits
cfb830a0ad
...
89a8d10eae
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
89a8d10eae | ||
|
|
6fdb101092 | ||
|
|
f238630dd7 | ||
|
|
a22eca0f58 | ||
|
|
a4ca394e49 | ||
|
|
5d35930dc8 | ||
|
|
a51bc5a8a2 | ||
|
|
8b6a636a96 | ||
|
|
2abdda3b44 | ||
|
|
3018542868 |
4
.env
4
.env
@@ -1,6 +1,6 @@
|
|||||||
VITE_APP_VERSION="1.2.85"
|
VITE_APP_VERSION="1.2.86"
|
||||||
VITE_LANG_DEFAULT="it"
|
VITE_LANG_DEFAULT="it"
|
||||||
VITE_PAO_APP_ID="KKPPAA5KJK435J3KSS9F9D8S9F8SD98F9SDF"
|
VITE_PAO_APP_ID="KKPPAA5KJK435J3KSS9F9D8S9F8SD98F9SDF"
|
||||||
VITE_SERVICE_WORKER_FILE="sw-1.2.85.js"
|
VITE_SERVICE_WORKER_FILE="sw-1.2.86.js"
|
||||||
VITE_PROJECT_ID_MAIN="5cc0a13fe5c9d156728f400a"
|
VITE_PROJECT_ID_MAIN="5cc0a13fe5c9d156728f400a"
|
||||||
VITE_VUE_ROUTER_MODE="history"
|
VITE_VUE_ROUTER_MODE="history"
|
||||||
@@ -1,11 +1,11 @@
|
|||||||
VITE_APP_ID="13"
|
VITE_APP_ID="13"
|
||||||
VITE_APP_URL="https://test.riso.app"
|
VITE_APP_URL="https://riso.app"
|
||||||
VITE_MONGODB_HOST="https://testapi.riso.app"
|
VITE_MONGODB_HOST="https://api.riso.app"
|
||||||
VITE_LOGO_REG="riso-logo-full.png"
|
VITE_LOGO_REG='riso-logo-full.png'
|
||||||
VITE_PUBLICKEY_PUSH="BGXRf1TgcqocqD6J7qnRgCG7AvM2lxAoW7peb7UEzB4SxBb6DxGRdJ0UvD9ewnrB9KrSrh0-aDCODXBm7sZ1DDs"
|
VITE_PUBLICKEY_PUSH="BGXRf1TgcqocqD6J7qnRgCG7AvM2lxAoW7peb7UEzB4SxBb6DxGRdJ0UvD9ewnrB9KrSrh0-aDCODXBm7sZ1DDs"
|
||||||
VITE_DEBUG="1"
|
VITE_DEBUG="0"
|
||||||
VITE_VUE_APP_ISTEST="1"
|
VITE_VUE_APP_ISTEST="0"
|
||||||
DIRECTORY_LOCAL="myprojplanet_vite"
|
DIRECTORY_LOCAL=myprojplanet_vite
|
||||||
DIRECTORY_SERVER="/var/www/nodejs_test.riso_server"
|
DIRECTORY_SERVER=/var/www/nodejs_riso_server
|
||||||
SERVERDIR_WEBSITE="/var/www/test.riso.app"
|
SERVERDIR_WEBSITE="/var/www/riso.app"
|
||||||
SERVERPW_WEBSITE="pwdadmin@1AOK"
|
SERVERPW_WEBSITE="pwdadmin@1AOK"
|
||||||
1778
_LIMBO/Casi d'Uso Ollama - Esempi Pratici.html
Normal file
1778
_LIMBO/Casi d'Uso Ollama - Esempi Pratici.html
Normal file
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
1026
_LIMBO/aaa.scss
Normal file
File diff suppressed because it is too large
Load Diff
2969
_LIMBO/faq_ris.html
Normal file
2969
_LIMBO/faq_ris.html
Normal file
File diff suppressed because it is too large
Load Diff
0
_LIMBO/grid.html
Normal file
0
_LIMBO/grid.html
Normal file
2293
_LIMBO/risospiegazione.html
Normal file
2293
_LIMBO/risospiegazione.html
Normal file
File diff suppressed because it is too large
Load Diff
@@ -10,7 +10,7 @@
|
|||||||
<meta name="description" content="<%= productDescription %>">
|
<meta name="description" content="<%= productDescription %>">
|
||||||
<meta name="format-detection" content="telephone=no">
|
<meta name="format-detection" content="telephone=no">
|
||||||
<meta name="msapplication-tap-highlight" content="no">
|
<meta name="msapplication-tap-highlight" content="no">
|
||||||
<meta name="version" content="1.2.85">
|
<meta name="version" content="1.2.86">
|
||||||
<meta name="viewport"
|
<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<% } %>">
|
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<% } %>">
|
||||||
|
|
||||||
|
|||||||
111
package.json
111
package.json
@@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"name": "riso",
|
"name": "riso",
|
||||||
"version": "1.2.85",
|
"version": "1.2.86",
|
||||||
"productName": "Riso 💚 - Rete Italiana Scambio orizzontale",
|
"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.",
|
"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",
|
"author": "Surya",
|
||||||
@@ -9,11 +9,11 @@
|
|||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"type": "module",
|
"type": "module",
|
||||||
"scripts": {
|
"scripts": {
|
||||||
"dev": "APP_VERSION='1.2.85' PORT=8084 quasar dev",
|
"dev": "APP_VERSION='1.2.86' PORT=8084 quasar dev",
|
||||||
"dev_noCheck": "SKIP_TSC=true quasar dev",
|
"dev_noCheck": "SKIP_TSC=true quasar dev",
|
||||||
"build": "quasar build",
|
"build": "quasar build",
|
||||||
"buildpwa": "NODE_ENV=production APP_VERSION='1.2.85' 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.85' quasar build -m pwa",
|
"buildpwatest": "NODE_ENV=production APP_VERSION='1.2.86' quasar build -m pwa",
|
||||||
"type-check": "vue-tsc --noEmit",
|
"type-check": "vue-tsc --noEmit",
|
||||||
"type-check:watch": "vue-tsc --noEmit --watch",
|
"type-check:watch": "vue-tsc --noEmit --watch",
|
||||||
"buildspa": "quasar build -m spa",
|
"buildspa": "quasar build -m spa",
|
||||||
@@ -21,35 +21,35 @@
|
|||||||
"lintfile": "eslint --ext .js,.ts,.vue --ignore-path .gitignore ./ > file.out.txt",
|
"lintfile": "eslint --ext .js,.ts,.vue --ignore-path .gitignore ./ > file.out.txt",
|
||||||
"lintfileNoJS": "eslint --ext .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",
|
"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.85' quasar dev -m pwa",
|
"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.85' quasar dev",
|
"spa": "NODE_ENV=development PORT=8084 APP_VERSION='1.2.86' quasar dev",
|
||||||
"debug": "quasar dev --mode debug",
|
"debug": "quasar dev --mode debug",
|
||||||
"test": "echo \"No test specified\" && exit 0",
|
"test": "echo \"No test specified\" && exit 0",
|
||||||
"generate-sw": "workbox generateSW workbox-config.js",
|
"generate-sw": "workbox generateSW workbox-config.js",
|
||||||
"postinstall": "quasar prepare"
|
"postinstall": "quasar prepare"
|
||||||
},
|
},
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@cubejs-client/core": "^1.3.21",
|
"@cubejs-client/core": "^1.5.11",
|
||||||
"@quasar/extras": "^1.17.0",
|
"@quasar/extras": "^1.17.0",
|
||||||
"@quasar/quasar-ui-qcalendar": "^4.1.2",
|
"@quasar/quasar-ui-qcalendar": "^4.1.2",
|
||||||
"@types/jsbarcode": "^3.11.4",
|
"@types/jsbarcode": "^3.11.4",
|
||||||
"@types/leaflet": "^1.9.18",
|
"@types/leaflet": "^1.9.21",
|
||||||
"@vue/compat": "^3.5.16",
|
"@vue/compat": "^3.5.25",
|
||||||
"@vue/compiler-sfc": "^3.5.16",
|
"@vue/compiler-sfc": "^3.5.25",
|
||||||
"@vuelidate/core": "^2.0.3",
|
"@vuelidate/core": "^2.0.3",
|
||||||
"@vuelidate/validators": "^2.0.4",
|
"@vuelidate/validators": "^2.0.4",
|
||||||
"acorn": "^8.15.0",
|
"acorn": "^8.15.0",
|
||||||
"animate.css": "^4.1.1",
|
"animate.css": "^4.1.1",
|
||||||
"apexcharts": "^4.7.0",
|
"apexcharts": "^5.3.6",
|
||||||
"autoprefixer": "^10.4.21",
|
"autoprefixer": "^10.4.22",
|
||||||
"axios": "^1.9.0",
|
"axios": "^1.13.2",
|
||||||
"bcryptjs": "^3.0.2",
|
"bcryptjs": "^3.0.3",
|
||||||
"chart.js": "^4.4.9",
|
"chart.js": "^4.5.1",
|
||||||
"core-js": "^3.43.0",
|
"core-js": "^3.47.0",
|
||||||
"crypto-browserify": "^3.12.1",
|
"crypto-browserify": "^3.12.1",
|
||||||
"date-fns": "^4.1.0",
|
"date-fns": "^4.1.0",
|
||||||
"echarts": "5.6.0",
|
"echarts": "6.0.0",
|
||||||
"eslint-plugin-n": "^17.19.0",
|
"eslint-plugin-n": "^17.23.1",
|
||||||
"eslint-plugin-quasar": "^1.1.0",
|
"eslint-plugin-quasar": "^1.1.0",
|
||||||
"gsap": "^3.13.0",
|
"gsap": "^3.13.0",
|
||||||
"jquery": "^3.7.1",
|
"jquery": "^3.7.1",
|
||||||
@@ -63,76 +63,77 @@
|
|||||||
"mongoose-paginate-v2": "^1.9.1",
|
"mongoose-paginate-v2": "^1.9.1",
|
||||||
"normalize.css": "^8.0.1",
|
"normalize.css": "^8.0.1",
|
||||||
"nprogress": "^0.2.0",
|
"nprogress": "^0.2.0",
|
||||||
"pinia": "^3.0.3",
|
"pinia": "^3.0.4",
|
||||||
"quasar": "^2.18.1",
|
"qrcode-vue3": "^1.7.1",
|
||||||
|
"quasar": "^2.18.6",
|
||||||
"quasar-extras": "^2.0.9",
|
"quasar-extras": "^2.0.9",
|
||||||
"register-service-worker": "^1.7.2",
|
"register-service-worker": "^1.7.2",
|
||||||
"scrollreveal": "^4.0.9",
|
"scrollreveal": "^4.0.9",
|
||||||
"typescript-eslint": "^8.34.0",
|
"typescript-eslint": "^8.48.1",
|
||||||
"vee-validate": "^4.15.1",
|
"vee-validate": "^4.15.1",
|
||||||
"vue": "^3.5.16",
|
"vue": "^3.5.25",
|
||||||
"vue-class-component": "^8.0.0-rc.1",
|
"vue-class-component": "^8.0.0-rc.1",
|
||||||
"vue-country-code": "^1.1.3",
|
"vue-country-code": "^1.1.3",
|
||||||
"vue-echarts": "^7.0.3",
|
"vue-echarts": "^8.0.1",
|
||||||
"vue-i18n": "^11.1.5",
|
"vue-i18n": "^11.2.2",
|
||||||
"vue-idb": "^0.2.0",
|
"vue-idb": "^0.2.0",
|
||||||
"vue-property-decorator": "^10.0.0-rc.3",
|
"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-scroll-reveal": "^2.1.0",
|
||||||
"vue-social-sharing": "^4.0.0-alpha4",
|
"vue-social-sharing": "^4.0.0-alpha4",
|
||||||
"vue-svgicon": "^4.0.0-alpha.3",
|
"vue-svgicon": "^4.0.0-alpha.3",
|
||||||
"vue-timeago3": "^2.3.2",
|
"vue-timeago3": "^2.3.2",
|
||||||
"vue2-dragula": "^2.5.5",
|
"vue2-dragula": "^2.5.5",
|
||||||
"vue3-apexcharts": "^1.8.0",
|
"vue3-apexcharts": "^1.10.0",
|
||||||
"vue3-qr-reader": "^1.0.0",
|
"vue3-qr-reader": "^1.0.0",
|
||||||
"vuedraggable": "^4.1.0",
|
"vuedraggable": "^4.1.0",
|
||||||
"vuex": "^4.1.0",
|
"vuex": "^4.1.0",
|
||||||
"vuex-router-sync": "^6.0.0-rc.1",
|
"vuex-router-sync": "^6.0.0-rc.1",
|
||||||
"workbox-core": "^7.3.0",
|
"workbox-core": "^7.4.0",
|
||||||
"workbox-precaching": "^7.3.0",
|
"workbox-precaching": "^7.4.0",
|
||||||
"workbox-routing": "^7.3.0",
|
"workbox-routing": "^7.4.0",
|
||||||
"workbox-strategies": "^7.3.0",
|
"workbox-strategies": "^7.4.0",
|
||||||
"workbox-window": "^7.3.0",
|
"workbox-window": "^7.4.0",
|
||||||
"xlsx": "^0.18.5"
|
"xlsx": "^0.18.5"
|
||||||
},
|
},
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"@eslint/js": "^9.28.0",
|
"@eslint/js": "^9.39.1",
|
||||||
"@intlify/unplugin-vue-i18n": "^6.0.8",
|
"@intlify/unplugin-vue-i18n": "^11.0.1",
|
||||||
"@quasar/app-vite": "^2.2.1",
|
"@quasar/app-vite": "^2.4.0",
|
||||||
"@types/google.maps": "^3.58.1",
|
"@types/google.maps": "^3.58.1",
|
||||||
"@types/jest": "^29.5.14",
|
"@types/jest": "^30.0.0",
|
||||||
"@types/js-cookie": "^3.0.6",
|
"@types/js-cookie": "^3.0.6",
|
||||||
"@types/node": "^24.0.1",
|
"@types/node": "^24.10.1",
|
||||||
"@types/nprogress": "^0.2.3",
|
"@types/nprogress": "^0.2.3",
|
||||||
"@types/vue-tel-input": "^2.1.7",
|
"@types/vue-tel-input": "^2.1.7",
|
||||||
"@types/vuelidate": "^0.7.22",
|
"@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-prettier": "^10.2.0",
|
||||||
"@vue/eslint-config-typescript": "^14.5.0",
|
"@vue/eslint-config-typescript": "^14.6.0",
|
||||||
"autoprefixer": "^10.4.21",
|
"autoprefixer": "^10.4.22",
|
||||||
"eslint": "9",
|
"eslint": "9",
|
||||||
"eslint-plugin-import": "^2.31.0",
|
"eslint-plugin-import": "^2.32.0",
|
||||||
"eslint-plugin-vue": "^10.2.0",
|
"eslint-plugin-vue": "^10.6.2",
|
||||||
"file-loader": "^6.2.0",
|
"file-loader": "^6.2.0",
|
||||||
"globals": "^16.2.0",
|
"globals": "^16.5.0",
|
||||||
"http-proxy-middleware": "^3.0.5",
|
"http-proxy-middleware": "^3.0.5",
|
||||||
"jest": "^30.0.0",
|
"jest": "^30.2.0",
|
||||||
"json-loader": "^0.5.7",
|
"json-loader": "^0.5.7",
|
||||||
"nodemon": "^3.1.10",
|
"nodemon": "^3.1.11",
|
||||||
"npm-check-updates": "^18.0.1",
|
"npm-check-updates": "^19.1.2",
|
||||||
"parcel": "^2.15.2",
|
"parcel": "^2.16.1",
|
||||||
"postcss": "^8.5.5",
|
"postcss": "^8.5.6",
|
||||||
"postcss-loader": "^8.1.1",
|
"postcss-loader": "^8.2.0",
|
||||||
"prettier": "3",
|
"prettier": "3",
|
||||||
"strip-ansi": "=7.1.0",
|
"strip-ansi": "=7.1.2",
|
||||||
"ts-jest": "^29.4.0",
|
"ts-jest": "^29.4.6",
|
||||||
"typescript": "5.8.3",
|
"typescript": "5.9.3",
|
||||||
"vite-plugin-checker": "^0.9.3",
|
"vite-plugin-checker": "^0.11.0",
|
||||||
"vue-cli-plugin-element-ui": "^1.1.4",
|
"vue-cli-plugin-element-ui": "^1.1.4",
|
||||||
"vue-eslint-parser": "^10.1.3",
|
"vue-eslint-parser": "^10.2.0",
|
||||||
"vue-tsc": "^2.2.10",
|
"vue-tsc": "^3.1.5",
|
||||||
"vueify": "^9.4.1",
|
"vueify": "^9.4.1",
|
||||||
"workbox-build": "^7.3.0"
|
"workbox-build": "^7.4.0"
|
||||||
},
|
},
|
||||||
"engines": {
|
"engines": {
|
||||||
"node": "^28 || ^26 || ^24 || ^22 || ^20 || ^18",
|
"node": "^28 || ^26 || ^24 || ^22 || ^20 || ^18",
|
||||||
|
|||||||
329
quasar.config.ts
329
quasar.config.ts
@@ -1,21 +1,9 @@
|
|||||||
import { defineConfig } from '#q-app/wrappers';
|
import { defineConfig } from '#q-app/wrappers';
|
||||||
import { fileURLToPath } from 'node:url';
|
import { fileURLToPath } from 'node:url';
|
||||||
|
|
||||||
import path from 'path';
|
import path from 'path';
|
||||||
|
|
||||||
// console.log(process.env)
|
|
||||||
|
|
||||||
export default defineConfig((ctx) => {
|
export default defineConfig((ctx) => {
|
||||||
return {
|
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: [
|
boot: [
|
||||||
'i18n',
|
'i18n',
|
||||||
'axios',
|
'axios',
|
||||||
@@ -31,56 +19,89 @@ export default defineConfig((ctx) => {
|
|||||||
'trackPageViews',
|
'trackPageViews',
|
||||||
],
|
],
|
||||||
|
|
||||||
// https://v2.quasar.dev/quasar-cli/quasar-conf-js#Property%3A-css
|
css: ['app.scss'],
|
||||||
css: [
|
|
||||||
'app.scss',
|
|
||||||
// '~quasar-ui-qcalendar/src/css/calendar-day.sass'
|
|
||||||
],
|
|
||||||
|
|
||||||
// https://github.com/quasarframework/quasar/tree/dev/extras
|
|
||||||
extras: [
|
extras: [
|
||||||
// 'ionicons-v4',
|
|
||||||
// 'mdi-v5',
|
|
||||||
// 'eva-icons',
|
|
||||||
// 'themify',
|
|
||||||
// 'line-awesome',
|
|
||||||
'ionicons-v4',
|
'ionicons-v4',
|
||||||
// 'mdi-v3',
|
|
||||||
'fontawesome-v5',
|
'fontawesome-v5',
|
||||||
'roboto-font', // optional, you are not bound to it
|
'roboto-font',
|
||||||
'material-icons', // optional, you are not bound to it
|
'material-icons',
|
||||||
'material-icons-outlined',
|
'material-icons-outlined',
|
||||||
],
|
],
|
||||||
|
|
||||||
// Full list of options: https://v2.quasar.dev/quasar-cli/quasar-conf-js#Property%3A-build
|
|
||||||
|
|
||||||
build: {
|
build: {
|
||||||
|
target: {
|
||||||
|
browser: ['es2021', 'chrome100', 'firefox100', 'safari14'],
|
||||||
|
node: 'node20',
|
||||||
|
},
|
||||||
|
|
||||||
|
// ✅ AGGIUNTO: Importa automaticamente variables.scss ovunque
|
||||||
|
sassVariables: 'src/css/variables.scss',
|
||||||
|
|
||||||
|
vueRouterMode: 'history',
|
||||||
|
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: {
|
viteConf: {
|
||||||
server: {
|
server: {
|
||||||
hmr: {
|
hmr: {
|
||||||
protocol: 'wss', // o 'ws' se usi HTTP
|
protocol: 'wss',
|
||||||
host: 'localhost',
|
host: 'localhost',
|
||||||
port: 8094,
|
port: 8094,
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
target: {
|
|
||||||
browser: ['es2022', 'firefox115', 'chrome115', 'safari14'],
|
|
||||||
node: 'node20',
|
|
||||||
},
|
|
||||||
sassVariables: 'src/css/variables.scss',
|
|
||||||
// env: envparser(),
|
|
||||||
// versionCode: package.version,
|
|
||||||
vueRouterMode: 'history',
|
|
||||||
analyze: false, // true
|
|
||||||
transpile: true,
|
|
||||||
transpileDependencies: [/quasar-ui-qcalendar[\\/]src/],
|
|
||||||
beforeDev(api) {
|
beforeDev(api) {
|
||||||
// Se la variabile d'ambiente SKIP_TSC è impostata, disabilita il type checking
|
|
||||||
if (process.env.SKIP_TSC === 'true') {
|
if (process.env.SKIP_TSC === 'true') {
|
||||||
console.log('⚠️ TypeScript type checking is disabled');
|
console.log('⚠️ TypeScript type checking is disabled');
|
||||||
|
|
||||||
// Disattiva TypeScript checking per Vite
|
|
||||||
if (api && api.chainWebpack) {
|
if (api && api.chainWebpack) {
|
||||||
api.chainWebpack((chain) => {
|
api.chainWebpack((chain) => {
|
||||||
chain.plugin('fork-ts-checker').tap((args) => {
|
chain.plugin('fork-ts-checker').tap((args) => {
|
||||||
@@ -91,113 +112,19 @@ export default defineConfig((ctx) => {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
// @quasar/app-vite v2.0.3+
|
|
||||||
envFilter(originalEnv) {
|
envFilter(originalEnv) {
|
||||||
const newEnv = {};
|
return originalEnv; // Ritorna tutto per semplicità
|
||||||
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'),
|
|
||||||
},
|
|
||||||
};
|
|
||||||
},
|
},
|
||||||
|
|
||||||
vitePlugins: [
|
vitePlugins: [
|
||||||
[
|
[
|
||||||
'@intlify/unplugin-vue-i18n/vite',
|
'@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',
|
ssr: ctx.modeName === 'ssr',
|
||||||
|
|
||||||
// you need to set i18n resource including paths !
|
|
||||||
include: [fileURLToPath(new URL('./src/i18n', import.meta.url))],
|
include: [fileURLToPath(new URL('./src/i18n', import.meta.url))],
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
|
|
||||||
[
|
[
|
||||||
'vite-plugin-checker',
|
'vite-plugin-checker',
|
||||||
{
|
{
|
||||||
@@ -211,60 +138,25 @@ export default defineConfig((ctx) => {
|
|||||||
{ server: false },
|
{ 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: {
|
devServer: {
|
||||||
https: {
|
https: {
|
||||||
key: path.resolve(__dirname, 'localhost-key.pem'),
|
key: path.resolve(__dirname, 'localhost-key.pem'),
|
||||||
cert: path.resolve(__dirname, 'localhost.pem'),
|
cert: path.resolve(__dirname, 'localhost.pem'),
|
||||||
},
|
},
|
||||||
|
|
||||||
port: parseInt(process.env.PORT, 10),
|
port: parseInt(process.env.PORT, 10),
|
||||||
vueDevtools: false, // automatically opening remote Vue Devtools
|
vueDevtools: false,
|
||||||
open: false, // opens browser window automatically
|
open: false,
|
||||||
hot: true, // Enable hot module replacement
|
hot: true,
|
||||||
headers: {
|
headers: {
|
||||||
'Access-Control-Allow-Origin': '*',
|
'Access-Control-Allow-Origin': '*',
|
||||||
'Access-Control-Allow-Headers': '*',
|
'Access-Control-Allow-Headers': '*',
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
|
|
||||||
// https://v2.quasar.dev/quasar-cli/quasar-conf-js#Property%3A-framework
|
|
||||||
framework: {
|
framework: {
|
||||||
config: {},
|
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: [
|
components: [
|
||||||
'QLayout',
|
'QLayout',
|
||||||
'QDrawer',
|
'QDrawer',
|
||||||
@@ -332,9 +224,10 @@ export default defineConfig((ctx) => {
|
|||||||
'QTabPanel',
|
'QTabPanel',
|
||||||
'QTree',
|
'QTree',
|
||||||
'QSeparator',
|
'QSeparator',
|
||||||
|
'QPageSticky',
|
||||||
],
|
],
|
||||||
directives: ['Ripple', 'ClosePopup'],
|
directives: ['Ripple', 'ClosePopup'],
|
||||||
_plugins: [
|
plugins: [
|
||||||
'Meta',
|
'Meta',
|
||||||
'Dialog',
|
'Dialog',
|
||||||
'Notify',
|
'Notify',
|
||||||
@@ -344,59 +237,27 @@ export default defineConfig((ctx) => {
|
|||||||
'LocalStorage',
|
'LocalStorage',
|
||||||
'SessionStorage',
|
'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',
|
|
||||||
iconSet: 'material-icons',
|
iconSet: 'material-icons',
|
||||||
lang: 'it', // Quasar language
|
lang: 'it',
|
||||||
},
|
},
|
||||||
|
|
||||||
animations: 'all', // --- includes all animations
|
animations: 'all',
|
||||||
// https://v2.quasar.dev/options/animations
|
|
||||||
// animations: [],
|
|
||||||
|
|
||||||
// https://v2.quasar.dev/quasar-cli/developing-ssr/configuring-ssr
|
|
||||||
ssr: {
|
ssr: {
|
||||||
pwa: false,
|
pwa: false,
|
||||||
|
prodPort: 3000,
|
||||||
// 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)
|
|
||||||
|
|
||||||
maxAge: 1000 * 60 * 60 * 24 * 30,
|
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'],
|
||||||
|
|
||||||
middlewares: [
|
|
||||||
ctx.prod ? 'compression' : '',
|
|
||||||
'render', // keep this as last one
|
|
||||||
],
|
|
||||||
},
|
},
|
||||||
|
|
||||||
// https://v2.quasar.dev/quasar-cli/developing-pwa/configuring-pwa
|
|
||||||
pwa: {
|
pwa: {
|
||||||
workboxMode: 'InjectManifest', // 'GenerateSW' or 'InjectManifest'
|
workboxMode: 'InjectManifest',
|
||||||
swFilename: 'sw-' + process.env.APP_VERSION + '.js',
|
swFilename: 'sw-' + process.env.APP_VERSION + '.js',
|
||||||
workboxOptions: {
|
workboxOptions: {
|
||||||
swSrc: 'src-pwa/custom-service-worker.js', // Assicurati che il file esista
|
swSrc: 'src-pwa/custom-service-worker.js',
|
||||||
include: [/\.html$/, /\.js$/, /\.css$/, /\.png$/, /\.svg$/, /\.json$/], // File da precacheare
|
include: [/\.html$/, /\.js$/, /\.css$/, /\.png$/, /\.svg$/, /\.json$/],
|
||||||
},
|
},
|
||||||
suppressWarnings: true,
|
suppressWarnings: true,
|
||||||
/*extendGenerateSWOptions(cfg) {
|
|
||||||
cfg.skipWaiting = false
|
|
||||||
cfg.clientsClaim = false
|
|
||||||
},*/
|
|
||||||
},
|
},
|
||||||
|
|
||||||
sourceFiles: {
|
sourceFiles: {
|
||||||
@@ -405,36 +266,12 @@ export default defineConfig((ctx) => {
|
|||||||
pwaManifestFile: 'src-pwa/manifest.json',
|
pwaManifestFile: 'src-pwa/manifest.json',
|
||||||
},
|
},
|
||||||
|
|
||||||
// Full list of options: https://v2.quasar.dev/quasar-cli/developing-cordova-apps/configuring-cordova
|
cordova: {},
|
||||||
cordova: {
|
capacitor: { hideSplashscreen: true },
|
||||||
// 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
|
|
||||||
electron: {
|
electron: {
|
||||||
bundler: 'packager', // 'packager' or 'builder'
|
bundler: 'packager',
|
||||||
|
packager: {},
|
||||||
packager: {
|
builder: { appId: '-' },
|
||||||
// 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: '-',
|
|
||||||
},
|
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
});
|
});
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"name": "cnm",
|
"name": "cnm",
|
||||||
"version": "1.2.85",
|
"version": "1.2.86",
|
||||||
"description": "Comunita Nuovo Mondo",
|
"description": "Comunita Nuovo Mondo",
|
||||||
"productName": "ComunitaNuovoMondo",
|
"productName": "ComunitaNuovoMondo",
|
||||||
"author": "Surya",
|
"author": "Surya",
|
||||||
@@ -9,7 +9,7 @@
|
|||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"type": "module",
|
"type": "module",
|
||||||
"scripts": {
|
"scripts": {
|
||||||
"dev": "PORT=8083 APP_VERSION='1.2.85' quasar dev",
|
"dev": "PORT=8083 APP_VERSION='1.2.86' quasar dev",
|
||||||
"dev_noCheck": "SKIP_TSC=true quasar dev",
|
"dev_noCheck": "SKIP_TSC=true quasar dev",
|
||||||
"build": "quasar build",
|
"build": "quasar build",
|
||||||
"buildpwa": "NODE_ENV=production quasar build -m pwa",
|
"buildpwa": "NODE_ENV=production quasar build -m pwa",
|
||||||
@@ -21,8 +21,8 @@
|
|||||||
"lintfile": "eslint --ext .js,.ts,.vue --ignore-path .gitignore ./ > file.out.txt",
|
"lintfile": "eslint --ext .js,.ts,.vue --ignore-path .gitignore ./ > file.out.txt",
|
||||||
"lintfileNoJS": "eslint --ext .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",
|
"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.85' quasar dev -m pwa",
|
"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.85' quasar dev",
|
"spa": "NODE_ENV=development PORT=8083 APP_VERSION='1.2.86' quasar dev",
|
||||||
"debug": "quasar dev --mode debug",
|
"debug": "quasar dev --mode debug",
|
||||||
"test": "echo \"No test specified\" && exit 0",
|
"test": "echo \"No test specified\" && exit 0",
|
||||||
"generate-sw": "workbox generateSW workbox-config.js",
|
"generate-sw": "workbox generateSW workbox-config.js",
|
||||||
|
|||||||
@@ -36,7 +36,7 @@ const firstPage = {
|
|||||||
path: '/',
|
path: '/',
|
||||||
materialIcon: 'home',
|
materialIcon: 'home',
|
||||||
name: 'pages.home',
|
name: 'pages.home',
|
||||||
component: () => import('@src/root/mainview/mainview.vue'),
|
component: () => import('@/root/mainview/mainview.vue'),
|
||||||
reqauth: false,
|
reqauth: false,
|
||||||
inmenu: true,
|
inmenu: true,
|
||||||
infooter: true,
|
infooter: true,
|
||||||
@@ -51,7 +51,7 @@ function getDynamicPages(site: ISites): IListRoutes[] {
|
|||||||
path: '/',
|
path: '/',
|
||||||
materialIcon: 'home',
|
materialIcon: 'home',
|
||||||
name: 'pages.home',
|
name: 'pages.home',
|
||||||
component: () => import('@src/root/mainview/mainview.vue'),
|
component: () => import('@/root/mainview/mainview.vue'),
|
||||||
reqauth: false,
|
reqauth: false,
|
||||||
inmenu: true,
|
inmenu: true,
|
||||||
infooter: true,
|
infooter: true,
|
||||||
@@ -62,7 +62,7 @@ function getDynamicPages(site: ISites): IListRoutes[] {
|
|||||||
path: '/test',
|
path: '/test',
|
||||||
materialIcon: 'fas fa-test',
|
materialIcon: 'fas fa-test',
|
||||||
name: 'mypages.test',
|
name: 'mypages.test',
|
||||||
component: () => import('@src/views/testServer/testServer.vue'),
|
component: () => import('@/views/testServer/testServer.vue'),
|
||||||
inmenu: false,
|
inmenu: false,
|
||||||
infooter: false,
|
infooter: false,
|
||||||
},
|
},
|
||||||
@@ -72,7 +72,7 @@ function getDynamicPages(site: ISites): IListRoutes[] {
|
|||||||
path: '/goods',
|
path: '/goods',
|
||||||
materialIcon: 'fas fa-tshirt',
|
materialIcon: 'fas fa-tshirt',
|
||||||
name: 'mypages.goods',
|
name: 'mypages.goods',
|
||||||
component: () => import('@src/root/goods/goods.vue'),
|
component: () => import('@/root/goods/goods.vue'),
|
||||||
meta: { requiresAuth: true },
|
meta: { requiresAuth: true },
|
||||||
inmenu: true,
|
inmenu: true,
|
||||||
infooter: true,
|
infooter: true,
|
||||||
@@ -83,7 +83,7 @@ function getDynamicPages(site: ISites): IListRoutes[] {
|
|||||||
path: '/services',
|
path: '/services',
|
||||||
materialIcon: 'fas fa-house-user',
|
materialIcon: 'fas fa-house-user',
|
||||||
name: 'mypages.services',
|
name: 'mypages.services',
|
||||||
component: () => import('@src/root/services/services.vue'),
|
component: () => import('@/root/services/services.vue'),
|
||||||
meta: { requiresAuth: true },
|
meta: { requiresAuth: true },
|
||||||
inmenu: true,
|
inmenu: true,
|
||||||
infooter: true,
|
infooter: true,
|
||||||
@@ -94,7 +94,7 @@ function getDynamicPages(site: ISites): IListRoutes[] {
|
|||||||
path: '/activities',
|
path: '/activities',
|
||||||
materialIcon: 'fas fa-house-user',
|
materialIcon: 'fas fa-house-user',
|
||||||
name: 'mypages.activities',
|
name: 'mypages.activities',
|
||||||
component: () => import('@src/root/activities/activities.vue'),
|
component: () => import('@/root/activities/activities.vue'),
|
||||||
meta: { requiresAuth: true },
|
meta: { requiresAuth: true },
|
||||||
inmenu: false,
|
inmenu: false,
|
||||||
infooter: false,
|
infooter: false,
|
||||||
@@ -105,7 +105,7 @@ function getDynamicPages(site: ISites): IListRoutes[] {
|
|||||||
path: '/provapao',
|
path: '/provapao',
|
||||||
materialIcon: 'fas fa-house-user',
|
materialIcon: 'fas fa-house-user',
|
||||||
name: 'mypages.provapao',
|
name: 'mypages.provapao',
|
||||||
component: () => import('@src/root/provapao/provapao.vue'),
|
component: () => import('@/root/provapao/provapao.vue'),
|
||||||
meta: { requiresAuth: true },
|
meta: { requiresAuth: true },
|
||||||
inmenu: false,
|
inmenu: false,
|
||||||
infooter: false,
|
infooter: false,
|
||||||
@@ -116,7 +116,7 @@ function getDynamicPages(site: ISites): IListRoutes[] {
|
|||||||
path: '/hosps',
|
path: '/hosps',
|
||||||
materialIcon: 'fas fa-bed',
|
materialIcon: 'fas fa-bed',
|
||||||
name: 'mypages.hosp',
|
name: 'mypages.hosp',
|
||||||
component: () => import('@src/root/hosp/hosp.vue'),
|
component: () => import('@/root/hosp/hosp.vue'),
|
||||||
meta: { requiresAuth: true },
|
meta: { requiresAuth: true },
|
||||||
inmenu: true,
|
inmenu: true,
|
||||||
infooter: true,
|
infooter: true,
|
||||||
@@ -127,7 +127,7 @@ function getDynamicPages(site: ISites): IListRoutes[] {
|
|||||||
path: '/circuits',
|
path: '/circuits',
|
||||||
materialIcon: 'fas fa-coins',
|
materialIcon: 'fas fa-coins',
|
||||||
name: 'mypages.circuits',
|
name: 'mypages.circuits',
|
||||||
component: () => import('@src/views/user/mycircuits/mycircuits.vue'),
|
component: () => import('@/views/user/mycircuits/mycircuits.vue'),
|
||||||
meta: { requiresAuth: true },
|
meta: { requiresAuth: true },
|
||||||
inmenu: true,
|
inmenu: true,
|
||||||
infooter: true,
|
infooter: true,
|
||||||
@@ -138,7 +138,7 @@ function getDynamicPages(site: ISites): IListRoutes[] {
|
|||||||
path: '/events',
|
path: '/events',
|
||||||
materialIcon: 'fas fa-bullhorn',
|
materialIcon: 'fas fa-bullhorn',
|
||||||
name: 'mypages.events',
|
name: 'mypages.events',
|
||||||
component: () => import('@src/root/eventi/eventi.vue'),
|
component: () => import('@/root/eventi/eventi.vue'),
|
||||||
meta: { requiresAuth: true },
|
meta: { requiresAuth: true },
|
||||||
inmenu: true,
|
inmenu: true,
|
||||||
infooter: true,
|
infooter: true,
|
||||||
@@ -149,7 +149,7 @@ function getDynamicPages(site: ISites): IListRoutes[] {
|
|||||||
path: '/install_site',
|
path: '/install_site',
|
||||||
materialIcon: 'fas fa-user',
|
materialIcon: 'fas fa-user',
|
||||||
name: 'pages.install_site',
|
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 },
|
meta: { requiresAuth: true },
|
||||||
inmenu: false,
|
inmenu: false,
|
||||||
infooter: false,
|
infooter: false,
|
||||||
@@ -160,7 +160,7 @@ function getDynamicPages(site: ISites): IListRoutes[] {
|
|||||||
path: '/myprofile',
|
path: '/myprofile',
|
||||||
materialIcon: 'fas fa-user',
|
materialIcon: 'fas fa-user',
|
||||||
name: 'pages.profile',
|
name: 'pages.profile',
|
||||||
component: () => import('@src/views/user/myprofile/myprofile.vue'),
|
component: () => import('@/views/user/myprofile/myprofile.vue'),
|
||||||
meta: { requiresAuth: true },
|
meta: { requiresAuth: true },
|
||||||
inmenu: true,
|
inmenu: true,
|
||||||
infooter: true,
|
infooter: true,
|
||||||
@@ -171,7 +171,7 @@ function getDynamicPages(site: ISites): IListRoutes[] {
|
|||||||
path: '/editprofile',
|
path: '/editprofile',
|
||||||
materialIcon: 'fas fa-user',
|
materialIcon: 'fas fa-user',
|
||||||
name: 'pages.profile3',
|
name: 'pages.profile3',
|
||||||
component: () => import('@src/views/user/editprofile/editprofile.vue'),
|
component: () => import('@/views/user/editprofile/editprofile.vue'),
|
||||||
meta: { requiresAuth: true },
|
meta: { requiresAuth: true },
|
||||||
inmenu: false,
|
inmenu: false,
|
||||||
infooter: false,
|
infooter: false,
|
||||||
@@ -182,7 +182,7 @@ function getDynamicPages(site: ISites): IListRoutes[] {
|
|||||||
path: '/friends',
|
path: '/friends',
|
||||||
materialIcon: 'fas fa-user-friends',
|
materialIcon: 'fas fa-user-friends',
|
||||||
name: 'mypages.iscritti',
|
name: 'mypages.iscritti',
|
||||||
component: () => import('@src/views/user/myfriends/myfriends.vue'),
|
component: () => import('@/views/user/myfriends/myfriends.vue'),
|
||||||
meta: { requiresAuth: true },
|
meta: { requiresAuth: true },
|
||||||
inmenu: true,
|
inmenu: true,
|
||||||
infooter: true,
|
infooter: true,
|
||||||
@@ -193,7 +193,7 @@ function getDynamicPages(site: ISites): IListRoutes[] {
|
|||||||
path: '/groups',
|
path: '/groups',
|
||||||
materialIcon: 'fas fa-users',
|
materialIcon: 'fas fa-users',
|
||||||
name: 'mypages.groups',
|
name: 'mypages.groups',
|
||||||
component: () => import('@src/views/user/mygroups/mygroups.vue'),
|
component: () => import('@/views/user/mygroups/mygroups.vue'),
|
||||||
meta: { requiresAuth: true },
|
meta: { requiresAuth: true },
|
||||||
inmenu: true,
|
inmenu: true,
|
||||||
infooter: false,
|
infooter: false,
|
||||||
@@ -204,7 +204,7 @@ function getDynamicPages(site: ISites): IListRoutes[] {
|
|||||||
path: '/grp/:groupname',
|
path: '/grp/:groupname',
|
||||||
materialIcon: 'fas fa-user',
|
materialIcon: 'fas fa-user',
|
||||||
name: 'proj.group2',
|
name: 'proj.group2',
|
||||||
component: () => import('@src/views/user/mygroup/mygroup.vue'),
|
component: () => import('@/views/user/mygroup/mygroup.vue'),
|
||||||
meta: { requiresAuth: true, newpage: true },
|
meta: { requiresAuth: true, newpage: true },
|
||||||
inmenu: false,
|
inmenu: false,
|
||||||
infooter: false,
|
infooter: false,
|
||||||
@@ -215,7 +215,7 @@ function getDynamicPages(site: ISites): IListRoutes[] {
|
|||||||
path: '/circuit/:path',
|
path: '/circuit/:path',
|
||||||
materialIcon: 'fas fa-user',
|
materialIcon: 'fas fa-user',
|
||||||
name: 'proj.circuit2',
|
name: 'proj.circuit2',
|
||||||
component: () => import('@src/views/user/mycircuit/mycircuit.vue'),
|
component: () => import('@/views/user/mycircuit/mycircuit.vue'),
|
||||||
meta: { requiresAuth: true, newpage: true },
|
meta: { requiresAuth: true, newpage: true },
|
||||||
inmenu: false,
|
inmenu: false,
|
||||||
infooter: false,
|
infooter: false,
|
||||||
@@ -234,7 +234,7 @@ function getDynamicPages(site: ISites): IListRoutes[] {
|
|||||||
path: '/mypage/:idBacheca',
|
path: '/mypage/:idBacheca',
|
||||||
materialIcon: 'fas fa-user',
|
materialIcon: 'fas fa-user',
|
||||||
name: 'pages.mypage2',
|
name: 'pages.mypage2',
|
||||||
component: () => import('@src/views/user/mypagebacheca/mypagebacheca.vue'),
|
component: () => import('@/views/user/mypagebacheca/mypagebacheca.vue'),
|
||||||
meta: { requiresAuth: true, newpage: true },
|
meta: { requiresAuth: true, newpage: true },
|
||||||
inmenu: false,
|
inmenu: false,
|
||||||
infooter: false,
|
infooter: false,
|
||||||
@@ -245,7 +245,7 @@ function getDynamicPages(site: ISites): IListRoutes[] {
|
|||||||
path: '/myservice/:idSkill',
|
path: '/myservice/:idSkill',
|
||||||
materialIcon: '',
|
materialIcon: '',
|
||||||
name: 'pages.myservice2',
|
name: 'pages.myservice2',
|
||||||
component: () => import('@src/views/user/myservice/myservice.vue'),
|
component: () => import('@/views/user/myservice/myservice.vue'),
|
||||||
meta: { requiresAuth: true, newpage: true },
|
meta: { requiresAuth: true, newpage: true },
|
||||||
inmenu: false,
|
inmenu: false,
|
||||||
infooter: false,
|
infooter: false,
|
||||||
@@ -256,7 +256,7 @@ function getDynamicPages(site: ISites): IListRoutes[] {
|
|||||||
path: '/myhosps/:idHosp',
|
path: '/myhosps/:idHosp',
|
||||||
materialIcon: '',
|
materialIcon: '',
|
||||||
name: 'pages.myhosps2',
|
name: 'pages.myhosps2',
|
||||||
component: () => import('@src/views/user/mypagehosp/mypagehosp.vue'),
|
component: () => import('@/views/user/mypagehosp/mypagehosp.vue'),
|
||||||
meta: { requiresAuth: true, newpage: true },
|
meta: { requiresAuth: true, newpage: true },
|
||||||
inmenu: false,
|
inmenu: false,
|
||||||
infooter: false,
|
infooter: false,
|
||||||
@@ -267,7 +267,7 @@ function getDynamicPages(site: ISites): IListRoutes[] {
|
|||||||
path: '/mygood/:idGood',
|
path: '/mygood/:idGood',
|
||||||
materialIcon: '',
|
materialIcon: '',
|
||||||
name: 'pages.mygood2',
|
name: 'pages.mygood2',
|
||||||
component: () => import('@src/views/user/mypagegood/mypagegood.vue'),
|
component: () => import('@/views/user/mypagegood/mypagegood.vue'),
|
||||||
meta: { requiresAuth: true, newpage: true },
|
meta: { requiresAuth: true, newpage: true },
|
||||||
inmenu: false,
|
inmenu: false,
|
||||||
infooter: false,
|
infooter: false,
|
||||||
@@ -278,7 +278,7 @@ function getDynamicPages(site: ISites): IListRoutes[] {
|
|||||||
path: '/sostieniilprogetto',
|
path: '/sostieniilprogetto',
|
||||||
materialIcon: 'fas fa-hand-holding-heart',
|
materialIcon: 'fas fa-hand-holding-heart',
|
||||||
name: 'pages.fundraising',
|
name: 'pages.fundraising',
|
||||||
component: () => import('@src/root/fundraising/fundraising.vue'),
|
component: () => import('@/root/fundraising/fundraising.vue'),
|
||||||
inmenu: false,
|
inmenu: false,
|
||||||
infooter: false,
|
infooter: false,
|
||||||
},
|
},
|
||||||
@@ -288,7 +288,7 @@ function getDynamicPages(site: ISites): IListRoutes[] {
|
|||||||
path: '/calendario-eventi',
|
path: '/calendario-eventi',
|
||||||
materialIcon: 'event',
|
materialIcon: 'event',
|
||||||
name: 'ris.calendario_eventi_riso',
|
name: 'ris.calendario_eventi_riso',
|
||||||
component: () => import('@src/root/calendarioeventi/calendarioeventi.vue'),
|
component: () => import('@/root/calendarioeventi/calendarioeventi.vue'),
|
||||||
extraclass: 'isCalendar',
|
extraclass: 'isCalendar',
|
||||||
inmenu: false,
|
inmenu: false,
|
||||||
infooter: false
|
infooter: false
|
||||||
|
|||||||
@@ -62,7 +62,7 @@ const routes_admin: IListRoutes[] = [
|
|||||||
path: '/admin/sites',
|
path: '/admin/sites',
|
||||||
materialIcon: 'event_seat',
|
materialIcon: 'event_seat',
|
||||||
name: 'pages.Sites',
|
name: 'pages.Sites',
|
||||||
component: () => import('@src/rootgen/admin/sites/sites.vue'),
|
component: () => import('@/rootgen/admin/sites/sites.vue'),
|
||||||
level_parent: 0.0,
|
level_parent: 0.0,
|
||||||
level_child: 0.5,
|
level_child: 0.5,
|
||||||
inmenu: true,
|
inmenu: true,
|
||||||
@@ -75,7 +75,7 @@ const routes_admin: IListRoutes[] = [
|
|||||||
path: '/admin/cfgserv',
|
path: '/admin/cfgserv',
|
||||||
materialIcon: 'event_seat',
|
materialIcon: 'event_seat',
|
||||||
name: 'pages.Admin',
|
name: 'pages.Admin',
|
||||||
component: () => import('@src/views/admin/cfgServer/cfgServer.vue'),
|
component: () => import('@/views/admin/cfgServer/cfgServer.vue'),
|
||||||
level_parent: 0.0,
|
level_parent: 0.0,
|
||||||
level_child: 0.5,
|
level_child: 0.5,
|
||||||
inmenu: true,
|
inmenu: true,
|
||||||
@@ -88,7 +88,7 @@ const routes_admin: IListRoutes[] = [
|
|||||||
path: '/admin/dbop',
|
path: '/admin/dbop',
|
||||||
materialIcon: 'event_seat',
|
materialIcon: 'event_seat',
|
||||||
name: 'pages.dbop',
|
name: 'pages.dbop',
|
||||||
component: () => import('@src/views/admin/dbop/dbop.vue'),
|
component: () => import('@/views/admin/dbop/dbop.vue'),
|
||||||
level_parent: 0.0,
|
level_parent: 0.0,
|
||||||
level_child: 0.5,
|
level_child: 0.5,
|
||||||
inmenu: true,
|
inmenu: true,
|
||||||
@@ -101,7 +101,7 @@ const routes_admin: IListRoutes[] = [
|
|||||||
path: '/admin/importfile',
|
path: '/admin/importfile',
|
||||||
materialIcon: 'event_seat',
|
materialIcon: 'event_seat',
|
||||||
name: 'otherpages.manage.importfile',
|
name: 'otherpages.manage.importfile',
|
||||||
component: () => import('@src/rootgen/admin/importdata/importdata.vue'),
|
component: () => import('@/rootgen/admin/importdata/importdata.vue'),
|
||||||
level_parent: 0.0,
|
level_parent: 0.0,
|
||||||
level_child: 0.5,
|
level_child: 0.5,
|
||||||
inmenu: true,
|
inmenu: true,
|
||||||
@@ -117,7 +117,7 @@ const routes_manager: IListRoutes[] = [
|
|||||||
path: '/admin/usereventlist',
|
path: '/admin/usereventlist',
|
||||||
materialIcon: 'edit',
|
materialIcon: 'edit',
|
||||||
name: 'otherpages.admin.usereventlist',
|
name: 'otherpages.admin.usereventlist',
|
||||||
component: () => import('@src/rootgen/admin/eventlist/eventlist.vue'),
|
component: () => import('@/rootgen/admin/eventlist/eventlist.vue'),
|
||||||
inmenu: true,
|
inmenu: true,
|
||||||
submenu: true,
|
submenu: true,
|
||||||
level_parent: 0,
|
level_parent: 0,
|
||||||
@@ -133,7 +133,7 @@ const routes_manager: IListRoutes[] = [
|
|||||||
path: '/admin/userlist',
|
path: '/admin/userlist',
|
||||||
materialIcon: 'fas fa-users',
|
materialIcon: 'fas fa-users',
|
||||||
name: 'otherpages.admin.userlist',
|
name: 'otherpages.admin.userlist',
|
||||||
component: () => import('@src/rootgen/admin/usersList/usersList.vue'),
|
component: () => import('@/rootgen/admin/usersList/usersList.vue'),
|
||||||
inmenu: true,
|
inmenu: true,
|
||||||
submenu: true,
|
submenu: true,
|
||||||
level_parent: 0,
|
level_parent: 0,
|
||||||
@@ -148,7 +148,7 @@ const routes_manager: IListRoutes[] = [
|
|||||||
path: '/admin/iscritticonacreis',
|
path: '/admin/iscritticonacreis',
|
||||||
materialIcon: 'fas fa-users',
|
materialIcon: 'fas fa-users',
|
||||||
name: 'otherpages.admin.iscritticonacreis',
|
name: 'otherpages.admin.iscritticonacreis',
|
||||||
component: () => import('@src/rootgen/admin/iscritticonacreis/iscritticonacreis.vue'),
|
component: () => import('@/rootgen/admin/iscritticonacreis/iscritticonacreis.vue'),
|
||||||
inmenu: true,
|
inmenu: true,
|
||||||
submenu: true,
|
submenu: true,
|
||||||
level_parent: 0,
|
level_parent: 0,
|
||||||
@@ -164,7 +164,7 @@ const routes_manager: IListRoutes[] = [
|
|||||||
path: '/admin/zoomlist',
|
path: '/admin/zoomlist',
|
||||||
materialIcon: 'fas fa-users',
|
materialIcon: 'fas fa-users',
|
||||||
name: 'otherpages.admin.zoomlist',
|
name: 'otherpages.admin.zoomlist',
|
||||||
component: () => import('@src/rootgen/admin/zoomList/zoomList.vue'),
|
component: () => import('@/rootgen/admin/zoomList/zoomList.vue'),
|
||||||
inmenu: true,
|
inmenu: true,
|
||||||
submenu: true,
|
submenu: true,
|
||||||
level_parent: 0,
|
level_parent: 0,
|
||||||
@@ -178,7 +178,7 @@ const routes_manager: IListRoutes[] = [
|
|||||||
path: '/admin/tableslist',
|
path: '/admin/tableslist',
|
||||||
materialIcon: 'fas fa-users',
|
materialIcon: 'fas fa-users',
|
||||||
name: 'otherpages.admin.tableslist',
|
name: 'otherpages.admin.tableslist',
|
||||||
component: () => import('@src/rootgen/admin/tablesList/tablesList.vue'),
|
component: () => import('@/rootgen/admin/tablesList/tablesList.vue'),
|
||||||
inmenu: true,
|
inmenu: true,
|
||||||
submenu: true,
|
submenu: true,
|
||||||
level_parent: 0,
|
level_parent: 0,
|
||||||
@@ -192,7 +192,7 @@ const routes_manager: IListRoutes[] = [
|
|||||||
path: '/admin/pages',
|
path: '/admin/pages',
|
||||||
materialIcon: 'fas fa-file-alt',
|
materialIcon: 'fas fa-file-alt',
|
||||||
name: 'otherpages.admin.pages',
|
name: 'otherpages.admin.pages',
|
||||||
component: () => import('@src/rootgen/admin/pages/pages.vue'),
|
component: () => import('@/rootgen/admin/pages/pages.vue'),
|
||||||
inmenu: true,
|
inmenu: true,
|
||||||
submenu: true,
|
submenu: true,
|
||||||
level_parent: 0,
|
level_parent: 0,
|
||||||
@@ -206,7 +206,7 @@ const routes_manager: IListRoutes[] = [
|
|||||||
path: '/admin/bot',
|
path: '/admin/bot',
|
||||||
materialIcon: 'fas fa-file-alt',
|
materialIcon: 'fas fa-file-alt',
|
||||||
name: 'otherpages.admin.bot',
|
name: 'otherpages.admin.bot',
|
||||||
component: () => import('@src/rootgen/admin/bot/bot.vue'),
|
component: () => import('@/rootgen/admin/bot/bot.vue'),
|
||||||
inmenu: true,
|
inmenu: true,
|
||||||
submenu: true,
|
submenu: true,
|
||||||
level_parent: 0,
|
level_parent: 0,
|
||||||
@@ -240,7 +240,7 @@ const routes_manager: IListRoutes[] = [
|
|||||||
path: '/admin/msg_template',
|
path: '/admin/msg_template',
|
||||||
materialIcon: 'fas fa-file-alt',
|
materialIcon: 'fas fa-file-alt',
|
||||||
name: 'msgs.messages',
|
name: 'msgs.messages',
|
||||||
component: () => import('@src/rootgen/admin/msg_template/msg_template.vue'),
|
component: () => import('@/rootgen/admin/msg_template/msg_template.vue'),
|
||||||
inmenu: true,
|
inmenu: true,
|
||||||
submenu: true,
|
submenu: true,
|
||||||
level_parent: 0,
|
level_parent: 0,
|
||||||
@@ -255,7 +255,7 @@ const routes_manager: IListRoutes[] = [
|
|||||||
path: '/admin/sendpushnotif',
|
path: '/admin/sendpushnotif',
|
||||||
materialIcon: 'event_seat',
|
materialIcon: 'event_seat',
|
||||||
name: 'otherpages.manage.sendpushnotif',
|
name: 'otherpages.manage.sendpushnotif',
|
||||||
component: () => import('@src/rootgen/admin/sendpushnotif/sendpushnotif.vue'),
|
component: () => import('@/rootgen/admin/sendpushnotif/sendpushnotif.vue'),
|
||||||
level_parent: 0.0,
|
level_parent: 0.0,
|
||||||
level_child: 0.5,
|
level_child: 0.5,
|
||||||
inmenu: true,
|
inmenu: true,
|
||||||
@@ -269,7 +269,7 @@ const routes_manager: IListRoutes[] = [
|
|||||||
path: '/admin/gallery',
|
path: '/admin/gallery',
|
||||||
materialIcon: 'fas fa-file-alt',
|
materialIcon: 'fas fa-file-alt',
|
||||||
name: 'otherpages.admin.gallery',
|
name: 'otherpages.admin.gallery',
|
||||||
component: () => import('@src/rootgen/admin/gallery/gallery.vue'),
|
component: () => import('@/rootgen/admin/gallery/gallery.vue'),
|
||||||
inmenu: true,
|
inmenu: true,
|
||||||
submenu: true,
|
submenu: true,
|
||||||
level_parent: 0,
|
level_parent: 0,
|
||||||
@@ -283,7 +283,7 @@ const routes_manager: IListRoutes[] = [
|
|||||||
path: '/admin/media',
|
path: '/admin/media',
|
||||||
materialIcon: 'fas fa-file-alt',
|
materialIcon: 'fas fa-file-alt',
|
||||||
name: 'otherpages.admin.media',
|
name: 'otherpages.admin.media',
|
||||||
component: () => import('@src/rootgen/admin/uploader/uploader.vue'),
|
component: () => import('@/rootgen/admin/uploader/uploader.vue'),
|
||||||
inmenu: true,
|
inmenu: true,
|
||||||
submenu: true,
|
submenu: true,
|
||||||
level_parent: 0,
|
level_parent: 0,
|
||||||
@@ -301,7 +301,7 @@ const baseroutes: IListRoutes[] = [
|
|||||||
path: '/',
|
path: '/',
|
||||||
materialIcon: 'home',
|
materialIcon: 'home',
|
||||||
name: 'pages.home',
|
name: 'pages.home',
|
||||||
component: () => import('@src/root/mainview/mainview.vue'),
|
component: () => import('@/root/mainview/mainview.vue'),
|
||||||
reqauth: false,
|
reqauth: false,
|
||||||
inmenu: true,
|
inmenu: true,
|
||||||
infooter: true,
|
infooter: true,
|
||||||
@@ -312,7 +312,7 @@ const baseroutes: IListRoutes[] = [
|
|||||||
path: '/events',
|
path: '/events',
|
||||||
materialIcon: 'fas fa-bullhorn',
|
materialIcon: 'fas fa-bullhorn',
|
||||||
name: 'mypages.events',
|
name: 'mypages.events',
|
||||||
component: () => import('@src/root/eventi/eventi.vue'),
|
component: () => import('@/root/eventi/eventi.vue'),
|
||||||
meta: { requiresAuth: true },
|
meta: { requiresAuth: true },
|
||||||
inmenu: true,
|
inmenu: true,
|
||||||
infooter: true,
|
infooter: true,
|
||||||
@@ -323,7 +323,7 @@ const baseroutes: IListRoutes[] = [
|
|||||||
path: '/goods',
|
path: '/goods',
|
||||||
materialIcon: 'fas fa-briefcase',
|
materialIcon: 'fas fa-briefcase',
|
||||||
name: 'mypages.goods',
|
name: 'mypages.goods',
|
||||||
component: () => import('@src/root/goods/goods.vue'),
|
component: () => import('@/root/goods/goods.vue'),
|
||||||
meta: { requiresAuth: true },
|
meta: { requiresAuth: true },
|
||||||
inmenu: true,
|
inmenu: true,
|
||||||
infooter: true,
|
infooter: true,
|
||||||
@@ -334,7 +334,7 @@ const baseroutes: IListRoutes[] = [
|
|||||||
path: '/services',
|
path: '/services',
|
||||||
materialIcon: 'fas fa-briefcase',
|
materialIcon: 'fas fa-briefcase',
|
||||||
name: 'mypages.services',
|
name: 'mypages.services',
|
||||||
component: () => import('@src/root/services/services.vue'),
|
component: () => import('@/root/services/services.vue'),
|
||||||
meta: { requiresAuth: true },
|
meta: { requiresAuth: true },
|
||||||
inmenu: true,
|
inmenu: true,
|
||||||
infooter: true,
|
infooter: true,
|
||||||
@@ -345,7 +345,7 @@ const baseroutes: IListRoutes[] = [
|
|||||||
path: '/presentazione',
|
path: '/presentazione',
|
||||||
materialIcon: 'fas fa-info',
|
materialIcon: 'fas fa-info',
|
||||||
name: 'pages.presentazione',
|
name: 'pages.presentazione',
|
||||||
component: () => import('@src/root/presentazione/presentazione.vue'),
|
component: () => import('@/root/presentazione/presentazione.vue'),
|
||||||
reqauth: false,
|
reqauth: false,
|
||||||
inmenu: true,
|
inmenu: true,
|
||||||
infooter: true,
|
infooter: true,
|
||||||
@@ -356,7 +356,7 @@ const baseroutes: IListRoutes[] = [
|
|||||||
path: '/myprofile',
|
path: '/myprofile',
|
||||||
materialIcon: 'fas fa-user',
|
materialIcon: 'fas fa-user',
|
||||||
name: 'pages.profile',
|
name: 'pages.profile',
|
||||||
component: () => import('@src/views/user/myprofile/myprofile.vue'),
|
component: () => import('@/views/user/myprofile/myprofile.vue'),
|
||||||
meta: { requiresAuth: true },
|
meta: { requiresAuth: true },
|
||||||
inmenu: true,
|
inmenu: true,
|
||||||
infooter: true,
|
infooter: true,
|
||||||
@@ -367,7 +367,7 @@ const baseroutes: IListRoutes[] = [
|
|||||||
path: '/editprofile',
|
path: '/editprofile',
|
||||||
materialIcon: 'fas fa-user',
|
materialIcon: 'fas fa-user',
|
||||||
name: 'pages.profile3',
|
name: 'pages.profile3',
|
||||||
component: () => import('@src/views/user/editprofile/editprofile.vue'),
|
component: () => import('@/views/user/editprofile/editprofile.vue'),
|
||||||
meta: { requiresAuth: true },
|
meta: { requiresAuth: true },
|
||||||
inmenu: false,
|
inmenu: false,
|
||||||
infooter: false,
|
infooter: false,
|
||||||
@@ -378,7 +378,7 @@ const baseroutes: IListRoutes[] = [
|
|||||||
path: '/friends',
|
path: '/friends',
|
||||||
materialIcon: 'fas fa-user-friends',
|
materialIcon: 'fas fa-user-friends',
|
||||||
name: 'mypages.friends',
|
name: 'mypages.friends',
|
||||||
component: () => import('@src/views/user/myfriends/myfriends.vue'),
|
component: () => import('@/views/user/myfriends/myfriends.vue'),
|
||||||
meta: { requiresAuth: true },
|
meta: { requiresAuth: true },
|
||||||
inmenu: true,
|
inmenu: true,
|
||||||
infooter: true,
|
infooter: true,
|
||||||
@@ -389,7 +389,7 @@ const baseroutes: IListRoutes[] = [
|
|||||||
path: '/groups',
|
path: '/groups',
|
||||||
materialIcon: 'fas fa-users',
|
materialIcon: 'fas fa-users',
|
||||||
name: 'mypages.groups',
|
name: 'mypages.groups',
|
||||||
component: () => import('@src/views/user/mygroups/mygroups.vue'),
|
component: () => import('@/views/user/mygroups/mygroups.vue'),
|
||||||
meta: { requiresAuth: true },
|
meta: { requiresAuth: true },
|
||||||
inmenu: true,
|
inmenu: true,
|
||||||
infooter: true,
|
infooter: true,
|
||||||
@@ -400,7 +400,7 @@ const baseroutes: IListRoutes[] = [
|
|||||||
path: '/my/:username',
|
path: '/my/:username',
|
||||||
materialIcon: 'fas fa-user',
|
materialIcon: 'fas fa-user',
|
||||||
name: 'pages.profile2',
|
name: 'pages.profile2',
|
||||||
component: () => import('@src/views/user/myprofile/myprofile.vue'),
|
component: () => import('@/views/user/myprofile/myprofile.vue'),
|
||||||
meta: { requiresAuth: true },
|
meta: { requiresAuth: true },
|
||||||
inmenu: false,
|
inmenu: false,
|
||||||
infooter: false,
|
infooter: false,
|
||||||
@@ -411,7 +411,7 @@ const baseroutes: IListRoutes[] = [
|
|||||||
path: '/grp/:groupname',
|
path: '/grp/:groupname',
|
||||||
materialIcon: 'fas fa-user',
|
materialIcon: 'fas fa-user',
|
||||||
name: 'proj.group2',
|
name: 'proj.group2',
|
||||||
component: () => import('@src/views/user/mygroup/mygroup.vue'),
|
component: () => import('@/views/user/mygroup/mygroup.vue'),
|
||||||
meta: { requiresAuth: true },
|
meta: { requiresAuth: true },
|
||||||
inmenu: false,
|
inmenu: false,
|
||||||
infooter: false,
|
infooter: false,
|
||||||
@@ -422,7 +422,7 @@ const baseroutes: IListRoutes[] = [
|
|||||||
path: '/mypage/:idBacheca',
|
path: '/mypage/:idBacheca',
|
||||||
materialIcon: 'fas fa-user',
|
materialIcon: 'fas fa-user',
|
||||||
name: 'pages.mypage2',
|
name: 'pages.mypage2',
|
||||||
component: () => import('@src/views/user/mypagebacheca/mypagebacheca.vue'),
|
component: () => import('@/views/user/mypagebacheca/mypagebacheca.vue'),
|
||||||
meta: { requiresAuth: true },
|
meta: { requiresAuth: true },
|
||||||
inmenu: false,
|
inmenu: false,
|
||||||
infooter: false,
|
infooter: false,
|
||||||
@@ -433,7 +433,7 @@ const baseroutes: IListRoutes[] = [
|
|||||||
path: '/myservice/:idSkill',
|
path: '/myservice/:idSkill',
|
||||||
materialIcon: '',
|
materialIcon: '',
|
||||||
name: 'pages.myservice2',
|
name: 'pages.myservice2',
|
||||||
component: () => import('@src/views/user/myservice/myservice.vue'),
|
component: () => import('@/views/user/myservice/myservice.vue'),
|
||||||
meta: { requiresAuth: true },
|
meta: { requiresAuth: true },
|
||||||
inmenu: false,
|
inmenu: false,
|
||||||
infooter: false,
|
infooter: false,
|
||||||
@@ -444,7 +444,7 @@ const baseroutes: IListRoutes[] = [
|
|||||||
path: '/test',
|
path: '/test',
|
||||||
materialIcon: 'fas fa-test',
|
materialIcon: 'fas fa-test',
|
||||||
name: 'mypages.test',
|
name: 'mypages.test',
|
||||||
component: () => import('@src/views/testServer/testServer.vue'),
|
component: () => import('@/views/testServer/testServer.vue'),
|
||||||
meta: { requiresAuth: true },
|
meta: { requiresAuth: true },
|
||||||
inmenu: false,
|
inmenu: false,
|
||||||
infooter: false,
|
infooter: false,
|
||||||
@@ -484,7 +484,7 @@ const baseroutes: IListRoutes[] = [
|
|||||||
path: '/404error',
|
path: '/404error',
|
||||||
materialIcon: 'fas fa-calendar-plus',
|
materialIcon: 'fas fa-calendar-plus',
|
||||||
name: 'otherpages.error404',
|
name: 'otherpages.error404',
|
||||||
component: () => import('@src/root/My404page/My404page.vue'),
|
component: () => import('@/root/My404page/My404page.vue'),
|
||||||
inmenu: false,
|
inmenu: false,
|
||||||
infooter: false
|
infooter: false
|
||||||
},
|
},
|
||||||
@@ -494,7 +494,7 @@ const baseroutes: IListRoutes[] = [
|
|||||||
order: 8,
|
order: 8,
|
||||||
path: '/policy',
|
path: '/policy',
|
||||||
name: 'pages.policy',
|
name: 'pages.policy',
|
||||||
component: () => import('@src/root/policy/policy.vue'),
|
component: () => import('@/root/policy/policy.vue'),
|
||||||
},*/
|
},*/
|
||||||
{
|
{
|
||||||
active: functionality.ENABLE_REGISTRATION,
|
active: functionality.ENABLE_REGISTRATION,
|
||||||
@@ -502,7 +502,7 @@ const baseroutes: IListRoutes[] = [
|
|||||||
path: '/signup/:invited',
|
path: '/signup/:invited',
|
||||||
materialIcon: 'how_to_reg',
|
materialIcon: 'how_to_reg',
|
||||||
name: 'pages.SignUp',
|
name: 'pages.SignUp',
|
||||||
component: () => import('@src/views/login/signup/signup.vue'),
|
component: () => import('@/views/login/signup/signup.vue'),
|
||||||
inmenu: false,
|
inmenu: false,
|
||||||
infooter: false,
|
infooter: false,
|
||||||
separator: false
|
separator: false
|
||||||
@@ -513,7 +513,7 @@ const baseroutes: IListRoutes[] = [
|
|||||||
path: '/regok',
|
path: '/regok',
|
||||||
materialIcon: 'how_to_reg',
|
materialIcon: 'how_to_reg',
|
||||||
name: 'pages.regok',
|
name: 'pages.regok',
|
||||||
component: () => import('@src/views/login/regok/regok.vue'),
|
component: () => import('@/views/login/regok/regok.vue'),
|
||||||
inmenu: false,
|
inmenu: false,
|
||||||
infooter: false,
|
infooter: false,
|
||||||
separator: false,
|
separator: false,
|
||||||
@@ -524,7 +524,7 @@ const baseroutes: IListRoutes[] = [
|
|||||||
path: '/signin',
|
path: '/signin',
|
||||||
materialIcon: 'account_circle',
|
materialIcon: 'account_circle',
|
||||||
name: 'pages.SignIn',
|
name: 'pages.SignIn',
|
||||||
component: () => import('@src/views/login/signin_noreg/signin_noreg.vue'),
|
component: () => import('@/views/login/signin_noreg/signin_noreg.vue'),
|
||||||
inmenu: true,
|
inmenu: true,
|
||||||
infooter: true
|
infooter: true
|
||||||
},
|
},
|
||||||
@@ -533,28 +533,28 @@ const baseroutes: IListRoutes[] = [
|
|||||||
order: 1000,
|
order: 1000,
|
||||||
path: '/vreg',
|
path: '/vreg',
|
||||||
name: 'pages.vreg',
|
name: 'pages.vreg',
|
||||||
component: () => import('@src/views/login/vreg/vreg.vue')
|
component: () => import('@/views/login/vreg/vreg.vue')
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
active: true,
|
active: true,
|
||||||
order: 1000,
|
order: 1000,
|
||||||
path: '/requestresetpwd',
|
path: '/requestresetpwd',
|
||||||
name: 'pages.requestresetpwd',
|
name: 'pages.requestresetpwd',
|
||||||
component: () => import('@src/views/requestresetpwd/requestresetpwd.vue')
|
component: () => import('@/views/requestresetpwd/requestresetpwd.vue')
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
active: true,
|
active: true,
|
||||||
order: 1000,
|
order: 1000,
|
||||||
path: '/updatepassword',
|
path: '/updatepassword',
|
||||||
name: 'pages.updatepassword',
|
name: 'pages.updatepassword',
|
||||||
component: () => import('@src/views/updatepassword/updatepassword.vue')
|
component: () => import('@/views/updatepassword/updatepassword.vue')
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
active: true,
|
active: true,
|
||||||
order: 1000,
|
order: 1000,
|
||||||
path: '/offline',
|
path: '/offline',
|
||||||
name: 'Offline',
|
name: 'Offline',
|
||||||
component: () => import('@src/views/offline/offline.vue')
|
component: () => import('@/views/offline/offline.vue')
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
active: true,
|
active: true,
|
||||||
@@ -570,7 +570,7 @@ const baseroutes: IListRoutes[] = [
|
|||||||
path: '/calendario-eventi',
|
path: '/calendario-eventi',
|
||||||
materialIcon: 'event',
|
materialIcon: 'event',
|
||||||
name: 'pages.calendarioeventi',
|
name: 'pages.calendarioeventi',
|
||||||
component: () => import('@src/root/calendarioeventi/calendarioeventi.vue'),
|
component: () => import('@/root/calendarioeventi/calendarioeventi.vue'),
|
||||||
extraclass: 'isCalendar',
|
extraclass: 'isCalendar',
|
||||||
inmenu: true,
|
inmenu: true,
|
||||||
infooter: true
|
infooter: true
|
||||||
@@ -581,7 +581,7 @@ const baseroutes: IListRoutes[] = [
|
|||||||
path: '/admin/newsletter/:idparam',
|
path: '/admin/newsletter/:idparam',
|
||||||
materialIcon: 'event',
|
materialIcon: 'event',
|
||||||
name: 'pages.newsletter.menu',
|
name: 'pages.newsletter.menu',
|
||||||
component: () => import('@src/rootgen/admin/newsletter/newsletter.vue'),
|
component: () => import('@/rootgen/admin/newsletter/newsletter.vue'),
|
||||||
inmenu: false,
|
inmenu: false,
|
||||||
infooter: false
|
infooter: false
|
||||||
},
|
},
|
||||||
@@ -591,7 +591,7 @@ const baseroutes: IListRoutes[] = [
|
|||||||
path: '/event/:typol/:eventid',
|
path: '/event/:typol/:eventid',
|
||||||
materialIcon: 'event',
|
materialIcon: 'event',
|
||||||
name: 'pages.evento',
|
name: 'pages.evento',
|
||||||
component: () => import('@src/root/evento/evento.vue'),
|
component: () => import('@/root/evento/evento.vue'),
|
||||||
inmenu: false,
|
inmenu: false,
|
||||||
infooter: false
|
infooter: false
|
||||||
},
|
},
|
||||||
@@ -601,7 +601,7 @@ const baseroutes: IListRoutes[] = [
|
|||||||
path: '/event/:typol',
|
path: '/event/:typol',
|
||||||
materialIcon: 'event',
|
materialIcon: 'event',
|
||||||
name: 'pages.eventodef',
|
name: 'pages.eventodef',
|
||||||
component: () => import('@src/root/evento/evento.vue'),
|
component: () => import('@/root/evento/evento.vue'),
|
||||||
inmenu: false,
|
inmenu: false,
|
||||||
infooter: false
|
infooter: false
|
||||||
},
|
},
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"name": "freeplanet",
|
"name": "freeplanet",
|
||||||
"version": "1.2.85",
|
"version": "1.2.86",
|
||||||
"description": "freeplanet",
|
"description": "freeplanet",
|
||||||
"productName": "freeplanet",
|
"productName": "freeplanet",
|
||||||
"author": "Surya",
|
"author": "Surya",
|
||||||
@@ -9,11 +9,11 @@
|
|||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"type": "module",
|
"type": "module",
|
||||||
"scripts": {
|
"scripts": {
|
||||||
"dev": "PORT=8087 APP_VERSION='1.2.85' quasar dev",
|
"dev": "PORT=8087 APP_VERSION='1.2.86' quasar dev",
|
||||||
"dev_noCheck": "SKIP_TSC=true quasar dev",
|
"dev_noCheck": "SKIP_TSC=true quasar dev",
|
||||||
"build": "quasar build",
|
"build": "quasar build",
|
||||||
"buildpwa": "NODE_ENV=production APP_VERSION='1.2.85' 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.85' quasar build -m pwa",
|
"buildpwatest": "NODE_ENV=production APP_VERSION='1.2.86' quasar build -m pwa",
|
||||||
"type-check": "vue-tsc --noEmit",
|
"type-check": "vue-tsc --noEmit",
|
||||||
"type-check:watch": "vue-tsc --noEmit --watch",
|
"type-check:watch": "vue-tsc --noEmit --watch",
|
||||||
"buildspa": "quasar build -m spa",
|
"buildspa": "quasar build -m spa",
|
||||||
@@ -21,8 +21,8 @@
|
|||||||
"lintfile": "eslint --ext .js,.ts,.vue --ignore-path .gitignore ./ > file.out.txt",
|
"lintfile": "eslint --ext .js,.ts,.vue --ignore-path .gitignore ./ > file.out.txt",
|
||||||
"lintfileNoJS": "eslint --ext .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",
|
"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.85' quasar dev -m pwa",
|
"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.85' quasar dev",
|
"spa": "NODE_ENV=development PORT=8087 APP_VERSION='1.2.86' quasar dev",
|
||||||
"debug": "quasar dev --mode debug",
|
"debug": "quasar dev --mode debug",
|
||||||
"test": "echo \"No test specified\" && exit 0",
|
"test": "echo \"No test specified\" && exit 0",
|
||||||
"generate-sw": "workbox generateSW workbox-config.js",
|
"generate-sw": "workbox generateSW workbox-config.js",
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"name": "riso",
|
"name": "riso",
|
||||||
"version": "1.2.85",
|
"version": "1.2.86",
|
||||||
"productName": "Riso 💚 - Rete Italiana Scambio orizzontale",
|
"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.",
|
"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",
|
"author": "Surya",
|
||||||
@@ -9,11 +9,11 @@
|
|||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"type": "module",
|
"type": "module",
|
||||||
"scripts": {
|
"scripts": {
|
||||||
"dev": "APP_VERSION='1.2.85' PORT=8084 quasar dev",
|
"dev": "APP_VERSION='1.2.86' PORT=8084 quasar dev",
|
||||||
"dev_noCheck": "SKIP_TSC=true quasar dev",
|
"dev_noCheck": "SKIP_TSC=true quasar dev",
|
||||||
"build": "quasar build",
|
"build": "quasar build",
|
||||||
"buildpwa": "NODE_ENV=production APP_VERSION='1.2.85' 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.85' quasar build -m pwa",
|
"buildpwatest": "NODE_ENV=production APP_VERSION='1.2.86' quasar build -m pwa",
|
||||||
"type-check": "vue-tsc --noEmit",
|
"type-check": "vue-tsc --noEmit",
|
||||||
"type-check:watch": "vue-tsc --noEmit --watch",
|
"type-check:watch": "vue-tsc --noEmit --watch",
|
||||||
"buildspa": "quasar build -m spa",
|
"buildspa": "quasar build -m spa",
|
||||||
@@ -21,8 +21,8 @@
|
|||||||
"lintfile": "eslint --ext .js,.ts,.vue --ignore-path .gitignore ./ > file.out.txt",
|
"lintfile": "eslint --ext .js,.ts,.vue --ignore-path .gitignore ./ > file.out.txt",
|
||||||
"lintfileNoJS": "eslint --ext .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",
|
"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.85' quasar dev -m pwa",
|
"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.85' quasar dev",
|
"spa": "NODE_ENV=development PORT=8084 APP_VERSION='1.2.86' quasar dev",
|
||||||
"debug": "quasar dev --mode debug",
|
"debug": "quasar dev --mode debug",
|
||||||
"test": "echo \"No test specified\" && exit 0",
|
"test": "echo \"No test specified\" && exit 0",
|
||||||
"generate-sw": "workbox generateSW workbox-config.js",
|
"generate-sw": "workbox generateSW workbox-config.js",
|
||||||
|
|||||||
@@ -38,7 +38,7 @@ const firstPage = {
|
|||||||
path: '/',
|
path: '/',
|
||||||
materialIcon: 'home',
|
materialIcon: 'home',
|
||||||
name: 'pages.home',
|
name: 'pages.home',
|
||||||
component: () => import('@src/root/mainview/mainview.vue'),
|
component: () => import('@/root/mainview/mainview.vue'),
|
||||||
reqauth: false,
|
reqauth: false,
|
||||||
inmenu: true,
|
inmenu: true,
|
||||||
infooter: true,
|
infooter: true,
|
||||||
@@ -53,7 +53,7 @@ function getDynamicPages(site: ISites): IListRoutes[] {
|
|||||||
path: '/',
|
path: '/',
|
||||||
materialIcon: 'home',
|
materialIcon: 'home',
|
||||||
name: 'pages.home',
|
name: 'pages.home',
|
||||||
component: () => import('@src/root/mainview/mainview.vue'),
|
component: () => import('@/root/mainview/mainview.vue'),
|
||||||
reqauth: false,
|
reqauth: false,
|
||||||
inmenu: true,
|
inmenu: true,
|
||||||
infooter: true,
|
infooter: true,
|
||||||
@@ -64,7 +64,7 @@ function getDynamicPages(site: ISites): IListRoutes[] {
|
|||||||
path: '/test',
|
path: '/test',
|
||||||
materialIcon: 'fas fa-test',
|
materialIcon: 'fas fa-test',
|
||||||
name: 'mypages.test',
|
name: 'mypages.test',
|
||||||
component: () => import('@src/views/testServer/testServer.vue'),
|
component: () => import('@/views/testServer/testServer.vue'),
|
||||||
inmenu: false,
|
inmenu: false,
|
||||||
infooter: false,
|
infooter: false,
|
||||||
},
|
},
|
||||||
@@ -74,7 +74,7 @@ function getDynamicPages(site: ISites): IListRoutes[] {
|
|||||||
path: '/goods',
|
path: '/goods',
|
||||||
materialIcon: 'fas fa-tshirt',
|
materialIcon: 'fas fa-tshirt',
|
||||||
name: 'mypages.goods',
|
name: 'mypages.goods',
|
||||||
component: () => import('@src/root/goods/goods.vue'),
|
component: () => import('@/root/goods/goods.vue'),
|
||||||
meta: { requiresAuth: true },
|
meta: { requiresAuth: true },
|
||||||
inmenu: true,
|
inmenu: true,
|
||||||
infooter: true,
|
infooter: true,
|
||||||
@@ -85,7 +85,7 @@ function getDynamicPages(site: ISites): IListRoutes[] {
|
|||||||
path: '/services',
|
path: '/services',
|
||||||
materialIcon: 'fas fa-house-user',
|
materialIcon: 'fas fa-house-user',
|
||||||
name: 'mypages.services',
|
name: 'mypages.services',
|
||||||
component: () => import('@src/root/services/services.vue'),
|
component: () => import('@/root/services/services.vue'),
|
||||||
meta: { requiresAuth: true },
|
meta: { requiresAuth: true },
|
||||||
inmenu: true,
|
inmenu: true,
|
||||||
infooter: true,
|
infooter: true,
|
||||||
@@ -96,7 +96,7 @@ function getDynamicPages(site: ISites): IListRoutes[] {
|
|||||||
path: '/activities',
|
path: '/activities',
|
||||||
materialIcon: 'fas fa-house-user',
|
materialIcon: 'fas fa-house-user',
|
||||||
name: 'mypages.activities',
|
name: 'mypages.activities',
|
||||||
component: () => import('@src/root/activities/activities.vue'),
|
component: () => import('@/root/activities/activities.vue'),
|
||||||
meta: { requiresAuth: true },
|
meta: { requiresAuth: true },
|
||||||
inmenu: false,
|
inmenu: false,
|
||||||
infooter: false,
|
infooter: false,
|
||||||
@@ -107,7 +107,7 @@ function getDynamicPages(site: ISites): IListRoutes[] {
|
|||||||
path: '/provapao',
|
path: '/provapao',
|
||||||
materialIcon: 'fas fa-house-user',
|
materialIcon: 'fas fa-house-user',
|
||||||
name: 'mypages.provapao',
|
name: 'mypages.provapao',
|
||||||
component: () => import('@src/root/provapao/provapao.vue'),
|
component: () => import('@/root/provapao/provapao.vue'),
|
||||||
meta: { requiresAuth: true },
|
meta: { requiresAuth: true },
|
||||||
inmenu: false,
|
inmenu: false,
|
||||||
infooter: false,
|
infooter: false,
|
||||||
@@ -118,7 +118,7 @@ function getDynamicPages(site: ISites): IListRoutes[] {
|
|||||||
path: '/hosps',
|
path: '/hosps',
|
||||||
materialIcon: 'fas fa-bed',
|
materialIcon: 'fas fa-bed',
|
||||||
name: 'mypages.hosp',
|
name: 'mypages.hosp',
|
||||||
component: () => import('@src/root/hosp/hosp.vue'),
|
component: () => import('@/root/hosp/hosp.vue'),
|
||||||
meta: { requiresAuth: true },
|
meta: { requiresAuth: true },
|
||||||
inmenu: true,
|
inmenu: true,
|
||||||
infooter: true,
|
infooter: true,
|
||||||
@@ -129,7 +129,7 @@ function getDynamicPages(site: ISites): IListRoutes[] {
|
|||||||
path: '/circuits',
|
path: '/circuits',
|
||||||
materialIcon: 'fas fa-coins',
|
materialIcon: 'fas fa-coins',
|
||||||
name: 'mypages.circuits',
|
name: 'mypages.circuits',
|
||||||
component: () => import('@src/views/user/mycircuits/mycircuits.vue'),
|
component: () => import('@/views/user/mycircuits/mycircuits.vue'),
|
||||||
meta: { requiresAuth: true },
|
meta: { requiresAuth: true },
|
||||||
inmenu: true,
|
inmenu: true,
|
||||||
infooter: true,
|
infooter: true,
|
||||||
@@ -140,7 +140,7 @@ function getDynamicPages(site: ISites): IListRoutes[] {
|
|||||||
path: '/events',
|
path: '/events',
|
||||||
materialIcon: 'fas fa-bullhorn',
|
materialIcon: 'fas fa-bullhorn',
|
||||||
name: 'mypages.events',
|
name: 'mypages.events',
|
||||||
component: () => import('@src/root/eventi/eventi.vue'),
|
component: () => import('@/root/eventi/eventi.vue'),
|
||||||
meta: { requiresAuth: true },
|
meta: { requiresAuth: true },
|
||||||
inmenu: true,
|
inmenu: true,
|
||||||
infooter: true,
|
infooter: true,
|
||||||
@@ -151,7 +151,7 @@ function getDynamicPages(site: ISites): IListRoutes[] {
|
|||||||
path: '/install_site',
|
path: '/install_site',
|
||||||
materialIcon: 'fas fa-user',
|
materialIcon: 'fas fa-user',
|
||||||
name: 'pages.install_site',
|
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 },
|
meta: { requiresAuth: true },
|
||||||
inmenu: false,
|
inmenu: false,
|
||||||
infooter: false,
|
infooter: false,
|
||||||
@@ -162,7 +162,7 @@ function getDynamicPages(site: ISites): IListRoutes[] {
|
|||||||
path: '/myprofile',
|
path: '/myprofile',
|
||||||
materialIcon: 'fas fa-user',
|
materialIcon: 'fas fa-user',
|
||||||
name: 'pages.profile',
|
name: 'pages.profile',
|
||||||
component: () => import('@src/views/user/myprofile/myprofile.vue'),
|
component: () => import('@/views/user/myprofile/myprofile.vue'),
|
||||||
meta: { requiresAuth: true },
|
meta: { requiresAuth: true },
|
||||||
inmenu: true,
|
inmenu: true,
|
||||||
infooter: true,
|
infooter: true,
|
||||||
@@ -184,7 +184,7 @@ function getDynamicPages(site: ISites): IListRoutes[] {
|
|||||||
path: '/friends',
|
path: '/friends',
|
||||||
materialIcon: 'fas fa-user-friends',
|
materialIcon: 'fas fa-user-friends',
|
||||||
name: 'mypages.iscritti',
|
name: 'mypages.iscritti',
|
||||||
component: () => import('@src/views/user/myfriends/myfriends.vue'),
|
component: () => import('@/views/user/myfriends/myfriends.vue'),
|
||||||
meta: { requiresAuth: true },
|
meta: { requiresAuth: true },
|
||||||
inmenu: true,
|
inmenu: true,
|
||||||
infooter: true,
|
infooter: true,
|
||||||
@@ -195,7 +195,7 @@ function getDynamicPages(site: ISites): IListRoutes[] {
|
|||||||
path: '/groups',
|
path: '/groups',
|
||||||
materialIcon: 'fas fa-users',
|
materialIcon: 'fas fa-users',
|
||||||
name: 'mypages.groups',
|
name: 'mypages.groups',
|
||||||
component: () => import('@src/views/user/mygroups/mygroups.vue'),
|
component: () => import('@/views/user/mygroups/mygroups.vue'),
|
||||||
meta: { requiresAuth: true },
|
meta: { requiresAuth: true },
|
||||||
inmenu: true,
|
inmenu: true,
|
||||||
infooter: false,
|
infooter: false,
|
||||||
@@ -206,7 +206,7 @@ function getDynamicPages(site: ISites): IListRoutes[] {
|
|||||||
path: '/grp/:groupname',
|
path: '/grp/:groupname',
|
||||||
materialIcon: 'fas fa-user',
|
materialIcon: 'fas fa-user',
|
||||||
name: 'proj.group2',
|
name: 'proj.group2',
|
||||||
component: () => import('@src/views/user/mygroup/mygroup.vue'),
|
component: () => import('@/views/user/mygroup/mygroup.vue'),
|
||||||
meta: { requiresAuth: true, newpage: true },
|
meta: { requiresAuth: true, newpage: true },
|
||||||
inmenu: false,
|
inmenu: false,
|
||||||
infooter: false,
|
infooter: false,
|
||||||
@@ -217,7 +217,7 @@ function getDynamicPages(site: ISites): IListRoutes[] {
|
|||||||
path: '/circuit/:path',
|
path: '/circuit/:path',
|
||||||
materialIcon: 'fas fa-user',
|
materialIcon: 'fas fa-user',
|
||||||
name: 'proj.circuit2',
|
name: 'proj.circuit2',
|
||||||
component: () => import('@src/views/user/mycircuit/mycircuit.vue'),
|
component: () => import('@/views/user/mycircuit/mycircuit.vue'),
|
||||||
meta: { requiresAuth: true, newpage: true },
|
meta: { requiresAuth: true, newpage: true },
|
||||||
inmenu: false,
|
inmenu: false,
|
||||||
infooter: false,
|
infooter: false,
|
||||||
@@ -236,7 +236,7 @@ function getDynamicPages(site: ISites): IListRoutes[] {
|
|||||||
path: '/mypage/:idBacheca',
|
path: '/mypage/:idBacheca',
|
||||||
materialIcon: 'fas fa-user',
|
materialIcon: 'fas fa-user',
|
||||||
name: 'pages.mypage2',
|
name: 'pages.mypage2',
|
||||||
component: () => import('@src/views/user/mypagebacheca/mypagebacheca.vue'),
|
component: () => import('@/views/user/mypagebacheca/mypagebacheca.vue'),
|
||||||
meta: { requiresAuth: true, newpage: true },
|
meta: { requiresAuth: true, newpage: true },
|
||||||
inmenu: false,
|
inmenu: false,
|
||||||
infooter: false,
|
infooter: false,
|
||||||
@@ -247,7 +247,7 @@ function getDynamicPages(site: ISites): IListRoutes[] {
|
|||||||
path: '/myservice/:idSkill',
|
path: '/myservice/:idSkill',
|
||||||
materialIcon: '',
|
materialIcon: '',
|
||||||
name: 'pages.myservice2',
|
name: 'pages.myservice2',
|
||||||
component: () => import('@src/views/user/myservice/myservice.vue'),
|
component: () => import('@/views/user/myservice/myservice.vue'),
|
||||||
meta: { requiresAuth: true, newpage: true },
|
meta: { requiresAuth: true, newpage: true },
|
||||||
inmenu: false,
|
inmenu: false,
|
||||||
infooter: false,
|
infooter: false,
|
||||||
@@ -258,7 +258,7 @@ function getDynamicPages(site: ISites): IListRoutes[] {
|
|||||||
path: '/myhosps/:idHosp',
|
path: '/myhosps/:idHosp',
|
||||||
materialIcon: '',
|
materialIcon: '',
|
||||||
name: 'pages.myhosps2',
|
name: 'pages.myhosps2',
|
||||||
component: () => import('@src/views/user/mypagehosp/mypagehosp.vue'),
|
component: () => import('@/views/user/mypagehosp/mypagehosp.vue'),
|
||||||
meta: { requiresAuth: true, newpage: true },
|
meta: { requiresAuth: true, newpage: true },
|
||||||
inmenu: false,
|
inmenu: false,
|
||||||
infooter: false,
|
infooter: false,
|
||||||
@@ -269,7 +269,7 @@ function getDynamicPages(site: ISites): IListRoutes[] {
|
|||||||
path: '/mygood/:idGood',
|
path: '/mygood/:idGood',
|
||||||
materialIcon: '',
|
materialIcon: '',
|
||||||
name: 'pages.mygood2',
|
name: 'pages.mygood2',
|
||||||
component: () => import('@src/views/user/mypagegood/mypagegood.vue'),
|
component: () => import('@/views/user/mypagegood/mypagegood.vue'),
|
||||||
meta: { requiresAuth: true, newpage: true },
|
meta: { requiresAuth: true, newpage: true },
|
||||||
inmenu: false,
|
inmenu: false,
|
||||||
infooter: false,
|
infooter: false,
|
||||||
@@ -280,7 +280,7 @@ function getDynamicPages(site: ISites): IListRoutes[] {
|
|||||||
path: '/sostieniilprogetto',
|
path: '/sostieniilprogetto',
|
||||||
materialIcon: 'fas fa-hand-holding-heart',
|
materialIcon: 'fas fa-hand-holding-heart',
|
||||||
name: 'pages.fundraising',
|
name: 'pages.fundraising',
|
||||||
component: () => import('@src/root/fundraising/fundraising.vue'),
|
component: () => import('@/root/fundraising/fundraising.vue'),
|
||||||
inmenu: false,
|
inmenu: false,
|
||||||
infooter: false,
|
infooter: false,
|
||||||
},
|
},
|
||||||
@@ -290,7 +290,7 @@ function getDynamicPages(site: ISites): IListRoutes[] {
|
|||||||
path: '/calendario-eventi',
|
path: '/calendario-eventi',
|
||||||
materialIcon: 'event',
|
materialIcon: 'event',
|
||||||
name: 'ris.calendario_eventi_riso',
|
name: 'ris.calendario_eventi_riso',
|
||||||
component: () => import('@src/root/calendarioeventi/calendarioeventi.vue'),
|
component: () => import('@/root/calendarioeventi/calendarioeventi.vue'),
|
||||||
extraclass: 'isCalendar',
|
extraclass: 'isCalendar',
|
||||||
inmenu: false,
|
inmenu: false,
|
||||||
infooter: false
|
infooter: false
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"name": "gruppomacro",
|
"name": "gruppomacro",
|
||||||
"version": "1.2.85",
|
"version": "1.2.86",
|
||||||
"productName": "Gruppo Macro",
|
"productName": "Gruppo Macro",
|
||||||
"description": "Il Gruppo Editoriale Macro, attivo dal 1987, è leader europeo nella pubblicazione di libri per il benessere e la consapevolezza. Con oltre 1.500 titoli, promuove una visione armonica del mondo, offrendo opere di autori internazionali e italiani come Gregg Braden, Bruce Lipton, Joe Dispenza, Louise Hay, Eckhart Tolle e molti altri. Scopri un'editoria che abbraccia il corpo, la mente, lo spirito e l'ecologia.",
|
"description": "Il Gruppo Editoriale Macro, attivo dal 1987, è leader europeo nella pubblicazione di libri per il benessere e la consapevolezza. Con oltre 1.500 titoli, promuove una visione armonica del mondo, offrendo opere di autori internazionali e italiani come Gregg Braden, Bruce Lipton, Joe Dispenza, Louise Hay, Eckhart Tolle e molti altri. Scopri un'editoria che abbraccia il corpo, la mente, lo spirito e l'ecologia.",
|
||||||
"author": "Surya",
|
"author": "Surya",
|
||||||
@@ -9,20 +9,20 @@
|
|||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"type": "module",
|
"type": "module",
|
||||||
"scripts": {
|
"scripts": {
|
||||||
"dev": "PORT=8089 APP_VERSION='1.2.85' quasar dev",
|
"dev": "PORT=8089 APP_VERSION='1.2.86' quasar dev",
|
||||||
"dev_noCheck": "SKIP_TSC=true quasar dev",
|
"dev_noCheck": "SKIP_TSC=true quasar dev",
|
||||||
"build": "quasar build",
|
"build": "quasar build",
|
||||||
"buildpwa": "NODE_ENV=production APP_VERSION='1.2.85' 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.85' quasar build -m pwa",
|
"buildpwatest": "NODE_ENV=production APP_VERSION='1.2.86' quasar build -m pwa",
|
||||||
"type-check": "vue-tsc --noEmit",
|
"type-check": "vue-tsc --noEmit",
|
||||||
"type-check:watch": "vue-tsc --noEmit --watch",
|
"type-check:watch": "vue-tsc --noEmit --watch",
|
||||||
"buildspa": "APP_VERSION='1.2.85' quasar build -m spa",
|
"buildspa": "APP_VERSION='1.2.86' quasar build -m spa",
|
||||||
"lint": "eslint -c ./eslint.config.js \"./src*/**/*.{ts,js,cjs,mjs,vue}\"",
|
"lint": "eslint -c ./eslint.config.js \"./src*/**/*.{ts,js,cjs,mjs,vue}\"",
|
||||||
"lintfile": "eslint --ext .js,.ts,.vue --ignore-path .gitignore ./ > file.out.txt",
|
"lintfile": "eslint --ext .js,.ts,.vue --ignore-path .gitignore ./ > file.out.txt",
|
||||||
"lintfileNoJS": "eslint --ext .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",
|
"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.85' quasar dev -m pwa",
|
"pwa": "NODE_ENV=development PORT=8099 APP_VERSION='1.2.86' quasar dev -m pwa",
|
||||||
"spa": "NODE_ENV=development PORT=8089 APP_VERSION='1.2.85' quasar dev",
|
"spa": "NODE_ENV=development PORT=8089 APP_VERSION='1.2.86' quasar dev",
|
||||||
"debug": "quasar dev --mode debug",
|
"debug": "quasar dev --mode debug",
|
||||||
"test": "echo \"No test specified\" && exit 0",
|
"test": "echo \"No test specified\" && exit 0",
|
||||||
"generate-sw": "workbox generateSW workbox-config.js",
|
"generate-sw": "workbox generateSW workbox-config.js",
|
||||||
|
|||||||
@@ -38,7 +38,7 @@ const firstPage = {
|
|||||||
path: '/',
|
path: '/',
|
||||||
materialIcon: 'home',
|
materialIcon: 'home',
|
||||||
name: 'pages.home',
|
name: 'pages.home',
|
||||||
component: () => import('@src/root/mainview/mainview.vue'),
|
component: () => import('@/root/mainview/mainview.vue'),
|
||||||
reqauth: false,
|
reqauth: false,
|
||||||
inmenu: true,
|
inmenu: true,
|
||||||
infooter: true,
|
infooter: true,
|
||||||
@@ -54,7 +54,7 @@ function getDynamicPages(site: ISites): IListRoutes[] {
|
|||||||
path: '/',
|
path: '/',
|
||||||
materialIcon: 'home',
|
materialIcon: 'home',
|
||||||
name: 'pages.home',
|
name: 'pages.home',
|
||||||
component: () => import('@src/root/mainview/mainview.vue'),
|
component: () => import('@/root/mainview/mainview.vue'),
|
||||||
reqauth: false,
|
reqauth: false,
|
||||||
inmenu: true,
|
inmenu: true,
|
||||||
infooter: true,
|
infooter: true,
|
||||||
@@ -65,7 +65,7 @@ function getDynamicPages(site: ISites): IListRoutes[] {
|
|||||||
path: '/test',
|
path: '/test',
|
||||||
materialIcon: 'fas fa-test',
|
materialIcon: 'fas fa-test',
|
||||||
name: 'mypages.test',
|
name: 'mypages.test',
|
||||||
component: () => import('@src/views/testServer/testServer.vue'),
|
component: () => import('@/views/testServer/testServer.vue'),
|
||||||
inmenu: false,
|
inmenu: false,
|
||||||
infooter: false,
|
infooter: false,
|
||||||
},
|
},
|
||||||
@@ -75,7 +75,7 @@ function getDynamicPages(site: ISites): IListRoutes[] {
|
|||||||
path: '/test-lungo',
|
path: '/test-lungo',
|
||||||
materialIcon: 'fas fa-test',
|
materialIcon: 'fas fa-test',
|
||||||
name: 'mypages.test_lungo',
|
name: 'mypages.test_lungo',
|
||||||
component: () => import('@src/views/testLungo/testLungo.vue'),
|
component: () => import('@/views/testLungo/testLungo.vue'),
|
||||||
inmenu: false,
|
inmenu: false,
|
||||||
infooter: false,
|
infooter: false,
|
||||||
},
|
},
|
||||||
@@ -85,7 +85,7 @@ function getDynamicPages(site: ISites): IListRoutes[] {
|
|||||||
path: '/provapao',
|
path: '/provapao',
|
||||||
materialIcon: 'fas fa-house-user',
|
materialIcon: 'fas fa-house-user',
|
||||||
name: 'mypages.provapao',
|
name: 'mypages.provapao',
|
||||||
component: () => import('@src/root/provapao/provapao.vue'),
|
component: () => import('@/root/provapao/provapao.vue'),
|
||||||
meta: { requiresAuth: true },
|
meta: { requiresAuth: true },
|
||||||
inmenu: false,
|
inmenu: false,
|
||||||
infooter: false,
|
infooter: false,
|
||||||
@@ -96,7 +96,7 @@ function getDynamicPages(site: ISites): IListRoutes[] {
|
|||||||
path: '/circuits',
|
path: '/circuits',
|
||||||
materialIcon: 'fas fa-coins',
|
materialIcon: 'fas fa-coins',
|
||||||
name: 'mypages.circuits',
|
name: 'mypages.circuits',
|
||||||
component: () => import('@src/views/user/mycircuits/mycircuits.vue'),
|
component: () => import('@/views/user/mycircuits/mycircuits.vue'),
|
||||||
meta: { requiresAuth: true },
|
meta: { requiresAuth: true },
|
||||||
inmenu: true,
|
inmenu: true,
|
||||||
infooter: true,
|
infooter: true,
|
||||||
@@ -107,7 +107,7 @@ function getDynamicPages(site: ISites): IListRoutes[] {
|
|||||||
path: '/events',
|
path: '/events',
|
||||||
materialIcon: 'fas fa-bullhorn',
|
materialIcon: 'fas fa-bullhorn',
|
||||||
name: 'mypages.events',
|
name: 'mypages.events',
|
||||||
component: () => import('@src/root/eventi/eventi.vue'),
|
component: () => import('@/root/eventi/eventi.vue'),
|
||||||
meta: { requiresAuth: true },
|
meta: { requiresAuth: true },
|
||||||
inmenu: true,
|
inmenu: true,
|
||||||
infooter: true,
|
infooter: true,
|
||||||
@@ -118,7 +118,7 @@ function getDynamicPages(site: ISites): IListRoutes[] {
|
|||||||
path: '/install_site',
|
path: '/install_site',
|
||||||
materialIcon: 'fas fa-user',
|
materialIcon: 'fas fa-user',
|
||||||
name: 'pages.install_site',
|
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 },
|
meta: { requiresAuth: true },
|
||||||
inmenu: false,
|
inmenu: false,
|
||||||
infooter: false,
|
infooter: false,
|
||||||
@@ -129,7 +129,7 @@ function getDynamicPages(site: ISites): IListRoutes[] {
|
|||||||
path: '/myprofile',
|
path: '/myprofile',
|
||||||
materialIcon: 'fas fa-user',
|
materialIcon: 'fas fa-user',
|
||||||
name: 'pages.profile',
|
name: 'pages.profile',
|
||||||
component: () => import('@src/views/user/myprofile/myprofile.vue'),
|
component: () => import('@/views/user/myprofile/myprofile.vue'),
|
||||||
meta: { requiresAuth: true },
|
meta: { requiresAuth: true },
|
||||||
inmenu: true,
|
inmenu: true,
|
||||||
infooter: true,
|
infooter: true,
|
||||||
@@ -140,7 +140,7 @@ function getDynamicPages(site: ISites): IListRoutes[] {
|
|||||||
path: '/friends',
|
path: '/friends',
|
||||||
materialIcon: 'fas fa-user-friends',
|
materialIcon: 'fas fa-user-friends',
|
||||||
name: 'mypages.iscritti',
|
name: 'mypages.iscritti',
|
||||||
component: () => import('@src/views/user/myfriends/myfriends.vue'),
|
component: () => import('@/views/user/myfriends/myfriends.vue'),
|
||||||
meta: { requiresAuth: true },
|
meta: { requiresAuth: true },
|
||||||
inmenu: true,
|
inmenu: true,
|
||||||
infooter: true,
|
infooter: true,
|
||||||
@@ -151,7 +151,7 @@ function getDynamicPages(site: ISites): IListRoutes[] {
|
|||||||
path: '/groups',
|
path: '/groups',
|
||||||
materialIcon: 'fas fa-users',
|
materialIcon: 'fas fa-users',
|
||||||
name: 'mypages.groups',
|
name: 'mypages.groups',
|
||||||
component: () => import('@src/views/user/mygroups/mygroups.vue'),
|
component: () => import('@/views/user/mygroups/mygroups.vue'),
|
||||||
meta: { requiresAuth: true },
|
meta: { requiresAuth: true },
|
||||||
inmenu: true,
|
inmenu: true,
|
||||||
infooter: false,
|
infooter: false,
|
||||||
@@ -162,7 +162,7 @@ function getDynamicPages(site: ISites): IListRoutes[] {
|
|||||||
path: '/grp/:groupname',
|
path: '/grp/:groupname',
|
||||||
materialIcon: 'fas fa-user',
|
materialIcon: 'fas fa-user',
|
||||||
name: 'proj.group2',
|
name: 'proj.group2',
|
||||||
component: () => import('@src/views/user/mygroup/mygroup.vue'),
|
component: () => import('@/views/user/mygroup/mygroup.vue'),
|
||||||
meta: { requiresAuth: true, newpage: true },
|
meta: { requiresAuth: true, newpage: true },
|
||||||
inmenu: false,
|
inmenu: false,
|
||||||
infooter: false,
|
infooter: false,
|
||||||
@@ -173,7 +173,7 @@ function getDynamicPages(site: ISites): IListRoutes[] {
|
|||||||
path: '/circuit/:path',
|
path: '/circuit/:path',
|
||||||
materialIcon: 'fas fa-user',
|
materialIcon: 'fas fa-user',
|
||||||
name: 'proj.circuit2',
|
name: 'proj.circuit2',
|
||||||
component: () => import('@src/views/user/mycircuit/mycircuit.vue'),
|
component: () => import('@/views/user/mycircuit/mycircuit.vue'),
|
||||||
meta: { requiresAuth: true, newpage: true },
|
meta: { requiresAuth: true, newpage: true },
|
||||||
inmenu: false,
|
inmenu: false,
|
||||||
infooter: false,
|
infooter: false,
|
||||||
@@ -192,7 +192,7 @@ function getDynamicPages(site: ISites): IListRoutes[] {
|
|||||||
path: '/mypage/:idBacheca',
|
path: '/mypage/:idBacheca',
|
||||||
materialIcon: 'fas fa-user',
|
materialIcon: 'fas fa-user',
|
||||||
name: 'pages.mypage2',
|
name: 'pages.mypage2',
|
||||||
component: () => import('@src/views/user/mypagebacheca/mypagebacheca.vue'),
|
component: () => import('@/views/user/mypagebacheca/mypagebacheca.vue'),
|
||||||
meta: { requiresAuth: true, newpage: true },
|
meta: { requiresAuth: true, newpage: true },
|
||||||
inmenu: false,
|
inmenu: false,
|
||||||
infooter: false,
|
infooter: false,
|
||||||
@@ -203,7 +203,7 @@ function getDynamicPages(site: ISites): IListRoutes[] {
|
|||||||
path: '/myservice/:idSkill',
|
path: '/myservice/:idSkill',
|
||||||
materialIcon: '',
|
materialIcon: '',
|
||||||
name: 'pages.myservice2',
|
name: 'pages.myservice2',
|
||||||
component: () => import('@src/views/user/myservice/myservice.vue'),
|
component: () => import('@/views/user/myservice/myservice.vue'),
|
||||||
meta: { requiresAuth: true, newpage: true },
|
meta: { requiresAuth: true, newpage: true },
|
||||||
inmenu: false,
|
inmenu: false,
|
||||||
infooter: false,
|
infooter: false,
|
||||||
@@ -214,7 +214,7 @@ function getDynamicPages(site: ISites): IListRoutes[] {
|
|||||||
path: '/myhosps/:idHosp',
|
path: '/myhosps/:idHosp',
|
||||||
materialIcon: '',
|
materialIcon: '',
|
||||||
name: 'pages.myhosps2',
|
name: 'pages.myhosps2',
|
||||||
component: () => import('@src/views/user/mypagehosp/mypagehosp.vue'),
|
component: () => import('@/views/user/mypagehosp/mypagehosp.vue'),
|
||||||
meta: { requiresAuth: true, newpage: true },
|
meta: { requiresAuth: true, newpage: true },
|
||||||
inmenu: false,
|
inmenu: false,
|
||||||
infooter: false,
|
infooter: false,
|
||||||
@@ -225,7 +225,7 @@ function getDynamicPages(site: ISites): IListRoutes[] {
|
|||||||
path: '/mygood/:idGood',
|
path: '/mygood/:idGood',
|
||||||
materialIcon: '',
|
materialIcon: '',
|
||||||
name: 'pages.mygood2',
|
name: 'pages.mygood2',
|
||||||
component: () => import('@src/views/user/mypagegood/mypagegood.vue'),
|
component: () => import('@/views/user/mypagegood/mypagegood.vue'),
|
||||||
meta: { requiresAuth: true, newpage: true },
|
meta: { requiresAuth: true, newpage: true },
|
||||||
inmenu: false,
|
inmenu: false,
|
||||||
infooter: false,
|
infooter: false,
|
||||||
@@ -236,7 +236,7 @@ function getDynamicPages(site: ISites): IListRoutes[] {
|
|||||||
path: '/calendario-eventi',
|
path: '/calendario-eventi',
|
||||||
materialIcon: 'event',
|
materialIcon: 'event',
|
||||||
name: 'ris.calendario_eventi_riso',
|
name: 'ris.calendario_eventi_riso',
|
||||||
component: () => import('@src/root/calendarioeventi/calendarioeventi.vue'),
|
component: () => import('@/root/calendarioeventi/calendarioeventi.vue'),
|
||||||
extraclass: 'isCalendar',
|
extraclass: 'isCalendar',
|
||||||
inmenu: false,
|
inmenu: false,
|
||||||
infooter: false
|
infooter: false
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"name": "nuovomondo",
|
"name": "nuovomondo",
|
||||||
"version": "1.2.85",
|
"version": "1.2.86",
|
||||||
"description": "Nuovo Mondo",
|
"description": "Nuovo Mondo",
|
||||||
"productName": "Nuovo Mondo",
|
"productName": "Nuovo Mondo",
|
||||||
"author": "Surya",
|
"author": "Surya",
|
||||||
@@ -9,11 +9,11 @@
|
|||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"type": "module",
|
"type": "module",
|
||||||
"scripts": {
|
"scripts": {
|
||||||
"dev": "APP_VERSION='1.2.85' PORT=8083 quasar dev",
|
"dev": "APP_VERSION='1.2.86' PORT=8083 quasar dev",
|
||||||
"dev_noCheck": "SKIP_TSC=true quasar dev",
|
"dev_noCheck": "SKIP_TSC=true quasar dev",
|
||||||
"build": "quasar build",
|
"build": "quasar build",
|
||||||
"buildpwa": "NODE_ENV=production APP_VERSION='1.2.85' 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.85' quasar build -m pwa",
|
"buildpwatest": "NODE_ENV=production APP_VERSION='1.2.86' quasar build -m pwa",
|
||||||
"type-check": "vue-tsc --noEmit",
|
"type-check": "vue-tsc --noEmit",
|
||||||
"type-check:watch": "vue-tsc --noEmit --watch",
|
"type-check:watch": "vue-tsc --noEmit --watch",
|
||||||
"buildspa": "quasar build -m spa",
|
"buildspa": "quasar build -m spa",
|
||||||
@@ -21,8 +21,8 @@
|
|||||||
"lintfile": "eslint --ext .js,.ts,.vue --ignore-path .gitignore ./ > file.out.txt",
|
"lintfile": "eslint --ext .js,.ts,.vue --ignore-path .gitignore ./ > file.out.txt",
|
||||||
"lintfileNoJS": "eslint --ext .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",
|
"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.85' quasar dev -m pwa",
|
"pwa": "NODE_ENV=development PORT=8094 APP_VERSION='1.2.86' quasar dev -m pwa",
|
||||||
"spa": "NODE_ENV=development PORT=8083 APP_VERSION='1.2.85' quasar dev",
|
"spa": "NODE_ENV=development PORT=8083 APP_VERSION='1.2.86' quasar dev",
|
||||||
"debug": "quasar dev --mode debug",
|
"debug": "quasar dev --mode debug",
|
||||||
"test": "echo \"No test specified\" && exit 0",
|
"test": "echo \"No test specified\" && exit 0",
|
||||||
"generate-sw": "workbox generateSW workbox-config.js",
|
"generate-sw": "workbox generateSW workbox-config.js",
|
||||||
|
|||||||
@@ -14,7 +14,7 @@ const firstPage = {
|
|||||||
path: '/',
|
path: '/',
|
||||||
materialIcon: 'home',
|
materialIcon: 'home',
|
||||||
name: 'pages.home',
|
name: 'pages.home',
|
||||||
component: () => import('@src/root/mainview/mainview.vue'),
|
component: () => import('@/root/mainview/mainview.vue'),
|
||||||
reqauth: false,
|
reqauth: false,
|
||||||
inmenu: true,
|
inmenu: true,
|
||||||
infooter: true,
|
infooter: true,
|
||||||
@@ -29,7 +29,7 @@ function getDynamicPages(site: ISites): IListRoutes[] {
|
|||||||
path: '/',
|
path: '/',
|
||||||
materialIcon: 'home',
|
materialIcon: 'home',
|
||||||
name: 'pages.home',
|
name: 'pages.home',
|
||||||
component: () => import('@src/root/mainview/mainview.vue'),
|
component: () => import('@/root/mainview/mainview.vue'),
|
||||||
reqauth: false,
|
reqauth: false,
|
||||||
inmenu: true,
|
inmenu: true,
|
||||||
infooter: true,
|
infooter: true,
|
||||||
@@ -40,7 +40,7 @@ function getDynamicPages(site: ISites): IListRoutes[] {
|
|||||||
path: '/test',
|
path: '/test',
|
||||||
materialIcon: 'fas fa-test',
|
materialIcon: 'fas fa-test',
|
||||||
name: 'mypages.test',
|
name: 'mypages.test',
|
||||||
component: () => import('@src/views/testServer/testServer.vue'),
|
component: () => import('@/views/testServer/testServer.vue'),
|
||||||
meta: { requiresAuth: true },
|
meta: { requiresAuth: true },
|
||||||
inmenu: false,
|
inmenu: false,
|
||||||
infooter: false,
|
infooter: false,
|
||||||
@@ -52,7 +52,7 @@ function getDynamicPages(site: ISites): IListRoutes[] {
|
|||||||
path: '/events',
|
path: '/events',
|
||||||
materialIcon: 'fas fa-bullhorn',
|
materialIcon: 'fas fa-bullhorn',
|
||||||
name: 'mypages.events',
|
name: 'mypages.events',
|
||||||
component: () => import('@src/root/eventi/eventi.vue'),
|
component: () => import('@/root/eventi/eventi.vue'),
|
||||||
meta: { requiresAuth: true },
|
meta: { requiresAuth: true },
|
||||||
inmenu: true,
|
inmenu: true,
|
||||||
infooter: true,
|
infooter: true,
|
||||||
@@ -63,7 +63,7 @@ function getDynamicPages(site: ISites): IListRoutes[] {
|
|||||||
path: '/myprofile',
|
path: '/myprofile',
|
||||||
materialIcon: 'fas fa-user',
|
materialIcon: 'fas fa-user',
|
||||||
name: 'pages.profile',
|
name: 'pages.profile',
|
||||||
component: () => import('@src/views/user/myprofile/myprofile.vue'),
|
component: () => import('@/views/user/myprofile/myprofile.vue'),
|
||||||
meta: { requiresAuth: true },
|
meta: { requiresAuth: true },
|
||||||
inmenu: true,
|
inmenu: true,
|
||||||
infooter: true,
|
infooter: true,
|
||||||
@@ -74,7 +74,7 @@ function getDynamicPages(site: ISites): IListRoutes[] {
|
|||||||
path: '/install_site',
|
path: '/install_site',
|
||||||
materialIcon: 'fas fa-user',
|
materialIcon: 'fas fa-user',
|
||||||
name: 'pages.install_site',
|
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 },
|
meta: { requiresAuth: true },
|
||||||
inmenu: false,
|
inmenu: false,
|
||||||
infooter: false,
|
infooter: false,
|
||||||
@@ -85,7 +85,7 @@ function getDynamicPages(site: ISites): IListRoutes[] {
|
|||||||
path: '/editprofile',
|
path: '/editprofile',
|
||||||
materialIcon: 'fas fa-user',
|
materialIcon: 'fas fa-user',
|
||||||
name: 'pages.profile3',
|
name: 'pages.profile3',
|
||||||
component: () => import('@src/views/user/editprofile/editprofile.vue'),
|
component: () => import('@/views/user/editprofile/editprofile.vue'),
|
||||||
meta: { requiresAuth: true },
|
meta: { requiresAuth: true },
|
||||||
inmenu: false,
|
inmenu: false,
|
||||||
infooter: false,
|
infooter: false,
|
||||||
@@ -96,7 +96,7 @@ function getDynamicPages(site: ISites): IListRoutes[] {
|
|||||||
path: '/friends',
|
path: '/friends',
|
||||||
materialIcon: 'fas fa-user-friends',
|
materialIcon: 'fas fa-user-friends',
|
||||||
name: 'mypages.iscritti',
|
name: 'mypages.iscritti',
|
||||||
component: () => import('@src/views/user/myfriends/myfriends.vue'),
|
component: () => import('@/views/user/myfriends/myfriends.vue'),
|
||||||
meta: { requiresAuth: true },
|
meta: { requiresAuth: true },
|
||||||
inmenu: true,
|
inmenu: true,
|
||||||
infooter: true,
|
infooter: true,
|
||||||
@@ -107,7 +107,7 @@ function getDynamicPages(site: ISites): IListRoutes[] {
|
|||||||
path: '/circuits',
|
path: '/circuits',
|
||||||
materialIcon: 'fas fa-coins',
|
materialIcon: 'fas fa-coins',
|
||||||
name: 'mypages.circuits',
|
name: 'mypages.circuits',
|
||||||
component: () => import('@src/views/user/mycircuits/mycircuits.vue'),
|
component: () => import('@/views/user/mycircuits/mycircuits.vue'),
|
||||||
meta: { requiresAuth: true },
|
meta: { requiresAuth: true },
|
||||||
inmenu: true,
|
inmenu: true,
|
||||||
infooter: true,
|
infooter: true,
|
||||||
@@ -120,7 +120,7 @@ function getDynamicPages(site: ISites): IListRoutes[] {
|
|||||||
path: '/groups',
|
path: '/groups',
|
||||||
materialIcon: 'fas fa-users',
|
materialIcon: 'fas fa-users',
|
||||||
name: 'mypages.groups',
|
name: 'mypages.groups',
|
||||||
component: () => import('@src/views/user/mygroups/mygroups.vue'),
|
component: () => import('@/views/user/mygroups/mygroups.vue'),
|
||||||
meta: { requiresAuth: true },
|
meta: { requiresAuth: true },
|
||||||
inmenu: true,
|
inmenu: true,
|
||||||
infooter: false,
|
infooter: false,
|
||||||
@@ -133,7 +133,7 @@ function getDynamicPages(site: ISites): IListRoutes[] {
|
|||||||
path: '/grp/:groupname',
|
path: '/grp/:groupname',
|
||||||
materialIcon: 'fas fa-user',
|
materialIcon: 'fas fa-user',
|
||||||
name: 'proj.group2',
|
name: 'proj.group2',
|
||||||
component: () => import('@src/views/user/mygroup/mygroup.vue'),
|
component: () => import('@/views/user/mygroup/mygroup.vue'),
|
||||||
meta: { requiresAuth: true, newpage: true },
|
meta: { requiresAuth: true, newpage: true },
|
||||||
inmenu: false,
|
inmenu: false,
|
||||||
infooter: false,
|
infooter: false,
|
||||||
@@ -144,7 +144,7 @@ function getDynamicPages(site: ISites): IListRoutes[] {
|
|||||||
path: '/circuit/:path',
|
path: '/circuit/:path',
|
||||||
materialIcon: 'fas fa-user',
|
materialIcon: 'fas fa-user',
|
||||||
name: 'proj.circuit2',
|
name: 'proj.circuit2',
|
||||||
component: () => import('@src/views/user/mycircuit/mycircuit.vue'),
|
component: () => import('@/views/user/mycircuit/mycircuit.vue'),
|
||||||
meta: { requiresAuth: true, newpage: true },
|
meta: { requiresAuth: true, newpage: true },
|
||||||
inmenu: false,
|
inmenu: false,
|
||||||
infooter: false,
|
infooter: false,
|
||||||
@@ -163,7 +163,7 @@ function getDynamicPages(site: ISites): IListRoutes[] {
|
|||||||
path: '/mypage/:idBacheca',
|
path: '/mypage/:idBacheca',
|
||||||
materialIcon: 'fas fa-user',
|
materialIcon: 'fas fa-user',
|
||||||
name: 'pages.mypage2',
|
name: 'pages.mypage2',
|
||||||
component: () => import('@src/views/user/mypagebacheca/mypagebacheca.vue'),
|
component: () => import('@/views/user/mypagebacheca/mypagebacheca.vue'),
|
||||||
meta: { requiresAuth: true, newpage: true },
|
meta: { requiresAuth: true, newpage: true },
|
||||||
inmenu: false,
|
inmenu: false,
|
||||||
infooter: false,
|
infooter: false,
|
||||||
@@ -174,7 +174,7 @@ function getDynamicPages(site: ISites): IListRoutes[] {
|
|||||||
path: '/myservice/:idSkill',
|
path: '/myservice/:idSkill',
|
||||||
materialIcon: '',
|
materialIcon: '',
|
||||||
name: 'pages.myservice2',
|
name: 'pages.myservice2',
|
||||||
component: () => import('@src/views/user/myservice/myservice.vue'),
|
component: () => import('@/views/user/myservice/myservice.vue'),
|
||||||
meta: { requiresAuth: true, newpage: true },
|
meta: { requiresAuth: true, newpage: true },
|
||||||
inmenu: false,
|
inmenu: false,
|
||||||
infooter: false,
|
infooter: false,
|
||||||
@@ -185,7 +185,7 @@ function getDynamicPages(site: ISites): IListRoutes[] {
|
|||||||
path: '/myhosps/:idHosp',
|
path: '/myhosps/:idHosp',
|
||||||
materialIcon: '',
|
materialIcon: '',
|
||||||
name: 'pages.myhosps2',
|
name: 'pages.myhosps2',
|
||||||
component: () => import('@src/views/user/mypagehosp/mypagehosp.vue'),
|
component: () => import('@/views/user/mypagehosp/mypagehosp.vue'),
|
||||||
meta: { requiresAuth: true, newpage: true },
|
meta: { requiresAuth: true, newpage: true },
|
||||||
inmenu: false,
|
inmenu: false,
|
||||||
infooter: false,
|
infooter: false,
|
||||||
@@ -196,7 +196,7 @@ function getDynamicPages(site: ISites): IListRoutes[] {
|
|||||||
path: '/mygood/:idGood',
|
path: '/mygood/:idGood',
|
||||||
materialIcon: '',
|
materialIcon: '',
|
||||||
name: 'pages.mygood2',
|
name: 'pages.mygood2',
|
||||||
component: () => import('@src/views/user/mypagegood/mypagegood.vue'),
|
component: () => import('@/views/user/mypagegood/mypagegood.vue'),
|
||||||
meta: { requiresAuth: true, newpage: true },
|
meta: { requiresAuth: true, newpage: true },
|
||||||
inmenu: false,
|
inmenu: false,
|
||||||
infooter: false,
|
infooter: false,
|
||||||
@@ -207,7 +207,7 @@ function getDynamicPages(site: ISites): IListRoutes[] {
|
|||||||
path: '/fundraising',
|
path: '/fundraising',
|
||||||
materialIcon: 'fas fa-hand-holding-heart',
|
materialIcon: 'fas fa-hand-holding-heart',
|
||||||
name: 'pages.fundraising',
|
name: 'pages.fundraising',
|
||||||
component: () => import('@src/root/fundraising/fundraising.vue'),
|
component: () => import('@/root/fundraising/fundraising.vue'),
|
||||||
inmenu: false,
|
inmenu: false,
|
||||||
infooter: false,
|
infooter: false,
|
||||||
},
|
},
|
||||||
@@ -217,7 +217,7 @@ function getDynamicPages(site: ISites): IListRoutes[] {
|
|||||||
path: '/calendario-eventi',
|
path: '/calendario-eventi',
|
||||||
materialIcon: 'event',
|
materialIcon: 'event',
|
||||||
name: 'ris.calendario_eventi_riso',
|
name: 'ris.calendario_eventi_riso',
|
||||||
component: () => import('@src/root/calendarioeventi/calendarioeventi.vue'),
|
component: () => import('@/root/calendarioeventi/calendarioeventi.vue'),
|
||||||
extraclass: 'isCalendar',
|
extraclass: 'isCalendar',
|
||||||
inmenu: false,
|
inmenu: false,
|
||||||
infooter: false
|
infooter: false
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"name": "nutriben",
|
"name": "nutriben",
|
||||||
"version": "1.2.85",
|
"version": "1.2.86",
|
||||||
"description": "Nutriben",
|
"description": "Nutriben",
|
||||||
"productName": "Nutriben",
|
"productName": "Nutriben",
|
||||||
"author": "Surya",
|
"author": "Surya",
|
||||||
@@ -9,20 +9,20 @@
|
|||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"type": "module",
|
"type": "module",
|
||||||
"scripts": {
|
"scripts": {
|
||||||
"dev": "PORT=8093 APP_VERSION='1.2.85' quasar dev",
|
"dev": "PORT=8093 APP_VERSION='1.2.86' quasar dev",
|
||||||
"dev_noCheck": "SKIP_TSC=true quasar dev",
|
"dev_noCheck": "SKIP_TSC=true quasar dev",
|
||||||
"build": "quasar build",
|
"build": "quasar build",
|
||||||
"buildpwa": "NODE_ENV=production APP_VERSION='1.2.85' 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.85' quasar build -m pwa",
|
"buildpwatest": "NODE_ENV=production APP_VERSION='1.2.86' quasar build -m pwa",
|
||||||
"type-check": "vue-tsc --noEmit",
|
"type-check": "vue-tsc --noEmit",
|
||||||
"type-check:watch": "vue-tsc --noEmit --watch",
|
"type-check:watch": "vue-tsc --noEmit --watch",
|
||||||
"buildspa": "APP_VERSION='1.2.85' quasar build -m spa",
|
"buildspa": "APP_VERSION='1.2.86' quasar build -m spa",
|
||||||
"lint": "eslint -c ./eslint.config.js \"./src*/**/*.{ts,js,cjs,mjs,vue}\"",
|
"lint": "eslint -c ./eslint.config.js \"./src*/**/*.{ts,js,cjs,mjs,vue}\"",
|
||||||
"lintfile": "eslint --ext .js,.ts,.vue --ignore-path .gitignore ./ > file.out.txt",
|
"lintfile": "eslint --ext .js,.ts,.vue --ignore-path .gitignore ./ > file.out.txt",
|
||||||
"lintfileNoJS": "eslint --ext .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",
|
"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.85' quasar dev -m pwa",
|
"pwa": "NODE_ENV=development PORT=8099 APP_VERSION='1.2.86' quasar dev -m pwa",
|
||||||
"spa": "NODE_ENV=development PORT=8093 APP_VERSION='1.2.85' quasar dev",
|
"spa": "NODE_ENV=development PORT=8093 APP_VERSION='1.2.86' quasar dev",
|
||||||
"debug": "quasar dev --mode debug",
|
"debug": "quasar dev --mode debug",
|
||||||
"test": "echo \"No test specified\" && exit 0",
|
"test": "echo \"No test specified\" && exit 0",
|
||||||
"generate-sw": "workbox generateSW workbox-config.js",
|
"generate-sw": "workbox generateSW workbox-config.js",
|
||||||
|
|||||||
@@ -38,7 +38,7 @@ const firstPage = {
|
|||||||
path: '/',
|
path: '/',
|
||||||
materialIcon: 'home',
|
materialIcon: 'home',
|
||||||
name: 'pages.home',
|
name: 'pages.home',
|
||||||
component: () => import('@src/root/nutriben/home/home.vue'),
|
component: () => import('@/root/nutriben/home/home.vue'),
|
||||||
reqauth: false,
|
reqauth: false,
|
||||||
inmenu: true,
|
inmenu: true,
|
||||||
infooter: true,
|
infooter: true,
|
||||||
@@ -54,7 +54,7 @@ function getDynamicPages(site: ISites): IListRoutes[] {
|
|||||||
path: '/',
|
path: '/',
|
||||||
materialIcon: 'home',
|
materialIcon: 'home',
|
||||||
name: 'pages.home',
|
name: 'pages.home',
|
||||||
component: () => import('@src/root/mainview/mainview.vue'),
|
component: () => import('@/root/mainview/mainview.vue'),
|
||||||
reqauth: false,
|
reqauth: false,
|
||||||
inmenu: true,
|
inmenu: true,
|
||||||
infooter: true,
|
infooter: true,
|
||||||
@@ -65,7 +65,7 @@ function getDynamicPages(site: ISites): IListRoutes[] {
|
|||||||
path: '/test',
|
path: '/test',
|
||||||
materialIcon: 'fas fa-test',
|
materialIcon: 'fas fa-test',
|
||||||
name: 'mypages.test',
|
name: 'mypages.test',
|
||||||
component: () => import('@src/views/testServer/testServer.vue'),
|
component: () => import('@/views/testServer/testServer.vue'),
|
||||||
inmenu: false,
|
inmenu: false,
|
||||||
infooter: false,
|
infooter: false,
|
||||||
},
|
},
|
||||||
@@ -75,7 +75,7 @@ function getDynamicPages(site: ISites): IListRoutes[] {
|
|||||||
path: '/provapao',
|
path: '/provapao',
|
||||||
materialIcon: 'fas fa-house-user',
|
materialIcon: 'fas fa-house-user',
|
||||||
name: 'mypages.provapao',
|
name: 'mypages.provapao',
|
||||||
component: () => import('@src/root/provapao/provapao.vue'),
|
component: () => import('@/root/provapao/provapao.vue'),
|
||||||
meta: { requiresAuth: true },
|
meta: { requiresAuth: true },
|
||||||
inmenu: false,
|
inmenu: false,
|
||||||
infooter: false,
|
infooter: false,
|
||||||
@@ -86,7 +86,7 @@ function getDynamicPages(site: ISites): IListRoutes[] {
|
|||||||
path: '/circuits',
|
path: '/circuits',
|
||||||
materialIcon: 'fas fa-coins',
|
materialIcon: 'fas fa-coins',
|
||||||
name: 'mypages.circuits',
|
name: 'mypages.circuits',
|
||||||
component: () => import('@src/views/user/mycircuits/mycircuits.vue'),
|
component: () => import('@/views/user/mycircuits/mycircuits.vue'),
|
||||||
meta: { requiresAuth: true },
|
meta: { requiresAuth: true },
|
||||||
inmenu: true,
|
inmenu: true,
|
||||||
infooter: true,
|
infooter: true,
|
||||||
@@ -97,7 +97,7 @@ function getDynamicPages(site: ISites): IListRoutes[] {
|
|||||||
path: '/events',
|
path: '/events',
|
||||||
materialIcon: 'fas fa-bullhorn',
|
materialIcon: 'fas fa-bullhorn',
|
||||||
name: 'mypages.events',
|
name: 'mypages.events',
|
||||||
component: () => import('@src/root/eventi/eventi.vue'),
|
component: () => import('@/root/eventi/eventi.vue'),
|
||||||
meta: { requiresAuth: true },
|
meta: { requiresAuth: true },
|
||||||
inmenu: true,
|
inmenu: true,
|
||||||
infooter: true,
|
infooter: true,
|
||||||
@@ -108,7 +108,7 @@ function getDynamicPages(site: ISites): IListRoutes[] {
|
|||||||
path: '/install_site',
|
path: '/install_site',
|
||||||
materialIcon: 'fas fa-user',
|
materialIcon: 'fas fa-user',
|
||||||
name: 'pages.install_site',
|
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 },
|
meta: { requiresAuth: true },
|
||||||
inmenu: false,
|
inmenu: false,
|
||||||
infooter: false,
|
infooter: false,
|
||||||
@@ -119,7 +119,7 @@ function getDynamicPages(site: ISites): IListRoutes[] {
|
|||||||
path: '/myprofile',
|
path: '/myprofile',
|
||||||
materialIcon: 'fas fa-user',
|
materialIcon: 'fas fa-user',
|
||||||
name: 'pages.profile',
|
name: 'pages.profile',
|
||||||
component: () => import('@src/views/user/myprofile/myprofile.vue'),
|
component: () => import('@/views/user/myprofile/myprofile.vue'),
|
||||||
meta: { requiresAuth: true },
|
meta: { requiresAuth: true },
|
||||||
inmenu: true,
|
inmenu: true,
|
||||||
infooter: true,
|
infooter: true,
|
||||||
@@ -130,7 +130,7 @@ function getDynamicPages(site: ISites): IListRoutes[] {
|
|||||||
path: '/editprofile',
|
path: '/editprofile',
|
||||||
materialIcon: 'fas fa-user',
|
materialIcon: 'fas fa-user',
|
||||||
name: 'pages.profile3',
|
name: 'pages.profile3',
|
||||||
component: () => import('@src/views/user/editprofile/editprofile.vue'),
|
component: () => import('@/views/user/editprofile/editprofile.vue'),
|
||||||
meta: { requiresAuth: true },
|
meta: { requiresAuth: true },
|
||||||
inmenu: false,
|
inmenu: false,
|
||||||
infooter: false,
|
infooter: false,
|
||||||
@@ -141,7 +141,7 @@ function getDynamicPages(site: ISites): IListRoutes[] {
|
|||||||
path: '/friends',
|
path: '/friends',
|
||||||
materialIcon: 'fas fa-user-friends',
|
materialIcon: 'fas fa-user-friends',
|
||||||
name: 'mypages.iscritti',
|
name: 'mypages.iscritti',
|
||||||
component: () => import('@src/views/user/myfriends/myfriends.vue'),
|
component: () => import('@/views/user/myfriends/myfriends.vue'),
|
||||||
meta: { requiresAuth: true },
|
meta: { requiresAuth: true },
|
||||||
inmenu: true,
|
inmenu: true,
|
||||||
infooter: true,
|
infooter: true,
|
||||||
@@ -152,7 +152,7 @@ function getDynamicPages(site: ISites): IListRoutes[] {
|
|||||||
path: '/groups',
|
path: '/groups',
|
||||||
materialIcon: 'fas fa-users',
|
materialIcon: 'fas fa-users',
|
||||||
name: 'mypages.groups',
|
name: 'mypages.groups',
|
||||||
component: () => import('@src/views/user/mygroups/mygroups.vue'),
|
component: () => import('@/views/user/mygroups/mygroups.vue'),
|
||||||
meta: { requiresAuth: true },
|
meta: { requiresAuth: true },
|
||||||
inmenu: true,
|
inmenu: true,
|
||||||
infooter: false,
|
infooter: false,
|
||||||
@@ -163,7 +163,7 @@ function getDynamicPages(site: ISites): IListRoutes[] {
|
|||||||
path: '/grp/:groupname',
|
path: '/grp/:groupname',
|
||||||
materialIcon: 'fas fa-user',
|
materialIcon: 'fas fa-user',
|
||||||
name: 'proj.group2',
|
name: 'proj.group2',
|
||||||
component: () => import('@src/views/user/mygroup/mygroup.vue'),
|
component: () => import('@/views/user/mygroup/mygroup.vue'),
|
||||||
meta: { requiresAuth: true, newpage: true },
|
meta: { requiresAuth: true, newpage: true },
|
||||||
inmenu: false,
|
inmenu: false,
|
||||||
infooter: false,
|
infooter: false,
|
||||||
@@ -174,7 +174,7 @@ function getDynamicPages(site: ISites): IListRoutes[] {
|
|||||||
path: '/circuit/:path',
|
path: '/circuit/:path',
|
||||||
materialIcon: 'fas fa-user',
|
materialIcon: 'fas fa-user',
|
||||||
name: 'proj.circuit2',
|
name: 'proj.circuit2',
|
||||||
component: () => import('@src/views/user/mycircuit/mycircuit.vue'),
|
component: () => import('@/views/user/mycircuit/mycircuit.vue'),
|
||||||
meta: { requiresAuth: true, newpage: true },
|
meta: { requiresAuth: true, newpage: true },
|
||||||
inmenu: false,
|
inmenu: false,
|
||||||
infooter: false,
|
infooter: false,
|
||||||
@@ -193,7 +193,7 @@ function getDynamicPages(site: ISites): IListRoutes[] {
|
|||||||
path: '/mypage/:idBacheca',
|
path: '/mypage/:idBacheca',
|
||||||
materialIcon: 'fas fa-user',
|
materialIcon: 'fas fa-user',
|
||||||
name: 'pages.mypage2',
|
name: 'pages.mypage2',
|
||||||
component: () => import('@src/views/user/mypagebacheca/mypagebacheca.vue'),
|
component: () => import('@/views/user/mypagebacheca/mypagebacheca.vue'),
|
||||||
meta: { requiresAuth: true, newpage: true },
|
meta: { requiresAuth: true, newpage: true },
|
||||||
inmenu: false,
|
inmenu: false,
|
||||||
infooter: false,
|
infooter: false,
|
||||||
@@ -204,7 +204,7 @@ function getDynamicPages(site: ISites): IListRoutes[] {
|
|||||||
path: '/myservice/:idSkill',
|
path: '/myservice/:idSkill',
|
||||||
materialIcon: '',
|
materialIcon: '',
|
||||||
name: 'pages.myservice2',
|
name: 'pages.myservice2',
|
||||||
component: () => import('@src/views/user/myservice/myservice.vue'),
|
component: () => import('@/views/user/myservice/myservice.vue'),
|
||||||
meta: { requiresAuth: true, newpage: true },
|
meta: { requiresAuth: true, newpage: true },
|
||||||
inmenu: false,
|
inmenu: false,
|
||||||
infooter: false,
|
infooter: false,
|
||||||
@@ -215,7 +215,7 @@ function getDynamicPages(site: ISites): IListRoutes[] {
|
|||||||
path: '/myhosps/:idHosp',
|
path: '/myhosps/:idHosp',
|
||||||
materialIcon: '',
|
materialIcon: '',
|
||||||
name: 'pages.myhosps2',
|
name: 'pages.myhosps2',
|
||||||
component: () => import('@src/views/user/mypagehosp/mypagehosp.vue'),
|
component: () => import('@/views/user/mypagehosp/mypagehosp.vue'),
|
||||||
meta: { requiresAuth: true, newpage: true },
|
meta: { requiresAuth: true, newpage: true },
|
||||||
inmenu: false,
|
inmenu: false,
|
||||||
infooter: false,
|
infooter: false,
|
||||||
@@ -226,7 +226,7 @@ function getDynamicPages(site: ISites): IListRoutes[] {
|
|||||||
path: '/mygood/:idGood',
|
path: '/mygood/:idGood',
|
||||||
materialIcon: '',
|
materialIcon: '',
|
||||||
name: 'pages.mygood2',
|
name: 'pages.mygood2',
|
||||||
component: () => import('@src/views/user/mypagegood/mypagegood.vue'),
|
component: () => import('@/views/user/mypagegood/mypagegood.vue'),
|
||||||
meta: { requiresAuth: true, newpage: true },
|
meta: { requiresAuth: true, newpage: true },
|
||||||
inmenu: false,
|
inmenu: false,
|
||||||
infooter: false,
|
infooter: false,
|
||||||
@@ -237,7 +237,7 @@ function getDynamicPages(site: ISites): IListRoutes[] {
|
|||||||
path: '/calendario-eventi',
|
path: '/calendario-eventi',
|
||||||
materialIcon: 'event',
|
materialIcon: 'event',
|
||||||
name: 'ris.calendario_eventi_riso',
|
name: 'ris.calendario_eventi_riso',
|
||||||
component: () => import('@src/root/calendarioeventi/calendarioeventi.vue'),
|
component: () => import('@/root/calendarioeventi/calendarioeventi.vue'),
|
||||||
extraclass: 'isCalendar',
|
extraclass: 'isCalendar',
|
||||||
inmenu: false,
|
inmenu: false,
|
||||||
infooter: false
|
infooter: false
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"name": "piuchebuono",
|
"name": "piuchebuono",
|
||||||
"version": "1.2.85",
|
"version": "1.2.86",
|
||||||
"description": "PiuCheBuono",
|
"description": "PiuCheBuono",
|
||||||
"productName": "PiuCheBuono",
|
"productName": "PiuCheBuono",
|
||||||
"author": "Surya",
|
"author": "Surya",
|
||||||
@@ -9,11 +9,11 @@
|
|||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"type": "module",
|
"type": "module",
|
||||||
"scripts": {
|
"scripts": {
|
||||||
"dev": "PORT=8085 APP_VERSION='1.2.85' quasar dev",
|
"dev": "PORT=8085 APP_VERSION='1.2.86' quasar dev",
|
||||||
"dev_noCheck": "SKIP_TSC=true quasar dev",
|
"dev_noCheck": "SKIP_TSC=true quasar dev",
|
||||||
"build": "quasar build",
|
"build": "quasar build",
|
||||||
"buildpwa": "NODE_ENV=production APP_VERSION='1.2.85' 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.85' quasar build -m pwa",
|
"buildpwatest": "NODE_ENV=production APP_VERSION='1.2.86' quasar build -m pwa",
|
||||||
"type-check": "vue-tsc --noEmit",
|
"type-check": "vue-tsc --noEmit",
|
||||||
"type-check:watch": "vue-tsc --noEmit --watch",
|
"type-check:watch": "vue-tsc --noEmit --watch",
|
||||||
"buildspa": "quasar build -m spa",
|
"buildspa": "quasar build -m spa",
|
||||||
@@ -21,8 +21,8 @@
|
|||||||
"lintfile": "eslint --ext .js,.ts,.vue --ignore-path .gitignore ./ > file.out.txt",
|
"lintfile": "eslint --ext .js,.ts,.vue --ignore-path .gitignore ./ > file.out.txt",
|
||||||
"lintfileNoJS": "eslint --ext .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",
|
"fix": "eslint -c ./eslint.config.js \"./src*/**/*.{ts,js,cjs,mjs,vue}\" --ignore-pattern .gitignore ./ --fix > file.out.txt",
|
||||||
"pwa": "NODE_ENV=development PORT=8085 APP_VERSION='1.2.85' quasar dev -m pwa",
|
"pwa": "NODE_ENV=development PORT=8085 APP_VERSION='1.2.86' quasar dev -m pwa",
|
||||||
"spa": "NODE_ENV=development PORT=8085 APP_VERSION='1.2.85' quasar dev",
|
"spa": "NODE_ENV=development PORT=8085 APP_VERSION='1.2.86' quasar dev",
|
||||||
"debug": "quasar dev --mode debug",
|
"debug": "quasar dev --mode debug",
|
||||||
"test": "echo \"No test specified\" && exit 0",
|
"test": "echo \"No test specified\" && exit 0",
|
||||||
"generate-sw": "workbox generateSW workbox-config.js",
|
"generate-sw": "workbox generateSW workbox-config.js",
|
||||||
|
|||||||
@@ -14,7 +14,7 @@ const firstPage = {
|
|||||||
path: '/',
|
path: '/',
|
||||||
materialIcon: 'home',
|
materialIcon: 'home',
|
||||||
name: 'pages.home',
|
name: 'pages.home',
|
||||||
component: () => import('@src/root/mainview/mainview.vue'),
|
component: () => import('@/root/mainview/mainview.vue'),
|
||||||
reqauth: false,
|
reqauth: false,
|
||||||
inmenu: true,
|
inmenu: true,
|
||||||
infooter: true,
|
infooter: true,
|
||||||
@@ -29,7 +29,7 @@ function getDynamicPages(site: ISites): IListRoutes[] {
|
|||||||
path: '/',
|
path: '/',
|
||||||
materialIcon: 'home',
|
materialIcon: 'home',
|
||||||
name: 'pages.home',
|
name: 'pages.home',
|
||||||
component: () => import('@src/root/mainview/mainview.vue'),
|
component: () => import('@/root/mainview/mainview.vue'),
|
||||||
reqauth: false,
|
reqauth: false,
|
||||||
inmenu: true,
|
inmenu: true,
|
||||||
infooter: true,
|
infooter: true,
|
||||||
@@ -40,7 +40,7 @@ function getDynamicPages(site: ISites): IListRoutes[] {
|
|||||||
path: '/test',
|
path: '/test',
|
||||||
materialIcon: 'fas fa-test',
|
materialIcon: 'fas fa-test',
|
||||||
name: 'mypages.test',
|
name: 'mypages.test',
|
||||||
component: () => import('@src/views/testServer/testServer.vue'),
|
component: () => import('@/views/testServer/testServer.vue'),
|
||||||
meta: { requiresAuth: true },
|
meta: { requiresAuth: true },
|
||||||
inmenu: false,
|
inmenu: false,
|
||||||
infooter: false,
|
infooter: false,
|
||||||
@@ -52,7 +52,7 @@ function getDynamicPages(site: ISites): IListRoutes[] {
|
|||||||
path: '/events',
|
path: '/events',
|
||||||
materialIcon: 'fas fa-bullhorn',
|
materialIcon: 'fas fa-bullhorn',
|
||||||
name: 'mypages.events',
|
name: 'mypages.events',
|
||||||
component: () => import('@src/root/eventi/eventi.vue'),
|
component: () => import('@/root/eventi/eventi.vue'),
|
||||||
meta: { requiresAuth: true },
|
meta: { requiresAuth: true },
|
||||||
inmenu: true,
|
inmenu: true,
|
||||||
infooter: true,
|
infooter: true,
|
||||||
@@ -63,7 +63,7 @@ function getDynamicPages(site: ISites): IListRoutes[] {
|
|||||||
path: '/myprofile',
|
path: '/myprofile',
|
||||||
materialIcon: 'fas fa-user',
|
materialIcon: 'fas fa-user',
|
||||||
name: 'pages.profile',
|
name: 'pages.profile',
|
||||||
component: () => import('@src/views/user/myprofile/myprofile.vue'),
|
component: () => import('@/views/user/myprofile/myprofile.vue'),
|
||||||
meta: { requiresAuth: true },
|
meta: { requiresAuth: true },
|
||||||
inmenu: true,
|
inmenu: true,
|
||||||
infooter: true,
|
infooter: true,
|
||||||
@@ -74,7 +74,7 @@ function getDynamicPages(site: ISites): IListRoutes[] {
|
|||||||
path: '/install_site',
|
path: '/install_site',
|
||||||
materialIcon: 'fas fa-user',
|
materialIcon: 'fas fa-user',
|
||||||
name: 'pages.install_site',
|
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 },
|
meta: { requiresAuth: true },
|
||||||
inmenu: false,
|
inmenu: false,
|
||||||
infooter: false,
|
infooter: false,
|
||||||
@@ -85,7 +85,7 @@ function getDynamicPages(site: ISites): IListRoutes[] {
|
|||||||
path: '/editprofile',
|
path: '/editprofile',
|
||||||
materialIcon: 'fas fa-user',
|
materialIcon: 'fas fa-user',
|
||||||
name: 'pages.profile3',
|
name: 'pages.profile3',
|
||||||
component: () => import('@src/views/user/editprofile/editprofile.vue'),
|
component: () => import('@/views/user/editprofile/editprofile.vue'),
|
||||||
meta: { requiresAuth: true },
|
meta: { requiresAuth: true },
|
||||||
inmenu: false,
|
inmenu: false,
|
||||||
infooter: false,
|
infooter: false,
|
||||||
@@ -96,7 +96,7 @@ function getDynamicPages(site: ISites): IListRoutes[] {
|
|||||||
path: '/friends',
|
path: '/friends',
|
||||||
materialIcon: 'fas fa-user-friends',
|
materialIcon: 'fas fa-user-friends',
|
||||||
name: 'mypages.iscritti',
|
name: 'mypages.iscritti',
|
||||||
component: () => import('@src/views/user/myfriends/myfriends.vue'),
|
component: () => import('@/views/user/myfriends/myfriends.vue'),
|
||||||
meta: { requiresAuth: true },
|
meta: { requiresAuth: true },
|
||||||
inmenu: true,
|
inmenu: true,
|
||||||
infooter: true,
|
infooter: true,
|
||||||
@@ -107,7 +107,7 @@ function getDynamicPages(site: ISites): IListRoutes[] {
|
|||||||
path: '/circuits',
|
path: '/circuits',
|
||||||
materialIcon: 'fas fa-coins',
|
materialIcon: 'fas fa-coins',
|
||||||
name: 'mypages.circuits',
|
name: 'mypages.circuits',
|
||||||
component: () => import('@src/views/user/mycircuits/mycircuits.vue'),
|
component: () => import('@/views/user/mycircuits/mycircuits.vue'),
|
||||||
meta: { requiresAuth: true },
|
meta: { requiresAuth: true },
|
||||||
inmenu: true,
|
inmenu: true,
|
||||||
infooter: true,
|
infooter: true,
|
||||||
@@ -120,7 +120,7 @@ function getDynamicPages(site: ISites): IListRoutes[] {
|
|||||||
path: '/groups',
|
path: '/groups',
|
||||||
materialIcon: 'fas fa-users',
|
materialIcon: 'fas fa-users',
|
||||||
name: 'mypages.groups',
|
name: 'mypages.groups',
|
||||||
component: () => import('@src/views/user/mygroups/mygroups.vue'),
|
component: () => import('@/views/user/mygroups/mygroups.vue'),
|
||||||
meta: { requiresAuth: true },
|
meta: { requiresAuth: true },
|
||||||
inmenu: true,
|
inmenu: true,
|
||||||
infooter: false,
|
infooter: false,
|
||||||
@@ -133,7 +133,7 @@ function getDynamicPages(site: ISites): IListRoutes[] {
|
|||||||
path: '/grp/:groupname',
|
path: '/grp/:groupname',
|
||||||
materialIcon: 'fas fa-user',
|
materialIcon: 'fas fa-user',
|
||||||
name: 'proj.group2',
|
name: 'proj.group2',
|
||||||
component: () => import('@src/views/user/mygroup/mygroup.vue'),
|
component: () => import('@/views/user/mygroup/mygroup.vue'),
|
||||||
meta: { requiresAuth: true, newpage: true },
|
meta: { requiresAuth: true, newpage: true },
|
||||||
inmenu: false,
|
inmenu: false,
|
||||||
infooter: false,
|
infooter: false,
|
||||||
@@ -144,7 +144,7 @@ function getDynamicPages(site: ISites): IListRoutes[] {
|
|||||||
path: '/circuit/:path',
|
path: '/circuit/:path',
|
||||||
materialIcon: 'fas fa-user',
|
materialIcon: 'fas fa-user',
|
||||||
name: 'proj.circuit2',
|
name: 'proj.circuit2',
|
||||||
component: () => import('@src/views/user/mycircuit/mycircuit.vue'),
|
component: () => import('@/views/user/mycircuit/mycircuit.vue'),
|
||||||
meta: { requiresAuth: true, newpage: true },
|
meta: { requiresAuth: true, newpage: true },
|
||||||
inmenu: false,
|
inmenu: false,
|
||||||
infooter: false,
|
infooter: false,
|
||||||
@@ -163,7 +163,7 @@ function getDynamicPages(site: ISites): IListRoutes[] {
|
|||||||
path: '/mypage/:idBacheca',
|
path: '/mypage/:idBacheca',
|
||||||
materialIcon: 'fas fa-user',
|
materialIcon: 'fas fa-user',
|
||||||
name: 'pages.mypage2',
|
name: 'pages.mypage2',
|
||||||
component: () => import('@src/views/user/mypagebacheca/mypagebacheca.vue'),
|
component: () => import('@/views/user/mypagebacheca/mypagebacheca.vue'),
|
||||||
meta: { requiresAuth: true, newpage: true },
|
meta: { requiresAuth: true, newpage: true },
|
||||||
inmenu: false,
|
inmenu: false,
|
||||||
infooter: false,
|
infooter: false,
|
||||||
@@ -174,7 +174,7 @@ function getDynamicPages(site: ISites): IListRoutes[] {
|
|||||||
path: '/myservice/:idSkill',
|
path: '/myservice/:idSkill',
|
||||||
materialIcon: '',
|
materialIcon: '',
|
||||||
name: 'pages.myservice2',
|
name: 'pages.myservice2',
|
||||||
component: () => import('@src/views/user/myservice/myservice.vue'),
|
component: () => import('@/views/user/myservice/myservice.vue'),
|
||||||
meta: { requiresAuth: true, newpage: true },
|
meta: { requiresAuth: true, newpage: true },
|
||||||
inmenu: false,
|
inmenu: false,
|
||||||
infooter: false,
|
infooter: false,
|
||||||
@@ -185,7 +185,7 @@ function getDynamicPages(site: ISites): IListRoutes[] {
|
|||||||
path: '/myhosps/:idHosp',
|
path: '/myhosps/:idHosp',
|
||||||
materialIcon: '',
|
materialIcon: '',
|
||||||
name: 'pages.myhosps2',
|
name: 'pages.myhosps2',
|
||||||
component: () => import('@src/views/user/mypagehosp/mypagehosp.vue'),
|
component: () => import('@/views/user/mypagehosp/mypagehosp.vue'),
|
||||||
meta: { requiresAuth: true, newpage: true },
|
meta: { requiresAuth: true, newpage: true },
|
||||||
inmenu: false,
|
inmenu: false,
|
||||||
infooter: false,
|
infooter: false,
|
||||||
@@ -196,7 +196,7 @@ function getDynamicPages(site: ISites): IListRoutes[] {
|
|||||||
path: '/mygood/:idGood',
|
path: '/mygood/:idGood',
|
||||||
materialIcon: '',
|
materialIcon: '',
|
||||||
name: 'pages.mygood2',
|
name: 'pages.mygood2',
|
||||||
component: () => import('@src/views/user/mypagegood/mypagegood.vue'),
|
component: () => import('@/views/user/mypagegood/mypagegood.vue'),
|
||||||
meta: { requiresAuth: true, newpage: true },
|
meta: { requiresAuth: true, newpage: true },
|
||||||
inmenu: false,
|
inmenu: false,
|
||||||
infooter: false,
|
infooter: false,
|
||||||
@@ -207,7 +207,7 @@ function getDynamicPages(site: ISites): IListRoutes[] {
|
|||||||
path: '/fundraising',
|
path: '/fundraising',
|
||||||
materialIcon: 'fas fa-hand-holding-heart',
|
materialIcon: 'fas fa-hand-holding-heart',
|
||||||
name: 'pages.fundraising',
|
name: 'pages.fundraising',
|
||||||
component: () => import('@src/root/fundraising/fundraising.vue'),
|
component: () => import('@/root/fundraising/fundraising.vue'),
|
||||||
inmenu: false,
|
inmenu: false,
|
||||||
infooter: false,
|
infooter: false,
|
||||||
},
|
},
|
||||||
@@ -217,7 +217,7 @@ function getDynamicPages(site: ISites): IListRoutes[] {
|
|||||||
path: '/calendario-eventi',
|
path: '/calendario-eventi',
|
||||||
materialIcon: 'event',
|
materialIcon: 'event',
|
||||||
name: 'ris.calendario_eventi_riso',
|
name: 'ris.calendario_eventi_riso',
|
||||||
component: () => import('@src/root/calendarioeventi/calendarioeventi.vue'),
|
component: () => import('@/root/calendarioeventi/calendarioeventi.vue'),
|
||||||
extraclass: 'isCalendar',
|
extraclass: 'isCalendar',
|
||||||
inmenu: false,
|
inmenu: false,
|
||||||
infooter: false
|
infooter: false
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"name": "riso",
|
"name": "riso",
|
||||||
"version": "1.2.85",
|
"version": "1.2.86",
|
||||||
"productName": "Riso 💚 - Rete Italiana Scambio orizzontale",
|
"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.",
|
"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",
|
"author": "Surya",
|
||||||
@@ -9,11 +9,11 @@
|
|||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"type": "module",
|
"type": "module",
|
||||||
"scripts": {
|
"scripts": {
|
||||||
"dev": "APP_VERSION='1.2.85' PORT=8084 quasar dev",
|
"dev": "APP_VERSION='1.2.86' PORT=8084 quasar dev",
|
||||||
"dev_noCheck": "SKIP_TSC=true quasar dev",
|
"dev_noCheck": "SKIP_TSC=true quasar dev",
|
||||||
"build": "quasar build",
|
"build": "quasar build",
|
||||||
"buildpwa": "NODE_ENV=production APP_VERSION='1.2.85' 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.85' quasar build -m pwa",
|
"buildpwatest": "NODE_ENV=production APP_VERSION='1.2.86' quasar build -m pwa",
|
||||||
"type-check": "vue-tsc --noEmit",
|
"type-check": "vue-tsc --noEmit",
|
||||||
"type-check:watch": "vue-tsc --noEmit --watch",
|
"type-check:watch": "vue-tsc --noEmit --watch",
|
||||||
"buildspa": "quasar build -m spa",
|
"buildspa": "quasar build -m spa",
|
||||||
@@ -21,8 +21,8 @@
|
|||||||
"lintfile": "eslint --ext .js,.ts,.vue --ignore-path .gitignore ./ > file.out.txt",
|
"lintfile": "eslint --ext .js,.ts,.vue --ignore-path .gitignore ./ > file.out.txt",
|
||||||
"lintfileNoJS": "eslint --ext .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",
|
"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.85' quasar dev -m pwa",
|
"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.85' quasar dev",
|
"spa": "NODE_ENV=development PORT=8084 APP_VERSION='1.2.86' quasar dev",
|
||||||
"debug": "quasar dev --mode debug",
|
"debug": "quasar dev --mode debug",
|
||||||
"test": "echo \"No test specified\" && exit 0",
|
"test": "echo \"No test specified\" && exit 0",
|
||||||
"generate-sw": "workbox generateSW workbox-config.js",
|
"generate-sw": "workbox generateSW workbox-config.js",
|
||||||
|
|||||||
@@ -38,7 +38,7 @@ const firstPage = {
|
|||||||
path: '/',
|
path: '/',
|
||||||
materialIcon: 'home',
|
materialIcon: 'home',
|
||||||
name: 'pages.home',
|
name: 'pages.home',
|
||||||
component: () => import('@src/root/mainview/mainview.vue'),
|
component: () => import('@/root/mainview/mainview.vue'),
|
||||||
reqauth: false,
|
reqauth: false,
|
||||||
inmenu: true,
|
inmenu: true,
|
||||||
infooter: true,
|
infooter: true,
|
||||||
@@ -53,7 +53,7 @@ function getDynamicPages(site: ISites): IListRoutes[] {
|
|||||||
path: '/',
|
path: '/',
|
||||||
materialIcon: 'home',
|
materialIcon: 'home',
|
||||||
name: 'pages.home',
|
name: 'pages.home',
|
||||||
component: () => import('@src/root/mainview/mainview.vue'),
|
component: () => import('@/root/mainview/mainview.vue'),
|
||||||
reqauth: false,
|
reqauth: false,
|
||||||
inmenu: true,
|
inmenu: true,
|
||||||
infooter: true,
|
infooter: true,
|
||||||
@@ -64,7 +64,7 @@ function getDynamicPages(site: ISites): IListRoutes[] {
|
|||||||
path: '/test',
|
path: '/test',
|
||||||
materialIcon: 'fas fa-test',
|
materialIcon: 'fas fa-test',
|
||||||
name: 'mypages.test',
|
name: 'mypages.test',
|
||||||
component: () => import('@src/views/testServer/testServer.vue'),
|
component: () => import('@/views/testServer/testServer.vue'),
|
||||||
inmenu: false,
|
inmenu: false,
|
||||||
infooter: false,
|
infooter: false,
|
||||||
},
|
},
|
||||||
@@ -74,7 +74,7 @@ function getDynamicPages(site: ISites): IListRoutes[] {
|
|||||||
path: '/goods',
|
path: '/goods',
|
||||||
materialIcon: 'fas fa-tshirt',
|
materialIcon: 'fas fa-tshirt',
|
||||||
name: 'mypages.goods',
|
name: 'mypages.goods',
|
||||||
component: () => import('@src/root/goods/goods.vue'),
|
component: () => import('@/root/goods/goods.vue'),
|
||||||
meta: { requiresAuth: true },
|
meta: { requiresAuth: true },
|
||||||
inmenu: true,
|
inmenu: true,
|
||||||
infooter: true,
|
infooter: true,
|
||||||
@@ -85,7 +85,7 @@ function getDynamicPages(site: ISites): IListRoutes[] {
|
|||||||
path: '/services',
|
path: '/services',
|
||||||
materialIcon: 'fas fa-house-user',
|
materialIcon: 'fas fa-house-user',
|
||||||
name: 'mypages.services',
|
name: 'mypages.services',
|
||||||
component: () => import('@src/root/services/services.vue'),
|
component: () => import('@/root/services/services.vue'),
|
||||||
meta: { requiresAuth: true },
|
meta: { requiresAuth: true },
|
||||||
inmenu: true,
|
inmenu: true,
|
||||||
infooter: true,
|
infooter: true,
|
||||||
@@ -96,7 +96,7 @@ function getDynamicPages(site: ISites): IListRoutes[] {
|
|||||||
path: '/activities',
|
path: '/activities',
|
||||||
materialIcon: 'fas fa-house-user',
|
materialIcon: 'fas fa-house-user',
|
||||||
name: 'mypages.activities',
|
name: 'mypages.activities',
|
||||||
component: () => import('@src/root/activities/activities.vue'),
|
component: () => import('@/root/activities/activities.vue'),
|
||||||
meta: { requiresAuth: true },
|
meta: { requiresAuth: true },
|
||||||
inmenu: false,
|
inmenu: false,
|
||||||
infooter: false,
|
infooter: false,
|
||||||
@@ -107,7 +107,7 @@ function getDynamicPages(site: ISites): IListRoutes[] {
|
|||||||
path: '/provapao',
|
path: '/provapao',
|
||||||
materialIcon: 'fas fa-house-user',
|
materialIcon: 'fas fa-house-user',
|
||||||
name: 'mypages.provapao',
|
name: 'mypages.provapao',
|
||||||
component: () => import('@src/root/provapao/provapao.vue'),
|
component: () => import('@/root/provapao/provapao.vue'),
|
||||||
meta: { requiresAuth: true },
|
meta: { requiresAuth: true },
|
||||||
inmenu: false,
|
inmenu: false,
|
||||||
infooter: false,
|
infooter: false,
|
||||||
@@ -118,7 +118,7 @@ function getDynamicPages(site: ISites): IListRoutes[] {
|
|||||||
path: '/hosps',
|
path: '/hosps',
|
||||||
materialIcon: 'fas fa-bed',
|
materialIcon: 'fas fa-bed',
|
||||||
name: 'mypages.hosp',
|
name: 'mypages.hosp',
|
||||||
component: () => import('@src/root/hosp/hosp.vue'),
|
component: () => import('@/root/hosp/hosp.vue'),
|
||||||
meta: { requiresAuth: true },
|
meta: { requiresAuth: true },
|
||||||
inmenu: true,
|
inmenu: true,
|
||||||
infooter: true,
|
infooter: true,
|
||||||
@@ -129,7 +129,7 @@ function getDynamicPages(site: ISites): IListRoutes[] {
|
|||||||
path: '/circuits',
|
path: '/circuits',
|
||||||
materialIcon: 'fas fa-coins',
|
materialIcon: 'fas fa-coins',
|
||||||
name: 'mypages.circuits',
|
name: 'mypages.circuits',
|
||||||
component: () => import('@src/views/user/mycircuits/mycircuits.vue'),
|
component: () => import('@/views/user/mycircuits/mycircuits.vue'),
|
||||||
meta: { requiresAuth: true },
|
meta: { requiresAuth: true },
|
||||||
inmenu: true,
|
inmenu: true,
|
||||||
infooter: true,
|
infooter: true,
|
||||||
@@ -140,7 +140,7 @@ function getDynamicPages(site: ISites): IListRoutes[] {
|
|||||||
path: '/events',
|
path: '/events',
|
||||||
materialIcon: 'fas fa-bullhorn',
|
materialIcon: 'fas fa-bullhorn',
|
||||||
name: 'mypages.events',
|
name: 'mypages.events',
|
||||||
component: () => import('@src/root/eventi/eventi.vue'),
|
component: () => import('@/root/eventi/eventi.vue'),
|
||||||
meta: { requiresAuth: true },
|
meta: { requiresAuth: true },
|
||||||
inmenu: true,
|
inmenu: true,
|
||||||
infooter: true,
|
infooter: true,
|
||||||
@@ -151,7 +151,7 @@ function getDynamicPages(site: ISites): IListRoutes[] {
|
|||||||
path: '/install_site',
|
path: '/install_site',
|
||||||
materialIcon: 'fas fa-user',
|
materialIcon: 'fas fa-user',
|
||||||
name: 'pages.install_site',
|
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 },
|
meta: { requiresAuth: true },
|
||||||
inmenu: false,
|
inmenu: false,
|
||||||
infooter: false,
|
infooter: false,
|
||||||
@@ -162,7 +162,7 @@ function getDynamicPages(site: ISites): IListRoutes[] {
|
|||||||
path: '/myprofile',
|
path: '/myprofile',
|
||||||
materialIcon: 'fas fa-user',
|
materialIcon: 'fas fa-user',
|
||||||
name: 'pages.profile',
|
name: 'pages.profile',
|
||||||
component: () => import('@src/views/user/myprofile/myprofile.vue'),
|
component: () => import('@/views/user/myprofile/myprofile.vue'),
|
||||||
meta: { requiresAuth: true },
|
meta: { requiresAuth: true },
|
||||||
inmenu: true,
|
inmenu: true,
|
||||||
infooter: true,
|
infooter: true,
|
||||||
@@ -184,7 +184,7 @@ function getDynamicPages(site: ISites): IListRoutes[] {
|
|||||||
path: '/friends',
|
path: '/friends',
|
||||||
materialIcon: 'fas fa-user-friends',
|
materialIcon: 'fas fa-user-friends',
|
||||||
name: 'mypages.iscritti',
|
name: 'mypages.iscritti',
|
||||||
component: () => import('@src/views/user/myfriends/myfriends.vue'),
|
component: () => import('@/views/user/myfriends/myfriends.vue'),
|
||||||
meta: { requiresAuth: true },
|
meta: { requiresAuth: true },
|
||||||
inmenu: true,
|
inmenu: true,
|
||||||
infooter: true,
|
infooter: true,
|
||||||
@@ -195,7 +195,7 @@ function getDynamicPages(site: ISites): IListRoutes[] {
|
|||||||
path: '/groups',
|
path: '/groups',
|
||||||
materialIcon: 'fas fa-users',
|
materialIcon: 'fas fa-users',
|
||||||
name: 'mypages.groups',
|
name: 'mypages.groups',
|
||||||
component: () => import('@src/views/user/mygroups/mygroups.vue'),
|
component: () => import('@/views/user/mygroups/mygroups.vue'),
|
||||||
meta: { requiresAuth: true },
|
meta: { requiresAuth: true },
|
||||||
inmenu: true,
|
inmenu: true,
|
||||||
infooter: false,
|
infooter: false,
|
||||||
@@ -206,7 +206,7 @@ function getDynamicPages(site: ISites): IListRoutes[] {
|
|||||||
path: '/grp/:groupname',
|
path: '/grp/:groupname',
|
||||||
materialIcon: 'fas fa-user',
|
materialIcon: 'fas fa-user',
|
||||||
name: 'proj.group2',
|
name: 'proj.group2',
|
||||||
component: () => import('@src/views/user/mygroup/mygroup.vue'),
|
component: () => import('@/views/user/mygroup/mygroup.vue'),
|
||||||
meta: { requiresAuth: true, newpage: true },
|
meta: { requiresAuth: true, newpage: true },
|
||||||
inmenu: false,
|
inmenu: false,
|
||||||
infooter: false,
|
infooter: false,
|
||||||
@@ -217,7 +217,7 @@ function getDynamicPages(site: ISites): IListRoutes[] {
|
|||||||
path: '/circuit/:path',
|
path: '/circuit/:path',
|
||||||
materialIcon: 'fas fa-user',
|
materialIcon: 'fas fa-user',
|
||||||
name: 'proj.circuit2',
|
name: 'proj.circuit2',
|
||||||
component: () => import('@src/views/user/mycircuit/mycircuit.vue'),
|
component: () => import('@/views/user/mycircuit/mycircuit.vue'),
|
||||||
meta: { requiresAuth: true, newpage: true },
|
meta: { requiresAuth: true, newpage: true },
|
||||||
inmenu: false,
|
inmenu: false,
|
||||||
infooter: false,
|
infooter: false,
|
||||||
@@ -236,7 +236,7 @@ function getDynamicPages(site: ISites): IListRoutes[] {
|
|||||||
path: '/mypage/:idBacheca',
|
path: '/mypage/:idBacheca',
|
||||||
materialIcon: 'fas fa-user',
|
materialIcon: 'fas fa-user',
|
||||||
name: 'pages.mypage2',
|
name: 'pages.mypage2',
|
||||||
component: () => import('@src/views/user/mypagebacheca/mypagebacheca.vue'),
|
component: () => import('@/views/user/mypagebacheca/mypagebacheca.vue'),
|
||||||
meta: { requiresAuth: true, newpage: true },
|
meta: { requiresAuth: true, newpage: true },
|
||||||
inmenu: false,
|
inmenu: false,
|
||||||
infooter: false,
|
infooter: false,
|
||||||
@@ -247,7 +247,7 @@ function getDynamicPages(site: ISites): IListRoutes[] {
|
|||||||
path: '/myservice/:idSkill',
|
path: '/myservice/:idSkill',
|
||||||
materialIcon: '',
|
materialIcon: '',
|
||||||
name: 'pages.myservice2',
|
name: 'pages.myservice2',
|
||||||
component: () => import('@src/views/user/myservice/myservice.vue'),
|
component: () => import('@/views/user/myservice/myservice.vue'),
|
||||||
meta: { requiresAuth: true, newpage: true },
|
meta: { requiresAuth: true, newpage: true },
|
||||||
inmenu: false,
|
inmenu: false,
|
||||||
infooter: false,
|
infooter: false,
|
||||||
@@ -258,7 +258,7 @@ function getDynamicPages(site: ISites): IListRoutes[] {
|
|||||||
path: '/myhosps/:idHosp',
|
path: '/myhosps/:idHosp',
|
||||||
materialIcon: '',
|
materialIcon: '',
|
||||||
name: 'pages.myhosps2',
|
name: 'pages.myhosps2',
|
||||||
component: () => import('@src/views/user/mypagehosp/mypagehosp.vue'),
|
component: () => import('@/views/user/mypagehosp/mypagehosp.vue'),
|
||||||
meta: { requiresAuth: true, newpage: true },
|
meta: { requiresAuth: true, newpage: true },
|
||||||
inmenu: false,
|
inmenu: false,
|
||||||
infooter: false,
|
infooter: false,
|
||||||
@@ -269,7 +269,7 @@ function getDynamicPages(site: ISites): IListRoutes[] {
|
|||||||
path: '/mygood/:idGood',
|
path: '/mygood/:idGood',
|
||||||
materialIcon: '',
|
materialIcon: '',
|
||||||
name: 'pages.mygood2',
|
name: 'pages.mygood2',
|
||||||
component: () => import('@src/views/user/mypagegood/mypagegood.vue'),
|
component: () => import('@/views/user/mypagegood/mypagegood.vue'),
|
||||||
meta: { requiresAuth: true, newpage: true },
|
meta: { requiresAuth: true, newpage: true },
|
||||||
inmenu: false,
|
inmenu: false,
|
||||||
infooter: false,
|
infooter: false,
|
||||||
@@ -280,7 +280,7 @@ function getDynamicPages(site: ISites): IListRoutes[] {
|
|||||||
path: '/sostieniilprogetto',
|
path: '/sostieniilprogetto',
|
||||||
materialIcon: 'fas fa-hand-holding-heart',
|
materialIcon: 'fas fa-hand-holding-heart',
|
||||||
name: 'pages.fundraising',
|
name: 'pages.fundraising',
|
||||||
component: () => import('@src/root/fundraising/fundraising.vue'),
|
component: () => import('@/root/fundraising/fundraising.vue'),
|
||||||
inmenu: false,
|
inmenu: false,
|
||||||
infooter: false,
|
infooter: false,
|
||||||
},
|
},
|
||||||
@@ -290,7 +290,7 @@ function getDynamicPages(site: ISites): IListRoutes[] {
|
|||||||
path: '/calendario-eventi',
|
path: '/calendario-eventi',
|
||||||
materialIcon: 'event',
|
materialIcon: 'event',
|
||||||
name: 'ris.calendario_eventi_riso',
|
name: 'ris.calendario_eventi_riso',
|
||||||
component: () => import('@src/root/calendarioeventi/calendarioeventi.vue'),
|
component: () => import('@/root/calendarioeventi/calendarioeventi.vue'),
|
||||||
extraclass: 'isCalendar',
|
extraclass: 'isCalendar',
|
||||||
inmenu: false,
|
inmenu: false,
|
||||||
infooter: false
|
infooter: false
|
||||||
|
|||||||
@@ -3,7 +3,7 @@
|
|||||||
/* global workbox */
|
/* global workbox */
|
||||||
/* global cfgenv */
|
/* global cfgenv */
|
||||||
|
|
||||||
const VITE_APP_VERSION = '1.2.85';
|
const VITE_APP_VERSION = '1.2.86';
|
||||||
|
|
||||||
// Costanti di configurazione
|
// Costanti di configurazione
|
||||||
const DYNAMIC_CACHE = 'dynamic-cache-v2';
|
const DYNAMIC_CACHE = 'dynamic-cache-v2';
|
||||||
@@ -117,8 +117,62 @@ self.addEventListener('activate', (event) => {
|
|||||||
);
|
);
|
||||||
})
|
})
|
||||||
);
|
);
|
||||||
|
self.clients.claim(); // SERVE? OPPURE NO ?
|
||||||
});
|
});
|
||||||
|
|
||||||
|
const USASYNC = false;
|
||||||
|
// PER ATTIVARE IL SYNC TOGLI L'AREA COMMENTATA DI 'FETCH' QUI SOTTO ....
|
||||||
|
/*
|
||||||
|
// Strategia fetch
|
||||||
|
self.addEventListener('fetch', (event) => {
|
||||||
|
const { request } = event;
|
||||||
|
const url = new URL(request.url);
|
||||||
|
|
||||||
|
// ============================================
|
||||||
|
// IMPORTANTE: NON cachare API /sync o /loadsite
|
||||||
|
// ============================================
|
||||||
|
if (url.pathname.includes('/api/') ||
|
||||||
|
url.pathname.includes('/sync') ||
|
||||||
|
url.pathname.includes('/loadsite')) {
|
||||||
|
// Lascia passare normalmente - IndexedDB gestisce cache
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
// ============================================
|
||||||
|
// Cache Strategy per assets statici
|
||||||
|
// ============================================
|
||||||
|
if (request.method === 'GET') {
|
||||||
|
event.respondWith(
|
||||||
|
caches.match(request).then((cachedResponse) => {
|
||||||
|
if (cachedResponse) {
|
||||||
|
return cachedResponse;
|
||||||
|
}
|
||||||
|
|
||||||
|
return fetch(request).then((response) => {
|
||||||
|
// Non cachare se non è successo
|
||||||
|
if (!response || response.status !== 200 || response.type !== 'basic') {
|
||||||
|
return response;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Clona e salva in cache
|
||||||
|
const responseToCache = response.clone();
|
||||||
|
caches.open(CACHE_NAME).then((cache) => {
|
||||||
|
cache.put(request, responseToCache);
|
||||||
|
});
|
||||||
|
|
||||||
|
return response;
|
||||||
|
}).catch(() => {
|
||||||
|
// Offline fallback
|
||||||
|
if (request.destination === 'document') {
|
||||||
|
return caches.match('/offline.html');
|
||||||
|
}
|
||||||
|
});
|
||||||
|
})
|
||||||
|
);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
*/
|
||||||
|
|
||||||
console.log(
|
console.log(
|
||||||
' [ VER-' +
|
' [ VER-' +
|
||||||
VITE_APP_VERSION +
|
VITE_APP_VERSION +
|
||||||
|
|||||||
12
src/App.ts
12
src/App.ts
@@ -1,15 +1,15 @@
|
|||||||
import { useRoute, useRouter } from 'vue-router';
|
import { useRoute, useRouter } from 'vue-router';
|
||||||
import { useQuasar } from 'quasar';
|
import { useQuasar } from 'quasar';
|
||||||
import { BannerCookies } from '@src/components/BannerCookies';
|
import { BannerCookies } from '@/components/BannerCookies';
|
||||||
import { useI18n } from 'vue-i18n';
|
import { useI18n } from 'vue-i18n';
|
||||||
import { useGlobalStore } from '@store/globalStore';
|
import { useGlobalStore } from '@store/globalStore';
|
||||||
import { useUserStore } from '@store/UserStore';
|
import { useUserStore } from '@store/UserStore';
|
||||||
import { MyHeader } from '@src/components/MyHeader';
|
import { MyHeader } from '@/components/MyHeader';
|
||||||
import { MyFooter } from '@src/components/MyFooter';
|
import { MyFooter } from '@/components/MyFooter';
|
||||||
import { CCheckUpdatesPWA } from '@src/components/CCheckUpdatesPWA';
|
import { CCheckUpdatesPWA } from '@/components/CCheckUpdatesPWA';
|
||||||
import { CFirstPageApp } from '@src/components/CFirstPageApp';
|
import { CFirstPageApp } from '@/components/CFirstPageApp';
|
||||||
import { computed, onMounted, ref, watch } from 'vue';
|
import { computed, onMounted, ref, watch } from 'vue';
|
||||||
import { CProvaPao } from '@src/components/CProvaPao';
|
import { CProvaPao } from '@/components/CProvaPao';
|
||||||
import { tools } from '@tools';
|
import { tools } from '@tools';
|
||||||
import { toolsext } from '@store/Modules/toolsext';
|
import { toolsext } from '@store/Modules/toolsext';
|
||||||
|
|
||||||
|
|||||||
@@ -1,15 +1,15 @@
|
|||||||
// import something here
|
// import something here
|
||||||
|
|
||||||
// import { isEqual } from 'lodash'
|
// import { isEqual } from 'lodash'
|
||||||
// import { ProgressBar } from '@src/store/Modules/Interface'
|
// import { ProgressBar } from '@/store/Modules/Interface'
|
||||||
// import { UserStore } from "@store"
|
// import { UserStore } from "@store"
|
||||||
|
|
||||||
// @ts-ignore
|
// @ts-ignore
|
||||||
import { boot } from 'quasar/wrappers'
|
import { boot } from 'quasar/wrappers'
|
||||||
|
|
||||||
import { useGlobalStore } from '@src/store/globalStore';
|
import { useGlobalStore } from '@/store/globalStore';
|
||||||
import { useUserStore } from '@src/store/UserStore';
|
import { useUserStore } from '@/store/UserStore';
|
||||||
import { tools } from '@src/store/Modules/tools';
|
import { tools } from '@/store/Modules/tools';
|
||||||
|
|
||||||
export default boot(({ app, router }) => {
|
export default boot(({ app, router }) => {
|
||||||
// ******************************************
|
// ******************************************
|
||||||
|
|||||||
@@ -5,7 +5,7 @@ import axios, {
|
|||||||
} from 'axios'
|
} from 'axios'
|
||||||
|
|
||||||
// import { default as VueRouter } from 'vue-router'
|
// import { default as VueRouter } from 'vue-router'
|
||||||
import { serv_constants } from '@src/store/Modules/serv_constants'
|
import { serv_constants } from '@/store/Modules/serv_constants'
|
||||||
// import { TokenHelper } from "./token-helper";
|
// import { TokenHelper } from "./token-helper";
|
||||||
|
|
||||||
let initialized = false
|
let initialized = false
|
||||||
|
|||||||
@@ -5,7 +5,7 @@ import axios, {
|
|||||||
} from 'axios'
|
} from 'axios'
|
||||||
|
|
||||||
// import { default as VueRouter } from 'vue-router'
|
// import { default as VueRouter } from 'vue-router'
|
||||||
import { serv_constants } from '@src/store/Modules/serv_constants'
|
import { serv_constants } from '@/store/Modules/serv_constants'
|
||||||
// import { TokenHelper } from "./token-helper";
|
// import { TokenHelper } from "./token-helper";
|
||||||
|
|
||||||
let initialized = false
|
let initialized = false
|
||||||
|
|||||||
@@ -190,6 +190,9 @@ export const shared_consts = {
|
|||||||
PAGE_SECTION: 1500,
|
PAGE_SECTION: 1500,
|
||||||
PROFILE_COMPLETITION: 1510,
|
PROFILE_COMPLETITION: 1510,
|
||||||
RISOHOME: 1600,
|
RISOHOME: 1600,
|
||||||
|
RISOHOME_MODERN: 1610,
|
||||||
|
PAGERIS: 1620,
|
||||||
|
CMYCIRCUITS: 1630,
|
||||||
},
|
},
|
||||||
|
|
||||||
QUERYTYPE_MYGROUP: 1,
|
QUERYTYPE_MYGROUP: 1,
|
||||||
@@ -321,6 +324,8 @@ export const shared_consts = {
|
|||||||
'sectors',
|
'sectors',
|
||||||
'goods',
|
'goods',
|
||||||
'sectorgoods',
|
'sectorgoods',
|
||||||
|
'bachecas',
|
||||||
|
'sectorbachecas',
|
||||||
'catgrps',
|
'catgrps',
|
||||||
'skills',
|
'skills',
|
||||||
'subskills',
|
'subskills',
|
||||||
@@ -440,6 +445,7 @@ export const shared_consts = {
|
|||||||
TABLES_REC_ID: [
|
TABLES_REC_ID: [
|
||||||
'skills',
|
'skills',
|
||||||
'goods',
|
'goods',
|
||||||
|
'bachecas',
|
||||||
'subskills',
|
'subskills',
|
||||||
'myskills',
|
'myskills',
|
||||||
'mybachecas',
|
'mybachecas',
|
||||||
@@ -788,98 +794,266 @@ export const shared_consts = {
|
|||||||
{
|
{
|
||||||
value: 2,
|
value: 2,
|
||||||
label: 'Si accettano cani',
|
label: 'Si accettano cani',
|
||||||
|
icon: 'pets',
|
||||||
|
color: '#795548', // brown
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
value: 3,
|
value: 3,
|
||||||
label: 'Si accettano gatti',
|
label: 'Si accettano gatti',
|
||||||
|
icon: 'pets',
|
||||||
|
color: '#FF9800', // orange
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
value: 4,
|
value: 4,
|
||||||
label: "E' consentito fumare in casa",
|
label: "E' consentito fumare in casa",
|
||||||
|
icon: 'smoking_rooms',
|
||||||
|
color: '#9E9E9E', // grey
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
value: 5,
|
value: 5,
|
||||||
label: 'Accessibile con sedia a rotelle',
|
label: 'Accessibile con sedia a rotelle',
|
||||||
|
icon: 'accessible',
|
||||||
|
color: '#2196F3', // blue
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
value: 6,
|
value: 6,
|
||||||
label: 'Parcheggio gratuito nella proprietà',
|
label: 'Parcheggio gratuito nella proprietà',
|
||||||
|
icon: 'local_parking',
|
||||||
|
color: '#3F51B5', // indigo
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
value: 7,
|
value: 7,
|
||||||
label: 'Wi-fi disponibile',
|
label: 'Wi-fi disponibile',
|
||||||
|
icon: 'wifi',
|
||||||
|
color: '#00BCD4', // cyan
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
value: 8,
|
value: 8,
|
||||||
label: 'Sono permessi soggiorni a lungo termine',
|
label: 'Sono permessi soggiorni a lungo termine',
|
||||||
|
icon: 'calendar_month',
|
||||||
|
color: '#009688', // teal
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
value: 9,
|
value: 9,
|
||||||
label: 'Cucina Vegetariana',
|
label: 'Cucina Vegetariana',
|
||||||
|
icon: 'restaurant',
|
||||||
|
color: '#4CAF50', // green
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
value: 10,
|
value: 10,
|
||||||
label: 'Cucina Vegana',
|
label: 'Cucina Vegana',
|
||||||
|
icon: 'spa',
|
||||||
|
color: '#8BC34A', // light-green
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
value: 11,
|
value: 11,
|
||||||
label: 'Uso della Cucina',
|
label: 'Uso della Cucina',
|
||||||
|
icon: 'kitchen',
|
||||||
|
color: '#FFC107', // amber
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
value: 12,
|
value: 12,
|
||||||
label: 'Uso della Lavatrice',
|
label: 'Uso della Lavatrice',
|
||||||
|
icon: 'local_laundry_service',
|
||||||
|
color: '#607D8B', // blue-grey
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
value: 13,
|
value: 13,
|
||||||
label: 'Aria condizionata',
|
label: 'Aria condizionata',
|
||||||
|
icon: 'ac_unit',
|
||||||
|
color: '#03A9F4', // light-blue
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
value: 14,
|
value: 14,
|
||||||
label: 'Ventilatore',
|
label: 'Ventilatore',
|
||||||
|
icon: 'air',
|
||||||
|
color: '#00BCD4', // cyan
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
value: 15,
|
value: 15,
|
||||||
label: "Doccia all'aperto",
|
label: "Doccia all'aperto",
|
||||||
|
icon: 'shower',
|
||||||
|
color: '#2196F3', // blue
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
value: 16,
|
value: 16,
|
||||||
label: 'TV',
|
label: 'TV',
|
||||||
|
icon: 'tv',
|
||||||
|
color: '#673AB7', // deep-purple
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
value: 17,
|
value: 17,
|
||||||
label: 'Eventi consentiti',
|
label: 'Eventi consentiti',
|
||||||
|
icon: 'celebration',
|
||||||
|
color: '#E91E63', // pink
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
value: 18,
|
value: 18,
|
||||||
label: 'Adatto a bambini da 2 a 12 anni',
|
label: 'Adatto a bambini da 2 a 12 anni',
|
||||||
|
icon: 'child_care',
|
||||||
|
color: '#F9A825'
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
value: 19,
|
value: 19,
|
||||||
label: 'Adatto ai neonati (fino ai 2 anni)',
|
label: 'Adatto ai neonati (fino ai 2 anni)',
|
||||||
|
icon: 'baby_changing_station',
|
||||||
|
color: '#F8BBD0', // pink-light
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
value: 20,
|
value: 20,
|
||||||
label: 'Biancheria inclusa',
|
label: 'Biancheria inclusa',
|
||||||
|
icon: 'bed',
|
||||||
|
color: '#9C27B0', // purple
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
value: 21,
|
value: 21,
|
||||||
label: 'Biancheria su richiesta (a parte)',
|
label: 'Biancheria su richiesta (a parte)',
|
||||||
|
icon: 'bedroom_parent',
|
||||||
|
color: '#673AB7', // deep-purple
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
value: 22,
|
value: 22,
|
||||||
label: 'Asciugamani',
|
label: 'Asciugamani',
|
||||||
|
icon: 'dry_cleaning',
|
||||||
|
color: '#009688', // teal
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
value: 23,
|
value: 23,
|
||||||
label: 'Asciugacapelli',
|
label: 'Asciugacapelli',
|
||||||
|
icon: 'iron',
|
||||||
|
color: '#F44336', // red
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
value: 24,
|
value: 24,
|
||||||
label: 'Riscaldamento a legna',
|
label: 'Riscaldamento a legna',
|
||||||
|
icon: 'fireplace',
|
||||||
|
color: '#FF5722', // deep-orange
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
value: 25,
|
value: 25,
|
||||||
label: 'Riscaldamento a gas',
|
label: 'Riscaldamento a gas',
|
||||||
|
icon: 'heat_pump',
|
||||||
|
color: '#FF9800', // orange
|
||||||
|
},
|
||||||
|
{
|
||||||
|
value: 26,
|
||||||
|
label: 'Colazione inclusa',
|
||||||
|
icon: 'free_breakfast',
|
||||||
|
color: '#FFC107', // amber
|
||||||
|
},
|
||||||
|
{
|
||||||
|
value: 27,
|
||||||
|
label: 'Giardino/Spazio esterno',
|
||||||
|
icon: 'yard',
|
||||||
|
color: '#4CAF50', // green
|
||||||
|
},
|
||||||
|
{
|
||||||
|
value: 28,
|
||||||
|
label: 'Terrazzo/Balcone',
|
||||||
|
icon: 'balcony',
|
||||||
|
color: '#CDDC39', // lime
|
||||||
|
},
|
||||||
|
{
|
||||||
|
value: 29,
|
||||||
|
label: 'Silenzioso/Zona tranquilla',
|
||||||
|
icon: 'volume_off',
|
||||||
|
color: '#607D8B', // blue-grey
|
||||||
|
},
|
||||||
|
{
|
||||||
|
value: 30,
|
||||||
|
label: 'Vicino a mezzi pubblici',
|
||||||
|
icon: 'directions_bus',
|
||||||
|
color: '#3F51B5', // indigo
|
||||||
|
},
|
||||||
|
{
|
||||||
|
value: 31,
|
||||||
|
label: 'Biciclette disponibili',
|
||||||
|
icon: 'directions_bike',
|
||||||
|
color: '#009688', // teal
|
||||||
|
},
|
||||||
|
{
|
||||||
|
value: 32,
|
||||||
|
label: 'Camino',
|
||||||
|
icon: 'fireplace',
|
||||||
|
color: '#795548', // brown
|
||||||
|
},
|
||||||
|
{
|
||||||
|
value: 33,
|
||||||
|
label: 'Barbecue',
|
||||||
|
icon: 'outdoor_grill',
|
||||||
|
color: '#F44336', // red
|
||||||
|
},
|
||||||
|
{
|
||||||
|
value: 34,
|
||||||
|
label: 'Piscina',
|
||||||
|
icon: 'pool',
|
||||||
|
color: '#03A9F4', // light-blue
|
||||||
|
},
|
||||||
|
{
|
||||||
|
value: 35,
|
||||||
|
label: 'Sauna',
|
||||||
|
icon: 'hot_tub',
|
||||||
|
color: '#FF5722', // deep-orange
|
||||||
|
},
|
||||||
|
{
|
||||||
|
value: 36,
|
||||||
|
label: 'Vista panoramica',
|
||||||
|
icon: 'landscape',
|
||||||
|
color: '#9C27B0', // purple
|
||||||
|
},
|
||||||
|
{
|
||||||
|
value: 37,
|
||||||
|
label: 'In campagna',
|
||||||
|
icon: 'nature',
|
||||||
|
color: '#4CAF50', // green
|
||||||
|
},
|
||||||
|
{
|
||||||
|
value: 38,
|
||||||
|
label: 'In montagna',
|
||||||
|
icon: 'terrain',
|
||||||
|
color: '#795548', // brown
|
||||||
|
},
|
||||||
|
{
|
||||||
|
value: 39,
|
||||||
|
label: 'Vicino al mare',
|
||||||
|
icon: 'beach_access',
|
||||||
|
color: '#2196F3', // blue
|
||||||
|
},
|
||||||
|
{
|
||||||
|
value: 40,
|
||||||
|
label: 'Animali da fattoria',
|
||||||
|
icon: 'agriculture',
|
||||||
|
color: '#795548', // brown
|
||||||
|
},
|
||||||
|
{
|
||||||
|
value: 41,
|
||||||
|
label: 'Orto/Permacultura',
|
||||||
|
icon: 'eco',
|
||||||
|
color: '#4CAF50', // green
|
||||||
|
},
|
||||||
|
{
|
||||||
|
value: 42,
|
||||||
|
label: 'Prodotti biologici/km zero',
|
||||||
|
icon: 'local_florist',
|
||||||
|
color: '#8BC34A', // light-green
|
||||||
|
},
|
||||||
|
{
|
||||||
|
value: 43,
|
||||||
|
label: 'Scambio lavoro/volontariato',
|
||||||
|
icon: 'handshake',
|
||||||
|
color: '#FF9800', // orange
|
||||||
|
},
|
||||||
|
{
|
||||||
|
value: 44,
|
||||||
|
label: 'Comunità/Ecovillaggio',
|
||||||
|
icon: 'groups',
|
||||||
|
color: '#9C27B0', // purple
|
||||||
|
},
|
||||||
|
{
|
||||||
|
value: 45,
|
||||||
|
label: 'Energie rinnovabili',
|
||||||
|
icon: 'solar_power',
|
||||||
|
color: '#FFEB3B', // yellow
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
|
|
||||||
@@ -1836,8 +2010,8 @@ export const shared_consts = {
|
|||||||
icon: 'fas fa-list',
|
icon: 'fas fa-list',
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
value: 150,
|
value: 150, // CSENDRISTO
|
||||||
label: 'SendCoinTo',
|
label: 'Bott (Invia/Ricevi RIS)',
|
||||||
icon: 'fas fa-wallet',
|
icon: 'fas fa-wallet',
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@@ -1943,6 +2117,21 @@ export const shared_consts = {
|
|||||||
label: 'HomePage RISO',
|
label: 'HomePage RISO',
|
||||||
icon: 'fas fa-home',
|
icon: 'fas fa-home',
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
value: 1610, // RISOHOME_MODERN
|
||||||
|
label: 'RISO Home Modern',
|
||||||
|
icon: 'fas fa-home',
|
||||||
|
},
|
||||||
|
{
|
||||||
|
value: 1620, // PAGERIS
|
||||||
|
label: 'Pagina RIS',
|
||||||
|
icon: 'fas fa-home',
|
||||||
|
},
|
||||||
|
{
|
||||||
|
value: 1630, // CMYCIRCUITS
|
||||||
|
label: 'CMyCircuits (Old Page)',
|
||||||
|
icon: 'fas fa-home',
|
||||||
|
},
|
||||||
{
|
{
|
||||||
value: 258,
|
value: 258,
|
||||||
label: 'Registration',
|
label: 'Registration',
|
||||||
@@ -2388,9 +2577,9 @@ export const shared_consts = {
|
|||||||
} else if (table === this.TABLES_MYBACHECAS) {
|
} else if (table === this.TABLES_MYBACHECAS) {
|
||||||
proj = {
|
proj = {
|
||||||
recSkill: 1,
|
recSkill: 1,
|
||||||
sector: 1,
|
sectorBacheca: 1,
|
||||||
idSector: 1,
|
idSectorBacheca: 1,
|
||||||
idSkill: 1,
|
idBacheca: 1,
|
||||||
// 'idSubSkill': 1,
|
// 'idSubSkill': 1,
|
||||||
idStatusSkill: 1,
|
idStatusSkill: 1,
|
||||||
idContribType: 1,
|
idContribType: 1,
|
||||||
@@ -2672,5 +2861,5 @@ export const shared_consts = {
|
|||||||
FILETYPE: {
|
FILETYPE: {
|
||||||
IMG: 1,
|
IMG: 1,
|
||||||
PDF: 2,
|
PDF: 2,
|
||||||
}
|
},
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -3,7 +3,7 @@ import { useI18n } from 'vue-i18n'
|
|||||||
|
|
||||||
import { tools } from '../../store/Modules/tools'
|
import { tools } from '../../store/Modules/tools'
|
||||||
|
|
||||||
import { shared_consts } from '@src/common/shared_vuejs'
|
import { shared_consts } from '@/common/shared_vuejs'
|
||||||
|
|
||||||
import { useUserStore } from '@store/UserStore'
|
import { useUserStore } from '@store/UserStore'
|
||||||
import { useGlobalStore } from '@store/globalStore'
|
import { useGlobalStore } from '@store/globalStore'
|
||||||
|
|||||||
@@ -5,9 +5,9 @@ import { useUserStore } from '@store/UserStore'
|
|||||||
import { useQuasar } from 'quasar'
|
import { useQuasar } from 'quasar'
|
||||||
import type { IAccomodation} from 'model';
|
import type { IAccomodation} from 'model';
|
||||||
import { IGallery, IImgGallery } from 'model'
|
import { IGallery, IImgGallery } from 'model'
|
||||||
import { CMyPage } from '@src/components/CMyPage'
|
import { CMyPage } from '@/components/CMyPage'
|
||||||
import { tools } from '@tools'
|
import { tools } from '@tools'
|
||||||
import { shared_consts } from '@src/common/shared_vuejs'
|
import { shared_consts } from '@/common/shared_vuejs'
|
||||||
import { useGlobalStore } from '@store/globalStore'
|
import { useGlobalStore } from '@store/globalStore'
|
||||||
import { costanti } from '@costanti'
|
import { costanti } from '@costanti'
|
||||||
import { CMySelect } from '../CMySelect'
|
import { CMySelect } from '../CMySelect'
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
import { defineComponent, onMounted, ref, toRef, watch, toRefs } from 'vue'
|
import { defineComponent, onMounted, ref, toRef, watch, toRefs } from 'vue'
|
||||||
import { tools } from '@src/store/Modules/tools'
|
import { tools } from '@/store/Modules/tools'
|
||||||
|
|
||||||
import { useQuasar } from 'quasar'
|
import { useQuasar } from 'quasar'
|
||||||
import { useI18n } from 'vue-i18n'
|
import { useI18n } from 'vue-i18n'
|
||||||
|
|||||||
@@ -5,7 +5,7 @@ import { tools } from '../../store/Modules/tools'
|
|||||||
|
|
||||||
import { fieldsTable } from '@store/Modules/fieldsTable'
|
import { fieldsTable } from '@store/Modules/fieldsTable'
|
||||||
|
|
||||||
import { shared_consts } from '@src/common/shared_vuejs'
|
import { shared_consts } from '@/common/shared_vuejs'
|
||||||
|
|
||||||
import type {
|
import type {
|
||||||
ISearchList
|
ISearchList
|
||||||
@@ -35,11 +35,11 @@ import { useUserStore } from '@store/UserStore'
|
|||||||
import { useGlobalStore } from '@store/globalStore'
|
import { useGlobalStore } from '@store/globalStore'
|
||||||
import { useQuasar, exportFile } from 'quasar'
|
import { useQuasar, exportFile } from 'quasar'
|
||||||
import { costanti } from '@costanti'
|
import { costanti } from '@costanti'
|
||||||
import translate from '@src/globalroutines/util'
|
import translate from '@/globalroutines/util'
|
||||||
import { toolsext } from '@store/Modules/toolsext'
|
import { toolsext } from '@store/Modules/toolsext'
|
||||||
import { CMyCardPopup } from '@src/components/CMyCardPopup'
|
import { CMyCardPopup } from '@/components/CMyCardPopup'
|
||||||
import { CMyCardGrpPopup } from '@src/components/CMyCardGrpPopup'
|
import { CMyCardGrpPopup } from '@/components/CMyCardGrpPopup'
|
||||||
import { CMyCardCircuitPopup } from '@src/components/CMyCardCircuitPopup'
|
import { CMyCardCircuitPopup } from '@/components/CMyCardCircuitPopup'
|
||||||
import { useRouter } from 'vue-router'
|
import { useRouter } from 'vue-router'
|
||||||
import { table } from 'console'
|
import { table } from 'console'
|
||||||
import { globals } from 'jest.config'
|
import { globals } from 'jest.config'
|
||||||
@@ -256,7 +256,11 @@ export default defineComponent({
|
|||||||
if (recSector) {
|
if (recSector) {
|
||||||
tools.setCookie(tools.COOK_SEARCH + costanti.FILTER_SEP + props.table + costanti.FILTER_SEP + recSector.value, newval)
|
tools.setCookie(tools.COOK_SEARCH + costanti.FILTER_SEP + props.table + costanti.FILTER_SEP + recSector.value, newval)
|
||||||
}
|
}
|
||||||
// setCategBySector('sectorgoods', table, newval)
|
} else if (table === toolsext.TABMYBACHECAS) {
|
||||||
|
const recSector = searchList.value.find((rec) => rec.table === toolsext.TABSECTORBACHECAS)
|
||||||
|
if (recSector) {
|
||||||
|
tools.setCookie(tools.COOK_SEARCH + costanti.FILTER_SEP + props.table + costanti.FILTER_SEP + recSector.value, newval)
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -1,42 +1,188 @@
|
|||||||
.text-cls{
|
// Spacing ridotto
|
||||||
font-weight: bold;
|
$s-xs: 4px;
|
||||||
|
$s-sm: 6px;
|
||||||
|
$s-md: 8px;
|
||||||
|
|
||||||
|
// Wrapper moderno
|
||||||
|
.modern-btn-wrapper {
|
||||||
|
padding: $s-xs;
|
||||||
|
|
||||||
|
&.modern-btn-col-3 {
|
||||||
|
flex: 0 0 33.333%;
|
||||||
|
max-width: 33.333%;
|
||||||
|
|
||||||
|
@media (max-width: 599px) {
|
||||||
|
flex: 0 0 33.333%;
|
||||||
|
max-width: 33.333%;
|
||||||
}
|
}
|
||||||
|
|
||||||
.my-text {
|
@media (min-width: 600px) and (max-width: 1023px) {
|
||||||
font-size: 1rem;
|
flex: 0 0 33.333%;
|
||||||
font-weight: bold;
|
max-width: 33.333%;
|
||||||
line-height: 1.5rem;
|
|
||||||
letter-spacing: 0.0125em;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
.my-text_3 {
|
@media (min-width: 1024px) and (max-width: 1439px) {
|
||||||
font-size: 1rem;
|
flex: 0 0 25%;
|
||||||
font-weight: bold;
|
max-width: 25%;
|
||||||
line-height: 1.5rem;
|
|
||||||
letter-spacing: 0.0125em;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
.my-text-small {
|
@media (min-width: 1440px) {
|
||||||
font-size: 1rem;
|
flex: 0 0 16.666%;
|
||||||
line-height: 1rem;
|
max-width: 16.666%;
|
||||||
letter-spacing: 0.0125em;
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
.mybox_3 {
|
&.modern-btn-col-2 {
|
||||||
min-width: 100px;
|
flex: 0 0 50%;
|
||||||
min-height: 100px;
|
max-width: 50%;
|
||||||
|
|
||||||
|
@media (min-width: 600px) and (max-width: 1023px) {
|
||||||
|
flex: 0 0 50%;
|
||||||
|
max-width: 50%;
|
||||||
|
}
|
||||||
|
|
||||||
|
@media (min-width: 1024px) and (max-width: 1439px) {
|
||||||
|
flex: 0 0 33.333%;
|
||||||
|
max-width: 33.333%;
|
||||||
|
}
|
||||||
|
|
||||||
|
@media (min-width: 1440px) {
|
||||||
|
flex: 0 0 25%;
|
||||||
|
max-width: 25%;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// Bottoni moderni
|
||||||
|
.modern-bigbtn {
|
||||||
width: 100%;
|
width: 100%;
|
||||||
}
|
min-height: 90px;
|
||||||
|
min-width: 90px;
|
||||||
.mybox {
|
padding: $s-sm;
|
||||||
min-width: 112px;
|
flex-direction: column;
|
||||||
min-height: 112px;
|
gap: $s-xs;
|
||||||
|
transition: all 0.3s ease;
|
||||||
|
position: relative;
|
||||||
|
overflow: hidden;
|
||||||
|
|
||||||
|
&::before {
|
||||||
|
content: '';
|
||||||
|
position: absolute;
|
||||||
|
top: 0;
|
||||||
|
left: -100%;
|
||||||
width: 100%;
|
width: 100%;
|
||||||
|
height: 100%;
|
||||||
|
background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.3), transparent);
|
||||||
|
transition: left 0.5s ease;
|
||||||
}
|
}
|
||||||
|
|
||||||
.mybox_small {
|
&:hover::before {
|
||||||
min-width: 110px;
|
left: 100%;
|
||||||
width: 100%;
|
}
|
||||||
|
|
||||||
|
&:hover {
|
||||||
|
transform: translateY(-2px);
|
||||||
|
box-shadow: 0 6px 20px rgba(0, 0, 0, 0.2);
|
||||||
|
}
|
||||||
|
|
||||||
|
.btn-icon {
|
||||||
|
margin: $s-xs;
|
||||||
|
font-size: 2rem;
|
||||||
|
}
|
||||||
|
|
||||||
|
.btn-icon-large {
|
||||||
|
margin: $s-xs;
|
||||||
|
}
|
||||||
|
|
||||||
|
.btn-label,
|
||||||
|
.btn-label-large {
|
||||||
|
margin: $s-xs;
|
||||||
|
font-size: 0.95rem;
|
||||||
|
font-weight: 700;
|
||||||
|
line-height: 1.3;
|
||||||
|
letter-spacing: 0.01em;
|
||||||
|
text-align: center;
|
||||||
|
white-space: normal;
|
||||||
|
word-break: break-word;
|
||||||
|
}
|
||||||
|
|
||||||
|
.btn-label-large {
|
||||||
|
font-size: 1.1rem;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.modern-smallbtn {
|
||||||
|
width: 100%;
|
||||||
|
min-height: 70px;
|
||||||
|
min-width: 80px;
|
||||||
|
padding: $s-sm;
|
||||||
|
flex-direction: column;
|
||||||
|
gap: $s-xs;
|
||||||
|
transition: all 0.3s ease;
|
||||||
|
position: relative;
|
||||||
|
overflow: hidden;
|
||||||
|
|
||||||
|
&::before {
|
||||||
|
content: '';
|
||||||
|
position: absolute;
|
||||||
|
top: 0;
|
||||||
|
left: -100%;
|
||||||
|
width: 100%;
|
||||||
|
height: 100%;
|
||||||
|
background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.3), transparent);
|
||||||
|
transition: left 0.5s ease;
|
||||||
|
}
|
||||||
|
|
||||||
|
&:hover::before {
|
||||||
|
left: 100%;
|
||||||
|
}
|
||||||
|
|
||||||
|
&:hover {
|
||||||
|
transform: translateY(-2px);
|
||||||
|
box-shadow: 0 4px 16px rgba(0, 0, 0, 0.2);
|
||||||
|
}
|
||||||
|
|
||||||
|
.btn-icon-small {
|
||||||
|
margin: $s-xs;
|
||||||
|
}
|
||||||
|
|
||||||
|
.btn-label-small {
|
||||||
|
margin: $s-xs;
|
||||||
|
font-size: 0.85rem;
|
||||||
|
font-weight: 600;
|
||||||
|
line-height: 1.2;
|
||||||
|
letter-spacing: 0.01em;
|
||||||
|
text-align: center;
|
||||||
|
white-space: normal;
|
||||||
|
word-break: break-word;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// Responsive adjustments
|
||||||
|
@media (max-width: 599px) {
|
||||||
|
.modern-bigbtn {
|
||||||
|
min-height: 85px;
|
||||||
|
min-width: 85px;
|
||||||
|
|
||||||
|
.btn-icon {
|
||||||
|
font-size: 1.8rem;
|
||||||
|
}
|
||||||
|
|
||||||
|
.btn-label {
|
||||||
|
font-size: 0.85rem;
|
||||||
|
}
|
||||||
|
|
||||||
|
.btn-label-large {
|
||||||
|
font-size: 1rem;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.modern-smallbtn {
|
||||||
|
min-height: 65px;
|
||||||
|
min-width: 70px;
|
||||||
|
|
||||||
|
.btn-label-small {
|
||||||
|
font-size: 0.75rem;
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
@@ -1,28 +1,64 @@
|
|||||||
<template>
|
<template>
|
||||||
<div v-if="numcol === 3" class="col-xs-4 col-sm-4 col-md-3 col-lg-2">
|
<div v-if="numcol === 3" class="modern-btn-wrapper modern-btn-col-3">
|
||||||
<div class="q-ma-sm">
|
<q-btn
|
||||||
<q-btn v-if="!small" :flat="flat" class="mybox_3" :color="color" rounded push :to="tools.updateLink(to)" v-bind="$attrs" :style="tools.getbackgroundGradient(color, 180)">
|
v-if="!small"
|
||||||
<q-icon class="q-ma-sm" :name="icon"/>
|
:flat="flat"
|
||||||
<div class="q-ma-sm my-text_3 text-cls no-wrap"><span v-html="label"></span></div>
|
class="modern-bigbtn"
|
||||||
|
:color="color"
|
||||||
|
rounded
|
||||||
|
push
|
||||||
|
:to="tools.updateLink(to)"
|
||||||
|
v-bind="$attrs"
|
||||||
|
:style="tools.getbackgroundGradient(color, 180)"
|
||||||
|
>
|
||||||
|
<q-icon class="btn-icon" :name="icon"/>
|
||||||
|
<div class="btn-label"><span v-html="label"></span></div>
|
||||||
</q-btn>
|
</q-btn>
|
||||||
<q-btn v-if="small" :flat="flat" class="mybox_small" :color="color" rounded push :to="tools.updateLink(to)" v-bind="$attrs" :style="tools.getbackgroundGradient(color, 180)">
|
<q-btn
|
||||||
<q-icon class="q-ma-sm" :name="icon" size="sm"/>
|
v-if="small"
|
||||||
<div class="q-ma-xs my-text-small text-cls no-wrap"><span v-html="label"></span></div>
|
:flat="flat"
|
||||||
|
class="modern-smallbtn"
|
||||||
|
:color="color"
|
||||||
|
rounded
|
||||||
|
push
|
||||||
|
:to="tools.updateLink(to)"
|
||||||
|
v-bind="$attrs"
|
||||||
|
:style="tools.getbackgroundGradient(color, 180)"
|
||||||
|
>
|
||||||
|
<q-icon class="btn-icon-small" :name="icon" size="sm"/>
|
||||||
|
<div class="btn-label-small"><span v-html="label"></span></div>
|
||||||
</q-btn>
|
</q-btn>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
<div v-else class="modern-btn-wrapper modern-btn-col-2">
|
||||||
<div v-else class="col-xs-6 col-sm-6 col-md-4 col-lg-3">
|
<q-btn
|
||||||
<div class="q-ma-sm">
|
v-if="!small"
|
||||||
<q-btn v-if="!small" :flat="flat" class="mybox" :color="color" rounded push :to="tools.updateLink(to)" v-bind="$attrs" :style="tools.getbackgroundGradient(color, 0)">
|
:flat="flat"
|
||||||
<q-icon class="q-ma-sm" size="3rem" :name="icon"/>
|
class="modern-bigbtn"
|
||||||
<div class="q-ma-sm text-h5-diff text-cls no-wrap"><span v-html="label"></span></div>
|
:color="color"
|
||||||
|
rounded
|
||||||
|
push
|
||||||
|
:to="tools.updateLink(to)"
|
||||||
|
v-bind="$attrs"
|
||||||
|
:style="tools.getbackgroundGradient(color, 0)"
|
||||||
|
>
|
||||||
|
<q-icon class="btn-icon-large" size="3rem" :name="icon"/>
|
||||||
|
<div class="btn-label-large"><span v-html="label"></span></div>
|
||||||
</q-btn>
|
</q-btn>
|
||||||
<q-btn v-if="small" :flat="flat" class="mybox_small" :color="color" rounded push :to="tools.updateLink(to)" v-bind="$attrs" :style="tools.getbackgroundGradient(color, 0)">
|
<q-btn
|
||||||
<q-icon class="q-ma-sm" :name="icon" size="sm"/>
|
v-if="small"
|
||||||
<div class="q-ma-xs my-text-small text-cls no-wrap"><span v-html="label"></span></div>
|
:flat="flat"
|
||||||
|
class="modern-smallbtn"
|
||||||
|
:color="color"
|
||||||
|
rounded
|
||||||
|
push
|
||||||
|
:to="tools.updateLink(to)"
|
||||||
|
v-bind="$attrs"
|
||||||
|
:style="tools.getbackgroundGradient(color, 0)"
|
||||||
|
>
|
||||||
|
<q-icon class="btn-icon-small" :name="icon" size="sm"/>
|
||||||
|
<div class="btn-label-small"><span v-html="label"></span></div>
|
||||||
</q-btn>
|
</q-btn>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script lang="ts" src="./CBigBtn.ts">
|
<script lang="ts" src="./CBigBtn.ts">
|
||||||
|
|||||||
@@ -6,9 +6,9 @@ import { IOperators, ISize } from 'model'
|
|||||||
import { useI18n } from 'vue-i18n'
|
import { useI18n } from 'vue-i18n'
|
||||||
import { useQuasar } from 'quasar'
|
import { useQuasar } from 'quasar'
|
||||||
|
|
||||||
import { CMySlider } from '@src/components/CMySlider'
|
import { CMySlider } from '@/components/CMySlider'
|
||||||
|
|
||||||
import { shared_consts } from '@src/common/shared_vuejs'
|
import { shared_consts } from '@/common/shared_vuejs'
|
||||||
|
|
||||||
export default defineComponent({
|
export default defineComponent({
|
||||||
name: 'CBorders',
|
name: 'CBorders',
|
||||||
|
|||||||
@@ -2,9 +2,9 @@ import { ref, computed, defineComponent, onMounted } from 'vue';
|
|||||||
import { useQuasar } from 'quasar';
|
import { useQuasar } from 'quasar';
|
||||||
|
|
||||||
import { tools } from '@tools';
|
import { tools } from '@tools';
|
||||||
import { IMyCard, IMyPage, IOperators } from '@src/model';
|
import { IMyCard, IMyPage, IOperators } from '@/model';
|
||||||
|
|
||||||
import objectId from '@src/js/objectId';
|
import objectId from '@/js/objectId';
|
||||||
|
|
||||||
export default defineComponent({
|
export default defineComponent({
|
||||||
name: 'ElementComponent',
|
name: 'ElementComponent',
|
||||||
|
|||||||
@@ -6,7 +6,7 @@ import type { IDiscipline, IEvents } from 'model'
|
|||||||
|
|
||||||
import { useCalendarStore } from '@store/CalendarStore'
|
import { useCalendarStore } from '@store/CalendarStore'
|
||||||
|
|
||||||
import { CMyTeacher } from '@src/components/CMyTeacher'
|
import { CMyTeacher } from '@/components/CMyTeacher'
|
||||||
|
|
||||||
// @ts-ignore
|
// @ts-ignore
|
||||||
import MixinOperator from '../../mixins/mixin-operator'
|
import MixinOperator from '../../mixins/mixin-operator'
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
import { CCard } from '@src/components/CCard'
|
import { CCard } from '@/components/CCard'
|
||||||
import MixinOperator from '../../mixins/mixin-operator'
|
import MixinOperator from '../../mixins/mixin-operator'
|
||||||
import { defineComponent, ref } from 'vue'
|
import { defineComponent, ref } from 'vue'
|
||||||
|
|
||||||
|
|||||||
@@ -8,14 +8,14 @@ import { useI18n } from 'vue-i18n';
|
|||||||
import { toolsext } from '@store/Modules/toolsext';
|
import { toolsext } from '@store/Modules/toolsext';
|
||||||
import { useQuasar } from 'quasar';
|
import { useQuasar } from 'quasar';
|
||||||
import { costanti } from '@costanti';
|
import { costanti } from '@costanti';
|
||||||
import type { ICart, IOrder, IOrderCart, IProduct } from '@src/model/Products';
|
import type { ICart, IOrder, IOrderCart, IProduct } from '@/model/Products';
|
||||||
import { IShareWithUs } from '@src/model/Products';
|
import { IShareWithUs } from '@/model/Products';
|
||||||
|
|
||||||
import { shared_consts } from '@src/common/shared_vuejs';
|
import { shared_consts } from '@/common/shared_vuejs';
|
||||||
|
|
||||||
import { CSingleCart } from '../CSingleCart';
|
import { CSingleCart } from '../CSingleCart';
|
||||||
import { CTitleBanner } from '@src/components/CTitleBanner';
|
import { CTitleBanner } from '@/components/CTitleBanner';
|
||||||
import { CSelectUserActive } from '@src/components/CSelectUserActive';
|
import { CSelectUserActive } from '@/components/CSelectUserActive';
|
||||||
|
|
||||||
export default defineComponent({
|
export default defineComponent({
|
||||||
name: 'CCart',
|
name: 'CCart',
|
||||||
|
|||||||
@@ -12,13 +12,13 @@ import {
|
|||||||
} from 'vue';
|
} from 'vue';
|
||||||
|
|
||||||
import { tools } from '@tools';
|
import { tools } from '@tools';
|
||||||
import { CMyFieldDb } from '@src/components/CMyFieldDb';
|
import { CMyFieldDb } from '@/components/CMyFieldDb';
|
||||||
import { costanti } from '@costanti';
|
import { costanti } from '@costanti';
|
||||||
import { useGlobalStore } from '@store/globalStore';
|
import { useGlobalStore } from '@store/globalStore';
|
||||||
import { useUserStore } from '@store/UserStore';
|
import { useUserStore } from '@store/UserStore';
|
||||||
|
|
||||||
import { CTitlePage } from '@src/components/CTitlePage';
|
import { CTitlePage } from '@/components/CTitlePage';
|
||||||
import { CGridTableRec } from '@src/components/CGridTableRec';
|
import { CGridTableRec } from '@/components/CGridTableRec';
|
||||||
import type { ICatalog, IColGridTable, INewCatalog, ISearchList } from 'model';
|
import type { ICatalog, IColGridTable, INewCatalog, ISearchList } from 'model';
|
||||||
import { useI18n } from 'vue-i18n';
|
import { useI18n } from 'vue-i18n';
|
||||||
import { toolsext } from '@store/Modules/toolsext';
|
import { toolsext } from '@store/Modules/toolsext';
|
||||||
|
|||||||
@@ -107,6 +107,13 @@
|
|||||||
/>
|
/>
|
||||||
|
|
||||||
<div class="row justify-center">
|
<div class="row justify-center">
|
||||||
|
<q-btn
|
||||||
|
label="Annulla"
|
||||||
|
v-close-popup
|
||||||
|
color="primary"
|
||||||
|
flat
|
||||||
|
class="q-ml-sm"
|
||||||
|
/>
|
||||||
<q-btn
|
<q-btn
|
||||||
label="Aggiungi"
|
label="Aggiungi"
|
||||||
type="submit"
|
type="submit"
|
||||||
@@ -120,13 +127,6 @@
|
|||||||
"
|
"
|
||||||
color="primary"
|
color="primary"
|
||||||
/>
|
/>
|
||||||
<q-btn
|
|
||||||
label="Annulla"
|
|
||||||
v-close-popup
|
|
||||||
color="primary"
|
|
||||||
flat
|
|
||||||
class="q-ml-sm"
|
|
||||||
/>
|
|
||||||
</div>
|
</div>
|
||||||
</q-form>
|
</q-form>
|
||||||
</q-card-section>
|
</q-card-section>
|
||||||
|
|||||||
@@ -1,8 +1,8 @@
|
|||||||
import type { PropType} from 'vue';
|
import type { PropType} from 'vue';
|
||||||
import { defineComponent, ref, watch } from 'vue'
|
import { defineComponent, ref, watch } from 'vue'
|
||||||
|
|
||||||
import { Catalogo } from '@src/views/ecommerce/catalogo'
|
import { Catalogo } from '@/views/ecommerce/catalogo'
|
||||||
import type { IOptCatalogo } from '@src/model'
|
import type { IOptCatalogo } from '@/model'
|
||||||
|
|
||||||
export default defineComponent({
|
export default defineComponent({
|
||||||
name: 'CCatalogo',
|
name: 'CCatalogo',
|
||||||
|
|||||||
@@ -21,9 +21,9 @@ import { CViewTable } from '../CViewTable';
|
|||||||
import { CMyValueDb } from '../CMyValueDb';
|
import { CMyValueDb } from '../CMyValueDb';
|
||||||
import { CPrice } from '../CPrice';
|
import { CPrice } from '../CPrice';
|
||||||
import { CText } from '../CText';
|
import { CText } from '../CText';
|
||||||
import { CLabel } from '@src/components/CLabel';
|
import { CLabel } from '@/components/CLabel';
|
||||||
import { CSchedaProdotto } from '@src/components/CSchedaProdotto';
|
import { CSchedaProdotto } from '@/components/CSchedaProdotto';
|
||||||
import { CModifTrafiletto } from '@src/components/CModifTrafiletto';
|
import { CModifTrafiletto } from '@/components/CModifTrafiletto';
|
||||||
|
|
||||||
import { CBarCode } from '../CBarCode';
|
import { CBarCode } from '../CBarCode';
|
||||||
import { CTableCupleLabelValue } from '../CTableCupleLabelValue';
|
import { CTableCupleLabelValue } from '../CTableCupleLabelValue';
|
||||||
@@ -40,12 +40,12 @@ import type {
|
|||||||
IVariazione,
|
IVariazione,
|
||||||
IRecFields,
|
IRecFields,
|
||||||
ICatalog,
|
ICatalog,
|
||||||
} from '@src/model';
|
} from '@/model';
|
||||||
import { IBaseOrder } from '@src/model';
|
import { IBaseOrder } from '@/model';
|
||||||
import { tools } from '@tools';
|
import { tools } from '@tools';
|
||||||
import { useProducts } from '@store/Products';
|
import { useProducts } from '@store/Products';
|
||||||
|
|
||||||
import { shared_consts } from '@src/common/shared_vuejs';
|
import { shared_consts } from '@/common/shared_vuejs';
|
||||||
import { useRouter } from 'vue-router';
|
import { useRouter } from 'vue-router';
|
||||||
|
|
||||||
import { costanti } from '@costanti';
|
import { costanti } from '@costanti';
|
||||||
|
|||||||
@@ -5,8 +5,8 @@ import { useGlobalStore } from '@store/globalStore'
|
|||||||
import { useI18n } from 'vue-i18n'
|
import { useI18n } from 'vue-i18n'
|
||||||
import { tools } from '@tools'
|
import { tools } from '@tools'
|
||||||
import { costanti } from '@store/Modules/costanti'
|
import { costanti } from '@store/Modules/costanti'
|
||||||
import { static_data } from '@src/db/static_data'
|
import { static_data } from '@/db/static_data'
|
||||||
import { CRegistration } from '@src/components/CRegistration'
|
import { CRegistration } from '@/components/CRegistration'
|
||||||
|
|
||||||
export default defineComponent({
|
export default defineComponent({
|
||||||
name: 'CCheckIfIsLogged',
|
name: 'CCheckIfIsLogged',
|
||||||
|
|||||||
@@ -15,10 +15,10 @@
|
|||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="card-content">
|
<div class="card-content">
|
||||||
<h3 class="card-title">Benvenuto su RISO</h3>
|
<h3 class="card-title">Benvenuto su {{ tools.sitename() }}</h3>
|
||||||
<p class="card-description">
|
<p class="card-description">
|
||||||
Accedi con le tue credenziali per utilizzare la APP e per unirti
|
Accedi con le tue credenziali per utilizzare la APP e per unirti
|
||||||
al Circuito di scambio RIS del tuo territorio
|
ai membri della Community
|
||||||
</p>
|
</p>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|||||||
@@ -6,9 +6,9 @@ import { useGlobalStore } from '@store/globalStore'
|
|||||||
import type { PropType} from 'vue';
|
import type { PropType} from 'vue';
|
||||||
import { defineComponent, computed, ref } from 'vue'
|
import { defineComponent, computed, ref } from 'vue'
|
||||||
import type { IUserFields } from 'model'
|
import type { IUserFields } from 'model'
|
||||||
import { shared_consts } from '@src/common/shared_vuejs'
|
import { shared_consts } from '@/common/shared_vuejs'
|
||||||
import { CLabel } from '@src/components/CLabel'
|
import { CLabel } from '@/components/CLabel'
|
||||||
import { CSendCoins } from '@src/components/CSendCoins'
|
import { CSendCoins } from '@/components/CSendCoins'
|
||||||
|
|
||||||
export default defineComponent({
|
export default defineComponent({
|
||||||
name: 'CContactUser',
|
name: 'CContactUser',
|
||||||
|
|||||||
@@ -12,11 +12,11 @@ import { func_tools, toolsext } from '@store/Modules/toolsext'
|
|||||||
import { tools } from '@tools'
|
import { tools } from '@tools'
|
||||||
import { useProducts } from '@store/Products'
|
import { useProducts } from '@store/Products'
|
||||||
|
|
||||||
import { shared_consts } from '@src/common/shared_vuejs'
|
import { shared_consts } from '@/common/shared_vuejs'
|
||||||
import { useRouter } from 'vue-router'
|
import { useRouter } from 'vue-router'
|
||||||
|
|
||||||
import { costanti } from '@costanti'
|
import { costanti } from '@costanti'
|
||||||
import type { IOptCatalogo, IMyScheda, IProduct, ICatalog } from '@src/model'
|
import type { IOptCatalogo, IMyScheda, IProduct, ICatalog } from '@/model'
|
||||||
|
|
||||||
|
|
||||||
export default defineComponent({
|
export default defineComponent({
|
||||||
|
|||||||
@@ -4,7 +4,7 @@ import { useI18n } from 'vue-i18n'
|
|||||||
import { useUserStore } from '@store/UserStore'
|
import { useUserStore } from '@store/UserStore'
|
||||||
import { useGlobalStore } from '@store/globalStore'
|
import { useGlobalStore } from '@store/globalStore'
|
||||||
import { defineComponent } from 'vue'
|
import { defineComponent } from 'vue'
|
||||||
import { shared_consts } from '@src/common/shared_vuejs'
|
import { shared_consts } from '@/common/shared_vuejs'
|
||||||
|
|
||||||
export default defineComponent({
|
export default defineComponent({
|
||||||
name: 'CCopyBtnSmall',
|
name: 'CCopyBtnSmall',
|
||||||
|
|||||||
@@ -1,10 +1,10 @@
|
|||||||
import { defineComponent, onMounted, PropType, ref, watch } from 'vue'
|
import { defineComponent, onMounted, PropType, ref, watch } from 'vue'
|
||||||
import { tools } from '@src/store/Modules/tools'
|
import { tools } from '@/store/Modules/tools'
|
||||||
|
|
||||||
import { date, useQuasar } from 'quasar'
|
import { date, useQuasar } from 'quasar'
|
||||||
import { useI18n } from 'vue-i18n'
|
import { useI18n } from 'vue-i18n'
|
||||||
import { CCurrencyValue } from '@src/components/CCurrencyValue'
|
import { CCurrencyValue } from '@/components/CCurrencyValue'
|
||||||
import { CMyFieldDb } from '@src/components/CMyFieldDb'
|
import { CMyFieldDb } from '@/components/CMyFieldDb'
|
||||||
|
|
||||||
|
|
||||||
import { costanti } from '@costanti'
|
import { costanti } from '@costanti'
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
import { defineComponent, onMounted, PropType, ref, watch } from 'vue'
|
import { defineComponent, onMounted, PropType, ref, watch } from 'vue'
|
||||||
import { tools } from '@src/store/Modules/tools'
|
import { tools } from '@/store/Modules/tools'
|
||||||
|
|
||||||
import { date, useQuasar } from 'quasar'
|
import { date, useQuasar } from 'quasar'
|
||||||
import { useI18n } from 'vue-i18n'
|
import { useI18n } from 'vue-i18n'
|
||||||
|
|||||||
@@ -6,7 +6,7 @@ import { useRouter } from 'vue-router'
|
|||||||
import { useGlobalStore } from '../../store/globalStore'
|
import { useGlobalStore } from '../../store/globalStore'
|
||||||
import { useI18n } from 'vue-i18n'
|
import { useI18n } from 'vue-i18n'
|
||||||
|
|
||||||
import { shared_consts } from '@src/common/shared_vuejs'
|
import { shared_consts } from '@/common/shared_vuejs'
|
||||||
import type { IMainCard } from '@store/Modules/costanti';
|
import type { IMainCard } from '@store/Modules/costanti';
|
||||||
import { costanti } from '@store/Modules/costanti'
|
import { costanti } from '@store/Modules/costanti'
|
||||||
|
|
||||||
|
|||||||
@@ -5,7 +5,7 @@ import { useRouter } from 'vue-router'
|
|||||||
import { useGlobalStore } from '../../store/globalStore'
|
import { useGlobalStore } from '../../store/globalStore'
|
||||||
import { useI18n } from 'vue-i18n'
|
import { useI18n } from 'vue-i18n'
|
||||||
|
|
||||||
import { shared_consts } from '@src/common/shared_vuejs'
|
import { shared_consts } from '@/common/shared_vuejs'
|
||||||
import type { IMainCard } from '@costanti';
|
import type { IMainCard } from '@costanti';
|
||||||
import { costanti } from '@costanti'
|
import { costanti } from '@costanti'
|
||||||
|
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
import { defineComponent, onMounted, PropType, ref, watch } from 'vue'
|
import { defineComponent, onMounted, PropType, ref, watch } from 'vue'
|
||||||
import { tools } from '@src/store/Modules/tools'
|
import { tools } from '@/store/Modules/tools'
|
||||||
|
|
||||||
import { date, useQuasar } from 'quasar'
|
import { date, useQuasar } from 'quasar'
|
||||||
|
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
import { defineComponent, ref, watch, computed } from 'vue';
|
import { defineComponent, ref, watch, computed } from 'vue';
|
||||||
import { useQuasar } from 'quasar';
|
import { useQuasar } from 'quasar';
|
||||||
import { useI18n } from 'vue-i18n';
|
import { useI18n } from 'vue-i18n';
|
||||||
import { tools } from '@src/store/Modules/tools';
|
import { tools } from '@/store/Modules/tools';
|
||||||
import { toolsext } from '@store/Modules/toolsext';
|
import { toolsext } from '@store/Modules/toolsext';
|
||||||
|
|
||||||
export default defineComponent({
|
export default defineComponent({
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
import { defineComponent, ref, watch, computed } from 'vue';
|
import { defineComponent, ref, watch, computed } from 'vue';
|
||||||
import { useQuasar } from 'quasar';
|
import { useQuasar } from 'quasar';
|
||||||
import { useI18n } from 'vue-i18n';
|
import { useI18n } from 'vue-i18n';
|
||||||
import { tools } from '@src/store/Modules/tools';
|
import { tools } from '@/store/Modules/tools';
|
||||||
import { toolsext } from '@store/Modules/toolsext';
|
import { toolsext } from '@store/Modules/toolsext';
|
||||||
|
|
||||||
function toTS(s: string | null): number | null {
|
function toTS(s: string | null): number | null {
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
import { defineComponent } from 'vue'
|
import { defineComponent } from 'vue'
|
||||||
|
|
||||||
import { ProductsList } from '@src/views/ecommerce'
|
import { ProductsList } from '@/views/ecommerce'
|
||||||
|
|
||||||
export default defineComponent({
|
export default defineComponent({
|
||||||
name: 'CECommerce',
|
name: 'CECommerce',
|
||||||
|
|||||||
@@ -5,6 +5,8 @@ $card-radius-mobile: 14px;
|
|||||||
$transition-smooth: all 0.4s cubic-bezier(0.34, 1.56, 0.64, 1);
|
$transition-smooth: all 0.4s cubic-bezier(0.34, 1.56, 0.64, 1);
|
||||||
$transition-base: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
|
$transition-base: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
|
||||||
|
|
||||||
|
$gradient-primary: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
|
||||||
|
|
||||||
.stat-card {
|
.stat-card {
|
||||||
position: relative;
|
position: relative;
|
||||||
width: 100%;
|
width: 100%;
|
||||||
@@ -158,26 +160,26 @@ $transition-base: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
|
|||||||
}
|
}
|
||||||
|
|
||||||
.stat-title {
|
.stat-title {
|
||||||
font-size: 0.75rem;
|
font-size: 1rem;
|
||||||
font-weight: 600;
|
font-weight: 600;
|
||||||
letter-spacing: 0.03em;
|
letter-spacing: 0.03em;
|
||||||
line-height: 1.3;
|
line-height: 1.3;
|
||||||
opacity: 0.85;
|
opacity: 0.85;
|
||||||
text-transform: uppercase;
|
text-transform: uppercase;
|
||||||
margin: 4px 0;
|
margin: 4px 0;
|
||||||
color: #424242;
|
color: #718096;
|
||||||
|
|
||||||
@media (max-width: 960px) {
|
@media (max-width: 960px) {
|
||||||
font-size: 0.7rem;
|
font-size: 0.9rem;
|
||||||
}
|
}
|
||||||
|
|
||||||
@media (max-width: 718px) {
|
@media (max-width: 718px) {
|
||||||
font-size: 0.65rem;
|
font-size: 0.8rem;
|
||||||
margin: 2px 0;
|
margin: 2px 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
@media (max-width: 480px) {
|
@media (max-width: 480px) {
|
||||||
font-size: 0.6rem;
|
font-size: 0.8rem;
|
||||||
letter-spacing: 0.02em;
|
letter-spacing: 0.02em;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -195,11 +197,14 @@ $transition-base: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
|
|||||||
}
|
}
|
||||||
|
|
||||||
.stat-value {
|
.stat-value {
|
||||||
font-size: 1.5rem;
|
|
||||||
font-weight: 700;
|
|
||||||
line-height: 1.1;
|
|
||||||
letter-spacing: -0.03em;
|
letter-spacing: -0.03em;
|
||||||
color: #1a1a1a;
|
font-size: 1.5rem;
|
||||||
|
font-weight: 800;
|
||||||
|
background: $gradient-primary;
|
||||||
|
-webkit-background-clip: text;
|
||||||
|
-webkit-text-fill-color: transparent;
|
||||||
|
line-height: 1;
|
||||||
|
padding-bottom: 2px;
|
||||||
|
|
||||||
@media (max-width: 960px) {
|
@media (max-width: 960px) {
|
||||||
font-size: 1.375rem;
|
font-size: 1.375rem;
|
||||||
@@ -276,12 +281,10 @@ $transition-base: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
|
|||||||
left: -50%;
|
left: -50%;
|
||||||
width: 200%;
|
width: 200%;
|
||||||
height: 200%;
|
height: 200%;
|
||||||
background: linear-gradient(
|
background: linear-gradient(45deg,
|
||||||
45deg,
|
|
||||||
transparent 30%,
|
transparent 30%,
|
||||||
rgba(255, 255, 255, 0.4) 50%,
|
rgba(255, 255, 255, 0.4) 50%,
|
||||||
transparent 70%
|
transparent 70%);
|
||||||
);
|
|
||||||
transform: translateX(-100%) translateY(-100%);
|
transform: translateX(-100%) translateY(-100%);
|
||||||
transition: transform 0.8s ease;
|
transition: transform 0.8s ease;
|
||||||
pointer-events: none;
|
pointer-events: none;
|
||||||
@@ -307,10 +310,13 @@ $transition-base: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
|
|||||||
|
|
||||||
// Animations
|
// Animations
|
||||||
@keyframes pulse {
|
@keyframes pulse {
|
||||||
0%, 100% {
|
|
||||||
|
0%,
|
||||||
|
100% {
|
||||||
opacity: 0.3;
|
opacity: 0.3;
|
||||||
transform: scale(1);
|
transform: scale(1);
|
||||||
}
|
}
|
||||||
|
|
||||||
50% {
|
50% {
|
||||||
opacity: 0.5;
|
opacity: 0.5;
|
||||||
transform: scale(1.05);
|
transform: scale(1.05);
|
||||||
@@ -318,9 +324,12 @@ $transition-base: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
|
|||||||
}
|
}
|
||||||
|
|
||||||
@keyframes bounce-subtle {
|
@keyframes bounce-subtle {
|
||||||
0%, 100% {
|
|
||||||
|
0%,
|
||||||
|
100% {
|
||||||
transform: translateY(0);
|
transform: translateY(0);
|
||||||
}
|
}
|
||||||
|
|
||||||
50% {
|
50% {
|
||||||
transform: translateY(-2px);
|
transform: translateY(-2px);
|
||||||
}
|
}
|
||||||
@@ -339,9 +348,11 @@ $transition-base: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
|
|||||||
opacity: 0;
|
opacity: 0;
|
||||||
transform: scale(0.5) translateY(10px);
|
transform: scale(0.5) translateY(10px);
|
||||||
}
|
}
|
||||||
|
|
||||||
60% {
|
60% {
|
||||||
transform: scale(1.1) translateY(-2px);
|
transform: scale(1.1) translateY(-2px);
|
||||||
}
|
}
|
||||||
|
|
||||||
100% {
|
100% {
|
||||||
opacity: 1;
|
opacity: 1;
|
||||||
transform: scale(1) translateY(0);
|
transform: scale(1) translateY(0);
|
||||||
|
|||||||
@@ -6,18 +6,16 @@
|
|||||||
<div :class="['stat-content', classColor]">
|
<div :class="['stat-content', classColor]">
|
||||||
<!-- Icon con effetto hover e glow -->
|
<!-- Icon con effetto hover e glow -->
|
||||||
<div class="stat-icon-wrapper">
|
<div class="stat-icon-wrapper">
|
||||||
<div class="stat-icon-glow" :style="{ backgroundColor: getGlowColor(classColor) }"></div>
|
<div
|
||||||
|
class="stat-icon-glow"
|
||||||
|
:style="{ backgroundColor: getGlowColor(classColor) }"
|
||||||
|
></div>
|
||||||
<q-icon
|
<q-icon
|
||||||
:name="icon"
|
:name="icon"
|
||||||
:class="['stat-icon', classColor]"
|
:class="['stat-icon', classColor]"
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<!-- Title -->
|
|
||||||
<div class="stat-title">
|
|
||||||
{{ title }}
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<!-- Value con tipografia gerarchica -->
|
<!-- Value con tipografia gerarchica -->
|
||||||
<div class="stat-value-container">
|
<div class="stat-value-container">
|
||||||
<div class="stat-value">
|
<div class="stat-value">
|
||||||
@@ -32,11 +30,19 @@
|
|||||||
:style="{ backgroundColor: colBack }"
|
:style="{ backgroundColor: colBack }"
|
||||||
>
|
>
|
||||||
<div class="stat-badge-pulse"></div>
|
<div class="stat-badge-pulse"></div>
|
||||||
<q-icon name="trending_up" size="12px" class="stat-badge-icon" />
|
<q-icon
|
||||||
|
name="trending_up"
|
||||||
|
size="12px"
|
||||||
|
class="stat-badge-icon"
|
||||||
|
/>
|
||||||
<span class="stat-badge-text">+{{ value_today }} oggi</span>
|
<span class="stat-badge-text">+{{ value_today }} oggi</span>
|
||||||
</div>
|
</div>
|
||||||
</transition>
|
</transition>
|
||||||
</div>
|
</div>
|
||||||
|
<!-- Title -->
|
||||||
|
<div class="stat-title">
|
||||||
|
{{ title }}
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<!-- Decorative elements -->
|
<!-- Decorative elements -->
|
||||||
@@ -45,9 +51,8 @@
|
|||||||
</q-card>
|
</q-card>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script lang="ts" src="./CElemStat.ts">
|
<script lang="ts" src="./CElemStat.ts"></script>
|
||||||
</script>
|
|
||||||
|
|
||||||
<style lang="scss" scoped>
|
<style lang="scss" scoped>
|
||||||
@import "./CElemStat.scss";
|
@import './CElemStat.scss';
|
||||||
</style>
|
</style>
|
||||||
|
|||||||
@@ -12,10 +12,10 @@ import { LandingFooter } from '../LandingFooter'
|
|||||||
import { CTitle } from '../CTitle'
|
import { CTitle } from '../CTitle'
|
||||||
import { CImgText } from '../CImgText'
|
import { CImgText } from '../CImgText'
|
||||||
import { CMyEditor } from '../CMyEditor'
|
import { CMyEditor } from '../CMyEditor'
|
||||||
import { CDateTime } from '@src/components/CDateTime'
|
import { CDateTime } from '@/components/CDateTime'
|
||||||
import { CMyAvatar } from '../CMyAvatar'
|
import { CMyAvatar } from '../CMyAvatar'
|
||||||
import { CMySingleEvent } from '@src/components/CMySingleEvent'
|
import { CMySingleEvent } from '@/components/CMySingleEvent'
|
||||||
import { CMyTeacher } from '@src/components/CMyTeacher'
|
import { CMyTeacher } from '@/components/CMyTeacher'
|
||||||
import { CMySelect } from '../CMySelect'
|
import { CMySelect } from '../CMySelect'
|
||||||
import { tools } from '@tools'
|
import { tools } from '@tools'
|
||||||
import { costanti } from '@costanti'
|
import { costanti } from '@costanti'
|
||||||
@@ -26,10 +26,10 @@ import MixinEvents from '../../mixins/mixin-events'
|
|||||||
import { useCalendarStore } from '@store/CalendarStore'
|
import { useCalendarStore } from '@store/CalendarStore'
|
||||||
import { func_tools, toolsext } from '@store/Modules/toolsext'
|
import { func_tools, toolsext } from '@store/Modules/toolsext'
|
||||||
import { useMessageStore } from '@store/MessageStore'
|
import { useMessageStore } from '@store/MessageStore'
|
||||||
import { static_data } from '@src/db/static_data'
|
import { static_data } from '@/db/static_data'
|
||||||
import { lists } from '@store/Modules/lists'
|
import { lists } from '@store/Modules/lists'
|
||||||
import translate from '@src/globalroutines/util'
|
import translate from '@/globalroutines/util'
|
||||||
import { shared_consts } from '@src/common/shared_vuejs'
|
import { shared_consts } from '@/common/shared_vuejs'
|
||||||
|
|
||||||
export default defineComponent({
|
export default defineComponent({
|
||||||
name: 'CEventsCalendar',
|
name: 'CEventsCalendar',
|
||||||
|
|||||||
@@ -10,24 +10,48 @@
|
|||||||
</div>-->
|
</div>-->
|
||||||
<div>
|
<div>
|
||||||
<!-- display an myevent -->
|
<!-- display an myevent -->
|
||||||
<q-dialog v-model="displayEvent" :maximized="$q.screen.lt.sm">
|
<q-dialog
|
||||||
<q-card v-if="myevent" class="dialog_card">
|
v-model="displayEvent"
|
||||||
|
:maximized="$q.screen.lt.sm"
|
||||||
|
>
|
||||||
|
<q-card
|
||||||
|
v-if="myevent"
|
||||||
|
class="dialog_card"
|
||||||
|
>
|
||||||
<q-toolbar class="bg-primary text-white">
|
<q-toolbar class="bg-primary text-white">
|
||||||
<!--<q-toolbar :class="tools.displayClasses(myevent)"-->
|
<!--<q-toolbar :class="tools.displayClasses(myevent)"-->
|
||||||
<!--:style="tools.displayStyles(myevent) + ` min-width: `+ tools.myheight_dialog() + `px;`">-->
|
<!--:style="tools.displayStyles(myevent) + ` min-width: `+ tools.myheight_dialog() + `px;`">-->
|
||||||
<q-toolbar-title>
|
<q-toolbar-title>
|
||||||
{{ t('cal.event') }}
|
{{ t('cal.event') }}
|
||||||
</q-toolbar-title>
|
</q-toolbar-title>
|
||||||
<q-btn v-if="editable" flat round color="white" icon="fas fa-copy">
|
<q-btn
|
||||||
<q-menu transition-show="flip-right" transition-hide="flip-left">
|
v-if="editable"
|
||||||
|
flat
|
||||||
|
round
|
||||||
|
color="white"
|
||||||
|
icon="fas fa-copy"
|
||||||
|
>
|
||||||
|
<q-menu
|
||||||
|
transition-show="flip-right"
|
||||||
|
transition-hide="flip-left"
|
||||||
|
>
|
||||||
<q-list style="min-width: 100px">
|
<q-list style="min-width: 100px">
|
||||||
<q-item clickable @click="duplicateEvent(myevent, 7)">
|
<q-item
|
||||||
|
clickable
|
||||||
|
@click="duplicateEvent(myevent, 7)"
|
||||||
|
>
|
||||||
<q-item-section>Tra 1 Settimana</q-item-section>
|
<q-item-section>Tra 1 Settimana</q-item-section>
|
||||||
</q-item>
|
</q-item>
|
||||||
<q-item clickable @click="duplicateEvent(myevent, 14)">
|
<q-item
|
||||||
|
clickable
|
||||||
|
@click="duplicateEvent(myevent, 14)"
|
||||||
|
>
|
||||||
<q-item-section>Tra 2 Settimane</q-item-section>
|
<q-item-section>Tra 2 Settimane</q-item-section>
|
||||||
</q-item>
|
</q-item>
|
||||||
<q-item clickable @click="duplicateEvent(myevent, 7, 4)">
|
<q-item
|
||||||
|
clickable
|
||||||
|
@click="duplicateEvent(myevent, 7, 4)"
|
||||||
|
>
|
||||||
<q-item-section>4 Eventi ogni Settimana</q-item-section>
|
<q-item-section>4 Eventi ogni Settimana</q-item-section>
|
||||||
</q-item>
|
</q-item>
|
||||||
</q-list>
|
</q-list>
|
||||||
@@ -86,7 +110,10 @@
|
|||||||
:class="`cal__details` + ($q.dark.isActive ? `_darktheme` : ``)"
|
:class="`cal__details` + ($q.dark.isActive ? `_darktheme` : ``)"
|
||||||
v-html="myevent.details"
|
v-html="myevent.details"
|
||||||
></div>
|
></div>
|
||||||
<div v-if="myevent.teacher" class="cal__teacher">
|
<div
|
||||||
|
v-if="myevent.teacher"
|
||||||
|
class="cal__teacher"
|
||||||
|
>
|
||||||
<span class="cal__teacher-title"
|
<span class="cal__teacher-title"
|
||||||
>{{ t('cal.teacher') }}: <span class="margin_with"></span
|
>{{ t('cal.teacher') }}: <span class="margin_with"></span
|
||||||
></span>
|
></span>
|
||||||
@@ -96,16 +123,17 @@
|
|||||||
<CMyTeacher :username="myevent.teacher3"></CMyTeacher>
|
<CMyTeacher :username="myevent.teacher3"></CMyTeacher>
|
||||||
<CMyTeacher :username="myevent.teacher4"></CMyTeacher>
|
<CMyTeacher :username="myevent.teacher4"></CMyTeacher>
|
||||||
</div>
|
</div>
|
||||||
<div v-if="myevent.wherecode" class="cal__where">
|
<div
|
||||||
|
v-if="myevent.wherecode"
|
||||||
|
class="cal__where"
|
||||||
|
>
|
||||||
<!--<span v-if="tools.isMobile()"><br/></span>-->
|
<!--<span v-if="tools.isMobile()"><br/></span>-->
|
||||||
<span class="cal__where-title">{{ t('cal.where') }}: </span>
|
<span class="cal__where-title">{{ t('cal.where') }}: </span>
|
||||||
<span class="cal__where-content">
|
<span class="cal__where-content">
|
||||||
<q-chip>
|
<q-chip>
|
||||||
<q-avatar v-if="getWhereIcon(myevent.wherecode)">
|
<q-avatar v-if="getWhereIcon(myevent.wherecode)">
|
||||||
<img
|
<img
|
||||||
:src="
|
:src="`/images/avatar/` + getWhereIcon(myevent.wherecode)"
|
||||||
`/images/avatar/` + getWhereIcon(myevent.wherecode)
|
|
||||||
"
|
|
||||||
alt="Località"
|
alt="Località"
|
||||||
/>
|
/>
|
||||||
</q-avatar>
|
</q-avatar>
|
||||||
@@ -129,17 +157,16 @@
|
|||||||
>
|
>
|
||||||
<span class="cal__quota-title">{{ t('event.price') }}:</span>
|
<span class="cal__quota-title">{{ t('event.price') }}:</span>
|
||||||
<q-chip>
|
<q-chip>
|
||||||
<span class="cal__quota-content">{{
|
<span class="cal__quota-content">{{ getPrice(myevent) }}</span>
|
||||||
getPrice(myevent)
|
|
||||||
}}</span>
|
|
||||||
</q-chip>
|
</q-chip>
|
||||||
</div>
|
</div>
|
||||||
<div v-if="myevent.dateTimeStart" class="cal__when">
|
<div
|
||||||
|
v-if="myevent.dateTimeStart"
|
||||||
|
class="cal__when"
|
||||||
|
>
|
||||||
<span class="cal__where-title"
|
<span class="cal__where-title"
|
||||||
>{{ t('cal.when') }}:
|
>{{ t('cal.when') }}:
|
||||||
<span
|
<span v-html="tools.getstrDateTimeEvent($t, myevent, true)"></span>
|
||||||
v-html="tools.getstrDateTimeEvent($t, myevent, true)"
|
|
||||||
></span>
|
|
||||||
</span>
|
</span>
|
||||||
</div>
|
</div>
|
||||||
<p
|
<p
|
||||||
@@ -181,16 +208,33 @@
|
|||||||
</q-dialog>
|
</q-dialog>
|
||||||
<!-- id_bookedeventadd/edit an myevent -->
|
<!-- id_bookedeventadd/edit an myevent -->
|
||||||
|
|
||||||
<q-dialog v-model="addEvent" no-backdrop-dismiss persistent>
|
<q-dialog
|
||||||
<q-card v-if="addEvent" class="dialog_card">
|
v-model="addEvent"
|
||||||
|
no-backdrop-dismiss
|
||||||
|
persistent
|
||||||
|
>
|
||||||
|
<q-card
|
||||||
|
v-if="addEvent"
|
||||||
|
class="dialog_card"
|
||||||
|
>
|
||||||
<q-toolbar class="bg-primary text-white">
|
<q-toolbar class="bg-primary text-white">
|
||||||
<q-toolbar-title>
|
<q-toolbar-title>
|
||||||
{{ addOrUpdateEvent() }} {{ t('cal.event') }}
|
{{ addOrUpdateEvent() }} {{ t('cal.event') }}
|
||||||
</q-toolbar-title>
|
</q-toolbar-title>
|
||||||
<q-btn flat round color="white" icon="close" v-close-popup></q-btn>
|
<q-btn
|
||||||
|
flat
|
||||||
|
round
|
||||||
|
color="white"
|
||||||
|
icon="close"
|
||||||
|
v-close-popup
|
||||||
|
></q-btn>
|
||||||
</q-toolbar>
|
</q-toolbar>
|
||||||
<q-card-section class="inset-shadow">
|
<q-card-section class="inset-shadow">
|
||||||
<q-form v-if="contextDay" ref="myevent" class="q-gutter-sm">
|
<q-form
|
||||||
|
v-if="contextDay"
|
||||||
|
ref="myevent"
|
||||||
|
class="q-gutter-sm"
|
||||||
|
>
|
||||||
<CMySelect
|
<CMySelect
|
||||||
:label="$t('event.typol')"
|
:label="$t('event.typol')"
|
||||||
v-model:value="eventForm.typol"
|
v-model:value="eventForm.typol"
|
||||||
@@ -254,7 +298,10 @@
|
|||||||
/>
|
/>
|
||||||
</q-tabs>
|
</q-tabs>
|
||||||
|
|
||||||
<q-tab-panels v-model="tabeditor" animated>
|
<q-tab-panels
|
||||||
|
v-model="tabeditor"
|
||||||
|
animated
|
||||||
|
>
|
||||||
<q-tab-panel name="details">
|
<q-tab-panel name="details">
|
||||||
<div class="q-gutter-sm myflex">
|
<div class="q-gutter-sm myflex">
|
||||||
<q-input
|
<q-input
|
||||||
@@ -320,7 +367,10 @@
|
|||||||
</CMyEditor>
|
</CMyEditor>
|
||||||
</q-tab-panel>
|
</q-tab-panel>
|
||||||
|
|
||||||
<q-tab-panel name="settings" class="q-gutter-sm">
|
<q-tab-panel
|
||||||
|
name="settings"
|
||||||
|
class="q-gutter-sm"
|
||||||
|
>
|
||||||
<!--<q-checkbox v-model="eventForm.allday" :label="$t('cal.alldayevent')"></q-checkbox>-->
|
<!--<q-checkbox v-model="eventForm.allday" :label="$t('cal.alldayevent')"></q-checkbox>-->
|
||||||
|
|
||||||
<div class="q-gutter-sm row myflex">
|
<div class="q-gutter-sm row myflex">
|
||||||
@@ -507,28 +557,40 @@
|
|||||||
</q-form>
|
</q-form>
|
||||||
</q-card-section>
|
</q-card-section>
|
||||||
<q-card-actions align="right">
|
<q-card-actions align="right">
|
||||||
<q-btn
|
|
||||||
:label="$t('dialog.ok')"
|
|
||||||
color="primary"
|
|
||||||
@click="saveEvent"
|
|
||||||
></q-btn>
|
|
||||||
<q-btn
|
<q-btn
|
||||||
flat
|
flat
|
||||||
:label="$t('dialog.cancel')"
|
:label="$t('dialog.cancel')"
|
||||||
color="primary"
|
color="primary"
|
||||||
v-close-popup
|
v-close-popup
|
||||||
></q-btn>
|
></q-btn>
|
||||||
|
<q-btn
|
||||||
|
:label="$t('dialog.ok')"
|
||||||
|
color="primary"
|
||||||
|
@click="saveEvent"
|
||||||
|
></q-btn>
|
||||||
</q-card-actions>
|
</q-card-actions>
|
||||||
</q-card>
|
</q-card>
|
||||||
</q-dialog>
|
</q-dialog>
|
||||||
|
|
||||||
<q-dialog v-model="bookEventpage.show" no-backdrop-dismiss>
|
<q-dialog
|
||||||
<q-card v-if="bookEventpage.show" class="dialog_card">
|
v-model="bookEventpage.show"
|
||||||
|
no-backdrop-dismiss
|
||||||
|
>
|
||||||
|
<q-card
|
||||||
|
v-if="bookEventpage.show"
|
||||||
|
class="dialog_card"
|
||||||
|
>
|
||||||
<q-toolbar class="bg-primary text-white">
|
<q-toolbar class="bg-primary text-white">
|
||||||
<q-toolbar-title>
|
<q-toolbar-title>
|
||||||
{{ t('cal.booking') }}
|
{{ t('cal.booking') }}
|
||||||
</q-toolbar-title>
|
</q-toolbar-title>
|
||||||
<q-btn flat round color="white" icon="close" v-close-popup></q-btn>
|
<q-btn
|
||||||
|
flat
|
||||||
|
round
|
||||||
|
color="white"
|
||||||
|
icon="close"
|
||||||
|
v-close-popup
|
||||||
|
></q-btn>
|
||||||
</q-toolbar>
|
</q-toolbar>
|
||||||
|
|
||||||
<q-card-section class="inset-shadow">
|
<q-card-section class="inset-shadow">
|
||||||
@@ -548,16 +610,20 @@
|
|||||||
>
|
>
|
||||||
{{ myevent.title }}
|
{{ myevent.title }}
|
||||||
</q-chip>
|
</q-chip>
|
||||||
<div v-if="myevent.dateTimeStart" class="cal__when">
|
<div
|
||||||
|
v-if="myevent.dateTimeStart"
|
||||||
|
class="cal__when"
|
||||||
|
>
|
||||||
<span class="cal__where-title"
|
<span class="cal__where-title"
|
||||||
>{{ t('cal.when') }}:
|
>{{ t('cal.when') }}:
|
||||||
<span
|
<span v-html="tools.getstrDateTimeEvent($t, myevent, true)"></span>
|
||||||
v-html="tools.getstrDateTimeEvent($t, myevent, true)"
|
|
||||||
></span>
|
|
||||||
</span>
|
</span>
|
||||||
</div>
|
</div>
|
||||||
<div class="q-pa-xs">
|
<div class="q-pa-xs">
|
||||||
<q-card class="text-white windowcol" style="display: block">
|
<q-card
|
||||||
|
class="text-white windowcol"
|
||||||
|
style="display: block"
|
||||||
|
>
|
||||||
<q-card-section class="q-pa-xs">
|
<q-card-section class="q-pa-xs">
|
||||||
<div
|
<div
|
||||||
style="display: inline-flex"
|
style="display: inline-flex"
|
||||||
@@ -583,9 +649,7 @@
|
|||||||
style="min-width: 140px"
|
style="min-width: 140px"
|
||||||
>
|
>
|
||||||
<q-select
|
<q-select
|
||||||
:behavior="
|
:behavior="$q.platform.is.ios === true ? 'dialog' : 'menu'"
|
||||||
$q.platform.is.ios === true ? 'dialog' : 'menu'
|
|
||||||
"
|
|
||||||
rounded
|
rounded
|
||||||
outlined
|
outlined
|
||||||
v-model="bookEventForm.numpeople"
|
v-model="bookEventForm.numpeople"
|
||||||
@@ -614,9 +678,7 @@
|
|||||||
style="min-width: 140px; margin-left: 10px"
|
style="min-width: 140px; margin-left: 10px"
|
||||||
>
|
>
|
||||||
<q-select
|
<q-select
|
||||||
:behavior="
|
:behavior="$q.platform.is.ios === true ? 'dialog' : 'menu'"
|
||||||
$q.platform.is.ios === true ? 'dialog' : 'menu'
|
|
||||||
"
|
|
||||||
rounded
|
rounded
|
||||||
outlined
|
outlined
|
||||||
v-model="bookEventForm.numpeopleLunch"
|
v-model="bookEventForm.numpeopleLunch"
|
||||||
@@ -647,9 +709,7 @@
|
|||||||
style="min-width: 180px; margin-left: 10px"
|
style="min-width: 180px; margin-left: 10px"
|
||||||
>
|
>
|
||||||
<q-select
|
<q-select
|
||||||
:behavior="
|
:behavior="$q.platform.is.ios === true ? 'dialog' : 'menu'"
|
||||||
$q.platform.is.ios === true ? 'dialog' : 'menu'
|
|
||||||
"
|
|
||||||
rounded
|
rounded
|
||||||
outlined
|
outlined
|
||||||
v-model="bookEventForm.numpeopleDinner"
|
v-model="bookEventForm.numpeopleDinner"
|
||||||
@@ -679,9 +739,7 @@
|
|||||||
style="min-width: 180px; margin-left: 10px"
|
style="min-width: 180px; margin-left: 10px"
|
||||||
>
|
>
|
||||||
<q-select
|
<q-select
|
||||||
:behavior="
|
:behavior="$q.platform.is.ios === true ? 'dialog' : 'menu'"
|
||||||
$q.platform.is.ios === true ? 'dialog' : 'menu'
|
|
||||||
"
|
|
||||||
rounded
|
rounded
|
||||||
outlined
|
outlined
|
||||||
v-model="bookEventForm.numpeopleDinnerShared"
|
v-model="bookEventForm.numpeopleDinnerShared"
|
||||||
@@ -726,6 +784,13 @@
|
|||||||
</div>
|
</div>
|
||||||
</q-card-section>
|
</q-card-section>
|
||||||
<q-card-actions align="right">
|
<q-card-actions align="right">
|
||||||
|
<q-btn
|
||||||
|
flat
|
||||||
|
:label="$t('dialog.cancel')"
|
||||||
|
color="primary"
|
||||||
|
v-close-popup
|
||||||
|
></q-btn>
|
||||||
|
|
||||||
<q-btn
|
<q-btn
|
||||||
v-if="bookEventpage.state === EState.Modifying"
|
v-if="bookEventpage.state === EState.Modifying"
|
||||||
flat
|
flat
|
||||||
@@ -745,28 +810,31 @@
|
|||||||
:label="getTitleBtnBooking()"
|
:label="getTitleBtnBooking()"
|
||||||
color="primary"
|
color="primary"
|
||||||
@click="saveBookEvent(myevent)"
|
@click="saveBookEvent(myevent)"
|
||||||
:disable="
|
:disable="!(bookEventpage.state === EState.Creating || hasModifiedBooking)"
|
||||||
!(bookEventpage.state === EState.Creating || hasModifiedBooking)
|
|
||||||
"
|
|
||||||
></q-btn>
|
|
||||||
|
|
||||||
<q-btn
|
|
||||||
flat
|
|
||||||
:label="$t('dialog.cancel')"
|
|
||||||
color="primary"
|
|
||||||
v-close-popup
|
|
||||||
></q-btn>
|
></q-btn>
|
||||||
</q-card-actions>
|
</q-card-actions>
|
||||||
</q-card>
|
</q-card>
|
||||||
</q-dialog>
|
</q-dialog>
|
||||||
|
|
||||||
<q-dialog v-model="askInfopage.show" no-backdrop-dismiss>
|
<q-dialog
|
||||||
<q-card v-if="askInfopage.show" class="dialog_card">
|
v-model="askInfopage.show"
|
||||||
|
no-backdrop-dismiss
|
||||||
|
>
|
||||||
|
<q-card
|
||||||
|
v-if="askInfopage.show"
|
||||||
|
class="dialog_card"
|
||||||
|
>
|
||||||
<q-toolbar class="bg-primary text-white">
|
<q-toolbar class="bg-primary text-white">
|
||||||
<q-toolbar-title>
|
<q-toolbar-title>
|
||||||
{{ t('cal.booking') }}
|
{{ t('cal.booking') }}
|
||||||
</q-toolbar-title>
|
</q-toolbar-title>
|
||||||
<q-btn flat round color="white" icon="close" v-close-popup></q-btn>
|
<q-btn
|
||||||
|
flat
|
||||||
|
round
|
||||||
|
color="white"
|
||||||
|
icon="close"
|
||||||
|
v-close-popup
|
||||||
|
></q-btn>
|
||||||
</q-toolbar>
|
</q-toolbar>
|
||||||
|
|
||||||
<q-card-section class="inset-shadow">
|
<q-card-section class="inset-shadow">
|
||||||
@@ -786,12 +854,13 @@
|
|||||||
>
|
>
|
||||||
{{ myevent.title }}
|
{{ myevent.title }}
|
||||||
</q-chip>
|
</q-chip>
|
||||||
<div v-if="myevent.dateTimeStart" class="cal__when">
|
<div
|
||||||
|
v-if="myevent.dateTimeStart"
|
||||||
|
class="cal__when"
|
||||||
|
>
|
||||||
<span class="cal__where-title"
|
<span class="cal__where-title"
|
||||||
>{{ t('cal.when') }}:
|
>{{ t('cal.when') }}:
|
||||||
<span
|
<span v-html="tools.getstrDateTimeEvent($t, myevent, true)"></span>
|
||||||
v-html="tools.getstrDateTimeEvent($t, myevent, true)"
|
|
||||||
></span>
|
|
||||||
</span>
|
</span>
|
||||||
</div>
|
</div>
|
||||||
<div class="q-pa-xs">
|
<div class="q-pa-xs">
|
||||||
@@ -812,18 +881,17 @@
|
|||||||
</div>
|
</div>
|
||||||
</q-card-section>
|
</q-card-section>
|
||||||
<q-card-actions align="right">
|
<q-card-actions align="right">
|
||||||
<q-btn
|
|
||||||
flat
|
|
||||||
:label="$t('dialog.sendmsg')"
|
|
||||||
color="primary"
|
|
||||||
@click="sendMsg(myevent)"
|
|
||||||
></q-btn>
|
|
||||||
<q-btn
|
<q-btn
|
||||||
flat
|
flat
|
||||||
:label="$t('dialog.cancel')"
|
:label="$t('dialog.cancel')"
|
||||||
color="primary"
|
color="primary"
|
||||||
v-close-popup
|
v-close-popup
|
||||||
></q-btn>
|
></q-btn>
|
||||||
|
<q-btn
|
||||||
|
:label="$t('dialog.sendmsg')"
|
||||||
|
color="primary"
|
||||||
|
@click="sendMsg(myevent)"
|
||||||
|
></q-btn>
|
||||||
</q-card-actions>
|
</q-card-actions>
|
||||||
</q-card>
|
</q-card>
|
||||||
</q-dialog>
|
</q-dialog>
|
||||||
@@ -956,20 +1024,13 @@
|
|||||||
class="q-ma-xs"
|
class="q-ma-xs"
|
||||||
:class="badgeClasses(event, 'header')"
|
:class="badgeClasses(event, 'header')"
|
||||||
:style="badgeStyles(event, 'header')"
|
:style="badgeStyles(event, 'header')"
|
||||||
style="
|
style="width: 10px; max-width: 10px; height: 10px; max-height: 10px"
|
||||||
width: 10px;
|
|
||||||
max-width: 10px;
|
|
||||||
height: 10px;
|
|
||||||
max-height: 10px;
|
|
||||||
"
|
|
||||||
></q-badge>
|
></q-badge>
|
||||||
</template>
|
</template>
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
<template
|
<template
|
||||||
#day-body="{
|
#day-body="{ scope: { timestamp, timeStartPos, timeDurationHeight } }"
|
||||||
scope: { timestamp, timeStartPos, timeDurationHeight },
|
|
||||||
}"
|
|
||||||
>
|
>
|
||||||
<template
|
<template
|
||||||
v-for="(event, index) in getEvents(timestamp.date)"
|
v-for="(event, index) in getEvents(timestamp.date)"
|
||||||
@@ -1012,12 +1073,7 @@
|
|||||||
class="my-event-rel justify-center rounded-borders"
|
class="my-event-rel justify-center rounded-borders"
|
||||||
:class="badgeClasses(event, 'body')"
|
:class="badgeClasses(event, 'body')"
|
||||||
:style="
|
:style="
|
||||||
badgeStyles(
|
badgeStyles(event, 'body', timeStartPos, timeDurationHeight)
|
||||||
event,
|
|
||||||
'body',
|
|
||||||
timeStartPos,
|
|
||||||
timeDurationHeight
|
|
||||||
)
|
|
||||||
"
|
"
|
||||||
@click.stop.prevent="showEvent(event)"
|
@click.stop.prevent="showEvent(event)"
|
||||||
:draggable="tools.isManager()"
|
:draggable="tools.isManager()"
|
||||||
@@ -1087,13 +1143,7 @@
|
|||||||
<img
|
<img
|
||||||
:src="getImgEvent(event)"
|
:src="getImgEvent(event)"
|
||||||
@click="selectEvent(event)"
|
@click="selectEvent(event)"
|
||||||
class="
|
class="text-left padding_cell listaev__tdimg listaev__img cursor-pointer q-mx-sm"
|
||||||
text-left
|
|
||||||
padding_cell
|
|
||||||
listaev__tdimg listaev__img
|
|
||||||
cursor-pointer
|
|
||||||
q-mx-sm
|
|
||||||
"
|
|
||||||
:style="getStyleByEvent(event, event === myevent)"
|
:style="getStyleByEvent(event, event === myevent)"
|
||||||
:alt="event.title"
|
:alt="event.title"
|
||||||
/>
|
/>
|
||||||
@@ -1139,9 +1189,7 @@
|
|||||||
clickable
|
clickable
|
||||||
@click="duplicateEvent(myevent, 7, 4)"
|
@click="duplicateEvent(myevent, 7, 4)"
|
||||||
>
|
>
|
||||||
<q-item-section
|
<q-item-section>4 Eventi ogni Settimana</q-item-section>
|
||||||
>4 Eventi ogni Settimana</q-item-section
|
|
||||||
>
|
|
||||||
</q-item>
|
</q-item>
|
||||||
</q-list>
|
</q-list>
|
||||||
</q-menu>
|
</q-menu>
|
||||||
@@ -1187,22 +1235,17 @@
|
|||||||
</q-chip>
|
</q-chip>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div
|
<div class="listaev__date listaev__align_center_mobile text-center">
|
||||||
class="
|
<span v-html="tools.getstrDateTimeEvent($t, event, true)"></span>
|
||||||
listaev__date listaev__align_center_mobile
|
|
||||||
text-center
|
|
||||||
"
|
|
||||||
>
|
|
||||||
<span
|
|
||||||
v-html="tools.getstrDateTimeEvent($t, event, true)"
|
|
||||||
></span>
|
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="listaev__align_center_mobile">
|
<div class="listaev__align_center_mobile">
|
||||||
<div style="margin: 10px"></div>
|
<div style="margin: 10px"></div>
|
||||||
|
|
||||||
<div v-if="event.internal">
|
<div v-if="event.internal">
|
||||||
<q-chip color="blue" text-color="white"
|
<q-chip
|
||||||
|
color="blue"
|
||||||
|
text-color="white"
|
||||||
>Evento Interno:</q-chip
|
>Evento Interno:</q-chip
|
||||||
>
|
>
|
||||||
</div>
|
</div>
|
||||||
@@ -1247,17 +1290,15 @@
|
|||||||
<div style="margin: 10px"></div>
|
<div style="margin: 10px"></div>
|
||||||
|
|
||||||
<p
|
<p
|
||||||
:class="
|
:class="`listaev__details` + ($q.dark.isActive ? `_darktheme` : ``)"
|
||||||
`listaev__details` + ($q.dark.isActive
|
|
||||||
? `_darktheme`
|
|
||||||
: ``)
|
|
||||||
"
|
|
||||||
v-html="event.details"
|
v-html="event.details"
|
||||||
></p>
|
></p>
|
||||||
<div v-if="event.teacher" class="">
|
<div
|
||||||
|
v-if="event.teacher"
|
||||||
|
class=""
|
||||||
|
>
|
||||||
<span class="cal__teacher-title"
|
<span class="cal__teacher-title"
|
||||||
>{{ t('cal.teacher') }}:
|
>{{ t('cal.teacher') }}: <span class="margin_with"></span
|
||||||
<span class="margin_with"></span
|
|
||||||
></span>
|
></span>
|
||||||
|
|
||||||
<CMyTeacher :username="event.teacher"></CMyTeacher>
|
<CMyTeacher :username="event.teacher"></CMyTeacher>
|
||||||
@@ -1265,18 +1306,17 @@
|
|||||||
<CMyTeacher :username="event.teacher3"></CMyTeacher>
|
<CMyTeacher :username="event.teacher3"></CMyTeacher>
|
||||||
<CMyTeacher :username="event.teacher4"></CMyTeacher>
|
<CMyTeacher :username="event.teacher4"></CMyTeacher>
|
||||||
|
|
||||||
<span v-if="event.wherecode" class="">
|
<span
|
||||||
|
v-if="event.wherecode"
|
||||||
|
class=""
|
||||||
|
>
|
||||||
<span v-if="tools.isMobile()"><br /></span>
|
<span v-if="tools.isMobile()"><br /></span>
|
||||||
<span class="cal__where-title"
|
<span class="cal__where-title">{{ t('cal.where') }}: </span>
|
||||||
>{{ t('cal.where') }}:
|
|
||||||
</span>
|
|
||||||
|
|
||||||
<q-chip>
|
<q-chip>
|
||||||
<q-avatar v-if="getWhereIcon(event.wherecode)">
|
<q-avatar v-if="getWhereIcon(event.wherecode)">
|
||||||
<img
|
<img
|
||||||
:src="
|
:src="`/images/avatar/` + getWhereIcon(event.wherecode)"
|
||||||
`/images/avatar/` + getWhereIcon(event.wherecode)
|
|
||||||
"
|
|
||||||
:alt="event.wherecode"
|
:alt="event.wherecode"
|
||||||
/>
|
/>
|
||||||
</q-avatar>
|
</q-avatar>
|
||||||
@@ -1293,13 +1333,17 @@
|
|||||||
</q-chip>
|
</q-chip>
|
||||||
</span>
|
</span>
|
||||||
</div>
|
</div>
|
||||||
<div v-if="event.contribtype" class="">
|
<div
|
||||||
|
v-if="event.contribtype"
|
||||||
|
class=""
|
||||||
|
>
|
||||||
<span class="cal__quota-title"
|
<span class="cal__quota-title"
|
||||||
>{{ t('event.price') }}:<span
|
>{{ t('event.price') }}:<span class="margin_with"></span
|
||||||
class="margin_with"
|
|
||||||
></span
|
|
||||||
></span>
|
></span>
|
||||||
<span v-if="!isShowPrice(event)" class="">
|
<span
|
||||||
|
v-if="!isShowPrice(event)"
|
||||||
|
class=""
|
||||||
|
>
|
||||||
<q-chip
|
<q-chip
|
||||||
class="glossy"
|
class="glossy"
|
||||||
color="orange"
|
color="orange"
|
||||||
@@ -1318,9 +1362,7 @@
|
|||||||
text-color="white"
|
text-color="white"
|
||||||
icon-right="star"
|
icon-right="star"
|
||||||
>
|
>
|
||||||
<span class="cal__quota-content">{{
|
<span class="cal__quota-content">{{ getPrice(event) }}</span>
|
||||||
getPrice(event)
|
|
||||||
}}</span>
|
|
||||||
</q-chip>
|
</q-chip>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
@@ -1418,8 +1460,7 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
<script lang="ts" src="./CEventsCalendar.ts">
|
<script lang="ts" src="./CEventsCalendar.ts"></script>
|
||||||
</script>
|
|
||||||
<style lang="scss" scoped>
|
<style lang="scss" scoped>
|
||||||
@import './CEventsCalendar.scss';
|
@import './CEventsCalendar.scss';
|
||||||
</style>
|
</style>
|
||||||
|
|||||||
@@ -3,9 +3,9 @@ import { useQuasar } from 'quasar'
|
|||||||
import { useI18n } from 'vue-i18n'
|
import { useI18n } from 'vue-i18n'
|
||||||
import { useUserStore } from '@store/UserStore'
|
import { useUserStore } from '@store/UserStore'
|
||||||
import { useGlobalStore } from '@store/globalStore'
|
import { useGlobalStore } from '@store/globalStore'
|
||||||
import { CDownloadJsonFile } from '@src/components/CDownloadJsonFile'
|
import { CDownloadJsonFile } from '@/components/CDownloadJsonFile'
|
||||||
import { PropType, defineComponent, onMounted, ref } from 'vue'
|
import { PropType, defineComponent, onMounted, ref } from 'vue'
|
||||||
import type { IMyPage } from '@src/model'
|
import type { IMyPage } from '@/model'
|
||||||
|
|
||||||
export default defineComponent({
|
export default defineComponent({
|
||||||
name: 'CExportImportPage',
|
name: 'CExportImportPage',
|
||||||
|
|||||||
@@ -17,7 +17,7 @@ import { useGlobalStore } from '../../store/globalStore';
|
|||||||
import { useCircuitStore } from '../../store/CircuitStore';
|
import { useCircuitStore } from '../../store/CircuitStore';
|
||||||
import { useI18n } from 'vue-i18n';
|
import { useI18n } from 'vue-i18n';
|
||||||
|
|
||||||
import { shared_consts } from '@src/common/shared_vuejs';
|
import { shared_consts } from '@/common/shared_vuejs';
|
||||||
import { costanti, IMainCard } from '@store/Modules/costanti';
|
import { costanti, IMainCard } from '@store/Modules/costanti';
|
||||||
|
|
||||||
import { CMyUser } from '../CMyUser';
|
import { CMyUser } from '../CMyUser';
|
||||||
|
|||||||
@@ -4,16 +4,16 @@ import {
|
|||||||
} from 'vue'
|
} from 'vue'
|
||||||
|
|
||||||
import { tools } from '@tools'
|
import { tools } from '@tools'
|
||||||
import { CMyFieldDb } from '@src/components/CMyFieldDb'
|
import { CMyFieldDb } from '@/components/CMyFieldDb'
|
||||||
import { costanti } from '@costanti'
|
import { costanti } from '@costanti'
|
||||||
import { useGlobalStore } from '@store/globalStore'
|
import { useGlobalStore } from '@store/globalStore'
|
||||||
import { useUserStore } from '@store/UserStore'
|
import { useUserStore } from '@store/UserStore'
|
||||||
|
|
||||||
import { CTitlePage } from '@src/components/CTitlePage'
|
import { CTitlePage } from '@/components/CTitlePage'
|
||||||
import { CGridTableRec } from '@src/components/CGridTableRec'
|
import { CGridTableRec } from '@/components/CGridTableRec'
|
||||||
import type { IColGridTable, ISearchList} from 'model';
|
import type { IColGridTable, ISearchList} from 'model';
|
||||||
import { IMyBacheca, IMySkill, ISkill } from 'model'
|
import { IMyBacheca, IMySkill, ISkill } from 'model'
|
||||||
import { shared_consts } from '@src/common/shared_vuejs'
|
import { shared_consts } from '@/common/shared_vuejs'
|
||||||
import { useI18n } from 'vue-i18n'
|
import { useI18n } from 'vue-i18n'
|
||||||
import { toolsext } from '@store/Modules/toolsext'
|
import { toolsext } from '@store/Modules/toolsext'
|
||||||
import { fieldsTable } from '@store/Modules/fieldsTable'
|
import { fieldsTable } from '@store/Modules/fieldsTable'
|
||||||
@@ -306,7 +306,7 @@ export default defineComponent({
|
|||||||
}
|
}
|
||||||
|
|
||||||
function getFilterGoods(recGood: any, index: number, arr: any) {
|
function getFilterGoods(recGood: any, index: number, arr: any) {
|
||||||
const recsectorGoods: any = searchList.value.find((rec) => rec.table === 'sectorgoods')
|
const recsectorGoods: any = searchList.value.find((rec) => rec.table === toolsext.TABSECTORGOODS)
|
||||||
// console.log('getFilterSkills', recSkill.idSector, recsectors.value)
|
// console.log('getFilterSkills', recSkill.idSector, recsectors.value)
|
||||||
if (recsectorGoods && recGood.idSectorGood) {
|
if (recsectorGoods && recGood.idSectorGood) {
|
||||||
return recGood.idSectorGood.includes(recsectorGoods.value)
|
return recGood.idSectorGood.includes(recsectorGoods.value)
|
||||||
@@ -314,6 +314,15 @@ export default defineComponent({
|
|||||||
return true
|
return true
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
function getFilterBachecas(recBacheca: any, index: number, arr: any) {
|
||||||
|
const recsectorBachecas: any = searchList.value.find((rec) => rec.table === toolsext.TABSECTORBACHECAS)
|
||||||
|
// console.log('getFilterSkills', recSkill.idSector, recsectors.value)
|
||||||
|
if (recsectorBachecas && recBacheca.idSectorBacheca) {
|
||||||
|
return recBacheca.idSectorBacheca.includes(recsectorBachecas.value)
|
||||||
|
} else {
|
||||||
|
return true
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
function getFilterSubSkills(recSubSkill: any, index: number, arr: any) {
|
function getFilterSubSkills(recSubSkill: any, index: number, arr: any) {
|
||||||
const recskills: any = searchList.value.find((rec) => rec.table === 'skills')
|
const recskills: any = searchList.value.find((rec) => rec.table === 'skills')
|
||||||
@@ -614,9 +623,9 @@ export default defineComponent({
|
|||||||
{
|
{
|
||||||
visible: true,
|
visible: true,
|
||||||
label: 'Settore',
|
label: 'Settore',
|
||||||
table: toolsext.TABSECTORS,
|
table: toolsext.TABSECTORBACHECAS,
|
||||||
key: 'idSector',
|
key: 'idSectorBacheca',
|
||||||
value: tools.getCookie(tools.COOK_SEARCH + costanti.FILTER_SEP + props.table + costanti.FILTER_SEP + toolsext.TABSECTORS, 0, true),
|
value: tools.getCookie(tools.COOK_SEARCH + costanti.FILTER_SEP + props.table + costanti.FILTER_SEP + toolsext.TABSECTORBACHECAS, 0, true),
|
||||||
arrvalue: [],
|
arrvalue: [],
|
||||||
type: costanti.FieldType.select,
|
type: costanti.FieldType.select,
|
||||||
filter: null,
|
filter: null,
|
||||||
@@ -624,6 +633,19 @@ export default defineComponent({
|
|||||||
notinsearch: false,
|
notinsearch: false,
|
||||||
useinput: false,
|
useinput: false,
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
visible: true,
|
||||||
|
label: 'Categoria',
|
||||||
|
table: 'bachecas',
|
||||||
|
key: 'idBacheca',
|
||||||
|
value: tools.getCookie(tools.COOK_SEARCH + costanti.FILTER_SEP + props.table + costanti.FILTER_SEP + tools.getCookie(tools.COOK_SEARCH + toolsext.TABSECTORBACHECAS, costanti.FILTER_TUTTI), costanti.FILTER_TUTTI, true),
|
||||||
|
arrvalue: [],
|
||||||
|
type: costanti.FieldType.select,
|
||||||
|
addall: true,
|
||||||
|
filter: getFilterBachecas,
|
||||||
|
showcount: true,
|
||||||
|
useinput: false,
|
||||||
|
},
|
||||||
{
|
{
|
||||||
visible: true,
|
visible: true,
|
||||||
label: 'Data Inizio',
|
label: 'Data Inizio',
|
||||||
@@ -898,7 +920,7 @@ export default defineComponent({
|
|||||||
{
|
{
|
||||||
visible: true,
|
visible: true,
|
||||||
label: 'Settore',
|
label: 'Settore',
|
||||||
table: 'sectorgoods',
|
table: toolsext.TABSECTORGOODS,
|
||||||
key: 'idSectorGood',
|
key: 'idSectorGood',
|
||||||
value: tools.getCookie(tools.COOK_SEARCH + costanti.FILTER_SEP + props.table + costanti.FILTER_SEP + toolsext.TABSECTORGOODS, 0, true),
|
value: tools.getCookie(tools.COOK_SEARCH + costanti.FILTER_SEP + props.table + costanti.FILTER_SEP + toolsext.TABSECTORGOODS, 0, true),
|
||||||
arrvalue: [],
|
arrvalue: [],
|
||||||
@@ -911,7 +933,7 @@ export default defineComponent({
|
|||||||
{
|
{
|
||||||
visible: true,
|
visible: true,
|
||||||
label: 'Categoria',
|
label: 'Categoria',
|
||||||
table: 'goods',
|
table: toolsext.TABGOODS,
|
||||||
key: 'idGood',
|
key: 'idGood',
|
||||||
value: tools.getCookie(tools.COOK_SEARCH + costanti.FILTER_SEP + props.table + costanti.FILTER_SEP + tools.getCookie(tools.COOK_SEARCH + toolsext.TABSECTORGOODS, costanti.FILTER_TUTTI), costanti.FILTER_TUTTI, true),
|
value: tools.getCookie(tools.COOK_SEARCH + costanti.FILTER_SEP + props.table + costanti.FILTER_SEP + tools.getCookie(tools.COOK_SEARCH + toolsext.TABSECTORGOODS, costanti.FILTER_TUTTI), costanti.FILTER_TUTTI, true),
|
||||||
arrvalue: [],
|
arrvalue: [],
|
||||||
|
|||||||
@@ -5,10 +5,10 @@ import {
|
|||||||
|
|
||||||
import { tools } from '@tools'
|
import { tools } from '@tools'
|
||||||
|
|
||||||
import { shared_consts } from '@src/common/shared_vuejs'
|
import { shared_consts } from '@/common/shared_vuejs'
|
||||||
import { useI18n } from 'vue-i18n'
|
import { useI18n } from 'vue-i18n'
|
||||||
import { useRouter } from 'vue-router'
|
import { useRouter } from 'vue-router'
|
||||||
import { static_data } from '@src/db/static_data'
|
import { static_data } from '@/db/static_data'
|
||||||
import { useGlobalStore } from '@store/globalStore'
|
import { useGlobalStore } from '@store/globalStore'
|
||||||
import { useUserStore } from '@store/UserStore'
|
import { useUserStore } from '@store/UserStore'
|
||||||
|
|
||||||
|
|||||||
@@ -2,8 +2,8 @@ import { defineComponent, ref, computed, PropType, toRef, onMounted, onBeforeUnm
|
|||||||
import { useGlobalStore } from '@store/globalStore'
|
import { useGlobalStore } from '@store/globalStore'
|
||||||
import { useI18n } from 'vue-i18n'
|
import { useI18n } from 'vue-i18n'
|
||||||
import { tools } from '@tools'
|
import { tools } from '@tools'
|
||||||
import { LandingFooter } from '@src/components/LandingFooter'
|
import { LandingFooter } from '@/components/LandingFooter'
|
||||||
import { Logo } from '@src/components/logo'
|
import { Logo } from '@/components/logo'
|
||||||
import type { IMyPage } from 'model'
|
import type { IMyPage } from 'model'
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -5,7 +5,7 @@ import { useUserStore } from '@store/UserStore';
|
|||||||
import { useQuasar } from 'quasar';
|
import { useQuasar } from 'quasar';
|
||||||
import type { IImgGallery } from 'model';
|
import type { IImgGallery } from 'model';
|
||||||
import { IGallery } from 'model';
|
import { IGallery } from 'model';
|
||||||
import { CMyPage } from '@src/components/CMyPage';
|
import { CMyPage } from '@/components/CMyPage';
|
||||||
import { tools } from '@tools';
|
import { tools } from '@tools';
|
||||||
import { useGlobalStore } from '@store/globalStore';
|
import { useGlobalStore } from '@store/globalStore';
|
||||||
import { costanti } from '@costanti';
|
import { costanti } from '@costanti';
|
||||||
|
|||||||
@@ -5,7 +5,7 @@ import { useUserStore } from '@store/UserStore'
|
|||||||
import { useQuasar } from 'quasar'
|
import { useQuasar } from 'quasar'
|
||||||
import type { IImgGallery } from 'model';
|
import type { IImgGallery } from 'model';
|
||||||
import { IGallery } from 'model'
|
import { IGallery } from 'model'
|
||||||
import { CMyPage } from '@src/components/CMyPage'
|
import { CMyPage } from '@/components/CMyPage'
|
||||||
import { tools } from '@tools'
|
import { tools } from '@tools'
|
||||||
import { useGlobalStore } from '@store/globalStore'
|
import { useGlobalStore } from '@store/globalStore'
|
||||||
import { costanti } from '@costanti'
|
import { costanti } from '@costanti'
|
||||||
|
|||||||
File diff suppressed because it is too large
Load Diff
@@ -1,3 +1,10 @@
|
|||||||
|
$shadow-sm: 0 1px 2px rgba(0, 0, 0, 0.06);
|
||||||
|
$shadow-md: 0 2px 6px rgba(0, 0, 0, 0.08);
|
||||||
|
$shadow-hover: 0 4px 12px rgba(25, 118, 210, 0.15);
|
||||||
|
|
||||||
|
// ========================================
|
||||||
|
// TABLE STYLES
|
||||||
|
// ========================================
|
||||||
.colmodif {
|
.colmodif {
|
||||||
cursor: pointer;
|
cursor: pointer;
|
||||||
}
|
}
|
||||||
@@ -10,7 +17,7 @@
|
|||||||
.tdclass,
|
.tdclass,
|
||||||
.trclass {
|
.trclass {
|
||||||
min-height: 20px !important;
|
min-height: 20px !important;
|
||||||
margin-top: 5px;
|
margin-top: 3px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.q-table td {
|
.q-table td {
|
||||||
@@ -41,85 +48,182 @@
|
|||||||
|
|
||||||
.riduci_pad {
|
.riduci_pad {
|
||||||
min-height: 30px;
|
min-height: 30px;
|
||||||
padding: 4px 8px !important;
|
padding: 3px 6px !important;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
.q-table__top {
|
.q-table__top {
|
||||||
padding-top: 0 !important;
|
padding-top: 0 !important;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// ========================================
|
||||||
|
// DIALOG & LAYOUT
|
||||||
|
// ========================================
|
||||||
.right-align-dialog .q-dialog {
|
.right-align-dialog .q-dialog {
|
||||||
right: 0;
|
right: 0;
|
||||||
/* Allinea a destra */
|
|
||||||
left: auto;
|
left: auto;
|
||||||
/* Disabilita l'allineamento a sinistra */
|
|
||||||
margin: 0;
|
margin: 0;
|
||||||
/* Rimuovi qualsiasi margine */
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
.flexible-width {
|
.flexible-width {
|
||||||
flex: 1;
|
flex: 1;
|
||||||
/* permette al componente di espandersi */
|
|
||||||
max-width: 500px;
|
max-width: 500px;
|
||||||
/* larghezza massima di 600px */
|
|
||||||
}
|
}
|
||||||
|
|
||||||
.hint_search {
|
.hint_search {
|
||||||
color: gray;
|
color: gray;
|
||||||
}
|
}
|
||||||
|
|
||||||
.clOrizzontal{
|
// ========================================
|
||||||
|
// CAROUSEL STYLES - MODERNIZZATI
|
||||||
}
|
// ========================================
|
||||||
.q-carousel__slide {
|
.q-carousel__slide {
|
||||||
padding: 8px !important;
|
padding: 5px !important;
|
||||||
|
|
||||||
|
@media (max-width: $mobile-breakpoint) {
|
||||||
|
padding: 3px !important;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
.carousel-scroll-container {
|
.carousel-scroll-container {
|
||||||
overflow-y: auto; /* Permette lo scrolling verticale */
|
overflow-y: auto;
|
||||||
|
max-height: calc(100vh - 120px);
|
||||||
|
|
||||||
|
&::-webkit-scrollbar {
|
||||||
|
width: 6px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.modern-grid-toolbar {
|
&::-webkit-scrollbar-track {
|
||||||
background: linear-gradient(135deg, #1976d2 0%, #1565c0 100%);
|
background: rgba(0, 0, 0, 0.05);
|
||||||
color: white;
|
border-radius: 3px;
|
||||||
padding: 12px 16px;
|
|
||||||
min-height: 52px;
|
|
||||||
border-radius: 12px 12px 0 0;
|
|
||||||
|
|
||||||
@media (max-width: 768px) {
|
|
||||||
padding: 5px 12px;
|
|
||||||
min-height: 48px;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
.modern-add-btn {
|
&::-webkit-scrollbar-thumb {
|
||||||
padding: 8px 20px;
|
background: rgba(0, 0, 0, 0.2);
|
||||||
font-weight: 600;
|
border-radius: 3px;
|
||||||
transition: all 0.3s;
|
|
||||||
|
|
||||||
&:hover {
|
&:hover {
|
||||||
transform: translateY(-2px);
|
background: rgba(0, 0, 0, 0.3);
|
||||||
box-shadow: 0 4px 12px rgba(25, 118, 210, 0.3);
|
|
||||||
}
|
|
||||||
@media (max-width: 768px) {
|
|
||||||
padding: 4px 20px;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@media (max-width: $mobile-breakpoint) {
|
||||||
|
max-height: calc(100vh - 100px);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// ========================================
|
||||||
|
// TOOLBAR MODERNO
|
||||||
|
// ========================================
|
||||||
|
.modern-grid-toolbar {
|
||||||
|
background: linear-gradient(135deg, $primary-color 0%, #1565c0 100%);
|
||||||
|
color: white;
|
||||||
|
padding: 10px 14px;
|
||||||
|
min-height: 50px;
|
||||||
|
border-radius: $border-radius $border-radius 0 0;
|
||||||
|
box-shadow: $shadow-sm;
|
||||||
|
|
||||||
|
@media (max-width: $mobile-breakpoint) {
|
||||||
|
padding: 8px 12px;
|
||||||
|
min-height: 46px;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// ========================================
|
||||||
|
// BUTTON MODERNO
|
||||||
|
// ========================================
|
||||||
|
.modern-add-btn {
|
||||||
|
padding: 6px 18px;
|
||||||
|
font-weight: 600;
|
||||||
|
transition: all $transition-speed;
|
||||||
|
box-shadow: $shadow-sm;
|
||||||
|
|
||||||
|
&:hover {
|
||||||
|
transform: translateY(-1px);
|
||||||
|
box-shadow: $shadow-hover;
|
||||||
|
}
|
||||||
|
|
||||||
|
@media (max-width: $mobile-breakpoint) {
|
||||||
|
padding: 5px 16px;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// ========================================
|
||||||
|
// INFINITE SCROLL
|
||||||
|
// ========================================
|
||||||
|
// ========================================
|
||||||
|
// GRID LAYOUT PER CARD
|
||||||
|
// ========================================
|
||||||
.q-infinite-scroll {
|
.q-infinite-scroll {
|
||||||
padding: 8px;
|
|
||||||
gap: 10px;
|
|
||||||
|
|
||||||
@media (max-width: 768px) {
|
|
||||||
padding: 6px;
|
padding: 6px;
|
||||||
gap: 8px;
|
gap: 8px;
|
||||||
|
|
||||||
|
// Desktop: layout a griglia 2 colonne
|
||||||
|
@media (min-width: $mobile-breakpoint) {
|
||||||
|
display: grid;
|
||||||
|
grid-template-columns: repeat(2, 1fr);
|
||||||
|
gap: 10px;
|
||||||
|
padding: 8px;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Desktop large: 3 colonne per schermi molto larghi
|
||||||
|
@media (min-width: 1400px) {
|
||||||
|
grid-template-columns: repeat(2, 1fr);
|
||||||
|
gap: 12px;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Mobile: colonna singola
|
||||||
|
@media (max-width: $mobile-breakpoint) {
|
||||||
|
display: flex;
|
||||||
|
flex-direction: column;
|
||||||
|
padding: 5px;
|
||||||
|
gap: 6px;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// ========================================
|
||||||
|
// DIALOG CARDS
|
||||||
|
// ========================================
|
||||||
.q-dialog {
|
.q-dialog {
|
||||||
:deep(.modern-card) {
|
:deep(.modern-card) {
|
||||||
box-shadow: 0 8px 32px rgba(0, 0, 0, 0.15);
|
box-shadow: 0 6px 24px rgba(0, 0, 0, 0.12);
|
||||||
|
border-radius: $border-radius;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// ========================================
|
||||||
|
// FIXED TOGGLE
|
||||||
|
// ========================================
|
||||||
|
.fixed-toggle {
|
||||||
|
position: fixed;
|
||||||
|
top: 70px;
|
||||||
|
right: 12px;
|
||||||
|
z-index: 1000;
|
||||||
|
box-shadow: $shadow-md;
|
||||||
|
border-radius: 20px;
|
||||||
|
background: white;
|
||||||
|
padding: 4px 8px;
|
||||||
|
|
||||||
|
@media (max-width: $mobile-breakpoint) {
|
||||||
|
top: 65px;
|
||||||
|
right: 10px;
|
||||||
|
padding: 3px 6px;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
.grid-card-item {
|
||||||
|
width: 100%;
|
||||||
|
background: rgba(255, 255, 255, 0.7);
|
||||||
|
backdrop-filter: blur(8px);
|
||||||
|
border-radius: 12px;
|
||||||
|
border: 1px solid rgba(255, 255, 255, 0.9);
|
||||||
|
box-shadow: 0 2px 12px rgba(0, 0, 0, 0.08);
|
||||||
|
padding: 8px; // Spazio tra carousel e card
|
||||||
|
|
||||||
|
@media (max-width: $mobile-breakpoint) {
|
||||||
|
width: 100%;
|
||||||
|
padding: 4px; // Ridotto su mobile
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.fill-all-width {
|
||||||
|
width: 100%;
|
||||||
|
}
|
||||||
@@ -18,7 +18,7 @@ import { tools } from '../../store/Modules/tools';
|
|||||||
|
|
||||||
import { fieldsTable } from '@store/Modules/fieldsTable';
|
import { fieldsTable } from '@store/Modules/fieldsTable';
|
||||||
|
|
||||||
import { shared_consts } from '@src/common/shared_vuejs';
|
import { shared_consts } from '@/common/shared_vuejs';
|
||||||
|
|
||||||
import type {
|
import type {
|
||||||
IColGridTable,
|
IColGridTable,
|
||||||
@@ -52,20 +52,20 @@ import { useUserStore } from '@store/UserStore';
|
|||||||
import { useGlobalStore } from '@store/globalStore';
|
import { useGlobalStore } from '@store/globalStore';
|
||||||
import { useQuasar, exportFile } from 'quasar';
|
import { useQuasar, exportFile } from 'quasar';
|
||||||
import { costanti } from '@costanti';
|
import { costanti } from '@costanti';
|
||||||
import translate from '@src/globalroutines/util';
|
import translate from '@/globalroutines/util';
|
||||||
import { toolsext } from '@store/Modules/toolsext';
|
import { toolsext } from '@store/Modules/toolsext';
|
||||||
import { CMyCardPopup } from '@src/components/CMyCardPopup';
|
import { CMyCardPopup } from '@/components/CMyCardPopup';
|
||||||
import { CMyCardService } from '@src/components/CMyCardService';
|
import { CMyCardService } from '@/components/CMyCardService';
|
||||||
import { CSingleMovement } from '@src/components/CSingleMovement';
|
import { CSingleMovement } from '@/components/CSingleMovement';
|
||||||
import { CMyCardGrpPopup } from '@src/components/CMyCardGrpPopup';
|
import { CMyCardGrpPopup } from '@/components/CMyCardGrpPopup';
|
||||||
import { CMyCardCircuitPopup } from '@src/components/CMyCardCircuitPopup';
|
import { CMyCardCircuitPopup } from '@/components/CMyCardCircuitPopup';
|
||||||
import { onBeforeRouteLeave, onBeforeRouteUpdate, useRouter } from 'vue-router';
|
import { onBeforeRouteLeave, onBeforeRouteUpdate, useRouter } from 'vue-router';
|
||||||
import { useRoute } from 'vue-router';
|
import { useRoute } from 'vue-router';
|
||||||
import { NavigationGuardNext, RouteLocationNormalized } from 'vue-router';
|
import { NavigationGuardNext, RouteLocationNormalized } from 'vue-router';
|
||||||
|
|
||||||
import { Dialog } from 'quasar'; // Assicurati di importare correttamente Dialog da Quasar.
|
import { Dialog } from 'quasar'; // Assicurati di importare correttamente Dialog da Quasar.
|
||||||
|
|
||||||
import { getMapBoundaries } from '@src/store/Modules/geocodingmap';
|
import { getMapBoundaries } from '@/store/Modules/geocodingmap';
|
||||||
import { isMap } from 'util/types';
|
import { isMap } from 'util/types';
|
||||||
|
|
||||||
export default defineComponent({
|
export default defineComponent({
|
||||||
@@ -854,6 +854,8 @@ export default defineComponent({
|
|||||||
setCategBySector(shared_consts.TABLES_MYSKILLS, table, newval);
|
setCategBySector(shared_consts.TABLES_MYSKILLS, table, newval);
|
||||||
} else if (table === toolsext.TABSECTORGOODS) {
|
} else if (table === toolsext.TABSECTORGOODS) {
|
||||||
setCategBySector(toolsext.TABGOODS, table, newval);
|
setCategBySector(toolsext.TABGOODS, table, newval);
|
||||||
|
} else if (table === toolsext.TABSECTORBACHECAS) {
|
||||||
|
setCategBySector(toolsext.TABBACHECAS, table, newval);
|
||||||
} else if (table === toolsext.TABREGIONS) {
|
} else if (table === toolsext.TABREGIONS) {
|
||||||
setProvinceByRegion(toolsext.TABPROVINCE, table, newval);
|
setProvinceByRegion(toolsext.TABPROVINCE, table, newval);
|
||||||
} else if (table === toolsext.TABGOODS) {
|
} else if (table === toolsext.TABGOODS) {
|
||||||
@@ -872,6 +874,22 @@ export default defineComponent({
|
|||||||
newval
|
newval
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
} else if (table === toolsext.TABBACHECAS) {
|
||||||
|
const recSector = searchList.value.find(
|
||||||
|
(rec) => rec.table === toolsext.TABSECTORBACHECAS
|
||||||
|
);
|
||||||
|
if (recSector) {
|
||||||
|
tools.setCookie(
|
||||||
|
tools.COOK_SEARCH +
|
||||||
|
costanti.FILTER_SEP +
|
||||||
|
mytable.value +
|
||||||
|
costanti.FILTER_SEP +
|
||||||
|
table +
|
||||||
|
costanti.FILTER_SEP +
|
||||||
|
recSector.value,
|
||||||
|
newval
|
||||||
|
);
|
||||||
|
}
|
||||||
} else if (table === shared_consts.TABLES_LISTA_EDITORI) {
|
} else if (table === shared_consts.TABLES_LISTA_EDITORI) {
|
||||||
const rec = searchList.value.find((rec) => rec.table === table);
|
const rec = searchList.value.find((rec) => rec.table === table);
|
||||||
if (rec) {
|
if (rec) {
|
||||||
@@ -1029,12 +1047,14 @@ export default defineComponent({
|
|||||||
|
|
||||||
let recSector = null;
|
let recSector = null;
|
||||||
let recSectorGood = null;
|
let recSectorGood = null;
|
||||||
|
let recSectorBacheca = null;
|
||||||
let recCities = null;
|
let recCities = null;
|
||||||
let recRegion = null;
|
let recRegion = null;
|
||||||
let recProvince = null;
|
let recProvince = null;
|
||||||
let recSkill = null;
|
let recSkill = null;
|
||||||
let idSector = 0;
|
let idSector = 0;
|
||||||
let idSectorGood = 0;
|
let idSectorGood = 0;
|
||||||
|
let idSectorBacheca = 0;
|
||||||
let idProvince = 0;
|
let idProvince = 0;
|
||||||
let idRegion = 0;
|
let idRegion = 0;
|
||||||
let idSkill = 0;
|
let idSkill = 0;
|
||||||
@@ -1046,10 +1066,16 @@ export default defineComponent({
|
|||||||
}
|
}
|
||||||
if (searchList.value) {
|
if (searchList.value) {
|
||||||
recSectorGood = searchList.value.find(
|
recSectorGood = searchList.value.find(
|
||||||
(item: ISearchList) => item.table === 'sectorgoods'
|
(item: ISearchList) => item.table === toolsext.TABSECTORGOODS
|
||||||
);
|
);
|
||||||
idSectorGood = recSectorGood ? recSectorGood.value : 0;
|
idSectorGood = recSectorGood ? recSectorGood.value : 0;
|
||||||
}
|
}
|
||||||
|
if (searchList.value) {
|
||||||
|
recSectorBacheca = searchList.value.find(
|
||||||
|
(item: ISearchList) => item.table === toolsext.TABSECTORBACHECAS
|
||||||
|
);
|
||||||
|
idSectorBacheca = recSectorBacheca ? recSectorBacheca.value : 0;
|
||||||
|
}
|
||||||
if (searchList.value) {
|
if (searchList.value) {
|
||||||
recProvince = searchList.value.find(
|
recProvince = searchList.value.find(
|
||||||
(item: ISearchList) => item.table === 'provinces'
|
(item: ISearchList) => item.table === 'provinces'
|
||||||
@@ -1315,13 +1341,20 @@ export default defineComponent({
|
|||||||
obj2.idSkill = idSkill;
|
obj2.idSkill = idSkill;
|
||||||
filtersearch2.push(obj2);
|
filtersearch2.push(obj2);
|
||||||
}
|
}
|
||||||
} else if (item.table === 'goods' && item.value === costanti.FILTER_TUTTI) {
|
} else if (item.table === toolsext.TABGOODS && item.value === costanti.FILTER_TUTTI) {
|
||||||
const obj2: any = {};
|
const obj2: any = {};
|
||||||
if (idSectorGood > 0) {
|
if (idSectorGood > 0) {
|
||||||
// idSectorGood
|
// idSectorGood
|
||||||
obj2['sectorGood._id'] = idSectorGood;
|
obj2['sectorGood._id'] = idSectorGood;
|
||||||
filtersearch2.push(obj2);
|
filtersearch2.push(obj2);
|
||||||
}
|
}
|
||||||
|
} else if (item.table === toolsext.TABBACHECAS && item.value === costanti.FILTER_TUTTI) {
|
||||||
|
const obj2: any = {};
|
||||||
|
if (idSectorBacheca > 0) {
|
||||||
|
// idSectorBacheca
|
||||||
|
obj2['sectorBacheca._id'] = idSectorBacheca;
|
||||||
|
filtersearch2.push(obj2);
|
||||||
|
}
|
||||||
} else if (
|
} else if (
|
||||||
item.table === 'subskills' &&
|
item.table === 'subskills' &&
|
||||||
item.value === costanti.FILTER_TUTTI
|
item.value === costanti.FILTER_TUTTI
|
||||||
@@ -1451,6 +1484,7 @@ export default defineComponent({
|
|||||||
}
|
}
|
||||||
|
|
||||||
function onRequest(myprops: any) {
|
function onRequest(myprops: any) {
|
||||||
|
try {
|
||||||
const { page, rowsPerPage, rowsNumber, sortBy, descending } = myprops.pagination;
|
const { page, rowsPerPage, rowsNumber, sortBy, descending } = myprops.pagination;
|
||||||
const myfilternow = myfilter.value;
|
const myfilternow = myfilter.value;
|
||||||
const myfilterandnow = myfilterand.value;
|
const myfilterandnow = myfilterand.value;
|
||||||
@@ -1481,7 +1515,14 @@ export default defineComponent({
|
|||||||
|
|
||||||
console.log('onRequest: startRow', startRow, 'endRow', endRow);
|
console.log('onRequest: startRow', startRow, 'endRow', endRow);
|
||||||
|
|
||||||
serverData.value = [];
|
if (page > 1) {
|
||||||
|
// Aggiungi senza duplicati
|
||||||
|
const existingIds = new Set(serverData.value.map((rec) => rec._id));
|
||||||
|
const toadd = returnedData.value.filter((elem) => !existingIds.has(elem._id));
|
||||||
|
serverData.value = [...serverData.value, ...toadd];
|
||||||
|
} else {
|
||||||
|
serverData.value = [...returnedData.value];
|
||||||
|
}
|
||||||
|
|
||||||
// fetch data from "server"
|
// fetch data from "server"
|
||||||
return fetchFromServer(
|
return fetchFromServer(
|
||||||
@@ -1529,6 +1570,9 @@ export default defineComponent({
|
|||||||
|
|
||||||
checkScrollPosition();
|
checkScrollPosition();
|
||||||
});
|
});
|
||||||
|
} catch (e) {
|
||||||
|
console.error('Error onrequest', e);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
function onUpdateData(index: number, myprops: any, done: any) {
|
function onUpdateData(index: number, myprops: any, done: any) {
|
||||||
@@ -1768,6 +1812,20 @@ export default defineComponent({
|
|||||||
}
|
}
|
||||||
);
|
);
|
||||||
|
|
||||||
|
watch(
|
||||||
|
() => searchList.value,
|
||||||
|
(to, from) => {
|
||||||
|
if (
|
||||||
|
searchList.value &&
|
||||||
|
!changetable.value &&
|
||||||
|
!startsearch.value &&
|
||||||
|
!loading.value
|
||||||
|
) {
|
||||||
|
refresh();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
);
|
||||||
|
|
||||||
/*watch(() => myfilterand.value, (newval, oldval) => {
|
/*watch(() => myfilterand.value, (newval, oldval) => {
|
||||||
refresh()
|
refresh()
|
||||||
})*/
|
})*/
|
||||||
@@ -1818,6 +1876,14 @@ export default defineComponent({
|
|||||||
newRecord.value.idGood = item.idGood;
|
newRecord.value.idGood = item.idGood;
|
||||||
console.log('newRecord', newRecord);
|
console.log('newRecord', newRecord);
|
||||||
}
|
}
|
||||||
|
} else if (col.jointable === toolsext.TABSECTORBACHECAS) {
|
||||||
|
// Sbianca la select della Categoria Eventi
|
||||||
|
|
||||||
|
if (tools.existProp(item, 'idBacheca')) {
|
||||||
|
item.idGood = costanti.FILTER_NESSUNO;
|
||||||
|
newRecord.value.idBacheca = item.idBacheca;
|
||||||
|
console.log('newRecord', newRecord);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
rowsel.value = item;
|
rowsel.value = item;
|
||||||
idsel = item._id;
|
idsel = item._id;
|
||||||
@@ -2775,7 +2841,7 @@ export default defineComponent({
|
|||||||
return '';
|
return '';
|
||||||
}
|
}
|
||||||
|
|
||||||
function cmdExt(cmd: any, id: any, myrec: any) {
|
async function cmdExt(cmd: any, id: any, myrec: any) {
|
||||||
console.log('cmd', cmd);
|
console.log('cmd', cmd);
|
||||||
|
|
||||||
if (cmd === costanti.CMD_CLONE) {
|
if (cmd === costanti.CMD_CLONE) {
|
||||||
@@ -2792,9 +2858,11 @@ export default defineComponent({
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (cmd === costanti.CMD_SHOW_PAGE) {
|
if (cmd === costanti.CMD_SHOW_PAGE) {
|
||||||
visupagedialog.value = true;
|
visupagedialog.value = false;
|
||||||
|
await nextTick();
|
||||||
myrecdialog.value = myrec;
|
myrecdialog.value = myrec;
|
||||||
myIdRecDialog.value = id;
|
myIdRecDialog.value = id;
|
||||||
|
visupagedialog.value = true;
|
||||||
return true;
|
return true;
|
||||||
} else if (cmd === costanti.CMD_OPEN_PAGE) {
|
} else if (cmd === costanti.CMD_OPEN_PAGE) {
|
||||||
router.push(tools.getPathByTableAndRec(mytable.value, myrec));
|
router.push(tools.getPathByTableAndRec(mytable.value, myrec));
|
||||||
|
|||||||
@@ -7,9 +7,9 @@
|
|||||||
<q-toggle
|
<q-toggle
|
||||||
v-if="tools.isCollaboratore() && !showMap && editOn"
|
v-if="tools.isCollaboratore() && !showMap && editOn"
|
||||||
v-model="editOn"
|
v-model="editOn"
|
||||||
|
label="Abilita Modifiche"
|
||||||
color="green"
|
color="green"
|
||||||
icon="fas fa-pencil-alt"
|
icon="fas fa-pencil-alt"
|
||||||
class="fixed-toggle"
|
|
||||||
>
|
>
|
||||||
</q-toggle>
|
</q-toggle>
|
||||||
<div
|
<div
|
||||||
@@ -499,6 +499,7 @@
|
|||||||
v-for="(rec, indexrow) in serverData"
|
v-for="(rec, indexrow) in serverData"
|
||||||
:key="indexrow"
|
:key="indexrow"
|
||||||
:name="indexrow"
|
:name="indexrow"
|
||||||
|
class="grid-card-item"
|
||||||
>
|
>
|
||||||
<CMyRecCard
|
<CMyRecCard
|
||||||
:table="tablesel"
|
:table="tablesel"
|
||||||
@@ -512,7 +513,6 @@
|
|||||||
</q-carousel>
|
</q-carousel>
|
||||||
<q-infinite-scroll
|
<q-infinite-scroll
|
||||||
ref="myinfscroll"
|
ref="myinfscroll"
|
||||||
v-if="!loading"
|
|
||||||
:initial-index="0"
|
:initial-index="0"
|
||||||
@load="loadMore"
|
@load="loadMore"
|
||||||
:offset="350"
|
:offset="350"
|
||||||
@@ -525,14 +525,12 @@
|
|||||||
ref="myinfscroll"
|
ref="myinfscroll"
|
||||||
v-else-if="
|
v-else-if="
|
||||||
shared_consts.VERTIC_SHOW_GRID.includes(myvertical) &&
|
shared_consts.VERTIC_SHOW_GRID.includes(myvertical) &&
|
||||||
!loading &&
|
|
||||||
alreadymounting
|
alreadymounting
|
||||||
"
|
"
|
||||||
:initial-index="0"
|
:initial-index="0"
|
||||||
@load="onLoadScroll"
|
@load="onLoadScroll"
|
||||||
:offset="350"
|
:offset="350"
|
||||||
debounce="300"
|
debounce="300"
|
||||||
scroll-target=".carousel-scroll-container"
|
|
||||||
>
|
>
|
||||||
<div v-if="showHeaderCol">
|
<div v-if="showHeaderCol">
|
||||||
<div
|
<div
|
||||||
@@ -558,7 +556,7 @@
|
|||||||
>
|
>
|
||||||
<div
|
<div
|
||||||
v-for="(row, indexrow) in serverData"
|
v-for="(row, indexrow) in serverData"
|
||||||
:key="indexrow"
|
:key="row._id || indexrow"
|
||||||
:class="{
|
:class="{
|
||||||
row: opt.rowclass,
|
row: opt.rowclass,
|
||||||
'items-stretch': opt.rowclass,
|
'items-stretch': opt.rowclass,
|
||||||
@@ -702,7 +700,6 @@
|
|||||||
<q-table
|
<q-table
|
||||||
v-else-if="
|
v-else-if="
|
||||||
!shared_consts.VERTIC_SHOW_GRID.includes(myvertical) &&
|
!shared_consts.VERTIC_SHOW_GRID.includes(myvertical) &&
|
||||||
!loading &&
|
|
||||||
serverData &&
|
serverData &&
|
||||||
mycolumns
|
mycolumns
|
||||||
"
|
"
|
||||||
@@ -1321,6 +1318,7 @@
|
|||||||
|
|
||||||
<q-dialog
|
<q-dialog
|
||||||
v-model="showSearchDialog"
|
v-model="showSearchDialog"
|
||||||
|
:seamless="$q.screen.gt.xs"
|
||||||
transition-show="slide-up"
|
transition-show="slide-up"
|
||||||
transition-hide="slide-down"
|
transition-hide="slide-down"
|
||||||
class="q-dialog-fullscreen no-padding-dialog"
|
class="q-dialog-fullscreen no-padding-dialog"
|
||||||
@@ -1407,6 +1405,7 @@
|
|||||||
@hide="hidewindow"
|
@hide="hidewindow"
|
||||||
:maximized="$q.screen.lt.sm"
|
:maximized="$q.screen.lt.sm"
|
||||||
:persistent="false"
|
:persistent="false"
|
||||||
|
:seamless="$q.screen.gt.xs"
|
||||||
:class="
|
:class="
|
||||||
'dialog_annunci ' + ($q.screen.lt.sm ? 'bottom-dialog' : ' right-align-dialog')
|
'dialog_annunci ' + ($q.screen.lt.sm ? 'bottom-dialog' : ' right-align-dialog')
|
||||||
"
|
"
|
||||||
@@ -1507,6 +1506,7 @@
|
|||||||
@hide="hidewindow"
|
@hide="hidewindow"
|
||||||
class="dialog_class"
|
class="dialog_class"
|
||||||
:persistent="true"
|
:persistent="true"
|
||||||
|
:seamless="$q.screen.gt.xs"
|
||||||
:maximized="$q.screen.lt.sm"
|
:maximized="$q.screen.lt.sm"
|
||||||
>
|
>
|
||||||
<q-card class="dialog_card">
|
<q-card class="dialog_card">
|
||||||
@@ -1585,11 +1585,6 @@
|
|||||||
</div>
|
</div>
|
||||||
</q-card-section>
|
</q-card-section>
|
||||||
<q-card-actions align="center">
|
<q-card-actions align="center">
|
||||||
<q-btn
|
|
||||||
:label="t('dialog.insert')"
|
|
||||||
color="primary"
|
|
||||||
@click="saveNewRecord"
|
|
||||||
></q-btn>
|
|
||||||
<q-btn
|
<q-btn
|
||||||
flat
|
flat
|
||||||
:label="t('dialog.cancel')"
|
:label="t('dialog.cancel')"
|
||||||
@@ -1597,12 +1592,18 @@
|
|||||||
v-close-popup
|
v-close-popup
|
||||||
@click="annulla"
|
@click="annulla"
|
||||||
></q-btn>
|
></q-btn>
|
||||||
|
<q-btn
|
||||||
|
:label="t('dialog.insert')"
|
||||||
|
color="primary"
|
||||||
|
@click="saveNewRecord"
|
||||||
|
></q-btn>
|
||||||
</q-card-actions>
|
</q-card-actions>
|
||||||
</q-card>
|
</q-card>
|
||||||
</q-dialog>
|
</q-dialog>
|
||||||
<q-dialog
|
<q-dialog
|
||||||
v-model="editRecordBool"
|
v-model="editRecordBool"
|
||||||
@hide="hidewindowEdit"
|
@hide="hidewindowEdit"
|
||||||
|
:seamless="$q.screen.gt.xs"
|
||||||
:maximized="$q.screen.lt.sm"
|
:maximized="$q.screen.lt.sm"
|
||||||
>
|
>
|
||||||
<q-card class="dialog_card">
|
<q-card class="dialog_card">
|
||||||
@@ -1675,17 +1676,17 @@
|
|||||||
</div>
|
</div>
|
||||||
</q-card-section>
|
</q-card-section>
|
||||||
<q-card-actions align="center">
|
<q-card-actions align="center">
|
||||||
<q-btn
|
|
||||||
:label="t('dialog.save')"
|
|
||||||
color="primary"
|
|
||||||
@click="saverecModif"
|
|
||||||
></q-btn>
|
|
||||||
<q-btn
|
<q-btn
|
||||||
flat
|
flat
|
||||||
:label="t('dialog.cancel')"
|
:label="t('dialog.cancel')"
|
||||||
color="primary"
|
color="primary"
|
||||||
@click="cancelrecModif"
|
@click="cancelrecModif"
|
||||||
></q-btn>
|
></q-btn>
|
||||||
|
<q-btn
|
||||||
|
:label="t('dialog.save')"
|
||||||
|
color="primary"
|
||||||
|
@click="saverecModif"
|
||||||
|
></q-btn>
|
||||||
</q-card-actions>
|
</q-card-actions>
|
||||||
</q-card>
|
</q-card>
|
||||||
</q-dialog>
|
</q-dialog>
|
||||||
|
|||||||
@@ -1,16 +1,3 @@
|
|||||||
// ========================================
|
|
||||||
// VARIABILI
|
|
||||||
// ========================================
|
|
||||||
$primary-color: #1976d2;
|
|
||||||
$grey-color: #666;
|
|
||||||
$grey-light: #999;
|
|
||||||
|
|
||||||
$border-radius: 8px;
|
|
||||||
$border-radius-sm: 6px;
|
|
||||||
$transition-speed: 0.3s;
|
|
||||||
|
|
||||||
$shadow-sm: 0 1px 3px rgba(0, 0, 0, 0.08);
|
|
||||||
$mobile-breakpoint: 768px;
|
|
||||||
|
|
||||||
// ========================================
|
// ========================================
|
||||||
// GRID CONTAINER
|
// GRID CONTAINER
|
||||||
|
|||||||
@@ -6,7 +6,7 @@ import { tools } from '../../store/Modules/tools'
|
|||||||
|
|
||||||
import { fieldsTable } from '@store/Modules/fieldsTable'
|
import { fieldsTable } from '@store/Modules/fieldsTable'
|
||||||
|
|
||||||
import { shared_consts } from '@src/common/shared_vuejs'
|
import { shared_consts } from '@/common/shared_vuejs'
|
||||||
|
|
||||||
import type {
|
import type {
|
||||||
IColGridTable,
|
IColGridTable,
|
||||||
@@ -38,7 +38,7 @@ import { useUserStore } from '@store/UserStore'
|
|||||||
import { useGlobalStore } from '@store/globalStore'
|
import { useGlobalStore } from '@store/globalStore'
|
||||||
import { useQuasar, exportFile } from 'quasar'
|
import { useQuasar, exportFile } from 'quasar'
|
||||||
import { costanti } from '@costanti'
|
import { costanti } from '@costanti'
|
||||||
import translate from '@src/globalroutines/util'
|
import translate from '@/globalroutines/util'
|
||||||
import { toolsext } from '@store/Modules/toolsext'
|
import { toolsext } from '@store/Modules/toolsext'
|
||||||
import { useRouter } from 'vue-router'
|
import { useRouter } from 'vue-router'
|
||||||
import { useRoute } from 'vue-router'
|
import { useRoute } from 'vue-router'
|
||||||
@@ -593,6 +593,8 @@ export default defineComponent({
|
|||||||
setCategBySector(shared_consts.TABLES_MYSKILLS, table, newval)
|
setCategBySector(shared_consts.TABLES_MYSKILLS, table, newval)
|
||||||
} else if (table === toolsext.TABSECTORGOODS) {
|
} else if (table === toolsext.TABSECTORGOODS) {
|
||||||
setCategBySector(toolsext.TABGOODS, table, newval)
|
setCategBySector(toolsext.TABGOODS, table, newval)
|
||||||
|
} else if (table === toolsext.TABSECTORBACHECAS) {
|
||||||
|
setCategBySector(toolsext.TABBACHECAS, table, newval)
|
||||||
} else if (table === toolsext.TABREGIONS) {
|
} else if (table === toolsext.TABREGIONS) {
|
||||||
setProvinceByRegion(toolsext.TABPROVINCE, table, newval)
|
setProvinceByRegion(toolsext.TABPROVINCE, table, newval)
|
||||||
} else if (table === toolsext.TABGOODS) {
|
} else if (table === toolsext.TABGOODS) {
|
||||||
@@ -600,7 +602,11 @@ export default defineComponent({
|
|||||||
if (recSector) {
|
if (recSector) {
|
||||||
tools.setCookie(tools.COOK_SEARCH + costanti.FILTER_SEP + mytable.value + costanti.FILTER_SEP + table + costanti.FILTER_SEP + recSector.value, newval)
|
tools.setCookie(tools.COOK_SEARCH + costanti.FILTER_SEP + mytable.value + costanti.FILTER_SEP + table + costanti.FILTER_SEP + recSector.value, newval)
|
||||||
}
|
}
|
||||||
// setCategBySector('sectorgoods', table, newval)
|
} else if (table === toolsext.TABBACHECAS) {
|
||||||
|
const recSector = searchList.value.find((rec) => rec.table === toolsext.TABSECTORBACHECAS)
|
||||||
|
if (recSector) {
|
||||||
|
tools.setCookie(tools.COOK_SEARCH + costanti.FILTER_SEP + mytable.value + costanti.FILTER_SEP + table + costanti.FILTER_SEP + recSector.value, newval)
|
||||||
|
}
|
||||||
} else if (table === shared_consts.TAB_CITIES) {
|
} else if (table === shared_consts.TAB_CITIES) {
|
||||||
const rec = searchList.value.find((myrec) => myrec.table === shared_consts.TAB_CITIES) // check if exist
|
const rec = searchList.value.find((myrec) => myrec.table === shared_consts.TAB_CITIES) // check if exist
|
||||||
if (rec) {
|
if (rec) {
|
||||||
@@ -722,12 +728,14 @@ export default defineComponent({
|
|||||||
|
|
||||||
let recSector = null
|
let recSector = null
|
||||||
let recSectorGood = null
|
let recSectorGood = null
|
||||||
|
let recSectorBacheca = null
|
||||||
let recCities = null
|
let recCities = null
|
||||||
let recRegion = null
|
let recRegion = null
|
||||||
let recProvince = null
|
let recProvince = null
|
||||||
let recSkill = null
|
let recSkill = null
|
||||||
let idSector = 0
|
let idSector = 0
|
||||||
let idSectorGood = 0
|
let idSectorGood = 0
|
||||||
|
let idSectorBacheca = 0
|
||||||
let idProvince = 0
|
let idProvince = 0
|
||||||
let idRegion = 0
|
let idRegion = 0
|
||||||
let idSkill = 0
|
let idSkill = 0
|
||||||
@@ -736,9 +744,12 @@ export default defineComponent({
|
|||||||
recSector = searchList.value.find((item: ISearchList) => item.table === toolsext.TABSECTORS)
|
recSector = searchList.value.find((item: ISearchList) => item.table === toolsext.TABSECTORS)
|
||||||
idSector = recSector ? recSector.value : 0
|
idSector = recSector ? recSector.value : 0
|
||||||
|
|
||||||
recSectorGood = searchList.value.find((item: ISearchList) => item.table === 'sectorgoods')
|
recSectorGood = searchList.value.find((item: ISearchList) => item.table === toolsext.TABSECTORGOODS)
|
||||||
idSectorGood = recSectorGood ? recSectorGood.value : 0
|
idSectorGood = recSectorGood ? recSectorGood.value : 0
|
||||||
|
|
||||||
|
recSectorBacheca = searchList.value.find((item: ISearchList) => item.table === toolsext.TABSECTORBACHECAS)
|
||||||
|
idSectorBacheca = recSectorBacheca ? recSectorBacheca.value : 0
|
||||||
|
|
||||||
recProvince = searchList.value.find((item: ISearchList) => item.table === 'provinces')
|
recProvince = searchList.value.find((item: ISearchList) => item.table === 'provinces')
|
||||||
idProvince = recProvince ? recProvince.value : 0
|
idProvince = recProvince ? recProvince.value : 0
|
||||||
|
|
||||||
@@ -888,13 +899,20 @@ export default defineComponent({
|
|||||||
obj2.idSkill = idSkill
|
obj2.idSkill = idSkill
|
||||||
filtersearch2.push(obj2)
|
filtersearch2.push(obj2)
|
||||||
}
|
}
|
||||||
} else if ((item.table === 'goods') && item.value === costanti.FILTER_TUTTI) {
|
} else if ((item.table === toolsext.TABGOODS) && item.value === costanti.FILTER_TUTTI) {
|
||||||
const obj2: any = {}
|
const obj2: any = {}
|
||||||
if (idSectorGood > 0) {
|
if (idSectorGood > 0) {
|
||||||
// idSectorGood
|
// idSectorGood
|
||||||
obj2['sectorGood._id'] = idSectorGood
|
obj2['sectorGood._id'] = idSectorGood
|
||||||
filtersearch2.push(obj2)
|
filtersearch2.push(obj2)
|
||||||
}
|
}
|
||||||
|
} else if (item.table === toolsext.TABBACHECAS && item.value === costanti.FILTER_TUTTI) {
|
||||||
|
const obj2: any = {};
|
||||||
|
if (idSectorBacheca > 0) {
|
||||||
|
// idSectorBacheca
|
||||||
|
obj2['sectorBacheca._id'] = idSectorBacheca;
|
||||||
|
filtersearch2.push(obj2);
|
||||||
|
}
|
||||||
} else if ((item.table === 'subskills') && item.value === costanti.FILTER_TUTTI) {
|
} else if ((item.table === 'subskills') && item.value === costanti.FILTER_TUTTI) {
|
||||||
const obj2: any = {}
|
const obj2: any = {}
|
||||||
// idSector
|
// idSector
|
||||||
@@ -1313,6 +1331,14 @@ export default defineComponent({
|
|||||||
newRecord.value.idGood = item.idGood
|
newRecord.value.idGood = item.idGood
|
||||||
console.log('newRecord', newRecord)
|
console.log('newRecord', newRecord)
|
||||||
}
|
}
|
||||||
|
} else if (col.jointable === toolsext.TABSECTORBACHECAS) {
|
||||||
|
// Sbianca la select della Categoria Bacheca
|
||||||
|
|
||||||
|
if (tools.existProp(item, 'idBacheca')) {
|
||||||
|
item.idBacheca = costanti.FILTER_NESSUNO
|
||||||
|
newRecord.value.idBacheca = item.idBacheca
|
||||||
|
console.log('newRecord', newRecord)
|
||||||
|
}
|
||||||
}
|
}
|
||||||
rowsel.value = item
|
rowsel.value = item
|
||||||
idsel = item._id
|
idsel = item._id
|
||||||
|
|||||||
@@ -354,11 +354,6 @@
|
|||||||
</div>
|
</div>
|
||||||
</q-card-section>
|
</q-card-section>
|
||||||
<q-card-actions align="center">
|
<q-card-actions align="center">
|
||||||
<q-btn
|
|
||||||
:label="$t('dialog.insert')"
|
|
||||||
color="primary"
|
|
||||||
@click="saveNewRecord"
|
|
||||||
></q-btn>
|
|
||||||
<q-btn
|
<q-btn
|
||||||
flat
|
flat
|
||||||
:label="$t('dialog.cancel')"
|
:label="$t('dialog.cancel')"
|
||||||
@@ -366,6 +361,11 @@
|
|||||||
v-close-popup
|
v-close-popup
|
||||||
@click="annulla"
|
@click="annulla"
|
||||||
></q-btn>
|
></q-btn>
|
||||||
|
<q-btn
|
||||||
|
:label="$t('dialog.insert')"
|
||||||
|
color="primary"
|
||||||
|
@click="saveNewRecord"
|
||||||
|
></q-btn>
|
||||||
</q-card-actions>
|
</q-card-actions>
|
||||||
</q-card>
|
</q-card>
|
||||||
</q-dialog>
|
</q-dialog>
|
||||||
@@ -428,17 +428,17 @@
|
|||||||
</div>
|
</div>
|
||||||
</q-card-section>
|
</q-card-section>
|
||||||
<q-card-actions align="center">
|
<q-card-actions align="center">
|
||||||
<q-btn
|
|
||||||
:label="$t('dialog.ok')"
|
|
||||||
color="primary"
|
|
||||||
@click="saverecModif"
|
|
||||||
></q-btn>
|
|
||||||
<q-btn
|
<q-btn
|
||||||
flat
|
flat
|
||||||
:label="$t('dialog.cancel')"
|
:label="$t('dialog.cancel')"
|
||||||
color="primary"
|
color="primary"
|
||||||
@click="cancelrecModif"
|
@click="cancelrecModif"
|
||||||
></q-btn>
|
></q-btn>
|
||||||
|
<q-btn
|
||||||
|
:label="$t('dialog.ok')"
|
||||||
|
color="primary"
|
||||||
|
@click="saverecModif"
|
||||||
|
></q-btn>
|
||||||
</q-card-actions>
|
</q-card-actions>
|
||||||
</q-card>
|
</q-card>
|
||||||
</q-dialog>
|
</q-dialog>
|
||||||
|
|||||||
@@ -1,13 +1,13 @@
|
|||||||
import { colTableHours } from '@src/store/Modules/fieldsTable'
|
import { colTableHours } from '@/store/Modules/fieldsTable'
|
||||||
|
|
||||||
import { shared_consts } from '@src/common/shared_vuejs'
|
import { shared_consts } from '@/common/shared_vuejs'
|
||||||
import { defineComponent, ref } from 'vue'
|
import { defineComponent, ref } from 'vue'
|
||||||
import type { IPagination } from 'model'
|
import type { IPagination } from 'model'
|
||||||
import { CImgText } from '@src/components/CImgText'
|
import { CImgText } from '@/components/CImgText'
|
||||||
import { CCard } from '../CCard'
|
import { CCard } from '../CCard'
|
||||||
import { CMyPage } from '@src/components/CMyPage'
|
import { CMyPage } from '@/components/CMyPage'
|
||||||
import { CTitleBanner } from '@src/components/CTitleBanner'
|
import { CTitleBanner } from '@/components/CTitleBanner'
|
||||||
import { CGridTableRec } from '@src/components/CGridTableRec'
|
import { CGridTableRec } from '@/components/CGridTableRec'
|
||||||
import { useUserStore } from '@store/UserStore'
|
import { useUserStore } from '@store/UserStore'
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -1,10 +1,10 @@
|
|||||||
import type { PropType} from 'vue';
|
import type { PropType} from 'vue';
|
||||||
import { defineComponent, ref } from 'vue'
|
import { defineComponent, ref } from 'vue'
|
||||||
|
|
||||||
import { tools } from '@src/store/Modules/tools'
|
import { tools } from '@/store/Modules/tools'
|
||||||
import { shared_consts } from '@src/common/shared_vuejs'
|
import { shared_consts } from '@/common/shared_vuejs'
|
||||||
import type { IAnim} from '@src/model';
|
import type { IAnim} from '@/model';
|
||||||
import { IElemText } from '@src/model'
|
import { IElemText } from '@/model'
|
||||||
|
|
||||||
export default defineComponent({
|
export default defineComponent({
|
||||||
name: 'CImgPoster',
|
name: 'CImgPoster',
|
||||||
|
|||||||
@@ -2,7 +2,7 @@ import {
|
|||||||
defineComponent,
|
defineComponent,
|
||||||
} from 'vue'
|
} from 'vue'
|
||||||
|
|
||||||
import { tools } from '@src/store/Modules/tools'
|
import { tools } from '@/store/Modules/tools'
|
||||||
|
|
||||||
export default defineComponent({
|
export default defineComponent({
|
||||||
name: 'CImgText',
|
name: 'CImgText',
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
import { defineComponent, ref } from 'vue'
|
import { defineComponent, ref } from 'vue'
|
||||||
|
|
||||||
import { tools } from '@src/store/Modules/tools'
|
import { tools } from '@/store/Modules/tools'
|
||||||
|
|
||||||
export default defineComponent({
|
export default defineComponent({
|
||||||
name: 'CImgTitle',
|
name: 'CImgTitle',
|
||||||
|
|||||||
@@ -17,7 +17,7 @@ import { useQuasar } from 'quasar';
|
|||||||
import { tools } from '@tools';
|
import { tools } from '@tools';
|
||||||
import { useProducts } from '@store/Products';
|
import { useProducts } from '@store/Products';
|
||||||
|
|
||||||
import { shared_consts } from '@src/common/shared_vuejs';
|
import { shared_consts } from '@/common/shared_vuejs';
|
||||||
import { useRouter } from 'vue-router';
|
import { useRouter } from 'vue-router';
|
||||||
|
|
||||||
import { costanti } from '@costanti';
|
import { costanti } from '@costanti';
|
||||||
|
|||||||
@@ -4,17 +4,17 @@ import { useUserStore } from '@store/UserStore'
|
|||||||
import type { IMyGroup, ICircuit, IAccount } from 'model';
|
import type { IMyGroup, ICircuit, IAccount } from 'model';
|
||||||
import { IImgGallery, IUserFields, IUserProfile, IFriends } from 'model'
|
import { IImgGallery, IUserFields, IUserProfile, IFriends } from 'model'
|
||||||
import { costanti } from '@costanti'
|
import { costanti } from '@costanti'
|
||||||
import { shared_consts } from '@src/common/shared_vuejs'
|
import { shared_consts } from '@/common/shared_vuejs'
|
||||||
import { tools } from '@tools'
|
import { tools } from '@tools'
|
||||||
import { useQuasar } from 'quasar'
|
import { useQuasar } from 'quasar'
|
||||||
import { useI18n } from 'vue-i18n'
|
import { useI18n } from 'vue-i18n'
|
||||||
import { useRoute, useRouter } from 'vue-router'
|
import { useRoute, useRouter } from 'vue-router'
|
||||||
import { CUserNonVerif } from '@src/components/CUserNonVerif'
|
import { CUserNonVerif } from '@/components/CUserNonVerif'
|
||||||
import { toolsext } from '@store/Modules/toolsext'
|
import { toolsext } from '@store/Modules/toolsext'
|
||||||
import { CSaldo } from '@src/components/CSaldo'
|
import { CSaldo } from '@/components/CSaldo'
|
||||||
import { CSendCoins } from '@src/components/CSendCoins'
|
import { CSendCoins } from '@/components/CSendCoins'
|
||||||
import { CCurrencyValue } from '@src/components/CCurrencyValue'
|
import { CCurrencyValue } from '@/components/CCurrencyValue'
|
||||||
import { CCurrencyV2 } from '@src/components/CCurrencyV2'
|
import { CCurrencyV2 } from '@/components/CCurrencyV2'
|
||||||
import { useCircuitStore } from '@store/CircuitStore'
|
import { useCircuitStore } from '@store/CircuitStore'
|
||||||
|
|
||||||
export default defineComponent({
|
export default defineComponent({
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
import { defineComponent, ref, toRef, watch } from 'vue'
|
import { defineComponent, ref, toRef, watch } from 'vue'
|
||||||
import { tools } from '@src/store/Modules/tools'
|
import { tools } from '@/store/Modules/tools'
|
||||||
|
|
||||||
import { useQuasar } from 'quasar'
|
import { useQuasar } from 'quasar'
|
||||||
import { useI18n } from 'vue-i18n'
|
import { useI18n } from 'vue-i18n'
|
||||||
|
|||||||
@@ -18,16 +18,16 @@
|
|||||||
v-if="editing"
|
v-if="editing"
|
||||||
class="button-group"
|
class="button-group"
|
||||||
>
|
>
|
||||||
|
<q-btn
|
||||||
|
flat
|
||||||
|
:label="$t('dialog.cancel')"
|
||||||
|
@click="cancelUpdate"
|
||||||
|
/>
|
||||||
<q-btn
|
<q-btn
|
||||||
:label="$t('dialog.save')"
|
:label="$t('dialog.save')"
|
||||||
color="positive"
|
color="positive"
|
||||||
@click="confirmUpdate"
|
@click="confirmUpdate"
|
||||||
/>
|
/>
|
||||||
<q-btn
|
|
||||||
:label="$t('dialog.cancel')"
|
|
||||||
color="negative"
|
|
||||||
@click="cancelUpdate"
|
|
||||||
/>
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
|
|||||||
@@ -5,7 +5,7 @@ import { useGlobalStore } from '@store/globalStore'
|
|||||||
import { fieldsTable } from '@store/Modules/fieldsTable'
|
import { fieldsTable } from '@store/Modules/fieldsTable'
|
||||||
import { tools } from '@tools'
|
import { tools } from '@tools'
|
||||||
import { costanti } from '@costanti'
|
import { costanti } from '@costanti'
|
||||||
import { CDateTime } from '@src/components/CDateTime'
|
import { CDateTime } from '@/components/CDateTime'
|
||||||
|
|
||||||
|
|
||||||
export default defineComponent({
|
export default defineComponent({
|
||||||
|
|||||||
@@ -3,7 +3,10 @@
|
|||||||
<div class="key-label">
|
<div class="key-label">
|
||||||
{{ mykey }}
|
{{ mykey }}
|
||||||
</div>
|
</div>
|
||||||
<div class="value-content" :style="color ? `background-color: ${color}; color: white;` : ''">
|
<div
|
||||||
|
class="value-content"
|
||||||
|
:style="color ? `background-color: ${color}; color: white;` : ''"
|
||||||
|
>
|
||||||
<span v-if="mydate">
|
<span v-if="mydate">
|
||||||
<CDateTime
|
<CDateTime
|
||||||
v-model:value="mydate"
|
v-model:value="mydate"
|
||||||
@@ -11,10 +14,17 @@
|
|||||||
:canEdit="false"
|
:canEdit="false"
|
||||||
/>
|
/>
|
||||||
</span>
|
</span>
|
||||||
<span v-else class="value-text">
|
<span
|
||||||
|
v-else
|
||||||
|
class="value-text"
|
||||||
|
>
|
||||||
{{ myvalue || '-' }}
|
{{ myvalue || '-' }}
|
||||||
</span>
|
</span>
|
||||||
|
</div>
|
||||||
|
<div
|
||||||
|
class="value-content"
|
||||||
|
:style="color ? `background-color: ${color}; color: white;` : ''"
|
||||||
|
>
|
||||||
<q-btn
|
<q-btn
|
||||||
v-if="showSetButton && onSetValue"
|
v-if="showSetButton && onSetValue"
|
||||||
rounded
|
rounded
|
||||||
@@ -30,8 +40,7 @@
|
|||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script lang="ts" src="./CKeyAndValue.ts">
|
<script lang="ts" src="./CKeyAndValue.ts"></script>
|
||||||
</script>
|
|
||||||
|
|
||||||
<style lang="scss" scoped>
|
<style lang="scss" scoped>
|
||||||
@import './CKeyAndValue.scss';
|
@import './CKeyAndValue.scss';
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
import { defineComponent, ref, toRef, watch } from 'vue'
|
import { defineComponent, ref, toRef, watch } from 'vue'
|
||||||
import { tools } from '@src/store/Modules/tools'
|
import { tools } from '@/store/Modules/tools'
|
||||||
|
|
||||||
import { useQuasar } from 'quasar'
|
import { useQuasar } from 'quasar'
|
||||||
import { useI18n } from 'vue-i18n'
|
import { useI18n } from 'vue-i18n'
|
||||||
|
|||||||
@@ -0,0 +1,333 @@
|
|||||||
|
// Spacing ridotto 40-50%
|
||||||
|
$sp-xs: 4px;
|
||||||
|
$sp-sm: 8px;
|
||||||
|
$sp-md: 12px;
|
||||||
|
$sp-lg: 16px;
|
||||||
|
|
||||||
|
$radius-sm: 8px;
|
||||||
|
$radius-md: 12px;
|
||||||
|
$radius-lg: 16px;
|
||||||
|
|
||||||
|
// Layout
|
||||||
|
.riso-homepage {
|
||||||
|
padding: $sp-sm;
|
||||||
|
max-width: 1200px;
|
||||||
|
margin: 0 auto;
|
||||||
|
background: linear-gradient(135deg, #f5f7fa 0%, #e3e9f2 100%);
|
||||||
|
min-height: 100vh;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Hero Section
|
||||||
|
.hero-section {
|
||||||
|
display: grid;
|
||||||
|
gap: $sp-sm;
|
||||||
|
margin-bottom: $sp-md;
|
||||||
|
background: rgba(255, 255, 255, 0.7);
|
||||||
|
backdrop-filter: blur(10px);
|
||||||
|
border-radius: $radius-md;
|
||||||
|
padding: $sp-sm;
|
||||||
|
box-shadow: 0 2px 12px rgba(0, 0, 0, 0.08);
|
||||||
|
|
||||||
|
@media (max-width: 600px) {
|
||||||
|
grid-template-columns: repeat(2, 1fr);
|
||||||
|
}
|
||||||
|
|
||||||
|
@media (min-width: 601px) and (max-width: 1024px) {
|
||||||
|
grid-template-columns: repeat(2, 1fr);
|
||||||
|
}
|
||||||
|
|
||||||
|
@media (min-width: 1025px) {
|
||||||
|
grid-template-columns: repeat(4, 1fr);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// Secondary Section
|
||||||
|
.secondary-section {
|
||||||
|
display: grid;
|
||||||
|
gap: $sp-sm;
|
||||||
|
margin-bottom: $sp-md;
|
||||||
|
background: rgba(255, 255, 255, 0.6);
|
||||||
|
backdrop-filter: blur(8px);
|
||||||
|
border-radius: $radius-md;
|
||||||
|
padding: $sp-sm;
|
||||||
|
box-shadow: 0 2px 8px rgba(0, 0, 0, 0.06);
|
||||||
|
|
||||||
|
@media (max-width: 600px) {
|
||||||
|
grid-template-columns: repeat(3, 1fr);
|
||||||
|
}
|
||||||
|
|
||||||
|
@media (min-width: 601px) {
|
||||||
|
grid-template-columns: repeat(auto-fit, minmax(120px, 1fr));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// Content Sections
|
||||||
|
.content-section {
|
||||||
|
background: white;
|
||||||
|
border-radius: $radius-lg;
|
||||||
|
padding: $sp-md;
|
||||||
|
margin-bottom: $sp-md;
|
||||||
|
box-shadow: 0 4px 16px rgba(0, 0, 0, 0.1);
|
||||||
|
transition: all 0.3s ease;
|
||||||
|
|
||||||
|
&:hover {
|
||||||
|
box-shadow: 0 8px 24px rgba(0, 0, 0, 0.15);
|
||||||
|
transform: translateY(-2px);
|
||||||
|
}
|
||||||
|
|
||||||
|
.section-header {
|
||||||
|
display: flex;
|
||||||
|
justify-content: space-between;
|
||||||
|
align-items: center;
|
||||||
|
margin-bottom: $sp-md;
|
||||||
|
padding-bottom: $sp-sm;
|
||||||
|
border-bottom: 2px solid rgba(0, 0, 0, 0.05);
|
||||||
|
|
||||||
|
.section-title {
|
||||||
|
font-size: 1.25rem;
|
||||||
|
font-weight: 600;
|
||||||
|
margin: 0;
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
gap: $sp-sm;
|
||||||
|
background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
|
||||||
|
-webkit-background-clip: text;
|
||||||
|
-webkit-text-fill-color: transparent;
|
||||||
|
background-clip: text;
|
||||||
|
|
||||||
|
.q-icon {
|
||||||
|
background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
|
||||||
|
-webkit-background-clip: text;
|
||||||
|
-webkit-text-fill-color: transparent;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// Modern Tabs
|
||||||
|
.modern-tabs {
|
||||||
|
margin-bottom: $sp-md;
|
||||||
|
|
||||||
|
:deep(.q-tab) {
|
||||||
|
padding: $sp-sm $sp-md;
|
||||||
|
border-radius: $radius-sm;
|
||||||
|
transition: all 0.3s ease;
|
||||||
|
|
||||||
|
&:hover {
|
||||||
|
background: rgba(102, 126, 234, 0.1);
|
||||||
|
}
|
||||||
|
|
||||||
|
&.q-tab--active {
|
||||||
|
background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
|
||||||
|
color: white;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// Placeholder Content
|
||||||
|
.placeholder-content {
|
||||||
|
display: flex;
|
||||||
|
flex-direction: column;
|
||||||
|
align-items: center;
|
||||||
|
justify-content: center;
|
||||||
|
gap: $sp-sm;
|
||||||
|
padding: $sp-lg;
|
||||||
|
background: rgba(0, 0, 0, 0.02);
|
||||||
|
border-radius: $radius-md;
|
||||||
|
border: 2px dashed rgba(0, 0, 0, 0.1);
|
||||||
|
color: rgba(0, 0, 0, 0.4);
|
||||||
|
font-size: 0.9rem;
|
||||||
|
min-height: 100px;
|
||||||
|
transition: all 0.3s ease;
|
||||||
|
|
||||||
|
&:hover {
|
||||||
|
background: rgba(0, 0, 0, 0.04);
|
||||||
|
border-color: rgba(0, 0, 0, 0.2);
|
||||||
|
}
|
||||||
|
|
||||||
|
&.horizontal {
|
||||||
|
flex-direction: row;
|
||||||
|
min-width: 280px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.q-icon {
|
||||||
|
opacity: 0.3;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// Eventi Scroll
|
||||||
|
.eventi-scroll {
|
||||||
|
display: flex;
|
||||||
|
gap: $sp-md;
|
||||||
|
overflow-x: auto;
|
||||||
|
padding-bottom: $sp-sm;
|
||||||
|
scroll-behavior: smooth;
|
||||||
|
|
||||||
|
&::-webkit-scrollbar {
|
||||||
|
height: 4px;
|
||||||
|
}
|
||||||
|
|
||||||
|
&::-webkit-scrollbar-thumb {
|
||||||
|
background: linear-gradient(90deg, #667eea 0%, #764ba2 100%);
|
||||||
|
border-radius: 2px;
|
||||||
|
}
|
||||||
|
|
||||||
|
&::-webkit-scrollbar-track {
|
||||||
|
background: rgba(0, 0, 0, 0.05);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// Wallet Card
|
||||||
|
.wallet-card {
|
||||||
|
background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
|
||||||
|
border-radius: $radius-md;
|
||||||
|
padding: $sp-lg;
|
||||||
|
color: white;
|
||||||
|
display: flex;
|
||||||
|
flex-direction: column;
|
||||||
|
gap: $sp-md;
|
||||||
|
box-shadow: 0 4px 16px rgba(102, 126, 234, 0.3);
|
||||||
|
|
||||||
|
.wallet-balance {
|
||||||
|
display: flex;
|
||||||
|
flex-direction: column;
|
||||||
|
gap: $sp-xs;
|
||||||
|
|
||||||
|
.balance-label {
|
||||||
|
font-size: 0.9rem;
|
||||||
|
opacity: 0.9;
|
||||||
|
}
|
||||||
|
|
||||||
|
.balance-value {
|
||||||
|
font-size: 2rem;
|
||||||
|
font-weight: 700;
|
||||||
|
text-shadow: 0 2px 4px rgba(0, 0, 0, 0.2);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.wallet-actions {
|
||||||
|
display: flex;
|
||||||
|
gap: $sp-sm;
|
||||||
|
|
||||||
|
.q-btn {
|
||||||
|
flex: 1;
|
||||||
|
border-color: white;
|
||||||
|
color: white;
|
||||||
|
|
||||||
|
&:hover {
|
||||||
|
background: rgba(255, 255, 255, 0.2);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// Telegram Grid
|
||||||
|
.telegram-grid {
|
||||||
|
display: grid;
|
||||||
|
gap: $sp-md;
|
||||||
|
|
||||||
|
@media (max-width: 600px) {
|
||||||
|
grid-template-columns: 1fr;
|
||||||
|
}
|
||||||
|
|
||||||
|
@media (min-width: 601px) {
|
||||||
|
grid-template-columns: repeat(3, 1fr);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.telegram-card {
|
||||||
|
display: flex;
|
||||||
|
flex-direction: column;
|
||||||
|
background: linear-gradient(135deg, rgba(0, 136, 204, 0.08) 0%, rgba(43, 171, 217, 0.08) 100%);
|
||||||
|
border-radius: $radius-md;
|
||||||
|
overflow: hidden;
|
||||||
|
transition: all 0.3s ease;
|
||||||
|
text-decoration: none;
|
||||||
|
border: 1px solid rgba(0, 136, 204, 0.2);
|
||||||
|
|
||||||
|
&:hover {
|
||||||
|
transform: translateY(-4px);
|
||||||
|
box-shadow: 0 8px 24px rgba(0, 136, 204, 0.2);
|
||||||
|
border-color: rgba(0, 136, 204, 0.4);
|
||||||
|
}
|
||||||
|
|
||||||
|
.telegram-img {
|
||||||
|
height: 120px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.telegram-content {
|
||||||
|
padding: $sp-md;
|
||||||
|
display: flex;
|
||||||
|
justify-content: space-between;
|
||||||
|
align-items: center;
|
||||||
|
|
||||||
|
.telegram-title {
|
||||||
|
font-weight: 600;
|
||||||
|
color: #0088cc;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// Footer
|
||||||
|
.footer-section {
|
||||||
|
margin-top: $sp-lg;
|
||||||
|
padding: $sp-lg;
|
||||||
|
background: rgba(255, 255, 255, 0.5);
|
||||||
|
backdrop-filter: blur(10px);
|
||||||
|
border-radius: $radius-lg;
|
||||||
|
box-shadow: 0 2px 8px rgba(0, 0, 0, 0.06);
|
||||||
|
|
||||||
|
.footer-links {
|
||||||
|
display: flex;
|
||||||
|
justify-content: space-around;
|
||||||
|
flex-wrap: wrap;
|
||||||
|
gap: $sp-sm;
|
||||||
|
|
||||||
|
.footer-btn {
|
||||||
|
flex: 1;
|
||||||
|
min-width: 90px;
|
||||||
|
color: #667eea;
|
||||||
|
font-weight: 500;
|
||||||
|
|
||||||
|
&:hover {
|
||||||
|
background: rgba(102, 126, 234, 0.1);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// Animazioni
|
||||||
|
@keyframes fadeIn {
|
||||||
|
from {
|
||||||
|
opacity: 0;
|
||||||
|
transform: translateY(10px);
|
||||||
|
}
|
||||||
|
to {
|
||||||
|
opacity: 1;
|
||||||
|
transform: translateY(0);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.content-section {
|
||||||
|
animation: fadeIn 0.5s ease-out;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Responsive
|
||||||
|
@media (max-width: 600px) {
|
||||||
|
.riso-homepage {
|
||||||
|
padding: $sp-xs;
|
||||||
|
}
|
||||||
|
|
||||||
|
.content-section {
|
||||||
|
padding: $sp-sm;
|
||||||
|
margin-bottom: $sp-sm;
|
||||||
|
}
|
||||||
|
|
||||||
|
.section-header .section-title {
|
||||||
|
font-size: 1.1rem;
|
||||||
|
}
|
||||||
|
|
||||||
|
.wallet-card {
|
||||||
|
padding: $sp-md;
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -6,7 +6,7 @@ import { useI18n } from 'vue-i18n'
|
|||||||
import { tools } from '@tools'
|
import { tools } from '@tools'
|
||||||
import type { IMainCard } from '@store/Modules/costanti';
|
import type { IMainCard } from '@store/Modules/costanti';
|
||||||
import { costanti } from '@store/Modules/costanti'
|
import { costanti } from '@store/Modules/costanti'
|
||||||
import { CBigBtn } from '@src/components/CBigBtn'
|
import { CBigBtn } from '@/components/CBigBtn'
|
||||||
|
|
||||||
|
|
||||||
export default defineComponent({
|
export default defineComponent({
|
||||||
|
|||||||
@@ -1,9 +1,12 @@
|
|||||||
<template>
|
<template>
|
||||||
<div v-if="tools.isUserOk()">
|
|
||||||
<div
|
<div
|
||||||
|
v-if="tools.isUserOk()"
|
||||||
|
class="riso-home"
|
||||||
|
>
|
||||||
|
<!-- Hero Section: Annunci principali -->
|
||||||
|
<section
|
||||||
v-if="cardsbig.length > 0"
|
v-if="cardsbig.length > 0"
|
||||||
class="row q-ma-sm shadow justify-center"
|
class="hero-section"
|
||||||
style="border-radius: 4px; border: 1px solid rgba(0, 0, 0, 0.12)"
|
|
||||||
>
|
>
|
||||||
<CBigBtn
|
<CBigBtn
|
||||||
v-for="(card, ind) of cardsbig"
|
v-for="(card, ind) of cardsbig"
|
||||||
@@ -17,13 +20,13 @@
|
|||||||
:numcol="2"
|
:numcol="2"
|
||||||
:hint="card.hint"
|
:hint="card.hint"
|
||||||
:disable="card.disable"
|
:disable="card.disable"
|
||||||
>
|
/>
|
||||||
</CBigBtn>
|
</section>
|
||||||
</div>
|
|
||||||
<div
|
<!-- Secondary: Circuiti e Organizzazioni -->
|
||||||
|
<section
|
||||||
v-if="cardssmall.length > 0"
|
v-if="cardssmall.length > 0"
|
||||||
class="row shadow justify-center"
|
class="secondary-section"
|
||||||
style="border-radius: 4px; border: 1px solid rgba(0, 0, 0, 0.12)"
|
|
||||||
>
|
>
|
||||||
<CBigBtn
|
<CBigBtn
|
||||||
v-for="(card, ind) of cardssmall"
|
v-for="(card, ind) of cardssmall"
|
||||||
@@ -38,24 +41,12 @@
|
|||||||
:numcol="3"
|
:numcol="3"
|
||||||
:hint="card.hint"
|
:hint="card.hint"
|
||||||
:disable="card.disable"
|
:disable="card.disable"
|
||||||
>
|
/>
|
||||||
</CBigBtn>
|
</section>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
|
||||||
<!--<div class="row justify-center">
|
|
||||||
<CBigBtn
|
|
||||||
label="Info" to="" @click="showInfo = true" icon="fas fa-info" color="primary"
|
|
||||||
:numcol="3"
|
|
||||||
>
|
|
||||||
</CBigBtn>
|
|
||||||
</div>
|
|
||||||
<div v-if="showInfo">
|
|
||||||
|
|
||||||
</div>-->
|
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script lang="ts" src="./CMainView.ts">
|
<script lang="ts" src="./CMainView.ts"></script>
|
||||||
</script>
|
|
||||||
|
|
||||||
<style lang="scss" scoped>
|
<style lang="scss" scoped>
|
||||||
@import './CMainView.scss';
|
@import './CMainView.scss';
|
||||||
|
|||||||
@@ -11,10 +11,10 @@ import 'leaflet.markercluster/dist/MarkerCluster.css'
|
|||||||
import 'leaflet.markercluster/dist/MarkerCluster.Default.css'
|
import 'leaflet.markercluster/dist/MarkerCluster.Default.css'
|
||||||
import 'leaflet.markercluster'
|
import 'leaflet.markercluster'
|
||||||
|
|
||||||
import { useUserStore } from '@src/store/UserStore'
|
import { useUserStore } from '@/store/UserStore'
|
||||||
import { useGlobalStore } from '@src/store/globalStore'
|
import { useGlobalStore } from '@/store/globalStore'
|
||||||
import { useI18n } from 'vue-i18n'
|
import { useI18n } from 'vue-i18n'
|
||||||
import { ICoordGPS } from '@src/model'
|
import { ICoordGPS } from '@/model'
|
||||||
|
|
||||||
export default defineComponent({
|
export default defineComponent({
|
||||||
name: 'CMapByTable',
|
name: 'CMapByTable',
|
||||||
|
|||||||
@@ -10,9 +10,9 @@ import 'leaflet.markercluster/dist/MarkerCluster.Default.css'
|
|||||||
import 'leaflet.markercluster'
|
import 'leaflet.markercluster'
|
||||||
import '../../utils/leaflet-extensions'; // Importa le estensioni
|
import '../../utils/leaflet-extensions'; // Importa le estensioni
|
||||||
|
|
||||||
import { useUserStore } from '@src/store/UserStore'
|
import { useUserStore } from '@/store/UserStore'
|
||||||
import { useGlobalStore } from '@src/store/globalStore'
|
import { useGlobalStore } from '@/store/globalStore'
|
||||||
import { setCookie } from '@src/utils/auth'
|
import { setCookie } from '@/utils/auth'
|
||||||
|
|
||||||
export default defineComponent({
|
export default defineComponent({
|
||||||
name: 'CMapComuni',
|
name: 'CMapComuni',
|
||||||
|
|||||||
@@ -10,12 +10,12 @@ import 'leaflet.markercluster/dist/MarkerCluster.Default.css'
|
|||||||
import 'leaflet.markercluster'
|
import 'leaflet.markercluster'
|
||||||
import '../../utils/leaflet-extensions'; // Importa le estensioni
|
import '../../utils/leaflet-extensions'; // Importa le estensioni
|
||||||
|
|
||||||
import { useUserStore } from '@src/store/UserStore'
|
import { useUserStore } from '@/store/UserStore'
|
||||||
|
|
||||||
// Importa le immagini dei marker
|
// Importa le immagini dei marker
|
||||||
import icon from 'leaflet/dist/images/marker-icon.png'
|
import icon from 'leaflet/dist/images/marker-icon.png'
|
||||||
import iconShadow from 'leaflet/dist/images/marker-shadow.png'
|
import iconShadow from 'leaflet/dist/images/marker-shadow.png'
|
||||||
import type { ICoordGPS, ICoordLatLng } from '@src/model'
|
import type { ICoordGPS, ICoordLatLng } from '@/model'
|
||||||
|
|
||||||
export default defineComponent({
|
export default defineComponent({
|
||||||
name: 'CMapEditAddressByCoord',
|
name: 'CMapEditAddressByCoord',
|
||||||
|
|||||||
@@ -9,7 +9,7 @@ import 'leaflet.markercluster/dist/MarkerCluster.Default.css'
|
|||||||
import 'leaflet.markercluster'
|
import 'leaflet.markercluster'
|
||||||
import '../../utils/leaflet-extensions'; // Importa le estensioni
|
import '../../utils/leaflet-extensions'; // Importa le estensioni
|
||||||
|
|
||||||
import { useUserStore } from '@src/store/UserStore'
|
import { useUserStore } from '@/store/UserStore'
|
||||||
|
|
||||||
// Importa le immagini dei marker
|
// Importa le immagini dei marker
|
||||||
import icon from 'leaflet/dist/images/marker-icon.png'
|
import icon from 'leaflet/dist/images/marker-icon.png'
|
||||||
|
|||||||
@@ -10,7 +10,7 @@ import 'leaflet.markercluster/dist/MarkerCluster.Default.css'
|
|||||||
import 'leaflet.markercluster'
|
import 'leaflet.markercluster'
|
||||||
import '../../utils/leaflet-extensions'; // Importa le estensioni
|
import '../../utils/leaflet-extensions'; // Importa le estensioni
|
||||||
|
|
||||||
import { useUserStore } from '@src/store/UserStore'
|
import { useUserStore } from '@/store/UserStore'
|
||||||
|
|
||||||
export default defineComponent({
|
export default defineComponent({
|
||||||
name: 'CMapUsers',
|
name: 'CMapUsers',
|
||||||
|
|||||||
@@ -1,3 +1,8 @@
|
|||||||
|
// ==========================================
|
||||||
|
// CMENUITEM.SCSS - ORIGINALE + MIGLIORAMENTI RISO
|
||||||
|
// Mantiene tutto il codice originale + stile moderno
|
||||||
|
// ==========================================
|
||||||
|
|
||||||
.prova {
|
.prova {
|
||||||
color: red;
|
color: red;
|
||||||
}
|
}
|
||||||
@@ -12,7 +17,6 @@
|
|||||||
height: 0.5px;
|
height: 0.5px;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
.list-label:first-child {
|
.list-label:first-child {
|
||||||
line-height: 20px;
|
line-height: 20px;
|
||||||
padding: 5px;
|
padding: 5px;
|
||||||
@@ -69,6 +73,7 @@
|
|||||||
.isFacilitatore {
|
.isFacilitatore {
|
||||||
color: #201a80;
|
color: #201a80;
|
||||||
}
|
}
|
||||||
|
|
||||||
.onlyCollaboratore {
|
.onlyCollaboratore {
|
||||||
color: #bd7b10;
|
color: #bd7b10;
|
||||||
}
|
}
|
||||||
@@ -113,13 +118,11 @@
|
|||||||
padding-right: 8px;
|
padding-right: 8px;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
.imgicon img {
|
.imgicon img {
|
||||||
font-size: 2.5rem !important;
|
font-size: 2.5rem !important;
|
||||||
border-radius: 8px;
|
border-radius: 8px;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
.menu-enter-active, .scale-enter {
|
.menu-enter-active, .scale-enter {
|
||||||
-webkit-animation: moveFromTopFade .5s ease both;
|
-webkit-animation: moveFromTopFade .5s ease both;
|
||||||
@@ -142,3 +145,359 @@
|
|||||||
font-size: 0.85em;
|
font-size: 0.85em;
|
||||||
color: #666;
|
color: #666;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// ==========================================
|
||||||
|
// MIGLIORAMENTI STILE RISO - AGGIUNTI
|
||||||
|
// ==========================================
|
||||||
|
|
||||||
|
// ==========================================
|
||||||
|
// INDENTAZIONE LIVELLI - Più compatta
|
||||||
|
// ==========================================
|
||||||
|
[style*="paddingLeft"] {
|
||||||
|
transition: all 0.3s ease;
|
||||||
|
}
|
||||||
|
|
||||||
|
// ==========================================
|
||||||
|
// Q-SEPARATOR - Divisore migliorato
|
||||||
|
// ==========================================
|
||||||
|
.q-separator {
|
||||||
|
background: linear-gradient(90deg,
|
||||||
|
transparent 0%,
|
||||||
|
rgba(0, 0, 0, 0.1) 50%,
|
||||||
|
transparent 100%);
|
||||||
|
margin: 6px 0;
|
||||||
|
height: 1px;
|
||||||
|
}
|
||||||
|
|
||||||
|
// ==========================================
|
||||||
|
// Q-EXPANSION-ITEM - Espandibile migliorato
|
||||||
|
// ==========================================
|
||||||
|
.q-expansion-item {
|
||||||
|
border-radius: 8px;
|
||||||
|
margin-bottom: 2px;
|
||||||
|
overflow: hidden;
|
||||||
|
|
||||||
|
// Header dell'expansion
|
||||||
|
> .q-item {
|
||||||
|
border-radius: 8px;
|
||||||
|
padding: 6px 10px;
|
||||||
|
transition: all 0.25s cubic-bezier(0.4, 0, 0.2, 1);
|
||||||
|
|
||||||
|
&:hover {
|
||||||
|
background: rgba(0, 0, 0, 0.04);
|
||||||
|
transform: translateX(2px);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// Label header
|
||||||
|
.q-item__label {
|
||||||
|
font-size: 0.95rem;
|
||||||
|
font-weight: 500;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Icona expand/collapse
|
||||||
|
.q-icon {
|
||||||
|
transition: all 0.3s ease;
|
||||||
|
font-size: 0.9rem;
|
||||||
|
color: rgba(0, 0, 0, 0.5);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// Quando espanso
|
||||||
|
.q-expansion-item--expanded {
|
||||||
|
> .q-item {
|
||||||
|
background: rgba(0, 0, 0, 0.02);
|
||||||
|
|
||||||
|
.q-icon {
|
||||||
|
color: var(--q-primary);
|
||||||
|
transform: rotate(0deg);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// ==========================================
|
||||||
|
// Q-ITEM FOGLIA - Voce menu semplice
|
||||||
|
// ==========================================
|
||||||
|
.q-item {
|
||||||
|
border-radius: 8px;
|
||||||
|
padding: 6px 10px;
|
||||||
|
margin-bottom: 2px;
|
||||||
|
transition: all 0.25s cubic-bezier(0.4, 0, 0.2, 1);
|
||||||
|
min-height: 42px;
|
||||||
|
|
||||||
|
&:hover {
|
||||||
|
background: rgba(0, 0, 0, 0.05);
|
||||||
|
transform: translateX(3px);
|
||||||
|
box-shadow: 0 1px 3px rgba(0, 0, 0, 0.08);
|
||||||
|
}
|
||||||
|
|
||||||
|
&:active {
|
||||||
|
transform: translateX(1px);
|
||||||
|
}
|
||||||
|
|
||||||
|
// Sezione thumbnail con avatar
|
||||||
|
.q-item__section--thumbnail {
|
||||||
|
min-width: 36px;
|
||||||
|
padding-right: 10px;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Label principale
|
||||||
|
> .q-item__section > span:not(.subtitle) {
|
||||||
|
font-size: 0.95rem;
|
||||||
|
font-weight: 500;
|
||||||
|
color: rgba(0, 0, 0, 0.87);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// ==========================================
|
||||||
|
// Q-AVATAR - Icone migliorate
|
||||||
|
// ==========================================
|
||||||
|
.q-avatar {
|
||||||
|
transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
|
||||||
|
background: transparent !important;
|
||||||
|
|
||||||
|
&.rounded {
|
||||||
|
border-radius: 8px;
|
||||||
|
overflow: hidden;
|
||||||
|
}
|
||||||
|
|
||||||
|
.q-icon {
|
||||||
|
font-size: 1.3rem;
|
||||||
|
transition: all 0.3s ease;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.q-item:hover .q-avatar {
|
||||||
|
transform: scale(1.08);
|
||||||
|
|
||||||
|
.q-icon {
|
||||||
|
transform: rotate(-5deg);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// ==========================================
|
||||||
|
// MY-MENU-ACTIVE - Stato attivo
|
||||||
|
// ==========================================
|
||||||
|
.my-menu-active {
|
||||||
|
background: linear-gradient(90deg,
|
||||||
|
rgba(2, 123, 227, 0.12) 0%,
|
||||||
|
rgba(2, 123, 227, 0.05) 100%) !important;
|
||||||
|
border-radius: 8px;
|
||||||
|
border-right: 3px solid #027be3;
|
||||||
|
|
||||||
|
span {
|
||||||
|
color: #027be3;
|
||||||
|
font-weight: 600;
|
||||||
|
}
|
||||||
|
|
||||||
|
.q-avatar {
|
||||||
|
background: rgba(2, 123, 227, 0.1) !important;
|
||||||
|
|
||||||
|
.q-icon {
|
||||||
|
color: #027be3;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
&:hover {
|
||||||
|
background: linear-gradient(90deg,
|
||||||
|
rgba(2, 123, 227, 0.16) 0%,
|
||||||
|
rgba(2, 123, 227, 0.08) 100%) !important;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// ==========================================
|
||||||
|
// CLASSI PERMESSI - Badge colorati
|
||||||
|
// ==========================================
|
||||||
|
.isAdmin {
|
||||||
|
color: #d32f2f !important;
|
||||||
|
border-left: 3px solid #d32f2f;
|
||||||
|
background: linear-gradient(90deg,
|
||||||
|
rgba(211, 47, 47, 0.08) 0%,
|
||||||
|
rgba(211, 47, 47, 0.02) 100%);
|
||||||
|
|
||||||
|
.q-avatar {
|
||||||
|
background: rgba(211, 47, 47, 0.12) !important;
|
||||||
|
|
||||||
|
.q-icon {
|
||||||
|
color: #d32f2f;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
&:hover {
|
||||||
|
background: linear-gradient(90deg,
|
||||||
|
rgba(211, 47, 47, 0.12) 0%,
|
||||||
|
rgba(211, 47, 47, 0.04) 100%);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.isManager {
|
||||||
|
color: #388e3c !important;
|
||||||
|
border-left: 3px solid #388e3c;
|
||||||
|
background: linear-gradient(90deg,
|
||||||
|
rgba(56, 142, 60, 0.08) 0%,
|
||||||
|
rgba(56, 142, 60, 0.02) 100%);
|
||||||
|
|
||||||
|
.q-avatar {
|
||||||
|
background: rgba(56, 142, 60, 0.12) !important;
|
||||||
|
|
||||||
|
.q-icon {
|
||||||
|
color: #388e3c;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
&:hover {
|
||||||
|
background: linear-gradient(90deg,
|
||||||
|
rgba(56, 142, 60, 0.12) 0%,
|
||||||
|
rgba(56, 142, 60, 0.04) 100%);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.isSocioResidente {
|
||||||
|
color: #1b5e20 !important;
|
||||||
|
|
||||||
|
.q-avatar .q-icon {
|
||||||
|
color: #1b5e20;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.isFacilitatore {
|
||||||
|
color: #4a148c !important;
|
||||||
|
|
||||||
|
.q-avatar .q-icon {
|
||||||
|
color: #4a148c;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.onlyCollaboratore {
|
||||||
|
color: #f57c00 !important;
|
||||||
|
|
||||||
|
.q-avatar .q-icon {
|
||||||
|
color: #f57c00;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.isEditor {
|
||||||
|
color: #6a1b9a !important;
|
||||||
|
|
||||||
|
.q-avatar .q-icon {
|
||||||
|
color: #6a1b9a;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.isCommerciale {
|
||||||
|
color: #e65100 !important;
|
||||||
|
|
||||||
|
.q-avatar .q-icon {
|
||||||
|
color: #e65100;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.isGrafico {
|
||||||
|
color: #00796b !important;
|
||||||
|
|
||||||
|
.q-avatar .q-icon {
|
||||||
|
color: #00796b;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.isDoc {
|
||||||
|
border-left: 3px solid #42a5f5;
|
||||||
|
background: linear-gradient(90deg,
|
||||||
|
rgba(66, 165, 245, 0.08) 0%,
|
||||||
|
rgba(66, 165, 245, 0.02) 100%);
|
||||||
|
}
|
||||||
|
|
||||||
|
// ==========================================
|
||||||
|
// SUBTITLE - Testo secondario
|
||||||
|
// ==========================================
|
||||||
|
.subtitle {
|
||||||
|
font-size: 0.8rem;
|
||||||
|
color: #757575;
|
||||||
|
font-style: italic;
|
||||||
|
margin-top: 2px;
|
||||||
|
opacity: 0.85;
|
||||||
|
line-height: 1.3;
|
||||||
|
}
|
||||||
|
|
||||||
|
// ==========================================
|
||||||
|
// BIGMENU - Titoli grandi
|
||||||
|
// ==========================================
|
||||||
|
.bigmenu {
|
||||||
|
font-size: 1.2rem;
|
||||||
|
font-weight: 700;
|
||||||
|
text-shadow: 0 1px 2px rgba(0, 0, 0, 0.1);
|
||||||
|
letter-spacing: -0.01em;
|
||||||
|
}
|
||||||
|
|
||||||
|
// ==========================================
|
||||||
|
// CLASSI EXTRA - Supporto customizzazioni
|
||||||
|
// ==========================================
|
||||||
|
.extraclass {
|
||||||
|
// Placeholder per classi custom
|
||||||
|
}
|
||||||
|
|
||||||
|
// ==========================================
|
||||||
|
// RESPONSIVE
|
||||||
|
// ==========================================
|
||||||
|
@media screen and (max-width: 600px) {
|
||||||
|
.q-item {
|
||||||
|
padding: 5px 8px;
|
||||||
|
min-height: 40px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.q-expansion-item > .q-item {
|
||||||
|
padding: 5px 8px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.q-avatar {
|
||||||
|
width: 1.8rem !important;
|
||||||
|
height: 1.8rem !important;
|
||||||
|
font-size: 1.8rem !important;
|
||||||
|
|
||||||
|
.q-icon {
|
||||||
|
font-size: 1.1rem;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.q-item__section--thumbnail {
|
||||||
|
min-width: 32px;
|
||||||
|
padding-right: 8px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.bigmenu {
|
||||||
|
font-size: 1.1rem;
|
||||||
|
}
|
||||||
|
|
||||||
|
.subtitle {
|
||||||
|
font-size: 0.75rem;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// ==========================================
|
||||||
|
// ANIMAZIONI ENTRATA
|
||||||
|
// ==========================================
|
||||||
|
@keyframes fadeSlideIn {
|
||||||
|
from {
|
||||||
|
opacity: 0;
|
||||||
|
transform: translateX(-8px);
|
||||||
|
}
|
||||||
|
to {
|
||||||
|
opacity: 1;
|
||||||
|
transform: translateX(0);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.q-item,
|
||||||
|
.q-expansion-item {
|
||||||
|
animation: fadeSlideIn 0.3s ease;
|
||||||
|
}
|
||||||
|
|
||||||
|
// ==========================================
|
||||||
|
// FOCUS ACCESSIBILITA
|
||||||
|
// ==========================================
|
||||||
|
.q-item:focus-visible,
|
||||||
|
.q-expansion-item:focus-visible {
|
||||||
|
outline: 2px solid var(--q-primary);
|
||||||
|
outline-offset: 2px;
|
||||||
|
border-radius: 8px;
|
||||||
|
}
|
||||||
@@ -3,14 +3,14 @@ import draggable from 'vuedraggable';
|
|||||||
|
|
||||||
import { tools } from '@tools';
|
import { tools } from '@tools';
|
||||||
|
|
||||||
import { useGlobalStore } from '@src/store/globalStore';
|
import { useGlobalStore } from '@/store/globalStore';
|
||||||
|
|
||||||
import { CMyEditorAI } from '@src/components/CMyEditorAI';
|
import { CMyEditorAI } from '@/components/CMyEditorAI';
|
||||||
import { CAITools } from '@src/components/CAITools';
|
import { CAITools } from '@/components/CAITools';
|
||||||
|
|
||||||
import { costanti } from '@costanti';
|
import { costanti } from '@costanti';
|
||||||
|
|
||||||
import type { IMyScheda, IProduct, IRecFields } from '@src/model';
|
import type { IMyScheda, IProduct, IRecFields } from '@/model';
|
||||||
import { shared_consts } from 'app/src/common/shared_vuejs';
|
import { shared_consts } from 'app/src/common/shared_vuejs';
|
||||||
import { useProducts } from 'app/src/store/Products';
|
import { useProducts } from 'app/src/store/Products';
|
||||||
import { useI18n } from 'vue-i18n';
|
import { useI18n } from 'vue-i18n';
|
||||||
|
|||||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user