From f9f5f0af7dbcccc33ab65e74fd5d46596009ff26 Mon Sep 17 00:00:00 2001 From: Andrey Antukh Date: Tue, 18 Feb 2025 11:54:23 +0100 Subject: [PATCH] :recycle: Refactor code style on actionable ds component --- .../main/ui/ds/notifications/actionable.cljs | 41 ++++++++++--------- .../ui/notifications/inline_notification.cljs | 8 ++-- 2 files changed, 26 insertions(+), 23 deletions(-) diff --git a/frontend/src/app/main/ui/ds/notifications/actionable.cljs b/frontend/src/app/main/ui/ds/notifications/actionable.cljs index 8633021b8..9284b5387 100644 --- a/frontend/src/app/main/ui/ds/notifications/actionable.cljs +++ b/frontend/src/app/main/ui/ds/notifications/actionable.cljs @@ -17,34 +17,37 @@ [:class {:optional true} :string] [:variant {:optional true} [:maybe [:enum "default" "error"]]] - [:acceptLabel {:optional true} :string] - [:cancelLabel {:optional true} :string] - [:onAccept {:optional true} [:fn fn?]] - [:onCancel {:optional true} [:fn fn?]]]) + [:accept-label {:optional true} :string] + [:cancel-label {:optional true} :string] + [:on-accept {:optional true} [:fn fn?]] + [:on-cancel {:optional true} [:fn fn?]]]) (mf/defc actionable* - {::mf/props :obj - ::mf/schema schema:actionable} - [{:keys [class variant acceptLabel cancelLabel children onAccept onCancel] :rest props}] + {::mf/schema schema:actionable} + [{:keys [class variant accept-label cancel-label children on-accept on-cancel] :rest props}] - (let [variant (or variant "default") - class (d/append-class class (stl/css :notification)) - props (mf/spread-props props {:class class :data-testid "actionable"}) + (let [variant (d/nilv variant "default") + class (d/append-class class (stl/css :notification)) + props (mf/spread-props props + {:class class + :data-testid "actionable"}) - handle-accept + on-accept (mf/use-fn (fn [e] - (when onAccept (onAccept e)))) + (when (fn? on-accept) + (on-accept e)))) - handle-cancel + on-cancel (mf/use-fn (fn [e] - (when onCancel (onCancel e))))] + (when on-cancel (on-cancel e))))] - [:> "aside" props - [:div {:class (stl/css :notification-message)} - children] + [:> :aside props + [:div {:class (stl/css :notification-message)} children] [:> button* {:variant "secondary" - :on-click handle-cancel} cancelLabel] + :on-click on-cancel} + cancel-label] [:> button* {:variant (if (= variant "default") "primary" "destructive") - :on-click handle-accept} acceptLabel]])) + :on-click on-accept} + accept-label]])) diff --git a/frontend/src/app/main/ui/notifications/inline_notification.cljs b/frontend/src/app/main/ui/notifications/inline_notification.cljs index b04b6b03b..6f7f856f7 100644 --- a/frontend/src/app/main/ui/notifications/inline_notification.cljs +++ b/frontend/src/app/main/ui/notifications/inline_notification.cljs @@ -21,10 +21,10 @@ [{:keys [content accept cancel links] :as props}] [:> actionable* {:class (stl/css :new-inline) - :cancelLabel (:label cancel) - :onCancel (:callback cancel) - :acceptLabel (:label accept) - :onAccept (:callback accept)} + :cancel-label (:label cancel) + :on-cancel (:callback cancel) + :accept-label (:label accept) + :on-accept (:callback accept)} content (when (some? links)