skin Activista, colores en todo y barra de unirse a un pub

Skin: uno solo en el movil, Activista, lo mas simple posible: letra del sistema,
titulos en negrita sin mayusculas, bordes de 1px, sin sombras ni botones que se
hunden; el principal con el color de resalte. Sale de Acampada (themes/Activista.css
y styles/activista.css); fuera Acampada y OasisMobile del selector, la fuente Anton y
las miniaturas. Quien tuviera otro skin pasa a Activista al abrir. Los colores se
aplican siempre; rojo de texto que se lee en las paletas oscuras.

Perfil de uso: Activismo por defecto en la config de serie.

Pub: barra fija encima de la barra de abajo mientras se une y descarga la red, con
la fase, el porcentaje y, si falla, por que (sin red o pub caido, pub sin copia, otro
corte). Se pone al dia sin recargar (public/js/mobile_pub.js y /mobile/pub-status);
sale al tocar unirse y, si no arranca nada, explica las causas habituales. Fuera la
recarga cada 5s de la bienvenida y de Copias en el movil. backend.js pasa
backupModel a fork_routes.js en la linea que lo monta.

Actividad: fichas de filtro en rejilla de tres y botones de cada tarjeta en una fila.
Enlaces web de 24px.
This commit is contained in:
hacklab 2026-10-20 14:23:26 +02:00
parent b277f8e1cf
commit b84a8856dc
25 changed files with 702 additions and 371 deletions

View file

@ -82,7 +82,7 @@ const WORKFLOWS = [
},
{
key: 'mobile',
theme: 'Acampada',
theme: 'OasisMobile',
homePage: 'activity',
modules: MOBILE_MODULES
}
@ -91,13 +91,9 @@ const WORKFLOWS = [
const WORKFLOW_KEYS = WORKFLOWS.map(w => w.key);
const isMobile = () => process.env.OASIS_MOBILE === '1';
// en el movil el workflow no toca el skin: se queda el que haya elegido cada cual
// (Acampada u OasisMobile); si no hay ninguno de movil, Acampada
const MOBILE_THEMES = ['Acampada', 'OasisMobile'];
const mobileSkin = (cfg) => {
const cur = cfg && cfg.themes && cfg.themes.current;
return MOBILE_THEMES.includes(cur) ? cur : 'Acampada';
};
// en el movil el workflow no toca el skin: hay uno solo, Activista
const MOBILE_THEMES = ['Activista'];
const mobileSkin = () => 'Activista';
const themeOf = (workflow, cfg) => (isMobile() ? mobileSkin(cfg) : workflow.theme);
const sameTheme = (theme, workflow) => (isMobile() ? MOBILE_THEMES.includes(theme) : theme === workflow.theme);