From e861b05946fbd64d78b666b8a68308362204783c Mon Sep 17 00:00:00 2001 From: hacklab Date: Tue, 20 Oct 2026 12:23:25 +0200 Subject: [PATCH] ajustes: los seis accesos arriba y colores configurables Arriba de Ajustes, una rejilla con lo que se elige en la bienvenida (identidad, perfil de uso, portada, comunidad y saludo) y Colores. Cada acceso baja a su bloque y cada bloque guarda al tocar. Colores: ocho paletas de un toque y fondo, texto y resalte a mano. Se guardan en la config (mobileColors) y van en /mobile-colors.css, la ultima hoja (la CSP no deja estilos en linea). Solo con el aspecto Acampada; elegir colores pasa a el. Si el texto no se lee sobre el fondo se cambia por negro o blanco y se avisa. En la bienvenida, Colores es un paso mas, despues del tipo de portada. Identidad y saludo envian a las rutas del dev de la bienvenida; fork_routes.js cambia su vuelta a /welcome por la vuelta a Ajustes. Todo en mobile_settings.js; en las vistas del dev solo hay llamadas a mobile_ui. Miniaturas de los skins rehechas (salia Karvan). --- src/backend/fork_routes.js | 33 +- src/backend/mobile_layer.js | 8 +- src/client/assets/images/theme-acampada.png | Bin 43684 -> 53215 bytes .../assets/images/theme-oasismobile.png | Bin 45697 -> 58602 bytes src/client/assets/styles/mobile_ux.css | 54 ++- src/client/assets/translations/i18n_fork.js | 330 ++++++++++++++++++ src/views/main_views.js | 2 + src/views/mobile_icons.js | 1 + src/views/mobile_settings.js | 267 ++++++++++++++ src/views/mobile_ui.js | 28 +- src/views/welcome_view.js | 4 +- 11 files changed, 709 insertions(+), 18 deletions(-) create mode 100644 src/views/mobile_settings.js diff --git a/src/backend/fork_routes.js b/src/backend/fork_routes.js index 368ef0c..21471d7 100644 --- a/src/backend/fork_routes.js +++ b/src/backend/fork_routes.js @@ -4,8 +4,9 @@ // Va en la cadena justo delante de las rutas del dev (backend.js lo monta con una // sola linea). Lo que no atiende pasa al del dev con next(). Aqui viven: // - mobile_layer.js: lanzador, filtro y avatar de la barra de arriba -// - wrapUpstream: mira lo que contesta el dev (seccion apagada, guardar modulos) -// - las rutas propias: tema y Modulos en el movil, barra de abajo, identidades +// - wrapUpstream: mira lo que contesta el dev (seccion apagada, guardar modulos, +// vuelta a Ajustes desde los formularios de la bienvenida) +// - las rutas propias: tema, colores y Modulos en el movil, barra de abajo, identidades // // backend.js es del dev y cambia en 34 de cada 39 versiones: nada de esto va alli. // Ver GUIA_DE_DESARROLLO.md. @@ -43,6 +44,13 @@ const wrapUpstream = async (ctx, next) => { await next(); if (!isMobile() || ctx.status < 300 || ctx.status >= 400) return; const to = String(ctx.response.get('Location') || ''); + // identidad y saludo desde Ajustes usan las rutas de la bienvenida (las del dev); + // estas vuelven a /welcome y aqui se cambia por el bloque de Ajustes de donde se vino + if (ctx.method === 'POST' && /^\/welcome\/(profile|greeting)$/.test(ctx.path) && /^(https?:\/\/[^/]+)?\/welcome$/.test(to)) { + const back = String((ctx.request.body || {}).returnTo || ''); + if (/^\/settings(#[a-z-]+)?$/.test(back)) ctx.redirect(back); + return; + } // guardar en Modulos: volver con el aviso de guardado if (ctx.method === 'POST' && ctx.path === '/save-modules') { ctx.redirect('/modules?saved=1'); return; } if (ctx.method === 'GET' && ctx.path !== '/modules' && /^(https?:\/\/[^/]+)?\/modules$/.test(to)) { @@ -69,6 +77,27 @@ const mobileLayer = require('./mobile_layer')({ getViewerId, about }); ctx.cookies.set('theme', theme, { httpOnly: true, sameSite: 'strict', secure: ctx.secure }); ctx.redirect('/settings#theme'); }) + // colores del movil (mobile_settings.js): se guardan en la config y el aspecto pasa + // a Acampada, que es el tema que lee esas variables + .post('/settings/colors', koaBody(), async (ctx, next) => { + if (!isMobile()) return next(); + const body = ctx.request.body || {}; + const cfg = getConfig(); + cfg.mobileColors = require('../views/mobile_settings').colorsFromBody(body); + if ((cfg.themes || {}).current !== 'Acampada') { + cfg.themes = { ...(cfg.themes || {}), current: 'Acampada' }; + ctx.cookies.set('theme', 'Acampada', { httpOnly: true, sameSite: 'strict', secure: ctx.secure }); + } + saveConfig(cfg); + const back = String(body.returnTo || ''); + ctx.redirect(/^\/(settings|welcome)(#[a-z-]+)?$/.test(back) ? back : '/settings#colors'); + }) + .get('/mobile-colors.css', async (ctx, next) => { + if (!isMobile()) return next(); + ctx.type = 'text/css'; + ctx.set('Cache-Control', 'public, max-age=31536000, immutable'); + ctx.body = require('../views/mobile_settings').colorsCss(getConfig()); + }) // Modulos en el movil: la vista propia (mobile_modules_view.js); en escritorio, la de upstream .get('/modules', async (ctx, next) => { if (!isMobile()) return next(); diff --git a/src/backend/mobile_layer.js b/src/backend/mobile_layer.js index 611e3c7..0976852 100644 --- a/src/backend/mobile_layer.js +++ b/src/backend/mobile_layer.js @@ -2,7 +2,7 @@ // Lo que la interfaz de la rama necesita del backend, fuera de backend.js. // // Prepara lo que leen la barra de arriba y el lanzador de hive_views.js: el filtro -// Personal/Social, que el lanzador no va en la portada y el avatar propio. Lo +// Personal/Social, que el lanzador no va en la portada y el avatar y nombre propios. Lo // monta el router propio (fork_routes.js) delante de las rutas del dev. Nada de // esto corre en escritorio. Ver GUIA_DE_DESARROLLO.md. // @@ -24,11 +24,17 @@ module.exports = ({ getViewerId, about }) => { if (typeof img === 'string' && img[0] === '&' && img !== NULL_IMG) global.__OASIS_SELF_AVATAR__ = `/image/256/${encodeURIComponent(img)}`; else if (typeof img === 'string' && img[0] === '/') global.__OASIS_SELF_AVATAR__ = img; else global.__OASIS_SELF_AVATAR__ = null; + // el nombre, para el bloque de identidad de Ajustes + const name = me ? await about.name(me) : null; + // sin nombre puesto, ssb-about da un trozo de la clave: eso no es un nombre + global.__OASIS_SELF_NAME__ = typeof name === 'string' && name[0] !== '@' && !String(me).startsWith('@' + name) ? name : ''; } catch (_) {} }; return async (ctx, next) => { if (!isMobile() || !isPage(ctx.path)) return next(); + // al guardar nombre o avatar, la siguiente pagina ya los lee nuevos + if (ctx.method === 'POST' && /^\/(welcome\/profile|profile\/edit)$/.test(ctx.path)) { await next(); avatarAt = 0; return; } global.__OASIS_HIVE_FILTER__ = (ctx.path === '/activity' && (ctx.query.hive === 'personal' || ctx.query.hive === 'community')) ? ctx.query.hive : ''; // el lanzador ya no va en la portada: la portada es la actividad y los modulos // estan en la hoja de la pestaña Menu (docs/ESTUDIO_NAVEGACION.md) diff --git a/src/client/assets/images/theme-acampada.png b/src/client/assets/images/theme-acampada.png index c635277faec3cd85ba5415d1beb764a19f9619e3..2546f50f9fbcd75c8bbe0e409306ffa25c3376b6 100644 GIT binary patch literal 53215 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 literal 43684 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 MJok9q5QIzr57X1y7XSbN diff --git a/src/client/assets/images/theme-oasismobile.png b/src/client/assets/images/theme-oasismobile.png index 2f9bfaf49af4b84d0e2099d0cc69ba33f9a04d37..668009e9179ec9cbf58c900e48eaaed6abb2ba20 100644 GIT binary patch literal 58602 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 ab8%@b?mp}+KwS7A>Y)wS*C>Noh5ZM>jeNEM literal 45697 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

+GDU%!5N<${|lZZk^nK6@9_ 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 .main-column { padding-left: 0 !important; padding-right: 0 /* filas etiqueta / valor de las fichas (plazo, estado, creado el): en dos columnas */ .main-column table.tribe-info-table tr { display: grid !important; grid-template-columns: minmax(96px, 38%) 1fr; align-items: center; } .main-column table.tribe-info-table td { display: block !important; border: 0 !important; padding: 8px 10px !important; min-width: 0; overflow: hidden; text-overflow: ellipsis; } -.main-column table.tribe-info-table tr + tr { border-top: 1px solid #ccc !important; } +.main-column table.tribe-info-table tr + tr { border-top: 1px solid var(--a26-line, #ccc) !important; } /* bienvenida: "Ahora no" al final, como enlace discreto */ .main-column .welcome-skip-end { text-align: center; margin: 8px 0 0 !important; } @@ -624,6 +624,56 @@ body:has(#oasis-menu-toggle:checked) form.oasis-phone-state { display: none !imp } @media (min-width: 700px) { .main-column .wf-pick button.ux-pick-card { flex-direction: row; text-align: left; margin: 0 0 10px !important; } } +/* ---------- Ajustes: los seis accesos de arriba (mobile_settings.js) ---------- */ +/* rejilla de 3x2 a 360px: icono, nombre y lo que hay puesto. Cada acceso baja a su + bloque; el bloque deja aire arriba para que el titulo no quede pegado al borde */ +.main-column section[id] { scroll-margin-top: 76px; } +.main-column div.quick-grid { display: grid !important; grid-template-columns: repeat(3, minmax(0, 1fr)); grid-gap: 10px; margin: 0 0 6px !important; padding: 0 !important; } +.main-column a.quick-tile { + display: flex !important; flex-direction: column; align-items: center; justify-content: flex-start; text-align: center; + min-height: 104px; min-width: 0; padding: 12px 6px 10px !important; box-sizing: border-box; text-decoration: none !important; + background: var(--ux-bg) !important; color: var(--ux-fg) !important; + border: 2px solid var(--ux-line) !important; border-radius: 14px !important; box-shadow: 0 3px 0 var(--ux-line) !important; +} +.main-column a.quick-tile:active { transform: translateY(3px); box-shadow: 0 0 0 var(--ux-line) !important; background: var(--ux-accent) !important; color: var(--ux-on-accent) !important; } +.main-column .quick-tile .quick-ico.has-svg { display: block; width: 30px; height: 30px; margin: 0 0 6px; } +.main-column .quick-tile .quick-ico svg { width: 100%; height: 100%; } +.main-column .quick-tile .quick-name { display: block; font-size: 14px; font-weight: 700; line-height: 1.15; } +.main-column .quick-tile .quick-now { display: block; max-width: 100%; margin-top: 3px; font-size: 12px; line-height: 1.2; color: var(--ux-muted) !important; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; } +.main-column .quick-tile:active .quick-now { color: inherit !important; } +.main-column div.quick-links { display: block !important; margin: 0 !important; padding: 0 !important; } +.main-column div.quick-links a { display: block !important; text-align: center; margin: 0 0 10px !important; } +.main-column section#identity .filter-btn { display: inline-block; margin-top: 12px !important; } + +/* ---------- colores ---------- */ +/* paletas de un toque, dos por fila, con su muestra (fondo, texto y acento); debajo, + "A tu gusto" con los tres selectores de color del sistema */ +.main-column div.color-pick { margin: 0 !important; padding: 0 !important; } +.main-column div.pal-grid { display: grid !important; grid-template-columns: repeat(2, minmax(0, 1fr)); grid-gap: 10px; padding: 0 !important; margin: 0 0 12px !important; } +.main-column button.pal-card { + display: flex !important; flex-direction: row !important; flex-wrap: nowrap !important; align-items: center; width: 100% !important; min-width: 0 !important; min-height: 56px !important; height: auto !important; + margin: 0 !important; padding: 8px 10px !important; text-align: left; text-transform: none !important; font-family: var(--ux-text) !important; + background: var(--ux-bg) !important; color: var(--ux-fg) !important; border: 2px solid var(--ux-line) !important; border-radius: 14px !important; box-shadow: 0 3px 0 var(--ux-line) !important; +} +.main-column button.pal-card.is-current { border-width: 3px !important; box-shadow: 0 0 0 3px var(--ux-accent), 0 3px 0 var(--ux-line) !important; } +.main-column button.pal-card { justify-content: flex-start !important; } +.main-column .pal-card .pal-name { flex: 1 1 auto; min-width: 0; text-align: left; font-size: 15px; font-weight: 700; line-height: 1.15; } +.main-column .pal-card .ux-pick-now { display: none; } +.pal-swatch { display: inline-flex; flex: 0 0 auto; width: 42px; height: 30px; margin-right: 10px; border-radius: 8px; overflow: hidden; border: 2px solid var(--ux-line); } +.pal-swatch .pal-bg { flex: 2 1 0; } +.pal-swatch .pal-fg { flex: 1 1 0; } +.pal-swatch .pal-ac { flex: 1 1 0; } +.main-column details.color-custom { margin: 4px 0 0 !important; padding: 0 !important; border: 2px solid var(--ux-line) !important; border-radius: 14px !important; background: var(--ux-bg) !important; } +.main-column details.color-custom > summary { display: flex; align-items: center; min-height: 52px; padding: 8px 12px; font-weight: 700; cursor: pointer; list-style: none; } +.main-column details.color-custom > summary::-webkit-details-marker { display: none; } +.main-column details.color-custom > summary::after { content: "\25BE"; margin-left: auto; font-size: 18px; } +.main-column details.color-custom[open] > summary::after { content: "\25B4"; } +.main-column form.color-custom-form { padding: 4px 12px 14px !important; margin: 0 !important; border: 0 !important; background: transparent !important; box-shadow: none !important; } +.main-column form.color-custom-form label.color-field { display: flex !important; align-items: center; justify-content: space-between; min-height: 52px; margin: 0 0 8px !important; } +.main-column label.color-field input[type="color"] { width: 64px !important; height: 44px !important; padding: 2px !important; border: 2px solid var(--ux-line) !important; border-radius: 10px !important; background: var(--ux-bg) !important; } +.main-column form.color-custom-form .create-button { width: 100% !important; margin-top: 6px !important; } +.main-column .color-pick .welcome-action { margin-top: 4px !important; } + /* ---------- tabletas y pantallas anchas ---------- */ /* a 800dp todo se estiraba: lineas larguisimas y la hoja del menu con cinco iconos repartidos en 800px. Contenido a 720px como mucho, centrado; la hoja, igual */ diff --git a/src/client/assets/translations/i18n_fork.js b/src/client/assets/translations/i18n_fork.js index f5f3904..9e51ab1 100644 --- a/src/client/assets/translations/i18n_fork.js +++ b/src/client/assets/translations/i18n_fork.js @@ -22,6 +22,36 @@ module.exports = { bbMenuClose: "Close", uxPickHint: "Tap one and it is saved. You can change it any time in Settings.", uxPickCurrent: "In use", + quickTitle: "The basics", + quickHint: "What you chose when you started, one tap away.", + quick_identity: "Identity", + quick_workflow: "Profile", + quick_ux: "Home screen", + quick_colors: "Colours", + quick_community: "Community", + quick_greeting: "Greeting", + quickProfileMore: "Description and more", + quickJoinPub: "Join a pub", + quickSeePeers: "Who you sync with", + quickGreetingPlaceholder: "Say hello to the community", + welcomeHintColors: "Background, text and highlight colour of the app.", + colorsHint: "Tap a palette and it is applied.", + colorsSkinNote: "Colours go with the Acampada look; choosing one switches to it.", + colorsCustom: "Your own", + colorsBg: "Background", + colorsFg: "Text", + colorsAccent: "Highlight", + colorsApply: "Apply", + colorsFixed: "The text could not be read on that background, so it was set to black or white.", + colorsKeep: "Keep these", + palette_acampada: "Acampada", + palette_noche: "Night", + palette_oro: "Gold", + palette_bosque: "Forest", + palette_lila: "Lilac", + palette_brasa: "Ember", + palette_papel: "Paper", + palette_contraste: "High contrast", welcomeStepUseMobile: "Profile", welcomeHintUseMobile: "What you use Oasis for. It turns on the modules you need.", wfHint_activists: "Assemblies, tribes, votes, forums and shared documents", @@ -116,6 +146,36 @@ module.exports = { bbMenuClose: "Cerrar", uxPickHint: "Toca uno y queda guardado. Puedes cambiarlo cuando quieras en Ajustes.", uxPickCurrent: "En uso", + quickTitle: "Lo básico", + quickHint: "Lo que elegiste al empezar, a un toque.", + quick_identity: "Identidad", + quick_workflow: "Perfil", + quick_ux: "Portada", + quick_colors: "Colores", + quick_community: "Comunidad", + quick_greeting: "Saludo", + quickProfileMore: "Descripción y más", + quickJoinPub: "Unirme a un pub", + quickSeePeers: "Con quién sincronizas", + quickGreetingPlaceholder: "Saluda a la comunidad", + welcomeHintColors: "Fondo, texto y color de resalte de la app.", + colorsHint: "Toca una paleta y se aplica.", + colorsSkinNote: "Los colores van con el aspecto Acampada; al elegir uno se pasa a ese aspecto.", + colorsCustom: "A tu gusto", + colorsBg: "Fondo", + colorsFg: "Texto", + colorsAccent: "Resalte", + colorsApply: "Aplicar", + colorsFixed: "El texto no se leía sobre ese fondo, así que se ha puesto en negro o blanco.", + colorsKeep: "Dejar estos", + palette_acampada: "Acampada", + palette_noche: "Noche", + palette_oro: "Oro", + palette_bosque: "Bosque", + palette_lila: "Lila", + palette_brasa: "Brasa", + palette_papel: "Papel", + palette_contraste: "Alto contraste", welcomeStepUseMobile: "Perfil", welcomeHintUseMobile: "Para qué usas Oasis. Enciende los módulos que hacen falta.", wfHint_activists: "Asambleas, tribus, votaciones, foros y documentos compartidos", @@ -216,6 +276,36 @@ module.exports = { bbMenuClose: "Fermer", uxPickHint: "Touchez-en un et c'est enregistré. Vous pouvez le changer à tout moment dans les Paramètres.", uxPickCurrent: "Actuel", + quickTitle: "L'essentiel", + quickHint: "Ce que vous avez choisi au début, à portée de doigt.", + quick_identity: "Identité", + quick_workflow: "Profil", + quick_ux: "Accueil", + quick_colors: "Couleurs", + quick_community: "Communauté", + quick_greeting: "Salut", + quickProfileMore: "Description et plus", + quickJoinPub: "Rejoindre un pub", + quickSeePeers: "Avec qui vous synchronisez", + quickGreetingPlaceholder: "Dites bonjour à la communauté", + welcomeHintColors: "Fond, texte et couleur d'accent de l'application.", + colorsHint: "Touchez une palette et elle s'applique.", + colorsSkinNote: "Les couleurs vont avec l'aspect Acampada ; en choisir une passe à cet aspect.", + colorsCustom: "À votre goût", + colorsBg: "Fond", + colorsFg: "Texte", + colorsAccent: "Accent", + colorsApply: "Appliquer", + colorsFixed: "Le texte n'était pas lisible sur ce fond, il a été mis en noir ou en blanc.", + colorsKeep: "Garder celles-ci", + palette_acampada: "Acampada", + palette_noche: "Nuit", + palette_oro: "Or", + palette_bosque: "Forêt", + palette_lila: "Lilas", + palette_brasa: "Braise", + palette_papel: "Papier", + palette_contraste: "Contraste élevé", welcomeStepUseMobile: "Profil", welcomeHintUseMobile: "À quoi vous sert Oasis. Active les modules nécessaires.", wfHint_activists: "Assemblées, tribus, votes, forums et documents partagés", @@ -310,6 +400,36 @@ module.exports = { bbMenuClose: "Itxi", uxPickHint: "Bat ukitu eta gordeta geratzen da. Nahi duzunean alda dezakezu Ezarpenetan.", uxPickCurrent: "Erabiltzen", + quickTitle: "Oinarrizkoa", + quickHint: "Hasieran aukeratu zenuena, ukitu batera.", + quick_identity: "Nortasuna", + quick_workflow: "Profila", + quick_ux: "Azala", + quick_colors: "Koloreak", + quick_community: "Komunitatea", + quick_greeting: "Agurra", + quickProfileMore: "Deskribapena eta gehiago", + quickJoinPub: "Pub batean sartu", + quickSeePeers: "Norekin sinkronizatzen zaren", + quickGreetingPlaceholder: "Agurtu komunitatea", + welcomeHintColors: "Aplikazioaren hondoa, testua eta nabarmentze-kolorea.", + colorsHint: "Ukitu paleta bat eta aplikatzen da.", + colorsSkinNote: "Koloreak Acampada itxurarekin doaz; bat aukeratzean itxura horretara pasatzen da.", + colorsCustom: "Zure gustura", + colorsBg: "Hondoa", + colorsFg: "Testua", + colorsAccent: "Nabarmendua", + colorsApply: "Aplikatu", + colorsFixed: "Testua ez zen irakurtzen hondo horretan, beltzez edo zuriz jarri da.", + colorsKeep: "Hauek utzi", + palette_acampada: "Acampada", + palette_noche: "Gaua", + palette_oro: "Urrea", + palette_bosque: "Basoa", + palette_lila: "Lila", + palette_brasa: "Txingarra", + palette_papel: "Papera", + palette_contraste: "Kontraste handia", welcomeStepUseMobile: "Profila", welcomeHintUseMobile: "Oasis zertarako erabiltzen duzun. Behar diren moduluak pizten ditu.", wfHint_activists: "Batzarrak, tribuak, bozketak, foroak eta dokumentu partekatuak", @@ -404,6 +524,36 @@ module.exports = { bbMenuClose: "Schließen", uxPickHint: "Tippe eins an und es ist gespeichert. Du kannst es jederzeit in den Einstellungen ändern.", uxPickCurrent: "Aktiv", + quickTitle: "Das Wichtigste", + quickHint: "Was du am Anfang gewählt hast, mit einem Tipp.", + quick_identity: "Identität", + quick_workflow: "Profil", + quick_ux: "Startseite", + quick_colors: "Farben", + quick_community: "Gemeinschaft", + quick_greeting: "Gruß", + quickProfileMore: "Beschreibung und mehr", + quickJoinPub: "Einem Pub beitreten", + quickSeePeers: "Mit wem du synchronisierst", + quickGreetingPlaceholder: "Sag der Gemeinschaft Hallo", + welcomeHintColors: "Hintergrund, Text und Akzentfarbe der App.", + colorsHint: "Tippe auf eine Palette und sie wird angewendet.", + colorsSkinNote: "Die Farben gehören zum Acampada-Design; mit einer Auswahl wechselst du dorthin.", + colorsCustom: "Eigene", + colorsBg: "Hintergrund", + colorsFg: "Text", + colorsAccent: "Akzent", + colorsApply: "Anwenden", + colorsFixed: "Der Text war auf diesem Hintergrund nicht lesbar, daher wurde er schwarz oder weiß gesetzt.", + colorsKeep: "Diese behalten", + palette_acampada: "Acampada", + palette_noche: "Nacht", + palette_oro: "Gold", + palette_bosque: "Wald", + palette_lila: "Flieder", + palette_brasa: "Glut", + palette_papel: "Papier", + palette_contraste: "Hoher Kontrast", welcomeStepUseMobile: "Profil", welcomeHintUseMobile: "Wofür du Oasis nutzt. Schaltet die nötigen Module ein.", wfHint_activists: "Versammlungen, Stämme, Abstimmungen, Foren und gemeinsame Dokumente", @@ -498,6 +648,36 @@ module.exports = { bbMenuClose: "Chiudi", uxPickHint: "Toccane uno ed è salvato. Puoi cambiarlo quando vuoi nelle Impostazioni.", uxPickCurrent: "In uso", + quickTitle: "L'essenziale", + quickHint: "Quello che hai scelto all'inizio, a portata di tocco.", + quick_identity: "Identità", + quick_workflow: "Profilo", + quick_ux: "Pagina iniziale", + quick_colors: "Colori", + quick_community: "Comunità", + quick_greeting: "Saluto", + quickProfileMore: "Descrizione e altro", + quickJoinPub: "Entra in un pub", + quickSeePeers: "Con chi sincronizzi", + quickGreetingPlaceholder: "Saluta la comunità", + welcomeHintColors: "Sfondo, testo e colore di risalto dell'app.", + colorsHint: "Tocca una tavolozza e viene applicata.", + colorsSkinNote: "I colori vanno con l'aspetto Acampada; sceglierne uno passa a quell'aspetto.", + colorsCustom: "A modo tuo", + colorsBg: "Sfondo", + colorsFg: "Testo", + colorsAccent: "Risalto", + colorsApply: "Applica", + colorsFixed: "Il testo non si leggeva su quello sfondo, quindi è stato messo nero o bianco.", + colorsKeep: "Tieni questi", + palette_acampada: "Acampada", + palette_noche: "Notte", + palette_oro: "Oro", + palette_bosque: "Bosco", + palette_lila: "Lilla", + palette_brasa: "Brace", + palette_papel: "Carta", + palette_contraste: "Alto contrasto", welcomeStepUseMobile: "Profilo", welcomeHintUseMobile: "A cosa ti serve Oasis. Attiva i moduli necessari.", wfHint_activists: "Assemblee, tribù, votazioni, forum e documenti condivisi", @@ -592,6 +772,36 @@ module.exports = { bbMenuClose: "Fechar", uxPickHint: "Toque num e fica guardado. Pode mudá-lo quando quiser nas Definições.", uxPickCurrent: "Em uso", + quickTitle: "O essencial", + quickHint: "O que escolheu ao começar, a um toque.", + quick_identity: "Identidade", + quick_workflow: "Perfil", + quick_ux: "Página inicial", + quick_colors: "Cores", + quick_community: "Comunidade", + quick_greeting: "Saudação", + quickProfileMore: "Descrição e mais", + quickJoinPub: "Entrar num pub", + quickSeePeers: "Com quem sincroniza", + quickGreetingPlaceholder: "Diga olá à comunidade", + welcomeHintColors: "Fundo, texto e cor de destaque da app.", + colorsHint: "Toque numa paleta e ela aplica-se.", + colorsSkinNote: "As cores vão com o aspeto Acampada; escolher uma passa para esse aspeto.", + colorsCustom: "À sua maneira", + colorsBg: "Fundo", + colorsFg: "Texto", + colorsAccent: "Destaque", + colorsApply: "Aplicar", + colorsFixed: "O texto não se lia nesse fundo, por isso ficou preto ou branco.", + colorsKeep: "Manter estas", + palette_acampada: "Acampada", + palette_noche: "Noite", + palette_oro: "Ouro", + palette_bosque: "Floresta", + palette_lila: "Lilás", + palette_brasa: "Brasa", + palette_papel: "Papel", + palette_contraste: "Alto contraste", welcomeStepUseMobile: "Perfil", welcomeHintUseMobile: "Para que usa o Oasis. Liga os módulos necessários.", wfHint_activists: "Assembleias, tribos, votações, fóruns e documentos partilhados", @@ -686,6 +896,36 @@ module.exports = { bbMenuClose: "关闭", uxPickHint: "点一下即保存。随时可以在设置中更改。", uxPickCurrent: "使用中", + quickTitle: "基本设置", + quickHint: "开始时的选择,一点即达。", + quick_identity: "身份", + quick_workflow: "用途", + quick_ux: "首页", + quick_colors: "颜色", + quick_community: "社区", + quick_greeting: "问候", + quickProfileMore: "简介及更多", + quickJoinPub: "加入 pub", + quickSeePeers: "与谁同步", + quickGreetingPlaceholder: "向社区问好", + welcomeHintColors: "应用的背景、文字和强调色。", + colorsHint: "点一个配色即可应用。", + colorsSkinNote: "颜色配合 Acampada 外观;选择后会切换到该外观。", + colorsCustom: "自定义", + colorsBg: "背景", + colorsFg: "文字", + colorsAccent: "强调色", + colorsApply: "应用", + colorsFixed: "文字在该背景上看不清,已改为黑色或白色。", + colorsKeep: "保留这些", + palette_acampada: "Acampada", + palette_noche: "夜晚", + palette_oro: "金色", + palette_bosque: "森林", + palette_lila: "丁香", + palette_brasa: "余烬", + palette_papel: "纸张", + palette_contraste: "高对比度", welcomeStepUseMobile: "用途", welcomeHintUseMobile: "你用 Oasis 做什么。会打开需要的模块。", wfHint_activists: "集会、部落、投票、论坛和共享文档", @@ -780,6 +1020,36 @@ module.exports = { bbMenuClose: "إغلاق", uxPickHint: "المس واحدًا ويُحفظ. يمكنك تغييره في أي وقت من الإعدادات.", uxPickCurrent: "قيد الاستخدام", + quickTitle: "الأساسيات", + quickHint: "ما اخترته في البداية، بلمسة واحدة.", + quick_identity: "الهوية", + quick_workflow: "الملف", + quick_ux: "الصفحة الرئيسية", + quick_colors: "الألوان", + quick_community: "المجتمع", + quick_greeting: "التحية", + quickProfileMore: "الوصف والمزيد", + quickJoinPub: "الانضمام إلى pub", + quickSeePeers: "مع من تتزامن", + quickGreetingPlaceholder: "قل مرحبًا للمجتمع", + welcomeHintColors: "لون الخلفية والنص والتمييز في التطبيق.", + colorsHint: "المس لوحة ألوان فتُطبَّق.", + colorsSkinNote: "الألوان تأتي مع مظهر Acampada؛ اختيار لون ينقلك إليه.", + colorsCustom: "على ذوقك", + colorsBg: "الخلفية", + colorsFg: "النص", + colorsAccent: "التمييز", + colorsApply: "تطبيق", + colorsFixed: "لم يكن النص مقروءًا على تلك الخلفية، فجُعل أسود أو أبيض.", + colorsKeep: "الإبقاء على هذه", + palette_acampada: "Acampada", + palette_noche: "ليل", + palette_oro: "ذهب", + palette_bosque: "غابة", + palette_lila: "ليلكي", + palette_brasa: "جمر", + palette_papel: "ورق", + palette_contraste: "تباين عالٍ", welcomeStepUseMobile: "الملف", welcomeHintUseMobile: "لماذا تستخدم Oasis. يفعّل الوحدات التي تحتاجها.", wfHint_activists: "جمعيات وقبائل وتصويت ومنتديات ووثائق مشتركة", @@ -874,6 +1144,36 @@ module.exports = { bbMenuClose: "बंद करें", uxPickHint: "एक पर टैप करें और वह सेव हो जाएगा। सेटिंग्स में इसे कभी भी बदल सकते हैं।", uxPickCurrent: "चालू", + quickTitle: "मूल बातें", + quickHint: "शुरुआत में जो चुना था, एक टैप पर।", + quick_identity: "पहचान", + quick_workflow: "प्रोफ़ाइल", + quick_ux: "मुखपृष्ठ", + quick_colors: "रंग", + quick_community: "समुदाय", + quick_greeting: "अभिवादन", + quickProfileMore: "विवरण और अधिक", + quickJoinPub: "किसी pub से जुड़ें", + quickSeePeers: "आप किसके साथ सिंक करते हैं", + quickGreetingPlaceholder: "समुदाय को नमस्ते कहें", + welcomeHintColors: "ऐप का पृष्ठभूमि, टेक्स्ट और हाइलाइट रंग।", + colorsHint: "किसी पैलेट पर टैप करें और वह लागू हो जाएगा।", + colorsSkinNote: "रंग Acampada रूप के साथ चलते हैं; कोई चुनने पर वही रूप लग जाता है।", + colorsCustom: "अपनी पसंद", + colorsBg: "पृष्ठभूमि", + colorsFg: "टेक्स्ट", + colorsAccent: "हाइलाइट", + colorsApply: "लागू करें", + colorsFixed: "उस पृष्ठभूमि पर टेक्स्ट पढ़ा नहीं जा रहा था, इसलिए काला या सफ़ेद कर दिया गया।", + colorsKeep: "इन्हें रखें", + palette_acampada: "Acampada", + palette_noche: "रात", + palette_oro: "सोना", + palette_bosque: "जंगल", + palette_lila: "बकाइन", + palette_brasa: "अंगार", + palette_papel: "काग़ज़", + palette_contraste: "उच्च कंट्रास्ट", welcomeStepUseMobile: "प्रोफ़ाइल", welcomeHintUseMobile: "आप Oasis किस लिए इस्तेमाल करते हैं। ज़रूरी मॉड्यूल चालू करता है।", wfHint_activists: "सभाएँ, ट्राइब, मतदान, फ़ोरम और साझा दस्तावेज़", @@ -968,6 +1268,36 @@ module.exports = { bbMenuClose: "Закрыть", uxPickHint: "Нажмите на вариант, и он сохранится. Изменить можно в любой момент в Настройках.", uxPickCurrent: "Сейчас", + quickTitle: "Основное", + quickHint: "То, что вы выбрали в начале, в одно касание.", + quick_identity: "Личность", + quick_workflow: "Профиль", + quick_ux: "Главный экран", + quick_colors: "Цвета", + quick_community: "Сообщество", + quick_greeting: "Приветствие", + quickProfileMore: "Описание и другое", + quickJoinPub: "Войти в pub", + quickSeePeers: "С кем вы синхронизируетесь", + quickGreetingPlaceholder: "Поздоровайтесь с сообществом", + welcomeHintColors: "Фон, текст и цвет выделения в приложении.", + colorsHint: "Нажмите на палитру, и она применится.", + colorsSkinNote: "Цвета идут с оформлением Acampada; при выборе включается оно.", + colorsCustom: "Свои", + colorsBg: "Фон", + colorsFg: "Текст", + colorsAccent: "Выделение", + colorsApply: "Применить", + colorsFixed: "Текст не читался на этом фоне, поэтому он стал чёрным или белым.", + colorsKeep: "Оставить эти", + palette_acampada: "Acampada", + palette_noche: "Ночь", + palette_oro: "Золото", + palette_bosque: "Лес", + palette_lila: "Сирень", + palette_brasa: "Угли", + palette_papel: "Бумага", + palette_contraste: "Высокий контраст", welcomeStepUseMobile: "Профиль", welcomeHintUseMobile: "Для чего вам Oasis. Включает нужные модули.", wfHint_activists: "Собрания, племена, голосования, форумы и общие документы", diff --git a/src/views/main_views.js b/src/views/main_views.js index 8ee372e..d70acf4 100644 --- a/src/views/main_views.js +++ b/src/views/main_views.js @@ -2010,6 +2010,7 @@ const template = (titlePrefix, ...elements) => { ? [ link({ rel: "stylesheet", href: `/assets/styles/mobile.css?v=${assetVersion()}` }), acampadaBase(theme), themeLink, acampadaLink(theme) ] : [ themeLink, link({ rel: "stylesheet", href: `/assets/styles/mobile.css?v=${assetVersion()}`, media: "(max-width: 768px)" }) ]), process.env.OASIS_MOBILE === '1' ? link({ rel: "stylesheet", href: `/assets/styles/mobile_ux.css?v=${assetVersion()}` }) : null, + process.env.OASIS_MOBILE === '1' ? require('./mobile_ui').colorsLink() : null, link({ rel: "icon", href: "/assets/images/favicon.svg" }), meta({ charset: "utf-8" }), meta({ name: "description", content: i18n.oasisDescription }), @@ -2398,6 +2399,7 @@ exports.ainavHomeView = ({ recentTags = [] } = {}) => { ? [ link({ rel: "stylesheet", href: `/assets/styles/mobile.css?v=${assetVersion()}` }), acampadaBase(theme), link({ rel: "stylesheet", href: `/assets/themes/${theme}.css?v=${assetVersion()}` }), acampadaLink(theme) ] : [ link({ rel: "stylesheet", href: `/assets/themes/${theme}.css?v=${assetVersion()}` }), link({ rel: "stylesheet", href: `/assets/styles/mobile.css?v=${assetVersion()}`, media: "(max-width: 768px)" }) ]), process.env.OASIS_MOBILE === '1' ? link({ rel: "stylesheet", href: `/assets/styles/mobile_ux.css?v=${assetVersion()}` }) : null, + process.env.OASIS_MOBILE === '1' ? require('./mobile_ui').colorsLink() : null, link({ rel: "icon", href: "/assets/images/favicon.svg" }), meta({ charset: "utf-8" }), meta({ name: "description", content: i18n.oasisDescription }), diff --git a/src/views/mobile_icons.js b/src/views/mobile_icons.js index ce067ac..20d44d7 100644 --- a/src/views/mobile_icons.js +++ b/src/views/mobile_icons.js @@ -84,6 +84,7 @@ const ICONS = { data: '', mic: '', camera: '', + palette: '', hangup: '' }; diff --git a/src/views/mobile_settings.js b/src/views/mobile_settings.js new file mode 100644 index 0000000..bd9f486 --- /dev/null +++ b/src/views/mobile_settings.js @@ -0,0 +1,267 @@ +"use strict"; +// Ajustes del movil: los seis accesos de arriba y lo que hay detras de cada uno. +// +// Lo que se elige en la bienvenida (identidad, perfil de uso, portada, comunidad y +// saludo) tiene que poder cambiarse despues sin buscarlo. Arriba de Ajustes va una +// rejilla con esos cinco y un sexto, Colores; cada acceso baja a su bloque, y cada +// bloque guarda al tocar, igual que en la bienvenida. +// +// Los formularios de identidad y saludo envian a las rutas del dev (/welcome/profile, +// /welcome/greeting) con un returnTo; fork_routes.js cambia su redireccion a +// /welcome por la vuelta a Ajustes. Colores es propio: /settings/colors y la hoja +// /mobile-colors.css, que va la ultima. +// +// Los colores son las variables --a26-* del tema Acampada; por eso al elegir colores +// el aspecto pasa a Acampada (OasisMobile.css es del dev y lleva los suyos fijos). + +const crypto = require("crypto"); +const { a, button, details, div, form, img, input, label, p, section, span, summary, textarea, h2 } = require("../server/node_modules/hyperaxe"); +const { iconNode } = require("./mobile_icons"); + +const t = () => require("./main_views").i18n; +const cfgNow = () => { try { return require("../configs/config-manager.js").getConfig() || {}; } catch (_) { return {}; } }; + +// ---------- colores ---------- + +// [clave, fondo, texto, acento]; la primera es la de Acampada tal cual +const PALETTES = [ + ["acampada", "#ffffff", "#000000", "#00e5ff"], + ["noche", "#101114", "#f2f2f2", "#00e5ff"], + ["oro", "#121212", "#f2f2f2", "#ffd700"], + ["bosque", "#f3f7ef", "#13231a", "#3ccf7e"], + ["lila", "#faf7ff", "#1d1430", "#b48cff"], + ["brasa", "#fff8f2", "#1a0f0a", "#ff6a2b"], + ["papel", "#f5efe3", "#2a2420", "#ff4f8b"], + ["contraste", "#000000", "#ffffff", "#ffff00"] +]; +const DEFAULT = PALETTES[0]; + +const HEX = /^#[0-9a-f]{6}$/i; +const rgb = (hex) => [1, 3, 5].map(i => parseInt(hex.slice(i, i + 2), 16)); +const toHex = (c) => "#" + c.map(v => Math.round(Math.max(0, Math.min(255, v))).toString(16).padStart(2, "0")).join(""); +const mix = (x, y, k) => { const p = rgb(x), q = rgb(y); return toHex(p.map((v, i) => v + (q[i] - v) * k)); }; +const lum = (hex) => { + const [r, g, b] = rgb(hex).map(v => { v /= 255; return v <= 0.03928 ? v / 12.92 : Math.pow((v + 0.055) / 1.055, 2.4); }); + return 0.2126 * r + 0.7152 * g + 0.0722 * b; +}; +const contrast = (x, y) => { const p = lum(x), q = lum(y); return (Math.max(p, q) + 0.05) / (Math.min(p, q) + 0.05); }; +// negro o blanco, el que mas se lea encima +const readableOn = (hex) => contrast(hex, "#000000") >= contrast(hex, "#ffffff") ? "#000000" : "#ffffff"; + +// lo guardado, ya comprobado; sin nada guardado, Acampada +const colorState = (cfg) => { + const c = (cfg || cfgNow()).mobileColors; + if (!c || typeof c !== "object" || ![c.bg, c.fg, c.accent].every(v => HEX.test(String(v || "")))) { + return { preset: DEFAULT[0], bg: DEFAULT[1], fg: DEFAULT[2], accent: DEFAULT[3], chosen: false, fixed: false }; + } + const preset = c.preset === "custom" || PALETTES.some(x => x[0] === c.preset) ? c.preset : "custom"; + return { preset, bg: c.bg.toLowerCase(), fg: c.fg.toLowerCase(), accent: c.accent.toLowerCase(), chosen: true, fixed: c.fixed === true }; +}; + +// lo que llega del formulario -> lo que se guarda. Un texto que no se lee sobre el +// fondo se cambia por negro o blanco y se avisa (fixed) +const colorsFromBody = (body) => { + const pick = String(body.preset || ""); + const pal = PALETTES.find(x => x[0] === pick); + if (pal) return { preset: pal[0], bg: pal[1], fg: pal[2], accent: pal[3] }; + const now = colorState(); + const bg = HEX.test(String(body.bg || "")) ? body.bg.toLowerCase() : now.bg; + let fg = HEX.test(String(body.fg || "")) ? body.fg.toLowerCase() : now.fg; + const accent = HEX.test(String(body.accent || "")) ? body.accent.toLowerCase() : now.accent; + let fixed = false; + if (contrast(bg, fg) < 4.5) { fg = readableOn(bg); fixed = true; } + return { preset: "custom", bg, fg, accent, fixed }; +}; + +const PREVIEW_CSS = PALETTES.map(([k, bg, fg, ac]) => + `.pal-${k} .pal-bg{background:${bg}!important}.pal-${k} .pal-fg{background:${fg}!important}.pal-${k} .pal-ac{background:${ac}!important}`).join("\n"); + +// la hoja que va la ultima: las variables del tema con los colores elegidos y las +// muestras de las paletas (la CSP no deja estilos en linea) +const colorsCss = (cfg) => { + const c = colorState(cfg); + // solo con Acampada: OasisMobile.css es del dev y lleva su paleta fija + const onAcampada = ((cfg || cfgNow()).themes || {}).current === "Acampada"; + const vars = c.chosen && onAcampada ? [ + `--a26-bg:${c.bg}`, `--a26-fg:${c.fg}`, `--a26-neon:${c.accent}`, + `--a26-on-neon:${readableOn(c.accent)}`, + `--a26-soft:${mix(c.bg, c.fg, 0.06)}`, + `--a26-muted:${mix(c.fg, c.bg, 0.35)}`, + `--a26-tint:${mix(c.bg, c.accent, 0.2)}`, + `--a26-line:${mix(c.bg, c.fg, 0.25)}`, + `color-scheme:${lum(c.bg) < 0.2 ? "dark" : "light"}` + ] : []; + const custom = `.pal-custom .pal-bg{background:${c.bg}!important}.pal-custom .pal-fg{background:${c.fg}!important}.pal-custom .pal-ac{background:${c.accent}!important}`; + return (vars.length ? `:root{${vars.join(";")}}\n` : "") + PREVIEW_CSS + "\n" + custom + "\n"; +}; +const colorsVersion = (cfg) => crypto.createHash("sha1").update(colorsCss(cfg)).digest("hex").slice(0, 10); +const colorsLink = () => require("../server/node_modules/hyperaxe").link({ rel: "stylesheet", href: `/mobile-colors.css?v=${colorsVersion()}` }); + +const swatch = (key) => span({ class: `pal-swatch pal-${key}`, "aria-hidden": "true" }, + span({ class: "pal-bg" }), span({ class: "pal-fg" }), span({ class: "pal-ac" })); + +// el selector de colores, el mismo en Ajustes y en la bienvenida +const colorsPick = (returnTo, withKeep) => { + const i18n = t(); + const c = colorState(); + const cur = c.chosen ? c.preset : DEFAULT[0]; + const theme = (cfgNow().themes || {}).current; + return div({ class: "color-pick" }, + form({ method: "POST", action: "/settings/colors", class: "ux-pick" }, + input({ type: "hidden", name: "returnTo", value: returnTo }), + p({ class: "ux-pick-hint" }, i18n.colorsHint || "Tap a palette and it is applied."), + theme && theme !== "Acampada" ? p({ class: "form-hint" }, i18n.colorsSkinNote || "Colours go with the Acampada look; choosing one switches to it.") : null, + div({ class: "pal-grid" }, + ...PALETTES.map(([k]) => button(Object.assign({ type: "submit", name: "preset", value: k, class: k === cur ? "pal-card is-current" : "pal-card" }, k === cur ? { "aria-current": "true" } : {}), + swatch(k), + span({ class: "pal-name" }, i18n[`palette_${k}`] || k), + k === cur ? span({ class: "ux-pick-now" }, i18n.uxPickCurrent || "In use") : null + )) + ), + withKeep && !c.chosen ? div({ class: "welcome-action" }, button({ type: "submit", name: "preset", value: DEFAULT[0], class: "welcome-skip-btn" }, i18n.colorsKeep || "Keep these")) : null + ), + details(Object.assign({ class: "color-custom" }, cur === "custom" ? { open: true } : {}), + summary(swatch("custom"), span(i18n.colorsCustom || "Your own")), + form({ method: "POST", action: "/settings/colors", class: "color-custom-form" }, + input({ type: "hidden", name: "returnTo", value: returnTo }), + input({ type: "hidden", name: "preset", value: "custom" }), + label({ class: "color-field" }, span(i18n.colorsBg || "Background"), input({ type: "color", name: "bg", value: c.bg })), + label({ class: "color-field" }, span(i18n.colorsFg || "Text"), input({ type: "color", name: "fg", value: c.fg })), + label({ class: "color-field" }, span(i18n.colorsAccent || "Accent"), input({ type: "color", name: "accent", value: c.accent })), + c.fixed ? p({ class: "form-hint" }, i18n.colorsFixed || "The text could not be read on that background, so it was set to black or white.") : null, + button({ type: "submit", class: "create-button" }, i18n.colorsApply || "Apply") + ) + ) + ); +}; + +// ---------- los seis accesos ---------- + +const QUICK = [ + { id: "identity", icon: "profile", key: "quick_identity" }, + { id: "workflows", icon: "modules", key: "quick_workflow" }, + { id: "ux", icon: "activity", key: "quick_ux" }, + { id: "colors", icon: "palette", key: "quick_colors" }, + { id: "community", icon: "invites", key: "quick_community" }, + { id: "greeting", icon: "publish", key: "quick_greeting" } +]; + +// la linea de debajo de cada acceso: lo que hay puesto ahora +const quickValue = (id, cfg) => { + const i18n = t(); + if (id === "identity") return global.__OASIS_SELF_NAME__ || ""; + if (id === "workflows") { + const wf = (() => { try { return require("../models/workflows_model").currentWorkflow(cfg); } catch (_) { return null; } })(); + return wf ? (i18n[`workflow_${wf}`] || wf) : ""; + } + if (id === "ux") { + const ux = (cfg.ux || {}).current || "blocks"; + return { blocks: i18n.uxModeMenus, ainav: i18n.uxModeAINav, chats: i18n.uxModeChats, feed: i18n.uxModeFeed, phone: i18n.phoneTitle, rooms: i18n.roomsTitle }[ux] || ""; + } + if (id === "colors") { const c = colorState(cfg); return c.preset === "custom" ? (i18n.colorsCustom || "") : (i18n[`palette_${c.preset}`] || ""); } + return ""; +}; + +const quickGrid = (cfg, present) => { + const i18n = t(); + return section({ id: "quick", class: "quick-settings" }, + div({ class: "tags-header" }, h2(i18n.quickTitle || "The basics"), p(i18n.quickHint || "What you chose when you started, one tap away.")), + div({ class: "quick-grid" }, + ...QUICK.filter(q => present.includes(q.id)).map(q => a({ href: `#${q.id}`, class: "quick-tile" }, + iconNode("quick-ico", q.icon), + span({ class: "quick-name" }, i18n[q.key] || q.id), + span({ class: "quick-now" }, quickValue(q.id, cfg)) + )) + ) + ); +}; + +// ---------- bloques nuevos de Ajustes ---------- + +const RETURN = (id) => `/settings#${id}`; + +const identitySection = () => { + const i18n = t(); + const avatar = global.__OASIS_SELF_AVATAR__; + return section({ id: "identity" }, + div({ class: "tags-header" }, h2(i18n.quick_identity || i18n.welcomeStepIdentity), p(i18n.welcomeHintIdentity)), + form({ method: "POST", action: "/welcome/profile", enctype: "multipart/form-data", class: "welcome-profile-form" }, + input({ type: "hidden", name: "returnTo", value: RETURN("identity") }), + label({ for: "set-name" }, i18n.profileName), + input({ type: "text", id: "set-name", name: "name", maxlength: "80", value: global.__OASIS_SELF_NAME__ || "" }), + label({ for: "set-image" }, i18n.profileImage), + avatar ? img({ class: "welcome-profile-avatar", src: avatar, alt: "" }) : null, + input({ type: "file", id: "set-image", name: "image", accept: "image/*" }), + button({ type: "submit" }, i18n.welcomeStepProfileAction) + ), + a({ href: "/profile/edit", class: "filter-btn" }, i18n.quickProfileMore || "Description and more") + ); +}; + +const colorsSection = () => { + const i18n = t(); + return section({ id: "colors" }, + div({ class: "tags-header" }, h2(i18n.quick_colors || "Colours")), + colorsPick(RETURN("colors"), false) + ); +}; + +const communitySection = () => { + const i18n = t(); + return section({ id: "community" }, + div({ class: "tags-header" }, h2(i18n.quick_community || i18n.welcomeStepCommunity), p(i18n.welcomeHintCommunity)), + div({ class: "quick-links" }, + a({ href: "/invites", class: "create-button" }, i18n.quickJoinPub || i18n.invites), + a({ href: "/peers", class: "filter-btn" }, i18n.quickSeePeers || i18n.peers) + ) + ); +}; + +const greetingSection = () => { + const i18n = t(); + return section({ id: "greeting" }, + div({ class: "tags-header" }, h2(i18n.quick_greeting || i18n.welcomeStepIntro), p(i18n.welcomeHintIntro)), + form({ method: "POST", action: "/welcome/greeting", class: "welcome-greeting-form" }, + input({ type: "hidden", name: "returnTo", value: RETURN("greeting") }), + textarea({ name: "text", required: true, minlength: "1", maxlength: "280", rows: 3, placeholder: i18n.quickGreetingPlaceholder || "" }), + button({ type: "submit" }, i18n.welcomeStepGreetingAction) + ) + ); +}; + +// recibe las secciones de settings_view (pestaña Oasis) y devuelve la lista del movil: +// la rejilla arriba, los bloques nuevos metidos en su sitio y el orden de los accesos +const ORDER = ["quick", "update", "language", "identity", "workflows", "ux", "colors", "theme", "community", "greeting", "home-page"]; +const withQuick = (parts) => { + const cfg = cfgNow(); + const mods = cfg.modules || {}; + const extra = [ + identitySection(), + colorsSection(), + mods.invitesMod !== "off" ? communitySection() : null, + mods.feedMod !== "off" ? greetingSection() : null + ].filter(Boolean); + const list = parts.filter(Boolean).concat(extra); + const ids = list.map(el => el && el.id); + list.push(quickGrid(cfg, ids)); + const rank = (el) => { const i = ORDER.indexOf(el && el.id); return i === -1 ? ORDER.length : i; }; + return list.map((el, i) => ({ el, i })).sort((x, y) => rank(x.el) - rank(y.el) || x.i - y.i).map(x => x.el); +}; + +// ---------- bienvenida ---------- + +// Colores entra como paso, despues del tipo de portada. No es un paso del dev, asi +// que el "hecho" sale de si ya hay colores guardados +const welcomeWithColors = (usable) => { + if (usable.includes("colors")) return usable; + const out = usable.slice(); + const at = out.indexOf("ux"); + out.splice(at === -1 ? out.length : at + 1, 0, "colors"); + return out; +}; +const welcomeDone = (steps) => Object.assign({}, steps, { colors: colorState().chosen }); + +module.exports = { + PALETTES, colorState, colorsFromBody, colorsCss, colorsLink, colorsPick, + withQuick, welcomeWithColors, welcomeDone, contrast +}; diff --git a/src/views/mobile_ui.js b/src/views/mobile_ui.js index c3448e3..777669d 100644 --- a/src/views/mobile_ui.js +++ b/src/views/mobile_ui.js @@ -107,14 +107,9 @@ const tribeTabs = (tribe, section, sections) => { // ---------- ajustes ---------- -// primero lo que se toca (idioma, aspecto, tipo de uso, portada) y despues lo tecnico; -// se reordena por id de seccion, sin tocar las secciones -const SETTINGS_FIRST = ['update', 'language', 'ux', 'theme', 'workflows', 'home-page']; -const settingsOrder = (parts) => { - const list = parts.filter(Boolean); - const rank = (el) => { const i = SETTINGS_FIRST.indexOf(el && el.id); return i === -1 ? SETTINGS_FIRST.length : i; }; - return list.map((el, i) => ({ el, i })).sort((x, y) => rank(x.el) - rank(y.el) || x.i - y.i).map(x => x.el); -}; +// primero los seis accesos y lo que se toca (idioma, identidad, uso, portada, +// colores, aspecto) y despues lo tecnico; ver mobile_settings.js +const settingsOrder = (parts) => require('./mobile_settings').withQuick(parts); // cada idioma un boton que se aplica al tocarlo (antes desplegable y otro boton) const LANGS = [['Español', 'es'], ['Català', 'ca'], ['Euskara', 'eu'], ['Galego', 'gl'], ['English', 'en'], ['Français', 'fr'], @@ -179,12 +174,14 @@ const workflowPick = (action, current, keys, withHint) => { // pasos de la bienvenida en el movil: el backend del dev quita el de uso en el movil; // aqui vuelve, el segundo, justo despues de la identidad (/welcome/workflow es suyo) +// y Colores despues del tipo de portada (mobile_settings.js) const welcomeSteps = (usable) => { - if (usable.includes('workflow')) return usable; const out = usable.slice(); - const at = out.indexOf('profile'); - out.splice(at === -1 ? 0 : at + 1, 0, 'workflow'); - return out; + if (!out.includes('workflow')) { + const at = out.indexOf('profile'); + out.splice(at === -1 ? 0 : at + 1, 0, 'workflow'); + } + return require('./mobile_settings').welcomeWithColors(out); }; // ---------- acciones de tarjeta ---------- @@ -228,7 +225,14 @@ const welcomeBannerHere = (here) => ['', '/', '/activity'].includes(here); const welcomeBannerText = () => t().welcomeBannerTextMobile || t().welcomeBannerText; const welcomeBannerAction = () => t().welcomeBannerActionMobile || t().welcomeBannerAction; +// colores y Ajustes: viven en mobile_settings.js; aqui se reexportan para que los +// enganches de las vistas del dev pasen todos por mobile_ui +const colorsLink = () => require('./mobile_settings').colorsLink(); +const colorsPick = (returnTo, withKeep) => require('./mobile_settings').colorsPick(returnTo, withKeep); +const welcomeDone = (steps) => require('./mobile_settings').welcomeDone(steps); + module.exports = { + colorsLink, colorsPick, welcomeDone, isMobile, VOTE_KINDS, voteKindPicker, voteBars, voteOwnNote, tribeRow, tribeTabs, settingsOrder, languagePick, uxPick, workflowPick, welcomeSteps, deleteConfirm, footerLine, welcomeBannerHere, welcomeBannerText, welcomeBannerAction diff --git a/src/views/welcome_view.js b/src/views/welcome_view.js index 7b39341..808fa10 100644 --- a/src/views/welcome_view.js +++ b/src/views/welcome_view.js @@ -18,6 +18,7 @@ const SECTIONS = { greeting: ["welcomeStepIntro", "welcomeHintIntro"] } if (mobileUi.isMobile()) SECTIONS.workflow = ["welcomeStepUseMobile", "welcomeHintUseMobile"] +if (mobileUi.isMobile()) SECTIONS.colors = ["quick_colors", "welcomeHintColors"] const submitRow = (text) => div({ class: "welcome-action" }, button({ type: "submit" }, text)) @@ -63,6 +64,7 @@ const stepAction = (key, profile, status) => { submitRow(i18n.welcomeStepWorkflowAction) ) } + if (key === "colors") return mobileUi.colorsPick("/welcome#step-colors", true) if (key === "theme") return form({ method: "POST", action: "/welcome/theme", class: "welcome-ux-form" }, div({ class: "welcome-ux-grid" }, WIZARD_THEMES.map(([value, name]) => pickCard("theme", value, status.theme, name, `/assets/images/theme-${value.toLowerCase()}.png`)) @@ -105,7 +107,7 @@ const stepAction = (key, profile, status) => { } exports.welcomeView = async (status, profile = {}) => { - const steps = status.steps || {} + const steps = mobileUi.isMobile() ? mobileUi.welcomeDone(status.steps || {}) : (status.steps || {}) const usable = mobileUi.isMobile() ? mobileUi.welcomeSteps(status.usable || []) : (status.usable || []) const opened = usable.find(key => !steps[key]) const html = template(