Skip to content

v1.6.1

Choose a tag to compare

@Daiivr Daiivr released this 25 May 02:47

Trade Portal — Toast on completion + Styled tooltips

🇬🇧 English

Trade completion toast

  • A toast notification now pops up the moment a trade transitions to finished, telling the user their received file is waiting for them.
    • EN: "Trade complete. Your file is now available in the Recent files tray."
    • ES: "Trade completado. Tu archivo esta disponible en la bandeja de Archivos recientes."
  • Triggered from maybeCelebrateTrade so it fires exactly once per trade (same de-duplication guard as the confetti + chime).
  • Uses the existing showToast component with type: 'info' and a longer 6.5 s duration since the message invites the user to take an action.
  • Translation keys (tradeFinishedFileSaved) added to both the ES and EN dictionaries — adding more languages later only requires translating this same key.

Styled tooltips for help & downloads buttons

  • Replaced the default browser-native title="..." tooltip (the unstyled black box that clashed with the dark theme) on the download (#download-button) and help (#guide-button) buttons.
  • Buttons now expose their label via aria-label (for screen readers) and data-tooltip (for the visible chip), with title stripped on render.
  • The data-i18n-title handler in TradePortal.js keeps both attributes synchronized with the active language and clears any leftover title.
  • New CSS tooltip chip in TradePortal.css:
    • Dark surface (--surface-2), hairline border, soft drop shadow, matching the toast / popover language.
    • Smooth 140 ms fade-in + lift animation on :hover and :focus-visible.
    • Side-aware anchoring so it never clips off-screen on narrow viewports:
      • Download button (left of viewport) → tooltip anchored to its left edge, expands rightward.
      • Help button (right of viewport) → tooltip anchored to its right edge, expands leftward.
    • Auto-hides while the matching popover is open (aria-expanded="true") to avoid redundant labels.

🇪🇸 Español

Toast al completar el trade

  • Aparece un toast en el momento en que un trade pasa al estado finished, indicando al usuario que su archivo recibido le está esperando.
    • ES: "Trade completado. Tu archivo esta disponible en la bandeja de Archivos recientes."
    • EN: "Trade complete. Your file is now available in the Recent files tray."
  • Disparado desde maybeCelebrateTrade, por lo que se muestra exactamente una vez por trade (mismo guard que el confeti y el sonido).
  • Usa el componente existente showToast con type: 'info' y una duración ampliada a 6.5 s, ya que el mensaje invita al usuario a realizar una acción.
  • Claves de traducción (tradeFinishedFileSaved) añadidas a los diccionarios ES y EN — añadir más idiomas en el futuro sólo requiere traducir esta misma clave.

Tooltips con estilo para los botones de ayuda y descargas

  • Reemplazado el tooltip nativo del navegador (title="...", esa cajita negra sin estilo que rompía el tema oscuro) en los botones de descargas (#download-button) y ayuda (#guide-button).
  • Los botones ahora exponen su etiqueta mediante aria-label (para lectores de pantalla) y data-tooltip (para el chip visible), eliminando el title al renderizar.
  • El handler data-i18n-title en TradePortal.js mantiene ambos atributos sincronizados con el idioma activo y limpia cualquier title residual.
  • Nuevo chip de tooltip en CSS (TradePortal.css):
    • Superficie oscura (--surface-2), borde fino, sombra suave — mismo lenguaje visual que los toasts y popovers.
    • Animación de fade-in + ligero desplazamiento vertical de 140 ms al pasar el ratón o al recibir foco con teclado.
    • Anclaje inteligente por lado para que nunca se salga de la pantalla en viewports estrechos:
      • Botón de descargas (izquierda del viewport) → tooltip alineado a su borde izquierdo, expande hacia la derecha.
      • Botón de ayuda (derecha del viewport) → tooltip alineado a su borde derecho, expande hacia la izquierda.
    • Se oculta automáticamente cuando el popover correspondiente está abierto (aria-expanded="true") para no duplicar la información.