- fix scelta provincia (il bottone Avanti non veniva disabilitato).

- Se non scelgo la provincia, non deve farmi vedere la App...
This commit is contained in:
Surya Paolo
2024-03-28 20:26:21 +01:00
parent 6856c4cc8e
commit aa29a7fa46
80 changed files with 10777451 additions and 178 deletions

View File

@@ -1,6 +1,6 @@
APP_VERSION="1.0.33"
SERVICE_WORKER_FILE="service-worker.js"
APP_ID="17"
APP_ID="13"
DIRECTORY_LOCAL="newfreeplanet"
DIRECTORY_SERVER="freeplanet_serverside"
SERVERDIR_WEBSITE=""
@@ -12,7 +12,7 @@ LANG_DEFAULT="it"
PAO_APP_ID="KKPPAA5KJK435J3KSS9F9D8S9F8SD98F9SDF"
MASTER_KEY="KKPPSS5KJK435J3KSS9F9D8S9F8SD3CR3T"
MONGODB_HOST="https://localhost:3000"
LOGO_REG='piuchebuono-logo-full.png'
LOGO_REG='riso-logo-full.png'
TEST_NAME="Paolo"
TEST_SURNAME="Arena"
TEST_EMAIL=""

View File

@@ -16,61 +16,69 @@
"lintfile": "eslint --ext .js,.ts,.vue --ignore-path .gitignore ./ > file.out.txt",
"lintfileNoJS": "eslint --ext .ts,.vue --ignore-path .gitignore ./ > file.out.txt",
"fix": "eslint --ext .ts,.vue --ignore-path .gitignore ./ --fix > file.out.txt",
"pwa": "NODE_ENV=development NODE_OPTIONS=--max_old_space_size=4096 DEBUG=v8:* quasar dev -m pwa",
"pwa": "NODE_ENV=development NODE_OPTIONS=--max_old_space_size=6096 DEBUG=v8:* quasar dev -m pwa",
"spa": "NODE_ENV=development NODE_OPTIONS=--max_old_space_size=4096 DEBUG=v8:* quasar dev --debug",
"debug": "NODE_ENV=development NODE_OPTIONS=--max_old_space_size=4096 DEBUG=v8:* quasar dev --mode debug",
"test": "echo \"No test specified\" && exit 0",
"generate-sw": "workbox generateSW workbox-config.js"
},
"dependencies": {
"@cubejs-client/core": "^0.31.0",
"@babel/plugin-proposal-class-properties": "^7.18.6",
"@babel/plugin-proposal-export-namespace-from": "^7.18.9",
"@babel/plugin-proposal-json-strings": "^7.18.6",
"@babel/plugin-proposal-numeric-separator": "^7.18.6",
"@cubejs-client/core": "^0.35.0",
"@quasar/extras": "^1.16.9",
"@quasar/quasar-ui-qcalendar": "^4.0.0-beta.16",
"@vue-leaflet/vue-leaflet": "^0.10.1",
"@vue/compat": "^3.3.9",
"@vue/compiler-sfc": "^3.3.9",
"@vue/eslint-config-standard": "7.0.0",
"@quasar/quasar-ui-qcalendar": "^4.0.0-beta.19",
"@types/leaflet": "^1.9.8",
"@vue/compat": "^3.4.21",
"@vue/compiler-sfc": "^3.4.21",
"@vue/eslint-config-standard": "^7.0.0",
"@vuelidate/core": "^2.0.3",
"@vuelidate/validators": "^2.0.4",
"acorn": "^8.11.2",
"acorn": "^8.11.3",
"animate.css": "^4.1.1",
"autoprefixer": "^10.4.16",
"axios": "^1.6.2",
"autoprefixer": "^10.4.19",
"axios": "^1.6.8",
"bcryptjs": "^2.4.3",
"chart.js": "^4.0.0",
"core-js": "^3.33.3",
"chart.js": "^4.4.2",
"core-js": "^3.36.1",
"crypto": "^1.0.1",
"date-fns": "^2.30.0",
"dotenv": "^16.3.1",
"echarts": "5.4.2",
"crypto-browserify": "^3.12.0",
"date-fns": "^3.6.0",
"dotenv": "^16.4.5",
"echarts": "5.5.0",
"eslint-plugin-n": "^15.0.0",
"eslint-plugin-quasar": "^1.1.0",
"graphql": "^16.8.1",
"graphql-tag": "^2.12.6",
"gsap": "^3.12.3",
"gsap": "^3.12.5",
"jquery": "^3.7.1",
"js-cookie": "^3.0.5",
"leaflet": "^1.9.4",
"leaflet.markercluster": "^1.5.3",
"localforage": "^1.10.0",
"lodash": "^4.17.21",
"normalize.css": "^8.0.1",
"npm": "^10.2.4",
"npm": "^10.5.0",
"nprogress": "^0.2.0",
"pinia": "^2.1.7",
"prerender-spa-plugin": "^3.4.0",
"quasar": "^2.12.07",
"quasar": "^2.15.1",
"quasar-extras": "^2.0.9",
"register-service-worker": "^1.7.2",
"typescript-eslint": "^0.0.1-alpha.0",
"vee-validate": "^4.12.2",
"vue": "^3.3.9",
"typescript-eslint": "^7.3.1",
"vee-validate": "^4.12.6",
"vue": "^3.4.21",
"vue-class-component": "^8.0.0-rc.1",
"vue-country-code": "^1.1.3",
"vue-echarts": "^6.6.1",
"vue-i18n": "^9.8.0",
"vue-echarts": "^6.6.9",
"vue-i18n": "^9.10.2",
"vue-idb": "^0.2.0",
"vue-loader": "^17.3.1",
"vue-image-zoomer": "^2.2.3",
"vue-loader": "^17.4.2",
"vue-property-decorator": "^10.0.0-rc.3",
"vue-router": "^4.2.5",
"vue-router": "^4.3.0",
"vue-scroll-reveal": "^2.1.0",
"vue-social-sharing": "^4.0.0-alpha4",
"vue-svgicon": "^4.0.0-alpha.3",
@@ -81,46 +89,44 @@
"vuex-router-sync": "^6.0.0-rc.1"
},
"devDependencies": {
"@quasar/app": "^3.3.3",
"@babel/core": "^7.24.3",
"@quasar/app-webpack": "^3.12.4",
"@types/bcryptjs": "^2.4.6",
"@types/dotenv": "^8.2.0",
"@types/googlemaps": "^3.43.3",
"@types/jest": "^29.5.0",
"@types/js-cookie": "^3.0.3",
"@types/node": "18.15.11",
"@types/nprogress": "^0.2.0",
"@types/vue-tel-input": "^2.1.2",
"@types/vuelidate": "^0.7.16",
"@typescript-eslint/eslint-plugin": "^6.7.3",
"@typescript-eslint/parser": "^6.7.2",
"@types/jest": "^29.5.12",
"@types/js-cookie": "^3.0.6",
"@types/node": "20.11.30",
"@types/nprogress": "^0.2.3",
"@types/vue-tel-input": "^2.1.6",
"@types/vuelidate": "^0.7.21",
"@typescript-eslint/eslint-plugin": "^7.3.1",
"@typescript-eslint/parser": "^7.3.1",
"eslint": "^8.37.0",
"eslint-config-prettier": "^8.8.0",
"eslint-plugin-import": "^2.27.5",
"eslint-config-prettier": "^9.1.0",
"eslint-plugin-import": "^2.29.1",
"eslint-plugin-node": "^11.1.0",
"eslint-plugin-promise": "^6.1.1",
"eslint-plugin-vue": "^9.19.2",
"eslint-plugin-vue": "^8.7.1",
"file-loader": "^6.2.0",
"html-webpack-plugin": "^5.5.3",
"html-webpack-plugin": "^5.6.0",
"http-proxy-middleware": "^2.0.6",
"jest": "^29.7.0",
"json-loader": "^0.5.7",
"node-sass": "^9.0.0",
"npm-check-updates": "^16.14.11",
"npm-check-updates": "^16.14.17",
"optimize-css-assets-webpack-plugin": "^6.0.1",
"parcel": "^2.6.2",
"postcss": "^8.4.31",
"postcss-loader": "^7.3.3",
"sass-loader": "^13.3.2",
"parcel": "^2.12.0",
"postcss": "^8.4.38",
"postcss-loader": "^8.1.1",
"sass-loader": "^14.1.1",
"strip-ansi": "=7.1.0",
"ts-jest": "^29.1.1",
"ts-jest": "^29.1.2",
"ts-loader": "^9.5.1",
"tslint": "^6.1.3",
"tslint-config-standard": "^9.0.0",
"tslint-loader": "^3.5.4",
"typescript": "^5.3.2",
"typescript": "5.3.2",
"vue-cli-plugin-element-ui": "^1.1.4",
"vueify": "^9.4.1",
"webpack": "^5.89.0",
"webpack": "^5.91.0",
"workbox-webpack-plugin": "^6.5.4"
},
"browser": {

Binary file not shown.

After

Width:  |  Height:  |  Size: 92 KiB

View File

@@ -1 +1 @@
TERMINA DI LAVORARE SU riso.app: (Sovrascrivo !)
TERMINA DI LAVORARE SU piuchebuono.app: (Sovrascrivo !)

View File

@@ -1,8 +1,8 @@
{
"name": "piuchebuono",
"version": "2.0.1",
"description": "PiuCheBuono",
"productName": "PiuCheBuono",
"name": "riso",
"version": "0.6.1",
"description": "Siamo la Rete Italiana di Scambio Orizzontale, abbiamo creato questa piattaforma per metterla al servizio di chi vuole riscoprire il valore della condivisione e della cooperazione. Valori semplici e profondi che ci aiutano a ritrovare il Senso della Vita, perduto in questa società consumista, e riporti quei Sani Pricìpi Naturali ed Umani di Fratellanza che intere popolazioni antiche conoscevano bene.",
"productName": "Riso",
"author": "Paolo Arena",
"private": true,
"keywords": [],

File diff suppressed because it is too large Load Diff

BIN
public/images/ferrara.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 42 KiB

BIN
public/images/foto1.jpg Normal file → Executable file

Binary file not shown.

Before

Width:  |  Height:  |  Size: 87 KiB

After

Width:  |  Height:  |  Size: 12 KiB

BIN
public/images/foto2.jpg Normal file → Executable file

Binary file not shown.

Before

Width:  |  Height:  |  Size: 140 KiB

After

Width:  |  Height:  |  Size: 12 KiB

BIN
public/images/foto3.jpg Normal file → Executable file

Binary file not shown.

Before

Width:  |  Height:  |  Size: 165 KiB

After

Width:  |  Height:  |  Size: 12 KiB

BIN
public/images/icon.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 10 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 92 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 618 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.2 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 88 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 311 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 36 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 63 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 10 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 17 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 23 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 26 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 36 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 39 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 53 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 7.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 7.7 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 10 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 63 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 163 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 142 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 30 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 43 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 138 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 185 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 11 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 17 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 21 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 23 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 30 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 33 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 42 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 11 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 44 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 634 KiB

BIN
public/images/riso_home.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 279 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 258 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 124 KiB

3592316
public/maps/comuni_italia.geojson Normal file

File diff suppressed because it is too large Load Diff

View File

@@ -68,6 +68,7 @@ module.exports = configure((ctx) => ({
views: path.resolve(__dirname, 'src/views/index.ts'),
icons: path.resolve(__dirname, 'src/assets/icons'),
images: path.resolve(__dirname, 'src/assets/images'),
maps: path.resolve(__dirname, 'src/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'),
@@ -94,7 +95,6 @@ module.exports = configure((ctx) => ({
transpileDependencies: [
/quasar-ui-qcalendar[\\/]src/
],
devtool: 'source-map',
chainWebpack(chain, { isServer, isClient }) {
chain.resolve.alias
@@ -108,6 +108,7 @@ module.exports = configure((ctx) => ({
.set('@css', path.resolve(__dirname, 'src/public/css/variables.scss'))
.set('@icons', path.resolve(__dirname, 'src/public/icons/*'))
.set('@images', path.resolve(__dirname, 'src/public/images/*'))
.set('@maps', path.resolve(__dirname, 'src/public/maps/*'))
.set('@classes', path.resolve(__dirname, 'src/classes/index.ts'))
.set('@utils', path.resolve(__dirname, 'src/utils/index.ts'))
.set('@utils', path.resolve(__dirname, 'src/utils/*'))
@@ -148,8 +149,9 @@ module.exports = configure((ctx) => ({
},
devServer: {
https: false,
port: 8088,
port: 8084,
open: false, // opens browser window automatically
hot: false, // Disable hot module replacement
headers: {
'Access-Control-Allow-Origin': '*',
'Access-Control-Allow-Headers': '*',
@@ -295,8 +297,8 @@ module.exports = configure((ctx) => ({
workboxPluginMode: 'InjectManifest', // 'GenerateSW' or 'InjectManifest'
workboxOptions: {}, // only for GenerateSW
extendGenerateSWOptions(cfg) {
cfg.skipWaiting = true
cfg.clientsClaim = true
cfg.skipWaiting = false
cfg.clientsClaim = false
},
// for the custom service worker ONLY (/src-pwa/custom-service-worker.[js|ts])
// if using workbox in InjectManifest mode
@@ -306,9 +308,9 @@ module.exports = configure((ctx) => ({
},
manifest: {
name: 'Più che Buono',
short_name: 'PiuCheBuono',
description: 'PiuCheBuono è un GAS e Bottega',
name: 'Riso',
short_name: 'Riso',
description: 'Siamo la Rete Italiana di Scambio Orizzontale, abbiamo creato questa piattaforma per metterla al servizio di chi vuole riscoprire il valore della condivisione e della cooperazione. Valori semplici e profondi che ci aiutano a ritrovare il Senso della Vita, perduto in questa società consumista, e riporti quei Sani Pricìpi Naturali ed Umani di Fratellanza che intere popolazioni antiche conoscevano bene.',
display: 'standalone',
orientation: 'portrait',
background_color: '#fff',
@@ -318,54 +320,54 @@ module.exports = configure((ctx) => ({
start_url: "/?homescreen=1",
icons: [
{
src: 'images/pcb-android-icon-512x512.png',
src: 'images/riso-android-icon-512x512.png',
sizes: '512x512',
type: 'image/png',
},
{
src: 'images/pcb-android-icon-384x384.png',
src: 'images/riso-android-icon-384x384.png',
sizes: '384x384',
type: 'image/png',
},
{
src: 'images/pcb-android-icon-192x192.png',
src: 'images/riso-android-icon-192x192.png',
sizes: '192x192',
type: 'image/png',
},
{
src: 'images/pcb-android-icon-144x144.png',
src: 'images/riso-android-icon-144x144.png',
sizes: '144x144',
type: 'image/png',
},
{
src: 'images/pcb-android-icon-96x96.png',
src: 'images/riso-android-icon-96x96.png',
sizes: '96x96',
type: 'image/png',
},
{
src: 'images/pcb-apple-icon-120x120.png',
src: 'images/riso-apple-icon-120x120.png',
sizes: '120x120',
type: 'image/png',
},
{
src: 'images/pcb-apple-icon-144x144.png',
src: 'images/riso-apple-icon-144x144.png',
sizes: '144x144',
type: 'image/png',
},
{
src: 'images/pcb-apple-icon-152x152.png',
src: 'images/riso-apple-icon-152x152.png',
sizes: '152x152',
type: 'image/png',
},
{
src: 'images/pcb-apple-icon-180x180.png',
src: 'images/riso-apple-icon-180x180.png',
sizes: '180x180',
type: 'image/png',
},
],
related_applications: [{
"platform": "webapp",
"url": "https://www.piuchebuono.app/manifest.json"
"url": "https://www.riso.app/manifest.json"
}]
},
},
@@ -400,7 +402,7 @@ module.exports = configure((ctx) => ({
builder: {
// https://www.electron.build/configuration/configuration
appId: 'PiuCheBuono',
appId: 'Riso',
},
// "chain" is a webpack-chain object https://github.com/neutrinojs/webpack-chain

View File

@@ -1,6 +1,7 @@
<template>
<div class="q-ma-xs">
<div
v-if="tools.visualizzaHomeApp()"
class="row q-my-xs shadow"
style="border-radius: 4px; border: 1px solid rgba(0, 0, 0, 0.12)"
>
@@ -38,7 +39,10 @@
:key="index"
>
<q-card class="no-shadow q-pa-xs">
<q-item class="q-pb-none q-pt-xs cursor-pointer" :to="tools.updateLink(rec.to)">
<q-item
class="q-pb-none q-pt-xs cursor-pointer"
:to="tools.updateLink(rec.to)"
>
<q-item-section>
<q-item-label
:class="
@@ -49,20 +53,29 @@
>
{{ rec.title }}
</q-item-label>
<q-item-label lines="3" no-wrap
<q-item-label
lines="3"
no-wrap
v-if="rec.subtitle"
:class="
(!$q.dark.isActive ? 'text-grey-8' : 'text-white') +
` title_view_subtitle`
"
>
<span v-html="rec.subtitle"></span>
</q-item-label>
</q-item-section>
<q-item-section side class="small_side" style="right: 4px; position: absolute; ">
<q-img v-if="rec.image" :src="rec.image" style="width: 27px;"></q-img>
<q-item-section
side
class="small_side"
style="right: 4px; position: absolute"
>
<q-img
v-if="rec.image"
:src="rec.image"
style="width: 27px"
></q-img>
<q-icon
v-else
:name="rec.icon"
@@ -85,9 +98,7 @@
</div>
</div>
<div
class="row shadow"
>
<div class="row shadow">
<div
v-for="(rec, index) of visulinks"
:class="`col-md-3 col-lg-3 col-sm-6 col-xs-6 text-` + rec.color"
@@ -95,9 +106,13 @@
:key="index"
>
<q-card class="no-shadow q-pa-xxs">
<q-item class="q-pb-none q-pt-xs cursor-pointer" :to="tools.updateLink(rec.to)">
<q-item
class="q-pb-none q-pt-xs cursor-pointer"
:to="tools.updateLink(rec.to)"
>
<q-item-section>
<q-item-label lines="3"
<q-item-label
lines="3"
:class="
(!$q.dark.isActive ? 'text-grey-9' : 'text-white') +
` title_view_small_shadow`
@@ -119,7 +134,11 @@
</q-item-section>
<q-item-section side>
<q-img v-if="rec.image" :src="rec.image" style="width: 35px"></q-img>
<q-img
v-if="rec.image"
:src="rec.image"
style="width: 35px"
></q-img>
<q-icon
v-else
:name="rec.icon"

View File

@@ -324,6 +324,13 @@ export default defineComponent({
return ''
}
function getrealdirectory() {
if (props.directory == 'productinfos')
return 'products'
else
return props.directory
}
function getsrcimg(gallerylistery: any) {
if (!gallerylistery.imagefile) {
@@ -332,15 +339,21 @@ export default defineComponent({
if (gallerylistery) {
if (tools.getextfile(gallerylistery.imagefile) === 'pdf')
return 'images/images/pdf.jpg'
else
return costanti.DIR_UPLOAD + props.directory + '/' + gallerylistery.imagefile
else {
if (tools.contieneSlash(gallerylistery.imagefile)) {
return gallerylistery.imagefile
} else {
return costanti.DIR_UPLOAD + getrealdirectory() + '/' + gallerylistery.imagefile
}
}
} else {
return 'images/noimg.png';
}
}
function getParamDir() {
return tools.escapeslash(props.directory)
return tools.escapeslash(getrealdirectory())
}
function getUrl() {
@@ -393,6 +406,7 @@ export default defineComponent({
onRejected,
isListImgValid,
costanti,
getrealdirectory,
}
}
})

View File

@@ -5,6 +5,7 @@
<div class="q-pa-xs">
<q-card v-if="isListImgValid" :class="getclass()" @click="apri">
<div v-for="(mygallery, index) in getlistimages()" :key="index">
<div v-if="index === 0">
<q-img
@@ -51,6 +52,7 @@
</div>
<div v-else>
<div class=" row">
<!--<q-draggable-rows
v-model="order">-->

View File

@@ -1,3 +1,9 @@
.map-container {
height: 400px;
}
.button-text {
font-size: 14px;
color: black;
cursor: pointer;
}

File diff suppressed because one or more lines are too long

View File

@@ -1,18 +1,10 @@
<template>
<div>
comuniData: {{comuniData}}
<div
v-if="arrprovince"
id="map"
:style="`height:${myheight()}px; width:99%`"
>
<l-map :zoom="zoom" :center="center">
<l-tile-layer :url="url"></l-tile-layer>
<l-geo-json
:geojson="comuniData"
:options="{ style: styleFunction }"
></l-geo-json>
</l-map>
<div v-if="visumappa">
<div v-if="initialMap">
center: {{ center }} zoom: {{ zoom }}
</div>
<div id="map" :style="`height:${myheight()}px; width:99%`">
</div>
</div>
</template>

View File

@@ -143,7 +143,7 @@
!userStore.IsMyCircuitByName(circuit.name) &&
!userStore.IsAskedCircuitByName(circuit.name) &&
!userStore.IsRefusedCircuitByName(circuit.name)
"
"
color="positive"
:label="$t('circuit.apri')"
@click="
@@ -380,6 +380,7 @@
icon="fas fa-user-plus"
color="primary"
:label="$t('circuit.ask')"
rounded
@click="
requestToEnterCircuit = true;
groupnameSel = null;

View File

@@ -133,7 +133,7 @@ export default defineComponent({
title: t('tutorial.step_residence_title'),
extratitle: function () { return ': ' + contact.value!.profile.resid_province },
label: t('tutorial.step_residence'),
checkOk: function (): boolean { return contact.value ? !!contact.value.profile.resid_province : false },
checkOk: function (): boolean { return contact.value ? contact.value.profile.resid_province !== '' : false },
checkOkReal: function (): boolean { return this.checkOk() },
icon: 'house',
required: true,
@@ -407,9 +407,20 @@ export default defineComponent({
}
function isNextDisable() {
function getindstepByStep(step: number) {
for (let indstep = 0; indstep < arrStep.value.length; indstep++) {
if (arrStep.value[indstep].step === step)
return indstep
}
return -1
}
function isNextDisable(step: number) {
try {
return arrStep.value[indstep.value - 1].required && !arrStep.value[indstep.value - 1].checkOk()
const indstep = getindstepByStep(step)
if (indstep >= 0)
return arrStep.value[indstep].required && !arrStep.value[indstep].checkOk()
return false
} catch (e) {
return false
}

View File

@@ -224,7 +224,7 @@
/>
<q-btn
:flat="isSalta(recstep.step)"
:disabled="isNextDisable()"
:disabled="isNextDisable(recstep.step)"
@click="
isSalta(recstep.step)
? askToConfirmSkip(recstep.step)
@@ -289,6 +289,7 @@
class="bg-red text-white"
v-if="
userStore.my.profile.calc.numGoodsAndServices <= 0 && !nascondiavviso
&& tools.visualizzaHomeApp()
"
>
<span v-html="$t('tutorial.step_beniservizi')"></span>

View File

@@ -1,5 +1,8 @@
<template>
<div class="row text-center justify-evenly items-center">
<div
v-if="tools.visualizzaHomeApp()"
class="row text-center justify-evenly items-center"
>
<div class="q-mb-sm">
<q-btn
icon="fas fa-download"

View File

@@ -18,9 +18,21 @@
>Sei in attesa di essere abilitato da
{{ tools.getAportadorSolidario() }}.<br>
Ti arriverà una notifica sulla Chat Telegram <strong>'BOT RISO'</strong>.<br /><br />
Se non dovesse arrivarti entro qualche ora, contattalo per ricordarglielo.<br />
</div>
<q-btn
rounded
class="q-ma-sm"
color="positive"
@click="tools.refreshPage()"
icon="refresh"
label="Aggiorna la Pagina"
>
</q-btn>
<br>
<q-btn
rounded
class="q-ma-sm"

View File

@@ -8,8 +8,6 @@ const msg_website_enUs = {
products: {
quantity: 'Quantità',
quantityAvailable: 'Disponibili',
stockQty: 'In Magazzino',
stockBloccatiQty: 'Bloccati In Magazzino',
weight: 'Peso',
stars: 'Voto',
color: 'Colore',
@@ -38,7 +36,6 @@ const msg_website_enUs = {
productslist: 'Lista Prodotti',
collabora: 'Collabora',
storehouses: 'Magazzino',
providers: 'Fornitori',
departments: 'Uffici',
orders: 'Ordini Ricevuti',
orders2: 'Ordini Ricevuti',

View File

@@ -8,7 +8,6 @@ const msg_website_es = {
products: {
quantity: 'Quantità',
quantityAvailable: 'Disponibili',
stockQty: 'In Magazzino',
weight: 'Peso',
stars: 'Voto',
color: 'Colore',

View File

@@ -1,9 +1,9 @@
const msg_website_it = {
ws: {
sitename: 'Più che Buono',
siteshortname: 'Più che Buono',
description: '',
keywords: '',
sitename: 'Riso',
siteshortname: 'RISO',
description: 'Siamo la Rete Italiana di Scambio Orizzontale, abbiamo creato questa piattaforma per metterla al servizio di chi vuole riscoprire il valore della condivisione e della cooperazione. Valori semplici e profondi che ci aiutano a ritrovare il Senso della Vita, perduto in questa società consumista, e riporti quei Sani Pricìpi Naturali ed Umani di Fratellanza che intere popolazioni antiche conoscevano bene.',
keywords: 'riso, piattaforma di scambio, rete italiana scambio orizzontale, riso app, riso piattaforma, scambio e baratto, momenta RIS',
},
hours: {
descr: 'Descrizione',
@@ -16,35 +16,23 @@ const msg_website_it = {
pages: {
home: 'Home',
profile: 'Profilo',
install_site: 'Installa Sito',
profile2: 'ProfiloU',
mypage2: 'mypage2',
myservice2: 'myservice2',
myhosps2: 'myhosps2',
mygood2: 'mygood2',
catalogo: 'Catalogo',
fundraising: 'Sostieni il Progetto',
notifs: 'Configura le Notifiche',
unsubscribe: 'Disiscriviti',
unsubscribe_user: 'Disiscriviti User',
test: 'Test',
projects: 'Progetti',
report: 'Report Ore',
producer: 'Produttore',
orderinfo: 'Ordini Effettuati',
products: 'Prodotti',
cash: 'Cassa',
productInfos: 'Info Prodotti',
listinoprodotti: 'Listino Prodotti',
productslist: 'Lista Prodotti',
collabora: 'Collabora',
categories: 'Categorie',
storehouses: 'Magazzino',
providers: 'Fornitori',
catprods: 'Categorie',
subcatprods: 'Sotto-Categorie',
gasordine: 'Gas Ordine',
scontisticas: 'Scontistica',
departments: 'Uffici',
orders: 'Ordini Ricevuti',
orders2: 'Ordini Ricevuti',
@@ -133,11 +121,9 @@ const msg_website_it = {
only_residenti: 'Solo Residenti',
only_consiglio: 'Solo Consiglieri',
color: 'Colore',
gasordini: 'Gas Ordini',
gestoreordini: 'Gestore Ordini',
},
msg: {
myAppName: 'Più che Buono',
myAppName: 'Riso',
myAppDescription: 'Il primo Vero Social Libero, Equo e Solidale, dove Vive Consapevolezza e Aiuto Comunitario. Gratuito',
underconstruction: 'App in costruzione...',
myDescriz: '',

View File

@@ -7,6 +7,30 @@ import {
import { func } from '@store/Modules/fieldsTable'
// const SHOW_PROJINTHEMENU = false
//
// let arrlistafavourite = []
// let arrlistaprojtutti = []
// let arrlistaprojmiei = []
// if (SHOW_PROJINTHEMENU) {
// arrlistaprojtutti = Projects.getters.listaprojects(RouteNames.projectsall)
// arrlistaprojmiei = Projects.getters.listaprojects(RouteNames.myprojects)
// arrlistafavourite = Projects.getters.listaprojects(RouteNames.favouriteprojects)
// }
// PROGETTI -> FAVORITI :
// if (arrlistafavourite.length > 0) {
// arrMenu.push({
// icon: 'favorite_border',
// nametranslate: 'pages.' + RouteNames.favouriteprojects,
// urlroute: RouteNames.favouriteprojects,
// level_parent: 0.0,
// level_child: 0.5,
// routes2: arrlistafavourite,
// idelem: ''
// })
// }
const firstPage = {
active: true,
order: 5,
@@ -33,7 +57,72 @@ function getDynamicPages(site: ISites): IListRoutes[] {
inmenu: true,
infooter: true,
},
/*{
{
active: true,
order: 400,
path: '/test',
materialIcon: 'fas fa-test',
name: 'mypages.test',
component: () => import('@/views/testServer/testServer.vue'),
inmenu: false,
infooter: false,
},
{
active: true,
order: 12,
path: '/goods',
materialIcon: 'fas fa-tshirt',
name: 'mypages.goods',
component: () => import('@/root/goods/goods.vue'),
meta: { requiresAuth: true },
inmenu: true,
infooter: true,
},
{
active: true,
order: 15,
path: '/services',
materialIcon: 'fas fa-house-user',
name: 'mypages.services',
component: () => import('@/root/services/services.vue'),
meta: { requiresAuth: true },
inmenu: true,
infooter: true,
},
{
active: true,
order: 15,
path: '/provapao',
materialIcon: 'fas fa-house-user',
name: 'mypages.provapao',
component: () => import('@/root/provapao/provapao.vue'),
meta: { requiresAuth: true },
inmenu: false,
infooter: false,
},
{
active: true,
order: 15,
path: '/hosps',
materialIcon: 'fas fa-bed',
name: 'mypages.hosp',
component: () => import('@/root/hosp/hosp.vue'),
meta: { requiresAuth: true },
inmenu: true,
infooter: true,
},
{
active: site.confpages && site.confpages.enableCircuits,
order: 16,
path: '/circuits',
materialIcon: 'fas fa-coins',
name: 'mypages.circuits',
component: () => import('@/views/user/mycircuits/mycircuits.vue'),
meta: { requiresAuth: true },
inmenu: true,
infooter: true,
},
{
active: true,
order: 20,
path: '/events',
@@ -43,17 +132,6 @@ function getDynamicPages(site: ISites): IListRoutes[] {
meta: { requiresAuth: true },
inmenu: true,
infooter: true,
},*/
{
active: site.confpages && site.confpages.showProfile,
order: 120,
path: '/myprofile',
materialIcon: 'fas fa-user',
name: 'pages.profile',
component: () => import('@/views/user/myprofile/myprofile.vue'),
meta: { requiresAuth: true },
inmenu: true,
infooter: true,
},
{
active: true,
@@ -67,7 +145,18 @@ function getDynamicPages(site: ISites): IListRoutes[] {
infooter: false,
},
{
active: site.confpages && site.confpages.showProfile,
active: true,
order: 120,
path: '/myprofile',
materialIcon: 'fas fa-user',
name: 'pages.profile',
component: () => import('@/views/user/myprofile/myprofile.vue'),
meta: { requiresAuth: true },
inmenu: true,
infooter: true,
},
{
active: true,
order: 120,
path: '/editprofile',
materialIcon: 'fas fa-user',
@@ -78,7 +167,7 @@ function getDynamicPages(site: ISites): IListRoutes[] {
infooter: false,
},
{
active: site.confpages && site.confpages.showiscrittiMenu,
active: true,
order: 130,
path: '/friends',
materialIcon: 'fas fa-user-friends',
@@ -88,19 +177,6 @@ function getDynamicPages(site: ISites): IListRoutes[] {
inmenu: true,
infooter: true,
},
{
active: site.confpages && site.confpages.enableCircuits,
order: 16,
path: '/circuits',
materialIcon: 'fas fa-coins',
name: 'mypages.circuits',
component: () => import('@/views/user/mycircuits/mycircuits.vue'),
meta: { requiresAuth: true },
inmenu: true,
infooter: true,
onlyAdmin: true,
onlyManager: true,
},
{
active: site.confpages && site.confpages.enableGroups,
order: 132,
@@ -111,8 +187,6 @@ function getDynamicPages(site: ISites): IListRoutes[] {
meta: { requiresAuth: true },
inmenu: true,
infooter: false,
onlyAdmin: true,
onlyManager: true,
},
{
active: true,

View File

@@ -1392,7 +1392,7 @@ const msg_it = {
addasadmin: 'Aggiungi come Admin del Circuito',
remove_as_admin: 'Rimuovi come Admin del Circuito',
remove_from_mycircuit: 'Rimuovi dal Circuito',
ask: 'Entra nel Circuito',
ask: 'Entra',
ask_italia: 'Apri Circuito RIS Italia',
exit: 'Esci dal Circuito',
accept: 'Abilita Fiducia',
@@ -1628,7 +1628,7 @@ const msg_it = {
title_completed: 'Passi ({indstep}/{numindstep}) - Completati',
completed_step: 'Profilo completato al {perc}',
step_residence_title: 'Provincia',
step_residence: 'Scegli la <strong>provincia</strong> in cui vivi abitualmente:',
step_residence: 'Scegli la <strong>Provincia</strong> in cui vivi abitualmente:',
step_nomecognome_title: 'Nome',
step_nomecognome: '<strong>Facoltativo</strong>: Per farti trovare dai tuoi amici puoi inserire anche un Nome o Soprannome',
step_circuito_title: '1) Circuito Provinciale',

View File

@@ -70,6 +70,9 @@ export const tools = {
COOK_SELGAS: 'SELGAS',
COOK_TAB_CIRCUIT: 'TAB_CIRC',
COOK_COSA_PRODOTTI: 'PROD_N',
COOK_MAP_CENTER_LAT: 'MAP_LAT',
COOK_MAP_CENTER_LONG: 'MAP_LONG',
COOK_MAP_ZOOM: 'MAP_Z',
FRIENDS_SEARCH: 'FR_SE',
GROUP_SEARCH: 'GR_SE',
@@ -5160,6 +5163,10 @@ export const tools = {
return globalStore.getProvinceByProv(prov)
},
visualizzaHomeApp() {
return this.getProvincia() !== ''
},
getLinkBotTelegram(aportador_solidario: string, regexpire: string): string {
let mylink = ''
const sep = '-'
@@ -8505,7 +8512,15 @@ export const tools = {
getInvitante() {
const invitante = tools.getCookie(tools.APORTADOR_SOLIDARIO)
return invitante ? invitante : ''
}
},
contieneSlash(str: string) {
return str.includes('/');
},
refreshPage() {
window.location.reload();
},
// FINE !

View File

@@ -2069,5 +2069,17 @@ export const useGlobalStore = defineStore('GlobalStore', {
tools.setCookie('EDITPAGES', edit ? '-1' : '0')
},
getGeoJsonByProvince(prov: string) {
const usertosend = {
prov,
}
// console.log(usertosend)
return Api.SendReq('/city/geojson', 'POST', usertosend)
.then((res) => {
return res.data ? res.data.ris : []
})
},
},
})

View File

@@ -680,6 +680,11 @@
color="positive"
@click="EseguiFunz('UpdateCoordProv')"
></q-btn>
<q-btn
label="insertGeojsonToMongoDB"
color="positive"
@click="EseguiFunz('insertGeojsonToMongoDB')"
></q-btn>
<br />
</div>
<br />

View File

@@ -25,6 +25,7 @@
"@css": ["src/public/css/variables.scss"],
"@icons": ["src/public/icons/*"],
"@images": ["src/public/images/*"],
"@maps": ["src/public/maps/*"],
"@classes": ["src/classes/index.ts"],
"@utils": ["src/utils/index.ts"],
"@router": ["src/router/index.ts"],

3592316
upload/comuni_italia.geojson Normal file

File diff suppressed because it is too large Load Diff

Binary file not shown.

After

Width:  |  Height:  |  Size: 92 KiB