chore: añade .gitignore (excluye .claude/, .idea/, node_modules, etc)
Excluido .claude (config local de Claude Code) para no subir el settings.json al repo público. Untracked también .idea, node_modules y artefactos de build. Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
This commit is contained in:
parent
60cbfa9aa5
commit
a316c0ded1
3 changed files with 232 additions and 8 deletions
|
|
@ -1,8 +0,0 @@
|
|||
{
|
||||
"permissions": {
|
||||
"allow": [
|
||||
"Bash(git -C /home/sito/COFRE/CODERS/oasis_mobile add nodejs-project/nodejs-project/src/models/tribes_model.js nodejs-project/nodejs-project/src/models/main_models.js nodejs-project/nodejs-project/src/models/blockchain_model.js nodejs-project/nodejs-project/src/views/blockchain_view.js nodejs-project/nodejs-project/src/client/assets/styles/style.css)",
|
||||
"Bash(git -C /home/sito/COFRE/CODERS/oasis_mobile commit -m ' *)"
|
||||
]
|
||||
}
|
||||
}
|
||||
21
.gitignore
vendored
Normal file
21
.gitignore
vendored
Normal file
|
|
@ -0,0 +1,21 @@
|
|||
# Claude Code
|
||||
.claude/
|
||||
.claude
|
||||
|
||||
# IDE
|
||||
.idea/
|
||||
*.swp
|
||||
*.swo
|
||||
|
||||
# Node
|
||||
node_modules/
|
||||
npm-debug.log
|
||||
yarn-error.log
|
||||
|
||||
# OS
|
||||
.DS_Store
|
||||
Thumbs.db
|
||||
|
||||
# Build artifacts
|
||||
*.apk.tmp
|
||||
/tmp/
|
||||
211
CONTEXT/tareas_usabilidad.txt
Normal file
211
CONTEXT/tareas_usabilidad.txt
Normal file
|
|
@ -0,0 +1,211 @@
|
|||
===============================================================
|
||||
TAREAS DE USABILIDAD — Oasis Mobile
|
||||
Creado: 2026-05-09
|
||||
===============================================================
|
||||
|
||||
Lista de mejoras pendientes de UX/usabilidad en la app móvil.
|
||||
Estado actual y especificacion de cada tarea.
|
||||
|
||||
===============================================================
|
||||
TAREA 1 — PAGINADOR MÓVIL EN TODAS LAS BARRAS DE FILTROS
|
||||
===============================================================
|
||||
|
||||
OBJETIVO
|
||||
--------
|
||||
Aplicar el mismo paginador CSS-only (.actpager) que ya está en
|
||||
activity/agenda/trending/etc al resto de submenús con filtros.
|
||||
|
||||
El paginador muestra 2 botones por página con flechas ‹ › que
|
||||
permiten navegar 2 en 2. Sin scroll del dedo, sin JS, sin
|
||||
problemas de CSP ni caché.
|
||||
|
||||
POR QUÉ
|
||||
-------
|
||||
Actualmente las vistas sin paginador tienen los botones en
|
||||
flex-wrap (multilinea), ocupando muchas filas y obligando al
|
||||
usuario a hacer scroll vertical para ver toda la pantalla.
|
||||
Con el paginador queda compacto: 1 fila + flechas.
|
||||
|
||||
CÓMO IMPLEMENTAR (patrón replicable)
|
||||
------------------------------------
|
||||
Para cada vista:
|
||||
|
||||
1. Importar el helper:
|
||||
const { renderMobilePager } = require('./mobile_pager')
|
||||
|
||||
2. Construir el array de items:
|
||||
const items = FILTERS.map(f => ({
|
||||
type: f,
|
||||
label: i18n[`${prefijo}Filter${capitalize(f)}`] || f.toUpperCase()
|
||||
}))
|
||||
|
||||
3. Generar el paginador:
|
||||
const mobilePager = renderMobilePager({
|
||||
items,
|
||||
idPrefix: 'XXp', // único en la página (3-4 letras)
|
||||
formAction: '/ruta',
|
||||
currentFilter: filter,
|
||||
pageSize: 2
|
||||
})
|
||||
|
||||
4. Insertar el paginador ANTES del contenedor desktop:
|
||||
mobilePager,
|
||||
div({ class: '<clase-original> actpager-desktop-only' },
|
||||
...filtros originales
|
||||
)
|
||||
|
||||
5. La regla CSS .actpager-desktop-only { display: none } en
|
||||
mobile.css ya oculta el contenedor desktop en móvil.
|
||||
|
||||
ARCHIVOS DE REFERENCIA
|
||||
----------------------
|
||||
src/views/mobile_pager.js <- helper renderMobilePager
|
||||
src/views/activity_view.js <- ejemplo más completo (36 filtros)
|
||||
src/views/banking_views.js <- ejemplo con extraHidden / search
|
||||
src/client/assets/styles/mobile.css <- reglas del paginador
|
||||
|
||||
===============================================================
|
||||
INVENTARIO COMPLETO DE SUBMENÚS
|
||||
===============================================================
|
||||
|
||||
YA TIENEN PAGINADOR (8 vistas)
|
||||
------------------------------
|
||||
Submenú Ruta Filtros Páginas
|
||||
-------------------------------------------------
|
||||
activity /activity 36 18
|
||||
agenda /agenda 13 7
|
||||
trending /trending 13 7
|
||||
blockexplorer /blockexplorer ~31 16
|
||||
banking /banking 10 5
|
||||
inhabitants /inhabitants 9 5
|
||||
calendars /calendars 6 3
|
||||
logs /logs 5 3
|
||||
|
||||
PENDIENTES DE PAGINADOR (24 vistas)
|
||||
-----------------------------------
|
||||
|
||||
Prioridad ALTA (>=8 filtros):
|
||||
market /market ~12 filters
|
||||
transfer /transfers ~10 filters
|
||||
image /images ~8 filters
|
||||
event /events ~8 filters
|
||||
tribes /tribes 8 tribe-mode-buttons
|
||||
opinions /opinions 8 mode-buttons
|
||||
|
||||
Prioridad MEDIA (5-7 filtros):
|
||||
audio /audios ~6 filters
|
||||
video /videos ~6 filters
|
||||
document /docs ~6 filters
|
||||
bookmark /bookmarks ~6 filters
|
||||
torrents /torrents ~6 filters
|
||||
task /tasks ~6 filters
|
||||
favorites /favorites ~6 filters
|
||||
maps /maps 6 filters
|
||||
vote /votations 5 filters
|
||||
pads /pads 5 tribe-mode-buttons
|
||||
jobs /jobs 5 filters
|
||||
projects /projects 5 filters
|
||||
reports /reports 5 filters
|
||||
forum /forum 5+ filter-group + mode-buttons-cols
|
||||
|
||||
Prioridad BAJA (4 filtros):
|
||||
chats /chats 4 tribe-mode-buttons
|
||||
shops /shops 4 tribe-mode-buttons
|
||||
games /games 4 filter-group
|
||||
feed /feed 4 mode-buttons-row
|
||||
|
||||
NO NECESITAN PAGINADOR (caben en una fila)
|
||||
------------------------------------------
|
||||
modules /modules 4 presets (minimal/social/economy/full)
|
||||
stats /stats 3 modos
|
||||
tags /tags 3
|
||||
parliament /parliament 1
|
||||
courts /courts 2
|
||||
|
||||
SIN FILTROS / CASOS ESPECIALES
|
||||
------------------------------
|
||||
peers, wallet, AI, invites, settings, search, pixelia,
|
||||
legacy, cipher, pm, cv
|
||||
|
||||
===============================================================
|
||||
PATRONES ESPECIALES A TENER EN CUENTA
|
||||
===============================================================
|
||||
|
||||
1. tribe-mode-buttons (chats/pads/shops/tribes)
|
||||
Tienen un botón "Create" al final del array. Hay que
|
||||
decidir si meterlo en el paginador o dejarlo fuera.
|
||||
Recomendación: dejar el Create FUERA, antes o despues
|
||||
del paginador, como botón propio destacado.
|
||||
|
||||
2. mode-buttons-cols / filter-group (forum)
|
||||
Tiene múltiples columnas con filtros agrupados.
|
||||
Aplanar todo en un solo array para el paginador.
|
||||
|
||||
3. Filtros con parámetros extra (sort, q, etc)
|
||||
Algunos forms inyectan hidden inputs (sort, page, etc).
|
||||
Usar `extraHidden: { sort, q }` en renderMobilePager.
|
||||
Ya lo soporta el helper, ver banking_views.js como
|
||||
ejemplo.
|
||||
|
||||
4. Vistas con filter-btn en otras secciones
|
||||
filter-btn se usa también para botones "View details",
|
||||
"Visit", etc. Importante NO tocar esos. Solo modificar
|
||||
la barra de filtros principal del listado.
|
||||
|
||||
===============================================================
|
||||
TAREA 2 — REVISAR mode-buttons-cols Y mode-buttons-row
|
||||
===============================================================
|
||||
|
||||
En vistas como forum, feed y blockchain hay clases
|
||||
mode-buttons-cols y mode-buttons-row que en móvil hacen
|
||||
flex-wrap (multilinea) por la regla en mobile.css.
|
||||
|
||||
Decidir si:
|
||||
a) Aplicar paginador y dejar la versión desktop intacta
|
||||
b) Solo aplicar flex-wrap (lo actual)
|
||||
c) Otro layout específico
|
||||
|
||||
===============================================================
|
||||
TAREA 3 — UNIFORMAR EL HEADER MÓVIL EN VISTAS DE DETALLE
|
||||
===============================================================
|
||||
|
||||
Cuando entras al detalle (ej: /tribe/X, /event/Y), el header
|
||||
puede comportarse distinto. Revisar que el hamburger nav y
|
||||
quicklinks siempre se muestren correctamente.
|
||||
|
||||
===============================================================
|
||||
TAREA 4 — REVISAR FORMULARIOS LARGOS EN MÓVIL
|
||||
===============================================================
|
||||
|
||||
Vistas con formularios largos (create tribe, edit profile, etc):
|
||||
- tribes_view (create/edit form)
|
||||
- cv_view
|
||||
- settings_view
|
||||
|
||||
Verificar que los inputs se vean bien en móvil, sin overflow.
|
||||
|
||||
===============================================================
|
||||
TAREA 5 — CONSIDERAR DESACTIVAR PAGINADOR EN TABLET
|
||||
===============================================================
|
||||
|
||||
El media query actual es @media (max-width: 768px). En tablets
|
||||
estrechas en vertical (orientación portrait) puede ser que
|
||||
caben más botones. Considerar punto de quiebre 600px y dejar
|
||||
el desktop layout >600px.
|
||||
|
||||
===============================================================
|
||||
NOTA SOBRE PRIORIZACIÓN
|
||||
===============================================================
|
||||
|
||||
El usuario quiere uniformidad pero hay que sopesar:
|
||||
- Vistas con 4 botones: el flex-wrap actual ya queda en
|
||||
una sola fila normalmente. Poner paginador NO mejora
|
||||
mucho (4 botones quedan en 2 páginas de 2).
|
||||
- Vistas con 5-7 botones: ahora ocupan 2-3 filas en móvil.
|
||||
El paginador las compacta a 1 fila.
|
||||
- Vistas con 8+ botones: claramente necesitan paginador.
|
||||
|
||||
Decisión recomendada: empezar por prioridad ALTA (6 vistas)
|
||||
y MEDIA (14 vistas) — 20 vistas en total. La prioridad BAJA
|
||||
(4 vistas con 4 botones cada una) se puede dejar para más
|
||||
adelante.
|
||||
Loading…
Add table
Add a link
Reference in a new issue