Skip to content

feat(frontend): add mouse side-button navigation#16

Merged
xt0n1-t3ch merged 1 commit into
mainfrom
feat/15-mouse-side-navigation
Jun 12, 2026
Merged

feat(frontend): add mouse side-button navigation#16
xt0n1-t3ch merged 1 commit into
mainfrom
feat/15-mouse-side-navigation

Conversation

@xt0n1-t3ch

@xt0n1-t3ch xt0n1-t3ch commented Jun 12, 2026

Copy link
Copy Markdown
Owner

Resumen

  • Agrega un contrato de historial interno para estados de vista/drawer de DLSSync.
  • Conecta los botones laterales del mouse en App.svelte: botón 3 navega hacia atrás y botón 4 navega hacia adelante.
  • Captura transiciones entre menús/vistas y abrir/cerrar el drawer de detalle de juego.
  • Agrega cobertura unitaria para el contrato puro y la integración del App shell.

Closes #15

Mapeo de aceptación

  • Back lateral vuelve al estado/menú anterior de DLSSync.
  • Forward lateral restaura el siguiente estado cuando existe.
  • El drawer de detalle de juego entra en el historial: abrir y cerrar son navegables.
  • La navegación no depende de history.back() / history.forward() del navegador.
  • Botones no laterales no se interceptan.

Archivos cambiados

  • frontend/src/lib/appNavigation.ts — contrato puro de historial + mapping de botones mouse.
  • frontend/src/App.svelte — listener mouseup, escritura a stores y cleanup.
  • tests/unit/appNavigation.test.ts — back/forward, dedupe, branch-drop y mapping de botones.
  • tests/components/appSideButtonNav.test.ts — prueba de wiring del App shell.

Evidencia

  • pnpm --filter dlssync-frontend test -- appSideButtonNav.test.ts appNavigation.test.ts → 2 archivos / 12 tests passed.
  • pnpm --filter dlssync-frontend test → 62 archivos / 519 passed / 1 skipped.
  • pnpm --filter dlssync-frontend check → 0 errors / 0 warnings.
  • pnpm --filter dlssync-frontend build → build de producción completado.
  • git diff --check → limpio.
  • GitHub CI → Frontend (typecheck + build), Rust (fmt + clippy + check), y E2E (Playwright over WebView2) pasaron.

Impacto release/docs

Riesgo y rollback

  • Riesgo: bajo; el historial es app-local y sólo intercepta botones laterales reconocidos.
  • Rollback: revertir este PR remueve el listener y el contrato de navegación lateral.
  • Archivo local no relacionado .github/assets/nexus/badge-strip-1300x220.png no fue incluido.

@xt0n1-t3ch xt0n1-t3ch moved this from Todo to In Progress in DLSSync Roadmap Jun 12, 2026
@xt0n1-t3ch xt0n1-t3ch merged commit 909bf1a into main Jun 12, 2026
3 checks passed
@github-project-automation github-project-automation Bot moved this from In Progress to Done in DLSSync Roadmap Jun 12, 2026
@xt0n1-t3ch xt0n1-t3ch deleted the feat/15-mouse-side-navigation branch June 12, 2026 21:45
xt0n1-t3ch added a commit that referenced this pull request Jun 12, 2026
Refs #15
Refs #16

Proof:
- Frontend (typecheck + build): pass
- Rust (fmt + clippy + check): pass
- E2E (Playwright over WebView2): pass
- Local frontend tests/check/build: pass
- Local cargo fmt/check/clippy: pass
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

Status: Done

Development

Successfully merging this pull request may close these issues.

Opción de retroceder y avanzar con los botones laterales de mouse

1 participant