He reconstruido el menú de barra de Notion en 70 líneas de JavaScript

Notion parece magia. Escribes una barra (slash) y aparece un menú. Seleccionas una opción y tu texto se transforma.

He reconstruido esta funcionalidad usando 70 líneas de JavaScript puro. La magia es lógica simple.

El día 9 de mi serie DesignFromZero se centra en interfaces de usuario (UI) famosas. Reconstruyo estas herramientas desde cero para entenderlas.

La lógica se basa en tres partes:

El código utiliza un truco sencillo para la navegación. El uso del operador módulo permite usar las teclas de flecha para desplazarse por la lista. Hace que la selección vuelva al principio cuando llega al final.

Cuando presionas Enter, el código realiza dos tareas:

  1. Actualiza el tipo de bloque en los datos. Luego, CSS se encarga del cambio visual.
  2. Borra la barra y el texto del comando.

Las funcionalidades complejas suelen tener bases sencillas. Un menú de barra es solo datos más una comprobación de prefijo y un cambio de tipo.

Prueba la demo en vivo aquí: https://dev48v.infy.uk/design/day9-notion-slash.html

Lee el desglose completo aquí: https://dev.to/dev48v/i-rebuilt-notions-slash-menu-in-70-lines-of-javascript-2n9i