From 4db70dfc417917a8c488479c55df8e60e514d6b3 Mon Sep 17 00:00:00 2001 From: Rob Culliton Date: Sat, 5 May 2018 20:53:34 -0400 Subject: [PATCH] revoke dropdown menu still a few styling tweaks to go --- src/cljs/commiteth/handlers.cljs | 15 +++++++++++++++ src/cljs/commiteth/manage_payouts.cljs | 18 ++++++++++++++---- src/cljs/commiteth/subscriptions.cljs | 5 +++++ src/less/style.less | 21 ++++++++++++++++++++- 4 files changed, 54 insertions(+), 5 deletions(-) diff --git a/src/cljs/commiteth/handlers.cljs b/src/cljs/commiteth/handlers.cljs index 4e43dea..a3104bf 100644 --- a/src/cljs/commiteth/handlers.cljs +++ b/src/cljs/commiteth/handlers.cljs @@ -532,6 +532,21 @@ (.removeEventListener js/window "click" close-dropdown) (assoc db :user-dropdown-open? false))) +(defn close-three-dots [] + (dispatch [:three-dots-close])) + +(reg-event-db + :three-dots-open + (fn [db [_]] + (.addEventListener js/window "click" close-three-dots) + (assoc db :three-dots-open? true))) + +(reg-event-db + :three-dots-close + (fn [db [_]] + (.removeEventListener js/window "click" close-three-dots) + (assoc db :three-dots-open? false))) + (reg-event-db ::open-bounty-claim (fn [db [_ opening-issue-id]] diff --git a/src/cljs/commiteth/manage_payouts.cljs b/src/cljs/commiteth/manage_payouts.cljs index eb849e3..34339ba 100644 --- a/src/cljs/commiteth/manage_payouts.cljs +++ b/src/cljs/commiteth/manage_payouts.cljs @@ -249,20 +249,30 @@ [:span.pt2 [:img.o-50.pl3.pt2 {:src image-src}]]) -(defn revoke-button [bounty] +(defn three-dots [bounty] (let [{:keys [issue-id value-usd]} bounty] (when (pos? value-usd) [:div.fl.w-20 [:div - {:on-click #_#(rf/dispatch [:revoke-bounty {:issue-id issue-id}]) - #(js/alert "hey")} + {:on-click #(rf/dispatch [:three-dots-open])} [three-dots-box "ic-more-vert-black-24dp-1x.png"]]]))) +(defn revoke-dropdown [bounty] + (let [menu (if @(rf/subscribe [:three-dots-open?]) + [:div.ui.menu.revoke-transition {:tab-index -1}] + [:div.ui.menu.transition.hidden])] + [:div + [three-dots bounty] + (into menu [[:div.revoke-item + [:a + {:on-click #(rf/dispatch [:revoke-bounty {:issue-id (:issue-id bounty)}])} + "Revoke"]]])])) + (defn unclaimed-bounty [bounty] [:div.w-third-l.fl-l.pa2 [square-card [bounty-title-link bounty {:show-date? true :max-length 60}] - [:div [small-card-balances bounty] [revoke-button bounty]]]]) + [:div [small-card-balances bounty] [revoke-dropdown bounty]]]]) (defn paid-bounty [bounty] [:div.w-third-l.fl-l.pa2 diff --git a/src/cljs/commiteth/subscriptions.cljs b/src/cljs/commiteth/subscriptions.cljs index d8160b0..b874a39 100644 --- a/src/cljs/commiteth/subscriptions.cljs +++ b/src/cljs/commiteth/subscriptions.cljs @@ -179,6 +179,11 @@ (fn [db _] (:user-dropdown-open? db))) +(reg-sub + :three-dots-open? + (fn [db _] + (:three-dots-open? db))) + (reg-sub ::open-bounty-claims (fn [db _] diff --git a/src/less/style.less b/src/less/style.less index 49eac56..37f502e 100644 --- a/src/less/style.less +++ b/src/less/style.less @@ -253,6 +253,25 @@ label[for="input-hidden"] { } } +.ui.menu.revoke-transition { + font-family: "PostGrotesk-Book"; + font-size: 1em; + border-radius: 8px; + border: none; + padding: .5em; + background-color: #fff; + z-index: 1000; + @media (max-width: 767px) { + transform: translateY(-172px); + } + + a { + color: #8d99a4; + pointer: default; + } +} + + .logout-link { color: #fff!important; } @@ -1266,4 +1285,4 @@ body { } -@import (inline) "tachyons-utils.css"; \ No newline at end of file +@import (inline) "tachyons-utils.css";