- asggiunto bottone "installa app" sulla email di conferma registrazione e anche la Guida "/guida".
- migliorato InvitaAmico
This commit is contained in:
@@ -29,7 +29,7 @@ GCM_API_KEY=""
|
||||
PROD=0
|
||||
PROJECT_DESCR_MAIN='__PROJECTS'
|
||||
SECRK=Askb38v23jjDFaoskBOWj92axXCQ
|
||||
TOKEN_LIFE=10m
|
||||
TOKEN_LIFE=2m
|
||||
REFRESH_TOKEN_LIFE=14d
|
||||
FTPSERVER_HOST=139.162.166.31
|
||||
FTPSERVER_PORT=21
|
||||
|
||||
@@ -31,7 +31,7 @@ TOKEN_LIFE=2h
|
||||
REFRESH_TOKEN_LIFE=14d
|
||||
AUTH_NEW_SITES=B234HDSAOJ734ndcsdKWNV
|
||||
DOMAINS=[{"hostname":"riso.app","port":"3006"},{"hostname":"freeplanet.app","port":"3000"},{"hostname":"nuovomondo.app","port":"3032"}]
|
||||
DOMAINS_ALLOWED=["comunitanuovomondo.app","nuovomondo.app","kolibrilab.it","artenergetica.org","freeplanet.app","www.freeplanet.app","freeplanet.app:3000","freeplanet.app:3001","www.freeplanet.app:3000","www.freeplanet.app:3001"]
|
||||
DOMAINS_ALLOWED=["riso.app","comunitanuovomondo.app","nuovomondo.app","kolibrilab.it","artenergetica.org","freeplanet.app","www.freeplanet.app","freeplanet.app:3000","freeplanet.app:3001","www.freeplanet.app:3000","www.freeplanet.app:3001"]
|
||||
#DOMAINS=[{"hostname":"abitaregliiblei.it","port":"3021"},{"hostname":"riso.app","port":"3005"}]
|
||||
SCRIPTS_DIR=admin_scripts
|
||||
CLOUDFLARE_TOKENS=[{"label":"Paolo.arena77@gmail.com","value":"M9EM309v8WFquJKpYgZCw-TViM2wX6vB3wlK6GD0"},{"label":"gruppomacro.com","value":"bqmzGShoX7WqOBzkXocoECyBkPq3GfqcM5t6VFd8"}]
|
||||
|
||||
@@ -32,7 +32,7 @@ TOKEN_LIFE=2h
|
||||
REFRESH_TOKEN_LIFE=14d
|
||||
AUTH_NEW_SITES=B234HDSAOJ734ndcsdKWNV
|
||||
DOMAINS=[{"hostname":"riso.app","port":"3005"},{"hostname":"nuovomondo.app","port":"3033"}]
|
||||
DOMAINS_ALLOWED=["comunitanuovomondo.app","kolibrilab.it","artenergetica.org","freeplanet.app","www.freeplanet.app","freeplanet.app:3000","freeplanet.app:3001","www.freeplanet.app:3000","www.freeplanet.app:3001"]
|
||||
DOMAINS_ALLOWED=["riso.app","comunitanuovomondo.app","kolibrilab.it","artenergetica.org","freeplanet.app","www.freeplanet.app","freeplanet.app:3000","freeplanet.app:3001","www.freeplanet.app:3000","www.freeplanet.app:3001"]
|
||||
SCRIPTS_DIR=admin_scripts
|
||||
CLOUDFLARE_TOKENS=[{"label":"Paolo.arena77@gmail.com","value":"M9EM309v8WFquJKpYgZCw-TViM2wX6vB3wlK6GD0"},{"label":"gruppomacro.com","value":"bqmzGShoX7WqOBzkXocoECyBkPq3GfqcM5t6VFd8"}]
|
||||
MIAB_HOST=box.lamiaposta.org
|
||||
|
||||
@@ -138,10 +138,19 @@ html(lang="it")
|
||||
margin-bottom: 16px;
|
||||
}
|
||||
|
||||
.cta-buttons-wrapper {
|
||||
display: flex;
|
||||
gap: 12px;
|
||||
justify-content: center;
|
||||
align-items: stretch;
|
||||
flex-wrap: wrap;
|
||||
margin-top: 16px;
|
||||
}
|
||||
|
||||
.cta-button {
|
||||
display: inline-block;
|
||||
padding: 16px 48px;
|
||||
font-size: 18px;
|
||||
padding: 16px 32px;
|
||||
font-size: 16px;
|
||||
font-weight: 600;
|
||||
color: white;
|
||||
background: linear-gradient(135deg, #027be3 0%, #0056b3 100%);
|
||||
@@ -149,6 +158,9 @@ html(lang="it")
|
||||
text-decoration: none;
|
||||
box-shadow: 0 4px 12px rgba(2, 123, 227, 0.3);
|
||||
transition: transform 0.2s, box-shadow 0.2s;
|
||||
flex: 1;
|
||||
min-width: 180px;
|
||||
max-width: 220px;
|
||||
}
|
||||
|
||||
.cta-button:hover {
|
||||
@@ -156,6 +168,30 @@ html(lang="it")
|
||||
box-shadow: 0 6px 16px rgba(2, 123, 227, 0.4);
|
||||
}
|
||||
|
||||
.cta-button-secondary {
|
||||
background: linear-gradient(135deg, #28a745 0%, #1e7e34 100%);
|
||||
box-shadow: 0 4px 12px rgba(40, 167, 69, 0.3);
|
||||
}
|
||||
|
||||
.cta-button-secondary:hover {
|
||||
box-shadow: 0 6px 16px rgba(40, 167, 69, 0.4);
|
||||
}
|
||||
|
||||
.cta-button-tertiary {
|
||||
background: linear-gradient(135deg, #ff9800 0%, #f57c00 100%);
|
||||
box-shadow: 0 4px 12px rgba(255, 152, 0, 0.3);
|
||||
}
|
||||
|
||||
.cta-button-tertiary:hover {
|
||||
box-shadow: 0 6px 16px rgba(255, 152, 0, 0.4);
|
||||
}
|
||||
|
||||
.button-icon {
|
||||
font-size: 18px;
|
||||
margin-right: 6px;
|
||||
vertical-align: middle;
|
||||
}
|
||||
|
||||
.alternative-link {
|
||||
margin-top: 16px;
|
||||
font-size: 13px;
|
||||
@@ -236,11 +272,16 @@ html(lang="it")
|
||||
font-size: 14px;
|
||||
}
|
||||
|
||||
.cta-buttons-wrapper {
|
||||
flex-direction: column;
|
||||
gap: 12px;
|
||||
}
|
||||
|
||||
.cta-button {
|
||||
padding: 14px 32px;
|
||||
font-size: 16px;
|
||||
padding: 14px 24px;
|
||||
font-size: 15px;
|
||||
width: 100%;
|
||||
max-width: 300px;
|
||||
max-width: 100%;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -260,7 +301,9 @@ html(lang="it")
|
||||
.cta-title 🔐 1. Verifica il tuo account
|
||||
|
||||
if strlinkreg
|
||||
a.cta-button(href=strlinkreg target="_blank") Verifica Registrazione
|
||||
a.cta-button(href=strlinkreg target="_blank")
|
||||
span.button-icon ✓
|
||||
| Verifica Registrazione
|
||||
|
||||
.alternative-link
|
||||
| Oppure copia e incolla questo link nel tuo browser:
|
||||
@@ -274,10 +317,25 @@ html(lang="it")
|
||||
strong completare il tuo profilo.
|
||||
|
||||
.cta-section
|
||||
.cta-title 🔐 2. Per accedere alla piattaforma #{nomeapp}
|
||||
- var numstep = 1;
|
||||
if !verified_email
|
||||
- var numstep = 2;
|
||||
|
||||
.cta-title 🚀 #{numstep}. Accedi e installa #{nomeapp}
|
||||
|
||||
if strlinksito
|
||||
a.cta-button(href=strlinksito target="_blank") Accedi a #{nomeapp}
|
||||
.cta-buttons-wrapper
|
||||
a.cta-button(href=strlinksito target="_blank")
|
||||
span.button-icon 🌐
|
||||
| Accedi a #{nomeapp} da web
|
||||
|
||||
a.cta-button.cta-button-secondary(href=strlinksito+'/installaapp' target="_blank")
|
||||
span.button-icon 📱
|
||||
| Installa l'App
|
||||
|
||||
a.cta-button.cta-button-tertiary(href=strlinksito+'/guida' target="_blank")
|
||||
span.button-icon 📖
|
||||
| Vai alla Guida
|
||||
|
||||
.credentials-box
|
||||
.credentials-title 📋 I tuoi dati di accesso
|
||||
|
||||
@@ -98,12 +98,13 @@ function logResponse(req, res, data) {
|
||||
|
||||
const emoji = statusCode >= 200 && statusCode < 300 ? '✅' : statusCode >= 400 && statusCode < 500 ? '⚠️' : '❌';
|
||||
|
||||
if (statusCode !== 200) {
|
||||
console.log(
|
||||
`${emoji} [${method}] ${url} | Status: ${statusCode} | User: ${userId} | Data: ${
|
||||
data ? JSON.stringify(data).substring(0, 100) : 'empty'
|
||||
`${emoji} [${method}] ${url} | Status: ${statusCode} | User: ${userId} | Data: ${data ? JSON.stringify(data).substring(0, 100) : 'empty'
|
||||
}`
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
const authenticate = (req, res, next) => authenticateMiddleware(req, res, next);
|
||||
const authenticate_withUser = (req, res, next) => authenticateMiddleware(req, res, next, true);
|
||||
|
||||
@@ -62,6 +62,8 @@ function createCorsOptions(domains, domainsAllowed, isProduction, noCors = false
|
||||
|
||||
const allowedOrigins = buildAllowedOrigins(domains, domainsAllowed, isProduction);
|
||||
|
||||
console.log('allowedOrigins:', allowedOrigins.map((origin) => `'${origin}'`).join(', '));
|
||||
|
||||
let originValidator = (origin, callback) => {
|
||||
if (!origin) {
|
||||
// console.log('✅ Origin undefined or empty — allowing');
|
||||
|
||||
@@ -16,7 +16,7 @@ async function myLoad() {
|
||||
}
|
||||
|
||||
async function startServer(app, port) {
|
||||
const isProduction = process.env.NODE_ENV === 'production';
|
||||
const isProduction = ['production', 'test'].includes(process.env.NODE_ENV);
|
||||
const { domains, domainsAllowed } = parseDomains();
|
||||
const corsOptions = createCorsOptions(domains, domainsAllowed, isProduction);
|
||||
|
||||
|
||||
@@ -1 +1 @@
|
||||
1.2.78
|
||||
1.2.79
|
||||
Reference in New Issue
Block a user