From 80f8a7fee488ca30993a89462ee50af235b941ed Mon Sep 17 00:00:00 2001 From: evazion Date: Mon, 30 Apr 2018 00:05:34 -0500 Subject: [PATCH] post tooltips: add disable button inside tooltip. --- app/assets/javascripts/post_tooltips.js.erb | 20 +++++++++++++++++++ .../stylesheets/specific/post_tooltips.scss | 7 +++++++ app/views/posts/show.html+tooltip.erb | 4 ++++ 3 files changed, 31 insertions(+) diff --git a/app/assets/javascripts/post_tooltips.js.erb b/app/assets/javascripts/post_tooltips.js.erb index 91224af55..e3ed23d92 100644 --- a/app/assets/javascripts/post_tooltips.js.erb +++ b/app/assets/javascripts/post_tooltips.js.erb @@ -83,6 +83,8 @@ Danbooru.PostTooltip.initialize = function () { Danbooru.PostTooltip.lostFocus = true; }); + $(document).on("click", ".post-tooltip-disable", Danbooru.PostTooltip.on_disable_tooltips); + // Hide tooltips when pressing keys or clicking thumbnails. $(document).on("keydown", Danbooru.PostTooltip.hide); $(document).on("click", Danbooru.PostTooltip.POST_SELECTOR, Danbooru.PostTooltip.hide); @@ -106,4 +108,22 @@ Danbooru.PostTooltip.disabled = function (event) { return Danbooru.PostTooltip.isTouching || Danbooru.meta("disable-post-tooltips") === "true"; }; +Danbooru.PostTooltip.on_disable_tooltips = function (event) { + event.preventDefault(); + $(event.target).parents(".qtip").qtip("hide"); + + if (Danbooru.meta("current-user-id") === "") { + Danbooru.notice('Login to disable tooltips permanently'); + return; + } + + $.ajax("/users/" + Danbooru.meta("current-user-id") + ".json", { + method: "PUT", + data: { "user[disable_post_tooltips]": "true" }, + }).then(function() { + Danbooru.notice("Tooltips disabled; check your account settings to re-enable."); + location.reload(); + }); +}; + $(document).ready(Danbooru.PostTooltip.initialize); diff --git a/app/assets/stylesheets/specific/post_tooltips.scss b/app/assets/stylesheets/specific/post_tooltips.scss index 5887b2dd4..c20508bc1 100644 --- a/app/assets/stylesheets/specific/post_tooltips.scss +++ b/app/assets/stylesheets/specific/post_tooltips.scss @@ -66,6 +66,13 @@ $tooltip-height: 112px; margin-right: 0; } } + + .post-tooltip-footer { + .post-tooltip-disable { + float: right; + margin-top: 2px; + } + } } &:not(:hover) a { diff --git a/app/views/posts/show.html+tooltip.erb b/app/views/posts/show.html+tooltip.erb index 626149b6f..66a072477 100644 --- a/app/views/posts/show.html+tooltip.erb +++ b/app/views/posts/show.html+tooltip.erb @@ -7,4 +7,8 @@ <%= link_to "toptagger:#{@post.keeper.name}", user_path(@post.keeper) %> <%= link_to_search "rating:#{@post.pretty_rating.downcase}" %> <%= link_to_search "score:#{@post.score}" %> + + <%= link_to "#", class: "post-tooltip-disable", title: "Disable enhanced tooltips" do %> + + <% end %>