From bcd07115c24faf7dc6074a876950070fa40bfeef Mon Sep 17 00:00:00 2001 From: binwiederhier Date: Sun, 8 Mar 2026 18:30:11 -0400 Subject: [PATCH] Add tooltips for edit/delete buttons --- docs/releases.md | 5 +++-- web/src/components/Account.jsx | 24 +++++++++++++--------- web/src/components/Preferences.jsx | 32 +++++++++++++++++++----------- 3 files changed, 38 insertions(+), 23 deletions(-) diff --git a/docs/releases.md b/docs/releases.md index a3a077d7..15018d88 100644 --- a/docs/releases.md +++ b/docs/releases.md @@ -1755,8 +1755,9 @@ and the [ntfy Android app](https://github.com/binwiederhier/ntfy-android/release ## Not released yet -### ntfy server v2.19.0 (UNRELEASED) +### ntfy server v2.19.x (UNRELEASED) **Bug fixes + maintenance:** -* Throttle notification sound in web app to play at most once every 2 seconds +* Web: Throttle notification sound in web app to play at most once every 2 seconds (similar to [#1550](https://github.com/binwiederhier/ntfy/issues/1550), thanks to [@jlaffaye](https://github.com/jlaffaye) for reporting) +* Web: Add hover tooltips to icon buttons in web app account and preferences pages ([#1565](https://github.com/binwiederhier/ntfy/issues/1565), thanks to [@jermanuts](https://github.com/jermanuts) for reporting) diff --git a/web/src/components/Account.jsx b/web/src/components/Account.jsx index bc5e3000..508d6de2 100644 --- a/web/src/components/Account.jsx +++ b/web/src/components/Account.jsx @@ -136,9 +136,11 @@ const ChangePassword = () => { ⬤⬤⬤⬤⬤⬤⬤⬤⬤⬤ {!account?.provisioned ? ( - - - + + + + + ) : ( @@ -899,12 +901,16 @@ const TokensTable = (props) => { {token.token !== session.token() && !token.provisioned && ( <> - handleEditClick(token)} aria-label={t("account_tokens_dialog_title_edit")}> - - - handleDeleteClick(token)} aria-label={t("account_tokens_dialog_title_delete")}> - - + + handleEditClick(token)} aria-label={t("account_tokens_dialog_title_edit")}> + + + + + handleDeleteClick(token)} aria-label={t("account_tokens_dialog_title_delete")}> + + + )} {token.token === session.token() && ( diff --git a/web/src/components/Preferences.jsx b/web/src/components/Preferences.jsx index 3ef62189..093cc775 100644 --- a/web/src/components/Preferences.jsx +++ b/web/src/components/Preferences.jsx @@ -385,12 +385,16 @@ const UserTable = (props) => { {(!session.exists() || user.baseUrl !== config.base_url) && ( <> - handleEditClick(user)} aria-label={t("prefs_users_edit_button")}> - - - handleDeleteClick(user)} aria-label={t("prefs_users_delete_button")}> - - + + handleEditClick(user)} aria-label={t("prefs_users_edit_button")}> + + + + + handleDeleteClick(user)} aria-label={t("prefs_users_delete_button")}> + + + )} {session.exists() && user.baseUrl === config.base_url && ( @@ -738,12 +742,16 @@ const ReservationsTable = (props) => { /> )} - handleEditClick(reservation)} aria-label={t("prefs_reservations_edit_button")}> - - - handleDeleteClick(reservation)} aria-label={t("prefs_reservations_delete_button")}> - - + + handleEditClick(reservation)} aria-label={t("prefs_reservations_edit_button")}> + + + + + handleDeleteClick(reservation)} aria-label={t("prefs_reservations_delete_button")}> + + + ))}