Hacktoberfest 2026: le issue che i maintainer hanno segnato per ottobre, aperte e adatte ai principianti. Sfoglia le issue Hacktoberfest

feat(ux): abrir y cerrar el detalle con clic directo sobre el orbe

Aperta
#170 1 commento 0 reazioni 0 assegnatari Vedi su GitHub

I maintainer di solito rispondono entro 1 giorno

Nessuno ha ancora preso questa issue.

Valutazione

Difficoltà
5/5
Tempo stimato
Più di una settimana
Idoneità per principianti
30/100
Tipo di issue
Funzionalità
Chiarezza
Da chiarire
Stato di attività
Attiva
Stack tecnologico
typescript
Ambito
design, desktop

Direzione di ricerca

Read the interaction code for ProviderGauge and openFor, then inspect the existing hover timing and related tests. The issue leaves the click and hover behavior as product decisions, including whether clicking the visible provider opens or switches the panel; implementation can be scoped once those choices are resolved.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Descrizione

Qué propone

Abrir y cerrar el panel de detalle con un clic directo sobre el orbe, además del hover actual. Es un cambio de UX multiplataforma, así que va por separado del arreglo de Wayland (#169).

Motivación

Hoy el panel abre por mouseenter con OPEN_DELAY y cierra por mouseleave + temporizador. En Linux eso es frágil:

  • No hay una segunda señal que filtre el paso accidental del puntero. El muestreo nativo de presencia (#154) solo existe en macOS porque ahí WebKit deja de emitir mouseleave; en WebKitGTK los eventos del DOM funcionan, así que no hay motivo para añadirlo.
  • El único freno es el temporizador de apertura. Con 90 ms el detalle se dispara al recorrer la tira con el cursor; con 350 ms (lo que lleva ahora solo Linux en #169) el barrido deja de abrirlo, pero 350 ms también se siente lento cuando querés abrirlo a propósito.
  • Un clic es una intención explícita y no depende del recorrido del puntero.
Decisión de producto que hace falta

El clic tiene que coexistir con el hover, y ahí está la pregunta que no quiero resolver por mi cuenta:

  1. Clic como atajo, hover intacto. OPEN_DELAY se queda como está; el clic abre al instante. Simple y retrocompatible. El coste: en Linux el hover a 350 ms sigue sintiéndose lento para quien ya se acostumbró al clic.
  2. Clic como interruptor, hover reducido. Un clic sobre un orbe con el panel abierto lo cierra, y sobre otro orbe lo cambia directamente. Es el comportamiento que many desktop apps usan para menús popover. El coste: es un cambio de modelo mental respecto al hover puro, y hay que decidir si el hover sigue abriendo o solo cambia.
  3. Clic excluyente en Linux. Donde el hover es frágil, el clic es el mecanismo principal y el hover solo cambia entre orbes ya abierto. Es lo más coherente con el diagnóstico, pero diverge por plataforma.

También hay que decidir si el clic debe abrir también el panel ya visible desde el orbe correspondiente (por ejemplo, para cambiar de provider sin cerrar antes).

Por qué no va en #169

Porque no es un arreglo de una plataforma: es una decisión de interacción que afecta a los tres. En #169, OPEN_DELAY quedó acotado a Linux y el toggle por clic fuera, para no mezclar un cambio de comportamiento global con el acotamiento de los recoveries por plataforma.

Alcance de la implementación, si se aprueba
  • ProviderGauge acepta un onClick opcional; si no se pasa, el comportamiento actual queda intacto.
  • openFor(id, el, immediate) con immediate para saltar el temporizador.
  • Un test que fije que el clic abre, que el segundo clic sobre el mismo orbe cierra, y que sobre otro orbe cambia.
  • Decisión de plataforma documentada en el propio código.
Nota

Mientras tanto, en Linux el OPEN_DELAY de #169 queda en 350 ms. Si esta issue se aprueba con la opción 3, ese valor podría volver a 90 ms para Linux porque el clic pasa a ser la vía principal.

Lingua principale
TypeScript
Stelle
10
Fork
2
Merge medio
3h 24m
PR unite (30g)
89

Preparare l'ambiente

Questo progetto non fornisce container di sviluppo, Dockerfile né guida per i contributori, quindi l'ambiente è a tuo carico: parti dal suo README e consulta la nostra guida al primo contributo per i passaggi generali.

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Altre issue di egdev6/quorb

Tutte le issue di egdev6/quorb

Issue simili

Altre issue su TypeScript

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.