- aggiornato la guida per installare la App
- aggiornato la Guida Completa e Breve di RISO. - pagina per ricevere i RIS. - sistemato problema creazione nuovi Circuiti (admin non corretti). - corretto giro delle email, invitante, invitato e ricezione msg su telegram.
This commit is contained in:
BIN
install_app_on_ios_safari_butt.jpg
Normal file
BIN
install_app_on_ios_safari_butt.jpg
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 5.3 KiB |
BIN
install_app_on_safari.jpg
Normal file
BIN
install_app_on_safari.jpg
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 5.3 KiB |
@@ -1,8 +1,8 @@
|
||||
{
|
||||
"name": "riso",
|
||||
"version": "1.2.84",
|
||||
"productName": "Riso 💚 - Rete Italiana Scambi Orizzontali",
|
||||
"description": "Progetto RISO (Rete Italiana Scambi Orizzontali) promuove una rete di comunità locali che favoriscono scambi di beni, servizi e ospitalità. Con l'App RISO, sviluppata per facilitare il baratto, il dono e l'uso di monete alternative come i RIS, il progetto crea legami autentici basati sulla fiducia e sostenibilità. Partecipa agli scambi e costruisci una comunità più consapevole e autosufficiente.",
|
||||
"productName": "Riso 💚 - Rete Italiana Scambio orizzontale",
|
||||
"description": "Progetto RISO (Rete Italiana Scambio orizzontale) promuove una rete di comunità locali che favoriscono scambi di beni, servizi e ospitalità. Con l'App RISO, sviluppata per facilitare il baratto, il dono e l'uso di monete alternative come i RIS, il progetto crea legami autentici basati sulla fiducia e sostenibilità. Partecipa agli scambi e costruisci una comunità più consapevole e autosufficiente.",
|
||||
"author": "Surya",
|
||||
"private": true,
|
||||
"keywords": [],
|
||||
|
||||
BIN
public/images/install_app_on_safari.png
Normal file
BIN
public/images/install_app_on_safari.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 30 KiB |
BIN
public/images/mappa_mentale_riso.jpg
Normal file
BIN
public/images/mappa_mentale_riso.jpg
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 98 KiB |
@@ -35,7 +35,7 @@ const msg_website = {
|
||||
},
|
||||
homepage: {
|
||||
descrapp_title1: 'Uniti per Evolvere e Sperimentare',
|
||||
descrapp_pag1: 'Siamo la <strong>Rete Italiana Scambi orizzontali</strong>, abbiamo creato questa pittaforma per metterla al servizio di chi vuole riscoprire il valore della <strong>condivisione</strong> e della <strong>cooperazione</strong>. ' +
|
||||
descrapp_pag1: 'Siamo la <strong>Rete Italiana Scambio orizzontale</strong>, abbiamo creato questa pittaforma per metterla al servizio di chi vuole riscoprire il valore della <strong>condivisione</strong> e della <strong>cooperazione</strong>. ' +
|
||||
'Valori semplici e profondi che ci aiutano a ritrovare il <strong>senso della vita</strong>, perduto in questa società consumista, e riporti quei <strong>Sani Pricìpi Naturali</strong> ed Umani di <strong>Fratellanza</strong>'
|
||||
+ ' che intere popolazioni antiche conoscevano bene.',
|
||||
descrapp_pag2: 'E\' giunta l\'ora di utilizzare i nuovi strumenti <strong>Tecnologici</strong> a nostro <strong>favore</strong>, per <strong>Liberarci</strong> '
|
||||
|
||||
@@ -136,12 +136,12 @@ const msg_website_it = {
|
||||
myAppDescription: 'Il primo Vero Social Libero, Equo e Solidale, dove Vive Consapevolezza e Aiuto Comunitario. Gratuito',
|
||||
underconstruction: 'App in costruzione...',
|
||||
myDescriz: '',
|
||||
sottoTitoloApp: 'Rete Italiana Scambi orizzontali',
|
||||
sottoTitoloApp: 'Rete Italiana Scambio orizzontale',
|
||||
sottoTitoloApp2: '',
|
||||
},
|
||||
homepage: {
|
||||
descrapp_title1: 'Uniti per Evolvere e Sperimentare',
|
||||
descrapp_pag1: 'Siamo la <strong>Rete Italiana Scambi orizzontali</strong>, abbiamo creato questa piattaforma per metterla al servizio di chi vuole riscoprire il valore della <strong>condivisione</strong> e della <strong>cooperazione</strong>. ' +
|
||||
descrapp_pag1: 'Siamo la <strong>Rete Italiana Scambio orizzontale</strong>, abbiamo creato questa piattaforma per metterla al servizio di chi vuole riscoprire il valore della <strong>condivisione</strong> e della <strong>cooperazione</strong>. ' +
|
||||
'Valori semplici e profondi che ci aiutano a ritrovare il <strong>Senso della Vita</strong>, perduto in questa società consumista, e riporti quei <strong>Sani Pricìpi Naturali</strong> ed Umani di <strong>Fratellanza</strong>'
|
||||
+ ' che intere popolazioni antiche conoscevano bene.',
|
||||
descrapp_pag2: 'E\' giunta l\'ora di utilizzare i nuovi strumenti <strong>Tecnologici</strong> a nostro <strong>favore</strong>, per <strong>Liberarci</strong> '
|
||||
|
||||
@@ -35,7 +35,7 @@ const msg_website = {
|
||||
},
|
||||
homepage: {
|
||||
descrapp_title1: 'Uniti per Evolvere e Sperimentare',
|
||||
descrapp_pag1: 'Siamo la <strong>Rete Italiana Scambi orizzontali</strong>, abbiamo creato questa pittaforma per metterla al servizio di chi vuole riscoprire il valore della <strong>condivisione</strong> e della <strong>cooperazione</strong>. ' +
|
||||
descrapp_pag1: 'Siamo la <strong>Rete Italiana Scambio orizzontale</strong>, abbiamo creato questa pittaforma per metterla al servizio di chi vuole riscoprire il valore della <strong>condivisione</strong> e della <strong>cooperazione</strong>. ' +
|
||||
'Valori semplici e profondi che ci aiutano a ritrovare il <strong>senso della vita</strong>, perduto in questa società consumista, e riporti quei <strong>Sani Pricìpi Naturali</strong> ed Umani di <strong>Fratellanza</strong>'
|
||||
+ ' che intere popolazioni antiche conoscevano bene.',
|
||||
descrapp_pag2: 'E\' giunta l\'ora di utilizzare i nuovi strumenti <strong>Tecnologici</strong> a nostro <strong>favore</strong>, per <strong>Liberarci</strong> '
|
||||
|
||||
@@ -117,12 +117,12 @@ const msg_website_it = {
|
||||
myAppDescription: 'Il primo Vero Social Libero, Equo e Solidale, dove Vive Consapevolezza e Aiuto Comunitario. Gratuito',
|
||||
underconstruction: 'App in costruzione...',
|
||||
myDescriz: '',
|
||||
sottoTitoloApp: 'Rete Italiana Scambi orizzontali',
|
||||
sottoTitoloApp: 'Rete Italiana Scambio orizzontale',
|
||||
sottoTitoloApp2: '',
|
||||
},
|
||||
homepage: {
|
||||
descrapp_title1: 'Uniti per Evolvere e Sperimentare',
|
||||
descrapp_pag1: 'Siamo la <strong>Rete Italiana Scambi orizzontali</strong>, abbiamo creato questa piattaforma per metterla al servizio di chi vuole riscoprire il valore della <strong>condivisione</strong> e della <strong>cooperazione</strong>. ' +
|
||||
descrapp_pag1: 'Siamo la <strong>Rete Italiana Scambio orizzontale</strong>, abbiamo creato questa piattaforma per metterla al servizio di chi vuole riscoprire il valore della <strong>condivisione</strong> e della <strong>cooperazione</strong>. ' +
|
||||
'Valori semplici e profondi che ci aiutano a ritrovare il <strong>Senso della Vita</strong>, perduto in questa società consumista, e riporti quei <strong>Sani Pricìpi Naturali</strong> ed Umani di <strong>Fratellanza</strong>'
|
||||
+ ' che intere popolazioni antiche conoscevano bene.',
|
||||
descrapp_pag2: 'E\' giunta l\'ora di utilizzare i nuovi strumenti <strong>Tecnologici</strong> a nostro <strong>favore</strong>, per <strong>Liberarci</strong> '
|
||||
|
||||
@@ -35,7 +35,7 @@ const msg_website = {
|
||||
},
|
||||
homepage: {
|
||||
descrapp_title1: 'Uniti per Evolvere e Sperimentare',
|
||||
descrapp_pag1: 'Siamo la <strong>Rete Italiana Scambi orizzontali</strong>, abbiamo creato questa pittaforma per metterla al servizio di chi vuole riscoprire il valore della <strong>condivisione</strong> e della <strong>cooperazione</strong>. ' +
|
||||
descrapp_pag1: 'Siamo la <strong>Rete Italiana Scambio orizzontale</strong>, abbiamo creato questa pittaforma per metterla al servizio di chi vuole riscoprire il valore della <strong>condivisione</strong> e della <strong>cooperazione</strong>. ' +
|
||||
'Valori semplici e profondi che ci aiutano a ritrovare il <strong>senso della vita</strong>, perduto in questa società consumista, e riporti quei <strong>Sani Pricìpi Naturali</strong> ed Umani di <strong>Fratellanza</strong>'
|
||||
+ ' che intere popolazioni antiche conoscevano bene.',
|
||||
descrapp_pag2: 'E\' giunta l\'ora di utilizzare i nuovi strumenti <strong>Tecnologici</strong> a nostro <strong>favore</strong>, per <strong>Liberarci</strong> '
|
||||
|
||||
@@ -139,12 +139,12 @@ const msg_website_it = {
|
||||
myAppDescription: 'Il primo Vero Social Libero, Equo e Solidale, dove Vive Consapevolezza e Aiuto Comunitario. Gratuito',
|
||||
underconstruction: 'App in costruzione...',
|
||||
myDescriz: '',
|
||||
sottoTitoloApp: 'Rete Italiana Scambi orizzontali',
|
||||
sottoTitoloApp: 'Rete Italiana Scambio orizzontale',
|
||||
sottoTitoloApp2: '',
|
||||
},
|
||||
homepage: {
|
||||
descrapp_title1: 'Uniti per Evolvere e Sperimentare',
|
||||
descrapp_pag1: 'Siamo la <strong>Rete Italiana Scambi orizzontali</strong>, abbiamo creato questa piattaforma per metterla al servizio di chi vuole riscoprire il valore della <strong>condivisione</strong> e della <strong>cooperazione</strong>. ' +
|
||||
descrapp_pag1: 'Siamo la <strong>Rete Italiana Scambio orizzontale</strong>, abbiamo creato questa piattaforma per metterla al servizio di chi vuole riscoprire il valore della <strong>condivisione</strong> e della <strong>cooperazione</strong>. ' +
|
||||
'Valori semplici e profondi che ci aiutano a ritrovare il <strong>Senso della Vita</strong>, perduto in questa società consumista, e riporti quei <strong>Sani Pricìpi Naturali</strong> ed Umani di <strong>Fratellanza</strong>'
|
||||
+ ' che intere popolazioni antiche conoscevano bene.',
|
||||
descrapp_pag2: 'E\' giunta l\'ora di utilizzare i nuovi strumenti <strong>Tecnologici</strong> a nostro <strong>favore</strong>, per <strong>Liberarci</strong> '
|
||||
|
||||
@@ -35,7 +35,7 @@ const msg_website = {
|
||||
},
|
||||
homepage: {
|
||||
descrapp_title1: 'Uniti per Evolvere e Sperimentare',
|
||||
descrapp_pag1: 'Siamo la <strong>Rete Italiana Scambi orizzontali</strong>, abbiamo creato questa pittaforma per metterla al servizio di chi vuole riscoprire il valore della <strong>condivisione</strong> e della <strong>cooperazione</strong>. ' +
|
||||
descrapp_pag1: 'Siamo la <strong>Rete Italiana Scambio orizzontale</strong>, abbiamo creato questa pittaforma per metterla al servizio di chi vuole riscoprire il valore della <strong>condivisione</strong> e della <strong>cooperazione</strong>. ' +
|
||||
'Valori semplici e profondi che ci aiutano a ritrovare il <strong>senso della vita</strong>, perduto in questa società consumista, e riporti quei <strong>Sani Pricìpi Naturali</strong> ed Umani di <strong>Fratellanza</strong>'
|
||||
+ ' che intere popolazioni antiche conoscevano bene.',
|
||||
descrapp_pag2: 'E\' giunta l\'ora di utilizzare i nuovi strumenti <strong>Tecnologici</strong> a nostro <strong>favore</strong>, per <strong>Liberarci</strong> '
|
||||
|
||||
@@ -116,12 +116,12 @@ const msg_website_it = {
|
||||
myAppDescription: 'Il primo Vero Social Libero, Equo e Solidale, dove Vive Consapevolezza e Aiuto Comunitario. Gratuito',
|
||||
underconstruction: 'App in costruzione...',
|
||||
myDescriz: '',
|
||||
sottoTitoloApp: 'Rete Italiana Scambi orizzontali',
|
||||
sottoTitoloApp: 'Rete Italiana Scambio orizzontale',
|
||||
sottoTitoloApp2: '',
|
||||
},
|
||||
homepage: {
|
||||
descrapp_title1: 'Uniti per Evolvere e Sperimentare',
|
||||
descrapp_pag1: 'Siamo la <strong>Rete Italiana Scambi orizzontali</strong>, abbiamo creato questa piattaforma per metterla al servizio di chi vuole riscoprire il valore della <strong>condivisione</strong> e della <strong>cooperazione</strong>. ' +
|
||||
descrapp_pag1: 'Siamo la <strong>Rete Italiana Scambio orizzontale</strong>, abbiamo creato questa piattaforma per metterla al servizio di chi vuole riscoprire il valore della <strong>condivisione</strong> e della <strong>cooperazione</strong>. ' +
|
||||
'Valori semplici e profondi che ci aiutano a ritrovare il <strong>Senso della Vita</strong>, perduto in questa società consumista, e riporti quei <strong>Sani Pricìpi Naturali</strong> ed Umani di <strong>Fratellanza</strong>'
|
||||
+ ' che intere popolazioni antiche conoscevano bene.',
|
||||
descrapp_pag2: 'E\' giunta l\'ora di utilizzare i nuovi strumenti <strong>Tecnologici</strong> a nostro <strong>favore</strong>, per <strong>Liberarci</strong> '
|
||||
|
||||
@@ -35,7 +35,7 @@ const msg_website = {
|
||||
},
|
||||
homepage: {
|
||||
descrapp_title1: 'Uniti per Evolvere e Sperimentare',
|
||||
descrapp_pag1: 'Siamo la <strong>Rete Italiana Scambi orizzontali</strong>, abbiamo creato questa pittaforma per metterla al servizio di chi vuole riscoprire il valore della <strong>condivisione</strong> e della <strong>cooperazione</strong>. ' +
|
||||
descrapp_pag1: 'Siamo la <strong>Rete Italiana Scambio orizzontale</strong>, abbiamo creato questa pittaforma per metterla al servizio di chi vuole riscoprire il valore della <strong>condivisione</strong> e della <strong>cooperazione</strong>. ' +
|
||||
'Valori semplici e profondi che ci aiutano a ritrovare il <strong>senso della vita</strong>, perduto in questa società consumista, e riporti quei <strong>Sani Pricìpi Naturali</strong> ed Umani di <strong>Fratellanza</strong>'
|
||||
+ ' che intere popolazioni antiche conoscevano bene.',
|
||||
descrapp_pag2: 'E\' giunta l\'ora di utilizzare i nuovi strumenti <strong>Tecnologici</strong> a nostro <strong>favore</strong>, per <strong>Liberarci</strong> '
|
||||
|
||||
@@ -139,12 +139,12 @@ const msg_website_it = {
|
||||
myAppDescription: 'Il primo Vero Social Libero, Equo e Solidale, dove Vive Consapevolezza e Aiuto Comunitario. Gratuito',
|
||||
underconstruction: 'App in costruzione...',
|
||||
myDescriz: '',
|
||||
sottoTitoloApp: 'Rete Italiana Scambi orizzontali',
|
||||
sottoTitoloApp: 'Rete Italiana Scambio orizzontale',
|
||||
sottoTitoloApp2: '',
|
||||
},
|
||||
homepage: {
|
||||
descrapp_title1: 'Uniti per Evolvere e Sperimentare',
|
||||
descrapp_pag1: 'Siamo la <strong>Rete Italiana Scambi orizzontali</strong>, abbiamo creato questa piattaforma per metterla al servizio di chi vuole riscoprire il valore della <strong>condivisione</strong> e della <strong>cooperazione</strong>. ' +
|
||||
descrapp_pag1: 'Siamo la <strong>Rete Italiana Scambio orizzontale</strong>, abbiamo creato questa piattaforma per metterla al servizio di chi vuole riscoprire il valore della <strong>condivisione</strong> e della <strong>cooperazione</strong>. ' +
|
||||
'Valori semplici e profondi che ci aiutano a ritrovare il <strong>Senso della Vita</strong>, perduto in questa società consumista, e riporti quei <strong>Sani Pricìpi Naturali</strong> ed Umani di <strong>Fratellanza</strong>'
|
||||
+ ' che intere popolazioni antiche conoscevano bene.',
|
||||
descrapp_pag2: 'E\' giunta l\'ora di utilizzare i nuovi strumenti <strong>Tecnologici</strong> a nostro <strong>favore</strong>, per <strong>Liberarci</strong> '
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
{
|
||||
"name": "riso",
|
||||
"version": "1.2.84",
|
||||
"productName": "Riso 💚 - Rete Italiana Scambi Orizzontali",
|
||||
"description": "Progetto RISO (Rete Italiana Scambi Orizzontali) promuove una rete di comunità locali che favoriscono scambi di beni, servizi e ospitalità. Con l'App RISO, sviluppata per facilitare il baratto, il dono e l'uso di monete alternative come i RIS, il progetto crea legami autentici basati sulla fiducia e sostenibilità. Partecipa agli scambi e costruisci una comunità più consapevole e autosufficiente.",
|
||||
"productName": "Riso 💚 - Rete Italiana Scambio orizzontale",
|
||||
"description": "Progetto RISO (Rete Italiana Scambio orizzontale) promuove una rete di comunità locali che favoriscono scambi di beni, servizi e ospitalità. Con l'App RISO, sviluppata per facilitare il baratto, il dono e l'uso di monete alternative come i RIS, il progetto crea legami autentici basati sulla fiducia e sostenibilità. Partecipa agli scambi e costruisci una comunità più consapevole e autosufficiente.",
|
||||
"author": "Surya",
|
||||
"private": true,
|
||||
"keywords": [],
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
{
|
||||
"name": "Riso",
|
||||
"short_name": "Riso",
|
||||
"description": "Siamo la Rete Italiana Scambi orizzontali, 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": "Siamo la Rete Italiana 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",
|
||||
|
||||
@@ -35,7 +35,7 @@ const msg_website = {
|
||||
},
|
||||
homepage: {
|
||||
descrapp_title1: 'Uniti per Evolvere e Sperimentare',
|
||||
descrapp_pag1: 'Siamo la <strong>Rete Italiana Scambi orizzontali</strong>, abbiamo creato questa pittaforma per metterla al servizio di chi vuole riscoprire il valore della <strong>condivisione</strong> e della <strong>cooperazione</strong>. ' +
|
||||
descrapp_pag1: 'Siamo la <strong>Rete Italiana Scambio orizzontale</strong>, abbiamo creato questa pittaforma per metterla al servizio di chi vuole riscoprire il valore della <strong>condivisione</strong> e della <strong>cooperazione</strong>. ' +
|
||||
'Valori semplici e profondi che ci aiutano a ritrovare il <strong>senso della vita</strong>, perduto in questa società consumista, e riporti quei <strong>Sani Pricìpi Naturali</strong> ed Umani di <strong>Fratellanza</strong>'
|
||||
+ ' che intere popolazioni antiche conoscevano bene.',
|
||||
descrapp_pag2: 'E\' giunta l\'ora di utilizzare i nuovi strumenti <strong>Tecnologici</strong> a nostro <strong>favore</strong>, per <strong>Liberarci</strong> '
|
||||
|
||||
@@ -2,8 +2,8 @@ const msg_website_it = {
|
||||
ws: {
|
||||
sitename: 'RISO',
|
||||
siteshortname: 'RISO',
|
||||
description: 'Siamo la Rete Italiana Scambi orizzontali, 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 scambi orizzontali, riso app, riso piattaforma, scambio e baratto, momenta RIS',
|
||||
description: 'Siamo la Rete Italiana 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',
|
||||
@@ -133,12 +133,12 @@ const msg_website_it = {
|
||||
myAppDescription: 'Il primo Vero Social Libero, Equo e Solidale, dove Vive Consapevolezza e Aiuto Comunitario. Gratuito',
|
||||
underconstruction: 'App in costruzione...',
|
||||
myDescriz: '',
|
||||
sottoTitoloApp: 'Rete Italiana Scambi orizzontali',
|
||||
sottoTitoloApp: 'Rete Italiana Scambio orizzontale',
|
||||
sottoTitoloApp2: '',
|
||||
},
|
||||
homepage: {
|
||||
descrapp_title1: 'Uniti per Evolvere e Sperimentare',
|
||||
descrapp_pag1: 'Siamo la <strong>Rete Italiana Scambi orizzontali</strong>, abbiamo creato questa piattaforma per metterla al servizio di chi vuole riscoprire il valore della <strong>condivisione</strong> e della <strong>cooperazione</strong>. ' +
|
||||
descrapp_pag1: 'Siamo la <strong>Rete Italiana Scambio orizzontale</strong>, abbiamo creato questa piattaforma per metterla al servizio di chi vuole riscoprire il valore della <strong>condivisione</strong> e della <strong>cooperazione</strong>. ' +
|
||||
'Valori semplici e profondi che ci aiutano a ritrovare il <strong>Senso della Vita</strong>, perduto in questa società consumista, e riporti quei <strong>Sani Pricìpi Naturali</strong> ed Umani di <strong>Fratellanza</strong>'
|
||||
+ ' che intere popolazioni antiche conoscevano bene.',
|
||||
descrapp_pag2: 'E\' giunta l\'ora di utilizzare i nuovi strumenti <strong>Tecnologici</strong> a nostro <strong>favore</strong>, per <strong>Liberarci</strong> '
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
{
|
||||
"name": "Riso",
|
||||
"short_name": "Riso",
|
||||
"description": "Siamo la Rete Italiana Scambi orizzontali, 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": "Siamo la Rete Italiana 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",
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
export const shared_consts = {
|
||||
USER_ADMIN_CIRCUITS: ['surya1977', 'ElenaEspx'],
|
||||
USER_ADMIN_SINGOLO: 'surya1977',
|
||||
Accepted: {
|
||||
CHECK_READ_GUIDELINES: {
|
||||
value: 1,
|
||||
@@ -2176,7 +2177,7 @@ export const shared_consts = {
|
||||
ALIGNTYPE: {
|
||||
NONE: 0,
|
||||
LEFT: 1,
|
||||
CEHTER: 2,
|
||||
CENTER: 2,
|
||||
RIGHT: 3,
|
||||
},
|
||||
|
||||
|
||||
@@ -83,8 +83,8 @@
|
||||
<div class="step-item">
|
||||
<span class="step-number">2</span>
|
||||
<span class="step-text">
|
||||
Se in alto vedi <strong>"Apri con..."</strong>, cliccalo e scegli
|
||||
Chrome, Brave o il tuo browser preferito.<br />
|
||||
Se in alto vedi <strong>"Apri con..."</strong>, cliccalo e scegli
|
||||
Chrome, Brave o il tuo browser preferito.<br />
|
||||
|
||||
Altrimenti scegli <strong>"Installa app"</strong> o
|
||||
<strong>"Aggiungi alla schermata Home"</strong></span
|
||||
@@ -240,7 +240,7 @@
|
||||
>
|
||||
<!-- iOS Safari -->
|
||||
<div
|
||||
v-if="$q.platform.is.ios && $q.platform.is.safari"
|
||||
v-if="$q.platform.is.ios"
|
||||
class="platform-instructions"
|
||||
>
|
||||
<div
|
||||
@@ -271,44 +271,139 @@
|
||||
v-if="viewiOS"
|
||||
class="platform-content"
|
||||
>
|
||||
<div class="step-list">
|
||||
<!-- ========================================== -->
|
||||
<!-- CASO: SAFARI (installazione diretta) -->
|
||||
<!-- ========================================== -->
|
||||
<div
|
||||
v-if="$q.platform.is.safari"
|
||||
class="step-list"
|
||||
>
|
||||
<div class="step-item">
|
||||
<span class="step-number">1</span>
|
||||
<span class="step-text"
|
||||
>Tocca il pulsante <strong>Condividi</strong>
|
||||
<q-icon name="ios_share"
|
||||
/></span>
|
||||
<span class="step-text">
|
||||
Tocca il pulsante <strong>Condividi</strong>
|
||||
<q-icon
|
||||
name="ios_share"
|
||||
size="20px"
|
||||
/>
|
||||
</span>
|
||||
</div>
|
||||
|
||||
<div class="step-item">
|
||||
<span class="step-number">2</span>
|
||||
<span class="step-text"
|
||||
>Scorri e seleziona <strong>"Aggiungi a Home"</strong></span
|
||||
>
|
||||
<span class="step-text">
|
||||
Scorri in basso e seleziona <strong>"Aggiungi alla schermata Home"</strong>
|
||||
</span>
|
||||
</div>
|
||||
|
||||
<div class="step-item">
|
||||
<span class="step-number">3</span>
|
||||
<span class="step-text"
|
||||
>Conferma toccando <strong>"Aggiungi"</strong></span
|
||||
>
|
||||
<span class="step-text">
|
||||
Conferma toccando <strong>"Aggiungi"</strong>
|
||||
</span>
|
||||
</div>
|
||||
|
||||
<!-- Screenshots per Safari -->
|
||||
<div class="screenshots">
|
||||
<q-img
|
||||
src="/images/install_app_on_ios_1.png"
|
||||
fit="contain"
|
||||
class="screenshot"
|
||||
/>
|
||||
<q-img
|
||||
src="/images/install_app_on_ios_1b.jpg"
|
||||
fit="contain"
|
||||
class="screenshot"
|
||||
/>
|
||||
<q-img
|
||||
src="/images/install_app_on_ios_2.jpg"
|
||||
fit="contain"
|
||||
class="screenshot"
|
||||
/>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="screenshots">
|
||||
<q-img
|
||||
src="/images/install_app_on_ios_1.png"
|
||||
fit="contain"
|
||||
class="screenshot"
|
||||
/>
|
||||
<q-img
|
||||
src="/images/install_app_on_ios_1b.jpg"
|
||||
fit="contain"
|
||||
class="screenshot"
|
||||
/>
|
||||
<q-img
|
||||
src="/images/install_app_on_ios_2.jpg"
|
||||
fit="contain"
|
||||
class="screenshot"
|
||||
/>
|
||||
<!-- ========================================== -->
|
||||
<!-- CASO: NON-SAFARI (redirect a Safari) -->
|
||||
<!-- ========================================== -->
|
||||
<div
|
||||
v-else
|
||||
class="step-list non-safari-warning"
|
||||
>
|
||||
<!-- Warning box -->
|
||||
<div class="warning-box">
|
||||
<q-icon
|
||||
name="warning"
|
||||
size="32px"
|
||||
color="orange"
|
||||
/>
|
||||
<div class="warning-content">
|
||||
<strong>⚠️ Browser non compatibile</strong>
|
||||
<p>
|
||||
Per ricevere le notifiche su iPhone, l'app deve essere installata
|
||||
tramite <strong>Safari</strong>.
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- Step 1: Apri in Safari -->
|
||||
<div class="step-item">
|
||||
<span class="step-number">1</span>
|
||||
<div class="step-text">
|
||||
<strong>Apri questa pagina in Safari:</strong>
|
||||
<div class="options-list">
|
||||
<div class="option">
|
||||
<q-icon
|
||||
name="open_in_browser"
|
||||
size="24px"
|
||||
color="primary"
|
||||
/>
|
||||
<span>Tocca l'icona in basso a destra</span>
|
||||
</div>
|
||||
<div class="option-divider">oppure</div>
|
||||
<div class="option">
|
||||
<q-icon
|
||||
name="more_vert"
|
||||
size="24px"
|
||||
color="primary"
|
||||
/>
|
||||
<span
|
||||
>Tocca <strong>"Apri con..."</strong> →
|
||||
<strong>Safari</strong></span
|
||||
>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- Screenshot esplicativo -->
|
||||
<q-img
|
||||
src="/images/install_app_on_safari.png"
|
||||
fit="contain"
|
||||
class="screenshot-inline"
|
||||
/>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- Step 2: Installazione -->
|
||||
<div class="step-item">
|
||||
<span class="step-number">2</span>
|
||||
<span class="step-text">
|
||||
Una volta aperto in Safari, tocca
|
||||
<q-icon
|
||||
name="ios_share"
|
||||
size="20px"
|
||||
/>
|
||||
<strong>Condividi</strong> e seleziona
|
||||
<strong>"Aggiungi alla schermata Home"</strong>
|
||||
</span>
|
||||
</div>
|
||||
|
||||
<!-- Step 3: Conferma -->
|
||||
<div class="step-item">
|
||||
<span class="step-number">3</span>
|
||||
<span class="step-text">
|
||||
Conferma toccando <strong>"Aggiungi"</strong>
|
||||
</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</q-slide-transition>
|
||||
@@ -378,7 +473,7 @@
|
||||
Chrome, Brave o il tuo browser preferito.<br />
|
||||
|
||||
Altrimenti scegli <strong>"Installa app"</strong> o
|
||||
<strong>"Aggiungi alla schermata home"</strong></span
|
||||
<strong>"Aggiungi alla schermata Home"</strong></span
|
||||
>
|
||||
</div>
|
||||
<div class="step-item">
|
||||
|
||||
@@ -647,7 +647,7 @@ export default defineComponent({
|
||||
}
|
||||
|
||||
async function condividi() {
|
||||
const mystr = "❇️ Ecco l'annuncio da condividere !\nPuoi copiarlo oppure inoltrarlo a chi vuoi.\n\nE\' utile pubblicarlo anche nel gruppo Telegram RISO territoriale o in <a href=\'https://riso.app/riso_gruppo\'>☀️💚 RISO - Rete Italiana Scambi Orizzontali</a> (Topic \'Annunci RISO\') "
|
||||
const mystr = "❇️ Ecco l'annuncio da condividere !\nPuoi copiarlo oppure inoltrarlo a chi vuoi.\n\nE\' utile pubblicarlo anche nel gruppo Telegram RISO territoriale o in <a href=\'https://riso.app/riso_gruppo\'>☀️💚 RISO - Rete Italiana Scambio orizzontale</a> (Topic \'Annunci RISO\') "
|
||||
await tools.sendMsgTelegramCmd($q, t, shared_consts.MsgTeleg.SHARE_TEXT, false, mystr)
|
||||
|
||||
tools.copyToClip($q, getlinkpage(), true)
|
||||
|
||||
@@ -515,7 +515,7 @@ export default defineComponent({
|
||||
|
||||
function getClass() {
|
||||
let mycl = '';
|
||||
if (props.myelem.align === shared_consts.ALIGNTYPE.CEHTER) {
|
||||
if (props.myelem.align === shared_consts.ALIGNTYPE.CENTER) {
|
||||
mycl += ' align_center';
|
||||
} else if (props.myelem.align === shared_consts.ALIGNTYPE.RIGHT) {
|
||||
mycl += ' align_right';
|
||||
|
||||
@@ -925,6 +925,13 @@
|
||||
</div>
|
||||
<div v-else-if="myel.type === shared_consts.ELEMTYPE.HTML">
|
||||
<div v-if="enableEdit">
|
||||
<q-toggle
|
||||
v-model="myel.parambool2"
|
||||
label="Usa come HTML"
|
||||
@update:model-value="modifElem"
|
||||
>
|
||||
</q-toggle>
|
||||
|
||||
<CMyEditor
|
||||
v-model:value="myel.containerHtml"
|
||||
title=""
|
||||
@@ -933,8 +940,10 @@
|
||||
:canModify="true"
|
||||
@update:value="modifElem"
|
||||
@showandsave="saveElem"
|
||||
:start-in-code-mode="myel.parambool2"
|
||||
>
|
||||
</CMyEditor>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<div v-else-if="myel.type === shared_consts.ELEMTYPE.IMAGE">
|
||||
|
||||
@@ -1,10 +1,9 @@
|
||||
import { tools } from '@tools';
|
||||
import { CTitleBanner } from '../CTitleBanner';
|
||||
|
||||
import { tools } from '@tools'
|
||||
import { CTitleBanner } from '../CTitleBanner'
|
||||
|
||||
import { defineComponent, onMounted, ref, toRef, watch } from 'vue'
|
||||
import { useQuasar } from 'quasar'
|
||||
import { useI18n } from 'vue-i18n'
|
||||
import { defineComponent, onMounted, ref, toRef, watch } from 'vue';
|
||||
import { useQuasar } from 'quasar';
|
||||
import { useI18n } from 'vue-i18n';
|
||||
|
||||
export default defineComponent({
|
||||
name: 'CMyEditor',
|
||||
@@ -44,19 +43,24 @@ export default defineComponent({
|
||||
type: Number,
|
||||
required: false,
|
||||
default: 0,
|
||||
}
|
||||
},
|
||||
startInCodeMode: {
|
||||
type: Boolean,
|
||||
required: false,
|
||||
default: false,
|
||||
},
|
||||
},
|
||||
setup(props, { emit }) {
|
||||
const $q = useQuasar()
|
||||
const $q = useQuasar();
|
||||
const { t } = useI18n();
|
||||
|
||||
const editorRef = ref(<any>null)
|
||||
const editor = ref('')
|
||||
const characterCount = ref(0)
|
||||
const editorRef = ref(<any>null);
|
||||
const editor = ref('');
|
||||
const characterCount = ref(0);
|
||||
|
||||
//const myvalue = toRef(props, 'value')
|
||||
const myvalue = ref('')
|
||||
const mycolor = ref('')
|
||||
const myvalue = ref('');
|
||||
const mycolor = ref('');
|
||||
|
||||
const myfonts = ref({
|
||||
arial: 'Arial',
|
||||
@@ -68,9 +72,9 @@ export default defineComponent({
|
||||
lucida_grande: 'Lucida Grande',
|
||||
times_new_roman: 'Times New Roman',
|
||||
verdana: 'Verdana',
|
||||
})
|
||||
});
|
||||
|
||||
const showtools = ref(false)
|
||||
const showtools = ref(false);
|
||||
|
||||
const toolbarcomp = ref([
|
||||
['left', 'center', 'right', 'justify'],
|
||||
@@ -81,13 +85,7 @@ export default defineComponent({
|
||||
label: $q.lang.editor.formatting,
|
||||
icon: $q.iconSet.editor.formatting,
|
||||
list: 'no-icons',
|
||||
options: [
|
||||
'p',
|
||||
'h4',
|
||||
'h5',
|
||||
'h6',
|
||||
'code'
|
||||
]
|
||||
options: ['p', 'h4', 'h5', 'h6', 'code'],
|
||||
},
|
||||
{
|
||||
label: $q.lang.editor.fontSize,
|
||||
@@ -95,15 +93,7 @@ export default defineComponent({
|
||||
fixedLabel: true,
|
||||
fixedIcon: true,
|
||||
list: 'no-icons',
|
||||
options: [
|
||||
'size-1',
|
||||
'size-2',
|
||||
'size-3',
|
||||
'size-4',
|
||||
'size-5',
|
||||
'size-6',
|
||||
'size-7'
|
||||
]
|
||||
options: ['size-1', 'size-2', 'size-3', 'size-4', 'size-5', 'size-6', 'size-7'],
|
||||
},
|
||||
{
|
||||
label: $q.lang.editor.defaultFont,
|
||||
@@ -119,23 +109,23 @@ export default defineComponent({
|
||||
'impact',
|
||||
'lucida_grande',
|
||||
'times_new_roman',
|
||||
'verdana'
|
||||
]
|
||||
'verdana',
|
||||
],
|
||||
},
|
||||
'removeFormat'
|
||||
'removeFormat',
|
||||
],
|
||||
['quote', 'unordered', 'ordered', 'outdent', 'indent'],
|
||||
|
||||
['undo', 'redo', 'viewsource'],
|
||||
])
|
||||
]);
|
||||
|
||||
watch(() => props.value, (newval, oldval) => {
|
||||
if (props.value === undefined)
|
||||
myvalue.value = ''
|
||||
else
|
||||
myvalue.value = props.value
|
||||
|
||||
})
|
||||
watch(
|
||||
() => props.value,
|
||||
(newval, oldval) => {
|
||||
if (props.value === undefined) myvalue.value = '';
|
||||
else myvalue.value = props.value;
|
||||
}
|
||||
);
|
||||
|
||||
function getTextLength(html: string) {
|
||||
// Crea un elemento temporaneo per convertire HTML in testo
|
||||
@@ -146,26 +136,28 @@ export default defineComponent({
|
||||
|
||||
function changeval(newval: any) {
|
||||
// console.log('myEditor: changeval', newval)
|
||||
characterCount.value = getTextLength(newval)
|
||||
emit('update:value', newval)
|
||||
characterCount.value = getTextLength(newval);
|
||||
// newval = newval.replace(/ /g, ' ')
|
||||
emit('update:value', newval);
|
||||
}
|
||||
|
||||
function annulla() {
|
||||
emit('annulla', true)
|
||||
emit('annulla', true);
|
||||
}
|
||||
|
||||
function saveval() {
|
||||
// Converti i <b> in <strong>
|
||||
myvalue.value = tools.convertinbspInSpazi(myvalue.value);
|
||||
|
||||
myvalue.value = tools.convertiTagHTMLPerBOT(myvalue.value)
|
||||
// myvalue.value = tools.convertiTagHTMLPerBOT(myvalue.value)
|
||||
|
||||
console.log('saveval', myvalue.value)
|
||||
emit('showandsave', myvalue.value)
|
||||
console.log('saveval', myvalue.value);
|
||||
emit('showandsave', myvalue.value);
|
||||
// emit('update:value', myvalue)
|
||||
}
|
||||
|
||||
function setcolor() {
|
||||
document.execCommand('foreColor', false, mycolor.value)
|
||||
document.execCommand('foreColor', false, mycolor.value);
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -198,29 +190,35 @@ export default defineComponent({
|
||||
}
|
||||
|
||||
function mounted() {
|
||||
if (props.value === undefined)
|
||||
myvalue.value = ''
|
||||
else
|
||||
myvalue.value = props.value
|
||||
if (props.value === undefined) myvalue.value = '';
|
||||
else myvalue.value = props.value;
|
||||
|
||||
showtools.value = tools.getCookie('showtools', '0') === '1'
|
||||
showtools.value = tools.getCookie('showtools', '0') === '1';
|
||||
|
||||
characterCount.value = getTextLength(myvalue.value)
|
||||
characterCount.value = getTextLength(myvalue.value);
|
||||
|
||||
if (props.startInCodeMode) {
|
||||
// Attiva modalità codice di default
|
||||
setTimeout(() => {
|
||||
if (editorRef.value) {
|
||||
editorRef.value.runCmd('viewsource');
|
||||
}
|
||||
}, 100);
|
||||
}
|
||||
}
|
||||
|
||||
function onPaste(evt: any) {
|
||||
// Let inputs do their thing, so we don't break pasting of links.
|
||||
if (evt.target.nodeName === 'INPUT') return
|
||||
let text, onPasteStripFormattingIEPaste
|
||||
evt.preventDefault()
|
||||
evt.stopPropagation()
|
||||
if (evt.target.nodeName === 'INPUT') return;
|
||||
let text, onPasteStripFormattingIEPaste;
|
||||
evt.preventDefault();
|
||||
evt.stopPropagation();
|
||||
if (evt.originalEvent && evt.originalEvent.clipboardData.getData) {
|
||||
text = evt.originalEvent.clipboardData.getData('text/plain')
|
||||
editorRef.value.runCmd('insertText', text)
|
||||
}
|
||||
else if (evt.clipboardData && evt.clipboardData.getData) {
|
||||
text = evt.clipboardData.getData('text/plain')
|
||||
editorRef.value.runCmd('insertText', text)
|
||||
text = evt.originalEvent.clipboardData.getData('text/plain');
|
||||
editorRef.value.runCmd('insertText', text);
|
||||
} else if (evt.clipboardData && evt.clipboardData.getData) {
|
||||
text = evt.clipboardData.getData('text/plain');
|
||||
editorRef.value.runCmd('insertText', text);
|
||||
}
|
||||
/*else if (ClipboardEvent.clipboardData && ClipboardEvent.clipboardData.getData) {
|
||||
if (!onPasteStripFormattingIEPaste) {
|
||||
@@ -231,7 +229,7 @@ export default defineComponent({
|
||||
}*/
|
||||
}
|
||||
|
||||
onMounted(mounted)
|
||||
onMounted(mounted);
|
||||
|
||||
return {
|
||||
myfonts,
|
||||
@@ -250,6 +248,6 @@ export default defineComponent({
|
||||
showtools,
|
||||
characterCount,
|
||||
t,
|
||||
}
|
||||
}
|
||||
})
|
||||
};
|
||||
},
|
||||
});
|
||||
|
||||
@@ -353,7 +353,7 @@ export default defineComponent({
|
||||
|
||||
function getClass() {
|
||||
let mycl = '';
|
||||
if (props.myelem.align === shared_consts.ALIGNTYPE.CEHTER) {
|
||||
if (props.myelem.align === shared_consts.ALIGNTYPE.CENTER) {
|
||||
mycl += ' align_center';
|
||||
} else if (props.myelem.align === shared_consts.ALIGNTYPE.RIGHT) {
|
||||
mycl += ' align_right';
|
||||
|
||||
@@ -155,7 +155,7 @@
|
||||
tools.getClassAnim(myel.anim)
|
||||
"
|
||||
@click="clickOnElem"
|
||||
v-html="myel.containerHtml"
|
||||
v-html="tools.convertHTMLForElement(myel.containerHtml, myel.parambool2)"
|
||||
></div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@@ -1,884 +0,0 @@
|
||||
<template>
|
||||
<q-page class="riso-homepage">
|
||||
<!-- Hero Section -->
|
||||
<!-- Hero Section con Slideshow -->
|
||||
<section class="hero-section">
|
||||
<!-- Background Slideshow -->
|
||||
<div class="hero-slideshow">
|
||||
<div
|
||||
v-for="(image, index) in heroImages"
|
||||
:key="index"
|
||||
class="hero-slide"
|
||||
:class="{ active: currentSlide === index }"
|
||||
:style="{ backgroundImage: `url(${image.src})` }"
|
||||
>
|
||||
<div class="hero-overlay"></div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- Slideshow Indicators -->
|
||||
<div class="slideshow-indicators">
|
||||
<button
|
||||
v-for="(image, index) in heroImages"
|
||||
:key="index"
|
||||
class="indicator-dot"
|
||||
:class="{ active: currentSlide === index }"
|
||||
@click="goToSlide(index)"
|
||||
:aria-label="`Vai alla slide ${index + 1}`"
|
||||
></button>
|
||||
</div>
|
||||
|
||||
<!-- Hero Content -->
|
||||
<div class="hero-content">
|
||||
<q-img
|
||||
src="/images/logo.png"
|
||||
alt="RISO Logo"
|
||||
class="hero-logo"
|
||||
:ratio="1"
|
||||
/>
|
||||
|
||||
<h1 class="hero-title animate-fade-in">
|
||||
<span class="riso-text">RISO</span>
|
||||
</h1>
|
||||
|
||||
<h2 class="hero-subtitle animate-fade-in-delay">
|
||||
Rete Italiana Scambi orizzontali
|
||||
</h2>
|
||||
|
||||
<p class="hero-description animate-fade-in-delay-2">
|
||||
Una rete di comunità consapevoli, basata sul sostegno reciproco,<br />
|
||||
la fiducia, la condivisione e l'ascolto.
|
||||
</p>
|
||||
|
||||
<div class="hero-actions animate-fade-in-delay-3">
|
||||
<q-btn
|
||||
v-if="!tools.isLogged()"
|
||||
label="Unisciti a RISO"
|
||||
:size="$q.platform.is.mobile ? 'lg' : 'xl'"
|
||||
color="primary"
|
||||
rounded
|
||||
unelevated
|
||||
class="cta-button"
|
||||
@click="scrollToRegistrazione"
|
||||
/>
|
||||
<q-btn
|
||||
v-else
|
||||
label="ACCEDI"
|
||||
:size="$q.platform.is.mobile ? 'lg' : 'xl'"
|
||||
color="primary"
|
||||
rounded
|
||||
unelevated
|
||||
class="cta-button"
|
||||
@click="goToHome"
|
||||
/>
|
||||
|
||||
<q-btn
|
||||
label="Scopri di più"
|
||||
size="md"
|
||||
outline
|
||||
rounded
|
||||
class="secondary-button"
|
||||
@click="scrollToAbout"
|
||||
/>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<!-- Cos'è RISO Section -->
|
||||
<section
|
||||
id="about"
|
||||
class="about-section"
|
||||
>
|
||||
<div class="contain_riso">
|
||||
<h2 class="section-title">
|
||||
<q-icon
|
||||
name="eco"
|
||||
size="md"
|
||||
class="title-icon"
|
||||
/>
|
||||
Cos'è RISO?
|
||||
</h2>
|
||||
|
||||
<div class="content-cards">
|
||||
<q-card
|
||||
class="info-card"
|
||||
flat
|
||||
bordered
|
||||
>
|
||||
<q-card-section class="card-icon-section">
|
||||
<div class="icon-circle">🫂</div>
|
||||
</q-card-section>
|
||||
<q-card-section>
|
||||
<div class="card-title">Una Rete di Comunità</div>
|
||||
<p class="card-text">
|
||||
RISO è una rete di comunità che vuole creare un nuovo mondo, attraverso
|
||||
l'incontro e la condivisione, con il sor<strong>RISO</strong> sulle
|
||||
labbra.
|
||||
</p>
|
||||
</q-card-section>
|
||||
</q-card>
|
||||
|
||||
<q-card
|
||||
class="info-card"
|
||||
flat
|
||||
bordered
|
||||
>
|
||||
<q-card-section class="card-icon-section">
|
||||
<div class="icon-circle">🌾</div>
|
||||
</q-card-section>
|
||||
<q-card-section>
|
||||
<div class="card-title">Simbolo di Vita</div>
|
||||
<p class="card-text">
|
||||
Il RISO è fonte di vita, simbolo del ciclo della vita e del valore della
|
||||
terra. Una delle prime forme di scambio, una moneta basata su uno dei beni
|
||||
più preziosi.
|
||||
</p>
|
||||
</q-card-section>
|
||||
</q-card>
|
||||
|
||||
<q-card
|
||||
class="info-card"
|
||||
flat
|
||||
bordered
|
||||
>
|
||||
<q-card-section class="card-icon-section">
|
||||
<div class="icon-circle">🤝</div>
|
||||
</q-card-section>
|
||||
<q-card-section>
|
||||
<div class="card-title">Decisioni Orizzontali</div>
|
||||
<p class="card-text">
|
||||
Il progetto è orizzontale: ogni decisione viene presa nei territori
|
||||
attraverso la condivisione e la partecipazione.
|
||||
</p>
|
||||
</q-card-section>
|
||||
</q-card>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<!-- Il Sogno Section -->
|
||||
<section class="dream-section">
|
||||
<div class="contain_riso">
|
||||
<div class="dream-content">
|
||||
<div class="dream-text">
|
||||
<h2 class="section-title light">
|
||||
<q-icon
|
||||
name="auto_awesome"
|
||||
size="md"
|
||||
class="title-icon"
|
||||
/>
|
||||
Il Sogno di RISO
|
||||
</h2>
|
||||
<p class="dream-description">
|
||||
Siamo una rete di comunità consapevoli, basata sul sostegno reciproco, la
|
||||
fiducia, la condivisione e l'ascolto. Coltiviamo terreno fertile per creare,
|
||||
in armonia con la natura, un mondo di collettività
|
||||
<strong>libere e autosufficienti</strong>, attraverso un circuito di scambio
|
||||
di esperienze umane, beni e servizi.
|
||||
</p>
|
||||
<div class="dream-highlight">
|
||||
<q-icon
|
||||
name="campaign"
|
||||
size="lg"
|
||||
/>
|
||||
<div>
|
||||
<strong>Partecipa al cambiamento.</strong><br />
|
||||
RISO sei anche tu!
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="dream-image">
|
||||
<q-img
|
||||
src="/images/cerchio_riso.jpg"
|
||||
alt="Comunità RISO"
|
||||
class="rounded-image"
|
||||
ratio="1"
|
||||
/>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<!-- Valori Section -->
|
||||
<section class="values-section">
|
||||
<div class="contain_riso">
|
||||
<h2 class="section-title">
|
||||
<q-icon
|
||||
name="favorite"
|
||||
size="md"
|
||||
class="title-icon"
|
||||
/>
|
||||
I Nostri Valori
|
||||
</h2>
|
||||
|
||||
<div class="values-grid">
|
||||
<div
|
||||
v-for="(value, index) in values"
|
||||
:key="index"
|
||||
class="value-item"
|
||||
>
|
||||
<div class="value-icon">{{ value.icon }}</div>
|
||||
<h3 class="value-title">{{ value.title }}</h3>
|
||||
<p class="value-text">{{ value.text }}</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<!-- Come Funziona Section -->
|
||||
<section class="how-it-works-section">
|
||||
<div class="contain_riso">
|
||||
<h2 class="section-title">
|
||||
<q-icon
|
||||
name="settings"
|
||||
size="md"
|
||||
class="title-icon"
|
||||
/>
|
||||
Come Funziona
|
||||
</h2>
|
||||
|
||||
<div class="steps-timeline">
|
||||
<div
|
||||
v-for="(step, index) in steps"
|
||||
:key="index"
|
||||
class="step-item"
|
||||
>
|
||||
<div class="step-number">{{ index + 1 }}</div>
|
||||
<div class="step-content">
|
||||
<h3 class="step-title">{{ step.title }}</h3>
|
||||
<p class="step-text">{{ step.text }}</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<!-- Video Section - Aggiungi dopo la sezione "How it works" -->
|
||||
<section class="video-section">
|
||||
<div class="container">
|
||||
<h2 class="section-title">
|
||||
<q-icon
|
||||
name="play_circle"
|
||||
size="md"
|
||||
class="title-icon"
|
||||
/>
|
||||
Guarda il Video di Presentazione
|
||||
</h2>
|
||||
|
||||
<div class="video-container">
|
||||
<iframe
|
||||
width="100%"
|
||||
height="100%"
|
||||
src="https://rumble.com/embed/v5opfsn/?pub=46vc7z"
|
||||
title="Video presentazione Progetto RISO"
|
||||
frameborder="0"
|
||||
allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture"
|
||||
allowfullscreen
|
||||
></iframe>
|
||||
</div>
|
||||
|
||||
<p class="video-description">
|
||||
Scopri come funziona il Progetto RISO e come puoi contribuire a creare
|
||||
un'economia più sostenibile e solidale nella tua comunità.
|
||||
</p>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<!-- Comunità Territoriali Section -->
|
||||
<section class="communities-section">
|
||||
<div class="contain_riso">
|
||||
<h2 class="section-title">
|
||||
<q-icon
|
||||
name="groups"
|
||||
size="md"
|
||||
class="title-icon"
|
||||
/>
|
||||
Comunità Territoriali
|
||||
</h2>
|
||||
|
||||
<div class="communities-content">
|
||||
<p class="section-intro">
|
||||
Le colonne portanti di RISO sono le <strong>Comunità Territoriali</strong>.
|
||||
Ogni comunità ha pieno potere decisionale al suo interno, nel rispetto dei
|
||||
principi e delle finalità di RISO.
|
||||
</p>
|
||||
|
||||
<div class="features-grid">
|
||||
<q-card
|
||||
class="feature-card"
|
||||
flat
|
||||
>
|
||||
<q-card-section>
|
||||
<div class="feature-icon">🏘️</div>
|
||||
<div class="feature-title">Autonomia Locale</div>
|
||||
<p class="feature-text">
|
||||
Ogni comunità decide autonomamente, tessendo relazioni con i gruppi del
|
||||
territorio.
|
||||
</p>
|
||||
</q-card-section>
|
||||
</q-card>
|
||||
|
||||
<q-card
|
||||
class="feature-card"
|
||||
flat
|
||||
>
|
||||
<q-card-section>
|
||||
<div class="feature-icon">👥</div>
|
||||
<div class="feature-title">Facilitatori</div>
|
||||
<p class="feature-text">
|
||||
Idealmente servirebbero almeno 3 facilitatori per comunità, scelti dai
|
||||
membri per aiutare nella comunicazione e nel coordinamento.
|
||||
</p>
|
||||
</q-card-section>
|
||||
</q-card>
|
||||
|
||||
<q-card
|
||||
class="feature-card"
|
||||
flat
|
||||
>
|
||||
<q-card-section>
|
||||
<div class="feature-icon">🔗</div>
|
||||
<div class="feature-title">Nodi Regionali</div>
|
||||
<p class="feature-text">
|
||||
I facilitatori regionali supportano le comunità territoriali e
|
||||
condividono iniziative.
|
||||
</p>
|
||||
</q-card-section>
|
||||
</q-card>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<!-- RIS e Scambi Section -->
|
||||
<section class="ris-section">
|
||||
<div class="contain_riso">
|
||||
<h2 class="section-title">
|
||||
<q-icon
|
||||
name="currency_exchange"
|
||||
size="md"
|
||||
class="title-icon"
|
||||
/>
|
||||
I Circuiti di Scambio e il RIS
|
||||
</h2>
|
||||
|
||||
<div class="ris-content">
|
||||
<!-- Card principale cos'è il RIS -->
|
||||
<div class="ris-card-main">
|
||||
<q-card
|
||||
class="ris-info-card"
|
||||
flat
|
||||
bordered
|
||||
>
|
||||
<q-card-section class="ris-header">
|
||||
<div class="ris-icon">💰</div>
|
||||
<h3>Cos'è il RIS?</h3>
|
||||
</q-card-section>
|
||||
<q-card-section>
|
||||
<p class="ris-description">
|
||||
Il <strong>RIS</strong> è l'unità di misura del valore dei beni e
|
||||
servizi per lo scambio tra i membri di una comunità territoriale. È una
|
||||
moneta complementare basata sulla <strong>fiducia reciproca</strong>
|
||||
tra i membri della comunità.
|
||||
</p>
|
||||
<q-separator class="q-my-md" />
|
||||
<div class="ris-features">
|
||||
<div class="ris-feature-item">
|
||||
<q-icon
|
||||
name="check_circle"
|
||||
color="positive"
|
||||
/>
|
||||
<span
|
||||
>Parti da 0 RIS: ricevere = credito (+), offrire = debito (-)</span
|
||||
>
|
||||
</div>
|
||||
<div class="ris-feature-item">
|
||||
<q-icon
|
||||
name="check_circle"
|
||||
color="positive"
|
||||
/>
|
||||
<span>Non si accumula: serve per far circolare beni e servizi</span>
|
||||
</div>
|
||||
<div class="ris-feature-item">
|
||||
<q-icon
|
||||
name="check_circle"
|
||||
color="positive"
|
||||
/>
|
||||
<span>Il bilancio totale della comunità è sempre zero</span>
|
||||
</div>
|
||||
<div class="ris-feature-item">
|
||||
<q-icon
|
||||
name="check_circle"
|
||||
color="positive"
|
||||
/>
|
||||
<span>Puoi combinarlo con Euro, baratto o dono</span>
|
||||
</div>
|
||||
</div>
|
||||
</q-card-section>
|
||||
</q-card>
|
||||
</div>
|
||||
|
||||
<!-- Limiti RIS -->
|
||||
<div class="ris-limits-section">
|
||||
<h3 class="subsection-title">📊 Limiti di Utilizzo</h3>
|
||||
<p class="limits-intro">
|
||||
Per garantire la circolazione equilibrata, esistono dei limiti al saldo RIS
|
||||
che ogni membro può avere:
|
||||
</p>
|
||||
|
||||
<div class="limits-grid">
|
||||
<q-card
|
||||
class="limit-card"
|
||||
flat
|
||||
bordered
|
||||
>
|
||||
<q-card-section>
|
||||
<div class="limit-icon">🏘️</div>
|
||||
<h4 class="limit-title">Circuito Territoriale</h4>
|
||||
<p class="limit-subtitle">(Provincia)</p>
|
||||
<div class="limit-values">
|
||||
<div class="limit-value negative">
|
||||
<div class="limit-label">
|
||||
Fiducia Concessa<br />(Limite negativo)
|
||||
</div>
|
||||
<div class="limit-number">-100 RIS</div>
|
||||
</div>
|
||||
<div class="limit-separator">↔️</div>
|
||||
<div class="limit-value positive">
|
||||
<div class="limit-label">
|
||||
Massimo Accumulo<br />(Limite positivo)
|
||||
</div>
|
||||
<div class="limit-number">+200 RIS</div>
|
||||
</div>
|
||||
</div>
|
||||
</q-card-section>
|
||||
</q-card>
|
||||
|
||||
<q-card
|
||||
class="limit-card"
|
||||
flat
|
||||
bordered
|
||||
>
|
||||
<q-card-section>
|
||||
<div class="limit-icon">🇮🇹</div>
|
||||
<h4 class="limit-title">Circuito Nazionale</h4>
|
||||
<p class="limit-subtitle">(Tutta Italia)</p>
|
||||
<div class="limit-values">
|
||||
<div class="limit-value negative">
|
||||
<div class="limit-label">
|
||||
Fiducia Concessa<br />(Limite negativo)
|
||||
</div>
|
||||
<div class="limit-number">-200 RIS</div>
|
||||
</div>
|
||||
<div class="limit-separator">↔️</div>
|
||||
<div class="limit-value positive">
|
||||
<div class="limit-label">
|
||||
Massimo Accumulo<br />(Limite positivo)
|
||||
</div>
|
||||
<div class="limit-number">+400 RIS</div>
|
||||
</div>
|
||||
</div>
|
||||
</q-card-section>
|
||||
</q-card>
|
||||
</div>
|
||||
|
||||
<q-banner
|
||||
class="limits-note"
|
||||
rounded
|
||||
>
|
||||
<template v-slot:avatar>
|
||||
<q-icon
|
||||
name="info"
|
||||
color="primary"
|
||||
/>
|
||||
</template>
|
||||
I limiti servono a evitare accumulo eccessivo e garantire che i RIS
|
||||
circolino continuamente nella comunità, mantenendo il bilancio totale a
|
||||
zero. Ogni comunita territoriale provinciale può decidere
|
||||
<strong>autonomamente di modificare</strong> i limiti all'occorrenza.
|
||||
</q-banner>
|
||||
</div>
|
||||
|
||||
<!-- Esempio 1: Scambio circolare -->
|
||||
<div class="example-section">
|
||||
<h3 class="subsection-title">🔄 Esempio 1: Scambio Circolare</h3>
|
||||
<p class="example-intro">
|
||||
Vediamo come funzionano gli scambi in RIS con 3 persone che offrono e
|
||||
ricevono servizi dello stesso valore (10 RIS):
|
||||
</p>
|
||||
|
||||
<q-card
|
||||
class="example-card"
|
||||
flat
|
||||
bordered
|
||||
>
|
||||
<q-card-section>
|
||||
<div class="example-steps">
|
||||
<!-- Step 1 -->
|
||||
<div class="example-step">
|
||||
<div class="step-header">
|
||||
<div class="step-badge">1</div>
|
||||
<div class="step-title">
|
||||
Mario riceve verdure da Laura e le invia 10 RIS (va a -10)
|
||||
</div>
|
||||
</div>
|
||||
<div class="step-content">
|
||||
<div class="transaction">
|
||||
<div class="person">
|
||||
<div class="person-name">👨 Mario</div>
|
||||
<div class="balance negative">-10 RIS</div>
|
||||
<div class="balance-detail">(0 -10) = -10</div>
|
||||
</div>
|
||||
<div class="arrow">→</div>
|
||||
<div class="person">
|
||||
<div class="person-name">👩 Laura</div>
|
||||
<div class="balance positive">+10 RIS</div>
|
||||
<div class="balance-detail">(0 +10) = +10</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<q-separator class="q-my-md" />
|
||||
|
||||
<!-- Step 2 -->
|
||||
<div class="example-step">
|
||||
<div class="step-header">
|
||||
<div class="step-badge">2</div>
|
||||
<div class="step-title">
|
||||
Laura si fa riparare la bici da Paolo e gli invia 10 RIS, Laura
|
||||
torna così a zero.
|
||||
</div>
|
||||
</div>
|
||||
<div class="step-content">
|
||||
<div class="transaction">
|
||||
<div class="person">
|
||||
<div class="person-name">👩 Laura</div>
|
||||
<div class="balance neutral">0 RIS</div>
|
||||
<div class="balance-detail">(+10 -10) = 0</div>
|
||||
</div>
|
||||
<div class="arrow">→</div>
|
||||
<div class="person">
|
||||
<div class="person-name">👨 Paolo</div>
|
||||
<div class="balance positive">+10 RIS</div>
|
||||
<div class="balance-detail">(+10 -10) = 0</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<q-separator class="q-my-md" />
|
||||
|
||||
<!-- Step 3 -->
|
||||
<div class="example-step">
|
||||
<div class="step-header">
|
||||
<div class="step-badge">3</div>
|
||||
<div class="step-title">
|
||||
Paolo riceve del miele da Mario e gli invia 10 RIS.
|
||||
</div>
|
||||
</div>
|
||||
<div class="step-content">
|
||||
<div class="transaction">
|
||||
<div class="person">
|
||||
<div class="person-name">👨 Paolo</div>
|
||||
<div class="balance neutral">0 RIS</div>
|
||||
<div class="balance-detail">(+10 -10) = 0</div>
|
||||
</div>
|
||||
<div class="arrow">→</div>
|
||||
<div class="person">
|
||||
<div class="person-name">👨 Mario</div>
|
||||
<div class="balance neutral">0 RIS</div>
|
||||
<div class="balance-detail">(-10 +10) = 0</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- Risultato finale -->
|
||||
<q-banner
|
||||
class="example-result"
|
||||
rounded
|
||||
>
|
||||
<template v-slot:avatar>
|
||||
<q-icon
|
||||
name="check_circle"
|
||||
color="positive"
|
||||
size="lg"
|
||||
/>
|
||||
</template>
|
||||
<div class="result-content">
|
||||
<strong>Risultato finale:</strong> Tutti e tre tornano a
|
||||
<strong>0 RIS</strong>, ma ciascuno ha ricevuto e offerto qualcosa
|
||||
di valore! Il bilancio totale della comunità rimane sempre zero.
|
||||
</div>
|
||||
</q-banner>
|
||||
</div>
|
||||
</q-card-section>
|
||||
</q-card>
|
||||
</div>
|
||||
|
||||
<!-- Esempio 2: Scambio misto -->
|
||||
<div class="example-section">
|
||||
<h3 class="subsection-title">💶 Esempio 2: Scambio Misto (RIS + Euro)</h3>
|
||||
<p class="example-intro">
|
||||
Puoi combinare RIS con Euro nella stessa transazione per ridurre
|
||||
gradualmente la dipendenza dalla moneta tradizionale:
|
||||
</p>
|
||||
|
||||
<q-card
|
||||
class="example-card mixed"
|
||||
flat
|
||||
bordered
|
||||
>
|
||||
<q-card-section>
|
||||
<div class="mixed-example">
|
||||
<div class="scenario">
|
||||
<div class="scenario-title">
|
||||
🥬 Scenario: Cassetta di verdure settimanale
|
||||
</div>
|
||||
<div class="scenario-desc">Valore totale: <strong>20€</strong></div>
|
||||
</div>
|
||||
|
||||
<div class="mixed-options">
|
||||
<!-- Opzione 1: Solo Euro -->
|
||||
<div class="option">
|
||||
<div class="option-label">❌ Economia tradizionale</div>
|
||||
<div class="option-detail">
|
||||
<div class="payment-item">100% Euro = <strong>20€</strong></div>
|
||||
<div class="payment-item ris">
|
||||
0% RIS = <strong>0 RIS</strong>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="option-divider">VS</div>
|
||||
|
||||
<!-- Opzione 2: Misto -->
|
||||
<div class="option highlighted">
|
||||
<div class="option-label">✅ Scambio RISO</div>
|
||||
<div class="option-detail">
|
||||
<div class="payment-item">80% Euro = <strong>16€</strong></div>
|
||||
<div class="payment-item ris">
|
||||
20% RIS = <strong>4 RIS</strong>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<q-banner
|
||||
class="mixed-benefit"
|
||||
rounded
|
||||
>
|
||||
<template v-slot:avatar>
|
||||
<q-icon
|
||||
name="trending_down"
|
||||
color="positive"
|
||||
size="lg"
|
||||
/>
|
||||
</template>
|
||||
<div class="benefit-content">
|
||||
<strong>Beneficio:</strong> Hai ridotto del 20% l'uso degli Euro,
|
||||
sostenendo il produttore locale e rafforzando la comunità! Puoi
|
||||
iniziare con percentuali basse (5-10%) e aumentare gradualmente man
|
||||
mano che la fiducia nella comunità cresce.
|
||||
</div>
|
||||
</q-banner>
|
||||
</div>
|
||||
</q-card-section>
|
||||
</q-card>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<!-- CTA Section -->
|
||||
<section
|
||||
id="registrazione"
|
||||
class="cta-section"
|
||||
>
|
||||
<div class="contain_riso">
|
||||
<div class="cta-content">
|
||||
<h2 class="cta-title">Pronto a Fare Parte del Cambiamento?</h2>
|
||||
<p class="cta-subtitle">
|
||||
Unisciti alla comunità RISO e inizia a scambiare in modo sostenibile e
|
||||
solidale
|
||||
</p>
|
||||
|
||||
<div class="cta-buttons">
|
||||
<q-btn
|
||||
label="Registrati a RISO"
|
||||
:size="$q.platform.is.mobile ? 'lg' : 'xl'"
|
||||
color="primary"
|
||||
rounded
|
||||
unelevated
|
||||
icon="person_add"
|
||||
class="cta-main-button"
|
||||
@click="goToApp"
|
||||
/>
|
||||
</div>
|
||||
|
||||
<!-- Info App -->
|
||||
<div class="app-features">
|
||||
<div class="feature-badge">
|
||||
<q-icon
|
||||
name="devices"
|
||||
size="md"
|
||||
/>
|
||||
<div class="cta-feature-text">
|
||||
<strong>Multi-piattaforma</strong>
|
||||
<span>Chrome, Firefox, Safari, Android, iPhone, PC</span>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="feature-badge">
|
||||
<q-icon
|
||||
name="download"
|
||||
size="md"
|
||||
/>
|
||||
<div class="cta-feature-text">
|
||||
<strong>Installazione facile</strong>
|
||||
<span>Senza passare dallo store, direttamente da riso.app</span>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="feature-badge">
|
||||
<q-icon
|
||||
name="volunteer_activism"
|
||||
size="md"
|
||||
/>
|
||||
<div class="cta-feature-text">
|
||||
<strong>100% Gratuita</strong>
|
||||
<span>Open Source, nessuna pubblicità</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<!-- Footer -->
|
||||
<footer class="riso-footer">
|
||||
<div class="contain_riso">
|
||||
<div class="footer-content">
|
||||
<div class="footer-section">
|
||||
<h4>Link Utili</h4>
|
||||
<ul class="footer-links">
|
||||
<li><a @click="scrollToAbout">Cos'è RISO</a></li>
|
||||
<li>
|
||||
<a
|
||||
href="https://t.me/+pZ40VpmL1NhkZjE0"
|
||||
target="_blank"
|
||||
>
|
||||
🟢 Canale pubblico - PROGETTO RISO
|
||||
</a>
|
||||
</li>
|
||||
<li>
|
||||
<a
|
||||
href="https://t.me/c/1565097581/3"
|
||||
target="_blank"
|
||||
>
|
||||
🔵 Gruppi territoriali - ELENCO
|
||||
</a>
|
||||
</li>
|
||||
<li>
|
||||
<a
|
||||
href="https://riso.app/riso_gruppo"
|
||||
target="_blank"
|
||||
>
|
||||
🟠 Gruppo nazionale - RISO Italia
|
||||
</a>
|
||||
</li>
|
||||
<li>
|
||||
<a
|
||||
href="https://sicrenacc.info/"
|
||||
target="_blank"
|
||||
>
|
||||
Si.cre.na.C.C - Sistema di Credito Naturale
|
||||
</a>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="footer-section">
|
||||
<h4>Menu</h4>
|
||||
<ul>
|
||||
<template
|
||||
v-for="(myitemmenu, ind) in static_data.routes"
|
||||
:key="ind"
|
||||
>
|
||||
<li v-if="myitemmenu.infooter && tools.visumenu(myitemmenu) && !myitemmenu.solotitle">
|
||||
<router-link
|
||||
:to="myitemmenu.path"
|
||||
custom
|
||||
v-slot="{ navigate }"
|
||||
>
|
||||
<span
|
||||
class="footer_link"
|
||||
@click="navigate"
|
||||
@keypress.enter="navigate"
|
||||
role="link"
|
||||
>
|
||||
<span v-if="myitemmenu.level_child > 0"> </span>
|
||||
{{ tools.getLabelByItem(myitemmenu) }}
|
||||
</span>
|
||||
</router-link>
|
||||
</li>
|
||||
</template>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="footer-section">
|
||||
<h4>Contatti</h4>
|
||||
<ul class="footer-links">
|
||||
<li>
|
||||
👴
|
||||
<q-icon
|
||||
name="telegram"
|
||||
color="light-blue-7"
|
||||
size="18px"
|
||||
style="vertical-align: middle; margin-right: 4px"
|
||||
/>
|
||||
<a href="https://t.me/surya1977">Surya</a>
|
||||
</li>
|
||||
<li>
|
||||
👩
|
||||
<q-icon
|
||||
name="telegram"
|
||||
color="light-blue-7"
|
||||
size="18px"
|
||||
style="vertical-align: middle; margin-right: 4px"
|
||||
/>
|
||||
<a href="https://t.me/ElenaEspx">Elena</a>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<q-separator class="footer-separator" />
|
||||
|
||||
<div class="footer-bottom">
|
||||
<p>{{ currentYear }} RISO - Rete Italiana Scambi orizzontali</p>
|
||||
<p class="footer-values">
|
||||
Comunità · Fiducia · Scambi Solidali · Sostenibilità
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
</footer>
|
||||
|
||||
<!-- Floating Action Button per tornare su -->
|
||||
<q-page-sticky
|
||||
position="bottom-right"
|
||||
:offset="[18, 18]"
|
||||
>
|
||||
<q-btn
|
||||
v-show="showScrollTop"
|
||||
fab
|
||||
icon="keyboard_arrow_up"
|
||||
color="primary"
|
||||
@click="scrollToTop"
|
||||
/>
|
||||
</q-page-sticky>
|
||||
</q-page>
|
||||
</template>
|
||||
<script lang="ts" src="./HomeRiso.ts"></script>
|
||||
<style lang="scss" scoped>
|
||||
@import './HomeRiso.scss';
|
||||
</style>
|
||||
@@ -1627,4 +1627,155 @@ $text-light: #666; // Grigio medio
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// ==========================================
|
||||
// UPCOMING FEATURES SECTION
|
||||
// ==========================================
|
||||
.upcoming-features-section {
|
||||
padding: 80px 20px;
|
||||
background: linear-gradient(135deg, #f8f9fa 0%, #e9ecef 100%);
|
||||
position: relative;
|
||||
overflow: hidden;
|
||||
|
||||
&::before {
|
||||
content: '';
|
||||
position: absolute;
|
||||
top: 0;
|
||||
left: 0;
|
||||
right: 0;
|
||||
height: 4px;
|
||||
background: linear-gradient(90deg,
|
||||
var(--q-primary) 0%,
|
||||
var(--q-secondary) 50%,
|
||||
var(--q-primary) 100%);
|
||||
}
|
||||
}
|
||||
|
||||
.features-grid {
|
||||
display: grid;
|
||||
grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
|
||||
gap: 30px;
|
||||
margin-top: 40px;
|
||||
}
|
||||
|
||||
.feature-card {
|
||||
background: rgba(255, 255, 255, 0.9);
|
||||
backdrop-filter: blur(10px);
|
||||
border-radius: 20px;
|
||||
padding: 40px 30px;
|
||||
text-align: center;
|
||||
box-shadow: 0 8px 32px rgba(0, 0, 0, 0.1);
|
||||
border: 1px solid rgba(255, 255, 255, 0.5);
|
||||
transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
|
||||
position: relative;
|
||||
overflow: hidden;
|
||||
|
||||
&::before {
|
||||
content: '';
|
||||
position: absolute;
|
||||
top: 0;
|
||||
left: 0;
|
||||
right: 0;
|
||||
height: 3px;
|
||||
background: linear-gradient(90deg, var(--q-primary), var(--q-secondary));
|
||||
transform: scaleX(0);
|
||||
transition: transform 0.4s ease;
|
||||
}
|
||||
|
||||
&:hover {
|
||||
transform: translateY(-10px);
|
||||
box-shadow: 0 16px 48px rgba(0, 0, 0, 0.15);
|
||||
|
||||
&::before {
|
||||
transform: scaleX(1);
|
||||
}
|
||||
|
||||
.feature-icon {
|
||||
transform: scale(1.2) rotate(5deg);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.feature-icon {
|
||||
font-size: 4rem;
|
||||
margin-bottom: 20px;
|
||||
transition: transform 0.4s ease;
|
||||
filter: drop-shadow(0 4px 8px rgba(0, 0, 0, 0.1));
|
||||
}
|
||||
|
||||
.feature-title {
|
||||
font-size: 1.5rem;
|
||||
font-weight: 700;
|
||||
color: var(--q-primary);
|
||||
margin-bottom: 15px;
|
||||
}
|
||||
|
||||
.feature-description {
|
||||
font-size: 1rem;
|
||||
line-height: 1.6;
|
||||
color: #555;
|
||||
margin-bottom: 20px;
|
||||
}
|
||||
|
||||
.feature-status {
|
||||
margin-top: 20px;
|
||||
|
||||
.q-badge {
|
||||
padding: 8px 16px;
|
||||
font-size: 0.85rem;
|
||||
border-radius: 20px;
|
||||
}
|
||||
}
|
||||
|
||||
.update-notice {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
gap: 15px;
|
||||
margin-top: 50px;
|
||||
padding: 20px 30px;
|
||||
background: rgba(255, 255, 255, 0.8);
|
||||
backdrop-filter: blur(10px);
|
||||
border-radius: 15px;
|
||||
border-left: 4px solid var(--q-primary);
|
||||
box-shadow: 0 4px 16px rgba(0, 0, 0, 0.08);
|
||||
|
||||
.q-icon {
|
||||
color: var(--q-primary);
|
||||
flex-shrink: 0;
|
||||
}
|
||||
|
||||
span {
|
||||
font-size: 1rem;
|
||||
color: #555;
|
||||
line-height: 1.5;
|
||||
}
|
||||
}
|
||||
|
||||
// ==========================================
|
||||
// RESPONSIVE
|
||||
// ==========================================
|
||||
@media (max-width: 768px) {
|
||||
.upcoming-features-section {
|
||||
padding: 60px 20px;
|
||||
}
|
||||
|
||||
.features-grid {
|
||||
grid-template-columns: 1fr;
|
||||
gap: 20px;
|
||||
}
|
||||
|
||||
.feature-card {
|
||||
padding: 30px 20px;
|
||||
}
|
||||
|
||||
.feature-icon {
|
||||
font-size: 3rem;
|
||||
}
|
||||
|
||||
.update-notice {
|
||||
flex-direction: column;
|
||||
text-align: center;
|
||||
padding: 20px;
|
||||
}
|
||||
}
|
||||
@@ -4,11 +4,10 @@ import { useRouter } from 'vue-router';
|
||||
import { tools } from '@tools';
|
||||
import { useGlobalStore } from 'app/src/store';
|
||||
|
||||
import { static_data } from '@src/db/static_data'
|
||||
import { static_data } from '@src/db/static_data';
|
||||
|
||||
import { CCheckAppRunning } from '@src/components/CCheckAppRunning';
|
||||
|
||||
|
||||
// ==========================================
|
||||
// TYPES
|
||||
// ==========================================
|
||||
@@ -27,6 +26,13 @@ interface HeroImage {
|
||||
src: string;
|
||||
alt: string;
|
||||
}
|
||||
|
||||
interface UpcomingFeature {
|
||||
icon: string;
|
||||
title: string;
|
||||
description: string;
|
||||
}
|
||||
|
||||
// ==========================================
|
||||
// COMPONENT
|
||||
// ==========================================
|
||||
@@ -40,7 +46,7 @@ export default defineComponent({
|
||||
// ==========================================
|
||||
const router = useRouter();
|
||||
|
||||
const globalStore = useGlobalStore()
|
||||
const globalStore = useGlobalStore();
|
||||
|
||||
// ==========================================
|
||||
// STATE
|
||||
@@ -52,16 +58,16 @@ export default defineComponent({
|
||||
const heroImages = ref<HeroImage[]>([
|
||||
{
|
||||
src: '/images/hero/cerchio_riso.jpg',
|
||||
alt: 'Comunità RISO che si incontra'
|
||||
alt: 'Comunità RISO che si incontra',
|
||||
},
|
||||
{
|
||||
src: '/images/hero/mercatino_riso.jpg',
|
||||
alt: 'Utilizzo della App RISO'
|
||||
alt: 'Utilizzo della App RISO',
|
||||
},
|
||||
{
|
||||
src: '/images/hero/riso_home_app.png',
|
||||
alt: 'App di RISO'
|
||||
}
|
||||
alt: 'App di RISO',
|
||||
},
|
||||
]);
|
||||
|
||||
const values = ref<Value[]>([
|
||||
@@ -112,7 +118,22 @@ export default defineComponent({
|
||||
},
|
||||
{
|
||||
title: 'Usa i RIS',
|
||||
text: 'Scambia in RIS, anche parzialmente: puoi combinare RIS con Euro, baratto o dono nella stessa transazione. Parti da 0 RIS: quando ricevi vai in positivo, quando invii vai in negativo. Più usi i RIS, meno dipendi dall\'economia tradizionale.'
|
||||
text: "Scambia in RIS, anche parzialmente: puoi combinare RIS con Euro, baratto o dono nella stessa transazione. Parti da 0 RIS: quando ricevi vai in positivo, quando invii vai in negativo. Più usi i RIS, meno dipendi dall'economia tradizionale.",
|
||||
},
|
||||
]);
|
||||
|
||||
const upcomingFeatures = ref<UpcomingFeature[]>([
|
||||
{
|
||||
icon: '🚗',
|
||||
title: 'Viaggi e Trasporti',
|
||||
description:
|
||||
'Condividi viaggi con altri membri della comunità, trasporta oggetti o animali in modo collaborativo. Risparmia, riduci le emissioni e crea nuove connessioni.',
|
||||
},
|
||||
{
|
||||
icon: '🛒',
|
||||
title: 'Gruppi di Acquisto',
|
||||
description:
|
||||
'Gestisci ordini collettivi, consegne e pagamenti con il tuo gruppo. Novità: pagamenti misti Euro/RIS per massima flessibilità negli acquisti di gruppo.',
|
||||
},
|
||||
]);
|
||||
|
||||
@@ -148,7 +169,10 @@ export default defineComponent({
|
||||
const goToApp = (): void => {
|
||||
router.push('/registrati');
|
||||
};
|
||||
const goToHome= (): void => {
|
||||
const goToLogin = (): void => {
|
||||
globalStore.rightDrawerOpen = true;
|
||||
};
|
||||
const goToHome = (): void => {
|
||||
router.push('/');
|
||||
};
|
||||
|
||||
@@ -156,7 +180,7 @@ export default defineComponent({
|
||||
showScrollTop.value = window.scrollY > 300;
|
||||
};
|
||||
|
||||
// Slideshow automatico
|
||||
// Slideshow automatico
|
||||
let slideInterval: ReturnType<typeof setInterval> | null = null;
|
||||
|
||||
const startSlideshow = (): void => {
|
||||
@@ -215,6 +239,8 @@ export default defineComponent({
|
||||
globalStore,
|
||||
goToHome,
|
||||
static_data,
|
||||
upcomingFeatures,
|
||||
goToLogin,
|
||||
};
|
||||
},
|
||||
});
|
||||
|
||||
@@ -42,7 +42,7 @@
|
||||
</h1>
|
||||
|
||||
<h2 class="hero-subtitle animate-fade-in-delay">
|
||||
Rete Italiana Scambi orizzontali
|
||||
Rete Italiana Scambio orizzontale
|
||||
</h2>
|
||||
|
||||
<p class="hero-description animate-fade-in-delay-2">
|
||||
@@ -52,7 +52,7 @@
|
||||
|
||||
<div class="hero-actions animate-fade-in-delay-3">
|
||||
<q-btn
|
||||
v-if="!tools.isLogged()"
|
||||
v-if="!tools.isLogged() && !tools.lastUserLogged()"
|
||||
label="Unisciti a RISO"
|
||||
:size="$q.platform.is.mobile ? 'lg' : 'xl'"
|
||||
color="primary"
|
||||
@@ -62,13 +62,23 @@
|
||||
@click="scrollToRegistrazione"
|
||||
/>
|
||||
<q-btn
|
||||
v-else
|
||||
v-else-if="!tools.isLogged() && tools.lastUserLogged()"
|
||||
label="ACCEDI"
|
||||
:size="$q.platform.is.mobile ? 'lg' : 'xl'"
|
||||
color="primary"
|
||||
rounded
|
||||
unelevated
|
||||
class="cta-button"
|
||||
@click="goToLogin"
|
||||
/>
|
||||
<q-btn
|
||||
v-else
|
||||
label="Vai alla Home"
|
||||
:size="$q.platform.is.mobile ? 'lg' : 'xl'"
|
||||
color="primary"
|
||||
rounded
|
||||
unelevated
|
||||
class="cta-button"
|
||||
@click="goToHome"
|
||||
/>
|
||||
|
||||
@@ -309,8 +319,8 @@
|
||||
<q-card-section>
|
||||
<p class="ris-description">
|
||||
Il <strong>RIS</strong> è l'unità di misura del valore dei beni e
|
||||
servizi per lo scambio tra i membri di una comunità territoriale. È uno strumento di scambio
|
||||
basato sulla <strong>fiducia reciproca</strong> tra
|
||||
servizi per lo scambio tra i membri di una comunità territoriale. È uno
|
||||
strumento di scambio basato sulla <strong>fiducia reciproca</strong> tra
|
||||
i membri della comunità.<br />
|
||||
</p>
|
||||
<q-separator class="q-my-md" />
|
||||
@@ -697,7 +707,49 @@
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<!-- ========================================== -->
|
||||
<!-- PROSSIME FUNZIONALITÀ -->
|
||||
<!-- ========================================== -->
|
||||
<section class="upcoming-features-section">
|
||||
<div class="container">
|
||||
<div class="section-header">
|
||||
<h2 class="section-title">🚀 Prossime Funzionalità</h2>
|
||||
<p class="section-subtitle">
|
||||
RISO si evolve continuamente per offrire nuovi servizi alla comunità
|
||||
</p>
|
||||
</div>
|
||||
|
||||
<div class="features-grid">
|
||||
<div
|
||||
v-for="(feature, index) in upcomingFeatures"
|
||||
:key="index"
|
||||
class="feature-card"
|
||||
>
|
||||
<div class="feature-icon">{{ feature.icon }}</div>
|
||||
<h3 class="feature-title">{{ feature.title }}</h3>
|
||||
<p class="feature-description">{{ feature.description }}</p>
|
||||
<div class="feature-status">
|
||||
<q-badge
|
||||
color="orange"
|
||||
label="In sviluppo"
|
||||
/>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="update-notice">
|
||||
<q-icon
|
||||
name="info"
|
||||
size="24px"
|
||||
/>
|
||||
<span
|
||||
>La piattaforma viene costantemente aggiornata con nuove funzionalità basate
|
||||
sui bisogni della comunità</span
|
||||
>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
@@ -807,7 +859,7 @@
|
||||
<q-separator class="footer-separator" />
|
||||
|
||||
<div class="footer-bottom">
|
||||
<p>(dal 2021) RISO - Rete Italiana Scambi orizzontali</p>
|
||||
<p>(dal 2021) RISO - Rete Italiana Scambio orizzontale</p>
|
||||
<p class="footer-values">
|
||||
Comunità · Fiducia · Scambi Solidali · Sostenibilità
|
||||
</p>
|
||||
|
||||
415
src/css/app.scss
415
src/css/app.scss
@@ -16,9 +16,9 @@ body,
|
||||
.q-page {
|
||||
max-width: 100%;
|
||||
overflow-x: hidden;
|
||||
|
||||
/* evita barre X su page container */
|
||||
@media (max-width: 600px) {
|
||||
}
|
||||
@media (max-width: 600px) {}
|
||||
}
|
||||
|
||||
|
||||
@@ -32,33 +32,38 @@ $heading-primary-line-height: 1.3;
|
||||
h1 {
|
||||
// Font size fluido e responsive
|
||||
font-size: clamp($heading-primary-size-mobile, 4vw, $heading-primary-size-desktop);
|
||||
|
||||
|
||||
// Typography
|
||||
font-weight: $heading-primary-weight;
|
||||
letter-spacing: $heading-primary-letter-spacing;
|
||||
line-height: $heading-primary-line-height;
|
||||
|
||||
|
||||
// Migliora la leggibilità
|
||||
color: var(--q-primary, #1976d2);
|
||||
|
||||
|
||||
// Anti-aliasing per rendering più pulito
|
||||
-webkit-font-smoothing: antialiased;
|
||||
-moz-osx-font-smoothing: grayscale;
|
||||
|
||||
|
||||
// Spacing opzionale
|
||||
margin-bottom: 1rem;
|
||||
|
||||
|
||||
// Transizione smooth per dark mode
|
||||
transition: color 0.3s ease;
|
||||
}
|
||||
|
||||
body {
|
||||
font-family: Söhne, ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, Ubuntu, Cantarell, "Noto Sans", sans-serif, "Helvetica Neue", Arial, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
|
||||
font-family: 'Segoe UI', Söhne, ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, Ubuntu, Cantarell, "Noto Sans", sans-serif, "Helvetica Neue", Arial, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
|
||||
-webkit-font-smoothing: antialiased;
|
||||
-moz-osx-font-smoothing: grayscale;
|
||||
color: #333333;
|
||||
line-height: 1.5;
|
||||
color: #2c3e50;
|
||||
line-height: 1.7;
|
||||
/*background: linear-gradient(135deg, #f5f7fa 0%, #f3fff2 100%);*/
|
||||
|
||||
//font-size: 1rem;
|
||||
@media (max-width: 600px) {
|
||||
line-height: 1.5;
|
||||
}
|
||||
}
|
||||
|
||||
.text-mycol {
|
||||
@@ -78,25 +83,29 @@ p {
|
||||
margin: 0 0 8px;
|
||||
}
|
||||
|
||||
// Liste più universali e flessibili
|
||||
ul {
|
||||
list-style: none;
|
||||
padding: 0;
|
||||
}
|
||||
|
||||
ul li::before {
|
||||
content: '\2713';
|
||||
color: red;
|
||||
display: inline-block;
|
||||
width: 1em;
|
||||
margin-left: 20px;
|
||||
// Lista di default con checkmark
|
||||
&:not(.q-list) li {
|
||||
list-style: none;
|
||||
|
||||
@media (max-width: 600px) {
|
||||
margin-left: 5px;
|
||||
&::before {
|
||||
content: '\2713';
|
||||
color: #667eea;
|
||||
display: inline-block;
|
||||
width: 1em;
|
||||
|
||||
@media (max-width: 600px) {
|
||||
margin-left: 5px;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
ol li::before {
|
||||
color: red;
|
||||
color: #667eea;
|
||||
display: inline-block;
|
||||
width: 1em;
|
||||
margin-left: 20px;
|
||||
@@ -107,8 +116,8 @@ ol li::before {
|
||||
}
|
||||
|
||||
li {
|
||||
/*color: #2f2c8b;*/
|
||||
font-size: 18px;
|
||||
line-height: 1.7;
|
||||
|
||||
@media (max-width: 600px) {
|
||||
font-size: 1rem;
|
||||
@@ -2872,7 +2881,10 @@ body.body--dark {
|
||||
opacity: 0.6;
|
||||
}
|
||||
}
|
||||
#q-app, .q-page, .q-page-container {
|
||||
|
||||
#q-app,
|
||||
.q-page,
|
||||
.q-page-container {
|
||||
word-break: break-word;
|
||||
overflow-wrap: anywhere;
|
||||
}
|
||||
@@ -2898,4 +2910,361 @@ body.body--dark {
|
||||
.row.no-wrap {
|
||||
min-width: fit-content; // permette alla riga di espandersi oltre il container
|
||||
flex-wrap: nowrap !important;
|
||||
}
|
||||
|
||||
/// ========================================
|
||||
// GUIDA RISO COMPLETA
|
||||
// ========================================
|
||||
|
||||
// Animazione floating
|
||||
@keyframes float {
|
||||
|
||||
0%,
|
||||
100% {
|
||||
transform: translateY(0px) rotate(0deg);
|
||||
}
|
||||
|
||||
50% {
|
||||
transform: translateY(-20px) rotate(5deg);
|
||||
}
|
||||
}
|
||||
|
||||
// Header principale
|
||||
.header {
|
||||
background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
|
||||
color: white;
|
||||
padding: 60px 40px;
|
||||
border-radius: 20px;
|
||||
margin-bottom: 40px;
|
||||
box-shadow: 0 20px 60px rgba(0, 0, 0, 0.15);
|
||||
text-align: center;
|
||||
position: relative;
|
||||
overflow: hidden;
|
||||
|
||||
@media (max-width: 768px) {
|
||||
padding: 16px 10px;
|
||||
margin-bottom: 10px;
|
||||
}
|
||||
|
||||
&::before {
|
||||
content: '🌾';
|
||||
position: absolute;
|
||||
font-size: 200px;
|
||||
opacity: 0.1;
|
||||
top: -50px;
|
||||
right: -50px;
|
||||
animation: float 6s ease-in-out infinite;
|
||||
}
|
||||
|
||||
h1 {
|
||||
font-size: 3em !important;
|
||||
margin-bottom: 10px !important;
|
||||
text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.2);
|
||||
color: white !important;
|
||||
position: relative;
|
||||
|
||||
@media (max-width: 768px) {
|
||||
font-size: 2em !important;
|
||||
}
|
||||
}
|
||||
|
||||
.subtitle {
|
||||
font-size: 1.3em;
|
||||
opacity: 0.95;
|
||||
position: relative;
|
||||
|
||||
@media (max-width: 768px) {
|
||||
font-size: 1.1em;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// Sezioni contenuto
|
||||
.section {
|
||||
background: white;
|
||||
padding: 40px;
|
||||
margin-bottom: 30px;
|
||||
border-radius: 15px;
|
||||
box-shadow: 0 10px 30px rgba(0, 0, 0, 0.1);
|
||||
transition: transform 0.3s ease, box-shadow 0.3s ease;
|
||||
|
||||
&:hover {
|
||||
transform: translateY(-5px);
|
||||
box-shadow: 0 15px 40px rgba(0, 0, 0, 0.15);
|
||||
}
|
||||
|
||||
p {
|
||||
margin-bottom: 15px;
|
||||
text-align: justify;
|
||||
}
|
||||
|
||||
@media (max-width: 768px) {
|
||||
padding: 8px;
|
||||
margin-bottom: 8px;
|
||||
}
|
||||
}
|
||||
|
||||
// Header delle sezioni
|
||||
.section-header {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
margin-bottom: 25px;
|
||||
padding-bottom: 15px;
|
||||
border-bottom: 3px solid #667eea;
|
||||
}
|
||||
|
||||
.section-icon {
|
||||
font-size: 2.5em;
|
||||
margin-right: 15px;
|
||||
background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
|
||||
-webkit-background-clip: text;
|
||||
-webkit-text-fill-color: transparent;
|
||||
background-clip: text;
|
||||
}
|
||||
|
||||
.section-title {
|
||||
font-size: 1.8em !important;
|
||||
color: #667eea !important;
|
||||
font-weight: 700 !important;
|
||||
margin: 0 !important;
|
||||
|
||||
@media (max-width: 768px) {
|
||||
font-size: 1.4em !important;
|
||||
}
|
||||
}
|
||||
|
||||
.section-subtitle {
|
||||
font-size: 1.4em !important;
|
||||
color: #764ba2 !important;
|
||||
margin-bottom: 15px;
|
||||
font-weight: 600;
|
||||
}
|
||||
|
||||
// Box evidenziato (rosa)
|
||||
.highlight-box {
|
||||
background: linear-gradient(135deg, #f093fb 0%, #f5576c 100%);
|
||||
color: white;
|
||||
padding: 30px;
|
||||
border-radius: 15px;
|
||||
margin: 30px 0;
|
||||
box-shadow: 0 10px 25px rgba(240, 147, 251, 0.3);
|
||||
|
||||
@media (max-width: 768px) {
|
||||
padding: 6px 8px;
|
||||
margin: 6px 0;
|
||||
}
|
||||
|
||||
h3 {
|
||||
font-size: 1.6em;
|
||||
margin-bottom: 15px;
|
||||
text-shadow: 1px 1px 2px rgba(0, 0, 0, 0.2);
|
||||
color: white !important;
|
||||
}
|
||||
|
||||
p {
|
||||
font-size: 1.1em;
|
||||
line-height: 1.8;
|
||||
color: white !important;
|
||||
}
|
||||
}
|
||||
|
||||
// Box sogno (azzurro/rosa)
|
||||
.dream-box {
|
||||
background: linear-gradient(135deg, #a8edea 0%, #fed6e3 100%);
|
||||
padding: 30px;
|
||||
border-radius: 15px;
|
||||
margin: 25px 0;
|
||||
border-left: 5px solid #667eea;
|
||||
|
||||
@media (max-width: 768px) {
|
||||
padding: 6px 8px;
|
||||
margin: 6px 0;
|
||||
}
|
||||
|
||||
h3 {
|
||||
color: #667eea !important;
|
||||
font-size: 1.5em;
|
||||
margin-bottom: 15px;
|
||||
}
|
||||
|
||||
p {
|
||||
line-height: 1.7;
|
||||
}
|
||||
}
|
||||
|
||||
// Lista facilitatori
|
||||
.facilitator-list {
|
||||
background: #f8f9fa;
|
||||
padding: 25px;
|
||||
border-radius: 10px;
|
||||
margin: 20px 0;
|
||||
|
||||
@media (max-width: 768px) {
|
||||
padding: 8px;
|
||||
margin: 0;
|
||||
}
|
||||
|
||||
h4 {
|
||||
color: #764ba2 !important;
|
||||
margin-bottom: 15px;
|
||||
line-height: 1.5rem;
|
||||
font-size: 1.2em;
|
||||
|
||||
@media (max-width: 768px) {
|
||||
margin-bottom: 8px;
|
||||
}
|
||||
}
|
||||
|
||||
ul {
|
||||
list-style: none;
|
||||
padding-left: 0;
|
||||
}
|
||||
|
||||
li {
|
||||
padding: 10px 0 10px 35px;
|
||||
position: relative;
|
||||
border-bottom: 1px solid #e0e0e0;
|
||||
|
||||
&:last-child {
|
||||
border-bottom: none;
|
||||
}
|
||||
|
||||
&::before {
|
||||
content: '✓';
|
||||
position: absolute;
|
||||
left: 5px;
|
||||
color: #667eea;
|
||||
font-weight: bold;
|
||||
font-size: 1.2em;
|
||||
width: auto;
|
||||
margin-left: 0;
|
||||
}
|
||||
}
|
||||
|
||||
p {
|
||||
margin-top: 15px;
|
||||
font-style: italic;
|
||||
color: #764ba2;
|
||||
}
|
||||
}
|
||||
|
||||
// Box informazioni (arancione)
|
||||
.info-box {
|
||||
background: linear-gradient(135deg, #ffecd2 0%, #fcb69f 100%);
|
||||
padding: 25px;
|
||||
border-radius: 10px;
|
||||
margin: 20px 0;
|
||||
box-shadow: 0 5px 15px rgba(252, 182, 159, 0.3);
|
||||
|
||||
@media (max-width: 768px) {
|
||||
padding: 8px;
|
||||
margin: 4px 0;
|
||||
}
|
||||
|
||||
h4 {
|
||||
color: #d63031 !important;
|
||||
margin-bottom: 12px;
|
||||
font-size: 1.3em;
|
||||
}
|
||||
|
||||
ul {
|
||||
margin-top: 10px;
|
||||
list-style-position: inside;
|
||||
}
|
||||
}
|
||||
|
||||
// Sezione link (azzurro)
|
||||
.links-section {
|
||||
background: linear-gradient(135deg, #4facfe 0%, #00f2fe 100%);
|
||||
color: white;
|
||||
padding: 35px;
|
||||
border-radius: 15px;
|
||||
margin-top: 30px;
|
||||
box-shadow: 0 15px 35px rgba(79, 172, 254, 0.3);
|
||||
|
||||
@media (max-width: 768px) {
|
||||
padding: 8px;
|
||||
margin-top: 10px;
|
||||
}
|
||||
|
||||
h3 {
|
||||
font-size: 1.8em;
|
||||
margin-bottom: 20px;
|
||||
text-shadow: 1px 1px 2px rgba(0, 0, 0, 0.2);
|
||||
color: white !important;
|
||||
}
|
||||
}
|
||||
|
||||
.link-item {
|
||||
background: rgba(255, 255, 255, 0.2);
|
||||
padding: 15px 20px;
|
||||
margin: 15px 0;
|
||||
border-radius: 10px;
|
||||
backdrop-filter: blur(10px);
|
||||
transition: all 0.3s ease;
|
||||
cursor: pointer;
|
||||
|
||||
@media (max-width: 768px) {
|
||||
padding: 6px 8px;
|
||||
margin: 6px 0;
|
||||
}
|
||||
|
||||
&:hover {
|
||||
background: rgba(255, 255, 255, 0.3);
|
||||
transform: translateX(10px);
|
||||
}
|
||||
|
||||
a {
|
||||
color: white !important;
|
||||
text-decoration: none;
|
||||
font-size: 1.1em;
|
||||
font-weight: 500;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
|
||||
&::before {
|
||||
content: '→';
|
||||
margin-right: 10px;
|
||||
font-size: 1.3em;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// Call to action (viola)
|
||||
.cta-box {
|
||||
background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
|
||||
color: white;
|
||||
padding: 30px;
|
||||
border-radius: 15px;
|
||||
text-align: center;
|
||||
margin: 30px 0;
|
||||
box-shadow: 0 15px 35px rgba(102, 126, 234, 0.4);
|
||||
|
||||
@media (max-width: 768px) {
|
||||
padding: 6px 8px;
|
||||
margin: 6px 0;
|
||||
}
|
||||
|
||||
h3 {
|
||||
font-size: 1.7em;
|
||||
margin-bottom: 15px;
|
||||
color: white !important;
|
||||
}
|
||||
|
||||
p {
|
||||
font-size: 1.2em;
|
||||
line-height: 1.8;
|
||||
color: white !important;
|
||||
}
|
||||
}
|
||||
|
||||
// Container generale
|
||||
.container_guida {
|
||||
max-width: 1000px;
|
||||
margin: 0 auto;
|
||||
padding: 20px;
|
||||
|
||||
@media (max-width: 768px) {
|
||||
padding: 10px;
|
||||
}
|
||||
}
|
||||
@@ -35,7 +35,7 @@ const msg_website = {
|
||||
},
|
||||
homepage: {
|
||||
descrapp_title1: 'Uniti per Evolvere e Sperimentare',
|
||||
descrapp_pag1: 'Siamo la <strong>Rete Italiana Scambi orizzontali</strong>, abbiamo creato questa pittaforma per metterla al servizio di chi vuole riscoprire il valore della <strong>condivisione</strong> e della <strong>cooperazione</strong>. ' +
|
||||
descrapp_pag1: 'Siamo la <strong>Rete Italiana Scambio orizzontale</strong>, abbiamo creato questa pittaforma per metterla al servizio di chi vuole riscoprire il valore della <strong>condivisione</strong> e della <strong>cooperazione</strong>. ' +
|
||||
'Valori semplici e profondi che ci aiutano a ritrovare il <strong>senso della vita</strong>, perduto in questa società consumista, e riporti quei <strong>Sani Pricìpi Naturali</strong> ed Umani di <strong>Fratellanza</strong>'
|
||||
+ ' che intere popolazioni antiche conoscevano bene.',
|
||||
descrapp_pag2: 'E\' giunta l\'ora di utilizzare i nuovi strumenti <strong>Tecnologici</strong> a nostro <strong>favore</strong>, per <strong>Liberarci</strong> '
|
||||
|
||||
@@ -2,8 +2,8 @@ const msg_website_it = {
|
||||
ws: {
|
||||
sitename: 'RISO',
|
||||
siteshortname: 'RISO',
|
||||
description: 'Siamo la Rete Italiana Scambi orizzontali, 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 scambi orizzontali, riso app, riso piattaforma, scambio e baratto, momenta RIS',
|
||||
description: 'Siamo la Rete Italiana 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',
|
||||
@@ -133,12 +133,12 @@ const msg_website_it = {
|
||||
myAppDescription: 'Il primo Vero Social Libero, Equo e Solidale, dove Vive Consapevolezza e Aiuto Comunitario. Gratuito',
|
||||
underconstruction: 'App in costruzione...',
|
||||
myDescriz: '',
|
||||
sottoTitoloApp: 'Rete Italiana Scambi orizzontali',
|
||||
sottoTitoloApp: 'Rete Italiana Scambio orizzontale',
|
||||
sottoTitoloApp2: '',
|
||||
},
|
||||
homepage: {
|
||||
descrapp_title1: 'Uniti per Evolvere e Sperimentare',
|
||||
descrapp_pag1: 'Siamo la <strong>Rete Italiana Scambi orizzontali</strong>, abbiamo creato questa piattaforma per metterla al servizio di chi vuole riscoprire il valore della <strong>condivisione</strong> e della <strong>cooperazione</strong>. ' +
|
||||
descrapp_pag1: 'Siamo la <strong>Rete Italiana Scambio orizzontale</strong>, abbiamo creato questa piattaforma per metterla al servizio di chi vuole riscoprire il valore della <strong>condivisione</strong> e della <strong>cooperazione</strong>. ' +
|
||||
'Valori semplici e profondi che ci aiutano a ritrovare il <strong>Senso della Vita</strong>, perduto in questa società consumista, e riporti quei <strong>Sani Pricìpi Naturali</strong> ed Umani di <strong>Fratellanza</strong>'
|
||||
+ ' che intere popolazioni antiche conoscevano bene.',
|
||||
descrapp_pag2: 'E\' giunta l\'ora di utilizzare i nuovi strumenti <strong>Tecnologici</strong> a nostro <strong>favore</strong>, per <strong>Liberarci</strong> '
|
||||
|
||||
@@ -11372,7 +11372,7 @@ export const tools = {
|
||||
|
||||
isStatusNonAutorizzato() {
|
||||
const userStore = useUserStore();
|
||||
return userStore.servercode === serv_constants.RIS_CODE__HTTP_FORBIDDEN_PERMESSI
|
||||
return userStore.servercode === serv_constants.RIS_CODE__HTTP_FORBIDDEN_PERMESSI;
|
||||
},
|
||||
|
||||
pageExist(path: string) {
|
||||
@@ -11382,6 +11382,52 @@ export const tools = {
|
||||
return !!page;
|
||||
},
|
||||
|
||||
lastUserLogged() {
|
||||
return localStorage.getItem(toolsext.localStorage.lastUserLogged);
|
||||
},
|
||||
|
||||
convertNbspToSpaces(htmlText: string) {
|
||||
if (!htmlText) return '';
|
||||
return htmlText.replace(/ /g, ' ');
|
||||
},
|
||||
removeNbsp(htmlText: string) {
|
||||
if (!htmlText) return '';
|
||||
return htmlText.replace(/ /g, '');
|
||||
},
|
||||
|
||||
converteSpaziMultipliIn1solo(htmlText: string) {
|
||||
if (!htmlText) return '';
|
||||
|
||||
// Collassa spazi multipli in uno solo (mantiene la struttura)
|
||||
return htmlText
|
||||
.replace(/>\s+</g, '><') // spazi TRA i tag
|
||||
.replace(/\s+$/gm, '') // spazi FINE riga
|
||||
.replace(/^\s+/gm, '') // spazi INIZIO riga
|
||||
.replace(/[ \t]{2,}/g, ' '); // 2+ spazi → 1 spazio (MA non newline) },
|
||||
},
|
||||
// Nel tuo file tools.ts o dove hai le utility
|
||||
convertHTMLForElement(htmlText: string, usacomeHTML?: boolean): string {
|
||||
if (!htmlText) return '';
|
||||
|
||||
if (!usacomeHTML) {
|
||||
return htmlText;
|
||||
}
|
||||
|
||||
return this.converteSpaziMultipliIn1solo(htmlText);
|
||||
},
|
||||
|
||||
convertinbspInSpazi(str: string) {
|
||||
return str
|
||||
.replace(/ /g, ' ') // Converti in spazi normali
|
||||
},
|
||||
|
||||
convertinbspInSpaziNormali(str: string) {
|
||||
return str
|
||||
.replace(/ /g, ' ') // Converti in spazi normali
|
||||
.replace(/>\s+</g, '><') // Rimuovi spazi tra tag
|
||||
.trim();
|
||||
},
|
||||
|
||||
// FINE !
|
||||
|
||||
// getLocale() {
|
||||
|
||||
@@ -126,6 +126,7 @@ export const toolsext = {
|
||||
token: 'tk',
|
||||
refreshToken: 'rt',
|
||||
username: 'uname',
|
||||
lastUserLogged: 'lul',
|
||||
name: 'nm',
|
||||
surname: 'sn',
|
||||
perm: 'pm',
|
||||
|
||||
@@ -1436,6 +1436,7 @@ export const useUserStore = defineStore('UserStore', {
|
||||
tools.localStSetItem(toolsext.localStorage.lang, this.lang);
|
||||
tools.localStSetItem(toolsext.localStorage.userId, myuser._id);
|
||||
tools.localStSetItem(toolsext.localStorage.username, myuser.username);
|
||||
tools.localStSetItem(toolsext.localStorage.lastUserLogged, myuser.username);
|
||||
tools.localStSetItem(toolsext.localStorage.name, myuser.name);
|
||||
tools.localStSetItem(toolsext.localStorage.surname, myuser.surname);
|
||||
tools.localStSetItem(toolsext.localStorage.perm, String(myuser.perm) || '');
|
||||
|
||||
@@ -3090,17 +3090,17 @@ export const useGlobalStore = defineStore('GlobalStore', {
|
||||
newrec.catalogo = this.createRaccoltaCataloghiVuoto();
|
||||
} else if (newrec.type === shared_consts.ELEMTYPE.TEXT) {
|
||||
newrec.container = "Inserisci qui il testo"
|
||||
newrec.align = shared_consts.ALIGNTYPE.CEHTER
|
||||
newrec.align = shared_consts.ALIGNTYPE.CENTER
|
||||
} else if (newrec.type === shared_consts.ELEMTYPE.HTML) {
|
||||
newrec.containerHtml = "Inserisci qui il testo"
|
||||
newrec.align = shared_consts.ALIGNTYPE.CEHTER
|
||||
newrec.align = shared_consts.ALIGNTYPE.CENTER
|
||||
} else if (newrec.type === shared_consts.ELEMTYPE.IMAGEUPLOAD) {
|
||||
newrec.align = shared_consts.ALIGNTYPE.CEHTER
|
||||
newrec.align = shared_consts.ALIGNTYPE.CENTER
|
||||
} else if (newrec.type === shared_consts.ELEMTYPE.BUTTON) {
|
||||
newrec.container = "Bottone 1"
|
||||
newrec.containerHtml = "primary"
|
||||
newrec.container2 = "fas fa-home"
|
||||
newrec.align = shared_consts.ALIGNTYPE.CEHTER
|
||||
newrec.align = shared_consts.ALIGNTYPE.CENTER
|
||||
newrec.link = "https://www.pippo.it"
|
||||
newrec.container3 = "_blank"
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user