Exit and Escape go to the launch page when a deck was opened directly

Abierto Apto para principiantes
#19 0 comentarios 0 reacciones 0 asignados Ver en GitHub

Nadie ha tomado este issue todavía.

Evaluación

Dificultad
2/5
Tiempo estimado
1-3 horas
Aptitud para principiantes
78/100
Tipo de issue
Error
Claridad
Bien especificado
Estado de actividad
Activo
Stack tecnológico
react, typescript
Área
frontend

Línea de trabajo

Empieza con exitDeck en src/deck-engine/DeckController.tsx, que actualmente llama a navigate(-1) incondicionalmente. Comprueba si location.key === "default" identifica una primera entrada; en ese caso, envía al visitante a /, manteniendo el mensaje deck-closed en el canal antes de navegar. Se considera terminado cuando Exit y Escape desde un deck abierto directamente llevan a la página de inicio, abrir desde la página de inicio sigue devolviendo allí, y las pruebas del motor cubren ambos casos.

Escrito por el modelo de indexación a partir del texto del issue.

Descripción

bug

Why

exitDeck in src/deck-engine/DeckController.tsx always calls navigate(-1). A deck is often the first page in its tab: a shared link, a bookmark, a pasted address. In that case there is no earlier entry in the app, and Exit and Escape take the visitor out of the app altogether, to the browser's previous page or to a blank tab. Someone who followed a link to one deck loses the way to the rest.

What changes

  1. exitDeck goes back when the app has an earlier entry, and otherwise goes to the launch page (/). React Router marks the first entry with location.key === "default".
  2. The notes window is still told the deck closed (deck-closed on the channel) before navigating, as now.

Done when

  • Opening /deck/<id> in a fresh tab and pressing Exit, or Escape, lands on the launch page.
  • Opening a deck from the launch page and pressing Exit still returns there.
  • The engine's tests pass, with a test for each case.

Out of scope

  • Letting a host supply its own exit handler.
  • Any change to the bars.
Lenguaje dominante
TypeScript
Estrellas
1
Forks
0
Merge medio
30 min
PR fusionados (30 d)
9

Preparar el entorno

Este proyecto no incluye contenedor de desarrollo, Dockerfile ni guía de contribución, así que la configuración corre por tu cuenta: empieza por su README y consulta nuestra guía para la primera contribución para los pasos generales.

Primeros pasos

  1. Lee el issue completo y luego la guía de contribución del proyecto.
  2. Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
  3. Haz un fork del repositorio y trabaja en una rama.
  4. Abre un pull request que haga referencia al número del issue.

Más de johnfrog76/connected-deck

Todos los issues de johnfrog76/connected-deck

Issues similares

Más issues de TypeScript

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.