Compare commits
80 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
40ec5465b2 | ||
|
|
7f5ff3da64 | ||
|
|
ee5ac4e554 | ||
|
|
e7ead2e66a | ||
|
|
9e95fe622b | ||
|
|
4b65400d50 | ||
|
|
99fab39c4b | ||
|
|
bfc6ec04f6 | ||
|
|
1298184b2e | ||
|
|
f146b36173 | ||
|
|
286cc4e3a7 | ||
|
|
2dac04fb16 | ||
|
|
d99ad47483 | ||
|
|
56d1870bc1 | ||
|
|
664975b1fd | ||
|
|
06fe6eb861 | ||
|
|
12f816b738 | ||
|
|
94d844c104 | ||
|
|
72d5574fab | ||
|
|
5ba3bef8a1 | ||
|
|
67aaf719f4 | ||
|
|
884afe4eb5 | ||
|
|
3d2d1cbdd7 | ||
|
|
e0583044d7 | ||
|
|
fea40922cb | ||
|
|
8ff204657e | ||
|
|
859ba022fa | ||
|
|
810815a12a | ||
|
|
b7ecd60fc3 | ||
|
|
daeb865e93 | ||
|
|
685bc34bd0 | ||
|
|
9e0634da05 | ||
|
|
50015712f5 | ||
|
|
300b8434ef | ||
|
|
f30cbf072a | ||
|
|
fc8a954eb0 | ||
|
|
85faf11d27 | ||
|
|
89bbda59b3 | ||
|
|
ef48d7e741 | ||
|
|
6ed648f8b3 | ||
|
|
f9d73ae836 | ||
|
|
ef36cd5e11 | ||
|
|
82e10ef6cf | ||
|
|
6eb6f236e4 | ||
|
|
2cc8fcda03 | ||
|
|
57cfa5858b | ||
|
|
70f1e5cbf1 | ||
|
|
8a20186e59 | ||
|
|
721d2ac38c | ||
|
|
358f0d6816 | ||
|
|
493ebf51f3 | ||
|
|
ec19bc3b87 | ||
|
|
8d6c53803e | ||
|
|
fc015404a6 | ||
|
|
ae4efab0f3 | ||
|
|
6d0efaadb9 | ||
|
|
14375d6b15 | ||
|
|
383e0bb484 | ||
|
|
3616e2ca0f | ||
|
|
cea3bcfa0e | ||
|
|
9cfc308d09 | ||
|
|
79d1c5fe1d | ||
|
|
61c1dc3d0d | ||
|
|
7624f16723 | ||
|
|
285db5f995 | ||
|
|
2ba26f67cd | ||
|
|
4c82015f27 | ||
|
|
a09a49ac37 | ||
|
|
e9f37b3678 | ||
|
|
201b739c8c | ||
|
|
dfce2bc5eb | ||
|
|
564a621aad | ||
|
|
d190d4800e | ||
|
|
0f8721b144 | ||
|
|
f5b0e693d0 | ||
|
|
f187fb2146 | ||
|
|
404194b873 | ||
|
|
09d738f4e9 | ||
|
|
834203ffbb | ||
|
|
cc541b1e6f |
4
.env
@@ -1,6 +1,6 @@
|
|||||||
VITE_APP_VERSION="1.2.2"
|
VITE_APP_VERSION="1.2.62"
|
||||||
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.2.js"
|
VITE_SERVICE_WORKER_FILE="sw-1.2.62.js"
|
||||||
VITE_PROJECT_ID_MAIN="5cc0a13fe5c9d156728f400a"
|
VITE_PROJECT_ID_MAIN="5cc0a13fe5c9d156728f400a"
|
||||||
VITE_VUE_ROUTER_MODE="history"
|
VITE_VUE_ROUTER_MODE="history"
|
||||||
@@ -1,13 +1,12 @@
|
|||||||
VITE_MONGODB_HOST="https://localhost:3000"
|
VITE_APP_ID="18"
|
||||||
VITE_PUBLICKEY_PUSH='BDncvMiUZmjaCG2Kr1V9N0_33hOG-AuNSbHSvL24y2dzBiUjAxKm02emx5SeJvz2IGmtRf6YqCgopeQwCwUmZw8'
|
|
||||||
VITE_PROJECT_ID_MAIN="5cc0a13fe5c9d156728f400a"
|
|
||||||
VITE_VUE_APP_ISTEST="1"
|
|
||||||
VITE_VUE_APP_INLOCALE="1"
|
|
||||||
VITE_DEBUG="1"
|
|
||||||
VITE_APP_ID="13"
|
|
||||||
VITE_LOGO_REG='riso-logo-full.png'
|
|
||||||
VITE_APP_URL="https://localhost"
|
VITE_APP_URL="https://localhost"
|
||||||
DIRECTORY_LOCAL=myprojplanet_vite
|
VITE_MONGODB_HOST="https://localhost:3000"
|
||||||
DIRECTORY_SERVER=freeplanet_serverside
|
VITE_LOGO_REG='gruppomacro-logo-full.png'
|
||||||
|
VITE_PUBLICKEY_PUSH='BDncvMiUZmjaCG2Kr1V9N0_33hOG-AuNSbHSvL24y2dzBiUjAxKm02emx5SeJvz2IGmtRf6YqCgopeQwCwUmZw8'
|
||||||
|
VITE_DEBUG="1"
|
||||||
|
VITE_VUE_APP_ISTEST=0
|
||||||
|
VITE_VUE_APP_INLOCALE=1
|
||||||
|
DIRECTORY_LOCAL="newfreeplanet"
|
||||||
|
DIRECTORY_SERVER="freeplanet_serverside"
|
||||||
SERVERDIR_WEBSITE=""
|
SERVERDIR_WEBSITE=""
|
||||||
SERVERPW_WEBSITE=""
|
SERVERPW_WEBSITE=""
|
||||||
|
|||||||
@@ -3,9 +3,11 @@ VITE_APP_URL="https://gruppomacro.app"
|
|||||||
VITE_MONGODB_HOST="https://api.gruppomacro.app"
|
VITE_MONGODB_HOST="https://api.gruppomacro.app"
|
||||||
VITE_LOGO_REG='gruppomacro-logo-full.png'
|
VITE_LOGO_REG='gruppomacro-logo-full.png'
|
||||||
VITE_PUBLICKEY_PUSH="BJgo8XR_upbnbMLWgCAUELo6DK7dRXffYAnFOxbaMMz5favBgcQBKT-eISqouO-jRad4Sw8l5nd2wCF6KorGiTc"
|
VITE_PUBLICKEY_PUSH="BJgo8XR_upbnbMLWgCAUELo6DK7dRXffYAnFOxbaMMz5favBgcQBKT-eISqouO-jRad4Sw8l5nd2wCF6KorGiTc"
|
||||||
VITE_DEBUG="1"
|
VITE_DEBUG="0"
|
||||||
VITE_VUE_APP_ISTEST="0"
|
VITE_VUE_APP_ISTEST="0"
|
||||||
DIRECTORY_LOCAL=newfreeplanet
|
DIRECTORY_LOCAL="myprojplanet_vite"
|
||||||
DIRECTORY_SERVER=/var/www/freeplanet_serverside
|
DIRECTORY_SERVER="/var/www/nodejs_piuchebuono_server"
|
||||||
SERVERDIR_WEBSITE="/var/www/gruppomacro.app"
|
SERVERDIR_WEBSITE="/var/www/gruppomacro.app"
|
||||||
SERVERPW_WEBSITE=pwdadmin@1AOK
|
SERVERPW_WEBSITE="pwdadmin@1AOK"
|
||||||
|
PORT_SPA="8089"
|
||||||
|
PORT_PWA="8099"
|
||||||
@@ -1,11 +1,13 @@
|
|||||||
VITE_APP_ID="13"
|
VITE_APP_ID="18"
|
||||||
VITE_APP_URL="https://test.riso.app"
|
VITE_APP_URL="https://gruppomacro.app"
|
||||||
VITE_MONGODB_HOST="https://testapi.riso.app"
|
VITE_MONGODB_HOST="https://api.gruppomacro.app"
|
||||||
VITE_LOGO_REG='riso-logo-full.png'
|
VITE_LOGO_REG='gruppomacro-logo-full.png'
|
||||||
VITE_PUBLICKEY_PUSH="BGXRf1TgcqocqD6J7qnRgCG7AvM2lxAoW7peb7UEzB4SxBb6DxGRdJ0UvD9ewnrB9KrSrh0-aDCODXBm7sZ1DDs"
|
VITE_PUBLICKEY_PUSH="BJgo8XR_upbnbMLWgCAUELo6DK7dRXffYAnFOxbaMMz5favBgcQBKT-eISqouO-jRad4Sw8l5nd2wCF6KorGiTc"
|
||||||
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_piuchebuono_server"
|
||||||
SERVERDIR_WEBSITE="/var/www/test.riso.app"
|
SERVERDIR_WEBSITE="/var/www/gruppomacro.app"
|
||||||
SERVERPW_WEBSITE="pwdadmin@1AOK"
|
SERVERPW_WEBSITE="pwdadmin@1AOK"
|
||||||
|
PORT_SPA="8089"
|
||||||
|
PORT_PWA="8099"
|
||||||
@@ -1,11 +1,11 @@
|
|||||||
VITE_APP_ID="18"
|
VITE_APP_ID="18"
|
||||||
VITE_APP_URL="https://test.gruppomacro.app"
|
VITE_APP_URL="https://test.gruppomacro.app"
|
||||||
VITE_MONGODB_HOST="https://testapi.gruppomacro.app"
|
VITE_MONGODB_HOST="https://testapi.gruppomacro.app"
|
||||||
VITE_LOGO_REG='gruppomacro-logo-full.png'
|
VITE_LOGO_REG="gruppomacro-logo-full.png"
|
||||||
VITE_PUBLICKEY_PUSH="BJgo8XR_upbnbMLWgCAUELo6DK7dRXffYAnFOxbaMMz5favBgcQBKT-eISqouO-jRad4Sw8l5nd2wCF6KorGiTc"
|
VITE_PUBLICKEY_PUSH="BJgo8XR_upbnbMLWgCAUELo6DK7dRXffYAnFOxbaMMz5favBgcQBKT-eISqouO-jRad4Sw8l5nd2wCF6KorGiTc"
|
||||||
VITE_DEBUG="1"
|
VITE_DEBUG="1"
|
||||||
VITE_VUE_APP_ISTEST=1
|
VITE_VUE_APP_ISTEST="1"
|
||||||
DIRECTORY_LOCAL=myprojplanet_vite
|
DIRECTORY_LOCAL="myprojplanet_vite"
|
||||||
DIRECTORY_SERVER=/var/www/nodejs_test.piuchebuono_server
|
DIRECTORY_SERVER="/var/www/nodejs_test.piuchebuono_server"
|
||||||
SERVERDIR_WEBSITE="/var/www/test.gruppomacro.app"
|
SERVERDIR_WEBSITE="/var/www/test.gruppomacro.app"
|
||||||
SERVERPW_WEBSITE="pwdadmin@1AOK"
|
SERVERPW_WEBSITE="pwdadmin@1AOK"
|
||||||
@@ -5,7 +5,7 @@ VITE_LOGO_REG="piuchebuono-logo-full.png"
|
|||||||
VITE_PUBLICKEY_PUSH="BJgo8XR_upbnbMLWgCAUELo6DK7dRXffYAnFOxbaMMz5favBgcQBKT-eISqouO-jRad4Sw8l5nd2wCF6KorGiTc"
|
VITE_PUBLICKEY_PUSH="BJgo8XR_upbnbMLWgCAUELo6DK7dRXffYAnFOxbaMMz5favBgcQBKT-eISqouO-jRad4Sw8l5nd2wCF6KorGiTc"
|
||||||
VITE_DEBUG="1"
|
VITE_DEBUG="1"
|
||||||
VITE_VUE_APP_ISTEST="1"
|
VITE_VUE_APP_ISTEST="1"
|
||||||
DIRECTORY_LOCAL="newfreeplanet"
|
DIRECTORY_LOCAL="myprojplanet_vite"
|
||||||
DIRECTORY_SERVER="/var/www/nodejs_test.piuchebuono_server"
|
DIRECTORY_SERVER="/var/www/nodejs_test.piuchebuono_server"
|
||||||
SERVERDIR_WEBSITE="/var/www/test.piuchebuono.app"
|
SERVERDIR_WEBSITE="/var/www/test.piuchebuono.app"
|
||||||
SERVERPW_WEBSITE="pwdadmin@1AOK"
|
SERVERPW_WEBSITE="pwdadmin@1AOK"
|
||||||
@@ -1,11 +1,11 @@
|
|||||||
VITE_APP_ID="13"
|
VITE_APP_ID="13"
|
||||||
VITE_APP_URL="https://test.riso.app"
|
VITE_APP_URL="https://test.riso.app"
|
||||||
VITE_MONGODB_HOST="https://testapi.riso.app"
|
VITE_MONGODB_HOST="https://testapi.riso.app"
|
||||||
VITE_LOGO_REG='riso-logo-full.png'
|
VITE_LOGO_REG="riso-logo-full.png"
|
||||||
VITE_PUBLICKEY_PUSH="BGXRf1TgcqocqD6J7qnRgCG7AvM2lxAoW7peb7UEzB4SxBb6DxGRdJ0UvD9ewnrB9KrSrh0-aDCODXBm7sZ1DDs"
|
VITE_PUBLICKEY_PUSH="BGXRf1TgcqocqD6J7qnRgCG7AvM2lxAoW7peb7UEzB4SxBb6DxGRdJ0UvD9ewnrB9KrSrh0-aDCODXBm7sZ1DDs"
|
||||||
VITE_DEBUG="1"
|
VITE_DEBUG="1"
|
||||||
VITE_VUE_APP_ISTEST=1
|
VITE_VUE_APP_ISTEST="1"
|
||||||
DIRECTORY_LOCAL=myprojplanet_vite
|
DIRECTORY_LOCAL="myprojplanet_vite"
|
||||||
DIRECTORY_SERVER=/var/www/nodejs_test.riso_server
|
DIRECTORY_SERVER="/var/www/nodejs_test.riso_server"
|
||||||
SERVERDIR_WEBSITE="/var/www/test.riso.app"
|
SERVERDIR_WEBSITE="/var/www/test.riso.app"
|
||||||
SERVERPW_WEBSITE="pwdadmin@1AOK"
|
SERVERPW_WEBSITE="pwdadmin@1AOK"
|
||||||
@@ -122,7 +122,7 @@ export default {
|
|||||||
'@typescript-eslint/no-unsafe-argument': 'off',
|
'@typescript-eslint/no-unsafe-argument': 'off',
|
||||||
|
|
||||||
// allow debugger during development only
|
// allow debugger during development only
|
||||||
'no-debugger': import.meta.env.NODE_ENV === 'production' ? 'error' : 'off',
|
'no-debugger': process.env.NODE_ENV === 'production' ? 'error' : 'off',
|
||||||
|
|
||||||
'max-classes-per-file': 'off',
|
'max-classes-per-file': 'off',
|
||||||
'no-useless-constructor': 'off',
|
'no-useless-constructor': 'off',
|
||||||
|
|||||||
3
.gitignore
vendored
@@ -34,3 +34,6 @@ upload/
|
|||||||
._yarn.lock
|
._yarn.lock
|
||||||
.gitignore
|
.gitignore
|
||||||
._upload
|
._upload
|
||||||
|
scripts/localhost.pem
|
||||||
|
scripts/localhost-key.pem
|
||||||
|
scripts/_ALL_SITES/gruppomacro.app/products/
|
||||||
10
.prettierrc
Normal file
@@ -0,0 +1,10 @@
|
|||||||
|
{
|
||||||
|
"singleAttributePerLine": true,
|
||||||
|
"printWidth": 90,
|
||||||
|
"tabWidth": 2,
|
||||||
|
"useTabs": false,
|
||||||
|
"singleQuote": true,
|
||||||
|
"trailingComma": "es5",
|
||||||
|
"bracketSpacing": true,
|
||||||
|
"arrowParens": "always"
|
||||||
|
}
|
||||||
10
.vscode/settings.json
vendored
@@ -1,7 +1,7 @@
|
|||||||
{
|
{
|
||||||
"editor.bracketPairColorization.enabled": true,
|
"editor.bracketPairColorization.enabled": true,
|
||||||
"editor.guides.bracketPairs": true,
|
"editor.guides.bracketPairs": true,
|
||||||
"editor.formatOnSave": true,
|
"editor.formatOnSave": false,
|
||||||
"editor.defaultFormatter": "esbenp.prettier-vscode",
|
"editor.defaultFormatter": "esbenp.prettier-vscode",
|
||||||
"editor.codeActionsOnSave": [],
|
"editor.codeActionsOnSave": [],
|
||||||
"eslint.validate": [
|
"eslint.validate": [
|
||||||
@@ -10,5 +10,11 @@
|
|||||||
"typescript",
|
"typescript",
|
||||||
"vue"
|
"vue"
|
||||||
],
|
],
|
||||||
"typescript.tsdk": "node_modules/typescript/lib"
|
"typescript.tsdk": "node_modules/typescript/lib",
|
||||||
|
"[vue]": {
|
||||||
|
"editor.defaultFormatter": "esbenp.prettier-vscode"
|
||||||
|
},
|
||||||
|
"[typescript]": {
|
||||||
|
"editor.defaultFormatter": "esbenp.prettier-vscode"
|
||||||
|
}
|
||||||
}
|
}
|
||||||
234
_LIMBO/QueryFdevCatalogo.sql
Normal file
@@ -0,0 +1,234 @@
|
|||||||
|
SELECT T.*
|
||||||
|
|
||||||
|
,i.DescrizioneTipologia
|
||||||
|
,f.DescrizioneStatoProdotto
|
||||||
|
,n.DescrizioneFormato
|
||||||
|
,y.DescrizioneCollana
|
||||||
|
,z.AutoriCompleti
|
||||||
|
,i2.DescrArgomento
|
||||||
|
,z3.CasaEditrice
|
||||||
|
,q.QtaDisponibile
|
||||||
|
FROM
|
||||||
|
T_WEB_Articoli T
|
||||||
|
WITH (noLock)
|
||||||
|
|
||||||
|
RIGHT JOIN
|
||||||
|
( SELECT IdArticolo,
|
||||||
|
MAX(DataOra) AS data
|
||||||
|
FROM
|
||||||
|
T_WEB_Articoli
|
||||||
|
GROUP BY
|
||||||
|
IdArticolo ) b
|
||||||
|
ON
|
||||||
|
T.IdArticolo = b.IdArticolo
|
||||||
|
AND T.DataOra = b.data
|
||||||
|
|
||||||
|
RIGHT JOIN
|
||||||
|
( SELECT
|
||||||
|
e.IdStatoProdotto,
|
||||||
|
e.Descrizione as DescrizioneStatoProdotto
|
||||||
|
FROM
|
||||||
|
T_WEB_StatiProdotto e
|
||||||
|
JOIN
|
||||||
|
(
|
||||||
|
SELECT
|
||||||
|
IdStatoProdotto,
|
||||||
|
MAX(DataOra) as data1
|
||||||
|
FROM
|
||||||
|
T_WEB_StatiProdotto
|
||||||
|
GROUP BY
|
||||||
|
IdStatoProdotto ) c
|
||||||
|
ON
|
||||||
|
e.IdStatoProdotto = c.IdStatoProdotto
|
||||||
|
AND e.DataOra = c.data1 ) f
|
||||||
|
ON
|
||||||
|
T.IdStatoProdotto = f.IdStatoProdotto
|
||||||
|
RIGHT JOIN
|
||||||
|
(
|
||||||
|
SELECT
|
||||||
|
g.IdTipologia,
|
||||||
|
g.Descrizione as DescrizioneTipologia
|
||||||
|
FROM
|
||||||
|
T_WEB_Tipologie g
|
||||||
|
JOIN
|
||||||
|
(
|
||||||
|
SELECT
|
||||||
|
IdTipologia,
|
||||||
|
MAX(DataOra) as data1
|
||||||
|
FROM
|
||||||
|
T_WEB_Tipologie
|
||||||
|
GROUP BY
|
||||||
|
IdTipologia ) h
|
||||||
|
ON
|
||||||
|
g.IdTipologia = h.IdTipologia
|
||||||
|
AND g.DataOra = h.data1 ) i
|
||||||
|
ON
|
||||||
|
T.IdTipologia = i.IdTipologia
|
||||||
|
RIGHT JOIN
|
||||||
|
(
|
||||||
|
SELECT
|
||||||
|
l.IdTipoFormato,
|
||||||
|
l.Descrizione as DescrizioneFormato
|
||||||
|
FROM
|
||||||
|
T_WEB_TipiFormato l
|
||||||
|
JOIN
|
||||||
|
(
|
||||||
|
SELECT
|
||||||
|
IdTipoFormato,
|
||||||
|
MAX(DataOra) as data1
|
||||||
|
FROM
|
||||||
|
T_WEB_TipiFormato
|
||||||
|
GROUP BY
|
||||||
|
IdTipoFormato ) m
|
||||||
|
ON
|
||||||
|
l.IdTipoFormato = m.IdTipoFormato
|
||||||
|
AND l.DataOra = m.data1 ) n
|
||||||
|
ON
|
||||||
|
T.IdTipoFormato = n.IdTipoFormato
|
||||||
|
RIGHT JOIN
|
||||||
|
(
|
||||||
|
SELECT
|
||||||
|
v.IdCollana,
|
||||||
|
v.Descrizione as DescrizioneCollana
|
||||||
|
FROM
|
||||||
|
T_WEB_Collane v
|
||||||
|
INNER JOIN
|
||||||
|
(
|
||||||
|
SELECT
|
||||||
|
IdCollana,
|
||||||
|
MAX(ID) as MaxID
|
||||||
|
FROM
|
||||||
|
T_WEB_Collane
|
||||||
|
GROUP BY
|
||||||
|
IdCollana ) x
|
||||||
|
ON
|
||||||
|
v.IdCollana = x.IdCollana
|
||||||
|
AND v.ID = x.MaxID ) y
|
||||||
|
ON
|
||||||
|
T.IdCollana = y.IdCollana
|
||||||
|
RIGHT JOIN
|
||||||
|
(
|
||||||
|
SELECT
|
||||||
|
g2.IdArgomento,
|
||||||
|
g2.Descrizione as DescrArgomento
|
||||||
|
FROM
|
||||||
|
T_WEB_Argomenti g2
|
||||||
|
INNER JOIN
|
||||||
|
(
|
||||||
|
SELECT
|
||||||
|
IdArgomento,
|
||||||
|
MAX(DataOra) as data12
|
||||||
|
FROM
|
||||||
|
T_WEB_Argomenti
|
||||||
|
GROUP BY
|
||||||
|
IdArgomento ) h
|
||||||
|
ON
|
||||||
|
g2.IdArgomento = h.IdArgomento
|
||||||
|
AND g2.DataOra = h.data12 ) i2
|
||||||
|
ON
|
||||||
|
T.ListaArgomenti = i2.IdArgomento
|
||||||
|
RIGHT JOIN ( SELECT
|
||||||
|
o.Codice,
|
||||||
|
o.QtaDisponibile
|
||||||
|
FROM
|
||||||
|
T_WEB_Disponibile o
|
||||||
|
JOIN
|
||||||
|
(
|
||||||
|
SELECT
|
||||||
|
Codice,
|
||||||
|
MAX(DataOra) as data1
|
||||||
|
FROM
|
||||||
|
T_WEB_Disponibile
|
||||||
|
GROUP BY
|
||||||
|
Codice ) p
|
||||||
|
ON
|
||||||
|
o.Codice = p.Codice
|
||||||
|
AND o.DataOra = p.data1 ) q
|
||||||
|
ON
|
||||||
|
T.IdArticolo = q.Codice
|
||||||
|
RIGHT JOIN
|
||||||
|
(
|
||||||
|
SELECT
|
||||||
|
a3.IdMarchioEditoriale,
|
||||||
|
a3.Descrizione as CasaEditrice
|
||||||
|
FROM
|
||||||
|
T_WEB_MarchiEditoriali a3
|
||||||
|
JOIN
|
||||||
|
(
|
||||||
|
SELECT
|
||||||
|
IdMarchioEditoriale,
|
||||||
|
MAX(DataOra) as maxData
|
||||||
|
FROM
|
||||||
|
T_WEB_MarchiEditoriali
|
||||||
|
GROUP BY
|
||||||
|
IdMarchioEditoriale ) aa3
|
||||||
|
ON
|
||||||
|
a3.IdMarchioEditoriale = aa3.IdMarchioEditoriale
|
||||||
|
AND a3.DataOra = aa3.maxData ) z3
|
||||||
|
ON
|
||||||
|
T.IdMarchioEditoriale = z3.IdMarchioEditoriale
|
||||||
|
RIGHT JOIN
|
||||||
|
(
|
||||||
|
SELECT T1.IdArticolo, STUFF((
|
||||||
|
SELECT
|
||||||
|
',' + ISNULL(A2.AutoreCompleto, '')
|
||||||
|
FROM
|
||||||
|
(
|
||||||
|
SELECT
|
||||||
|
CAST('<root><x>' + REPLACE(T1.ListaAutori, ',', '</x><x>') + '</x></root>' AS XML) AS DataXML ) X
|
||||||
|
CROSS APPLY
|
||||||
|
X.DataXML.nodes('/root/x') AS A(x)
|
||||||
|
CROSS APPLY
|
||||||
|
(
|
||||||
|
SELECT
|
||||||
|
TRY_CAST(LTRIM(RTRIM(A.x.value('.', 'VARCHAR(100)'))) AS INT) AS AutoreID ) CA
|
||||||
|
LEFT JOIN
|
||||||
|
(
|
||||||
|
SELECT
|
||||||
|
a.IdAutore,
|
||||||
|
CONCAT(a.Nome, ' ', a.Cognome) AS AutoreCompleto
|
||||||
|
FROM
|
||||||
|
T_WEB_Autori a
|
||||||
|
RIGHT JOIN
|
||||||
|
(
|
||||||
|
SELECT
|
||||||
|
IdAutore,
|
||||||
|
MAX(DataOra) AS maxData
|
||||||
|
FROM
|
||||||
|
T_WEB_Autori
|
||||||
|
GROUP BY
|
||||||
|
IdAutore ) aa
|
||||||
|
ON
|
||||||
|
a.IdAutore = aa.IdAutore
|
||||||
|
AND a.DataOra = aa.maxData
|
||||||
|
) A2
|
||||||
|
ON
|
||||||
|
CA.AutoreID = A2.IdAutore FOR XML PATH(''),
|
||||||
|
TYPE ).value('.', 'NVARCHAR(MAX)') ,
|
||||||
|
1 ,
|
||||||
|
1 ,
|
||||||
|
'') AS AutoriCompleti
|
||||||
|
FROM T_WEB_Articoli T1
|
||||||
|
WHERE t1.DataOra = (select max(DataOra) AS DataOra from T_web_articoli As h WHERE h.IdArticolo = T1.IdArticolo)
|
||||||
|
|
||||||
|
GROUP BY T1.IdArticolo, T1.ListaAutori ) z ON T.IdArticolo = z.IdArticolo
|
||||||
|
WHERE
|
||||||
|
(
|
||||||
|
DescrizioneStatoProdotto = 'In commercio'
|
||||||
|
OR DescrizioneStatoProdotto = 'Prossima uscita/pubblicazione'
|
||||||
|
OR DescrizioneStatoProdotto = 'Prossima uscita'
|
||||||
|
OR DescrizioneStatoProdotto = 'In prevendita'
|
||||||
|
OR DescrizioneStatoProdotto = '2023 in commercio')
|
||||||
|
AND (
|
||||||
|
DescrizioneTipologia = 'Libri'
|
||||||
|
OR DescrizioneTipologia = 'Cartolibro'
|
||||||
|
OR DescrizioneTipologia = 'Carte')
|
||||||
|
AND (
|
||||||
|
Ean13 NOT LIKE 'USATO%')
|
||||||
|
ORDER BY T.IdArticolo DESC, Id DESC
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
284201
_LIMBO/dati.js
Normal file
467
_LIMBO/esempio.htm
Normal file
@@ -0,0 +1,467 @@
|
|||||||
|
<!DOCTYPE html>
|
||||||
|
<html lang="it">
|
||||||
|
<head>
|
||||||
|
<meta charset="UTF-8">
|
||||||
|
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||||
|
<title>Carrello Prodotti - Design Moderno</title>
|
||||||
|
<link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.0/css/all.min.css" rel="stylesheet">
|
||||||
|
<style>
|
||||||
|
* {
|
||||||
|
margin: 0;
|
||||||
|
padding: 0;
|
||||||
|
box-sizing: border-box;
|
||||||
|
}
|
||||||
|
|
||||||
|
body {
|
||||||
|
font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
|
||||||
|
background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
|
||||||
|
min-height: 100vh;
|
||||||
|
padding: 20px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.cart-container {
|
||||||
|
max-width: 800px;
|
||||||
|
margin: 0 auto;
|
||||||
|
background: rgba(255, 255, 255, 0.95);
|
||||||
|
backdrop-filter: blur(20px);
|
||||||
|
border-radius: 24px;
|
||||||
|
padding: 32px;
|
||||||
|
box-shadow: 0 25px 50px rgba(0, 0, 0, 0.15);
|
||||||
|
border: 1px solid rgba(255, 255, 255, 0.2);
|
||||||
|
}
|
||||||
|
|
||||||
|
.cart-header {
|
||||||
|
text-align: center;
|
||||||
|
margin-bottom: 40px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.cart-title {
|
||||||
|
font-size: 2.5rem;
|
||||||
|
font-weight: 700;
|
||||||
|
background: linear-gradient(135deg, #667eea, #764ba2);
|
||||||
|
-webkit-background-clip: text;
|
||||||
|
-webkit-text-fill-color: transparent;
|
||||||
|
margin-bottom: 8px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.cart-subtitle {
|
||||||
|
color: #6b7280;
|
||||||
|
font-size: 1.1rem;
|
||||||
|
}
|
||||||
|
|
||||||
|
.product-card {
|
||||||
|
background: #ffffff;
|
||||||
|
border-radius: 20px;
|
||||||
|
padding: 24px;
|
||||||
|
margin-bottom: 20px;
|
||||||
|
box-shadow: 0 8px 32px rgba(0, 0, 0, 0.1);
|
||||||
|
border: 1px solid rgba(0, 0, 0, 0.05);
|
||||||
|
transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
|
||||||
|
transform: translateY(0);
|
||||||
|
}
|
||||||
|
|
||||||
|
.product-card:hover {
|
||||||
|
transform: translateY(-4px);
|
||||||
|
box-shadow: 0 16px 40px rgba(0, 0, 0, 0.15);
|
||||||
|
}
|
||||||
|
|
||||||
|
.product-card.removing {
|
||||||
|
opacity: 0;
|
||||||
|
transform: translateX(100px);
|
||||||
|
transition: all 0.5s ease;
|
||||||
|
}
|
||||||
|
|
||||||
|
.product-content {
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
gap: 20px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.product-image {
|
||||||
|
width: 80px;
|
||||||
|
height: 80px;
|
||||||
|
border-radius: 16px;
|
||||||
|
background: linear-gradient(135deg, #f093fb 0%, #f5576c 100%);
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
justify-content: center;
|
||||||
|
font-size: 2rem;
|
||||||
|
flex-shrink: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
.product-info {
|
||||||
|
flex: 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
.product-name {
|
||||||
|
font-size: 1.3rem;
|
||||||
|
font-weight: 600;
|
||||||
|
color: #1f2937;
|
||||||
|
margin-bottom: 4px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.product-price {
|
||||||
|
font-size: 1.1rem;
|
||||||
|
color: #6b7280;
|
||||||
|
margin-bottom: 8px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.product-total {
|
||||||
|
font-size: 1.2rem;
|
||||||
|
font-weight: 700;
|
||||||
|
color: #059669;
|
||||||
|
}
|
||||||
|
|
||||||
|
.quantity-controls {
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
gap: 16px;
|
||||||
|
margin-top: 16px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.quantity-btn {
|
||||||
|
width: 48px;
|
||||||
|
height: 48px;
|
||||||
|
border: none;
|
||||||
|
border-radius: 12px;
|
||||||
|
background: linear-gradient(135deg, #667eea, #764ba2);
|
||||||
|
color: white;
|
||||||
|
font-size: 1.2rem;
|
||||||
|
cursor: pointer;
|
||||||
|
transition: all 0.3s ease;
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
justify-content: center;
|
||||||
|
box-shadow: 0 4px 12px rgba(102, 126, 234, 0.3);
|
||||||
|
}
|
||||||
|
|
||||||
|
.quantity-btn:hover:not(:disabled) {
|
||||||
|
transform: translateY(-2px);
|
||||||
|
box-shadow: 0 8px 20px rgba(102, 126, 234, 0.4);
|
||||||
|
}
|
||||||
|
|
||||||
|
.quantity-btn:active {
|
||||||
|
transform: translateY(0);
|
||||||
|
}
|
||||||
|
|
||||||
|
.quantity-btn:disabled {
|
||||||
|
opacity: 0.5;
|
||||||
|
cursor: not-allowed;
|
||||||
|
transform: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
.quantity-display {
|
||||||
|
min-width: 60px;
|
||||||
|
text-align: center;
|
||||||
|
font-size: 1.4rem;
|
||||||
|
font-weight: 600;
|
||||||
|
color: #1f2937;
|
||||||
|
background: #f8fafc;
|
||||||
|
border-radius: 12px;
|
||||||
|
padding: 12px 16px;
|
||||||
|
border: 2px solid #e2e8f0;
|
||||||
|
transition: all 0.3s ease;
|
||||||
|
}
|
||||||
|
|
||||||
|
.quantity-display.updating {
|
||||||
|
transform: scale(1.1);
|
||||||
|
border-color: #667eea;
|
||||||
|
background: #eff6ff;
|
||||||
|
}
|
||||||
|
|
||||||
|
.remove-btn {
|
||||||
|
background: linear-gradient(135deg, #ef4444, #dc2626);
|
||||||
|
color: white;
|
||||||
|
border: none;
|
||||||
|
border-radius: 12px;
|
||||||
|
padding: 12px 20px;
|
||||||
|
font-size: 0.9rem;
|
||||||
|
font-weight: 500;
|
||||||
|
cursor: pointer;
|
||||||
|
transition: all 0.3s ease;
|
||||||
|
margin-left: auto;
|
||||||
|
}
|
||||||
|
|
||||||
|
.remove-btn:hover {
|
||||||
|
transform: translateY(-2px);
|
||||||
|
box-shadow: 0 8px 20px rgba(239, 68, 68, 0.3);
|
||||||
|
}
|
||||||
|
|
||||||
|
.cart-summary {
|
||||||
|
background: linear-gradient(135deg, #667eea, #764ba2);
|
||||||
|
color: white;
|
||||||
|
border-radius: 20px;
|
||||||
|
padding: 24px;
|
||||||
|
margin-top: 32px;
|
||||||
|
text-align: center;
|
||||||
|
opacity: 1;
|
||||||
|
transition: all 0.3s ease;
|
||||||
|
}
|
||||||
|
|
||||||
|
.cart-summary.hidden {
|
||||||
|
opacity: 0;
|
||||||
|
transform: translateY(20px);
|
||||||
|
}
|
||||||
|
|
||||||
|
.total-amount {
|
||||||
|
font-size: 2rem;
|
||||||
|
font-weight: 700;
|
||||||
|
margin-bottom: 8px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.total-items {
|
||||||
|
opacity: 0.9;
|
||||||
|
margin-bottom: 20px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.checkout-btn {
|
||||||
|
background: rgba(255, 255, 255, 0.2);
|
||||||
|
border: 2px solid rgba(255, 255, 255, 0.3);
|
||||||
|
color: white;
|
||||||
|
padding: 16px 32px;
|
||||||
|
border-radius: 12px;
|
||||||
|
font-size: 1.1rem;
|
||||||
|
font-weight: 600;
|
||||||
|
cursor: pointer;
|
||||||
|
transition: all 0.3s ease;
|
||||||
|
backdrop-filter: blur(10px);
|
||||||
|
}
|
||||||
|
|
||||||
|
.checkout-btn:hover {
|
||||||
|
background: rgba(255, 255, 255, 0.3);
|
||||||
|
transform: translateY(-2px);
|
||||||
|
}
|
||||||
|
|
||||||
|
.empty-cart {
|
||||||
|
text-align: center;
|
||||||
|
padding: 60px 20px;
|
||||||
|
color: #6b7280;
|
||||||
|
opacity: 0;
|
||||||
|
transition: opacity 0.5s ease;
|
||||||
|
}
|
||||||
|
|
||||||
|
.empty-cart.show {
|
||||||
|
opacity: 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
.empty-cart i {
|
||||||
|
font-size: 4rem;
|
||||||
|
margin-bottom: 20px;
|
||||||
|
opacity: 0.5;
|
||||||
|
}
|
||||||
|
|
||||||
|
@keyframes pulse {
|
||||||
|
0%, 100% { transform: scale(1); }
|
||||||
|
50% { transform: scale(1.05); }
|
||||||
|
}
|
||||||
|
|
||||||
|
.pulse {
|
||||||
|
animation: pulse 0.3s ease-in-out;
|
||||||
|
}
|
||||||
|
|
||||||
|
@keyframes fadeInUp {
|
||||||
|
from {
|
||||||
|
opacity: 0;
|
||||||
|
transform: translateY(30px);
|
||||||
|
}
|
||||||
|
to {
|
||||||
|
opacity: 1;
|
||||||
|
transform: translateY(0);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.fade-in {
|
||||||
|
animation: fadeInUp 0.5s ease forwards;
|
||||||
|
}
|
||||||
|
|
||||||
|
@media (max-width: 768px) {
|
||||||
|
.product-content {
|
||||||
|
flex-direction: column;
|
||||||
|
text-align: center;
|
||||||
|
}
|
||||||
|
|
||||||
|
.quantity-controls {
|
||||||
|
justify-content: center;
|
||||||
|
}
|
||||||
|
|
||||||
|
.remove-btn {
|
||||||
|
margin: 16px auto 0;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</style>
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
<div class="cart-container">
|
||||||
|
<div class="cart-header">
|
||||||
|
<h1 class="cart-title">
|
||||||
|
<i class="fas fa-shopping-cart"></i>
|
||||||
|
Il Tuo Carrello
|
||||||
|
</h1>
|
||||||
|
<p class="cart-subtitle">Gestisci i tuoi prodotti preferiti</p>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div id="empty-cart" class="empty-cart">
|
||||||
|
<i class="fas fa-shopping-bag"></i>
|
||||||
|
<h3>Il tuo carrello è vuoto</h3>
|
||||||
|
<p>Aggiungi alcuni prodotti per iniziare!</p>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div id="cart-items"></div>
|
||||||
|
|
||||||
|
<div id="cart-summary" class="cart-summary">
|
||||||
|
<div class="total-amount" id="total-amount">€0.00</div>
|
||||||
|
<p class="total-items" id="total-items">0 articoli nel carrello</p>
|
||||||
|
<button class="checkout-btn" onclick="checkout()">
|
||||||
|
<i class="fas fa-credit-card"></i>
|
||||||
|
Procedi al Checkout
|
||||||
|
</button>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<script>
|
||||||
|
// Dati del carrello
|
||||||
|
let cartItems = [
|
||||||
|
{ id: 1, name: 'iPhone 15 Pro', price: 1199.99, quantity: 1, emoji: '📱' },
|
||||||
|
{ id: 2, name: 'MacBook Air M3', price: 1299.99, quantity: 2, emoji: '💻' },
|
||||||
|
{ id: 3, name: 'AirPods Pro', price: 279.99, quantity: 1, emoji: '🎧' },
|
||||||
|
{ id: 4, name: 'Apple Watch', price: 399.99, quantity: 1, emoji: '⌚' }
|
||||||
|
];
|
||||||
|
|
||||||
|
// Elementi DOM
|
||||||
|
const cartItemsContainer = document.getElementById('cart-items');
|
||||||
|
const emptyCartDiv = document.getElementById('empty-cart');
|
||||||
|
const cartSummaryDiv = document.getElementById('cart-summary');
|
||||||
|
const totalAmountSpan = document.getElementById('total-amount');
|
||||||
|
const totalItemsSpan = document.getElementById('total-items');
|
||||||
|
|
||||||
|
// Funzioni di calcolo
|
||||||
|
function calculateTotal() {
|
||||||
|
return cartItems.reduce((total, item) => total + (item.price * item.quantity), 0);
|
||||||
|
}
|
||||||
|
|
||||||
|
function calculateTotalItems() {
|
||||||
|
return cartItems.reduce((total, item) => total + item.quantity, 0);
|
||||||
|
}
|
||||||
|
|
||||||
|
// Funzione per creare HTML di un prodotto
|
||||||
|
function createProductHTML(item) {
|
||||||
|
return `
|
||||||
|
<div class="product-card fade-in" data-id="${item.id}">
|
||||||
|
<div class="product-content">
|
||||||
|
<div class="product-image">
|
||||||
|
${item.emoji}
|
||||||
|
</div>
|
||||||
|
<div class="product-info">
|
||||||
|
<h3 class="product-name">${item.name}</h3>
|
||||||
|
<p class="product-price">€${item.price.toFixed(2)} / unità</p>
|
||||||
|
<p class="product-total">Totale: €${(item.price * item.quantity).toFixed(2)}</p>
|
||||||
|
|
||||||
|
<div class="quantity-controls">
|
||||||
|
<button
|
||||||
|
class="quantity-btn"
|
||||||
|
onclick="decreaseQuantity(${item.id})"
|
||||||
|
${item.quantity <= 1 ? 'disabled' : ''}
|
||||||
|
>
|
||||||
|
<i class="fas fa-minus"></i>
|
||||||
|
</button>
|
||||||
|
|
||||||
|
<div class="quantity-display" id="qty-${item.id}">
|
||||||
|
${item.quantity}
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<button
|
||||||
|
class="quantity-btn"
|
||||||
|
onclick="increaseQuantity(${item.id})"
|
||||||
|
>
|
||||||
|
<i class="fas fa-plus"></i>
|
||||||
|
</button>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<button
|
||||||
|
class="remove-btn"
|
||||||
|
onclick="removeItem(${item.id})"
|
||||||
|
>
|
||||||
|
<i class="fas fa-trash"></i>
|
||||||
|
Rimuovi
|
||||||
|
</button>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
`;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Funzione per aggiornare l'interfaccia
|
||||||
|
function updateUI() {
|
||||||
|
// Aggiorna contenuto carrello
|
||||||
|
if (cartItems.length === 0) {
|
||||||
|
cartItemsContainer.innerHTML = '';
|
||||||
|
emptyCartDiv.classList.add('show');
|
||||||
|
cartSummaryDiv.classList.add('hidden');
|
||||||
|
} else {
|
||||||
|
emptyCartDiv.classList.remove('show');
|
||||||
|
cartSummaryDiv.classList.remove('hidden');
|
||||||
|
cartItemsContainer.innerHTML = cartItems.map(createProductHTML).join('');
|
||||||
|
}
|
||||||
|
|
||||||
|
// Aggiorna totali
|
||||||
|
const total = calculateTotal();
|
||||||
|
const totalItems = calculateTotalItems();
|
||||||
|
|
||||||
|
totalAmountSpan.textContent = `€${total.toFixed(2)}`;
|
||||||
|
totalItemsSpan.textContent = `${totalItems} ${totalItems === 1 ? 'articolo' : 'articoli'} nel carrello`;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Funzioni per gestire quantità
|
||||||
|
function increaseQuantity(itemId) {
|
||||||
|
const item = cartItems.find(item => item.id === itemId);
|
||||||
|
if (item) {
|
||||||
|
item.quantity++;
|
||||||
|
|
||||||
|
// Animazione feedback
|
||||||
|
const qtyDisplay = document.getElementById(`qty-${itemId}`);
|
||||||
|
qtyDisplay.classList.add('updating');
|
||||||
|
setTimeout(() => qtyDisplay.classList.remove('updating'), 300);
|
||||||
|
|
||||||
|
updateUI();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
function decreaseQuantity(itemId) {
|
||||||
|
const item = cartItems.find(item => item.id === itemId);
|
||||||
|
if (item && item.quantity > 1) {
|
||||||
|
item.quantity--;
|
||||||
|
|
||||||
|
// Animazione feedback
|
||||||
|
const qtyDisplay = document.getElementById(`qty-${itemId}`);
|
||||||
|
qtyDisplay.classList.add('updating');
|
||||||
|
setTimeout(() => qtyDisplay.classList.remove('updating'), 300);
|
||||||
|
|
||||||
|
updateUI();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// Funzione per rimuovere prodotto
|
||||||
|
function removeItem(itemId) {
|
||||||
|
const productCard = document.querySelector(`[data-id="${itemId}"]`);
|
||||||
|
productCard.classList.add('removing');
|
||||||
|
|
||||||
|
setTimeout(() => {
|
||||||
|
cartItems = cartItems.filter(item => item.id !== itemId);
|
||||||
|
updateUI();
|
||||||
|
}, 500);
|
||||||
|
}
|
||||||
|
|
||||||
|
// Funzione checkout
|
||||||
|
function checkout() {
|
||||||
|
const total = calculateTotal();
|
||||||
|
const totalItems = calculateTotalItems();
|
||||||
|
alert(`Checkout per €${total.toFixed(2)} - ${totalItems} articoli`);
|
||||||
|
}
|
||||||
|
|
||||||
|
// Inizializza l'interfaccia
|
||||||
|
document.addEventListener('DOMContentLoaded', function() {
|
||||||
|
updateUI();
|
||||||
|
});
|
||||||
|
</script>
|
||||||
|
</body>
|
||||||
|
</html>
|
||||||
113
_LIMBO/queryoriginale.sql
Normal file
@@ -0,0 +1,113 @@
|
|||||||
|
SELECT TOP 10000
|
||||||
|
T.*
|
||||||
|
|
||||||
|
,i.DescrizioneTipologia
|
||||||
|
,f.DescrizioneStatoProdotto
|
||||||
|
,n.DescrizioneFormato
|
||||||
|
,y.DescrizioneCollana
|
||||||
|
,z.AutoriCompleti
|
||||||
|
,i2.DescrArgomento
|
||||||
|
,z3.CasaEditrice ,q.QtaDisponibile FROM T_WEB_Articoli T
|
||||||
|
JOIN(
|
||||||
|
SELECT IdArticolo, MAX(DataOra) AS data
|
||||||
|
FROM T_WEB_Articoli
|
||||||
|
GROUP BY IdArticolo
|
||||||
|
) b ON T.IdArticolo = b.IdArticolo AND T.DataOra = b.data LEFT JOIN(
|
||||||
|
SELECT e.IdStatoProdotto, e.Descrizione as DescrizioneStatoProdotto
|
||||||
|
FROM T_WEB_StatiProdotto e
|
||||||
|
JOIN(
|
||||||
|
SELECT IdStatoProdotto, MAX(DataOra) as data1
|
||||||
|
FROM T_WEB_StatiProdotto
|
||||||
|
GROUP BY IdStatoProdotto
|
||||||
|
) c ON e.IdStatoProdotto = c.IdStatoProdotto AND e.DataOra = c.data1
|
||||||
|
) f ON T.IdStatoProdotto = f.IdStatoProdotto
|
||||||
|
LEFT JOIN(
|
||||||
|
SELECT g.IdTipologia, g.Descrizione as DescrizioneTipologia
|
||||||
|
FROM T_WEB_Tipologie g
|
||||||
|
JOIN(
|
||||||
|
SELECT IdTipologia, MAX(DataOra) as data1
|
||||||
|
FROM T_WEB_Tipologie
|
||||||
|
GROUP BY IdTipologia
|
||||||
|
) h ON g.IdTipologia = h.IdTipologia AND g.DataOra = h.data1
|
||||||
|
) i ON T.IdTipologia = i.IdTipologia
|
||||||
|
LEFT JOIN(
|
||||||
|
SELECT l.IdTipoFormato, l.Descrizione as DescrizioneFormato
|
||||||
|
FROM T_WEB_TipiFormato l
|
||||||
|
JOIN(
|
||||||
|
SELECT IdTipoFormato, MAX(DataOra) as data1
|
||||||
|
FROM T_WEB_TipiFormato
|
||||||
|
GROUP BY IdTipoFormato
|
||||||
|
) m ON l.IdTipoFormato = m.IdTipoFormato AND l.DataOra = m.data1
|
||||||
|
) n ON T.IdTipoFormato = n.IdTipoFormato
|
||||||
|
LEFT JOIN(
|
||||||
|
SELECT v.IdCollana, v.Descrizione as DescrizioneCollana
|
||||||
|
FROM T_WEB_Collane v
|
||||||
|
INNER JOIN(
|
||||||
|
SELECT IdCollana, MAX(ID) as MaxID
|
||||||
|
FROM T_WEB_Collane
|
||||||
|
GROUP BY IdCollana
|
||||||
|
) x ON v.IdCollana = x.IdCollana AND v.ID = x.MaxID
|
||||||
|
) y ON T.IdCollana = y.IdCollana
|
||||||
|
LEFT JOIN(
|
||||||
|
SELECT g2.IdArgomento, g2.Descrizione as DescrArgomento
|
||||||
|
FROM T_WEB_Argomenti g2
|
||||||
|
INNER JOIN(
|
||||||
|
SELECT IdArgomento, MAX(DataOra) as data12
|
||||||
|
FROM T_WEB_Argomenti
|
||||||
|
GROUP BY IdArgomento
|
||||||
|
) h ON g2.IdArgomento = h.IdArgomento AND g2.DataOra = h.data12
|
||||||
|
) i2 ON T.ListaArgomenti = i2.IdArgomento
|
||||||
|
LEFT JOIN(
|
||||||
|
SELECT
|
||||||
|
T1.IdArticolo,
|
||||||
|
STUFF((
|
||||||
|
SELECT ',' + ISNULL(A2.AutoreCompleto, '')
|
||||||
|
FROM(
|
||||||
|
SELECT CAST('<root><x>' + REPLACE(T1.ListaAutori, ',', '</x><x>') + '</x></root>' AS XML) AS DataXML
|
||||||
|
) X
|
||||||
|
CROSS APPLY X.DataXML.nodes('/root/x') AS A(x)
|
||||||
|
CROSS APPLY(
|
||||||
|
SELECT TRY_CAST(LTRIM(RTRIM(A.x.value('.', 'VARCHAR(100)'))) AS INT) AS AutoreID
|
||||||
|
) CA
|
||||||
|
JOIN(
|
||||||
|
SELECT a.IdAutore, CONCAT(a.Nome, ' ', a.Cognome) AS AutoreCompleto
|
||||||
|
FROM T_WEB_Autori a
|
||||||
|
JOIN(
|
||||||
|
SELECT IdAutore, MAX(DataOra) AS maxData
|
||||||
|
FROM T_WEB_Autori
|
||||||
|
GROUP BY IdAutore
|
||||||
|
) aa ON a.IdAutore = aa.IdAutore AND a.DataOra = aa.maxData
|
||||||
|
) A2 ON CA.AutoreID = A2.IdAutore
|
||||||
|
FOR XML PATH(''), TYPE
|
||||||
|
).value('.', 'NVARCHAR(MAX)'), 1, 1, '') AS AutoriCompleti
|
||||||
|
FROM T_WEB_Articoli T1
|
||||||
|
GROUP BY T1.IdArticolo, T1.ListaAutori
|
||||||
|
) z ON T.IdArticolo = z.IdArticolo
|
||||||
|
LEFT JOIN(
|
||||||
|
SELECT a3.IdMarchioEditoriale, a3.Descrizione as CasaEditrice
|
||||||
|
FROM T_WEB_MarchiEditoriali a3
|
||||||
|
JOIN(
|
||||||
|
SELECT IdMarchioEditoriale, MAX(DataOra) as maxData
|
||||||
|
FROM T_WEB_MarchiEditoriali
|
||||||
|
GROUP BY IdMarchioEditoriale
|
||||||
|
) aa3 ON a3.IdMarchioEditoriale = aa3.IdMarchioEditoriale AND a3.DataOra = aa3.maxData
|
||||||
|
) z3 ON T.IdMarchioEditoriale = z3.IdMarchioEditoriale LEFT JOIN(
|
||||||
|
SELECT o.Codice, o.QtaDisponibile
|
||||||
|
FROM T_WEB_Disponibile o
|
||||||
|
JOIN(
|
||||||
|
SELECT Codice, MAX(DataOra) as data1
|
||||||
|
FROM T_WEB_Disponibile
|
||||||
|
GROUP BY Codice
|
||||||
|
) p ON o.Codice = p.Codice AND o.DataOra = p.data1
|
||||||
|
) q ON T.IdArticolo = q.Codice WHERE
|
||||||
|
(DescrizioneStatoProdotto = 'In commercio' OR
|
||||||
|
DescrizioneStatoProdotto = 'Prossima uscita/pubblicazione' OR
|
||||||
|
DescrizioneStatoProdotto = 'Prossima uscita' OR
|
||||||
|
DescrizioneStatoProdotto = 'In prevendita' OR
|
||||||
|
DescrizioneStatoProdotto = '2023 in commercio')
|
||||||
|
AND
|
||||||
|
(DescrizioneTipologia = 'Libri' OR
|
||||||
|
DescrizioneTipologia = 'Cartolibro' OR
|
||||||
|
DescrizioneTipologia = 'Carte')
|
||||||
|
AND
|
||||||
|
(Ean13 NOT LIKE 'USATO%')
|
||||||
63
_LIMBO/tutorial.htm
Normal file
@@ -0,0 +1,63 @@
|
|||||||
|
<div>
|
||||||
|
<br>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div>
|
||||||
|
<b>
|
||||||
|
<font size="4">TUTORIAL</font>
|
||||||
|
</b>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div>
|
||||||
|
<ul>
|
||||||
|
<li>
|
||||||
|
<font size="4">
|
||||||
|
<a href="https://gruppomacro.app/upload/video/Come_generare_un_Catalogo_Personalizzato.mp4?id=1">
|
||||||
|
Come generare un Catalogo Personalizzato
|
||||||
|
</a>
|
||||||
|
(1 luglio 2025)
|
||||||
|
</font>
|
||||||
|
</li>
|
||||||
|
<li>
|
||||||
|
<font size="4">
|
||||||
|
<a href="https://gruppomacro.app/upload/video/Come_cercare_un_Libro.mp4">
|
||||||
|
Come cercare un Libro
|
||||||
|
</a>
|
||||||
|
(23 giugno 2025)
|
||||||
|
</font>
|
||||||
|
</li>
|
||||||
|
<li>
|
||||||
|
<font size="4">
|
||||||
|
<a href="https://gruppomacro.app/upload/video/Come_Inserire_la_sinossi_del_libri_sul_Catalogo.mp4">
|
||||||
|
Come inserire la Sinossi di un libro
|
||||||
|
</a>
|
||||||
|
(30 maggio 2025)
|
||||||
|
</font>
|
||||||
|
</li>
|
||||||
|
<li>
|
||||||
|
<font size="4">
|
||||||
|
<a href="https://gruppomacro.app/upload/video/Come_generare_un_catalogo_per_argomento.mp4">
|
||||||
|
Come generare un Catalogo per argomento
|
||||||
|
</a>
|
||||||
|
(30 maggio 2025)
|
||||||
|
</font>
|
||||||
|
</li>
|
||||||
|
<li>
|
||||||
|
<font size="4">
|
||||||
|
<a href="https://gruppomacro.app/upload/video/Creazione_di_una_Lista_di_un_Catalogo.mp4">
|
||||||
|
Come creare (ed aggiornare) una lista di libri del Catalogo
|
||||||
|
</a>
|
||||||
|
(6 maggio 2025)
|
||||||
|
</font>
|
||||||
|
</li>
|
||||||
|
<li>
|
||||||
|
<font size="4">
|
||||||
|
<a href="https://gruppomacro.app/upload/video/Aggiungere_la_Sinossi_di_un_libro.mp4">
|
||||||
|
Come aggiungere la sinossi (trafiletto) di un libro
|
||||||
|
</a>
|
||||||
|
(6 maggio 2025)
|
||||||
|
</font>
|
||||||
|
</li>
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
|
|
||||||
@@ -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.2">
|
<meta name="version" content="1.2.62">
|
||||||
<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<% } %>">
|
||||||
|
|
||||||
|
|||||||
28
localhost-key.pem
Normal file
@@ -0,0 +1,28 @@
|
|||||||
|
-----BEGIN PRIVATE KEY-----
|
||||||
|
MIIEvgIBADANBgkqhkiG9w0BAQEFAASCBKgwggSkAgEAAoIBAQDMj4l7a8snvjVf
|
||||||
|
3kj1WqOJPm5JV54l/GSOi6WQvjMfiW+nQoDgUINBbq7NrVgfdCMtDFmCInBxKQ6y
|
||||||
|
fD/jmOMfAjchr0xqkKil6JD6xU3IO5vTmn7wbnC3av5iwRrM8EoAQs2QqQCdCj8v
|
||||||
|
8ykxVzr2LxgEXIvtBaJLzq6KR4fHs7QHxDA6hF45MTzB+Ea8T2NKuoTLEfZKY7VA
|
||||||
|
oVYz2i+q5Elc+9w8LrZvp+6j3feSS3QlTj9IezblXj7dTApfkniwPuG756IzuaYo
|
||||||
|
ko7mnwxxruADI/4mXn/9K/KVFsUQ7I0vQ5SAB+YHHM/JMxTykfJCPjlM3BfblfXE
|
||||||
|
xhayCcLlAgMBAAECggEAPXPBcXpohX/2uN4mPM8F4e0HZLEVqYOxEcGR83GwGgFH
|
||||||
|
sY+g98I4LCf8C33Pw2M4Tggvu5BtBxG2gJgi+VSsplwcA9qNslXS1ESRiURMoaKG
|
||||||
|
pYL8L25+HhveX/xy+K4XDQ0EhDjBHmw9n0IFVfVGmT58kJLc1k+i+fMVLCVg/PTN
|
||||||
|
hmjp04tFEBQz8jZCkYBwX7bOiZ15A6rrQtvvafaM4AcYn9cJIEi1SPUEC5HuWvpY
|
||||||
|
JrqBP3MW1OBVj/XE3dEOaO0jt8E4Mhbef/VQzFatdgw7/NlJCFMpqgqzSYRmpz9i
|
||||||
|
riQhipnorrz7E63qzR5XbkpKcWN9d+xZJvtWmBS64QKBgQD1MOZqtouCVac5xduY
|
||||||
|
Ah/AzqlTi2IuX4Gv3xCYu7a1CCxpWFEGeI1pVD3SiADS7wf6rGSWrES6dLdHfPNn
|
||||||
|
OM7pK0tJL9xhIn3c6qWuJTWNE6MQoc4CIEBSJVqwVqLBsIToNHV2GuU6S2UXNkpu
|
||||||
|
f+mga0XcWEq+e5sgEKEXEgVQCwKBgQDVlBqfLVvhdmccmFNWGl42ZytTJ5rxMyCo
|
||||||
|
GgIYaZoUgPaXodmh+D3jFhRUe0dt6PMg1Lrz5bNV87tStFpybBHwVrgjdTLjMh3s
|
||||||
|
hVbeB4e+p+FXos042zS55N4WmoRyUkiEPqS4yAQmQ39ry+Z8R3kjYqZ8160jV70I
|
||||||
|
AeUo+05ezwKBgQCBU/G1h+O+M3+pMXvKihRFlrwpnPOEkkvNgFM4vIp6on0Kc9MJ
|
||||||
|
Hr04OX8CdUo5+Gq1BglokCUQVE/4HSgl4gkBZByp1dzgP1k0FXCeknHUn+767t3C
|
||||||
|
sVA8BAf5yzi+AWWZNVJfoYAXZ31C6RgJgN6yBuMqfkeugXQpTZwqlw7GUQKBgGku
|
||||||
|
Ven8OZqQZ/lSHwBxXeJm7pQ2Ff0hE70VieCh6Qqd9FL6lyZIDZpPHlX4nFXJeiq5
|
||||||
|
+RPyFF6I+MCjJ0Pgavk0i9ySdCwlW01G4V/Yz4YaQUSaXXzZn17JEoKJOB7g3Oub
|
||||||
|
uh1yC3EYnqDkuq6LuGGvzJQA1zhnliViYYvML21LAoGBAJ5JOztBX/6vXpBF0/JJ
|
||||||
|
BNuKr9CPQ5qjyThX0lJF0+o8ZVD/tttwAgA/FfmePqKSrrWs5RJfbjt5NUFXYykx
|
||||||
|
7UF9bitWfSVqERkZcOp4NgRjx/A6l27T5e6+zu0Ze7es1oUzR3Ov2FUDUt9skpdC
|
||||||
|
O8iSMszloFwh/gOG9F1vLLAz
|
||||||
|
-----END PRIVATE KEY-----
|
||||||
26
localhost.pem
Normal file
@@ -0,0 +1,26 @@
|
|||||||
|
-----BEGIN CERTIFICATE-----
|
||||||
|
MIIEczCCAtugAwIBAgIQPkGxv6Tr58lKZlWBrK31KzANBgkqhkiG9w0BAQsFADCB
|
||||||
|
ozEeMBwGA1UEChMVbWtjZXJ0IGRldmVsb3BtZW50IENBMTwwOgYDVQQLDDNzdXJ5
|
||||||
|
YXBhb2xvQE1hY0Jvb2stQWlyLWRpLVN1cnlhLmxvY2FsIChTdXJ5YSBQYW9sbykx
|
||||||
|
QzBBBgNVBAMMOm1rY2VydCBzdXJ5YXBhb2xvQE1hY0Jvb2stQWlyLWRpLVN1cnlh
|
||||||
|
LmxvY2FsIChTdXJ5YSBQYW9sbykwHhcNMjUwMzEzMDgxODIxWhcNMjcwNjEzMDcx
|
||||||
|
ODIxWjBnMScwJQYDVQQKEx5ta2NlcnQgZGV2ZWxvcG1lbnQgY2VydGlmaWNhdGUx
|
||||||
|
PDA6BgNVBAsMM3N1cnlhcGFvbG9ATWFjQm9vay1BaXItZGktU3VyeWEubG9jYWwg
|
||||||
|
KFN1cnlhIFBhb2xvKTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAMyP
|
||||||
|
iXtryye+NV/eSPVao4k+bklXniX8ZI6LpZC+Mx+Jb6dCgOBQg0Furs2tWB90Iy0M
|
||||||
|
WYIicHEpDrJ8P+OY4x8CNyGvTGqQqKXokPrFTcg7m9OafvBucLdq/mLBGszwSgBC
|
||||||
|
zZCpAJ0KPy/zKTFXOvYvGARci+0FokvOropHh8eztAfEMDqEXjkxPMH4RrxPY0q6
|
||||||
|
hMsR9kpjtUChVjPaL6rkSVz73Dwutm+n7qPd95JLdCVOP0h7NuVePt1MCl+SeLA+
|
||||||
|
4bvnojO5piiSjuafDHGu4AMj/iZef/0r8pUWxRDsjS9DlIAH5gccz8kzFPKR8kI+
|
||||||
|
OUzcF9uV9cTGFrIJwuUCAwEAAaNeMFwwDgYDVR0PAQH/BAQDAgWgMBMGA1UdJQQM
|
||||||
|
MAoGCCsGAQUFBwMBMB8GA1UdIwQYMBaAFLFuWFq/xnNJeprfAy5ACMa9SjguMBQG
|
||||||
|
A1UdEQQNMAuCCWxvY2FsaG9zdDANBgkqhkiG9w0BAQsFAAOCAYEAtstXoeWi9WY/
|
||||||
|
4URXA4uUSFItGhmWmVkNI1Ak+iM4w7OgerohZ1bfDY/0vVDmX8aGtacnU9cwnz+H
|
||||||
|
y7yxrA42pJjk9GF1cKO+AKGr5oj6LJ8MQ7XfHhJ7Phv+QJHFo6sMBb0P5qR/TI4r
|
||||||
|
UNmzda8jBDpSE9vCe0XdM89R2UB/G0UBu4Gc2+tTpcG+2/B3P+L6dNrDbHcFHU6W
|
||||||
|
L/UpFiHUaKqFvTz62oYqCicgftXPrGy6RNd4tWj+YETxdYRRlUkLHgAQaj8QAs1g
|
||||||
|
9Krj0KOfyk3Kmxeis7XW7O3FglI3D/PDyOwWTN76EIzjGteNj3OZ49Ys4jt9V0pr
|
||||||
|
CeCnjq3lbSvX8xj139fc2fb/bvd3vzGjv39rRDQ3BDHwaWZrlyHhSGy/mLKQC/SH
|
||||||
|
FGhr/v+NcMe9uGh8aDM60Hm+wQEM+WOWCJkDG3Ajv+Rf0V8N03foS0ngAO0PQlDp
|
||||||
|
ZlhOlMNxkUSQkwMawOX33mzEaVALTQ6/OKMWbR8K5bjAIWUtG1AN
|
||||||
|
-----END CERTIFICATE-----
|
||||||
102
package.json
@@ -1,60 +1,61 @@
|
|||||||
{
|
{
|
||||||
"name": "riso",
|
"name": "gruppomacro",
|
||||||
"version": "1.2.2",
|
"version": "1.2.62",
|
||||||
"description": "Siamo la Rete Italiana di Scambio Orizzontale, abbiamo creato questa piattaforma per metterla al servizio di chi vuole riscoprire il valore della condivisione e della cooperazione. Valori semplici e profondi che ci aiutano a ritrovare il Senso della Vita, perduto in questa società consumista, e riporti quei Sani Pricìpi Naturali ed Umani di Fratellanza che intere popolazioni antiche conoscevano bene.",
|
"description": "Gruppo Macro",
|
||||||
"productName": "Riso",
|
"productName": "Gruppo Macro",
|
||||||
"author": "Surya",
|
"author": "Surya",
|
||||||
"private": true,
|
"private": true,
|
||||||
"keywords": [],
|
"keywords": [],
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"type": "module",
|
"type": "module",
|
||||||
"scripts": {
|
"scripts": {
|
||||||
"dev": "quasar dev",
|
"dev": "PORT=8089 APP_VERSION='1.2.62' quasar dev",
|
||||||
"dev_noCheck": "SKIP_TSC=true quasar dev",
|
"dev_noCheck": "SKIP_TSC=true quasar dev",
|
||||||
"build": "quasar build",
|
"build": "quasar build",
|
||||||
"buildpwa": "quasar build -m pwa",
|
"buildpwa": "NODE_ENV=production APP_VERSION='1.2.62' quasar build -m pwa",
|
||||||
"buildpwatest": "NODE_ENV=test quasar build -m pwa",
|
"buildpwatest": "NODE_ENV=production APP_VERSION='1.2.62' 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": "APP_VERSION='1.2.62' 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": "quasar dev -m pwa",
|
"pwa": "NODE_ENV=development PORT=8099 APP_VERSION='1.2.62' quasar dev -m pwa",
|
||||||
"spa": "quasar dev",
|
"spa": "NODE_ENV=development PORT=8089 APP_VERSION='1.2.62' 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.2.19",
|
"@cubejs-client/core": "^1.3.21",
|
||||||
"@quasar/extras": "^1.16.17",
|
"@quasar/extras": "^1.17.0",
|
||||||
"@quasar/quasar-ui-qcalendar": "^4.1.2",
|
"@quasar/quasar-ui-qcalendar": "^4.1.2",
|
||||||
"@types/leaflet": "^1.9.16",
|
"@types/jsbarcode": "^3.11.4",
|
||||||
"@vue/compat": "^3.5.13",
|
"@types/leaflet": "^1.9.18",
|
||||||
"@vue/compiler-sfc": "^3.5.13",
|
"@vue/compat": "^3.5.16",
|
||||||
|
"@vue/compiler-sfc": "^3.5.16",
|
||||||
"@vuelidate/core": "^2.0.3",
|
"@vuelidate/core": "^2.0.3",
|
||||||
"@vuelidate/validators": "^2.0.4",
|
"@vuelidate/validators": "^2.0.4",
|
||||||
"acorn": "^8.14.1",
|
"acorn": "^8.15.0",
|
||||||
"animate.css": "^4.1.1",
|
"animate.css": "^4.1.1",
|
||||||
|
"apexcharts": "^4.7.0",
|
||||||
"autoprefixer": "^10.4.21",
|
"autoprefixer": "^10.4.21",
|
||||||
"axios": "^1.8.2",
|
"axios": "^1.9.0",
|
||||||
"bcryptjs": "^3.0.2",
|
"bcryptjs": "^3.0.2",
|
||||||
"chart.js": "^4.4.8",
|
"chart.js": "^4.4.9",
|
||||||
"core-js": "^3.41.0",
|
"core-js": "^3.43.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": "5.6.0",
|
||||||
"eslint-plugin-n": "^17.16.2",
|
"eslint-plugin-n": "^17.19.0",
|
||||||
"eslint-plugin-quasar": "^1.1.0",
|
"eslint-plugin-quasar": "^1.1.0",
|
||||||
"graphql": "^16.10.0",
|
"gsap": "^3.13.0",
|
||||||
"graphql-tag": "^2.12.6",
|
|
||||||
"gsap": "^3.12.7",
|
|
||||||
"html2pdf.js": "^0.10.3",
|
"html2pdf.js": "^0.10.3",
|
||||||
"jquery": "^3.7.1",
|
"jquery": "^3.7.1",
|
||||||
"js-cookie": "^3.0.5",
|
"js-cookie": "^3.0.5",
|
||||||
|
"jsbarcode": "^3.12.1",
|
||||||
"leaflet": "^1.9.4",
|
"leaflet": "^1.9.4",
|
||||||
"leaflet-routing-machine": "^3.2.12",
|
"leaflet-routing-machine": "^3.2.12",
|
||||||
"leaflet.markercluster": "^1.5.3",
|
"leaflet.markercluster": "^1.5.3",
|
||||||
@@ -62,30 +63,29 @@
|
|||||||
"lodash": "^4.17.21",
|
"lodash": "^4.17.21",
|
||||||
"normalize.css": "^8.0.1",
|
"normalize.css": "^8.0.1",
|
||||||
"nprogress": "^0.2.0",
|
"nprogress": "^0.2.0",
|
||||||
"pinia": "^3.0.1",
|
"pinia": "^3.0.3",
|
||||||
"qrcode-vue3": "^1.7.1",
|
|
||||||
"quasar": "^2.18.1",
|
"quasar": "^2.18.1",
|
||||||
"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.26.0",
|
"typescript-eslint": "^8.34.0",
|
||||||
"vee-validate": "^4.15.0",
|
"vee-validate": "^4.15.1",
|
||||||
"vue": "^3.5.13",
|
"vue": "^3.5.16",
|
||||||
"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": "^7.0.3",
|
||||||
"vue-i18n": "^11.1.2",
|
"vue-i18n": "^11.1.5",
|
||||||
"vue-idb": "^0.2.0",
|
"vue-idb": "^0.2.0",
|
||||||
"vue-image-zoomer": "^2.4.4",
|
|
||||||
"vue-property-decorator": "^10.0.0-rc.3",
|
"vue-property-decorator": "^10.0.0-rc.3",
|
||||||
"vue-router": "^4.5.0",
|
"vue-router": "^4.5.1",
|
||||||
"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-pdf-app": "^1.0.3",
|
"vue3-apexcharts": "^1.8.0",
|
||||||
"vue3-qr-reader": "^1.0.0",
|
"vue3-qr-reader": "^1.0.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.3.0",
|
||||||
@@ -95,41 +95,41 @@
|
|||||||
"workbox-window": "^7.3.0"
|
"workbox-window": "^7.3.0"
|
||||||
},
|
},
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"@eslint/js": "^9.22.0",
|
"@eslint/js": "^9.28.0",
|
||||||
"@intlify/unplugin-vue-i18n": "^6.0.3",
|
"@intlify/unplugin-vue-i18n": "^6.0.8",
|
||||||
"@quasar/app-vite": "^2.1.4",
|
"@quasar/app-vite": "^2.2.1",
|
||||||
"@types/bcryptjs": "^2.4.6",
|
|
||||||
"@types/google.maps": "^3.58.1",
|
"@types/google.maps": "^3.58.1",
|
||||||
"@types/jest": "^29.5.14",
|
"@types/jest": "^29.5.14",
|
||||||
"@types/js-cookie": "^3.0.6",
|
"@types/js-cookie": "^3.0.6",
|
||||||
"@types/node": "^22.13.10",
|
"@types/node": "^24.0.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.2",
|
"@vue/devtools": "^7.7.6",
|
||||||
"@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.5.0",
|
||||||
"autoprefixer": "^10.4.21",
|
"autoprefixer": "^10.4.21",
|
||||||
"eslint": "9",
|
"eslint": "9",
|
||||||
"eslint-plugin-import": "^2.31.0",
|
"eslint-plugin-import": "^2.31.0",
|
||||||
"eslint-plugin-vue": "^10.0.0",
|
"eslint-plugin-vue": "^10.2.0",
|
||||||
"file-loader": "^6.2.0",
|
"file-loader": "^6.2.0",
|
||||||
"globals": "^16.0.0",
|
"globals": "^16.2.0",
|
||||||
"http-proxy-middleware": "^3.0.3",
|
"http-proxy-middleware": "^3.0.5",
|
||||||
"jest": "^29.7.0",
|
"jest": "^30.0.0",
|
||||||
"json-loader": "^0.5.7",
|
"json-loader": "^0.5.7",
|
||||||
"nodemon": "^3.1.9",
|
"nodemon": "^3.1.10",
|
||||||
"npm-check-updates": "^17.1.15",
|
"npm-check-updates": "^18.0.1",
|
||||||
"parcel": "^2.13.3",
|
"parcel": "^2.15.2",
|
||||||
"postcss": "^8.5.3",
|
"postcss": "^8.5.5",
|
||||||
"postcss-loader": "^8.1.1",
|
"postcss-loader": "^8.1.1",
|
||||||
"prettier": "3",
|
"prettier": "3",
|
||||||
"strip-ansi": "=7.1.0",
|
"strip-ansi": "=7.1.0",
|
||||||
"ts-jest": "^29.2.6",
|
"ts-jest": "^29.4.0",
|
||||||
"typescript": "5.7.3",
|
"typescript": "5.8.3",
|
||||||
"vite-plugin-checker": "^0.9.0",
|
"vite-plugin-checker": "^0.9.3",
|
||||||
"vue-cli-plugin-element-ui": "^1.1.4",
|
"vue-cli-plugin-element-ui": "^1.1.4",
|
||||||
"vue-tsc": "^2.2.8",
|
"vue-eslint-parser": "^10.1.3",
|
||||||
|
"vue-tsc": "^2.2.10",
|
||||||
"vueify": "^9.4.1",
|
"vueify": "^9.4.1",
|
||||||
"workbox-build": "^7.3.0"
|
"workbox-build": "^7.3.0"
|
||||||
},
|
},
|
||||||
@@ -138,4 +138,4 @@
|
|||||||
"npm": ">= 6.13.4",
|
"npm": ">= 6.13.4",
|
||||||
"yarn": ">= 1.21.1"
|
"yarn": ">= 1.21.1"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
|
Before Width: | Height: | Size: 1.1 KiB After Width: | Height: | Size: 1.1 KiB |
BIN
public/images/bestseller.png
Normal file
|
After Width: | Height: | Size: 14 KiB |
3592316
public/images/comuni_italia.geojson
Normal file
|
Before Width: | Height: | Size: 12 KiB After Width: | Height: | Size: 12 KiB |
|
Before Width: | Height: | Size: 12 KiB After Width: | Height: | Size: 12 KiB |
|
Before Width: | Height: | Size: 12 KiB After Width: | Height: | Size: 12 KiB |
BIN
public/images/gm-android-icon-192x192.png
Normal file
|
After Width: | Height: | Size: 30 KiB |
BIN
public/images/gm-android-icon-512x512.png
Normal file
|
After Width: | Height: | Size: 158 KiB |
BIN
public/images/gm-apple-touch-icon.png
Normal file
|
After Width: | Height: | Size: 27 KiB |
BIN
public/images/gruppomacro-logo-full.png
Normal file
|
After Width: | Height: | Size: 81 KiB |
|
Before Width: | Height: | Size: 1.2 KiB |
|
Before Width: | Height: | Size: 696 B |
|
Before Width: | Height: | Size: 2.4 KiB |
|
Before Width: | Height: | Size: 1.4 KiB |
BIN
public/images/novita.png
Normal file
|
After Width: | Height: | Size: 19 KiB |
BIN
public/images/ombra.png
Normal file
|
After Width: | Height: | Size: 30 KiB |
|
Before Width: | Height: | Size: 30 KiB |
|
Before Width: | Height: | Size: 43 KiB |
|
Before Width: | Height: | Size: 138 KiB |
|
Before Width: | Height: | Size: 5.8 KiB |
|
Before Width: | Height: | Size: 185 KiB |
|
Before Width: | Height: | Size: 17 KiB |
|
Before Width: | Height: | Size: 21 KiB |
|
Before Width: | Height: | Size: 23 KiB |
|
Before Width: | Height: | Size: 30 KiB |
|
Before Width: | Height: | Size: 33 KiB |
|
Before Width: | Height: | Size: 42 KiB |
|
Before Width: | Height: | Size: 7.6 KiB |
|
Before Width: | Height: | Size: 8.1 KiB |
|
Before Width: | Height: | Size: 11 KiB |
|
Before Width: | Height: | Size: 12 KiB |
|
Before Width: | Height: | Size: 44 KiB |
|
Before Width: | Height: | Size: 279 KiB |
|
Before Width: | Height: | Size: 258 KiB |
|
Before Width: | Height: | Size: 124 KiB |
2
public/js/workbox-sw-6-1.js
Executable file
@@ -0,0 +1,2 @@
|
|||||||
|
!function(){'use strict';try{self['workbox:sw:6.1.0']&&_()}catch(t){}const t={backgroundSync:'background-sync',broadcastUpdate:'broadcast-update',cacheableResponse:'cacheable-response',core:'core',expiration:'expiration',googleAnalytics:'offline-ga',navigationPreload:'navigation-preload',precaching:'precaching',rangeRequests:'range-requests',routing:'routing',strategies:'strategies',streams:'streams',recipes:'recipes'};self.workbox=new class{constructor(){return this.v={},this.Pt={debug:'localhost'===self.location.hostname,modulePathPrefix:null,modulePathCb:null},this.$t=this.Pt.debug?'dev':'prod',this.jt=!1,new Proxy(this,{get(e,s){if(e[s])return e[s];const o=t[s];return o&&e.loadModule('workbox-'+o),e[s]}})}setConfig(t={}){if(this.jt)throw new Error('Config must be set before accessing workbox.* modules');Object.assign(this.Pt,t),this.$t=this.Pt.debug?'dev':'prod'}loadModule(t){const e=this.St(t);try{importScripts(e),this.jt=!0}catch(s){throw console.error(`Unable to import module '${t}' from '${e}'.`),s}}St(t){if(this.Pt.modulePathCb)return this.Pt.modulePathCb(t,this.Pt.debug);let e=['https://storage.googleapis.com/workbox-cdn/releases/6.1.0'];const s=`${t}.${this.$t}.js`,o=this.Pt.modulePathPrefix;return o&&(e=o.split('/'),''===e[e.length-1]&&e.splice(e.length-1,1)),e.push(s),e.join('/')}}}();
|
||||||
|
//# sourceMappingURL=workbox-sw.js.map
|
||||||
2
public/js/workbox-sw.js
Normal file
@@ -0,0 +1,2 @@
|
|||||||
|
!function(){"use strict";try{self["workbox:sw:5.1.4"]&&_()}catch(t){}const t={backgroundSync:"background-sync",broadcastUpdate:"broadcast-update",cacheableResponse:"cacheable-response",core:"core",expiration:"expiration",googleAnalytics:"offline-ga",navigationPreload:"navigation-preload",precaching:"precaching",rangeRequests:"range-requests",routing:"routing",strategies:"strategies",streams:"streams"};self.workbox=new class{constructor(){return this.v={},this.t={debug:"localhost"===self.location.hostname,modulePathPrefix:null,modulePathCb:null},this.s=this.t.debug?"dev":"prod",this.o=!1,new Proxy(this,{get(e,s){if(e[s])return e[s];const o=t[s];return o&&e.loadModule("workbox-"+o),e[s]}})}setConfig(t={}){if(this.o)throw new Error("Config must be set before accessing workbox.* modules");Object.assign(this.t,t),this.s=this.t.debug?"dev":"prod"}loadModule(t){const e=this.i(t);try{importScripts(e),this.o=!0}catch(s){throw console.error(`Unable to import module '${t}' from '${e}'.`),s}}i(t){if(this.t.modulePathCb)return this.t.modulePathCb(t,this.t.debug);let e=["https://storage.googleapis.com/workbox-cdn/releases/5.1.4"];const s=`${t}.${this.s}.js`,o=this.t.modulePathPrefix;return o&&(e=o.split("/"),""===e[e.length-1]&&e.splice(e.length-1,1)),e.push(s),e.join("/")}}}();
|
||||||
|
//# sourceMappingURL=workbox-sw.js.map
|
||||||
|
Before Width: | Height: | Size: 1.6 KiB |
|
Before Width: | Height: | Size: 3.2 KiB |
|
Before Width: | Height: | Size: 15 KiB |
@@ -1,2 +1,2 @@
|
|||||||
!function(){"use strict";try{self["workbox:sw:7.3.0"]&&_()}catch(t){}const t={backgroundSync:"background-sync",broadcastUpdate:"broadcast-update",cacheableResponse:"cacheable-response",core:"core",expiration:"expiration",googleAnalytics:"offline-ga",navigationPreload:"navigation-preload",precaching:"precaching",rangeRequests:"range-requests",routing:"routing",strategies:"strategies",streams:"streams",recipes:"recipes"};self.workbox=new class{constructor(){return this.v={},this.Pt={debug:"localhost"===self.location.hostname,modulePathPrefix:null,modulePathCb:null},this.$t=this.Pt.debug?"dev":"prod",this.jt=!1,new Proxy(this,{get(e,s){if(e[s])return e[s];const o=t[s];return o&&e.loadModule(`workbox-${o}`),e[s]}})}setConfig(t={}){if(this.jt)throw new Error("Config must be set before accessing workbox.* modules");Object.assign(this.Pt,t),this.$t=this.Pt.debug?"dev":"prod"}loadModule(t){const e=this.St(t);try{importScripts(e),this.jt=!0}catch(s){throw console.error(`Unable to import module '${t}' from '${e}'.`),s}}St(t){if(this.Pt.modulePathCb)return this.Pt.modulePathCb(t,this.Pt.debug);let e=["https://storage.googleapis.com/workbox-cdn/releases/7.3.0"];const s=`${t}.${this.$t}.js`,o=this.Pt.modulePathPrefix;return o&&(e=o.split("/"),""===e[e.length-1]&&e.splice(e.length-1,1)),e.push(s),e.join("/")}}}();
|
!function(){"use strict";try{self["workbox:sw:5.1.4"]&&_()}catch(t){}const t={backgroundSync:"background-sync",broadcastUpdate:"broadcast-update",cacheableResponse:"cacheable-response",core:"core",expiration:"expiration",googleAnalytics:"offline-ga",navigationPreload:"navigation-preload",precaching:"precaching",rangeRequests:"range-requests",routing:"routing",strategies:"strategies",streams:"streams"};self.workbox=new class{constructor(){return this.v={},this.t={debug:"localhost"===self.location.hostname,modulePathPrefix:null,modulePathCb:null},this.s=this.t.debug?"dev":"prod",this.o=!1,new Proxy(this,{get(e,s){if(e[s])return e[s];const o=t[s];return o&&e.loadModule("workbox-"+o),e[s]}})}setConfig(t={}){if(this.o)throw new Error("Config must be set before accessing workbox.* modules");Object.assign(this.t,t),this.s=this.t.debug?"dev":"prod"}loadModule(t){const e=this.i(t);try{importScripts(e),this.o=!0}catch(s){throw console.error(`Unable to import module '${t}' from '${e}'.`),s}}i(t){if(this.t.modulePathCb)return this.t.modulePathCb(t,this.t.debug);let e=["https://storage.googleapis.com/workbox-cdn/releases/5.1.4"];const s=`${t}.${this.s}.js`,o=this.t.modulePathPrefix;return o&&(e=o.split("/"),""===e[e.length-1]&&e.splice(e.length-1,1)),e.push(s),e.join("/")}}}();
|
||||||
//# sourceMappingURL=workbox-sw.js.map
|
//# sourceMappingURL=workbox-sw.js.map
|
||||||
|
|||||||
170
quasar.config.ts
@@ -1,7 +1,7 @@
|
|||||||
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)
|
// console.log(process.env)
|
||||||
|
|
||||||
@@ -16,10 +16,20 @@ export default defineConfig((ctx) => {
|
|||||||
// --> boot files are part of "main.js"
|
// --> boot files are part of "main.js"
|
||||||
// https://v2.quasar.dev/quasar-cli/boot-files
|
// 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: ['vue-i18n', 'vue-meta', 'axios', 'vee-validate', 'myconfig', 'local-storage', 'error-handler', 'globalroutines', 'vue-idb', 'dragula', 'guard'],
|
||||||
boot: ['i18n', 'axios', 'pinia', 'vee-validate',
|
boot: [
|
||||||
|
'i18n',
|
||||||
|
'axios',
|
||||||
|
'pinia',
|
||||||
|
'vee-validate',
|
||||||
'myconfig',
|
'myconfig',
|
||||||
'local-storage', 'error-handler', 'globalroutines',
|
'local-storage',
|
||||||
'calendar', 'social-sharing', 'timeago', 'guard'],
|
'globalroutines',
|
||||||
|
'calendar',
|
||||||
|
'social-sharing',
|
||||||
|
'timeago',
|
||||||
|
'guard',
|
||||||
|
'trackPageViews',
|
||||||
|
],
|
||||||
|
|
||||||
// https://v2.quasar.dev/quasar-cli/quasar-conf-js#Property%3A-css
|
// https://v2.quasar.dev/quasar-cli/quasar-conf-js#Property%3A-css
|
||||||
css: [
|
css: [
|
||||||
@@ -47,16 +57,15 @@ export default defineConfig((ctx) => {
|
|||||||
build: {
|
build: {
|
||||||
target: {
|
target: {
|
||||||
browser: ['es2022', 'firefox115', 'chrome115', 'safari14'],
|
browser: ['es2022', 'firefox115', 'chrome115', 'safari14'],
|
||||||
node: 'node20'
|
node: 'node20',
|
||||||
},
|
},
|
||||||
|
sassVariables: 'src/css/variables.scss',
|
||||||
// env: envparser(),
|
// env: envparser(),
|
||||||
// versionCode: package.version,
|
// versionCode: package.version,
|
||||||
vueRouterMode: 'history',
|
vueRouterMode: 'history',
|
||||||
analyze: false, // true
|
analyze: false, // true
|
||||||
transpile: true,
|
transpile: true,
|
||||||
transpileDependencies: [
|
transpileDependencies: [/quasar-ui-qcalendar[\\/]src/],
|
||||||
/quasar-ui-qcalendar[\\/]src/
|
|
||||||
],
|
|
||||||
beforeDev(api) {
|
beforeDev(api) {
|
||||||
// Se la variabile d'ambiente SKIP_TSC è impostata, disabilita il type checking
|
// Se la variabile d'ambiente SKIP_TSC è impostata, disabilita il type checking
|
||||||
if (process.env.SKIP_TSC === 'true') {
|
if (process.env.SKIP_TSC === 'true') {
|
||||||
@@ -75,16 +84,16 @@ export default defineConfig((ctx) => {
|
|||||||
},
|
},
|
||||||
// @quasar/app-vite v2.0.3+
|
// @quasar/app-vite v2.0.3+
|
||||||
envFilter(originalEnv) {
|
envFilter(originalEnv) {
|
||||||
const newEnv = {}
|
const newEnv = {};
|
||||||
for (const key in originalEnv) {
|
for (const key in originalEnv) {
|
||||||
/* ...decide if it goes in or not... */
|
/* ...decide if it goes in or not... */
|
||||||
if (true) {
|
if (true) {
|
||||||
newEnv[key] = originalEnv[key]
|
newEnv[key] = originalEnv[key];
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// remember to return your processed env
|
// remember to return your processed env
|
||||||
return newEnv
|
return newEnv;
|
||||||
},
|
},
|
||||||
|
|
||||||
typescript: {
|
typescript: {
|
||||||
@@ -96,11 +105,11 @@ export default defineConfig((ctx) => {
|
|||||||
},
|
},
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Folder where Quasar CLI should look for .env* files.
|
* Folder where Quasar CLI should look for .env* files.
|
||||||
* Can be an absolute path or a relative path to project root directory.
|
* Can be an absolute path or a relative path to project root directory.
|
||||||
*
|
*
|
||||||
* @default project root directory
|
* @default project root directory
|
||||||
*/
|
*/
|
||||||
// envFolder?: string
|
// envFolder?: string
|
||||||
/**
|
/**
|
||||||
* Additional .env* files to be loaded.
|
* Additional .env* files to be loaded.
|
||||||
@@ -117,26 +126,26 @@ export default defineConfig((ctx) => {
|
|||||||
alias: {
|
alias: {
|
||||||
...viteConf.resolve.alias,
|
...viteConf.resolve.alias,
|
||||||
'#q-app': path.resolve(__dirname, 'node_modules/quasar/app'), // Alias per #q-app
|
'#q-app': path.resolve(__dirname, 'node_modules/quasar/app'), // Alias per #q-app
|
||||||
'app': path.resolve(__dirname),
|
app: path.resolve(__dirname),
|
||||||
'boot': path.resolve(__dirname, 'src/boot'),
|
boot: path.resolve(__dirname, 'src/boot'),
|
||||||
'src': path.resolve(__dirname, 'src'),
|
src: path.resolve(__dirname, 'src'),
|
||||||
'statics': path.resolve(__dirname, 'src/statics'),
|
statics: path.resolve(__dirname, 'src/statics'),
|
||||||
'components': path.resolve(__dirname, 'src/components'),
|
components: path.resolve(__dirname, 'src/components'),
|
||||||
'views': path.resolve(__dirname, 'src/views/index.ts'),
|
views: path.resolve(__dirname, 'src/views/index.ts'),
|
||||||
'images': path.resolve(__dirname, 'src/assets/images'),
|
images: path.resolve(__dirname, 'src/assets/images'),
|
||||||
'maps': path.resolve(__dirname, 'public/maps'),
|
maps: path.resolve(__dirname, 'public/maps'),
|
||||||
'classes': path.resolve(__dirname, 'src/classes/index.ts'),
|
classes: path.resolve(__dirname, 'src/classes/index.ts'),
|
||||||
'fonts': path.resolve(__dirname, 'src/assets/fonts'),
|
fonts: path.resolve(__dirname, 'src/assets/fonts'),
|
||||||
'utils': path.resolve(__dirname, 'src/utils/index.ts'),
|
utils: path.resolve(__dirname, 'src/utils/index.ts'),
|
||||||
'css': path.resolve(__dirname, 'public/css/variables.scss'),
|
css: path.resolve(__dirname, 'src/css/variables.scss'),
|
||||||
'router': path.resolve(__dirname, 'src/router/index.ts'),
|
router: path.resolve(__dirname, 'src/router/index.ts'),
|
||||||
'validators': path.resolve(__dirname, 'src/utils/validators.ts'),
|
validators: path.resolve(__dirname, 'src/utils/validators.ts'),
|
||||||
'methods': path.resolve(__dirname, 'src/utils/methods.ts'),
|
methods: path.resolve(__dirname, 'src/utils/methods.ts'),
|
||||||
'filters': path.resolve(__dirname, 'src/utils/filters.ts'),
|
filters: path.resolve(__dirname, 'src/utils/filters.ts'),
|
||||||
'api': path.resolve(__dirname, 'src/store/Api/index.ts'),
|
api: path.resolve(__dirname, 'src/store/Api/index.ts'),
|
||||||
'paths': path.resolve(__dirname, 'src/store/Api/ApiRoutes.ts'),
|
paths: path.resolve(__dirname, 'src/store/Api/ApiRoutes.ts'),
|
||||||
'modules': path.resolve(__dirname, 'src/store/Modules/index.ts'),
|
modules: path.resolve(__dirname, 'src/store/Modules/index.ts'),
|
||||||
'model': path.resolve(__dirname, 'src/model/index.ts'),
|
model: path.resolve(__dirname, 'src/model/index.ts'),
|
||||||
'@components': path.resolve(__dirname, 'src/components'),
|
'@components': path.resolve(__dirname, 'src/components'),
|
||||||
'@boot': path.resolve(__dirname, 'src/boot'),
|
'@boot': path.resolve(__dirname, 'src/boot'),
|
||||||
'@costanti': path.resolve(__dirname, 'src/store/Modules/costanti.ts'),
|
'@costanti': path.resolve(__dirname, 'src/store/Modules/costanti.ts'),
|
||||||
@@ -163,30 +172,36 @@ export default defineConfig((ctx) => {
|
|||||||
},
|
},
|
||||||
|
|
||||||
vitePlugins: [
|
vitePlugins: [
|
||||||
['@intlify/unplugin-vue-i18n/vite', {
|
[
|
||||||
// if you want to use Vue I18n Legacy API, you need to set `compositionOnly: false`
|
'@intlify/unplugin-vue-i18n/vite',
|
||||||
// compositionOnly: false,
|
{
|
||||||
|
// 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}',
|
// if you want to use named tokens in your Vue I18n messages, such as 'Hello {name}',
|
||||||
// you need to set `runtimeOnly: false`
|
// you need to set `runtimeOnly: false`
|
||||||
// runtimeOnly: false,
|
// runtimeOnly: false,
|
||||||
|
|
||||||
ssr: ctx.modeName === 'ssr',
|
ssr: ctx.modeName === 'ssr',
|
||||||
|
|
||||||
// you need to set i18n resource including paths !
|
// 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', {
|
[
|
||||||
vueTsc: false,
|
'vite-plugin-checker',
|
||||||
OFF_eslint: {
|
{
|
||||||
lintCommand: 'eslint -c ./eslint.config.js "./src*/**/*.{ts,js,mjs,cjs,vue}"',
|
vueTsc: false,
|
||||||
useFlatConfig: true
|
OFF_eslint: {
|
||||||
}
|
lintCommand:
|
||||||
}, { server: false }]
|
'eslint -c ./eslint.config.js "./src*/**/*.{ts,js,mjs,cjs,vue}"',
|
||||||
|
useFlatConfig: true,
|
||||||
|
},
|
||||||
]
|
},
|
||||||
|
{ server: false },
|
||||||
|
],
|
||||||
|
],
|
||||||
|
|
||||||
// polyfillModulePreload: true,
|
// polyfillModulePreload: true,
|
||||||
|
|
||||||
@@ -200,7 +215,7 @@ export default defineConfig((ctx) => {
|
|||||||
// Applies only if "transpile" is set to true.
|
// Applies only if "transpile" is set to true.
|
||||||
// transpileDependencies: [],
|
// transpileDependencies: [],
|
||||||
|
|
||||||
// rtl: true, // https://v2.quasar.dev/options/rtl-support
|
// rtl: true, // https://v2.quasar.dev/options/rtl-supg
|
||||||
// preloadChunks: true,
|
// preloadChunks: true,
|
||||||
// showProgress: false,
|
// showProgress: false,
|
||||||
// gzip: true,
|
// gzip: true,
|
||||||
@@ -215,8 +230,12 @@ export default defineConfig((ctx) => {
|
|||||||
|
|
||||||
// Full list of options: https://v2.quasar.dev/quasar-cli/quasar-conf-js#Property%3A-devServer
|
// Full list of options: https://v2.quasar.dev/quasar-cli/quasar-conf-js#Property%3A-devServer
|
||||||
devServer: {
|
devServer: {
|
||||||
https: false,
|
https: {
|
||||||
port: ctx.mode.spa ? 8084 : 8094,
|
key: path.resolve(__dirname, 'localhost-key.pem'),
|
||||||
|
cert: path.resolve(__dirname, 'localhost.pem'),
|
||||||
|
},
|
||||||
|
|
||||||
|
port: parseInt(process.env.PORT, 10),
|
||||||
vueDevtools: false, // automatically opening remote Vue Devtools
|
vueDevtools: false, // automatically opening remote Vue Devtools
|
||||||
open: false, // opens browser window automatically
|
open: false, // opens browser window automatically
|
||||||
hot: true, // Disable hot module replacement
|
hot: true, // Disable hot module replacement
|
||||||
@@ -305,10 +324,7 @@ export default defineConfig((ctx) => {
|
|||||||
'QTree',
|
'QTree',
|
||||||
'QSeparator',
|
'QSeparator',
|
||||||
],
|
],
|
||||||
directives: [
|
directives: ['Ripple', 'ClosePopup'],
|
||||||
'Ripple',
|
|
||||||
'ClosePopup',
|
|
||||||
],
|
|
||||||
_plugins: [
|
_plugins: [
|
||||||
'Meta',
|
'Meta',
|
||||||
'Dialog',
|
'Dialog',
|
||||||
@@ -352,32 +368,30 @@ export default defineConfig((ctx) => {
|
|||||||
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)
|
// Tell browser when a file from the server should expire from cache (in ms)
|
||||||
|
|
||||||
|
|
||||||
middlewares: [
|
middlewares: [
|
||||||
ctx.prod ? 'compression' : '',
|
ctx.prod ? 'compression' : '',
|
||||||
'render', // keep this as last one
|
'render', // keep this as last one
|
||||||
],
|
],
|
||||||
},
|
},
|
||||||
|
|
||||||
|
|
||||||
// https://v2.quasar.dev/quasar-cli/developing-pwa/configuring-pwa
|
// https://v2.quasar.dev/quasar-cli/developing-pwa/configuring-pwa
|
||||||
pwa: {
|
pwa: {
|
||||||
workboxMode: 'InjectManifest', // 'GenerateSW' or 'InjectManifest'
|
workboxMode: 'InjectManifest', // 'GenerateSW' or 'InjectManifest'
|
||||||
swFilename: 'sw-' + "1.2.2" + '.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', // Assicurati che il file esista
|
||||||
|
include: [/\.html$/, /\.js$/, /\.css$/, /\.png$/, /\.svg$/, /\.json$/], // File da precacheare
|
||||||
},
|
},
|
||||||
extendGenerateSWOptions(cfg) {
|
/*extendGenerateSWOptions(cfg) {
|
||||||
cfg.skipWaiting = false
|
cfg.skipWaiting = false
|
||||||
cfg.clientsClaim = false
|
cfg.clientsClaim = false
|
||||||
},
|
},*/
|
||||||
},
|
},
|
||||||
|
|
||||||
sourceFiles: {
|
sourceFiles: {
|
||||||
// DEFAULT: pwaRegisterServiceWorker: 'src-pwa/register-service-worker',
|
pwaRegisterServiceWorker: 'src-pwa/register-service-worker',
|
||||||
// DEFAULT: pwaServiceWorker: 'src-pwa/custom-service-worker',
|
pwaServiceWorker: 'src-pwa/custom-service-worker',
|
||||||
// DEFAULT: 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
|
// Full list of options: https://v2.quasar.dev/quasar-cli/developing-cordova-apps/configuring-cordova
|
||||||
@@ -396,13 +410,11 @@ export default defineConfig((ctx) => {
|
|||||||
|
|
||||||
packager: {
|
packager: {
|
||||||
// https://github.com/electron-userland/electron-packager/blob/master/docs/api.md#options
|
// https://github.com/electron-userland/electron-packager/blob/master/docs/api.md#options
|
||||||
|
|
||||||
// OS X / Mac App Store
|
// OS X / Mac App Store
|
||||||
// appBundleId: '',
|
// appBundleId: '',
|
||||||
// appCategoryType: '',
|
// appCategoryType: '',
|
||||||
// osxSign: '',
|
// osxSign: '',
|
||||||
// protocol: 'myapp://path',
|
// protocol: 'myapp://path',
|
||||||
|
|
||||||
// Windows only
|
// Windows only
|
||||||
// win32metadata: { ... }
|
// win32metadata: { ... }
|
||||||
},
|
},
|
||||||
@@ -410,10 +422,8 @@ export default defineConfig((ctx) => {
|
|||||||
builder: {
|
builder: {
|
||||||
// https://www.electron.build/configuration/configuration
|
// https://www.electron.build/configuration/configuration
|
||||||
|
|
||||||
appId: 'Riso',
|
appId: '-',
|
||||||
},
|
},
|
||||||
|
|
||||||
|
|
||||||
},
|
},
|
||||||
}
|
};
|
||||||
})
|
});
|
||||||
|
|||||||
@@ -1,11 +1,11 @@
|
|||||||
VITE_APP_ID="...."
|
VITE_APP_ID="10"
|
||||||
VITE_APP_URL="https://riso.app"
|
VITE_APP_URL="https://comunitanuovomondo.app"
|
||||||
VITE_MONGODB_HOST="https://www.freeplanet.app:3000"
|
VITE_MONGODB_HOST="https://www.freeplanet.app:3000"
|
||||||
VITE_LOGO_REG='riso-logo-full.png'
|
VITE_LOGO_REG='cnm-logo-full.png'
|
||||||
VITE_PUBLICKEY_PUSH="BNM-cEpTbPVc_ujXf3QOC8ggf7b-X44P44esfJUWqNOFq1XhWCoZJpOi71_cbXC5SnfO9HassQ6OouAYgtBA9Pw"
|
VITE_PUBLICKEY_PUSH="BNM-cEpTbPVc_ujXf3QOC8ggf7b-X44P44esfJUWqNOFq1XhWCoZJpOi71_cbXC5SnfO9HassQ6OouAYgtBA9Pw"
|
||||||
VITE_DEBUG="1"
|
VITE_DEBUG="1"
|
||||||
VITE_VUE_APP_ISTEST=0
|
VITE_VUE_APP_ISTEST=0
|
||||||
DIRECTORY_LOCAL=newfreeplanet
|
DIRECTORY_LOCAL="myprojplanet_vite"
|
||||||
DIRECTORY_SERVER=freeplanet_serverside
|
DIRECTORY_SERVER="/var/www/nodejs_riso_server"
|
||||||
SERVERDIR_WEBSITE=riso.app
|
SERVERDIR_WEBSITE="/var/www/comunitanuovomondo.app"
|
||||||
SERVERPW_WEBSITE=pwdadmin@1AOK
|
SERVERPW_WEBSITE="pwdadmin@1AOK"
|
||||||
@@ -1,11 +1,11 @@
|
|||||||
VITE_APP_ID="16"
|
VITE_APP_ID="10"
|
||||||
VITE_APP_URL="https://test.piuchebuono.app"
|
VITE_APP_URL="https://test.comunitanuovomondo.app"
|
||||||
VITE_MONGODB_HOST="https://test.freeplanet.app:3001"
|
VITE_MONGODB_HOST="https://test.freeplanet.app:3001"
|
||||||
VITE_LOGO_REG='piuchebuono-logo-full.png'
|
VITE_LOGO_REG='cmn-logo-full.png'
|
||||||
VITE_PUBLICKEY_PUSH="BGXRf1TgcqocqD6J7qnRgCG7AvM2lxAoW7peb7UEzB4SxBb6DxGRdJ0UvD9ewnrB9KrSrh0-aDCODXBm7sZ1DDs"
|
VITE_PUBLICKEY_PUSH="BGXRf1TgcqocqD6J7qnRgCG7AvM2lxAoW7peb7UEzB4SxBb6DxGRdJ0UvD9ewnrB9KrSrh0-aDCODXBm7sZ1DDs"
|
||||||
VITE_DEBUG="1"
|
VITE_DEBUG="1"
|
||||||
VITE_VUE_APP_ISTEST=1
|
VITE_VUE_APP_ISTEST=1
|
||||||
DIRECTORY_LOCAL=newfreeplanet
|
DIRECTORY_LOCAL="myprojplanet_vite"
|
||||||
DIRECTORY_SERVER=test.freeplanet_serverside
|
DIRECTORY_SERVER="/var/www/nodejs_test.riso_server"
|
||||||
SERVERDIR_WEBSITE="test.piuchebuono.app"
|
SERVERDIR_WEBSITE="/var/www/test.comunitanuovomondo.app"
|
||||||
SERVERPW_WEBSITE="pwdadmin@1AOK"
|
SERVERPW_WEBSITE="pwdadmin@1AOK"
|
||||||
|
Before Width: | Height: | Size: 231 KiB |
|
Before Width: | Height: | Size: 1.6 KiB |
|
Before Width: | Height: | Size: 3.2 KiB |
|
Before Width: | Height: | Size: 15 KiB |
|
Before Width: | Height: | Size: 90 KiB |
|
Before Width: | Height: | Size: 30 KiB |
|
Before Width: | Height: | Size: 38 KiB |
|
Before Width: | Height: | Size: 32 KiB |
|
Before Width: | Height: | Size: 110 KiB |
|
Before Width: | Height: | Size: 14 KiB |
|
Before Width: | Height: | Size: 32 KiB |
|
Before Width: | Height: | Size: 30 KiB |
|
Before Width: | Height: | Size: 43 KiB |
|
Before Width: | Height: | Size: 5.0 KiB |
|
Before Width: | Height: | Size: 138 KiB |
|
Before Width: | Height: | Size: 5.8 KiB |
|
Before Width: | Height: | Size: 185 KiB |
|
Before Width: | Height: | Size: 11 KiB |
|
Before Width: | Height: | Size: 17 KiB |
|
Before Width: | Height: | Size: 21 KiB |
|
Before Width: | Height: | Size: 23 KiB |
|
Before Width: | Height: | Size: 30 KiB |
|
Before Width: | Height: | Size: 33 KiB |
|
Before Width: | Height: | Size: 42 KiB |
|
Before Width: | Height: | Size: 7.6 KiB |
|
Before Width: | Height: | Size: 8.1 KiB |
|
Before Width: | Height: | Size: 11 KiB |
|
Before Width: | Height: | Size: 12 KiB |
|
Before Width: | Height: | Size: 44 KiB |
|
Before Width: | Height: | Size: 634 KiB |
|
Before Width: | Height: | Size: 279 KiB |
|
Before Width: | Height: | Size: 258 KiB |
|
Before Width: | Height: | Size: 124 KiB |
@@ -1,87 +1,86 @@
|
|||||||
{
|
{
|
||||||
"name": "riso",
|
"name": "cnm",
|
||||||
"version": "1.2.2",
|
"version": "1.2.62",
|
||||||
"description": "Siamo la Rete Italiana di Scambio Orizzontale, abbiamo creato questa piattaforma per metterla al servizio di chi vuole riscoprire il valore della condivisione e della cooperazione. Valori semplici e profondi che ci aiutano a ritrovare il Senso della Vita, perduto in questa società consumista, e riporti quei Sani Pricìpi Naturali ed Umani di Fratellanza che intere popolazioni antiche conoscevano bene.",
|
"description": "Comunita Nuovo Mondo",
|
||||||
"productName": "Riso",
|
"productName": "ComunitaNuovoMondo",
|
||||||
"author": "Surya",
|
"author": "Surya",
|
||||||
"private": true,
|
"private": true,
|
||||||
"keywords": [],
|
"keywords": [],
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
|
"type": "module",
|
||||||
"scripts": {
|
"scripts": {
|
||||||
"dev": "quasar dev",
|
"dev": "PORT=8083 APP_VERSION='1.2.62' quasar dev",
|
||||||
"build": "NODE_ENV=production quasar build",
|
"dev_noCheck": "SKIP_TSC=true quasar dev",
|
||||||
|
"build": "quasar build",
|
||||||
"buildpwa": "NODE_ENV=production quasar build -m pwa",
|
"buildpwa": "NODE_ENV=production quasar build -m pwa",
|
||||||
"buildpwatest": "NODE_ENV=test quasar build -m pwa",
|
"buildpwatest": "NODE_ENV=production quasar build -m pwa",
|
||||||
"buildspa": "NODE_ENV=production quasar build -m spa",
|
"type-check": "vue-tsc --noEmit",
|
||||||
"lint": "eslint --ext .js,.ts,.vue --ignore-path .gitignore ./",
|
"type-check:watch": "vue-tsc --noEmit --watch",
|
||||||
|
"buildspa": "quasar build -m spa",
|
||||||
|
"lint": "eslint -c ./eslint.config.js \"./src*/**/*.{ts,js,cjs,mjs,vue}\"",
|
||||||
"lintfile": "eslint --ext .js,.ts,.vue --ignore-path .gitignore ./ > file.out.txt",
|
"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 --ext .ts,.vue --ignore-path .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 NODE_OPTIONS=--max_old_space_size=6096 DEBUG=v8:* quasar dev -m pwa",
|
"pwa": "NODE_ENV=development PORT=8093 APP_VERSION='1.2.62' quasar dev -m pwa",
|
||||||
"spa": "NODE_ENV=development NODE_OPTIONS=--max_old_space_size=4096 DEBUG=v8:* quasar dev --debug",
|
"spa": "NODE_ENV=development PORT=8083 APP_VERSION='1.2.62' quasar dev",
|
||||||
"debug": "NODE_ENV=development NODE_OPTIONS=--max_old_space_size=4096 DEBUG=v8:* 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"
|
||||||
},
|
},
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@babel/plugin-proposal-class-properties": "^7.18.6",
|
"@cubejs-client/core": "^1.2.26",
|
||||||
"@babel/plugin-proposal-export-namespace-from": "^7.18.9",
|
"@quasar/extras": "^1.16.17",
|
||||||
"@babel/plugin-proposal-json-strings": "^7.18.6",
|
"@quasar/quasar-ui-qcalendar": "^4.1.2",
|
||||||
"@babel/plugin-proposal-numeric-separator": "^7.18.6",
|
"@types/jsbarcode": "^3.11.4",
|
||||||
"@babel/runtime": "^7.25.7",
|
"@types/leaflet": "^1.9.17",
|
||||||
"@cubejs-client/core": "^0.36.4",
|
"@vue/compat": "^3.5.13",
|
||||||
"@quasar/extras": "^1.16.12",
|
"@vue/compiler-sfc": "^3.5.13",
|
||||||
"@quasar/quasar-ui-qcalendar": "^4.0.0-beta.19",
|
|
||||||
"@types/leaflet": "^1.9.12",
|
|
||||||
"@vue/compat": "^3.5.10",
|
|
||||||
"@vue/compiler-sfc": "^3.5.10",
|
|
||||||
"@vue/eslint-config-standard": "^8.0.1",
|
|
||||||
"@vuelidate/core": "^2.0.3",
|
"@vuelidate/core": "^2.0.3",
|
||||||
"@vuelidate/validators": "^2.0.4",
|
"@vuelidate/validators": "^2.0.4",
|
||||||
"acorn": "^8.12.1",
|
"acorn": "^8.14.1",
|
||||||
"animate.css": "^4.1.1",
|
"animate.css": "^4.1.1",
|
||||||
"autoprefixer": "^10.4.20",
|
"autoprefixer": "^10.4.21",
|
||||||
"axios": "^1.7.7",
|
"axios": "^1.8.4",
|
||||||
"bcryptjs": "^2.4.3",
|
"bcryptjs": "^3.0.2",
|
||||||
"chart.js": "^4.4.4",
|
"chart.js": "^4.4.8",
|
||||||
"core-js": "^3.38.1",
|
"core-js": "^3.41.0",
|
||||||
"crypto-browserify": "^3.12.0",
|
"crypto-browserify": "^3.12.1",
|
||||||
"date-fns": "^4.1.0",
|
"date-fns": "^4.1.0",
|
||||||
"dotenv": "^16.4.5",
|
"echarts": "5.6.0",
|
||||||
"echarts": "5.5.1",
|
"eslint-plugin-n": "^17.16.2",
|
||||||
"eslint-plugin-n": "^17.10.3",
|
|
||||||
"eslint-plugin-quasar": "^1.1.0",
|
"eslint-plugin-quasar": "^1.1.0",
|
||||||
"graphql": "^16.9.0",
|
"graphql": "^16.10.0",
|
||||||
"graphql-tag": "^2.12.6",
|
"graphql-tag": "^2.12.6",
|
||||||
"gsap": "^3.12.5",
|
"gsap": "^3.12.7",
|
||||||
"html2pdf.js": "^0.10.2",
|
"html2pdf.js": "^0.10.3",
|
||||||
"jquery": "^3.7.1",
|
"jquery": "^3.7.1",
|
||||||
"js-cookie": "^3.0.5",
|
"js-cookie": "^3.0.5",
|
||||||
|
"jsbarcode": "^3.11.6",
|
||||||
"leaflet": "^1.9.4",
|
"leaflet": "^1.9.4",
|
||||||
"leaflet-routing-machine": "^3.2.12",
|
"leaflet-routing-machine": "^3.2.12",
|
||||||
"leaflet.markercluster": "^1.5.3",
|
"leaflet.markercluster": "^1.5.3",
|
||||||
"localforage": "^1.10.0",
|
"localforage": "^1.10.0",
|
||||||
"lodash": "^4.17.21",
|
"lodash": "^4.17.21",
|
||||||
"normalize.css": "^8.0.1",
|
"normalize.css": "^8.0.1",
|
||||||
"npm": "^10.8.3",
|
|
||||||
"nprogress": "^0.2.0",
|
"nprogress": "^0.2.0",
|
||||||
"pinia": "^2.2.4",
|
"pinia": "^3.0.1",
|
||||||
"qrcode-vue3": "^1.7.1",
|
"qrcode-vue3": "^1.7.1",
|
||||||
"quasar": "^2.17.0",
|
"quasar": "^2.18.1",
|
||||||
"quasar-extras": "^2.0.9",
|
"quasar-extras": "^2.0.9",
|
||||||
"register-service-worker": "^1.7.2",
|
"register-service-worker": "^1.7.2",
|
||||||
"typescript-eslint": "^8.8.0",
|
"scrollreveal": "^4.0.9",
|
||||||
"vee-validate": "^4.13.2",
|
"typescript-eslint": "^8.27.0",
|
||||||
"vue": "^3.5.10",
|
"vee-validate": "^4.15.0",
|
||||||
|
"vue": "^3.5.13",
|
||||||
"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": "^7.0.3",
|
||||||
"vue-i18n": "^9.14.1",
|
"vue-i18n": "^11.1.2",
|
||||||
"vue-idb": "^0.2.0",
|
"vue-idb": "^0.2.0",
|
||||||
"vue-image-zoomer": "^2.4.1",
|
"vue-image-zoomer": "^2.4.4",
|
||||||
"vue-loader": "^17.4.2",
|
|
||||||
"vue-property-decorator": "^10.0.0-rc.3",
|
"vue-property-decorator": "^10.0.0-rc.3",
|
||||||
"vue-router": "^4.4.5",
|
"vue-router": "^4.5.0",
|
||||||
"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",
|
||||||
@@ -90,79 +89,55 @@
|
|||||||
"vue3-pdf-app": "^1.0.3",
|
"vue3-pdf-app": "^1.0.3",
|
||||||
"vue3-qr-reader": "^1.0.0",
|
"vue3-qr-reader": "^1.0.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-precaching": "^7.3.0",
|
||||||
|
"workbox-routing": "^7.3.0",
|
||||||
|
"workbox-strategies": "^7.3.0",
|
||||||
|
"workbox-window": "^7.3.0"
|
||||||
},
|
},
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"@babel/core": "^7.25.7",
|
"@eslint/js": "^9.23.0",
|
||||||
"@babel/plugin-transform-class-properties": "^7.25.7",
|
"@intlify/unplugin-vue-i18n": "^6.0.5",
|
||||||
"@babel/plugin-transform-export-namespace-from": "^7.25.7",
|
"@quasar/app-vite": "^2.1.4",
|
||||||
"@babel/plugin-transform-json-strings": "^7.25.7",
|
|
||||||
"@babel/plugin-transform-numeric-separator": "^7.25.7",
|
|
||||||
"@babel/plugin-transform-runtime": "^7.25.7",
|
|
||||||
"@quasar/app-webpack": "^3.14.0",
|
|
||||||
"@types/bcryptjs": "^2.4.6",
|
|
||||||
"@types/dotenv": "^8.2.0",
|
|
||||||
"@types/google.maps": "^3.58.1",
|
"@types/google.maps": "^3.58.1",
|
||||||
"@types/jest": "^29.5.13",
|
"@types/jest": "^29.5.14",
|
||||||
"@types/js-cookie": "^3.0.6",
|
"@types/js-cookie": "^3.0.6",
|
||||||
"@types/node": "22.7.4",
|
"@types/node": "^22.13.11",
|
||||||
"@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.21",
|
"@types/vuelidate": "^0.7.22",
|
||||||
"@typescript-eslint/eslint-plugin": "^8.8.0",
|
"@vue/devtools": "^7.7.2",
|
||||||
"@typescript-eslint/parser": "^8.8.0",
|
"@vue/eslint-config-prettier": "^10.2.0",
|
||||||
"babel-loader": "^9.2.1",
|
"@vue/eslint-config-typescript": "^14.5.0",
|
||||||
"copy-webpack-plugin": "^12.0.2",
|
"autoprefixer": "^10.4.21",
|
||||||
"eslint": "^9.11.1",
|
"eslint": "9",
|
||||||
"eslint-config-prettier": "^9.1.0",
|
|
||||||
"eslint-plugin-import": "^2.31.0",
|
"eslint-plugin-import": "^2.31.0",
|
||||||
"eslint-plugin-node": "^11.1.0",
|
"eslint-plugin-vue": "^10.0.0",
|
||||||
"eslint-plugin-promise": "^7.1.0",
|
|
||||||
"eslint-plugin-vue": "^9.28.0",
|
|
||||||
"file-loader": "^6.2.0",
|
"file-loader": "^6.2.0",
|
||||||
"fork-ts-checker-webpack-plugin": "^9.0.2",
|
"globals": "^16.0.0",
|
||||||
"friendly-errors-webpack-plugin": "^1.7.0",
|
"http-proxy-middleware": "^3.0.3",
|
||||||
"html-webpack-plugin": "^5.6.0",
|
|
||||||
"http-proxy-middleware": "^3.0.2",
|
|
||||||
"jest": "^29.7.0",
|
"jest": "^29.7.0",
|
||||||
"json-loader": "^0.5.7",
|
"json-loader": "^0.5.7",
|
||||||
"node-sass": "^9.0.0",
|
"nodemon": "^3.1.9",
|
||||||
"nodemon": "^3.1.7",
|
"npm-check-updates": "^17.1.16",
|
||||||
"npm-check-updates": "^17.1.3",
|
"parcel": "^2.14.1",
|
||||||
"optimize-css-assets-webpack-plugin": "^6.0.1",
|
"postcss": "^8.5.3",
|
||||||
"parcel": "^2.12.0",
|
|
||||||
"postcss": "^8.4.47",
|
|
||||||
"postcss-loader": "^8.1.1",
|
"postcss-loader": "^8.1.1",
|
||||||
"sass-loader": "^16.0.2",
|
"prettier": "3",
|
||||||
"strip-ansi": "=7.1.0",
|
"strip-ansi": "=7.1.0",
|
||||||
"ts-jest": "^29.2.5",
|
"ts-jest": "^29.2.6",
|
||||||
"ts-loader": "^9.5.1",
|
"typescript": "5.7.3",
|
||||||
"typescript": "5.6.2",
|
"vite-plugin-checker": "^0.9.1",
|
||||||
"vue-cli-plugin-element-ui": "^1.1.4",
|
"vue-cli-plugin-element-ui": "^1.1.4",
|
||||||
|
"vue-eslint-parser": "^10.1.1",
|
||||||
|
"vue-tsc": "^2.2.8",
|
||||||
"vueify": "^9.4.1",
|
"vueify": "^9.4.1",
|
||||||
"webpack": "^5.95.0",
|
"workbox-build": "^7.3.0"
|
||||||
"webpack-dashboard": "^3.3.8",
|
|
||||||
"workbox-webpack-plugin": "^7.1.0"
|
|
||||||
},
|
},
|
||||||
"browser": {
|
|
||||||
"crypto": false
|
|
||||||
},
|
|
||||||
"browserslist": [
|
|
||||||
"last 100 Chrome versions",
|
|
||||||
"last 40 Firefox versions",
|
|
||||||
"last 20 Edge versions",
|
|
||||||
"last 55 Safari versions",
|
|
||||||
"last 90 Android versions",
|
|
||||||
"last 250 ChromeAndroid versions",
|
|
||||||
"last 60 FirefoxAndroid versions",
|
|
||||||
"last 35 iOS versions",
|
|
||||||
"last 10 Opera versions",
|
|
||||||
"> 0.03%",
|
|
||||||
"not dead"
|
|
||||||
],
|
|
||||||
"engines": {
|
"engines": {
|
||||||
"node": ">= 18.18.0",
|
"node": "^28 || ^26 || ^24 || ^22 || ^20 || ^18",
|
||||||
"npm": ">= 6.14.8",
|
"npm": ">= 6.13.4",
|
||||||
"yarn": ">= 1.21.1"
|
"yarn": ">= 1.21.1"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
22
scripts/_ALL_SITES/comunitanuovomondo.app/public/css/dragula.css
Executable file
@@ -0,0 +1,22 @@
|
|||||||
|
.gu-mirror {
|
||||||
|
position: fixed !important;
|
||||||
|
margin: 0 !important;
|
||||||
|
z-index: 9999 !important;
|
||||||
|
opacity: 0.8;
|
||||||
|
-ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=80)";
|
||||||
|
filter: alpha(opacity=80);
|
||||||
|
}
|
||||||
|
.gu-hide {
|
||||||
|
display: none !important;
|
||||||
|
}
|
||||||
|
.gu-unselectable {
|
||||||
|
-webkit-user-select: none !important;
|
||||||
|
-moz-user-select: none !important;
|
||||||
|
-ms-user-select: none !important;
|
||||||
|
user-select: none !important;
|
||||||
|
}
|
||||||
|
.gu-transit {
|
||||||
|
opacity: 0.2;
|
||||||
|
-ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=20)";
|
||||||
|
filter: alpha(opacity=20);
|
||||||
|
}
|
||||||