Hacktoberfest 2026: những issue maintainer đã đánh dấu cho tháng Mười, đang mở và phù hợp người mới. Xem issue Hacktoberfest

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

Đang mở
#170 1 bình luận 0 reaction 0 người được giao Xem trên GitHub

Maintainer thường phản hồi trong vòng 1 ngày

Chưa có ai nhận issue này.

Đánh giá

Độ khó
5/5
Thời gian dự kiến
Hơn một tuần
Mức phù hợp với người mới
30/100
Loại issue
Tính năng
Độ rõ ràng
Cần làm rõ
Mức độ hoạt động
Sôi nổi
Công nghệ
typescript
Lĩnh vực
design, desktop

Hướng nghiên cứu

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.

Do mô hình lập chỉ mục viết ra từ nội dung của issue.

Mô tả

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.

Ngôn ngữ chính
TypeScript
Star
10
Fork
2
Merge trung bình
4 giờ 14 phút
Pull request đã merge (30 ngày)
97

Chuẩn bị môi trường

Dự án này không cung cấp dev container, Dockerfile hay hướng dẫn đóng góp, nên bạn cần tự thiết lập môi trường: hãy bắt đầu từ README và xem hướng dẫn đóng góp lần đầu của chúng tôi để biết các bước chung.

Bắt đầu từ đâu

  1. Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
  2. Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
  3. Fork repository và làm thay đổi trên một nhánh.
  4. Mở pull request có tham chiếu số hiệu của issue.

Issue khác của egdev6/quorb

Tất cả issue của egdev6/quorb

Issue tương tự

Thêm issue về TypeScript

Nhận issue mới trong hộp thư của bạn

Bản tóm tắt ngắn những issue GitHub phù hợp với người mới.